{"version":3,"sources":["../node_modules/react/jsx-runtime.js","../node_modules/react/index.js","../node_modules/konva/lib/Global.js","../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/esm/createSuper.js","../node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/konva/lib/Util.js","../node_modules/@babel/runtime/helpers/esm/toArray.js","../node_modules/konva/lib/Validators.js","../node_modules/konva/lib/Factory.js","../node_modules/konva/lib/Context.js","../node_modules/konva/lib/Canvas.js","../node_modules/konva/lib/DragAndDrop.js","../node_modules/konva/lib/Node.js","../node_modules/@babel/runtime/helpers/esm/get.js","../node_modules/@babel/runtime/helpers/esm/superPropBase.js","../node_modules/konva/lib/Container.js","../node_modules/konva/lib/PointerEvents.js","../node_modules/konva/lib/Stage.js","../node_modules/konva/lib/Shape.js","../node_modules/konva/lib/Layer.js","../node_modules/konva/lib/FastLayer.js","../node_modules/konva/lib/Group.js","../node_modules/konva/lib/Animation.js","../node_modules/konva/lib/Tween.js","../node_modules/konva/lib/_CoreInternals.js","../node_modules/konva/lib/shapes/Arc.js","../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../node_modules/konva/lib/shapes/Line.js","../node_modules/konva/lib/shapes/Path.js","../node_modules/konva/lib/shapes/Arrow.js","../node_modules/konva/lib/shapes/Circle.js","../node_modules/konva/lib/shapes/Ellipse.js","../node_modules/konva/lib/shapes/Image.js","../node_modules/konva/lib/shapes/Label.js","../node_modules/konva/lib/shapes/Rect.js","../node_modules/konva/lib/shapes/RegularPolygon.js","../node_modules/konva/lib/shapes/Ring.js","../node_modules/konva/lib/shapes/Sprite.js","../node_modules/konva/lib/shapes/Star.js","../node_modules/konva/lib/shapes/Text.js","../node_modules/konva/lib/shapes/TextPath.js","../node_modules/konva/lib/shapes/Transformer.js","../node_modules/konva/lib/shapes/Wedge.js","../node_modules/konva/lib/filters/Blur.js","../node_modules/konva/lib/filters/Brighten.js","../node_modules/konva/lib/filters/Contrast.js","../node_modules/konva/lib/filters/Enhance.js","../node_modules/konva/lib/filters/Emboss.js","../node_modules/konva/lib/filters/HSL.js","../node_modules/konva/lib/filters/HSV.js","../node_modules/konva/lib/filters/Mask.js","../node_modules/konva/lib/filters/Kaleidoscope.js","../node_modules/konva/lib/filters/Noise.js","../node_modules/konva/lib/filters/Pixelate.js","../node_modules/konva/lib/filters/Posterize.js","../node_modules/konva/lib/filters/RGB.js","../node_modules/konva/lib/filters/RGBA.js","../node_modules/konva/lib/filters/Threshold.js","../node_modules/konva/lib/_FullInternals.js","../node_modules/konva/lib/filters/Grayscale.js","../node_modules/konva/lib/filters/Invert.js","../node_modules/konva/lib/filters/Sepia.js","../node_modules/konva/lib/filters/Solarize.js","../node_modules/konva/lib/Core.js","../node_modules/react-konva/es/makeUpdates.js","../node_modules/react-konva/es/ReactKonvaHostConfig.js","../../src/index.tsx","../node_modules/react-konva/es/ReactKonvaCore.js","../../../../packages/react-router/index.tsx","../../../../packages/react-router-dom/index.tsx","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/@babel/runtime/regenerator/index.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","../node_modules/scheduler/index.js","../node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/react-reconciler/constants.js","../node_modules/webpack/buildin/global.js","../node_modules/react-dom/client.js","../node_modules/react-reconciler/index.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react-dom/index.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/timers-browserify/main.js","../node_modules/setimmediate/setImmediate.js","../node_modules/process/browser.js","../node_modules/regenerator-runtime/runtime.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react-reconciler/cjs/react-reconciler.production.min.js","../node_modules/react-reconciler/cjs/react-reconciler-constants.production.min.js"],"names":["module","exports","require","PI_OVER_180","Math","PI","glob","global","window","WorkerGlobalScope","self","Konva","_global","version","isBrowser","toString","call","isUnminified","test","param","dblClickWindow","getAngle","angle","angleDeg","enableTrace","pointerEventsEnabled","autoDrawEnabled","hitOnDragEnabled","capturePointerEventsEnabled","_mouseListenClick","_touchListenClick","_pointerListenClick","_mouseInDblClickWindow","_touchInDblClickWindow","_pointerInDblClickWindow","_mouseDblClickPointerId","_touchDblClickPointerId","_pointerDblClickPointerId","pixelRatio","devicePixelRatio","dragDistance","showWarnings","dragButtons","isDragging","isDragReady","node","releaseCanvasOnDestroy","document","_injectGlobal","_registerNode","NodeClass","prototype","getClassName","_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_createClass","protoProps","staticProps","_typeof","obj","Symbol","iterator","constructor","_possibleConstructorReturn","assertThisInitialized","_createSuper","Derived","hasNativeReflectConstruct","Reflect","construct","sham","Proxy","Date","e","result","Super","getPrototypeOf","NewTarget","this","arguments","apply","_setPrototypeOf","o","p","setPrototypeOf","__proto__","_inherits","subClass","superClass","create","value","_iterableToArray","iter","Array","from","Transform","m","dirty","slice","tr","point","x","y","sx","sy","rad","c","cos","s","sin","m11","m12","m21","m22","matrix","dx","dy","d","m0","m1","m2","m3","m4","m5","a","b","delta","rotation","scaleX","scaleY","skewX","skewY","r","sqrt","acos","Util","_getRotation","PI_OVER_DEG180","DEG180_OVER_PI","KONVA_ERROR","COLORS","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","transparent","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","RGB_REGEX","animQueue","req","requestAnimationFrame","f","setTimeout","_isElement","nodeType","_isFunction","_isPlainObject","_isArray","_isNumber","isNaN","isFinite","_isString","_isBoolean","isObject","val","isValidSelector","selector","firstChar","toUpperCase","_sign","number","requestAnimFrame","callback","push","queue","forEach","cb","createCanvasElement","canvas","createElement","style","createImageElement","_isInDocument","el","parentNode","_urlToImage","url","imageObj","onload","src","_rgbToHex","g","_hexToRgb","hex","replace","bigint","parseInt","getRandomColor","randColor","random","getRGB","color","rgb","substring","substr","exec","colorToRGBA","str","_namedColorToRBA","_hex3ColorToRGBA","_hex4ColorToRGBA","_hex6ColorToRGBA","_hex8ColorToRGBA","_rgbColorToRGBA","_rgbaColorToRGBA","_hslColorToRGBA","toLowerCase","indexOf","parts","match","split","map","Number","n","index","t2","t3","arr","arrayWithHoles","unsupportedIterableToArray","nonIterableRest","hsl","h","l","round","t1","haveIntersection","r1","r2","width","height","cloneObject","retObj","cloneArray","degToRad","deg","radToDeg","_degToRad","warn","_radToDeg","radians","_capitalize","charAt","throw","Error","error","console","each","func","_inRange","left","right","_getProjectionToSegment","x1","y1","x2","y2","x3","y3","dist","pd2","u","_getProjectionToLine","pt","line","isClosed","pc","MAX_VALUE","p1","p2","proj","px","py","pdist","_prepareArrayForTween","startArray","endArray","start","end","temp","newStart","pr","_prepareToStringify","desc","visitedByCircularReferenceRemoval","hasOwnProperty","getOwnPropertyDescriptor","_assign","source","_getFirstPointerId","evt","touches","changedTouches","identifier","pointerId","releaseCanvas","canvases","drawRoundedRectPath","context","cornerRadius","topLeft","topRight","bottomLeft","bottomRight","min","moveTo","lineTo","arc","_formatValue","RGBComponent","getNumberValidator","attr","getNumberOrArrayOfNumbersValidator","noOfElements","isNumber","isValidArray","getNumberOrAutoValidator","getStringValidator","getStringOrGradientValidator","isString","isGradient","addColorStop","getBooleanValidator","GET","SET","Factory","addGetterSetter","def","validator","after","addGetter","addSetter","addOverloadedGetterSetter","method","attrs","undefined","overWriteSetter","_setAttr","addComponentsGetterSetter","components","component","len","capitalize","getter","setter","ret","getAttr","basicValidator","getComponentValidator","oldVal","_fireChangeEvent","capitalizedAttr","addDeprecatedGetterSetter","message","backCompat","methods","oldMethodName","newMethodName","oldGetter","oldSetter","deprecated","afterSetFilter","_filterUpToDate","simplifyArray","retArr","util","CONTEXT_METHODS","Context","traceArr","_enableTrace","shape","fillEnabled","_fill","hasStroke","_stroke","fillAfterStrokeEnabled","strokeShape","fillShape","relaxed","rounded","trace","args","join","floor","property","shift","getCanvas","getPixelRatio","setTransform","bounds","clearRect","getWidth","getHeight","lineCap","setAttr","absOpacity","getAbsoluteOpacity","lineJoin","_context","a0","a1","a2","a3","a4","a5","arcTo","beginPath","bezierCurveTo","clip","closePath","createImageData","createLinearGradient","createPattern","createRadialGradient","a6","a7","a8","drawImage","ellipse","path","fillRule","isPointInPath","path2d","fill","fillRect","strokeRect","text","maxWidth","fillText","measureText","getImageData","rect","putImageData","quadraticCurveTo","restore","rotate","save","scale","setLineDash","getLineDash","stroke","strokeText","transform","translate","that","origSetter","methodName","origMethod","_trace","prop","op","globalCompositeOperation","get","set","_pixelRatio","SceneContext","_canvas","getContext","_fillFunc","_getFillPattern","grd","_getLinearGradient","_getRadialGradient","hasColor","fillPriority","getFillPriority","_fillColor","hasPattern","getFillPatternImage","_fillPattern","hasLinearGradient","getFillLinearGradientColorStops","_fillLinearGradient","hasRadialGradient","getFillRadialGradientColorStops","_fillRadialGradient","getStrokeLinearGradientStartPoint","getStrokeLinearGradientEndPoint","colorStops","getStrokeLinearGradientColorStops","dash","strokeScaleEnabled","getStrokeScaleEnabled","_applyLineCap","dashEnabled","dashOffset","strokeWidth","getShadowForStrokeEnabled","_strokeLinearGradient","_strokeFunc","_a","_b","_c","getShadowRGBA","blur","getShadowBlur","offset","getShadowOffset","getAbsoluteScale","ratio","abs","HitContext","willReadFrequently","colorKey","_fillFuncHit","hasHitStroke","hitStrokeWidth","_strokeFuncHit","Canvas","config","isCache","webkitBackingStorePixelRatio","mozBackingStorePixelRatio","msBackingStorePixelRatio","oBackingStorePixelRatio","backingStorePixelRatio","getDevicePixelRatio","padding","margin","border","background","position","top","previousRatio","setSize","setWidth","setHeight","mimeType","quality","toDataURL","err","SceneCanvas","HitCanvas","hitCanvas","DD","flag","_dragElements","elem","dragStatus","justDragged","Map","_drag","nodesToFireEvents","stage","getStage","setPointersPositions","pos","_changedPointerPositions","find","id","max","startPointerPos","startDrag","_setDragPosition","fire","type","_endDragBefore","drawNodes","drawNode","getLayer","draw","_endDragAfter","delete","addEventListener","ABSOLUTE_OPACITY","ALL_LISTENERS","ABSOLUTE_TRANSFORM","ABSOLUTE_SCALE","CANVAS","LISTENING","MOUSEENTER","MOUSELEAVE","SHAPE","SPACE","STAGE","TRANSFORM","VISIBLE","TRANSFORM_CHANGE_STR","idCounter","Node","_id","eventListeners","_allEventListeners","parent","_cache","_attachedDepsListeners","_lastPos","_batchingTransformChange","_needClearTransformCache","_isUnderCache","_dragEventId","_shouldFireChangeEvents","setAttrs","clear","privateGetter","cache","name","deps","depsString","dep","on","_clearCache","_getCache","has","scene","filter","hit","_clearSelfAndDescendantCache","_requestDraw","conf","getClientRect","skipTransform","relativeTo","getParent","ceil","drawBorder","hitCanvasPixelRatio","cachedSceneCanvas","cachedFilterCanvas","cachedHitCanvas","sceneContext","hitContext","imageSmoothingEnabled","drawScene","drawHit","minX","minY","maxX","maxY","points","trans","getAbsoluteTransform","transformed","_applyOpacity","_applyGlobalCompositeOperation","canvasCache","_getCanvasCache","cacheCanvas","_getCachedSceneCanvas","imageData","filters","cachedCanvas","sceneCanvas","filterCanvas","filterContext","evtStr","handler","_delegate","baseEvent","events","t","_off","off","event","stopNode","targets","findAncestors","currentTarget","stopDrag","_remove","_clearCaches","children","splice","_setChildrenIndices","remove","clearCache","ancestors","_batchTransformChanges","_isListening","listening","_isVisible","visible","skipDragCheck","layer","layerUnderDrag","dragSkip","isListening","isVisible","nodes","child","depth","getDepth","addChildren","concat","getChildren","getPointerPosition","copy","invert","haveCachedParent","isCached","absoluteMatrix","getMatrix","absoluteTransform","getTranslation","origTrans","_clearTransform","it","_getAbsoluteTransform","_setTransform","setPosition","offsetX","offsetY","change","changeX","changeY","family","unshift","theta","zIndex","_getAbsoluteOpacity","opacity","newContainer","add","defaultValue","getAttrs","className","JSON","stringify","toObject","includeSelf","res","_isMatch","ancestor","sel","selectorArr","hasName","_getStage","eventType","bubble","_fireAndBubble","_fire","at","_eachAncestorReverse","transformsEnabled","multiply","getTransform","copyInto","reset","decompose","_getTransform","skew","allListeners","listener","box","_toKonvaCanvas","Promise","resolve","reject","img","toCanvas","toBlob","blob","size","getDragDistance","evtName","evtListeners","newVal","oldName","newName","fullName","names","batchDraw","compareShape","isAncestorOf","stopBubble","cancelBubble","listeners","newEvents","oldEvents","topListeners","_getProtoListeners","selfListeners","ap","getAbsolutePosition","_getPointerById","bubbleEvent","_createDragElement","newNodePos","dbf","dragBoundFunc","bounded","setAbsolutePosition","draggable","_dragChange","_dragCleanup","hasDraggingChild","_listenDrag","dragElement","isReady","screenRect","data","container","parse","_createNode","no","Class","_attrsAffectingSize","rotateDeg","setRotationDeg","getRotationDeg","receiver","base","object","Container","filterFunc","results","destroy","_validateAdd","hasChildren","destroyChildren","_generalFind","findOne","_descendants","valid","fn","clone","intersects","can","caching","_drawCachedSceneCanvas","_drawChildren","shouldDrawHit","_drawCachedHitCanvas","drawMethod","clipWidth","clipHeight","clipFunc","hasClip","selfCache","clipX","clipY","hasComposition","selfRect","Infinity","skipShadow","skipStroke","shapes","hasVisible","_transformedRect","Captures","SUPPORT_POINTER_EVENTS","getCapturedShape","createEvent","hasPointerCapture","setPointerCapture","releaseCapture","PointerEvent","content","MOUSEOVER","MOUSEMOVE","MOUSEDOWN","MOUSEUP","POINTERMOVE","POINTERDOWN","POINTERUP","POINTERCANCEL","POINTEROUT","POINTERLEAVE","POINTEROVER","POINTERENTER","CONTEXTMENU","TOUCHSTART","TOUCHEND","TOUCHMOVE","TOUCHCANCEL","WHEEL","EVENTS","EVENTS_MAP","mouse","touch","pointer","getEventType","getEventsMap","checkNoClip","stages","Stage","_pointerPositions","_buildDOM","_bindContentEvents","_resizeDOM","_checkVisibility","isLayer","getType","isFastLayer","display","getElementsByClassName","getElementById","parentElement","removeChild","appendChild","layers","bufferCanvas","bufferHitCanvas","layerCanvas","getIntersection","rest","PointerEvents","passive","pointerenter","pointerover","evenType","targetShape","_getTargetShape","eventsEnabled","pointerout","pointerleave","pointerPos","triggeredOnShape","pointerdown","isTouch","preventDefault","cancelable","processedShapesIds","differentTarget","assign","pointermove","clickStartShape","clickEndShape","fireDblClick","clearTimeout","pointerup","pointerclick","pointerdblclick","contentPosition","_getContentPosition","clientX","clientY","getBoundingClientRect","clientWidth","clientHeight","innerHTML","userSelect","setAttribute","dummyContext","HAS_SHADOW","SHADOW_RGBA","patternImage","linearGradient","radialGradient","getDummyContext","Shape","sceneFunc","hitFunc","_hasShadow","shadowEnabled","shadowOpacity","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","__getFillPattern","fillPatternImage","pattern","fillPatternRepeat","fillPatternX","fillPatternY","fillPatternRotation","fillPatternScaleX","fillPatternScaleY","fillPatternOffsetX","fillPatternOffsetY","DOMMatrix","__getLinearGradient","fillLinearGradientColorStops","ctx","fillLinearGradientStartPoint","fillLinearGradientEndPoint","__getRadialGradient","fillRadialGradientColorStops","fillRadialGradientStartPoint","fillRadialGradientEndPoint","fillRadialGradientStartRadius","fillRadialGradientEndRadius","_getShadowRGBA","hasShadow","rgba","_calculate","strokeEnabled","strokeLinearGradientColorStops","forceFill","perfectDrawEnabled","hasFill","isTransparent","strokeForShadow","shadowForStrokeEnabled","_centroid","getSelfRect","applyStroke","fillAndStrokeWidth","fillAndStrokeHeight","applyShadow","preWidth","preHeight","blurRadius","bufferContext","drawFunc","getSceneFunc","skipBuffer","cachingSelf","_useBufferCanvas","_applyLineJoin","_applyShadow","hitImageData","hitData","rgbColorKey","alphaThreshold","hitWidth","hitHeight","dashArray","getDashArray","setDashArray","getDrawFunc","setDrawFunc","drawHitFunc","getDrawHitFunc","setDrawHitFunc","INTERSECTION_OFFSETS","INTERSECTION_OFFSETS_LEN","Layer","_waitingForDraw","_setSmoothEnabled","createPNGStream","getHitCanvas","getNativeCanvasElement","insertBefore","moveToTop","moveUp","moveDown","moveToBottom","spiralSearchDistance","continueSearch","intersectionOffset","_getIntersection","antialiased","p3","clearBeforeDraw","hitGraphEnabled","FastLayer","Group","now","performance","getTime","Animation","animIdCounter","frame","time","timeDiff","lastTime","frameRate","setLayers","lays","animations","stop","_addAnimation","_removeAnimation","anim","_handleAnimation","layersLen","layerHash","_updateFrameObject","Anim","_runFrames","_animationLoop","animRunning","blacklist","duration","easing","onFinish","yoyo","colorAttrs","TweenEngine","propFunc","begin","finish","_pos","_change","prevPos","_time","_position","_startTime","_finish","pause","reverse","play","update","state","getTimer","onEnterFrame","getPosition","setTime","Tween","nodeId","Easings","Linear","getLayers","tween","_tweenFunc","_addListeners","tweens","_addAttr","onReset","onUpdate","diff","tweenId","trueEnd","trueStart","endRGBA","closed","startRGBA","onPlay","onReverse","onPause","seek","thisId","to","params","BackEaseIn","BackEaseOut","BackEaseInOut","ElasticEaseIn","asin","pow","ElasticEaseOut","ElasticEaseInOut","BounceEaseOut","BounceEaseIn","BounceEaseInOut","EaseIn","EaseOut","EaseInOut","StrongEaseIn","StrongEaseOut","StrongEaseInOut","Global","Arc","clockwise","outerRadius","innerRadius","fillStrokeShape","boundLeftRatio","boundTopRatio","boundBottomRatio","boundLeft","boundTop","boundBottom","_toConsumableArray","isArray","arrayLikeToArray","getControlPoints","x0","y0","d01","d12","fa","fb","expandPoints","tension","cp","allPoints","Line","tp","bezier","getTensionPoints","_getTensionPoints","_getTensionPointsClosed","firstControlPoints","lastControlPoints","middle","TypedArray","Int8Array","item","getNumberArrayValidator","Path","dataArray","pathLength","parsePathData","ca","command","cx","cy","rx","ry","dTheta","psi","fs","inc","getPointOnEllipticalArc","getPointOnCubicBezier","ii","getPointOnLine","getPointOnQuadraticBezier","P1x","P1y","P2x","P2y","fromX","fromY","run","rise","ix","iy","getLineLength","pRise","pRun","pct","P3x","P3y","P4x","P4y","CB1","CB2","CB3","CB4","QB1","QB2","QB3","cosPsi","sinPsi","cs","cc","RegExp","coords","cpx","cpy","re","j","jlen","parsed","parseFloat","prevCmd","ctlPtx","ctlPty","cmd","startX","startY","idx","convertEndpointToCenterParameterization","calcLength","psiDeg","xp","yp","lambda","cxp","cyp","vMag","v","vRatio","vAngle","Arrow","PI2","fromTension","pointerLength","lp","lastLength","previous","atan2","pointerWidth","pointerAtEnding","__fillStroke","pointerAtBeginning","isDashEnabled","lineRect","Circle","radius","Ellipse","radiusX","radiusY","Image","_setImageLoad","image","complete","readyState","cropWidth","cropHeight","cropX","cropY","onError","onerror","crossOrigin","ATTR_CHANGE_LIST","UP","RIGHT","DOWN","LEFT","attrChangeListLen","Label","_sync","getText","pointerDirection","pointerHeight","tag","getTag","Tag","direction","Rect","RegularPolygon","_getPoints","sides","PIx2","Ring","Sprite","_updated","updated","frameIndex","isRunning","clearInterval","interval","_setInterval","animation","ix4","offsets","frameOffsets","ix2","setInterval","_updateIndex","getIndex","setIndex","Star","numPoints","stringToArray","string","AUTO","JUSTIFY","MIDDLE","NORMAL","NONE","Text","checkDefaultFill","_partialTextX","_partialTextY","_setTextData","textArr","textArrLen","fontSize","lineHeightPx","lineHeight","verticalAlign","alignY","align","totalWidth","letterSpacing","textDecoration","shouldUnderline","shouldLineThrough","translateY","lineTranslateX","lineTranslateY","_getContextFont","spacesNumber","oneWord","lineWidth","lastLine","lastInParagraph","gradient","strokeStyle","array","li","letter","_partialText","measureSize","getTextWidth","textWidth","textHeight","metrics","font","fontStyle","fontVariant","fontFamily","hasSpace","trim","hasQuotes","_getTextWidth","lines","fixedWidth","fixedHeight","maxHeightPx","currentHeightPx","wrap","wrapAtWord","shouldAddEllipsis","ellipsis","additionalWidth","low","high","matchWidth","mid","substrWidth","wrapIndex","nextChar","lastIndexOf","trimRight","_addTextLine","_shouldHandleEllipsis","_tryToAddEllipsisToLastLine","trimLeft","partialText","TextPath","dummyCanvas","textBaseline","glyphInfo","p0","setText","_getTextSize","kerningFunc","textFullWidth","fullPathWidth","pathCmd","charArr","pIndex","currentT","getNextPathSegment","pathData","findSegmentToFitCharacter","glyphWidth","currLen","attempts","cumulativePathLength","keys","needNewSegment","lettersInOffset","k","kern","midpoint","transposeX","transposeY","info","EVENTS_NAME","NODES_RECT","ANGLES","TOUCH_DEVICE","ANCHORS_NAMES","rotateAroundPoint","angleRad","rotateAroundCenter","deltaRad","center","getCenter","Transformer","_transforming","_createElements","_handleMouseMove","bind","_handleMouseUp","getNode","setNode","setNodes","_nodes","detach","filteredNodes","useSingleNodeRotation","getAbsoluteRotation","onChange","_resetTransformCache","additionalEvents","_getEventNamespace","_proxyDrag","elementsCreated","lastPos","otherNode","otherAbs","_movingAnchorName","__getNodeRect","rot","relative","ignoreStroke","absScale","absPos","totalPoints","_getNodeRect","_createBack","_createAnchor","anchor","_handleMouseDown","cursor","anchorName","getCursor","_cursorChange","back","rotateEnabled","rotateAnchorOffset","shouldOverdrawWholeArea","hypotenuse","_anchorDragOffset","newHypotenuse","anchorNode","pp","oldAbs","anchorDragBoundFunc","newAbs","keepProportion","keepRatio","shiftKey","centeredScaling","altKey","comparePoint","reverseX","reverseY","topOffsetX","topOffsetY","bottomOffsetX","bottomOffsetY","move","_fitNodesInto","newRotation","tol","rotationSnapTolerance","snappedRot","snaps","newRotationRad","snapped","absDiff","getSnap","rotationSnaps","_removeEvents","removeEventListener","newAttrs","oldAttrs","allowNegativeScale","flipEnabled","boundBoxFunc","baseSize","oldTr","newTr","parentTransform","localTransform","newLocalTransform","enabledAnchors","resizeEnabled","anchorSize","anchorStroke","anchorStrokeWidth","anchorFill","anchorCornerRadius","_batchChangeChild","borderEnabled","borderStroke","borderStrokeWidth","borderDash","lineEnabled","rotateHandlerOffset","enabledHandlers","Wedge","BlurStack","next","getAngleDeg","setAngleDeg","mul_table","shg_table","remap","fromValue","fromMin","fromMax","toMin","toMax","fromRange","toRange","pixelAt","idata","rgbDistance","Core","Filters","Blur","yi","yw","r_sum","g_sum","b_sum","a_sum","r_out_sum","g_out_sum","b_out_sum","a_out_sum","r_in_sum","g_in_sum","b_in_sum","a_in_sum","pg","pb","pa","rbs","pixels","div","widthMinus1","heightMinus1","radiusPlus1","sumFactor","stackStart","stackEnd","stack","stackIn","stackOut","mul_sum","shg_sum","filterGaussBlurRGBA","Brighten","brightness","Contrast","adjust","contrast","nPixels","Emboss","strength","embossStrength","greyLevel","embossWhiteLevel","embossDirection","blend","embossBlend","dirY","dirX","w","w4","otherY","offsetYOther","otherX","offsetOther","dR","dG","dB","dif","absDif","Enhance","nSubPixels","rMin","rMax","gMin","gMax","bMin","bMax","enhanceAmount","enhance","rMid","rGoalMax","rGoalMin","gMid","gGoalMax","gGoalMin","bMid","bGoalMax","bGoalMin","Grayscale","HSL","saturation","hue","luminance","vsu","vsw","rr","rg","rb","gr","gg","gb","br","bg","bb","HSV","Invert","Kaleidoscope","srcPos","dstPos","xSize","ySize","power","kaleidoscopePower","kaleidoscopeAngle","tempCanvas","scratchData","dst","opt","srcPixels","dstPixels","xMid","polarCenterX","yMid","polarCenterY","rSize","tSize","conversion","ToPolar","minSectionSize","sectionSize","xStart","xEnd","xDelta","phaseShift","polarRotation","FromPolar","Mask","mask","threshold","rgbv_no","rgbv_ne","rgbv_so","rgbv_se","thres","mean","pTab","rgbMean","backgroundMask","applyMask","sw","sh","weights","side","halfSide","maskResult","so","scy","scx","wt","smoothEdgeMask","dilateMask","erodeMask","Noise","amount","noise","half","Pixelate","alpha","xBinStart","xBinEnd","yBinStart","yBinEnd","xBin","yBin","pixelsInBin","pixelSize","nBinsX","nBinsY","Posterize","levels","RGB","RGBA","ia","Sepia","Solarize","Threshold","level","propsToSkip","ref","forwardedRef","unstable_applyCache","unstable_applyDrawHitFromCache","zIndexWarningShowed","dragWarningShowed","EVENTS_NAMESPACE","useStrictMode","DRAGGABLE_WARNING","Z_INDEX_WARNING","EMPTY_PROPS","applyNodeProps","oldProps","hasPosition","hasEvents","onDragEnd","onDragMove","isEvent","propChanged","eventName","toRemove","strictUpdate","_useStrictMode","updatedProps","hasUpdates","toAdd","updatePicture","drawingNode","NO_CONTEXT","UPDATE_SIGNAL","appendInitialChild","parentInstance","createInstance","internalInstanceHandle","propsWithoutEvents","propsWithOnlyEvents","createTextInstance","rootContainerInstance","finalizeInitialChildren","domElement","getPublicInstance","prepareForCommit","preparePortalMount","prepareUpdate","newProps","resetAfterCommit","resetTextContent","shouldDeprioritizeSubtree","getRootHostContext","getChildHostContext","_applyProps","scheduleTimeout","cancelTimeout","noTimeout","shouldSetTextContent","isPrimaryRenderer","warnsIfNotActing","supportsMutation","appendChildToContainer","beforeChild","setZIndex","getZIndex","insertInContainerBefore","removeChildFromContainer","commitTextUpdate","textInstance","oldText","newText","commitMount","commitUpdate","updatePayload","hideInstance","hide","hideTextInstance","unhideInstance","show","unhideTextInstance","clearContainer","detachDeletedInstance","getCurrentEventPriority","DefaultEventPriority","fiber","StageWrap","React","useRef","fiberRef","useLayoutEffect","current","usePrevious","Bridge","useContextBridge","_setRef","KonvaRenderer","createContainer","LegacyRoot","updateContainer","accessKey","role","tabIndex","title","ReactFiberReconciler","HostConfig","injectIntoDevTools","findHostInstanceByFiber","bundleType","rendererPackageName","forwardRef","FiberProvider","invariant","cond","NavigationContext","LocationContext","RouteContext","outlet","matches","Navigate","useInRouterContext","navigate","useNavigate","Outlet","OutletContext","useOutlet","Route","Router","basename","basenameProp","location","navigationType","NavigationType","static","staticProp","normalizePathname","navigationContext","navigator","locationProp","parsePath","pathname","search","hash","trailingPathname","stripBasename","Routes","parentMatches","routeMatch","parentParams","parentPathnameBase","locationFromContext","useLocation","parsedLocationArg","locationArg","remainingPathname","branches","flattenRoutes","siblings","compareIndexes","meta","rankRouteBranches","matchRouteBranch","matchRoutes","routes","_renderMatches","joinPaths","pathnameBase","useRoutes","createRoutesFromChildren","useHref","useResolvedPath","joinedPathname","toPathname","getToPathname","endsWithSlash","locationPathname","routePathnamesJson","activeRef","options","resolveTo","useParams","element","route","caseSensitive","parentsMeta","parentPath","relativePath","childrenIndex","routesMeta","score","computeScore","paramRe","isSplat","segments","initialScore","segment","matchedParams","matchedPathname","matchPath","React.createElement","paramNames","regexpSource","compilePath","captureGroups","paramName","splatValue","memo","decodeURIComponent","safelyDecodeURIComponent","toArg","routePathnameIndex","routePathnames","toSegments","fromPathname","relativeSegments","resolvePathname","normalizeSearch","normalizeHash","resolvePath","paths","BrowserRouter","historyRef","createBrowserHistory","history","action","Link","href","internalOnClick","isModifiedEvent","createPath","replaceProp","useLinkClickHandler","onClick","_defineProperty","_getPrototypeOf","ownKeys","enumerableOnly","getOwnPropertySymbols","symbols","sym","_objectSpread2","getOwnPropertyDescriptors","defineProperties","_extends","_assertThisInitialized","ReferenceError","_slicedToArray","_arr","_n","_d","_e","_s","_i","done","_unsupportedIterableToArray","minLen","asyncGeneratorStep","gen","_next","_throw","arg","then","_asyncToGenerator","_createForOfIteratorHelper","allowArrayLike","F","normalCompletion","didErr","step","_e2","_arrayLikeToArray","arr2","_arrayWithHoles","_nonIterableRest","Function","createRoot","hydrateRoot","for","q","z","B","isMounted","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","C","D","E","refs","updater","G","isReactComponent","setState","forceUpdate","H","isPureReactComponent","I","J","K","L","__self","__source","M","defaultProps","$$typeof","_owner","O","P","Q","escape","R","N","A","String","S","T","_status","_result","default","U","V","transition","W","ReactCurrentDispatcher","ReactCurrentBatchConfig","ReactCurrentOwner","Children","count","toArray","only","Component","Fragment","Profiler","PureComponent","StrictMode","Suspense","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","cloneElement","createContext","_currentValue","_currentValue2","_threadCount","Provider","Consumer","_defaultValue","_globalName","createFactory","createRef","render","isValidElement","lazy","_payload","_init","compare","startTransition","unstable_act","useCallback","useContext","useDebugValue","useDeferredValue","useEffect","useId","useImperativeHandle","useInsertionEffect","useMemo","useReducer","useState","useSyncExternalStore","useTransition","checkDCE","__REACT_DEVTOOLS_GLOBAL_HOOK__","aa","encodeURIComponent","da","Set","ea","ha","ja","ka","la","ma","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","removeEmptyString","ra","sa","ta","qa","oa","removeAttribute","setAttributeNS","xlinkHref","ua","va","wa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","Ma","Na","Oa","prepareStackTrace","displayName","includes","Pa","Qa","Ra","Sa","Ta","nodeName","Va","_valueTracker","getValue","setValue","stopTracking","Ua","Wa","checked","Xa","activeElement","body","Ya","defaultChecked","_wrapperState","initialChecked","Za","initialValue","controlled","ab","db","ownerDocument","eb","selected","defaultSelected","disabled","dangerouslySetInnerHTML","hb","ib","jb","textContent","kb","lb","mb","nb","namespaceURI","valueOf","firstChild","MSApp","execUnsafeLocalFunction","ob","lastChild","nodeValue","animationIterationCount","aspectRatio","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","order","orphans","tabSize","widows","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","qb","sb","setProperty","tb","menuitem","area","col","embed","hr","input","keygen","link","track","wbr","ub","vb","is","wb","xb","srcElement","correspondingUseElement","yb","zb","Ab","Bb","Cb","stateNode","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Nb","Ob","Pb","Qb","Rb","Sb","Tb","Vb","alternate","return","flags","Wb","memoizedState","dehydrated","Xb","Zb","sibling","Yb","$b","ac","unstable_scheduleCallback","bc","unstable_cancelCallback","unstable_shouldYield","dc","unstable_requestPaint","unstable_now","ec","unstable_getCurrentPriorityLevel","fc","unstable_ImmediatePriority","gc","unstable_UserBlockingPriority","hc","unstable_NormalPriority","ic","unstable_LowPriority","jc","unstable_IdlePriority","kc","lc","oc","clz32","qc","log","LN2","rc","sc","tc","uc","pendingLanes","suspendedLanes","pingedLanes","entangledLanes","entanglements","vc","xc","yc","zc","Ac","eventTimes","Cc","Dc","Ec","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Pc","Qc","Rc","Sc","Tc","nativeEvent","blockedOn","domEventName","eventSystemFlags","targetContainers","Vc","Wc","priority","isDehydrated","containerInfo","Xc","Yc","dispatchEvent","Zc","$c","ad","bd","cd","dd","ed","fd","gd","hd","Uc","stopPropagation","jd","kd","ld","md","nd","od","keyCode","charCode","pd","qd","rd","_reactName","_targetInst","isDefaultPrevented","defaultPrevented","returnValue","isPropagationStopped","persist","isPersistent","wd","xd","yd","sd","eventPhase","bubbles","timeStamp","isTrusted","td","ud","view","detail","vd","Ad","screenX","screenY","pageX","pageY","ctrlKey","metaKey","getModifierState","zd","button","buttons","relatedTarget","fromElement","toElement","movementX","movementY","Bd","Dd","dataTransfer","Fd","Hd","animationName","elapsedTime","pseudoElement","Id","clipboardData","Jd","Ld","Md","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","Nd","Od","Alt","Control","Meta","Shift","Pd","Qd","fromCharCode","code","repeat","locale","which","Rd","Td","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","Vd","targetTouches","Xd","Yd","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","Zd","$d","ae","be","documentMode","ce","de","ee","fe","ge","he","ie","le","date","datetime","email","month","password","range","tel","week","me","ne","oe","pe","qe","se","te","ue","ve","we","xe","ye","ze","oninput","Ae","detachEvent","Be","Ce","attachEvent","De","Ee","Fe","He","Ie","Je","Ke","nextSibling","Le","contains","compareDocumentPosition","Me","HTMLIFrameElement","contentWindow","Ne","contentEditable","Oe","focusedElem","selectionRange","documentElement","selectionStart","selectionEnd","defaultView","getSelection","extend","rangeCount","anchorOffset","focusNode","focusOffset","createRange","setStart","removeAllRanges","addRange","setEnd","scrollLeft","scrollTop","focus","Pe","Qe","Re","Se","Te","Ue","Ve","We","animationend","animationiteration","animationstart","transitionend","Xe","Ye","Ze","$e","af","bf","cf","df","ef","ff","gf","hf","lf","mf","nf","Ub","of","pf","qf","rf","sf","capture","tf","uf","parentWindow","vf","wf","na","xa","$a","ba","je","char","ke","xf","yf","zf","Af","Bf","Cf","Df","Ef","__html","Ff","Gf","Hf","Jf","queueMicrotask","catch","If","Kf","Lf","Mf","previousSibling","Nf","Of","Pf","Qf","Rf","Sf","Tf","Uf","Vf","Wf","Xf","Yf","contextTypes","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Zf","childContextTypes","$f","ag","getChildContext","cg","__reactInternalMemoizedMergedChildContext","dg","eg","fg","hg","jg","kg","lg","mg","ng","og","qg","sg","tg","ug","vg","wg","xg","yg","zg","Ag","Bg","elementType","deletions","Cg","pendingProps","overflow","treeContext","retryLane","Dg","mode","Eg","Fg","Gg","memoizedProps","Hg","Ig","Jg","Kg","Lg","Mg","Ng","Og","Pg","Qg","Rg","Sg","childLanes","Tg","dependencies","firstContext","lanes","Ug","Vg","memoizedValue","Wg","Xg","Yg","interleaved","Zg","$g","ah","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","shared","pending","effects","bh","ch","eventTime","lane","payload","dh","eh","fh","gh","hh","ih","jh","kh","nh","_reactInternals","lh","mh","oh","shouldComponentUpdate","ph","contextType","qh","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","rh","getDerivedStateFromProps","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","componentDidMount","_stringRef","th","uh","vh","wh","xh","yh","implementation","zh","Ah","Bh","Ch","Dh","Eh","Fh","Gh","Hh","Ih","tagName","Jh","Kh","Lh","Mh","revealOrder","Nh","Oh","_workInProgressVersionPrimary","Ph","Qh","Rh","Sh","Th","Uh","Vh","Wh","Xh","Yh","Zh","$h","ai","bi","ci","baseQueue","di","ei","fi","lastRenderedReducer","hasEagerState","eagerState","lastRenderedState","dispatch","gi","hi","ji","ki","getSnapshot","mi","ni","lastEffect","stores","oi","pi","qi","ri","si","ti","ui","vi","wi","xi","zi","Ai","Bi","Ci","Di","Ei","Fi","Gi","Hi","Ii","Ji","readContext","useMutableSource","unstable_isNewReconciler","identifierPrefix","Ki","digest","Li","Mi","Ni","WeakMap","Oi","Pi","Qi","Ri","getDerivedStateFromError","componentDidCatch","Si","componentStack","Ti","pingCache","Ui","Vi","Wi","Xi","Yi","Zi","$i","aj","bj","cj","dj","ej","baseLanes","cachePool","transitions","fj","gj","hj","ij","jj","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","kj","lj","pendingContext","mj","Aj","Cj","Dj","nj","oj","pj","fallback","qj","rj","tj","dataset","dgst","uj","vj","_reactRetry","sj","subtreeFlags","wj","xj","isBackwards","rendering","renderingStartTime","last","tail","tailMode","yj","Ej","Fj","Gj","wasMultiple","multiple","suppressHydrationWarning","onclick","createElementNS","autoFocus","createTextNode","Hj","Ij","Jj","Kj","Lj","WeakSet","Mj","Nj","Oj","Qj","Rj","Sj","Tj","Uj","Vj","Wj","_reactRootContainer","Xj","X","Yj","Zj","ak","onCommitFiberUnmount","componentWillUnmount","bk","ck","dk","ek","fk","isHidden","gk","hk","ik","jk","kk","lk","__reactInternalSnapshotBeforeUpdate","Wk","mk","nk","ok","pk","Y","Z","qk","rk","sk","tk","uk","vk","wk","xk","yk","zk","Ak","Bk","Ck","Dk","Ek","callbackNode","expirationTimes","expiredLanes","wc","callbackPriority","ig","Fk","Gk","Hk","Ik","Jk","Kk","Lk","Mk","Nk","Ok","Pk","finishedWork","finishedLanes","Qk","timeoutHandle","Rk","Sk","Tk","Uk","Vk","mutableReadLanes","Bc","Pj","onCommitFiberRoot","mc","onRecoverableError","Xk","onPostCommitFiberRoot","Yk","Zk","al","pendingChildren","bl","mutableSourceEagerHydrationData","cl","pendingSuspenseBoundaries","dl","fl","gl","hl","il","jl","zj","$k","ll","reportError","ml","_internalRoot","nl","ol","pl","ql","sl","rl","unmount","unstable_scheduleHydration","querySelectorAll","form","tl","usingClientEntryPoint","Events","ul","findFiberByHostInstance","vl","rendererConfig","overrideHookState","overrideHookStateDeletePath","overrideHookStateRenamePath","overrideProps","overridePropsDeletePath","overridePropsRenamePath","setErrorHandler","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","reconcilerVersion","wl","isDisabled","supportsFiber","inject","createPortal","unstable_strictMode","findDOMNode","flushSync","hydrate","hydratedSources","_getVersion","_source","unmountComponentAtNode","unstable_batchedUpdates","unstable_renderSubtreeIntoContainer","pop","sortIndex","setImmediate","startTime","expirationTime","priorityLevel","scheduling","isInputPending","MessageChannel","port2","port1","onmessage","postMessage","unstable_Profiling","unstable_continueExecution","unstable_forceFrameRate","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_runWithPriority","delay","unstable_wrapCallback","scope","Timeout","clearFn","_clearFn","timeout","close","unref","enroll","msecs","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","active","_onTimeout","clearImmediate","registerImmediate","nextHandle","tasksByHandle","currentlyRunningATask","doc","attachTo","process","handle","nextTick","runIfPresent","importScripts","postMessageIsAsynchronous","oldOnMessage","canUsePostMessage","messagePrefix","onGlobalMessage","installPostMessageImplementation","channel","installMessageChannelImplementation","html","script","onreadystatechange","installReadyStateChangeImplementation","task","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","currentQueue","draining","queueIndex","cleanUpNextTick","drainQueue","marker","runClearTimeout","Item","noop","browser","env","argv","versions","addListener","once","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","binding","cwd","chdir","dir","umask","runtime","Op","hasOwn","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","_invoke","GenStateSuspendedStart","GenStateExecuting","GenStateCompleted","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","record","tryCatch","GenStateSuspendedYield","makeInvokeMethod","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","NativeIteratorPrototype","values","Gp","defineIteratorMethods","AsyncIterator","PromiseImpl","invoke","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","resultName","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","iterable","iteratorMethod","isGeneratorFunction","genFun","ctor","mark","awrap","async","skipTempReset","prev","rootRecord","rval","exception","loc","caught","hasCatch","hasFinally","finallyEntry","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","globalThis","jsx","jsxs","$$$hostConfig","supportsPersistence","supportsHydration","getInstanceFromNode","supportsMicrotasks","scheduleMicrotask","supportsTestSelectors","findFiberRoot","getBoundingRect","getTextContent","isHiddenSubtree","matchAccessibilityRole","setFocusIfFocusable","setupIntersectionObserver","cloneInstance","createContainerChildSet","appendChildToContainerChildSet","finalizeContainerChildren","replaceContainerChildren","cloneHiddenInstance","cloneHiddenTextInstance","canHydrateInstance","canHydrateTextInstance","canHydrateSuspenseInstance","isSuspenseInstancePending","isSuspenseInstanceFallback","getSuspenseInstanceFallbackErrorDetails","registerSuspenseInstanceRetry","getNextHydratableSibling","getFirstHydratableChild","getFirstHydratableChildWithinContainer","getFirstHydratableChildWithinSuspenseInstance","hydrateInstance","hydrateTextInstance","hydrateSuspenseInstance","getNextHydratableInstanceAfterSuspenseInstance","commitHydratedContainer","commitHydratedSuspenseInstance","clearSuspenseBoundary","clearSuspenseBoundaryFromContainer","shouldDeleteUnhydratedTailInstances","didNotMatchHydratedContainerTextInstance","didNotMatchHydratedTextInstance","nc","Cd","Ed","Gd","Kd","Sd","Ud","Wd","Ge","_workInProgressVersionSecondary","jf","kf","attemptContinuousHydration","attemptDiscreteHydration","attemptHydrationAtCurrentPriority","attemptSynchronousHydration","batchedUpdates","createComponentSelector","createHasPseudoClassSelector","createHydrationContainer","createRoleSelector","createTestNameSelector","createTextSelector","deferredUpdates","discreteUpdates","findAllNodes","findBoundingRects","findHostInstance","findHostInstanceWithNoPortals","findHostInstanceWithWarning","flushControlled","flushPassiveEffects","focusWithin","getCurrentUpdatePriority","getFindAllNodesFailureDescription","getPublicRootInstance","isAlreadyRendering","observeVisibleRects","disconnect","registerMutableSourceForHydration","runWithPriority","shouldError","shouldSuspend","ConcurrentRoot","ContinuousEventPriority","DiscreteEventPriority","IdleEventPriority"],"mappings":"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Q+G,YACR/G,EAAQw0B,gBAAgB7rC,QANhC,sBAQI,WACI,OAAuB,EAAhBA,KAAK0zC,WATpB,uBAWI,WACI,OAAuB,EAAhB1zC,KAAK0zC,WAZpB,sBAcI,SAAS1gC,GACLhT,KAAK0zC,OAAO1gC,EAAQ,KAf5B,uBAiBI,SAAUC,GACNjT,KAAK0zC,OAAOzgC,EAAS,OAlB7B,GAA2BssB,ICF3B,SAAS0lB,KACLjlD,KAAKsD,EAAI,EACTtD,KAAKgQ,EAAI,EACThQ,KAAK+C,EAAI,EACT/C,KAAK8C,EAAI,EACT9C,KAAKklD,KAAO,KDkBhBF,GAAMznD,UAAU+zB,UAAY,QAC5B0zB,GAAMznD,UAAU6kC,WAAY,EAC5B4iB,GAAMznD,UAAUg5B,oBAAsB,CAAC,UACvCl5B,YAAc2nD,IACdhsC,EAAQC,gBAAgB+rC,GAAO,SAAU,EAAG/sC,KAC5Ce,EAAQC,gBAAgB+rC,GAAO,QAAS,EAAG/sC,KAC3Ce,EAAQC,gBAAgB+rC,GAAO,aAAa,GAC5ChsC,EAAQ6B,WAAWmqC,GAAO,CACtBrpD,SAAU,QACVwpD,YAAa,WACbC,YAAa,aC1BjB,IAAIC,GAAY,CACZ,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEAC,GAAY,CACZ,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IA8KJtsC,EAAQC,gBAAgB6P,GAAM,aAAc,EAAG7Q,IAAsBe,EAAQoC,gBC7qB7EpC,EAAQC,gBAAgB6P,GAAM,aAAc,EAAG7Q,IAAsBe,EAAQoC,gBCsB7EpC,EAAQC,gBAAgB6P,GAAM,WAAY,EAAG7Q,IAAsBe,EAAQoC,gBC9B3E,SAASmqC,GAAMC,EAAWC,EAASC,EAASC,EAAOC,GAC/C,IAAIC,EAAYH,EAAUD,EAASK,EAAUF,EAAQD,EACrD,OAAkB,IAAdE,EACOF,EAAQG,EAAU,EAEb,IAAZA,EACOH,EAGDG,IADCN,EAAYC,GAAWI,GACJF,ECsFlC3sC,EAAQC,gBAAgB6P,GAAM,iBAAkB,GAAK7Q,IAAsBe,EAAQoC,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","file":"static/js/2.596a5d3e.chunk.js","sourcesContent":["'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","'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","var PI_OVER_180 = Math.PI / 180;\nfunction detectBrowser() {\n return (typeof window !== 'undefined' &&\n ({}.toString.call(window) === '[object Window]' ||\n {}.toString.call(window) === '[object global]'));\n}\nexport const glob = typeof global !== 'undefined'\n ? global\n : typeof window !== 'undefined'\n ? window\n : typeof WorkerGlobalScope !== 'undefined'\n ? self\n : {};\nexport const Konva = {\n _global: glob,\n version: '8.4.3',\n isBrowser: detectBrowser(),\n isUnminified: /param/.test(function (param) { }.toString()),\n dblClickWindow: 400,\n getAngle(angle) {\n return Konva.angleDeg ? angle * PI_OVER_180 : angle;\n },\n enableTrace: false,\n pointerEventsEnabled: true,\n autoDrawEnabled: true,\n hitOnDragEnabled: false,\n capturePointerEventsEnabled: false,\n _mouseListenClick: false,\n _touchListenClick: false,\n _pointerListenClick: false,\n _mouseInDblClickWindow: false,\n _touchInDblClickWindow: false,\n _pointerInDblClickWindow: false,\n _mouseDblClickPointerId: null,\n _touchDblClickPointerId: null,\n _pointerDblClickPointerId: null,\n pixelRatio: (typeof window !== 'undefined' && window.devicePixelRatio) || 1,\n dragDistance: 3,\n angleDeg: true,\n showWarnings: true,\n dragButtons: [0, 1],\n isDragging() {\n return Konva['DD'].isDragging;\n },\n isDragReady() {\n return !!Konva['DD'].node;\n },\n releaseCanvasOnDestroy: true,\n document: glob.document,\n _injectGlobal(Konva) {\n glob.Konva = Konva;\n },\n};\nexport const _registerNode = (NodeClass) => {\n Konva[NodeClass.prototype.getClassName()] = NodeClass;\n};\nKonva._injectGlobal(Konva);\n","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}","import getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport isNativeReflectConstruct from \"@babel/runtime/helpers/esm/isNativeReflectConstruct\";\nimport possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nexport default function _createSuper(Derived) {\n var hasNativeReflectConstruct = isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return possibleConstructorReturn(this, result);\n };\n}","export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"@babel/runtime/helpers/esm/setPrototypeOf\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}","import { Konva } from './Global.js';\nexport class Transform {\n constructor(m = [1, 0, 0, 1, 0, 0]) {\n this.dirty = false;\n this.m = (m && m.slice()) || [1, 0, 0, 1, 0, 0];\n }\n reset() {\n this.m[0] = 1;\n this.m[1] = 0;\n this.m[2] = 0;\n this.m[3] = 1;\n this.m[4] = 0;\n this.m[5] = 0;\n }\n copy() {\n return new Transform(this.m);\n }\n copyInto(tr) {\n tr.m[0] = this.m[0];\n tr.m[1] = this.m[1];\n tr.m[2] = this.m[2];\n tr.m[3] = this.m[3];\n tr.m[4] = this.m[4];\n tr.m[5] = this.m[5];\n }\n point(point) {\n var m = this.m;\n return {\n x: m[0] * point.x + m[2] * point.y + m[4],\n y: m[1] * point.x + m[3] * point.y + m[5],\n };\n }\n translate(x, y) {\n this.m[4] += this.m[0] * x + this.m[2] * y;\n this.m[5] += this.m[1] * x + this.m[3] * y;\n return this;\n }\n scale(sx, sy) {\n this.m[0] *= sx;\n this.m[1] *= sx;\n this.m[2] *= sy;\n this.m[3] *= sy;\n return this;\n }\n rotate(rad) {\n var c = Math.cos(rad);\n var s = Math.sin(rad);\n var m11 = this.m[0] * c + this.m[2] * s;\n var m12 = this.m[1] * c + this.m[3] * s;\n var m21 = this.m[0] * -s + this.m[2] * c;\n var m22 = this.m[1] * -s + this.m[3] * c;\n this.m[0] = m11;\n this.m[1] = m12;\n this.m[2] = m21;\n this.m[3] = m22;\n return this;\n }\n getTranslation() {\n return {\n x: this.m[4],\n y: this.m[5],\n };\n }\n skew(sx, sy) {\n var m11 = this.m[0] + this.m[2] * sy;\n var m12 = this.m[1] + this.m[3] * sy;\n var m21 = this.m[2] + this.m[0] * sx;\n var m22 = this.m[3] + this.m[1] * sx;\n this.m[0] = m11;\n this.m[1] = m12;\n this.m[2] = m21;\n this.m[3] = m22;\n return this;\n }\n multiply(matrix) {\n var m11 = this.m[0] * matrix.m[0] + this.m[2] * matrix.m[1];\n var m12 = this.m[1] * matrix.m[0] + this.m[3] * matrix.m[1];\n var m21 = this.m[0] * matrix.m[2] + this.m[2] * matrix.m[3];\n var m22 = this.m[1] * matrix.m[2] + this.m[3] * matrix.m[3];\n var dx = this.m[0] * matrix.m[4] + this.m[2] * matrix.m[5] + this.m[4];\n var dy = this.m[1] * matrix.m[4] + this.m[3] * matrix.m[5] + this.m[5];\n this.m[0] = m11;\n this.m[1] = m12;\n this.m[2] = m21;\n this.m[3] = m22;\n this.m[4] = dx;\n this.m[5] = dy;\n return this;\n }\n invert() {\n var d = 1 / (this.m[0] * this.m[3] - this.m[1] * this.m[2]);\n var m0 = this.m[3] * d;\n var m1 = -this.m[1] * d;\n var m2 = -this.m[2] * d;\n var m3 = this.m[0] * d;\n var m4 = d * (this.m[2] * this.m[5] - this.m[3] * this.m[4]);\n var m5 = d * (this.m[1] * this.m[4] - this.m[0] * this.m[5]);\n this.m[0] = m0;\n this.m[1] = m1;\n this.m[2] = m2;\n this.m[3] = m3;\n this.m[4] = m4;\n this.m[5] = m5;\n return this;\n }\n getMatrix() {\n return this.m;\n }\n decompose() {\n var a = this.m[0];\n var b = this.m[1];\n var c = this.m[2];\n var d = this.m[3];\n var e = this.m[4];\n var f = this.m[5];\n var delta = a * d - b * c;\n let result = {\n x: e,\n y: f,\n rotation: 0,\n scaleX: 0,\n scaleY: 0,\n skewX: 0,\n skewY: 0,\n };\n if (a != 0 || b != 0) {\n var r = Math.sqrt(a * a + b * b);\n result.rotation = b > 0 ? Math.acos(a / r) : -Math.acos(a / r);\n result.scaleX = r;\n result.scaleY = delta / r;\n result.skewX = (a * c + b * d) / delta;\n result.skewY = 0;\n }\n else if (c != 0 || d != 0) {\n var s = Math.sqrt(c * c + d * d);\n result.rotation =\n Math.PI / 2 - (d > 0 ? Math.acos(-c / s) : -Math.acos(c / s));\n result.scaleX = delta / s;\n result.scaleY = s;\n result.skewX = 0;\n result.skewY = (a * c + b * d) / delta;\n }\n else {\n }\n result.rotation = Util._getRotation(result.rotation);\n return result;\n }\n}\nvar OBJECT_ARRAY = '[object Array]', OBJECT_NUMBER = '[object Number]', OBJECT_STRING = '[object String]', OBJECT_BOOLEAN = '[object Boolean]', PI_OVER_DEG180 = Math.PI / 180, DEG180_OVER_PI = 180 / Math.PI, HASH = '#', EMPTY_STRING = '', ZERO = '0', KONVA_WARNING = 'Konva warning: ', KONVA_ERROR = 'Konva error: ', RGB_PAREN = 'rgb(', COLORS = {\n aliceblue: [240, 248, 255],\n antiquewhite: [250, 235, 215],\n aqua: [0, 255, 255],\n aquamarine: [127, 255, 212],\n azure: [240, 255, 255],\n beige: [245, 245, 220],\n bisque: [255, 228, 196],\n black: [0, 0, 0],\n blanchedalmond: [255, 235, 205],\n blue: [0, 0, 255],\n blueviolet: [138, 43, 226],\n brown: [165, 42, 42],\n burlywood: [222, 184, 135],\n cadetblue: [95, 158, 160],\n chartreuse: [127, 255, 0],\n chocolate: [210, 105, 30],\n coral: [255, 127, 80],\n cornflowerblue: [100, 149, 237],\n cornsilk: [255, 248, 220],\n crimson: [220, 20, 60],\n cyan: [0, 255, 255],\n darkblue: [0, 0, 139],\n darkcyan: [0, 139, 139],\n darkgoldenrod: [184, 132, 11],\n darkgray: [169, 169, 169],\n darkgreen: [0, 100, 0],\n darkgrey: [169, 169, 169],\n darkkhaki: [189, 183, 107],\n darkmagenta: [139, 0, 139],\n darkolivegreen: [85, 107, 47],\n darkorange: [255, 140, 0],\n darkorchid: [153, 50, 204],\n darkred: [139, 0, 0],\n darksalmon: [233, 150, 122],\n darkseagreen: [143, 188, 143],\n darkslateblue: [72, 61, 139],\n darkslategray: [47, 79, 79],\n darkslategrey: [47, 79, 79],\n darkturquoise: [0, 206, 209],\n darkviolet: [148, 0, 211],\n deeppink: [255, 20, 147],\n deepskyblue: [0, 191, 255],\n dimgray: [105, 105, 105],\n dimgrey: [105, 105, 105],\n dodgerblue: [30, 144, 255],\n firebrick: [178, 34, 34],\n floralwhite: [255, 255, 240],\n forestgreen: [34, 139, 34],\n fuchsia: [255, 0, 255],\n gainsboro: [220, 220, 220],\n ghostwhite: [248, 248, 255],\n gold: [255, 215, 0],\n goldenrod: [218, 165, 32],\n gray: [128, 128, 128],\n green: [0, 128, 0],\n greenyellow: [173, 255, 47],\n grey: [128, 128, 128],\n honeydew: [240, 255, 240],\n hotpink: [255, 105, 180],\n indianred: [205, 92, 92],\n indigo: [75, 0, 130],\n ivory: [255, 255, 240],\n khaki: [240, 230, 140],\n lavender: [230, 230, 250],\n lavenderblush: [255, 240, 245],\n lawngreen: [124, 252, 0],\n lemonchiffon: [255, 250, 205],\n lightblue: [173, 216, 230],\n lightcoral: [240, 128, 128],\n lightcyan: [224, 255, 255],\n lightgoldenrodyellow: [250, 250, 210],\n lightgray: [211, 211, 211],\n lightgreen: [144, 238, 144],\n lightgrey: [211, 211, 211],\n lightpink: [255, 182, 193],\n lightsalmon: [255, 160, 122],\n lightseagreen: [32, 178, 170],\n lightskyblue: [135, 206, 250],\n lightslategray: [119, 136, 153],\n lightslategrey: [119, 136, 153],\n lightsteelblue: [176, 196, 222],\n lightyellow: [255, 255, 224],\n lime: [0, 255, 0],\n limegreen: [50, 205, 50],\n linen: [250, 240, 230],\n magenta: [255, 0, 255],\n maroon: [128, 0, 0],\n mediumaquamarine: [102, 205, 170],\n mediumblue: [0, 0, 205],\n mediumorchid: [186, 85, 211],\n mediumpurple: [147, 112, 219],\n mediumseagreen: [60, 179, 113],\n mediumslateblue: [123, 104, 238],\n mediumspringgreen: [0, 250, 154],\n mediumturquoise: [72, 209, 204],\n mediumvioletred: [199, 21, 133],\n midnightblue: [25, 25, 112],\n mintcream: [245, 255, 250],\n mistyrose: [255, 228, 225],\n moccasin: [255, 228, 181],\n navajowhite: [255, 222, 173],\n navy: [0, 0, 128],\n oldlace: [253, 245, 230],\n olive: [128, 128, 0],\n olivedrab: [107, 142, 35],\n orange: [255, 165, 0],\n orangered: [255, 69, 0],\n orchid: [218, 112, 214],\n palegoldenrod: [238, 232, 170],\n palegreen: [152, 251, 152],\n paleturquoise: [175, 238, 238],\n palevioletred: [219, 112, 147],\n papayawhip: [255, 239, 213],\n peachpuff: [255, 218, 185],\n peru: [205, 133, 63],\n pink: [255, 192, 203],\n plum: [221, 160, 203],\n powderblue: [176, 224, 230],\n purple: [128, 0, 128],\n rebeccapurple: [102, 51, 153],\n red: [255, 0, 0],\n rosybrown: [188, 143, 143],\n royalblue: [65, 105, 225],\n saddlebrown: [139, 69, 19],\n salmon: [250, 128, 114],\n sandybrown: [244, 164, 96],\n seagreen: [46, 139, 87],\n seashell: [255, 245, 238],\n sienna: [160, 82, 45],\n silver: [192, 192, 192],\n skyblue: [135, 206, 235],\n slateblue: [106, 90, 205],\n slategray: [119, 128, 144],\n slategrey: [119, 128, 144],\n snow: [255, 255, 250],\n springgreen: [0, 255, 127],\n steelblue: [70, 130, 180],\n tan: [210, 180, 140],\n teal: [0, 128, 128],\n thistle: [216, 191, 216],\n transparent: [255, 255, 255, 0],\n tomato: [255, 99, 71],\n turquoise: [64, 224, 208],\n violet: [238, 130, 238],\n wheat: [245, 222, 179],\n white: [255, 255, 255],\n whitesmoke: [245, 245, 245],\n yellow: [255, 255, 0],\n yellowgreen: [154, 205, 5],\n}, RGB_REGEX = /rgb\\((\\d{1,3}),(\\d{1,3}),(\\d{1,3})\\)/, animQueue = [];\nconst req = (typeof requestAnimationFrame !== 'undefined' && requestAnimationFrame) ||\n function (f) {\n setTimeout(f, 60);\n };\nexport const Util = {\n _isElement(obj) {\n return !!(obj && obj.nodeType == 1);\n },\n _isFunction(obj) {\n return !!(obj && obj.constructor && obj.call && obj.apply);\n },\n _isPlainObject(obj) {\n return !!obj && obj.constructor === Object;\n },\n _isArray(obj) {\n return Object.prototype.toString.call(obj) === OBJECT_ARRAY;\n },\n _isNumber(obj) {\n return (Object.prototype.toString.call(obj) === OBJECT_NUMBER &&\n !isNaN(obj) &&\n isFinite(obj));\n },\n _isString(obj) {\n return Object.prototype.toString.call(obj) === OBJECT_STRING;\n },\n _isBoolean(obj) {\n return Object.prototype.toString.call(obj) === OBJECT_BOOLEAN;\n },\n isObject(val) {\n return val instanceof Object;\n },\n isValidSelector(selector) {\n if (typeof selector !== 'string') {\n return false;\n }\n var firstChar = selector[0];\n return (firstChar === '#' ||\n firstChar === '.' ||\n firstChar === firstChar.toUpperCase());\n },\n _sign(number) {\n if (number === 0) {\n return 1;\n }\n if (number > 0) {\n return 1;\n }\n else {\n return -1;\n }\n },\n requestAnimFrame(callback) {\n animQueue.push(callback);\n if (animQueue.length === 1) {\n req(function () {\n const queue = animQueue;\n animQueue = [];\n queue.forEach(function (cb) {\n cb();\n });\n });\n }\n },\n createCanvasElement() {\n var canvas = document.createElement('canvas');\n try {\n canvas.style = canvas.style || {};\n }\n catch (e) { }\n return canvas;\n },\n createImageElement() {\n return document.createElement('img');\n },\n _isInDocument(el) {\n while ((el = el.parentNode)) {\n if (el == document) {\n return true;\n }\n }\n return false;\n },\n _urlToImage(url, callback) {\n var imageObj = Util.createImageElement();\n imageObj.onload = function () {\n callback(imageObj);\n };\n imageObj.src = url;\n },\n _rgbToHex(r, g, b) {\n return ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1);\n },\n _hexToRgb(hex) {\n hex = hex.replace(HASH, EMPTY_STRING);\n var bigint = parseInt(hex, 16);\n return {\n r: (bigint >> 16) & 255,\n g: (bigint >> 8) & 255,\n b: bigint & 255,\n };\n },\n getRandomColor() {\n var randColor = ((Math.random() * 0xffffff) << 0).toString(16);\n while (randColor.length < 6) {\n randColor = ZERO + randColor;\n }\n return HASH + randColor;\n },\n getRGB(color) {\n var rgb;\n if (color in COLORS) {\n rgb = COLORS[color];\n return {\n r: rgb[0],\n g: rgb[1],\n b: rgb[2],\n };\n }\n else if (color[0] === HASH) {\n return this._hexToRgb(color.substring(1));\n }\n else if (color.substr(0, 4) === RGB_PAREN) {\n rgb = RGB_REGEX.exec(color.replace(/ /g, ''));\n return {\n r: parseInt(rgb[1], 10),\n g: parseInt(rgb[2], 10),\n b: parseInt(rgb[3], 10),\n };\n }\n else {\n return {\n r: 0,\n g: 0,\n b: 0,\n };\n }\n },\n colorToRGBA(str) {\n str = str || 'black';\n return (Util._namedColorToRBA(str) ||\n Util._hex3ColorToRGBA(str) ||\n Util._hex4ColorToRGBA(str) ||\n Util._hex6ColorToRGBA(str) ||\n Util._hex8ColorToRGBA(str) ||\n Util._rgbColorToRGBA(str) ||\n Util._rgbaColorToRGBA(str) ||\n Util._hslColorToRGBA(str));\n },\n _namedColorToRBA(str) {\n var c = COLORS[str.toLowerCase()];\n if (!c) {\n return null;\n }\n return {\n r: c[0],\n g: c[1],\n b: c[2],\n a: 1,\n };\n },\n _rgbColorToRGBA(str) {\n if (str.indexOf('rgb(') === 0) {\n str = str.match(/rgb\\(([^)]+)\\)/)[1];\n var parts = str.split(/ *, */).map(Number);\n return {\n r: parts[0],\n g: parts[1],\n b: parts[2],\n a: 1,\n };\n }\n },\n _rgbaColorToRGBA(str) {\n if (str.indexOf('rgba(') === 0) {\n str = str.match(/rgba\\(([^)]+)\\)/)[1];\n var parts = str.split(/ *, */).map((n, index) => {\n if (n.slice(-1) === '%') {\n return index === 3 ? parseInt(n) / 100 : (parseInt(n) / 100) * 255;\n }\n return Number(n);\n });\n return {\n r: parts[0],\n g: parts[1],\n b: parts[2],\n a: parts[3],\n };\n }\n },\n _hex8ColorToRGBA(str) {\n if (str[0] === '#' && str.length === 9) {\n return {\n r: parseInt(str.slice(1, 3), 16),\n g: parseInt(str.slice(3, 5), 16),\n b: parseInt(str.slice(5, 7), 16),\n a: parseInt(str.slice(7, 9), 16) / 0xff,\n };\n }\n },\n _hex6ColorToRGBA(str) {\n if (str[0] === '#' && str.length === 7) {\n return {\n r: parseInt(str.slice(1, 3), 16),\n g: parseInt(str.slice(3, 5), 16),\n b: parseInt(str.slice(5, 7), 16),\n a: 1,\n };\n }\n },\n _hex4ColorToRGBA(str) {\n if (str[0] === '#' && str.length === 5) {\n return {\n r: parseInt(str[1] + str[1], 16),\n g: parseInt(str[2] + str[2], 16),\n b: parseInt(str[3] + str[3], 16),\n a: parseInt(str[4] + str[4], 16) / 0xff,\n };\n }\n },\n _hex3ColorToRGBA(str) {\n if (str[0] === '#' && str.length === 4) {\n return {\n r: parseInt(str[1] + str[1], 16),\n g: parseInt(str[2] + str[2], 16),\n b: parseInt(str[3] + str[3], 16),\n a: 1,\n };\n }\n },\n _hslColorToRGBA(str) {\n if (/hsl\\((\\d+),\\s*([\\d.]+)%,\\s*([\\d.]+)%\\)/g.test(str)) {\n const [_, ...hsl] = /hsl\\((\\d+),\\s*([\\d.]+)%,\\s*([\\d.]+)%\\)/g.exec(str);\n const h = Number(hsl[0]) / 360;\n const s = Number(hsl[1]) / 100;\n const l = Number(hsl[2]) / 100;\n let t2;\n let t3;\n let val;\n if (s === 0) {\n val = l * 255;\n return {\n r: Math.round(val),\n g: Math.round(val),\n b: Math.round(val),\n a: 1,\n };\n }\n if (l < 0.5) {\n t2 = l * (1 + s);\n }\n else {\n t2 = l + s - l * s;\n }\n const t1 = 2 * l - t2;\n const rgb = [0, 0, 0];\n for (let i = 0; i < 3; i++) {\n t3 = h + (1 / 3) * -(i - 1);\n if (t3 < 0) {\n t3++;\n }\n if (t3 > 1) {\n t3--;\n }\n if (6 * t3 < 1) {\n val = t1 + (t2 - t1) * 6 * t3;\n }\n else if (2 * t3 < 1) {\n val = t2;\n }\n else if (3 * t3 < 2) {\n val = t1 + (t2 - t1) * (2 / 3 - t3) * 6;\n }\n else {\n val = t1;\n }\n rgb[i] = val * 255;\n }\n return {\n r: Math.round(rgb[0]),\n g: Math.round(rgb[1]),\n b: Math.round(rgb[2]),\n a: 1,\n };\n }\n },\n haveIntersection(r1, r2) {\n return !(r2.x > r1.x + r1.width ||\n r2.x + r2.width < r1.x ||\n r2.y > r1.y + r1.height ||\n r2.y + r2.height < r1.y);\n },\n cloneObject(obj) {\n var retObj = {};\n for (var key in obj) {\n if (this._isPlainObject(obj[key])) {\n retObj[key] = this.cloneObject(obj[key]);\n }\n else if (this._isArray(obj[key])) {\n retObj[key] = this.cloneArray(obj[key]);\n }\n else {\n retObj[key] = obj[key];\n }\n }\n return retObj;\n },\n cloneArray(arr) {\n return arr.slice(0);\n },\n degToRad(deg) {\n return deg * PI_OVER_DEG180;\n },\n radToDeg(rad) {\n return rad * DEG180_OVER_PI;\n },\n _degToRad(deg) {\n Util.warn('Util._degToRad is removed. Please use public Util.degToRad instead.');\n return Util.degToRad(deg);\n },\n _radToDeg(rad) {\n Util.warn('Util._radToDeg is removed. Please use public Util.radToDeg instead.');\n return Util.radToDeg(rad);\n },\n _getRotation(radians) {\n return Konva.angleDeg ? Util.radToDeg(radians) : radians;\n },\n _capitalize(str) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n },\n throw(str) {\n throw new Error(KONVA_ERROR + str);\n },\n error(str) {\n console.error(KONVA_ERROR + str);\n },\n warn(str) {\n if (!Konva.showWarnings) {\n return;\n }\n console.warn(KONVA_WARNING + str);\n },\n each(obj, func) {\n for (var key in obj) {\n func(key, obj[key]);\n }\n },\n _inRange(val, left, right) {\n return left <= val && val < right;\n },\n _getProjectionToSegment(x1, y1, x2, y2, x3, y3) {\n var x, y, dist;\n var pd2 = (x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2);\n if (pd2 == 0) {\n x = x1;\n y = y1;\n dist = (x3 - x2) * (x3 - x2) + (y3 - y2) * (y3 - y2);\n }\n else {\n var u = ((x3 - x1) * (x2 - x1) + (y3 - y1) * (y2 - y1)) / pd2;\n if (u < 0) {\n x = x1;\n y = y1;\n dist = (x1 - x3) * (x1 - x3) + (y1 - y3) * (y1 - y3);\n }\n else if (u > 1.0) {\n x = x2;\n y = y2;\n dist = (x2 - x3) * (x2 - x3) + (y2 - y3) * (y2 - y3);\n }\n else {\n x = x1 + u * (x2 - x1);\n y = y1 + u * (y2 - y1);\n dist = (x - x3) * (x - x3) + (y - y3) * (y - y3);\n }\n }\n return [x, y, dist];\n },\n _getProjectionToLine(pt, line, isClosed) {\n var pc = Util.cloneObject(pt);\n var dist = Number.MAX_VALUE;\n line.forEach(function (p1, i) {\n if (!isClosed && i === line.length - 1) {\n return;\n }\n var p2 = line[(i + 1) % line.length];\n var proj = Util._getProjectionToSegment(p1.x, p1.y, p2.x, p2.y, pt.x, pt.y);\n var px = proj[0], py = proj[1], pdist = proj[2];\n if (pdist < dist) {\n pc.x = px;\n pc.y = py;\n dist = pdist;\n }\n });\n return pc;\n },\n _prepareArrayForTween(startArray, endArray, isClosed) {\n var n, start = [], end = [];\n if (startArray.length > endArray.length) {\n var temp = endArray;\n endArray = startArray;\n startArray = temp;\n }\n for (n = 0; n < startArray.length; n += 2) {\n start.push({\n x: startArray[n],\n y: startArray[n + 1],\n });\n }\n for (n = 0; n < endArray.length; n += 2) {\n end.push({\n x: endArray[n],\n y: endArray[n + 1],\n });\n }\n var newStart = [];\n end.forEach(function (point) {\n var pr = Util._getProjectionToLine(point, start, isClosed);\n newStart.push(pr.x);\n newStart.push(pr.y);\n });\n return newStart;\n },\n _prepareToStringify(obj) {\n var desc;\n obj.visitedByCircularReferenceRemoval = true;\n for (var key in obj) {\n if (!(obj.hasOwnProperty(key) && obj[key] && typeof obj[key] == 'object')) {\n continue;\n }\n desc = Object.getOwnPropertyDescriptor(obj, key);\n if (obj[key].visitedByCircularReferenceRemoval ||\n Util._isElement(obj[key])) {\n if (desc.configurable) {\n delete obj[key];\n }\n else {\n return null;\n }\n }\n else if (Util._prepareToStringify(obj[key]) === null) {\n if (desc.configurable) {\n delete obj[key];\n }\n else {\n return null;\n }\n }\n }\n delete obj.visitedByCircularReferenceRemoval;\n return obj;\n },\n _assign(target, source) {\n for (var key in source) {\n target[key] = source[key];\n }\n return target;\n },\n _getFirstPointerId(evt) {\n if (!evt.touches) {\n return evt.pointerId || 999;\n }\n else {\n return evt.changedTouches[0].identifier;\n }\n },\n releaseCanvas(...canvases) {\n if (!Konva.releaseCanvasOnDestroy)\n return;\n canvases.forEach(c => {\n c.width = 0;\n c.height = 0;\n });\n },\n drawRoundedRectPath(context, width, height, cornerRadius) {\n let topLeft = 0;\n let topRight = 0;\n let bottomLeft = 0;\n let bottomRight = 0;\n if (typeof cornerRadius === 'number') {\n topLeft = topRight = bottomLeft = bottomRight = Math.min(cornerRadius, width / 2, height / 2);\n }\n else {\n topLeft = Math.min(cornerRadius[0] || 0, width / 2, height / 2);\n topRight = Math.min(cornerRadius[1] || 0, width / 2, height / 2);\n bottomRight = Math.min(cornerRadius[2] || 0, width / 2, height / 2);\n bottomLeft = Math.min(cornerRadius[3] || 0, width / 2, height / 2);\n }\n context.moveTo(topLeft, 0);\n context.lineTo(width - topRight, 0);\n context.arc(width - topRight, topRight, topRight, (Math.PI * 3) / 2, 0, false);\n context.lineTo(width, height - bottomRight);\n context.arc(width - bottomRight, height - bottomRight, bottomRight, 0, Math.PI / 2, false);\n context.lineTo(bottomLeft, height);\n context.arc(bottomLeft, height - bottomLeft, bottomLeft, Math.PI / 2, Math.PI, false);\n context.lineTo(0, topLeft);\n context.arc(topLeft, topLeft, topLeft, Math.PI, (Math.PI * 3) / 2, false);\n }\n};\n","import arrayWithHoles from \"@babel/runtime/helpers/esm/arrayWithHoles\";\nimport iterableToArray from \"@babel/runtime/helpers/esm/iterableToArray\";\nimport unsupportedIterableToArray from \"@babel/runtime/helpers/esm/unsupportedIterableToArray\";\nimport nonIterableRest from \"@babel/runtime/helpers/esm/nonIterableRest\";\nexport default function _toArray(arr) {\n return arrayWithHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableRest();\n}","import { Konva } from './Global.js';\nimport { Util } from './Util.js';\nfunction _formatValue(val) {\n if (Util._isString(val)) {\n return '\"' + val + '\"';\n }\n if (Object.prototype.toString.call(val) === '[object Number]') {\n return val;\n }\n if (Util._isBoolean(val)) {\n return val;\n }\n return Object.prototype.toString.call(val);\n}\nexport function RGBComponent(val) {\n if (val > 255) {\n return 255;\n }\n else if (val < 0) {\n return 0;\n }\n return Math.round(val);\n}\nexport function alphaComponent(val) {\n if (val > 1) {\n return 1;\n }\n else if (val < 0.0001) {\n return 0.0001;\n }\n return val;\n}\nexport function getNumberValidator() {\n if (Konva.isUnminified) {\n return function (val, attr) {\n if (!Util._isNumber(val)) {\n Util.warn(_formatValue(val) +\n ' is a not valid value for \"' +\n attr +\n '\" attribute. The value should be a number.');\n }\n return val;\n };\n }\n}\nexport function getNumberOrArrayOfNumbersValidator(noOfElements) {\n if (Konva.isUnminified) {\n return function (val, attr) {\n let isNumber = Util._isNumber(val);\n let isValidArray = Util._isArray(val) && val.length == noOfElements;\n if (!isNumber && !isValidArray) {\n Util.warn(_formatValue(val) +\n ' is a not valid value for \"' +\n attr +\n '\" attribute. The value should be a number or Array(' +\n noOfElements +\n ')');\n }\n return val;\n };\n }\n}\nexport function getNumberOrAutoValidator() {\n if (Konva.isUnminified) {\n return function (val, attr) {\n var isNumber = Util._isNumber(val);\n var isAuto = val === 'auto';\n if (!(isNumber || isAuto)) {\n Util.warn(_formatValue(val) +\n ' is a not valid value for \"' +\n attr +\n '\" attribute. The value should be a number or \"auto\".');\n }\n return val;\n };\n }\n}\nexport function getStringValidator() {\n if (Konva.isUnminified) {\n return function (val, attr) {\n if (!Util._isString(val)) {\n Util.warn(_formatValue(val) +\n ' is a not valid value for \"' +\n attr +\n '\" attribute. The value should be a string.');\n }\n return val;\n };\n }\n}\nexport function getStringOrGradientValidator() {\n if (Konva.isUnminified) {\n return function (val, attr) {\n const isString = Util._isString(val);\n const isGradient = Object.prototype.toString.call(val) === '[object CanvasGradient]' ||\n (val && val.addColorStop);\n if (!(isString || isGradient)) {\n Util.warn(_formatValue(val) +\n ' is a not valid value for \"' +\n attr +\n '\" attribute. The value should be a string or a native gradient.');\n }\n return val;\n };\n }\n}\nexport function getFunctionValidator() {\n if (Konva.isUnminified) {\n return function (val, attr) {\n if (!Util._isFunction(val)) {\n Util.warn(_formatValue(val) +\n ' is a not valid value for \"' +\n attr +\n '\" attribute. The value should be a function.');\n }\n return val;\n };\n }\n}\nexport function getNumberArrayValidator() {\n if (Konva.isUnminified) {\n return function (val, attr) {\n const TypedArray = Int8Array ? Object.getPrototypeOf(Int8Array) : null;\n if (TypedArray && val instanceof TypedArray) {\n return val;\n }\n if (!Util._isArray(val)) {\n Util.warn(_formatValue(val) +\n ' is a not valid value for \"' +\n attr +\n '\" attribute. The value should be a array of numbers.');\n }\n else {\n val.forEach(function (item) {\n if (!Util._isNumber(item)) {\n Util.warn('\"' +\n attr +\n '\" attribute has non numeric element ' +\n item +\n '. Make sure that all elements are numbers.');\n }\n });\n }\n return val;\n };\n }\n}\nexport function getBooleanValidator() {\n if (Konva.isUnminified) {\n return function (val, attr) {\n var isBool = val === true || val === false;\n if (!isBool) {\n Util.warn(_formatValue(val) +\n ' is a not valid value for \"' +\n attr +\n '\" attribute. The value should be a boolean.');\n }\n return val;\n };\n }\n}\nexport function getComponentValidator(components) {\n if (Konva.isUnminified) {\n return function (val, attr) {\n if (val === undefined || val === null) {\n return val;\n }\n if (!Util.isObject(val)) {\n Util.warn(_formatValue(val) +\n ' is a not valid value for \"' +\n attr +\n '\" attribute. The value should be an object with properties ' +\n components);\n }\n return val;\n };\n }\n}\n","import { Util } from './Util.js';\nimport { getComponentValidator } from './Validators.js';\nvar GET = 'get', SET = 'set';\nexport const Factory = {\n addGetterSetter(constructor, attr, def, validator, after) {\n Factory.addGetter(constructor, attr, def);\n Factory.addSetter(constructor, attr, validator, after);\n Factory.addOverloadedGetterSetter(constructor, attr);\n },\n addGetter(constructor, attr, def) {\n var method = GET + Util._capitalize(attr);\n constructor.prototype[method] =\n constructor.prototype[method] ||\n function () {\n var val = this.attrs[attr];\n return val === undefined ? def : val;\n };\n },\n addSetter(constructor, attr, validator, after) {\n var method = SET + Util._capitalize(attr);\n if (!constructor.prototype[method]) {\n Factory.overWriteSetter(constructor, attr, validator, after);\n }\n },\n overWriteSetter(constructor, attr, validator, after) {\n var method = SET + Util._capitalize(attr);\n constructor.prototype[method] = function (val) {\n if (validator && val !== undefined && val !== null) {\n val = validator.call(this, val, attr);\n }\n this._setAttr(attr, val);\n if (after) {\n after.call(this);\n }\n return this;\n };\n },\n addComponentsGetterSetter(constructor, attr, components, validator, after) {\n var len = components.length, capitalize = Util._capitalize, getter = GET + capitalize(attr), setter = SET + capitalize(attr), n, component;\n constructor.prototype[getter] = function () {\n var ret = {};\n for (n = 0; n < len; n++) {\n component = components[n];\n ret[component] = this.getAttr(attr + capitalize(component));\n }\n return ret;\n };\n var basicValidator = getComponentValidator(components);\n constructor.prototype[setter] = function (val) {\n var oldVal = this.attrs[attr], key;\n if (validator) {\n val = validator.call(this, val);\n }\n if (basicValidator) {\n basicValidator.call(this, val, attr);\n }\n for (key in val) {\n if (!val.hasOwnProperty(key)) {\n continue;\n }\n this._setAttr(attr + capitalize(key), val[key]);\n }\n if (!val) {\n components.forEach((component) => {\n this._setAttr(attr + capitalize(component), undefined);\n });\n }\n this._fireChangeEvent(attr, oldVal, val);\n if (after) {\n after.call(this);\n }\n return this;\n };\n Factory.addOverloadedGetterSetter(constructor, attr);\n },\n addOverloadedGetterSetter(constructor, attr) {\n var capitalizedAttr = Util._capitalize(attr), setter = SET + capitalizedAttr, getter = GET + capitalizedAttr;\n constructor.prototype[attr] = function () {\n if (arguments.length) {\n this[setter](arguments[0]);\n return this;\n }\n return this[getter]();\n };\n },\n addDeprecatedGetterSetter(constructor, attr, def, validator) {\n Util.error('Adding deprecated ' + attr);\n var method = GET + Util._capitalize(attr);\n var message = attr +\n ' property is deprecated and will be removed soon. Look at Konva change log for more information.';\n constructor.prototype[method] = function () {\n Util.error(message);\n var val = this.attrs[attr];\n return val === undefined ? def : val;\n };\n Factory.addSetter(constructor, attr, validator, function () {\n Util.error(message);\n });\n Factory.addOverloadedGetterSetter(constructor, attr);\n },\n backCompat(constructor, methods) {\n Util.each(methods, function (oldMethodName, newMethodName) {\n var method = constructor.prototype[newMethodName];\n var oldGetter = GET + Util._capitalize(oldMethodName);\n var oldSetter = SET + Util._capitalize(oldMethodName);\n function deprecated() {\n method.apply(this, arguments);\n Util.error('\"' +\n oldMethodName +\n '\" method is deprecated and will be removed soon. Use \"\"' +\n newMethodName +\n '\" instead.');\n }\n constructor.prototype[oldMethodName] = deprecated;\n constructor.prototype[oldGetter] = deprecated;\n constructor.prototype[oldSetter] = deprecated;\n });\n },\n afterSetFilter() {\n this._filterUpToDate = false;\n },\n};\n","import { Util } from './Util.js';\nimport { Konva } from './Global.js';\nfunction simplifyArray(arr) {\n var retArr = [], len = arr.length, util = Util, n, val;\n for (n = 0; n < len; n++) {\n val = arr[n];\n if (util._isNumber(val)) {\n val = Math.round(val * 1000) / 1000;\n }\n else if (!util._isString(val)) {\n val = val + '';\n }\n retArr.push(val);\n }\n return retArr;\n}\nvar COMMA = ',', OPEN_PAREN = '(', CLOSE_PAREN = ')', OPEN_PAREN_BRACKET = '([', CLOSE_BRACKET_PAREN = '])', SEMICOLON = ';', DOUBLE_PAREN = '()', EQUALS = '=', CONTEXT_METHODS = [\n 'arc',\n 'arcTo',\n 'beginPath',\n 'bezierCurveTo',\n 'clearRect',\n 'clip',\n 'closePath',\n 'createLinearGradient',\n 'createPattern',\n 'createRadialGradient',\n 'drawImage',\n 'ellipse',\n 'fill',\n 'fillText',\n 'getImageData',\n 'createImageData',\n 'lineTo',\n 'moveTo',\n 'putImageData',\n 'quadraticCurveTo',\n 'rect',\n 'restore',\n 'rotate',\n 'save',\n 'scale',\n 'setLineDash',\n 'setTransform',\n 'stroke',\n 'strokeText',\n 'transform',\n 'translate',\n];\nvar CONTEXT_PROPERTIES = [\n 'fillStyle',\n 'strokeStyle',\n 'shadowColor',\n 'shadowBlur',\n 'shadowOffsetX',\n 'shadowOffsetY',\n 'lineCap',\n 'lineDashOffset',\n 'lineJoin',\n 'lineWidth',\n 'miterLimit',\n 'font',\n 'textAlign',\n 'textBaseline',\n 'globalAlpha',\n 'globalCompositeOperation',\n 'imageSmoothingEnabled',\n];\nconst traceArrMax = 100;\nexport class Context {\n constructor(canvas) {\n this.canvas = canvas;\n if (Konva.enableTrace) {\n this.traceArr = [];\n this._enableTrace();\n }\n }\n fillShape(shape) {\n if (shape.fillEnabled()) {\n this._fill(shape);\n }\n }\n _fill(shape) {\n }\n strokeShape(shape) {\n if (shape.hasStroke()) {\n this._stroke(shape);\n }\n }\n _stroke(shape) {\n }\n fillStrokeShape(shape) {\n if (shape.attrs.fillAfterStrokeEnabled) {\n this.strokeShape(shape);\n this.fillShape(shape);\n }\n else {\n this.fillShape(shape);\n this.strokeShape(shape);\n }\n }\n getTrace(relaxed, rounded) {\n var traceArr = this.traceArr, len = traceArr.length, str = '', n, trace, method, args;\n for (n = 0; n < len; n++) {\n trace = traceArr[n];\n method = trace.method;\n if (method) {\n args = trace.args;\n str += method;\n if (relaxed) {\n str += DOUBLE_PAREN;\n }\n else {\n if (Util._isArray(args[0])) {\n str += OPEN_PAREN_BRACKET + args.join(COMMA) + CLOSE_BRACKET_PAREN;\n }\n else {\n if (rounded) {\n args = args.map((a) => typeof a === 'number' ? Math.floor(a) : a);\n }\n str += OPEN_PAREN + args.join(COMMA) + CLOSE_PAREN;\n }\n }\n }\n else {\n str += trace.property;\n if (!relaxed) {\n str += EQUALS + trace.val;\n }\n }\n str += SEMICOLON;\n }\n return str;\n }\n clearTrace() {\n this.traceArr = [];\n }\n _trace(str) {\n var traceArr = this.traceArr, len;\n traceArr.push(str);\n len = traceArr.length;\n if (len >= traceArrMax) {\n traceArr.shift();\n }\n }\n reset() {\n var pixelRatio = this.getCanvas().getPixelRatio();\n this.setTransform(1 * pixelRatio, 0, 0, 1 * pixelRatio, 0, 0);\n }\n getCanvas() {\n return this.canvas;\n }\n clear(bounds) {\n var canvas = this.getCanvas();\n if (bounds) {\n this.clearRect(bounds.x || 0, bounds.y || 0, bounds.width || 0, bounds.height || 0);\n }\n else {\n this.clearRect(0, 0, canvas.getWidth() / canvas.pixelRatio, canvas.getHeight() / canvas.pixelRatio);\n }\n }\n _applyLineCap(shape) {\n const lineCap = shape.attrs.lineCap;\n if (lineCap) {\n this.setAttr('lineCap', lineCap);\n }\n }\n _applyOpacity(shape) {\n var absOpacity = shape.getAbsoluteOpacity();\n if (absOpacity !== 1) {\n this.setAttr('globalAlpha', absOpacity);\n }\n }\n _applyLineJoin(shape) {\n const lineJoin = shape.attrs.lineJoin;\n if (lineJoin) {\n this.setAttr('lineJoin', lineJoin);\n }\n }\n setAttr(attr, val) {\n this._context[attr] = val;\n }\n arc(a0, a1, a2, a3, a4, a5) {\n this._context.arc(a0, a1, a2, a3, a4, a5);\n }\n arcTo(a0, a1, a2, a3, a4) {\n this._context.arcTo(a0, a1, a2, a3, a4);\n }\n beginPath() {\n this._context.beginPath();\n }\n bezierCurveTo(a0, a1, a2, a3, a4, a5) {\n this._context.bezierCurveTo(a0, a1, a2, a3, a4, a5);\n }\n clearRect(a0, a1, a2, a3) {\n this._context.clearRect(a0, a1, a2, a3);\n }\n clip() {\n this._context.clip();\n }\n closePath() {\n this._context.closePath();\n }\n createImageData(a0, a1) {\n var a = arguments;\n if (a.length === 2) {\n return this._context.createImageData(a0, a1);\n }\n else if (a.length === 1) {\n return this._context.createImageData(a0);\n }\n }\n createLinearGradient(a0, a1, a2, a3) {\n return this._context.createLinearGradient(a0, a1, a2, a3);\n }\n createPattern(a0, a1) {\n return this._context.createPattern(a0, a1);\n }\n createRadialGradient(a0, a1, a2, a3, a4, a5) {\n return this._context.createRadialGradient(a0, a1, a2, a3, a4, a5);\n }\n drawImage(a0, a1, a2, a3, a4, a5, a6, a7, a8) {\n var a = arguments, _context = this._context;\n if (a.length === 3) {\n _context.drawImage(a0, a1, a2);\n }\n else if (a.length === 5) {\n _context.drawImage(a0, a1, a2, a3, a4);\n }\n else if (a.length === 9) {\n _context.drawImage(a0, a1, a2, a3, a4, a5, a6, a7, a8);\n }\n }\n ellipse(a0, a1, a2, a3, a4, a5, a6, a7) {\n this._context.ellipse(a0, a1, a2, a3, a4, a5, a6, a7);\n }\n isPointInPath(x, y, path, fillRule) {\n if (path) {\n return this._context.isPointInPath(path, x, y, fillRule);\n }\n return this._context.isPointInPath(x, y, fillRule);\n }\n fill(path2d) {\n if (path2d) {\n this._context.fill(path2d);\n }\n else {\n this._context.fill();\n }\n }\n fillRect(x, y, width, height) {\n this._context.fillRect(x, y, width, height);\n }\n strokeRect(x, y, width, height) {\n this._context.strokeRect(x, y, width, height);\n }\n fillText(text, x, y, maxWidth) {\n if (maxWidth) {\n this._context.fillText(text, x, y, maxWidth);\n }\n else {\n this._context.fillText(text, x, y);\n }\n }\n measureText(text) {\n return this._context.measureText(text);\n }\n getImageData(a0, a1, a2, a3) {\n return this._context.getImageData(a0, a1, a2, a3);\n }\n lineTo(a0, a1) {\n this._context.lineTo(a0, a1);\n }\n moveTo(a0, a1) {\n this._context.moveTo(a0, a1);\n }\n rect(a0, a1, a2, a3) {\n this._context.rect(a0, a1, a2, a3);\n }\n putImageData(a0, a1, a2) {\n this._context.putImageData(a0, a1, a2);\n }\n quadraticCurveTo(a0, a1, a2, a3) {\n this._context.quadraticCurveTo(a0, a1, a2, a3);\n }\n restore() {\n this._context.restore();\n }\n rotate(a0) {\n this._context.rotate(a0);\n }\n save() {\n this._context.save();\n }\n scale(a0, a1) {\n this._context.scale(a0, a1);\n }\n setLineDash(a0) {\n if (this._context.setLineDash) {\n this._context.setLineDash(a0);\n }\n else if ('mozDash' in this._context) {\n this._context['mozDash'] = a0;\n }\n else if ('webkitLineDash' in this._context) {\n this._context['webkitLineDash'] = a0;\n }\n }\n getLineDash() {\n return this._context.getLineDash();\n }\n setTransform(a0, a1, a2, a3, a4, a5) {\n this._context.setTransform(a0, a1, a2, a3, a4, a5);\n }\n stroke(path2d) {\n if (path2d) {\n this._context.stroke(path2d);\n }\n else {\n this._context.stroke();\n }\n }\n strokeText(a0, a1, a2, a3) {\n this._context.strokeText(a0, a1, a2, a3);\n }\n transform(a0, a1, a2, a3, a4, a5) {\n this._context.transform(a0, a1, a2, a3, a4, a5);\n }\n translate(a0, a1) {\n this._context.translate(a0, a1);\n }\n _enableTrace() {\n var that = this, len = CONTEXT_METHODS.length, origSetter = this.setAttr, n, args;\n var func = function (methodName) {\n var origMethod = that[methodName], ret;\n that[methodName] = function () {\n args = simplifyArray(Array.prototype.slice.call(arguments, 0));\n ret = origMethod.apply(that, arguments);\n that._trace({\n method: methodName,\n args: args,\n });\n return ret;\n };\n };\n for (n = 0; n < len; n++) {\n func(CONTEXT_METHODS[n]);\n }\n that.setAttr = function () {\n origSetter.apply(that, arguments);\n var prop = arguments[0];\n var val = arguments[1];\n if (prop === 'shadowOffsetX' ||\n prop === 'shadowOffsetY' ||\n prop === 'shadowBlur') {\n val = val / this.canvas.getPixelRatio();\n }\n that._trace({\n property: prop,\n val: val,\n });\n };\n }\n _applyGlobalCompositeOperation(node) {\n const op = node.attrs.globalCompositeOperation;\n var def = !op || op === 'source-over';\n if (!def) {\n this.setAttr('globalCompositeOperation', op);\n }\n }\n}\nCONTEXT_PROPERTIES.forEach(function (prop) {\n Object.defineProperty(Context.prototype, prop, {\n get() {\n return this._context[prop];\n },\n set(val) {\n this._context[prop] = val;\n },\n });\n});\nexport class SceneContext extends Context {\n constructor(canvas) {\n super(canvas);\n this._context = canvas._canvas.getContext('2d');\n }\n _fillColor(shape) {\n var fill = shape.fill();\n this.setAttr('fillStyle', fill);\n shape._fillFunc(this);\n }\n _fillPattern(shape) {\n this.setAttr('fillStyle', shape._getFillPattern());\n shape._fillFunc(this);\n }\n _fillLinearGradient(shape) {\n var grd = shape._getLinearGradient();\n if (grd) {\n this.setAttr('fillStyle', grd);\n shape._fillFunc(this);\n }\n }\n _fillRadialGradient(shape) {\n const grd = shape._getRadialGradient();\n if (grd) {\n this.setAttr('fillStyle', grd);\n shape._fillFunc(this);\n }\n }\n _fill(shape) {\n const hasColor = shape.fill(), fillPriority = shape.getFillPriority();\n if (hasColor && fillPriority === 'color') {\n this._fillColor(shape);\n return;\n }\n const hasPattern = shape.getFillPatternImage();\n if (hasPattern && fillPriority === 'pattern') {\n this._fillPattern(shape);\n return;\n }\n const hasLinearGradient = shape.getFillLinearGradientColorStops();\n if (hasLinearGradient && fillPriority === 'linear-gradient') {\n this._fillLinearGradient(shape);\n return;\n }\n const hasRadialGradient = shape.getFillRadialGradientColorStops();\n if (hasRadialGradient && fillPriority === 'radial-gradient') {\n this._fillRadialGradient(shape);\n return;\n }\n if (hasColor) {\n this._fillColor(shape);\n }\n else if (hasPattern) {\n this._fillPattern(shape);\n }\n else if (hasLinearGradient) {\n this._fillLinearGradient(shape);\n }\n else if (hasRadialGradient) {\n this._fillRadialGradient(shape);\n }\n }\n _strokeLinearGradient(shape) {\n const start = shape.getStrokeLinearGradientStartPoint(), end = shape.getStrokeLinearGradientEndPoint(), colorStops = shape.getStrokeLinearGradientColorStops(), grd = this.createLinearGradient(start.x, start.y, end.x, end.y);\n if (colorStops) {\n for (var n = 0; n < colorStops.length; n += 2) {\n grd.addColorStop(colorStops[n], colorStops[n + 1]);\n }\n this.setAttr('strokeStyle', grd);\n }\n }\n _stroke(shape) {\n var dash = shape.dash(), strokeScaleEnabled = shape.getStrokeScaleEnabled();\n if (shape.hasStroke()) {\n if (!strokeScaleEnabled) {\n this.save();\n var pixelRatio = this.getCanvas().getPixelRatio();\n this.setTransform(pixelRatio, 0, 0, pixelRatio, 0, 0);\n }\n this._applyLineCap(shape);\n if (dash && shape.dashEnabled()) {\n this.setLineDash(dash);\n this.setAttr('lineDashOffset', shape.dashOffset());\n }\n this.setAttr('lineWidth', shape.strokeWidth());\n if (!shape.getShadowForStrokeEnabled()) {\n this.setAttr('shadowColor', 'rgba(0,0,0,0)');\n }\n var hasLinearGradient = shape.getStrokeLinearGradientColorStops();\n if (hasLinearGradient) {\n this._strokeLinearGradient(shape);\n }\n else {\n this.setAttr('strokeStyle', shape.stroke());\n }\n shape._strokeFunc(this);\n if (!strokeScaleEnabled) {\n this.restore();\n }\n }\n }\n _applyShadow(shape) {\n var _a, _b, _c;\n var color = (_a = shape.getShadowRGBA()) !== null && _a !== void 0 ? _a : 'black', blur = (_b = shape.getShadowBlur()) !== null && _b !== void 0 ? _b : 5, offset = (_c = shape.getShadowOffset()) !== null && _c !== void 0 ? _c : {\n x: 0,\n y: 0,\n }, scale = shape.getAbsoluteScale(), ratio = this.canvas.getPixelRatio(), scaleX = scale.x * ratio, scaleY = scale.y * ratio;\n this.setAttr('shadowColor', color);\n this.setAttr('shadowBlur', blur * Math.min(Math.abs(scaleX), Math.abs(scaleY)));\n this.setAttr('shadowOffsetX', offset.x * scaleX);\n this.setAttr('shadowOffsetY', offset.y * scaleY);\n }\n}\nexport class HitContext extends Context {\n constructor(canvas) {\n super(canvas);\n this._context = canvas._canvas.getContext('2d', {\n willReadFrequently: true,\n });\n }\n _fill(shape) {\n this.save();\n this.setAttr('fillStyle', shape.colorKey);\n shape._fillFuncHit(this);\n this.restore();\n }\n strokeShape(shape) {\n if (shape.hasHitStroke()) {\n this._stroke(shape);\n }\n }\n _stroke(shape) {\n if (shape.hasHitStroke()) {\n const strokeScaleEnabled = shape.getStrokeScaleEnabled();\n if (!strokeScaleEnabled) {\n this.save();\n var pixelRatio = this.getCanvas().getPixelRatio();\n this.setTransform(pixelRatio, 0, 0, pixelRatio, 0, 0);\n }\n this._applyLineCap(shape);\n var hitStrokeWidth = shape.hitStrokeWidth();\n var strokeWidth = hitStrokeWidth === 'auto' ? shape.strokeWidth() : hitStrokeWidth;\n this.setAttr('lineWidth', strokeWidth);\n this.setAttr('strokeStyle', shape.colorKey);\n shape._strokeFuncHit(this);\n if (!strokeScaleEnabled) {\n this.restore();\n }\n }\n }\n}\n","import { Util } from './Util.js';\nimport { SceneContext, HitContext } from './Context.js';\nimport { Konva } from './Global.js';\nimport { Factory } from './Factory.js';\nimport { getNumberValidator } from './Validators.js';\nvar _pixelRatio;\nfunction getDevicePixelRatio() {\n if (_pixelRatio) {\n return _pixelRatio;\n }\n var canvas = Util.createCanvasElement();\n var context = canvas.getContext('2d');\n _pixelRatio = (function () {\n var devicePixelRatio = Konva._global.devicePixelRatio || 1, backingStoreRatio = context.webkitBackingStorePixelRatio ||\n context.mozBackingStorePixelRatio ||\n context.msBackingStorePixelRatio ||\n context.oBackingStorePixelRatio ||\n context.backingStorePixelRatio ||\n 1;\n return devicePixelRatio / backingStoreRatio;\n })();\n Util.releaseCanvas(canvas);\n return _pixelRatio;\n}\nexport class Canvas {\n constructor(config) {\n this.pixelRatio = 1;\n this.width = 0;\n this.height = 0;\n this.isCache = false;\n var conf = config || {};\n var pixelRatio = conf.pixelRatio || Konva.pixelRatio || getDevicePixelRatio();\n this.pixelRatio = pixelRatio;\n this._canvas = Util.createCanvasElement();\n this._canvas.style.padding = '0';\n this._canvas.style.margin = '0';\n this._canvas.style.border = '0';\n this._canvas.style.background = 'transparent';\n this._canvas.style.position = 'absolute';\n this._canvas.style.top = '0';\n this._canvas.style.left = '0';\n }\n getContext() {\n return this.context;\n }\n getPixelRatio() {\n return this.pixelRatio;\n }\n setPixelRatio(pixelRatio) {\n var previousRatio = this.pixelRatio;\n this.pixelRatio = pixelRatio;\n this.setSize(this.getWidth() / previousRatio, this.getHeight() / previousRatio);\n }\n setWidth(width) {\n this.width = this._canvas.width = width * this.pixelRatio;\n this._canvas.style.width = width + 'px';\n var pixelRatio = this.pixelRatio, _context = this.getContext()._context;\n _context.scale(pixelRatio, pixelRatio);\n }\n setHeight(height) {\n this.height = this._canvas.height = height * this.pixelRatio;\n this._canvas.style.height = height + 'px';\n var pixelRatio = this.pixelRatio, _context = this.getContext()._context;\n _context.scale(pixelRatio, pixelRatio);\n }\n getWidth() {\n return this.width;\n }\n getHeight() {\n return this.height;\n }\n setSize(width, height) {\n this.setWidth(width || 0);\n this.setHeight(height || 0);\n }\n toDataURL(mimeType, quality) {\n try {\n return this._canvas.toDataURL(mimeType, quality);\n }\n catch (e) {\n try {\n return this._canvas.toDataURL();\n }\n catch (err) {\n Util.error('Unable to get data URL. ' +\n err.message +\n ' For more info read https://konvajs.org/docs/posts/Tainted_Canvas.html.');\n return '';\n }\n }\n }\n}\nFactory.addGetterSetter(Canvas, 'pixelRatio', undefined, getNumberValidator());\nexport class SceneCanvas extends Canvas {\n constructor(config = { width: 0, height: 0 }) {\n super(config);\n this.context = new SceneContext(this);\n this.setSize(config.width, config.height);\n }\n}\nexport class HitCanvas extends Canvas {\n constructor(config = { width: 0, height: 0 }) {\n super(config);\n this.hitCanvas = true;\n this.context = new HitContext(this);\n this.setSize(config.width, config.height);\n }\n}\n","import { Konva } from './Global.js';\nimport { Util } from './Util.js';\nexport const DD = {\n get isDragging() {\n var flag = false;\n DD._dragElements.forEach((elem) => {\n if (elem.dragStatus === 'dragging') {\n flag = true;\n }\n });\n return flag;\n },\n justDragged: false,\n get node() {\n var node;\n DD._dragElements.forEach((elem) => {\n node = elem.node;\n });\n return node;\n },\n _dragElements: new Map(),\n _drag(evt) {\n const nodesToFireEvents = [];\n DD._dragElements.forEach((elem, key) => {\n const { node } = elem;\n const stage = node.getStage();\n stage.setPointersPositions(evt);\n if (elem.pointerId === undefined) {\n elem.pointerId = Util._getFirstPointerId(evt);\n }\n const pos = stage._changedPointerPositions.find((pos) => pos.id === elem.pointerId);\n if (!pos) {\n return;\n }\n if (elem.dragStatus !== 'dragging') {\n var dragDistance = node.dragDistance();\n var distance = Math.max(Math.abs(pos.x - elem.startPointerPos.x), Math.abs(pos.y - elem.startPointerPos.y));\n if (distance < dragDistance) {\n return;\n }\n node.startDrag({ evt });\n if (!node.isDragging()) {\n return;\n }\n }\n node._setDragPosition(evt, elem);\n nodesToFireEvents.push(node);\n });\n nodesToFireEvents.forEach((node) => {\n node.fire('dragmove', {\n type: 'dragmove',\n target: node,\n evt: evt,\n }, true);\n });\n },\n _endDragBefore(evt) {\n const drawNodes = [];\n DD._dragElements.forEach((elem) => {\n const { node } = elem;\n const stage = node.getStage();\n if (evt) {\n stage.setPointersPositions(evt);\n }\n const pos = stage._changedPointerPositions.find((pos) => pos.id === elem.pointerId);\n if (!pos) {\n return;\n }\n if (elem.dragStatus === 'dragging' || elem.dragStatus === 'stopped') {\n DD.justDragged = true;\n Konva._mouseListenClick = false;\n Konva._touchListenClick = false;\n Konva._pointerListenClick = false;\n elem.dragStatus = 'stopped';\n }\n const drawNode = elem.node.getLayer() ||\n (elem.node instanceof Konva['Stage'] && elem.node);\n if (drawNode && drawNodes.indexOf(drawNode) === -1) {\n drawNodes.push(drawNode);\n }\n });\n drawNodes.forEach((drawNode) => {\n drawNode.draw();\n });\n },\n _endDragAfter(evt) {\n DD._dragElements.forEach((elem, key) => {\n if (elem.dragStatus === 'stopped') {\n elem.node.fire('dragend', {\n type: 'dragend',\n target: elem.node,\n evt: evt,\n }, true);\n }\n if (elem.dragStatus !== 'dragging') {\n DD._dragElements.delete(key);\n }\n });\n },\n};\nif (Konva.isBrowser) {\n window.addEventListener('mouseup', DD._endDragBefore, true);\n window.addEventListener('touchend', DD._endDragBefore, true);\n window.addEventListener('mousemove', DD._drag);\n window.addEventListener('touchmove', DD._drag);\n window.addEventListener('mouseup', DD._endDragAfter, false);\n window.addEventListener('touchend', DD._endDragAfter, false);\n}\n","import { Util, Transform } from './Util.js';\nimport { Factory } from './Factory.js';\nimport { SceneCanvas, HitCanvas } from './Canvas.js';\nimport { Konva } from './Global.js';\nimport { DD } from './DragAndDrop.js';\nimport { getNumberValidator, getStringValidator, getBooleanValidator, } from './Validators.js';\nvar ABSOLUTE_OPACITY = 'absoluteOpacity', ALL_LISTENERS = 'allEventListeners', ABSOLUTE_TRANSFORM = 'absoluteTransform', ABSOLUTE_SCALE = 'absoluteScale', CANVAS = 'canvas', CHANGE = 'Change', CHILDREN = 'children', KONVA = 'konva', LISTENING = 'listening', MOUSEENTER = 'mouseenter', MOUSELEAVE = 'mouseleave', NAME = 'name', SET = 'set', SHAPE = 'Shape', SPACE = ' ', STAGE = 'stage', TRANSFORM = 'transform', UPPER_STAGE = 'Stage', VISIBLE = 'visible', TRANSFORM_CHANGE_STR = [\n 'xChange.konva',\n 'yChange.konva',\n 'scaleXChange.konva',\n 'scaleYChange.konva',\n 'skewXChange.konva',\n 'skewYChange.konva',\n 'rotationChange.konva',\n 'offsetXChange.konva',\n 'offsetYChange.konva',\n 'transformsEnabledChange.konva',\n].join(SPACE);\nlet idCounter = 1;\nexport class Node {\n constructor(config) {\n this._id = idCounter++;\n this.eventListeners = {};\n this.attrs = {};\n this.index = 0;\n this._allEventListeners = null;\n this.parent = null;\n this._cache = new Map();\n this._attachedDepsListeners = new Map();\n this._lastPos = null;\n this._batchingTransformChange = false;\n this._needClearTransformCache = false;\n this._filterUpToDate = false;\n this._isUnderCache = false;\n this._dragEventId = null;\n this._shouldFireChangeEvents = false;\n this.setAttrs(config);\n this._shouldFireChangeEvents = true;\n }\n hasChildren() {\n return false;\n }\n _clearCache(attr) {\n if ((attr === TRANSFORM || attr === ABSOLUTE_TRANSFORM) &&\n this._cache.get(attr)) {\n this._cache.get(attr).dirty = true;\n }\n else if (attr) {\n this._cache.delete(attr);\n }\n else {\n this._cache.clear();\n }\n }\n _getCache(attr, privateGetter) {\n var cache = this._cache.get(attr);\n var isTransform = attr === TRANSFORM || attr === ABSOLUTE_TRANSFORM;\n var invalid = cache === undefined || (isTransform && cache.dirty === true);\n if (invalid) {\n cache = privateGetter.call(this);\n this._cache.set(attr, cache);\n }\n return cache;\n }\n _calculate(name, deps, getter) {\n if (!this._attachedDepsListeners.get(name)) {\n const depsString = deps.map((dep) => dep + 'Change.konva').join(SPACE);\n this.on(depsString, () => {\n this._clearCache(name);\n });\n this._attachedDepsListeners.set(name, true);\n }\n return this._getCache(name, getter);\n }\n _getCanvasCache() {\n return this._cache.get(CANVAS);\n }\n _clearSelfAndDescendantCache(attr) {\n this._clearCache(attr);\n if (attr === ABSOLUTE_TRANSFORM) {\n this.fire('absoluteTransformChange');\n }\n }\n clearCache() {\n if (this._cache.has(CANVAS)) {\n const { scene, filter, hit } = this._cache.get(CANVAS);\n Util.releaseCanvas(scene, filter, hit);\n this._cache.delete(CANVAS);\n }\n this._clearSelfAndDescendantCache();\n this._requestDraw();\n return this;\n }\n cache(config) {\n var conf = config || {};\n var rect = {};\n if (conf.x === undefined ||\n conf.y === undefined ||\n conf.width === undefined ||\n conf.height === undefined) {\n rect = this.getClientRect({\n skipTransform: true,\n relativeTo: this.getParent(),\n });\n }\n var width = Math.ceil(conf.width || rect.width), height = Math.ceil(conf.height || rect.height), pixelRatio = conf.pixelRatio, x = conf.x === undefined ? Math.floor(rect.x) : conf.x, y = conf.y === undefined ? Math.floor(rect.y) : conf.y, offset = conf.offset || 0, drawBorder = conf.drawBorder || false, hitCanvasPixelRatio = conf.hitCanvasPixelRatio || 1;\n if (!width || !height) {\n Util.error('Can not cache the node. Width or height of the node equals 0. Caching is skipped.');\n return;\n }\n width += offset * 2 + 1;\n height += offset * 2 + 1;\n x -= offset;\n y -= offset;\n var cachedSceneCanvas = new SceneCanvas({\n pixelRatio: pixelRatio,\n width: width,\n height: height,\n }), cachedFilterCanvas = new SceneCanvas({\n pixelRatio: pixelRatio,\n width: 0,\n height: 0,\n }), cachedHitCanvas = new HitCanvas({\n pixelRatio: hitCanvasPixelRatio,\n width: width,\n height: height,\n }), sceneContext = cachedSceneCanvas.getContext(), hitContext = cachedHitCanvas.getContext();\n cachedHitCanvas.isCache = true;\n cachedSceneCanvas.isCache = true;\n this._cache.delete(CANVAS);\n this._filterUpToDate = false;\n if (conf.imageSmoothingEnabled === false) {\n cachedSceneCanvas.getContext()._context.imageSmoothingEnabled = false;\n cachedFilterCanvas.getContext()._context.imageSmoothingEnabled = false;\n }\n sceneContext.save();\n hitContext.save();\n sceneContext.translate(-x, -y);\n hitContext.translate(-x, -y);\n this._isUnderCache = true;\n this._clearSelfAndDescendantCache(ABSOLUTE_OPACITY);\n this._clearSelfAndDescendantCache(ABSOLUTE_SCALE);\n this.drawScene(cachedSceneCanvas, this);\n this.drawHit(cachedHitCanvas, this);\n this._isUnderCache = false;\n sceneContext.restore();\n hitContext.restore();\n if (drawBorder) {\n sceneContext.save();\n sceneContext.beginPath();\n sceneContext.rect(0, 0, width, height);\n sceneContext.closePath();\n sceneContext.setAttr('strokeStyle', 'red');\n sceneContext.setAttr('lineWidth', 5);\n sceneContext.stroke();\n sceneContext.restore();\n }\n this._cache.set(CANVAS, {\n scene: cachedSceneCanvas,\n filter: cachedFilterCanvas,\n hit: cachedHitCanvas,\n x: x,\n y: y,\n });\n this._requestDraw();\n return this;\n }\n isCached() {\n return this._cache.has(CANVAS);\n }\n getClientRect(config) {\n throw new Error('abstract \"getClientRect\" method call');\n }\n _transformedRect(rect, top) {\n var points = [\n { x: rect.x, y: rect.y },\n { x: rect.x + rect.width, y: rect.y },\n { x: rect.x + rect.width, y: rect.y + rect.height },\n { x: rect.x, y: rect.y + rect.height },\n ];\n var minX, minY, maxX, maxY;\n var trans = this.getAbsoluteTransform(top);\n points.forEach(function (point) {\n var transformed = trans.point(point);\n if (minX === undefined) {\n minX = maxX = transformed.x;\n minY = maxY = transformed.y;\n }\n minX = Math.min(minX, transformed.x);\n minY = Math.min(minY, transformed.y);\n maxX = Math.max(maxX, transformed.x);\n maxY = Math.max(maxY, transformed.y);\n });\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY,\n };\n }\n _drawCachedSceneCanvas(context) {\n context.save();\n context._applyOpacity(this);\n context._applyGlobalCompositeOperation(this);\n const canvasCache = this._getCanvasCache();\n context.translate(canvasCache.x, canvasCache.y);\n var cacheCanvas = this._getCachedSceneCanvas();\n var ratio = cacheCanvas.pixelRatio;\n context.drawImage(cacheCanvas._canvas, 0, 0, cacheCanvas.width / ratio, cacheCanvas.height / ratio);\n context.restore();\n }\n _drawCachedHitCanvas(context) {\n var canvasCache = this._getCanvasCache(), hitCanvas = canvasCache.hit;\n context.save();\n context.translate(canvasCache.x, canvasCache.y);\n context.drawImage(hitCanvas._canvas, 0, 0, hitCanvas.width / hitCanvas.pixelRatio, hitCanvas.height / hitCanvas.pixelRatio);\n context.restore();\n }\n _getCachedSceneCanvas() {\n var filters = this.filters(), cachedCanvas = this._getCanvasCache(), sceneCanvas = cachedCanvas.scene, filterCanvas = cachedCanvas.filter, filterContext = filterCanvas.getContext(), len, imageData, n, filter;\n if (filters) {\n if (!this._filterUpToDate) {\n var ratio = sceneCanvas.pixelRatio;\n filterCanvas.setSize(sceneCanvas.width / sceneCanvas.pixelRatio, sceneCanvas.height / sceneCanvas.pixelRatio);\n try {\n len = filters.length;\n filterContext.clear();\n filterContext.drawImage(sceneCanvas._canvas, 0, 0, sceneCanvas.getWidth() / ratio, sceneCanvas.getHeight() / ratio);\n imageData = filterContext.getImageData(0, 0, filterCanvas.getWidth(), filterCanvas.getHeight());\n for (n = 0; n < len; n++) {\n filter = filters[n];\n if (typeof filter !== 'function') {\n Util.error('Filter should be type of function, but got ' +\n typeof filter +\n ' instead. Please check correct filters');\n continue;\n }\n filter.call(this, imageData);\n filterContext.putImageData(imageData, 0, 0);\n }\n }\n catch (e) {\n Util.error('Unable to apply filter. ' +\n e.message +\n ' This post my help you https://konvajs.org/docs/posts/Tainted_Canvas.html.');\n }\n this._filterUpToDate = true;\n }\n return filterCanvas;\n }\n return sceneCanvas;\n }\n on(evtStr, handler) {\n this._cache && this._cache.delete(ALL_LISTENERS);\n if (arguments.length === 3) {\n return this._delegate.apply(this, arguments);\n }\n var events = evtStr.split(SPACE), len = events.length, n, event, parts, baseEvent, name;\n for (n = 0; n < len; n++) {\n event = events[n];\n parts = event.split('.');\n baseEvent = parts[0];\n name = parts[1] || '';\n if (!this.eventListeners[baseEvent]) {\n this.eventListeners[baseEvent] = [];\n }\n this.eventListeners[baseEvent].push({\n name: name,\n handler: handler,\n });\n }\n return this;\n }\n off(evtStr, callback) {\n var events = (evtStr || '').split(SPACE), len = events.length, n, t, event, parts, baseEvent, name;\n this._cache && this._cache.delete(ALL_LISTENERS);\n if (!evtStr) {\n for (t in this.eventListeners) {\n this._off(t);\n }\n }\n for (n = 0; n < len; n++) {\n event = events[n];\n parts = event.split('.');\n baseEvent = parts[0];\n name = parts[1];\n if (baseEvent) {\n if (this.eventListeners[baseEvent]) {\n this._off(baseEvent, name, callback);\n }\n }\n else {\n for (t in this.eventListeners) {\n this._off(t, name, callback);\n }\n }\n }\n return this;\n }\n dispatchEvent(evt) {\n var e = {\n target: this,\n type: evt.type,\n evt: evt,\n };\n this.fire(evt.type, e);\n return this;\n }\n addEventListener(type, handler) {\n this.on(type, function (evt) {\n handler.call(this, evt.evt);\n });\n return this;\n }\n removeEventListener(type) {\n this.off(type);\n return this;\n }\n _delegate(event, selector, handler) {\n var stopNode = this;\n this.on(event, function (evt) {\n var targets = evt.target.findAncestors(selector, true, stopNode);\n for (var i = 0; i < targets.length; i++) {\n evt = Util.cloneObject(evt);\n evt.currentTarget = targets[i];\n handler.call(targets[i], evt);\n }\n });\n }\n remove() {\n if (this.isDragging()) {\n this.stopDrag();\n }\n DD._dragElements.delete(this._id);\n this._remove();\n return this;\n }\n _clearCaches() {\n this._clearSelfAndDescendantCache(ABSOLUTE_TRANSFORM);\n this._clearSelfAndDescendantCache(ABSOLUTE_OPACITY);\n this._clearSelfAndDescendantCache(ABSOLUTE_SCALE);\n this._clearSelfAndDescendantCache(STAGE);\n this._clearSelfAndDescendantCache(VISIBLE);\n this._clearSelfAndDescendantCache(LISTENING);\n }\n _remove() {\n this._clearCaches();\n var parent = this.getParent();\n if (parent && parent.children) {\n parent.children.splice(this.index, 1);\n parent._setChildrenIndices();\n this.parent = null;\n }\n }\n destroy() {\n this.remove();\n this.clearCache();\n return this;\n }\n getAttr(attr) {\n var method = 'get' + Util._capitalize(attr);\n if (Util._isFunction(this[method])) {\n return this[method]();\n }\n return this.attrs[attr];\n }\n getAncestors() {\n var parent = this.getParent(), ancestors = [];\n while (parent) {\n ancestors.push(parent);\n parent = parent.getParent();\n }\n return ancestors;\n }\n getAttrs() {\n return this.attrs || {};\n }\n setAttrs(config) {\n this._batchTransformChanges(() => {\n var key, method;\n if (!config) {\n return this;\n }\n for (key in config) {\n if (key === CHILDREN) {\n continue;\n }\n method = SET + Util._capitalize(key);\n if (Util._isFunction(this[method])) {\n this[method](config[key]);\n }\n else {\n this._setAttr(key, config[key]);\n }\n }\n });\n return this;\n }\n isListening() {\n return this._getCache(LISTENING, this._isListening);\n }\n _isListening(relativeTo) {\n const listening = this.listening();\n if (!listening) {\n return false;\n }\n const parent = this.getParent();\n if (parent && parent !== relativeTo && this !== relativeTo) {\n return parent._isListening(relativeTo);\n }\n else {\n return true;\n }\n }\n isVisible() {\n return this._getCache(VISIBLE, this._isVisible);\n }\n _isVisible(relativeTo) {\n const visible = this.visible();\n if (!visible) {\n return false;\n }\n const parent = this.getParent();\n if (parent && parent !== relativeTo && this !== relativeTo) {\n return parent._isVisible(relativeTo);\n }\n else {\n return true;\n }\n }\n shouldDrawHit(top, skipDragCheck = false) {\n if (top) {\n return this._isVisible(top) && this._isListening(top);\n }\n var layer = this.getLayer();\n var layerUnderDrag = false;\n DD._dragElements.forEach((elem) => {\n if (elem.dragStatus !== 'dragging') {\n return;\n }\n else if (elem.node.nodeType === 'Stage') {\n layerUnderDrag = true;\n }\n else if (elem.node.getLayer() === layer) {\n layerUnderDrag = true;\n }\n });\n var dragSkip = !skipDragCheck && !Konva.hitOnDragEnabled && layerUnderDrag;\n return this.isListening() && this.isVisible() && !dragSkip;\n }\n show() {\n this.visible(true);\n return this;\n }\n hide() {\n this.visible(false);\n return this;\n }\n getZIndex() {\n return this.index || 0;\n }\n getAbsoluteZIndex() {\n var depth = this.getDepth(), that = this, index = 0, nodes, len, n, child;\n function addChildren(children) {\n nodes = [];\n len = children.length;\n for (n = 0; n < len; n++) {\n child = children[n];\n index++;\n if (child.nodeType !== SHAPE) {\n nodes = nodes.concat(child.getChildren().slice());\n }\n if (child._id === that._id) {\n n = len;\n }\n }\n if (nodes.length > 0 && nodes[0].getDepth() <= depth) {\n addChildren(nodes);\n }\n }\n if (that.nodeType !== UPPER_STAGE) {\n addChildren(that.getStage().getChildren());\n }\n return index;\n }\n getDepth() {\n var depth = 0, parent = this.parent;\n while (parent) {\n depth++;\n parent = parent.parent;\n }\n return depth;\n }\n _batchTransformChanges(func) {\n this._batchingTransformChange = true;\n func();\n this._batchingTransformChange = false;\n if (this._needClearTransformCache) {\n this._clearCache(TRANSFORM);\n this._clearSelfAndDescendantCache(ABSOLUTE_TRANSFORM);\n }\n this._needClearTransformCache = false;\n }\n setPosition(pos) {\n this._batchTransformChanges(() => {\n this.x(pos.x);\n this.y(pos.y);\n });\n return this;\n }\n getPosition() {\n return {\n x: this.x(),\n y: this.y(),\n };\n }\n getRelativePointerPosition() {\n if (!this.getStage()) {\n return null;\n }\n var pos = this.getStage().getPointerPosition();\n if (!pos) {\n return null;\n }\n var transform = this.getAbsoluteTransform().copy();\n transform.invert();\n return transform.point(pos);\n }\n getAbsolutePosition(top) {\n let haveCachedParent = false;\n let parent = this.parent;\n while (parent) {\n if (parent.isCached()) {\n haveCachedParent = true;\n break;\n }\n parent = parent.parent;\n }\n if (haveCachedParent && !top) {\n top = true;\n }\n var absoluteMatrix = this.getAbsoluteTransform(top).getMatrix(), absoluteTransform = new Transform(), offset = this.offset();\n absoluteTransform.m = absoluteMatrix.slice();\n absoluteTransform.translate(offset.x, offset.y);\n return absoluteTransform.getTranslation();\n }\n setAbsolutePosition(pos) {\n var origTrans = this._clearTransform();\n this.attrs.x = origTrans.x;\n this.attrs.y = origTrans.y;\n delete origTrans.x;\n delete origTrans.y;\n this._clearCache(TRANSFORM);\n var it = this._getAbsoluteTransform().copy();\n it.invert();\n it.translate(pos.x, pos.y);\n pos = {\n x: this.attrs.x + it.getTranslation().x,\n y: this.attrs.y + it.getTranslation().y,\n };\n this._setTransform(origTrans);\n this.setPosition({ x: pos.x, y: pos.y });\n this._clearCache(TRANSFORM);\n this._clearSelfAndDescendantCache(ABSOLUTE_TRANSFORM);\n return this;\n }\n _setTransform(trans) {\n var key;\n for (key in trans) {\n this.attrs[key] = trans[key];\n }\n }\n _clearTransform() {\n var trans = {\n x: this.x(),\n y: this.y(),\n rotation: this.rotation(),\n scaleX: this.scaleX(),\n scaleY: this.scaleY(),\n offsetX: this.offsetX(),\n offsetY: this.offsetY(),\n skewX: this.skewX(),\n skewY: this.skewY(),\n };\n this.attrs.x = 0;\n this.attrs.y = 0;\n this.attrs.rotation = 0;\n this.attrs.scaleX = 1;\n this.attrs.scaleY = 1;\n this.attrs.offsetX = 0;\n this.attrs.offsetY = 0;\n this.attrs.skewX = 0;\n this.attrs.skewY = 0;\n return trans;\n }\n move(change) {\n var changeX = change.x, changeY = change.y, x = this.x(), y = this.y();\n if (changeX !== undefined) {\n x += changeX;\n }\n if (changeY !== undefined) {\n y += changeY;\n }\n this.setPosition({ x: x, y: y });\n return this;\n }\n _eachAncestorReverse(func, top) {\n var family = [], parent = this.getParent(), len, n;\n if (top && top._id === this._id) {\n return;\n }\n family.unshift(this);\n while (parent && (!top || parent._id !== top._id)) {\n family.unshift(parent);\n parent = parent.parent;\n }\n len = family.length;\n for (n = 0; n < len; n++) {\n func(family[n]);\n }\n }\n rotate(theta) {\n this.rotation(this.rotation() + theta);\n return this;\n }\n moveToTop() {\n if (!this.parent) {\n Util.warn('Node has no parent. moveToTop function is ignored.');\n return false;\n }\n var index = this.index, len = this.parent.getChildren().length;\n if (index < len - 1) {\n this.parent.children.splice(index, 1);\n this.parent.children.push(this);\n this.parent._setChildrenIndices();\n return true;\n }\n return false;\n }\n moveUp() {\n if (!this.parent) {\n Util.warn('Node has no parent. moveUp function is ignored.');\n return false;\n }\n var index = this.index, len = this.parent.getChildren().length;\n if (index < len - 1) {\n this.parent.children.splice(index, 1);\n this.parent.children.splice(index + 1, 0, this);\n this.parent._setChildrenIndices();\n return true;\n }\n return false;\n }\n moveDown() {\n if (!this.parent) {\n Util.warn('Node has no parent. moveDown function is ignored.');\n return false;\n }\n var index = this.index;\n if (index > 0) {\n this.parent.children.splice(index, 1);\n this.parent.children.splice(index - 1, 0, this);\n this.parent._setChildrenIndices();\n return true;\n }\n return false;\n }\n moveToBottom() {\n if (!this.parent) {\n Util.warn('Node has no parent. moveToBottom function is ignored.');\n return false;\n }\n var index = this.index;\n if (index > 0) {\n this.parent.children.splice(index, 1);\n this.parent.children.unshift(this);\n this.parent._setChildrenIndices();\n return true;\n }\n return false;\n }\n setZIndex(zIndex) {\n if (!this.parent) {\n Util.warn('Node has no parent. zIndex parameter is ignored.');\n return this;\n }\n if (zIndex < 0 || zIndex >= this.parent.children.length) {\n Util.warn('Unexpected value ' +\n zIndex +\n ' for zIndex property. zIndex is just index of a node in children of its parent. Expected value is from 0 to ' +\n (this.parent.children.length - 1) +\n '.');\n }\n var index = this.index;\n this.parent.children.splice(index, 1);\n this.parent.children.splice(zIndex, 0, this);\n this.parent._setChildrenIndices();\n return this;\n }\n getAbsoluteOpacity() {\n return this._getCache(ABSOLUTE_OPACITY, this._getAbsoluteOpacity);\n }\n _getAbsoluteOpacity() {\n var absOpacity = this.opacity();\n var parent = this.getParent();\n if (parent && !parent._isUnderCache) {\n absOpacity *= parent.getAbsoluteOpacity();\n }\n return absOpacity;\n }\n moveTo(newContainer) {\n if (this.getParent() !== newContainer) {\n this._remove();\n newContainer.add(this);\n }\n return this;\n }\n toObject() {\n var obj = {}, attrs = this.getAttrs(), key, val, getter, defaultValue, nonPlainObject;\n obj.attrs = {};\n for (key in attrs) {\n val = attrs[key];\n nonPlainObject =\n Util.isObject(val) && !Util._isPlainObject(val) && !Util._isArray(val);\n if (nonPlainObject) {\n continue;\n }\n getter = typeof this[key] === 'function' && this[key];\n delete attrs[key];\n defaultValue = getter ? getter.call(this) : null;\n attrs[key] = val;\n if (defaultValue !== val) {\n obj.attrs[key] = val;\n }\n }\n obj.className = this.getClassName();\n return Util._prepareToStringify(obj);\n }\n toJSON() {\n return JSON.stringify(this.toObject());\n }\n getParent() {\n return this.parent;\n }\n findAncestors(selector, includeSelf, stopNode) {\n var res = [];\n if (includeSelf && this._isMatch(selector)) {\n res.push(this);\n }\n var ancestor = this.parent;\n while (ancestor) {\n if (ancestor === stopNode) {\n return res;\n }\n if (ancestor._isMatch(selector)) {\n res.push(ancestor);\n }\n ancestor = ancestor.parent;\n }\n return res;\n }\n isAncestorOf(node) {\n return false;\n }\n findAncestor(selector, includeSelf, stopNode) {\n return this.findAncestors(selector, includeSelf, stopNode)[0];\n }\n _isMatch(selector) {\n if (!selector) {\n return false;\n }\n if (typeof selector === 'function') {\n return selector(this);\n }\n var selectorArr = selector.replace(/ /g, '').split(','), len = selectorArr.length, n, sel;\n for (n = 0; n < len; n++) {\n sel = selectorArr[n];\n if (!Util.isValidSelector(sel)) {\n Util.warn('Selector \"' +\n sel +\n '\" is invalid. Allowed selectors examples are \"#foo\", \".bar\" or \"Group\".');\n Util.warn('If you have a custom shape with such className, please change it to start with upper letter like \"Triangle\".');\n Util.warn('Konva is awesome, right?');\n }\n if (sel.charAt(0) === '#') {\n if (this.id() === sel.slice(1)) {\n return true;\n }\n }\n else if (sel.charAt(0) === '.') {\n if (this.hasName(sel.slice(1))) {\n return true;\n }\n }\n else if (this.className === sel || this.nodeType === sel) {\n return true;\n }\n }\n return false;\n }\n getLayer() {\n var parent = this.getParent();\n return parent ? parent.getLayer() : null;\n }\n getStage() {\n return this._getCache(STAGE, this._getStage);\n }\n _getStage() {\n var parent = this.getParent();\n if (parent) {\n return parent.getStage();\n }\n else {\n return undefined;\n }\n }\n fire(eventType, evt = {}, bubble) {\n evt.target = evt.target || this;\n if (bubble) {\n this._fireAndBubble(eventType, evt);\n }\n else {\n this._fire(eventType, evt);\n }\n return this;\n }\n getAbsoluteTransform(top) {\n if (top) {\n return this._getAbsoluteTransform(top);\n }\n else {\n return this._getCache(ABSOLUTE_TRANSFORM, this._getAbsoluteTransform);\n }\n }\n _getAbsoluteTransform(top) {\n var at;\n if (top) {\n at = new Transform();\n this._eachAncestorReverse(function (node) {\n var transformsEnabled = node.transformsEnabled();\n if (transformsEnabled === 'all') {\n at.multiply(node.getTransform());\n }\n else if (transformsEnabled === 'position') {\n at.translate(node.x() - node.offsetX(), node.y() - node.offsetY());\n }\n }, top);\n return at;\n }\n else {\n at = this._cache.get(ABSOLUTE_TRANSFORM) || new Transform();\n if (this.parent) {\n this.parent.getAbsoluteTransform().copyInto(at);\n }\n else {\n at.reset();\n }\n var transformsEnabled = this.transformsEnabled();\n if (transformsEnabled === 'all') {\n at.multiply(this.getTransform());\n }\n else if (transformsEnabled === 'position') {\n const x = this.attrs.x || 0;\n const y = this.attrs.y || 0;\n const offsetX = this.attrs.offsetX || 0;\n const offsetY = this.attrs.offsetY || 0;\n at.translate(x - offsetX, y - offsetY);\n }\n at.dirty = false;\n return at;\n }\n }\n getAbsoluteScale(top) {\n var parent = this;\n while (parent) {\n if (parent._isUnderCache) {\n top = parent;\n }\n parent = parent.getParent();\n }\n const transform = this.getAbsoluteTransform(top);\n const attrs = transform.decompose();\n return {\n x: attrs.scaleX,\n y: attrs.scaleY,\n };\n }\n getAbsoluteRotation() {\n return this.getAbsoluteTransform().decompose().rotation;\n }\n getTransform() {\n return this._getCache(TRANSFORM, this._getTransform);\n }\n _getTransform() {\n var _a, _b;\n var m = this._cache.get(TRANSFORM) || new Transform();\n m.reset();\n var x = this.x(), y = this.y(), rotation = Konva.getAngle(this.rotation()), scaleX = (_a = this.attrs.scaleX) !== null && _a !== void 0 ? _a : 1, scaleY = (_b = this.attrs.scaleY) !== null && _b !== void 0 ? _b : 1, skewX = this.attrs.skewX || 0, skewY = this.attrs.skewY || 0, offsetX = this.attrs.offsetX || 0, offsetY = this.attrs.offsetY || 0;\n if (x !== 0 || y !== 0) {\n m.translate(x, y);\n }\n if (rotation !== 0) {\n m.rotate(rotation);\n }\n if (skewX !== 0 || skewY !== 0) {\n m.skew(skewX, skewY);\n }\n if (scaleX !== 1 || scaleY !== 1) {\n m.scale(scaleX, scaleY);\n }\n if (offsetX !== 0 || offsetY !== 0) {\n m.translate(-1 * offsetX, -1 * offsetY);\n }\n m.dirty = false;\n return m;\n }\n clone(obj) {\n var attrs = Util.cloneObject(this.attrs), key, allListeners, len, n, listener;\n for (key in obj) {\n attrs[key] = obj[key];\n }\n var node = new this.constructor(attrs);\n for (key in this.eventListeners) {\n allListeners = this.eventListeners[key];\n len = allListeners.length;\n for (n = 0; n < len; n++) {\n listener = allListeners[n];\n if (listener.name.indexOf(KONVA) < 0) {\n if (!node.eventListeners[key]) {\n node.eventListeners[key] = [];\n }\n node.eventListeners[key].push(listener);\n }\n }\n }\n return node;\n }\n _toKonvaCanvas(config) {\n config = config || {};\n var box = this.getClientRect();\n var stage = this.getStage(), x = config.x !== undefined ? config.x : Math.floor(box.x), y = config.y !== undefined ? config.y : Math.floor(box.y), pixelRatio = config.pixelRatio || 1, canvas = new SceneCanvas({\n width: config.width || Math.ceil(box.width) || (stage ? stage.width() : 0),\n height: config.height ||\n Math.ceil(box.height) ||\n (stage ? stage.height() : 0),\n pixelRatio: pixelRatio,\n }), context = canvas.getContext();\n if (config.imageSmoothingEnabled === false) {\n context._context.imageSmoothingEnabled = false;\n }\n context.save();\n if (x || y) {\n context.translate(-1 * x, -1 * y);\n }\n this.drawScene(canvas);\n context.restore();\n return canvas;\n }\n toCanvas(config) {\n return this._toKonvaCanvas(config)._canvas;\n }\n toDataURL(config) {\n config = config || {};\n var mimeType = config.mimeType || null, quality = config.quality || null;\n var url = this._toKonvaCanvas(config).toDataURL(mimeType, quality);\n if (config.callback) {\n config.callback(url);\n }\n return url;\n }\n toImage(config) {\n return new Promise((resolve, reject) => {\n try {\n const callback = config === null || config === void 0 ? void 0 : config.callback;\n if (callback)\n delete config.callback;\n Util._urlToImage(this.toDataURL(config), function (img) {\n resolve(img);\n callback === null || callback === void 0 ? void 0 : callback(img);\n });\n }\n catch (err) {\n reject(err);\n }\n });\n }\n toBlob(config) {\n return new Promise((resolve, reject) => {\n try {\n const callback = config === null || config === void 0 ? void 0 : config.callback;\n if (callback)\n delete config.callback;\n this.toCanvas(config).toBlob((blob) => {\n resolve(blob);\n callback === null || callback === void 0 ? void 0 : callback(blob);\n });\n }\n catch (err) {\n reject(err);\n }\n });\n }\n setSize(size) {\n this.width(size.width);\n this.height(size.height);\n return this;\n }\n getSize() {\n return {\n width: this.width(),\n height: this.height(),\n };\n }\n getClassName() {\n return this.className || this.nodeType;\n }\n getType() {\n return this.nodeType;\n }\n getDragDistance() {\n if (this.attrs.dragDistance !== undefined) {\n return this.attrs.dragDistance;\n }\n else if (this.parent) {\n return this.parent.getDragDistance();\n }\n else {\n return Konva.dragDistance;\n }\n }\n _off(type, name, callback) {\n var evtListeners = this.eventListeners[type], i, evtName, handler;\n for (i = 0; i < evtListeners.length; i++) {\n evtName = evtListeners[i].name;\n handler = evtListeners[i].handler;\n if ((evtName !== 'konva' || name === 'konva') &&\n (!name || evtName === name) &&\n (!callback || callback === handler)) {\n evtListeners.splice(i, 1);\n if (evtListeners.length === 0) {\n delete this.eventListeners[type];\n break;\n }\n i--;\n }\n }\n }\n _fireChangeEvent(attr, oldVal, newVal) {\n this._fire(attr + CHANGE, {\n oldVal: oldVal,\n newVal: newVal,\n });\n }\n addName(name) {\n if (!this.hasName(name)) {\n var oldName = this.name();\n var newName = oldName ? oldName + ' ' + name : name;\n this.name(newName);\n }\n return this;\n }\n hasName(name) {\n if (!name) {\n return false;\n }\n const fullName = this.name();\n if (!fullName) {\n return false;\n }\n var names = (fullName || '').split(/\\s/g);\n return names.indexOf(name) !== -1;\n }\n removeName(name) {\n var names = (this.name() || '').split(/\\s/g);\n var index = names.indexOf(name);\n if (index !== -1) {\n names.splice(index, 1);\n this.name(names.join(' '));\n }\n return this;\n }\n setAttr(attr, val) {\n var func = this[SET + Util._capitalize(attr)];\n if (Util._isFunction(func)) {\n func.call(this, val);\n }\n else {\n this._setAttr(attr, val);\n }\n return this;\n }\n _requestDraw() {\n if (Konva.autoDrawEnabled) {\n const drawNode = this.getLayer() || this.getStage();\n drawNode === null || drawNode === void 0 ? void 0 : drawNode.batchDraw();\n }\n }\n _setAttr(key, val) {\n var oldVal = this.attrs[key];\n if (oldVal === val && !Util.isObject(val)) {\n return;\n }\n if (val === undefined || val === null) {\n delete this.attrs[key];\n }\n else {\n this.attrs[key] = val;\n }\n if (this._shouldFireChangeEvents) {\n this._fireChangeEvent(key, oldVal, val);\n }\n this._requestDraw();\n }\n _setComponentAttr(key, component, val) {\n var oldVal;\n if (val !== undefined) {\n oldVal = this.attrs[key];\n if (!oldVal) {\n this.attrs[key] = this.getAttr(key);\n }\n this.attrs[key][component] = val;\n this._fireChangeEvent(key, oldVal, val);\n }\n }\n _fireAndBubble(eventType, evt, compareShape) {\n if (evt && this.nodeType === SHAPE) {\n evt.target = this;\n }\n var shouldStop = (eventType === MOUSEENTER || eventType === MOUSELEAVE) &&\n ((compareShape &&\n (this === compareShape ||\n (this.isAncestorOf && this.isAncestorOf(compareShape)))) ||\n (this.nodeType === 'Stage' && !compareShape));\n if (!shouldStop) {\n this._fire(eventType, evt);\n var stopBubble = (eventType === MOUSEENTER || eventType === MOUSELEAVE) &&\n compareShape &&\n compareShape.isAncestorOf &&\n compareShape.isAncestorOf(this) &&\n !compareShape.isAncestorOf(this.parent);\n if (((evt && !evt.cancelBubble) || !evt) &&\n this.parent &&\n this.parent.isListening() &&\n !stopBubble) {\n if (compareShape && compareShape.parent) {\n this._fireAndBubble.call(this.parent, eventType, evt, compareShape);\n }\n else {\n this._fireAndBubble.call(this.parent, eventType, evt);\n }\n }\n }\n }\n _getProtoListeners(eventType) {\n let listeners = this._cache.get(ALL_LISTENERS);\n if (!listeners) {\n listeners = {};\n let obj = Object.getPrototypeOf(this);\n while (obj) {\n if (!obj.eventListeners) {\n obj = Object.getPrototypeOf(obj);\n continue;\n }\n for (var event in obj.eventListeners) {\n const newEvents = obj.eventListeners[event];\n const oldEvents = listeners[event] || [];\n listeners[event] = newEvents.concat(oldEvents);\n }\n obj = Object.getPrototypeOf(obj);\n }\n this._cache.set(ALL_LISTENERS, listeners);\n }\n return listeners[eventType];\n }\n _fire(eventType, evt) {\n evt = evt || {};\n evt.currentTarget = this;\n evt.type = eventType;\n const topListeners = this._getProtoListeners(eventType);\n if (topListeners) {\n for (var i = 0; i < topListeners.length; i++) {\n topListeners[i].handler.call(this, evt);\n }\n }\n const selfListeners = this.eventListeners[eventType];\n if (selfListeners) {\n for (var i = 0; i < selfListeners.length; i++) {\n selfListeners[i].handler.call(this, evt);\n }\n }\n }\n draw() {\n this.drawScene();\n this.drawHit();\n return this;\n }\n _createDragElement(evt) {\n var pointerId = evt ? evt.pointerId : undefined;\n var stage = this.getStage();\n var ap = this.getAbsolutePosition();\n var pos = stage._getPointerById(pointerId) ||\n stage._changedPointerPositions[0] ||\n ap;\n DD._dragElements.set(this._id, {\n node: this,\n startPointerPos: pos,\n offset: {\n x: pos.x - ap.x,\n y: pos.y - ap.y,\n },\n dragStatus: 'ready',\n pointerId,\n });\n }\n startDrag(evt, bubbleEvent = true) {\n if (!DD._dragElements.has(this._id)) {\n this._createDragElement(evt);\n }\n const elem = DD._dragElements.get(this._id);\n elem.dragStatus = 'dragging';\n this.fire('dragstart', {\n type: 'dragstart',\n target: this,\n evt: evt && evt.evt,\n }, bubbleEvent);\n }\n _setDragPosition(evt, elem) {\n const pos = this.getStage()._getPointerById(elem.pointerId);\n if (!pos) {\n return;\n }\n var newNodePos = {\n x: pos.x - elem.offset.x,\n y: pos.y - elem.offset.y,\n };\n var dbf = this.dragBoundFunc();\n if (dbf !== undefined) {\n const bounded = dbf.call(this, newNodePos, evt);\n if (!bounded) {\n Util.warn('dragBoundFunc did not return any value. That is unexpected behavior. You must return new absolute position from dragBoundFunc.');\n }\n else {\n newNodePos = bounded;\n }\n }\n if (!this._lastPos ||\n this._lastPos.x !== newNodePos.x ||\n this._lastPos.y !== newNodePos.y) {\n this.setAbsolutePosition(newNodePos);\n this._requestDraw();\n }\n this._lastPos = newNodePos;\n }\n stopDrag(evt) {\n const elem = DD._dragElements.get(this._id);\n if (elem) {\n elem.dragStatus = 'stopped';\n }\n DD._endDragBefore(evt);\n DD._endDragAfter(evt);\n }\n setDraggable(draggable) {\n this._setAttr('draggable', draggable);\n this._dragChange();\n }\n isDragging() {\n const elem = DD._dragElements.get(this._id);\n return elem ? elem.dragStatus === 'dragging' : false;\n }\n _listenDrag() {\n this._dragCleanup();\n this.on('mousedown.konva touchstart.konva', function (evt) {\n var shouldCheckButton = evt.evt['button'] !== undefined;\n var canDrag = !shouldCheckButton || Konva.dragButtons.indexOf(evt.evt['button']) >= 0;\n if (!canDrag) {\n return;\n }\n if (this.isDragging()) {\n return;\n }\n var hasDraggingChild = false;\n DD._dragElements.forEach((elem) => {\n if (this.isAncestorOf(elem.node)) {\n hasDraggingChild = true;\n }\n });\n if (!hasDraggingChild) {\n this._createDragElement(evt);\n }\n });\n }\n _dragChange() {\n if (this.attrs.draggable) {\n this._listenDrag();\n }\n else {\n this._dragCleanup();\n var stage = this.getStage();\n if (!stage) {\n return;\n }\n const dragElement = DD._dragElements.get(this._id);\n const isDragging = dragElement && dragElement.dragStatus === 'dragging';\n const isReady = dragElement && dragElement.dragStatus === 'ready';\n if (isDragging) {\n this.stopDrag();\n }\n else if (isReady) {\n DD._dragElements.delete(this._id);\n }\n }\n }\n _dragCleanup() {\n this.off('mousedown.konva');\n this.off('touchstart.konva');\n }\n isClientRectOnScreen(margin = { x: 0, y: 0 }) {\n const stage = this.getStage();\n if (!stage) {\n return false;\n }\n const screenRect = {\n x: -margin.x,\n y: -margin.y,\n width: stage.width() + 2 * margin.x,\n height: stage.height() + 2 * margin.y,\n };\n return Util.haveIntersection(screenRect, this.getClientRect());\n }\n static create(data, container) {\n if (Util._isString(data)) {\n data = JSON.parse(data);\n }\n return this._createNode(data, container);\n }\n static _createNode(obj, container) {\n var className = Node.prototype.getClassName.call(obj), children = obj.children, no, len, n;\n if (container) {\n obj.attrs.container = container;\n }\n if (!Konva[className]) {\n Util.warn('Can not find a node with class name \"' +\n className +\n '\". Fallback to \"Shape\".');\n className = 'Shape';\n }\n const Class = Konva[className];\n no = new Class(obj.attrs);\n if (children) {\n len = children.length;\n for (n = 0; n < len; n++) {\n no.add(Node._createNode(children[n]));\n }\n }\n return no;\n }\n}\nNode.prototype.nodeType = 'Node';\nNode.prototype._attrsAffectingSize = [];\nNode.prototype.eventListeners = {};\nNode.prototype.on.call(Node.prototype, TRANSFORM_CHANGE_STR, function () {\n if (this._batchingTransformChange) {\n this._needClearTransformCache = true;\n return;\n }\n this._clearCache(TRANSFORM);\n this._clearSelfAndDescendantCache(ABSOLUTE_TRANSFORM);\n});\nNode.prototype.on.call(Node.prototype, 'visibleChange.konva', function () {\n this._clearSelfAndDescendantCache(VISIBLE);\n});\nNode.prototype.on.call(Node.prototype, 'listeningChange.konva', function () {\n this._clearSelfAndDescendantCache(LISTENING);\n});\nNode.prototype.on.call(Node.prototype, 'opacityChange.konva', function () {\n this._clearSelfAndDescendantCache(ABSOLUTE_OPACITY);\n});\nconst addGetterSetter = Factory.addGetterSetter;\naddGetterSetter(Node, 'zIndex');\naddGetterSetter(Node, 'absolutePosition');\naddGetterSetter(Node, 'position');\naddGetterSetter(Node, 'x', 0, getNumberValidator());\naddGetterSetter(Node, 'y', 0, getNumberValidator());\naddGetterSetter(Node, 'globalCompositeOperation', 'source-over', getStringValidator());\naddGetterSetter(Node, 'opacity', 1, getNumberValidator());\naddGetterSetter(Node, 'name', '', getStringValidator());\naddGetterSetter(Node, 'id', '', getStringValidator());\naddGetterSetter(Node, 'rotation', 0, getNumberValidator());\nFactory.addComponentsGetterSetter(Node, 'scale', ['x', 'y']);\naddGetterSetter(Node, 'scaleX', 1, getNumberValidator());\naddGetterSetter(Node, 'scaleY', 1, getNumberValidator());\nFactory.addComponentsGetterSetter(Node, 'skew', ['x', 'y']);\naddGetterSetter(Node, 'skewX', 0, getNumberValidator());\naddGetterSetter(Node, 'skewY', 0, getNumberValidator());\nFactory.addComponentsGetterSetter(Node, 'offset', ['x', 'y']);\naddGetterSetter(Node, 'offsetX', 0, getNumberValidator());\naddGetterSetter(Node, 'offsetY', 0, getNumberValidator());\naddGetterSetter(Node, 'dragDistance', null, getNumberValidator());\naddGetterSetter(Node, 'width', 0, getNumberValidator());\naddGetterSetter(Node, 'height', 0, getNumberValidator());\naddGetterSetter(Node, 'listening', true, getBooleanValidator());\naddGetterSetter(Node, 'preventDefault', true, getBooleanValidator());\naddGetterSetter(Node, 'filters', null, function (val) {\n this._filterUpToDate = false;\n return val;\n});\naddGetterSetter(Node, 'visible', true, getBooleanValidator());\naddGetterSetter(Node, 'transformsEnabled', 'all', getStringValidator());\naddGetterSetter(Node, 'size');\naddGetterSetter(Node, 'dragBoundFunc');\naddGetterSetter(Node, 'draggable', false, getBooleanValidator());\nFactory.backCompat(Node, {\n rotateDeg: 'rotate',\n setRotationDeg: 'setRotation',\n getRotationDeg: 'getRotation',\n});\n","import superPropBase from \"@babel/runtime/helpers/esm/superPropBase\";\nexport default function _get(target, property, receiver) {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n _get = Reflect.get;\n } else {\n _get = function _get(target, property, receiver) {\n var base = superPropBase(target, property);\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n\n if (desc.get) {\n return desc.get.call(receiver);\n }\n\n return desc.value;\n };\n }\n\n return _get(target, property, receiver || target);\n}","import getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nexport default function _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = getPrototypeOf(object);\n if (object === null) break;\n }\n\n return object;\n}","import { Factory } from './Factory.js';\nimport { Node } from './Node.js';\nimport { getNumberValidator } from './Validators.js';\nexport class Container extends Node {\n constructor() {\n super(...arguments);\n this.children = [];\n }\n getChildren(filterFunc) {\n if (!filterFunc) {\n return this.children || [];\n }\n const children = this.children || [];\n var results = [];\n children.forEach(function (child) {\n if (filterFunc(child)) {\n results.push(child);\n }\n });\n return results;\n }\n hasChildren() {\n return this.getChildren().length > 0;\n }\n removeChildren() {\n this.getChildren().forEach((child) => {\n child.parent = null;\n child.index = 0;\n child.remove();\n });\n this.children = [];\n this._requestDraw();\n return this;\n }\n destroyChildren() {\n this.getChildren().forEach((child) => {\n child.parent = null;\n child.index = 0;\n child.destroy();\n });\n this.children = [];\n this._requestDraw();\n return this;\n }\n add(...children) {\n if (children.length === 0) {\n return this;\n }\n if (children.length > 1) {\n for (var i = 0; i < children.length; i++) {\n this.add(children[i]);\n }\n return this;\n }\n const child = children[0];\n if (child.getParent()) {\n child.moveTo(this);\n return this;\n }\n this._validateAdd(child);\n child.index = this.getChildren().length;\n child.parent = this;\n child._clearCaches();\n this.getChildren().push(child);\n this._fire('add', {\n child: child,\n });\n this._requestDraw();\n return this;\n }\n destroy() {\n if (this.hasChildren()) {\n this.destroyChildren();\n }\n super.destroy();\n return this;\n }\n find(selector) {\n return this._generalFind(selector, false);\n }\n findOne(selector) {\n var result = this._generalFind(selector, true);\n return result.length > 0 ? result[0] : undefined;\n }\n _generalFind(selector, findOne) {\n var retArr = [];\n this._descendants((node) => {\n const valid = node._isMatch(selector);\n if (valid) {\n retArr.push(node);\n }\n if (valid && findOne) {\n return true;\n }\n return false;\n });\n return retArr;\n }\n _descendants(fn) {\n let shouldStop = false;\n const children = this.getChildren();\n for (const child of children) {\n shouldStop = fn(child);\n if (shouldStop) {\n return true;\n }\n if (!child.hasChildren()) {\n continue;\n }\n shouldStop = child._descendants(fn);\n if (shouldStop) {\n return true;\n }\n }\n return false;\n }\n toObject() {\n var obj = Node.prototype.toObject.call(this);\n obj.children = [];\n this.getChildren().forEach((child) => {\n obj.children.push(child.toObject());\n });\n return obj;\n }\n isAncestorOf(node) {\n var parent = node.getParent();\n while (parent) {\n if (parent._id === this._id) {\n return true;\n }\n parent = parent.getParent();\n }\n return false;\n }\n clone(obj) {\n var node = Node.prototype.clone.call(this, obj);\n this.getChildren().forEach(function (no) {\n node.add(no.clone());\n });\n return node;\n }\n getAllIntersections(pos) {\n var arr = [];\n this.find('Shape').forEach(function (shape) {\n if (shape.isVisible() && shape.intersects(pos)) {\n arr.push(shape);\n }\n });\n return arr;\n }\n _clearSelfAndDescendantCache(attr) {\n var _a;\n super._clearSelfAndDescendantCache(attr);\n if (this.isCached()) {\n return;\n }\n (_a = this.children) === null || _a === void 0 ? void 0 : _a.forEach(function (node) {\n node._clearSelfAndDescendantCache(attr);\n });\n }\n _setChildrenIndices() {\n var _a;\n (_a = this.children) === null || _a === void 0 ? void 0 : _a.forEach(function (child, n) {\n child.index = n;\n });\n this._requestDraw();\n }\n drawScene(can, top) {\n var layer = this.getLayer(), canvas = can || (layer && layer.getCanvas()), context = canvas && canvas.getContext(), cachedCanvas = this._getCanvasCache(), cachedSceneCanvas = cachedCanvas && cachedCanvas.scene;\n var caching = canvas && canvas.isCache;\n if (!this.isVisible() && !caching) {\n return this;\n }\n if (cachedSceneCanvas) {\n context.save();\n var m = this.getAbsoluteTransform(top).getMatrix();\n context.transform(m[0], m[1], m[2], m[3], m[4], m[5]);\n this._drawCachedSceneCanvas(context);\n context.restore();\n }\n else {\n this._drawChildren('drawScene', canvas, top);\n }\n return this;\n }\n drawHit(can, top) {\n if (!this.shouldDrawHit(top)) {\n return this;\n }\n var layer = this.getLayer(), canvas = can || (layer && layer.hitCanvas), context = canvas && canvas.getContext(), cachedCanvas = this._getCanvasCache(), cachedHitCanvas = cachedCanvas && cachedCanvas.hit;\n if (cachedHitCanvas) {\n context.save();\n var m = this.getAbsoluteTransform(top).getMatrix();\n context.transform(m[0], m[1], m[2], m[3], m[4], m[5]);\n this._drawCachedHitCanvas(context);\n context.restore();\n }\n else {\n this._drawChildren('drawHit', canvas, top);\n }\n return this;\n }\n _drawChildren(drawMethod, canvas, top) {\n var _a;\n var context = canvas && canvas.getContext(), clipWidth = this.clipWidth(), clipHeight = this.clipHeight(), clipFunc = this.clipFunc(), hasClip = (clipWidth && clipHeight) || clipFunc;\n const selfCache = top === this;\n if (hasClip) {\n context.save();\n var transform = this.getAbsoluteTransform(top);\n var m = transform.getMatrix();\n context.transform(m[0], m[1], m[2], m[3], m[4], m[5]);\n context.beginPath();\n if (clipFunc) {\n clipFunc.call(this, context, this);\n }\n else {\n var clipX = this.clipX();\n var clipY = this.clipY();\n context.rect(clipX, clipY, clipWidth, clipHeight);\n }\n context.clip();\n m = transform.copy().invert().getMatrix();\n context.transform(m[0], m[1], m[2], m[3], m[4], m[5]);\n }\n var hasComposition = !selfCache &&\n this.globalCompositeOperation() !== 'source-over' &&\n drawMethod === 'drawScene';\n if (hasComposition) {\n context.save();\n context._applyGlobalCompositeOperation(this);\n }\n (_a = this.children) === null || _a === void 0 ? void 0 : _a.forEach(function (child) {\n child[drawMethod](canvas, top);\n });\n if (hasComposition) {\n context.restore();\n }\n if (hasClip) {\n context.restore();\n }\n }\n getClientRect(config) {\n var _a;\n config = config || {};\n var skipTransform = config.skipTransform;\n var relativeTo = config.relativeTo;\n var minX, minY, maxX, maxY;\n var selfRect = {\n x: Infinity,\n y: Infinity,\n width: 0,\n height: 0,\n };\n var that = this;\n (_a = this.children) === null || _a === void 0 ? void 0 : _a.forEach(function (child) {\n if (!child.visible()) {\n return;\n }\n var rect = child.getClientRect({\n relativeTo: that,\n skipShadow: config.skipShadow,\n skipStroke: config.skipStroke,\n });\n if (rect.width === 0 && rect.height === 0) {\n return;\n }\n if (minX === undefined) {\n minX = rect.x;\n minY = rect.y;\n maxX = rect.x + rect.width;\n maxY = rect.y + rect.height;\n }\n else {\n minX = Math.min(minX, rect.x);\n minY = Math.min(minY, rect.y);\n maxX = Math.max(maxX, rect.x + rect.width);\n maxY = Math.max(maxY, rect.y + rect.height);\n }\n });\n var shapes = this.find('Shape');\n var hasVisible = false;\n for (var i = 0; i < shapes.length; i++) {\n var shape = shapes[i];\n if (shape._isVisible(this)) {\n hasVisible = true;\n break;\n }\n }\n if (hasVisible && minX !== undefined) {\n selfRect = {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY,\n };\n }\n else {\n selfRect = {\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n };\n }\n if (!skipTransform) {\n return this._transformedRect(selfRect, relativeTo);\n }\n return selfRect;\n }\n}\nFactory.addComponentsGetterSetter(Container, 'clip', [\n 'x',\n 'y',\n 'width',\n 'height',\n]);\nFactory.addGetterSetter(Container, 'clipX', undefined, getNumberValidator());\nFactory.addGetterSetter(Container, 'clipY', undefined, getNumberValidator());\nFactory.addGetterSetter(Container, 'clipWidth', undefined, getNumberValidator());\nFactory.addGetterSetter(Container, 'clipHeight', undefined, getNumberValidator());\nFactory.addGetterSetter(Container, 'clipFunc');\n","import { Konva } from './Global.js';\nconst Captures = new Map();\nconst SUPPORT_POINTER_EVENTS = Konva._global['PointerEvent'] !== undefined;\nexport function getCapturedShape(pointerId) {\n return Captures.get(pointerId);\n}\nexport function createEvent(evt) {\n return {\n evt,\n pointerId: evt.pointerId,\n };\n}\nexport function hasPointerCapture(pointerId, shape) {\n return Captures.get(pointerId) === shape;\n}\nexport function setPointerCapture(pointerId, shape) {\n releaseCapture(pointerId);\n const stage = shape.getStage();\n if (!stage)\n return;\n Captures.set(pointerId, shape);\n if (SUPPORT_POINTER_EVENTS) {\n shape._fire('gotpointercapture', createEvent(new PointerEvent('gotpointercapture')));\n }\n}\nexport function releaseCapture(pointerId, target) {\n const shape = Captures.get(pointerId);\n if (!shape)\n return;\n const stage = shape.getStage();\n if (stage && stage.content) {\n }\n Captures.delete(pointerId);\n if (SUPPORT_POINTER_EVENTS) {\n shape._fire('lostpointercapture', createEvent(new PointerEvent('lostpointercapture')));\n }\n}\n","import { Util } from './Util.js';\nimport { Factory } from './Factory.js';\nimport { Container } from './Container.js';\nimport { Konva } from './Global.js';\nimport { SceneCanvas, HitCanvas } from './Canvas.js';\nimport { DD } from './DragAndDrop.js';\nimport { _registerNode } from './Global.js';\nimport * as PointerEvents from './PointerEvents.js';\nvar STAGE = 'Stage', STRING = 'string', PX = 'px', MOUSEOUT = 'mouseout', MOUSELEAVE = 'mouseleave', MOUSEOVER = 'mouseover', MOUSEENTER = 'mouseenter', MOUSEMOVE = 'mousemove', MOUSEDOWN = 'mousedown', MOUSEUP = 'mouseup', POINTERMOVE = 'pointermove', POINTERDOWN = 'pointerdown', POINTERUP = 'pointerup', POINTERCANCEL = 'pointercancel', LOSTPOINTERCAPTURE = 'lostpointercapture', POINTEROUT = 'pointerout', POINTERLEAVE = 'pointerleave', POINTEROVER = 'pointerover', POINTERENTER = 'pointerenter', CONTEXTMENU = 'contextmenu', TOUCHSTART = 'touchstart', TOUCHEND = 'touchend', TOUCHMOVE = 'touchmove', TOUCHCANCEL = 'touchcancel', WHEEL = 'wheel', MAX_LAYERS_NUMBER = 5, EVENTS = [\n [MOUSEENTER, '_pointerenter'],\n [MOUSEDOWN, '_pointerdown'],\n [MOUSEMOVE, '_pointermove'],\n [MOUSEUP, '_pointerup'],\n [MOUSELEAVE, '_pointerleave'],\n [TOUCHSTART, '_pointerdown'],\n [TOUCHMOVE, '_pointermove'],\n [TOUCHEND, '_pointerup'],\n [TOUCHCANCEL, '_pointercancel'],\n [MOUSEOVER, '_pointerover'],\n [WHEEL, '_wheel'],\n [CONTEXTMENU, '_contextmenu'],\n [POINTERDOWN, '_pointerdown'],\n [POINTERMOVE, '_pointermove'],\n [POINTERUP, '_pointerup'],\n [POINTERCANCEL, '_pointercancel'],\n [LOSTPOINTERCAPTURE, '_lostpointercapture'],\n];\nconst EVENTS_MAP = {\n mouse: {\n [POINTEROUT]: MOUSEOUT,\n [POINTERLEAVE]: MOUSELEAVE,\n [POINTEROVER]: MOUSEOVER,\n [POINTERENTER]: MOUSEENTER,\n [POINTERMOVE]: MOUSEMOVE,\n [POINTERDOWN]: MOUSEDOWN,\n [POINTERUP]: MOUSEUP,\n [POINTERCANCEL]: 'mousecancel',\n pointerclick: 'click',\n pointerdblclick: 'dblclick',\n },\n touch: {\n [POINTEROUT]: 'touchout',\n [POINTERLEAVE]: 'touchleave',\n [POINTEROVER]: 'touchover',\n [POINTERENTER]: 'touchenter',\n [POINTERMOVE]: TOUCHMOVE,\n [POINTERDOWN]: TOUCHSTART,\n [POINTERUP]: TOUCHEND,\n [POINTERCANCEL]: TOUCHCANCEL,\n pointerclick: 'tap',\n pointerdblclick: 'dbltap',\n },\n pointer: {\n [POINTEROUT]: POINTEROUT,\n [POINTERLEAVE]: POINTERLEAVE,\n [POINTEROVER]: POINTEROVER,\n [POINTERENTER]: POINTERENTER,\n [POINTERMOVE]: POINTERMOVE,\n [POINTERDOWN]: POINTERDOWN,\n [POINTERUP]: POINTERUP,\n [POINTERCANCEL]: POINTERCANCEL,\n pointerclick: 'pointerclick',\n pointerdblclick: 'pointerdblclick',\n },\n};\nconst getEventType = (type) => {\n if (type.indexOf('pointer') >= 0) {\n return 'pointer';\n }\n if (type.indexOf('touch') >= 0) {\n return 'touch';\n }\n return 'mouse';\n};\nconst getEventsMap = (eventType) => {\n const type = getEventType(eventType);\n if (type === 'pointer') {\n return Konva.pointerEventsEnabled && EVENTS_MAP.pointer;\n }\n if (type === 'touch') {\n return EVENTS_MAP.touch;\n }\n if (type === 'mouse') {\n return EVENTS_MAP.mouse;\n }\n};\nfunction checkNoClip(attrs = {}) {\n if (attrs.clipFunc || attrs.clipWidth || attrs.clipHeight) {\n Util.warn('Stage does not support clipping. Please use clip for Layers or Groups.');\n }\n return attrs;\n}\nconst NO_POINTERS_MESSAGE = `Pointer position is missing and not registered by the stage. Looks like it is outside of the stage container. You can set it manually from event: stage.setPointersPositions(event);`;\nexport const stages = [];\nexport class Stage extends Container {\n constructor(config) {\n super(checkNoClip(config));\n this._pointerPositions = [];\n this._changedPointerPositions = [];\n this._buildDOM();\n this._bindContentEvents();\n stages.push(this);\n this.on('widthChange.konva heightChange.konva', this._resizeDOM);\n this.on('visibleChange.konva', this._checkVisibility);\n this.on('clipWidthChange.konva clipHeightChange.konva clipFuncChange.konva', () => {\n checkNoClip(this.attrs);\n });\n this._checkVisibility();\n }\n _validateAdd(child) {\n const isLayer = child.getType() === 'Layer';\n const isFastLayer = child.getType() === 'FastLayer';\n const valid = isLayer || isFastLayer;\n if (!valid) {\n Util.throw('You may only add layers to the stage.');\n }\n }\n _checkVisibility() {\n if (!this.content) {\n return;\n }\n const style = this.visible() ? '' : 'none';\n this.content.style.display = style;\n }\n setContainer(container) {\n if (typeof container === STRING) {\n if (container.charAt(0) === '.') {\n var className = container.slice(1);\n container = document.getElementsByClassName(className)[0];\n }\n else {\n var id;\n if (container.charAt(0) !== '#') {\n id = container;\n }\n else {\n id = container.slice(1);\n }\n container = document.getElementById(id);\n }\n if (!container) {\n throw 'Can not find container in document with id ' + id;\n }\n }\n this._setAttr('container', container);\n if (this.content) {\n if (this.content.parentElement) {\n this.content.parentElement.removeChild(this.content);\n }\n container.appendChild(this.content);\n }\n return this;\n }\n shouldDrawHit() {\n return true;\n }\n clear() {\n var layers = this.children, len = layers.length, n;\n for (n = 0; n < len; n++) {\n layers[n].clear();\n }\n return this;\n }\n clone(obj) {\n if (!obj) {\n obj = {};\n }\n obj.container =\n typeof document !== 'undefined' && document.createElement('div');\n return Container.prototype.clone.call(this, obj);\n }\n destroy() {\n super.destroy();\n var content = this.content;\n if (content && Util._isInDocument(content)) {\n this.container().removeChild(content);\n }\n var index = stages.indexOf(this);\n if (index > -1) {\n stages.splice(index, 1);\n }\n Util.releaseCanvas(this.bufferCanvas._canvas, this.bufferHitCanvas._canvas);\n return this;\n }\n getPointerPosition() {\n const pos = this._pointerPositions[0] || this._changedPointerPositions[0];\n if (!pos) {\n Util.warn(NO_POINTERS_MESSAGE);\n return null;\n }\n return {\n x: pos.x,\n y: pos.y,\n };\n }\n _getPointerById(id) {\n return this._pointerPositions.find((p) => p.id === id);\n }\n getPointersPositions() {\n return this._pointerPositions;\n }\n getStage() {\n return this;\n }\n getContent() {\n return this.content;\n }\n _toKonvaCanvas(config) {\n config = config || {};\n config.x = config.x || 0;\n config.y = config.y || 0;\n config.width = config.width || this.width();\n config.height = config.height || this.height();\n var canvas = new SceneCanvas({\n width: config.width,\n height: config.height,\n pixelRatio: config.pixelRatio || 1,\n });\n var _context = canvas.getContext()._context;\n var layers = this.children;\n if (config.x || config.y) {\n _context.translate(-1 * config.x, -1 * config.y);\n }\n layers.forEach(function (layer) {\n if (!layer.isVisible()) {\n return;\n }\n var layerCanvas = layer._toKonvaCanvas(config);\n _context.drawImage(layerCanvas._canvas, config.x, config.y, layerCanvas.getWidth() / layerCanvas.getPixelRatio(), layerCanvas.getHeight() / layerCanvas.getPixelRatio());\n });\n return canvas;\n }\n getIntersection(pos) {\n if (!pos) {\n return null;\n }\n var layers = this.children, len = layers.length, end = len - 1, n;\n for (n = end; n >= 0; n--) {\n const shape = layers[n].getIntersection(pos);\n if (shape) {\n return shape;\n }\n }\n return null;\n }\n _resizeDOM() {\n var width = this.width();\n var height = this.height();\n if (this.content) {\n this.content.style.width = width + PX;\n this.content.style.height = height + PX;\n }\n this.bufferCanvas.setSize(width, height);\n this.bufferHitCanvas.setSize(width, height);\n this.children.forEach((layer) => {\n layer.setSize({ width, height });\n layer.draw();\n });\n }\n add(layer, ...rest) {\n if (arguments.length > 1) {\n for (var i = 0; i < arguments.length; i++) {\n this.add(arguments[i]);\n }\n return this;\n }\n super.add(layer);\n var length = this.children.length;\n if (length > MAX_LAYERS_NUMBER) {\n Util.warn('The stage has ' +\n length +\n ' layers. Recommended maximum number of layers is 3-5. Adding more layers into the stage may drop the performance. Rethink your tree structure, you can use Konva.Group.');\n }\n layer.setSize({ width: this.width(), height: this.height() });\n layer.draw();\n if (Konva.isBrowser) {\n this.content.appendChild(layer.canvas._canvas);\n }\n return this;\n }\n getParent() {\n return null;\n }\n getLayer() {\n return null;\n }\n hasPointerCapture(pointerId) {\n return PointerEvents.hasPointerCapture(pointerId, this);\n }\n setPointerCapture(pointerId) {\n PointerEvents.setPointerCapture(pointerId, this);\n }\n releaseCapture(pointerId) {\n PointerEvents.releaseCapture(pointerId, this);\n }\n getLayers() {\n return this.children;\n }\n _bindContentEvents() {\n if (!Konva.isBrowser) {\n return;\n }\n EVENTS.forEach(([event, methodName]) => {\n this.content.addEventListener(event, (evt) => {\n this[methodName](evt);\n }, { passive: false });\n });\n }\n _pointerenter(evt) {\n this.setPointersPositions(evt);\n const events = getEventsMap(evt.type);\n this._fire(events.pointerenter, {\n evt: evt,\n target: this,\n currentTarget: this,\n });\n }\n _pointerover(evt) {\n this.setPointersPositions(evt);\n const events = getEventsMap(evt.type);\n this._fire(events.pointerover, {\n evt: evt,\n target: this,\n currentTarget: this,\n });\n }\n _getTargetShape(evenType) {\n let shape = this[evenType + 'targetShape'];\n if (shape && !shape.getStage()) {\n shape = null;\n }\n return shape;\n }\n _pointerleave(evt) {\n const events = getEventsMap(evt.type);\n const eventType = getEventType(evt.type);\n if (!events) {\n return;\n }\n this.setPointersPositions(evt);\n var targetShape = this._getTargetShape(eventType);\n var eventsEnabled = !DD.isDragging || Konva.hitOnDragEnabled;\n if (targetShape && eventsEnabled) {\n targetShape._fireAndBubble(events.pointerout, { evt: evt });\n targetShape._fireAndBubble(events.pointerleave, { evt: evt });\n this._fire(events.pointerleave, {\n evt: evt,\n target: this,\n currentTarget: this,\n });\n this[eventType + 'targetShape'] = null;\n }\n else if (eventsEnabled) {\n this._fire(events.pointerleave, {\n evt: evt,\n target: this,\n currentTarget: this,\n });\n this._fire(events.pointerout, {\n evt: evt,\n target: this,\n currentTarget: this,\n });\n }\n this.pointerPos = undefined;\n this._pointerPositions = [];\n }\n _pointerdown(evt) {\n const events = getEventsMap(evt.type);\n const eventType = getEventType(evt.type);\n if (!events) {\n return;\n }\n this.setPointersPositions(evt);\n var triggeredOnShape = false;\n this._changedPointerPositions.forEach((pos) => {\n var shape = this.getIntersection(pos);\n DD.justDragged = false;\n Konva['_' + eventType + 'ListenClick'] = true;\n const hasShape = shape && shape.isListening();\n if (!hasShape) {\n return;\n }\n if (Konva.capturePointerEventsEnabled) {\n shape.setPointerCapture(pos.id);\n }\n this[eventType + 'ClickStartShape'] = shape;\n shape._fireAndBubble(events.pointerdown, {\n evt: evt,\n pointerId: pos.id,\n });\n triggeredOnShape = true;\n const isTouch = evt.type.indexOf('touch') >= 0;\n if (shape.preventDefault() && evt.cancelable && isTouch) {\n evt.preventDefault();\n }\n });\n if (!triggeredOnShape) {\n this._fire(events.pointerdown, {\n evt: evt,\n target: this,\n currentTarget: this,\n pointerId: this._pointerPositions[0].id,\n });\n }\n }\n _pointermove(evt) {\n const events = getEventsMap(evt.type);\n const eventType = getEventType(evt.type);\n if (!events) {\n return;\n }\n if (DD.isDragging && DD.node.preventDefault() && evt.cancelable) {\n evt.preventDefault();\n }\n this.setPointersPositions(evt);\n var eventsEnabled = !DD.isDragging || Konva.hitOnDragEnabled;\n if (!eventsEnabled) {\n return;\n }\n var processedShapesIds = {};\n let triggeredOnShape = false;\n var targetShape = this._getTargetShape(eventType);\n this._changedPointerPositions.forEach((pos) => {\n const shape = (PointerEvents.getCapturedShape(pos.id) ||\n this.getIntersection(pos));\n const pointerId = pos.id;\n const event = { evt: evt, pointerId };\n var differentTarget = targetShape !== shape;\n if (differentTarget && targetShape) {\n targetShape._fireAndBubble(events.pointerout, Object.assign({}, event), shape);\n targetShape._fireAndBubble(events.pointerleave, Object.assign({}, event), shape);\n }\n if (shape) {\n if (processedShapesIds[shape._id]) {\n return;\n }\n processedShapesIds[shape._id] = true;\n }\n if (shape && shape.isListening()) {\n triggeredOnShape = true;\n if (differentTarget) {\n shape._fireAndBubble(events.pointerover, Object.assign({}, event), targetShape);\n shape._fireAndBubble(events.pointerenter, Object.assign({}, event), targetShape);\n this[eventType + 'targetShape'] = shape;\n }\n shape._fireAndBubble(events.pointermove, Object.assign({}, event));\n }\n else {\n if (targetShape) {\n this._fire(events.pointerover, {\n evt: evt,\n target: this,\n currentTarget: this,\n pointerId,\n });\n this[eventType + 'targetShape'] = null;\n }\n }\n });\n if (!triggeredOnShape) {\n this._fire(events.pointermove, {\n evt: evt,\n target: this,\n currentTarget: this,\n pointerId: this._changedPointerPositions[0].id,\n });\n }\n }\n _pointerup(evt) {\n const events = getEventsMap(evt.type);\n const eventType = getEventType(evt.type);\n if (!events) {\n return;\n }\n this.setPointersPositions(evt);\n const clickStartShape = this[eventType + 'ClickStartShape'];\n const clickEndShape = this[eventType + 'ClickEndShape'];\n var processedShapesIds = {};\n let triggeredOnShape = false;\n this._changedPointerPositions.forEach((pos) => {\n const shape = (PointerEvents.getCapturedShape(pos.id) ||\n this.getIntersection(pos));\n if (shape) {\n shape.releaseCapture(pos.id);\n if (processedShapesIds[shape._id]) {\n return;\n }\n processedShapesIds[shape._id] = true;\n }\n const pointerId = pos.id;\n const event = { evt: evt, pointerId };\n let fireDblClick = false;\n if (Konva['_' + eventType + 'InDblClickWindow']) {\n fireDblClick = true;\n clearTimeout(this[eventType + 'DblTimeout']);\n }\n else if (!DD.justDragged) {\n Konva['_' + eventType + 'InDblClickWindow'] = true;\n clearTimeout(this[eventType + 'DblTimeout']);\n }\n this[eventType + 'DblTimeout'] = setTimeout(function () {\n Konva['_' + eventType + 'InDblClickWindow'] = false;\n }, Konva.dblClickWindow);\n if (shape && shape.isListening()) {\n triggeredOnShape = true;\n this[eventType + 'ClickEndShape'] = shape;\n shape._fireAndBubble(events.pointerup, Object.assign({}, event));\n if (Konva['_' + eventType + 'ListenClick'] &&\n clickStartShape &&\n clickStartShape === shape) {\n shape._fireAndBubble(events.pointerclick, Object.assign({}, event));\n if (fireDblClick && clickEndShape && clickEndShape === shape) {\n shape._fireAndBubble(events.pointerdblclick, Object.assign({}, event));\n }\n }\n }\n else {\n this[eventType + 'ClickEndShape'] = null;\n if (Konva['_' + eventType + 'ListenClick']) {\n this._fire(events.pointerclick, {\n evt: evt,\n target: this,\n currentTarget: this,\n pointerId,\n });\n }\n if (fireDblClick) {\n this._fire(events.pointerdblclick, {\n evt: evt,\n target: this,\n currentTarget: this,\n pointerId,\n });\n }\n }\n });\n if (!triggeredOnShape) {\n this._fire(events.pointerup, {\n evt: evt,\n target: this,\n currentTarget: this,\n pointerId: this._changedPointerPositions[0].id,\n });\n }\n Konva['_' + eventType + 'ListenClick'] = false;\n if (evt.cancelable && eventType !== 'touch') {\n evt.preventDefault();\n }\n }\n _contextmenu(evt) {\n this.setPointersPositions(evt);\n var shape = this.getIntersection(this.getPointerPosition());\n if (shape && shape.isListening()) {\n shape._fireAndBubble(CONTEXTMENU, { evt: evt });\n }\n else {\n this._fire(CONTEXTMENU, {\n evt: evt,\n target: this,\n currentTarget: this,\n });\n }\n }\n _wheel(evt) {\n this.setPointersPositions(evt);\n var shape = this.getIntersection(this.getPointerPosition());\n if (shape && shape.isListening()) {\n shape._fireAndBubble(WHEEL, { evt: evt });\n }\n else {\n this._fire(WHEEL, {\n evt: evt,\n target: this,\n currentTarget: this,\n });\n }\n }\n _pointercancel(evt) {\n this.setPointersPositions(evt);\n const shape = PointerEvents.getCapturedShape(evt.pointerId) ||\n this.getIntersection(this.getPointerPosition());\n if (shape) {\n shape._fireAndBubble(POINTERUP, PointerEvents.createEvent(evt));\n }\n PointerEvents.releaseCapture(evt.pointerId);\n }\n _lostpointercapture(evt) {\n PointerEvents.releaseCapture(evt.pointerId);\n }\n setPointersPositions(evt) {\n var contentPosition = this._getContentPosition(), x = null, y = null;\n evt = evt ? evt : window.event;\n if (evt.touches !== undefined) {\n this._pointerPositions = [];\n this._changedPointerPositions = [];\n Array.prototype.forEach.call(evt.touches, (touch) => {\n this._pointerPositions.push({\n id: touch.identifier,\n x: (touch.clientX - contentPosition.left) / contentPosition.scaleX,\n y: (touch.clientY - contentPosition.top) / contentPosition.scaleY,\n });\n });\n Array.prototype.forEach.call(evt.changedTouches || evt.touches, (touch) => {\n this._changedPointerPositions.push({\n id: touch.identifier,\n x: (touch.clientX - contentPosition.left) / contentPosition.scaleX,\n y: (touch.clientY - contentPosition.top) / contentPosition.scaleY,\n });\n });\n }\n else {\n x = (evt.clientX - contentPosition.left) / contentPosition.scaleX;\n y = (evt.clientY - contentPosition.top) / contentPosition.scaleY;\n this.pointerPos = {\n x: x,\n y: y,\n };\n this._pointerPositions = [{ x, y, id: Util._getFirstPointerId(evt) }];\n this._changedPointerPositions = [\n { x, y, id: Util._getFirstPointerId(evt) },\n ];\n }\n }\n _setPointerPosition(evt) {\n Util.warn('Method _setPointerPosition is deprecated. Use \"stage.setPointersPositions(event)\" instead.');\n this.setPointersPositions(evt);\n }\n _getContentPosition() {\n if (!this.content || !this.content.getBoundingClientRect) {\n return {\n top: 0,\n left: 0,\n scaleX: 1,\n scaleY: 1,\n };\n }\n var rect = this.content.getBoundingClientRect();\n return {\n top: rect.top,\n left: rect.left,\n scaleX: rect.width / this.content.clientWidth || 1,\n scaleY: rect.height / this.content.clientHeight || 1,\n };\n }\n _buildDOM() {\n this.bufferCanvas = new SceneCanvas({\n width: this.width(),\n height: this.height(),\n });\n this.bufferHitCanvas = new HitCanvas({\n pixelRatio: 1,\n width: this.width(),\n height: this.height(),\n });\n if (!Konva.isBrowser) {\n return;\n }\n var container = this.container();\n if (!container) {\n throw 'Stage has no container. A container is required.';\n }\n container.innerHTML = '';\n this.content = document.createElement('div');\n this.content.style.position = 'relative';\n this.content.style.userSelect = 'none';\n this.content.className = 'konvajs-content';\n this.content.setAttribute('role', 'presentation');\n container.appendChild(this.content);\n this._resizeDOM();\n }\n cache() {\n Util.warn('Cache function is not allowed for stage. You may use cache only for layers, groups and shapes.');\n return this;\n }\n clearCache() {\n return this;\n }\n batchDraw() {\n this.getChildren().forEach(function (layer) {\n layer.batchDraw();\n });\n return this;\n }\n}\nStage.prototype.nodeType = STAGE;\n_registerNode(Stage);\nFactory.addGetterSetter(Stage, 'container');\n","import { Konva } from './Global.js';\nimport { Transform, Util } from './Util.js';\nimport { Factory } from './Factory.js';\nimport { Node } from './Node.js';\nimport { getNumberValidator, getNumberOrAutoValidator, getStringValidator, getBooleanValidator, getStringOrGradientValidator, } from './Validators.js';\nimport { _registerNode } from './Global.js';\nimport * as PointerEvents from './PointerEvents.js';\nvar HAS_SHADOW = 'hasShadow';\nvar SHADOW_RGBA = 'shadowRGBA';\nvar patternImage = 'patternImage';\nvar linearGradient = 'linearGradient';\nvar radialGradient = 'radialGradient';\nlet dummyContext;\nfunction getDummyContext() {\n if (dummyContext) {\n return dummyContext;\n }\n dummyContext = Util.createCanvasElement().getContext('2d');\n return dummyContext;\n}\nexport const shapes = {};\nfunction _fillFunc(context) {\n context.fill();\n}\nfunction _strokeFunc(context) {\n context.stroke();\n}\nfunction _fillFuncHit(context) {\n context.fill();\n}\nfunction _strokeFuncHit(context) {\n context.stroke();\n}\nfunction _clearHasShadowCache() {\n this._clearCache(HAS_SHADOW);\n}\nfunction _clearGetShadowRGBACache() {\n this._clearCache(SHADOW_RGBA);\n}\nfunction _clearFillPatternCache() {\n this._clearCache(patternImage);\n}\nfunction _clearLinearGradientCache() {\n this._clearCache(linearGradient);\n}\nfunction _clearRadialGradientCache() {\n this._clearCache(radialGradient);\n}\nexport class Shape extends Node {\n constructor(config) {\n super(config);\n let key;\n while (true) {\n key = Util.getRandomColor();\n if (key && !(key in shapes)) {\n break;\n }\n }\n this.colorKey = key;\n shapes[key] = this;\n }\n getContext() {\n Util.warn('shape.getContext() method is deprecated. Please do not use it.');\n return this.getLayer().getContext();\n }\n getCanvas() {\n Util.warn('shape.getCanvas() method is deprecated. Please do not use it.');\n return this.getLayer().getCanvas();\n }\n getSceneFunc() {\n return this.attrs.sceneFunc || this['_sceneFunc'];\n }\n getHitFunc() {\n return this.attrs.hitFunc || this['_hitFunc'];\n }\n hasShadow() {\n return this._getCache(HAS_SHADOW, this._hasShadow);\n }\n _hasShadow() {\n return (this.shadowEnabled() &&\n this.shadowOpacity() !== 0 &&\n !!(this.shadowColor() ||\n this.shadowBlur() ||\n this.shadowOffsetX() ||\n this.shadowOffsetY()));\n }\n _getFillPattern() {\n return this._getCache(patternImage, this.__getFillPattern);\n }\n __getFillPattern() {\n if (this.fillPatternImage()) {\n var ctx = getDummyContext();\n const pattern = ctx.createPattern(this.fillPatternImage(), this.fillPatternRepeat() || 'repeat');\n if (pattern && pattern.setTransform) {\n const tr = new Transform();\n tr.translate(this.fillPatternX(), this.fillPatternY());\n tr.rotate(Konva.getAngle(this.fillPatternRotation()));\n tr.scale(this.fillPatternScaleX(), this.fillPatternScaleY());\n tr.translate(-1 * this.fillPatternOffsetX(), -1 * this.fillPatternOffsetY());\n const m = tr.getMatrix();\n const matrix = typeof DOMMatrix === 'undefined'\n ? {\n a: m[0],\n b: m[1],\n c: m[2],\n d: m[3],\n e: m[4],\n f: m[5],\n }\n : new DOMMatrix(m);\n pattern.setTransform(matrix);\n }\n return pattern;\n }\n }\n _getLinearGradient() {\n return this._getCache(linearGradient, this.__getLinearGradient);\n }\n __getLinearGradient() {\n var colorStops = this.fillLinearGradientColorStops();\n if (colorStops) {\n var ctx = getDummyContext();\n var start = this.fillLinearGradientStartPoint();\n var end = this.fillLinearGradientEndPoint();\n var grd = ctx.createLinearGradient(start.x, start.y, end.x, end.y);\n for (var n = 0; n < colorStops.length; n += 2) {\n grd.addColorStop(colorStops[n], colorStops[n + 1]);\n }\n return grd;\n }\n }\n _getRadialGradient() {\n return this._getCache(radialGradient, this.__getRadialGradient);\n }\n __getRadialGradient() {\n var colorStops = this.fillRadialGradientColorStops();\n if (colorStops) {\n var ctx = getDummyContext();\n var start = this.fillRadialGradientStartPoint();\n var end = this.fillRadialGradientEndPoint();\n var grd = ctx.createRadialGradient(start.x, start.y, this.fillRadialGradientStartRadius(), end.x, end.y, this.fillRadialGradientEndRadius());\n for (var n = 0; n < colorStops.length; n += 2) {\n grd.addColorStop(colorStops[n], colorStops[n + 1]);\n }\n return grd;\n }\n }\n getShadowRGBA() {\n return this._getCache(SHADOW_RGBA, this._getShadowRGBA);\n }\n _getShadowRGBA() {\n if (!this.hasShadow()) {\n return;\n }\n var rgba = Util.colorToRGBA(this.shadowColor());\n if (rgba) {\n return ('rgba(' +\n rgba.r +\n ',' +\n rgba.g +\n ',' +\n rgba.b +\n ',' +\n rgba.a * (this.shadowOpacity() || 1) +\n ')');\n }\n }\n hasFill() {\n return this._calculate('hasFill', [\n 'fillEnabled',\n 'fill',\n 'fillPatternImage',\n 'fillLinearGradientColorStops',\n 'fillRadialGradientColorStops',\n ], () => {\n return (this.fillEnabled() &&\n !!(this.fill() ||\n this.fillPatternImage() ||\n this.fillLinearGradientColorStops() ||\n this.fillRadialGradientColorStops()));\n });\n }\n hasStroke() {\n return this._calculate('hasStroke', [\n 'strokeEnabled',\n 'strokeWidth',\n 'stroke',\n 'strokeLinearGradientColorStops',\n ], () => {\n return (this.strokeEnabled() &&\n this.strokeWidth() &&\n !!(this.stroke() || this.strokeLinearGradientColorStops()));\n });\n }\n hasHitStroke() {\n const width = this.hitStrokeWidth();\n if (width === 'auto') {\n return this.hasStroke();\n }\n return this.strokeEnabled() && !!width;\n }\n intersects(point) {\n var stage = this.getStage(), bufferHitCanvas = stage.bufferHitCanvas, p;\n bufferHitCanvas.getContext().clear();\n this.drawHit(bufferHitCanvas, null, true);\n p = bufferHitCanvas.context.getImageData(Math.round(point.x), Math.round(point.y), 1, 1).data;\n return p[3] > 0;\n }\n destroy() {\n Node.prototype.destroy.call(this);\n delete shapes[this.colorKey];\n delete this.colorKey;\n return this;\n }\n _useBufferCanvas(forceFill) {\n var _a;\n if (!this.getStage()) {\n return false;\n }\n const perfectDrawEnabled = (_a = this.attrs.perfectDrawEnabled) !== null && _a !== void 0 ? _a : true;\n if (!perfectDrawEnabled) {\n return false;\n }\n const hasFill = forceFill || this.hasFill();\n const hasStroke = this.hasStroke();\n const isTransparent = this.getAbsoluteOpacity() !== 1;\n if (hasFill && hasStroke && isTransparent) {\n return true;\n }\n const hasShadow = this.hasShadow();\n const strokeForShadow = this.shadowForStrokeEnabled();\n if (hasFill && hasStroke && hasShadow && strokeForShadow) {\n return true;\n }\n return false;\n }\n setStrokeHitEnabled(val) {\n Util.warn('strokeHitEnabled property is deprecated. Please use hitStrokeWidth instead.');\n if (val) {\n this.hitStrokeWidth('auto');\n }\n else {\n this.hitStrokeWidth(0);\n }\n }\n getStrokeHitEnabled() {\n if (this.hitStrokeWidth() === 0) {\n return false;\n }\n else {\n return true;\n }\n }\n getSelfRect() {\n var size = this.size();\n return {\n x: this._centroid ? -size.width / 2 : 0,\n y: this._centroid ? -size.height / 2 : 0,\n width: size.width,\n height: size.height,\n };\n }\n getClientRect(config = {}) {\n const skipTransform = config.skipTransform;\n const relativeTo = config.relativeTo;\n const fillRect = this.getSelfRect();\n const applyStroke = !config.skipStroke && this.hasStroke();\n const strokeWidth = (applyStroke && this.strokeWidth()) || 0;\n const fillAndStrokeWidth = fillRect.width + strokeWidth;\n const fillAndStrokeHeight = fillRect.height + strokeWidth;\n const applyShadow = !config.skipShadow && this.hasShadow();\n const shadowOffsetX = applyShadow ? this.shadowOffsetX() : 0;\n const shadowOffsetY = applyShadow ? this.shadowOffsetY() : 0;\n const preWidth = fillAndStrokeWidth + Math.abs(shadowOffsetX);\n const preHeight = fillAndStrokeHeight + Math.abs(shadowOffsetY);\n const blurRadius = (applyShadow && this.shadowBlur()) || 0;\n const width = preWidth + blurRadius * 2;\n const height = preHeight + blurRadius * 2;\n const rect = {\n width: width,\n height: height,\n x: -(strokeWidth / 2 + blurRadius) +\n Math.min(shadowOffsetX, 0) +\n fillRect.x,\n y: -(strokeWidth / 2 + blurRadius) +\n Math.min(shadowOffsetY, 0) +\n fillRect.y,\n };\n if (!skipTransform) {\n return this._transformedRect(rect, relativeTo);\n }\n return rect;\n }\n drawScene(can, top) {\n var layer = this.getLayer(), canvas = can || layer.getCanvas(), context = canvas.getContext(), cachedCanvas = this._getCanvasCache(), drawFunc = this.getSceneFunc(), hasShadow = this.hasShadow(), stage, bufferCanvas, bufferContext;\n var skipBuffer = canvas.isCache;\n var cachingSelf = top === this;\n if (!this.isVisible() && !cachingSelf) {\n return this;\n }\n if (cachedCanvas) {\n context.save();\n var m = this.getAbsoluteTransform(top).getMatrix();\n context.transform(m[0], m[1], m[2], m[3], m[4], m[5]);\n this._drawCachedSceneCanvas(context);\n context.restore();\n return this;\n }\n if (!drawFunc) {\n return this;\n }\n context.save();\n if (this._useBufferCanvas() && !skipBuffer) {\n stage = this.getStage();\n bufferCanvas = stage.bufferCanvas;\n bufferContext = bufferCanvas.getContext();\n bufferContext.clear();\n bufferContext.save();\n bufferContext._applyLineJoin(this);\n var o = this.getAbsoluteTransform(top).getMatrix();\n bufferContext.transform(o[0], o[1], o[2], o[3], o[4], o[5]);\n drawFunc.call(this, bufferContext, this);\n bufferContext.restore();\n var ratio = bufferCanvas.pixelRatio;\n if (hasShadow) {\n context._applyShadow(this);\n }\n context._applyOpacity(this);\n context._applyGlobalCompositeOperation(this);\n context.drawImage(bufferCanvas._canvas, 0, 0, bufferCanvas.width / ratio, bufferCanvas.height / ratio);\n }\n else {\n context._applyLineJoin(this);\n if (!cachingSelf) {\n var o = this.getAbsoluteTransform(top).getMatrix();\n context.transform(o[0], o[1], o[2], o[3], o[4], o[5]);\n context._applyOpacity(this);\n context._applyGlobalCompositeOperation(this);\n }\n if (hasShadow) {\n context._applyShadow(this);\n }\n drawFunc.call(this, context, this);\n }\n context.restore();\n return this;\n }\n drawHit(can, top, skipDragCheck = false) {\n if (!this.shouldDrawHit(top, skipDragCheck)) {\n return this;\n }\n var layer = this.getLayer(), canvas = can || layer.hitCanvas, context = canvas && canvas.getContext(), drawFunc = this.hitFunc() || this.sceneFunc(), cachedCanvas = this._getCanvasCache(), cachedHitCanvas = cachedCanvas && cachedCanvas.hit;\n if (!this.colorKey) {\n Util.warn('Looks like your canvas has a destroyed shape in it. Do not reuse shape after you destroyed it. If you want to reuse shape you should call remove() instead of destroy()');\n }\n if (cachedHitCanvas) {\n context.save();\n var m = this.getAbsoluteTransform(top).getMatrix();\n context.transform(m[0], m[1], m[2], m[3], m[4], m[5]);\n this._drawCachedHitCanvas(context);\n context.restore();\n return this;\n }\n if (!drawFunc) {\n return this;\n }\n context.save();\n context._applyLineJoin(this);\n const selfCache = this === top;\n if (!selfCache) {\n var o = this.getAbsoluteTransform(top).getMatrix();\n context.transform(o[0], o[1], o[2], o[3], o[4], o[5]);\n }\n drawFunc.call(this, context, this);\n context.restore();\n return this;\n }\n drawHitFromCache(alphaThreshold = 0) {\n var cachedCanvas = this._getCanvasCache(), sceneCanvas = this._getCachedSceneCanvas(), hitCanvas = cachedCanvas.hit, hitContext = hitCanvas.getContext(), hitWidth = hitCanvas.getWidth(), hitHeight = hitCanvas.getHeight(), hitImageData, hitData, len, rgbColorKey, i, alpha;\n hitContext.clear();\n hitContext.drawImage(sceneCanvas._canvas, 0, 0, hitWidth, hitHeight);\n try {\n hitImageData = hitContext.getImageData(0, 0, hitWidth, hitHeight);\n hitData = hitImageData.data;\n len = hitData.length;\n rgbColorKey = Util._hexToRgb(this.colorKey);\n for (i = 0; i < len; i += 4) {\n alpha = hitData[i + 3];\n if (alpha > alphaThreshold) {\n hitData[i] = rgbColorKey.r;\n hitData[i + 1] = rgbColorKey.g;\n hitData[i + 2] = rgbColorKey.b;\n hitData[i + 3] = 255;\n }\n else {\n hitData[i + 3] = 0;\n }\n }\n hitContext.putImageData(hitImageData, 0, 0);\n }\n catch (e) {\n Util.error('Unable to draw hit graph from cached scene canvas. ' + e.message);\n }\n return this;\n }\n hasPointerCapture(pointerId) {\n return PointerEvents.hasPointerCapture(pointerId, this);\n }\n setPointerCapture(pointerId) {\n PointerEvents.setPointerCapture(pointerId, this);\n }\n releaseCapture(pointerId) {\n PointerEvents.releaseCapture(pointerId, this);\n }\n}\nShape.prototype._fillFunc = _fillFunc;\nShape.prototype._strokeFunc = _strokeFunc;\nShape.prototype._fillFuncHit = _fillFuncHit;\nShape.prototype._strokeFuncHit = _strokeFuncHit;\nShape.prototype._centroid = false;\nShape.prototype.nodeType = 'Shape';\n_registerNode(Shape);\nShape.prototype.eventListeners = {};\nShape.prototype.on.call(Shape.prototype, 'shadowColorChange.konva shadowBlurChange.konva shadowOffsetChange.konva shadowOpacityChange.konva shadowEnabledChange.konva', _clearHasShadowCache);\nShape.prototype.on.call(Shape.prototype, 'shadowColorChange.konva shadowOpacityChange.konva shadowEnabledChange.konva', _clearGetShadowRGBACache);\nShape.prototype.on.call(Shape.prototype, 'fillPriorityChange.konva fillPatternImageChange.konva fillPatternRepeatChange.konva fillPatternScaleXChange.konva fillPatternScaleYChange.konva fillPatternOffsetXChange.konva fillPatternOffsetYChange.konva fillPatternXChange.konva fillPatternYChange.konva fillPatternRotationChange.konva', _clearFillPatternCache);\nShape.prototype.on.call(Shape.prototype, 'fillPriorityChange.konva fillLinearGradientColorStopsChange.konva fillLinearGradientStartPointXChange.konva fillLinearGradientStartPointYChange.konva fillLinearGradientEndPointXChange.konva fillLinearGradientEndPointYChange.konva', _clearLinearGradientCache);\nShape.prototype.on.call(Shape.prototype, 'fillPriorityChange.konva fillRadialGradientColorStopsChange.konva fillRadialGradientStartPointXChange.konva fillRadialGradientStartPointYChange.konva fillRadialGradientEndPointXChange.konva fillRadialGradientEndPointYChange.konva fillRadialGradientStartRadiusChange.konva fillRadialGradientEndRadiusChange.konva', _clearRadialGradientCache);\nFactory.addGetterSetter(Shape, 'stroke', undefined, getStringOrGradientValidator());\nFactory.addGetterSetter(Shape, 'strokeWidth', 2, getNumberValidator());\nFactory.addGetterSetter(Shape, 'fillAfterStrokeEnabled', false);\nFactory.addGetterSetter(Shape, 'hitStrokeWidth', 'auto', getNumberOrAutoValidator());\nFactory.addGetterSetter(Shape, 'strokeHitEnabled', true, getBooleanValidator());\nFactory.addGetterSetter(Shape, 'perfectDrawEnabled', true, getBooleanValidator());\nFactory.addGetterSetter(Shape, 'shadowForStrokeEnabled', true, getBooleanValidator());\nFactory.addGetterSetter(Shape, 'lineJoin');\nFactory.addGetterSetter(Shape, 'lineCap');\nFactory.addGetterSetter(Shape, 'sceneFunc');\nFactory.addGetterSetter(Shape, 'hitFunc');\nFactory.addGetterSetter(Shape, 'dash');\nFactory.addGetterSetter(Shape, 'dashOffset', 0, getNumberValidator());\nFactory.addGetterSetter(Shape, 'shadowColor', undefined, getStringValidator());\nFactory.addGetterSetter(Shape, 'shadowBlur', 0, getNumberValidator());\nFactory.addGetterSetter(Shape, 'shadowOpacity', 1, getNumberValidator());\nFactory.addComponentsGetterSetter(Shape, 'shadowOffset', ['x', 'y']);\nFactory.addGetterSetter(Shape, 'shadowOffsetX', 0, getNumberValidator());\nFactory.addGetterSetter(Shape, 'shadowOffsetY', 0, getNumberValidator());\nFactory.addGetterSetter(Shape, 'fillPatternImage');\nFactory.addGetterSetter(Shape, 'fill', undefined, getStringOrGradientValidator());\nFactory.addGetterSetter(Shape, 'fillPatternX', 0, getNumberValidator());\nFactory.addGetterSetter(Shape, 'fillPatternY', 0, getNumberValidator());\nFactory.addGetterSetter(Shape, 'fillLinearGradientColorStops');\nFactory.addGetterSetter(Shape, 'strokeLinearGradientColorStops');\nFactory.addGetterSetter(Shape, 'fillRadialGradientStartRadius', 0);\nFactory.addGetterSetter(Shape, 'fillRadialGradientEndRadius', 0);\nFactory.addGetterSetter(Shape, 'fillRadialGradientColorStops');\nFactory.addGetterSetter(Shape, 'fillPatternRepeat', 'repeat');\nFactory.addGetterSetter(Shape, 'fillEnabled', true);\nFactory.addGetterSetter(Shape, 'strokeEnabled', true);\nFactory.addGetterSetter(Shape, 'shadowEnabled', true);\nFactory.addGetterSetter(Shape, 'dashEnabled', true);\nFactory.addGetterSetter(Shape, 'strokeScaleEnabled', true);\nFactory.addGetterSetter(Shape, 'fillPriority', 'color');\nFactory.addComponentsGetterSetter(Shape, 'fillPatternOffset', ['x', 'y']);\nFactory.addGetterSetter(Shape, 'fillPatternOffsetX', 0, getNumberValidator());\nFactory.addGetterSetter(Shape, 'fillPatternOffsetY', 0, getNumberValidator());\nFactory.addComponentsGetterSetter(Shape, 'fillPatternScale', ['x', 'y']);\nFactory.addGetterSetter(Shape, 'fillPatternScaleX', 1, getNumberValidator());\nFactory.addGetterSetter(Shape, 'fillPatternScaleY', 1, getNumberValidator());\nFactory.addComponentsGetterSetter(Shape, 'fillLinearGradientStartPoint', [\n 'x',\n 'y',\n]);\nFactory.addComponentsGetterSetter(Shape, 'strokeLinearGradientStartPoint', [\n 'x',\n 'y',\n]);\nFactory.addGetterSetter(Shape, 'fillLinearGradientStartPointX', 0);\nFactory.addGetterSetter(Shape, 'strokeLinearGradientStartPointX', 0);\nFactory.addGetterSetter(Shape, 'fillLinearGradientStartPointY', 0);\nFactory.addGetterSetter(Shape, 'strokeLinearGradientStartPointY', 0);\nFactory.addComponentsGetterSetter(Shape, 'fillLinearGradientEndPoint', [\n 'x',\n 'y',\n]);\nFactory.addComponentsGetterSetter(Shape, 'strokeLinearGradientEndPoint', [\n 'x',\n 'y',\n]);\nFactory.addGetterSetter(Shape, 'fillLinearGradientEndPointX', 0);\nFactory.addGetterSetter(Shape, 'strokeLinearGradientEndPointX', 0);\nFactory.addGetterSetter(Shape, 'fillLinearGradientEndPointY', 0);\nFactory.addGetterSetter(Shape, 'strokeLinearGradientEndPointY', 0);\nFactory.addComponentsGetterSetter(Shape, 'fillRadialGradientStartPoint', [\n 'x',\n 'y',\n]);\nFactory.addGetterSetter(Shape, 'fillRadialGradientStartPointX', 0);\nFactory.addGetterSetter(Shape, 'fillRadialGradientStartPointY', 0);\nFactory.addComponentsGetterSetter(Shape, 'fillRadialGradientEndPoint', [\n 'x',\n 'y',\n]);\nFactory.addGetterSetter(Shape, 'fillRadialGradientEndPointX', 0);\nFactory.addGetterSetter(Shape, 'fillRadialGradientEndPointY', 0);\nFactory.addGetterSetter(Shape, 'fillPatternRotation', 0);\nFactory.backCompat(Shape, {\n dashArray: 'dash',\n getDashArray: 'getDash',\n setDashArray: 'getDash',\n drawFunc: 'sceneFunc',\n getDrawFunc: 'getSceneFunc',\n setDrawFunc: 'setSceneFunc',\n drawHitFunc: 'hitFunc',\n getDrawHitFunc: 'getHitFunc',\n setDrawHitFunc: 'setHitFunc',\n});\n","import { Util } from './Util.js';\nimport { Container } from './Container.js';\nimport { Node } from './Node.js';\nimport { Factory } from './Factory.js';\nimport { SceneCanvas, HitCanvas } from './Canvas.js';\nimport { getBooleanValidator } from './Validators.js';\nimport { shapes } from './Shape.js';\nimport { _registerNode } from './Global.js';\nvar HASH = '#', BEFORE_DRAW = 'beforeDraw', DRAW = 'draw', INTERSECTION_OFFSETS = [\n { x: 0, y: 0 },\n { x: -1, y: -1 },\n { x: 1, y: -1 },\n { x: 1, y: 1 },\n { x: -1, y: 1 },\n], INTERSECTION_OFFSETS_LEN = INTERSECTION_OFFSETS.length;\nexport class Layer extends Container {\n constructor(config) {\n super(config);\n this.canvas = new SceneCanvas();\n this.hitCanvas = new HitCanvas({\n pixelRatio: 1,\n });\n this._waitingForDraw = false;\n this.on('visibleChange.konva', this._checkVisibility);\n this._checkVisibility();\n this.on('imageSmoothingEnabledChange.konva', this._setSmoothEnabled);\n this._setSmoothEnabled();\n }\n createPNGStream() {\n const c = this.canvas._canvas;\n return c.createPNGStream();\n }\n getCanvas() {\n return this.canvas;\n }\n getNativeCanvasElement() {\n return this.canvas._canvas;\n }\n getHitCanvas() {\n return this.hitCanvas;\n }\n getContext() {\n return this.getCanvas().getContext();\n }\n clear(bounds) {\n this.getContext().clear(bounds);\n this.getHitCanvas().getContext().clear(bounds);\n return this;\n }\n setZIndex(index) {\n super.setZIndex(index);\n var stage = this.getStage();\n if (stage && stage.content) {\n stage.content.removeChild(this.getNativeCanvasElement());\n if (index < stage.children.length - 1) {\n stage.content.insertBefore(this.getNativeCanvasElement(), stage.children[index + 1].getCanvas()._canvas);\n }\n else {\n stage.content.appendChild(this.getNativeCanvasElement());\n }\n }\n return this;\n }\n moveToTop() {\n Node.prototype.moveToTop.call(this);\n var stage = this.getStage();\n if (stage && stage.content) {\n stage.content.removeChild(this.getNativeCanvasElement());\n stage.content.appendChild(this.getNativeCanvasElement());\n }\n return true;\n }\n moveUp() {\n var moved = Node.prototype.moveUp.call(this);\n if (!moved) {\n return false;\n }\n var stage = this.getStage();\n if (!stage || !stage.content) {\n return false;\n }\n stage.content.removeChild(this.getNativeCanvasElement());\n if (this.index < stage.children.length - 1) {\n stage.content.insertBefore(this.getNativeCanvasElement(), stage.children[this.index + 1].getCanvas()._canvas);\n }\n else {\n stage.content.appendChild(this.getNativeCanvasElement());\n }\n return true;\n }\n moveDown() {\n if (Node.prototype.moveDown.call(this)) {\n var stage = this.getStage();\n if (stage) {\n var children = stage.children;\n if (stage.content) {\n stage.content.removeChild(this.getNativeCanvasElement());\n stage.content.insertBefore(this.getNativeCanvasElement(), children[this.index + 1].getCanvas()._canvas);\n }\n }\n return true;\n }\n return false;\n }\n moveToBottom() {\n if (Node.prototype.moveToBottom.call(this)) {\n var stage = this.getStage();\n if (stage) {\n var children = stage.children;\n if (stage.content) {\n stage.content.removeChild(this.getNativeCanvasElement());\n stage.content.insertBefore(this.getNativeCanvasElement(), children[1].getCanvas()._canvas);\n }\n }\n return true;\n }\n return false;\n }\n getLayer() {\n return this;\n }\n remove() {\n var _canvas = this.getNativeCanvasElement();\n Node.prototype.remove.call(this);\n if (_canvas && _canvas.parentNode && Util._isInDocument(_canvas)) {\n _canvas.parentNode.removeChild(_canvas);\n }\n return this;\n }\n getStage() {\n return this.parent;\n }\n setSize({ width, height }) {\n this.canvas.setSize(width, height);\n this.hitCanvas.setSize(width, height);\n this._setSmoothEnabled();\n return this;\n }\n _validateAdd(child) {\n var type = child.getType();\n if (type !== 'Group' && type !== 'Shape') {\n Util.throw('You may only add groups and shapes to a layer.');\n }\n }\n _toKonvaCanvas(config) {\n config = config || {};\n config.width = config.width || this.getWidth();\n config.height = config.height || this.getHeight();\n config.x = config.x !== undefined ? config.x : this.x();\n config.y = config.y !== undefined ? config.y : this.y();\n return Node.prototype._toKonvaCanvas.call(this, config);\n }\n _checkVisibility() {\n const visible = this.visible();\n if (visible) {\n this.canvas._canvas.style.display = 'block';\n }\n else {\n this.canvas._canvas.style.display = 'none';\n }\n }\n _setSmoothEnabled() {\n this.getContext()._context.imageSmoothingEnabled =\n this.imageSmoothingEnabled();\n }\n getWidth() {\n if (this.parent) {\n return this.parent.width();\n }\n }\n setWidth() {\n Util.warn('Can not change width of layer. Use \"stage.width(value)\" function instead.');\n }\n getHeight() {\n if (this.parent) {\n return this.parent.height();\n }\n }\n setHeight() {\n Util.warn('Can not change height of layer. Use \"stage.height(value)\" function instead.');\n }\n batchDraw() {\n if (!this._waitingForDraw) {\n this._waitingForDraw = true;\n Util.requestAnimFrame(() => {\n this.draw();\n this._waitingForDraw = false;\n });\n }\n return this;\n }\n getIntersection(pos) {\n if (!this.isListening() || !this.isVisible()) {\n return null;\n }\n var spiralSearchDistance = 1;\n var continueSearch = false;\n while (true) {\n for (let i = 0; i < INTERSECTION_OFFSETS_LEN; i++) {\n const intersectionOffset = INTERSECTION_OFFSETS[i];\n const obj = this._getIntersection({\n x: pos.x + intersectionOffset.x * spiralSearchDistance,\n y: pos.y + intersectionOffset.y * spiralSearchDistance,\n });\n const shape = obj.shape;\n if (shape) {\n return shape;\n }\n continueSearch = !!obj.antialiased;\n if (!obj.antialiased) {\n break;\n }\n }\n if (continueSearch) {\n spiralSearchDistance += 1;\n }\n else {\n return null;\n }\n }\n }\n _getIntersection(pos) {\n const ratio = this.hitCanvas.pixelRatio;\n const p = this.hitCanvas.context.getImageData(Math.round(pos.x * ratio), Math.round(pos.y * ratio), 1, 1).data;\n const p3 = p[3];\n if (p3 === 255) {\n const colorKey = Util._rgbToHex(p[0], p[1], p[2]);\n const shape = shapes[HASH + colorKey];\n if (shape) {\n return {\n shape: shape,\n };\n }\n return {\n antialiased: true,\n };\n }\n else if (p3 > 0) {\n return {\n antialiased: true,\n };\n }\n return {};\n }\n drawScene(can, top) {\n var layer = this.getLayer(), canvas = can || (layer && layer.getCanvas());\n this._fire(BEFORE_DRAW, {\n node: this,\n });\n if (this.clearBeforeDraw()) {\n canvas.getContext().clear();\n }\n Container.prototype.drawScene.call(this, canvas, top);\n this._fire(DRAW, {\n node: this,\n });\n return this;\n }\n drawHit(can, top) {\n var layer = this.getLayer(), canvas = can || (layer && layer.hitCanvas);\n if (layer && layer.clearBeforeDraw()) {\n layer.getHitCanvas().getContext().clear();\n }\n Container.prototype.drawHit.call(this, canvas, top);\n return this;\n }\n enableHitGraph() {\n this.hitGraphEnabled(true);\n return this;\n }\n disableHitGraph() {\n this.hitGraphEnabled(false);\n return this;\n }\n setHitGraphEnabled(val) {\n Util.warn('hitGraphEnabled method is deprecated. Please use layer.listening() instead.');\n this.listening(val);\n }\n getHitGraphEnabled(val) {\n Util.warn('hitGraphEnabled method is deprecated. Please use layer.listening() instead.');\n return this.listening();\n }\n toggleHitCanvas() {\n if (!this.parent || !this.parent['content']) {\n return;\n }\n var parent = this.parent;\n var added = !!this.hitCanvas._canvas.parentNode;\n if (added) {\n parent.content.removeChild(this.hitCanvas._canvas);\n }\n else {\n parent.content.appendChild(this.hitCanvas._canvas);\n }\n }\n destroy() {\n Util.releaseCanvas(this.getNativeCanvasElement(), this.getHitCanvas()._canvas);\n return super.destroy();\n }\n}\nLayer.prototype.nodeType = 'Layer';\n_registerNode(Layer);\nFactory.addGetterSetter(Layer, 'imageSmoothingEnabled', true);\nFactory.addGetterSetter(Layer, 'clearBeforeDraw', true);\nFactory.addGetterSetter(Layer, 'hitGraphEnabled', true, getBooleanValidator());\n","import { Util } from './Util.js';\nimport { Layer } from './Layer.js';\nimport { _registerNode } from './Global.js';\nexport class FastLayer extends Layer {\n constructor(attrs) {\n super(attrs);\n this.listening(false);\n Util.warn('Konva.Fast layer is deprecated. Please use \"new Konva.Layer({ listening: false })\" instead.');\n }\n}\nFastLayer.prototype.nodeType = 'FastLayer';\n_registerNode(FastLayer);\n","import { Util } from './Util.js';\nimport { Container } from './Container.js';\nimport { _registerNode } from './Global.js';\nexport class Group extends Container {\n _validateAdd(child) {\n var type = child.getType();\n if (type !== 'Group' && type !== 'Shape') {\n Util.throw('You may only add groups and shapes to groups.');\n }\n }\n}\nGroup.prototype.nodeType = 'Group';\n_registerNode(Group);\n","import { glob } from './Global.js';\nimport { Util } from './Util.js';\nvar now = (function () {\n if (glob.performance && glob.performance.now) {\n return function () {\n return glob.performance.now();\n };\n }\n return function () {\n return new Date().getTime();\n };\n})();\nexport class Animation {\n constructor(func, layers) {\n this.id = Animation.animIdCounter++;\n this.frame = {\n time: 0,\n timeDiff: 0,\n lastTime: now(),\n frameRate: 0,\n };\n this.func = func;\n this.setLayers(layers);\n }\n setLayers(layers) {\n var lays = [];\n if (!layers) {\n lays = [];\n }\n else if (layers.length > 0) {\n lays = layers;\n }\n else {\n lays = [layers];\n }\n this.layers = lays;\n return this;\n }\n getLayers() {\n return this.layers;\n }\n addLayer(layer) {\n var layers = this.layers, len = layers.length, n;\n for (n = 0; n < len; n++) {\n if (layers[n]._id === layer._id) {\n return false;\n }\n }\n this.layers.push(layer);\n return true;\n }\n isRunning() {\n var a = Animation, animations = a.animations, len = animations.length, n;\n for (n = 0; n < len; n++) {\n if (animations[n].id === this.id) {\n return true;\n }\n }\n return false;\n }\n start() {\n this.stop();\n this.frame.timeDiff = 0;\n this.frame.lastTime = now();\n Animation._addAnimation(this);\n return this;\n }\n stop() {\n Animation._removeAnimation(this);\n return this;\n }\n _updateFrameObject(time) {\n this.frame.timeDiff = time - this.frame.lastTime;\n this.frame.lastTime = time;\n this.frame.time += this.frame.timeDiff;\n this.frame.frameRate = 1000 / this.frame.timeDiff;\n }\n static _addAnimation(anim) {\n this.animations.push(anim);\n this._handleAnimation();\n }\n static _removeAnimation(anim) {\n var id = anim.id, animations = this.animations, len = animations.length, n;\n for (n = 0; n < len; n++) {\n if (animations[n].id === id) {\n this.animations.splice(n, 1);\n break;\n }\n }\n }\n static _runFrames() {\n var layerHash = {}, animations = this.animations, anim, layers, func, n, i, layersLen, layer, key, needRedraw;\n for (n = 0; n < animations.length; n++) {\n anim = animations[n];\n layers = anim.layers;\n func = anim.func;\n anim._updateFrameObject(now());\n layersLen = layers.length;\n if (func) {\n needRedraw = func.call(anim, anim.frame) !== false;\n }\n else {\n needRedraw = true;\n }\n if (!needRedraw) {\n continue;\n }\n for (i = 0; i < layersLen; i++) {\n layer = layers[i];\n if (layer._id !== undefined) {\n layerHash[layer._id] = layer;\n }\n }\n }\n for (key in layerHash) {\n if (!layerHash.hasOwnProperty(key)) {\n continue;\n }\n layerHash[key].batchDraw();\n }\n }\n static _animationLoop() {\n var Anim = Animation;\n if (Anim.animations.length) {\n Anim._runFrames();\n Util.requestAnimFrame(Anim._animationLoop);\n }\n else {\n Anim.animRunning = false;\n }\n }\n static _handleAnimation() {\n if (!this.animRunning) {\n this.animRunning = true;\n Util.requestAnimFrame(this._animationLoop);\n }\n }\n}\nAnimation.animations = [];\nAnimation.animIdCounter = 0;\nAnimation.animRunning = false;\n","import { Util } from './Util.js';\nimport { Animation } from './Animation.js';\nimport { Node } from './Node.js';\nimport { Konva } from './Global.js';\nvar blacklist = {\n node: 1,\n duration: 1,\n easing: 1,\n onFinish: 1,\n yoyo: 1,\n}, PAUSED = 1, PLAYING = 2, REVERSING = 3, idCounter = 0, colorAttrs = ['fill', 'stroke', 'shadowColor'];\nclass TweenEngine {\n constructor(prop, propFunc, func, begin, finish, duration, yoyo) {\n this.prop = prop;\n this.propFunc = propFunc;\n this.begin = begin;\n this._pos = begin;\n this.duration = duration;\n this._change = 0;\n this.prevPos = 0;\n this.yoyo = yoyo;\n this._time = 0;\n this._position = 0;\n this._startTime = 0;\n this._finish = 0;\n this.func = func;\n this._change = finish - this.begin;\n this.pause();\n }\n fire(str) {\n var handler = this[str];\n if (handler) {\n handler();\n }\n }\n setTime(t) {\n if (t > this.duration) {\n if (this.yoyo) {\n this._time = this.duration;\n this.reverse();\n }\n else {\n this.finish();\n }\n }\n else if (t < 0) {\n if (this.yoyo) {\n this._time = 0;\n this.play();\n }\n else {\n this.reset();\n }\n }\n else {\n this._time = t;\n this.update();\n }\n }\n getTime() {\n return this._time;\n }\n setPosition(p) {\n this.prevPos = this._pos;\n this.propFunc(p);\n this._pos = p;\n }\n getPosition(t) {\n if (t === undefined) {\n t = this._time;\n }\n return this.func(t, this.begin, this._change, this.duration);\n }\n play() {\n this.state = PLAYING;\n this._startTime = this.getTimer() - this._time;\n this.onEnterFrame();\n this.fire('onPlay');\n }\n reverse() {\n this.state = REVERSING;\n this._time = this.duration - this._time;\n this._startTime = this.getTimer() - this._time;\n this.onEnterFrame();\n this.fire('onReverse');\n }\n seek(t) {\n this.pause();\n this._time = t;\n this.update();\n this.fire('onSeek');\n }\n reset() {\n this.pause();\n this._time = 0;\n this.update();\n this.fire('onReset');\n }\n finish() {\n this.pause();\n this._time = this.duration;\n this.update();\n this.fire('onFinish');\n }\n update() {\n this.setPosition(this.getPosition(this._time));\n this.fire('onUpdate');\n }\n onEnterFrame() {\n var t = this.getTimer() - this._startTime;\n if (this.state === PLAYING) {\n this.setTime(t);\n }\n else if (this.state === REVERSING) {\n this.setTime(this.duration - t);\n }\n }\n pause() {\n this.state = PAUSED;\n this.fire('onPause');\n }\n getTimer() {\n return new Date().getTime();\n }\n}\nexport class Tween {\n constructor(config) {\n var that = this, node = config.node, nodeId = node._id, duration, easing = config.easing || Easings.Linear, yoyo = !!config.yoyo, key;\n if (typeof config.duration === 'undefined') {\n duration = 0.3;\n }\n else if (config.duration === 0) {\n duration = 0.001;\n }\n else {\n duration = config.duration;\n }\n this.node = node;\n this._id = idCounter++;\n var layers = node.getLayer() ||\n (node instanceof Konva['Stage'] ? node.getLayers() : null);\n if (!layers) {\n Util.error('Tween constructor have `node` that is not in a layer. Please add node into layer first.');\n }\n this.anim = new Animation(function () {\n that.tween.onEnterFrame();\n }, layers);\n this.tween = new TweenEngine(key, function (i) {\n that._tweenFunc(i);\n }, easing, 0, 1, duration * 1000, yoyo);\n this._addListeners();\n if (!Tween.attrs[nodeId]) {\n Tween.attrs[nodeId] = {};\n }\n if (!Tween.attrs[nodeId][this._id]) {\n Tween.attrs[nodeId][this._id] = {};\n }\n if (!Tween.tweens[nodeId]) {\n Tween.tweens[nodeId] = {};\n }\n for (key in config) {\n if (blacklist[key] === undefined) {\n this._addAttr(key, config[key]);\n }\n }\n this.reset();\n this.onFinish = config.onFinish;\n this.onReset = config.onReset;\n this.onUpdate = config.onUpdate;\n }\n _addAttr(key, end) {\n var node = this.node, nodeId = node._id, start, diff, tweenId, n, len, trueEnd, trueStart, endRGBA;\n tweenId = Tween.tweens[nodeId][key];\n if (tweenId) {\n delete Tween.attrs[nodeId][tweenId][key];\n }\n start = node.getAttr(key);\n if (Util._isArray(end)) {\n diff = [];\n len = Math.max(end.length, start.length);\n if (key === 'points' && end.length !== start.length) {\n if (end.length > start.length) {\n trueStart = start;\n start = Util._prepareArrayForTween(start, end, node.closed());\n }\n else {\n trueEnd = end;\n end = Util._prepareArrayForTween(end, start, node.closed());\n }\n }\n if (key.indexOf('fill') === 0) {\n for (n = 0; n < len; n++) {\n if (n % 2 === 0) {\n diff.push(end[n] - start[n]);\n }\n else {\n var startRGBA = Util.colorToRGBA(start[n]);\n endRGBA = Util.colorToRGBA(end[n]);\n start[n] = startRGBA;\n diff.push({\n r: endRGBA.r - startRGBA.r,\n g: endRGBA.g - startRGBA.g,\n b: endRGBA.b - startRGBA.b,\n a: endRGBA.a - startRGBA.a,\n });\n }\n }\n }\n else {\n for (n = 0; n < len; n++) {\n diff.push(end[n] - start[n]);\n }\n }\n }\n else if (colorAttrs.indexOf(key) !== -1) {\n start = Util.colorToRGBA(start);\n endRGBA = Util.colorToRGBA(end);\n diff = {\n r: endRGBA.r - start.r,\n g: endRGBA.g - start.g,\n b: endRGBA.b - start.b,\n a: endRGBA.a - start.a,\n };\n }\n else {\n diff = end - start;\n }\n Tween.attrs[nodeId][this._id][key] = {\n start: start,\n diff: diff,\n end: end,\n trueEnd: trueEnd,\n trueStart: trueStart,\n };\n Tween.tweens[nodeId][key] = this._id;\n }\n _tweenFunc(i) {\n var node = this.node, attrs = Tween.attrs[node._id][this._id], key, attr, start, diff, newVal, n, len, end;\n for (key in attrs) {\n attr = attrs[key];\n start = attr.start;\n diff = attr.diff;\n end = attr.end;\n if (Util._isArray(start)) {\n newVal = [];\n len = Math.max(start.length, end.length);\n if (key.indexOf('fill') === 0) {\n for (n = 0; n < len; n++) {\n if (n % 2 === 0) {\n newVal.push((start[n] || 0) + diff[n] * i);\n }\n else {\n newVal.push('rgba(' +\n Math.round(start[n].r + diff[n].r * i) +\n ',' +\n Math.round(start[n].g + diff[n].g * i) +\n ',' +\n Math.round(start[n].b + diff[n].b * i) +\n ',' +\n (start[n].a + diff[n].a * i) +\n ')');\n }\n }\n }\n else {\n for (n = 0; n < len; n++) {\n newVal.push((start[n] || 0) + diff[n] * i);\n }\n }\n }\n else if (colorAttrs.indexOf(key) !== -1) {\n newVal =\n 'rgba(' +\n Math.round(start.r + diff.r * i) +\n ',' +\n Math.round(start.g + diff.g * i) +\n ',' +\n Math.round(start.b + diff.b * i) +\n ',' +\n (start.a + diff.a * i) +\n ')';\n }\n else {\n newVal = start + diff * i;\n }\n node.setAttr(key, newVal);\n }\n }\n _addListeners() {\n this.tween.onPlay = () => {\n this.anim.start();\n };\n this.tween.onReverse = () => {\n this.anim.start();\n };\n this.tween.onPause = () => {\n this.anim.stop();\n };\n this.tween.onFinish = () => {\n var node = this.node;\n var attrs = Tween.attrs[node._id][this._id];\n if (attrs.points && attrs.points.trueEnd) {\n node.setAttr('points', attrs.points.trueEnd);\n }\n if (this.onFinish) {\n this.onFinish.call(this);\n }\n };\n this.tween.onReset = () => {\n var node = this.node;\n var attrs = Tween.attrs[node._id][this._id];\n if (attrs.points && attrs.points.trueStart) {\n node.points(attrs.points.trueStart);\n }\n if (this.onReset) {\n this.onReset();\n }\n };\n this.tween.onUpdate = () => {\n if (this.onUpdate) {\n this.onUpdate.call(this);\n }\n };\n }\n play() {\n this.tween.play();\n return this;\n }\n reverse() {\n this.tween.reverse();\n return this;\n }\n reset() {\n this.tween.reset();\n return this;\n }\n seek(t) {\n this.tween.seek(t * 1000);\n return this;\n }\n pause() {\n this.tween.pause();\n return this;\n }\n finish() {\n this.tween.finish();\n return this;\n }\n destroy() {\n var nodeId = this.node._id, thisId = this._id, attrs = Tween.tweens[nodeId], key;\n this.pause();\n for (key in attrs) {\n delete Tween.tweens[nodeId][key];\n }\n delete Tween.attrs[nodeId][thisId];\n }\n}\nTween.attrs = {};\nTween.tweens = {};\nNode.prototype.to = function (params) {\n var onFinish = params.onFinish;\n params.node = this;\n params.onFinish = function () {\n this.destroy();\n if (onFinish) {\n onFinish();\n }\n };\n var tween = new Tween(params);\n tween.play();\n};\nexport const Easings = {\n BackEaseIn(t, b, c, d) {\n var s = 1.70158;\n return c * (t /= d) * t * ((s + 1) * t - s) + b;\n },\n BackEaseOut(t, b, c, d) {\n var s = 1.70158;\n return c * ((t = t / d - 1) * t * ((s + 1) * t + s) + 1) + b;\n },\n BackEaseInOut(t, b, c, d) {\n var s = 1.70158;\n if ((t /= d / 2) < 1) {\n return (c / 2) * (t * t * (((s *= 1.525) + 1) * t - s)) + b;\n }\n return (c / 2) * ((t -= 2) * t * (((s *= 1.525) + 1) * t + s) + 2) + b;\n },\n ElasticEaseIn(t, b, c, d, a, p) {\n var s = 0;\n if (t === 0) {\n return b;\n }\n if ((t /= d) === 1) {\n return b + c;\n }\n if (!p) {\n p = d * 0.3;\n }\n if (!a || a < Math.abs(c)) {\n a = c;\n s = p / 4;\n }\n else {\n s = (p / (2 * Math.PI)) * Math.asin(c / a);\n }\n return (-(a *\n Math.pow(2, 10 * (t -= 1)) *\n Math.sin(((t * d - s) * (2 * Math.PI)) / p)) + b);\n },\n ElasticEaseOut(t, b, c, d, a, p) {\n var s = 0;\n if (t === 0) {\n return b;\n }\n if ((t /= d) === 1) {\n return b + c;\n }\n if (!p) {\n p = d * 0.3;\n }\n if (!a || a < Math.abs(c)) {\n a = c;\n s = p / 4;\n }\n else {\n s = (p / (2 * Math.PI)) * Math.asin(c / a);\n }\n return (a * Math.pow(2, -10 * t) * Math.sin(((t * d - s) * (2 * Math.PI)) / p) +\n c +\n b);\n },\n ElasticEaseInOut(t, b, c, d, a, p) {\n var s = 0;\n if (t === 0) {\n return b;\n }\n if ((t /= d / 2) === 2) {\n return b + c;\n }\n if (!p) {\n p = d * (0.3 * 1.5);\n }\n if (!a || a < Math.abs(c)) {\n a = c;\n s = p / 4;\n }\n else {\n s = (p / (2 * Math.PI)) * Math.asin(c / a);\n }\n if (t < 1) {\n return (-0.5 *\n (a *\n Math.pow(2, 10 * (t -= 1)) *\n Math.sin(((t * d - s) * (2 * Math.PI)) / p)) +\n b);\n }\n return (a *\n Math.pow(2, -10 * (t -= 1)) *\n Math.sin(((t * d - s) * (2 * Math.PI)) / p) *\n 0.5 +\n c +\n b);\n },\n BounceEaseOut(t, b, c, d) {\n if ((t /= d) < 1 / 2.75) {\n return c * (7.5625 * t * t) + b;\n }\n else if (t < 2 / 2.75) {\n return c * (7.5625 * (t -= 1.5 / 2.75) * t + 0.75) + b;\n }\n else if (t < 2.5 / 2.75) {\n return c * (7.5625 * (t -= 2.25 / 2.75) * t + 0.9375) + b;\n }\n else {\n return c * (7.5625 * (t -= 2.625 / 2.75) * t + 0.984375) + b;\n }\n },\n BounceEaseIn(t, b, c, d) {\n return c - Easings.BounceEaseOut(d - t, 0, c, d) + b;\n },\n BounceEaseInOut(t, b, c, d) {\n if (t < d / 2) {\n return Easings.BounceEaseIn(t * 2, 0, c, d) * 0.5 + b;\n }\n else {\n return Easings.BounceEaseOut(t * 2 - d, 0, c, d) * 0.5 + c * 0.5 + b;\n }\n },\n EaseIn(t, b, c, d) {\n return c * (t /= d) * t + b;\n },\n EaseOut(t, b, c, d) {\n return -c * (t /= d) * (t - 2) + b;\n },\n EaseInOut(t, b, c, d) {\n if ((t /= d / 2) < 1) {\n return (c / 2) * t * t + b;\n }\n return (-c / 2) * (--t * (t - 2) - 1) + b;\n },\n StrongEaseIn(t, b, c, d) {\n return c * (t /= d) * t * t * t * t + b;\n },\n StrongEaseOut(t, b, c, d) {\n return c * ((t = t / d - 1) * t * t * t * t + 1) + b;\n },\n StrongEaseInOut(t, b, c, d) {\n if ((t /= d / 2) < 1) {\n return (c / 2) * t * t * t * t * t + b;\n }\n return (c / 2) * ((t -= 2) * t * t * t * t + 2) + b;\n },\n Linear(t, b, c, d) {\n return (c * t) / d + b;\n },\n};\n","import { Konva as Global } from './Global.js';\nimport { Util, Transform } from './Util.js';\nimport { Node } from './Node.js';\nimport { Container } from './Container.js';\nimport { Stage, stages } from './Stage.js';\nimport { Layer } from './Layer.js';\nimport { FastLayer } from './FastLayer.js';\nimport { Group } from './Group.js';\nimport { DD } from './DragAndDrop.js';\nimport { Shape, shapes } from './Shape.js';\nimport { Animation } from './Animation.js';\nimport { Tween, Easings } from './Tween.js';\nimport { Context } from './Context.js';\nimport { Canvas } from './Canvas.js';\nexport const Konva = Util._assign(Global, {\n Util,\n Transform,\n Node,\n Container,\n Stage,\n stages,\n Layer,\n FastLayer,\n Group,\n DD,\n Shape,\n shapes,\n Animation,\n Tween,\n Easings,\n Context,\n Canvas,\n});\nexport default Konva;\n","import { Factory } from '../Factory.js';\nimport { Shape } from '../Shape.js';\nimport { Konva } from '../Global.js';\nimport { getNumberValidator, getBooleanValidator } from '../Validators.js';\nimport { _registerNode } from '../Global.js';\nexport class Arc extends Shape {\n _sceneFunc(context) {\n var angle = Konva.getAngle(this.angle()), clockwise = this.clockwise();\n context.beginPath();\n context.arc(0, 0, this.outerRadius(), 0, angle, clockwise);\n context.arc(0, 0, this.innerRadius(), angle, 0, !clockwise);\n context.closePath();\n context.fillStrokeShape(this);\n }\n getWidth() {\n return this.outerRadius() * 2;\n }\n getHeight() {\n return this.outerRadius() * 2;\n }\n setWidth(width) {\n this.outerRadius(width / 2);\n }\n setHeight(height) {\n this.outerRadius(height / 2);\n }\n getSelfRect() {\n const innerRadius = this.innerRadius();\n const outerRadius = this.outerRadius();\n const clockwise = this.clockwise();\n const angle = Konva.getAngle(clockwise ? 360 - this.angle() : this.angle());\n const boundLeftRatio = Math.cos(Math.min(angle, Math.PI));\n const boundRightRatio = 1;\n const boundTopRatio = Math.sin(Math.min(Math.max(Math.PI, angle), (3 * Math.PI) / 2));\n const boundBottomRatio = Math.sin(Math.min(angle, Math.PI / 2));\n const boundLeft = boundLeftRatio * (boundLeftRatio > 0 ? innerRadius : outerRadius);\n const boundRight = boundRightRatio * (boundRightRatio > 0 ? outerRadius : innerRadius);\n const boundTop = boundTopRatio * (boundTopRatio > 0 ? innerRadius : outerRadius);\n const boundBottom = boundBottomRatio * (boundBottomRatio > 0 ? outerRadius : innerRadius);\n return {\n x: boundLeft,\n y: clockwise ? -1 * boundBottom : boundTop,\n width: boundRight - boundLeft,\n height: boundBottom - boundTop,\n };\n }\n}\nArc.prototype._centroid = true;\nArc.prototype.className = 'Arc';\nArc.prototype._attrsAffectingSize = ['innerRadius', 'outerRadius'];\n_registerNode(Arc);\nFactory.addGetterSetter(Arc, 'innerRadius', 0, getNumberValidator());\nFactory.addGetterSetter(Arc, 'outerRadius', 0, getNumberValidator());\nFactory.addGetterSetter(Arc, 'angle', 0, getNumberValidator());\nFactory.addGetterSetter(Arc, 'clockwise', false, getBooleanValidator());\n","import arrayWithoutHoles from \"@babel/runtime/helpers/esm/arrayWithoutHoles\";\nimport iterableToArray from \"@babel/runtime/helpers/esm/iterableToArray\";\nimport unsupportedIterableToArray from \"@babel/runtime/helpers/esm/unsupportedIterableToArray\";\nimport nonIterableSpread from \"@babel/runtime/helpers/esm/nonIterableSpread\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"@babel/runtime/helpers/esm/arrayLikeToArray\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import { Factory } from '../Factory.js';\nimport { Shape } from '../Shape.js';\nimport { getNumberValidator, getNumberArrayValidator } from '../Validators.js';\nimport { _registerNode } from '../Global.js';\nfunction getControlPoints(x0, y0, x1, y1, x2, y2, t) {\n var d01 = Math.sqrt(Math.pow(x1 - x0, 2) + Math.pow(y1 - y0, 2)), d12 = Math.sqrt(Math.pow(x2 - x1, 2) + Math.pow(y2 - y1, 2)), fa = (t * d01) / (d01 + d12), fb = (t * d12) / (d01 + d12), p1x = x1 - fa * (x2 - x0), p1y = y1 - fa * (y2 - y0), p2x = x1 + fb * (x2 - x0), p2y = y1 + fb * (y2 - y0);\n return [p1x, p1y, p2x, p2y];\n}\nfunction expandPoints(p, tension) {\n var len = p.length, allPoints = [], n, cp;\n for (n = 2; n < len - 2; n += 2) {\n cp = getControlPoints(p[n - 2], p[n - 1], p[n], p[n + 1], p[n + 2], p[n + 3], tension);\n if (isNaN(cp[0])) {\n continue;\n }\n allPoints.push(cp[0]);\n allPoints.push(cp[1]);\n allPoints.push(p[n]);\n allPoints.push(p[n + 1]);\n allPoints.push(cp[2]);\n allPoints.push(cp[3]);\n }\n return allPoints;\n}\nexport class Line extends Shape {\n constructor(config) {\n super(config);\n this.on('pointsChange.konva tensionChange.konva closedChange.konva bezierChange.konva', function () {\n this._clearCache('tensionPoints');\n });\n }\n _sceneFunc(context) {\n var points = this.points(), length = points.length, tension = this.tension(), closed = this.closed(), bezier = this.bezier(), tp, len, n;\n if (!length) {\n return;\n }\n context.beginPath();\n context.moveTo(points[0], points[1]);\n if (tension !== 0 && length > 4) {\n tp = this.getTensionPoints();\n len = tp.length;\n n = closed ? 0 : 4;\n if (!closed) {\n context.quadraticCurveTo(tp[0], tp[1], tp[2], tp[3]);\n }\n while (n < len - 2) {\n context.bezierCurveTo(tp[n++], tp[n++], tp[n++], tp[n++], tp[n++], tp[n++]);\n }\n if (!closed) {\n context.quadraticCurveTo(tp[len - 2], tp[len - 1], points[length - 2], points[length - 1]);\n }\n }\n else if (bezier) {\n n = 2;\n while (n < length) {\n context.bezierCurveTo(points[n++], points[n++], points[n++], points[n++], points[n++], points[n++]);\n }\n }\n else {\n for (n = 2; n < length; n += 2) {\n context.lineTo(points[n], points[n + 1]);\n }\n }\n if (closed) {\n context.closePath();\n context.fillStrokeShape(this);\n }\n else {\n context.strokeShape(this);\n }\n }\n getTensionPoints() {\n return this._getCache('tensionPoints', this._getTensionPoints);\n }\n _getTensionPoints() {\n if (this.closed()) {\n return this._getTensionPointsClosed();\n }\n else {\n return expandPoints(this.points(), this.tension());\n }\n }\n _getTensionPointsClosed() {\n var p = this.points(), len = p.length, tension = this.tension(), firstControlPoints = getControlPoints(p[len - 2], p[len - 1], p[0], p[1], p[2], p[3], tension), lastControlPoints = getControlPoints(p[len - 4], p[len - 3], p[len - 2], p[len - 1], p[0], p[1], tension), middle = expandPoints(p, tension), tp = [firstControlPoints[2], firstControlPoints[3]]\n .concat(middle)\n .concat([\n lastControlPoints[0],\n lastControlPoints[1],\n p[len - 2],\n p[len - 1],\n lastControlPoints[2],\n lastControlPoints[3],\n firstControlPoints[0],\n firstControlPoints[1],\n p[0],\n p[1],\n ]);\n return tp;\n }\n getWidth() {\n return this.getSelfRect().width;\n }\n getHeight() {\n return this.getSelfRect().height;\n }\n getSelfRect() {\n var points = this.points();\n if (points.length < 4) {\n return {\n x: points[0] || 0,\n y: points[1] || 0,\n width: 0,\n height: 0,\n };\n }\n if (this.tension() !== 0) {\n points = [\n points[0],\n points[1],\n ...this._getTensionPoints(),\n points[points.length - 2],\n points[points.length - 1],\n ];\n }\n else {\n points = this.points();\n }\n var minX = points[0];\n var maxX = points[0];\n var minY = points[1];\n var maxY = points[1];\n var x, y;\n for (var i = 0; i < points.length / 2; i++) {\n x = points[i * 2];\n y = points[i * 2 + 1];\n minX = Math.min(minX, x);\n maxX = Math.max(maxX, x);\n minY = Math.min(minY, y);\n maxY = Math.max(maxY, y);\n }\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY,\n };\n }\n}\nLine.prototype.className = 'Line';\nLine.prototype._attrsAffectingSize = ['points', 'bezier', 'tension'];\n_registerNode(Line);\nFactory.addGetterSetter(Line, 'closed', false);\nFactory.addGetterSetter(Line, 'bezier', false);\nFactory.addGetterSetter(Line, 'tension', 0, getNumberValidator());\nFactory.addGetterSetter(Line, 'points', [], getNumberArrayValidator());\n","import { Factory } from '../Factory.js';\nimport { Shape } from '../Shape.js';\nimport { _registerNode } from '../Global.js';\nexport class Path extends Shape {\n constructor(config) {\n super(config);\n this.dataArray = [];\n this.pathLength = 0;\n this.dataArray = Path.parsePathData(this.data());\n this.pathLength = 0;\n for (var i = 0; i < this.dataArray.length; ++i) {\n this.pathLength += this.dataArray[i].pathLength;\n }\n this.on('dataChange.konva', function () {\n this.dataArray = Path.parsePathData(this.data());\n this.pathLength = 0;\n for (var i = 0; i < this.dataArray.length; ++i) {\n this.pathLength += this.dataArray[i].pathLength;\n }\n });\n }\n _sceneFunc(context) {\n var ca = this.dataArray;\n context.beginPath();\n var isClosed = false;\n for (var n = 0; n < ca.length; n++) {\n var c = ca[n].command;\n var p = ca[n].points;\n switch (c) {\n case 'L':\n context.lineTo(p[0], p[1]);\n break;\n case 'M':\n context.moveTo(p[0], p[1]);\n break;\n case 'C':\n context.bezierCurveTo(p[0], p[1], p[2], p[3], p[4], p[5]);\n break;\n case 'Q':\n context.quadraticCurveTo(p[0], p[1], p[2], p[3]);\n break;\n case 'A':\n var cx = p[0], cy = p[1], rx = p[2], ry = p[3], theta = p[4], dTheta = p[5], psi = p[6], fs = p[7];\n var r = rx > ry ? rx : ry;\n var scaleX = rx > ry ? 1 : rx / ry;\n var scaleY = rx > ry ? ry / rx : 1;\n context.translate(cx, cy);\n context.rotate(psi);\n context.scale(scaleX, scaleY);\n context.arc(0, 0, r, theta, theta + dTheta, 1 - fs);\n context.scale(1 / scaleX, 1 / scaleY);\n context.rotate(-psi);\n context.translate(-cx, -cy);\n break;\n case 'z':\n isClosed = true;\n context.closePath();\n break;\n }\n }\n if (!isClosed && !this.hasFill()) {\n context.strokeShape(this);\n }\n else {\n context.fillStrokeShape(this);\n }\n }\n getSelfRect() {\n var points = [];\n this.dataArray.forEach(function (data) {\n if (data.command === 'A') {\n var start = data.points[4];\n var dTheta = data.points[5];\n var end = data.points[4] + dTheta;\n var inc = Math.PI / 180.0;\n if (Math.abs(start - end) < inc) {\n inc = Math.abs(start - end);\n }\n if (dTheta < 0) {\n for (let t = start - inc; t > end; t -= inc) {\n const point = Path.getPointOnEllipticalArc(data.points[0], data.points[1], data.points[2], data.points[3], t, 0);\n points.push(point.x, point.y);\n }\n }\n else {\n for (let t = start + inc; t < end; t += inc) {\n const point = Path.getPointOnEllipticalArc(data.points[0], data.points[1], data.points[2], data.points[3], t, 0);\n points.push(point.x, point.y);\n }\n }\n }\n else if (data.command === 'C') {\n for (let t = 0.0; t <= 1; t += 0.01) {\n const point = Path.getPointOnCubicBezier(t, data.start.x, data.start.y, data.points[0], data.points[1], data.points[2], data.points[3], data.points[4], data.points[5]);\n points.push(point.x, point.y);\n }\n }\n else {\n points = points.concat(data.points);\n }\n });\n var minX = points[0];\n var maxX = points[0];\n var minY = points[1];\n var maxY = points[1];\n var x, y;\n for (var i = 0; i < points.length / 2; i++) {\n x = points[i * 2];\n y = points[i * 2 + 1];\n if (!isNaN(x)) {\n minX = Math.min(minX, x);\n maxX = Math.max(maxX, x);\n }\n if (!isNaN(y)) {\n minY = Math.min(minY, y);\n maxY = Math.max(maxY, y);\n }\n }\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY,\n };\n }\n getLength() {\n return this.pathLength;\n }\n getPointAtLength(length) {\n var point, i = 0, ii = this.dataArray.length;\n if (!ii) {\n return null;\n }\n while (i < ii && length > this.dataArray[i].pathLength) {\n length -= this.dataArray[i].pathLength;\n ++i;\n }\n if (i === ii) {\n point = this.dataArray[i - 1].points.slice(-2);\n return {\n x: point[0],\n y: point[1],\n };\n }\n if (length < 0.01) {\n point = this.dataArray[i].points.slice(0, 2);\n return {\n x: point[0],\n y: point[1],\n };\n }\n var cp = this.dataArray[i];\n var p = cp.points;\n switch (cp.command) {\n case 'L':\n return Path.getPointOnLine(length, cp.start.x, cp.start.y, p[0], p[1]);\n case 'C':\n return Path.getPointOnCubicBezier(length / cp.pathLength, cp.start.x, cp.start.y, p[0], p[1], p[2], p[3], p[4], p[5]);\n case 'Q':\n return Path.getPointOnQuadraticBezier(length / cp.pathLength, cp.start.x, cp.start.y, p[0], p[1], p[2], p[3]);\n case 'A':\n var cx = p[0], cy = p[1], rx = p[2], ry = p[3], theta = p[4], dTheta = p[5], psi = p[6];\n theta += (dTheta * length) / cp.pathLength;\n return Path.getPointOnEllipticalArc(cx, cy, rx, ry, theta, psi);\n }\n return null;\n }\n static getLineLength(x1, y1, x2, y2) {\n return Math.sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1));\n }\n static getPointOnLine(dist, P1x, P1y, P2x, P2y, fromX, fromY) {\n if (fromX === undefined) {\n fromX = P1x;\n }\n if (fromY === undefined) {\n fromY = P1y;\n }\n var m = (P2y - P1y) / (P2x - P1x + 0.00000001);\n var run = Math.sqrt((dist * dist) / (1 + m * m));\n if (P2x < P1x) {\n run *= -1;\n }\n var rise = m * run;\n var pt;\n if (P2x === P1x) {\n pt = {\n x: fromX,\n y: fromY + rise,\n };\n }\n else if ((fromY - P1y) / (fromX - P1x + 0.00000001) === m) {\n pt = {\n x: fromX + run,\n y: fromY + rise,\n };\n }\n else {\n var ix, iy;\n var len = this.getLineLength(P1x, P1y, P2x, P2y);\n var u = (fromX - P1x) * (P2x - P1x) + (fromY - P1y) * (P2y - P1y);\n u = u / (len * len);\n ix = P1x + u * (P2x - P1x);\n iy = P1y + u * (P2y - P1y);\n var pRise = this.getLineLength(fromX, fromY, ix, iy);\n var pRun = Math.sqrt(dist * dist - pRise * pRise);\n run = Math.sqrt((pRun * pRun) / (1 + m * m));\n if (P2x < P1x) {\n run *= -1;\n }\n rise = m * run;\n pt = {\n x: ix + run,\n y: iy + rise,\n };\n }\n return pt;\n }\n static getPointOnCubicBezier(pct, P1x, P1y, P2x, P2y, P3x, P3y, P4x, P4y) {\n function CB1(t) {\n return t * t * t;\n }\n function CB2(t) {\n return 3 * t * t * (1 - t);\n }\n function CB3(t) {\n return 3 * t * (1 - t) * (1 - t);\n }\n function CB4(t) {\n return (1 - t) * (1 - t) * (1 - t);\n }\n var x = P4x * CB1(pct) + P3x * CB2(pct) + P2x * CB3(pct) + P1x * CB4(pct);\n var y = P4y * CB1(pct) + P3y * CB2(pct) + P2y * CB3(pct) + P1y * CB4(pct);\n return {\n x: x,\n y: y,\n };\n }\n static getPointOnQuadraticBezier(pct, P1x, P1y, P2x, P2y, P3x, P3y) {\n function QB1(t) {\n return t * t;\n }\n function QB2(t) {\n return 2 * t * (1 - t);\n }\n function QB3(t) {\n return (1 - t) * (1 - t);\n }\n var x = P3x * QB1(pct) + P2x * QB2(pct) + P1x * QB3(pct);\n var y = P3y * QB1(pct) + P2y * QB2(pct) + P1y * QB3(pct);\n return {\n x: x,\n y: y,\n };\n }\n static getPointOnEllipticalArc(cx, cy, rx, ry, theta, psi) {\n var cosPsi = Math.cos(psi), sinPsi = Math.sin(psi);\n var pt = {\n x: rx * Math.cos(theta),\n y: ry * Math.sin(theta),\n };\n return {\n x: cx + (pt.x * cosPsi - pt.y * sinPsi),\n y: cy + (pt.x * sinPsi + pt.y * cosPsi),\n };\n }\n static parsePathData(data) {\n if (!data) {\n return [];\n }\n var cs = data;\n var cc = [\n 'm',\n 'M',\n 'l',\n 'L',\n 'v',\n 'V',\n 'h',\n 'H',\n 'z',\n 'Z',\n 'c',\n 'C',\n 'q',\n 'Q',\n 't',\n 'T',\n 's',\n 'S',\n 'a',\n 'A',\n ];\n cs = cs.replace(new RegExp(' ', 'g'), ',');\n for (var n = 0; n < cc.length; n++) {\n cs = cs.replace(new RegExp(cc[n], 'g'), '|' + cc[n]);\n }\n var arr = cs.split('|');\n var ca = [];\n var coords = [];\n var cpx = 0;\n var cpy = 0;\n var re = /([-+]?((\\d+\\.\\d+)|((\\d+)|(\\.\\d+)))(?:e[-+]?\\d+)?)/gi;\n var match;\n for (n = 1; n < arr.length; n++) {\n var str = arr[n];\n var c = str.charAt(0);\n str = str.slice(1);\n coords.length = 0;\n while ((match = re.exec(str))) {\n coords.push(match[0]);\n }\n var p = [];\n for (var j = 0, jlen = coords.length; j < jlen; j++) {\n if (coords[j] === '00') {\n p.push(0, 0);\n continue;\n }\n var parsed = parseFloat(coords[j]);\n if (!isNaN(parsed)) {\n p.push(parsed);\n }\n else {\n p.push(0);\n }\n }\n while (p.length > 0) {\n if (isNaN(p[0])) {\n break;\n }\n var cmd = null;\n var points = [];\n var startX = cpx, startY = cpy;\n var prevCmd, ctlPtx, ctlPty;\n var rx, ry, psi, fa, fs, x1, y1;\n switch (c) {\n case 'l':\n cpx += p.shift();\n cpy += p.shift();\n cmd = 'L';\n points.push(cpx, cpy);\n break;\n case 'L':\n cpx = p.shift();\n cpy = p.shift();\n points.push(cpx, cpy);\n break;\n case 'm':\n var dx = p.shift();\n var dy = p.shift();\n cpx += dx;\n cpy += dy;\n cmd = 'M';\n if (ca.length > 2 && ca[ca.length - 1].command === 'z') {\n for (var idx = ca.length - 2; idx >= 0; idx--) {\n if (ca[idx].command === 'M') {\n cpx = ca[idx].points[0] + dx;\n cpy = ca[idx].points[1] + dy;\n break;\n }\n }\n }\n points.push(cpx, cpy);\n c = 'l';\n break;\n case 'M':\n cpx = p.shift();\n cpy = p.shift();\n cmd = 'M';\n points.push(cpx, cpy);\n c = 'L';\n break;\n case 'h':\n cpx += p.shift();\n cmd = 'L';\n points.push(cpx, cpy);\n break;\n case 'H':\n cpx = p.shift();\n cmd = 'L';\n points.push(cpx, cpy);\n break;\n case 'v':\n cpy += p.shift();\n cmd = 'L';\n points.push(cpx, cpy);\n break;\n case 'V':\n cpy = p.shift();\n cmd = 'L';\n points.push(cpx, cpy);\n break;\n case 'C':\n points.push(p.shift(), p.shift(), p.shift(), p.shift());\n cpx = p.shift();\n cpy = p.shift();\n points.push(cpx, cpy);\n break;\n case 'c':\n points.push(cpx + p.shift(), cpy + p.shift(), cpx + p.shift(), cpy + p.shift());\n cpx += p.shift();\n cpy += p.shift();\n cmd = 'C';\n points.push(cpx, cpy);\n break;\n case 'S':\n ctlPtx = cpx;\n ctlPty = cpy;\n prevCmd = ca[ca.length - 1];\n if (prevCmd.command === 'C') {\n ctlPtx = cpx + (cpx - prevCmd.points[2]);\n ctlPty = cpy + (cpy - prevCmd.points[3]);\n }\n points.push(ctlPtx, ctlPty, p.shift(), p.shift());\n cpx = p.shift();\n cpy = p.shift();\n cmd = 'C';\n points.push(cpx, cpy);\n break;\n case 's':\n ctlPtx = cpx;\n ctlPty = cpy;\n prevCmd = ca[ca.length - 1];\n if (prevCmd.command === 'C') {\n ctlPtx = cpx + (cpx - prevCmd.points[2]);\n ctlPty = cpy + (cpy - prevCmd.points[3]);\n }\n points.push(ctlPtx, ctlPty, cpx + p.shift(), cpy + p.shift());\n cpx += p.shift();\n cpy += p.shift();\n cmd = 'C';\n points.push(cpx, cpy);\n break;\n case 'Q':\n points.push(p.shift(), p.shift());\n cpx = p.shift();\n cpy = p.shift();\n points.push(cpx, cpy);\n break;\n case 'q':\n points.push(cpx + p.shift(), cpy + p.shift());\n cpx += p.shift();\n cpy += p.shift();\n cmd = 'Q';\n points.push(cpx, cpy);\n break;\n case 'T':\n ctlPtx = cpx;\n ctlPty = cpy;\n prevCmd = ca[ca.length - 1];\n if (prevCmd.command === 'Q') {\n ctlPtx = cpx + (cpx - prevCmd.points[0]);\n ctlPty = cpy + (cpy - prevCmd.points[1]);\n }\n cpx = p.shift();\n cpy = p.shift();\n cmd = 'Q';\n points.push(ctlPtx, ctlPty, cpx, cpy);\n break;\n case 't':\n ctlPtx = cpx;\n ctlPty = cpy;\n prevCmd = ca[ca.length - 1];\n if (prevCmd.command === 'Q') {\n ctlPtx = cpx + (cpx - prevCmd.points[0]);\n ctlPty = cpy + (cpy - prevCmd.points[1]);\n }\n cpx += p.shift();\n cpy += p.shift();\n cmd = 'Q';\n points.push(ctlPtx, ctlPty, cpx, cpy);\n break;\n case 'A':\n rx = p.shift();\n ry = p.shift();\n psi = p.shift();\n fa = p.shift();\n fs = p.shift();\n x1 = cpx;\n y1 = cpy;\n cpx = p.shift();\n cpy = p.shift();\n cmd = 'A';\n points = this.convertEndpointToCenterParameterization(x1, y1, cpx, cpy, fa, fs, rx, ry, psi);\n break;\n case 'a':\n rx = p.shift();\n ry = p.shift();\n psi = p.shift();\n fa = p.shift();\n fs = p.shift();\n x1 = cpx;\n y1 = cpy;\n cpx += p.shift();\n cpy += p.shift();\n cmd = 'A';\n points = this.convertEndpointToCenterParameterization(x1, y1, cpx, cpy, fa, fs, rx, ry, psi);\n break;\n }\n ca.push({\n command: cmd || c,\n points: points,\n start: {\n x: startX,\n y: startY,\n },\n pathLength: this.calcLength(startX, startY, cmd || c, points),\n });\n }\n if (c === 'z' || c === 'Z') {\n ca.push({\n command: 'z',\n points: [],\n start: undefined,\n pathLength: 0,\n });\n }\n }\n return ca;\n }\n static calcLength(x, y, cmd, points) {\n var len, p1, p2, t;\n var path = Path;\n switch (cmd) {\n case 'L':\n return path.getLineLength(x, y, points[0], points[1]);\n case 'C':\n len = 0.0;\n p1 = path.getPointOnCubicBezier(0, x, y, points[0], points[1], points[2], points[3], points[4], points[5]);\n for (t = 0.01; t <= 1; t += 0.01) {\n p2 = path.getPointOnCubicBezier(t, x, y, points[0], points[1], points[2], points[3], points[4], points[5]);\n len += path.getLineLength(p1.x, p1.y, p2.x, p2.y);\n p1 = p2;\n }\n return len;\n case 'Q':\n len = 0.0;\n p1 = path.getPointOnQuadraticBezier(0, x, y, points[0], points[1], points[2], points[3]);\n for (t = 0.01; t <= 1; t += 0.01) {\n p2 = path.getPointOnQuadraticBezier(t, x, y, points[0], points[1], points[2], points[3]);\n len += path.getLineLength(p1.x, p1.y, p2.x, p2.y);\n p1 = p2;\n }\n return len;\n case 'A':\n len = 0.0;\n var start = points[4];\n var dTheta = points[5];\n var end = points[4] + dTheta;\n var inc = Math.PI / 180.0;\n if (Math.abs(start - end) < inc) {\n inc = Math.abs(start - end);\n }\n p1 = path.getPointOnEllipticalArc(points[0], points[1], points[2], points[3], start, 0);\n if (dTheta < 0) {\n for (t = start - inc; t > end; t -= inc) {\n p2 = path.getPointOnEllipticalArc(points[0], points[1], points[2], points[3], t, 0);\n len += path.getLineLength(p1.x, p1.y, p2.x, p2.y);\n p1 = p2;\n }\n }\n else {\n for (t = start + inc; t < end; t += inc) {\n p2 = path.getPointOnEllipticalArc(points[0], points[1], points[2], points[3], t, 0);\n len += path.getLineLength(p1.x, p1.y, p2.x, p2.y);\n p1 = p2;\n }\n }\n p2 = path.getPointOnEllipticalArc(points[0], points[1], points[2], points[3], end, 0);\n len += path.getLineLength(p1.x, p1.y, p2.x, p2.y);\n return len;\n }\n return 0;\n }\n static convertEndpointToCenterParameterization(x1, y1, x2, y2, fa, fs, rx, ry, psiDeg) {\n var psi = psiDeg * (Math.PI / 180.0);\n var xp = (Math.cos(psi) * (x1 - x2)) / 2.0 + (Math.sin(psi) * (y1 - y2)) / 2.0;\n var yp = (-1 * Math.sin(psi) * (x1 - x2)) / 2.0 +\n (Math.cos(psi) * (y1 - y2)) / 2.0;\n var lambda = (xp * xp) / (rx * rx) + (yp * yp) / (ry * ry);\n if (lambda > 1) {\n rx *= Math.sqrt(lambda);\n ry *= Math.sqrt(lambda);\n }\n var f = Math.sqrt((rx * rx * (ry * ry) - rx * rx * (yp * yp) - ry * ry * (xp * xp)) /\n (rx * rx * (yp * yp) + ry * ry * (xp * xp)));\n if (fa === fs) {\n f *= -1;\n }\n if (isNaN(f)) {\n f = 0;\n }\n var cxp = (f * rx * yp) / ry;\n var cyp = (f * -ry * xp) / rx;\n var cx = (x1 + x2) / 2.0 + Math.cos(psi) * cxp - Math.sin(psi) * cyp;\n var cy = (y1 + y2) / 2.0 + Math.sin(psi) * cxp + Math.cos(psi) * cyp;\n var vMag = function (v) {\n return Math.sqrt(v[0] * v[0] + v[1] * v[1]);\n };\n var vRatio = function (u, v) {\n return (u[0] * v[0] + u[1] * v[1]) / (vMag(u) * vMag(v));\n };\n var vAngle = function (u, v) {\n return (u[0] * v[1] < u[1] * v[0] ? -1 : 1) * Math.acos(vRatio(u, v));\n };\n var theta = vAngle([1, 0], [(xp - cxp) / rx, (yp - cyp) / ry]);\n var u = [(xp - cxp) / rx, (yp - cyp) / ry];\n var v = [(-1 * xp - cxp) / rx, (-1 * yp - cyp) / ry];\n var dTheta = vAngle(u, v);\n if (vRatio(u, v) <= -1) {\n dTheta = Math.PI;\n }\n if (vRatio(u, v) >= 1) {\n dTheta = 0;\n }\n if (fs === 0 && dTheta > 0) {\n dTheta = dTheta - 2 * Math.PI;\n }\n if (fs === 1 && dTheta < 0) {\n dTheta = dTheta + 2 * Math.PI;\n }\n return [cx, cy, rx, ry, theta, dTheta, psi, fs];\n }\n}\nPath.prototype.className = 'Path';\nPath.prototype._attrsAffectingSize = ['data'];\n_registerNode(Path);\nFactory.addGetterSetter(Path, 'data');\n","import { Factory } from '../Factory.js';\nimport { Line } from './Line.js';\nimport { getNumberValidator } from '../Validators.js';\nimport { _registerNode } from '../Global.js';\nimport { Path } from './Path.js';\nexport class Arrow extends Line {\n _sceneFunc(ctx) {\n super._sceneFunc(ctx);\n var PI2 = Math.PI * 2;\n var points = this.points();\n var tp = points;\n var fromTension = this.tension() !== 0 && points.length > 4;\n if (fromTension) {\n tp = this.getTensionPoints();\n }\n var length = this.pointerLength();\n var n = points.length;\n var dx, dy;\n if (fromTension) {\n const lp = [\n tp[tp.length - 4],\n tp[tp.length - 3],\n tp[tp.length - 2],\n tp[tp.length - 1],\n points[n - 2],\n points[n - 1],\n ];\n const lastLength = Path.calcLength(tp[tp.length - 4], tp[tp.length - 3], 'C', lp);\n const previous = Path.getPointOnQuadraticBezier(Math.min(1, 1 - length / lastLength), lp[0], lp[1], lp[2], lp[3], lp[4], lp[5]);\n dx = points[n - 2] - previous.x;\n dy = points[n - 1] - previous.y;\n }\n else {\n dx = points[n - 2] - points[n - 4];\n dy = points[n - 1] - points[n - 3];\n }\n var radians = (Math.atan2(dy, dx) + PI2) % PI2;\n var width = this.pointerWidth();\n if (this.pointerAtEnding()) {\n ctx.save();\n ctx.beginPath();\n ctx.translate(points[n - 2], points[n - 1]);\n ctx.rotate(radians);\n ctx.moveTo(0, 0);\n ctx.lineTo(-length, width / 2);\n ctx.lineTo(-length, -width / 2);\n ctx.closePath();\n ctx.restore();\n this.__fillStroke(ctx);\n }\n if (this.pointerAtBeginning()) {\n ctx.save();\n ctx.beginPath();\n ctx.translate(points[0], points[1]);\n if (fromTension) {\n dx = (tp[0] + tp[2]) / 2 - points[0];\n dy = (tp[1] + tp[3]) / 2 - points[1];\n }\n else {\n dx = points[2] - points[0];\n dy = points[3] - points[1];\n }\n ctx.rotate((Math.atan2(-dy, -dx) + PI2) % PI2);\n ctx.moveTo(0, 0);\n ctx.lineTo(-length, width / 2);\n ctx.lineTo(-length, -width / 2);\n ctx.closePath();\n ctx.restore();\n this.__fillStroke(ctx);\n }\n }\n __fillStroke(ctx) {\n var isDashEnabled = this.dashEnabled();\n if (isDashEnabled) {\n this.attrs.dashEnabled = false;\n ctx.setLineDash([]);\n }\n ctx.fillStrokeShape(this);\n if (isDashEnabled) {\n this.attrs.dashEnabled = true;\n }\n }\n getSelfRect() {\n const lineRect = super.getSelfRect();\n const offset = this.pointerWidth() / 2;\n return {\n x: lineRect.x - offset,\n y: lineRect.y - offset,\n width: lineRect.width + offset * 2,\n height: lineRect.height + offset * 2,\n };\n }\n}\nArrow.prototype.className = 'Arrow';\n_registerNode(Arrow);\nFactory.addGetterSetter(Arrow, 'pointerLength', 10, getNumberValidator());\nFactory.addGetterSetter(Arrow, 'pointerWidth', 10, getNumberValidator());\nFactory.addGetterSetter(Arrow, 'pointerAtBeginning', false);\nFactory.addGetterSetter(Arrow, 'pointerAtEnding', true);\n","import { Factory } from '../Factory.js';\nimport { Shape } from '../Shape.js';\nimport { getNumberValidator } from '../Validators.js';\nimport { _registerNode } from '../Global.js';\nexport class Circle extends Shape {\n _sceneFunc(context) {\n context.beginPath();\n context.arc(0, 0, this.attrs.radius || 0, 0, Math.PI * 2, false);\n context.closePath();\n context.fillStrokeShape(this);\n }\n getWidth() {\n return this.radius() * 2;\n }\n getHeight() {\n return this.radius() * 2;\n }\n setWidth(width) {\n if (this.radius() !== width / 2) {\n this.radius(width / 2);\n }\n }\n setHeight(height) {\n if (this.radius() !== height / 2) {\n this.radius(height / 2);\n }\n }\n}\nCircle.prototype._centroid = true;\nCircle.prototype.className = 'Circle';\nCircle.prototype._attrsAffectingSize = ['radius'];\n_registerNode(Circle);\nFactory.addGetterSetter(Circle, 'radius', 0, getNumberValidator());\n","import { Factory } from '../Factory.js';\nimport { Shape } from '../Shape.js';\nimport { getNumberValidator } from '../Validators.js';\nimport { _registerNode } from '../Global.js';\nexport class Ellipse extends Shape {\n _sceneFunc(context) {\n var rx = this.radiusX(), ry = this.radiusY();\n context.beginPath();\n context.save();\n if (rx !== ry) {\n context.scale(1, ry / rx);\n }\n context.arc(0, 0, rx, 0, Math.PI * 2, false);\n context.restore();\n context.closePath();\n context.fillStrokeShape(this);\n }\n getWidth() {\n return this.radiusX() * 2;\n }\n getHeight() {\n return this.radiusY() * 2;\n }\n setWidth(width) {\n this.radiusX(width / 2);\n }\n setHeight(height) {\n this.radiusY(height / 2);\n }\n}\nEllipse.prototype.className = 'Ellipse';\nEllipse.prototype._centroid = true;\nEllipse.prototype._attrsAffectingSize = ['radiusX', 'radiusY'];\n_registerNode(Ellipse);\nFactory.addComponentsGetterSetter(Ellipse, 'radius', ['x', 'y']);\nFactory.addGetterSetter(Ellipse, 'radiusX', 0, getNumberValidator());\nFactory.addGetterSetter(Ellipse, 'radiusY', 0, getNumberValidator());\n","import { Util } from '../Util.js';\nimport { Factory } from '../Factory.js';\nimport { Shape } from '../Shape.js';\nimport { _registerNode } from '../Global.js';\nimport { getNumberOrArrayOfNumbersValidator, getNumberValidator, } from '../Validators.js';\nexport class Image extends Shape {\n constructor(attrs) {\n super(attrs);\n this.on('imageChange.konva', () => {\n this._setImageLoad();\n });\n this._setImageLoad();\n }\n _setImageLoad() {\n const image = this.image();\n if (image && image.complete) {\n return;\n }\n if (image && image.readyState === 4) {\n return;\n }\n if (image && image['addEventListener']) {\n image['addEventListener']('load', () => {\n this._requestDraw();\n });\n }\n }\n _useBufferCanvas() {\n return super._useBufferCanvas(true);\n }\n _sceneFunc(context) {\n const width = this.getWidth();\n const height = this.getHeight();\n const cornerRadius = this.cornerRadius();\n const image = this.attrs.image;\n let params;\n if (image) {\n const cropWidth = this.attrs.cropWidth;\n const cropHeight = this.attrs.cropHeight;\n if (cropWidth && cropHeight) {\n params = [\n image,\n this.cropX(),\n this.cropY(),\n cropWidth,\n cropHeight,\n 0,\n 0,\n width,\n height,\n ];\n }\n else {\n params = [image, 0, 0, width, height];\n }\n }\n if (this.hasFill() || this.hasStroke() || cornerRadius) {\n context.beginPath();\n cornerRadius\n ? Util.drawRoundedRectPath(context, width, height, cornerRadius)\n : context.rect(0, 0, width, height);\n context.closePath();\n context.fillStrokeShape(this);\n }\n if (image) {\n if (cornerRadius) {\n context.clip();\n }\n context.drawImage.apply(context, params);\n }\n }\n _hitFunc(context) {\n var width = this.width(), height = this.height(), cornerRadius = this.cornerRadius();\n context.beginPath();\n if (!cornerRadius) {\n context.rect(0, 0, width, height);\n }\n else {\n Util.drawRoundedRectPath(context, width, height, cornerRadius);\n }\n context.closePath();\n context.fillStrokeShape(this);\n }\n getWidth() {\n var _a, _b;\n return (_a = this.attrs.width) !== null && _a !== void 0 ? _a : (_b = this.image()) === null || _b === void 0 ? void 0 : _b.width;\n }\n getHeight() {\n var _a, _b;\n return (_a = this.attrs.height) !== null && _a !== void 0 ? _a : (_b = this.image()) === null || _b === void 0 ? void 0 : _b.height;\n }\n static fromURL(url, callback, onError = null) {\n var img = Util.createImageElement();\n img.onload = function () {\n var image = new Image({\n image: img,\n });\n callback(image);\n };\n img.onerror = onError;\n img.crossOrigin = 'Anonymous';\n img.src = url;\n }\n}\nImage.prototype.className = 'Image';\n_registerNode(Image);\nFactory.addGetterSetter(Image, 'cornerRadius', 0, getNumberOrArrayOfNumbersValidator(4));\nFactory.addGetterSetter(Image, 'image');\nFactory.addComponentsGetterSetter(Image, 'crop', ['x', 'y', 'width', 'height']);\nFactory.addGetterSetter(Image, 'cropX', 0, getNumberValidator());\nFactory.addGetterSetter(Image, 'cropY', 0, getNumberValidator());\nFactory.addGetterSetter(Image, 'cropWidth', 0, getNumberValidator());\nFactory.addGetterSetter(Image, 'cropHeight', 0, getNumberValidator());\n","import { Factory } from '../Factory.js';\nimport { Shape } from '../Shape.js';\nimport { Group } from '../Group.js';\nimport { getNumberOrArrayOfNumbersValidator, getNumberValidator, } from '../Validators.js';\nimport { _registerNode } from '../Global.js';\nvar ATTR_CHANGE_LIST = [\n 'fontFamily',\n 'fontSize',\n 'fontStyle',\n 'padding',\n 'lineHeight',\n 'text',\n 'width',\n 'height',\n 'pointerDirection',\n 'pointerWidth',\n 'pointerHeight',\n], CHANGE_KONVA = 'Change.konva', NONE = 'none', UP = 'up', RIGHT = 'right', DOWN = 'down', LEFT = 'left', attrChangeListLen = ATTR_CHANGE_LIST.length;\nexport class Label extends Group {\n constructor(config) {\n super(config);\n this.on('add.konva', function (evt) {\n this._addListeners(evt.child);\n this._sync();\n });\n }\n getText() {\n return this.find('Text')[0];\n }\n getTag() {\n return this.find('Tag')[0];\n }\n _addListeners(text) {\n var that = this, n;\n var func = function () {\n that._sync();\n };\n for (n = 0; n < attrChangeListLen; n++) {\n text.on(ATTR_CHANGE_LIST[n] + CHANGE_KONVA, func);\n }\n }\n getWidth() {\n return this.getText().width();\n }\n getHeight() {\n return this.getText().height();\n }\n _sync() {\n var text = this.getText(), tag = this.getTag(), width, height, pointerDirection, pointerWidth, x, y, pointerHeight;\n if (text && tag) {\n width = text.width();\n height = text.height();\n pointerDirection = tag.pointerDirection();\n pointerWidth = tag.pointerWidth();\n pointerHeight = tag.pointerHeight();\n x = 0;\n y = 0;\n switch (pointerDirection) {\n case UP:\n x = width / 2;\n y = -1 * pointerHeight;\n break;\n case RIGHT:\n x = width + pointerWidth;\n y = height / 2;\n break;\n case DOWN:\n x = width / 2;\n y = height + pointerHeight;\n break;\n case LEFT:\n x = -1 * pointerWidth;\n y = height / 2;\n break;\n }\n tag.setAttrs({\n x: -1 * x,\n y: -1 * y,\n width: width,\n height: height,\n });\n text.setAttrs({\n x: -1 * x,\n y: -1 * y,\n });\n }\n }\n}\nLabel.prototype.className = 'Label';\n_registerNode(Label);\nexport class Tag extends Shape {\n _sceneFunc(context) {\n var width = this.width(), height = this.height(), pointerDirection = this.pointerDirection(), pointerWidth = this.pointerWidth(), pointerHeight = this.pointerHeight(), cornerRadius = this.cornerRadius();\n let topLeft = 0;\n let topRight = 0;\n let bottomLeft = 0;\n let bottomRight = 0;\n if (typeof cornerRadius === 'number') {\n topLeft =\n topRight =\n bottomLeft =\n bottomRight =\n Math.min(cornerRadius, width / 2, height / 2);\n }\n else {\n topLeft = Math.min(cornerRadius[0] || 0, width / 2, height / 2);\n topRight = Math.min(cornerRadius[1] || 0, width / 2, height / 2);\n bottomRight = Math.min(cornerRadius[2] || 0, width / 2, height / 2);\n bottomLeft = Math.min(cornerRadius[3] || 0, width / 2, height / 2);\n }\n context.beginPath();\n context.moveTo(topLeft, 0);\n if (pointerDirection === UP) {\n context.lineTo((width - pointerWidth) / 2, 0);\n context.lineTo(width / 2, -1 * pointerHeight);\n context.lineTo((width + pointerWidth) / 2, 0);\n }\n context.lineTo(width - topRight, 0);\n context.arc(width - topRight, topRight, topRight, (Math.PI * 3) / 2, 0, false);\n if (pointerDirection === RIGHT) {\n context.lineTo(width, (height - pointerHeight) / 2);\n context.lineTo(width + pointerWidth, height / 2);\n context.lineTo(width, (height + pointerHeight) / 2);\n }\n context.lineTo(width, height - bottomRight);\n context.arc(width - bottomRight, height - bottomRight, bottomRight, 0, Math.PI / 2, false);\n if (pointerDirection === DOWN) {\n context.lineTo((width + pointerWidth) / 2, height);\n context.lineTo(width / 2, height + pointerHeight);\n context.lineTo((width - pointerWidth) / 2, height);\n }\n context.lineTo(bottomLeft, height);\n context.arc(bottomLeft, height - bottomLeft, bottomLeft, Math.PI / 2, Math.PI, false);\n if (pointerDirection === LEFT) {\n context.lineTo(0, (height + pointerHeight) / 2);\n context.lineTo(-1 * pointerWidth, height / 2);\n context.lineTo(0, (height - pointerHeight) / 2);\n }\n context.lineTo(0, topLeft);\n context.arc(topLeft, topLeft, topLeft, Math.PI, (Math.PI * 3) / 2, false);\n context.closePath();\n context.fillStrokeShape(this);\n }\n getSelfRect() {\n var x = 0, y = 0, pointerWidth = this.pointerWidth(), pointerHeight = this.pointerHeight(), direction = this.pointerDirection(), width = this.width(), height = this.height();\n if (direction === UP) {\n y -= pointerHeight;\n height += pointerHeight;\n }\n else if (direction === DOWN) {\n height += pointerHeight;\n }\n else if (direction === LEFT) {\n x -= pointerWidth * 1.5;\n width += pointerWidth;\n }\n else if (direction === RIGHT) {\n width += pointerWidth * 1.5;\n }\n return {\n x: x,\n y: y,\n width: width,\n height: height,\n };\n }\n}\nTag.prototype.className = 'Tag';\n_registerNode(Tag);\nFactory.addGetterSetter(Tag, 'pointerDirection', NONE);\nFactory.addGetterSetter(Tag, 'pointerWidth', 0, getNumberValidator());\nFactory.addGetterSetter(Tag, 'pointerHeight', 0, getNumberValidator());\nFactory.addGetterSetter(Tag, 'cornerRadius', 0, getNumberOrArrayOfNumbersValidator(4));\n","import { Factory } from '../Factory.js';\nimport { Shape } from '../Shape.js';\nimport { _registerNode } from '../Global.js';\nimport { Util } from '../Util.js';\nimport { getNumberOrArrayOfNumbersValidator } from '../Validators.js';\nexport class Rect extends Shape {\n _sceneFunc(context) {\n var cornerRadius = this.cornerRadius(), width = this.width(), height = this.height();\n context.beginPath();\n if (!cornerRadius) {\n context.rect(0, 0, width, height);\n }\n else {\n Util.drawRoundedRectPath(context, width, height, cornerRadius);\n }\n context.closePath();\n context.fillStrokeShape(this);\n }\n}\nRect.prototype.className = 'Rect';\n_registerNode(Rect);\nFactory.addGetterSetter(Rect, 'cornerRadius', 0, getNumberOrArrayOfNumbersValidator(4));\n","import { Factory } from '../Factory.js';\nimport { Shape } from '../Shape.js';\nimport { getNumberValidator } from '../Validators.js';\nimport { _registerNode } from '../Global.js';\nexport class RegularPolygon extends Shape {\n _sceneFunc(context) {\n const points = this._getPoints();\n context.beginPath();\n context.moveTo(points[0].x, points[0].y);\n for (var n = 1; n < points.length; n++) {\n context.lineTo(points[n].x, points[n].y);\n }\n context.closePath();\n context.fillStrokeShape(this);\n }\n _getPoints() {\n const sides = this.attrs.sides;\n const radius = this.attrs.radius || 0;\n const points = [];\n for (var n = 0; n < sides; n++) {\n points.push({\n x: radius * Math.sin((n * 2 * Math.PI) / sides),\n y: -1 * radius * Math.cos((n * 2 * Math.PI) / sides),\n });\n }\n return points;\n }\n getSelfRect() {\n const points = this._getPoints();\n var minX = points[0].x;\n var maxX = points[0].y;\n var minY = points[0].x;\n var maxY = points[0].y;\n points.forEach((point) => {\n minX = Math.min(minX, point.x);\n maxX = Math.max(maxX, point.x);\n minY = Math.min(minY, point.y);\n maxY = Math.max(maxY, point.y);\n });\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY,\n };\n }\n getWidth() {\n return this.radius() * 2;\n }\n getHeight() {\n return this.radius() * 2;\n }\n setWidth(width) {\n this.radius(width / 2);\n }\n setHeight(height) {\n this.radius(height / 2);\n }\n}\nRegularPolygon.prototype.className = 'RegularPolygon';\nRegularPolygon.prototype._centroid = true;\nRegularPolygon.prototype._attrsAffectingSize = ['radius'];\n_registerNode(RegularPolygon);\nFactory.addGetterSetter(RegularPolygon, 'radius', 0, getNumberValidator());\nFactory.addGetterSetter(RegularPolygon, 'sides', 0, getNumberValidator());\n","import { Factory } from '../Factory.js';\nimport { Shape } from '../Shape.js';\nimport { getNumberValidator } from '../Validators.js';\nimport { _registerNode } from '../Global.js';\nvar PIx2 = Math.PI * 2;\nexport class Ring extends Shape {\n _sceneFunc(context) {\n context.beginPath();\n context.arc(0, 0, this.innerRadius(), 0, PIx2, false);\n context.moveTo(this.outerRadius(), 0);\n context.arc(0, 0, this.outerRadius(), PIx2, 0, true);\n context.closePath();\n context.fillStrokeShape(this);\n }\n getWidth() {\n return this.outerRadius() * 2;\n }\n getHeight() {\n return this.outerRadius() * 2;\n }\n setWidth(width) {\n this.outerRadius(width / 2);\n }\n setHeight(height) {\n this.outerRadius(height / 2);\n }\n}\nRing.prototype.className = 'Ring';\nRing.prototype._centroid = true;\nRing.prototype._attrsAffectingSize = ['innerRadius', 'outerRadius'];\n_registerNode(Ring);\nFactory.addGetterSetter(Ring, 'innerRadius', 0, getNumberValidator());\nFactory.addGetterSetter(Ring, 'outerRadius', 0, getNumberValidator());\n","import { Factory } from '../Factory.js';\nimport { Shape } from '../Shape.js';\nimport { Animation } from '../Animation.js';\nimport { getNumberValidator } from '../Validators.js';\nimport { _registerNode } from '../Global.js';\nexport class Sprite extends Shape {\n constructor(config) {\n super(config);\n this._updated = true;\n this.anim = new Animation(() => {\n var updated = this._updated;\n this._updated = false;\n return updated;\n });\n this.on('animationChange.konva', function () {\n this.frameIndex(0);\n });\n this.on('frameIndexChange.konva', function () {\n this._updated = true;\n });\n this.on('frameRateChange.konva', function () {\n if (!this.anim.isRunning()) {\n return;\n }\n clearInterval(this.interval);\n this._setInterval();\n });\n }\n _sceneFunc(context) {\n var anim = this.animation(), index = this.frameIndex(), ix4 = index * 4, set = this.animations()[anim], offsets = this.frameOffsets(), x = set[ix4 + 0], y = set[ix4 + 1], width = set[ix4 + 2], height = set[ix4 + 3], image = this.image();\n if (this.hasFill() || this.hasStroke()) {\n context.beginPath();\n context.rect(0, 0, width, height);\n context.closePath();\n context.fillStrokeShape(this);\n }\n if (image) {\n if (offsets) {\n var offset = offsets[anim], ix2 = index * 2;\n context.drawImage(image, x, y, width, height, offset[ix2 + 0], offset[ix2 + 1], width, height);\n }\n else {\n context.drawImage(image, x, y, width, height, 0, 0, width, height);\n }\n }\n }\n _hitFunc(context) {\n var anim = this.animation(), index = this.frameIndex(), ix4 = index * 4, set = this.animations()[anim], offsets = this.frameOffsets(), width = set[ix4 + 2], height = set[ix4 + 3];\n context.beginPath();\n if (offsets) {\n var offset = offsets[anim];\n var ix2 = index * 2;\n context.rect(offset[ix2 + 0], offset[ix2 + 1], width, height);\n }\n else {\n context.rect(0, 0, width, height);\n }\n context.closePath();\n context.fillShape(this);\n }\n _useBufferCanvas() {\n return super._useBufferCanvas(true);\n }\n _setInterval() {\n var that = this;\n this.interval = setInterval(function () {\n that._updateIndex();\n }, 1000 / this.frameRate());\n }\n start() {\n if (this.isRunning()) {\n return;\n }\n var layer = this.getLayer();\n this.anim.setLayers(layer);\n this._setInterval();\n this.anim.start();\n }\n stop() {\n this.anim.stop();\n clearInterval(this.interval);\n }\n isRunning() {\n return this.anim.isRunning();\n }\n _updateIndex() {\n var index = this.frameIndex(), animation = this.animation(), animations = this.animations(), anim = animations[animation], len = anim.length / 4;\n if (index < len - 1) {\n this.frameIndex(index + 1);\n }\n else {\n this.frameIndex(0);\n }\n }\n}\nSprite.prototype.className = 'Sprite';\n_registerNode(Sprite);\nFactory.addGetterSetter(Sprite, 'animation');\nFactory.addGetterSetter(Sprite, 'animations');\nFactory.addGetterSetter(Sprite, 'frameOffsets');\nFactory.addGetterSetter(Sprite, 'image');\nFactory.addGetterSetter(Sprite, 'frameIndex', 0, getNumberValidator());\nFactory.addGetterSetter(Sprite, 'frameRate', 17, getNumberValidator());\nFactory.backCompat(Sprite, {\n index: 'frameIndex',\n getIndex: 'getFrameIndex',\n setIndex: 'setFrameIndex',\n});\n","import { Factory } from '../Factory.js';\nimport { Shape } from '../Shape.js';\nimport { getNumberValidator } from '../Validators.js';\nimport { _registerNode } from '../Global.js';\nexport class Star extends Shape {\n _sceneFunc(context) {\n var innerRadius = this.innerRadius(), outerRadius = this.outerRadius(), numPoints = this.numPoints();\n context.beginPath();\n context.moveTo(0, 0 - outerRadius);\n for (var n = 1; n < numPoints * 2; n++) {\n var radius = n % 2 === 0 ? outerRadius : innerRadius;\n var x = radius * Math.sin((n * Math.PI) / numPoints);\n var y = -1 * radius * Math.cos((n * Math.PI) / numPoints);\n context.lineTo(x, y);\n }\n context.closePath();\n context.fillStrokeShape(this);\n }\n getWidth() {\n return this.outerRadius() * 2;\n }\n getHeight() {\n return this.outerRadius() * 2;\n }\n setWidth(width) {\n this.outerRadius(width / 2);\n }\n setHeight(height) {\n this.outerRadius(height / 2);\n }\n}\nStar.prototype.className = 'Star';\nStar.prototype._centroid = true;\nStar.prototype._attrsAffectingSize = ['innerRadius', 'outerRadius'];\n_registerNode(Star);\nFactory.addGetterSetter(Star, 'numPoints', 5, getNumberValidator());\nFactory.addGetterSetter(Star, 'innerRadius', 0, getNumberValidator());\nFactory.addGetterSetter(Star, 'outerRadius', 0, getNumberValidator());\n","import { Util } from '../Util.js';\nimport { Factory } from '../Factory.js';\nimport { Shape } from '../Shape.js';\nimport { getNumberValidator, getStringValidator, getNumberOrAutoValidator, getBooleanValidator, } from '../Validators.js';\nimport { _registerNode } from '../Global.js';\nexport function stringToArray(string) {\n return Array.from(string);\n}\nvar AUTO = 'auto', CENTER = 'center', JUSTIFY = 'justify', CHANGE_KONVA = 'Change.konva', CONTEXT_2D = '2d', DASH = '-', LEFT = 'left', TEXT = 'text', TEXT_UPPER = 'Text', TOP = 'top', BOTTOM = 'bottom', MIDDLE = 'middle', NORMAL = 'normal', PX_SPACE = 'px ', SPACE = ' ', RIGHT = 'right', WORD = 'word', CHAR = 'char', NONE = 'none', ELLIPSIS = '…', ATTR_CHANGE_LIST = [\n 'fontFamily',\n 'fontSize',\n 'fontStyle',\n 'fontVariant',\n 'padding',\n 'align',\n 'verticalAlign',\n 'lineHeight',\n 'text',\n 'width',\n 'height',\n 'wrap',\n 'ellipsis',\n 'letterSpacing',\n], attrChangeListLen = ATTR_CHANGE_LIST.length;\nfunction normalizeFontFamily(fontFamily) {\n return fontFamily\n .split(',')\n .map((family) => {\n family = family.trim();\n const hasSpace = family.indexOf(' ') >= 0;\n const hasQuotes = family.indexOf('\"') >= 0 || family.indexOf(\"'\") >= 0;\n if (hasSpace && !hasQuotes) {\n family = `\"${family}\"`;\n }\n return family;\n })\n .join(', ');\n}\nvar dummyContext;\nfunction getDummyContext() {\n if (dummyContext) {\n return dummyContext;\n }\n dummyContext = Util.createCanvasElement().getContext(CONTEXT_2D);\n return dummyContext;\n}\nfunction _fillFunc(context) {\n context.fillText(this._partialText, this._partialTextX, this._partialTextY);\n}\nfunction _strokeFunc(context) {\n context.strokeText(this._partialText, this._partialTextX, this._partialTextY);\n}\nfunction checkDefaultFill(config) {\n config = config || {};\n if (!config.fillLinearGradientColorStops &&\n !config.fillRadialGradientColorStops &&\n !config.fillPatternImage) {\n config.fill = config.fill || 'black';\n }\n return config;\n}\nexport class Text extends Shape {\n constructor(config) {\n super(checkDefaultFill(config));\n this._partialTextX = 0;\n this._partialTextY = 0;\n for (var n = 0; n < attrChangeListLen; n++) {\n this.on(ATTR_CHANGE_LIST[n] + CHANGE_KONVA, this._setTextData);\n }\n this._setTextData();\n }\n _sceneFunc(context) {\n var textArr = this.textArr, textArrLen = textArr.length;\n if (!this.text()) {\n return;\n }\n var padding = this.padding(), fontSize = this.fontSize(), lineHeightPx = this.lineHeight() * fontSize, verticalAlign = this.verticalAlign(), alignY = 0, align = this.align(), totalWidth = this.getWidth(), letterSpacing = this.letterSpacing(), fill = this.fill(), textDecoration = this.textDecoration(), shouldUnderline = textDecoration.indexOf('underline') !== -1, shouldLineThrough = textDecoration.indexOf('line-through') !== -1, n;\n var translateY = 0;\n var translateY = lineHeightPx / 2;\n var lineTranslateX = 0;\n var lineTranslateY = 0;\n context.setAttr('font', this._getContextFont());\n context.setAttr('textBaseline', MIDDLE);\n context.setAttr('textAlign', LEFT);\n if (verticalAlign === MIDDLE) {\n alignY = (this.getHeight() - textArrLen * lineHeightPx - padding * 2) / 2;\n }\n else if (verticalAlign === BOTTOM) {\n alignY = this.getHeight() - textArrLen * lineHeightPx - padding * 2;\n }\n context.translate(padding, alignY + padding);\n for (n = 0; n < textArrLen; n++) {\n var lineTranslateX = 0;\n var lineTranslateY = 0;\n var obj = textArr[n], text = obj.text, width = obj.width, lastLine = obj.lastInParagraph, spacesNumber, oneWord, lineWidth;\n context.save();\n if (align === RIGHT) {\n lineTranslateX += totalWidth - width - padding * 2;\n }\n else if (align === CENTER) {\n lineTranslateX += (totalWidth - width - padding * 2) / 2;\n }\n if (shouldUnderline) {\n context.save();\n context.beginPath();\n context.moveTo(lineTranslateX, translateY + lineTranslateY + Math.round(fontSize / 2));\n spacesNumber = text.split(' ').length - 1;\n oneWord = spacesNumber === 0;\n lineWidth =\n align === JUSTIFY && !lastLine ? totalWidth - padding * 2 : width;\n context.lineTo(lineTranslateX + Math.round(lineWidth), translateY + lineTranslateY + Math.round(fontSize / 2));\n context.lineWidth = fontSize / 15;\n const gradient = this._getLinearGradient();\n context.strokeStyle = gradient || fill;\n context.stroke();\n context.restore();\n }\n if (shouldLineThrough) {\n context.save();\n context.beginPath();\n context.moveTo(lineTranslateX, translateY + lineTranslateY);\n spacesNumber = text.split(' ').length - 1;\n oneWord = spacesNumber === 0;\n lineWidth =\n align === JUSTIFY && lastLine && !oneWord\n ? totalWidth - padding * 2\n : width;\n context.lineTo(lineTranslateX + Math.round(lineWidth), translateY + lineTranslateY);\n context.lineWidth = fontSize / 15;\n const gradient = this._getLinearGradient();\n context.strokeStyle = gradient || fill;\n context.stroke();\n context.restore();\n }\n if (letterSpacing !== 0 || align === JUSTIFY) {\n spacesNumber = text.split(' ').length - 1;\n var array = stringToArray(text);\n for (var li = 0; li < array.length; li++) {\n var letter = array[li];\n if (letter === ' ' && !lastLine && align === JUSTIFY) {\n lineTranslateX += (totalWidth - padding * 2 - width) / spacesNumber;\n }\n this._partialTextX = lineTranslateX;\n this._partialTextY = translateY + lineTranslateY;\n this._partialText = letter;\n context.fillStrokeShape(this);\n lineTranslateX += this.measureSize(letter).width + letterSpacing;\n }\n }\n else {\n this._partialTextX = lineTranslateX;\n this._partialTextY = translateY + lineTranslateY;\n this._partialText = text;\n context.fillStrokeShape(this);\n }\n context.restore();\n if (textArrLen > 1) {\n translateY += lineHeightPx;\n }\n }\n }\n _hitFunc(context) {\n var width = this.getWidth(), height = this.getHeight();\n context.beginPath();\n context.rect(0, 0, width, height);\n context.closePath();\n context.fillStrokeShape(this);\n }\n setText(text) {\n var str = Util._isString(text)\n ? text\n : text === null || text === undefined\n ? ''\n : text + '';\n this._setAttr(TEXT, str);\n return this;\n }\n getWidth() {\n var isAuto = this.attrs.width === AUTO || this.attrs.width === undefined;\n return isAuto ? this.getTextWidth() + this.padding() * 2 : this.attrs.width;\n }\n getHeight() {\n var isAuto = this.attrs.height === AUTO || this.attrs.height === undefined;\n return isAuto\n ? this.fontSize() * this.textArr.length * this.lineHeight() +\n this.padding() * 2\n : this.attrs.height;\n }\n getTextWidth() {\n return this.textWidth;\n }\n getTextHeight() {\n Util.warn('text.getTextHeight() method is deprecated. Use text.height() - for full height and text.fontSize() - for one line height.');\n return this.textHeight;\n }\n measureSize(text) {\n var _context = getDummyContext(), fontSize = this.fontSize(), metrics;\n _context.save();\n _context.font = this._getContextFont();\n metrics = _context.measureText(text);\n _context.restore();\n return {\n width: metrics.width,\n height: fontSize,\n };\n }\n _getContextFont() {\n return (this.fontStyle() +\n SPACE +\n this.fontVariant() +\n SPACE +\n (this.fontSize() + PX_SPACE) +\n normalizeFontFamily(this.fontFamily()));\n }\n _addTextLine(line) {\n const align = this.align();\n if (align === JUSTIFY) {\n line = line.trim();\n }\n var width = this._getTextWidth(line);\n return this.textArr.push({\n text: line,\n width: width,\n lastInParagraph: false,\n });\n }\n _getTextWidth(text) {\n var letterSpacing = this.letterSpacing();\n var length = text.length;\n return (getDummyContext().measureText(text).width +\n (length ? letterSpacing * (length - 1) : 0));\n }\n _setTextData() {\n var lines = this.text().split('\\n'), fontSize = +this.fontSize(), textWidth = 0, lineHeightPx = this.lineHeight() * fontSize, width = this.attrs.width, height = this.attrs.height, fixedWidth = width !== AUTO && width !== undefined, fixedHeight = height !== AUTO && height !== undefined, padding = this.padding(), maxWidth = width - padding * 2, maxHeightPx = height - padding * 2, currentHeightPx = 0, wrap = this.wrap(), shouldWrap = wrap !== NONE, wrapAtWord = wrap !== CHAR && shouldWrap, shouldAddEllipsis = this.ellipsis();\n this.textArr = [];\n getDummyContext().font = this._getContextFont();\n var additionalWidth = shouldAddEllipsis ? this._getTextWidth(ELLIPSIS) : 0;\n for (var i = 0, max = lines.length; i < max; ++i) {\n var line = lines[i];\n var lineWidth = this._getTextWidth(line);\n if (fixedWidth && lineWidth > maxWidth) {\n while (line.length > 0) {\n var low = 0, high = line.length, match = '', matchWidth = 0;\n while (low < high) {\n var mid = (low + high) >>> 1, substr = line.slice(0, mid + 1), substrWidth = this._getTextWidth(substr) + additionalWidth;\n if (substrWidth <= maxWidth) {\n low = mid + 1;\n match = substr;\n matchWidth = substrWidth;\n }\n else {\n high = mid;\n }\n }\n if (match) {\n if (wrapAtWord) {\n var wrapIndex;\n var nextChar = line[match.length];\n var nextIsSpaceOrDash = nextChar === SPACE || nextChar === DASH;\n if (nextIsSpaceOrDash && matchWidth <= maxWidth) {\n wrapIndex = match.length;\n }\n else {\n wrapIndex =\n Math.max(match.lastIndexOf(SPACE), match.lastIndexOf(DASH)) +\n 1;\n }\n if (wrapIndex > 0) {\n low = wrapIndex;\n match = match.slice(0, low);\n matchWidth = this._getTextWidth(match);\n }\n }\n match = match.trimRight();\n this._addTextLine(match);\n textWidth = Math.max(textWidth, matchWidth);\n currentHeightPx += lineHeightPx;\n var shouldHandleEllipsis = this._shouldHandleEllipsis(currentHeightPx);\n if (shouldHandleEllipsis) {\n this._tryToAddEllipsisToLastLine();\n break;\n }\n line = line.slice(low);\n line = line.trimLeft();\n if (line.length > 0) {\n lineWidth = this._getTextWidth(line);\n if (lineWidth <= maxWidth) {\n this._addTextLine(line);\n currentHeightPx += lineHeightPx;\n textWidth = Math.max(textWidth, lineWidth);\n break;\n }\n }\n }\n else {\n break;\n }\n }\n }\n else {\n this._addTextLine(line);\n currentHeightPx += lineHeightPx;\n textWidth = Math.max(textWidth, lineWidth);\n if (this._shouldHandleEllipsis(currentHeightPx) && i < max - 1) {\n this._tryToAddEllipsisToLastLine();\n }\n }\n if (this.textArr[this.textArr.length - 1]) {\n this.textArr[this.textArr.length - 1].lastInParagraph = true;\n }\n if (fixedHeight && currentHeightPx + lineHeightPx > maxHeightPx) {\n break;\n }\n }\n this.textHeight = fontSize;\n this.textWidth = textWidth;\n }\n _shouldHandleEllipsis(currentHeightPx) {\n var fontSize = +this.fontSize(), lineHeightPx = this.lineHeight() * fontSize, height = this.attrs.height, fixedHeight = height !== AUTO && height !== undefined, padding = this.padding(), maxHeightPx = height - padding * 2, wrap = this.wrap(), shouldWrap = wrap !== NONE;\n return (!shouldWrap ||\n (fixedHeight && currentHeightPx + lineHeightPx > maxHeightPx));\n }\n _tryToAddEllipsisToLastLine() {\n var width = this.attrs.width, fixedWidth = width !== AUTO && width !== undefined, padding = this.padding(), maxWidth = width - padding * 2, shouldAddEllipsis = this.ellipsis();\n var lastLine = this.textArr[this.textArr.length - 1];\n if (!lastLine || !shouldAddEllipsis) {\n return;\n }\n if (fixedWidth) {\n var haveSpace = this._getTextWidth(lastLine.text + ELLIPSIS) < maxWidth;\n if (!haveSpace) {\n lastLine.text = lastLine.text.slice(0, lastLine.text.length - 3);\n }\n }\n this.textArr.splice(this.textArr.length - 1, 1);\n this._addTextLine(lastLine.text + ELLIPSIS);\n }\n getStrokeScaleEnabled() {\n return true;\n }\n}\nText.prototype._fillFunc = _fillFunc;\nText.prototype._strokeFunc = _strokeFunc;\nText.prototype.className = TEXT_UPPER;\nText.prototype._attrsAffectingSize = [\n 'text',\n 'fontSize',\n 'padding',\n 'wrap',\n 'lineHeight',\n 'letterSpacing',\n];\n_registerNode(Text);\nFactory.overWriteSetter(Text, 'width', getNumberOrAutoValidator());\nFactory.overWriteSetter(Text, 'height', getNumberOrAutoValidator());\nFactory.addGetterSetter(Text, 'fontFamily', 'Arial');\nFactory.addGetterSetter(Text, 'fontSize', 12, getNumberValidator());\nFactory.addGetterSetter(Text, 'fontStyle', NORMAL);\nFactory.addGetterSetter(Text, 'fontVariant', NORMAL);\nFactory.addGetterSetter(Text, 'padding', 0, getNumberValidator());\nFactory.addGetterSetter(Text, 'align', LEFT);\nFactory.addGetterSetter(Text, 'verticalAlign', TOP);\nFactory.addGetterSetter(Text, 'lineHeight', 1, getNumberValidator());\nFactory.addGetterSetter(Text, 'wrap', WORD);\nFactory.addGetterSetter(Text, 'ellipsis', false, getBooleanValidator());\nFactory.addGetterSetter(Text, 'letterSpacing', 0, getNumberValidator());\nFactory.addGetterSetter(Text, 'text', '', getStringValidator());\nFactory.addGetterSetter(Text, 'textDecoration', '');\n","import { Util } from '../Util.js';\nimport { Factory } from '../Factory.js';\nimport { Shape } from '../Shape.js';\nimport { Path } from './Path.js';\nimport { Text, stringToArray } from './Text.js';\nimport { getNumberValidator } from '../Validators.js';\nimport { _registerNode } from '../Global.js';\nvar EMPTY_STRING = '', NORMAL = 'normal';\nfunction _fillFunc(context) {\n context.fillText(this.partialText, 0, 0);\n}\nfunction _strokeFunc(context) {\n context.strokeText(this.partialText, 0, 0);\n}\nexport class TextPath extends Shape {\n constructor(config) {\n super(config);\n this.dummyCanvas = Util.createCanvasElement();\n this.dataArray = [];\n this.dataArray = Path.parsePathData(this.attrs.data);\n this.on('dataChange.konva', function () {\n this.dataArray = Path.parsePathData(this.attrs.data);\n this._setTextData();\n });\n this.on('textChange.konva alignChange.konva letterSpacingChange.konva kerningFuncChange.konva fontSizeChange.konva fontFamilyChange.konva', this._setTextData);\n this._setTextData();\n }\n _sceneFunc(context) {\n context.setAttr('font', this._getContextFont());\n context.setAttr('textBaseline', this.textBaseline());\n context.setAttr('textAlign', 'left');\n context.save();\n var textDecoration = this.textDecoration();\n var fill = this.fill();\n var fontSize = this.fontSize();\n var glyphInfo = this.glyphInfo;\n if (textDecoration === 'underline') {\n context.beginPath();\n }\n for (var i = 0; i < glyphInfo.length; i++) {\n context.save();\n var p0 = glyphInfo[i].p0;\n context.translate(p0.x, p0.y);\n context.rotate(glyphInfo[i].rotation);\n this.partialText = glyphInfo[i].text;\n context.fillStrokeShape(this);\n if (textDecoration === 'underline') {\n if (i === 0) {\n context.moveTo(0, fontSize / 2 + 1);\n }\n context.lineTo(fontSize, fontSize / 2 + 1);\n }\n context.restore();\n }\n if (textDecoration === 'underline') {\n context.strokeStyle = fill;\n context.lineWidth = fontSize / 20;\n context.stroke();\n }\n context.restore();\n }\n _hitFunc(context) {\n context.beginPath();\n var glyphInfo = this.glyphInfo;\n if (glyphInfo.length >= 1) {\n var p0 = glyphInfo[0].p0;\n context.moveTo(p0.x, p0.y);\n }\n for (var i = 0; i < glyphInfo.length; i++) {\n var p1 = glyphInfo[i].p1;\n context.lineTo(p1.x, p1.y);\n }\n context.setAttr('lineWidth', this.fontSize());\n context.setAttr('strokeStyle', this.colorKey);\n context.stroke();\n }\n getTextWidth() {\n return this.textWidth;\n }\n getTextHeight() {\n Util.warn('text.getTextHeight() method is deprecated. Use text.height() - for full height and text.fontSize() - for one line height.');\n return this.textHeight;\n }\n setText(text) {\n return Text.prototype.setText.call(this, text);\n }\n _getContextFont() {\n return Text.prototype._getContextFont.call(this);\n }\n _getTextSize(text) {\n var dummyCanvas = this.dummyCanvas;\n var _context = dummyCanvas.getContext('2d');\n _context.save();\n _context.font = this._getContextFont();\n var metrics = _context.measureText(text);\n _context.restore();\n return {\n width: metrics.width,\n height: parseInt(this.attrs.fontSize, 10),\n };\n }\n _setTextData() {\n var that = this;\n var size = this._getTextSize(this.attrs.text);\n var letterSpacing = this.letterSpacing();\n var align = this.align();\n var kerningFunc = this.kerningFunc();\n this.textWidth = size.width;\n this.textHeight = size.height;\n var textFullWidth = Math.max(this.textWidth + ((this.attrs.text || '').length - 1) * letterSpacing, 0);\n this.glyphInfo = [];\n var fullPathWidth = 0;\n for (var l = 0; l < that.dataArray.length; l++) {\n if (that.dataArray[l].pathLength > 0) {\n fullPathWidth += that.dataArray[l].pathLength;\n }\n }\n var offset = 0;\n if (align === 'center') {\n offset = Math.max(0, fullPathWidth / 2 - textFullWidth / 2);\n }\n if (align === 'right') {\n offset = Math.max(0, fullPathWidth - textFullWidth);\n }\n var charArr = stringToArray(this.text());\n var spacesNumber = this.text().split(' ').length - 1;\n var p0, p1, pathCmd;\n var pIndex = -1;\n var currentT = 0;\n var getNextPathSegment = function () {\n currentT = 0;\n var pathData = that.dataArray;\n for (var j = pIndex + 1; j < pathData.length; j++) {\n if (pathData[j].pathLength > 0) {\n pIndex = j;\n return pathData[j];\n }\n else if (pathData[j].command === 'M') {\n p0 = {\n x: pathData[j].points[0],\n y: pathData[j].points[1],\n };\n }\n }\n return {};\n };\n var findSegmentToFitCharacter = function (c) {\n var glyphWidth = that._getTextSize(c).width + letterSpacing;\n if (c === ' ' && align === 'justify') {\n glyphWidth += (fullPathWidth - textFullWidth) / spacesNumber;\n }\n var currLen = 0;\n var attempts = 0;\n p1 = undefined;\n while (Math.abs(glyphWidth - currLen) / glyphWidth > 0.01 &&\n attempts < 20) {\n attempts++;\n var cumulativePathLength = currLen;\n while (pathCmd === undefined) {\n pathCmd = getNextPathSegment();\n if (pathCmd &&\n cumulativePathLength + pathCmd.pathLength < glyphWidth) {\n cumulativePathLength += pathCmd.pathLength;\n pathCmd = undefined;\n }\n }\n if (Object.keys(pathCmd).length === 0 || p0 === undefined) {\n return undefined;\n }\n var needNewSegment = false;\n switch (pathCmd.command) {\n case 'L':\n if (Path.getLineLength(p0.x, p0.y, pathCmd.points[0], pathCmd.points[1]) > glyphWidth) {\n p1 = Path.getPointOnLine(glyphWidth, p0.x, p0.y, pathCmd.points[0], pathCmd.points[1], p0.x, p0.y);\n }\n else {\n pathCmd = undefined;\n }\n break;\n case 'A':\n var start = pathCmd.points[4];\n var dTheta = pathCmd.points[5];\n var end = pathCmd.points[4] + dTheta;\n if (currentT === 0) {\n currentT = start + 0.00000001;\n }\n else if (glyphWidth > currLen) {\n currentT += ((Math.PI / 180.0) * dTheta) / Math.abs(dTheta);\n }\n else {\n currentT -= ((Math.PI / 360.0) * dTheta) / Math.abs(dTheta);\n }\n if ((dTheta < 0 && currentT < end) ||\n (dTheta >= 0 && currentT > end)) {\n currentT = end;\n needNewSegment = true;\n }\n p1 = Path.getPointOnEllipticalArc(pathCmd.points[0], pathCmd.points[1], pathCmd.points[2], pathCmd.points[3], currentT, pathCmd.points[6]);\n break;\n case 'C':\n if (currentT === 0) {\n if (glyphWidth > pathCmd.pathLength) {\n currentT = 0.00000001;\n }\n else {\n currentT = glyphWidth / pathCmd.pathLength;\n }\n }\n else if (glyphWidth > currLen) {\n currentT += (glyphWidth - currLen) / pathCmd.pathLength / 2;\n }\n else {\n currentT = Math.max(currentT - (currLen - glyphWidth) / pathCmd.pathLength / 2, 0);\n }\n if (currentT > 1.0) {\n currentT = 1.0;\n needNewSegment = true;\n }\n p1 = Path.getPointOnCubicBezier(currentT, pathCmd.start.x, pathCmd.start.y, pathCmd.points[0], pathCmd.points[1], pathCmd.points[2], pathCmd.points[3], pathCmd.points[4], pathCmd.points[5]);\n break;\n case 'Q':\n if (currentT === 0) {\n currentT = glyphWidth / pathCmd.pathLength;\n }\n else if (glyphWidth > currLen) {\n currentT += (glyphWidth - currLen) / pathCmd.pathLength;\n }\n else {\n currentT -= (currLen - glyphWidth) / pathCmd.pathLength;\n }\n if (currentT > 1.0) {\n currentT = 1.0;\n needNewSegment = true;\n }\n p1 = Path.getPointOnQuadraticBezier(currentT, pathCmd.start.x, pathCmd.start.y, pathCmd.points[0], pathCmd.points[1], pathCmd.points[2], pathCmd.points[3]);\n break;\n }\n if (p1 !== undefined) {\n currLen = Path.getLineLength(p0.x, p0.y, p1.x, p1.y);\n }\n if (needNewSegment) {\n needNewSegment = false;\n pathCmd = undefined;\n }\n }\n };\n var testChar = 'C';\n var glyphWidth = that._getTextSize(testChar).width + letterSpacing;\n var lettersInOffset = offset / glyphWidth - 1;\n for (var k = 0; k < lettersInOffset; k++) {\n findSegmentToFitCharacter(testChar);\n if (p0 === undefined || p1 === undefined) {\n break;\n }\n p0 = p1;\n }\n for (var i = 0; i < charArr.length; i++) {\n findSegmentToFitCharacter(charArr[i]);\n if (p0 === undefined || p1 === undefined) {\n break;\n }\n var width = Path.getLineLength(p0.x, p0.y, p1.x, p1.y);\n var kern = 0;\n if (kerningFunc) {\n try {\n kern = kerningFunc(charArr[i - 1], charArr[i]) * this.fontSize();\n }\n catch (e) {\n kern = 0;\n }\n }\n p0.x += kern;\n p1.x += kern;\n this.textWidth += kern;\n var midpoint = Path.getPointOnLine(kern + width / 2.0, p0.x, p0.y, p1.x, p1.y);\n var rotation = Math.atan2(p1.y - p0.y, p1.x - p0.x);\n this.glyphInfo.push({\n transposeX: midpoint.x,\n transposeY: midpoint.y,\n text: charArr[i],\n rotation: rotation,\n p0: p0,\n p1: p1,\n });\n p0 = p1;\n }\n }\n getSelfRect() {\n if (!this.glyphInfo.length) {\n return {\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n };\n }\n var points = [];\n this.glyphInfo.forEach(function (info) {\n points.push(info.p0.x);\n points.push(info.p0.y);\n points.push(info.p1.x);\n points.push(info.p1.y);\n });\n var minX = points[0] || 0;\n var maxX = points[0] || 0;\n var minY = points[1] || 0;\n var maxY = points[1] || 0;\n var x, y;\n for (var i = 0; i < points.length / 2; i++) {\n x = points[i * 2];\n y = points[i * 2 + 1];\n minX = Math.min(minX, x);\n maxX = Math.max(maxX, x);\n minY = Math.min(minY, y);\n maxY = Math.max(maxY, y);\n }\n var fontSize = this.fontSize();\n return {\n x: minX - fontSize / 2,\n y: minY - fontSize / 2,\n width: maxX - minX + fontSize,\n height: maxY - minY + fontSize,\n };\n }\n destroy() {\n Util.releaseCanvas(this.dummyCanvas);\n return super.destroy();\n }\n}\nTextPath.prototype._fillFunc = _fillFunc;\nTextPath.prototype._strokeFunc = _strokeFunc;\nTextPath.prototype._fillFuncHit = _fillFunc;\nTextPath.prototype._strokeFuncHit = _strokeFunc;\nTextPath.prototype.className = 'TextPath';\nTextPath.prototype._attrsAffectingSize = ['text', 'fontSize', 'data'];\n_registerNode(TextPath);\nFactory.addGetterSetter(TextPath, 'data');\nFactory.addGetterSetter(TextPath, 'fontFamily', 'Arial');\nFactory.addGetterSetter(TextPath, 'fontSize', 12, getNumberValidator());\nFactory.addGetterSetter(TextPath, 'fontStyle', NORMAL);\nFactory.addGetterSetter(TextPath, 'align', 'left');\nFactory.addGetterSetter(TextPath, 'letterSpacing', 0, getNumberValidator());\nFactory.addGetterSetter(TextPath, 'textBaseline', 'middle');\nFactory.addGetterSetter(TextPath, 'fontVariant', NORMAL);\nFactory.addGetterSetter(TextPath, 'text', EMPTY_STRING);\nFactory.addGetterSetter(TextPath, 'textDecoration', null);\nFactory.addGetterSetter(TextPath, 'kerningFunc', null);\n","import { Util, Transform } from '../Util.js';\nimport { Factory } from '../Factory.js';\nimport { Node } from '../Node.js';\nimport { Shape } from '../Shape.js';\nimport { Rect } from './Rect.js';\nimport { Group } from '../Group.js';\nimport { Konva } from '../Global.js';\nimport { getBooleanValidator, getNumberValidator } from '../Validators.js';\nimport { _registerNode } from '../Global.js';\nvar EVENTS_NAME = 'tr-konva';\nvar ATTR_CHANGE_LIST = [\n 'resizeEnabledChange',\n 'rotateAnchorOffsetChange',\n 'rotateEnabledChange',\n 'enabledAnchorsChange',\n 'anchorSizeChange',\n 'borderEnabledChange',\n 'borderStrokeChange',\n 'borderStrokeWidthChange',\n 'borderDashChange',\n 'anchorStrokeChange',\n 'anchorStrokeWidthChange',\n 'anchorFillChange',\n 'anchorCornerRadiusChange',\n 'ignoreStrokeChange',\n]\n .map((e) => e + `.${EVENTS_NAME}`)\n .join(' ');\nvar NODES_RECT = 'nodesRect';\nvar TRANSFORM_CHANGE_STR = [\n 'widthChange',\n 'heightChange',\n 'scaleXChange',\n 'scaleYChange',\n 'skewXChange',\n 'skewYChange',\n 'rotationChange',\n 'offsetXChange',\n 'offsetYChange',\n 'transformsEnabledChange',\n 'strokeWidthChange',\n];\nvar ANGLES = {\n 'top-left': -45,\n 'top-center': 0,\n 'top-right': 45,\n 'middle-right': -90,\n 'middle-left': 90,\n 'bottom-left': -135,\n 'bottom-center': 180,\n 'bottom-right': 135,\n};\nconst TOUCH_DEVICE = 'ontouchstart' in Konva._global;\nfunction getCursor(anchorName, rad) {\n if (anchorName === 'rotater') {\n return 'crosshair';\n }\n rad += Util.degToRad(ANGLES[anchorName] || 0);\n var angle = ((Util.radToDeg(rad) % 360) + 360) % 360;\n if (Util._inRange(angle, 315 + 22.5, 360) || Util._inRange(angle, 0, 22.5)) {\n return 'ns-resize';\n }\n else if (Util._inRange(angle, 45 - 22.5, 45 + 22.5)) {\n return 'nesw-resize';\n }\n else if (Util._inRange(angle, 90 - 22.5, 90 + 22.5)) {\n return 'ew-resize';\n }\n else if (Util._inRange(angle, 135 - 22.5, 135 + 22.5)) {\n return 'nwse-resize';\n }\n else if (Util._inRange(angle, 180 - 22.5, 180 + 22.5)) {\n return 'ns-resize';\n }\n else if (Util._inRange(angle, 225 - 22.5, 225 + 22.5)) {\n return 'nesw-resize';\n }\n else if (Util._inRange(angle, 270 - 22.5, 270 + 22.5)) {\n return 'ew-resize';\n }\n else if (Util._inRange(angle, 315 - 22.5, 315 + 22.5)) {\n return 'nwse-resize';\n }\n else {\n Util.error('Transformer has unknown angle for cursor detection: ' + angle);\n return 'pointer';\n }\n}\nvar ANCHORS_NAMES = [\n 'top-left',\n 'top-center',\n 'top-right',\n 'middle-right',\n 'middle-left',\n 'bottom-left',\n 'bottom-center',\n 'bottom-right',\n];\nvar MAX_SAFE_INTEGER = 100000000;\nfunction getCenter(shape) {\n return {\n x: shape.x +\n (shape.width / 2) * Math.cos(shape.rotation) +\n (shape.height / 2) * Math.sin(-shape.rotation),\n y: shape.y +\n (shape.height / 2) * Math.cos(shape.rotation) +\n (shape.width / 2) * Math.sin(shape.rotation),\n };\n}\nfunction rotateAroundPoint(shape, angleRad, point) {\n const x = point.x +\n (shape.x - point.x) * Math.cos(angleRad) -\n (shape.y - point.y) * Math.sin(angleRad);\n const y = point.y +\n (shape.x - point.x) * Math.sin(angleRad) +\n (shape.y - point.y) * Math.cos(angleRad);\n return Object.assign(Object.assign({}, shape), { rotation: shape.rotation + angleRad, x,\n y });\n}\nfunction rotateAroundCenter(shape, deltaRad) {\n const center = getCenter(shape);\n return rotateAroundPoint(shape, deltaRad, center);\n}\nfunction getSnap(snaps, newRotationRad, tol) {\n let snapped = newRotationRad;\n for (let i = 0; i < snaps.length; i++) {\n const angle = Konva.getAngle(snaps[i]);\n const absDiff = Math.abs(angle - newRotationRad) % (Math.PI * 2);\n const dif = Math.min(absDiff, Math.PI * 2 - absDiff);\n if (dif < tol) {\n snapped = angle;\n }\n }\n return snapped;\n}\nexport class Transformer extends Group {\n constructor(config) {\n super(config);\n this._transforming = false;\n this._createElements();\n this._handleMouseMove = this._handleMouseMove.bind(this);\n this._handleMouseUp = this._handleMouseUp.bind(this);\n this.update = this.update.bind(this);\n this.on(ATTR_CHANGE_LIST, this.update);\n if (this.getNode()) {\n this.update();\n }\n }\n attachTo(node) {\n this.setNode(node);\n return this;\n }\n setNode(node) {\n Util.warn('tr.setNode(shape), tr.node(shape) and tr.attachTo(shape) methods are deprecated. Please use tr.nodes(nodesArray) instead.');\n return this.setNodes([node]);\n }\n getNode() {\n return this._nodes && this._nodes[0];\n }\n _getEventNamespace() {\n return EVENTS_NAME + this._id;\n }\n setNodes(nodes = []) {\n if (this._nodes && this._nodes.length) {\n this.detach();\n }\n const filteredNodes = nodes.filter((node) => {\n if (node.isAncestorOf(this)) {\n Util.error('Konva.Transformer cannot be an a child of the node you are trying to attach');\n return false;\n }\n return true;\n });\n this._nodes = nodes = filteredNodes;\n if (nodes.length === 1 && this.useSingleNodeRotation()) {\n this.rotation(nodes[0].getAbsoluteRotation());\n }\n else {\n this.rotation(0);\n }\n this._nodes.forEach((node) => {\n const onChange = () => {\n if (this.nodes().length === 1 && this.useSingleNodeRotation()) {\n this.rotation(this.nodes()[0].getAbsoluteRotation());\n }\n this._resetTransformCache();\n if (!this._transforming && !this.isDragging()) {\n this.update();\n }\n };\n const additionalEvents = node._attrsAffectingSize\n .map((prop) => prop + 'Change.' + this._getEventNamespace())\n .join(' ');\n node.on(additionalEvents, onChange);\n node.on(TRANSFORM_CHANGE_STR.map((e) => e + `.${this._getEventNamespace()}`).join(' '), onChange);\n node.on(`absoluteTransformChange.${this._getEventNamespace()}`, onChange);\n this._proxyDrag(node);\n });\n this._resetTransformCache();\n var elementsCreated = !!this.findOne('.top-left');\n if (elementsCreated) {\n this.update();\n }\n return this;\n }\n _proxyDrag(node) {\n let lastPos;\n node.on(`dragstart.${this._getEventNamespace()}`, (e) => {\n lastPos = node.getAbsolutePosition();\n if (!this.isDragging() && node !== this.findOne('.back')) {\n this.startDrag(e, false);\n }\n });\n node.on(`dragmove.${this._getEventNamespace()}`, (e) => {\n if (!lastPos) {\n return;\n }\n const abs = node.getAbsolutePosition();\n const dx = abs.x - lastPos.x;\n const dy = abs.y - lastPos.y;\n this.nodes().forEach((otherNode) => {\n if (otherNode === node) {\n return;\n }\n if (otherNode.isDragging()) {\n return;\n }\n const otherAbs = otherNode.getAbsolutePosition();\n otherNode.setAbsolutePosition({\n x: otherAbs.x + dx,\n y: otherAbs.y + dy,\n });\n otherNode.startDrag(e);\n });\n lastPos = null;\n });\n }\n getNodes() {\n return this._nodes || [];\n }\n getActiveAnchor() {\n return this._movingAnchorName;\n }\n detach() {\n if (this._nodes) {\n this._nodes.forEach((node) => {\n node.off('.' + this._getEventNamespace());\n });\n }\n this._nodes = [];\n this._resetTransformCache();\n }\n _resetTransformCache() {\n this._clearCache(NODES_RECT);\n this._clearCache('transform');\n this._clearSelfAndDescendantCache('absoluteTransform');\n }\n _getNodeRect() {\n return this._getCache(NODES_RECT, this.__getNodeRect);\n }\n __getNodeShape(node, rot = this.rotation(), relative) {\n var rect = node.getClientRect({\n skipTransform: true,\n skipShadow: true,\n skipStroke: this.ignoreStroke(),\n });\n var absScale = node.getAbsoluteScale(relative);\n var absPos = node.getAbsolutePosition(relative);\n var dx = rect.x * absScale.x - node.offsetX() * absScale.x;\n var dy = rect.y * absScale.y - node.offsetY() * absScale.y;\n const rotation = (Konva.getAngle(node.getAbsoluteRotation()) + Math.PI * 2) %\n (Math.PI * 2);\n const box = {\n x: absPos.x + dx * Math.cos(rotation) + dy * Math.sin(-rotation),\n y: absPos.y + dy * Math.cos(rotation) + dx * Math.sin(rotation),\n width: rect.width * absScale.x,\n height: rect.height * absScale.y,\n rotation: rotation,\n };\n return rotateAroundPoint(box, -Konva.getAngle(rot), {\n x: 0,\n y: 0,\n });\n }\n __getNodeRect() {\n var node = this.getNode();\n if (!node) {\n return {\n x: -MAX_SAFE_INTEGER,\n y: -MAX_SAFE_INTEGER,\n width: 0,\n height: 0,\n rotation: 0,\n };\n }\n const totalPoints = [];\n this.nodes().map((node) => {\n const box = node.getClientRect({\n skipTransform: true,\n skipShadow: true,\n skipStroke: this.ignoreStroke(),\n });\n var points = [\n { x: box.x, y: box.y },\n { x: box.x + box.width, y: box.y },\n { x: box.x + box.width, y: box.y + box.height },\n { x: box.x, y: box.y + box.height },\n ];\n var trans = node.getAbsoluteTransform();\n points.forEach(function (point) {\n var transformed = trans.point(point);\n totalPoints.push(transformed);\n });\n });\n const tr = new Transform();\n tr.rotate(-Konva.getAngle(this.rotation()));\n var minX, minY, maxX, maxY;\n totalPoints.forEach(function (point) {\n var transformed = tr.point(point);\n if (minX === undefined) {\n minX = maxX = transformed.x;\n minY = maxY = transformed.y;\n }\n minX = Math.min(minX, transformed.x);\n minY = Math.min(minY, transformed.y);\n maxX = Math.max(maxX, transformed.x);\n maxY = Math.max(maxY, transformed.y);\n });\n tr.invert();\n const p = tr.point({ x: minX, y: minY });\n return {\n x: p.x,\n y: p.y,\n width: maxX - minX,\n height: maxY - minY,\n rotation: Konva.getAngle(this.rotation()),\n };\n }\n getX() {\n return this._getNodeRect().x;\n }\n getY() {\n return this._getNodeRect().y;\n }\n getWidth() {\n return this._getNodeRect().width;\n }\n getHeight() {\n return this._getNodeRect().height;\n }\n _createElements() {\n this._createBack();\n ANCHORS_NAMES.forEach(function (name) {\n this._createAnchor(name);\n }.bind(this));\n this._createAnchor('rotater');\n }\n _createAnchor(name) {\n var anchor = new Rect({\n stroke: 'rgb(0, 161, 255)',\n fill: 'white',\n strokeWidth: 1,\n name: name + ' _anchor',\n dragDistance: 0,\n draggable: true,\n hitStrokeWidth: TOUCH_DEVICE ? 10 : 'auto',\n });\n var self = this;\n anchor.on('mousedown touchstart', function (e) {\n self._handleMouseDown(e);\n });\n anchor.on('dragstart', (e) => {\n anchor.stopDrag();\n e.cancelBubble = true;\n });\n anchor.on('dragend', (e) => {\n e.cancelBubble = true;\n });\n anchor.on('mouseenter', () => {\n var rad = Konva.getAngle(this.rotation());\n var cursor = getCursor(name, rad);\n anchor.getStage().content &&\n (anchor.getStage().content.style.cursor = cursor);\n this._cursorChange = true;\n });\n anchor.on('mouseout', () => {\n anchor.getStage().content &&\n (anchor.getStage().content.style.cursor = '');\n this._cursorChange = false;\n });\n this.add(anchor);\n }\n _createBack() {\n var back = new Shape({\n name: 'back',\n width: 0,\n height: 0,\n draggable: true,\n sceneFunc(ctx) {\n var tr = this.getParent();\n var padding = tr.padding();\n ctx.beginPath();\n ctx.rect(-padding, -padding, this.width() + padding * 2, this.height() + padding * 2);\n ctx.moveTo(this.width() / 2, -padding);\n if (tr.rotateEnabled()) {\n ctx.lineTo(this.width() / 2, -tr.rotateAnchorOffset() * Util._sign(this.height()) - padding);\n }\n ctx.fillStrokeShape(this);\n },\n hitFunc: (ctx, shape) => {\n if (!this.shouldOverdrawWholeArea()) {\n return;\n }\n var padding = this.padding();\n ctx.beginPath();\n ctx.rect(-padding, -padding, shape.width() + padding * 2, shape.height() + padding * 2);\n ctx.fillStrokeShape(shape);\n },\n });\n this.add(back);\n this._proxyDrag(back);\n back.on('dragstart', (e) => {\n e.cancelBubble = true;\n });\n back.on('dragmove', (e) => {\n e.cancelBubble = true;\n });\n back.on('dragend', (e) => {\n e.cancelBubble = true;\n });\n this.on('dragmove', (e) => {\n this.update();\n });\n }\n _handleMouseDown(e) {\n this._movingAnchorName = e.target.name().split(' ')[0];\n var attrs = this._getNodeRect();\n var width = attrs.width;\n var height = attrs.height;\n var hypotenuse = Math.sqrt(Math.pow(width, 2) + Math.pow(height, 2));\n this.sin = Math.abs(height / hypotenuse);\n this.cos = Math.abs(width / hypotenuse);\n if (typeof window !== 'undefined') {\n window.addEventListener('mousemove', this._handleMouseMove);\n window.addEventListener('touchmove', this._handleMouseMove);\n window.addEventListener('mouseup', this._handleMouseUp, true);\n window.addEventListener('touchend', this._handleMouseUp, true);\n }\n this._transforming = true;\n var ap = e.target.getAbsolutePosition();\n var pos = e.target.getStage().getPointerPosition();\n this._anchorDragOffset = {\n x: pos.x - ap.x,\n y: pos.y - ap.y,\n };\n this._fire('transformstart', { evt: e.evt, target: this.getNode() });\n this._nodes.forEach((target) => {\n target._fire('transformstart', { evt: e.evt, target });\n });\n }\n _handleMouseMove(e) {\n var x, y, newHypotenuse;\n var anchorNode = this.findOne('.' + this._movingAnchorName);\n var stage = anchorNode.getStage();\n stage.setPointersPositions(e);\n const pp = stage.getPointerPosition();\n let newNodePos = {\n x: pp.x - this._anchorDragOffset.x,\n y: pp.y - this._anchorDragOffset.y,\n };\n const oldAbs = anchorNode.getAbsolutePosition();\n if (this.anchorDragBoundFunc()) {\n newNodePos = this.anchorDragBoundFunc()(oldAbs, newNodePos, e);\n }\n anchorNode.setAbsolutePosition(newNodePos);\n const newAbs = anchorNode.getAbsolutePosition();\n if (oldAbs.x === newAbs.x && oldAbs.y === newAbs.y) {\n return;\n }\n if (this._movingAnchorName === 'rotater') {\n var attrs = this._getNodeRect();\n x = anchorNode.x() - attrs.width / 2;\n y = -anchorNode.y() + attrs.height / 2;\n let delta = Math.atan2(-y, x) + Math.PI / 2;\n if (attrs.height < 0) {\n delta -= Math.PI;\n }\n var oldRotation = Konva.getAngle(this.rotation());\n const newRotation = oldRotation + delta;\n const tol = Konva.getAngle(this.rotationSnapTolerance());\n const snappedRot = getSnap(this.rotationSnaps(), newRotation, tol);\n const diff = snappedRot - attrs.rotation;\n const shape = rotateAroundCenter(attrs, diff);\n this._fitNodesInto(shape, e);\n return;\n }\n var keepProportion = this.keepRatio() || e.shiftKey;\n var centeredScaling = this.centeredScaling() || e.altKey;\n if (this._movingAnchorName === 'top-left') {\n if (keepProportion) {\n var comparePoint = centeredScaling\n ? {\n x: this.width() / 2,\n y: this.height() / 2,\n }\n : {\n x: this.findOne('.bottom-right').x(),\n y: this.findOne('.bottom-right').y(),\n };\n newHypotenuse = Math.sqrt(Math.pow(comparePoint.x - anchorNode.x(), 2) +\n Math.pow(comparePoint.y - anchorNode.y(), 2));\n var reverseX = this.findOne('.top-left').x() > comparePoint.x ? -1 : 1;\n var reverseY = this.findOne('.top-left').y() > comparePoint.y ? -1 : 1;\n x = newHypotenuse * this.cos * reverseX;\n y = newHypotenuse * this.sin * reverseY;\n this.findOne('.top-left').x(comparePoint.x - x);\n this.findOne('.top-left').y(comparePoint.y - y);\n }\n }\n else if (this._movingAnchorName === 'top-center') {\n this.findOne('.top-left').y(anchorNode.y());\n }\n else if (this._movingAnchorName === 'top-right') {\n if (keepProportion) {\n var comparePoint = centeredScaling\n ? {\n x: this.width() / 2,\n y: this.height() / 2,\n }\n : {\n x: this.findOne('.bottom-left').x(),\n y: this.findOne('.bottom-left').y(),\n };\n newHypotenuse = Math.sqrt(Math.pow(anchorNode.x() - comparePoint.x, 2) +\n Math.pow(comparePoint.y - anchorNode.y(), 2));\n var reverseX = this.findOne('.top-right').x() < comparePoint.x ? -1 : 1;\n var reverseY = this.findOne('.top-right').y() > comparePoint.y ? -1 : 1;\n x = newHypotenuse * this.cos * reverseX;\n y = newHypotenuse * this.sin * reverseY;\n this.findOne('.top-right').x(comparePoint.x + x);\n this.findOne('.top-right').y(comparePoint.y - y);\n }\n var pos = anchorNode.position();\n this.findOne('.top-left').y(pos.y);\n this.findOne('.bottom-right').x(pos.x);\n }\n else if (this._movingAnchorName === 'middle-left') {\n this.findOne('.top-left').x(anchorNode.x());\n }\n else if (this._movingAnchorName === 'middle-right') {\n this.findOne('.bottom-right').x(anchorNode.x());\n }\n else if (this._movingAnchorName === 'bottom-left') {\n if (keepProportion) {\n var comparePoint = centeredScaling\n ? {\n x: this.width() / 2,\n y: this.height() / 2,\n }\n : {\n x: this.findOne('.top-right').x(),\n y: this.findOne('.top-right').y(),\n };\n newHypotenuse = Math.sqrt(Math.pow(comparePoint.x - anchorNode.x(), 2) +\n Math.pow(anchorNode.y() - comparePoint.y, 2));\n var reverseX = comparePoint.x < anchorNode.x() ? -1 : 1;\n var reverseY = anchorNode.y() < comparePoint.y ? -1 : 1;\n x = newHypotenuse * this.cos * reverseX;\n y = newHypotenuse * this.sin * reverseY;\n anchorNode.x(comparePoint.x - x);\n anchorNode.y(comparePoint.y + y);\n }\n pos = anchorNode.position();\n this.findOne('.top-left').x(pos.x);\n this.findOne('.bottom-right').y(pos.y);\n }\n else if (this._movingAnchorName === 'bottom-center') {\n this.findOne('.bottom-right').y(anchorNode.y());\n }\n else if (this._movingAnchorName === 'bottom-right') {\n if (keepProportion) {\n var comparePoint = centeredScaling\n ? {\n x: this.width() / 2,\n y: this.height() / 2,\n }\n : {\n x: this.findOne('.top-left').x(),\n y: this.findOne('.top-left').y(),\n };\n newHypotenuse = Math.sqrt(Math.pow(anchorNode.x() - comparePoint.x, 2) +\n Math.pow(anchorNode.y() - comparePoint.y, 2));\n var reverseX = this.findOne('.bottom-right').x() < comparePoint.x ? -1 : 1;\n var reverseY = this.findOne('.bottom-right').y() < comparePoint.y ? -1 : 1;\n x = newHypotenuse * this.cos * reverseX;\n y = newHypotenuse * this.sin * reverseY;\n this.findOne('.bottom-right').x(comparePoint.x + x);\n this.findOne('.bottom-right').y(comparePoint.y + y);\n }\n }\n else {\n console.error(new Error('Wrong position argument of selection resizer: ' +\n this._movingAnchorName));\n }\n var centeredScaling = this.centeredScaling() || e.altKey;\n if (centeredScaling) {\n var topLeft = this.findOne('.top-left');\n var bottomRight = this.findOne('.bottom-right');\n var topOffsetX = topLeft.x();\n var topOffsetY = topLeft.y();\n var bottomOffsetX = this.getWidth() - bottomRight.x();\n var bottomOffsetY = this.getHeight() - bottomRight.y();\n bottomRight.move({\n x: -topOffsetX,\n y: -topOffsetY,\n });\n topLeft.move({\n x: bottomOffsetX,\n y: bottomOffsetY,\n });\n }\n var absPos = this.findOne('.top-left').getAbsolutePosition();\n x = absPos.x;\n y = absPos.y;\n var width = this.findOne('.bottom-right').x() - this.findOne('.top-left').x();\n var height = this.findOne('.bottom-right').y() - this.findOne('.top-left').y();\n this._fitNodesInto({\n x: x,\n y: y,\n width: width,\n height: height,\n rotation: Konva.getAngle(this.rotation()),\n }, e);\n }\n _handleMouseUp(e) {\n this._removeEvents(e);\n }\n getAbsoluteTransform() {\n return this.getTransform();\n }\n _removeEvents(e) {\n if (this._transforming) {\n this._transforming = false;\n if (typeof window !== 'undefined') {\n window.removeEventListener('mousemove', this._handleMouseMove);\n window.removeEventListener('touchmove', this._handleMouseMove);\n window.removeEventListener('mouseup', this._handleMouseUp, true);\n window.removeEventListener('touchend', this._handleMouseUp, true);\n }\n var node = this.getNode();\n this._fire('transformend', { evt: e, target: node });\n if (node) {\n this._nodes.forEach((target) => {\n target._fire('transformend', { evt: e, target });\n });\n }\n this._movingAnchorName = null;\n }\n }\n _fitNodesInto(newAttrs, evt) {\n var oldAttrs = this._getNodeRect();\n const minSize = 1;\n if (Util._inRange(newAttrs.width, -this.padding() * 2 - minSize, minSize)) {\n this.update();\n return;\n }\n if (Util._inRange(newAttrs.height, -this.padding() * 2 - minSize, minSize)) {\n this.update();\n return;\n }\n const allowNegativeScale = this.flipEnabled();\n var t = new Transform();\n t.rotate(Konva.getAngle(this.rotation()));\n if (this._movingAnchorName &&\n newAttrs.width < 0 &&\n this._movingAnchorName.indexOf('left') >= 0) {\n const offset = t.point({\n x: -this.padding() * 2,\n y: 0,\n });\n newAttrs.x += offset.x;\n newAttrs.y += offset.y;\n newAttrs.width += this.padding() * 2;\n this._movingAnchorName = this._movingAnchorName.replace('left', 'right');\n this._anchorDragOffset.x -= offset.x;\n this._anchorDragOffset.y -= offset.y;\n if (!allowNegativeScale) {\n this.update();\n return;\n }\n }\n else if (this._movingAnchorName &&\n newAttrs.width < 0 &&\n this._movingAnchorName.indexOf('right') >= 0) {\n const offset = t.point({\n x: this.padding() * 2,\n y: 0,\n });\n this._movingAnchorName = this._movingAnchorName.replace('right', 'left');\n this._anchorDragOffset.x -= offset.x;\n this._anchorDragOffset.y -= offset.y;\n newAttrs.width += this.padding() * 2;\n if (!allowNegativeScale) {\n this.update();\n return;\n }\n }\n if (this._movingAnchorName &&\n newAttrs.height < 0 &&\n this._movingAnchorName.indexOf('top') >= 0) {\n const offset = t.point({\n x: 0,\n y: -this.padding() * 2,\n });\n newAttrs.x += offset.x;\n newAttrs.y += offset.y;\n this._movingAnchorName = this._movingAnchorName.replace('top', 'bottom');\n this._anchorDragOffset.x -= offset.x;\n this._anchorDragOffset.y -= offset.y;\n newAttrs.height += this.padding() * 2;\n if (!allowNegativeScale) {\n this.update();\n return;\n }\n }\n else if (this._movingAnchorName &&\n newAttrs.height < 0 &&\n this._movingAnchorName.indexOf('bottom') >= 0) {\n const offset = t.point({\n x: 0,\n y: this.padding() * 2,\n });\n this._movingAnchorName = this._movingAnchorName.replace('bottom', 'top');\n this._anchorDragOffset.x -= offset.x;\n this._anchorDragOffset.y -= offset.y;\n newAttrs.height += this.padding() * 2;\n if (!allowNegativeScale) {\n this.update();\n return;\n }\n }\n if (this.boundBoxFunc()) {\n const bounded = this.boundBoxFunc()(oldAttrs, newAttrs);\n if (bounded) {\n newAttrs = bounded;\n }\n else {\n Util.warn('boundBoxFunc returned falsy. You should return new bound rect from it!');\n }\n }\n const baseSize = 10000000;\n const oldTr = new Transform();\n oldTr.translate(oldAttrs.x, oldAttrs.y);\n oldTr.rotate(oldAttrs.rotation);\n oldTr.scale(oldAttrs.width / baseSize, oldAttrs.height / baseSize);\n const newTr = new Transform();\n newTr.translate(newAttrs.x, newAttrs.y);\n newTr.rotate(newAttrs.rotation);\n newTr.scale(newAttrs.width / baseSize, newAttrs.height / baseSize);\n const delta = newTr.multiply(oldTr.invert());\n this._nodes.forEach((node) => {\n var _a;\n const parentTransform = node.getParent().getAbsoluteTransform();\n const localTransform = node.getTransform().copy();\n localTransform.translate(node.offsetX(), node.offsetY());\n const newLocalTransform = new Transform();\n newLocalTransform\n .multiply(parentTransform.copy().invert())\n .multiply(delta)\n .multiply(parentTransform)\n .multiply(localTransform);\n const attrs = newLocalTransform.decompose();\n node.setAttrs(attrs);\n this._fire('transform', { evt: evt, target: node });\n node._fire('transform', { evt: evt, target: node });\n (_a = node.getLayer()) === null || _a === void 0 ? void 0 : _a.batchDraw();\n });\n this.rotation(Util._getRotation(newAttrs.rotation));\n this._resetTransformCache();\n this.update();\n this.getLayer().batchDraw();\n }\n forceUpdate() {\n this._resetTransformCache();\n this.update();\n }\n _batchChangeChild(selector, attrs) {\n const anchor = this.findOne(selector);\n anchor.setAttrs(attrs);\n }\n update() {\n var _a;\n var attrs = this._getNodeRect();\n this.rotation(Util._getRotation(attrs.rotation));\n var width = attrs.width;\n var height = attrs.height;\n var enabledAnchors = this.enabledAnchors();\n var resizeEnabled = this.resizeEnabled();\n var padding = this.padding();\n var anchorSize = this.anchorSize();\n this.find('._anchor').forEach((node) => {\n node.setAttrs({\n width: anchorSize,\n height: anchorSize,\n offsetX: anchorSize / 2,\n offsetY: anchorSize / 2,\n stroke: this.anchorStroke(),\n strokeWidth: this.anchorStrokeWidth(),\n fill: this.anchorFill(),\n cornerRadius: this.anchorCornerRadius(),\n });\n });\n this._batchChangeChild('.top-left', {\n x: 0,\n y: 0,\n offsetX: anchorSize / 2 + padding,\n offsetY: anchorSize / 2 + padding,\n visible: resizeEnabled && enabledAnchors.indexOf('top-left') >= 0,\n });\n this._batchChangeChild('.top-center', {\n x: width / 2,\n y: 0,\n offsetY: anchorSize / 2 + padding,\n visible: resizeEnabled && enabledAnchors.indexOf('top-center') >= 0,\n });\n this._batchChangeChild('.top-right', {\n x: width,\n y: 0,\n offsetX: anchorSize / 2 - padding,\n offsetY: anchorSize / 2 + padding,\n visible: resizeEnabled && enabledAnchors.indexOf('top-right') >= 0,\n });\n this._batchChangeChild('.middle-left', {\n x: 0,\n y: height / 2,\n offsetX: anchorSize / 2 + padding,\n visible: resizeEnabled && enabledAnchors.indexOf('middle-left') >= 0,\n });\n this._batchChangeChild('.middle-right', {\n x: width,\n y: height / 2,\n offsetX: anchorSize / 2 - padding,\n visible: resizeEnabled && enabledAnchors.indexOf('middle-right') >= 0,\n });\n this._batchChangeChild('.bottom-left', {\n x: 0,\n y: height,\n offsetX: anchorSize / 2 + padding,\n offsetY: anchorSize / 2 - padding,\n visible: resizeEnabled && enabledAnchors.indexOf('bottom-left') >= 0,\n });\n this._batchChangeChild('.bottom-center', {\n x: width / 2,\n y: height,\n offsetY: anchorSize / 2 - padding,\n visible: resizeEnabled && enabledAnchors.indexOf('bottom-center') >= 0,\n });\n this._batchChangeChild('.bottom-right', {\n x: width,\n y: height,\n offsetX: anchorSize / 2 - padding,\n offsetY: anchorSize / 2 - padding,\n visible: resizeEnabled && enabledAnchors.indexOf('bottom-right') >= 0,\n });\n this._batchChangeChild('.rotater', {\n x: width / 2,\n y: -this.rotateAnchorOffset() * Util._sign(height) - padding,\n visible: this.rotateEnabled(),\n });\n this._batchChangeChild('.back', {\n width: width,\n height: height,\n visible: this.borderEnabled(),\n stroke: this.borderStroke(),\n strokeWidth: this.borderStrokeWidth(),\n dash: this.borderDash(),\n x: 0,\n y: 0,\n });\n (_a = this.getLayer()) === null || _a === void 0 ? void 0 : _a.batchDraw();\n }\n isTransforming() {\n return this._transforming;\n }\n stopTransform() {\n if (this._transforming) {\n this._removeEvents();\n var anchorNode = this.findOne('.' + this._movingAnchorName);\n if (anchorNode) {\n anchorNode.stopDrag();\n }\n }\n }\n destroy() {\n if (this.getStage() && this._cursorChange) {\n this.getStage().content && (this.getStage().content.style.cursor = '');\n }\n Group.prototype.destroy.call(this);\n this.detach();\n this._removeEvents();\n return this;\n }\n toObject() {\n return Node.prototype.toObject.call(this);\n }\n clone(obj) {\n var node = Node.prototype.clone.call(this, obj);\n return node;\n }\n getClientRect() {\n if (this.nodes().length > 0) {\n return super.getClientRect();\n }\n else {\n return { x: 0, y: 0, width: 0, height: 0 };\n }\n }\n}\nfunction validateAnchors(val) {\n if (!(val instanceof Array)) {\n Util.warn('enabledAnchors value should be an array');\n }\n if (val instanceof Array) {\n val.forEach(function (name) {\n if (ANCHORS_NAMES.indexOf(name) === -1) {\n Util.warn('Unknown anchor name: ' +\n name +\n '. Available names are: ' +\n ANCHORS_NAMES.join(', '));\n }\n });\n }\n return val || [];\n}\nTransformer.prototype.className = 'Transformer';\n_registerNode(Transformer);\nFactory.addGetterSetter(Transformer, 'enabledAnchors', ANCHORS_NAMES, validateAnchors);\nFactory.addGetterSetter(Transformer, 'flipEnabled', true, getBooleanValidator());\nFactory.addGetterSetter(Transformer, 'resizeEnabled', true);\nFactory.addGetterSetter(Transformer, 'anchorSize', 10, getNumberValidator());\nFactory.addGetterSetter(Transformer, 'rotateEnabled', true);\nFactory.addGetterSetter(Transformer, 'rotationSnaps', []);\nFactory.addGetterSetter(Transformer, 'rotateAnchorOffset', 50, getNumberValidator());\nFactory.addGetterSetter(Transformer, 'rotationSnapTolerance', 5, getNumberValidator());\nFactory.addGetterSetter(Transformer, 'borderEnabled', true);\nFactory.addGetterSetter(Transformer, 'anchorStroke', 'rgb(0, 161, 255)');\nFactory.addGetterSetter(Transformer, 'anchorStrokeWidth', 1, getNumberValidator());\nFactory.addGetterSetter(Transformer, 'anchorFill', 'white');\nFactory.addGetterSetter(Transformer, 'anchorCornerRadius', 0, getNumberValidator());\nFactory.addGetterSetter(Transformer, 'borderStroke', 'rgb(0, 161, 255)');\nFactory.addGetterSetter(Transformer, 'borderStrokeWidth', 1, getNumberValidator());\nFactory.addGetterSetter(Transformer, 'borderDash');\nFactory.addGetterSetter(Transformer, 'keepRatio', true);\nFactory.addGetterSetter(Transformer, 'centeredScaling', false);\nFactory.addGetterSetter(Transformer, 'ignoreStroke', false);\nFactory.addGetterSetter(Transformer, 'padding', 0, getNumberValidator());\nFactory.addGetterSetter(Transformer, 'node');\nFactory.addGetterSetter(Transformer, 'nodes');\nFactory.addGetterSetter(Transformer, 'boundBoxFunc');\nFactory.addGetterSetter(Transformer, 'anchorDragBoundFunc');\nFactory.addGetterSetter(Transformer, 'shouldOverdrawWholeArea', false);\nFactory.addGetterSetter(Transformer, 'useSingleNodeRotation', true);\nFactory.backCompat(Transformer, {\n lineEnabled: 'borderEnabled',\n rotateHandlerOffset: 'rotateAnchorOffset',\n enabledHandlers: 'enabledAnchors',\n});\n","import { Factory } from '../Factory.js';\nimport { Shape } from '../Shape.js';\nimport { Konva } from '../Global.js';\nimport { getNumberValidator } from '../Validators.js';\nimport { _registerNode } from '../Global.js';\nexport class Wedge extends Shape {\n _sceneFunc(context) {\n context.beginPath();\n context.arc(0, 0, this.radius(), 0, Konva.getAngle(this.angle()), this.clockwise());\n context.lineTo(0, 0);\n context.closePath();\n context.fillStrokeShape(this);\n }\n getWidth() {\n return this.radius() * 2;\n }\n getHeight() {\n return this.radius() * 2;\n }\n setWidth(width) {\n this.radius(width / 2);\n }\n setHeight(height) {\n this.radius(height / 2);\n }\n}\nWedge.prototype.className = 'Wedge';\nWedge.prototype._centroid = true;\nWedge.prototype._attrsAffectingSize = ['radius'];\n_registerNode(Wedge);\nFactory.addGetterSetter(Wedge, 'radius', 0, getNumberValidator());\nFactory.addGetterSetter(Wedge, 'angle', 0, getNumberValidator());\nFactory.addGetterSetter(Wedge, 'clockwise', false);\nFactory.backCompat(Wedge, {\n angleDeg: 'angle',\n getAngleDeg: 'getAngle',\n setAngleDeg: 'setAngle',\n});\n","import { Factory } from '../Factory.js';\nimport { Node } from '../Node.js';\nimport { getNumberValidator } from '../Validators.js';\nfunction BlurStack() {\n this.r = 0;\n this.g = 0;\n this.b = 0;\n this.a = 0;\n this.next = null;\n}\nvar mul_table = [\n 512,\n 512,\n 456,\n 512,\n 328,\n 456,\n 335,\n 512,\n 405,\n 328,\n 271,\n 456,\n 388,\n 335,\n 292,\n 512,\n 454,\n 405,\n 364,\n 328,\n 298,\n 271,\n 496,\n 456,\n 420,\n 388,\n 360,\n 335,\n 312,\n 292,\n 273,\n 512,\n 482,\n 454,\n 428,\n 405,\n 383,\n 364,\n 345,\n 328,\n 312,\n 298,\n 284,\n 271,\n 259,\n 496,\n 475,\n 456,\n 437,\n 420,\n 404,\n 388,\n 374,\n 360,\n 347,\n 335,\n 323,\n 312,\n 302,\n 292,\n 282,\n 273,\n 265,\n 512,\n 497,\n 482,\n 468,\n 454,\n 441,\n 428,\n 417,\n 405,\n 394,\n 383,\n 373,\n 364,\n 354,\n 345,\n 337,\n 328,\n 320,\n 312,\n 305,\n 298,\n 291,\n 284,\n 278,\n 271,\n 265,\n 259,\n 507,\n 496,\n 485,\n 475,\n 465,\n 456,\n 446,\n 437,\n 428,\n 420,\n 412,\n 404,\n 396,\n 388,\n 381,\n 374,\n 367,\n 360,\n 354,\n 347,\n 341,\n 335,\n 329,\n 323,\n 318,\n 312,\n 307,\n 302,\n 297,\n 292,\n 287,\n 282,\n 278,\n 273,\n 269,\n 265,\n 261,\n 512,\n 505,\n 497,\n 489,\n 482,\n 475,\n 468,\n 461,\n 454,\n 447,\n 441,\n 435,\n 428,\n 422,\n 417,\n 411,\n 405,\n 399,\n 394,\n 389,\n 383,\n 378,\n 373,\n 368,\n 364,\n 359,\n 354,\n 350,\n 345,\n 341,\n 337,\n 332,\n 328,\n 324,\n 320,\n 316,\n 312,\n 309,\n 305,\n 301,\n 298,\n 294,\n 291,\n 287,\n 284,\n 281,\n 278,\n 274,\n 271,\n 268,\n 265,\n 262,\n 259,\n 257,\n 507,\n 501,\n 496,\n 491,\n 485,\n 480,\n 475,\n 470,\n 465,\n 460,\n 456,\n 451,\n 446,\n 442,\n 437,\n 433,\n 428,\n 424,\n 420,\n 416,\n 412,\n 408,\n 404,\n 400,\n 396,\n 392,\n 388,\n 385,\n 381,\n 377,\n 374,\n 370,\n 367,\n 363,\n 360,\n 357,\n 354,\n 350,\n 347,\n 344,\n 341,\n 338,\n 335,\n 332,\n 329,\n 326,\n 323,\n 320,\n 318,\n 315,\n 312,\n 310,\n 307,\n 304,\n 302,\n 299,\n 297,\n 294,\n 292,\n 289,\n 287,\n 285,\n 282,\n 280,\n 278,\n 275,\n 273,\n 271,\n 269,\n 267,\n 265,\n 263,\n 261,\n 259,\n];\nvar shg_table = [\n 9,\n 11,\n 12,\n 13,\n 13,\n 14,\n 14,\n 15,\n 15,\n 15,\n 15,\n 16,\n 16,\n 16,\n 16,\n 17,\n 17,\n 17,\n 17,\n 17,\n 17,\n 17,\n 18,\n 18,\n 18,\n 18,\n 18,\n 18,\n 18,\n 18,\n 18,\n 19,\n 19,\n 19,\n 19,\n 19,\n 19,\n 19,\n 19,\n 19,\n 19,\n 19,\n 19,\n 19,\n 19,\n 20,\n 20,\n 20,\n 20,\n 20,\n 20,\n 20,\n 20,\n 20,\n 20,\n 20,\n 20,\n 20,\n 20,\n 20,\n 20,\n 20,\n 20,\n 21,\n 21,\n 21,\n 21,\n 21,\n 21,\n 21,\n 21,\n 21,\n 21,\n 21,\n 21,\n 21,\n 21,\n 21,\n 21,\n 21,\n 21,\n 21,\n 21,\n 21,\n 21,\n 21,\n 21,\n 21,\n 21,\n 21,\n 22,\n 22,\n 22,\n 22,\n 22,\n 22,\n 22,\n 22,\n 22,\n 22,\n 22,\n 22,\n 22,\n 22,\n 22,\n 22,\n 22,\n 22,\n 22,\n 22,\n 22,\n 22,\n 22,\n 22,\n 22,\n 22,\n 22,\n 22,\n 22,\n 22,\n 22,\n 22,\n 22,\n 22,\n 22,\n 22,\n 22,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n];\nfunction filterGaussBlurRGBA(imageData, radius) {\n var pixels = imageData.data, width = imageData.width, height = imageData.height;\n var x, y, i, p, yp, yi, yw, r_sum, g_sum, b_sum, a_sum, r_out_sum, g_out_sum, b_out_sum, a_out_sum, r_in_sum, g_in_sum, b_in_sum, a_in_sum, pr, pg, pb, pa, rbs;\n var div = radius + radius + 1, widthMinus1 = width - 1, heightMinus1 = height - 1, radiusPlus1 = radius + 1, sumFactor = (radiusPlus1 * (radiusPlus1 + 1)) / 2, stackStart = new BlurStack(), stackEnd = null, stack = stackStart, stackIn = null, stackOut = null, mul_sum = mul_table[radius], shg_sum = shg_table[radius];\n for (i = 1; i < div; i++) {\n stack = stack.next = new BlurStack();\n if (i === radiusPlus1) {\n stackEnd = stack;\n }\n }\n stack.next = stackStart;\n yw = yi = 0;\n for (y = 0; y < height; y++) {\n r_in_sum = g_in_sum = b_in_sum = a_in_sum = r_sum = g_sum = b_sum = a_sum = 0;\n r_out_sum = radiusPlus1 * (pr = pixels[yi]);\n g_out_sum = radiusPlus1 * (pg = pixels[yi + 1]);\n b_out_sum = radiusPlus1 * (pb = pixels[yi + 2]);\n a_out_sum = radiusPlus1 * (pa = pixels[yi + 3]);\n r_sum += sumFactor * pr;\n g_sum += sumFactor * pg;\n b_sum += sumFactor * pb;\n a_sum += sumFactor * pa;\n stack = stackStart;\n for (i = 0; i < radiusPlus1; i++) {\n stack.r = pr;\n stack.g = pg;\n stack.b = pb;\n stack.a = pa;\n stack = stack.next;\n }\n for (i = 1; i < radiusPlus1; i++) {\n p = yi + ((widthMinus1 < i ? widthMinus1 : i) << 2);\n r_sum += (stack.r = pr = pixels[p]) * (rbs = radiusPlus1 - i);\n g_sum += (stack.g = pg = pixels[p + 1]) * rbs;\n b_sum += (stack.b = pb = pixels[p + 2]) * rbs;\n a_sum += (stack.a = pa = pixels[p + 3]) * rbs;\n r_in_sum += pr;\n g_in_sum += pg;\n b_in_sum += pb;\n a_in_sum += pa;\n stack = stack.next;\n }\n stackIn = stackStart;\n stackOut = stackEnd;\n for (x = 0; x < width; x++) {\n pixels[yi + 3] = pa = (a_sum * mul_sum) >> shg_sum;\n if (pa !== 0) {\n pa = 255 / pa;\n pixels[yi] = ((r_sum * mul_sum) >> shg_sum) * pa;\n pixels[yi + 1] = ((g_sum * mul_sum) >> shg_sum) * pa;\n pixels[yi + 2] = ((b_sum * mul_sum) >> shg_sum) * pa;\n }\n else {\n pixels[yi] = pixels[yi + 1] = pixels[yi + 2] = 0;\n }\n r_sum -= r_out_sum;\n g_sum -= g_out_sum;\n b_sum -= b_out_sum;\n a_sum -= a_out_sum;\n r_out_sum -= stackIn.r;\n g_out_sum -= stackIn.g;\n b_out_sum -= stackIn.b;\n a_out_sum -= stackIn.a;\n p = (yw + ((p = x + radius + 1) < widthMinus1 ? p : widthMinus1)) << 2;\n r_in_sum += stackIn.r = pixels[p];\n g_in_sum += stackIn.g = pixels[p + 1];\n b_in_sum += stackIn.b = pixels[p + 2];\n a_in_sum += stackIn.a = pixels[p + 3];\n r_sum += r_in_sum;\n g_sum += g_in_sum;\n b_sum += b_in_sum;\n a_sum += a_in_sum;\n stackIn = stackIn.next;\n r_out_sum += pr = stackOut.r;\n g_out_sum += pg = stackOut.g;\n b_out_sum += pb = stackOut.b;\n a_out_sum += pa = stackOut.a;\n r_in_sum -= pr;\n g_in_sum -= pg;\n b_in_sum -= pb;\n a_in_sum -= pa;\n stackOut = stackOut.next;\n yi += 4;\n }\n yw += width;\n }\n for (x = 0; x < width; x++) {\n g_in_sum = b_in_sum = a_in_sum = r_in_sum = g_sum = b_sum = a_sum = r_sum = 0;\n yi = x << 2;\n r_out_sum = radiusPlus1 * (pr = pixels[yi]);\n g_out_sum = radiusPlus1 * (pg = pixels[yi + 1]);\n b_out_sum = radiusPlus1 * (pb = pixels[yi + 2]);\n a_out_sum = radiusPlus1 * (pa = pixels[yi + 3]);\n r_sum += sumFactor * pr;\n g_sum += sumFactor * pg;\n b_sum += sumFactor * pb;\n a_sum += sumFactor * pa;\n stack = stackStart;\n for (i = 0; i < radiusPlus1; i++) {\n stack.r = pr;\n stack.g = pg;\n stack.b = pb;\n stack.a = pa;\n stack = stack.next;\n }\n yp = width;\n for (i = 1; i <= radius; i++) {\n yi = (yp + x) << 2;\n r_sum += (stack.r = pr = pixels[yi]) * (rbs = radiusPlus1 - i);\n g_sum += (stack.g = pg = pixels[yi + 1]) * rbs;\n b_sum += (stack.b = pb = pixels[yi + 2]) * rbs;\n a_sum += (stack.a = pa = pixels[yi + 3]) * rbs;\n r_in_sum += pr;\n g_in_sum += pg;\n b_in_sum += pb;\n a_in_sum += pa;\n stack = stack.next;\n if (i < heightMinus1) {\n yp += width;\n }\n }\n yi = x;\n stackIn = stackStart;\n stackOut = stackEnd;\n for (y = 0; y < height; y++) {\n p = yi << 2;\n pixels[p + 3] = pa = (a_sum * mul_sum) >> shg_sum;\n if (pa > 0) {\n pa = 255 / pa;\n pixels[p] = ((r_sum * mul_sum) >> shg_sum) * pa;\n pixels[p + 1] = ((g_sum * mul_sum) >> shg_sum) * pa;\n pixels[p + 2] = ((b_sum * mul_sum) >> shg_sum) * pa;\n }\n else {\n pixels[p] = pixels[p + 1] = pixels[p + 2] = 0;\n }\n r_sum -= r_out_sum;\n g_sum -= g_out_sum;\n b_sum -= b_out_sum;\n a_sum -= a_out_sum;\n r_out_sum -= stackIn.r;\n g_out_sum -= stackIn.g;\n b_out_sum -= stackIn.b;\n a_out_sum -= stackIn.a;\n p =\n (x +\n ((p = y + radiusPlus1) < heightMinus1 ? p : heightMinus1) * width) <<\n 2;\n r_sum += r_in_sum += stackIn.r = pixels[p];\n g_sum += g_in_sum += stackIn.g = pixels[p + 1];\n b_sum += b_in_sum += stackIn.b = pixels[p + 2];\n a_sum += a_in_sum += stackIn.a = pixels[p + 3];\n stackIn = stackIn.next;\n r_out_sum += pr = stackOut.r;\n g_out_sum += pg = stackOut.g;\n b_out_sum += pb = stackOut.b;\n a_out_sum += pa = stackOut.a;\n r_in_sum -= pr;\n g_in_sum -= pg;\n b_in_sum -= pb;\n a_in_sum -= pa;\n stackOut = stackOut.next;\n yi += width;\n }\n }\n}\nexport const Blur = function Blur(imageData) {\n var radius = Math.round(this.blurRadius());\n if (radius > 0) {\n filterGaussBlurRGBA(imageData, radius);\n }\n};\nFactory.addGetterSetter(Node, 'blurRadius', 0, getNumberValidator(), Factory.afterSetFilter);\n","import { Factory } from '../Factory.js';\nimport { Node } from '../Node.js';\nimport { getNumberValidator } from '../Validators.js';\nexport const Brighten = function (imageData) {\n var brightness = this.brightness() * 255, data = imageData.data, len = data.length, i;\n for (i = 0; i < len; i += 4) {\n data[i] += brightness;\n data[i + 1] += brightness;\n data[i + 2] += brightness;\n }\n};\nFactory.addGetterSetter(Node, 'brightness', 0, getNumberValidator(), Factory.afterSetFilter);\n","import { Factory } from '../Factory.js';\nimport { Node } from '../Node.js';\nimport { getNumberValidator } from '../Validators.js';\nexport const Contrast = function (imageData) {\n var adjust = Math.pow((this.contrast() + 100) / 100, 2);\n var data = imageData.data, nPixels = data.length, red = 150, green = 150, blue = 150, i;\n for (i = 0; i < nPixels; i += 4) {\n red = data[i];\n green = data[i + 1];\n blue = data[i + 2];\n red /= 255;\n red -= 0.5;\n red *= adjust;\n red += 0.5;\n red *= 255;\n green /= 255;\n green -= 0.5;\n green *= adjust;\n green += 0.5;\n green *= 255;\n blue /= 255;\n blue -= 0.5;\n blue *= adjust;\n blue += 0.5;\n blue *= 255;\n red = red < 0 ? 0 : red > 255 ? 255 : red;\n green = green < 0 ? 0 : green > 255 ? 255 : green;\n blue = blue < 0 ? 0 : blue > 255 ? 255 : blue;\n data[i] = red;\n data[i + 1] = green;\n data[i + 2] = blue;\n }\n};\nFactory.addGetterSetter(Node, 'contrast', 0, getNumberValidator(), Factory.afterSetFilter);\n","import { Factory } from '../Factory.js';\nimport { Node } from '../Node.js';\nimport { getNumberValidator } from '../Validators.js';\nfunction remap(fromValue, fromMin, fromMax, toMin, toMax) {\n var fromRange = fromMax - fromMin, toRange = toMax - toMin, toValue;\n if (fromRange === 0) {\n return toMin + toRange / 2;\n }\n if (toRange === 0) {\n return toMin;\n }\n toValue = (fromValue - fromMin) / fromRange;\n toValue = toRange * toValue + toMin;\n return toValue;\n}\nexport const Enhance = function (imageData) {\n var data = imageData.data, nSubPixels = data.length, rMin = data[0], rMax = rMin, r, gMin = data[1], gMax = gMin, g, bMin = data[2], bMax = bMin, b, i;\n var enhanceAmount = this.enhance();\n if (enhanceAmount === 0) {\n return;\n }\n for (i = 0; i < nSubPixels; i += 4) {\n r = data[i + 0];\n if (r < rMin) {\n rMin = r;\n }\n else if (r > rMax) {\n rMax = r;\n }\n g = data[i + 1];\n if (g < gMin) {\n gMin = g;\n }\n else if (g > gMax) {\n gMax = g;\n }\n b = data[i + 2];\n if (b < bMin) {\n bMin = b;\n }\n else if (b > bMax) {\n bMax = b;\n }\n }\n if (rMax === rMin) {\n rMax = 255;\n rMin = 0;\n }\n if (gMax === gMin) {\n gMax = 255;\n gMin = 0;\n }\n if (bMax === bMin) {\n bMax = 255;\n bMin = 0;\n }\n var rMid, rGoalMax, rGoalMin, gMid, gGoalMax, gGoalMin, bMid, bGoalMax, bGoalMin;\n if (enhanceAmount > 0) {\n rGoalMax = rMax + enhanceAmount * (255 - rMax);\n rGoalMin = rMin - enhanceAmount * (rMin - 0);\n gGoalMax = gMax + enhanceAmount * (255 - gMax);\n gGoalMin = gMin - enhanceAmount * (gMin - 0);\n bGoalMax = bMax + enhanceAmount * (255 - bMax);\n bGoalMin = bMin - enhanceAmount * (bMin - 0);\n }\n else {\n rMid = (rMax + rMin) * 0.5;\n rGoalMax = rMax + enhanceAmount * (rMax - rMid);\n rGoalMin = rMin + enhanceAmount * (rMin - rMid);\n gMid = (gMax + gMin) * 0.5;\n gGoalMax = gMax + enhanceAmount * (gMax - gMid);\n gGoalMin = gMin + enhanceAmount * (gMin - gMid);\n bMid = (bMax + bMin) * 0.5;\n bGoalMax = bMax + enhanceAmount * (bMax - bMid);\n bGoalMin = bMin + enhanceAmount * (bMin - bMid);\n }\n for (i = 0; i < nSubPixels; i += 4) {\n data[i + 0] = remap(data[i + 0], rMin, rMax, rGoalMin, rGoalMax);\n data[i + 1] = remap(data[i + 1], gMin, gMax, gGoalMin, gGoalMax);\n data[i + 2] = remap(data[i + 2], bMin, bMax, bGoalMin, bGoalMax);\n }\n};\nFactory.addGetterSetter(Node, 'enhance', 0, getNumberValidator(), Factory.afterSetFilter);\n","import { Factory } from '../Factory.js';\nimport { Node } from '../Node.js';\nimport { Util } from '../Util.js';\nimport { getNumberValidator } from '../Validators.js';\nexport const Emboss = function (imageData) {\n var strength = this.embossStrength() * 10, greyLevel = this.embossWhiteLevel() * 255, direction = this.embossDirection(), blend = this.embossBlend(), dirY = 0, dirX = 0, data = imageData.data, w = imageData.width, h = imageData.height, w4 = w * 4, y = h;\n switch (direction) {\n case 'top-left':\n dirY = -1;\n dirX = -1;\n break;\n case 'top':\n dirY = -1;\n dirX = 0;\n break;\n case 'top-right':\n dirY = -1;\n dirX = 1;\n break;\n case 'right':\n dirY = 0;\n dirX = 1;\n break;\n case 'bottom-right':\n dirY = 1;\n dirX = 1;\n break;\n case 'bottom':\n dirY = 1;\n dirX = 0;\n break;\n case 'bottom-left':\n dirY = 1;\n dirX = -1;\n break;\n case 'left':\n dirY = 0;\n dirX = -1;\n break;\n default:\n Util.error('Unknown emboss direction: ' + direction);\n }\n do {\n var offsetY = (y - 1) * w4;\n var otherY = dirY;\n if (y + otherY < 1) {\n otherY = 0;\n }\n if (y + otherY > h) {\n otherY = 0;\n }\n var offsetYOther = (y - 1 + otherY) * w * 4;\n var x = w;\n do {\n var offset = offsetY + (x - 1) * 4;\n var otherX = dirX;\n if (x + otherX < 1) {\n otherX = 0;\n }\n if (x + otherX > w) {\n otherX = 0;\n }\n var offsetOther = offsetYOther + (x - 1 + otherX) * 4;\n var dR = data[offset] - data[offsetOther];\n var dG = data[offset + 1] - data[offsetOther + 1];\n var dB = data[offset + 2] - data[offsetOther + 2];\n var dif = dR;\n var absDif = dif > 0 ? dif : -dif;\n var absG = dG > 0 ? dG : -dG;\n var absB = dB > 0 ? dB : -dB;\n if (absG > absDif) {\n dif = dG;\n }\n if (absB > absDif) {\n dif = dB;\n }\n dif *= strength;\n if (blend) {\n var r = data[offset] + dif;\n var g = data[offset + 1] + dif;\n var b = data[offset + 2] + dif;\n data[offset] = r > 255 ? 255 : r < 0 ? 0 : r;\n data[offset + 1] = g > 255 ? 255 : g < 0 ? 0 : g;\n data[offset + 2] = b > 255 ? 255 : b < 0 ? 0 : b;\n }\n else {\n var grey = greyLevel - dif;\n if (grey < 0) {\n grey = 0;\n }\n else if (grey > 255) {\n grey = 255;\n }\n data[offset] = data[offset + 1] = data[offset + 2] = grey;\n }\n } while (--x);\n } while (--y);\n};\nFactory.addGetterSetter(Node, 'embossStrength', 0.5, getNumberValidator(), Factory.afterSetFilter);\nFactory.addGetterSetter(Node, 'embossWhiteLevel', 0.5, getNumberValidator(), Factory.afterSetFilter);\nFactory.addGetterSetter(Node, 'embossDirection', 'top-left', null, Factory.afterSetFilter);\nFactory.addGetterSetter(Node, 'embossBlend', false, null, Factory.afterSetFilter);\n","import { Factory } from '../Factory.js';\nimport { Node } from '../Node.js';\nimport { getNumberValidator } from '../Validators.js';\nFactory.addGetterSetter(Node, 'hue', 0, getNumberValidator(), Factory.afterSetFilter);\nFactory.addGetterSetter(Node, 'saturation', 0, getNumberValidator(), Factory.afterSetFilter);\nFactory.addGetterSetter(Node, 'luminance', 0, getNumberValidator(), Factory.afterSetFilter);\nexport const HSL = function (imageData) {\n var data = imageData.data, nPixels = data.length, v = 1, s = Math.pow(2, this.saturation()), h = Math.abs(this.hue() + 360) % 360, l = this.luminance() * 127, i;\n var vsu = v * s * Math.cos((h * Math.PI) / 180), vsw = v * s * Math.sin((h * Math.PI) / 180);\n var rr = 0.299 * v + 0.701 * vsu + 0.167 * vsw, rg = 0.587 * v - 0.587 * vsu + 0.33 * vsw, rb = 0.114 * v - 0.114 * vsu - 0.497 * vsw;\n var gr = 0.299 * v - 0.299 * vsu - 0.328 * vsw, gg = 0.587 * v + 0.413 * vsu + 0.035 * vsw, gb = 0.114 * v - 0.114 * vsu + 0.293 * vsw;\n var br = 0.299 * v - 0.3 * vsu + 1.25 * vsw, bg = 0.587 * v - 0.586 * vsu - 1.05 * vsw, bb = 0.114 * v + 0.886 * vsu - 0.2 * vsw;\n var r, g, b, a;\n for (i = 0; i < nPixels; i += 4) {\n r = data[i + 0];\n g = data[i + 1];\n b = data[i + 2];\n a = data[i + 3];\n data[i + 0] = rr * r + rg * g + rb * b + l;\n data[i + 1] = gr * r + gg * g + gb * b + l;\n data[i + 2] = br * r + bg * g + bb * b + l;\n data[i + 3] = a;\n }\n};\n","import { Factory } from '../Factory.js';\nimport { Node } from '../Node.js';\nimport { getNumberValidator } from '../Validators.js';\nexport const HSV = function (imageData) {\n var data = imageData.data, nPixels = data.length, v = Math.pow(2, this.value()), s = Math.pow(2, this.saturation()), h = Math.abs(this.hue() + 360) % 360, i;\n var vsu = v * s * Math.cos((h * Math.PI) / 180), vsw = v * s * Math.sin((h * Math.PI) / 180);\n var rr = 0.299 * v + 0.701 * vsu + 0.167 * vsw, rg = 0.587 * v - 0.587 * vsu + 0.33 * vsw, rb = 0.114 * v - 0.114 * vsu - 0.497 * vsw;\n var gr = 0.299 * v - 0.299 * vsu - 0.328 * vsw, gg = 0.587 * v + 0.413 * vsu + 0.035 * vsw, gb = 0.114 * v - 0.114 * vsu + 0.293 * vsw;\n var br = 0.299 * v - 0.3 * vsu + 1.25 * vsw, bg = 0.587 * v - 0.586 * vsu - 1.05 * vsw, bb = 0.114 * v + 0.886 * vsu - 0.2 * vsw;\n var r, g, b, a;\n for (i = 0; i < nPixels; i += 4) {\n r = data[i + 0];\n g = data[i + 1];\n b = data[i + 2];\n a = data[i + 3];\n data[i + 0] = rr * r + rg * g + rb * b;\n data[i + 1] = gr * r + gg * g + gb * b;\n data[i + 2] = br * r + bg * g + bb * b;\n data[i + 3] = a;\n }\n};\nFactory.addGetterSetter(Node, 'hue', 0, getNumberValidator(), Factory.afterSetFilter);\nFactory.addGetterSetter(Node, 'saturation', 0, getNumberValidator(), Factory.afterSetFilter);\nFactory.addGetterSetter(Node, 'value', 0, getNumberValidator(), Factory.afterSetFilter);\n","import { Factory } from '../Factory.js';\nimport { Node } from '../Node.js';\nimport { getNumberValidator } from '../Validators.js';\nfunction pixelAt(idata, x, y) {\n var idx = (y * idata.width + x) * 4;\n var d = [];\n d.push(idata.data[idx++], idata.data[idx++], idata.data[idx++], idata.data[idx++]);\n return d;\n}\nfunction rgbDistance(p1, p2) {\n return Math.sqrt(Math.pow(p1[0] - p2[0], 2) +\n Math.pow(p1[1] - p2[1], 2) +\n Math.pow(p1[2] - p2[2], 2));\n}\nfunction rgbMean(pTab) {\n var m = [0, 0, 0];\n for (var i = 0; i < pTab.length; i++) {\n m[0] += pTab[i][0];\n m[1] += pTab[i][1];\n m[2] += pTab[i][2];\n }\n m[0] /= pTab.length;\n m[1] /= pTab.length;\n m[2] /= pTab.length;\n return m;\n}\nfunction backgroundMask(idata, threshold) {\n var rgbv_no = pixelAt(idata, 0, 0);\n var rgbv_ne = pixelAt(idata, idata.width - 1, 0);\n var rgbv_so = pixelAt(idata, 0, idata.height - 1);\n var rgbv_se = pixelAt(idata, idata.width - 1, idata.height - 1);\n var thres = threshold || 10;\n if (rgbDistance(rgbv_no, rgbv_ne) < thres &&\n rgbDistance(rgbv_ne, rgbv_se) < thres &&\n rgbDistance(rgbv_se, rgbv_so) < thres &&\n rgbDistance(rgbv_so, rgbv_no) < thres) {\n var mean = rgbMean([rgbv_ne, rgbv_no, rgbv_se, rgbv_so]);\n var mask = [];\n for (var i = 0; i < idata.width * idata.height; i++) {\n var d = rgbDistance(mean, [\n idata.data[i * 4],\n idata.data[i * 4 + 1],\n idata.data[i * 4 + 2],\n ]);\n mask[i] = d < thres ? 0 : 255;\n }\n return mask;\n }\n}\nfunction applyMask(idata, mask) {\n for (var i = 0; i < idata.width * idata.height; i++) {\n idata.data[4 * i + 3] = mask[i];\n }\n}\nfunction erodeMask(mask, sw, sh) {\n var weights = [1, 1, 1, 1, 0, 1, 1, 1, 1];\n var side = Math.round(Math.sqrt(weights.length));\n var halfSide = Math.floor(side / 2);\n var maskResult = [];\n for (var y = 0; y < sh; y++) {\n for (var x = 0; x < sw; x++) {\n var so = y * sw + x;\n var a = 0;\n for (var cy = 0; cy < side; cy++) {\n for (var cx = 0; cx < side; cx++) {\n var scy = y + cy - halfSide;\n var scx = x + cx - halfSide;\n if (scy >= 0 && scy < sh && scx >= 0 && scx < sw) {\n var srcOff = scy * sw + scx;\n var wt = weights[cy * side + cx];\n a += mask[srcOff] * wt;\n }\n }\n }\n maskResult[so] = a === 255 * 8 ? 255 : 0;\n }\n }\n return maskResult;\n}\nfunction dilateMask(mask, sw, sh) {\n var weights = [1, 1, 1, 1, 1, 1, 1, 1, 1];\n var side = Math.round(Math.sqrt(weights.length));\n var halfSide = Math.floor(side / 2);\n var maskResult = [];\n for (var y = 0; y < sh; y++) {\n for (var x = 0; x < sw; x++) {\n var so = y * sw + x;\n var a = 0;\n for (var cy = 0; cy < side; cy++) {\n for (var cx = 0; cx < side; cx++) {\n var scy = y + cy - halfSide;\n var scx = x + cx - halfSide;\n if (scy >= 0 && scy < sh && scx >= 0 && scx < sw) {\n var srcOff = scy * sw + scx;\n var wt = weights[cy * side + cx];\n a += mask[srcOff] * wt;\n }\n }\n }\n maskResult[so] = a >= 255 * 4 ? 255 : 0;\n }\n }\n return maskResult;\n}\nfunction smoothEdgeMask(mask, sw, sh) {\n var weights = [1 / 9, 1 / 9, 1 / 9, 1 / 9, 1 / 9, 1 / 9, 1 / 9, 1 / 9, 1 / 9];\n var side = Math.round(Math.sqrt(weights.length));\n var halfSide = Math.floor(side / 2);\n var maskResult = [];\n for (var y = 0; y < sh; y++) {\n for (var x = 0; x < sw; x++) {\n var so = y * sw + x;\n var a = 0;\n for (var cy = 0; cy < side; cy++) {\n for (var cx = 0; cx < side; cx++) {\n var scy = y + cy - halfSide;\n var scx = x + cx - halfSide;\n if (scy >= 0 && scy < sh && scx >= 0 && scx < sw) {\n var srcOff = scy * sw + scx;\n var wt = weights[cy * side + cx];\n a += mask[srcOff] * wt;\n }\n }\n }\n maskResult[so] = a;\n }\n }\n return maskResult;\n}\nexport const Mask = function (imageData) {\n var threshold = this.threshold(), mask = backgroundMask(imageData, threshold);\n if (mask) {\n mask = erodeMask(mask, imageData.width, imageData.height);\n mask = dilateMask(mask, imageData.width, imageData.height);\n mask = smoothEdgeMask(mask, imageData.width, imageData.height);\n applyMask(imageData, mask);\n }\n return imageData;\n};\nFactory.addGetterSetter(Node, 'threshold', 0, getNumberValidator(), Factory.afterSetFilter);\n","import { Factory } from '../Factory.js';\nimport { Node } from '../Node.js';\nimport { Util } from '../Util.js';\nimport { getNumberValidator } from '../Validators.js';\nvar ToPolar = function (src, dst, opt) {\n var srcPixels = src.data, dstPixels = dst.data, xSize = src.width, ySize = src.height, xMid = opt.polarCenterX || xSize / 2, yMid = opt.polarCenterY || ySize / 2, i, x, y, r = 0, g = 0, b = 0, a = 0;\n var rad, rMax = Math.sqrt(xMid * xMid + yMid * yMid);\n x = xSize - xMid;\n y = ySize - yMid;\n rad = Math.sqrt(x * x + y * y);\n rMax = rad > rMax ? rad : rMax;\n var rSize = ySize, tSize = xSize, radius, theta;\n var conversion = ((360 / tSize) * Math.PI) / 180, sin, cos;\n for (theta = 0; theta < tSize; theta += 1) {\n sin = Math.sin(theta * conversion);\n cos = Math.cos(theta * conversion);\n for (radius = 0; radius < rSize; radius += 1) {\n x = Math.floor(xMid + ((rMax * radius) / rSize) * cos);\n y = Math.floor(yMid + ((rMax * radius) / rSize) * sin);\n i = (y * xSize + x) * 4;\n r = srcPixels[i + 0];\n g = srcPixels[i + 1];\n b = srcPixels[i + 2];\n a = srcPixels[i + 3];\n i = (theta + radius * xSize) * 4;\n dstPixels[i + 0] = r;\n dstPixels[i + 1] = g;\n dstPixels[i + 2] = b;\n dstPixels[i + 3] = a;\n }\n }\n};\nvar FromPolar = function (src, dst, opt) {\n var srcPixels = src.data, dstPixels = dst.data, xSize = src.width, ySize = src.height, xMid = opt.polarCenterX || xSize / 2, yMid = opt.polarCenterY || ySize / 2, i, x, y, dx, dy, r = 0, g = 0, b = 0, a = 0;\n var rad, rMax = Math.sqrt(xMid * xMid + yMid * yMid);\n x = xSize - xMid;\n y = ySize - yMid;\n rad = Math.sqrt(x * x + y * y);\n rMax = rad > rMax ? rad : rMax;\n var rSize = ySize, tSize = xSize, radius, theta, phaseShift = opt.polarRotation || 0;\n var x1, y1;\n for (x = 0; x < xSize; x += 1) {\n for (y = 0; y < ySize; y += 1) {\n dx = x - xMid;\n dy = y - yMid;\n radius = (Math.sqrt(dx * dx + dy * dy) * rSize) / rMax;\n theta = ((Math.atan2(dy, dx) * 180) / Math.PI + 360 + phaseShift) % 360;\n theta = (theta * tSize) / 360;\n x1 = Math.floor(theta);\n y1 = Math.floor(radius);\n i = (y1 * xSize + x1) * 4;\n r = srcPixels[i + 0];\n g = srcPixels[i + 1];\n b = srcPixels[i + 2];\n a = srcPixels[i + 3];\n i = (y * xSize + x) * 4;\n dstPixels[i + 0] = r;\n dstPixels[i + 1] = g;\n dstPixels[i + 2] = b;\n dstPixels[i + 3] = a;\n }\n }\n};\nexport const Kaleidoscope = function (imageData) {\n var xSize = imageData.width, ySize = imageData.height;\n var x, y, xoff, i, r, g, b, a, srcPos, dstPos;\n var power = Math.round(this.kaleidoscopePower());\n var angle = Math.round(this.kaleidoscopeAngle());\n var offset = Math.floor((xSize * (angle % 360)) / 360);\n if (power < 1) {\n return;\n }\n var tempCanvas = Util.createCanvasElement();\n tempCanvas.width = xSize;\n tempCanvas.height = ySize;\n var scratchData = tempCanvas\n .getContext('2d')\n .getImageData(0, 0, xSize, ySize);\n Util.releaseCanvas(tempCanvas);\n ToPolar(imageData, scratchData, {\n polarCenterX: xSize / 2,\n polarCenterY: ySize / 2,\n });\n var minSectionSize = xSize / Math.pow(2, power);\n while (minSectionSize <= 8) {\n minSectionSize = minSectionSize * 2;\n power -= 1;\n }\n minSectionSize = Math.ceil(minSectionSize);\n var sectionSize = minSectionSize;\n var xStart = 0, xEnd = sectionSize, xDelta = 1;\n if (offset + minSectionSize > xSize) {\n xStart = sectionSize;\n xEnd = 0;\n xDelta = -1;\n }\n for (y = 0; y < ySize; y += 1) {\n for (x = xStart; x !== xEnd; x += xDelta) {\n xoff = Math.round(x + offset) % xSize;\n srcPos = (xSize * y + xoff) * 4;\n r = scratchData.data[srcPos + 0];\n g = scratchData.data[srcPos + 1];\n b = scratchData.data[srcPos + 2];\n a = scratchData.data[srcPos + 3];\n dstPos = (xSize * y + x) * 4;\n scratchData.data[dstPos + 0] = r;\n scratchData.data[dstPos + 1] = g;\n scratchData.data[dstPos + 2] = b;\n scratchData.data[dstPos + 3] = a;\n }\n }\n for (y = 0; y < ySize; y += 1) {\n sectionSize = Math.floor(minSectionSize);\n for (i = 0; i < power; i += 1) {\n for (x = 0; x < sectionSize + 1; x += 1) {\n srcPos = (xSize * y + x) * 4;\n r = scratchData.data[srcPos + 0];\n g = scratchData.data[srcPos + 1];\n b = scratchData.data[srcPos + 2];\n a = scratchData.data[srcPos + 3];\n dstPos = (xSize * y + sectionSize * 2 - x - 1) * 4;\n scratchData.data[dstPos + 0] = r;\n scratchData.data[dstPos + 1] = g;\n scratchData.data[dstPos + 2] = b;\n scratchData.data[dstPos + 3] = a;\n }\n sectionSize *= 2;\n }\n }\n FromPolar(scratchData, imageData, { polarRotation: 0 });\n};\nFactory.addGetterSetter(Node, 'kaleidoscopePower', 2, getNumberValidator(), Factory.afterSetFilter);\nFactory.addGetterSetter(Node, 'kaleidoscopeAngle', 0, getNumberValidator(), Factory.afterSetFilter);\n","import { Factory } from '../Factory.js';\nimport { Node } from '../Node.js';\nimport { getNumberValidator } from '../Validators.js';\nexport const Noise = function (imageData) {\n var amount = this.noise() * 255, data = imageData.data, nPixels = data.length, half = amount / 2, i;\n for (i = 0; i < nPixels; i += 4) {\n data[i + 0] += half - 2 * half * Math.random();\n data[i + 1] += half - 2 * half * Math.random();\n data[i + 2] += half - 2 * half * Math.random();\n }\n};\nFactory.addGetterSetter(Node, 'noise', 0.2, getNumberValidator(), Factory.afterSetFilter);\n","import { Factory } from '../Factory.js';\nimport { Util } from '../Util.js';\nimport { Node } from '../Node.js';\nimport { getNumberValidator } from '../Validators.js';\nexport const Pixelate = function (imageData) {\n var pixelSize = Math.ceil(this.pixelSize()), width = imageData.width, height = imageData.height, x, y, i, red, green, blue, alpha, nBinsX = Math.ceil(width / pixelSize), nBinsY = Math.ceil(height / pixelSize), xBinStart, xBinEnd, yBinStart, yBinEnd, xBin, yBin, pixelsInBin, data = imageData.data;\n if (pixelSize <= 0) {\n Util.error('pixelSize value can not be <= 0');\n return;\n }\n for (xBin = 0; xBin < nBinsX; xBin += 1) {\n for (yBin = 0; yBin < nBinsY; yBin += 1) {\n red = 0;\n green = 0;\n blue = 0;\n alpha = 0;\n xBinStart = xBin * pixelSize;\n xBinEnd = xBinStart + pixelSize;\n yBinStart = yBin * pixelSize;\n yBinEnd = yBinStart + pixelSize;\n pixelsInBin = 0;\n for (x = xBinStart; x < xBinEnd; x += 1) {\n if (x >= width) {\n continue;\n }\n for (y = yBinStart; y < yBinEnd; y += 1) {\n if (y >= height) {\n continue;\n }\n i = (width * y + x) * 4;\n red += data[i + 0];\n green += data[i + 1];\n blue += data[i + 2];\n alpha += data[i + 3];\n pixelsInBin += 1;\n }\n }\n red = red / pixelsInBin;\n green = green / pixelsInBin;\n blue = blue / pixelsInBin;\n alpha = alpha / pixelsInBin;\n for (x = xBinStart; x < xBinEnd; x += 1) {\n if (x >= width) {\n continue;\n }\n for (y = yBinStart; y < yBinEnd; y += 1) {\n if (y >= height) {\n continue;\n }\n i = (width * y + x) * 4;\n data[i + 0] = red;\n data[i + 1] = green;\n data[i + 2] = blue;\n data[i + 3] = alpha;\n }\n }\n }\n }\n};\nFactory.addGetterSetter(Node, 'pixelSize', 8, getNumberValidator(), Factory.afterSetFilter);\n","import { Factory } from '../Factory.js';\nimport { Node } from '../Node.js';\nimport { getNumberValidator } from '../Validators.js';\nexport const Posterize = function (imageData) {\n var levels = Math.round(this.levels() * 254) + 1, data = imageData.data, len = data.length, scale = 255 / levels, i;\n for (i = 0; i < len; i += 1) {\n data[i] = Math.floor(data[i] / scale) * scale;\n }\n};\nFactory.addGetterSetter(Node, 'levels', 0.5, getNumberValidator(), Factory.afterSetFilter);\n","import { Factory } from '../Factory.js';\nimport { Node } from '../Node.js';\nimport { RGBComponent } from '../Validators.js';\nexport const RGB = function (imageData) {\n var data = imageData.data, nPixels = data.length, red = this.red(), green = this.green(), blue = this.blue(), i, brightness;\n for (i = 0; i < nPixels; i += 4) {\n brightness =\n (0.34 * data[i] + 0.5 * data[i + 1] + 0.16 * data[i + 2]) / 255;\n data[i] = brightness * red;\n data[i + 1] = brightness * green;\n data[i + 2] = brightness * blue;\n data[i + 3] = data[i + 3];\n }\n};\nFactory.addGetterSetter(Node, 'red', 0, function (val) {\n this._filterUpToDate = false;\n if (val > 255) {\n return 255;\n }\n else if (val < 0) {\n return 0;\n }\n else {\n return Math.round(val);\n }\n});\nFactory.addGetterSetter(Node, 'green', 0, function (val) {\n this._filterUpToDate = false;\n if (val > 255) {\n return 255;\n }\n else if (val < 0) {\n return 0;\n }\n else {\n return Math.round(val);\n }\n});\nFactory.addGetterSetter(Node, 'blue', 0, RGBComponent, Factory.afterSetFilter);\n","import { Factory } from '../Factory.js';\nimport { Node } from '../Node.js';\nimport { RGBComponent } from '../Validators.js';\nexport const RGBA = function (imageData) {\n var data = imageData.data, nPixels = data.length, red = this.red(), green = this.green(), blue = this.blue(), alpha = this.alpha(), i, ia;\n for (i = 0; i < nPixels; i += 4) {\n ia = 1 - alpha;\n data[i] = red * alpha + data[i] * ia;\n data[i + 1] = green * alpha + data[i + 1] * ia;\n data[i + 2] = blue * alpha + data[i + 2] * ia;\n }\n};\nFactory.addGetterSetter(Node, 'red', 0, function (val) {\n this._filterUpToDate = false;\n if (val > 255) {\n return 255;\n }\n else if (val < 0) {\n return 0;\n }\n else {\n return Math.round(val);\n }\n});\nFactory.addGetterSetter(Node, 'green', 0, function (val) {\n this._filterUpToDate = false;\n if (val > 255) {\n return 255;\n }\n else if (val < 0) {\n return 0;\n }\n else {\n return Math.round(val);\n }\n});\nFactory.addGetterSetter(Node, 'blue', 0, RGBComponent, Factory.afterSetFilter);\nFactory.addGetterSetter(Node, 'alpha', 1, function (val) {\n this._filterUpToDate = false;\n if (val > 1) {\n return 1;\n }\n else if (val < 0) {\n return 0;\n }\n else {\n return val;\n }\n});\n","import { Factory } from '../Factory.js';\nimport { Node } from '../Node.js';\nimport { getNumberValidator } from '../Validators.js';\nexport const Threshold = function (imageData) {\n var level = this.threshold() * 255, data = imageData.data, len = data.length, i;\n for (i = 0; i < len; i += 1) {\n data[i] = data[i] < level ? 0 : 255;\n }\n};\nFactory.addGetterSetter(Node, 'threshold', 0.5, getNumberValidator(), Factory.afterSetFilter);\n","import { Konva as Core } from './_CoreInternals.js';\nimport { Arc } from './shapes/Arc.js';\nimport { Arrow } from './shapes/Arrow.js';\nimport { Circle } from './shapes/Circle.js';\nimport { Ellipse } from './shapes/Ellipse.js';\nimport { Image } from './shapes/Image.js';\nimport { Label, Tag } from './shapes/Label.js';\nimport { Line } from './shapes/Line.js';\nimport { Path } from './shapes/Path.js';\nimport { Rect } from './shapes/Rect.js';\nimport { RegularPolygon } from './shapes/RegularPolygon.js';\nimport { Ring } from './shapes/Ring.js';\nimport { Sprite } from './shapes/Sprite.js';\nimport { Star } from './shapes/Star.js';\nimport { Text } from './shapes/Text.js';\nimport { TextPath } from './shapes/TextPath.js';\nimport { Transformer } from './shapes/Transformer.js';\nimport { Wedge } from './shapes/Wedge.js';\nimport { Blur } from './filters/Blur.js';\nimport { Brighten } from './filters/Brighten.js';\nimport { Contrast } from './filters/Contrast.js';\nimport { Emboss } from './filters/Emboss.js';\nimport { Enhance } from './filters/Enhance.js';\nimport { Grayscale } from './filters/Grayscale.js';\nimport { HSL } from './filters/HSL.js';\nimport { HSV } from './filters/HSV.js';\nimport { Invert } from './filters/Invert.js';\nimport { Kaleidoscope } from './filters/Kaleidoscope.js';\nimport { Mask } from './filters/Mask.js';\nimport { Noise } from './filters/Noise.js';\nimport { Pixelate } from './filters/Pixelate.js';\nimport { Posterize } from './filters/Posterize.js';\nimport { RGB } from './filters/RGB.js';\nimport { RGBA } from './filters/RGBA.js';\nimport { Sepia } from './filters/Sepia.js';\nimport { Solarize } from './filters/Solarize.js';\nimport { Threshold } from './filters/Threshold.js';\nexport const Konva = Core.Util._assign(Core, {\n Arc,\n Arrow,\n Circle,\n Ellipse,\n Image,\n Label,\n Tag,\n Line,\n Path,\n Rect,\n RegularPolygon,\n Ring,\n Sprite,\n Star,\n Text,\n TextPath,\n Transformer,\n Wedge,\n Filters: {\n Blur,\n Brighten,\n Contrast,\n Emboss,\n Enhance,\n Grayscale,\n HSL,\n HSV,\n Invert,\n Kaleidoscope,\n Mask,\n Noise,\n Pixelate,\n Posterize,\n RGB,\n RGBA,\n Sepia,\n Solarize,\n Threshold,\n },\n});\n","export const Grayscale = function (imageData) {\n var data = imageData.data, len = data.length, i, brightness;\n for (i = 0; i < len; i += 4) {\n brightness = 0.34 * data[i] + 0.5 * data[i + 1] + 0.16 * data[i + 2];\n data[i] = brightness;\n data[i + 1] = brightness;\n data[i + 2] = brightness;\n }\n};\n","export const Invert = function (imageData) {\n var data = imageData.data, len = data.length, i;\n for (i = 0; i < len; i += 4) {\n data[i] = 255 - data[i];\n data[i + 1] = 255 - data[i + 1];\n data[i + 2] = 255 - data[i + 2];\n }\n};\n","export const Sepia = function (imageData) {\n var data = imageData.data, nPixels = data.length, i, r, g, b;\n for (i = 0; i < nPixels; i += 4) {\n r = data[i + 0];\n g = data[i + 1];\n b = data[i + 2];\n data[i + 0] = Math.min(255, r * 0.393 + g * 0.769 + b * 0.189);\n data[i + 1] = Math.min(255, r * 0.349 + g * 0.686 + b * 0.168);\n data[i + 2] = Math.min(255, r * 0.272 + g * 0.534 + b * 0.131);\n }\n};\n","export const Solarize = function (imageData) {\n var data = imageData.data, w = imageData.width, h = imageData.height, w4 = w * 4, y = h;\n do {\n var offsetY = (y - 1) * w4;\n var x = w;\n do {\n var offset = offsetY + (x - 1) * 4;\n var r = data[offset];\n var g = data[offset + 1];\n var b = data[offset + 2];\n if (r > 127) {\n r = 255 - r;\n }\n if (g > 127) {\n g = 255 - g;\n }\n if (b > 127) {\n b = 255 - b;\n }\n data[offset] = r;\n data[offset + 1] = g;\n data[offset + 2] = b;\n } while (--x);\n } while (--y);\n};\n","export { Konva } from './_CoreInternals.js';\nimport { Konva } from './_CoreInternals.js';\nexport default Konva;\n","import { Konva } from 'konva/lib/Global.js';\nconst propsToSkip = {\n children: true,\n ref: true,\n key: true,\n style: true,\n forwardedRef: true,\n unstable_applyCache: true,\n unstable_applyDrawHitFromCache: true,\n};\nlet zIndexWarningShowed = false;\nlet dragWarningShowed = false;\nexport const EVENTS_NAMESPACE = '.react-konva-event';\nlet useStrictMode = false;\nexport function toggleStrictMode(value) {\n useStrictMode = value;\n}\nconst DRAGGABLE_WARNING = `ReactKonva: You have a Konva node with draggable = true and position defined but no onDragMove or onDragEnd events are handled.\nPosition of a node will be changed during drag&drop, so you should update state of the react app as well.\nConsider to add onDragMove or onDragEnd events.\nFor more info see: https://github.com/konvajs/react-konva/issues/256\n`;\nconst Z_INDEX_WARNING = `ReactKonva: You are using \"zIndex\" attribute for a Konva node.\nreact-konva may get confused with ordering. Just define correct order of elements in your render function of a component.\nFor more info see: https://github.com/konvajs/react-konva/issues/194\n`;\nconst EMPTY_PROPS = {};\nexport function applyNodeProps(instance, props, oldProps = EMPTY_PROPS) {\n // don't use zIndex in react-konva\n if (!zIndexWarningShowed && 'zIndex' in props) {\n console.warn(Z_INDEX_WARNING);\n zIndexWarningShowed = true;\n }\n // check correct draggable usage\n if (!dragWarningShowed && props.draggable) {\n var hasPosition = props.x !== undefined || props.y !== undefined;\n var hasEvents = props.onDragEnd || props.onDragMove;\n if (hasPosition && !hasEvents) {\n console.warn(DRAGGABLE_WARNING);\n dragWarningShowed = true;\n }\n }\n // check old props\n // we need to unset properties that are not in new props\n // and remove all events\n for (var key in oldProps) {\n if (propsToSkip[key]) {\n continue;\n }\n var isEvent = key.slice(0, 2) === 'on';\n var propChanged = oldProps[key] !== props[key];\n // if that is a changed event, we need to remove it\n if (isEvent && propChanged) {\n var eventName = key.substr(2).toLowerCase();\n if (eventName.substr(0, 7) === 'content') {\n eventName =\n 'content' +\n eventName.substr(7, 1).toUpperCase() +\n eventName.substr(8);\n }\n instance.off(eventName, oldProps[key]);\n }\n var toRemove = !props.hasOwnProperty(key);\n if (toRemove) {\n instance.setAttr(key, undefined);\n }\n }\n var strictUpdate = useStrictMode || props._useStrictMode;\n var updatedProps = {};\n var hasUpdates = false;\n const newEvents = {};\n for (var key in props) {\n if (propsToSkip[key]) {\n continue;\n }\n var isEvent = key.slice(0, 2) === 'on';\n var toAdd = oldProps[key] !== props[key];\n if (isEvent && toAdd) {\n var eventName = key.substr(2).toLowerCase();\n if (eventName.substr(0, 7) === 'content') {\n eventName =\n 'content' +\n eventName.substr(7, 1).toUpperCase() +\n eventName.substr(8);\n }\n // check that event is not undefined\n if (props[key]) {\n newEvents[eventName] = props[key];\n }\n }\n if (!isEvent &&\n (props[key] !== oldProps[key] ||\n (strictUpdate && props[key] !== instance.getAttr(key)))) {\n hasUpdates = true;\n updatedProps[key] = props[key];\n }\n }\n if (hasUpdates) {\n instance.setAttrs(updatedProps);\n updatePicture(instance);\n }\n // subscribe to events AFTER we set attrs\n // we need it to fix https://github.com/konvajs/react-konva/issues/471\n // settings attrs may add events. Like \"draggable: true\" will add \"mousedown\" listener\n for (var eventName in newEvents) {\n instance.on(eventName + EVENTS_NAMESPACE, newEvents[eventName]);\n }\n}\nexport function updatePicture(node) {\n if (!Konva.autoDrawEnabled) {\n var drawingNode = node.getLayer() || node.getStage();\n drawingNode && drawingNode.batchDraw();\n }\n}\n","import Konva from 'konva/lib/Core.js';\nimport { applyNodeProps, updatePicture, EVENTS_NAMESPACE } from './makeUpdates.js';\nexport { unstable_now as now, unstable_IdlePriority as idlePriority, unstable_runWithPriority as run, } from 'scheduler';\nimport { DefaultEventPriority } from 'react-reconciler/constants.js';\nconst NO_CONTEXT = {};\nconst UPDATE_SIGNAL = {};\n// for react-spring capability\nKonva.Node.prototype._applyProps = applyNodeProps;\nexport function appendInitialChild(parentInstance, child) {\n if (typeof child === 'string') {\n // Noop for string children of Text (eg foo)\n console.error(`Do not use plain text as child of Konva.Node. You are using text: ${child}`);\n return;\n }\n parentInstance.add(child);\n updatePicture(parentInstance);\n}\nexport function createInstance(type, props, internalInstanceHandle) {\n let NodeClass = Konva[type];\n if (!NodeClass) {\n console.error(`Konva has no node with the type ${type}. Group will be used instead. If you use minimal version of react-konva, just import required nodes into Konva: \"import \"konva/lib/shapes/${type}\" If you want to render DOM elements as part of canvas tree take a look into this demo: https://konvajs.github.io/docs/react/DOM_Portal.html`);\n NodeClass = Konva.Group;\n }\n // we need to split props into events and non events\n // we we can pass non events into constructor directly\n // that way the performance should be better\n // we we apply change \"applyNodeProps\"\n // then it will trigger change events on first run\n // but we don't need them!\n const propsWithoutEvents = {};\n const propsWithOnlyEvents = {};\n for (var key in props) {\n var isEvent = key.slice(0, 2) === 'on';\n if (isEvent) {\n propsWithOnlyEvents[key] = props[key];\n }\n else {\n propsWithoutEvents[key] = props[key];\n }\n }\n const instance = new NodeClass(propsWithoutEvents);\n applyNodeProps(instance, propsWithOnlyEvents);\n return instance;\n}\nexport function createTextInstance(text, rootContainerInstance, internalInstanceHandle) {\n console.error(`Text components are not supported for now in ReactKonva. Your text is: \"${text}\"`);\n}\nexport function finalizeInitialChildren(domElement, type, props) {\n return false;\n}\nexport function getPublicInstance(instance) {\n return instance;\n}\nexport function prepareForCommit() {\n return null;\n}\nexport function preparePortalMount() {\n return null;\n}\nexport function prepareUpdate(domElement, type, oldProps, newProps) {\n return UPDATE_SIGNAL;\n}\nexport function resetAfterCommit() {\n // Noop\n}\nexport function resetTextContent(domElement) {\n // Noop\n}\nexport function shouldDeprioritizeSubtree(type, props) {\n return false;\n}\nexport function getRootHostContext() {\n return NO_CONTEXT;\n}\nexport function getChildHostContext() {\n return NO_CONTEXT;\n}\nexport const scheduleTimeout = setTimeout;\nexport const cancelTimeout = clearTimeout;\nexport const noTimeout = -1;\n// export const schedulePassiveEffects = scheduleDeferredCallback;\n// export const cancelPassiveEffects = cancelDeferredCallback;\nexport function shouldSetTextContent(type, props) {\n return false;\n}\n// The Konva renderer is secondary to the React DOM renderer.\nexport const isPrimaryRenderer = false;\nexport const warnsIfNotActing = true;\nexport const supportsMutation = true;\nexport function appendChild(parentInstance, child) {\n if (child.parent === parentInstance) {\n child.moveToTop();\n }\n else {\n parentInstance.add(child);\n }\n updatePicture(parentInstance);\n}\nexport function appendChildToContainer(parentInstance, child) {\n if (child.parent === parentInstance) {\n child.moveToTop();\n }\n else {\n parentInstance.add(child);\n }\n updatePicture(parentInstance);\n}\nexport function insertBefore(parentInstance, child, beforeChild) {\n // child._remove() will not stop dragging\n // but child.remove() will stop it, but we don't need it\n // removing will reset zIndexes\n child._remove();\n parentInstance.add(child);\n child.setZIndex(beforeChild.getZIndex());\n updatePicture(parentInstance);\n}\nexport function insertInContainerBefore(parentInstance, child, beforeChild) {\n insertBefore(parentInstance, child, beforeChild);\n}\nexport function removeChild(parentInstance, child) {\n child.destroy();\n child.off(EVENTS_NAMESPACE);\n updatePicture(parentInstance);\n}\nexport function removeChildFromContainer(parentInstance, child) {\n child.destroy();\n child.off(EVENTS_NAMESPACE);\n updatePicture(parentInstance);\n}\nexport function commitTextUpdate(textInstance, oldText, newText) {\n console.error(`Text components are not yet supported in ReactKonva. You text is: \"${newText}\"`);\n}\nexport function commitMount(instance, type, newProps) {\n // Noop\n}\nexport function commitUpdate(instance, updatePayload, type, oldProps, newProps) {\n applyNodeProps(instance, newProps, oldProps);\n}\nexport function hideInstance(instance) {\n instance.hide();\n updatePicture(instance);\n}\nexport function hideTextInstance(textInstance) {\n // Noop\n}\nexport function unhideInstance(instance, props) {\n if (props.visible == null || props.visible) {\n instance.show();\n }\n}\nexport function unhideTextInstance(textInstance, text) {\n // Noop\n}\nexport function clearContainer(container) {\n // Noop\n}\nexport function detachDeletedInstance() { }\nexport const getCurrentEventPriority = () => DefaultEventPriority;\n","import * as React from \"react\";\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nfunction traverseFiber(fiber, ascending, selector) {\n if (!fiber)\n return;\n if (selector(fiber) === true)\n return fiber;\n let child = ascending ? fiber.return : fiber.child;\n while (child) {\n const match = traverseFiber(child, ascending, selector);\n if (match)\n return match;\n child = ascending ? null : child.sibling;\n }\n}\nfunction wrapContext(context) {\n try {\n return Object.defineProperties(context, {\n _currentRenderer: {\n get() {\n return null;\n },\n set() {\n }\n },\n _currentRenderer2: {\n get() {\n return null;\n },\n set() {\n }\n }\n });\n } catch (_) {\n return context;\n }\n}\nconst FiberContext = wrapContext(React.createContext(null));\nclass FiberProvider extends React.Component {\n render() {\n return /* @__PURE__ */ React.createElement(FiberContext.Provider, {\n value: this._reactInternals\n }, this.props.children);\n }\n}\nconst { ReactCurrentOwner, ReactCurrentDispatcher } = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\nfunction useFiber() {\n const root = React.useContext(FiberContext);\n if (root === null)\n throw new Error(\"its-fine: useFiber must be called within a !\");\n const id = React.useId();\n const fiber = React.useMemo(() => {\n for (const maybeFiber of [ReactCurrentOwner == null ? void 0 : ReactCurrentOwner.current, root, root == null ? void 0 : root.alternate]) {\n if (!maybeFiber)\n continue;\n const fiber2 = traverseFiber(maybeFiber, false, (node) => {\n let state = node.memoizedState;\n while (state) {\n if (state.memoizedState === id)\n return true;\n state = state.next;\n }\n });\n if (fiber2)\n return fiber2;\n }\n }, [root, id]);\n return fiber;\n}\nfunction useContainer() {\n const fiber = useFiber();\n const root = React.useMemo(\n () => traverseFiber(fiber, true, (node) => {\n var _a;\n return ((_a = node.stateNode) == null ? void 0 : _a.containerInfo) != null;\n }),\n [fiber]\n );\n return root == null ? void 0 : root.stateNode.containerInfo;\n}\nfunction useNearestChild(type) {\n const fiber = useFiber();\n const childRef = React.useRef();\n React.useLayoutEffect(() => {\n var _a;\n childRef.current = (_a = traverseFiber(\n fiber,\n false,\n (node) => typeof node.type === \"string\" && (type === void 0 || node.type === type)\n )) == null ? void 0 : _a.stateNode;\n }, [fiber]);\n return childRef;\n}\nfunction useNearestParent(type) {\n const fiber = useFiber();\n const parentRef = React.useRef();\n React.useLayoutEffect(() => {\n var _a;\n parentRef.current = (_a = traverseFiber(\n fiber,\n true,\n (node) => typeof node.type === \"string\" && (type === void 0 || node.type === type)\n )) == null ? void 0 : _a.stateNode;\n }, [fiber]);\n return parentRef;\n}\nfunction useContextMap() {\n var _a, _b;\n const fiber = useFiber();\n const [contextMap] = React.useState(() => /* @__PURE__ */ new Map());\n contextMap.clear();\n let node = fiber;\n while (node) {\n const context = (_a = node.type) == null ? void 0 : _a._context;\n if (context && context !== FiberContext && !contextMap.has(context)) {\n contextMap.set(context, (_b = ReactCurrentDispatcher == null ? void 0 : ReactCurrentDispatcher.current) == null ? void 0 : _b.readContext(wrapContext(context)));\n }\n node = node.return;\n }\n return contextMap;\n}\nfunction useContextBridge() {\n const contextMap = useContextMap();\n return React.useMemo(\n () => Array.from(contextMap.keys()).reduce(\n (Prev, context) => (props) => /* @__PURE__ */ React.createElement(Prev, null, /* @__PURE__ */ React.createElement(context.Provider, __spreadProps(__spreadValues({}, props), {\n value: contextMap.get(context)\n }))),\n (props) => /* @__PURE__ */ React.createElement(FiberProvider, __spreadValues({}, props))\n ),\n [contextMap]\n );\n}\nexport {\n FiberProvider,\n traverseFiber,\n useContainer,\n useContextBridge,\n useContextMap,\n useFiber,\n useNearestChild,\n useNearestParent\n};\n//# sourceMappingURL=index.js.map\n","/**\n * Based on ReactArt.js\n * Copyright (c) 2017-present Lavrenov Anton.\n * All rights reserved.\n *\n * MIT\n */\n'use strict';\nimport React from 'react';\nimport Konva from 'konva/lib/Core.js';\nimport ReactFiberReconciler from 'react-reconciler';\nimport { LegacyRoot } from 'react-reconciler/constants.js';\nimport * as HostConfig from './ReactKonvaHostConfig.js';\nimport { applyNodeProps, toggleStrictMode } from './makeUpdates.js';\nimport { useContextBridge, FiberProvider } from 'its-fine';\nfunction usePrevious(value) {\n const ref = React.useRef({});\n React.useLayoutEffect(() => {\n ref.current = value;\n });\n React.useLayoutEffect(() => {\n return () => {\n // when using suspense it is possible that stage is unmounted\n // but React still keep component ref\n // in that case we need to manually flush props\n // we have a special test for that\n ref.current = {};\n };\n }, []);\n return ref.current;\n}\nconst StageWrap = (props) => {\n const container = React.useRef();\n const stage = React.useRef();\n const fiberRef = React.useRef();\n const oldProps = usePrevious(props);\n const Bridge = useContextBridge();\n const _setRef = (stage) => {\n const { forwardedRef } = props;\n if (!forwardedRef) {\n return;\n }\n if (typeof forwardedRef === 'function') {\n forwardedRef(stage);\n }\n else {\n forwardedRef.current = stage;\n }\n };\n React.useLayoutEffect(() => {\n stage.current = new Konva.Stage({\n width: props.width,\n height: props.height,\n container: container.current,\n });\n _setRef(stage.current);\n // @ts-ignore\n fiberRef.current = KonvaRenderer.createContainer(stage.current, LegacyRoot, false, null);\n KonvaRenderer.updateContainer(React.createElement(Bridge, {}, props.children), fiberRef.current);\n return () => {\n if (!Konva.isBrowser) {\n return;\n }\n _setRef(null);\n KonvaRenderer.updateContainer(null, fiberRef.current, null);\n stage.current.destroy();\n };\n }, []);\n React.useLayoutEffect(() => {\n _setRef(stage.current);\n applyNodeProps(stage.current, props, oldProps);\n KonvaRenderer.updateContainer(React.createElement(Bridge, {}, props.children), fiberRef.current, null);\n });\n return React.createElement('div', {\n ref: container,\n id: props.id,\n accessKey: props.accessKey,\n className: props.className,\n role: props.role,\n style: props.style,\n tabIndex: props.tabIndex,\n title: props.title,\n });\n};\nexport const Layer = 'Layer';\nexport const FastLayer = 'FastLayer';\nexport const Group = 'Group';\nexport const Label = 'Label';\nexport const Rect = 'Rect';\nexport const Circle = 'Circle';\nexport const Ellipse = 'Ellipse';\nexport const Wedge = 'Wedge';\nexport const Line = 'Line';\nexport const Sprite = 'Sprite';\nexport const Image = 'Image';\nexport const Text = 'Text';\nexport const TextPath = 'TextPath';\nexport const Star = 'Star';\nexport const Ring = 'Ring';\nexport const Arc = 'Arc';\nexport const Tag = 'Tag';\nexport const Path = 'Path';\nexport const RegularPolygon = 'RegularPolygon';\nexport const Arrow = 'Arrow';\nexport const Shape = 'Shape';\nexport const Transformer = 'Transformer';\n// @ts-ignore\nexport const KonvaRenderer = ReactFiberReconciler(HostConfig);\nKonvaRenderer.injectIntoDevTools({\n // @ts-ignore\n findHostInstanceByFiber: () => null,\n bundleType: process.env.NODE_ENV !== 'production' ? 1 : 0,\n version: React.version,\n rendererPackageName: 'react-konva',\n});\nexport const Stage = React.forwardRef((props, ref) => {\n return React.createElement(FiberProvider, {}, React.createElement(StageWrap, { ...props, forwardedRef: ref }));\n});\nexport const useStrictMode = toggleStrictMode;\n","import * as React from \"react\";\nimport type {\n History,\n InitialEntry,\n Location,\n MemoryHistory,\n Path,\n To\n} from \"history\";\nimport {\n Action as NavigationType,\n createMemoryHistory,\n parsePath\n} from \"history\";\n\nexport type { Location, Path, To, NavigationType };\n\nfunction invariant(cond: any, message: string): asserts cond {\n if (!cond) throw new Error(message);\n}\n\nfunction warning(cond: any, message: string): void {\n if (!cond) {\n // eslint-disable-next-line no-console\n if (typeof console !== \"undefined\") console.warn(message);\n\n try {\n // Welcome to debugging React Router!\n //\n // This error is thrown as a convenience so you can more easily\n // find the source for a warning that appears in the console by\n // enabling \"pause on exceptions\" in your JavaScript debugger.\n throw new Error(message);\n // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n}\n\nconst alreadyWarned: Record = {};\nfunction warningOnce(key: string, cond: boolean, message: string) {\n if (!cond && !alreadyWarned[key]) {\n alreadyWarned[key] = true;\n warning(false, message);\n }\n}\n\n///////////////////////////////////////////////////////////////////////////////\n// CONTEXT\n///////////////////////////////////////////////////////////////////////////////\n\n/**\n * A Navigator is a \"location changer\"; it's how you get to different locations.\n *\n * Every history instance conforms to the Navigator interface, but the\n * distinction is useful primarily when it comes to the low-level API\n * where both the location and a navigator must be provided separately in order\n * to avoid \"tearing\" that may occur in a suspense-enabled app if the action\n * and/or location were to be read directly from the history instance.\n */\nexport type Navigator = Pick;\n\ninterface NavigationContextObject {\n basename: string;\n navigator: Navigator;\n static: boolean;\n}\n\nconst NavigationContext = React.createContext(null!);\n\nif (__DEV__) {\n NavigationContext.displayName = \"Navigation\";\n}\n\ninterface LocationContextObject {\n location: Location;\n navigationType: NavigationType;\n}\n\nconst LocationContext = React.createContext(null!);\n\nif (__DEV__) {\n LocationContext.displayName = \"Location\";\n}\n\ninterface RouteContextObject {\n outlet: React.ReactElement | null;\n matches: RouteMatch[];\n}\n\nconst RouteContext = React.createContext({\n outlet: null,\n matches: []\n});\n\nif (__DEV__) {\n RouteContext.displayName = \"Route\";\n}\n\n///////////////////////////////////////////////////////////////////////////////\n// COMPONENTS\n///////////////////////////////////////////////////////////////////////////////\n\nexport interface MemoryRouterProps {\n basename?: string;\n children?: React.ReactNode;\n initialEntries?: InitialEntry[];\n initialIndex?: number;\n}\n\n/**\n * A that stores all entries in memory.\n *\n * @see https://reactrouter.com/docs/en/v6/api#memoryrouter\n */\nexport function MemoryRouter({\n basename,\n children,\n initialEntries,\n initialIndex\n}: MemoryRouterProps): React.ReactElement {\n let historyRef = React.useRef();\n if (historyRef.current == null) {\n historyRef.current = createMemoryHistory({ initialEntries, initialIndex });\n }\n\n let history = historyRef.current;\n let [state, setState] = React.useState({\n action: history.action,\n location: history.location\n });\n\n React.useLayoutEffect(() => history.listen(setState), [history]);\n\n return (\n \n );\n}\n\nexport interface NavigateProps {\n to: To;\n replace?: boolean;\n state?: any;\n}\n\n/**\n * Changes the current location.\n *\n * Note: This API is mostly useful in React.Component subclasses that are not\n * able to use hooks. In functional components, we recommend you use the\n * `useNavigate` hook instead.\n *\n * @see https://reactrouter.com/docs/en/v6/api#navigate\n */\nexport function Navigate({ to, replace, state }: NavigateProps): null {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of\n // the router loaded. We can help them understand how to avoid that.\n ` may be used only in the context of a component.`\n );\n\n warning(\n !React.useContext(NavigationContext).static,\n ` must not be used on the initial render in a . ` +\n `This is a no-op, but you should modify your code so the is ` +\n `only ever rendered in response to some user interaction or state change.`\n );\n\n let navigate = useNavigate();\n React.useEffect(() => {\n navigate(to, { replace, state });\n });\n\n return null;\n}\n\nexport interface OutletProps {\n context?: unknown;\n}\n\n/**\n * Renders the child route's element, if there is one.\n *\n * @see https://reactrouter.com/docs/en/v6/api#outlet\n */\nexport function Outlet(props: OutletProps): React.ReactElement | null {\n return useOutlet(props.context);\n}\n\nexport interface RouteProps {\n caseSensitive?: boolean;\n children?: React.ReactNode;\n element?: React.ReactNode | null;\n index?: boolean;\n path?: string;\n}\n\nexport interface PathRouteProps {\n caseSensitive?: boolean;\n children?: React.ReactNode;\n element?: React.ReactNode | null;\n index?: false;\n path: string;\n}\n\nexport interface LayoutRouteProps {\n children?: React.ReactNode;\n element?: React.ReactNode | null;\n}\n\nexport interface IndexRouteProps {\n element?: React.ReactNode | null;\n index: true;\n}\n\n/**\n * Declares an element that should be rendered at a certain URL path.\n *\n * @see https://reactrouter.com/docs/en/v6/api#route\n */\nexport function Route(\n _props: PathRouteProps | LayoutRouteProps | IndexRouteProps\n): React.ReactElement | null {\n invariant(\n false,\n `A is only ever to be used as the child of element, ` +\n `never rendered directly. Please wrap your in a .`\n );\n}\n\nexport interface RouterProps {\n basename?: string;\n children?: React.ReactNode;\n location: Partial | string;\n navigationType?: NavigationType;\n navigator: Navigator;\n static?: boolean;\n}\n\n/**\n * Provides location context for the rest of the app.\n *\n * Note: You usually won't render a directly. Instead, you'll render a\n * router that is more specific to your environment such as a \n * in web browsers or a for server rendering.\n *\n * @see https://reactrouter.com/docs/en/v6/api#router\n */\nexport function Router({\n basename: basenameProp = \"/\",\n children = null,\n location: locationProp,\n navigationType = NavigationType.Pop,\n navigator,\n static: staticProp = false\n}: RouterProps): React.ReactElement | null {\n invariant(\n !useInRouterContext(),\n `You cannot render a inside another .` +\n ` You should never have more than one in your app.`\n );\n\n let basename = normalizePathname(basenameProp);\n let navigationContext = React.useMemo(\n () => ({ basename, navigator, static: staticProp }),\n [basename, navigator, staticProp]\n );\n\n if (typeof locationProp === \"string\") {\n locationProp = parsePath(locationProp);\n }\n\n let {\n pathname = \"/\",\n search = \"\",\n hash = \"\",\n state = null,\n key = \"default\"\n } = locationProp;\n\n let location = React.useMemo(() => {\n let trailingPathname = stripBasename(pathname, basename);\n\n if (trailingPathname == null) {\n return null;\n }\n\n return {\n pathname: trailingPathname,\n search,\n hash,\n state,\n key\n };\n }, [basename, pathname, search, hash, state, key]);\n\n warning(\n location != null,\n ` is not able to match the URL ` +\n `\"${pathname}${search}${hash}\" because it does not start with the ` +\n `basename, so the won't render anything.`\n );\n\n if (location == null) {\n return null;\n }\n\n return (\n \n \n \n );\n}\n\nexport interface RoutesProps {\n children?: React.ReactNode;\n location?: Partial | string;\n}\n\n/**\n * A container for a nested tree of elements that renders the branch\n * that best matches the current location.\n *\n * @see https://reactrouter.com/docs/en/v6/api#routes\n */\nexport function Routes({\n children,\n location\n}: RoutesProps): React.ReactElement | null {\n return useRoutes(createRoutesFromChildren(children), location);\n}\n\n///////////////////////////////////////////////////////////////////////////////\n// HOOKS\n///////////////////////////////////////////////////////////////////////////////\n\n/**\n * Returns the full href for the given \"to\" value. This is useful for building\n * custom links that are also accessible and preserve right-click behavior.\n *\n * @see https://reactrouter.com/docs/en/v6/api#usehref\n */\nexport function useHref(to: To): string {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useHref() may be used only in the context of a component.`\n );\n\n let { basename, navigator } = React.useContext(NavigationContext);\n let { hash, pathname, search } = useResolvedPath(to);\n\n let joinedPathname = pathname;\n if (basename !== \"/\") {\n let toPathname = getToPathname(to);\n let endsWithSlash = toPathname != null && toPathname.endsWith(\"/\");\n joinedPathname =\n pathname === \"/\"\n ? basename + (endsWithSlash ? \"/\" : \"\")\n : joinPaths([basename, pathname]);\n }\n\n return navigator.createHref({ pathname: joinedPathname, search, hash });\n}\n\n/**\n * Returns true if this component is a descendant of a .\n *\n * @see https://reactrouter.com/docs/en/v6/api#useinroutercontext\n */\nexport function useInRouterContext(): boolean {\n return React.useContext(LocationContext) != null;\n}\n\n/**\n * Returns the current location object, which represents the current URL in web\n * browsers.\n *\n * Note: If you're using this it may mean you're doing some of your own\n * \"routing\" in your app, and we'd like to know what your use case is. We may\n * be able to provide something higher-level to better suit your needs.\n *\n * @see https://reactrouter.com/docs/en/v6/api#uselocation\n */\nexport function useLocation(): Location {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useLocation() may be used only in the context of a component.`\n );\n\n return React.useContext(LocationContext).location;\n}\n\ntype ParamParseFailed = { failed: true };\n\ntype ParamParseSegment =\n // Check here if there exists a forward slash in the string.\n Segment extends `${infer LeftSegment}/${infer RightSegment}`\n ? // If there is a forward slash, then attempt to parse each side of the\n // forward slash.\n ParamParseSegment extends infer LeftResult\n ? ParamParseSegment extends infer RightResult\n ? LeftResult extends string\n ? // If the left side is successfully parsed as a param, then check if\n // the right side can be successfully parsed as well. If both sides\n // can be parsed, then the result is a union of the two sides\n // (read: \"foo\" | \"bar\").\n RightResult extends string\n ? LeftResult | RightResult\n : LeftResult\n : // If the left side is not successfully parsed as a param, then check\n // if only the right side can be successfully parse as a param. If it\n // can, then the result is just right, else it's a failure.\n RightResult extends string\n ? RightResult\n : ParamParseFailed\n : ParamParseFailed\n : // If the left side didn't parse into a param, then just check the right\n // side.\n ParamParseSegment extends infer RightResult\n ? RightResult extends string\n ? RightResult\n : ParamParseFailed\n : ParamParseFailed\n : // If there's no forward slash, then check if this segment starts with a\n // colon. If it does, then this is a dynamic segment, so the result is\n // just the remainder of the string. Otherwise, it's a failure.\n Segment extends `:${infer Remaining}`\n ? Remaining\n : ParamParseFailed;\n\n// Attempt to parse the given string segment. If it fails, then just return the\n// plain string type as a default fallback. Otherwise return the union of the\n// parsed string literals that were referenced as dynamic segments in the route.\ntype ParamParseKey =\n ParamParseSegment extends string\n ? ParamParseSegment\n : string;\n\n/**\n * Returns the current navigation action which describes how the router came to\n * the current location, either by a pop, push, or replace on the history stack.\n *\n * @see https://reactrouter.com/docs/en/v6/api#usenavigationtype\n */\nexport function useNavigationType(): NavigationType {\n return React.useContext(LocationContext).navigationType;\n}\n\n/**\n * Returns true if the URL for the given \"to\" value matches the current URL.\n * This is useful for components that need to know \"active\" state, e.g.\n * .\n *\n * @see https://reactrouter.com/docs/en/v6/api#usematch\n */\nexport function useMatch<\n ParamKey extends ParamParseKey,\n Path extends string\n>(pattern: PathPattern | Path): PathMatch | null {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useMatch() may be used only in the context of a component.`\n );\n\n let { pathname } = useLocation();\n return React.useMemo(\n () => matchPath(pattern, pathname),\n [pathname, pattern]\n );\n}\n\n/**\n * The interface for the navigate() function returned from useNavigate().\n */\nexport interface NavigateFunction {\n (to: To, options?: NavigateOptions): void;\n (delta: number): void;\n}\n\nexport interface NavigateOptions {\n replace?: boolean;\n state?: any;\n}\n\n/**\n * Returns an imperative method for changing the location. Used by s, but\n * may also be used by other elements to change the location.\n *\n * @see https://reactrouter.com/docs/en/v6/api#usenavigate\n */\nexport function useNavigate(): NavigateFunction {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useNavigate() may be used only in the context of a component.`\n );\n\n let { basename, navigator } = React.useContext(NavigationContext);\n let { matches } = React.useContext(RouteContext);\n let { pathname: locationPathname } = useLocation();\n\n let routePathnamesJson = JSON.stringify(\n matches.map(match => match.pathnameBase)\n );\n\n let activeRef = React.useRef(false);\n React.useEffect(() => {\n activeRef.current = true;\n });\n\n let navigate: NavigateFunction = React.useCallback(\n (to: To | number, options: NavigateOptions = {}) => {\n warning(\n activeRef.current,\n `You should call navigate() in a React.useEffect(), not when ` +\n `your component is first rendered.`\n );\n\n if (!activeRef.current) return;\n\n if (typeof to === \"number\") {\n navigator.go(to);\n return;\n }\n\n let path = resolveTo(\n to,\n JSON.parse(routePathnamesJson),\n locationPathname\n );\n\n if (basename !== \"/\") {\n path.pathname = joinPaths([basename, path.pathname]);\n }\n\n (!!options.replace ? navigator.replace : navigator.push)(\n path,\n options.state\n );\n },\n [basename, navigator, routePathnamesJson, locationPathname]\n );\n\n return navigate;\n}\n\nconst OutletContext = React.createContext(null);\n\n/**\n * Returns the context (if provided) for the child route at this level of the route\n * hierarchy.\n * @see https://reactrouter.com/docs/en/v6/api#useoutletcontext\n */\nexport function useOutletContext(): Context {\n return React.useContext(OutletContext) as Context;\n}\n\n/**\n * Returns the element for the child route at this level of the route\n * hierarchy. Used internally by to render child routes.\n *\n * @see https://reactrouter.com/docs/en/v6/api#useoutlet\n */\nexport function useOutlet(context?: unknown): React.ReactElement | null {\n let outlet = React.useContext(RouteContext).outlet;\n if (outlet) {\n return (\n {outlet}\n );\n }\n return outlet;\n}\n\n/**\n * Returns an object of key/value pairs of the dynamic params from the current\n * URL that were matched by the route path.\n *\n * @see https://reactrouter.com/docs/en/v6/api#useparams\n */\nexport function useParams<\n ParamsOrKey extends string | Record = string\n>(): Readonly<\n [ParamsOrKey] extends [string] ? Params : Partial\n> {\n let { matches } = React.useContext(RouteContext);\n let routeMatch = matches[matches.length - 1];\n return routeMatch ? (routeMatch.params as any) : {};\n}\n\n/**\n * Resolves the pathname of the given `to` value against the current location.\n *\n * @see https://reactrouter.com/docs/en/v6/api#useresolvedpath\n */\nexport function useResolvedPath(to: To): Path {\n let { matches } = React.useContext(RouteContext);\n let { pathname: locationPathname } = useLocation();\n\n let routePathnamesJson = JSON.stringify(\n matches.map(match => match.pathnameBase)\n );\n\n return React.useMemo(\n () => resolveTo(to, JSON.parse(routePathnamesJson), locationPathname),\n [to, routePathnamesJson, locationPathname]\n );\n}\n\n/**\n * Returns the element of the route that matched the current location, prepared\n * with the correct context to render the remainder of the route tree. Route\n * elements in the tree must render an to render their child route's\n * element.\n *\n * @see https://reactrouter.com/docs/en/v6/api#useroutes\n */\nexport function useRoutes(\n routes: RouteObject[],\n locationArg?: Partial | string\n): React.ReactElement | null {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useRoutes() may be used only in the context of a component.`\n );\n\n let { matches: parentMatches } = React.useContext(RouteContext);\n let routeMatch = parentMatches[parentMatches.length - 1];\n let parentParams = routeMatch ? routeMatch.params : {};\n let parentPathname = routeMatch ? routeMatch.pathname : \"/\";\n let parentPathnameBase = routeMatch ? routeMatch.pathnameBase : \"/\";\n let parentRoute = routeMatch && routeMatch.route;\n\n if (__DEV__) {\n // You won't get a warning about 2 different under a \n // without a trailing *, but this is a best-effort warning anyway since we\n // cannot even give the warning unless they land at the parent route.\n //\n // Example:\n //\n // \n // {/* This route path MUST end with /* because otherwise\n // it will never match /blog/post/123 */}\n // } />\n // } />\n // \n //\n // function Blog() {\n // return (\n // \n // } />\n // \n // );\n // }\n let parentPath = (parentRoute && parentRoute.path) || \"\";\n warningOnce(\n parentPathname,\n !parentRoute || parentPath.endsWith(\"*\"),\n `You rendered descendant (or called \\`useRoutes()\\`) at ` +\n `\"${parentPathname}\" (under ) but the ` +\n `parent route path has no trailing \"*\". This means if you navigate ` +\n `deeper, the parent won't match anymore and therefore the child ` +\n `routes will never render.\\n\\n` +\n `Please change the parent to .`\n );\n }\n\n let locationFromContext = useLocation();\n\n let location;\n if (locationArg) {\n let parsedLocationArg =\n typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n\n invariant(\n parentPathnameBase === \"/\" ||\n parsedLocationArg.pathname?.startsWith(parentPathnameBase),\n `When overriding the location using \\`\\` or \\`useRoutes(routes, location)\\`, ` +\n `the location pathname must begin with the portion of the URL pathname that was ` +\n `matched by all parent routes. The current pathname base is \"${parentPathnameBase}\" ` +\n `but pathname \"${parsedLocationArg.pathname}\" was given in the \\`location\\` prop.`\n );\n\n location = parsedLocationArg;\n } else {\n location = locationFromContext;\n }\n\n let pathname = location.pathname || \"/\";\n let remainingPathname =\n parentPathnameBase === \"/\"\n ? pathname\n : pathname.slice(parentPathnameBase.length) || \"/\";\n let matches = matchRoutes(routes, { pathname: remainingPathname });\n\n if (__DEV__) {\n warning(\n parentRoute || matches != null,\n `No routes matched location \"${location.pathname}${location.search}${location.hash}\" `\n );\n\n warning(\n matches == null ||\n matches[matches.length - 1].route.element !== undefined,\n `Matched leaf route at location \"${location.pathname}${location.search}${location.hash}\" does not have an element. ` +\n `This means it will render an with a null value by default resulting in an \"empty\" page.`\n );\n }\n\n return _renderMatches(\n matches &&\n matches.map(match =>\n Object.assign({}, match, {\n params: Object.assign({}, parentParams, match.params),\n pathname: joinPaths([parentPathnameBase, match.pathname]),\n pathnameBase:\n match.pathnameBase === \"/\"\n ? parentPathnameBase\n : joinPaths([parentPathnameBase, match.pathnameBase])\n })\n ),\n parentMatches\n );\n}\n\n///////////////////////////////////////////////////////////////////////////////\n// UTILS\n///////////////////////////////////////////////////////////////////////////////\n\n/**\n * Creates a route config from a React \"children\" object, which is usually\n * either a `` element or an array of them. Used internally by\n * `` to create a route config from its children.\n *\n * @see https://reactrouter.com/docs/en/v6/api#createroutesfromchildren\n */\nexport function createRoutesFromChildren(\n children: React.ReactNode\n): RouteObject[] {\n let routes: RouteObject[] = [];\n\n React.Children.forEach(children, element => {\n if (!React.isValidElement(element)) {\n // Ignore non-elements. This allows people to more easily inline\n // conditionals in their route config.\n return;\n }\n\n if (element.type === React.Fragment) {\n // Transparently support React.Fragment and its children.\n routes.push.apply(\n routes,\n createRoutesFromChildren(element.props.children)\n );\n return;\n }\n\n invariant(\n element.type === Route,\n `[${\n typeof element.type === \"string\" ? element.type : element.type.name\n }] is not a component. All component children of must be a or `\n );\n\n let route: RouteObject = {\n caseSensitive: element.props.caseSensitive,\n element: element.props.element,\n index: element.props.index,\n path: element.props.path\n };\n\n if (element.props.children) {\n route.children = createRoutesFromChildren(element.props.children);\n }\n\n routes.push(route);\n });\n\n return routes;\n}\n\n/**\n * The parameters that were parsed from the URL path.\n */\nexport type Params = {\n readonly [key in Key]: string | undefined;\n};\n\n/**\n * A route object represents a logical route, with (optionally) its child\n * routes organized in a tree-like structure.\n */\nexport interface RouteObject {\n caseSensitive?: boolean;\n children?: RouteObject[];\n element?: React.ReactNode;\n index?: boolean;\n path?: string;\n}\n\n/**\n * Returns a path with params interpolated.\n *\n * @see https://reactrouter.com/docs/en/v6/api#generatepath\n */\nexport function generatePath(path: string, params: Params = {}): string {\n return path\n .replace(/:(\\w+)/g, (_, key) => {\n invariant(params[key] != null, `Missing \":${key}\" param`);\n return params[key]!;\n })\n .replace(/\\/*\\*$/, _ =>\n params[\"*\"] == null ? \"\" : params[\"*\"].replace(/^\\/*/, \"/\")\n );\n}\n\n/**\n * A RouteMatch contains info about how a route matched a URL.\n */\nexport interface RouteMatch {\n /**\n * The names and values of dynamic parameters in the URL.\n */\n params: Params;\n /**\n * The portion of the URL pathname that was matched.\n */\n pathname: string;\n /**\n * The portion of the URL pathname that was matched before child routes.\n */\n pathnameBase: string;\n /**\n * The route object that was used to match.\n */\n route: RouteObject;\n}\n\n/**\n * Matches the given routes to a location and returns the match data.\n *\n * @see https://reactrouter.com/docs/en/v6/api#matchroutes\n */\nexport function matchRoutes(\n routes: RouteObject[],\n locationArg: Partial | string,\n basename = \"/\"\n): RouteMatch[] | null {\n let location =\n typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n\n let pathname = stripBasename(location.pathname || \"/\", basename);\n\n if (pathname == null) {\n return null;\n }\n\n let branches = flattenRoutes(routes);\n rankRouteBranches(branches);\n\n let matches = null;\n for (let i = 0; matches == null && i < branches.length; ++i) {\n matches = matchRouteBranch(branches[i], pathname);\n }\n\n return matches;\n}\n\ninterface RouteMeta {\n relativePath: string;\n caseSensitive: boolean;\n childrenIndex: number;\n route: RouteObject;\n}\n\ninterface RouteBranch {\n path: string;\n score: number;\n routesMeta: RouteMeta[];\n}\n\nfunction flattenRoutes(\n routes: RouteObject[],\n branches: RouteBranch[] = [],\n parentsMeta: RouteMeta[] = [],\n parentPath = \"\"\n): RouteBranch[] {\n routes.forEach((route, index) => {\n let meta: RouteMeta = {\n relativePath: route.path || \"\",\n caseSensitive: route.caseSensitive === true,\n childrenIndex: index,\n route\n };\n\n if (meta.relativePath.startsWith(\"/\")) {\n invariant(\n meta.relativePath.startsWith(parentPath),\n `Absolute route path \"${meta.relativePath}\" nested under path ` +\n `\"${parentPath}\" is not valid. An absolute child route path ` +\n `must start with the combined path of all its parent routes.`\n );\n\n meta.relativePath = meta.relativePath.slice(parentPath.length);\n }\n\n let path = joinPaths([parentPath, meta.relativePath]);\n let routesMeta = parentsMeta.concat(meta);\n\n // Add the children before adding this route to the array so we traverse the\n // route tree depth-first and child routes appear before their parents in\n // the \"flattened\" version.\n if (route.children && route.children.length > 0) {\n invariant(\n route.index !== true,\n `Index routes must not have child routes. Please remove ` +\n `all child routes from route path \"${path}\".`\n );\n\n flattenRoutes(route.children, branches, routesMeta, path);\n }\n\n // Routes without a path shouldn't ever match by themselves unless they are\n // index routes, so don't add them to the list of possible branches.\n if (route.path == null && !route.index) {\n return;\n }\n\n branches.push({ path, score: computeScore(path, route.index), routesMeta });\n });\n\n return branches;\n}\n\nfunction rankRouteBranches(branches: RouteBranch[]): void {\n branches.sort((a, b) =>\n a.score !== b.score\n ? b.score - a.score // Higher score first\n : compareIndexes(\n a.routesMeta.map(meta => meta.childrenIndex),\n b.routesMeta.map(meta => meta.childrenIndex)\n )\n );\n}\n\nconst paramRe = /^:\\w+$/;\nconst dynamicSegmentValue = 3;\nconst indexRouteValue = 2;\nconst emptySegmentValue = 1;\nconst staticSegmentValue = 10;\nconst splatPenalty = -2;\nconst isSplat = (s: string) => s === \"*\";\n\nfunction computeScore(path: string, index: boolean | undefined): number {\n let segments = path.split(\"/\");\n let initialScore = segments.length;\n if (segments.some(isSplat)) {\n initialScore += splatPenalty;\n }\n\n if (index) {\n initialScore += indexRouteValue;\n }\n\n return segments\n .filter(s => !isSplat(s))\n .reduce(\n (score, segment) =>\n score +\n (paramRe.test(segment)\n ? dynamicSegmentValue\n : segment === \"\"\n ? emptySegmentValue\n : staticSegmentValue),\n initialScore\n );\n}\n\nfunction compareIndexes(a: number[], b: number[]): number {\n let siblings =\n a.length === b.length && a.slice(0, -1).every((n, i) => n === b[i]);\n\n return siblings\n ? // If two routes are siblings, we should try to match the earlier sibling\n // first. This allows people to have fine-grained control over the matching\n // behavior by simply putting routes with identical paths in the order they\n // want them tried.\n a[a.length - 1] - b[b.length - 1]\n : // Otherwise, it doesn't really make sense to rank non-siblings by index,\n // so they sort equally.\n 0;\n}\n\nfunction matchRouteBranch(\n branch: RouteBranch,\n pathname: string\n): RouteMatch[] | null {\n let { routesMeta } = branch;\n\n let matchedParams = {};\n let matchedPathname = \"/\";\n let matches: RouteMatch[] = [];\n for (let i = 0; i < routesMeta.length; ++i) {\n let meta = routesMeta[i];\n let end = i === routesMeta.length - 1;\n let remainingPathname =\n matchedPathname === \"/\"\n ? pathname\n : pathname.slice(matchedPathname.length) || \"/\";\n let match = matchPath(\n { path: meta.relativePath, caseSensitive: meta.caseSensitive, end },\n remainingPathname\n );\n\n if (!match) return null;\n\n Object.assign(matchedParams, match.params);\n\n let route = meta.route;\n\n matches.push({\n params: matchedParams,\n pathname: joinPaths([matchedPathname, match.pathname]),\n pathnameBase: joinPaths([matchedPathname, match.pathnameBase]),\n route\n });\n\n if (match.pathnameBase !== \"/\") {\n matchedPathname = joinPaths([matchedPathname, match.pathnameBase]);\n }\n }\n\n return matches;\n}\n\n/**\n * Renders the result of `matchRoutes()` into a React element.\n */\nexport function renderMatches(\n matches: RouteMatch[] | null\n): React.ReactElement | null {\n return _renderMatches(matches);\n}\n\nfunction _renderMatches(\n matches: RouteMatch[] | null,\n parentMatches: RouteMatch[] = []\n): React.ReactElement | null {\n if (matches == null) return null;\n\n return matches.reduceRight((outlet, match, index) => {\n return (\n \n }\n value={{\n outlet,\n matches: parentMatches.concat(matches.slice(0, index + 1))\n }}\n />\n );\n }, null as React.ReactElement | null);\n}\n\n/**\n * A PathPattern is used to match on some portion of a URL pathname.\n */\nexport interface PathPattern {\n /**\n * A string to match against a URL pathname. May contain `:id`-style segments\n * to indicate placeholders for dynamic parameters. May also end with `/*` to\n * indicate matching the rest of the URL pathname.\n */\n path: Path;\n /**\n * Should be `true` if the static portions of the `path` should be matched in\n * the same case.\n */\n caseSensitive?: boolean;\n /**\n * Should be `true` if this pattern should match the entire URL pathname.\n */\n end?: boolean;\n}\n\n/**\n * A PathMatch contains info about how a PathPattern matched on a URL pathname.\n */\nexport interface PathMatch {\n /**\n * The names and values of dynamic parameters in the URL.\n */\n params: Params;\n /**\n * The portion of the URL pathname that was matched.\n */\n pathname: string;\n /**\n * The portion of the URL pathname that was matched before child routes.\n */\n pathnameBase: string;\n /**\n * The pattern that was used to match.\n */\n pattern: PathPattern;\n}\n\ntype Mutable = {\n -readonly [P in keyof T]: T[P];\n};\n\n/**\n * Performs pattern matching on a URL pathname and returns information about\n * the match.\n *\n * @see https://reactrouter.com/docs/en/v6/api#matchpath\n */\nexport function matchPath<\n ParamKey extends ParamParseKey,\n Path extends string\n>(\n pattern: PathPattern | Path,\n pathname: string\n): PathMatch | null {\n if (typeof pattern === \"string\") {\n pattern = { path: pattern, caseSensitive: false, end: true };\n }\n\n let [matcher, paramNames] = compilePath(\n pattern.path,\n pattern.caseSensitive,\n pattern.end\n );\n\n let match = pathname.match(matcher);\n if (!match) return null;\n\n let matchedPathname = match[0];\n let pathnameBase = matchedPathname.replace(/(.)\\/+$/, \"$1\");\n let captureGroups = match.slice(1);\n let params: Params = paramNames.reduce>(\n (memo, paramName, index) => {\n // We need to compute the pathnameBase here using the raw splat value\n // instead of using params[\"*\"] later because it will be decoded then\n if (paramName === \"*\") {\n let splatValue = captureGroups[index] || \"\";\n pathnameBase = matchedPathname\n .slice(0, matchedPathname.length - splatValue.length)\n .replace(/(.)\\/+$/, \"$1\");\n }\n\n memo[paramName] = safelyDecodeURIComponent(\n captureGroups[index] || \"\",\n paramName\n );\n return memo;\n },\n {}\n );\n\n return {\n params,\n pathname: matchedPathname,\n pathnameBase,\n pattern\n };\n}\n\nfunction compilePath(\n path: string,\n caseSensitive = false,\n end = true\n): [RegExp, string[]] {\n warning(\n path === \"*\" || !path.endsWith(\"*\") || path.endsWith(\"/*\"),\n `Route path \"${path}\" will be treated as if it were ` +\n `\"${path.replace(/\\*$/, \"/*\")}\" because the \\`*\\` character must ` +\n `always follow a \\`/\\` in the pattern. To get rid of this warning, ` +\n `please change the route path to \"${path.replace(/\\*$/, \"/*\")}\".`\n );\n\n let paramNames: string[] = [];\n let regexpSource =\n \"^\" +\n path\n .replace(/\\/*\\*?$/, \"\") // Ignore trailing / and /*, we'll handle it below\n .replace(/^\\/*/, \"/\") // Make sure it has a leading /\n .replace(/[\\\\.*+^$?{}|()[\\]]/g, \"\\\\$&\") // Escape special regex chars\n .replace(/:(\\w+)/g, (_: string, paramName: string) => {\n paramNames.push(paramName);\n return \"([^\\\\/]+)\";\n });\n\n if (path.endsWith(\"*\")) {\n paramNames.push(\"*\");\n regexpSource +=\n path === \"*\" || path === \"/*\"\n ? \"(.*)$\" // Already matched the initial /, just match the rest\n : \"(?:\\\\/(.+)|\\\\/*)$\"; // Don't include the / in params[\"*\"]\n } else {\n regexpSource += end\n ? \"\\\\/*$\" // When matching to the end, ignore trailing slashes\n : // Otherwise, match a word boundary or a proceeding /. The word boundary restricts\n // parent routes to matching only their own words and nothing more, e.g. parent\n // route \"/home\" should not match \"/home2\".\n \"(?:\\\\b|\\\\/|$)\";\n }\n\n let matcher = new RegExp(regexpSource, caseSensitive ? undefined : \"i\");\n\n return [matcher, paramNames];\n}\n\nfunction safelyDecodeURIComponent(value: string, paramName: string) {\n try {\n return decodeURIComponent(value);\n } catch (error) {\n warning(\n false,\n `The value for the URL param \"${paramName}\" will not be decoded because` +\n ` the string \"${value}\" is a malformed URL segment. This is probably` +\n ` due to a bad percent encoding (${error}).`\n );\n\n return value;\n }\n}\n\n/**\n * Returns a resolved path object relative to the given pathname.\n *\n * @see https://reactrouter.com/docs/en/v6/api#resolvepath\n */\nexport function resolvePath(to: To, fromPathname = \"/\"): Path {\n let {\n pathname: toPathname,\n search = \"\",\n hash = \"\"\n } = typeof to === \"string\" ? parsePath(to) : to;\n\n let pathname = toPathname\n ? toPathname.startsWith(\"/\")\n ? toPathname\n : resolvePathname(toPathname, fromPathname)\n : fromPathname;\n\n return {\n pathname,\n search: normalizeSearch(search),\n hash: normalizeHash(hash)\n };\n}\n\nfunction resolvePathname(relativePath: string, fromPathname: string): string {\n let segments = fromPathname.replace(/\\/+$/, \"\").split(\"/\");\n let relativeSegments = relativePath.split(\"/\");\n\n relativeSegments.forEach(segment => {\n if (segment === \"..\") {\n // Keep the root \"\" segment so the pathname starts at /\n if (segments.length > 1) segments.pop();\n } else if (segment !== \".\") {\n segments.push(segment);\n }\n });\n\n return segments.length > 1 ? segments.join(\"/\") : \"/\";\n}\n\nfunction resolveTo(\n toArg: To,\n routePathnames: string[],\n locationPathname: string\n): Path {\n let to = typeof toArg === \"string\" ? parsePath(toArg) : toArg;\n let toPathname = toArg === \"\" || to.pathname === \"\" ? \"/\" : to.pathname;\n\n // If a pathname is explicitly provided in `to`, it should be relative to the\n // route context. This is explained in `Note on `` values` in our\n // migration guide from v5 as a means of disambiguation between `to` values\n // that begin with `/` and those that do not. However, this is problematic for\n // `to` values that do not provide a pathname. `to` can simply be a search or\n // hash string, in which case we should assume that the navigation is relative\n // to the current location's pathname and *not* the route pathname.\n let from: string;\n if (toPathname == null) {\n from = locationPathname;\n } else {\n let routePathnameIndex = routePathnames.length - 1;\n\n if (toPathname.startsWith(\"..\")) {\n let toSegments = toPathname.split(\"/\");\n\n // Each leading .. segment means \"go up one route\" instead of \"go up one\n // URL segment\". This is a key difference from how works and a\n // major reason we call this a \"to\" value instead of a \"href\".\n while (toSegments[0] === \"..\") {\n toSegments.shift();\n routePathnameIndex -= 1;\n }\n\n to.pathname = toSegments.join(\"/\");\n }\n\n // If there are more \"..\" segments than parent routes, resolve relative to\n // the root / URL.\n from = routePathnameIndex >= 0 ? routePathnames[routePathnameIndex] : \"/\";\n }\n\n let path = resolvePath(to, from);\n\n // Ensure the pathname has a trailing slash if the original to value had one.\n if (\n toPathname &&\n toPathname !== \"/\" &&\n toPathname.endsWith(\"/\") &&\n !path.pathname.endsWith(\"/\")\n ) {\n path.pathname += \"/\";\n }\n\n return path;\n}\n\nfunction getToPathname(to: To): string | undefined {\n // Empty strings should be treated the same as / paths\n return to === \"\" || (to as Path).pathname === \"\"\n ? \"/\"\n : typeof to === \"string\"\n ? parsePath(to).pathname\n : to.pathname;\n}\n\nfunction stripBasename(pathname: string, basename: string): string | null {\n if (basename === \"/\") return pathname;\n\n if (!pathname.toLowerCase().startsWith(basename.toLowerCase())) {\n return null;\n }\n\n let nextChar = pathname.charAt(basename.length);\n if (nextChar && nextChar !== \"/\") {\n // pathname does not start with basename/\n return null;\n }\n\n return pathname.slice(basename.length) || \"/\";\n}\n\nconst joinPaths = (paths: string[]): string =>\n paths.join(\"/\").replace(/\\/\\/+/g, \"/\");\n\nconst normalizePathname = (pathname: string): string =>\n pathname.replace(/\\/+$/, \"\").replace(/^\\/*/, \"/\");\n\nconst normalizeSearch = (search: string): string =>\n !search || search === \"?\"\n ? \"\"\n : search.startsWith(\"?\")\n ? search\n : \"?\" + search;\n\nconst normalizeHash = (hash: string): string =>\n !hash || hash === \"#\" ? \"\" : hash.startsWith(\"#\") ? hash : \"#\" + hash;\n\n///////////////////////////////////////////////////////////////////////////////\n// DANGER! PLEASE READ ME!\n// We provide these exports as an escape hatch in the event that you need any\n// routing data that we don't provide an explicit API for. With that said, we\n// want to cover your use case if we can, so if you feel the need to use these\n// we want to hear from you. Let us know what you're building and we'll do our\n// best to make sure we can support you!\n//\n// We consider these exports an implementation detail and do not guarantee\n// against any breaking changes, regardless of the semver release. Use with\n// extreme caution and only if you understand the consequences. Godspeed.\n///////////////////////////////////////////////////////////////////////////////\n\n/** @internal */\nexport {\n NavigationContext as UNSAFE_NavigationContext,\n LocationContext as UNSAFE_LocationContext,\n RouteContext as UNSAFE_RouteContext\n};\n","import * as React from \"react\";\nimport type { BrowserHistory, HashHistory, History } from \"history\";\nimport { createBrowserHistory, createHashHistory, createPath } from \"history\";\nimport {\n MemoryRouter,\n Navigate,\n Outlet,\n Route,\n Router,\n Routes,\n createRoutesFromChildren,\n generatePath,\n matchRoutes,\n matchPath,\n resolvePath,\n renderMatches,\n useHref,\n useInRouterContext,\n useLocation,\n useMatch,\n useNavigate,\n useNavigationType,\n useOutlet,\n useParams,\n useResolvedPath,\n useRoutes,\n useOutletContext\n} from \"react-router\";\nimport type { To } from \"react-router\";\n\nfunction warning(cond: boolean, message: string): void {\n if (!cond) {\n // eslint-disable-next-line no-console\n if (typeof console !== \"undefined\") console.warn(message);\n\n try {\n // Welcome to debugging React Router!\n //\n // This error is thrown as a convenience so you can more easily\n // find the source for a warning that appears in the console by\n // enabling \"pause on exceptions\" in your JavaScript debugger.\n throw new Error(message);\n // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// RE-EXPORTS\n////////////////////////////////////////////////////////////////////////////////\n\n// Note: Keep in sync with react-router exports!\nexport {\n MemoryRouter,\n Navigate,\n Outlet,\n Route,\n Router,\n Routes,\n createRoutesFromChildren,\n generatePath,\n matchRoutes,\n matchPath,\n renderMatches,\n resolvePath,\n useHref,\n useInRouterContext,\n useLocation,\n useMatch,\n useNavigate,\n useNavigationType,\n useOutlet,\n useParams,\n useResolvedPath,\n useRoutes,\n useOutletContext\n};\n\nexport type {\n Location,\n Path,\n To,\n NavigationType,\n MemoryRouterProps,\n NavigateFunction,\n NavigateOptions,\n NavigateProps,\n Navigator,\n OutletProps,\n Params,\n PathMatch,\n RouteMatch,\n RouteObject,\n RouteProps,\n PathRouteProps,\n LayoutRouteProps,\n IndexRouteProps,\n RouterProps,\n RoutesProps\n} from \"react-router\";\n\n///////////////////////////////////////////////////////////////////////////////\n// DANGER! PLEASE READ ME!\n// We provide these exports as an escape hatch in the event that you need any\n// routing data that we don't provide an explicit API for. With that said, we\n// want to cover your use case if we can, so if you feel the need to use these\n// we want to hear from you. Let us know what you're building and we'll do our\n// best to make sure we can support you!\n//\n// We consider these exports an implementation detail and do not guarantee\n// against any breaking changes, regardless of the semver release. Use with\n// extreme caution and only if you understand the consequences. Godspeed.\n///////////////////////////////////////////////////////////////////////////////\n\n/** @internal */\nexport {\n UNSAFE_NavigationContext,\n UNSAFE_LocationContext,\n UNSAFE_RouteContext\n} from \"react-router\";\n\n////////////////////////////////////////////////////////////////////////////////\n// COMPONENTS\n////////////////////////////////////////////////////////////////////////////////\n\nexport interface BrowserRouterProps {\n basename?: string;\n children?: React.ReactNode;\n window?: Window;\n}\n\n/**\n * A `` for use in web browsers. Provides the cleanest URLs.\n */\nexport function BrowserRouter({\n basename,\n children,\n window\n}: BrowserRouterProps) {\n let historyRef = React.useRef();\n if (historyRef.current == null) {\n historyRef.current = createBrowserHistory({ window });\n }\n\n let history = historyRef.current;\n let [state, setState] = React.useState({\n action: history.action,\n location: history.location\n });\n\n React.useLayoutEffect(() => history.listen(setState), [history]);\n\n return (\n \n );\n}\n\nexport interface HashRouterProps {\n basename?: string;\n children?: React.ReactNode;\n window?: Window;\n}\n\n/**\n * A `` for use in web browsers. Stores the location in the hash\n * portion of the URL so it is not sent to the server.\n */\nexport function HashRouter({ basename, children, window }: HashRouterProps) {\n let historyRef = React.useRef();\n if (historyRef.current == null) {\n historyRef.current = createHashHistory({ window });\n }\n\n let history = historyRef.current;\n let [state, setState] = React.useState({\n action: history.action,\n location: history.location\n });\n\n React.useLayoutEffect(() => history.listen(setState), [history]);\n\n return (\n \n );\n}\n\nexport interface HistoryRouterProps {\n basename?: string;\n children?: React.ReactNode;\n history: History;\n}\n\n/**\n * A `` that accepts a pre-instantiated history object. It's important\n * to note that using your own history object is highly discouraged and may add\n * two versions of the history library to your bundles unless you use the same\n * version of the history library that React Router uses internally.\n */\nfunction HistoryRouter({ basename, children, history }: HistoryRouterProps) {\n const [state, setState] = React.useState({\n action: history.action,\n location: history.location\n });\n\n React.useLayoutEffect(() => history.listen(setState), [history]);\n\n return (\n \n );\n}\n\nif (__DEV__) {\n HistoryRouter.displayName = \"unstable_HistoryRouter\";\n}\n\nexport { HistoryRouter as unstable_HistoryRouter };\n\nfunction isModifiedEvent(event: React.MouseEvent) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\n\nexport interface LinkProps\n extends Omit, \"href\"> {\n reloadDocument?: boolean;\n replace?: boolean;\n state?: any;\n to: To;\n}\n\n/**\n * The public API for rendering a history-aware .\n */\nexport const Link = React.forwardRef(\n function LinkWithRef(\n { onClick, reloadDocument, replace = false, state, target, to, ...rest },\n ref\n ) {\n let href = useHref(to);\n let internalOnClick = useLinkClickHandler(to, { replace, state, target });\n function handleClick(\n event: React.MouseEvent\n ) {\n if (onClick) onClick(event);\n if (!event.defaultPrevented && !reloadDocument) {\n internalOnClick(event);\n }\n }\n\n return (\n // eslint-disable-next-line jsx-a11y/anchor-has-content\n \n );\n }\n);\n\nif (__DEV__) {\n Link.displayName = \"Link\";\n}\n\nexport interface NavLinkProps\n extends Omit {\n children:\n | React.ReactNode\n | ((props: { isActive: boolean }) => React.ReactNode);\n caseSensitive?: boolean;\n className?: string | ((props: { isActive: boolean }) => string);\n end?: boolean;\n style?:\n | React.CSSProperties\n | ((props: { isActive: boolean }) => React.CSSProperties);\n}\n\n/**\n * A wrapper that knows if it's \"active\" or not.\n */\nexport const NavLink = React.forwardRef(\n function NavLinkWithRef(\n {\n \"aria-current\": ariaCurrentProp = \"page\",\n caseSensitive = false,\n className: classNameProp = \"\",\n end = false,\n style: styleProp,\n to,\n children,\n ...rest\n },\n ref\n ) {\n let location = useLocation();\n let path = useResolvedPath(to);\n\n let locationPathname = location.pathname;\n let toPathname = path.pathname;\n if (!caseSensitive) {\n locationPathname = locationPathname.toLowerCase();\n toPathname = toPathname.toLowerCase();\n }\n\n let isActive =\n locationPathname === toPathname ||\n (!end &&\n locationPathname.startsWith(toPathname) &&\n locationPathname.charAt(toPathname.length) === \"/\");\n\n let ariaCurrent = isActive ? ariaCurrentProp : undefined;\n\n let className: string;\n if (typeof classNameProp === \"function\") {\n className = classNameProp({ isActive });\n } else {\n // If the className prop is not a function, we use a default `active`\n // class for s that are active. In v5 `active` was the default\n // value for `activeClassName`, but we are removing that API and can still\n // use the old default behavior for a cleaner upgrade path and keep the\n // simple styling rules working as they currently do.\n className = [classNameProp, isActive ? \"active\" : null]\n .filter(Boolean)\n .join(\" \");\n }\n\n let style =\n typeof styleProp === \"function\" ? styleProp({ isActive }) : styleProp;\n\n return (\n \n {typeof children === \"function\" ? children({ isActive }) : children}\n \n );\n }\n);\n\nif (__DEV__) {\n NavLink.displayName = \"NavLink\";\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// HOOKS\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Handles the click behavior for router `` components. This is useful if\n * you need to create custom `` components with the same click behavior we\n * use in our exported ``.\n */\nexport function useLinkClickHandler(\n to: To,\n {\n target,\n replace: replaceProp,\n state\n }: {\n target?: React.HTMLAttributeAnchorTarget;\n replace?: boolean;\n state?: any;\n } = {}\n): (event: React.MouseEvent) => void {\n let navigate = useNavigate();\n let location = useLocation();\n let path = useResolvedPath(to);\n\n return React.useCallback(\n (event: React.MouseEvent) => {\n if (\n event.button === 0 && // Ignore everything but left clicks\n (!target || target === \"_self\") && // Let browser handle \"target=_blank\" etc.\n !isModifiedEvent(event) // Ignore clicks with modifier keys\n ) {\n event.preventDefault();\n\n // If the URL hasn't changed, a regular will do a replace instead of\n // a push, so do the same here.\n let replace =\n !!replaceProp || createPath(location) === createPath(path);\n\n navigate(to, { replace, state });\n }\n },\n [location, navigate, path, replaceProp, state, target, to]\n );\n}\n\n/**\n * A convenient wrapper for reading and writing search parameters via the\n * URLSearchParams interface.\n */\nexport function useSearchParams(defaultInit?: URLSearchParamsInit) {\n warning(\n typeof URLSearchParams !== \"undefined\",\n `You cannot use the \\`useSearchParams\\` hook in a browser that does not ` +\n `support the URLSearchParams API. If you need to support Internet ` +\n `Explorer 11, we recommend you load a polyfill such as ` +\n `https://github.com/ungap/url-search-params\\n\\n` +\n `If you're unsure how to load polyfills, we recommend you check out ` +\n `https://polyfill.io/v3/ which provides some recommendations about how ` +\n `to load polyfills only for users that need them, instead of for every ` +\n `user.`\n );\n\n let defaultSearchParamsRef = React.useRef(createSearchParams(defaultInit));\n\n let location = useLocation();\n let searchParams = React.useMemo(() => {\n let searchParams = createSearchParams(location.search);\n\n for (let key of defaultSearchParamsRef.current.keys()) {\n if (!searchParams.has(key)) {\n defaultSearchParamsRef.current.getAll(key).forEach(value => {\n searchParams.append(key, value);\n });\n }\n }\n\n return searchParams;\n }, [location.search]);\n\n let navigate = useNavigate();\n let setSearchParams = React.useCallback(\n (\n nextInit: URLSearchParamsInit,\n navigateOptions?: { replace?: boolean; state?: any }\n ) => {\n navigate(\"?\" + createSearchParams(nextInit), navigateOptions);\n },\n [navigate]\n );\n\n return [searchParams, setSearchParams] as const;\n}\n\nexport type ParamKeyValuePair = [string, string];\n\nexport type URLSearchParamsInit =\n | string\n | ParamKeyValuePair[]\n | Record\n | URLSearchParams;\n\n/**\n * Creates a URLSearchParams object using the given initializer.\n *\n * This is identical to `new URLSearchParams(init)` except it also\n * supports arrays as values in the object form of the initializer\n * instead of just strings. This is convenient when you need multiple\n * values for a given key, but don't want to use an array initializer.\n *\n * For example, instead of:\n *\n * let searchParams = new URLSearchParams([\n * ['sort', 'name'],\n * ['sort', 'price']\n * ]);\n *\n * you can do:\n *\n * let searchParams = createSearchParams({\n * sort: ['name', 'price']\n * });\n */\nexport function createSearchParams(\n init: URLSearchParamsInit = \"\"\n): URLSearchParams {\n return new URLSearchParams(\n typeof init === \"string\" ||\n Array.isArray(init) ||\n init instanceof URLSearchParams\n ? init\n : Object.keys(init).reduce((memo, key) => {\n let value = init[key];\n return memo.concat(\n Array.isArray(value) ? value.map(v => [key, v]) : [[key, value]]\n );\n }, [] as ParamKeyValuePair[])\n );\n}\n","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","import defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\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 _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","import arrayWithHoles from \"@babel/runtime/helpers/esm/arrayWithHoles\";\nimport iterableToArrayLimit from \"@babel/runtime/helpers/esm/iterableToArrayLimit\";\nimport unsupportedIterableToArray from \"@babel/runtime/helpers/esm/unsupportedIterableToArray\";\nimport nonIterableRest from \"@babel/runtime/helpers/esm/nonIterableRest\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","module.exports = require(\"regenerator-runtime\");\n","import arrayLikeToArray from \"@babel/runtime/helpers/esm/arrayLikeToArray\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","import unsupportedIterableToArray from \"@babel/runtime/helpers/esm/unsupportedIterableToArray\";\nexport default function _createForOfIteratorHelper(o, allowArrayLike) {\n var it;\n\n if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) {\n if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = o[Symbol.iterator]();\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-reconciler-constants.production.min.js');\n} else {\n module.exports = require('./cjs/react-reconciler-constants.development.js');\n}\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","'use strict';\n\nvar m = require('react-dom');\nif (process.env.NODE_ENV === 'production') {\n exports.createRoot = m.createRoot;\n exports.hydrateRoot = m.hydrateRoot;\n} else {\n var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n exports.createRoot = function(c, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.createRoot(c, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n exports.hydrateRoot = function(c, h, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.hydrateRoot(c, h, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-reconciler.production.min.js');\n} else {\n module.exports = require('./cjs/react-reconciler.development.js');\n}\n","/**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=Symbol.for(\"react.element\"),n=Symbol.for(\"react.portal\"),p=Symbol.for(\"react.fragment\"),q=Symbol.for(\"react.strict_mode\"),r=Symbol.for(\"react.profiler\"),t=Symbol.for(\"react.provider\"),u=Symbol.for(\"react.context\"),v=Symbol.for(\"react.forward_ref\"),w=Symbol.for(\"react.suspense\"),x=Symbol.for(\"react.memo\"),y=Symbol.for(\"react.lazy\"),z=Symbol.iterator;function A(a){if(null===a||\"object\"!==typeof a)return null;a=z&&a[z]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}\nvar B={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function E(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}E.prototype.isReactComponent={};\nE.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,a,b,\"setState\")};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};function F(){}F.prototype=E.prototype;function G(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}var H=G.prototype=new F;\nH.constructor=G;C(H,E.prototype);H.isPureReactComponent=!0;var I=Array.isArray,J=Object.prototype.hasOwnProperty,K={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,e){var d,c={},k=null,h=null;if(null!=b)for(d in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)J.call(b,d)&&!L.hasOwnProperty(d)&&(c[d]=b[d]);var g=arguments.length-2;if(1===g)c.children=e;else if(1b}return!1}function v(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var z={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){z[a]=new v(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];z[b]=new v(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new v(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new v(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){z[a]=new v(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new v(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new v(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new v(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new v(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function sa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(ra,\nsa);z[b]=new v(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;if(null!==e?0!==e.type:d||!(2h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"\")&&(k=k.replace(\"\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{Na=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Ma(a):\"\"}\nfunction Pa(a){switch(a.tag){case 5:return Ma(a.type);case 16:return Ma(\"Lazy\");case 13:return Ma(\"Suspense\");case 19:return Ma(\"SuspenseList\");case 0:case 2:case 15:return a=Oa(a.type,!1),a;case 11:return a=Oa(a.type.render,!1),a;case 1:return a=Oa(a.type,!0),a;default:return\"\"}}\nfunction Qa(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ya:return\"Fragment\";case wa:return\"Portal\";case Aa:return\"Profiler\";case za:return\"StrictMode\";case Ea:return\"Suspense\";case Fa:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ca:return(a.displayName||\"Context\")+\".Consumer\";case Ba:return(a._context.displayName||\"Context\")+\".Provider\";case Da:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Ga:return b=a.displayName||null,null!==b?b:Qa(a.type)||\"Memo\";case Ha:b=a._payload;a=a._init;try{return Qa(a(b))}catch(c){}}return null}\nfunction Ra(a){var b=a.type;switch(a.tag){case 24:return\"Cache\";case 9:return(b.displayName||\"Context\")+\".Consumer\";case 10:return(b._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return a=b.render,a=a.displayName||a.name||\"\",b.displayName||(\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return b;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Qa(b);case 8:return b===za?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";\ncase 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof b)return b.displayName||b.name||null;if(\"string\"===typeof b)return b}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return A({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function ab(a,b){b=b.checked;null!=b&&ta(a,\"checked\",b,!1)}\nfunction bb(a,b){ab(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?cb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&cb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction db(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction cb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var eb=Array.isArray;\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e\"+b.valueOf().toString()+\"\";for(b=mb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ob(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,\nzoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(pb).forEach(function(a){qb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);pb[b]=pb[a]})});function rb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||pb.hasOwnProperty(a)&&pb[a]?(\"\"+b).trim():b+\"px\"}\nfunction sb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=rb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var tb=A({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction ub(a,b){if(b){if(tb[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(p(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(p(60));if(\"object\"!==typeof b.dangerouslySetInnerHTML||!(\"__html\"in b.dangerouslySetInnerHTML))throw Error(p(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(p(62));}}\nfunction vb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var wb=null;function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(p(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a>>=0;return 0===a?32:31-(pc(a)/qc|0)|0}var rc=64,sc=4194304;\nfunction tc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function uc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=tc(h):(f&=g,0!==f&&(d=tc(f)))}else g=c&~e,0!==g?d=tc(g):0!==f&&(d=tc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0c;c++)b.push(a);return b}\nfunction Ac(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-oc(b);a[b]=c}function Bc(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Je(c)}}function Le(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Le(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Me(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Ne(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Oe(a){var b=Me(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Le(c.ownerDocument.documentElement,c)){if(null!==d&&Ne(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ke(c,f);var g=Ke(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Ne(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Ie(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0Tf||(a.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(a,b){Tf++;Sf[Tf]=a.current;a.current=b}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(a,b){var c=a.type.contextTypes;if(!c)return Vf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}\nfunction Zf(a){a=a.childContextTypes;return null!==a&&void 0!==a}function $f(){E(Wf);E(H)}function ag(a,b,c){if(H.current!==Vf)throw Error(p(168));G(H,b);G(Wf,c)}function bg(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Ra(a)||\"Unknown\",e));return A({},c,d)}\nfunction cg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Vf;Xf=H.current;G(H,a);G(Wf,Wf.current);return!0}function dg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=bg(a,b,Xf),d.__reactInternalMemoizedMergedChildContext=a,E(Wf),E(H),G(H,a)):E(Wf);G(Wf,c)}var eg=null,fg=!1,gg=!1;function hg(a){null===eg?eg=[a]:eg.push(a)}function ig(a){fg=!0;hg(a)}\nfunction jg(){if(!gg&&null!==eg){gg=!0;var a=0,b=C;try{var c=eg;for(C=1;a>=g;e-=g;rg=1<<32-oc(b)+e|c<w?(x=u,u=null):x=u.sibling;var n=r(e,u,h[w],k);if(null===n){null===u&&(u=x);break}a&&u&&null===n.alternate&&b(e,u);g=f(n,g,w);null===m?l=n:m.sibling=n;m=n;u=x}if(w===h.length)return c(e,u),I&&tg(e,w),l;if(null===u){for(;ww?(x=m,m=null):x=m.sibling;var t=r(e,m,n.value,k);if(null===t){null===m&&(m=x);break}a&&m&&null===t.alternate&&b(e,m);g=f(t,g,w);null===u?l=t:u.sibling=t;u=t;m=x}if(n.done)return c(e,\nm),I&&tg(e,w),l;if(null===m){for(;!n.done;w++,n=h.next())n=q(e,n.value,k),null!==n&&(g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);I&&tg(e,w);return l}for(m=d(e,m);!n.done;w++,n=h.next())n=y(m,e,w,n.value,k),null!==n&&(a&&null!==n.alternate&&m.delete(null===n.key?w:n.key),g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);a&&m.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function J(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===ya&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case va:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===ya){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===Ha&&uh(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=sh(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===ya?(d=Ah(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=yh(f.type,f.key,f.props,null,a.mode,h),h.ref=sh(a,d,f),h.return=a,a=h)}return g(a);case wa:a:{for(l=f.key;null!==\nd;){if(d.key===l)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=zh(f,a.mode,h);d.return=a;a=d}return g(a);case Ha:return l=f._init,J(a,d,l(f._payload),h)}if(eb(f))return n(a,d,f,h);if(Ka(f))return t(a,d,f,h);th(a,f)}return\"string\"===typeof f&&\"\"!==f||\"number\"===typeof f?(f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):\n(c(a,d),d=xh(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var Bh=vh(!0),Ch=vh(!1),Dh={},Eh=Uf(Dh),Fh=Uf(Dh),Gh=Uf(Dh);function Hh(a){if(a===Dh)throw Error(p(174));return a}function Ih(a,b){G(Gh,b);G(Fh,a);G(Eh,Dh);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:lb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=lb(b,a)}E(Eh);G(Eh,b)}function Jh(){E(Eh);E(Fh);E(Gh)}\nfunction Kh(a){Hh(Gh.current);var b=Hh(Eh.current);var c=lb(b,a.type);b!==c&&(G(Fh,a),G(Eh,c))}function Lh(a){Fh.current===a&&(E(Eh),E(Fh))}var M=Uf(0);\nfunction Mh(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&128))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var Nh=[];\nfunction Oh(){for(var a=0;ac?c:4;a(!0);var d=Qh.transition;Qh.transition={};try{a(!1),b()}finally{C=c,Qh.transition=d}}function Fi(){return di().memoizedState}\nfunction Gi(a,b,c){var d=lh(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Hi(a))Ii(b,c);else if(c=Yg(a,b,c,d),null!==c){var e=L();mh(c,a,d,e);Ji(c,b,d)}}\nfunction ri(a,b,c){var d=lh(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Hi(a))Ii(b,e);else{var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(He(h,g)){var k=b.interleaved;null===k?(e.next=e,Xg(b)):(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(l){}finally{}c=Yg(a,b,e,d);null!==c&&(e=L(),mh(c,a,d,e),Ji(c,b,d))}}\nfunction Hi(a){var b=a.alternate;return a===N||null!==b&&b===N}function Ii(a,b){Th=Sh=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Ji(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nvar ai={readContext:Vg,useCallback:Q,useContext:Q,useEffect:Q,useImperativeHandle:Q,useInsertionEffect:Q,useLayoutEffect:Q,useMemo:Q,useReducer:Q,useRef:Q,useState:Q,useDebugValue:Q,useDeferredValue:Q,useTransition:Q,useMutableSource:Q,useSyncExternalStore:Q,useId:Q,unstable_isNewReconciler:!1},Yh={readContext:Vg,useCallback:function(a,b){ci().memoizedState=[a,void 0===b?null:b];return a},useContext:Vg,useEffect:vi,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ti(4194308,\n4,yi.bind(null,b,a),c)},useLayoutEffect:function(a,b){return ti(4194308,4,a,b)},useInsertionEffect:function(a,b){return ti(4,2,a,b)},useMemo:function(a,b){var c=ci();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=ci();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};d.queue=a;a=a.dispatch=Gi.bind(null,N,a);return[d.memoizedState,a]},useRef:function(a){var b=\nci();a={current:a};return b.memoizedState=a},useState:qi,useDebugValue:Ai,useDeferredValue:function(a){return ci().memoizedState=a},useTransition:function(){var a=qi(!1),b=a[0];a=Ei.bind(null,a[1]);ci().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=N,e=ci();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===R)throw Error(p(349));0!==(Rh&30)||ni(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;vi(ki.bind(null,d,\nf,a),[a]);d.flags|=2048;li(9,mi.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=ci(),b=R.identifierPrefix;if(I){var c=sg;var d=rg;c=(d&~(1<<32-oc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Uh++;0\\x3c/script>\",a=a.removeChild(a.firstChild)):\n\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[Of]=b;a[Pf]=d;Aj(a,b,!1,!1);b.stateNode=a;a:{g=vb(c,d);switch(c){case \"dialog\":D(\"cancel\",a);D(\"close\",a);e=d;break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;eHj&&(b.flags|=128,d=!0,Ej(f,!1),b.lanes=4194304)}else{if(!d)if(a=Mh(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Ej(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return S(b),null}else 2*B()-f.renderingStartTime>Hj&&1073741824!==c&&(b.flags|=128,d=!0,Ej(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,null!==c?c.sibling=g:b.child=g,f.last=g)}if(null!==f.tail)return b=f.tail,f.rendering=\nb,f.tail=b.sibling,f.renderingStartTime=B(),b.sibling=null,c=M.current,G(M,d?c&1|2:c&1),b;S(b);return null;case 22:case 23:return Ij(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(gj&1073741824)&&(S(b),b.subtreeFlags&6&&(b.flags|=8192)):S(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag));}\nfunction Jj(a,b){wg(b);switch(b.tag){case 1:return Zf(b.type)&&$f(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return Jh(),E(Wf),E(H),Oh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Lh(b),null;case 13:E(M);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(p(340));Ig()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(M),null;case 4:return Jh(),null;case 10:return Rg(b.type._context),null;case 22:case 23:return Ij(),\nnull;case 24:return null;default:return null}}var Kj=!1,U=!1,Lj=\"function\"===typeof WeakSet?WeakSet:Set,V=null;function Mj(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{c(null)}catch(d){W(a,b,d)}else c.current=null}function Nj(a,b,c){try{c()}catch(d){W(a,b,d)}}var Oj=!1;\nfunction Pj(a,b){Cf=dd;a=Me();if(Ne(a)){if(\"selectionStart\"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&0!==d.rangeCount){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch(F){c=null;break a}var g=0,h=-1,k=-1,l=0,m=0,q=a,r=null;b:for(;;){for(var y;;){q!==c||0!==e&&3!==q.nodeType||(h=g+e);q!==f||0!==d&&3!==q.nodeType||(k=g+d);3===q.nodeType&&(g+=\nq.nodeValue.length);if(null===(y=q.firstChild))break;r=q;q=y}for(;;){if(q===a)break b;r===c&&++l===e&&(h=g);r===f&&++m===d&&(k=g);if(null!==(y=q.nextSibling))break;q=r;r=q.parentNode}q=y}c=-1===h||-1===k?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Df={focusedElem:a,selectionRange:c};dd=!1;for(V=b;null!==V;)if(b=V,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,V=a;else for(;null!==V;){b=V;try{var n=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;\ncase 1:if(null!==n){var t=n.memoizedProps,J=n.memoizedState,x=b.stateNode,w=x.getSnapshotBeforeUpdate(b.elementType===b.type?t:Lg(b.type,t),J);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var u=b.stateNode.containerInfo;1===u.nodeType?u.textContent=\"\":9===u.nodeType&&u.documentElement&&u.removeChild(u.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163));}}catch(F){W(b,b.return,F)}a=b.sibling;if(null!==a){a.return=b.return;V=a;break}V=b.return}n=Oj;Oj=!1;return n}\nfunction Qj(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&Nj(b,c,f)}e=e.next}while(e!==d)}}function Rj(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Sj(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}\"function\"===typeof b?b(a):b.current=a}}\nfunction Tj(a){var b=a.alternate;null!==b&&(a.alternate=null,Tj(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[Of],delete b[Pf],delete b[of],delete b[Qf],delete b[Rf]));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Uj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Vj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Uj(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}\nfunction Wj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=Bf));else if(4!==d&&(a=a.child,null!==a))for(Wj(a,b,c),a=a.sibling;null!==a;)Wj(a,b,c),a=a.sibling}\nfunction Xj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Xj(a,b,c),a=a.sibling;null!==a;)Xj(a,b,c),a=a.sibling}var X=null,Yj=!1;function Zj(a,b,c){for(c=c.child;null!==c;)ak(a,b,c),c=c.sibling}\nfunction ak(a,b,c){if(lc&&\"function\"===typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,c)}catch(h){}switch(c.tag){case 5:U||Mj(c,b);case 6:var d=X,e=Yj;X=null;Zj(a,b,c);X=d;Yj=e;null!==X&&(Yj?(a=X,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:null!==X&&(Yj?(a=X,c=c.stateNode,8===a.nodeType?Kf(a.parentNode,c):1===a.nodeType&&Kf(a,c),bd(a)):Kf(X,c.stateNode));break;case 4:d=X;e=Yj;X=c.stateNode.containerInfo;Yj=!0;\nZj(a,b,c);X=d;Yj=e;break;case 0:case 11:case 14:case 15:if(!U&&(d=c.updateQueue,null!==d&&(d=d.lastEffect,null!==d))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag;void 0!==g&&(0!==(f&2)?Nj(c,b,g):0!==(f&4)&&Nj(c,b,g));e=e.next}while(e!==d)}Zj(a,b,c);break;case 1:if(!U&&(Mj(c,b),d=c.stateNode,\"function\"===typeof d.componentWillUnmount))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){W(c,b,h)}Zj(a,b,c);break;case 21:Zj(a,b,c);break;case 22:c.mode&1?(U=(d=U)||null!==\nc.memoizedState,Zj(a,b,c),U=d):Zj(a,b,c);break;default:Zj(a,b,c)}}function bk(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Lj);b.forEach(function(b){var d=ck.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction dk(a,b){var c=b.deletions;if(null!==c)for(var d=0;de&&(e=g);d&=~f}d=e;d=B()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*mk(d/1960))-d;if(10a?16:a;if(null===xk)var d=!1;else{a=xk;xk=null;yk=0;if(0!==(K&6))throw Error(p(331));var e=K;K|=4;for(V=a.current;null!==V;){var f=V,g=f.child;if(0!==(V.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;kB()-gk?Lk(a,0):sk|=c);Ek(a,b)}function Zk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=sc,sc<<=1,0===(sc&130023424)&&(sc=4194304)));var c=L();a=Zg(a,b);null!==a&&(Ac(a,b,c),Ek(a,c))}function vj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Zk(a,c)}\nfunction ck(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314));}null!==d&&d.delete(b);Zk(a,c)}var Wk;\nWk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Wf.current)Ug=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return Ug=!1,zj(a,b,c);Ug=0!==(a.flags&131072)?!0:!1}else Ug=!1,I&&0!==(b.flags&1048576)&&ug(b,ng,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;jj(a,b);a=b.pendingProps;var e=Yf(b,H.current);Tg(b,c);e=Xh(null,b,d,a,e,c);var f=bi();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?(b.tag=1,b.memoizedState=null,b.updateQueue=\nnull,Zf(d)?(f=!0,cg(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,ah(b),e.updater=nh,b.stateNode=e,e._reactInternals=b,rh(b,d,a,c),b=kj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&vg(b),Yi(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{jj(a,b);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=$k(d);a=Lg(d,a);switch(e){case 0:b=dj(null,b,d,a,c);break a;case 1:b=ij(null,b,d,a,c);break a;case 11:b=Zi(null,b,d,a,c);break a;case 14:b=aj(null,b,d,Lg(d.type,a),c);break a}throw Error(p(306,\nd,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),dj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),ij(a,b,d,e,c);case 3:a:{lj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;bh(a,b);gh(b,d,null,c);var g=b.memoizedState;d=g.element;if(f.isDehydrated)if(f={element:d,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=\nf,b.memoizedState=f,b.flags&256){e=Ki(Error(p(423)),b);b=mj(a,b,d,c,e);break a}else if(d!==e){e=Ki(Error(p(424)),b);b=mj(a,b,d,c,e);break a}else for(yg=Lf(b.stateNode.containerInfo.firstChild),xg=b,I=!0,zg=null,c=Ch(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{Ig();if(d===e){b=$i(a,b,c);break a}Yi(a,b,d,c)}b=b.child}return b;case 5:return Kh(b),null===a&&Eg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,Ef(d,e)?g=null:null!==f&&Ef(d,f)&&(b.flags|=32),\nhj(a,b),Yi(a,b,g,c),b.child;case 6:return null===a&&Eg(b),null;case 13:return pj(a,b,c);case 4:return Ih(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Bh(b,null,d,c):Yi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),Zi(a,b,d,e,c);case 7:return Yi(a,b,b.pendingProps,c),b.child;case 8:return Yi(a,b,b.pendingProps.children,c),b.child;case 12:return Yi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;f=b.memoizedProps;\ng=e.value;G(Mg,d._currentValue);d._currentValue=g;if(null!==f)if(He(f.value,g)){if(f.children===e.children&&!Wf.current){b=$i(a,b,c);break a}}else for(f=b.child,null!==f&&(f.return=b);null!==f;){var h=f.dependencies;if(null!==h){g=f.child;for(var k=h.firstContext;null!==k;){if(k.context===d){if(1===f.tag){k=ch(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var m=l.pending;null===m?k.next=k:(k.next=m.next,m.next=k);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=c);Sg(f.return,\nc,b);h.lanes|=c;break}k=k.next}}else if(10===f.tag)g=f.type===b.type?null:f.child;else if(18===f.tag){g=f.return;if(null===g)throw Error(p(341));g.lanes|=c;h=g.alternate;null!==h&&(h.lanes|=c);Sg(g,c,b);g=f.sibling}else g=f.child;if(null!==g)g.return=f;else for(g=f;null!==g;){if(g===b){g=null;break}f=g.sibling;if(null!==f){f.return=g.return;g=f;break}g=g.return}f=g}Yi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,Tg(b,c),e=Vg(e),d=d(e),b.flags|=1,Yi(a,b,d,c),\nb.child;case 14:return d=b.type,e=Lg(d,b.pendingProps),e=Lg(d.type,e),aj(a,b,d,e,c);case 15:return cj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),jj(a,b),b.tag=1,Zf(d)?(a=!0,cg(b)):a=!1,Tg(b,c),ph(b,d,e),rh(b,d,e,c),kj(null,b,d,!0,a,c);case 19:return yj(a,b,c);case 22:return ej(a,b,c)}throw Error(p(156,b.tag));};function Gk(a,b){return ac(a,b)}\nfunction al(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null}function Bg(a,b,c,d){return new al(a,b,c,d)}function bj(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction $k(a){if(\"function\"===typeof a)return bj(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Da)return 11;if(a===Ga)return 14}return 2}\nfunction wh(a,b){var c=a.alternate;null===c?(c=Bg(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction yh(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)bj(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ya:return Ah(c.children,e,f,b);case za:g=8;e|=8;break;case Aa:return a=Bg(12,c,b,e|2),a.elementType=Aa,a.lanes=f,a;case Ea:return a=Bg(13,c,b,e),a.elementType=Ea,a.lanes=f,a;case Fa:return a=Bg(19,c,b,e),a.elementType=Fa,a.lanes=f,a;case Ia:return qj(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case Ba:g=10;break a;case Ca:g=9;break a;case Da:g=11;\nbreak a;case Ga:g=14;break a;case Ha:g=16;d=null;break a}throw Error(p(130,null==a?a:typeof a,\"\"));}b=Bg(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Ah(a,b,c,d){a=Bg(7,a,d,b);a.lanes=c;return a}function qj(a,b,c,d){a=Bg(22,a,d,b);a.elementType=Ia;a.lanes=c;a.stateNode={isHidden:!1};return a}function xh(a,b,c){a=Bg(6,a,null,b);a.lanes=c;return a}\nfunction zh(a,b,c){b=Bg(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction bl(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority=0;this.eventTimes=zc(0);this.expirationTimes=zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=zc(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=\nnull}function cl(a,b,c,d,e,f,g,h,k){a=new bl(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=Bg(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null};ah(f);return a}function dl(a,b,c){var d=3>>1,e=a[d];if(0>>1;dg(C,c))ng(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(ng(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Qa||125d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","var scope = (typeof global !== \"undefined\" && global) ||\n (typeof self !== \"undefined\" && self) ||\n window;\nvar apply = Function.prototype.apply;\n\n// DOM APIs, for completeness\n\nexports.setTimeout = function() {\n return new Timeout(apply.call(setTimeout, scope, arguments), clearTimeout);\n};\nexports.setInterval = function() {\n return new Timeout(apply.call(setInterval, scope, arguments), clearInterval);\n};\nexports.clearTimeout =\nexports.clearInterval = function(timeout) {\n if (timeout) {\n timeout.close();\n }\n};\n\nfunction Timeout(id, clearFn) {\n this._id = id;\n this._clearFn = clearFn;\n}\nTimeout.prototype.unref = Timeout.prototype.ref = function() {};\nTimeout.prototype.close = function() {\n this._clearFn.call(scope, this._id);\n};\n\n// Does not start the time, just sets up the members needed.\nexports.enroll = function(item, msecs) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = msecs;\n};\n\nexports.unenroll = function(item) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = -1;\n};\n\nexports._unrefActive = exports.active = function(item) {\n clearTimeout(item._idleTimeoutId);\n\n var msecs = item._idleTimeout;\n if (msecs >= 0) {\n item._idleTimeoutId = setTimeout(function onTimeout() {\n if (item._onTimeout)\n item._onTimeout();\n }, msecs);\n }\n};\n\n// setimmediate attaches itself to the global object\nrequire(\"setimmediate\");\n// On some exotic environments, it's not clear which object `setimmediate` was\n// able to install onto. Search each possibility in the same order as the\n// `setimmediate` library.\nexports.setImmediate = (typeof self !== \"undefined\" && self.setImmediate) ||\n (typeof global !== \"undefined\" && global.setImmediate) ||\n (this && this.setImmediate);\nexports.clearImmediate = (typeof self !== \"undefined\" && self.clearImmediate) ||\n (typeof global !== \"undefined\" && global.clearImmediate) ||\n (this && this.clearImmediate);\n","(function (global, undefined) {\n \"use strict\";\n\n if (global.setImmediate) {\n return;\n }\n\n var nextHandle = 1; // Spec says greater than zero\n var tasksByHandle = {};\n var currentlyRunningATask = false;\n var doc = global.document;\n var registerImmediate;\n\n function setImmediate(callback) {\n // Callback can either be a function or a string\n if (typeof callback !== \"function\") {\n callback = new Function(\"\" + callback);\n }\n // Copy function arguments\n var args = new Array(arguments.length - 1);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i + 1];\n }\n // Store and register the task\n var task = { callback: callback, args: args };\n tasksByHandle[nextHandle] = task;\n registerImmediate(nextHandle);\n return nextHandle++;\n }\n\n function clearImmediate(handle) {\n delete tasksByHandle[handle];\n }\n\n function run(task) {\n var callback = task.callback;\n var args = task.args;\n switch (args.length) {\n case 0:\n callback();\n break;\n case 1:\n callback(args[0]);\n break;\n case 2:\n callback(args[0], args[1]);\n break;\n case 3:\n callback(args[0], args[1], args[2]);\n break;\n default:\n callback.apply(undefined, args);\n break;\n }\n }\n\n function runIfPresent(handle) {\n // From the spec: \"Wait until any invocations of this algorithm started before this one have completed.\"\n // So if we're currently running a task, we'll need to delay this invocation.\n if (currentlyRunningATask) {\n // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a\n // \"too much recursion\" error.\n setTimeout(runIfPresent, 0, handle);\n } else {\n var task = tasksByHandle[handle];\n if (task) {\n currentlyRunningATask = true;\n try {\n run(task);\n } finally {\n clearImmediate(handle);\n currentlyRunningATask = false;\n }\n }\n }\n }\n\n function installNextTickImplementation() {\n registerImmediate = function(handle) {\n process.nextTick(function () { runIfPresent(handle); });\n };\n }\n\n function canUsePostMessage() {\n // The test against `importScripts` prevents this implementation from being installed inside a web worker,\n // where `global.postMessage` means something completely different and can't be used for this purpose.\n if (global.postMessage && !global.importScripts) {\n var postMessageIsAsynchronous = true;\n var oldOnMessage = global.onmessage;\n global.onmessage = function() {\n postMessageIsAsynchronous = false;\n };\n global.postMessage(\"\", \"*\");\n global.onmessage = oldOnMessage;\n return postMessageIsAsynchronous;\n }\n }\n\n function installPostMessageImplementation() {\n // Installs an event handler on `global` for the `message` event: see\n // * https://developer.mozilla.org/en/DOM/window.postMessage\n // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages\n\n var messagePrefix = \"setImmediate$\" + Math.random() + \"$\";\n var onGlobalMessage = function(event) {\n if (event.source === global &&\n typeof event.data === \"string\" &&\n event.data.indexOf(messagePrefix) === 0) {\n runIfPresent(+event.data.slice(messagePrefix.length));\n }\n };\n\n if (global.addEventListener) {\n global.addEventListener(\"message\", onGlobalMessage, false);\n } else {\n global.attachEvent(\"onmessage\", onGlobalMessage);\n }\n\n registerImmediate = function(handle) {\n global.postMessage(messagePrefix + handle, \"*\");\n };\n }\n\n function installMessageChannelImplementation() {\n var channel = new MessageChannel();\n channel.port1.onmessage = function(event) {\n var handle = event.data;\n runIfPresent(handle);\n };\n\n registerImmediate = function(handle) {\n channel.port2.postMessage(handle);\n };\n }\n\n function installReadyStateChangeImplementation() {\n var html = doc.documentElement;\n registerImmediate = function(handle) {\n // Create a