{"version":3,"sources":["webpack://mermaid/webpack/universalModuleDefinition","webpack://mermaid/webpack/bootstrap","webpack://mermaid/./node_modules/path-browserify/index.js","webpack://mermaid/./node_modules/process/browser.js","webpack://mermaid/(webpack)/buildin/module.js","webpack://mermaid/./src/config.js","webpack://mermaid/./src/dagre-wrapper/clusters.js","webpack://mermaid/./src/dagre-wrapper/createLabel.js","webpack://mermaid/./src/dagre-wrapper/edges.js","webpack://mermaid/./src/dagre-wrapper/index.js","webpack://mermaid/./src/dagre-wrapper/intersect/index.js","webpack://mermaid/./src/dagre-wrapper/intersect/intersect-circle.js","webpack://mermaid/./src/dagre-wrapper/intersect/intersect-ellipse.js","webpack://mermaid/./src/dagre-wrapper/intersect/intersect-line.js","webpack://mermaid/./src/dagre-wrapper/intersect/intersect-node.js","webpack://mermaid/./src/dagre-wrapper/intersect/intersect-polygon.js","webpack://mermaid/./src/dagre-wrapper/intersect/intersect-rect.js","webpack://mermaid/./src/dagre-wrapper/markers.js","webpack://mermaid/./src/dagre-wrapper/mermaid-graphlib.js","webpack://mermaid/./src/dagre-wrapper/nodes.js","webpack://mermaid/./src/dagre-wrapper/shapes/note.js","webpack://mermaid/./src/dagre-wrapper/shapes/util.js","webpack://mermaid/./src/defaultConfig.js","webpack://mermaid/./src/diagrams/class/classDb.js","webpack://mermaid/./src/diagrams/class/classRenderer-v2.js","webpack://mermaid/./src/diagrams/class/classRenderer.js","webpack://mermaid/./src/diagrams/class/parser/classDiagram.jison","webpack://mermaid/./src/diagrams/class/styles.js","webpack://mermaid/./src/diagrams/class/svgDraw.js","webpack://mermaid/./src/diagrams/common/common.js","webpack://mermaid/./src/diagrams/er/erDb.js","webpack://mermaid/./src/diagrams/er/erMarkers.js","webpack://mermaid/./src/diagrams/er/erRenderer.js","webpack://mermaid/./src/diagrams/er/parser/erDiagram.jison","webpack://mermaid/./src/diagrams/er/styles.js","webpack://mermaid/./src/diagrams/flowchart/flowChartShapes.js","webpack://mermaid/./src/diagrams/flowchart/flowDb.js","webpack://mermaid/./src/diagrams/flowchart/flowRenderer-v2.js","webpack://mermaid/./src/diagrams/flowchart/flowRenderer.js","webpack://mermaid/./src/diagrams/flowchart/parser/flow.jison","webpack://mermaid/./src/diagrams/flowchart/styles.js","webpack://mermaid/./src/diagrams/gantt/ganttDb.js","webpack://mermaid/./src/diagrams/gantt/ganttRenderer.js","webpack://mermaid/./src/diagrams/gantt/parser/gantt.jison","webpack://mermaid/./src/diagrams/gantt/styles.js","webpack://mermaid/./src/diagrams/git/gitGraphAst.js","webpack://mermaid/./src/diagrams/git/gitGraphRenderer.js","webpack://mermaid/./src/diagrams/git/parser/gitGraph.jison","webpack://mermaid/./src/diagrams/git/styles.js","webpack://mermaid/./src/diagrams/info/infoDb.js","webpack://mermaid/./src/diagrams/info/infoRenderer.js","webpack://mermaid/./src/diagrams/info/parser/info.jison","webpack://mermaid/./src/diagrams/info/styles.js","webpack://mermaid/./src/diagrams/pie/parser/pie.jison","webpack://mermaid/./src/diagrams/pie/pieDb.js","webpack://mermaid/./src/diagrams/pie/pieRenderer.js","webpack://mermaid/./src/diagrams/pie/styles.js","webpack://mermaid/./src/diagrams/requirement/parser/requirementDiagram.jison","webpack://mermaid/./src/diagrams/requirement/requirementDb.js","webpack://mermaid/./src/diagrams/requirement/requirementMarkers.js","webpack://mermaid/./src/diagrams/requirement/requirementRenderer.js","webpack://mermaid/./src/diagrams/requirement/styles.js","webpack://mermaid/./src/diagrams/sequence/parser/sequenceDiagram.jison","webpack://mermaid/./src/diagrams/sequence/sequenceDb.js","webpack://mermaid/./src/diagrams/sequence/sequenceRenderer.js","webpack://mermaid/./src/diagrams/sequence/styles.js","webpack://mermaid/./src/diagrams/sequence/svgDraw.js","webpack://mermaid/./src/diagrams/state/id-cache.js","webpack://mermaid/./src/diagrams/state/parser/stateDiagram.jison","webpack://mermaid/./src/diagrams/state/shapes.js","webpack://mermaid/./src/diagrams/state/stateDb.js","webpack://mermaid/./src/diagrams/state/stateRenderer-v2.js","webpack://mermaid/./src/diagrams/state/stateRenderer.js","webpack://mermaid/./src/diagrams/state/styles.js","webpack://mermaid/./src/diagrams/user-journey/journeyDb.js","webpack://mermaid/./src/diagrams/user-journey/journeyRenderer.js","webpack://mermaid/./src/diagrams/user-journey/parser/journey.jison","webpack://mermaid/./src/diagrams/user-journey/styles.js","webpack://mermaid/./src/diagrams/user-journey/svgDraw.js","webpack://mermaid/./src/errorRenderer.js","webpack://mermaid/./src/logger.js","webpack://mermaid/./src/mermaid.js","webpack://mermaid/./src/mermaidAPI.js","webpack://mermaid/./src/styles.js","webpack://mermaid/./src/themes/index.js","webpack://mermaid/./src/themes/theme-base.js","webpack://mermaid/./src/themes/theme-dark.js","webpack://mermaid/./src/themes/theme-default.js","webpack://mermaid/./src/themes/theme-forest.js","webpack://mermaid/./src/themes/theme-helpers.js","webpack://mermaid/./src/themes/theme-neutral.js","webpack://mermaid/./src/utils.js","webpack://mermaid/external \"@braintree/sanitize-url\"","webpack://mermaid/external \"d3\"","webpack://mermaid/external \"dagre\"","webpack://mermaid/external \"dagre-d3\"","webpack://mermaid/external \"dagre-d3/lib/label/add-html-label.js\"","webpack://mermaid/external \"entity-decode/browser\"","webpack://mermaid/external \"graphlib\"","webpack://mermaid/external \"khroma\"","webpack://mermaid/external \"moment-mini\"","webpack://mermaid/external \"stylis\""],"names":["defaultConfig","Object","freeze","config","siteConfig","assignWithDepth","configFromInitialize","directives","currentConfig","updateCurrentConfig","siteCfg","_directives","cfg","sumOfDirectives","i","length","d","sanitize","theme","tmpConfigFromInitialize","themeVariables","getThemeVariables","setSiteConfig","conf","saveConfigFromInitilize","updateSiteConfig","getSiteConfig","setConfig","getConfig","options","keys","secure","forEach","key","log","debug","indexOf","addDirective","directive","fontFamily","push","reset","rect","parent","node","trace","id","shapeSvg","insert","attr","class","label","text","appendChild","createLabel","labelText","labelStyle","undefined","bbox","getBBox","flowchart","htmlLabels","div","children","dv","select","getBoundingClientRect","width","height","padding","halfPadding","JSON","stringify","style","rx","ry","x","y","rectBox","intersect","point","intersectRect","noteGroup","roundedWithTitle","classes","innerRect","append","divider","shapes","clusterElems","insertCluster","elem","shape","getClusterTitleWidth","removeChild","clear","positionCluster","info","el","applyStyle","dom","styleFn","addHtmlLabel","fo","document","createElementNS","labelClass","isNode","html","_vertexText","isTitle","vertexText","replace","s","vertexNode","svgLabel","setAttribute","rows","split","Array","isArray","j","tspan","setAttributeNS","textContent","trim","edgeLabels","terminalLabels","insertEdgeLabel","edge","labelElement","edgeLabel","startLabelLeft","startLabelElement","startEdgeLabelLeft","inner","slBox","startLeft","startLabelRight","startEdgeLabelRight","startRight","endLabelLeft","endLabelElement","endEdgeLabelLeft","endLeft","endLabelRight","endEdgeLabelRight","endRight","positionEdgeLabel","paths","path","updatedPath","originalPath","pos","utils","calcLabelPosition","calcTerminalLabelPosition","outsideNode","dx","Math","abs","dy","w","h","intersection","outsidePoint","insidePoint","warn","r","Q","R","q","res","_x","_y","cutPathAtIntersect","_points","boundryNode","points","lastPointOutside","isInside","inter","pointPresent","p","find","e","insertEdge","clusterDb","diagramType","graph","pointsHasChanged","tail","v","head","slice","unshift","toCluster","fromCluster","reverse","lineData","filter","Number","isNaN","curve","curveBasis","lineFunction","line","strokeClasses","thickness","pattern","svgPath","url","state","arrowMarkerAbsolute","window","location","protocol","host","pathname","search","arrowTypeStart","arrowTypeEnd","recursiveRender","_elem","diagramtype","parentCluster","graphlib","json","write","dir","rankdir","nodes","edges","clusters","edgePaths","data","parse","clusterData","setNode","setParent","clusterNode","newEl","updateNodeBounds","setNodeElem","findNonClusterChild","insertNode","name","dagre","layout","sortNodesByHierarchy","positionNode","render","markers","insertMarkers","clearNodes","clearEdges","clearClusters","clearGraphlib","adjustClustersAndEdges","circle","ellipse","polygon","intersectCircle","intersectEllipse","cx","cy","px","py","det","sqrt","intersectLine","p1","p2","q1","q2","a1","a2","b1","b2","c1","c2","r1","r2","r3","r4","denom","offset","num","sameSign","module","exports","intersectNode","intersectPolygon","polyPoints","x1","y1","intersections","minX","POSITIVE_INFINITY","minY","entry","min","left","top","sort","pdx","pdy","distp","qdx","qdy","distq","sx","sy","markerArray","type","markerName","extension","composition","aggregation","dependency","cross","barb","decendants","parents","isDecendant","ancenstorId","edgeInCluster","clusterId","copy","newGraph","rootId","setEdge","error","removeNode","extractDecendants","concat","validate","_id","getAnchorId","externalConnections","depth","d1","d2","removeEdge","extractor","hasChildren","graphSettings","clusterGraph","Graph","multigraph","compound","setGraph","nodesep","ranksep","marginx","marginy","setDefaultEdgeLabel","sorter","result","assign","sorted","question","labelHelper","questionElem","insertPolygonShape","hexagon","f","m","hex","rect_left_inv_arrow","lean_right","lean_left","trapezoid","inv_trapezoid","rect_right_inv_arrow","cylinder","rectWithTitle","domId","innerLine","text2prim","flat","text2","textRows","titleBox","descr","join","stadium","subroutine","start","forkJoin","end","innerCircle","class_box","rowPadding","lineHeight","topLine","bottomLine","maxWidth","maxHeight","labelContainer","verticalPos","hasInterface","classData","annotations","interfaceLabelText","interfaceLabel","interfaceBBox","classTitleString","classTitleLabel","classTitleBBox","classAttributes","members","str","parsedText","parseMember","displayText","lbl","classMethods","methods","diffX","note","fork","nodeElems","link","linkTarget","tooltip","haveCallback","_classes","element","map","themeCSS","maxTextSize","logLevel","securityLevel","startOnLoad","deterministicIds","deterministicIDSeed","diagramPadding","nodeSpacing","rankSpacing","useMaxWidth","defaultRenderer","sequence","activationWidth","diagramMarginX","diagramMarginY","actorMargin","boxMargin","boxTextMargin","noteMargin","messageMargin","messageAlign","mirrorActors","bottomMarginAdj","rightAngles","showSequenceNumbers","actorFontSize","actorFontFamily","actorFontWeight","noteFontSize","noteFontFamily","noteFontWeight","noteAlign","messageFontSize","messageFontFamily","messageFontWeight","wrap","wrapPadding","labelBoxWidth","labelBoxHeight","messageFont","fontSize","fontWeight","noteFont","actorFont","gantt","titleTopMargin","barHeight","barGap","topPadding","rightPadding","leftPadding","gridLineStartPadding","sectionFontSize","numberSectionStyles","axisFormat","topAxis","useWidth","journey","leftMargin","taskFontSize","taskFontFamily","taskMargin","textPlacement","actorColours","sectionFills","sectionColours","git","dividerMargin","sizeUnit","textHeight","titleShift","forkWidth","forkHeight","miniPadding","fontSizeFactor","labelHeight","edgeLengthFactor","compositTitleSize","radius","er","layoutDirection","minEntityWidth","minEntityHeight","entityPadding","stroke","fill","pie","requirement","rect_fill","text_color","rect_border_size","rect_border_color","rect_min_width","rect_min_height","rect_padding","line_height","MERMAID_DOM_ID_PREFIX","relations","classCounter","funs","parseDirective","statement","context","mermaidAPI","splitClassNameAndType","genericType","className","addClass","classId","cssClasses","lookUpDomId","classKeys","setupToolTips","getClass","getClasses","getRelations","addRelation","relation","id1","id2","addAnnotation","annotation","validatedClassName","addMember","member","theClass","memberString","startsWith","endsWith","substring","addMembers","cleanupLabel","substr","setCssClass","ids","match","setTooltip","configApi","common","sanitizeText","setLink","linkStr","target","formatUrl","setClickEvent","functionName","functionArgs","setClickFunc","elemId","argList","item","charAt","querySelector","addEventListener","runFunc","bindFunctions","fun","lineType","LINE","DOTTED_LINE","relationType","AGGREGATION","EXTENSION","COMPOSITION","DEPENDENCY","tooltipElem","_groups","svg","selectAll","on","title","transition","duration","scrollX","right","scrollY","body","scrollTop","classed","parser","yy","classDb","idCache","addClasses","g","vertex","cssClassStr","styles","radious","_shape","addRelations","cnt","defaultStyle","defaultLabelStyle","edgeData","arrowhead","relationTitle1","relationTitle2","getArrowMarker","type1","type2","getStylesFromArray","interpolate","interpolateToCurve","curveLinear","defaultInterpolate","arrowheadStyle","labelpos","labelType","lineBreakRegex","getGraphId","setConf","cnf","drawOld","diagram","isMultiGraph","classDef","svgDraw","drawClass","drawEdge","svgBounds","configureSvgSize","vBox","draw","_label","labels","querySelectorAll","k","dim","insertBefore","firstChild","marker","getStyles","nodeBorder","classText","mainBkg","lineColor","edgeCount","getRelationType","l","labelPosition","p1_card_x","p1_card_y","p2_card_x","p2_card_y","cardinality_1_point","calcCardinalityPosition","cardinality_2_point","bounds","classInfo","isFirst","titleText2","classTitle","titleHeight","membersLine","addTspan","membersBox","methodsLine","method","classBox","rectWidth","childNodes","fieldRegEx","methodRegEx","fieldMatch","methodMatch","buildFieldDisplay","buildMethodDisplay","buildLegacyDisplay","visibility","fieldType","parseGenericTypes","fieldName","err","cssStyle","methodName","parameters","classifier","returnType","parseClassifier","memberText","methodStart","methodEnd","firstChar","textEl","txt","tSpan","cleanedText","getRows","breakToPlaceholder","removeScript","rs","idx","level","placeholderToBreak","hasBreaks","test","splitBreaks","getUrl","useAbsolute","entities","relationships","Cardinality","ZERO_OR_ONE","ZERO_OR_MORE","ONE_OR_MORE","ONLY_ONE","Identification","NON_IDENTIFYING","IDENTIFYING","addEntity","attributes","getEntities","addAttributes","entityName","attribs","entity","attributeName","addRelationship","entA","rolA","entB","rSpec","rel","entityA","roleA","entityB","relSpec","getRelationships","setTitle","getTitle","ERMarkers","ONLY_ONE_START","ONLY_ONE_END","ZERO_OR_ONE_START","ZERO_OR_ONE_END","ONE_OR_MORE_START","ONE_OR_MORE_END","ZERO_OR_MORE_START","ZERO_OR_MORE_END","drawAttributes","groupNode","entityTextNode","heightPadding","widthPadding","attrFontSize","labelBBox","attributeNodes","maxTypeWidth","maxNameWidth","cumulativeHeight","attrNum","attrPrefix","typeNode","attributeType","nameNode","tn","nn","typeBBox","nameBBox","max","bBox","spareWidth","heightOffset","attribStyle","nodePair","alignY","typeRect","parseFloat","drawEntities","svgNode","firstOne","textId","textNode","entityWidth","entityHeight","rectNode","rectBBox","adjustEntities","getEdgeName","addRelationships","relationship","relCnt","drawRelationshipFromLayout","relType","erDb","cardA","erMarkers","cardB","len","getTotalLength","labelPoint","getPointAtLength","labelId","labelNode","erParser","directed","edgesep","firstEntity","tertiaryColor","dagreD3","addToRender","addToRenderV2","addShape","vertexCounter","vertices","subGraphs","subGraphLookup","tooltips","subCount","firstGraphFlag","direction","version","veritceKeys","addVertex","addSingleLink","_start","_end","linktext","addLink","updateLinkInterpolate","positions","interp","updateLink","isSubstringInArray","textStyles","newStyle1","newStyle2","setDirection","setClass","setClickFun","getTooltip","getDirection","getVertices","getEdges","ver","setGen","addSubGraph","list","_title","uniq","a","prims","boolean","number","string","objs","hasOwnProperty","nodeList","apply","subGraph","makeUniq","getPosForId","secCount","posCrossRef","indexNodes2","count","posCount","childPos","getDepthFirstPos","indexNodes","getSubGraphs","firstGraph","destructStartLink","_str","countChar","char","destructEndLink","dots","destructLink","_startStr","startInfo","exists","allSgs","sg","allSubgraphs","lex","addVertices","vert","svgId","classStr","parentNode","flowDb","addEdges","linkIdCnt","defaultStyles","linkIdBase","linkId","linkNameStart","linkNameEnd","minlen","flow","subG","linkNode","Render","flowChartShapes","arrows","none","normal","util","clusterRects","clusterEl","xPos","baseVal","value","yPos","cluster","te","classList","add","nodeTextColor","textColor","titleColor","arrowheadColor","edgeLabelBackground","clusterBkg","clusterBorder","border2","dateFormat","todayMarker","excludes","sections","tasks","currentSection","tags","inclusiveEndDates","lastOrder","taskCnt","lastTask","lastTaskID","rawTasks","setAxisFormat","getAxisFormat","setTodayMarker","getTodayMarker","setDateFormat","enableInclusiveEndDates","endDatesAreInclusive","enableTopAxis","topAxisEnabled","getDateFormat","setExcludes","toLowerCase","getExcludes","addSection","getSections","getTasks","allItemsPricessed","compileTasks","maxDepth","iterationCount","isInvalidDate","date","isoWeekday","format","checkTaskDates","task","manualEndTime","startTime","moment","endTime","renderEndTime","fixTaskDates","toDate","invalid","getStartDate","prevTime","re","afterStatement","exec","latestEndingTask","findTaskById","dt","Date","setHours","mDate","isValid","durationToDate","durationStatement","relativeTime","getEndDate","inclusive","parseId","idStr","compileData","prevTask","dataStr","ds","getTaskTags","endTimeData","parseData","prevTaskId","startData","taskDb","addTask","rawTask","section","processed","raw","taskInfo","active","done","crit","milestone","order","addTaskOrg","newTask","description","compileTask","allProcessed","_linkStr","sanitizeUrl","pushFun","open","callbackFunction","matchFound","t","regex","RegExp","shift","ganttDb","getElementById","parentElement","offsetWidth","taskArray","timeScale","scaleTime","domain","rangeRound","categories","catsUnfiltered","checkUnique","taskCompare","b","taskA","taskB","makeGant","pageWidth","pageHeight","gap","colorScale","scaleLinear","range","interpolateHcl","makeGrid","drawRects","vertLabels","drawToday","theArray","theGap","theTopPad","theSidePad","theBarHeight","theColorScale","enter","rectangles","toString","secNum","taskClass","startX","endX","textWidth","taskType","bottomXAxis","axisBottom","tickSize","tickFormat","timeFormat","call","topXAxis","axisTop","numOccurances","prevGap","getCount","todayG","today","todayLine","arr","hash","getCounts","obj","word","sectionBkgColor","sectionBkgColor2","altSectionBkgColor","ganttFontSize","gridColor","todayLineColor","taskTextDarkColor","taskTextClickableColor","taskTextColor","taskBkgColor","taskBorderColor","taskTextOutsideColor","activeTaskBkgColor","activeTaskBorderColor","doneTaskBorderColor","doneTaskBkgColor","critBorderColor","critBkgColor","commits","branches","master","curBranch","seq","getId","random","isfastforwardable","currentCommit","otherCommit","isReachableFrom","currentSeq","otherSeq","uniqBy","fn","recordMap","create","reduce","out","setOptions","rawOptString","message","getOptions","commit","msg","branch","merge","otherBranch","checkout","commitRef","ref","parentCount","parseInt","upsert","newval","index","splice","prettyPrintCommitHistory","commitArr","c","newCommit","nextCommit","prettyPrint","getCommitsArray","getBranchesAsObjArray","branchArr","getBranches","getCommits","o","getCurrentBranch","getHead","allCommitsDict","branchNum","nodeFillColor","nodeStrokeWidth","nodeStrokeColor","lineStrokeWidth","branchOffset","branchColors","nodeRadius","nodeLabel","apiConfig","svgCreateDefs","svgDrawLine","colorIdx","color","lineGen","round","getElementCoords","coords","ctm","getCTM","xn","yn","svgDrawLineForCommits","fromId","toId","fromBbox","toBbox","lineStart","lineEnd","cloneNode","selector","renderCommitHistory","commitid","numCommits","size","branchName","renderLines","branchColor","lineDrawn","gitGraphParser","db","setMessage","getMessage","setInfo","inf","getInfo","infoParser","cleanupValue","pieParser","pieData","margin","legendRectSize","legendSpacing","sum","scaleOrdinal","schemeSet2","d3pie","dataReady","entries","arcGenerator","arc","innerRadius","outerRadius","toFixed","centroid","legend","horz","latestRequirement","requirements","latestElement","elements","RequirementType","REQUIREMENT","FUNCTIONAL_REQUIREMENT","INTERFACE_REQUIREMENT","PERFORMANCE_REQUIREMENT","PHYSICAL_REQUIREMENT","DESIGN_CONSTRAINT","RiskLevel","LOW_RISK","MED_RISK","HIGH_RISK","VerifyType","VERIFY_ANALYSIS","VERIFY_DEMONSTRATION","VERIFY_INSPECTION","VERIFY_TEST","Relationships","CONTAINS","COPIES","DERIVES","SATISFIES","VERIFIES","REFINES","TRACES","addRequirement","risk","verifyMethod","getRequirements","setNewReqId","setNewReqText","setNewReqRisk","setNewReqVerifyMethod","addElement","docRef","getElements","setNewElementType","setNewElementDocRef","src","dst","req","ReqMarkers","ARROW","insertLineEndings","containsNode","newRectNode","newTitleNode","txts","textStr","yPadding","linePadding","totalY","titleNode","newBodyNode","yStart","currentRow","charLimit","wrappedTxts","currentTextLen","firstPart","lastStr","addEdgeLabel","elementString","requirementDb","drawReqs","reqs","reqName","console","titleNodeInfo","bodyNode","drawElements","els","elName","docref","relationColor","requirementBackground","requirementBorderColor","requirementBorderSize","relationLabelBackground","relationLabelColor","prevActor","actors","messages","notes","titleWrapped","sequenceNumbersEnabled","wrapEnabled","addActor","old","autoWrap","nextActor","activationCount","part","LINETYPE","ACTIVE_START","from","actor","ACTIVE_END","addMessage","idFrom","idTo","answer","to","addSignal","messageType","Error","token","loc","first_line","last_line","first_column","last_column","expected","getMessages","getActors","getActor","getActorKeys","getTitleWrapped","enableSequenceNumbers","setWrap","wrapSetting","parseMessage","SOLID","DOTTED","NOTE","SOLID_CROSS","DOTTED_CROSS","SOLID_OPEN","DOTTED_OPEN","LOOP_START","LOOP_END","ALT_START","ALT_ELSE","ALT_END","OPT_START","OPT_END","PAR_START","PAR_AND","PAR_END","RECT_START","RECT_END","SOLID_POINT","DOTTED_POINT","ARROWTYPE","FILLED","OPEN","PLACEMENT","LEFTOF","RIGHTOF","OVER","addNote","placement","titleWrap","param","signalType","loopText","optText","altText","parText","sequenceDb","startx","stopx","starty","stopy","sequenceItems","activations","models","getHeight","loops","it","acc","actorModel","addLoop","loopModel","msgModel","noteModel","lastActor","lastLoop","lastMessage","lastNote","init","updateVal","val","updateBounds","_self","updateFn","updateItemBounds","n","_startx","_stopx","_starty","_stopy","newActivation","actorRect","stackedSize","actorActivations","anchored","anchorElement","endActivation","lastActorActivationIdx","activation","lastIndexOf","createLoop","newLoop","endLoop","pop","addSectionToLoop","loop","sectionTitles","getVerticalPos","bumpVerticalPos","bump","getBounds","drawNote","getNoteRect","rectElem","drawRect","textObj","getTextObj","anchor","textMargin","valign","textElem","drawText","curr","drawMessage","sequenceIndex","lines","textDims","calculateTextDimensions","totalOffset","lineStarty","fromBounds","toBounds","drawActors","actorKeys","prevWidth","prevMargin","drawActor","activationBounds","actorObj","adjustLoopHeightForWrap","loopWidths","preMargin","postMargin","addLoopFn","heightAdjust","loopWidth","textConf","wrapLabel","maxMessageWidthPerActor","getMaxMessageWidthPerActor","calculateActorMargins","calculateLoopBounds","insertArrowHead","insertArrowCrossHead","insertArrowFilledHead","insertSequenceNumber","activeEnd","activationData","drawActivation","drawLoop","drawBackgroundRect","includes","box","actorLines","extraVertForTitle","isNote","isMessage","textFont","wrappedMessage","messageDimensions","messageWidth","actorToMessageWidth","prop","actDims","actorKey","actorWidth","buildNoteModel","shouldWrap","textDimensions","buildMessageModel","process","fromIdx","toIdx","allBounds","boundedWidth","msgDims","stack","current","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","toAdd","enabled","stk","actorBorder","actorBkg","actorTextColor","actorLineColor","signalColor","sequenceNumberColor","signalTextColor","labelBoxBorderColor","labelBoxBkgColor","labelTextColor","loopTextColor","noteBorderColor","noteBkgColor","noteTextColor","activationBkgColor","activationBorderColor","rectData","textData","prevTextHeight","textElems","yfunc","dominantBaseline","alignmentBaseline","span","drawLabel","txtObject","genPoints","cut","actorCnt","center","_drawTextCandidateFunc","drawLoopLine","sectionHeight","lower","defs","byText","content","textAttrs","_setTextAttrs","byTspan","byFo","toText","fromTextAttrsDict","set","get","drawStartState","drawDivider","drawSimpleState","stateDef","drawDescrState","descriptions","isSecond","descrLine","descrBox","addTitleAndBox","altBkg","pad","dblPad","orgBox","orgWidth","orgX","titleWidth","graphBox","doc","lineY","drawEndState","drawForkJoinState","parentId","tmp","nText","_drawLongText","_text","tHeight","textBounds","drawState","stateInfo","stateBox","stateDb","titleRows","boundstmp","boxHeight","heightAdj","clone","rootDoc","setRootDoc","getRootDoc","docTranslator","first","stmt","state1","state2","currentDoc","newNode","generateId","docNode","getRootDocV2","extract","_doc","addState","newDoc","states","documents","root","currentDocument","startCnt","endCnt","addDescription","des","getState","getStates","logDocuments","_id1","_id2","_descr","theState","dividerCnt","getDividerId","trimColon","nodeDb","setupNode","altFlag","nodeData","noteData","groupData","position","arrowType","setupDoc","startId","endId","transformationLog","renderDoc","svgWidth","getLabelWidth","edgeFreeDoc","ranker","nodeSep","sub","boxBounds","noteDef","nodeCount","svgElem","dividers","pWidth","pShift","getAttribute","labelColor","background","tertiaryTextColor","primaryBorderColor","altBackground","allItemsProcessed","updateActors","tempActors","people","unique","Set","taskData","pieces","score","peeps","peopleList","journeyDb","drawActorLegend","person","colour","circleData","drawCircle","labelData","LEFT_MARGIN","initGraphics","actorNames","actorPos","actorName","drawTasks","fills","textColours","lastSection","sectionVHeight","taskPos","sectionNumber","drawSection","taskActors","drawTask","fillType0","fillType1","fillType2","fillType3","fillType4","fillType5","fillType6","fillType7","drawFace","faceData","circleElement","face","smile","d3arc","startAngle","PI","endAngle","sad","ambivalent","labelMargin","taskCount","graphics","LEVELS","fatal","setLogLevel","bind","time","arguments","mermaid","sequenceConfig","callback","Node","ganttConfig","idGeneratior","initIdGeneratior","next","innerHTML","decode","detectInit","svgCode","parseError","initialize","contentLoaded","graphInit","reinitialize","graphType","detectType","gitGraphAst","flowParser","sequenceParser","ganttParser","classParser","stateParser","infoDb","pieDb","journeyParser","requirementParser","encodeEntities","innerTxt","isInt","decodeEntities","_txt","cb","container","existingSvg","remove","userStyles","altFontFamily","flowRenderer","stylis","Stylis","rules","style1","createElement","gitGraphRenderer","flowRendererV2","sequenceDiagram","sequenceRenderer","ganttRenderer","classRenderer","classRendererV2","stateRenderer","stateRendererV2","infoRenderer","pkg","pieRenderer","erRenderer","journeyRenderer","requirementRenderer","errorRenderer","currentDirective","args","handleDirective","updateRendererConfigs","default","globalReset","themes","classDiagram","stateDiagram","calcThemeVariables","userOverRides","calcColors","errorBkgColor","errorTextColor","base","baseThemeVariables","dark","darkThemeVariables","defaultThemeVariables","forest","forestThemeVariables","neutral","neutralThemeVariables","Theme","darkMode","primaryColor","primaryTextColor","secondaryColor","adjust","mkBorder","secondaryBorderColor","tertiaryBorderColor","secondaryTextColor","invert","nodeBkg","defaultLinkColor","darken","lighten","taskTextLightColor","requirementTextColor","overrides","updateColors","userOverrides","calculate","secondBkg","mainContrastColor","darkTextColor","border1","rgba","labelBackground","col","contrast","critical","d3CurveTypes","curveBasisClosed","curveBasisOpen","curveLinearClosed","curveMonotoneX","curveMonotoneY","curveNatural","curveStep","curveStepAfter","curveStepBefore","directiveWithoutOpen","anyComment","inits","detectDirective","results","commentWithoutDirectives","source","lastIndex","memoize","resolver","cache","defaultCurve","curveName","toUpperCase","arrPaths","fnName","params","distance","pow","traverseEdge","prevPoint","totalDistance","remainingDistance","vectorDistance","distanceRatio","isRelationTypePresent","initialPosition","distanceToCardinalityPoint","angle","atan2","cardinalityPosition","sin","cos","terminalMarkerSize","makeid","characters","charactersLength","floor","clobber","drawSimpleText","joinWith","words","completedLines","nextLine","wordLength","calculateTextWidth","nextLineLength","breakString","hyphenatedStrings","remainingWord","Boolean","currentWord","isLastWord","hyphenCharacter","currentLine","character","lineWidth","currentCharacter","isLastLine","hyphenatedNextLine","calculateTextHeight","fontFamilies","dims","cheight","d3Attrs","d3Elem","attrs","calculateSvgSizeAttrs","Map","deterministic","seed","now"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;QCVA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;;;;;;;;;;;;;;;;;AClFA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,QAAQ;AACxC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU,MAAM;AAChB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,oCAAoC,8BAA8B;AAClE;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU,oBAAoB;AAC9B;AACA;;AAEA;AACA,UAAU,UAAU;AACpB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA,+BAA+B,sBAAsB;AACrD;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,QAAQ;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,2BAA2B,QAAQ;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,QAAQ;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,eAAe;AAClC;AACA;AACA;AACA;;AAEA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;;;;;;;;;;;;;AC7SA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qCAAqC;;AAErC;AACA;AACA;;AAEA,2BAA2B;AAC3B;AACA;AACA;AACA,4BAA4B,UAAU;;;;;;;;;;;;ACvLtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrBA;AACA;AACA;CAGA;;AAEO,IAAMA,aAAa,GAAGC,MAAM,CAACC,MAAP,CAAcC,sDAAd,CAAtB;AAEP,IAAIC,UAAU,GAAGC,8DAAe,CAAC,EAAD,EAAKL,aAAL,CAAhC;AACA,IAAIM,oBAAJ;AACA,IAAIC,UAAU,GAAG,EAAjB;AACA,IAAIC,aAAa,GAAGH,8DAAe,CAAC,EAAD,EAAKL,aAAL,CAAnC;AAEO,IAAMS,mBAAmB,GAAG,SAAtBA,mBAAsB,CAACC,OAAD,EAAUC,WAAV,EAA0B;AAC3D;AACA,MAAIC,GAAG,GAAGP,8DAAe,CAAC,EAAD,EAAKK,OAAL,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,SAAS,CAACvkB,MAAV,GAAmBC,OAAO,GAAG,CAA5C;AAEAukB,iEAAgB,CAACP,OAAD,EAAUjkB,MAAV,EAAkBD,KAAlB,EAAyB5C,IAAI,CAACia,WAA9B,CAAhB,CApFqC,CAsFrC;;AACA,MAAMqN,IAAI,aAAMF,SAAS,CAAC/jB,CAAV,GAAcP,OAApB,cAA+BskB,SAAS,CAAC9jB,CAAV,GAAcR,OAA7C,cAAwDF,KAAxD,cAAiEC,MAAjE,CAAV;AACAlC,6CAAG,CAACC,KAAJ,mBAAqB0mB,IAArB;AACAR,SAAO,CAACplB,IAAR,CAAa,SAAb,EAAwB4lB,IAAxB;AACD,CA1FM;AA4FQ;AACbX,SAAO,EAAPA,OADa;AAEbY,MAAI,EAAJA;AAFa,CAAf,E;;;;;;;;;;;ACnPA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA,eAAe,kCAAkC;AACjD,iBAAiB,kCAAkC;AACnD;AACA;AACA;AACA,qBAAqB,IAAI;AACzB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mJAAmJ;AACnJ,SAAS;;AAET;AACA;AACA,qBAAqB,+BAA+B;AACpD;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,WAAW,YAAY,IAAI,WAAW,SAAS;AACvE,cAAc,0BAA0B,EAAE;AAC1C,MAAM;AACN,WAAW,qpCAAqpC;AAChqC,aAAa,orBAAorB;AACjsB;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,qB;AACvB;AACA;AACA,6C;AACA;AACA;AACA,2CAA2C,4C;AAC3C;AACA;AACA,qBAAqB,iC;AACrB;AACA;AACA,e;AACA;AACA;AACA,wB;AACA;AACA;AACA,4B;AACA;AACA;AACA,wB;AACA;AACA;AACA,2CAA2C,0B;AAC3C;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA,iDAAiD,wBAAwB;AACzE;AACA;AACA,sBAAsB,mCAAmC;AACzD;AACA;AACA,mC;AACA;AACA;AACA,mB;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA,kCAAkC;AAClC;AACA;AACA,WAAW,8F;AACX;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW,6F;AACX;AACA;AACA,WAAW,8F;AACX;AACA;AACA,SAAS,+C;AACT;AACA;AACA,SAAS,6C;AACT;AACA;AACA,SAAS,6C;AACT;AACA;AACA,SAAS,2C;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA,kBAAkB,qCAAqC;AACvD;AACA;AACA,kBAAkB;AAClB;AACA;AACA,kBAAkB;AAClB;AACA;AACA,kBAAkB,+BAA+B;AACjD;AACA;AACA,kBAAkB,uCAAuC;AACzD;AACA;AACA,kBAAkB;AAClB;AACA;AACA,kBAAkB,+CAA+C;AACjE;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,SAAS,kCAAkC,EAAE,MAAM,EAAE,QAAQ,EAAE,kCAAkC,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,sBAAsB,mBAAmB,sKAAsK,EAAE,UAAU,EAAE,gBAAgB,EAAE,SAAS,EAAE,UAAU,EAAE,oBAAoB,eAAe,UAAU,oGAAoG,gFAAgF,GAAG,8CAA8C,8BAA8B,2BAA2B,EAAE,8CAA8C,EAAE,8CAA8C,EAAE,8CAA8C,EAAE,UAAU,eAAe,wDAAwD,gBAAgB,UAAU,mHAAmH,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,gLAAgL,gBAAgB,wDAAwD,EAAE,4DAA4D,gBAAgB,oBAAoB,eAAe,kCAAkC,oGAAoG,oBAAoB,GAAG,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,oBAAoB,EAAE,2BAA2B,4CAA4C,UAAU,EAAE,UAAU,gBAAgB,8CAA8C,EAAE,wDAAwD,eAAe,kCAAkC,iBAAiB,2BAA2B,EAAE,aAAa,EAAE,8CAA8C,eAAe,UAAU,gBAAgB,oBAAoB,gBAAgB,oBAAoB,gBAAgB,oBAAoB,0DAA0D,8CAA8C,6BAA6B,UAAU,GAAG,UAAU,EAAE,uBAAuB,yDAAyD,WAAW,8BAA8B,WAAW,8BAA8B,WAAW,iBAAiB,cAAc,gBAAgB,UAAU,4CAA4C,WAAW;AACpnF,iBAAiB,gFAAgF;AACjG;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA+D;AAC/D;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,kBAAkB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,iCAAiC;AACjC,qBAAqB;AACrB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL,qDAAqD;AACrD;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;AACL,WAAW;AACX;AACA;AACA;AACA,qCAAqC,W;AACrC;AACA,qCAAqC,W;AACrC;AACA,wBAAwB,6BAA6B,W;AACrD;AACA,wBAAwB,iBAAiB,W;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,kCAAkC;AAChE;AACA;AACA;AACA;AACA;AACA,wCAAwC,kBAAkB;AAC1D;AACA;AACA;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A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;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA,eAAe,kCAAkC;AACjD,iBAAiB,kCAAkC;AACnD;AACA;AACA;AACA,qBAAqB,IAAI;AACzB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mJAAmJ;AACnJ,SAAS;;AAET;AACA;AACA,qBAAqB,+BAA+B;AACpD;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,WAAW,YAAY,IAAI,WAAW,SAAS;AACvE,cAAc,0BAA0B,EAAE;AAC1C,MAAM;AACN,WAAW,4mBAA4mB;AACvnB,aAAa,oUAAoU;AACjV;AACA;AACA;;AAEA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uEAAuE;;AAEvE;AACA;;AAEA,2CAA2C;AAC3C;AACA;AACA,0CAA0C;;AAE1C;AACA;AACA,wB;AACA;AACA;AACA,sB;AACA;AACA;AACA,iBAAiB,oCAAoC;AACrD;AACA;AACA,mB;AACA;AACA;AACA,uBAAuB,e;AACvB;AACA;AACA,WAAW,kD;AACX;AACA;AACA,e;AACA;AACA;;AAEA,kBAAkB;AAClB,kEAAkE;;AAElE;AACA;AACA,qC;AACA;AACA;AACA,sC;AACA;AACA;AACA,qC;AACA;AACA;AACA,kC;AACA;AACA;AACA,4C;AACA;AACA;AACA,wC;AACA;AACA;AACA,mC;AACA;AACA;AACA,iB;AACA;AACA;AACA,uBAAuB,qB;AACvB;AACA;AACA,6C;AACA;AACA;AACA,2CAA2C,4C;AAC3C;AACA;AACA,qBAAqB,8B;AACrB;AACA;AACA,CAAC;AACD,SAAS,0BAA0B,EAAE,MAAM,cAAc,IAAI,GAAG,0BAA0B,EAAE,cAAc,EAAE,UAAU,EAAE,qEAAqE,EAAE,QAAQ,EAAE,uBAAuB,gCAAgC,QAAQ,gBAAgB,oCAAoC,uDAAuD,kDAAkD,8CAA8C,UAAU,EAAE,gBAAgB,EAAE,UAAU,eAAe,aAAa,EAAE,mCAAmC,EAAE,0BAA0B,uEAAuE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,gBAAgB,mCAAmC,EAAE,gBAAgB,EAAE,UAAU,EAAE,kCAAkC,8BAA8B,UAAU,EAAE,0BAA0B,gBAAgB,UAAU,8BAA8B,UAAU;AAC38B,iBAAiB,mEAAmE;AACpF;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA+D;AAC/D;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,kBAAkB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,iCAAiC;AACjC,qBAAqB;AACrB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL,qDAAqD;AACrD;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;AACL,UAAU,wBAAwB;AAClC;AACA;AACA;AACA,qCAAqC,W;AACrC;AACA,qCAAqC,W;AACrC;AACA,wBAAwB,6BAA6B,W;AACrD;AACA,wBAAwB,iBAAiB,W;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,W;AAC7B;AACA;AACA;AACA,mB;AACA;AACA;AACA;AACA,yBAAyB,W;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,iBAAiB,kBAAkB,gCAAgC,oBAAoB,yBAAyB,oBAAoB,gGAAgG,qEAAqE,mCAAmC,cAAc,uCAAuC,aAAa;AAC9Y,aAAa,kBAAkB,8BAA8B,mBAAmB,gCAAgC,kBAAkB,gCAAgC,UAAU,2CAA2C,YAAY;AACnO,CAAC;AACD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,CAAC;;;AAGD,IAAI,IAAgE;AACpE;AACA;AACA,6BAA6B,8CAA8C;AAC3E;AACA;AACA;AAC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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mJAAmJ;AACnJ,SAAS;;AAET;AACA;AACA,qBAAqB,+BAA+B;AACpD;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,WAAW,YAAY,IAAI,WAAW,SAAS;AACvE,cAAc,0BAA0B,EAAE;AAC1C,MAAM;AACN,WAAW,ytDAAytD;AACpuD,aAAa,2/BAA2/B;AACxgC;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,qB;AACvB;AACA;AACA,6C;AACA;AACA;AACA,2CAA2C,4C;AAC3C;AACA;AACA,qBAAqB,qC;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA,2BAA2B;AAC3B;AACA;AACA,6CAA6C;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,8CAA8C,WAAW,qD;AACrG;AACA;AACA,8CAA8C,gDAAgD,WAAW,yD;AACzG;AACA;AACA,iCAAiC,aAAa;AAC9C;AACA;AACA,gCAAgC,aAAa;AAC7C;AACA;AACA,gCAAgC;AAChC;AACA;AACA,kCAAkC,qDAAqD;AACvF;AACA;AACA,oBAAoB;AACpB;AACA;AACA,kBAAkB;AAClB;AACA;AACA,kBAAkB;AAClB;AACA;AACA,kBAAkB;AAClB;AACA;AACA,kBAAkB;AAClB;AACA;AACA,kBAAkB;AAClB;AACA;AACA,kBAAkB;AAClB;AACA;AACA,kBAAkB;AAClB;AACA;AACA,kBAAkB;AAClB;AACA;AACA,kBAAkB;AAClB;AACA;AACA,kBAAkB;AAClB;AACA;AACA,kBAAkB;AAClB;AACA;AACA,kBAAkB;AAClB;AACA;AACA,kBAAkB;AAClB;AACA;AACA,kBAAkB;AAClB;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BAA8B,QAAQ,iBAAiB,QAAQ;AACz9jB,iBAAiB,mCAAmC;AACpD;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA+D;AAC/D;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,kBAAkB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,iCAAiC;AACjC,qBAAqB;AACrB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL,qDAAqD;AACrD;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;AACL,WAAW;AACX;AACA;AACA;AACA,qCAAqC,W;AACrC;AACA,qCAAqC,W;AACrC;AACA,wBAAwB,6BAA6B,W;AACrD;AACA,wBAAwB,iBAAiB,W;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,mBAAmB;AACnD;AACA,gCAAgC,mBAAmB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,Y;AAC3B;AACA,2BAA2B,Y;AAC3B;AACA,2BAA2B,Y;AAC3B;AACA,2BAA2B,Y;AAC3B;AACA,2BAA2B,Y;AAC3B;AACA,2BAA2B,Y;AAC3B;AACA,2BAA2B,Y;AAC3B;AACA,2BAA2B,Y;AAC3B;AACA,2BAA2B,Y;AAC3B;AACA,2BAA2B,Y;AAC3B;AACA,2BAA2B,Y;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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C;AACzC;;AACD,WAAOykC,GAAP;AACD,GAxcoC,CA0crC;;;AACA,WAASP,QAAT,CAAkBQ,IAAlB,EAAwBJ,GAAxB,EAA6B;AAC3B,WAAOE,SAAS,CAACF,GAAD,CAAT,CAAeI,IAAf,KAAwB,CAA/B;AACD;AACF,CA9cM;AAgdQ;AACbtd,SAAO,EAAPA,OADa;AAEbY,MAAI,EAAJA;AAFa,CAAf,E;;;;;;;;;;;ACzeA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA,eAAe,kCAAkC;AACjD,iBAAiB,kCAAkC;AACnD;AACA;AACA;AACA,qBAAqB,IAAI;AACzB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mJAAmJ;AACnJ,SAAS;;AAET;AACA;AACA,qBAAqB,+BAA+B;AACpD;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,WAAW,YAAY,IAAI,WAAW,SAAS;AACvE,cAAc,0BAA0B,EAAE;AAC1C,MAAM;AACN,WAAW,+hBAA+hB;AAC1iB,aAAa,oVAAoV;AACjW;AACA;AACA;;AAEA;AACA;AACA;AACA,iB;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,aAAa;AACb;AACA;AACA,oCAAoC;AACpC;AACA;AACA,iCAAiC;AACjC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,kBAAkB;AAClB;AACA;AACA,kBAAkB;AAClB;AACA;AACA,kBAAkB,2CAA2C;AAC7D;AACA;AACA,kBAAkB,+CAA+C;AACjE;AACA;AACA,kBAAkB,yCAAyC;AAC3D;AACA;AACA,kBAAkB,6CAA6C;AAC/D;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,qB;AACvB;AACA;AACA,6C;AACA;AACA;AACA,2CAA2C,4C;AAC3C;AACA;AACA,qBAAqB,iC;AACrB;AACA;AACA,CAAC;AACD,SAAS,0BAA0B,EAAE,MAAM,EAAE,0BAA0B,cAAc,IAAI,GAAG,cAAc,EAAE,UAAU,EAAE,QAAQ,EAAE,oIAAoI,EAAE,uBAAuB,gCAAgC,QAAQ,gBAAgB,mGAAmG,yJAAyJ,UAAU,gBAAgB,oBAAoB,EAAE,UAAU,EAAE,gBAAgB,EAAE,UAAU,0CAA0C,oBAAoB,gBAAgB,UAAU,iBAAiB,aAAa,EAAE,UAAU,eAAe,UAAU,8BAA8B,UAAU,GAAG,UAAU;AAC33B,iBAAiB,qCAAqC;AACtD;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA+D;AAC/D;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,kBAAkB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,iCAAiC;AACjC,qBAAqB;AACrB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL,qDAAqD;AACrD;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;AACL,UAAU,wBAAwB;AAClC;AACA;AACA;AACA,qCAAqC,W;AACrC;AACA,qCAAqC,W;AACrC;AACA,wBAAwB,6BAA6B,W;AACrD;AACA,wBAAwB,iBAAiB,W;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,iBAAiB,kBAAkB,gCAAgC,oBAAoB,0BAA0B,qBAAqB,8TAA8T,2EAA2E,2BAA2B,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;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,SAAS,YAAY,EAAE,MAAM,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,QAAQ,EAAE,QAAQ,cAAc,gBAAgB,gBAAgB,sBAAsB,EAAE,QAAQ,EAAE,gFAAgF,eAAe,SAAS,eAAe,UAAU,gBAAgB,0BAA0B,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,0BAA0B,EAAE,QAAQ,eAAe,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,UAAU,EAAE,oBAAoB,EAAE,UAAU,EAAE,UAAU;AAC1lB,iBAAiB,2GAA2G;AAC5H;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA+D;AAC/D;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,kBAAkB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,iCAAiC;AACjC,qBAAqB;AACrB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL,qDAAqD;AACrD;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;AACL,UAAU,wBAAwB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,aAAa,WAAW,kCAAkC,WAAW,kCAAkC,YAAY;AACnH,CAAC;AACD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,CAAC;;;AAGD,IAAI,IAAgE;AACpE;AACA;AACA,6BAA6B,8CAA8C;AAC3E;AACA;AACA;AACA;AACA;AACA,iBAAiB,mBAAO,CAAC,0DAAI,eAAe,mBAAO,CAAC,qDAAM;AAC1D;AACA;AACA,IAAI,KAA6B,IAAI,4CAAY;AACjD;AACA;AACA,C;;;;;;;;;;;;;ACvrBA;AAAA,IAAMS,SAAS,GAAG,SAAZA,SAAY;AAAA;AAAA,CAAlB;;AAYeA,wEAAf,E;;;;;;;;;;;;ACZA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;AAGA;AAEA,IAAIye,OAAO,GAAG,EAAd;AACA,IAAI/hC,IAAI,GAAG,KAAX;AAEO,IAAMumC,UAAU,GAAG,SAAbA,UAAa,CAAA5f,GAAG,EAAI;AAC/B1qB,6CAAG,CAACC,KAAJ,CAAU,yBAAyByqB,GAAnC;AACAob,SAAO,GAAGpb,GAAV;AACD,CAHM;AAKA,IAAM6f,UAAU,GAAG,SAAbA,UAAa,GAAM;AAC9B,SAAOzE,OAAP;AACD,CAFM;AAIA,IAAM0E,OAAO,GAAG,SAAVA,OAAU,CAAAC,GAAG,EAAI;AAC5B1mC,MAAI,GAAG0mC,GAAP;AACD,CAFM;AAIA,IAAMC,OAAO,GAAG,SAAVA,OAAU,GAAM;AAC3B,SAAO3mC,IAAP;AACD,CAFM,C,CAIP;AACA;AACA;;AAEe;AACbumC,YAAU,EAAVA,UADa;AAEbC,YAAU,EAAVA,UAFa;AAGbC,SAAO,EAAPA,OAHa;AAIbE,SAAO,EAAPA,OAJa,CAKb;;AALa,CAAf,E;;;;;;;;;;;;AC7BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;AAGA;AACA;AACA;AACA;AAEA,IAAMrrC,IAAI,GAAG,EAAb;AACO,IAAM2mB,OAAO,GAAG,SAAVA,OAAU,CAASC,GAAT,EAAc;AACnC,MAAMrmB,IAAI,GAAG7B,MAAM,CAAC6B,IAAP,CAAYqmB,GAAZ,CAAb;AAEArmB,MAAI,CAACE,OAAL,CAAa,UAASC,GAAT,EAAc;AACzBV,QAAI,CAACU,GAAD,CAAJ,GAAYkmB,GAAG,CAAClmB,GAAD,CAAf;AACD,GAFD;AAGD,CANM;AAQP;;;;;;AAKO,IAAM6mB,IAAI,GAAG,SAAPA,IAAO,CAAC8D,GAAD,EAAM9pB,EAAN,EAAUozB,GAAV,EAAkB;AACpC,MAAI;AACF,QAAMhQ,MAAM,GAAG2mB,mDAAU,CAAC3mB,MAA1B;AACAA,UAAM,CAACC,EAAP,GAAYomB,+CAAZ;AACArqC,+CAAG,CAACC,KAAJ,CAAU,4BAA4ByqB,GAAtC,EAHE,CAIF;;AACA1G,UAAM,CAACtX,KAAP,CAAage,GAAb;AACA1qB,+CAAG,CAACC,KAAJ,CAAU,qBAAV,EANE,CAOF;;AACA,QAAMmjB,GAAG,GAAGrhB,iDAAM,CAAC,MAAMnB,EAAP,CAAlB;AAEA,QAAMyjB,CAAC,GAAGjB,GAAG,CAAChgB,MAAJ,CAAW,GAAX,CAAV;AAEAihB,KAAC,CAACjhB,MAAF,CAAS,MAAT,EAAiB;AAAjB,KACGrC,IADH,CACQ,GADR,EACa,GADb,EAEGA,IAFH,CAEQ,GAFR,EAEa,EAFb,EAGGA,IAHH,CAGQ,OAHR,EAGiB,SAHjB,EAIGA,IAJH,CAIQ,WAJR,EAIqB,MAJrB,EAKGwB,KALH,CAKS,aALT,EAKwB,QALxB,EAMGrB,IANH,CAMQ,OAAO8yB,GANf;AAQA5Q,OAAG,CAACriB,IAAJ,CAAS,QAAT,EAAmB,GAAnB;AACAqiB,OAAG,CAACriB,IAAJ,CAAS,OAAT,EAAkB,GAAlB,EArBE,CAsBF;AACD,GAvBD,CAuBE,OAAOwI,CAAP,EAAU;AACVvJ,+CAAG,CAAC0S,KAAJ,CAAU,oCAAV;AACA1S,+CAAG,CAAC0S,KAAJ,CAAUnJ,CAAC,CAACu8B,OAAZ;AACD;AACF,CA5BM;AA8BQ;AACb9f,SAAO,EAAPA,OADa;AAEbY,MAAI,EAAJA;AAFa,CAAf,E;;;;;;;;;;;ACpDA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA,eAAe,kCAAkC;AACjD,iBAAiB,kCAAkC;AACnD;AACA;AACA;AACA,qBAAqB,IAAI;AACzB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mJAAmJ;AACnJ,SAAS;;AAET;AACA;AACA,qBAAqB,+BAA+B;AACpD;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,WAAW,YAAY,IAAI,WAAW,SAAS;AACvE,cAAc,0BAA0B,EAAE;AAC1C,MAAM;AACN,WAAW,mHAAmH;AAC9H,aAAa,gDAAgD;AAC7D;AACA;AACA;;AAEA;AACA;AACA;AACA,W;AACA;AACA;;AAEA;AACA;AACA,kB;AACA;AACA;AACA,CAAC;AACD,SAAS,YAAY,EAAE,MAAM,cAAc,IAAI,GAAG,iCAAiC,EAAE,QAAQ;AAC7F,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA+D;AAC/D;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,kBAAkB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,iCAAiC;AACjC,qBAAqB;AACrB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL,qDAAqD;AACrD;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;AACL,UAAU,wBAAwB;AAClC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,aAAa,WAAW;AACxB,CAAC;AACD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,CAAC;;;AAGD,IAAI,IAAgE;AACpE;AACA;AACA,6BAA6B,8CAA8C;AAC3E;AACA;AACA;AACA;AACA;AACA,iBAAiB,mBAAO,CAAC,0DAAI,eAAe,mBAAO,CAAC,qDAAM;AAC1D;AACA;AACA,IAAI,KAA6B,IAAI,4CAAY;AACjD;AACA;AACA,C;;;;;;;;;;;;;AC7mBA;AAAA,IAAMS,SAAS,GAAG,SAAZA,SAAY;AAAA;AAAA,CAAlB;;AAEeA,wEAAf,E;;;;;;;;;;;ACFA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA,eAAe,kCAAkC;AACjD,iBAAiB,kCAAkC;AACnD;AACA;AACA;AACA,qBAAqB,IAAI;AACzB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mJAAmJ;AACnJ,SAAS;;AAET;AACA;AACA,qBAAqB,+BAA+B;AACpD;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,WAAW,YAAY,IAAI,WAAW,SAAS;AACvE,cAAc,0BAA0B,EAAE;AAC1C,MAAM;AACN,WAAW,wOAAwO,mHAAmH;AACtW,aAAa,2FAA2F,2FAA2F;AACnM;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iD;AACA;AACA;AACA,sBAAsB,oB;AACtB;AACA;AACA,uBAAuB,qB;AACvB;AACA;AACA,6C;AACA;AACA;AACA,2CAA2C,4C;AAC3C;AACA;AACA,qBAAqB,+B;AACrB;AACA;AACA,CAAC;AACD,SAAS,mDAAmD,EAAE,MAAM,EAAE,oDAAoD,EAAE,oDAAoD,cAAc,KAAK,6CAA6C,gBAAgB,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,cAAc,uDAAuD,GAAG,uBAAuB,iCAAiC,0BAA0B,EAAE,UAAU,EAAE,UAAU,8BAA8B,gBAAgB,uDAAuD,aAAa,EAAE,UAAU;AAChlB,iBAAiB,qCAAqC;AACtD;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA+D;AAC/D;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,kBAAkB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,iCAAiC;AACjC,qBAAqB;AACrB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL,qDAAqD;AACrD;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;AACL,UAAU,wBAAwB;AAClC;AACA;AACA;AACA,qCAAqC,W;AACrC;AACA,qCAAqC,W;AACrC;AACA,wBAAwB,6BAA6B,W;AACrD;AACA,wBAAwB,iBAAiB,W;AACzC;AACA;AACA;AACA;AACA;AACA,2BAA2B,mBAAmB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,U;AAC7B;AACA,yBAAyB,sB;AACzB;AACA,8B;AACA;AACA,yB;AACA;AACA,sB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,iBAAiB,kBAAkB,gCAAgC,oBAAoB,0BAA0B,oBAAoB;AACrI,aAAa,mBAAmB,6BAA6B,kBAAkB,gCAAgC,mBAAmB,gCAAgC,mBAAmB,8BAA8B,UAAU,+BAA+B,WAAW,kCAAkC,YAAY;AACrT,CAAC;AACD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,CAAC;;;AAGD,IAAI,IAAgE;AACpE;AACA;AACA,6BAA6B,8CAA8C;AAC3E;AACA;AACA;AACA;AACA;AACA,iBAAiB,mBAAO,CAAC,0DAAI,eAAe,mBAAO,CAAC,qDAAM;AAC1D;AACA;AACA,IAAI,KAA6B,IAAI,4CAAY;AACjD;AACA;AACA,C;;;;;;;;;;;;;AC/oBA;AAAA;AAAA;AAAA;AAAA;AAAA;;;AAGA;AACA;AACA;AAEA,IAAIiS,QAAQ,GAAG,EAAf;AACA,IAAI/V,KAAK,GAAG,EAAZ;AAEO,IAAMtE,cAAc,GAAG,SAAjBA,cAAiB,CAASC,SAAT,EAAoBC,OAApB,EAA6B3N,IAA7B,EAAmC;AAC/D4N,qDAAU,CAACH,cAAX,CAA0B,IAA1B,EAAgCC,SAAhC,EAA2CC,OAA3C,EAAoD3N,IAApD;AACD,CAFM;;AAIP,IAAMqpB,UAAU,GAAG,SAAbA,UAAa,CAASj6B,EAAT,EAAay3B,KAAb,EAAoB;AACrC,MAAI,OAAOiB,QAAQ,CAAC14B,EAAD,CAAf,KAAwB,WAA5B,EAAyC;AACvC04B,YAAQ,CAAC14B,EAAD,CAAR,GAAey3B,KAAf;AACAr4B,+CAAG,CAACC,KAAJ,CAAU,qBAAV,EAAiCW,EAAjC;AACD;AACF,CALD;;AAMA,IAAMk6B,WAAW,GAAG,SAAdA,WAAc;AAAA,SAAMxB,QAAN;AAAA,CAApB;;AAEA,IAAMhM,QAAQ,GAAG,SAAXA,QAAW,CAAS5C,GAAT,EAAc;AAC7BnH,OAAK,GAAGmH,GAAR;AACD,CAFD;;AAIA,IAAM6C,QAAQ,GAAG,SAAXA,QAAW,GAAW;AAC1B,SAAOhK,KAAP;AACD,CAFD;;AAGA,IAAMqnB,YAAY,GAAG,SAAfA,YAAe,CAASvS,KAAT,EAAgB;AACnC,MAAIA,KAAK,CAACvX,SAAN,CAAgB,CAAhB,EAAmB,CAAnB,MAA0B,GAA9B,EAAmC;AACjCuX,SAAK,GAAGA,KAAK,CAACvX,SAAN,CAAgB,CAAhB,EAAmBnb,IAAnB,EAAR;AACA,WAAO4E,MAAM,CAAC8tB,KAAK,CAAC1yB,IAAN,EAAD,CAAb;AACD,GAHD,MAGO;AACL,WAAO4E,MAAM,CAAC8tB,KAAK,CAAC1yB,IAAN,EAAD,CAAb;AACD;AACF,CAPD;;AASA,IAAM9B,KAAK,GAAG,SAARA,KAAQ,GAAW;AACvBy1B,UAAQ,GAAG,EAAX;AACA/V,OAAK,GAAG,EAAR;AACD,CAHD,C,CAIA;AACA;AACA;;;AAEe;AACbtE,gBAAc,EAAdA,cADa;AAEbvf,WAAS,EAAE;AAAA,WAAM4hB,iDAAA,GAAsBnD,GAA5B;AAAA,GAFE;AAGb0c,YAAU,EAAVA,UAHa;AAIbC,aAAW,EAAXA,WAJa;AAKb8P,cAAY,EAAZA,YALa;AAMb/mC,OAAK,EAALA,KANa;AAObypB,UAAQ,EAARA,QAPa;AAQbC,UAAQ,EAARA,QARa,CASb;;AATa,CAAf,E;;;;;;;;;;;;AC9CA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;AAGA;AACA;AACA;AACA;AACA;AAEA,IAAMluB,IAAI,GAAG,EAAb;AACO,IAAM2mB,OAAO,GAAG,SAAVA,OAAU,CAASC,GAAT,EAAc;AACnC,MAAMrmB,IAAI,GAAG7B,MAAM,CAAC6B,IAAP,CAAYqmB,GAAZ,CAAb;AAEArmB,MAAI,CAACE,OAAL,CAAa,UAASC,GAAT,EAAc;AACzBV,QAAI,CAACU,GAAD,CAAJ,GAAYkmB,GAAG,CAAClmB,GAAD,CAAf;AACD,GAFD;AAGD,CANM;AAQP;;;;;;AAKA,IAAIkC,KAAJ;AACA,IAAMC,MAAM,GAAG,GAAf;AACO,IAAM0kB,IAAI,GAAG,SAAPA,IAAO,CAAC8D,GAAD,EAAM9pB,EAAN,EAAa;AAC/B,MAAI;AACF,QAAMojB,MAAM,GAAG6mB,kDAAS,CAAC7mB,MAAzB;AACAA,UAAM,CAACC,EAAP,GAAY6mB,8CAAZ;AACA9qC,+CAAG,CAACC,KAAJ,CAAU,6BAA6ByqB,GAAvC,EAHE,CAIF;;AACA1G,UAAM,CAACC,EAAP,CAAUpgB,KAAV;AACAmgB,UAAM,CAACtX,KAAP,CAAage,GAAb;AACA1qB,+CAAG,CAACC,KAAJ,CAAU,qBAAV;AACA,QAAMwD,IAAI,GAAGa,QAAQ,CAACo7B,cAAT,CAAwB9+B,EAAxB,CAAb;AACAqB,SAAK,GAAGwB,IAAI,CAACk8B,aAAL,CAAmBC,WAA3B;;AAEA,QAAI,OAAO39B,KAAP,KAAiB,WAArB,EAAkC;AAChCA,WAAK,GAAG,IAAR;AACD;;AAED,QAAI,OAAO5C,IAAI,CAACgd,QAAZ,KAAyB,WAA7B,EAA0C;AACxCpa,WAAK,GAAG5C,IAAI,CAACgd,QAAb;AACD;;AAED,QAAM8J,OAAO,GAAGpkB,iDAAM,CAAC,MAAMnB,EAAP,CAAtB;AACA8lB,mEAAgB,CAACP,OAAD,EAAUjkB,MAAV,EAAkBD,KAAlB,EAAyB5C,IAAI,CAACia,WAA9B,CAAhB,CApBE,CAsBF;;AACA7V,QAAI,CAACyB,YAAL,CAAkB,SAAlB,EAA6B,SAASjD,KAAT,GAAiB,GAAjB,GAAuBC,MAApD,EAvBE,CAyBF;;AACA,QAAI6oC,MAAM,GAAG,EAAb;AACA,QAAIC,cAAc,GAAG,EAArB;AACA,QAAIC,aAAa,GAAG,CAApB;AAEA,QAAIttB,MAAM,GAAG9V,IAAI,CAAC8I,GAAL,CAAS1O,KAAT,EAAgBC,MAAhB,IAA0B,CAA1B,GAA8B6oC,MAA3C;AAEA,QAAI3nB,GAAG,GAAG+C,OAAO,CACd/iB,MADO,CACA,GADA,EAEPrC,IAFO,CAEF,WAFE,EAEW,eAAekB,KAAK,GAAG,CAAvB,GAA2B,GAA3B,GAAiCC,MAAM,GAAG,CAA1C,GAA8C,GAFzD,CAAV;AAIA,QAAIuK,IAAI,GAAGq+B,8CAAO,CAAChQ,WAAR,EAAX;AACA,QAAIoQ,GAAG,GAAG,CAAV;AACAntC,UAAM,CAAC6B,IAAP,CAAY6M,IAAZ,EAAkB3M,OAAlB,CAA0B,UAASC,GAAT,EAAc;AACtCmrC,SAAG,IAAIz+B,IAAI,CAAC1M,GAAD,CAAX;AACD,KAFD,EAtCE,CA0CF;;AACA,QAAI2oC,KAAK,GAAGyC,uDAAY,GACrBnL,MADS,CACFvzB,IADE,EAETs0B,KAFS,CAEHqK,6CAFG,CAAZ,CA3CE,CA+CF;;AACA,QAAIjtB,GAAG,GAAGktB,8CAAK,GAAGhT,KAAR,CAAc,UAASv5B,CAAT,EAAY;AAClC,aAAOA,CAAC,CAACu5B,KAAT;AACD,KAFS,CAAV;AAGA,QAAIiT,SAAS,GAAGntB,GAAG,CAACotB,kDAAO,CAAC9+B,IAAD,CAAR,CAAnB,CAnDE,CAqDF;;AACA,QAAI++B,YAAY,GAAGC,8CAAG,GACnBC,WADgB,CACJ,CADI,EAEhBC,WAFgB,CAEJhuB,MAFI,CAAnB,CAtDE,CA0DF;;AACAyF,OAAG,CACAC,SADH,CACa,UADb,EAEG5W,IAFH,CAEQ6+B,SAFR,EAGG3J,KAHH,GAIGv+B,MAJH,CAIU,MAJV,EAKGrC,IALH,CAKQ,GALR,EAKayqC,YALb,EAMGzqC,IANH,CAMQ,MANR,EAMgB,UAASjC,CAAT,EAAY;AACxB,aAAO4pC,KAAK,CAAC5pC,CAAC,CAAC2N,IAAF,CAAO1M,GAAR,CAAZ;AACD,KARH,EASGgB,IATH,CASQ,QATR,EASkB,OATlB,EAUGwB,KAVH,CAUS,cAVT,EAUyB,KAVzB,EAWGA,KAXH,CAWS,SAXT,EAWoB,GAXpB,EA3DE,CAwEF;AACA;;AACA6gB,OAAG,CACAC,SADH,CACa,UADb,EAEG5W,IAFH,CAEQ6+B,SAAS,CAAChhC,MAAV,CAAiB,UAAA+tB,KAAK;AAAA,aAAIA,KAAK,CAAC5rB,IAAN,CAAW4rB,KAAX,KAAqB,CAAzB;AAAA,KAAtB,CAFR,EAGGsJ,KAHH,GAIGv+B,MAJH,CAIU,MAJV,EAKGlC,IALH,CAKQ,UAASpC,CAAT,EAAY;AAChB,aAAO,CAAEA,CAAC,CAAC2N,IAAF,CAAO4rB,KAAP,GAAe6S,GAAhB,GAAuB,GAAxB,EAA6BU,OAA7B,CAAqC,CAArC,IAA0C,GAAjD;AACD,KAPH,EAQG7qC,IARH,CAQQ,WARR,EAQqB,UAASjC,CAAT,EAAY;AAC7B,aAAO,eAAe0sC,YAAY,CAACK,QAAb,CAAsB/sC,CAAtB,CAAf,GAA0C,GAAjD;AACD,KAVH,EAWGyD,KAXH,CAWS,aAXT,EAWwB,QAXxB,EAYGxB,IAZH,CAYQ,OAZR,EAYiB,OAZjB,EAaGwB,KAbH,CAaS,WAbT,EAasB,EAbtB;AAeA6gB,OAAG,CACAhgB,MADH,CACU,MADV,EAEGlC,IAFH,CAEQ8iB,MAAM,CAACC,EAAP,CAAUsJ,QAAV,EAFR,EAGGxsB,IAHH,CAGQ,GAHR,EAGa,CAHb,EAIGA,IAJH,CAIQ,GAJR,EAIa,EAAEmB,MAAM,GAAG,EAAX,IAAiB,CAJ9B,EAKGnB,IALH,CAKQ,OALR,EAKiB,cALjB,EAzFE,CAgGF;;AACA,QAAI+qC,MAAM,GAAG1oB,GAAG,CACbC,SADU,CACA,SADA,EAEV5W,IAFU,CAELi8B,KAAK,CAAC1I,MAAN,EAFK,EAGV2B,KAHU,GAIVv+B,MAJU,CAIH,GAJG,EAKVrC,IALU,CAKL,OALK,EAKI,QALJ,EAMVA,IANU,CAML,WANK,EAMQ,UAASjC,CAAT,EAAYF,CAAZ,EAAe;AAChC,UAAIsD,MAAM,GAAG8oC,cAAc,GAAGC,aAA9B;AACA,UAAIr7B,MAAM,GAAI1N,MAAM,GAAGwmC,KAAK,CAAC1I,MAAN,GAAenhC,MAAzB,GAAmC,CAAhD;AACA,UAAIktC,IAAI,GAAG,KAAKf,cAAhB;AACA,UAAIrU,IAAI,GAAG/3B,CAAC,GAAGsD,MAAJ,GAAa0N,MAAxB;AACA,aAAO,eAAem8B,IAAf,GAAsB,GAAtB,GAA4BpV,IAA5B,GAAmC,GAA1C;AACD,KAZU,CAAb;AAcAmV,UAAM,CACH1oC,MADH,CACU,MADV,EAEGrC,IAFH,CAEQ,OAFR,EAEiBiqC,cAFjB,EAGGjqC,IAHH,CAGQ,QAHR,EAGkBiqC,cAHlB,EAIGzoC,KAJH,CAIS,MAJT,EAIiBmmC,KAJjB,EAKGnmC,KALH,CAKS,QALT,EAKmBmmC,KALnB;AAOAoD,UAAM,CACH1oC,MADH,CACU,MADV,EAEGrC,IAFH,CAEQ,GAFR,EAEaiqC,cAAc,GAAGC,aAF9B,EAGGlqC,IAHH,CAGQ,GAHR,EAGaiqC,cAAc,GAAGC,aAH9B,EAIG/pC,IAJH,CAIQ,UAASpC,CAAT,EAAY;AAChB,aAAOA,CAAP;AACD,KANH;AAOD,GA7HD,CA6HE,OAAOyK,CAAP,EAAU;AACVvJ,+CAAG,CAAC0S,KAAJ,CAAU,oCAAV;AACA1S,+CAAG,CAAC0S,KAAJ,CAAUnJ,CAAV;AACD;AACF,CAlIM;AAoIQ;AACbyc,SAAO,EAAPA,OADa;AAEbY,MAAI,EAAJA;AAFa,CAAf,E;;;;;;;;;;;;AC7JA;AAAA,IAAMS,SAAS,GAAG,SAAZA,SAAY,CAAA1nB,OAAO;AAAA,8FAIbA,OAAO,CAACkkC,iBAJK,iCAKNlkC,OAAO,CAACU,UALF,kDAQNV,OAAO,CAACU,UARF,0BASbV,OAAO,CAACi5B,SATK,sEAabj5B,OAAO,CAACkkC,iBAbK,iCAcNlkC,OAAO,CAACU,UAdF;AAAA,CAAzB;;AAmBegnB,wEAAf,E;;;;;;;;;;;ACnBA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA,eAAe,kCAAkC;AACjD,iBAAiB,kCAAkC;AACnD;AACA;AACA;AACA,qBAAqB,IAAI;AACzB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mJAAmJ;AACnJ,SAAS;;AAET;AACA;AACA,qBAAqB,+BAA+B;AACpD;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,WAAW,YAAY,IAAI,WAAW,SAAS;AACvE,cAAc,0BAA0B,EAAE;AAC1C,MAAM;AACN,WAAW,6iCAA6iC;AACxjC,aAAa,yrBAAyrB;AACtsB;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,qB;AACvB;AACA;AACA,6C;AACA;AACA;AACA,2CAA2C,4C;AAC3C;AACA;AACA,qBAAqB,+B;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0B;AACA;AACA;AACA,4B;AACA;AACA;AACA,4B;AACA;AACA;AACA,oC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gC;AACA;AACA;AACA,kC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,SAAS,yBAAyB,EAAE,MAAM,EAAE,iCAAiC,EAAE,QAAQ,EAAE,eAAe,EAAE,SAAS,EAAE,0BAA0B,EAAE,QAAQ,EAAE,8HAA8H,EAAE,uBAAuB,mBAAmB,QAAQ,EAAE,SAAS,EAAE,8HAA8H,EAAE,8HAA8H,EAAE,8HAA8H,EAAE,8HAA8H,EAAE,8HAA8H,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,oBAAoB,+HAA+H,gBAAgB,eAAe,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,uDAAuD,EAAE,uDAAuD,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,oGAAoG,UAAU,eAAe,+CAA+C,EAAE,iCAAiC,EAAE,oBAAoB,EAAE,oBAAoB,gBAAgB,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,+CAA+C,8BAA8B,UAAU,EAAE,UAAU,EAAE,iCAAiC,4CAA4C,oBAAoB,EAAE,0BAA0B,EAAE,oCAAoC,EAAE,8CAA8C,gBAAgB,4BAA4B,EAAE,6BAA6B,gBAAgB,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,gDAAgD,EAAE,gDAAgD,EAAE,gDAAgD,EAAE,gDAAgD,EAAE,kCAAkC,EAAE,kCAAkC;AAC5qF,iBAAiB,2QAA2Q;AAC5R;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA+D;AAC/D;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,kBAAkB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,iCAAiC;AACjC,qBAAqB;AACrB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL,qDAAqD;AACrD;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;AACL,UAAU,wBAAwB;AAClC;AACA;AACA;AACA,qCAAqC,W;AACrC;AACA,qCAAqC,W;AACrC;AACA,wBAAwB,6BAA6B,W;AACrD;AACA,wBAAwB,iBAAiB,W;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8B;AACA;AACA,yB;AACA;AACA,0B;AACA;AACA,wCAAwC;AACxC;AACA;AACA,CAAC;AACD,iBAAiB,kBAAkB,gCAAgC,oBAAoB,yHAAyH,WAAW,qoBAAqoB;AACh2B,aAAa,mBAAmB,6BAA6B,kBAAkB,gCAAgC,mBAAmB,gCAAgC,mBAAmB,8BAA8B,cAAc,6BAA6B,UAAU,6BAA6B,WAAW,kCAAkC,YAAY;AAC9V,CAAC;AACD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,CAAC;;;AAGD,IAAI,IAAgE;AACpE;AACA;AACA,6BAA6B,8CAA8C;AAC3E;AACA;AACA;AACA;AACA;AACA,iBAAiB,mBAAO,CAAC,0DAAI,eAAe,mBAAO,CAAC,qDAAM;AAC1D;AACA;AACA,IAAI,KAA6B,IAAI,4CAAY;AACjD;AACA;AACA,C;;;;;;;;;;;;;AC/xBA;AAAA;AAAA;AAAA;AAAA;AAAA;A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C,MAAM;AACN,WAAW,g1BAAg1B;AAC31B,aAAa,yhBAAyhB;AACtiB;AACA;AACA;;AAEA;AACA;AACA;AACA,kBAAkB,c;AAClB;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA,W;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,QAAQ;AACR;AACA;AACA,SAAS,+BAA+B;AACxC;AACA;;AAEA,oBAAoB,0FAA0F;AAC9G,iBAAiB,qEAAqE;AACtF;AACA;AACA;;AAEA,oBAAoB,wFAAwF;AAC5G,iBAAiB,oFAAoF;AACrG;AACA;AACA;;AAEA,oBAAoB,uFAAuF;AAC3G,iBAAiB,mFAAmF;AACpG;AACA;AACA;;AAEA;AACA,oBAAoB,uFAAuF;AAC3G;AACA;AACA,iBAAiB,gDAAgD;AACjE;AACA;AACA;;AAEA;AACA,oBAAoB,uFAAuF;AAC3G;AACA;AACA,iBAAiB,gDAAgD;AACjE;AACA;AACA;AACA,4BAA4B,gFAAgF,W;AAC5G;AACA;AACA,4BAA4B,kFAAkF,W;AAC9G;AACA;;AAEA,uBAAuB,sEAAsE;AAC7F;AACA;;AAEA;AACA;AACA;AACA;AACA,uBAAuB,qFAAqF;AAC5G;AACA;AACA,6B;AACA;AACA;AACA,iB;AACA;AACA;AACA,8B;AACA;AACA;AACA,+B;AACA;AACA;AACA,8BAA8B,4FAA4F;AAC1H,gBAAgB;AAChB;AACA;AACA;AACA,8BAA8B,4FAA4F;AAC1H,eAAe;AACf;AACA;AACA;AACA,8BAA8B,4FAA4F;AAC1H;AACA;AACA,QAAQ;AACR;AACA;AACA,iC;AACA;AACA;AACA,kC;AACA;AACA;AACA,4B;AACA;AACA;AACA,6B;AACA;AACA;AACA,kC;AACA;AACA;AACA,mC;AACA;AACA;AACA,kC;AACA;AACA;AACA,mC;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,qB;AACvB;AACA;AACA,6C;AACA;AACA;AACA,2CAA2C,4C;AAC3C;AACA;AACA,qBAAqB,oC;AACrB;AACA;AACA,CAAC;AACD,SAAS,sCAAsC,EAAE,MAAM,EAAE,sCAAsC,EAAE,sCAAsC,EAAE,uCAAuC,uDAAuD,KAAK,GAAG,gBAAgB,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,sJAAsJ,EAAE,uBAAuB,iCAAiC,6HAA6H,4BAA4B,aAAa,EAAE,SAAS,gBAAgB,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,gBAAgB,sFAAsF,EAAE,oCAAoC,iDAAiD,SAAS,EAAE,gBAAgB,EAAE,SAAS,eAAe,mBAAmB,gBAAgB,SAAS,EAAE,SAAS,gBAAgB,SAAS,EAAE,SAAS,YAAY,KAAK,aAAa,KAAK,aAAa,KAAK,aAAa,WAAW,aAAa,WAAW,GAAG,iCAAiC,kHAAkH,aAAa,EAAE,mBAAmB,EAAE,UAAU,EAAE,UAAU,gBAAgB,aAAa,EAAE,UAAU,EAAE,UAAU,0DAA0D,wJAAwJ,EAAE,wJAAwJ,EAAE,wJAAwJ,EAAE,UAAU,EAAE,kKAAkK,EAAE,UAAU,EAAE,kKAAkK,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,oBAAoB,EAAE,SAAS,EAAE,UAAU,0DAA0D,WAAW,gBAAgB,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,wCAAwC,YAAY,aAAa,YAAY,GAAG,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;AAC5vF,iBAAiB,yKAAyK;AAC1L;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA+D;AAC/D;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,kBAAkB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,iCAAiC;AACjC,qBAAqB;AACrB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL,qDAAqD;AACrD;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;AACL,UAAU,wBAAwB;AAClC;AACA;AACA;AACA,qCAAqC,W;AACrC;AACA,qCAAqC,W;AACrC;AACA,wBAAwB,6BAA6B,W;AACrD;AACA,wBAAwB,iBAAiB,W;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA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ACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA+D;AAC/D;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,kBAAkB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,iCAAiC;AACjC,qBAAqB;AACrB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL,qDAAqD;AACrD;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AA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;;AAEA;AACA;AACA;AACA,mJAAmJ;AACnJ,SAAS;;AAET;AACA;AACA,qBAAqB,+BAA+B;AACpD;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,WAAW,YAAY,IAAI,WAAW,SAAS;AACvE,cAAc,0BAA0B,EAAE;AAC1C,MAAM;AACN,WAAW,8VAA8V;AACzW,aAAa,gMAAgM;AAC7M;AACA;AACA;;AAEA;AACA;AACA;AACA,iB;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,uBAAuB,qB;AACvB;AACA;AACA,6C;AACA;AACA;AACA,2CAA2C,4C;AAC3C;AACA;AACA,qBAAqB,mC;AACrB;AACA;AACA,CAAC;AACD,SAAS,0BAA0B,EAAE,MAAM,cAAc,IAAI,GAAG,0BAA0B,EAAE,cAAc,EAAE,UAAU,EAAE,6EAA6E,EAAE,QAAQ,EAAE,uBAAuB,gCAAgC,QAAQ,gBAAgB,4CAA4C,wDAAwD,UAAU,gBAAgB,UAAU,EAAE,gBAAgB,EAAE,UAAU,0CAA0C,aAAa,EAAE,UAAU,EAAE,UAAU;AACrhB,iBAAiB,qCAAqC;AACtD;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA+D;AAC/D;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,kBAAkB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,iCAAiC;AACjC,qBAAqB;AACrB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL,qDAAqD;AACrD;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;AACL,UAAU,wBAAwB;AAClC;AACA;AACA;AACA,qCAAqC,W;AACrC;AACA,qCAAqC,W;AACrC;AACA,wBAAwB,6BAA6B,W;AACrD;AACA,wBAAwB,iBAAiB,W;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,iBAAiB,kBAAkB,gCAAgC,oBAAoB,yBAAyB,oBAAoB,2FAA2F,2BAA2B,kBAAkB,kBAAkB;AAC9R,aAAa,kBAAkB,8BAA8B,mBAAmB,gCAAgC,kBAAkB,gCAAgC,YAAY;AAC9K,CAAC;AACD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,CAAC;;;AAGD,IAAI,IAAgE;AACpE;AACA;AACA,6BAA6B,8CAA8C;AAC3E;AACA;AACA;AACA;AACA;AACA,iBAAiB,mBAAO,CAAC,0DAAI,eAAe,mBAAO,CAAC,qDAAM;AAC1D;AACA;AACA,IAAI,KAA6B,IAAI,4CAAY;AACjD;AACA;AACA,C;;;;;;;;;;;;;AC9pBA;AAAA,IAAMS,SAAS,GAAG,SAAZA,SAAY,CAAA1nB,OAAO;AAAA,oJAIZA,OAAO,CAACi5B,SAJI,iFAWXj5B,OAAO,CAACi5B,SAXG,6CAebj5B,OAAO,CAACi5B,SAfK,qFAsBZj5B,OAAO,CAACi5B,SAtBI,6KAmCbj5B,OAAO,CAAC6nB,OAnCK,4BAoCX7nB,OAAO,CAAC2nB,UApCG,+KAgDb3nB,OAAO,CAACm5B,cAhDK,wDAoDXn5B,OAAO,CAAC8nB,SApDG,kFAyDX9nB,OAAO,CAAC8nB,SAzDG,8EA8DD9nB,OAAO,CAACo5B,mBA9DP,+IAyEbp5B,OAAO,CAACk5B,UAzEK,6RAoFPl5B,OAAO,CAACiyB,aApFD,sCAqFDjyB,OAAO,CAACu5B,OArFP,sIA4FnBv5B,OAAO,CAACsqD,SAAR,mBAA6BtqD,OAAO,CAACsqD,SAArC,IAAmD,EA5FhC,6DA+FnBtqD,OAAO,CAACsqD,SAAR,mBAA6BtqD,OAAO,CAACuqD,SAArC,IAAmD,EA/FhC,6DAkGnBvqD,OAAO,CAACsqD,SAAR,mBAA6BtqD,OAAO,CAACwqD,SAArC,IAAmD,EAlGhC,6DAqGnBxqD,OAAO,CAACsqD,SAAR,mBAA6BtqD,OAAO,CAACyqD,SAArC,IAAmD,EArGhC,6DAwGnBzqD,OAAO,CAACsqD,SAAR,mBAA6BtqD,OAAO,CAAC0qD,SAArC,IAAmD,EAxGhC,6DA2GnB1qD,OAAO,CAACsqD,SAAR,mBAA6BtqD,OAAO,CAAC2qD,SAArC,IAAmD,EA3GhC,6DA8GnB3qD,OAAO,CAACsqD,SAAR,mBAA6BtqD,OAAO,CAAC4qD,SAArC,IAAmD,EA9GhC,6DAiHnB5qD,OAAO,CAACsqD,SAAR,mBAA6BtqD,OAAO,CAAC6qD,SAArC,IAAmD,EAjHhC;AAAA,CAAzB;;AAqHenjC,wEAAf,E;;;;;;;;;;;;ACrHA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEO,IAAMsyB,QAAQ,GAAG,SAAXA,QAAW,CAASl2C,IAAT,EAAei8C,QAAf,EAAyB;AAC/C,MAAMhG,QAAQ,GAAGj2C,IAAI,CAACL,MAAL,CAAY,MAAZ,CAAjB;AACAs2C,UAAQ,CAAC34C,IAAT,CAAc,GAAd,EAAmB2+C,QAAQ,CAACh9C,CAA5B;AACAg3C,UAAQ,CAAC34C,IAAT,CAAc,GAAd,EAAmB2+C,QAAQ,CAAC/8C,CAA5B;AACA+2C,UAAQ,CAAC34C,IAAT,CAAc,MAAd,EAAsB2+C,QAAQ,CAACxhC,IAA/B;AACAw7B,UAAQ,CAAC34C,IAAT,CAAc,QAAd,EAAwB2+C,QAAQ,CAACzhC,MAAjC;AACAy7B,UAAQ,CAAC34C,IAAT,CAAc,OAAd,EAAuB2+C,QAAQ,CAACz9C,KAAhC;AACAy3C,UAAQ,CAAC34C,IAAT,CAAc,QAAd,EAAwB2+C,QAAQ,CAACx9C,MAAjC;AACAw3C,UAAQ,CAAC34C,IAAT,CAAc,IAAd,EAAoB2+C,QAAQ,CAACl9C,EAA7B;AACAk3C,UAAQ,CAAC34C,IAAT,CAAc,IAAd,EAAoB2+C,QAAQ,CAACj9C,EAA7B;;AAEA,MAAI,OAAOi9C,QAAQ,CAAC1+C,KAAhB,KAA0B,WAA9B,EAA2C;AACzC04C,YAAQ,CAAC34C,IAAT,CAAc,OAAd,EAAuB2+C,QAAQ,CAAC1+C,KAAhC;AACD;;AAED,SAAO04C,QAAP;AACD,CAhBM;AAkBA,IAAM+Q,QAAQ,GAAG,SAAXA,QAAW,CAAS/xC,OAAT,EAAkBgyC,QAAlB,EAA4B;AAClD,MAAM/sC,MAAM,GAAG,EAAf;AACA,MAAMgtC,aAAa,GAAGjyC,OAAO,CAC1BtV,MADmB,CACZ,QADY,EAEnBrC,IAFmB,CAEd,IAFc,EAER2pD,QAAQ,CAACp8C,EAFD,EAGnBvN,IAHmB,CAGd,IAHc,EAGR2pD,QAAQ,CAACn8C,EAHD,EAInBxN,IAJmB,CAId,OAJc,EAIL,MAJK,EAKnBA,IALmB,CAKd,GALc,EAKT4c,MALS,EAMnB5c,IANmB,CAMd,cANc,EAME,CANF,EAOnBA,IAPmB,CAOd,UAPc,EAOF,SAPE,CAAtB;AASA,MAAM6pD,IAAI,GAAGlyC,OAAO,CAACtV,MAAR,CAAe,GAAf,CAAb,CAXkD,CAalD;;AACAwnD,MAAI,CACDxnD,MADH,CACU,QADV,EAEGrC,IAFH,CAEQ,IAFR,EAEc2pD,QAAQ,CAACp8C,EAAT,GAAcqP,MAAM,GAAG,CAFrC,EAGG5c,IAHH,CAGQ,IAHR,EAGc2pD,QAAQ,CAACn8C,EAAT,GAAcoP,MAAM,GAAG,CAHrC,EAIG5c,IAJH,CAIQ,GAJR,EAIa,GAJb,EAKGA,IALH,CAKQ,cALR,EAKwB,CALxB,EAMGA,IANH,CAMQ,MANR,EAMgB,MANhB,EAOGA,IAPH,CAOQ,QAPR,EAOkB,MAPlB,EAdkD,CAuBlD;;AACA6pD,MAAI,CACDxnD,MADH,CACU,QADV,EAEGrC,IAFH,CAEQ,IAFR,EAEc2pD,QAAQ,CAACp8C,EAAT,GAAcqP,MAAM,GAAG,CAFrC,EAGG5c,IAHH,CAGQ,IAHR,EAGc2pD,QAAQ,CAACn8C,EAAT,GAAcoP,MAAM,GAAG,CAHrC,EAIG5c,IAJH,CAIQ,GAJR,EAIa,GAJb,EAKGA,IALH,CAKQ,cALR,EAKwB,CALxB,EAMGA,IANH,CAMQ,MANR,EAMgB,MANhB,EAOGA,IAPH,CAOQ,QAPR,EAOkB,MAPlB;;AASA,WAAS8pD,KAAT,CAAeD,IAAf,EAAqB;AACnB,QAAMnf,GAAG,GAAGqf,8CAAK,GACdC,UADS,CACEljD,IAAI,CAACmjD,EAAL,GAAU,CADZ,EAETC,QAFS,CAEA,KAAKpjD,IAAI,CAACmjD,EAAL,GAAU,CAAf,CAFA,EAGTtf,WAHS,CAGG/tB,MAAM,GAAG,CAHZ,EAITguB,WAJS,CAIGhuB,MAAM,GAAG,GAJZ,CAAZ,CADmB,CAMnB;;AACAitC,QAAI,CACDxnD,MADH,CACU,MADV,EAEGrC,IAFH,CAEQ,OAFR,EAEiB,OAFjB,EAGGA,IAHH,CAGQ,GAHR,EAGa0qC,GAHb,EAIG1qC,IAJH,CAIQ,WAJR,EAIqB,eAAe2pD,QAAQ,CAACp8C,EAAxB,GAA6B,GAA7B,IAAoCo8C,QAAQ,CAACn8C,EAAT,GAAc,CAAlD,IAAuD,GAJ5E;AAKD;;AAED,WAAS28C,GAAT,CAAaN,IAAb,EAAmB;AACjB,QAAMnf,GAAG,GAAGqf,8CAAK,GACdC,UADS,CACG,IAAIljD,IAAI,CAACmjD,EAAV,GAAgB,CADlB,EAETC,QAFS,CAEA,KAAKpjD,IAAI,CAACmjD,EAAL,GAAU,CAAf,CAFA,EAGTtf,WAHS,CAGG/tB,MAAM,GAAG,CAHZ,EAITguB,WAJS,CAIGhuB,MAAM,GAAG,GAJZ,CAAZ,CADiB,CAMjB;;AACAitC,QAAI,CACDxnD,MADH,CACU,MADV,EAEGrC,IAFH,CAEQ,OAFR,EAEiB,OAFjB,EAGGA,IAHH,CAGQ,GAHR,EAGa0qC,GAHb,EAIG1qC,IAJH,CAIQ,WAJR,EAIqB,eAAe2pD,QAAQ,CAACp8C,EAAxB,GAA6B,GAA7B,IAAoCo8C,QAAQ,CAACn8C,EAAT,GAAc,CAAlD,IAAuD,GAJ5E;AAKD;;AAED,WAAS48C,UAAT,CAAoBP,IAApB,EAA0B;AACxBA,QAAI,CACDxnD,MADH,CACU,MADV,EAEGrC,IAFH,CAEQ,OAFR,EAEiB,OAFjB,EAGGA,IAHH,CAGQ,QAHR,EAGkB,CAHlB,EAIGA,IAJH,CAIQ,IAJR,EAIc2pD,QAAQ,CAACp8C,EAAT,GAAc,CAJ5B,EAKGvN,IALH,CAKQ,IALR,EAKc2pD,QAAQ,CAACn8C,EAAT,GAAc,CAL5B,EAMGxN,IANH,CAMQ,IANR,EAMc2pD,QAAQ,CAACp8C,EAAT,GAAc,CAN5B,EAOGvN,IAPH,CAOQ,IAPR,EAOc2pD,QAAQ,CAACn8C,EAAT,GAAc,CAP5B,EAQGxN,IARH,CAQQ,OARR,EAQiB,OARjB,EASGA,IATH,CASQ,cATR,EASwB,KATxB,EAUGA,IAVH,CAUQ,QAVR,EAUkB,MAVlB;AAWD;;AAED,MAAI2pD,QAAQ,CAAClC,KAAT,GAAiB,CAArB,EAAwB;AACtBqC,SAAK,CAACD,IAAD,CAAL;AACD,GAFD,MAEO,IAAIF,QAAQ,CAAClC,KAAT,GAAiB,CAArB,EAAwB;AAC7B0C,OAAG,CAACN,IAAD,CAAH;AACD,GAFM,MAEA;AACLO,cAAU,CAACP,IAAD,CAAV;AACD;;AAED,SAAOD,aAAP;AACD,CApFM;AAsFA,IAAM3B,UAAU,GAAG,SAAbA,UAAa,CAAStwC,OAAT,EAAkBqwC,UAAlB,EAA8B;AACtD,MAAM4B,aAAa,GAAGjyC,OAAO,CAACtV,MAAR,CAAe,QAAf,CAAtB;AACAunD,eAAa,CAAC5pD,IAAd,CAAmB,IAAnB,EAAyBgoD,UAAU,CAACz6C,EAApC;AACAq8C,eAAa,CAAC5pD,IAAd,CAAmB,IAAnB,EAAyBgoD,UAAU,CAACx6C,EAApC;AACAo8C,eAAa,CAAC5pD,IAAd,CAAmB,MAAnB,EAA2BgoD,UAAU,CAAC7qC,IAAtC;AACAysC,eAAa,CAAC5pD,IAAd,CAAmB,QAAnB,EAA6BgoD,UAAU,CAAC9qC,MAAxC;AACA0sC,eAAa,CAAC5pD,IAAd,CAAmB,GAAnB,EAAwBgoD,UAAU,CAACzgD,CAAnC;;AAEA,MAAI,OAAOqiD,aAAa,CAAC3pD,KAArB,KAA+B,WAAnC,EAAgD;AAC9C2pD,iBAAa,CAAC5pD,IAAd,CAAmB,OAAnB,EAA4B4pD,aAAa,CAAC3pD,KAA1C;AACD;;AAED,MAAI,OAAO+nD,UAAU,CAACxlC,KAAlB,KAA4B,WAAhC,EAA6C;AAC3ConC,iBAAa,CAACvnD,MAAd,CAAqB,OAArB,EAA8BlC,IAA9B,CAAmC6nD,UAAU,CAACxlC,KAA9C;AACD;;AAED,SAAOonC,aAAP;AACD,CAjBM;AAmBA,IAAMzQ,QAAQ,GAAG,SAAXA,QAAW,CAASz2C,IAAT,EAAek8C,QAAf,EAAyB;AAC/C;AACA,MAAMoD,KAAK,GAAGpD,QAAQ,CAACz+C,IAAT,CAAc4D,OAAd,CAAsB,cAAtB,EAAsC,GAAtC,CAAd;AAEA,MAAMm1C,QAAQ,GAAGx2C,IAAI,CAACL,MAAL,CAAY,MAAZ,CAAjB;AACA62C,UAAQ,CAACl5C,IAAT,CAAc,GAAd,EAAmB4+C,QAAQ,CAACj9C,CAA5B;AACAu3C,UAAQ,CAACl5C,IAAT,CAAc,GAAd,EAAmB4+C,QAAQ,CAACh9C,CAA5B;AACAs3C,UAAQ,CAACl5C,IAAT,CAAc,OAAd,EAAuB,QAAvB;AAEAk5C,UAAQ,CAAC13C,KAAT,CAAe,aAAf,EAA8Bo9C,QAAQ,CAAC7F,MAAvC;;AAEA,MAAI,OAAO6F,QAAQ,CAAC3+C,KAAhB,KAA0B,WAA9B,EAA2C;AACzCi5C,YAAQ,CAACl5C,IAAT,CAAc,OAAd,EAAuB4+C,QAAQ,CAAC3+C,KAAhC;AACD;;AAED,MAAMi/C,IAAI,GAAGhG,QAAQ,CAAC72C,MAAT,CAAgB,OAAhB,CAAb;AACA68C,MAAI,CAACl/C,IAAL,CAAU,GAAV,EAAe4+C,QAAQ,CAACj9C,CAAT,GAAai9C,QAAQ,CAAC5F,UAAT,GAAsB,CAAlD;AACAkG,MAAI,CAAC/+C,IAAL,CAAU6hD,KAAV;AAEA,SAAO9I,QAAP;AACD,CApBM;AAsBA,IAAMiG,SAAS,GAAG,SAAZA,SAAY,CAASz8C,IAAT,EAAe08C,SAAf,EAA0B;AACjD,WAASC,SAAT,CAAmB19C,CAAnB,EAAsBC,CAAtB,EAAyBV,KAAzB,EAAgCC,MAAhC,EAAwCm+C,GAAxC,EAA6C;AAC3C,WACE39C,CAAC,GACD,GADA,GAEAC,CAFA,GAGA,GAHA,IAICD,CAAC,GAAGT,KAJL,IAKA,GALA,GAMAU,CANA,GAOA,GAPA,IAQCD,CAAC,GAAGT,KARL,IASA,GATA,IAUCU,CAAC,GAAGT,MAAJ,GAAam+C,GAVd,IAWA,GAXA,IAYC39C,CAAC,GAAGT,KAAJ,GAAYo+C,GAAG,GAAG,GAZnB,IAaA,GAbA,IAcC19C,CAAC,GAAGT,MAdL,IAeA,GAfA,GAgBAQ,CAhBA,GAiBA,GAjBA,IAkBCC,CAAC,GAAGT,MAlBL,CADF;AAqBD;;AACD,MAAMiM,OAAO,GAAG1K,IAAI,CAACL,MAAL,CAAY,SAAZ,CAAhB;AACA+K,SAAO,CAACpN,IAAR,CAAa,QAAb,EAAuBq/C,SAAS,CAACD,SAAS,CAACz9C,CAAX,EAAcy9C,SAAS,CAACx9C,CAAxB,EAA2B,EAA3B,EAA+B,EAA/B,EAAmC,CAAnC,CAAhC;AACAwL,SAAO,CAACpN,IAAR,CAAa,OAAb,EAAsB,UAAtB;AAEAo/C,WAAS,CAACx9C,CAAV,GAAcw9C,SAAS,CAACx9C,CAAV,GAAcw9C,SAAS,CAACiL,WAAtC;AACAjL,WAAS,CAACz9C,CAAV,GAAcy9C,SAAS,CAACz9C,CAAV,GAAc,MAAMy9C,SAAS,CAACiL,WAA5C;AACAlR,UAAQ,CAACz2C,IAAD,EAAO08C,SAAP,CAAR;AACD,CA/BM;AAiCA,IAAM2J,WAAW,GAAG,SAAdA,WAAc,CAASrmD,IAAT,EAAew6B,OAAf,EAAwB5+B,IAAxB,EAA8B;AACvD,MAAMglB,CAAC,GAAG5gB,IAAI,CAACL,MAAL,CAAY,GAAZ,CAAV;AAEA,MAAM5C,IAAI,GAAGi5C,WAAW,EAAxB;AACAj5C,MAAI,CAACkC,CAAL,GAASu7B,OAAO,CAACv7B,CAAjB;AACAlC,MAAI,CAACmC,CAAL,GAASs7B,OAAO,CAACt7B,CAAjB;AACAnC,MAAI,CAAC0d,IAAL,GAAY+f,OAAO,CAAC/f,IAApB;AACA1d,MAAI,CAACyB,KAAL,GAAa5C,IAAI,CAAC4C,KAAlB;AACAzB,MAAI,CAAC0B,MAAL,GAAc7C,IAAI,CAAC6C,MAAnB;AACA1B,MAAI,CAACQ,KAAL,GAAa,kCAAkCi9B,OAAO,CAACpuB,GAAvD;AACArP,MAAI,CAACgC,EAAL,GAAU,CAAV;AACAhC,MAAI,CAACiC,EAAL,GAAU,CAAV;AACAk3C,UAAQ,CAACt1B,CAAD,EAAI7jB,IAAJ,CAAR;;AAEAggD,wBAAsB,CAACnhD,IAAD,CAAtB,CACE4+B,OAAO,CAAC/8B,IADV,EAEEmjB,CAFF,EAGE7jB,IAAI,CAACkC,CAHP,EAIElC,IAAI,CAACmC,CAJP,EAKEnC,IAAI,CAACyB,KALP,EAMEzB,IAAI,CAAC0B,MANP,EAOE;AAAElB,SAAK,EAAE,kCAAkCi9B,OAAO,CAACpuB;AAAnD,GAPF,EAQExQ,IARF,EASE4+B,OAAO,CAAC6qB,MATV;AAWD,CAzBM;AA2BP,IAAIuC,SAAS,GAAG,CAAC,CAAjB;AACA;;;;;;;AAMO,IAAMrB,QAAQ,GAAG,SAAXA,QAAW,CAASvmD,IAAT,EAAeg4B,IAAf,EAAqBp8B,IAArB,EAA2B;AACjD,MAAMkhD,MAAM,GAAG9kB,IAAI,CAAC/4B,CAAL,GAASrD,IAAI,CAAC4C,KAAL,GAAa,CAArC;AACA,MAAMoiB,CAAC,GAAG5gB,IAAI,CAACL,MAAL,CAAY,GAAZ,CAAV;AACAioD,WAAS;AACT,MAAMz0C,SAAS,GAAG,MAAM,IAAI,EAA5B;AACAyN,GAAC,CAACjhB,MAAF,CAAS,MAAT,EACGrC,IADH,CACQ,IADR,EACc,SAASsqD,SADvB,EAEGtqD,IAFH,CAEQ,IAFR,EAEcw/C,MAFd,EAGGx/C,IAHH,CAGQ,IAHR,EAGc06B,IAAI,CAAC94B,CAHnB,EAIG5B,IAJH,CAIQ,IAJR,EAIcw/C,MAJd,EAKGx/C,IALH,CAKQ,IALR,EAKc6V,SALd,EAMG7V,IANH,CAMQ,OANR,EAMiB,WANjB,EAOGA,IAPH,CAOQ,cAPR,EAOwB,KAPxB,EAQGA,IARH,CAQQ,kBARR,EAQ4B,KAR5B,EASGA,IATH,CASQ,QATR,EASkB,MATlB;AAWA0pD,UAAQ,CAACpmC,CAAD,EAAI;AACV/V,MAAE,EAAEiyC,MADM;AAEVhyC,MAAE,EAAE,MAAM,CAAC,IAAIktB,IAAI,CAAC+sB,KAAV,IAAmB,EAFnB;AAGVA,SAAK,EAAE/sB,IAAI,CAAC+sB;AAHF,GAAJ,CAAR;AAMA,MAAMhoD,IAAI,GAAGi5C,WAAW,EAAxB;AACAj5C,MAAI,CAACkC,CAAL,GAAS+4B,IAAI,CAAC/4B,CAAd;AACAlC,MAAI,CAACmC,CAAL,GAAS84B,IAAI,CAAC94B,CAAd;AACAnC,MAAI,CAAC0d,IAAL,GAAYud,IAAI,CAACvd,IAAjB;AACA1d,MAAI,CAACyB,KAAL,GAAa5C,IAAI,CAAC4C,KAAlB;AACAzB,MAAI,CAAC0B,MAAL,GAAc7C,IAAI,CAAC6C,MAAnB;AACA1B,MAAI,CAACQ,KAAL,GAAa,oBAAoBy6B,IAAI,CAAC5rB,GAAtC;AACArP,MAAI,CAACgC,EAAL,GAAU,CAAV;AACAhC,MAAI,CAACiC,EAAL,GAAU,CAAV;AACAk3C,UAAQ,CAACt1B,CAAD,EAAI7jB,IAAJ,CAAR;AAEA,MAAI23B,IAAI,GAAGsD,IAAI,CAAC/4B,CAAL,GAAS,EAApB;AACA+4B,MAAI,CAAC0sB,MAAL,CAAYroD,OAAZ,CAAoB,UAAA+oD,MAAM,EAAI;AAC5B,QAAMC,MAAM,GAAGrtB,IAAI,CAAC2V,MAAL,CAAYyX,MAAZ,CAAf;AAEA,QAAM56C,MAAM,GAAG;AACbK,QAAE,EAAE6pB,IADS;AAEb5pB,QAAE,EAAEktB,IAAI,CAAC94B,CAFI;AAGb2F,OAAC,EAAE,CAHU;AAIb4V,UAAI,EAAE4qC,MAJO;AAKb7qC,YAAM,EAAE,MALK;AAMbsF,WAAK,EAAEslC;AANM,KAAf;AASAG,cAAU,CAAC3kC,CAAD,EAAIpW,MAAJ,CAAV;AACAkqB,QAAI,IAAI,EAAR;AACD,GAdD;;AAgBAqoB,wBAAsB,CAACnhD,IAAD,CAAtB,CACEo8B,IAAI,CAACA,IADP,EAEEpX,CAFF,EAGE7jB,IAAI,CAACkC,CAHP,EAIElC,IAAI,CAACmC,CAJP,EAKEnC,IAAI,CAACyB,KALP,EAMEzB,IAAI,CAAC0B,MANP,EAOE;AAAElB,SAAK,EAAE;AAAT,GAPF,EAQE3B,IARF,EASEo8B,IAAI,CAACqtB,MATP;AAWD,CA7DM;AA+DP;;;;;;AAKO,IAAMrM,kBAAkB,GAAG,SAArBA,kBAAqB,CAASh5C,IAAT,EAAe4kB,MAAf,EAAuB;AACvD,MAAMqxB,QAAQ,GAAGC,QAAQ,CAACl2C,IAAD,EAAO;AAC9Bf,KAAC,EAAE2lB,MAAM,CAAC8tB,MADoB;AAE9BxzC,KAAC,EAAE0lB,MAAM,CAACguB,MAFoB;AAG9Bp0C,SAAK,EAAEomB,MAAM,CAAC+tB,KAAP,GAAe/tB,MAAM,CAAC8tB,MAHC;AAI9Bj0C,UAAM,EAAEmmB,MAAM,CAACiuB,KAAP,GAAejuB,MAAM,CAACguB,MAJA;AAK9Bn4B,QAAI,EAAEmK,MAAM,CAACnK,IALiB;AAM9Bld,SAAK,EAAE;AANuB,GAAP,CAAzB;AAQA04C,UAAQ,CAACiH,KAAT;AACD,CAVM;AAYA,IAAM9G,UAAU,GAAG,SAAbA,UAAa,GAAW;AACnC,SAAO;AACLn3C,KAAC,EAAE,CADE;AAELC,KAAC,EAAE,CAFE;AAGLub,QAAI,EAAE3c,SAHD;AAIL,mBAAe,OAJV;AAKLU,SAAK,EAAE,GALF;AAMLC,UAAM,EAAE,GANH;AAOL63C,cAAU,EAAE,CAPP;AAQLv3C,MAAE,EAAE,CARC;AASLC,MAAE,EAAE;AATC,GAAP;AAWD,CAZM;AAcA,IAAMg3C,WAAW,GAAG,SAAdA,WAAc,GAAW;AACpC,SAAO;AACL/2C,KAAC,EAAE,CADE;AAELC,KAAC,EAAE,CAFE;AAGLV,SAAK,EAAE,GAHF;AAIL63C,UAAM,EAAE,OAJH;AAKL53C,UAAM,EAAE,GALH;AAMLM,MAAE,EAAE,CANC;AAOLC,MAAE,EAAE;AAPC,GAAP;AASD,CAVM;;AAYP,IAAM+9C,sBAAsB,GAAI,YAAW;AACzC,WAASK,MAAT,CAAgBC,OAAhB,EAAyBz8B,CAAzB,EAA4B3hB,CAA5B,EAA+BC,CAA/B,EAAkCV,KAAlC,EAAyCC,MAAzC,EAAiD6+C,SAAjD,EAA4D+H,MAA5D,EAAoE;AAClE,QAAM5nD,IAAI,GAAGmjB,CAAC,CACXjhB,MADU,CACH,MADG,EAEVrC,IAFU,CAEL,GAFK,EAEA2B,CAAC,GAAGT,KAAK,GAAG,CAFZ,EAGVlB,IAHU,CAGL,GAHK,EAGA4B,CAAC,GAAGT,MAAM,GAAG,CAAb,GAAiB,CAHjB,EAIVK,KAJU,CAIJ,YAJI,EAIUumD,MAJV,EAKVvmD,KALU,CAKJ,aALI,EAKW,QALX,EAMVrB,IANU,CAML4/C,OANK,CAAb;;AAOAE,iBAAa,CAAC9/C,IAAD,EAAO6/C,SAAP,CAAb;AACD;;AAED,WAASE,OAAT,CAAiBH,OAAjB,EAA0Bz8B,CAA1B,EAA6B3hB,CAA7B,EAAgCC,CAAhC,EAAmCV,KAAnC,EAA0CC,MAA1C,EAAkD6+C,SAAlD,EAA6D1hD,IAA7D,EAAmEypD,MAAnE,EAA2E;AAAA,QACjEtsC,YADiE,GAChCnd,IADgC,CACjEmd,YADiE;AAAA,QACnDC,cADmD,GAChCpd,IADgC,CACnDod,cADmD;AAGzE,QAAM69B,KAAK,GAAGwG,OAAO,CAAC17C,KAAR,CAAc,cAAd,CAAd;;AACA,SAAK,IAAIxG,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG07C,KAAK,CAACz7C,MAA1B,EAAkCD,CAAC,EAAnC,EAAuC;AACrC,UAAMmJ,EAAE,GAAGnJ,CAAC,GAAG4d,YAAJ,GAAoBA,YAAY,IAAI89B,KAAK,CAACz7C,MAAN,GAAe,CAAnB,CAAb,GAAsC,CAApE;AACA,UAAMqC,IAAI,GAAGmjB,CAAC,CACXjhB,MADU,CACH,MADG,EAEVrC,IAFU,CAEL,GAFK,EAEA2B,CAAC,GAAGT,KAAK,GAAG,CAFZ,EAGVlB,IAHU,CAGL,GAHK,EAGA4B,CAHA,EAIV5B,IAJU,CAIL,MAJK,EAIG+nD,MAJH,EAKVvmD,KALU,CAKJ,aALI,EAKW,QALX,EAMVA,KANU,CAMJ,WANI,EAMSia,YANT,EAOVja,KAPU,CAOJ,aAPI,EAOWka,cAPX,CAAb;AAQAvb,UAAI,CACDkC,MADH,CACU,OADV,EAEGrC,IAFH,CAEQ,GAFR,EAEa2B,CAAC,GAAGT,KAAK,GAAG,CAFzB,EAGGlB,IAHH,CAGQ,IAHR,EAGcgH,EAHd,EAIG7G,IAJH,CAIQo5C,KAAK,CAAC17C,CAAD,CAJb;AAMAsC,UAAI,CACDH,IADH,CACQ,GADR,EACa4B,CAAC,GAAGT,MAAM,GAAG,GAD1B,EAEGnB,IAFH,CAEQ,mBAFR,EAE6B,SAF7B,EAGGA,IAHH,CAGQ,oBAHR,EAG8B,SAH9B;;AAKAigD,mBAAa,CAAC9/C,IAAD,EAAO6/C,SAAP,CAAb;AACD;AACF;;AAED,WAASG,IAAT,CAAcJ,OAAd,EAAuBz8B,CAAvB,EAA0B3hB,CAA1B,EAA6BC,CAA7B,EAAgCV,KAAhC,EAAuCC,MAAvC,EAA+C6+C,SAA/C,EAA0D1hD,IAA1D,EAAgE;AAC9D,QAAMwkB,IAAI,GAAGQ,CAAC,CAACjhB,MAAF,CAAS,QAAT,CAAb;AACA,QAAMwR,CAAC,GAAGiP,IAAI,CACXzgB,MADO,CACA,eADA,EAEPrC,IAFO,CAEF,GAFE,EAEG2B,CAFH,EAGP3B,IAHO,CAGF,GAHE,EAGG4B,CAHH,EAIP5B,IAJO,CAIF,OAJE,EAIOkB,KAJP,EAKPlB,IALO,CAKF,QALE,EAKQmB,MALR,EAMPnB,IANO,CAMF,UANE,EAMU,OANV,CAAV;AAQA,QAAMG,IAAI,GAAG0T,CAAC,CACXxR,MADU,CACH,KADG,EAEVb,KAFU,CAEJ,SAFI,EAEO,OAFP,EAGVA,KAHU,CAGJ,QAHI,EAGM,MAHN,EAIVA,KAJU,CAIJ,OAJI,EAIK,MAJL,CAAb;AAMArB,QAAI,CACDkC,MADH,CACU,KADV,EAEGrC,IAFH,CAEQ,OAFR,EAEiB,OAFjB,EAGGwB,KAHH,CAGS,SAHT,EAGoB,YAHpB,EAIGA,KAJH,CAIS,YAJT,EAIuB,QAJvB,EAKGA,KALH,CAKS,gBALT,EAK2B,QAL3B,EAME;AANF,KAOGrB,IAPH,CAOQ4/C,OAPR;AASAG,WAAO,CAACH,OAAD,EAAUj9B,IAAV,EAAgBnhB,CAAhB,EAAmBC,CAAnB,EAAsBV,KAAtB,EAA6BC,MAA7B,EAAqC6+C,SAArC,EAAgD1hD,IAAhD,CAAP;;AACA2hD,iBAAa,CAAC9/C,IAAD,EAAO6/C,SAAP,CAAb;AACD;;AAED,WAASC,aAAT,CAAuBG,MAAvB,EAA+BC,iBAA/B,EAAkD;AAChD,SAAK,IAAMrhD,GAAX,IAAkBqhD,iBAAlB,EAAqC;AACnC,UAAIrhD,GAAG,IAAIqhD,iBAAX,EAA8B;AAC5B;AACA;AACAD,cAAM,CAACpgD,IAAP,CAAYhB,GAAZ,EAAiBqhD,iBAAiB,CAACrhD,GAAD,CAAlC;AACD;AACF;AACF;;AAED,SAAO,UAASV,IAAT,EAAe;AACpB,WAAOA,IAAI,CAACsd,aAAL,KAAuB,IAAvB,GAA8BukC,IAA9B,GAAqC7hD,IAAI,CAACsd,aAAL,KAAuB,KAAvB,GAA+BkkC,MAA/B,GAAwCI,OAApF;AACD,GAFD;AAGD,CAnF8B,EAA/B;;AAqFA,IAAMkI,YAAY,GAAG,SAAfA,YAAe,CAASmC,QAAT,EAAmB;AACtCA,UAAQ,CACLloD,MADH,CACU,MADV,EAEGA,MAFH,CAEU,QAFV,EAGGrC,IAHH,CAGQ,IAHR,EAGc,WAHd,EAIGA,IAJH,CAIQ,MAJR,EAIgB,CAJhB,EAKGA,IALH,CAKQ,MALR,EAKgB,CALhB,EAMGA,IANH,CAMQ,aANR,EAMuB,CANvB,EAOGA,IAPH,CAOQ,cAPR,EAOwB,CAPxB,EAQGA,IARH,CAQQ,QARR,EAQkB,MARlB,EASGqC,MATH,CASU,MATV,EAUGrC,IAVH,CAUQ,GAVR,EAUa,kBAVb,EADsC,CAWJ;AACnC,CAZD;;AAce;AACb44C,UAAQ,EAARA,QADa;AAEbqP,YAAU,EAAVA,UAFa;AAGbc,aAAW,EAAXA,WAHa;AAIb5P,UAAQ,EAARA,QAJa;AAKbgG,WAAS,EAATA,SALa;AAMb8J,UAAQ,EAARA,QANa;AAObvN,oBAAkB,EAAlBA,kBAPa;AAQb5C,YAAU,EAAVA,UARa;AASbJ,aAAW,EAAXA,WATa;AAUb0P,cAAY,EAAZA;AAVa,CAAf,E;;;;;;;;;;;;ACnaA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;AAGA;AACA;AAEA,IAAM9pD,IAAI,GAAG,EAAb;AACO,IAAM2mB,OAAO,GAAG,SAAVA,OAAU,CAASC,GAAT,EAAc;AACnC,MAAMrmB,IAAI,GAAG7B,MAAM,CAAC6B,IAAP,CAAYqmB,GAAZ,CAAb;AAEArmB,MAAI,CAACE,OAAL,CAAa,UAASC,GAAT,EAAc;AACzBV,QAAI,CAACU,GAAD,CAAJ,GAAYkmB,GAAG,CAAClmB,GAAD,CAAf;AACD,GAFD;AAGD,CANM;AAQP;;;;;;AAKO,IAAM6mB,IAAI,GAAG,SAAPA,IAAO,CAAChmB,EAAD,EAAKozB,GAAL,EAAa;AAC/B,MAAI;AACFh0B,+CAAG,CAACC,KAAJ,CAAU,iCAAV;AAEA,QAAMmjB,GAAG,GAAGrhB,iDAAM,CAAC,MAAMnB,EAAP,CAAlB;AAEA,QAAMyjB,CAAC,GAAGjB,GAAG,CAAChgB,MAAJ,CAAW,GAAX,CAAV;AAEAihB,KAAC,CAACjhB,MAAF,CAAS,MAAT,EACGrC,IADH,CACQ,OADR,EACiB,YADjB,EAEGA,IAFH,CAGI,GAHJ,EAII,4kBAJJ;AAOAsjB,KAAC,CAACjhB,MAAF,CAAS,MAAT,EACGrC,IADH,CACQ,OADR,EACiB,YADjB,EAEGA,IAFH,CAGI,GAHJ,EAII,6LAJJ;AAOAsjB,KAAC,CAACjhB,MAAF,CAAS,MAAT,EACGrC,IADH,CACQ,OADR,EACiB,YADjB,EAEGA,IAFH,CAGI,GAHJ,EAII,8LAJJ;AAOAsjB,KAAC,CAACjhB,MAAF,CAAS,MAAT,EACGrC,IADH,CACQ,OADR,EACiB,YADjB,EAEGA,IAFH,CAGI,GAHJ,EAII,6GAJJ;AAOAsjB,KAAC,CAACjhB,MAAF,CAAS,MAAT,EACGrC,IADH,CACQ,OADR,EACiB,YADjB,EAEGA,IAFH,CAGI,GAHJ,EAII,kHAJJ;AAOAsjB,KAAC,CAACjhB,MAAF,CAAS,MAAT,EACGrC,IADH,CACQ,OADR,EACiB,YADjB,EAEGA,IAFH,CAGI,GAHJ,EAII,+LAJJ;AAOAsjB,KAAC,CAACjhB,MAAF,CAAS,MAAT,EAAiB;AAAjB,KACGrC,IADH,CACQ,OADR,EACiB,YADjB,EAEGA,IAFH,CAEQ,GAFR,EAEa,IAFb,EAGGA,IAHH,CAGQ,GAHR,EAGa,GAHb,EAIGA,IAJH,CAIQ,WAJR,EAIqB,OAJrB,EAKGwB,KALH,CAKS,aALT,EAKwB,QALxB,EAMGrB,IANH,CAMQ,uBANR;AAOAmjB,KAAC,CAACjhB,MAAF,CAAS,MAAT,EAAiB;AAAjB,KACGrC,IADH,CACQ,OADR,EACiB,YADjB,EAEGA,IAFH,CAEQ,GAFR,EAEa,IAFb,EAGGA,IAHH,CAGQ,GAHR,EAGa,GAHb,EAIGA,IAJH,CAIQ,WAJR,EAIqB,OAJrB,EAKGwB,KALH,CAKS,aALT,EAKwB,QALxB,EAMGrB,IANH,CAMQ,qBAAqB8yB,GAN7B;AAQA5Q,OAAG,CAACriB,IAAJ,CAAS,QAAT,EAAmB,GAAnB;AACAqiB,OAAG,CAACriB,IAAJ,CAAS,OAAT,EAAkB,GAAlB;AACAqiB,OAAG,CAACriB,IAAJ,CAAS,SAAT,EAAoB,eAApB;AACD,GAnED,CAmEE,OAAOwI,CAAP,EAAU;AACVvJ,+CAAG,CAAC0S,KAAJ,CAAU,oCAAV;AACA1S,+CAAG,CAAC0S,KAAJ,CAAUnJ,CAAC,CAACu8B,OAAZ;AACD;AACF,CAxEM;AA0EQ;AACb9f,SAAO,EAAPA,OADa;AAEbY,MAAI,EAAJA;AAFa,CAAf,E;;;;;;;;;;;;AC9FA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEO,IAAM2kC,MAAM,GAAG;AACpBtrD,OAAK,EAAE,CADa;AAEpB8D,MAAI,EAAE,CAFc;AAGpBsE,MAAI,EAAE,CAHc;AAIpBqK,OAAK,EAAE,CAJa;AAKpB84C,OAAK,EAAE;AALa,CAAf;AAQA,IAAMxrD,GAAG,GAAG;AACjBC,OAAK,EAAE,iBAAM,CAAE,CADE;AAEjB8D,MAAI,EAAE,gBAAM,CAAE,CAFG;AAGjBsE,MAAI,EAAE,gBAAM,CAAE,CAHG;AAIjBqK,OAAK,EAAE,iBAAM,CAAE,CAJE;AAKjB84C,OAAK,EAAE,iBAAM,CAAE;AALE,CAAZ;AAQA,IAAMC,WAAW,GAAG,SAAdA,WAAc,GAA0B;AAAA,MAAjBvgC,KAAiB,uEAAT,OAAS;;AACnD,MAAI1gB,KAAK,CAAC0gB,KAAD,CAAT,EAAkB;AAChBA,SAAK,GAAGA,KAAK,CAACyP,WAAN,EAAR;;AACA,QAAI4wB,MAAM,CAACrgC,KAAD,CAAN,KAAkB3pB,SAAtB,EAAiC;AAC/B2pB,WAAK,GAAGqgC,MAAM,CAACrgC,KAAD,CAAd;AACD;AACF;;AACDlrB,KAAG,CAACW,KAAJ,GAAY,YAAM,CAAE,CAApB;;AACAX,KAAG,CAACC,KAAJ,GAAY,YAAM,CAAE,CAApB;;AACAD,KAAG,CAAC+D,IAAJ,GAAW,YAAM,CAAE,CAAnB;;AACA/D,KAAG,CAACqI,IAAJ,GAAW,YAAM,CAAE,CAAnB;;AACArI,KAAG,CAAC0S,KAAJ,GAAY,YAAM,CAAE,CAApB;;AACA1S,KAAG,CAACwrD,KAAJ,GAAY,YAAM,CAAE,CAApB;;AACA,MAAItgC,KAAK,IAAIqgC,MAAM,CAACC,KAApB,EAA2B;AACzBxrD,OAAG,CAACwrD,KAAJ,GAAYlb,OAAO,CAAC59B,KAAR,GACR49B,OAAO,CAAC59B,KAAR,CAAcg5C,IAAd,CAAmBpb,OAAnB,EAA4B/U,MAAM,CAAC,OAAD,CAAlC,EAA6C,eAA7C,CADQ,GAER+U,OAAO,CAACtwC,GAAR,CAAY0rD,IAAZ,CAAiBpb,OAAjB,EAA0B,UAA1B,EAAsC/U,MAAM,CAAC,OAAD,CAA5C,CAFJ;AAGD;;AACD,MAAIrQ,KAAK,IAAIqgC,MAAM,CAAC74C,KAApB,EAA2B;AACzB1S,OAAG,CAAC0S,KAAJ,GAAY49B,OAAO,CAAC59B,KAAR,GACR49B,OAAO,CAAC59B,KAAR,CAAcg5C,IAAd,CAAmBpb,OAAnB,EAA4B/U,MAAM,CAAC,OAAD,CAAlC,EAA6C,eAA7C,CADQ,GAER+U,OAAO,CAACtwC,GAAR,CAAY0rD,IAAZ,CAAiBpb,OAAjB,EAA0B,UAA1B,EAAsC/U,MAAM,CAAC,OAAD,CAA5C,CAFJ;AAGD;;AACD,MAAIrQ,KAAK,IAAIqgC,MAAM,CAACljD,IAApB,EAA0B;AACxBrI,OAAG,CAACqI,IAAJ,GAAWioC,OAAO,CAACjoC,IAAR,GACPioC,OAAO,CAACjoC,IAAR,CAAaqjD,IAAb,CAAkBpb,OAAlB,EAA2B/U,MAAM,CAAC,MAAD,CAAjC,EAA2C,eAA3C,CADO,GAEP+U,OAAO,CAACtwC,GAAR,CAAY0rD,IAAZ,CAAiBpb,OAAjB,cAAsC/U,MAAM,CAAC,MAAD,CAA5C,CAFJ;AAGD;;AACD,MAAIrQ,KAAK,IAAIqgC,MAAM,CAACxnD,IAApB,EAA0B;AACxB/D,OAAG,CAAC+D,IAAJ,GAAWusC,OAAO,CAACvsC,IAAR,CAAa;AAAb,MACPusC,OAAO,CAACvsC,IAAR,CAAa2nD,IAAb,CAAkBpb,OAAlB,EAA2B/U,MAAM,CAAC,MAAD,CAAjC,EAA2C,kBAA3C,CADO,GAEP+U,OAAO,CAACtwC,GAAR,CAAY0rD,IAAZ,CAAiBpb,OAAjB,EAA0B,UAA1B,EAAsC/U,MAAM,CAAC,MAAD,CAA5C,CAFJ;AAGD;;AACD,MAAIrQ,KAAK,IAAIqgC,MAAM,CAACtrD,KAApB,EAA2B;AACzBD,OAAG,CAACC,KAAJ,GAAYqwC,OAAO,CAACrwC,KAAR,GACRqwC,OAAO,CAACrwC,KAAR,CAAcyrD,IAAd,CAAmBpb,OAAnB,EAA4B/U,MAAM,CAAC,OAAD,CAAlC,EAA6C,mBAA7C,CADQ,GAER+U,OAAO,CAACtwC,GAAR,CAAY0rD,IAAZ,CAAiBpb,OAAjB,EAA0B,UAA1B,EAAsC/U,MAAM,CAAC,OAAD,CAA5C,CAFJ;AAGD;AACF,CAtCM;;AAwCP,IAAMA,MAAM,GAAG,SAATA,MAAS,CAAArQ,KAAK,EAAI;AACtB,MAAMygC,IAAI,GAAG/vB,kDAAM,GAAGL,MAAT,CAAgB,QAAhB,CAAb;AACA,qBAAYowB,IAAZ,gBAAsBzgC,KAAtB;AACD,CAHD,C;;;;;;;;;;;;AC1DA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;AAIA;AACA;AACA;AACA;AACA;AAEA;;;;;;;;;;;;;;;;;;;;;;AAqBA,IAAMqsB,IAAI,GAAG,SAAPA,IAAO,GAAW;AAAA;;AACtB,MAAMl4C,IAAI,GAAG+f,mDAAU,CAAC1f,SAAX,EAAb,CADsB,CAEtB;;AACA,MAAI2M,KAAJ;;AACA,MAAIu/C,SAAS,CAAC/sD,MAAV,IAAoB,CAAxB,EAA2B;AACzB;AACA,QAAI,OAAO+sD,SAAS,CAAC,CAAD,CAAhB,KAAwB,WAA5B,EAAyC;AACvCC,aAAO,CAACC,cAAR,GAAyBF,SAAS,CAAC,CAAD,CAAlC;AACD;;AAEDv/C,SAAK,GAAGu/C,SAAS,CAAC,CAAD,CAAjB;AACD,GAPD,MAOO;AACLv/C,SAAK,GAAGu/C,SAAS,CAAC,CAAD,CAAjB;AACD,GAbqB,CAetB;;;AACA,MAAIG,QAAJ;;AACA,MAAI,OAAOH,SAAS,CAACA,SAAS,CAAC/sD,MAAV,GAAmB,CAApB,CAAhB,KAA2C,UAA/C,EAA2D;AACzDktD,YAAQ,GAAGH,SAAS,CAACA,SAAS,CAAC/sD,MAAV,GAAmB,CAApB,CAApB;AACAmB,+CAAG,CAACC,KAAJ,CAAU,yBAAV;AACD,GAHD,MAGO;AACL,QAAI,OAAOZ,IAAI,CAACwsD,OAAZ,KAAwB,WAA5B,EAAyC;AACvC,UAAI,OAAOxsD,IAAI,CAACwsD,OAAL,CAAaE,QAApB,KAAiC,UAArC,EAAiD;AAC/CA,gBAAQ,GAAG1sD,IAAI,CAACwsD,OAAL,CAAaE,QAAxB;AACA/rD,mDAAG,CAACC,KAAJ,CAAU,yBAAV;AACD,OAHD,MAGO;AACLD,mDAAG,CAACC,KAAJ,CAAU,4BAAV;AACD;AACF;AACF;;AACDoM,OAAK,GACHA,KAAK,KAAK9K,SAAV,GACI+C,QAAQ,CAACyiB,gBAAT,CAA0B,UAA1B,CADJ,GAEI,OAAO1a,KAAP,KAAiB,QAAjB,GACA/H,QAAQ,CAACyiB,gBAAT,CAA0B1a,KAA1B,CADA,GAEAA,KAAK,YAAYjB,MAAM,CAAC4gD,IAAxB,GACA,CAAC3/C,KAAD,CADA,GAEAA,KAPN,CA9BsB,CAqCT;;AAEbrM,6CAAG,CAACC,KAAJ,CAAU,2BAA2B4rD,OAAO,CAAC7yC,WAA7C;;AACA,MAAI,OAAO6yC,OAAO,CAAC7yC,WAAf,KAA+B,WAAnC,EAAgD;AAC9ChZ,+CAAG,CAACC,KAAJ,CAAU,0BAA0B4rD,OAAO,CAAC7yC,WAA5C;AACAoG,uDAAU,CAAC7f,gBAAX,CAA4B;AAAEyZ,iBAAW,EAAE6yC,OAAO,CAAC7yC;AAAvB,KAA5B;AACD;;AAED,MAAI,OAAO6yC,OAAO,CAACI,WAAf,KAA+B,WAAnC,EAAgD;AAC9C7sC,uDAAU,CAAC7f,gBAAX,CAA4B;AAAEkc,WAAK,EAAEowC,OAAO,CAACI;AAAjB,KAA5B;AACD;;AAED,MAAMC,YAAY,GAAG,IAAI1kD,8CAAK,CAAC2kD,gBAAV,CAA2B9sD,IAAI,CAAC4Z,gBAAhC,EAAkD5Z,IAAI,CAAC6Z,mBAAvD,CAArB;AAEA,MAAIwR,GAAJ;;AAnDsB,6BAqDb9rB,CArDa;AAsDpB,QAAM8Z,OAAO,GAAGrM,KAAK,CAACzN,CAAD,CAArB;AAEA;;AACA,QAAI,CAAC8Z,OAAO,CAACgvC,YAAR,CAAqB,gBAArB,CAAL,EAA6C;AAC3ChvC,aAAO,CAACxT,YAAR,CAAqB,gBAArB,EAAuC,IAAvC;AACD,KAFD,MAEO;AACL;AACD;;AAED,QAAMtE,EAAE,qBAAcsrD,YAAY,CAACE,IAAb,EAAd,CAAR,CA/DoB,CAiEpB;;AACA1hC,OAAG,GAAGhS,OAAO,CAAC2zC,SAAd,CAlEoB,CAoEpB;;AACA3hC,OAAG,GAAG4hC,4DAAM,CAAC5hC,GAAD,CAAN,CACH/kB,IADG,GAEHb,OAFG,CAEK,cAFL,EAEqB,OAFrB,CAAN;AAIA,QAAMyyC,IAAI,GAAG/vC,8CAAK,CAAC+kD,UAAN,CAAiB7hC,GAAjB,CAAb;;AACA,QAAI6sB,IAAJ,EAAU;AACRv3C,iDAAG,CAACC,KAAJ,CAAU,yBAAV,EAAqCs3C,IAArC;AACD;;AAED,QAAI;AACFn4B,yDAAU,CAAC3R,MAAX,CACE7M,EADF,EAEE8pB,GAFF,EAGE,UAAC8hC,OAAD,EAAUhqC,aAAV,EAA4B;AAC1B9J,eAAO,CAAC2zC,SAAR,GAAoBG,OAApB;;AACA,YAAI,OAAOT,QAAP,KAAoB,WAAxB,EAAqC;AACnCA,kBAAQ,CAACnrD,EAAD,CAAR;AACD;;AACD,YAAI4hB,aAAJ,EAAmBA,aAAa,CAAC9J,OAAD,CAAb;AACpB,OATH,EAUEA,OAVF;AAYD,KAbD,CAaE,OAAOnP,CAAP,EAAU;AACVvJ,iDAAG,CAACqI,IAAJ,CAAS,wBAAT;AACArI,iDAAG,CAACqI,IAAJ,CAASkB,CAAT;;AACA,UAAI,KAAI,CAACkjD,UAAT,EAAqB;AACnB,aAAI,CAACA,UAAL,CAAgBljD,CAAhB;AACD;AACF;AAjGmB;;AAqDtB,OAAK,IAAI3K,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGyN,KAAK,CAACxN,MAA1B,EAAkCD,CAAC,EAAnC,EAAuC;AAAA,qBAA9BA,CAA8B;;AAAA,6BAOnC;AAsCH;AACF,CAnGD;;AAqGA,IAAM8tD,UAAU,GAAG,SAAbA,UAAa,CAASzuD,MAAT,EAAiB;AAClC;AACA,MAAI,OAAOA,MAAM,CAAC4tD,OAAd,KAA0B,WAA9B,EAA2C;AACzC,QAAI,OAAO5tD,MAAM,CAAC4tD,OAAP,CAAe7yC,WAAtB,KAAsC,WAA1C,EAAuD;AACrD6yC,aAAO,CAAC7yC,WAAR,GAAsB/a,MAAM,CAAC4tD,OAAP,CAAe7yC,WAArC;AACD;;AACD,QAAI,OAAO/a,MAAM,CAAC4tD,OAAP,CAAelqD,UAAtB,KAAqC,WAAzC,EAAsD;AACpDkqD,aAAO,CAAClqD,UAAR,GAAqB1D,MAAM,CAAC4tD,OAAP,CAAelqD,UAApC;AACD;AACF;;AACDyd,qDAAU,CAACstC,UAAX,CAAsBzuD,MAAtB,EAVkC,CAWlC;AACD,CAZD;AAcA;;;;;;;AAKA,IAAM0uD,aAAa,GAAG,SAAhBA,aAAgB,GAAW;AAC/B,MAAI1uD,MAAJ;;AAEA,MAAI4tD,OAAO,CAAC7yC,WAAZ,EAAyB;AACvB;AACA/a,UAAM,GAAGmhB,mDAAU,CAAC1f,SAAX,EAAT;;AACA,QAAIzB,MAAM,CAAC+a,WAAX,EAAwB;AACtB6yC,aAAO,CAACtU,IAAR;AACD;AACF,GAND,MAMO;AACL,QAAI,OAAOsU,OAAO,CAAC7yC,WAAf,KAA+B,WAAnC,EAAgD;AAC9ChZ,iDAAG,CAACC,KAAJ,CAAU,qBAAV;AACAhC,YAAM,GAAGmhB,mDAAU,CAAC1f,SAAX,EAAT;;AACA,UAAIzB,MAAM,CAAC+a,WAAX,EAAwB;AACtB6yC,eAAO,CAACtU,IAAR;AACD;AACF;AACF;AACF,CAlBD;;AAoBA,IAAI,OAAOjzC,QAAP,KAAoB,WAAxB,EAAqC;AACnC;;;AAGA8G,QAAM,CAACkX,gBAAP,CACE,MADF,EAEE,YAAW;AACTqqC,iBAAa;AACd,GAJH,EAKE,KALF;AAOD;;AAED,IAAMd,OAAO,GAAG;AACd7yC,aAAW,EAAE,IADC;AAEdrX,YAAU,EAAE,IAFE;AAIdyd,YAAU,EAAVA,mDAJc;AAKd1S,OAAK,EAAE0S,mDAAU,CAAC1S,KALJ;AAMde,QAAM,EAAE2R,mDAAU,CAAC3R,MANL;AAQd8pC,MAAI,EAAJA,IARc;AASdmV,YAAU,EAAVA,UATc;AAWdC,eAAa,EAAbA;AAXc,CAAhB;AAced,sEAAf,E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtMA;;;;;;;;;;;;;;;AAeA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;CAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;AAEA,SAASn/C,KAAT,CAAexL,IAAf,EAAqB;AACnB,MAAM0rD,SAAS,GAAGplD,+CAAK,CAAC+kD,UAAN,CAAiBrrD,IAAjB,CAAlB;AACA,MAAM+kB,GAAG,GAAG3E,iDAAA,EAAZ;;AACA,MAAIsrC,SAAJ,EAAe;AACbC,gBAAY,CAACD,SAAD,CAAZ;AACA5sD,gDAAG,CAACC,KAAJ,CAAU,SAAV,EAAqB2sD,SAArB;AACD;;AACD,MAAME,SAAS,GAAGtlD,+CAAK,CAACulD,UAAN,CAAiB7rD,IAAjB,EAAuB+kB,GAAvB,CAAlB;AACA,MAAIjC,MAAJ;AAEAhkB,8CAAG,CAACC,KAAJ,CAAU,UAAU6sD,SAApB;;AACA,UAAQA,SAAR;AACE,SAAK,KAAL;AACE9oC,YAAM,GAAGomB,qEAAT;AACApmB,YAAM,CAACA,MAAP,CAAcC,EAAd,GAAmB+oC,kEAAnB;AACA;;AACF,SAAK,WAAL;AACEj2B,yEAAM,CAAClzB,KAAP;AACAmgB,YAAM,GAAGipC,uEAAT;AACAjpC,YAAM,CAACA,MAAP,CAAcC,EAAd,GAAmB8S,mEAAnB;AACA;;AACF,SAAK,cAAL;AACEA,yEAAM,CAAClzB,KAAP;AACAmgB,YAAM,GAAGipC,uEAAT;AACAjpC,YAAM,CAACA,MAAP,CAAcC,EAAd,GAAmB8S,mEAAnB;AACA;;AACF,SAAK,UAAL;AACE/S,YAAM,GAAGkpC,iFAAT;AACAlpC,YAAM,CAACA,MAAP,CAAcC,EAAd,GAAmBiyB,sEAAnB;AACA;;AACF,SAAK,OAAL;AACElyB,YAAM,GAAGmpC,oEAAT;AACAnpC,YAAM,CAACA,MAAP,CAAcC,EAAd,GAAmBwb,gEAAnB;AACA;;AACF,SAAK,OAAL;AACEzb,YAAM,GAAGopC,0EAAT;AACAppC,YAAM,CAACA,MAAP,CAAcC,EAAd,GAAmBC,+DAAnB;AACA;;AACF,SAAK,cAAL;AACEF,YAAM,GAAGopC,0EAAT;AACAppC,YAAM,CAACA,MAAP,CAAcC,EAAd,GAAmBC,+DAAnB;AACA;;AACF,SAAK,OAAL;AACEF,YAAM,GAAGqpC,2EAAT;AACArpC,YAAM,CAACA,MAAP,CAAcC,EAAd,GAAmBs/B,gEAAnB;AACA;;AACF,SAAK,cAAL;AACEv/B,YAAM,GAAGqpC,2EAAT;AACArpC,YAAM,CAACA,MAAP,CAAcC,EAAd,GAAmBs/B,gEAAnB;AACA;;AACF,SAAK,MAAL;AACEvjD,kDAAG,CAACC,KAAJ,CAAU,gBAAV;AACA+jB,YAAM,GAAG2mB,kEAAT;AACA3mB,YAAM,CAACA,MAAP,CAAcC,EAAd,GAAmBqpC,8DAAnB;AACA;;AACF,SAAK,KAAL;AACEttD,kDAAG,CAACC,KAAJ,CAAU,KAAV;AACA+jB,YAAM,GAAG6mB,gEAAT;AACA7mB,YAAM,CAACA,MAAP,CAAcC,EAAd,GAAmBspC,4DAAnB;AACA;;AACF,SAAK,IAAL;AACEvtD,kDAAG,CAACC,KAAJ,CAAU,IAAV;AACA+jB,YAAM,GAAGwN,qEAAT;AACAxN,YAAM,CAACA,MAAP,CAAcC,EAAd,GAAmB6M,yDAAnB;AACA;;AACF,SAAK,SAAL;AACE9wB,kDAAG,CAACC,KAAJ,CAAU,SAAV;AACA+jB,YAAM,GAAGwpC,6EAAT;AACAxpC,YAAM,CAACA,MAAP,CAAcC,EAAd,GAAmB0kC,yEAAnB;AACA;;AACF,SAAK,aAAL;AACA,SAAK,oBAAL;AACErY,aAAO,CAACtwC,GAAR,CAAY,oBAAZ;AACAA,kDAAG,CAACC,KAAJ,CAAU,oBAAV;AACA+jB,YAAM,GAAGypC,uFAAT;AACAzpC,YAAM,CAACA,MAAP,CAAcC,EAAd,GAAmBisB,4EAAnB;AACA;AAjEJ;;AAmEAlsB,QAAM,CAACA,MAAP,CAAcC,EAAd,CAAiB6oC,SAAjB,GAA6BA,SAA7B;;AACA9oC,QAAM,CAACA,MAAP,CAAcC,EAAd,CAAiBwoC,UAAjB,GAA8B,UAAC/0C,GAAD,EAAMyrB,IAAN,EAAe;AAC3C,QAAMzwB,KAAK,GAAG;AAAEgF,SAAG,EAAHA,GAAF;AAAOyrB,UAAI,EAAJA;AAAP,KAAd;AACA,UAAMzwB,KAAN;AACD,GAHD;;AAKAsR,QAAM,CAACtX,KAAP,CAAaxL,IAAb;AACA,SAAO8iB,MAAP;AACD;;AAEM,IAAM0pC,cAAc,GAAG,SAAjBA,cAAiB,CAASxsD,IAAT,EAAe;AAC3C,MAAIwpB,GAAG,GAAGxpB,IAAV;AAEAwpB,KAAG,GAAGA,GAAG,CAAC5lB,OAAJ,CAAY,kBAAZ,EAAgC,UAASC,CAAT,EAAY;AAChD,QAAM4oD,QAAQ,GAAG5oD,CAAC,CAAC+b,SAAF,CAAY,CAAZ,EAAe/b,CAAC,CAAClG,MAAF,GAAW,CAA1B,CAAjB;AACA,WAAO8uD,QAAP;AACD,GAHK,CAAN;AAIAjjC,KAAG,GAAGA,GAAG,CAAC5lB,OAAJ,CAAY,qBAAZ,EAAmC,UAASC,CAAT,EAAY;AACnD,QAAM4oD,QAAQ,GAAG5oD,CAAC,CAAC+b,SAAF,CAAY,CAAZ,EAAe/b,CAAC,CAAClG,MAAF,GAAW,CAA1B,CAAjB;AACA,WAAO8uD,QAAP;AACD,GAHK,CAAN;AAKAjjC,KAAG,GAAGA,GAAG,CAAC5lB,OAAJ,CAAY,QAAZ,EAAsB,UAASC,CAAT,EAAY;AACtC,QAAM4oD,QAAQ,GAAG5oD,CAAC,CAAC+b,SAAF,CAAY,CAAZ,EAAe/b,CAAC,CAAClG,MAAF,GAAW,CAA1B,CAAjB;AAEA,QAAM+uD,KAAK,GAAG,WAAWviC,IAAX,CAAgBsiC,QAAhB,CAAd;;AACA,QAAIC,KAAJ,EAAW;AACT,aAAO,QAAQD,QAAR,GAAmB,IAA1B;AACD,KAFD,MAEO;AACL,aAAO,OAAOA,QAAP,GAAkB,IAAzB;AACD;AACF,GATK,CAAN;AAWA,SAAOjjC,GAAP;AACD,CAxBM;AA0BA,IAAMmjC,cAAc,GAAG,SAAjBA,cAAiB,CAAS3sD,IAAT,EAAe;AAC3C,MAAIwpB,GAAG,GAAGxpB,IAAV;AAEAwpB,KAAG,GAAGA,GAAG,CAAC5lB,OAAJ,CAAY,MAAZ,EAAoB,YAAW;AACnC,WAAO,IAAP;AACD,GAFK,CAAN;AAGA4lB,KAAG,GAAGA,GAAG,CAAC5lB,OAAJ,CAAY,KAAZ,EAAmB,YAAW;AAClC,WAAO,GAAP;AACD,GAFK,CAAN;AAGA4lB,KAAG,GAAGA,GAAG,CAAC5lB,OAAJ,CAAY,KAAZ,EAAmB,YAAW;AAClC,WAAO,GAAP;AACD,GAFK,CAAN;AAIA,SAAO4lB,GAAP;AACD,CAdM;AAeP;;;;;;;;;;;;;;;;;;;;;;;AAsBA,IAAMjd,MAAM,GAAG,SAATA,MAAS,CAAS7M,EAAT,EAAaktD,IAAb,EAAmBC,EAAnB,EAAuBC,SAAvB,EAAkC;AAC/C1sC,+CAAA;AACA,MAAIoJ,GAAG,GAAGojC,IAAV;AACA,MAAMlB,SAAS,GAAGplD,+CAAK,CAAC+kD,UAAN,CAAiB7hC,GAAjB,CAAlB;;AACA,MAAIkiC,SAAJ,EAAe;AACbtrC,wDAAA,CAAuBsrC,SAAvB;AACD,GAN8C,CAO/C;AACA;AACA;AACA;AACA;AACA;;;AAEA,MAAM3mC,GAAG,GAAG3E,iDAAA,EAAZ,CAd+C,CAe/C;;AACA,MAAIwsC,IAAI,CAACjvD,MAAL,GAAconB,GAAG,CAACpN,WAAtB,EAAmC;AACjC6R,OAAG,GAAG,qEAAN;AACD;;AAED,MAAI,OAAOsjC,SAAP,KAAqB,WAAzB,EAAsC;AACpCA,aAAS,CAAC3B,SAAV,GAAsB,EAAtB;AAEAtqD,qDAAM,CAACisD,SAAD,CAAN,CACG5qD,MADH,CACU,KADV,EAEGrC,IAFH,CAEQ,IAFR,EAEc,MAAMH,EAFpB,EAGGG,IAHH,CAGQ,OAHR,EAGiB,kBAAkBklB,GAAG,CAAC5lB,UAHvC,EAIG+C,MAJH,CAIU,KAJV,EAKGrC,IALH,CAKQ,IALR,EAKcH,EALd,EAMGG,IANH,CAMQ,OANR,EAMiB,MANjB,EAOGA,IAPH,CAOQ,OAPR,EAOiB,4BAPjB,EAQGqC,MARH,CAQU,GARV;AASD,GAZD,MAYO;AACL,QAAM6qD,WAAW,GAAG3pD,QAAQ,CAACo7B,cAAT,CAAwB9+B,EAAxB,CAApB;;AACA,QAAIqtD,WAAJ,EAAiB;AACfA,iBAAW,CAACC,MAAZ;AACD;;AACD,QAAMx1C,QAAO,GAAGpU,QAAQ,CAAC+d,aAAT,CAAuB,MAAM,GAAN,GAAYzhB,EAAnC,CAAhB;;AACA,QAAI8X,QAAJ,EAAa;AACXA,cAAO,CAACw1C,MAAR;AACD;;AAEDnsD,qDAAM,CAAC,MAAD,CAAN,CACGqB,MADH,CACU,KADV,EAEGrC,IAFH,CAEQ,IAFR,EAEc,MAAMH,EAFpB,EAGGwC,MAHH,CAGU,KAHV,EAIGrC,IAJH,CAIQ,IAJR,EAIcH,EAJd,EAKGG,IALH,CAKQ,OALR,EAKiB,MALjB,EAMGA,IANH,CAMQ,OANR,EAMiB,4BANjB,EAOGqC,MAPH,CAOU,GAPV;AAQD;;AAEDgI,QAAM,CAACsf,GAAP,GAAaA,GAAb;AACAA,KAAG,GAAGgjC,cAAc,CAAChjC,GAAD,CAApB;AAEA,MAAMhS,OAAO,GAAG3W,iDAAM,CAAC,OAAOnB,EAAR,CAAN,CAAkBF,IAAlB,EAAhB;AACA,MAAMosD,SAAS,GAAGtlD,+CAAK,CAACulD,UAAN,CAAiBriC,GAAjB,EAAsBzE,GAAtB,CAAlB,CAxD+C,CA0D/C;;AACA,MAAM7C,GAAG,GAAG1K,OAAO,CAACyO,UAApB;AACA,MAAMA,UAAU,GAAG/D,GAAG,CAAC+D,UAAvB;AAEA,MAAIgnC,UAAU,GAAG,EAAjB,CA9D+C,CA+D/C;;AACA,MAAIloC,GAAG,CAACrN,QAAJ,KAAiBrX,SAArB,EAAgC;AAC9B4sD,cAAU,gBAASloC,GAAG,CAACrN,QAAb,CAAV;AACD,GAlE8C,CAmE/C;;;AACA,MAAIqN,GAAG,CAAC5lB,UAAJ,KAAmBkB,SAAvB,EAAkC;AAChC4sD,cAAU,+CAAwCloC,GAAG,CAAC5lB,UAA5C,MAAV;AACD,GAtE8C,CAuE/C;;;AACA,MAAI4lB,GAAG,CAACmoC,aAAJ,KAAsB7sD,SAA1B,EAAqC;AACnC4sD,cAAU,mDAA4CloC,GAAG,CAACmoC,aAAhD,MAAV;AACD,GA1E8C,CA4E/C;;;AACA,MAAItB,SAAS,KAAK,WAAd,IAA6BA,SAAS,KAAK,cAA3C,IAA6DA,SAAS,KAAK,OAA/E,EAAwF;AACtF,QAAM5pD,OAAO,GAAGmrD,yEAAY,CAACtuC,UAAb,CAAwB2K,GAAxB,CAAhB;;AACA,SAAK,IAAMnL,SAAX,IAAwBrc,OAAxB,EAAiC;AAC/B,UAAI+iB,GAAG,CAACtkB,UAAJ,IAAkBskB,GAAG,CAACvkB,SAAJ,CAAcC,UAApC,EAAgD;AAC9CwsD,kBAAU,iBAAU5uC,SAAV,oBAA6Brc,OAAO,CAACqc,SAAD,CAAP,CAAmBiF,MAAnB,CAA0BzO,IAA1B,CACrC,eADqC,CAA7B,mBAAV;AAGAo4C,kBAAU,iBAAU5uC,SAAV,qBAA8Brc,OAAO,CAACqc,SAAD,CAAP,CAAmBiF,MAAnB,CAA0BzO,IAA1B,CACtC,eADsC,CAA9B,mBAAV;AAGD,OAPD,MAOO;AACL;AACAo4C,kBAAU,iBAAU5uC,SAAV,qBAA8Brc,OAAO,CAACqc,SAAD,CAAP,CAAmBiF,MAAnB,CAA0BzO,IAA1B,CACtC,eADsC,CAA9B,mBAAV;AAGAo4C,kBAAU,iBAAU5uC,SAAV,qBAA8Brc,OAAO,CAACqc,SAAD,CAAP,CAAmBiF,MAAnB,CAA0BzO,IAA1B,CACtC,eADsC,CAA9B,mBAAV;AAGAo4C,kBAAU,iBAAU5uC,SAAV,wBAAiCrc,OAAO,CAACqc,SAAD,CAAP,CAAmBiF,MAAnB,CAA0BzO,IAA1B,CACzC,eADyC,CAAjC,mBAAV;AAGAo4C,kBAAU,iBAAU5uC,SAAV,wBAAiCrc,OAAO,CAACqc,SAAD,CAAP,CAAmBiF,MAAnB,CAA0BzO,IAA1B,CACzC,eADyC,CAAjC,mBAAV;AAGAo4C,kBAAU,iBAAU5uC,SAAV,uBAAgCrc,OAAO,CAACqc,SAAD,CAAP,CAAmBiF,MAAnB,CAA0BzO,IAA1B,CACxC,eADwC,CAAhC,mBAAV;;AAGA,YAAI7S,OAAO,CAACqc,SAAD,CAAP,CAAmB+T,UAAvB,EAAmC;AACjC66B,oBAAU,iBAAU5uC,SAAV,sBAA+Brc,OAAO,CAACqc,SAAD,CAAP,CAAmB+T,UAAnB,CAA8Bvd,IAA9B,CACvC,eADuC,CAA/B,mBAAV;AAGD;AACF;AACF;AACF,GA/G8C,CAiH/C;;;AAEA,MAAMu4C,MAAM,GAAG,IAAIC,6CAAJ,EAAf;AACA,MAAMC,KAAK,GAAGF,MAAM,YAAK1tD,EAAL,GAAWymB,wDAAS,CAACylC,SAAD,EAAYqB,UAAZ,EAAwBloC,GAAG,CAAC/mB,cAA5B,CAApB,CAApB;AAEA,MAAMuvD,MAAM,GAAGnqD,QAAQ,CAACoqD,aAAT,CAAuB,OAAvB,CAAf;AACAD,QAAM,CAACpC,SAAP,GAAmBmC,KAAnB;AACAprC,KAAG,CAAC8D,YAAJ,CAAiBunC,MAAjB,EAAyBtnC,UAAzB,EAxH+C,CA0H/C;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAI;AACF,YAAQ2lC,SAAR;AACE,WAAK,KAAL;AACE7mC,WAAG,CAACvkB,SAAJ,CAAcyJ,mBAAd,GAAoC8a,GAAG,CAAC9a,mBAAxC;AACAwjD,+EAAgB,CAAC3oC,OAAjB,CAAyBC,GAAG,CAAClJ,GAA7B;AACA4xC,+EAAgB,CAAC/nC,IAAjB,CAAsB8D,GAAtB,EAA2B9pB,EAA3B,EAA+B,KAA/B;AACA;;AACF,WAAK,WAAL;AACEqlB,WAAG,CAACvkB,SAAJ,CAAcyJ,mBAAd,GAAoC8a,GAAG,CAAC9a,mBAAxC;AACAkjD,iFAAY,CAACroC,OAAb,CAAqBC,GAAG,CAACvkB,SAAzB;AACA2sD,iFAAY,CAACznC,IAAb,CAAkB8D,GAAlB,EAAuB9pB,EAAvB,EAA2B,KAA3B;AACA;;AACF,WAAK,cAAL;AACEqlB,WAAG,CAACvkB,SAAJ,CAAcyJ,mBAAd,GAAoC8a,GAAG,CAAC9a,mBAAxC;AACAyjD,oFAAc,CAAC5oC,OAAf,CAAuBC,GAAG,CAACvkB,SAA3B;AACAktD,oFAAc,CAAChoC,IAAf,CAAoB8D,GAApB,EAAyB9pB,EAAzB,EAA6B,KAA7B;AACA;;AACF,WAAK,UAAL;AACEqlB,WAAG,CAACzM,QAAJ,CAAarO,mBAAb,GAAmC8a,GAAG,CAAC9a,mBAAvC;;AACA,YAAI8a,GAAG,CAAC4oC,eAAR,EAAyB;AACvB;AACAC,sFAAgB,CAAC9oC,OAAjB,CAAyBjoB,MAAM,CAACsW,MAAP,CAAc4R,GAAG,CAACzM,QAAlB,EAA4ByM,GAAG,CAAC4oC,eAAhC,CAAzB;AACAve,iBAAO,CAAC59B,KAAR,CACE,4GADF;AAGD,SAND,MAMO;AACLo8C,sFAAgB,CAAC9oC,OAAjB,CAAyBC,GAAG,CAACzM,QAA7B;AACD;;AACDs1C,oFAAgB,CAACloC,IAAjB,CAAsB8D,GAAtB,EAA2B9pB,EAA3B;AACA;;AACF,WAAK,OAAL;AACEqlB,WAAG,CAACxK,KAAJ,CAAUtQ,mBAAV,GAAgC8a,GAAG,CAAC9a,mBAApC;AACA4jD,8EAAa,CAAC/oC,OAAd,CAAsBC,GAAG,CAACxK,KAA1B;AACAszC,8EAAa,CAACnoC,IAAd,CAAmB8D,GAAnB,EAAwB9pB,EAAxB;AACA;;AACF,WAAK,OAAL;AACEqlB,WAAG,CAACjlB,KAAJ,CAAUmK,mBAAV,GAAgC8a,GAAG,CAAC9a,mBAApC;AACA6jD,6EAAa,CAAChpC,OAAd,CAAsBC,GAAG,CAACjlB,KAA1B;AACAguD,6EAAa,CAACpoC,IAAd,CAAmB8D,GAAnB,EAAwB9pB,EAAxB;AACA;;AACF,WAAK,cAAL;AACEqlB,WAAG,CAACjlB,KAAJ,CAAUmK,mBAAV,GAAgC8a,GAAG,CAAC9a,mBAApC;AACA8jD,gFAAe,CAACjpC,OAAhB,CAAwBC,GAAG,CAACjlB,KAA5B;AACAiuD,gFAAe,CAACroC,IAAhB,CAAqB8D,GAArB,EAA0B9pB,EAA1B;AACA;;AACF,WAAK,OAAL;AACEqlB,WAAG,CAACjlB,KAAJ,CAAUmK,mBAAV,GAAgC8a,GAAG,CAAC9a,mBAApC;AACA+jD,8EAAa,CAAClpC,OAAd,CAAsBC,GAAG,CAAC/a,KAA1B;AACAgkD,8EAAa,CAACtoC,IAAd,CAAmB8D,GAAnB,EAAwB9pB,EAAxB;AACA;;AACF,WAAK,cAAL;AACEqlB,WAAG,CAACjlB,KAAJ,CAAUmK,mBAAV,GAAgC8a,GAAG,CAAC9a,mBAApC;AACAgkD,iFAAe,CAACnpC,OAAhB,CAAwBC,GAAG,CAAC/a,KAA5B;AACAikD,iFAAe,CAACvoC,IAAhB,CAAqB8D,GAArB,EAA0B9pB,EAA1B;AACA;;AACF,WAAK,MAAL;AACEqlB,WAAG,CAACjlB,KAAJ,CAAUmK,mBAAV,GAAgC8a,GAAG,CAAC9a,mBAApC;AACAikD,4EAAY,CAACppC,OAAb,CAAqBC,GAAG,CAACjlB,KAAzB;AACAouD,4EAAY,CAACxoC,IAAb,CAAkB8D,GAAlB,EAAuB9pB,EAAvB,EAA2ByuD,0CAAG,CAAC58B,OAA/B;AACA;;AACF,WAAK,KAAL;AACExM,WAAG,CAACjlB,KAAJ,CAAUmK,mBAAV,GAAgC8a,GAAG,CAAC9a,mBAApC;AACAmkD,0EAAW,CAACtpC,OAAZ,CAAoBC,GAAG,CAAC9H,GAAxB;AACAmxC,0EAAW,CAAC1oC,IAAZ,CAAiB8D,GAAjB,EAAsB9pB,EAAtB,EAA0ByuD,0CAAG,CAAC58B,OAA9B;AACA;;AACF,WAAK,IAAL;AACE88B,uEAAU,CAACvpC,OAAX,CAAmBC,GAAG,CAACrI,EAAvB;AACA2xC,uEAAU,CAAC3oC,IAAX,CAAgB8D,GAAhB,EAAqB9pB,EAArB,EAAyByuD,0CAAG,CAAC58B,OAA7B;AACA;;AACF,WAAK,SAAL;AACE+8B,uFAAe,CAACxpC,OAAhB,CAAwBC,GAAG,CAAC3J,OAA5B;AACAkzC,uFAAe,CAAC5oC,IAAhB,CAAqB8D,GAArB,EAA0B9pB,EAA1B,EAA8ByuD,0CAAG,CAAC58B,OAAlC;AACA;;AACF,WAAK,aAAL;AACEg9B,0FAAmB,CAACzpC,OAApB,CAA4BC,GAAG,CAAC7H,WAAhC;AACAqxC,0FAAmB,CAAC7oC,IAApB,CAAyB8D,GAAzB,EAA8B9pB,EAA9B,EAAkCyuD,0CAAG,CAAC58B,OAAtC;AACA;AA3EJ;AA6ED,GA9ED,CA8EE,OAAOlpB,CAAP,EAAU;AACV;AACAmmD,2DAAa,CAAC9oC,IAAd,CAAmBhmB,EAAnB,EAAuByuD,0CAAG,CAAC58B,OAA3B;AACA,UAAMlpB,CAAN;AACD;;AAEDxH,mDAAM,iBAASnB,EAAT,SAAN,CACGyiB,SADH,CACa,mBADb,EAEGtiB,IAFH,CAEQ,OAFR,EAEiB,8BAFjB,EA1N+C,CA8N/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;;AACA,MAAIyrD,OAAO,GAAGzqD,iDAAM,CAAC,OAAOnB,EAAR,CAAN,CAAkBF,IAAlB,GAAyB2rD,SAAvC;AACArsD,8CAAG,CAACC,KAAJ,CAAU,yBAAV,EAAqCgmB,GAAG,CAAC9a,mBAAzC;;AACA,MAAI,CAAC8a,GAAG,CAAC9a,mBAAL,IAA4B8a,GAAG,CAAC9a,mBAAJ,KAA4B,OAA5D,EAAqE;AACnEqhD,WAAO,GAAGA,OAAO,CAAC1nD,OAAR,CAAgB,wBAAhB,EAA0C,mBAA1C,EAA+D,GAA/D,CAAV;AACD;;AAED0nD,SAAO,GAAGqB,cAAc,CAACrB,OAAD,CAAxB,CAhP+C,CAkP/C;;AACAA,SAAO,GAAGA,OAAO,CAAC1nD,OAAR,CAAgB,OAAhB,EAAyB,OAAzB,CAAV;;AAEA,MAAI,OAAOipD,EAAP,KAAc,WAAlB,EAA+B;AAC7B,YAAQjB,SAAR;AACE,WAAK,WAAL;AACA,WAAK,cAAL;AACEiB,UAAE,CAACvB,OAAD,EAAUz1B,mEAAM,CAACvU,aAAjB,CAAF;AACA;;AACF,WAAK,OAAL;AACEurC,UAAE,CAACvB,OAAD,EAAU/sB,gEAAO,CAACjd,aAAlB,CAAF;AACA;;AACF,WAAK,OAAL;AACA,WAAK,cAAL;AACEurC,UAAE,CAACvB,OAAD,EAAUtoC,+DAAO,CAAC1B,aAAlB,CAAF;AACA;;AACF;AACEurC,UAAE,CAACvB,OAAD,CAAF;AAbJ;AAeD,GAhBD,MAgBO;AACLxsD,gDAAG,CAACC,KAAJ,CAAU,iBAAV;AACD;;AAED,MAAMS,IAAI,GAAGqB,iDAAM,CAAC,OAAOnB,EAAR,CAAN,CAAkBF,IAAlB,EAAb;;AACA,MAAIA,IAAI,KAAK,IAAT,IAAiB,OAAOA,IAAI,CAACwtD,MAAZ,KAAuB,UAA5C,EAAwD;AACtDnsD,qDAAM,CAAC,OAAOnB,EAAR,CAAN,CACGF,IADH,GAEGwtD,MAFH;AAGD;;AAED,SAAO1B,OAAP;AACD,CAjRD;;AAmRA,IAAImD,gBAAgB,GAAG,EAAvB;;AAEA,IAAM1wC,cAAc,GAAG,SAAjBA,cAAiB,CAAS5V,CAAT,EAAY6V,SAAZ,EAAuBC,OAAvB,EAAgC3N,IAAhC,EAAsC;AAC3D,MAAI;AACF,QAAI0N,SAAS,KAAK3d,SAAlB,EAA6B;AAC3B2d,eAAS,GAAGA,SAAS,CAACvZ,IAAV,EAAZ;;AACA,cAAQwZ,OAAR;AACE,aAAK,gBAAL;AACEwwC,0BAAgB,GAAG,EAAnB;AACA;;AACF,aAAK,gBAAL;AACEA,0BAAgB,CAACn+C,IAAjB,GAAwB0N,SAAS,CAACyb,WAAV,EAAxB;AACA;;AACF,aAAK,eAAL;AACEg1B,0BAAgB,CAACC,IAAjB,GAAwBvtD,IAAI,CAACqK,KAAL,CAAWwS,SAAX,CAAxB;AACA;;AACF,aAAK,iBAAL;AACE2wC,yBAAe,CAACxmD,CAAD,EAAIsmD,gBAAJ,EAAsBn+C,IAAtB,CAAf;AACAm+C,0BAAgB,GAAG,IAAnB;AACA;AAbJ;AAeD;AACF,GAnBD,CAmBE,OAAOj9C,KAAP,EAAc;AACd1S,gDAAG,CAAC0S,KAAJ,4DACsDwM,SADtD,6BACkFC,OADlF;AAGAnf,gDAAG,CAAC0S,KAAJ,CAAUA,KAAK,CAACozB,OAAhB;AACD;AACF,CA1BD;;AA4BA,IAAM+pB,eAAe,GAAG,SAAlBA,eAAkB,CAASxmD,CAAT,EAAYjJ,SAAZ,EAAuBoR,IAAvB,EAA6B;AACnDxR,8CAAG,CAACC,KAAJ,0BAA4BG,SAAS,CAACoR,IAAtC,kBAAyDpR,SAAS,CAACwvD,IAAnE;;AACA,UAAQxvD,SAAS,CAACoR,IAAlB;AACE,SAAK,MAAL;AACA,SAAK,YAAL;AAAmB;AACjB,SAAC,QAAD,EAAW1R,OAAX,CAAmB,UAAAu9C,IAAI,EAAI;AACzB,cAAI,OAAOj9C,SAAS,CAACwvD,IAAV,CAAevS,IAAf,CAAP,KAAgC,WAApC,EAAiD;AAC/C,gBAAI7rC,IAAI,KAAK,cAAb,EAA6B;AAC3BA,kBAAI,GAAG,WAAP;AACD;;AACDpR,qBAAS,CAACwvD,IAAV,CAAep+C,IAAf,IAAuBpR,SAAS,CAACwvD,IAAV,CAAevS,IAAf,CAAvB;AACA,mBAAOj9C,SAAS,CAACwvD,IAAV,CAAevS,IAAf,CAAP;AACD;AACF,SARD;AAUAwP,oBAAY,CAACzsD,SAAS,CAACwvD,IAAX,CAAZ;AACAtuC,4DAAA,CAAuBlhB,SAAS,CAACwvD,IAAjC;AACA;AACD;;AACD,SAAK,MAAL;AACA,SAAK,QAAL;AACE,UAAIvmD,CAAC,IAAIA,CAAC,CAAC,SAAD,CAAV,EAAuB;AACrBA,SAAC,CAACqqC,OAAF,CAAUtzC,SAAS,CAACoR,IAAV,KAAmB,MAA7B;AACD;;AACD;;AACF;AACExR,kDAAG,CAACqI,IAAJ,4CACsCjI,SAAS,CAACoR,IADhD,eACyDnP,IAAI,CAACC,SAAL,CACrDlC,SAAS,CAACwvD,IAAV,GAAiBxvD,SAAS,CAACwvD,IAA3B,GAAkC,EADmB,CADzD,UAIExvD,SAJF;AAMA;AA9BJ;AAgCD,CAlCD;;AAoCA,SAAS0vD,qBAAT,CAA+BzwD,IAA/B,EAAqC;AACnC;AACAsvD,yEAAgB,CAAC3oC,OAAjB,CAAyB3mB,IAAI,CAAC0d,GAA9B;AACAsxC,2EAAY,CAACroC,OAAb,CAAqB3mB,IAAI,CAACqC,SAA1B;AACAktD,8EAAc,CAAC5oC,OAAf,CAAuB3mB,IAAI,CAACqC,SAA5B;;AACA,MAAI,OAAOrC,IAAI,CAAC,iBAAD,CAAX,KAAmC,WAAvC,EAAoD;AAClDyvD,gFAAgB,CAAC9oC,OAAjB,CAAyB7nB,+DAAe,CAACkB,IAAI,CAACma,QAAN,EAAgBna,IAAI,CAAC,iBAAD,CAApB,CAAxC;AACD;;AACDyvD,8EAAgB,CAAC9oC,OAAjB,CAAyB3mB,IAAI,CAACma,QAA9B;AACAu1C,wEAAa,CAAC/oC,OAAd,CAAsB3mB,IAAI,CAACoc,KAA3B;AACAuzC,uEAAa,CAAChpC,OAAd,CAAsB3mB,IAAI,CAAC2B,KAA3B;AACAkuD,wEAAa,CAAClpC,OAAd,CAAsB3mB,IAAI,CAAC6L,KAA3B;AACAikD,2EAAe,CAACnpC,OAAhB,CAAwB3mB,IAAI,CAAC6L,KAA7B;AACAkkD,sEAAY,CAACppC,OAAb,CAAqB3mB,IAAI,CAAC2B,KAA1B;AACAsuD,oEAAW,CAACtpC,OAAZ,CAAoB3mB,IAAI,CAAC2B,KAAzB;AACAuuD,iEAAU,CAACvpC,OAAX,CAAmB3mB,IAAI,CAACue,EAAxB;AACA4xC,iFAAe,CAACxpC,OAAhB,CAAwB3mB,IAAI,CAACid,OAA7B;AACAmzC,oFAAmB,CAACzpC,OAApB,CAA4B3mB,IAAI,CAAC+e,WAAjC;AACAsxC,yDAAa,CAAC1pC,OAAd,CAAsB3mB,IAAI,CAAC2B,KAA3B;AACD;;AAED,SAAS6rD,YAAT,GAAwB,CACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACD;;AAED,SAASH,UAAT,CAAoB/sD,OAApB,EAA6B;AAC3B;AAEA;AACA,MAAIA,OAAO,IAAIA,OAAO,CAACU,UAAvB,EAAmC;AACjC,QAAI,CAACV,OAAO,CAACT,cAAb,EAA6B;AAC3BS,aAAO,CAACT,cAAR,GAAyB;AAAEmB,kBAAU,EAAEV,OAAO,CAACU;AAAtB,OAAzB;AACD,KAFD,MAEO;AACL,UAAI,CAACV,OAAO,CAACT,cAAR,CAAuBmB,UAA5B,EAAwC;AACtCV,eAAO,CAACT,cAAR,GAAyB;AAAEmB,oBAAU,EAAEV,OAAO,CAACU;AAAtB,SAAzB;AACD;AACF;AACF,GAZ0B,CAa3B;;;AACAihB,iEAAA,CAAkC3hB,OAAlC;;AAEA,MAAIA,OAAO,IAAIA,OAAO,CAACX,KAAnB,IAA4BA,gDAAK,CAACW,OAAO,CAACX,KAAT,CAArC,EAAsD;AACpD;AACAW,WAAO,CAACT,cAAR,GAAyBF,gDAAK,CAACW,OAAO,CAACX,KAAT,CAAL,CAAqBG,iBAArB,CAAuCQ,OAAO,CAACT,cAA/C,CAAzB;AACD,GAHD,MAGO;AACL,QAAIS,OAAJ,EAAaA,OAAO,CAACT,cAAR,GAAyBF,gDAAK,CAAC+wD,OAAN,CAAc5wD,iBAAd,CAAgCQ,OAAO,CAACT,cAAxC,CAAzB;AACd;;AAED,MAAMjB,MAAM,GACV,QAAO0B,OAAP,MAAmB,QAAnB,GAA8B2hB,qDAAA,CAAwB3hB,OAAxB,CAA9B,GAAiE2hB,qDAAA,EADnE;AAGAwuC,uBAAqB,CAAC7xD,MAAD,CAArB;AACAwtD,8DAAW,CAACxtD,MAAM,CAAC6a,QAAR,CAAX,CA3B2B,CA4B3B;AACD;;AAED,IAAMsG,UAAU,GAAGrhB,MAAM,CAACC,MAAP,CAAc;AAC/ByP,QAAM,EAANA,MAD+B;AAE/Bf,OAAK,EAALA,KAF+B;AAG/BuS,gBAAc,EAAdA,cAH+B;AAI/BytC,YAAU,EAAVA,UAJ+B;AAK/BG,cAAY,EAAZA,YAL+B;AAM/BntD,WAAS,EAAE4hB,iDANoB;AAO/B7hB,WAAS,EAAE6hB,iDAPoB;AAQ/B9hB,eAAa,EAAE8hB,qDARgB;AAS/B/hB,kBAAgB,EAAE+hB,wDATa;AAU/B/gB,OAAK,EAAE,iBAAM;AACX;AACA+gB,iDAAA,GAFW,CAGX;AACA;AACD,GAf8B;AAgB/B0uC,aAAW,EAAE,uBAAM;AACjB1uC,iDAAA,CAAgBA,qDAAhB;AACAwuC,yBAAqB,CAACxuC,iDAAA,EAAD,CAArB;AACD,GAnB8B;AAoB/BxjB,eAAa,EAAEwjB,qDAAuBxjB;AApBP,CAAd,CAAnB;AAuBA2tD,4DAAW,CAACnqC,iDAAA,GAAsBxI,QAAvB,CAAX;AACAwI,6CAAA,CAAgBA,iDAAA,EAAhB;AAEelC,yEAAf;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChpBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,IAAM6wC,MAAM,GAAG;AACbvuD,WAAS,EAATA,kEADa;AAEb,kBAAgBA,kEAFH;AAGb8X,UAAQ,EAARA,iEAHa;AAIbiC,OAAK,EAALA,8DAJa;AAKby0C,cAAY,EAAZA,8DALa;AAMb,qBAAmBA,8DANN;AAOblvD,OAAK,EAAEkvD,8DAPM;AAQbC,cAAY,EAAZA,8DARa;AASbjlD,OAAK,EAAEilD,8DATM;AAUbpzC,KAAG,EAAHA,4DAVa;AAWbhZ,MAAI,EAAJA,6DAXa;AAYboa,KAAG,EAAHA,4DAZa;AAabP,IAAE,EAAFA,2DAba;AAcbtB,SAAO,EAAPA,sEAda;AAeb8B,aAAW,EAAXA,oEAAWA;AAfE,CAAf;AAkBO,IAAMgyC,kBAAkB,GAAG,SAArBA,kBAAqB,CAACpxD,KAAD,EAAQqxD,aAAR;AAAA,SAA0BrxD,KAAK,CAACsxD,UAAN,CAAiBD,aAAjB,CAA1B;AAAA,CAA3B;;AAEP,IAAMhpC,SAAS,GAAG,SAAZA,SAAY,CAAC7V,IAAD,EAAO28C,UAAP,EAAmBxuD,OAAnB,EAA+B;AAC/C;AACA,wCACiBA,OAAO,CAACU,UADzB,+BAEeV,OAAO,CAAC0b,QAFvB,0BAGU1b,OAAO,CAACi5B,SAHlB,iGASUj5B,OAAO,CAAC4wD,aATlB,gDAYU5wD,OAAO,CAAC6wD,cAZlB,4BAaY7wD,OAAO,CAAC6wD,cAbpB,6UAkCU7wD,OAAO,CAAC8nB,SAlClB,4BAmCY9nB,OAAO,CAAC8nB,SAnCpB,oDAsCY9nB,OAAO,CAAC8nB,SAtCpB,iDA0CiB9nB,OAAO,CAACU,UA1CzB,+BA2CeV,OAAO,CAAC0b,QA3CvB,yBA8CE40C,MAAM,CAACz+C,IAAD,CAAN,CAAa7R,OAAb,CA9CF,mBAgDEwuD,UAhDF;AAkDD,CApDD;;AAsDe9mC,wEAAf,E;;;;;;;;;;;;ACtFA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AAEe;AACbopC,MAAI,EAAE;AACJtxD,qBAAiB,EAAEuxD,6DAAkBA;AADjC,GADO;AAIbC,MAAI,EAAE;AACJxxD,qBAAiB,EAAEyxD,6DAAkBA;AADjC,GAJO;AAObb,SAAO,EAAE;AACP5wD,qBAAiB,EAAE0xD,gEAAqBA;AADjC,GAPI;AAUbC,QAAM,EAAE;AACN3xD,qBAAiB,EAAE4xD,+DAAoBA;AADjC,GAVK;AAabC,SAAO,EAAE;AACP7xD,qBAAiB,EAAE8xD,gEAAqBA;AADjC;AAbI,CAAf,E;;;;;;;;;;;;;;;;;;;;;;;;;ACNA;AACA;;IACMC,K;;;AACJ,mBAAc;AAAA;;AACZ;;AACA;AACA,SAAKtJ,UAAL,GAAkB,SAAlB;AACA,SAAKuJ,QAAL,GAAgB,KAAhB,CAJY,CAMZ;AACA;;AACA,SAAKC,YAAL,GAAoB,SAApB,CARY,CASZ;AACA;;AAEA,SAAK9R,YAAL,GAAoB,SAApB;AACA,SAAKC,aAAL,GAAqB,MAArB,CAbY,CAeZ;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;;AAEA,SAAKl/C,UAAL,GAAkB,4CAAlB;AACA,SAAKgb,QAAL,GAAgB,MAAhB,CA/BY,CAgCZ;AACD;;;;mCACc;AACb;;AAEA;AACA,WAAKg2C,gBAAL,GAAwB,KAAKA,gBAAL,KAA0B,KAAKF,QAAL,GAAgB,MAAhB,GAAyB,MAAnD,CAAxB,CAJa,CAIuE;;AACpF,WAAKG,cAAL,GAAsB,KAAKA,cAAL,IAAuBC,qDAAM,CAAC,KAAKH,YAAN,EAAoB;AAAEnpD,SAAC,EAAE,CAAC;AAAN,OAApB,CAAnD;AACA,WAAK2pB,aAAL,GAAqB,KAAKA,aAAL,IAAsB2/B,qDAAM,CAAC,KAAKH,YAAN,EAAoB;AAAEnpD,SAAC,EAAE,GAAL;AAAU2f,SAAC,EAAE;AAAb,OAApB,CAAjD;AAEA,WAAKkgC,kBAAL,GAA0B,KAAKA,kBAAL,IAA2B0J,+DAAQ,CAAC,KAAKJ,YAAN,EAAoB,KAAKD,QAAzB,CAA7D;AACA,WAAKM,oBAAL,GACE,KAAKA,oBAAL,IAA6BD,+DAAQ,CAAC,KAAKF,cAAN,EAAsB,KAAKH,QAA3B,CADvC;AAEA,WAAKO,mBAAL,GACE,KAAKA,mBAAL,IAA4BF,+DAAQ,CAAC,KAAK5/B,aAAN,EAAqB,KAAKu/B,QAA1B,CADtC;AAEA,WAAK9R,eAAL,GAAuB,KAAKA,eAAL,IAAwBmS,+DAAQ,CAAC,KAAKlS,YAAN,EAAoB,KAAK6R,QAAzB,CAAvD;AAEA,WAAKQ,kBAAL,GAA0B,KAAKA,kBAAL,IAA2BC,qDAAM,CAAC,KAAKN,cAAN,CAA3D;AACA,WAAKzJ,iBAAL,GAAyB,KAAKA,iBAAL,IAA0B+J,qDAAM,CAAC,KAAKhgC,aAAN,CAAzD;AACA,WAAKnK,SAAL,GAAiB,KAAKA,SAAL,IAAkBmqC,qDAAM,CAAC,KAAKhK,UAAN,CAAzC;AACA,WAAKhvB,SAAL,GAAiB,KAAKA,SAAL,IAAkB,KAAKy4B,gBAAxC;AAEA;;AACA,WAAKQ,OAAL,GAAe,KAAKA,OAAL,IAAgB,KAAKT,YAApC;AACA,WAAK5pC,OAAL,GAAe,KAAKA,OAAL,IAAgB,KAAK4pC,YAApC;AACA,WAAK9pC,UAAL,GAAkB,KAAKA,UAAL,IAAmB,KAAKwgC,kBAA1C;AACA,WAAK9uB,UAAL,GAAkB,KAAKA,UAAL,IAAmB,KAAKpH,aAA1C;AACA,WAAKqH,aAAL,GAAqB,KAAKA,aAAL,IAAsB,KAAKy4B,mBAAhD;AACA,WAAKI,gBAAL,GAAwB,KAAKA,gBAAL,IAAyB,KAAKrqC,SAAtD;AACA,WAAKoR,UAAL,GAAkB,KAAKA,UAAL,IAAmB,KAAKgvB,iBAA1C;AACA,WAAK9uB,mBAAL,GACE,KAAKA,mBAAL,KACC,KAAKo4B,QAAL,GAAgBY,qDAAM,CAAC,KAAKT,cAAN,EAAsB,EAAtB,CAAtB,GAAkD,KAAKA,cADxD,CADF;AAGA,WAAK34B,aAAL,GAAqB,KAAKA,aAAL,IAAsB,KAAK04B,gBAAhD;AACA;AAEA;;AACA,WAAK3S,WAAL,GAAmB,KAAKA,WAAL,IAAoB,KAAKoJ,kBAA5C;AACA,WAAKnJ,QAAL,GAAgB,KAAKA,QAAL,IAAiB,KAAKn3B,OAAtC;AACA,WAAKo3B,cAAL,GAAsB,KAAKA,cAAL,IAAuB,KAAKyS,gBAAlD;AACA,WAAKxS,cAAL,GAAsB,KAAKA,cAAL,IAAuB,MAA7C;AACA,WAAKK,gBAAL,GAAwB,KAAKA,gBAAL,IAAyB,KAAKP,QAAtD;AACA,WAAKG,WAAL,GAAmB,KAAKA,WAAL,IAAoB,KAAKlmB,SAA5C;AACA,WAAKomB,eAAL,GAAuB,KAAKA,eAAL,IAAwB,KAAKpmB,SAApD;AACA,WAAKqmB,mBAAL,GAA2B,KAAKA,mBAAL,IAA4B,KAAKP,WAA5D;AACA,WAAKS,cAAL,GAAsB,KAAKA,cAAL,IAAuB,KAAKP,cAAlD;AACA,WAAKQ,aAAL,GAAqB,KAAKA,aAAL,IAAsB,KAAKR,cAAhD;AACA,WAAKa,qBAAL,GAA6B,KAAKA,qBAAL,IAA8BsS,qDAAM,CAAC,KAAKT,cAAN,EAAsB,EAAtB,CAAjE;AACA,WAAK9R,kBAAL,GAA0B,KAAKA,kBAAL,IAA2B,KAAK8R,cAA1D;AACA,WAAKvS,mBAAL,GAA2B,KAAKA,mBAAL,IAA4B6S,qDAAM,CAAC,KAAKnqC,SAAN,CAA7D;AAEA;;AAEA,WAAK8b,eAAL,GAAuB,KAAKA,eAAL,IAAwB,KAAK3R,aAApD;AACA,WAAK6R,kBAAL,GAA0B,KAAKA,kBAAL,IAA2B,OAArD;AACA,WAAKF,eAAL,GAAuB,KAAKA,eAAL,IAAwB,KAAK+tB,cAApD;AACA,WAAK9tB,gBAAL,GAAwB,KAAKA,gBAAL,IAAyB,KAAK4tB,YAAtD;AACA,WAAKntB,eAAL,GAAuB,KAAKA,eAAL,IAAwB,KAAK6jB,kBAApD;AACA,WAAK9jB,YAAL,GAAoB,KAAKA,YAAL,IAAqB,KAAKotB,YAA9C;AACA,WAAKhtB,qBAAL,GAA6B,KAAKA,qBAAL,IAA8B,KAAKgtB,YAAhE;AACA,WAAKjtB,kBAAL,GAA0B,KAAKA,kBAAL,IAA2B6tB,sDAAO,CAAC,KAAKZ,YAAN,EAAoB,EAApB,CAA5D;AACA,WAAKztB,SAAL,GAAiB,KAAKA,SAAL,IAAkB,WAAnC;AACA,WAAKW,gBAAL,GAAwB,KAAKA,gBAAL,IAAyB,WAAjD;AACA,WAAKD,mBAAL,GAA2B,KAAKA,mBAAL,IAA4B,MAAvD;AACA,WAAKE,eAAL,GAAuB,KAAKA,eAAL,IAAwB,SAA/C;AACA,WAAKC,YAAL,GAAoB,KAAKA,YAAL,IAAqB,KAAzC;AACA,WAAKZ,cAAL,GAAsB,KAAKA,cAAL,IAAuB,KAA7C;AACA,WAAKG,aAAL,GAAqB,KAAKA,aAAL,IAAsB,KAAKnL,SAAhD;AACA,WAAKsL,oBAAL,GAA4B,KAAKA,oBAAL,IAA6B,KAAKtL,SAA9D;AACA,WAAKq5B,kBAAL,GAA0B,KAAKA,kBAAL,IAA2B,KAAKr5B,SAA1D;AACA,WAAKmL,aAAL,GAAqB,KAAKA,aAAL,IAAsB,KAAKstB,gBAAhD;AACA,WAAKxtB,iBAAL,GAAyB,KAAKA,iBAAL,IAA0B,KAAKjL,SAAxD;AACA,WAAKkL,sBAAL,GAA8B,KAAKA,sBAAL,IAA+B,SAA7D;AAEA;;AACA,WAAK6jB,UAAL,GAAkB,KAAKA,UAAL,IAAmB,KAAK0J,gBAA1C;AACA,WAAKtJ,aAAL,GAAqB,KAAKA,aAAL,IAAsB,KAAKn2B,aAAhD;AACA,WAAK2+B,aAAL,GAAqB,KAAKA,aAAL,IAAsB,KAAK3+B,aAAhD;AACA,WAAK4+B,cAAL,GAAsB,KAAKA,cAAL,IAAuB,KAAK3I,iBAAlD;AAEA;;AACA,WAAKtgC,SAAL,GAAiB,KAAKA,SAAL,IAAkB,KAAKqR,SAAxC;AAEA;;AACA,WAAKqxB,SAAL,GAAiB,KAAKA,SAAL,IAAkB,KAAKmH,YAAxC;AACA,WAAKlH,SAAL,GAAiB,KAAKA,SAAL,IAAkB,KAAKoH,cAAxC;AACA,WAAKnH,SAAL,GAAiB,KAAKA,SAAL,IAAkBoH,qDAAM,CAAC,KAAKH,YAAN,EAAoB;AAAEnpD,SAAC,EAAE;AAAL,OAApB,CAAzC;AACA,WAAKmiD,SAAL,GAAiB,KAAKA,SAAL,IAAkBmH,qDAAM,CAAC,KAAKD,cAAN,EAAsB;AAAErpD,SAAC,EAAE;AAAL,OAAtB,CAAzC;AACA,WAAKoiD,SAAL,GAAiB,KAAKA,SAAL,IAAkBkH,qDAAM,CAAC,KAAKH,YAAN,EAAoB;AAAEnpD,SAAC,EAAE,CAAC;AAAN,OAApB,CAAzC;AACA,WAAKqiD,SAAL,GAAiB,KAAKA,SAAL,IAAkBiH,qDAAM,CAAC,KAAKD,cAAN,EAAsB;AAAErpD,SAAC,EAAE,CAAC;AAAN,OAAtB,CAAzC;AACA,WAAKsiD,SAAL,GAAiB,KAAKA,SAAL,IAAkBgH,qDAAM,CAAC,KAAKH,YAAN,EAAoB;AAAEnpD,SAAC,EAAE;AAAL,OAApB,CAAzC;AACA,WAAKuiD,SAAL,GAAiB,KAAKA,SAAL,IAAkB+G,qDAAM,CAAC,KAAKD,cAAN,EAAsB;AAAErpD,SAAC,EAAE;AAAL,OAAtB,CAAzC;AAEA;;AACA,WAAK6oC,qBAAL,GAA6B,KAAKA,qBAAL,IAA8B,KAAKsgB,YAAhE;AACA,WAAKrgB,sBAAL,GAA8B,KAAKA,sBAAL,IAA+B,KAAK+W,kBAAlE;AACA,WAAK9W,qBAAL,GAA6B,KAAKA,qBAAL,IAA8B,KAAK8W,kBAAhE;AACA,WAAKoK,oBAAL,GAA4B,KAAKA,oBAAL,IAA6B,KAAKb,gBAA9D;AACA,WAAKxgB,aAAL,GAAqB,KAAKA,aAAL,IAAsB,KAAKppB,SAAhD;AACA,WAAKwpB,uBAAL,GACE,KAAKA,uBAAL,KACC,KAAKkgB,QAAL,GAAgBY,qDAAM,CAAC,KAAKT,cAAN,EAAsB,EAAtB,CAAtB,GAAkD,KAAKA,cADxD,CADF;AAGA,WAAKpgB,kBAAL,GAA0B,KAAKA,kBAAL,IAA2B,KAAK0N,cAA1D;AACD;;;8BACSuT,S,EAAW;AAAA;;AACnB,UAAI,QAAOA,SAAP,MAAqB,QAAzB,EAAmC;AACjC;AACA,aAAKC,YAAL;AACA;AACD;;AAED,UAAMxyD,IAAI,GAAG7B,MAAM,CAAC6B,IAAP,CAAYuyD,SAAZ,CAAb,CAPmB,CASnB;;AACAvyD,UAAI,CAACE,OAAL,CAAa,UAAAknB,CAAC,EAAI;AAChB,aAAI,CAACA,CAAD,CAAJ,GAAUmrC,SAAS,CAACnrC,CAAD,CAAnB;AACD,OAFD,EAVmB,CAcnB;;AACA,WAAKorC,YAAL,GAfmB,CAgBnB;;AACAxyD,UAAI,CAACE,OAAL,CAAa,UAAAknB,CAAC,EAAI;AAChB,aAAI,CAACA,CAAD,CAAJ,GAAUmrC,SAAS,CAACnrC,CAAD,CAAnB;AACD,OAFD;AAGD;;;;;;AAGI,IAAM7nB,iBAAiB,GAAG,SAApBA,iBAAoB,CAAAkzD,aAAa,EAAI;AAChD,MAAMrzD,KAAK,GAAG,IAAIkyD,KAAJ,EAAd;AACAlyD,OAAK,CAACszD,SAAN,CAAgBD,aAAhB;AACA,SAAOrzD,KAAP;AACD,CAJM,C;;;;;;;;;;;;;;;;;;;;;;;;;AClKP;AACA;;IACMkyD,K;;;AACJ,mBAAc;AAAA;;AACZ,SAAKtJ,UAAL,GAAkB,MAAlB;AACA,SAAKwJ,YAAL,GAAoB,SAApB;AACA,SAAKE,cAAL,GAAsBU,sDAAO,CAAC,KAAKZ,YAAN,EAAoB,EAApB,CAA7B;AAEA,SAAKx/B,aAAL,GAAqB2/B,qDAAM,CAAC,KAAKH,YAAN,EAAoB;AAAEnpD,OAAC,EAAE,CAAC;AAAN,KAApB,CAA3B;AACA,SAAK6/C,kBAAL,GAA0B0J,+DAAQ,CAAC,KAAKJ,YAAN,EAAoB,KAAKD,QAAzB,CAAlC;AACA,SAAKM,oBAAL,GAA4BD,+DAAQ,CAAC,KAAKF,cAAN,EAAsB,KAAKH,QAA3B,CAApC;AACA,SAAKO,mBAAL,GAA2BF,+DAAQ,CAAC,KAAK5/B,aAAN,EAAqB,KAAKu/B,QAA1B,CAAnC;AACA,SAAKE,gBAAL,GAAwBO,qDAAM,CAAC,KAAKR,YAAN,CAA9B;AACA,SAAKO,kBAAL,GAA0BC,qDAAM,CAAC,KAAKN,cAAN,CAAhC;AACA,SAAKzJ,iBAAL,GAAyB+J,qDAAM,CAAC,KAAKhgC,aAAN,CAA/B;AACA,SAAKnK,SAAL,GAAiBmqC,qDAAM,CAAC,KAAKhK,UAAN,CAAvB;AACA,SAAKhvB,SAAL,GAAiBg5B,qDAAM,CAAC,KAAKhK,UAAN,CAAvB;AAEA,SAAKpgC,OAAL,GAAe,SAAf;AACA,SAAK+qC,SAAL,GAAiB,YAAjB;AACA,SAAKC,iBAAL,GAAyB,WAAzB;AACA,SAAKC,aAAL,GAAqBT,sDAAO,CAACJ,qDAAM,CAAC,SAAD,CAAP,EAAoB,EAApB,CAA5B;AACA,SAAKnqC,SAAL,GAAiB,YAAjB;AACA,SAAKirC,OAAL,GAAe,SAAf;AACA,SAAKx5B,OAAL,GAAey5B,mDAAI,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,EAAgB,IAAhB,CAAnB;AACA,SAAK75B,cAAL,GAAsB,YAAtB;AACA,SAAKz4B,UAAL,GAAkB,4CAAlB;AACA,SAAKgb,QAAL,GAAgB,MAAhB;AACA,SAAKu3C,eAAL,GAAuB,SAAvB;AACA,SAAKh6B,SAAL,GAAiB,MAAjB;AACA;;AAEA,SAAKi5B,OAAL,GAAe,YAAf;AACA,SAAKvqC,UAAL,GAAkB,YAAlB;AACA,SAAK0R,UAAL,GAAkB,YAAlB;AACA,SAAKC,aAAL,GAAqB,YAArB;AACA,SAAK64B,gBAAL,GAAwB,YAAxB;AACA,SAAKj5B,UAAL,GAAkB,SAAlB;AACA,SAAKE,mBAAL,GAA2B,YAA3B;AAEA;;AAEA,SAAK2lB,WAAL,GAAmB,YAAnB;AACA,SAAKC,QAAL,GAAgB,YAAhB;AACA,SAAKC,cAAL,GAAsB,YAAtB;AACA,SAAKC,cAAL,GAAsB,YAAtB;AACA,SAAKC,WAAL,GAAmB,YAAnB;AACA,SAAKE,eAAL,GAAuB,YAAvB;AACA,SAAKE,gBAAL,GAAwB,YAAxB;AACA,SAAKD,mBAAL,GAA2B,YAA3B;AACA,SAAKE,cAAL,GAAsB,YAAtB;AACA,SAAKC,aAAL,GAAqB,YAArB;AACA,SAAKC,eAAL,GAAuB,YAAvB;AACA,SAAKC,YAAL,GAAoB,SAApB;AACA,SAAKC,aAAL,GAAqB,YAArB;AACA,SAAKE,qBAAL,GAA6B,YAA7B;AACA,SAAKD,kBAAL,GAA0B,YAA1B;AACA,SAAKT,mBAAL,GAA2B,OAA3B;AAEA;;AAEA,SAAKxb,eAAL,GAAuBwuB,qDAAM,CAAC,SAAD,EAAY,EAAZ,CAA7B;AACA,SAAKtuB,kBAAL,GAA0B,YAA1B;AACA,SAAKD,gBAAL,GAAwB,SAAxB;AACA,SAAKS,eAAL,GAAuB0uB,mDAAI,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,EAAgB,EAAhB,CAA3B;AACA,SAAK3uB,YAAL,GAAoB,YAApB;AACA,SAAKD,aAAL,GAAqB,YAArB;AACA,SAAKkuB,kBAAL,GAA0B,YAA1B;AACA,SAAK/tB,oBAAL,GAA4B,YAA5B;AACA,SAAKJ,sBAAL,GAA8B,SAA9B;AACA,SAAKM,qBAAL,GAA6BuuB,mDAAI,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,EAAgB,EAAhB,CAAjC;AACA,SAAKxuB,kBAAL,GAA0B,SAA1B;AACA,SAAKR,SAAL,GAAiB,YAAjB;AACA,SAAKW,gBAAL,GAAwB,YAAxB;AACA,SAAKD,mBAAL,GAA2B,MAA3B;AACA,SAAKE,eAAL,GAAuB,SAAvB;AACA,SAAKC,YAAL,GAAoB,SAApB;AACA,SAAKX,iBAAL,GAAyB,YAAzB;AACA,SAAKD,cAAL,GAAsB,SAAtB;AAEA;;AACA,SAAK+jB,UAAL,GAAkB,YAAlB;AAEA,SAAK4I,aAAL,GAAqB,SAArB;AACA,SAAKC,cAAL,GAAsB,MAAtB;AACD;;;;mCACc;AACb,WAAK+B,SAAL,GAAiBP,sDAAO,CAAC,KAAKxqC,OAAN,EAAe,EAAf,CAAxB;AACA,WAAKC,SAAL,GAAiB,KAAK+qC,iBAAtB;AACA,WAAK15B,cAAL,GAAsB,KAAK05B,iBAA3B;AACA;;AAEA,WAAKX,OAAL,GAAe,KAAKrqC,OAApB;AACA,WAAKF,UAAL,GAAkB,KAAKorC,OAAvB;AACA,WAAK15B,UAAL,GAAkB,KAAKu5B,SAAvB;AACA,WAAKt5B,aAAL,GAAqB,KAAKC,OAA1B;AACA,WAAK44B,gBAAL,GAAwB,KAAKrqC,SAA7B;AACA,WAAKsR,mBAAL,GAA2Bi5B,sDAAO,CAAC,KAAKY,eAAN,EAAuB,EAAvB,CAAlC;AAEA;;AAEA,WAAKlU,WAAL,GAAmB,KAAKgU,OAAxB;AACA,WAAK/T,QAAL,GAAgB,KAAKn3B,OAArB;AACA,WAAKo3B,cAAL,GAAsB,KAAK4T,iBAA3B;AACA,WAAK3T,cAAL,GAAsB,KAAK2T,iBAA3B;AACA,WAAK1T,WAAL,GAAmB,KAAK0T,iBAAxB;AACA,WAAKxT,eAAL,GAAuB,KAAKwT,iBAA5B;AACA,WAAKtT,gBAAL,GAAwB,KAAKP,QAA7B;AACA,WAAKM,mBAAL,GAA2B,KAAKP,WAAhC;AACA,WAAKS,cAAL,GAAsB,KAAKqT,iBAA3B;AACA,WAAKpT,aAAL,GAAqB,KAAKoT,iBAA1B;AACA,WAAKnT,eAAL,GAAuB,KAAKoS,oBAA5B;AACA,WAAKnS,YAAL,GAAoB,KAAKiT,SAAzB;AACA,WAAKhT,aAAL,GAAqB,KAAKoS,kBAA1B;AACA,WAAKlS,qBAAL,GAA6B,KAAKiT,OAAlC;AACA,WAAKlT,kBAAL,GAA0B,KAAK+S,SAA/B;AAEA;;AAEA,WAAK9uB,kBAAL,GAA0B,KAAKmkB,UAA/B;AACA,WAAK5jB,YAAL,GAAoBguB,sDAAO,CAAC,KAAKxqC,OAAN,EAAe,EAAf,CAA3B;AACA,WAAKuc,aAAL,GAAqB,KAAK0uB,aAA1B;AACA,WAAKR,kBAAL,GAA0B,KAAKO,iBAA/B;AACA,WAAKtuB,oBAAL,GAA4B,KAAK+tB,kBAAjC;AACA,WAAKtuB,SAAL,GAAiB,KAAK6uB,iBAAtB;AACA,WAAKluB,gBAAL,GAAwB,KAAKkuB,iBAA7B;AACA,WAAK3uB,iBAAL,GAAyB,KAAK4uB,aAA9B;AAEA;;AACA,WAAK9K,UAAL,GAAkB,KAAK/uB,SAAvB;AACA,WAAKmvB,aAAL,GAAqBiK,sDAAO,CAAC,KAAKpK,UAAN,EAAkB,EAAlB,CAA5B;AAEA,WAAKqC,SAAL,GAAiB,KAAKmH,YAAtB;AACA,WAAKlH,SAAL,GAAiB,KAAKoH,cAAtB;AACA,WAAKnH,SAAL,GAAiBoH,qDAAM,CAAC,KAAKH,YAAN,EAAoB;AAAEnpD,SAAC,EAAE;AAAL,OAApB,CAAvB;AACA,WAAKmiD,SAAL,GAAiBmH,qDAAM,CAAC,KAAKD,cAAN,EAAsB;AAAErpD,SAAC,EAAE;AAAL,OAAtB,CAAvB;AACA,WAAKoiD,SAAL,GAAiBkH,qDAAM,CAAC,KAAKH,YAAN,EAAoB;AAAEnpD,SAAC,EAAE,CAAC;AAAN,OAApB,CAAvB;AACA,WAAKqiD,SAAL,GAAiBiH,qDAAM,CAAC,KAAKD,cAAN,EAAsB;AAAErpD,SAAC,EAAE,CAAC;AAAN,OAAtB,CAAvB;AACA,WAAKsiD,SAAL,GAAiBgH,qDAAM,CAAC,KAAKH,YAAN,EAAoB;AAAEnpD,SAAC,EAAE;AAAL,OAApB,CAAvB;AACA,WAAKuiD,SAAL,GAAiB+G,qDAAM,CAAC,KAAKD,cAAN,EAAsB;AAAErpD,SAAC,EAAE;AAAL,OAAtB,CAAvB;AACA;;AACA,WAAKsf,SAAL,GAAiB,KAAK8pC,gBAAtB;AAEA;;AACA,WAAKvgB,qBAAL,GAA6B,KAAKA,qBAAL,IAA8B,KAAKsgB,YAAhE;AACA,WAAKrgB,sBAAL,GAA8B,KAAKA,sBAAL,IAA+B,KAAK+W,kBAAlE;AACA,WAAK9W,qBAAL,GAA6B,KAAKA,qBAAL,IAA8B,KAAK8W,kBAAhE;AACA,WAAKoK,oBAAL,GAA4B,KAAKA,oBAAL,IAA6B,KAAKb,gBAA9D;AACA,WAAKxgB,aAAL,GAAqB,KAAKA,aAAL,IAAsB,KAAKppB,SAAhD;AACA,WAAKwpB,uBAAL,GACE,KAAKA,uBAAL,KACC,KAAKkgB,QAAL,GAAgBY,qDAAM,CAAC,KAAKT,cAAN,EAAsB,EAAtB,CAAtB,GAAkD,KAAKA,cADxD,CADF;AAGA,WAAKpgB,kBAAL,GAA0B,KAAKA,kBAAL,IAA2B,KAAK0N,cAA1D;AACD;;;8BACSuT,S,EAAW;AAAA;;AACnB,UAAI,QAAOA,SAAP,MAAqB,QAAzB,EAAmC;AACjC;AACA,aAAKC,YAAL;AACA;AACD;;AAED,UAAMxyD,IAAI,GAAG7B,MAAM,CAAC6B,IAAP,CAAYuyD,SAAZ,CAAb,CAPmB,CASnB;;AACAvyD,UAAI,CAACE,OAAL,CAAa,UAAAknB,CAAC,EAAI;AAChB,aAAI,CAACA,CAAD,CAAJ,GAAUmrC,SAAS,CAACnrC,CAAD,CAAnB;AACD,OAFD,EAVmB,CAcnB;;AACA,WAAKorC,YAAL,GAfmB,CAgBnB;;AACAxyD,UAAI,CAACE,OAAL,CAAa,UAAAknB,CAAC,EAAI;AAChB,aAAI,CAACA,CAAD,CAAJ,GAAUmrC,SAAS,CAACnrC,CAAD,CAAnB;AACD,OAFD;AAGD;;;;;;AAGI,IAAM7nB,iBAAiB,GAAG,SAApBA,iBAAoB,CAAAkzD,aAAa,EAAI;AAChD,MAAMrzD,KAAK,GAAG,IAAIkyD,KAAJ,EAAd;AACAlyD,OAAK,CAACszD,SAAN,CAAgBD,aAAhB;AACA,SAAOrzD,KAAP;AACD,CAJM,C;;;;;;;;;;;;;;;;;;;;;;;;;ACjLP;AACA;;IAEMkyD,K;;;AACJ,mBAAc;AAAA;;AACZ;AACA,SAAKtJ,UAAL,GAAkB,SAAlB;AACA,SAAKwJ,YAAL,GAAoB,SAApB;AAEA,SAAKE,cAAL,GAAsBC,qDAAM,CAAC,KAAKH,YAAN,EAAoB;AAAEnpD,OAAC,EAAE;AAAL,KAApB,CAA5B;AACA,SAAKqpD,cAAL,GAAsB,SAAtB;AACA,SAAK1/B,aAAL,GAAqB2/B,qDAAM,CAAC,KAAKH,YAAN,EAAoB;AAAEnpD,OAAC,EAAE,CAAC;AAAN,KAApB,CAA3B;AACA,SAAK6/C,kBAAL,GAA0B0J,+DAAQ,CAAC,KAAKJ,YAAN,EAAoB,KAAKD,QAAzB,CAAlC;AACA,SAAKM,oBAAL,GAA4BD,+DAAQ,CAAC,KAAKF,cAAN,EAAsB,KAAKH,QAA3B,CAApC;AACA,SAAKO,mBAAL,GAA2BF,+DAAQ,CAAC,KAAK5/B,aAAN,EAAqB,KAAKu/B,QAA1B,CAAnC,CAVY,CAWZ;;AAEA,SAAKE,gBAAL,GAAwBO,qDAAM,CAAC,KAAKR,YAAN,CAA9B;AACA,SAAKO,kBAAL,GAA0BC,qDAAM,CAAC,KAAKN,cAAN,CAAhC;AACA,SAAKzJ,iBAAL,GAAyB+J,qDAAM,CAAC,KAAKhgC,aAAN,CAA/B;AACA,SAAKnK,SAAL,GAAiBmqC,qDAAM,CAAC,KAAKhK,UAAN,CAAvB;AACA,SAAKhvB,SAAL,GAAiBg5B,qDAAM,CAAC,KAAKhK,UAAN,CAAvB;AAEA,SAAKA,UAAL,GAAkB,OAAlB;AACA,SAAKpgC,OAAL,GAAe,SAAf;AACA,SAAK+qC,SAAL,GAAiB,SAAjB;AACA,SAAK9qC,SAAL,GAAiB,SAAjB;AACA,SAAKirC,OAAL,GAAe,SAAf;AACA,SAAKx5B,OAAL,GAAe,SAAf;AACA,SAAKJ,cAAL,GAAsB,SAAtB;AACA,SAAKz4B,UAAL,GAAkB,4CAAlB;AACA,SAAKgb,QAAL,GAAgB,MAAhB;AACA,SAAKu3C,eAAL,GAAuB,SAAvB;AACA,SAAKh6B,SAAL,GAAiB,MAAjB;AAEA;;AAEA,SAAKi5B,OAAL,GAAe,YAAf;AACA,SAAKvqC,UAAL,GAAkB,YAAlB;AACA,SAAK0R,UAAL,GAAkB,YAAlB;AACA,SAAKC,aAAL,GAAqB,YAArB;AACA,SAAK64B,gBAAL,GAAwB,YAAxB;AACA,SAAKj5B,UAAL,GAAkB,YAAlB;AACA,SAAKE,mBAAL,GAA2B,YAA3B;AAEA;;AAEA,SAAK2lB,WAAL,GAAmB,YAAnB;AACA,SAAKC,QAAL,GAAgB,YAAhB;AACA,SAAKC,cAAL,GAAsB,OAAtB;AACA,SAAKC,cAAL,GAAsB,MAAtB;AACA,SAAKC,WAAL,GAAmB,YAAnB;AACA,SAAKE,eAAL,GAAuB,YAAvB;AACA,SAAKE,gBAAL,GAAwB,YAAxB;AACA,SAAKD,mBAAL,GAA2B,YAA3B;AACA,SAAKE,cAAL,GAAsB,YAAtB;AACA,SAAKC,aAAL,GAAqB,YAArB;AACA,SAAKC,eAAL,GAAuB,YAAvB;AACA,SAAKC,YAAL,GAAoB,SAApB;AACA,SAAKC,aAAL,GAAqB,YAArB;AACA,SAAKE,qBAAL,GAA6B,MAA7B;AACA,SAAKD,kBAAL,GAA0B,SAA1B;AACA,SAAKT,mBAAL,GAA2B,OAA3B;AAEA;;AAEA,SAAKxb,eAAL,GAAuB,YAAvB;AACA,SAAKE,kBAAL,GAA0B,YAA1B;AACA,SAAKD,gBAAL,GAAwB,YAAxB;AACA,SAAKS,eAAL,GAAuB,YAAvB;AACA,SAAKD,YAAL,GAAoB,YAApB;AACA,SAAKiuB,kBAAL,GAA0B,YAA1B;AACA,SAAKluB,aAAL,GAAqB,KAAKkuB,kBAA1B;AACA,SAAKpuB,iBAAL,GAAyB,YAAzB;AACA,SAAKK,oBAAL,GAA4B,KAAKL,iBAAjC;AACA,SAAKC,sBAAL,GAA8B,YAA9B;AACA,SAAKM,qBAAL,GAA6B,YAA7B;AACA,SAAKD,kBAAL,GAA0B,YAA1B;AACA,SAAKR,SAAL,GAAiB,YAAjB;AACA,SAAKW,gBAAL,GAAwB,YAAxB;AACA,SAAKD,mBAAL,GAA2B,YAA3B;AACA,SAAKE,eAAL,GAAuB,YAAvB;AACA,SAAKC,YAAL,GAAoB,YAApB;AACA,SAAKZ,cAAL,GAAsB,YAAtB;AAEA,SAAKL,eAAL,GAAuBovB,mDAAI,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,EAAgB,IAAhB,CAA3B;AACA,SAAKlvB,kBAAL,GAA0B,OAA1B;AACA,SAAKD,gBAAL,GAAwB,SAAxB;AACA,SAAKS,eAAL,GAAuB,SAAvB;AACA,SAAKD,YAAL,GAAoB,SAApB;AACA,SAAKiuB,kBAAL,GAA0B,OAA1B;AACA,SAAKluB,aAAL,GAAqB,YAArB;AACA,SAAKF,iBAAL,GAAyB,OAAzB;AACA,SAAKK,oBAAL,GAA4B,YAA5B;AACA,SAAKJ,sBAAL,GAA8B,SAA9B;AACA,SAAKM,qBAAL,GAA6B,SAA7B;AACA,SAAKD,kBAAL,GAA0B,SAA1B;AACA,SAAKR,SAAL,GAAiB,WAAjB;AACA,SAAKW,gBAAL,GAAwB,WAAxB;AACA,SAAKD,mBAAL,GAA2B,MAA3B;AACA,SAAKE,eAAL,GAAuB,SAAvB;AACA,SAAKC,YAAL,GAAoB,KAApB;AACA,SAAKZ,cAAL,GAAsB,KAAtB;AAEA;;AACA,SAAK+jB,UAAL,GAAkB,OAAlB;AACA,SAAK4I,aAAL,GAAqB,SAArB;AACA,SAAKC,cAAL,GAAsB,SAAtB;AACA,SAAK4B,YAAL;AACD;;;;mCACc;AACb;AAEA,WAAKP,OAAL,GAAe,KAAKrqC,OAApB;AACA,WAAKF,UAAL,GAAkB,KAAKorC,OAAvB,CAJa,CAImB;;AAChC,WAAK15B,UAAL,GAAkB,KAAKu5B,SAAvB;AACA,WAAKt5B,aAAL,GAAqB,KAAKC,OAA1B;AACA,WAAK44B,gBAAL,GAAwB,KAAKrqC,SAA7B;AACA,WAAKoR,UAAL,GAAkB,KAAKD,SAAvB;AACA,WAAKG,mBAAL,GAA2B,KAAK65B,eAAhC;AAEA;AAEA;;AACA,WAAKlU,WAAL,GAAmBsT,sDAAO,CAAC,KAAKU,OAAN,EAAe,EAAf,CAA1B;AACA,WAAK/T,QAAL,GAAgB,KAAKn3B,OAArB;AACA,WAAK03B,gBAAL,GAAwB,KAAKP,QAA7B;AACA,WAAKG,WAAL,GAAmB,KAAKlmB,SAAxB;AACA,WAAKomB,eAAL,GAAuB,KAAKpmB,SAA5B;AACA,WAAKqmB,mBAAL,GAA2B,KAAKP,WAAhC;AACA,WAAKS,cAAL,GAAsB,KAAKP,cAA3B;AACA,WAAKQ,aAAL,GAAqB,KAAKR,cAA1B;AACA,WAAKS,eAAL,GAAuB,KAAKnmB,OAA5B;AACA,WAAKqmB,aAAL,GAAqB,KAAKX,cAA1B;AAEA;;AAEA,WAAK7a,aAAL,GAAqB,KAAKkuB,kBAA1B;AACA,WAAK/tB,oBAAL,GAA4B,KAAKL,iBAAjC;AAEA;;AACA;;AACA,WAAKtc,SAAL,GAAiB,KAAK8pC,gBAAtB;AACA;;AACA,WAAKpH,SAAL,GAAiB,KAAKmH,YAAtB;AACA,WAAKlH,SAAL,GAAiB,KAAKoH,cAAtB;AACA,WAAKnH,SAAL,GAAiBoH,qDAAM,CAAC,KAAKH,YAAN,EAAoB;AAAEnpD,SAAC,EAAE;AAAL,OAApB,CAAvB;AACA,WAAKmiD,SAAL,GAAiBmH,qDAAM,CAAC,KAAKD,cAAN,EAAsB;AAAErpD,SAAC,EAAE;AAAL,OAAtB,CAAvB;AACA,WAAKoiD,SAAL,GAAiBkH,qDAAM,CAAC,KAAKH,YAAN,EAAoB;AAAEnpD,SAAC,EAAE,CAAC;AAAN,OAApB,CAAvB;AACA,WAAKqiD,SAAL,GAAiBiH,qDAAM,CAAC,KAAKD,cAAN,EAAsB;AAAErpD,SAAC,EAAE,CAAC;AAAN,OAAtB,CAAvB;AACA,WAAKsiD,SAAL,GAAiBgH,qDAAM,CAAC,KAAKH,YAAN,EAAoB;AAAEnpD,SAAC,EAAE;AAAL,OAApB,CAAvB;AACA,WAAKuiD,SAAL,GAAiB+G,qDAAM,CAAC,KAAKD,cAAN,EAAsB;AAAErpD,SAAC,EAAE;AAAL,OAAtB,CAAvB;AAEA;;AACA,WAAK6oC,qBAAL,GAA6B,KAAKA,qBAAL,IAA8B,KAAKsgB,YAAhE;AACA,WAAKrgB,sBAAL,GAA8B,KAAKA,sBAAL,IAA+B,KAAK+W,kBAAlE;AACA,WAAK9W,qBAAL,GAA6B,KAAKA,qBAAL,IAA8B,KAAK8W,kBAAhE;AACA,WAAKoK,oBAAL,GAA4B,KAAKA,oBAAL,IAA6B,KAAKb,gBAA9D;AACA,WAAKxgB,aAAL,GAAqB,KAAKA,aAAL,IAAsB,KAAKppB,SAAhD;AACA,WAAKwpB,uBAAL,GAA+B,KAAKA,uBAAL,IAAgC,KAAK2hB,eAApE;AACA,WAAK1hB,kBAAL,GAA0B,KAAKA,kBAAL,IAA2B,KAAK0N,cAA1D;AACD;;;8BACSuT,S,EAAW;AAAA;;AACnB,UAAI,QAAOA,SAAP,MAAqB,QAAzB,EAAmC;AACjC;AACA,aAAKC,YAAL;AACA;AACD;;AAED,UAAMxyD,IAAI,GAAG7B,MAAM,CAAC6B,IAAP,CAAYuyD,SAAZ,CAAb,CAPmB,CASnB;;AACAvyD,UAAI,CAACE,OAAL,CAAa,UAAAknB,CAAC,EAAI;AAChB,aAAI,CAACA,CAAD,CAAJ,GAAUmrC,SAAS,CAACnrC,CAAD,CAAnB;AACD,OAFD,EAVmB,CAcnB;;AACA,WAAKorC,YAAL,GAfmB,CAgBnB;;AACAxyD,UAAI,CAACE,OAAL,CAAa,UAAAknB,CAAC,EAAI;AAChB,aAAI,CAACA,CAAD,CAAJ,GAAUmrC,SAAS,CAACnrC,CAAD,CAAnB;AACD,OAFD;AAGD;;;;;;AAGI,IAAM7nB,iBAAiB,GAAG,SAApBA,iBAAoB,CAAAkzD,aAAa,EAAI;AAChD,MAAMrzD,KAAK,GAAG,IAAIkyD,KAAJ,EAAd;AACAlyD,OAAK,CAACszD,SAAN,CAAgBD,aAAhB;AACA,SAAOrzD,KAAP;AACD,CAJM,C;;;;;;;;;;;;;;;;;;;;;;;;;ACzLP;AACA;;IACMkyD,K;;;AACJ,mBAAc;AAAA;;AACZ;AACA,SAAKtJ,UAAL,GAAkB,SAAlB;AACA,SAAKwJ,YAAL,GAAoB,SAApB;AACA,SAAKE,cAAL,GAAsB,SAAtB;AACA,SAAK1J,UAAL,GAAkB,OAAlB;AACA,SAAKpgC,OAAL,GAAe,SAAf;AACA,SAAK+qC,SAAL,GAAiB,SAAjB;AACA,SAAK9qC,SAAL,GAAiB,OAAjB;AACA,SAAKirC,OAAL,GAAe,SAAf;AACA,SAAKx5B,OAAL,GAAe,SAAf;AACA,SAAKJ,cAAL,GAAsB,OAAtB;AACA,SAAKz4B,UAAL,GAAkB,4CAAlB;AACA,SAAKgb,QAAL,GAAgB,MAAhB;AAEA,SAAKuW,aAAL,GAAqBogC,sDAAO,CAAC,SAAD,EAAY,EAAZ,CAA5B;AACA,SAAKlK,kBAAL,GAA0B0J,+DAAQ,CAAC,KAAKJ,YAAN,EAAoB,KAAKD,QAAzB,CAAlC;AACA,SAAKM,oBAAL,GAA4BD,+DAAQ,CAAC,KAAKF,cAAN,EAAsB,KAAKH,QAA3B,CAApC;AACA,SAAKO,mBAAL,GAA2BF,+DAAQ,CAAC,KAAK5/B,aAAN,EAAqB,KAAKu/B,QAA1B,CAAnC;AACA,SAAKE,gBAAL,GAAwBO,qDAAM,CAAC,KAAKR,YAAN,CAA9B;AACA,SAAKO,kBAAL,GAA0BC,qDAAM,CAAC,KAAKN,cAAN,CAAhC;AACA,SAAKzJ,iBAAL,GAAyB+J,qDAAM,CAAC,KAAKR,YAAN,CAA/B;AACA,SAAK3pC,SAAL,GAAiBmqC,qDAAM,CAAC,KAAKhK,UAAN,CAAvB;AACA,SAAKhvB,SAAL,GAAiBg5B,qDAAM,CAAC,KAAKhK,UAAN,CAAvB;AAEA;;AACA,SAAKiK,OAAL,GAAe,YAAf;AACA,SAAKvqC,UAAL,GAAkB,YAAlB;AACA,SAAK0R,UAAL,GAAkB,YAAlB;AACA,SAAKC,aAAL,GAAqB,YAArB;AACA,SAAK64B,gBAAL,GAAwB,YAAxB;AACA,SAAKj5B,UAAL,GAAkB,MAAlB;AACA,SAAKE,mBAAL,GAA2B,SAA3B;AAEA;;AAEA,SAAK2lB,WAAL,GAAmB,YAAnB;AACA,SAAKC,QAAL,GAAgB,YAAhB;AACA,SAAKC,cAAL,GAAsB,OAAtB;AACA,SAAKC,cAAL,GAAsB,MAAtB;AACA,SAAKC,WAAL,GAAmB,MAAnB;AACA,SAAKE,eAAL,GAAuB,MAAvB;AACA,SAAKE,gBAAL,GAAwB,YAAxB;AACA,SAAKD,mBAAL,GAA2B,SAA3B;AACA,SAAKE,cAAL,GAAsB,YAAtB;AACA,SAAKC,aAAL,GAAqB,YAArB;AACA,SAAKC,eAAL,GAAuB,YAAvB;AACA,SAAKC,YAAL,GAAoB,SAApB;AACA,SAAKC,aAAL,GAAqB,YAArB;AACA,SAAKE,qBAAL,GAA6B,MAA7B;AACA,SAAKD,kBAAL,GAA0B,SAA1B;AACA,SAAKT,mBAAL,GAA2B,OAA3B;AAEA;;AAEA,SAAKxb,eAAL,GAAuB,SAAvB;AACA,SAAKE,kBAAL,GAA0B,OAA1B;AACA,SAAKD,gBAAL,GAAwB,SAAxB;AACA,SAAKS,eAAL,GAAuB,YAAvB;AACA,SAAKD,YAAL,GAAoB,SAApB;AACA,SAAKiuB,kBAAL,GAA0B,OAA1B;AACA,SAAKluB,aAAL,GAAqB,YAArB;AACA,SAAKF,iBAAL,GAAyB,OAAzB;AACA,SAAKK,oBAAL,GAA4B,YAA5B;AACA,SAAKJ,sBAAL,GAA8B,SAA9B;AACA,SAAKM,qBAAL,GAA6B,YAA7B;AACA,SAAKD,kBAAL,GAA0B,YAA1B;AACA,SAAKR,SAAL,GAAiB,WAAjB;AACA,SAAKW,gBAAL,GAAwB,WAAxB;AACA,SAAKD,mBAAL,GAA2B,MAA3B;AACA,SAAKE,eAAL,GAAuB,SAAvB;AACA,SAAKC,YAAL,GAAoB,KAApB;AACA,SAAKZ,cAAL,GAAsB,KAAtB;AAEA;;AACA,SAAK+jB,UAAL,GAAkB,OAAlB;AAEA,SAAK4I,aAAL,GAAqB,SAArB;AACA,SAAKC,cAAL,GAAsB,SAAtB;AACD;;;;mCACc;AACb;AAEA,WAAKqB,OAAL,GAAe,KAAKrqC,OAApB;AACA,WAAKF,UAAL,GAAkB,KAAKorC,OAAvB;AACA,WAAK15B,UAAL,GAAkB,KAAKu5B,SAAvB;AACA,WAAKt5B,aAAL,GAAqB,KAAKC,OAA1B;AACA,WAAK44B,gBAAL,GAAwB,KAAKrqC,SAA7B;AAEA;;AAEA,WAAKi3B,WAAL,GAAmBqT,qDAAM,CAAC,KAAKvqC,OAAN,EAAe,EAAf,CAAzB;AACA,WAAKm3B,QAAL,GAAgB,KAAKn3B,OAArB;AACA,WAAK03B,gBAAL,GAAwB,KAAKP,QAA7B;AACA,WAAKQ,cAAL,GAAsB,KAAKP,cAA3B;AACA,WAAKQ,aAAL,GAAqB,KAAKR,cAA1B;AACA,WAAKS,eAAL,GAAuB,KAAKnmB,OAA5B;AACA,WAAKqmB,aAAL,GAAqB,KAAKX,cAA1B;AAEA;;AAEA,WAAK3a,eAAL,GAAuB,KAAKyuB,OAA5B;AACA,WAAK3uB,aAAL,GAAqB,KAAKkuB,kBAA1B;AACA,WAAK/tB,oBAAL,GAA4B,KAAKL,iBAAjC;AACA,WAAKO,qBAAL,GAA6B,KAAKH,eAAlC;AACA,WAAKE,kBAAL,GAA0B,KAAK3c,OAA/B;AAEA;;AACA;;AACA,WAAKD,SAAL,GAAiB,KAAK8pC,gBAAtB;AACA;;AACA,WAAKpH,SAAL,GAAiB,KAAKmH,YAAtB;AACA,WAAKlH,SAAL,GAAiB,KAAKoH,cAAtB;AACA,WAAKnH,SAAL,GAAiBoH,qDAAM,CAAC,KAAKH,YAAN,EAAoB;AAAEnpD,SAAC,EAAE;AAAL,OAApB,CAAvB;AACA,WAAKmiD,SAAL,GAAiBmH,qDAAM,CAAC,KAAKD,cAAN,EAAsB;AAAErpD,SAAC,EAAE;AAAL,OAAtB,CAAvB;AACA,WAAKoiD,SAAL,GAAiBkH,qDAAM,CAAC,KAAKH,YAAN,EAAoB;AAAEnpD,SAAC,EAAE,CAAC;AAAN,OAApB,CAAvB;AACA,WAAKqiD,SAAL,GAAiBiH,qDAAM,CAAC,KAAKD,cAAN,EAAsB;AAAErpD,SAAC,EAAE,CAAC;AAAN,OAAtB,CAAvB;AACA,WAAKsiD,SAAL,GAAiBgH,qDAAM,CAAC,KAAKH,YAAN,EAAoB;AAAEnpD,SAAC,EAAE;AAAL,OAApB,CAAvB;AACA,WAAKuiD,SAAL,GAAiB+G,qDAAM,CAAC,KAAKD,cAAN,EAAsB;AAAErpD,SAAC,EAAE;AAAL,OAAtB,CAAvB;AAEA;;AACA,WAAK6oC,qBAAL,GAA6B,KAAKA,qBAAL,IAA8B,KAAKsgB,YAAhE;AACA,WAAKrgB,sBAAL,GAA8B,KAAKA,sBAAL,IAA+B,KAAK+W,kBAAlE;AACA,WAAK9W,qBAAL,GAA6B,KAAKA,qBAAL,IAA8B,KAAK8W,kBAAhE;AACA,WAAKoK,oBAAL,GAA4B,KAAKA,oBAAL,IAA6B,KAAKb,gBAA9D;AACA,WAAKxgB,aAAL,GAAqB,KAAKA,aAAL,IAAsB,KAAKppB,SAAhD;AACA,WAAKwpB,uBAAL,GAA+B,KAAKA,uBAAL,IAAgC,KAAKlY,mBAApE;AACA,WAAKmY,kBAAL,GAA0B,KAAKA,kBAAL,IAA2B,KAAK0N,cAA1D;AACD;;;8BACSuT,S,EAAW;AAAA;;AACnB,UAAI,QAAOA,SAAP,MAAqB,QAAzB,EAAmC;AACjC;AACA,aAAKC,YAAL;AACA;AACD;;AAED,UAAMxyD,IAAI,GAAG7B,MAAM,CAAC6B,IAAP,CAAYuyD,SAAZ,CAAb,CAPmB,CASnB;;AACAvyD,UAAI,CAACE,OAAL,CAAa,UAAAknB,CAAC,EAAI;AAChB,aAAI,CAACA,CAAD,CAAJ,GAAUmrC,SAAS,CAACnrC,CAAD,CAAnB;AACD,OAFD,EAVmB,CAcnB;;AACA,WAAKorC,YAAL,GAfmB,CAgBnB;;AACAxyD,UAAI,CAACE,OAAL,CAAa,UAAAknB,CAAC,EAAI;AAChB,aAAI,CAACA,CAAD,CAAJ,GAAUmrC,SAAS,CAACnrC,CAAD,CAAnB;AACD,OAFD;AAGD;;;;;;AAGI,IAAM7nB,iBAAiB,GAAG,SAApBA,iBAAoB,CAAAkzD,aAAa,EAAI;AAChD,MAAMrzD,KAAK,GAAG,IAAIkyD,KAAJ,EAAd;AACAlyD,OAAK,CAACszD,SAAN,CAAgBD,aAAhB;AACA,SAAOrzD,KAAP;AACD,CAJM,C;;;;;;;;;;;;AC3JP;AAAA;AAAA;AAAA;AAAA;AAEO,IAAMwyD,QAAQ,GAAG,SAAXA,QAAW,CAACqB,GAAD,EAAM1B,QAAN;AAAA,SACtBA,QAAQ,GAAGI,qDAAM,CAACsB,GAAD,EAAM;AAAE9tD,KAAC,EAAE,CAAC,EAAN;AAAU6iB,KAAC,EAAE;AAAb,GAAN,CAAT,GAAoC2pC,qDAAM,CAACsB,GAAD,EAAM;AAAE9tD,KAAC,EAAE,CAAC,EAAN;AAAU6iB,KAAC,EAAE,CAAC;AAAd,GAAN,CAD5B;AAAA,CAAjB,C;;;;;;;;;;;;;;;;;;;;;;;;;ACFP;CAGA;AACA;;IAEMspC,K;;;AACJ,mBAAc;AAAA;;AACZ,SAAKE,YAAL,GAAoB,MAApB;AACA,SAAK0B,QAAL,GAAgB,SAAhB;AACA,SAAKxB,cAAL,GAAsBU,sDAAO,CAAC,KAAKc,QAAN,EAAgB,EAAhB,CAA7B;AACA,SAAKlL,UAAL,GAAkB,SAAlB,CAJY,CAMZ;;AACA,SAAKh2B,aAAL,GAAqB2/B,qDAAM,CAAC,KAAKH,YAAN,EAAoB;AAAEnpD,OAAC,EAAE,CAAC;AAAN,KAApB,CAA3B;AACA,SAAK6/C,kBAAL,GAA0B0J,+DAAQ,CAAC,KAAKJ,YAAN,EAAoB,KAAKD,QAAzB,CAAlC;AACA,SAAKM,oBAAL,GAA4BD,+DAAQ,CAAC,KAAKF,cAAN,EAAsB,KAAKH,QAA3B,CAApC;AACA,SAAKO,mBAAL,GAA2BF,+DAAQ,CAAC,KAAK5/B,aAAN,EAAqB,KAAKu/B,QAA1B,CAAnC,CAVY,CAWZ;;AAEA,SAAKE,gBAAL,GAAwBO,qDAAM,CAAC,KAAKR,YAAN,CAA9B;AACA,SAAKO,kBAAL,GAA0BC,qDAAM,CAAC,KAAKN,cAAN,CAAhC;AACA,SAAKzJ,iBAAL,GAAyB+J,qDAAM,CAAC,KAAKhgC,aAAN,CAA/B;AACA,SAAKnK,SAAL,GAAiBmqC,qDAAM,CAAC,KAAKhK,UAAN,CAAvB;AACA,SAAKhvB,SAAL,GAAiBg5B,qDAAM,CAAC,KAAKhK,UAAN,CAAvB;AAEA,SAAKG,aAAL,GAAqBiK,sDAAO,CAAC,KAAKc,QAAN,EAAgB,EAAhB,CAA5B;AACA,SAAKtrC,OAAL,GAAe,MAAf;AACA,SAAK+qC,SAAL,GAAiB,YAAjB;AACA,SAAK9qC,SAAL,GAAiB,MAAjB;AACA,SAAKirC,OAAL,GAAe,MAAf;AACA,SAAKx5B,OAAL,GAAe,YAAf;AACA,SAAKhhB,IAAL,GAAY,MAAZ;AACA,SAAKhX,IAAL,GAAY,MAAZ;AACA,SAAK6xD,QAAL,GAAgB,MAAhB;AACA,SAAKz0B,IAAL,GAAY,MAAZ;AACA,SAAKxF,cAAL,GAAsB,SAAtB;AACA,SAAKz4B,UAAL,GAAkB,4CAAlB;AACA,SAAKgb,QAAL,GAAgB,MAAhB;AAEA;;AAEA,SAAKw2C,OAAL,GAAe,YAAf;AACA,SAAKvqC,UAAL,GAAkB,YAAlB;AACA,SAAK0R,UAAL,GAAkB,YAAlB;AACA,SAAKC,aAAL,GAAqB,YAArB;AACA,SAAK64B,gBAAL,GAAwB,YAAxB;AACA,SAAKj5B,UAAL,GAAkB,YAAlB;AACA,SAAKE,mBAAL,GAA2B,OAA3B;AAEA;;AAEA,SAAK2lB,WAAL,GAAmB,YAAnB;AACA,SAAKC,QAAL,GAAgB,YAAhB;AACA,SAAKC,cAAL,GAAsB,YAAtB;AACA,SAAKC,cAAL,GAAsB,YAAtB;AACA,SAAKC,WAAL,GAAmB,YAAnB;AACA,SAAKE,eAAL,GAAuB,YAAvB;AACA,SAAKE,gBAAL,GAAwB,YAAxB;AACA,SAAKD,mBAAL,GAA2B,YAA3B;AACA,SAAKE,cAAL,GAAsB,YAAtB;AACA,SAAKC,aAAL,GAAqB,YAArB;AACA,SAAKC,eAAL,GAAuB,YAAvB;AACA,SAAKC,YAAL,GAAoB,YAApB;AACA,SAAKC,aAAL,GAAqB,YAArB;AACA,SAAKE,qBAAL,GAA6B,MAA7B;AACA,SAAKD,kBAAL,GAA0B,SAA1B;AACA,SAAKT,mBAAL,GAA2B,OAA3B;AAEA;;AAEA,SAAKxb,eAAL,GAAuB,YAAvB;AACA,SAAKE,kBAAL,GAA0B,OAA1B;AACA,SAAKD,gBAAL,GAAwB,YAAxB;AACA,SAAKS,eAAL,GAAuB,YAAvB;AACA,SAAKD,YAAL,GAAoB,YAApB;AACA,SAAKiuB,kBAAL,GAA0B,OAA1B;AACA,SAAKluB,aAAL,GAAqB,YAArB;AACA,SAAKF,iBAAL,GAAyB,YAAzB;AACA,SAAKK,oBAAL,GAA4B,YAA5B;AACA,SAAKJ,sBAAL,GAA8B,SAA9B;AACA,SAAKM,qBAAL,GAA6B,YAA7B;AACA,SAAKD,kBAAL,GAA0B,YAA1B;AACA,SAAKR,SAAL,GAAiB,YAAjB;AACA,SAAKW,gBAAL,GAAwB,YAAxB;AACA,SAAKD,mBAAL,GAA2B,YAA3B;AACA,SAAKG,YAAL,GAAoB,YAApB;AACA,SAAKD,eAAL,GAAuB,YAAvB;AACA,SAAKX,cAAL,GAAsB,YAAtB;AAEA;;AACA,SAAK+jB,UAAL,GAAkB,OAAlB;AAEA,SAAK4I,aAAL,GAAqB,SAArB;AACA,SAAKC,cAAL,GAAsB,SAAtB;AACD;;;;mCACc;AACb,WAAK+B,SAAL,GAAiBP,sDAAO,CAAC,KAAKc,QAAN,EAAgB,EAAhB,CAAxB;AACA,WAAK55B,OAAL,GAAe,KAAK45B,QAApB;AAEA;;AAEA,WAAKjB,OAAL,GAAe,KAAKrqC,OAApB;AACA,WAAKF,UAAL,GAAkB,KAAKorC,OAAvB;AACA,WAAK15B,UAAL,GAAkB,KAAKu5B,SAAvB;AACA,WAAKt5B,aAAL,GAAqB,KAAKC,OAA1B;AACA,WAAK44B,gBAAL,GAAwB,KAAKrqC,SAA7B;AACA,WAAKoR,UAAL,GAAkB,KAAK33B,IAAvB;AAEA;;AAEA,WAAKw9C,WAAL,GAAmBsT,sDAAO,CAAC,KAAKU,OAAN,EAAe,EAAf,CAA1B;AACA,WAAK/T,QAAL,GAAgB,KAAKn3B,OAArB;AACA,WAAKo3B,cAAL,GAAsB,KAAK19C,IAA3B;AACA,WAAK29C,cAAL,GAAsB,KAAKp3B,SAA3B;AACA,WAAKq3B,WAAL,GAAmB,KAAK59C,IAAxB;AACA,WAAK89C,eAAL,GAAuB,KAAK99C,IAA5B;AACA,WAAKg+C,gBAAL,GAAwB,KAAKP,QAA7B;AACA,WAAKM,mBAAL,GAA2B,KAAKP,WAAhC;AACA,WAAKS,cAAL,GAAsB,KAAKj+C,IAA3B;AACA,WAAKk+C,aAAL,GAAqB,KAAKl+C,IAA1B;AACA,WAAKm+C,eAAL,GAAuB0S,qDAAM,CAAC,KAAK75C,IAAN,EAAY,EAAZ,CAA7B;AACA,WAAKonC,YAAL,GAAoB,KAAKpnC,IAAzB;AACA,WAAKqnC,aAAL,GAAqB,KAAKX,cAA1B;AAEA;;AAEA,WAAKrb,eAAL,GAAuByuB,sDAAO,CAAC,KAAKc,QAAN,EAAgB,EAAhB,CAA9B;AACA,WAAKtvB,gBAAL,GAAwBwuB,sDAAO,CAAC,KAAKc,QAAN,EAAgB,EAAhB,CAA/B;AAEA,WAAK7uB,eAAL,GAAuB8tB,qDAAM,CAAC,KAAKe,QAAN,EAAgB,EAAhB,CAA7B;AAEA,WAAK9uB,YAAL,GAAoB,KAAK8uB,QAAzB;AACA,WAAK/uB,aAAL,GAAqB,KAAKkuB,kBAA1B;AACA,WAAKpuB,iBAAL,GAAyB,KAAK3iC,IAA9B;AACA,WAAKgjC,oBAAL,GAA4B,KAAKL,iBAAjC;AACA,WAAKO,qBAAL,GAA6B,KAAKH,eAAlC;AACA,WAAKE,kBAAL,GAA0B,KAAK3c,OAA/B;AACA,WAAKmc,SAAL,GAAiBquB,sDAAO,CAAC,KAAKU,OAAN,EAAe,EAAf,CAAxB;AAEA,WAAKpuB,gBAAL,GAAwB,KAAKhG,IAA7B;AACA,WAAK+F,mBAAL,GAA2B,KAAK5c,SAAhC;AACA,WAAK+c,YAAL,GAAoB,KAAKuuB,QAAzB;AACA,WAAKxuB,eAAL,GAAuBwtB,qDAAM,CAAC,KAAKvtB,YAAN,EAAoB,EAApB,CAA7B;AAEA,WAAKZ,cAAL,GAAsB,KAAKY,YAA3B;AAEA;;AACA;;AACA,WAAKjd,SAAL,GAAiB,KAAK8pC,gBAAtB;AACA;;AACA,WAAKpH,SAAL,GAAiB,KAAKmH,YAAtB;AACA,WAAKlH,SAAL,GAAiB,KAAKoH,cAAtB;AACA,WAAKnH,SAAL,GAAiBoH,qDAAM,CAAC,KAAKH,YAAN,EAAoB;AAAEnpD,SAAC,EAAE;AAAL,OAApB,CAAvB;AACA,WAAKmiD,SAAL,GAAiBmH,qDAAM,CAAC,KAAKD,cAAN,EAAsB;AAAErpD,SAAC,EAAE;AAAL,OAAtB,CAAvB;AACA,WAAKoiD,SAAL,GAAiBkH,qDAAM,CAAC,KAAKH,YAAN,EAAoB;AAAEnpD,SAAC,EAAE,CAAC;AAAN,OAApB,CAAvB;AACA,WAAKqiD,SAAL,GAAiBiH,qDAAM,CAAC,KAAKD,cAAN,EAAsB;AAAErpD,SAAC,EAAE,CAAC;AAAN,OAAtB,CAAvB;AACA,WAAKsiD,SAAL,GAAiBgH,qDAAM,CAAC,KAAKH,YAAN,EAAoB;AAAEnpD,SAAC,EAAE;AAAL,OAApB,CAAvB;AACA,WAAKuiD,SAAL,GAAiB+G,qDAAM,CAAC,KAAKD,cAAN,EAAsB;AAAErpD,SAAC,EAAE;AAAL,OAAtB,CAAvB;AACA;;AACA,WAAK6oC,qBAAL,GAA6B,KAAKA,qBAAL,IAA8B,KAAKsgB,YAAhE;AACA,WAAKrgB,sBAAL,GAA8B,KAAKA,sBAAL,IAA+B,KAAK+W,kBAAlE;AACA,WAAK9W,qBAAL,GAA6B,KAAKA,qBAAL,IAA8B,KAAK8W,kBAAhE;AACA,WAAKoK,oBAAL,GAA4B,KAAKA,oBAAL,IAA6B,KAAKb,gBAA9D;AACA,WAAKxgB,aAAL,GAAqB,KAAKA,aAAL,IAAsB,KAAKppB,SAAhD;AACA,WAAKwpB,uBAAL,GAA+B,KAAKA,uBAAL,IAAgC,KAAKlY,mBAApE;AACA,WAAKmY,kBAAL,GAA0B,KAAKA,kBAAL,IAA2B,KAAK0N,cAA1D;AACD;;;8BACSuT,S,EAAW;AAAA;;AACnB,UAAI,QAAOA,SAAP,MAAqB,QAAzB,EAAmC;AACjC;AACA,aAAKC,YAAL;AACA;AACD;;AAED,UAAMxyD,IAAI,GAAG7B,MAAM,CAAC6B,IAAP,CAAYuyD,SAAZ,CAAb,CAPmB,CASnB;;AACAvyD,UAAI,CAACE,OAAL,CAAa,UAAAknB,CAAC,EAAI;AAChB,aAAI,CAACA,CAAD,CAAJ,GAAUmrC,SAAS,CAACnrC,CAAD,CAAnB;AACD,OAFD,EAVmB,CAcnB;;AACA,WAAKorC,YAAL,GAfmB,CAgBnB;;AACAxyD,UAAI,CAACE,OAAL,CAAa,UAAAknB,CAAC,EAAI;AAChB,aAAI,CAACA,CAAD,CAAJ,GAAUmrC,SAAS,CAACnrC,CAAD,CAAnB;AACD,OAFD;AAGD;;;;;;AAGI,IAAM7nB,iBAAiB,GAAG,SAApBA,iBAAoB,CAAAkzD,aAAa,EAAI;AAChD,MAAMrzD,KAAK,GAAG,IAAIkyD,KAAJ,EAAd;AACAlyD,OAAK,CAACszD,SAAN,CAAgBD,aAAhB;AACA,SAAOrzD,KAAP;AACD,CAJM,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/LP;AACA;AAcA;CAEA;AAEA;;AACA,IAAMg0D,YAAY,GAAG;AACnBtoD,YAAU,EAAEA,6CADO;AAEnBuoD,kBAAgB,EAAEA,mDAFC;AAGnBC,gBAAc,EAAEA,iDAHG;AAInBztC,aAAW,EAAEA,8CAJM;AAKnB0tC,mBAAiB,EAAEA,oDALA;AAMnBC,gBAAc,EAAEA,iDANG;AAOnBC,gBAAc,EAAEA,iDAPG;AAQnBC,cAAY,EAAEA,+CARK;AASnBC,WAAS,EAAEA,4CATQ;AAUnBC,gBAAc,EAAEA,iDAVG;AAWnBC,iBAAe,EAAEA,kDAAeA;AAXb,CAArB;AAaA,IAAMrzD,SAAS,GAAG,qGAAlB;AACA,IAAMszD,oBAAoB,GAAG,8FAA7B;AACA,IAAMC,UAAU,GAAG,aAAnB;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BO,IAAMpH,UAAU,GAAG,SAAbA,UAAa,CAASrrD,IAAT,EAAe;AACvC,MAAI0yD,KAAK,GAAGC,eAAe,CAAC3yD,IAAD,EAAO,6BAAP,CAA3B;AACA,MAAI4yD,OAAO,GAAG,EAAd;;AACA,MAAIzuD,KAAK,CAACC,OAAN,CAAcsuD,KAAd,CAAJ,EAA0B;AACxB,QAAIhE,IAAI,GAAGgE,KAAK,CAACj7C,GAAN,CAAU,UAAA4+B,IAAI;AAAA,aAAIA,IAAI,CAACqY,IAAT;AAAA,KAAd,CAAX;AACAkE,WAAO,GAAG31D,eAAe,CAAC21D,OAAD,qBAAclE,IAAd,EAAzB;AACD,GAHD,MAGO;AACLkE,WAAO,GAAGF,KAAK,CAAChE,IAAhB;AACD;;AACD,MAAIkE,OAAJ,EAAa;AACX,QAAItiD,IAAI,GAAGu7C,UAAU,CAAC7rD,IAAD,CAArB;AACA,KAAC,QAAD,EAAWpB,OAAX,CAAmB,UAAAu9C,IAAI,EAAI;AACzB,UAAI,OAAOyW,OAAO,CAACzW,IAAD,CAAd,KAAyB,WAA7B,EAA0C;AACxC,YAAI7rC,IAAI,KAAK,cAAb,EAA6B;AAC3BA,cAAI,GAAG,WAAP;AACD;;AACDsiD,eAAO,CAACtiD,IAAD,CAAP,GAAgBsiD,OAAO,CAACzW,IAAD,CAAvB;AACA,eAAOyW,OAAO,CAACzW,IAAD,CAAd;AACD;AACF,KARD;AASD;;AACD,SAAOyW,OAAP;AACD,CAtBM;AAwBP;;;;;;;;;;;;;;;;;;;;;;AAqBO,IAAMD,eAAe,GAAG,SAAlBA,eAAkB,CAAS3yD,IAAT,EAA4B;AAAA,MAAbsQ,IAAa,uEAAN,IAAM;;AACzD,MAAI;AACF,QAAMuiD,wBAAwB,GAAG,IAAIx0B,MAAJ,uBAChBm0B,oBAAoB,CAACM,MADL,yBAE/B,IAF+B,CAAjC;AAIA9yD,QAAI,GAAGA,IAAI,CACRyE,IADI,GAEJb,OAFI,CAEIivD,wBAFJ,EAE8B,EAF9B,EAGJjvD,OAHI,CAGI,KAHJ,EAGW,GAHX,CAAP;AAIA9E,+CAAG,CAACC,KAAJ,sCACgCuR,IAAI,KAAK,IAAT,GAAgB,WAAWA,IAA3B,GAAkC,EADlE,gCAC0FtQ,IAD1F;AAGA,QAAIkgB,KAAJ;AAAA,QACEhN,MAAM,GAAG,EADX;;AAEA,WAAO,CAACgN,KAAK,GAAGhhB,SAAS,CAACk8B,IAAV,CAAep7B,IAAf,CAAT,MAAmC,IAA1C,EAAgD;AAC9C;AACA,UAAIkgB,KAAK,CAACwlB,KAAN,KAAgBxmC,SAAS,CAAC6zD,SAA9B,EAAyC;AACvC7zD,iBAAS,CAAC6zD,SAAV;AACD;;AACD,UACG7yC,KAAK,IAAI,CAAC5P,IAAX,IACCA,IAAI,IAAI4P,KAAK,CAAC,CAAD,CAAb,IAAoBA,KAAK,CAAC,CAAD,CAAL,CAASA,KAAT,CAAe5P,IAAf,CADrB,IAECA,IAAI,IAAI4P,KAAK,CAAC,CAAD,CAAb,IAAoBA,KAAK,CAAC,CAAD,CAAL,CAASA,KAAT,CAAe5P,IAAf,CAHvB,EAIE;AACA,YAAIA,KAAI,GAAG4P,KAAK,CAAC,CAAD,CAAL,GAAWA,KAAK,CAAC,CAAD,CAAhB,GAAsBA,KAAK,CAAC,CAAD,CAAtC;;AACA,YAAIwuC,IAAI,GAAGxuC,KAAK,CAAC,CAAD,CAAL,GAAWA,KAAK,CAAC,CAAD,CAAL,CAASzb,IAAT,EAAX,GAA6Byb,KAAK,CAAC,CAAD,CAAL,GAAW/e,IAAI,CAACqK,KAAL,CAAW0U,KAAK,CAAC,CAAD,CAAL,CAASzb,IAAT,EAAX,CAAX,GAAyC,IAAjF;AACAyO,cAAM,CAAC9T,IAAP,CAAY;AAAEkR,cAAI,EAAJA,KAAF;AAAQo+C,cAAI,EAAJA;AAAR,SAAZ;AACD;AACF;;AACD,QAAIx7C,MAAM,CAACvV,MAAP,KAAkB,CAAtB,EAAyB;AACvBuV,YAAM,CAAC9T,IAAP,CAAY;AAAEkR,YAAI,EAAEtQ,IAAR;AAAc0uD,YAAI,EAAE;AAApB,OAAZ;AACD;;AAED,WAAOx7C,MAAM,CAACvV,MAAP,KAAkB,CAAlB,GAAsBuV,MAAM,CAAC,CAAD,CAA5B,GAAkCA,MAAzC;AACD,GAlCD,CAkCE,OAAO1B,KAAP,EAAc;AACd1S,+CAAG,CAAC0S,KAAJ,kBACYA,KAAK,CAACozB,OADlB,iDAEIt0B,IAAI,KAAK,IAAT,GAAgB,WAAWA,IAA3B,GAAkC,EAFtC,gCAE8DtQ,IAF9D;AAIA,WAAO;AAAEsQ,UAAI,EAAE,IAAR;AAAco+C,UAAI,EAAE;AAApB,KAAP;AACD;AACF,CA1CM;AA4CP;;;;;;;;;;;;;;;;;;;;AAmBO,IAAM7C,UAAU,GAAG,SAAbA,UAAa,CAAS7rD,IAAT,EAAe;AACvCA,MAAI,GAAGA,IAAI,CAAC4D,OAAL,CAAa1E,SAAb,EAAwB,EAAxB,EAA4B0E,OAA5B,CAAoC6uD,UAApC,EAAgD,IAAhD,CAAP;AACA3zD,6CAAG,CAACC,KAAJ,CAAU,8CAA8CiB,IAAxD;;AACA,MAAIA,IAAI,CAACkgB,KAAL,CAAW,qBAAX,CAAJ,EAAuC;AACrC,WAAO,UAAP;AACD;;AAED,MAAIlgB,IAAI,CAACkgB,KAAL,CAAW,WAAX,CAAJ,EAA6B;AAC3B,WAAO,OAAP;AACD;;AACD,MAAIlgB,IAAI,CAACkgB,KAAL,CAAW,qBAAX,CAAJ,EAAuC;AACrC,WAAO,cAAP;AACD;;AACD,MAAIlgB,IAAI,CAACkgB,KAAL,CAAW,kBAAX,CAAJ,EAAoC;AAClC,QAAI6E,GAAG,IAAIA,GAAG,CAACjlB,KAAX,IAAoBilB,GAAG,CAACjlB,KAA5B,EAAmC,OAAO,OAAP;AACpC;;AAED,MAAIE,IAAI,CAACkgB,KAAL,CAAW,qBAAX,CAAJ,EAAuC;AACrC,WAAO,cAAP;AACD;;AAED,MAAIlgB,IAAI,CAACkgB,KAAL,CAAW,kBAAX,CAAJ,EAAoC;AAClC,WAAO,OAAP;AACD;;AAED,MAAIlgB,IAAI,CAACkgB,KAAL,CAAW,cAAX,CAAJ,EAAgC;AAC9B,WAAO,KAAP;AACD;;AACD,MAAIlgB,IAAI,CAACkgB,KAAL,CAAW,eAAX,CAAJ,EAAiC;AAC/B,WAAO,cAAP;AACD;;AAED,MAAIlgB,IAAI,CAACkgB,KAAL,CAAW,UAAX,CAAJ,EAA4B;AAC1B,WAAO,MAAP;AACD;;AACD,MAAIlgB,IAAI,CAACkgB,KAAL,CAAW,SAAX,CAAJ,EAA2B;AACzB,WAAO,KAAP;AACD;;AAED,MAAIlgB,IAAI,CAACkgB,KAAL,CAAW,eAAX,CAAJ,EAAiC;AAC/B,WAAO,IAAP;AACD;;AAED,MAAIlgB,IAAI,CAACkgB,KAAL,CAAW,aAAX,CAAJ,EAA+B;AAC7B,WAAO,SAAP;AACD;;AAED,MAAIlgB,IAAI,CAACkgB,KAAL,CAAW,iBAAX,KAAiClgB,IAAI,CAACkgB,KAAL,CAAW,wBAAX,CAArC,EAA2E;AACzE,WAAO,aAAP;AACD;;AAED,SAAO,WAAP;AACD,CApDM;;AAsDP,IAAM8yC,OAAO,GAAG,SAAVA,OAAU,CAAC3uB,EAAD,EAAK4uB,QAAL,EAAkB;AAChC,MAAIC,KAAK,GAAG,EAAZ;AACA,SAAO,YAAa;AAAA,sCAATxE,IAAS;AAATA,UAAS;AAAA;;AAClB,QAAI9X,CAAC,GAAGqc,QAAQ,GAAGA,QAAQ,CAACr/B,KAAT,CAAe,KAAf,EAAqB86B,IAArB,CAAH,GAAgCA,IAAI,CAAC,CAAD,CAApD;;AACA,QAAI9X,CAAC,IAAIsc,KAAT,EAAgB;AACd,aAAOA,KAAK,CAACtc,CAAD,CAAZ;AACD,KAFD,MAEO;AACL,UAAI1jC,MAAM,GAAGmxB,EAAE,MAAF,SAAMqqB,IAAN,CAAb;AACAwE,WAAK,CAACtc,CAAD,CAAL,GAAW1jC,MAAX;AACA,aAAOA,MAAP;AACD;AACF,GATD;AAUD,CAZD;AAcA;;;;;;;;;AAOO,IAAMif,kBAAkB,GAAG,SAArBA,kBAAqB,CAAS3b,GAAT,EAAcwrB,GAAd,EAAmB;AACnD,OAAK,IAAItkC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGskC,GAAG,CAACrkC,MAAxB,EAAgCD,CAAC,EAAjC,EAAqC;AACnC,QAAIskC,GAAG,CAACtkC,CAAD,CAAH,CAAOwiB,KAAP,CAAa1J,GAAb,CAAJ,EAAuB,OAAO9Y,CAAP;AACxB;;AACD,SAAO,CAAC,CAAR;AACD,CALM;AAOA,IAAM4mB,kBAAkB,GAAG,SAArBA,kBAAqB,CAACD,WAAD,EAAc8uC,YAAd,EAA+B;AAC/D,MAAI,CAAC9uC,WAAL,EAAkB;AAChB,WAAO8uC,YAAP;AACD;;AACD,MAAMC,SAAS,kBAAW/uC,WAAW,CAACnD,MAAZ,CAAmB,CAAnB,EAAsBmyC,WAAtB,KAAsChvC,WAAW,CAACvb,KAAZ,CAAkB,CAAlB,CAAjD,CAAf;AACA,SAAOgpD,YAAY,CAACsB,SAAD,CAAZ,IAA2BD,YAAlC;AACD,CANM;AAQA,IAAMzyC,SAAS,GAAG,SAAZA,SAAY,CAACF,OAAD,EAAUzjB,MAAV,EAAqB;AAC5C,MAAIgN,GAAG,GAAGyW,OAAO,CAAC/b,IAAR,EAAV;;AAEA,MAAIsF,GAAJ,EAAS;AACP,QAAIhN,MAAM,CAAC8a,aAAP,KAAyB,OAA7B,EAAsC;AACpC,aAAOimB,2EAAW,CAAC/zB,GAAD,CAAlB;AACD;;AAED,WAAOA,GAAP;AACD;AACF,CAVM;AAYA,IAAMsX,OAAO,GAAG,SAAVA,OAAU,CAACT,YAAD,EAA6B;AAAA;;AAClD,MAAM0yC,QAAQ,GAAG1yC,YAAY,CAAC1c,KAAb,CAAmB,GAAnB,CAAjB;AAEA,MAAM8rB,GAAG,GAAGsjC,QAAQ,CAAC31D,MAAT,GAAkB,CAA9B;AACA,MAAM41D,MAAM,GAAGD,QAAQ,CAACtjC,GAAD,CAAvB;AAEA,MAAImS,GAAG,GAAGj4B,MAAV;;AACA,OAAK,IAAIxM,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGsyB,GAApB,EAAyBtyB,CAAC,EAA1B,EAA8B;AAC5BykC,OAAG,GAAGA,GAAG,CAACmxB,QAAQ,CAAC51D,CAAD,CAAT,CAAT;AACA,QAAI,CAACykC,GAAL,EAAU;AACX;;AAViD,qCAAXqxB,MAAW;AAAXA,UAAW;AAAA;;AAYlD,UAAArxB,GAAG,EAACoxB,MAAD,CAAH,aAAeC,MAAf;AACD,CAbM;;AAeP,IAAMC,QAAQ,GAAG,SAAXA,QAAW,CAAC9lD,EAAD,EAAKC,EAAL;AAAA,SACfD,EAAE,IAAIC,EAAN,GAAWjH,IAAI,CAAC8G,IAAL,CAAU9G,IAAI,CAAC+sD,GAAL,CAAS9lD,EAAE,CAACpM,CAAH,GAAOmM,EAAE,CAACnM,CAAnB,EAAsB,CAAtB,IAA2BmF,IAAI,CAAC+sD,GAAL,CAAS9lD,EAAE,CAACnM,CAAH,GAAOkM,EAAE,CAAClM,CAAnB,EAAsB,CAAtB,CAArC,CAAX,GAA4E,CAD7D;AAAA,CAAjB;;AAGA,IAAMkyD,YAAY,GAAG,SAAfA,YAAe,CAAA7rD,MAAM,EAAI;AAC7B,MAAI8rD,SAAJ;AACA,MAAIC,aAAa,GAAG,CAApB;AAEA/rD,QAAM,CAAClJ,OAAP,CAAe,UAAAgD,KAAK,EAAI;AACtBiyD,iBAAa,IAAIJ,QAAQ,CAAC7xD,KAAD,EAAQgyD,SAAR,CAAzB;AACAA,aAAS,GAAGhyD,KAAZ;AACD,GAHD,EAJ6B,CAS7B;;AACA,MAAIkyD,iBAAiB,GAAGD,aAAa,GAAG,CAAxC;AACA,MAAIxU,MAAM,GAAGh/C,SAAb;AACAuzD,WAAS,GAAGvzD,SAAZ;AACAyH,QAAM,CAAClJ,OAAP,CAAe,UAAAgD,KAAK,EAAI;AACtB,QAAIgyD,SAAS,IAAI,CAACvU,MAAlB,EAA0B;AACxB,UAAM0U,cAAc,GAAGN,QAAQ,CAAC7xD,KAAD,EAAQgyD,SAAR,CAA/B;;AACA,UAAIG,cAAc,GAAGD,iBAArB,EAAwC;AACtCA,yBAAiB,IAAIC,cAArB;AACD,OAFD,MAEO;AACL;AACA;AACA,YAAMC,aAAa,GAAGF,iBAAiB,GAAGC,cAA1C;AACA,YAAIC,aAAa,IAAI,CAArB,EAAwB3U,MAAM,GAAGuU,SAAT;AACxB,YAAII,aAAa,IAAI,CAArB,EAAwB3U,MAAM,GAAG;AAAE79C,WAAC,EAAEI,KAAK,CAACJ,CAAX;AAAcC,WAAC,EAAEG,KAAK,CAACH;AAAvB,SAAT;;AACxB,YAAIuyD,aAAa,GAAG,CAAhB,IAAqBA,aAAa,GAAG,CAAzC,EAA4C;AAC1C3U,gBAAM,GAAG;AACP79C,aAAC,EAAE,CAAC,IAAIwyD,aAAL,IAAsBJ,SAAS,CAACpyD,CAAhC,GAAoCwyD,aAAa,GAAGpyD,KAAK,CAACJ,CADtD;AAEPC,aAAC,EAAE,CAAC,IAAIuyD,aAAL,IAAsBJ,SAAS,CAACnyD,CAAhC,GAAoCuyD,aAAa,GAAGpyD,KAAK,CAACH;AAFtD,WAAT;AAID;AACF;AACF;;AACDmyD,aAAS,GAAGhyD,KAAZ;AACD,GApBD;AAqBA,SAAOy9C,MAAP;AACD,CAnCD;;AAqCA,IAAM94C,iBAAiB,GAAG,SAApBA,iBAAoB,CAAAuB,MAAM,EAAI;AAClC,SAAO6rD,YAAY,CAAC7rD,MAAD,CAAnB;AACD,CAFD;;AAIA,IAAMmf,uBAAuB,GAAG,SAA1BA,uBAA0B,CAACgtC,qBAAD,EAAwBnsD,MAAxB,EAAgCosD,eAAhC,EAAoD;AAClF,MAAIN,SAAJ;AACA,MAAIC,aAAa,GAAG,CAApB,CAFkF,CAE3D;;AACvB/0D,6CAAG,CAAC+D,IAAJ,CAAS,YAAT,EAAuBiF,MAAvB;;AACA,MAAIA,MAAM,CAAC,CAAD,CAAN,KAAcosD,eAAlB,EAAmC;AACjCpsD,UAAM,GAAGA,MAAM,CAACoB,OAAP,EAAT;AACD;;AACDpB,QAAM,CAAClJ,OAAP,CAAe,UAAAgD,KAAK,EAAI;AACtBiyD,iBAAa,IAAIJ,QAAQ,CAAC7xD,KAAD,EAAQgyD,SAAR,CAAzB;AACAA,aAAS,GAAGhyD,KAAZ;AACD,GAHD,EAPkF,CAYlF;;AACA,MAAMuyD,0BAA0B,GAAG,EAAnC;AAEA,MAAIL,iBAAiB,GAAGK,0BAAxB;AACA,MAAI9U,MAAJ;AACAuU,WAAS,GAAGvzD,SAAZ;AACAyH,QAAM,CAAClJ,OAAP,CAAe,UAAAgD,KAAK,EAAI;AACtB,QAAIgyD,SAAS,IAAI,CAACvU,MAAlB,EAA0B;AACxB,UAAM0U,cAAc,GAAGN,QAAQ,CAAC7xD,KAAD,EAAQgyD,SAAR,CAA/B;;AACA,UAAIG,cAAc,GAAGD,iBAArB,EAAwC;AACtCA,yBAAiB,IAAIC,cAArB;AACD,OAFD,MAEO;AACL;AACA;AACA,YAAMC,aAAa,GAAGF,iBAAiB,GAAGC,cAA1C;AACA,YAAIC,aAAa,IAAI,CAArB,EAAwB3U,MAAM,GAAGuU,SAAT;AACxB,YAAII,aAAa,IAAI,CAArB,EAAwB3U,MAAM,GAAG;AAAE79C,WAAC,EAAEI,KAAK,CAACJ,CAAX;AAAcC,WAAC,EAAEG,KAAK,CAACH;AAAvB,SAAT;;AACxB,YAAIuyD,aAAa,GAAG,CAAhB,IAAqBA,aAAa,GAAG,CAAzC,EAA4C;AAC1C3U,gBAAM,GAAG;AACP79C,aAAC,EAAE,CAAC,IAAIwyD,aAAL,IAAsBJ,SAAS,CAACpyD,CAAhC,GAAoCwyD,aAAa,GAAGpyD,KAAK,CAACJ,CADtD;AAEPC,aAAC,EAAE,CAAC,IAAIuyD,aAAL,IAAsBJ,SAAS,CAACnyD,CAAhC,GAAoCuyD,aAAa,GAAGpyD,KAAK,CAACH;AAFtD,WAAT;AAID;AACF;AACF;;AACDmyD,aAAS,GAAGhyD,KAAZ;AACD,GApBD,EAlBkF,CAuClF;;AACA,MAAIhE,CAAC,GAAGq2D,qBAAqB,GAAG,EAAH,GAAQ,CAArC,CAxCkF,CAyClF;;AACA,MAAIG,KAAK,GAAGztD,IAAI,CAAC0tD,KAAL,CAAWvsD,MAAM,CAAC,CAAD,CAAN,CAAUrG,CAAV,GAAc49C,MAAM,CAAC59C,CAAhC,EAAmCqG,MAAM,CAAC,CAAD,CAAN,CAAUtG,CAAV,GAAc69C,MAAM,CAAC79C,CAAxD,CAAZ;AACA,MAAI8yD,mBAAmB,GAAG;AAAE9yD,KAAC,EAAE,CAAL;AAAQC,KAAC,EAAE;AAAX,GAA1B,CA3CkF,CA4ClF;;AACA6yD,qBAAmB,CAAC9yD,CAApB,GAAwBmF,IAAI,CAAC4tD,GAAL,CAASH,KAAT,IAAkBx2D,CAAlB,GAAsB,CAACkK,MAAM,CAAC,CAAD,CAAN,CAAUtG,CAAV,GAAc69C,MAAM,CAAC79C,CAAtB,IAA2B,CAAzE;AACA8yD,qBAAmB,CAAC7yD,CAApB,GAAwB,CAACkF,IAAI,CAAC6tD,GAAL,CAASJ,KAAT,CAAD,GAAmBx2D,CAAnB,GAAuB,CAACkK,MAAM,CAAC,CAAD,CAAN,CAAUrG,CAAV,GAAc49C,MAAM,CAAC59C,CAAtB,IAA2B,CAA1E;AACA,SAAO6yD,mBAAP;AACD,CAhDD;AAkDA;;;;;AAGA,IAAM9tD,yBAAyB,GAAG,SAA5BA,yBAA4B,CAACiuD,kBAAD,EAAqBrP,QAArB,EAA+Bx9C,OAA/B,EAA2C;AAC3E;AACA,MAAIE,MAAM,GAAG3G,IAAI,CAACqK,KAAL,CAAWrK,IAAI,CAACC,SAAL,CAAewG,OAAf,CAAX,CAAb;AACA,MAAIgsD,SAAJ;AACA,MAAIC,aAAa,GAAG,CAApB,CAJ2E,CAIpD;;AACvB/0D,6CAAG,CAAC+D,IAAJ,CAAS,YAAT,EAAuBiF,MAAvB;;AACA,MAAIs9C,QAAQ,KAAK,YAAb,IAA6BA,QAAQ,KAAK,aAA9C,EAA6D;AAC3Dt9C,UAAM,GAAGA,MAAM,CAACoB,OAAP,EAAT;AACD;;AAEDpB,QAAM,CAAClJ,OAAP,CAAe,UAAAgD,KAAK,EAAI;AACtBiyD,iBAAa,IAAIJ,QAAQ,CAAC7xD,KAAD,EAAQgyD,SAAR,CAAzB;AACAA,aAAS,GAAGhyD,KAAZ;AACD,GAHD,EAV2E,CAe3E;;AACA,MAAMuyD,0BAA0B,GAAG,EAAnC;AAEA,MAAIL,iBAAiB,GAAGK,0BAAxB;AACA,MAAI9U,MAAJ;AACAuU,WAAS,GAAGvzD,SAAZ;AACAyH,QAAM,CAAClJ,OAAP,CAAe,UAAAgD,KAAK,EAAI;AACtB,QAAIgyD,SAAS,IAAI,CAACvU,MAAlB,EAA0B;AACxB,UAAM0U,cAAc,GAAGN,QAAQ,CAAC7xD,KAAD,EAAQgyD,SAAR,CAA/B;;AACA,UAAIG,cAAc,GAAGD,iBAArB,EAAwC;AACtCA,yBAAiB,IAAIC,cAArB;AACD,OAFD,MAEO;AACL;AACA;AACA,YAAMC,aAAa,GAAGF,iBAAiB,GAAGC,cAA1C;AACA,YAAIC,aAAa,IAAI,CAArB,EAAwB3U,MAAM,GAAGuU,SAAT;AACxB,YAAII,aAAa,IAAI,CAArB,EAAwB3U,MAAM,GAAG;AAAE79C,WAAC,EAAEI,KAAK,CAACJ,CAAX;AAAcC,WAAC,EAAEG,KAAK,CAACH;AAAvB,SAAT;;AACxB,YAAIuyD,aAAa,GAAG,CAAhB,IAAqBA,aAAa,GAAG,CAAzC,EAA4C;AAC1C3U,gBAAM,GAAG;AACP79C,aAAC,EAAE,CAAC,IAAIwyD,aAAL,IAAsBJ,SAAS,CAACpyD,CAAhC,GAAoCwyD,aAAa,GAAGpyD,KAAK,CAACJ,CADtD;AAEPC,aAAC,EAAE,CAAC,IAAIuyD,aAAL,IAAsBJ,SAAS,CAACnyD,CAAhC,GAAoCuyD,aAAa,GAAGpyD,KAAK,CAACH;AAFtD,WAAT;AAID;AACF;AACF;;AACDmyD,aAAS,GAAGhyD,KAAZ;AACD,GApBD,EArB2E,CA0C3E;;AACA,MAAIhE,CAAC,GAAG,EAAR,CA3C2E,CA4C3E;;AACA,MAAIw2D,KAAK,GAAGztD,IAAI,CAAC0tD,KAAL,CAAWvsD,MAAM,CAAC,CAAD,CAAN,CAAUrG,CAAV,GAAc49C,MAAM,CAAC59C,CAAhC,EAAmCqG,MAAM,CAAC,CAAD,CAAN,CAAUtG,CAAV,GAAc69C,MAAM,CAAC79C,CAAxD,CAAZ;AAEA,MAAI8yD,mBAAmB,GAAG;AAAE9yD,KAAC,EAAE,CAAL;AAAQC,KAAC,EAAE;AAAX,GAA1B,CA/C2E,CAiD3E;;AAEA6yD,qBAAmB,CAAC9yD,CAApB,GAAwBmF,IAAI,CAAC4tD,GAAL,CAASH,KAAT,IAAkBx2D,CAAlB,GAAsB,CAACkK,MAAM,CAAC,CAAD,CAAN,CAAUtG,CAAV,GAAc69C,MAAM,CAAC79C,CAAtB,IAA2B,CAAzE;AACA8yD,qBAAmB,CAAC7yD,CAApB,GAAwB,CAACkF,IAAI,CAAC6tD,GAAL,CAASJ,KAAT,CAAD,GAAmBx2D,CAAnB,GAAuB,CAACkK,MAAM,CAAC,CAAD,CAAN,CAAUrG,CAAV,GAAc49C,MAAM,CAAC59C,CAAtB,IAA2B,CAA1E;;AACA,MAAI2jD,QAAQ,KAAK,YAAjB,EAA+B;AAC7BkP,uBAAmB,CAAC9yD,CAApB,GAAwBmF,IAAI,CAAC4tD,GAAL,CAASH,KAAK,GAAGztD,IAAI,CAACmjD,EAAtB,IAA4BlsD,CAA5B,GAAgC,CAACkK,MAAM,CAAC,CAAD,CAAN,CAAUtG,CAAV,GAAc69C,MAAM,CAAC79C,CAAtB,IAA2B,CAAnF;AACA8yD,uBAAmB,CAAC7yD,CAApB,GAAwB,CAACkF,IAAI,CAAC6tD,GAAL,CAASJ,KAAK,GAAGztD,IAAI,CAACmjD,EAAtB,CAAD,GAA6BlsD,CAA7B,GAAiC,CAACkK,MAAM,CAAC,CAAD,CAAN,CAAUrG,CAAV,GAAc49C,MAAM,CAAC59C,CAAtB,IAA2B,CAApF;AACD;;AACD,MAAI2jD,QAAQ,KAAK,WAAjB,EAA8B;AAC5BkP,uBAAmB,CAAC9yD,CAApB,GAAwBmF,IAAI,CAAC4tD,GAAL,CAASH,KAAK,GAAGztD,IAAI,CAACmjD,EAAtB,IAA4BlsD,CAA5B,GAAgC,CAACkK,MAAM,CAAC,CAAD,CAAN,CAAUtG,CAAV,GAAc69C,MAAM,CAAC79C,CAAtB,IAA2B,CAA3D,GAA+D,CAAvF;AACA8yD,uBAAmB,CAAC7yD,CAApB,GAAwB,CAACkF,IAAI,CAAC6tD,GAAL,CAASJ,KAAK,GAAGztD,IAAI,CAACmjD,EAAtB,CAAD,GAA6BlsD,CAA7B,GAAiC,CAACkK,MAAM,CAAC,CAAD,CAAN,CAAUrG,CAAV,GAAc49C,MAAM,CAAC59C,CAAtB,IAA2B,CAA5D,GAAgE,CAAxF;AACD;;AACD,MAAI2jD,QAAQ,KAAK,UAAjB,EAA6B;AAC3BkP,uBAAmB,CAAC9yD,CAApB,GAAwBmF,IAAI,CAAC4tD,GAAL,CAASH,KAAT,IAAkBx2D,CAAlB,GAAsB,CAACkK,MAAM,CAAC,CAAD,CAAN,CAAUtG,CAAV,GAAc69C,MAAM,CAAC79C,CAAtB,IAA2B,CAAjD,GAAqD,CAA7E;AACA8yD,uBAAmB,CAAC7yD,CAApB,GAAwB,CAACkF,IAAI,CAAC6tD,GAAL,CAASJ,KAAT,CAAD,GAAmBx2D,CAAnB,GAAuB,CAACkK,MAAM,CAAC,CAAD,CAAN,CAAUrG,CAAV,GAAc49C,MAAM,CAAC59C,CAAtB,IAA2B,CAAlD,GAAsD,CAA9E;AACD;;AACD,SAAO6yD,mBAAP;AACD,CAlED;;AAoEO,IAAMlwC,kBAAkB,GAAG,SAArBA,kBAAqB,CAAA4d,GAAG,EAAI;AACvC,MAAI3gC,KAAK,GAAG,EAAZ;AACA,MAAIjB,UAAU,GAAG,EAAjB;;AAEA,OAAK,IAAI1C,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGskC,GAAG,CAACrkC,MAAxB,EAAgCD,CAAC,EAAjC,EAAqC;AACnC,QAAI,OAAOskC,GAAG,CAACtkC,CAAD,CAAV,KAAkB,WAAtB,EAAmC;AACjC;AACA,UAAIskC,GAAG,CAACtkC,CAAD,CAAH,CAAOgiB,UAAP,CAAkB,QAAlB,KAA+BsiB,GAAG,CAACtkC,CAAD,CAAH,CAAOgiB,UAAP,CAAkB,aAAlB,CAAnC,EAAqE;AACnEtf,kBAAU,GAAGA,UAAU,GAAG4hC,GAAG,CAACtkC,CAAD,CAAhB,GAAsB,GAAnC;AACD,OAFD,MAEO;AACL2D,aAAK,GAAGA,KAAK,GAAG2gC,GAAG,CAACtkC,CAAD,CAAX,GAAiB,GAAzB;AACD;AACF;AACF;;AAED,SAAO;AAAE2D,SAAK,EAAEA,KAAT;AAAgBjB,cAAU,EAAEA;AAA5B,GAAP;AACD,CAhBM;AAkBP,IAAIsjB,GAAG,GAAG,CAAV;AACO,IAAM2/B,UAAU,GAAG,SAAbA,UAAa,GAAM;AAC9B3/B,KAAG;AACH,SACE,QACA/c,IAAI,CAACk9B,MAAL,GACGlD,QADH,CACY,EADZ,EAEG5gB,MAFH,CAEU,CAFV,EAEa,EAFb,CADA,GAIA,GAJA,GAKA2D,GANF;AAQD,CAVM;;AAYP,SAASgxC,MAAT,CAAgB/2D,MAAhB,EAAwB;AACtB,MAAIuV,MAAM,GAAG,EAAb;AACA,MAAIyhD,UAAU,GAAG,kBAAjB;AACA,MAAIC,gBAAgB,GAAGD,UAAU,CAACh3D,MAAlC;;AACA,OAAK,IAAID,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGC,MAApB,EAA4BD,CAAC,EAA7B,EAAiC;AAC/BwV,UAAM,IAAIyhD,UAAU,CAACzzC,MAAX,CAAkBva,IAAI,CAACkuD,KAAL,CAAWluD,IAAI,CAACk9B,MAAL,KAAgB+wB,gBAA3B,CAAlB,CAAV;AACD;;AACD,SAAO1hD,MAAP;AACD;;AAEM,IAAM2wB,MAAM,GAAG,SAATA,MAAS,CAAAplC,OAAO,EAAI;AAC/B,SAAOi2D,MAAM,CAACj2D,OAAO,CAACd,MAAT,CAAb;AACD,CAFM;AAIP;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BO,IAAMV,eAAe,GAAG,SAAlBA,eAAkB,CAASuwC,GAAT,EAAcD,GAAd,EAAmBxwC,MAAnB,EAA2B;AAAA,uBAC7BF,MAAM,CAACsW,MAAP,CAAc;AAAEnB,SAAK,EAAE,CAAT;AAAY8iD,WAAO,EAAE;AAArB,GAAd,EAA4C/3D,MAA5C,CAD6B;AAAA,MAChDiV,KADgD,kBAChDA,KADgD;AAAA,MACzC8iD,OADyC,kBACzCA,OADyC;;AAExD,MAAI3wD,KAAK,CAACC,OAAN,CAAcmpC,GAAd,KAAsB,CAACppC,KAAK,CAACC,OAAN,CAAcopC,GAAd,CAA3B,EAA+C;AAC7CD,OAAG,CAAC3uC,OAAJ,CAAY,UAAAiF,CAAC;AAAA,aAAI5G,eAAe,CAACuwC,GAAD,EAAM3pC,CAAN,EAAS9G,MAAT,CAAnB;AAAA,KAAb;AACA,WAAOywC,GAAP;AACD,GAHD,MAGO,IAAIrpC,KAAK,CAACC,OAAN,CAAcmpC,GAAd,KAAsBppC,KAAK,CAACC,OAAN,CAAcopC,GAAd,CAA1B,EAA8C;AACnDD,OAAG,CAAC3uC,OAAJ,CAAY,UAAAiF,CAAC,EAAI;AACf,UAAI2pC,GAAG,CAACxuC,OAAJ,CAAY6E,CAAZ,MAAmB,CAAC,CAAxB,EAA2B;AACzB2pC,WAAG,CAACpuC,IAAJ,CAASyE,CAAT;AACD;AACF,KAJD;AAKA,WAAO2pC,GAAP;AACD;;AACD,MAAI,OAAOA,GAAP,KAAe,WAAf,IAA8Bx7B,KAAK,IAAI,CAA3C,EAA8C;AAC5C,QAAIw7B,GAAG,KAAKntC,SAAR,IAAqBmtC,GAAG,KAAK,IAA7B,IAAqC,QAAOA,GAAP,MAAe,QAApD,IAAgE,QAAOD,GAAP,MAAe,QAAnF,EAA6F;AAC3F,aAAO1wC,MAAM,CAACsW,MAAP,CAAcq6B,GAAd,EAAmBD,GAAnB,CAAP;AACD,KAFD,MAEO;AACL,aAAOA,GAAP;AACD;AACF;;AACD,MAAI,OAAOA,GAAP,KAAe,WAAf,IAA8B,QAAOC,GAAP,MAAe,QAA7C,IAAyD,QAAOD,GAAP,MAAe,QAA5E,EAAsF;AACpF1wC,UAAM,CAAC6B,IAAP,CAAY6uC,GAAZ,EAAiB3uC,OAAjB,CAAyB,UAAAC,GAAG,EAAI;AAC9B,UACE,QAAO0uC,GAAG,CAAC1uC,GAAD,CAAV,MAAoB,QAApB,KACC2uC,GAAG,CAAC3uC,GAAD,CAAH,KAAawB,SAAb,IAA0B,QAAOmtC,GAAG,CAAC3uC,GAAD,CAAV,MAAoB,QAD/C,CADF,EAGE;AACA,YAAI2uC,GAAG,CAAC3uC,GAAD,CAAH,KAAawB,SAAjB,EAA4B;AAC1BmtC,aAAG,CAAC3uC,GAAD,CAAH,GAAWsF,KAAK,CAACC,OAAN,CAAcmpC,GAAG,CAAC1uC,GAAD,CAAjB,IAA0B,EAA1B,GAA+B,EAA1C;AACD;;AACD2uC,WAAG,CAAC3uC,GAAD,CAAH,GAAW5B,eAAe,CAACuwC,GAAG,CAAC3uC,GAAD,CAAJ,EAAW0uC,GAAG,CAAC1uC,GAAD,CAAd,EAAqB;AAAEmT,eAAK,EAAEA,KAAK,GAAG,CAAjB;AAAoB8iD,iBAAO,EAAPA;AAApB,SAArB,CAA1B;AACD,OARD,MAQO,IAAIA,OAAO,IAAK,QAAOtnB,GAAG,CAAC3uC,GAAD,CAAV,MAAoB,QAApB,IAAgC,QAAO0uC,GAAG,CAAC1uC,GAAD,CAAV,MAAoB,QAApE,EAA+E;AACpF2uC,WAAG,CAAC3uC,GAAD,CAAH,GAAW0uC,GAAG,CAAC1uC,GAAD,CAAd;AACD;AACF,KAZD;AAaD;;AACD,SAAO2uC,GAAP;AACD,CApCM;AAsCA,IAAMmL,UAAU,GAAG,SAAbA,UAAa,GAAW;AACnC,SAAO;AACLn3C,KAAC,EAAE,CADE;AAELC,KAAC,EAAE,CAFE;AAGLub,QAAI,EAAE3c,SAHD;AAILu4C,UAAM,EAAE,OAJH;AAKLv3C,SAAK,EAAE,MALF;AAMLN,SAAK,EAAE,GANF;AAOLC,UAAM,EAAE,GAPH;AAQL63C,cAAU,EAAE,CARP;AASLv3C,MAAE,EAAE,CATC;AAULC,MAAE,EAAE,CAVC;AAWLu3C,UAAM,EAAEz4C;AAXH,GAAP;AAaD,CAdM;AAgBA,IAAM00D,cAAc,GAAG,SAAjBA,cAAiB,CAASxyD,IAAT,EAAek8C,QAAf,EAAyB;AACrD;AACA,MAAMoD,KAAK,GAAGpD,QAAQ,CAACz+C,IAAT,CAAc4D,OAAd,CAAsByc,+DAAM,CAACuE,cAA7B,EAA6C,GAA7C,CAAd;AAEA,MAAMm0B,QAAQ,GAAGx2C,IAAI,CAACL,MAAL,CAAY,MAAZ,CAAjB;AACA62C,UAAQ,CAACl5C,IAAT,CAAc,GAAd,EAAmB4+C,QAAQ,CAACj9C,CAA5B;AACAu3C,UAAQ,CAACl5C,IAAT,CAAc,GAAd,EAAmB4+C,QAAQ,CAACh9C,CAA5B;AACAs3C,UAAQ,CAAC13C,KAAT,CAAe,aAAf,EAA8Bo9C,QAAQ,CAAC7F,MAAvC;AACAG,UAAQ,CAAC13C,KAAT,CAAe,aAAf,EAA8Bo9C,QAAQ,CAACt/C,UAAvC;AACA45C,UAAQ,CAAC13C,KAAT,CAAe,WAAf,EAA4Bo9C,QAAQ,CAACtkC,QAArC;AACA4+B,UAAQ,CAAC13C,KAAT,CAAe,aAAf,EAA8Bo9C,QAAQ,CAACrkC,UAAvC;AACA2+B,UAAQ,CAACl5C,IAAT,CAAc,MAAd,EAAsB4+C,QAAQ,CAACzhC,IAA/B;;AACA,MAAI,OAAOyhC,QAAQ,CAAC3+C,KAAhB,KAA0B,WAA9B,EAA2C;AACzCi5C,YAAQ,CAACl5C,IAAT,CAAc,OAAd,EAAuB4+C,QAAQ,CAAC3+C,KAAhC;AACD;;AAED,MAAMi/C,IAAI,GAAGhG,QAAQ,CAAC72C,MAAT,CAAgB,OAAhB,CAAb;AACA68C,MAAI,CAACl/C,IAAL,CAAU,GAAV,EAAe4+C,QAAQ,CAACj9C,CAAT,GAAai9C,QAAQ,CAAC5F,UAAT,GAAsB,CAAlD;AACAkG,MAAI,CAACl/C,IAAL,CAAU,MAAV,EAAkB4+C,QAAQ,CAACzhC,IAA3B;AACA+hC,MAAI,CAAC/+C,IAAL,CAAU6hD,KAAV;AAEA,SAAO9I,QAAP;AACD,CAtBM;AAwBA,IAAM2B,SAAS,GAAGsY,OAAO,CAC9B,UAACjzD,KAAD,EAAQ0V,QAAR,EAAkB1Y,MAAlB,EAA6B;AAC3B,MAAI,CAACgD,KAAL,EAAY;AACV,WAAOA,KAAP;AACD;;AACDhD,QAAM,GAAGF,MAAM,CAACsW,MAAP,CACP;AAAEgH,YAAQ,EAAE,EAAZ;AAAgBC,cAAU,EAAE,GAA5B;AAAiCjb,cAAU,EAAE,OAA7C;AAAsD61D,YAAQ,EAAE;AAAhE,GADO,EAEPj4D,MAFO,CAAT;;AAIA,MAAIsjB,+DAAM,CAACuE,cAAP,CAAsBuF,IAAtB,CAA2BpqB,KAA3B,CAAJ,EAAuC;AACrC,WAAOA,KAAP;AACD;;AACD,MAAMk1D,KAAK,GAAGl1D,KAAK,CAACmE,KAAN,CAAY,GAAZ,CAAd;AACA,MAAMgxD,cAAc,GAAG,EAAvB;AACA,MAAIC,QAAQ,GAAG,EAAf;AACAF,OAAK,CAACr2D,OAAN,CAAc,UAACwjC,IAAD,EAAOsD,KAAP,EAAiB;AAC7B,QAAM0vB,UAAU,GAAGC,kBAAkB,WAAIjzB,IAAJ,QAAarlC,MAAb,CAArC;AACA,QAAMu4D,cAAc,GAAGD,kBAAkB,CAACF,QAAD,EAAWp4D,MAAX,CAAzC;;AACA,QAAIq4D,UAAU,GAAG3/C,QAAjB,EAA2B;AAAA,yBACoB8/C,WAAW,CAACnzB,IAAD,EAAO3sB,QAAP,EAAiB,GAAjB,EAAsB1Y,MAAtB,CAD/B;AAAA,UACjBy4D,iBADiB,gBACjBA,iBADiB;AAAA,UACEC,aADF,gBACEA,aADF;;AAEzBP,oBAAc,CAAC91D,IAAf,OAAA81D,cAAc,GAAMC,QAAN,4BAAmBK,iBAAnB,GAAd;AACAL,cAAQ,GAAGM,aAAX;AACD,KAJD,MAIO,IAAIH,cAAc,GAAGF,UAAjB,IAA+B3/C,QAAnC,EAA6C;AAClDy/C,oBAAc,CAAC91D,IAAf,CAAoB+1D,QAApB;AACAA,cAAQ,GAAG/yB,IAAX;AACD,KAHM,MAGA;AACL+yB,cAAQ,GAAG,CAACA,QAAD,EAAW/yB,IAAX,EAAiBh5B,MAAjB,CAAwBssD,OAAxB,EAAiC7gD,IAAjC,CAAsC,GAAtC,CAAX;AACD;;AACD,QAAM8gD,WAAW,GAAGjwB,KAAK,GAAG,CAA5B;AACA,QAAMkwB,UAAU,GAAGD,WAAW,KAAKV,KAAK,CAACt3D,MAAzC;;AACA,QAAIi4D,UAAJ,EAAgB;AACdV,oBAAc,CAAC91D,IAAf,CAAoB+1D,QAApB;AACD;AACF,GAlBD;AAmBA,SAAOD,cAAc,CAAC9rD,MAAf,CAAsB,UAAAM,IAAI;AAAA,WAAIA,IAAI,KAAK,EAAb;AAAA,GAA1B,EAA2CmL,IAA3C,CAAgD9X,MAAM,CAACi4D,QAAvD,CAAP;AACD,CAnC6B,EAoC9B,UAACj1D,KAAD,EAAQ0V,QAAR,EAAkB1Y,MAAlB;AAAA,mBACKgD,KADL,cACc0V,QADd,cAC0B1Y,MAAM,CAACod,QADjC,cAC6Cpd,MAAM,CAACqd,UADpD,cACkErd,MAAM,CAACoC,UADzE,cACuFpC,MAAM,CAACi4D,QAD9F;AAAA,CApC8B,CAAzB;AAwCP,IAAMO,WAAW,GAAGvC,OAAO,CACzB,UAAC5wB,IAAD,EAAO3sB,QAAP,EAAmD;AAAA,MAAlCogD,eAAkC,uEAAhB,GAAgB;AAAA,MAAX94D,MAAW;AACjDA,QAAM,GAAGF,MAAM,CAACsW,MAAP,CACP;AAAEgH,YAAQ,EAAE,EAAZ;AAAgBC,cAAU,EAAE,GAA5B;AAAiCjb,cAAU,EAAE,OAA7C;AAAsD0qC,UAAM,EAAE;AAA9D,GADO,EAEP9sC,MAFO,CAAT;AAIA,MAAM43D,UAAU,GAAGvyB,IAAI,CAACl+B,KAAL,CAAW,EAAX,CAAnB;AACA,MAAMk1C,KAAK,GAAG,EAAd;AACA,MAAI0c,WAAW,GAAG,EAAlB;AACAnB,YAAU,CAAC/1D,OAAX,CAAmB,UAACm3D,SAAD,EAAYrwB,KAAZ,EAAsB;AACvC,QAAMyvB,QAAQ,aAAMW,WAAN,SAAoBC,SAApB,CAAd;AACA,QAAMC,SAAS,GAAGX,kBAAkB,CAACF,QAAD,EAAWp4D,MAAX,CAApC;;AACA,QAAIi5D,SAAS,IAAIvgD,QAAjB,EAA2B;AACzB,UAAMwgD,gBAAgB,GAAGvwB,KAAK,GAAG,CAAjC;AACA,UAAMwwB,UAAU,GAAGvB,UAAU,CAACh3D,MAAX,KAAsBs4D,gBAAzC;AACA,UAAME,kBAAkB,aAAMhB,QAAN,SAAiBU,eAAjB,CAAxB;AACAzc,WAAK,CAACh6C,IAAN,CAAW82D,UAAU,GAAGf,QAAH,GAAcgB,kBAAnC;AACAL,iBAAW,GAAG,EAAd;AACD,KAND,MAMO;AACLA,iBAAW,GAAGX,QAAd;AACD;AACF,GAZD;AAaA,SAAO;AAAEK,qBAAiB,EAAEpc,KAArB;AAA4Bqc,iBAAa,EAAEK;AAA3C,GAAP;AACD,CAvBwB,EAwBzB,UAAC1zB,IAAD,EAAO3sB,QAAP;AAAA,MAAiBogD,eAAjB,uEAAmC,GAAnC;AAAA,MAAwC94D,MAAxC;AAAA,mBACKqlC,IADL,cACa3sB,QADb,cACyBogD,eADzB,cAC4C94D,MAAM,CAACod,QADnD,cAC+Dpd,MAAM,CAACqd,UADtE,cACoFrd,MAAM,CAACoC,UAD3F;AAAA,CAxByB,CAA3B;AA4BA;;;;;;;;;;;;AAWO,IAAMi3D,mBAAmB,GAAG,SAAtBA,mBAAsB,CAASp2D,IAAT,EAAejD,MAAf,EAAuB;AACxDA,QAAM,GAAGF,MAAM,CAACsW,MAAP,CACP;AAAEgH,YAAQ,EAAE,EAAZ;AAAgBC,cAAU,EAAE,GAA5B;AAAiCjb,cAAU,EAAE,OAA7C;AAAsD0qC,UAAM,EAAE;AAA9D,GADO,EAEP9sC,MAFO,CAAT;AAIA,SAAOu8C,uBAAuB,CAACt5C,IAAD,EAAOjD,MAAP,CAAvB,CAAsCiE,MAA7C;AACD,CANM;AAQP;;;;;;;;AAOO,IAAMq0D,kBAAkB,GAAG,SAArBA,kBAAqB,CAASr1D,IAAT,EAAejD,MAAf,EAAuB;AACvDA,QAAM,GAAGF,MAAM,CAACsW,MAAP,CAAc;AAAEgH,YAAQ,EAAE,EAAZ;AAAgBC,cAAU,EAAE,GAA5B;AAAiCjb,cAAU,EAAE;AAA7C,GAAd,EAAsEpC,MAAtE,CAAT;AACA,SAAOu8C,uBAAuB,CAACt5C,IAAD,EAAOjD,MAAP,CAAvB,CAAsCgE,KAA7C;AACD,CAHM;AAKP;;;;;;;;AAOO,IAAMu4C,uBAAuB,GAAG0Z,OAAO,CAC5C,UAAShzD,IAAT,EAAejD,MAAf,EAAuB;AACrBA,QAAM,GAAGF,MAAM,CAACsW,MAAP,CAAc;AAAEgH,YAAQ,EAAE,EAAZ;AAAgBC,cAAU,EAAE,GAA5B;AAAiCjb,cAAU,EAAE;AAA7C,GAAd,EAAsEpC,MAAtE,CAAT;AADqB,gBAEwBA,MAFxB;AAAA,MAEbod,QAFa,WAEbA,QAFa;AAAA,MAEHhb,UAFG,WAEHA,UAFG;AAAA,MAESib,UAFT,WAESA,UAFT;;AAGrB,MAAI,CAACpa,IAAL,EAAW;AACT,WAAO;AAAEe,WAAK,EAAE,CAAT;AAAYC,YAAM,EAAE;AAApB,KAAP;AACD,GALoB,CAOrB;AACA;AACA;;;AACA,MAAMq1D,YAAY,GAAG,CAAC,YAAD,EAAel3D,UAAf,CAArB;AACA,MAAMi6C,KAAK,GAAGp5C,IAAI,CAACkE,KAAL,CAAWmc,+DAAM,CAACuE,cAAlB,CAAd;AACA,MAAI0xC,IAAI,GAAG,EAAX;AAEA,MAAM3zC,IAAI,GAAG9hB,iDAAM,CAAC,MAAD,CAAnB,CAdqB,CAerB;AACA;;AACA,MAAI,CAAC8hB,IAAI,CAACqqC,MAAV,EAAkB;AAChB,WAAO;AAAEjsD,WAAK,EAAE,CAAT;AAAYC,YAAM,EAAE,CAApB;AAAuBsU,gBAAU,EAAE;AAAnC,KAAP;AACD;;AAED,MAAM6N,CAAC,GAAGR,IAAI,CAACzgB,MAAL,CAAY,KAAZ,CAAV;;AAEA,mCAAuBm0D,YAAvB,mCAAqC;AAAhC,QAAIl3D,WAAU,oBAAd;AACH,QAAIo3D,OAAO,GAAG,CAAd;AACA,QAAIxwC,GAAG,GAAG;AAAEhlB,WAAK,EAAE,CAAT;AAAYC,YAAM,EAAE,CAApB;AAAuBsU,gBAAU,EAAE;AAAnC,KAAV;AAFmC;AAAA;AAAA;;AAAA;AAGnC,2BAAiB8jC,KAAjB,8HAAwB;AAAA,YAAf1vC,IAAe;AACtB,YAAMgvC,OAAO,GAAGC,UAAU,EAA1B;AACAD,eAAO,CAAC14C,IAAR,GAAe0J,IAAf;AACA,YAAMqvC,QAAQ,GAAGgc,cAAc,CAAC5xC,CAAD,EAAIu1B,OAAJ,CAAd,CACdr3C,KADc,CACR,WADQ,EACK8Y,QADL,EAEd9Y,KAFc,CAER,aAFQ,EAEO+Y,UAFP,EAGd/Y,KAHc,CAGR,aAHQ,EAGOlC,WAHP,CAAjB;AAKA,YAAIivB,IAAI,GAAG,CAAC2qB,QAAQ,CAAC92B,OAAT,IAAoB82B,QAArB,EAA+B,CAA/B,EAAkC,CAAlC,EAAqCx4C,OAArC,EAAX;AACAwlB,WAAG,CAAChlB,KAAJ,GAAY4F,IAAI,CAAC+gC,KAAL,CAAW/gC,IAAI,CAACwnB,GAAL,CAASpI,GAAG,CAAChlB,KAAb,EAAoBqtB,IAAI,CAACrtB,KAAzB,CAAX,CAAZ;AACAw1D,eAAO,GAAG5vD,IAAI,CAAC+gC,KAAL,CAAWtZ,IAAI,CAACptB,MAAhB,CAAV;AACA+kB,WAAG,CAAC/kB,MAAJ,IAAcu1D,OAAd;AACAxwC,WAAG,CAACzQ,UAAJ,GAAiB3O,IAAI,CAAC+gC,KAAL,CAAW/gC,IAAI,CAACwnB,GAAL,CAASpI,GAAG,CAACzQ,UAAb,EAAyBihD,OAAzB,CAAX,CAAjB;AACD;AAhBkC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAiBnCD,QAAI,CAACl3D,IAAL,CAAU2mB,GAAV;AACD;;AAED5C,GAAC,CAAC6pC,MAAF;AAEA,MAAItnB,KAAK,GACPp8B,KAAK,CAACgtD,IAAI,CAAC,CAAD,CAAJ,CAAQt1D,MAAT,CAAL,IACAsI,KAAK,CAACgtD,IAAI,CAAC,CAAD,CAAJ,CAAQv1D,KAAT,CADL,IAEAuI,KAAK,CAACgtD,IAAI,CAAC,CAAD,CAAJ,CAAQhhD,UAAT,CAFL,IAGCghD,IAAI,CAAC,CAAD,CAAJ,CAAQt1D,MAAR,GAAiBs1D,IAAI,CAAC,CAAD,CAAJ,CAAQt1D,MAAzB,IACCs1D,IAAI,CAAC,CAAD,CAAJ,CAAQv1D,KAAR,GAAgBu1D,IAAI,CAAC,CAAD,CAAJ,CAAQv1D,KADzB,IAECu1D,IAAI,CAAC,CAAD,CAAJ,CAAQhhD,UAAR,GAAqBghD,IAAI,CAAC,CAAD,CAAJ,CAAQhhD,UAL/B,GAMI,CANJ,GAOI,CARN;AASA,SAAOghD,IAAI,CAAC5wB,KAAD,CAAX;AACD,CAxD2C,EAyD5C,UAAC1lC,IAAD,EAAOjD,MAAP;AAAA,mBAAqBiD,IAArB,cAA6BjD,MAAM,CAACod,QAApC,cAAgDpd,MAAM,CAACqd,UAAvD,cAAqErd,MAAM,CAACoC,UAA5E;AAAA,CAzD4C,CAAvC;;AA4DP,IAAMq3D,OAAO,GAAG,SAAVA,OAAU,CAASC,MAAT,EAAiBC,KAAjB,EAAwB;AAAA;AAAA;AAAA;;AAAA;AACtC,0BAAiBA,KAAjB,mIAAwB;AAAA,UAAf72D,IAAe;AACtB42D,YAAM,CAAC52D,IAAP,CAAYA,IAAI,CAAC,CAAD,CAAhB,EAAqBA,IAAI,CAAC,CAAD,CAAzB;AACD;AAHqC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAIvC,CAJD;;AAMO,IAAM82D,qBAAqB,GAAG,SAAxBA,qBAAwB,CAAS31D,MAAT,EAAiBD,KAAjB,EAAwBqX,WAAxB,EAAqC;AACxE,MAAIs+C,KAAK,GAAG,IAAIE,GAAJ,EAAZ;AACAF,OAAK,CAACvW,GAAN,CAAU,QAAV,EAAoBn/C,MAApB;;AACA,MAAIoX,WAAJ,EAAiB;AACfs+C,SAAK,CAACvW,GAAN,CAAU,OAAV,EAAmB,MAAnB;AACAuW,SAAK,CAACvW,GAAN,CAAU,OAAV,uBAAiCp/C,KAAjC;AACD,GAHD,MAGO;AACL21D,SAAK,CAACvW,GAAN,CAAU,OAAV,EAAmBp/C,KAAnB;AACD;;AACD,SAAO21D,KAAP;AACD,CAVM;AAYA,IAAMlxC,gBAAgB,GAAG,SAAnBA,gBAAmB,CAAS4gC,OAAT,EAAkBplD,MAAlB,EAA0BD,KAA1B,EAAiCqX,WAAjC,EAA8C;AAC5E,MAAMs+C,KAAK,GAAGC,qBAAqB,CAAC31D,MAAD,EAASD,KAAT,EAAgBqX,WAAhB,CAAnC;AACAo+C,SAAO,CAACpQ,OAAD,EAAUsQ,KAAV,CAAP;AACD,CAHM;AAKA,IAAMzL,gBAAgB;AAAA;AAAA;AAC3B,oBAAY4L,aAAZ,EAA2BC,IAA3B,EAAiC;AAAA;;AAC/B,SAAKD,aAAL,GAAqBA,aAArB;AACA,SAAKC,IAAL,GAAYA,IAAZ;AAEA,SAAK3iC,KAAL,GAAa2iC,IAAI,GAAGA,IAAI,CAACn5D,MAAR,GAAiB,CAAlC;AACD;;AAN0B;AAAA;AAAA,2BAQpB;AACL,UAAI,CAAC,KAAKk5D,aAAV,EAAyB,OAAOr7B,IAAI,CAACu7B,GAAL,EAAP;AAEzB,aAAO,KAAK5iC,KAAL,EAAP;AACD;AAZ0B;;AAAA;AAAA,GAAtB;AAeQ;AACbl3B,iBAAe,EAAfA,eADa;AAEby9C,WAAS,EAATA,SAFa;AAGb0b,qBAAmB,EAAnBA,mBAHa;AAIbf,oBAAkB,EAAlBA,kBAJa;AAKb/b,yBAAuB,EAAvBA,uBALa;AAMbqd,uBAAqB,EAArBA,qBANa;AAObnxC,kBAAgB,EAAhBA,gBAPa;AAQb6lC,YAAU,EAAVA,UARa;AASbsH,iBAAe,EAAfA,eATa;AAUb9G,YAAU,EAAVA,UAVa;AAWb15B,oBAAkB,EAAlBA,kBAXa;AAYb7N,oBAAkB,EAAlBA,kBAZa;AAab/d,mBAAiB,EAAjBA,iBAba;AAcb0gB,yBAAuB,EAAvBA,uBAda;AAebzgB,2BAAyB,EAAzBA,yBAfa;AAgBbka,WAAS,EAATA,SAhBa;AAiBb0D,oBAAkB,EAAlBA,kBAjBa;AAkBbi/B,YAAU,EAAVA,UAlBa;AAmBbxf,QAAM,EAANA,MAnBa;AAoBbmvB,SAAO,EAAPA,OApBa;AAqBb3xC,SAAO,EAAPA,OArBa;AAsBb4pC,kBAAgB,EAAhBA;AAtBa,CAAf,E;;;;;;;;;;;AC1yBA,oD;;;;;;;;;;;ACAA,+B;;;;;;;;;;;ACAA,kC;;;;;;;;;;;ACAA,qC;;;;;;;;;;;ACAA,iE;;;;;;;;;;;ACAA,kD;;;;;;;;;;;ACAA,qC;;;;;;;;;;;ACAA,mC;;;;;;;;;;;ACAA,wC;;;;;;;;;;;ACAA,mC","file":"mermaid.core.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"mermaid\"] = factory();\n\telse\n\t\troot[\"mermaid\"] = factory();\n})(typeof self !== \"undefined\" ? self : this, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./src/mermaid.js\");\n","// .dirname, .basename, and .extname methods are extracted from Node.js v8.11.1,\n// backported and transplited with Babel, with backwards-compat fixes\n\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// resolves . and .. elements in a path array with directory names there\n// must be no slashes, empty elements, or device names (c:\\) in the array\n// (so also no leading and trailing slashes - it does not distinguish\n// relative and absolute paths)\nfunction normalizeArray(parts, allowAboveRoot) {\n // if the path tries to go above the root, `up` ends up > 0\n var up = 0;\n for (var i = parts.length - 1; i >= 0; i--) {\n var last = parts[i];\n if (last === '.') {\n parts.splice(i, 1);\n } else if (last === '..') {\n parts.splice(i, 1);\n up++;\n } else if (up) {\n parts.splice(i, 1);\n up--;\n }\n }\n\n // if the path is allowed to go above the root, restore leading ..s\n if (allowAboveRoot) {\n for (; up--; up) {\n parts.unshift('..');\n }\n }\n\n return parts;\n}\n\n// path.resolve([from ...], to)\n// posix version\nexports.resolve = function() {\n var resolvedPath = '',\n resolvedAbsolute = false;\n\n for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n var path = (i >= 0) ? arguments[i] : process.cwd();\n\n // Skip empty and invalid entries\n if (typeof path !== 'string') {\n throw new TypeError('Arguments to path.resolve must be strings');\n } else if (!path) {\n continue;\n }\n\n resolvedPath = path + '/' + resolvedPath;\n resolvedAbsolute = path.charAt(0) === '/';\n }\n\n // At this point the path should be resolved to a full absolute path, but\n // handle relative paths to be safe (might happen when process.cwd() fails)\n\n // Normalize the path\n resolvedPath = normalizeArray(filter(resolvedPath.split('/'), function(p) {\n return !!p;\n }), !resolvedAbsolute).join('/');\n\n return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.';\n};\n\n// path.normalize(path)\n// posix version\nexports.normalize = function(path) {\n var isAbsolute = exports.isAbsolute(path),\n trailingSlash = substr(path, -1) === '/';\n\n // Normalize the path\n path = normalizeArray(filter(path.split('/'), function(p) {\n return !!p;\n }), !isAbsolute).join('/');\n\n if (!path && !isAbsolute) {\n path = '.';\n }\n if (path && trailingSlash) {\n path += '/';\n }\n\n return (isAbsolute ? '/' : '') + path;\n};\n\n// posix version\nexports.isAbsolute = function(path) {\n return path.charAt(0) === '/';\n};\n\n// posix version\nexports.join = function() {\n var paths = Array.prototype.slice.call(arguments, 0);\n return exports.normalize(filter(paths, function(p, index) {\n if (typeof p !== 'string') {\n throw new TypeError('Arguments to path.join must be strings');\n }\n return p;\n }).join('/'));\n};\n\n\n// path.relative(from, to)\n// posix version\nexports.relative = function(from, to) {\n from = exports.resolve(from).substr(1);\n to = exports.resolve(to).substr(1);\n\n function trim(arr) {\n var start = 0;\n for (; start < arr.length; start++) {\n if (arr[start] !== '') break;\n }\n\n var end = arr.length - 1;\n for (; end >= 0; end--) {\n if (arr[end] !== '') break;\n }\n\n if (start > end) return [];\n return arr.slice(start, end - start + 1);\n }\n\n var fromParts = trim(from.split('/'));\n var toParts = trim(to.split('/'));\n\n var length = Math.min(fromParts.length, toParts.length);\n var samePartsLength = length;\n for (var i = 0; i < length; i++) {\n if (fromParts[i] !== toParts[i]) {\n samePartsLength = i;\n break;\n }\n }\n\n var outputParts = [];\n for (var i = samePartsLength; i < fromParts.length; i++) {\n outputParts.push('..');\n }\n\n outputParts = outputParts.concat(toParts.slice(samePartsLength));\n\n return outputParts.join('/');\n};\n\nexports.sep = '/';\nexports.delimiter = ':';\n\nexports.dirname = function (path) {\n if (typeof path !== 'string') path = path + '';\n if (path.length === 0) return '.';\n var code = path.charCodeAt(0);\n var hasRoot = code === 47 /*/*/;\n var end = -1;\n var matchedSlash = true;\n for (var i = path.length - 1; i >= 1; --i) {\n code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n if (!matchedSlash) {\n end = i;\n break;\n }\n } else {\n // We saw the first non-path separator\n matchedSlash = false;\n }\n }\n\n if (end === -1) return hasRoot ? '/' : '.';\n if (hasRoot && end === 1) {\n // return '//';\n // Backwards-compat fix:\n return '/';\n }\n return path.slice(0, end);\n};\n\nfunction basename(path) {\n if (typeof path !== 'string') path = path + '';\n\n var start = 0;\n var end = -1;\n var matchedSlash = true;\n var i;\n\n for (i = path.length - 1; i >= 0; --i) {\n if (path.charCodeAt(i) === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n } else if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // path component\n matchedSlash = false;\n end = i + 1;\n }\n }\n\n if (end === -1) return '';\n return path.slice(start, end);\n}\n\n// Uses a mixed approach for backwards-compatibility, as ext behavior changed\n// in new Node.js versions, so only basename() above is backported here\nexports.basename = function (path, ext) {\n var f = basename(path);\n if (ext && f.substr(-1 * ext.length) === ext) {\n f = f.substr(0, f.length - ext.length);\n }\n return f;\n};\n\nexports.extname = function (path) {\n if (typeof path !== 'string') path = path + '';\n var startDot = -1;\n var startPart = 0;\n var end = -1;\n var matchedSlash = true;\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find\n var preDotState = 0;\n for (var i = path.length - 1; i >= 0; --i) {\n var code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n continue;\n }\n if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // extension\n matchedSlash = false;\n end = i + 1;\n }\n if (code === 46 /*.*/) {\n // If this is our first dot, mark it as the start of our extension\n if (startDot === -1)\n startDot = i;\n else if (preDotState !== 1)\n preDotState = 1;\n } else if (startDot !== -1) {\n // We saw a non-dot and non-path separator before our dot, so we should\n // have a good chance at having a non-empty extension\n preDotState = -1;\n }\n }\n\n if (startDot === -1 || end === -1 ||\n // We saw a non-dot character immediately before the dot\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly '..'\n preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {\n return '';\n }\n return path.slice(startDot, end);\n};\n\nfunction filter (xs, f) {\n if (xs.filter) return xs.filter(f);\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n if (f(xs[i], i, xs)) res.push(xs[i]);\n }\n return res;\n}\n\n// String.prototype.substr - negative index don't work in IE8\nvar substr = 'ab'.substr(-1) === 'b'\n ? function (str, start, len) { return str.substr(start, len) }\n : function (str, start, len) {\n if (start < 0) start = str.length + start;\n return str.substr(start, len);\n }\n;\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","import { assignWithDepth } from './utils';\nimport { log } from './logger';\nimport theme from './themes';\nimport config from './defaultConfig';\n\n// debugger;\n\nexport const defaultConfig = Object.freeze(config);\n\nlet siteConfig = assignWithDepth({}, defaultConfig);\nlet configFromInitialize;\nlet directives = [];\nlet currentConfig = assignWithDepth({}, defaultConfig);\n\nexport const updateCurrentConfig = (siteCfg, _directives) => {\n // start with config beeing the siteConfig\n let cfg = assignWithDepth({}, siteCfg);\n // let sCfg = assignWithDepth(defaultConfig, siteConfigDelta);\n\n // Join directives\n let sumOfDirectives = {};\n for (let i = 0; i < _directives.length; i++) {\n const d = _directives[i];\n sanitize(d);\n\n // Apply the data from the directive where the the overrides the themeVaraibles\n sumOfDirectives = assignWithDepth(sumOfDirectives, d);\n }\n\n cfg = assignWithDepth(cfg, sumOfDirectives);\n\n if (sumOfDirectives.theme) {\n const tmpConfigFromInitialize = assignWithDepth({}, configFromInitialize);\n const themeVariables = assignWithDepth(\n tmpConfigFromInitialize.themeVariables || {},\n sumOfDirectives.themeVariables\n );\n cfg.themeVariables = theme[cfg.theme].getThemeVariables(themeVariables);\n }\n\n currentConfig = cfg;\n return cfg;\n};\n/**\n *## setSiteConfig\n *| Function | Description | Type | Values |\n *| --------- | ------------------- | ------- | ------------------ |\n *| setSiteConfig|Sets the siteConfig to desired values | Put Request | Any Values, except ones in secure array|\n ***Notes:**\n *Sets the siteConfig. The siteConfig is a protected configuration for repeat use. Calls to reset() will reset\n *the currentConfig to siteConfig. Calls to reset(configApi.defaultConfig) will reset siteConfig and currentConfig\n *to the defaultConfig\n *Note: currentConfig is set in this function\n **Default value: At default, will mirror Global Config**\n * @param conf - the base currentConfig to use as siteConfig\n * @returns {*} - the siteConfig\n */\nexport const setSiteConfig = conf => {\n siteConfig = assignWithDepth({}, defaultConfig);\n siteConfig = assignWithDepth(siteConfig, conf);\n\n if (conf.theme) {\n siteConfig.themeVariables = theme[conf.theme].getThemeVariables(conf.themeVariables);\n }\n\n currentConfig = updateCurrentConfig(siteConfig, directives);\n return siteConfig;\n};\n\nexport const saveConfigFromInitilize = conf => {\n configFromInitialize = assignWithDepth({}, conf);\n};\n\nexport const updateSiteConfig = conf => {\n siteConfig = assignWithDepth(siteConfig, conf);\n updateCurrentConfig(siteConfig, directives);\n\n return siteConfig;\n};\n/**\n *## getSiteConfig\n *| Function | Description | Type | Values |\n *| --------- | ------------------- | ------- | ------------------ |\n *| setSiteConfig|Returns the current siteConfig base configuration | Get Request | Returns Any Values in siteConfig|\n ***Notes**:\n *Returns **any** values in siteConfig.\n * @returns {*}\n */\nexport const getSiteConfig = () => {\n return assignWithDepth({}, siteConfig);\n};\n/**\n *## setConfig\n *| Function | Description | Type | Values |\n *| --------- | ------------------- | ------- | ------------------ |\n *| setSiteConfig|Sets the siteConfig to desired values | Put Request| Any Values, except ones in secure array|\n ***Notes**:\n *Sets the currentConfig. The parameter conf is sanitized based on the siteConfig.secure keys. Any\n *values found in conf with key found in siteConfig.secure will be replaced with the corresponding\n *siteConfig value.\n * @param conf - the potential currentConfig\n * @returns {*} - the currentConfig merged with the sanitized conf\n */\nexport const setConfig = conf => {\n // sanitize(conf);\n // Object.keys(conf).forEach(key => {\n // const manipulator = manipulators[key];\n // conf[key] = manipulator ? manipulator(conf[key]) : conf[key];\n // });\n\n assignWithDepth(currentConfig, conf);\n\n return getConfig();\n};\n\n/**\n * ## getConfig\n *| Function | Description | Type | Return Values |\n *| --------- | ------------------- | ------- | ------------------ |\n *| getConfig |Obtains the currentConfig | Get Request | Any Values from currentConfig|\n ***Notes**:\n *Returns **any** the currentConfig\n * @returns {*} - the currentConfig\n */\nexport const getConfig = () => {\n return assignWithDepth({}, currentConfig);\n};\n/**\n *## sanitize\n *| Function | Description | Type | Values |\n *| --------- | ------------------- | ------- | ------------------ |\n *| sanitize |Sets the siteConfig to desired values. | Put Request |None|\n *Ensures options parameter does not attempt to override siteConfig secure keys\n *Note: modifies options in-place\n * @param options - the potential setConfig parameter\n */\nexport const sanitize = options => {\n // Checking that options are not in the list of excluded options\n Object.keys(siteConfig.secure).forEach(key => {\n if (typeof options[siteConfig.secure[key]] !== 'undefined') {\n // DO NOT attempt to print options[siteConfig.secure[key]] within `${}` as a malicious script\n // can exploit the logger's attempt to stringify the value and execute arbitrary code\n log.debug(\n `Denied attempt to modify a secure key ${siteConfig.secure[key]}`,\n options[siteConfig.secure[key]]\n );\n delete options[siteConfig.secure[key]];\n }\n });\n\n // Check that there no attempts of prototype pollution\n Object.keys(options).forEach(key => {\n if (key.indexOf('__') === 0) {\n delete options[key];\n }\n });\n // Check that there no attempts of xss, there should be no tags at all in the directive\n // blocking data urls as base64 urls can contain svgs with inline script tags\n Object.keys(options).forEach(key => {\n if (typeof options[key] === 'string') {\n if (\n options[key].indexOf('<') > -1 ||\n options[key].indexOf('>') > -1 ||\n options[key].indexOf('url(data:') > -1\n ) {\n delete options[key];\n }\n }\n if (typeof options[key] === 'object') {\n sanitize(options[key]);\n }\n });\n};\n\nexport const addDirective = directive => {\n if (directive.fontFamily) {\n if (!directive.themeVariables) {\n directive.themeVariables = { fontFamily: directive.fontFamily };\n } else {\n if (!directive.themeVariables.fontFamily) {\n directive.themeVariables = { fontFamily: directive.fontFamily };\n }\n }\n }\n directives.push(directive);\n updateCurrentConfig(siteConfig, directives);\n};\n\n/**\n *## reset\n *| Function | Description | Type | Required | Values |\n *| --------- | ------------------- | ------- | -------- | ------------------ |\n *| reset|Resets currentConfig to conf| Put Request | Required | None|\n *\n *| Parameter | Description |Type | Required | Values|\n *| --- | --- | --- | --- | --- |\n *| conf| base set of values, which currentConfig coul be **reset** to.| Dictionary | Required | Any Values, with respect to the secure Array|\n *\n **Notes :\n (default: current siteConfig ) (optional, default `getSiteConfig()`)\n * @param conf the base currentConfig to reset to (default: current siteConfig ) (optional, default `getSiteConfig()`)\n */\nexport const reset = () => {\n // Replace current config with siteConfig\n directives = [];\n updateCurrentConfig(siteConfig, directives);\n};\n","import intersectRect from './intersect/intersect-rect';\nimport { log } from '../logger';\nimport createLabel from './createLabel';\nimport { select } from 'd3';\nimport { getConfig } from '../config';\n\nconst rect = (parent, node) => {\n log.trace('Creating subgraph rect for ', node.id, node);\n\n // Add outer g element\n const shapeSvg = parent\n .insert('g')\n .attr('class', 'cluster' + (node.class ? ' ' + node.class : ''))\n .attr('id', node.id);\n\n // add the rect\n const rect = shapeSvg.insert('rect', ':first-child');\n\n // Create the label and insert it after the rect\n const label = shapeSvg.insert('g').attr('class', 'cluster-label');\n\n const text = label\n .node()\n .appendChild(createLabel(node.labelText, node.labelStyle, undefined, true));\n\n // Get the size of the label\n let bbox = text.getBBox();\n\n if (getConfig().flowchart.htmlLabels) {\n const div = text.children[0];\n const dv = select(text);\n bbox = div.getBoundingClientRect();\n dv.attr('width', bbox.width);\n dv.attr('height', bbox.height);\n }\n\n const padding = 0 * node.padding;\n const halfPadding = padding / 2;\n\n log.trace('Data ', node, JSON.stringify(node));\n // center the rect around its coordinate\n rect\n .attr('style', node.style)\n .attr('rx', node.rx)\n .attr('ry', node.ry)\n .attr('x', node.x - node.width / 2 - halfPadding)\n .attr('y', node.y - node.height / 2 - halfPadding)\n .attr('width', node.width + padding)\n .attr('height', node.height + padding);\n\n // Center the label\n label.attr(\n 'transform',\n 'translate(' +\n (node.x - bbox.width / 2) +\n ', ' +\n (node.y - node.height / 2 + node.padding / 3) +\n ')'\n );\n\n const rectBox = rect.node().getBBox();\n node.width = rectBox.width;\n node.height = rectBox.height;\n\n node.intersect = function(point) {\n return intersectRect(node, point);\n };\n\n return shapeSvg;\n};\n\n/**\n * Non visiable cluster where the note is group with its\n */\nconst noteGroup = (parent, node) => {\n // Add outer g element\n const shapeSvg = parent\n .insert('g')\n .attr('class', 'note-cluster')\n .attr('id', node.id);\n\n // add the rect\n const rect = shapeSvg.insert('rect', ':first-child');\n\n const padding = 0 * node.padding;\n const halfPadding = padding / 2;\n\n // center the rect around its coordinate\n rect\n .attr('rx', node.rx)\n .attr('ry', node.ry)\n .attr('x', node.x - node.width / 2 - halfPadding)\n .attr('y', node.y - node.height / 2 - halfPadding)\n .attr('width', node.width + padding)\n .attr('height', node.height + padding)\n .attr('fill', 'none');\n\n const rectBox = rect.node().getBBox();\n node.width = rectBox.width;\n node.height = rectBox.height;\n\n node.intersect = function(point) {\n return intersectRect(node, point);\n };\n\n return shapeSvg;\n};\nconst roundedWithTitle = (parent, node) => {\n // Add outer g element\n const shapeSvg = parent\n .insert('g')\n .attr('class', node.classes)\n .attr('id', node.id);\n\n // add the rect\n const rect = shapeSvg.insert('rect', ':first-child');\n\n // Create the label and insert it after the rect\n const label = shapeSvg.insert('g').attr('class', 'cluster-label');\n const innerRect = shapeSvg.append('rect');\n\n const text = label\n .node()\n .appendChild(createLabel(node.labelText, node.labelStyle, undefined, true));\n\n // Get the size of the label\n let bbox = text.getBBox();\n if (getConfig().flowchart.htmlLabels) {\n const div = text.children[0];\n const dv = select(text);\n bbox = div.getBoundingClientRect();\n dv.attr('width', bbox.width);\n dv.attr('height', bbox.height);\n }\n bbox = text.getBBox();\n const padding = 0 * node.padding;\n const halfPadding = padding / 2;\n\n // center the rect around its coordinate\n rect\n .attr('class', 'outer')\n .attr('x', node.x - node.width / 2 - halfPadding)\n .attr('y', node.y - node.height / 2 - halfPadding)\n .attr('width', node.width + padding)\n .attr('height', node.height + padding);\n innerRect\n .attr('class', 'inner')\n .attr('x', node.x - node.width / 2 - halfPadding)\n .attr('y', node.y - node.height / 2 - halfPadding + bbox.height - 1)\n .attr('width', node.width + padding)\n .attr('height', node.height + padding - bbox.height - 3);\n\n // Center the label\n label.attr(\n 'transform',\n 'translate(' +\n (node.x - bbox.width / 2) +\n ', ' +\n (node.y - node.height / 2 - node.padding / 3 + (getConfig().flowchart.htmlLabels ? 5 : 3)) +\n ')'\n );\n\n const rectBox = rect.node().getBBox();\n node.width = rectBox.width;\n node.height = rectBox.height;\n\n node.intersect = function(point) {\n return intersectRect(node, point);\n };\n\n return shapeSvg;\n};\n\nconst divider = (parent, node) => {\n // Add outer g element\n const shapeSvg = parent\n .insert('g')\n .attr('class', node.classes)\n .attr('id', node.id);\n\n // add the rect\n const rect = shapeSvg.insert('rect', ':first-child');\n\n const padding = 0 * node.padding;\n const halfPadding = padding / 2;\n\n // center the rect around its coordinate\n rect\n .attr('class', 'divider')\n .attr('x', node.x - node.width / 2 - halfPadding)\n .attr('y', node.y - node.height / 2)\n .attr('width', node.width + padding)\n .attr('height', node.height + padding);\n\n const rectBox = rect.node().getBBox();\n node.width = rectBox.width;\n node.height = rectBox.height;\n\n node.intersect = function(point) {\n return intersectRect(node, point);\n };\n\n return shapeSvg;\n};\n\nconst shapes = { rect, roundedWithTitle, noteGroup, divider };\n\nlet clusterElems = {};\n\nexport const insertCluster = (elem, node) => {\n log.trace('Inserting cluster');\n const shape = node.shape || 'rect';\n clusterElems[node.id] = shapes[shape](elem, node);\n};\nexport const getClusterTitleWidth = (elem, node) => {\n const label = createLabel(node.labelText, node.labelStyle, undefined, true);\n elem.node().appendChild(label);\n const width = label.getBBox().width;\n elem.node().removeChild(label);\n return width;\n};\n\nexport const clear = () => {\n clusterElems = {};\n};\n\nexport const positionCluster = node => {\n log.info('Position cluster');\n const el = clusterElems[node.id];\n\n el.attr('transform', 'translate(' + node.x + ', ' + node.y + ')');\n};\n","import { select } from 'd3';\nimport { log } from '../logger'; // eslint-disable-line\n// let vertexNode;\n// if (getConfig().flowchart.htmlLabels) {\n// // TODO: addHtmlLabel accepts a labelStyle. Do we possibly have that?\n// const node = {\n// label: vertexText.replace(/fa[lrsb]?:fa-[\\w-]+/g, s => ``)\n// };\n// vertexNode = addHtmlLabel(svg, node).node();\n// vertexNode.parentNode.removeChild(vertexNode);\n// } else {\n// const svgLabel = document.createElementNS('http://www.w3.org/2000/svg', 'text');\n// svgLabel.setAttribute('style', styles.labelStyle.replace('color:', 'fill:'));\n\n// const rows = vertexText.split(common.lineBreakRegex);\n\n// for (let j = 0; j < rows.length; j++) {\n// const tspan = document.createElementNS('http://www.w3.org/2000/svg', 'tspan');\n// tspan.setAttributeNS('http://www.w3.org/XML/1998/namespace', 'xml:space', 'preserve');\n// tspan.setAttribute('dy', '1em');\n// tspan.setAttribute('x', '1');\n// tspan.textContent = rows[j];\n// svgLabel.appendChild(tspan);\n// }\n// vertexNode = svgLabel;\n// }\nimport { getConfig } from '../config';\n\nfunction applyStyle(dom, styleFn) {\n if (styleFn) {\n dom.attr('style', styleFn);\n }\n}\n\nfunction addHtmlLabel(node) {\n // var fo = root.append('foreignObject').attr('width', '100000');\n\n // var div = fo.append('xhtml:div');\n // div.attr('xmlns', 'http://www.w3.org/1999/xhtml');\n\n // var label = node.label;\n // switch (typeof label) {\n // case 'function':\n // div.insert(label);\n // break;\n // case 'object':\n // // Currently we assume this is a DOM object.\n // div.insert(function() {\n // return label;\n // });\n // break;\n // default:\n // div.html(label);\n // }\n\n // applyStyle(div, node.labelStyle);\n // div.style('display', 'inline-block');\n // // Fix for firefox\n // div.style('white-space', 'nowrap');\n\n // var client = div.node().getBoundingClientRect();\n // fo.attr('width', client.width).attr('height', client.height);\n const fo = select(document.createElementNS('http://www.w3.org/2000/svg', 'foreignObject'));\n const div = fo.append('xhtml:div');\n\n const label = node.label;\n const labelClass = node.isNode ? 'nodeLabel' : 'edgeLabel';\n div.html(\n '' +\n label +\n ''\n );\n\n applyStyle(div, node.labelStyle);\n div.style('display', 'inline-block');\n // Fix for firefox\n div.style('white-space', 'nowrap');\n div.attr('xmlns', 'http://www.w3.org/1999/xhtml');\n return fo.node();\n}\n\nconst createLabel = (_vertexText, style, isTitle, isNode) => {\n let vertexText = _vertexText || '';\n if (getConfig().flowchart.htmlLabels) {\n // TODO: addHtmlLabel accepts a labelStyle. Do we possibly have that?\n vertexText = vertexText.replace(/\\\\n|\\n/g, '
');\n log.info('vertexText' + vertexText);\n const node = {\n isNode,\n label: vertexText.replace(\n /fa[lrsb]?:fa-[\\w-]+/g,\n s => ``\n ),\n labelStyle: style.replace('fill:', 'color:')\n };\n let vertexNode = addHtmlLabel(node);\n // vertexNode.parentNode.removeChild(vertexNode);\n return vertexNode;\n } else {\n const svgLabel = document.createElementNS('http://www.w3.org/2000/svg', 'text');\n svgLabel.setAttribute('style', style.replace('color:', 'fill:'));\n let rows = [];\n if (typeof vertexText === 'string') {\n rows = vertexText.split(/\\\\n|\\n|
/gi);\n } else if (Array.isArray(vertexText)) {\n rows = vertexText;\n } else {\n rows = [];\n }\n\n for (let j = 0; j < rows.length; j++) {\n const tspan = document.createElementNS('http://www.w3.org/2000/svg', 'tspan');\n tspan.setAttributeNS('http://www.w3.org/XML/1998/namespace', 'xml:space', 'preserve');\n tspan.setAttribute('dy', '1em');\n tspan.setAttribute('x', '0');\n if (isTitle) {\n tspan.setAttribute('class', 'title-row');\n } else {\n tspan.setAttribute('class', 'row');\n }\n tspan.textContent = rows[j].trim();\n svgLabel.appendChild(tspan);\n }\n return svgLabel;\n }\n};\n\nexport default createLabel;\n","import { log } from '../logger'; // eslint-disable-line\nimport createLabel from './createLabel';\n// import { line, curveBasis, curveLinear, select } from 'd3';\nimport { line, curveBasis, select } from 'd3';\nimport { getConfig } from '../config';\nimport utils from '../utils';\n// import { calcLabelPosition } from '../utils';\n\nlet edgeLabels = {};\nlet terminalLabels = {};\n\nexport const clear = () => {\n edgeLabels = {};\n terminalLabels = {};\n};\n\nexport const insertEdgeLabel = (elem, edge) => {\n // Create the actual text element\n const labelElement = createLabel(edge.label, edge.labelStyle);\n\n // Create outer g, edgeLabel, this will be positioned after graph layout\n const edgeLabel = elem.insert('g').attr('class', 'edgeLabel');\n\n // Create inner g, label, this will be positioned now for centering the text\n const label = edgeLabel.insert('g').attr('class', 'label');\n label.node().appendChild(labelElement);\n\n // Center the label\n let bbox = labelElement.getBBox();\n if (getConfig().flowchart.htmlLabels) {\n const div = labelElement.children[0];\n const dv = select(labelElement);\n bbox = div.getBoundingClientRect();\n dv.attr('width', bbox.width);\n dv.attr('height', bbox.height);\n }\n label.attr('transform', 'translate(' + -bbox.width / 2 + ', ' + -bbox.height / 2 + ')');\n\n // Make element accessible by id for positioning\n edgeLabels[edge.id] = edgeLabel;\n\n // Update the abstract data of the edge with the new information about its width and height\n edge.width = bbox.width;\n edge.height = bbox.height;\n\n if (edge.startLabelLeft) {\n // Create the actual text element\n const startLabelElement = createLabel(edge.startLabelLeft, edge.labelStyle);\n const startEdgeLabelLeft = elem.insert('g').attr('class', 'edgeTerminals');\n const inner = startEdgeLabelLeft.insert('g').attr('class', 'inner');\n inner.node().appendChild(startLabelElement);\n const slBox = startLabelElement.getBBox();\n inner.attr('transform', 'translate(' + -slBox.width / 2 + ', ' + -slBox.height / 2 + ')');\n if (!terminalLabels[edge.id]) {\n terminalLabels[edge.id] = {};\n }\n terminalLabels[edge.id].startLeft = startEdgeLabelLeft;\n }\n if (edge.startLabelRight) {\n // Create the actual text element\n const startLabelElement = createLabel(edge.startLabelRight, edge.labelStyle);\n const startEdgeLabelRight = elem.insert('g').attr('class', 'edgeTerminals');\n const inner = startEdgeLabelRight.insert('g').attr('class', 'inner');\n startEdgeLabelRight.node().appendChild(startLabelElement);\n inner.node().appendChild(startLabelElement);\n const slBox = startLabelElement.getBBox();\n inner.attr('transform', 'translate(' + -slBox.width / 2 + ', ' + -slBox.height / 2 + ')');\n\n if (!terminalLabels[edge.id]) {\n terminalLabels[edge.id] = {};\n }\n terminalLabels[edge.id].startRight = startEdgeLabelRight;\n }\n if (edge.endLabelLeft) {\n // Create the actual text element\n const endLabelElement = createLabel(edge.endLabelLeft, edge.labelStyle);\n const endEdgeLabelLeft = elem.insert('g').attr('class', 'edgeTerminals');\n const inner = endEdgeLabelLeft.insert('g').attr('class', 'inner');\n inner.node().appendChild(endLabelElement);\n const slBox = endLabelElement.getBBox();\n inner.attr('transform', 'translate(' + -slBox.width / 2 + ', ' + -slBox.height / 2 + ')');\n\n endEdgeLabelLeft.node().appendChild(endLabelElement);\n if (!terminalLabels[edge.id]) {\n terminalLabels[edge.id] = {};\n }\n terminalLabels[edge.id].endLeft = endEdgeLabelLeft;\n }\n if (edge.endLabelRight) {\n // Create the actual text element\n const endLabelElement = createLabel(edge.endLabelRight, edge.labelStyle);\n const endEdgeLabelRight = elem.insert('g').attr('class', 'edgeTerminals');\n const inner = endEdgeLabelRight.insert('g').attr('class', 'inner');\n\n inner.node().appendChild(endLabelElement);\n const slBox = endLabelElement.getBBox();\n inner.attr('transform', 'translate(' + -slBox.width / 2 + ', ' + -slBox.height / 2 + ')');\n\n endEdgeLabelRight.node().appendChild(endLabelElement);\n if (!terminalLabels[edge.id]) {\n terminalLabels[edge.id] = {};\n }\n terminalLabels[edge.id].endRight = endEdgeLabelRight;\n }\n};\n\nexport const positionEdgeLabel = (edge, paths) => {\n log.info('Moving label abc78 ', edge.id, edge.label, edgeLabels[edge.id]);\n let path = paths.updatedPath ? paths.updatedPath : paths.originalPath;\n if (edge.label) {\n const el = edgeLabels[edge.id];\n let x = edge.x;\n let y = edge.y;\n if (path) {\n // // debugger;\n const pos = utils.calcLabelPosition(path);\n log.info('Moving label from (', x, ',', y, ') to (', pos.x, ',', pos.y, ') abc78');\n // x = pos.x;\n // y = pos.y;\n }\n el.attr('transform', 'translate(' + x + ', ' + y + ')');\n }\n\n //let path = paths.updatedPath ? paths.updatedPath : paths.originalPath;\n if (edge.startLabelLeft) {\n const el = terminalLabels[edge.id].startLeft;\n let x = edge.x;\n let y = edge.y;\n if (path) {\n // debugger;\n const pos = utils.calcTerminalLabelPosition(0, 'start_left', path);\n x = pos.x;\n y = pos.y;\n }\n el.attr('transform', 'translate(' + x + ', ' + y + ')');\n }\n if (edge.startLabelRight) {\n const el = terminalLabels[edge.id].startRight;\n let x = edge.x;\n let y = edge.y;\n if (path) {\n // debugger;\n const pos = utils.calcTerminalLabelPosition(0, 'start_right', path);\n x = pos.x;\n y = pos.y;\n }\n el.attr('transform', 'translate(' + x + ', ' + y + ')');\n }\n if (edge.endLabelLeft) {\n const el = terminalLabels[edge.id].endLeft;\n let x = edge.x;\n let y = edge.y;\n if (path) {\n // debugger;\n const pos = utils.calcTerminalLabelPosition(0, 'end_left', path);\n x = pos.x;\n y = pos.y;\n }\n el.attr('transform', 'translate(' + x + ', ' + y + ')');\n }\n if (edge.endLabelRight) {\n const el = terminalLabels[edge.id].endRight;\n let x = edge.x;\n let y = edge.y;\n if (path) {\n // debugger;\n const pos = utils.calcTerminalLabelPosition(0, 'end_right', path);\n x = pos.x;\n y = pos.y;\n }\n el.attr('transform', 'translate(' + x + ', ' + y + ')');\n }\n};\n\n// const getRelationType = function(type) {\n// switch (type) {\n// case stateDb.relationType.AGGREGATION:\n// return 'aggregation';\n// case stateDb.relationType.EXTENSION:\n// return 'extension';\n// case stateDb.relationType.COMPOSITION:\n// return 'composition';\n// case stateDb.relationType.DEPENDENCY:\n// return 'dependency';\n// }\n// };\n\nconst outsideNode = (node, point) => {\n // log.warn('Checking bounds ', node, point);\n const x = node.x;\n const y = node.y;\n const dx = Math.abs(point.x - x);\n const dy = Math.abs(point.y - y);\n const w = node.width / 2;\n const h = node.height / 2;\n if (dx >= w || dy >= h) {\n return true;\n }\n return false;\n};\n\nexport const intersection = (node, outsidePoint, insidePoint) => {\n log.warn(`intersection calc abc89:\n outsidePoint: ${JSON.stringify(outsidePoint)}\n insidePoint : ${JSON.stringify(insidePoint)}\n node : x:${node.x} y:${node.y} w:${node.width} h:${node.height}`);\n const x = node.x;\n const y = node.y;\n\n const dx = Math.abs(x - insidePoint.x);\n // const dy = Math.abs(y - insidePoint.y);\n const w = node.width / 2;\n let r = insidePoint.x < outsidePoint.x ? w - dx : w + dx;\n const h = node.height / 2;\n\n // const edges = {\n // x1: x - w,\n // x2: x + w,\n // y1: y - h,\n // y2: y + h\n // };\n\n // if (\n // outsidePoint.x === edges.x1 ||\n // outsidePoint.x === edges.x2 ||\n // outsidePoint.y === edges.y1 ||\n // outsidePoint.y === edges.y2\n // ) {\n // log.warn('abc89 calc equals on edge', outsidePoint, edges);\n // return outsidePoint;\n // }\n\n const Q = Math.abs(outsidePoint.y - insidePoint.y);\n const R = Math.abs(outsidePoint.x - insidePoint.x);\n // log.warn();\n if (Math.abs(y - outsidePoint.y) * w > Math.abs(x - outsidePoint.x) * h) { // eslint-disable-line\n // Intersection is top or bottom of rect.\n // let q = insidePoint.y < outsidePoint.y ? outsidePoint.y - h - y : y - h - outsidePoint.y;\n let q = insidePoint.y < outsidePoint.y ? outsidePoint.y - h - y : y - h - outsidePoint.y;\n r = (R * q) / Q;\n const res = {\n x: insidePoint.x < outsidePoint.x ? insidePoint.x + r : insidePoint.x - R + r,\n y: insidePoint.y < outsidePoint.y ? insidePoint.y + Q - q : insidePoint.y - Q + q\n };\n\n if (r === 0) {\n res.x = outsidePoint.x;\n res.y = outsidePoint.y;\n }\n if (R === 0) {\n res.x = outsidePoint.x;\n }\n if (Q === 0) {\n res.y = outsidePoint.y;\n }\n\n log.warn(`abc89 topp/bott calc, Q ${Q}, q ${q}, R ${R}, r ${r}`, res);\n\n return res;\n } else {\n // Intersection onn sides of rect\n if (insidePoint.x < outsidePoint.x) {\n r = outsidePoint.x - w - x;\n } else {\n // r = outsidePoint.x - w - x;\n r = x - w - outsidePoint.x;\n }\n let q = (Q * r) / R;\n // OK let _x = insidePoint.x < outsidePoint.x ? insidePoint.x + R - r : insidePoint.x + dx - w;\n // OK let _x = insidePoint.x < outsidePoint.x ? insidePoint.x + R - r : outsidePoint.x + r;\n let _x = insidePoint.x < outsidePoint.x ? insidePoint.x + R - r : insidePoint.x - R + r;\n // let _x = insidePoint.x < outsidePoint.x ? insidePoint.x + R - r : outsidePoint.x + r;\n let _y = insidePoint.y < outsidePoint.y ? insidePoint.y + q : insidePoint.y - q;\n log.warn(`sides calc abc89, Q ${Q}, q ${q}, R ${R}, r ${r}`, { _x, _y });\n if (r === 0) {\n _x = outsidePoint.x;\n _y = outsidePoint.y;\n }\n if (R === 0) {\n _x = outsidePoint.x;\n }\n if (Q === 0) {\n _y = outsidePoint.y;\n }\n\n return { x: _x, y: _y };\n }\n};\n/**\n * This function will page a path and node where the last point(s) in the path is inside the node\n * and return an update path ending by the border of the node.\n * @param {*} points\n * @param {*} boundryNode\n * @returns\n */\nconst cutPathAtIntersect = (_points, boundryNode) => {\n log.warn('abc88 cutPathAtIntersect', _points, boundryNode);\n let points = [];\n let lastPointOutside = _points[0];\n let isInside = false;\n _points.forEach(point => {\n // const node = clusterDb[edge.toCluster].node;\n log.info('abc88 checking point', point, boundryNode);\n\n // check if point is inside the boundry rect\n if (!outsideNode(boundryNode, point) && !isInside) {\n // First point inside the rect found\n // Calc the intersection coord between the point anf the last opint ouside the rect\n const inter = intersection(boundryNode, lastPointOutside, point);\n log.warn('abc88 inside', point, lastPointOutside, inter);\n log.warn('abc88 intersection', inter);\n\n // // Check case where the intersection is the same as the last point\n let pointPresent = false;\n points.forEach(p => {\n pointPresent = pointPresent || (p.x === inter.x && p.y === inter.y);\n });\n // // if (!pointPresent) {\n if (!points.find(e => e.x === inter.x && e.y === inter.y)) {\n points.push(inter);\n } else {\n log.warn('abc88 no intersect', inter, points);\n }\n // points.push(inter);\n isInside = true;\n } else {\n // Outside\n log.warn('abc88 outside', point, lastPointOutside);\n lastPointOutside = point;\n // points.push(point);\n if (!isInside) points.push(point);\n }\n });\n log.warn('abc88 returning points', points);\n return points;\n};\n\n//(edgePaths, e, edge, clusterDb, diagramtype, graph)\nexport const insertEdge = function(elem, e, edge, clusterDb, diagramType, graph) {\n let points = edge.points;\n let pointsHasChanged = false;\n const tail = graph.node(e.v);\n var head = graph.node(e.w);\n\n log.info('abc88 InsertEdge: ', edge);\n if (head.intersect && tail.intersect) {\n points = points.slice(1, edge.points.length - 1);\n points.unshift(tail.intersect(points[0]));\n log.info(\n 'Last point',\n points[points.length - 1],\n head,\n head.intersect(points[points.length - 1])\n );\n points.push(head.intersect(points[points.length - 1]));\n }\n if (edge.toCluster) {\n log.info('to cluster abc88', clusterDb[edge.toCluster]);\n points = cutPathAtIntersect(edge.points, clusterDb[edge.toCluster].node);\n // log.trace('edge', edge);\n // points = [];\n // let lastPointOutside; // = edge.points[0];\n // let isInside = false;\n // edge.points.forEach(point => {\n // const node = clusterDb[edge.toCluster].node;\n // log.warn('checking from', edge.fromCluster, point, node);\n\n // if (!outsideNode(node, point) && !isInside) {\n // log.trace('inside', edge.toCluster, point, lastPointOutside);\n\n // // First point inside the rect\n // const inter = intersection(node, lastPointOutside, point);\n\n // let pointPresent = false;\n // points.forEach(p => {\n // pointPresent = pointPresent || (p.x === inter.x && p.y === inter.y);\n // });\n // // if (!pointPresent) {\n // if (!points.find(e => e.x === inter.x && e.y === inter.y)) {\n // points.push(inter);\n // } else {\n // log.warn('no intersect', inter, points);\n // }\n // isInside = true;\n // } else {\n // // outtside\n // lastPointOutside = point;\n // if (!isInside) points.push(point);\n // }\n // });\n pointsHasChanged = true;\n }\n\n if (edge.fromCluster) {\n log.info('from cluster abc88', clusterDb[edge.fromCluster]);\n points = cutPathAtIntersect(points.reverse(), clusterDb[edge.fromCluster].node).reverse();\n // log.warn('edge', edge);\n // log.warn('from cluster', clusterDb[edge.fromCluster], points);\n // const updatedPoints = [];\n // let lastPointOutside = edge.points[edge.points.length - 1];\n // let isInside = false;\n // for (let i = points.length - 1; i >= 0; i--) {\n // const point = points[i];\n // const node = clusterDb[edge.fromCluster].node;\n // log.warn('checking to', edge.fromCluster, point, node);\n\n // if (!outsideNode(node, point) && !isInside) {\n // log.warn('inside', edge.fromCluster, point, node);\n\n // // First point inside the rect\n // const inter = intersection(node, lastPointOutside, point);\n // log.warn('intersect', intersection(node, lastPointOutside, point));\n // let pointPresent = false;\n // points.forEach(p => {\n // pointPresent = pointPresent || (p.x === inter.x && p.y === inter.y);\n // });\n // // if (!pointPresent) {\n // if (!points.find(e => e.x === inter.x && e.y === inter.y)) {\n // updatedPoints.unshift(inter);\n // log.warn('Adding point -updated = ', updatedPoints);\n // } else {\n // log.warn('no intersect', inter, points);\n // }\n // // points.push(insterection);\n // isInside = true;\n // } else {\n // // at the outside\n // // if (!isInside) updatedPoints.unshift(point);\n // updatedPoints.unshift(point);\n // log.warn('Outside point', point, updatedPoints);\n // }\n // lastPointOutside = point;\n // }\n // points = updatedPoints;\n // points = edge.points;\n pointsHasChanged = true;\n }\n\n // The data for our line\n const lineData = points.filter(p => !Number.isNaN(p.y));\n\n // This is the accessor function we talked about above\n let curve;\n // Currently only flowcharts get the curve from the settings, perhaps this should\n // be expanded to a common setting? Restricting it for now in order not to cause side-effects that\n // have not been thought through\n if (diagramType === 'graph' || diagramType === 'flowchart') {\n curve = edge.curve || curveBasis;\n } else {\n curve = curveBasis;\n }\n // curve = curveLinear;\n const lineFunction = line()\n .x(function(d) {\n return d.x;\n })\n .y(function(d) {\n return d.y;\n })\n .curve(curve);\n\n // Contruct stroke classes based on properties\n let strokeClasses;\n switch (edge.thickness) {\n case 'normal':\n strokeClasses = 'edge-thickness-normal';\n break;\n case 'thick':\n strokeClasses = 'edge-thickness-thick';\n break;\n default:\n strokeClasses = '';\n }\n switch (edge.pattern) {\n case 'solid':\n strokeClasses += ' edge-pattern-solid';\n break;\n case 'dotted':\n strokeClasses += ' edge-pattern-dotted';\n break;\n case 'dashed':\n strokeClasses += ' edge-pattern-dashed';\n break;\n }\n\n const svgPath = elem\n .append('path')\n .attr('d', lineFunction(lineData))\n .attr('id', edge.id)\n .attr('class', ' ' + strokeClasses + (edge.classes ? ' ' + edge.classes : ''))\n .attr('style', edge.style);\n\n // DEBUG code, adds a red circle at each edge coordinate\n // edge.points.forEach(point => {\n // elem\n // .append('circle')\n // .style('stroke', 'red')\n // .style('fill', 'red')\n // .attr('r', 1)\n // .attr('cx', point.x)\n // .attr('cy', point.y);\n // });\n\n let url = '';\n if (getConfig().state.arrowMarkerAbsolute) {\n url =\n window.location.protocol +\n '//' +\n window.location.host +\n window.location.pathname +\n window.location.search;\n url = url.replace(/\\(/g, '\\\\(');\n url = url.replace(/\\)/g, '\\\\)');\n }\n log.info('arrowTypeStart', edge.arrowTypeStart);\n log.info('arrowTypeEnd', edge.arrowTypeEnd);\n\n switch (edge.arrowTypeStart) {\n case 'arrow_cross':\n svgPath.attr('marker-start', 'url(' + url + '#' + diagramType + '-crossStart' + ')');\n break;\n case 'arrow_point':\n svgPath.attr('marker-start', 'url(' + url + '#' + diagramType + '-pointStart' + ')');\n break;\n case 'arrow_barb':\n svgPath.attr('marker-start', 'url(' + url + '#' + diagramType + '-barbStart' + ')');\n break;\n case 'arrow_circle':\n svgPath.attr('marker-start', 'url(' + url + '#' + diagramType + '-circleStart' + ')');\n break;\n case 'aggregation':\n svgPath.attr('marker-start', 'url(' + url + '#' + diagramType + '-aggregationStart' + ')');\n break;\n case 'extension':\n svgPath.attr('marker-start', 'url(' + url + '#' + diagramType + '-extensionStart' + ')');\n break;\n case 'composition':\n svgPath.attr('marker-start', 'url(' + url + '#' + diagramType + '-compositionStart' + ')');\n break;\n case 'dependency':\n svgPath.attr('marker-start', 'url(' + url + '#' + diagramType + '-dependencyStart' + ')');\n break;\n default:\n }\n switch (edge.arrowTypeEnd) {\n case 'arrow_cross':\n svgPath.attr('marker-end', 'url(' + url + '#' + diagramType + '-crossEnd' + ')');\n break;\n case 'arrow_point':\n svgPath.attr('marker-end', 'url(' + url + '#' + diagramType + '-pointEnd' + ')');\n break;\n case 'arrow_barb':\n svgPath.attr('marker-end', 'url(' + url + '#' + diagramType + '-barbEnd' + ')');\n break;\n case 'arrow_circle':\n svgPath.attr('marker-end', 'url(' + url + '#' + diagramType + '-circleEnd' + ')');\n break;\n case 'aggregation':\n svgPath.attr('marker-end', 'url(' + url + '#' + diagramType + '-aggregationEnd' + ')');\n break;\n case 'extension':\n svgPath.attr('marker-end', 'url(' + url + '#' + diagramType + '-extensionEnd' + ')');\n break;\n case 'composition':\n svgPath.attr('marker-end', 'url(' + url + '#' + diagramType + '-compositionEnd' + ')');\n break;\n case 'dependency':\n svgPath.attr('marker-end', 'url(' + url + '#' + diagramType + '-dependencyEnd' + ')');\n break;\n default:\n }\n let paths = {};\n if (pointsHasChanged) {\n paths.updatedPath = points;\n }\n paths.originalPath = edge.points;\n return paths;\n};\n","import dagre from 'dagre';\nimport graphlib from 'graphlib';\nimport insertMarkers from './markers';\nimport { updateNodeBounds } from './shapes/util';\nimport {\n clear as clearGraphlib,\n clusterDb,\n adjustClustersAndEdges,\n findNonClusterChild,\n sortNodesByHierarchy\n} from './mermaid-graphlib';\nimport { insertNode, positionNode, clear as clearNodes, setNodeElem } from './nodes';\nimport { insertCluster, clear as clearClusters } from './clusters';\nimport { insertEdgeLabel, positionEdgeLabel, insertEdge, clear as clearEdges } from './edges';\nimport { log } from '../logger';\n\nconst recursiveRender = (_elem, graph, diagramtype, parentCluster) => {\n log.info('Graph in recursive render: XXX', graphlib.json.write(graph), parentCluster);\n const dir = graph.graph().rankdir;\n log.warn('Dir in recursive render - dir:', dir);\n\n const elem = _elem.insert('g').attr('class', 'root'); // eslint-disable-line\n if (!graph.nodes()) {\n log.info('No nodes found for', graph);\n } else {\n log.info('Recursive render XXX', graph.nodes());\n }\n if (graph.edges().length > 0) {\n log.info('Recursive edges', graph.edge(graph.edges()[0]));\n }\n const clusters = elem.insert('g').attr('class', 'clusters'); // eslint-disable-line\n const edgePaths = elem.insert('g').attr('class', 'edgePaths');\n const edgeLabels = elem.insert('g').attr('class', 'edgeLabels');\n const nodes = elem.insert('g').attr('class', 'nodes');\n\n // Insert nodes, this will insert them into the dom and each node will get a size. The size is updated\n // to the abstract node and is later used by dagre for the layout\n graph.nodes().forEach(function(v) {\n const node = graph.node(v);\n if (typeof parentCluster !== 'undefined') {\n const data = JSON.parse(JSON.stringify(parentCluster.clusterData));\n // data.clusterPositioning = true;\n log.info('Setting data for cluster XXX (', v, ') ', data, parentCluster);\n graph.setNode(parentCluster.id, data);\n if (!graph.parent(v)) {\n log.warn('Setting parent', v, parentCluster.id);\n graph.setParent(v, parentCluster.id, data);\n }\n }\n log.info('(Insert) Node XXX' + v + ': ' + JSON.stringify(graph.node(v)));\n if (node && node.clusterNode) {\n // const children = graph.children(v);\n log.info('Cluster identified', v, node, graph.node(v));\n const newEl = recursiveRender(nodes, node.graph, diagramtype, graph.node(v));\n updateNodeBounds(node, newEl);\n setNodeElem(newEl, node);\n\n log.warn('Recursive render complete', newEl, node);\n } else {\n if (graph.children(v).length > 0) {\n // This is a cluster but not to be rendered recusively\n // Render as before\n log.info('Cluster - the non recursive path XXX', v, node.id, node, graph);\n log.info(findNonClusterChild(node.id, graph));\n clusterDb[node.id] = { id: findNonClusterChild(node.id, graph), node };\n // insertCluster(clusters, graph.node(v));\n } else {\n log.info('Node - the non recursive path', v, node.id, node);\n insertNode(nodes, graph.node(v), dir);\n }\n }\n });\n\n // Insert labels, this will insert them into the dom so that the width can be calculated\n // Also figure out which edges point to/from clusters and adjust them accordingly\n // Edges from/to clusters really points to the first child in the cluster.\n // TODO: pick optimal child in the cluster to us as link anchor\n graph.edges().forEach(function(e) {\n const edge = graph.edge(e.v, e.w, e.name);\n log.info('Edge ' + e.v + ' -> ' + e.w + ': ' + JSON.stringify(e));\n log.info('Edge ' + e.v + ' -> ' + e.w + ': ', e, ' ', JSON.stringify(graph.edge(e)));\n\n // Check if link is either from or to a cluster\n log.info('Fix', clusterDb, 'ids:', e.v, e.w, 'Translateing: ', clusterDb[e.v], clusterDb[e.w]);\n insertEdgeLabel(edgeLabels, edge);\n });\n\n graph.edges().forEach(function(e) {\n log.info('Edge ' + e.v + ' -> ' + e.w + ': ' + JSON.stringify(e));\n });\n log.info('#############################################');\n log.info('### Layout ###');\n log.info('#############################################');\n log.info(graph);\n dagre.layout(graph);\n log.info('Graph after layout:', graphlib.json.write(graph));\n // Move the nodes to the correct place\n sortNodesByHierarchy(graph).forEach(function(v) {\n const node = graph.node(v);\n log.info('Position ' + v + ': ' + JSON.stringify(graph.node(v)));\n log.info(\n 'Position ' + v + ': (' + node.x,\n ',' + node.y,\n ') width: ',\n node.width,\n ' height: ',\n node.height\n );\n if (node && node.clusterNode) {\n // clusterDb[node.id].node = node;\n\n positionNode(node);\n } else {\n // Non cluster node\n if (graph.children(v).length > 0) {\n // A cluster in the non-recurive way\n // positionCluster(node);\n insertCluster(clusters, node);\n clusterDb[node.id].node = node;\n } else {\n positionNode(node);\n }\n }\n });\n\n // Move the edge labels to the correct place after layout\n graph.edges().forEach(function(e) {\n const edge = graph.edge(e);\n log.info('Edge ' + e.v + ' -> ' + e.w + ': ' + JSON.stringify(edge), edge);\n\n const paths = insertEdge(edgePaths, e, edge, clusterDb, diagramtype, graph);\n positionEdgeLabel(edge, paths);\n });\n\n return elem;\n};\n\nexport const render = (elem, graph, markers, diagramtype, id) => {\n insertMarkers(elem, markers, diagramtype, id);\n clearNodes();\n clearEdges();\n clearClusters();\n clearGraphlib();\n\n log.warn('Graph at first:', graphlib.json.write(graph));\n adjustClustersAndEdges(graph);\n log.warn('Graph after:', graphlib.json.write(graph));\n // log.warn('Graph ever after:', graphlib.json.write(graph.node('A').graph));\n recursiveRender(elem, graph, diagramtype);\n};\n\n// const shapeDefinitions = {};\n// export const addShape = ({ shapeType: fun }) => {\n// shapeDefinitions[shapeType] = fun;\n// };\n\n// const arrowDefinitions = {};\n// export const addArrow = ({ arrowType: fun }) => {\n// arrowDefinitions[arrowType] = fun;\n// };\n","/*\n * Borrowed with love from from dagrge-d3. Many thanks to cpettitt!\n */\n\nimport node from './intersect-node.js';\nimport circle from './intersect-circle.js';\nimport ellipse from './intersect-ellipse.js';\nimport polygon from './intersect-polygon.js';\nimport rect from './intersect-rect.js';\n\nexport default {\n node,\n circle,\n ellipse,\n polygon,\n rect\n};\n","import intersectEllipse from './intersect-ellipse';\n\nfunction intersectCircle(node, rx, point) {\n return intersectEllipse(node, rx, rx, point);\n}\n\nexport default intersectCircle;\n","function intersectEllipse(node, rx, ry, point) {\n // Formulae from: http://mathworld.wolfram.com/Ellipse-LineIntersection.html\n\n var cx = node.x;\n var cy = node.y;\n\n var px = cx - point.x;\n var py = cy - point.y;\n\n var det = Math.sqrt(rx * rx * py * py + ry * ry * px * px);\n\n var dx = Math.abs((rx * ry * px) / det);\n if (point.x < cx) {\n dx = -dx;\n }\n var dy = Math.abs((rx * ry * py) / det);\n if (point.y < cy) {\n dy = -dy;\n }\n\n return { x: cx + dx, y: cy + dy };\n}\n\nexport default intersectEllipse;\n","/*\n * Returns the point at which two lines, p and q, intersect or returns\n * undefined if they do not intersect.\n */\nfunction intersectLine(p1, p2, q1, q2) {\n // Algorithm from J. Avro, (ed.) Graphics Gems, No 2, Morgan Kaufmann, 1994,\n // p7 and p473.\n\n var a1, a2, b1, b2, c1, c2;\n var r1, r2, r3, r4;\n var denom, offset, num;\n var x, y;\n\n // Compute a1, b1, c1, where line joining points 1 and 2 is F(x,y) = a1 x +\n // b1 y + c1 = 0.\n a1 = p2.y - p1.y;\n b1 = p1.x - p2.x;\n c1 = p2.x * p1.y - p1.x * p2.y;\n\n // Compute r3 and r4.\n r3 = a1 * q1.x + b1 * q1.y + c1;\n r4 = a1 * q2.x + b1 * q2.y + c1;\n\n // Check signs of r3 and r4. If both point 3 and point 4 lie on\n // same side of line 1, the line segments do not intersect.\n if (r3 !== 0 && r4 !== 0 && sameSign(r3, r4)) {\n return /*DONT_INTERSECT*/;\n }\n\n // Compute a2, b2, c2 where line joining points 3 and 4 is G(x,y) = a2 x + b2 y + c2 = 0\n a2 = q2.y - q1.y;\n b2 = q1.x - q2.x;\n c2 = q2.x * q1.y - q1.x * q2.y;\n\n // Compute r1 and r2\n r1 = a2 * p1.x + b2 * p1.y + c2;\n r2 = a2 * p2.x + b2 * p2.y + c2;\n\n // Check signs of r1 and r2. If both point 1 and point 2 lie\n // on same side of second line segment, the line segments do\n // not intersect.\n if (r1 !== 0 && r2 !== 0 && sameSign(r1, r2)) {\n return /*DONT_INTERSECT*/;\n }\n\n // Line segments intersect: compute intersection point.\n denom = a1 * b2 - a2 * b1;\n if (denom === 0) {\n return /*COLLINEAR*/;\n }\n\n offset = Math.abs(denom / 2);\n\n // The denom/2 is to get rounding instead of truncating. It\n // is added or subtracted to the numerator, depending upon the\n // sign of the numerator.\n num = b1 * c2 - b2 * c1;\n x = num < 0 ? (num - offset) / denom : (num + offset) / denom;\n\n num = a2 * c1 - a1 * c2;\n y = num < 0 ? (num - offset) / denom : (num + offset) / denom;\n\n return { x: x, y: y };\n}\n\nfunction sameSign(r1, r2) {\n return r1 * r2 > 0;\n}\n\nexport default intersectLine;\n","module.exports = intersectNode;\n\nfunction intersectNode(node, point) {\n // console.info('Intersect Node');\n return node.intersect(point);\n}\n","/* eslint \"no-console\": off */\n\nimport intersectLine from './intersect-line';\n\nexport default intersectPolygon;\n\n/*\n * Returns the point ({x, y}) at which the point argument intersects with the\n * node argument assuming that it has the shape specified by polygon.\n */\nfunction intersectPolygon(node, polyPoints, point) {\n var x1 = node.x;\n var y1 = node.y;\n\n var intersections = [];\n\n var minX = Number.POSITIVE_INFINITY;\n var minY = Number.POSITIVE_INFINITY;\n if (typeof polyPoints.forEach === 'function') {\n polyPoints.forEach(function(entry) {\n minX = Math.min(minX, entry.x);\n minY = Math.min(minY, entry.y);\n });\n } else {\n minX = Math.min(minX, polyPoints.x);\n minY = Math.min(minY, polyPoints.y);\n }\n\n var left = x1 - node.width / 2 - minX;\n var top = y1 - node.height / 2 - minY;\n\n for (var i = 0; i < polyPoints.length; i++) {\n var p1 = polyPoints[i];\n var p2 = polyPoints[i < polyPoints.length - 1 ? i + 1 : 0];\n var intersect = intersectLine(\n node,\n point,\n { x: left + p1.x, y: top + p1.y },\n { x: left + p2.x, y: top + p2.y }\n );\n if (intersect) {\n intersections.push(intersect);\n }\n }\n\n if (!intersections.length) {\n // console.log('NO INTERSECTION FOUND, RETURN NODE CENTER', node);\n return node;\n }\n\n if (intersections.length > 1) {\n // More intersections, find the one nearest to edge end point\n intersections.sort(function(p, q) {\n var pdx = p.x - point.x;\n var pdy = p.y - point.y;\n var distp = Math.sqrt(pdx * pdx + pdy * pdy);\n\n var qdx = q.x - point.x;\n var qdy = q.y - point.y;\n var distq = Math.sqrt(qdx * qdx + qdy * qdy);\n\n return distp < distq ? -1 : distp === distq ? 0 : 1;\n });\n }\n return intersections[0];\n}\n","const intersectRect = (node, point) => {\n var x = node.x;\n var y = node.y;\n\n // Rectangle intersection algorithm from:\n // http://math.stackexchange.com/questions/108113/find-edge-between-two-boxes\n var dx = point.x - x;\n var dy = point.y - y;\n var w = node.width / 2;\n var h = node.height / 2;\n\n var sx, sy;\n if (Math.abs(dy) * w > Math.abs(dx) * h) {\n // Intersection is top or bottom of rect.\n if (dy < 0) {\n h = -h;\n }\n sx = dy === 0 ? 0 : (h * dx) / dy;\n sy = h;\n } else {\n // Intersection is left or right of rect.\n if (dx < 0) {\n w = -w;\n }\n sx = w;\n sy = dx === 0 ? 0 : (w * dy) / dx;\n }\n\n return { x: x + sx, y: y + sy };\n};\n\nexport default intersectRect;\n","/**\n * Setup arrow head and define the marker. The result is appended to the svg.\n */\n\nimport { log } from '../logger';\n\n// Only add the number of markers that the diagram needs\nconst insertMarkers = (elem, markerArray, type, id) => {\n markerArray.forEach(markerName => {\n markers[markerName](elem, type, id);\n });\n};\n\nconst extension = (elem, type, id) => {\n log.trace('Making markers for ', id);\n elem\n .append('defs')\n .append('marker')\n .attr('id', type + '-extensionStart')\n .attr('class', 'marker extension ' + type)\n .attr('refX', 0)\n .attr('refY', 7)\n .attr('markerWidth', 190)\n .attr('markerHeight', 240)\n .attr('orient', 'auto')\n .append('path')\n .attr('d', 'M 1,7 L18,13 V 1 Z');\n\n elem\n .append('defs')\n .append('marker')\n .attr('id', type + '-extensionEnd')\n .attr('class', 'marker extension ' + type)\n .attr('refX', 19)\n .attr('refY', 7)\n .attr('markerWidth', 20)\n .attr('markerHeight', 28)\n .attr('orient', 'auto')\n .append('path')\n .attr('d', 'M 1,1 V 13 L18,7 Z'); // this is actual shape for arrowhead\n};\n\nconst composition = (elem, type) => {\n elem\n .append('defs')\n .append('marker')\n .attr('id', type + '-compositionStart')\n .attr('class', 'marker composition ' + type)\n .attr('refX', 0)\n .attr('refY', 7)\n .attr('markerWidth', 190)\n .attr('markerHeight', 240)\n .attr('orient', 'auto')\n .append('path')\n .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z');\n\n elem\n .append('defs')\n .append('marker')\n .attr('id', type + '-compositionEnd')\n .attr('class', 'marker composition ' + type)\n .attr('refX', 19)\n .attr('refY', 7)\n .attr('markerWidth', 20)\n .attr('markerHeight', 28)\n .attr('orient', 'auto')\n .append('path')\n .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z');\n};\nconst aggregation = (elem, type) => {\n elem\n .append('defs')\n .append('marker')\n .attr('id', type + '-aggregationStart')\n .attr('class', 'marker aggregation ' + type)\n .attr('refX', 0)\n .attr('refY', 7)\n .attr('markerWidth', 190)\n .attr('markerHeight', 240)\n .attr('orient', 'auto')\n .append('path')\n .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z');\n\n elem\n .append('defs')\n .append('marker')\n .attr('id', type + '-aggregationEnd')\n .attr('class', 'marker aggregation ' + type)\n .attr('refX', 19)\n .attr('refY', 7)\n .attr('markerWidth', 20)\n .attr('markerHeight', 28)\n .attr('orient', 'auto')\n .append('path')\n .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z');\n};\nconst dependency = (elem, type) => {\n elem\n .append('defs')\n .append('marker')\n .attr('id', type + '-dependencyStart')\n .attr('class', 'marker dependency ' + type)\n .attr('refX', 0)\n .attr('refY', 7)\n .attr('markerWidth', 190)\n .attr('markerHeight', 240)\n .attr('orient', 'auto')\n .append('path')\n .attr('d', 'M 5,7 L9,13 L1,7 L9,1 Z');\n\n elem\n .append('defs')\n .append('marker')\n .attr('id', type + '-dependencyEnd')\n .attr('class', 'marker dependency ' + type)\n .attr('refX', 19)\n .attr('refY', 7)\n .attr('markerWidth', 20)\n .attr('markerHeight', 28)\n .attr('orient', 'auto')\n .append('path')\n .attr('d', 'M 18,7 L9,13 L14,7 L9,1 Z');\n};\nconst point = (elem, type) => {\n elem\n .append('marker')\n .attr('id', type + '-pointEnd')\n .attr('class', 'marker ' + type)\n .attr('viewBox', '0 0 10 10')\n .attr('refX', 9)\n .attr('refY', 5)\n .attr('markerUnits', 'userSpaceOnUse')\n .attr('markerWidth', 12)\n .attr('markerHeight', 12)\n .attr('orient', 'auto')\n .append('path')\n .attr('d', 'M 0 0 L 10 5 L 0 10 z')\n .attr('class', 'arrowMarkerPath')\n .style('stroke-width', 1)\n .style('stroke-dasharray', '1,0');\n elem\n .append('marker')\n .attr('id', type + '-pointStart')\n .attr('class', 'marker ' + type)\n .attr('viewBox', '0 0 10 10')\n .attr('refX', 0)\n .attr('refY', 5)\n .attr('markerUnits', 'userSpaceOnUse')\n .attr('markerWidth', 12)\n .attr('markerHeight', 12)\n .attr('orient', 'auto')\n .append('path')\n .attr('d', 'M 0 5 L 10 10 L 10 0 z')\n .attr('class', 'arrowMarkerPath')\n .style('stroke-width', 1)\n .style('stroke-dasharray', '1,0');\n};\nconst circle = (elem, type) => {\n elem\n .append('marker')\n .attr('id', type + '-circleEnd')\n .attr('class', 'marker ' + type)\n .attr('viewBox', '0 0 10 10')\n .attr('refX', 11)\n .attr('refY', 5)\n .attr('markerUnits', 'userSpaceOnUse')\n .attr('markerWidth', 11)\n .attr('markerHeight', 11)\n .attr('orient', 'auto')\n .append('circle')\n .attr('cx', '5')\n .attr('cy', '5')\n .attr('r', '5')\n .attr('class', 'arrowMarkerPath')\n .style('stroke-width', 1)\n .style('stroke-dasharray', '1,0');\n\n elem\n .append('marker')\n .attr('id', type + '-circleStart')\n .attr('class', 'marker ' + type)\n .attr('viewBox', '0 0 10 10')\n .attr('refX', -1)\n .attr('refY', 5)\n .attr('markerUnits', 'userSpaceOnUse')\n .attr('markerWidth', 11)\n .attr('markerHeight', 11)\n .attr('orient', 'auto')\n .append('circle')\n .attr('cx', '5')\n .attr('cy', '5')\n .attr('r', '5')\n .attr('class', 'arrowMarkerPath')\n .style('stroke-width', 1)\n .style('stroke-dasharray', '1,0');\n};\nconst cross = (elem, type) => {\n elem\n .append('marker')\n .attr('id', type + '-crossEnd')\n .attr('class', 'marker cross ' + type)\n .attr('viewBox', '0 0 11 11')\n .attr('refX', 12)\n .attr('refY', 5.2)\n .attr('markerUnits', 'userSpaceOnUse')\n .attr('markerWidth', 11)\n .attr('markerHeight', 11)\n .attr('orient', 'auto')\n .append('path')\n // .attr('stroke', 'black')\n .attr('d', 'M 1,1 l 9,9 M 10,1 l -9,9')\n .attr('class', 'arrowMarkerPath')\n .style('stroke-width', 2)\n .style('stroke-dasharray', '1,0');\n\n elem\n .append('marker')\n .attr('id', type + '-crossStart')\n .attr('class', 'marker cross ' + type)\n .attr('viewBox', '0 0 11 11')\n .attr('refX', -1)\n .attr('refY', 5.2)\n .attr('markerUnits', 'userSpaceOnUse')\n .attr('markerWidth', 11)\n .attr('markerHeight', 11)\n .attr('orient', 'auto')\n .append('path')\n // .attr('stroke', 'black')\n .attr('d', 'M 1,1 l 9,9 M 10,1 l -9,9')\n .attr('class', 'arrowMarkerPath')\n .style('stroke-width', 2)\n .style('stroke-dasharray', '1,0');\n};\nconst barb = (elem, type) => {\n elem\n .append('defs')\n .append('marker')\n .attr('id', type + '-barbEnd')\n .attr('refX', 19)\n .attr('refY', 7)\n .attr('markerWidth', 20)\n .attr('markerHeight', 14)\n .attr('markerUnits', 'strokeWidth')\n .attr('orient', 'auto')\n .append('path')\n .attr('d', 'M 19,7 L9,13 L14,7 L9,1 Z');\n};\n\n// TODO rename the class diagram markers to something shape descriptive and semanitc free\nconst markers = {\n extension,\n composition,\n aggregation,\n dependency,\n point,\n circle,\n cross,\n barb\n};\nexport default insertMarkers;\n","/**\n * Decorates with functions required by mermaids dagre-wrapper.\n */\nimport { log } from '../logger';\nimport graphlib from 'graphlib';\n\nexport let clusterDb = {};\nlet decendants = {};\nlet parents = {};\n\nexport const clear = () => {\n decendants = {};\n parents = {};\n clusterDb = {};\n};\n\nconst isDecendant = (id, ancenstorId) => {\n // if (id === ancenstorId) return true;\n\n log.debug(\n 'In isDecendant',\n ancenstorId,\n ' ',\n id,\n ' = ',\n decendants[ancenstorId].indexOf(id) >= 0\n );\n if (decendants[ancenstorId].indexOf(id) >= 0) return true;\n\n return false;\n};\n\nconst edgeInCluster = (edge, clusterId) => {\n log.info('Decendants of ', clusterId, ' is ', decendants[clusterId]);\n log.info('Edge is ', edge);\n // Edges to/from the cluster is not in the cluster, they are in the parent\n if (edge.v === clusterId) return false;\n if (edge.w === clusterId) return false;\n\n if (!decendants[clusterId]) {\n log.debug('Tilt, ', clusterId, ',not in decendants');\n return false;\n }\n log.info('Here ');\n\n if (decendants[clusterId].indexOf(edge.v) >= 0) return true;\n if (isDecendant(edge.v, clusterId)) return true;\n if (isDecendant(edge.w, clusterId)) return true;\n if (decendants[clusterId].indexOf(edge.w) >= 0) return true;\n\n return false;\n};\n\nconst copy = (clusterId, graph, newGraph, rootId) => {\n log.warn(\n 'Copying children of ',\n clusterId,\n 'root',\n rootId,\n 'data',\n graph.node(clusterId),\n rootId\n );\n const nodes = graph.children(clusterId) || [];\n\n // Include cluster node if it is not the root\n if (clusterId !== rootId) {\n nodes.push(clusterId);\n }\n\n log.warn('Copying (nodes) clusterId', clusterId, 'nodes', nodes);\n\n nodes.forEach(node => {\n if (graph.children(node).length > 0) {\n copy(node, graph, newGraph, rootId);\n } else {\n const data = graph.node(node);\n log.info('cp ', node, ' to ', rootId, ' with parent ', clusterId); //,node, data, ' parent is ', clusterId);\n newGraph.setNode(node, data);\n if (rootId !== graph.parent(node)) {\n log.warn('Setting parent', node, graph.parent(node));\n newGraph.setParent(node, graph.parent(node));\n }\n\n if (clusterId !== rootId && node !== clusterId) {\n log.debug('Setting parent', node, clusterId);\n newGraph.setParent(node, clusterId);\n } else {\n log.info('In copy ', clusterId, 'root', rootId, 'data', graph.node(clusterId), rootId);\n log.debug(\n 'Not Setting parent for node=',\n node,\n 'cluster!==rootId',\n clusterId !== rootId,\n 'node!==clusterId',\n node !== clusterId\n );\n }\n const edges = graph.edges(node);\n log.debug('Copying Edges', edges);\n edges.forEach(edge => {\n log.info('Edge', edge);\n const data = graph.edge(edge.v, edge.w, edge.name);\n log.info('Edge data', data, rootId);\n try {\n // Do not copy edges in and out of the root cluster, they belong to the parent graph\n if (edgeInCluster(edge, rootId)) {\n log.info('Copying as ', edge.v, edge.w, data, edge.name);\n newGraph.setEdge(edge.v, edge.w, data, edge.name);\n log.info('newGraph edges ', newGraph.edges(), newGraph.edge(newGraph.edges()[0]));\n } else {\n log.info(\n 'Skipping copy of edge ',\n edge.v,\n '-->',\n edge.w,\n ' rootId: ',\n rootId,\n ' clusterId:',\n clusterId\n );\n }\n } catch (e) {\n log.error(e);\n }\n });\n }\n log.debug('Removing node', node);\n graph.removeNode(node);\n });\n};\nexport const extractDecendants = (id, graph) => {\n // log.debug('Extracting ', id);\n const children = graph.children(id);\n let res = [].concat(children);\n\n for (let i = 0; i < children.length; i++) {\n parents[children[i]] = id;\n res = res.concat(extractDecendants(children[i], graph));\n }\n\n return res;\n};\n\n/**\n * Validates the graph, checking that all parent child relation points to existing nodes and that\n * edges between nodes also ia correct. When not correct the function logs the discrepancies.\n * @param {graphlib graph} g\n */\nexport const validate = graph => {\n const edges = graph.edges();\n log.trace('Edges: ', edges);\n for (let i = 0; i < edges.length; i++) {\n if (graph.children(edges[i].v).length > 0) {\n log.trace('The node ', edges[i].v, ' is part of and edge even though it has children');\n return false;\n }\n if (graph.children(edges[i].w).length > 0) {\n log.trace('The node ', edges[i].w, ' is part of and edge even though it has children');\n return false;\n }\n }\n return true;\n};\n\n/**\n * Finds a child that is not a cluster. When faking a edge between a node and a cluster.\n * @param {Finds a } id\n * @param {*} graph\n */\nexport const findNonClusterChild = (id, graph) => {\n // const node = graph.node(id);\n log.trace('Searching', id);\n // const children = graph.children(id).reverse();\n const children = graph.children(id); //.reverse();\n log.trace('Searching children of id ', id, children);\n if (children.length < 1) {\n log.trace('This is a valid node', id);\n return id;\n }\n for (let i = 0; i < children.length; i++) {\n const _id = findNonClusterChild(children[i], graph);\n if (_id) {\n log.trace('Found replacement for', id, ' => ', _id);\n return _id;\n }\n }\n};\n\nconst getAnchorId = id => {\n if (!clusterDb[id]) {\n return id;\n }\n // If the cluster has no external connections\n if (!clusterDb[id].externalConnections) {\n return id;\n }\n\n // Return the replacement node\n if (clusterDb[id]) {\n return clusterDb[id].id;\n }\n return id;\n};\n\nexport const adjustClustersAndEdges = (graph, depth) => {\n if (!graph || depth > 10) {\n log.debug('Opting out, no graph ');\n return;\n } else {\n log.debug('Opting in, graph ');\n }\n // Go through the nodes and for each cluster found, save a replacment node, this can be used when\n // faking a link to a cluster\n graph.nodes().forEach(function(id) {\n const children = graph.children(id);\n if (children.length > 0) {\n log.warn(\n 'Cluster identified',\n id,\n ' Replacement id in edges: ',\n findNonClusterChild(id, graph)\n );\n decendants[id] = extractDecendants(id, graph);\n clusterDb[id] = { id: findNonClusterChild(id, graph), clusterData: graph.node(id) };\n }\n });\n\n // Check incoming and outgoing edges for each cluster\n graph.nodes().forEach(function(id) {\n const children = graph.children(id);\n const edges = graph.edges();\n if (children.length > 0) {\n log.debug('Cluster identified', id, decendants);\n edges.forEach(edge => {\n // log.debug('Edge, decendants: ', edge, decendants[id]);\n\n // Check if any edge leaves the cluster (not the actual cluster, thats a link from the box)\n if (edge.v !== id && edge.w !== id) {\n // Any edge where either the one of the nodes is decending to the cluster but not the other\n // if (decendants[id].indexOf(edge.v) < 0 && decendants[id].indexOf(edge.w) < 0) {\n\n const d1 = isDecendant(edge.v, id);\n const d2 = isDecendant(edge.w, id);\n\n // d1 xor d2 - if either d1 is true and d2 is false or the other way around\n if (d1 ^ d2) {\n log.warn('Edge: ', edge, ' leaves cluster ', id);\n log.warn('Decendants of XXX ', id, ': ', decendants[id]);\n clusterDb[id].externalConnections = true;\n }\n }\n });\n } else {\n log.debug('Not a cluster ', id, decendants);\n }\n });\n\n // For clusters with incoming and/or outgoing edges translate those edges to a real node\n // in the cluster inorder to fake the edge\n graph.edges().forEach(function(e) {\n const edge = graph.edge(e);\n log.warn('Edge ' + e.v + ' -> ' + e.w + ': ' + JSON.stringify(e));\n log.warn('Edge ' + e.v + ' -> ' + e.w + ': ' + JSON.stringify(graph.edge(e)));\n\n let v = e.v;\n let w = e.w;\n // Check if link is either from or to a cluster\n log.warn(\n 'Fix XXX',\n clusterDb,\n 'ids:',\n e.v,\n e.w,\n 'Translateing: ',\n clusterDb[e.v],\n ' --- ',\n clusterDb[e.w]\n );\n if (clusterDb[e.v] || clusterDb[e.w]) {\n log.warn('Fixing and trixing - removing XXX', e.v, e.w, e.name);\n v = getAnchorId(e.v);\n w = getAnchorId(e.w);\n graph.removeEdge(e.v, e.w, e.name);\n if (v !== e.v) edge.fromCluster = e.v;\n if (w !== e.w) edge.toCluster = e.w;\n log.warn('Fix Replacing with XXX', v, w, e.name);\n graph.setEdge(v, w, edge, e.name);\n }\n });\n log.warn('Adjusted Graph', graphlib.json.write(graph));\n extractor(graph, 0);\n\n log.trace(clusterDb);\n\n // Remove references to extracted cluster\n // graph.edges().forEach(edge => {\n // if (isDecendant(edge.v, clusterId) || isDecendant(edge.w, clusterId)) {\n // graph.removeEdge(edge);\n // }\n // });\n};\n\nexport const extractor = (graph, depth) => {\n log.warn('extractor - ', depth, graphlib.json.write(graph), graph.children('D'));\n if (depth > 10) {\n log.error('Bailing out');\n return;\n }\n // For clusters without incoming and/or outgoing edges, create a new cluster-node\n // containing the nodes and edges in the custer in a new graph\n // for (let i = 0;)\n let nodes = graph.nodes();\n let hasChildren = false;\n for (let i = 0; i < nodes.length; i++) {\n const node = nodes[i];\n const children = graph.children(node);\n hasChildren = hasChildren || children.length > 0;\n }\n\n if (!hasChildren) {\n log.debug('Done, no node has children', graph.nodes());\n return;\n }\n // const clusters = Object.keys(clusterDb);\n // clusters.forEach(clusterId => {\n log.debug('Nodes = ', nodes, depth);\n for (let i = 0; i < nodes.length; i++) {\n const node = nodes[i];\n\n log.debug(\n 'Extracting node',\n node,\n clusterDb,\n clusterDb[node] && !clusterDb[node].externalConnections,\n !graph.parent(node),\n graph.node(node),\n graph.children('D'),\n ' Depth ',\n depth\n );\n // Note that the node might have been removed after the Object.keys call so better check\n // that it still is in the game\n if (!clusterDb[node]) {\n // Skip if the node is not a cluster\n log.debug('Not a cluster', node, depth);\n // break;\n } else if (\n !clusterDb[node].externalConnections &&\n // !graph.parent(node) &&\n graph.children(node) &&\n graph.children(node).length > 0\n ) {\n log.warn(\n 'Cluster without external connections, without a parent and with children',\n node,\n depth\n );\n\n const graphSettings = graph.graph();\n\n const clusterGraph = new graphlib.Graph({\n multigraph: true,\n compound: true\n })\n .setGraph({\n rankdir: graphSettings.rankdir === 'TB' ? 'TB' : 'LR',\n // Todo: set proper spacing\n nodesep: 50,\n ranksep: 50,\n marginx: 8,\n marginy: 8\n })\n .setDefaultEdgeLabel(function() {\n return {};\n });\n\n log.warn('Old graph before copy', graphlib.json.write(graph));\n copy(node, graph, clusterGraph, node);\n graph.setNode(node, {\n clusterNode: true,\n id: node,\n clusterData: clusterDb[node].clusterData,\n labelText: clusterDb[node].labelText,\n graph: clusterGraph\n });\n log.warn('New graph after copy node: (', node, ')', graphlib.json.write(clusterGraph));\n log.debug('Old graph after copy', graphlib.json.write(graph));\n } else {\n log.warn(\n 'Cluster ** ',\n node,\n ' **not meeting the criteria !externalConnections:',\n !clusterDb[node].externalConnections,\n ' no parent: ',\n !graph.parent(node),\n ' children ',\n graph.children(node) && graph.children(node).length > 0,\n graph.children('D'),\n depth\n );\n log.debug(clusterDb);\n }\n }\n\n nodes = graph.nodes();\n log.warn('New list of nodes', nodes);\n for (let i = 0; i < nodes.length; i++) {\n const node = nodes[i];\n const data = graph.node(node);\n log.warn(' Now next level', node, data);\n if (data.clusterNode) {\n extractor(data.graph, depth + 1);\n }\n }\n};\n\nconst sorter = (graph, nodes) => {\n if (nodes.length === 0) return [];\n let result = Object.assign(nodes);\n nodes.forEach(node => {\n const children = graph.children(node);\n const sorted = sorter(graph, children);\n result = result.concat(sorted);\n });\n\n return result;\n};\n\nexport const sortNodesByHierarchy = graph => sorter(graph, graph.children());\n","import { select } from 'd3';\nimport { log } from '../logger'; // eslint-disable-line\nimport { labelHelper, updateNodeBounds, insertPolygonShape } from './shapes/util';\nimport { getConfig } from '../config';\nimport intersect from './intersect/index.js';\nimport createLabel from './createLabel';\nimport note from './shapes/note';\nimport { parseMember } from '../diagrams/class/svgDraw';\n\nconst question = (parent, node) => {\n const { shapeSvg, bbox } = labelHelper(parent, node, undefined, true);\n\n const w = bbox.width + node.padding;\n const h = bbox.height + node.padding;\n const s = w + h;\n const points = [\n { x: s / 2, y: 0 },\n { x: s, y: -s / 2 },\n { x: s / 2, y: -s },\n { x: 0, y: -s / 2 }\n ];\n\n log.info('Question main (Circle)');\n\n const questionElem = insertPolygonShape(shapeSvg, s, s, points);\n questionElem.attr('style', node.style);\n updateNodeBounds(node, questionElem);\n\n node.intersect = function(point) {\n log.warn('Intersect called');\n return intersect.polygon(node, points, point);\n };\n\n return shapeSvg;\n};\n\nconst hexagon = (parent, node) => {\n const { shapeSvg, bbox } = labelHelper(parent, node, undefined, true);\n\n const f = 4;\n const h = bbox.height + node.padding;\n const m = h / f;\n const w = bbox.width + 2 * m + node.padding;\n const points = [\n { x: m, y: 0 },\n { x: w - m, y: 0 },\n { x: w, y: -h / 2 },\n { x: w - m, y: -h },\n { x: m, y: -h },\n { x: 0, y: -h / 2 }\n ];\n\n const hex = insertPolygonShape(shapeSvg, w, h, points);\n hex.attr('style', node.style);\n updateNodeBounds(node, hex);\n\n node.intersect = function(point) {\n return intersect.polygon(node, points, point);\n };\n\n return shapeSvg;\n};\n\nconst rect_left_inv_arrow = (parent, node) => {\n const { shapeSvg, bbox } = labelHelper(parent, node, undefined, true);\n\n const w = bbox.width + node.padding;\n const h = bbox.height + node.padding;\n const points = [\n { x: -h / 2, y: 0 },\n { x: w, y: 0 },\n { x: w, y: -h },\n { x: -h / 2, y: -h },\n { x: 0, y: -h / 2 }\n ];\n\n const el = insertPolygonShape(shapeSvg, w, h, points);\n el.attr('style', node.style);\n\n node.width = w + h;\n node.height = h;\n\n node.intersect = function(point) {\n return intersect.polygon(node, points, point);\n };\n\n return shapeSvg;\n};\n\nconst lean_right = (parent, node) => {\n const { shapeSvg, bbox } = labelHelper(parent, node, undefined, true);\n\n const w = bbox.width + node.padding;\n const h = bbox.height + node.padding;\n const points = [\n { x: (-2 * h) / 6, y: 0 },\n { x: w - h / 6, y: 0 },\n { x: w + (2 * h) / 6, y: -h },\n { x: h / 6, y: -h }\n ];\n\n const el = insertPolygonShape(shapeSvg, w, h, points);\n el.attr('style', node.style);\n updateNodeBounds(node, el);\n\n node.intersect = function(point) {\n return intersect.polygon(node, points, point);\n };\n\n return shapeSvg;\n};\n\nconst lean_left = (parent, node) => {\n const { shapeSvg, bbox } = labelHelper(parent, node, undefined, true);\n\n const w = bbox.width + node.padding;\n const h = bbox.height + node.padding;\n const points = [\n { x: (2 * h) / 6, y: 0 },\n { x: w + h / 6, y: 0 },\n { x: w - (2 * h) / 6, y: -h },\n { x: -h / 6, y: -h }\n ];\n\n const el = insertPolygonShape(shapeSvg, w, h, points);\n el.attr('style', node.style);\n updateNodeBounds(node, el);\n\n node.intersect = function(point) {\n return intersect.polygon(node, points, point);\n };\n\n return shapeSvg;\n};\n\nconst trapezoid = (parent, node) => {\n const { shapeSvg, bbox } = labelHelper(parent, node, undefined, true);\n\n const w = bbox.width + node.padding;\n const h = bbox.height + node.padding;\n const points = [\n { x: (-2 * h) / 6, y: 0 },\n { x: w + (2 * h) / 6, y: 0 },\n { x: w - h / 6, y: -h },\n { x: h / 6, y: -h }\n ];\n\n const el = insertPolygonShape(shapeSvg, w, h, points);\n el.attr('style', node.style);\n updateNodeBounds(node, el);\n\n node.intersect = function(point) {\n return intersect.polygon(node, points, point);\n };\n\n return shapeSvg;\n};\n\nconst inv_trapezoid = (parent, node) => {\n const { shapeSvg, bbox } = labelHelper(parent, node, undefined, true);\n\n const w = bbox.width + node.padding;\n const h = bbox.height + node.padding;\n const points = [\n { x: h / 6, y: 0 },\n { x: w - h / 6, y: 0 },\n { x: w + (2 * h) / 6, y: -h },\n { x: (-2 * h) / 6, y: -h }\n ];\n\n const el = insertPolygonShape(shapeSvg, w, h, points);\n el.attr('style', node.style);\n updateNodeBounds(node, el);\n\n node.intersect = function(point) {\n return intersect.polygon(node, points, point);\n };\n\n return shapeSvg;\n};\n\nconst rect_right_inv_arrow = (parent, node) => {\n const { shapeSvg, bbox } = labelHelper(parent, node, undefined, true);\n\n const w = bbox.width + node.padding;\n const h = bbox.height + node.padding;\n const points = [\n { x: 0, y: 0 },\n { x: w + h / 2, y: 0 },\n { x: w, y: -h / 2 },\n { x: w + h / 2, y: -h },\n { x: 0, y: -h }\n ];\n\n const el = insertPolygonShape(shapeSvg, w, h, points);\n el.attr('style', node.style);\n updateNodeBounds(node, el);\n\n node.intersect = function(point) {\n return intersect.polygon(node, points, point);\n };\n\n return shapeSvg;\n};\n\nconst cylinder = (parent, node) => {\n const { shapeSvg, bbox } = labelHelper(parent, node, undefined, true);\n\n const w = bbox.width + node.padding;\n const rx = w / 2;\n const ry = rx / (2.5 + w / 50);\n const h = bbox.height + ry + node.padding;\n\n const shape =\n 'M 0,' +\n ry +\n ' a ' +\n rx +\n ',' +\n ry +\n ' 0,0,0 ' +\n w +\n ' 0 a ' +\n rx +\n ',' +\n ry +\n ' 0,0,0 ' +\n -w +\n ' 0 l 0,' +\n h +\n ' a ' +\n rx +\n ',' +\n ry +\n ' 0,0,0 ' +\n w +\n ' 0 l 0,' +\n -h;\n\n const el = shapeSvg\n .attr('label-offset-y', ry)\n .insert('path', ':first-child')\n .attr('style', node.style)\n .attr('d', shape)\n .attr('transform', 'translate(' + -w / 2 + ',' + -(h / 2 + ry) + ')');\n\n updateNodeBounds(node, el);\n\n node.intersect = function(point) {\n const pos = intersect.rect(node, point);\n const x = pos.x - node.x;\n\n if (\n rx != 0 &&\n (Math.abs(x) < node.width / 2 ||\n (Math.abs(x) == node.width / 2 && Math.abs(pos.y - node.y) > node.height / 2 - ry))\n ) {\n // ellipsis equation: x*x / a*a + y*y / b*b = 1\n // solve for y to get adjustion value for pos.y\n let y = ry * ry * (1 - (x * x) / (rx * rx));\n if (y != 0) y = Math.sqrt(y);\n y = ry - y;\n if (point.y - node.y > 0) y = -y;\n\n pos.y += y;\n }\n\n return pos;\n };\n\n return shapeSvg;\n};\n\nconst rect = (parent, node) => {\n const { shapeSvg, bbox, halfPadding } = labelHelper(parent, node, 'node ' + node.classes, true);\n\n log.trace('Classes = ', node.classes);\n // add the rect\n const rect = shapeSvg.insert('rect', ':first-child');\n\n rect\n .attr('class', 'basic label-container')\n .attr('style', node.style)\n .attr('rx', node.rx)\n .attr('ry', node.ry)\n .attr('x', -bbox.width / 2 - halfPadding)\n .attr('y', -bbox.height / 2 - halfPadding)\n .attr('width', bbox.width + node.padding)\n .attr('height', bbox.height + node.padding);\n\n updateNodeBounds(node, rect);\n\n node.intersect = function(point) {\n return intersect.rect(node, point);\n };\n\n return shapeSvg;\n};\n\nconst rectWithTitle = (parent, node) => {\n // const { shapeSvg, bbox, halfPadding } = labelHelper(parent, node, 'node ' + node.classes);\n\n let classes;\n if (!node.classes) {\n classes = 'node default';\n } else {\n classes = 'node ' + node.classes;\n }\n // Add outer g element\n const shapeSvg = parent\n .insert('g')\n .attr('class', classes)\n .attr('id', node.domId || node.id);\n\n // Create the title label and insert it after the rect\n const rect = shapeSvg.insert('rect', ':first-child');\n // const innerRect = shapeSvg.insert('rect');\n const innerLine = shapeSvg.insert('line');\n\n const label = shapeSvg.insert('g').attr('class', 'label');\n\n const text2prim = node.labelText.flat ? node.labelText.flat() : node.labelText;\n const text2 = typeof text2prim === 'object' ? text2prim[0] : text2prim;\n\n log.info('Label text', text2);\n\n const text = label.node().appendChild(createLabel(text2, node.labelStyle, true, true));\n let bbox;\n if (getConfig().flowchart.htmlLabels) {\n const div = text.children[0];\n const dv = select(text);\n bbox = div.getBoundingClientRect();\n dv.attr('width', bbox.width);\n dv.attr('height', bbox.height);\n }\n log.info('Text 2', text2);\n const textRows = text2.slice(1, text2.length);\n let titleBox = text.getBBox();\n const descr = label\n .node()\n .appendChild(\n createLabel(textRows.join ? textRows.join('
') : textRows, node.labelStyle, true, true)\n );\n\n if (getConfig().flowchart.htmlLabels) {\n const div = descr.children[0];\n const dv = select(descr);\n bbox = div.getBoundingClientRect();\n dv.attr('width', bbox.width);\n dv.attr('height', bbox.height);\n }\n // bbox = label.getBBox();\n // log.info(descr);\n const halfPadding = node.padding / 2;\n select(descr).attr(\n 'transform',\n 'translate( ' +\n // (titleBox.width - bbox.width) / 2 +\n (bbox.width > titleBox.width ? 0 : (titleBox.width - bbox.width) / 2) +\n ', ' +\n (titleBox.height + halfPadding + 5) +\n ')'\n );\n select(text).attr(\n 'transform',\n 'translate( ' +\n // (titleBox.width - bbox.width) / 2 +\n (bbox.width < titleBox.width ? 0 : -(titleBox.width - bbox.width) / 2) +\n ', ' +\n 0 +\n ')'\n );\n // Get the size of the label\n\n // Bounding box for title and text\n bbox = label.node().getBBox();\n\n // Center the label\n label.attr(\n 'transform',\n 'translate(' + -bbox.width / 2 + ', ' + (-bbox.height / 2 - halfPadding + 3) + ')'\n );\n\n rect\n .attr('class', 'outer title-state')\n .attr('x', -bbox.width / 2 - halfPadding)\n .attr('y', -bbox.height / 2 - halfPadding)\n .attr('width', bbox.width + node.padding)\n .attr('height', bbox.height + node.padding);\n\n innerLine\n .attr('class', 'divider')\n .attr('x1', -bbox.width / 2 - halfPadding)\n .attr('x2', bbox.width / 2 + halfPadding)\n .attr('y1', -bbox.height / 2 - halfPadding + titleBox.height + halfPadding)\n .attr('y2', -bbox.height / 2 - halfPadding + titleBox.height + halfPadding);\n\n updateNodeBounds(node, rect);\n\n node.intersect = function(point) {\n return intersect.rect(node, point);\n };\n\n return shapeSvg;\n};\n\nconst stadium = (parent, node) => {\n const { shapeSvg, bbox } = labelHelper(parent, node, undefined, true);\n\n const h = bbox.height + node.padding;\n const w = bbox.width + h / 4 + node.padding;\n\n // add the rect\n const rect = shapeSvg\n .insert('rect', ':first-child')\n .attr('style', node.style)\n .attr('rx', h / 2)\n .attr('ry', h / 2)\n .attr('x', -w / 2)\n .attr('y', -h / 2)\n .attr('width', w)\n .attr('height', h);\n\n updateNodeBounds(node, rect);\n\n node.intersect = function(point) {\n return intersect.rect(node, point);\n };\n\n return shapeSvg;\n};\n\nconst circle = (parent, node) => {\n const { shapeSvg, bbox, halfPadding } = labelHelper(parent, node, undefined, true);\n const circle = shapeSvg.insert('circle', ':first-child');\n\n // center the circle around its coordinate\n circle\n .attr('style', node.style)\n .attr('rx', node.rx)\n .attr('ry', node.ry)\n .attr('r', bbox.width / 2 + halfPadding)\n .attr('width', bbox.width + node.padding)\n .attr('height', bbox.height + node.padding);\n\n log.info('Circle main');\n\n updateNodeBounds(node, circle);\n\n node.intersect = function(point) {\n log.info('Circle intersect', node, bbox.width / 2 + halfPadding, point);\n return intersect.circle(node, bbox.width / 2 + halfPadding, point);\n };\n\n return shapeSvg;\n};\n\nconst subroutine = (parent, node) => {\n const { shapeSvg, bbox } = labelHelper(parent, node, undefined, true);\n\n const w = bbox.width + node.padding;\n const h = bbox.height + node.padding;\n const points = [\n { x: 0, y: 0 },\n { x: w, y: 0 },\n { x: w, y: -h },\n { x: 0, y: -h },\n { x: 0, y: 0 },\n { x: -8, y: 0 },\n { x: w + 8, y: 0 },\n { x: w + 8, y: -h },\n { x: -8, y: -h },\n { x: -8, y: 0 }\n ];\n\n const el = insertPolygonShape(shapeSvg, w, h, points);\n el.attr('style', node.style);\n updateNodeBounds(node, el);\n\n node.intersect = function(point) {\n return intersect.polygon(node, points, point);\n };\n\n return shapeSvg;\n};\n\nconst start = (parent, node) => {\n const shapeSvg = parent\n .insert('g')\n .attr('class', 'node default')\n .attr('id', node.domId || node.id);\n const circle = shapeSvg.insert('circle', ':first-child');\n\n // center the circle around its coordinate\n circle\n .attr('class', 'state-start')\n .attr('r', 7)\n .attr('width', 14)\n .attr('height', 14);\n\n updateNodeBounds(node, circle);\n\n node.intersect = function(point) {\n return intersect.circle(node, 7, point);\n };\n\n return shapeSvg;\n};\n\nconst forkJoin = (parent, node, dir) => {\n const shapeSvg = parent\n .insert('g')\n .attr('class', 'node default')\n .attr('id', node.domId || node.id);\n\n let width = 70;\n let height = 10;\n\n if (dir === 'LR') {\n width = 10;\n height = 70;\n }\n\n const shape = shapeSvg\n .append('rect')\n .style('stroke', 'black')\n .style('fill', 'black')\n .attr('x', (-1 * width) / 2)\n .attr('y', (-1 * height) / 2)\n .attr('width', width)\n .attr('height', height)\n .attr('class', 'fork-join');\n\n updateNodeBounds(node, shape);\n node.height = node.height + node.padding / 2;\n node.width = node.width + node.padding / 2;\n node.intersect = function(point) {\n return intersect.rect(node, point);\n };\n\n return shapeSvg;\n};\n\nconst end = (parent, node) => {\n const shapeSvg = parent\n .insert('g')\n .attr('class', 'node default')\n .attr('id', node.domId || node.id);\n const innerCircle = shapeSvg.insert('circle', ':first-child');\n const circle = shapeSvg.insert('circle', ':first-child');\n\n circle\n .attr('class', 'state-start')\n .attr('r', 7)\n .attr('width', 14)\n .attr('height', 14);\n\n innerCircle\n .attr('class', 'state-end')\n .attr('r', 5)\n .attr('width', 10)\n .attr('height', 10);\n\n updateNodeBounds(node, circle);\n\n node.intersect = function(point) {\n return intersect.circle(node, 7, point);\n };\n\n return shapeSvg;\n};\n\nconst class_box = (parent, node) => {\n const halfPadding = node.padding / 2;\n const rowPadding = 4;\n const lineHeight = 8;\n\n let classes;\n if (!node.classes) {\n classes = 'node default';\n } else {\n classes = 'node ' + node.classes;\n }\n // Add outer g element\n const shapeSvg = parent\n .insert('g')\n .attr('class', classes)\n .attr('id', node.domId || node.id);\n\n // Create the title label and insert it after the rect\n const rect = shapeSvg.insert('rect', ':first-child');\n const topLine = shapeSvg.insert('line');\n const bottomLine = shapeSvg.insert('line');\n let maxWidth = 0;\n let maxHeight = rowPadding;\n\n const labelContainer = shapeSvg.insert('g').attr('class', 'label');\n let verticalPos = 0;\n const hasInterface = node.classData.annotations && node.classData.annotations[0];\n\n // 1. Create the labels\n const interfaceLabelText = node.classData.annotations[0]\n ? '«' + node.classData.annotations[0] + '»'\n : '';\n const interfaceLabel = labelContainer\n .node()\n .appendChild(createLabel(interfaceLabelText, node.labelStyle, true, true));\n let interfaceBBox = interfaceLabel.getBBox();\n if (getConfig().flowchart.htmlLabels) {\n const div = interfaceLabel.children[0];\n const dv = select(interfaceLabel);\n interfaceBBox = div.getBoundingClientRect();\n dv.attr('width', interfaceBBox.width);\n dv.attr('height', interfaceBBox.height);\n }\n if (node.classData.annotations[0]) {\n maxHeight += interfaceBBox.height + rowPadding;\n maxWidth += interfaceBBox.width;\n }\n\n let classTitleString = node.classData.id;\n\n if (node.classData.type !== undefined && node.classData.type !== '') {\n classTitleString += '<' + node.classData.type + '>';\n }\n const classTitleLabel = labelContainer\n .node()\n .appendChild(createLabel(classTitleString, node.labelStyle, true, true));\n select(classTitleLabel).attr('class', 'classTitle');\n let classTitleBBox = classTitleLabel.getBBox();\n if (getConfig().flowchart.htmlLabels) {\n const div = classTitleLabel.children[0];\n const dv = select(classTitleLabel);\n classTitleBBox = div.getBoundingClientRect();\n dv.attr('width', classTitleBBox.width);\n dv.attr('height', classTitleBBox.height);\n }\n maxHeight += classTitleBBox.height + rowPadding;\n if (classTitleBBox.width > maxWidth) {\n maxWidth = classTitleBBox.width;\n }\n const classAttributes = [];\n node.classData.members.forEach(str => {\n const parsedText = parseMember(str).displayText;\n const lbl = labelContainer\n .node()\n .appendChild(createLabel(parsedText, node.labelStyle, true, true));\n let bbox = lbl.getBBox();\n if (getConfig().flowchart.htmlLabels) {\n const div = lbl.children[0];\n const dv = select(lbl);\n bbox = div.getBoundingClientRect();\n dv.attr('width', bbox.width);\n dv.attr('height', bbox.height);\n }\n if (bbox.width > maxWidth) {\n maxWidth = bbox.width;\n }\n maxHeight += bbox.height + rowPadding;\n classAttributes.push(lbl);\n });\n\n maxHeight += lineHeight;\n\n const classMethods = [];\n node.classData.methods.forEach(str => {\n const parsedText = parseMember(str).displayText;\n const lbl = labelContainer\n .node()\n .appendChild(createLabel(parsedText, node.labelStyle, true, true));\n let bbox = lbl.getBBox();\n if (getConfig().flowchart.htmlLabels) {\n const div = lbl.children[0];\n const dv = select(lbl);\n bbox = div.getBoundingClientRect();\n dv.attr('width', bbox.width);\n dv.attr('height', bbox.height);\n }\n if (bbox.width > maxWidth) {\n maxWidth = bbox.width;\n }\n maxHeight += bbox.height + rowPadding;\n\n classMethods.push(lbl);\n });\n\n maxHeight += lineHeight;\n\n // 2. Position the labels\n\n // position the interface label\n if (hasInterface) {\n let diffX = (maxWidth - interfaceBBox.width) / 2;\n select(interfaceLabel).attr(\n 'transform',\n 'translate( ' + ((-1 * maxWidth) / 2 + diffX) + ', ' + (-1 * maxHeight) / 2 + ')'\n );\n verticalPos = interfaceBBox.height + rowPadding;\n }\n // Positin the class title label\n let diffX = (maxWidth - classTitleBBox.width) / 2;\n select(classTitleLabel).attr(\n 'transform',\n 'translate( ' +\n ((-1 * maxWidth) / 2 + diffX) +\n ', ' +\n ((-1 * maxHeight) / 2 + verticalPos) +\n ')'\n );\n verticalPos += classTitleBBox.height + rowPadding;\n\n topLine\n .attr('class', 'divider')\n .attr('x1', -maxWidth / 2 - halfPadding)\n .attr('x2', maxWidth / 2 + halfPadding)\n .attr('y1', -maxHeight / 2 - halfPadding + lineHeight + verticalPos)\n .attr('y2', -maxHeight / 2 - halfPadding + lineHeight + verticalPos);\n\n verticalPos += lineHeight;\n\n classAttributes.forEach(lbl => {\n select(lbl).attr(\n 'transform',\n 'translate( ' +\n -maxWidth / 2 +\n ', ' +\n ((-1 * maxHeight) / 2 + verticalPos + lineHeight / 2) +\n ')'\n );\n verticalPos += classTitleBBox.height + rowPadding;\n });\n\n verticalPos += lineHeight;\n bottomLine\n .attr('class', 'divider')\n .attr('x1', -maxWidth / 2 - halfPadding)\n .attr('x2', maxWidth / 2 + halfPadding)\n .attr('y1', -maxHeight / 2 - halfPadding + lineHeight + verticalPos)\n .attr('y2', -maxHeight / 2 - halfPadding + lineHeight + verticalPos);\n\n verticalPos += lineHeight;\n\n classMethods.forEach(lbl => {\n select(lbl).attr(\n 'transform',\n 'translate( ' + -maxWidth / 2 + ', ' + ((-1 * maxHeight) / 2 + verticalPos) + ')'\n );\n verticalPos += classTitleBBox.height + rowPadding;\n });\n //\n // let bbox;\n // if (getConfig().flowchart.htmlLabels) {\n // const div = interfaceLabel.children[0];\n // const dv = select(interfaceLabel);\n // bbox = div.getBoundingClientRect();\n // dv.attr('width', bbox.width);\n // dv.attr('height', bbox.height);\n // }\n // bbox = labelContainer.getBBox();\n\n // log.info('Text 2', text2);\n // const textRows = text2.slice(1, text2.length);\n // let titleBox = text.getBBox();\n // const descr = label\n // .node()\n // .appendChild(createLabel(textRows.join('
'), node.labelStyle, true, true));\n\n // if (getConfig().flowchart.htmlLabels) {\n // const div = descr.children[0];\n // const dv = select(descr);\n // bbox = div.getBoundingClientRect();\n // dv.attr('width', bbox.width);\n // dv.attr('height', bbox.height);\n // }\n // // bbox = label.getBBox();\n // // log.info(descr);\n // select(descr).attr(\n // 'transform',\n // 'translate( ' +\n // // (titleBox.width - bbox.width) / 2 +\n // (bbox.width > titleBox.width ? 0 : (titleBox.width - bbox.width) / 2) +\n // ', ' +\n // (titleBox.height + halfPadding + 5) +\n // ')'\n // );\n // select(text).attr(\n // 'transform',\n // 'translate( ' +\n // // (titleBox.width - bbox.width) / 2 +\n // (bbox.width < titleBox.width ? 0 : -(titleBox.width - bbox.width) / 2) +\n // ', ' +\n // 0 +\n // ')'\n // );\n // // Get the size of the label\n\n // // Bounding box for title and text\n // bbox = label.node().getBBox();\n\n // // Center the label\n // label.attr(\n // 'transform',\n // 'translate(' + -bbox.width / 2 + ', ' + (-bbox.height / 2 - halfPadding + 3) + ')'\n // );\n\n rect\n .attr('class', 'outer title-state')\n .attr('x', -maxWidth / 2 - halfPadding)\n .attr('y', -(maxHeight / 2) - halfPadding)\n .attr('width', maxWidth + node.padding)\n .attr('height', maxHeight + node.padding);\n\n // innerLine\n // .attr('class', 'divider')\n // .attr('x1', -bbox.width / 2 - halfPadding)\n // .attr('x2', bbox.width / 2 + halfPadding)\n // .attr('y1', -bbox.height / 2 - halfPadding + titleBox.height + halfPadding)\n // .attr('y2', -bbox.height / 2 - halfPadding + titleBox.height + halfPadding);\n\n updateNodeBounds(node, rect);\n\n node.intersect = function(point) {\n return intersect.rect(node, point);\n };\n\n return shapeSvg;\n};\n\nconst shapes = {\n question,\n rect,\n rectWithTitle,\n circle,\n stadium,\n hexagon,\n rect_left_inv_arrow,\n lean_right,\n lean_left,\n trapezoid,\n inv_trapezoid,\n rect_right_inv_arrow,\n cylinder,\n start,\n end,\n note,\n subroutine,\n fork: forkJoin,\n join: forkJoin,\n class_box\n};\n\nlet nodeElems = {};\n\nexport const insertNode = (elem, node, dir) => {\n let newEl;\n let el;\n\n // Add link when appropriate\n if (node.link) {\n newEl = elem\n .insert('svg:a')\n .attr('xlink:href', node.link)\n .attr('target', node.linkTarget || '_blank');\n el = shapes[node.shape](newEl, node, dir);\n } else {\n el = shapes[node.shape](elem, node, dir);\n newEl = el;\n }\n if (node.tooltip) {\n el.attr('title', node.tooltip);\n }\n if (node.class) {\n el.attr('class', 'node default ' + node.class);\n }\n\n nodeElems[node.id] = newEl;\n\n if (node.haveCallback) {\n nodeElems[node.id].attr('class', nodeElems[node.id].attr('class') + ' clickable');\n }\n};\nexport const setNodeElem = (elem, node) => {\n nodeElems[node.id] = elem;\n};\nexport const clear = () => {\n nodeElems = {};\n};\n\nexport const positionNode = node => {\n const el = nodeElems[node.id];\n log.trace(\n 'Transforming node',\n node,\n 'translate(' + (node.x - node.width / 2 - 5) + ', ' + (node.y - node.height / 2 - 5) + ')'\n );\n const padding = 8;\n if (node.clusterNode) {\n el.attr(\n 'transform',\n 'translate(' +\n (node.x - node.width / 2 - padding) +\n ', ' +\n (node.y - node.height / 2 - padding) +\n ')'\n );\n } else {\n el.attr('transform', 'translate(' + node.x + ', ' + node.y + ')');\n }\n};\n","import { updateNodeBounds, labelHelper } from './util';\nimport { log } from '../../logger'; // eslint-disable-line\nimport intersect from '../intersect/index.js';\n\nconst note = (parent, node) => {\n const { shapeSvg, bbox, halfPadding } = labelHelper(parent, node, 'node ' + node.classes, true);\n\n log.info('Classes = ', node.classes);\n // add the rect\n const rect = shapeSvg.insert('rect', ':first-child');\n\n rect\n .attr('rx', node.rx)\n .attr('ry', node.ry)\n .attr('x', -bbox.width / 2 - halfPadding)\n .attr('y', -bbox.height / 2 - halfPadding)\n .attr('width', bbox.width + node.padding)\n .attr('height', bbox.height + node.padding);\n\n updateNodeBounds(node, rect);\n\n node.intersect = function(point) {\n return intersect.rect(node, point);\n };\n\n return shapeSvg;\n};\n\nexport default note;\n","import createLabel from '../createLabel';\nimport { getConfig } from '../../config';\nimport { select } from 'd3';\nexport const labelHelper = (parent, node, _classes, isNode) => {\n let classes;\n if (!_classes) {\n classes = 'node default';\n } else {\n classes = _classes;\n }\n // Add outer g element\n const shapeSvg = parent\n .insert('g')\n .attr('class', classes)\n .attr('id', node.domId || node.id);\n\n // Create the label and insert it after the rect\n const label = shapeSvg\n .insert('g')\n .attr('class', 'label')\n .attr('style', node.labelStyle);\n\n const text = label\n .node()\n .appendChild(createLabel(node.labelText, node.labelStyle, false, isNode));\n\n // Get the size of the label\n let bbox = text.getBBox();\n\n if (getConfig().flowchart.htmlLabels) {\n const div = text.children[0];\n const dv = select(text);\n bbox = div.getBoundingClientRect();\n dv.attr('width', bbox.width);\n dv.attr('height', bbox.height);\n }\n\n const halfPadding = node.padding / 2;\n\n // Center the label\n label.attr('transform', 'translate(' + -bbox.width / 2 + ', ' + -bbox.height / 2 + ')');\n\n return { shapeSvg, bbox, halfPadding, label };\n};\n\nexport const updateNodeBounds = (node, element) => {\n const bbox = element.node().getBBox();\n node.width = bbox.width;\n node.height = bbox.height;\n};\n\nexport function insertPolygonShape(parent, w, h, points) {\n return parent\n .insert('polygon', ':first-child')\n .attr(\n 'points',\n points\n .map(function(d) {\n return d.x + ',' + d.y;\n })\n .join(' ')\n )\n .attr('class', 'label-container')\n .attr('transform', 'translate(' + -w / 2 + ',' + h / 2 + ')');\n}\n","import theme from './themes';\n/**\n * **Configuration methods in Mermaid version 8.6.0 have been updated, to learn more[[click here](8.6.0_docs.md)].**\n *\n * ## **What follows are config instructions for older versions**\n *\n * These are the default options which can be overridden with the initialization call like so:\n *\n * **Example 1:**\n *
\n * mermaid.initialize({\n * flowchart:{\n * htmlLabels: false\n * }\n * });\n *\n *\n * **Example 2:**\n *
\n * <script>\n * var config = {\n * startOnLoad:true,\n * flowchart:{\n * useMaxWidth:true,\n * htmlLabels:true,\n * curve:'cardinal',\n * },\n *\n * securityLevel:'loose',\n * };\n * mermaid.initialize(config);\n * </script>\n *\n * A summary of all options and their defaults is found [here](#mermaidapi-configuration-defaults). A description of each option follows below.\n *\n * @name Configuration\n */\nconst config = {\n /**\n * theme , the CSS style sheet\n *\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | theme | Built in Themes | string | Optional | 'default', 'forest', 'dark', 'neutral', 'null'|\n *\n * **Notes:** To disable any pre-defined mermaid theme, use \"null\".\n *\n *
\n * \"theme\": \"forest\",\n * \"themeCSS\": \".node rect { fill: red; }\"\n *\n */\n theme: 'default',\n themeVariables: theme['default'].getThemeVariables(),\n themeCSS: undefined,\n /* **maxTextSize** - The maximum allowed size of the users text diamgram */\n maxTextSize: 50000,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | fontFamily | specifies the font to be used in the rendered diagrams| string | Required | Any Posiable CSS FontFamily |\n *\n * **Notes:**\n * Default value: '\"trebuchet ms\", verdana, arial, sans-serif;'.\n */\n fontFamily: '\"trebuchet ms\", verdana, arial, sans-serif;',\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | logLevel |This option decides the amount of logging to be used.| string \\| number | Required | 1, 2, 3, 4, 5 |\n *\n *\n * **Notes:**\n *\n * - debug: 1\n * - info: 2\n * - warn: 3\n * - error: 4\n * - fatal: 5 (default)\n */\n logLevel: 5,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | securitylevel | Level of trust for parsed diagram|string | Required | 'strict', 'loose', 'antiscript' |\n *\n * **Notes**:\n *\n * - **strict**: (**default**) tags in text are encoded, click functionality is disabeled\n * - **loose**: tags in text are allowed, click functionality is enabled\n * - **antiscript**: html tags in text are allowed, (only script element is removed), click functionality is enabled\n */\n securityLevel: 'strict',\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | startOnLoad | Dictates whether mermaind starts on Page load | boolean | Required | true, false |\n *\n * **Notes:** Default value: true\n */\n startOnLoad: true,\n\n /**\n * | Parameter | Description |Type | Required |Values|\n * | --- | --- | --- | --- | --- |\n * | arrowMarkerAbsolute | Controls whether or arrow markers in html code are absolute paths or anchors | boolean | Required | true, false |\n *\n *\n * **Notes**:\n *\n * This matters if you are using base tag settings.\n *\n * Default value: false\n */\n arrowMarkerAbsolute: false,\n\n /**\n * This option controls which currentConfig keys are considered _secure_ and can only be changed via\n * call to mermaidAPI.initialize. Calls to mermaidAPI.reinitialize cannot make changes to\n * the `secure` keys in the current currentConfig. This prevents malicious graph directives from\n * overriding a site's default security.\n\n * **Notes**:\n *\n * Default value: ['secure', 'securityLevel', 'startOnLoad', 'maxTextSize']\n */\n secure: ['secure', 'securityLevel', 'startOnLoad', 'maxTextSize'],\n\n /**\n * This option controls if the generated ids of nodes in the SVG are generated randomly or based on a seed.\n * If set to false, the IDs are generated based on the current date and thus are not deterministic. This is the default behaviour.\n *\n * **Notes**:\n *\n * This matters if your files are checked into sourcecontrol e.g. git and should not change unless content is changed.\n *\n * Default value: false\n */\n deterministicIds: false,\n\n /**\n * This option is the optional seed for deterministic ids. if set to undefined but deterministicIds is true, a simple number iterator is used.\n * You can set this attribute to base the seed on a static string.\n */\n deterministicIDSeed: undefined,\n\n /**\n * The object containing configurations specific for flowcharts\n */\n flowchart: {\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | diagramPadding | Amount of padding around the diagram as a whole | Integer | Required | Any Positive Value |\n *\n * **Notes:**\n *\n * The amount of padding around the diagram as a whole so that embedded diagrams have margins, expressed in pixels\n *\n * Default value: 8\n */\n diagramPadding: 8,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | htmlLabels | Flag for setting whether or not a html tag should be used for rendering labels on the edges. | boolean| Required | true, false |\n *\n * **Notes:** Default value: true.\n */\n htmlLabels: true,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | nodeSpacing | Defines the spacing between nodes on the same level | Integer | Required | Any positive Number |\n *\n * **Notes:**\n *\n * Pertains to horizontal spacing for TB (top to bottom) or BT (bottom to top) graphs, and the vertical spacing for LR as well as RL graphs.**\n *\n * Default value: 50\n */\n nodeSpacing: 50,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | rankSpacing | Defines the spacing between nodes on different levels | Integer | Required | Any Positive Number |\n *\n * **Notes**:\n *\n * pertains to vertical spacing for TB (top to bottom) or BT (bottom to top), and the horizontal spacing for LR as well as RL graphs.\n *\n * Default value 50\n */\n rankSpacing: 50,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | curve | Defines how mermaid renders curves for flowcharts. | string | Required | 'basis', 'linear', 'cardinal'|\n *\n * **Notes:**\n *\n * Default Vaue: 'basis'\n */\n curve: 'basis',\n // Only used in new experimental rendering\n // represents the padding between the labels and the shape\n padding: 15,\n\n /**\n * | Parameter | Description | Type | Required | Values|\n * | --- | --- | --- | --- | --- |\n * | useMaxWidth | See notes | boolean | 4 | true, false |\n *\n * **Notes:**\n *\n * When this flag is set the height and width is set to 100% and is then scaling with the\n * available space if not the absolute space required is used.\n *\n * Default value: true\n */\n useMaxWidth: true,\n\n /**\n * | Parameter | Description | Type | Required | Values|\n * | --- | --- | --- | --- | --- |\n * | defaultRenderer | See notes | boolean | 4 | dagre-d3, dagre-wrapper |\n *\n * **Notes:**\n *\n * Decides which rendering engine that is to be used for the rendering. Legal values are:\n * * dagre-d3\n * * dagre-wrapper - wrapper for dagre implemented in mermaid\n *\n * Default value: 'dagre-d3'\n */\n defaultRenderer: 'dagre-d3'\n },\n\n /**\n * The object containing configurations specific for sequence diagrams\n */\n sequence: {\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | activationWidth | Width of the activation rect | Integer | Required | Any Positive Value |\n *\n *\n * **Notes:** Default value :10\n */\n activationWidth: 10,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | diagramMarginX | Margin to the right and left of the sequence diagram | Integer | Required | Any Positive Value |\n *\n * **Notes:** Default value: 50\n */\n diagramMarginX: 50,\n\n /**\n *| Parameter | Description | Type | Required | Values |\n *| --- | --- | --- | --- | --- |\n *| diagramMarginY | Margin to the over and under the sequence diagram | Integer | Required | Any Positive Value |\n *\n * **Notes:** Default value: 10\n */\n diagramMarginY: 10,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | actorMargin | Margin between actors | Integer | Required | Any Positive Value |\n *\n * **Notes:**\n * Default value: 50\n */\n actorMargin: 50,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | width | Width of actor boxes | Integer | Required | Any Positive Value |\n *\n * **Notes:**\n * Default value: 150\n */\n width: 150,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | height | Height of actor boxes | Integer | Required | Any Positive Value|\n *\n * **Notes:**\n * Default value: 65\n */\n height: 65,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | boxMargin | Margin around loop boxes | Integer | Required | Any Positive Value |\n *\n * **Notes:**\n * Default value: 10\n */\n boxMargin: 10,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | boxTextMargin | Margin around the text in loop/alt/opt boxes | Integer | Required | Any Positive Value |\n *\n * **Notes:**\n * Default value: 5\n */\n boxTextMargin: 5,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | noteMargin | margin around notes | Integer | Required | Any Positive Value |\n *\n * **Notes:**\n * Default value: 10\n */\n noteMargin: 10,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | messageMargin | Space between messages | Integer | Required | Any Positive Value |\n *\n * **Notes:**\n * Default value: 35\n */\n messageMargin: 35,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | messageAlign | Multiline message alignment | string | Required | 'left', 'center', 'right' |\n *\n * **Notes:**\n * Default value: 'center'\n */\n messageAlign: 'center',\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | mirrorActors | Mirror actors under diagram | boolean | Required | true, false |\n *\n * **Notes:**\n * Default value: true\n */\n mirrorActors: true,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | bottomMarginAdj | Prolongs the edge of the diagram downwards | Integer | Required | Any Positive Value |\n *\n * **Notes:**\n *\n * Depending on css styling this might need adjustment.\n *\n * Default value: 1\n */\n bottomMarginAdj: 1,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | useMaxWidth | See Notes | boolean | Required | true, false |\n *\n * **Notes:**\n * When this flag is set to true, the height and width is set to 100% and is then scaling with the\n * available space. If set to false, the absolute space required is used.\n *\n * Default value: true\n */\n useMaxWidth: true,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | rightAngles | display curve arrows as right angles | boolean | Required | true, false |\n *\n * **Notes:**\n *\n * This will display arrows that start and begin at the same node as right angles, rather than a curve\n *\n * Default value: false\n */\n rightAngles: false,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | showSequenceNumbers | This will show the node numbers | boolean | Required | true, false |\n *\n * **Notes:**\n * Default value: false\n */\n showSequenceNumbers: false,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | actorFontSize| This sets the font size of the actor's description | Integer | Require | Any Positive Value |\n *\n ***Notes:**\n ***Default value 14**..\n */\n actorFontSize: 14,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | actorFontFamily |This sets the font family of the actor's description | string | Required | Any Posiable CSS FontFamily |\n *\n * **Notes:**\n * Default value: \"'Open-Sans\", \"sans-serif\"'\n */\n actorFontFamily: '\"Open-Sans\", \"sans-serif\"',\n\n /**\n * This sets the font weight of the actor's description\n *\n * **Notes:**\n * Default value: 400.\n */\n actorFontWeight: 400,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | noteFontSize | This sets the font size of actor-attached notes | Integer | Required | Any Positive Value |\n *\n * **Notes:**\n * Default value: 14\n */\n noteFontSize: 14,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | noteFontFamily| This sets the font family of actor-attached notes. | string | Required | Any Posiable CSS FontFamily |\n *\n * **Notes:**\n * Default value: ''\"trebuchet ms\", verdana, arial, sans-serif'\n */\n noteFontFamily: '\"trebuchet ms\", verdana, arial, sans-serif',\n\n /**\n * This sets the font weight of the note's description\n *\n * **Notes:**\n * Default value: 400\n */\n noteFontWeight: 400,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | noteAlign | This sets the text alignment of actor-attached notes | string | required | 'left', 'center', 'right'|\n *\n * **Notes:**\n * Default value: 'center'\n */\n noteAlign: 'center',\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | messageFontSize | This sets the font size of actor messages | Integer | Required | Any Positive Number |\n *\n * **Notes:**\n * Default value: 16\n */\n messageFontSize: 16,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | messageFontFamily | This sets the font family of actor messages | string | Required | Any Posiable CSS FontFamily |\n *\n * **Notes:**\n * Default value: '\"trebuchet ms\", verdana, arial, sans-serif'\n */\n messageFontFamily: '\"trebuchet ms\", verdana, arial, sans-serif',\n\n /**\n * This sets the font weight of the message's description\n *\n * **Notes:**\n * Default value: 400.\n */\n messageFontWeight: 400,\n\n /**\n * This sets the auto-wrap state for the diagram\n *\n * **Notes:**\n * Default value: false.\n */\n wrap: false,\n\n /**\n * This sets the auto-wrap padding for the diagram (sides only)\n *\n * **Notes:**\n * Default value: 0.\n */\n wrapPadding: 10,\n\n /**\n * This sets the width of the loop-box (loop, alt, opt, par)\n *\n * **Notes:**\n * Default value: 50.\n */\n labelBoxWidth: 50,\n\n /**\n * This sets the height of the loop-box (loop, alt, opt, par)\n *\n * **Notes:**\n * Default value: 20.\n */\n labelBoxHeight: 20,\n\n messageFont: function() {\n return {\n fontFamily: this.messageFontFamily,\n fontSize: this.messageFontSize,\n fontWeight: this.messageFontWeight\n };\n },\n noteFont: function() {\n return {\n fontFamily: this.noteFontFamily,\n fontSize: this.noteFontSize,\n fontWeight: this.noteFontWeight\n };\n },\n actorFont: function() {\n return {\n fontFamily: this.actorFontFamily,\n fontSize: this.actorFontSize,\n fontWeight: this.actorFontWeight\n };\n }\n },\n\n /**\n * The object containing configurations specific for gantt diagrams\n */\n gantt: {\n /**\n * ### titleTopMargin\n *\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | titleTopMargin | Margin top for the text over the gantt diagram | Integer | Required | Any Positive Value |\n *\n * **Notes:**\n * Default value: 25\n */\n titleTopMargin: 25,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | barHeight | The height of the bars in the graph | Integer | Required | Any Positive Value |\n *\n * **Notes:**\n * Default value: 20\n */\n barHeight: 20,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | barGap | The margin between the different activities in the gantt diagram | Integer | Optional | Any Positive Value |\n *\n * **Notes:**\n * Default value: 4\n */\n barGap: 4,\n\n /**\n * | Parameter | Description | Type | Required | Values|\n * | --- | --- | --- | --- | --- |\n * | topPadding | Margin between title and gantt diagram and between axis and gantt diagram. | Integer | Required | Any Positive Value |\n *\n * **Notes:**\n * Default value: 50\n */\n topPadding: 50,\n\n /**\n * | Parameter | Description | Type | Required | Values|\n * | --- | --- | --- | --- | --- |\n * | rightPadding | The space allocated for the section name to the right of the activities | Integer | Required | Any Positive Value |\n *\n * **Notes:**\n * Default value: 75\n */\n rightPadding: 75,\n\n /**\n * | Parameter | Description | Type | Required | Values|\n * | --- | --- | --- | --- | --- |\n * | leftPadding | The space allocated for the section name to the left of the activities | Integer | Required | Any Positive Value |\n *\n * **Notes:**\n * Default value: 75\n */\n leftPadding: 75,\n\n /**\n * | Parameter | Description | Type | Required | Values|\n * | --- | --- | --- | --- | --- |\n * | gridLineStartPadding | Vertical starting position of the grid lines | Integer | Required | Any Positive Value |\n *\n * **Notes:**\n * Default value: 35\n */\n gridLineStartPadding: 35,\n\n /**\n * | Parameter | Description | Type | Required | Values|\n * | --- | --- | --- | --- | --- |\n * | fontSize | Font size | Integer | Required | Any Positive Value |\n *\n * **Notes:**\n * Default value: 11\n */\n fontSize: 11,\n\n /**\n * | Parameter | Description | Type | Required | Values|\n * | --- | --- | --- | --- | --- |\n * | sectionFontSize | Font size for secions| Integer | Required | Any Positive Value |\n *\n * **Notes:**\n * Default value: 11\n */\n sectionFontSize: 11,\n\n /**\n * | Parameter | Description | Type | Required | Values|\n * | --- | --- | --- | --- | --- |\n * | numberSectionStyles | The number of alternating section styles | Integer | 4 | Any Positive Value |\n *\n * **Notes:**\n * Default value: 4\n */\n numberSectionStyles: 4,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | axisFormat | Datetime format of the axis | 3 | Required | Date in yy-mm-dd |\n *\n * **Notes:**\n *\n * This might need adjustment to match your locale and preferences\n *\n * Default value: '%Y-%m-%d'.\n */\n axisFormat: '%Y-%m-%d',\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | useMaxWidth | See notes | boolean | 4 | true, false |\n *\n * **Notes:**\n *\n * When this flag is set the height and width is set to 100% and is then scaling with the\n * available space if not the absolute space required is used.\n *\n * Default value: true\n */\n useMaxWidth: true,\n\n /**\n *| Parameter | Description |Type | Required | Values|\n *| --- | --- | --- | --- | --- |\n *| topAxis | See notes | Boolean | 4 | True, False |\n *\n ***Notes:** when this flag is set date labels will be added to the\ntop of the chart\n *\n ***Default value false**.\n */\n topAxis: false,\n\n useWidth: undefined\n },\n\n /**\n * The object containing configurations specific for journey diagrams\n */\n journey: {\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | diagramMarginX | Margin to the right and left of the sequence diagram | Integer | Required | Any Positive Value |\n *\n * **Notes:**\n * Default value: 50\n */\n diagramMarginX: 50,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | diagramMarginY | Margin to the over and under the sequence diagram. | Integer | Required | Any Positive Value |\n *\n * **Notes:**\n * Default value: 10\n */\n diagramMarginY: 10,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | actorMargin | Margin between actors | Integer | Required | Any Positive Value |\n *\n * **Notes:**\n * Default value: 50\n */\n leftMargin: 150,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | width | Width of actor boxes | Integer | Required | Any Positive Value |\n *\n * **Notes:**\n * Default value: 150\n */\n width: 150,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | height | Height of actor boxes | Integer | Required | Any Positive Value |\n *\n * **Notes:**\n * Default value: 65\n */\n height: 50,\n\n /**\n *| Parameter | Description |Type | Required | Values|\n *| --- | --- | --- | --- | --- |\n *| boxMargin | Margin around loop boxes | Integer | Required | Any Positive Value |\n *\n * **Notes:**\n * Default value: 10\n */\n boxMargin: 10,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | boxTextMargin | Margin around the text in loop/alt/opt boxes | Integer | Required | Any Positive Value |\n *\n * **Notes:**\n * Default value: 5\n */\n boxTextMargin: 5,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | noteMargin | Margin around notes | Integer | Required | Any Positive Value |\n *\n * **Notes:**\n * Default value: 10\n */\n noteMargin: 10,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | messageMargin |Space between messages. | Integer | Required | Any Positive Value |\n *\n * **Notes:**\n *\n * Space between messages.\n *\n * Default value: 35\n */\n messageMargin: 35,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | messageAlign | Multiline message alignment | 3 | 4 | 'left', 'center', 'right' |\n *\n * **Notes:**\n * Default value: 'center'\n */\n messageAlign: 'center',\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | bottomMarginAdj | Prolongs the edge of the diagram downwards | Integer | 4 | Any Positive Value |\n *\n * **Notes:**\n *\n * Depending on css styling this might need adjustment.\n *\n * Default value: 1\n */\n bottomMarginAdj: 1,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | useMaxWidth | See notes | boolean | 4 | true, false |\n *\n * **Notes:**\n *\n * When this flag is set the height and width is set to 100% and is then scaling with the\n * available space if not the absolute space required is used.\n *\n * Default value: true\n */\n useMaxWidth: true,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | rightAngles | Curved Arrows become Right Angles | 3 | 4 | true, false |\n *\n * **Notes:**\n *\n * This will display arrows that start and begin at the same node as right angles, rather than a curves\n *\n * Default value: false\n */\n rightAngles: false,\n taskFontSize: 14,\n taskFontFamily: '\"Open-Sans\", \"sans-serif\"',\n taskMargin: 50,\n // width of activation box\n activationWidth: 10,\n\n // text placement as: tspan | fo | old only text as before\n textPlacement: 'fo',\n actorColours: ['#8FBC8F', '#7CFC00', '#00FFFF', '#20B2AA', '#B0E0E6', '#FFFFE0'],\n\n sectionFills: ['#191970', '#8B008B', '#4B0082', '#2F4F4F', '#800000', '#8B4513', '#00008B'],\n sectionColours: ['#fff']\n },\n class: {\n arrowMarkerAbsolute: false,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | useMaxWidth | See notes | boolean | 4 | true, false |\n *\n * **Notes:**\n *\n * When this flag is set the height and width is set to 100% and is then scaling with the\n * available space if not the absolute space required is used.\n *\n * Default value: true\n */\n useMaxWidth: true,\n /**\n * | Parameter | Description | Type | Required | Values|\n * | --- | --- | --- | --- | --- |\n * | defaultRenderer | See notes | boolean | 4 | dagre-d3, dagre-wrapper |\n *\n * **Notes:**\n *\n * Decides which rendering engine that is to be used for the rendering. Legal values are:\n * * dagre-d3\n * * dagre-wrapper - wrapper for dagre implemented in mermaid\n *\n * Default value: 'dagre-d3'\n */\n defaultRenderer: 'dagre-d3'\n },\n git: {\n arrowMarkerAbsolute: false,\n\n useWidth: undefined,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | useMaxWidth | See notes | boolean | 4 | true, false |\n *\n * **Notes:**\n *\n * When this flag is set the height and width is set to 100% and is then scaling with the\n * available space if not the absolute space required is used.\n *\n * Default value: true\n */\n useMaxWidth: true\n },\n state: {\n dividerMargin: 10,\n sizeUnit: 5,\n padding: 8,\n textHeight: 10,\n titleShift: -15,\n noteMargin: 10,\n forkWidth: 70,\n forkHeight: 7,\n // Used\n miniPadding: 2,\n // Font size factor, this is used to guess the width of the edges labels before rendering by dagre\n // layout. This might need updating if/when switching font\n fontSizeFactor: 5.02,\n fontSize: 24,\n labelHeight: 16,\n edgeLengthFactor: '20',\n compositTitleSize: 35,\n radius: 5,\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | useMaxWidth | See notes | boolean | 4 | true, false |\n *\n * **Notes:**\n *\n * When this flag is set the height and width is set to 100% and is then scaling with the\n * available space if not the absolute space required is used.\n *\n * Default value: true\n */\n useMaxWidth: true,\n /**\n * | Parameter | Description | Type | Required | Values|\n * | --- | --- | --- | --- | --- |\n * | defaultRenderer | See notes | boolean | 4 | dagre-d3, dagre-wrapper |\n *\n * **Notes:**\n *\n * Decides which rendering engine that is to be used for the rendering. Legal values are:\n * * dagre-d3\n * * dagre-wrapper - wrapper for dagre implemented in mermaid\n *\n * Default value: 'dagre-d3'\n */\n defaultRenderer: 'dagre-d3'\n },\n\n /**\n * The object containing configurations specific for entity relationship diagrams\n */\n er: {\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | diagramPadding | Amount of padding around the diagram as a whole | Integer | Required | Any Positive Value |\n *\n * **Notes:**\n *\n * The amount of padding around the diagram as a whole so that embedded diagrams have margins, expressed in pixels\n *\n * Default value: 20\n */\n diagramPadding: 20,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | layoutDirection | Directional bias for layout of entities. | string | Required | \"TB\", \"BT\", \"LR\", \"RL\" |\n *\n * **Notes:**\n *\n * 'TB' for Top-Bottom, 'BT'for Bottom-Top, 'LR' for Left-Right, or 'RL' for Right to Left.\n *\n * T = top, B = bottom, L = left, and R = right.\n *\n * Default value: 'TB'\n */\n layoutDirection: 'TB',\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | minEntityWidth | The mimimum width of an entity box | Integer | Required | Any Positive Value |\n *\n * **Notes:**\n * Expressed in pixels.\n * Default value: 100\n */\n minEntityWidth: 100,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | minEntityHeight| The minimum height of an entity box | Integer | 4 | Any Positive Value |\n *\n * **Notes:**\n * Expressed in pixels\n * Default value: 75\n */\n minEntityHeight: 75,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | entityPadding | Minimum internal padding betweentext in box and box borders | Integer | 4 | Any Positive Value |\n *\n * **Notes:**\n *\n * The minimum internal padding betweentext in an entity box and the enclosing box borders, expressed in pixels.\n *\n * Default value: 15\n */\n entityPadding: 15,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | stroke | Stroke color of box edges and lines | string | 4 | Any recognized color |\n *\n * **Notes:**\n * Default value: 'gray'\n */\n stroke: 'gray',\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | fill | Fill color of entity boxes | string | 4 | Any recognized color |\n *\n * **Notes:**\n * Default value: 'honeydew'\n */\n fill: 'honeydew',\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | fontSize | Font Size in pixels | Integer | | Any Positive Value |\n *\n * **Notes:**\n *\n * Font size (expressed as an integer representing a number of pixels)\n * Default value: 12\n */\n fontSize: 12,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | useMaxWidth | See Notes | boolean | Required | true, false |\n *\n * **Notes:**\n *\n * When this flag is set to true, the diagram width is locked to 100% and\n * scaled based on available space. If set to false, the diagram reserves its\n * absolute width.\n *\n * Default value: true\n */\n useMaxWidth: true\n },\n\n /**\n * The object containing configurations specific for pie diagrams\n */\n pie: {\n useWidth: undefined,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | useMaxWidth | See Notes | boolean | Required | true, false |\n *\n * **Notes:**\n *\n * When this flag is set to true, the diagram width is locked to 100% and\n * scaled based on available space. If set to false, the diagram reserves its\n * absolute width.\n *\n * Default value: true\n */\n useMaxWidth: true\n },\n\n /**\n * The object containing configurations specific for req diagrams\n */\n requirement: {\n useWidth: undefined,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | useMaxWidth | See Notes | boolean | Required | true, false |\n *\n * **Notes:**\n *\n * When this flag is set to true, the diagram width is locked to 100% and\n * scaled based on available space. If set to false, the diagram reserves its\n * absolute width.\n *\n * Default value: true\n */\n useMaxWidth: true,\n\n rect_fill: '#f9f9f9',\n text_color: '#333',\n rect_border_size: '0.5px',\n rect_border_color: '#bbb',\n rect_min_width: 200,\n rect_min_height: 200,\n fontSize: 14,\n rect_padding: 10,\n line_height: 20\n }\n};\n\nconfig.class.arrowMarkerAbsolute = config.arrowMarkerAbsolute;\nconfig.git.arrowMarkerAbsolute = config.arrowMarkerAbsolute;\n\nexport default config;\n","import { select } from 'd3';\nimport { log } from '../../logger';\nimport * as configApi from '../../config';\nimport common from '../common/common';\nimport utils from '../../utils';\nimport mermaidAPI from '../../mermaidAPI';\n\nconst MERMAID_DOM_ID_PREFIX = 'classid-';\n\nlet relations = [];\nlet classes = {};\nlet classCounter = 0;\n\nlet funs = [];\n\nexport const parseDirective = function(statement, context, type) {\n mermaidAPI.parseDirective(this, statement, context, type);\n};\n\nconst splitClassNameAndType = function(id) {\n let genericType = '';\n let className = id;\n\n if (id.indexOf('~') > 0) {\n let split = id.split('~');\n className = split[0];\n\n genericType = split[1];\n }\n\n return { className: className, type: genericType };\n};\n\n/**\n * Function called by parser when a node definition has been found.\n * @param id\n * @public\n */\nexport const addClass = function(id) {\n let classId = splitClassNameAndType(id);\n // Only add class if not exists\n if (typeof classes[classId.className] !== 'undefined') return;\n\n classes[classId.className] = {\n id: classId.className,\n type: classId.type,\n cssClasses: [],\n methods: [],\n members: [],\n annotations: [],\n domId: MERMAID_DOM_ID_PREFIX + classId.className + '-' + classCounter\n };\n\n classCounter++;\n};\n\n/**\n * Function to lookup domId from id in the graph definition.\n * @param id\n * @public\n */\nexport const lookUpDomId = function(id) {\n const classKeys = Object.keys(classes);\n for (let i = 0; i < classKeys.length; i++) {\n if (classes[classKeys[i]].id === id) {\n return classes[classKeys[i]].domId;\n }\n }\n};\n\nexport const clear = function() {\n relations = [];\n classes = {};\n funs = [];\n funs.push(setupToolTips);\n};\n\nexport const getClass = function(id) {\n return classes[id];\n};\nexport const getClasses = function() {\n return classes;\n};\n\nexport const getRelations = function() {\n return relations;\n};\n\nexport const addRelation = function(relation) {\n log.debug('Adding relation: ' + JSON.stringify(relation));\n addClass(relation.id1);\n addClass(relation.id2);\n\n relation.id1 = splitClassNameAndType(relation.id1).className;\n relation.id2 = splitClassNameAndType(relation.id2).className;\n\n relations.push(relation);\n};\n\n/**\n * Adds an annotation to the specified class\n * Annotations mark special properties of the given type (like 'interface' or 'service')\n * @param className The class name\n * @param annotation The name of the annotation without any brackets\n * @public\n */\nexport const addAnnotation = function(className, annotation) {\n const validatedClassName = splitClassNameAndType(className).className;\n classes[validatedClassName].annotations.push(annotation);\n};\n\n/**\n * Adds a member to the specified class\n * @param className The class name\n * @param member The full name of the member.\n * If the member is enclosed in <
\n * Additionally, dissimilar types will not clobber unless the config.clobber parameter === true. Example:\n * ```\n * let config_0 = { foo: { bar: 'bar' }, bar: 'foo' };\n * let config_1 = { foo: 'foo', bar: 'bar' };\n * let result = assignWithDepth(config_0, config_1);\n * console.log(result);\n * //-> result: { foo: { bar: 'bar' }, bar: 'bar' }\n * ```\n *
\n * Traditional Object.assign would have clobbered foo in config_0 with foo in config_1.\n *
\n * If src is a destructured array of objects and dst is not an array, assignWithDepth will apply each element of src to dst\n * in order.\n * @param dst:any - the destination of the merge\n * @param src:any - the source object(s) to merge into destination\n * @param config:{ depth: number, clobber: boolean } - depth: depth to traverse within src and dst for merging -\n * clobber: should dissimilar types clobber (default: { depth: 2, clobber: false })\n * @returns {*}\n */\nexport const assignWithDepth = function(dst, src, config) {\n const { depth, clobber } = Object.assign({ depth: 2, clobber: false }, config);\n if (Array.isArray(src) && !Array.isArray(dst)) {\n src.forEach(s => assignWithDepth(dst, s, config));\n return dst;\n } else if (Array.isArray(src) && Array.isArray(dst)) {\n src.forEach(s => {\n if (dst.indexOf(s) === -1) {\n dst.push(s);\n }\n });\n return dst;\n }\n if (typeof dst === 'undefined' || depth <= 0) {\n if (dst !== undefined && dst !== null && typeof dst === 'object' && typeof src === 'object') {\n return Object.assign(dst, src);\n } else {\n return src;\n }\n }\n if (typeof src !== 'undefined' && typeof dst === 'object' && typeof src === 'object') {\n Object.keys(src).forEach(key => {\n if (\n typeof src[key] === 'object' &&\n (dst[key] === undefined || typeof dst[key] === 'object')\n ) {\n if (dst[key] === undefined) {\n dst[key] = Array.isArray(src[key]) ? [] : {};\n }\n dst[key] = assignWithDepth(dst[key], src[key], { depth: depth - 1, clobber });\n } else if (clobber || (typeof dst[key] !== 'object' && typeof src[key] !== 'object')) {\n dst[key] = src[key];\n }\n });\n }\n return dst;\n};\n\nexport const getTextObj = function() {\n return {\n x: 0,\n y: 0,\n fill: undefined,\n anchor: 'start',\n style: '#666',\n width: 100,\n height: 100,\n textMargin: 0,\n rx: 0,\n ry: 0,\n valign: undefined\n };\n};\n\nexport const drawSimpleText = function(elem, textData) {\n // Remove and ignore br:s\n const nText = textData.text.replace(common.lineBreakRegex, ' ');\n\n const textElem = elem.append('text');\n textElem.attr('x', textData.x);\n textElem.attr('y', textData.y);\n textElem.style('text-anchor', textData.anchor);\n textElem.style('font-family', textData.fontFamily);\n textElem.style('font-size', textData.fontSize);\n textElem.style('font-weight', textData.fontWeight);\n textElem.attr('fill', textData.fill);\n if (typeof textData.class !== 'undefined') {\n textElem.attr('class', textData.class);\n }\n\n const span = textElem.append('tspan');\n span.attr('x', textData.x + textData.textMargin * 2);\n span.attr('fill', textData.fill);\n span.text(nText);\n\n return textElem;\n};\n\nexport const wrapLabel = memoize(\n (label, maxWidth, config) => {\n if (!label) {\n return label;\n }\n config = Object.assign(\n { fontSize: 12, fontWeight: 400, fontFamily: 'Arial', joinWith: '
' },\n config\n );\n if (common.lineBreakRegex.test(label)) {\n return label;\n }\n const words = label.split(' ');\n const completedLines = [];\n let nextLine = '';\n words.forEach((word, index) => {\n const wordLength = calculateTextWidth(`${word} `, config);\n const nextLineLength = calculateTextWidth(nextLine, config);\n if (wordLength > maxWidth) {\n const { hyphenatedStrings, remainingWord } = breakString(word, maxWidth, '-', config);\n completedLines.push(nextLine, ...hyphenatedStrings);\n nextLine = remainingWord;\n } else if (nextLineLength + wordLength >= maxWidth) {\n completedLines.push(nextLine);\n nextLine = word;\n } else {\n nextLine = [nextLine, word].filter(Boolean).join(' ');\n }\n const currentWord = index + 1;\n const isLastWord = currentWord === words.length;\n if (isLastWord) {\n completedLines.push(nextLine);\n }\n });\n return completedLines.filter(line => line !== '').join(config.joinWith);\n },\n (label, maxWidth, config) =>\n `${label}-${maxWidth}-${config.fontSize}-${config.fontWeight}-${config.fontFamily}-${config.joinWith}`\n);\n\nconst breakString = memoize(\n (word, maxWidth, hyphenCharacter = '-', config) => {\n config = Object.assign(\n { fontSize: 12, fontWeight: 400, fontFamily: 'Arial', margin: 0 },\n config\n );\n const characters = word.split('');\n const lines = [];\n let currentLine = '';\n characters.forEach((character, index) => {\n const nextLine = `${currentLine}${character}`;\n const lineWidth = calculateTextWidth(nextLine, config);\n if (lineWidth >= maxWidth) {\n const currentCharacter = index + 1;\n const isLastLine = characters.length === currentCharacter;\n const hyphenatedNextLine = `${nextLine}${hyphenCharacter}`;\n lines.push(isLastLine ? nextLine : hyphenatedNextLine);\n currentLine = '';\n } else {\n currentLine = nextLine;\n }\n });\n return { hyphenatedStrings: lines, remainingWord: currentLine };\n },\n (word, maxWidth, hyphenCharacter = '-', config) =>\n `${word}-${maxWidth}-${hyphenCharacter}-${config.fontSize}-${config.fontWeight}-${config.fontFamily}`\n);\n\n/**\n * This calculates the text's height, taking into account the wrap breaks and\n * both the statically configured height, width, and the length of the text (in pixels).\n *\n * If the wrapped text text has greater height, we extend the height, so it's\n * value won't overflow.\n *\n * @return - The height for the given text\n * @param text the text to measure\n * @param config - the config for fontSize, fontFamily, and fontWeight all impacting the resulting size\n */\nexport const calculateTextHeight = function(text, config) {\n config = Object.assign(\n { fontSize: 12, fontWeight: 400, fontFamily: 'Arial', margin: 15 },\n config\n );\n return calculateTextDimensions(text, config).height;\n};\n\n/**\n * This calculates the width of the given text, font size and family.\n *\n * @return - The width for the given text\n * @param text - The text to calculate the width of\n * @param config - the config for fontSize, fontFamily, and fontWeight all impacting the resulting size\n */\nexport const calculateTextWidth = function(text, config) {\n config = Object.assign({ fontSize: 12, fontWeight: 400, fontFamily: 'Arial' }, config);\n return calculateTextDimensions(text, config).width;\n};\n\n/**\n * This calculates the dimensions of the given text, font size, font family, font weight, and margins.\n *\n * @return - The width for the given text\n * @param text - The text to calculate the width of\n * @param config - the config for fontSize, fontFamily, fontWeight, and margin all impacting the resulting size\n */\nexport const calculateTextDimensions = memoize(\n function(text, config) {\n config = Object.assign({ fontSize: 12, fontWeight: 400, fontFamily: 'Arial' }, config);\n const { fontSize, fontFamily, fontWeight } = config;\n if (!text) {\n return { width: 0, height: 0 };\n }\n\n // We can't really know if the user supplied font family will render on the user agent;\n // thus, we'll take the max width between the user supplied font family, and a default\n // of sans-serif.\n const fontFamilies = ['sans-serif', fontFamily];\n const lines = text.split(common.lineBreakRegex);\n let dims = [];\n\n const body = select('body');\n // We don't want to leak DOM elements - if a removal operation isn't available\n // for any reason, do not continue.\n if (!body.remove) {\n return { width: 0, height: 0, lineHeight: 0 };\n }\n\n const g = body.append('svg');\n\n for (let fontFamily of fontFamilies) {\n let cheight = 0;\n let dim = { width: 0, height: 0, lineHeight: 0 };\n for (let line of lines) {\n const textObj = getTextObj();\n textObj.text = line;\n const textElem = drawSimpleText(g, textObj)\n .style('font-size', fontSize)\n .style('font-weight', fontWeight)\n .style('font-family', fontFamily);\n\n let bBox = (textElem._groups || textElem)[0][0].getBBox();\n dim.width = Math.round(Math.max(dim.width, bBox.width));\n cheight = Math.round(bBox.height);\n dim.height += cheight;\n dim.lineHeight = Math.round(Math.max(dim.lineHeight, cheight));\n }\n dims.push(dim);\n }\n\n g.remove();\n\n let index =\n isNaN(dims[1].height) ||\n isNaN(dims[1].width) ||\n isNaN(dims[1].lineHeight) ||\n (dims[0].height > dims[1].height &&\n dims[0].width > dims[1].width &&\n dims[0].lineHeight > dims[1].lineHeight)\n ? 0\n : 1;\n return dims[index];\n },\n (text, config) => `${text}-${config.fontSize}-${config.fontWeight}-${config.fontFamily}`\n);\n\nconst d3Attrs = function(d3Elem, attrs) {\n for (let attr of attrs) {\n d3Elem.attr(attr[0], attr[1]);\n }\n};\n\nexport const calculateSvgSizeAttrs = function(height, width, useMaxWidth) {\n let attrs = new Map();\n attrs.set('height', height);\n if (useMaxWidth) {\n attrs.set('width', '100%');\n attrs.set('style', `max-width: ${width}px;`);\n } else {\n attrs.set('width', width);\n }\n return attrs;\n};\n\nexport const configureSvgSize = function(svgElem, height, width, useMaxWidth) {\n const attrs = calculateSvgSizeAttrs(height, width, useMaxWidth);\n d3Attrs(svgElem, attrs);\n};\n\nexport const initIdGeneratior = class iterator {\n constructor(deterministic, seed) {\n this.deterministic = deterministic;\n this.seed = seed;\n\n this.count = seed ? seed.length : 0;\n }\n\n next() {\n if (!this.deterministic) return Date.now();\n\n return this.count++;\n }\n};\n\nexport default {\n assignWithDepth,\n wrapLabel,\n calculateTextHeight,\n calculateTextWidth,\n calculateTextDimensions,\n calculateSvgSizeAttrs,\n configureSvgSize,\n detectInit,\n detectDirective,\n detectType,\n isSubstringInArray,\n interpolateToCurve,\n calcLabelPosition,\n calcCardinalityPosition,\n calcTerminalLabelPosition,\n formatUrl,\n getStylesFromArray,\n generateId,\n random,\n memoize,\n runFunc,\n initIdGeneratior\n};\n","module.exports = require(\"@braintree/sanitize-url\");","module.exports = require(\"d3\");","module.exports = require(\"dagre\");","module.exports = require(\"dagre-d3\");","module.exports = require(\"dagre-d3/lib/label/add-html-label.js\");","module.exports = require(\"entity-decode/browser\");","module.exports = require(\"graphlib\");","module.exports = require(\"khroma\");","module.exports = require(\"moment-mini\");","module.exports = require(\"stylis\");"],"sourceRoot":""}