{"version":3,"sources":["node_modules/chart.js/dist/Chart.js","node_modules/quill/dist/quill.js","src/assets/scripts/device/device-uuid.min.js"],"names":["global","factory","exports","module","require","e","define","amd","self","Chart","moment","this","hasOwnProperty","colorName","conversions","fn","reverseKeywords","key","convert","rgb","channels","labels","hsl","hsv","hwb","cmyk","xyz","lab","lch","hex","keyword","ansi16","ansi256","hcg","apple","gray","model","Error","length","Object","defineProperty","value","h","l","r","g","b","min","Math","max","delta","rdif","gdif","bdif","s","v","diff","diffc","c","k","reversed","currentClosestKeyword","x","y","currentClosestDistance","Infinity","distance","pow","z","t1","t2","t3","val","i","smin","lmin","hi","floor","f","p","q","t","sl","vmin","n","wh","bl","ratio","m","y2","x2","z2","a","atan2","PI","sqrt","hr","cos","sin","args","arguments","round","ansi","color","mult","rem","string","toString","toUpperCase","substring","match","colorString","split","map","char","join","integer","parseInt","hue","chroma","mg","pure","w","createCommonjsModule","link","from","to","wrapConversion","toModel","graph","path","parent","cur","unshift","conversion","keys","forEach","fromModel","routes","models","len","buildGraph","queue","current","pop","adjacents","adjacent","node","deriveBFS","route","wrappedFn","Array","prototype","slice","call","result","wrapRounded","raw","wrapRaw","colorConvert","colorName$1","getRgba","getHsla","getRgb","rgba","getHsl","hsla","getHwb","getAlpha","vals","hexString","undefined","hexDouble","rgbString","alpha","rgbaString","percentString","percentaString","hslString","hslaString","hwbString","reverseNames","hexAlpha","parseFloat","scale","isNaN","num","str","name","Color","obj","valid","values","setValues","red","lightness","whiteness","cyan","isValid","setSpace","rgbArray","hslArray","hsvArray","hwbArray","concat","cmykArray","rgbaArray","hslaArray","setChannel","green","blue","saturation","saturationv","blackness","magenta","yellow","black","rgbNumber","luminosity","lum","chan","contrast","color2","lum1","lum2","level","contrastRatio","dark","light","negate","lighten","darken","saturate","desaturate","whiten","blacken","greyscale","clearer","opaquer","rotate","degrees","mix","mixinColor","weight","w1","w2","toJSON","clone","type","source","target","prop","console","error","spaces","maxes","getValues","space","charAt","capped","chans","sname","index","svalues","window","id","chartjsColor","helpers","noop","uid","isNullOrUndef","isArray","substr","isObject","isFinite","Number","valueOrDefault","defaultValue","valueAtIndexOrDefault","callback","thisArg","apply","each","loopable","reverse","arrayEquals","a0","a1","ilen","v0","v1","klen","_merger","options","tval","sval","merge","_mergerIf","mergeIf","sources","merger","extend","assign","dst","src","inherits","extensions","me","ChartElement","constructor","Surrogate","__super__","_deprecated","scope","previous","warn","helpers_core","callCallback","indexOf","array","item","fromIndex","getValueOrDefault","getValueAtIndexOrDefault","effects","linear","easeInQuad","easeOutQuad","easeInOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","easeInSine","easeOutSine","easeInOutSine","easeInExpo","easeOutExpo","easeInOutExpo","easeInCirc","easeOutCirc","easeInOutCirc","easeInElastic","asin","easeOutElastic","easeInOutElastic","easeInBack","easeOutBack","easeInOutBack","easeInBounce","easeOutBounce","easeInOutBounce","helpers_easing","easingEffects","RAD_PER_DEG","DOUBLE_PI","HALF_PI","QUARTER_PI","TWO_THIRDS_PI","exports$1","clear","chart","ctx","clearRect","width","height","roundedRect","radius","left","top","right","bottom","moveTo","arc","closePath","rect","drawPoint","style","rotation","xOffset","yOffset","size","cornerRadius","rad","save","translate","drawImage","restore","beginPath","lineTo","SQRT1_2","fill","stroke","_isPointInArea","point","area","clipArea","clip","unclipArea","flip","stepped","steppedLine","midpoint","tension","bezierCurveTo","controlPointPreviousX","controlPointNextX","controlPointPreviousY","controlPointNextY","helpers_canvas","drawRoundedRectangle","defaults","_set","defaultColor","defaultFontColor","defaultFontFamily","defaultFontSize","defaultFontStyle","defaultLineHeight","showLines","core_defaults","helpers_options","toLineHeight","matches","toPadding","_parseFont","globalDefaults","fontSize","font","family","fontFamily","lineHeight","fontStyle","toFontString","resolve","inputs","context","info","cacheable","exports$2","_factorize","push","sort","log10","exponent","log","LOG10E","powerOf10","helpers_math","helpers$1","canvas","math","easing","rtl","getRtlAdapter","rectX","setWidth","textAlign","align","xPlus","leftForLtr","itemWidth","_itemWidth","overrideTextDirection","direction","original","getPropertyValue","getPropertyPriority","setProperty","prevTextDirection","restoreTextDirection","Element","configuration","initialize","_type","hidden","pivot","_view","_model","_start","transition","ease","start","view","actual","origin","c0","c1","interpolate","tooltipPosition","hasValue","isNumber","core_element","exports$3","currentStep","numSteps","render","onAnimationProgress","onAnimationComplete","core_animation","get","set","animation","duration","onProgress","onComplete","core_animations","animations","request","addAnimation","lazy","startTime","Date","now","animating","requestAnimationFrame","cancelAnimation","findIndex","splice","requestAnimFrame","startDigest","advance","nextStep","arrayEvents","unlistenArrayEvents","listener","stub","_chartjs","listeners","DatasetController","datasetIndex","datasetElementType","dataElementType","_datasetElementOptions","_dataElementOptions","linkScales","addElements","getMeta","updateIndex","meta","scales","dataset","getDataset","scalesOpts","xAxisID","xAxes","yAxisID","yAxes","data","datasets","getDatasetMeta","getScaleForId","scaleID","_getValueScaleId","_getIndexScaleId","_getValueScale","_getIndexScale","reset","_update","destroy","_data","createMetaDataset","_chart","_datasetIndex","createMetaData","_index","metaData","addElementAndReset","element","updateElement","buildOrUpdateElements","isExtensible","configurable","enumerable","method","base","res","object","resyncElements","_configure","_config","_cachedDataOpts","update","easingValue","elements","draw","getStyle","_resolveDatasetElementOptions","_resolveDataElementOptions","backgroundColor","borderColor","hover","readKey","datasetOpts","custom","elementOptions","cached","dataIndex","freeze","removeHoverStyle","$previousStyle","setHoverStyle","getHoverColor","borderWidth","hoverBackgroundColor","hoverBorderColor","hoverBorderWidth","_removeDatasetHoverStyle","_setDatasetHoverStyle","hoverOptions","prev","numMeta","numData","insertElements","count","onDataPush","onDataPop","onDataShift","shift","onDataSplice","onDataUnshift","core_datasetController","TAU","clipArc","startAngle","endAngle","pixelMargin","angleMargin","outerRadius","innerRadius","borderAlign","element_arc","inLabelRange","mouseX","vm","hoverRadius","inRange","chartX","chartY","pointRelativePosition","getAngleFromPoint","angle","getCenterPoint","halfAngle","halfRadius","getArea","centreAngle","rangeFromCentre","fullCircles","circumference","fillStyle","strokeStyle","inner","lineWidth","lineJoin","drawFullCircleBorders","drawBorder","valueOrDefault$1","line","borderCapStyle","borderDash","borderDashOffset","borderJoinStyle","capBezierPoints","element_line","currentVM","spanGaps","points","_children","globalOptionLineElements","lastDrawnIndex","_loop","previousItem","skip","lineCap","setLineDash","lineDashOffset","valueOrDefault$2","defaultColor$1","xRange","abs","hitRadius","pointStyle","element_point","mouseY","inXRange","inYRange","padding","chartArea","defaultColor$2","isVertical","getBarBounds","x1","y1","half","swap","orig","v2","skipX","skipY","bounds","rectangle","borderSkipped","element_rectangle","rects","border","maxW","maxH","edge","horizontal","parseBorderSkipped","parseBorderWidth","outer","boundingRects","fillRect","Line","Point","Rectangle","Arc","deprecated","valueOrDefault$3","mode","offset","gridLines","offsetGridLines","bar","categoryPercentage","barPercentage","controller_bar","scaleOpts","stack","barThickness","minBarLength","maxBarThickness","_ruler","getRuler","_xScale","_yScale","datasetLabel","label","_updateElementGeometry","vscale","getBasePixel","isHorizontal","ruler","vpixels","calculateBarValuePixels","ipixels","calculateBarIndexPixels","head","center","_getStacks","last","metasets","_getMatchingVisibleMetas","stacked","stacks","getStackCount","getStackIndex","pixels","getPixelForValue","_startPixel","end","_endPixel","stackCount","imeta","ivalue","stackLength","_parseValue","range","curr","next","percent","chunk","computeFlexCategoryTraits","thickness","_length","getTicks","getPixelForTick","computeMinSampleSize","computeFitCategoryTraits","stackIndex","indexOpts","valueOpts","valueOrDefault$4","resolve$1","position","tooltips","callbacks","title","xLabel","yLabel","controller_bubble","xScale","yScale","dsIndex","getPixelForDecimal","NaN","_options","valueOrDefault$5","PI$1","DOUBLE_PI$1","HALF_PI$1","animateRotate","animateScale","legendCallback","listItem","list","document","createElement","setAttribute","appendChild","createTextNode","outerHTML","legend","generateLabels","controller","text","onClick","legendItem","cutoutPercentage","tooltipItem","dataLabel","controller_doughnut","getRingIndex","ringIndex","j","isDatasetVisible","opts","ratioX","ratioY","offsetX","offsetY","arcs","cutout","chartWeight","_getRingWeight","startX","startY","endX","endY","contains0","contains90","contains270","minX","minY","maxX","maxY","getMaxBorderWidth","radiusLength","_getVisibleDatasetWeightTotal","total","calculateTotal","_getRingWeightOffset","animationOpts","centerX","centerY","calculateCircumference","hoverWidth","ringWeightOffset","dataSetIndex","axis","horizontalBar","controller_horizontalBar","valueOrDefault$6","resolve$2","isPointInArea","scaleClip","halfBorderWidth","tickOpts","ticks","defaultClip","toClip","controller_line","config","showLine","_showLine","lineTension","_scale","updateBezierControlPoints","lineModel","calculatePointY","lineOptions","dsMeta","stackedRightValue","rightValue","sumPos","sumNeg","getRightValue","_getSortedVisibleDatasetMetas","controlPoints","capControlPoint","pt","filter","cubicInterpolationMode","splineCurveMonotone","splineCurve","nextItem","resolve$3","angleLines","display","circular","pointLabels","beginAtZero","controller_polarArea","starts","_starts","angles","_angles","_updateRadius","countVisibleElements","_computeAngle","minSize","getVisibleDatasetCount","xCenter","yCenter","datasetStartAngle","getDistanceFromCenterForValue","resetRadius","doughnut","controller_pie","valueOrDefault$7","controller_radar","pointPosition","getPointPositionForValue","scatter","controllers","bubble","polarArea","pie","radar","getRelativePosition","native","parseVisibleItems","handler","metadata","jlen","getIntersectItems","getNearestItems","intersect","distanceMetric","minDistance","POSITIVE_INFINITY","nearestItems","getDistanceMetricForAxis","useX","useY","pt1","pt2","deltaX","deltaY","indexMode","items","core_interaction","modes","single","nearest","intersectsItem","filterByPosition","where","pos","sortByWeight","getCombinedMax","maxPadding","updateDims","params","layout","newWidth","newHeight","box","getPadding","boxPadding","outerWidth","outerHeight","getMargins","margin","fitBoxes","boxes","refit","changed","refitBoxes","fullWidth","placeBoxes","userPadding","core_layouts","addBox","_layers","removeBox","layoutItem","configure","props","availableWidth","availableHeight","layoutBoxes","wrapBoxes","leftAndTop","rightAndBottom","vertical","buildLayoutBoxes","verticalBoxes","horizontalBoxes","vBoxMaxWidth","hBoxMaxHeight","layouts","setLayoutDims","updatePos","change","handleMaxPadding","stylesheet","__proto__","ANIMATION_START_EVENTS","EVENT_TYPES","touchstart","touchmove","touchend","pointerenter","pointerdown","pointermove","pointerup","pointerleave","pointerout","readUsedSize","property","eventListenerOptions","supports","addEventListener","passive","addListener","removeListener","removeEventListener","createEvent","nativeEvent","createDiv","cls","el","className","platform_dom$2","disableCSSInjection","_enabled","_ensureLoaded","root","getRootNode","rootNode","css","expando","containsStyles","injectCSS","host","acquireContext","getElementById","getContext","renderHeight","getAttribute","renderWidth","initial","displayWidth","aspectRatio","displayHeight","initCanvas","releaseContext","removeAttribute","proxies","event","fromNativeEvent","ticking","resizer","CSS_PREFIX","expand","CSS_SIZE_MONITOR","shrink","_reset","scrollLeft","scrollTop","onScroll","bind","createResizer","container","maintainAspectRatio","parentNode","clientWidth","proxy","renderProxy","animationName","reflow","offsetParent","classList","add","watchForRender","insertBefore","firstChild","addResizeListener","remove","unwatchForRender","removeChild","addEvent","removeEvent","platform","plugins","core_plugins","_plugins","_cacheId","register","plugin","unregister","idx","getAll","notify","hook","descriptor","descriptors","cache","$plugins","_invalidate","core_scaleService","constructors","registerScaleType","scaleConstructor","scaleDefaults","getScaleConstructor","getScaleDefaults","updateScaleDefaults","additions","addScalesToLayout","valueOrDefault$8","getRtlHelper","enabled","titleFontStyle","titleSpacing","titleMarginBottom","titleFontColor","titleAlign","bodySpacing","bodyFontColor","bodyAlign","footerFontStyle","footerSpacing","footerMarginTop","footerFontColor","footerAlign","yPadding","xPadding","caretPadding","caretSize","multiKeyBackground","displayColors","beforeTitle","tooltipItems","labelCount","afterTitle","beforeBody","beforeLabel","labelColor","labelTextColor","afterLabel","afterBody","beforeFooter","footer","afterFooter","positioners","average","eventPosition","nearestElement","d","distanceBetweenPoints","tp","pushOrConcat","toPush","splitNewlines","String","getBaseModel","tooltipOpts","xAlign","yAlign","textDirection","_bodyFontFamily","bodyFontFamily","_bodyFontStyle","bodyFontStyle","_bodyAlign","bodyFontSize","_titleFontFamily","titleFontFamily","_titleFontStyle","titleFontSize","_titleAlign","_footerFontFamily","footerFontFamily","_footerFontStyle","footerFontSize","_footerAlign","opacity","legendColorBackground","getAlignedX","getBeforeAfterBodyLines","core_tooltip","_lastActive","getTitle","lines","getBeforeBody","getBody","bodyItems","bodyItem","before","after","getAfterBody","getFooter","indexScale","valueScale","existingModel","active","_active","alignment","backgroundPoint","tooltipSize","caretX","caretY","labelColors","labelTextColors","_eventPosition","getLabelForIndex","itemSort","body","dataPoints","tooltip","combinedBodyLength","reduce","titleLineCount","footerLineCount","widthPadding","maxLineWidth","measureText","fontString","getTooltipSize","paddingAndSize","radiusAndPadding","getBackgroundPoint","lf","rf","olf","orf","yf","midX","midY","determineAlignment","drawCaret","tooltipPoint","caretPosition","getCaretPosition","x3","y3","ptX","ptY","tmp","drawTitle","rtlHelper","textBaseline","fillText","drawBody","textColor","drawColorBoxes","xLinePadding","colorX","fillLineOfText","bodyAlignForCalculation","rtlColorX","strokeRect","drawFooter","drawBackground","quadraticCurveTo","globalAlpha","handleEvent","getElementsAtEventForMode","valueOrDefault$9","mergeScaleConfig","slen","mergeConfig","updateConfig","newOptions","ensureScalesHaveIDs","buildOrUpdateScales","nextAvailableScaleId","axesOpts","prefix","hasId","positionIsHorizontal","compare2Level","l1","l2","events","onHover","animationDuration","responsive","responsiveAnimationDuration","construct","initConfig","_bufferedRender","instances","retinaScale","devicePixelRatio","bindEvents","resize","initToolTip","stop","silent","getMaximumWidth","getMaximumHeight","newSize","onResize","scalesOptions","scaleOptions","xAxisOptions","yAxisOptions","updated","dtype","dposition","isDefault","scaleType","scaleClass","mergeTicksOptions","hasUpdated","buildOrUpdateControllers","newControllers","destroyDatasetMeta","order","ControllerClass","resetElements","updateLayout","updateDatasets","lastActive","_bufferedRequest","_idx","updateDataset","animationOptions","animationObject","stepDecimal","easingFunction","layers","drawDatasets","_drawTooltip","_getSortedDatasetMetas","filterVisible","drawDataset","getElementAtEvent","getElementsAtEvent","getElementsAtXAxis","getDatasetAtEvent","_meta","generateLegend","unbindEvents","toBase64Image","toDataURL","_chartInstance","_listeners","eventHandler","updateHoverStyle","bufferedRequest","core_controller","abstract","DateAdapter","Controller","types","configMerge","scaleMerge","formats","parse","format","startOf","endOf","_create","override","members","core_adapters","_date","core_ticks","formatters","tickValue","logDelta","tickString","logTick","numExponential","toExponential","numDecimal","toFixed","logarithmic","remain","valueOrDefault$a","getPixelForGridLine","validIndex","lineValue","getTickMarkLength","drawTicks","tickMarkLength","getScaleLabelHeight","parseFontOptions","nestedOpts","fontColor","parseTickFontOptions","minor","major","nonSkipped","ticksToFilter","filtered","spacing","majorStart","majorEnd","tick","ceil","drawOnChartArea","zeroLineWidth","zeroLineColor","zeroLineBorderDash","zeroLineBorderDashOffset","scaleLabel","labelString","minRotation","maxRotation","mirror","autoSkip","autoSkipPadding","labelOffset","Scale","zeroLineIndex","paddingLeft","paddingTop","paddingRight","paddingBottom","_ticks","_getLabels","xLabels","yLabels","beforeUpdate","maxWidth","maxHeight","margins","samplingEnabled","sampleSize","_labelSizes","_maxLabelLines","longestLabelWidth","longestTextCache","_gridLineItems","_labelItems","beforeSetDimensions","setDimensions","afterSetDimensions","beforeDataLimits","determineDataLimits","afterDataLimits","beforeBuildTicks","buildTicks","afterBuildTicks","_convertTicksToLabels","arr","numItems","increment","sample","beforeCalculateTickRotation","calculateTickRotation","afterCalculateTickRotation","beforeFit","fit","afterFit","_ticksToDraw","_autoSkip","afterUpdate","startPixel","endPixel","reversePixels","_reversePixels","beforeTickToLabelConversion","convertTicksToLabels","userCallback","afterTickToLabelConversion","labelSizes","maxLabelWidth","maxLabelHeight","tickWidth","maxLabelDiagonal","numTicks","labelRotation","_isVisible","_getLabelSizes","widest","highest","toDegrees","scaleLabelOpts","gridLineOpts","isBottom","tickFonts","firstLabelSize","first","lastLabelSize","widestLabelSize","highestLabelSize","lineSpace","tickPadding","isRotated","angleRadians","toRadians","cosRotation","sinRotation","offsetLeft","offsetRight","handleMargins","isFullWidth","rawValue","caches","tickFont","nestedLabel","widths","heights","offsets","gc","valueAt","gcLen","garbageCollect","computeLabelSizes","_getScaleLabel","getValueForPixel","decimal","getDecimalForPixel","pixel","getBaseValue","avgMajorSpacing","ticksLimit","maxTicksLimit","_tickSize","majorIndices","getMajorIndices","numMajorIndices","skipMajors","axisLength","factors","factor","evenMajorSpacing","getEvenSpacing","calculateSpacing","optionTicks","rot","_computeGridLineItems","borderValue","alignedLineValue","tx1","ty1","tx2","ty2","lineColor","ticksLength","tl","axisWidth","axisHalfWidth","alignPixel","_alignPixel","alignBorderValue","_computeLabelItems","lineCount","textOffset","isMirrored","fonts","_drawGrid","firstLineWidth","lastLineWidth","_drawLabels","_drawTitle","scaleLabelX","scaleLabelY","scaleLabelFontColor","scaleLabelFont","scaleLabelPadding","halfLineHeight","isLeft","tz","gz","_draw","core_scale","isNullOrUndef$1","scale_category","ticksOpts","minIndex","maxIndex","_startValue","_valueRange","valueCategory","_defaults","isNullOrUndef$2","scale_linearbase","handleTickRangeOptions","minSign","sign","maxSign","setMin","suggestedMin","setMax","suggestedMax","getTickLimit","maxTicks","stepSize","_computeTickLimit","handleDirectionalChanges","numericGeneratorOptions","precision","fixedStepSize","generationOptions","dataRange","niceMin","niceMax","numSpaces","unit","maxNumSpaces","rmin","rmax","niceNum","_decimalPlaces","almostWhole","almostEquals","generateTicks","ticksAsNumbers","_endValue","defaultConfig$1","stackData","neg","getOrCreateStack","relativePoints","updateMinMax","scale_linear","hasStacks","NEGATIVE_INFINITY","stackValues","valueOrDefault$b","defaultConfig$2","nonNegativeOrDefault","scale_logarithmic","IDMatches","minNotZero","valuesPerStack","valuesForType","minVal","maxVal","exp","significand","tickVal","endExp","endSignificand","lastTick","generateTicks$1","tickValues","_getFirstTickValue","_valueOffset","valueOrDefault$c","valueAtIndexOrDefault$1","resolve$4","defaultConfig$3","animate","showLabelBackdrop","backdropColor","backdropPaddingY","backdropPaddingX","getTickBackdropHeight","determineLimits","getTextAlignForAngle","adjustPointPositionForLabelHeight","textSize","numberOrZero","param","scale_radialLinear","drawingArea","plFont","furthestLimits","furthestAngles","_pointLabelSizes","valueCount","getPointPosition","longestText","getIndexAngle","hLimits","vLimits","setReductions","fitWithPointLabels","setCenterPoint","largestPossibleRadius","radiusReductionLeft","radiusReductionRight","radiusReductionTop","radiusReductionBottom","leftMovement","rightMovement","topMovement","bottomMovement","maxTop","maxBottom","scalingFactor","distanceFromCenter","thisAngle","getBasePosition","angleLineOpts","pointLabelOpts","tickBackdropHeight","outerDistance","pointLabelPosition","pointLabelFontColor","drawPointLabels","drawRadiusLine","tickFontColor","deprecated$1","resolve$5","valueOrDefault$d","MIN_INTEGER","MIN_SAFE_INTEGER","MAX_INTEGER","MAX_SAFE_INTEGER","INTERVALS","millisecond","common","steps","second","minute","hour","day","week","month","quarter","year","UNITS","sorter","getMin","time","getMax","interpolate$1","table","skey","tkey","mid","i0","i1","lo","lookup","span","toTimestamp","input","adapter","_adapter","parser","determineUnitForAutoTicks","minUnit","capacity","interval","ticksFromTimestamps","majorUnit","setMajorTicks","scale_time","adapters","date","displayFormats","timestamp","labelsAdded","timestamps","dataLabels","hash","out","arrayUnique","_table","_timestamps","timeOpts","getLabelCapacity","distribution","unitStepSize","weekday","isoWeekday","generate","_unit","determineUnitForFormatting","_majorUnit","determineMajorUnit","buildLookupTable","_offsets","computeOffsets","tooltipFormat","datetime","tickFormatFunction","majorFormat","nestedTickOpts","formatter","getPixelForOffset","_getLabelSize","tickLabelWidth","tickFontSize","getLabelWidth","exampleTime","exampleLabel","displayFormat","category","radialLinear","FORMATS","_id","valueOf","amount","filler","propagate","mappers","boundary","decodeFill","computeBoundary","cx","cy","computeCircularBoundary","scaleBottom","scaleTop","scaleZero","computeLinearBoundary","resolveTarget","visited","visible","createMapper","isDrawable","drawArea","curve0","curve1","len0","len1","doFill","mapper","loop","p0","p1","d0","d1","loopOffset","plugin_filler","afterDatasetsUpdate","$filler","beforeDatasetsDraw","getRtlHelper$1","noop$1","valueOrDefault$e","getBoxWidth","labelOpts","usePointStyle","boxWidth","ci","onLeave","lineDash","Legend","legendHitBoxes","_hoveredItem","doughnutMode","beforeBuildLabels","buildLabels","afterBuildLabels","legendItems","labelFont","hitboxes","lineWidths","totalHeight","vPadding","columnWidths","columnHeights","totalWidth","currentColWidth","currentColHeight","lineDefault","legendHeight","legendWidth","cursor","alignmentOffset","dimension","blockSize","itemHeight","textWidth","realX","SQRT2","drawLegendBox","halfFontSize","xLeft","yMiddle","_getLegendItemAt","hitBox","lh","hoveredItem","createNewLegendAndAttach","legendOpts","plugin_legend","_element","beforeInit","afterEvent","noop$2","Title","titleX","titleY","fontOpts","createNewTitleBlockAndAttach","titleOpts","titleBlock","parseMaxStyle","styleValue","parentProperty","valueInPixels","isConstrainedValue","getConstraintDimension","domNode","maxStyle","percentageProperty","defaultView","_getParentNode","constrainedNode","getComputedStyle","constrainedContainer","hasCNode","hasCContainer","infinity","collection","filterCallback","findNextWhere","arrayToSearch","startIndex","currentItem","findPreviousWhere","epsilon","rounded","radians","centrePoint","anglePoint","distanceFromXCenter","distanceFromYCenter","radialDistanceFromCenter","aliasPixel","pixelWidth","currentDevicePixelRatio","halfWidth","firstPoint","middlePoint","afterPoint","d01","d12","s01","s12","fa","fb","EPSILON","pointBefore","pointCurrent","pointAfter","alphaK","betaK","tauK","squaredMagnitude","pointsWithTangents","deltaK","mK","pointsLen","slopeDeltaX","fraction","webkitRequestAnimationFrame","mozRequestAnimationFrame","oRequestAnimationFrame","msRequestAnimationFrame","setTimeout","evt","originalEvent","srcElement","boundingRect","getBoundingClientRect","touches","clientX","clientY","getConstraintWidth","getConstraintHeight","_calculatePadding","parentDimension","cw","clientHeight","ch","currentStyle","forceRatio","pixelRatio","pixelSize","arrayOfThings","thing","nestedThing","longest","numberOfLabelLines","numberOfLines","CanvasGradient","colorValue","CanvasPattern","core_helpers","_adapters","Animation","animationService","Interaction","scaleService","Ticks","Tooltip","pluginService","PluginBase","canvasHelpers","layoutService","LinearScaleBase","klass","cfg","toLowerCase","modules","installedModules","__webpack_require__","moduleId","getter","o","__esModule","container_1","format_1","leaf_1","scroll_1","inline_1","block_1","embed_1","text_1","attributor_1","class_1","style_1","store_1","Registry","default","Scope","create","find","query","Container","Format","Leaf","Embed","Scroll","Block","Inline","Text","Attributor","Attribute","Class","Style","Store","extendStatics","__extends","setPrototypeOf","__","ParchmentError","_super","message","_this","attributes","classes","tags","ANY","Node","TEXT_NODE","LEVEL","BLOCK","INLINE","HTMLElement","names","tagName","TYPE","DATA_KEY","BlotClass","blot","Definitions","_i","Definition","blotName","attrName","keyName","tag","equal","op","NULL_CHARACTER","fromCharCode","Delta","ops","insert","newOp","retain","lastOp","chop","predicate","partition","passed","failed","changeLength","elem","delete","iter","iterator","hasNext","nextOp","compose","other","thisIter","otherIter","firstOther","peek","firstLeft","peekType","peekLength","thisOp","otherOp","rest","strings","diffResult","component","opLength","INSERT","DELETE","EQUAL","eachLine","newline","transform","priority","transformPosition","nextType","hasOwn","toStr","gOPD","getOwnPropertyDescriptor","isPlainObject","hasOwnConstructor","hasIsPrototypeOf","newValue","writable","getProperty","copy","copyIsArray","deep","BlockEmbed","bubbleFormats","_createClass","defineProperties","Constructor","protoProps","staticProps","_get","receiver","Function","desc","getPrototypeOf","_extend2","_interopRequireDefault","_quillDelta2","_parchment2","_break2","_inline2","_text2","_classCallCheck","instance","TypeError","_possibleConstructorReturn","ReferenceError","_inherits","subClass","superClass","_Parchment$Embed","attribute","BLOCK_ATTRIBUTE","def","endsWith","block","insertAt","BLOCK_BLOT","_Parchment$Block","_this2","descendants","leaf","children","tail","ref","child","force","statics","defaultChild","allowedChildren","overload","expandConfig","_typeof","Symbol","_slicedToArray","_arr","_n","_d","_e","_s","done","err","sliceIterator","_editor2","_emitter4","_module2","_selection","_selection2","_logger2","_theme2","_defineProperty","debug","Quill","html","innerHTML","trim","__quill","addContainer","scrollingContainer","emitter","scroll","whitelist","editor","selection","theme","keyboard","addModule","clipboard","history","init","on","EDITOR_CHANGE","TEXT_CHANGE","toggle","isBlank","SCROLL_UPDATE","mutations","lastRange","modify","contents","setContents","placeholder","readOnly","disable","limit","imports","overwrite","startsWith","refNode","setRange","_this3","_overload","_overload2","deleteText","enable","focus","scrollIntoView","_this4","API","getSelection","formatLine","formatText","setSelection","SILENT","_this5","_overload3","_overload4","_this6","_overload5","_overload6","getBounds","containerBounds","getLength","_overload7","_overload8","getContents","getFormat","MAX_VALUE","getRange","_overload9","_overload10","getText","hasFocus","embed","_this7","insertEmbed","_this8","_overload11","_overload12","insertText","contains","off","once","dangerouslyPasteHTML","_this9","_overload13","_overload14","removeFormat","_this10","deleted","applied","applyDelta","_overload15","_overload16","Range","USER","_this11","userConfig","DEFAULTS","import","themeConfig","moduleConfig","moduleClass","toolbar","querySelector","modifier","strict","isEnabled","oldDelta","shiftRange","_emitter","_emitter2","emit","_map","_map2","_map3","_map4","version","_Parchment$Inline","compare","BLOT","isolate","wrap","moveChildren","selfIndex","otherIndex","TextBlot","_Parchment$Text","_eventemitter2","eventName","_len","_key","querySelectorAll","_node$__quill$emitter","handleDOM","Emitter","_EventEmitter","_len2","_key2","_ref","SCROLL_BEFORE_UPDATE","SCROLL_OPTIMIZE","SELECTION_CHANGE","Module","quill","levels","_console","namespace","ns","logger","newLevel","pSlice","objectKeys","isArguments","deepEqual","expected","getTime","isUndefinedOrNull","isBuffer","ka","kb","objEquiv","ATTRIBUTE","canAdd","replace","Code","_block2","_Inline","CodeBlock","_Block","textContent","frag","_descendant","descendant","deleteAt","nextNewline","newlineIndex","prevNewline","isolateLength","formatAt","_descendant3","_descendant4","searchIndex","lastIndexOf","optimize","unwrap","TAB","_op2","_code2","_cursor2","_block","_clone2","_deepEqual2","ASCII","Editor","getDelta","consumeNextNewline","scrollLength","batchStart","image","bullet","normalizeDelta","_scroll$line","_scroll$line2","_line$descendant","_line$descendant2","batchEnd","lengthRemaining","lineLength","codeIndex","codeLength","leaves","formatsArr","blots","combineFormats","_scroll$line3","_scroll$line4","suffixLength","suffix","cursorIndex","textBlot","oldValue","CONTENTS","oldText","newText","diffDelta","combined","merged","_toConsumableArray","arr2","Selection","composing","mouseDown","savedRange","handleComposition","handleDragging","listenDOM","getNativeRange","textNode","setNativeRange","ignored","_context$range","startNode","startOffset","endNode","endOffset","_format","nativeRange","collapsed","attach","_scroll$leaf","_scroll$leaf2","_leaf$position","_leaf$position2","createRange","setStart","_scroll$leaf3","_scroll$leaf4","_leaf$position3","_leaf$position4","setEnd","side","rangeCount","getRangeAt","normalizeNative","normalized","normalizedToRange","activeElement","positions","indexes","_position","startContainer","endContainer","childNodes","lastChild","_scroll$leaf5","_scroll$leaf6","_leaf$position5","_leaf$position6","scrollBounds","removeAllRanges","addRange","blur","rangeToNative","oldRange","_getRange","_getRange2","Break","linked_list_1","shadow_1","ContainerBlot","build","makeBlot","forEachAt","criteria","_a","lengthLeft","detach","childBlot","refBlot","some","insertInto","memo","targetParent","inclusive","addedNodes","removedNodes","mutation","compareDocumentPosition","DOCUMENT_POSITION_CONTAINED_BY","DOCUMENT_POSITION_FOLLOWING","nextSibling","replaceChild","FormatBlot","replaceWith","replacement","wrapper","move","LeafBlot","INLINE_BLOT","lib","keepNull","Iterator","retOp","_instanceof","nativeMap","nativeSet","nativePromise","Map","_","Set","Promise","depth","includeNonEnumerable","allParents","allChildren","useBuffer","Buffer","_clone","proto","reject","then","__isArray","__isRegExp","RegExp","__getRegExpFlags","lastIndex","__isDate","allocUnsafe","keyChild","valueChild","entryChild","attrs","getOwnPropertySymbols","symbols","symbol","allPropertyNames","getOwnPropertyNames","propertyName","__objToStr","re","flags","ignoreCase","multiline","clonePrototype","_container2","isLine","_Parchment$Scroll","batch","_line","_line2","_line3","_newlineIndex","getLines","observer","takeRecords","SHORTKEY","_quill2","test","navigator","Keyboard","_Module","bindings","addBinding","ENTER","shiftKey","handleEnter","metaKey","ctrlKey","altKey","userAgent","BACKSPACE","handleBackspace","handleDelete","handleDeleteRange","listen","binding","normalize","which","keyCode","defaultPrevented","_quill$getLine","getLine","_quill$getLine2","_quill$getLeaf","getLeaf","_quill$getLeaf2","leafStart","offsetStart","_ref2","leafEnd","offsetEnd","prefixText","suffixText","curContext","empty","every","preventDefault","makeEmbedArrowHandler","_ref3","LEFT","RIGHT","_quill$getLeaf3","_quill$getLine11","_quill$getLine13","curFormats","prevFormats","nextLength","_quill$getLine15","_quill$getLine17","nextFormats","firstFormats","lastFormats","lineFormats","makeCodeBlockHandler","indent","_quill$scroll$descend","_quill$scroll$descend2","scrollIndex","getIndex","makeFormatHandler","shortKey","charCodeAt","ESCAPE","UP","DOWN","cutoff","updateContents","_quill$getLine3","_quill$getLine4","_quill$getLine5","_quill$getLine6","header","_quill$getLine7","_quill$getLine8","_quill$getLine9","_quill$getLine10","Cursor","restoreText","_Parchment$Container","ColorStyle","ColorClass","ColorAttributor","_Parchment$Attributor","sanitize","Link","url","_sanitize","PROTOCOL_WHITELIST","SANITIZED_URL","protocols","anchor","href","protocol","_keyboard2","_dropdown2","optionsCounter","toggleAriaAttribute","Picker","select","buildPicker","togglePicker","escape","option","tabIndex","hasAttribute","selectItem","buildItem","selected","buildLabel","buildOptions","close","trigger","selectedIndex","Event","dispatchEvent","initEvent","isActive","_embed2","_scroll2","_clipboard2","_history2","ShadowBlot","cloneNode","parentBlot","refDomNode","AttributorStore","styles","attr","ClassAttributor","camelize","parts","part","StyleAttributor","Theme","themes","GUARD_TEXT","contentNode","childNode","leftGuard","rightGuard","prevLength","AlignStyle","AlignClass","AlignAttribute","BackgroundStyle","BackgroundClass","_color","DirectionStyle","DirectionClass","DirectionAttribute","FontClass","FontStyle","FontStyleAttributor","SizeStyle","SizeClass","getLastChangeIndex","History","lastRecorded","ignoreChange","userOnly","record","undo","redo","dest","changeDelta","undoDelta","delay","maxStack","deleteLength","changeIndex","endsWithNewlineChange","BaseTooltip","_colorPicker2","_iconPicker2","_picker2","_tooltip2","ALIGNS","COLORS","FONTS","HEADERS","SIZES","BaseTheme","_Theme","textbox","hide","pickers","picker","extendToolbar","buttons","icons","button","selects","fillSelect","handlers","formula","edit","fileInput","files","reader","FileReader","onload","readAsDataURL","click","video","_Tooltip","boundsContainer","cancel","preview","linkRange","restoreFocus","LinkedList","append","nodes","curNode","ret","curIndex","curLength","OBSERVER_CONFIG","characterData","characterDataOldValue","childList","subtree","ScrollBlot","MutationObserver","observe","disconnect","records","mark","markParent","remaining","previousSibling","grandChild","InlineBlot","obj1","obj2","isEqual","BlockBlot","EmbedBlot","splitText","_toggle","DOMTokenList","token","searchString","subjectString","execCommand","DIFF_DELETE","DIFF_INSERT","DIFF_EQUAL","diff_main","text1","text2","cursor_pos","commonlength","diff_commonPrefix","commonprefix","diff_commonSuffix","commonsuffix","diffs","longtext","shorttext","hm","diff_halfMatchI_","best_longtext_a","best_longtext_b","best_shorttext_a","best_shorttext_b","seed","best_common","prefixLength","text1_a","text1_b","text2_a","text2_b","hm1","hm2","diff_halfMatch_","mid_common","diffs_a","diffs_b","text1_length","text2_length","max_d","v_offset","v_length","front","k1start","k1end","k2start","k2end","k1","k1_offset","k2_offset","diff_bisectSplit_","k2","diff_bisect_","diff_compute_","diff_cleanupMerge","pointer","count_delete","count_insert","text_delete","text_insert","changes","norm","current_pos","next_pos","split_pos","d_left","d_right","cursor_normalize_diff","ndiffs","cursor_pointer","d_next","merge_tuples","fix_cursor","compact","starts_with_pair_end","fixed_diffs","fix_emoji","text1a","text2a","text1b","text2b","diffsb","pointermin","pointermax","pointermid","pointerstart","pointerend","left_d","right_d","shim","supportsArgumentsClass","supported","unsupported","propertyIsEnumerable","has","Events","EE","EventEmitter","_events","_eventsCount","eventNames","exists","available","ee","a2","a3","a4","a5","removeAllListeners","setMaxListeners","prefixed","matchText","matchSpacing","matchNewline","matchBlot","matchAttributor","_extend3","_align","_background","_direction","_font","_size","DOM_KEY","CLIPBOARD_CONFIG","deltaEndsWith","ELEMENT_NODE","computeStyle","italic","fontWeight","bold","applyFormat","textIndent","matchAlias","ATTRIBUTE_ATTRIBUTORS","STYLE_ATTRIBUTORS","Clipboard","onPaste","matchers","matcher","matchVisual","addMatcher","selector","innerText","_prepareMatching","prepareMatching","_prepareMatching2","traverse","elementMatchers","textMatchers","nodeType","childrenDelta","paste","pair","_pair","endText","nextElementSibling","nodeHeight","offsetHeight","marginTop","marginBottom","offsetTop","whiteSpace","replacer","collapse","Bold","addControls","Toolbar","_ret","controls","addHandler","_this$quill$selection","_this$quill$selection2","_quill$selection$getR","prompt","addButton","groups","group","control","addSelect","clean","ColorPicker","_Picker","colorLabel","IconPicker","defaultItem","TEMPLATE","reference","offsetWidth","rootBounds","_base","_base2","_link2","_icons2","TOOLBAR_CONFIG","SnowTheme","_BaseTheme","buildButtons","buildPickers","SnowTooltip","_BaseTooltip","show","_core2","_indent","_blockquote2","_header2","_list","_list2","_bold2","_italic2","_script2","_strike2","_underline2","_image2","_video2","_code","_formula2","_syntax2","_toolbar2","_bubble2","_snow2","IndentClass","ListItem","IdentAttributor","Blockquote","Header","List","_Container","listEventHandler","Italic","_Bold","Script","Strike","Underline","_link","ATTRIBUTES","Image","Video","_BlockEmbed","FormulaBlot","_Embed","katex","throwOnError","errorColor","Formula","CodeToken","SyntaxCodeBlock","_CodeBlock","_highlight","cachedText","Syntax","highlight","timer","clearTimeout","code","hljs","highlightAuto","BubbleTooltip","BubbleTheme","lastLine","_bounds","arrow","marginLeft","IS_BOT_REGEXP","DeviceUUID","defOptions","language","os","pixelDepth","colorDepth","resolution","isAuthoritative","silkAccelerated","isKindleFire","isDesktop","isMobile","isTablet","isWindows","isLinux","isLinux64","isChromeOS","isMac","isiPad","isiPhone","isiPod","isAndroid","isSamsung","isSmartTV","isRaspberry","isBlackberry","isTouchScreen","isOpera","isIE","isEdge","isIECompatibilityMode","isSafari","isFirefox","isWebkit","isChrome","isKonqueror","isOmniWeb","isSeaMonkey","isFlock","isAmaya","isPhantomJS","isEpiphany","cpuCores","_Versions","Edge","Firefox","IE","Chrome","Chromium","Safari","Opera","Ps3","Psp","Amaya","SeaMonkey","OmniWeb","Flock","Epiphany","WinJs","PhantomJS","UC","_Browsers","Konqueror","PS3","PSP","_OS","Windows10","Windows81","Windows8","Windows7","UnknownWindows","WindowsVista","Windows2003","WindowsXP","Windows2000","WindowsPhone8","OSXCheetah","OSXPuma","OSXJaguar","OSXPanther","OSXTiger","OSXLeopard","OSXSnowLeopard","OSXLion","OSXMountainLion","OSXMavericks","OSXYosemite","OSXElCapitan","OSXSierra","Mac","Linux","Linux64","ChromeOS","Wii","iPad","iPhone","Bada","Curl","_Platform","Windows","WindowsPhone","Playstation","iPod","Android","Blackberry","Samsung","DefaultAgent","isBada","isBot","isCurl","isAndroidTablet","isWinJs","isSilk","isCaptive","isUC","browser","geoIp","hashInt","hashMD5","rotateLeft","lValue","iShiftBits","addUnsigned","lX","lY","lX4","lY4","lX8","lY8","lResult","gFF","ac","gF","gGG","gG","gHH","gH","gII","gI","wordToHex","lCount","wordToHexValue","wordToHexValueTemp","AA","BB","CC","DD","lWordCount","lMessageLength","lNumberOfWordsTemp1","lNumberOfWords","lWordArray","lBytePosition","lByteCount","convertToWordArray","utftext","utf8Encode","Agent","getBrowser","$1","getBrowserVersion","$2","getOS","getPlatform","isWindowsPhone","isiSamsung","testCompatibilityMode","ua","tridentVersion","testSilk","SilkAccelerated","testKindleFire","testCaptiveNetwork","testMobile","testTablet","testNginxGeoIP","headers","testBot","exec","testSmartTV","testAndroidTablet","testTouchSupport","maxTouchPoints","msMaxTouchPoints","getLaguage","userLanguage","browserLanguage","systemLanguage","getColorDepth","screen","getScreenResolution","availWidth","availHeight","getPixelDepth","getCPU","hardwareConcurrency","customData","du","dua","tmpUuid"],"mappings":"CAMC,SAAUA,EAAQC,GACA,iBAAZC,SAA0C,oBAAXC,OAAyBA,OAAOD,QAAUD,EAAQ,WAAa,IAAM,OAAOG,QAAQ,UAAa,MAAMC,KAArD,IACtE,mBAAXC,QAAyBA,OAAOC,IAAMD,OAAO,CAAC,YAAY,SAASF,GAAW,OAAOH,EAAQ,WAAa,IAAM,OAAOG,EAAQ,UAAa,MAAMC,KAArD,QACnGL,EAASA,GAAUQ,MAAaC,MAAQR,EAAQD,EAAOU,QAHxD,CAIEC,MAAM,SAAWD,GAAU,aAE7BA,EAASA,GAAUA,EAAOE,eAAe,WAAaF,EAAgB,QAAIA,EAU1E,IAAIG,EAAY,CACf,UAAa,CAAC,IAAK,IAAK,KACxB,aAAgB,CAAC,IAAK,IAAK,KAC3B,KAAQ,CAAC,EAAG,IAAK,KACjB,WAAc,CAAC,IAAK,IAAK,KACzB,MAAS,CAAC,IAAK,IAAK,KACpB,MAAS,CAAC,IAAK,IAAK,KACpB,OAAU,CAAC,IAAK,IAAK,KACrB,MAAS,CAAC,EAAG,EAAG,GAChB,eAAkB,CAAC,IAAK,IAAK,KAC7B,KAAQ,CAAC,EAAG,EAAG,KACf,WAAc,CAAC,IAAK,GAAI,KACxB,MAAS,CAAC,IAAK,GAAI,IACnB,UAAa,CAAC,IAAK,IAAK,KACxB,UAAa,CAAC,GAAI,IAAK,KACvB,WAAc,CAAC,IAAK,IAAK,GACzB,UAAa,CAAC,IAAK,IAAK,IACxB,MAAS,CAAC,IAAK,IAAK,IACpB,eAAkB,CAAC,IAAK,IAAK,KAC7B,SAAY,CAAC,IAAK,IAAK,KACvB,QAAW,CAAC,IAAK,GAAI,IACrB,KAAQ,CAAC,EAAG,IAAK,KACjB,SAAY,CAAC,EAAG,EAAG,KACnB,SAAY,CAAC,EAAG,IAAK,KACrB,cAAiB,CAAC,IAAK,IAAK,IAC5B,SAAY,CAAC,IAAK,IAAK,KACvB,UAAa,CAAC,EAAG,IAAK,GACtB,SAAY,CAAC,IAAK,IAAK,KACvB,UAAa,CAAC,IAAK,IAAK,KACxB,YAAe,CAAC,IAAK,EAAG,KACxB,eAAkB,CAAC,GAAI,IAAK,IAC5B,WAAc,CAAC,IAAK,IAAK,GACzB,WAAc,CAAC,IAAK,GAAI,KACxB,QAAW,CAAC,IAAK,EAAG,GACpB,WAAc,CAAC,IAAK,IAAK,KACzB,aAAgB,CAAC,IAAK,IAAK,KAC3B,cAAiB,CAAC,GAAI,GAAI,KAC1B,cAAiB,CAAC,GAAI,GAAI,IAC1B,cAAiB,CAAC,GAAI,GAAI,IAC1B,cAAiB,CAAC,EAAG,IAAK,KAC1B,WAAc,CAAC,IAAK,EAAG,KACvB,SAAY,CAAC,IAAK,GAAI,KACtB,YAAe,CAAC,EAAG,IAAK,KACxB,QAAW,CAAC,IAAK,IAAK,KACtB,QAAW,CAAC,IAAK,IAAK,KACtB,WAAc,CAAC,GAAI,IAAK,KACxB,UAAa,CAAC,IAAK,GAAI,IACvB,YAAe,CAAC,IAAK,IAAK,KAC1B,YAAe,CAAC,GAAI,IAAK,IACzB,QAAW,CAAC,IAAK,EAAG,KACpB,UAAa,CAAC,IAAK,IAAK,KACxB,WAAc,CAAC,IAAK,IAAK,KACzB,KAAQ,CAAC,IAAK,IAAK,GACnB,UAAa,CAAC,IAAK,IAAK,IACxB,KAAQ,CAAC,IAAK,IAAK,KACnB,MAAS,CAAC,EAAG,IAAK,GAClB,YAAe,CAAC,IAAK,IAAK,IAC1B,KAAQ,CAAC,IAAK,IAAK,KACnB,SAAY,CAAC,IAAK,IAAK,KACvB,QAAW,CAAC,IAAK,IAAK,KACtB,UAAa,CAAC,IAAK,GAAI,IACvB,OAAU,CAAC,GAAI,EAAG,KAClB,MAAS,CAAC,IAAK,IAAK,KACpB,MAAS,CAAC,IAAK,IAAK,KACpB,SAAY,CAAC,IAAK,IAAK,KACvB,cAAiB,CAAC,IAAK,IAAK,KAC5B,UAAa,CAAC,IAAK,IAAK,GACxB,aAAgB,CAAC,IAAK,IAAK,KAC3B,UAAa,CAAC,IAAK,IAAK,KACxB,WAAc,CAAC,IAAK,IAAK,KACzB,UAAa,CAAC,IAAK,IAAK,KACxB,qBAAwB,CAAC,IAAK,IAAK,KACnC,UAAa,CAAC,IAAK,IAAK,KACxB,WAAc,CAAC,IAAK,IAAK,KACzB,UAAa,CAAC,IAAK,IAAK,KACxB,UAAa,CAAC,IAAK,IAAK,KACxB,YAAe,CAAC,IAAK,IAAK,KAC1B,cAAiB,CAAC,GAAI,IAAK,KAC3B,aAAgB,CAAC,IAAK,IAAK,KAC3B,eAAkB,CAAC,IAAK,IAAK,KAC7B,eAAkB,CAAC,IAAK,IAAK,KAC7B,eAAkB,CAAC,IAAK,IAAK,KAC7B,YAAe,CAAC,IAAK,IAAK,KAC1B,KAAQ,CAAC,EAAG,IAAK,GACjB,UAAa,CAAC,GAAI,IAAK,IACvB,MAAS,CAAC,IAAK,IAAK,KACpB,QAAW,CAAC,IAAK,EAAG,KACpB,OAAU,CAAC,IAAK,EAAG,GACnB,iBAAoB,CAAC,IAAK,IAAK,KAC/B,WAAc,CAAC,EAAG,EAAG,KACrB,aAAgB,CAAC,IAAK,GAAI,KAC1B,aAAgB,CAAC,IAAK,IAAK,KAC3B,eAAkB,CAAC,GAAI,IAAK,KAC5B,gBAAmB,CAAC,IAAK,IAAK,KAC9B,kBAAqB,CAAC,EAAG,IAAK,KAC9B,gBAAmB,CAAC,GAAI,IAAK,KAC7B,gBAAmB,CAAC,IAAK,GAAI,KAC7B,aAAgB,CAAC,GAAI,GAAI,KACzB,UAAa,CAAC,IAAK,IAAK,KACxB,UAAa,CAAC,IAAK,IAAK,KACxB,SAAY,CAAC,IAAK,IAAK,KACvB,YAAe,CAAC,IAAK,IAAK,KAC1B,KAAQ,CAAC,EAAG,EAAG,KACf,QAAW,CAAC,IAAK,IAAK,KACtB,MAAS,CAAC,IAAK,IAAK,GACpB,UAAa,CAAC,IAAK,IAAK,IACxB,OAAU,CAAC,IAAK,IAAK,GACrB,UAAa,CAAC,IAAK,GAAI,GACvB,OAAU,CAAC,IAAK,IAAK,KACrB,cAAiB,CAAC,IAAK,IAAK,KAC5B,UAAa,CAAC,IAAK,IAAK,KACxB,cAAiB,CAAC,IAAK,IAAK,KAC5B,cAAiB,CAAC,IAAK,IAAK,KAC5B,WAAc,CAAC,IAAK,IAAK,KACzB,UAAa,CAAC,IAAK,IAAK,KACxB,KAAQ,CAAC,IAAK,IAAK,IACnB,KAAQ,CAAC,IAAK,IAAK,KACnB,KAAQ,CAAC,IAAK,IAAK,KACnB,WAAc,CAAC,IAAK,IAAK,KACzB,OAAU,CAAC,IAAK,EAAG,KACnB,cAAiB,CAAC,IAAK,GAAI,KAC3B,IAAO,CAAC,IAAK,EAAG,GAChB,UAAa,CAAC,IAAK,IAAK,KACxB,UAAa,CAAC,GAAI,IAAK,KACvB,YAAe,CAAC,IAAK,GAAI,IACzB,OAAU,CAAC,IAAK,IAAK,KACrB,WAAc,CAAC,IAAK,IAAK,IACzB,SAAY,CAAC,GAAI,IAAK,IACtB,SAAY,CAAC,IAAK,IAAK,KACvB,OAAU,CAAC,IAAK,GAAI,IACpB,OAAU,CAAC,IAAK,IAAK,KACrB,QAAW,CAAC,IAAK,IAAK,KACtB,UAAa,CAAC,IAAK,GAAI,KACvB,UAAa,CAAC,IAAK,IAAK,KACxB,UAAa,CAAC,IAAK,IAAK,KACxB,KAAQ,CAAC,IAAK,IAAK,KACnB,YAAe,CAAC,EAAG,IAAK,KACxB,UAAa,CAAC,GAAI,IAAK,KACvB,IAAO,CAAC,IAAK,IAAK,KAClB,KAAQ,CAAC,EAAG,IAAK,KACjB,QAAW,CAAC,IAAK,IAAK,KACtB,OAAU,CAAC,IAAK,GAAI,IACpB,UAAa,CAAC,GAAI,IAAK,KACvB,OAAU,CAAC,IAAK,IAAK,KACrB,MAAS,CAAC,IAAK,IAAK,KACpB,MAAS,CAAC,IAAK,IAAK,KACpB,WAAc,CAAC,IAAK,IAAK,KACzB,OAAU,CAAC,IAAK,IAAK,GACrB,YAAe,CAAC,IAAK,IAAK,KAGvBC,EA/JJ,SAA8BC,EAAIZ,GACjC,OA8JsC,SAAUA,GAQjD,IAAIa,EAAkB,GACtB,IAAK,IAAIC,KAAOJ,EACXA,EAAUD,eAAeK,KAC5BD,EAAgBH,EAAUI,IAAQA,GAIpC,IAAIC,EAAUf,EAAOD,QAAU,CAC9BiB,IAAK,CAACC,SAAU,EAAGC,OAAQ,OAC3BC,IAAK,CAACF,SAAU,EAAGC,OAAQ,OAC3BE,IAAK,CAACH,SAAU,EAAGC,OAAQ,OAC3BG,IAAK,CAACJ,SAAU,EAAGC,OAAQ,OAC3BI,KAAM,CAACL,SAAU,EAAGC,OAAQ,QAC5BK,IAAK,CAACN,SAAU,EAAGC,OAAQ,OAC3BM,IAAK,CAACP,SAAU,EAAGC,OAAQ,OAC3BO,IAAK,CAACR,SAAU,EAAGC,OAAQ,OAC3BQ,IAAK,CAACT,SAAU,EAAGC,OAAQ,CAAC,QAC5BS,QAAS,CAACV,SAAU,EAAGC,OAAQ,CAAC,YAChCU,OAAQ,CAACX,SAAU,EAAGC,OAAQ,CAAC,WAC/BW,QAAS,CAACZ,SAAU,EAAGC,OAAQ,CAAC,YAChCY,IAAK,CAACb,SAAU,EAAGC,OAAQ,CAAC,IAAK,IAAK,MACtCa,MAAO,CAACd,SAAU,EAAGC,OAAQ,CAAC,MAAO,MAAO,QAC5Cc,KAAM,CAACf,SAAU,EAAGC,OAAQ,CAAC,UAI9B,IAAK,IAAIe,KAASlB,EACjB,GAAIA,EAAQN,eAAewB,GAAQ,CAClC,KAAM,aAAclB,EAAQkB,IAC3B,MAAM,IAAIC,MAAM,8BAAgCD,GAGjD,KAAM,WAAYlB,EAAQkB,IACzB,MAAM,IAAIC,MAAM,oCAAsCD,GAGvD,GAAIlB,EAAQkB,GAAOf,OAAOiB,SAAWpB,EAAQkB,GAAOhB,SACnD,MAAM,IAAIiB,MAAM,sCAAwCD,GAGzD,IAAIhB,EAAWF,EAAQkB,GAAOhB,SAC1BC,EAASH,EAAQkB,GAAOf,cACrBH,EAAQkB,GAAOhB,gBACfF,EAAQkB,GAAOf,OACtBkB,OAAOC,eAAetB,EAAQkB,GAAQ,WAAY,CAACK,MAAOrB,IAC1DmB,OAAOC,eAAetB,EAAQkB,GAAQ,SAAU,CAACK,MAAOpB,IAI1DH,EAAQC,IAAIG,IAAM,SAAUH,GAC3B,IAMIuB,EAEAC,EARAC,EAAIzB,EAAI,GAAK,IACb0B,EAAI1B,EAAI,GAAK,IACb2B,EAAI3B,EAAI,GAAK,IACb4B,EAAMC,KAAKD,IAAIH,EAAGC,EAAGC,GACrBG,EAAMD,KAAKC,IAAIL,EAAGC,EAAGC,GACrBI,EAAQD,EAAMF,EA+BlB,OA1BIE,IAAQF,EACXL,EAAI,EACME,IAAMK,EAChBP,GAAKG,EAAIC,GAAKI,EACJL,IAAMI,EAChBP,EAAI,GAAKI,EAAIF,GAAKM,EACRJ,IAAMG,IAChBP,EAAI,GAAKE,EAAIC,GAAKK,IAGnBR,EAAIM,KAAKD,IAAQ,GAAJL,EAAQ,MAEb,IACPA,GAAK,KAGNC,GAAKI,EAAME,GAAO,EAUX,CAACP,EAAO,KARXO,IAAQF,EACP,EACMJ,GAAK,GACXO,GAASD,EAAMF,GAEfG,GAAS,EAAID,EAAMF,IAGA,IAAJJ,IAGrBzB,EAAQC,IAAII,IAAM,SAAUJ,GAC3B,IAAIgC,EACAC,EACAC,EACAX,EACAY,EAEAV,EAAIzB,EAAI,GAAK,IACb0B,EAAI1B,EAAI,GAAK,IACb2B,EAAI3B,EAAI,GAAK,IACboC,EAAIP,KAAKC,IAAIL,EAAGC,EAAGC,GACnBU,EAAOD,EAAIP,KAAKD,IAAIH,EAAGC,EAAGC,GAC1BW,EAAQ,SAAUC,GACrB,OAAQH,EAAIG,GAAK,EAAIF,EAAO,IAyB7B,OAtBa,IAATA,EACHd,EAAIY,EAAI,GAERA,EAAIE,EAAOD,EACXJ,EAAOM,EAAMb,GACbQ,EAAOK,EAAMZ,GACbQ,EAAOI,EAAMX,GAETF,IAAMW,EACTb,EAAIW,EAAOD,EACDP,IAAMU,EAChBb,EAAK,EAAI,EAAKS,EAAOE,EACXP,IAAMS,IAChBb,EAAK,EAAI,EAAKU,EAAOD,GAElBT,EAAI,EACPA,GAAK,EACKA,EAAI,IACdA,GAAK,IAIA,CACF,IAAJA,EACI,IAAJY,EACI,IAAJC,IAIFrC,EAAQC,IAAIK,IAAM,SAAUL,GAC3B,IAAIyB,EAAIzB,EAAI,GACR0B,EAAI1B,EAAI,GACR2B,EAAI3B,EAAI,GAMZ,MAAO,CALCD,EAAQC,IAAIG,IAAIH,GAAK,GACrB,EAAI,IAAM6B,KAAKD,IAAIH,EAAGI,KAAKD,IAAIF,EAAGC,IAI3B,IAAS,KAFxBA,EAAI,EAAI,EAAI,IAAME,KAAKC,IAAIL,EAAGI,KAAKC,IAAIJ,EAAGC,OAK3C5B,EAAQC,IAAIM,KAAO,SAAUN,GAC5B,IAMIwC,EANAf,EAAIzB,EAAI,GAAK,IACb0B,EAAI1B,EAAI,GAAK,IACb2B,EAAI3B,EAAI,GAAK,IAWjB,MAAO,CAAK,MAJP,EAAIyB,GADTe,EAAIX,KAAKD,IAAI,EAAIH,EAAG,EAAIC,EAAG,EAAIC,MACZ,EAAIa,IAAM,GAIR,MAHhB,EAAId,EAAIc,IAAM,EAAIA,IAAM,GAGC,MAFzB,EAAIb,EAAIa,IAAM,EAAIA,IAAM,GAEU,IAAJA,IAcpCzC,EAAQC,IAAIW,QAAU,SAAUX,GAC/B,IAAIyC,EAAW5C,EAAgBG,GAC/B,GAAIyC,EACH,OAAOA,EAGR,IACIC,EAfwBC,EAAGC,EAc3BC,EAAyBC,IAG7B,IAAK,IAAInC,KAAWjB,EACnB,GAAIA,EAAUD,eAAekB,GAAU,CACtC,IAGIoC,GAtBsBJ,EAsBS3C,EAtBN4C,EAmBjBlD,EAAUiB,GAjBvBkB,KAAKmB,IAAIL,EAAE,GAAKC,EAAE,GAAI,GACtBf,KAAKmB,IAAIL,EAAE,GAAKC,EAAE,GAAI,GACtBf,KAAKmB,IAAIL,EAAE,GAAKC,EAAE,GAAI,IAqBjBG,EAAWF,IACdA,EAAyBE,EACzBL,EAAwB/B,GAK3B,OAAO+B,GAGR3C,EAAQY,QAAQX,IAAM,SAAUW,GAC/B,OAAOjB,EAAUiB,IAGlBZ,EAAQC,IAAIO,IAAM,SAAUP,GAC3B,IAAIyB,EAAIzB,EAAI,GAAK,IACb0B,EAAI1B,EAAI,GAAK,IACb2B,EAAI3B,EAAI,GAAK,IAWjB,MAAO,CAAK,KAJC,OAJbyB,EAAIA,EAAI,OAAUI,KAAKmB,KAAMvB,EAAI,MAAS,MAAQ,KAAQA,EAAI,OAIlC,OAH5BC,EAAIA,EAAI,OAAUG,KAAKmB,KAAMtB,EAAI,MAAS,MAAQ,KAAQA,EAAI,OAGnB,OAF3CC,EAAIA,EAAI,OAAUE,KAAKmB,KAAMrB,EAAI,MAAS,MAAQ,KAAQA,EAAI,QAMzC,KAHR,MAAJF,EAAmB,MAAJC,EAAmB,MAAJC,GAGT,KAFjB,MAAJF,EAAmB,MAAJC,EAAmB,MAAJC,KAKxC5B,EAAQC,IAAIQ,IAAM,SAAUR,GAC3B,IAAIO,EAAMR,EAAQC,IAAIO,IAAIP,GACtB2C,EAAIpC,EAAI,GACRqC,EAAIrC,EAAI,GACR0C,EAAI1C,EAAI,GAiBZ,OAXAqC,GAAK,IACLK,GAAK,QAELN,GAJAA,GAAK,QAIG,QAAWd,KAAKmB,IAAIL,EAAG,EAAI,GAAM,MAAQA,EAAM,GAAK,IAQrD,CAJF,KAHLC,EAAIA,EAAI,QAAWf,KAAKmB,IAAIJ,EAAG,EAAI,GAAM,MAAQA,EAAM,GAAK,KAG5C,GACZ,KAAOD,EAAIC,GACX,KAAOA,GAJXK,EAAIA,EAAI,QAAWpB,KAAKmB,IAAIC,EAAG,EAAI,GAAM,MAAQA,EAAM,GAAK,QAS7DlD,EAAQI,IAAIH,IAAM,SAAUG,GAC3B,IAGI+C,EACAC,EACAC,EACApD,EACAqD,EAPA9B,EAAIpB,EAAI,GAAK,IACbgC,EAAIhC,EAAI,GAAK,IACbqB,EAAIrB,EAAI,GAAK,IAOjB,GAAU,IAANgC,EAEH,MAAO,CADPkB,EAAU,IAAJ7B,EACO6B,EAAKA,GASnBH,EAAK,EAAI1B,GALR2B,EADG3B,EAAI,GACFA,GAAK,EAAIW,GAETX,EAAIW,EAAIX,EAAIW,GAKlBnC,EAAM,CAAC,EAAG,EAAG,GACb,IAAK,IAAIsD,EAAI,EAAGA,EAAI,EAAGA,KACtBF,EAAK7B,EAAI,EAAI,IAAM+B,EAAI,IACd,GACRF,IAEGA,EAAK,GACRA,IAaDpD,EAAIsD,GAAW,KATdD,EADG,EAAID,EAAK,EACNF,EAAiB,GAAXC,EAAKD,GAAUE,EACjB,EAAIA,EAAK,EACbD,EACI,EAAIC,EAAK,EACbF,GAAMC,EAAKD,IAAO,EAAI,EAAIE,GAAM,EAEhCF,GAMR,OAAOlD,GAGRD,EAAQI,IAAIC,IAAM,SAAUD,GAC3B,IAAIoB,EAAIpB,EAAI,GACRgC,EAAIhC,EAAI,GAAK,IACbqB,EAAIrB,EAAI,GAAK,IACboD,EAAOpB,EACPqB,EAAO3B,KAAKC,IAAIN,EAAG,KAUvB,OALAW,IADAX,GAAK,IACM,EAAKA,EAAI,EAAIA,EACxB+B,GAAQC,GAAQ,EAAIA,EAAO,EAAIA,EAIxB,CAACjC,EAAQ,KAFL,IAANC,EAAW,EAAI+B,GAASC,EAAOD,GAAS,EAAIpB,GAAMX,EAAIW,KADtDX,EAAIW,GAAK,EAGW,MAG1BpC,EAAQK,IAAIJ,IAAM,SAAUI,GAC3B,IAAImB,EAAInB,EAAI,GAAK,GACb+B,EAAI/B,EAAI,GAAK,IACbgC,EAAIhC,EAAI,GAAK,IACbqD,EAAK5B,KAAK6B,MAAMnC,GAAK,EAErBoC,EAAIpC,EAAIM,KAAK6B,MAAMnC,GACnBqC,EAAI,IAAMxB,GAAK,EAAID,GACnB0B,EAAI,IAAMzB,GAAK,EAAKD,EAAIwB,GACxBG,EAAI,IAAM1B,GAAK,EAAKD,GAAK,EAAIwB,IAGjC,OAFAvB,GAAK,IAEGqB,GACP,KAAK,EACJ,MAAO,CAACrB,EAAG0B,EAAGF,GACf,KAAK,EACJ,MAAO,CAACC,EAAGzB,EAAGwB,GACf,KAAK,EACJ,MAAO,CAACA,EAAGxB,EAAG0B,GACf,KAAK,EACJ,MAAO,CAACF,EAAGC,EAAGzB,GACf,KAAK,EACJ,MAAO,CAAC0B,EAAGF,EAAGxB,GACf,KAAK,EACJ,MAAO,CAACA,EAAGwB,EAAGC,KAIjB9D,EAAQK,IAAID,IAAM,SAAUC,GAC3B,IAIIoD,EACAO,EACAvC,EANAD,EAAInB,EAAI,GACR+B,EAAI/B,EAAI,GAAK,IACbgC,EAAIhC,EAAI,GAAK,IACb4D,EAAOnC,KAAKC,IAAIM,EAAG,KAYvB,OAPAZ,GAAK,EAAIW,GAAKC,EAEd2B,EAAK5B,EAAI6B,EAKF,CAACzC,EAAQ,KAHhBwC,GADAA,IAFAP,GAAQ,EAAIrB,GAAK6B,IAEF,EAAKR,EAAO,EAAIA,IACpB,GAGc,KAFzBhC,GAAK,KAMNzB,EAAQM,IAAIL,IAAM,SAAUK,GAC3B,IAIIiD,EACAlB,EACAuB,EACAM,EAkBAxC,EACAC,EACAC,EA3BAJ,EAAIlB,EAAI,GAAK,IACb6D,EAAK7D,EAAI,GAAK,IACd8D,EAAK9D,EAAI,GAAK,IACd+D,EAAQF,EAAKC,EAyBjB,OAlBIC,EAAQ,IACXF,GAAME,EACND,GAAMC,GAKPT,EAAI,EAAIpC,GAFR+B,EAAIzB,KAAK6B,MAAM,EAAInC,IAIA,IAAV,EAAJ+B,KACJK,EAAI,EAAIA,GAGTM,EAAIC,EAAKP,IAPTvB,EAAI,EAAI+B,GAOUD,GAKVZ,GACP,QACA,KAAK,EACL,KAAK,EAAG7B,EAAIW,EAAGV,EAAIuC,EAAGtC,EAAIuC,EAAI,MAC9B,KAAK,EAAGzC,EAAIwC,EAAGvC,EAAIU,EAAGT,EAAIuC,EAAI,MAC9B,KAAK,EAAGzC,EAAIyC,EAAIxC,EAAIU,EAAGT,EAAIsC,EAAG,MAC9B,KAAK,EAAGxC,EAAIyC,EAAIxC,EAAIuC,EAAGtC,EAAIS,EAAG,MAC9B,KAAK,EAAGX,EAAIwC,EAAGvC,EAAIwC,EAAIvC,EAAIS,EAAG,MAC9B,KAAK,EAAGX,EAAIW,EAAGV,EAAIwC,EAAIvC,EAAIsC,EAG5B,MAAO,CAAK,IAAJxC,EAAa,IAAJC,EAAa,IAAJC,IAG3B5B,EAAQO,KAAKN,IAAM,SAAUM,GAC5B,IACI+D,EAAI/D,EAAK,GAAK,IACdsC,EAAItC,EAAK,GAAK,IACdkC,EAAIlC,EAAK,GAAK,IASlB,MAAO,CAAK,KAJR,EAAIuB,KAAKD,IAAI,EARTtB,EAAK,GAAK,KAQO,EAAIkC,GAAKA,IAIb,KAHjB,EAAIX,KAAKD,IAAI,EAAGyC,GAAK,EAAI7B,GAAKA,IAGJ,KAF1B,EAAIX,KAAKD,IAAI,EAAGgB,GAAK,EAAIJ,GAAKA,MAKnCzC,EAAQQ,IAAIP,IAAM,SAAUO,GAC3B,IAGIkB,EACAC,EACAC,EALAgB,EAAIpC,EAAI,GAAK,IACbqC,EAAIrC,EAAI,GAAK,IACb0C,EAAI1C,EAAI,GAAK,IA0BjB,OApBAmB,GAAU,MAALiB,EAAoB,OAAJC,EAAmB,MAAJK,EACpCtB,EAAS,MAAJgB,GAAoB,KAALC,EAAoB,MAAJK,EAGpCxB,GALAA,EAAS,OAAJkB,GAAoB,OAALC,GAAqB,MAALK,GAK5B,SACH,MAAQpB,KAAKmB,IAAIvB,EAAG,EAAM,KAAQ,KAChC,MAAJA,EAEHC,EAAIA,EAAI,SACH,MAAQG,KAAKmB,IAAItB,EAAG,EAAM,KAAQ,KAChC,MAAJA,EAEHC,EAAIA,EAAI,SACH,MAAQE,KAAKmB,IAAIrB,EAAG,EAAM,KAAQ,KAChC,MAAJA,EAMI,CAAK,KAJZF,EAAII,KAAKD,IAAIC,KAAKC,IAAI,EAAGL,GAAI,IAIR,KAHrBC,EAAIG,KAAKD,IAAIC,KAAKC,IAAI,EAAGJ,GAAI,IAGC,KAF9BC,EAAIE,KAAKD,IAAIC,KAAKC,IAAI,EAAGH,GAAI,MAK9B5B,EAAQQ,IAAIC,IAAM,SAAUD,GAC3B,IAAIoC,EAAIpC,EAAI,GACRqC,EAAIrC,EAAI,GACR0C,EAAI1C,EAAI,GAiBZ,OAXAqC,GAAK,IACLK,GAAK,QAELN,GAJAA,GAAK,QAIG,QAAWd,KAAKmB,IAAIL,EAAG,EAAI,GAAM,MAAQA,EAAM,GAAK,IAQrD,CAJF,KAHLC,EAAIA,EAAI,QAAWf,KAAKmB,IAAIJ,EAAG,EAAI,GAAM,MAAQA,EAAM,GAAK,KAG5C,GACZ,KAAOD,EAAIC,GACX,KAAOA,GAJXK,EAAIA,EAAI,QAAWpB,KAAKmB,IAAIC,EAAG,EAAI,GAAM,MAAQA,EAAM,GAAK,QAS7DlD,EAAQS,IAAID,IAAM,SAAUC,GAC3B,IAGImC,EACAC,EACAK,EAGJN,EAPQnC,EAAI,GAOJ,KADRoC,GAPQpC,EAAI,GAOH,IAAM,KAEfyC,EAAIL,EAPIpC,EAAI,GAOA,IAEZ,IAAI8D,EAAKzC,KAAKmB,IAAIJ,EAAG,GACjB2B,EAAK1C,KAAKmB,IAAIL,EAAG,GACjB6B,EAAK3C,KAAKmB,IAAIC,EAAG,GASrB,OARAL,EAAI0B,EAAK,QAAWA,GAAM1B,EAAI,GAAK,KAAO,MAC1CD,EAAI4B,EAAK,QAAWA,GAAM5B,EAAI,GAAK,KAAO,MAC1CM,EAAIuB,EAAK,QAAWA,GAAMvB,EAAI,GAAK,KAAO,MAMnC,CAJPN,GAAK,OACLC,GAAK,IACLK,GAAK,UAKNlD,EAAQS,IAAIC,IAAM,SAAUD,GAC3B,IAIIe,EAJAC,EAAIhB,EAAI,GACRiE,EAAIjE,EAAI,GACRmB,EAAInB,EAAI,GAcZ,OARAe,EAAS,IADJM,KAAK6C,MAAM/C,EAAG8C,GACJ,EAAI5C,KAAK8C,IAEhB,IACPpD,GAAK,KAKC,CAACC,EAFJK,KAAK+C,KAAKH,EAAIA,EAAI9C,EAAIA,GAEZJ,IAGfxB,EAAQU,IAAID,IAAM,SAAUC,GAC3B,IAKIoE,EAJAtC,EAAI9B,EAAI,GAUZ,OAJAoE,EALQpE,EAAI,GAKH,IAAM,EAAIoB,KAAK8C,GAIjB,CAXClE,EAAI,GAQR8B,EAAIV,KAAKiD,IAAID,GACbtC,EAAIV,KAAKkD,IAAIF,KAKlB9E,EAAQC,IAAIY,OAAS,SAAUoE,GAC9B,IAAIvD,EAAIuD,EAAK,GACTtD,EAAIsD,EAAK,GACTrD,EAAIqD,EAAK,GACT1D,EAAQ,KAAK2D,UAAYA,UAAU,GAAKlF,EAAQC,IAAII,IAAI4E,GAAM,GAIlE,GAAc,KAFd1D,EAAQO,KAAKqD,MAAM5D,EAAQ,KAG1B,OAAO,GAGR,IAAI6D,EAAO,IACNtD,KAAKqD,MAAMvD,EAAI,MAAQ,EACxBE,KAAKqD,MAAMxD,EAAI,MAAQ,EACxBG,KAAKqD,MAAMzD,EAAI,MAMlB,OAJc,IAAVH,IACH6D,GAAQ,IAGFA,GAGRpF,EAAQK,IAAIQ,OAAS,SAAUoE,GAG9B,OAAOjF,EAAQC,IAAIY,OAAOb,EAAQK,IAAIJ,IAAIgF,GAAOA,EAAK,KAGvDjF,EAAQC,IAAIa,QAAU,SAAUmE,GAC/B,IAAIvD,EAAIuD,EAAK,GACTtD,EAAIsD,EAAK,GACTrD,EAAIqD,EAAK,GAIb,OAAIvD,IAAMC,GAAKA,IAAMC,EAChBF,EAAI,EACA,GAGJA,EAAI,IACA,IAGDI,KAAKqD,OAAQzD,EAAI,GAAK,IAAO,IAAM,IAGhC,GACP,GAAKI,KAAKqD,MAAMzD,EAAI,IAAM,GAC1B,EAAII,KAAKqD,MAAMxD,EAAI,IAAM,GAC1BG,KAAKqD,MAAMvD,EAAI,IAAM,IAKzB5B,EAAQa,OAAOZ,IAAM,SAAUgF,GAC9B,IAAII,EAAQJ,EAAO,GAGnB,GAAc,IAAVI,GAAyB,IAAVA,EAOlB,OANIJ,EAAO,KACVI,GAAS,KAKH,CAFPA,EAAQA,EAAQ,KAAO,IAERA,EAAOA,GAGvB,IAAIC,EAA6B,IAAL,KAAbL,EAAO,KAKtB,MAAO,EAJW,EAARI,GAAaC,EAAQ,KACpBD,GAAS,EAAK,GAAKC,EAAQ,KAC3BD,GAAS,EAAK,GAAKC,EAAQ,MAKvCtF,EAAQc,QAAQb,IAAM,SAAUgF,GAE/B,GAAIA,GAAQ,IAAK,CAChB,IAAIzC,EAAmB,IAAdyC,EAAO,KAAY,EAC5B,MAAO,CAACzC,EAAGA,EAAGA,GAKf,IAAI+C,EAKJ,OAPAN,GAAQ,GAOD,CAJCnD,KAAK6B,MAAMsB,EAAO,IAAM,EAAI,IAC5BnD,KAAK6B,OAAO4B,EAAMN,EAAO,IAAM,GAAK,EAAI,IACvCM,EAAM,EAAK,EAAI,MAKzBvF,EAAQC,IAAIU,IAAM,SAAUsE,GAC3B,IAIIO,KAJkC,IAAtB1D,KAAKqD,MAAMF,EAAK,MAAe,MACpB,IAAtBnD,KAAKqD,MAAMF,EAAK,MAAe,IACV,IAAtBnD,KAAKqD,MAAMF,EAAK,MAECQ,SAAS,IAAIC,cAClC,MAAO,SAASC,UAAUH,EAAOpE,QAAUoE,GAG5CxF,EAAQW,IAAIV,IAAM,SAAUgF,GAC3B,IAAIW,EAAQX,EAAKQ,SAAS,IAAIG,MAAM,4BACpC,IAAKA,EACJ,MAAO,CAAC,EAAG,EAAG,GAGf,IAAIC,EAAcD,EAAM,GAEA,IAApBA,EAAM,GAAGxE,SACZyE,EAAcA,EAAYC,MAAM,IAAIC,KAAI,SAAUC,GACjD,OAAOA,EAAOA,KACZC,KAAK,KAGT,IAAIC,EAAUC,SAASN,EAAa,IAKpC,MAAO,CAJEK,GAAW,GAAM,IACjBA,GAAW,EAAK,IACP,IAAVA,IAKTlG,EAAQC,IAAIc,IAAM,SAAUd,GAC3B,IAOImG,EAPA1E,EAAIzB,EAAI,GAAK,IACb0B,EAAI1B,EAAI,GAAK,IACb2B,EAAI3B,EAAI,GAAK,IACb8B,EAAMD,KAAKC,IAAID,KAAKC,IAAIL,EAAGC,GAAIC,GAC/BC,EAAMC,KAAKD,IAAIC,KAAKD,IAAIH,EAAGC,GAAIC,GAC/ByE,EAAUtE,EAAMF,EAyBpB,OAdCuE,EADGC,GAAU,EACP,EAEHtE,IAAQL,GACHC,EAAIC,GAAKyE,EAAU,EAExBtE,IAAQJ,EACL,GAAKC,EAAIF,GAAK2E,EAEd,GAAK3E,EAAIC,GAAK0E,EAAS,EAG9BD,GAAO,EAGA,CAAO,KAFdA,GAAO,GAEqB,IAATC,EAA0B,KArBzCA,EAAS,EACAxE,GAAO,EAAIwE,GAEX,KAqBdrG,EAAQI,IAAIW,IAAM,SAAUX,GAC3B,IAEIoC,EAFAJ,EAAIhC,EAAI,GAAK,IACbqB,EAAIrB,EAAI,GAAK,IAEbwD,EAAI,EAYR,OATCpB,EADGf,EAAI,GACH,EAAMW,EAAIX,EAEV,EAAMW,GAAK,EAAMX,IAGd,IACPmC,GAAKnC,EAAI,GAAMe,IAAM,EAAMA,IAGrB,CAACpC,EAAI,GAAQ,IAAJoC,EAAa,IAAJoB,IAG1B5D,EAAQK,IAAIU,IAAM,SAAUV,GAC3B,IACIgC,EAAIhC,EAAI,GAAK,IAEbmC,EAHInC,EAAI,GAAK,IAGLgC,EACRuB,EAAI,EAMR,OAJIpB,EAAI,IACPoB,GAAKvB,EAAIG,IAAM,EAAIA,IAGb,CAACnC,EAAI,GAAQ,IAAJmC,EAAa,IAAJoB,IAG1B5D,EAAQe,IAAId,IAAM,SAAUc,GAC3B,IACIyB,EAAIzB,EAAI,GAAK,IACbY,EAAIZ,EAAI,GAAK,IAEjB,GAAU,IAANyB,EACH,MAAO,CAAK,IAAJb,EAAa,IAAJA,EAAa,IAAJA,GAG3B,IAII2E,EAJAC,EAAO,CAAC,EAAG,EAAG,GACd7C,EATI3C,EAAI,GAAK,IASH,EAAK,EACfsB,EAAIqB,EAAK,EACT8C,EAAI,EAAInE,EAGZ,OAAQP,KAAK6B,MAAMD,IAClB,KAAK,EACJ6C,EAAK,GAAK,EAAGA,EAAK,GAAKlE,EAAGkE,EAAK,GAAK,EAAG,MACxC,KAAK,EACJA,EAAK,GAAKC,EAAGD,EAAK,GAAK,EAAGA,EAAK,GAAK,EAAG,MACxC,KAAK,EACJA,EAAK,GAAK,EAAGA,EAAK,GAAK,EAAGA,EAAK,GAAKlE,EAAG,MACxC,KAAK,EACJkE,EAAK,GAAK,EAAGA,EAAK,GAAKC,EAAGD,EAAK,GAAK,EAAG,MACxC,KAAK,EACJA,EAAK,GAAKlE,EAAGkE,EAAK,GAAK,EAAGA,EAAK,GAAK,EAAG,MACxC,QACCA,EAAK,GAAK,EAAGA,EAAK,GAAK,EAAGA,EAAK,GAAKC,EAKtC,MAAO,CACe,KAApBhE,EAAI+D,EAAK,IAHXD,GAAM,EAAM9D,GAAKb,IAIK,KAApBa,EAAI+D,EAAK,GAAKD,GACM,KAApB9D,EAAI+D,EAAK,GAAKD,KAIjBtG,EAAQe,IAAIV,IAAM,SAAUU,GAC3B,IAAIyB,EAAIzB,EAAI,GAAK,IAGbsB,EAAIG,EAFAzB,EAAI,GAAK,KAEA,EAAMyB,GACnBoB,EAAI,EAMR,OAJIvB,EAAI,IACPuB,EAAIpB,EAAIH,GAGF,CAACtB,EAAI,GAAQ,IAAJ6C,EAAa,IAAJvB,IAG1BrC,EAAQe,IAAIX,IAAM,SAAUW,GAC3B,IAAIyB,EAAIzB,EAAI,GAAK,IAGbU,EAFIV,EAAI,GAAK,KAEJ,EAAMyB,GAAK,GAAMA,EAC1BJ,EAAI,EASR,OAPIX,EAAI,GAAOA,EAAI,GAClBW,EAAII,GAAK,EAAIf,GAEVA,GAAK,IAAOA,EAAI,IACnBW,EAAII,GAAK,GAAK,EAAIf,KAGZ,CAACV,EAAI,GAAQ,IAAJqB,EAAa,IAAJX,IAG1BzB,EAAQe,IAAIT,IAAM,SAAUS,GAC3B,IAAIyB,EAAIzB,EAAI,GAAK,IAEbsB,EAAIG,EADAzB,EAAI,GAAK,KACA,EAAMyB,GACvB,MAAO,CAACzB,EAAI,GAAc,KAATsB,EAAIG,GAAoB,KAAT,EAAIH,KAGrCrC,EAAQM,IAAIS,IAAM,SAAUT,GAC3B,IAEI+B,EAAI,EADA/B,EAAI,GAAK,IAEbkC,EAAIH,EAHA/B,EAAI,GAAK,IAIbqB,EAAI,EAMR,OAJIa,EAAI,IACPb,GAAKU,EAAIG,IAAM,EAAIA,IAGb,CAAClC,EAAI,GAAQ,IAAJkC,EAAa,IAAJb,IAG1B3B,EAAQgB,MAAMf,IAAM,SAAUe,GAC7B,MAAO,CAAEA,EAAM,GAAK,MAAS,IAAMA,EAAM,GAAK,MAAS,IAAMA,EAAM,GAAK,MAAS,MAGlFhB,EAAQC,IAAIe,MAAQ,SAAUf,GAC7B,MAAO,CAAEA,EAAI,GAAK,IAAO,MAAQA,EAAI,GAAK,IAAO,MAAQA,EAAI,GAAK,IAAO,QAG1ED,EAAQiB,KAAKhB,IAAM,SAAUgF,GAC5B,MAAO,CAACA,EAAK,GAAK,IAAM,IAAKA,EAAK,GAAK,IAAM,IAAKA,EAAK,GAAK,IAAM,MAGnEjF,EAAQiB,KAAKb,IAAMJ,EAAQiB,KAAKZ,IAAM,SAAU4E,GAC/C,MAAO,CAAC,EAAG,EAAGA,EAAK,KAGpBjF,EAAQiB,KAAKX,IAAM,SAAUW,GAC5B,MAAO,CAAC,EAAG,IAAKA,EAAK,KAGtBjB,EAAQiB,KAAKV,KAAO,SAAUU,GAC7B,MAAO,CAAC,EAAG,EAAG,EAAGA,EAAK,KAGvBjB,EAAQiB,KAAKR,IAAM,SAAUQ,GAC5B,MAAO,CAACA,EAAK,GAAI,EAAG,IAGrBjB,EAAQiB,KAAKN,IAAM,SAAUM,GAC5B,IAAIqC,EAAwC,IAAlCxB,KAAKqD,MAAMlE,EAAK,GAAK,IAAM,KAGjCuE,IAFWlC,GAAO,KAAOA,GAAO,GAAKA,GAEpBmC,SAAS,IAAIC,cAClC,MAAO,SAASC,UAAUH,EAAOpE,QAAUoE,GAG5CxF,EAAQC,IAAIgB,KAAO,SAAUhB,GAE5B,MAAO,EADIA,EAAI,GAAKA,EAAI,GAAKA,EAAI,IAAM,EACzB,IAAM,MAjgCaJ,CAA1BZ,EAAS,CAAED,QAAS,KAAkCC,EAAOD,QA8JnDyH,GA46BlB,SAASC,EAAKC,EAAMC,GACnB,OAAO,SAAU3B,GAChB,OAAO2B,EAAGD,EAAK1B,KAIjB,SAAS4B,EAAeC,EAASC,GAKhC,IAJA,IAAIC,EAAO,CAACD,EAAMD,GAASG,OAAQH,GAC/BjH,EAAKD,EAAYmH,EAAMD,GAASG,QAAQH,GAExCI,EAAMH,EAAMD,GAASG,OAClBF,EAAMG,GAAKD,QACjBD,EAAKG,QAAQJ,EAAMG,GAAKD,QACxBpH,EAAK6G,EAAK9G,EAAYmH,EAAMG,GAAKD,QAAQC,GAAMrH,GAC/CqH,EAAMH,EAAMG,GAAKD,OAIlB,OADApH,EAAGuH,WAAaJ,EACTnH,EAGR,IAoBIG,EAAU,GAEDqB,OAAOgG,KAAKzH,GAuDlB0H,SAAQ,SAAUC,GACxBvH,EAAQuH,GAAa,GAErBlG,OAAOC,eAAetB,EAAQuH,GAAY,WAAY,CAAChG,MAAO3B,EAAY2H,GAAWrH,WACrFmB,OAAOC,eAAetB,EAAQuH,GAAY,SAAU,CAAChG,MAAO3B,EAAY2H,GAAWpH,SAEnF,IAAIqH,EAnFO,SAAUD,GAKrB,IAJA,IAAIR,EA/CL,SAAmBQ,GAClB,IAAIR,EAnBL,WAKC,IAJA,IAAIA,EAAQ,GAERU,EAASpG,OAAOgG,KAAKzH,GAEhB8H,EAAMD,EAAOrG,OAAQmC,EAAI,EAAGA,EAAImE,EAAKnE,IAC7CwD,EAAMU,EAAOlE,IAAM,CAGlBP,UAAW,EACXiE,OAAQ,MAIV,OAAOF,EAKKY,GACRC,EAAQ,CAACL,GAIb,IAFAR,EAAMQ,GAAWvE,SAAW,EAErB4E,EAAMxG,QAIZ,IAHA,IAAIyG,EAAUD,EAAME,MAChBC,EAAY1G,OAAOgG,KAAKzH,EAAYiI,IAE/BH,EAAMK,EAAU3G,OAAQmC,EAAI,EAAGA,EAAImE,EAAKnE,IAAK,CACrD,IAAIyE,EAAWD,EAAUxE,GACrB0E,EAAOlB,EAAMiB,IAEM,IAAnBC,EAAKjF,WACRiF,EAAKjF,SAAW+D,EAAMc,GAAS7E,SAAW,EAC1CiF,EAAKhB,OAASY,EACdD,EAAMT,QAAQa,IAKjB,OAAOjB,EAyBKmB,CAAUX,GAClBH,EAAa,GAEbK,EAASpG,OAAOgG,KAAKN,GAChBW,EAAMD,EAAOrG,OAAQmC,EAAI,EAAGA,EAAImE,EAAKnE,IAAK,CAClD,IAAIuD,EAAUW,EAAOlE,GAGD,OAFTwD,EAAMD,GAERG,SAKTG,EAAWN,GAAWD,EAAeC,EAASC,IAG/C,OAAOK,EAkEMe,CAAMZ,GACDlG,OAAOgG,KAAKG,GAElBF,SAAQ,SAAUR,GAC7B,IAAIjH,EAAK2H,EAAOV,GAEhB9G,EAAQuH,GAAWT,GA5CrB,SAAqBjH,GACpB,IAAIuI,EAAY,SAAUnD,GACzB,GAAIA,QACH,OAAOA,EAGJC,UAAU9D,OAAS,IACtB6D,EAAOoD,MAAMC,UAAUC,MAAMC,KAAKtD,YAGnC,IAAIuD,EAAS5I,EAAGoF,GAKhB,GAAsB,iBAAXwD,EACV,IAAK,IAAIf,EAAMe,EAAOrH,OAAQmC,EAAI,EAAGA,EAAImE,EAAKnE,IAC7CkF,EAAOlF,GAAKzB,KAAKqD,MAAMsD,EAAOlF,IAIhC,OAAOkF,GAQR,MAJI,eAAgB5I,IACnBuI,EAAUhB,WAAavH,EAAGuH,YAGpBgB,EAewBM,CAAY7I,GAC1CG,EAAQuH,GAAWT,GAAS6B,IAlE9B,SAAiB9I,GAChB,IAAIuI,EAAY,SAAUnD,GACzB,OAAIA,QACIA,GAGJC,UAAU9D,OAAS,IACtB6D,EAAOoD,MAAMC,UAAUC,MAAMC,KAAKtD,YAG5BrF,EAAGoF,KAQX,MAJI,eAAgBpF,IACnBuI,EAAUhB,WAAavH,EAAGuH,YAGpBgB,EAgD4BQ,CAAQ/I,SAI5C,IAAIgJ,EAAe7I,EAEf8I,EAAc,CACjB,UAAa,CAAC,IAAK,IAAK,KACxB,aAAgB,CAAC,IAAK,IAAK,KAC3B,KAAQ,CAAC,EAAG,IAAK,KACjB,WAAc,CAAC,IAAK,IAAK,KACzB,MAAS,CAAC,IAAK,IAAK,KACpB,MAAS,CAAC,IAAK,IAAK,KACpB,OAAU,CAAC,IAAK,IAAK,KACrB,MAAS,CAAC,EAAG,EAAG,GAChB,eAAkB,CAAC,IAAK,IAAK,KAC7B,KAAQ,CAAC,EAAG,EAAG,KACf,WAAc,CAAC,IAAK,GAAI,KACxB,MAAS,CAAC,IAAK,GAAI,IACnB,UAAa,CAAC,IAAK,IAAK,KACxB,UAAa,CAAC,GAAI,IAAK,KACvB,WAAc,CAAC,IAAK,IAAK,GACzB,UAAa,CAAC,IAAK,IAAK,IACxB,MAAS,CAAC,IAAK,IAAK,IACpB,eAAkB,CAAC,IAAK,IAAK,KAC7B,SAAY,CAAC,IAAK,IAAK,KACvB,QAAW,CAAC,IAAK,GAAI,IACrB,KAAQ,CAAC,EAAG,IAAK,KACjB,SAAY,CAAC,EAAG,EAAG,KACnB,SAAY,CAAC,EAAG,IAAK,KACrB,cAAiB,CAAC,IAAK,IAAK,IAC5B,SAAY,CAAC,IAAK,IAAK,KACvB,UAAa,CAAC,EAAG,IAAK,GACtB,SAAY,CAAC,IAAK,IAAK,KACvB,UAAa,CAAC,IAAK,IAAK,KACxB,YAAe,CAAC,IAAK,EAAG,KACxB,eAAkB,CAAC,GAAI,IAAK,IAC5B,WAAc,CAAC,IAAK,IAAK,GACzB,WAAc,CAAC,IAAK,GAAI,KACxB,QAAW,CAAC,IAAK,EAAG,GACpB,WAAc,CAAC,IAAK,IAAK,KACzB,aAAgB,CAAC,IAAK,IAAK,KAC3B,cAAiB,CAAC,GAAI,GAAI,KAC1B,cAAiB,CAAC,GAAI,GAAI,IAC1B,cAAiB,CAAC,GAAI,GAAI,IAC1B,cAAiB,CAAC,EAAG,IAAK,KAC1B,WAAc,CAAC,IAAK,EAAG,KACvB,SAAY,CAAC,IAAK,GAAI,KACtB,YAAe,CAAC,EAAG,IAAK,KACxB,QAAW,CAAC,IAAK,IAAK,KACtB,QAAW,CAAC,IAAK,IAAK,KACtB,WAAc,CAAC,GAAI,IAAK,KACxB,UAAa,CAAC,IAAK,GAAI,IACvB,YAAe,CAAC,IAAK,IAAK,KAC1B,YAAe,CAAC,GAAI,IAAK,IACzB,QAAW,CAAC,IAAK,EAAG,KACpB,UAAa,CAAC,IAAK,IAAK,KACxB,WAAc,CAAC,IAAK,IAAK,KACzB,KAAQ,CAAC,IAAK,IAAK,GACnB,UAAa,CAAC,IAAK,IAAK,IACxB,KAAQ,CAAC,IAAK,IAAK,KACnB,MAAS,CAAC,EAAG,IAAK,GAClB,YAAe,CAAC,IAAK,IAAK,IAC1B,KAAQ,CAAC,IAAK,IAAK,KACnB,SAAY,CAAC,IAAK,IAAK,KACvB,QAAW,CAAC,IAAK,IAAK,KACtB,UAAa,CAAC,IAAK,GAAI,IACvB,OAAU,CAAC,GAAI,EAAG,KAClB,MAAS,CAAC,IAAK,IAAK,KACpB,MAAS,CAAC,IAAK,IAAK,KACpB,SAAY,CAAC,IAAK,IAAK,KACvB,cAAiB,CAAC,IAAK,IAAK,KAC5B,UAAa,CAAC,IAAK,IAAK,GACxB,aAAgB,CAAC,IAAK,IAAK,KAC3B,UAAa,CAAC,IAAK,IAAK,KACxB,WAAc,CAAC,IAAK,IAAK,KACzB,UAAa,CAAC,IAAK,IAAK,KACxB,qBAAwB,CAAC,IAAK,IAAK,KACnC,UAAa,CAAC,IAAK,IAAK,KACxB,WAAc,CAAC,IAAK,IAAK,KACzB,UAAa,CAAC,IAAK,IAAK,KACxB,UAAa,CAAC,IAAK,IAAK,KACxB,YAAe,CAAC,IAAK,IAAK,KAC1B,cAAiB,CAAC,GAAI,IAAK,KAC3B,aAAgB,CAAC,IAAK,IAAK,KAC3B,eAAkB,CAAC,IAAK,IAAK,KAC7B,eAAkB,CAAC,IAAK,IAAK,KAC7B,eAAkB,CAAC,IAAK,IAAK,KAC7B,YAAe,CAAC,IAAK,IAAK,KAC1B,KAAQ,CAAC,EAAG,IAAK,GACjB,UAAa,CAAC,GAAI,IAAK,IACvB,MAAS,CAAC,IAAK,IAAK,KACpB,QAAW,CAAC,IAAK,EAAG,KACpB,OAAU,CAAC,IAAK,EAAG,GACnB,iBAAoB,CAAC,IAAK,IAAK,KAC/B,WAAc,CAAC,EAAG,EAAG,KACrB,aAAgB,CAAC,IAAK,GAAI,KAC1B,aAAgB,CAAC,IAAK,IAAK,KAC3B,eAAkB,CAAC,GAAI,IAAK,KAC5B,gBAAmB,CAAC,IAAK,IAAK,KAC9B,kBAAqB,CAAC,EAAG,IAAK,KAC9B,gBAAmB,CAAC,GAAI,IAAK,KAC7B,gBAAmB,CAAC,IAAK,GAAI,KAC7B,aAAgB,CAAC,GAAI,GAAI,KACzB,UAAa,CAAC,IAAK,IAAK,KACxB,UAAa,CAAC,IAAK,IAAK,KACxB,SAAY,CAAC,IAAK,IAAK,KACvB,YAAe,CAAC,IAAK,IAAK,KAC1B,KAAQ,CAAC,EAAG,EAAG,KACf,QAAW,CAAC,IAAK,IAAK,KACtB,MAAS,CAAC,IAAK,IAAK,GACpB,UAAa,CAAC,IAAK,IAAK,IACxB,OAAU,CAAC,IAAK,IAAK,GACrB,UAAa,CAAC,IAAK,GAAI,GACvB,OAAU,CAAC,IAAK,IAAK,KACrB,cAAiB,CAAC,IAAK,IAAK,KAC5B,UAAa,CAAC,IAAK,IAAK,KACxB,cAAiB,CAAC,IAAK,IAAK,KAC5B,cAAiB,CAAC,IAAK,IAAK,KAC5B,WAAc,CAAC,IAAK,IAAK,KACzB,UAAa,CAAC,IAAK,IAAK,KACxB,KAAQ,CAAC,IAAK,IAAK,IACnB,KAAQ,CAAC,IAAK,IAAK,KACnB,KAAQ,CAAC,IAAK,IAAK,KACnB,WAAc,CAAC,IAAK,IAAK,KACzB,OAAU,CAAC,IAAK,EAAG,KACnB,cAAiB,CAAC,IAAK,GAAI,KAC3B,IAAO,CAAC,IAAK,EAAG,GAChB,UAAa,CAAC,IAAK,IAAK,KACxB,UAAa,CAAC,GAAI,IAAK,KACvB,YAAe,CAAC,IAAK,GAAI,IACzB,OAAU,CAAC,IAAK,IAAK,KACrB,WAAc,CAAC,IAAK,IAAK,IACzB,SAAY,CAAC,GAAI,IAAK,IACtB,SAAY,CAAC,IAAK,IAAK,KACvB,OAAU,CAAC,IAAK,GAAI,IACpB,OAAU,CAAC,IAAK,IAAK,KACrB,QAAW,CAAC,IAAK,IAAK,KACtB,UAAa,CAAC,IAAK,GAAI,KACvB,UAAa,CAAC,IAAK,IAAK,KACxB,UAAa,CAAC,IAAK,IAAK,KACxB,KAAQ,CAAC,IAAK,IAAK,KACnB,YAAe,CAAC,EAAG,IAAK,KACxB,UAAa,CAAC,GAAI,IAAK,KACvB,IAAO,CAAC,IAAK,IAAK,KAClB,KAAQ,CAAC,EAAG,IAAK,KACjB,QAAW,CAAC,IAAK,IAAK,KACtB,OAAU,CAAC,IAAK,GAAI,IACpB,UAAa,CAAC,GAAI,IAAK,KACvB,OAAU,CAAC,IAAK,IAAK,KACrB,MAAS,CAAC,IAAK,IAAK,KACpB,MAAS,CAAC,IAAK,IAAK,KACpB,WAAc,CAAC,IAAK,IAAK,KACzB,OAAU,CAAC,IAAK,IAAK,GACrB,YAAe,CAAC,IAAK,IAAK,KAMvBjD,EAAc,CACfkD,QAASA,EACTC,QAASA,EACTC,OAqHH,SAAgBzD,GACb,IAAI0D,EAAOH,EAAQvD,GACnB,OAAO0D,GAAQA,EAAKX,MAAM,EAAG,IAtH7BY,OAyHH,SAAgB3D,GACd,IAAI4D,EAAOJ,EAAQxD,GACnB,OAAO4D,GAAQA,EAAKb,MAAM,EAAG,IA1H5Bc,OAAQA,EACRC,SA4HH,SAAkB9D,GACf,IAAI+D,EAAOR,EAAQvD,GACnB,OAAI+D,EACMA,EAAK,IAENA,EAAOP,EAAQxD,IACd+D,EAAK,IAENA,EAAOF,EAAO7D,IACb+D,EAAK,QADV,GAlILC,UAwIH,SAAmBN,EAAMxE,GAEtB,OADIA,OAAW+E,IAAN/E,GAAmC,IAAhBwE,EAAK9H,OAAgBsD,EAAIwE,EAAK,GACnD,IAAMQ,EAAUR,EAAK,IACfQ,EAAUR,EAAK,IACfQ,EAAUR,EAAK,KAEbxE,GAAK,GAAKA,EAAI,EACbgF,EAAU5H,KAAKqD,MAAU,IAAJT,IACrB,KA/IhBiF,UAmJH,SAAmBT,EAAMU,GACtB,OAAIA,EAAQ,GAAMV,EAAK,IAAMA,EAAK,GAAK,EAC7BW,EAAWX,EAAMU,GAEpB,OAASV,EAAK,GAAK,KAAOA,EAAK,GAAK,KAAOA,EAAK,GAAK,KAtJ5DW,WAAYA,EACZC,cAgKH,SAAuBZ,EAAMU,GAC1B,OAAIA,EAAQ,GAAMV,EAAK,IAAMA,EAAK,GAAK,EAC7Ba,EAAeb,EAAMU,GAMxB,OAJC9H,KAAKqD,MAAM+D,EAAK,GAAG,IAAM,KAIb,MAHZpH,KAAKqD,MAAM+D,EAAK,GAAG,IAAM,KAGD,MAFxBpH,KAAKqD,MAAM+D,EAAK,GAAG,IAAM,KAEW,MAvK5Ca,eAAgBA,EAChBC,UAgLH,SAAmBZ,EAAMQ,GACtB,OAAIA,EAAQ,GAAMR,EAAK,IAAMA,EAAK,GAAK,EAC7Ba,EAAWb,EAAMQ,GAEpB,OAASR,EAAK,GAAK,KAAOA,EAAK,GAAK,MAAQA,EAAK,GAAK,MAnL7Da,WAAYA,EACZC,UA+LH,SAAmB5J,EAAKsJ,GAIrB,YAHcH,IAAVG,IACDA,OAAoBH,IAAXnJ,EAAI,GAAmBA,EAAI,GAAK,GAErC,OAASA,EAAI,GAAK,KAAOA,EAAI,GAAK,MAAQA,EAAI,GAAK,UACrCmJ,IAAVG,GAAiC,IAAVA,EAAc,KAAOA,EAAQ,IAAM,KAnMrEhJ,QAsMH,SAAiBX,GACf,OAAOkK,EAAalK,EAAIsI,MAAM,EAAG,MApMnC,SAASQ,EAAQvD,GACd,GAAKA,EAAL,CAGA,IAMIvF,EAAM,CAAC,EAAG,EAAG,GACbyE,EAAI,EACJkB,EAAQJ,EAAOI,MARP,0BASRwE,EAAW,GACf,GAAIxE,EAAO,CAERwE,GADAxE,EAAQA,EAAM,IACG,GACjB,IAAK,IAAIrC,EAAI,EAAGA,EAAItD,EAAImB,OAAQmC,IAC7BtD,EAAIsD,GAAK4C,SAASP,EAAMrC,GAAKqC,EAAMrC,GAAI,IAEtC6G,IACD1F,EAAI5C,KAAKqD,MAAOgB,SAASiE,EAAWA,EAAU,IAAM,IAAO,KAAO,UAGnE,GAAIxE,EAAQJ,EAAOI,MAnBb,yCAmByB,CAGjC,IAFAwE,EAAWxE,EAAM,GACjBA,EAAQA,EAAM,GACLrC,EAAI,EAAGA,EAAItD,EAAImB,OAAQmC,IAC7BtD,EAAIsD,GAAK4C,SAASP,EAAM2C,MAAU,EAAJhF,EAAW,EAAJA,EAAQ,GAAI,IAEhD6G,IACD1F,EAAI5C,KAAKqD,MAAOgB,SAASiE,EAAU,IAAM,IAAO,KAAO,UAGxD,GAAIxE,EAAQJ,EAAOI,MA5Bb,4FA4B0B,CAClC,IAASrC,EAAI,EAAGA,EAAItD,EAAImB,OAAQmC,IAC7BtD,EAAIsD,GAAK4C,SAASP,EAAMrC,EAAI,IAE/BmB,EAAI2F,WAAWzE,EAAM,SAEnB,GAAIA,EAAQJ,EAAOI,MAjCd,8GAiC0B,CACjC,IAASrC,EAAI,EAAGA,EAAItD,EAAImB,OAAQmC,IAC7BtD,EAAIsD,GAAKzB,KAAKqD,MAAiC,KAA3BkF,WAAWzE,EAAMrC,EAAI,KAE5CmB,EAAI2F,WAAWzE,EAAM,SAEnB,GAAIA,EAAQJ,EAAOI,MAtCV,SAsC0B,CACrC,GAAgB,eAAZA,EAAM,GACP,MAAO,CAAC,EAAG,EAAG,EAAG,GAGpB,KADA3F,EAAM6I,EAAYlD,EAAM,KAErB,OAIN,IAASrC,EAAI,EAAGA,EAAItD,EAAImB,OAAQmC,IAC7BtD,EAAIsD,GAAK+G,EAAMrK,EAAIsD,GAAI,EAAG,KAS7B,OAHGmB,EAJEA,GAAU,GAALA,EAIH4F,EAAM5F,EAAG,EAAG,GAHZ,EAKPzE,EAAI,GAAKyE,EACFzE,GAGV,SAAS+I,EAAQxD,GACd,GAAKA,EAAL,CAGA,IACII,EAAQJ,EAAOI,MADT,4GAEV,GAAIA,EAAO,CACR,IAAIgE,EAAQS,WAAWzE,EAAM,IAK7B,MAAO,CAJC0E,EAAMnE,SAASP,EAAM,IAAK,EAAG,KAC7B0E,EAAMD,WAAWzE,EAAM,IAAK,EAAG,KAC/B0E,EAAMD,WAAWzE,EAAM,IAAK,EAAG,KAC/B0E,EAAMC,MAAMX,GAAS,EAAIA,EAAO,EAAG,MAKjD,SAASP,EAAO7D,GACb,GAAKA,EAAL,CAGA,IACII,EAAQJ,EAAOI,MADT,0GAEV,GAAIA,EAAO,CACV,IAAIgE,EAAQS,WAAWzE,EAAM,IAK3B,MAAO,CAJC0E,EAAMnE,SAASP,EAAM,IAAK,EAAG,KAC7B0E,EAAMD,WAAWzE,EAAM,IAAK,EAAG,KAC/B0E,EAAMD,WAAWzE,EAAM,IAAK,EAAG,KAC/B0E,EAAMC,MAAMX,GAAS,EAAIA,EAAO,EAAG,MAgDjD,SAASC,EAAWX,EAAMU,GAIvB,YAHcH,IAAVG,IACDA,OAAqBH,IAAZP,EAAK,GAAmBA,EAAK,GAAK,GAEvC,QAAUA,EAAK,GAAK,KAAOA,EAAK,GAAK,KAAOA,EAAK,GAC9C,KAAOU,EAAQ,IAc5B,SAASG,EAAeb,EAAMU,GAI3B,MAAO,QAHC9H,KAAKqD,MAAM+D,EAAK,GAAG,IAAM,KAGZ,MAFbpH,KAAKqD,MAAM+D,EAAK,GAAG,IAAM,KAEA,MADzBpH,KAAKqD,MAAM+D,EAAK,GAAG,IAAM,KACY,OAASU,GAASV,EAAK,IAAM,GAAK,IAUlF,SAASe,EAAWb,EAAMQ,GAIvB,YAHcH,IAAVG,IACDA,OAAqBH,IAAZL,EAAK,GAAmBA,EAAK,GAAK,GAEvC,QAAUA,EAAK,GAAK,KAAOA,EAAK,GAAK,MAAQA,EAAK,GAAK,MACpDQ,EAAQ,IAkBrB,SAASU,EAAME,EAAK3I,EAAKE,GACtB,OAAOD,KAAKD,IAAIC,KAAKC,IAAIF,EAAK2I,GAAMzI,GAGvC,SAAS2H,EAAUc,GACjB,IAAIC,EAAMD,EAAI/E,SAAS,IAAIC,cAC3B,OAAQ+E,EAAIrJ,OAAS,EAAK,IAAMqJ,EAAMA,EAKxC,IAAIN,EAAe,GACnB,IAAK,IAAIO,KAAQ5B,EACdqB,EAAarB,EAAY4B,IAASA,EAOrC,IAAIC,EAAQ,SAAUC,GACrB,OAAIA,aAAeD,EACXC,EAEFnL,gBAAgBkL,GAItBlL,KAAKoL,OAAQ,EACbpL,KAAKqL,OAAS,CACb7K,IAAK,CAAC,EAAG,EAAG,GACZG,IAAK,CAAC,EAAG,EAAG,GACZC,IAAK,CAAC,EAAG,EAAG,GACZC,IAAK,CAAC,EAAG,EAAG,GACZC,KAAM,CAAC,EAAG,EAAG,EAAG,GAChBqJ,MAAO,QAKW,iBAARgB,GACVrB,EAAO1D,EAAYkD,QAAQ6B,IAE1BnL,KAAKsL,UAAU,MAAOxB,IACZA,EAAO1D,EAAYmD,QAAQ4B,IACrCnL,KAAKsL,UAAU,MAAOxB,IACZA,EAAO1D,EAAYwD,OAAOuB,KACpCnL,KAAKsL,UAAU,MAAOxB,GAEE,iBAARqB,SAEFnB,KADfF,EAAOqB,GACElJ,QAAgC+H,IAAbF,EAAKyB,IAChCvL,KAAKsL,UAAU,MAAOxB,QACDE,IAAXF,EAAK9H,QAAsCgI,IAAnBF,EAAK0B,UACvCxL,KAAKsL,UAAU,MAAOxB,QACDE,IAAXF,EAAKlH,QAAkCoH,IAAfF,EAAKhI,MACvC9B,KAAKsL,UAAU,MAAOxB,QACDE,IAAXF,EAAK/C,QAAsCiD,IAAnBF,EAAK2B,UACvCzL,KAAKsL,UAAU,MAAOxB,QACDE,IAAXF,EAAK/G,QAAiCiH,IAAdF,EAAK4B,MACvC1L,KAAKsL,UAAU,OAAQxB,MAnCjB,IAAIoB,EAAMC,GAclB,IAAIrB,GA0BLoB,EAAMrC,UAAY,CACjB8C,QAAS,WACR,OAAO3L,KAAKoL,OAEb5K,IAAK,WACJ,OAAOR,KAAK4L,SAAS,MAAOnG,YAE7B9E,IAAK,WACJ,OAAOX,KAAK4L,SAAS,MAAOnG,YAE7B7E,IAAK,WACJ,OAAOZ,KAAK4L,SAAS,MAAOnG,YAE7B5E,IAAK,WACJ,OAAOb,KAAK4L,SAAS,MAAOnG,YAE7B3E,KAAM,WACL,OAAOd,KAAK4L,SAAS,OAAQnG,YAG9BoG,SAAU,WACT,OAAO7L,KAAKqL,OAAO7K,KAEpBsL,SAAU,WACT,OAAO9L,KAAKqL,OAAO1K,KAEpBoL,SAAU,WACT,OAAO/L,KAAKqL,OAAOzK,KAEpBoL,SAAU,WACT,IAAIX,EAASrL,KAAKqL,OAClB,OAAqB,IAAjBA,EAAOlB,MACHkB,EAAOxK,IAAIoL,OAAO,CAACZ,EAAOlB,QAE3BkB,EAAOxK,KAEfqL,UAAW,WACV,OAAOlM,KAAKqL,OAAOvK,MAEpBqL,UAAW,WACV,IAAId,EAASrL,KAAKqL,OAClB,OAAOA,EAAO7K,IAAIyL,OAAO,CAACZ,EAAOlB,SAElCiC,UAAW,WACV,IAAIf,EAASrL,KAAKqL,OAClB,OAAOA,EAAO1K,IAAIsL,OAAO,CAACZ,EAAOlB,SAElCA,MAAO,SAAUtG,GAChB,YAAYmG,IAARnG,EACI7D,KAAKqL,OAAOlB,OAEpBnK,KAAKsL,UAAU,QAASzH,GACjB7D,OAGRuL,IAAK,SAAU1H,GACd,OAAO7D,KAAKqM,WAAW,MAAO,EAAGxI,IAElCyI,MAAO,SAAUzI,GAChB,OAAO7D,KAAKqM,WAAW,MAAO,EAAGxI,IAElC0I,KAAM,SAAU1I,GACf,OAAO7D,KAAKqM,WAAW,MAAO,EAAGxI,IAElC8C,IAAK,SAAU9C,GAKd,OAJIA,IAEHA,GADAA,GAAO,KACK,EAAI,IAAMA,EAAMA,GAEtB7D,KAAKqM,WAAW,MAAO,EAAGxI,IAElC2I,WAAY,SAAU3I,GACrB,OAAO7D,KAAKqM,WAAW,MAAO,EAAGxI,IAElC2H,UAAW,SAAU3H,GACpB,OAAO7D,KAAKqM,WAAW,MAAO,EAAGxI,IAElC4I,YAAa,SAAU5I,GACtB,OAAO7D,KAAKqM,WAAW,MAAO,EAAGxI,IAElC4H,UAAW,SAAU5H,GACpB,OAAO7D,KAAKqM,WAAW,MAAO,EAAGxI,IAElC6I,UAAW,SAAU7I,GACpB,OAAO7D,KAAKqM,WAAW,MAAO,EAAGxI,IAElC/B,MAAO,SAAU+B,GAChB,OAAO7D,KAAKqM,WAAW,MAAO,EAAGxI,IAElC6H,KAAM,SAAU7H,GACf,OAAO7D,KAAKqM,WAAW,OAAQ,EAAGxI,IAEnC8I,QAAS,SAAU9I,GAClB,OAAO7D,KAAKqM,WAAW,OAAQ,EAAGxI,IAEnC+I,OAAQ,SAAU/I,GACjB,OAAO7D,KAAKqM,WAAW,OAAQ,EAAGxI,IAEnCgJ,MAAO,SAAUhJ,GAChB,OAAO7D,KAAKqM,WAAW,OAAQ,EAAGxI,IAGnCkG,UAAW,WACV,OAAO3D,EAAY2D,UAAU/J,KAAKqL,OAAO7K,MAE1C0J,UAAW,WACV,OAAO9D,EAAY8D,UAAUlK,KAAKqL,OAAO7K,IAAKR,KAAKqL,OAAOlB,QAE3DC,WAAY,WACX,OAAOhE,EAAYgE,WAAWpK,KAAKqL,OAAO7K,IAAKR,KAAKqL,OAAOlB,QAE5DE,cAAe,WACd,OAAOjE,EAAYiE,cAAcrK,KAAKqL,OAAO7K,IAAKR,KAAKqL,OAAOlB,QAE/DI,UAAW,WACV,OAAOnE,EAAYmE,UAAUvK,KAAKqL,OAAO1K,IAAKX,KAAKqL,OAAOlB,QAE3DK,WAAY,WACX,OAAOpE,EAAYoE,WAAWxK,KAAKqL,OAAO1K,IAAKX,KAAKqL,OAAOlB,QAE5DM,UAAW,WACV,OAAOrE,EAAYqE,UAAUzK,KAAKqL,OAAOxK,IAAKb,KAAKqL,OAAOlB,QAE3DhJ,QAAS,WACR,OAAOiF,EAAYjF,QAAQnB,KAAKqL,OAAO7K,IAAKR,KAAKqL,OAAOlB,QAGzD2C,UAAW,WACV,IAAItM,EAAMR,KAAKqL,OAAO7K,IACtB,OAAQA,EAAI,IAAM,GAAOA,EAAI,IAAM,EAAKA,EAAI,IAG7CuM,WAAY,WAIX,IAFA,IAAIvM,EAAMR,KAAKqL,OAAO7K,IAClBwM,EAAM,GACDlJ,EAAI,EAAGA,EAAItD,EAAImB,OAAQmC,IAAK,CACpC,IAAImJ,EAAOzM,EAAIsD,GAAK,IACpBkJ,EAAIlJ,GAAMmJ,GAAQ,OAAWA,EAAO,MAAQ5K,KAAKmB,KAAMyJ,EAAO,MAAS,MAAQ,KAEhF,MAAO,MAASD,EAAI,GAAK,MAASA,EAAI,GAAK,MAASA,EAAI,IAGzDE,SAAU,SAAUC,GAEnB,IAAIC,EAAOpN,KAAK+M,aACZM,EAAOF,EAAOJ,aAClB,OAAIK,EAAOC,GACFD,EAAO,MAASC,EAAO,MAExBA,EAAO,MAASD,EAAO,MAGhCE,MAAO,SAAUH,GAChB,IAAII,EAAgBvN,KAAKkN,SAASC,GAClC,OAAII,GAAiB,IACb,MAGAA,GAAiB,IAAO,KAAO,IAGxCC,KAAM,WAEL,IAAIhN,EAAMR,KAAKqL,OAAO7K,IAEtB,OADoB,IAATA,EAAI,GAAoB,IAATA,EAAI,GAAoB,IAATA,EAAI,IAAY,IAC5C,KAGdiN,MAAO,WACN,OAAQzN,KAAKwN,QAGdE,OAAQ,WAEP,IADA,IAAIlN,EAAM,GACDsD,EAAI,EAAGA,EAAI,EAAGA,IACtBtD,EAAIsD,GAAK,IAAM9D,KAAKqL,OAAO7K,IAAIsD,GAGhC,OADA9D,KAAKsL,UAAU,MAAO9K,GACfR,MAGR2N,QAAS,SAAU/I,GAClB,IAAIjE,EAAMX,KAAKqL,OAAO1K,IAGtB,OAFAA,EAAI,IAAMA,EAAI,GAAKiE,EACnB5E,KAAKsL,UAAU,MAAO3K,GACfX,MAGR4N,OAAQ,SAAUhJ,GACjB,IAAIjE,EAAMX,KAAKqL,OAAO1K,IAGtB,OAFAA,EAAI,IAAMA,EAAI,GAAKiE,EACnB5E,KAAKsL,UAAU,MAAO3K,GACfX,MAGR6N,SAAU,SAAUjJ,GACnB,IAAIjE,EAAMX,KAAKqL,OAAO1K,IAGtB,OAFAA,EAAI,IAAMA,EAAI,GAAKiE,EACnB5E,KAAKsL,UAAU,MAAO3K,GACfX,MAGR8N,WAAY,SAAUlJ,GACrB,IAAIjE,EAAMX,KAAKqL,OAAO1K,IAGtB,OAFAA,EAAI,IAAMA,EAAI,GAAKiE,EACnB5E,KAAKsL,UAAU,MAAO3K,GACfX,MAGR+N,OAAQ,SAAUnJ,GACjB,IAAI/D,EAAMb,KAAKqL,OAAOxK,IAGtB,OAFAA,EAAI,IAAMA,EAAI,GAAK+D,EACnB5E,KAAKsL,UAAU,MAAOzK,GACfb,MAGRgO,QAAS,SAAUpJ,GAClB,IAAI/D,EAAMb,KAAKqL,OAAOxK,IAGtB,OAFAA,EAAI,IAAMA,EAAI,GAAK+D,EACnB5E,KAAKsL,UAAU,MAAOzK,GACfb,MAGRiO,UAAW,WACV,IAAIzN,EAAMR,KAAKqL,OAAO7K,IAElBqD,EAAe,GAATrD,EAAI,GAAoB,IAATA,EAAI,GAAqB,IAATA,EAAI,GAE7C,OADAR,KAAKsL,UAAU,MAAO,CAACzH,EAAKA,EAAKA,IAC1B7D,MAGRkO,QAAS,SAAUtJ,GAClB,IAAIuF,EAAQnK,KAAKqL,OAAOlB,MAExB,OADAnK,KAAKsL,UAAU,QAASnB,EAASA,EAAQvF,GAClC5E,MAGRmO,QAAS,SAAUvJ,GAClB,IAAIuF,EAAQnK,KAAKqL,OAAOlB,MAExB,OADAnK,KAAKsL,UAAU,QAASnB,EAASA,EAAQvF,GAClC5E,MAGRoO,OAAQ,SAAUC,GACjB,IAAI1N,EAAMX,KAAKqL,OAAO1K,IAClBgG,GAAOhG,EAAI,GAAK0N,GAAW,IAG/B,OAFA1N,EAAI,GAAKgG,EAAM,EAAI,IAAMA,EAAMA,EAC/B3G,KAAKsL,UAAU,MAAO3K,GACfX,MAORsO,IAAK,SAAUC,EAAYC,GAC1B,IACIrB,EAASoB,EACTnK,OAAe4F,IAAXwE,EAAuB,GAAMA,EAEjCzH,EAAI,EAAI3C,EAAI,EACZa,EALSjF,KAKEmK,QAAUgD,EAAOhD,QAE5BsE,IAAQ1H,EAAI9B,IAAO,EAAK8B,GAAKA,EAAI9B,IAAM,EAAI8B,EAAI9B,IAAM,GAAK,EAC1DyJ,EAAK,EAAID,EAEb,OAAOzO,KACLQ,IACAiO,EAZWzO,KAYCuL,MAAQmD,EAAKvB,EAAO5B,MAChCkD,EAbWzO,KAaCsM,QAAUoC,EAAKvB,EAAOb,QAClCmC,EAdWzO,KAcCuM,OAASmC,EAAKvB,EAAOZ,QAEjCpC,MAhBWnK,KAgBEmK,QAAU/F,EAAI+I,EAAOhD,SAAW,EAAI/F,KAGpDuK,OAAQ,WACP,OAAO3O,KAAKQ,OAGboO,MAAO,WAKN,IAGI9M,EAAO+M,EAHP7F,EAAS,IAAIkC,EACb4D,EAAS9O,KAAKqL,OACd0D,EAAS/F,EAAOqC,OAGpB,IAAK,IAAI2D,KAAQF,EACZA,EAAO7O,eAAe+O,KAGZ,oBADbH,EAAO,GAAK7I,SAAS+C,KADrBjH,EAAQgN,EAAOE,KAGdD,EAAOC,GAAQlN,EAAMgH,MAAM,GACR,oBAAT+F,EACVE,EAAOC,GAAQlN,EAEfmN,QAAQC,MAAM,0BAA2BpN,IAK5C,OAAOkH,IAITkC,EAAMrC,UAAUsG,OAAS,CACxB3O,IAAK,CAAC,MAAO,QAAS,QACtBG,IAAK,CAAC,MAAO,aAAc,aAC3BC,IAAK,CAAC,MAAO,aAAc,SAC3BC,IAAK,CAAC,MAAO,YAAa,aAC1BC,KAAM,CAAC,OAAQ,UAAW,SAAU,UAGrCoK,EAAMrC,UAAUuG,MAAQ,CACvB5O,IAAK,CAAC,IAAK,IAAK,KAChBG,IAAK,CAAC,IAAK,IAAK,KAChBC,IAAK,CAAC,IAAK,IAAK,KAChBC,IAAK,CAAC,IAAK,IAAK,KAChBC,KAAM,CAAC,IAAK,IAAK,IAAK,MAGvBoK,EAAMrC,UAAUwG,UAAY,SAAUC,GAIrC,IAHA,IAAIjE,EAASrL,KAAKqL,OACdvB,EAAO,GAEFhG,EAAI,EAAGA,EAAIwL,EAAM3N,OAAQmC,IACjCgG,EAAKwF,EAAMC,OAAOzL,IAAMuH,EAAOiE,GAAOxL,GAQvC,OALqB,IAAjBuH,EAAOlB,QACVL,EAAK7E,EAAIoG,EAAOlB,OAIVL,GAGRoB,EAAMrC,UAAUyC,UAAY,SAAUgE,EAAOxF,GAC5C,IAIIhG,EAkCA0L,EAtCAnE,EAASrL,KAAKqL,OACd8D,EAASnP,KAAKmP,OACdC,EAAQpP,KAAKoP,MACbjF,EAAQ,EAKZ,GAFAnK,KAAKoL,OAAQ,EAEC,UAAVkE,EACHnF,EAAQL,OACF,GAAIA,EAAKnI,OAEf0J,EAAOiE,GAASxF,EAAKhB,MAAM,EAAGwG,EAAM3N,QACpCwI,EAAQL,EAAKwF,EAAM3N,aACb,QAA8BqI,IAA1BF,EAAKwF,EAAMC,OAAO,IAAmB,CAE/C,IAAKzL,EAAI,EAAGA,EAAIwL,EAAM3N,OAAQmC,IAC7BuH,EAAOiE,GAAOxL,GAAKgG,EAAKwF,EAAMC,OAAOzL,IAGtCqG,EAAQL,EAAK7E,OACP,QAA+B+E,IAA3BF,EAAKqF,EAAOG,GAAO,IAAmB,CAEhD,IAAIG,EAAQN,EAAOG,GAEnB,IAAKxL,EAAI,EAAGA,EAAIwL,EAAM3N,OAAQmC,IAC7BuH,EAAOiE,GAAOxL,GAAKgG,EAAK2F,EAAM3L,IAG/BqG,EAAQL,EAAKK,MAKd,GAFAkB,EAAOlB,MAAQ9H,KAAKC,IAAI,EAAGD,KAAKD,IAAI,OAAc4H,IAAVG,EAAsBkB,EAAOlB,MAAQA,IAE/D,UAAVmF,EACH,OAAO,EAMR,IAAKxL,EAAI,EAAGA,EAAIwL,EAAM3N,OAAQmC,IAC7B0L,EAASnN,KAAKC,IAAI,EAAGD,KAAKD,IAAIgN,EAAME,GAAOxL,GAAIuH,EAAOiE,GAAOxL,KAC7DuH,EAAOiE,GAAOxL,GAAKzB,KAAKqD,MAAM8J,GAI/B,IAAK,IAAIE,KAASP,EACbO,IAAUJ,IACbjE,EAAOqE,GAAStG,EAAakG,GAAOI,GAAOrE,EAAOiE,KAIpD,OAAO,GAGRpE,EAAMrC,UAAU+C,SAAW,SAAU0D,EAAO9J,GAC3C,IAAIsE,EAAOtE,EAAK,GAEhB,YAAawE,IAATF,EAEI9J,KAAKqP,UAAUC,IAIH,iBAATxF,IACVA,EAAOlB,MAAMC,UAAUC,MAAMC,KAAKvD,IAGnCxF,KAAKsL,UAAUgE,EAAOxF,GACf9J,OAGRkL,EAAMrC,UAAUwD,WAAa,SAAUiD,EAAOK,EAAO9L,GACpD,IAAI+L,EAAU5P,KAAKqL,OAAOiE,GAC1B,YAAYtF,IAARnG,EAEI+L,EAAQD,GACL9L,IAAQ+L,EAAQD,GAEnB3P,MAIR4P,EAAQD,GAAS9L,EACjB7D,KAAKsL,UAAUgE,EAAOM,GAEf5P,OAGc,oBAAX6P,SACVA,OAAO3E,MAAQA,GAGhB,IAiBM4E,EAjBFC,EAAe7E,EAKf8E,EAAU,CAIbC,KAAM,aAONC,KACKJ,EAAK,EACF,WACN,OAAOA,MAUTK,cAAe,SAASrO,GACvB,OAAOA,SASRsO,QAAS,SAAStO,GACjB,GAAI8G,MAAMwH,SAAWxH,MAAMwH,QAAQtO,GAClC,OAAO,EAER,IAAI+M,EAAOjN,OAAOiH,UAAU7C,SAAS+C,KAAKjH,GAC1C,MAA0B,YAAtB+M,EAAKwB,OAAO,EAAG,IAAwC,WAApBxB,EAAKwB,QAAQ,IAYrDC,SAAU,SAASxO,GAClB,OAAiB,OAAVA,GAA4D,oBAA1CF,OAAOiH,UAAU7C,SAAS+C,KAAKjH,IAQzDyO,SAAU,SAASzO,GAClB,OAAyB,iBAAVA,GAAsBA,aAAiB0O,SAAWD,SAASzO,IAS3E2O,eAAgB,SAAS3O,EAAO4O,GAC/B,YAAwB,IAAV5O,EAAwB4O,EAAe5O,GAUtD6O,sBAAuB,SAAS7O,EAAO6N,EAAOe,GAC7C,OAAOV,EAAQS,eAAeT,EAAQI,QAAQtO,GAASA,EAAM6N,GAAS7N,EAAO4O,IAW9EE,SAAU,SAASxQ,EAAIoF,EAAMqL,GAC5B,GAAIzQ,GAAyB,mBAAZA,EAAG2I,KACnB,OAAO3I,EAAG0Q,MAAMD,EAASrL,IAa3BuL,KAAM,SAASC,EAAU5Q,EAAIyQ,EAASI,GACrC,IAAInN,EAAGmE,EAAKL,EACZ,GAAIoI,EAAQI,QAAQY,GAEnB,GADA/I,EAAM+I,EAASrP,OACXsP,EACH,IAAKnN,EAAImE,EAAM,EAAGnE,GAAK,EAAGA,IACzB1D,EAAG2I,KAAK8H,EAASG,EAASlN,GAAIA,QAG/B,IAAKA,EAAI,EAAGA,EAAImE,EAAKnE,IACpB1D,EAAG2I,KAAK8H,EAASG,EAASlN,GAAIA,QAG1B,GAAIkM,EAAQM,SAASU,GAG3B,IADA/I,GADAL,EAAOhG,OAAOgG,KAAKoJ,IACRrP,OACNmC,EAAI,EAAGA,EAAImE,EAAKnE,IACpB1D,EAAG2I,KAAK8H,EAASG,EAASpJ,EAAK9D,IAAK8D,EAAK9D,KAY5CoN,YAAa,SAASC,EAAIC,GACzB,IAAItN,EAAGuN,EAAMC,EAAIC,EAEjB,IAAKJ,IAAOC,GAAMD,EAAGxP,SAAWyP,EAAGzP,OAClC,OAAO,EAGR,IAAKmC,EAAI,EAAGuN,EAAOF,EAAGxP,OAAQmC,EAAIuN,IAAQvN,EAIzC,GAFAyN,EAAKH,EAAGtN,IADRwN,EAAKH,EAAGrN,cAGU8E,OAAS2I,aAAc3I,OACxC,IAAKoH,EAAQkB,YAAYI,EAAIC,GAC5B,OAAO,OAEF,GAAID,IAAOC,EAEjB,OAAO,EAIT,OAAO,GAQR3C,MAAO,SAASE,GACf,GAAIkB,EAAQI,QAAQtB,GACnB,OAAOA,EAAOxI,IAAI0J,EAAQpB,OAG3B,GAAIoB,EAAQM,SAASxB,GAAS,CAM7B,IALA,IAAIC,EAAS,GACTnH,EAAOhG,OAAOgG,KAAKkH,GACnB0C,EAAO5J,EAAKjG,OACZqB,EAAI,EAEDA,EAAIwO,IAAQxO,EAClB+L,EAAOnH,EAAK5E,IAAMgN,EAAQpB,MAAME,EAAOlH,EAAK5E,KAG7C,OAAO+L,EAGR,OAAOD,GAQR2C,QAAS,SAASnR,EAAKyO,EAAQD,EAAQ4C,GACtC,IAAIC,EAAO5C,EAAOzO,GACdsR,EAAO9C,EAAOxO,GAEd0P,EAAQM,SAASqB,IAAS3B,EAAQM,SAASsB,GAC9C5B,EAAQ6B,MAAMF,EAAMC,EAAMF,GAE1B3C,EAAOzO,GAAO0P,EAAQpB,MAAMgD,IAQ9BE,UAAW,SAASxR,EAAKyO,EAAQD,GAChC,IAAI6C,EAAO5C,EAAOzO,GACdsR,EAAO9C,EAAOxO,GAEd0P,EAAQM,SAASqB,IAAS3B,EAAQM,SAASsB,GAC9C5B,EAAQ+B,QAAQJ,EAAMC,GACX7C,EAAO9O,eAAeK,KACjCyO,EAAOzO,GAAO0P,EAAQpB,MAAMgD,KAa9BC,MAAO,SAAS9C,EAAQD,EAAQ4C,GAC/B,IAEIG,EAAO/N,EAAG8D,EAAM4J,EAAMxO,EAFtBgP,EAAUhC,EAAQI,QAAQtB,GAAUA,EAAS,CAACA,GAC9CuC,EAAOW,EAAQrQ,OAGnB,IAAKqO,EAAQM,SAASvB,GACrB,OAAOA,EAMR,IAFA8C,GADAH,EAAUA,GAAW,IACLO,QAAUjC,EAAQyB,QAE7B3N,EAAI,EAAGA,EAAIuN,IAAQvN,EAEvB,GAAKkM,EAAQM,SADbxB,EAASkD,EAAQlO,IAMjB,IAAKd,EAAI,EAAGwO,GADZ5J,EAAOhG,OAAOgG,KAAKkH,IACKnN,OAAQqB,EAAIwO,IAAQxO,EAC3C6O,EAAMjK,EAAK5E,GAAI+L,EAAQD,EAAQ4C,GAIjC,OAAO3C,GAURgD,QAAS,SAAShD,EAAQD,GACzB,OAAOkB,EAAQ6B,MAAM9C,EAAQD,EAAQ,CAACmD,OAAQjC,EAAQ8B,aAUvDI,OAAQtQ,OAAOuQ,QAAU,SAASpD,GACjC,OAAOiB,EAAQ6B,MAAM9C,EAAQ,GAAGjG,MAAMC,KAAKtD,UAAW,GAAI,CACzDwM,OAAQ,SAAS3R,EAAK8R,EAAKC,GAC1BD,EAAI9R,GAAO+R,EAAI/R,OAQlBgS,SAAU,SAASC,GAClB,IAAIC,EAAKxS,KACLyS,EAAgBF,GAAcA,EAAWtS,eAAe,eAAkBsS,EAAWG,YAAc,WACtG,OAAOF,EAAG1B,MAAM9Q,KAAMyF,YAGnBkN,EAAY,WACf3S,KAAK0S,YAAcD,GAYpB,OATAE,EAAU9J,UAAY2J,EAAG3J,UACzB4J,EAAa5J,UAAY,IAAI8J,EAC7BF,EAAaP,OAASlC,EAAQsC,SAE1BC,GACHvC,EAAQkC,OAAOO,EAAa5J,UAAW0J,GAGxCE,EAAaG,UAAYJ,EAAG3J,UACrB4J,GAGRI,YAAa,SAASC,EAAOhR,EAAOiR,EAAU3K,QAC/B4B,IAAVlI,GACHmN,QAAQ+D,KAAKF,EAAQ,MAAQC,EAC5B,gCAAkC3K,EAAU,eAK5C6K,EAAejD,EAWnBA,EAAQkD,aAAelD,EAAQY,SAU/BZ,EAAQmD,QAAU,SAASC,EAAOC,EAAMC,GACvC,OAAO1K,MAAMC,UAAUsK,QAAQpK,KAAKqK,EAAOC,EAAMC,IAUlDtD,EAAQuD,kBAAoBvD,EAAQS,eASpCT,EAAQwD,yBAA2BxD,EAAQW,sBAO3C,IAAI8C,EAAU,CACbC,OAAQ,SAASpP,GAChB,OAAOA,GAGRqP,WAAY,SAASrP,GACpB,OAAOA,EAAIA,GAGZsP,YAAa,SAAStP,GACrB,OAAQA,GAAKA,EAAI,IAGlBuP,cAAe,SAASvP,GACvB,OAAKA,GAAK,IAAO,EACT,GAAMA,EAAIA,GAEV,MAAUA,GAAMA,EAAI,GAAK,IAGlCwP,YAAa,SAASxP,GACrB,OAAOA,EAAIA,EAAIA,GAGhByP,aAAc,SAASzP,GACtB,OAAQA,GAAQ,GAAKA,EAAIA,EAAI,GAG9B0P,eAAgB,SAAS1P,GACxB,OAAKA,GAAK,IAAO,EACT,GAAMA,EAAIA,EAAIA,EAEf,KAAQA,GAAK,GAAKA,EAAIA,EAAI,IAGlC2P,YAAa,SAAS3P,GACrB,OAAOA,EAAIA,EAAIA,EAAIA,GAGpB4P,aAAc,SAAS5P,GACtB,SAAUA,GAAQ,GAAKA,EAAIA,EAAIA,EAAI,IAGpC6P,eAAgB,SAAS7P,GACxB,OAAKA,GAAK,IAAO,EACT,GAAMA,EAAIA,EAAIA,EAAIA,GAElB,KAAQA,GAAK,GAAKA,EAAIA,EAAIA,EAAI,IAGvC8P,YAAa,SAAS9P,GACrB,OAAOA,EAAIA,EAAIA,EAAIA,EAAIA,GAGxB+P,aAAc,SAAS/P,GACtB,OAAQA,GAAQ,GAAKA,EAAIA,EAAIA,EAAIA,EAAI,GAGtCgQ,eAAgB,SAAShQ,GACxB,OAAKA,GAAK,IAAO,EACT,GAAMA,EAAIA,EAAIA,EAAIA,EAAIA,EAEvB,KAAQA,GAAK,GAAKA,EAAIA,EAAIA,EAAIA,EAAI,IAG1CiQ,WAAY,SAASjQ,GACpB,OAAsC,EAA9BjC,KAAKiD,IAAIhB,GAAKjC,KAAK8C,GAAK,KAGjCqP,YAAa,SAASlQ,GACrB,OAAOjC,KAAKkD,IAAIjB,GAAKjC,KAAK8C,GAAK,KAGhCsP,cAAe,SAASnQ,GACvB,OAAQ,IAAOjC,KAAKiD,IAAIjD,KAAK8C,GAAKb,GAAK,IAGxCoQ,WAAY,SAASpQ,GACpB,OAAc,IAANA,EAAW,EAAIjC,KAAKmB,IAAI,EAAG,IAAMc,EAAI,KAG9CqQ,YAAa,SAASrQ,GACrB,OAAc,IAANA,EAAW,EAA4B,EAAvBjC,KAAKmB,IAAI,GAAI,GAAKc,IAG3CsQ,cAAe,SAAStQ,GACvB,OAAU,IAANA,EACI,EAEE,IAANA,EACI,GAEHA,GAAK,IAAO,EACT,GAAMjC,KAAKmB,IAAI,EAAG,IAAMc,EAAI,IAE7B,IAAiC,EAAzBjC,KAAKmB,IAAI,GAAI,KAAOc,KAGpCuQ,WAAY,SAASvQ,GACpB,OAAIA,GAAK,EACDA,IAECjC,KAAK+C,KAAK,EAAId,EAAIA,GAAK,IAGjCwQ,YAAa,SAASxQ,GACrB,OAAOjC,KAAK+C,KAAK,GAAKd,GAAQ,GAAKA,IAGpCyQ,cAAe,SAASzQ,GACvB,OAAKA,GAAK,IAAO,GACR,IAAOjC,KAAK+C,KAAK,EAAId,EAAIA,GAAK,GAEhC,IAAOjC,KAAK+C,KAAK,GAAKd,GAAK,GAAKA,GAAK,IAG7C0Q,cAAe,SAAS1Q,GACvB,IAAI3B,EAAI,QACJyB,EAAI,EACJa,EAAI,EACR,OAAU,IAANX,EACI,EAEE,IAANA,EACI,GAEHF,IACJA,EAAI,IAEDa,EAAI,GACPA,EAAI,EACJtC,EAAIyB,EAAI,GAERzB,EAAIyB,GAAK,EAAI/B,KAAK8C,IAAM9C,KAAK4S,KAAK,EAAIhQ,IAE9BA,EAAI5C,KAAKmB,IAAI,EAAG,IAAMc,GAAK,IAAMjC,KAAKkD,KAAKjB,EAAI3B,IAAM,EAAIN,KAAK8C,IAAMf,KAG9E8Q,eAAgB,SAAS5Q,GACxB,IAAI3B,EAAI,QACJyB,EAAI,EACJa,EAAI,EACR,OAAU,IAANX,EACI,EAEE,IAANA,EACI,GAEHF,IACJA,EAAI,IAEDa,EAAI,GACPA,EAAI,EACJtC,EAAIyB,EAAI,GAERzB,EAAIyB,GAAK,EAAI/B,KAAK8C,IAAM9C,KAAK4S,KAAK,EAAIhQ,GAEhCA,EAAI5C,KAAKmB,IAAI,GAAI,GAAKc,GAAKjC,KAAKkD,KAAKjB,EAAI3B,IAAM,EAAIN,KAAK8C,IAAMf,GAAK,IAG3E+Q,iBAAkB,SAAS7Q,GAC1B,IAAI3B,EAAI,QACJyB,EAAI,EACJa,EAAI,EACR,OAAU,IAANX,EACI,EAEW,IAAdA,GAAK,IACF,GAEHF,IACJA,EAAI,KAEDa,EAAI,GACPA,EAAI,EACJtC,EAAIyB,EAAI,GAERzB,EAAIyB,GAAK,EAAI/B,KAAK8C,IAAM9C,KAAK4S,KAAK,EAAIhQ,GAEnCX,EAAI,EACQW,EAAI5C,KAAKmB,IAAI,EAAG,IAAMc,GAAK,IAAMjC,KAAKkD,KAAKjB,EAAI3B,IAAM,EAAIN,KAAK8C,IAAMf,IAA3E,GAEFa,EAAI5C,KAAKmB,IAAI,GAAI,IAAMc,GAAK,IAAMjC,KAAKkD,KAAKjB,EAAI3B,IAAM,EAAIN,KAAK8C,IAAMf,GAAK,GAAM,IAExFgR,WAAY,SAAS9Q,GACpB,IAAI3B,EAAI,QACR,OAAO2B,EAAIA,IAAM3B,EAAI,GAAK2B,EAAI3B,IAG/B0S,YAAa,SAAS/Q,GACrB,IAAI3B,EAAI,QACR,OAAQ2B,GAAQ,GAAKA,IAAM3B,EAAI,GAAK2B,EAAI3B,GAAK,GAG9C2S,cAAe,SAAShR,GACvB,IAAI3B,EAAI,QACR,OAAK2B,GAAK,IAAO,EACFA,EAAIA,IAAuB,GAAhB3B,GAAK,QAAgB2B,EAAI3B,GAA3C,GAED,KAAQ2B,GAAK,GAAKA,IAAuB,GAAhB3B,GAAK,QAAgB2B,EAAI3B,GAAK,IAG/D4S,aAAc,SAASjR,GACtB,OAAO,EAAImP,EAAQ+B,cAAc,EAAIlR,IAGtCkR,cAAe,SAASlR,GACvB,OAAIA,EAAK,EAAI,KACL,OAASA,EAAIA,EAEjBA,EAAK,EAAI,KACL,QAAUA,GAAM,IAAM,MAASA,EAAI,IAEvCA,EAAK,IAAM,KACP,QAAUA,GAAM,KAAO,MAASA,EAAI,MAErC,QAAUA,GAAM,MAAQ,MAASA,EAAI,SAG7CmR,gBAAiB,SAASnR,GACzB,OAAIA,EAAI,GAC8B,GAA9BmP,EAAQ8B,aAAiB,EAAJjR,GAEa,GAAnCmP,EAAQ+B,cAAkB,EAAJlR,EAAQ,GAAW,KAI9CoR,EAAiB,CACpBjC,QAASA,GAYVR,EAAa0C,cAAgBlC,EAE7B,IAAItO,EAAK9C,KAAK8C,GACVyQ,EAAczQ,EAAK,IACnB0Q,EAAiB,EAAL1Q,EACZ2Q,EAAU3Q,EAAK,EACf4Q,EAAa5Q,EAAK,EAClB6Q,EAAqB,EAAL7Q,EAAS,EAKzB8Q,EAAY,CAKfC,MAAO,SAASC,GACfA,EAAMC,IAAIC,UAAU,EAAG,EAAGF,EAAMG,MAAOH,EAAMI,SAc9CC,YAAa,SAASJ,EAAKjT,EAAGC,EAAGkT,EAAOC,EAAQE,GAC/C,GAAIA,EAAQ,CACX,IAAIxU,EAAII,KAAKD,IAAIqU,EAAQF,EAAS,EAAGD,EAAQ,GACzCI,EAAOvT,EAAIlB,EACX0U,EAAMvT,EAAInB,EACV2U,EAAQzT,EAAImT,EAAQrU,EACpB4U,EAASzT,EAAImT,EAAStU,EAE1BmU,EAAIU,OAAO3T,EAAGwT,GACVD,EAAOE,GAASD,EAAME,GACzBT,EAAIW,IAAIL,EAAMC,EAAK1U,GAAIkD,GAAK2Q,GAC5BM,EAAIW,IAAIH,EAAOD,EAAK1U,GAAI6T,EAAS,GACjCM,EAAIW,IAAIH,EAAOC,EAAQ5U,EAAG,EAAG6T,GAC7BM,EAAIW,IAAIL,EAAMG,EAAQ5U,EAAG6T,EAAS3Q,IACxBuR,EAAOE,GACjBR,EAAIU,OAAOJ,EAAMtT,GACjBgT,EAAIW,IAAIH,EAAOD,EAAK1U,GAAI6T,EAASA,GACjCM,EAAIW,IAAIL,EAAMC,EAAK1U,EAAG6T,EAAS3Q,EAAK2Q,IAC1Ba,EAAME,GAChBT,EAAIW,IAAIL,EAAMC,EAAK1U,GAAIkD,EAAI,GAC3BiR,EAAIW,IAAIL,EAAMG,EAAQ5U,EAAG,EAAGkD,IAE5BiR,EAAIW,IAAIL,EAAMC,EAAK1U,GAAIkD,EAAIA,GAE5BiR,EAAIY,YACJZ,EAAIU,OAAO3T,EAAGC,QAEdgT,EAAIa,KAAK9T,EAAGC,EAAGkT,EAAOC,IAIxBW,UAAW,SAASd,EAAKe,EAAOV,EAAQtT,EAAGC,EAAGgU,GAC7C,IAAIvI,EAAMwI,EAASC,EAASC,EAAMC,EAC9BC,GAAOL,GAAY,GAAKxB,EAE5B,GAAIuB,GAA0B,iBAAVA,IAEN,+BADbtI,EAAOsI,EAAMnR,aACwC,+BAAT6I,GAM3C,OALAuH,EAAIsB,OACJtB,EAAIuB,UAAUxU,EAAGC,GACjBgT,EAAIhI,OAAOqJ,GACXrB,EAAIwB,UAAUT,GAAQA,EAAMb,MAAQ,GAAIa,EAAMZ,OAAS,EAAGY,EAAMb,MAAOa,EAAMZ,aAC7EH,EAAIyB,UAKN,KAAI/M,MAAM2L,IAAWA,GAAU,GAA/B,CAMA,OAFAL,EAAI0B,YAEIX,GAER,QACCf,EAAIW,IAAI5T,EAAGC,EAAGqT,EAAQ,EAAGZ,GACzBO,EAAIY,YACJ,MACD,IAAK,WACJZ,EAAIU,OAAO3T,EAAId,KAAKkD,IAAIkS,GAAOhB,EAAQrT,EAAIf,KAAKiD,IAAImS,GAAOhB,GAC3DgB,GAAOzB,EACPI,EAAI2B,OAAO5U,EAAId,KAAKkD,IAAIkS,GAAOhB,EAAQrT,EAAIf,KAAKiD,IAAImS,GAAOhB,GAC3DgB,GAAOzB,EACPI,EAAI2B,OAAO5U,EAAId,KAAKkD,IAAIkS,GAAOhB,EAAQrT,EAAIf,KAAKiD,IAAImS,GAAOhB,GAC3DL,EAAIY,YACJ,MACD,IAAK,cASJO,EAAOd,GADPe,EAAwB,KAATf,GAEfY,EAAUhV,KAAKiD,IAAImS,EAAM1B,GAAcwB,EACvCD,EAAUjV,KAAKkD,IAAIkS,EAAM1B,GAAcwB,EACvCnB,EAAIW,IAAI5T,EAAIkU,EAASjU,EAAIkU,EAASE,EAAcC,EAAMtS,EAAIsS,EAAM3B,GAChEM,EAAIW,IAAI5T,EAAImU,EAASlU,EAAIiU,EAASG,EAAcC,EAAM3B,EAAS2B,GAC/DrB,EAAIW,IAAI5T,EAAIkU,EAASjU,EAAIkU,EAASE,EAAcC,EAAKA,EAAM3B,GAC3DM,EAAIW,IAAI5T,EAAImU,EAASlU,EAAIiU,EAASG,EAAcC,EAAM3B,EAAS2B,EAAMtS,GACrEiR,EAAIY,YACJ,MACD,IAAK,OACJ,IAAKI,EAAU,CACdG,EAAOlV,KAAK2V,QAAUvB,EACtBL,EAAIa,KAAK9T,EAAIoU,EAAMnU,EAAImU,EAAM,EAAIA,EAAM,EAAIA,GAC3C,MAEDE,GAAO1B,EAER,IAAK,UACJsB,EAAUhV,KAAKiD,IAAImS,GAAOhB,EAC1Ba,EAAUjV,KAAKkD,IAAIkS,GAAOhB,EAC1BL,EAAIU,OAAO3T,EAAIkU,EAASjU,EAAIkU,GAC5BlB,EAAI2B,OAAO5U,EAAImU,EAASlU,EAAIiU,GAC5BjB,EAAI2B,OAAO5U,EAAIkU,EAASjU,EAAIkU,GAC5BlB,EAAI2B,OAAO5U,EAAImU,EAASlU,EAAIiU,GAC5BjB,EAAIY,YACJ,MACD,IAAK,WACJS,GAAO1B,EAER,IAAK,QACJsB,EAAUhV,KAAKiD,IAAImS,GAAOhB,EAC1Ba,EAAUjV,KAAKkD,IAAIkS,GAAOhB,EAC1BL,EAAIU,OAAO3T,EAAIkU,EAASjU,EAAIkU,GAC5BlB,EAAI2B,OAAO5U,EAAIkU,EAASjU,EAAIkU,GAC5BlB,EAAIU,OAAO3T,EAAImU,EAASlU,EAAIiU,GAC5BjB,EAAI2B,OAAO5U,EAAImU,EAASlU,EAAIiU,GAC5B,MACD,IAAK,OACJA,EAAUhV,KAAKiD,IAAImS,GAAOhB,EAC1Ba,EAAUjV,KAAKkD,IAAIkS,GAAOhB,EAC1BL,EAAIU,OAAO3T,EAAIkU,EAASjU,EAAIkU,GAC5BlB,EAAI2B,OAAO5U,EAAIkU,EAASjU,EAAIkU,GAC5BlB,EAAIU,OAAO3T,EAAImU,EAASlU,EAAIiU,GAC5BjB,EAAI2B,OAAO5U,EAAImU,EAASlU,EAAIiU,GAC5BI,GAAO1B,EACPsB,EAAUhV,KAAKiD,IAAImS,GAAOhB,EAC1Ba,EAAUjV,KAAKkD,IAAIkS,GAAOhB,EAC1BL,EAAIU,OAAO3T,EAAIkU,EAASjU,EAAIkU,GAC5BlB,EAAI2B,OAAO5U,EAAIkU,EAASjU,EAAIkU,GAC5BlB,EAAIU,OAAO3T,EAAImU,EAASlU,EAAIiU,GAC5BjB,EAAI2B,OAAO5U,EAAImU,EAASlU,EAAIiU,GAC5B,MACD,IAAK,OACJA,EAAUhV,KAAKiD,IAAImS,GAAOhB,EAC1Ba,EAAUjV,KAAKkD,IAAIkS,GAAOhB,EAC1BL,EAAIU,OAAO3T,EAAIkU,EAASjU,EAAIkU,GAC5BlB,EAAI2B,OAAO5U,EAAIkU,EAASjU,EAAIkU,GAC5B,MACD,IAAK,OACJlB,EAAIU,OAAO3T,EAAGC,GACdgT,EAAI2B,OAAO5U,EAAId,KAAKiD,IAAImS,GAAOhB,EAAQrT,EAAIf,KAAKkD,IAAIkS,GAAOhB,GAI5DL,EAAI6B,OACJ7B,EAAI8B,WAULC,eAAgB,SAASC,EAAOC,GAG/B,OAAOD,EAAMjV,EAAIkV,EAAK3B,KAFR,MAE0B0B,EAAMjV,EAAIkV,EAAKzB,MAFzC,MAGbwB,EAAMhV,EAAIiV,EAAK1B,IAHF,MAGmByB,EAAMhV,EAAIiV,EAAKxB,OAHlC,MAMfyB,SAAU,SAASlC,EAAKiC,GACvBjC,EAAIsB,OACJtB,EAAI0B,YACJ1B,EAAIa,KAAKoB,EAAK3B,KAAM2B,EAAK1B,IAAK0B,EAAKzB,MAAQyB,EAAK3B,KAAM2B,EAAKxB,OAASwB,EAAK1B,KACzEP,EAAImC,QAGLC,WAAY,SAASpC,GACpBA,EAAIyB,WAGLE,OAAQ,SAAS3B,EAAKrD,EAAUhE,EAAQ0J,GACvC,IAAIC,EAAU3J,EAAO4J,YACrB,GAAID,EAAJ,CACC,GAAgB,WAAZA,EAAsB,CACzB,IAAIE,GAAY7F,EAAS5P,EAAI4L,EAAO5L,GAAK,EACzCiT,EAAI2B,OAAOa,EAAUH,EAAO1J,EAAO3L,EAAI2P,EAAS3P,GAChDgT,EAAI2B,OAAOa,EAAUH,EAAO1F,EAAS3P,EAAI2L,EAAO3L,OACzB,UAAZsV,IAAwBD,GAAsB,UAAZC,GAAuBD,EACpErC,EAAI2B,OAAOhF,EAAS5P,EAAG4L,EAAO3L,GAE9BgT,EAAI2B,OAAOhJ,EAAO5L,EAAG4P,EAAS3P,GAE/BgT,EAAI2B,OAAOhJ,EAAO5L,EAAG4L,EAAO3L,QAIxB2L,EAAO8J,QAKZzC,EAAI0C,cACHL,EAAO1F,EAASgG,sBAAwBhG,EAASiG,kBACjDP,EAAO1F,EAASkG,sBAAwBlG,EAASmG,kBACjDT,EAAO1J,EAAOiK,kBAAoBjK,EAAOgK,sBACzCN,EAAO1J,EAAOmK,kBAAoBnK,EAAOkK,sBACzClK,EAAO5L,EACP4L,EAAO3L,GAVPgT,EAAI2B,OAAOhJ,EAAO5L,EAAG4L,EAAO3L,KAc3B+V,EAAiBlD,EAWrBhD,EAAaiD,MAAQD,EAAUC,MAS/BjD,EAAamG,qBAAuB,SAAShD,GAC5CA,EAAI0B,YACJ7B,EAAUO,YAAY1F,MAAMmF,EAAWxQ,YAGxC,IAAI4T,EAAW,CAIdC,KAAM,SAASxG,EAAOzH,GACrB,OAAO4H,EAAapB,MAAM7R,KAAK8S,KAAW9S,KAAK8S,GAAS,IAAKzH,KAM/DgO,EAASC,KAAK,SAAU,CACvBC,aAAc,kBACdC,iBAAkB,OAClBC,kBAAmB,qDACnBC,gBAAiB,GACjBC,iBAAkB,SAClBC,kBAAmB,IACnBC,WAAW,IAGZ,IAAIC,EAAgBT,EAEhB5I,EAAiBwC,EAAaxC,eAuB9BsJ,EAAkB,CASrBC,aAAc,SAASlY,EAAOyV,GAC7B,IAAI0C,GAAW,GAAKnY,GAAOqE,MAAM,wCACjC,IAAK8T,GAA0B,WAAfA,EAAQ,GACvB,OAAc,IAAP1C,EAKR,OAFAzV,GAASmY,EAAQ,GAETA,EAAQ,IAChB,IAAK,KACJ,OAAOnY,EACR,IAAK,IACJA,GAAS,IAIV,OAAOyV,EAAOzV,GAUfoY,UAAW,SAASpY,GACnB,IAAIwC,EAAGrC,EAAGE,EAAGH,EAWb,OATIiR,EAAa3C,SAASxO,IACzBwC,GAAKxC,EAAM6U,KAAO,EAClB1U,GAAKH,EAAM8U,OAAS,EACpBzU,GAAKL,EAAM+U,QAAU,EACrB7U,GAAKF,EAAM4U,MAAQ,GAEnBpS,EAAIrC,EAAIE,EAAIH,GAAKF,GAAS,EAGpB,CACN6U,IAAKrS,EACLsS,MAAO3U,EACP4U,OAAQ1U,EACRuU,KAAM1U,EACNuU,OAAQjS,EAAInC,EACZmU,MAAOtU,EAAIC,IAWbkY,WAAY,SAASzI,GACpB,IAAI0I,EAAiBN,EAAcza,OAC/BkY,EAAO9G,EAAeiB,EAAQ2I,SAAUD,EAAeV,iBACvDY,EAAO,CACVC,OAAQ9J,EAAeiB,EAAQ8I,WAAYJ,EAAeX,mBAC1DgB,WAAYxH,EAAavB,QAAQsI,aAAavJ,EAAeiB,EAAQ+I,WAAYL,EAAeR,mBAAoBrC,GACpHA,KAAMA,EACNJ,MAAO1G,EAAeiB,EAAQgJ,UAAWN,EAAeT,kBACxDnL,OAAQ,KACRzI,OAAQ,IAIT,OADAuU,EAAKvU,OA3FP,SAAsBuU,GACrB,OAAKA,GAAQrH,EAAa9C,cAAcmK,EAAK/C,OAAStE,EAAa9C,cAAcmK,EAAKC,QAC9E,MAGAD,EAAKnD,MAAQmD,EAAKnD,MAAQ,IAAM,KACpCmD,EAAK9L,OAAS8L,EAAK9L,OAAS,IAAM,IACnC8L,EAAK/C,KAAO,MACZ+C,EAAKC,OAmFOI,CAAaL,GACpBA,GAcRM,QAAS,SAASC,EAAQC,EAASnL,EAAOoL,GACzC,IACIjX,EAAGuN,EAAMvP,EADTkZ,GAAY,EAGhB,IAAKlX,EAAI,EAAGuN,EAAOwJ,EAAOlZ,OAAQmC,EAAIuN,IAAQvN,EAE7C,QAAckG,KADdlI,EAAQ+Y,EAAO/W,WAICkG,IAAZ8Q,GAA0C,mBAAVhZ,IACnCA,EAAQA,EAAMgZ,GACdE,GAAY,QAEChR,IAAV2F,GAAuBsD,EAAa7C,QAAQtO,KAC/CA,EAAQA,EAAM6N,GACdqL,GAAY,QAEChR,IAAVlI,GAIH,OAHIiZ,IAASC,IACZD,EAAKC,WAAY,GAEXlZ,IAUPmZ,EAAY,CAKfC,WAAY,SAASpZ,GACpB,IAEIgC,EAFAkF,EAAS,GACT5D,EAAO/C,KAAK+C,KAAKtD,GAGrB,IAAKgC,EAAI,EAAGA,EAAIsB,EAAMtB,IACjBhC,EAAQgC,GAAM,IACjBkF,EAAOmS,KAAKrX,GACZkF,EAAOmS,KAAKrZ,EAAQgC,IAUtB,OAPIsB,KAAiB,EAAPA,IACb4D,EAAOmS,KAAK/V,GAGb4D,EAAOoS,MAAK,SAASnW,EAAG9C,GACvB,OAAO8C,EAAI9C,KACTkG,MACIW,GAGRqS,MAAOhZ,KAAKgZ,OAAS,SAASlY,GAC7B,IAAImY,EAAWjZ,KAAKkZ,IAAIpY,GAAKd,KAAKmZ,OAG9BC,EAAYpZ,KAAKqD,MAAM4V,GAG3B,OAFkBnY,IAAMd,KAAKmB,IAAI,GAAIiY,GAEhBA,EAAYH,IAI/BI,EAAeT,EAWnBhI,EAAaoI,MAAQJ,EAAUI,MAE/B,IA0EIM,EAAY1I,EAEZ2I,EAASzC,EACTzH,EAAUqI,EACV8B,EAAOH,EAEXC,EAAUG,OALGpG,EAMbiG,EAAUC,OAASA,EACnBD,EAAUjK,QAAUA,EACpBiK,EAAUE,KAAOA,EACjBF,EAAUI,IAhBQ,CACjBC,cA3BgB,SAASD,EAAKE,EAAO3F,GACrC,OAAOyF,EA3CY,SAASE,EAAO3F,GACnC,MAAO,CACNnT,EAAG,SAASA,GACX,OAAO8Y,EAAQA,EAAQ3F,EAAQnT,GAEhC+Y,SAAU,SAASnV,GAClBuP,EAAQvP,GAEToV,UAAW,SAASC,GACnB,MAAc,WAAVA,EACIA,EAES,UAAVA,EAAoB,OAAS,SAErCC,MAAO,SAASlZ,EAAGrB,GAClB,OAAOqB,EAAIrB,GAEZwa,WAAY,SAASnZ,EAAGoZ,GACvB,OAAOpZ,EAAIoZ,IAyBAP,CAAcC,EAAO3F,GAnB3B,CACNnT,EAAG,SAASA,GACX,OAAOA,GAER+Y,SAAU,SAASnV,KAEnBoV,UAAW,SAASC,GACnB,OAAOA,GAERC,MAAO,SAASlZ,EAAGrB,GAClB,OAAOqB,EAAIrB,GAEZwa,WAAY,SAASnZ,EAAGqZ,GACvB,OAAOrZ,KAiCTsZ,sBAxB2B,SAASrG,EAAKsG,GACzC,IAAIvF,EAAOwF,EACO,QAAdD,GAAqC,QAAdA,IAE1BC,EAAW,EADXxF,EAAQf,EAAIwF,OAAOzE,OAEZyF,iBAAiB,aACvBzF,EAAM0F,oBAAoB,cAG3B1F,EAAM2F,YAAY,YAAaJ,EAAW,aAC1CtG,EAAI2G,kBAAoBJ,IAezBK,qBAX0B,SAAS5G,GACnC,IAAIuG,EAAWvG,EAAI2G,uBACF/S,IAAb2S,WACIvG,EAAI2G,kBACX3G,EAAIwF,OAAOzE,MAAM2F,YAAY,YAAaH,EAAS,GAAIA,EAAS,OAuElE,IAAIM,EAAU,SAASC,GACtBvB,EAAUzJ,OAAOlS,KAAMkd,GACvBld,KAAKmd,WAAWrM,MAAM9Q,KAAMyF,YAG7BkW,EAAUzJ,OAAO+K,EAAQpU,UAAW,CACnCuU,WAAOpT,EAEPmT,WAAY,WACXnd,KAAKqd,QAAS,GAGfC,MAAO,WACN,IAAI9K,EAAKxS,KAKT,OAJKwS,EAAG+K,QACP/K,EAAG+K,MAAQ5B,EAAUzJ,OAAO,GAAIM,EAAGgL,SAEpChL,EAAGiL,OAAS,GACLjL,GAGRkL,WAAY,SAASC,GACpB,IAAInL,EAAKxS,KACLyB,EAAQ+Q,EAAGgL,OACXI,EAAQpL,EAAGiL,OACXI,EAAOrL,EAAG+K,MAGd,OAAK9b,GAAkB,IAATkc,GAMTE,IACJA,EAAOrL,EAAG+K,MAAQ,IAGdK,IACJA,EAAQpL,EAAGiL,OAAS,IAxFvB,SAAqBG,EAAOC,EAAMpc,EAAOkc,GACxC,IACI7Z,EAAGuN,EAAM/Q,EAAKwd,EAAQC,EAAQhP,EAAQF,EAAMmP,EAAIC,EADhDrW,EAAOhG,OAAOgG,KAAKnG,GAGvB,IAAKqC,EAAI,EAAGuN,EAAOzJ,EAAKjG,OAAQmC,EAAIuN,IAAQvN,EAa3C,GAVAiL,EAAStN,EAFTnB,EAAMsH,EAAK9D,IAMN+Z,EAAK5d,eAAeK,KACxBud,EAAKvd,GAAOyO,IAGb+O,EAASD,EAAKvd,MAECyO,GAAqB,MAAXzO,EAAI,GAA7B,CAYA,GARKsd,EAAM3d,eAAeK,KACzBsd,EAAMtd,GAAOwd,IAKdjP,SAAcE,WAFdgP,EAASH,EAAMtd,IAKd,GAAa,WAATuO,GAEH,IADAmP,EAAKjO,EAAagO,IACX3S,QACN6S,EAAKlO,EAAahB,IACX3D,MAAO,CACbyS,EAAKvd,GAAO2d,EAAG3P,IAAI0P,EAAIL,GAAMzT,YAC7B,eAGI,GAAIyR,EAAUpL,SAASwN,IAAWpC,EAAUpL,SAASxB,GAAS,CACpE8O,EAAKvd,GAAOyd,GAAUhP,EAASgP,GAAUJ,EACzC,SAIFE,EAAKvd,GAAOyO,GA8CZmP,CAAYN,EAAOC,EAAMpc,EAAOkc,GAEzBnL,IAfNA,EAAG+K,MAAQ5B,EAAUzJ,OAAO,GAAIzQ,GAChC+Q,EAAGiL,OAAS,KACLjL,IAgBT2L,gBAAiB,WAChB,MAAO,CACNhb,EAAGnD,KAAKwd,OAAOra,EACfC,EAAGpD,KAAKwd,OAAOpa,IAIjBgb,SAAU,WACT,OAAOzC,EAAU0C,SAASre,KAAKwd,OAAOra,IAAMwY,EAAU0C,SAASre,KAAKwd,OAAOpa,MAI7E6Z,EAAQ/K,OAASyJ,EAAUrJ,SAE3B,IAAIgM,EAAerB,EAEfsB,EAAYD,EAAapM,OAAO,CACnCiE,MAAO,KACPqI,YAAa,EACbC,SAAU,GACV3C,OAAQ,GACR4C,OAAQ,KAERC,oBAAqB,KACrBC,oBAAqB,OAGlBC,EAAiBN,EAUrB3c,OAAOC,eAAe0c,EAAU1V,UAAW,kBAAmB,CAC7DiW,IAAK,WACJ,OAAO9e,QAUT4B,OAAOC,eAAe0c,EAAU1V,UAAW,gBAAiB,CAC3DiW,IAAK,WACJ,OAAO9e,KAAKmW,OAEb4I,IAAK,SAASjd,GACb9B,KAAKmW,MAAQrU,KAIfgY,EAAcR,KAAK,SAAU,CAC5B0F,UAAW,CACVC,SAAU,IACVnD,OAAQ,eACRoD,WAAYvD,EAAU1L,KACtBkP,WAAYxD,EAAU1L,QAIxB,IAAImP,EAAkB,CACrBC,WAAY,GACZC,QAAS,KAQTC,aAAc,SAASpJ,EAAO6I,EAAWC,EAAUO,GAClD,IACI1b,EAAGuN,EADHgO,EAAarf,KAAKqf,WAWtB,IARAL,EAAU7I,MAAQA,EAClB6I,EAAUS,UAAYC,KAAKC,MAC3BX,EAAUC,SAAWA,EAEhBO,IACJrJ,EAAMyJ,WAAY,GAGd9b,EAAI,EAAGuN,EAAOgO,EAAW1d,OAAQmC,EAAIuN,IAAQvN,EACjD,GAAIub,EAAWvb,GAAGqS,QAAUA,EAE3B,YADAkJ,EAAWvb,GAAKkb,GAKlBK,EAAWlE,KAAK6D,GAGU,IAAtBK,EAAW1d,QACd3B,KAAK6f,yBAIPC,gBAAiB,SAAS3J,GACzB,IAAIxG,EAAQgM,EAAUoE,UAAU/f,KAAKqf,YAAY,SAASL,GACzD,OAAOA,EAAU7I,QAAUA,MAGb,IAAXxG,IACH3P,KAAKqf,WAAWW,OAAOrQ,EAAO,GAC9BwG,EAAMyJ,WAAY,IAIpBC,sBAAuB,WACtB,IAAIrN,EAAKxS,KACU,OAAfwS,EAAG8M,UAIN9M,EAAG8M,QAAU3D,EAAUsE,iBAAiBlX,KAAK8G,QAAQ,WACpD2C,EAAG8M,QAAU,KACb9M,EAAG0N,mBAQNA,YAAa,WACHlgB,KAENmgB,UAFMngB,KAKFqf,WAAW1d,OAAS,GALlB3B,KAML6f,yBAOLM,QAAS,WAMR,IALA,IACInB,EAAW7I,EAAOsI,EAAU2B,EAD5Bf,EAAarf,KAAKqf,WAElBvb,EAAI,EAGDA,EAAIub,EAAW1d,QAErBwU,GADA6I,EAAYK,EAAWvb,IACLqS,MAClBsI,EAAWO,EAAUP,SAIrB2B,EAAW/d,KAAK6B,OAAOwb,KAAKC,MAAQX,EAAUS,WAAaT,EAAUC,SAAWR,GAAY,EAC5FO,EAAUR,YAAcnc,KAAKD,IAAIge,EAAU3B,GAE3C9C,EAAU/K,SAASoO,EAAUN,OAAQ,CAACvI,EAAO6I,GAAY7I,GACzDwF,EAAU/K,SAASoO,EAAUL,oBAAqB,CAACK,GAAY7I,GAE3D6I,EAAUR,aAAeC,GAC5B9C,EAAU/K,SAASoO,EAAUJ,oBAAqB,CAACI,GAAY7I,GAC/DA,EAAMyJ,WAAY,EAClBP,EAAWW,OAAOlc,EAAG,MAEnBA,IAMF8W,EAAUe,EAAUjK,QAAQkJ,QAE5ByF,EAAc,CAAC,OAAQ,MAAO,QAAS,SAAU,WAgDrD,SAASC,EAAoBlN,EAAOmN,GACnC,IAAIC,EAAOpN,EAAMqN,SACjB,GAAKD,EAAL,CAIA,IAAIE,EAAYF,EAAKE,UACjB/Q,EAAQ+Q,EAAUvN,QAAQoN,IACf,IAAX5Q,GACH+Q,EAAUV,OAAOrQ,EAAO,GAGrB+Q,EAAU/e,OAAS,IAIvB0e,EAAYxY,SAAQ,SAASvH,UACrB8S,EAAM9S,aAGP8S,EAAMqN,WAId,IAAIE,EAAoB,SAASxK,EAAOyK,GACvC5gB,KAAKmd,WAAWhH,EAAOyK,IAGxBjF,EAAUzJ,OAAOyO,EAAkB9X,UAAW,CAM7CgY,mBAAoB,KAMpBC,gBAAiB,KAQjBC,uBAAwB,CACvB,kBACA,iBACA,cACA,aACA,mBACA,kBACA,eASDC,oBAAqB,CACpB,kBACA,cACA,cACA,cAGD7D,WAAY,SAAShH,EAAOyK,GAC3B,IAAIpO,EAAKxS,KACTwS,EAAG2D,MAAQA,EACX3D,EAAG7C,MAAQiR,EACXpO,EAAGyO,aACHzO,EAAG0O,cACH1O,EAAG4K,MAAQ5K,EAAG2O,UAAUtS,MAGzBuS,YAAa,SAASR,GACrB5gB,KAAK2P,MAAQiR,GAGdK,WAAY,WACX,IACII,EADKrhB,KACKmhB,UACVhL,EAFKnW,KAEMmW,MACXmL,EAASnL,EAAMmL,OACfC,EAJKvhB,KAIQwhB,aACbC,EAAatL,EAAMzE,QAAQ4P,OAEV,OAAjBD,EAAKK,SAAsBL,EAAKK,WAAWJ,IAAWC,EAAQG,UACjEL,EAAKK,QAAUH,EAAQG,SAAWD,EAAWE,MAAM,GAAG7R,IAElC,OAAjBuR,EAAKO,SAAsBP,EAAKO,WAAWN,IAAWC,EAAQK,UACjEP,EAAKO,QAAUL,EAAQK,SAAWH,EAAWI,MAAM,GAAG/R,KAIxD0R,WAAY,WACX,OAAOxhB,KAAKmW,MAAM2L,KAAKC,SAAS/hB,KAAK2P,QAGtCwR,QAAS,WACR,OAAOnhB,KAAKmW,MAAM6L,eAAehiB,KAAK2P,QAGvCsS,cAAe,SAASC,GACvB,OAAOliB,KAAKmW,MAAMmL,OAAOY,IAM1BC,iBAAkB,WACjB,OAAOniB,KAAKmhB,UAAUS,SAMvBQ,iBAAkB,WACjB,OAAOpiB,KAAKmhB,UAAUO,SAMvBW,eAAgB,WACf,OAAOriB,KAAKiiB,cAAcjiB,KAAKmiB,qBAMhCG,eAAgB,WACf,OAAOtiB,KAAKiiB,cAAcjiB,KAAKoiB,qBAGhCG,MAAO,WACNviB,KAAKwiB,SAAQ,IAMdC,QAAS,WACJziB,KAAK0iB,OACRpC,EAAoBtgB,KAAK0iB,MAAO1iB,OAIlC2iB,kBAAmB,WAClB,IACI9T,EADK7O,KACK6gB,mBACd,OAAOhS,GAAQ,IAAIA,EAAK,CACvB+T,OAHQ5iB,KAGGmW,MACX0M,cAJQ7iB,KAIU2P,SAIpBmT,eAAgB,SAASnT,GACxB,IACId,EADK7O,KACK8gB,gBACd,OAAOjS,GAAQ,IAAIA,EAAK,CACvB+T,OAHQ5iB,KAGGmW,MACX0M,cAJQ7iB,KAIU2P,MAClBoT,OAAQpT,KAIVuR,YAAa,WACZ,IAIIpd,EAAGuN,EAHHgQ,EADKrhB,KACKmhB,UACVW,EAFK9hB,KAEKwhB,aAAaM,MAAQ,GAC/BkB,EAAW3B,EAAKS,KAGpB,IAAKhe,EAAI,EAAGuN,EAAOyQ,EAAKngB,OAAQmC,EAAIuN,IAAQvN,EAC3Ckf,EAASlf,GAAKkf,EAASlf,IAPf9D,KAOwB8iB,eAAehf,GAGhDud,EAAKE,QAAUF,EAAKE,SAVXvhB,KAUyB2iB,qBAGnCM,mBAAoB,SAAStT,GAC5B,IAAIuT,EAAUljB,KAAK8iB,eAAenT,GAClC3P,KAAKmhB,UAAUW,KAAK9B,OAAOrQ,EAAO,EAAGuT,GACrCljB,KAAKmjB,cAAcD,EAASvT,GAAO,IAGpCyT,sBAAuB,WACtB,IA1OyBhQ,EAAOmN,EA0O5B/N,EAAKxS,KACLuhB,EAAU/O,EAAGgP,aACbM,EAAOP,EAAQO,OAASP,EAAQO,KAAO,IAKvCtP,EAAGkQ,QAAUZ,IACZtP,EAAGkQ,OAENpC,EAAoB9N,EAAGkQ,MAAOlQ,GAG3BsP,GAAQlgB,OAAOyhB,aAAavB,KAvPDvB,EAwPN/N,GAxPDY,EAwPL0O,GAvPXrB,SACTrN,EAAMqN,SAASC,UAAUvF,KAAKoF,IAI/B3e,OAAOC,eAAeuR,EAAO,WAAY,CACxCkQ,cAAc,EACdC,YAAY,EACZzhB,MAAO,CACN4e,UAAW,CAACH,MAIdF,EAAYxY,SAAQ,SAASvH,GAC5B,IAAIkjB,EAAS,SAAWljB,EAAIiP,OAAO,GAAGtJ,cAAgB3F,EAAIwI,MAAM,GAC5D2a,EAAOrQ,EAAM9S,GAEjBsB,OAAOC,eAAeuR,EAAO9S,EAAK,CACjCgjB,cAAc,EACdC,YAAY,EACZzhB,MAAO,WACN,IAAI0D,EAAOoD,MAAMC,UAAUC,MAAMC,KAAKtD,WAClCie,EAAMD,EAAK3S,MAAM9Q,KAAMwF,GAQ3B,OANAmW,EAAU5K,KAAKqC,EAAMqN,SAASC,WAAW,SAASiD,GACnB,mBAAnBA,EAAOH,IACjBG,EAAOH,GAAQ1S,MAAM6S,EAAQne,MAIxBke,UA2NRlR,EAAGkQ,MAAQZ,GAKZtP,EAAGoR,kBAOJC,WAAY,WACF7jB,KACN8jB,QAAUnI,EAAU9J,MAAM,GAAI,CADxB7R,KAELmW,MAAMzE,QAAQqQ,SAFT/hB,KAEqBod,OAFrBpd,KAGLwhB,cACD,CACFvP,OAAQ,SAAS3R,EAAKyO,EAAQD,GACjB,UAARxO,GAA2B,SAARA,GACtBqb,EAAUlK,QAAQnR,EAAKyO,EAAQD,OAMnC0T,QAAS,SAASD,GACRviB,KACN6jB,aADM7jB,KAEN+jB,gBAAkB,KAFZ/jB,KAGNgkB,OAAOzB,IAGXyB,OAAQrI,EAAU1L,KAElByN,WAAY,SAASuG,GAMpB,IALA,IAAI5C,EAAOrhB,KAAKmhB,UACZ+C,EAAW7C,EAAKS,MAAQ,GACxBzQ,EAAO6S,EAASviB,OAChBmC,EAAI,EAEDA,EAAIuN,IAAQvN,EAClBogB,EAASpgB,GAAG4Z,WAAWuG,GAGpB5C,EAAKE,SACRF,EAAKE,QAAQ7D,WAAWuG,IAI1BE,KAAM,WACL,IAAI9C,EAAOrhB,KAAKmhB,UACZ+C,EAAW7C,EAAKS,MAAQ,GACxBzQ,EAAO6S,EAASviB,OAChBmC,EAAI,EAMR,IAJIud,EAAKE,SACRF,EAAKE,QAAQ4C,OAGPrgB,EAAIuN,IAAQvN,EAClBogB,EAASpgB,GAAGqgB,QAUdC,SAAU,SAASzU,GAClB,IAGIwH,EAFAkK,EADKrhB,KACKmhB,UACVI,EAAUF,EAAKE,QAenB,OAjBSvhB,KAKN6jB,cAQgB,KANlB1M,EADGoK,QAAqBvX,IAAV2F,EANN3P,KAOGqkB,8BAA8B9C,GAAW,IAP5CvhB,KAUGskB,2BAA2BjD,EAAKS,KAD3CnS,EAAQA,GAAS,IACyC,GAAIA,IAGrDsI,MAAiC,OAAfd,EAAMc,OACjCd,EAAMoN,gBAAkBpN,EAAMqN,aAGxBrN,GAMRkN,8BAA+B,SAASnB,EAASuB,GAChD,IAOI3gB,EAAGuN,EAAM/Q,EAAKokB,EAPdlS,EAAKxS,KACLmW,EAAQ3D,EAAG2D,MACXwO,EAAcnS,EAAGsR,QACjBc,EAAS1B,EAAQ0B,QAAU,GAC3BlT,EAAUyE,EAAMzE,QAAQwS,SAAS1R,EAAGqO,mBAAmBhY,UAAUuU,QAAU,GAC3EyH,EAAiBrS,EAAGuO,uBACpB1V,EAAS,GAITyP,EAAU,CACb3E,MAAOA,EACPoL,QAAS/O,EAAGgP,aACZZ,aAAcpO,EAAG7C,MACjB8U,MAAOA,GAGR,IAAK3gB,EAAI,EAAGuN,EAAOwT,EAAeljB,OAAQmC,EAAIuN,IAAQvN,EACrDxD,EAAMukB,EAAe/gB,GACrB4gB,EAAUD,EAAQ,QAAUnkB,EAAIiP,OAAO,GAAGtJ,cAAgB3F,EAAIwI,MAAM,GAAKxI,EACzE+K,EAAO/K,GAAOsa,EAAQ,CACrBgK,EAAOF,GACPC,EAAYD,GACZhT,EAAQgT,IACN5J,GAGJ,OAAOzP,GAMRiZ,2BAA4B,SAASpB,EAASvT,GAC7C,IAAI6C,EAAKxS,KACL4kB,EAAS1B,GAAWA,EAAQ0B,OAC5BE,EAAStS,EAAGuR,gBAChB,GAAIe,IAAWF,EACd,OAAOE,EAER,IAiBIld,EAAM9D,EAAGuN,EAAM/Q,EAjBf6V,EAAQ3D,EAAG2D,MACXwO,EAAcnS,EAAGsR,QACjBpS,EAAUyE,EAAMzE,QAAQwS,SAAS1R,EAAGsO,gBAAgBjY,UAAUuU,QAAU,GACxEyH,EAAiBrS,EAAGwO,oBACpB3V,EAAS,GAGTyP,EAAU,CACb3E,MAAOA,EACP4O,UAAWpV,EACX4R,QAAS/O,EAAGgP,aACZZ,aAAcpO,EAAG7C,OAIdoL,EAAO,CAACC,WAAY4J,GAMxB,GAFAA,EAASA,GAAU,GAEfjJ,EAAUvL,QAAQyU,GACrB,IAAK/gB,EAAI,EAAGuN,EAAOwT,EAAeljB,OAAQmC,EAAIuN,IAAQvN,EAErDuH,EADA/K,EAAMukB,EAAe/gB,IACP8W,EAAQ,CACrBgK,EAAOtkB,GACPqkB,EAAYrkB,GACZoR,EAAQpR,IACNwa,EAASnL,EAAOoL,QAIpB,IAAKjX,EAAI,EAAGuN,GADZzJ,EAAOhG,OAAOgG,KAAKid,IACKljB,OAAQmC,EAAIuN,IAAQvN,EAE3CuH,EADA/K,EAAMsH,EAAK9D,IACG8W,EAAQ,CACrBgK,EAAOtkB,GACPqkB,EAAYE,EAAevkB,IAC3BqkB,EAAYrkB,GACZoR,EAAQpR,IACNwa,EAASnL,EAAOoL,GAQrB,OAJIA,EAAKC,YACRxI,EAAGuR,gBAAkBniB,OAAOojB,OAAO3Z,IAG7BA,GAGR4Z,iBAAkB,SAAS/B,GAC1BvH,EAAU9J,MAAMqR,EAAQ1F,OAAQ0F,EAAQgC,gBAAkB,WACnDhC,EAAQgC,gBAGhBC,cAAe,SAASjC,GACvB,IAAI3B,EAAUvhB,KAAKmW,MAAM2L,KAAKC,SAASmB,EAAQL,eAC3ClT,EAAQuT,EAAQH,OAChB6B,EAAS1B,EAAQ0B,QAAU,GAC3BnjB,EAAQyhB,EAAQ1F,OAChB4H,EAAgBzJ,EAAUyJ,cAE9BlC,EAAQgC,eAAiB,CACxBX,gBAAiB9iB,EAAM8iB,gBACvBC,YAAa/iB,EAAM+iB,YACnBa,YAAa5jB,EAAM4jB,aAGpB5jB,EAAM8iB,gBAAkB3J,EAAQ,CAACgK,EAAOU,qBAAsB/D,EAAQ+D,qBAAsBF,EAAc3jB,EAAM8iB,uBAAmBva,EAAW2F,GAC9IlO,EAAM+iB,YAAc5J,EAAQ,CAACgK,EAAOW,iBAAkBhE,EAAQgE,iBAAkBH,EAAc3jB,EAAM+iB,mBAAexa,EAAW2F,GAC9HlO,EAAM4jB,YAAczK,EAAQ,CAACgK,EAAOY,iBAAkBjE,EAAQiE,iBAAkB/jB,EAAM4jB,kBAAcrb,EAAW2F,IAMhH8V,yBAA0B,WACzB,IAAIvC,EAAUljB,KAAKmhB,UAAUI,QAEzB2B,GACHljB,KAAKilB,iBAAiB/B,IAOxBwC,sBAAuB,WACtB,IAEI5hB,EAAGuN,EAAM/Q,EAAKsH,EAAM+d,EAAclkB,EAFlCyhB,EAAUljB,KAAKmhB,UAAUI,QACzBqE,EAAO,GAGX,GAAK1C,EAAL,CAQA,IAJAzhB,EAAQyhB,EAAQ1F,OAChBmI,EAAe3lB,KAAKqkB,8BAA8BnB,GAAS,GAGtDpf,EAAI,EAAGuN,GADZzJ,EAAOhG,OAAOgG,KAAK+d,IACKhkB,OAAQmC,EAAIuN,IAAQvN,EAE3C8hB,EADAtlB,EAAMsH,EAAK9D,IACCrC,EAAMnB,GAClBmB,EAAMnB,GAAOqlB,EAAarlB,GAG3B4iB,EAAQgC,eAAiBU,IAM1BhC,eAAgB,WACf,IACIvC,EADKrhB,KACKmhB,UACVW,EAFK9hB,KAEKwhB,aAAaM,KACvB+D,EAAUxE,EAAKS,KAAKngB,OACpBmkB,EAAUhE,EAAKngB,OAEfmkB,EAAUD,EACbxE,EAAKS,KAAK9B,OAAO8F,EAASD,EAAUC,GAC1BA,EAAUD,GARZ7lB,KASL+lB,eAAeF,EAASC,EAAUD,IAOvCE,eAAgB,SAASnI,EAAOoI,GAC/B,IAAK,IAAIliB,EAAI,EAAGA,EAAIkiB,IAASliB,EAC5B9D,KAAKijB,mBAAmBrF,EAAQ9Z,IAOlCmiB,WAAY,WACX,IAAID,EAAQvgB,UAAU9D,OACtB3B,KAAK+lB,eAAe/lB,KAAKwhB,aAAaM,KAAKngB,OAASqkB,EAAOA,IAM5DE,UAAW,WACVlmB,KAAKmhB,UAAUW,KAAKzZ,OAMrB8d,YAAa,WACZnmB,KAAKmhB,UAAUW,KAAKsE,SAMrBC,aAAc,SAASzI,EAAOoI,GAC7BhmB,KAAKmhB,UAAUW,KAAK9B,OAAOpC,EAAOoI,GAClChmB,KAAK+lB,eAAenI,EAAOnY,UAAU9D,OAAS,IAM/C2kB,cAAe,WACdtmB,KAAK+lB,eAAe,EAAGtgB,UAAU9D,WAInCgf,EAAkBzO,OAASyJ,EAAUrJ,SAErC,IAAIiU,EAAyB5F,EAEzB6F,GAAgB,EAAVnkB,KAAK8C,GAaf,SAASshB,GAAQrQ,EAAKW,GACrB,IAAI2P,EAAa3P,EAAI2P,WACjBC,EAAW5P,EAAI4P,SACfC,EAAc7P,EAAI6P,YAClBC,EAAcD,EAAc7P,EAAI+P,YAChC3jB,EAAI4T,EAAI5T,EACRC,EAAI2T,EAAI3T,EAIZgT,EAAI0B,YACJ1B,EAAIW,IAAI5T,EAAGC,EAAG2T,EAAI+P,YAAaJ,EAAaG,EAAaF,EAAWE,GAChE9P,EAAIgQ,YAAcH,EAErBxQ,EAAIW,IAAI5T,EAAGC,EAAG2T,EAAIgQ,YAAcH,EAAaD,GAD7CE,EAAcD,EAAc7P,EAAIgQ,aACqCL,EAAaG,GAAa,GAE/FzQ,EAAIW,IAAI5T,EAAGC,EAAGwjB,EAAaD,EAAWtkB,KAAK8C,GAAK,EAAGuhB,EAAarkB,KAAK8C,GAAK,GAE3EiR,EAAIY,YACJZ,EAAImC,OA9BLuB,EAAcR,KAAK,SAAU,CAC5B4K,SAAU,CACTnN,IAAK,CACJwN,gBAAiBzK,EAAcza,OAAOka,aACtCiL,YAAa,OACba,YAAa,EACb2B,YAAa,aAgFhB,IAAIC,GAAc3I,EAAapM,OAAO,CACrCkL,MAAO,MAEP8J,aAAc,SAASC,GACtB,IAAIC,EAAKpnB,KAAKud,MAEd,QAAI6J,GACK/kB,KAAKmB,IAAI2jB,EAASC,EAAGjkB,EAAG,GAAKd,KAAKmB,IAAI4jB,EAAG3Q,OAAS2Q,EAAGC,YAAa,IAK5EC,QAAS,SAASC,EAAQC,GACzB,IAAIJ,EAAKpnB,KAAKud,MAEd,GAAI6J,EAAI,CAQP,IAPA,IAAIK,EAAwB9L,EAAU+L,kBAAkBN,EAAI,CAACjkB,EAAGokB,EAAQnkB,EAAGokB,IACvEG,EAAQF,EAAsBE,MAC9BpkB,EAAWkkB,EAAsBlkB,SAGjCmjB,EAAaU,EAAGV,WAChBC,EAAWS,EAAGT,SACXA,EAAWD,GACjBC,GAAYH,GAEb,KAAOmB,EAAQhB,GACdgB,GAASnB,GAEV,KAAOmB,EAAQjB,GACdiB,GAASnB,GAOV,OAHqBmB,GAASjB,GAAciB,GAAShB,GACjCpjB,GAAY6jB,EAAGL,aAAexjB,GAAY6jB,EAAGN,YAIlE,OAAO,GAGRc,eAAgB,WACf,IAAIR,EAAKpnB,KAAKud,MACVsK,GAAaT,EAAGV,WAAaU,EAAGT,UAAY,EAC5CmB,GAAcV,EAAGL,YAAcK,EAAGN,aAAe,EACrD,MAAO,CACN3jB,EAAGikB,EAAGjkB,EAAId,KAAKiD,IAAIuiB,GAAaC,EAChC1kB,EAAGgkB,EAAGhkB,EAAIf,KAAKkD,IAAIsiB,GAAaC,IAIlCC,QAAS,WACR,IAAIX,EAAKpnB,KAAKud,MACd,OAAOlb,KAAK8C,KAAOiiB,EAAGT,SAAWS,EAAGV,aAAe,EAAIrkB,KAAK8C,MAAQ9C,KAAKmB,IAAI4jB,EAAGN,YAAa,GAAKzkB,KAAKmB,IAAI4jB,EAAGL,YAAa,KAG5H5I,gBAAiB,WAChB,IAAIiJ,EAAKpnB,KAAKud,MACVyK,EAAcZ,EAAGV,YAAeU,EAAGT,SAAWS,EAAGV,YAAc,EAC/DuB,GAAmBb,EAAGN,YAAcM,EAAGL,aAAe,EAAIK,EAAGL,YAEjE,MAAO,CACN5jB,EAAGikB,EAAGjkB,EAAKd,KAAKiD,IAAI0iB,GAAeC,EACnC7kB,EAAGgkB,EAAGhkB,EAAKf,KAAKkD,IAAIyiB,GAAeC,IAIrC9D,KAAM,WACL,IAaIrgB,EAbAsS,EAAMpW,KAAK4iB,OAAOxM,IAClBgR,EAAKpnB,KAAKud,MACVqJ,EAAkC,UAAnBQ,EAAGJ,YAA2B,IAAO,EACpDjQ,EAAM,CACT5T,EAAGikB,EAAGjkB,EACNC,EAAGgkB,EAAGhkB,EACN2jB,YAAaK,EAAGL,YAChBD,YAAazkB,KAAKC,IAAI8kB,EAAGN,YAAcF,EAAa,GACpDA,YAAaA,EACbF,WAAYU,EAAGV,WACfC,SAAUS,EAAGT,SACbuB,YAAa7lB,KAAK6B,MAAMkjB,EAAGe,cAAgB3B,KAS5C,GALApQ,EAAIsB,OAEJtB,EAAIgS,UAAYhB,EAAG7C,gBACnBnO,EAAIiS,YAAcjB,EAAG5C,YAEjBzN,EAAImR,YAAa,CAMpB,IALAnR,EAAI4P,SAAW5P,EAAI2P,WAAaF,GAChCpQ,EAAI0B,YACJ1B,EAAIW,IAAIA,EAAI5T,EAAG4T,EAAI3T,EAAG2T,EAAI+P,YAAa/P,EAAI2P,WAAY3P,EAAI4P,UAC3DvQ,EAAIW,IAAIA,EAAI5T,EAAG4T,EAAI3T,EAAG2T,EAAIgQ,YAAahQ,EAAI4P,SAAU5P,EAAI2P,YAAY,GACrEtQ,EAAIY,YACClT,EAAI,EAAGA,EAAIiT,EAAImR,cAAepkB,EAClCsS,EAAI6B,OAELlB,EAAI4P,SAAW5P,EAAI2P,WAAaU,EAAGe,cAAgB3B,GAGpDpQ,EAAI0B,YACJ1B,EAAIW,IAAIA,EAAI5T,EAAG4T,EAAI3T,EAAG2T,EAAI+P,YAAa/P,EAAI2P,WAAY3P,EAAI4P,UAC3DvQ,EAAIW,IAAIA,EAAI5T,EAAG4T,EAAI3T,EAAG2T,EAAIgQ,YAAahQ,EAAI4P,SAAU5P,EAAI2P,YAAY,GACrEtQ,EAAIY,YACJZ,EAAI6B,OAEAmP,EAAG/B,aArIT,SAAoBjP,EAAKgR,EAAIrQ,GAC5B,IAAIuR,EAA2B,UAAnBlB,EAAGJ,YAEXsB,GACHlS,EAAImS,UAA6B,EAAjBnB,EAAG/B,YACnBjP,EAAIoS,SAAW,UAEfpS,EAAImS,UAAYnB,EAAG/B,YACnBjP,EAAIoS,SAAW,SAGZzR,EAAImR,aAtCT,SAA+B9R,EAAKgR,EAAIrQ,EAAKuR,GAC5C,IACIxkB,EADA6iB,EAAW5P,EAAI4P,SAenB,IAZI2B,IACHvR,EAAI4P,SAAW5P,EAAI2P,WAAaF,GAChCC,GAAQrQ,EAAKW,GACbA,EAAI4P,SAAWA,EACX5P,EAAI4P,WAAa5P,EAAI2P,YAAc3P,EAAImR,cAC1CnR,EAAI4P,UAAYH,GAChBzP,EAAImR,gBAIN9R,EAAI0B,YACJ1B,EAAIW,IAAIA,EAAI5T,EAAG4T,EAAI3T,EAAG2T,EAAIgQ,YAAahQ,EAAI2P,WAAaF,GAAKzP,EAAI2P,YAAY,GACxE5iB,EAAI,EAAGA,EAAIiT,EAAImR,cAAepkB,EAClCsS,EAAI8B,SAKL,IAFA9B,EAAI0B,YACJ1B,EAAIW,IAAIA,EAAI5T,EAAG4T,EAAI3T,EAAGgkB,EAAGN,YAAa/P,EAAI2P,WAAY3P,EAAI2P,WAAaF,IAClE1iB,EAAI,EAAGA,EAAIiT,EAAImR,cAAepkB,EAClCsS,EAAI8B,SAgBJuQ,CAAsBrS,EAAKgR,EAAIrQ,EAAKuR,GAGjCA,GACH7B,GAAQrQ,EAAKW,GAGdX,EAAI0B,YACJ1B,EAAIW,IAAIA,EAAI5T,EAAG4T,EAAI3T,EAAGgkB,EAAGN,YAAa/P,EAAI2P,WAAY3P,EAAI4P,UAC1DvQ,EAAIW,IAAIA,EAAI5T,EAAG4T,EAAI3T,EAAG2T,EAAIgQ,YAAahQ,EAAI4P,SAAU5P,EAAI2P,YAAY,GACrEtQ,EAAIY,YACJZ,EAAI8B,SA+GFwQ,CAAWtS,EAAKgR,EAAIrQ,GAGrBX,EAAIyB,aAIF8Q,GAAmBhN,EAAUlL,eAE7B8I,GAAeO,EAAcza,OAAOka,aAExCO,EAAcR,KAAK,SAAU,CAC5B4K,SAAU,CACT0E,KAAM,CACL/P,QAAS,GACT0L,gBAAiBhL,GACjB8L,YAAa,EACbb,YAAajL,GACbsP,eAAgB,OAChBC,WAAY,GACZC,iBAAkB,EAClBC,gBAAiB,QACjBC,iBAAiB,EACjBhR,MAAM,MAKT,IAAIiR,GAAe5K,EAAapM,OAAO,CACtCkL,MAAO,OAEP+G,KAAM,WACL,IASIxU,EAAOoD,EAAUoW,EATjB3W,EAAKxS,KACLonB,EAAK5U,EAAG+K,MACRnH,EAAM5D,EAAGoQ,OAAOxM,IAChBgT,EAAWhC,EAAGgC,SACdC,EAAS7W,EAAG8W,UAAUxgB,QACtBsR,EAAiBN,EAAcza,OAC/BkqB,EAA2BnP,EAAe8J,SAAS0E,KACnDY,GAAkB,EAClBxS,EAAYxE,EAAGiX,MAGnB,GAAKJ,EAAO1nB,OAAZ,CAIA,GAAI6Q,EAAGiX,MAAO,CACb,IAAK9Z,EAAQ,EAAGA,EAAQ0Z,EAAO1nB,SAAUgO,EAGxC,GAFAoD,EAAW4I,EAAU+N,aAAaL,EAAQ1Z,IAErC0Z,EAAO1Z,GAAO4N,MAAMoM,MAAQ5W,EAASwK,MAAMoM,KAAM,CACrDN,EAASA,EAAOvgB,MAAM6G,GAAO1D,OAAOod,EAAOvgB,MAAM,EAAG6G,IACpDqH,EAAYoS,EACZ,MAIEpS,GACHqS,EAAOlO,KAAKkO,EAAO,IA6BrB,IAzBAjT,EAAIsB,OAGJtB,EAAIwT,QAAUxC,EAAGyB,gBAAkBU,EAAyBV,eAGxDzS,EAAIyT,aACPzT,EAAIyT,YAAYzC,EAAG0B,YAAcS,EAAyBT,YAG3D1S,EAAI0T,eAAiBnB,GAAiBvB,EAAG2B,iBAAkBQ,EAAyBR,kBACpF3S,EAAIoS,SAAWpB,EAAG4B,iBAAmBO,EAAyBP,gBAC9D5S,EAAImS,UAAYI,GAAiBvB,EAAG/B,YAAakE,EAAyBlE,aAC1EjP,EAAIiS,YAAcjB,EAAG5C,aAAepK,EAAeb,aAGnDnD,EAAI0B,aAGJqR,EAAYE,EAAO,GAAG9L,OACPoM,OACdvT,EAAIU,OAAOqS,EAAUhmB,EAAGgmB,EAAU/lB,GAClComB,EAAiB,GAGb7Z,EAAQ,EAAGA,EAAQ0Z,EAAO1nB,SAAUgO,EACxCwZ,EAAYE,EAAO1Z,GAAO4N,MAC1BxK,GAA+B,IAApByW,EAAwB7N,EAAU+N,aAAaL,EAAQ1Z,GAAS0Z,EAAOG,GAE7EL,EAAUQ,OACTH,IAAoB7Z,EAAQ,IAAOyZ,IAAiC,IAApBI,EAEpDpT,EAAIU,OAAOqS,EAAUhmB,EAAGgmB,EAAU/lB,GAGlCuY,EAAUC,OAAO7D,OAAO3B,EAAKrD,EAASwK,MAAO4L,GAE9CK,EAAiB7Z,GAIfqH,GACHZ,EAAIY,YAGLZ,EAAI8B,SACJ9B,EAAIyB,cAIFkS,GAAmBpO,EAAUlL,eAE7BuZ,GAAiBlQ,EAAcza,OAAOka,aAkB1C,SAAS0Q,GAAO9C,GACf,IAAIC,EAAKpnB,KAAKud,MACd,QAAO6J,GAAM/kB,KAAK6nB,IAAI/C,EAASC,EAAGjkB,GAAKikB,EAAG3Q,OAAS2Q,EAAG+C,UAlBvDrQ,EAAcR,KAAK,SAAU,CAC5B4K,SAAU,CACT9L,MAAO,CACN3B,OAAQ,EACR2T,WAAY,SACZ7F,gBAAiByF,GACjBxF,YAAawF,GACb3E,YAAa,EAEb8E,UAAW,EACX9C,YAAa,EACb7B,iBAAkB,MAerB,IAAI6E,GAAgB/L,EAAapM,OAAO,CACvCkL,MAAO,QAEPkK,QAAS,SAASH,EAAQmD,GACzB,IAAIlD,EAAKpnB,KAAKud,MACd,QAAO6J,GAAO/kB,KAAKmB,IAAI2jB,EAASC,EAAGjkB,EAAG,GAAKd,KAAKmB,IAAI8mB,EAASlD,EAAGhkB,EAAG,GAAMf,KAAKmB,IAAI4jB,EAAG+C,UAAY/C,EAAG3Q,OAAQ,IAG7GyQ,aAAc+C,GACdM,SAAUN,GACVO,SAfD,SAAgBF,GACf,IAAIlD,EAAKpnB,KAAKud,MACd,QAAO6J,GAAM/kB,KAAK6nB,IAAII,EAASlD,EAAGhkB,GAAKgkB,EAAG3Q,OAAS2Q,EAAG+C,WAetDvC,eAAgB,WACf,IAAIR,EAAKpnB,KAAKud,MACd,MAAO,CACNpa,EAAGikB,EAAGjkB,EACNC,EAAGgkB,EAAGhkB,IAIR2kB,QAAS,WACR,OAAO1lB,KAAK8C,GAAK9C,KAAKmB,IAAIxD,KAAKud,MAAM9G,OAAQ,IAG9C0H,gBAAiB,WAChB,IAAIiJ,EAAKpnB,KAAKud,MACd,MAAO,CACNpa,EAAGikB,EAAGjkB,EACNC,EAAGgkB,EAAGhkB,EACNqnB,QAASrD,EAAG3Q,OAAS2Q,EAAG/B,cAI1BlB,KAAM,SAASuG,GACd,IAAItD,EAAKpnB,KAAKud,MACVnH,EAAMpW,KAAK4iB,OAAOxM,IAClBgU,EAAahD,EAAGgD,WAChBhT,EAAWgQ,EAAGhQ,SACdX,EAAS2Q,EAAG3Q,OACZtT,EAAIikB,EAAGjkB,EACPC,EAAIgkB,EAAGhkB,EACPgX,EAAiBN,EAAcza,OAC/Bka,EAAea,EAAeb,aAE9B6N,EAAGuC,YAKW3f,IAAd0gB,GAA2B/O,EAAUC,OAAOzD,eAAeiP,EAAIsD,MAClEtU,EAAIiS,YAAcjB,EAAG5C,aAAejL,EACpCnD,EAAImS,UAAYwB,GAAiB3C,EAAG/B,YAAajL,EAAe8J,SAAS9L,MAAMiN,aAC/EjP,EAAIgS,UAAYhB,EAAG7C,iBAAmBhL,EACtCoC,EAAUC,OAAO1E,UAAUd,EAAKgU,EAAY3T,EAAQtT,EAAGC,EAAGgU,OAKzDuT,GAAiB7Q,EAAcza,OAAOka,aAa1C,SAASqR,GAAWxD,GACnB,OAAOA,QAAmBpd,IAAbod,EAAG9Q,MASjB,SAASuU,GAAazD,GACrB,IAAI0D,EAAI/lB,EAAIgmB,EAAIjmB,EAAIkmB,EAgBpB,OAdIJ,GAAWxD,IAEd0D,EAAK1D,EAAGjkB,GADR6nB,EAAO5D,EAAG9Q,MAAQ,GAElBvR,EAAKqiB,EAAGjkB,EAAI6nB,EACZD,EAAK1oB,KAAKD,IAAIglB,EAAGhkB,EAAGgkB,EAAG3D,MACvB3e,EAAKzC,KAAKC,IAAI8kB,EAAGhkB,EAAGgkB,EAAG3D,QAEvBuH,EAAO5D,EAAG7Q,OAAS,EACnBuU,EAAKzoB,KAAKD,IAAIglB,EAAGjkB,EAAGikB,EAAG3D,MACvB1e,EAAK1C,KAAKC,IAAI8kB,EAAGjkB,EAAGikB,EAAG3D,MACvBsH,EAAK3D,EAAGhkB,EAAI4nB,EACZlmB,EAAKsiB,EAAGhkB,EAAI4nB,GAGN,CACNtU,KAAMoU,EACNnU,IAAKoU,EACLnU,MAAO7R,EACP8R,OAAQ/R,GAIV,SAASmmB,GAAKC,EAAM3Z,EAAI4Z,GACvB,OAAOD,IAAS3Z,EAAK4Z,EAAKD,IAASC,EAAK5Z,EAAK2Z,EAmE9C,SAAS5D,GAAQF,EAAIjkB,EAAGC,GACvB,IAAIgoB,EAAc,OAANjoB,EACRkoB,EAAc,OAANjoB,EACRkoB,KAAUlE,GAAOgE,GAASC,IAAiBR,GAAazD,GAE5D,OAAOkE,IACFF,GAASjoB,GAAKmoB,EAAO5U,MAAQvT,GAAKmoB,EAAO1U,SACzCyU,GAASjoB,GAAKkoB,EAAO3U,KAAOvT,GAAKkoB,EAAOzU,QAzH9CiD,EAAcR,KAAK,SAAU,CAC5B4K,SAAU,CACTqH,UAAW,CACVhH,gBAAiBoG,GACjBnG,YAAamG,GACba,cAAe,SACfnG,YAAa,MAsHhB,IAAIoG,GAAoBnN,EAAapM,OAAO,CAC3CkL,MAAO,YAEP+G,KAAM,WACL,IAAI/N,EAAMpW,KAAK4iB,OAAOxM,IAClBgR,EAAKpnB,KAAKud,MACVmO,EAtCN,SAAuBtE,GACtB,IAAIkE,EAAST,GAAazD,GACtB9Q,EAAQgV,EAAO1U,MAAQ0U,EAAO5U,KAC9BH,EAAS+U,EAAOzU,OAASyU,EAAO3U,IAChCgV,EA1BL,SAA0BvE,EAAIwE,EAAMC,GACnC,IAEIvnB,EAAGrC,EAAGE,EAAGH,EAFTF,EAAQslB,EAAG/B,YACXsE,EAtBL,SAA4BvC,GAC3B,IAAI0E,EAAO1E,EAAGoE,cACV9H,EAAM,GAEV,OAAKoI,GAID1E,EAAG2E,WACF3E,EAAG3D,KAAO2D,EAAGjkB,IAChB2oB,EAAOb,GAAKa,EAAM,OAAQ,UAEjB1E,EAAG3D,KAAO2D,EAAGhkB,IACvB0oB,EAAOb,GAAKa,EAAM,SAAU,QAG7BpI,EAAIoI,IAAQ,EACLpI,GAZCA,EAiBGsI,CAAmB5E,GAY9B,OATIzL,EAAUrL,SAASxO,IACtBwC,GAAKxC,EAAM6U,KAAO,EAClB1U,GAAKH,EAAM8U,OAAS,EACpBzU,GAAKL,EAAM+U,QAAU,EACrB7U,GAAKF,EAAM4U,MAAQ,GAEnBpS,EAAIrC,EAAIE,EAAIH,GAAKF,GAAS,EAGpB,CACNwC,EAAGqlB,EAAKhT,KAAQrS,EAAI,EAAK,EAAIA,EAAIunB,EAAOA,EAAOvnB,EAC/CrC,EAAG0nB,EAAK/S,OAAU3U,EAAI,EAAK,EAAIA,EAAI2pB,EAAOA,EAAO3pB,EACjDE,EAAGwnB,EAAK9S,QAAW1U,EAAI,EAAK,EAAIA,EAAI0pB,EAAOA,EAAO1pB,EAClDH,EAAG2nB,EAAKjT,MAAS1U,EAAI,EAAK,EAAIA,EAAI4pB,EAAOA,EAAO5pB,GAQpCiqB,CAAiB7E,EAAI9Q,EAAQ,EAAGC,EAAS,GAEtD,MAAO,CACN2V,MAAO,CACN/oB,EAAGmoB,EAAO5U,KACVtT,EAAGkoB,EAAO3U,IACV5P,EAAGuP,EACHvU,EAAGwU,GAEJ+R,MAAO,CACNnlB,EAAGmoB,EAAO5U,KAAOiV,EAAO3pB,EACxBoB,EAAGkoB,EAAO3U,IAAMgV,EAAOrnB,EACvByC,EAAGuP,EAAQqV,EAAO3pB,EAAI2pB,EAAO1pB,EAC7BF,EAAGwU,EAASoV,EAAOrnB,EAAIqnB,EAAOxpB,IAqBnBgqB,CAAc/E,GACtB8E,EAAQR,EAAMQ,MACd5D,EAAQoD,EAAMpD,MAElBlS,EAAIgS,UAAYhB,EAAG7C,gBACnBnO,EAAIgW,SAASF,EAAM/oB,EAAG+oB,EAAM9oB,EAAG8oB,EAAMnlB,EAAGmlB,EAAMnqB,GAE1CmqB,EAAMnlB,IAAMuhB,EAAMvhB,GAAKmlB,EAAMnqB,IAAMumB,EAAMvmB,IAI7CqU,EAAIsB,OACJtB,EAAI0B,YACJ1B,EAAIa,KAAKiV,EAAM/oB,EAAG+oB,EAAM9oB,EAAG8oB,EAAMnlB,EAAGmlB,EAAMnqB,GAC1CqU,EAAImC,OACJnC,EAAIgS,UAAYhB,EAAG5C,YACnBpO,EAAIa,KAAKqR,EAAMnlB,EAAGmlB,EAAMllB,EAAGklB,EAAMvhB,EAAGuhB,EAAMvmB,GAC1CqU,EAAI6B,KAAK,WACT7B,EAAIyB,YAGLtB,OAAQ,WACP,IAAI6Q,EAAKpnB,KAAKud,MACd,OAAO6J,EAAG3D,KAAO2D,EAAGhkB,GAGrBkkB,QAAS,SAASH,EAAQmD,GACzB,OAAOhD,GAAQtnB,KAAKud,MAAO4J,EAAQmD,IAGpCpD,aAAc,SAASC,EAAQmD,GAC9B,IAAIlD,EAAKpnB,KAAKud,MACd,OAAOqN,GAAWxD,GACfE,GAAQF,EAAID,EAAQ,MACpBG,GAAQF,EAAI,KAAMkD,IAGtBC,SAAU,SAASpD,GAClB,OAAOG,GAAQtnB,KAAKud,MAAO4J,EAAQ,OAGpCqD,SAAU,SAASF,GAClB,OAAOhD,GAAQtnB,KAAKud,MAAO,KAAM+M,IAGlC1C,eAAgB,WACf,IACIzkB,EAAGC,EADHgkB,EAAKpnB,KAAKud,MAUd,OARIqN,GAAWxD,IACdjkB,EAAIikB,EAAGjkB,EACPC,GAAKgkB,EAAGhkB,EAAIgkB,EAAG3D,MAAQ,IAEvBtgB,GAAKikB,EAAGjkB,EAAIikB,EAAG3D,MAAQ,EACvBrgB,EAAIgkB,EAAGhkB,GAGD,CAACD,EAAGA,EAAGC,EAAGA,IAGlB2kB,QAAS,WACR,IAAIX,EAAKpnB,KAAKud,MAEd,OAAOqN,GAAWxD,GACfA,EAAG9Q,MAAQjU,KAAK6nB,IAAI9C,EAAGhkB,EAAIgkB,EAAG3D,MAC9B2D,EAAG7Q,OAASlU,KAAK6nB,IAAI9C,EAAGjkB,EAAIikB,EAAG3D,OAGnCtF,gBAAiB,WAChB,IAAIiJ,EAAKpnB,KAAKud,MACd,MAAO,CACNpa,EAAGikB,EAAGjkB,EACNC,EAAGgkB,EAAGhkB,MAKL8gB,GAAW,GAEXmI,GAAOnD,GACPoD,GAAQjC,GACRkC,GAAYd,GAChBvH,GAASsI,IAJCvF,GAKV/C,GAASmI,KAAOA,GAChBnI,GAASoI,MAAQA,GACjBpI,GAASqI,UAAYA,GAErB,IAAIE,GAAa9Q,EAAU9I,YACvB6Z,GAAmB/Q,EAAUlL,eAEjCqJ,EAAcR,KAAK,MAAO,CACzBmL,MAAO,CACNkI,KAAM,SAGPrL,OAAQ,CACPK,MAAO,CAAC,CACP9S,KAAM,WACN+d,QAAQ,EACRC,UAAW,CACVC,iBAAiB,KAInBjL,MAAO,CAAC,CACPhT,KAAM,cAKTiL,EAAcR,KAAK,SAAU,CAC5ByI,SAAU,CACTgL,IAAK,CACJC,mBAAoB,GACpBC,cAAe,OA8FlB,IAAIC,GAAiB3G,EAAuBrU,OAAO,CAElD4O,gBAAiBoD,GAASqI,UAK1BvL,oBAAqB,CACpB,kBACA,cACA,gBACA,cACA,gBACA,eACA,qBACA,kBACA,gBAGD7D,WAAY,WACX,IACIkE,EAAM8L,EADN3a,EAAKxS,KAGTumB,EAAuB1d,UAAUsU,WAAWrM,MAAM0B,EAAI/M,YAEtD4b,EAAO7O,EAAG2O,WACLiM,MAAQ5a,EAAGgP,aAAa4L,MAC7B/L,EAAK0L,KAAM,EAEXI,EAAY3a,EAAG8P,iBAAiB5Q,QAChC+a,GAAW,YAAaU,EAAUF,cAAe,iCAAkC,yBACnFR,GAAW,YAAaU,EAAUE,aAAc,gCAAiC,wBACjFZ,GAAW,YAAaU,EAAUH,mBAAoB,sCAAuC,8BAC7FP,GAAW,YAAaja,EAAG6P,iBAAiB3Q,QAAQ4b,aAAc,gCAAiC,wBACnGb,GAAW,YAAaU,EAAUI,gBAAiB,mCAAoC,4BAGxFvJ,OAAQ,SAASzB,GAChB,IAEIze,EAAGuN,EADHqa,EADK1rB,KACMmhB,UAAUW,KAKzB,IANS9hB,KAINwtB,OAJMxtB,KAIMytB,WAEV3pB,EAAI,EAAGuN,EAAOqa,EAAM/pB,OAAQmC,EAAIuN,IAAQvN,EANpC9D,KAOLmjB,cAAcuI,EAAM5nB,GAAIA,EAAGye,IAIhCY,cAAe,SAASoI,EAAW5b,EAAO4S,GACzC,IAAI/P,EAAKxS,KACLqhB,EAAO7O,EAAG2O,UACVI,EAAU/O,EAAGgP,aACb9P,EAAUc,EAAG8R,2BAA2BiH,EAAW5b,GAEvD4b,EAAUmC,QAAUlb,EAAGyP,cAAcZ,EAAKK,SAC1C6J,EAAUoC,QAAUnb,EAAGyP,cAAcZ,EAAKO,SAC1C2J,EAAU1I,cAAgBrQ,EAAG7C,MAC7B4b,EAAUxI,OAASpT,EACnB4b,EAAU/N,OAAS,CAClB+G,gBAAiB7S,EAAQ6S,gBACzBC,YAAa9S,EAAQ8S,YACrBgH,cAAe9Z,EAAQ8Z,cACvBnG,YAAa3T,EAAQ2T,YACrBuI,aAAcrM,EAAQsM,MACtBA,MAAOrb,EAAG2D,MAAM2L,KAAKphB,OAAOiP,IAGzBgM,EAAUvL,QAAQmR,EAAQO,KAAKnS,MAClC4b,EAAU/N,OAAOgO,cAAgB,MAGlChZ,EAAGsb,uBAAuBvC,EAAW5b,EAAO4S,EAAO7Q,GAEnD6Z,EAAUjO,SAMXwQ,uBAAwB,SAASvC,EAAW5b,EAAO4S,EAAO7Q,GACzD,IAAIc,EAAKxS,KACLyB,EAAQ8pB,EAAU/N,OAClBuQ,EAASvb,EAAG6P,iBACZoB,EAAOsK,EAAOC,eACdjC,EAAagC,EAAOE,eACpBC,EAAQ1b,EAAGgb,QAAUhb,EAAGib,WACxBU,EAAU3b,EAAG4b,wBAAwB5b,EAAG7C,MAAOA,EAAO+B,GACtD2c,EAAU7b,EAAG8b,wBAAwB9b,EAAG7C,MAAOA,EAAOue,EAAOxc,GAEjEjQ,EAAMsqB,WAAaA,EACnBtqB,EAAMgiB,KAAOlB,EAAQkB,EAAO0K,EAAQ1K,KACpChiB,EAAM0B,EAAI4oB,EAAaxJ,EAAQkB,EAAO0K,EAAQI,KAAOF,EAAQG,OAC7D/sB,EAAM2B,EAAI2oB,EAAasC,EAAQG,OAASjM,EAAQkB,EAAO0K,EAAQI,KAC/D9sB,EAAM8U,OAASwV,EAAasC,EAAQ9W,UAAOvN,EAC3CvI,EAAM6U,MAAQyV,OAAa/hB,EAAYqkB,EAAQ9W,MAShDkX,WAAY,SAASC,GACpB,IAMI5qB,EAAGud,EALHxW,EADK7K,KACMsiB,iBACXqM,EAAW9jB,EAAM+jB,yBAFZ5uB,KAEwCod,OAC7CyR,EAAUhkB,EAAM6G,QAAQmd,QACxBxd,EAAOsd,EAAShtB,OAChBmtB,EAAS,GAGb,IAAKhrB,EAAI,EAAGA,EAAIuN,IACfgQ,EAAOsN,EAAS7qB,KAMA,IAAZ+qB,IAAqD,IAAhCC,EAAO3b,QAAQkO,EAAK+L,aAC/BpjB,IAAZ6kB,QAAwC7kB,IAAfqX,EAAK+L,QAC/B0B,EAAO3T,KAAKkG,EAAK+L,OAEd/L,EAAK1R,QAAU+e,KAXI5qB,GAgBxB,OAAOgrB,GAORC,cAAe,WACd,OAAO/uB,KAAKyuB,aAAa9sB,QAU1BqtB,cAAe,SAASpO,EAAc3V,GACrC,IAAI6jB,EAAS9uB,KAAKyuB,WAAW7N,GACzBjR,OAAkB3F,IAATiB,EACV6jB,EAAO3b,QAAQlI,IACd,EAEJ,OAAmB,IAAX0E,EACLmf,EAAOntB,OAAS,EAChBgO,GAMJ8d,SAAU,WACT,IAGI3pB,EAAGuN,EAFHxG,EADK7K,KACMsiB,iBACX2M,EAAS,GAGb,IAAKnrB,EAAI,EAAGuN,EALHrR,KAKamhB,UAAUW,KAAKngB,OAAQmC,EAAIuN,IAAQvN,EACxDmrB,EAAO9T,KAAKtQ,EAAMqkB,iBAAiB,KAAMprB,EANjC9D,KAMuC2P,QAGhD,MAAO,CACNsf,OAAQA,EACRrR,MAAO/S,EAAMskB,YACbC,IAAKvkB,EAAMwkB,UACXC,WAbQtvB,KAaO+uB,gBACflkB,MAAOA,IAQTujB,wBAAyB,SAASxN,EAAcjR,EAAO+B,GACtD,IAaI5N,EAAGyrB,EAAOC,EAAQ/L,EAAM8K,EAAMhX,EAAMkY,EAZpCtZ,EADKnW,KACMmW,MACXtL,EAFK7K,KAEMqiB,iBACX4L,EAAepjB,EAAMojB,eACrBlM,EAAW5L,EAAM2L,KAAKC,SACtB4M,EAAW9jB,EAAM+jB,yBALZ5uB,KAKwCod,OAC7Ctb,EAAQ+I,EAAM6kB,YAAY3N,EAASnB,GAAckB,KAAKnS,IACtD2d,EAAe5b,EAAQ4b,aACvBuB,EAAUhkB,EAAM6G,QAAQmd,QACxBzB,EATKptB,KASMmhB,UAAUiM,MACrBxP,OAAwB5T,IAAhBlI,EAAM8b,MAAsB,EAAI9b,EAAMQ,KAAO,GAAKR,EAAMM,KAAO,EAAIN,EAAMM,IAAMN,EAAMQ,IAC7FX,OAAyBqI,IAAhBlI,EAAM8b,MAAsB9b,EAAMstB,IAAMttB,EAAMQ,KAAO,GAAKR,EAAMM,KAAO,EAAIN,EAAMQ,IAAMR,EAAMM,IAAMN,EAAMM,IAAMN,EAAMQ,IAC9H+O,EAAOsd,EAAShtB,OAGpB,GAAIktB,QAAwB7kB,IAAZ6kB,QAAmC7kB,IAAVojB,EACxC,IAAKtpB,EAAI,EAAGA,EAAIuN,IACfke,EAAQZ,EAAS7qB,IAEP6L,QAAUiR,IAHG9c,EAOnByrB,EAAMnC,QAAUA,IAEnBoC,OAA+BxlB,KAD/BylB,EAAc5kB,EAAM6kB,YAAY3N,EAASwN,EAAM5f,OAAOmS,KAAKnS,KACtCiO,MAAsB6R,EAAYL,IAAMK,EAAYrtB,KAAO,GAAKqtB,EAAYntB,KAAO,EAAImtB,EAAYntB,IAAMmtB,EAAYrtB,KAErIN,EAAMM,IAAM,GAAKotB,EAAS,GAAO1tB,EAAMQ,KAAO,GAAKktB,EAAS,KAChE5R,GAAS4R,IAmBb,OAbA/L,EAAO5Y,EAAMqkB,iBAAiBtR,GAE9BrG,GADAgX,EAAO1jB,EAAMqkB,iBAAiBtR,EAAQjc,IACxB8hB,OAEOzZ,IAAjBsjB,GAA8BjrB,KAAK6nB,IAAI3S,GAAQ+V,IAClD/V,EAAO+V,EAENiB,EADG5sB,GAAU,IAAMssB,GAAgBtsB,EAAS,GAAKssB,EAC1CxK,EAAO6J,EAEP7J,EAAO6J,GAIT,CACN/V,KAAMA,EACNkM,KAAMA,EACN8K,KAAMA,EACNC,OAAQD,EAAOhX,EAAO,IAOxB+W,wBAAyB,SAAS1N,EAAcjR,EAAOue,EAAOxc,GAC7D,IACIie,EAAiC,SAAzBje,EAAQ2b,aAlRtB,SAAmC1d,EAAOue,EAAOxc,GAChD,IAKIkM,EALAqR,EAASf,EAAMe,OACfW,EAAOX,EAAOtf,GACdiW,EAAOjW,EAAQ,EAAIsf,EAAOtf,EAAQ,GAAK,KACvCkgB,EAAOlgB,EAAQsf,EAAOttB,OAAS,EAAIstB,EAAOtf,EAAQ,GAAK,KACvDmgB,EAAUpe,EAAQsb,mBAiBtB,OAda,OAATpH,IAGHA,EAAOgK,GAAiB,OAATC,EAAgB3B,EAAMkB,IAAMlB,EAAMtQ,MAAQiS,EAAOD,IAGpD,OAATC,IAEHA,EAAOD,EAAOA,EAAOhK,GAGtBhI,EAAQgS,GAAQA,EAAOvtB,KAAKD,IAAIwjB,EAAMiK,IAAS,EAAIC,EAG5C,CACNC,MAHM1tB,KAAK6nB,IAAI2F,EAAOjK,GAAQ,EAAIkK,EAGpB5B,EAAMoB,WACpB1qB,MAAO8M,EAAQub,cACfrP,MAAOA,GA0PJoS,CAA0BrgB,EAAOue,EAAOxc,GApT7C,SAAkC/B,EAAOue,EAAOxc,GAC/C,IAMI6F,EAAM3S,EANNqrB,EAAYve,EAAQ2b,aACpBrH,EAAQkI,EAAMoB,WACdM,EAAO1B,EAAMe,OAAOtf,GACpBvN,EAAMuZ,EAAUxL,cAAc8f,GA3BnC,SAA8BplB,EAAOokB,GACpC,IACIrJ,EAAMgK,EAAM9rB,EAAGuN,EADfjP,EAAMyI,EAAMqlB,QAGhB,IAAKpsB,EAAI,EAAGuN,EAAO4d,EAAOttB,OAAQmC,EAAIuN,IAAQvN,EAC7C1B,EAAMC,KAAKD,IAAIA,EAAKC,KAAK6nB,IAAI+E,EAAOnrB,GAAKmrB,EAAOnrB,EAAI,KAGrD,IAAKA,EAAI,EAAGuN,EAAOxG,EAAMslB,WAAWxuB,OAAQmC,EAAIuN,IAAQvN,EACvD8rB,EAAO/kB,EAAMulB,gBAAgBtsB,GAC7B1B,EAAM0B,EAAI,EAAIzB,KAAKD,IAAIA,EAAKC,KAAK6nB,IAAI0F,EAAOhK,IAASxjB,EACrDwjB,EAAOgK,EAGR,OAAOxtB,EAcJiuB,CAAqBnC,EAAMrjB,MAAOqjB,EAAMe,SACvC,EAcJ,OAXItT,EAAUxL,cAAc8f,IAC3B1Y,EAAOnV,EAAMsP,EAAQsb,mBACrBpoB,EAAQ8M,EAAQub,gBAKhB1V,EAAO0Y,EAAYjK,EACnBphB,EAAQ,GAGF,CACNmrB,MAAOxY,EAAOyO,EACdphB,MAAOA,EACPgZ,MAAOgS,EAAQrY,EAAO,GA8RnB+Y,CAAyB3gB,EAAOue,EAAOxc,GAEtC6e,EALKvwB,KAKWgvB,cAAcpO,EALzB5gB,KAK0CmhB,UAAUiM,OACzDoB,EAASmB,EAAM/R,MAAS+R,EAAMI,MAAQQ,EAAeZ,EAAMI,MAAQ,EACnExY,EAAOlV,KAAKD,IACfsqB,GAAiBhb,EAAQ6b,gBAAiBjqB,KAC1CqsB,EAAMI,MAAQJ,EAAM/qB,OAErB,MAAO,CACN6e,KAAM+K,EAASjX,EAAO,EACtBgX,KAAMC,EAASjX,EAAO,EACtBiX,OAAQA,EACRjX,KAAMA,IAIR4M,KAAM,WACL,IACIhO,EADKnW,KACMmW,MACXtL,EAFK7K,KAEMqiB,iBACXqJ,EAHK1rB,KAGMmhB,UAAUW,KACrBP,EAJKvhB,KAIQwhB,aACbnQ,EAAOqa,EAAM/pB,OACbmC,EAAI,EAIR,IAFA6X,EAAUC,OAAOtD,SAASnC,EAAMC,IAAKD,EAAMuU,WAEpC5mB,EAAIuN,IAAQvN,EAAG,CACrB,IAAID,EAAMgH,EAAM6kB,YAAYnO,EAAQO,KAAKhe,IACpCgH,MAAMjH,EAAIzB,MAAS0I,MAAMjH,EAAIvB,MACjCopB,EAAM5nB,GAAGqgB,OAIXxI,EAAUC,OAAOpD,WAAWrC,EAAMC,MAMnCkO,2BAA4B,WAC3B,IAAI9R,EAAKxS,KACLqL,EAASsQ,EAAUzJ,OAAO,GAAIqU,EAAuB1d,UAAUyb,2BAA2BxT,MAAM0B,EAAI/M,YACpG+qB,EAAYhe,EAAG8P,iBAAiB5Q,QAChC+e,EAAYje,EAAG6P,iBAAiB3Q,QAQpC,OANArG,EAAO4hB,cAAgBP,GAAiB8D,EAAUvD,cAAe5hB,EAAO4hB,eACxE5hB,EAAOgiB,aAAeX,GAAiB8D,EAAUnD,aAAchiB,EAAOgiB,cACtEhiB,EAAO2hB,mBAAqBN,GAAiB8D,EAAUxD,mBAAoB3hB,EAAO2hB,oBAClF3hB,EAAOkiB,gBAAkBb,GAAiB8D,EAAUjD,gBAAiBliB,EAAOkiB,iBAC5EliB,EAAOiiB,aAAeZ,GAAiB+D,EAAUnD,aAAcjiB,EAAOiiB,cAE/DjiB,KAKLqlB,GAAmB/U,EAAUlL,eAC7BkgB,GAAYhV,EAAUjK,QAAQkJ,QAElCd,EAAcR,KAAK,SAAU,CAC5BmL,MAAO,CACNkI,KAAM,UAGPrL,OAAQ,CACPK,MAAO,CAAC,CACP9S,KAAM,SACN+hB,SAAU,SACV9gB,GAAI,aAEL+R,MAAO,CAAC,CACPhT,KAAM,SACN+hB,SAAU,OACV9gB,GAAI,cAIN+gB,SAAU,CACTC,UAAW,CACVC,MAAO,WAEN,MAAO,IAERlD,MAAO,SAASxa,EAAMyO,GAGrB,OAFmBA,EAAKC,SAAS1O,EAAKuN,cAAciN,OAAS,IAEvC,MAAQxa,EAAK2d,OAAS,KAAO3d,EAAK4d,OAAS,KADjDnP,EAAKC,SAAS1O,EAAKuN,cAAckB,KAAKzO,EAAK1D,OACuB1N,EAAI,SAM1F,IAAIivB,GAAoB3K,EAAuBrU,OAAO,CAIrD4O,gBAAiBoD,GAASoI,MAK1BtL,oBAAqB,CACpB,kBACA,cACA,cACA,uBACA,mBACA,mBACA,cACA,YACA,aACA,YAMDgD,OAAQ,SAASzB,GAChB,IAAI/P,EAAKxS,KACLqhB,EAAO7O,EAAG2O,UAIdxF,EAAU5K,KAHGsQ,EAAKS,MAGK,SAAS1J,EAAOzI,GACtC6C,EAAG2Q,cAAc/K,EAAOzI,EAAO4S,OAOjCY,cAAe,SAAS/K,EAAOzI,EAAO4S,GACrC,IAAI/P,EAAKxS,KACLqhB,EAAO7O,EAAG2O,UACVyD,EAASxM,EAAMwM,QAAU,GACzBuM,EAAS3e,EAAGyP,cAAcZ,EAAKK,SAC/B0P,EAAS5e,EAAGyP,cAAcZ,EAAKO,SAC/BlQ,EAAUc,EAAG8R,2BAA2BlM,EAAOzI,GAC/CmS,EAAOtP,EAAGgP,aAAaM,KAAKnS,GAC5B0hB,EAAU7e,EAAG7C,MAEbxM,EAAIof,EAAQ4O,EAAOG,mBAAmB,IAAOH,EAAOjC,iBAAiC,iBAATpN,EAAoBA,EAAOyP,IAAK5hB,EAAO0hB,GACnHjuB,EAAImf,EAAQ6O,EAAOpD,eAAiBoD,EAAOlC,iBAAiBpN,EAAMnS,EAAO0hB,GAE7EjZ,EAAMsV,QAAUyD,EAChB/Y,EAAMuV,QAAUyD,EAChBhZ,EAAMoZ,SAAW9f,EACjB0G,EAAMyK,cAAgBwO,EACtBjZ,EAAM2K,OAASpT,EACfyI,EAAMoF,OAAS,CACd+G,gBAAiB7S,EAAQ6S,gBACzBC,YAAa9S,EAAQ8S,YACrBa,YAAa3T,EAAQ2T,YACrB8E,UAAWzY,EAAQyY,UACnBC,WAAY1Y,EAAQ0Y,WACpBhT,SAAU1F,EAAQ0F,SAClBX,OAAQ8L,EAAQ,EAAI7Q,EAAQ+E,OAC5BkT,KAAM/E,EAAO+E,MAAQ7e,MAAM3H,IAAM2H,MAAM1H,GACvCD,EAAGA,EACHC,EAAGA,GAGJgV,EAAMkF,SAMP6H,cAAe,SAAS/M,GACvB,IAAI3W,EAAQ2W,EAAMoF,OACd9L,EAAU0G,EAAMoZ,SAChBpM,EAAgBzJ,EAAUyJ,cAE9BhN,EAAM8M,eAAiB,CACtBX,gBAAiB9iB,EAAM8iB,gBACvBC,YAAa/iB,EAAM+iB,YACnBa,YAAa5jB,EAAM4jB,YACnB5O,OAAQhV,EAAMgV,QAGfhV,EAAM8iB,gBAAkBmM,GAAiBhf,EAAQ4T,qBAAsBF,EAAc1T,EAAQ6S,kBAC7F9iB,EAAM+iB,YAAckM,GAAiBhf,EAAQ6T,iBAAkBH,EAAc1T,EAAQ8S,cACrF/iB,EAAM4jB,YAAcqL,GAAiBhf,EAAQ8T,iBAAkB9T,EAAQ2T,aACvE5jB,EAAMgV,OAAS/E,EAAQ+E,OAAS/E,EAAQ2V,aAMzC/C,2BAA4B,SAASlM,EAAOzI,GAC3C,IAAI6C,EAAKxS,KACLmW,EAAQ3D,EAAG2D,MACXoL,EAAU/O,EAAGgP,aACboD,EAASxM,EAAMwM,QAAU,GACzB9C,EAAOP,EAAQO,KAAKnS,IAAU,GAC9BtE,EAASkb,EAAuB1d,UAAUyb,2BAA2BxT,MAAM0B,EAAI/M,WAG/EqV,EAAU,CACb3E,MAAOA,EACP4O,UAAWpV,EACX4R,QAASA,EACTX,aAAcpO,EAAG7C,OAgBlB,OAZI6C,EAAGuR,kBAAoB1Y,IAC1BA,EAASsQ,EAAUzJ,OAAO,GAAI7G,IAI/BA,EAAOoL,OAASka,GAAU,CACzB/L,EAAOnO,OACPqL,EAAK7f,EACLuQ,EAAGsR,QAAQrN,OACXN,EAAMzE,QAAQwS,SAAS9L,MAAM3B,QAC3BqE,EAASnL,GAELtE,KAILomB,GAAmB9V,EAAUlL,eAE7BihB,GAAOrvB,KAAK8C,GACZwsB,GAAqB,EAAPD,GACdE,GAAYF,GAAO,EAEvB5X,EAAcR,KAAK,WAAY,CAC9B0F,UAAW,CAEV6S,eAAe,EAEfC,cAAc,GAEfrN,MAAO,CACNkI,KAAM,UAEPoF,eAAgB,SAAS5b,GACxB,IAIIrS,EAAGuN,EAAM2gB,EAJTC,EAAOC,SAASC,cAAc,MAC9BrQ,EAAO3L,EAAM2L,KACbC,EAAWD,EAAKC,SAChBrhB,EAASohB,EAAKphB,OAIlB,GADAuxB,EAAKG,aAAa,QAASjc,EAAMrG,GAAK,WAClCiS,EAASpgB,OACZ,IAAKmC,EAAI,EAAGuN,EAAO0Q,EAAS,GAAGD,KAAKngB,OAAQmC,EAAIuN,IAAQvN,GACvDkuB,EAAWC,EAAKI,YAAYH,SAASC,cAAc,QAC3BE,YAAYH,SAASC,cAAc,SAC9Chb,MAAMoN,gBAAkBxC,EAAS,GAAGwC,gBAAgBzgB,GAC7DpD,EAAOoD,IACVkuB,EAASK,YAAYH,SAASI,eAAe5xB,EAAOoD,KAKvD,OAAOmuB,EAAKM,WAEbC,OAAQ,CACP9xB,OAAQ,CACP+xB,eAAgB,SAAStc,GACxB,IAAI2L,EAAO3L,EAAM2L,KACjB,OAAIA,EAAKphB,OAAOiB,QAAUmgB,EAAKC,SAASpgB,OAChCmgB,EAAKphB,OAAO4F,KAAI,SAASunB,EAAO/pB,GACtC,IAAIud,EAAOlL,EAAM6L,eAAe,GAC5B7K,EAAQkK,EAAKqR,WAAWtO,SAAStgB,GAErC,MAAO,CACN6uB,KAAM9E,EACNzF,UAAWjR,EAAMoN,gBACjB8D,YAAalR,EAAMqN,YACnB+D,UAAWpR,EAAMkO,YACjBhI,OAAQvS,MAAMgX,EAAKC,SAAS,GAAGD,KAAKhe,KAAOud,EAAKS,KAAKhe,GAAGuZ,OAGxD1N,MAAO7L,MAIH,KAIT8uB,QAAS,SAASlzB,EAAGmzB,GACpB,IAEI/uB,EAAGuN,EAAMgQ,EAFT1R,EAAQkjB,EAAWljB,MACnBwG,EAAQnW,KAAKmW,MAGjB,IAAKrS,EAAI,EAAGuN,GAAQ8E,EAAM2L,KAAKC,UAAY,IAAIpgB,OAAQmC,EAAIuN,IAAQvN,GAClEud,EAAOlL,EAAM6L,eAAele,IAEnBge,KAAKnS,KACb0R,EAAKS,KAAKnS,GAAO0N,QAAUgE,EAAKS,KAAKnS,GAAO0N,QAI9ClH,EAAM6N,WAKR8O,iBAAkB,GAGlB1b,UAAWwa,GAGXzJ,cAAewJ,GAGfd,SAAU,CACTC,UAAW,CACVC,MAAO,WACN,MAAO,IAERlD,MAAO,SAASkF,EAAajR,GAC5B,IAAIkR,EAAYlR,EAAKphB,OAAOqyB,EAAYpjB,OACpC7N,EAAQ,KAAOggB,EAAKC,SAASgR,EAAYnS,cAAckB,KAAKiR,EAAYpjB,OAW5E,OATIgM,EAAUvL,QAAQ4iB,IAGrBA,EAAYA,EAAUlqB,SACZ,IAAMhH,EAEhBkxB,GAAalxB,EAGPkxB,OAMX,IAAIC,GAAsB1M,EAAuBrU,OAAO,CAEvD4O,gBAAiBoD,GAASsI,IAE1BvL,WAAYtF,EAAU1L,KAKtB+Q,oBAAqB,CACpB,kBACA,cACA,cACA,cACA,uBACA,mBACA,oBAIDkS,aAAc,SAAStS,GAGtB,IAFA,IAAIuS,EAAY,EAEPC,EAAI,EAAGA,EAAIxS,IAAgBwS,EAC/BpzB,KAAKmW,MAAMkd,iBAAiBD,MAC7BD,EAIJ,OAAOA,GAGRnP,OAAQ,SAASzB,GAChB,IAayBze,EAAGuN,EAbxBmB,EAAKxS,KACLmW,EAAQ3D,EAAG2D,MACXuU,EAAYvU,EAAMuU,UAClB4I,EAAOnd,EAAMzE,QACb6hB,EAAS,EACTC,EAAS,EACTC,EAAU,EACVC,EAAU,EACVrS,EAAO7O,EAAG2O,UACVwS,EAAOtS,EAAKS,KACZ8R,EAASN,EAAKR,iBAAmB,KAAO,EACxC3K,EAAgBmL,EAAKnL,cACrB0L,EAAcrhB,EAAGshB,eAAethB,EAAG7C,OAIvC,GAAIwY,EAAgBwJ,GAAa,CAChC,IAAIjL,EAAa4M,EAAKlc,SAAWua,GAE7BhL,GADJD,GAAcA,GAAcgL,IAAQC,GAAcjL,GAAcgL,GAAOC,GAAc,GACzDxJ,EACxB4L,EAAS1xB,KAAKiD,IAAIohB,GAClBsN,EAAS3xB,KAAKkD,IAAImhB,GAClBuN,EAAO5xB,KAAKiD,IAAIqhB,GAChBuN,EAAO7xB,KAAKkD,IAAIohB,GAChBwN,EAAazN,GAAc,GAAKC,GAAY,GAAMA,GAAYgL,GAC9DyC,EAAc1N,GAAckL,IAAajL,GAAYiL,IAAcjL,GAAYgL,GAAcC,GAE7FyC,EAAe3N,IAAekL,IAAajL,IAAaiL,IAAcjL,GAAY+K,GAAOE,GACzF0C,EAFc5N,KAAgBgL,IAAQ/K,GAAY+K,IAE5B,EAAIrvB,KAAKD,IAAI2xB,EAAQA,EAASH,EAAQK,EAAMA,EAAOL,GACzEW,EAAOF,GAAe,EAAIhyB,KAAKD,IAAI4xB,EAAQA,EAASJ,EAAQM,EAAMA,EAAON,GACzEY,EAAOL,EAAY,EAAI9xB,KAAKC,IAAIyxB,EAAQA,EAASH,EAAQK,EAAMA,EAAOL,GACtEa,EAAOL,EAAa,EAAI/xB,KAAKC,IAAI0xB,EAAQA,EAASJ,EAAQM,EAAMA,EAAON,GAC3EL,GAAUiB,EAAOF,GAAQ,EACzBd,GAAUiB,EAAOF,GAAQ,EACzBd,IAAYe,EAAOF,GAAQ,EAC3BZ,IAAYe,EAAOF,GAAQ,EAG5B,IAAKzwB,EAAI,EAAGuN,EAAOsiB,EAAKhyB,OAAQmC,EAAIuN,IAAQvN,EAC3C6vB,EAAK7vB,GAAG0tB,SAAWhf,EAAG8R,2BAA2BqP,EAAK7vB,GAAIA,GAiB3D,IAdAqS,EAAMkP,YAAc7S,EAAGkiB,oBAGvBve,EAAM2Q,YAAczkB,KAAKC,IAAID,KAAKD,KAFtBsoB,EAAU9T,MAAQ8T,EAAUhU,KAAOP,EAAMkP,aAAekO,GACvD7I,EAAU7T,OAAS6T,EAAU/T,IAAMR,EAAMkP,aAAemO,GACR,EAAG,GAChErd,EAAM4Q,YAAc1kB,KAAKC,IAAI6T,EAAM2Q,YAAc8M,EAAQ,GACzDzd,EAAMwe,cAAgBxe,EAAM2Q,YAAc3Q,EAAM4Q,cAAgBvU,EAAGoiB,iCAAmC,GACtGze,EAAMsd,QAAUA,EAAUtd,EAAM2Q,YAChC3Q,EAAMud,QAAUA,EAAUvd,EAAM2Q,YAEhCzF,EAAKwT,MAAQriB,EAAGsiB,iBAEhBtiB,EAAGsU,YAAc3Q,EAAM2Q,YAAc3Q,EAAMwe,aAAeniB,EAAGuiB,qBAAqBviB,EAAG7C,OACrF6C,EAAGuU,YAAc1kB,KAAKC,IAAIkQ,EAAGsU,YAAc3Q,EAAMwe,aAAed,EAAa,GAExE/vB,EAAI,EAAGuN,EAAOsiB,EAAKhyB,OAAQmC,EAAIuN,IAAQvN,EAC3C0O,EAAG2Q,cAAcwQ,EAAK7vB,GAAIA,EAAGye,IAI/BY,cAAe,SAASpM,EAAKpH,EAAO4S,GACnC,IAAI/P,EAAKxS,KACLmW,EAAQ3D,EAAG2D,MACXuU,EAAYvU,EAAMuU,UAClB4I,EAAOnd,EAAMzE,QACbsjB,EAAgB1B,EAAKtU,UACrBiW,GAAWvK,EAAUhU,KAAOgU,EAAU9T,OAAS,EAC/Cse,GAAWxK,EAAU/T,IAAM+T,EAAU7T,QAAU,EAC/C6P,EAAa4M,EAAKlc,SAClBuP,EAAW2M,EAAKlc,SAChBmK,EAAU/O,EAAGgP,aACb2G,EAAgB5F,GAASyS,EAAcnD,cAAgB,EAAI9a,EAAIsG,OAAS,EAAI7K,EAAG2iB,uBAAuB5T,EAAQO,KAAKnS,KAAW2jB,EAAKnL,cAAgBwJ,IAGnJjgB,EAAUqF,EAAIya,UAAY,GAE9B7V,EAAUzJ,OAAO6E,EAAK,CAErB8L,cAAerQ,EAAG7C,MAClBoT,OAAQpT,EAGR6N,OAAQ,CACP+G,gBAAiB7S,EAAQ6S,gBACzBC,YAAa9S,EAAQ8S,YACrBa,YAAa3T,EAAQ2T,YACrB2B,YAAatV,EAAQsV,YACrB7jB,EAAG8xB,EAAU9e,EAAMsd,QACnBrwB,EAAG8xB,EAAU/e,EAAMud,QACnBhN,WAAYA,EACZC,SAAUA,EACVwB,cAAeA,EACfrB,YAnBgBvE,GAASyS,EAAclD,aAAe,EAAItf,EAAGsU,YAoB7DC,YArBgBxE,GAASyS,EAAclD,aAAe,EAAItf,EAAGuU,YAsB7D8G,MAAOlS,EAAUhL,sBAAsB4Q,EAAQsM,MAAOle,EAAOwG,EAAM2L,KAAKphB,OAAOiP,OAIjF,IAAIlO,EAAQsV,EAAIyG,OAGX+E,GAAUyS,EAAcnD,gBAE3BpwB,EAAMilB,WADO,IAAV/W,EACgB2jB,EAAKlc,SAEL5E,EAAG2O,UAAUW,KAAKnS,EAAQ,GAAG6N,OAAOmJ,SAGxDllB,EAAMklB,SAAWllB,EAAMilB,WAAajlB,EAAM0mB,eAG3CpR,EAAIuG,SAGLwX,eAAgB,WACf,IAGIhzB,EAHAyf,EAAUvhB,KAAKwhB,aACfH,EAAOrhB,KAAKmhB,UACZ0T,EAAQ,EAcZ,OAXAlZ,EAAU5K,KAAKsQ,EAAKS,MAAM,SAASoB,EAASvT,GAC3C7N,EAAQyf,EAAQO,KAAKnS,GAChB7E,MAAMhJ,IAAWohB,EAAQ7F,SAC7BwX,GAASxyB,KAAK6nB,IAAIpoB,OAQb+yB,GAGRM,uBAAwB,SAASrzB,GAChC,IAAI+yB,EAAQ70B,KAAKmhB,UAAU0T,MAC3B,OAAIA,EAAQ,IAAM/pB,MAAMhJ,GAChB6vB,IAAetvB,KAAK6nB,IAAIpoB,GAAS+yB,GAElC,GAIRH,kBAAmB,SAASf,GAC3B,IAGI7vB,EAAGuN,EAAMgQ,EAAMtK,EAAK2b,EAAYhhB,EAAS2T,EAAa+P,EAFtD9yB,EAAM,EACN6T,EAFKnW,KAEMmW,MAGf,IAAKwd,EAEJ,IAAK7vB,EAAI,EAAGuN,EAAO8E,EAAM2L,KAAKC,SAASpgB,OAAQmC,EAAIuN,IAAQvN,EAC1D,GAAIqS,EAAMkd,iBAAiBvvB,GAAI,CAE9B6vB,GADAtS,EAAOlL,EAAM6L,eAAele,IAChBge,KACRhe,IAXE9D,KAWO2P,QACZ+iB,EAAarR,EAAKqR,YAEnB,MAKH,IAAKiB,EACJ,OAAO,EAGR,IAAK7vB,EAAI,EAAGuN,EAAOsiB,EAAKhyB,OAAQmC,EAAIuN,IAAQvN,EAC3CiT,EAAM4c,EAAK7vB,GACP4uB,GACHA,EAAW7O,aACXnS,EAAUghB,EAAWpO,2BAA2BvN,EAAKjT,IAErD4N,EAAUqF,EAAIya,SAEa,UAAxB9f,EAAQsV,cAKX1kB,GAHA8yB,EAAa1jB,EAAQ8T,mBAErBljB,GAHA+iB,EAAc3T,EAAQ2T,aAGF/iB,EAAM+iB,EAAc/iB,GACf8yB,EAAa9yB,GAGxC,OAAOA,GAMR6iB,cAAe,SAASpO,GACvB,IAAItV,EAAQsV,EAAIyG,OACZ9L,EAAUqF,EAAIya,SACdpM,EAAgBzJ,EAAUyJ,cAE9BrO,EAAImO,eAAiB,CACpBX,gBAAiB9iB,EAAM8iB,gBACvBC,YAAa/iB,EAAM+iB,YACnBa,YAAa5jB,EAAM4jB,aAGpB5jB,EAAM8iB,gBAAkBkN,GAAiB/f,EAAQ4T,qBAAsBF,EAAc1T,EAAQ6S,kBAC7F9iB,EAAM+iB,YAAciN,GAAiB/f,EAAQ6T,iBAAkBH,EAAc1T,EAAQ8S,cACrF/iB,EAAM4jB,YAAcoM,GAAiB/f,EAAQ8T,iBAAkB9T,EAAQ2T,cAOxE0P,qBAAsB,SAASnU,GAG9B,IAFA,IAAIyU,EAAmB,EAEdvxB,EAAI,EAAGA,EAAI8c,IAAgB9c,EAC/B9D,KAAKmW,MAAMkd,iBAAiBvvB,KAC/BuxB,GAAoBr1B,KAAK8zB,eAAehwB,IAI1C,OAAOuxB,GAMRvB,eAAgB,SAASwB,GACxB,OAAOjzB,KAAKC,IAAImvB,GAAiBzxB,KAAKmW,MAAM2L,KAAKC,SAASuT,GAAc9mB,OAAQ,GAAI,IAOrFomB,8BAA+B,WAC9B,OAAO50B,KAAK+0B,qBAAqB/0B,KAAKmW,MAAM2L,KAAKC,SAASpgB,WAI5DmY,EAAcR,KAAK,gBAAiB,CACnCmL,MAAO,CACNkI,KAAM,QACN4I,KAAM,KAGPjU,OAAQ,CACPK,MAAO,CAAC,CACP9S,KAAM,SACN+hB,SAAU,WAGX/O,MAAO,CAAC,CACPhT,KAAM,WACN+hB,SAAU,OACVhE,QAAQ,EACRC,UAAW,CACVC,iBAAiB,MAKpB5I,SAAU,CACTqH,UAAW,CACVC,cAAe,SAIjBqF,SAAU,CACTlE,KAAM,QACN4I,KAAM,OAIRzb,EAAcR,KAAK,SAAU,CAC5ByI,SAAU,CACTyT,cAAe,CACdxI,mBAAoB,GACpBC,cAAe,OAKlB,IAAIwI,GAA2BvI,GAAehb,OAAO,CAIpDiQ,iBAAkB,WACjB,OAAOniB,KAAKmhB,UAAUO,SAMvBU,iBAAkB,WACjB,OAAOpiB,KAAKmhB,UAAUS,WAIpB8T,GAAmB/Z,EAAUlL,eAC7BklB,GAAYha,EAAUjK,QAAQkJ,QAC9Bgb,GAAgBja,EAAUC,OAAOzD,eAsBrC,SAAS0d,GAAUhrB,EAAOirB,GACzB,IAAIC,EAAWlrB,GAASA,EAAM6G,QAAQskB,OAAS,GAC3C/kB,EAAU8kB,EAAS9kB,QACnB7O,OAAuB4H,IAAjB+rB,EAAS3zB,IAAoB0zB,EAAkB,EACrDxzB,OAAuB0H,IAAjB+rB,EAASzzB,IAAoBwzB,EAAkB,EACzD,MAAO,CACNlY,MAAO3M,EAAU3O,EAAMF,EACvBgtB,IAAKne,EAAU7O,EAAME,GAIvB,SAAS2zB,GAAY9E,EAAQC,EAAQ/L,GACpC,IAAIyQ,EAAkBzQ,EAAc,EAChCliB,EAAI0yB,GAAU1E,EAAQ2E,GACtB1yB,EAAIyyB,GAAUzE,EAAQ0E,GAE1B,MAAO,CACNnf,IAAKvT,EAAEgsB,IACPxY,MAAOzT,EAAEisB,IACTvY,OAAQzT,EAAEwa,MACVlH,KAAMvT,EAAEya,OAIV,SAASsY,GAAOp0B,GACf,IAAIwC,EAAGrC,EAAGE,EAAGH,EAWb,OATI2Z,EAAUrL,SAASxO,IACtBwC,EAAIxC,EAAM6U,IACV1U,EAAIH,EAAM8U,MACVzU,EAAIL,EAAM+U,OACV7U,EAAIF,EAAM4U,MAEVpS,EAAIrC,EAAIE,EAAIH,EAAIF,EAGV,CACN6U,IAAKrS,EACLsS,MAAO3U,EACP4U,OAAQ1U,EACRuU,KAAM1U,GA5DR8X,EAAcR,KAAK,OAAQ,CAC1BO,WAAW,EACXuP,UAAU,EAEV3E,MAAO,CACNkI,KAAM,SAGPrL,OAAQ,CACPK,MAAO,CAAC,CACP9S,KAAM,WACNiB,GAAI,aAEL+R,MAAO,CAAC,CACPhT,KAAM,SACNiB,GAAI,gBAkDP,IAAIqmB,GAAkB5P,EAAuBrU,OAAO,CAEnD2O,mBAAoBqD,GAASmI,KAE7BvL,gBAAiBoD,GAASoI,MAK1BvL,uBAAwB,CACvB,kBACA,iBACA,cACA,aACA,mBACA,kBACA,cACA,yBACA,QAMDC,oBAAqB,CACpBuD,gBAAiB,uBACjBC,YAAa,mBACba,YAAa,mBACb8E,UAAW,iBACX7E,qBAAsB,4BACtBC,iBAAkB,wBAClBC,iBAAkB,wBAClB6B,YAAa,mBACb+C,WAAY,aACZ3T,OAAQ,cACRW,SAAU,iBAGX4M,OAAQ,SAASzB,GAChB,IAOIze,EAAGuN,EAPHmB,EAAKxS,KACLqhB,EAAO7O,EAAG2O,UACVyH,EAAOvH,EAAKE,QACZ8H,EAAShI,EAAKS,MAAQ,GAEtBsU,EAAS5jB,EAAGsR,QACZuS,EAAW7jB,EAAG8jB,UAAYZ,GAAiBU,EAAOC,SAFxC7jB,EAAG2D,MAAMzE,QAEiDmI,WAyBxE,IAtBArH,EAAGkb,QAAUlb,EAAGyP,cAAcZ,EAAKK,SACnClP,EAAGmb,QAAUnb,EAAGyP,cAAcZ,EAAKO,SAG/ByU,SAEoBrsB,IAAnBosB,EAAOvd,cAAgD7O,IAAvBosB,EAAOG,cAC1CH,EAAOG,YAAcH,EAAOvd,SAI7B+P,EAAK4N,OAAShkB,EAAGmb,QACjB/E,EAAK/F,cAAgBrQ,EAAG7C,MAExBiZ,EAAKU,UAAYD,EAEjBT,EAAKpL,OAAShL,EAAG6R,8BAA8BuE,GAE/CA,EAAKtL,SAIDxZ,EAAI,EAAGuN,EAAOgY,EAAO1nB,OAAQmC,EAAIuN,IAAQvN,EAC7C0O,EAAG2Q,cAAckG,EAAOvlB,GAAIA,EAAGye,GAQhC,IALI8T,GAAoC,IAAxBzN,EAAKpL,OAAO3E,SAC3BrG,EAAGikB,4BAIC3yB,EAAI,EAAGuN,EAAOgY,EAAO1nB,OAAQmC,EAAIuN,IAAQvN,EAC7CulB,EAAOvlB,GAAGwZ,SAIZ6F,cAAe,SAAS/K,EAAOzI,EAAO4S,GACrC,IASIpf,EAAGC,EATHoP,EAAKxS,KACLqhB,EAAO7O,EAAG2O,UACVyD,EAASxM,EAAMwM,QAAU,GACzBrD,EAAU/O,EAAGgP,aACbZ,EAAepO,EAAG7C,MAClB7N,EAAQyf,EAAQO,KAAKnS,GACrBwhB,EAAS3e,EAAGkb,QACZ0D,EAAS5e,EAAGmb,QACZ+I,EAAYrV,EAAKE,QAAQ/D,OAGzB9L,EAAUc,EAAG8R,2BAA2BlM,EAAOzI,GAEnDxM,EAAIguB,EAAOjC,iBAAkC,iBAAVptB,EAAqBA,EAAQyvB,IAAK5hB,EAAOiR,GAC5Exd,EAAImf,EAAQ6O,EAAOpD,eAAiBxb,EAAGmkB,gBAAgB70B,EAAO6N,EAAOiR,GAGrExI,EAAMsV,QAAUyD,EAChB/Y,EAAMuV,QAAUyD,EAChBhZ,EAAMoZ,SAAW9f,EACjB0G,EAAMyK,cAAgBjC,EACtBxI,EAAM2K,OAASpT,EAGfyI,EAAMoF,OAAS,CACdra,EAAGA,EACHC,EAAGA,EACHumB,KAAM/E,EAAO+E,MAAQ7e,MAAM3H,IAAM2H,MAAM1H,GAEvCqT,OAAQ/E,EAAQ+E,OAChB2T,WAAY1Y,EAAQ0Y,WACpBhT,SAAU1F,EAAQ0F,SAClBmN,gBAAiB7S,EAAQ6S,gBACzBC,YAAa9S,EAAQ8S,YACrBa,YAAa3T,EAAQ2T,YACrBxM,QAAS6c,GAAiB9Q,EAAO/L,QAAS6d,EAAYA,EAAU7d,QAAU,GAC1EF,cAAa+d,GAAYA,EAAU/d,YAEnCwR,UAAWzY,EAAQyY,YAOrB9F,8BAA+B,SAASnB,GACvC,IAAI1Q,EAAKxS,KACLo2B,EAAS5jB,EAAGsR,QACZc,EAAS1B,EAAQ0B,QAAU,GAC3BlT,EAAUc,EAAG2D,MAAMzE,QACnBklB,EAAcllB,EAAQwS,SAAS0E,KAC/Bvd,EAASkb,EAAuB1d,UAAUwb,8BAA8BvT,MAAM0B,EAAI/M,WAUtF,OALA4F,EAAO+d,SAAWsM,GAAiBU,EAAOhN,SAAU1X,EAAQ0X,UAC5D/d,EAAOwN,QAAU6c,GAAiBU,EAAOG,YAAaK,EAAY/d,SAClExN,EAAOsN,YAAcgd,GAAU,CAAC/Q,EAAOjM,YAAayd,EAAOzd,YAAaie,EAAYle,UACpFrN,EAAOkN,KAAO2d,GAAOR,GAAiBU,EAAO7d,KAAM0d,GAAYzjB,EAAGkb,QAASlb,EAAGmb,QAAStiB,EAAOga,eAEvFha,GAGRsrB,gBAAiB,SAAS70B,EAAO6N,EAAOiR,GACvC,IAKI9c,EAAO+yB,EAAQC,EAAmBC,EAAYpI,EAAUtd,EAJxD8E,EADKnW,KACMmW,MACXib,EAFKpxB,KAEO2tB,QACZqJ,EAAS,EACTC,EAAS,EAGb,GAAI7F,EAAO1f,QAAQmd,QAAS,CAK3B,IAJAkI,GAAc3F,EAAO8F,cAAcp1B,GAEnCuP,GADAsd,EAAWxY,EAAMghB,iCACDx1B,OAEXmC,EAAI,EAAGA,EAAIuN,IACfwlB,EAASlI,EAAS7qB,IACP6L,QAAUiR,IAFE9c,EAOH,SAAhB+yB,EAAOhoB,MAAmBgoB,EAAOjV,UAAYwP,EAAOthB,MACvDgnB,GAAqB1F,EAAO8F,cAFxB/gB,EAAM2L,KAAKC,SAAS8U,EAAOlnB,OAEcmS,KAAKnS,KAC1B,EACvBsnB,GAAUH,GAAqB,EAE/BE,GAAUF,GAAqB,GAKlC,OACQ1F,EAAOlC,iBADX6H,EAAa,EACeE,EAASF,EAEVC,EAASD,GAEzC,OAAO3F,EAAOlC,iBAAiBptB,IAGhC20B,0BAA2B,WAC1B,IAMI3yB,EAAGuN,EAAM5P,EAAO21B,EALhBjhB,EADKnW,KACMmW,MACXkL,EAFKrhB,KAEKmhB,UACVuV,EAAYrV,EAAKE,QAAQ/D,OACzBnF,EAAOlC,EAAMuU,UACbrB,EAAShI,EAAKS,MAAQ,GAU1B,SAASuV,EAAgBC,EAAIl1B,EAAKE,GACjC,OAAOD,KAAKC,IAAID,KAAKD,IAAIk1B,EAAIh1B,GAAMF,GAGpC,GAVIs0B,EAAUtN,WACbC,EAASA,EAAOkO,QAAO,SAASD,GAC/B,OAAQA,EAAG9Z,OAAOmM,SAQqB,aAArC+M,EAAUc,uBACb7b,EAAU8b,oBAAoBpO,QAE9B,IAAKvlB,EAAI,EAAGuN,EAAOgY,EAAO1nB,OAAQmC,EAAIuN,IAAQvN,EAC7CrC,EAAQ4nB,EAAOvlB,GAAG0Z,OAClB4Z,EAAgBzb,EAAU+b,YACzB/b,EAAU+N,aAAaL,EAAQvlB,GAAG0Z,OAClC/b,EACAka,EAAUgc,SAAStO,EAAQvlB,GAAG0Z,OAC9BkZ,EAAU7d,SAEXpX,EAAMsX,sBAAwBqe,EAAcrkB,SAAS5P,EACrD1B,EAAMwX,sBAAwBme,EAAcrkB,SAAS3P,EACrD3B,EAAMuX,kBAAoBoe,EAAcvH,KAAK1sB,EAC7C1B,EAAMyX,kBAAoBke,EAAcvH,KAAKzsB,EAI/C,GAAI+S,EAAMzE,QAAQwS,SAAS0E,KAAKK,gBAC/B,IAAKnlB,EAAI,EAAGuN,EAAOgY,EAAO1nB,OAAQmC,EAAIuN,IAAQvN,EAEzC8xB,GADJn0B,EAAQ4nB,EAAOvlB,GAAG0Z,OACOnF,KACpBvU,EAAI,GAAK8xB,GAAcvM,EAAOvlB,EAAI,GAAG0Z,OAAQnF,KAChD5W,EAAMsX,sBAAwBse,EAAgB51B,EAAMsX,sBAAuBV,EAAK3B,KAAM2B,EAAKzB,OAC3FnV,EAAMwX,sBAAwBoe,EAAgB51B,EAAMwX,sBAAuBZ,EAAK1B,IAAK0B,EAAKxB,SAEvF/S,EAAIulB,EAAO1nB,OAAS,GAAKi0B,GAAcvM,EAAOvlB,EAAI,GAAG0Z,OAAQnF,KAChE5W,EAAMuX,kBAAoBqe,EAAgB51B,EAAMuX,kBAAmBX,EAAK3B,KAAM2B,EAAKzB,OACnFnV,EAAMyX,kBAAoBme,EAAgB51B,EAAMyX,kBAAmBb,EAAK1B,IAAK0B,EAAKxB,WAOvFsN,KAAM,WACL,IAQI5L,EAPApC,EADKnW,KACMmW,MACXkL,EAFKrhB,KAEKmhB,UACVkI,EAAShI,EAAKS,MAAQ,GACtBzJ,EAAOlC,EAAMuU,UACb9O,EAASzF,EAAMyF,OACf9X,EAAI,EACJuN,EAAOgY,EAAO1nB,OAmBlB,IA1BS3B,KAUFs2B,YAGN3a,EAAUC,OAAOtD,SAASnC,EAAMC,IAAK,CACpCM,MAAoB,KAHrB6B,EAAO8I,EAAKE,QAAQ/D,OAAOjF,MAGf7B,KAAiB,EAAI2B,EAAK3B,KAAO6B,EAAK7B,KACjDE,OAAsB,IAAf2B,EAAK3B,MAAkBgF,EAAOtF,MAAQ+B,EAAKzB,MAAQ2B,EAAK3B,MAC/DD,KAAkB,IAAb4B,EAAK5B,IAAgB,EAAI0B,EAAK1B,IAAM4B,EAAK5B,IAC9CE,QAAwB,IAAhB0B,EAAK1B,OAAmB+E,EAAOrF,OAAS8B,EAAKxB,OAAS0B,EAAK1B,SAGpEwK,EAAKE,QAAQ4C,OAEbxI,EAAUC,OAAOpD,WAAWrC,EAAMC,MAI5BtS,EAAIuN,IAAQvN,EAClBulB,EAAOvlB,GAAGqgB,KAAK9L,IAOjB8M,cAAe,SAAS/M,GACvB,IAAI3W,EAAQ2W,EAAMoF,OACd9L,EAAU0G,EAAMoZ,SAChBpM,EAAgBzJ,EAAUyJ,cAE9BhN,EAAM8M,eAAiB,CACtBX,gBAAiB9iB,EAAM8iB,gBACvBC,YAAa/iB,EAAM+iB,YACnBa,YAAa5jB,EAAM4jB,YACnB5O,OAAQhV,EAAMgV,QAGfhV,EAAM8iB,gBAAkBmR,GAAiBhkB,EAAQ4T,qBAAsBF,EAAc1T,EAAQ6S,kBAC7F9iB,EAAM+iB,YAAckR,GAAiBhkB,EAAQ6T,iBAAkBH,EAAc1T,EAAQ8S,cACrF/iB,EAAM4jB,YAAcqQ,GAAiBhkB,EAAQ8T,iBAAkB9T,EAAQ2T,aACvE5jB,EAAMgV,OAASif,GAAiBhkB,EAAQ2V,YAAa3V,EAAQ+E,WAI3DmhB,GAAYjc,EAAUjK,QAAQkJ,QAElCd,EAAcR,KAAK,YAAa,CAC/BzO,MAAO,CACNgE,KAAM,eACNgpB,WAAY,CACXC,SAAS,GAEVjL,UAAW,CACVkL,UAAU,GAEXC,YAAa,CACZF,SAAS,GAEV9B,MAAO,CACNiC,aAAa,IAKfjZ,UAAW,CACV6S,eAAe,EACfC,cAAc,GAGfpL,YAAa,GAAMrkB,KAAK8C,GACxB4sB,eAAgB,SAAS5b,GACxB,IAIIrS,EAAGuN,EAAM2gB,EAJTC,EAAOC,SAASC,cAAc,MAC9BrQ,EAAO3L,EAAM2L,KACbC,EAAWD,EAAKC,SAChBrhB,EAASohB,EAAKphB,OAIlB,GADAuxB,EAAKG,aAAa,QAASjc,EAAMrG,GAAK,WAClCiS,EAASpgB,OACZ,IAAKmC,EAAI,EAAGuN,EAAO0Q,EAAS,GAAGD,KAAKngB,OAAQmC,EAAIuN,IAAQvN,GACvDkuB,EAAWC,EAAKI,YAAYH,SAASC,cAAc,QAC3BE,YAAYH,SAASC,cAAc,SAC9Chb,MAAMoN,gBAAkBxC,EAAS,GAAGwC,gBAAgBzgB,GAC7DpD,EAAOoD,IACVkuB,EAASK,YAAYH,SAASI,eAAe5xB,EAAOoD,KAKvD,OAAOmuB,EAAKM,WAEbC,OAAQ,CACP9xB,OAAQ,CACP+xB,eAAgB,SAAStc,GACxB,IAAI2L,EAAO3L,EAAM2L,KACjB,OAAIA,EAAKphB,OAAOiB,QAAUmgB,EAAKC,SAASpgB,OAChCmgB,EAAKphB,OAAO4F,KAAI,SAASunB,EAAO/pB,GACtC,IAAIud,EAAOlL,EAAM6L,eAAe,GAC5B7K,EAAQkK,EAAKqR,WAAWtO,SAAStgB,GAErC,MAAO,CACN6uB,KAAM9E,EACNzF,UAAWjR,EAAMoN,gBACjB8D,YAAalR,EAAMqN,YACnB+D,UAAWpR,EAAMkO,YACjBhI,OAAQvS,MAAMgX,EAAKC,SAAS,GAAGD,KAAKhe,KAAOud,EAAKS,KAAKhe,GAAGuZ,OAGxD1N,MAAO7L,MAIH,KAIT8uB,QAAS,SAASlzB,EAAGmzB,GACpB,IAEI/uB,EAAGuN,EAAMgQ,EAFT1R,EAAQkjB,EAAWljB,MACnBwG,EAAQnW,KAAKmW,MAGjB,IAAKrS,EAAI,EAAGuN,GAAQ8E,EAAM2L,KAAKC,UAAY,IAAIpgB,OAAQmC,EAAIuN,IAAQvN,GAClEud,EAAOlL,EAAM6L,eAAele,IACvBge,KAAKnS,GAAO0N,QAAUgE,EAAKS,KAAKnS,GAAO0N,OAG7ClH,EAAM6N,WAKR6M,SAAU,CACTC,UAAW,CACVC,MAAO,WACN,MAAO,IAERlD,MAAO,SAASxa,EAAMyO,GACrB,OAAOA,EAAKphB,OAAO2S,EAAK1D,OAAS,KAAO0D,EAAK4d,YAMjD,IAAIiH,GAAuB3R,EAAuBrU,OAAO,CAExD4O,gBAAiBoD,GAASsI,IAE1BvL,WAAYtF,EAAU1L,KAKtB+Q,oBAAqB,CACpB,kBACA,cACA,cACA,cACA,uBACA,mBACA,oBAMDoB,iBAAkB,WACjB,OAAOpiB,KAAKmW,MAAMtL,MAAMiF,IAMzBqS,iBAAkB,WACjB,OAAOniB,KAAKmW,MAAMtL,MAAMiF,IAGzBkU,OAAQ,SAASzB,GAChB,IAOIze,EAAGuN,EAAMsW,EAPTnV,EAAKxS,KACLuhB,EAAU/O,EAAGgP,aACbH,EAAO7O,EAAG2O,UACVvD,EAAQpL,EAAG2D,MAAMzE,QAAQgV,YAAc,EACvCyR,EAAS3lB,EAAG4lB,QAAU,GACtBC,EAAS7lB,EAAG8lB,QAAU,GACtB3E,EAAOtS,EAAKS,KAOhB,IAJAtP,EAAG+lB,gBAEHlX,EAAK2E,MAAQxT,EAAGgmB,uBAEX10B,EAAI,EAAGuN,EAAOkQ,EAAQO,KAAKngB,OAAQmC,EAAIuN,EAAMvN,IACjDq0B,EAAOr0B,GAAK8Z,EACZ+J,EAAQnV,EAAGimB,cAAc30B,GACzBu0B,EAAOv0B,GAAK6jB,EACZ/J,GAAS+J,EAGV,IAAK7jB,EAAI,EAAGuN,EAAOsiB,EAAKhyB,OAAQmC,EAAIuN,IAAQvN,EAC3C6vB,EAAK7vB,GAAG0tB,SAAWhf,EAAG8R,2BAA2BqP,EAAK7vB,GAAIA,GAC1D0O,EAAG2Q,cAAcwQ,EAAK7vB,GAAIA,EAAGye,IAO/BgW,cAAe,WACd,IAAI/lB,EAAKxS,KACLmW,EAAQ3D,EAAG2D,MACXuU,EAAYvU,EAAMuU,UAClB4I,EAAOnd,EAAMzE,QACbgnB,EAAUr2B,KAAKD,IAAIsoB,EAAU9T,MAAQ8T,EAAUhU,KAAMgU,EAAU7T,OAAS6T,EAAU/T,KAEtFR,EAAM2Q,YAAczkB,KAAKC,IAAIo2B,EAAU,EAAG,GAC1CviB,EAAM4Q,YAAc1kB,KAAKC,IAAIgxB,EAAKR,iBAAoB3c,EAAM2Q,YAAc,IAAQwM,EAAqB,iBAAI,EAAG,GAC9Gnd,EAAMwe,cAAgBxe,EAAM2Q,YAAc3Q,EAAM4Q,aAAe5Q,EAAMwiB,yBAErEnmB,EAAGsU,YAAc3Q,EAAM2Q,YAAe3Q,EAAMwe,aAAeniB,EAAG7C,MAC9D6C,EAAGuU,YAAcvU,EAAGsU,YAAc3Q,EAAMwe,cAGzCxR,cAAe,SAASpM,EAAKpH,EAAO4S,GACnC,IAAI/P,EAAKxS,KACLmW,EAAQ3D,EAAG2D,MACXoL,EAAU/O,EAAGgP,aACb8R,EAAOnd,EAAMzE,QACbsjB,EAAgB1B,EAAKtU,UACrBnU,EAAQsL,EAAMtL,MACdnK,EAASyV,EAAM2L,KAAKphB,OAEpBu0B,EAAUpqB,EAAM+tB,QAChB1D,EAAUrqB,EAAMguB,QAGhBC,EAAoBxF,EAAK5M,WACzBnjB,EAAWwT,EAAIsG,OAAS,EAAIxS,EAAMkuB,8BAA8BxX,EAAQO,KAAKnS,IAC7E+W,EAAalU,EAAG4lB,QAAQzoB,GACxBgX,EAAWD,GAAc3P,EAAIsG,OAAS,EAAI7K,EAAG8lB,QAAQ3oB,IAErDqpB,EAAchE,EAAclD,aAAe,EAAIjnB,EAAMkuB,8BAA8BxX,EAAQO,KAAKnS,IAChG+B,EAAUqF,EAAIya,UAAY,GAE9B7V,EAAUzJ,OAAO6E,EAAK,CAErB8L,cAAerQ,EAAG7C,MAClBoT,OAAQpT,EACR6mB,OAAQ3rB,EAGR2S,OAAQ,CACP+G,gBAAiB7S,EAAQ6S,gBACzBC,YAAa9S,EAAQ8S,YACrBa,YAAa3T,EAAQ2T,YACrB2B,YAAatV,EAAQsV,YACrB7jB,EAAG8xB,EACH7xB,EAAG8xB,EACHnO,YAAa,EACbD,YAAavE,EAAQyW,EAAcz1B,EACnCmjB,WAAYnE,GAASyS,EAAcnD,cAAgBiH,EAAoBpS,EACvEC,SAAUpE,GAASyS,EAAcnD,cAAgBiH,EAAoBnS,EACrEkH,MAAOlS,EAAUhL,sBAAsBjQ,EAAQiP,EAAOjP,EAAOiP,OAI/DoH,EAAIuG,SAGLkb,qBAAsB,WACrB,IAAIjX,EAAUvhB,KAAKwhB,aACfH,EAAOrhB,KAAKmhB,UACZ6E,EAAQ,EAQZ,OANArK,EAAU5K,KAAKsQ,EAAKS,MAAM,SAASoB,EAASvT,GACtC7E,MAAMyW,EAAQO,KAAKnS,KAAYuT,EAAQ7F,QAC3C2I,OAIKA,GAMRb,cAAe,SAASpO,GACvB,IAAItV,EAAQsV,EAAIyG,OACZ9L,EAAUqF,EAAIya,SACdpM,EAAgBzJ,EAAUyJ,cAC1B3U,EAAiBkL,EAAUlL,eAE/BsG,EAAImO,eAAiB,CACpBX,gBAAiB9iB,EAAM8iB,gBACvBC,YAAa/iB,EAAM+iB,YACnBa,YAAa5jB,EAAM4jB,aAGpB5jB,EAAM8iB,gBAAkB9T,EAAeiB,EAAQ4T,qBAAsBF,EAAc1T,EAAQ6S,kBAC3F9iB,EAAM+iB,YAAc/T,EAAeiB,EAAQ6T,iBAAkBH,EAAc1T,EAAQ8S,cACnF/iB,EAAM4jB,YAAc5U,EAAeiB,EAAQ8T,iBAAkB9T,EAAQ2T,cAMtEoT,cAAe,SAAS9oB,GACvB,IAAI6C,EAAKxS,KACLgmB,EAAQhmB,KAAKmhB,UAAU6E,MACvBzE,EAAU/O,EAAGgP,aACbH,EAAO7O,EAAG2O,UAEd,OAAIrW,MAAMyW,EAAQO,KAAKnS,KAAW0R,EAAKS,KAAKnS,GAAO0N,OAC3C,EAWDua,GAAU,CAChBplB,EAAG2D,MAAMzE,QAAQwS,SAASnN,IAAI4Q,MAC7B,EAAItlB,KAAK8C,GAAM6gB,GATH,CACb7P,MAAO3D,EAAG2D,MACV4O,UAAWpV,EACX4R,QAASA,EACTX,aAAcpO,EAAG7C,OAMNA,MAIdmK,EAAcR,KAAK,MAAOqC,EAAU/M,MAAMkL,EAAcmf,WACxDnf,EAAcR,KAAK,MAAO,CACzBwZ,iBAAkB,IAInB,IAAIoG,GAAiBjG,GAEjBkG,GAAmBxd,EAAUlL,eAEjCqJ,EAAcR,KAAK,QAAS,CAC3B8P,UAAU,EACVve,MAAO,CACNgE,KAAM,gBAEPqV,SAAU,CACT0E,KAAM,CACL3Q,KAAM,QACNY,QAAS,MAKZ,IAAIugB,GAAmB7S,EAAuBrU,OAAO,CACpD2O,mBAAoBqD,GAASmI,KAE7BvL,gBAAiBoD,GAASoI,MAE1BrL,WAAYtF,EAAU1L,KAKtB8Q,uBAAwB,CACvB,kBACA,cACA,cACA,iBACA,aACA,mBACA,kBACA,QAMDC,oBAAqB,CACpBuD,gBAAiB,uBACjBC,YAAa,mBACba,YAAa,mBACb8E,UAAW,iBACX7E,qBAAsB,4BACtBC,iBAAkB,wBAClBC,iBAAkB,wBAClB6B,YAAa,mBACb+C,WAAY,aACZ3T,OAAQ,cACRW,SAAU,iBAMXgL,iBAAkB,WACjB,OAAOpiB,KAAKmW,MAAMtL,MAAMiF,IAMzBqS,iBAAkB,WACjB,OAAOniB,KAAKmW,MAAMtL,MAAMiF,IAGzBkU,OAAQ,SAASzB,GAChB,IAMIze,EAAGuN,EANHmB,EAAKxS,KACLqhB,EAAO7O,EAAG2O,UACVyH,EAAOvH,EAAKE,QACZ8H,EAAShI,EAAKS,MAAQ,GACtBjX,EAAQ2H,EAAG2D,MAAMtL,MACjBurB,EAAS5jB,EAAGsR,QAoBhB,SAhBuB9Z,IAAnBosB,EAAOvd,cAAgD7O,IAAvBosB,EAAOG,cAC1CH,EAAOG,YAAcH,EAAOvd,SAI7B+P,EAAK4N,OAAS3rB,EACd+d,EAAK/F,cAAgBrQ,EAAG7C,MAExBiZ,EAAKU,UAAYD,EACjBT,EAAKa,OAAQ,EAEbb,EAAKpL,OAAShL,EAAG6R,8BAA8BuE,GAE/CA,EAAKtL,QAGAxZ,EAAI,EAAGuN,EAAOgY,EAAO1nB,OAAQmC,EAAIuN,IAAQvN,EAC7C0O,EAAG2Q,cAAckG,EAAOvlB,GAAIA,EAAGye,GAOhC,IAHA/P,EAAGikB,4BAGE3yB,EAAI,EAAGuN,EAAOgY,EAAO1nB,OAAQmC,EAAIuN,IAAQvN,EAC7CulB,EAAOvlB,GAAGwZ,SAIZ6F,cAAe,SAAS/K,EAAOzI,EAAO4S,GACrC,IAAI/P,EAAKxS,KACL4kB,EAASxM,EAAMwM,QAAU,GACzBrD,EAAU/O,EAAGgP,aACb3W,EAAQ2H,EAAG2D,MAAMtL,MACjBwuB,EAAgBxuB,EAAMyuB,yBAAyB3pB,EAAO4R,EAAQO,KAAKnS,IACnE+B,EAAUc,EAAG8R,2BAA2BlM,EAAOzI,GAC/C+mB,EAAYlkB,EAAG2O,UAAUI,QAAQ/D,OACjCra,EAAIof,EAAQ1X,EAAM+tB,QAAUS,EAAcl2B,EAC1CC,EAAImf,EAAQ1X,EAAMguB,QAAUQ,EAAcj2B,EAG9CgV,EAAMoe,OAAS3rB,EACfuN,EAAMoZ,SAAW9f,EACjB0G,EAAMyK,cAAgBrQ,EAAG7C,MACzByI,EAAM2K,OAASpT,EAGfyI,EAAMoF,OAAS,CACdra,EAAGA,EACHC,EAAGA,EACHumB,KAAM/E,EAAO+E,MAAQ7e,MAAM3H,IAAM2H,MAAM1H,GAEvCqT,OAAQ/E,EAAQ+E,OAChB2T,WAAY1Y,EAAQ0Y,WACpBhT,SAAU1F,EAAQ0F,SAClBmN,gBAAiB7S,EAAQ6S,gBACzBC,YAAa9S,EAAQ8S,YACrBa,YAAa3T,EAAQ2T,YACrBxM,QAASsgB,GAAiBvU,EAAO/L,QAAS6d,EAAYA,EAAU7d,QAAU,GAG1EsR,UAAWzY,EAAQyY,YAOrB9F,8BAA+B,WAC9B,IAAI7R,EAAKxS,KACLo2B,EAAS5jB,EAAGsR,QACZpS,EAAUc,EAAG2D,MAAMzE,QACnBrG,EAASkb,EAAuB1d,UAAUwb,8BAA8BvT,MAAM0B,EAAI/M,WAKtF,OAHA4F,EAAO+d,SAAW+P,GAAiB/C,EAAOhN,SAAU1X,EAAQ0X,UAC5D/d,EAAOwN,QAAUsgB,GAAiB/C,EAAOG,YAAa7kB,EAAQwS,SAAS0E,KAAK/P,SAErExN,GAGRorB,0BAA2B,WAC1B,IAII3yB,EAAGuN,EAAM5P,EAAO21B,EAHhB/V,EADKrhB,KACKmhB,UACV9I,EAFKrY,KAEKmW,MAAMuU,UAChBrB,EAAShI,EAAKS,MAAQ,GAU1B,SAASuV,EAAgBC,EAAIl1B,EAAKE,GACjC,OAAOD,KAAKC,IAAID,KAAKD,IAAIk1B,EAAIh1B,GAAMF,GAGpC,IAVIif,EAAKE,QAAQ/D,OAAO4L,WACvBC,EAASA,EAAOkO,QAAO,SAASD,GAC/B,OAAQA,EAAG9Z,OAAOmM,SAQf7lB,EAAI,EAAGuN,EAAOgY,EAAO1nB,OAAQmC,EAAIuN,IAAQvN,EAC7CrC,EAAQ4nB,EAAOvlB,GAAG0Z,OAClB4Z,EAAgBzb,EAAU+b,YACzB/b,EAAU+N,aAAaL,EAAQvlB,GAAG,GAAM0Z,OACxC/b,EACAka,EAAUgc,SAAStO,EAAQvlB,GAAG,GAAM0Z,OACpC/b,EAAMoX,SAIPpX,EAAMsX,sBAAwBse,EAAgBD,EAAcrkB,SAAS5P,EAAGkV,EAAK3B,KAAM2B,EAAKzB,OACxFnV,EAAMwX,sBAAwBoe,EAAgBD,EAAcrkB,SAAS3P,EAAGiV,EAAK1B,IAAK0B,EAAKxB,QACvFpV,EAAMuX,kBAAoBqe,EAAgBD,EAAcvH,KAAK1sB,EAAGkV,EAAK3B,KAAM2B,EAAKzB,OAChFnV,EAAMyX,kBAAoBme,EAAgBD,EAAcvH,KAAKzsB,EAAGiV,EAAK1B,IAAK0B,EAAKxB,SAIjFsO,cAAe,SAAS/M,GACvB,IAAI3W,EAAQ2W,EAAMoF,OACd9L,EAAU0G,EAAMoZ,SAChBpM,EAAgBzJ,EAAUyJ,cAE9BhN,EAAM8M,eAAiB,CACtBX,gBAAiB9iB,EAAM8iB,gBACvBC,YAAa/iB,EAAM+iB,YACnBa,YAAa5jB,EAAM4jB,YACnB5O,OAAQhV,EAAMgV,QAGfhV,EAAM8iB,gBAAkB4U,GAAiBznB,EAAQ4T,qBAAsBF,EAAc1T,EAAQ6S,kBAC7F9iB,EAAM+iB,YAAc2U,GAAiBznB,EAAQ6T,iBAAkBH,EAAc1T,EAAQ8S,cACrF/iB,EAAM4jB,YAAc8T,GAAiBznB,EAAQ8T,iBAAkB9T,EAAQ2T,aACvE5jB,EAAMgV,OAAS0iB,GAAiBznB,EAAQ2V,YAAa3V,EAAQ+E,WAI/DqD,EAAcR,KAAK,UAAW,CAC7BmL,MAAO,CACNkI,KAAM,UAGPrL,OAAQ,CACPK,MAAO,CAAC,CACP7R,GAAI,WACJjB,KAAM,SACN+hB,SAAU,WAEX/O,MAAO,CAAC,CACP/R,GAAI,WACJjB,KAAM,SACN+hB,SAAU,UAIZC,SAAU,CACTC,UAAW,CACVC,MAAO,WACN,MAAO,IAERlD,MAAO,SAASxa,GACf,MAAO,IAAMA,EAAK2d,OAAS,KAAO3d,EAAK4d,OAAS,SAMpDnX,EAAcR,KAAK,SAAU,CAC5ByI,SAAU,CACTwX,QAAS,CACRlD,UAAU,MAMb,IAMImD,GAAc,CACjBzM,IAAKG,GACLuM,OAAQvI,GACR+H,SAAUhG,GACVuC,cAAeC,GACf7M,KAAMuN,GACNuD,UAAWxB,GACXyB,IAAKT,GACLU,MAAOR,GACPG,QAfwBpD,IAwBzB,SAAS0D,GAAoBn6B,EAAGyW,GAC/B,OAAIzW,EAAEo6B,OACE,CACN32B,EAAGzD,EAAEyD,EACLC,EAAG1D,EAAE0D,GAIAuY,EAAUke,oBAAoBn6B,EAAGyW,GAQzC,SAAS4jB,GAAkB5jB,EAAO6jB,GACjC,IACIC,EAAUn2B,EAAGsvB,EAAG/hB,EAAM6oB,EAAMhX,EAD5ByL,EAAWxY,EAAMghB,gCAGrB,IAAKrzB,EAAI,EAAGuN,EAAOsd,EAAShtB,OAAQmC,EAAIuN,IAAQvN,EAE/C,IAAKsvB,EAAI,EAAG8G,GADZD,EAAWtL,EAAS7qB,GAAGge,MACKngB,OAAQyxB,EAAI8G,IAAQ9G,GAC/ClQ,EAAU+W,EAAS7G,IACN7V,MAAMoM,MAClBqQ,EAAQ9W,GAYZ,SAASiX,GAAkBhkB,EAAOya,GACjC,IAAI1M,EAAW,GAQf,OANA6V,GAAkB5jB,GAAO,SAAS+M,GAC7BA,EAAQoE,QAAQsJ,EAASztB,EAAGytB,EAASxtB,IACxC8gB,EAAS/I,KAAK+H,MAITgB,EAWR,SAASkW,GAAgBjkB,EAAOya,EAAUyJ,EAAWC,GACpD,IAAIC,EAAc/pB,OAAOgqB,kBACrBC,EAAe,GAkBnB,OAhBAV,GAAkB5jB,GAAO,SAAS+M,GACjC,IAAImX,GAAcnX,EAAQoE,QAAQsJ,EAASztB,EAAGytB,EAASxtB,GAAvD,CAIA,IAAIorB,EAAStL,EAAQ0E,iBACjBrkB,EAAW+2B,EAAe1J,EAAUpC,GACpCjrB,EAAWg3B,GACdE,EAAe,CAACvX,GAChBqX,EAAch3B,GACJA,IAAag3B,GAEvBE,EAAatf,KAAK+H,OAIbuX,EAQR,SAASC,GAAyBnF,GACjC,IAAIoF,GAA8B,IAAvBpF,EAAKpiB,QAAQ,KACpBynB,GAA8B,IAAvBrF,EAAKpiB,QAAQ,KAExB,OAAO,SAAS0nB,EAAKC,GACpB,IAAIC,EAASJ,EAAOt4B,KAAK6nB,IAAI2Q,EAAI13B,EAAI23B,EAAI33B,GAAK,EAC1C63B,EAASJ,EAAOv4B,KAAK6nB,IAAI2Q,EAAIz3B,EAAI03B,EAAI13B,GAAK,EAC9C,OAAOf,KAAK+C,KAAK/C,KAAKmB,IAAIu3B,EAAQ,GAAK14B,KAAKmB,IAAIw3B,EAAQ,KAI1D,SAASC,GAAU9kB,EAAOzW,EAAGgS,GAC5B,IAAIkf,EAAWiJ,GAAoBn6B,EAAGyW,GAEtCzE,EAAQ6jB,KAAO7jB,EAAQ6jB,MAAQ,IAC/B,IAAI+E,EAAiBI,GAAyBhpB,EAAQ6jB,MAClD2F,EAAQxpB,EAAQ2oB,UAAYF,GAAkBhkB,EAAOya,GAAYwJ,GAAgBjkB,EAAOya,GAAU,EAAO0J,GACzGpW,EAAW,GAEf,OAAKgX,EAAMv5B,QAIXwU,EAAMghB,gCAAgCtvB,SAAQ,SAASwZ,GACtD,IAAI6B,EAAU7B,EAAKS,KAAKoZ,EAAM,GAAGnY,QAG7BG,IAAYA,EAAQ3F,MAAMoM,MAC7BzF,EAAS/I,KAAK+H,MAITgB,GAZC,GA4BT,IAAIiX,GAAmB,CAEtBC,MAAO,CACNC,OAAQ,SAASllB,EAAOzW,GACvB,IAAIkxB,EAAWiJ,GAAoBn6B,EAAGyW,GAClC+N,EAAW,GASf,OAPA6V,GAAkB5jB,GAAO,SAAS+M,GACjC,GAAIA,EAAQoE,QAAQsJ,EAASztB,EAAGytB,EAASxtB,GAExC,OADA8gB,EAAS/I,KAAK+H,GACPgB,KAIFA,EAASpb,MAAM,EAAG,IAS1B+kB,MAAOoN,GAYPtrB,MAAOsrB,GAWP1Z,QAAS,SAASpL,EAAOzW,EAAGgS,GAC3B,IAAIkf,EAAWiJ,GAAoBn6B,EAAGyW,GACtCzE,EAAQ6jB,KAAO7jB,EAAQ6jB,MAAQ,KAC/B,IAAI+E,EAAiBI,GAAyBhpB,EAAQ6jB,MAClD2F,EAAQxpB,EAAQ2oB,UAAYF,GAAkBhkB,EAAOya,GAAYwJ,GAAgBjkB,EAAOya,GAAU,EAAO0J,GAM7G,OAJIY,EAAMv5B,OAAS,IAClBu5B,EAAQ/kB,EAAM6L,eAAekZ,EAAM,GAAGrY,eAAef,MAG/CoZ,GASR,SAAU,SAAS/kB,EAAOzW,GACzB,OAAOu7B,GAAU9kB,EAAOzW,EAAG,CAAC26B,WAAW,KAWxCjiB,MAAO,SAASjC,EAAOzW,GAEtB,OAAOy6B,GAAkBhkB,EADV0jB,GAAoBn6B,EAAGyW,KAYvCmlB,QAAS,SAASnlB,EAAOzW,EAAGgS,GAC3B,IAAIkf,EAAWiJ,GAAoBn6B,EAAGyW,GACtCzE,EAAQ6jB,KAAO7jB,EAAQ6jB,MAAQ,KAC/B,IAAI+E,EAAiBI,GAAyBhpB,EAAQ6jB,MACtD,OAAO6E,GAAgBjkB,EAAOya,EAAUlf,EAAQ2oB,UAAWC,IAW5Dn3B,EAAG,SAASgT,EAAOzW,EAAGgS,GACrB,IAAIkf,EAAWiJ,GAAoBn6B,EAAGyW,GAClC+kB,EAAQ,GACRK,GAAiB,EAiBrB,OAfAxB,GAAkB5jB,GAAO,SAAS+M,GAC7BA,EAAQqH,SAASqG,EAASztB,IAC7B+3B,EAAM/f,KAAK+H,GAGRA,EAAQoE,QAAQsJ,EAASztB,EAAGytB,EAASxtB,KACxCm4B,GAAiB,MAMf7pB,EAAQ2oB,YAAckB,IACzBL,EAAQ,IAEFA,GAWR93B,EAAG,SAAS+S,EAAOzW,EAAGgS,GACrB,IAAIkf,EAAWiJ,GAAoBn6B,EAAGyW,GAClC+kB,EAAQ,GACRK,GAAiB,EAiBrB,OAfAxB,GAAkB5jB,GAAO,SAAS+M,GAC7BA,EAAQsH,SAASoG,EAASxtB,IAC7B83B,EAAM/f,KAAK+H,GAGRA,EAAQoE,QAAQsJ,EAASztB,EAAGytB,EAASxtB,KACxCm4B,GAAiB,MAMf7pB,EAAQ2oB,YAAckB,IACzBL,EAAQ,IAEFA,KAKNhpB,GAASyJ,EAAUzJ,OAEvB,SAASspB,GAAiBpoB,EAAOwd,GAChC,OAAOjV,EAAU8f,MAAMroB,GAAO,SAASxQ,GACtC,OAAOA,EAAE84B,MAAQ9K,KAInB,SAAS+K,GAAavoB,EAAOnC,GAC5B,OAAOmC,EAAMgI,MAAK,SAASnW,EAAG9C,GAC7B,IAAImP,EAAKL,EAAU9O,EAAI8C,EACnBsM,EAAKN,EAAUhM,EAAI9C,EACvB,OAAOmP,EAAG9C,SAAW+C,EAAG/C,OACvB8C,EAAG3B,MAAQ4B,EAAG5B,MACd2B,EAAG9C,OAAS+C,EAAG/C,UAkDlB,SAASotB,GAAeC,EAAYnR,EAAWzlB,EAAG9C,GACjD,OAAOE,KAAKC,IAAIu5B,EAAW52B,GAAIylB,EAAUzlB,IAAM5C,KAAKC,IAAIu5B,EAAW15B,GAAIuoB,EAAUvoB,IAGlF,SAAS25B,GAAWpR,EAAWqR,EAAQC,GACtC,IAEIC,EAAUC,EAFVC,EAAMH,EAAOG,IACbN,EAAanR,EAAUmR,WAU3B,GAPIG,EAAOzkB,OAEVmT,EAAUsR,EAAON,MAAQM,EAAOzkB,MAEjCykB,EAAOzkB,KAAOykB,EAAOjQ,WAAaoQ,EAAI5lB,OAAS4lB,EAAI7lB,MACnDoU,EAAUsR,EAAON,MAAQM,EAAOzkB,KAE5B4kB,EAAIC,WAAY,CACnB,IAAIC,EAAaF,EAAIC,aACrBP,EAAWllB,IAAMtU,KAAKC,IAAIu5B,EAAWllB,IAAK0lB,EAAW1lB,KACrDklB,EAAWnlB,KAAOrU,KAAKC,IAAIu5B,EAAWnlB,KAAM2lB,EAAW3lB,MACvDmlB,EAAWhlB,OAASxU,KAAKC,IAAIu5B,EAAWhlB,OAAQwlB,EAAWxlB,QAC3DglB,EAAWjlB,MAAQvU,KAAKC,IAAIu5B,EAAWjlB,MAAOylB,EAAWzlB,OAM1D,GAHAqlB,EAAWF,EAAOO,WAAaV,GAAeC,EAAYnR,EAAW,OAAQ,SAC7EwR,EAAYH,EAAOQ,YAAcX,GAAeC,EAAYnR,EAAW,MAAO,UAE1EuR,IAAavR,EAAU3jB,GAAKm1B,IAAcxR,EAAU3oB,EAKvD,OAJA2oB,EAAU3jB,EAAIk1B,EACdvR,EAAU3oB,EAAIm6B,EAGPF,EAAOjQ,WAAakQ,IAAavR,EAAU3jB,EAAIm1B,IAAcxR,EAAU3oB,EAkBhF,SAASy6B,GAAWzQ,EAAYrB,GAC/B,IAGK+R,EAHDZ,EAAanR,EAAUmR,WAU3B,OAPKY,EAAS,CAAC/lB,KAAM,EAAGC,IAAK,EAAGC,MAAO,EAAGC,OAAQ,IAO3CkV,EACe,CAAC,OAAQ,SACT,CAAC,MAAO,WARnBlkB,SAAQ,SAAS6zB,GAC1Be,EAAOf,GAAOr5B,KAAKC,IAAIooB,EAAUgR,GAAMG,EAAWH,OAE5Ce,EAQT,SAASC,GAASC,EAAOjS,EAAWqR,GACnC,IACIj4B,EAAGuN,EAAM2qB,EAAQG,EAAKS,EAAOC,EAD7BC,EAAa,GAGjB,IAAKh5B,EAAI,EAAGuN,EAAOsrB,EAAMh7B,OAAQmC,EAAIuN,IAAQvN,GAE5Cq4B,GADAH,EAASW,EAAM74B,IACFq4B,KAETnY,OACHgY,EAAO1lB,OAASoU,EAAU3jB,EAC1Bi1B,EAAOzlB,QAAUmU,EAAU3oB,EAC3By6B,GAAWR,EAAOjQ,WAAYrB,IAE3BoR,GAAWpR,EAAWqR,EAAQC,KACjCa,GAAU,EACNC,EAAWn7B,SAGdi7B,GAAQ,IAGLT,EAAIY,WACRD,EAAW3hB,KAAK6gB,GAIlB,OAAOY,GAAQF,GAASI,EAAYpS,EAAWqR,IAAqBc,EAGrE,SAASG,GAAWL,EAAOjS,EAAWqR,GACrC,IAGIj4B,EAAGuN,EAAM2qB,EAAQG,EAHjBc,EAAclB,EAAOtR,QACrBtnB,EAAIunB,EAAUvnB,EACdC,EAAIsnB,EAAUtnB,EAGlB,IAAKU,EAAI,EAAGuN,EAAOsrB,EAAMh7B,OAAQmC,EAAIuN,IAAQvN,EAE5Cq4B,GADAH,EAASW,EAAM74B,IACFq4B,IACTH,EAAOjQ,YACVoQ,EAAIzlB,KAAOylB,EAAIY,UAAYE,EAAYvmB,KAAOgU,EAAUhU,KACxDylB,EAAIvlB,MAAQulB,EAAIY,UAAYhB,EAAOO,WAAaW,EAAYrmB,MAAQ8T,EAAUhU,KAAOgU,EAAU3jB,EAC/Fo1B,EAAIxlB,IAAMvT,EACV+4B,EAAItlB,OAASzT,EAAI+4B,EAAI5lB,OACrB4lB,EAAI7lB,MAAQ6lB,EAAIvlB,MAAQulB,EAAIzlB,KAC5BtT,EAAI+4B,EAAItlB,SAERslB,EAAIzlB,KAAOvT,EACXg5B,EAAIvlB,MAAQzT,EAAIg5B,EAAI7lB,MACpB6lB,EAAIxlB,IAAM+T,EAAU/T,IACpBwlB,EAAItlB,OAAS6T,EAAU/T,IAAM+T,EAAU3oB,EACvCo6B,EAAI5lB,OAAS4lB,EAAItlB,OAASslB,EAAIxlB,IAC9BxT,EAAIg5B,EAAIvlB,OAIV8T,EAAUvnB,EAAIA,EACdunB,EAAUtnB,EAAIA,EAGf0W,EAAcR,KAAK,SAAU,CAC5B0iB,OAAQ,CACPvR,QAAS,CACR9T,IAAK,EACLC,MAAO,EACPC,OAAQ,EACRH,KAAM,MAyBT,IAthOoCjS,GAshOhCy4B,GAAe,CAClB7jB,SAAU,GAQV8jB,OAAQ,SAAShnB,EAAO9C,GAClB8C,EAAMwmB,QACVxmB,EAAMwmB,MAAQ,IAIftpB,EAAK0pB,UAAY1pB,EAAK0pB,YAAa,EACnC1pB,EAAKud,SAAWvd,EAAKud,UAAY,MACjCvd,EAAK7E,OAAS6E,EAAK7E,QAAU,EAC7B6E,EAAK+pB,QAAU/pB,EAAK+pB,SAAW,WAC9B,MAAO,CAAC,CACP35B,EAAG,EACH0gB,KAAM,WACL9Q,EAAK8Q,KAAKrT,MAAMuC,EAAM5N,eAKzB0Q,EAAMwmB,MAAMxhB,KAAK9H,IAQlBgqB,UAAW,SAASlnB,EAAOmnB,GAC1B,IAAI3tB,EAAQwG,EAAMwmB,MAAQxmB,EAAMwmB,MAAMxpB,QAAQmqB,IAAe,GAC9C,IAAX3tB,GACHwG,EAAMwmB,MAAM3c,OAAOrQ,EAAO,IAU5B4tB,UAAW,SAASpnB,EAAO9C,EAAM3B,GAMhC,IALA,IAGI1C,EAHAwuB,EAAQ,CAAC,YAAa,WAAY,UAClCnsB,EAAOmsB,EAAM77B,OACbmC,EAAI,EAGDA,EAAIuN,IAAQvN,EAEd4N,EAAQzR,eADZ+O,EAAOwuB,EAAM15B,MAEZuP,EAAKrE,GAAQ0C,EAAQ1C,KAYxBgV,OAAQ,SAAS7N,EAAOG,EAAOC,GAC9B,GAAKJ,EAAL,CAIA,IACIsU,EAAU9O,EAAUjK,QAAQwI,WADZ/D,EAAMzE,QAAQsqB,QAAU,IACYvR,SAEpDgT,EAAiBnnB,EAAQmU,EAAQnU,MACjConB,EAAkBnnB,EAASkU,EAAQlU,OACnComB,EA3PN,SAA0BA,GACzB,IAAIgB,EA/BL,SAAmBhB,GAClB,IACI74B,EAAGuN,EAAM8qB,EADTwB,EAAc,GAGlB,IAAK75B,EAAI,EAAGuN,GAAQsrB,GAAS,IAAIh7B,OAAQmC,EAAIuN,IAAQvN,EAEpD65B,EAAYxiB,KAAK,CAChBxL,MAAO7L,EACPq4B,IAHDA,EAAMQ,EAAM74B,GAIX43B,IAAKS,EAAIvL,SACT7E,WAAYoQ,EAAIlO,eAChBzf,OAAQ2tB,EAAI3tB,SAGd,OAAOmvB,EAiBWC,CAAUjB,GACxBjmB,EAAOilB,GAAaH,GAAiBmC,EAAa,SAAS,GAC3D/mB,EAAQ+kB,GAAaH,GAAiBmC,EAAa,UACnDhnB,EAAMglB,GAAaH,GAAiBmC,EAAa,QAAQ,GACzD9mB,EAAS8kB,GAAaH,GAAiBmC,EAAa,WAExD,MAAO,CACNE,WAAYnnB,EAAKzK,OAAO0K,GACxBmnB,eAAgBlnB,EAAM3K,OAAO4K,GAC7B6T,UAAW8Q,GAAiBmC,EAAa,aACzCI,SAAUrnB,EAAKzK,OAAO2K,GACtBmV,WAAYpV,EAAI1K,OAAO4K,IA+OXmnB,CAAiB7nB,EAAMwmB,OAC/BsB,EAAgBtB,EAAMoB,SACtBG,EAAkBvB,EAAM5Q,WA6BxBgQ,EAASn6B,OAAOojB,OAAO,CAC1BsX,WAAYhmB,EACZimB,YAAahmB,EACbkU,QAASA,EACTgT,eAAgBA,EAChBU,aAAcV,EAAiB,EAAIQ,EAAct8B,OACjDy8B,cAAeV,EAAkB,IAE9BhT,EAAYxY,GAAO,CACtB2pB,WAAY3pB,GAAO,GAAIuY,GACvB1jB,EAAG02B,EACH17B,EAAG27B,EACHv6B,EAAGsnB,EAAQ/T,KACXtT,EAAGqnB,EAAQ9T,KACT8T,IArTL,SAAuB4T,EAAStC,GAC/B,IAAIj4B,EAAGuN,EAAM2qB,EACb,IAAKl4B,EAAI,EAAGuN,EAAOgtB,EAAQ18B,OAAQmC,EAAIuN,IAAQvN,GAC9Ck4B,EAASqC,EAAQv6B,IAEVwS,MAAQ0lB,EAAOjQ,WACnBiQ,EAAOG,IAAIY,WAAahB,EAAO0B,eAC/B1B,EAAOoC,aAEVnC,EAAOzlB,OAASylB,EAAOjQ,YAAcgQ,EAAOqC,cA8S5CE,CAAcL,EAAchyB,OAAOiyB,GAAkBnC,GAGrDW,GAASuB,EAAevT,EAAWqR,GAG/BW,GAASwB,EAAiBxT,EAAWqR,IAExCW,GAASuB,EAAevT,EAAWqR,GA9PtC,SAA0BrR,GACzB,IAAImR,EAAanR,EAAUmR,WAE3B,SAAS0C,EAAU7C,GAClB,IAAI8C,EAASn8B,KAAKC,IAAIu5B,EAAWH,GAAOhR,EAAUgR,GAAM,GAExD,OADAhR,EAAUgR,IAAQ8C,EACXA,EAER9T,EAAUtnB,GAAKm7B,EAAU,OACzB7T,EAAUvnB,GAAKo7B,EAAU,QACzBA,EAAU,SACVA,EAAU,UAsPTE,CAAiB/T,GAGjBsS,GAAWL,EAAMkB,WAAYnT,EAAWqR,GAGxCrR,EAAUvnB,GAAKunB,EAAU3jB,EACzB2jB,EAAUtnB,GAAKsnB,EAAU3oB,EAEzBi7B,GAAWL,EAAMmB,eAAgBpT,EAAWqR,GAE5C5lB,EAAMuU,UAAY,CACjBhU,KAAMgU,EAAUhU,KAChBC,IAAK+T,EAAU/T,IACfC,MAAO8T,EAAUhU,KAAOgU,EAAU3jB,EAClC8P,OAAQ6T,EAAU/T,IAAM+T,EAAU3oB,GAInC4Z,EAAU5K,KAAK4rB,EAAMjS,WAAW,SAASsR,GACxC,IAAIG,EAAMH,EAAOG,IACjBjqB,GAAOiqB,EAAKhmB,EAAMuU,WAClByR,EAAInY,OAAO0G,EAAU3jB,EAAG2jB,EAAU3oB,SA4BjC28B,IAjtOgCj6B,GA4sOF7C,OAAOojB,OAAO,CAChD2Z,UAAW,KACX,QAJmB,w3BAzsONl6B,GAAW,SAAKA,GAutOzBm6B,GAAyB,CAAC,iBAAkB,wBAO5CC,GAAc,CACjBC,WAAY,YACZC,UAAW,YACXC,SAAU,UACVC,aAAc,aACdC,YAAa,YACbC,YAAa,YACbC,UAAW,UACXC,aAAc,WACdC,WAAY,YAYb,SAASC,GAAarc,EAASsc,GAC9B,IAAI19B,EAAQ6Z,EAAUyI,SAASlB,EAASsc,GACpCvlB,EAAUnY,GAASA,EAAMqE,MAAM,qBACnC,OAAO8T,EAAUzJ,OAAOyJ,EAAQ,SAAMjQ,EA+DvC,IAkBIy1B,KAlBgC,WACnC,IAAIC,GAAW,EACf,IACC,IAAIhuB,EAAU9P,OAAOC,eAAe,GAAI,UAAW,CAElDid,IAAK,WACJ4gB,GAAW,KAGb7vB,OAAO8vB,iBAAiB,IAAK,KAAMjuB,GAClC,MAAOhS,IAGT,OAAOggC,EAb2B,IAkBuB,CAACE,SAAS,GAEpE,SAASC,GAAYr3B,EAAMqG,EAAM0R,GAChC/X,EAAKm3B,iBAAiB9wB,EAAM0R,EAAUkf,IAGvC,SAASK,GAAet3B,EAAMqG,EAAM0R,GACnC/X,EAAKu3B,oBAAoBlxB,EAAM0R,EAAUkf,IAG1C,SAASO,GAAYnxB,EAAMsH,EAAOhT,EAAGC,EAAG68B,GACvC,MAAO,CACNpxB,KAAMA,EACNsH,MAAOA,EACP2jB,OAAQmG,GAAe,KACvB98B,OAAS6G,IAAN7G,EAAkBA,EAAI,KACzBC,OAAS4G,IAAN5G,EAAkBA,EAAI,MA4B3B,SAAS88B,GAAUC,GAClB,IAAIC,EAAKlO,SAASC,cAAc,OAEhC,OADAiO,EAAGC,UAAYF,GAAO,GACfC,EA6IR,IAAIE,GAAiB,CAQpBC,qBAAqB,EAOrBC,SAA4B,oBAAX3wB,QAA8C,oBAAbqiB,SAOlDuO,cAAe,SAAS7kB,GACvB,IAAK5b,KAAKugC,oBAAqB,CAI9B,IAAIG,EAAO9kB,EAAO+kB,YAAc/kB,EAAO+kB,cAAgBzO,UAxC1D,SAAmB0O,EAAUC,GAE5B,IAAIC,EAAUF,EAAoB,WAAMA,EAAoB,SAAI,IAChE,IAAKE,EAAQC,eAAgB,CAC5BD,EAAQC,gBAAiB,EACzBF,EAAM,mBAAqBA,EAC3B,IAAI1pB,EAAQ+a,SAASC,cAAc,SACnChb,EAAMib,aAAa,OAAQ,YAC3Bjb,EAAMkb,YAAYH,SAASI,eAAeuO,IAC1CD,EAASvO,YAAYlb,IAiCpB6pB,CADiBN,EAAKO,KAAOP,EAAOxO,SAAS3D,KACvBmQ,MAIxBwC,eAAgB,SAAS7tB,EAAM+iB,GACV,iBAAT/iB,EACVA,EAAO6e,SAASiP,eAAe9tB,GACrBA,EAAK1R,SAEf0R,EAAOA,EAAK,IAGTA,GAAQA,EAAKuI,SAEhBvI,EAAOA,EAAKuI,QAMb,IAAId,EAAUzH,GAAQA,EAAK+tB,YAAc/tB,EAAK+tB,WAAW,MASzD,OAAItmB,GAAWA,EAAQc,SAAWvI,GAGjCrT,KAAKygC,cAAcptB,GAlUtB,SAAoBuI,EAAQwa,GAC3B,IAAIjf,EAAQyE,EAAOzE,MAIfkqB,EAAezlB,EAAO0lB,aAAa,UACnCC,EAAc3lB,EAAO0lB,aAAa,SAoBtC,GAjBA1lB,EAAkB,SAAI,CACrB4lB,QAAS,CACRjrB,OAAQ8qB,EACR/qB,MAAOirB,EACPpqB,MAAO,CACN2gB,QAAS3gB,EAAM2gB,QACfvhB,OAAQY,EAAMZ,OACdD,MAAOa,EAAMb,SAQhBa,EAAM2gB,QAAU3gB,EAAM2gB,SAAW,QAEb,OAAhByJ,GAAwC,KAAhBA,EAAoB,CAC/C,IAAIE,EAAelC,GAAa3jB,EAAQ,cACnB5R,IAAjBy3B,IACH7lB,EAAOtF,MAAQmrB,GAIjB,GAAqB,OAAjBJ,GAA0C,KAAjBA,EAC5B,GAA4B,KAAxBzlB,EAAOzE,MAAMZ,OAIhBqF,EAAOrF,OAASqF,EAAOtF,OAAS8f,EAAO1kB,QAAQgwB,aAAe,OACxD,CACN,IAAIC,EAAgBpC,GAAa3jB,EAAQ,eACpB5R,IAAjBy3B,IACH7lB,EAAOrF,OAASorB,IAyRjBC,CAAWvuB,EAAM+iB,GACVtb,GAGD,MAGR+mB,eAAgB,SAAS/mB,GACxB,IAAIc,EAASd,EAAQc,OACrB,GAAKA,EAAkB,SAAvB,CAIA,IAAI4lB,EAAU5lB,EAAkB,SAAE4lB,QAClC,CAAC,SAAU,SAAS35B,SAAQ,SAASmH,GACpC,IAAIlN,EAAQ0/B,EAAQxyB,GAChB2M,EAAUxL,cAAcrO,GAC3B8Z,EAAOkmB,gBAAgB9yB,GAEvB4M,EAAOwW,aAAapjB,EAAMlN,MAI5B6Z,EAAU5K,KAAKywB,EAAQrqB,OAAS,IAAI,SAASrV,EAAOxB,GACnDsb,EAAOzE,MAAM7W,GAAOwB,KAQrB8Z,EAAOtF,MAAQsF,EAAOtF,aAEfsF,EAAkB,WAG1B+jB,iBAAkB,SAASxpB,EAAOtH,EAAM0R,GACvC,IAAI3E,EAASzF,EAAMyF,OACnB,GAAa,WAAT/M,EAAJ,CAMA,IAAIiyB,EAAUvgB,EAAoB,WAAMA,EAAoB,SAAI,IAMhEsf,GAAYjkB,EAAQ/M,GALNiyB,EAAQiB,UAAYjB,EAAQiB,QAAU,KAChC5rB,EAAMrG,GAAK,IAAMjB,GAAQ,SAASmzB,GACrDzhB,EAtRH,SAAyByhB,EAAO7rB,GAC/B,IAAItH,EAAOgwB,GAAYmD,EAAMnzB,OAASmzB,EAAMnzB,KACxC6sB,EAAM/f,EAAUke,oBAAoBmI,EAAO7rB,GAC/C,OAAO6pB,GAAYnxB,EAAMsH,EAAOulB,EAAIv4B,EAAGu4B,EAAIt4B,EAAG4+B,GAmRnCC,CAAgBD,EAAO7rB,WAjLnC,SAA2B3N,EAAM+X,EAAUpK,GAC1C,IAhGkB/V,EAAIyQ,EAClBqxB,EACA18B,EA8FAs7B,EAAUt4B,EAAgB,WAAMA,EAAgB,SAAI,IAGpD25B,EAAUrB,EAAQqB,QA1EvB,SAAuBnI,GACtB,IAIImI,EAAUjC,GA3KQkC,wBA4KlBC,EAASnC,GAAUoC,+BACnBC,EAASrC,GAAUoC,+BAEvBD,EAAOhQ,YAAY6N,MACnBqC,EAAOlQ,YAAY6N,MAEnBiC,EAAQ9P,YAAYgQ,GACpBF,EAAQ9P,YAAYkQ,GACpBJ,EAAQK,OAAS,WAChBH,EAAOI,WAdM,IAebJ,EAAOK,UAfM,IAgBbH,EAAOE,WAhBM,IAiBbF,EAAOG,UAjBM,KAoBd,IAAIC,EAAW,WACdR,EAAQK,SACRxI,KAMD,OAHA6F,GAAYwC,EAAQ,SAAUM,EAASC,KAAKP,EAAQ,WACpDxC,GAAY0C,EAAQ,SAAUI,EAASC,KAAKL,EAAQ,WAE7CJ,EA6CyBU,EAnGdziC,EAmGsC,WACvD,GAAI0gC,EAAQqB,QAAS,CACpB,IAAIW,EAAY3sB,EAAMzE,QAAQqxB,qBAAuBv6B,EAAKw6B,WACtDj8B,EAAI+7B,EAAYA,EAAUG,YAAc,EAC5C1iB,EAASyf,GAAY,SAAU7pB,IAC3B2sB,GAAaA,EAAUG,YAAcl8B,GAAKoP,EAAMyF,QAQnD2E,EAASyf,GAAY,SAAU7pB,MA/G9B+rB,GAAU,EACV18B,EAAO,GAEJ,WACNA,EAAOoD,MAAMC,UAAUC,MAAMC,KAAKtD,WAClCoL,EAAUA,GAAW7Q,KAEhBkiC,IACJA,GAAU,EACVvmB,EAAUsE,iBAAiBlX,KAAK8G,QAAQ,WACvCqyB,GAAU,EACV9hC,EAAG0Q,MAAMD,EAASrL,WA8CtB,SAAwBgD,EAAMwxB,GAC7B,IAAI8G,EAAUt4B,EAAgB,WAAMA,EAAgB,SAAI,IACpD06B,EAAQpC,EAAQqC,YAAc,SAASzjC,GAvMjB0iC,6BAwMrB1iC,EAAE0jC,eACLpJ,KAIFre,EAAU5K,KAAK6tB,IAAwB,SAAS/vB,GAC/CgxB,GAAYr3B,EAAMqG,EAAMq0B,MAQzBpC,EAAQuC,SAAW76B,EAAK86B,aAExB96B,EAAK+6B,UAAUC,IAzNSpB,0BAmQxBqB,CAAej7B,GAAM,WACpB,GAAIs4B,EAAQqB,QAAS,CACpB,IAAIW,EAAYt6B,EAAKw6B,WACjBF,GAAaA,IAAcX,EAAQa,YACtCF,EAAUY,aAAavB,EAASW,EAAUa,YAI3CxB,EAAQK,aA0IRoB,CAAkBhoB,EAAQ2E,EAAUpK,IAatC4pB,oBAAqB,SAAS5pB,EAAOtH,EAAM0R,GAC1C,IAnJ4B/X,EACzBs4B,EACAqB,EAiJCvmB,EAASzF,EAAMyF,OACnB,GAAa,WAAT/M,EAAJ,CAMA,IAEIq0B,IAFU3iB,EAAoB,UAAK,IACjBwhB,SAAW,IACb5rB,EAAMrG,GAAK,IAAMjB,GAChCq0B,GAILpD,GAAelkB,EAAQ/M,EAAMq0B,QA/J1Bf,GADArB,GADyBt4B,EAsJNoT,GArJO,UAAK,IACbumB,eAEfrB,EAAQqB,QAxDhB,SAA0B35B,GACzB,IAAIs4B,EAAUt4B,EAAgB,UAAK,GAC/B06B,EAAQpC,EAAQqC,YAEhBD,IACHvnB,EAAU5K,KAAK6tB,IAAwB,SAAS/vB,GAC/CixB,GAAet3B,EAAMqG,EAAMq0B,aAGrBpC,EAAQqC,aAGhB36B,EAAK+6B,UAAUM,OAxOSzB,0BAqRxB0B,CAAiBt7B,GAEb25B,GAAWA,EAAQa,YACtBb,EAAQa,WAAWe,YAAY5B,KAwKjCxmB,EAAUqoB,SAAWnE,GAWrBlkB,EAAUsoB,YAAcnE,GAGxB,IAOIoE,GAAWvoB,EAAUzJ,OAAO,CAI/BiL,WAAY,aASZ+jB,eAAgB,aAQhBW,eAAgB,aAShBlC,iBAAkB,aAQlBI,oBAAqB,cA7CDO,GAAeE,SAAWF,GAre1B,CACpBY,eAAgB,SAAS7tB,GAMxB,OALIA,GAAQA,EAAKuI,SAEhBvI,EAAOA,EAAKuI,QAGNvI,GAAQA,EAAK+tB,WAAW,OAAS,QA+gB1CtnB,EAAcR,KAAK,SAAU,CAC5B6qB,QAAS,KAQV,IAAIC,GAAe,CAKlBC,SAAU,GAQVC,SAAU,EAMVC,SAAU,SAASJ,GAClB,IAAI//B,EAAIpE,KAAKqkC,SACb,GAAKp4B,OAAOk4B,GAASt8B,SAAQ,SAAS28B,IACV,IAAvBpgC,EAAE+O,QAAQqxB,IACbpgC,EAAE+W,KAAKqpB,MAITxkC,KAAKskC,YAONG,WAAY,SAASN,GACpB,IAAI//B,EAAIpE,KAAKqkC,SACb,GAAKp4B,OAAOk4B,GAASt8B,SAAQ,SAAS28B,GACrC,IAAIE,EAAMtgC,EAAE+O,QAAQqxB,IACP,IAATE,GACHtgC,EAAE4b,OAAO0kB,EAAK,MAIhB1kC,KAAKskC,YAONpuB,MAAO,WACNlW,KAAKqkC,SAAW,GAChBrkC,KAAKskC,YAQNte,MAAO,WACN,OAAOhmB,KAAKqkC,SAAS1iC,QAQtBgjC,OAAQ,WACP,OAAO3kC,KAAKqkC,UAYbO,OAAQ,SAASzuB,EAAO0uB,EAAMr/B,GAC7B,IAEI1B,EAAGghC,EAAYN,EAAQzI,EAAQvY,EAF/BuhB,EAAc/kC,KAAK+kC,YAAY5uB,GAC/B9E,EAAO0zB,EAAYpjC,OAGvB,IAAKmC,EAAI,EAAGA,EAAIuN,IAAQvN,EAIvB,GAAsB,mBADtB0f,GADAghB,GADAM,EAAaC,EAAYjhC,IACL0gC,QACJK,OAEf9I,EAAS,CAAC5lB,GAAOlK,OAAOzG,GAAQ,KACzB2V,KAAK2pB,EAAWpzB,UACc,IAAjC8R,EAAO1S,MAAM0zB,EAAQzI,IACxB,OAAO,EAKV,OAAO,GAQRgJ,YAAa,SAAS5uB,GACrB,IAAI6uB,EAAQ7uB,EAAM8uB,WAAa9uB,EAAM8uB,SAAW,IAChD,GAAID,EAAMl1B,KAAO9P,KAAKskC,SACrB,OAAOU,EAAMD,YAGd,IAAIZ,EAAU,GACVY,EAAc,GACd3O,EAAUjgB,GAASA,EAAMigB,QAAW,GACpC1kB,EAAW0kB,EAAO1kB,SAAW0kB,EAAO1kB,QAAQyyB,SAAY,GA2B5D,OAzBAnkC,KAAKqkC,SAASp4B,OAAOmqB,EAAO+N,SAAW,IAAIt8B,SAAQ,SAAS28B,GAE3D,IAAa,IADHL,EAAQhxB,QAAQqxB,GAC1B,CAIA,IAAI10B,EAAK00B,EAAO10B,GACZwjB,EAAO5hB,EAAQ5B,IACN,IAATwjB,KAIS,IAATA,IACHA,EAAO3X,EAAU/M,MAAMkL,EAAcza,OAAO8kC,QAAQr0B,KAGrDq0B,EAAQhpB,KAAKqpB,GACbO,EAAY5pB,KAAK,CAChBqpB,OAAQA,EACR9yB,QAAS4hB,GAAQ,UAInB0R,EAAMD,YAAcA,EACpBC,EAAMl1B,GAAK9P,KAAKskC,SACTS,GASRG,YAAa,SAAS/uB,UACdA,EAAM8uB,WAIXE,GAAoB,CAGvBC,aAAc,GAKd/rB,SAAU,GACVgsB,kBAAmB,SAASx2B,EAAMy2B,EAAkBC,GACnDvlC,KAAKolC,aAAav2B,GAAQy2B,EAC1BtlC,KAAKqZ,SAASxK,GAAQ8M,EAAU/M,MAAM22B,IAEvCC,oBAAqB,SAAS32B,GAC7B,OAAO7O,KAAKolC,aAAanlC,eAAe4O,GAAQ7O,KAAKolC,aAAav2B,QAAQ7E,GAE3Ey7B,iBAAkB,SAAS52B,GAE1B,OAAO7O,KAAKqZ,SAASpZ,eAAe4O,GAAQ8M,EAAU9J,MAAM,GAAI,CAACiI,EAAcjP,MAAO7K,KAAKqZ,SAASxK,KAAU,IAE/G62B,oBAAqB,SAAS72B,EAAM82B,GAC1B3lC,KACFqZ,SAASpZ,eAAe4O,KADtB7O,KAELqZ,SAASxK,GAAQ8M,EAAUzJ,OAFtBlS,KAEgCqZ,SAASxK,GAAO82B,KAG1DC,kBAAmB,SAASzvB,GAE3BwF,EAAU5K,KAAKoF,EAAMmL,QAAQ,SAASzW,GAErCA,EAAMkyB,UAAYlyB,EAAM6G,QAAQqrB,UAChClyB,EAAM+lB,SAAW/lB,EAAM6G,QAAQkf,SAC/B/lB,EAAM2D,OAAS3D,EAAM6G,QAAQlD,OAC7B0uB,GAAaC,OAAOhnB,EAAOtL,QAK1Bg7B,GAAmBlqB,EAAUlL,eAC7Bq1B,GAAenqB,EAAUI,IAAIC,cAEjClC,EAAcR,KAAK,SAAU,CAC5BuX,SAAU,CACTkV,SAAS,EACTnhB,OAAQ,KACR+H,KAAM,UACNiE,SAAU,UACVyJ,WAAW,EACX9V,gBAAiB,kBACjByhB,eAAgB,OAChBC,aAAc,EACdC,kBAAmB,EACnBC,eAAgB,OAChBC,WAAY,OACZC,YAAa,EACbC,cAAe,OACfC,UAAW,OACXC,gBAAiB,OACjBC,cAAe,EACfC,gBAAiB,EACjBC,gBAAiB,OACjBC,YAAa,OACbC,SAAU,EACVC,SAAU,EACVC,aAAc,EACdC,UAAW,EACXxvB,aAAc,EACdyvB,mBAAoB,OACpBC,eAAe,EACf1iB,YAAa,gBACba,YAAa,EACbyL,UAAW,CAEVqW,YAAaxrB,EAAU1L,KACvB8gB,MAAO,SAASqW,EAActlB,GAC7B,IAAIiP,EAAQ,GACRrwB,EAASohB,EAAKphB,OACd2mC,EAAa3mC,EAASA,EAAOiB,OAAS,EAE1C,GAAIylC,EAAazlC,OAAS,EAAG,CAC5B,IAAI0R,EAAO+zB,EAAa,GACpB/zB,EAAKwa,MACRkD,EAAQ1d,EAAKwa,MACHxa,EAAK2d,OACfD,EAAQ1d,EAAK2d,OACHqW,EAAa,GAAKh0B,EAAK1D,MAAQ03B,IACzCtW,EAAQrwB,EAAO2S,EAAK1D,QAItB,OAAOohB,GAERuW,WAAY3rB,EAAU1L,KAGtBs3B,WAAY5rB,EAAU1L,KAGtBu3B,YAAa7rB,EAAU1L,KACvB4d,MAAO,SAASkF,EAAajR,GAC5B,IAAI+L,EAAQ/L,EAAKC,SAASgR,EAAYnS,cAAciN,OAAS,GAU7D,OARIA,IACHA,GAAS,MAELlS,EAAUxL,cAAc4iB,EAAYjxB,OAGxC+rB,GAASkF,EAAY9B,OAFrBpD,GAASkF,EAAYjxB,MAIf+rB,GAER4Z,WAAY,SAAS1U,EAAa5c,GACjC,IAEI0H,EAFO1H,EAAM6L,eAAe+Q,EAAYnS,cACnBkB,KAAKiR,EAAYpjB,OACjB4N,MACzB,MAAO,CACNiH,YAAa3G,EAAK2G,YAClBD,gBAAiB1G,EAAK0G,kBAGxBmjB,eAAgB,WACf,OAAO1nC,KAAKwxB,SAAS8U,eAEtBqB,WAAYhsB,EAAU1L,KAGtB23B,UAAWjsB,EAAU1L,KAGrB43B,aAAclsB,EAAU1L,KACxB63B,OAAQnsB,EAAU1L,KAClB83B,YAAapsB,EAAU1L,SAK1B,IAAI+3B,GAAc,CAOjBC,QAAS,SAAS/jB,GACjB,IAAKA,EAASviB,OACb,OAAO,EAGR,IAAImC,EAAGmE,EACH9E,EAAI,EACJC,EAAI,EACJ4iB,EAAQ,EAEZ,IAAKliB,EAAI,EAAGmE,EAAMic,EAASviB,OAAQmC,EAAImE,IAAOnE,EAAG,CAChD,IAAIs8B,EAAKlc,EAASpgB,GAClB,GAAIs8B,GAAMA,EAAGhiB,WAAY,CACxB,IAAIsd,EAAM0E,EAAGjiB,kBACbhb,GAAKu4B,EAAIv4B,EACTC,GAAKs4B,EAAIt4B,IACP4iB,GAIJ,MAAO,CACN7iB,EAAGA,EAAI6iB,EACP5iB,EAAGA,EAAI4iB,IAWTsV,QAAS,SAASpX,EAAUgkB,GAC3B,IAGIpkC,EAAGmE,EAAKkgC,EAHRhlC,EAAI+kC,EAAc/kC,EAClBC,EAAI8kC,EAAc9kC,EAClBm3B,EAAc/pB,OAAOgqB,kBAGzB,IAAK12B,EAAI,EAAGmE,EAAMic,EAASviB,OAAQmC,EAAImE,IAAOnE,EAAG,CAChD,IAAIs8B,EAAKlc,EAASpgB,GAClB,GAAIs8B,GAAMA,EAAGhiB,WAAY,CACxB,IAAIoQ,EAAS4R,EAAGxY,iBACZwgB,EAAIzsB,EAAU0sB,sBAAsBH,EAAe1Z,GAEnD4Z,EAAI7N,IACPA,EAAc6N,EACdD,EAAiB/H,IAKpB,GAAI+H,EAAgB,CACnB,IAAIG,EAAKH,EAAehqB,kBACxBhb,EAAImlC,EAAGnlC,EACPC,EAAIklC,EAAGllC,EAGR,MAAO,CACND,EAAGA,EACHC,EAAGA,KAMN,SAASmlC,GAAa9kB,EAAM+kB,GAU3B,OATIA,IACC7sB,EAAUvL,QAAQo4B,GAErB5/B,MAAMC,UAAUsS,KAAKrK,MAAM2S,EAAM+kB,GAEjC/kB,EAAKtI,KAAKqtB,IAIL/kB,EASR,SAASglB,GAAcz9B,GACtB,OAAoB,iBAARA,GAAoBA,aAAe09B,SAAW19B,EAAImI,QAAQ,OAAS,EACvEnI,EAAI3E,MAAM,MAEX2E,EAkCR,SAAS29B,GAAaC,GACrB,IAAIxuB,EAAiBN,EAAcza,OAEnC,MAAO,CAENynC,SAAU8B,EAAY9B,SACtBD,SAAU+B,EAAY/B,SACtBgC,OAAQD,EAAYC,OACpBC,OAAQF,EAAYE,OAGpB/sB,IAAK6sB,EAAY7sB,IACjBgtB,cAAeH,EAAYG,cAG3BzC,cAAesC,EAAYtC,cAC3B0C,gBAAiBnD,GAAiB+C,EAAYK,eAAgB7uB,EAAeX,mBAC7EyvB,eAAgBrD,GAAiB+C,EAAYO,cAAe/uB,EAAeT,kBAC3EyvB,WAAYR,EAAYrC,UACxB8C,aAAcxD,GAAiB+C,EAAYS,aAAcjvB,EAAeV,iBACxE2sB,YAAauC,EAAYvC,YAGzBF,eAAgByC,EAAYzC,eAC5BmD,iBAAkBzD,GAAiB+C,EAAYW,gBAAiBnvB,EAAeX,mBAC/E+vB,gBAAiB3D,GAAiB+C,EAAY5C,eAAgB5rB,EAAeT,kBAC7E8vB,cAAe5D,GAAiB+C,EAAYa,cAAervB,EAAeV,iBAC1EgwB,YAAad,EAAYxC,WACzBH,aAAc2C,EAAY3C,aAC1BC,kBAAmB0C,EAAY1C,kBAG/BS,gBAAiBiC,EAAYjC,gBAC7BgD,kBAAmB9D,GAAiB+C,EAAYgB,iBAAkBxvB,EAAeX,mBACjFowB,iBAAkBhE,GAAiB+C,EAAYpC,gBAAiBpsB,EAAeT,kBAC/EmwB,eAAgBjE,GAAiB+C,EAAYkB,eAAgB1vB,EAAeV,iBAC5EqwB,aAAcnB,EAAYhC,YAC1BH,cAAemC,EAAYnC,cAC3BC,gBAAiBkC,EAAYlC,gBAG7BM,UAAW4B,EAAY5B,UACvBxvB,aAAcoxB,EAAYpxB,aAC1B+M,gBAAiBqkB,EAAYrkB,gBAC7BylB,QAAS,EACTC,sBAAuBrB,EAAY3B,mBACnCC,cAAe0B,EAAY1B,cAC3B1iB,YAAaokB,EAAYpkB,YACzBa,YAAaujB,EAAYvjB,aAuM3B,SAAS6kB,GAAY9iB,EAAIhL,GACxB,MAAiB,WAAVA,EACJgL,EAAGjkB,EAAIikB,EAAG9Q,MAAQ,EACR,UAAV8F,EACCgL,EAAGjkB,EAAIikB,EAAG9Q,MAAQ8Q,EAAG0f,SACrB1f,EAAGjkB,EAAIikB,EAAG0f,SAMf,SAASqD,GAAwBv5B,GAChC,OAAO23B,GAAa,GAAIE,GAAc73B,IAGvC,IAohBIw5B,GAphBY9rB,EAAapM,OAAO,CACnCiL,WAAY,WACXnd,KAAKwd,OAASmrB,GAAa3oC,KAAKwxB,UAChCxxB,KAAKqqC,YAAc,IAKpBC,SAAU,WACT,IAAI93B,EAAKxS,KACLszB,EAAO9gB,EAAGgf,SACVV,EAAYwC,EAAKxC,UAEjBqW,EAAcrW,EAAUqW,YAAYr2B,MAAM0B,EAAI/M,WAC9CsrB,EAAQD,EAAUC,MAAMjgB,MAAM0B,EAAI/M,WAClC6hC,EAAaxW,EAAUwW,WAAWx2B,MAAM0B,EAAI/M,WAE5C8kC,EAAQ,GAKZ,OAJAA,EAAQhC,GAAagC,EAAO9B,GAActB,IAC1CoD,EAAQhC,GAAagC,EAAO9B,GAAc1X,IAClCwX,GAAagC,EAAO9B,GAAcnB,KAM3CkD,cAAe,WACd,OAAOL,GAAwBnqC,KAAKwxB,SAASV,UAAUyW,WAAWz2B,MAAM9Q,KAAMyF,aAI/EglC,QAAS,SAASrD,EAActlB,GAC/B,IAAItP,EAAKxS,KACL8wB,EAAYte,EAAGgf,SAASV,UACxB4Z,EAAY,GAehB,OAbA/uB,EAAU5K,KAAKq2B,GAAc,SAASrU,GACrC,IAAI4X,EAAW,CACdC,OAAQ,GACRL,MAAO,GACPM,MAAO,IAERtC,GAAaoC,EAASC,OAAQnC,GAAc3X,EAAU0W,YAAYz+B,KAAKyJ,EAAIugB,EAAajR,KACxFymB,GAAaoC,EAASJ,MAAOzZ,EAAUjD,MAAM9kB,KAAKyJ,EAAIugB,EAAajR,IACnEymB,GAAaoC,EAASE,MAAOpC,GAAc3X,EAAU6W,WAAW5+B,KAAKyJ,EAAIugB,EAAajR,KAEtF4oB,EAAUvvB,KAAKwvB,MAGTD,GAIRI,aAAc,WACb,OAAOX,GAAwBnqC,KAAKwxB,SAASV,UAAU8W,UAAU92B,MAAM9Q,KAAMyF,aAK9EslC,UAAW,WACV,IAAIv4B,EAAKxS,KACL8wB,EAAYte,EAAGgf,SAASV,UAExB+W,EAAe/W,EAAU+W,aAAa/2B,MAAM0B,EAAI/M,WAChDqiC,EAAShX,EAAUgX,OAAOh3B,MAAM0B,EAAI/M,WACpCsiC,EAAcjX,EAAUiX,YAAYj3B,MAAM0B,EAAI/M,WAE9C8kC,EAAQ,GAKZ,OAJAA,EAAQhC,GAAagC,EAAO9B,GAAcZ,IAC1C0C,EAAQhC,GAAagC,EAAO9B,GAAcX,IAClCS,GAAagC,EAAO9B,GAAcV,KAK3C/jB,OAAQ,SAAS6Y,GAChB,IA8BI/4B,EAAGmE,EAzYkBib,EACtBiO,EACAC,EACAzhB,EACAiR,EACA8R,EACAsY,EACAC,EAoWCz4B,EAAKxS,KACLszB,EAAO9gB,EAAGgf,SAKV0Z,EAAgB14B,EAAGgL,OACnB/b,EAAQ+Q,EAAGgL,OAASmrB,GAAarV,GACjC6X,EAAS34B,EAAG44B,QAEZtpB,EAAOtP,EAAGkQ,MAGV2oB,EAAY,CACfxC,OAAQqC,EAAcrC,OACtBC,OAAQoC,EAAcpC,QAEnBwC,EAAkB,CACrBnoC,EAAG+nC,EAAc/nC,EACjBC,EAAG8nC,EAAc9nC,GAEdmoC,EAAc,CACjBj1B,MAAO40B,EAAc50B,MACrBC,OAAQ20B,EAAc30B,QAEnB4H,EAAkB,CACrBhb,EAAG+nC,EAAcM,OACjBpoC,EAAG8nC,EAAcO,QAKlB,GAAIN,EAAOxpC,OAAQ,CAClBF,EAAMuoC,QAAU,EAEhB,IAAI0B,EAAc,GACdC,EAAkB,GACtBxtB,EAAkB6pB,GAAY1U,EAAK1C,UAAU7nB,KAAKyJ,EAAI24B,EAAQ34B,EAAGo5B,gBAEjE,IAAIxE,EAAe,GACnB,IAAKtjC,EAAI,EAAGmE,EAAMkjC,EAAOxpC,OAAQmC,EAAImE,IAAOnE,EAC3CsjC,EAAajsB,MAnZZgW,SACAC,SAGAsB,SACAsY,SACAC,SANA9Z,GADsBjO,EAoZaioB,EAAOrnC,IAnZzB4pB,QACjB0D,EAASlO,EAAQyK,SAAWzK,EAAQsT,OACpC7mB,EAAQuT,EAAQH,OAGhBioB,GADAtY,EAAaxP,EAAQN,OAAOZ,eAD5BpB,EAAesC,EAAQL,eACkC6P,YACjCpQ,iBACxB2oB,EAAavY,EAAWrQ,iBAErB,CACN2O,OAAQG,EAASA,EAAO0a,iBAAiBl8B,EAAOiR,GAAgB,GAChEqQ,OAAQG,EAASA,EAAOya,iBAAiBl8B,EAAOiR,GAAgB,GAChEiN,MAAOmd,EAAa,GAAKA,EAAWa,iBAAiBl8B,EAAOiR,GAAgB,GAC5E9e,MAAOmpC,EAAa,GAAKA,EAAWY,iBAAiBl8B,EAAOiR,GAAgB,GAC5EjR,MAAOA,EACPiR,aAAcA,EACdzd,EAAG+f,EAAQ1F,OAAOra,EAClBC,EAAG8f,EAAQ1F,OAAOpa,KAuYbkwB,EAAKiE,SACR6P,EAAeA,EAAa7P,QAAO,SAAStyB,GAC3C,OAAOquB,EAAKiE,OAAOtyB,EAAG6c,OAKpBwR,EAAKwY,WACR1E,EAAeA,EAAahsB,MAAK,SAASnW,EAAG9C,GAC5C,OAAOmxB,EAAKwY,SAAS7mC,EAAG9C,EAAG2f,OAK7BnG,EAAU5K,KAAKq2B,GAAc,SAASrU,GACrC2Y,EAAYvwB,KAAKmY,EAAKxC,UAAU2W,WAAW1+B,KAAKyJ,EAAIugB,EAAavgB,EAAGoQ,SACpE+oB,EAAgBxwB,KAAKmY,EAAKxC,UAAU4W,eAAe3+B,KAAKyJ,EAAIugB,EAAavgB,EAAGoQ,YAK7EnhB,EAAMsvB,MAAQve,EAAG83B,SAASlD,EAActlB,GACxCrgB,EAAM8lC,WAAa/0B,EAAGg4B,cAAcpD,EAActlB,GAClDrgB,EAAMsqC,KAAOv5B,EAAGi4B,QAAQrD,EAActlB,GACtCrgB,EAAMmmC,UAAYp1B,EAAGs4B,aAAa1D,EAActlB,GAChDrgB,EAAMqmC,OAASt1B,EAAGu4B,UAAU3D,EAActlB,GAG1CrgB,EAAM0B,EAAIgb,EAAgBhb,EAC1B1B,EAAM2B,EAAI+a,EAAgB/a,EAC1B3B,EAAMslC,aAAezT,EAAKyT,aAC1BtlC,EAAMiqC,YAAcA,EACpBjqC,EAAMkqC,gBAAkBA,EAGxBlqC,EAAMuqC,WAAa5E,EAGnBmE,EA9WH,SAAwBU,EAASxqC,GAChC,IAAI2U,EAAM61B,EAAQrpB,OAAOxM,IAErBG,EAA0B,EAAjB9U,EAAMolC,SACfvwB,EAAQ,EAGRy1B,EAAOtqC,EAAMsqC,KACbG,EAAqBH,EAAKI,QAAO,SAASnmB,EAAO2kB,GACpD,OAAO3kB,EAAQ2kB,EAASC,OAAOjpC,OAASgpC,EAASJ,MAAM5oC,OAASgpC,EAASE,MAAMlpC,SAC7E,GAGCyqC,EAAiB3qC,EAAMsvB,MAAMpvB,OAC7B0qC,EAAkB5qC,EAAMqmC,OAAOnmC,OAC/B8nC,EAAgBhoC,EAAMgoC,cACtBJ,EAAe5nC,EAAM4nC,aACrBS,EAAiBroC,EAAMqoC,eAE3BvzB,GAAU61B,EAAiB3C,EAC3BlzB,GAAU61B,GAAkBA,EAAiB,GAAK3qC,EAAMwkC,aAAe,EACvE1vB,GAAU61B,EAAiB3qC,EAAMykC,kBAAoB,EACrD3vB,IAXA21B,GAAsBzqC,EAAM8lC,WAAW5lC,OAASF,EAAMmmC,UAAUjmC,QAWjC0nC,EAC/B9yB,GAAU21B,GAAsBA,EAAqB,GAAKzqC,EAAM4kC,YAAc,EAC9E9vB,GAAU81B,EAAkB5qC,EAAMilC,gBAAkB,EACpDnwB,GAAU81B,EAAkB,EAC5B91B,GAAU81B,GAAmBA,EAAkB,GAAK5qC,EAAMglC,cAAgB,EAG1E,IAAI6F,EAAe,EACfC,EAAe,SAAS3jB,GAC3BtS,EAAQjU,KAAKC,IAAIgU,EAAOF,EAAIo2B,YAAY5jB,GAAMtS,MAAQg2B,IA4BvD,OAzBAl2B,EAAIkE,KAAOqB,EAAU8wB,WAAWhD,EAAehoC,EAAM+nC,gBAAiB/nC,EAAM6nC,kBAC5E3tB,EAAU5K,KAAKtP,EAAMsvB,MAAOwb,GAG5Bn2B,EAAIkE,KAAOqB,EAAU8wB,WAAWpD,EAAc5nC,EAAMynC,eAAgBznC,EAAMunC,iBAC1ErtB,EAAU5K,KAAKtP,EAAM8lC,WAAWt7B,OAAOxK,EAAMmmC,WAAY2E,GAGzDD,EAAe7qC,EAAMylC,cAAiBmC,EAAe,EAAK,EAC1D1tB,EAAU5K,KAAKg7B,GAAM,SAASpB,GAC7BhvB,EAAU5K,KAAK45B,EAASC,OAAQ2B,GAChC5wB,EAAU5K,KAAK45B,EAASJ,MAAOgC,GAC/B5wB,EAAU5K,KAAK45B,EAASE,MAAO0B,MAIhCD,EAAe,EAGfl2B,EAAIkE,KAAOqB,EAAU8wB,WAAW3C,EAAgBroC,EAAMooC,iBAAkBpoC,EAAMkoC,mBAC9EhuB,EAAU5K,KAAKtP,EAAMqmC,OAAQyE,GAKtB,CACNj2B,MAHDA,GAAS,EAAI7U,EAAMqlC,SAIlBvwB,OAAQA,GAiTOm2B,CAAe1sC,KAAMyB,GAGnC6pC,EApOH,SAA4BlkB,EAAI7P,EAAM8zB,EAAWl1B,GAEhD,IAAIhT,EAAIikB,EAAGjkB,EACPC,EAAIgkB,EAAGhkB,EAGP2jC,EAAe3f,EAAG2f,aAElB8B,EAASwC,EAAUxC,OACnBC,EAASuC,EAAUvC,OACnB6D,EALYvlB,EAAG4f,UAKcD,EAC7B6F,EAJexlB,EAAG5P,aAIgBuvB,EAkCtC,MAhCe,UAAX8B,EACH1lC,GAAKoU,EAAKjB,MACW,WAAXuyB,KACV1lC,GAAMoU,EAAKjB,MAAQ,GACXiB,EAAKjB,MAAQH,EAAMG,QAC1BnT,EAAIgT,EAAMG,MAAQiB,EAAKjB,OAEpBnT,EAAI,IACPA,EAAI,IAIS,QAAX2lC,EACH1lC,GAAKupC,EAELvpC,GADqB,WAAX0lC,EACLvxB,EAAKhB,OAASo2B,EAEbp1B,EAAKhB,OAAS,EAGN,WAAXuyB,EACY,SAAXD,EACH1lC,GAAKwpC,EACgB,UAAX9D,IACV1lC,GAAKwpC,GAEe,SAAX9D,EACV1lC,GAAKypC,EACgB,UAAX/D,IACV1lC,GAAKypC,GAGC,CACNzpC,EAAGA,EACHC,EAAGA,GAqLgBypC,CAAmBprC,EAAO8pC,EAF5CF,EA3SH,SAA4BY,EAAS10B,GACpC,IAYIu1B,EAAIC,EACJC,EAAKC,EACLC,EAdAzrC,EAAQwqC,EAAQzuB,OAChBrH,EAAQ81B,EAAQrpB,OAChB8H,EAAYuhB,EAAQrpB,OAAO8H,UAC3Bme,EAAS,SACTC,EAAS,SAETrnC,EAAM2B,EAAImU,EAAKhB,OAClBuyB,EAAS,MACCrnC,EAAM2B,EAAK+S,EAAMI,OAASgB,EAAKhB,SACzCuyB,EAAS,UAMV,IAAIqE,GAAQziB,EAAUhU,KAAOgU,EAAU9T,OAAS,EAC5Cw2B,GAAQ1iB,EAAU/T,IAAM+T,EAAU7T,QAAU,EAEjC,WAAXiyB,GACHgE,EAAK,SAAS3pC,GACb,OAAOA,GAAKgqC,GAEbJ,EAAK,SAAS5pC,GACb,OAAOA,EAAIgqC,KAGZL,EAAK,SAAS3pC,GACb,OAAOA,GAAMoU,EAAKjB,MAAQ,GAE3By2B,EAAK,SAAS5pC,GACb,OAAOA,GAAMgT,EAAMG,MAASiB,EAAKjB,MAAQ,IAI3C02B,EAAM,SAAS7pC,GACd,OAAOA,EAAIoU,EAAKjB,MAAQ7U,EAAMulC,UAAYvlC,EAAMslC,aAAe5wB,EAAMG,OAEtE22B,EAAM,SAAS9pC,GACd,OAAOA,EAAIoU,EAAKjB,MAAQ7U,EAAMulC,UAAYvlC,EAAMslC,aAAe,GAEhEmG,EAAK,SAAS9pC,GACb,OAAOA,GAAKgqC,EAAO,MAAQ,UAGxBN,EAAGrrC,EAAM0B,IACZ0lC,EAAS,OAGLmE,EAAIvrC,EAAM0B,KACb0lC,EAAS,SACTC,EAASoE,EAAGzrC,EAAM2B,KAET2pC,EAAGtrC,EAAM0B,KACnB0lC,EAAS,QAGLoE,EAAIxrC,EAAM0B,KACb0lC,EAAS,SACTC,EAASoE,EAAGzrC,EAAM2B,KAIpB,IAAIkwB,EAAO2Y,EAAQza,SACnB,MAAO,CACNqX,OAAQvV,EAAKuV,OAASvV,EAAKuV,OAASA,EACpCC,OAAQxV,EAAKwV,OAASxV,EAAKwV,OAASA,GAyOvBuE,CAAmBrtC,KAAMurC,GAE+B/4B,EAAGoQ,aAEvEnhB,EAAMuoC,QAAU,EAoBjB,OAjBAvoC,EAAMonC,OAASwC,EAAUxC,OACzBpnC,EAAMqnC,OAASuC,EAAUvC,OACzBrnC,EAAM0B,EAAImoC,EAAgBnoC,EAC1B1B,EAAM2B,EAAIkoC,EAAgBloC,EAC1B3B,EAAM6U,MAAQi1B,EAAYj1B,MAC1B7U,EAAM8U,OAASg1B,EAAYh1B,OAG3B9U,EAAM+pC,OAASrtB,EAAgBhb,EAC/B1B,EAAMgqC,OAASttB,EAAgB/a,EAE/BoP,EAAGgL,OAAS/b,EAERo7B,GAAWvJ,EAAK1O,QACnB0O,EAAK1O,OAAO7b,KAAKyJ,EAAI/Q,GAGf+Q,GAGR86B,UAAW,SAASC,EAAch2B,GACjC,IAAInB,EAAMpW,KAAK4iB,OAAOxM,IAElBo3B,EAAgBxtC,KAAKytC,iBAAiBF,EAAch2B,EAD/CvX,KAAKud,OAGdnH,EAAI2B,OAAOy1B,EAAc1iB,GAAI0iB,EAAcziB,IAC3C3U,EAAI2B,OAAOy1B,EAAczoC,GAAIyoC,EAAc1oC,IAC3CsR,EAAI2B,OAAOy1B,EAAcE,GAAIF,EAAcG,KAE5CF,iBAAkB,SAASF,EAAch2B,EAAM6P,GAC9C,IAAI0D,EAAI/lB,EAAI2oC,EAAI3iB,EAAIjmB,EAAI6oC,EACpB3G,EAAY5f,EAAG4f,UACfxvB,EAAe4P,EAAG5P,aAClBqxB,EAASzhB,EAAGyhB,OACZC,EAAS1hB,EAAG0hB,OACZ8E,EAAML,EAAapqC,EACnB0qC,EAAMN,EAAanqC,EACnBkT,EAAQiB,EAAKjB,MACbC,EAASgB,EAAKhB,OAElB,GAAe,WAAXuyB,EACHhkC,EAAK+oC,EAAOt3B,EAAS,EAEN,SAAXsyB,GAEH9jC,GADA+lB,EAAK8iB,GACK5G,EACV0G,EAAK5iB,EAELC,EAAKjmB,EAAKkiC,EACV2G,EAAK7oC,EAAKkiC,IAGVjiC,GADA+lB,EAAK8iB,EAAMt3B,GACD0wB,EACV0G,EAAK5iB,EAELC,EAAKjmB,EAAKkiC,EACV2G,EAAK7oC,EAAKkiC,QAgBX,GAbe,SAAX6B,GAEH/d,GADA/lB,EAAK6oC,EAAMp2B,EAAe,GAChBwvB,EACV0G,EAAK3oC,EAAKiiC,GACW,UAAX6B,GAEV/d,GADA/lB,EAAK6oC,EAAMt3B,EAAQkB,EAAewvB,GACxBA,EACV0G,EAAK3oC,EAAKiiC,IAGVlc,GADA/lB,EAAKqiB,EAAGokB,QACExE,EACV0G,EAAK3oC,EAAKiiC,GAEI,QAAX8B,EAEHhkC,GADAimB,EAAK8iB,GACK7G,EACV2G,EAAK5iB,MACC,CAENjmB,GADAimB,EAAK8iB,EAAMt3B,GACDywB,EACV2G,EAAK5iB,EAEL,IAAI+iB,EAAMJ,EACVA,EAAK5iB,EACLA,EAAKgjB,EAGP,MAAO,CAAChjB,GAAIA,EAAI/lB,GAAIA,EAAI2oC,GAAIA,EAAI3iB,GAAIA,EAAIjmB,GAAIA,EAAI6oC,GAAIA,IAGrDI,UAAW,SAASzW,EAAIlQ,EAAIhR,GAC3B,IAEIqzB,EAAexD,EAAcniC,EAF7BitB,EAAQ3J,EAAG2J,MACXpvB,EAASovB,EAAMpvB,OAGnB,GAAIA,EAAQ,CACX,IAAIqsC,EAAYlI,GAAa1e,EAAGrL,IAAKqL,EAAGjkB,EAAGikB,EAAG9Q,OAa9C,IAXAghB,EAAGn0B,EAAI+mC,GAAY9iB,EAAIA,EAAGsiB,aAE1BtzB,EAAI+F,UAAY6xB,EAAU7xB,UAAUiL,EAAGsiB,aACvCtzB,EAAI63B,aAAe,SAEnBxE,EAAgBriB,EAAGqiB,cACnBxD,EAAe7e,EAAG6e,aAElB7vB,EAAIgS,UAAYhB,EAAG+e,eACnB/vB,EAAIkE,KAAOqB,EAAU8wB,WAAWhD,EAAeriB,EAAGoiB,gBAAiBpiB,EAAGkiB,kBAEjExlC,EAAI,EAAGA,EAAInC,IAAUmC,EACzBsS,EAAI83B,SAASnd,EAAMjtB,GAAIkqC,EAAU7qC,EAAEm0B,EAAGn0B,GAAIm0B,EAAGl0B,EAAIqmC,EAAgB,GACjEnS,EAAGl0B,GAAKqmC,EAAgBxD,EAEpBniC,EAAI,IAAMnC,IACb21B,EAAGl0B,GAAKgkB,EAAG8e,kBAAoBD,KAMnCkI,SAAU,SAAS7W,EAAIlQ,EAAIhR,GAC1B,IAeIu0B,EAAUyD,EAAW1C,EAAanB,EAAOzmC,EAAGsvB,EAAG/hB,EAAM6oB,EAfrDmP,EAAejiB,EAAGiiB,aAClBhD,EAAcjf,EAAGif,YACjBE,EAAYnf,EAAGgiB,WACf2C,EAAO3kB,EAAG2kB,KACVsC,EAAiBjnB,EAAG8f,cACpBoH,EAAe,EACfC,EAASF,EAAiBnE,GAAY9iB,EAAI,QAAU,EAEpD4mB,EAAYlI,GAAa1e,EAAGrL,IAAKqL,EAAGjkB,EAAGikB,EAAG9Q,OAE1Ck4B,EAAiB,SAAS5lB,GAC7BxS,EAAI83B,SAAStlB,EAAMolB,EAAU7qC,EAAEm0B,EAAGn0B,EAAImrC,GAAehX,EAAGl0B,EAAIimC,EAAe,GAC3E/R,EAAGl0B,GAAKimC,EAAehD,GAIpBoI,EAA0BT,EAAU7xB,UAAUoqB,GAiBlD,IAfAnwB,EAAI+F,UAAYoqB,EAChBnwB,EAAI63B,aAAe,SACnB73B,EAAIkE,KAAOqB,EAAU8wB,WAAWpD,EAAcjiB,EAAG8hB,eAAgB9hB,EAAG4hB,iBAEpE1R,EAAGn0B,EAAI+mC,GAAY9iB,EAAIqnB,GAGvBr4B,EAAIgS,UAAYhB,EAAGkf,cACnB3qB,EAAU5K,KAAKqW,EAAGmgB,WAAYiH,GAE9BF,EAAeD,GAA8C,UAA5BI,EAChB,WAAdlI,EAA0B8C,EAAe,EAAI,EAAMA,EAAe,EAClE,EAGEvlC,EAAI,EAAGuN,EAAO06B,EAAKpqC,OAAQmC,EAAIuN,IAAQvN,EAAG,CAS9C,IARA6mC,EAAWoB,EAAKjoC,GAEhB4nC,EAActkB,EAAGskB,YAAY5nC,GAE7BsS,EAAIgS,UAHJgmB,EAAYhnB,EAAGukB,gBAAgB7nC,GAI/B6X,EAAU5K,KAAK45B,EAASC,OAAQ4D,GAG3Bpb,EAAI,EAAG8G,GADZqQ,EAAQI,EAASJ,OACQ5oC,OAAQyxB,EAAI8G,IAAQ9G,EAAG,CAE/C,GAAIib,EAAgB,CACnB,IAAIK,EAAYV,EAAU7qC,EAAEorC,GAG5Bn4B,EAAIgS,UAAYhB,EAAG6iB,sBACnB7zB,EAAIgW,SAAS4hB,EAAU1xB,WAAWoyB,EAAWrF,GAAe/R,EAAGl0B,EAAGimC,EAAcA,GAGhFjzB,EAAImS,UAAY,EAChBnS,EAAIiS,YAAcqjB,EAAYlnB,YAC9BpO,EAAIu4B,WAAWX,EAAU1xB,WAAWoyB,EAAWrF,GAAe/R,EAAGl0B,EAAGimC,EAAcA,GAGlFjzB,EAAIgS,UAAYsjB,EAAYnnB,gBAC5BnO,EAAIgW,SAAS4hB,EAAU1xB,WAAW0xB,EAAU3xB,MAAMqyB,EAAW,GAAIrF,EAAe,GAAI/R,EAAGl0B,EAAI,EAAGimC,EAAe,EAAGA,EAAe,GAC/HjzB,EAAIgS,UAAYgmB,EAGjBI,EAAejE,EAAMnX,IAGtBzX,EAAU5K,KAAK45B,EAASE,MAAO2D,GAIhCF,EAAe,EAGf3yB,EAAU5K,KAAKqW,EAAGwgB,UAAW4G,GAC7BlX,EAAGl0B,GAAKijC,GAGTuI,WAAY,SAAStX,EAAIlQ,EAAIhR,GAC5B,IAEI0zB,EAAgBhmC,EAFhBgkC,EAAS1gB,EAAG0gB,OACZnmC,EAASmmC,EAAOnmC,OAGpB,GAAIA,EAAQ,CACX,IAAIqsC,EAAYlI,GAAa1e,EAAGrL,IAAKqL,EAAGjkB,EAAGikB,EAAG9Q,OAa9C,IAXAghB,EAAGn0B,EAAI+mC,GAAY9iB,EAAIA,EAAG2iB,cAC1BzS,EAAGl0B,GAAKgkB,EAAGsf,gBAEXtwB,EAAI+F,UAAY6xB,EAAU7xB,UAAUiL,EAAG2iB,cACvC3zB,EAAI63B,aAAe,SAEnBnE,EAAiB1iB,EAAG0iB,eAEpB1zB,EAAIgS,UAAYhB,EAAGuf,gBACnBvwB,EAAIkE,KAAOqB,EAAU8wB,WAAW3C,EAAgB1iB,EAAGyiB,iBAAkBziB,EAAGuiB,mBAEnE7lC,EAAI,EAAGA,EAAInC,IAAUmC,EACzBsS,EAAI83B,SAASpG,EAAOhkC,GAAIkqC,EAAU7qC,EAAEm0B,EAAGn0B,GAAIm0B,EAAGl0B,EAAI0mC,EAAiB,GACnExS,EAAGl0B,GAAK0mC,EAAiB1iB,EAAGqf,gBAK/BoI,eAAgB,SAASvX,EAAIlQ,EAAIhR,EAAKm1B,GACrCn1B,EAAIgS,UAAYhB,EAAG7C,gBACnBnO,EAAIiS,YAAcjB,EAAG5C,YACrBpO,EAAImS,UAAYnB,EAAG/B,YACnB,IAAIwjB,EAASzhB,EAAGyhB,OACZC,EAAS1hB,EAAG0hB,OACZ3lC,EAAIm0B,EAAGn0B,EACPC,EAAIk0B,EAAGl0B,EACPkT,EAAQi1B,EAAYj1B,MACpBC,EAASg1B,EAAYh1B,OACrBE,EAAS2Q,EAAG5P,aAEhBpB,EAAI0B,YACJ1B,EAAIU,OAAO3T,EAAIsT,EAAQrT,GACR,QAAX0lC,GACH9oC,KAAKstC,UAAUhW,EAAIiU,GAEpBn1B,EAAI2B,OAAO5U,EAAImT,EAAQG,EAAQrT,GAC/BgT,EAAI04B,iBAAiB3rC,EAAImT,EAAOlT,EAAGD,EAAImT,EAAOlT,EAAIqT,GACnC,WAAXqyB,GAAkC,UAAXD,GAC1B7oC,KAAKstC,UAAUhW,EAAIiU,GAEpBn1B,EAAI2B,OAAO5U,EAAImT,EAAOlT,EAAImT,EAASE,GACnCL,EAAI04B,iBAAiB3rC,EAAImT,EAAOlT,EAAImT,EAAQpT,EAAImT,EAAQG,EAAQrT,EAAImT,GACrD,WAAXuyB,GACH9oC,KAAKstC,UAAUhW,EAAIiU,GAEpBn1B,EAAI2B,OAAO5U,EAAIsT,EAAQrT,EAAImT,GAC3BH,EAAI04B,iBAAiB3rC,EAAGC,EAAImT,EAAQpT,EAAGC,EAAImT,EAASE,GACrC,WAAXqyB,GAAkC,SAAXD,GAC1B7oC,KAAKstC,UAAUhW,EAAIiU,GAEpBn1B,EAAI2B,OAAO5U,EAAGC,EAAIqT,GAClBL,EAAI04B,iBAAiB3rC,EAAGC,EAAGD,EAAIsT,EAAQrT,GACvCgT,EAAIY,YAEJZ,EAAI6B,OAEAmP,EAAG/B,YAAc,GACpBjP,EAAI8B,UAINiM,KAAM,WACL,IAAI/N,EAAMpW,KAAK4iB,OAAOxM,IAClBgR,EAAKpnB,KAAKud,MAEd,GAAmB,IAAf6J,EAAG4iB,QAAP,CAIA,IAAIuB,EAAc,CACjBj1B,MAAO8Q,EAAG9Q,MACVC,OAAQ6Q,EAAG7Q,QAER+gB,EAAK,CACRn0B,EAAGikB,EAAGjkB,EACNC,EAAGgkB,EAAGhkB,GAIH4mC,EAAU3nC,KAAK6nB,IAAI9C,EAAG4iB,QAAU,MAAQ,EAAI5iB,EAAG4iB,QAK/ChqC,KAAKwxB,SAASuU,UAFM3e,EAAG2J,MAAMpvB,QAAUylB,EAAGmgB,WAAW5lC,QAAUylB,EAAG2kB,KAAKpqC,QAAUylB,EAAGwgB,UAAUjmC,QAAUylB,EAAG0gB,OAAOnmC,UAGrHyU,EAAIsB,OACJtB,EAAI24B,YAAc/E,EAGlBhqC,KAAK6uC,eAAevX,EAAIlQ,EAAIhR,EAAKm1B,GAGjCjU,EAAGl0B,GAAKgkB,EAAGyf,SAEXlrB,EAAUI,IAAIU,sBAAsBrG,EAAKgR,EAAG2hB,eAG5C/oC,KAAK+tC,UAAUzW,EAAIlQ,EAAIhR,GAGvBpW,KAAKmuC,SAAS7W,EAAIlQ,EAAIhR,GAGtBpW,KAAK4uC,WAAWtX,EAAIlQ,EAAIhR,GAExBuF,EAAUI,IAAIiB,qBAAqB5G,EAAKgR,EAAG2hB,eAE3C3yB,EAAIyB,aAUNm3B,YAAa,SAAStvC,GACrB,IAEIm9B,EAFArqB,EAAKxS,KACL0R,EAAUc,EAAGgf,SAiCjB,OA9BAhf,EAAG63B,YAAc73B,EAAG63B,aAAe,GAGpB,aAAX3qC,EAAEmP,KACL2D,EAAG44B,QAAU,IAEb54B,EAAG44B,QAAU54B,EAAGoQ,OAAOqsB,0BAA0BvvC,EAAGgS,EAAQib,KAAMjb,GAC9DA,EAAQT,SACXuB,EAAG44B,QAAQn6B,YAKb4rB,GAAWlhB,EAAUzK,YAAYsB,EAAG44B,QAAS54B,EAAG63B,gBAI/C73B,EAAG63B,YAAc73B,EAAG44B,SAEhB15B,EAAQq0B,SAAWr0B,EAAQkT,UAC9BpS,EAAGo5B,eAAiB,CACnBzoC,EAAGzD,EAAEyD,EACLC,EAAG1D,EAAE0D,GAGNoP,EAAGwR,QAAO,GACVxR,EAAG8K,UAIEuf,KAUTuN,GAAapC,YAHOA,GAKpB,IAAIkH,GAAmBvzB,EAAUlL,eA4BjC,SAAS0+B,KACR,OAAOxzB,EAAU9J,MAAM,GAAI,GAAG/I,MAAMC,KAAKtD,WAAY,CACpDwM,OAAQ,SAAS3R,EAAKyO,EAAQD,EAAQ4C,GACrC,GAAY,UAARpR,GAA2B,UAARA,EAAiB,CACvC,IACIwD,EAAG+K,EAAMhE,EADTukC,EAAOtgC,EAAOxO,GAAKqB,OAOvB,IAJKoN,EAAOzO,KACXyO,EAAOzO,GAAO,IAGVwD,EAAI,EAAGA,EAAIsrC,IAAQtrC,EAEvB+K,EAAOqgC,IADPrkC,EAAQiE,EAAOxO,GAAKwD,IACU+K,KAAc,UAARvO,EAAkB,WAAa,UAE/DwD,GAAKiL,EAAOzO,GAAKqB,QACpBoN,EAAOzO,GAAK6a,KAAK,IAMjBQ,EAAU9J,MAAM9C,EAAOzO,GAAKwD,IAHxBiL,EAAOzO,GAAKwD,GAAG+K,MAAShE,EAAMgE,MAAQhE,EAAMgE,OAASE,EAAOzO,GAAKwD,GAAG+K,KAGxC,CAACs2B,GAAkBM,iBAAiB52B,GAAOhE,GAG3CA,QAIlC8Q,EAAUlK,QAAQnR,EAAKyO,EAAQD,EAAQ4C,MAW3C,SAAS29B,KACR,OAAO1zB,EAAU9J,MAAM,GAAI,GAAG/I,MAAMC,KAAKtD,WAAY,CACpDwM,OAAQ,SAAS3R,EAAKyO,EAAQD,EAAQ4C,GACrC,IAAIC,EAAO5C,EAAOzO,IAAQ,GACtBsR,EAAO9C,EAAOxO,GAEN,WAARA,EAEHyO,EAAOzO,GAAO6uC,GAAiBx9B,EAAMC,GACnB,UAARtR,EAEVyO,EAAOzO,GAAOqb,EAAU9J,MAAMF,EAAM,CAACwzB,GAAkBM,iBAAiB7zB,EAAK/C,MAAO+C,IAEpF+J,EAAUlK,QAAQnR,EAAKyO,EAAQD,EAAQ4C,MAuB3C,SAAS49B,GAAan5B,GACrB,IAAIo5B,EAAap5B,EAAMzE,QAEvBiK,EAAU5K,KAAKoF,EAAMmL,QAAQ,SAASzW,GACrCqyB,GAAaG,UAAUlnB,EAAOtL,MAG/B0kC,EAAaF,GACZv1B,EAAcza,OACdya,EAAc3D,EAAMigB,OAAOvnB,MAC3B0gC,GAEDp5B,EAAMzE,QAAUyE,EAAMigB,OAAO1kB,QAAU69B,EACvCp5B,EAAMq5B,sBACNr5B,EAAMs5B,sBAGNt5B,EAAM81B,QAAQza,SAAW+d,EAAW1e,SACpC1a,EAAM81B,QAAQ9uB,aAGf,SAASuyB,GAAqBC,EAAUC,EAAQjgC,GAC/C,IAAIG,EACA+/B,EAAQ,SAAS1kC,GACpB,OAAOA,EAAI2E,KAAOA,GAGnB,GACCA,EAAK8/B,EAASjgC,UACNgM,EAAUoE,UAAU4vB,EAAUE,IAAU,GAEjD,OAAO//B,EAGR,SAASggC,GAAqBlf,GAC7B,MAAoB,QAAbA,GAAmC,WAAbA,EAG9B,SAASmf,GAAcC,EAAIC,GAC1B,OAAO,SAAShrC,EAAG9C,GAClB,OAAO8C,EAAE+qC,KAAQ7tC,EAAE6tC,GAChB/qC,EAAEgrC,GAAM9tC,EAAE8tC,GACVhrC,EAAE+qC,GAAM7tC,EAAE6tC,IAhJfl2B,EAAcR,KAAK,SAAU,CAC5B4K,SAAU,GACVgsB,OAAQ,CACP,YACA,WACA,QACA,aACA,aAEDzrB,MAAO,CACN0rB,QAAS,KACTxjB,KAAM,UACN0N,WAAW,EACX+V,kBAAmB,KAEpBxd,QAAS,KACTmQ,qBAAqB,EACrBsN,YAAY,EACZC,4BAA6B,IAkI9B,IAAIxwC,GAAQ,SAASuT,EAAM+iB,GAE1B,OADAp2B,KAAKuwC,UAAUl9B,EAAM+iB,GACdp2B,MAGR2b,EAAUzJ,OAAOpS,GAAM+I,UAA+B,CAIrD0nC,UAAW,SAASl9B,EAAM+iB,GACzB,IAAI5jB,EAAKxS,KAETo2B,EA3EF,SAAoBA,GAKnB,IAAItU,GAJJsU,EAASA,GAAU,IAIDtU,KAAOsU,EAAOtU,MAAQ,GASxC,OARAA,EAAKC,SAAWD,EAAKC,UAAY,GACjCD,EAAKphB,OAASohB,EAAKphB,QAAU,GAE7B01B,EAAO1kB,QAAU29B,GAChBv1B,EAAcza,OACdya,EAAcsc,EAAOvnB,MACrBunB,EAAO1kB,SAAW,IAEZ0kB,EA6DGoa,CAAWpa,GAEpB,IAAItb,EAAUopB,GAAShD,eAAe7tB,EAAM+iB,GACxCxa,EAASd,GAAWA,EAAQc,OAC5BrF,EAASqF,GAAUA,EAAOrF,OAC1BD,EAAQsF,GAAUA,EAAOtF,MAE7B9D,EAAG1C,GAAK6L,EAAUzL,MAClBsC,EAAG4D,IAAM0E,EACTtI,EAAGoJ,OAASA,EACZpJ,EAAG4jB,OAASA,EACZ5jB,EAAG8D,MAAQA,EACX9D,EAAG+D,OAASA,EACZ/D,EAAGkvB,YAAcnrB,EAASD,EAAQC,EAAS,KAC3C/D,EAAGd,QAAU0kB,EAAO1kB,QACpBc,EAAGi+B,iBAAkB,EACrBj+B,EAAG4qB,QAAU,GAUb5qB,EAAG2D,MAAQ3D,EACXA,EAAGkgB,WAAalgB,EAGhB1S,GAAM4wC,UAAUl+B,EAAG1C,IAAM0C,EAGzB5Q,OAAOC,eAAe2Q,EAAI,OAAQ,CACjCsM,IAAK,WACJ,OAAOtM,EAAG4jB,OAAOtU,MAElB/C,IAAK,SAASjd,GACb0Q,EAAG4jB,OAAOtU,KAAOhgB,KAIdgZ,GAAYc,GASjBpJ,EAAG2K,aACH3K,EAAGwR,UALF/U,QAAQC,MAAM,sEAWhBiO,WAAY,WACX,IAAI3K,EAAKxS,KAmBT,OAhBAokC,GAAaQ,OAAOpyB,EAAI,cAExBmJ,EAAUg1B,YAAYn+B,EAAIA,EAAGd,QAAQk/B,kBAErCp+B,EAAGq+B,aAECr+B,EAAGd,QAAQ2+B,YAEd79B,EAAGs+B,QAAO,GAGXt+B,EAAGu+B,cAGH3M,GAAaQ,OAAOpyB,EAAI,aAEjBA,GAGR0D,MAAO,WAEN,OADAyF,EAAUC,OAAO1F,MAAMlW,MAChBA,MAGRgxC,KAAM,WAGL,OADA5xB,EAAgBU,gBAAgB9f,MACzBA,MAGR8wC,OAAQ,SAASG,GAChB,IAAIz+B,EAAKxS,KACL0R,EAAUc,EAAGd,QACbkK,EAASpJ,EAAGoJ,OACZ8lB,EAAehwB,EAAQqxB,qBAAuBvwB,EAAGkvB,aAAgB,KAMjEzF,EAAW55B,KAAKC,IAAI,EAAGD,KAAK6B,MAAMyX,EAAUu1B,gBAAgBt1B,KAC5DsgB,EAAY75B,KAAKC,IAAI,EAAGD,KAAK6B,MAAMw9B,EAAczF,EAAWyF,EAAc/lB,EAAUw1B,iBAAiBv1B,KAEzG,IAAIpJ,EAAG8D,QAAU2lB,GAAYzpB,EAAG+D,SAAW2lB,KAI3CtgB,EAAOtF,MAAQ9D,EAAG8D,MAAQ2lB,EAC1BrgB,EAAOrF,OAAS/D,EAAG+D,OAAS2lB,EAC5BtgB,EAAOzE,MAAMb,MAAQ2lB,EAAW,KAChCrgB,EAAOzE,MAAMZ,OAAS2lB,EAAY,KAElCvgB,EAAUg1B,YAAYn+B,EAAId,EAAQk/B,mBAE7BK,GAAQ,CAEZ,IAAIG,EAAU,CAAC96B,MAAO2lB,EAAU1lB,OAAQ2lB,GACxCkI,GAAaQ,OAAOpyB,EAAI,SAAU,CAAC4+B,IAG/B1/B,EAAQ2/B,UACX3/B,EAAQ2/B,SAAS7+B,EAAI4+B,GAGtB5+B,EAAGw+B,OACHx+B,EAAGwR,OAAO,CACT/E,SAAUvN,EAAQ4+B,gCAKrBd,oBAAqB,WACpB,IAAI99B,EAAU1R,KAAK0R,QACf4/B,EAAgB5/B,EAAQ4P,QAAU,GAClCiwB,EAAe7/B,EAAQ7G,MAE3B8Q,EAAU5K,KAAKugC,EAAc3vB,OAAO,SAAS6vB,EAAc7hC,GACrD6hC,EAAa1hC,KACjB0hC,EAAa1hC,GAAK4/B,GAAqB4B,EAAc3vB,MAAO,UAAWhS,OAIzEgM,EAAU5K,KAAKugC,EAAczvB,OAAO,SAAS4vB,EAAc9hC,GACrD8hC,EAAa3hC,KACjB2hC,EAAa3hC,GAAK4/B,GAAqB4B,EAAczvB,MAAO,UAAWlS,OAIrE4hC,IACHA,EAAazhC,GAAKyhC,EAAazhC,IAAM,UAOvC2/B,oBAAqB,WACpB,IAAIj9B,EAAKxS,KACL0R,EAAUc,EAAGd,QACb4P,EAAS9O,EAAG8O,QAAU,GACtB4Z,EAAQ,GACRwW,EAAU9vC,OAAOgG,KAAK0Z,GAAQ6qB,QAAO,SAAShhC,EAAK2E,GAEtD,OADA3E,EAAI2E,IAAM,EACH3E,IACL,IAECuG,EAAQ4P,SACX4Z,EAAQA,EAAMjvB,QACZyF,EAAQ4P,OAAOK,OAAS,IAAIrb,KAAI,SAASkrC,GACzC,MAAO,CAAC9/B,QAAS8/B,EAAcG,MAAO,WAAYC,UAAW,cAE7DlgC,EAAQ4P,OAAOO,OAAS,IAAIvb,KAAI,SAASmrC,GACzC,MAAO,CAAC//B,QAAS+/B,EAAcE,MAAO,SAAUC,UAAW,aAK1DlgC,EAAQ7G,OACXqwB,EAAM/f,KAAK,CACVzJ,QAASA,EAAQ7G,MACjB8mC,MAAO,eACPE,WAAW,EACXD,UAAW,cAIbj2B,EAAU5K,KAAKmqB,GAAO,SAAS7nB,GAC9B,IAAIk+B,EAAel+B,EAAK3B,QACpB5B,EAAKyhC,EAAazhC,GAClBgiC,EAAY5C,GAAiBqC,EAAa1iC,KAAMwE,EAAKs+B,OAErD7B,GAAqByB,EAAa3gB,YAAckf,GAAqBz8B,EAAKu+B,aAC7EL,EAAa3gB,SAAWvd,EAAKu+B,WAG9BF,EAAQ5hC,IAAM,EACd,IAAIjF,EAAQ,KACZ,GAAIiF,KAAMwR,GAAUA,EAAOxR,GAAIjB,OAASijC,GACvCjnC,EAAQyW,EAAOxR,IACT4B,QAAU6/B,EAChB1mC,EAAMuL,IAAM5D,EAAG4D,IACfvL,EAAMsL,MAAQ3D,MACR,CACN,IAAIu/B,EAAa5M,GAAkBK,oBAAoBsM,GACvD,IAAKC,EACJ,OAEDlnC,EAAQ,IAAIknC,EAAW,CACtBjiC,GAAIA,EACJjB,KAAMijC,EACNpgC,QAAS6/B,EACTn7B,IAAK5D,EAAG4D,IACRD,MAAO3D,IAER8O,EAAOzW,EAAMiF,IAAMjF,EAGpBA,EAAMmnC,oBAKF3+B,EAAKw+B,YACRr/B,EAAG3H,MAAQA,MAIb8Q,EAAU5K,KAAK2gC,GAAS,SAASO,EAAYniC,GACvCmiC,UACG3wB,EAAOxR,MAIhB0C,EAAG8O,OAASA,EAEZ6jB,GAAkBS,kBAAkB5lC,OAGrCkyC,yBAA0B,WACzB,IAGIpuC,EAAGuN,EAHHmB,EAAKxS,KACLmyC,EAAiB,GACjBpwB,EAAWvP,EAAGsP,KAAKC,SAGvB,IAAKje,EAAI,EAAGuN,EAAO0Q,EAASpgB,OAAQmC,EAAIuN,EAAMvN,IAAK,CAClD,IAAIyd,EAAUQ,EAASje,GACnBud,EAAO7O,EAAGwP,eAAele,GACzB+K,EAAO0S,EAAQ1S,MAAQ2D,EAAG4jB,OAAOvnB,KAUrC,GARIwS,EAAKxS,MAAQwS,EAAKxS,OAASA,IAC9B2D,EAAG4/B,mBAAmBtuC,GACtBud,EAAO7O,EAAGwP,eAAele,IAE1Bud,EAAKxS,KAAOA,EACZwS,EAAKgxB,MAAQ9wB,EAAQ8wB,OAAS,EAC9BhxB,EAAK1R,MAAQ7L,EAETud,EAAKqR,WACRrR,EAAKqR,WAAWtR,YAAYtd,GAC5Bud,EAAKqR,WAAWzR,iBACV,CACN,IAAIqxB,EAAkB9Y,GAAYnY,EAAKxS,MACvC,QAAwB7E,IAApBsoC,EACH,MAAM,IAAI5wC,MAAM,IAAM2f,EAAKxS,KAAO,0BAGnCwS,EAAKqR,WAAa,IAAI4f,EAAgB9/B,EAAI1O,GAC1CquC,EAAeh3B,KAAKkG,EAAKqR,aAI3B,OAAOyf,GAORI,cAAe,WACd,IAAI//B,EAAKxS,KACT2b,EAAU5K,KAAKyB,EAAGsP,KAAKC,UAAU,SAASR,EAASX,GAClDpO,EAAGwP,eAAepB,GAAc8R,WAAWnQ,UACzC/P,IAMJ+P,MAAO,WACNviB,KAAKuyC,gBACLvyC,KAAKisC,QAAQ9uB,cAGd6G,OAAQ,SAASoS,GAChB,IACItyB,EAAGuN,EADHmB,EAAKxS,KAiBT,GAdKo2B,GAA4B,iBAAXA,IAErBA,EAAS,CACRnX,SAAUmX,EACV5W,KAAM/Z,UAAU,KAIlB6pC,GAAa98B,GAIb4xB,GAAac,YAAY1yB,IAEuB,IAA5C4xB,GAAaQ,OAAOpyB,EAAI,gBAA5B,CAKAA,EAAGy5B,QAAQvpB,MAAQlQ,EAAGsP,KAGtB,IAAIqwB,EAAiB3/B,EAAG0/B,2BAGxB,IAAKpuC,EAAI,EAAGuN,EAAOmB,EAAGsP,KAAKC,SAASpgB,OAAQmC,EAAIuN,EAAMvN,IACrD0O,EAAGwP,eAAele,GAAG4uB,WAAWtP,wBAGjC5Q,EAAGggC,eAGChgC,EAAGd,QAAQsN,WAAaxM,EAAGd,QAAQsN,UAAUC,UAChDtD,EAAU5K,KAAKohC,GAAgB,SAASzf,GACvCA,EAAWnQ,WAIb/P,EAAGigC,iBAIHjgC,EAAGy5B,QAAQ9uB,aAIX3K,EAAGkgC,WAAa,GAGhBtO,GAAaQ,OAAOpyB,EAAI,eAExBA,EAAG4qB,QAAQhiB,KAAK20B,GAAc,IAAK,SAE/Bv9B,EAAGi+B,gBACNj+B,EAAGmgC,iBAAmB,CACrB1zB,SAAUmX,EAAOnX,SACjBnD,OAAQsa,EAAOta,OACf0D,KAAM4W,EAAO5W,MAGdhN,EAAGkM,OAAO0X,KASZoc,aAAc,WACb,IAAIhgC,EAAKxS,MAEuC,IAA5CokC,GAAaQ,OAAOpyB,EAAI,kBAI5B0qB,GAAalZ,OAAOhkB,KAAMA,KAAKsW,MAAOtW,KAAKuW,QAE3C/D,EAAG4qB,QAAU,GACbzhB,EAAU5K,KAAKyB,EAAGmqB,OAAO,SAASR,GAG7BA,EAAItY,YACPsY,EAAItY,aAELrR,EAAG4qB,QAAQjiB,KAAKrK,MAAM0B,EAAG4qB,QAASjB,EAAIiB,aACpC5qB,GAEHA,EAAG4qB,QAAQv1B,SAAQ,SAASwL,EAAM1D,GACjC0D,EAAKu/B,KAAOjjC,KAUby0B,GAAaQ,OAAOpyB,EAAI,oBACxB4xB,GAAaQ,OAAOpyB,EAAI,iBAQzBigC,eAAgB,WAGf,IAAwD,IAApDrO,GAAaQ,OAFR5kC,KAEmB,wBAA5B,CAIA,IAAK,IAAI8D,EAAI,EAAGuN,EANPrR,KAMiB8hB,KAAKC,SAASpgB,OAAQmC,EAAIuN,IAAQvN,EANnD9D,KAOL6yC,cAAc/uC,GAGlBsgC,GAAaQ,OAVJ5kC,KAUe,yBAQzB6yC,cAAe,SAASljC,GACvB,IACI0R,EADKrhB,KACKgiB,eAAerS,GACzBnK,EAAO,CACV6b,KAAMA,EACN1R,MAAOA,IAGuD,IAA3Dy0B,GAAaQ,OAPR5kC,KAOmB,sBAAuB,CAACwF,MAIpD6b,EAAKqR,WAAWlQ,UAEhB4hB,GAAaQ,OAbJ5kC,KAae,qBAAsB,CAACwF,MAGhDkZ,OAAQ,SAAS0X,GAChB,IAAI5jB,EAAKxS,KAEJo2B,GAA4B,iBAAXA,IAErBA,EAAS,CACRnX,SAAUmX,EACV5W,KAAM/Z,UAAU,KAIlB,IAAIqtC,EAAmBtgC,EAAGd,QAAQsN,UAC9BC,EAAWiwB,GAAiB9Y,EAAOnX,SAAU6zB,GAAoBA,EAAiB7zB,UAClFO,EAAO4W,EAAO5W,KAElB,IAAgD,IAA5C4kB,GAAaQ,OAAOpyB,EAAI,gBAA5B,CAIA,IAAI2M,EAAa,SAASH,GACzBolB,GAAaQ,OAAOpyB,EAAI,eACxBmJ,EAAU/K,SAASkiC,GAAoBA,EAAiB3zB,WAAY,CAACH,GAAYxM,IAGlF,GAAIsgC,GAAoB7zB,EAAU,CACjC,IAAID,EAAY,IAAIH,EAAe,CAClCJ,SAAUQ,EAAW,MACrBnD,OAAQsa,EAAOta,QAAUg3B,EAAiBh3B,OAE1C4C,OAAQ,SAASvI,EAAO48B,GACvB,IACIv0B,EAAcu0B,EAAgBv0B,YAC9Bw0B,EAAcx0B,EAAcu0B,EAAgBt0B,SAEhDtI,EAAMgO,MAAK8uB,EAJUt3B,EAAUG,OAAOrI,QAAQs/B,EAAgBj3B,SAIpCk3B,GAAcA,EAAax0B,IAGtDG,oBAAqBm0B,EAAiB5zB,WACtCN,oBAAqBO,IAGtBC,EAAgBG,aAAa/M,EAAIwM,EAAWC,EAAUO,QAEtDhN,EAAG2R,OAGHhF,EAAW,IAAIN,EAAe,CAACJ,SAAU,EAAGtI,MAAO3D,KAGpD,OAAOA,IAGR2R,KAAM,SAASF,GACd,IACIngB,EAAGovC,EADH1gC,EAAKxS,KAWT,GARAwS,EAAG0D,QAECyF,EAAUxL,cAAc8T,KAC3BA,EAAc,GAGfzR,EAAGkL,WAAWuG,KAEVzR,EAAG8D,OAAS,GAAK9D,EAAG+D,QAAU,KAI2B,IAAzD6tB,GAAaQ,OAAOpyB,EAAI,aAAc,CAACyR,IAA3C,CAQA,IADAivB,EAAS1gC,EAAG4qB,QACPt5B,EAAI,EAAGA,EAAIovC,EAAOvxC,QAAUuxC,EAAOpvC,GAAGL,GAAK,IAAKK,EACpDovC,EAAOpvC,GAAGqgB,KAAK3R,EAAGkY,WAMnB,IAHAlY,EAAG2gC,aAAalvB,GAGTngB,EAAIovC,EAAOvxC,SAAUmC,EAC3BovC,EAAOpvC,GAAGqgB,KAAK3R,EAAGkY,WAGnBlY,EAAG4gC,aAAanvB,GAEhBmgB,GAAaQ,OAAOpyB,EAAI,YAAa,CAACyR,MAMvCvG,WAAY,SAASuG,GAGpB,IAFA,IAESngB,EAAI,EAAGuN,GAFPrR,KAEkB8hB,KAAKC,UAAY,IAAIpgB,OAAQmC,EAAIuN,IAAQvN,EAF3D9D,KAGDqzB,iBAAiBvvB,IAHhB9D,KAIJgiB,eAAele,GAAG4uB,WAAWhV,WAAWuG,GAJpCjkB,KAQNisC,QAAQvuB,WAAWuG,IAMvBovB,uBAAwB,SAASC,GAChC,IAGIxvC,EAAGuN,EADHrI,EAAS,GAGb,IAAKlF,EAAI,EAAGuN,GALHrR,KACS8hB,KAAKC,UAAY,IAIPpgB,OAAQmC,EAAIuN,IAAQvN,EAC1CwvC,IANGtzC,KAMiBqzB,iBAAiBvvB,IACzCkF,EAAOmS,KAPAnb,KAOQgiB,eAAele,IAMhC,OAFAkF,EAAOoS,KAAK20B,GAAc,QAAS,UAE5B/mC,GAMRmuB,8BAA+B,WAC9B,OAAOn3B,KAAKqzC,wBAAuB,IAQpCF,aAAc,SAASlvB,GACtB,IACI0K,EAAU7qB,EAEd,IAAqE,IAAjEsgC,GAAaQ,OAHR5kC,KAGmB,qBAAsB,CAACikB,IAAnD,CAKA,IAAKngB,GADL6qB,EAPS3uB,KAOKm3B,iCACIx1B,OAAS,EAAGmC,GAAK,IAAKA,EAR/B9D,KASLuzC,YAAY5kB,EAAS7qB,GAAImgB,GAG7BmgB,GAAaQ,OAZJ5kC,KAYe,oBAAqB,CAACikB,MAQ/CsvB,YAAa,SAASlyB,EAAM4C,GAC3B,IACIze,EAAO,CACV6b,KAAMA,EACN1R,MAAO0R,EAAK1R,MACZsU,YAAaA,IAG+C,IAAzDmgB,GAAaQ,OAPR5kC,KAOmB,oBAAqB,CAACwF,MAIlD6b,EAAKqR,WAAWvO,KAAKF,GAErBmgB,GAAaQ,OAbJ5kC,KAae,mBAAoB,CAACwF,MAQ9C4tC,aAAc,SAASnvB,GACtB,IACIgoB,EADKjsC,KACQisC,QACbzmC,EAAO,CACVymC,QAASA,EACThoB,YAAaA,IAG+C,IAAzDmgB,GAAaQ,OAPR5kC,KAOmB,oBAAqB,CAACwF,MAIlDymC,EAAQ9nB,OAERigB,GAAaQ,OAbJ5kC,KAae,mBAAoB,CAACwF,MAO9CguC,kBAAmB,SAAS9zC,GAC3B,OAAOy7B,GAAiBC,MAAMC,OAAOr7B,KAAMN,IAG5C+zC,mBAAoB,SAAS/zC,GAC5B,OAAOy7B,GAAiBC,MAAMvN,MAAM7tB,KAAMN,EAAG,CAAC26B,WAAW,KAG1DqZ,mBAAoB,SAASh0C,GAC5B,OAAOy7B,GAAiBC,MAAM,UAAUp7B,KAAMN,EAAG,CAAC26B,WAAW,KAG9D4U,0BAA2B,SAASvvC,EAAGitB,EAAMjb,GAC5C,IAAI8R,EAAS2X,GAAiBC,MAAMzO,GACpC,MAAsB,mBAAXnJ,EACHA,EAAOxjB,KAAMN,EAAGgS,GAGjB,IAGRiiC,kBAAmB,SAASj0C,GAC3B,OAAOy7B,GAAiBC,MAAM7Z,QAAQvhB,KAAMN,EAAG,CAAC26B,WAAW,KAG5DrY,eAAgB,SAASpB,GACxB,IACIW,EADKvhB,KACQ8hB,KAAKC,SAASnB,GAC1BW,EAAQqyB,QACZryB,EAAQqyB,MAAQ,IAGjB,IAAIvyB,EAAOE,EAAQqyB,MANV5zC,KAMmB8P,IAe5B,OAdKuR,IACJA,EAAOE,EAAQqyB,MARP5zC,KAQgB8P,IAAM,CAC7BjB,KAAM,KACNiT,KAAM,GACNP,QAAS,KACTmR,WAAY,KACZrV,OAAQ,KACRqE,QAAS,KACTE,QAAS,KACTywB,MAAO9wB,EAAQ8wB,OAAS,EACxB1iC,MAAOiR,IAIFS,GAGRsX,uBAAwB,WAEvB,IADA,IAAI3S,EAAQ,EACHliB,EAAI,EAAGuN,EAAOrR,KAAK8hB,KAAKC,SAASpgB,OAAQmC,EAAIuN,IAAQvN,EACzD9D,KAAKqzB,iBAAiBvvB,IACzBkiB,IAGF,OAAOA,GAGRqN,iBAAkB,SAASzS,GAC1B,IAAIS,EAAOrhB,KAAKgiB,eAAepB,GAI/B,MAA8B,kBAAhBS,EAAKhE,QAAwBgE,EAAKhE,QAAUrd,KAAK8hB,KAAKC,SAASnB,GAAcvD,QAG5Fw2B,eAAgB,WACf,OAAO7zC,KAAK0R,QAAQqgB,eAAe/xB,OAMpCoyC,mBAAoB,SAASxxB,GAC5B,IAAI9Q,EAAK9P,KAAK8P,GACVyR,EAAUvhB,KAAK8hB,KAAKC,SAASnB,GAC7BS,EAAOE,EAAQqyB,OAASryB,EAAQqyB,MAAM9jC,GAEtCuR,IACHA,EAAKqR,WAAWjQ,iBACTlB,EAAQqyB,MAAM9jC,KAIvB2S,QAAS,WACR,IAEI3e,EAAGuN,EAFHmB,EAAKxS,KACL4b,EAASpJ,EAAGoJ,OAMhB,IAHApJ,EAAGw+B,OAGEltC,EAAI,EAAGuN,EAAOmB,EAAGsP,KAAKC,SAASpgB,OAAQmC,EAAIuN,IAAQvN,EACvD0O,EAAG4/B,mBAAmBtuC,GAGnB8X,IACHpJ,EAAGshC,eACHn4B,EAAUC,OAAO1F,MAAM1D,GACvB0xB,GAASrC,eAAervB,EAAG4D,KAC3B5D,EAAGoJ,OAAS,KACZpJ,EAAG4D,IAAM,MAGVguB,GAAaQ,OAAOpyB,EAAI,kBAEjB1S,GAAM4wC,UAAUl+B,EAAG1C,KAG3BikC,cAAe,WACd,OAAO/zC,KAAK4b,OAAOo4B,UAAUljC,MAAM9Q,KAAK4b,OAAQnW,YAGjDsrC,YAAa,WACZ,IAAIv+B,EAAKxS,KACTwS,EAAGy5B,QAAU,IAAI7B,GAAa,CAC7BxnB,OAAQpQ,EACRyhC,eAAgBzhC,EAChBkQ,MAAOlQ,EAAGsP,KACV0P,SAAUhf,EAAGd,QAAQmf,UACnBre,IAMJq+B,WAAY,WACX,IAAIr+B,EAAKxS,KACL0gB,EAAYlO,EAAG0hC,WAAa,GAC5B3zB,EAAW,WACd/N,EAAG2hC,aAAarjC,MAAM0B,EAAI/M,YAG3BkW,EAAU5K,KAAKyB,EAAGd,QAAQw+B,QAAQ,SAASrhC,GAC1Cq1B,GAASvE,iBAAiBntB,EAAI3D,EAAM0R,GACpCG,EAAU7R,GAAQ0R,KAKf/N,EAAGd,QAAQ2+B,aACd9vB,EAAW,WACV/N,EAAGs+B,UAGJ5M,GAASvE,iBAAiBntB,EAAI,SAAU+N,GACxCG,EAAUowB,OAASvwB,IAOrBuzB,aAAc,WACb,IAAIthC,EAAKxS,KACL0gB,EAAYlO,EAAG0hC,WACdxzB,WAIElO,EAAG0hC,WACVv4B,EAAU5K,KAAK2P,GAAW,SAASH,EAAU1R,GAC5Cq1B,GAASnE,oBAAoBvtB,EAAI3D,EAAM0R,QAIzC6zB,iBAAkB,SAASlwB,EAAUyI,EAAMoZ,GAC1C,IACI7iB,EAASpf,EAAGuN,EADZu+B,EAAS7J,EAAU,MAAQ,SAG/B,IAAKjiC,EAAI,EAAGuN,EAAO6S,EAASviB,OAAQmC,EAAIuN,IAAQvN,GAC/Cof,EAAUgB,EAASpgB,KAElB9D,KAAKgiB,eAAekB,EAAQL,eAAe6P,WAAWkd,EAAS,cAAc1sB,GAIlE,YAATyJ,GACH3sB,KAAKgiB,eAAekC,EAAS,GAAGrB,eAAe6P,WAAW,IAAMkd,EAAS,wBAO3EuE,aAAc,SAASz0C,GACtB,IAAI8S,EAAKxS,KACLisC,EAAUz5B,EAAGy5B,QAEjB,IAAoD,IAAhD7H,GAAaQ,OAAOpyB,EAAI,cAAe,CAAC9S,IAA5C,CAKA8S,EAAGi+B,iBAAkB,EACrBj+B,EAAGmgC,iBAAmB,KAEtB,IAAI9V,EAAUrqB,EAAGw8B,YAAYtvC,GAKzBusC,IACHpP,EAAUoP,EAAQxuB,OACfwuB,EAAQ+C,YAAYtvC,GACpBm9B,EAAUoP,EAAQ+C,YAAYtvC,IAGlC0kC,GAAaQ,OAAOpyB,EAAI,aAAc,CAAC9S,IAEvC,IAAI20C,EAAkB7hC,EAAGmgC,iBAmBzB,OAlBI0B,EAEH7hC,EAAGkM,OAAO21B,GACAxX,IAAYrqB,EAAGoN,YAEzBpN,EAAGw+B,OAIHx+B,EAAGkM,OAAO,CACTO,SAAUzM,EAAGd,QAAQ+S,MAAM2rB,kBAC3B5wB,MAAM,KAIRhN,EAAGi+B,iBAAkB,EACrBj+B,EAAGmgC,iBAAmB,KAEfngC,IASRw8B,YAAa,SAAStvC,GACrB,IAGIm9B,EAHArqB,EAAKxS,KACL0R,EAAUc,EAAGd,SAAW,GACxBiU,EAAejU,EAAQ+S,MAsC3B,OAnCAjS,EAAGkgC,WAAalgC,EAAGkgC,YAAc,GAIhClgC,EAAG24B,OADW,aAAXzrC,EAAEmP,KACO,GAEA2D,EAAGy8B,0BAA0BvvC,EAAGimB,EAAagH,KAAMhH,GAKhEhK,EAAU/K,SAASc,EAAQy+B,SAAWz+B,EAAQ+S,MAAM0rB,QAAS,CAACzwC,EAAEo6B,OAAQtnB,EAAG24B,QAAS34B,GAErE,YAAX9S,EAAEmP,MAAiC,UAAXnP,EAAEmP,MACzB6C,EAAQkhB,SAEXlhB,EAAQkhB,QAAQ7pB,KAAKyJ,EAAI9S,EAAEo6B,OAAQtnB,EAAG24B,QAKpC34B,EAAGkgC,WAAW/wC,QACjB6Q,EAAG4hC,iBAAiB5hC,EAAGkgC,WAAY/sB,EAAagH,MAAM,GAInDna,EAAG24B,OAAOxpC,QAAUgkB,EAAagH,MACpCna,EAAG4hC,iBAAiB5hC,EAAG24B,OAAQxlB,EAAagH,MAAM,GAGnDkQ,GAAWlhB,EAAUzK,YAAYsB,EAAG24B,OAAQ34B,EAAGkgC,YAG/ClgC,EAAGkgC,WAAalgC,EAAG24B,OAEZtO,KAST/8B,GAAM4wC,UAAY,GAElB,IAAI4D,GAAkBx0C,GA6oBtB,SAASy0C,KACR,MAAM,IAAI7yC,MACT,6GAsBF,SAAS8yC,GAAY9iC,GACpB1R,KAAK0R,QAAUA,GAAW,GA3pB3B5R,GAAM20C,WAAa30C,GASnBA,GAAM40C,MAAQ,GASd/4B,EAAUg5B,YAActF,GASxB1zB,EAAUi5B,WAAazF,GAmoBvBxzB,EAAUzJ,OAAOsiC,GAAY3rC,UAAqC,CAMjEgsC,QAASN,GASTO,MAAOP,GASPQ,OAAQR,GAUR/Q,IAAK+Q,GAUL1xC,KAAM0xC,GAUNS,QAAST,GAQTU,MAAOV,GAWPW,QAAS,SAASpzC,GACjB,OAAOA,KAIT0yC,GAAYW,SAAW,SAASC,GAC/Bz5B,EAAUzJ,OAAOsiC,GAAY3rC,UAAWusC,IAGzC,IAEIC,GAAgB,CACnBC,MAHWd,IAURe,GAAa,CAKhBC,WAAY,CAOXnqC,OAAQ,SAASvJ,GAChB,OAAO6Z,EAAUvL,QAAQtO,GAASA,EAAQ,GAAKA,GAWhD4R,OAAQ,SAAS+hC,EAAW9lC,EAAOqmB,GAElC,IAAIzzB,EAAQyzB,EAAMr0B,OAAS,EAAIq0B,EAAM,GAAKA,EAAM,GAAKA,EAAM,GAAKA,EAAM,GAGlE3zB,KAAK6nB,IAAI3nB,GAAS,GACjBkzC,IAAcpzC,KAAK6B,MAAMuxC,KAE5BlzC,EAAQkzC,EAAYpzC,KAAK6B,MAAMuxC,IAIjC,IAAIC,EAAW/5B,EAAUN,MAAMhZ,KAAK6nB,IAAI3nB,IACpCozC,EAAa,GAEjB,GAAkB,IAAdF,EAEH,GADcpzC,KAAKC,IAAID,KAAK6nB,IAAI8L,EAAM,IAAK3zB,KAAK6nB,IAAI8L,EAAMA,EAAMr0B,OAAS,KAC3D,KAAM,CACnB,IAAIi0C,EAAUj6B,EAAUN,MAAMhZ,KAAK6nB,IAAIurB,IACnCI,EAAiBxzC,KAAK6B,MAAM0xC,GAAWvzC,KAAK6B,MAAMwxC,GACtDG,EAAiBxzC,KAAKC,IAAID,KAAKD,IAAIyzC,EAAgB,IAAK,GACxDF,EAAaF,EAAUK,cAAcD,OAC/B,CACN,IAAIE,GAAc,EAAI1zC,KAAK6B,MAAMwxC,GACjCK,EAAa1zC,KAAKC,IAAID,KAAKD,IAAI2zC,EAAY,IAAK,GAChDJ,EAAaF,EAAUO,QAAQD,QAGhCJ,EAAa,IAGd,OAAOA,GAGRM,YAAa,SAASR,EAAW9lC,EAAOqmB,GACvC,IAAIkgB,EAAST,EAAapzC,KAAKmB,IAAI,GAAInB,KAAK6B,MAAMyX,EAAUN,MAAMo6B,KAElE,OAAkB,IAAdA,EACI,IACc,IAAXS,GAA2B,IAAXA,GAA2B,IAAXA,GAA0B,IAAVvmC,GAAeA,IAAUqmB,EAAMr0B,OAAS,EAC3F8zC,EAAUK,gBAEX,MAKN1lC,GAAUuL,EAAUvL,QACpBD,GAAgBwL,EAAUxL,cAC1BgmC,GAAmBx6B,EAAUlL,eAC7BE,GAAwBgL,EAAUhL,sBAwEtC,SAASylC,GAAoBvrC,EAAO8E,EAAOmd,GAC1C,IAMIF,EANAjrB,EAASkJ,EAAMslB,WAAWxuB,OAC1B00C,EAAah0C,KAAKD,IAAIuN,EAAOhO,EAAS,GACtC20C,EAAYzrC,EAAMulB,gBAAgBimB,GAClCz4B,EAAQ/S,EAAMskB,YACdC,EAAMvkB,EAAMwkB,UAIhB,KAAIvC,IAEFF,EADc,IAAXjrB,EACMU,KAAKC,IAAIg0C,EAAY14B,EAAOwR,EAAMknB,GACvB,IAAV3mC,GACA9E,EAAMulB,gBAAgB,GAAKkmB,GAAa,GAExCA,EAAYzrC,EAAMulB,gBAAgBimB,EAAa,IAAM,GAEhEC,GAAaD,EAAa1mC,EAAQid,GAAUA,GAG5BhP,EAdH,MAcsB04B,EAAYlnB,EAdlC,OAkBd,OAAOknB,EA2ER,SAASC,GAAkB7kC,GAC1B,OAAOA,EAAQ8kC,UAAY9kC,EAAQ+kC,eAAiB,EAGrD,SAASC,GAAoBhlC,GAC5B,IAAI4I,EAAMmQ,EAEV,OAAK/Y,EAAQomB,SAIbxd,EAAOqB,EAAUjK,QAAQyI,WAAWzI,GACpC+Y,EAAU9O,EAAUjK,QAAQwI,UAAUxI,EAAQ+Y,SAEvCnQ,EAAKG,WAAagQ,EAAQlU,QANzB,EAST,SAASogC,GAAiBjlC,EAASklC,GAClC,OAAOj7B,EAAUzJ,OAAOyJ,EAAUjK,QAAQyI,WAAW,CACpDK,WAAY27B,GAAiBS,EAAWp8B,WAAY9I,EAAQ8I,YAC5DH,SAAU87B,GAAiBS,EAAWv8B,SAAU3I,EAAQ2I,UACxDK,UAAWy7B,GAAiBS,EAAWl8B,UAAWhJ,EAAQgJ,WAC1DD,WAAY07B,GAAiBS,EAAWn8B,WAAY/I,EAAQ+I,cACzD,CACH7U,MAAO+V,EAAUjK,QAAQkJ,QAAQ,CAACg8B,EAAWC,UAAWnlC,EAAQmlC,UAAW/8B,EAAcza,OAAOma,qBAIlG,SAASs9B,GAAqBplC,GAC7B,IAAIqlC,EAAQJ,GAAiBjlC,EAASA,EAAQqlC,OAG9C,MAAO,CAACA,MAAOA,EAAOC,MAFVtlC,EAAQslC,MAAMjR,QAAU4Q,GAAiBjlC,EAASA,EAAQslC,OAASD,GAKhF,SAASE,GAAWC,GACnB,IACI7jC,EAAM1D,EAAO1H,EADbkvC,EAAW,GAEf,IAAKxnC,EAAQ,EAAG1H,EAAMivC,EAAcv1C,OAAQgO,EAAQ1H,IAAO0H,OAE/B,KAD3B0D,EAAO6jC,EAAcvnC,IACLoT,QACfo0B,EAASh8B,KAAK9H,GAGhB,OAAO8jC,EAqER,SAASxtB,GAAKqM,EAAOohB,EAASC,EAAYC,GACzC,IAGI31C,EAAQmC,EAAGyzC,EAAM1nB,EAHjBjS,EAAQu4B,GAAiBkB,EAAY,GACrCjoB,EAAM/sB,KAAKD,IAAI+zC,GAAiBmB,EAAUthB,EAAMr0B,QAASq0B,EAAMr0B,QAC/DqkB,EAAQ,EAWZ,IARAoxB,EAAU/0C,KAAKm1C,KAAKJ,GAChBE,IAEHF,GADAz1C,EAAS21C,EAAWD,GACDh1C,KAAK6B,MAAMvC,EAASy1C,IAGxCvnB,EAAOjS,EAEAiS,EAAO,GACb7J,IACA6J,EAAOxtB,KAAKqD,MAAMkY,EAAQoI,EAAQoxB,GAGnC,IAAKtzC,EAAIzB,KAAKC,IAAIsb,EAAO,GAAI9Z,EAAIsrB,EAAKtrB,IACrCyzC,EAAOvhB,EAAMlyB,GACTA,IAAM+rB,GACT0nB,EAAKx0B,OAASjf,EACdkiB,IACA6J,EAAOxtB,KAAKqD,MAAMkY,EAAQoI,EAAQoxB,WAE3BG,EAAK1pB,MApTf/T,EAAcR,KAAK,QAAS,CAC3Bwe,SAAS,EACTlH,SAAU,OACVhE,QAAQ,EAGRC,UAAW,CACViL,SAAS,EACTlyB,MAAO,kBACP2iB,UAAW,EACXG,YAAY,EACZ+uB,iBAAiB,EACjBjB,WAAW,EACXC,eAAgB,GAChBiB,cAAe,EACfC,cAAe,mBACfC,mBAAoB,GACpBC,yBAA0B,EAC1B/qB,iBAAiB,EACjBhE,WAAY,GACZC,iBAAkB,GAInB+uB,WAAY,CAEXhgB,SAAS,EAGTigB,YAAa,GAGbttB,QAAS,CACR9T,IAAK,EACLE,OAAQ,IAKVmf,MAAO,CACNiC,aAAa,EACb+f,YAAa,EACbC,YAAa,GACbC,QAAQ,EACRztB,QAAS,EACTxZ,SAAS,EACT6mB,SAAS,EACTqgB,UAAU,EACVC,gBAAiB,EACjBC,YAAa,EAEbznC,SAAU2kC,GAAWC,WAAWnqC,OAChC0rC,MAAO,GACPC,MAAO,MAoQT,IAAIsB,GAAQh6B,EAAapM,OAAO,CAE/BqmC,cAAe,EAQfnc,WAAY,WAEX,MAAO,CACN1lB,KAFQ1W,KAECw4C,aAAe,EACxB7hC,IAHQ3W,KAGAy4C,YAAc,EACtB7hC,MAJQ5W,KAIE04C,cAAgB,EAC1B7hC,OALQ7W,KAKG24C,eAAiB,IAQ9BxoB,SAAU,WACT,OAAOnwB,KAAK44C,QAMbC,WAAY,WACX,IAAI/2B,EAAO9hB,KAAKmW,MAAM2L,KACtB,OAAO9hB,KAAK0R,QAAQhR,SAAWV,KAAKiuB,eAAiBnM,EAAKg3B,QAAUh3B,EAAKi3B,UAAYj3B,EAAKphB,QAAU,IAarGsxC,kBAAmB,aAInBgH,aAAc,WACbr9B,EAAU/K,SAAS5Q,KAAK0R,QAAQsnC,aAAc,CAACh5C,QAWhDgkB,OAAQ,SAASi1B,EAAUC,EAAWC,GACrC,IAGIr1C,EAAGuN,EAAM3Q,EAAQs1B,EAAOojB,EAHxB5mC,EAAKxS,KACL+1B,EAAWvjB,EAAGd,QAAQskB,MACtBqjB,EAAatjB,EAASsjB,WAoD1B,GAhDA7mC,EAAGwmC,eAGHxmC,EAAGymC,SAAWA,EACdzmC,EAAG0mC,UAAYA,EACf1mC,EAAG2mC,QAAUx9B,EAAUzJ,OAAO,CAC7BwE,KAAM,EACNE,MAAO,EACPD,IAAK,EACLE,OAAQ,GACNsiC,GAEH3mC,EAAGomC,OAAS,KACZpmC,EAAGwjB,MAAQ,KACXxjB,EAAG8mC,YAAc,KACjB9mC,EAAG+mC,eAAiB,EACpB/mC,EAAGgnC,kBAAoB,EACvBhnC,EAAGinC,iBAAmBjnC,EAAGinC,kBAAoB,GAC7CjnC,EAAGknC,eAAiB,KACpBlnC,EAAGmnC,YAAc,KAGjBnnC,EAAGonC,sBACHpnC,EAAGqnC,gBACHrnC,EAAGsnC,qBAGHtnC,EAAGunC,mBACHvnC,EAAGwnC,sBACHxnC,EAAGynC,kBASHznC,EAAG0nC,mBAIHlkB,EAAQxjB,EAAG2nC,cAAgB,MAG3BnkB,EAAQxjB,EAAG4nC,gBAAgBpkB,IAAUA,KAGrBA,EAAMr0B,SAAW6Q,EAAGwjB,MAEnC,IADAA,EAAQ,GACHlyB,EAAI,EAAGuN,EAAOmB,EAAGwjB,MAAMr0B,OAAQmC,EAAIuN,IAAQvN,EAC/CkyB,EAAM7a,KAAK,CACVrZ,MAAO0Q,EAAGwjB,MAAMlyB,GAChBkzC,OAAO,IA2CV,OAtCAxkC,EAAGomC,OAAS5iB,EAKZt1B,EAAS8R,EAAG6nC,uBADZjB,EAAkBC,EAAarjB,EAAMr0B,QAlYvC,SAAgB24C,EAAKC,GAMpB,IALA,IAAIvxC,EAAS,GACTwxC,EAAYF,EAAI34C,OAAS44C,EACzBz2C,EAAI,EACJmE,EAAMqyC,EAAI34C,OAEPmC,EAAImE,EAAKnE,GAAK02C,EACpBxxC,EAAOmS,KAAKm/B,EAAIj4C,KAAK6B,MAAMJ,KAE5B,OAAOkF,EA0X8CyxC,CAAOzkB,EAAOqjB,GAAcrjB,GAMhFxjB,EAAGqR,aAGHrR,EAAGkoC,8BACHloC,EAAGmoC,wBACHnoC,EAAGooC,6BAEHpoC,EAAGqoC,YACHroC,EAAGsoC,MACHtoC,EAAGuoC,WAGHvoC,EAAGwoC,aAAejlB,EAAS+B,UAAY/B,EAASoiB,UAAgC,SAApBpiB,EAASjnB,QAAqB0D,EAAGyoC,UAAUjlB,GAASA,EAE5GojB,IAEH14C,EAAS8R,EAAG6nC,sBAAsB7nC,EAAGwoC,eAGtCxoC,EAAGwjB,MAAQt1B,EAIX8R,EAAG0oC,cAII1oC,EAAGkmB,SAMX7U,WAAY,WACX,IAEIs3B,EAAYC,EAFZ5oC,EAAKxS,KACLq7C,EAAgB7oC,EAAGd,QAAQskB,MAAM/kB,QAGjCuB,EAAGyb,gBACNktB,EAAa3oC,EAAGkE,KAChB0kC,EAAW5oC,EAAGoE,QAEdukC,EAAa3oC,EAAGmE,IAChBykC,EAAW5oC,EAAGqE,OAEdwkC,GAAiBA,GAElB7oC,EAAG2c,YAAcgsB,EACjB3oC,EAAG6c,UAAY+rB,EACf5oC,EAAG8oC,eAAiBD,EACpB7oC,EAAG0d,QAAUkrB,EAAWD,GAGzBD,YAAa,WACZv/B,EAAU/K,SAAS5Q,KAAK0R,QAAQwpC,YAAa,CAACl7C,QAK/C45C,oBAAqB,WACpBj+B,EAAU/K,SAAS5Q,KAAK0R,QAAQkoC,oBAAqB,CAAC55C,QAEvD65C,cAAe,WACd,IAAIrnC,EAAKxS,KAELwS,EAAGyb,gBAENzb,EAAG8D,MAAQ9D,EAAGymC,SACdzmC,EAAGkE,KAAO,EACVlE,EAAGoE,MAAQpE,EAAG8D,QAEd9D,EAAG+D,OAAS/D,EAAG0mC,UAGf1mC,EAAGmE,IAAM,EACTnE,EAAGqE,OAASrE,EAAG+D,QAIhB/D,EAAGgmC,YAAc,EACjBhmC,EAAGimC,WAAa,EAChBjmC,EAAGkmC,aAAe,EAClBlmC,EAAGmmC,cAAgB,GAEpBmB,mBAAoB,WACnBn+B,EAAU/K,SAAS5Q,KAAK0R,QAAQooC,mBAAoB,CAAC95C,QAItD+5C,iBAAkB,WACjBp+B,EAAU/K,SAAS5Q,KAAK0R,QAAQqoC,iBAAkB,CAAC/5C,QAEpDg6C,oBAAqBr+B,EAAU1L,KAC/BgqC,gBAAiB,WAChBt+B,EAAU/K,SAAS5Q,KAAK0R,QAAQuoC,gBAAiB,CAACj6C,QAInDk6C,iBAAkB,WACjBv+B,EAAU/K,SAAS5Q,KAAK0R,QAAQwoC,iBAAkB,CAACl6C,QAEpDm6C,WAAYx+B,EAAU1L,KACtBmqC,gBAAiB,SAASpkB,GACzB,IAAIxjB,EAAKxS,KAET,OAAIoQ,GAAQ4lB,IAAUA,EAAMr0B,OACpBga,EAAU/K,SAAS4B,EAAGd,QAAQ0oC,gBAAiB,CAAC5nC,EAAIwjB,KAG5DxjB,EAAGwjB,MAAQra,EAAU/K,SAAS4B,EAAGd,QAAQ0oC,gBAAiB,CAAC5nC,EAAIA,EAAGwjB,SAAWxjB,EAAGwjB,MACzEA,IAGRulB,4BAA6B,WAC5B5/B,EAAU/K,SAAS5Q,KAAK0R,QAAQ6pC,4BAA6B,CAACv7C,QAE/Dw7C,qBAAsB,WACrB,IAEIzlB,EAFK/1B,KAES0R,QAAQskB,MAFjBh2B,KAGNg2B,MAHMh2B,KAGKg2B,MAAM1vB,IAAIyvB,EAAS0lB,cAAgB1lB,EAASnlB,SAAU5Q,OAErE07C,2BAA4B,WAC3B//B,EAAU/K,SAAS5Q,KAAK0R,QAAQgqC,2BAA4B,CAAC17C,QAK9D06C,4BAA6B,WAC5B/+B,EAAU/K,SAAS5Q,KAAK0R,QAAQgpC,4BAA6B,CAAC16C,QAE/D26C,sBAAuB,WACtB,IAOIgB,EAAYC,EAAeC,EAAgB5C,EAAU6C,EAAW5C,EAAW6C,EAP3EvpC,EAAKxS,KACL0R,EAAUc,EAAGd,QACbqkB,EAAWrkB,EAAQskB,MACnBgmB,EAAWxpC,EAAG2d,WAAWxuB,OACzBq2C,EAAcjiB,EAASiiB,aAAe,EACtCC,EAAcliB,EAASkiB,YACvBgE,EAAgBjE,GAGfxlC,EAAG0pC,eAAiBnmB,EAAS+B,SAAWkgB,GAAeC,GAAe+D,GAAY,IAAMxpC,EAAGyb,eAC/Fzb,EAAGypC,cAAgBjE,GAKpB4D,GADAD,EAAanpC,EAAG2pC,kBACWC,OAAO9lC,MAClCulC,EAAiBF,EAAWU,QAAQ9lC,OAASolC,EAAWU,QAAQzvB,OAIhEqsB,EAAW52C,KAAKD,IAAIoQ,EAAGymC,SAAUzmC,EAAG2D,MAAMG,MAAQslC,GAI9CA,EAAgB,GAHpBE,EAAYpqC,EAAQkb,OAASpa,EAAGymC,SAAW+C,EAAW/C,GAAY+C,EAAW,MAI5EF,EAAY7C,GAAY+C,GAAYtqC,EAAQkb,OAAS,GAAM,IAC3DssB,EAAY1mC,EAAG0mC,UAAY3C,GAAkB7kC,EAAQmb,WAClDkJ,EAAStL,QAAUisB,GAAoBhlC,EAAQomC,YAClDiE,EAAmB15C,KAAK+C,KAAKw2C,EAAgBA,EAAgBC,EAAiBA,GAC9EI,EAAgBtgC,EAAU2gC,UAAUj6C,KAAKD,IACxCC,KAAK4S,KAAK5S,KAAKD,KAAKu5C,EAAWU,QAAQ9lC,OAAS,GAAKulC,EAAW,IAChEz5C,KAAK4S,KAAK5S,KAAKD,IAAI82C,EAAY6C,EAAkB,IAAM15C,KAAK4S,KAAK4mC,EAAiBE,KAEnFE,EAAgB55C,KAAKC,IAAI01C,EAAa31C,KAAKD,IAAI61C,EAAagE,KAG7DzpC,EAAGypC,cAAgBA,IAEpBrB,2BAA4B,WAC3Bj/B,EAAU/K,SAAS5Q,KAAK0R,QAAQkpC,2BAA4B,CAAC56C,QAK9D66C,UAAW,WACVl/B,EAAU/K,SAAS5Q,KAAK0R,QAAQmpC,UAAW,CAAC76C,QAE7C86C,IAAK,WACJ,IAAItoC,EAAKxS,KAEL04B,EAAUlmB,EAAGkmB,QAAU,CAC1BpiB,MAAO,EACPC,OAAQ,GAGLJ,EAAQ3D,EAAG2D,MACXmd,EAAO9gB,EAAGd,QACVqkB,EAAWzC,EAAK0C,MAChBumB,EAAiBjpB,EAAKwkB,WACtB0E,EAAelpB,EAAKzG,UACpBiL,EAAUtlB,EAAG0pC,aACbO,EAA6B,WAAlBnpB,EAAK1C,SAChB3C,EAAezb,EAAGyb,eAiBtB,GAdIA,EACHyK,EAAQpiB,MAAQ9D,EAAGymC,SACTnhB,IACVY,EAAQpiB,MAAQigC,GAAkBiG,GAAgB9F,GAAoB6F,IAIlEtuB,EAEM6J,IACVY,EAAQniB,OAASggC,GAAkBiG,GAAgB9F,GAAoB6F,IAFvE7jB,EAAQniB,OAAS/D,EAAG0mC,UAMjBnjB,EAAS+B,SAAWA,EAAS,CAChC,IAAI4kB,EAAY5F,GAAqB/gB,GACjC4lB,EAAanpC,EAAG2pC,iBAChBQ,EAAiBhB,EAAWiB,MAC5BC,EAAgBlB,EAAWjtB,KAC3BouB,EAAkBnB,EAAWS,OAC7BW,EAAmBpB,EAAWU,QAC9BW,EAAyC,GAA7BN,EAAU3F,MAAMt8B,WAC5BwiC,EAAclnB,EAAStL,QAE3B,GAAIwD,EAAc,CAEjB,IAAIivB,EAAiC,IAArB1qC,EAAGypC,cACfkB,EAAexhC,EAAUyhC,UAAU5qC,EAAGypC,eACtCoB,EAAch7C,KAAKiD,IAAI63C,GACvBG,EAAcj7C,KAAKkD,IAAI43C,GAM3BzkB,EAAQniB,OAASlU,KAAKD,IAAIoQ,EAAG0mC,UAAWxgB,EAAQniB,QAJ9B+mC,EAAcR,EAAgBxmC,MAC7C+mC,GAAeN,EAAiBxmC,QAAU2mC,EAAYH,EAAiBnwB,OAAS,KAC/EswB,EAAY,EAAIF,IAEmDC,GAEvE,IAEIzE,EAAaE,EAFb6E,EAAa/qC,EAAG4d,gBAAgB,GAAK5d,EAAGkE,KACxC8mC,EAAchrC,EAAGoE,MAAQpE,EAAG4d,gBAAgB5d,EAAG2d,WAAWxuB,OAAS,GAKnEu7C,GACH1E,EAAciE,EACbY,EAAcV,EAAermC,MAAQgnC,EAAcX,EAAe/vB,OAClE0wB,GAAeX,EAAepmC,OAASomC,EAAe/vB,QACvD8rB,EAAe+D,EACda,GAAeT,EAActmC,OAASsmC,EAAcjwB,QACpDywB,EAAcR,EAAcvmC,MAAQgnC,EAAcT,EAAcjwB,SAEjE4rB,EAAcmE,EAAermC,MAAQ,EACrCoiC,EAAemE,EAAcvmC,MAAQ,GAKtC9D,EAAGgmC,YAAcn2C,KAAKC,KAAKk2C,EAAc+E,GAAc/qC,EAAG8D,OAAS9D,EAAG8D,MAAQinC,GAAa,GAAK,EAChG/qC,EAAGkmC,aAAer2C,KAAKC,KAAKo2C,EAAe8E,GAAehrC,EAAG8D,OAAS9D,EAAG8D,MAAQknC,GAAc,GAAK,OASpG9kB,EAAQpiB,MAAQjU,KAAKD,IAAIoQ,EAAGymC,SAAUvgB,EAAQpiB,OAL7Byf,EAASmiB,OAAS,EAGlC4E,EAAgBxmC,MAAQ2mC,EAAcD,IAIvCxqC,EAAGimC,WAAakE,EAAepmC,OAAS,EACxC/D,EAAGmmC,cAAgBkE,EAActmC,OAAS,EAI5C/D,EAAGirC,gBAECxvB,GACHzb,EAAG8D,MAAQ9D,EAAG0d,QAAU/Z,EAAMG,MAAQ9D,EAAG2mC,QAAQziC,KAAOlE,EAAG2mC,QAAQviC,MACnEpE,EAAG+D,OAASmiB,EAAQniB,SAEpB/D,EAAG8D,MAAQoiB,EAAQpiB,MACnB9D,EAAG+D,OAAS/D,EAAG0d,QAAU/Z,EAAMI,OAAS/D,EAAG2mC,QAAQxiC,IAAMnE,EAAG2mC,QAAQtiC,SAQtE4mC,cAAe,WACd,IAAIjrC,EAAKxS,KACLwS,EAAG2mC,UACN3mC,EAAG2mC,QAAQziC,KAAOrU,KAAKC,IAAIkQ,EAAGgmC,YAAahmC,EAAG2mC,QAAQziC,MACtDlE,EAAG2mC,QAAQxiC,IAAMtU,KAAKC,IAAIkQ,EAAGimC,WAAYjmC,EAAG2mC,QAAQxiC,KACpDnE,EAAG2mC,QAAQviC,MAAQvU,KAAKC,IAAIkQ,EAAGkmC,aAAclmC,EAAG2mC,QAAQviC,OACxDpE,EAAG2mC,QAAQtiC,OAASxU,KAAKC,IAAIkQ,EAAGmmC,cAAenmC,EAAG2mC,QAAQtiC,UAI5DkkC,SAAU,WACTp/B,EAAU/K,SAAS5Q,KAAK0R,QAAQqpC,SAAU,CAAC/6C,QAI5CiuB,aAAc,WACb,IAAIyN,EAAM17B,KAAK0R,QAAQkf,SACvB,MAAe,QAAR8K,GAAyB,WAARA,GAEzBgiB,YAAa,WACZ,OAAO19C,KAAK0R,QAAQqrB,WAIrB7F,cAAe,SAASymB,GAEvB,GAAIxtC,GAAcwtC,GACjB,OAAOpsB,IAGR,IAAyB,iBAAbosB,GAAyBA,aAAoBntC,UAAYD,SAASotC,GAC7E,OAAOpsB,IAIR,GAAIosB,EACH,GAAI39C,KAAKiuB,gBACR,QAAmBjkB,IAAf2zC,EAASx6C,EACZ,OAAOnD,KAAKk3B,cAAcymB,EAASx6C,QAE9B,QAAmB6G,IAAf2zC,EAASv6C,EACnB,OAAOpD,KAAKk3B,cAAcymB,EAASv6C,GAKrC,OAAOu6C,GAGRtD,sBAAuB,SAASrkB,GAC/B,IACIt1B,EAAQoD,EAAGuN,EADXmB,EAAKxS,KAiBT,IAdAwS,EAAGwjB,MAAQA,EAAM1vB,KAAI,SAASixC,GAC7B,OAAOA,EAAKz1C,SAGb0Q,EAAG+oC,8BAKH76C,EAAS8R,EAAGgpC,qBAAqBxlB,IAAUxjB,EAAGwjB,MAE9CxjB,EAAGkpC,6BAGE53C,EAAI,EAAGuN,EAAO2kB,EAAMr0B,OAAQmC,EAAIuN,IAAQvN,EAC5CkyB,EAAMlyB,GAAG+pB,MAAQntB,EAAOoD,GAGzB,OAAOpD,GAMRy7C,eAAgB,WACf,IAAI3pC,EAAKxS,KACL27C,EAAanpC,EAAG8mC,YAOpB,OALKqC,IACJnpC,EAAG8mC,YAAcqC,EAhsBpB,SAA2BvlC,EAAKsmC,EAAW1mB,EAAO4nB,GACjD,IAII95C,EAAGsvB,EAAG8G,EAAMrM,EAAOgwB,EAAUpR,EAAYzH,EAAOvqB,EAAYnE,EAAOC,EAAQunC,EAAa1B,EAAQC,EAJhG16C,EAASq0B,EAAMr0B,OACfo8C,EAAS,GACTC,EAAU,GACVC,EAAU,GAGd,IAAKn6C,EAAI,EAAGA,EAAInC,IAAUmC,EAAG,CAQ5B,GAPA+pB,EAAQmI,EAAMlyB,GAAG+pB,MAEjBzX,EAAIkE,KAAOmyB,GADXoR,EAAW7nB,EAAMlyB,GAAGkzC,MAAQ0F,EAAU1F,MAAQ0F,EAAU3F,OACvBhxC,OACjCi/B,EAAQ4Y,EAAOnR,GAAcmR,EAAOnR,IAAe,CAAC3qB,KAAM,GAAIo8B,GAAI,IAClEzjC,EAAaojC,EAASpjC,WACtBnE,EAAQC,EAAS,EAEZpG,GAAc0d,IAAWzd,GAAQyd,IAG/B,GAAIzd,GAAQyd,GAElB,IAAKuF,EAAI,EAAG8G,EAAOrM,EAAMlsB,OAAQyxB,EAAI8G,IAAQ9G,EAGvCjjB,GAFL2tC,EAAcjwB,EAAMuF,KAEgBhjB,GAAQ0tC,KAC3CxnC,EAAQqF,EAAU6wB,YAAYp2B,EAAK4uB,EAAMljB,KAAMkjB,EAAMkZ,GAAI5nC,EAAOwnC,GAChEvnC,GAAUkE,QATZnE,EAAQqF,EAAU6wB,YAAYp2B,EAAK4uB,EAAMljB,KAAMkjB,EAAMkZ,GAAI5nC,EAAOuX,GAChEtX,EAASkE,EAYVsjC,EAAO5iC,KAAK7E,GACZ0nC,EAAQ7iC,KAAK5E,GACb0nC,EAAQ9iC,KAAKV,EAAa,GAO3B,SAAS0jC,EAAQzZ,GAChB,MAAO,CACNpuB,MAAOynC,EAAOrZ,IAAQ,EACtBnuB,OAAQynC,EAAQtZ,IAAQ,EACxB9X,OAAQqxB,EAAQvZ,IAAQ,GAI1B,OAhED,SAAwBkZ,EAAQj8C,GAC/Bga,EAAU5K,KAAK6sC,GAAQ,SAAS5Y,GAC/B,IAEIlhC,EAFAo6C,EAAKlZ,EAAMkZ,GACXE,EAAQF,EAAGv8C,OAAS,EAExB,GAAIy8C,EAAQz8C,EAAQ,CACnB,IAAKmC,EAAI,EAAGA,EAAIs6C,IAASt6C,SACjBkhC,EAAMljB,KAAKo8B,EAAGp6C,IAEtBo6C,EAAGl+B,OAAO,EAAGo+B,OA0CfC,CAAeT,EAAQj8C,GAEvBy6C,EAAS2B,EAAO5qC,QAAQ9Q,KAAKC,IAAIwO,MAAM,KAAMitC,IAC7C1B,EAAU2B,EAAQ7qC,QAAQ9Q,KAAKC,IAAIwO,MAAM,KAAMktC,IAUxC,CACNpB,MAAOuB,EAAQ,GACfzvB,KAAMyvB,EAAQx8C,EAAS,GACvBy6C,OAAQ+B,EAAQ/B,GAChBC,QAAS8B,EAAQ9B,IA8oBciC,CAAkB9rC,EAAG4D,IAAK0gC,GAAqBtkC,EAAGd,QAAQskB,OAAQxjB,EAAG2d,WAAY3d,EAAGinC,kBAClHjnC,EAAGgnC,kBAAoBmC,EAAWS,OAAO9lC,OAGnCqlC,GAMRjsB,YAAa,SAAS5tB,GACrB,IAAI8b,EAAOwR,EAAKhtB,EAAKE,EAerB,OAbI8N,GAAQtO,IACX8b,GAAS5d,KAAKk3B,cAAcp1B,EAAM,IAClCstB,GAAOpvB,KAAKk3B,cAAcp1B,EAAM,IAChCM,EAAMC,KAAKD,IAAIwb,EAAOwR,GACtB9sB,EAAMD,KAAKC,IAAIsb,EAAOwR,KAGtBxR,OAAQ5T,EACRolB,EAFAttB,GAAS9B,KAAKk3B,cAAcp1B,GAG5BM,EAAMN,EACNQ,EAAMR,GAGA,CACNM,IAAKA,EACLE,IAAKA,EACLsb,MAAOA,EACPwR,IAAKA,IAOPmvB,eAAgB,SAASZ,GACxB,IAAI/6C,EAAI5C,KAAK0vB,YAAYiuB,GACzB,YAAgB3zC,IAAZpH,EAAEgb,MACE,IAAMhb,EAAEgb,MAAQ,KAAOhb,EAAEwsB,IAAM,KAG/BpvB,KAAKk3B,cAAcymB,IAQ5B9R,iBAAkBlwB,EAAU1L,KAS5Bif,iBAAkBvT,EAAU1L,KAO5BuuC,iBAAkB7iC,EAAU1L,KAM5BmgB,gBAAiB,SAASzgB,GACzB,IACIid,EADK5sB,KACO0R,QAAQkb,OACpBovB,EAFKh8C,KAES44C,OAAOj3C,OACrBm6C,EAAY,EAAIz5C,KAAKC,IAAI05C,GAAYpvB,EAAS,EAAI,GAAI,GAE1D,OAAOjd,EAAQ,GAAKA,EAAQqsC,EAAW,EACpC,KANMh8C,KAOHsxB,mBAAmB3hB,EAAQmsC,GAAalvB,EAASkvB,EAAY,EAAI,KAOxExqB,mBAAoB,SAASmtB,GAO5B,OANSz+C,KAEFs7C,iBACNmD,EAAU,EAAIA,GAHNz+C,KAMCmvB,YAAcsvB,EANfz+C,KAM4BkwB,SAGtCwuB,mBAAoB,SAASC,GAC5B,IAAIF,GAAWE,EAAQ3+C,KAAKmvB,aAAenvB,KAAKkwB,QAChD,OAAOlwB,KAAKs7C,eAAiB,EAAImD,EAAUA,GAO5CzwB,aAAc,WACb,OAAOhuB,KAAKkvB,iBAAiBlvB,KAAK4+C,iBAGnCA,aAAc,WACb,IACIx8C,EADKpC,KACIoC,IACTE,EAFKtC,KAEIsC,IAEb,OAJStC,KAICi4B,YAAc,EACvB71B,EAAM,GAAKE,EAAM,EAAIA,EACrBF,EAAM,GAAKE,EAAM,EAAIF,EACrB,GAOF64C,UAAW,SAASjlB,GACnB,IAQIlyB,EAAGuN,EAAM+lC,EAASyH,EAPlB9oB,EADK/1B,KACS0R,QAAQskB,MAEtB8oB,EAAa/oB,EAASgpB,eAHjB/+C,KAEWkwB,QAFXlwB,KAGkDg/C,YAAc,EACrEC,EAAelpB,EAASihB,MAAMjR,QAzrBpC,SAAyB/P,GACxB,IACIlyB,EAAGuN,EADHrI,EAAS,GAEb,IAAKlF,EAAI,EAAGuN,EAAO2kB,EAAMr0B,OAAQmC,EAAIuN,EAAMvN,IACtCkyB,EAAMlyB,GAAGkzC,OACZhuC,EAAOmS,KAAKrX,GAGd,OAAOkF,EAirBsCk2C,CAAgBlpB,GAAS,GACjEmpB,EAAkBF,EAAat9C,OAC/Bi7C,EAAQqC,EAAa,GACrBvwB,EAAOuwB,EAAaE,EAAkB,GAI1C,GAAIA,EAAkBL,EAErB,OAvrBH,SAAoB9oB,EAAOipB,EAAc7H,GACxC,IAEItzC,EAAGyzC,EAFHvxB,EAAQ,EACR6J,EAAOovB,EAAa,GAIxB,IADA7H,EAAU/0C,KAAKm1C,KAAKJ,GACftzC,EAAI,EAAGA,EAAIkyB,EAAMr0B,OAAQmC,IAC7ByzC,EAAOvhB,EAAMlyB,GACTA,IAAM+rB,GACT0nB,EAAKx0B,OAASjf,EAEd+rB,EAAOovB,IADPj5B,EAC4BoxB,WAErBG,EAAK1pB,MAyqBZuxB,CAAWppB,EAAOipB,EAAcE,EAAkBL,GAC3C7H,GAAWjhB,GAKnB,GAFAohB,EA1tBF,SAA0B6H,EAAcjpB,EAAOqpB,EAAYP,GAC1D,IAEIQ,EAASC,EAAQz7C,EAAGuN,EAFpBmuC,EAjBL,SAAwBlF,GACvB,IACIx2C,EAAGjB,EADHoF,EAAMqyC,EAAI34C,OAGd,GAAIsG,EAAM,EACT,OAAO,EAGR,IAAKpF,EAAOy3C,EAAI,GAAIx2C,EAAI,EAAGA,EAAImE,IAAOnE,EACrC,GAAIw2C,EAAIx2C,GAAKw2C,EAAIx2C,EAAI,KAAOjB,EAC3B,OAAO,EAGT,OAAOA,EAIgB48C,CAAeR,GAClC7H,GAAWphB,EAAMr0B,OAAS,GAAKm9C,EAKnC,IAAKU,EACJ,OAAOn9C,KAAKC,IAAI80C,EAAS,GAI1B,IAAKtzC,EAAI,EAAGuN,GADZiuC,EAAU3jC,EAAUE,KAAKX,WAAWskC,IACT79C,OAAS,EAAGmC,EAAIuN,EAAMvN,IAEhD,IADAy7C,EAASD,EAAQx7C,IACJszC,EACZ,OAAOmI,EAGT,OAAOl9C,KAAKC,IAAI80C,EAAS,GAwsBdsI,CAAiBT,EAAcjpB,EAAOqpB,EAAYP,GAExDK,EAAkB,EAAG,CACxB,IAAKr7C,EAAI,EAAGuN,EAAO8tC,EAAkB,EAAGr7C,EAAIuN,EAAMvN,IACjD6lB,GAAKqM,EAAOohB,EAAS6H,EAAan7C,GAAIm7C,EAAan7C,EAAI,IAKxD,OAFA6lB,GAAKqM,EAAOohB,EAASz7B,EAAUxL,cAD/B0uC,EAAkBM,EAAkB,GAAKzwB,EAAOkuB,IAAUuC,EAAkB,GAAK,MACjB,EAAIvC,EAAQiC,EAAiBjC,GAC7FjzB,GAAKqM,EAAOohB,EAAS1oB,EAAM/S,EAAUxL,cAAc0uC,GAAmB7oB,EAAMr0B,OAAS+sB,EAAOmwB,GACrF5H,GAAWjhB,GAGnB,OADArM,GAAKqM,EAAOohB,GACLH,GAAWjhB,IAMnBgpB,UAAW,WACV,IACIW,EADK3/C,KACY0R,QAAQskB,MAGzB4pB,EAAMjkC,EAAUyhC,UAJXp9C,KAIwBi8C,eAC7B32C,EAAMjD,KAAK6nB,IAAI7nB,KAAKiD,IAAIs6C,IACxBr6C,EAAMlD,KAAK6nB,IAAI7nB,KAAKkD,IAAIq6C,IAExBjE,EARK37C,KAQWm8C,iBAChB1xB,EAAUk1B,EAAYvH,iBAAmB,EACzCrxC,EAAI40C,EAAaA,EAAWS,OAAO9lC,MAAQmU,EAAU,EACrD1oB,EAAI45C,EAAaA,EAAWU,QAAQ9lC,OAASkU,EAAU,EAG3D,OAdSzqB,KAcCiuB,eACPlsB,EAAIuD,EAAMyB,EAAIxB,EAAMwB,EAAIzB,EAAMvD,EAAIwD,EAClCxD,EAAIwD,EAAMwB,EAAIzB,EAAMvD,EAAIuD,EAAMyB,EAAIxB,GAMtC22C,WAAY,WACX,IAGIp4C,EAAGuN,EAAMgQ,EAFTlL,EADKnW,KACMmW,MACX2hB,EAFK93B,KAEQ0R,QAAQomB,QAGzB,GAAgB,SAAZA,EACH,QAASA,EAIV,IAAKh0B,EAAI,EAAGuN,EAAO8E,EAAM2L,KAAKC,SAASpgB,OAAQmC,EAAIuN,IAAQvN,EAC1D,GAAIqS,EAAMkd,iBAAiBvvB,MAC1Bud,EAAOlL,EAAM6L,eAAele,IACnB4d,UAbF1hB,KAaiB8P,IAAMuR,EAAKO,UAb5B5hB,KAa2C8P,IACjD,OAAO,EAKV,OAAO,GAMR+vC,sBAAuB,SAASn1B,GAC/B,IAkBIo1B,EAAah8C,EAAGyzC,EAAMjB,EAAWyJ,EACjCC,EAAKC,EAAKC,EAAKC,EAAKr1B,EAAIC,EAAIhmB,EAAID,EAAIyjB,EAAW63B,EAAWt3B,EAAYC,EAnBtEvW,EAAKxS,KACLmW,EAAQ3D,EAAG2D,MACXzE,EAAUc,EAAGd,QACbmb,EAAYnb,EAAQmb,UACpB+D,EAAWlf,EAAQkf,SACnB9D,EAAkBD,EAAUC,gBAC5BmB,EAAezb,EAAGyb,eAClB+H,EAAQxjB,EAAGwoC,aACXqF,EAAcrqB,EAAMr0B,QAAUmrB,EAAkB,EAAI,GAEpDwzB,EAAK/J,GAAkB1pB,GACvBqO,EAAQ,GACRqlB,EAAY1zB,EAAUnE,WAAa/X,GAAsBkc,EAAUtE,UAAW,EAAG,GAAK,EACtFi4B,EAAgBD,EAAY,EAC5BE,EAAa9kC,EAAU+kC,YACvBC,EAAmB,SAAShC,GAC/B,OAAO8B,EAAWtqC,EAAOwoC,EAAO4B,IA+BjC,IA1BiB,QAAb3vB,GACHkvB,EAAca,EAAiBnuC,EAAGqE,QAClCopC,EAAMztC,EAAGqE,OAASypC,EAClBH,EAAML,EAAcU,EACpBz1B,EAAK41B,EAAiBj2B,EAAU/T,KAAO6pC,EACvC17C,EAAK4lB,EAAU7T,QACQ,WAAb+Z,GACVkvB,EAAca,EAAiBnuC,EAAGmE,KAClCoU,EAAKL,EAAU/T,IACf7R,EAAK67C,EAAiBj2B,EAAU7T,QAAU2pC,EAC1CP,EAAMH,EAAcU,EACpBL,EAAM3tC,EAAGmE,IAAM2pC,GACQ,SAAb1vB,GACVkvB,EAAca,EAAiBnuC,EAAGoE,OAClCopC,EAAMxtC,EAAGoE,MAAQ0pC,EACjBJ,EAAMJ,EAAcU,EACpB11B,EAAK61B,EAAiBj2B,EAAUhU,MAAQ8pC,EACxCz7C,EAAK2lB,EAAU9T,QAEfkpC,EAAca,EAAiBnuC,EAAGkE,MAClCoU,EAAKJ,EAAUhU,KACf3R,EAAK47C,EAAiBj2B,EAAU9T,OAAS4pC,EACzCR,EAAMF,EAAcU,EACpBN,EAAM1tC,EAAGkE,KAAO4pC,GAGZx8C,EAAI,EAAGA,EAAIu8C,IAAev8C,EAI1BqM,IAHJonC,EAAOvhB,EAAMlyB,IAAM,IAGI+pB,QAAU/pB,EAAIkyB,EAAMr0B,SAIvCmC,IAAM0O,EAAG+lC,eAAiB7mC,EAAQkb,SAAWE,GAEhDvE,EAAYsE,EAAU6qB,cACtB0I,EAAYvzB,EAAU8qB,cACtB7uB,EAAa+D,EAAU+qB,oBAAsB,GAC7C7uB,EAAmB8D,EAAUgrB,0BAA4B,IAEzDtvB,EAAY5X,GAAsBkc,EAAUtE,UAAWzkB,EAAG,GAC1Ds8C,EAAYzvC,GAAsBkc,EAAUjnB,MAAO9B,EAAG,mBACtDglB,EAAa+D,EAAU/D,YAAc,GACrCC,EAAmB8D,EAAU9D,kBAAoB,QAMhC/e,KAHlBssC,EAAYF,GAAoB5jC,EAAI+kC,EAAKx0B,QAAUjf,EAAGgpB,MAOtDizB,EAAmBU,EAAWtqC,EAAOmgC,EAAW/tB,GAE5C0F,EACH+xB,EAAME,EAAMp1B,EAAK/lB,EAAKg7C,EAEtBE,EAAME,EAAMp1B,EAAKjmB,EAAKi7C,EAGvB7kB,EAAM/f,KAAK,CACV6kC,IAAKA,EACLC,IAAKA,EACLC,IAAKA,EACLC,IAAKA,EACLr1B,GAAIA,EACJC,GAAIA,EACJhmB,GAAIA,EACJD,GAAIA,EACJwR,MAAOiS,EACP3iB,MAAOw6C,EACPt3B,WAAYA,EACZC,iBAAkBA,MAOpB,OAHAmS,EAAMmlB,YAAcA,EACpBnlB,EAAM4kB,YAAcA,EAEb5kB,GAMR0lB,mBAAoB,WACnB,IAYI98C,EAAGuN,EAAMkmC,EAAM1pB,EAAO1qB,EAAGC,EAAG+Y,EAAWwiC,EAAOrkC,EAAMG,EAAYomC,EAAWC,EAZ3EtuC,EAAKxS,KACL0R,EAAUc,EAAGd,QACbiuC,EAAcjuC,EAAQskB,MACtBpF,EAAWlf,EAAQkf,SACnBmwB,EAAapB,EAAYzH,OACzBjqB,EAAezb,EAAGyb,eAClB+H,EAAQxjB,EAAGwoC,aACXgG,EAAQlK,GAAqB6I,GAC7B1C,EAAc0C,EAAYl1B,QAC1B61B,EAAK/J,GAAkB7kC,EAAQmb,WAC/BzV,GAAYuE,EAAUyhC,UAAU5qC,EAAGypC,eACnC/gB,EAAQ,GAiBZ,IAdiB,QAAbtK,GACHxtB,EAAIoP,EAAGqE,OAASypC,EAAKrD,EACrB9gC,EAAa/E,EAAsB,OAAX,UACD,WAAbwZ,GACVxtB,EAAIoP,EAAGmE,IAAM2pC,EAAKrD,EAClB9gC,EAAa/E,EAAsB,QAAX,UACD,SAAbwZ,GACVztB,EAAIqP,EAAGoE,OAASmqC,EAAa,EAAIT,GAAMrD,EACvC9gC,EAAY4kC,EAAa,OAAS,UAElC59C,EAAIqP,EAAGkE,MAAQqqC,EAAa,EAAIT,GAAMrD,EACtC9gC,EAAY4kC,EAAa,QAAU,QAG/Bj9C,EAAI,EAAGuN,EAAO2kB,EAAMr0B,OAAQmC,EAAIuN,IAAQvN,EAKxCqM,GAHJ0d,GADA0pB,EAAOvhB,EAAMlyB,IACA+pB,SAOb8wB,EAAQnsC,EAAG4d,gBAAgBmnB,EAAKx0B,QAAUjf,GAAK67C,EAAYtH,YAE3D59B,GADAH,EAAOi9B,EAAKP,MAAQgK,EAAMhK,MAAQgK,EAAMjK,OACtBt8B,WAClBomC,EAAYzwC,GAAQyd,GAASA,EAAMlsB,OAAS,EAExCssB,GACH9qB,EAAIw7C,EACJmC,EAA0B,QAAblwB,IACPxZ,EAAiB,EAAN,IAAWypC,GAAapmC,GACpCrD,EAAiB,EAAN,IAAWqD,IAE3BrX,EAAIu7C,EACJmC,GAAc,EAAID,GAAapmC,EAAa,GAG7CygB,EAAM/f,KAAK,CACVhY,EAAGA,EACHC,EAAGA,EACHgU,SAAUA,EACVyW,MAAOA,EACPvT,KAAMA,EACNwmC,WAAYA,EACZ3kC,UAAWA,KAIb,OAAO+e,GAMR+lB,UAAW,SAASv2B,GACnB,IAAIlY,EAAKxS,KACL6sB,EAAYra,EAAGd,QAAQmb,UAE3B,GAAKA,EAAUiL,QAAf,CAIA,IAKIxhB,EAAO1Q,EAAO9B,EAAGuN,EAAMgC,EALvB+C,EAAM5D,EAAG4D,IACTD,EAAQ3D,EAAG2D,MACXsqC,EAAa9kC,EAAU+kC,YACvBH,EAAY1zB,EAAUnE,WAAa/X,GAAsBkc,EAAUtE,UAAW,EAAG,GAAK,EACtF2S,EAAQ1oB,EAAGknC,iBAAmBlnC,EAAGknC,eAAiBlnC,EAAGqtC,sBAAsBn1B,IAG/E,IAAK5mB,EAAI,EAAGuN,EAAO6pB,EAAMv5B,OAAQmC,EAAIuN,IAAQvN,EAG5C8B,GAFAyN,EAAO6nB,EAAMp3B,IAEA8B,OADb0Q,EAAQjD,EAAKiD,QAGA1Q,IACZwQ,EAAIsB,OACJtB,EAAImS,UAAYjS,EAChBF,EAAIiS,YAAcziB,EACdwQ,EAAIyT,cACPzT,EAAIyT,YAAYxW,EAAKyV,YACrB1S,EAAI0T,eAAiBzW,EAAK0V,kBAG3B3S,EAAI0B,YAEA+U,EAAU2pB,YACbpgC,EAAIU,OAAOzD,EAAK2sC,IAAK3sC,EAAK4sC,KAC1B7pC,EAAI2B,OAAO1E,EAAK6sC,IAAK7sC,EAAK8sC,MAGvBtzB,EAAU4qB,kBACbrhC,EAAIU,OAAOzD,EAAKyX,GAAIzX,EAAK0X,IACzB3U,EAAI2B,OAAO1E,EAAKtO,GAAIsO,EAAKvO,KAG1BsR,EAAI8B,SACJ9B,EAAIyB,WAIN,GAAI0oC,EAAW,CAEd,IAGIz1B,EAAI/lB,EAAIgmB,EAAIjmB,EAHZo8C,EAAiBX,EACjBY,EAAgBxwC,GAAsBkc,EAAUtE,UAAW2S,EAAMmlB,YAAc,EAAG,GAClFP,EAAc5kB,EAAM4kB,YAGpBttC,EAAGyb,gBACNnD,EAAK21B,EAAWtqC,EAAO3D,EAAGkE,KAAMwqC,GAAkBA,EAAiB,EACnEn8C,EAAK07C,EAAWtqC,EAAO3D,EAAGoE,MAAOuqC,GAAiBA,EAAgB,EAClEp2B,EAAKjmB,EAAKg7C,IAEV/0B,EAAK01B,EAAWtqC,EAAO3D,EAAGmE,IAAKuqC,GAAkBA,EAAiB,EAClEp8C,EAAK27C,EAAWtqC,EAAO3D,EAAGqE,OAAQsqC,GAAiBA,EAAgB,EACnEr2B,EAAK/lB,EAAK+6C,GAGX1pC,EAAImS,UAAYg4B,EAChBnqC,EAAIiS,YAAc1X,GAAsBkc,EAAUjnB,MAAO,GACzDwQ,EAAI0B,YACJ1B,EAAIU,OAAOgU,EAAIC,GACf3U,EAAI2B,OAAOhT,EAAID,GACfsR,EAAI8B,YAONkpC,YAAa,WACZ,IAAI5uC,EAAKxS,KAGT,GAFkBwS,EAAGd,QAAQskB,MAEZ8B,QAAjB,CAIA,IAEIh0B,EAAGsvB,EAAG/hB,EAAM6oB,EAAM7mB,EAAMwqC,EAAUhwB,EAAOzqB,EAFzCgT,EAAM5D,EAAG4D,IACT8kB,EAAQ1oB,EAAGmnC,cAAgBnnC,EAAGmnC,YAAcnnC,EAAGouC,sBAGnD,IAAK98C,EAAI,EAAGuN,EAAO6pB,EAAMv5B,OAAQmC,EAAIuN,IAAQvN,EAAG,CAe/C,GAbA+5C,GADAxqC,EAAO6nB,EAAMp3B,IACGwW,KAGhBlE,EAAIsB,OACJtB,EAAIuB,UAAUtE,EAAKlQ,EAAGkQ,EAAKjQ,GAC3BgT,EAAIhI,OAAOiF,EAAK+D,UAChBhB,EAAIkE,KAAOujC,EAAS93C,OACpBqQ,EAAIgS,UAAYy1B,EAASj4C,MACzBwQ,EAAI63B,aAAe,SACnB73B,EAAI+F,UAAY9I,EAAK8I,UAGrB/Y,EAAIiQ,EAAKytC,WACL1wC,GAFJyd,EAAQxa,EAAKwa,OAGZ,IAAKuF,EAAI,EAAG8G,EAAOrM,EAAMlsB,OAAQyxB,EAAI8G,IAAQ9G,EAE5Chd,EAAI83B,SAAS,GAAKrgB,EAAMuF,GAAI,EAAGhwB,GAC/BA,GAAKy6C,EAASpjC,gBAGfrE,EAAI83B,SAASrgB,EAAO,EAAGzqB,GAExBgT,EAAIyB,aAONwpC,WAAY,WACX,IAAI7uC,EAAKxS,KACLoW,EAAM5D,EAAG4D,IACT1E,EAAUc,EAAGd,QACbomC,EAAapmC,EAAQomC,WAEzB,GAAKA,EAAWhgB,QAAhB,CAIA,IAMIwpB,EAAaC,EANbC,EAAsBrL,GAAiB2B,EAAWjB,UAAW/8B,EAAcza,OAAOma,kBAClFioC,EAAiB9lC,EAAUjK,QAAQyI,WAAW29B,GAC9C4J,EAAoB/lC,EAAUjK,QAAQwI,UAAU49B,EAAWrtB,SAC3Dk3B,EAAiBF,EAAehnC,WAAa,EAC7CmW,EAAWlf,EAAQkf,SACnBxZ,EAAW,EAGf,GAAI5E,EAAGyb,eACNqzB,EAAc9uC,EAAGkE,KAAOlE,EAAG8D,MAAQ,EACnCirC,EAA2B,WAAb3wB,EACXpe,EAAGqE,OAAS8qC,EAAiBD,EAAkB7qC,OAC/CrE,EAAGmE,IAAMgrC,EAAiBD,EAAkB/qC,QACzC,CACN,IAAIirC,EAAsB,SAAbhxB,EACb0wB,EAAcM,EACXpvC,EAAGkE,KAAOirC,EAAiBD,EAAkB/qC,IAC7CnE,EAAGoE,MAAQ+qC,EAAiBD,EAAkB/qC,IACjD4qC,EAAc/uC,EAAGmE,IAAMnE,EAAG+D,OAAS,EACnCa,EAAWwqC,GAAU,GAAMv/C,KAAK8C,GAAK,GAAM9C,KAAK8C,GAGjDiR,EAAIsB,OACJtB,EAAIuB,UAAU2pC,EAAaC,GAC3BnrC,EAAIhI,OAAOgJ,GACXhB,EAAI+F,UAAY,SAChB/F,EAAI63B,aAAe,SACnB73B,EAAIgS,UAAYo5B,EAChBprC,EAAIkE,KAAOmnC,EAAe17C,OAC1BqQ,EAAI83B,SAAS4J,EAAWC,YAAa,EAAG,GACxC3hC,EAAIyB,YAGLsM,KAAM,SAASuG,GACL1qB,KAEDk8C,eAFCl8C,KAMNihD,UAAUv2B,GANJ1qB,KAONqhD,aAPMrhD,KAQNohD,gBAMJhkB,QAAS,WACR,IAAI5qB,EAAKxS,KACLszB,EAAO9gB,EAAGd,QACVmwC,EAAKvuB,EAAK0C,OAAS1C,EAAK0C,MAAMvyB,GAAK,EACnCq+C,EAAKxuB,EAAKzG,WAAayG,EAAKzG,UAAUppB,GAAK,EAE/C,OAAK+O,EAAG0pC,cAAgB2F,IAAOC,GAAMtvC,EAAG2R,OAAS3R,EAAGuvC,MAU7C,CAAC,CACPt+C,EAAGq+C,EACH39B,KAAM,WACL3R,EAAGyuC,UAAUnwC,MAAM0B,EAAI/M,WACvB+M,EAAG6uC,WAAWvwC,MAAM0B,EAAI/M,aAEvB,CACFhC,EAAGo+C,EACH19B,KAAM,WACL3R,EAAG4uC,YAAYtwC,MAAM0B,EAAI/M,cAjBnB,CAAC,CACPhC,EAAGo+C,EACH19B,KAAM,WACL3R,EAAG2R,KAAKrT,MAAM0B,EAAI/M,eAsBtBmpB,yBAA0B,SAAS/f,GAClC,IAAI2D,EAAKxS,KACLiuB,EAAezb,EAAGyb,eACtB,OAAOzb,EAAG2D,MAAMghB,gCACdI,QAAO,SAASlW,GAChB,QAASxS,GAAQwS,EAAKxS,OAASA,KAC1Bof,EAAe5M,EAAKK,UAAYlP,EAAG1C,GAAKuR,EAAKO,UAAYpP,EAAG1C,UAKrEwoC,GAAMzvC,UAAUk5C,MAAQzJ,GAAMzvC,UAAUsb,KAExC,IAAI69B,GAAa1J,GAEb2J,GAAkBtmC,EAAUxL,cAM5B+xC,GAAiBF,GAAW9vC,OAAO,CACtC8nC,oBAAqB,WACpB,IAOIj6B,EAPAvN,EAAKxS,KACLU,EAAS8R,EAAGqmC,aACZsJ,EAAY3vC,EAAGd,QAAQskB,MACvB5zB,EAAM+/C,EAAU//C,IAChBE,EAAM6/C,EAAU7/C,IAChB8/C,EAAW,EACXC,EAAW3hD,EAAOiB,OAAS,OAGnBqI,IAAR5H,IAEH2d,EAAYrf,EAAOyS,QAAQ/Q,KACV,IAChBggD,EAAWriC,QAID/V,IAAR1H,IAEHyd,EAAYrf,EAAOyS,QAAQ7Q,KACV,IAChB+/C,EAAWtiC,GAIbvN,EAAG4vC,SAAWA,EACd5vC,EAAG6vC,SAAWA,EACd7vC,EAAGpQ,IAAM1B,EAAO0hD,GAChB5vC,EAAGlQ,IAAM5B,EAAO2hD,IAGjBlI,WAAY,WACX,IACIz5C,EADKV,KACO64C,aACZuJ,EAFKpiD,KAESoiD,SACdC,EAHKriD,KAGSqiD,SAHTriD,KAMNg2B,MAAsB,IAAbosB,GAAkBC,IAAa3hD,EAAOiB,OAAS,EAAKjB,EAASA,EAAOoI,MAAMs5C,EAAUC,EAAW,IAG5GxW,iBAAkB,SAASl8B,EAAOiR,GACjC,IACIzK,EADKnW,KACMmW,MAEf,OAAIA,EAAM6L,eAAepB,GAAc8R,WAAWvQ,qBAHzCniB,KAGmE8P,GAHnE9P,KAIEk3B,cAAc/gB,EAAM2L,KAAKC,SAASnB,GAAckB,KAAKnS,IAJvD3P,KAOC64C,aAAalpC,IAGxBkU,WAAY,WACX,IAAIrR,EAAKxS,KACL4sB,EAASpa,EAAGd,QAAQkb,OACpBoJ,EAAQxjB,EAAGwjB,MAEfgsB,GAAWn5C,UAAUgb,WAAW9a,KAAKyJ,GAEhCA,EAAGyb,iBAEPzb,EAAG8oC,gBAAkB9oC,EAAG8oC,gBAGpBtlB,IAILxjB,EAAG8vC,YAAc9vC,EAAG4vC,UAAYx1B,EAAS,GAAM,GAC/Cpa,EAAG+vC,YAAclgD,KAAKC,IAAI0zB,EAAMr0B,QAAUirB,EAAS,EAAI,GAAI,KAI5DsC,iBAAkB,SAASptB,EAAO6N,EAAOiR,GACxC,IACI4hC,EAAe9hD,EAAQgkC,EADvBlyB,EAAKxS,KAqBT,OAlBKiiD,GAAgBtyC,IAAWsyC,GAAgBrhC,KAC/C9e,EAAQ0Q,EAAG2D,MAAM2L,KAAKC,SAASnB,GAAckB,KAAKnS,IAK9CsyC,GAAgBngD,KACpB0gD,EAAgBhwC,EAAGyb,eAAiBnsB,EAAMqB,EAAIrB,EAAMsB,SAE/B4G,IAAlBw4C,QAA0Cx4C,IAAVlI,GAAuBgJ,MAAM6E,MAChEjP,EAAS8R,EAAGqmC,aACZ/2C,EAAQ6Z,EAAUlL,eAAe+xC,EAAe1gD,GAEhD6N,GAAiB,KADjB+0B,EAAMhkC,EAAOyS,QAAQrR,IACA4iC,EAAM/0B,EACvB7E,MAAM6E,KACTA,EAAQ7N,IAGH0Q,EAAG8e,oBAAoB3hB,EAAQ6C,EAAG8vC,aAAe9vC,EAAG+vC,cAG5DnyB,gBAAiB,SAASzgB,GACzB,IAAIqmB,EAAQh2B,KAAKg2B,MACjB,OAAOrmB,EAAQ,GAAKA,EAAQqmB,EAAMr0B,OAAS,EACxC,KACA3B,KAAKkvB,iBAAiB8G,EAAMrmB,GAAQA,EAAQ3P,KAAKoiD,WAGrD5D,iBAAkB,SAASG,GAC1B,IACI78C,EAAQO,KAAKqD,MADR1F,KACiBsiD,YADjBtiD,KACkC0+C,mBAAmBC,GADrD3+C,KACiEuiD,aAC1E,OAAOlgD,KAAKD,IAAIC,KAAKC,IAAIR,EAAO,GAFvB9B,KAE8Bg2B,MAAMr0B,OAAS,IAGvDqsB,aAAc,WACb,OAAOhuB,KAAK6W,UAMdqrC,GAAeO,UA5HK,CACnB7xB,SAAU,UA6HX,IACI8xB,GAAkB/mC,EAAUxL,cAgF5BwyC,GAAmBX,GAAW9vC,OAAO,CACxCglB,cAAe,SAASp1B,GACvB,MAAqB,iBAAVA,GACFA,EAEFkgD,GAAWn5C,UAAUquB,cAAcnuB,KAAK/I,KAAM8B,IAGtD8gD,uBAAwB,WACvB,IAAIpwC,EAAKxS,KAEL+1B,EADOvjB,EAAGd,QACMskB,MAKpB,GAAID,EAASkC,YAAa,CACzB,IAAI4qB,EAAUlnC,EAAUmnC,KAAKtwC,EAAGpQ,KAC5B2gD,EAAUpnC,EAAUmnC,KAAKtwC,EAAGlQ,KAE5BugD,EAAU,GAAKE,EAAU,EAE5BvwC,EAAGlQ,IAAM,EACCugD,EAAU,GAAKE,EAAU,IAEnCvwC,EAAGpQ,IAAM,GAIX,IAAI4gD,OAA0Bh5C,IAAjB+rB,EAAS3zB,UAA+C4H,IAA1B+rB,EAASktB,aAChDC,OAA0Bl5C,IAAjB+rB,EAASzzB,UAA+C0H,IAA1B+rB,EAASotB,kBAE/Bn5C,IAAjB+rB,EAAS3zB,IACZoQ,EAAGpQ,IAAM2zB,EAAS3zB,SACkB4H,IAA1B+rB,EAASktB,eAElBzwC,EAAGpQ,IADW,OAAXoQ,EAAGpQ,IACG2zB,EAASktB,aAET5gD,KAAKD,IAAIoQ,EAAGpQ,IAAK2zB,EAASktB,oBAIhBj5C,IAAjB+rB,EAASzzB,IACZkQ,EAAGlQ,IAAMyzB,EAASzzB,SACkB0H,IAA1B+rB,EAASotB,eAElB3wC,EAAGlQ,IADW,OAAXkQ,EAAGlQ,IACGyzB,EAASotB,aAET9gD,KAAKC,IAAIkQ,EAAGlQ,IAAKyzB,EAASotB,eAIjCH,IAAWE,GAKV1wC,EAAGpQ,KAAOoQ,EAAGlQ,MACZ0gD,EACHxwC,EAAGlQ,IAAMkQ,EAAGpQ,IAAM,EAElBoQ,EAAGpQ,IAAMoQ,EAAGlQ,IAAM,GAKjBkQ,EAAGpQ,MAAQoQ,EAAGlQ,MACjBkQ,EAAGlQ,MAEEyzB,EAASkC,aACbzlB,EAAGpQ,QAKNghD,aAAc,WACb,IAIIC,EAHAttB,EADK/1B,KACS0R,QAAQskB,MACtBstB,EAAWvtB,EAASutB,SACpBvE,EAAgBhpB,EAASgpB,cAc7B,OAXIuE,EACHD,EAAWhhD,KAAKm1C,KAPRx3C,KAOgBsC,IAAMghD,GAAYjhD,KAAK6B,MAPvClE,KAOgDoC,IAAMkhD,GAAY,GAE1ED,EATQrjD,KASMujD,oBACdxE,EAAgBA,GAAiB,IAG9BA,IACHsE,EAAWhhD,KAAKD,IAAI28C,EAAesE,IAG7BA,GAGRE,kBAAmB,WAClB,OAAO/yC,OAAOgqB,mBAGfgpB,yBArLU7nC,EAAU1L,KAuLpBkqC,WAAY,WACX,IAAI3nC,EAAKxS,KAEL+1B,EADOvjB,EAAGd,QACMskB,MAMhBqtB,EAAW7wC,EAAG4wC,eAGdK,EAA0B,CAC7BJ,SAHDA,EAAWhhD,KAAKC,IAAI,EAAG+gD,GAItBjhD,IAAK2zB,EAAS3zB,IACdE,IAAKyzB,EAASzzB,IACdohD,UAAW3tB,EAAS2tB,UACpBJ,SAAU3nC,EAAUlL,eAAeslB,EAAS4tB,cAAe5tB,EAASutB,WAEjEttB,EAAQxjB,EAAGwjB,MAjMjB,SAAuB4tB,EAAmBC,GACzC,IAeItE,EAAQuE,EAASC,EAASC,EAf1BhuB,EAAQ,GAMRstB,EAAWM,EAAkBN,SAC7BW,EAAOX,GAAY,EACnBY,EAAeN,EAAkBP,SAAW,EAC5CjhD,EAAMwhD,EAAkBxhD,IACxBE,EAAMshD,EAAkBthD,IACxBohD,EAAYE,EAAkBF,UAC9BS,EAAON,EAAUzhD,IACjBgiD,EAAOP,EAAUvhD,IACjB80C,EAAUz7B,EAAU0oC,SAASD,EAAOD,GAAQD,EAAeD,GAAQA,EAKvE,GAAI7M,EAdc,OAcWsL,GAAgBtgD,IAAQsgD,GAAgBpgD,GACpE,MAAO,CAAC6hD,EAAMC,IAGfJ,EAAY3hD,KAAKm1C,KAAK4M,EAAOhN,GAAW/0C,KAAK6B,MAAMigD,EAAO/M,IAC1C8M,IAEf9M,EAAUz7B,EAAU0oC,QAAQL,EAAY5M,EAAU8M,EAAeD,GAAQA,GAGtEX,GAAYZ,GAAgBgB,GAE/BnE,EAASl9C,KAAKmB,IAAI,GAAImY,EAAU2oC,eAAelN,KAG/CmI,EAASl9C,KAAKmB,IAAI,GAAIkgD,GACtBtM,EAAU/0C,KAAKm1C,KAAKJ,EAAUmI,GAAUA,GAGzCuE,EAAUzhD,KAAK6B,MAAMigD,EAAO/M,GAAWA,EACvC2M,EAAU1hD,KAAKm1C,KAAK4M,EAAOhN,GAAWA,EAGlCkM,KAEEZ,GAAgBtgD,IAAQuZ,EAAU4oC,YAAYniD,EAAMg1C,EAASA,EAAU,OAC3E0M,EAAU1hD,IAENsgD,GAAgBpgD,IAAQqZ,EAAU4oC,YAAYjiD,EAAM80C,EAASA,EAAU,OAC3E2M,EAAUzhD,IAOX0hD,EADGroC,EAAU6oC,aAFdR,GAAaD,EAAUD,GAAW1M,EAEI/0C,KAAKqD,MAAMs+C,GAAY5M,EAAU,KAC1D/0C,KAAKqD,MAAMs+C,GAEX3hD,KAAKm1C,KAAKwM,GAGvBF,EAAUzhD,KAAKqD,MAAMo+C,EAAUvE,GAAUA,EACzCwE,EAAU1hD,KAAKqD,MAAMq+C,EAAUxE,GAAUA,EACzCvpB,EAAM7a,KAAKunC,GAAgBtgD,GAAO0hD,EAAU1hD,GAC5C,IAAK,IAAIgxB,EAAI,EAAGA,EAAI4wB,IAAa5wB,EAChC4C,EAAM7a,KAAK9Y,KAAKqD,OAAOo+C,EAAU1wB,EAAIgkB,GAAWmI,GAAUA,GAI3D,OAFAvpB,EAAM7a,KAAKunC,GAAgBpgD,GAAOyhD,EAAUzhD,GAErC0zB,EA4HiByuB,CAAchB,EAAyBjxC,GAE9DA,EAAGgxC,2BAIHhxC,EAAGlQ,IAAMqZ,EAAUrZ,IAAI0zB,GACvBxjB,EAAGpQ,IAAMuZ,EAAUvZ,IAAI4zB,GAEnBD,EAAS9kB,SACZ+kB,EAAM/kB,UAENuB,EAAGoL,MAAQpL,EAAGlQ,IACdkQ,EAAG4c,IAAM5c,EAAGpQ,MAEZoQ,EAAGoL,MAAQpL,EAAGpQ,IACdoQ,EAAG4c,IAAM5c,EAAGlQ,MAIdk5C,qBAAsB,WACrB,IAAIhpC,EAAKxS,KACTwS,EAAGkyC,eAAiBlyC,EAAGwjB,MAAMltB,QAC7B0J,EAAG+lC,cAAgB/lC,EAAGwjB,MAAM7iB,QAAQ,GAEpC6uC,GAAWn5C,UAAU2yC,qBAAqBzyC,KAAKyJ,IAGhDqR,WAAY,WACX,IAII+I,EAJApa,EAAKxS,KACLg2B,EAAQxjB,EAAG2d,WACXvS,EAAQpL,EAAGpQ,IACXgtB,EAAM5c,EAAGlQ,IAGb0/C,GAAWn5C,UAAUgb,WAAW9a,KAAKyJ,GAEjCA,EAAGd,QAAQkb,QAAUoJ,EAAMr0B,SAE9Bic,GADAgP,GAAUwC,EAAMxR,GAASvb,KAAKC,IAAI0zB,EAAMr0B,OAAS,EAAG,GAAK,EAEzDytB,GAAOxC,GAERpa,EAAG8vC,YAAc1kC,EACjBpL,EAAGmyC,UAAYv1B,EACf5c,EAAG+vC,YAAcnzB,EAAMxR,KAIrBgnC,GAAkB,CACrBh0B,SAAU,OACVoF,MAAO,CACNplB,SAAU2kC,GAAWC,WAAW9hC,SAyBlC,SAASmxC,GAAUh6C,EAAOikB,EAAQzN,EAAMS,GACvC,IAMIhe,EAAGhC,EANHwxB,EAAOzoB,EAAM6G,QAEb0b,EArBL,SAA0B0B,EAAQD,EAASxN,GAC1C,IAAI/gB,EAAM,CACT+gB,EAAKxS,UAEO7E,IAAZ6kB,QAAwC7kB,IAAfqX,EAAK+L,MAAsB/L,EAAK1R,MAAQ,GACjE0R,EAAK+L,OACJ5mB,KAAK,KASP,YAPoBwD,IAAhB8kB,EAAOxuB,KACVwuB,EAAOxuB,GAAO,CACbo7B,IAAK,GACLopB,IAAK,KAIAh2B,EAAOxuB,GAMFykD,CAAiBj2B,EADfwE,EAAKzE,QAC2BxN,GAC1Cqa,EAAMtO,EAAMsO,IACZopB,EAAM13B,EAAM03B,IACZzzC,EAAOyQ,EAAKngB,OAGhB,IAAKmC,EAAI,EAAGA,EAAIuN,IAAQvN,EACvBhC,EAAQ+I,EAAM6kB,YAAY5N,EAAKhe,IAC3BgH,MAAMhJ,EAAMM,MAAQ0I,MAAMhJ,EAAMQ,MAAQ+e,EAAKS,KAAKhe,GAAGuZ,SAIzDqe,EAAI53B,GAAK43B,EAAI53B,IAAM,EACnBghD,EAAIhhD,GAAKghD,EAAIhhD,IAAM,EAEfwvB,EAAK0xB,eACRtpB,EAAI53B,GAAK,IACChC,EAAMM,IAAM,GAAKN,EAAMQ,IAAM,EACvCwiD,EAAIhhD,IAAMhC,EAAMM,IAEhBs5B,EAAI53B,IAAMhC,EAAMQ,KAKnB,SAAS2iD,GAAap6C,EAAOwW,EAAMS,GAClC,IACIhe,EAAGhC,EADHuP,EAAOyQ,EAAKngB,OAGhB,IAAKmC,EAAI,EAAGA,EAAIuN,IAAQvN,EACvBhC,EAAQ+I,EAAM6kB,YAAY5N,EAAKhe,IAC3BgH,MAAMhJ,EAAMM,MAAQ0I,MAAMhJ,EAAMQ,MAAQ+e,EAAKS,KAAKhe,GAAGuZ,SAIzDxS,EAAMzI,IAAMC,KAAKD,IAAIyI,EAAMzI,IAAKN,EAAMM,KACtCyI,EAAMvI,IAAMD,KAAKC,IAAIuI,EAAMvI,IAAKR,EAAMQ,MAIxC,IAAI4iD,GAAevC,GAAiBzwC,OAAO,CAC1C8nC,oBAAqB,WACpB,IAQIl2C,EAAGud,EAAMS,EAAMzW,EARfmH,EAAKxS,KACLszB,EAAO9gB,EAAGd,QAEVqQ,EADQvP,EAAG2D,MACM2L,KAAKC,SACtB4M,EAAWnc,EAAGoc,2BACdu2B,EAAY7xB,EAAKzE,QACjBC,EAAS,GACTzd,EAAOsd,EAAShtB,OAMpB,GAHA6Q,EAAGpQ,IAAMoO,OAAOgqB,kBAChBhoB,EAAGlQ,IAAMkO,OAAO40C,uBAEEp7C,IAAdm7C,EACH,IAAKrhD,EAAI,GAAIqhD,GAAarhD,EAAIuN,IAAQvN,EAErCqhD,OAA2Bn7C,KAD3BqX,EAAOsN,EAAS7qB,IACCspB,MAInB,IAAKtpB,EAAI,EAAGA,EAAIuN,IAAQvN,EAEvBge,EAAOC,GADPV,EAAOsN,EAAS7qB,IACK6L,OAAOmS,KACxBqjC,EACHN,GAAUryC,EAAIsc,EAAQzN,EAAMS,GAE5BmjC,GAAazyC,EAAI6O,EAAMS,GAIzBnG,EAAU5K,KAAK+d,GAAQ,SAASu2B,GAC/Bh6C,EAASg6C,EAAY3pB,IAAIzvB,OAAOo5C,EAAYP,KAC5CtyC,EAAGpQ,IAAMC,KAAKD,IAAIoQ,EAAGpQ,IAAKuZ,EAAUvZ,IAAIiJ,IACxCmH,EAAGlQ,IAAMD,KAAKC,IAAIkQ,EAAGlQ,IAAKqZ,EAAUrZ,IAAI+I,OAGzCmH,EAAGpQ,IAAMuZ,EAAUpL,SAASiC,EAAGpQ,OAAS0I,MAAM0H,EAAGpQ,KAAOoQ,EAAGpQ,IAtG3C,EAuGhBoQ,EAAGlQ,IAAMqZ,EAAUpL,SAASiC,EAAGlQ,OAASwI,MAAM0H,EAAGlQ,KAAOkQ,EAAGlQ,IAtG3C,EAyGhBkQ,EAAGowC,0BAIJW,kBAAmB,WAClB,IACI1F,EAEJ,OAHS79C,KAGFiuB,eACC5rB,KAAKm1C,KAJJx3C,KAIYsW,MAAQ,KAE7BunC,EAAWliC,EAAUjK,QAAQyI,WANpBna,KAMkC0R,QAAQskB,OAC5C3zB,KAAKm1C,KAPHx3C,KAOWuW,OAASsnC,EAASpjC,cAIvC+oC,yBAA0B,WACpBxjD,KAAKiuB,gBAETjuB,KAAKg2B,MAAM/kB,WAIb46B,iBAAkB,SAASl8B,EAAOiR,GACjC,OAAO5gB,KAAKu+C,eAAev+C,KAAKmW,MAAM2L,KAAKC,SAASnB,GAAckB,KAAKnS,KAIxEuf,iBAAkB,SAASptB,GAE1B,OADS9B,KACCsxB,qBADDtxB,KACyBk3B,cAAcp1B,GADvC9B,KACmDsiD,aADnDtiD,KACqEuiD,cAG/E/D,iBAAkB,SAASG,GAC1B,OAAO3+C,KAAKsiD,YAActiD,KAAK0+C,mBAAmBC,GAAS3+C,KAAKuiD,aAGjEnyB,gBAAiB,SAASzgB,GACzB,IAAIqmB,EAAQh2B,KAAK0kD,eACjB,OAAI/0C,EAAQ,GAAKA,EAAQqmB,EAAMr0B,OAAS,EAChC,KAED3B,KAAKkvB,iBAAiB8G,EAAMrmB,OAMrCu1C,GAAazC,UADKmC,GAGlB,IAAIU,GAAmB3pC,EAAUlL,eAC7B4K,GAAQM,EAAUE,KAAKR,MAgDvBkqC,GAAkB,CACrB30B,SAAU,OAGVoF,MAAO,CACNplB,SAAU2kC,GAAWC,WAAWS,cAKlC,SAASuP,GAAqB1jD,EAAO4O,GACpC,OAAOiL,EAAUpL,SAASzO,IAAUA,GAAS,EAAIA,EAAQ4O,EAG1D,IAAI+0C,GAAoBzD,GAAW9vC,OAAO,CACzC8nC,oBAAqB,WACpB,IAQIp5B,EAAcS,EAAMvf,EAAOggB,EAAMhe,EAAGuN,EARpCmB,EAAKxS,KACLszB,EAAO9gB,EAAGd,QACVyE,EAAQ3D,EAAG2D,MACX4L,EAAW5L,EAAM2L,KAAKC,SACtBkM,EAAezb,EAAGyb,eACtB,SAASy3B,EAAUrkC,GAClB,OAAO4M,EAAe5M,EAAKK,UAAYlP,EAAG1C,GAAKuR,EAAKO,UAAYpP,EAAG1C,GAKpE0C,EAAGpQ,IAAMoO,OAAOgqB,kBAChBhoB,EAAGlQ,IAAMkO,OAAO40C,kBAChB5yC,EAAGmzC,WAAan1C,OAAOgqB,kBAEvB,IAAI2qB,EAAY7xB,EAAKzE,QACrB,QAAkB7kB,IAAdm7C,EACH,IAAKvkC,EAAe,EAAGA,EAAemB,EAASpgB,OAAQif,IAEtD,GADAS,EAAOlL,EAAM6L,eAAepB,GACxBzK,EAAMkd,iBAAiBzS,IAAiB8kC,EAAUrkC,SACtCrX,IAAfqX,EAAK+L,MAAqB,CAC1B+3B,GAAY,EACZ,MAKH,GAAI7xB,EAAKzE,SAAWs2B,EAAW,CAC9B,IAAIS,EAAiB,GAErB,IAAKhlC,EAAe,EAAGA,EAAemB,EAASpgB,OAAQif,IAAgB,CAEtE,IAAItgB,EAAM,EADV+gB,EAAOlL,EAAM6L,eAAepB,IAEtB/R,UAEc7E,IAAjBspB,EAAKzE,cAAwC7kB,IAAfqX,EAAK+L,MAAuBxM,EAAe,GAC3ES,EAAK+L,OACJ5mB,KAAK,KAEP,GAAI2P,EAAMkd,iBAAiBzS,IAAiB8kC,EAAUrkC,GAMrD,SAL4BrX,IAAxB47C,EAAetlD,KAClBslD,EAAetlD,GAAO,IAIlBwD,EAAI,EAAGuN,GADZyQ,EAAOC,EAASnB,GAAckB,MACNngB,OAAQmC,EAAIuN,EAAMvN,IAAK,CAC9C,IAAIuH,EAASu6C,EAAetlD,GAC5BwB,EAAQ0Q,EAAGkd,YAAY5N,EAAKhe,IAExBgH,MAAMhJ,EAAMM,MAAQ0I,MAAMhJ,EAAMQ,MAAQ+e,EAAKS,KAAKhe,GAAGuZ,QAAUvb,EAAMM,IAAM,GAAKN,EAAMQ,IAAM,IAGhG+I,EAAOvH,GAAKuH,EAAOvH,IAAM,EACzBuH,EAAOvH,IAAMhC,EAAMQ,MAKtBqZ,EAAU5K,KAAK60C,GAAgB,SAASC,GACvC,GAAIA,EAAclkD,OAAS,EAAG,CAC7B,IAAImkD,EAASnqC,EAAUvZ,IAAIyjD,GACvBE,EAASpqC,EAAUrZ,IAAIujD,GAC3BrzC,EAAGpQ,IAAMC,KAAKD,IAAIoQ,EAAGpQ,IAAK0jD,GAC1BtzC,EAAGlQ,IAAMD,KAAKC,IAAIkQ,EAAGlQ,IAAKyjD,YAK5B,IAAKnlC,EAAe,EAAGA,EAAemB,EAASpgB,OAAQif,IAEtD,GADAS,EAAOlL,EAAM6L,eAAepB,GACxBzK,EAAMkd,iBAAiBzS,IAAiB8kC,EAAUrkC,GAErD,IAAKvd,EAAI,EAAGuN,GADZyQ,EAAOC,EAASnB,GAAckB,MACNngB,OAAQmC,EAAIuN,EAAMvN,IACzChC,EAAQ0Q,EAAGkd,YAAY5N,EAAKhe,IAExBgH,MAAMhJ,EAAMM,MAAQ0I,MAAMhJ,EAAMQ,MAAQ+e,EAAKS,KAAKhe,GAAGuZ,QAAUvb,EAAMM,IAAM,GAAKN,EAAMQ,IAAM,IAIhGkQ,EAAGpQ,IAAMC,KAAKD,IAAIN,EAAMM,IAAKoQ,EAAGpQ,KAChCoQ,EAAGlQ,IAAMD,KAAKC,IAAIR,EAAMQ,IAAKkQ,EAAGlQ,KAEd,IAAdR,EAAMM,MACToQ,EAAGmzC,WAAatjD,KAAKD,IAAIN,EAAMM,IAAKoQ,EAAGmzC,cAO5CnzC,EAAGpQ,IAAMuZ,EAAUpL,SAASiC,EAAGpQ,KAAOoQ,EAAGpQ,IAAM,KAC/CoQ,EAAGlQ,IAAMqZ,EAAUpL,SAASiC,EAAGlQ,KAAOkQ,EAAGlQ,IAAM,KAC/CkQ,EAAGmzC,WAAahqC,EAAUpL,SAASiC,EAAGmzC,YAAcnzC,EAAGmzC,WAAa,KAGpE3lD,KAAK4iD,0BAGNA,uBAAwB,WACvB,IAAIpwC,EAAKxS,KACL+1B,EAAWvjB,EAAGd,QAAQskB,MAI1BxjB,EAAGpQ,IAAMojD,GAAqBzvB,EAAS3zB,IAAKoQ,EAAGpQ,KAC/CoQ,EAAGlQ,IAAMkjD,GAAqBzvB,EAASzzB,IAAKkQ,EAAGlQ,KAE3CkQ,EAAGpQ,MAAQoQ,EAAGlQ,MACF,IAAXkQ,EAAGpQ,KAAwB,OAAXoQ,EAAGpQ,KACtBoQ,EAAGpQ,IAAMC,KAAKmB,IAAI,GAAInB,KAAK6B,MAAMmX,GAAM7I,EAAGpQ,MAAQ,GAClDoQ,EAAGlQ,IAAMD,KAAKmB,IAAI,GAAInB,KAAK6B,MAAMmX,GAAM7I,EAAGlQ,MAAQ,KAElDkQ,EAAGpQ,IAXa,EAYhBoQ,EAAGlQ,IAXa,KAcH,OAAXkQ,EAAGpQ,MACNoQ,EAAGpQ,IAAMC,KAAKmB,IAAI,GAAInB,KAAK6B,MAAMmX,GAAM7I,EAAGlQ,MAAQ,IAEpC,OAAXkQ,EAAGlQ,MACNkQ,EAAGlQ,IAAiB,IAAXkQ,EAAGpQ,IACTC,KAAKmB,IAAI,GAAInB,KAAK6B,MAAMmX,GAAM7I,EAAGpQ,MAAQ,GAnB3B,IAsBI,OAAlBoQ,EAAGmzC,aAELnzC,EAAGmzC,WADAnzC,EAAGpQ,IAAM,EACIoQ,EAAGpQ,IACToQ,EAAGlQ,IAAM,EACHD,KAAKmB,IAAI,GAAInB,KAAK6B,MAAMmX,GAAM7I,EAAGlQ,OA3BjC,IAkCnB63C,WAAY,WACX,IAAI3nC,EAAKxS,KACL+1B,EAAWvjB,EAAGd,QAAQskB,MACtB/kB,GAAWuB,EAAGyb,eAEd21B,EAAoB,CACvBxhD,IAAKojD,GAAqBzvB,EAAS3zB,KACnCE,IAAKkjD,GAAqBzvB,EAASzzB,MAEhC0zB,EAAQxjB,EAAGwjB,MAxMjB,SAAyB4tB,EAAmBC,GAC3C,IAMImC,EAAKC,EANLjwB,EAAQ,GAERkwB,EAAUZ,GAAiB1B,EAAkBxhD,IAAKC,KAAKmB,IAAI,GAAInB,KAAK6B,MAAMmX,GAAMwoC,EAAUzhD,QAE1F+jD,EAAS9jD,KAAK6B,MAAMmX,GAAMwoC,EAAUvhD,MACpC8jD,EAAiB/jD,KAAKm1C,KAAKqM,EAAUvhD,IAAMD,KAAKmB,IAAI,GAAI2iD,IAG5C,IAAZD,GACHF,EAAM3jD,KAAK6B,MAAMmX,GAAMwoC,EAAU8B,aACjCM,EAAc5jD,KAAK6B,MAAM2/C,EAAU8B,WAAatjD,KAAKmB,IAAI,GAAIwiD,IAE7DhwB,EAAM7a,KAAK+qC,GACXA,EAAUD,EAAc5jD,KAAKmB,IAAI,GAAIwiD,KAErCA,EAAM3jD,KAAK6B,MAAMmX,GAAM6qC,IACvBD,EAAc5jD,KAAK6B,MAAMgiD,EAAU7jD,KAAKmB,IAAI,GAAIwiD,KAEjD,IAAItC,EAAYsC,EAAM,EAAI3jD,KAAKmB,IAAI,GAAInB,KAAK6nB,IAAI87B,IAAQ,EAExD,GACChwB,EAAM7a,KAAK+qC,GAGS,MADlBD,IAEDA,EAAc,EAEdvC,IADEsC,GACiB,EAAI,EAAItC,GAG5BwC,EAAU7jD,KAAKqD,MAAMugD,EAAc5jD,KAAKmB,IAAI,GAAIwiD,GAAOtC,GAAaA,QAC5DsC,EAAMG,GAAWH,IAAQG,GAAUF,EAAcG,GAE1D,IAAIC,EAAWf,GAAiB1B,EAAkBthD,IAAK4jD,GAGvD,OAFAlwB,EAAM7a,KAAKkrC,GAEJrwB,EAmKiBswB,CAAgB1C,EAAmBpxC,GAI1DA,EAAGlQ,IAAMqZ,EAAUrZ,IAAI0zB,GACvBxjB,EAAGpQ,IAAMuZ,EAAUvZ,IAAI4zB,GAEnBD,EAAS9kB,SACZA,GAAWA,EACXuB,EAAGoL,MAAQpL,EAAGlQ,IACdkQ,EAAG4c,IAAM5c,EAAGpQ,MAEZoQ,EAAGoL,MAAQpL,EAAGpQ,IACdoQ,EAAG4c,IAAM5c,EAAGlQ,KAET2O,GACH+kB,EAAM/kB,WAIRuqC,qBAAsB,WACrBx7C,KAAKumD,WAAavmD,KAAKg2B,MAAMltB,QAE7Bk5C,GAAWn5C,UAAU2yC,qBAAqBzyC,KAAK/I,OAIhD6rC,iBAAkB,SAASl8B,EAAOiR,GACjC,OAAO5gB,KAAKu+C,eAAev+C,KAAKmW,MAAM2L,KAAKC,SAASnB,GAAckB,KAAKnS,KAGxEygB,gBAAiB,SAASzgB,GACzB,IAAIqmB,EAAQh2B,KAAKumD,WACjB,OAAI52C,EAAQ,GAAKA,EAAQqmB,EAAMr0B,OAAS,EAChC,KAED3B,KAAKkvB,iBAAiB8G,EAAMrmB,KASpC62C,mBAAoB,SAAS1kD,GAC5B,IAAIkkD,EAAM3jD,KAAK6B,MAAMmX,GAAMvZ,IAG3B,OAFkBO,KAAK6B,MAAMpC,EAAQO,KAAKmB,IAAI,GAAIwiD,IAE7B3jD,KAAKmB,IAAI,GAAIwiD,IAGnCniC,WAAY,WACX,IAAIrR,EAAKxS,KACL4d,EAAQpL,EAAGpQ,IACXwqB,EAAS,EAEbo1B,GAAWn5C,UAAUgb,WAAW9a,KAAKyJ,GAEvB,IAAVoL,IACHA,EAAQpL,EAAGg0C,mBAAmBh0C,EAAGmzC,YACjC/4B,EAAS04B,GAAiB9yC,EAAGd,QAAQskB,MAAM3b,SAAUP,EAAcza,OAAOqa,iBAAmBlH,EAAG0d,SAGjG1d,EAAG8vC,YAAcjnC,GAAMuC,GACvBpL,EAAGi0C,aAAe75B,EAClBpa,EAAG+vC,aAAelnC,GAAM7I,EAAGlQ,KAAO+Y,GAAMuC,KAAW,EAAIgP,IAGxDsC,iBAAkB,SAASptB,GAC1B,IAAI0Q,EAAKxS,KACLy+C,EAAU,EAOd,OALA38C,GAAS0Q,EAAG0kB,cAAcp1B,IAEd0Q,EAAGpQ,KAAON,EAAQ,IAC7B28C,GAAWpjC,GAAMvZ,GAAS0Q,EAAG8vC,aAAe9vC,EAAG+vC,YAAc/vC,EAAGi0C,cAE1Dj0C,EAAG8e,mBAAmBmtB,IAG9BD,iBAAkB,SAASG,GAC1B,IAAInsC,EAAKxS,KACLy+C,EAAUjsC,EAAGksC,mBAAmBC,GACpC,OAAmB,IAAZF,GAA4B,IAAXjsC,EAAGpQ,IACxB,EACAC,KAAKmB,IAAI,GAAIgP,EAAG8vC,aAAe7D,EAAUjsC,EAAGi0C,cAAgBj0C,EAAG+vC,gBAMpEkD,GAAkBhD,UADA8C,GAGlB,IAAImB,GAAmB/qC,EAAUlL,eAC7Bk2C,GAA0BhrC,EAAUhL,sBACpCi2C,GAAYjrC,EAAUjK,QAAQkJ,QAE9BisC,GAAkB,CACrB/uB,SAAS,EAGTgvB,SAAS,EACTl2B,SAAU,YAEViH,WAAY,CACXC,SAAS,EACTlyB,MAAO,kBACP2iB,UAAW,EACXO,WAAY,GACZC,iBAAkB,GAGnB8D,UAAW,CACVkL,UAAU,GAIX/B,MAAO,CAEN+wB,mBAAmB,EAGnBC,cAAe,yBAGfC,iBAAkB,EAGlBC,iBAAkB,EAElBt2C,SAAU2kC,GAAWC,WAAW9hC,QAGjCskB,YAAa,CAEZF,SAAS,EAGTzd,SAAU,GAGVzJ,SAAU,SAASid,GAClB,OAAOA,KAKV,SAASs5B,GAAsB7zB,GAC9B,IAAIyC,EAAWzC,EAAK0C,MAEpB,OAAID,EAAS+B,SAAWxE,EAAKwE,QACrB4uB,GAAiB3wB,EAAS1b,SAAUP,EAAcza,OAAOqa,iBAA+C,EAA5Bqc,EAASkxB,iBAEtF,EAiBR,SAASG,GAAgBz/B,EAAO+T,EAAKnkB,EAAMnV,EAAKE,GAC/C,OAAIqlB,IAAUvlB,GAAOulB,IAAUrlB,EACvB,CACNsb,MAAO8d,EAAOnkB,EAAO,EACrB6X,IAAKsM,EAAOnkB,EAAO,GAEVoQ,EAAQvlB,GAAOulB,EAAQrlB,EAC1B,CACNsb,MAAO8d,EAAMnkB,EACb6X,IAAKsM,GAIA,CACN9d,MAAO8d,EACPtM,IAAKsM,EAAMnkB,GAuFb,SAAS8vC,GAAqB1/B,GAC7B,OAAc,IAAVA,GAAyB,MAAVA,EACX,SACGA,EAAQ,IACX,OAGD,QAGR,SAASumB,GAAS93B,EAAKuc,EAAM/B,EAAUnW,GACtC,IACI3W,EAAGuN,EADHjO,EAAIwtB,EAASxtB,EAAIqX,EAAa,EAGlC,GAAIkB,EAAUvL,QAAQuiB,GACrB,IAAK7uB,EAAI,EAAGuN,EAAOshB,EAAKhxB,OAAQmC,EAAIuN,IAAQvN,EAC3CsS,EAAI83B,SAASvb,EAAK7uB,GAAI8sB,EAASztB,EAAGC,GAClCA,GAAKqX,OAGNrE,EAAI83B,SAASvb,EAAM/B,EAASztB,EAAGC,GAIjC,SAASkkD,GAAkC3/B,EAAO4/B,EAAU32B,GAC7C,KAAVjJ,GAA0B,MAAVA,EACnBiJ,EAASxtB,GAAMmkD,EAASxlD,EAAI,GAClB4lB,EAAQ,KAAOA,EAAQ,MACjCiJ,EAASxtB,GAAKmkD,EAASxlD,GA0EzB,SAASylD,GAAaC,GACrB,OAAO9rC,EAAU0C,SAASopC,GAASA,EAAQ,EAG5C,IAAIC,GAAqB/E,GAAiBzwC,OAAO,CAChD2nC,cAAe,WACd,IAAIrnC,EAAKxS,KAGTwS,EAAG8D,MAAQ9D,EAAGymC,SACdzmC,EAAG+D,OAAS/D,EAAG0mC,UACf1mC,EAAGimC,WAAa0O,GAAsB30C,EAAGd,SAAW,EACpDc,EAAGomB,QAAUv2B,KAAK6B,MAAMsO,EAAG8D,MAAQ,GACnC9D,EAAGqmB,QAAUx2B,KAAK6B,OAAOsO,EAAG+D,OAAS/D,EAAGimC,YAAc,GACtDjmC,EAAGm1C,YAActlD,KAAKD,IAAIoQ,EAAG+D,OAAS/D,EAAGimC,WAAYjmC,EAAG8D,OAAS,GAGlE0jC,oBAAqB,WACpB,IAAIxnC,EAAKxS,KACLmW,EAAQ3D,EAAG2D,MACX/T,EAAMoO,OAAOgqB,kBACbl4B,EAAMkO,OAAO40C,kBAEjBzpC,EAAU5K,KAAKoF,EAAM2L,KAAKC,UAAU,SAASR,EAASX,GACrD,GAAIzK,EAAMkd,iBAAiBzS,GAAe,CACzC,IAAIS,EAAOlL,EAAM6L,eAAepB,GAEhCjF,EAAU5K,KAAKwQ,EAAQO,MAAM,SAAS67B,EAAUhuC,GAC/C,IAAI7N,GAAS0Q,EAAG0kB,cAAcymB,GAC1B7yC,MAAMhJ,IAAUuf,EAAKS,KAAKnS,GAAO0N,SAIrCjb,EAAMC,KAAKD,IAAIN,EAAOM,GACtBE,EAAMD,KAAKC,IAAIR,EAAOQ,WAKzBkQ,EAAGpQ,IAAOA,IAAQoO,OAAOgqB,kBAAoB,EAAIp4B,EACjDoQ,EAAGlQ,IAAOA,IAAQkO,OAAO40C,kBAAoB,EAAI9iD,EAGjDkQ,EAAGowC,0BAIJW,kBAAmB,WAClB,OAAOlhD,KAAKm1C,KAAKx3C,KAAK2nD,YAAcR,GAAsBnnD,KAAK0R,WAGhE8pC,qBAAsB,WACrB,IAAIhpC,EAAKxS,KAET2iD,GAAiB95C,UAAU2yC,qBAAqBzyC,KAAKyJ,GAGrDA,EAAGwlB,YAAcxlB,EAAG2D,MAAM2L,KAAKphB,OAAO4F,KAAI,WACzC,IAAIunB,EAAQlS,EAAU/K,SAAS4B,EAAGd,QAAQsmB,YAAYpnB,SAAUnL,UAAW+M,GAC3E,OAAOqb,GAAmB,IAAVA,EAAcA,EAAQ,OAIxCge,iBAAkB,SAASl8B,EAAOiR,GACjC,OAAQ5gB,KAAKk3B,cAAcl3B,KAAKmW,MAAM2L,KAAKC,SAASnB,GAAckB,KAAKnS,KAGxEmrC,IAAK,WACJ,IACIxnB,EADKtzB,KACK0R,QAEV4hB,EAAKwE,SAAWxE,EAAK0E,YAAYF,QA7PvC,SAA4BjtB,GA4B3B,IAWI/G,EAAGyjD,EAAUluB,EAXbuuB,EAASjsC,EAAUjK,QAAQyI,WAAWtP,EAAM6G,QAAQsmB,aAIpD6vB,EAAiB,CACpB7lD,EAAG,EACHC,EAAG4I,EAAMyL,MACThS,EAAG,EACHnC,EAAG0I,EAAM0L,OAAS1L,EAAM4tC,YAErBqP,EAAiB,GAGrBj9C,EAAMuL,IAAIkE,KAAOstC,EAAO7hD,OACxB8E,EAAMk9C,iBAAmB,GAEzB,IAhFyB3xC,EAAKqE,EAAYoT,EAgFtCm6B,EAAan9C,EAAMsL,MAAM2L,KAAKphB,OAAOiB,OACzC,IAAKmC,EAAI,EAAGA,EAAIkkD,EAAYlkD,IAAK,CAChCu1B,EAAgBxuB,EAAMo9C,iBAAiBnkD,EAAG+G,EAAM88C,YAAc,GAlFtCvxC,EAmFIvL,EAAMuL,IAnFLqE,EAmFUmtC,EAAOntC,WAA9C8sC,EAlFG5rC,EAAUvL,QAD4Byd,EAmFiBhjB,EAAMmtB,YAAYl0B,IAjFrE,CACNiD,EAAG4U,EAAUusC,YAAY9xC,EAAKA,EAAIkE,KAAMuT,GACxC9rB,EAAG8rB,EAAMlsB,OAAS8Y,GAIb,CACN1T,EAAGqP,EAAIo2B,YAAY3e,GAAOvX,MAC1BvU,EAAG0Y,GA0EH5P,EAAMk9C,iBAAiBjkD,GAAKyjD,EAG5B,IAAIpK,EAAetyC,EAAMs9C,cAAcrkD,GACnC6jB,EAAQhM,EAAU2gC,UAAUa,GAAgB,IAC5CiL,EAAUhB,GAAgBz/B,EAAO0R,EAAcl2B,EAAGokD,EAASxgD,EAAG,EAAG,KACjEshD,EAAUjB,GAAgBz/B,EAAO0R,EAAcj2B,EAAGmkD,EAASxlD,EAAG,GAAI,KAElEqmD,EAAQxqC,MAAQiqC,EAAe7lD,IAClC6lD,EAAe7lD,EAAIomD,EAAQxqC,MAC3BkqC,EAAe9lD,EAAIm7C,GAGhBiL,EAAQh5B,IAAMy4B,EAAe5lD,IAChC4lD,EAAe5lD,EAAImmD,EAAQh5B,IAC3B04B,EAAe7lD,EAAIk7C,GAGhBkL,EAAQzqC,MAAQiqC,EAAevjD,IAClCujD,EAAevjD,EAAI+jD,EAAQzqC,MAC3BkqC,EAAexjD,EAAI64C,GAGhBkL,EAAQj5B,IAAMy4B,EAAe1lD,IAChC0lD,EAAe1lD,EAAIkmD,EAAQj5B,IAC3B04B,EAAe3lD,EAAIg7C,GAIrBtyC,EAAMy9C,cAAcz9C,EAAM88C,YAAaE,EAAgBC,GAiLrDS,CAJQvoD,WAMLwoD,eAAe,EAAG,EAAG,EAAG,IAQ7BF,cAAe,SAASG,EAAuBZ,EAAgBC,GAC9D,IAAIt1C,EAAKxS,KACL0oD,EAAsBb,EAAe7lD,EAAIK,KAAKkD,IAAIuiD,EAAe9lD,GACjE2mD,EAAuBtmD,KAAKC,IAAIulD,EAAe5lD,EAAIuQ,EAAG8D,MAAO,GAAKjU,KAAKkD,IAAIuiD,EAAe7lD,GAC1F2mD,GAAsBf,EAAevjD,EAAIjC,KAAKiD,IAAIwiD,EAAexjD,GACjEukD,GAAyBxmD,KAAKC,IAAIulD,EAAe1lD,GAAKqQ,EAAG+D,OAAS/D,EAAGimC,YAAa,GAAKp2C,KAAKiD,IAAIwiD,EAAe3lD,GAEnHumD,EAAsBlB,GAAakB,GACnCC,EAAuBnB,GAAamB,GACpCC,EAAqBpB,GAAaoB,GAClCC,EAAwBrB,GAAaqB,GAErCr2C,EAAGm1C,YAActlD,KAAKD,IACrBC,KAAK6B,MAAMukD,GAAyBC,EAAsBC,GAAwB,GAClFtmD,KAAK6B,MAAMukD,GAAyBG,EAAqBC,GAAyB,IACnFr2C,EAAGg2C,eAAeE,EAAqBC,EAAsBC,EAAoBC,IAGlFL,eAAgB,SAASM,EAAcC,EAAeC,EAAaC,GAClE,IAAIz2C,EAAKxS,KAGLkpD,EAASF,EAAcx2C,EAAGm1C,YAC1BwB,EAAa32C,EAAG+D,OAAS/D,EAAGimC,WAAcwQ,EAAiBz2C,EAAGm1C,YAElEn1C,EAAGomB,QAAUv2B,KAAK6B,OAJJ4kD,EAAet2C,EAAGm1C,aADjBn1C,EAAG8D,MAAQyyC,EAAgBv2C,EAAGm1C,cAKG,EAAKn1C,EAAGkE,MACxDlE,EAAGqmB,QAAUx2B,KAAK6B,OAAQglD,EAASC,GAAa,EAAK32C,EAAGmE,IAAMnE,EAAGimC,aAGlE0P,cAAe,SAASx4C,GACvB,IAAIwG,EAAQnW,KAAKmW,MAMbwR,GAAShY,GALS,IAAMwG,EAAM2L,KAAKphB,OAAOiB,UAChCwU,EAAMzE,SAAW,IACNgV,YAAc,IAGc,IAErD,OAAQiB,EAAQ,EAAIA,EAAQ,IAAMA,GAAStlB,KAAK8C,GAAK,EAAI,KAG1D4zB,8BAA+B,SAASj3B,GACvC,IAAI0Q,EAAKxS,KAET,GAAI2b,EAAUxL,cAAcrO,GAC3B,OAAOyvB,IAIR,IAAI63B,EAAgB52C,EAAGm1C,aAAen1C,EAAGlQ,IAAMkQ,EAAGpQ,KAClD,OAAIoQ,EAAGd,QAAQskB,MAAM/kB,SACZuB,EAAGlQ,IAAMR,GAASsnD,GAEnBtnD,EAAQ0Q,EAAGpQ,KAAOgnD,GAG3BnB,iBAAkB,SAASt4C,EAAO05C,GACjC,IACIC,EADKtpD,KACUmoD,cAAcx4C,GAAUtN,KAAK8C,GAAK,EACrD,MAAO,CACNhC,EAAGd,KAAKiD,IAAIgkD,GAAaD,EAHjBrpD,KAGyC44B,QACjDx1B,EAAGf,KAAKkD,IAAI+jD,GAAaD,EAJjBrpD,KAIyC64B,UAInDS,yBAA0B,SAAS3pB,EAAO7N,GACzC,OAAO9B,KAAKioD,iBAAiBt4C,EAAO3P,KAAK+4B,8BAA8Bj3B,KAGxEynD,gBAAiB,SAAS55C,GACzB,IACIvN,EADKpC,KACIoC,IACTE,EAFKtC,KAEIsC,IAEb,OAJStC,KAICs5B,yBAAyB3pB,GAAS,EAJnC3P,KAKLi4B,YAAc,EACjB71B,EAAM,GAAKE,EAAM,EAAIA,EACrBF,EAAM,GAAKE,EAAM,EAAIF,EACrB,IAMF6+C,UAAW,WACV,IAOIn9C,EAAG8oB,EAAQgE,EAPXpe,EAAKxS,KACLoW,EAAM5D,EAAG4D,IACTkd,EAAO9gB,EAAGd,QACV8qC,EAAelpB,EAAKzG,UACpB28B,EAAgBl2B,EAAKuE,WACrBtP,EAAYm+B,GAAiB8C,EAAcjhC,UAAWi0B,EAAaj0B,WACnE63B,EAAYsG,GAAiB8C,EAAc5jD,MAAO42C,EAAa52C,OAgBnE,GAbI0tB,EAAK0E,YAAYF,SAtPvB,SAAyBjtB,GACxB,IAAIuL,EAAMvL,EAAMuL,IACZkd,EAAOzoB,EAAM6G,QACb+3C,EAAiBn2B,EAAK0E,YACtB0xB,EAAqBvC,GAAsB7zB,GAC3Cq2B,EAAgB9+C,EAAMkuB,8BAA8BzF,EAAK0C,MAAM/kB,QAAUpG,EAAMzI,IAAMyI,EAAMvI,KAC3FslD,EAASjsC,EAAUjK,QAAQyI,WAAWsvC,GAE1CrzC,EAAIsB,OAEJtB,EAAIkE,KAAOstC,EAAO7hD,OAClBqQ,EAAI63B,aAAe,SAEnB,IAAK,IAAInqC,EAAI+G,EAAMsL,MAAM2L,KAAKphB,OAAOiB,OAAS,EAAGmC,GAAK,EAAGA,IAAK,CAE7D,IACI8lD,EAAqB/+C,EAAMo9C,iBAAiBnkD,EAAG6lD,GADhC,IAAN7lD,EAAU4lD,EAAqB,EAAI,GAC2B,GAGvEG,EAAsBlD,GAAwB8C,EAAe5S,UAAW/yC,EAAGgW,EAAcza,OAAOma,kBACpGpD,EAAIgS,UAAYyhC,EAEhB,IAAI1M,EAAetyC,EAAMs9C,cAAcrkD,GACnC6jB,EAAQhM,EAAU2gC,UAAUa,GAChC/mC,EAAI+F,UAAYkrC,GAAqB1/B,GACrC2/B,GAAkC3/B,EAAO9c,EAAMk9C,iBAAiBjkD,GAAI8lD,GACpE1b,GAAS93B,EAAKvL,EAAMmtB,YAAYl0B,GAAI8lD,EAAoBhC,EAAOntC,YAEhErE,EAAIyB,UA2NFiyC,CAAgBt3C,GAGbgqC,EAAa1kB,SAChBnc,EAAU5K,KAAKyB,EAAGwjB,OAAO,SAASnI,EAAOle,GAC1B,IAAVA,IACHid,EAASpa,EAAGumB,8BAA8BvmB,EAAGkyC,eAAe/0C,IA9NjE,SAAwB9E,EAAO2xC,EAAc/lC,EAAQ9G,GACpD,IAKI0pB,EALAjjB,EAAMvL,EAAMuL,IACZ2hB,EAAWykB,EAAazkB,SACxBiwB,EAAan9C,EAAMsL,MAAM2L,KAAKphB,OAAOiB,OACrCy+C,EAAYuG,GAAwBnK,EAAa52C,MAAO+J,EAAQ,GAChE4Y,EAAYo+B,GAAwBnK,EAAaj0B,UAAW5Y,EAAQ,GAGxE,IAAMooB,GAAaiwB,IAAgB5H,GAAc73B,EAAjD,CAaA,GATAnS,EAAIsB,OACJtB,EAAIiS,YAAc+3B,EAClBhqC,EAAImS,UAAYA,EACZnS,EAAIyT,cACPzT,EAAIyT,YAAY2yB,EAAa1zB,YAAc,IAC3C1S,EAAI0T,eAAiB0yB,EAAazzB,kBAAoB,GAGvD3S,EAAI0B,YACAigB,EAEH3hB,EAAIW,IAAIlM,EAAM+tB,QAAS/tB,EAAMguB,QAASpiB,EAAQ,EAAa,EAAVpU,KAAK8C,QAChD,CAENk0B,EAAgBxuB,EAAMo9C,iBAAiB,EAAGxxC,GAC1CL,EAAIU,OAAOuiB,EAAcl2B,EAAGk2B,EAAcj2B,GAE1C,IAAK,IAAIU,EAAI,EAAGA,EAAIkkD,EAAYlkD,IAC/Bu1B,EAAgBxuB,EAAMo9C,iBAAiBnkD,EAAG2S,GAC1CL,EAAI2B,OAAOshB,EAAcl2B,EAAGk2B,EAAcj2B,GAG5CgT,EAAIY,YACJZ,EAAI8B,SACJ9B,EAAIyB,WA2LAkyC,CAAev3C,EAAIgqC,EAAc5vB,EAAQjd,OAKxC65C,EAAc1xB,SAAWvP,GAAa63B,EAAW,CASpD,IARAhqC,EAAIsB,OACJtB,EAAImS,UAAYA,EAChBnS,EAAIiS,YAAc+3B,EACdhqC,EAAIyT,cACPzT,EAAIyT,YAAY+8B,GAAU,CAAC4C,EAAc1gC,WAAY0zB,EAAa1zB,WAAY,MAC9E1S,EAAI0T,eAAiB88B,GAAU,CAAC4C,EAAczgC,iBAAkByzB,EAAazzB,iBAAkB,KAG3FjlB,EAAI0O,EAAG2D,MAAM2L,KAAKphB,OAAOiB,OAAS,EAAGmC,GAAK,EAAGA,IACjD8oB,EAASpa,EAAGumB,8BAA8BzF,EAAK0C,MAAM/kB,QAAUuB,EAAGpQ,IAAMoQ,EAAGlQ,KAC3EsuB,EAAWpe,EAAGy1C,iBAAiBnkD,EAAG8oB,GAClCxW,EAAI0B,YACJ1B,EAAIU,OAAOtE,EAAGomB,QAASpmB,EAAGqmB,SAC1BziB,EAAI2B,OAAO6Y,EAASztB,EAAGytB,EAASxtB,GAChCgT,EAAI8B,SAGL9B,EAAIyB,YAONupC,YAAa,WACZ,IAAI5uC,EAAKxS,KACLoW,EAAM5D,EAAG4D,IAET2f,EADOvjB,EAAGd,QACMskB,MAEpB,GAAKD,EAAS+B,QAAd,CAIA,IAGIlL,EAAQtW,EAHRoQ,EAAalU,EAAG21C,cAAc,GAC9BtK,EAAWliC,EAAUjK,QAAQyI,WAAW4b,GACxCi0B,EAAgBtD,GAAiB3wB,EAAS8gB,UAAW/8B,EAAcza,OAAOma,kBAG9EpD,EAAIsB,OACJtB,EAAIkE,KAAOujC,EAAS93C,OACpBqQ,EAAIuB,UAAUnF,EAAGomB,QAASpmB,EAAGqmB,SAC7BziB,EAAIhI,OAAOsY,GACXtQ,EAAI+F,UAAY,SAChB/F,EAAI63B,aAAe,SAEnBtyB,EAAU5K,KAAKyB,EAAGwjB,OAAO,SAASnI,EAAOle,IAC1B,IAAVA,GAAgBomB,EAAS9kB,WAI7B2b,EAASpa,EAAGumB,8BAA8BvmB,EAAGkyC,eAAe/0C,IAExDomB,EAASgxB,oBACZzwC,EAAQF,EAAIo2B,YAAY3e,GAAOvX,MAC/BF,EAAIgS,UAAY2N,EAASixB,cAEzB5wC,EAAIgW,UACF9V,EAAQ,EAAIyf,EAASmxB,kBACrBt6B,EAASixB,EAAStmC,KAAO,EAAIwe,EAASkxB,iBACvC3wC,EAAoC,EAA5Byf,EAASmxB,iBACjBrJ,EAAStmC,KAAmC,EAA5Bwe,EAASkxB,mBAI3B7wC,EAAIgS,UAAY4hC,EAChB5zC,EAAI83B,SAASrgB,EAAO,GAAIjB,OAGzBxW,EAAIyB,YAMLwpC,WAAY1lC,EAAU1L,OAKvBy3C,GAAmBjF,UADDoE,GAGlB,IAAIoD,GAAetuC,EAAU9I,YACzBq3C,GAAYvuC,EAAUjK,QAAQkJ,QAC9BuvC,GAAmBxuC,EAAUlL,eAG7B25C,GAAc55C,OAAO65C,mBAAqB,iBAC1CC,GAAc95C,OAAO+5C,kBAAoB,iBAEzCC,GAAY,CACfC,YAAa,CACZC,QAAQ,EACRnzC,KAAM,EACNozC,MAAO,KAERC,OAAQ,CACPF,QAAQ,EACRnzC,KAAM,IACNozC,MAAO,IAERE,OAAQ,CACPH,QAAQ,EACRnzC,KAAM,IACNozC,MAAO,IAERG,KAAM,CACLJ,QAAQ,EACRnzC,KAAM,KACNozC,MAAO,IAERI,IAAK,CACJL,QAAQ,EACRnzC,KAAM,MACNozC,MAAO,IAERK,KAAM,CACLN,QAAQ,EACRnzC,KAAM,OACNozC,MAAO,GAERM,MAAO,CACNP,QAAQ,EACRnzC,KAAM,OACNozC,MAAO,IAERO,QAAS,CACRR,QAAQ,EACRnzC,KAAM,OACNozC,MAAO,GAERQ,KAAM,CACLT,QAAQ,EACRnzC,KAAM,SAIJ6zC,GAAQxpD,OAAOgG,KAAK4iD,IAExB,SAASa,GAAOpmD,EAAG9C,GAClB,OAAO8C,EAAI9C,EAmBZ,SAASmpD,GAAO55C,GACf,OAAOiK,EAAUlL,eAAeiB,EAAQ65C,KAAKnpD,IAAKsP,EAAQskB,MAAM5zB,KAGjE,SAASopD,GAAO95C,GACf,OAAOiK,EAAUlL,eAAeiB,EAAQ65C,KAAKjpD,IAAKoP,EAAQskB,MAAM1zB,KAsFjE,SAASmpD,GAAcC,EAAOC,EAAM/5C,EAAMg6C,GACzC,IAAIj8B,EAjCL,SAAgB+7B,EAAOprD,EAAKwB,GAK3B,IAJA,IAEI+pD,EAAKC,EAAIC,EAFTC,EAAK,EACL/nD,EAAKynD,EAAM/pD,OAAS,EAGjBqqD,GAAM,GAAKA,GAAM/nD,GAAI,CAK3B,GAFA8nD,EAAKL,EAFLG,EAAOG,EAAK/nD,GAAO,KACnB6nD,EAAKJ,EAAMG,EAAM,IAAM,MAKtB,MAAO,CAACG,GAAI,KAAM/nD,GAAI8nD,GAChB,GAAIA,EAAGzrD,GAAOwB,EACpBkqD,EAAKH,EAAM,MACL,MAAIC,EAAGxrD,GAAOwB,GAGpB,MAAO,CAACkqD,GAAIF,EAAI7nD,GAAI8nD,GAFpB9nD,EAAK4nD,EAAM,GAOb,MAAO,CAACG,GAAID,EAAI9nD,GAAI,MAURgoD,CAAOP,EAAOC,EAAM/5C,GAG5BgU,EAAQ+J,EAAMq8B,GAAiBr8B,EAAM1rB,GAA+B0rB,EAAMq8B,GAAhCN,EAAMA,EAAM/pD,OAAS,GAA5C+pD,EAAM,GACzB77B,EAAQF,EAAMq8B,GAAiBr8B,EAAM1rB,GAA+B0rB,EAAM1rB,GAAhCynD,EAAMA,EAAM/pD,OAAS,GAA5C+pD,EAAM,GAEzBQ,EAAOr8B,EAAK87B,GAAQ/lC,EAAK+lC,GAI7B,OAAO/lC,EAAKgmC,IAFE/7B,EAAK+7B,GAAQhmC,EAAKgmC,KADpBM,GAAQt6C,EAAOgU,EAAK+lC,IAASO,EAAO,GAMjD,SAASC,GAAYthD,EAAOuhD,GAC3B,IAAIC,EAAUxhD,EAAMyhD,SAChB56C,EAAU7G,EAAM6G,QAAQ65C,KACxBgB,EAAS76C,EAAQ66C,OACjBxX,EAASwX,GAAU76C,EAAQqjC,OAC3BjzC,EAAQsqD,EAaZ,MAXsB,mBAAXG,IACVzqD,EAAQyqD,EAAOzqD,IAIX6Z,EAAUpL,SAASzO,KACvBA,EAA0B,iBAAXizC,EACZsX,EAAQvX,MAAMhzC,EAAOizC,GACrBsX,EAAQvX,MAAMhzC,IAGJ,OAAVA,GACKA,GAKJyqD,GAA4B,mBAAXxX,IACrBjzC,EAAQizC,EAAOqX,GAGVzwC,EAAUpL,SAASzO,KACvBA,EAAQuqD,EAAQvX,MAAMhzC,KAIjBA,GAGR,SAASgzC,GAAMjqC,EAAOuhD,GACrB,GAAIzwC,EAAUxL,cAAci8C,GAC3B,OAAO,KAGR,IAAI16C,EAAU7G,EAAM6G,QAAQ65C,KACxBzpD,EAAQqqD,GAAYthD,EAAOA,EAAMqsB,cAAck1B,IACnD,OAAc,OAAVtqD,EACIA,GAGJ4P,EAAQhM,QACX5D,GAAS+I,EAAMyhD,SAAStX,QAAQlzC,EAAO4P,EAAQhM,QAGzC5D,GAMR,SAAS0qD,GAA0BC,EAASrqD,EAAKE,EAAKoqD,GACrD,IACI5oD,EAAG6oD,EADHt7C,EAAO+5C,GAAMzpD,OAGjB,IAAKmC,EAAIsnD,GAAMj4C,QAAQs5C,GAAU3oD,EAAIuN,EAAO,IAAKvN,EAIhD,IAHA6oD,EAAWnC,GAAUY,GAAMtnD,KAGd4mD,QAAUroD,KAAKm1C,MAAMl1C,EAAMF,KAF/BuqD,EAAShC,MAAQgC,EAAShC,MAAQL,IAEcqC,EAASp1C,QAAUm1C,EAC3E,OAAOtB,GAAMtnD,GAIf,OAAOsnD,GAAM/5C,EAAO,GAgHrB,SAASu7C,GAAoB/hD,EAAOQ,EAAQwhD,GAC3C,IAGI/oD,EAAGhC,EAHHk0B,EAAQ,GACR1vB,EAAM,GACN+K,EAAOhG,EAAO1J,OAGlB,IAAKmC,EAAI,EAAGA,EAAIuN,IAAQvN,EAEvBwC,EADAxE,EAAQuJ,EAAOvH,IACFA,EAEbkyB,EAAM7a,KAAK,CACVrZ,MAAOA,EACPk1C,OAAO,IAMT,OAAiB,IAAT3lC,GAAew7C,EAjCxB,SAAuBhiD,EAAOmrB,EAAO1vB,EAAKumD,GACzC,IAGI7V,EAAOrnC,EAHP08C,EAAUxhD,EAAMyhD,SAChB1P,GAASyP,EAAQrX,QAAQhf,EAAM,GAAGl0B,MAAO+qD,GACzCn+B,EAAOsH,EAAMA,EAAMr0B,OAAS,GAAGG,MAGnC,IAAKk1C,EAAQ4F,EAAO5F,GAAStoB,EAAMsoB,GAASqV,EAAQ7oB,IAAIwT,EAAO,EAAG6V,IACjEl9C,EAAQrJ,EAAI0wC,KACC,IACZhhB,EAAMrmB,GAAOqnC,OAAQ,GAGvB,OAAOhhB,EAqBqC82B,CAAcjiD,EAAOmrB,EAAO1vB,EAAKumD,GAAzC72B,EAGrC,IAkDI+2B,GAAa/K,GAAW9vC,OAAO,CAClCiL,WAAY,WACXnd,KAAKgyC,oBACLgQ,GAAWn5C,UAAUsU,WAAWpU,KAAK/I,OAGtCgkB,OAAQ,WACP,IAAIxR,EAAKxS,KACL0R,EAAUc,EAAGd,QACb65C,EAAO75C,EAAQ65C,OAAS75C,EAAQ65C,KAAO,IACvCc,EAAU75C,EAAG85C,SAAW,IAAIjX,GAAcC,MAAM5jC,EAAQs7C,SAASC,MAarE,OAVAhD,GAAa,aAAcsB,EAAKxW,OAAQ,cAAe,eACvDkV,GAAa,aAAcsB,EAAKnpD,IAAK,WAAY,aACjD6nD,GAAa,aAAcsB,EAAKjpD,IAAK,WAAY,aAMjDqZ,EAAU5J,QAAQw5C,EAAK2B,eAAgBb,EAAQxX,WAExCmN,GAAWn5C,UAAUmb,OAAOlT,MAAM0B,EAAI/M,YAM9CyxB,cAAe,SAASymB,GAIvB,OAHIA,QAA2B3zC,IAAf2zC,EAASr5C,IACxBq5C,EAAWA,EAASr5C,GAEd09C,GAAWn5C,UAAUquB,cAAcnuB,KAAK/I,KAAM29C,IAGtD3D,oBAAqB,WACpB,IAUIl2C,EAAGsvB,EAAG/hB,EAAM6oB,EAAMpY,EAAMqrC,EAAWC,EAVnC56C,EAAKxS,KACLmW,EAAQ3D,EAAG2D,MACXk2C,EAAU75C,EAAG85C,SACb56C,EAAUc,EAAGd,QACbuyC,EAAOvyC,EAAQ65C,KAAKtH,MAAQ,MAC5B7hD,EAAMkoD,GACNhoD,EAAM8nD,GACNiD,EAAa,GACbtrC,EAAW,GACXrhB,EAAS,GAET4sD,EAAa96C,EAAGqmC,aAEpB,IAAK/0C,EAAI,EAAGuN,EAAOi8C,EAAW3rD,OAAQmC,EAAIuN,IAAQvN,EACjDpD,EAAOya,KAAK25B,GAAMtiC,EAAI86C,EAAWxpD,KAGlC,IAAKA,EAAI,EAAGuN,GAAQ8E,EAAM2L,KAAKC,UAAY,IAAIpgB,OAAQmC,EAAIuN,IAAQvN,EAClE,GAAIqS,EAAMkd,iBAAiBvvB,GAI1B,GAAI6X,EAAUrL,UAHdwR,EAAO3L,EAAM2L,KAAKC,SAASje,GAAGge,MAGF,IAG3B,IAFAC,EAASje,GAAK,GAETsvB,EAAI,EAAG8G,EAAOpY,EAAKngB,OAAQyxB,EAAI8G,IAAQ9G,EAC3C+5B,EAAYrY,GAAMtiC,EAAIsP,EAAKsR,IAC3Bi6B,EAAWlyC,KAAKgyC,GAChBprC,EAASje,GAAGsvB,GAAK+5B,OAGlBprC,EAASje,GAAKpD,EAAOoI,MAAM,GACtBskD,IACJC,EAAaA,EAAWphD,OAAOvL,GAC/B0sD,GAAc,QAIhBrrC,EAASje,GAAK,GAIZpD,EAAOiB,SACVS,EAAMC,KAAKD,IAAIA,EAAK1B,EAAO,IAC3B4B,EAAMD,KAAKC,IAAIA,EAAK5B,EAAOA,EAAOiB,OAAS,KAGxC0rD,EAAW1rD,SACd0rD,EAAah8C,EAAO,EA3cvB,SAAqB6pB,GACpB,IAEIp3B,EAAGuN,EAAMgC,EAFTk6C,EAAO,GACPC,EAAM,GAGV,IAAK1pD,EAAI,EAAGuN,EAAO6pB,EAAMv5B,OAAQmC,EAAIuN,IAAQvN,EAEvCypD,EADLl6C,EAAO6nB,EAAMp3B,MAEZypD,EAAKl6C,IAAQ,EACbm6C,EAAIryC,KAAK9H,IAIX,OAAOm6C,EA8bmBC,CAAYJ,GAAYjyC,KAAKiwC,IAAUgC,EAAWjyC,KAAKiwC,IAC/EjpD,EAAMC,KAAKD,IAAIA,EAAKirD,EAAW,IAC/B/qD,EAAMD,KAAKC,IAAIA,EAAK+qD,EAAWA,EAAW1rD,OAAS,KAGpDS,EAAM0yC,GAAMtiC,EAAI84C,GAAO55C,KAAatP,EACpCE,EAAMwyC,GAAMtiC,EAAIg5C,GAAO95C,KAAapP,EAGpCF,EAAMA,IAAQkoD,IAAe+B,EAAQrX,QAAQt1B,KAAKC,MAAOskC,GAAQ7hD,EACjEE,EAAMA,IAAQ8nD,IAAeiC,EAAQpX,MAAMv1B,KAAKC,MAAOskC,GAAQ,EAAI3hD,EAGnEkQ,EAAGpQ,IAAMC,KAAKD,IAAIA,EAAKE,GACvBkQ,EAAGlQ,IAAMD,KAAKC,IAAIF,EAAM,EAAGE,GAG3BkQ,EAAGk7C,OAAS,GACZl7C,EAAGm7C,YAAc,CAChB7rC,KAAMurC,EACNtrC,SAAUA,EACVrhB,OAAQA,IAIVy5C,WAAY,WACX,IAWIr2C,EAAGuN,EAAM87C,EAXT36C,EAAKxS,KACLoC,EAAMoQ,EAAGpQ,IACTE,EAAMkQ,EAAGlQ,IACToP,EAAUc,EAAGd,QACbqkB,EAAWrkB,EAAQskB,MACnB43B,EAAWl8C,EAAQ65C,KACnB8B,EAAa76C,EAAGm7C,YAChB33B,EAAQ,GACR02B,EAAWl6C,EAAGq7C,iBAAiBzrD,GAC/B0M,EAASinB,EAASjnB,OAClBg/C,EAAep8C,EAAQo8C,aAqB3B,IAjBCT,EADc,SAAXv+C,GAAiC,SAAXA,GAAsC,WAAjBg/C,EACjCT,EAAWvrC,KACH,WAAXhT,EACGu+C,EAAW3sD,OArR3B,SAAkBmK,EAAOzI,EAAKE,EAAKoqD,GAClC,IAQInB,EARAc,EAAUxhD,EAAMyhD,SAChB56C,EAAU7G,EAAM6G,QAChBk8C,EAAWl8C,EAAQ65C,KACnBxU,EAAQ6W,EAAS3J,MAAQuI,GAA0BoB,EAASnB,QAASrqD,EAAKE,EAAKoqD,GAC/EpJ,EAAW4G,GAAU,CAAC0D,EAAStK,SAAUsK,EAASG,aAAc,IAChEC,EAAoB,SAAVjX,GAAmB6W,EAASK,WACtCrR,EAAQx6C,EACR4zB,EAAQ,GAYZ,GARIg4B,IACHpR,GAASyP,EAAQrX,QAAQ4H,EAAO,UAAWoR,IAI5CpR,GAASyP,EAAQrX,QAAQ4H,EAAOoR,EAAU,MAAQjX,GAG9CsV,EAAQxpD,KAAKP,EAAKF,EAAK20C,GAAS,IAASuM,EAC5C,MAAMlhD,EAAM,QAAUE,EAAM,uCAAyCghD,EAAW,IAAMvM,EAGvF,IAAKwU,EAAO3O,EAAO2O,EAAOjpD,EAAKipD,GAAQc,EAAQ7oB,IAAI+nB,EAAMjI,EAAUvM,GAClE/gB,EAAM7a,KAAKowC,GAOZ,OAJIA,IAASjpD,GAA0B,UAAnBoP,EAAQ4Z,QAC3B0K,EAAM7a,KAAKowC,GAGLv1B,EAuPQk4B,CAAS17C,EAAIpQ,EAAKE,EAAKoqD,GAGd,UAAnBh7C,EAAQ4Z,QAAsB+hC,EAAW1rD,SAC5CS,EAAMirD,EAAW,GACjB/qD,EAAM+qD,EAAWA,EAAW1rD,OAAS,IAItCS,EAAM0yC,GAAMtiC,EAAI84C,GAAO55C,KAAatP,EACpCE,EAAMwyC,GAAMtiC,EAAIg5C,GAAO95C,KAAapP,EAG/BwB,EAAI,EAAGuN,EAAOg8C,EAAW1rD,OAAQmC,EAAIuN,IAAQvN,GACjDqpD,EAAYE,EAAWvpD,KACN1B,GAAO+qD,GAAa7qD,GACpC0zB,EAAM7a,KAAKgyC,GAsBb,OAlBA36C,EAAGpQ,IAAMA,EACToQ,EAAGlQ,IAAMA,EAKTkQ,EAAG27C,MAAQP,EAAS3J,OAASluB,EAASoiB,SACnCqU,GAA0BoB,EAASnB,QAASj6C,EAAGpQ,IAAKoQ,EAAGlQ,IAAKoqD,GA7UjE,SAAoC7hD,EAAOmxC,EAAUyQ,EAASrqD,EAAKE,GAClE,IAAIwB,EAAGmgD,EAEP,IAAKngD,EAAIsnD,GAAMzpD,OAAS,EAAGmC,GAAKsnD,GAAMj4C,QAAQs5C,GAAU3oD,IAEvD,GAAI0mD,GADJvG,EAAOmH,GAAMtnD,IACO4mD,QAAU7/C,EAAMyhD,SAASzpD,KAAKP,EAAKF,EAAK6hD,IAASjI,EAAW,EAC/E,OAAOiI,EAIT,OAAOmH,GAAMqB,EAAUrB,GAAMj4C,QAAQs5C,GAAW,GAoU5C2B,CAA2B57C,EAAIwjB,EAAMr0B,OAAQisD,EAASnB,QAASj6C,EAAGpQ,IAAKoQ,EAAGlQ,MAC7EkQ,EAAG67C,WAAct4B,EAASihB,MAAMjR,SAAwB,SAAbvzB,EAAG27C,MAlUhD,SAA4BlK,GAC3B,IAAK,IAAIngD,EAAIsnD,GAAMj4C,QAAQ8wC,GAAQ,EAAG5yC,EAAO+5C,GAAMzpD,OAAQmC,EAAIuN,IAAQvN,EACtE,GAAI0mD,GAAUY,GAAMtnD,IAAI4mD,OACvB,OAAOU,GAAMtnD,GAgUXwqD,CAAmB97C,EAAG27C,YADwCnkD,EAEjEwI,EAAGk7C,OA/eL,SAA0BL,EAAYjrD,EAAKE,EAAKwrD,GAC/C,GAAqB,WAAjBA,IAA8BT,EAAW1rD,OAC5C,MAAO,CACN,CAAC4pD,KAAMnpD,EAAKs5B,IAAK,GACjB,CAAC6vB,KAAMjpD,EAAKo5B,IAAK,IAInB,IAEI53B,EAAGuN,EAAMuU,EAAMgK,EAAMC,EAFrB67B,EAAQ,GACRxwB,EAAQ,CAAC94B,GAGb,IAAK0B,EAAI,EAAGuN,EAAOg8C,EAAW1rD,OAAQmC,EAAIuN,IAAQvN,GACjD8rB,EAAOy9B,EAAWvpD,IACP1B,GAAOwtB,EAAOttB,GACxB44B,EAAM/f,KAAKyU,GAMb,IAFAsL,EAAM/f,KAAK7Y,GAENwB,EAAI,EAAGuN,EAAO6pB,EAAMv5B,OAAQmC,EAAIuN,IAAQvN,EAC5C+rB,EAAOqL,EAAMp3B,EAAI,GAEjB8rB,EAAOsL,EAAMp3B,QAGAkG,KAJb4b,EAAOsV,EAAMp3B,EAAI,UAIkBkG,IAAT6lB,GAAsBxtB,KAAKqD,OAAOmqB,EAAOjK,GAAQ,KAAOgK,GACjF87B,EAAMvwC,KAAK,CAACowC,KAAM37B,EAAM8L,IAAK53B,GAAKuN,EAAO,KAI3C,OAAOq6C,EA+cM6C,CAAiB/7C,EAAGm7C,YAAY7rC,KAAM1f,EAAKE,EAAKwrD,GAC5Dt7C,EAAGg8C,SA9QL,SAAwB9C,EAAO11B,EAAO5zB,EAAKE,EAAKoP,GAC/C,IAEIkrC,EAAOluB,EAFP9Q,EAAQ,EACRwR,EAAM,EAkBV,OAfI1d,EAAQkb,QAAUoJ,EAAMr0B,SAC3Bi7C,EAAQ6O,GAAcC,EAAO,OAAQ11B,EAAM,GAAI,OAE9CpY,EADoB,IAAjBoY,EAAMr0B,OACD,EAAIi7C,GAEH6O,GAAcC,EAAO,OAAQ11B,EAAM,GAAI,OAAS4mB,GAAS,EAEnEluB,EAAO+8B,GAAcC,EAAO,OAAQ11B,EAAMA,EAAMr0B,OAAS,GAAI,OAE5DytB,EADoB,IAAjB4G,EAAMr0B,OACH+sB,GAECA,EAAO+8B,GAAcC,EAAO,OAAQ11B,EAAMA,EAAMr0B,OAAS,GAAI,QAAU,GAIzE,CAACic,MAAOA,EAAOwR,IAAKA,EAAKmwB,OAAQ,GAAK3hC,EAAQ,EAAIwR,IA0P1Cq/B,CAAej8C,EAAGk7C,OAAQ13B,EAAO5zB,EAAKE,EAAKoP,GAErDqkB,EAAS9kB,SACZ+kB,EAAM/kB,UAGA27C,GAAoBp6C,EAAIwjB,EAAOxjB,EAAG67C,aAG1CxiB,iBAAkB,SAASl8B,EAAOiR,GACjC,IAAIpO,EAAKxS,KACLqsD,EAAU75C,EAAG85C,SACbxqC,EAAOtP,EAAG2D,MAAM2L,KAChB8rC,EAAWp7C,EAAGd,QAAQ65C,KACtB19B,EAAQ/L,EAAKphB,QAAUiP,EAAQmS,EAAKphB,OAAOiB,OAASmgB,EAAKphB,OAAOiP,GAAS,GACzE7N,EAAQggB,EAAKC,SAASnB,GAAckB,KAAKnS,GAK7C,OAHIgM,EAAUrL,SAASxO,KACtB+rB,EAAQrb,EAAG0kB,cAAcp1B,IAEtB8rD,EAASc,cACLrC,EAAQtX,OAAOoX,GAAY35C,EAAIqb,GAAQ+/B,EAASc,eAEnC,iBAAV7gC,EACHA,EAEDw+B,EAAQtX,OAAOoX,GAAY35C,EAAIqb,GAAQ+/B,EAASV,eAAeyB,WAOvEC,mBAAoB,SAASrD,EAAM57C,EAAOqmB,EAAO+e,GAChD,IAEIrjC,EAFK1R,KAEQ0R,QACbmjC,EAAUnjC,EAAQ65C,KAAK2B,eAEvBL,EALK7sD,KAKUquD,WACfQ,EAAcha,EAAQgY,GACtBtV,EAAOvhB,EAAMrmB,GACbomB,EAAWrkB,EAAQskB,MACnBghB,EAAQ6V,GAAagC,GAAetX,GAAQA,EAAKP,MACjDnpB,EAVK7tB,KACQssD,SASGvX,OAAOwW,EAAMxW,IAAkBiC,EAAQ6X,EANzCha,EAJT70C,KAIoBmuD,SAOzBW,EAAiB9X,EAAQjhB,EAASihB,MAAQjhB,EAASghB,MACnDgY,EAAY7E,GAAU,CACzB4E,EAAel+C,SACfk+C,EAAerT,aACf1lB,EAASnlB,SACTmlB,EAAS0lB,eAGV,OAAOsT,EAAYA,EAAUlhC,EAAOle,EAAOqmB,GAASnI,GAGrD2tB,qBAAsB,SAASxlB,GAC9B,IACIlyB,EAAGuN,EADH3Q,EAAS,GAGb,IAAKoD,EAAI,EAAGuN,EAAO2kB,EAAMr0B,OAAQmC,EAAIuN,IAAQvN,EAC5CpD,EAAOya,KAAKnb,KAAK4uD,mBAAmB54B,EAAMlyB,GAAGhC,MAAOgC,EAAGkyB,IAGxD,OAAOt1B,GAMRsuD,kBAAmB,SAASzD,GAC3B,IACItN,EADKj+C,KACQwuD,SACb9yB,EAAM+vB,GAFDzrD,KAEkB0tD,OAAQ,OAAQnC,EAAM,OACjD,OAHSvrD,KAGCsxB,oBAAoB2sB,EAAQrgC,MAAQ8d,GAAOuiB,EAAQsB,SAG9DrwB,iBAAkB,SAASptB,EAAO6N,EAAOiR,GACxC,IACI2qC,EAAO,KAUX,QARcvhD,IAAV2F,QAAwC3F,IAAjB4W,IAC1B2qC,EAJQvrD,KAIE2tD,YAAY5rC,SAASnB,GAAcjR,IAGjC,OAAT47C,IACHA,EAAOzW,GARC90C,KAQS8B,IAGL,OAATypD,EACH,OAZQvrD,KAYEgvD,kBAAkBzD,IAI9Bn7B,gBAAiB,SAASzgB,GACzB,IAAIqmB,EAAQh2B,KAAKmwB,WACjB,OAAOxgB,GAAS,GAAKA,EAAQqmB,EAAMr0B,OAClC3B,KAAKgvD,kBAAkBh5B,EAAMrmB,GAAO7N,OACpC,MAGF08C,iBAAkB,SAASG,GAC1B,IACIV,EADKj+C,KACQwuD,SACb9yB,EAFK17B,KAEI0+C,mBAAmBC,GAASV,EAAQsB,OAAStB,EAAQ7uB,IAC9Dm8B,EAAOE,GAHFzrD,KAGmB0tD,OAAQ,MAAOhyB,EAAK,QAGhD,OANS17B,KAMCssD,SAASpX,QAAQqW,IAM5B0D,cAAe,SAASphC,GACvB,IACIs0B,EADKniD,KACU0R,QAAQskB,MACvBk5B,EAFKlvD,KAEeoW,IAAIo2B,YAAY3e,GAAOvX,MAC3CqR,EAAQhM,EAAUyhC,UAHbp9C,KAG0BiuB,eAAiBk0B,EAAUlK,YAAckK,EAAUnK,aAClFqF,EAAch7C,KAAKiD,IAAIqiB,GACvB21B,EAAcj7C,KAAKkD,IAAIoiB,GACvBwnC,EAAehF,GAAiBhI,EAAU9nC,SAAUP,EAAcza,OAAOqa,iBAE7E,MAAO,CACN3S,EAAImoD,EAAiB7R,EAAgB8R,EAAe7R,EACpDv7C,EAAImtD,EAAiB5R,EAAgB6R,EAAe9R,IAQtD+R,cAAe,SAASvhC,GACvB,OAAO7tB,KAAKivD,cAAcphC,GAAO9mB,GAMlC8mD,iBAAkB,SAASwB,GAC1B,IAAI78C,EAAKxS,KACL4tD,EAAWp7C,EAAGd,QAAQ65C,KACtB2B,EAAiBU,EAASV,eAG1BnY,EAASmY,EAAeU,EAAS3J,OAASiJ,EAAezC,YACzD6E,EAAe98C,EAAGo8C,mBAAmBS,EAAa,EAAGzC,GAAoBp6C,EAAI,CAAC68C,GAAc78C,EAAG67C,YAAatZ,GAC5Gx9B,EAAO/E,EAAGy8C,cAAcK,GACxB5C,EAAWrqD,KAAK6B,MAAMsO,EAAGyb,eAAiBzb,EAAG8D,MAAQiB,EAAKxQ,EAAIyL,EAAG+D,OAASgB,EAAKxV,GAMnF,OAJIyQ,EAAGd,QAAQkb,QACd8/B,IAGMA,EAAW,EAAIA,EAAW,KAMnCK,GAAWtK,UApXW,CACrB7xB,SAAU,SASVk9B,aAAc,SASdxiC,OAAQ,OAER0hC,SAAU,GACVzB,KAAM,CACLgB,QAAQ,EACRtI,MAAM,EACNv+C,OAAO,EACP6pD,eAAe,EACftB,YAAY,EACZxB,QAAS,cACTS,eAAgB,IAEjBl3B,MAAO,CACNmiB,UAAU,EAUVrpC,OAAQ,OAERkoC,MAAO,CACNjR,SAAS,KAyUZ,IAAIzkB,GAAS,CACZkuC,SAAUtN,GACVxuC,OAAQwxC,GACRjP,YAAawP,GACbgK,aAAc/H,GACd6D,KAAMwB,IAGH2C,GAAU,CACbf,SAAU,yBACVlE,YAAa,gBACbG,OAAQ,YACRC,OAAQ,SACRC,KAAM,KACNC,IAAK,QACLC,KAAM,KACNC,MAAO,WACPC,QAAS,cACTC,KAAM,QAGP9V,GAAcC,MAAMH,SAA2B,mBAAXp1C,EAAwB,CAC3D4vD,IAAK,SAEL9a,QAAS,WACR,OAAO6a,IAGR5a,MAAO,SAAShzC,EAAOizC,GAMtB,MALqB,iBAAVjzC,GAAwC,iBAAXizC,EACvCjzC,EAAQ/B,EAAO+B,EAAOizC,GACVjzC,aAAiB/B,IAC7B+B,EAAQ/B,EAAO+B,IAETA,EAAM6J,UAAY7J,EAAM8tD,UAAY,MAG5C7a,OAAQ,SAASwW,EAAMxW,GACtB,OAAOh1C,EAAOwrD,GAAMxW,OAAOA,IAG5BvR,IAAK,SAAS+nB,EAAMsE,EAAQ5L,GAC3B,OAAOlkD,EAAOwrD,GAAM/nB,IAAIqsB,EAAQ5L,GAAM2L,WAGvC/sD,KAAM,SAASP,EAAKF,EAAK6hD,GACxB,OAAOlkD,EAAOuC,GAAKO,KAAK9C,EAAOqC,GAAM6hD,IAGtCjP,QAAS,SAASuW,EAAMtH,EAAM+J,GAE7B,OADAzC,EAAOxrD,EAAOwrD,GACD,YAATtH,EACIsH,EAAK0C,WAAWD,GAAS4B,UAE1BrE,EAAKvW,QAAQiP,GAAM2L,WAG3B3a,MAAO,SAASsW,EAAMtH,GACrB,OAAOlkD,EAAOwrD,GAAMtW,MAAMgP,GAAM2L,WAWjC1a,QAAS,SAASqW,GACjB,OAAOxrD,EAAOwrD,KAEZ,IAEJzxC,EAAcR,KAAK,SAAU,CAC5B6qB,QAAS,CACR2rB,OAAQ,CACPC,WAAW,MAKd,IAAIC,GAAU,CACbzuC,QAAS,SAASzS,GACjB,IAAIa,EAAQb,EAAOmJ,KACf9B,EAAQrH,EAAOqH,MACfkL,EAAOlL,EAAM6L,eAAerS,GAE5B0Z,EADUhI,GAAQlL,EAAMkd,iBAAiB1jB,IACpB0R,EAAKE,QAAQ+H,WAAc,GAChD3nB,EAAS0nB,EAAO1nB,QAAU,EAE9B,OAAQA,EAAgB,SAASyW,EAAOtU,GACvC,OAAQA,EAAInC,GAAU0nB,EAAOvlB,GAAGyZ,OAAU,MAD1B,MAKlB0yC,SAAU,SAASnhD,GAClB,IAAImhD,EAAWnhD,EAAOmhD,SAClB9sD,EAAI8sD,EAAWA,EAAS9sD,EAAI,KAC5BC,EAAI6sD,EAAWA,EAAS7sD,EAAI,KAEhC,OAAIuY,EAAUvL,QAAQ6/C,GACd,SAAS73C,EAAOtU,GACtB,OAAOmsD,EAASnsD,IAIX,SAASsU,GACf,MAAO,CACNjV,EAAS,OAANA,EAAaiV,EAAMjV,EAAIA,EAC1BC,EAAS,OAANA,EAAagV,EAAMhV,EAAIA,MAO9B,SAAS8sD,GAAW9vB,EAAIzwB,EAAOqW,GAC9B,IAEIjX,EAFAtN,EAAQ2+B,EAAG5iB,QAAU,GACrBvF,EAAOxW,EAAMwW,KAOjB,QAJajO,IAATiO,IACHA,IAASxW,EAAM8iB,kBAGH,IAATtM,GAA2B,OAATA,EACrB,OAAO,EAGR,IAAa,IAATA,EACH,MAAO,SAIR,GADAlJ,EAASnE,WAAWqN,EAAM,IACtB1H,SAASxB,IAAW1M,KAAK6B,MAAM6K,KAAYA,EAK9C,MAJgB,MAAZkJ,EAAK,IAA0B,MAAZA,EAAK,KAC3BlJ,EAASY,EAAQZ,KAGdA,IAAWY,GAASZ,EAAS,GAAKA,GAAUiX,IAIzCjX,EAGR,OAAQkJ,GAER,IAAK,SACJ,MAAO,QACR,IAAK,MACJ,MAAO,MACR,IAAK,OACJ,MAAO,SAER,IAAK,SACL,IAAK,QACL,IAAK,MACJ,OAAOA,EAER,QACC,OAAO,GA2ET,SAASk4C,GAAgBrhD,GAGxB,OAFYA,EAAOsxB,GAAG5J,QAAU,IAEtB8C,yBAhCX,SAAiCxqB,GAChC,IAKI8O,EAAOwR,EAAKZ,EAAQ1qB,EAAGsU,EALvBvN,EAAQiE,EAAOsxB,GAAG5J,OAClB9kB,EAAU7G,EAAM6G,QAChB/P,EAASkJ,EAAMsL,MAAM2L,KAAKphB,OAAOiB,OACjCsW,EAAOnJ,EAAOmJ,KACdlJ,EAAS,GAGb,IAAKpN,EACJ,OAAO,KAMR,IAFAytB,EAAM1d,EAAQskB,MAAM/kB,QAAUpG,EAAMzI,IAAMyI,EAAMvI,IAChDksB,EAAS3jB,EAAMyuB,yBAAyB,EAFxC1b,EAAQlM,EAAQskB,MAAM/kB,QAAUpG,EAAMvI,IAAMuI,EAAMzI,KAG7C0B,EAAI,EAAGA,EAAInC,IAAUmC,EACzBsU,EAAiB,UAATH,GAA6B,QAATA,EACzBpN,EAAMyuB,yBAAyBx1B,EAAY,UAATmU,EAAmB2F,EAAQwR,GAC7DvkB,EAAM0+C,gBAAgBzlD,GACrB4N,EAAQmb,UAAUkL,WACrB3f,EAAMg4C,GAAK5hC,EAAOrrB,EAClBiV,EAAMi4C,GAAK7hC,EAAOprB,EAClBgV,EAAMuP,MAAQ9c,EAAMs9C,cAAcrkD,GAAKzB,KAAK8C,GAAK,GAElD4J,EAAOoM,KAAK/C,GAEb,OAAOrJ,EAOCuhD,CAAwBxhD,GA3EjC,SAA+BA,GAC9B,IAIIid,EAJAtqB,EAAQqN,EAAOsxB,GAAG5iB,QAAU,GAC5B3S,EAAQiE,EAAOsxB,GAAG5J,QAAU,GAC5Bve,EAAOnJ,EAAOmJ,KACdlJ,EAAS,KAGb,GAAIwB,SAAS0H,GACZ,OAAO,KAiBR,GAVa,UAATA,EACHlJ,OAA+B/E,IAAtBvI,EAAM8uD,YAA4B1lD,EAAMgM,OAASpV,EAAM8uD,YAC7C,QAATt4C,EACVlJ,OAA4B/E,IAAnBvI,EAAM+uD,SAAyB3lD,EAAM8L,IAAMlV,EAAM+uD,cAC5BxmD,IAApBvI,EAAMgvD,UAChB1hD,EAAStN,EAAMgvD,UACL5lD,EAAMmjB,eAChBjf,EAASlE,EAAMmjB,gBAGZjf,QAAyC,CAC5C,QAAiB/E,IAAb+E,EAAO5L,QAAgC6G,IAAb+E,EAAO3L,EACpC,OAAO2L,EAGR,GAAI4M,EAAUpL,SAASxB,GAEtB,MAAO,CACN5L,GAFD4oB,EAAalhB,EAAMojB,gBAEFlf,EAAS,KACzB3L,EAAG2oB,EAAa,KAAOhd,GAK1B,OAAO,KAsCA2hD,CAAsB5hD,GAG9B,SAAS6hD,GAAc3+C,EAASrC,EAAOogD,GACtC,IAGIhhD,EAFAkJ,EADSjG,EAAQrC,GACHsI,KACd24C,EAAU,CAACjhD,GAGf,IAAKogD,EACJ,OAAO93C,EAGR,MAAgB,IAATA,IAA6C,IAA3B24C,EAAQz9C,QAAQ8E,IAAc,CACtD,IAAK1H,SAAS0H,GACb,OAAOA,EAIR,KADAlJ,EAASiD,EAAQiG,IAEhB,OAAO,EAGR,GAAIlJ,EAAO8hD,QACV,OAAO54C,EAGR24C,EAAQz1C,KAAKlD,GACbA,EAAOlJ,EAAOkJ,KAGf,OAAO,EAGR,SAAS64C,GAAahiD,GACrB,IAAImJ,EAAOnJ,EAAOmJ,KACdpJ,EAAO,UAEX,OAAa,IAAToJ,EACI,MAGH1H,SAAS0H,KACbpJ,EAAO,YAGDmhD,GAAQnhD,GAAMC,IAGtB,SAASiiD,GAAW34C,GACnB,OAAOA,IAAUA,EAAMuR,KAGxB,SAASqnC,GAAS56C,EAAK66C,EAAQC,EAAQC,EAAMC,GAC5C,IAAIttD,EAAGssD,EAAIC,EAAIpuD,EAEf,GAAKkvD,GAASC,EAAd,CAMA,IADAh7C,EAAIU,OAAOm6C,EAAO,GAAG9tD,EAAG8tD,EAAO,GAAG7tD,GAC7BU,EAAI,EAAGA,EAAIqtD,IAAQrtD,EACvB6X,EAAUC,OAAO7D,OAAO3B,EAAK66C,EAAOntD,EAAI,GAAImtD,EAAOntD,IAGpD,QAAwBkG,IAApBknD,EAAO,GAAGvpC,MAcd,IAHAvR,EAAI2B,OAAOm5C,EAAOE,EAAO,GAAGjuD,EAAG+tD,EAAOE,EAAO,GAAGhuD,GAG3CU,EAAIstD,EAAO,EAAGttD,EAAI,IAAKA,EAC3B6X,EAAUC,OAAO7D,OAAO3B,EAAK86C,EAAOptD,GAAIotD,EAAOptD,EAAI,IAAI,QAXvD,IAHAssD,EAAKc,EAAO,GAAGd,GACfC,EAAKa,EAAO,GAAGb,GACfpuD,EAAII,KAAK+C,KAAK/C,KAAKmB,IAAI0tD,EAAO,GAAG/tD,EAAIitD,EAAI,GAAK/tD,KAAKmB,IAAI0tD,EAAO,GAAG9tD,EAAIitD,EAAI,IACpEvsD,EAAIstD,EAAO,EAAGttD,EAAI,IAAKA,EAC3BsS,EAAIW,IAAIq5C,EAAIC,EAAIpuD,EAAGivD,EAAOptD,GAAG6jB,MAAOupC,EAAOptD,EAAI,GAAG6jB,OAAO,IAc5D,SAAS0pC,GAAOj7C,EAAKiT,EAAQioC,EAAQzzC,EAAMjY,EAAO2rD,GACjD,IAMIztD,EAAGuN,EAAM1B,EAAO6hD,EAAIC,EAAIC,EAAIC,EAAIC,EANhC5rC,EAAQqD,EAAO1nB,OACfuqD,EAAOruC,EAAKuL,SACZ6nC,EAAS,GACTC,EAAS,GACTC,EAAO,EACPC,EAAO,EAKX,IAFAh7C,EAAI0B,YAEChU,EAAI,EAAGuN,EAAO2U,EAAOliB,EAAIuN,IAAQvN,EAGrC2tD,EAAKH,EADLE,EAAKnoC,EADL1Z,EAAQ7L,EAAIkiB,GACOzI,MACH5N,EAAOkO,GACvB6zC,EAAKX,GAAWS,GAChBG,EAAKZ,GAAWU,GAEZF,QAAuBvnD,IAAf4nD,GAA4BF,IAEvCrgD,EAAO2U,GADP4rC,EAAa9tD,EAAI,IAId4tD,GAAMC,GACTR,EAAOF,EAAO91C,KAAKq2C,GACnBJ,EAAOF,EAAO/1C,KAAKs2C,IACTN,GAAQC,IACblF,GAMAwF,GACHT,EAAO91C,KAAKq2C,GAETG,GACHT,EAAO/1C,KAAKs2C,KATbT,GAAS56C,EAAK66C,EAAQC,EAAQC,EAAMC,GACpCD,EAAOC,EAAO,EACdH,EAAS,GACTC,EAAS,KAYZF,GAAS56C,EAAK66C,EAAQC,EAAQC,EAAMC,GAEpCh7C,EAAIY,YACJZ,EAAIgS,UAAYxiB,EAChBwQ,EAAI6B,OAGL,IAAI45C,GAAgB,CACnB/hD,GAAI,SAEJgiD,oBAAqB,SAAS37C,EAAOzE,GACpC,IAGI2P,EAAMvd,EAAGs8B,EAAItxB,EAHbkX,GAAS7P,EAAM2L,KAAKC,UAAY,IAAIpgB,OACpCouD,EAAYr+C,EAAQq+C,UACpB/9C,EAAU,GAGd,IAAKlO,EAAI,EAAGA,EAAIkiB,IAASliB,EAGxBgL,EAAS,MADTsxB,GADA/e,EAAOlL,EAAM6L,eAAele,IAClByd,UAGA6e,EAAG5iB,QAAU4iB,aAAclc,GAASmI,OAC7Cvd,EAAS,CACR+hD,QAAS16C,EAAMkd,iBAAiBvvB,GAChCmU,KAAMi4C,GAAW9vB,EAAIt8B,EAAGkiB,GACxB7P,MAAOA,EACPiqB,GAAIA,IAIN/e,EAAK0wC,QAAUjjD,EACfkD,EAAQmJ,KAAKrM,GAGd,IAAKhL,EAAI,EAAGA,EAAIkiB,IAASliB,GACxBgL,EAASkD,EAAQlO,MAKjBgL,EAAOmJ,KAAO04C,GAAc3+C,EAASlO,EAAGisD,GACxCjhD,EAAOmhD,SAAWE,GAAgBrhD,GAClCA,EAAOwiD,OAASR,GAAahiD,KAI/BkjD,mBAAoB,SAAS77C,GAC5B,IAEIkL,EAAMvd,EAAGs8B,EAAIviB,EAAMwL,EAAQioC,EAAQ1rD,EAFnC+oB,EAAWxY,EAAMghB,gCACjB/gB,EAAMD,EAAMC,IAGhB,IAAKtS,EAAI6qB,EAAShtB,OAAS,EAAGmC,GAAK,IAAKA,GACvCud,EAAOsN,EAAS7qB,GAAGiuD,UAEL1wC,EAAKwvC,UAMnBxnC,GAFA+W,EAAK/e,EAAK+e,IAEE9W,WAAa,GAEzB1jB,GAHAiY,EAAOuiB,EAAG7iB,OAGGgH,iBAAmBzK,EAAcza,OAAOka,cADrD+3C,EAASjwC,EAAKiwC,SAGA1rD,GAASyjB,EAAO1nB,SAC7Bga,EAAUC,OAAOtD,SAASlC,EAAKD,EAAMuU,WACrC2mC,GAAOj7C,EAAKiT,EAAQioC,EAAQzzC,EAAMjY,EAAOw6B,EAAG3W,OAC5C9N,EAAUC,OAAOpD,WAAWpC,OAM5B67C,GAAiBt2C,EAAUI,IAAIC,cAC/Bk2C,GAASv2C,EAAU1L,KACnBkiD,GAAmBx2C,EAAUlL,eAgGjC,SAAS2hD,GAAYC,EAAWh4C,GAC/B,OAAOg4C,EAAUC,eAAiBD,EAAUE,SAAWl4C,EACtDA,EACAg4C,EAAUE,SAjGZz4C,EAAcR,KAAK,SAAU,CAC5BkZ,OAAQ,CACPsF,SAAS,EACTlH,SAAU,MACVxU,MAAO,SACP2gB,WAAW,EACX9rB,SAAS,EACTzC,OAAQ,IAGRokB,QAAS,SAASlzB,EAAGmzB,GACpB,IAAIljB,EAAQkjB,EAAWjS,aACnB4xC,EAAKxyD,KAAKmW,MACVkL,EAAOmxC,EAAGxwC,eAAerS,GAG7B0R,EAAKhE,OAAyB,OAAhBgE,EAAKhE,QAAmBm1C,EAAG1wC,KAAKC,SAASpS,GAAO0N,OAAS,KAGvEm1C,EAAGxuC,UAGJmsB,QAAS,KACTsiB,QAAS,KAET/xD,OAAQ,CACP6xD,SAAU,GACV9nC,QAAS,GAYTgI,eAAgB,SAAStc,GACxB,IAAI4L,EAAW5L,EAAM2L,KAAKC,SACtBrQ,EAAUyE,EAAMzE,QAAQ8gB,QAAU,GAClC8/B,EAAgB5gD,EAAQhR,QAAUgR,EAAQhR,OAAO4xD,cAErD,OAAOn8C,EAAMk9B,yBAAyB/sC,KAAI,SAAS+a,GAClD,IAAIlK,EAAQkK,EAAKqR,WAAWtO,SAASkuC,EAAgB,OAAItoD,GAEzD,MAAO,CACN2oB,KAAM5Q,EAASV,EAAK1R,OAAOke,MAC3BzF,UAAWjR,EAAMoN,gBACjBlH,QAASlH,EAAMkd,iBAAiBhS,EAAK1R,OACrCia,QAASzS,EAAM0R,eACf6pC,SAAUv7C,EAAM2R,WAChBgB,eAAgB3S,EAAM4R,iBACtBP,SAAUrR,EAAM6R,gBAChBT,UAAWpR,EAAMkO,YACjBgD,YAAalR,EAAMqN,YACnB4F,WAAYjT,EAAMiT,WAClBhT,SAAUD,EAAMC,SAGhBwJ,aAAcS,EAAK1R,SAElB3P,SAKN+xB,eAAgB,SAAS5b,GACxB,IAEIrS,EAAGuN,EAAM2gB,EAFTC,EAAOC,SAASC,cAAc,MAC9BpQ,EAAW5L,EAAM2L,KAAKC,SAK1B,IAFAkQ,EAAKG,aAAa,QAASjc,EAAMrG,GAAK,WAEjChM,EAAI,EAAGuN,EAAO0Q,EAASpgB,OAAQmC,EAAIuN,EAAMvN,KAC7CkuB,EAAWC,EAAKI,YAAYH,SAASC,cAAc,QAC3BE,YAAYH,SAASC,cAAc,SAC9Chb,MAAMoN,gBAAkBxC,EAASje,GAAGygB,gBAC7CxC,EAASje,GAAG+pB,OACfmE,EAASK,YAAYH,SAASI,eAAevQ,EAASje,GAAG+pB,QAI3D,OAAOoE,EAAKM,aAmBd,IAAIogC,GAASr0C,EAAapM,OAAO,CAEhCiL,WAAY,SAASiZ,GAEpBza,EAAUzJ,OADDlS,KACYo2B,GADZp2B,KAIN4yD,eAAiB,GAJX5yD,KASN6yD,aAAe,KATT7yD,KAYN8yD,cAAe,GAOnB9Z,aAAckZ,GACdluC,OAAQ,SAASi1B,EAAUC,EAAWC,GACrC,IAAI3mC,EAAKxS,KA0BT,OAvBAwS,EAAGwmC,eAGHxmC,EAAGymC,SAAWA,EACdzmC,EAAG0mC,UAAYA,EACf1mC,EAAG2mC,QAAUA,EAGb3mC,EAAGonC,sBACHpnC,EAAGqnC,gBACHrnC,EAAGsnC,qBAEHtnC,EAAGugD,oBACHvgD,EAAGwgD,cACHxgD,EAAGygD,mBAGHzgD,EAAGqoC,YACHroC,EAAGsoC,MACHtoC,EAAGuoC,WAEHvoC,EAAG0oC,cAEI1oC,EAAGkmB,SAEXwiB,YAAagX,GAIbtY,oBAAqBsY,GACrBrY,cAAe,WACd,IAAIrnC,EAAKxS,KAELwS,EAAGyb,gBAENzb,EAAG8D,MAAQ9D,EAAGymC,SACdzmC,EAAGkE,KAAO,EACVlE,EAAGoE,MAAQpE,EAAG8D,QAEd9D,EAAG+D,OAAS/D,EAAG0mC,UAGf1mC,EAAGmE,IAAM,EACTnE,EAAGqE,OAASrE,EAAG+D,QAIhB/D,EAAGgmC,YAAc,EACjBhmC,EAAGimC,WAAa,EAChBjmC,EAAGkmC,aAAe,EAClBlmC,EAAGmmC,cAAgB,EAGnBnmC,EAAGkmB,QAAU,CACZpiB,MAAO,EACPC,OAAQ,IAGVujC,mBAAoBoY,GAIpBa,kBAAmBb,GACnBc,YAAa,WACZ,IAAIxgD,EAAKxS,KACLqyD,EAAY7/C,EAAGd,QAAQhR,QAAU,GACjCwyD,EAAcv3C,EAAU/K,SAASyhD,EAAU5/B,eAAgB,CAACjgB,EAAG2D,OAAQ3D,IAAO,GAE9E6/C,EAAU96B,SACb27B,EAAcA,EAAY37B,QAAO,SAASlkB,GACzC,OAAOg/C,EAAU96B,OAAOlkB,EAAMb,EAAG2D,MAAM2L,UAIrCtP,EAAGd,QAAQT,SACdiiD,EAAYjiD,UAGbuB,EAAG0gD,YAAcA,GAElBD,iBAAkBf,GAIlBrX,UAAWqX,GACXpX,IAAK,WACJ,IAAItoC,EAAKxS,KACLszB,EAAO9gB,EAAGd,QACV2gD,EAAY/+B,EAAK5yB,OACjBo3B,EAAUxE,EAAKwE,QAEf1hB,EAAM5D,EAAG4D,IAET+8C,EAAYx3C,EAAUjK,QAAQyI,WAAWk4C,GACzCh4C,EAAW84C,EAAU57C,KAGrB67C,EAAW5gD,EAAGogD,eAAiB,GAE/Bl6B,EAAUlmB,EAAGkmB,QACbzK,EAAezb,EAAGyb,eAWtB,GATIA,GACHyK,EAAQpiB,MAAQ9D,EAAGymC,SACnBvgB,EAAQniB,OAASuhB,EAAU,GAAK,IAEhCY,EAAQpiB,MAAQwhB,EAAU,GAAK,EAC/BY,EAAQniB,OAAS/D,EAAG0mC,WAIhBphB,EAAL,CAMA,GAFA1hB,EAAIkE,KAAO64C,EAAUptD,OAEjBkoB,EAAc,CAIjB,IAAIolC,EAAa7gD,EAAG6gD,WAAa,CAAC,GAC9BC,EAAc,EAElBl9C,EAAI+F,UAAY,OAChB/F,EAAI63B,aAAe,SAEnBtyB,EAAU5K,KAAKyB,EAAG0gD,aAAa,SAASrgC,EAAY/uB,GACnD,IACIwS,EADW87C,GAAYC,EAAWh4C,GACdA,EAAW,EAAKjE,EAAIo2B,YAAY3Z,EAAWF,MAAMrc,OAE/D,IAANxS,GAAWuvD,EAAWA,EAAW1xD,OAAS,GAAK2U,EAAQ,EAAI+7C,EAAU5nC,QAAUiO,EAAQpiB,SAC1Fg9C,GAAej5C,EAAWg4C,EAAU5nC,QACpC4oC,EAAWA,EAAW1xD,QAAUmC,EAAI,EAAI,EAAI,IAAM,GAInDsvD,EAAStvD,GAAK,CACb4S,KAAM,EACNC,IAAK,EACLL,MAAOA,EACPC,OAAQ8D,GAGTg5C,EAAWA,EAAW1xD,OAAS,IAAM2U,EAAQ+7C,EAAU5nC,WAGxDiO,EAAQniB,QAAU+8C,MAEZ,CACN,IAAIC,EAAWlB,EAAU5nC,QACrB+oC,EAAehhD,EAAGghD,aAAe,GACjCC,EAAgBjhD,EAAGihD,cAAgB,GACnCC,EAAarB,EAAU5nC,QACvBkpC,EAAkB,EAClBC,EAAmB,EAEvBj4C,EAAU5K,KAAKyB,EAAG0gD,aAAa,SAASrgC,EAAY/uB,GACnD,IACIyY,EADW61C,GAAYC,EAAWh4C,GACVA,EAAW,EAAKjE,EAAIo2B,YAAY3Z,EAAWF,MAAMrc,MAGzExS,EAAI,GAAK8vD,EAAmBv5C,EAAW,EAAIk5C,EAAW76B,EAAQniB,SACjEm9C,GAAcC,EAAkBtB,EAAU5nC,QAC1C+oC,EAAar4C,KAAKw4C,GAClBF,EAAct4C,KAAKy4C,GACnBD,EAAkB,EAClBC,EAAmB,GAIpBD,EAAkBtxD,KAAKC,IAAIqxD,EAAiBp3C,GAC5Cq3C,GAAoBv5C,EAAWk5C,EAG/BH,EAAStvD,GAAK,CACb4S,KAAM,EACNC,IAAK,EACLL,MAAOiG,EACPhG,OAAQ8D,MAIVq5C,GAAcC,EACdH,EAAar4C,KAAKw4C,GAClBF,EAAct4C,KAAKy4C,GACnBl7B,EAAQpiB,OAASo9C,EAGlBlhD,EAAG8D,MAAQoiB,EAAQpiB,MACnB9D,EAAG+D,OAASmiB,EAAQniB,YA9EnB/D,EAAG8D,MAAQoiB,EAAQpiB,MAAQ9D,EAAG+D,OAASmiB,EAAQniB,OAAS,GAgF1DwkC,SAAUmX,GAGVjkC,aAAc,WACb,MAAiC,QAA1BjuB,KAAK0R,QAAQkf,UAAgD,WAA1B5wB,KAAK0R,QAAQkf,UAIxDzM,KAAM,WACL,IAAI3R,EAAKxS,KACLszB,EAAO9gB,EAAGd,QACV2gD,EAAY/+B,EAAK5yB,OACjB0Z,EAAiBN,EAAcza,OAC/Bka,EAAea,EAAeb,aAC9Bs6C,EAAcz5C,EAAe8J,SAAS0E,KACtCkrC,EAAethD,EAAG+D,OAClBk9C,EAAgBjhD,EAAGihD,cACnBM,EAAcvhD,EAAG8D,MACjB+8C,EAAa7gD,EAAG6gD,WAEpB,GAAK//B,EAAKwE,QAAV,CAIA,IAKIk8B,EALAhmB,EAAYikB,GAAe3+B,EAAKvX,IAAKvJ,EAAGkE,KAAMlE,EAAGkmB,QAAQpiB,OACzDF,EAAM5D,EAAG4D,IACTygC,EAAYsb,GAAiBE,EAAUxb,UAAWz8B,EAAeZ,kBACjE25C,EAAYx3C,EAAUjK,QAAQyI,WAAWk4C,GACzCh4C,EAAW84C,EAAU57C,KAIzBnB,EAAI+F,UAAY6xB,EAAU7xB,UAAU,QACpC/F,EAAI63B,aAAe,SACnB73B,EAAImS,UAAY,GAChBnS,EAAIiS,YAAcwuB,EAClBzgC,EAAIgS,UAAYyuB,EAChBzgC,EAAIkE,KAAO64C,EAAUptD,OAErB,IAAIwsD,EAAWH,GAAYC,EAAWh4C,GAClC+4C,EAAW5gD,EAAGogD,eA6DdqB,EAAkB,SAASC,EAAWC,GACzC,OAAQ7gC,EAAKlX,OACb,IAAK,QACJ,OAAOi2C,EAAU5nC,QAClB,IAAK,MACJ,OAAOypC,EAAYC,EACpB,QACC,OAAQD,EAAYC,EAAY9B,EAAU5nC,SAAW,IAKnDwD,EAAezb,EAAGyb,eAErB+lC,EADG/lC,EACM,CACR9qB,EAAGqP,EAAGkE,KAAOu9C,EAAgBF,EAAaV,EAAW,IACrDjwD,EAAGoP,EAAGmE,IAAM07C,EAAU5nC,QACtB7B,KAAM,GAGE,CACRzlB,EAAGqP,EAAGkE,KAAO27C,EAAU5nC,QACvBrnB,EAAGoP,EAAGmE,IAAMs9C,EAAgBH,EAAcL,EAAc,IACxD7qC,KAAM,GAIRjN,EAAUI,IAAIU,sBAAsBjK,EAAG4D,IAAKkd,EAAKyV,eAEjD,IAAIqrB,EAAa/5C,EAAWg4C,EAAU5nC,QACtC9O,EAAU5K,KAAKyB,EAAG0gD,aAAa,SAASrgC,EAAY/uB,GACnD,IAAIuwD,EAAYj+C,EAAIo2B,YAAY3Z,EAAWF,MAAMrc,MAC7CA,EAAQi8C,EAAYl4C,EAAW,EAAKg6C,EACpClxD,EAAI6wD,EAAO7wD,EACXC,EAAI4wD,EAAO5wD,EAEf4qC,EAAU9xB,SAAS1J,EAAGkmB,QAAQpiB,OAK1B2X,EACCnqB,EAAI,GAAKX,EAAImT,EAAQ+7C,EAAU5nC,QAAUjY,EAAGkE,KAAOlE,EAAGkmB,QAAQpiB,QACjElT,EAAI4wD,EAAO5wD,GAAKgxD,EAChBJ,EAAOprC,OACPzlB,EAAI6wD,EAAO7wD,EAAIqP,EAAGkE,KAAOu9C,EAAgBF,EAAaV,EAAWW,EAAOprC,QAE/D9kB,EAAI,GAAKV,EAAIgxD,EAAa5hD,EAAGmE,IAAMnE,EAAGkmB,QAAQniB,SACxDpT,EAAI6wD,EAAO7wD,EAAIA,EAAIqP,EAAGghD,aAAaQ,EAAOprC,MAAQypC,EAAU5nC,QAC5DupC,EAAOprC,OACPxlB,EAAI4wD,EAAO5wD,EAAIoP,EAAGmE,IAAMs9C,EAAgBH,EAAcL,EAAcO,EAAOprC,QAG5E,IAAI0rC,EAAQtmB,EAAU7qC,EAAEA,IA/GL,SAASA,EAAGC,EAAGyvB,GAClC,KAAI/nB,MAAMynD,IAAaA,GAAY,GAAnC,CAKAn8C,EAAIsB,OAEJ,IAAI6Q,EAAY4pC,GAAiBt/B,EAAWtK,UAAWsrC,EAAYxuC,aAanE,GAZAjP,EAAIgS,UAAY+pC,GAAiBt/B,EAAWzK,UAAW7O,GACvDnD,EAAIwT,QAAUuoC,GAAiBt/B,EAAWjJ,QAASiqC,EAAYhrC,gBAC/DzS,EAAI0T,eAAiBqoC,GAAiBt/B,EAAW/I,eAAgB+pC,EAAY9qC,kBAC7E3S,EAAIoS,SAAW2pC,GAAiBt/B,EAAWrK,SAAUqrC,EAAY7qC,iBACjE5S,EAAImS,UAAYA,EAChBnS,EAAIiS,YAAc8pC,GAAiBt/B,EAAWxK,YAAa9O,GAEvDnD,EAAIyT,aAEPzT,EAAIyT,YAAYsoC,GAAiBt/B,EAAW6/B,SAAUmB,EAAY/qC,aAG/DupC,GAAaA,EAAUC,cAAe,CAGzC,IAAI77C,EAAS87C,EAAWlwD,KAAKkyD,MAAQ,EACjCt/B,EAAU+Y,EAAU3xB,MAAMlZ,EAAGovD,EAAW,GAI5C52C,EAAUC,OAAO1E,UAAUd,EAAKyc,EAAWzI,WAAY3T,EAAQwe,EAHjD7xB,EAAIiX,EAAW,EAGoDwY,EAAWzb,eAG5FhB,EAAIgW,SAAS4hB,EAAU1xB,WAAWnZ,EAAGovD,GAAWnvD,EAAGmvD,EAAUl4C,GAC3C,IAAdkO,GACHnS,EAAIu4B,WAAWX,EAAU1xB,WAAWnZ,EAAGovD,GAAWnvD,EAAGmvD,EAAUl4C,GAIjEjE,EAAIyB,WA2EJ28C,CAAcF,EAAOlxD,EAAGyvB,GAExBugC,EAAStvD,GAAG4S,KAAOs3B,EAAU1xB,WAAWg4C,EAAOlB,EAAStvD,GAAGwS,OAC3D88C,EAAStvD,GAAG6S,IAAMvT,EA3EJ,SAASD,EAAGC,EAAGyvB,EAAYwhC,GACzC,IAAII,EAAep6C,EAAW,EAC1Bq6C,EAAQ1mB,EAAU3xB,MAAMlZ,EAAGovD,EAAWkC,GACtCE,EAAUvxD,EAAIqxD,EAElBr+C,EAAI83B,SAASrb,EAAWF,KAAM+hC,EAAOC,GAEjC9hC,EAAWxV,SAEdjH,EAAI0B,YACJ1B,EAAImS,UAAY,EAChBnS,EAAIU,OAAO49C,EAAOC,GAClBv+C,EAAI2B,OAAOi2B,EAAU3xB,MAAMq4C,EAAOL,GAAYM,GAC9Cv+C,EAAI8B,UAiELg2B,CAASomB,EAAOlxD,EAAGyvB,EAAYwhC,GAE3BpmC,EACH+lC,EAAO7wD,GAAKmT,EAAQ+7C,EAAU5nC,QAE9BupC,EAAO5wD,GAAKgxD,KAIdz4C,EAAUI,IAAIiB,qBAAqBxK,EAAG4D,IAAKkd,EAAKyV,iBAMjD6rB,iBAAkB,SAASzxD,EAAGC,GAC7B,IACIU,EAAG+wD,EAAQC,EADXtiD,EAAKxS,KAGT,GAAImD,GAAKqP,EAAGkE,MAAQvT,GAAKqP,EAAGoE,OAASxT,GAAKoP,EAAGmE,KAAOvT,GAAKoP,EAAGqE,OAG3D,IADAi+C,EAAKtiD,EAAGogD,eACH9uD,EAAI,EAAGA,EAAIgxD,EAAGnzD,SAAUmC,EAG5B,GAAIX,IAFJ0xD,EAASC,EAAGhxD,IAEI4S,MAAQvT,GAAK0xD,EAAOn+C,KAAOm+C,EAAOv+C,OAASlT,GAAKyxD,EAAOl+C,KAAOvT,GAAKyxD,EAAOl+C,IAAMk+C,EAAOt+C,OAEtG,OAAO/D,EAAG0gD,YAAYpvD,GAKzB,OAAO,MAQRkrC,YAAa,SAAStvC,GACrB,IAGIq1D,EAHAviD,EAAKxS,KACLszB,EAAO9gB,EAAGd,QACV7C,EAAkB,YAAXnP,EAAEmP,KAAqB,QAAUnP,EAAEmP,KAG9C,GAAa,cAATA,GACH,IAAKykB,EAAK6c,UAAY7c,EAAKm/B,QAC1B,WAEK,IAAa,UAAT5jD,EAKV,OAJA,IAAKykB,EAAKV,QACT,OAOFmiC,EAAcviD,EAAGoiD,iBAAiBl1D,EAAEyD,EAAGzD,EAAE0D,GAE5B,UAATyL,EACCkmD,GAAezhC,EAAKV,SAEvBU,EAAKV,QAAQ7pB,KAAKyJ,EAAI9S,EAAEo6B,OAAQi7B,IAG7BzhC,EAAKm/B,SAAWsC,IAAgBviD,EAAGqgD,eAClCrgD,EAAGqgD,cACNv/B,EAAKm/B,QAAQ1pD,KAAKyJ,EAAI9S,EAAEo6B,OAAQtnB,EAAGqgD,cAEpCrgD,EAAGqgD,aAAekC,GAGfzhC,EAAK6c,SAAW4kB,GAEnBzhC,EAAK6c,QAAQpnC,KAAKyJ,EAAI9S,EAAEo6B,OAAQi7B,OAMpC,SAASC,GAAyB7+C,EAAO8+C,GACxC,IAAIziC,EAAS,IAAImgC,GAAO,CACvBv8C,IAAKD,EAAMC,IACX1E,QAASujD,EACT9+C,MAAOA,IAGR+mB,GAAaK,UAAUpnB,EAAOqc,EAAQyiC,GACtC/3B,GAAaC,OAAOhnB,EAAOqc,GAC3Brc,EAAMqc,OAASA,EAGhB,IAAI0iC,GAAgB,CACnBplD,GAAI,SASJqlD,SAAUxC,GAEVyC,WAAY,SAASj/C,GACpB,IAAI8+C,EAAa9+C,EAAMzE,QAAQ8gB,OAE3ByiC,GACHD,GAAyB7+C,EAAO8+C,IAIlCjc,aAAc,SAAS7iC,GACtB,IAAI8+C,EAAa9+C,EAAMzE,QAAQ8gB,OAC3BA,EAASrc,EAAMqc,OAEfyiC,GACHt5C,EAAU5J,QAAQkjD,EAAYn7C,EAAcza,OAAOmzB,QAE/CA,GACH0K,GAAaK,UAAUpnB,EAAOqc,EAAQyiC,GACtCziC,EAAO9gB,QAAUujD,GAEjBD,GAAyB7+C,EAAO8+C,IAEvBziC,IACV0K,GAAaG,UAAUlnB,EAAOqc,UACvBrc,EAAMqc,SAIf6iC,WAAY,SAASl/C,EAAOzW,GAC3B,IAAI8yB,EAASrc,EAAMqc,OACfA,GACHA,EAAOwc,YAAYtvC,KAKlB41D,GAAS35C,EAAU1L,KAEvB6J,EAAcR,KAAK,SAAU,CAC5ByX,MAAO,CACN+G,SAAS,EACTpd,UAAW,OACXqiB,WAAW,EACXtS,QAAS,GACTmG,SAAU,MACV+B,KAAM,GACNnkB,OAAQ,OAOV,IAAI+mD,GAAQj3C,EAAapM,OAAO,CAC/BiL,WAAY,SAASiZ,GAEpBza,EAAUzJ,OADDlS,KACYo2B,GADZp2B,KAIN4yD,eAAiB,IAKrB5Z,aAAcsc,GACdtxC,OAAQ,SAASi1B,EAAUC,EAAWC,GACrC,IAAI3mC,EAAKxS,KA0BT,OAvBAwS,EAAGwmC,eAGHxmC,EAAGymC,SAAWA,EACdzmC,EAAG0mC,UAAYA,EACf1mC,EAAG2mC,QAAUA,EAGb3mC,EAAGonC,sBACHpnC,EAAGqnC,gBACHrnC,EAAGsnC,qBAEHtnC,EAAGugD,oBACHvgD,EAAGwgD,cACHxgD,EAAGygD,mBAGHzgD,EAAGqoC,YACHroC,EAAGsoC,MACHtoC,EAAGuoC,WAEHvoC,EAAG0oC,cAEI1oC,EAAGkmB,SAGXwiB,YAAaoa,GAIb1b,oBAAqB0b,GACrBzb,cAAe,WACd,IAAIrnC,EAAKxS,KAELwS,EAAGyb,gBAENzb,EAAG8D,MAAQ9D,EAAGymC,SACdzmC,EAAGkE,KAAO,EACVlE,EAAGoE,MAAQpE,EAAG8D,QAEd9D,EAAG+D,OAAS/D,EAAG0mC,UAGf1mC,EAAGmE,IAAM,EACTnE,EAAGqE,OAASrE,EAAG+D,QAIhB/D,EAAGgmC,YAAc,EACjBhmC,EAAGimC,WAAa,EAChBjmC,EAAGkmC,aAAe,EAClBlmC,EAAGmmC,cAAgB,EAGnBnmC,EAAGkmB,QAAU,CACZpiB,MAAO,EACPC,OAAQ,IAGVujC,mBAAoBwb,GAIpBvC,kBAAmBuC,GACnBtC,YAAasC,GACbrC,iBAAkBqC,GAIlBza,UAAWya,GACXxa,IAAK,WACJ,IAIeyM,EAJX/0C,EAAKxS,KACLszB,EAAO9gB,EAAGd,QACVgnB,EAAUlmB,EAAGkmB,QAAU,GACvBzK,EAAezb,EAAGyb,eAGjBqF,EAAKwE,SAMVyvB,GADY5rC,EAAUvL,QAAQkjB,EAAKX,MAAQW,EAAKX,KAAKhxB,OAAS,GACvCga,EAAUjK,QAAQyI,WAAWmZ,GAAM7Y,WAA4B,EAAf6Y,EAAK7I,QAE5EjY,EAAG8D,MAAQoiB,EAAQpiB,MAAQ2X,EAAezb,EAAGymC,SAAWsO,EACxD/0C,EAAG+D,OAASmiB,EAAQniB,OAAS0X,EAAes5B,EAAW/0C,EAAG0mC,WARzD1mC,EAAG8D,MAAQoiB,EAAQpiB,MAAQ9D,EAAG+D,OAASmiB,EAAQniB,OAAS,GAU1DwkC,SAAUua,GAGVrnC,aAAc,WACb,IAAIyN,EAAM17B,KAAK0R,QAAQkf,SACvB,MAAe,QAAR8K,GAAyB,WAARA,GAIzBvX,KAAM,WACL,IAAI3R,EAAKxS,KACLoW,EAAM5D,EAAG4D,IACTkd,EAAO9gB,EAAGd,QAEd,GAAK4hB,EAAKwE,QAAV,CAIA,IAQImhB,EAAUuc,EAAQC,EARlBC,EAAW/5C,EAAUjK,QAAQyI,WAAWmZ,GACxC7Y,EAAai7C,EAASj7C,WACtBmS,EAASnS,EAAa,EAAI6Y,EAAK7I,QAC/BrT,EAAW,EACXT,EAAMnE,EAAGmE,IACTD,EAAOlE,EAAGkE,KACVG,EAASrE,EAAGqE,OACZD,EAAQpE,EAAGoE,MAGfR,EAAIgS,UAAYzM,EAAUlL,eAAe6iB,EAAKujB,UAAW/8B,EAAcza,OAAOma,kBAC9EpD,EAAIkE,KAAOo7C,EAAS3vD,OAGhByM,EAAGyb,gBACNunC,EAAS9+C,GAASE,EAAQF,GAAQ,EAClC++C,EAAS9+C,EAAMiW,EACfqsB,EAAWriC,EAAQF,IAEnB8+C,EAA2B,SAAlBliC,EAAK1C,SAAsBla,EAAOkW,EAAShW,EAAQgW,EAC5D6oC,EAAS9+C,GAAQE,EAASF,GAAO,EACjCsiC,EAAWpiC,EAASF,EACpBS,EAAW/U,KAAK8C,IAAwB,SAAlBmuB,EAAK1C,UAAuB,GAAM,KAGzDxa,EAAIsB,OACJtB,EAAIuB,UAAU69C,EAAQC,GACtBr/C,EAAIhI,OAAOgJ,GACXhB,EAAI+F,UAAY,SAChB/F,EAAI63B,aAAe,SAEnB,IAAItb,EAAOW,EAAKX,KAChB,GAAIhX,EAAUvL,QAAQuiB,GAErB,IADA,IAAIvvB,EAAI,EACCU,EAAI,EAAGA,EAAI6uB,EAAKhxB,SAAUmC,EAClCsS,EAAI83B,SAASvb,EAAK7uB,GAAI,EAAGV,EAAG61C,GAC5B71C,GAAKqX,OAGNrE,EAAI83B,SAASvb,EAAM,EAAG,EAAGsmB,GAG1B7iC,EAAIyB,cAIN,SAAS89C,GAA6Bx/C,EAAOy/C,GAC5C,IAAI7kC,EAAQ,IAAIwkC,GAAM,CACrBn/C,IAAKD,EAAMC,IACX1E,QAASkkD,EACTz/C,MAAOA,IAGR+mB,GAAaK,UAAUpnB,EAAO4a,EAAO6kC,GACrC14B,GAAaC,OAAOhnB,EAAO4a,GAC3B5a,EAAM0/C,WAAa9kC,EAGpB,IAwCIoT,GAAU,GACV2rB,GAAS+B,GACTr/B,GAAS0iC,GACTnkC,GA3Ce,CAClBjhB,GAAI,QASJqlD,SAAUI,GAEVH,WAAY,SAASj/C,GACpB,IAAIy/C,EAAYz/C,EAAMzE,QAAQqf,MAE1B6kC,GACHD,GAA6Bx/C,EAAOy/C,IAItC5c,aAAc,SAAS7iC,GACtB,IAAIy/C,EAAYz/C,EAAMzE,QAAQqf,MAC1B8kC,EAAa1/C,EAAM0/C,WAEnBD,GACHj6C,EAAU5J,QAAQ6jD,EAAW97C,EAAcza,OAAO0xB,OAE9C8kC,GACH34B,GAAaK,UAAUpnB,EAAO0/C,EAAYD,GAC1CC,EAAWnkD,QAAUkkD,GAErBD,GAA6Bx/C,EAAOy/C,IAE3BC,IACV34B,GAAaG,UAAUlnB,EAAO0/C,UACvB1/C,EAAM0/C,cAmDhB,IAAK,IAAI7yD,MA1CTmhC,GAAQ2rB,OAASA,GACjB3rB,GAAQ3R,OAASA,GACjB2R,GAAQpT,MAAQA,GAOhBujB,GAAgBtkC,QAAU2L,EAxlLP,WAoYlB,SAASm6C,EAAcC,EAAYvtD,EAAMwtD,GACxC,IAAIC,EAYJ,MAX0B,iBAAfF,GACVE,EAAgBvvD,SAASqvD,EAAY,KAEJ,IAA7BA,EAAW5iD,QAAQ,OAEtB8iD,EAAgBA,EAAgB,IAAMztD,EAAKw6B,WAAWgzB,KAGvDC,EAAgBF,EAGVE,EAOR,SAASC,EAAmBp0D,GAC3B,OAAOA,SAAmD,SAAVA,EAUjD,SAASq0D,EAAuBC,EAASC,EAAUC,GAClD,IAAIz4C,EAAOqU,SAASqkC,YAChBvzB,EAAarnB,EAAU66C,eAAeJ,GACtCK,EAAkB54C,EAAK64C,iBAAiBN,GAASC,GACjDM,EAAuB94C,EAAK64C,iBAAiB1zB,GAAYqzB,GACzDO,EAAWV,EAAmBO,GAC9BI,EAAgBX,EAAmBS,GACnCG,EAAWtmD,OAAOgqB,kBAEtB,OAAIo8B,GAAYC,EACRx0D,KAAKD,IACXw0D,EAAWd,EAAcW,EAAiBL,EAASE,GAAsBQ,EACzED,EAAgBf,EAAca,EAAsB3zB,EAAYszB,GAAsBQ,GAGjF,OA9aRn7C,EAAU8f,MAAQ,SAASs7B,EAAYC,GACtC,GAAIr7C,EAAUvL,QAAQ2mD,IAAenuD,MAAMC,UAAU0uB,OACpD,OAAOw/B,EAAWx/B,OAAOy/B,GAE1B,IAAI7f,EAAW,GAQf,OANAx7B,EAAU5K,KAAKgmD,GAAY,SAAS1jD,GAC/B2jD,EAAe3jD,IAClB8jC,EAASh8B,KAAK9H,MAIT8jC,GAERx7B,EAAUoE,UAAYnX,MAAMC,UAAUkX,UACrC,SAAS3M,EAAOxC,EAAUkC,GACzB,OAAOM,EAAM2M,UAAUnP,EAAUkC,IAElC,SAASM,EAAOxC,EAAUkC,GACzBA,OAAkB9I,IAAV8I,EAAsBM,EAAQN,EACtC,IAAK,IAAIhP,EAAI,EAAGuN,EAAO+B,EAAMzR,OAAQmC,EAAIuN,IAAQvN,EAChD,GAAI8M,EAAS7H,KAAK+J,EAAOM,EAAMtP,GAAIA,EAAGsP,GACrC,OAAOtP,EAGT,OAAQ,GAEV6X,EAAUs7C,cAAgB,SAASC,EAAeF,EAAgBG,GAE7Dx7C,EAAUxL,cAAcgnD,KAC3BA,GAAc,GAEf,IAAK,IAAIrzD,EAAIqzD,EAAa,EAAGrzD,EAAIozD,EAAcv1D,OAAQmC,IAAK,CAC3D,IAAIszD,EAAcF,EAAcpzD,GAChC,GAAIkzD,EAAeI,GAClB,OAAOA,IAIVz7C,EAAU07C,kBAAoB,SAASH,EAAeF,EAAgBG,GAEjEx7C,EAAUxL,cAAcgnD,KAC3BA,EAAaD,EAAcv1D,QAE5B,IAAK,IAAImC,EAAIqzD,EAAa,EAAGrzD,GAAK,EAAGA,IAAK,CACzC,IAAIszD,EAAcF,EAAcpzD,GAChC,GAAIkzD,EAAeI,GAClB,OAAOA,IAMVz7C,EAAU0C,SAAW,SAAS5Z,GAC7B,OAAQqG,MAAMF,WAAWnG,KAAO8L,SAAS9L,IAE1CkX,EAAU6oC,aAAe,SAASrhD,EAAGC,EAAGk0D,GACvC,OAAOj1D,KAAK6nB,IAAI/mB,EAAIC,GAAKk0D,GAE1B37C,EAAU4oC,YAAc,SAASphD,EAAGm0D,GACnC,IAAIC,EAAUl1D,KAAKqD,MAAMvC,GACzB,OAASo0D,EAAUD,GAAYn0D,GAAQo0D,EAAUD,GAAYn0D,GAE9DwY,EAAUrZ,IAAM,SAAS8Q,GACxB,OAAOA,EAAM+4B,QAAO,SAAS7pC,EAAKR,GACjC,OAAKgJ,MAAMhJ,GAGJQ,EAFCD,KAAKC,IAAIA,EAAKR,KAGpB0O,OAAO40C,oBAEXzpC,EAAUvZ,IAAM,SAASgR,GACxB,OAAOA,EAAM+4B,QAAO,SAAS/pC,EAAKN,GACjC,OAAKgJ,MAAMhJ,GAGJM,EAFCC,KAAKD,IAAIA,EAAKN,KAGpB0O,OAAOgqB,oBAEX7e,EAAUmnC,KAAOzgD,KAAKygD,KACrB,SAAS3/C,GACR,OAAOd,KAAKygD,KAAK3/C,IAElB,SAASA,GAER,OAAU,IADVA,GAAKA,IACU2H,MAAM3H,GACbA,EAEDA,EAAI,EAAI,GAAK,GAEtBwY,EAAUyhC,UAAY,SAAS/uC,GAC9B,OAAOA,GAAWhM,KAAK8C,GAAK,MAE7BwW,EAAU2gC,UAAY,SAASkb,GAC9B,OAAOA,GAAW,IAAMn1D,KAAK8C,KAU9BwW,EAAU2oC,eAAiB,SAASnhD,GACnC,GAAKwY,EAAUpL,SAASpN,GAAxB,CAKA,IAFA,IAAIzD,EAAI,EACJ0E,EAAI,EACD/B,KAAKqD,MAAMvC,EAAIzD,GAAKA,IAAMyD,GAChCzD,GAAK,GACL0E,IAED,OAAOA,IAIRuX,EAAU+L,kBAAoB,SAAS+vC,EAAaC,GACnD,IAAIC,EAAsBD,EAAWv0D,EAAIs0D,EAAYt0D,EACjDy0D,EAAsBF,EAAWt0D,EAAIq0D,EAAYr0D,EACjDy0D,EAA2Bx1D,KAAK+C,KAAKuyD,EAAsBA,EAAsBC,EAAsBA,GAEvGjwC,EAAQtlB,KAAK6C,MAAM0yD,EAAqBD,GAM5C,OAJIhwC,GAAU,GAAMtlB,KAAK8C,KACxBwiB,GAAS,EAAMtlB,KAAK8C,IAGd,CACNwiB,MAAOA,EACPpkB,SAAUs0D,IAGZl8C,EAAU0sB,sBAAwB,SAASxN,EAAKC,GAC/C,OAAOz4B,KAAK+C,KAAK/C,KAAKmB,IAAIs3B,EAAI33B,EAAI03B,EAAI13B,EAAG,GAAKd,KAAKmB,IAAIs3B,EAAI13B,EAAIy3B,EAAIz3B,EAAG,KASvEuY,EAAUm8C,WAAa,SAASC,GAC/B,OAAQA,EAAa,GAAM,EAAK,EAAI,IAWrCp8C,EAAU+kC,YAAc,SAASvqC,EAAOwoC,EAAOroC,GAC9C,IAAIs6B,EAAmBz6B,EAAM6hD,wBACzBC,EAAY3hD,EAAQ,EACxB,OAAOjU,KAAKqD,OAAOi5C,EAAQsZ,GAAarnB,GAAoBA,EAAmBqnB,GAGhFt8C,EAAU+b,YAAc,SAASwgC,EAAYC,EAAaC,EAAY9zD,GAMrE,IAAIyO,EAAWmlD,EAAWvuC,KAAOwuC,EAAcD,EAC3C9vD,EAAU+vD,EACVtoC,EAAOuoC,EAAWzuC,KAAOwuC,EAAcC,EAEvCC,EAAMh2D,KAAK+C,KAAK/C,KAAKmB,IAAI4E,EAAQjF,EAAI4P,EAAS5P,EAAG,GAAKd,KAAKmB,IAAI4E,EAAQhF,EAAI2P,EAAS3P,EAAG,IACvFk1D,EAAMj2D,KAAK+C,KAAK/C,KAAKmB,IAAIqsB,EAAK1sB,EAAIiF,EAAQjF,EAAG,GAAKd,KAAKmB,IAAIqsB,EAAKzsB,EAAIgF,EAAQhF,EAAG,IAE/Em1D,EAAMF,GAAOA,EAAMC,GACnBE,EAAMF,GAAOD,EAAMC,GAMnBG,EAAKn0D,GAHTi0D,EAAMztD,MAAMytD,GAAO,EAAIA,GAInBG,EAAKp0D,GAHTk0D,EAAM1tD,MAAM0tD,GAAO,EAAIA,GAKvB,MAAO,CACNzlD,SAAU,CACT5P,EAAGiF,EAAQjF,EAAIs1D,GAAM5oC,EAAK1sB,EAAI4P,EAAS5P,GACvCC,EAAGgF,EAAQhF,EAAIq1D,GAAM5oC,EAAKzsB,EAAI2P,EAAS3P,IAExCysB,KAAM,CACL1sB,EAAGiF,EAAQjF,EAAIu1D,GAAM7oC,EAAK1sB,EAAI4P,EAAS5P,GACvCC,EAAGgF,EAAQhF,EAAIs1D,GAAM7oC,EAAKzsB,EAAI2P,EAAS3P,MAI1CuY,EAAUg9C,QAAUnoD,OAAOmoD,SAAW,MACtCh9C,EAAU8b,oBAAsB,SAASpO,GAMxC,IAUIvlB,EAAG80D,EAAaC,EAAcC,EA4B9BC,EAAQC,EAAOC,EAAMC,EA0BrBn+B,EAhEAo+B,GAAsB9vC,GAAU,IAAI/iB,KAAI,SAAS8R,GACpD,MAAO,CACN3W,MAAO2W,EAAMoF,OACb47C,OAAQ,EACRC,GAAI,MAKFC,EAAYH,EAAmBx3D,OAEnC,IAAKmC,EAAI,EAAGA,EAAIw1D,IAAax1D,EAE5B,KADA+0D,EAAeM,EAAmBr1D,IACjBrC,MAAMkoB,KAAvB,CAMA,GAFAivC,EAAc90D,EAAI,EAAIq1D,EAAmBr1D,EAAI,GAAK,MAClDg1D,EAAah1D,EAAIw1D,EAAY,EAAIH,EAAmBr1D,EAAI,GAAK,QAC1Cg1D,EAAWr3D,MAAMkoB,KAAM,CACzC,IAAI4vC,EAAeT,EAAWr3D,MAAM0B,EAAI01D,EAAap3D,MAAM0B,EAG3D01D,EAAaO,OAAyB,IAAhBG,GAAqBT,EAAWr3D,MAAM2B,EAAIy1D,EAAap3D,MAAM2B,GAAKm2D,EAAc,EAItGV,EAAaQ,IADTT,GAAeA,EAAYn3D,MAAMkoB,KACnBkvC,EAAaO,QACpBN,GAAcA,EAAWr3D,MAAMkoB,KACxBivC,EAAYQ,OACpBp5D,KAAK8iD,KAAK8V,EAAYQ,UAAYp5D,KAAK8iD,KAAK+V,EAAaO,QACjD,GAECR,EAAYQ,OAASP,EAAaO,QAAU,EAMjE,IAAKt1D,EAAI,EAAGA,EAAIw1D,EAAY,IAAKx1D,EAEhCg1D,EAAaK,EAAmBr1D,EAAI,IADpC+0D,EAAeM,EAAmBr1D,IAEjBrC,MAAMkoB,MAAQmvC,EAAWr3D,MAAMkoB,OAI5ChO,EAAU6oC,aAAaqU,EAAaO,OAAQ,EAAGp5D,KAAK24D,SACvDE,EAAaQ,GAAKP,EAAWO,GAAK,GAInCN,EAASF,EAAaQ,GAAKR,EAAaO,OACxCJ,EAAQF,EAAWO,GAAKR,EAAaO,QACrCF,EAAmB72D,KAAKmB,IAAIu1D,EAAQ,GAAK12D,KAAKmB,IAAIw1D,EAAO,KACjC,IAIxBC,EAAO,EAAI52D,KAAK+C,KAAK8zD,GACrBL,EAAaQ,GAAKN,EAASE,EAAOJ,EAAaO,OAC/CN,EAAWO,GAAKL,EAAQC,EAAOJ,EAAaO,UAK7C,IAAKt1D,EAAI,EAAGA,EAAIw1D,IAAax1D,GAC5B+0D,EAAeM,EAAmBr1D,IACjBrC,MAAMkoB,OAKvBmvC,EAAah1D,EAAIw1D,EAAY,EAAIH,EAAmBr1D,EAAI,GAAK,MAD7D80D,EAAc90D,EAAI,EAAIq1D,EAAmBr1D,EAAI,GAAK,QAE9B80D,EAAYn3D,MAAMkoB,OAErCkvC,EAAap3D,MAAMsX,sBAAwB8/C,EAAap3D,MAAM0B,GAD9D43B,GAAU89B,EAAap3D,MAAM0B,EAAIy1D,EAAYn3D,MAAM0B,GAAK,GAExD01D,EAAap3D,MAAMwX,sBAAwB4/C,EAAap3D,MAAM2B,EAAI23B,EAAS89B,EAAaQ,IAErFP,IAAeA,EAAWr3D,MAAMkoB,OAEnCkvC,EAAap3D,MAAMuX,kBAAoB6/C,EAAap3D,MAAM0B,GAD1D43B,GAAU+9B,EAAWr3D,MAAM0B,EAAI01D,EAAap3D,MAAM0B,GAAK,GAEvD01D,EAAap3D,MAAMyX,kBAAoB2/C,EAAap3D,MAAM2B,EAAI23B,EAAS89B,EAAaQ,MAIvF19C,EAAUgc,SAAW,SAASo/B,EAAYpnD,EAAO4hD,GAChD,OAAIA,EACI5hD,GAASonD,EAAWp1D,OAAS,EAAIo1D,EAAW,GAAKA,EAAWpnD,EAAQ,GAErEA,GAASonD,EAAWp1D,OAAS,EAAIo1D,EAAWA,EAAWp1D,OAAS,GAAKo1D,EAAWpnD,EAAQ,IAEhGgM,EAAU+N,aAAe,SAASqtC,EAAYpnD,EAAO4hD,GACpD,OAAIA,EACI5hD,GAAS,EAAIonD,EAAWA,EAAWp1D,OAAS,GAAKo1D,EAAWpnD,EAAQ,GAErEA,GAAS,EAAIonD,EAAW,GAAKA,EAAWpnD,EAAQ,IAGxDgM,EAAU0oC,QAAU,SAAS10B,EAAOjqB,GACnC,IAAI4V,EAAWjZ,KAAK6B,MAAMyX,EAAUN,MAAMsU,IACtC6pC,EAAW7pC,EAAQttB,KAAKmB,IAAI,GAAI8X,GAuBpC,OApBI5V,EACC8zD,EAAW,IACC,EACLA,EAAW,EACN,EACLA,EAAW,EACN,EAEA,GAENA,GAAY,EACP,EACLA,GAAY,EACP,EACLA,GAAY,EACP,EAEA,IAGMn3D,KAAKmB,IAAI,GAAI8X,IAGpCK,EAAUsE,iBACa,oBAAXpQ,OACH,SAASe,GACfA,KAGKf,OAAOgQ,uBACbhQ,OAAO4pD,6BACP5pD,OAAO6pD,0BACP7pD,OAAO8pD,wBACP9pD,OAAO+pD,yBACP,SAAShpD,GACR,OAAOf,OAAOgqD,WAAWjpD,EAAU,IAAO,KAI7C+K,EAAUke,oBAAsB,SAASigC,EAAK3jD,GAC7C,IAAIgR,EAAQmD,EACR5qB,EAAIo6D,EAAIC,eAAiBD,EACzBl+C,EAASk+C,EAAI/qD,QAAU+qD,EAAIE,WAC3BC,EAAer+C,EAAOs+C,wBAEtBC,EAAUz6D,EAAEy6D,QACZA,GAAWA,EAAQx4D,OAAS,GAC/BwlB,EAASgzC,EAAQ,GAAGC,QACpB9vC,EAAS6vC,EAAQ,GAAGE,UAGpBlzC,EAASznB,EAAE06D,QACX9vC,EAAS5qB,EAAE26D,SAMZ,IAAI7hB,EAAc5tC,WAAW+Q,EAAUyI,SAASxI,EAAQ,iBACpD68B,EAAa7tC,WAAW+Q,EAAUyI,SAASxI,EAAQ,gBACnD88B,EAAe9tC,WAAW+Q,EAAUyI,SAASxI,EAAQ,kBACrD+8B,EAAgB/tC,WAAW+Q,EAAUyI,SAASxI,EAAQ,mBAEtDrF,EAAS0jD,EAAapjD,OAASojD,EAAatjD,IAAM8hC,EAAaE,EAOnE,MAAO,CACNx1C,EAJDgkB,EAAS9kB,KAAKqD,OAAOyhB,EAAS8yC,EAAavjD,KAAO8hC,IALtCyhB,EAAarjD,MAAQqjD,EAAavjD,KAAO8hC,EAAcE,GAKQ98B,EAAOtF,MAAQH,EAAM6hD,yBAK/F50D,EAJDknB,EAASjoB,KAAKqD,OAAO4kB,EAAS2vC,EAAatjD,IAAM8hC,GAAc,EAAW78B,EAAOrF,OAASJ,EAAM6hD,2BA2DjGr8C,EAAU2+C,mBAAqB,SAASlE,GACvC,OAAOD,EAAuBC,EAAS,YAAa,gBAGrDz6C,EAAU4+C,oBAAsB,SAASnE,GACxC,OAAOD,EAAuBC,EAAS,aAAc,iBAKtDz6C,EAAU6+C,kBAAoB,SAAS13B,EAAWrY,EAASgwC,GAG1D,OAFAhwC,EAAU9O,EAAUyI,SAAS0e,EAAWrY,IAEzBtX,QAAQ,MAAQ,EAAIsnD,EAAkB/zD,SAAS+jB,EAAS,IAAM,IAAM/jB,SAAS+jB,EAAS,KAKtG9O,EAAU66C,eAAiB,SAASJ,GACnC,IAAI5uD,EAAS4uD,EAAQpzB,WAIrB,OAHIx7B,GAAgC,wBAAtBA,EAAOxB,aACpBwB,EAASA,EAAOy5B,MAEVz5B,GAERmU,EAAUu1B,gBAAkB,SAASklB,GACpC,IAAItzB,EAAYnnB,EAAU66C,eAAeJ,GACzC,IAAKtzB,EACJ,OAAOszB,EAAQnzB,YAGhB,IAAIA,EAAcH,EAAUG,YAIxBl8B,EAAIk8B,EAHUtnB,EAAU6+C,kBAAkB13B,EAAW,eAAgBG,GACtDtnB,EAAU6+C,kBAAkB13B,EAAW,gBAAiBG,GAGvEy3B,EAAK/+C,EAAU2+C,mBAAmBlE,GACtC,OAAOtrD,MAAM4vD,GAAM3zD,EAAI1E,KAAKD,IAAI2E,EAAG2zD,IAEpC/+C,EAAUw1B,iBAAmB,SAASilB,GACrC,IAAItzB,EAAYnnB,EAAU66C,eAAeJ,GACzC,IAAKtzB,EACJ,OAAOszB,EAAQuE,aAGhB,IAAIA,EAAe73B,EAAU63B,aAIzB54D,EAAI44D,EAHSh/C,EAAU6+C,kBAAkB13B,EAAW,cAAe63B,GACnDh/C,EAAU6+C,kBAAkB13B,EAAW,iBAAkB63B,GAGzEC,EAAKj/C,EAAU4+C,oBAAoBnE,GACvC,OAAOtrD,MAAM8vD,GAAM74D,EAAIM,KAAKD,IAAIL,EAAG64D,IAEpCj/C,EAAUyI,SAAW,SAASgc,EAAIZ,GACjC,OAAOY,EAAGy6B,aACTz6B,EAAGy6B,aAAar7B,GAChBtN,SAASqkC,YAAYG,iBAAiBt2B,EAAI,MAAMxjB,iBAAiB4iB,IAEnE7jB,EAAUg1B,YAAc,SAASx6B,EAAO2kD,GACvC,IAAIC,EAAa5kD,EAAM6hD,wBAA0B8C,GAAiC,oBAAXjrD,QAA0BA,OAAO+gC,kBAAqB,EAC7H,GAAmB,IAAfmqB,EAAJ,CAIA,IAAIn/C,EAASzF,EAAMyF,OACfrF,EAASJ,EAAMI,OACfD,EAAQH,EAAMG,MAElBsF,EAAOrF,OAASA,EAASwkD,EACzBn/C,EAAOtF,MAAQA,EAAQykD,EACvB5kD,EAAMC,IAAIvL,MAAMkwD,EAAYA,GAKvBn/C,EAAOzE,MAAMZ,QAAWqF,EAAOzE,MAAMb,QACzCsF,EAAOzE,MAAMZ,OAASA,EAAS,KAC/BqF,EAAOzE,MAAMb,MAAQA,EAAQ,QAI/BqF,EAAU8wB,WAAa,SAASuuB,EAAWtgD,EAAWF,GACrD,OAAOE,EAAY,IAAMsgD,EAAY,MAAQxgD,GAE9CmB,EAAUusC,YAAc,SAAS9xC,EAAKkE,EAAM2gD,EAAej2B,GAE1D,IAAIljB,GADJkjB,EAAQA,GAAS,IACAljB,KAAOkjB,EAAMljB,MAAQ,GAClCo8B,EAAKlZ,EAAMqZ,eAAiBrZ,EAAMqZ,gBAAkB,GAEpDrZ,EAAM1qB,OAASA,IAClBwH,EAAOkjB,EAAMljB,KAAO,GACpBo8B,EAAKlZ,EAAMqZ,eAAiB,GAC5BrZ,EAAM1qB,KAAOA,GAGdlE,EAAIkE,KAAOA,EACX,IAEIxW,EAAGsvB,EAAG8G,EAAMghC,EAAOC,EAFnBC,EAAU,EACV/pD,EAAO4pD,EAAct5D,OAEzB,IAAKmC,EAAI,EAAGA,EAAIuN,EAAMvN,IAIrB,GAAIo3D,OAHJA,EAAQD,EAAcn3D,MAGoD,IAA7B6X,EAAUvL,QAAQ8qD,GAC9DE,EAAUz/C,EAAU6wB,YAAYp2B,EAAK0L,EAAMo8B,EAAIkd,EAASF,QAClD,GAAIv/C,EAAUvL,QAAQ8qD,GAG5B,IAAK9nC,EAAI,EAAG8G,EAAOghC,EAAMv5D,OAAQyxB,EAAI8G,EAAM9G,IAGtC+nC,OAFJA,EAAcD,EAAM9nC,KAEsCzX,EAAUvL,QAAQ+qD,KAC3EC,EAAUz/C,EAAU6wB,YAAYp2B,EAAK0L,EAAMo8B,EAAIkd,EAASD,IAM5D,IAAI/c,EAAQF,EAAGv8C,OAAS,EACxB,GAAIy8C,EAAQ6c,EAAct5D,OAAQ,CACjC,IAAKmC,EAAI,EAAGA,EAAIs6C,EAAOt6C,WACfge,EAAKo8B,EAAGp6C,IAEhBo6C,EAAGl+B,OAAO,EAAGo+B,GAEd,OAAOgd,GAERz/C,EAAU6wB,YAAc,SAASp2B,EAAK0L,EAAMo8B,EAAIkd,EAASr1D,GACxD,IAAIsuD,EAAYvyC,EAAK/b,GAQrB,OAPKsuD,IACJA,EAAYvyC,EAAK/b,GAAUqQ,EAAIo2B,YAAYzmC,GAAQuQ,MACnD4nC,EAAG/iC,KAAKpV,IAELsuD,EAAY+G,IACfA,EAAU/G,GAEJ+G,GAMRz/C,EAAU0/C,mBAAqB,SAASJ,GACvC,IAAIK,EAAgB,EAQpB,OAPA3/C,EAAU5K,KAAKkqD,GAAe,SAASC,GAClCv/C,EAAUvL,QAAQ8qD,IACjBA,EAAMv5D,OAAS25D,IAClBA,EAAgBJ,EAAMv5D,WAIlB25D,GAGR3/C,EAAU/V,MAASmK,EAKlB,SAASjO,GAMR,OAJIA,aAAiBy5D,iBACpBz5D,EAAQgY,EAAcza,OAAOka,cAGvBxJ,EAAajO,IAVrB,SAASA,GAER,OADAmN,QAAQC,MAAM,uBACPpN,GAWT6Z,EAAUyJ,cAAgB,SAASo2C,GAElC,OAAQA,aAAsBC,eAAiBD,aAAsBD,eACpEC,EACA7/C,EAAU/V,MAAM41D,GAAY3tD,SAAS,IAAKD,OAAO,IAAK1D,aA0/JzDwxD,GAEApnB,GAAgBqnB,UAAYtmB,GAC5Bf,GAAgBsnB,UAAY/8C,EAC5By1B,GAAgBunB,iBAAmBz8C,EACnCk1B,GAAgB9a,YAAcA,GAC9B8a,GAAgB3zB,kBAAoB4F,EACpC+tB,GAAgBj7B,SAAWS,EAC3Bw6B,GAAgBr3B,QAAUqB,EAC1Bg2B,GAAgBpwB,SAAWA,GAC3BowB,GAAgBwnB,YAAc3gC,GAC9BmZ,GAAgBjW,QAAUnB,GAC1BoX,GAAgBpQ,SAAWA,GAC3BoQ,GAAgBnQ,QAAUC,GAC1BkQ,GAAgBgE,MAAQ0J,GACxB1N,GAAgBynB,aAAe52B,GAC/BmP,GAAgB0nB,MAAQzmB,GACxBjB,GAAgB2nB,QAAU7xB,GAI1BkK,GAAgBtkC,QAAQe,KAAKuQ,IAAQ,SAASzW,EAAOgE,GACpDylC,GAAgBynB,aAAa12B,kBAAkBx2B,EAAMhE,EAAOA,EAAM43C,cAQrDte,GACTA,GAAQlkC,eAAe+C,KAC1BsxC,GAAgBnQ,QAAQI,SAASJ,GAAQnhC,KAI3CsxC,GAAgBpQ,SAAS/mB,aAEzB,IAAI9K,GAAMiiC,GAyGV,MAxGsB,oBAAXzkC,SACVA,OAAO/P,MAAQw0C,IAYhBA,GAAgBx0C,MAAQw0C,GASxBA,GAAgBqe,OAASxuB,GAAQ3R,OAAO2iC,SASxC7gB,GAAgBihB,MAAQpxB,GAAQpT,MAAMokC,SAStC7gB,GAAgB4nB,cAAgB5nB,GAAgBnQ,QAUhDmQ,GAAgB6nB,WAAa7nB,GAAgBr3B,QAAQ/K,OAAO,IAS5DoiC,GAAgB8nB,cAAgB9nB,GAAgBtkC,QAAQ4L,OASxD04B,GAAgB+nB,cAAgB/nB,GAAgBjW,QAShDiW,GAAgBgoB,gBAAkB3Z,GAQlCrO,GAAgBtkC,QAAQe,KACvB,CACC,MACA,SACA,WACA,OACA,YACA,QACA,YAED,SAASwrD,GACRjoB,GAAgBioB,GAAS,SAASnmD,EAAKomD,GACtC,OAAO,IAAIloB,GAAgBl+B,EAAKk+B,GAAgBtkC,QAAQ6B,MAAM2qD,GAAO,GAAI,CACxE3tD,KAAM0tD,EAAMhtD,OAAO,GAAGktD,cAAgBF,EAAMzzD,MAAM,UAM/CuJ,MC9wfP,SAA2CquB,EAAMphC,GAC1B,iBAAZC,SAA0C,iBAAXC,OACxCA,OAAOD,QAAUD,IACQ,mBAAXK,QAAyBA,OAAOC,IAC9CD,OAAO,GAAIL,GACe,iBAAZC,QACdA,QAAe,MAAID,IAEnBohC,EAAY,MAAIphC,IARlB,CASmB,oBAATO,KAAuBA,KAAOG,MAAM,WAC9C,OAAgB,SAAU08D,GAEhB,IAAIC,EAAmB,GAGvB,SAASC,EAAoBC,GAG5B,GAAGF,EAAiBE,GACnB,OAAOF,EAAiBE,GAAUt9D,QAGnC,IAAIC,EAASm9D,EAAiBE,GAAY,CACzC/4D,EAAG+4D,EACH76D,GAAG,EACHzC,QAAS,IAUV,OANAm9D,EAAQG,GAAU9zD,KAAKvJ,EAAOD,QAASC,EAAQA,EAAOD,QAASq9D,GAG/Dp9D,EAAOwC,GAAI,EAGJxC,EAAOD,QAqCf,OAhCAq9D,EAAoB/3D,EAAI63D,EAGxBE,EAAoB75D,EAAI45D,EAGxBC,EAAoBx0B,EAAI,SAAS7oC,EAAS0L,EAAM6xD,GAC3CF,EAAoBG,EAAEx9D,EAAS0L,IAClCrJ,OAAOC,eAAetC,EAAS0L,EAAM,CACpCqY,cAAc,EACdC,YAAY,EACZzE,IAAKg+C,KAMRF,EAAoBn4D,EAAI,SAASjF,GAChC,IAAIs9D,EAASt9D,GAAUA,EAAOw9D,WAC7B,WAAwB,OAAOx9D,EAAgB,SAC/C,WAA8B,OAAOA,GAEtC,OADAo9D,EAAoBx0B,EAAE00B,EAAQ,IAAKA,GAC5BA,GAIRF,EAAoBG,EAAI,SAASp5C,EAAQ6b,GAAY,OAAO59B,OAAOiH,UAAU5I,eAAe8I,KAAK4a,EAAQ6b,IAGzGo9B,EAAoBx4D,EAAI,GAGjBw4D,EAAoBA,EAAoBj6D,EAAI,KA9D7C,CAiEN,CAEJ,SAAUnD,EAAQD,EAASq9D,GAEjC,aAEAh7D,OAAOC,eAAetC,EAAS,aAAc,CAAEuC,OAAO,IACtD,IAAIm7D,EAAcL,EAAoB,IAClCM,EAAWN,EAAoB,IAC/BO,EAASP,EAAoB,IAC7BQ,EAAWR,EAAoB,IAC/BS,EAAWT,EAAoB,IAC/BU,EAAUV,EAAoB,IAC9BW,EAAUX,EAAoB,IAC9BY,EAASZ,EAAoB,IAC7Ba,EAAeb,EAAoB,IACnCc,EAAUd,EAAoB,IAC9Be,EAAUf,EAAoB,IAC9BgB,EAAUhB,EAAoB,IAC9BiB,EAAWjB,EAAoB,GAsBnCr9D,EAAQu+D,QArBQ,CACZC,MAAOF,EAASE,MAChBC,OAAQH,EAASG,OACjBC,KAAMJ,EAASI,KACfC,MAAOL,EAASK,MAChB35B,SAAUs5B,EAASt5B,SACnB45B,UAAWlB,EAAYa,QACvBM,OAAQlB,EAASY,QACjBO,KAAMlB,EAAOW,QACbQ,MAAOf,EAAQO,QACfS,OAAQnB,EAASU,QACjBU,MAAOlB,EAAQQ,QACfW,OAAQpB,EAASS,QACjBY,KAAMlB,EAAOM,QACba,WAAY,CACRC,UAAWnB,EAAaK,QACxBe,MAAOnB,EAAQI,QACfgB,MAAOnB,EAAQG,QACfiB,MAAOnB,EAAQE,WAQjB,SAAUt+D,EAAQD,EAASq9D,GAEjC,aAEA,IACQoC,EADJC,EAAaj/D,MAAQA,KAAKi/D,YACtBD,EAAgBp9D,OAAOs9D,gBACtB,CAAEvgC,UAAW,cAAgB/1B,OAAS,SAAUw/B,EAAGjmC,GAAKimC,EAAEzJ,UAAYx8B,IACvE,SAAUimC,EAAGjmC,GAAK,IAAK,IAAIiC,KAAKjC,EAAOA,EAAElC,eAAemE,KAAIgkC,EAAEhkC,GAAKjC,EAAEiC,KAClE,SAAUgkC,EAAGjmC,GAEhB,SAASg9D,IAAOn/D,KAAK0S,YAAc01B,EADnC42B,EAAc52B,EAAGjmC,GAEjBimC,EAAEv/B,UAAkB,OAAN1G,EAAaP,OAAOo8D,OAAO77D,IAAMg9D,EAAGt2D,UAAY1G,EAAE0G,UAAW,IAAIs2D,KAGvFv9D,OAAOC,eAAetC,EAAS,aAAc,CAAEuC,OAAO,IACtD,IAAIs9D,EAAgC,SAAUC,GAE1C,SAASD,EAAeE,GACpB,IAAIC,EAAQv/D,KAKZ,OAHAu/D,EAAQF,EAAOt2D,KAAK/I,KADpBs/D,EAAU,eAAiBA,IACWt/D,MAChCs/D,QAAUA,EAChBC,EAAMt0D,KAAOs0D,EAAM7sD,YAAYzH,KACxBs0D,EAEX,OATAN,EAAUG,EAAgBC,GASnBD,EAVwB,CAWjC19D,OACFnC,EAAQ6/D,eAAiBA,EACzB,IAKIrB,EALAyB,EAAa,GACbC,EAAU,GACVC,EAAO,GACPhrB,EAAQ,GAwCZ,SAASwpB,EAAMA,EAAOprD,GAElB,IAAI3M,EACJ,QAFc,IAAV2M,IAAoBA,EAAQirD,EAAM4B,KAEjB,iBAAVzB,EACP/3D,EAAQuuC,EAAMwpB,IAAUsB,EAAWtB,QAGlC,GAAIA,aAAiBQ,MAAQR,EAAgB,WAAM0B,KAAKC,UACzD15D,EAAQuuC,EAAY,UAEnB,GAAqB,iBAAVwpB,EACRA,EAAQH,EAAM+B,MAAQ/B,EAAMgC,MAC5B55D,EAAQuuC,EAAa,MAEhBwpB,EAAQH,EAAM+B,MAAQ/B,EAAMiC,SACjC75D,EAAQuuC,EAAc,aAGzB,GAAIwpB,aAAiB+B,YAAa,CACnC,IAAIC,GAAShC,EAAM58B,aAAa,UAAY,IAAIj7B,MAAM,OACtD,IAAK,IAAIvC,KAAKo8D,EAEV,GADA/5D,EAAQs5D,EAAQS,EAAMp8D,IAElB,MAERqC,EAAQA,GAASu5D,EAAKxB,EAAMiC,SAEhC,OAAa,MAATh6D,EACO,KAEP2M,EAAQirD,EAAM+B,MAAQ35D,EAAM2M,OAASA,EAAQirD,EAAMqC,KAAOj6D,EAAM2M,MACzD3M,EACJ,KAvEX5G,EAAQ8gE,SAAW,SAEnB,SAAWtC,GACPA,EAAMA,EAAY,KAAI,GAAK,OAC3BA,EAAMA,EAAa,MAAI,IAAM,QAC7BA,EAAMA,EAAiB,UAAI,IAAM,YACjCA,EAAMA,EAAY,KAAI,IAAM,OAC5BA,EAAMA,EAAc,OAAI,GAAK,SAC7BA,EAAMA,EAAa,MAAI,IAAM,QAC7BA,EAAMA,EAAkB,WAAI,IAAM,aAClCA,EAAMA,EAAmB,YAAI,GAAK,cAClCA,EAAMA,EAAuB,gBAAI,GAAK,kBACtCA,EAAMA,EAAwB,iBAAI,GAAK,mBACvCA,EAAMA,EAAW,IAAI,IAAM,MAX/B,CAYGA,EAAQx+D,EAAQw+D,QAAUx+D,EAAQw+D,MAAQ,KAY7Cx+D,EAAQy+D,OAXR,SAAgB5R,EAAOtqD,GACnB,IAAIqE,EAAQ+3D,EAAM9R,GAClB,GAAa,MAATjmD,EACA,MAAM,IAAIi5D,EAAe,oBAAsBhT,EAAQ,SAE3D,IAAIkU,EAAYn6D,EACZqC,EAEJ4jD,aAAiBwT,MAAQxT,EAAgB,WAAMwT,KAAKC,UAAYzT,EAAQkU,EAAUtC,OAAOl8D,GACzF,OAAO,IAAIw+D,EAAU93D,EAAM1G,IAc/BvC,EAAQ0+D,KAXR,SAASA,EAAKz1D,EAAMixB,GAEhB,YADe,IAAXA,IAAqBA,GAAS,GACtB,MAARjxB,EACO,KAEmB,MAA1BA,EAAKjJ,EAAQ8gE,UACN73D,EAAKjJ,EAAQ8gE,UAAUE,KAC9B9mC,EACOwkC,EAAKz1D,EAAKw6B,WAAYvJ,GAC1B,MAqCXl6B,EAAQ2+D,MAAQA,EA6ChB3+D,EAAQglC,SA5CR,SAASA,IAEL,IADA,IAAIi8B,EAAc,GACTC,EAAK,EAAGA,EAAKh7D,UAAU9D,OAAQ8+D,IACpCD,EAAYC,GAAMh7D,UAAUg7D,GAEhC,GAAID,EAAY7+D,OAAS,EACrB,OAAO6+D,EAAYl6D,KAAI,SAAU8hC,GAC7B,OAAO7D,EAAS6D,MAGxB,IAAIs4B,EAAaF,EAAY,GAC7B,GAAmC,iBAAxBE,EAAWC,UAAwD,iBAAxBD,EAAWE,SAC7D,MAAM,IAAIxB,EAAe,sBAExB,GAA4B,aAAxBsB,EAAWC,SAChB,MAAM,IAAIvB,EAAe,kCA2B7B,OAzBA1qB,EAAMgsB,EAAWC,UAAYD,EAAWE,UAAYF,EAClB,iBAAvBA,EAAWG,QAClBrB,EAAWkB,EAAWG,SAAWH,GAGL,MAAxBA,EAAWrgC,YACXo/B,EAAQiB,EAAWrgC,WAAaqgC,GAEV,MAAtBA,EAAWP,UAEPO,EAAWP,QADXv3D,MAAMwH,QAAQswD,EAAWP,SACJO,EAAWP,QAAQ75D,KAAI,SAAU65D,GAClD,OAAOA,EAAQl6D,iBAIEy6D,EAAWP,QAAQl6D,eAE7B2C,MAAMwH,QAAQswD,EAAWP,SAAWO,EAAWP,QAAU,CAACO,EAAWP,UAC3Et4D,SAAQ,SAAUi5D,GACN,MAAbpB,EAAKoB,IAAwC,MAAxBJ,EAAWrgC,YAChCq/B,EAAKoB,GAAOJ,QAKrBA,IAOL,SAAUlhE,EAAQD,EAASq9D,GAEjC,IAAI/5D,EAAO+5D,EAAoB,IAC3BmE,EAAQnE,EAAoB,IAC5B1qD,EAAS0qD,EAAoB,GAC7BoE,EAAKpE,EAAoB,IAGzBqE,EAAiBv4B,OAAOw4B,aAAa,GAGrCC,EAAQ,SAAUC,GAGlBphE,KAAKohE,IADHx4D,MAAMwH,QAAQgxD,GACLA,EACK,MAAPA,GAAex4D,MAAMwH,QAAQgxD,EAAIA,KAC/BA,EAAIA,IAEJ,IAKfD,EAAMt4D,UAAUw4D,OAAS,SAAU1uC,EAAM6sC,GACvC,IAAI8B,EAAQ,GACZ,OAAoB,IAAhB3uC,EAAKhxB,OAAqB3B,MAC9BshE,EAAMD,OAAS1uC,EACG,MAAd6sC,GAA4C,iBAAfA,GAA2B59D,OAAOgG,KAAK43D,GAAY79D,OAAS,IAC3F2/D,EAAM9B,WAAaA,GAEdx/D,KAAKmb,KAAKmmD,KAGnBH,EAAMt4D,UAAkB,OAAI,SAAUlH,GACpC,OAAIA,GAAU,EAAU3B,KACjBA,KAAKmb,KAAK,CAAE,OAAUxZ,KAG/Bw/D,EAAMt4D,UAAU04D,OAAS,SAAU5/D,EAAQ69D,GACzC,GAAI79D,GAAU,EAAG,OAAO3B,KACxB,IAAIshE,EAAQ,CAAEC,OAAQ5/D,GAItB,OAHkB,MAAd69D,GAA4C,iBAAfA,GAA2B59D,OAAOgG,KAAK43D,GAAY79D,OAAS,IAC3F2/D,EAAM9B,WAAaA,GAEdx/D,KAAKmb,KAAKmmD,IAGnBH,EAAMt4D,UAAUsS,KAAO,SAAUmmD,GAC/B,IAAI3xD,EAAQ3P,KAAKohE,IAAIz/D,OACjB6/D,EAASxhE,KAAKohE,IAAIzxD,EAAQ,GAE9B,GADA2xD,EAAQpvD,GAAO,EAAM,GAAIovD,GACH,iBAAXE,EAAqB,CAC9B,GAA+B,iBAApBF,EAAc,QAA8C,iBAArBE,EAAe,OAE/D,OADAxhE,KAAKohE,IAAIzxD,EAAQ,GAAK,CAAE,OAAU6xD,EAAe,OAAIF,EAAc,QAC5DthE,KAIT,GAAgC,iBAArBwhE,EAAe,QAAkC,MAAhBF,EAAMD,QAG1B,iBADtBG,EAASxhE,KAAKohE,KADdzxD,GAAS,GACiB,IAGxB,OADA3P,KAAKohE,IAAI15D,QAAQ45D,GACVthE,KAGX,GAAI+gE,EAAMO,EAAM9B,WAAYgC,EAAOhC,YAAa,CAC9C,GAA4B,iBAAjB8B,EAAMD,QAAgD,iBAAlBG,EAAOH,OAGpD,OAFArhE,KAAKohE,IAAIzxD,EAAQ,GAAK,CAAE0xD,OAAQG,EAAOH,OAASC,EAAMD,QACtB,iBAArBC,EAAM9B,aAAyBx/D,KAAKohE,IAAIzxD,EAAQ,GAAG6vD,WAAa8B,EAAM9B,YAC1Ex/D,KACF,GAA4B,iBAAjBshE,EAAMC,QAAgD,iBAAlBC,EAAOD,OAG3D,OAFAvhE,KAAKohE,IAAIzxD,EAAQ,GAAK,CAAE4xD,OAAQC,EAAOD,OAASD,EAAMC,QACtB,iBAArBD,EAAM9B,aAAyBx/D,KAAKohE,IAAIzxD,EAAQ,GAAG6vD,WAAa8B,EAAM9B,YAC1Ex/D,MASb,OALI2P,IAAU3P,KAAKohE,IAAIz/D,OACrB3B,KAAKohE,IAAIjmD,KAAKmmD,GAEdthE,KAAKohE,IAAIphD,OAAOrQ,EAAO,EAAG2xD,GAErBthE,MAGTmhE,EAAMt4D,UAAU44D,KAAO,WACrB,IAAID,EAASxhE,KAAKohE,IAAIphE,KAAKohE,IAAIz/D,OAAS,GAIxC,OAHI6/D,GAAUA,EAAOD,SAAWC,EAAOhC,YACrCx/D,KAAKohE,IAAI/4D,MAEJrI,MAGTmhE,EAAMt4D,UAAU0uB,OAAS,SAAUmqC,GACjC,OAAO1hE,KAAKohE,IAAI7pC,OAAOmqC,IAGzBP,EAAMt4D,UAAUhB,QAAU,SAAU65D,GAClC1hE,KAAKohE,IAAIv5D,QAAQ65D,IAGnBP,EAAMt4D,UAAUvC,IAAM,SAAUo7D,GAC9B,OAAO1hE,KAAKohE,IAAI96D,IAAIo7D,IAGtBP,EAAMt4D,UAAU84D,UAAY,SAAUD,GACpC,IAAIE,EAAS,GAAIC,EAAS,GAK1B,OAJA7hE,KAAK6H,SAAQ,SAASm5D,IACPU,EAAUV,GAAMY,EAASC,GAC/B1mD,KAAK6lD,MAEP,CAACY,EAAQC,IAGlBV,EAAMt4D,UAAUsjC,OAAS,SAAUu1B,EAAWlgC,GAC5C,OAAOxhC,KAAKohE,IAAIj1B,OAAOu1B,EAAWlgC,IAGpC2/B,EAAMt4D,UAAUi5D,aAAe,WAC7B,OAAO9hE,KAAKmsC,QAAO,SAAUxqC,EAAQogE,GACnC,OAAIA,EAAKV,OACA1/D,EAASq/D,EAAGr/D,OAAOogE,GACjBA,EAAKC,OACPrgE,EAASogE,EAAKC,OAEhBrgE,IACN,IAGLw/D,EAAMt4D,UAAUlH,OAAS,WACvB,OAAO3B,KAAKmsC,QAAO,SAAUxqC,EAAQogE,GACnC,OAAOpgE,EAASq/D,EAAGr/D,OAAOogE,KACzB,IAGLZ,EAAMt4D,UAAUC,MAAQ,SAAU8U,EAAOwR,GACvCxR,EAAQA,GAAS,EACE,iBAARwR,IAAkBA,EAAM9rB,KAInC,IAHA,IAAI89D,EAAM,GACNa,EAAOjB,EAAGkB,SAASliE,KAAKohE,KACxBzxD,EAAQ,EACLA,EAAQyf,GAAO6yC,EAAKE,WAAW,CACpC,IAAIC,EACAzyD,EAAQiO,EACVwkD,EAASH,EAAKpyC,KAAKjS,EAAQjO,IAE3ByyD,EAASH,EAAKpyC,KAAKT,EAAMzf,GACzByxD,EAAIjmD,KAAKinD,IAEXzyD,GAASqxD,EAAGr/D,OAAOygE,GAErB,OAAO,IAAIjB,EAAMC,IAInBD,EAAMt4D,UAAUw5D,QAAU,SAAUC,GAClC,IAAIC,EAAWvB,EAAGkB,SAASliE,KAAKohE,KAC5BoB,EAAYxB,EAAGkB,SAASI,EAAMlB,KAC9BA,EAAM,GACNqB,EAAaD,EAAUE,OAC3B,GAAkB,MAAdD,GAAmD,iBAAtBA,EAAWlB,QAAgD,MAAzBkB,EAAWjD,WAAoB,CAEhG,IADA,IAAImD,EAAYF,EAAWlB,OACI,WAAxBgB,EAASK,YAA2BL,EAASM,cAAgBF,GAClEA,GAAaJ,EAASM,aACtBzB,EAAIjmD,KAAKonD,EAAS1yC,QAEhB4yC,EAAWlB,OAASoB,EAAY,GAClCH,EAAU3yC,KAAK4yC,EAAWlB,OAASoB,GAIvC,IADA,IAAIpgE,EAAQ,IAAI4+D,EAAMC,GACfmB,EAASJ,WAAaK,EAAUL,WACrC,GAA6B,WAAzBK,EAAUI,WACZrgE,EAAM4Y,KAAKqnD,EAAU3yC,aAChB,GAA4B,WAAxB0yC,EAASK,WAClBrgE,EAAM4Y,KAAKonD,EAAS1yC,YACf,CACL,IAAIluB,EAASU,KAAKD,IAAImgE,EAASM,aAAcL,EAAUK,cACnDC,EAASP,EAAS1yC,KAAKluB,GACvBohE,EAAUP,EAAU3yC,KAAKluB,GAC7B,GAA8B,iBAAnBohE,EAAQxB,OAAqB,CACtC,IAAID,EAAQ,GACiB,iBAAlBwB,EAAOvB,OAChBD,EAAMC,OAAS5/D,EAEf2/D,EAAMD,OAASyB,EAAOzB,OAGxB,IAAI7B,EAAawB,EAAGxB,WAAW6C,QAAQS,EAAOtD,WAAYuD,EAAQvD,WAAqC,iBAAlBsD,EAAOvB,QAK5F,GAJI/B,IAAY8B,EAAM9B,WAAaA,GACnCj9D,EAAM4Y,KAAKmmD,IAGNkB,EAAUL,WAAapB,EAAMx+D,EAAM6+D,IAAI7+D,EAAM6+D,IAAIz/D,OAAS,GAAI2/D,GAAQ,CACzE,IAAI0B,EAAO,IAAI7B,EAAMoB,EAASS,QAC9B,OAAOzgE,EAAM0J,OAAO+2D,GAAMvB,YAKU,iBAAtBsB,EAAgB,QAA2C,iBAAlBD,EAAOvB,QAChEh/D,EAAM4Y,KAAK4nD,GAIjB,OAAOxgE,EAAMk/D,QAGfN,EAAMt4D,UAAUoD,OAAS,SAAUq2D,GACjC,IAAI//D,EAAQ,IAAI4+D,EAAMnhE,KAAKohE,IAAIt4D,SAK/B,OAJIw5D,EAAMlB,IAAIz/D,OAAS,IACrBY,EAAM4Y,KAAKmnD,EAAMlB,IAAI,IACrB7+D,EAAM6+D,IAAM7+D,EAAM6+D,IAAIn1D,OAAOq2D,EAAMlB,IAAIt4D,MAAM,KAExCvG,GAGT4+D,EAAMt4D,UAAUhG,KAAO,SAAUy/D,EAAO3yD,GACtC,GAAI3P,KAAKohE,MAAQkB,EAAMlB,IACrB,OAAO,IAAID,EAEb,IAAI8B,EAAU,CAACjjE,KAAMsiE,GAAOh8D,KAAI,SAAU/D,GACxC,OAAOA,EAAM+D,KAAI,SAAU06D,GACzB,GAAiB,MAAbA,EAAGK,OACL,MAA4B,iBAAdL,EAAGK,OAAsBL,EAAGK,OAASJ,EAGrD,MAAM,IAAIv/D,MAAM,kBADJa,IAAU+/D,EAAS,KAAO,QACI,oBACzC97D,KAAK,OAENjE,EAAQ,IAAI4+D,EACZ+B,EAAargE,EAAKogE,EAAQ,GAAIA,EAAQ,GAAItzD,GAC1C4yD,EAAWvB,EAAGkB,SAASliE,KAAKohE,KAC5BoB,EAAYxB,EAAGkB,SAASI,EAAMlB,KA6BlC,OA5BA8B,EAAWr7D,SAAQ,SAAUs7D,GAE3B,IADA,IAAIxhE,EAASwhE,EAAU,GAAGxhE,OACnBA,EAAS,GAAG,CACjB,IAAIyhE,EAAW,EACf,OAAQD,EAAU,IAChB,KAAKtgE,EAAKwgE,OACRD,EAAW/gE,KAAKD,IAAIogE,EAAUK,aAAclhE,GAC5CY,EAAM4Y,KAAKqnD,EAAU3yC,KAAKuzC,IAC1B,MACF,KAAKvgE,EAAKygE,OACRF,EAAW/gE,KAAKD,IAAIT,EAAQ4gE,EAASM,cACrCN,EAAS1yC,KAAKuzC,GACd7gE,EAAc,OAAE6gE,GAChB,MACF,KAAKvgE,EAAK0gE,MACRH,EAAW/gE,KAAKD,IAAImgE,EAASM,aAAcL,EAAUK,aAAclhE,GACnE,IAAImhE,EAASP,EAAS1yC,KAAKuzC,GACvBL,EAAUP,EAAU3yC,KAAKuzC,GACzBrC,EAAM+B,EAAOzB,OAAQ0B,EAAQ1B,QAC/B9+D,EAAMg/D,OAAO6B,EAAUpC,EAAGxB,WAAW38D,KAAKigE,EAAOtD,WAAYuD,EAAQvD,aAErEj9D,EAAM4Y,KAAK4nD,GAAiB,OAAEK,GAIpCzhE,GAAUyhE,MAGP7gE,EAAMk/D,QAGfN,EAAMt4D,UAAU26D,SAAW,SAAU9B,EAAW+B,GAC9CA,EAAUA,GAAW,KAIrB,IAHA,IAAIxB,EAAOjB,EAAGkB,SAASliE,KAAKohE,KACxBx4C,EAAO,IAAIu4C,EACXr9D,EAAI,EACDm+D,EAAKE,WAAW,CACrB,GAAwB,WAApBF,EAAKW,WAAyB,OAClC,IAAIE,EAASb,EAAKS,OACd9kD,EAAQojD,EAAGr/D,OAAOmhE,GAAUb,EAAKY,aACjClzD,EAAiC,iBAAlBmzD,EAAOzB,OACxByB,EAAOzB,OAAOluD,QAAQswD,EAAS7lD,GAASA,GAAS,EACnD,GAAIjO,EAAQ,EACViZ,EAAKzN,KAAK8mD,EAAKpyC,aACV,GAAIlgB,EAAQ,EACjBiZ,EAAKzN,KAAK8mD,EAAKpyC,KAAKlgB,QACf,CACL,IAA0D,IAAtD+xD,EAAU94C,EAAMq5C,EAAKpyC,KAAK,GAAG2vC,YAAc,GAAI17D,GACjD,OAEFA,GAAK,EACL8kB,EAAO,IAAIu4C,GAGXv4C,EAAKjnB,SAAW,GAClB+/D,EAAU94C,EAAM,GAAI9kB,IAIxBq9D,EAAMt4D,UAAU66D,UAAY,SAAUpB,EAAOqB,GAE3C,GADAA,IAAaA,EACQ,iBAAVrB,EACT,OAAOtiE,KAAK4jE,kBAAkBtB,EAAOqB,GAKvC,IAHA,IAAIpB,EAAWvB,EAAGkB,SAASliE,KAAKohE,KAC5BoB,EAAYxB,EAAGkB,SAASI,EAAMlB,KAC9B7+D,EAAQ,IAAI4+D,EACToB,EAASJ,WAAaK,EAAUL,WACrC,GAA4B,WAAxBI,EAASK,aAA4Be,GAAqC,WAAzBnB,EAAUI,WAExD,GAA6B,WAAzBJ,EAAUI,WACnBrgE,EAAM4Y,KAAKqnD,EAAU3yC,YAChB,CACL,IAAIluB,EAASU,KAAKD,IAAImgE,EAASM,aAAcL,EAAUK,cACnDC,EAASP,EAAS1yC,KAAKluB,GACvBohE,EAAUP,EAAU3yC,KAAKluB,GAC7B,GAAImhE,EAAe,OAEjB,SACSC,EAAgB,OACzBxgE,EAAM4Y,KAAK4nD,GAGXxgE,EAAMg/D,OAAO5/D,EAAQq/D,EAAGxB,WAAWkE,UAAUZ,EAAOtD,WAAYuD,EAAQvD,WAAYmE,SAdtFphE,EAAMg/D,OAAOP,EAAGr/D,OAAO4gE,EAAS1yC,SAkBpC,OAAOttB,EAAMk/D,QAGfN,EAAMt4D,UAAU+6D,kBAAoB,SAAUj0D,EAAOg0D,GACnDA,IAAaA,EAGb,IAFA,IAAIpB,EAAWvB,EAAGkB,SAASliE,KAAKohE,KAC5Bx0C,EAAS,EACN21C,EAASJ,WAAav1C,GAAUjd,GAAO,CAC5C,IAAIhO,EAAS4gE,EAASM,aAClBgB,EAAWtB,EAASK,WACxBL,EAAS1yC,OACQ,WAAbg0C,GAGoB,WAAbA,IAA0Bj3C,EAASjd,IAAUg0D,KACtDh0D,GAAShO,GAEXirB,GAAUjrB,GALRgO,GAAStN,KAAKD,IAAIT,EAAQgO,EAAQid,GAOtC,OAAOjd,GAITnQ,EAAOD,QAAU4hE,GAKX,SAAU3hE,EAAQD,GAExB,aAEA,IAAIukE,EAASliE,OAAOiH,UAAU5I,eAC1B8jE,EAAQniE,OAAOiH,UAAU7C,SACzBnE,EAAiBD,OAAOC,eACxBmiE,EAAOpiE,OAAOqiE,yBAEd7zD,EAAU,SAAiBkqC,GAC9B,MAA6B,mBAAlB1xC,MAAMwH,QACTxH,MAAMwH,QAAQkqC,GAGK,mBAApBypB,EAAMh7D,KAAKuxC,IAGf4pB,EAAgB,SAAuB/4D,GAC1C,IAAKA,GAA2B,oBAApB44D,EAAMh7D,KAAKoC,GACtB,OAAO,EAGR,IASI7K,EATA6jE,EAAoBL,EAAO/6D,KAAKoC,EAAK,eACrCi5D,EAAmBj5D,EAAIuH,aAAevH,EAAIuH,YAAY7J,WAAai7D,EAAO/6D,KAAKoC,EAAIuH,YAAY7J,UAAW,iBAE9G,GAAIsC,EAAIuH,cAAgByxD,IAAsBC,EAC7C,OAAO,EAMR,IAAK9jE,KAAO6K,GAEZ,YAAsB,IAAR7K,GAAuBwjE,EAAO/6D,KAAKoC,EAAK7K,IAInDwc,EAAc,SAAqB/N,EAAQ2C,GAC1C7P,GAAmC,cAAjB6P,EAAQzG,KAC7BpJ,EAAekN,EAAQ2C,EAAQzG,KAAM,CACpCsY,YAAY,EACZD,cAAc,EACdxhB,MAAO4P,EAAQ2yD,SACfC,UAAU,IAGXv1D,EAAO2C,EAAQzG,MAAQyG,EAAQ2yD,UAK7BE,EAAc,SAAqBp5D,EAAKF,GAC3C,GAAa,cAATA,EAAsB,CACzB,IAAK64D,EAAO/6D,KAAKoC,EAAKF,GACrB,OACM,GAAI+4D,EAGV,OAAOA,EAAK74D,EAAKF,GAAMnJ,MAIzB,OAAOqJ,EAAIF,IAGZzL,EAAOD,QAAU,SAAS2S,IACzB,IAAIR,EAASzG,EAAMoH,EAAKmyD,EAAMC,EAAa71D,EACvCG,EAAStJ,UAAU,GACnB3B,EAAI,EACJnC,EAAS8D,UAAU9D,OACnB+iE,GAAO,EAaX,IAVsB,kBAAX31D,IACV21D,EAAO31D,EACPA,EAAStJ,UAAU,IAAM,GAEzB3B,EAAI,IAES,MAAViL,GAAqC,iBAAXA,GAAyC,mBAAXA,KAC3DA,EAAS,IAGHjL,EAAInC,IAAUmC,EAGpB,GAAe,OAFf4N,EAAUjM,UAAU3B,IAInB,IAAKmH,KAAQyG,EACZW,EAAMkyD,EAAYx1D,EAAQ9D,GAItB8D,KAHJy1D,EAAOD,EAAY7yD,EAASzG,MAKvBy5D,GAAQF,IAASN,EAAcM,KAAUC,EAAcr0D,EAAQo0D,MAC9DC,GACHA,GAAc,EACd71D,EAAQyD,GAAOjC,EAAQiC,GAAOA,EAAM,IAEpCzD,EAAQyD,GAAO6xD,EAAc7xD,GAAOA,EAAM,GAI3CyK,EAAY/N,EAAQ,CAAE9D,KAAMA,EAAMo5D,SAAUnyD,EAAOwyD,EAAM91D,EAAO41D,WAGtC,IAATA,GACjB1nD,EAAY/N,EAAQ,CAAE9D,KAAMA,EAAMo5D,SAAUG,KAQjD,OAAOz1D,IAMF,SAAUvP,EAAQD,EAASq9D,GAEjC,aAGAh7D,OAAOC,eAAetC,EAAS,aAAc,CAC3CuC,OAAO,IAETvC,EAAQu+D,QAAUv+D,EAAQolE,WAAaplE,EAAQqlE,mBAAgB56D,EAE/D,IAAI66D,EAAe,WAAc,SAASC,EAAiB/1D,EAAQyuB,GAAS,IAAK,IAAI15B,EAAI,EAAGA,EAAI05B,EAAM77B,OAAQmC,IAAK,CAAE,IAAIghC,EAAatH,EAAM15B,GAAIghC,EAAWvhB,WAAauhB,EAAWvhB,aAAc,EAAOuhB,EAAWxhB,cAAe,EAAU,UAAWwhB,IAAYA,EAAWw/B,UAAW,GAAM1iE,OAAOC,eAAekN,EAAQ+1B,EAAWxkC,IAAKwkC,IAAiB,OAAO,SAAUigC,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYF,EAAiBC,EAAYl8D,UAAWm8D,GAAiBC,GAAaH,EAAiBC,EAAaE,GAAqBF,GAA7gB,GAEfG,EAAO,SAASpmD,EAAI6E,EAAQ6b,EAAU2lC,GAA2B,OAAXxhD,IAAiBA,EAASyhD,SAASv8D,WAAW,IAAIw8D,EAAOzjE,OAAOqiE,yBAAyBtgD,EAAQ6b,GAAW,QAAax1B,IAATq7D,EAAoB,CAAE,IAAI79D,EAAS5F,OAAO0jE,eAAe3hD,GAAS,OAAe,OAAXnc,OAAmB,EAAkCsX,EAAItX,EAAQg4B,EAAU2lC,GAAoB,GAAI,UAAWE,EAAQ,OAAOA,EAAKvjE,MAAgB,IAAIg7D,EAASuI,EAAKvmD,IAAK,YAAe9U,IAAX8yD,EAAmDA,EAAO/zD,KAAKo8D,QAAnE,GAIrZI,EAAWC,EAFD5I,EAAoB,IAM9B6I,EAAeD,EAFD5I,EAAoB,IAMlC8I,EAAcF,EAFD5I,EAAoB,IAMjC+I,EAAUH,EAFD5I,EAAoB,KAM7BgJ,EAAWJ,EAFD5I,EAAoB,IAM9BiJ,EAASL,EAFD5I,EAAoB,IAIhC,SAAS4I,EAAuBr6D,GAAO,OAAOA,GAAOA,EAAI6xD,WAAa7xD,EAAM,CAAE2yD,QAAS3yD,GAEvF,SAAS26D,EAAgBC,EAAUhB,GAAe,KAAMgB,aAAoBhB,GAAgB,MAAM,IAAIiB,UAAU,qCAEhH,SAASC,EAA2BpmE,EAAMkJ,GAAQ,IAAKlJ,EAAQ,MAAM,IAAIqmE,eAAe,6DAAgE,OAAOn9D,GAAyB,iBAATA,GAAqC,mBAATA,EAA8BlJ,EAAPkJ,EAElO,SAASo9D,EAAUC,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIL,UAAU,kEAAoEK,GAAeD,EAASv9D,UAAYjH,OAAOo8D,OAAOqI,GAAcA,EAAWx9D,UAAW,CAAE6J,YAAa,CAAE5Q,MAAOskE,EAAU7iD,YAAY,EAAO+gD,UAAU,EAAMhhD,cAAc,KAAe+iD,IAAYzkE,OAAOs9D,eAAiBt9D,OAAOs9D,eAAekH,EAAUC,GAAcD,EAASznC,UAAY0nC,GAEje,IAEI1B,EAAa,SAAU2B,GAGzB,SAAS3B,IAGP,OAFAmB,EAAgB9lE,KAAM2kE,GAEfsB,EAA2BjmE,MAAO2kE,EAAWhmC,WAAa/8B,OAAO0jE,eAAeX,IAAa7zD,MAAM9Q,KAAMyF,YAwClH,OA7CA0gE,EAAUxB,EAAY2B,GAQtBzB,EAAaF,EAAY,CAAC,CACxBrkE,IAAK,SACLwB,MAAO,WACLojE,EAAKP,EAAW97D,UAAU81B,WAAa/8B,OAAO0jE,eAAeX,EAAW97D,WAAY,SAAU7I,MAAM+I,KAAK/I,MACzGA,KAAKw/D,WAAa,IAAIkG,EAAY5H,QAAQa,WAAWI,MAAM/+D,KAAKo2D,WAEjE,CACD91D,IAAK,QACLwB,MAAO,WACL,OAAO,IAAI2jE,EAAa3H,SAAUuD,OAAOrhE,KAAK8B,SAAS,EAAIyjE,EAASzH,SAAS99D,KAAK60C,UAAW70C,KAAKw/D,WAAWn0D,aAE9G,CACD/K,IAAK,SACLwB,MAAO,SAAgBmJ,EAAMnJ,GAC3B,IAAIykE,EAAYb,EAAY5H,QAAQI,MAAMjzD,EAAMy6D,EAAY5H,QAAQC,MAAMyI,iBACzD,MAAbD,GACFvmE,KAAKw/D,WAAW+G,UAAUA,EAAWzkE,KAGxC,CACDxB,IAAK,WACLwB,MAAO,SAAkB6N,EAAOhO,EAAQsJ,EAAMnJ,GAC5C9B,KAAK+0C,OAAO9pC,EAAMnJ,KAEnB,CACDxB,IAAK,WACLwB,MAAO,SAAkB6N,EAAO7N,EAAO2kE,GACrC,GAAqB,iBAAV3kE,GAAsBA,EAAM4kE,SAAS,MAAO,CACrD,IAAIC,EAAQjB,EAAY5H,QAAQE,OAAOQ,EAAMmC,UAC7C3gE,KAAKwH,OAAOk8B,aAAaijC,EAAiB,IAAVh3D,EAAc3P,KAAOA,KAAK6vB,MAC1D82C,EAAMC,SAAS,EAAG9kE,EAAMgH,MAAM,GAAI,SAElCo8D,EAAKP,EAAW97D,UAAU81B,WAAa/8B,OAAO0jE,eAAeX,EAAW97D,WAAY,WAAY7I,MAAM+I,KAAK/I,KAAM2P,EAAO7N,EAAO2kE,OAK9H9B,EA9CQ,CA+Cfe,EAAY5H,QAAQQ,OAEtBqG,EAAW7xD,MAAQ4yD,EAAY5H,QAAQC,MAAM8I,WAI7C,IAAIrI,EAAQ,SAAUsI,GAGpB,SAAStI,EAAMpI,GACb0P,EAAgB9lE,KAAMw+D,GAEtB,IAAIuI,EAASd,EAA2BjmE,MAAOw+D,EAAM7/B,WAAa/8B,OAAO0jE,eAAe9G,IAAQz1D,KAAK/I,KAAMo2D,IAG3G,OADA2Q,EAAO/hC,MAAQ,GACR+hC,EAyHT,OAjIAZ,EAAU3H,EAAOsI,GAWjBjC,EAAarG,EAAO,CAAC,CACnBl+D,IAAK,QACLwB,MAAO,WAUL,OATwB,MAApB9B,KAAKglC,MAAMziC,QACbvC,KAAKglC,MAAMziC,MAAQvC,KAAKgnE,YAAYtB,EAAY5H,QAAQO,MAAMlyB,QAAO,SAAU5pC,EAAO0kE,GACpF,OAAsB,IAAlBA,EAAKtlE,SACAY,EAEAA,EAAM8+D,OAAO4F,EAAKnlE,QAAS8iE,EAAcqC,MAEjD,IAAIxB,EAAa3H,SAAWuD,OAAO,KAAMuD,EAAc5kE,QAErDA,KAAKglC,MAAMziC,QAEnB,CACDjC,IAAK,WACLwB,MAAO,SAAkB6N,EAAOhO,GAC9BujE,EAAK1G,EAAM31D,UAAU81B,WAAa/8B,OAAO0jE,eAAe9G,EAAM31D,WAAY,WAAY7I,MAAM+I,KAAK/I,KAAM2P,EAAOhO,GAC9G3B,KAAKglC,MAAQ,KAEd,CACD1kC,IAAK,WACLwB,MAAO,SAAkB6N,EAAOhO,EAAQsJ,EAAMnJ,GACxCH,GAAU,IACV+jE,EAAY5H,QAAQI,MAAMjzD,EAAMy6D,EAAY5H,QAAQC,MAAMgC,OACxDpwD,EAAQhO,IAAW3B,KAAK2B,UAC1B3B,KAAK+0C,OAAO9pC,EAAMnJ,GAGpBojE,EAAK1G,EAAM31D,UAAU81B,WAAa/8B,OAAO0jE,eAAe9G,EAAM31D,WAAY,WAAY7I,MAAM+I,KAAK/I,KAAM2P,EAAOtN,KAAKD,IAAIT,EAAQ3B,KAAK2B,SAAWgO,EAAQ,GAAI1E,EAAMnJ,GAEnK9B,KAAKglC,MAAQ,MAEd,CACD1kC,IAAK,WACLwB,MAAO,SAAkB6N,EAAO7N,EAAO2kE,GACrC,GAAW,MAAPA,EAAa,OAAOvB,EAAK1G,EAAM31D,UAAU81B,WAAa/8B,OAAO0jE,eAAe9G,EAAM31D,WAAY,WAAY7I,MAAM+I,KAAK/I,KAAM2P,EAAO7N,EAAO2kE,GAC7I,GAAqB,IAAjB3kE,EAAMH,OAAV,CACA,IAAI4oC,EAAQzoC,EAAMuE,MAAM,MACpBssB,EAAO4X,EAAMnkB,QACbuM,EAAKhxB,OAAS,IACZgO,EAAQ3P,KAAK2B,SAAW,GAA2B,MAAtB3B,KAAKknE,SAASC,KAC7CjC,EAAK1G,EAAM31D,UAAU81B,WAAa/8B,OAAO0jE,eAAe9G,EAAM31D,WAAY,WAAY7I,MAAM+I,KAAK/I,KAAMqC,KAAKD,IAAIuN,EAAO3P,KAAK2B,SAAW,GAAIgxB,GAE3I3yB,KAAKknE,SAASC,KAAKP,SAAS5mE,KAAKknE,SAASC,KAAKxlE,SAAUgxB,GAE3D3yB,KAAKglC,MAAQ,IAEf,IAAI2hC,EAAQ3mE,KACZuqC,EAAM4B,QAAO,SAAUx8B,EAAOiZ,GAG5B,OAFA+9C,EAAQA,EAAMtgE,MAAMsJ,GAAO,IACrBi3D,SAAS,EAAGh+C,GACXA,EAAKjnB,SACXgO,EAAQgjB,EAAKhxB,WAEjB,CACDrB,IAAK,eACLwB,MAAO,SAAsBy+D,EAAM6G,GACjC,IAAI74C,EAAOvuB,KAAKknE,SAAS34C,KACzB22C,EAAK1G,EAAM31D,UAAU81B,WAAa/8B,OAAO0jE,eAAe9G,EAAM31D,WAAY,eAAgB7I,MAAM+I,KAAK/I,KAAMugE,EAAM6G,GAC7G74C,aAAgBo3C,EAAQ7H,SAC1BvvC,EAAKsV,SAEP7jC,KAAKglC,MAAQ,KAEd,CACD1kC,IAAK,SACLwB,MAAO,WAIL,OAHyB,MAArB9B,KAAKglC,MAAMrjC,SACb3B,KAAKglC,MAAMrjC,OAASujE,EAAK1G,EAAM31D,UAAU81B,WAAa/8B,OAAO0jE,eAAe9G,EAAM31D,WAAY,SAAU7I,MAAM+I,KAAK/I,MAxItG,GA0IRA,KAAKglC,MAAMrjC,SAEnB,CACDrB,IAAK,eACLwB,MAAO,SAAsBiN,EAAQq4D,GACnClC,EAAK1G,EAAM31D,UAAU81B,WAAa/8B,OAAO0jE,eAAe9G,EAAM31D,WAAY,eAAgB7I,MAAM+I,KAAK/I,KAAM+O,EAAQq4D,GACnHpnE,KAAKglC,MAAQ,KAEd,CACD1kC,IAAK,WACLwB,MAAO,SAAkBgZ,GACvBoqD,EAAK1G,EAAM31D,UAAU81B,WAAa/8B,OAAO0jE,eAAe9G,EAAM31D,WAAY,WAAY7I,MAAM+I,KAAK/I,KAAM8a,GACvG9a,KAAKglC,MAAQ,KAEd,CACD1kC,IAAK,OACLwB,MAAO,SAAc6N,GACnB,OAAOu1D,EAAK1G,EAAM31D,UAAU81B,WAAa/8B,OAAO0jE,eAAe9G,EAAM31D,WAAY,OAAQ7I,MAAM+I,KAAK/I,KAAM2P,GAAO,KAElH,CACDrP,IAAK,cACLwB,MAAO,SAAqBulE,GAC1BnC,EAAK1G,EAAM31D,UAAU81B,WAAa/8B,OAAO0jE,eAAe9G,EAAM31D,WAAY,cAAe7I,MAAM+I,KAAK/I,KAAMqnE,GAC1GrnE,KAAKglC,MAAQ,KAEd,CACD1kC,IAAK,QACLwB,MAAO,SAAe6N,GACpB,IAAI23D,EAAQ7hE,UAAU9D,OAAS,QAAsBqI,IAAjBvE,UAAU,IAAmBA,UAAU,GAE3E,GAAI6hE,IAAoB,IAAV33D,GAAeA,GAAS3P,KAAK2B,SAxK5B,GAwKwD,CACrE,IAAIiN,EAAQ5O,KAAK4O,QACjB,OAAc,IAAVe,GACF3P,KAAKwH,OAAOk8B,aAAa90B,EAAO5O,MACzBA,OAEPA,KAAKwH,OAAOk8B,aAAa90B,EAAO5O,KAAK6vB,MAC9BjhB,GAGT,IAAIihB,EAAOq1C,EAAK1G,EAAM31D,UAAU81B,WAAa/8B,OAAO0jE,eAAe9G,EAAM31D,WAAY,QAAS7I,MAAM+I,KAAK/I,KAAM2P,EAAO23D,GAEtH,OADAtnE,KAAKglC,MAAQ,GACNnV,MAKN2uC,EAlIG,CAmIVkH,EAAY5H,QAAQU,OAOtB,SAASoG,EAAcrE,GACrB,IAAI1rB,EAAUpvC,UAAU9D,OAAS,QAAsBqI,IAAjBvE,UAAU,GAAmBA,UAAU,GAAK,GAElF,OAAY,MAAR86D,EAAqB1rB,GACG,mBAAjB0rB,EAAK1rB,UACdA,GAAU,EAAI0wB,EAASzH,SAASjpB,EAAS0rB,EAAK1rB,YAE7B,MAAf0rB,EAAK/4D,QAA0C,UAAxB+4D,EAAK/4D,OAAOm5D,UAAwBJ,EAAK/4D,OAAO+/D,QAAQz0D,QAAUytD,EAAKgH,QAAQz0D,MACjG+hC,EAEF+vB,EAAcrE,EAAK/4D,OAAQqtC,IAfpC2pB,EAAMmC,SAAW,QACjBnC,EAAM2B,QAAU,IAChB3B,EAAMgJ,aAAe,QACrBhJ,EAAMiJ,gBAAkB,CAAC7B,EAAS9H,QAAS4H,EAAY5H,QAAQQ,MAAOuH,EAAO/H,SAe7Ev+D,EAAQqlE,cAAgBA,EACxBrlE,EAAQolE,WAAaA,EACrBplE,EAAQu+D,QAAUU,GAIZ,SAAUh/D,EAAQD,EAASq9D,GAEjC,aAGAh7D,OAAOC,eAAetC,EAAS,aAAc,CAC3CuC,OAAO,IAETvC,EAAQu+D,QAAUv+D,EAAQmoE,SAAWnoE,EAAQooE,kBAAe39D,EAE5D,IAAI49D,EAA4B,mBAAXC,QAAoD,iBAApBA,OAAO3F,SAAwB,SAAU/2D,GAAO,cAAcA,GAAS,SAAUA,GAAO,OAAOA,GAAyB,mBAAX08D,QAAyB18D,EAAIuH,cAAgBm1D,QAAU18D,IAAQ08D,OAAOh/D,UAAY,gBAAkBsC,GAElQ28D,EAAgb,SAAUxtB,EAAKx2C,GAAK,GAAI8E,MAAMwH,QAAQkqC,GAAQ,OAAOA,EAAY,GAAIutB,OAAO3F,YAAYtgE,OAAO04C,GAAQ,OAAxf,SAAuBA,EAAKx2C,GAAK,IAAIikE,EAAO,GAAQC,GAAK,EAAUC,GAAK,EAAWC,OAAKl+D,EAAW,IAAM,IAAK,IAAiCm+D,EAA7B1H,EAAKnmB,EAAIutB,OAAO3F,cAAmB8F,GAAMG,EAAK1H,EAAG5wC,QAAQu4C,QAAoBL,EAAK5sD,KAAKgtD,EAAGrmE,QAAYgC,GAAKikE,EAAKpmE,SAAWmC,GAA3DkkE,GAAK,IAAoE,MAAOK,GAAOJ,GAAK,EAAMC,EAAKG,EAAO,QAAU,KAAWL,GAAMvH,EAAW,QAAGA,EAAW,SAAO,QAAU,GAAIwH,EAAI,MAAMC,GAAQ,OAAOH,EAA6HO,CAAchuB,EAAKx2C,GAAa,MAAM,IAAIkiE,UAAU,yDAEllBnB,EAAe,WAAc,SAASC,EAAiB/1D,EAAQyuB,GAAS,IAAK,IAAI15B,EAAI,EAAGA,EAAI05B,EAAM77B,OAAQmC,IAAK,CAAE,IAAIghC,EAAatH,EAAM15B,GAAIghC,EAAWvhB,WAAauhB,EAAWvhB,aAAc,EAAOuhB,EAAWxhB,cAAe,EAAU,UAAWwhB,IAAYA,EAAWw/B,UAAW,GAAM1iE,OAAOC,eAAekN,EAAQ+1B,EAAWxkC,IAAKwkC,IAAiB,OAAO,SAAUigC,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYF,EAAiBC,EAAYl8D,UAAWm8D,GAAiBC,GAAaH,EAAiBC,EAAaE,GAAqBF,GAA7gB,GAEnBnI,EAAoB,IAEpB,IAEI6I,EAAeD,EAFD5I,EAAoB,IAMlC2L,EAAW/C,EAFD5I,EAAoB,KAM9B4L,EAAYhD,EAFA5I,EAAoB,IAMhC6L,EAAWjD,EAFD5I,EAAoB,IAM9B8I,EAAcF,EAFD5I,EAAoB,IAIjC8L,EAAa9L,EAAoB,IAEjC+L,EAAcnD,EAAuBkD,GAIrCnD,EAAWC,EAFD5I,EAAoB,IAM9BgM,EAAWpD,EAFD5I,EAAoB,KAM9BiM,EAAUrD,EAFD5I,EAAoB,KAIjC,SAAS4I,EAAuBr6D,GAAO,OAAOA,GAAOA,EAAI6xD,WAAa7xD,EAAM,CAAE2yD,QAAS3yD,GAEvF,SAAS29D,EAAgB39D,EAAK7K,EAAKwB,GAAiK,OAApJxB,KAAO6K,EAAOvJ,OAAOC,eAAesJ,EAAK7K,EAAK,CAAEwB,MAAOA,EAAOyhB,YAAY,EAAMD,cAAc,EAAMghD,UAAU,IAAkBn5D,EAAI7K,GAAOwB,EAAgBqJ,EAI3M,IAAI49D,GAAQ,EAAIH,EAAS9K,SAAS,SAE9BkL,EAAQ,WAqDV,SAASA,EAAMlmC,GACb,IAAIikC,EAAS/mE,KAET0R,EAAUjM,UAAU9D,OAAS,QAAsBqI,IAAjBvE,UAAU,GAAmBA,UAAU,GAAK,GAMlF,GAlEJ,SAAyBsgE,EAAUhB,GAAe,KAAMgB,aAAoBhB,GAAgB,MAAM,IAAIiB,UAAU,qCA8D5GF,CAAgB9lE,KAAMgpE,GAEtBhpE,KAAK0R,QAAUi2D,EAAa7kC,EAAWpxB,GACvC1R,KAAK8iC,UAAY9iC,KAAK0R,QAAQoxB,UACR,MAAlB9iC,KAAK8iC,UACP,OAAOimC,EAAM75D,MAAM,0BAA2B4zB,GAE5C9iC,KAAK0R,QAAQq3D,OACfC,EAAMD,MAAM/oE,KAAK0R,QAAQq3D,OAE3B,IAAIE,EAAOjpE,KAAK8iC,UAAUomC,UAAUC,OACpCnpE,KAAK8iC,UAAUS,UAAUC,IAAI,gBAC7BxjC,KAAK8iC,UAAUomC,UAAY,GAC3BlpE,KAAK8iC,UAAUsmC,QAAUppE,KACzBA,KAAK0gC,KAAO1gC,KAAKqpE,aAAa,aAC9BrpE,KAAK0gC,KAAK6C,UAAUC,IAAI,YACxBxjC,KAAK0gC,KAAKtO,aAAa,cAAc,GACrCpyB,KAAKspE,mBAAqBtpE,KAAK0R,QAAQ43D,oBAAsBtpE,KAAK0gC,KAClE1gC,KAAKupE,QAAU,IAAIf,EAAU1K,QAC7B99D,KAAKwpE,OAAS9D,EAAY5H,QAAQE,OAAOh+D,KAAK0gC,KAAM,CAClD6oC,QAASvpE,KAAKupE,QACdE,UAAWzpE,KAAK0R,QAAQmjC,UAE1B70C,KAAK0pE,OAAS,IAAInB,EAASzK,QAAQ99D,KAAKwpE,QACxCxpE,KAAK2pE,UAAY,IAAIhB,EAAY7K,QAAQ99D,KAAKwpE,OAAQxpE,KAAKupE,SAC3DvpE,KAAK4pE,MAAQ,IAAI5pE,KAAK0R,QAAQk4D,MAAM5pE,KAAMA,KAAK0R,SAC/C1R,KAAK6pE,SAAW7pE,KAAK4pE,MAAME,UAAU,YACrC9pE,KAAK+pE,UAAY/pE,KAAK4pE,MAAME,UAAU,aACtC9pE,KAAKgqE,QAAUhqE,KAAK4pE,MAAME,UAAU,WACpC9pE,KAAK4pE,MAAMK,OACXjqE,KAAKupE,QAAQW,GAAG1B,EAAU1K,QAAQ5tB,OAAOi6B,eAAe,SAAUt7D,GAC5DA,IAAS25D,EAAU1K,QAAQ5tB,OAAOk6B,aACpCrD,EAAOrmC,KAAK6C,UAAU8mC,OAAO,WAAYtD,EAAO2C,OAAOY,cAG3DtqE,KAAKupE,QAAQW,GAAG1B,EAAU1K,QAAQ5tB,OAAOq6B,eAAe,SAAUz7D,EAAQ07D,GACxE,IAAI76C,EAAQo3C,EAAO4C,UAAUc,UACzB96D,EAAQggB,GAA0B,IAAjBA,EAAMhuB,OAAeguB,EAAMhgB,WAAQ3F,EACxD0gE,EAAO3hE,KAAKg+D,GAAQ,WAClB,OAAOA,EAAO2C,OAAO1lD,OAAO,KAAMwmD,EAAW76D,KAC5Cb,MAEL,IAAI67D,EAAW3qE,KAAK+pE,UAAUxpE,QAAQ,yDAA2D0oE,EAAO,qBACxGjpE,KAAK4qE,YAAYD,GACjB3qE,KAAKgqE,QAAQ9zD,QACTlW,KAAK0R,QAAQm5D,aACf7qE,KAAK0gC,KAAKtO,aAAa,mBAAoBpyB,KAAK0R,QAAQm5D,aAEtD7qE,KAAK0R,QAAQo5D,UACf9qE,KAAK+qE,UAmYT,OA7eAlG,EAAamE,EAAO,KAAM,CAAC,CACzB1oE,IAAK,QACLwB,MAAO,SAAekpE,IACN,IAAVA,IACFA,EAAQ,OAEVpC,EAAS9K,QAAQxwD,MAAM09D,KAExB,CACD1qE,IAAK,OACLwB,MAAO,SAAc0G,GACnB,OAAOA,EAAK4gE,SAAW1D,EAAY5H,QAAQG,KAAKz1D,KAEjD,CACDlI,IAAK,SACLwB,MAAO,SAAiBmJ,GAItB,OAH0B,MAAtBjL,KAAKirE,QAAQhgE,IACf89D,EAAM75D,MAAM,iBAAmBjE,EAAO,qCAEjCjL,KAAKirE,QAAQhgE,KAErB,CACD3K,IAAK,WACLwB,MAAO,SAAkByF,EAAMwH,GAC7B,IAAIwwD,EAAQv/D,KAERkrE,EAAYzlE,UAAU9D,OAAS,QAAsBqI,IAAjBvE,UAAU,IAAmBA,UAAU,GAE/E,GAAoB,iBAAT8B,EAAmB,CAC5B,IAAI0D,EAAO1D,EAAKq5D,UAAYr5D,EAAKo5D,SACb,iBAAT11D,EAETjL,KAAKukC,SAAS,WAAat5B,EAAM1D,EAAMwH,GAEvCnN,OAAOgG,KAAKL,GAAMM,SAAQ,SAAUvH,GAClCi/D,EAAMh7B,SAASjkC,EAAKiH,EAAKjH,GAAMyO,WAIT,MAAtB/O,KAAKirE,QAAQ1jE,IAAkB2jE,GACjCnC,EAAM/1D,KAAK,eAAiBzL,EAAO,QAASwH,GAE9C/O,KAAKirE,QAAQ1jE,GAAQwH,GAChBxH,EAAK4jE,WAAW,WAAa5jE,EAAK4jE,WAAW,cAAoC,aAApBp8D,EAAO4xD,SACvE+E,EAAY5H,QAAQv5B,SAASx1B,GACpBxH,EAAK4jE,WAAW,YAAyC,mBAApBp8D,EAAOw1B,UACrDx1B,EAAOw1B,eAgEfsgC,EAAamE,EAAO,CAAC,CACnB1oE,IAAK,eACLwB,MAAO,SAAsBghC,GAC3B,IAAIsoC,EAAU3lE,UAAU9D,OAAS,QAAsBqI,IAAjBvE,UAAU,GAAmBA,UAAU,GAAK,KAElF,GAAyB,iBAAdq9B,EAAwB,CACjC,IAAIzC,EAAYyC,GAChBA,EAAY5Q,SAASC,cAAc,QACzBoR,UAAUC,IAAInD,GAG1B,OADArgC,KAAK8iC,UAAUY,aAAaZ,EAAWsoC,GAChCtoC,IAER,CACDxiC,IAAK,OACLwB,MAAO,WACL9B,KAAK2pE,UAAU0B,SAAS,QAEzB,CACD/qE,IAAK,aACLwB,MAAO,SAAoB6N,EAAOhO,EAAQmN,GACxC,IAAIw8D,EAAStrE,KAETurE,EAAY7D,EAAS/3D,EAAOhO,EAAQmN,GAEpC08D,EAAa1D,EAAeyD,EAAW,GAM3C,OAAOb,EAAO3hE,KAAK/I,MAAM,WACvB,OAAOsrE,EAAO5B,OAAO+B,WAAW97D,EAAOhO,KAHzCmN,EAAS08D,EAAW,GAFpB77D,EAAQ67D,EAAW,IAMA,GALnB7pE,EAAS6pE,EAAW,OAOrB,CACDlrE,IAAK,UACLwB,MAAO,WACL9B,KAAK0rE,QAAO,KAEb,CACDprE,IAAK,SACLwB,MAAO,WACL,IAAIikC,IAAUtgC,UAAU9D,OAAS,QAAsBqI,IAAjBvE,UAAU,KAAmBA,UAAU,GAE7EzF,KAAKwpE,OAAOkC,OAAO3lC,GACnB/lC,KAAK8iC,UAAUS,UAAU8mC,OAAO,eAAgBtkC,KAEjD,CACDzlC,IAAK,QACLwB,MAAO,WACL,IAAI4gC,EAAY1iC,KAAKspE,mBAAmB5mC,UACxC1iC,KAAK2pE,UAAUgC,QACf3rE,KAAKspE,mBAAmB5mC,UAAYA,EACpC1iC,KAAK4rE,mBAEN,CACDtrE,IAAK,SACLwB,MAAO,SAAgBmJ,EAAMnJ,GAC3B,IAAI+pE,EAAS7rE,KAET8O,EAASrJ,UAAU9D,OAAS,QAAsBqI,IAAjBvE,UAAU,GAAmBA,UAAU,GAAK+iE,EAAU1K,QAAQ9rD,QAAQ85D,IAE3G,OAAOpB,EAAO3hE,KAAK/I,MAAM,WACvB,IAAI2vB,EAAQk8C,EAAOE,cAAa,GAC5BvtC,EAAS,IAAIinC,EAAa3H,QAC9B,GAAa,MAATnuC,EACF,OAAO6O,EACF,GAAIknC,EAAY5H,QAAQI,MAAMjzD,EAAMy6D,EAAY5H,QAAQC,MAAMgC,OACnEvhC,EAASqtC,EAAOnC,OAAOsC,WAAWr8C,EAAMhgB,MAAOggB,EAAMhuB,OAAQmnE,EAAgB,GAAI79D,EAAMnJ,QAClF,IAAqB,IAAjB6tB,EAAMhuB,OAEf,OADAkqE,EAAOlC,UAAU50B,OAAO9pC,EAAMnJ,GACvB08B,EAEPA,EAASqtC,EAAOnC,OAAOuC,WAAWt8C,EAAMhgB,MAAOggB,EAAMhuB,OAAQmnE,EAAgB,GAAI79D,EAAMnJ,IAGzF,OADA+pE,EAAOK,aAAav8C,EAAO64C,EAAU1K,QAAQ9rD,QAAQm6D,QAC9C3tC,IACN1vB,KAEJ,CACDxO,IAAK,aACLwB,MAAO,SAAoB6N,EAAOhO,EAAQsJ,EAAMnJ,EAAOgN,GACrD,IAEI+lC,EAFAu3B,EAASpsE,KAITqsE,EAAa3E,EAAS/3D,EAAOhO,EAAQsJ,EAAMnJ,EAAOgN,GAElDw9D,EAAaxE,EAAeuE,EAAY,GAO5C,OAJA1qE,EAAS2qE,EAAW,GACpBz3B,EAAUy3B,EAAW,GAGd5B,EAAO3hE,KAAK/I,MAAM,WACvB,OAAOosE,EAAO1C,OAAOsC,WAAWr8D,EAAOhO,EAAQkzC,KAHjD/lC,EAASw9D,EAAW,GAHpB38D,EAAQ28D,EAAW,GAOD,KAEnB,CACDhsE,IAAK,aACLwB,MAAO,SAAoB6N,EAAOhO,EAAQsJ,EAAMnJ,EAAOgN,GACrD,IAEI+lC,EAFA03B,EAASvsE,KAITwsE,EAAa9E,EAAS/3D,EAAOhO,EAAQsJ,EAAMnJ,EAAOgN,GAElD29D,EAAa3E,EAAe0E,EAAY,GAO5C,OAJA7qE,EAAS8qE,EAAW,GACpB53B,EAAU43B,EAAW,GAGd/B,EAAO3hE,KAAK/I,MAAM,WACvB,OAAOusE,EAAO7C,OAAOuC,WAAWt8D,EAAOhO,EAAQkzC,KAHjD/lC,EAAS29D,EAAW,GAHpB98D,EAAQ88D,EAAW,GAOD,KAEnB,CACDnsE,IAAK,YACLwB,MAAO,SAAmB6N,GACxB,IAAIhO,EAAS8D,UAAU9D,OAAS,QAAsBqI,IAAjBvE,UAAU,GAAmBA,UAAU,GAAK,EAE7E6lB,OAAS,EAEXA,EADmB,iBAAV3b,EACA3P,KAAK2pE,UAAU+C,UAAU/8D,EAAOhO,GAEhC3B,KAAK2pE,UAAU+C,UAAU/8D,EAAMA,MAAOA,EAAMhO,QAEvD,IAAIgrE,EAAkB3sE,KAAK8iC,UAAUo3B,wBACrC,MAAO,CACLrjD,OAAQyU,EAAOzU,OAAS81D,EAAgBh2D,IACxCJ,OAAQ+U,EAAO/U,OACfG,KAAM4U,EAAO5U,KAAOi2D,EAAgBj2D,KACpCE,MAAO0U,EAAO1U,MAAQ+1D,EAAgBj2D,KACtCC,IAAK2U,EAAO3U,IAAMg2D,EAAgBh2D,IAClCL,MAAOgV,EAAOhV,SAGjB,CACDhW,IAAK,cACLwB,MAAO,WACL,IAAI6N,EAAQlK,UAAU9D,OAAS,QAAsBqI,IAAjBvE,UAAU,GAAmBA,UAAU,GAAK,EAC5E9D,EAAS8D,UAAU9D,OAAS,QAAsBqI,IAAjBvE,UAAU,GAAmBA,UAAU,GAAKzF,KAAK4sE,YAAcj9D,EAEhGk9D,EAAanF,EAAS/3D,EAAOhO,GAE7BmrE,EAAahF,EAAe+E,EAAY,GAK5C,OAAO7sE,KAAK0pE,OAAOqD,YAHnBp9D,EAAQm9D,EAAW,GACnBnrE,EAASmrE,EAAW,MAIrB,CACDxsE,IAAK,YACLwB,MAAO,WACL,IAAI6N,EAAQlK,UAAU9D,OAAS,QAAsBqI,IAAjBvE,UAAU,GAAmBA,UAAU,GAAKzF,KAAK+rE,cAAa,GAC9FpqE,EAAS8D,UAAU9D,OAAS,QAAsBqI,IAAjBvE,UAAU,GAAmBA,UAAU,GAAK,EAEjF,MAAqB,iBAAVkK,EACF3P,KAAK0pE,OAAOsD,UAAUr9D,EAAOhO,GAE7B3B,KAAK0pE,OAAOsD,UAAUr9D,EAAMA,MAAOA,EAAMhO,UAGnD,CACDrB,IAAK,WACLwB,MAAO,SAAkBy+D,GACvB,OAAOA,EAAK3zC,OAAO5sB,KAAKwpE,UAEzB,CACDlpE,IAAK,YACLwB,MAAO,WACL,OAAO9B,KAAKwpE,OAAO7nE,WAEpB,CACDrB,IAAK,UACLwB,MAAO,SAAiB6N,GACtB,OAAO3P,KAAKwpE,OAAOvC,KAAKt3D,KAEzB,CACDrP,IAAK,UACLwB,MAAO,SAAiB6N,GACtB,OAAO3P,KAAKwpE,OAAO5gD,KAAKjZ,KAEzB,CACDrP,IAAK,WACLwB,MAAO,WACL,IAAI6N,EAAQlK,UAAU9D,OAAS,QAAsBqI,IAAjBvE,UAAU,GAAmBA,UAAU,GAAK,EAC5E9D,EAAS8D,UAAU9D,OAAS,QAAsBqI,IAAjBvE,UAAU,GAAmBA,UAAU,GAAK+K,OAAOy8D,UAExF,MAAqB,iBAAVt9D,EACF3P,KAAKwpE,OAAOj/B,MAAM56B,EAAMA,MAAOA,EAAMhO,QAErC3B,KAAKwpE,OAAOj/B,MAAM56B,EAAOhO,KAGnC,CACDrB,IAAK,YACLwB,MAAO,SAAmBmJ,GACxB,OAAOjL,KAAK4pE,MAAMlN,QAAQzxD,KAE3B,CACD3K,IAAK,eACLwB,MAAO,WACL,IAAI6pE,EAAQlmE,UAAU9D,OAAS,QAAsBqI,IAAjBvE,UAAU,IAAmBA,UAAU,GAI3E,OAFIkmE,GAAO3rE,KAAK2rE,QAChB3rE,KAAKgkB,SACEhkB,KAAK2pE,UAAUuD,WAAW,KAElC,CACD5sE,IAAK,UACLwB,MAAO,WACL,IAAI6N,EAAQlK,UAAU9D,OAAS,QAAsBqI,IAAjBvE,UAAU,GAAmBA,UAAU,GAAK,EAC5E9D,EAAS8D,UAAU9D,OAAS,QAAsBqI,IAAjBvE,UAAU,GAAmBA,UAAU,GAAKzF,KAAK4sE,YAAcj9D,EAEhGw9D,EAAazF,EAAS/3D,EAAOhO,GAE7ByrE,EAActF,EAAeqF,EAAY,GAK7C,OAAOntE,KAAK0pE,OAAO2D,QAHnB19D,EAAQy9D,EAAY,GACpBzrE,EAASyrE,EAAY,MAItB,CACD9sE,IAAK,WACLwB,MAAO,WACL,OAAO9B,KAAK2pE,UAAU2D,aAEvB,CACDhtE,IAAK,cACLwB,MAAO,SAAqB6N,EAAO49D,EAAOzrE,GACxC,IAAI0rE,EAASxtE,KAET8O,EAASrJ,UAAU9D,OAAS,QAAsBqI,IAAjBvE,UAAU,GAAmBA,UAAU,GAAKujE,EAAMh3D,QAAQ85D,IAE/F,OAAOpB,EAAO3hE,KAAK/I,MAAM,WACvB,OAAOwtE,EAAO9D,OAAO+D,YAAY99D,EAAO49D,EAAOzrE,KAC9CgN,EAAQa,KAEZ,CACDrP,IAAK,aACLwB,MAAO,SAAoB6N,EAAOgjB,EAAM1nB,EAAMnJ,EAAOgN,GACnD,IAEI+lC,EAFA64B,EAAS1tE,KAIT2tE,EAAcjG,EAAS/3D,EAAO,EAAG1E,EAAMnJ,EAAOgN,GAE9C8+D,EAAc9F,EAAe6F,EAAa,GAM9C,OAHA94B,EAAU+4B,EAAY,GAGflD,EAAO3hE,KAAK/I,MAAM,WACvB,OAAO0tE,EAAOhE,OAAOmE,WAAWl+D,EAAOgjB,EAAMkiB,KAH/C/lC,EAAS8+D,EAAY,GAFrBj+D,EAAQi+D,EAAY,GAMFj7C,EAAKhxB,UAExB,CACDrB,IAAK,YACLwB,MAAO,WACL,OAAQ9B,KAAK8iC,UAAUS,UAAUuqC,SAAS,iBAE3C,CACDxtE,IAAK,MACLwB,MAAO,WACL,OAAO9B,KAAKupE,QAAQwE,IAAIj9D,MAAM9Q,KAAKupE,QAAS9jE,aAE7C,CACDnF,IAAK,KACLwB,MAAO,WACL,OAAO9B,KAAKupE,QAAQW,GAAGp5D,MAAM9Q,KAAKupE,QAAS9jE,aAE5C,CACDnF,IAAK,OACLwB,MAAO,WACL,OAAO9B,KAAKupE,QAAQyE,KAAKl9D,MAAM9Q,KAAKupE,QAAS9jE,aAE9C,CACDnF,IAAK,YACLwB,MAAO,SAAmB6N,EAAOs5D,EAAMn6D,GACrC9O,KAAK+pE,UAAUkE,qBAAqBt+D,EAAOs5D,EAAMn6D,KAElD,CACDxO,IAAK,eACLwB,MAAO,SAAsB6N,EAAOhO,EAAQmN,GAC1C,IAAIo/D,EAASluE,KAETmuE,EAAczG,EAAS/3D,EAAOhO,EAAQmN,GAEtCs/D,EAActG,EAAeqG,EAAa,GAM9C,OAHAxsE,EAASysE,EAAY,GAGd1D,EAAO3hE,KAAK/I,MAAM,WACvB,OAAOkuE,EAAOxE,OAAO2E,aAAa1+D,EAAOhO,KAH3CmN,EAASs/D,EAAY,GAFrBz+D,EAAQy+D,EAAY,MAQrB,CACD9tE,IAAK,iBACLwB,MAAO,WACL9B,KAAK2pE,UAAUiC,eAAe5rE,KAAKspE,sBAEpC,CACDhpE,IAAK,cACLwB,MAAO,SAAqBS,GAC1B,IAAI+rE,EAAUtuE,KAEV8O,EAASrJ,UAAU9D,OAAS,QAAsBqI,IAAjBvE,UAAU,GAAmBA,UAAU,GAAK+iE,EAAU1K,QAAQ9rD,QAAQ85D,IAE3G,OAAOpB,EAAO3hE,KAAK/I,MAAM,WACvBuC,EAAQ,IAAIkjE,EAAa3H,QAAQv7D,GACjC,IAAIZ,EAAS2sE,EAAQ1B,YACjB2B,EAAUD,EAAQ5E,OAAO+B,WAAW,EAAG9pE,GACvC6sE,EAAUF,EAAQ5E,OAAO+E,WAAWlsE,GACpCi/D,EAASgN,EAAQpN,IAAIoN,EAAQpN,IAAIz/D,OAAS,GAM9C,OALc,MAAV6/D,GAA2C,iBAAlBA,EAAOH,QAAmE,OAA5CG,EAAOH,OAAOG,EAAOH,OAAO1/D,OAAS,KAC9F2sE,EAAQ5E,OAAO+B,WAAW6C,EAAQ1B,YAAc,EAAG,GACnD4B,EAAQxM,OAAO,IAEPuM,EAAQlM,QAAQmM,KAEzB1/D,KAEJ,CACDxO,IAAK,eACLwB,MAAO,SAAsB6N,EAAOhO,EAAQmN,GAC1C,GAAa,MAATa,EACF3P,KAAK2pE,UAAU0B,SAAS,KAAM1pE,GAAUqnE,EAAMh3D,QAAQ85D,SACjD,CACL,IAAI4C,EAAchH,EAAS/3D,EAAOhO,EAAQmN,GAEtC6/D,EAAc7G,EAAe4G,EAAa,GAI9C5/D,EAAS6/D,EAAY,GAErB3uE,KAAK2pE,UAAU0B,SAAS,IAAI3C,EAAWkG,MAJvCj/D,EAAQg/D,EAAY,GACpBhtE,EAASgtE,EAAY,IAGwC7/D,GACzDA,IAAW05D,EAAU1K,QAAQ9rD,QAAQm6D,QACvCnsE,KAAK2pE,UAAUiC,eAAe5rE,KAAKspE,uBAIxC,CACDhpE,IAAK,UACLwB,MAAO,SAAiB6wB,GACtB,IAAI7jB,EAASrJ,UAAU9D,OAAS,QAAsBqI,IAAjBvE,UAAU,GAAmBA,UAAU,GAAK+iE,EAAU1K,QAAQ9rD,QAAQ85D,IAEvGvpE,GAAQ,IAAIkjE,EAAa3H,SAAUuD,OAAO1uC,GAC9C,OAAO3yB,KAAK4qE,YAAYroE,EAAOuM,KAEhC,CACDxO,IAAK,SACLwB,MAAO,WACL,IAAIgN,EAASrJ,UAAU9D,OAAS,QAAsBqI,IAAjBvE,UAAU,GAAmBA,UAAU,GAAK+iE,EAAU1K,QAAQ9rD,QAAQ68D,KAEvGrwC,EAASx+B,KAAKwpE,OAAOxlD,OAAOlV,GAEhC,OADA9O,KAAK2pE,UAAU3lD,OAAOlV,GACf0vB,IAER,CACDl+B,IAAK,iBACLwB,MAAO,SAAwBS,GAC7B,IAAIusE,EAAU9uE,KAEV8O,EAASrJ,UAAU9D,OAAS,QAAsBqI,IAAjBvE,UAAU,GAAmBA,UAAU,GAAK+iE,EAAU1K,QAAQ9rD,QAAQ85D,IAE3G,OAAOpB,EAAO3hE,KAAK/I,MAAM,WAEvB,OADAuC,EAAQ,IAAIkjE,EAAa3H,QAAQv7D,GAC1BusE,EAAQpF,OAAO+E,WAAWlsE,EAAOuM,KACvCA,GAAQ,OAIRk6D,EA9eG,GAugBZ,SAASrB,EAAa7kC,EAAWisC,GAS/B,IARAA,GAAa,EAAIxJ,EAASzH,UAAS,EAAM,CACvCh7B,UAAWA,EACX45B,QAAS,CACPqN,WAAW,EACXF,UAAU,EACVG,SAAS,IAEV+E,IACanF,OAASmF,EAAWnF,QAAUZ,EAAMgG,SAASpF,OAI3D,GADAmF,EAAWnF,MAAQZ,EAAMiG,OAAO,UAAYF,EAAWnF,OAC/B,MAApBmF,EAAWnF,MACb,MAAM,IAAIloE,MAAM,iBAAmBqtE,EAAWnF,MAAQ,+BAJxDmF,EAAWnF,MAAQf,EAAQ/K,QAO7B,IAAIoR,GAAc,EAAI3J,EAASzH,UAAS,EAAM,GAAIiR,EAAWnF,MAAMoF,UACnE,CAACE,EAAaH,GAAYlnE,SAAQ,SAAUuuB,GAC1CA,EAAOsmC,QAAUtmC,EAAOsmC,SAAW,GACnC96D,OAAOgG,KAAKwuB,EAAOsmC,SAAS70D,SAAQ,SAAUrI,IACb,IAA3B42B,EAAOsmC,QAAQl9D,KACjB42B,EAAOsmC,QAAQl9D,GAAU,UAI/B,IACI2vE,EADcvtE,OAAOgG,KAAKsnE,EAAYxS,SAASzwD,OAAOrK,OAAOgG,KAAKmnE,EAAWrS,UAClDvwB,QAAO,SAAU/V,EAAQnrB,GACtD,IAAImkE,EAAcpG,EAAMiG,OAAO,WAAahkE,GAM5C,OALmB,MAAfmkE,EACFrG,EAAM75D,MAAM,eAAiBjE,EAAO,4CAEpCmrB,EAAOnrB,GAAQmkE,EAAYJ,UAAY,GAElC54C,IACN,IAmBH,OAjB0B,MAAtB24C,EAAWrS,SAAmBqS,EAAWrS,QAAQ2S,SAAWN,EAAWrS,QAAQ2S,QAAQ38D,cAAgB9Q,SACzGmtE,EAAWrS,QAAQ2S,QAAU,CAC3BvsC,UAAWisC,EAAWrS,QAAQ2S,UAGlCN,GAAa,EAAIxJ,EAASzH,UAAS,EAAM,GAAIkL,EAAMgG,SAAU,CAAEtS,QAASyS,GAAgBD,EAAaH,GACrG,CAAC,SAAU,YAAa,sBAAsBlnE,SAAQ,SAAUvH,GAC/B,iBAApByuE,EAAWzuE,KACpByuE,EAAWzuE,GAAO4xB,SAASo9C,cAAcP,EAAWzuE,QAGxDyuE,EAAWrS,QAAU96D,OAAOgG,KAAKmnE,EAAWrS,SAASvwB,QAAO,SAAU/V,EAAQnrB,GAI5E,OAHI8jE,EAAWrS,QAAQzxD,KACrBmrB,EAAOnrB,GAAQ8jE,EAAWrS,QAAQzxD,IAE7BmrB,IACN,IACI24C,EAKT,SAASrE,EAAO6E,EAAUzgE,EAAQa,EAAOyW,GACvC,GAAIpmB,KAAK0R,QAAQ89D,SAAWxvE,KAAKyvE,aAAe3gE,IAAW05D,EAAU1K,QAAQ9rD,QAAQ68D,KACnF,OAAO,IAAIpJ,EAAa3H,QAE1B,IAAInuC,EAAiB,MAAThgB,EAAgB,KAAO3P,KAAK+rE,eACpC2D,EAAW1vE,KAAK0pE,OAAOnnE,MACvBi8B,EAAS+wC,IAUb,GATa,MAAT5/C,KACY,IAAVhgB,IAAgBA,EAAQggB,EAAMhgB,OACrB,MAATyW,EACFuJ,EAAQggD,EAAWhgD,EAAO6O,EAAQ1vB,GACf,IAAVsX,IACTuJ,EAAQggD,EAAWhgD,EAAOhgB,EAAOyW,EAAOtX,IAE1C9O,KAAKksE,aAAav8C,EAAO64C,EAAU1K,QAAQ9rD,QAAQm6D,SAEjD3tC,EAAO78B,SAAW,EAAG,CACvB,IAAIiuE,EAKEC,EAHFrqE,EAAO,CAACgjE,EAAU1K,QAAQ5tB,OAAOk6B,YAAa5rC,EAAQkxC,EAAU5gE,IACnE8gE,EAAW5vE,KAAKupE,SAASuG,KAAKh/D,MAAM8+D,EAAU,CAACpH,EAAU1K,QAAQ5tB,OAAOi6B,eAAel+D,OAAOzG,IAC3FsJ,IAAW05D,EAAU1K,QAAQ9rD,QAAQm6D,SAGtC0D,EAAY7vE,KAAKupE,SAASuG,KAAKh/D,MAAM++D,EAAWrqE,GAGrD,OAAOg5B,EAGT,SAASkpC,EAAS/3D,EAAOhO,EAAQsJ,EAAMnJ,EAAOgN,GAC5C,IAAI+lC,EAAU,GAwBd,MAvB2B,iBAAhBllC,EAAMA,OAA8C,iBAAjBA,EAAMhO,OAE5B,iBAAXA,GACTmN,EAAShN,EAAOA,EAAQmJ,EAAMA,EAAOtJ,EAAQA,EAASgO,EAAMhO,OAAQgO,EAAQA,EAAMA,QAElFhO,EAASgO,EAAMhO,OAAQgO,EAAQA,EAAMA,OAEZ,iBAAXhO,IAChBmN,EAAShN,EAAOA,EAAQmJ,EAAMA,EAAOtJ,EAAQA,EAAS,GAGY,iBAA/C,IAATsJ,EAAuB,YAAc28D,EAAQ38D,KACvD4pC,EAAU5pC,EACV6D,EAAShN,GACgB,iBAATmJ,IACH,MAATnJ,EACF+yC,EAAQ5pC,GAAQnJ,EAEhBgN,EAAS7D,GAKN,CAAC0E,EAAOhO,EAAQkzC,EADvB/lC,EAASA,GAAU05D,EAAU1K,QAAQ9rD,QAAQ85D,KAI/C,SAAS6D,EAAWhgD,EAAOhgB,EAAOhO,EAAQmN,GACxC,GAAa,MAAT6gB,EAAe,OAAO,KAC1B,IAAI/R,OAAQ,EACRwR,OAAM,EACV,GAAIzf,aAAiB81D,EAAa3H,QAAS,CACzC,IAAIiS,EAAO,CAACpgD,EAAMhgB,MAAOggB,EAAMhgB,MAAQggB,EAAMhuB,QAAQ2E,KAAI,SAAUo1B,GACjE,OAAO/rB,EAAMi0D,kBAAkBloC,EAAK5sB,IAAW05D,EAAU1K,QAAQ9rD,QAAQ68D,SAGvEmB,EAAQlI,EAAeiI,EAAM,GAEjCnyD,EAAQoyD,EAAM,GACd5gD,EAAM4gD,EAAM,OACP,CACL,IAAIC,EAAQ,CAACtgD,EAAMhgB,MAAOggB,EAAMhgB,MAAQggB,EAAMhuB,QAAQ2E,KAAI,SAAUo1B,GAClE,OAAIA,EAAM/rB,GAAS+rB,IAAQ/rB,GAASb,IAAW05D,EAAU1K,QAAQ9rD,QAAQ68D,KAAanzC,EAClF/5B,GAAU,EACL+5B,EAAM/5B,EAENU,KAAKC,IAAIqN,EAAO+rB,EAAM/5B,MAI7BuuE,EAAQpI,EAAemI,EAAO,GAElCryD,EAAQsyD,EAAM,GACd9gD,EAAM8gD,EAAM,GAEd,OAAO,IAAIxH,EAAWkG,MAAMhxD,EAAOwR,EAAMxR,GAvK3CorD,EAAMgG,SAAW,CACf1jD,OAAQ,KACRupB,QAAS,KACT6nB,QAAS,GACTmO,YAAa,GACbC,UAAU,EACVxB,mBAAoB,KACpBkG,QAAQ,EACR5F,MAAO,WAETZ,EAAM94B,OAASs4B,EAAU1K,QAAQ5tB,OACjC84B,EAAMh3D,QAAUw2D,EAAU1K,QAAQ9rD,QAElCg3D,EAAMmH,QAA2B,QAEjCnH,EAAMiC,QAAU,CACd,MAASxF,EAAa3H,QACtB,UAAa4H,EAAY5H,QACzB,cAAe2K,EAAS3K,QACxB,aAAc+K,EAAQ/K,SAuJxBv+D,EAAQooE,aAAeA,EACvBpoE,EAAQmoE,SAAWA,EACnBnoE,EAAQu+D,QAAUkL,GAIZ,SAAUxpE,EAAQD,EAASq9D,GAEjC,aAGAh7D,OAAOC,eAAetC,EAAS,aAAc,CAC3CuC,OAAO,IAGT,IAAI+iE,EAAe,WAAc,SAASC,EAAiB/1D,EAAQyuB,GAAS,IAAK,IAAI15B,EAAI,EAAGA,EAAI05B,EAAM77B,OAAQmC,IAAK,CAAE,IAAIghC,EAAatH,EAAM15B,GAAIghC,EAAWvhB,WAAauhB,EAAWvhB,aAAc,EAAOuhB,EAAWxhB,cAAe,EAAU,UAAWwhB,IAAYA,EAAWw/B,UAAW,GAAM1iE,OAAOC,eAAekN,EAAQ+1B,EAAWxkC,IAAKwkC,IAAiB,OAAO,SAAUigC,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYF,EAAiBC,EAAYl8D,UAAWm8D,GAAiBC,GAAaH,EAAiBC,EAAaE,GAAqBF,GAA7gB,GAEfG,EAAO,SAASpmD,EAAI6E,EAAQ6b,EAAU2lC,GAA2B,OAAXxhD,IAAiBA,EAASyhD,SAASv8D,WAAW,IAAIw8D,EAAOzjE,OAAOqiE,yBAAyBtgD,EAAQ6b,GAAW,QAAax1B,IAATq7D,EAAoB,CAAE,IAAI79D,EAAS5F,OAAO0jE,eAAe3hD,GAAS,OAAe,OAAXnc,OAAmB,EAAkCsX,EAAItX,EAAQg4B,EAAU2lC,GAAoB,GAAI,UAAWE,EAAQ,OAAOA,EAAKvjE,MAAgB,IAAIg7D,EAASuI,EAAKvmD,IAAK,YAAe9U,IAAX8yD,EAAmDA,EAAO/zD,KAAKo8D,QAAnE,GAIrZU,EAASL,EAFD5I,EAAoB,IAM5B8I,EAAcF,EAFD5I,EAAoB,IAIrC,SAAS4I,EAAuBr6D,GAAO,OAAOA,GAAOA,EAAI6xD,WAAa7xD,EAAM,CAAE2yD,QAAS3yD,GAQvF,IAAIszD,EAAS,SAAU2R,GAGrB,SAAS3R,IAGP,OAZJ,SAAyBsH,EAAUhB,GAAe,KAAMgB,aAAoBhB,GAAgB,MAAM,IAAIiB,UAAU,qCAU5GF,CAAgB9lE,KAAMy+D,GAR1B,SAAoC5+D,EAAMkJ,GAAQ,IAAKlJ,EAAQ,MAAM,IAAIqmE,eAAe,6DAAgE,OAAOn9D,GAAyB,iBAATA,GAAqC,mBAATA,EAA8BlJ,EAAPkJ,EAUvNk9D,CAA2BjmE,MAAOy+D,EAAO9/B,WAAa/8B,OAAO0jE,eAAe7G,IAAS3tD,MAAM9Q,KAAMyF,YA0C1G,OAlDF,SAAmB2gE,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIL,UAAU,kEAAoEK,GAAeD,EAASv9D,UAAYjH,OAAOo8D,OAAOqI,GAAcA,EAAWx9D,UAAW,CAAE6J,YAAa,CAAE5Q,MAAOskE,EAAU7iD,YAAY,EAAO+gD,UAAU,EAAMhhD,cAAc,KAAe+iD,IAAYzkE,OAAOs9D,eAAiBt9D,OAAOs9D,eAAekH,EAAUC,GAAcD,EAASznC,UAAY0nC,GAG/dF,CAAU1H,EAAQ2R,GAQlBvL,EAAapG,EAAQ,CAAC,CACpBn+D,IAAK,WACLwB,MAAO,SAAkB6N,EAAOhO,EAAQsJ,EAAMnJ,GAC5C,GAAI28D,EAAO4R,QAAQrwE,KAAKunE,QAAQ5G,SAAU11D,GAAQ,GAAKy6D,EAAY5H,QAAQI,MAAMjzD,EAAMy6D,EAAY5H,QAAQC,MAAMuS,MAAO,CACtH,IAAI/P,EAAOvgE,KAAKuwE,QAAQ5gE,EAAOhO,GAC3BG,GACFy+D,EAAKiQ,KAAKvlE,EAAMnJ,QAGlBojE,EAAKzG,EAAO51D,UAAU81B,WAAa/8B,OAAO0jE,eAAe7G,EAAO51D,WAAY,WAAY7I,MAAM+I,KAAK/I,KAAM2P,EAAOhO,EAAQsJ,EAAMnJ,KAGjI,CACDxB,IAAK,WACLwB,MAAO,SAAkBgZ,GAEvB,GADAoqD,EAAKzG,EAAO51D,UAAU81B,WAAa/8B,OAAO0jE,eAAe7G,EAAO51D,WAAY,WAAY7I,MAAM+I,KAAK/I,KAAM8a,GACrG9a,KAAKwH,kBAAkBi3D,GAAUA,EAAO4R,QAAQrwE,KAAKunE,QAAQ5G,SAAU3gE,KAAKwH,OAAO+/D,QAAQ5G,UAAY,EAAG,CAC5G,IAAIn5D,EAASxH,KAAKwH,OAAO+oE,QAAQvwE,KAAK4sB,SAAU5sB,KAAK2B,UACrD3B,KAAKywE,aAAajpE,GAClBA,EAAOgpE,KAAKxwE,UAGd,CAAC,CACHM,IAAK,UACLwB,MAAO,SAAiBjC,EAAMyiE,GAC5B,IAAIoO,EAAYjS,EAAOpsB,MAAMl/B,QAAQtT,GACjC8wE,EAAalS,EAAOpsB,MAAMl/B,QAAQmvD,GACtC,OAAIoO,GAAa,GAAKC,GAAc,EAC3BD,EAAYC,EACV9wE,IAASyiE,EACX,EACEziE,EAAOyiE,GACR,EAED,MAKN7D,EAhDI,CAiDXiH,EAAY5H,QAAQW,QAEtBA,EAAOgJ,gBAAkB,CAAChJ,EAAQiH,EAAY5H,QAAQQ,MAAOuH,EAAO/H,SAEpEW,EAAOpsB,MAAQ,CAAC,SAAU,SAC1B,YAAa,SAAU,SAAU,OAAQ,SAAU,OAAQ,QAG3D9yC,EAAQu+D,QAAUW,GAIZ,SAAUj/D,EAAQD,EAASq9D,GAEjC,aAGAh7D,OAAOC,eAAetC,EAAS,aAAc,CAC3CuC,OAAO,IAGT,IAIgCqJ,EAQ5BylE,EAAW,SAAUC,GAGvB,SAASD,IAGP,OAZJ,SAAyB7K,EAAUhB,GAAe,KAAMgB,aAAoBhB,GAAgB,MAAM,IAAIiB,UAAU,qCAU5GF,CAAgB9lE,KAAM4wE,GAR1B,SAAoC/wE,EAAMkJ,GAAQ,IAAKlJ,EAAQ,MAAM,IAAIqmE,eAAe,6DAAgE,OAAOn9D,GAAyB,iBAATA,GAAqC,mBAATA,EAA8BlJ,EAAPkJ,EAUvNk9D,CAA2BjmE,MAAO4wE,EAASjyC,WAAa/8B,OAAO0jE,eAAesL,IAAW9/D,MAAM9Q,KAAMyF,YAG9G,OAXF,SAAmB2gE,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIL,UAAU,kEAAoEK,GAAeD,EAASv9D,UAAYjH,OAAOo8D,OAAOqI,GAAcA,EAAWx9D,UAAW,CAAE6J,YAAa,CAAE5Q,MAAOskE,EAAU7iD,YAAY,EAAO+gD,UAAU,EAAMhhD,cAAc,KAAe+iD,IAAYzkE,OAAOs9D,eAAiBt9D,OAAOs9D,eAAekH,EAAUC,GAAcD,EAASznC,UAAY0nC,GAG/dF,CAAUyK,EAAUC,GAQbD,EATM,GARiBzlE,EAJfyxD,EAAoB,KAIgBzxD,EAAI6xD,WAAa7xD,EAAM,CAAE2yD,QAAS3yD,IAkBzE2yD,QAAQY,MAEtBn/D,EAAQu+D,QAAU8S,GAIZ,SAAUpxE,EAAQD,EAASq9D,GAEjC,aAGAh7D,OAAOC,eAAetC,EAAS,aAAc,CAC3CuC,OAAO,IAGT,IAAI+iE,EAAe,WAAc,SAASC,EAAiB/1D,EAAQyuB,GAAS,IAAK,IAAI15B,EAAI,EAAGA,EAAI05B,EAAM77B,OAAQmC,IAAK,CAAE,IAAIghC,EAAatH,EAAM15B,GAAIghC,EAAWvhB,WAAauhB,EAAWvhB,aAAc,EAAOuhB,EAAWxhB,cAAe,EAAU,UAAWwhB,IAAYA,EAAWw/B,UAAW,GAAM1iE,OAAOC,eAAekN,EAAQ+1B,EAAWxkC,IAAKwkC,IAAiB,OAAO,SAAUigC,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYF,EAAiBC,EAAYl8D,UAAWm8D,GAAiBC,GAAaH,EAAiBC,EAAaE,GAAqBF,GAA7gB,GAEfG,EAAO,SAASpmD,EAAI6E,EAAQ6b,EAAU2lC,GAA2B,OAAXxhD,IAAiBA,EAASyhD,SAASv8D,WAAW,IAAIw8D,EAAOzjE,OAAOqiE,yBAAyBtgD,EAAQ6b,GAAW,QAAax1B,IAATq7D,EAAoB,CAAE,IAAI79D,EAAS5F,OAAO0jE,eAAe3hD,GAAS,OAAe,OAAXnc,OAAmB,EAAkCsX,EAAItX,EAAQg4B,EAAU2lC,GAAoB,GAAI,UAAWE,EAAQ,OAAOA,EAAKvjE,MAAgB,IAAIg7D,EAASuI,EAAKvmD,IAAK,YAAe9U,IAAX8yD,EAAmDA,EAAO/zD,KAAKo8D,QAAnE,GAIrZ2L,EAAiBtL,EAFD5I,EAAoB,KAQxC,SAAS4I,EAAuBr6D,GAAO,OAAOA,GAAOA,EAAI6xD,WAAa7xD,EAAM,CAAE2yD,QAAS3yD,GAQvF,IAAI49D,GAAQ,EAVGvD,EAFD5I,EAAoB,KAYTkB,SAAS,gBAErB,CAAC,kBAAmB,YAAa,UAAW,SAElDj2D,SAAQ,SAAUkpE,GACvB7+C,SAASyN,iBAAiBoxC,GAAW,WACnC,IAAK,IAAIC,EAAOvrE,UAAU9D,OAAQ6D,EAAOoD,MAAMooE,GAAOC,EAAO,EAAGA,EAAOD,EAAMC,IAC3EzrE,EAAKyrE,GAAQxrE,UAAUwrE,GAGzB,GAAGnoE,MAAMC,KAAKmpB,SAASg/C,iBAAiB,kBAAkBrpE,SAAQ,SAAUW,GAGxE,IAAI2oE,EADF3oE,EAAK4gE,SAAW5gE,EAAK4gE,QAAQG,UAG9B4H,EAAwB3oE,EAAK4gE,QAAQG,SAAS6H,UAAUtgE,MAAMqgE,EAAuB3rE,YAM9F,IAAI6rE,EAAU,SAAUC,GAGtB,SAASD,KA9BX,SAAyBtL,EAAUhB,GAAe,KAAMgB,aAAoBhB,GAAgB,MAAM,IAAIiB,UAAU,qCA+B5GF,CAAgB9lE,KAAMqxE,GAEtB,IAAI9R,EA/BR,SAAoC1/D,EAAMkJ,GAAQ,IAAKlJ,EAAQ,MAAM,IAAIqmE,eAAe,6DAAgE,OAAOn9D,GAAyB,iBAATA,GAAqC,mBAATA,EAA8BlJ,EAAPkJ,EA+BlNk9D,CAA2BjmE,MAAOqxE,EAAQ1yC,WAAa/8B,OAAO0jE,eAAe+L,IAAUtoE,KAAK/I,OAIxG,OAFAu/D,EAAM7+C,UAAY,GAClB6+C,EAAM2K,GAAG,QAASnB,EAAM75D,OACjBqwD,EAmCT,OApEF,SAAmB6G,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIL,UAAU,kEAAoEK,GAAeD,EAASv9D,UAAYjH,OAAOo8D,OAAOqI,GAAcA,EAAWx9D,UAAW,CAAE6J,YAAa,CAAE5Q,MAAOskE,EAAU7iD,YAAY,EAAO+gD,UAAU,EAAMhhD,cAAc,KAAe+iD,IAAYzkE,OAAOs9D,eAAiBt9D,OAAOs9D,eAAekH,EAAUC,GAAcD,EAASznC,UAAY0nC,GAwB/dF,CAAUkL,EAASC,GAYnBzM,EAAawM,EAAS,CAAC,CACrB/wE,IAAK,OACLwB,MAAO,WACLinE,EAAMxtD,IAAIzK,MAAMi4D,EAAOtjE,WACvBy/D,EAAKmM,EAAQxoE,UAAU81B,WAAa/8B,OAAO0jE,eAAe+L,EAAQxoE,WAAY,OAAQ7I,MAAM8Q,MAAM9Q,KAAMyF,aAEzG,CACDnF,IAAK,YACLwB,MAAO,SAAmBkgC,GACxB,IAAK,IAAIuvC,EAAQ9rE,UAAU9D,OAAQ6D,EAAOoD,MAAM2oE,EAAQ,EAAIA,EAAQ,EAAI,GAAIC,EAAQ,EAAGA,EAAQD,EAAOC,IACpGhsE,EAAKgsE,EAAQ,GAAK/rE,UAAU+rE,IAG7BxxE,KAAK0gB,UAAUshB,EAAMnzB,OAAS,IAAIhH,SAAQ,SAAU4pE,GACnD,IAAIjpE,EAAOipE,EAAKjpE,KACZwxB,EAAUy3C,EAAKz3C,SAEfgI,EAAMjzB,SAAWvG,GAAQA,EAAKslE,SAAS9rC,EAAMjzB,UAC/CirB,EAAQlpB,WAAM9G,EAAW,CAACg4B,GAAO/1B,OAAOzG,SAI7C,CACDlF,IAAK,YACLwB,MAAO,SAAmBivE,EAAWvoE,EAAMwxB,GACpCh6B,KAAK0gB,UAAUqwD,KAClB/wE,KAAK0gB,UAAUqwD,GAAa,IAE9B/wE,KAAK0gB,UAAUqwD,GAAW51D,KAAK,CAAE3S,KAAMA,EAAMwxB,QAASA,QAInDq3C,EA7CK,CA8CZP,EAAehT,SAEjBuT,EAAQnhC,OAAS,CACfi6B,cAAe,gBACfuH,qBAAsB,uBACtBC,gBAAiB,kBACjBpH,cAAe,gBACfqH,iBAAkB,mBAClBxH,YAAa,eAEfiH,EAAQr/D,QAAU,CAChB85D,IAAK,MACLK,OAAQ,SACR0C,KAAM,QAGRtvE,EAAQu+D,QAAUuT,GAIZ,SAAU7xE,EAAQD,EAASq9D,GAEjC,aAOA,SAASkJ,EAAgBC,EAAUhB,GAAe,KAAMgB,aAAoBhB,GAAgB,MAAM,IAAIiB,UAAU,qCAJhHpkE,OAAOC,eAAetC,EAAS,aAAc,CAC3CuC,OAAO,IAKT,IAAI+vE,EAAS,SAASA,EAAOC,GAC3B,IAAIpgE,EAAUjM,UAAU9D,OAAS,QAAsBqI,IAAjBvE,UAAU,GAAmBA,UAAU,GAAK,GAElFqgE,EAAgB9lE,KAAM6xE,GAEtB7xE,KAAK8xE,MAAQA,EACb9xE,KAAK0R,QAAUA,GAGjBmgE,EAAO7C,SAAW,GAElBzvE,EAAQu+D,QAAU+T,GAIZ,SAAUryE,EAAQD,EAASq9D,GAEjC,aAGAh7D,OAAOC,eAAetC,EAAS,aAAc,CAC3CuC,OAAO,IAET,IAAIiwE,EAAS,CAAC,QAAS,OAAQ,MAAO,QAClCzkE,EAAQ,OAEZ,SAASy7D,EAAMvlD,GACb,GAAIuuD,EAAO5+D,QAAQqQ,IAAWuuD,EAAO5+D,QAAQ7F,GAAQ,CAGnD,IAFA,IAAI0kE,EAEKhB,EAAOvrE,UAAU9D,OAAQ6D,EAAOoD,MAAMooE,EAAO,EAAIA,EAAO,EAAI,GAAIC,EAAO,EAAGA,EAAOD,EAAMC,IAC9FzrE,EAAKyrE,EAAO,GAAKxrE,UAAUwrE,IAG5Be,EAAW/iE,SAASuU,GAAQ1S,MAAMkhE,EAAUxsE,IAIjD,SAASysE,EAAUC,GACjB,OAAOH,EAAO5lC,QAAO,SAAUgmC,EAAQ3uD,GAErC,OADA2uD,EAAO3uD,GAAUulD,EAAMnmC,KAAK3zB,QAASuU,EAAQ0uD,GACtCC,IACN,IAGLpJ,EAAMz7D,MAAQ2kE,EAAU3kE,MAAQ,SAAU8kE,GACxC9kE,EAAQ8kE,GAGV7yE,EAAQu+D,QAAUmU,GAIZ,SAAUzyE,EAAQD,EAASq9D,GAEjC,IAAIyV,EAASzpE,MAAMC,UAAUC,MACzBwpE,EAAa1V,EAAoB,IACjC2V,EAAc3V,EAAoB,IAElC4V,EAAYhzE,EAAOD,QAAU,SAAUue,EAAQ20D,EAAUn/C,GAG3D,OAFKA,IAAMA,EAAO,IAEdxV,IAAW20D,IAGJ30D,aAAkB4B,MAAQ+yD,aAAoB/yD,KAChD5B,EAAO40D,YAAcD,EAASC,WAI3B50D,IAAW20D,GAA6B,iBAAV30D,GAAyC,iBAAZ20D,EAC9Dn/C,EAAKk8C,OAAS1xD,IAAW20D,EAAW30D,GAAU20D,EA0BzD,SAAkBxtE,EAAG9C,EAAGmxB,GACtB,IAAIxvB,EAAGxD,EACP,GAAIqyE,EAAkB1tE,IAAM0tE,EAAkBxwE,GAC5C,OAAO,EAET,GAAI8C,EAAE4D,YAAc1G,EAAE0G,UAAW,OAAO,EAGxC,GAAI0pE,EAAYttE,GACd,QAAKstE,EAAYpwE,KAGjB8C,EAAIotE,EAAOtpE,KAAK9D,GAChB9C,EAAIkwE,EAAOtpE,KAAK5G,GACTqwE,EAAUvtE,EAAG9C,EAAGmxB,IAEzB,GAAIs/C,EAAS3tE,GAAI,CACf,IAAK2tE,EAASzwE,GACZ,OAAO,EAET,GAAI8C,EAAEtD,SAAWQ,EAAER,OAAQ,OAAO,EAClC,IAAKmC,EAAI,EAAGA,EAAImB,EAAEtD,OAAQmC,IACxB,GAAImB,EAAEnB,KAAO3B,EAAE2B,GAAI,OAAO,EAE5B,OAAO,EAET,IACE,IAAI+uE,EAAKP,EAAWrtE,GAChB6tE,EAAKR,EAAWnwE,GACpB,MAAOzC,GACP,OAAO,EAIT,GAAImzE,EAAGlxE,QAAUmxE,EAAGnxE,OAClB,OAAO,EAKT,IAHAkxE,EAAGz3D,OACH03D,EAAG13D,OAEEtX,EAAI+uE,EAAGlxE,OAAS,EAAGmC,GAAK,EAAGA,IAC9B,GAAI+uE,EAAG/uE,IAAMgvE,EAAGhvE,GACd,OAAO,EAIX,IAAKA,EAAI+uE,EAAGlxE,OAAS,EAAGmC,GAAK,EAAGA,IAE9B,IAAK0uE,EAAUvtE,EADf3E,EAAMuyE,EAAG/uE,IACc3B,EAAE7B,GAAMgzB,GAAO,OAAO,EAE/C,cAAcruB,UAAa9C,EAnElB4wE,CAASj1D,EAAQ20D,EAAUn/C,KAItC,SAASq/C,EAAkB7wE,GACzB,OAAOA,QAGT,SAAS8wE,EAAUzvE,GACjB,SAAKA,GAAkB,iBAANA,GAAsC,iBAAbA,EAAExB,QACtB,mBAAXwB,EAAEqhE,MAA0C,mBAAZrhE,EAAE2F,OAGzC3F,EAAExB,OAAS,GAAqB,iBAATwB,EAAE,MA4DzB,SAAU3D,EAAQD,EAASq9D,GAEjC,aAEAh7D,OAAOC,eAAetC,EAAS,aAAc,CAAEuC,OAAO,IACtD,IAAI+7D,EAAWjB,EAAoB,GAC/B+B,EAA4B,WAC5B,SAASA,EAAWiC,EAAUC,EAASnvD,QACnB,IAAZA,IAAsBA,EAAU,IACpC1R,KAAK4gE,SAAWA,EAChB5gE,KAAK6gE,QAAUA,EAIX7gE,KAAK8S,MAFY,MAAjBpB,EAAQoB,MAEMpB,EAAQoB,MAAQ+qD,EAASE,MAAM+B,MAH9BjC,EAASE,MAAMqC,KAAOvC,EAASE,MAAMiV,UAMvCnV,EAASE,MAAMiV,UAEP,MAArBthE,EAAQ+3D,YACRzpE,KAAKypE,UAAY/3D,EAAQ+3D,WAoCjC,OAlCA9K,EAAW/2D,KAAO,SAAUY,GACxB,MAAO,GAAGlC,IAAIyC,KAAKP,EAAKg3D,YAAY,SAAUnsD,GAC1C,OAAOA,EAAKpI,SAGpB0zD,EAAW91D,UAAU26B,IAAM,SAAUh7B,EAAM1G,GACvC,QAAK9B,KAAKizE,OAAOzqE,EAAM1G,KAEvB0G,EAAK4pB,aAAapyB,KAAK6gE,QAAS/+D,IACzB,IAEX68D,EAAW91D,UAAUoqE,OAAS,SAAUzqE,EAAM1G,GAE1C,OAAa,MADD+7D,EAASK,MAAM11D,EAAMq1D,EAASE,MAAMuS,MAAQtwE,KAAK8S,MAAQ+qD,EAASE,MAAMqC,SAG9D,MAAlBpgE,KAAKypE,YAEY,iBAAV3nE,EACA9B,KAAKypE,UAAUt2D,QAAQrR,EAAMoxE,QAAQ,QAAS,MAAQ,EAGtDlzE,KAAKypE,UAAUt2D,QAAQrR,IAAU,KAGhD68D,EAAW91D,UAAUg7B,OAAS,SAAUr7B,GACpCA,EAAKs5B,gBAAgB9hC,KAAK6gE,UAE9BlC,EAAW91D,UAAU/G,MAAQ,SAAU0G,GACnC,IAAI1G,EAAQ0G,EAAK84B,aAAathC,KAAK6gE,SACnC,OAAI7gE,KAAKizE,OAAOzqE,EAAM1G,IAAUA,EACrBA,EAEJ,IAEJ68D,EAlDoB,GAoD/Bp/D,EAAQu+D,QAAUa,GAKZ,SAAUn/D,EAAQD,EAASq9D,GAEjC,aAGAh7D,OAAOC,eAAetC,EAAS,aAAc,CAC3CuC,OAAO,IAETvC,EAAQu+D,QAAUv+D,EAAQ4zE,UAAOnpE,EAEjC,IAAI89D,EAAgb,SAAUxtB,EAAKx2C,GAAK,GAAI8E,MAAMwH,QAAQkqC,GAAQ,OAAOA,EAAY,GAAIutB,OAAO3F,YAAYtgE,OAAO04C,GAAQ,OAAxf,SAAuBA,EAAKx2C,GAAK,IAAIikE,EAAO,GAAQC,GAAK,EAAUC,GAAK,EAAWC,OAAKl+D,EAAW,IAAM,IAAK,IAAiCm+D,EAA7B1H,EAAKnmB,EAAIutB,OAAO3F,cAAmB8F,GAAMG,EAAK1H,EAAG5wC,QAAQu4C,QAAoBL,EAAK5sD,KAAKgtD,EAAGrmE,QAAYgC,GAAKikE,EAAKpmE,SAAWmC,GAA3DkkE,GAAK,IAAoE,MAAOK,GAAOJ,GAAK,EAAMC,EAAKG,EAAO,QAAU,KAAWL,GAAMvH,EAAW,QAAGA,EAAW,SAAO,QAAU,GAAIwH,EAAI,MAAMC,GAAQ,OAAOH,EAA6HO,CAAchuB,EAAKx2C,GAAa,MAAM,IAAIkiE,UAAU,yDAEllBnB,EAAe,WAAc,SAASC,EAAiB/1D,EAAQyuB,GAAS,IAAK,IAAI15B,EAAI,EAAGA,EAAI05B,EAAM77B,OAAQmC,IAAK,CAAE,IAAIghC,EAAatH,EAAM15B,GAAIghC,EAAWvhB,WAAauhB,EAAWvhB,aAAc,EAAOuhB,EAAWxhB,cAAe,EAAU,UAAWwhB,IAAYA,EAAWw/B,UAAW,GAAM1iE,OAAOC,eAAekN,EAAQ+1B,EAAWxkC,IAAKwkC,IAAiB,OAAO,SAAUigC,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYF,EAAiBC,EAAYl8D,UAAWm8D,GAAiBC,GAAaH,EAAiBC,EAAaE,GAAqBF,GAA7gB,GAEfG,EAAO,SAASpmD,EAAI6E,EAAQ6b,EAAU2lC,GAA2B,OAAXxhD,IAAiBA,EAASyhD,SAASv8D,WAAW,IAAIw8D,EAAOzjE,OAAOqiE,yBAAyBtgD,EAAQ6b,GAAW,QAAax1B,IAATq7D,EAAoB,CAAE,IAAI79D,EAAS5F,OAAO0jE,eAAe3hD,GAAS,OAAe,OAAXnc,OAAmB,EAAkCsX,EAAItX,EAAQg4B,EAAU2lC,GAAoB,GAAI,UAAWE,EAAQ,OAAOA,EAAKvjE,MAAgB,IAAIg7D,EAASuI,EAAKvmD,IAAK,YAAe9U,IAAX8yD,EAAmDA,EAAO/zD,KAAKo8D,QAAnE,GAIrZM,EAAeD,EAFD5I,EAAoB,IAMlC8I,EAAcF,EAFD5I,EAAoB,IAMjCwW,EAAU5N,EAFD5I,EAAoB,IAM7BgJ,EAAWJ,EAFD5I,EAAoB,IAM9BiJ,EAASL,EAFD5I,EAAoB,IAIhC,SAAS4I,EAAuBr6D,GAAO,OAAOA,GAAOA,EAAI6xD,WAAa7xD,EAAM,CAAE2yD,QAAS3yD,GAEvF,SAAS26D,EAAgBC,EAAUhB,GAAe,KAAMgB,aAAoBhB,GAAgB,MAAM,IAAIiB,UAAU,qCAEhH,SAASC,EAA2BpmE,EAAMkJ,GAAQ,IAAKlJ,EAAQ,MAAM,IAAIqmE,eAAe,6DAAgE,OAAOn9D,GAAyB,iBAATA,GAAqC,mBAATA,EAA8BlJ,EAAPkJ,EAElO,SAASo9D,EAAUC,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIL,UAAU,kEAAoEK,GAAeD,EAASv9D,UAAYjH,OAAOo8D,OAAOqI,GAAcA,EAAWx9D,UAAW,CAAE6J,YAAa,CAAE5Q,MAAOskE,EAAU7iD,YAAY,EAAO+gD,UAAU,EAAMhhD,cAAc,KAAe+iD,IAAYzkE,OAAOs9D,eAAiBt9D,OAAOs9D,eAAekH,EAAUC,GAAcD,EAASznC,UAAY0nC,GAEje,IAAI8M,EAAO,SAAUE,GAGnB,SAASF,IAGP,OAFArN,EAAgB9lE,KAAMmzE,GAEflN,EAA2BjmE,MAAOmzE,EAAKx0C,WAAa/8B,OAAO0jE,eAAe6N,IAAOriE,MAAM9Q,KAAMyF,YAGtG,OARA0gE,EAAUgN,EAAME,GAQTF,EATE,CAUTvN,EAAS9H,SAEXqV,EAAKxS,SAAW,OAChBwS,EAAKhT,QAAU,OAEf,IAAImT,EAAY,SAAUC,GAGxB,SAASD,IAGP,OAFAxN,EAAgB9lE,KAAMszE,GAEfrN,EAA2BjmE,MAAOszE,EAAU30C,WAAa/8B,OAAO0jE,eAAegO,IAAYxiE,MAAM9Q,KAAMyF,YA6HhH,OAlIA0gE,EAAUmN,EAAWC,GAQrB1O,EAAayO,EAAW,CAAC,CACvBhzE,IAAK,QACLwB,MAAO,WACL,IAAIwpE,EAAStrE,KAET2yB,EAAO3yB,KAAKo2D,QAAQod,YAKxB,OAJI7gD,EAAK+zC,SAAS,QAEhB/zC,EAAOA,EAAK7pB,MAAM,GAAI,IAEjB6pB,EAAKtsB,MAAM,MAAM8lC,QAAO,SAAU5pC,EAAOkxE,GAC9C,OAAOlxE,EAAM8+D,OAAOoS,GAAMpS,OAAO,KAAMiK,EAAOz2B,aAC7C,IAAI4wB,EAAa3H,WAErB,CACDx9D,IAAK,SACLwB,MAAO,SAAgBmJ,EAAMnJ,GAC3B,GAAImJ,IAASjL,KAAKunE,QAAQ5G,WAAY7+D,EAAtC,CAEA,IAAI4xE,EAAc1zE,KAAK2zE,WAAW9N,EAAO/H,QAAS99D,KAAK2B,SAAW,GAE9DgxB,EADem1C,EAAe4L,EAAa,GACvB,GAEZ,MAAR/gD,GACFA,EAAKihD,SAASjhD,EAAKhxB,SAAW,EAAG,GAEnCujE,EAAKoO,EAAUzqE,UAAU81B,WAAa/8B,OAAO0jE,eAAegO,EAAUzqE,WAAY,SAAU7I,MAAM+I,KAAK/I,KAAMiL,EAAMnJ,MAEpH,CACDxB,IAAK,WACLwB,MAAO,SAAkB6N,EAAOhO,EAAQsJ,EAAMnJ,GAC5C,GAAe,IAAXH,GACoE,MAApE+jE,EAAY5H,QAAQI,MAAMjzD,EAAMy6D,EAAY5H,QAAQC,MAAMgC,SAAkB90D,IAASjL,KAAKunE,QAAQ5G,UAAY7+D,IAAU9B,KAAKunE,QAAQ1yB,QAAQ70C,KAAKo2D,UAAtJ,CAGA,IAAIyd,EAAc7zE,KAAK8zE,aAAankE,GACpC,KAAIkkE,EAAc,GAAKA,GAAelkE,EAAQhO,GAA9C,CACA,IAAIoyE,EAAc/zE,KAAK8zE,aAAankE,GAAO,GAAQ,EAC/CqkE,EAAgBH,EAAcE,EAAc,EAC5CxT,EAAOvgE,KAAKuwE,QAAQwD,EAAaC,GACjCnkD,EAAO0wC,EAAK1wC,KAChB0wC,EAAKxrB,OAAO9pC,EAAMnJ,GACd+tB,aAAgByjD,GAClBzjD,EAAKokD,SAAS,EAAGtkE,EAAQokE,EAAcpyE,EAASqyE,EAAe/oE,EAAMnJ,OAGxE,CACDxB,IAAK,WACLwB,MAAO,SAAkB6N,EAAO7N,EAAO2kE,GACrC,GAAW,MAAPA,EAAJ,CAEA,IAAIyN,EAAel0E,KAAK2zE,WAAW9N,EAAO/H,QAASnuD,GAC/CwkE,EAAerM,EAAeoM,EAAc,GACrCC,EAAa,GAGnBvN,SAFQuN,EAAa,GAEJryE,MAEvB,CACDxB,IAAK,SACLwB,MAAO,WACL,IAAIH,EAAS3B,KAAKo2D,QAAQod,YAAY7xE,OACtC,OAAK3B,KAAKo2D,QAAQod,YAAY9M,SAAS,MAGhC/kE,EAFEA,EAAS,IAInB,CACDrB,IAAK,eACLwB,MAAO,SAAsBsyE,GAC3B,IAAInjE,EAAUxL,UAAU9D,OAAS,QAAsBqI,IAAjBvE,UAAU,IAAmBA,UAAU,GAE7E,GAAKwL,EAIH,OAAOjR,KAAKo2D,QAAQod,YAAY1qE,MAAM,EAAGsrE,GAAaC,YAAY,MAHlE,IAAIznD,EAAS5sB,KAAKo2D,QAAQod,YAAY1qE,MAAMsrE,GAAajhE,QAAQ,MACjE,OAAOyZ,GAAU,EAAIwnD,EAAcxnD,GAAU,IAKhD,CACDtsB,IAAK,WACLwB,MAAO,SAAkBgZ,GAClB9a,KAAKo2D,QAAQod,YAAY9M,SAAS,OACrC1mE,KAAKqyB,YAAYqzC,EAAY5H,QAAQE,OAAO,OAAQ,OAEtDkH,EAAKoO,EAAUzqE,UAAU81B,WAAa/8B,OAAO0jE,eAAegO,EAAUzqE,WAAY,WAAY7I,MAAM+I,KAAK/I,KAAM8a,GAC/G,IAAI+U,EAAO7vB,KAAK6vB,KACJ,MAARA,GAAgBA,EAAKjK,OAAS5lB,MAAQ6vB,EAAK03C,QAAQ5G,WAAa3gE,KAAKunE,QAAQ5G,UAAY3gE,KAAKunE,QAAQ1yB,QAAQ70C,KAAKo2D,WAAavmC,EAAK03C,QAAQ1yB,QAAQhlB,EAAKumC,WAC5JvmC,EAAKykD,SAASx5D,GACd+U,EAAK4gD,aAAazwE,MAClB6vB,EAAKgU,YAGR,CACDvjC,IAAK,UACLwB,MAAO,SAAiBiN,GACtBm2D,EAAKoO,EAAUzqE,UAAU81B,WAAa/8B,OAAO0jE,eAAegO,EAAUzqE,WAAY,UAAW7I,MAAM+I,KAAK/I,KAAM+O,GAC9G,GAAGjG,MAAMC,KAAK/I,KAAKo2D,QAAQ8a,iBAAiB,MAAMrpE,SAAQ,SAAUW,GAClE,IAAI+3D,EAAOmF,EAAY5H,QAAQG,KAAKz1D,GACxB,MAAR+3D,EACF/3D,EAAKw6B,WAAWe,YAAYv7B,GACnB+3D,aAAgBmF,EAAY5H,QAAQQ,MAC7CiC,EAAK18B,SAEL08B,EAAKgU,eAIT,CAAC,CACHj0E,IAAK,SACLwB,MAAO,SAAgBA,GACrB,IAAIs0D,EAAU8O,EAAKoO,EAAU30C,WAAa/8B,OAAO0jE,eAAegO,GAAY,SAAUtzE,MAAM+I,KAAK/I,KAAM8B,GAEvG,OADAs0D,EAAQhkC,aAAa,cAAc,GAC5BgkC,IAER,CACD91D,IAAK,UACLwB,MAAO,WACL,OAAO,MAIJwxE,EAnIO,CAoIdF,EAAQtV,SAEVwV,EAAU3S,SAAW,aACrB2S,EAAUnT,QAAU,MACpBmT,EAAUkB,IAAM,KAEhBj1E,EAAQ4zE,KAAOA,EACf5zE,EAAQu+D,QAAUwV,GAIZ,SAAU9zE,EAAQD,EAASq9D,GAEjC,aAGAh7D,OAAOC,eAAetC,EAAS,aAAc,CAC3CuC,OAAO,IAGT,IAAI8lE,EAA4B,mBAAXC,QAAoD,iBAApBA,OAAO3F,SAAwB,SAAU/2D,GAAO,cAAcA,GAAS,SAAUA,GAAO,OAAOA,GAAyB,mBAAX08D,QAAyB18D,EAAIuH,cAAgBm1D,QAAU18D,IAAQ08D,OAAOh/D,UAAY,gBAAkBsC,GAElQ28D,EAAgb,SAAUxtB,EAAKx2C,GAAK,GAAI8E,MAAMwH,QAAQkqC,GAAQ,OAAOA,EAAY,GAAIutB,OAAO3F,YAAYtgE,OAAO04C,GAAQ,OAAxf,SAAuBA,EAAKx2C,GAAK,IAAIikE,EAAO,GAAQC,GAAK,EAAUC,GAAK,EAAWC,OAAKl+D,EAAW,IAAM,IAAK,IAAiCm+D,EAA7B1H,EAAKnmB,EAAIutB,OAAO3F,cAAmB8F,GAAMG,EAAK1H,EAAG5wC,QAAQu4C,QAAoBL,EAAK5sD,KAAKgtD,EAAGrmE,QAAYgC,GAAKikE,EAAKpmE,SAAWmC,GAA3DkkE,GAAK,IAAoE,MAAOK,GAAOJ,GAAK,EAAMC,EAAKG,EAAO,QAAU,KAAWL,GAAMvH,EAAW,QAAGA,EAAW,SAAO,QAAU,GAAIwH,EAAI,MAAMC,GAAQ,OAAOH,EAA6HO,CAAchuB,EAAKx2C,GAAa,MAAM,IAAIkiE,UAAU,yDAEllBnB,EAAe,WAAc,SAASC,EAAiB/1D,EAAQyuB,GAAS,IAAK,IAAI15B,EAAI,EAAGA,EAAI05B,EAAM77B,OAAQmC,IAAK,CAAE,IAAIghC,EAAatH,EAAM15B,GAAIghC,EAAWvhB,WAAauhB,EAAWvhB,aAAc,EAAOuhB,EAAWxhB,cAAe,EAAU,UAAWwhB,IAAYA,EAAWw/B,UAAW,GAAM1iE,OAAOC,eAAekN,EAAQ+1B,EAAWxkC,IAAKwkC,IAAiB,OAAO,SAAUigC,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYF,EAAiBC,EAAYl8D,UAAWm8D,GAAiBC,GAAaH,EAAiBC,EAAaE,GAAqBF,GAA7gB,GAIfU,EAAeD,EAFD5I,EAAoB,IAMlC6X,EAAOjP,EAFD5I,EAAoB,KAM1B8I,EAAcF,EAFD5I,EAAoB,IAMjC8X,EAASlP,EAFD5I,EAAoB,KAM5B+X,EAAWnP,EAFD5I,EAAoB,KAI9BgY,EAAShY,EAAoB,GAE7BwW,EAAU5N,EAAuBoP,GAIjCjP,EAAUH,EAFD5I,EAAoB,KAM7BiY,EAAUrP,EAFD5I,EAAoB,KAM7BkY,EAActP,EAFD5I,EAAoB,KAMjC2I,EAAWC,EAFD5I,EAAoB,IAIlC,SAAS4I,EAAuBr6D,GAAO,OAAOA,GAAOA,EAAI6xD,WAAa7xD,EAAM,CAAE2yD,QAAS3yD,GAMvF,IAAI4pE,EAAQ,WAERC,EAAS,WACX,SAASA,EAAOxL,IALlB,SAAyBzD,EAAUhB,GAAe,KAAMgB,aAAoBhB,GAAgB,MAAM,IAAIiB,UAAU,qCAM5GF,CAAgB9lE,KAAMg1E,GAEtBh1E,KAAKwpE,OAASA,EACdxpE,KAAKuC,MAAQvC,KAAKi1E,WA6PpB,OA1PApQ,EAAamQ,EAAQ,CAAC,CACpB10E,IAAK,aACLwB,MAAO,SAAoBS,GACzB,IAAIg9D,EAAQv/D,KAERk1E,GAAqB,EACzBl1E,KAAKwpE,OAAOxlD,SACZ,IAAImxD,EAAen1E,KAAKwpE,OAAO7nE,SAoD/B,OAnDA3B,KAAKwpE,OAAO4L,cACZ7yE,EAoQN,SAAwBA,GACtB,OAAOA,EAAM4pC,QAAO,SAAU5pC,EAAOy+D,GACnC,GAAkB,IAAdA,EAAGK,OAAc,CACnB,IAAI7B,GAAa,EAAIqV,EAAQ/W,SAASkD,EAAGxB,YAEzC,cADOA,EAAkB,MAClBj9D,EAAM8+D,OAAO,CAAEgU,MAAOrU,EAAGxB,WAAW6V,OAAS7V,GAWtD,GATqB,MAAjBwB,EAAGxB,aAA8C,IAAvBwB,EAAGxB,WAAWvtC,OAA0C,IAAzB+uC,EAAGxB,WAAW8V,UACzEtU,GAAK,EAAI6T,EAAQ/W,SAASkD,IACnBxB,WAAWvtC,KAChB+uC,EAAGxB,WAAWvtC,KAAO,WAErB+uC,EAAGxB,WAAWvtC,KAAO,gBACd+uC,EAAGxB,WAAW8V,SAGA,iBAAdtU,EAAGK,OAAqB,CACjC,IAAI1uC,EAAOquC,EAAGK,OAAO6R,QAAQ,QAAS,MAAMA,QAAQ,MAAO,MAC3D,OAAO3wE,EAAM8+D,OAAO1uC,EAAMquC,EAAGxB,YAE/B,OAAOj9D,EAAM4Y,KAAK6lD,KACjB,IAAIyE,EAAa3H,SAzRRyX,CAAehzE,IACjB4pC,QAAO,SAAUx8B,EAAOqxD,GAC5B,IAAIr/D,EAASq/D,EAAGO,QAAUP,EAAGgB,QAAUhB,EAAGK,OAAO1/D,QAAU,EACvD69D,EAAawB,EAAGxB,YAAc,GAClC,GAAiB,MAAbwB,EAAGK,OAAgB,CACrB,GAAyB,iBAAdL,EAAGK,OAAqB,CACjC,IAAI1uC,EAAOquC,EAAGK,OACV1uC,EAAK+zC,SAAS,OAASwO,IACzBA,GAAqB,EACrBviD,EAAOA,EAAK7pB,MAAM,GAAI,IAEpB6G,GAASwlE,IAAiBxiD,EAAK+zC,SAAS,QAC1CwO,GAAqB,GAEvB3V,EAAMiK,OAAO5C,SAASj3D,EAAOgjB,GAE7B,IAAI6iD,EAAejW,EAAMiK,OAAO5gD,KAAKjZ,GACjC8lE,EAAgB3N,EAAe0N,EAAc,GAC7C5sD,EAAO6sD,EAAc,GACrB7oD,EAAS6oD,EAAc,GAEvB5gC,GAAU,EAAI0wB,EAASzH,SAAS,IAAI,EAAI8W,EAAOhQ,eAAeh8C,IAClE,GAAIA,aAAgBwqD,EAAQtV,QAAS,CACnC,IAAI4X,EAAmB9sD,EAAK+qD,WAAWjO,EAAY5H,QAAQO,KAAMzxC,GAC7D+oD,EAAoB7N,EAAe4N,EAAkB,GAGzD7gC,GAAU,EAAI0wB,EAASzH,SAASjpB,GAAS,EAAI+/B,EAAOhQ,eAFzC+Q,EAAkB,KAI/BnW,EAAaiV,EAAK3W,QAAQ0B,WAAW38D,KAAKgyC,EAAS2qB,IAAe,QAC7D,GAA2B,WAAvBoI,EAAQ5G,EAAGK,QAAsB,CAC1C,IAAI/gE,EAAMsB,OAAOgG,KAAKo5D,EAAGK,QAAQ,GACjC,GAAW,MAAP/gE,EAAa,OAAOqP,EACxB4vD,EAAMiK,OAAO5C,SAASj3D,EAAOrP,EAAK0gE,EAAGK,OAAO/gE,IAE9C60E,GAAgBxzE,EAKlB,OAHAC,OAAOgG,KAAK43D,GAAY33D,SAAQ,SAAUoD,GACxCs0D,EAAMiK,OAAOyK,SAAStkE,EAAOhO,EAAQsJ,EAAMu0D,EAAWv0D,OAEjD0E,EAAQhO,IACd,GACHY,EAAM4pC,QAAO,SAAUx8B,EAAOqxD,GAC5B,MAAyB,iBAAdA,EAAGgB,QACZzC,EAAMiK,OAAOoK,SAASjkE,EAAOqxD,EAAGgB,QACzBryD,GAEFA,GAASqxD,EAAGO,QAAUP,EAAGK,OAAO1/D,QAAU,KAChD,GACH3B,KAAKwpE,OAAOoM,WACL51E,KAAKgkB,OAAOzhB,KAEpB,CACDjC,IAAK,aACLwB,MAAO,SAAoB6N,EAAOhO,GAEhC,OADA3B,KAAKwpE,OAAOoK,SAASjkE,EAAOhO,GACrB3B,KAAKgkB,QAAO,IAAIyhD,EAAa3H,SAAUyD,OAAO5xD,GAAOqyD,OAAOrgE,MAEpE,CACDrB,IAAK,aACLwB,MAAO,SAAoB6N,EAAOhO,GAChC,IAAIolE,EAAS/mE,KAET60C,EAAUpvC,UAAU9D,OAAS,QAAsBqI,IAAjBvE,UAAU,GAAmBA,UAAU,GAAK,GAoBlF,OAlBAzF,KAAKwpE,OAAOxlD,SACZpiB,OAAOgG,KAAKitC,GAAShtC,SAAQ,SAAUktC,GACrC,GAA+B,MAA3BgyB,EAAOyC,OAAOC,WAAsB1C,EAAOyC,OAAOC,UAAU10B,GAAhE,CACA,IAAIxK,EAAQw8B,EAAOyC,OAAOj/B,MAAM56B,EAAOtN,KAAKC,IAAIX,EAAQ,IACpDk0E,EAAkBl0E,EACtB4oC,EAAM1iC,SAAQ,SAAU+gB,GACtB,IAAIktD,EAAaltD,EAAKjnB,SACtB,GAAMinB,aAAgB8rD,EAAO5W,QAEtB,CACL,IAAIiY,EAAYpmE,EAAQiZ,EAAKgE,OAAOm6C,EAAOyC,QACvCwM,EAAaptD,EAAKkrD,aAAaiC,EAAYF,GAAmBE,EAAY,EAC9EntD,EAAKqrD,SAAS8B,EAAWC,EAAYjhC,EAAQF,EAAQE,SAJrDnsB,EAAKmsB,OAAOA,EAAQF,EAAQE,IAM9B8gC,GAAmBC,SAGvB91E,KAAKwpE,OAAO8K,WACLt0E,KAAKgkB,QAAO,IAAIyhD,EAAa3H,SAAUyD,OAAO5xD,GAAO4xD,OAAO5/D,GAAQ,EAAIkzE,EAAQ/W,SAASjpB,OAEjG,CACDv0C,IAAK,aACLwB,MAAO,SAAoB6N,EAAOhO,GAChC,IAAI2pE,EAAStrE,KAET60C,EAAUpvC,UAAU9D,OAAS,QAAsBqI,IAAjBvE,UAAU,GAAmBA,UAAU,GAAK,GAKlF,OAHA7D,OAAOgG,KAAKitC,GAAShtC,SAAQ,SAAUktC,GACrCu2B,EAAO9B,OAAOyK,SAAStkE,EAAOhO,EAAQozC,EAAQF,EAAQE,OAEjD/0C,KAAKgkB,QAAO,IAAIyhD,EAAa3H,SAAUyD,OAAO5xD,GAAO4xD,OAAO5/D,GAAQ,EAAIkzE,EAAQ/W,SAASjpB,OAEjG,CACDv0C,IAAK,cACLwB,MAAO,SAAqB6N,EAAOhO,GACjC,OAAO3B,KAAKuC,MAAMuG,MAAM6G,EAAOA,EAAQhO,KAExC,CACDrB,IAAK,WACLwB,MAAO,WACL,OAAO9B,KAAKwpE,OAAOj/B,QAAQ4B,QAAO,SAAU5pC,EAAOqmB,GACjD,OAAOrmB,EAAM0J,OAAO2c,EAAKrmB,WACxB,IAAIkjE,EAAa3H,WAErB,CACDx9D,IAAK,YACLwB,MAAO,SAAmB6N,GACxB,IAAIhO,EAAS8D,UAAU9D,OAAS,QAAsBqI,IAAjBvE,UAAU,GAAmBA,UAAU,GAAK,EAE7E8kC,EAAQ,GACR0rC,EAAS,GACE,IAAXt0E,EACF3B,KAAKwpE,OAAOjiE,KAAKoI,GAAO9H,SAAQ,SAAUN,GACxC,IACIg5D,EADQuH,EAAevgE,EAAM,GAChB,GAEbg5D,aAAgB6S,EAAQtV,QAC1BvzB,EAAMpvB,KAAKolD,GACFA,aAAgBmF,EAAY5H,QAAQO,MAC7C4X,EAAO96D,KAAKolD,OAIhBh2B,EAAQvqC,KAAKwpE,OAAOj/B,MAAM56B,EAAOhO,GACjCs0E,EAASj2E,KAAKwpE,OAAOxC,YAAYtB,EAAY5H,QAAQO,KAAM1uD,EAAOhO,IAEpE,IAAIu0E,EAAa,CAAC3rC,EAAO0rC,GAAQ3vE,KAAI,SAAU6vE,GAC7C,GAAqB,IAAjBA,EAAMx0E,OAAc,MAAO,GAE/B,IADA,IAAIkzC,GAAU,EAAI+/B,EAAOhQ,eAAeuR,EAAM/vD,SACvCxkB,OAAOgG,KAAKitC,GAASlzC,OAAS,GAAG,CACtC,IAAI4+D,EAAO4V,EAAM/vD,QACjB,GAAY,MAARm6C,EAAc,OAAO1rB,EACzBA,EAAUuhC,GAAe,EAAIxB,EAAOhQ,eAAerE,GAAO1rB,GAE5D,OAAOA,KAET,OAAO0wB,EAASzH,QAAQhtD,MAAMy0D,EAASzH,QAASoY,KAEjD,CACD51E,IAAK,UACLwB,MAAO,SAAiB6N,EAAOhO,GAC7B,OAAO3B,KAAK+sE,YAAYp9D,EAAOhO,GAAQ41B,QAAO,SAAUypC,GACtD,MAA4B,iBAAdA,EAAGK,UAChB/6D,KAAI,SAAU06D,GACf,OAAOA,EAAGK,UACT76D,KAAK,MAET,CACDlG,IAAK,cACLwB,MAAO,SAAqB6N,EAAO49D,EAAOzrE,GAExC,OADA9B,KAAKwpE,OAAO5C,SAASj3D,EAAO49D,EAAOzrE,GAC5B9B,KAAKgkB,QAAO,IAAIyhD,EAAa3H,SAAUyD,OAAO5xD,GAAO0xD,OAnLlE,SAAyBl2D,EAAK7K,EAAKwB,GAAiK,OAApJxB,KAAO6K,EAAOvJ,OAAOC,eAAesJ,EAAK7K,EAAK,CAAEwB,MAAOA,EAAOyhB,YAAY,EAAMD,cAAc,EAAMghD,UAAU,IAAkBn5D,EAAI7K,GAAOwB,EAAgBqJ,EAmLlI29D,CAAgB,GAAIyE,EAAOzrE,OAE/F,CACDxB,IAAK,aACLwB,MAAO,SAAoB6N,EAAOgjB,GAChC,IAAIk5C,EAAS7rE,KAET60C,EAAUpvC,UAAU9D,OAAS,QAAsBqI,IAAjBvE,UAAU,GAAmBA,UAAU,GAAK,GAOlF,OALAktB,EAAOA,EAAKugD,QAAQ,QAAS,MAAMA,QAAQ,MAAO,MAClDlzE,KAAKwpE,OAAO5C,SAASj3D,EAAOgjB,GAC5B/wB,OAAOgG,KAAKitC,GAAShtC,SAAQ,SAAUktC,GACrC82B,EAAOrC,OAAOyK,SAAStkE,EAAOgjB,EAAKhxB,OAAQozC,EAAQF,EAAQE,OAEtD/0C,KAAKgkB,QAAO,IAAIyhD,EAAa3H,SAAUyD,OAAO5xD,GAAO0xD,OAAO1uC,GAAM,EAAIkiD,EAAQ/W,SAASjpB,OAE/F,CACDv0C,IAAK,UACLwB,MAAO,WACL,GAAmC,GAA/B9B,KAAKwpE,OAAOtC,SAASvlE,OAAa,OAAO,EAC7C,GAAI3B,KAAKwpE,OAAOtC,SAASvlE,OAAS,EAAG,OAAO,EAC5C,IAAIglE,EAAQ3mE,KAAKwpE,OAAOtC,SAAS34C,KACjC,OAAIo4C,EAAMY,QAAQ5G,WAAayS,EAAQtV,QAAQ6C,YAC3CgG,EAAMO,SAASvlE,OAAS,IACrBglE,EAAMO,SAAS34C,gBAAgBo3C,EAAQ7H,UAE/C,CACDx9D,IAAK,eACLwB,MAAO,SAAsB6N,EAAOhO,GAClC,IAAIgxB,EAAO3yB,KAAKqtE,QAAQ19D,EAAOhO,GAE3B00E,EAAgBr2E,KAAKwpE,OAAO5gD,KAAKjZ,EAAQhO,GACzC20E,EAAgBxO,EAAeuO,EAAe,GAC9CztD,EAAO0tD,EAAc,GACrB1pD,EAAS0pD,EAAc,GAEvBC,EAAe,EACfC,EAAS,IAAI/Q,EAAa3H,QAClB,MAARl1C,IAIA2tD,EAHI3tD,aAAgB8rD,EAAO5W,QAGZl1C,EAAKkrD,aAAalnD,GAAUA,EAAS,EAFrChE,EAAKjnB,SAAWirB,EAIjC4pD,EAAS5tD,EAAKrmB,QAAQuG,MAAM8jB,EAAQA,EAAS2pD,EAAe,GAAGlV,OAAO,OAExE,IACIx+D,EADW7C,KAAK+sE,YAAYp9D,EAAOhO,EAAS40E,GAC5B1zE,MAAK,IAAI4iE,EAAa3H,SAAUuD,OAAO1uC,GAAM1mB,OAAOuqE,IACpEj0E,GAAQ,IAAIkjE,EAAa3H,SAAUyD,OAAO5xD,GAAO1D,OAAOpJ,GAC5D,OAAO7C,KAAKyuE,WAAWlsE,KAExB,CACDjC,IAAK,SACLwB,MAAO,SAAgB08B,GACrB,IAAIgsC,EAAY/kE,UAAU9D,OAAS,QAAsBqI,IAAjBvE,UAAU,GAAmBA,UAAU,GAAK,GAChFgxE,EAAchxE,UAAU9D,OAAS,QAAsBqI,IAAjBvE,UAAU,GAAmBA,UAAU,QAAKuE,EAElF0lE,EAAW1vE,KAAKuC,MACpB,GAAyB,IAArBioE,EAAU7oE,QAAsC,kBAAtB6oE,EAAU,GAAG37D,MAA4B27D,EAAU,GAAGz7D,OAAO+S,KAAK3b,MAAM4uE,IAAUrP,EAAY5H,QAAQG,KAAKuM,EAAU,GAAGz7D,QAAS,CAE7J,IAAI2nE,EAAWhR,EAAY5H,QAAQG,KAAKuM,EAAU,GAAGz7D,QACjD8lC,GAAU,EAAI+/B,EAAOhQ,eAAe8R,GACpC/mE,EAAQ+mE,EAAS9pD,OAAO5sB,KAAKwpE,QAC7BmN,EAAWnM,EAAU,GAAGmM,SAASzD,QAAQyB,EAAS7W,QAAQ8Y,SAAU,IACpEC,GAAU,IAAIpR,EAAa3H,SAAUuD,OAAOsV,GAC5CG,GAAU,IAAIrR,EAAa3H,SAAUuD,OAAOqV,EAAS50E,SACrDi1E,GAAY,IAAItR,EAAa3H,SAAUyD,OAAO5xD,GAAO1D,OAAO4qE,EAAQh0E,KAAKi0E,EAASL,IACtFj4C,EAASu4C,EAAU5qC,QAAO,SAAU5pC,EAAOy+D,GACzC,OAAIA,EAAGK,OACE9+D,EAAM8+D,OAAOL,EAAGK,OAAQxsB,GAExBtyC,EAAM4Y,KAAK6lD,KAEnB,IAAIyE,EAAa3H,SACpB99D,KAAKuC,MAAQmtE,EAASrN,QAAQ7jC,QAE9Bx+B,KAAKuC,MAAQvC,KAAKi1E,WACbz2C,IAAW,EAAIs2C,EAAYhX,SAAS4R,EAASrN,QAAQ7jC,GAASx+B,KAAKuC,SACtEi8B,EAASkxC,EAAS7sE,KAAK7C,KAAKuC,MAAOk0E,IAGvC,OAAOj4C,MAIJw2C,EAlQI,GAqQb,SAASoB,EAAevhC,EAASmiC,GAC/B,OAAOp1E,OAAOgG,KAAKovE,GAAU7qC,QAAO,SAAU8qC,EAAQhsE,GACpD,OAAqB,MAAjB4pC,EAAQ5pC,GAAsBgsE,GAC9BD,EAAS/rE,KAAU4pC,EAAQ5pC,GAC7BgsE,EAAOhsE,GAAQ+rE,EAAS/rE,GACfrC,MAAMwH,QAAQ4mE,EAAS/rE,IAC5B+rE,EAAS/rE,GAAMkI,QAAQ0hC,EAAQ5pC,IAAS,IAC1CgsE,EAAOhsE,GAAQ+rE,EAAS/rE,GAAMgB,OAAO,CAAC4oC,EAAQ5pC,MAGhDgsE,EAAOhsE,GAAQ,CAAC+rE,EAAS/rE,GAAO4pC,EAAQ5pC,IAEnCgsE,KACN,IA2BL13E,EAAQu+D,QAAUkX,GAIZ,SAAUx1E,EAAQD,EAASq9D,GAEjC,aAGAh7D,OAAOC,eAAetC,EAAS,aAAc,CAC3CuC,OAAO,IAETvC,EAAQu+D,QAAUv+D,EAAQqvE,WAAQ5kE,EAElC,IAAI89D,EAAgb,SAAUxtB,EAAKx2C,GAAK,GAAI8E,MAAMwH,QAAQkqC,GAAQ,OAAOA,EAAY,GAAIutB,OAAO3F,YAAYtgE,OAAO04C,GAAQ,OAAxf,SAAuBA,EAAKx2C,GAAK,IAAIikE,EAAO,GAAQC,GAAK,EAAUC,GAAK,EAAWC,OAAKl+D,EAAW,IAAM,IAAK,IAAiCm+D,EAA7B1H,EAAKnmB,EAAIutB,OAAO3F,cAAmB8F,GAAMG,EAAK1H,EAAG5wC,QAAQu4C,QAAoBL,EAAK5sD,KAAKgtD,EAAGrmE,QAAYgC,GAAKikE,EAAKpmE,SAAWmC,GAA3DkkE,GAAK,IAAoE,MAAOK,GAAOJ,GAAK,EAAMC,EAAKG,EAAO,QAAU,KAAWL,GAAMvH,EAAW,QAAGA,EAAW,SAAO,QAAU,GAAIwH,EAAI,MAAMC,GAAQ,OAAOH,EAA6HO,CAAchuB,EAAKx2C,GAAa,MAAM,IAAIkiE,UAAU,yDAEllBnB,EAAe,WAAc,SAASC,EAAiB/1D,EAAQyuB,GAAS,IAAK,IAAI15B,EAAI,EAAGA,EAAI05B,EAAM77B,OAAQmC,IAAK,CAAE,IAAIghC,EAAatH,EAAM15B,GAAIghC,EAAWvhB,WAAauhB,EAAWvhB,aAAc,EAAOuhB,EAAWxhB,cAAe,EAAU,UAAWwhB,IAAYA,EAAWw/B,UAAW,GAAM1iE,OAAOC,eAAekN,EAAQ+1B,EAAWxkC,IAAKwkC,IAAiB,OAAO,SAAUigC,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYF,EAAiBC,EAAYl8D,UAAWm8D,GAAiBC,GAAaH,EAAiBC,EAAaE,GAAqBF,GAA7gB,GAIfW,EAAcF,EAFD5I,EAAoB,IAMjCiY,EAAUrP,EAFD5I,EAAoB,KAM7BkY,EAActP,EAFD5I,EAAoB,KAMjC4L,EAAYhD,EAFA5I,EAAoB,IAQpC,SAAS4I,EAAuBr6D,GAAO,OAAOA,GAAOA,EAAI6xD,WAAa7xD,EAAM,CAAE2yD,QAAS3yD,GAEvF,SAAS+rE,EAAmB58B,GAAO,GAAI1xC,MAAMwH,QAAQkqC,GAAM,CAAE,IAAK,IAAIx2C,EAAI,EAAGqzE,EAAOvuE,MAAM0xC,EAAI34C,QAASmC,EAAIw2C,EAAI34C,OAAQmC,IAAOqzE,EAAKrzE,GAAKw2C,EAAIx2C,GAAM,OAAOqzE,EAAe,OAAOvuE,MAAM1B,KAAKozC,GAE1L,SAASwrB,EAAgBC,EAAUhB,GAAe,KAAMgB,aAAoBhB,GAAgB,MAAM,IAAIiB,UAAU,qCAEhH,IAAI+C,GAAQ,EARGvD,EAFD5I,EAAoB,KAUTkB,SAAS,mBAE9B8Q,EAAQ,SAASA,EAAMj/D,GACzB,IAAIhO,EAAS8D,UAAU9D,OAAS,QAAsBqI,IAAjBvE,UAAU,GAAmBA,UAAU,GAAK,EAEjFqgE,EAAgB9lE,KAAM4uE,GAEtB5uE,KAAK2P,MAAQA,EACb3P,KAAK2B,OAASA,GAGZy1E,EAAY,WACd,SAASA,EAAU5N,EAAQD,GACzB,IAAIhK,EAAQv/D,KAEZ8lE,EAAgB9lE,KAAMo3E,GAEtBp3E,KAAKupE,QAAUA,EACfvpE,KAAKwpE,OAASA,EACdxpE,KAAKq3E,WAAY,EACjBr3E,KAAKs3E,WAAY,EACjBt3E,KAAK0gC,KAAO1gC,KAAKwpE,OAAOpT,QACxBp2D,KAAKg0D,OAAS0R,EAAY5H,QAAQE,OAAO,SAAUh+D,MAEnDA,KAAKyqE,UAAYzqE,KAAKu3E,WAAa,IAAI3I,EAAM,EAAG,GAChD5uE,KAAKw3E,oBACLx3E,KAAKy3E,iBACLz3E,KAAKupE,QAAQmO,UAAU,kBAAmBxlD,UAAU,WAC7CqtC,EAAM+X,WACTzd,WAAW0F,EAAMv7C,OAAO4e,KAAK28B,EAAOiJ,EAAU1K,QAAQ9rD,QAAQ68D,MAAO,MAGzE7uE,KAAKupE,QAAQW,GAAG1B,EAAU1K,QAAQ5tB,OAAOi6B,eAAe,SAAUt7D,EAAMtM,GAClEsM,IAAS25D,EAAU1K,QAAQ5tB,OAAOk6B,aAAe7nE,EAAMZ,SAAW,GACpE49D,EAAMv7C,OAAOwkD,EAAU1K,QAAQ9rD,QAAQm6D,WAG3CnsE,KAAKupE,QAAQW,GAAG1B,EAAU1K,QAAQ5tB,OAAOwhC,sBAAsB,WAC7D,GAAKnS,EAAM+N,WAAX,CACA,IAAIxzC,EAASylC,EAAMoY,iBACL,MAAV79C,GACAA,EAAOlc,MAAMpV,OAAS+2D,EAAMvL,OAAO4jB,UAEvCrY,EAAMgK,QAAQyE,KAAKxF,EAAU1K,QAAQ5tB,OAAOq6B,eAAe,WACzD,IACEhL,EAAMsY,eAAe/9C,EAAOlc,MAAMpV,KAAMsxB,EAAOlc,MAAMgP,OAAQkN,EAAO1K,IAAI5mB,KAAMsxB,EAAO1K,IAAIxC,QACzF,MAAOkrD,YAGb93E,KAAKupE,QAAQW,GAAG1B,EAAU1K,QAAQ5tB,OAAOyhC,iBAAiB,SAAUnH,EAAW1vD,GAC7E,GAAIA,EAAQ6U,MAAO,CACjB,IAAIooD,EAAiBj9D,EAAQ6U,MAM7B4vC,EAAMsY,eALUE,EAAeC,UACbD,EAAeE,YACnBF,EAAeG,QACbH,EAAeI,eAKnCn4E,KAAKgkB,OAAOwkD,EAAU1K,QAAQ9rD,QAAQm6D,QA8WxC,OA3WAtH,EAAauS,EAAW,CAAC,CACvB92E,IAAK,oBACLwB,MAAO,WACL,IAAIilE,EAAS/mE,KAEbA,KAAK0gC,KAAKf,iBAAiB,oBAAoB,WAC7ConC,EAAOsQ,WAAY,KAErBr3E,KAAK0gC,KAAKf,iBAAiB,kBAAkB,WAE3C,GADAonC,EAAOsQ,WAAY,EACftQ,EAAO/S,OAAOxsD,OAAQ,CACxB,IAAImoB,EAAQo3C,EAAO/S,OAAOn8C,UAC1B,IAAK8X,EAAO,OACZkqC,YAAW,WACTkN,EAAO8Q,eAAeloD,EAAMqoD,UAAWroD,EAAMsoD,YAAatoD,EAAMuoD,QAASvoD,EAAMwoD,aAC9E,SAIR,CACD73E,IAAK,iBACLwB,MAAO,WACL,IAAIwpE,EAAStrE,KAEbA,KAAKupE,QAAQmO,UAAU,YAAaxlD,SAAS6Z,MAAM,WACjDu/B,EAAOgM,WAAY,KAErBt3E,KAAKupE,QAAQmO,UAAU,UAAWxlD,SAAS6Z,MAAM,WAC/Cu/B,EAAOgM,WAAY,EACnBhM,EAAOtnD,OAAOwkD,EAAU1K,QAAQ9rD,QAAQ68D,WAG3C,CACDvuE,IAAK,QACLwB,MAAO,WACD9B,KAAKstE,aACTttE,KAAK0gC,KAAKirC,QACV3rE,KAAKqrE,SAASrrE,KAAKu3E,eAEpB,CACDj3E,IAAK,SACLwB,MAAO,SAAgBs2E,EAASt2E,GAC9B,GAA6B,MAAzB9B,KAAKwpE,OAAOC,WAAsBzpE,KAAKwpE,OAAOC,UAAU2O,GAA5D,CACAp4E,KAAKwpE,OAAOxlD,SACZ,IAAIq0D,EAAcr4E,KAAK23E,iBACvB,GAAmB,MAAfU,GAAwBA,EAAYv+C,OAAOw+C,YAAa5S,EAAY5H,QAAQI,MAAMka,EAAS1S,EAAY5H,QAAQC,MAAMgC,OAAzH,CACA,GAAIsY,EAAYz6D,MAAMpV,OAASxI,KAAKg0D,OAAO4jB,SAAU,CACnD,IAAIrX,EAAOmF,EAAY5H,QAAQG,KAAKoa,EAAYz6D,MAAMpV,MAAM,GAC5D,GAAY,MAAR+3D,EAAc,OAElB,GAAIA,aAAgBmF,EAAY5H,QAAQO,KAAM,CAC5C,IAAIxzB,EAAQ01B,EAAKl6D,MAAMgyE,EAAYz6D,MAAMgP,QACzC2zC,EAAK/4D,OAAOk8B,aAAa1jC,KAAKg0D,OAAQnpB,QAEtC01B,EAAK78B,aAAa1jC,KAAKg0D,OAAQqkB,EAAYz6D,MAAMpV,MAEnDxI,KAAKg0D,OAAOukB,SAEdv4E,KAAKg0D,OAAOjf,OAAOqjC,EAASt2E,GAC5B9B,KAAKwpE,OAAO8K,WACZt0E,KAAK63E,eAAe73E,KAAKg0D,OAAO4jB,SAAU53E,KAAKg0D,OAAO4jB,SAAS91D,KAAKngB,QACpE3B,KAAKgkB,aAEN,CACD1jB,IAAK,YACLwB,MAAO,SAAmB6N,GACxB,IAAIhO,EAAS8D,UAAU9D,OAAS,QAAsBqI,IAAjBvE,UAAU,GAAmBA,UAAU,GAAK,EAE7E0vE,EAAen1E,KAAKwpE,OAAO7nE,SAC/BgO,EAAQtN,KAAKD,IAAIuN,EAAOwlE,EAAe,GACvCxzE,EAASU,KAAKD,IAAIuN,EAAQhO,EAAQwzE,EAAe,GAAKxlE,EACtD,IAAInH,OAAO,EACPgwE,EAAex4E,KAAKwpE,OAAOvC,KAAKt3D,GAChC8oE,EAAgB3Q,EAAe0Q,EAAc,GAC7CvR,EAAOwR,EAAc,GACrB7rD,EAAS6rD,EAAc,GAC3B,GAAY,MAARxR,EAAc,OAAO,KAEzB,IAAIyR,EAAiBzR,EAAKr2C,SAAShE,GAAQ,GAEvC+rD,EAAkB7Q,EAAe4Q,EAAgB,GAErDlwE,EAAOmwE,EAAgB,GACvB/rD,EAAS+rD,EAAgB,GAEzB,IAAIhpD,EAAQuC,SAAS0mD,cACrB,GAAIj3E,EAAS,EAAG,CACdguB,EAAMkpD,SAASrwE,EAAMokB,GAErB,IAAIksD,EAAgB94E,KAAKwpE,OAAOvC,KAAKt3D,EAAQhO,GAEzCo3E,EAAgBjR,EAAegR,EAAe,GAKlD,GAAY,OAHZ7R,EAAO8R,EAAc,IAGH,OAAO,KAEzB,IAAIC,EAAkB/R,EAAKr2C,SAJ3BhE,EAASmsD,EAAc,IAIqB,GAExCE,EAAkBnR,EAAekR,EAAiB,GAMtD,OADArpD,EAAMupD,OAHN1wE,EAAOywE,EAAgB,GACvBrsD,EAASqsD,EAAgB,IAGlBtpD,EAAMuqC,wBAEb,IAAIif,EAAO,OACPliE,OAAO,EAeX,OAdIzO,aAAgBk2D,MACd9xC,EAASpkB,EAAKsZ,KAAKngB,QACrBguB,EAAMkpD,SAASrwE,EAAMokB,GACrB+C,EAAMupD,OAAO1wE,EAAMokB,EAAS,KAE5B+C,EAAMkpD,SAASrwE,EAAMokB,EAAS,GAC9B+C,EAAMupD,OAAO1wE,EAAMokB,GACnBusD,EAAO,SAETliE,EAAO0Y,EAAMuqC,0BAEbjjD,EAAOgwD,EAAK7Q,QAAQ8D,wBAChBttC,EAAS,IAAGusD,EAAO,UAElB,CACLtiE,OAAQI,EAAKN,IAAMM,EAAKV,OACxBA,OAAQU,EAAKV,OACbG,KAAMO,EAAKkiE,GACXviE,MAAOK,EAAKkiE,GACZxiE,IAAKM,EAAKN,IACVL,MAAO,KAIZ,CACDhW,IAAK,iBACLwB,MAAO,WACL,IAAI6nE,EAAYz3C,SAAS65C,eACzB,GAAiB,MAAbpC,GAAqBA,EAAUyP,YAAc,EAAG,OAAO,KAC3D,IAAIf,EAAc1O,EAAU0P,WAAW,GACvC,GAAmB,MAAfhB,EAAqB,OAAO,KAChC,IAAI1oD,EAAQ3vB,KAAKs5E,gBAAgBjB,GAEjC,OADAtP,EAAMhuD,KAAK,iBAAkB4U,GACtBA,IAER,CACDrvB,IAAK,WACLwB,MAAO,WACL,IAAIy3E,EAAav5E,KAAK23E,iBACtB,OAAkB,MAAd4B,EAA2B,CAAC,KAAM,MAE/B,CADKv5E,KAAKw5E,kBAAkBD,GACpBA,KAEhB,CACDj5E,IAAK,WACLwB,MAAO,WACL,OAAOowB,SAASunD,gBAAkBz5E,KAAK0gC,OAExC,CACDpgC,IAAK,oBACLwB,MAAO,SAA2B6tB,GAChC,IAAIk8C,EAAS7rE,KAET05E,EAAY,CAAC,CAAC/pD,EAAM/R,MAAMpV,KAAMmnB,EAAM/R,MAAMgP,SAC3C+C,EAAMmK,OAAOw+C,WAChBoB,EAAUv+D,KAAK,CAACwU,EAAMP,IAAI5mB,KAAMmnB,EAAMP,IAAIxC,SAE5C,IAAI+sD,EAAUD,EAAUpzE,KAAI,SAAUsqB,GACpC,IAAIgpD,EAAY9R,EAAel3C,EAAU,GACrCpoB,EAAOoxE,EAAU,GACjBhtD,EAASgtD,EAAU,GAEnBrZ,EAAOmF,EAAY5H,QAAQG,KAAKz1D,GAAM,GACtCmH,EAAQ4wD,EAAK3zC,OAAOi/C,EAAOrC,QAC/B,OAAe,IAAX58C,EACKjd,EACE4wD,aAAgBmF,EAAY5H,QAAQK,UACtCxuD,EAAQ4wD,EAAK5+D,SAEbgO,EAAQ4wD,EAAK5wD,MAAMnH,EAAMokB,MAGhCwC,EAAM/sB,KAAKD,IAAIC,KAAKC,IAAIwO,MAAMzO,KAAM60E,EAAmByC,IAAW35E,KAAKwpE,OAAO7nE,SAAW,GACzFic,EAAQvb,KAAKD,IAAI0O,MAAMzO,KAAM,CAAC+sB,GAAKnjB,OAAOirE,EAAmByC,KACjE,OAAO,IAAI/K,EAAMhxD,EAAOwR,EAAMxR,KAE/B,CACDtd,IAAK,kBACLwB,MAAO,SAAyBu2E,GAC9B,IAAKvK,EAAS9tE,KAAK0gC,KAAM23C,EAAYwB,kBAAoBxB,EAAYC,YAAcxK,EAAS9tE,KAAK0gC,KAAM23C,EAAYyB,cACjH,OAAO,KAET,IAAInqD,EAAQ,CACV/R,MAAO,CAAEpV,KAAM6vE,EAAYwB,eAAgBjtD,OAAQyrD,EAAYJ,aAC/D7oD,IAAK,CAAE5mB,KAAM6vE,EAAYyB,aAAcltD,OAAQyrD,EAAYF,WAC3Dr+C,OAAQu+C,GAkBV,MAhBA,CAAC1oD,EAAM/R,MAAO+R,EAAMP,KAAKvnB,SAAQ,SAAU+oB,GAGzC,IAFA,IAAIpoB,EAAOooB,EAASpoB,KAChBokB,EAASgE,EAAShE,SACbpkB,aAAgBk2D,OAASl2D,EAAKuxE,WAAWp4E,OAAS,GACzD,GAAI6G,EAAKuxE,WAAWp4E,OAASirB,EAC3BpkB,EAAOA,EAAKuxE,WAAWntD,GACvBA,EAAS,MACJ,IAAIpkB,EAAKuxE,WAAWp4E,SAAWirB,EAIpC,MAFAA,GADApkB,EAAOA,EAAKwxE,qBACatb,KAAOl2D,EAAKsZ,KAAKngB,OAAS6G,EAAKuxE,WAAWp4E,OAAS,EAKhFivB,EAASpoB,KAAOA,EAAMooB,EAAShE,OAASA,KAEnC+C,IAER,CACDrvB,IAAK,gBACLwB,MAAO,SAAuB6tB,GAC5B,IAAIy8C,EAASpsE,KAET25E,EAAUhqD,EAAM2oD,UAAY,CAAC3oD,EAAMhgB,OAAS,CAACggB,EAAMhgB,MAAOggB,EAAMhgB,MAAQggB,EAAMhuB,QAC9E6D,EAAO,GACP2vE,EAAen1E,KAAKwpE,OAAO7nE,SAoB/B,OAnBAg4E,EAAQ9xE,SAAQ,SAAU8H,EAAO7L,GAC/B6L,EAAQtN,KAAKD,IAAI+yE,EAAe,EAAGxlE,GACnC,IACIsqE,EAAgB7N,EAAO5C,OAAOvC,KAAKt3D,GACnCuqE,EAAgBpS,EAAemS,EAAe,GAE9CrtD,EAASstD,EAAc,GACvBC,EAFOD,EAAc,GAEEtpD,SAAShE,EAAc,IAAN9oB,GAExCs2E,EAAkBtS,EAAeqS,EAAiB,GAKtD30E,EAAK2V,KAHEi/D,EAAgB,GACvBxtD,EAASwtD,EAAgB,OAIvB50E,EAAK7D,OAAS,IAChB6D,EAAOA,EAAKyG,OAAOzG,IAEdA,IAER,CACDlF,IAAK,iBACLwB,MAAO,SAAwBwnE,GAC7B,IAAI35C,EAAQ3vB,KAAKyqE,UACjB,GAAa,MAAT96C,EAAJ,CACA,IAAIrE,EAAStrB,KAAK0sE,UAAU/8C,EAAMhgB,MAAOggB,EAAMhuB,QAC/C,GAAc,MAAV2pB,EAAJ,CACA,IAAI0/C,EAAQhrE,KAAKwpE,OAAO7nE,SAAW,EAE/B6zE,EAAex1E,KAAKwpE,OAAO5gD,KAAKvmB,KAAKD,IAAIutB,EAAMhgB,MAAOq7D,IAEtDpuB,EADgBkrB,EAAe0N,EAAc,GACvB,GAEtB9mD,EAAOkuB,EACX,GAAIjtB,EAAMhuB,OAAS,EAAG,CACpB,IAAI00E,EAAgBr2E,KAAKwpE,OAAO5gD,KAAKvmB,KAAKD,IAAIutB,EAAMhgB,MAAQggB,EAAMhuB,OAAQqpE,IAI1Et8C,EAFoBo5C,EAAeuO,EAAe,GAE7B,GAEvB,GAAa,MAATz5B,GAAyB,MAARluB,EAArB,CACA,IAAI2rD,EAAe/Q,EAAmBpP,wBAClC5uC,EAAO3U,IAAM0jE,EAAa1jE,IAC5B2yD,EAAmB5mC,WAAa23C,EAAa1jE,IAAM2U,EAAO3U,IACjD2U,EAAOzU,OAASwjE,EAAaxjE,SACtCyyD,EAAmB5mC,WAAapX,EAAOzU,OAASwjE,EAAaxjE,aAGhE,CACDvW,IAAK,iBACLwB,MAAO,SAAwBk2E,EAAWC,GACxC,IAAIC,EAAUzyE,UAAU9D,OAAS,QAAsBqI,IAAjBvE,UAAU,GAAmBA,UAAU,GAAKuyE,EAC9EG,EAAY1yE,UAAU9D,OAAS,QAAsBqI,IAAjBvE,UAAU,GAAmBA,UAAU,GAAKwyE,EAChF3Q,EAAQ7hE,UAAU9D,OAAS,QAAsBqI,IAAjBvE,UAAU,IAAmBA,UAAU,GAG3E,GADAsjE,EAAMhuD,KAAK,iBAAkBi9D,EAAWC,EAAaC,EAASC,GAC7C,MAAbH,GAA8C,MAAxBh4E,KAAK0gC,KAAKsC,YAA8C,MAAxBg1C,EAAUh1C,YAA4C,MAAtBk1C,EAAQl1C,WAAlG,CAGA,IAAI2mC,EAAYz3C,SAAS65C,eACzB,GAAiB,MAAbpC,EACJ,GAAiB,MAAbqO,EAAmB,CAChBh4E,KAAKstE,YAAYttE,KAAK0gC,KAAKirC,QAChC,IAAI7xC,GAAU95B,KAAK23E,kBAAoB,IAAI79C,OAC3C,GAAc,MAAVA,GAAkBwtC,GAAS0Q,IAAcl+C,EAAO+/C,gBAAkB5B,IAAgBn+C,EAAOm+C,aAAeC,IAAYp+C,EAAOggD,cAAgB3B,IAAcr+C,EAAOq+C,UAAW,CAEpJ,MAArBH,EAAU7X,UACZ8X,EAAc,GAAG9kE,QAAQpK,KAAKivE,EAAUh1C,WAAW+2C,WAAY/B,GAC/DA,EAAYA,EAAUh1C,YAED,MAAnBk1C,EAAQ/X,UACVgY,EAAY,GAAGhlE,QAAQpK,KAAKmvE,EAAQl1C,WAAW+2C,WAAY7B,GAC3DA,EAAUA,EAAQl1C,YAEpB,IAAIrT,EAAQuC,SAAS0mD,cACrBjpD,EAAMkpD,SAASb,EAAWC,GAC1BtoD,EAAMupD,OAAOhB,EAASC,GACtBxO,EAAU2Q,kBACV3Q,EAAU4Q,SAAS5qD,SAGrBg6C,EAAU2Q,kBACVt6E,KAAK0gC,KAAK85C,OACVtoD,SAAS6Z,KAAK4/B,WAGjB,CACDrrE,IAAK,WACLwB,MAAO,SAAkB6tB,GACvB,IAAI23C,EAAQ7hE,UAAU9D,OAAS,QAAsBqI,IAAjBvE,UAAU,IAAmBA,UAAU,GACvEqJ,EAASrJ,UAAU9D,OAAS,QAAsBqI,IAAjBvE,UAAU,GAAmBA,UAAU,GAAK+iE,EAAU1K,QAAQ9rD,QAAQ85D,IAO3G,GALqB,iBAAVxE,IACTx4D,EAASw4D,EACTA,GAAQ,GAEVyB,EAAMhuD,KAAK,WAAY4U,GACV,MAATA,EAAe,CACjB,IAAInqB,EAAOxF,KAAKy6E,cAAc9qD,GAC9B3vB,KAAK63E,eAAe/mE,MAAM9Q,KAAMk3E,EAAmB1xE,GAAMyG,OAAO,CAACq7D,UAEjEtnE,KAAK63E,eAAe,MAEtB73E,KAAKgkB,OAAOlV,KAEb,CACDxO,IAAK,SACLwB,MAAO,WACL,IAAIgN,EAASrJ,UAAU9D,OAAS,QAAsBqI,IAAjBvE,UAAU,GAAmBA,UAAU,GAAK+iE,EAAU1K,QAAQ9rD,QAAQ68D,KAEvG6L,EAAW16E,KAAKyqE,UAEhBkQ,EAAY36E,KAAKktE,WACjB0N,EAAa9S,EAAe6S,EAAW,GACvClQ,EAAYmQ,EAAW,GACvBvC,EAAcuC,EAAW,GAM7B,GAJA56E,KAAKyqE,UAAYA,EACK,MAAlBzqE,KAAKyqE,YACPzqE,KAAKu3E,WAAav3E,KAAKyqE,aAEpB,EAAIqK,EAAYhX,SAAS4c,EAAU16E,KAAKyqE,WAAY,CACvD,IAAImF,GAEC5vE,KAAKq3E,WAA4B,MAAfgB,GAAuBA,EAAYv+C,OAAOw+C,WAAaD,EAAYz6D,MAAMpV,OAASxI,KAAKg0D,OAAO4jB,UACnH53E,KAAKg0D,OAAOn8C,UAEd,IAGMg4D,EAHFrqE,EAAO,CAACgjE,EAAU1K,QAAQ5tB,OAAO0hC,kBAAkB,EAAIiD,EAAQ/W,SAAS99D,KAAKyqE,YAAY,EAAIoK,EAAQ/W,SAAS4c,GAAW5rE,IAC5H8gE,EAAW5vE,KAAKupE,SAASuG,KAAKh/D,MAAM8+D,EAAU,CAACpH,EAAU1K,QAAQ5tB,OAAOi6B,eAAel+D,OAAOzG,IAC3FsJ,IAAW05D,EAAU1K,QAAQ9rD,QAAQm6D,SAGtC0D,EAAY7vE,KAAKupE,SAASuG,KAAKh/D,MAAM++D,EAAWrqE,QAMlD4xE,EA/ZO,GAkahB,SAAStJ,EAAStmE,EAAQmsE,GAYxB,OAHIA,aAAsBjV,OACxBiV,EAAaA,EAAW3wC,YAEnBx7B,EAAOsmE,SAAS6F,GAGzBp0E,EAAQqvE,MAAQA,EAChBrvE,EAAQu+D,QAAUsZ,GAIZ,SAAU53E,EAAQD,EAASq9D,GAEjC,aAGAh7D,OAAOC,eAAetC,EAAS,aAAc,CAC3CuC,OAAO,IAGT,IAQgCqJ,EAR5B05D,EAAe,WAAc,SAASC,EAAiB/1D,EAAQyuB,GAAS,IAAK,IAAI15B,EAAI,EAAGA,EAAI05B,EAAM77B,OAAQmC,IAAK,CAAE,IAAIghC,EAAatH,EAAM15B,GAAIghC,EAAWvhB,WAAauhB,EAAWvhB,aAAc,EAAOuhB,EAAWxhB,cAAe,EAAU,UAAWwhB,IAAYA,EAAWw/B,UAAW,GAAM1iE,OAAOC,eAAekN,EAAQ+1B,EAAWxkC,IAAKwkC,IAAiB,OAAO,SAAUigC,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYF,EAAiBC,EAAYl8D,UAAWm8D,GAAiBC,GAAaH,EAAiBC,EAAaE,GAAqBF,GAA7gB,GAgBf8V,EAAQ,SAAUvU,GAGpB,SAASuU,IAGP,OAZJ,SAAyB9U,EAAUhB,GAAe,KAAMgB,aAAoBhB,GAAgB,MAAM,IAAIiB,UAAU,qCAU5GF,CAAgB9lE,KAAM66E,GAR1B,SAAoCh7E,EAAMkJ,GAAQ,IAAKlJ,EAAQ,MAAM,IAAIqmE,eAAe,6DAAgE,OAAOn9D,GAAyB,iBAATA,GAAqC,mBAATA,EAA8BlJ,EAAPkJ,EAUvNk9D,CAA2BjmE,MAAO66E,EAAMl8C,WAAa/8B,OAAO0jE,eAAeuV,IAAQ/pE,MAAM9Q,KAAMyF,YA6BxG,OArCF,SAAmB2gE,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIL,UAAU,kEAAoEK,GAAeD,EAASv9D,UAAYjH,OAAOo8D,OAAOqI,GAAcA,EAAWx9D,UAAW,CAAE6J,YAAa,CAAE5Q,MAAOskE,EAAU7iD,YAAY,EAAO+gD,UAAU,EAAMhhD,cAAc,KAAe+iD,IAAYzkE,OAAOs9D,eAAiBt9D,OAAOs9D,eAAekH,EAAUC,GAAcD,EAASznC,UAAY0nC,GAG/dF,CAAU0U,EAAOvU,GAQjBzB,EAAagW,EAAO,CAAC,CACnBv6E,IAAK,aACLwB,MAAO,SAAoB0F,EAAQ4/D,GACF,IAA3B5/D,EAAO0/D,SAASvlE,OA1Bf,SAASmd,EAAI6E,EAAQ6b,EAAU2lC,GAA2B,OAAXxhD,IAAiBA,EAASyhD,SAASv8D,WAAW,IAAIw8D,EAAOzjE,OAAOqiE,yBAAyBtgD,EAAQ6b,GAAW,QAAax1B,IAATq7D,EAAoB,CAAE,IAAI79D,EAAS5F,OAAO0jE,eAAe3hD,GAAS,OAAe,OAAXnc,OAAmB,EAAkCsX,EAAItX,EAAQg4B,EAAU2lC,GAAoB,GAAI,UAAWE,EAAQ,OAAOA,EAAKvjE,MAAgB,IAAIg7D,EAASuI,EAAKvmD,IAAK,YAAe9U,IAAX8yD,EAAmDA,EAAO/zD,KAAKo8D,QAAnE,EA2BjZD,CAAK2V,EAAMhyE,UAAU81B,WAAa/8B,OAAO0jE,eAAeuV,EAAMhyE,WAAY,aAAc7I,MAAM+I,KAAK/I,KAAMwH,EAAQ4/D,GAEjHpnE,KAAK6jC,WAGR,CACDvjC,IAAK,SACLwB,MAAO,WACL,OAAO,IAER,CACDxB,IAAK,QACLwB,MAAO,WACL,MAAO,MAEP,CAAC,CACHxB,IAAK,QACLwB,MAAO,gBAKF+4E,EAnCG,GARoB1vE,EAJfyxD,EAAoB,KAIgBzxD,EAAI6xD,WAAa7xD,EAAM,CAAE2yD,QAAS3yD,IA4CzE2yD,QAAQQ,OAEtBuc,EAAMla,SAAW,QACjBka,EAAM1a,QAAU,KAEhB5gE,EAAQu+D,QAAU+c,GAIZ,SAAUr7E,EAAQD,EAASq9D,GAEjC,aAEA,IACQoC,EADJC,EAAaj/D,MAAQA,KAAKi/D,YACtBD,EAAgBp9D,OAAOs9D,gBACtB,CAAEvgC,UAAW,cAAgB/1B,OAAS,SAAUw/B,EAAGjmC,GAAKimC,EAAEzJ,UAAYx8B,IACvE,SAAUimC,EAAGjmC,GAAK,IAAK,IAAIiC,KAAKjC,EAAOA,EAAElC,eAAemE,KAAIgkC,EAAEhkC,GAAKjC,EAAEiC,KAClE,SAAUgkC,EAAGjmC,GAEhB,SAASg9D,IAAOn/D,KAAK0S,YAAc01B,EADnC42B,EAAc52B,EAAGjmC,GAEjBimC,EAAEv/B,UAAkB,OAAN1G,EAAaP,OAAOo8D,OAAO77D,IAAMg9D,EAAGt2D,UAAY1G,EAAE0G,UAAW,IAAIs2D,KAGvFv9D,OAAOC,eAAetC,EAAS,aAAc,CAAEuC,OAAO,IACtD,IAAIg5E,EAAgBle,EAAoB,IACpCme,EAAWne,EAAoB,IAC/BiB,EAAWjB,EAAoB,GAC/Boe,EAA+B,SAAU3b,GAEzC,SAAS2b,EAAc5kB,GACnB,IAAImJ,EAAQF,EAAOt2D,KAAK/I,KAAMo2D,IAAYp2D,KAE1C,OADAu/D,EAAM0b,QACC1b,EAwNX,OA5NAN,EAAU+b,EAAe3b,GAMzB2b,EAAcnyE,UAAUwpB,YAAc,SAAUiwC,GAC5CtiE,KAAK0jC,aAAa4+B,IAEtB0Y,EAAcnyE,UAAU0vE,OAAS,WAC7BlZ,EAAOx2D,UAAU0vE,OAAOxvE,KAAK/I,MAC7BA,KAAKknE,SAASr/D,SAAQ,SAAUw/D,GAC5BA,EAAMkR,aAGdyC,EAAcnyE,UAAUoyE,MAAQ,WAC5B,IAAI1b,EAAQv/D,KACZA,KAAKknE,SAAW,IAAI4T,EAAchd,QAElC,GAAGh1D,MACEC,KAAK/I,KAAKo2D,QAAQ2jB,YAClB9oE,UACApJ,SAAQ,SAAUW,GACnB,IACI,IAAI6+D,EAAQ6T,EAAS1yE,GACrB+2D,EAAM77B,aAAa2jC,EAAO9H,EAAM2H,SAAS34C,WAAQvkB,GAErD,MAAOq+D,GACH,GAAIA,aAAexK,EAASuB,eACxB,OAEA,MAAMiJ,OAItB2S,EAAcnyE,UAAU+qE,SAAW,SAAUjkE,EAAOhO,GAChD,GAAc,IAAVgO,GAAehO,IAAW3B,KAAK2B,SAC/B,OAAO3B,KAAK6jC,SAEhB7jC,KAAKknE,SAASiU,UAAUxrE,EAAOhO,GAAQ,SAAU0lE,EAAOz6C,EAAQjrB,GAC5D0lE,EAAMuM,SAAShnD,EAAQjrB,OAG/Bq5E,EAAcnyE,UAAU8qE,WAAa,SAAUyH,EAAUzrE,GACrD,IAAI0rE,EAAKr7E,KAAKknE,SAASjJ,KAAKtuD,GAAQ03D,EAAQgU,EAAG,GAAIzuD,EAASyuD,EAAG,GAC/D,OAA0B,MAArBD,EAASza,UAAoBya,EAAS/T,IACjB,MAArB+T,EAASza,UAAoB0G,aAAiB+T,EACxC,CAAC/T,EAAOz6C,GAEVy6C,aAAiB2T,EACf3T,EAAMsM,WAAWyH,EAAUxuD,GAG3B,CAAC,MAAO,IAGvBouD,EAAcnyE,UAAUm+D,YAAc,SAAUoU,EAAUzrE,EAAOhO,QAC/C,IAAVgO,IAAoBA,EAAQ,QACjB,IAAXhO,IAAqBA,EAAS6O,OAAOy8D,WACzC,IAAIjG,EAAc,GACdsU,EAAa35E,EAWjB,OAVA3B,KAAKknE,SAASiU,UAAUxrE,EAAOhO,GAAQ,SAAU0lE,EAAO13D,EAAOhO,IACjC,MAArBy5E,EAASza,UAAoBya,EAAS/T,IACjB,MAArB+T,EAASza,UAAoB0G,aAAiB+T,IAC/CpU,EAAY7rD,KAAKksD,GAEjBA,aAAiB2T,IACjBhU,EAAcA,EAAY/6D,OAAOo7D,EAAML,YAAYoU,EAAUzrE,EAAO2rE,KAExEA,GAAc35E,KAEXqlE,GAEXgU,EAAcnyE,UAAU0yE,OAAS,WAC7Bv7E,KAAKknE,SAASr/D,SAAQ,SAAUw/D,GAC5BA,EAAMkU,YAEVlc,EAAOx2D,UAAU0yE,OAAOxyE,KAAK/I,OAEjCg7E,EAAcnyE,UAAUorE,SAAW,SAAUtkE,EAAOhO,EAAQsJ,EAAMnJ,GAC9D9B,KAAKknE,SAASiU,UAAUxrE,EAAOhO,GAAQ,SAAU0lE,EAAOz6C,EAAQjrB,GAC5D0lE,EAAM4M,SAASrnD,EAAQjrB,EAAQsJ,EAAMnJ,OAG7Ck5E,EAAcnyE,UAAU+9D,SAAW,SAAUj3D,EAAO7N,EAAO2kE,GACvD,IAAI4U,EAAKr7E,KAAKknE,SAASjJ,KAAKtuD,GAAQ03D,EAAQgU,EAAG,GAC/C,GAAIhU,EACAA,EAAMT,SAFkDyU,EAAG,GAEpCv5E,EAAO2kE,OAE7B,CACD,IAAIlG,EAAc,MAAPkG,EAAc5I,EAASG,OAAO,OAAQl8D,GAAS+7D,EAASG,OAAOl8D,EAAO2kE,GACjFzmE,KAAKqyB,YAAYkuC,KAGzBya,EAAcnyE,UAAU66B,aAAe,SAAU83C,EAAWC,GACxD,GAAoC,MAAhCz7E,KAAKunE,QAAQE,kBACZznE,KAAKunE,QAAQE,gBAAgBiU,MAAK,SAAUrU,GACzC,OAAOmU,aAAqBnU,KAEhC,MAAM,IAAIxJ,EAASuB,eAAe,iBAAmBoc,EAAUjU,QAAQ5G,SAAW,SAAW3gE,KAAKunE,QAAQ5G,UAE9G6a,EAAUG,WAAW37E,KAAMy7E,IAE/BT,EAAcnyE,UAAUlH,OAAS,WAC7B,OAAO3B,KAAKknE,SAAS/6B,QAAO,SAAUyvC,EAAMvU,GACxC,OAAOuU,EAAOvU,EAAM1lE,WACrB,IAEPq5E,EAAcnyE,UAAU4nE,aAAe,SAAUoL,EAAczQ,GAC3DprE,KAAKknE,SAASr/D,SAAQ,SAAUw/D,GAC5BwU,EAAan4C,aAAa2jC,EAAO+D,OAGzC4P,EAAcnyE,UAAUyrE,SAAW,SAAUx5D,GAEzC,GADAukD,EAAOx2D,UAAUyrE,SAASvrE,KAAK/I,KAAM8a,GACR,IAAzB9a,KAAKknE,SAASvlE,OACd,GAAiC,MAA7B3B,KAAKunE,QAAQC,aAAsB,CACnC,IAAIH,EAAQxJ,EAASG,OAAOh+D,KAAKunE,QAAQC,cACzCxnE,KAAKqyB,YAAYg1C,GACjBA,EAAMiN,SAASx5D,QAGf9a,KAAK6jC,UAIjBm3C,EAAcnyE,UAAUtB,KAAO,SAAUoI,EAAOmsE,QAC1B,IAAdA,IAAwBA,GAAY,GACxC,IAAIT,EAAKr7E,KAAKknE,SAASjJ,KAAKtuD,EAAOmsE,GAAYzU,EAAQgU,EAAG,GAAIzuD,EAASyuD,EAAG,GACtEzqD,EAAW,CAAC,CAAC5wB,KAAM2P,IACvB,OAAI03D,aAAiB2T,EACVpqD,EAAS3kB,OAAOo7D,EAAM9/D,KAAKqlB,EAAQkvD,KAE5B,MAATzU,GACLz2C,EAASzV,KAAK,CAACksD,EAAOz6C,IAEnBgE,IAEXoqD,EAAcnyE,UAAUk7B,YAAc,SAAUsjC,GAC5CrnE,KAAKknE,SAASrjC,OAAOwjC,IAEzB2T,EAAcnyE,UAAUqqE,QAAU,SAAUnkE,GACpCA,aAAkBisE,GAClBjsE,EAAO0hE,aAAazwE,MAExBq/D,EAAOx2D,UAAUqqE,QAAQnqE,KAAK/I,KAAM+O,IAExCisE,EAAcnyE,UAAUxC,MAAQ,SAAUsJ,EAAO23D,GAE7C,QADc,IAAVA,IAAoBA,GAAQ,IAC3BA,EAAO,CACR,GAAc,IAAV33D,EACA,OAAO3P,KACX,GAAI2P,IAAU3P,KAAK2B,SACf,OAAO3B,KAAK6vB,KAEpB,IAAIgb,EAAQ7qC,KAAK4O,QAMjB,OALA5O,KAAKwH,OAAOk8B,aAAamH,EAAO7qC,KAAK6vB,MACrC7vB,KAAKknE,SAASiU,UAAUxrE,EAAO3P,KAAK2B,UAAU,SAAU0lE,EAAOz6C,EAAQjrB,GACnE0lE,EAAQA,EAAMhhE,MAAMumB,EAAQ06C,GAC5Bz8B,EAAMxY,YAAYg1C,MAEfx8B,GAEXmwC,EAAcnyE,UAAU0rE,OAAS,WAC7Bv0E,KAAKywE,aAAazwE,KAAKwH,OAAQxH,KAAK6vB,MACpC7vB,KAAK6jC,UAETm3C,EAAcnyE,UAAUmb,OAAS,SAAUwmD,EAAW1vD,GAClD,IAAIykD,EAAQv/D,KACR+7E,EAAa,GACbC,EAAe,GACnBxR,EAAU3iE,SAAQ,SAAUo0E,GACpBA,EAASltE,SAAWwwD,EAAMnJ,SAA6B,cAAlB6lB,EAASptE,OAC9CktE,EAAW5gE,KAAKrK,MAAMirE,EAAYE,EAASF,YAC3CC,EAAa7gE,KAAKrK,MAAMkrE,EAAcC,EAASD,kBAGvDA,EAAan0E,SAAQ,SAAUW,GAI3B,KAAuB,MAAnBA,EAAKw6B,YAEY,WAAjBx6B,EAAK23D,SACLjuC,SAAS6Z,KAAKmwC,wBAAwB1zE,GAAQo3D,KAAKuc,gCAHvD,CAMA,IAAI5b,EAAO1C,EAASI,KAAKz1D,GACb,MAAR+3D,IAE2B,MAA3BA,EAAKnK,QAAQpzB,YAAsBu9B,EAAKnK,QAAQpzB,aAAeu8B,EAAMnJ,SACrEmK,EAAKgb,cAGbQ,EACKxkD,QAAO,SAAU/uB,GAClB,OAAOA,EAAKw6B,YAAcu8B,EAAMnJ,WAE/Bh7C,MAAK,SAAUnW,EAAG9C,GACnB,OAAI8C,IAAM9C,EACC,EACP8C,EAAEi3E,wBAAwB/5E,GAAKy9D,KAAKwc,4BAC7B,GAEH,KAEPv0E,SAAQ,SAAUW,GACnB,IAAIizE,EAAU,KACU,MAApBjzE,EAAK6zE,cACLZ,EAAU5d,EAASI,KAAKz1D,EAAK6zE,cAEjC,IAAI9b,EAAO2a,EAAS1yE,GAChB+3D,EAAK1wC,MAAQ4rD,GAAwB,MAAblb,EAAK1wC,OACV,MAAf0wC,EAAK/4D,QACL+4D,EAAK/4D,OAAOu8B,YAAYw7B,GAE5BA,EAAM77B,aAAa68B,EAAMkb,QAAWzxE,QAIzCgxE,EA7NuB,CA8NhCD,EAASjd,SACX,SAASod,EAAS1yE,GACd,IAAI+3D,EAAO1C,EAASI,KAAKz1D,GACzB,GAAY,MAAR+3D,EACA,IACIA,EAAO1C,EAASG,OAAOx1D,GAE3B,MAAO9I,GACH6gE,EAAO1C,EAASG,OAAOH,EAASE,MAAMiC,QACtC,GAAGl3D,MAAMC,KAAKP,EAAKuxE,YAAYlyE,SAAQ,SAAUw/D,GAE7C9G,EAAKnK,QAAQ/jC,YAAYg1C,MAEzB7+D,EAAKw6B,YACLx6B,EAAKw6B,WAAWs5C,aAAa/b,EAAKnK,QAAS5tD,GAE/C+3D,EAAKgY,SAGb,OAAOhY,EAEXhhE,EAAQu+D,QAAUkd,GAKZ,SAAUx7E,EAAQD,EAASq9D,GAEjC,aAEA,IACQoC,EADJC,EAAaj/D,MAAQA,KAAKi/D,YACtBD,EAAgBp9D,OAAOs9D,gBACtB,CAAEvgC,UAAW,cAAgB/1B,OAAS,SAAUw/B,EAAGjmC,GAAKimC,EAAEzJ,UAAYx8B,IACvE,SAAUimC,EAAGjmC,GAAK,IAAK,IAAIiC,KAAKjC,EAAOA,EAAElC,eAAemE,KAAIgkC,EAAEhkC,GAAKjC,EAAEiC,KAClE,SAAUgkC,EAAGjmC,GAEhB,SAASg9D,IAAOn/D,KAAK0S,YAAc01B,EADnC42B,EAAc52B,EAAGjmC,GAEjBimC,EAAEv/B,UAAkB,OAAN1G,EAAaP,OAAOo8D,OAAO77D,IAAMg9D,EAAGt2D,UAAY1G,EAAE0G,UAAW,IAAIs2D,KAGvFv9D,OAAOC,eAAetC,EAAS,aAAc,CAAEuC,OAAO,IACtD,IAAI27D,EAAeb,EAAoB,IACnCgB,EAAUhB,EAAoB,IAC9BK,EAAcL,EAAoB,IAClCiB,EAAWjB,EAAoB,GAC/B2f,EAA4B,SAAUld,GAEtC,SAASkd,EAAWnmB,GAChB,IAAImJ,EAAQF,EAAOt2D,KAAK/I,KAAMo2D,IAAYp2D,KAE1C,OADAu/D,EAAMC,WAAa,IAAI5B,EAAQE,QAAQyB,EAAMnJ,SACtCmJ,EAmDX,OAvDAN,EAAUsd,EAAYld,GAMtBkd,EAAW1nC,QAAU,SAAUuhB,GAC3B,MAA4B,iBAAjBp2D,KAAKmgE,UAGPv3D,MAAMwH,QAAQpQ,KAAKmgE,SACjB/J,EAAQ+J,QAAQ1D,mBADtB,IAKT8f,EAAW1zE,UAAUksC,OAAS,SAAU9pC,EAAMnJ,GAC1C,IAAIizC,EAAS8oB,EAASK,MAAMjzD,GACxB8pC,aAAkB0oB,EAAaK,QAC/B99D,KAAKw/D,WAAW+G,UAAUxxB,EAAQjzC,GAE7BA,IACS,MAAVizC,GAAmB9pC,IAASjL,KAAKunE,QAAQ5G,UAAY3gE,KAAK60C,UAAU5pC,KAAUnJ,GAC9E9B,KAAKw8E,YAAYvxE,EAAMnJ,KAInCy6E,EAAW1zE,UAAUgsC,QAAU,WAC3B,IAAIA,EAAU70C,KAAKw/D,WAAWn0D,SAC1B0pC,EAAS/0C,KAAKunE,QAAQ1yB,QAAQ70C,KAAKo2D,SAIvC,OAHc,MAAVrhB,IACAF,EAAQ70C,KAAKunE,QAAQ5G,UAAY5rB,GAE9BF,GAEX0nC,EAAW1zE,UAAU2zE,YAAc,SAAUvxE,EAAMnJ,GAC/C,IAAI26E,EAAcpd,EAAOx2D,UAAU2zE,YAAYzzE,KAAK/I,KAAMiL,EAAMnJ,GAEhE,OADA9B,KAAKw/D,WAAWgF,KAAKiY,GACdA,GAEXF,EAAW1zE,UAAUmb,OAAS,SAAUwmD,EAAW1vD,GAC/C,IAAIykD,EAAQv/D,KACZq/D,EAAOx2D,UAAUmb,OAAOjb,KAAK/I,KAAMwqE,EAAW1vD,GAC1C0vD,EAAUkR,MAAK,SAAUO,GACzB,OAAOA,EAASltE,SAAWwwD,EAAMnJ,SAA6B,eAAlB6lB,EAASptE,SAErD7O,KAAKw/D,WAAWyb,SAGxBsB,EAAW1zE,UAAU2nE,KAAO,SAAUvlE,EAAMnJ,GACxC,IAAI46E,EAAUrd,EAAOx2D,UAAU2nE,KAAKznE,KAAK/I,KAAMiL,EAAMnJ,GAIrD,OAHI46E,aAAmBH,GAAcG,EAAQnV,QAAQz0D,QAAU9S,KAAKunE,QAAQz0D,OACxE9S,KAAKw/D,WAAWmd,KAAKD,GAElBA,GAEJH,EAxDoB,CAyD7Btf,EAAYa,SACdv+D,EAAQu+D,QAAUye,GAKZ,SAAU/8E,EAAQD,EAASq9D,GAEjC,aAEA,IACQoC,EADJC,EAAaj/D,MAAQA,KAAKi/D,YACtBD,EAAgBp9D,OAAOs9D,gBACtB,CAAEvgC,UAAW,cAAgB/1B,OAAS,SAAUw/B,EAAGjmC,GAAKimC,EAAEzJ,UAAYx8B,IACvE,SAAUimC,EAAGjmC,GAAK,IAAK,IAAIiC,KAAKjC,EAAOA,EAAElC,eAAemE,KAAIgkC,EAAEhkC,GAAKjC,EAAEiC,KAClE,SAAUgkC,EAAGjmC,GAEhB,SAASg9D,IAAOn/D,KAAK0S,YAAc01B,EADnC42B,EAAc52B,EAAGjmC,GAEjBimC,EAAEv/B,UAAkB,OAAN1G,EAAaP,OAAOo8D,OAAO77D,IAAMg9D,EAAGt2D,UAAY1G,EAAE0G,UAAW,IAAIs2D,KAGvFv9D,OAAOC,eAAetC,EAAS,aAAc,CAAEuC,OAAO,IACtD,IAAIi5E,EAAWne,EAAoB,IAC/BiB,EAAWjB,EAAoB,GAC/BggB,EAA0B,SAAUvd,GAEpC,SAASud,IACL,OAAkB,OAAXvd,GAAmBA,EAAOvuD,MAAM9Q,KAAMyF,YAAczF,KAuB/D,OAzBAi/D,EAAU2d,EAAUvd,GAIpBud,EAAS96E,MAAQ,SAAUs0D,GACvB,OAAO,GAEXwmB,EAAS/zE,UAAU8G,MAAQ,SAAUnH,EAAMokB,GACvC,OAAI5sB,KAAKo2D,UAAY5tD,GACjBxI,KAAKo2D,QAAQ8lB,wBAAwB1zE,GAAQo3D,KAAKuc,+BAC3C95E,KAAKD,IAAIwqB,EAAQ,IAEpB,GAEZgwD,EAAS/zE,UAAU+nB,SAAW,SAAUjhB,EAAOmsE,GAC3C,IAAIlvD,EAAS,GAAGzZ,QAAQpK,KAAK/I,KAAKwH,OAAO4uD,QAAQ2jB,WAAY/5E,KAAKo2D,SAGlE,OAFIzmD,EAAQ,IACRid,GAAU,GACP,CAAC5sB,KAAKwH,OAAO4uD,QAASxpC,IAEjCgwD,EAAS/zE,UAAU/G,MAAQ,WACvB,IAAIu5E,EACJ,OAAOA,EAAK,IAAOr7E,KAAKunE,QAAQ5G,UAAY3gE,KAAKunE,QAAQzlE,MAAM9B,KAAKo2D,WAAY,EAAMilB,GAE1FuB,EAAS9pE,MAAQ+qD,EAASE,MAAM8e,YACzBD,EA1BkB,CA2B3B7B,EAASjd,SACXv+D,EAAQu+D,QAAU8e,GAKZ,SAAUp9E,EAAQD,EAASq9D,GAEjC,IAAImE,EAAQnE,EAAoB,IAC5B1qD,EAAS0qD,EAAoB,GAG7BkgB,EAAM,CACRtd,WAAY,CACV6C,QAAS,SAAUp9D,EAAG9C,EAAG46E,GACN,iBAAN93E,IAAgBA,EAAI,IACd,iBAAN9C,IAAgBA,EAAI,IAC/B,IAAIq9D,EAAattD,GAAO,EAAM,GAAI/P,GASlC,IAAK,IAAI7B,KARJy8E,IACHvd,EAAa59D,OAAOgG,KAAK43D,GAAYrzB,QAAO,SAAUq4B,EAAMlkE,GAI1D,OAHuB,MAAnBk/D,EAAWl/D,KACbkkE,EAAKlkE,GAAOk/D,EAAWl/D,IAElBkkE,IACN,KAEWv/D,OACC+E,IAAX/E,EAAE3E,SAAiC0J,IAAX7H,EAAE7B,KAC5Bk/D,EAAWl/D,GAAO2E,EAAE3E,IAGxB,OAAOsB,OAAOgG,KAAK43D,GAAY79D,OAAS,EAAI69D,OAAax1D,GAG3DnH,KAAM,SAASoC,EAAG9C,GACC,iBAAN8C,IAAgBA,EAAI,IACd,iBAAN9C,IAAgBA,EAAI,IAC/B,IAAIq9D,EAAa59D,OAAOgG,KAAK3C,GAAGgH,OAAOrK,OAAOgG,KAAKzF,IAAIgqC,QAAO,SAAUqzB,EAAYl/D,GAIlF,OAHKygE,EAAM97D,EAAE3E,GAAM6B,EAAE7B,MACnBk/D,EAAWl/D,QAAkB0J,IAAX7H,EAAE7B,GAAqB,KAAO6B,EAAE7B,IAE7Ck/D,IACN,IACH,OAAO59D,OAAOgG,KAAK43D,GAAY79D,OAAS,EAAI69D,OAAax1D,GAG3D05D,UAAW,SAAUz+D,EAAG9C,EAAGwhE,GACzB,GAAiB,iBAAN1+D,EAAgB,OAAO9C,EAClC,GAAiB,iBAANA,EAAX,CACA,IAAKwhE,EAAU,OAAOxhE,EACtB,IAAIq9D,EAAa59D,OAAOgG,KAAKzF,GAAGgqC,QAAO,SAAUqzB,EAAYl/D,GAE3D,YADe0J,IAAX/E,EAAE3E,KAAoBk/D,EAAWl/D,GAAO6B,EAAE7B,IACvCk/D,IACN,IACH,OAAO59D,OAAOgG,KAAK43D,GAAY79D,OAAS,EAAI69D,OAAax1D,KAI7Dk4D,SAAU,SAAUd,GAClB,OAAO,IAAI4b,EAAS5b,IAGtBz/D,OAAQ,SAAUq/D,GAChB,MAA4B,iBAAjBA,EAAW,OACbA,EAAW,OACY,iBAAdA,EAAGO,OACZP,EAAGO,OAEkB,iBAAdP,EAAGK,OAAsBL,EAAGK,OAAO1/D,OAAS,IAMhE,SAASq7E,EAAS5b,GAChBphE,KAAKohE,IAAMA,EACXphE,KAAK2P,MAAQ,EACb3P,KAAK4sB,OAAS,EAGhBowD,EAASn0E,UAAUs5D,QAAU,WAC3B,OAAOniE,KAAK6iE,aAAev/D,KAG7B05E,EAASn0E,UAAUgnB,KAAO,SAAUluB,GAC7BA,IAAQA,EAAS2B,KACtB,IAAI8+D,EAASpiE,KAAKohE,IAAIphE,KAAK2P,OAC3B,GAAIyyD,EAAQ,CACV,IAAIx1C,EAAS5sB,KAAK4sB,OACdw2C,EAAW0Z,EAAIn7E,OAAOygE,GAQ1B,GAPIzgE,GAAUyhE,EAAWx2C,GACvBjrB,EAASyhE,EAAWx2C,EACpB5sB,KAAK2P,OAAS,EACd3P,KAAK4sB,OAAS,GAEd5sB,KAAK4sB,QAAUjrB,EAEe,iBAArBygE,EAAe,OACxB,MAAO,CAAE,OAAUzgE,GAEnB,IAAIs7E,EAAQ,GAYZ,OAXI7a,EAAO5C,aACTyd,EAAMzd,WAAa4C,EAAO5C,YAEC,iBAAlB4C,EAAOb,OAChB0b,EAAM1b,OAAS5/D,EAEfs7E,EAAM5b,OAD4B,iBAAlBe,EAAOf,OACRe,EAAOf,OAAOhxD,OAAOuc,EAAQjrB,GAG7BygE,EAAOf,OAEjB4b,EAGT,MAAO,CAAE1b,OAAQj+D,MAIrB05E,EAASn0E,UAAU65D,KAAO,WACxB,OAAO1iE,KAAKohE,IAAIphE,KAAK2P,QAGvBqtE,EAASn0E,UAAUg6D,WAAa,WAC9B,OAAI7iE,KAAKohE,IAAIphE,KAAK2P,OAETmtE,EAAIn7E,OAAO3B,KAAKohE,IAAIphE,KAAK2P,QAAU3P,KAAK4sB,OAExCtpB,KAIX05E,EAASn0E,UAAU+5D,SAAW,WAC5B,OAAI5iE,KAAKohE,IAAIphE,KAAK2P,OAC8B,iBAAnC3P,KAAKohE,IAAIphE,KAAK2P,OAAe,OAC/B,SACyC,iBAAhC3P,KAAKohE,IAAIphE,KAAK2P,OAAO4xD,OAC9B,SAEA,SAGJ,UAGTyb,EAASn0E,UAAUm6D,KAAO,WACxB,GAAKhjE,KAAKmiE,UAEH,IAAoB,IAAhBniE,KAAK4sB,OACd,OAAO5sB,KAAKohE,IAAIt4D,MAAM9I,KAAK2P,OAE3B,IAAIid,EAAS5sB,KAAK4sB,OACdjd,EAAQ3P,KAAK2P,MACbkgB,EAAO7vB,KAAK6vB,OACZmzC,EAAOhjE,KAAKohE,IAAIt4D,MAAM9I,KAAK2P,OAG/B,OAFA3P,KAAK4sB,OAASA,EACd5sB,KAAK2P,MAAQA,EACN,CAACkgB,GAAM5jB,OAAO+2D,GAVrB,MAAO,IAeXxjE,EAAOD,QAAUu9E,GAKX,SAAUt9E,EAAQD,GAExB,IAAIqP,EAAQ,WACZ,aAEA,SAASsuE,EAAY/xE,EAAK0D,GACxB,OAAe,MAARA,GAAgB1D,aAAe0D,EAGxC,IAAIsuE,EASAC,EAOAC,EAfJ,IACEF,EAAYG,IACZ,MAAMC,GAGNJ,EAAY,aAId,IACEC,EAAYI,IACZ,MAAMD,GACNH,EAAY,aAId,IACEC,EAAgBI,QAChB,MAAMF,GACNF,EAAgB,aAwBlB,SAASzuE,EAAMpH,EAAQuwB,EAAU2lD,EAAO70E,EAAW80E,GACzB,iBAAb5lD,IACT2lD,EAAQ3lD,EAAS2lD,MACjB70E,EAAYkvB,EAASlvB,UACrB80E,EAAuB5lD,EAAS4lD,qBAChC5lD,EAAWA,EAASA,UAItB,IAAI6lD,EAAa,GACbC,EAAc,GAEdC,EAA6B,oBAAVC,OA0IvB,YAxIuB,IAAZhmD,IACTA,GAAW,QAEO,IAAT2lD,IACTA,EAAQp6E,KAGV,SAAS06E,EAAOx2E,EAAQk2E,GAEtB,GAAe,OAAXl2E,EACF,OAAO,KAET,GAAc,IAAVk2E,EACF,OAAOl2E,EAET,IAAI6/D,EACA4W,EACJ,GAAqB,iBAAVz2E,EACT,OAAOA,EAGT,GAAI01E,EAAY11E,EAAQ21E,GACtB9V,EAAQ,IAAI8V,OACP,GAAID,EAAY11E,EAAQ41E,GAC7B/V,EAAQ,IAAI+V,OACP,GAAIF,EAAY11E,EAAQ61E,GAC7BhW,EAAQ,IAAIgW,GAAc,SAAUziE,EAASsjE,GAC3C12E,EAAO22E,MAAK,SAASr8E,GACnB8Y,EAAQojE,EAAOl8E,EAAO47E,EAAQ,OAC7B,SAASrV,GACV6V,EAAOF,EAAO3V,EAAKqV,EAAQ,eAG1B,GAAI9uE,EAAMwvE,UAAU52E,GACzB6/D,EAAQ,QACH,GAAIz4D,EAAMyvE,WAAW72E,GAC1B6/D,EAAQ,IAAIiX,OAAO92E,EAAOsH,OAAQyvE,EAAiB/2E,IAC/CA,EAAOg3E,YAAWnX,EAAMmX,UAAYh3E,EAAOg3E,gBAC1C,GAAI5vE,EAAM6vE,SAASj3E,GACxB6/D,EAAQ,IAAI3nD,KAAKlY,EAAOkrE,eACnB,IAAIoL,GAAaC,OAAOnL,SAASprE,GAStC,OANE6/D,EAFE0W,OAAOW,YAEDX,OAAOW,YAAYl3E,EAAO7F,QAG1B,IAAIo8E,OAAOv2E,EAAO7F,QAE5B6F,EAAOg9D,KAAK6C,GACLA,EACE6V,EAAY11E,EAAQ9F,OAC7B2lE,EAAQzlE,OAAOo8D,OAAOx2D,QAEE,IAAbqB,GACTo1E,EAAQr8E,OAAO0jE,eAAe99D,GAC9B6/D,EAAQzlE,OAAOo8D,OAAOigB,KAGtB5W,EAAQzlE,OAAOo8D,OAAOn1D,GACtBo1E,EAAQp1E,GAIZ,GAAIkvB,EAAU,CACZ,IAAIpoB,EAAQiuE,EAAWzqE,QAAQ3L,GAE/B,IAAc,GAAVmI,EACF,OAAOkuE,EAAYluE,GAErBiuE,EAAWziE,KAAK3T,GAChBq2E,EAAY1iE,KAAKksD,GAiBnB,IAAK,IAAIvjE,KAdLo5E,EAAY11E,EAAQ21E,IACtB31E,EAAOK,SAAQ,SAAS/F,EAAOxB,GAC7B,IAAIq+E,EAAWX,EAAO19E,EAAKo9E,EAAQ,GAC/BkB,EAAaZ,EAAOl8E,EAAO47E,EAAQ,GACvCrW,EAAMtoD,IAAI4/D,EAAUC,MAGpB1B,EAAY11E,EAAQ41E,IACtB51E,EAAOK,SAAQ,SAAS/F,GACtB,IAAI+8E,EAAab,EAAOl8E,EAAO47E,EAAQ,GACvCrW,EAAM7jC,IAAIq7C,MAIAr3E,EAAQ,CACpB,IAAIs3E,EACAb,IACFa,EAAQl9E,OAAOqiE,yBAAyBga,EAAOn6E,IAG7Cg7E,GAAsB,MAAbA,EAAM//D,MAGnBsoD,EAAMvjE,GAAKk6E,EAAOx2E,EAAO1D,GAAI45E,EAAQ,IAGvC,GAAI97E,OAAOm9E,sBACT,KAAIC,EAAUp9E,OAAOm9E,sBAAsBv3E,GAC3C,IAAS1D,EAAI,EAAGA,EAAIk7E,EAAQr9E,OAAQmC,IAAK,CAGvC,IAAIm7E,EAASD,EAAQl7E,MACjBghC,EAAaljC,OAAOqiE,yBAAyBz8D,EAAQy3E,KACtCn6C,EAAWvhB,YAAeo6D,KAG7CtW,EAAM4X,GAAUjB,EAAOx2E,EAAOy3E,GAASvB,EAAQ,GAC1C54C,EAAWvhB,YACd3hB,OAAOC,eAAewlE,EAAO4X,EAAQ,CACnC17D,YAAY,MAMpB,GAAIo6D,EACF,KAAIuB,EAAmBt9E,OAAOu9E,oBAAoB33E,GAClD,IAAS1D,EAAI,EAAGA,EAAIo7E,EAAiBv9E,OAAQmC,IAAK,CAChD,IACIghC,EADAs6C,EAAeF,EAAiBp7E,IAChCghC,EAAaljC,OAAOqiE,yBAAyBz8D,EAAQ43E,KACvCt6C,EAAWvhB,aAG7B8jD,EAAM+X,GAAgBpB,EAAOx2E,EAAO43E,GAAe1B,EAAQ,GAC3D97E,OAAOC,eAAewlE,EAAO+X,EAAc,CACzC77D,YAAY,MAKlB,OAAO8jD,EAGF2W,CAAOx2E,EAAQk2E,GAqBxB,SAAS2B,EAAWtiB,GAClB,OAAOn7D,OAAOiH,UAAU7C,SAAS+C,KAAKg0D,GAmBxC,SAASwhB,EAAiBe,GACxB,IAAIC,EAAQ,GAIZ,OAHID,EAAGjgF,SAAQkgF,GAAS,KACpBD,EAAGE,aAAYD,GAAS,KACxBD,EAAGG,YAAWF,GAAS,KACpBA,EAIT,OAxCA3wE,EAAM8wE,eAAiB,SAAwBl4E,GAC7C,GAAe,OAAXA,EACF,OAAO,KAET,IAAIzE,EAAI,aAER,OADAA,EAAE8F,UAAYrB,EACP,IAAIzE,GAQb6L,EAAMywE,WAAaA,EAKnBzwE,EAAM6vE,SAHN,SAAkB1hB,GAChB,MAAoB,iBAANA,GAAoC,kBAAlBsiB,EAAWtiB,IAO7CnuD,EAAMwvE,UAHN,SAAmBrhB,GACjB,MAAoB,iBAANA,GAAoC,mBAAlBsiB,EAAWtiB,IAO7CnuD,EAAMyvE,WAHN,SAAoBthB,GAClB,MAAoB,iBAANA,GAAoC,oBAAlBsiB,EAAWtiB,IAW7CnuD,EAAM2vE,iBAAmBA,EAElB3vE,EA3PK,GA8PU,iBAAXpP,GAAuBA,EAAOD,UACvCC,EAAOD,QAAUqP,IAMb,SAAUpP,EAAQD,EAASq9D,GAEjC,aAGAh7D,OAAOC,eAAetC,EAAS,aAAc,CAC3CuC,OAAO,IAGT,IAAIgmE,EAAgb,SAAUxtB,EAAKx2C,GAAK,GAAI8E,MAAMwH,QAAQkqC,GAAQ,OAAOA,EAAY,GAAIutB,OAAO3F,YAAYtgE,OAAO04C,GAAQ,OAAxf,SAAuBA,EAAKx2C,GAAK,IAAIikE,EAAO,GAAQC,GAAK,EAAUC,GAAK,EAAWC,OAAKl+D,EAAW,IAAM,IAAK,IAAiCm+D,EAA7B1H,EAAKnmB,EAAIutB,OAAO3F,cAAmB8F,GAAMG,EAAK1H,EAAG5wC,QAAQu4C,QAAoBL,EAAK5sD,KAAKgtD,EAAGrmE,QAAYgC,GAAKikE,EAAKpmE,SAAWmC,GAA3DkkE,GAAK,IAAoE,MAAOK,GAAOJ,GAAK,EAAMC,EAAKG,EAAO,QAAU,KAAWL,GAAMvH,EAAW,QAAGA,EAAW,SAAO,QAAU,GAAIwH,EAAI,MAAMC,GAAQ,OAAOH,EAA6HO,CAAchuB,EAAKx2C,GAAa,MAAM,IAAIkiE,UAAU,yDAEllBnB,EAAe,WAAc,SAASC,EAAiB/1D,EAAQyuB,GAAS,IAAK,IAAI15B,EAAI,EAAGA,EAAI05B,EAAM77B,OAAQmC,IAAK,CAAE,IAAIghC,EAAatH,EAAM15B,GAAIghC,EAAWvhB,WAAauhB,EAAWvhB,aAAc,EAAOuhB,EAAWxhB,cAAe,EAAU,UAAWwhB,IAAYA,EAAWw/B,UAAW,GAAM1iE,OAAOC,eAAekN,EAAQ+1B,EAAWxkC,IAAKwkC,IAAiB,OAAO,SAAUigC,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYF,EAAiBC,EAAYl8D,UAAWm8D,GAAiBC,GAAaH,EAAiBC,EAAaE,GAAqBF,GAA7gB,GAEfG,EAAO,SAASpmD,EAAI6E,EAAQ6b,EAAU2lC,GAA2B,OAAXxhD,IAAiBA,EAASyhD,SAASv8D,WAAW,IAAIw8D,EAAOzjE,OAAOqiE,yBAAyBtgD,EAAQ6b,GAAW,QAAax1B,IAATq7D,EAAoB,CAAE,IAAI79D,EAAS5F,OAAO0jE,eAAe3hD,GAAS,OAAe,OAAXnc,OAAmB,EAAkCsX,EAAItX,EAAQg4B,EAAU2lC,GAAoB,GAAI,UAAWE,EAAQ,OAAOA,EAAKvjE,MAAgB,IAAIg7D,EAASuI,EAAKvmD,IAAK,YAAe9U,IAAX8yD,EAAmDA,EAAO/zD,KAAKo8D,QAAnE,GAIrZO,EAAcF,EAFD5I,EAAoB,IAMjCiT,EAAYrK,EAFD5I,EAAoB,IAI/BgY,EAAShY,EAAoB,GAE7BwW,EAAU5N,EAAuBoP,GAIjCjP,EAAUH,EAFD5I,EAAoB,KAM7B8X,EAASlP,EAFD5I,EAAoB,KAM5B+iB,EAAcna,EAFD5I,EAAoB,KAIrC,SAAS4I,EAAuBr6D,GAAO,OAAOA,GAAOA,EAAI6xD,WAAa7xD,EAAM,CAAE2yD,QAAS3yD,GAQvF,SAASy0E,EAAOrf,GACd,OAAOA,aAAgB6S,EAAQtV,SAAWyC,aAAgBqU,EAAOjQ,WAGnE,IAAIpG,EAAS,SAAUshB,GAGrB,SAASthB,EAAOnI,EAAShgC,IAb3B,SAAyB2vC,EAAUhB,GAAe,KAAMgB,aAAoBhB,GAAgB,MAAM,IAAIiB,UAAU,qCAc5GF,CAAgB9lE,KAAMu+D,GAEtB,IAAIgB,EAdR,SAAoC1/D,EAAMkJ,GAAQ,IAAKlJ,EAAQ,MAAM,IAAIqmE,eAAe,6DAAgE,OAAOn9D,GAAyB,iBAATA,GAAqC,mBAATA,EAA8BlJ,EAAPkJ,EAclNk9D,CAA2BjmE,MAAOu+D,EAAO5/B,WAAa/8B,OAAO0jE,eAAe/G,IAASx1D,KAAK/I,KAAMo2D,IAa5G,OAXAmJ,EAAMgK,QAAUnzC,EAAOmzC,QACnB3gE,MAAMwH,QAAQgmB,EAAOqzC,aACvBlK,EAAMkK,UAAYrzC,EAAOqzC,UAAUt9B,QAAO,SAAUs9B,EAAW10B,GAE7D,OADA00B,EAAU10B,IAAU,EACb00B,IACN,KAGLlK,EAAMnJ,QAAQz2B,iBAAiB,mBAAmB,eAClD4/B,EAAM+U,WACN/U,EAAMmM,SACCnM,EA0KT,OAnMF,SAAmB6G,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIL,UAAU,kEAAoEK,GAAeD,EAASv9D,UAAYjH,OAAOo8D,OAAOqI,GAAcA,EAAWx9D,UAAW,CAAE6J,YAAa,CAAE5Q,MAAOskE,EAAU7iD,YAAY,EAAO+gD,UAAU,EAAMhhD,cAAc,KAAe+iD,IAAYzkE,OAAOs9D,eAAiBt9D,OAAOs9D,eAAekH,EAAUC,GAAcD,EAASznC,UAAY0nC,GAO/dF,CAAU5H,EAAQshB,GAqBlBhb,EAAatG,EAAQ,CAAC,CACpBj+D,IAAK,aACLwB,MAAO,WACL9B,KAAK8/E,OAAQ,IAEd,CACDx/E,IAAK,WACLwB,MAAO,WACL9B,KAAK8/E,OAAQ,EACb9/E,KAAKs0E,aAEN,CACDh0E,IAAK,WACLwB,MAAO,SAAkB6N,EAAOhO,GAC9B,IAAIo+E,EAAQ//E,KAAK4oB,KAAKjZ,GAClBqwE,EAASlY,EAAeiY,EAAO,GAC/BnjC,EAAQojC,EAAO,GACfpzD,EAASozD,EAAO,GAEhBC,EAASjgF,KAAK4oB,KAAKjZ,EAAQhO,GAE3B+sB,EADSo5C,EAAemY,EAAQ,GAClB,GAGlB,GADA/a,EAAK3G,EAAO11D,UAAU81B,WAAa/8B,OAAO0jE,eAAe/G,EAAO11D,WAAY,WAAY7I,MAAM+I,KAAK/I,KAAM2P,EAAOhO,GACpG,MAAR+sB,GAAgBkuB,IAAUluB,GAAQ9B,EAAS,EAAG,CAChD,GAAIgwB,aAAiBg4B,EAAOjQ,YAAcj2C,aAAgBkmD,EAAOjQ,WAE/D,YADA3kE,KAAKs0E,WAGP,GAAI13B,aAAiB83B,EAAO5W,QAAS,CACnC,IAAIgW,EAAel3B,EAAMk3B,aAAal3B,EAAMj7C,UAAU,GACtD,GAAImyE,GAAgB,IAClBl3B,EAAQA,EAAMv2C,MAAMytE,EAAe,MACrBplD,EAEZ,YADA1uB,KAAKs0E,gBAIJ,GAAI5lD,aAAgBgmD,EAAO5W,QAAS,CACzC,IAAIoiB,EAAgBxxD,EAAKolD,aAAa,GAClCoM,GAAiB,GACnBxxD,EAAKroB,MAAM65E,EAAgB,GAI/BtjC,EAAM6zB,aAAa/hD,EADTA,EAAKw4C,SAAS34C,gBAAgBo3C,EAAQ7H,QAAU,KAAOpvC,EAAKw4C,SAAS34C,MAE/EquB,EAAM/Y,SAER7jC,KAAKs0E,aAEN,CACDh0E,IAAK,SACLwB,MAAO,WACL,IAAIikC,IAAUtgC,UAAU9D,OAAS,QAAsBqI,IAAjBvE,UAAU,KAAmBA,UAAU,GAE7EzF,KAAKo2D,QAAQhkC,aAAa,kBAAmB2T,KAE9C,CACDzlC,IAAK,WACLwB,MAAO,SAAkB6N,EAAOhO,EAAQozC,EAAQjzC,IACxB,MAAlB9B,KAAKypE,WAAsBzpE,KAAKypE,UAAU10B,MAC9CmwB,EAAK3G,EAAO11D,UAAU81B,WAAa/8B,OAAO0jE,eAAe/G,EAAO11D,WAAY,WAAY7I,MAAM+I,KAAK/I,KAAM2P,EAAOhO,EAAQozC,EAAQjzC,GAChI9B,KAAKs0E,cAEN,CACDh0E,IAAK,WACLwB,MAAO,SAAkB6N,EAAO7N,EAAO2kE,GACrC,GAAW,MAAPA,GAAiC,MAAlBzmE,KAAKypE,WAAsBzpE,KAAKypE,UAAU3nE,GAA7D,CACA,GAAI6N,GAAS3P,KAAK2B,SAChB,GAAW,MAAP8kE,GAAoF,MAArEf,EAAY5H,QAAQI,MAAMp8D,EAAO4jE,EAAY5H,QAAQC,MAAMgC,OAAgB,CAC5F,IAAIQ,EAAOmF,EAAY5H,QAAQE,OAAOh+D,KAAKunE,QAAQC,cACnDxnE,KAAKqyB,YAAYkuC,GACN,MAAPkG,GAAe3kE,EAAM4kE,SAAS,QAChC5kE,EAAQA,EAAMgH,MAAM,GAAI,IAE1By3D,EAAKqG,SAAS,EAAG9kE,EAAO2kE,OACnB,CACL,IAAI8G,EAAQ7H,EAAY5H,QAAQE,OAAOl8D,EAAO2kE,GAC9CzmE,KAAKqyB,YAAYk7C,QAGnBrI,EAAK3G,EAAO11D,UAAU81B,WAAa/8B,OAAO0jE,eAAe/G,EAAO11D,WAAY,WAAY7I,MAAM+I,KAAK/I,KAAM2P,EAAO7N,EAAO2kE,GAEzHzmE,KAAKs0E,cAEN,CACDh0E,IAAK,eACLwB,MAAO,SAAsBy+D,EAAM6G,GACjC,GAAI7G,EAAKgH,QAAQz0D,QAAU4yD,EAAY5H,QAAQC,MAAM8e,YAAa,CAChE,IAAIH,EAAUhX,EAAY5H,QAAQE,OAAOh+D,KAAKunE,QAAQC,cACtDkV,EAAQrqD,YAAYkuC,GACpBA,EAAOmc,EAETxX,EAAK3G,EAAO11D,UAAU81B,WAAa/8B,OAAO0jE,eAAe/G,EAAO11D,WAAY,eAAgB7I,MAAM+I,KAAK/I,KAAMugE,EAAM6G,KAEpH,CACD9mE,IAAK,OACLwB,MAAO,SAAc6N,GACnB,OAAO3P,KAAKuH,KAAKoI,GAAOtH,OAAS,CAAC,MAAO,KAE1C,CACD/H,IAAK,OACLwB,MAAO,SAAc6N,GACnB,OAAIA,IAAU3P,KAAK2B,SACV3B,KAAK4oB,KAAKjZ,EAAQ,GAEpB3P,KAAK2zE,WAAWiM,EAAQjwE,KAEhC,CACDrP,IAAK,QACLwB,MAAO,WACL,IAAI6N,EAAQlK,UAAU9D,OAAS,QAAsBqI,IAAjBvE,UAAU,GAAmBA,UAAU,GAAK,EAC5E9D,EAAS8D,UAAU9D,OAAS,QAAsBqI,IAAjBvE,UAAU,GAAmBA,UAAU,GAAK+K,OAAOy8D,UAEpFkT,EAAW,SAASA,EAAS5f,EAAM5wD,EAAOhO,GAC5C,IAAI4oC,EAAQ,GACR+wC,EAAa35E,EASjB,OARA4+D,EAAK2G,SAASiU,UAAUxrE,EAAOhO,GAAQ,SAAU0lE,EAAO13D,EAAOhO,GACzDi+E,EAAOvY,GACT98B,EAAMpvB,KAAKksD,GACFA,aAAiB3B,EAAY5H,QAAQK,YAC9C5zB,EAAQA,EAAMt+B,OAAOk0E,EAAS9Y,EAAO13D,EAAO2rE,KAE9CA,GAAc35E,KAET4oC,GAET,OAAO41C,EAASngF,KAAM2P,EAAOhO,KAE9B,CACDrB,IAAK,WACLwB,MAAO,WACL,IAAI0oE,EAAY/kE,UAAU9D,OAAS,QAAsBqI,IAAjBvE,UAAU,GAAmBA,UAAU,GAAK,GAChFqV,EAAUrV,UAAU9D,OAAS,QAAsBqI,IAAjBvE,UAAU,GAAmBA,UAAU,GAAK,IAE/D,IAAfzF,KAAK8/E,QACT5a,EAAK3G,EAAO11D,UAAU81B,WAAa/8B,OAAO0jE,eAAe/G,EAAO11D,WAAY,WAAY7I,MAAM+I,KAAK/I,KAAMwqE,EAAW1vD,GAChH0vD,EAAU7oE,OAAS,GACrB3B,KAAKupE,QAAQuG,KAAKD,EAAU/R,QAAQ5tB,OAAOyhC,gBAAiBnH,EAAW1vD,MAG1E,CACDxa,IAAK,OACLwB,MAAO,SAAc6N,GACnB,OAAOu1D,EAAK3G,EAAO11D,UAAU81B,WAAa/8B,OAAO0jE,eAAe/G,EAAO11D,WAAY,OAAQ7I,MAAM+I,KAAK/I,KAAM2P,GAAO7G,MAAM,KAE1H,CACDxI,IAAK,SACLwB,MAAO,SAAgB0oE,GACrB,IAAmB,IAAfxqE,KAAK8/E,MAAT,CACA,IAAIhxE,EAAS+gE,EAAU/R,QAAQ9rD,QAAQ68D,KACd,iBAAdrE,IACT17D,EAAS07D,GAEN5hE,MAAMwH,QAAQo6D,KACjBA,EAAYxqE,KAAKogF,SAASC,eAExB7V,EAAU7oE,OAAS,GACrB3B,KAAKupE,QAAQuG,KAAKD,EAAU/R,QAAQ5tB,OAAOwhC,qBAAsB5iE,EAAQ07D,GAE3EtF,EAAK3G,EAAO11D,UAAU81B,WAAa/8B,OAAO0jE,eAAe/G,EAAO11D,WAAY,SAAU7I,MAAM+I,KAAK/I,KAAMwqE,EAAUv+D,OAAO,KACpHu+D,EAAU7oE,OAAS,GACrB3B,KAAKupE,QAAQuG,KAAKD,EAAU/R,QAAQ5tB,OAAOq6B,cAAez7D,EAAQ07D,QAKjEjM,EA7LI,CA8LXmH,EAAY5H,QAAQS,QAEtBA,EAAOoC,SAAW,SAClBpC,EAAOl+B,UAAY,YACnBk+B,EAAO4B,QAAU,MACjB5B,EAAOiJ,aAAe,QACtBjJ,EAAOkJ,gBAAkB,CAAC2L,EAAQtV,QAAS8W,EAAOjQ,WAAYgb,EAAY7hB,SAE1Ev+D,EAAQu+D,QAAUS,GAIZ,SAAU/+D,EAAQD,EAASq9D,GAEjC,aAGAh7D,OAAOC,eAAetC,EAAS,aAAc,CAC3CuC,OAAO,IAETvC,EAAQ+gF,SAAW/gF,EAAQu+D,aAAU9zD,EAErC,IAAI49D,EAA4B,mBAAXC,QAAoD,iBAApBA,OAAO3F,SAAwB,SAAU/2D,GAAO,cAAcA,GAAS,SAAUA,GAAO,OAAOA,GAAyB,mBAAX08D,QAAyB18D,EAAIuH,cAAgBm1D,QAAU18D,IAAQ08D,OAAOh/D,UAAY,gBAAkBsC,GAElQ28D,EAAgb,SAAUxtB,EAAKx2C,GAAK,GAAI8E,MAAMwH,QAAQkqC,GAAQ,OAAOA,EAAY,GAAIutB,OAAO3F,YAAYtgE,OAAO04C,GAAQ,OAAxf,SAAuBA,EAAKx2C,GAAK,IAAIikE,EAAO,GAAQC,GAAK,EAAUC,GAAK,EAAWC,OAAKl+D,EAAW,IAAM,IAAK,IAAiCm+D,EAA7B1H,EAAKnmB,EAAIutB,OAAO3F,cAAmB8F,GAAMG,EAAK1H,EAAG5wC,QAAQu4C,QAAoBL,EAAK5sD,KAAKgtD,EAAGrmE,QAAYgC,GAAKikE,EAAKpmE,SAAWmC,GAA3DkkE,GAAK,IAAoE,MAAOK,GAAOJ,GAAK,EAAMC,EAAKG,EAAO,QAAU,KAAWL,GAAMvH,EAAW,QAAGA,EAAW,SAAO,QAAU,GAAIwH,EAAI,MAAMC,GAAQ,OAAOH,EAA6HO,CAAchuB,EAAKx2C,GAAa,MAAM,IAAIkiE,UAAU,yDAEllBnB,EAAe,WAAc,SAASC,EAAiB/1D,EAAQyuB,GAAS,IAAK,IAAI15B,EAAI,EAAGA,EAAI05B,EAAM77B,OAAQmC,IAAK,CAAE,IAAIghC,EAAatH,EAAM15B,GAAIghC,EAAWvhB,WAAauhB,EAAWvhB,aAAc,EAAOuhB,EAAWxhB,cAAe,EAAU,UAAWwhB,IAAYA,EAAWw/B,UAAW,GAAM1iE,OAAOC,eAAekN,EAAQ+1B,EAAWxkC,IAAKwkC,IAAiB,OAAO,SAAUigC,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYF,EAAiBC,EAAYl8D,UAAWm8D,GAAiBC,GAAaH,EAAiBC,EAAaE,GAAqBF,GAA7gB,GAIf8P,EAAUrP,EAFD5I,EAAoB,KAM7BkY,EAActP,EAFD5I,EAAoB,KAMjC2I,EAAWC,EAFD5I,EAAoB,IAM9B6I,EAAeD,EAFD5I,EAAoB,IAMlC6X,EAAOjP,EAFD5I,EAAoB,KAM1B8I,EAAcF,EAFD5I,EAAoB,IAMjC2jB,EAAU/a,EAFD5I,EAAoB,IAM7BgM,EAAWpD,EAFD5I,EAAoB,KAM9B6L,EAAWjD,EAFD5I,EAAoB,IAIlC,SAAS4I,EAAuBr6D,GAAO,OAAOA,GAAOA,EAAI6xD,WAAa7xD,EAAM,CAAE2yD,QAAS3yD,GAEvF,SAAS29D,EAAgB39D,EAAK7K,EAAKwB,GAAiK,OAApJxB,KAAO6K,EAAOvJ,OAAOC,eAAesJ,EAAK7K,EAAK,CAAEwB,MAAOA,EAAOyhB,YAAY,EAAMD,cAAc,EAAMghD,UAAU,IAAkBn5D,EAAI7K,GAAOwB,EAAgBqJ,EAQ3M,IAAI49D,GAAQ,EAAIH,EAAS9K,SAAS,kBAE9BwiB,EAAW,OAAOE,KAAKC,UAAUv8C,UAAY,UAAY,UAEzDw8C,EAAW,SAAUC,GAgBvB,SAASD,EAAS5O,EAAOpgE,IA1B3B,SAAyBq0D,EAAUhB,GAAe,KAAMgB,aAAoBhB,GAAgB,MAAM,IAAIiB,UAAU,qCA2B5GF,CAAgB9lE,KAAM0gF,GAEtB,IAAInhB,EA3BR,SAAoC1/D,EAAMkJ,GAAQ,IAAKlJ,EAAQ,MAAM,IAAIqmE,eAAe,6DAAgE,OAAOn9D,GAAyB,iBAATA,GAAqC,mBAATA,EAA8BlJ,EAAPkJ,EA2BlNk9D,CAA2BjmE,MAAO0gF,EAAS/hD,WAAa/8B,OAAO0jE,eAAeob,IAAW33E,KAAK/I,KAAM8xE,EAAOpgE,IAyBvH,OAvBA6tD,EAAMqhB,SAAW,GACjBh/E,OAAOgG,KAAK23D,EAAM7tD,QAAQkvE,UAAU/4E,SAAQ,SAAUoD,IACvC,kBAATA,GAAsD,MAA1B6mE,EAAMtI,OAAOC,WAAsBqI,EAAMtI,OAAOC,UAAgB,OAG5FlK,EAAM7tD,QAAQkvE,SAAS31E,IACzBs0D,EAAMshB,WAAWthB,EAAM7tD,QAAQkvE,SAAS31E,OAG5Cs0D,EAAMshB,WAAW,CAAEvgF,IAAKogF,EAAS94E,KAAKk5E,MAAOC,SAAU,MAAQC,GAC/DzhB,EAAMshB,WAAW,CAAEvgF,IAAKogF,EAAS94E,KAAKk5E,MAAOG,QAAS,KAAMC,QAAS,KAAMC,OAAQ,OAAQ,eACvF,WAAWX,KAAKC,UAAUW,YAE5B7hB,EAAMshB,WAAW,CAAEvgF,IAAKogF,EAAS94E,KAAKy5E,WAAa,CAAE/I,WAAW,GAAQgJ,GACxE/hB,EAAMshB,WAAW,CAAEvgF,IAAKogF,EAAS94E,KAAK07D,QAAU,CAAEgV,WAAW,GAAQiJ,KAErEhiB,EAAMshB,WAAW,CAAEvgF,IAAKogF,EAAS94E,KAAKy5E,WAAa,CAAE/I,WAAW,EAAM1oC,OAAQ,QAAU0xC,GACxF/hB,EAAMshB,WAAW,CAAEvgF,IAAKogF,EAAS94E,KAAK07D,QAAU,CAAEgV,WAAW,EAAM9B,OAAQ,QAAU+K,IAEvFhiB,EAAMshB,WAAW,CAAEvgF,IAAKogF,EAAS94E,KAAKy5E,WAAa,CAAE/I,WAAW,GAASkJ,GACzEjiB,EAAMshB,WAAW,CAAEvgF,IAAKogF,EAAS94E,KAAK07D,QAAU,CAAEgV,WAAW,GAASkJ,GACtEjiB,EAAMshB,WAAW,CAAEvgF,IAAKogF,EAAS94E,KAAKy5E,UAAWF,OAAQ,KAAMD,QAAS,KAAMD,QAAS,KAAMF,SAAU,MAAQ,CAAEzI,WAAW,EAAM1rD,OAAQ,GAAK00D,GAC/I/hB,EAAMkiB,SACCliB,EA+FT,OAjJF,SAAmB6G,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIL,UAAU,kEAAoEK,GAAeD,EAASv9D,UAAYjH,OAAOo8D,OAAOqI,GAAcA,EAAWx9D,UAAW,CAAE6J,YAAa,CAAE5Q,MAAOskE,EAAU7iD,YAAY,EAAO+gD,UAAU,EAAMhhD,cAAc,KAAe+iD,IAAYzkE,OAAOs9D,eAAiBt9D,OAAOs9D,eAAekH,EAAUC,GAAcD,EAASznC,UAAY0nC,GAO/dF,CAAUua,EAAUC,GAEpB9b,EAAa6b,EAAU,KAAM,CAAC,CAC5BpgF,IAAK,QACLwB,MAAO,SAAeg4D,EAAK4nB,GAEzB,OADAA,EAAUC,EAAUD,IAChB,CAAC,SAAU,UAAW,UAAW,YAAYhG,MAAK,SAAUp7E,GAC9D,QAASohF,EAAQphF,KAASw5D,EAAIx5D,IAAyB,OAAjBohF,EAAQphF,OAIzCohF,EAAQphF,OAASw5D,EAAI8nB,OAAS9nB,EAAI+nB,aAmC7Chd,EAAa6b,EAAU,CAAC,CACtBpgF,IAAK,aACLwB,MAAO,SAAoBxB,GACzB,IAAIwa,EAAUrV,UAAU9D,OAAS,QAAsBqI,IAAjBvE,UAAU,GAAmBA,UAAU,GAAK,GAC9Eu0B,EAAUv0B,UAAU9D,OAAS,QAAsBqI,IAAjBvE,UAAU,GAAmBA,UAAU,GAAK,GAE9Ei8E,EAAUC,EAAUrhF,GACxB,GAAe,MAAXohF,GAAkC,MAAfA,EAAQphF,IAC7B,OAAOyoE,EAAM/1D,KAAK,4CAA6C0uE,GAE1C,mBAAZ5mE,IACTA,EAAU,CAAEkf,QAASlf,IAEA,mBAAZkf,IACTA,EAAU,CAAEA,QAASA,IAEvB0nD,GAAU,EAAInc,EAASzH,SAAS4jB,EAAS5mE,EAASkf,GAClDh6B,KAAK4gF,SAASc,EAAQphF,KAAON,KAAK4gF,SAASc,EAAQphF,MAAQ,GAC3DN,KAAK4gF,SAASc,EAAQphF,KAAK6a,KAAKumE,KAEjC,CACDphF,IAAK,SACLwB,MAAO,WACL,IAAIilE,EAAS/mE,KAEbA,KAAK8xE,MAAMpxC,KAAKf,iBAAiB,WAAW,SAAUm6B,GACpD,IAAIA,EAAIgoB,iBAAR,CACA,IACIlB,GAAY7Z,EAAO6Z,SADX9mB,EAAI8nB,OAAS9nB,EAAI+nB,UACa,IAAItqD,QAAO,SAAUmqD,GAC7D,OAAOhB,EAASv6E,MAAM2zD,EAAK4nB,MAE7B,GAAwB,IAApBd,EAASj/E,OAAb,CACA,IAAIguB,EAAQo3C,EAAO+K,MAAM/F,eACzB,GAAa,MAATp8C,GAAkBo3C,EAAO+K,MAAMxE,WAAnC,CAEA,IAAIyU,EAAiBhb,EAAO+K,MAAMkQ,QAAQryD,EAAMhgB,OAC5CsyE,EAAkBna,EAAeia,EAAgB,GACjDn5D,EAAOq5D,EAAgB,GACvBr1D,EAASq1D,EAAgB,GAEzBC,EAAiBnb,EAAO+K,MAAMqQ,QAAQxyD,EAAMhgB,OAC5CyyE,EAAkBta,EAAeoa,EAAgB,GACjDG,EAAYD,EAAgB,GAC5BE,EAAcF,EAAgB,GAE9B3Q,EAAwB,IAAjB9hD,EAAMhuB,OAAe,CAAC0gF,EAAWC,GAAevb,EAAO+K,MAAMqQ,QAAQxyD,EAAMhgB,MAAQggB,EAAMhuB,QAChG4gF,EAAQza,EAAe2J,EAAM,GAC7B+Q,EAAUD,EAAM,GAChBE,EAAYF,EAAM,GAElBG,EAAaL,aAAqB3c,EAAY5H,QAAQY,KAAO2jB,EAAUvgF,QAAQgH,MAAM,EAAGw5E,GAAe,GACvGK,EAAaH,aAAmB9c,EAAY5H,QAAQY,KAAO8jB,EAAQ1gF,QAAQgH,MAAM25E,GAAa,GAC9FG,EAAa,CACftK,UAA4B,IAAjB3oD,EAAMhuB,OACjBkhF,MAAwB,IAAjBlzD,EAAMhuB,QAAgBinB,EAAKjnB,UAAY,EAC9CozC,OAAQgyB,EAAO+K,MAAM9E,UAAUr9C,GAC/B/C,OAAQA,EACRgjB,OAAQ8yC,EACRlM,OAAQmM,GAEM/B,EAASlF,MAAK,SAAUgG,GACtC,GAAyB,MAArBA,EAAQpJ,WAAqBoJ,EAAQpJ,YAAcsK,EAAWtK,UAAW,OAAO,EACpF,GAAqB,MAAjBoJ,EAAQmB,OAAiBnB,EAAQmB,QAAUD,EAAWC,MAAO,OAAO,EACxE,GAAsB,MAAlBnB,EAAQ90D,QAAkB80D,EAAQ90D,SAAWg2D,EAAWh2D,OAAQ,OAAO,EAC3E,GAAIhkB,MAAMwH,QAAQsxE,EAAQ3sC,SAExB,GAAI2sC,EAAQ3sC,OAAO+tC,OAAM,SAAU73E,GACjC,OAAkC,MAA3B23E,EAAW7tC,OAAO9pC,MAEzB,OAAO,OAEJ,GAAgC,WAA5B28D,EAAQ8Z,EAAQ3sC,UAEpBnzC,OAAOgG,KAAK85E,EAAQ3sC,QAAQ+tC,OAAM,SAAU73E,GAC/C,OAA6B,IAAzBy2E,EAAQ3sC,OAAO9pC,GAAkD,MAA3B23E,EAAW7tC,OAAO9pC,IAC/B,IAAzBy2E,EAAQ3sC,OAAO9pC,GAAmD,MAA3B23E,EAAW7tC,OAAO9pC,IACtD,EAAI6pE,EAAYhX,SAAS4jB,EAAQ3sC,OAAO9pC,GAAO23E,EAAW7tC,OAAO9pC,OAExE,OAAO,EAGX,QAAsB,MAAlBy2E,EAAQ9xC,SAAmB8xC,EAAQ9xC,OAAO4wC,KAAKoC,EAAWhzC,SACxC,MAAlB8xC,EAAQlL,SAAmBkL,EAAQlL,OAAOgK,KAAKoC,EAAWpM,UACH,IAApDkL,EAAQ1nD,QAAQjxB,KAAKg+D,EAAQp3C,EAAOizD,QAG3C9oB,EAAIipB,2BAMLrC,EA3IM,CA4IbjY,EAAS3K,SAqLX,SAASklB,EAAsB1iF,EAAKygF,GAClC,IAAIkC,EAGJ,OAIGna,EAJIma,EAAQ,CACb3iF,IAAKA,EACLygF,SAAUA,EACVI,OAAQ,MAJE7gF,IAAQogF,EAAS94E,KAAKs7E,KAAO,SAAW,SAKnB,MAAOpa,EAAgBma,EAAO,WAAW,SAAiBtzD,GACzF,IAAIhgB,EAAQggB,EAAMhgB,MACdrP,IAAQogF,EAAS94E,KAAKu7E,QACxBxzE,GAASggB,EAAMhuB,OAAS,GAG1B,IAAIyhF,EAAkBpjF,KAAK8xE,MAAMqQ,QAAQxyE,GAIzC,QAHsBm4D,EAAesb,EAAiB,GAC3B,aAEL1d,EAAY5H,QAAQQ,QACtCh+D,IAAQogF,EAAS94E,KAAKs7E,KACpBnC,EACF/gF,KAAK8xE,MAAM5F,aAAav8C,EAAMhgB,MAAQ,EAAGggB,EAAMhuB,OAAS,EAAG4+E,EAAQziB,QAAQ9rD,QAAQ68D,MAEnF7uE,KAAK8xE,MAAM5F,aAAav8C,EAAMhgB,MAAQ,EAAG4wE,EAAQziB,QAAQ9rD,QAAQ68D,MAG/DkS,EACF/gF,KAAK8xE,MAAM5F,aAAav8C,EAAMhgB,MAAOggB,EAAMhuB,OAAS,EAAG4+E,EAAQziB,QAAQ9rD,QAAQ68D,MAE/E7uE,KAAK8xE,MAAM5F,aAAav8C,EAAMhgB,MAAQggB,EAAMhuB,OAAS,EAAG4+E,EAAQziB,QAAQ9rD,QAAQ68D,MAG7E,OACLoU,EAGN,SAAS3B,EAAgB3xD,EAAO7U,GAC9B,KAAoB,IAAhB6U,EAAMhgB,OAAe3P,KAAK8xE,MAAMlF,aAAe,GAAnD,CAEA,IAAIyW,EAAmBrjF,KAAK8xE,MAAMkQ,QAAQryD,EAAMhgB,OAE5CiZ,EADmBk/C,EAAeub,EAAkB,GAC5B,GAExBxuC,EAAU,GACd,GAAuB,IAAnB/5B,EAAQ8R,OAAc,CACxB,IAAI02D,EAAmBtjF,KAAK8xE,MAAMkQ,QAAQryD,EAAMhgB,MAAQ,GAEpDiW,EADmBkiD,EAAewb,EAAkB,GAC5B,GAE5B,GAAY,MAAR19D,GAAgBA,EAAKjkB,SAAW,EAAG,CACrC,IAAI4hF,EAAa36D,EAAKisB,UAClB2uC,EAAcxjF,KAAK8xE,MAAM9E,UAAUr9C,EAAMhgB,MAAQ,EAAG,GACxDklC,EAAU4/B,EAAK3W,QAAQ0B,WAAW38D,KAAK0gF,EAAYC,IAAgB,IAIvE,IAAI7hF,EAAS,kCAAkC6+E,KAAK1lE,EAAQ80B,QAAU,EAAI,EAC1E5vC,KAAK8xE,MAAMrG,WAAW97C,EAAMhgB,MAAQhO,EAAQA,EAAQ4+E,EAAQziB,QAAQ9rD,QAAQ68D,MACxEjtE,OAAOgG,KAAKitC,GAASlzC,OAAS,GAChC3B,KAAK8xE,MAAM9F,WAAWr8C,EAAMhgB,MAAQhO,EAAQA,EAAQkzC,EAAS0rC,EAAQziB,QAAQ9rD,QAAQ68D,MAEvF7uE,KAAK8xE,MAAMnG,SAGb,SAAS4V,EAAa5xD,EAAO7U,GAE3B,IAAInZ,EAAS,kCAAkC6+E,KAAK1lE,EAAQ07D,QAAU,EAAI,EAC1E,KAAI7mD,EAAMhgB,OAAS3P,KAAK8xE,MAAMlF,YAAcjrE,GAA5C,CACA,IAAIkzC,EAAU,GACV4uC,EAAa,EAEbC,EAAmB1jF,KAAK8xE,MAAMkQ,QAAQryD,EAAMhgB,OAE5CiZ,EADmBk/C,EAAe4b,EAAkB,GAC5B,GAE5B,GAAI5oE,EAAQ8R,QAAUhE,EAAKjnB,SAAW,EAAG,CACvC,IAAIgiF,EAAmB3jF,KAAK8xE,MAAMkQ,QAAQryD,EAAMhgB,MAAQ,GAEpDkgB,EADmBi4C,EAAe6b,EAAkB,GAC5B,GAE5B,GAAI9zD,EAAM,CACR,IAAI0zD,EAAa36D,EAAKisB,UAClB+uC,EAAc5jF,KAAK8xE,MAAM9E,UAAUr9C,EAAMhgB,MAAO,GACpDklC,EAAU4/B,EAAK3W,QAAQ0B,WAAW38D,KAAK0gF,EAAYK,IAAgB,GACnEH,EAAa5zD,EAAKluB,UAGtB3B,KAAK8xE,MAAMrG,WAAW97C,EAAMhgB,MAAOhO,EAAQ4+E,EAAQziB,QAAQ9rD,QAAQ68D,MAC/DjtE,OAAOgG,KAAKitC,GAASlzC,OAAS,GAChC3B,KAAK8xE,MAAM9F,WAAWr8C,EAAMhgB,MAAQ8zE,EAAa,EAAG9hF,EAAQkzC,EAAS0rC,EAAQziB,QAAQ9rD,QAAQ68D,OAIjG,SAAS2S,EAAkB7xD,GACzB,IAAI4a,EAAQvqC,KAAK8xE,MAAMqO,SAASxwD,GAC5BklB,EAAU,GACd,GAAItK,EAAM5oC,OAAS,EAAG,CACpB,IAAIkiF,EAAet5C,EAAM,GAAGsK,UACxBivC,EAAcv5C,EAAMA,EAAM5oC,OAAS,GAAGkzC,UAC1CA,EAAU4/B,EAAK3W,QAAQ0B,WAAW38D,KAAKihF,EAAaD,IAAiB,GAEvE7jF,KAAK8xE,MAAMrG,WAAW97C,EAAO4wD,EAAQziB,QAAQ9rD,QAAQ68D,MACjDjtE,OAAOgG,KAAKitC,GAASlzC,OAAS,GAChC3B,KAAK8xE,MAAM9F,WAAWr8C,EAAMhgB,MAAO,EAAGklC,EAAS0rC,EAAQziB,QAAQ9rD,QAAQ68D,MAEzE7uE,KAAK8xE,MAAM5F,aAAav8C,EAAMhgB,MAAO4wE,EAAQziB,QAAQ9rD,QAAQm6D,QAC7DnsE,KAAK8xE,MAAMnG,QAGb,SAASqV,EAAYrxD,EAAO7U,GAC1B,IAAIwwD,EAAStrE,KAET2vB,EAAMhuB,OAAS,GACjB3B,KAAK8xE,MAAMtI,OAAOoK,SAASjkD,EAAMhgB,MAAOggB,EAAMhuB,QAEhD,IAAIoiF,EAAcniF,OAAOgG,KAAKkT,EAAQi6B,QAAQ5I,QAAO,SAAU43C,EAAahvC,GAI1E,OAHI2wB,EAAY5H,QAAQI,MAAMnpB,EAAQ2wB,EAAY5H,QAAQC,MAAMgC,SAAWn3D,MAAMwH,QAAQ0K,EAAQi6B,OAAOA,MACtGgvC,EAAYhvC,GAAUj6B,EAAQi6B,OAAOA,IAEhCgvC,IACN,IACH/jF,KAAK8xE,MAAMjE,WAAWl+C,EAAMhgB,MAAO,KAAMo0E,EAAaxD,EAAQziB,QAAQ9rD,QAAQ68D,MAG9E7uE,KAAK8xE,MAAM5F,aAAav8C,EAAMhgB,MAAQ,EAAG4wE,EAAQziB,QAAQ9rD,QAAQm6D,QACjEnsE,KAAK8xE,MAAMnG,QACX/pE,OAAOgG,KAAKkT,EAAQi6B,QAAQltC,SAAQ,SAAUoD,GACnB,MAArB84E,EAAY94E,KACZrC,MAAMwH,QAAQ0K,EAAQi6B,OAAO9pC,KACpB,SAATA,GACJqgE,EAAOwG,MAAM/8B,OAAO9pC,EAAM6P,EAAQi6B,OAAO9pC,GAAOs1E,EAAQziB,QAAQ9rD,QAAQ68D,UAI5E,SAASmV,EAAqBC,GAC5B,MAAO,CACL3jF,IAAKogF,EAAS94E,KAAK4sE,IACnBuM,UAAWkD,EACXlvC,OAAQ,CAAE,cAAc,GACxB/a,QAAS,SAAiBrK,GACxB,IAAI2jD,EAAY5N,EAAY5H,QAAQI,MAAM,cACtCvuD,EAAQggB,EAAMhgB,MACdhO,EAASguB,EAAMhuB,OAEfuiF,EAAwBlkF,KAAK8xE,MAAMtI,OAAOmK,WAAWL,EAAW3jE,GAChEw0E,EAAyBrc,EAAeoc,EAAuB,GAC/Dvd,EAAQwd,EAAuB,GAC/Bv3D,EAASu3D,EAAuB,GAEpC,GAAa,MAATxd,EAAJ,CACA,IAAIyd,EAAcpkF,KAAK8xE,MAAMuS,SAAS1d,GAClC/oD,EAAQ+oD,EAAMmN,aAAalnD,GAAQ,GAAQ,EAC3CwC,EAAMu3C,EAAMmN,aAAasQ,EAAcx3D,EAASjrB,GAChD4oC,EAAQo8B,EAAMvQ,QAAQod,YAAY1qE,MAAM8U,EAAOwR,GAAK/oB,MAAM,MAC9DumB,EAAS,EACT2d,EAAM1iC,SAAQ,SAAU+gB,EAAM9kB,GACxBmgF,GACFtd,EAAMC,SAAShpD,EAAQgP,EAAQ0mD,EAAUkB,KACzC5nD,GAAU0mD,EAAUkB,IAAI7yE,OACd,IAANmC,EACF6L,GAAS2jE,EAAUkB,IAAI7yE,OAEvBA,GAAU2xE,EAAUkB,IAAI7yE,QAEjBinB,EAAKuiD,WAAWmI,EAAUkB,OACnC7N,EAAMiN,SAASh2D,EAAQgP,EAAQ0mD,EAAUkB,IAAI7yE,QAC7CirB,GAAU0mD,EAAUkB,IAAI7yE,OACd,IAANmC,EACF6L,GAAS2jE,EAAUkB,IAAI7yE,OAEvBA,GAAU2xE,EAAUkB,IAAI7yE,QAG5BirB,GAAUhE,EAAKjnB,OAAS,KAE1B3B,KAAK8xE,MAAM9tD,OAAOu8D,EAAQziB,QAAQ9rD,QAAQ68D,MAC1C7uE,KAAK8xE,MAAM5F,aAAav8D,EAAOhO,EAAQ4+E,EAAQziB,QAAQ9rD,QAAQm6D,WAKrE,SAASmY,EAAkBvvC,GACzB,MAAO,CACLz0C,IAAKy0C,EAAO,GAAG9uC,cACfs+E,UAAU,EACVvqD,QAAS,SAAiBrK,EAAO7U,GAC/B9a,KAAK8xE,MAAM/8B,OAAOA,GAASj6B,EAAQi6B,OAAOA,GAASwrC,EAAQziB,QAAQ9rD,QAAQ68D,QAKjF,SAAS8S,EAAUD,GACjB,GAAuB,iBAAZA,GAA2C,iBAAZA,EACxC,OAAOC,EAAU,CAAErhF,IAAKohF,IAK1B,GAH0E,iBAAlD,IAAZA,EAA0B,YAAc9Z,EAAQ8Z,MAC1DA,GAAU,EAAI7M,EAAQ/W,SAAS4jB,GAAS,IAEf,iBAAhBA,EAAQphF,IACjB,GAAgD,MAA5CogF,EAAS94E,KAAK85E,EAAQphF,IAAI2F,eAC5By7E,EAAQphF,IAAMogF,EAAS94E,KAAK85E,EAAQphF,IAAI2F,mBACnC,IAA2B,IAAvBy7E,EAAQphF,IAAIqB,OAGrB,OAAO,KAFP+/E,EAAQphF,IAAMohF,EAAQphF,IAAI2F,cAAcu+E,WAAW,GASvD,OAJI9C,EAAQ6C,WACV7C,EAAQpB,GAAYoB,EAAQ6C,gBACrB7C,EAAQ6C,UAEV7C,EAtYThB,EAAS94E,KAAO,CACdy5E,UAAW,EACX7M,IAAK,EACLsM,MAAO,GACP2D,OAAQ,GACRvB,KAAM,GACNwB,GAAI,GACJvB,MAAO,GACPwB,KAAM,GACNrhB,OAAQ,IAGVod,EAAS1R,SAAW,CAClB4R,SAAU,CACR,KAAQ0D,EAAkB,QAC1B,OAAUA,EAAkB,UAC5B,UAAaA,EAAkB,aAC/B,OAAU,CAERhkF,IAAKogF,EAAS94E,KAAK4sE,IACnBz/B,OAAQ,CAAC,aAAc,SAAU,QACjC/a,QAAS,SAAiBrK,EAAO7U,GAC/B,GAAIA,EAAQw9D,WAAgC,IAAnBx9D,EAAQ8R,OAAc,OAAO,EACtD5sB,KAAK8xE,MAAM/8B,OAAO,SAAU,KAAMwrC,EAAQziB,QAAQ9rD,QAAQ68D,QAG9D,QAAW,CACTvuE,IAAKogF,EAAS94E,KAAK4sE,IACnBuM,UAAU,EACVhsC,OAAQ,CAAC,aAAc,SAAU,QAEjC/a,QAAS,SAAiBrK,EAAO7U,GAC/B,GAAIA,EAAQw9D,WAAgC,IAAnBx9D,EAAQ8R,OAAc,OAAO,EACtD5sB,KAAK8xE,MAAM/8B,OAAO,SAAU,KAAMwrC,EAAQziB,QAAQ9rD,QAAQ68D,QAG9D,oBAAqB,CACnBvuE,IAAKogF,EAAS94E,KAAKy5E,UACnB/I,WAAW,EACXyI,SAAU,KACVE,QAAS,KACTC,QAAS,KACTC,OAAQ,KACRpsC,OAAQ,CAAC,SAAU,QACnBnoB,OAAQ,EACRoN,QAAS,SAAiBrK,EAAO7U,GACF,MAAzBA,EAAQi6B,OAAOkvC,OACjBjkF,KAAK8xE,MAAM/8B,OAAO,SAAU,KAAMwrC,EAAQziB,QAAQ9rD,QAAQ68D,MAC1B,MAAvB/zD,EAAQi6B,OAAO9iB,MACxBjyB,KAAK8xE,MAAM/8B,OAAO,QAAQ,EAAOwrC,EAAQziB,QAAQ9rD,QAAQ68D,QAI/D,oBAAqBmV,GAAqB,GAC1C,qBAAsBA,GAAqB,GAC3C,aAAc,CACZ1jF,IAAKogF,EAAS94E,KAAK4sE,IACnBuM,UAAU,EACVzI,WAAW,EACX1oC,OAAQ,MACR5V,QAAS,SAAiBrK,GACxB3vB,KAAK8xE,MAAMrG,WAAW97C,EAAMhgB,MAAQ,EAAG,EAAG4wE,EAAQziB,QAAQ9rD,QAAQ68D,QAGtE,IAAO,CACLvuE,IAAKogF,EAAS94E,KAAK4sE,IACnBx6C,QAAS,SAAiBrK,GACxB3vB,KAAK8xE,MAAM9H,QAAQ4a,SACnB,IAAIriF,GAAQ,IAAIkjE,EAAa3H,SAAUyD,OAAO5xC,EAAMhgB,OAAOqyD,OAAOryC,EAAMhuB,QAAQ0/D,OAAO,MACvFrhE,KAAK8xE,MAAM+S,eAAetiF,EAAOg+E,EAAQziB,QAAQ9rD,QAAQ68D,MACzD7uE,KAAK8xE,MAAM9H,QAAQ4a,SACnB5kF,KAAK8xE,MAAM5F,aAAav8C,EAAMhgB,MAAQ,EAAG4wE,EAAQziB,QAAQ9rD,QAAQm6D,UAGrE,mBAAoB,CAClB7rE,IAAKogF,EAAS94E,KAAKk5E,MACnBxI,WAAW,EACXvjC,OAAQ,CAAC,QACT8tC,OAAO,EACP7oD,QAAS,SAAiBrK,EAAO7U,GAC/B9a,KAAK8xE,MAAM/8B,OAAO,QAAQ,EAAOwrC,EAAQziB,QAAQ9rD,QAAQ68D,MACrD/zD,EAAQi6B,OAAOkvC,QACjBjkF,KAAK8xE,MAAM/8B,OAAO,UAAU,EAAOwrC,EAAQziB,QAAQ9rD,QAAQ68D,QAIjE,kBAAmB,CACjBvuE,IAAKogF,EAAS94E,KAAKk5E,MACnBxI,WAAW,EACXvjC,OAAQ,CAAE9iB,KAAM,WAChB+H,QAAS,SAAiBrK,GACxB,IAAIm1D,EAAkB9kF,KAAK8xE,MAAMkQ,QAAQryD,EAAMhgB,OAC3Co1E,EAAkBjd,EAAegd,EAAiB,GAClDl8D,EAAOm8D,EAAgB,GACvBn4D,EAASm4D,EAAgB,GAEzBlwC,GAAU,EAAI0wB,EAASzH,SAAS,GAAIl1C,EAAKisB,UAAW,CAAE5iB,KAAM,YAC5D1vB,GAAQ,IAAIkjE,EAAa3H,SAAUyD,OAAO5xC,EAAMhgB,OAAO0xD,OAAO,KAAMxsB,GAAS0sB,OAAO34C,EAAKjnB,SAAWirB,EAAS,GAAG20C,OAAO,EAAG,CAAEtvC,KAAM,cACtIjyB,KAAK8xE,MAAM+S,eAAetiF,EAAOg+E,EAAQziB,QAAQ9rD,QAAQ68D,MACzD7uE,KAAK8xE,MAAM5F,aAAav8C,EAAMhgB,MAAQ,EAAG4wE,EAAQziB,QAAQ9rD,QAAQm6D,QACjEnsE,KAAK8xE,MAAMlG,mBAGf,eAAgB,CACdtrE,IAAKogF,EAAS94E,KAAKk5E,MACnBxI,WAAW,EACXvjC,OAAQ,CAAC,UACTyhC,OAAQ,KACRx8C,QAAS,SAAiBrK,EAAO7U,GAC/B,IAAIkqE,EAAkBhlF,KAAK8xE,MAAMkQ,QAAQryD,EAAMhgB,OAC3Cs1E,EAAkBnd,EAAekd,EAAiB,GAClDp8D,EAAOq8D,EAAgB,GACvBr4D,EAASq4D,EAAgB,GAEzB1iF,GAAQ,IAAIkjE,EAAa3H,SAAUyD,OAAO5xC,EAAMhgB,OAAO0xD,OAAO,KAAMvmD,EAAQi6B,QAAQwsB,OAAO34C,EAAKjnB,SAAWirB,EAAS,GAAG20C,OAAO,EAAG,CAAE2jB,OAAQ,OAC/IllF,KAAK8xE,MAAM+S,eAAetiF,EAAOg+E,EAAQziB,QAAQ9rD,QAAQ68D,MACzD7uE,KAAK8xE,MAAM5F,aAAav8C,EAAMhgB,MAAQ,EAAG4wE,EAAQziB,QAAQ9rD,QAAQm6D,QACjEnsE,KAAK8xE,MAAMlG,mBAGf,gBAAiB,CACftrE,IAAK,IACLg4E,WAAW,EACXvjC,OAAQ,CAAE9iB,MAAM,GAChB2d,OAAQ,kCACR5V,QAAS,SAAiBrK,EAAO7U,GAC/B,IAAInZ,EAASmZ,EAAQ80B,OAAOjuC,OAExBwjF,EAAkBnlF,KAAK8xE,MAAMkQ,QAAQryD,EAAMhgB,OAC3Cy1E,EAAkBtd,EAAeqd,EAAiB,GAClDv8D,EAAOw8D,EAAgB,GACvBx4D,EAASw4D,EAAgB,GAE7B,GAAIx4D,EAASjrB,EAAQ,OAAO,EAC5B,IAAIG,OAAQ,EACZ,OAAQgZ,EAAQ80B,OAAOu5B,QACrB,IAAK,KAAK,IAAK,MACbrnE,EAAQ,YACR,MACF,IAAK,MACHA,EAAQ,UACR,MACF,IAAK,IAAI,IAAK,IACZA,EAAQ,SACR,MACF,QACEA,EAAQ,UAEZ9B,KAAK8xE,MAAMjE,WAAWl+C,EAAMhgB,MAAO,IAAK4wE,EAAQziB,QAAQ9rD,QAAQ68D,MAChE7uE,KAAK8xE,MAAM9H,QAAQ4a,SACnB,IAAIriF,GAAQ,IAAIkjE,EAAa3H,SAAUyD,OAAO5xC,EAAMhgB,MAAQid,GAAQo1C,OAAOrgE,EAAS,GAAG4/D,OAAO34C,EAAKjnB,SAAW,EAAIirB,GAAQ20C,OAAO,EAAG,CAAEtvC,KAAMnwB,IAC5I9B,KAAK8xE,MAAM+S,eAAetiF,EAAOg+E,EAAQziB,QAAQ9rD,QAAQ68D,MACzD7uE,KAAK8xE,MAAM9H,QAAQ4a,SACnB5kF,KAAK8xE,MAAM5F,aAAav8C,EAAMhgB,MAAQhO,EAAQ4+E,EAAQziB,QAAQ9rD,QAAQm6D,UAG1E,YAAa,CACX7rE,IAAKogF,EAAS94E,KAAKk5E,MACnBxI,WAAW,EACXvjC,OAAQ,CAAC,cACTnF,OAAQ,QACR4mC,OAAQ,QACRx8C,QAAS,SAAiBrK,GACxB,IAAI01D,EAAkBrlF,KAAK8xE,MAAMkQ,QAAQryD,EAAMhgB,OAC3C21E,EAAmBxd,EAAeud,EAAiB,GACnDz8D,EAAO08D,EAAiB,GACxB14D,EAAS04D,EAAiB,GAE1B/iF,GAAQ,IAAIkjE,EAAa3H,SAAUyD,OAAO5xC,EAAMhgB,MAAQiZ,EAAKjnB,SAAWirB,EAAS,GAAG20C,OAAO,EAAG,CAAE,aAAc,OAAQS,OAAO,GACjIhiE,KAAK8xE,MAAM+S,eAAetiF,EAAOg+E,EAAQziB,QAAQ9rD,QAAQ68D,QAG7D,aAAcmU,EAAsBtC,EAAS94E,KAAKs7E,MAAM,GACxD,mBAAoBF,EAAsBtC,EAAS94E,KAAKs7E,MAAM,GAC9D,cAAeF,EAAsBtC,EAAS94E,KAAKu7E,OAAO,GAC1D,oBAAqBH,EAAsBtC,EAAS94E,KAAKu7E,OAAO,KA0NpE5jF,EAAQu+D,QAAU4iB,EAClBnhF,EAAQ+gF,SAAWA,GAIb,SAAU9gF,EAAQD,EAASq9D,GAEjC,aAGAh7D,OAAOC,eAAetC,EAAS,aAAc,CAC3CuC,OAAO,IAGT,IAEIojE,EAAO,SAASpmD,EAAI6E,EAAQ6b,EAAU2lC,GAA2B,OAAXxhD,IAAiBA,EAASyhD,SAASv8D,WAAW,IAAIw8D,EAAOzjE,OAAOqiE,yBAAyBtgD,EAAQ6b,GAAW,QAAax1B,IAATq7D,EAAoB,CAAE,IAAI79D,EAAS5F,OAAO0jE,eAAe3hD,GAAS,OAAe,OAAXnc,OAAmB,EAAkCsX,EAAItX,EAAQg4B,EAAU2lC,GAAoB,GAAI,UAAWE,EAAQ,OAAOA,EAAKvjE,MAAgB,IAAIg7D,EAASuI,EAAKvmD,IAAK,YAAe9U,IAAX8yD,EAAmDA,EAAO/zD,KAAKo8D,QAAnE,GAErZN,EAAe,WAAc,SAASC,EAAiB/1D,EAAQyuB,GAAS,IAAK,IAAI15B,EAAI,EAAGA,EAAI05B,EAAM77B,OAAQmC,IAAK,CAAE,IAAIghC,EAAatH,EAAM15B,GAAIghC,EAAWvhB,WAAauhB,EAAWvhB,aAAc,EAAOuhB,EAAWxhB,cAAe,EAAU,UAAWwhB,IAAYA,EAAWw/B,UAAW,GAAM1iE,OAAOC,eAAekN,EAAQ+1B,EAAWxkC,IAAKwkC,IAAiB,OAAO,SAAUigC,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYF,EAAiBC,EAAYl8D,UAAWm8D,GAAiBC,GAAaH,EAAiBC,EAAaE,GAAqBF,GAA7gB,GAIfW,EAAcF,EAFD5I,EAAoB,IAMjCiJ,EAASL,EAFD5I,EAAoB,IAIhC,SAAS4I,EAAuBr6D,GAAO,OAAOA,GAAOA,EAAI6xD,WAAa7xD,EAAM,CAAE2yD,QAAS3yD,GAQvF,IAAIo6E,EAAS,SAAUjf,GAUrB,SAASif,EAAOnvB,EAASuT,IAhB3B,SAAyB5D,EAAUhB,GAAe,KAAMgB,aAAoBhB,GAAgB,MAAM,IAAIiB,UAAU,qCAiB5GF,CAAgB9lE,KAAMulF,GAEtB,IAAIhmB,EAjBR,SAAoC1/D,EAAMkJ,GAAQ,IAAKlJ,EAAQ,MAAM,IAAIqmE,eAAe,6DAAgE,OAAOn9D,GAAyB,iBAATA,GAAqC,mBAATA,EAA8BlJ,EAAPkJ,EAiBlNk9D,CAA2BjmE,MAAOulF,EAAO5mD,WAAa/8B,OAAO0jE,eAAeigB,IAASx8E,KAAK/I,KAAMo2D,IAM5G,OAJAmJ,EAAMoK,UAAYA,EAClBpK,EAAMqY,SAAW1lD,SAASI,eAAeizD,EAAO3O,UAChDrX,EAAMnJ,QAAQ/jC,YAAYktC,EAAMqY,UAChCrY,EAAMrvC,QAAU,EACTqvC,EAwHT,OA7IF,SAAmB6G,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIL,UAAU,kEAAoEK,GAAeD,EAASv9D,UAAYjH,OAAOo8D,OAAOqI,GAAcA,EAAWx9D,UAAW,CAAE6J,YAAa,CAAE5Q,MAAOskE,EAAU7iD,YAAY,EAAO+gD,UAAU,EAAMhhD,cAAc,KAAe+iD,IAAYzkE,OAAOs9D,eAAiBt9D,OAAOs9D,eAAekH,EAAUC,GAAcD,EAASznC,UAAY0nC,GAG/dF,CAAUof,EAAQjf,GAElBzB,EAAa0gB,EAAQ,KAAM,CAAC,CAC1BjlF,IAAK,QACLwB,MAAO,gBAiBT+iE,EAAa0gB,EAAQ,CAAC,CACpBjlF,IAAK,SACLwB,MAAO,WAEc,MAAf9B,KAAKwH,QAAgBxH,KAAKwH,OAAOu8B,YAAY/jC,QAElD,CACDM,IAAK,SACLwB,MAAO,SAAgBmJ,EAAMnJ,GAC3B,GAAqB,IAAjB9B,KAAKkwB,QACP,OAAOg1C,EAAKqgB,EAAO18E,UAAU81B,WAAa/8B,OAAO0jE,eAAeigB,EAAO18E,WAAY,SAAU7I,MAAM+I,KAAK/I,KAAMiL,EAAMnJ,GAItH,IAFA,IAAIiN,EAAS/O,KACT2P,EAAQ,EACK,MAAVZ,GAAkBA,EAAOw4D,QAAQz0D,QAAU4yD,EAAY5H,QAAQC,MAAM8I,YAC1El3D,GAASZ,EAAO6d,OAAO7d,EAAOvH,QAC9BuH,EAASA,EAAOvH,OAEJ,MAAVuH,IACF/O,KAAKkwB,QAAUq1D,EAAO3O,SAASj1E,OAC/BoN,EAAOulE,WACPvlE,EAAOklE,SAAStkE,EAAO41E,EAAO3O,SAASj1E,OAAQsJ,EAAMnJ,GACrD9B,KAAKkwB,QAAU,KAGlB,CACD5vB,IAAK,QACLwB,MAAO,SAAe0G,EAAMokB,GAC1B,OAAIpkB,IAASxI,KAAK43E,SAAiB,EAC5B1S,EAAKqgB,EAAO18E,UAAU81B,WAAa/8B,OAAO0jE,eAAeigB,EAAO18E,WAAY,QAAS7I,MAAM+I,KAAK/I,KAAMwI,EAAMokB,KAEpH,CACDtsB,IAAK,SACLwB,MAAO,WACL,OAAO9B,KAAKkwB,UAEb,CACD5vB,IAAK,WACLwB,MAAO,WACL,MAAO,CAAC9B,KAAK43E,SAAU53E,KAAK43E,SAAS91D,KAAKngB,UAE3C,CACDrB,IAAK,SACLwB,MAAO,WACLojE,EAAKqgB,EAAO18E,UAAU81B,WAAa/8B,OAAO0jE,eAAeigB,EAAO18E,WAAY,SAAU7I,MAAM+I,KAAK/I,MACjGA,KAAKwH,OAAS,OAEf,CACDlH,IAAK,UACLwB,MAAO,WACL,IAAI9B,KAAK2pE,UAAU0N,WAA4B,MAAfr3E,KAAKwH,OAArC,CACA,IAAIowE,EAAW53E,KAAK43E,SAChBjoD,EAAQ3vB,KAAK2pE,UAAUgO,iBACvB6N,OAAc,EACd5nE,OAAQ,EACRwR,OAAM,EACV,GAAa,MAATO,GAAiBA,EAAM/R,MAAMpV,OAASovE,GAAYjoD,EAAMP,IAAI5mB,OAASovE,EAAU,CACjF,IAAInG,EAAO,CAACmG,EAAUjoD,EAAM/R,MAAMgP,OAAQ+C,EAAMP,IAAIxC,QACpD44D,EAAc/T,EAAK,GACnB7zD,EAAQ6zD,EAAK,GACbriD,EAAMqiD,EAAK,GAGb,KAAiC,MAA1BzxE,KAAKo2D,QAAQ4jB,WAAqBh6E,KAAKo2D,QAAQ4jB,YAAch6E,KAAK43E,UACvE53E,KAAKo2D,QAAQpzB,WAAWU,aAAa1jC,KAAKo2D,QAAQ4jB,UAAWh6E,KAAKo2D,SAEpE,GAAIp2D,KAAK43E,SAAS91D,OAASyjE,EAAO3O,SAAU,CAC1C,IAAIjkD,EAAO3yB,KAAK43E,SAAS91D,KAAKzb,MAAMk/E,EAAO3O,UAAUpwE,KAAK,IACtDxG,KAAK6vB,gBAAgBg2C,EAAO/H,SAC9B0nB,EAAcxlF,KAAK6vB,KAAKumC,QACxBp2D,KAAK6vB,KAAK+2C,SAAS,EAAGj0C,GACtB3yB,KAAK43E,SAAS91D,KAAOyjE,EAAO3O,WAE5B52E,KAAK43E,SAAS91D,KAAO6Q,EACrB3yB,KAAKwH,OAAOk8B,aAAagiC,EAAY5H,QAAQE,OAAOh+D,KAAK43E,UAAW53E,MACpEA,KAAK43E,SAAW1lD,SAASI,eAAeizD,EAAO3O,UAC/C52E,KAAKo2D,QAAQ/jC,YAAYryB,KAAK43E,WAIlC,GADA53E,KAAK6jC,SACQ,MAATjmB,EAAe,CACjB,IAIIoyD,EAjIwa,SAAU11B,EAAKx2C,GAAK,GAAI8E,MAAMwH,QAAQkqC,GAAQ,OAAOA,EAAY,GAAIutB,OAAO3F,YAAYtgE,OAAO04C,GAAQ,OAAxf,SAAuBA,EAAKx2C,GAAK,IAAIikE,EAAO,GAAQC,GAAK,EAAUC,GAAK,EAAWC,OAAKl+D,EAAW,IAAM,IAAK,IAAiCm+D,EAA7B1H,EAAKnmB,EAAIutB,OAAO3F,cAAmB8F,GAAMG,EAAK1H,EAAG5wC,QAAQu4C,QAAoBL,EAAK5sD,KAAKgtD,EAAGrmE,OAAsUgC,IAArTikE,EAAKpmE,QAAhDqmE,GAAK,IAAoE,MAAOK,GAAOJ,GAAK,EAAMC,EAAKG,EAAO,QAAU,KAAWL,GAAMvH,EAAW,QAAGA,EAAW,SAAO,QAAU,GAAIwH,EAAI,MAAMC,GAAQ,OAAOH,EAA6HO,CAAchuB,GAAkB,MAAM,IAAI0rB,UAAU,wDAiIlkB8B,CAJD,CAAClqD,EAAOwR,GAAK9oB,KAAI,SAAUsmB,GACpC,OAAOvqB,KAAKC,IAAI,EAAGD,KAAKD,IAAIojF,EAAY1jE,KAAKngB,OAAQirB,EAAS,QAQhE,MAAO,CACLorD,UAAWwN,EACXvN,YALFr6D,EAAQoyD,EAAM,GAMZkI,QAASsN,EACTrN,UANF/oD,EAAM4gD,EAAM,QAUf,CACD1vE,IAAK,SACLwB,MAAO,SAAgB0oE,EAAW1vD,GAChC,IAAIisD,EAAS/mE,KAEb,GAAIwqE,EAAUkR,MAAK,SAAUO,GAC3B,MAAyB,kBAAlBA,EAASptE,MAA4BotE,EAASltE,SAAWg4D,EAAO6Q,YACrE,CACF,IAAIjoD,EAAQ3vB,KAAK6X,UACb8X,IAAO7U,EAAQ6U,MAAQA,MAG9B,CACDrvB,IAAK,QACLwB,MAAO,WACL,MAAO,OAIJyjF,EA3II,CA4IX7f,EAAY5H,QAAQQ,OAEtBinB,EAAO5kB,SAAW,SAClB4kB,EAAOllD,UAAY,YACnBklD,EAAOplB,QAAU,OACjBolB,EAAO3O,SAAW,SAGlBr3E,EAAQu+D,QAAUynB,GAIZ,SAAU/lF,EAAQD,EAASq9D,GAEjC,aAGAh7D,OAAOC,eAAetC,EAAS,aAAc,CAC3CuC,OAAO,IAGT,IAEI4jE,EAAcF,EAFD5I,EAAoB,IAIjCgY,EAAShY,EAAoB,GAE7BwW,EAAU5N,EAAuBoP,GAErC,SAASpP,EAAuBr6D,GAAO,OAAOA,GAAOA,EAAI6xD,WAAa7xD,EAAM,CAAE2yD,QAAS3yD,GAQvF,IAAIgzD,EAAY,SAAUsnB,GAGxB,SAAStnB,IAGP,OAZJ,SAAyB4H,EAAUhB,GAAe,KAAMgB,aAAoBhB,GAAgB,MAAM,IAAIiB,UAAU,qCAU5GF,CAAgB9lE,KAAMm+D,GAR1B,SAAoCt+D,EAAMkJ,GAAQ,IAAKlJ,EAAQ,MAAM,IAAIqmE,eAAe,6DAAgE,OAAOn9D,GAAyB,iBAATA,GAAqC,mBAATA,EAA8BlJ,EAAPkJ,EAUvNk9D,CAA2BjmE,MAAOm+D,EAAUx/B,WAAa/8B,OAAO0jE,eAAenH,IAAYrtD,MAAM9Q,KAAMyF,YAGhH,OAXF,SAAmB2gE,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIL,UAAU,kEAAoEK,GAAeD,EAASv9D,UAAYjH,OAAOo8D,OAAOqI,GAAcA,EAAWx9D,UAAW,CAAE6J,YAAa,CAAE5Q,MAAOskE,EAAU7iD,YAAY,EAAO+gD,UAAU,EAAMhhD,cAAc,KAAe+iD,IAAYzkE,OAAOs9D,eAAiBt9D,OAAOs9D,eAAekH,EAAUC,GAAcD,EAASznC,UAAY0nC,GAG/dF,CAAUhI,EAAWsnB,GAQdtnB,EATO,CAUduH,EAAY5H,QAAQK,WAEtBA,EAAUsJ,gBAAkB,CAAC2L,EAAQtV,QAAS8W,EAAOjQ,WAAYxG,GAEjE5+D,EAAQu+D,QAAUK,GAIZ,SAAU3+D,EAAQD,EAASq9D,GAEjC,aAGAh7D,OAAOC,eAAetC,EAAS,aAAc,CAC3CuC,OAAO,IAETvC,EAAQmmF,WAAanmF,EAAQomF,WAAapmF,EAAQqmF,qBAAkB57E,EAEpE,IAQgCmB,EAR5B05D,EAAe,WAAc,SAASC,EAAiB/1D,EAAQyuB,GAAS,IAAK,IAAI15B,EAAI,EAAGA,EAAI05B,EAAM77B,OAAQmC,IAAK,CAAE,IAAIghC,EAAatH,EAAM15B,GAAIghC,EAAWvhB,WAAauhB,EAAWvhB,aAAc,EAAOuhB,EAAWxhB,cAAe,EAAU,UAAWwhB,IAAYA,EAAWw/B,UAAW,GAAM1iE,OAAOC,eAAekN,EAAQ+1B,EAAWxkC,IAAKwkC,IAAiB,OAAO,SAAUigC,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYF,EAAiBC,EAAYl8D,UAAWm8D,GAAiBC,GAAaH,EAAiBC,EAAaE,GAAqBF,GAA7gB,GAMfW,GAE4Bv6D,EAJfyxD,EAAoB,KAIgBzxD,EAAI6xD,WAAa7xD,EAAM,CAAE2yD,QAAS3yD,GAQnFy6E,EAAkB,SAAUC,GAG9B,SAASD,IAGP,OAZJ,SAAyB7f,EAAUhB,GAAe,KAAMgB,aAAoBhB,GAAgB,MAAM,IAAIiB,UAAU,qCAU5GF,CAAgB9lE,KAAM4lF,GAR1B,SAAoC/lF,EAAMkJ,GAAQ,IAAKlJ,EAAQ,MAAM,IAAIqmE,eAAe,6DAAgE,OAAOn9D,GAAyB,iBAATA,GAAqC,mBAATA,EAA8BlJ,EAAPkJ,EAUvNk9D,CAA2BjmE,MAAO4lF,EAAgBjnD,WAAa/8B,OAAO0jE,eAAesgB,IAAkB90E,MAAM9Q,KAAMyF,YAe5H,OAvBF,SAAmB2gE,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIL,UAAU,kEAAoEK,GAAeD,EAASv9D,UAAYjH,OAAOo8D,OAAOqI,GAAcA,EAAWx9D,UAAW,CAAE6J,YAAa,CAAE5Q,MAAOskE,EAAU7iD,YAAY,EAAO+gD,UAAU,EAAMhhD,cAAc,KAAe+iD,IAAYzkE,OAAOs9D,eAAiBt9D,OAAOs9D,eAAekH,EAAUC,GAAcD,EAASznC,UAAY0nC,GAG/dF,CAAUyf,EAAiBC,GAQ3BhhB,EAAa+gB,EAAiB,CAAC,CAC7BtlF,IAAK,QACLwB,MAAO,SAAes0D,GACpB,IAAIt0D,EA1BC,SAASgd,EAAI6E,EAAQ6b,EAAU2lC,GAA2B,OAAXxhD,IAAiBA,EAASyhD,SAASv8D,WAAW,IAAIw8D,EAAOzjE,OAAOqiE,yBAAyBtgD,EAAQ6b,GAAW,QAAax1B,IAATq7D,EAAoB,CAAE,IAAI79D,EAAS5F,OAAO0jE,eAAe3hD,GAAS,OAAe,OAAXnc,OAAmB,EAAkCsX,EAAItX,EAAQg4B,EAAU2lC,GAAoB,GAAI,UAAWE,EAAQ,OAAOA,EAAKvjE,MAAgB,IAAIg7D,EAASuI,EAAKvmD,IAAK,YAAe9U,IAAX8yD,EAAmDA,EAAO/zD,KAAKo8D,QAAnE,EA0BvYD,CAAK0gB,EAAgB/8E,UAAU81B,WAAa/8B,OAAO0jE,eAAesgB,EAAgB/8E,WAAY,QAAS7I,MAAM+I,KAAK/I,KAAMo2D,GACpI,OAAKt0D,EAAMqpE,WAAW,QAEf,KADPrpE,EAAQA,EAAMoxE,QAAQ,UAAW,IAAIA,QAAQ,UAAW,KACrC7sE,MAAM,KAAKC,KAAI,SAAU68D,GAC1C,OAAQ,KAAOz8D,SAASy8D,GAAWn9D,SAAS,KAAK8C,OAAO,MACvDtC,KAAK,IAJ8B1E,MAQnC8jF,EArBa,CAsBpBlgB,EAAY5H,QAAQa,WAAWG,OAE7B6mB,EAAa,IAAIjgB,EAAY5H,QAAQa,WAAWE,MAAM,QAAS,WAAY,CAC7E/rD,MAAO4yD,EAAY5H,QAAQC,MAAMiC,SAE/B0lB,EAAa,IAAIE,EAAgB,QAAS,QAAS,CACrD9yE,MAAO4yD,EAAY5H,QAAQC,MAAMiC,SAGnCzgE,EAAQqmF,gBAAkBA,EAC1BrmF,EAAQomF,WAAaA,EACrBpmF,EAAQmmF,WAAaA,GAIf,SAAUlmF,EAAQD,EAASq9D,GAEjC,aAGAh7D,OAAOC,eAAetC,EAAS,aAAc,CAC3CuC,OAAO,IAETvC,EAAQumF,SAAWvmF,EAAQu+D,aAAU9zD,EAErC,IAQgCmB,EAR5B05D,EAAe,WAAc,SAASC,EAAiB/1D,EAAQyuB,GAAS,IAAK,IAAI15B,EAAI,EAAGA,EAAI05B,EAAM77B,OAAQmC,IAAK,CAAE,IAAIghC,EAAatH,EAAM15B,GAAIghC,EAAWvhB,WAAauhB,EAAWvhB,aAAc,EAAOuhB,EAAWxhB,cAAe,EAAU,UAAWwhB,IAAYA,EAAWw/B,UAAW,GAAM1iE,OAAOC,eAAekN,EAAQ+1B,EAAWxkC,IAAKwkC,IAAiB,OAAO,SAAUigC,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYF,EAAiBC,EAAYl8D,UAAWm8D,GAAiBC,GAAaH,EAAiBC,EAAaE,GAAqBF,GAA7gB,GAEfG,EAAO,SAASpmD,EAAI6E,EAAQ6b,EAAU2lC,GAA2B,OAAXxhD,IAAiBA,EAASyhD,SAASv8D,WAAW,IAAIw8D,EAAOzjE,OAAOqiE,yBAAyBtgD,EAAQ6b,GAAW,QAAax1B,IAATq7D,EAAoB,CAAE,IAAI79D,EAAS5F,OAAO0jE,eAAe3hD,GAAS,OAAe,OAAXnc,OAAmB,EAAkCsX,EAAItX,EAAQg4B,EAAU2lC,GAAoB,GAAI,UAAWE,EAAQ,OAAOA,EAAKvjE,MAAgB,IAAIg7D,EAASuI,EAAKvmD,IAAK,YAAe9U,IAAX8yD,EAAmDA,EAAO/zD,KAAKo8D,QAAnE,GAcrZ4gB,EAAO,SAAU1S,GAGnB,SAAS0S,IAGP,OAZJ,SAAyBhgB,EAAUhB,GAAe,KAAMgB,aAAoBhB,GAAgB,MAAM,IAAIiB,UAAU,qCAU5GF,CAAgB9lE,KAAM+lF,GAR1B,SAAoClmF,EAAMkJ,GAAQ,IAAKlJ,EAAQ,MAAM,IAAIqmE,eAAe,6DAAgE,OAAOn9D,GAAyB,iBAATA,GAAqC,mBAATA,EAA8BlJ,EAAPkJ,EAUvNk9D,CAA2BjmE,MAAO+lF,EAAKpnD,WAAa/8B,OAAO0jE,eAAeygB,IAAOj1E,MAAM9Q,KAAMyF,YAgCtG,OAxCF,SAAmB2gE,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIL,UAAU,kEAAoEK,GAAeD,EAASv9D,UAAYjH,OAAOo8D,OAAOqI,GAAcA,EAAWx9D,UAAW,CAAE6J,YAAa,CAAE5Q,MAAOskE,EAAU7iD,YAAY,EAAO+gD,UAAU,EAAMhhD,cAAc,KAAe+iD,IAAYzkE,OAAOs9D,eAAiBt9D,OAAOs9D,eAAekH,EAAUC,GAAcD,EAASznC,UAAY0nC,GAG/dF,CAAU4f,EAAM1S,GAQhBxO,EAAakhB,EAAM,CAAC,CAClBzlF,IAAK,SACLwB,MAAO,SAAgBmJ,EAAMnJ,GAC3B,GAAImJ,IAASjL,KAAKunE,QAAQ5G,WAAa7+D,EAAO,OAAOojE,EAAK6gB,EAAKl9E,UAAU81B,WAAa/8B,OAAO0jE,eAAeygB,EAAKl9E,WAAY,SAAU7I,MAAM+I,KAAK/I,KAAMiL,EAAMnJ,GAC9JA,EAAQ9B,KAAK0S,YAAYozE,SAAShkF,GAClC9B,KAAKo2D,QAAQhkC,aAAa,OAAQtwB,MAElC,CAAC,CACHxB,IAAK,SACLwB,MAAO,SAAgBA,GACrB,IAAI0G,EAAO08D,EAAK6gB,EAAKpnD,WAAa/8B,OAAO0jE,eAAeygB,GAAO,SAAU/lF,MAAM+I,KAAK/I,KAAM8B,GAK1F,OAJAA,EAAQ9B,KAAK8lF,SAAShkF,GACtB0G,EAAK4pB,aAAa,OAAQtwB,GAC1B0G,EAAK4pB,aAAa,MAAO,uBACzB5pB,EAAK4pB,aAAa,SAAU,UACrB5pB,IAER,CACDlI,IAAK,UACLwB,MAAO,SAAiBs0D,GACtB,OAAOA,EAAQ90B,aAAa,UAE7B,CACDhhC,IAAK,WACLwB,MAAO,SAAkBkkF,GACvB,OAAOC,EAAUD,EAAKhmF,KAAKkmF,oBAAsBF,EAAMhmF,KAAKmmF,kBAIzDJ,EAtCE,GARqB56E,EAJlByxD,EAAoB,KAImBzxD,EAAI6xD,WAAa7xD,EAAM,CAAE2yD,QAAS3yD,IA+C5E2yD,SAOX,SAASmoB,EAAUD,EAAKI,GACtB,IAAIC,EAASn0D,SAASC,cAAc,KACpCk0D,EAAOC,KAAON,EACd,IAAIO,EAAWF,EAAOC,KAAKx9E,MAAM,EAAGu9E,EAAOC,KAAKnzE,QAAQ,MACxD,OAAOizE,EAAUjzE,QAAQozE,IAAa,EATxCR,EAAKplB,SAAW,OAChBolB,EAAK5lB,QAAU,IACf4lB,EAAKI,cAAgB,cACrBJ,EAAKG,mBAAqB,CAAC,OAAQ,QAAS,SAAU,OAStD3mF,EAAQu+D,QAAUioB,EAClBxmF,EAAQumF,SAAWG,GAIb,SAAUzmF,EAAQD,EAASq9D,GAEjC,aAGAh7D,OAAOC,eAAetC,EAAS,aAAc,CAC3CuC,OAAO,IAGT,IAAI8lE,EAA4B,mBAAXC,QAAoD,iBAApBA,OAAO3F,SAAwB,SAAU/2D,GAAO,cAAcA,GAAS,SAAUA,GAAO,OAAOA,GAAyB,mBAAX08D,QAAyB18D,EAAIuH,cAAgBm1D,QAAU18D,IAAQ08D,OAAOh/D,UAAY,gBAAkBsC,GAElQ05D,EAAe,WAAc,SAASC,EAAiB/1D,EAAQyuB,GAAS,IAAK,IAAI15B,EAAI,EAAGA,EAAI05B,EAAM77B,OAAQmC,IAAK,CAAE,IAAIghC,EAAatH,EAAM15B,GAAIghC,EAAWvhB,WAAauhB,EAAWvhB,aAAc,EAAOuhB,EAAWxhB,cAAe,EAAU,UAAWwhB,IAAYA,EAAWw/B,UAAW,GAAM1iE,OAAOC,eAAekN,EAAQ+1B,EAAWxkC,IAAKwkC,IAAiB,OAAO,SAAUigC,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYF,EAAiBC,EAAYl8D,UAAWm8D,GAAiBC,GAAaH,EAAiBC,EAAaE,GAAqBF,GAA7gB,GAIfyhB,EAAahhB,EAFD5I,EAAoB,KAMhC6pB,EAAajhB,EAFD5I,EAAoB,MAIpC,SAAS4I,EAAuBr6D,GAAO,OAAOA,GAAOA,EAAI6xD,WAAa7xD,EAAM,CAAE2yD,QAAS3yD,GAIvF,IAAIu7E,EAAiB,EAErB,SAASC,EAAoBzjE,EAASqjD,GACpCrjD,EAAQkP,aAAam0C,IAAiD,SAApCrjD,EAAQoe,aAAailC,KAGzD,IAAIqgB,EAAS,WACX,SAASA,EAAOC,GACd,IAAItnB,EAAQv/D,MAVhB,SAAyB+lE,EAAUhB,GAAe,KAAMgB,aAAoBhB,GAAgB,MAAM,IAAIiB,UAAU,qCAY5GF,CAAgB9lE,KAAM4mF,GAEtB5mF,KAAK6mF,OAASA,EACd7mF,KAAK8iC,UAAY5Q,SAASC,cAAc,QACxCnyB,KAAK8mF,cACL9mF,KAAK6mF,OAAO1vE,MAAM2gB,QAAU,OAC5B93B,KAAK6mF,OAAO7jD,WAAWU,aAAa1jC,KAAK8iC,UAAW9iC,KAAK6mF,QAEzD7mF,KAAK6tB,MAAM8R,iBAAiB,aAAa,WACvC4/B,EAAMwnB,kBAER/mF,KAAK6tB,MAAM8R,iBAAiB,WAAW,SAAUqC,GAC/C,OAAQA,EAAM6/C,SAEZ,KAAK2E,EAAW1oB,QAAQl2D,KAAKk5E,MAC3BvhB,EAAMwnB,eACN,MAGF,KAAKP,EAAW1oB,QAAQl2D,KAAK68E,OAC3BllB,EAAMynB,SACNhlD,EAAM+gD,qBAKZ/iF,KAAK6mF,OAAOlnD,iBAAiB,SAAU3/B,KAAKgkB,OAAO4e,KAAK5iC,OA4K1D,OAzKA6kE,EAAa+hB,EAAQ,CAAC,CACpBtmF,IAAK,eACLwB,MAAO,WACL9B,KAAK8iC,UAAUS,UAAU8mC,OAAO,eAEhCsc,EAAoB3mF,KAAK6tB,MAAO,iBAChC84D,EAAoB3mF,KAAK0R,QAAS,iBAEnC,CACDpR,IAAK,YACLwB,MAAO,SAAmBmlF,GACxB,IAAIlgB,EAAS/mE,KAETqT,EAAO6e,SAASC,cAAc,QA+BlC,OA9BA9e,EAAK6zE,SAAW,IAChB7zE,EAAK+e,aAAa,OAAQ,UAE1B/e,EAAKkwB,UAAUC,IAAI,kBACfyjD,EAAOE,aAAa,UACtB9zE,EAAK+e,aAAa,aAAc60D,EAAO3lD,aAAa,UAElD2lD,EAAOzT,aACTngE,EAAK+e,aAAa,aAAc60D,EAAOzT,aAEzCngE,EAAKssB,iBAAiB,SAAS,WAC7BonC,EAAOqgB,WAAW/zE,GAAM,MAE1BA,EAAKssB,iBAAiB,WAAW,SAAUqC,GACzC,OAAQA,EAAM6/C,SAEZ,KAAK2E,EAAW1oB,QAAQl2D,KAAKk5E,MAC3B/Z,EAAOqgB,WAAW/zE,GAAM,GACxB2uB,EAAM+gD,iBACN,MAGF,KAAKyD,EAAW1oB,QAAQl2D,KAAK68E,OAC3B1d,EAAOigB,SACPhlD,EAAM+gD,qBAML1vE,IAER,CACD/S,IAAK,aACLwB,MAAO,WACL,IAAI+rB,EAAQqE,SAASC,cAAc,QAOnC,OANAtE,EAAM0V,UAAUC,IAAI,mBACpB3V,EAAMq7C,UAAYud,EAAW3oB,QAC7BjwC,EAAMq5D,SAAW,IACjBr5D,EAAMuE,aAAa,OAAQ,UAC3BvE,EAAMuE,aAAa,gBAAiB,SACpCpyB,KAAK8iC,UAAUzQ,YAAYxE,GACpBA,IAER,CACDvtB,IAAK,eACLwB,MAAO,WACL,IAAIwpE,EAAStrE,KAET0R,EAAUwgB,SAASC,cAAc,QACrCzgB,EAAQ6xB,UAAUC,IAAI,qBAGtB9xB,EAAQ0gB,aAAa,cAAe,QACpC1gB,EAAQw1E,SAAW,KAGnBx1E,EAAQ5B,GAAK,qBAAuB42E,EACpCA,GAAkB,EAClB1mF,KAAK6tB,MAAMuE,aAAa,gBAAiB1gB,EAAQ5B,IAEjD9P,KAAK0R,QAAUA,EAEf,GAAG5I,MAAMC,KAAK/I,KAAK6mF,OAAOn1E,SAAS7J,SAAQ,SAAUo/E,GACnD,IAAI5zE,EAAOi4D,EAAO+b,UAAUJ,GAC5Bv1E,EAAQ2gB,YAAYhf,IACI,IAApB4zE,EAAOK,UACThc,EAAO8b,WAAW/zE,MAGtBrT,KAAK8iC,UAAUzQ,YAAY3gB,KAE5B,CACDpR,IAAK,cACLwB,MAAO,WACL,IAAI+pE,EAAS7rE,KAEb,GAAG8I,MAAMC,KAAK/I,KAAK6mF,OAAOrnB,YAAY33D,SAAQ,SAAUwL,GACtDw4D,EAAO/oC,UAAU1Q,aAAa/e,EAAKpI,KAAMoI,EAAKvR,UAEhD9B,KAAK8iC,UAAUS,UAAUC,IAAI,aAC7BxjC,KAAK6tB,MAAQ7tB,KAAKunF,aAClBvnF,KAAKwnF,iBAEN,CACDlnF,IAAK,SACLwB,MAAO,WACL,IAAIsqE,EAASpsE,KAGbA,KAAKynF,QAGL5tB,YAAW,WACT,OAAOuS,EAAOv+C,MAAM89C,UACnB,KAEJ,CACDrrE,IAAK,QACLwB,MAAO,WACL9B,KAAK8iC,UAAUS,UAAUM,OAAO,eAChC7jC,KAAK6tB,MAAMuE,aAAa,gBAAiB,SACzCpyB,KAAK0R,QAAQ0gB,aAAa,cAAe,UAE1C,CACD9xB,IAAK,aACLwB,MAAO,SAAoBuR,GACzB,IAAIq0E,EAAUjiF,UAAU9D,OAAS,QAAsBqI,IAAjBvE,UAAU,IAAmBA,UAAU,GAEzE6hF,EAAWtnF,KAAK8iC,UAAUwsC,cAAc,gBAC5C,GAAIj8D,IAASi0E,IACG,MAAZA,GACFA,EAAS/jD,UAAUM,OAAO,eAEhB,MAARxwB,IACJA,EAAKkwB,UAAUC,IAAI,eACnBxjC,KAAK6mF,OAAOc,cAAgB,GAAGx0E,QAAQpK,KAAKsK,EAAK2vB,WAAWkkC,SAAU7zD,GAClEA,EAAK8zE,aAAa,cACpBnnF,KAAK6tB,MAAMuE,aAAa,aAAc/e,EAAKiuB,aAAa,eAExDthC,KAAK6tB,MAAMiU,gBAAgB,cAEzBzuB,EAAK8zE,aAAa,cACpBnnF,KAAK6tB,MAAMuE,aAAa,aAAc/e,EAAKiuB,aAAa,eAExDthC,KAAK6tB,MAAMiU,gBAAgB,cAEzB4lD,IAAS,CACX,GAAqB,mBAAVE,MACT5nF,KAAK6mF,OAAOgB,cAAc,IAAID,MAAM,gBAC/B,GAAsE,YAAhD,oBAAVA,MAAwB,YAAchgB,EAAQggB,QAAsB,CAErF,IAAI5lD,EAAQ9P,SAAS8N,YAAY,SACjCgC,EAAM8lD,UAAU,UAAU,GAAM,GAChC9nF,KAAK6mF,OAAOgB,cAAc7lD,GAE5BhiC,KAAKynF,WAGR,CACDnnF,IAAK,SACLwB,MAAO,WACL,IAAImlF,OAAS,EACb,GAAIjnF,KAAK6mF,OAAOc,eAAiB,EAAG,CAClC,IAAIt0E,EAAOrT,KAAK8iC,UAAUwsC,cAAc,sBAAsBpI,SAASlnE,KAAK6mF,OAAOc,eACnFV,EAASjnF,KAAK6mF,OAAOn1E,QAAQ1R,KAAK6mF,OAAOc,eACzC3nF,KAAKonF,WAAW/zE,QAEhBrT,KAAKonF,WAAW,MAElB,IAAIW,EAAqB,MAAVd,GAAkBA,IAAWjnF,KAAK6mF,OAAOvX,cAAc,oBACtEtvE,KAAK6tB,MAAM0V,UAAU8mC,OAAO,YAAa0d,OAItCnB,EA1MI,GA6MbrnF,EAAQu+D,QAAU8oB,GAIZ,SAAUpnF,EAAQD,EAASq9D,GAEjC,aAGAh7D,OAAOC,eAAetC,EAAS,aAAc,CAC3CuC,OAAO,IAGT,IAEI4jE,EAAcF,EAFD5I,EAAoB,IAMjC2jB,EAAU/a,EAFD5I,EAAoB,IAI7BgY,EAAShY,EAAoB,GAE7BwW,EAAU5N,EAAuBoP,GAIjCjP,EAAUH,EAFD5I,EAAoB,KAM7B+iB,EAAcna,EAFD5I,EAAoB,KAMjC+X,EAAWnP,EAFD5I,EAAoB,KAM9BorB,EAAUxiB,EAFD5I,EAAoB,KAM7BgJ,EAAWJ,EAFD5I,EAAoB,IAM9BqrB,EAAWziB,EAFD5I,EAAoB,KAM9BiJ,EAASL,EAFD5I,EAAoB,IAM5BsrB,EAAc1iB,EAFD5I,EAAoB,KAMjCurB,EAAY3iB,EAFD5I,EAAoB,KAM/B4pB,EAAahhB,EAFD5I,EAAoB,KAIpC,SAAS4I,EAAuBr6D,GAAO,OAAOA,GAAOA,EAAI6xD,WAAa7xD,EAAM,CAAE2yD,QAAS3yD,GAEvFo1E,EAAQziB,QAAQv5B,SAAS,CACvB,cAAe6uC,EAAQtV,QACvB,oBAAqB8W,EAAOjQ,WAC5B,cAAegB,EAAQ7H,QACvB,kBAAmB6hB,EAAY7hB,QAC/B,eAAgB6W,EAAS7W,QACzB,cAAekqB,EAAQlqB,QACvB,eAAgB8H,EAAS9H,QACzB,eAAgBmqB,EAASnqB,QACzB,aAAc+H,EAAO/H,QAErB,oBAAqBoqB,EAAYpqB,QACjC,kBAAmBqqB,EAAUrqB,QAC7B,mBAAoB0oB,EAAW1oB,UAGjC4H,EAAY5H,QAAQv5B,SAAS6uC,EAAQtV,QAAS6H,EAAQ7H,QAAS6W,EAAS7W,QAAS8H,EAAS9H,QAASmqB,EAASnqB,QAAS+H,EAAO/H,SAE5Hv+D,EAAQu+D,QAAUyiB,EAAQziB,SAIpB,SAAUt+D,EAAQD,EAASq9D,GAEjC,aAEAh7D,OAAOC,eAAetC,EAAS,aAAc,CAAEuC,OAAO,IACtD,IAAI+7D,EAAWjB,EAAoB,GAC/BwrB,EAA4B,WAC5B,SAASA,EAAWhyB,GAChBp2D,KAAKo2D,QAAUA,EAEfp2D,KAAKo2D,QAAQyH,EAASwC,UAAY,CAAEE,KAAMvgE,MAkJ9C,OAhJA4B,OAAOC,eAAeumF,EAAWv/E,UAAW,UAAW,CAEnDiW,IAAK,WACD,OAAO9e,KAAK0S,aAEhB6Q,YAAY,EACZD,cAAc,IAElB8kE,EAAWpqB,OAAS,SAAUl8D,GAC1B,GAAoB,MAAhB9B,KAAKmgE,QACL,MAAM,IAAItC,EAASuB,eAAe,mCAEtC,IAAI52D,EAwBJ,OAvBII,MAAMwH,QAAQpQ,KAAKmgE,UACE,iBAAVr+D,IACPA,EAAQA,EAAMmE,cACVS,SAAS5E,GAAOkE,aAAelE,IAC/BA,EAAQ4E,SAAS5E,KAIrB0G,EADiB,iBAAV1G,EACAowB,SAASC,cAAcnyB,KAAKmgE,QAAQr+D,EAAQ,IAE9C9B,KAAKmgE,QAAQhtD,QAAQrR,IAAU,EAC7BowB,SAASC,cAAcrwB,GAGvBowB,SAASC,cAAcnyB,KAAKmgE,QAAQ,KAI/C33D,EAAO0pB,SAASC,cAAcnyB,KAAKmgE,SAEnCngE,KAAKqgC,WACL73B,EAAK+6B,UAAUC,IAAIxjC,KAAKqgC,WAErB73B,GAEX4/E,EAAWv/E,UAAU0vE,OAAS,WACP,MAAfv4E,KAAKwH,SACLxH,KAAKwpE,OAASxpE,KAAKwH,OAAOgiE,SAGlC4e,EAAWv/E,UAAU+F,MAAQ,WACzB,IAAIwnD,EAAUp2D,KAAKo2D,QAAQiyB,WAAU,GACrC,OAAOxqB,EAASG,OAAO5H,IAE3BgyB,EAAWv/E,UAAU0yE,OAAS,WACP,MAAfv7E,KAAKwH,QACLxH,KAAKwH,OAAOu8B,YAAY/jC,aAErBA,KAAKo2D,QAAQyH,EAASwC,WAEjC+nB,EAAWv/E,UAAU+qE,SAAW,SAAUjkE,EAAOhO,GAClC3B,KAAKuwE,QAAQ5gE,EAAOhO,GAC1BkiC,UAETukD,EAAWv/E,UAAUorE,SAAW,SAAUtkE,EAAOhO,EAAQsJ,EAAMnJ,GAC3D,IAAIy+D,EAAOvgE,KAAKuwE,QAAQ5gE,EAAOhO,GAC/B,GAAiD,MAA7Ck8D,EAASK,MAAMjzD,EAAM4yD,EAASE,MAAMuS,OAAiBxuE,EACrDy+D,EAAKiQ,KAAKvlE,EAAMnJ,QAEf,GAAsD,MAAlD+7D,EAASK,MAAMjzD,EAAM4yD,EAASE,MAAMiV,WAAoB,CAC7D,IAAIxrE,EAASq2D,EAASG,OAAOh+D,KAAKunE,QAAQz0D,OAC1CytD,EAAKiQ,KAAKhpE,GACVA,EAAOutC,OAAO9pC,EAAMnJ,KAG5BsmF,EAAWv/E,UAAU+9D,SAAW,SAAUj3D,EAAO7N,EAAO2kE,GACpD,IAAIlG,EAAc,MAAPkG,EAAc5I,EAASG,OAAO,OAAQl8D,GAAS+7D,EAASG,OAAOl8D,EAAO2kE,GAC7EW,EAAMpnE,KAAKqG,MAAMsJ,GACrB3P,KAAKwH,OAAOk8B,aAAa68B,EAAM6G,IAEnCghB,EAAWv/E,UAAU8yE,WAAa,SAAU2M,EAAY7M,QACpC,IAAZA,IAAsBA,EAAU,MACjB,MAAfz7E,KAAKwH,QACLxH,KAAKwH,OAAO0/D,SAASrjC,OAAO7jC,MAEhC,IAAIuoF,EAAa,KACjBD,EAAWphB,SAASxjC,aAAa1jC,KAAMy7E,GACxB,MAAXA,IACA8M,EAAa9M,EAAQrlB,SAErBp2D,KAAKo2D,QAAQpzB,YAAcslD,EAAWlyB,SACtCp2D,KAAKo2D,QAAQimB,aAAekM,GAC5BD,EAAWlyB,QAAQ1yB,aAAa1jC,KAAKo2D,QAASmyB,GAElDvoF,KAAKwH,OAAS8gF,EACdtoF,KAAKu4E,UAET6P,EAAWv/E,UAAU0nE,QAAU,SAAU5gE,EAAOhO,GAC5C,IAAIoN,EAAS/O,KAAKqG,MAAMsJ,GAExB,OADAZ,EAAO1I,MAAM1E,GACNoN,GAEXq5E,EAAWv/E,UAAUlH,OAAS,WAC1B,OAAO,GAEXymF,EAAWv/E,UAAU+jB,OAAS,SAAU8T,GAEpC,YADa,IAATA,IAAmBA,EAAO1gC,KAAKwH,QAChB,MAAfxH,KAAKwH,QAAkBxH,MAAQ0gC,EACxB,EACJ1gC,KAAKwH,OAAO0/D,SAASt6C,OAAO5sB,MAAQA,KAAKwH,OAAOolB,OAAO8T,IAElE0nD,EAAWv/E,UAAUyrE,SAAW,SAAUx5D,GAGC,MAAnC9a,KAAKo2D,QAAQyH,EAASwC,kBAEfrgE,KAAKo2D,QAAQyH,EAASwC,UAAUmK,WAG/C4d,EAAWv/E,UAAUg7B,OAAS,WACK,MAA3B7jC,KAAKo2D,QAAQpzB,YACbhjC,KAAKo2D,QAAQpzB,WAAWe,YAAY/jC,KAAKo2D,SAE7Cp2D,KAAKu7E,UAET6M,EAAWv/E,UAAUqqE,QAAU,SAAUnkE,GAChB,MAAjBA,EAAOvH,SAEXuH,EAAOvH,OAAOk8B,aAAa1jC,KAAM+O,EAAO8gB,MACxC9gB,EAAO80B,WAEXukD,EAAWv/E,UAAU2zE,YAAc,SAAUvxE,EAAMnJ,GAC/C,IAAI26E,EAA8B,iBAATxxE,EAAoB4yD,EAASG,OAAO/yD,EAAMnJ,GAASmJ,EAE5E,OADAwxE,EAAYvJ,QAAQlzE,MACby8E,GAEX2L,EAAWv/E,UAAUxC,MAAQ,SAAUsJ,EAAO23D,GAC1C,OAAiB,IAAV33D,EAAc3P,KAAOA,KAAK6vB,MAErCu4D,EAAWv/E,UAAUmb,OAAS,SAAUwmD,EAAW1vD,KAGnDstE,EAAWv/E,UAAU2nE,KAAO,SAAUvlE,EAAMnJ,GACxC,IAAI46E,EAA0B,iBAATzxE,EAAoB4yD,EAASG,OAAO/yD,EAAMnJ,GAASmJ,EAKxE,OAJmB,MAAfjL,KAAKwH,QACLxH,KAAKwH,OAAOk8B,aAAag5C,EAAS18E,KAAK6vB,MAE3C6sD,EAAQrqD,YAAYryB,MACb08E,GAEX0L,EAAWznB,SAAW,WACfynB,EAtJoB,GAwJ/B7oF,EAAQu+D,QAAUsqB,GAKZ,SAAU5oF,EAAQD,EAASq9D,GAEjC,aAEAh7D,OAAOC,eAAetC,EAAS,aAAc,CAAEuC,OAAO,IACtD,IAAI27D,EAAeb,EAAoB,IACnCc,EAAUd,EAAoB,IAC9Be,EAAUf,EAAoB,IAC9BiB,EAAWjB,EAAoB,GAC/B4rB,EAAiC,WACjC,SAASA,EAAgBpyB,GACrBp2D,KAAKw/D,WAAa,GAClBx/D,KAAKo2D,QAAUA,EACfp2D,KAAKi7E,QAyDT,OAvDAuN,EAAgB3/E,UAAU09D,UAAY,SAAUA,EAAWzkE,GAEnDA,EACIykE,EAAU/iC,IAAIxjC,KAAKo2D,QAASt0D,KACS,MAAjCykE,EAAUzkE,MAAM9B,KAAKo2D,SACrBp2D,KAAKw/D,WAAW+G,EAAU3F,UAAY2F,SAG/BvmE,KAAKw/D,WAAW+G,EAAU3F,YAKzC2F,EAAU1iC,OAAO7jC,KAAKo2D,gBACfp2D,KAAKw/D,WAAW+G,EAAU3F,YAGzC4nB,EAAgB3/E,UAAUoyE,MAAQ,WAC9B,IAAI1b,EAAQv/D,KACZA,KAAKw/D,WAAa,GAClB,IAAIA,EAAa/B,EAAaK,QAAQl2D,KAAK5H,KAAKo2D,SAC5CqJ,EAAU/B,EAAQI,QAAQl2D,KAAK5H,KAAKo2D,SACpCqyB,EAAS9qB,EAAQG,QAAQl2D,KAAK5H,KAAKo2D,SACvCoJ,EACKvzD,OAAOwzD,GACPxzD,OAAOw8E,GACP5gF,SAAQ,SAAUoD,GACnB,IAAIy9E,EAAO7qB,EAASK,MAAMjzD,EAAM4yD,EAASE,MAAMiV,WAC3C0V,aAAgBjrB,EAAaK,UAC7ByB,EAAMC,WAAWkpB,EAAK9nB,UAAY8nB,OAI9CF,EAAgB3/E,UAAU27D,KAAO,SAAUz1D,GACvC,IAAIwwD,EAAQv/D,KACZ4B,OAAOgG,KAAK5H,KAAKw/D,YAAY33D,SAAQ,SAAUvH,GAC3C,IAAIwB,EAAQy9D,EAAMC,WAAWl/D,GAAKwB,MAAMy9D,EAAMnJ,SAC9CrnD,EAAOgmC,OAAOz0C,EAAKwB,OAG3B0mF,EAAgB3/E,UAAU8zE,KAAO,SAAU5tE,GACvC,IAAIwwD,EAAQv/D,KACZA,KAAKwkE,KAAKz1D,GACVnN,OAAOgG,KAAK5H,KAAKw/D,YAAY33D,SAAQ,SAAUvH,GAC3Ci/D,EAAMC,WAAWl/D,GAAKujC,OAAO07B,EAAMnJ,YAEvCp2D,KAAKw/D,WAAa,IAEtBgpB,EAAgB3/E,UAAUwC,OAAS,WAC/B,IAAIk0D,EAAQv/D,KACZ,OAAO4B,OAAOgG,KAAK5H,KAAKw/D,YAAYrzB,QAAO,SAAUqzB,EAAYv0D,GAE7D,OADAu0D,EAAWv0D,GAAQs0D,EAAMC,WAAWv0D,GAAMnJ,MAAMy9D,EAAMnJ,SAC/CoJ,IACR,KAEAgpB,EA7DyB,GA+DpCjpF,EAAQu+D,QAAU0qB,GAKZ,SAAUhpF,EAAQD,EAASq9D,GAEjC,aAEA,IACQoC,EADJC,EAAaj/D,MAAQA,KAAKi/D,YACtBD,EAAgBp9D,OAAOs9D,gBACtB,CAAEvgC,UAAW,cAAgB/1B,OAAS,SAAUw/B,EAAGjmC,GAAKimC,EAAEzJ,UAAYx8B,IACvE,SAAUimC,EAAGjmC,GAAK,IAAK,IAAIiC,KAAKjC,EAAOA,EAAElC,eAAemE,KAAIgkC,EAAEhkC,GAAKjC,EAAEiC,KAClE,SAAUgkC,EAAGjmC,GAEhB,SAASg9D,IAAOn/D,KAAK0S,YAAc01B,EADnC42B,EAAc52B,EAAGjmC,GAEjBimC,EAAEv/B,UAAkB,OAAN1G,EAAaP,OAAOo8D,OAAO77D,IAAMg9D,EAAGt2D,UAAY1G,EAAE0G,UAAW,IAAIs2D,KAKvF,SAASh5D,EAAMqC,EAAMonC,GAEjB,OADgBpnC,EAAK84B,aAAa,UAAY,IAC7Bj7B,MAAM,OAAOkxB,QAAO,SAAUtsB,GAC3C,OAAsC,IAA/BA,EAAKkI,QAAQy8B,EAAS,QALrChuC,OAAOC,eAAetC,EAAS,aAAc,CAAEuC,OAAO,IAQtD,IAAI6mF,EAAiC,SAAUtpB,GAE3C,SAASspB,IACL,OAAkB,OAAXtpB,GAAmBA,EAAOvuD,MAAM9Q,KAAMyF,YAAczF,KA+B/D,OAjCAi/D,EAAU0pB,EAAiBtpB,GAI3BspB,EAAgB/gF,KAAO,SAAUY,GAC7B,OAAQA,EAAK84B,aAAa,UAAY,IAAIj7B,MAAM,OAAOC,KAAI,SAAU2E,GACjE,OAAOA,EACF5E,MAAM,KACNyC,MAAM,GAAI,GACVtC,KAAK,SAGlBmiF,EAAgB9/E,UAAU26B,IAAM,SAAUh7B,EAAM1G,GAC5C,QAAK9B,KAAKizE,OAAOzqE,EAAM1G,KAEvB9B,KAAK6jC,OAAOr7B,GACZA,EAAK+6B,UAAUC,IAAIxjC,KAAK6gE,QAAU,IAAM/+D,IACjC,IAEX6mF,EAAgB9/E,UAAUg7B,OAAS,SAAUr7B,GAC3BrC,EAAMqC,EAAMxI,KAAK6gE,SACvBh5D,SAAQ,SAAUoD,GACtBzC,EAAK+6B,UAAUM,OAAO54B,MAEI,IAA1BzC,EAAK+6B,UAAU5hC,QACf6G,EAAKs5B,gBAAgB,UAG7B6mD,EAAgB9/E,UAAU/G,MAAQ,SAAU0G,GACxC,IACI1G,GADSqE,EAAMqC,EAAMxI,KAAK6gE,SAAS,IAAM,IAC1B/3D,MAAM9I,KAAK6gE,QAAQl/D,OAAS,GAC/C,OAAO3B,KAAKizE,OAAOzqE,EAAM1G,GAASA,EAAQ,IAEvC6mF,EAlCyB,CAPjB/rB,EAAoB,IA0CxBkB,SACfv+D,EAAQu+D,QAAU6qB,GAKZ,SAAUnpF,EAAQD,EAASq9D,GAEjC,aAEA,IACQoC,EADJC,EAAaj/D,MAAQA,KAAKi/D,YACtBD,EAAgBp9D,OAAOs9D,gBACtB,CAAEvgC,UAAW,cAAgB/1B,OAAS,SAAUw/B,EAAGjmC,GAAKimC,EAAEzJ,UAAYx8B,IACvE,SAAUimC,EAAGjmC,GAAK,IAAK,IAAIiC,KAAKjC,EAAOA,EAAElC,eAAemE,KAAIgkC,EAAEhkC,GAAKjC,EAAEiC,KAClE,SAAUgkC,EAAGjmC,GAEhB,SAASg9D,IAAOn/D,KAAK0S,YAAc01B,EADnC42B,EAAc52B,EAAGjmC,GAEjBimC,EAAEv/B,UAAkB,OAAN1G,EAAaP,OAAOo8D,OAAO77D,IAAMg9D,EAAGt2D,UAAY1G,EAAE0G,UAAW,IAAIs2D,KAKvF,SAASypB,EAAS39E,GACd,IAAI49E,EAAQ59E,EAAK5E,MAAM,KACnB28D,EAAO6lB,EACN//E,MAAM,GACNxC,KAAI,SAAUwiF,GACf,OAAOA,EAAK,GAAG7iF,cAAgB6iF,EAAKhgF,MAAM,MAEzCtC,KAAK,IACV,OAAOqiF,EAAM,GAAK7lB,EAVtBphE,OAAOC,eAAetC,EAAS,aAAc,CAAEuC,OAAO,IAYtD,IAAIinF,EAAiC,SAAU1pB,GAE3C,SAAS0pB,IACL,OAAkB,OAAX1pB,GAAmBA,EAAOvuD,MAAM9Q,KAAMyF,YAAczF,KA2B/D,OA7BAi/D,EAAU8pB,EAAiB1pB,GAI3B0pB,EAAgBnhF,KAAO,SAAUY,GAC7B,OAAQA,EAAK84B,aAAa,UAAY,IAAIj7B,MAAM,KAAKC,KAAI,SAAUxE,GAE/D,OADUA,EAAMuE,MAAM,KACX,GAAG8iE,WAGtB4f,EAAgBlgF,UAAU26B,IAAM,SAAUh7B,EAAM1G,GAC5C,QAAK9B,KAAKizE,OAAOzqE,EAAM1G,KAGvB0G,EAAK2O,MAAMyxE,EAAS5oF,KAAK6gE,UAAY/+D,GAC9B,IAEXinF,EAAgBlgF,UAAUg7B,OAAS,SAAUr7B,GAEzCA,EAAK2O,MAAMyxE,EAAS5oF,KAAK6gE,UAAY,GAChCr4D,EAAK84B,aAAa,UACnB94B,EAAKs5B,gBAAgB,UAG7BinD,EAAgBlgF,UAAU/G,MAAQ,SAAU0G,GAExC,IAAI1G,EAAQ0G,EAAK2O,MAAMyxE,EAAS5oF,KAAK6gE,UACrC,OAAO7gE,KAAKizE,OAAOzqE,EAAM1G,GAASA,EAAQ,IAEvCinF,EA9ByB,CAXjBnsB,EAAoB,IA0CxBkB,SACfv+D,EAAQu+D,QAAUirB,GAKZ,SAAUvpF,EAAQD,EAASq9D,GAEjC,aAGAh7D,OAAOC,eAAetC,EAAS,aAAc,CAC3CuC,OAAO,IAGT,IAAI+iE,EAAe,WAAc,SAASC,EAAiB/1D,EAAQyuB,GAAS,IAAK,IAAI15B,EAAI,EAAGA,EAAI05B,EAAM77B,OAAQmC,IAAK,CAAE,IAAIghC,EAAatH,EAAM15B,GAAIghC,EAAWvhB,WAAauhB,EAAWvhB,aAAc,EAAOuhB,EAAWxhB,cAAe,EAAU,UAAWwhB,IAAYA,EAAWw/B,UAAW,GAAM1iE,OAAOC,eAAekN,EAAQ+1B,EAAWxkC,IAAKwkC,IAAiB,OAAO,SAAUigC,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYF,EAAiBC,EAAYl8D,UAAWm8D,GAAiBC,GAAaH,EAAiBC,EAAaE,GAAqBF,GAA7gB,GAIfikB,EAAQ,WACV,SAASA,EAAMlX,EAAOpgE,IAHxB,SAAyBq0D,EAAUhB,GAAe,KAAMgB,aAAoBhB,GAAgB,MAAM,IAAIiB,UAAU,qCAI5GF,CAAgB9lE,KAAMgpF,GAEtBhpF,KAAK8xE,MAAQA,EACb9xE,KAAK0R,QAAUA,EACf1R,KAAK08D,QAAU,GAuBjB,OApBAmI,EAAamkB,EAAO,CAAC,CACnB1oF,IAAK,OACLwB,MAAO,WACL,IAAIy9D,EAAQv/D,KAEZ4B,OAAOgG,KAAK5H,KAAK0R,QAAQgrD,SAAS70D,SAAQ,SAAUoD,GACvB,MAAvBs0D,EAAM7C,QAAQzxD,IAChBs0D,EAAMuK,UAAU7+D,QAIrB,CACD3K,IAAK,YACLwB,MAAO,SAAmBmJ,GACxB,IAAImkE,EAAcpvE,KAAK8xE,MAAMp/D,YAAYu8D,OAAO,WAAahkE,GAE7D,OADAjL,KAAK08D,QAAQzxD,GAAQ,IAAImkE,EAAYpvE,KAAK8xE,MAAO9xE,KAAK0R,QAAQgrD,QAAQzxD,IAAS,IACxEjL,KAAK08D,QAAQzxD,OAIjB+9E,EA7BG,GAgCZA,EAAMha,SAAW,CACftS,QAAS,IAEXssB,EAAMC,OAAS,CACb,QAAWD,GAGbzpF,EAAQu+D,QAAUkrB,GAIZ,SAAUxpF,EAAQD,EAASq9D,GAEjC,aAGAh7D,OAAOC,eAAetC,EAAS,aAAc,CAC3CuC,OAAO,IAGT,IAAI+iE,EAAe,WAAc,SAASC,EAAiB/1D,EAAQyuB,GAAS,IAAK,IAAI15B,EAAI,EAAGA,EAAI05B,EAAM77B,OAAQmC,IAAK,CAAE,IAAIghC,EAAatH,EAAM15B,GAAIghC,EAAWvhB,WAAauhB,EAAWvhB,aAAc,EAAOuhB,EAAWxhB,cAAe,EAAU,UAAWwhB,IAAYA,EAAWw/B,UAAW,GAAM1iE,OAAOC,eAAekN,EAAQ+1B,EAAWxkC,IAAKwkC,IAAiB,OAAO,SAAUigC,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYF,EAAiBC,EAAYl8D,UAAWm8D,GAAiBC,GAAaH,EAAiBC,EAAaE,GAAqBF,GAA7gB,GAMfW,EAAcF,EAFD5I,EAAoB,IAMjCiJ,EAASL,EAFD5I,EAAoB,IAIhC,SAAS4I,EAAuBr6D,GAAO,OAAOA,GAAOA,EAAI6xD,WAAa7xD,EAAM,CAAE2yD,QAAS3yD,GAQvF,IAAI+9E,EAAa,SAEb5qB,EAAQ,SAAUgI,GAGpB,SAAShI,EAAM91D,IAXjB,SAAyBu9D,EAAUhB,GAAe,KAAMgB,aAAoBhB,GAAgB,MAAM,IAAIiB,UAAU,qCAY5GF,CAAgB9lE,KAAMs+D,GAEtB,IAAIiB,EAZR,SAAoC1/D,EAAMkJ,GAAQ,IAAKlJ,EAAQ,MAAM,IAAIqmE,eAAe,6DAAgE,OAAOn9D,GAAyB,iBAATA,GAAqC,mBAATA,EAA8BlJ,EAAPkJ,EAYlNk9D,CAA2BjmE,MAAOs+D,EAAM3/B,WAAa/8B,OAAO0jE,eAAehH,IAAQv1D,KAAK/I,KAAMwI,IAY1G,OAVA+2D,EAAM4pB,YAAcj3D,SAASC,cAAc,QAC3CotC,EAAM4pB,YAAY/2D,aAAa,mBAAmB,GAClD,GAAGtpB,MAAMC,KAAKw2D,EAAMnJ,QAAQ2jB,YAAYlyE,SAAQ,SAAUuhF,GACxD7pB,EAAM4pB,YAAY92D,YAAY+2D,MAEhC7pB,EAAM8pB,UAAYn3D,SAASI,eAAe42D,GAC1C3pB,EAAM+pB,WAAap3D,SAASI,eAAe42D,GAC3C3pB,EAAMnJ,QAAQ/jC,YAAYktC,EAAM8pB,WAChC9pB,EAAMnJ,QAAQ/jC,YAAYktC,EAAM4pB,aAChC5pB,EAAMnJ,QAAQ/jC,YAAYktC,EAAM+pB,YACzB/pB,EAiET,OAvFF,SAAmB6G,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIL,UAAU,kEAAoEK,GAAeD,EAASv9D,UAAYjH,OAAOo8D,OAAOqI,GAAcA,EAAWx9D,UAAW,CAAE6J,YAAa,CAAE5Q,MAAOskE,EAAU7iD,YAAY,EAAO+gD,UAAU,EAAMhhD,cAAc,KAAe+iD,IAAYzkE,OAAOs9D,eAAiBt9D,OAAOs9D,eAAekH,EAAUC,GAAcD,EAASznC,UAAY0nC,GAK/dF,CAAU7H,EAAOgI,GAoBjBzB,EAAavG,EAAO,CAAC,CACnBh+D,IAAK,QACLwB,MAAO,SAAe0G,EAAMokB,GAC1B,OAAIpkB,IAASxI,KAAKqpF,UAAkB,EAChC7gF,IAASxI,KAAKspF,WAAmB,EA7ChC,SAASxqE,EAAI6E,EAAQ6b,EAAU2lC,GAA2B,OAAXxhD,IAAiBA,EAASyhD,SAASv8D,WAAW,IAAIw8D,EAAOzjE,OAAOqiE,yBAAyBtgD,EAAQ6b,GAAW,QAAax1B,IAATq7D,EAAoB,CAAE,IAAI79D,EAAS5F,OAAO0jE,eAAe3hD,GAAS,OAAe,OAAXnc,OAAmB,EAAkCsX,EAAItX,EAAQg4B,EAAU2lC,GAAoB,GAAI,UAAWE,EAAQ,OAAOA,EAAKvjE,MAAgB,IAAIg7D,EAASuI,EAAKvmD,IAAK,YAAe9U,IAAX8yD,EAAmDA,EAAO/zD,KAAKo8D,QAAnE,EA8C5YD,CAAK5G,EAAMz1D,UAAU81B,WAAa/8B,OAAO0jE,eAAehH,EAAMz1D,WAAY,QAAS7I,MAAM+I,KAAK/I,KAAMwI,EAAMokB,KAElH,CACDtsB,IAAK,UACLwB,MAAO,SAAiB0G,GACtB,IAAImnB,OAAQ,EACRioD,OAAW,EACXjlD,EAAOnqB,EAAKsZ,KAAKzb,MAAM6iF,GAAY1iF,KAAK,IAC5C,GAAIgC,IAASxI,KAAKqpF,UAChB,GAAIrpF,KAAK4lB,gBAAgBigD,EAAO/H,QAAS,CACvC,IAAIyrB,EAAavpF,KAAK4lB,KAAKjkB,SAC3B3B,KAAK4lB,KAAKghD,SAAS2iB,EAAY52D,GAC/BhD,EAAQ,CACNqoD,UAAWh4E,KAAK4lB,KAAKwwC,QACrB6hB,YAAasR,EAAa52D,EAAKhxB,aAGjCi2E,EAAW1lD,SAASI,eAAeK,GACnC3yB,KAAKwH,OAAOk8B,aAAagiC,EAAY5H,QAAQE,OAAO4Z,GAAW53E,MAC/D2vB,EAAQ,CACNqoD,UAAWJ,EACXK,YAAatlD,EAAKhxB,aAGb6G,IAASxI,KAAKspF,aACnBtpF,KAAK6vB,gBAAgBg2C,EAAO/H,SAC9B99D,KAAK6vB,KAAK+2C,SAAS,EAAGj0C,GACtBhD,EAAQ,CACNqoD,UAAWh4E,KAAK6vB,KAAKumC,QACrB6hB,YAAatlD,EAAKhxB,UAGpBi2E,EAAW1lD,SAASI,eAAeK,GACnC3yB,KAAKwH,OAAOk8B,aAAagiC,EAAY5H,QAAQE,OAAO4Z,GAAW53E,KAAK6vB,MACpEF,EAAQ,CACNqoD,UAAWJ,EACXK,YAAatlD,EAAKhxB,UAKxB,OADA6G,EAAKsZ,KAAOonE,EACLv5D,IAER,CACDrvB,IAAK,SACLwB,MAAO,SAAgB0oE,EAAW1vD,GAChC,IAAIisD,EAAS/mE,KAEbwqE,EAAU3iE,SAAQ,SAAUo0E,GAC1B,GAAsB,kBAAlBA,EAASptE,OAA6BotE,EAASltE,SAAWg4D,EAAOsiB,WAAapN,EAASltE,SAAWg4D,EAAOuiB,YAAa,CACxH,IAAI35D,EAAQo3C,EAAOlvD,QAAQokE,EAASltE,QAChC4gB,IAAO7U,EAAQ6U,MAAQA,WAM5B2uC,EAnFG,CAoFVoH,EAAY5H,QAAQQ,OAEtB/+D,EAAQu+D,QAAUQ,GAIZ,SAAU9+D,EAAQD,EAASq9D,GAEjC,aAGAh7D,OAAOC,eAAetC,EAAS,aAAc,CAC3CuC,OAAO,IAETvC,EAAQiqF,WAAajqF,EAAQkqF,WAAalqF,EAAQmqF,oBAAiB1/E,EAEnE,IAIgCmB,EAF5Bu6D,GAE4Bv6D,EAJfyxD,EAAoB,KAIgBzxD,EAAI6xD,WAAa7xD,EAAM,CAAE2yD,QAAS3yD,GAEnFirB,EAAS,CACXtjB,MAAO4yD,EAAY5H,QAAQC,MAAMgC,MACjC0J,UAAW,CAAC,QAAS,SAAU,YAG7BigB,EAAiB,IAAIhkB,EAAY5H,QAAQa,WAAWC,UAAU,QAAS,QAASxoC,GAChFqzD,EAAa,IAAI/jB,EAAY5H,QAAQa,WAAWE,MAAM,QAAS,WAAYzoC,GAC3EozD,EAAa,IAAI9jB,EAAY5H,QAAQa,WAAWG,MAAM,QAAS,aAAc1oC,GAEjF72B,EAAQmqF,eAAiBA,EACzBnqF,EAAQkqF,WAAaA,EACrBlqF,EAAQiqF,WAAaA,GAIf,SAAUhqF,EAAQD,EAASq9D,GAEjC,aAGAh7D,OAAOC,eAAetC,EAAS,aAAc,CAC3CuC,OAAO,IAETvC,EAAQoqF,gBAAkBpqF,EAAQqqF,qBAAkB5/E,EAEpD,IAMgCmB,EAJ5Bu6D,GAI4Bv6D,EANfyxD,EAAoB,KAMgBzxD,EAAI6xD,WAAa7xD,EAAM,CAAE2yD,QAAS3yD,GAFnF0+E,EAASjtB,EAAoB,IAI7BgtB,EAAkB,IAAIlkB,EAAY5H,QAAQa,WAAWE,MAAM,aAAc,QAAS,CACpF/rD,MAAO4yD,EAAY5H,QAAQC,MAAMiC,SAE/B2pB,EAAkB,IAAIE,EAAOjE,gBAAgB,aAAc,mBAAoB,CACjF9yE,MAAO4yD,EAAY5H,QAAQC,MAAMiC,SAGnCzgE,EAAQqqF,gBAAkBA,EAC1BrqF,EAAQoqF,gBAAkBA,GAIpB,SAAUnqF,EAAQD,EAASq9D,GAEjC,aAGAh7D,OAAOC,eAAetC,EAAS,aAAc,CAC3CuC,OAAO,IAETvC,EAAQuqF,eAAiBvqF,EAAQwqF,eAAiBxqF,EAAQyqF,wBAAqBhgF,EAE/E,IAIgCmB,EAF5Bu6D,GAE4Bv6D,EAJfyxD,EAAoB,KAIgBzxD,EAAI6xD,WAAa7xD,EAAM,CAAE2yD,QAAS3yD,GAEnFirB,EAAS,CACXtjB,MAAO4yD,EAAY5H,QAAQC,MAAMgC,MACjC0J,UAAW,CAAC,QAGVugB,EAAqB,IAAItkB,EAAY5H,QAAQa,WAAWC,UAAU,YAAa,MAAOxoC,GACtF2zD,EAAiB,IAAIrkB,EAAY5H,QAAQa,WAAWE,MAAM,YAAa,eAAgBzoC,GACvF0zD,EAAiB,IAAIpkB,EAAY5H,QAAQa,WAAWG,MAAM,YAAa,YAAa1oC,GAExF72B,EAAQyqF,mBAAqBA,EAC7BzqF,EAAQwqF,eAAiBA,EACzBxqF,EAAQuqF,eAAiBA,GAInB,SAAUtqF,EAAQD,EAASq9D,GAEjC,aAGAh7D,OAAOC,eAAetC,EAAS,aAAc,CAC3CuC,OAAO,IAETvC,EAAQ0qF,UAAY1qF,EAAQ2qF,eAAYlgF,EAExC,IAQgCmB,EAR5B05D,EAAe,WAAc,SAASC,EAAiB/1D,EAAQyuB,GAAS,IAAK,IAAI15B,EAAI,EAAGA,EAAI05B,EAAM77B,OAAQmC,IAAK,CAAE,IAAIghC,EAAatH,EAAM15B,GAAIghC,EAAWvhB,WAAauhB,EAAWvhB,aAAc,EAAOuhB,EAAWxhB,cAAe,EAAU,UAAWwhB,IAAYA,EAAWw/B,UAAW,GAAM1iE,OAAOC,eAAekN,EAAQ+1B,EAAWxkC,IAAKwkC,IAAiB,OAAO,SAAUigC,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYF,EAAiBC,EAAYl8D,UAAWm8D,GAAiBC,GAAaH,EAAiBC,EAAaE,GAAqBF,GAA7gB,GAMfW,GAE4Bv6D,EAJfyxD,EAAoB,KAIgBzxD,EAAI6xD,WAAa7xD,EAAM,CAAE2yD,QAAS3yD,GAQnFirB,EAAS,CACXtjB,MAAO4yD,EAAY5H,QAAQC,MAAMiC,OACjCyJ,UAAW,CAAC,QAAS,cAGnBwgB,EAAY,IAAIvkB,EAAY5H,QAAQa,WAAWE,MAAM,OAAQ,UAAWzoC,GAqBxE8zD,EAAY,IAnBU,SAAUrE,GAGlC,SAASsE,IAGP,OAnBJ,SAAyBpkB,EAAUhB,GAAe,KAAMgB,aAAoBhB,GAAgB,MAAM,IAAIiB,UAAU,qCAiB5GF,CAAgB9lE,KAAMmqF,GAf1B,SAAoCtqF,EAAMkJ,GAAQ,IAAKlJ,EAAQ,MAAM,IAAIqmE,eAAe,6DAAgE,OAAOn9D,GAAyB,iBAATA,GAAqC,mBAATA,EAA8BlJ,EAAPkJ,EAiBvNk9D,CAA2BjmE,MAAOmqF,EAAoBxrD,WAAa/8B,OAAO0jE,eAAe6kB,IAAsBr5E,MAAM9Q,KAAMyF,YAUpI,OAzBF,SAAmB2gE,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIL,UAAU,kEAAoEK,GAAeD,EAASv9D,UAAYjH,OAAOo8D,OAAOqI,GAAcA,EAAWx9D,UAAW,CAAE6J,YAAa,CAAE5Q,MAAOskE,EAAU7iD,YAAY,EAAO+gD,UAAU,EAAMhhD,cAAc,KAAe+iD,IAAYzkE,OAAOs9D,eAAiBt9D,OAAOs9D,eAAekH,EAAUC,GAAcD,EAASznC,UAAY0nC,GAU/dF,CAAUgkB,EAAqBtE,GAQ/BhhB,EAAaslB,EAAqB,CAAC,CACjC7pF,IAAK,QACLwB,MAAO,SAAe0G,GACpB,OAjCK,SAASsW,EAAI6E,EAAQ6b,EAAU2lC,GAA2B,OAAXxhD,IAAiBA,EAASyhD,SAASv8D,WAAW,IAAIw8D,EAAOzjE,OAAOqiE,yBAAyBtgD,EAAQ6b,GAAW,QAAax1B,IAATq7D,EAAoB,CAAE,IAAI79D,EAAS5F,OAAO0jE,eAAe3hD,GAAS,OAAe,OAAXnc,OAAmB,EAAkCsX,EAAItX,EAAQg4B,EAAU2lC,GAAoB,GAAI,UAAWE,EAAQ,OAAOA,EAAKvjE,MAAgB,IAAIg7D,EAASuI,EAAKvmD,IAAK,YAAe9U,IAAX8yD,EAAmDA,EAAO/zD,KAAKo8D,QAAnE,EAiC5YD,CAAKilB,EAAoBthF,UAAU81B,WAAa/8B,OAAO0jE,eAAe6kB,EAAoBthF,WAAY,QAAS7I,MAAM+I,KAAK/I,KAAMwI,GAAM0qE,QAAQ,QAAS,QAI3JiX,EAhBiB,CAiBxBzkB,EAAY5H,QAAQa,WAAWG,OAEjB,CAAwB,OAAQ,cAAe1oC,GAE/D72B,EAAQ2qF,UAAYA,EACpB3qF,EAAQ0qF,UAAYA,GAId,SAAUzqF,EAAQD,EAASq9D,GAEjC,aAGAh7D,OAAOC,eAAetC,EAAS,aAAc,CAC3CuC,OAAO,IAETvC,EAAQ6qF,UAAY7qF,EAAQ8qF,eAAYrgF,EAExC,IAIgCmB,EAF5Bu6D,GAE4Bv6D,EAJfyxD,EAAoB,KAIgBzxD,EAAI6xD,WAAa7xD,EAAM,CAAE2yD,QAAS3yD,GAEnFk/E,EAAY,IAAI3kB,EAAY5H,QAAQa,WAAWE,MAAM,OAAQ,UAAW,CAC1E/rD,MAAO4yD,EAAY5H,QAAQC,MAAMiC,OACjCyJ,UAAW,CAAC,QAAS,QAAS,UAE5B2gB,EAAY,IAAI1kB,EAAY5H,QAAQa,WAAWG,MAAM,OAAQ,YAAa,CAC5EhsD,MAAO4yD,EAAY5H,QAAQC,MAAMiC,OACjCyJ,UAAW,CAAC,OAAQ,OAAQ,UAG9BlqE,EAAQ8qF,UAAYA,EACpB9qF,EAAQ6qF,UAAYA,GAId,SAAU5qF,EAAQD,EAASq9D,GAEjC,aAGAp9D,EAAOD,QAAU,CACf,MAAS,CACP,GAAIq9D,EAAoB,IACxB,OAAUA,EAAoB,IAC9B,MAASA,EAAoB,IAC7B,QAAWA,EAAoB,KAEjC,WAAcA,EAAoB,IAClC,WAAcA,EAAoB,IAClC,KAAQA,EAAoB,IAC5B,MAASA,EAAoB,IAC7B,KAAQA,EAAoB,IAC5B,aAAcA,EAAoB,IAClC,MAASA,EAAoB,IAC7B,UAAa,CACX,GAAIA,EAAoB,IACxB,IAAOA,EAAoB,KAE7B,MAAS,CACP,OAAUA,EAAoB,IAC9B,KAAQA,EAAoB,IAC5B,KAAQA,EAAoB,IAC5B,MAASA,EAAoB,KAE/B,QAAWA,EAAoB,IAC/B,OAAU,CACR,EAAKA,EAAoB,IACzB,EAAKA,EAAoB,KAE3B,OAAUA,EAAoB,IAC9B,MAASA,EAAoB,IAC7B,OAAU,CACR,KAAMA,EAAoB,IAC1B,KAAMA,EAAoB,KAE5B,KAAQA,EAAoB,IAC5B,KAAQ,CACN,QAAWA,EAAoB,IAC/B,OAAUA,EAAoB,KAC9B,MAASA,EAAoB,MAE/B,OAAU,CACR,IAAOA,EAAoB,KAC3B,MAASA,EAAoB,MAE/B,OAAUA,EAAoB,KAC9B,UAAaA,EAAoB,KACjC,MAASA,EAAoB,OAKzB,SAAUp9D,EAAQD,EAASq9D,GAEjC,aAGAh7D,OAAOC,eAAetC,EAAS,aAAc,CAC3CuC,OAAO,IAETvC,EAAQ+qF,mBAAqB/qF,EAAQu+D,aAAU9zD,EAE/C,IAAI66D,EAAe,WAAc,SAASC,EAAiB/1D,EAAQyuB,GAAS,IAAK,IAAI15B,EAAI,EAAGA,EAAI05B,EAAM77B,OAAQmC,IAAK,CAAE,IAAIghC,EAAatH,EAAM15B,GAAIghC,EAAWvhB,WAAauhB,EAAWvhB,aAAc,EAAOuhB,EAAWxhB,cAAe,EAAU,UAAWwhB,IAAYA,EAAWw/B,UAAW,GAAM1iE,OAAOC,eAAekN,EAAQ+1B,EAAWxkC,IAAKwkC,IAAiB,OAAO,SAAUigC,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYF,EAAiBC,EAAYl8D,UAAWm8D,GAAiBC,GAAaH,EAAiBC,EAAaE,GAAqBF,GAA7gB,GAIfW,EAAcF,EAFD5I,EAAoB,IAMjC2jB,EAAU/a,EAFD5I,EAAoB,IAQjC,SAAS4I,EAAuBr6D,GAAO,OAAOA,GAAOA,EAAI6xD,WAAa7xD,EAAM,CAAE2yD,QAAS3yD,GAQvF,IAAIo/E,EAAU,SAAU5J,GAGtB,SAAS4J,EAAQzY,EAAOpgE,IAT1B,SAAyBq0D,EAAUhB,GAAe,KAAMgB,aAAoBhB,GAAgB,MAAM,IAAIiB,UAAU,qCAU5GF,CAAgB9lE,KAAMuqF,GAEtB,IAAIhrB,EAVR,SAAoC1/D,EAAMkJ,GAAQ,IAAKlJ,EAAQ,MAAM,IAAIqmE,eAAe,6DAAgE,OAAOn9D,GAAyB,iBAATA,GAAqC,mBAATA,EAA8BlJ,EAAPkJ,EAUlNk9D,CAA2BjmE,MAAOuqF,EAAQ5rD,WAAa/8B,OAAO0jE,eAAeilB,IAAUxhF,KAAK/I,KAAM8xE,EAAOpgE,IAkBrH,OAhBA6tD,EAAMirB,aAAe,EACrBjrB,EAAMkrB,cAAe,EACrBlrB,EAAMrpD,QACNqpD,EAAMuS,MAAM5H,GAAGqW,EAAQziB,QAAQ5tB,OAAOi6B,eAAe,SAAU4G,EAAWxuE,EAAOmtE,EAAU5gE,GACrFiiE,IAAcwP,EAAQziB,QAAQ5tB,OAAOk6B,aAAe7K,EAAMkrB,eACzDlrB,EAAM7tD,QAAQg5E,UAAY57E,IAAWyxE,EAAQziB,QAAQ9rD,QAAQ68D,KAGhEtP,EAAMmE,UAAUnhE,GAFhBg9D,EAAMorB,OAAOpoF,EAAOmtE,OAKxBnQ,EAAMuS,MAAMjI,SAASgX,WAAW,CAAEvgF,IAAK,IAAKikF,UAAU,GAAQhlB,EAAMqrB,KAAKhoD,KAAK28B,IAC9EA,EAAMuS,MAAMjI,SAASgX,WAAW,CAAEvgF,IAAK,IAAKikF,UAAU,EAAMxD,UAAU,GAAQxhB,EAAMsrB,KAAKjoD,KAAK28B,IAC1F,OAAOihB,KAAKC,UAAUv8C,WACxBq7B,EAAMuS,MAAMjI,SAASgX,WAAW,CAAEvgF,IAAK,IAAKikF,UAAU,GAAQhlB,EAAMsrB,KAAKjoD,KAAK28B,IAEzEA,EAwET,OAlGF,SAAmB6G,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIL,UAAU,kEAAoEK,GAAeD,EAASv9D,UAAYjH,OAAOo8D,OAAOqI,GAAcA,EAAWx9D,UAAW,CAAE6J,YAAa,CAAE5Q,MAAOskE,EAAU7iD,YAAY,EAAO+gD,UAAU,EAAMhhD,cAAc,KAAe+iD,IAAYzkE,OAAOs9D,eAAiBt9D,OAAOs9D,eAAekH,EAAUC,GAAcD,EAASznC,UAAY0nC,GAG/dF,CAAUokB,EAAS5J,GA0BnB9b,EAAa0lB,EAAS,CAAC,CACrBjqF,IAAK,SACLwB,MAAO,SAAgBgN,EAAQg8E,GAC7B,GAAkC,IAA9B9qF,KAAKotB,MAAMte,GAAQnN,OAAvB,CACA,IAAIY,EAAQvC,KAAKotB,MAAMte,GAAQzG,MAC/BrI,KAAKotB,MAAM09D,GAAM3vE,KAAK5Y,GACtBvC,KAAKwqF,aAAe,EACpBxqF,KAAKyqF,cAAe,EACpBzqF,KAAK8xE,MAAM+S,eAAetiF,EAAMuM,GAASyxE,EAAQziB,QAAQ9rD,QAAQ68D,MACjE7uE,KAAKyqF,cAAe,EACpB,IAAI96E,EAAQ26E,EAAmB/nF,EAAMuM,IACrC9O,KAAK8xE,MAAM5F,aAAav8D,MAEzB,CACDrP,IAAK,QACLwB,MAAO,WACL9B,KAAKotB,MAAQ,CAAEw9D,KAAM,GAAIC,KAAM,MAEhC,CACDvqF,IAAK,SACLwB,MAAO,WACL9B,KAAKwqF,aAAe,IAErB,CACDlqF,IAAK,SACLwB,MAAO,SAAgBipF,EAAarb,GAClC,GAA+B,IAA3Bqb,EAAY3pB,IAAIz/D,OAApB,CACA3B,KAAKotB,MAAMy9D,KAAO,GAClB,IAAIG,EAAYhrF,KAAK8xE,MAAM/E,cAAclqE,KAAK6sE,GAC1CviB,EAAYztC,KAAKC,MACrB,GAAI3f,KAAKwqF,aAAexqF,KAAK0R,QAAQu5E,MAAQ99B,GAAantD,KAAKotB,MAAMw9D,KAAKjpF,OAAS,EAAG,CACpF,IAAIY,EAAQvC,KAAKotB,MAAMw9D,KAAKviF,MAC5B2iF,EAAYA,EAAU3oB,QAAQ9/D,EAAMqoF,MACpCG,EAAcxoF,EAAMsoF,KAAKxoB,QAAQ0oB,QAEjC/qF,KAAKwqF,aAAer9B,EAEtBntD,KAAKotB,MAAMw9D,KAAKzvE,KAAK,CACnB0vE,KAAME,EACNH,KAAMI,IAEJhrF,KAAKotB,MAAMw9D,KAAKjpF,OAAS3B,KAAK0R,QAAQw5E,UACxClrF,KAAKotB,MAAMw9D,KAAKxkE,WAGnB,CACD9lB,IAAK,OACLwB,MAAO,WACL9B,KAAKw+B,OAAO,OAAQ,UAErB,CACDl+B,IAAK,YACLwB,MAAO,SAAmBS,GACxBvC,KAAKotB,MAAMw9D,KAAK/iF,SAAQ,SAAU22B,GAChCA,EAAOosD,KAAOroF,EAAMmhE,UAAUllC,EAAOosD,MAAM,GAC3CpsD,EAAOqsD,KAAOtoF,EAAMmhE,UAAUllC,EAAOqsD,MAAM,MAE7C7qF,KAAKotB,MAAMy9D,KAAKhjF,SAAQ,SAAU22B,GAChCA,EAAOosD,KAAOroF,EAAMmhE,UAAUllC,EAAOosD,MAAM,GAC3CpsD,EAAOqsD,KAAOtoF,EAAMmhE,UAAUllC,EAAOqsD,MAAM,QAG9C,CACDvqF,IAAK,OACLwB,MAAO,WACL9B,KAAKw+B,OAAO,OAAQ,YAIjB+rD,EAhGK,CAVC/kB,EAFD5I,EAAoB,IA6GvBkB,SAsBX,SAASwsB,EAAmB/nF,GAC1B,IAAI4oF,EAAe5oF,EAAM4pC,QAAO,SAAUxqC,EAAQq/D,GAEhD,OADAr/D,GAAUq/D,EAAGgB,QAAU,KAEtB,GACCopB,EAAc7oF,EAAMZ,SAAWwpF,EAInC,OAvBF,SAA+B5oF,GAC7B,IAAIi/D,EAASj/D,EAAM6+D,IAAI7+D,EAAM6+D,IAAIz/D,OAAS,GAC1C,OAAc,MAAV6/D,IACiB,MAAjBA,EAAOH,OACuB,iBAAlBG,EAAOH,QAAuBG,EAAOH,OAAOqF,SAAS,MAE5C,MAArBlF,EAAOhC,YACF59D,OAAOgG,KAAK45D,EAAOhC,YAAYkc,MAAK,SAAUgN,GACnD,OAA2E,MAApEhjB,EAAY5H,QAAQI,MAAMwqB,EAAMhjB,EAAY5H,QAAQC,MAAMgC,WAYjEsrB,CAAsB9oF,KACxB6oF,GAAe,GAEVA,EA7BTb,EAAQvb,SAAW,CACjBic,MAAO,IACPC,SAAU,IACVR,UAAU,GA6BZnrF,EAAQu+D,QAAUysB,EAClBhrF,EAAQ+qF,mBAAqBA,GAIvB,SAAU9qF,EAAQD,EAASq9D,GAEjC,aAGAh7D,OAAOC,eAAetC,EAAS,aAAc,CAC3CuC,OAAO,IAETvC,EAAQu+D,QAAUv+D,EAAQ+rF,iBAActhF,EAExC,IAAI66D,EAAe,WAAc,SAASC,EAAiB/1D,EAAQyuB,GAAS,IAAK,IAAI15B,EAAI,EAAGA,EAAI05B,EAAM77B,OAAQmC,IAAK,CAAE,IAAIghC,EAAatH,EAAM15B,GAAIghC,EAAWvhB,WAAauhB,EAAWvhB,aAAc,EAAOuhB,EAAWxhB,cAAe,EAAU,UAAWwhB,IAAYA,EAAWw/B,UAAW,GAAM1iE,OAAOC,eAAekN,EAAQ+1B,EAAWxkC,IAAKwkC,IAAiB,OAAO,SAAUigC,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYF,EAAiBC,EAAYl8D,UAAWm8D,GAAiBC,GAAaH,EAAiBC,EAAaE,GAAqBF,GAA7gB,GAMfQ,EAAWC,EAFD5I,EAAoB,IAM9B6I,EAAeD,EAFD5I,EAAoB,IAMlCiT,EAAYrK,EAFD5I,EAAoB,IAM/B4pB,EAAahhB,EAFD5I,EAAoB,KAMhCiM,EAAUrD,EAFD5I,EAAoB,KAM7B2uB,EAAgB/lB,EAFD5I,EAAoB,KAMnC4uB,EAAehmB,EAFD5I,EAAoB,KAMlC6uB,EAAWjmB,EAFD5I,EAAoB,KAM9B8uB,EAAYlmB,EAFD5I,EAAoB,KAInC,SAAS4I,EAAuBr6D,GAAO,OAAOA,GAAOA,EAAI6xD,WAAa7xD,EAAM,CAAE2yD,QAAS3yD,GAEvF,SAAS26D,EAAgBC,EAAUhB,GAAe,KAAMgB,aAAoBhB,GAAgB,MAAM,IAAIiB,UAAU,qCAEhH,SAASC,EAA2BpmE,EAAMkJ,GAAQ,IAAKlJ,EAAQ,MAAM,IAAIqmE,eAAe,6DAAgE,OAAOn9D,GAAyB,iBAATA,GAAqC,mBAATA,EAA8BlJ,EAAPkJ,EAElO,SAASo9D,EAAUC,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIL,UAAU,kEAAoEK,GAAeD,EAASv9D,UAAYjH,OAAOo8D,OAAOqI,GAAcA,EAAWx9D,UAAW,CAAE6J,YAAa,CAAE5Q,MAAOskE,EAAU7iD,YAAY,EAAO+gD,UAAU,EAAMhhD,cAAc,KAAe+iD,IAAYzkE,OAAOs9D,eAAiBt9D,OAAOs9D,eAAekH,EAAUC,GAAcD,EAASznC,UAAY0nC,GAEje,IAAIslB,EAAS,EAAC,EAAO,SAAU,QAAS,WAEpCC,EAAS,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WAEhYC,EAAQ,EAAC,EAAO,QAAS,aAEzBC,EAAU,CAAC,IAAK,IAAK,KAAK,GAE1BC,EAAQ,CAAC,SAAS,EAAO,QAAS,QAElCC,EAAY,SAAUC,GAGxB,SAASD,EAAUla,EAAOpgE,GACxBo0D,EAAgB9lE,KAAMgsF,GAEtB,IAAIzsB,EAAQ0G,EAA2BjmE,MAAOgsF,EAAUrtD,WAAa/8B,OAAO0jE,eAAe0mB,IAAYjjF,KAAK/I,KAAM8xE,EAAOpgE,IAkBzH,OADAogE,EAAMvI,QAAQmO,UAAU,QAASxlD,SAAS6Z,MAf3B,SAASxrB,EAAS7gB,GAC/B,IAAKwyB,SAAS6Z,KAAK+hC,SAASgE,EAAMpxC,MAChC,OAAOxO,SAAS6Z,KAAKhM,oBAAoB,QAASxf,GAE/B,MAAjBg/C,EAAMtzB,SAAoBszB,EAAMtzB,QAAQvL,KAAKotC,SAASpuE,EAAEqP,SAAWmjB,SAASunD,gBAAkBla,EAAMtzB,QAAQigD,SAAY3sB,EAAMuS,MAAMxE,YACtI/N,EAAMtzB,QAAQkgD,OAEK,MAAjB5sB,EAAM6sB,SACR7sB,EAAM6sB,QAAQvkF,SAAQ,SAAUwkF,GACzBA,EAAOvpD,UAAUgrC,SAASpuE,EAAEqP,SAC/Bs9E,EAAO5E,cAMRloB,EAyET,OAhGA4G,EAAU6lB,EAAWC,GA0BrBpnB,EAAamnB,EAAW,CAAC,CACvB1rF,IAAK,YACLwB,MAAO,SAAmBmJ,GACxB,IAAIzL,EAtFC,SAASsf,EAAI6E,EAAQ6b,EAAU2lC,GAA2B,OAAXxhD,IAAiBA,EAASyhD,SAASv8D,WAAW,IAAIw8D,EAAOzjE,OAAOqiE,yBAAyBtgD,EAAQ6b,GAAW,QAAax1B,IAATq7D,EAAoB,CAAE,IAAI79D,EAAS5F,OAAO0jE,eAAe3hD,GAAS,OAAe,OAAXnc,OAAmB,EAAkCsX,EAAItX,EAAQg4B,EAAU2lC,GAAoB,GAAI,UAAWE,EAAQ,OAAOA,EAAKvjE,MAAgB,IAAIg7D,EAASuI,EAAKvmD,IAAK,YAAe9U,IAAX8yD,EAAmDA,EAAO/zD,KAAKo8D,QAAnE,EAsFtYD,CAAK8mB,EAAUnjF,UAAU81B,WAAa/8B,OAAO0jE,eAAe0mB,EAAUnjF,WAAY,YAAa7I,MAAM+I,KAAK/I,KAAMiL,GAI7H,MAHa,YAATA,GACFjL,KAAKssF,cAAc9sF,GAEdA,IAER,CACDc,IAAK,eACLwB,MAAO,SAAsByqF,EAASC,GACpCD,EAAQ1kF,SAAQ,SAAU4kF,IACRA,EAAOnrD,aAAa,UAAY,IACtCj7B,MAAM,OAAOwB,SAAQ,SAAUoD,GACvC,GAAKA,EAAKkgE,WAAW,SACrBlgE,EAAOA,EAAKnC,MAAM,MAAMnH,QACL,MAAf6qF,EAAMvhF,IACV,GAAa,cAATA,EACFwhF,EAAOvjB,UAAYsjB,EAAMvhF,GAAM,IAAMuhF,EAAMvhF,GAAW,SACjD,GAA2B,iBAAhBuhF,EAAMvhF,GACtBwhF,EAAOvjB,UAAYsjB,EAAMvhF,OACpB,CACL,IAAInJ,EAAQ2qF,EAAO3qF,OAAS,GACf,MAATA,GAAiB0qF,EAAMvhF,GAAMnJ,KAC/B2qF,EAAOvjB,UAAYsjB,EAAMvhF,GAAMnJ,aAMxC,CACDxB,IAAK,eACLwB,MAAO,SAAsB4qF,EAASF,GACpC,IAAIzlB,EAAS/mE,KAEbA,KAAKosF,QAAUM,EAAQpmF,KAAI,SAAUugF,GACnC,GAAIA,EAAOtjD,UAAUuqC,SAAS,YAI5B,OAHsC,MAAlC+Y,EAAOvX,cAAc,WACvBqd,EAAW9F,EAAQ8E,GAEd,IAAIH,EAAa1tB,QAAQ+oB,EAAQ2F,EAAMpwE,OACzC,GAAIyqE,EAAOtjD,UAAUuqC,SAAS,kBAAoB+Y,EAAOtjD,UAAUuqC,SAAS,YAAa,CAC9F,IAAI/4B,EAAS8xC,EAAOtjD,UAAUuqC,SAAS,iBAAmB,aAAe,QAIzE,OAHsC,MAAlC+Y,EAAOvX,cAAc,WACvBqd,EAAW9F,EAAQ+E,EAAmB,eAAX72C,EAA0B,UAAY,WAE5D,IAAIw2C,EAAcztB,QAAQ+oB,EAAQ2F,EAAMz3C,IAW/C,OATsC,MAAlC8xC,EAAOvX,cAAc,YACnBuX,EAAOtjD,UAAUuqC,SAAS,WAC5B6e,EAAW9F,EAAQgF,GACVhF,EAAOtjD,UAAUuqC,SAAS,aACnC6e,EAAW9F,EAAQiF,GACVjF,EAAOtjD,UAAUuqC,SAAS,YACnC6e,EAAW9F,EAAQkF,IAGhB,IAAIN,EAAS3tB,QAAQ+oB,MAQhC7mF,KAAK8xE,MAAM5H,GAAG2F,EAAU/R,QAAQ5tB,OAAOi6B,eAL1B,WACXpD,EAAOqlB,QAAQvkF,SAAQ,SAAUwkF,GAC/BA,EAAOroE,mBAORgoE,EAjGO,CAkGdnjB,EAAQ/K,SAEVkuB,EAAUhd,UAAW,EAAIzJ,EAASzH,UAAS,EAAM,GAAI+K,EAAQ/K,QAAQkR,SAAU,CAC7EtS,QAAS,CACP2S,QAAS,CACPud,SAAU,CACRC,QAAS,WACP7sF,KAAK8xE,MAAMlI,MAAM39B,QAAQ6gD,KAAK,YAEhCzX,MAAO,WACL,IAAI/J,EAAStrE,KAET+sF,EAAY/sF,KAAK8iC,UAAUwsC,cAAc,6BAC5B,MAAbyd,KACFA,EAAY76D,SAASC,cAAc,UACzBC,aAAa,OAAQ,QAC/B26D,EAAU36D,aAAa,SAAU,6DACjC26D,EAAUxpD,UAAUC,IAAI,YACxBupD,EAAUptD,iBAAiB,UAAU,WACnC,GAAuB,MAAnBotD,EAAUC,OAAuC,MAAtBD,EAAUC,MAAM,GAAY,CACzD,IAAIC,EAAS,IAAIC,WACjBD,EAAOE,OAAS,SAAUztF,GACxB,IAAIiwB,EAAQ27C,EAAOwG,MAAM/F,cAAa,GACtCT,EAAOwG,MAAM+S,gBAAe,IAAIpf,EAAa3H,SAAUyD,OAAO5xC,EAAMhgB,OAAOqyD,OAAOryC,EAAMhuB,QAAQ0/D,OAAO,CAAEgU,MAAO31E,EAAEqP,OAAO/F,SAAW6mE,EAAU/R,QAAQ9rD,QAAQ68D,MAC9JvD,EAAOwG,MAAM5F,aAAav8C,EAAMhgB,MAAQ,EAAGkgE,EAAU/R,QAAQ9rD,QAAQm6D,QACrE4gB,EAAUjrF,MAAQ,IAEpBmrF,EAAOG,cAAcL,EAAUC,MAAM,QAGzChtF,KAAK8iC,UAAUzQ,YAAY06D,IAE7BA,EAAUM,SAEZC,MAAO,WACLttF,KAAK8xE,MAAMlI,MAAM39B,QAAQ6gD,KAAK,eAOxC,IAAIxB,EAAc,SAAUiC,GAG1B,SAASjC,EAAYxZ,EAAO0b,GAC1B1nB,EAAgB9lE,KAAMsrF,GAEtB,IAAIzf,EAAS5F,EAA2BjmE,MAAOsrF,EAAY3sD,WAAa/8B,OAAO0jE,eAAegmB,IAAcviF,KAAK/I,KAAM8xE,EAAO0b,IAI9H,OAFA3hB,EAAOqgB,QAAUrgB,EAAOnrC,KAAK4uC,cAAc,sBAC3CzD,EAAO4V,SACA5V,EA2FT,OApGA1F,EAAUmlB,EAAaiC,GAYvB1oB,EAAaymB,EAAa,CAAC,CACzBhrF,IAAK,SACLwB,MAAO,WACL,IAAIsqE,EAASpsE,KAEbA,KAAKksF,QAAQvsD,iBAAiB,WAAW,SAAUqC,GAC7CwkD,EAAW1oB,QAAQ33D,MAAM67B,EAAO,UAClCoqC,EAAO10D,OACPsqB,EAAM+gD,kBACGyD,EAAW1oB,QAAQ33D,MAAM67B,EAAO,YACzCoqC,EAAOqhB,SACPzrD,EAAM+gD,uBAIX,CACDziF,IAAK,SACLwB,MAAO,WACL9B,KAAKmsF,SAEN,CACD7rF,IAAK,OACLwB,MAAO,WACL,IAAI6qB,EAAOlnB,UAAU9D,OAAS,QAAsBqI,IAAjBvE,UAAU,GAAmBA,UAAU,GAAK,OAC3EioF,EAAUjoF,UAAU9D,OAAS,QAAsBqI,IAAjBvE,UAAU,GAAmBA,UAAU,GAAK,KAElFzF,KAAK0gC,KAAK6C,UAAUM,OAAO,aAC3B7jC,KAAK0gC,KAAK6C,UAAUC,IAAI,cACT,MAAXkqD,EACF1tF,KAAKksF,QAAQpqF,MAAQ4rF,EACZ/gE,IAAS3sB,KAAK0gC,KAAKY,aAAa,eACzCthC,KAAKksF,QAAQpqF,MAAQ,IAEvB9B,KAAK4wB,SAAS5wB,KAAK8xE,MAAMpF,UAAU1sE,KAAK8xE,MAAMnI,UAAU4N,aACxDv3E,KAAKksF,QAAQrF,SACb7mF,KAAKksF,QAAQ95D,aAAa,cAAepyB,KAAKksF,QAAQ5qD,aAAa,QAAU3U,IAAS,IACtF3sB,KAAK0gC,KAAKtO,aAAa,YAAazF,KAErC,CACDrsB,IAAK,eACLwB,MAAO,WACL,IAAI4gC,EAAY1iC,KAAK8xE,MAAMxI,mBAAmB5mC,UAC9C1iC,KAAK8xE,MAAMnG,QACX3rE,KAAK8xE,MAAMxI,mBAAmB5mC,UAAYA,IAE3C,CACDpiC,IAAK,OACLwB,MAAO,WACL,IA2CmBkkF,EACnB7/E,EA5CIrE,EAAQ9B,KAAKksF,QAAQpqF,MACzB,OAAQ9B,KAAK0gC,KAAKY,aAAa,cAC7B,IAAK,OAED,IAAIoB,EAAY1iC,KAAK8xE,MAAMpxC,KAAKgC,UAC5B1iC,KAAK2tF,WACP3tF,KAAK8xE,MAAM7F,WAAWjsE,KAAK2tF,UAAW,OAAQ7rF,EAAO+tE,EAAU/R,QAAQ9rD,QAAQ68D,aACxE7uE,KAAK2tF,YAEZ3tF,KAAK4tF,eACL5tF,KAAK8xE,MAAM/8B,OAAO,OAAQjzC,EAAO+tE,EAAU/R,QAAQ9rD,QAAQ68D,OAE7D7uE,KAAK8xE,MAAMpxC,KAAKgC,UAAYA,EAC5B,MAEJ,IAAK,QAED5gC,GA2BNqE,GADmB6/E,EA1BWlkF,GA2BlBqE,MAAM,+EAAiF6/E,EAAI7/E,MAAM,oEAEvGA,EAAM,IAAM,SAAW,4BAA8BA,EAAM,GAAK,eAEtEA,EAAQ6/E,EAAI7/E,MAAM,oDAEZA,EAAM,IAAM,SAAW,6BAA+BA,EAAM,GAAK,IAEpE6/E,EAjCD,IAAK,UAED,IAAKlkF,EAAO,MACZ,IAAI6tB,EAAQ3vB,KAAK8xE,MAAM/F,cAAa,GACpC,GAAa,MAATp8C,EAAe,CACjB,IAAIhgB,EAAQggB,EAAMhgB,MAAQggB,EAAMhuB,OAChC3B,KAAK8xE,MAAMrE,YAAY99D,EAAO3P,KAAK0gC,KAAKY,aAAa,aAAcx/B,EAAO+tE,EAAU/R,QAAQ9rD,QAAQ68D,MACxD,YAAxC7uE,KAAK0gC,KAAKY,aAAa,cACzBthC,KAAK8xE,MAAMjE,WAAWl+D,EAAQ,EAAG,IAAKkgE,EAAU/R,QAAQ9rD,QAAQ68D,MAElE7uE,KAAK8xE,MAAM5F,aAAav8D,EAAQ,EAAGkgE,EAAU/R,QAAQ9rD,QAAQ68D,OAMrE7uE,KAAKksF,QAAQpqF,MAAQ,GACrB9B,KAAKmsF,WAIFb,EArGS,CAsGhBI,EAAU5tB,SAcZ,SAAS6uB,EAAW9F,EAAQx7E,GAC1B,IAAIqF,EAAejL,UAAU9D,OAAS,QAAsBqI,IAAjBvE,UAAU,IAAmBA,UAAU,GAElF4F,EAAOxD,SAAQ,SAAU/F,GACvB,IAAImlF,EAAS/0D,SAASC,cAAc,UAChCrwB,IAAU4O,EACZu2E,EAAO70D,aAAa,WAAY,YAEhC60D,EAAO70D,aAAa,QAAStwB,GAE/B+kF,EAAOx0D,YAAY40D,MAIvB1nF,EAAQ+rF,YAAcA,EACtB/rF,EAAQu+D,QAAUkuB,GAIZ,SAAUxsF,EAAQD,EAASq9D,GAEjC,aAEAh7D,OAAOC,eAAetC,EAAS,aAAc,CAAEuC,OAAO,IACtD,IAAI+rF,EAA4B,WAC5B,SAASA,IACL7tF,KAAKuuB,KAAOvuB,KAAKmnE,KAAO,KACxBnnE,KAAK2B,OAAS,EA8HlB,OA5HAksF,EAAWhlF,UAAUilF,OAAS,WAE1B,IADA,IAAIC,EAAQ,GACHttB,EAAK,EAAGA,EAAKh7D,UAAU9D,OAAQ8+D,IACpCstB,EAAMttB,GAAMh7D,UAAUg7D,GAE1BzgE,KAAK0jC,aAAaqqD,EAAM,GAAI,MACxBA,EAAMpsF,OAAS,GACf3B,KAAK8tF,OAAOh9E,MAAM9Q,KAAM+tF,EAAMjlF,MAAM,KAG5C+kF,EAAWhlF,UAAUilE,SAAW,SAAUtlE,GAEtC,IADA,IAAIf,EAAKooB,EAAO7vB,KAAKkiE,WACbz6D,EAAMooB,KACV,GAAIpoB,IAAQe,EACR,OAAO,EAEf,OAAO,GAEXqlF,EAAWhlF,UAAU66B,aAAe,SAAUl7B,EAAM4iE,GAC3C5iE,IAELA,EAAKqnB,KAAOu7C,EACG,MAAXA,GACA5iE,EAAKod,KAAOwlD,EAAQxlD,KACA,MAAhBwlD,EAAQxlD,OACRwlD,EAAQxlD,KAAKiK,KAAOrnB,GAExB4iE,EAAQxlD,KAAOpd,EACX4iE,IAAYprE,KAAKuuB,OACjBvuB,KAAKuuB,KAAO/lB,IAGE,MAAbxI,KAAKmnE,MACVnnE,KAAKmnE,KAAKt3C,KAAOrnB,EACjBA,EAAKod,KAAO5lB,KAAKmnE,KACjBnnE,KAAKmnE,KAAO3+D,IAGZA,EAAKod,KAAO,KACZ5lB,KAAKuuB,KAAOvuB,KAAKmnE,KAAO3+D,GAE5BxI,KAAK2B,QAAU,IAEnBksF,EAAWhlF,UAAU+jB,OAAS,SAAU7d,GAEpC,IADA,IAAIY,EAAQ,EAAGlI,EAAMzH,KAAKuuB,KACZ,MAAP9mB,GAAa,CAChB,GAAIA,IAAQsH,EACR,OAAOY,EACXA,GAASlI,EAAI9F,SACb8F,EAAMA,EAAIooB,KAEd,OAAQ,GAEZg+D,EAAWhlF,UAAUg7B,OAAS,SAAUr7B,GAC/BxI,KAAK8tE,SAAStlE,KAEF,MAAbA,EAAKod,OACLpd,EAAKod,KAAKiK,KAAOrnB,EAAKqnB,MACT,MAAbrnB,EAAKqnB,OACLrnB,EAAKqnB,KAAKjK,KAAOpd,EAAKod,MACtBpd,IAASxI,KAAKuuB,OACdvuB,KAAKuuB,KAAO/lB,EAAKqnB,MACjBrnB,IAASxI,KAAKmnE,OACdnnE,KAAKmnE,KAAO3+D,EAAKod,MACrB5lB,KAAK2B,QAAU,IAEnBksF,EAAWhlF,UAAUq5D,SAAW,SAAU8rB,GAGtC,YAFgB,IAAZA,IAAsBA,EAAUhuF,KAAKuuB,MAElC,WACH,IAAI0/D,EAAMD,EAGV,OAFe,MAAXA,IACAA,EAAUA,EAAQn+D,MACfo+D,IAGfJ,EAAWhlF,UAAUo1D,KAAO,SAAUtuD,EAAOmsE,QACvB,IAAdA,IAAwBA,GAAY,GAExC,IADA,IAAIr0E,EAAKooB,EAAO7vB,KAAKkiE,WACbz6D,EAAMooB,KAAS,CACnB,IAAIluB,EAAS8F,EAAI9F,SACjB,GAAIgO,EAAQhO,GACPm6E,GAAansE,IAAUhO,IAAuB,MAAZ8F,EAAIooB,MAAsC,IAAtBpoB,EAAIooB,KAAKluB,UAChE,MAAO,CAAC8F,EAAKkI,GAEjBA,GAAShO,EAEb,MAAO,CAAC,KAAM,IAElBksF,EAAWhlF,UAAUhB,QAAU,SAAU+I,GAErC,IADA,IAAInJ,EAAKooB,EAAO7vB,KAAKkiE,WACbz6D,EAAMooB,KACVjf,EAASnJ,IAGjBomF,EAAWhlF,UAAUsyE,UAAY,SAAUxrE,EAAOhO,EAAQiP,GACtD,KAAIjP,GAAU,GAId,IAFA,IACI8F,EADA4zE,EAAKr7E,KAAKi+D,KAAKtuD,GACVu+E,EAAWv+E,EADmC0rE,EAAG,GACtBxrD,EAAO7vB,KAAKkiE,SADTmZ,EAAG,KAElC5zE,EAAMooB,MAAWq+D,EAAWv+E,EAAQhO,GAAQ,CAChD,IAAIwsF,EAAY1mF,EAAI9F,SAChBgO,EAAQu+E,EACRt9E,EAASnJ,EAAKkI,EAAQu+E,EAAU7rF,KAAKD,IAAIT,EAAQusF,EAAWC,EAAYx+E,IAGxEiB,EAASnJ,EAAK,EAAGpF,KAAKD,IAAI+rF,EAAWx+E,EAAQhO,EAASusF,IAE1DA,GAAYC,IAGpBN,EAAWhlF,UAAUvC,IAAM,SAAUsK,GACjC,OAAO5Q,KAAKmsC,QAAO,SAAUyvC,EAAMn0E,GAE/B,OADAm0E,EAAKzgE,KAAKvK,EAASnJ,IACZm0E,IACR,KAEPiS,EAAWhlF,UAAUsjC,OAAS,SAAUv7B,EAAUgrE,GAE9C,IADA,IAAIn0E,EAAKooB,EAAO7vB,KAAKkiE,WACbz6D,EAAMooB,KACV+rD,EAAOhrE,EAASgrE,EAAMn0E,GAE1B,OAAOm0E,GAEJiS,EAjIoB,GAmI/BtuF,EAAQu+D,QAAU+vB,GAKZ,SAAUruF,EAAQD,EAASq9D,GAEjC,aAEA,IACQoC,EADJC,EAAaj/D,MAAQA,KAAKi/D,YACtBD,EAAgBp9D,OAAOs9D,gBACtB,CAAEvgC,UAAW,cAAgB/1B,OAAS,SAAUw/B,EAAGjmC,GAAKimC,EAAEzJ,UAAYx8B,IACvE,SAAUimC,EAAGjmC,GAAK,IAAK,IAAIiC,KAAKjC,EAAOA,EAAElC,eAAemE,KAAIgkC,EAAEhkC,GAAKjC,EAAEiC,KAClE,SAAUgkC,EAAGjmC,GAEhB,SAASg9D,IAAOn/D,KAAK0S,YAAc01B,EADnC42B,EAAc52B,EAAGjmC,GAEjBimC,EAAEv/B,UAAkB,OAAN1G,EAAaP,OAAOo8D,OAAO77D,IAAMg9D,EAAGt2D,UAAY1G,EAAE0G,UAAW,IAAIs2D,KAGvFv9D,OAAOC,eAAetC,EAAS,aAAc,CAAEuC,OAAO,IACtD,IAAIm7D,EAAcL,EAAoB,IAClCiB,EAAWjB,EAAoB,GAC/BwxB,EAAkB,CAClB5uB,YAAY,EACZ6uB,eAAe,EACfC,uBAAuB,EACvBC,WAAW,EACXC,SAAS,GAGTC,EAA4B,SAAUpvB,GAEtC,SAASovB,EAAWjmF,GAChB,IAAI+2D,EAAQF,EAAOt2D,KAAK/I,KAAMwI,IAASxI,KAOvC,OANAu/D,EAAMiK,OAASjK,EACfA,EAAM6gB,SAAW,IAAIsO,kBAAiB,SAAUlkB,GAC5CjL,EAAMv7C,OAAOwmD,MAEjBjL,EAAM6gB,SAASuO,QAAQpvB,EAAMnJ,QAASg4B,GACtC7uB,EAAMgZ,SACChZ,EA8IX,OAvJAN,EAAUwvB,EAAYpvB,GAWtBovB,EAAW5lF,UAAU0yE,OAAS,WAC1Blc,EAAOx2D,UAAU0yE,OAAOxyE,KAAK/I,MAC7BA,KAAKogF,SAASwO,cAElBH,EAAW5lF,UAAU+qE,SAAW,SAAUjkE,EAAOhO,GAC7C3B,KAAKgkB,SACS,IAAVrU,GAAehO,IAAW3B,KAAK2B,SAC/B3B,KAAKknE,SAASr/D,SAAQ,SAAUw/D,GAC5BA,EAAMxjC,YAIVw7B,EAAOx2D,UAAU+qE,SAAS7qE,KAAK/I,KAAM2P,EAAOhO,IAGpD8sF,EAAW5lF,UAAUorE,SAAW,SAAUtkE,EAAOhO,EAAQsJ,EAAMnJ,GAC3D9B,KAAKgkB,SACLq7C,EAAOx2D,UAAUorE,SAASlrE,KAAK/I,KAAM2P,EAAOhO,EAAQsJ,EAAMnJ,IAE9D2sF,EAAW5lF,UAAU+9D,SAAW,SAAUj3D,EAAO7N,EAAO2kE,GACpDzmE,KAAKgkB,SACLq7C,EAAOx2D,UAAU+9D,SAAS79D,KAAK/I,KAAM2P,EAAO7N,EAAO2kE,IAEvDgoB,EAAW5lF,UAAUyrE,SAAW,SAAU9J,EAAW1vD,GACjD,IAAIykD,EAAQv/D,UACM,IAAdwqE,IAAwBA,EAAY,SACxB,IAAZ1vD,IAAsBA,EAAU,IACpCukD,EAAOx2D,UAAUyrE,SAASvrE,KAAK/I,KAAM8a,GAKrC,IAHA,IAAI+zE,EAAU,GAAG/lF,MAAMC,KAAK/I,KAAKogF,SAASC,eAGnCwO,EAAQltF,OAAS,GACpB6oE,EAAUrvD,KAAK0zE,EAAQxmF,OA+B3B,IA7BA,IAAIymF,EAAO,SAAUvuB,EAAMwuB,QACJ,IAAfA,IAAyBA,GAAa,GAC9B,MAARxuB,GAAgBA,IAAShB,GAEE,MAA3BgB,EAAKnK,QAAQpzB,aAGgC,MAA7Cu9B,EAAKnK,QAAQyH,EAASwC,UAAUmK,YAEhCjK,EAAKnK,QAAQyH,EAASwC,UAAUmK,UAAY,IAE5CukB,GACAD,EAAKvuB,EAAK/4D,UAEd8sE,EAAW,SAAU/T,GAIc,MAAnCA,EAAKnK,QAAQyH,EAASwC,WAE2B,MAA7CE,EAAKnK,QAAQyH,EAASwC,UAAUmK,YAGhCjK,aAAgBtD,EAAYa,SAC5ByC,EAAK2G,SAASr/D,QAAQysE,GAE1B/T,EAAK+T,SAASx5D,KAEdk0E,EAAYxkB,EACP1mE,EAAI,EAAGkrF,EAAUrtF,OAAS,EAAGmC,GAAK,EAAG,CAC1C,GAAIA,GA9Ec,IA+Ed,MAAM,IAAIpC,MAAM,mDA4BpB,IA1BAstF,EAAUnnF,SAAQ,SAAUo0E,GACxB,IAAI1b,EAAO1C,EAASI,KAAKge,EAASltE,QAAQ,GAC9B,MAARwxD,IAEAA,EAAKnK,UAAY6lB,EAASltE,SACJ,cAAlBktE,EAASptE,MACTigF,EAAKjxB,EAASI,KAAKge,EAASgT,iBAAiB,IAC7C,GAAGpnF,QAAQkB,KAAKkzE,EAASF,YAAY,SAAUvzE,GAC3C,IAAI6+D,EAAQxJ,EAASI,KAAKz1D,GAAM,GAChCsmF,EAAKznB,GAAO,GACRA,aAAiBpK,EAAYa,SAC7BuJ,EAAMH,SAASr/D,SAAQ,SAAUqnF,GAC7BJ,EAAKI,GAAY,UAKN,eAAlBjT,EAASptE,MACdigF,EAAKvuB,EAAK36C,OAGlBkpE,EAAKvuB,OAETvgE,KAAKknE,SAASr/D,QAAQysE,GAEtBua,GADAG,EAAY,GAAGlmF,MAAMC,KAAK/I,KAAKogF,SAASC,gBACpBv3E,QACb+lF,EAAQltF,OAAS,GACpB6oE,EAAUrvD,KAAK0zE,EAAQxmF,SAGnComF,EAAW5lF,UAAUmb,OAAS,SAAUwmD,EAAW1vD,GAC/C,IAAIykD,EAAQv/D,UACI,IAAZ8a,IAAsBA,EAAU,KACpC0vD,EAAYA,GAAaxqE,KAAKogF,SAASC,eAGlC/5E,KAAI,SAAU21E,GACf,IAAI1b,EAAO1C,EAASI,KAAKge,EAASltE,QAAQ,GAC1C,OAAY,MAARwxD,EACO,KAEsC,MAA7CA,EAAKnK,QAAQyH,EAASwC,UAAUmK,WAEhCjK,EAAKnK,QAAQyH,EAASwC,UAAUmK,UAAY,CAACyR,GACtC1b,IAIPA,EAAKnK,QAAQyH,EAASwC,UAAUmK,UAAUrvD,KAAK8gE,GACxC,SAGVp0E,SAAQ,SAAU04D,GACP,MAARA,GACAA,IAAShB,GAE0B,MAAnCgB,EAAKnK,QAAQyH,EAASwC,WAG1BE,EAAKv8C,OAAOu8C,EAAKnK,QAAQyH,EAASwC,UAAUmK,WAAa,GAAI1vD,MAGhB,MAA7C9a,KAAKo2D,QAAQyH,EAASwC,UAAUmK,WAEhCnL,EAAOx2D,UAAUmb,OAAOjb,KAAK/I,KAAMA,KAAKo2D,QAAQyH,EAASwC,UAAUmK,UAAW1vD,GAElF9a,KAAKs0E,SAAS9J,EAAW1vD,IAE7B2zE,EAAW9tB,SAAW,SACtB8tB,EAAWjnB,aAAe,QAC1BinB,EAAW37E,MAAQ+qD,EAASE,MAAM8I,WAClC4nB,EAAWtuB,QAAU,MACdsuB,EAxJoB,CAyJ7BxxB,EAAYa,SACdv+D,EAAQu+D,QAAU2wB,GAKZ,SAAUjvF,EAAQD,EAASq9D,GAEjC,aAEA,IACQoC,EADJC,EAAaj/D,MAAQA,KAAKi/D,YACtBD,EAAgBp9D,OAAOs9D,gBACtB,CAAEvgC,UAAW,cAAgB/1B,OAAS,SAAUw/B,EAAGjmC,GAAKimC,EAAEzJ,UAAYx8B,IACvE,SAAUimC,EAAGjmC,GAAK,IAAK,IAAIiC,KAAKjC,EAAOA,EAAElC,eAAemE,KAAIgkC,EAAEhkC,GAAKjC,EAAEiC,KAClE,SAAUgkC,EAAGjmC,GAEhB,SAASg9D,IAAOn/D,KAAK0S,YAAc01B,EADnC42B,EAAc52B,EAAGjmC,GAEjBimC,EAAEv/B,UAAkB,OAAN1G,EAAaP,OAAOo8D,OAAO77D,IAAMg9D,EAAGt2D,UAAY1G,EAAE0G,UAAW,IAAIs2D,KAGvFv9D,OAAOC,eAAetC,EAAS,aAAc,CAAEuC,OAAO,IACtD,IAAIo7D,EAAWN,EAAoB,IAC/BiB,EAAWjB,EAAoB,GAa/BuyB,EAA4B,SAAU9vB,GAEtC,SAAS8vB,IACL,OAAkB,OAAX9vB,GAAmBA,EAAOvuD,MAAM9Q,KAAMyF,YAAczF,KA8C/D,OAhDAi/D,EAAUkwB,EAAY9vB,GAItB8vB,EAAWt6C,QAAU,SAAUuhB,GAC3B,GAAIA,EAAQ+J,UAAYgvB,EAAWhvB,QAEnC,OAAOd,EAAOxqB,QAAQ9rC,KAAK/I,KAAMo2D,IAErC+4B,EAAWtmF,UAAUksC,OAAS,SAAU9pC,EAAMnJ,GAC1C,IAAIy9D,EAAQv/D,KACRiL,IAASjL,KAAKunE,QAAQ5G,UAAa7+D,EAUnCu9D,EAAOx2D,UAAUksC,OAAOhsC,KAAK/I,KAAMiL,EAAMnJ,IATzC9B,KAAKknE,SAASr/D,SAAQ,SAAUw/D,GACtBA,aAAiBnK,EAASY,UAC5BuJ,EAAQA,EAAMmJ,KAAK2e,EAAWxuB,UAAU,IAE5CpB,EAAMC,WAAWgF,KAAK6C,MAE1BrnE,KAAKu0E,WAMb4a,EAAWtmF,UAAUorE,SAAW,SAAUtkE,EAAOhO,EAAQsJ,EAAMnJ,GAC/B,MAAxB9B,KAAK60C,UAAU5pC,IAAiB4yD,EAASK,MAAMjzD,EAAM4yD,EAASE,MAAMiV,WACzDhzE,KAAKuwE,QAAQ5gE,EAAOhO,GAC1BozC,OAAO9pC,EAAMnJ,GAGlBu9D,EAAOx2D,UAAUorE,SAASlrE,KAAK/I,KAAM2P,EAAOhO,EAAQsJ,EAAMnJ,IAGlEqtF,EAAWtmF,UAAUyrE,SAAW,SAAUx5D,GACtCukD,EAAOx2D,UAAUyrE,SAASvrE,KAAK/I,KAAM8a,GACrC,IAAI+5B,EAAU70C,KAAK60C,UACnB,GAAoC,IAAhCjzC,OAAOgG,KAAKitC,GAASlzC,OACrB,OAAO3B,KAAKu0E,SAEhB,IAAI1kD,EAAO7vB,KAAK6vB,KACZA,aAAgBs/D,GAAct/D,EAAKjK,OAAS5lB,MApDxD,SAAiBovF,EAAMC,GACnB,GAAIztF,OAAOgG,KAAKwnF,GAAMztF,SAAWC,OAAOgG,KAAKynF,GAAM1tF,OAC/C,OAAO,EAEX,IAAK,IAAIqN,KAAQogF,EAEb,GAAIA,EAAKpgF,KAAUqgF,EAAKrgF,GACpB,OAAO,EAEf,OAAO,EA2CqDsgF,CAAQz6C,EAAShlB,EAAKglB,aAC1EhlB,EAAK4gD,aAAazwE,MAClB6vB,EAAKgU,WAGbsrD,EAAWxuB,SAAW,SACtBwuB,EAAWr8E,MAAQ+qD,EAASE,MAAM8e,YAClCsS,EAAWhvB,QAAU,OACdgvB,EAjDoB,CAkD7BjyB,EAASY,SACXv+D,EAAQu+D,QAAUqxB,GAKZ,SAAU3vF,EAAQD,EAASq9D,GAEjC,aAEA,IACQoC,EADJC,EAAaj/D,MAAQA,KAAKi/D,YACtBD,EAAgBp9D,OAAOs9D,gBACtB,CAAEvgC,UAAW,cAAgB/1B,OAAS,SAAUw/B,EAAGjmC,GAAKimC,EAAEzJ,UAAYx8B,IACvE,SAAUimC,EAAGjmC,GAAK,IAAK,IAAIiC,KAAKjC,EAAOA,EAAElC,eAAemE,KAAIgkC,EAAEhkC,GAAKjC,EAAEiC,KAClE,SAAUgkC,EAAGjmC,GAEhB,SAASg9D,IAAOn/D,KAAK0S,YAAc01B,EADnC42B,EAAc52B,EAAGjmC,GAEjBimC,EAAEv/B,UAAkB,OAAN1G,EAAaP,OAAOo8D,OAAO77D,IAAMg9D,EAAGt2D,UAAY1G,EAAE0G,UAAW,IAAIs2D,KAGvFv9D,OAAOC,eAAetC,EAAS,aAAc,CAAEuC,OAAO,IACtD,IAAIo7D,EAAWN,EAAoB,IAC/BiB,EAAWjB,EAAoB,GAC/B2yB,EAA2B,SAAUlwB,GAErC,SAASkwB,IACL,OAAkB,OAAXlwB,GAAmBA,EAAOvuD,MAAM9Q,KAAMyF,YAAczF,KAiD/D,OAnDAi/D,EAAUswB,EAAWlwB,GAIrBkwB,EAAU16C,QAAU,SAAUuhB,GAC1B,IAAI+J,EAAUtC,EAASK,MAAMqxB,EAAU5uB,UAAUR,QACjD,GAAI/J,EAAQ+J,UAAYA,EAExB,OAAOd,EAAOxqB,QAAQ9rC,KAAK/I,KAAMo2D,IAErCm5B,EAAU1mF,UAAUksC,OAAS,SAAU9pC,EAAMnJ,GACS,MAA9C+7D,EAASK,MAAMjzD,EAAM4yD,EAASE,MAAMgC,SAG/B90D,IAASjL,KAAKunE,QAAQ5G,UAAa7+D,EAIxCu9D,EAAOx2D,UAAUksC,OAAOhsC,KAAK/I,KAAMiL,EAAMnJ,GAHzC9B,KAAKw8E,YAAY+S,EAAU5uB,YAMnC4uB,EAAU1mF,UAAUorE,SAAW,SAAUtkE,EAAOhO,EAAQsJ,EAAMnJ,GACR,MAA9C+7D,EAASK,MAAMjzD,EAAM4yD,EAASE,MAAMgC,OACpC//D,KAAK+0C,OAAO9pC,EAAMnJ,GAGlBu9D,EAAOx2D,UAAUorE,SAASlrE,KAAK/I,KAAM2P,EAAOhO,EAAQsJ,EAAMnJ,IAGlEytF,EAAU1mF,UAAU+9D,SAAW,SAAUj3D,EAAO7N,EAAO2kE,GACnD,GAAW,MAAPA,GAA+D,MAAhD5I,EAASK,MAAMp8D,EAAO+7D,EAASE,MAAMiC,QAEpDX,EAAOx2D,UAAU+9D,SAAS79D,KAAK/I,KAAM2P,EAAO7N,EAAO2kE,OAElD,CACD,IAAI57B,EAAQ7qC,KAAKqG,MAAMsJ,GACnB4wD,EAAO1C,EAASG,OAAOl8D,EAAO2kE,GAClC57B,EAAMrjC,OAAOk8B,aAAa68B,EAAM11B,KAGxC0kD,EAAU1mF,UAAUmb,OAAS,SAAUwmD,EAAW1vD,GAC1C2lE,UAAUW,UAAUj7E,MAAM,WAC1BnG,KAAKi7E,QAGL5b,EAAOx2D,UAAUmb,OAAOjb,KAAK/I,KAAMwqE,EAAW1vD,IAGtDy0E,EAAU5uB,SAAW,QACrB4uB,EAAUz8E,MAAQ+qD,EAASE,MAAM8I,WACjC0oB,EAAUpvB,QAAU,IACbovB,EApDmB,CAqD5BryB,EAASY,SACXv+D,EAAQu+D,QAAUyxB,GAKZ,SAAU/vF,EAAQD,EAASq9D,GAEjC,aAEA,IACQoC,EADJC,EAAaj/D,MAAQA,KAAKi/D,YACtBD,EAAgBp9D,OAAOs9D,gBACtB,CAAEvgC,UAAW,cAAgB/1B,OAAS,SAAUw/B,EAAGjmC,GAAKimC,EAAEzJ,UAAYx8B,IACvE,SAAUimC,EAAGjmC,GAAK,IAAK,IAAIiC,KAAKjC,EAAOA,EAAElC,eAAemE,KAAIgkC,EAAEhkC,GAAKjC,EAAEiC,KAClE,SAAUgkC,EAAGjmC,GAEhB,SAASg9D,IAAOn/D,KAAK0S,YAAc01B,EADnC42B,EAAc52B,EAAGjmC,GAEjBimC,EAAEv/B,UAAkB,OAAN1G,EAAaP,OAAOo8D,OAAO77D,IAAMg9D,EAAGt2D,UAAY1G,EAAE0G,UAAW,IAAIs2D,KAGvFv9D,OAAOC,eAAetC,EAAS,aAAc,CAAEuC,OAAO,IACtD,IACI0tF,EAA2B,SAAUnwB,GAErC,SAASmwB,IACL,OAAkB,OAAXnwB,GAAmBA,EAAOvuD,MAAM9Q,KAAMyF,YAAczF,KAsB/D,OAxBAi/D,EAAUuwB,EAAWnwB,GAIrBmwB,EAAU36C,QAAU,SAAUuhB,KAG9Bo5B,EAAU3mF,UAAUksC,OAAS,SAAU9pC,EAAMnJ,GAIzCu9D,EAAOx2D,UAAUorE,SAASlrE,KAAK/I,KAAM,EAAGA,KAAK2B,SAAUsJ,EAAMnJ,IAEjE0tF,EAAU3mF,UAAUorE,SAAW,SAAUtkE,EAAOhO,EAAQsJ,EAAMnJ,GAC5C,IAAV6N,GAAehO,IAAW3B,KAAK2B,SAC/B3B,KAAK+0C,OAAO9pC,EAAMnJ,GAGlBu9D,EAAOx2D,UAAUorE,SAASlrE,KAAK/I,KAAM2P,EAAOhO,EAAQsJ,EAAMnJ,IAGlE0tF,EAAU3mF,UAAUgsC,QAAU,WAC1B,OAAO70C,KAAKunE,QAAQ1yB,QAAQ70C,KAAKo2D,UAE9Bo5B,EAzBmB,CADjB5yB,EAAoB,IA2BxBkB,SACTv+D,EAAQu+D,QAAU0xB,GAKZ,SAAUhwF,EAAQD,EAASq9D,GAEjC,aAEA,IACQoC,EADJC,EAAaj/D,MAAQA,KAAKi/D,YACtBD,EAAgBp9D,OAAOs9D,gBACtB,CAAEvgC,UAAW,cAAgB/1B,OAAS,SAAUw/B,EAAGjmC,GAAKimC,EAAEzJ,UAAYx8B,IACvE,SAAUimC,EAAGjmC,GAAK,IAAK,IAAIiC,KAAKjC,EAAOA,EAAElC,eAAemE,KAAIgkC,EAAEhkC,GAAKjC,EAAEiC,KAClE,SAAUgkC,EAAGjmC,GAEhB,SAASg9D,IAAOn/D,KAAK0S,YAAc01B,EADnC42B,EAAc52B,EAAGjmC,GAEjBimC,EAAEv/B,UAAkB,OAAN1G,EAAaP,OAAOo8D,OAAO77D,IAAMg9D,EAAGt2D,UAAY1G,EAAE0G,UAAW,IAAIs2D,KAGvFv9D,OAAOC,eAAetC,EAAS,aAAc,CAAEuC,OAAO,IACtD,IAAIq7D,EAASP,EAAoB,IAC7BiB,EAAWjB,EAAoB,GAC/BgU,EAA0B,SAAUvR,GAEpC,SAASuR,EAASpoE,GACd,IAAI+2D,EAAQF,EAAOt2D,KAAK/I,KAAMwI,IAASxI,KAEvC,OADAu/D,EAAM5sC,KAAO4sC,EAAMgI,QAAQzlE,MAAMy9D,EAAMnJ,SAChCmJ,EA0EX,OA9EAN,EAAU2R,EAAUvR,GAMpBuR,EAAS5S,OAAS,SAAUl8D,GACxB,OAAOowB,SAASI,eAAexwB,IAEnC8uE,EAAS9uE,MAAQ,SAAUs0D,GACvB,IAAIzjC,EAAOyjC,EAAQt0C,KAInB,OAFI6Q,EAAgB,YAChBA,EAAOA,EAAgB,aACpBA,GAEXi+C,EAAS/nE,UAAU+qE,SAAW,SAAUjkE,EAAOhO,GAC3C3B,KAAKo2D,QAAQt0C,KAAO9hB,KAAK2yB,KAAO3yB,KAAK2yB,KAAK7pB,MAAM,EAAG6G,GAAS3P,KAAK2yB,KAAK7pB,MAAM6G,EAAQhO,IAExFivE,EAAS/nE,UAAU8G,MAAQ,SAAUnH,EAAMokB,GACvC,OAAI5sB,KAAKo2D,UAAY5tD,EACVokB,GAEH,GAEZgkD,EAAS/nE,UAAU+9D,SAAW,SAAUj3D,EAAO7N,EAAO2kE,GACvC,MAAPA,GACAzmE,KAAK2yB,KAAO3yB,KAAK2yB,KAAK7pB,MAAM,EAAG6G,GAAS7N,EAAQ9B,KAAK2yB,KAAK7pB,MAAM6G,GAChE3P,KAAKo2D,QAAQt0C,KAAO9hB,KAAK2yB,MAGzB0sC,EAAOx2D,UAAU+9D,SAAS79D,KAAK/I,KAAM2P,EAAO7N,EAAO2kE,IAG3DmK,EAAS/nE,UAAUlH,OAAS,WACxB,OAAO3B,KAAK2yB,KAAKhxB,QAErBivE,EAAS/nE,UAAUyrE,SAAW,SAAUx5D,GACpCukD,EAAOx2D,UAAUyrE,SAASvrE,KAAK/I,KAAM8a,GACrC9a,KAAK2yB,KAAO3yB,KAAKunE,QAAQzlE,MAAM9B,KAAKo2D,SACX,IAArBp2D,KAAK2yB,KAAKhxB,OACV3B,KAAK6jC,SAEA7jC,KAAK6vB,gBAAgB+gD,GAAY5wE,KAAK6vB,KAAKjK,OAAS5lB,OACzDA,KAAK4mE,SAAS5mE,KAAK2B,SAAU3B,KAAK6vB,KAAK/tB,SACvC9B,KAAK6vB,KAAKgU,WAGlB+sC,EAAS/nE,UAAU+nB,SAAW,SAAUjhB,EAAOmsE,GAE3C,YADkB,IAAdA,IAAwBA,GAAY,GACjC,CAAC97E,KAAKo2D,QAASzmD,IAE1BihE,EAAS/nE,UAAUxC,MAAQ,SAAUsJ,EAAO23D,GAExC,QADc,IAAVA,IAAoBA,GAAQ,IAC3BA,EAAO,CACR,GAAc,IAAV33D,EACA,OAAO3P,KACX,GAAI2P,IAAU3P,KAAK2B,SACf,OAAO3B,KAAK6vB,KAEpB,IAAIgb,EAAQgzB,EAASG,OAAOh+D,KAAKo2D,QAAQq5B,UAAU9/E,IAGnD,OAFA3P,KAAKwH,OAAOk8B,aAAamH,EAAO7qC,KAAK6vB,MACrC7vB,KAAK2yB,KAAO3yB,KAAKunE,QAAQzlE,MAAM9B,KAAKo2D,SAC7BvrB,GAEX+lC,EAAS/nE,UAAUmb,OAAS,SAAUwmD,EAAW1vD,GAC7C,IAAIykD,EAAQv/D,KACRwqE,EAAUkR,MAAK,SAAUO,GACzB,MAAyB,kBAAlBA,EAASptE,MAA4BotE,EAASltE,SAAWwwD,EAAMnJ,aAEtEp2D,KAAK2yB,KAAO3yB,KAAKunE,QAAQzlE,MAAM9B,KAAKo2D,WAG5Cwa,EAAS/nE,UAAU/G,MAAQ,WACvB,OAAO9B,KAAK2yB,MAEhBi+C,EAASjQ,SAAW,OACpBiQ,EAAS99D,MAAQ+qD,EAASE,MAAM8e,YACzBjM,EA/EkB,CAgF3BzT,EAAOW,SACTv+D,EAAQu+D,QAAU8S,GAKZ,SAAUpxE,EAAQD,EAASq9D,GAEjC,aAGA,IAAImF,EAAO7vC,SAASC,cAAc,OAElC,GADA4vC,EAAKx+B,UAAU8mC,OAAO,cAAc,GAChCtI,EAAKx+B,UAAUuqC,SAAS,cAAe,CACzC,IAAI4hB,EAAUC,aAAa9mF,UAAUwhE,OACrCslB,aAAa9mF,UAAUwhE,OAAS,SAAUulB,EAAOtoB,GAC/C,OAAI7hE,UAAU9D,OAAS,IAAM3B,KAAK8tE,SAAS8hB,KAAYtoB,EAC9CA,EAEAooB,EAAQ3mF,KAAK/I,KAAM4vF,IAK3BlnD,OAAO7/B,UAAUsiE,aACpBziC,OAAO7/B,UAAUsiE,WAAa,SAAU0kB,EAAcj/D,GAEpD,OAAO5wB,KAAKqQ,OADZugB,EAAWA,GAAY,EACMi/D,EAAaluF,UAAYkuF,IAIrDnnD,OAAO7/B,UAAU69D,WACpBh+B,OAAO7/B,UAAU69D,SAAW,SAAUmpB,EAAcj/D,GAClD,IAAIk/D,EAAgB9vF,KAAKgG,YACD,iBAAb4qB,IAA0BrgB,SAASqgB,IAAavuB,KAAK6B,MAAM0sB,KAAcA,GAAYA,EAAWk/D,EAAcnuF,UACvHivB,EAAWk/D,EAAcnuF,QAG3B,IAAI68E,EAAYsR,EAAc38E,QAAQ08E,EADtCj/D,GAAYi/D,EAAaluF,QAEzB,OAAsB,IAAf68E,GAAoBA,IAAc5tD,IAIxChoB,MAAMC,UAAUo1D,MACnBr8D,OAAOC,eAAe+G,MAAMC,UAAW,OAAQ,CAC7C/G,MAAO,SAAe4/D,GACpB,GAAa,OAAT1hE,KACF,MAAM,IAAIgmE,UAAU,oDAEtB,GAAyB,mBAAdtE,EACT,MAAM,IAAIsE,UAAU,gCAOtB,IALA,IAGIlkE,EAHAmwB,EAAOrwB,OAAO5B,MACd2B,EAASswB,EAAKtwB,SAAW,EACzBkP,EAAUpL,UAAU,GAGf3B,EAAI,EAAGA,EAAInC,EAAQmC,IAE1B,GAAI49D,EAAU34D,KAAK8H,EADnB/O,EAAQmwB,EAAKnuB,GACsBA,EAAGmuB,GACpC,OAAOnwB,KAQjBowB,SAASyN,iBAAiB,oBAAoB,WAE5CzN,SAAS69D,YAAY,wBAAwB,GAAO,GAEpD79D,SAAS69D,YAAY,iBAAiB,GAAO,OAKzC,SAAUvwF,EAAQD,GAiCxB,IAAIywF,GAAe,EACfC,EAAc,EACdC,EAAa,EAWjB,SAASC,EAAUC,EAAOC,EAAOC,GAE/B,GAAIF,GAASC,EACX,OAAID,EACK,CAAC,CAACF,EAAYE,IAEhB,IAILE,EAAa,GAAKF,EAAMzuF,OAAS2uF,KACnCA,EAAa,MAIf,IAAIC,EAAeC,EAAkBJ,EAAOC,GACxCI,EAAeL,EAAMlqF,UAAU,EAAGqqF,GAKtCA,EAAeG,EAJfN,EAAQA,EAAMlqF,UAAUqqF,GACxBF,EAAQA,EAAMnqF,UAAUqqF,IAIxB,IAAII,EAAeP,EAAMlqF,UAAUkqF,EAAMzuF,OAAS4uF,GAK9CK,EAyBN,SAAuBR,EAAOC,GAC5B,IAAIO,EAEJ,IAAKR,EAEH,MAAO,CAAC,CAACH,EAAaI,IAGxB,IAAKA,EAEH,MAAO,CAAC,CAACL,EAAaI,IAGxB,IAAIS,EAAWT,EAAMzuF,OAAS0uF,EAAM1uF,OAASyuF,EAAQC,EACjDS,EAAYV,EAAMzuF,OAAS0uF,EAAM1uF,OAAS0uF,EAAQD,EAClDtsF,EAAI+sF,EAAS19E,QAAQ29E,GACzB,IAAU,GAANhtF,EASF,OAPA8sF,EAAQ,CAAC,CAACX,EAAaY,EAAS3qF,UAAU,EAAGpC,IACpC,CAACosF,EAAYY,GACb,CAACb,EAAaY,EAAS3qF,UAAUpC,EAAIgtF,EAAUnvF,UAEpDyuF,EAAMzuF,OAAS0uF,EAAM1uF,SACvBivF,EAAM,GAAG,GAAKA,EAAM,GAAG,GAAKZ,GAEvBY,EAGT,GAAwB,GAApBE,EAAUnvF,OAGZ,MAAO,CAAC,CAACquF,EAAaI,GAAQ,CAACH,EAAaI,IAI9C,IAAIU,EAwON,SAAyBX,EAAOC,GAC9B,IAAIQ,EAAWT,EAAMzuF,OAAS0uF,EAAM1uF,OAASyuF,EAAQC,EACjDS,EAAYV,EAAMzuF,OAAS0uF,EAAM1uF,OAAS0uF,EAAQD,EACtD,GAAIS,EAASlvF,OAAS,GAAwB,EAAnBmvF,EAAUnvF,OAAakvF,EAASlvF,OACzD,OAAO,KAeT,SAASqvF,EAAiBH,EAAUC,EAAWhtF,GAM7C,IAJA,IAGImtF,EAAiBC,EAAiBC,EAAkBC,EAHpDC,EAAOR,EAAS3qF,UAAUpC,EAAGA,EAAIzB,KAAK6B,MAAM2sF,EAASlvF,OAAS,IAC9DyxB,GAAK,EACLk+D,EAAc,IAE8B,IAAxCl+D,EAAI09D,EAAU39E,QAAQk+E,EAAMj+D,EAAI,KAAW,CACjD,IAAIm+D,EAAef,EAAkBK,EAAS3qF,UAAUpC,GACnBgtF,EAAU5qF,UAAUktB,IACrDmjD,EAAema,EAAkBG,EAAS3qF,UAAU,EAAGpC,GACtBgtF,EAAU5qF,UAAU,EAAGktB,IACxDk+D,EAAY3vF,OAAS40E,EAAegb,IACtCD,EAAcR,EAAU5qF,UAAUktB,EAAImjD,EAAcnjD,GAChD09D,EAAU5qF,UAAUktB,EAAGA,EAAIm+D,GAC/BN,EAAkBJ,EAAS3qF,UAAU,EAAGpC,EAAIyyE,GAC5C2a,EAAkBL,EAAS3qF,UAAUpC,EAAIytF,GACzCJ,EAAmBL,EAAU5qF,UAAU,EAAGktB,EAAImjD,GAC9C6a,EAAmBN,EAAU5qF,UAAUktB,EAAIm+D,IAG/C,OAAyB,EAArBD,EAAY3vF,QAAckvF,EAASlvF,OAC9B,CAACsvF,EAAiBC,EACjBC,EAAkBC,EAAkBE,GAErC,KAKX,IAKIP,EAaAS,EAASC,EAASC,EAASC,EAlB3BC,EAAMZ,EAAiBH,EAAUC,EACVzuF,KAAKm1C,KAAKq5C,EAASlvF,OAAS,IAEnDkwF,EAAMb,EAAiBH,EAAUC,EACVzuF,KAAKm1C,KAAKq5C,EAASlvF,OAAS,IAEvD,OAAKiwF,GAAQC,GAQXd,EANUc,EAEAD,GAILA,EAAI,GAAGjwF,OAASkwF,EAAI,GAAGlwF,OAASiwF,EAHhCC,EAFAD,EAUHxB,EAAMzuF,OAAS0uF,EAAM1uF,QACvB6vF,EAAUT,EAAG,GACbU,EAAUV,EAAG,GACbW,EAAUX,EAAG,GACbY,EAAUZ,EAAG,KAEbW,EAAUX,EAAG,GACbY,EAAUZ,EAAG,GACbS,EAAUT,EAAG,GACbU,EAAUV,EAAG,IAGR,CAACS,EAASC,EAASC,EAASC,EADlBZ,EAAG,KAvBX,KA/RAe,CAAgB1B,EAAOC,GAChC,GAAIU,EAAI,CAEN,IACIU,EAAUV,EAAG,GAEbY,EAAUZ,EAAG,GACbgB,EAAahB,EAAG,GAEhBiB,EAAU7B,EANAY,EAAG,GAEHA,EAAG,IAKbkB,EAAU9B,EAAUsB,EAASE,GAEjC,OAAOK,EAAQ/lF,OAAO,CAAC,CAACikF,EAAY6B,IAAcE,GAGpD,OAaF,SAAsB7B,EAAOC,GAW3B,IATA,IAAI6B,EAAe9B,EAAMzuF,OACrBwwF,EAAe9B,EAAM1uF,OACrBywF,EAAQ/vF,KAAKm1C,MAAM06C,EAAeC,GAAgB,GAClDE,EAAWD,EACXE,EAAW,EAAIF,EACf7gF,EAAK,IAAI3I,MAAM0pF,GACfnnE,EAAK,IAAIviB,MAAM0pF,GAGVnvF,EAAI,EAAGA,EAAImvF,EAAUnvF,IAC5BoO,EAAGpO,IAAM,EACTgoB,EAAGhoB,IAAM,EAEXoO,EAAG8gF,EAAW,GAAK,EACnBlnE,EAAGknE,EAAW,GAAK,EAWnB,IAVA,IAAI9vF,EAAQ2vF,EAAeC,EAGvBI,EAAShwF,EAAQ,GAAK,EAGtBiwF,EAAU,EACVC,EAAQ,EACRC,EAAU,EACVC,EAAQ,EACHvqD,EAAI,EAAGA,EAAIgqD,EAAOhqD,IAAK,CAE9B,IAAK,IAAIwqD,GAAMxqD,EAAIoqD,EAASI,GAAMxqD,EAAIqqD,EAAOG,GAAM,EAAG,CASpD,IARA,IAAIC,EAAYR,EAAWO,EAOvB7nE,GAJFD,EADE8nE,IAAOxqD,GAAMwqD,GAAMxqD,GAAK72B,EAAGshF,EAAY,GAAKthF,EAAGshF,EAAY,GACxDthF,EAAGshF,EAAY,GAEfthF,EAAGshF,EAAY,GAAK,GAEbD,EACP9nE,EAAKonE,GAAgBnnE,EAAKonE,GAC1B/B,EAAM7gF,OAAOub,IAAOulE,EAAM9gF,OAAOwb,IACtCD,IACAC,IAGF,GADAxZ,EAAGshF,GAAa/nE,EACZA,EAAKonE,EAEPO,GAAS,OACJ,GAAI1nE,EAAKonE,EAEdK,GAAW,OACN,GAAID,IACLO,EAAYT,EAAW9vF,EAAQqwF,IAClB,GAAKE,EAAYR,IAA8B,GAAlBnnE,EAAG2nE,IAG3ChoE,IADA/lB,EAAKmtF,EAAe/mE,EAAG2nE,IAGzB,OAAOC,EAAkB3C,EAAOC,EAAOvlE,EAAIC,GAOnD,IAAK,IAAIioE,GAAM5qD,EAAIsqD,EAASM,GAAM5qD,EAAIuqD,EAAOK,GAAM,EAAG,CASpD,IARA,IACIjuF,EADA+tF,EAAYT,EAAWW,EAOvBluF,GAJFC,EADEiuF,IAAO5qD,GAAM4qD,GAAM5qD,GAAKjd,EAAG2nE,EAAY,GAAK3nE,EAAG2nE,EAAY,GACxD3nE,EAAG2nE,EAAY,GAEf3nE,EAAG2nE,EAAY,GAAK,GAEbE,EACPjuF,EAAKmtF,GAAgBptF,EAAKqtF,GAC1B/B,EAAM7gF,OAAO2iF,EAAentF,EAAK,IACjCsrF,EAAM9gF,OAAO4iF,EAAertF,EAAK,IACtCC,IACAD,IAGF,GADAqmB,EAAG2nE,GAAa/tF,EACZA,EAAKmtF,EAEPS,GAAS,OACJ,GAAI7tF,EAAKqtF,EAEdO,GAAW,OACN,IAAKH,EAAO,CAGf,IAAIznE,EADN,IADI+nE,EAAYR,EAAW9vF,EAAQywF,IAClB,GAAKH,EAAYP,IAA8B,GAAlB/gF,EAAGshF,KAE3C9nE,EAAKsnE,GADLvnE,EAAKvZ,EAAGshF,IACaA,EAGrB/nE,IADJ/lB,EAAKmtF,EAAentF,IAGlB,OAAOguF,EAAkB3C,EAAOC,EAAOvlE,EAAIC,KAQrD,MAAO,CAAC,CAACilE,EAAaI,GAAQ,CAACH,EAAaI,IApHrC4C,CAAa7C,EAAOC,GA3Ef6C,CAJZ9C,EAAQA,EAAMlqF,UAAU,EAAGkqF,EAAMzuF,OAAS4uF,GAC1CF,EAAQA,EAAMnqF,UAAU,EAAGmqF,EAAM1uF,OAAS4uF,IAiB1C,OAXIE,GACFG,EAAMlpF,QAAQ,CAACwoF,EAAYO,IAEzBE,GACFC,EAAMz1E,KAAK,CAAC+0E,EAAYS,IAqX5B,SAASwC,EAAkBvC,GACzBA,EAAMz1E,KAAK,CAAC+0E,EAAY,KAOxB,IANA,IAKIK,EALA6C,EAAU,EACVC,EAAe,EACfC,EAAe,EACfC,EAAc,GACdC,EAAc,GAEXJ,EAAUxC,EAAMjvF,QACrB,OAAQivF,EAAMwC,GAAS,IACrB,KAAKnD,EACHqD,IACAE,GAAe5C,EAAMwC,GAAS,GAC9BA,IACA,MACF,KAAKpD,EACHqD,IACAE,GAAe3C,EAAMwC,GAAS,GAC9BA,IACA,MACF,KAAKlD,EAECmD,EAAeC,EAAe,GACX,IAAjBD,GAAuC,IAAjBC,IAGH,KADrB/C,EAAeC,EAAkBgD,EAAaD,MAEvCH,EAAUC,EAAeC,EAAgB,GAC1C1C,EAAMwC,EAAUC,EAAeC,EAAe,GAAG,IACjDpD,EACFU,EAAMwC,EAAUC,EAAeC,EAAe,GAAG,IAC7CE,EAAYttF,UAAU,EAAGqqF,IAE7BK,EAAM5wE,OAAO,EAAG,EAAG,CAACkwE,EACAsD,EAAYttF,UAAU,EAAGqqF,KAC7C6C,KAEFI,EAAcA,EAAYttF,UAAUqqF,GACpCgD,EAAcA,EAAYrtF,UAAUqqF,IAIjB,KADrBA,EAAeG,EAAkB8C,EAAaD,MAE5C3C,EAAMwC,GAAS,GAAKI,EAAYttF,UAAUstF,EAAY7xF,OAClD4uF,GAAgBK,EAAMwC,GAAS,GACnCI,EAAcA,EAAYttF,UAAU,EAAGstF,EAAY7xF,OAC/C4uF,GACJgD,EAAcA,EAAYrtF,UAAU,EAAGqtF,EAAY5xF,OAC/C4uF,KAIa,IAAjB8C,EACFzC,EAAM5wE,OAAOozE,EAAUE,EACnBD,EAAeC,EAAc,CAACrD,EAAauD,IACrB,IAAjBF,EACT1C,EAAM5wE,OAAOozE,EAAUC,EACnBA,EAAeC,EAAc,CAACtD,EAAauD,IAE/C3C,EAAM5wE,OAAOozE,EAAUC,EAAeC,EAClCD,EAAeC,EAAc,CAACtD,EAAauD,GAC3C,CAACtD,EAAauD,IAEpBJ,EAAUA,EAAUC,EAAeC,GACxBD,EAAe,EAAI,IAAMC,EAAe,EAAI,GAAK,GACvC,IAAZF,GAAiBxC,EAAMwC,EAAU,GAAG,IAAMlD,GAEnDU,EAAMwC,EAAU,GAAG,IAAMxC,EAAMwC,GAAS,GACxCxC,EAAM5wE,OAAOozE,EAAS,IAEtBA,IAEFE,EAAe,EACfD,EAAe,EACfE,EAAc,GACdC,EAAc,GAIe,KAA/B5C,EAAMA,EAAMjvF,OAAS,GAAG,IAC1BivF,EAAMvoF,MAMR,IAAIorF,GAAU,EAGd,IAFAL,EAAU,EAEHA,EAAUxC,EAAMjvF,OAAS,GAC1BivF,EAAMwC,EAAU,GAAG,IAAMlD,GACzBU,EAAMwC,EAAU,GAAG,IAAMlD,IAEvBU,EAAMwC,GAAS,GAAGltF,UAAU0qF,EAAMwC,GAAS,GAAGzxF,OAC9CivF,EAAMwC,EAAU,GAAG,GAAGzxF,SAAWivF,EAAMwC,EAAU,GAAG,IAEtDxC,EAAMwC,GAAS,GAAKxC,EAAMwC,EAAU,GAAG,GACnCxC,EAAMwC,GAAS,GAAGltF,UAAU,EAAG0qF,EAAMwC,GAAS,GAAGzxF,OACrBivF,EAAMwC,EAAU,GAAG,GAAGzxF,QACtDivF,EAAMwC,EAAU,GAAG,GAAKxC,EAAMwC,EAAU,GAAG,GAAKxC,EAAMwC,EAAU,GAAG,GACnExC,EAAM5wE,OAAOozE,EAAU,EAAG,GAC1BK,GAAU,GACD7C,EAAMwC,GAAS,GAAGltF,UAAU,EAAG0qF,EAAMwC,EAAU,GAAG,GAAGzxF,SAC5DivF,EAAMwC,EAAU,GAAG,KAErBxC,EAAMwC,EAAU,GAAG,IAAMxC,EAAMwC,EAAU,GAAG,GAC5CxC,EAAMwC,GAAS,GACXxC,EAAMwC,GAAS,GAAGltF,UAAU0qF,EAAMwC,EAAU,GAAG,GAAGzxF,QAClDivF,EAAMwC,EAAU,GAAG,GACvBxC,EAAM5wE,OAAOozE,EAAU,EAAG,GAC1BK,GAAU,IAGdL,IAGEK,GACFN,EAAkBvC,GAxepBuC,CAAkBvC,GACA,MAAdN,IACFM,EA2iBJ,SAAqBA,EAAON,GAC1B,IAAIoD,EA9CN,SAAgC9C,EAAON,GACrC,GAAmB,IAAfA,EACF,MAAO,CAACJ,EAAYU,GAEtB,IAAK,IAAI+C,EAAc,EAAG7vF,EAAI,EAAGA,EAAI8sF,EAAMjvF,OAAQmC,IAAK,CACtD,IAAIskC,EAAIwoD,EAAM9sF,GACd,GAAIskC,EAAE,KAAO4nD,GAAe5nD,EAAE,KAAO8nD,EAAY,CAC/C,IAAI0D,EAAWD,EAAcvrD,EAAE,GAAGzmC,OAClC,GAAI2uF,IAAesD,EACjB,MAAO,CAAC9vF,EAAI,EAAG8sF,GACV,GAAIN,EAAasD,EAAU,CAEhChD,EAAQA,EAAM9nF,QAEd,IAAI+qF,EAAYvD,EAAaqD,EACzBG,EAAS,CAAC1rD,EAAE,GAAIA,EAAE,GAAGt/B,MAAM,EAAG+qF,IAC9BE,EAAU,CAAC3rD,EAAE,GAAIA,EAAE,GAAGt/B,MAAM+qF,IAEhC,OADAjD,EAAM5wE,OAAOlc,EAAG,EAAGgwF,EAAQC,GACpB,CAACjwF,EAAI,EAAG8sF,GAEf+C,EAAcC,GAIpB,MAAM,IAAIlyF,MAAM,gCAsBLsyF,CAAsBpD,EAAON,GACpC2D,EAASP,EAAK,GACdQ,EAAiBR,EAAK,GACtBtrD,EAAI6rD,EAAOC,GACXC,EAASF,EAAOC,EAAiB,GAErC,GAAS,MAAL9rD,EAGF,OAAOwoD,EACF,GAAIxoD,EAAE,KAAO8nD,EAGlB,OAAOU,EAEP,GAAc,MAAVuD,GAAkB/rD,EAAE,GAAK+rD,EAAO,KAAOA,EAAO,GAAK/rD,EAAE,GAIvD,OADA6rD,EAAOj0E,OAAOk0E,EAAgB,EAAGC,EAAQ/rD,GAClCgsD,EAAaH,EAAQC,EAAgB,GACvC,GAAc,MAAVC,GAA8C,IAA5BA,EAAO,GAAGhhF,QAAQi1B,EAAE,IAAW,CAK1D6rD,EAAOj0E,OAAOk0E,EAAgB,EAAG,CAACC,EAAO,GAAI/rD,EAAE,IAAK,CAAC,EAAGA,EAAE,KAC1D,IAAIouC,EAAS2d,EAAO,GAAGrrF,MAAMs/B,EAAE,GAAGzmC,QAIlC,OAHI60E,EAAO70E,OAAS,GAClBsyF,EAAOj0E,OAAOk0E,EAAiB,EAAG,EAAG,CAACC,EAAO,GAAI3d,IAE5C4d,EAAaH,EAAQC,EAAgB,GAG5C,OAAOtD,EA7kBDyD,CAAWzD,EAAON,IA0lB9B,SAAoBM,GAQlB,IAPA,IAAI0D,GAAU,EACVC,EAAuB,SAASvpF,GAClC,OAAOA,EAAIw5E,WAAW,IAAM,OAAUx5E,EAAIw5E,WAAW,IAAM,OAKpD1gF,EAAI,EAAGA,EAAI8sF,EAAMjvF,OAAQmC,GAAK,EACjC8sF,EAAM9sF,EAAE,GAAG,KAAOosF,IAJYllF,EAIuB4lF,EAAM9sF,EAAE,GAAG,IAHzD0gF,WAAWx5E,EAAIrJ,OAAO,IAAM,OAAUqJ,EAAIw5E,WAAWx5E,EAAIrJ,OAAO,IAAM,OAI7EivF,EAAM9sF,EAAE,GAAG,KAAOksF,GAAeuE,EAAqB3D,EAAM9sF,EAAE,GAAG,KACjE8sF,EAAM9sF,GAAG,KAAOmsF,GAAesE,EAAqB3D,EAAM9sF,GAAG,MAC/DwwF,GAAU,EAEV1D,EAAM9sF,EAAE,GAAG,GAAK8sF,EAAM9sF,EAAE,GAAG,GAAGgF,OAAO,GAAK8nF,EAAM9sF,EAAE,GAAG,GACrD8sF,EAAM9sF,GAAG,GAAK8sF,EAAM9sF,EAAE,GAAG,GAAGgF,OAAO,GAAK8nF,EAAM9sF,GAAG,GAEjD8sF,EAAM9sF,EAAE,GAAG,GAAK8sF,EAAM9sF,EAAE,GAAG,GAAGgF,MAAM,GAAI,IAZjB,IAASkC,EAepC,IAAKspF,EACH,OAAO1D,EAET,IAAI4D,EAAc,GAClB,IAAS1wF,EAAI,EAAGA,EAAI8sF,EAAMjvF,OAAQmC,GAAK,EACjC8sF,EAAM9sF,GAAG,GAAGnC,OAAS,GACvB6yF,EAAYr5E,KAAKy1E,EAAM9sF,IAG3B,OAAO0wF,EArnBCC,CAAU7D,GA+LpB,SAASmC,EAAkB3C,EAAOC,EAAOltF,EAAGC,GAC1C,IAAIsxF,EAAStE,EAAMlqF,UAAU,EAAG/C,GAC5BwxF,EAAStE,EAAMnqF,UAAU,EAAG9C,GAC5BwxF,EAASxE,EAAMlqF,UAAU/C,GACzB0xF,EAASxE,EAAMnqF,UAAU9C,GAGzBwtF,EAAQT,EAAUuE,EAAQC,GAC1BG,EAAS3E,EAAUyE,EAAQC,GAE/B,OAAOjE,EAAM3kF,OAAO6oF,GAWtB,SAAStE,EAAkBJ,EAAOC,GAEhC,IAAKD,IAAUC,GAASD,EAAM7gF,OAAO,IAAM8gF,EAAM9gF,OAAO,GACtD,OAAO,EAQT,IAJA,IAAIwlF,EAAa,EACbC,EAAa3yF,KAAKD,IAAIguF,EAAMzuF,OAAQ0uF,EAAM1uF,QAC1CszF,EAAaD,EACbE,EAAe,EACZH,EAAaE,GACd7E,EAAMlqF,UAAUgvF,EAAcD,IAC9B5E,EAAMnqF,UAAUgvF,EAAcD,GAEhCC,EADAH,EAAaE,EAGbD,EAAaC,EAEfA,EAAa5yF,KAAK6B,OAAO8wF,EAAaD,GAAc,EAAIA,GAE1D,OAAOE,EAUT,SAASvE,EAAkBN,EAAOC,GAEhC,IAAKD,IAAUC,GACXD,EAAM7gF,OAAO6gF,EAAMzuF,OAAS,IAAM0uF,EAAM9gF,OAAO8gF,EAAM1uF,OAAS,GAChE,OAAO,EAQT,IAJA,IAAIozF,EAAa,EACbC,EAAa3yF,KAAKD,IAAIguF,EAAMzuF,OAAQ0uF,EAAM1uF,QAC1CszF,EAAaD,EACbG,EAAa,EACVJ,EAAaE,GACd7E,EAAMlqF,UAAUkqF,EAAMzuF,OAASszF,EAAY7E,EAAMzuF,OAASwzF,IAC1D9E,EAAMnqF,UAAUmqF,EAAM1uF,OAASszF,EAAY5E,EAAM1uF,OAASwzF,GAE5DA,EADAJ,EAAaE,EAGbD,EAAaC,EAEfA,EAAa5yF,KAAK6B,OAAO8wF,EAAaD,GAAc,EAAIA,GAE1D,OAAOE,EAgOT,IAAIpyF,EAAOstF,EAwJX,SAASiE,EAAcxD,EAAOhzE,EAAOjc,GAEnC,IAAK,IAAImC,EAAI8Z,EAAQjc,EAAS,EAAGmC,GAAK,GAAKA,GAAK8Z,EAAQ,EAAG9Z,IACzD,GAAIA,EAAI,EAAI8sF,EAAMjvF,OAAQ,CACxB,IAAIyzF,EAASxE,EAAM9sF,GACfuxF,EAAUzE,EAAM9sF,EAAE,GAClBsxF,EAAO,KAAOC,EAAQ,IACxBzE,EAAM5wE,OAAOlc,EAAG,EAAG,CAACsxF,EAAO,GAAIA,EAAO,GAAKC,EAAQ,KAIzD,OAAOzE,EAlKT/tF,EAAKwgE,OAAS4sB,EACdptF,EAAKygE,OAAS0sB,EACdntF,EAAK0gE,MAAQ2sB,EAEb1wF,EAAOD,QAAUsD,GAoKX,SAAUrD,EAAQD,GAMxB,SAAS+1F,EAAMnqF,GACb,IAAIvD,EAAO,GACX,IAAK,IAAItH,KAAO6K,EAAKvD,EAAKuT,KAAK7a,GAC/B,OAAOsH,GAPCpI,EAAOD,QAAiC,mBAAhBqC,OAAOgG,KACrChG,OAAOgG,KAAO0tF,GAEVA,KAAOA,GAUT,SAAU91F,EAAQD,GAExB,IAAIg2F,EAEI,sBAFqB,WAC3B,OAAO3zF,OAAOiH,UAAU7C,SAAS+C,KAAKtD,WADX,GAO7B,SAAS+vF,EAAU7xE,GACjB,MAAiD,sBAA1C/hB,OAAOiH,UAAU7C,SAAS+C,KAAK4a,GAIxC,SAAS8xE,EAAY9xE,GACnB,OAAOA,GACY,iBAAVA,GACiB,iBAAjBA,EAAOhiB,QACdC,OAAOiH,UAAU5I,eAAe8I,KAAK4a,EAAQ,YAC5C/hB,OAAOiH,UAAU6sF,qBAAqB3sF,KAAK4a,EAAQ,YACpD,GAdJpkB,EAAUC,EAAOD,QAAUg2F,EAAyBC,EAAYC,GAExDD,UAAYA,EAKpBj2F,EAAQk2F,YAAcA,GAahB,SAAUj2F,EAAQD,GAExB,aAEA,IAAIo2F,EAAM/zF,OAAOiH,UAAU5I,eACvB2vC,EAAS,IASb,SAASgmD,KA4BT,SAASC,EAAGz1F,EAAI0a,EAASkzD,GACvBhuE,KAAKI,GAAKA,EACVJ,KAAK8a,QAAUA,EACf9a,KAAKguE,KAAOA,IAAQ,EAUtB,SAAS8nB,IACP91F,KAAK+1F,QAAU,IAAIH,EACnB51F,KAAKg2F,aAAe,EAlClBp0F,OAAOo8D,SACT43B,EAAO/sF,UAAYjH,OAAOo8D,OAAO,OAM5B,IAAI43B,GAASj3D,YAAWiR,GAAS,IAqCxCkmD,EAAajtF,UAAUotF,WAAa,WAClC,IACI/lD,EACAjlC,EAFAi1D,EAAQ,GAIZ,GAA0B,IAAtBlgE,KAAKg2F,aAAoB,OAAO91B,EAEpC,IAAKj1D,KAASilC,EAASlwC,KAAK+1F,QACtBJ,EAAI5sF,KAAKmnC,EAAQjlC,IAAOi1D,EAAM/kD,KAAKy0B,EAAS3kC,EAAKnC,MAAM,GAAKmC,GAGlE,OAAIrJ,OAAOm9E,sBACF7e,EAAMj0D,OAAOrK,OAAOm9E,sBAAsB7uC,IAG5CgwB,GAWT41B,EAAajtF,UAAU6X,UAAY,SAAmBshB,EAAOk0D,GAC3D,IACIC,EAAYn2F,KAAK+1F,QADXnmD,EAASA,EAAS5N,EAAQA,GAGpC,GAAIk0D,EAAQ,QAASC,EACrB,IAAKA,EAAW,MAAO,GACvB,GAAIA,EAAU/1F,GAAI,MAAO,CAAC+1F,EAAU/1F,IAEpC,IAAK,IAAI0D,EAAI,EAAG9B,EAAIm0F,EAAUx0F,OAAQy0F,EAAK,IAAIxtF,MAAM5G,GAAI8B,EAAI9B,EAAG8B,IAC9DsyF,EAAGtyF,GAAKqyF,EAAUryF,GAAG1D,GAGvB,OAAOg2F,GAUTN,EAAajtF,UAAUinE,KAAO,SAAc9tC,EAAO5wB,EAAIilF,EAAIC,EAAIC,EAAIC,GACjE,IAAI18B,EAAMlqB,EAASA,EAAS5N,EAAQA,EAEpC,IAAKhiC,KAAK+1F,QAAQj8B,GAAM,OAAO,EAE/B,IAEIt0D,EACA1B,EAHA4c,EAAY1gB,KAAK+1F,QAAQj8B,GACzB7xD,EAAMxC,UAAU9D,OAIpB,GAAI+e,EAAUtgB,GAAI,CAGhB,OAFIsgB,EAAUstD,MAAMhuE,KAAK8/B,eAAekC,EAAOthB,EAAUtgB,QAAI4J,GAAW,GAEhE/B,GACN,KAAK,EAAG,OAAOyY,EAAUtgB,GAAG2I,KAAK2X,EAAU5F,UAAU,EACrD,KAAK,EAAG,OAAO4F,EAAUtgB,GAAG2I,KAAK2X,EAAU5F,QAAS1J,IAAK,EACzD,KAAK,EAAG,OAAOsP,EAAUtgB,GAAG2I,KAAK2X,EAAU5F,QAAS1J,EAAIilF,IAAK,EAC7D,KAAK,EAAG,OAAO31E,EAAUtgB,GAAG2I,KAAK2X,EAAU5F,QAAS1J,EAAIilF,EAAIC,IAAK,EACjE,KAAK,EAAG,OAAO51E,EAAUtgB,GAAG2I,KAAK2X,EAAU5F,QAAS1J,EAAIilF,EAAIC,EAAIC,IAAK,EACrE,KAAK,EAAG,OAAO71E,EAAUtgB,GAAG2I,KAAK2X,EAAU5F,QAAS1J,EAAIilF,EAAIC,EAAIC,EAAIC,IAAK,EAG3E,IAAK1yF,EAAI,EAAG0B,EAAO,IAAIoD,MAAMX,EAAK,GAAInE,EAAImE,EAAKnE,IAC7C0B,EAAK1B,EAAI,GAAK2B,UAAU3B,GAG1B4c,EAAUtgB,GAAG0Q,MAAM4P,EAAU5F,QAAStV,OACjC,CACL,IACI4tB,EADAzxB,EAAS+e,EAAU/e,OAGvB,IAAKmC,EAAI,EAAGA,EAAInC,EAAQmC,IAGtB,OAFI4c,EAAU5c,GAAGkqE,MAAMhuE,KAAK8/B,eAAekC,EAAOthB,EAAU5c,GAAG1D,QAAI4J,GAAW,GAEtE/B,GACN,KAAK,EAAGyY,EAAU5c,GAAG1D,GAAG2I,KAAK2X,EAAU5c,GAAGgX,SAAU,MACpD,KAAK,EAAG4F,EAAU5c,GAAG1D,GAAG2I,KAAK2X,EAAU5c,GAAGgX,QAAS1J,GAAK,MACxD,KAAK,EAAGsP,EAAU5c,GAAG1D,GAAG2I,KAAK2X,EAAU5c,GAAGgX,QAAS1J,EAAIilF,GAAK,MAC5D,KAAK,EAAG31E,EAAU5c,GAAG1D,GAAG2I,KAAK2X,EAAU5c,GAAGgX,QAAS1J,EAAIilF,EAAIC,GAAK,MAChE,QACE,IAAK9wF,EAAM,IAAK4tB,EAAI,EAAG5tB,EAAO,IAAIoD,MAAMX,EAAK,GAAImrB,EAAInrB,EAAKmrB,IACxD5tB,EAAK4tB,EAAI,GAAK3tB,UAAU2tB,GAG1B1S,EAAU5c,GAAG1D,GAAG0Q,MAAM4P,EAAU5c,GAAGgX,QAAStV,IAKpD,OAAO,GAYTswF,EAAajtF,UAAUqhE,GAAK,SAAYloC,EAAO5hC,EAAI0a,GACjD,IAAIyF,EAAW,IAAIs1E,EAAGz1F,EAAI0a,GAAW9a,MACjC85D,EAAMlqB,EAASA,EAAS5N,EAAQA,EAMpC,OAJKhiC,KAAK+1F,QAAQj8B,GACR95D,KAAK+1F,QAAQj8B,GAAK15D,GACvBJ,KAAK+1F,QAAQj8B,GAAO,CAAC95D,KAAK+1F,QAAQj8B,GAAMv5C,GADbvgB,KAAK+1F,QAAQj8B,GAAK3+C,KAAKoF,IAD/BvgB,KAAK+1F,QAAQj8B,GAAOv5C,EAAUvgB,KAAKg2F,gBAIpDh2F,MAYT81F,EAAajtF,UAAUmlE,KAAO,SAAchsC,EAAO5hC,EAAI0a,GACrD,IAAIyF,EAAW,IAAIs1E,EAAGz1F,EAAI0a,GAAW9a,MAAM,GACvC85D,EAAMlqB,EAASA,EAAS5N,EAAQA,EAMpC,OAJKhiC,KAAK+1F,QAAQj8B,GACR95D,KAAK+1F,QAAQj8B,GAAK15D,GACvBJ,KAAK+1F,QAAQj8B,GAAO,CAAC95D,KAAK+1F,QAAQj8B,GAAMv5C,GADbvgB,KAAK+1F,QAAQj8B,GAAK3+C,KAAKoF,IAD/BvgB,KAAK+1F,QAAQj8B,GAAOv5C,EAAUvgB,KAAKg2F,gBAIpDh2F,MAaT81F,EAAajtF,UAAUi3B,eAAiB,SAAwBkC,EAAO5hC,EAAI0a,EAASkzD,GAClF,IAAIlU,EAAMlqB,EAASA,EAAS5N,EAAQA,EAEpC,IAAKhiC,KAAK+1F,QAAQj8B,GAAM,OAAO95D,KAC/B,IAAKI,EAGH,OAF4B,KAAtBJ,KAAKg2F,aAAoBh2F,KAAK+1F,QAAU,IAAIH,SACtC51F,KAAK+1F,QAAQj8B,GAClB95D,KAGT,IAAI0gB,EAAY1gB,KAAK+1F,QAAQj8B,GAE7B,GAAIp5C,EAAUtgB,GAEPsgB,EAAUtgB,KAAOA,GACf4tE,IAAQttD,EAAUstD,MAClBlzD,GAAW4F,EAAU5F,UAAYA,IAEV,KAAtB9a,KAAKg2F,aAAoBh2F,KAAK+1F,QAAU,IAAIH,SACtC51F,KAAK+1F,QAAQj8B,QAEtB,CACL,IAAK,IAAIh2D,EAAI,EAAGosC,EAAS,GAAIvuC,EAAS+e,EAAU/e,OAAQmC,EAAInC,EAAQmC,KAE7D4c,EAAU5c,GAAG1D,KAAOA,GACnB4tE,IAASttD,EAAU5c,GAAGkqE,MACtBlzD,GAAW4F,EAAU5c,GAAGgX,UAAYA,IAExCo1B,EAAO/0B,KAAKuF,EAAU5c,IAOtBosC,EAAOvuC,OAAQ3B,KAAK+1F,QAAQj8B,GAAyB,IAAlB5pB,EAAOvuC,OAAeuuC,EAAO,GAAKA,EACxC,KAAtBlwC,KAAKg2F,aAAoBh2F,KAAK+1F,QAAU,IAAIH,SAC3C51F,KAAK+1F,QAAQj8B,GAG3B,OAAO95D,MAUT81F,EAAajtF,UAAU4tF,mBAAqB,SAA4Bz0D,GACtE,IAAI83B,EAaJ,OAXI93B,EAEEhiC,KAAK+1F,QADTj8B,EAAMlqB,EAASA,EAAS5N,EAAQA,KAEF,KAAtBhiC,KAAKg2F,aAAoBh2F,KAAK+1F,QAAU,IAAIH,SACtC51F,KAAK+1F,QAAQj8B,KAG3B95D,KAAK+1F,QAAU,IAAIH,EACnB51F,KAAKg2F,aAAe,GAGfh2F,MAMT81F,EAAajtF,UAAUklE,IAAM+nB,EAAajtF,UAAUi3B,eACpDg2D,EAAajtF,UAAUg3B,YAAci2D,EAAajtF,UAAUqhE,GAK5D4rB,EAAajtF,UAAU6tF,gBAAkB,WACvC,OAAO12F,MAMT81F,EAAaa,SAAW/mD,EAKxBkmD,EAAaA,aAAeA,OAKxB,IAAuBt2F,IACzBA,EAAOD,QAAUu2F,IAMb,SAAUt2F,EAAQD,EAASq9D,GAEjC,aAGAh7D,OAAOC,eAAetC,EAAS,aAAc,CAC3CuC,OAAO,IAETvC,EAAQq3F,UAAYr3F,EAAQs3F,aAAet3F,EAAQu3F,aAAev3F,EAAQw3F,UAAYx3F,EAAQy3F,gBAAkBz3F,EAAQu+D,aAAU9zD,EAElI,IAAI49D,EAA4B,mBAAXC,QAAoD,iBAApBA,OAAO3F,SAAwB,SAAU/2D,GAAO,cAAcA,GAAS,SAAUA,GAAO,OAAOA,GAAyB,mBAAX08D,QAAyB18D,EAAIuH,cAAgBm1D,QAAU18D,IAAQ08D,OAAOh/D,UAAY,gBAAkBsC,GAElQ28D,EAAgb,SAAUxtB,EAAKx2C,GAAK,GAAI8E,MAAMwH,QAAQkqC,GAAQ,OAAOA,EAAY,GAAIutB,OAAO3F,YAAYtgE,OAAO04C,GAAQ,OAAxf,SAAuBA,EAAKx2C,GAAK,IAAIikE,EAAO,GAAQC,GAAK,EAAUC,GAAK,EAAWC,OAAKl+D,EAAW,IAAM,IAAK,IAAiCm+D,EAA7B1H,EAAKnmB,EAAIutB,OAAO3F,cAAmB8F,GAAMG,EAAK1H,EAAG5wC,QAAQu4C,QAAoBL,EAAK5sD,KAAKgtD,EAAGrmE,QAAYgC,GAAKikE,EAAKpmE,SAAWmC,GAA3DkkE,GAAK,IAAoE,MAAOK,GAAOJ,GAAK,EAAMC,EAAKG,EAAO,QAAU,KAAWL,GAAMvH,EAAW,QAAGA,EAAW,SAAO,QAAU,GAAIwH,EAAI,MAAMC,GAAQ,OAAOH,EAA6HO,CAAchuB,EAAKx2C,GAAa,MAAM,IAAIkiE,UAAU,yDAEllBnB,EAAe,WAAc,SAASC,EAAiB/1D,EAAQyuB,GAAS,IAAK,IAAI15B,EAAI,EAAGA,EAAI05B,EAAM77B,OAAQmC,IAAK,CAAE,IAAIghC,EAAatH,EAAM15B,GAAIghC,EAAWvhB,WAAauhB,EAAWvhB,aAAc,EAAOuhB,EAAWxhB,cAAe,EAAU,UAAWwhB,IAAYA,EAAWw/B,UAAW,GAAM1iE,OAAOC,eAAekN,EAAQ+1B,EAAWxkC,IAAKwkC,IAAiB,OAAO,SAAUigC,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYF,EAAiBC,EAAYl8D,UAAWm8D,GAAiBC,GAAaH,EAAiBC,EAAaE,GAAqBF,GAA7gB,GAIfkyB,EAAWzxB,EAFA5I,EAAoB,IAM/B6I,EAAeD,EAFD5I,EAAoB,IAMlC8I,EAAcF,EAFD5I,EAAoB,IAMjC2jB,EAAU/a,EAFD5I,EAAoB,IAM7BgM,EAAWpD,EAFD5I,EAAoB,KAM9B6L,EAAWjD,EAFD5I,EAAoB,IAI9Bs6B,EAASt6B,EAAoB,IAE7Bu6B,EAAcv6B,EAAoB,IAIlC8X,EAASlP,EAFD5I,EAAoB,KAI5BitB,EAASjtB,EAAoB,IAE7Bw6B,EAAax6B,EAAoB,IAEjCy6B,EAAQz6B,EAAoB,IAE5B06B,EAAQ16B,EAAoB,IAEhC,SAAS4I,EAAuBr6D,GAAO,OAAOA,GAAOA,EAAI6xD,WAAa7xD,EAAM,CAAE2yD,QAAS3yD,GAEvF,SAAS29D,EAAgB39D,EAAK7K,EAAKwB,GAAiK,OAApJxB,KAAO6K,EAAOvJ,OAAOC,eAAesJ,EAAK7K,EAAK,CAAEwB,MAAOA,EAAOyhB,YAAY,EAAMD,cAAc,EAAMghD,UAAU,IAAkBn5D,EAAI7K,GAAOwB,EAAgBqJ,EAQ3M,IAAI49D,GAAQ,EAAIH,EAAS9K,SAAS,mBAE9By5B,EAAU,eAEVC,EAAmB,CAAC,CAAC53B,KAAKC,UAAW+2B,GAAY,CAACh3B,KAAKC,UAAWi3B,GAAe,CAAC,KA4PtF,SAAoBtuF,EAAMjG,GAIxB,OAHKk1F,EAAcl1F,EAAO,OACxBA,EAAM8+D,OAAO,MAER9+D,IAhQgG,CAACq9D,KAAK83B,aAAcZ,GAAe,CAACl3B,KAAK83B,aAAcX,GAAY,CAACn3B,KAAK83B,aAAcb,GAAe,CAACj3B,KAAK83B,aAAcV,GAAkB,CAACp3B,KAAK83B,aA2S3P,SAAqBlvF,EAAMjG,GACzB,IAAIsyC,EAAU,GACV19B,EAAQ3O,EAAK2O,OAAS,GAc1B,OAbIA,EAAMuD,WAA8C,WAAjCi9E,EAAanvF,GAAMkS,YACxCm6B,EAAQ+iD,QAAS,GAEfzgF,EAAM0gF,aAAeF,EAAanvF,GAAMqvF,WAAW1sB,WAAW,SAAWzkE,SAASixF,EAAanvF,GAAMqvF,aAAe,OACtHhjD,EAAQijD,MAAO,GAEbl2F,OAAOgG,KAAKitC,GAASlzC,OAAS,IAChCY,EAAQw1F,EAAYx1F,EAAOsyC,IAEzBjqC,WAAWuM,EAAM6gF,YAAc,GAAK,IAEtCz1F,GAAQ,IAAIkjE,EAAa3H,SAAUuD,OAAO,MAAMp1D,OAAO1J,IAElDA,IA3T8Q,CAAC,KAuQxR,SAAqBiG,EAAMjG,GACzB,IAAI4D,EAAQu/D,EAAY5H,QAAQI,MAAM11D,GACtC,GAAa,MAATrC,GAAoC,cAAnBA,EAAMw6D,WAA6B82B,EAAcl1F,EAAO,MAC3E,OAAOA,EAIT,IAFA,IAAI0hF,GAAU,EACVz8E,EAASgB,EAAKw6B,YACVx7B,EAAO+7B,UAAUuqC,SAAS,iBAC2B,UAAtDpI,EAAY5H,QAAQI,MAAM12D,IAAW,IAAIm5D,WAC5CsjB,GAAU,GAEZz8E,EAASA,EAAOw7B,WAElB,OAAIihD,GAAU,EAAU1hF,EACjBA,EAAM8/D,SAAQ,IAAIoD,EAAa3H,SAAUyD,OAAOh/D,EAAMZ,SAAW,GAAG4/D,OAAO,EAAG,CAAE0iB,OAAQA,OArR2M,CAAC,IAAKgU,EAAWr1D,KAAKq1D,EAAY,SAAU,CAAC,IAAKA,EAAWr1D,KAAKq1D,EAAY,WAAY,CAAC,QAmQvY,WACE,OAAO,IAAIxyB,EAAa3H,WAlQtBo6B,EAAwB,CAAChB,EAAOxN,eAAgB0N,EAAWpN,oBAAoB79C,QAAO,SAAUyvC,EAAM8M,GAExG,OADA9M,EAAK8M,EAAK7nB,SAAW6nB,EACd9M,IACN,IAECuc,EAAoB,CAACjB,EAAO1N,WAAY2N,EAAYxN,gBAAiBE,EAAOnE,WAAY0R,EAAWtN,eAAgBuN,EAAMnN,UAAWoN,EAAMlN,WAAWj+C,QAAO,SAAUyvC,EAAM8M,GAE9K,OADA9M,EAAK8M,EAAK7nB,SAAW6nB,EACd9M,IACN,IAECwc,EAAY,SAAUzX,GAGxB,SAASyX,EAAUtmB,EAAOpgE,IAzB5B,SAAyBq0D,EAAUhB,GAAe,KAAMgB,aAAoBhB,GAAgB,MAAM,IAAIiB,UAAU,qCA0B5GF,CAAgB9lE,KAAMo4F,GAEtB,IAAI74B,EA1BR,SAAoC1/D,EAAMkJ,GAAQ,IAAKlJ,EAAQ,MAAM,IAAIqmE,eAAe,6DAAgE,OAAOn9D,GAAyB,iBAATA,GAAqC,mBAATA,EAA8BlJ,EAAPkJ,EA0BlNk9D,CAA2BjmE,MAAOo4F,EAAUz5D,WAAa/8B,OAAO0jE,eAAe8yB,IAAYrvF,KAAK/I,KAAM8xE,EAAOpgE,IAezH,OAbA6tD,EAAMuS,MAAMpxC,KAAKf,iBAAiB,QAAS4/B,EAAM84B,QAAQz1D,KAAK28B,IAC9DA,EAAMz8B,UAAYy8B,EAAMuS,MAAMzI,aAAa,gBAC3C9J,EAAMz8B,UAAU1Q,aAAa,mBAAmB,GAChDmtC,EAAMz8B,UAAU1Q,aAAa,YAAa,GAC1CmtC,EAAM+4B,SAAW,GACjBd,EAAiBvrF,OAAOszD,EAAM7tD,QAAQ4mF,UAAUzwF,SAAQ,SAAU4pE,GAChE,IAAI8Q,EAAQza,EAAe2J,EAAM,GAE7B8mB,EAAUhW,EAAM,IAEf7wE,EAAQ8mF,aAAeD,IAAY1B,IACxCt3B,EAAMk5B,WAJSlW,EAAM,GAIMgW,MAEtBh5B,EAsGT,OA7IF,SAAmB6G,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIL,UAAU,kEAAoEK,GAAeD,EAASv9D,UAAYjH,OAAOo8D,OAAOqI,GAAcA,EAAWx9D,UAAW,CAAE6J,YAAa,CAAE5Q,MAAOskE,EAAU7iD,YAAY,EAAO+gD,UAAU,EAAMhhD,cAAc,KAAe+iD,IAAYzkE,OAAOs9D,eAAiBt9D,OAAOs9D,eAAekH,EAAUC,GAAcD,EAASznC,UAAY0nC,GAmB/dF,CAAUiyB,EAAWzX,GAuBrB9b,EAAauzB,EAAW,CAAC,CACvB93F,IAAK,aACLwB,MAAO,SAAoB42F,EAAUH,GACnCv4F,KAAKs4F,SAASn9E,KAAK,CAACu9E,EAAUH,MAE/B,CACDj4F,IAAK,UACLwB,MAAO,SAAiBmnE,GACtB,GAAoB,iBAATA,EAET,OADAjpE,KAAK8iC,UAAUomC,UAAYD,EAAKiK,QAAQ,eAAgB,MACjDlzE,KAAKO,UAEd,IAAIs0C,EAAU70C,KAAK8xE,MAAM9E,UAAUhtE,KAAK8xE,MAAMnI,UAAU4N,WAAW5nE,OACnE,GAAIklC,EAAQ6/B,EAAO5W,QAAQ6C,UAAW,CACpC,IAAIhuC,EAAO3yB,KAAK8iC,UAAU61D,UAE1B,OADA34F,KAAK8iC,UAAUomC,UAAY,IACpB,IAAIzD,EAAa3H,SAAUuD,OAAO1uC,EAAMm2C,EAAgB,GAAI4L,EAAO5W,QAAQ6C,SAAU9rB,EAAQ6/B,EAAO5W,QAAQ6C,YAGrH,IAAIi4B,EAAmB54F,KAAK64F,kBACxBC,EAAoBhxB,EAAe8wB,EAAkB,GAIrDr2F,EAyHV,SAASw2F,EAASvwF,EAAMwwF,EAAiBC,GAEvC,OAAIzwF,EAAK0wF,WAAa1wF,EAAKq3D,UAClBo5B,EAAa9sD,QAAO,SAAU5pC,EAAOg2F,GAC1C,OAAOA,EAAQ/vF,EAAMjG,KACpB,IAAIkjE,EAAa3H,SACXt1D,EAAK0wF,WAAa1wF,EAAKkvF,aACzB,GAAGvrD,OAAOpjC,KAAKP,EAAKuxE,YAAc,IAAI,SAAUx3E,EAAO6mF,GAC5D,IAAI+P,EAAgBJ,EAAS3P,EAAW4P,EAAiBC,GASzD,OARI7P,EAAU8P,WAAa1wF,EAAKkvF,eAC9ByB,EAAgBH,EAAgB7sD,QAAO,SAAUgtD,EAAeZ,GAC9D,OAAOA,EAAQnP,EAAW+P,KACzBA,GACHA,GAAiB/P,EAAUmO,IAAY,IAAIprD,QAAO,SAAUgtD,EAAeZ,GACzE,OAAOA,EAAQnP,EAAW+P,KACzBA,IAEE52F,EAAM0J,OAAOktF,KACnB,IAAI1zB,EAAa3H,SAEb,IAAI2H,EAAa3H,QA7IVi7B,CAAS/4F,KAAK8iC,UAHJg2D,EAAkB,GACrBA,EAAkB,IASrC,OALIrB,EAAcl1F,EAAO,OAAuD,MAA9CA,EAAM6+D,IAAI7+D,EAAM6+D,IAAIz/D,OAAS,GAAG69D,aAChEj9D,EAAQA,EAAM8/D,SAAQ,IAAIoD,EAAa3H,SAAUyD,OAAOh/D,EAAMZ,SAAW,GAAGqgE,OAAO,KAErF+G,EAAMxtD,IAAI,UAAWvb,KAAK8iC,UAAUomC,UAAW3mE,GAC/CvC,KAAK8iC,UAAUomC,UAAY,GACpB3mE,IAER,CACDjC,IAAK,uBACLwB,MAAO,SAA8B6N,EAAOs5D,GAC1C,IAAIn6D,EAASrJ,UAAU9D,OAAS,QAAsBqI,IAAjBvE,UAAU,GAAmBA,UAAU,GAAK86E,EAAQziB,QAAQ9rD,QAAQ85D,IAEzG,GAAqB,iBAAVn8D,EACT3P,KAAK8xE,MAAMlH,YAAY5qE,KAAKO,QAAQoP,GAAQs5D,GAC5CjpE,KAAK8xE,MAAM5F,aAAa,EAAGqU,EAAQziB,QAAQ9rD,QAAQm6D,YAC9C,CACL,IAAIitB,EAAQp5F,KAAKO,QAAQ0oE,GACzBjpE,KAAK8xE,MAAM+S,gBAAe,IAAIpf,EAAa3H,SAAUyD,OAAO5xD,GAAO1D,OAAOmtF,GAAQtqF,GAClF9O,KAAK8xE,MAAM5F,aAAav8D,EAAQypF,EAAMz3F,SAAU4+E,EAAQziB,QAAQ9rD,QAAQm6D,WAG3E,CACD7rE,IAAK,UACLwB,MAAO,SAAiBpC,GACtB,IAAIqnE,EAAS/mE,KAEb,IAAIN,EAAEoiF,kBAAqB9hF,KAAK8xE,MAAMrC,YAAtC,CACA,IAAI9/C,EAAQ3vB,KAAK8xE,MAAM/F,eACnBxpE,GAAQ,IAAIkjE,EAAa3H,SAAUyD,OAAO5xC,EAAMhgB,OAChD+yB,EAAY1iC,KAAK8xE,MAAMxI,mBAAmB5mC,UAC9C1iC,KAAK8iC,UAAU6oC,QACf3rE,KAAK8xE,MAAMnI,UAAU3lD,OAAOu8D,EAAQziB,QAAQ9rD,QAAQm6D,QACpDtS,YAAW,WACTt3D,EAAQA,EAAM0J,OAAO86D,EAAOxmE,WAAWyhE,OAAOryC,EAAMhuB,QACpDolE,EAAO+K,MAAM+S,eAAetiF,EAAOg+E,EAAQziB,QAAQ9rD,QAAQ68D,MAE3D9H,EAAO+K,MAAM5F,aAAa3pE,EAAMZ,SAAWguB,EAAMhuB,OAAQ4+E,EAAQziB,QAAQ9rD,QAAQm6D,QACjFpF,EAAO+K,MAAMxI,mBAAmB5mC,UAAYA,EAC5CqkC,EAAO+K,MAAMnG,UACZ,MAEJ,CACDrrE,IAAK,kBACLwB,MAAO,WACL,IAAIwpE,EAAStrE,KAETg5F,EAAkB,GAClBC,EAAe,GAsBnB,OArBAj5F,KAAKs4F,SAASzwF,SAAQ,SAAUwxF,GAC9B,IAAIC,EAAQxxB,EAAeuxB,EAAM,GAC7BX,EAAWY,EAAM,GACjBf,EAAUe,EAAM,GAEpB,OAAQZ,GACN,KAAK94B,KAAKC,UACRo5B,EAAa99E,KAAKo9E,GAClB,MACF,KAAK34B,KAAK83B,aACRsB,EAAgB79E,KAAKo9E,GACrB,MACF,QACE,GAAG1wF,QAAQkB,KAAKuiE,EAAOxoC,UAAUouC,iBAAiBwnB,IAAW,SAAUlwF,GAErEA,EAAK+uF,GAAW/uF,EAAK+uF,IAAY,GACjC/uF,EAAK+uF,GAASp8E,KAAKo9E,UAKpB,CAACS,EAAiBC,OAItBb,EA3HO,CA4Hd3vB,EAAS3K,SAOX,SAASi6B,EAAYx1F,EAAOwyC,EAAQjzC,GAClC,MAAwE,iBAAjD,IAAXizC,EAAyB,YAAc6yB,EAAQ7yB,IAClDnzC,OAAOgG,KAAKmtC,GAAQ5I,QAAO,SAAU5pC,EAAOjC,GACjD,OAAOy3F,EAAYx1F,EAAOjC,EAAKy0C,EAAOz0C,MACrCiC,GAEIA,EAAM4pC,QAAO,SAAU5pC,EAAOy+D,GACnC,OAAIA,EAAGxB,YAAcwB,EAAGxB,WAAWzqB,GAC1BxyC,EAAM4Y,KAAK6lD,GAEXz+D,EAAM8+D,OAAOL,EAAGK,QAAQ,EAAI41B,EAASn5B,SAAS,GAAIgL,EAAgB,GAAI/zB,EAAQjzC,GAAQk/D,EAAGxB,eAEjG,IAAIiG,EAAa3H,SAIxB,SAAS65B,EAAanvF,GACpB,OAAIA,EAAK0wF,WAAat5B,KAAK83B,aAAqB,GAEzClvF,EADO,yBACWA,EADX,uBAC2BqH,OAAO6mD,iBAAiBluD,IAGnE,SAASivF,EAAcl1F,EAAOowB,GAE5B,IADA,IAAI4mE,EAAU,GACLz1F,EAAIvB,EAAM6+D,IAAIz/D,OAAS,EAAGmC,GAAK,GAAKy1F,EAAQ53F,OAASgxB,EAAKhxB,SAAUmC,EAAG,CAC9E,IAAIk9D,EAAKz+D,EAAM6+D,IAAIt9D,GACnB,GAAyB,iBAAdk9D,EAAGK,OAAqB,MACnCk4B,EAAUv4B,EAAGK,OAASk4B,EAExB,OAAOA,EAAQzwF,OAAO,EAAI6pB,EAAKhxB,UAAYgxB,EAG7C,SAASitD,EAAOp3E,GACd,GAA+B,IAA3BA,EAAKuxE,WAAWp4E,OAAc,OAAO,EACzC,IAAIwV,EAAQwgF,EAAanvF,GACzB,MAAO,CAAC,QAAS,aAAa2K,QAAQgE,EAAM2gB,UAAY,EA2B1D,SAASmgE,EAAWljD,EAAQvsC,EAAMjG,GAChC,OAAOw1F,EAAYx1F,EAAOwyC,GAAQ,GAGpC,SAASiiD,EAAgBxuF,EAAMjG,GAC7B,IAAIi9D,EAAakG,EAAY5H,QAAQa,WAAWC,UAAUh3D,KAAKY,GAC3Di3D,EAAUiG,EAAY5H,QAAQa,WAAWE,MAAMj3D,KAAKY,GACpDigF,EAAS/iB,EAAY5H,QAAQa,WAAWG,MAAMl3D,KAAKY,GACnDqsC,EAAU,GAoBd,OAnBA2qB,EAAWvzD,OAAOwzD,GAASxzD,OAAOw8E,GAAQ5gF,SAAQ,SAAUoD,GAC1D,IAAIy9E,EAAOhjB,EAAY5H,QAAQI,MAAMjzD,EAAMy6D,EAAY5H,QAAQC,MAAMiV,WACzD,MAAR0V,IACF7zC,EAAQ6zC,EAAK9nB,UAAY8nB,EAAK5mF,MAAM0G,GAChCqsC,EAAQ6zC,EAAK9nB,aAGP,OADZ8nB,EAAOwP,EAAsBjtF,KACRy9E,EAAK9nB,WAAa31D,GAAQy9E,EAAK7nB,UAAY51D,IAC9D4pC,EAAQ6zC,EAAK9nB,UAAY8nB,EAAK5mF,MAAM0G,SAASwB,GAGnC,OADZ0+E,EAAOyP,EAAkBltF,KACJy9E,EAAK9nB,WAAa31D,GAAQy9E,EAAK7nB,UAAY51D,IAE9D4pC,GADA6zC,EAAOyP,EAAkBltF,IACZ21D,UAAY8nB,EAAK5mF,MAAM0G,SAASwB,OAG7CpI,OAAOgG,KAAKitC,GAASlzC,OAAS,IAChCY,EAAQw1F,EAAYx1F,EAAOsyC,IAEtBtyC,EAGT,SAASw0F,EAAUvuF,EAAMjG,GACvB,IAAI4D,EAAQu/D,EAAY5H,QAAQI,MAAM11D,GACtC,GAAa,MAATrC,EAAe,OAAO5D,EAC1B,GAAI4D,EAAM0C,qBAAqB68D,EAAY5H,QAAQQ,MAAO,CACxD,IAAIiP,EAAQ,GACRzrE,EAAQqE,EAAMrE,MAAM0G,GACX,MAAT1G,IACFyrE,EAAMpnE,EAAMw6D,UAAY7+D,EACxBS,GAAQ,IAAIkjE,EAAa3H,SAAUuD,OAAOkM,EAAOpnE,EAAM0uC,QAAQrsC,SAE/B,mBAAlBrC,EAAM0uC,UACtBtyC,EAAQw1F,EAAYx1F,EAAO4D,EAAMw6D,SAAUx6D,EAAM0uC,QAAQrsC,KAE3D,OAAOjG,EA+BT,SAASu0F,EAAatuF,EAAMjG,GAM1B,OALKk1F,EAAcl1F,EAAO,QACpBq9E,EAAOp3E,IAASjG,EAAMZ,SAAW,GAAK6G,EAAK6zE,aAAeuD,EAAOp3E,EAAK6zE,eACxE95E,EAAM8+D,OAAO,MAGV9+D,EAGT,SAASs0F,EAAaruF,EAAMjG,GAC1B,GAAIq9E,EAAOp3E,IAAoC,MAA3BA,EAAKgxF,qBAA+B/B,EAAcl1F,EAAO,QAAS,CACpF,IAAIk3F,EAAajxF,EAAKkxF,aAAe9uF,WAAW+sF,EAAanvF,GAAMmxF,WAAa/uF,WAAW+sF,EAAanvF,GAAMoxF,cAC1GpxF,EAAKgxF,mBAAmBK,UAAYrxF,EAAKqxF,UAAyB,IAAbJ,GACvDl3F,EAAM8+D,OAAO,MAGjB,OAAO9+D,EAsBT,SAASq0F,EAAUpuF,EAAMjG,GACvB,IAAIowB,EAAOnqB,EAAKsZ,KAEhB,GAAgC,QAA5BtZ,EAAKw6B,WAAWm9B,QAClB,OAAO59D,EAAM8+D,OAAO1uC,EAAKw2C,QAE3B,GAA2B,IAAvBx2C,EAAKw2C,OAAOxnE,QAAgB6G,EAAKw6B,WAAWO,UAAUuqC,SAAS,gBACjE,OAAOvrE,EAET,IAAKo1F,EAAanvF,EAAKw6B,YAAY82D,WAAW3uB,WAAW,OAAQ,CAE/D,IAAI4uB,EAAW,SAAkBC,EAAU7zF,GAEzC,OADAA,EAAQA,EAAM+sE,QAAQ,aAAc,KACvBvxE,OAAS,GAAKq4F,EAAW,IAAM7zF,GAG9CwsB,GADAA,EAAOA,EAAKugD,QAAQ,QAAS,KAAKA,QAAQ,MAAO,MACrCA,QAAQ,SAAU6mB,EAASn3D,KAAKm3D,GAAU,KAC1B,MAAxBvxF,EAAKymF,iBAA2BrP,EAAOp3E,EAAKw6B,aAAuC,MAAxBx6B,EAAKymF,iBAA2BrP,EAAOp3E,EAAKymF,oBACzGt8D,EAAOA,EAAKugD,QAAQ,OAAQ6mB,EAASn3D,KAAKm3D,GAAU,MAE9B,MAApBvxF,EAAK6zE,aAAuBuD,EAAOp3E,EAAKw6B,aAAmC,MAApBx6B,EAAK6zE,aAAuBuD,EAAOp3E,EAAK6zE,gBACjG1pD,EAAOA,EAAKugD,QAAQ,OAAQ6mB,EAASn3D,KAAKm3D,GAAU,KAGxD,OAAOx3F,EAAM8+D,OAAO1uC,GA5MtBylE,EAAUppB,SAAW,CACnBspB,SAAU,GACVE,aAAa,GA6Mfj5F,EAAQu+D,QAAUs6B,EAClB74F,EAAQy3F,gBAAkBA,EAC1Bz3F,EAAQw3F,UAAYA,EACpBx3F,EAAQu3F,aAAeA,EACvBv3F,EAAQs3F,aAAeA,EACvBt3F,EAAQq3F,UAAYA,GAId,SAAUp3F,EAAQD,EAASq9D,GAEjC,aAGAh7D,OAAOC,eAAetC,EAAS,aAAc,CAC3CuC,OAAO,IAGT,IAQgCqJ,EAR5B05D,EAAe,WAAc,SAASC,EAAiB/1D,EAAQyuB,GAAS,IAAK,IAAI15B,EAAI,EAAGA,EAAI05B,EAAM77B,OAAQmC,IAAK,CAAE,IAAIghC,EAAatH,EAAM15B,GAAIghC,EAAWvhB,WAAauhB,EAAWvhB,aAAc,EAAOuhB,EAAWxhB,cAAe,EAAU,UAAWwhB,IAAYA,EAAWw/B,UAAW,GAAM1iE,OAAOC,eAAekN,EAAQ+1B,EAAWxkC,IAAKwkC,IAAiB,OAAO,SAAUigC,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYF,EAAiBC,EAAYl8D,UAAWm8D,GAAiBC,GAAaH,EAAiBC,EAAaE,GAAqBF,GAA7gB,GAEfG,EAAO,SAASpmD,EAAI6E,EAAQ6b,EAAU2lC,GAA2B,OAAXxhD,IAAiBA,EAASyhD,SAASv8D,WAAW,IAAIw8D,EAAOzjE,OAAOqiE,yBAAyBtgD,EAAQ6b,GAAW,QAAax1B,IAATq7D,EAAoB,CAAE,IAAI79D,EAAS5F,OAAO0jE,eAAe3hD,GAAS,OAAe,OAAXnc,OAAmB,EAAkCsX,EAAItX,EAAQg4B,EAAU2lC,GAAoB,GAAI,UAAWE,EAAQ,OAAOA,EAAKvjE,MAAgB,IAAIg7D,EAASuI,EAAKvmD,IAAK,YAAe9U,IAAX8yD,EAAmDA,EAAO/zD,KAAKo8D,QAAnE,GAcrZ80B,EAAO,SAAU5mB,GAGnB,SAAS4mB,IAGP,OAZJ,SAAyBl0B,EAAUhB,GAAe,KAAMgB,aAAoBhB,GAAgB,MAAM,IAAIiB,UAAU,qCAU5GF,CAAgB9lE,KAAMi6F,GAR1B,SAAoCp6F,EAAMkJ,GAAQ,IAAKlJ,EAAQ,MAAM,IAAIqmE,eAAe,6DAAgE,OAAOn9D,GAAyB,iBAATA,GAAqC,mBAATA,EAA8BlJ,EAAPkJ,EAUvNk9D,CAA2BjmE,MAAOi6F,EAAKt7D,WAAa/8B,OAAO0jE,eAAe20B,IAAOnpF,MAAM9Q,KAAMyF,YAuBtG,OA/BF,SAAmB2gE,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIL,UAAU,kEAAoEK,GAAeD,EAASv9D,UAAYjH,OAAOo8D,OAAOqI,GAAcA,EAAWx9D,UAAW,CAAE6J,YAAa,CAAE5Q,MAAOskE,EAAU7iD,YAAY,EAAO+gD,UAAU,EAAMhhD,cAAc,KAAe+iD,IAAYzkE,OAAOs9D,eAAiBt9D,OAAOs9D,eAAekH,EAAUC,GAAcD,EAASznC,UAAY0nC,GAG/dF,CAAU8zB,EAAM5mB,GAQhBxO,EAAao1B,EAAM,CAAC,CAClB35F,IAAK,WACLwB,MAAO,SAAkBgZ,GACvBoqD,EAAK+0B,EAAKpxF,UAAU81B,WAAa/8B,OAAO0jE,eAAe20B,EAAKpxF,WAAY,WAAY7I,MAAM+I,KAAK/I,KAAM8a,GACjG9a,KAAKo2D,QAAQ+J,UAAYngE,KAAKunE,QAAQpH,QAAQ,IAChDngE,KAAKw8E,YAAYx8E,KAAKunE,QAAQ5G,aAGhC,CAAC,CACHrgE,IAAK,SACLwB,MAAO,WACL,OAAOojE,EAAK+0B,EAAKt7D,WAAa/8B,OAAO0jE,eAAe20B,GAAO,SAAUj6F,MAAM+I,KAAK/I,QAEjF,CACDM,IAAK,UACLwB,MAAO,WACL,OAAO,MAIJm4F,EA7BE,GARqB9uF,EAJlByxD,EAAoB,KAImBzxD,EAAI6xD,WAAa7xD,EAAM,CAAE2yD,QAAS3yD,IAsC5E2yD,SAEXm8B,EAAKt5B,SAAW,OAChBs5B,EAAK95B,QAAU,CAAC,SAAU,KAE1B5gE,EAAQu+D,QAAUm8B,GAIZ,SAAUz6F,EAAQD,EAASq9D,GAEjC,aAGAh7D,OAAOC,eAAetC,EAAS,aAAc,CAC3CuC,OAAO,IAETvC,EAAQ26F,YAAc36F,EAAQu+D,aAAU9zD,EAExC,IAAI89D,EAAgb,SAAUxtB,EAAKx2C,GAAK,GAAI8E,MAAMwH,QAAQkqC,GAAQ,OAAOA,EAAY,GAAIutB,OAAO3F,YAAYtgE,OAAO04C,GAAQ,OAAxf,SAAuBA,EAAKx2C,GAAK,IAAIikE,EAAO,GAAQC,GAAK,EAAUC,GAAK,EAAWC,OAAKl+D,EAAW,IAAM,IAAK,IAAiCm+D,EAA7B1H,EAAKnmB,EAAIutB,OAAO3F,cAAmB8F,GAAMG,EAAK1H,EAAG5wC,QAAQu4C,QAAoBL,EAAK5sD,KAAKgtD,EAAGrmE,QAAYgC,GAAKikE,EAAKpmE,SAAWmC,GAA3DkkE,GAAK,IAAoE,MAAOK,GAAOJ,GAAK,EAAMC,EAAKG,EAAO,QAAU,KAAWL,GAAMvH,EAAW,QAAGA,EAAW,SAAO,QAAU,GAAIwH,EAAI,MAAMC,GAAQ,OAAOH,EAA6HO,CAAchuB,EAAKx2C,GAAa,MAAM,IAAIkiE,UAAU,yDAEllBnB,EAAe,WAAc,SAASC,EAAiB/1D,EAAQyuB,GAAS,IAAK,IAAI15B,EAAI,EAAGA,EAAI05B,EAAM77B,OAAQmC,IAAK,CAAE,IAAIghC,EAAatH,EAAM15B,GAAIghC,EAAWvhB,WAAauhB,EAAWvhB,aAAc,EAAOuhB,EAAWxhB,cAAe,EAAU,UAAWwhB,IAAYA,EAAWw/B,UAAW,GAAM1iE,OAAOC,eAAekN,EAAQ+1B,EAAWxkC,IAAKwkC,IAAiB,OAAO,SAAUigC,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYF,EAAiBC,EAAYl8D,UAAWm8D,GAAiBC,GAAaH,EAAiBC,EAAaE,GAAqBF,GAA7gB,GAIfU,EAAeD,EAFD5I,EAAoB,IAMlC8I,EAAcF,EAFD5I,EAAoB,IAMjC2jB,EAAU/a,EAFD5I,EAAoB,IAM7BgM,EAAWpD,EAFD5I,EAAoB,KAM9B6L,EAAWjD,EAFD5I,EAAoB,IAIlC,SAAS4I,EAAuBr6D,GAAO,OAAOA,GAAOA,EAAI6xD,WAAa7xD,EAAM,CAAE2yD,QAAS3yD,GAMvF,SAAS86D,EAA2BpmE,EAAMkJ,GAAQ,IAAKlJ,EAAQ,MAAM,IAAIqmE,eAAe,6DAAgE,OAAOn9D,GAAyB,iBAATA,GAAqC,mBAATA,EAA8BlJ,EAAPkJ,EAIlO,IAAIggE,GAAQ,EAAIH,EAAS9K,SAAS,iBAE9Bq8B,EAAU,SAAUxZ,GAGtB,SAASwZ,EAAQroB,EAAOpgE,IAX1B,SAAyBq0D,EAAUhB,GAAe,KAAMgB,aAAoBhB,GAAgB,MAAM,IAAIiB,UAAU,qCAY5GF,CAAgB9lE,KAAMm6F,GAEtB,IAaMC,EAbF76B,EAAQ0G,EAA2BjmE,MAAOm6F,EAAQx7D,WAAa/8B,OAAO0jE,eAAe60B,IAAUpxF,KAAK/I,KAAM8xE,EAAOpgE,IAErH,GAAI9I,MAAMwH,QAAQmvD,EAAM7tD,QAAQoxB,WAAY,CAC1C,IAAIA,EAAY5Q,SAASC,cAAc,OACvC+nE,EAAYp3D,EAAWy8B,EAAM7tD,QAAQoxB,WACrCgvC,EAAMhvC,UAAUE,WAAWU,aAAaZ,EAAWgvC,EAAMhvC,WACzDy8B,EAAMz8B,UAAYA,OAElBy8B,EAAMz8B,UADsC,iBAA5By8B,EAAM7tD,QAAQoxB,UACZ5Q,SAASo9C,cAAc/P,EAAM7tD,QAAQoxB,WAErCy8B,EAAM7tD,QAAQoxB,UAElC,OAAMy8B,EAAMz8B,qBAAqBm9B,aAKjCV,EAAMz8B,UAAUS,UAAUC,IAAI,cAC9B+7B,EAAM86B,SAAW,GACjB96B,EAAMqtB,SAAW,GACjBhrF,OAAOgG,KAAK23D,EAAM7tD,QAAQk7E,UAAU/kF,SAAQ,SAAUktC,GACpDwqB,EAAM+6B,WAAWvlD,EAAQwqB,EAAM7tD,QAAQk7E,SAAS73C,OAElD,GAAGltC,QAAQkB,KAAKw2D,EAAMz8B,UAAUouC,iBAAiB,mBAAmB,SAAU9kB,GAC5EmT,EAAMgZ,OAAOnsB,MAEfmT,EAAMuS,MAAM5H,GAAGqW,EAAQziB,QAAQ5tB,OAAOi6B,eAAe,SAAUt7D,EAAM8gB,GAC/D9gB,IAAS0xE,EAAQziB,QAAQ5tB,OAAO0hC,kBAClCrS,EAAMv7C,OAAO2L,MAGjB4vC,EAAMuS,MAAM5H,GAAGqW,EAAQziB,QAAQ5tB,OAAOyhC,iBAAiB,WACrD,IAAI4oB,EAAwBh7B,EAAMuS,MAAMnI,UAAUuD,WAC9CstB,EAAyB1yB,EAAeyyB,EAAuB,GAInEh7B,EAAMv7C,OAHMw2E,EAAuB,OAK9Bj7B,IAxBE66B,EAAOrxB,EAAM75D,MAAM,iCAAkCqwD,EAAM7tD,SAAUu0D,EAA2B1G,EAAO66B,IA0IlH,OAnKF,SAAmBh0B,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIL,UAAU,kEAAoEK,GAAeD,EAASv9D,UAAYjH,OAAOo8D,OAAOqI,GAAcA,EAAWx9D,UAAW,CAAE6J,YAAa,CAAE5Q,MAAOskE,EAAU7iD,YAAY,EAAO+gD,UAAU,EAAMhhD,cAAc,KAAe+iD,IAAYzkE,OAAOs9D,eAAiBt9D,OAAOs9D,eAAekH,EAAUC,GAAcD,EAASznC,UAAY0nC,GAK/dF,CAAUg0B,EAASxZ,GA+CnB9b,EAAas1B,EAAS,CAAC,CACrB75F,IAAK,aACLwB,MAAO,SAAoBizC,EAAQ/a,GACjCh6B,KAAK4sF,SAAS73C,GAAU/a,IAEzB,CACD15B,IAAK,SACLwB,MAAO,SAAgBsqD,GACrB,IAAI2a,EAAS/mE,KAET+0C,EAAS,GAAGkpB,KAAKl1D,KAAKqjD,EAAM7oB,WAAW,SAAUlD,GACnD,OAAoC,IAA7BA,EAAUltB,QAAQ,UAE3B,GAAK4hC,EAAL,CAKA,GAJAA,EAASA,EAAOjsC,MAAM,MAAMnH,QACN,WAAlByqD,EAAM+T,SACR/T,EAAMh6B,aAAa,OAAQ,UAEA,MAAzBpyB,KAAK4sF,SAAS73C,GAAiB,CACjC,GAAmC,MAA/B/0C,KAAK8xE,MAAMtI,OAAOC,WAA4D,MAAvCzpE,KAAK8xE,MAAMtI,OAAOC,UAAU10B,GAErE,YADAg0B,EAAM/1D,KAAK,wCAAyC+hC,EAAQqX,GAG9D,GAAyC,MAArCsZ,EAAY5H,QAAQI,MAAMnpB,GAE5B,YADAg0B,EAAM/1D,KAAK,2CAA4C+hC,EAAQqX,GAKnEA,EAAMzsB,iBAD4B,WAAlBysB,EAAM+T,QAAuB,SAAW,SACtB,SAAUzgE,GAC1C,IAAIoC,OAAQ,EACZ,GAAsB,WAAlBsqD,EAAM+T,QAAsB,CAC9B,GAAI/T,EAAMu7B,cAAgB,EAAG,OAC7B,IAAIL,EAAWl7B,EAAM16C,QAAQ06C,EAAMu7B,eAEjC7lF,GADEwlF,EAASH,aAAa,cAGhBG,EAASxlF,QAAS,QAI1BA,GADEsqD,EAAM7oB,UAAUuqC,SAAS,eAGnB1hB,EAAMtqD,QAAUsqD,EAAM+6B,aAAa,UAE7CznF,EAAEqjF,iBAEJhc,EAAO+K,MAAMnG,QAEb,IAAI8uB,EAAwB1zB,EAAO+K,MAAMnI,UAAUuD,WAE/Cv9C,EADyBm4C,EAAe2yB,EAAuB,GAChC,GAEnC,GAA+B,MAA3B1zB,EAAO6lB,SAAS73C,GAClBgyB,EAAO6lB,SAAS73C,GAAQhsC,KAAKg+D,EAAQjlE,QAChC,GAAI4jE,EAAY5H,QAAQI,MAAMnpB,GAAQlsC,qBAAqB68D,EAAY5H,QAAQQ,MAAO,CAE3F,KADAx8D,EAAQ44F,OAAO,SAAW3lD,IACd,OACZgyB,EAAO+K,MAAM+S,gBAAe,IAAIpf,EAAa3H,SAAUyD,OAAO5xC,EAAMhgB,OAAOqyD,OAAOryC,EAAMhuB,QAAQ0/D,OApH1G,SAAyBl2D,EAAK7K,EAAKwB,GAAiK,OAApJxB,KAAO6K,EAAOvJ,OAAOC,eAAesJ,EAAK7K,EAAK,CAAEwB,MAAOA,EAAOyhB,YAAY,EAAMD,cAAc,EAAMghD,UAAU,IAAkBn5D,EAAI7K,GAAOwB,EAAgBqJ,EAoH1F29D,CAAgB,GAAI/zB,EAAQjzC,IAASy+E,EAAQziB,QAAQ9rD,QAAQ68D,WAEpK9H,EAAO+K,MAAM/8B,OAAOA,EAAQjzC,EAAOy+E,EAAQziB,QAAQ9rD,QAAQ68D,MAE7D9H,EAAO/iD,OAAO2L,MAGhB3vB,KAAKq6F,SAASl/E,KAAK,CAAC45B,EAAQqX,OAE7B,CACD9rD,IAAK,SACLwB,MAAO,SAAgB6tB,GACrB,IAAIklB,EAAmB,MAATllB,EAAgB,GAAK3vB,KAAK8xE,MAAM9E,UAAUr9C,GACxD3vB,KAAKq6F,SAASxyF,SAAQ,SAAUwxF,GAC9B,IAAIC,EAAQxxB,EAAeuxB,EAAM,GAC7BtkD,EAASukD,EAAM,GACfltC,EAAQktC,EAAM,GAElB,GAAsB,WAAlBltC,EAAM+T,QAAsB,CAC9B,IAAI8mB,OAAS,EACb,GAAa,MAATt3D,EACFs3D,EAAS,UACJ,GAAuB,MAAnBpyC,EAAQE,GACjBkyC,EAAS76B,EAAMkjB,cAAc,yBACxB,IAAK1mE,MAAMwH,QAAQykC,EAAQE,IAAU,CAC1C,IAAIjzC,EAAQ+yC,EAAQE,GACC,iBAAVjzC,IACTA,EAAQA,EAAMoxE,QAAQ,MAAO,QAE/B+T,EAAS76B,EAAMkjB,cAAc,iBAAmBxtE,EAAQ,MAE5C,MAAVmlF,GACF76B,EAAMtqD,MAAQ,GACdsqD,EAAMu7B,eAAiB,GAEvBV,EAAOK,UAAW,OAGpB,GAAa,MAAT33D,EACFy8B,EAAM7oB,UAAUM,OAAO,kBAClB,GAAIuoB,EAAM+6B,aAAa,SAAU,CAGtC,IAAIY,EAAWlzC,EAAQE,KAAYqX,EAAM9qB,aAAa,UAA+B,MAAnBuT,EAAQE,IAAmBF,EAAQE,GAAQ/uC,aAAeomD,EAAM9qB,aAAa,UAA+B,MAAnBuT,EAAQE,KAAoBqX,EAAM9qB,aAAa,SAC1M8qB,EAAM7oB,UAAU8mC,OAAO,YAAa0d,QAEpC37B,EAAM7oB,UAAU8mC,OAAO,YAAgC,MAAnBx1B,EAAQE,WAO/ColD,EA/JK,CAgKZ1xB,EAAS3K,SAIX,SAAS68B,EAAU73D,EAAWiS,EAAQjzC,GACpC,IAAIsqD,EAAQl6B,SAASC,cAAc,UACnCi6B,EAAMh6B,aAAa,OAAQ,UAC3Bg6B,EAAM7oB,UAAUC,IAAI,MAAQuR,GACf,MAATjzC,IACFsqD,EAAMtqD,MAAQA,GAEhBghC,EAAUzQ,YAAY+5B,GAGxB,SAAS8tC,EAAYp3D,EAAW83D,GACzBhyF,MAAMwH,QAAQwqF,EAAO,MACxBA,EAAS,CAACA,IAEZA,EAAO/yF,SAAQ,SAAUwyF,GACvB,IAAIQ,EAAQ3oE,SAASC,cAAc,QACnC0oE,EAAMt3D,UAAUC,IAAI,cACpB62D,EAASxyF,SAAQ,SAAUizF,GACzB,GAAuB,iBAAZA,EACTH,EAAUE,EAAOC,OACZ,CACL,IAAI/lD,EAASnzC,OAAOgG,KAAKkzF,GAAS,GAC9Bh5F,EAAQg5F,EAAQ/lD,GAChBnsC,MAAMwH,QAAQtO,GAW1B,SAAmBghC,EAAWiS,EAAQ1pC,GACpC,IAAI+gD,EAAQl6B,SAASC,cAAc,UACnCi6B,EAAM7oB,UAAUC,IAAI,MAAQuR,GAC5B1pC,EAAOxD,SAAQ,SAAU/F,GACvB,IAAImlF,EAAS/0D,SAASC,cAAc,WACtB,IAAVrwB,EACFmlF,EAAO70D,aAAa,QAAStwB,GAE7BmlF,EAAO70D,aAAa,WAAY,YAElCg6B,EAAM/5B,YAAY40D,MAEpBnkD,EAAUzQ,YAAY+5B,GAtBd2uC,CAAUF,EAAO9lD,EAAQjzC,GAEzB64F,EAAUE,EAAO9lD,EAAQjzC,OAI/BghC,EAAUzQ,YAAYwoE,MAhC1BV,EAAQnrB,SAAW,GAmDnBmrB,EAAQnrB,SAAW,CACjBlsC,UAAW,KACX8pD,SAAU,CACRoO,MAAO,WACL,IAAI1vB,EAAStrE,KAET2vB,EAAQ3vB,KAAK8xE,MAAM/F,eACvB,GAAa,MAATp8C,EACJ,GAAoB,GAAhBA,EAAMhuB,OAAa,CACrB,IAAIkzC,EAAU70C,KAAK8xE,MAAM9E,YACzBprE,OAAOgG,KAAKitC,GAAShtC,SAAQ,SAAUoD,GAEoC,MAArEy6D,EAAY5H,QAAQI,MAAMjzD,EAAMy6D,EAAY5H,QAAQC,MAAMiC,SAC5DsL,EAAOwG,MAAM/8B,OAAO9pC,GAAM,WAI9BjL,KAAK8xE,MAAMzD,aAAa1+C,EAAO4wD,EAAQziB,QAAQ9rD,QAAQ68D,OAG3DnyD,UAAW,SAAmB5a,GAC5B,IAAIsa,EAAQpc,KAAK8xE,MAAM9E,YAAmB,MAC5B,QAAVlrE,GAA4B,MAATsa,EACrBpc,KAAK8xE,MAAM/8B,OAAO,QAAS,QAASwrC,EAAQziB,QAAQ9rD,QAAQ68D,MAClD/sE,GAAmB,UAAVsa,GACnBpc,KAAK8xE,MAAM/8B,OAAO,SAAS,EAAOwrC,EAAQziB,QAAQ9rD,QAAQ68D,MAE5D7uE,KAAK8xE,MAAM/8B,OAAO,YAAajzC,EAAOy+E,EAAQziB,QAAQ9rD,QAAQ68D,OAEhEoV,OAAQ,SAAgBniF,GACtB,IAAI6tB,EAAQ3vB,KAAK8xE,MAAM/F,eACnBl3B,EAAU70C,KAAK8xE,MAAM9E,UAAUr9C,GAC/Bs0D,EAASv9E,SAASmuC,EAAQovC,QAAU,GACxC,GAAc,OAAVniF,GAA4B,OAAVA,EAAgB,CACpC,IAAIytE,EAAqB,OAAVztE,EAAiB,GAAK,EACX,QAAtB+yC,EAAQn4B,YAAqB6yD,IAAa,GAC9CvvE,KAAK8xE,MAAM/8B,OAAO,SAAUkvC,EAAS1U,EAAUgR,EAAQziB,QAAQ9rD,QAAQ68D,QAG3E5nE,KAAM,SAAcnF,IACJ,IAAVA,IACFA,EAAQ44F,OAAO,oBAEjB16F,KAAK8xE,MAAM/8B,OAAO,OAAQjzC,EAAOy+E,EAAQziB,QAAQ9rD,QAAQ68D,OAE3D58C,KAAM,SAAcnwB,GAClB,IAAI6tB,EAAQ3vB,KAAK8xE,MAAM/F,eACnBl3B,EAAU70C,KAAK8xE,MAAM9E,UAAUr9C,GAG/B3vB,KAAK8xE,MAAM/8B,OAAO,OAFR,UAAVjzC,EACsB,YAApB+yC,EAAc,MAAuC,cAApBA,EAAc,MAGvB,YAGF/yC,EALSy+E,EAAQziB,QAAQ9rD,QAAQ68D,SAWnEtvE,EAAQu+D,QAAUq8B,EAClB56F,EAAQ26F,YAAcA,GAIhB,SAAU16F,EAAQD,GAExBC,EAAOD,QAAU,uOAIX,SAAUC,EAAQD,EAASq9D,GAEjC,aAGAh7D,OAAOC,eAAetC,EAAS,aAAc,CAC3CuC,OAAO,IAGT,IAQgCqJ,EAR5B05D,EAAe,WAAc,SAASC,EAAiB/1D,EAAQyuB,GAAS,IAAK,IAAI15B,EAAI,EAAGA,EAAI05B,EAAM77B,OAAQmC,IAAK,CAAE,IAAIghC,EAAatH,EAAM15B,GAAIghC,EAAWvhB,WAAauhB,EAAWvhB,aAAc,EAAOuhB,EAAWxhB,cAAe,EAAU,UAAWwhB,IAAYA,EAAWw/B,UAAW,GAAM1iE,OAAOC,eAAekN,EAAQ+1B,EAAWxkC,IAAKwkC,IAAiB,OAAO,SAAUigC,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYF,EAAiBC,EAAYl8D,UAAWm8D,GAAiBC,GAAaH,EAAiBC,EAAaE,GAAqBF,GAA7gB,GAEfG,EAAO,SAASpmD,EAAI6E,EAAQ6b,EAAU2lC,GAA2B,OAAXxhD,IAAiBA,EAASyhD,SAASv8D,WAAW,IAAIw8D,EAAOzjE,OAAOqiE,yBAAyBtgD,EAAQ6b,GAAW,QAAax1B,IAATq7D,EAAoB,CAAE,IAAI79D,EAAS5F,OAAO0jE,eAAe3hD,GAAS,OAAe,OAAXnc,OAAmB,EAAkCsX,EAAItX,EAAQg4B,EAAU2lC,GAAoB,GAAI,UAAWE,EAAQ,OAAOA,EAAKvjE,MAAgB,IAAIg7D,EAASuI,EAAKvmD,IAAK,YAAe9U,IAAX8yD,EAAmDA,EAAO/zD,KAAKo8D,QAAnE,GAcrZ81B,EAAc,SAAUC,GAG1B,SAASD,EAAYpU,EAAQh5D,IAT/B,SAAyBk4C,EAAUhB,GAAe,KAAMgB,aAAoBhB,GAAgB,MAAM,IAAIiB,UAAU,qCAU5GF,CAAgB9lE,KAAMi7F,GAEtB,IAAI17B,EAVR,SAAoC1/D,EAAMkJ,GAAQ,IAAKlJ,EAAQ,MAAM,IAAIqmE,eAAe,6DAAgE,OAAOn9D,GAAyB,iBAATA,GAAqC,mBAATA,EAA8BlJ,EAAPkJ,EAUlNk9D,CAA2BjmE,MAAOi7F,EAAYt8D,WAAa/8B,OAAO0jE,eAAe21B,IAAclyF,KAAK/I,KAAM6mF,IAOtH,OALAtnB,EAAM1xC,MAAMq7C,UAAYr7C,EACxB0xC,EAAMz8B,UAAUS,UAAUC,IAAI,mBAC9B,GAAG16B,MAAMC,KAAKw2D,EAAMz8B,UAAUouC,iBAAiB,mBAAoB,EAAG,GAAGrpE,SAAQ,SAAUwL,GACzFA,EAAKkwB,UAAUC,IAAI,iBAEd+7B,EA0BT,OAzCF,SAAmB6G,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIL,UAAU,kEAAoEK,GAAeD,EAASv9D,UAAYjH,OAAOo8D,OAAOqI,GAAcA,EAAWx9D,UAAW,CAAE6J,YAAa,CAAE5Q,MAAOskE,EAAU7iD,YAAY,EAAO+gD,UAAU,EAAMhhD,cAAc,KAAe+iD,IAAYzkE,OAAOs9D,eAAiBt9D,OAAOs9D,eAAekH,EAAUC,GAAcD,EAASznC,UAAY0nC,GAG/dF,CAAU80B,EAAaC,GAevBr2B,EAAao2B,EAAa,CAAC,CACzB36F,IAAK,YACLwB,MAAO,SAAmBmlF,GACxB,IAAI5zE,EAAO6xD,EAAK+1B,EAAYpyF,UAAU81B,WAAa/8B,OAAO0jE,eAAe21B,EAAYpyF,WAAY,YAAa7I,MAAM+I,KAAK/I,KAAMinF,GAE/H,OADA5zE,EAAK8D,MAAMoN,gBAAkB0iE,EAAO3lD,aAAa,UAAY,GACtDjuB,IAER,CACD/S,IAAK,aACLwB,MAAO,SAAoBuR,EAAMq0E,GAC/BxiB,EAAK+1B,EAAYpyF,UAAU81B,WAAa/8B,OAAO0jE,eAAe21B,EAAYpyF,WAAY,aAAc7I,MAAM+I,KAAK/I,KAAMqT,EAAMq0E,GAC3H,IAAIyT,EAAan7F,KAAK6tB,MAAMyhD,cAAc,mBACtCxtE,EAAQuR,GAAOA,EAAKiuB,aAAa,eAAsB,GACvD65D,IACyB,SAAvBA,EAAWh7B,QACbg7B,EAAWhkF,MAAMe,OAASpW,EAE1Bq5F,EAAWhkF,MAAMc,KAAOnW,OAMzBm5F,EAvCS,GARc9vF,EAJlByxD,EAAoB,MAImBzxD,EAAI6xD,WAAa7xD,EAAM,CAAE2yD,QAAS3yD,IAgD5E2yD,SAEXv+D,EAAQu+D,QAAUm9B,GAIZ,SAAUz7F,EAAQD,EAASq9D,GAEjC,aAGAh7D,OAAOC,eAAetC,EAAS,aAAc,CAC3CuC,OAAO,IAGT,IAQgCqJ,EAR5B05D,EAAe,WAAc,SAASC,EAAiB/1D,EAAQyuB,GAAS,IAAK,IAAI15B,EAAI,EAAGA,EAAI05B,EAAM77B,OAAQmC,IAAK,CAAE,IAAIghC,EAAatH,EAAM15B,GAAIghC,EAAWvhB,WAAauhB,EAAWvhB,aAAc,EAAOuhB,EAAWxhB,cAAe,EAAU,UAAWwhB,IAAYA,EAAWw/B,UAAW,GAAM1iE,OAAOC,eAAekN,EAAQ+1B,EAAWxkC,IAAKwkC,IAAiB,OAAO,SAAUigC,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYF,EAAiBC,EAAYl8D,UAAWm8D,GAAiBC,GAAaH,EAAiBC,EAAaE,GAAqBF,GAA7gB,GAgBfq2B,EAAa,SAAUF,GAGzB,SAASE,EAAWvU,EAAQ2F,IAT9B,SAAyBzmB,EAAUhB,GAAe,KAAMgB,aAAoBhB,GAAgB,MAAM,IAAIiB,UAAU,qCAU5GF,CAAgB9lE,KAAMo7F,GAEtB,IAAI77B,EAVR,SAAoC1/D,EAAMkJ,GAAQ,IAAKlJ,EAAQ,MAAM,IAAIqmE,eAAe,6DAAgE,OAAOn9D,GAAyB,iBAATA,GAAqC,mBAATA,EAA8BlJ,EAAPkJ,EAUlNk9D,CAA2BjmE,MAAOo7F,EAAWz8D,WAAa/8B,OAAO0jE,eAAe81B,IAAaryF,KAAK/I,KAAM6mF,IAQpH,OANAtnB,EAAMz8B,UAAUS,UAAUC,IAAI,kBAC9B,GAAG37B,QAAQkB,KAAKw2D,EAAMz8B,UAAUouC,iBAAiB,oBAAoB,SAAU79D,GAC7EA,EAAK61D,UAAYsjB,EAAMn5E,EAAKiuB,aAAa,eAAiB,OAE5Di+B,EAAM87B,YAAc97B,EAAMz8B,UAAUwsC,cAAc,gBAClD/P,EAAM6nB,WAAW7nB,EAAM87B,aAChB97B,EAYT,OA5BF,SAAmB6G,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIL,UAAU,kEAAoEK,GAAeD,EAASv9D,UAAYjH,OAAOo8D,OAAOqI,GAAcA,EAAWx9D,UAAW,CAAE6J,YAAa,CAAE5Q,MAAOskE,EAAU7iD,YAAY,EAAO+gD,UAAU,EAAMhhD,cAAc,KAAe+iD,IAAYzkE,OAAOs9D,eAAiBt9D,OAAOs9D,eAAekH,EAAUC,GAAcD,EAASznC,UAAY0nC,GAG/dF,CAAUi1B,EAAYF,GAgBtBr2B,EAAau2B,EAAY,CAAC,CACxB96F,IAAK,aACLwB,MAAO,SAAoBuR,EAAMq0E,IAjC1B,SAAS5oE,EAAI6E,EAAQ6b,EAAU2lC,GAA2B,OAAXxhD,IAAiBA,EAASyhD,SAASv8D,WAAW,IAAIw8D,EAAOzjE,OAAOqiE,yBAAyBtgD,EAAQ6b,GAAW,QAAax1B,IAATq7D,EAAoB,CAAE,IAAI79D,EAAS5F,OAAO0jE,eAAe3hD,GAAS,OAAe,OAAXnc,OAAmB,EAAkCsX,EAAItX,EAAQg4B,EAAU2lC,GAAoB,GAAI,UAAWE,EAAQ,OAAOA,EAAKvjE,MAAgB,IAAIg7D,EAASuI,EAAKvmD,IAAK,YAAe9U,IAAX8yD,EAAmDA,EAAO/zD,KAAKo8D,QAAnE,GAkCnZD,CAAKk2B,EAAWvyF,UAAU81B,WAAa/8B,OAAO0jE,eAAe81B,EAAWvyF,WAAY,aAAc7I,MAAM+I,KAAK/I,KAAMqT,EAAMq0E,GAEzH1nF,KAAK6tB,MAAMq7C,WADX71D,EAAOA,GAAQrT,KAAKq7F,aACQnyB,cAIzBkyB,EA1BQ,GARejwF,EAJlByxD,EAAoB,MAImBzxD,EAAI6xD,WAAa7xD,EAAM,CAAE2yD,QAAS3yD,IAmC5E2yD,SAEXv+D,EAAQu+D,QAAUs9B,GAIZ,SAAU57F,EAAQD,EAASq9D,GAEjC,aAGAh7D,OAAOC,eAAetC,EAAS,aAAc,CAC3CuC,OAAO,IAGT,IAAI+iE,EAAe,WAAc,SAASC,EAAiB/1D,EAAQyuB,GAAS,IAAK,IAAI15B,EAAI,EAAGA,EAAI05B,EAAM77B,OAAQmC,IAAK,CAAE,IAAIghC,EAAatH,EAAM15B,GAAIghC,EAAWvhB,WAAauhB,EAAWvhB,aAAc,EAAOuhB,EAAWxhB,cAAe,EAAU,UAAWwhB,IAAYA,EAAWw/B,UAAW,GAAM1iE,OAAOC,eAAekN,EAAQ+1B,EAAWxkC,IAAKwkC,IAAiB,OAAO,SAAUigC,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYF,EAAiBC,EAAYl8D,UAAWm8D,GAAiBC,GAAaH,EAAiBC,EAAaE,GAAqBF,GAA7gB,GAIf9I,EAAU,WACZ,SAASA,EAAQ6V,EAAO0b,GACtB,IAAIjuB,EAAQv/D,MAJhB,SAAyB+lE,EAAUhB,GAAe,KAAMgB,aAAoBhB,GAAgB,MAAM,IAAIiB,UAAU,qCAM5GF,CAAgB9lE,KAAMi8D,GAEtBj8D,KAAK8xE,MAAQA,EACb9xE,KAAKwtF,gBAAkBA,GAAmBt7D,SAAS6Z,KACnD/rC,KAAK0gC,KAAOoxC,EAAMzI,aAAa,cAC/BrpE,KAAK0gC,KAAKwoC,UAAYlpE,KAAK0S,YAAY4oF,SACnCt7F,KAAK8xE,MAAMpxC,OAAS1gC,KAAK8xE,MAAMxI,oBACjCtpE,KAAK8xE,MAAMpxC,KAAKf,iBAAiB,UAAU,WACzC4/B,EAAM7+B,KAAKvpB,MAAMwiF,WAAa,EAAIp6B,EAAMuS,MAAMpxC,KAAKgC,UAAY,QAGnE1iC,KAAKmsF,OA4CP,OAzCAtnB,EAAa5I,EAAS,CAAC,CACrB37D,IAAK,OACLwB,MAAO,WACL9B,KAAK0gC,KAAK6C,UAAUC,IAAI,eAEzB,CACDljC,IAAK,WACLwB,MAAO,SAAkBy5F,GACvB,IAAI7kF,EAAO6kF,EAAU7kF,KAAO6kF,EAAUjlF,MAAQ,EAAItW,KAAK0gC,KAAK86D,YAAc,EAEtE7kF,EAAM4kF,EAAU1kF,OAAS7W,KAAK8xE,MAAMpxC,KAAKgC,UAC7C1iC,KAAK0gC,KAAKvpB,MAAMT,KAAOA,EAAO,KAC9B1W,KAAK0gC,KAAKvpB,MAAMR,IAAMA,EAAM,KAC5B3W,KAAK0gC,KAAK6C,UAAUM,OAAO,WAC3B,IAAI8oC,EAAkB3sE,KAAKwtF,gBAAgBtzB,wBACvCuhC,EAAaz7F,KAAK0gC,KAAKw5B,wBACvB9zC,EAAQ,EAeZ,OAdIq1E,EAAW7kF,MAAQ+1D,EAAgB/1D,QAErC5W,KAAK0gC,KAAKvpB,MAAMT,KAAOA,GADvB0P,EAAQumD,EAAgB/1D,MAAQ6kF,EAAW7kF,OACL,MAEpC6kF,EAAW/kF,KAAOi2D,EAAgBj2D,OAEpC1W,KAAK0gC,KAAKvpB,MAAMT,KAAOA,GADvB0P,EAAQumD,EAAgBj2D,KAAO+kF,EAAW/kF,MACJ,MAEpC+kF,EAAW5kF,OAAS81D,EAAgB91D,SAGtC7W,KAAK0gC,KAAKvpB,MAAMR,IAAMA,GADF4kF,EAAU1kF,OAAS0kF,EAAU5kF,KADpC8kF,EAAW5kF,OAAS4kF,EAAW9kF,MAEA,KAC5C3W,KAAK0gC,KAAK6C,UAAUC,IAAI,YAEnBpd,IAER,CACD9lB,IAAK,OACLwB,MAAO,WACL9B,KAAK0gC,KAAK6C,UAAUM,OAAO,cAC3B7jC,KAAK0gC,KAAK6C,UAAUM,OAAO,iBAIxBo4B,EA3DK,GA8Dd18D,EAAQu+D,QAAU7B,GAIZ,SAAUz8D,EAAQD,EAASq9D,GAEjC,aAGAh7D,OAAOC,eAAetC,EAAS,aAAc,CAC3CuC,OAAO,IAGT,IAEIojE,EAAO,SAASpmD,EAAI6E,EAAQ6b,EAAU2lC,GAA2B,OAAXxhD,IAAiBA,EAASyhD,SAASv8D,WAAW,IAAIw8D,EAAOzjE,OAAOqiE,yBAAyBtgD,EAAQ6b,GAAW,QAAax1B,IAATq7D,EAAoB,CAAE,IAAI79D,EAAS5F,OAAO0jE,eAAe3hD,GAAS,OAAe,OAAXnc,OAAmB,EAAkCsX,EAAItX,EAAQg4B,EAAU2lC,GAAoB,GAAI,UAAWE,EAAQ,OAAOA,EAAKvjE,MAAgB,IAAIg7D,EAASuI,EAAKvmD,IAAK,YAAe9U,IAAX8yD,EAAmDA,EAAO/zD,KAAKo8D,QAAnE,GAErZN,EAAe,WAAc,SAASC,EAAiB/1D,EAAQyuB,GAAS,IAAK,IAAI15B,EAAI,EAAGA,EAAI05B,EAAM77B,OAAQmC,IAAK,CAAE,IAAIghC,EAAatH,EAAM15B,GAAIghC,EAAWvhB,WAAauhB,EAAWvhB,aAAc,EAAOuhB,EAAWxhB,cAAe,EAAU,UAAWwhB,IAAYA,EAAWw/B,UAAW,GAAM1iE,OAAOC,eAAekN,EAAQ+1B,EAAWxkC,IAAKwkC,IAAiB,OAAO,SAAUigC,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYF,EAAiBC,EAAYl8D,UAAWm8D,GAAiBC,GAAaH,EAAiBC,EAAaE,GAAqBF,GAA7gB,GAIfQ,EAAWC,EAFD5I,EAAoB,IAM9BiT,EAAYrK,EAFD5I,EAAoB,IAI/B8+B,EAAQ9+B,EAAoB,IAE5B++B,EAASn2B,EAAuBk2B,GAIhCE,EAASp2B,EAFD5I,EAAoB,KAI5B8L,EAAa9L,EAAoB,IAIjCi/B,EAAUr2B,EAFD5I,EAAoB,KAIjC,SAAS4I,EAAuBr6D,GAAO,OAAOA,GAAOA,EAAI6xD,WAAa7xD,EAAM,CAAE2yD,QAAS3yD,GAEvF,SAAS26D,EAAgBC,EAAUhB,GAAe,KAAMgB,aAAoBhB,GAAgB,MAAM,IAAIiB,UAAU,qCAEhH,SAASC,EAA2BpmE,EAAMkJ,GAAQ,IAAKlJ,EAAQ,MAAM,IAAIqmE,eAAe,6DAAgE,OAAOn9D,GAAyB,iBAATA,GAAqC,mBAATA,EAA8BlJ,EAAPkJ,EAElO,SAASo9D,EAAUC,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIL,UAAU,kEAAoEK,GAAeD,EAASv9D,UAAYjH,OAAOo8D,OAAOqI,GAAcA,EAAWx9D,UAAW,CAAE6J,YAAa,CAAE5Q,MAAOskE,EAAU7iD,YAAY,EAAO+gD,UAAU,EAAMhhD,cAAc,KAAe+iD,IAAYzkE,OAAOs9D,eAAiBt9D,OAAOs9D,eAAekH,EAAUC,GAAcD,EAASznC,UAAY0nC,GAEje,IAAIy1B,EAAiB,CAAC,CAAC,CAAE5W,OAAQ,CAAC,IAAK,IAAK,KAAK,KAAW,CAAC,OAAQ,SAAU,YAAa,QAAS,CAAC,CAAEjzD,KAAM,WAAa,CAAEA,KAAM,WAAa,CAAC,UAE7I8pE,EAAY,SAAUC,GAGxB,SAASD,EAAUjqB,EAAOpgE,GACxBo0D,EAAgB9lE,KAAM+7F,GAES,MAA3BrqF,EAAQgrD,QAAQ2S,SAAwD,MAArC39D,EAAQgrD,QAAQ2S,QAAQvsC,YAC7DpxB,EAAQgrD,QAAQ2S,QAAQvsC,UAAYg5D,GAGtC,IAAIv8B,EAAQ0G,EAA2BjmE,MAAO+7F,EAAUp9D,WAAa/8B,OAAO0jE,eAAey2B,IAAYhzF,KAAK/I,KAAM8xE,EAAOpgE,IAGzH,OADA6tD,EAAMuS,MAAMhvC,UAAUS,UAAUC,IAAI,WAC7B+7B,EAkBT,OA9BA4G,EAAU41B,EAAWC,GAerBn3B,EAAak3B,EAAW,CAAC,CACvBz7F,IAAK,gBACLwB,MAAO,SAAuButE,GAC5BA,EAAQvsC,UAAUS,UAAUC,IAAI,WAChCxjC,KAAKi8F,aAAa,GAAGnzF,MAAMC,KAAKsmE,EAAQvsC,UAAUouC,iBAAiB,WAAY2qB,EAAQ/9B,SACvF99D,KAAKk8F,aAAa,GAAGpzF,MAAMC,KAAKsmE,EAAQvsC,UAAUouC,iBAAiB,WAAY2qB,EAAQ/9B,SACvF99D,KAAKisC,QAAU,IAAIkwD,EAAYn8F,KAAK8xE,MAAO9xE,KAAK0R,QAAQ4Z,QACpD+jD,EAAQvsC,UAAUwsC,cAAc,aAClCtvE,KAAK8xE,MAAMjI,SAASgX,WAAW,CAAEvgF,IAAK,IAAKikF,UAAU,IAAQ,SAAU50D,EAAO7U,GAC5Eu0D,EAAQud,SAAe,KAAE7jF,KAAKsmE,GAAUv0D,EAAQi6B,OAAO9tC,aAMxD80F,EA/BO,CAgCdJ,EAAO79B,SAETi+B,EAAU/sB,UAAW,EAAIzJ,EAASzH,UAAS,EAAM,GAAI69B,EAAO79B,QAAQkR,SAAU,CAC5EtS,QAAS,CACP2S,QAAS,CACPud,SAAU,CACR3lF,KAAM,SAAcnF,GAClB,GAAIA,EAAO,CACT,IAAI6tB,EAAQ3vB,KAAK8xE,MAAM/F,eACvB,GAAa,MAATp8C,GAAiC,GAAhBA,EAAMhuB,OAAa,OACxC,IAAI+rF,EAAU1tF,KAAK8xE,MAAMzE,QAAQ19C,GAC7B,iBAAiB6wD,KAAKkN,IAA2C,IAA/BA,EAAQv6E,QAAQ,aACpDu6E,EAAU,UAAYA,GAEV1tF,KAAK8xE,MAAMlI,MAAM39B,QACvB6gD,KAAK,OAAQY,QAErB1tF,KAAK8xE,MAAM/8B,OAAO,QAAQ,SAQtC,IAAIonD,EAAc,SAAUC,GAG1B,SAASD,EAAYrqB,EAAOxmD,GAC1Bw6C,EAAgB9lE,KAAMm8F,GAEtB,IAAIp1B,EAASd,EAA2BjmE,MAAOm8F,EAAYx9D,WAAa/8B,OAAO0jE,eAAe62B,IAAcpzF,KAAK/I,KAAM8xE,EAAOxmD,IAG9H,OADAy7C,EAAO2mB,QAAU3mB,EAAOrmC,KAAK4uC,cAAc,gBACpCvI,EA0DT,OAlEAZ,EAAUg2B,EAAaC,GAWvBv3B,EAAas3B,EAAa,CAAC,CACzB77F,IAAK,SACLwB,MAAO,WACL,IAAIwpE,EAAStrE,KAEbklE,EAAKi3B,EAAYtzF,UAAU81B,WAAa/8B,OAAO0jE,eAAe62B,EAAYtzF,WAAY,SAAU7I,MAAM+I,KAAK/I,MAC3GA,KAAK0gC,KAAK4uC,cAAc,eAAe3vC,iBAAiB,SAAS,SAAUqC,GACrEspC,EAAO5qC,KAAK6C,UAAUuqC,SAAS,cACjCxC,EAAO5zD,OAEP4zD,EAAOwhB,KAAK,OAAQxhB,EAAOoiB,QAAQla,aAErCxxC,EAAM+gD,oBAER/iF,KAAK0gC,KAAK4uC,cAAc,eAAe3vC,iBAAiB,SAAS,SAAUqC,GACzE,GAAwB,MAApBspC,EAAOqiB,UAAmB,CAC5B,IAAIh+D,EAAQ27C,EAAOqiB,UACnBriB,EAAOsiB,eACPtiB,EAAOwG,MAAM7F,WAAWt8C,EAAO,QAAQ,EAAOkgD,EAAU/R,QAAQ9rD,QAAQ68D,aACjEvD,EAAOqiB,UAEhB3rD,EAAM+gD,iBACNzX,EAAO6gB,UAETnsF,KAAK8xE,MAAM5H,GAAG2F,EAAU/R,QAAQ5tB,OAAO0hC,kBAAkB,SAAUjiD,EAAO+qD,EAAU5rE,GAClF,GAAa,MAAT6gB,EAAJ,CACA,GAAqB,IAAjBA,EAAMhuB,QAAgBmN,IAAW+gE,EAAU/R,QAAQ9rD,QAAQ68D,KAAM,CACnE,IACIsV,EAvIsa,SAAU7pC,EAAKx2C,GAAK,GAAI8E,MAAMwH,QAAQkqC,GAAQ,OAAOA,EAAY,GAAIutB,OAAO3F,YAAYtgE,OAAO04C,GAAQ,OAAxf,SAAuBA,EAAKx2C,GAAK,IAAIikE,EAAO,GAAQC,GAAK,EAAUC,GAAK,EAAWC,OAAKl+D,EAAW,IAAM,IAAK,IAAiCm+D,EAA7B1H,EAAKnmB,EAAIutB,OAAO3F,cAAmB8F,GAAMG,EAAK1H,EAAG5wC,QAAQu4C,QAAoBL,EAAK5sD,KAAKgtD,EAAGrmE,OAAsUgC,IAArTikE,EAAKpmE,QAAhDqmE,GAAK,IAAoE,MAAOK,GAAOJ,GAAK,EAAMC,EAAKG,EAAO,QAAU,KAAWL,GAAMvH,EAAW,QAAGA,EAAW,SAAO,QAAU,GAAIwH,EAAI,MAAMC,GAAQ,OAAOH,EAA6HO,CAAchuB,GAAkB,MAAM,IAAI0rB,UAAU,wDAuI/iB8B,CADDwD,EAAOwG,MAAMtI,OAAOmK,WAAWioB,EAAO99B,QAASnuC,EAAMhgB,QAE7E1I,EAAOk9E,EAAuB,GAGlC,GAAY,MAARl9E,EAAc,CAChBqkE,EAAOqiB,UAAY,IAAIjlB,EAAWkG,MAAMj/C,EAAMhgB,MAHnCw0E,EAAuB,GAG4Bl9E,EAAKtF,UACnE,IAAI+rF,EAAUkO,EAAO99B,QAAQjpB,QAAQ5tC,EAAKmvD,SAK1C,OAJAkV,EAAOoiB,QAAQla,YAAcka,EAC7BpiB,EAAOoiB,QAAQt7D,aAAa,OAAQs7D,GACpCpiB,EAAO+wB,YACP/wB,EAAO16C,SAAS06C,EAAOwG,MAAMpF,UAAUpB,EAAOqiB,yBAIzCriB,EAAOqiB,UAEhBriB,EAAO6gB,aAGV,CACD7rF,IAAK,OACLwB,MAAO,WACLojE,EAAKi3B,EAAYtzF,UAAU81B,WAAa/8B,OAAO0jE,eAAe62B,EAAYtzF,WAAY,OAAQ7I,MAAM+I,KAAK/I,MACzGA,KAAK0gC,KAAKoB,gBAAgB,iBAIvBq6D,EAnES,CAoEhBT,EAAMpQ,aAER6Q,EAAYb,SAAW,CAAC,0FAA2F,mGAAoG,4BAA6B,6BAA6B90F,KAAK,IAEtRjH,EAAQu+D,QAAUi+B,GAIZ,SAAUv8F,EAAQD,EAASq9D,GAEjC,aAGAh7D,OAAOC,eAAetC,EAAS,aAAc,CAC3CuC,OAAO,IAGT,IAEIw6F,EAAS92B,EAFD5I,EAAoB,KAI5Bs6B,EAASt6B,EAAoB,IAE7Bw6B,EAAax6B,EAAoB,IAEjC2/B,EAAU3/B,EAAoB,IAI9B4/B,EAAeh3B,EAFD5I,EAAoB,KAMlC6/B,EAAWj3B,EAFD5I,EAAoB,KAI9B8/B,EAAQ9/B,EAAoB,IAE5B+/B,EAASn3B,EAAuBk3B,GAEhCvF,EAAcv6B,EAAoB,IAElCitB,EAASjtB,EAAoB,IAE7By6B,EAAQz6B,EAAoB,IAE5B06B,EAAQ16B,EAAoB,IAI5BggC,EAASp3B,EAFD5I,EAAoB,KAM5BigC,EAAWr3B,EAFD5I,EAAoB,KAM9Bg/B,EAASp2B,EAFD5I,EAAoB,KAM5BkgC,EAAWt3B,EAFD5I,EAAoB,KAM9BmgC,EAAWv3B,EAFD5I,EAAoB,KAM9BogC,EAAcx3B,EAFD5I,EAAoB,KAMjCqgC,EAAUz3B,EAFD5I,EAAoB,KAM7BsgC,EAAU13B,EAFD5I,EAAoB,KAI7BugC,EAAQvgC,EAAoB,IAE5B8X,EAASlP,EAAuB23B,GAIhCC,EAAY53B,EAFD5I,EAAoB,KAM/BygC,EAAW73B,EAFD5I,EAAoB,KAM9B0gC,EAAY93B,EAFD5I,EAAoB,KAM/Bi/B,EAAUr2B,EAFD5I,EAAoB,KAM7B6uB,EAAWjmB,EAFD5I,EAAoB,KAM9B2uB,EAAgB/lB,EAFD5I,EAAoB,KAMnC4uB,EAAehmB,EAFD5I,EAAoB,KAMlC8uB,EAAYlmB,EAFD5I,EAAoB,KAM/B2gC,EAAW/3B,EAFD5I,EAAoB,MAM9B4gC,EAASh4B,EAFD5I,EAAoB,KAIhC,SAAS4I,EAAuBr6D,GAAO,OAAOA,GAAOA,EAAI6xD,WAAa7xD,EAAM,CAAE2yD,QAAS3yD,GAEvFmxF,EAAOx+B,QAAQv5B,SAAS,CACtB,kCAAmC6yD,EAAWpN,mBAE9C,0BAA2BkN,EAAOzN,WAClC,+BAAgC0N,EAAYvN,gBAC5C,0BAA2BC,EAAOlE,WAClC,8BAA+ByR,EAAWrN,eAC1C,yBAA0BsN,EAAMpN,UAChC,yBAA0BqN,EAAMjN,UAEhC,0BAA2B6M,EAAO1N,WAClC,+BAAgC2N,EAAYxN,gBAC5C,0BAA2BE,EAAOnE,WAClC,8BAA+B0R,EAAWtN,eAC1C,yBAA0BuN,EAAMnN,UAChC,yBAA0BoN,EAAMlN,YAC/B,GAEHkS,EAAOx+B,QAAQv5B,SAAS,CACtB,gBAAiB2yD,EAAOzN,WACxB,oBAAqB2N,EAAWrN,eAChC,iBAAkBwS,EAAQkB,YAE1B,qBAAsBtG,EAAYxN,gBAClC,gBAAiBE,EAAOnE,WACxB,eAAgB2R,EAAMpN,UACtB,eAAgBqN,EAAMjN,UAEtB,qBAAsBmS,EAAa1+B,QACnC,qBAAsB4W,EAAO5W,QAC7B,iBAAkB2+B,EAAS3+B,QAC3B,eAAgB6+B,EAAO7+B,QAEvB,eAAgB8+B,EAAO9+B,QACvB,eAAgBq/B,EAAMhqB,KACtB,iBAAkB0pB,EAAS/+B,QAC3B,eAAgB89B,EAAO99B,QACvB,iBAAkBg/B,EAASh/B,QAC3B,iBAAkBi/B,EAASj/B,QAC3B,oBAAqBk/B,EAAYl/B,QAEjC,gBAAiBm/B,EAAQn/B,QACzB,gBAAiBo/B,EAAQp/B,QAEzB,oBAAqB4+B,EAAMgB,SAE3B,kBAAmBN,EAAUt/B,QAC7B,iBAAkBu/B,EAASv/B,QAC3B,kBAAmBw/B,EAAUx/B,QAE7B,gBAAiBy/B,EAASz/B,QAC1B,cAAe0/B,EAAO1/B,QAEtB,WAAY+9B,EAAQ/9B,QACpB,YAAa2tB,EAAS3tB,QACtB,iBAAkB0tB,EAAa1tB,QAC/B,kBAAmBytB,EAAcztB,QACjC,aAAc4tB,EAAU5tB,UACvB,GAEHv+D,EAAQu+D,QAAUw+B,EAAOx+B,SAInB,SAAUt+D,EAAQD,EAASq9D,GAEjC,aAGAh7D,OAAOC,eAAetC,EAAS,aAAc,CAC3CuC,OAAO,IAETvC,EAAQk+F,iBAAczzF,EAEtB,IAQgCmB,EAR5B05D,EAAe,WAAc,SAASC,EAAiB/1D,EAAQyuB,GAAS,IAAK,IAAI15B,EAAI,EAAGA,EAAI05B,EAAM77B,OAAQmC,IAAK,CAAE,IAAIghC,EAAatH,EAAM15B,GAAIghC,EAAWvhB,WAAauhB,EAAWvhB,aAAc,EAAOuhB,EAAWxhB,cAAe,EAAU,UAAWwhB,IAAYA,EAAWw/B,UAAW,GAAM1iE,OAAOC,eAAekN,EAAQ+1B,EAAWxkC,IAAKwkC,IAAiB,OAAO,SAAUigC,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYF,EAAiBC,EAAYl8D,UAAWm8D,GAAiBC,GAAaH,EAAiBC,EAAaE,GAAqBF,GAA7gB,GAEfG,EAAO,SAASpmD,EAAI6E,EAAQ6b,EAAU2lC,GAA2B,OAAXxhD,IAAiBA,EAASyhD,SAASv8D,WAAW,IAAIw8D,EAAOzjE,OAAOqiE,yBAAyBtgD,EAAQ6b,GAAW,QAAax1B,IAATq7D,EAAoB,CAAE,IAAI79D,EAAS5F,OAAO0jE,eAAe3hD,GAAS,OAAe,OAAXnc,OAAmB,EAAkCsX,EAAItX,EAAQg4B,EAAU2lC,GAAoB,GAAI,UAAWE,EAAQ,OAAOA,EAAKvjE,MAAgB,IAAIg7D,EAASuI,EAAKvmD,IAAK,YAAe9U,IAAX8yD,EAAmDA,EAAO/zD,KAAKo8D,QAAnE,GAIrZO,GAE4Bv6D,EAJfyxD,EAAoB,KAIgBzxD,EAAI6xD,WAAa7xD,EAAM,CAAE2yD,QAAS3yD,GA8CnFsyF,EAAc,IAtCI,SAAU5X,GAG9B,SAAS8X,IAGP,OAZJ,SAAyB53B,EAAUhB,GAAe,KAAMgB,aAAoBhB,GAAgB,MAAM,IAAIiB,UAAU,qCAU5GF,CAAgB9lE,KAAM29F,GAR1B,SAAoC99F,EAAMkJ,GAAQ,IAAKlJ,EAAQ,MAAM,IAAIqmE,eAAe,6DAAgE,OAAOn9D,GAAyB,iBAATA,GAAqC,mBAATA,EAA8BlJ,EAAPkJ,EAUvNk9D,CAA2BjmE,MAAO29F,EAAgBh/D,WAAa/8B,OAAO0jE,eAAeq4B,IAAkB7sF,MAAM9Q,KAAMyF,YA6B5H,OArCF,SAAmB2gE,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIL,UAAU,kEAAoEK,GAAeD,EAASv9D,UAAYjH,OAAOo8D,OAAOqI,GAAcA,EAAWx9D,UAAW,CAAE6J,YAAa,CAAE5Q,MAAOskE,EAAU7iD,YAAY,EAAO+gD,UAAU,EAAMhhD,cAAc,KAAe+iD,IAAYzkE,OAAOs9D,eAAiBt9D,OAAOs9D,eAAekH,EAAUC,GAAcD,EAASznC,UAAY0nC,GAG/dF,CAAUw3B,EAAiB9X,GAQ3BhhB,EAAa84B,EAAiB,CAAC,CAC7Br9F,IAAK,MACLwB,MAAO,SAAa0G,EAAM1G,GACxB,GAAc,OAAVA,GAA4B,OAAVA,EAAgB,CACpC,IAAImiF,EAASjkF,KAAK8B,MAAM0G,IAAS,EACjC1G,EAAkB,OAAVA,EAAiBmiF,EAAS,EAAIA,EAAS,EAEjD,OAAc,IAAVniF,GACF9B,KAAK6jC,OAAOr7B,IACL,GAEA08D,EAAKy4B,EAAgB90F,UAAU81B,WAAa/8B,OAAO0jE,eAAeq4B,EAAgB90F,WAAY,MAAO7I,MAAM+I,KAAK/I,KAAMwI,EAAM1G,KAGtI,CACDxB,IAAK,SACLwB,MAAO,SAAgB0G,EAAM1G,GAC3B,OAAOojE,EAAKy4B,EAAgB90F,UAAU81B,WAAa/8B,OAAO0jE,eAAeq4B,EAAgB90F,WAAY,SAAU7I,MAAM+I,KAAK/I,KAAMwI,EAAM1G,IAAUojE,EAAKy4B,EAAgB90F,UAAU81B,WAAa/8B,OAAO0jE,eAAeq4B,EAAgB90F,WAAY,SAAU7I,MAAM+I,KAAK/I,KAAMwI,EAAM9B,SAAS5E,MAEzR,CACDxB,IAAK,QACLwB,MAAO,SAAe0G,GACpB,OAAO9B,SAASw+D,EAAKy4B,EAAgB90F,UAAU81B,WAAa/8B,OAAO0jE,eAAeq4B,EAAgB90F,WAAY,QAAS7I,MAAM+I,KAAK/I,KAAMwI,UAAUwB,MAI/I2zF,EAnCa,CAoCpBj4B,EAAY5H,QAAQa,WAAWE,OAEf,CAAoB,SAAU,YAAa,CAC3D/rD,MAAO4yD,EAAY5H,QAAQC,MAAMgC,MACjC0J,UAAW,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,KAGnClqE,EAAQk+F,YAAcA,GAIhB,SAAUj+F,EAAQD,EAASq9D,GAEjC,aAGAh7D,OAAOC,eAAetC,EAAS,aAAc,CAC3CuC,OAAO,IAGT,IAIgCqJ,EAQ5ByyF,EAAa,SAAUrqB,GAGzB,SAASqqB,IAGP,OAZJ,SAAyB73B,EAAUhB,GAAe,KAAMgB,aAAoBhB,GAAgB,MAAM,IAAIiB,UAAU,qCAU5GF,CAAgB9lE,KAAM49F,GAR1B,SAAoC/9F,EAAMkJ,GAAQ,IAAKlJ,EAAQ,MAAM,IAAIqmE,eAAe,6DAAgE,OAAOn9D,GAAyB,iBAATA,GAAqC,mBAATA,EAA8BlJ,EAAPkJ,EAUvNk9D,CAA2BjmE,MAAO49F,EAAWj/D,WAAa/8B,OAAO0jE,eAAes4B,IAAa9sF,MAAM9Q,KAAMyF,YAGlH,OAXF,SAAmB2gE,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIL,UAAU,kEAAoEK,GAAeD,EAASv9D,UAAYjH,OAAOo8D,OAAOqI,GAAcA,EAAWx9D,UAAW,CAAE6J,YAAa,CAAE5Q,MAAOskE,EAAU7iD,YAAY,EAAO+gD,UAAU,EAAMhhD,cAAc,KAAe+iD,IAAYzkE,OAAOs9D,eAAiBt9D,OAAOs9D,eAAekH,EAAUC,GAAcD,EAASznC,UAAY0nC,GAG/dF,CAAUy3B,EAAYrqB,GAQfqqB,EATQ,GARezyF,EAJnByxD,EAAoB,KAIoBzxD,EAAI6xD,WAAa7xD,EAAM,CAAE2yD,QAAS3yD,IAkB7E2yD,SAEV8/B,EAAWj9B,SAAW,aACtBi9B,EAAWz9B,QAAU,aAErB5gE,EAAQu+D,QAAU8/B,GAIZ,SAAUp+F,EAAQD,EAASq9D,GAEjC,aAGAh7D,OAAOC,eAAetC,EAAS,aAAc,CAC3CuC,OAAO,IAGT,IAMgCqJ,EAN5B05D,EAAe,WAAc,SAASC,EAAiB/1D,EAAQyuB,GAAS,IAAK,IAAI15B,EAAI,EAAGA,EAAI05B,EAAM77B,OAAQmC,IAAK,CAAE,IAAIghC,EAAatH,EAAM15B,GAAIghC,EAAWvhB,WAAauhB,EAAWvhB,aAAc,EAAOuhB,EAAWxhB,cAAe,EAAU,UAAWwhB,IAAYA,EAAWw/B,UAAW,GAAM1iE,OAAOC,eAAekN,EAAQ+1B,EAAWxkC,IAAKwkC,IAAiB,OAAO,SAAUigC,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYF,EAAiBC,EAAYl8D,UAAWm8D,GAAiBC,GAAaH,EAAiBC,EAAaE,GAAqBF,GAA7gB,GAcf84B,EAAS,SAAUtqB,GAGrB,SAASsqB,IAGP,OAZJ,SAAyB93B,EAAUhB,GAAe,KAAMgB,aAAoBhB,GAAgB,MAAM,IAAIiB,UAAU,qCAU5GF,CAAgB9lE,KAAM69F,GAR1B,SAAoCh+F,EAAMkJ,GAAQ,IAAKlJ,EAAQ,MAAM,IAAIqmE,eAAe,6DAAgE,OAAOn9D,GAAyB,iBAATA,GAAqC,mBAATA,EAA8BlJ,EAAPkJ,EAUvNk9D,CAA2BjmE,MAAO69F,EAAOl/D,WAAa/8B,OAAO0jE,eAAeu4B,IAAS/sF,MAAM9Q,KAAMyF,YAU1G,OAlBF,SAAmB2gE,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIL,UAAU,kEAAoEK,GAAeD,EAASv9D,UAAYjH,OAAOo8D,OAAOqI,GAAcA,EAAWx9D,UAAW,CAAE6J,YAAa,CAAE5Q,MAAOskE,EAAU7iD,YAAY,EAAO+gD,UAAU,EAAMhhD,cAAc,KAAe+iD,IAAYzkE,OAAOs9D,eAAiBt9D,OAAOs9D,eAAekH,EAAUC,GAAcD,EAASznC,UAAY0nC,GAG/dF,CAAU03B,EAAQtqB,GAQlB1O,EAAag5B,EAAQ,KAAM,CAAC,CAC1Bv9F,IAAK,UACLwB,MAAO,SAAiBs0D,GACtB,OAAOp2D,KAAKmgE,QAAQhtD,QAAQijD,EAAQ+J,SAAW,MAI5C09B,EAhBI,GARmB1yF,EAJnByxD,EAAoB,KAIoBzxD,EAAI6xD,WAAa7xD,EAAM,CAAE2yD,QAAS3yD,IAyB7E2yD,SAEV+/B,EAAOl9B,SAAW,SAClBk9B,EAAO19B,QAAU,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,MAEhD5gE,EAAQu+D,QAAU+/B,GAIZ,SAAUr+F,EAAQD,EAASq9D,GAEjC,aAGAh7D,OAAOC,eAAetC,EAAS,aAAc,CAC3CuC,OAAO,IAETvC,EAAQu+D,QAAUv+D,EAAQm+F,cAAW1zF,EAErC,IAAI66D,EAAe,WAAc,SAASC,EAAiB/1D,EAAQyuB,GAAS,IAAK,IAAI15B,EAAI,EAAGA,EAAI05B,EAAM77B,OAAQmC,IAAK,CAAE,IAAIghC,EAAatH,EAAM15B,GAAIghC,EAAWvhB,WAAauhB,EAAWvhB,aAAc,EAAOuhB,EAAWxhB,cAAe,EAAU,UAAWwhB,IAAYA,EAAWw/B,UAAW,GAAM1iE,OAAOC,eAAekN,EAAQ+1B,EAAWxkC,IAAKwkC,IAAiB,OAAO,SAAUigC,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYF,EAAiBC,EAAYl8D,UAAWm8D,GAAiBC,GAAaH,EAAiBC,EAAaE,GAAqBF,GAA7gB,GAEfG,EAAO,SAASpmD,EAAI6E,EAAQ6b,EAAU2lC,GAA2B,OAAXxhD,IAAiBA,EAASyhD,SAASv8D,WAAW,IAAIw8D,EAAOzjE,OAAOqiE,yBAAyBtgD,EAAQ6b,GAAW,QAAax1B,IAATq7D,EAAoB,CAAE,IAAI79D,EAAS5F,OAAO0jE,eAAe3hD,GAAS,OAAe,OAAXnc,OAAmB,EAAkCsX,EAAItX,EAAQg4B,EAAU2lC,GAAoB,GAAI,UAAWE,EAAQ,OAAOA,EAAKvjE,MAAgB,IAAIg7D,EAASuI,EAAKvmD,IAAK,YAAe9U,IAAX8yD,EAAmDA,EAAO/zD,KAAKo8D,QAAnE,GAIrZO,EAAcF,EAFD5I,EAAoB,IAMjCwW,EAAU5N,EAFD5I,EAAoB,IAM7B+iB,EAAcna,EAFD5I,EAAoB,KAIrC,SAAS4I,EAAuBr6D,GAAO,OAAOA,GAAOA,EAAI6xD,WAAa7xD,EAAM,CAAE2yD,QAAS3yD,GAIvF,SAAS26D,EAAgBC,EAAUhB,GAAe,KAAMgB,aAAoBhB,GAAgB,MAAM,IAAIiB,UAAU,qCAEhH,SAASC,EAA2BpmE,EAAMkJ,GAAQ,IAAKlJ,EAAQ,MAAM,IAAIqmE,eAAe,6DAAgE,OAAOn9D,GAAyB,iBAATA,GAAqC,mBAATA,EAA8BlJ,EAAPkJ,EAElO,SAASo9D,EAAUC,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIL,UAAU,kEAAoEK,GAAeD,EAASv9D,UAAYjH,OAAOo8D,OAAOqI,GAAcA,EAAWx9D,UAAW,CAAE6J,YAAa,CAAE5Q,MAAOskE,EAAU7iD,YAAY,EAAO+gD,UAAU,EAAMhhD,cAAc,KAAe+iD,IAAYzkE,OAAOs9D,eAAiBt9D,OAAOs9D,eAAekH,EAAUC,GAAcD,EAASznC,UAAY0nC,GAEje,IAAIq3B,EAAW,SAAUnqB,GAGvB,SAASmqB,IAGP,OAFA53B,EAAgB9lE,KAAM09F,GAEfz3B,EAA2BjmE,MAAO09F,EAAS/+D,WAAa/8B,OAAO0jE,eAAeo4B,IAAW5sF,MAAM9Q,KAAMyF,YAwC9G,OA7CA0gE,EAAUu3B,EAAUnqB,GAQpB1O,EAAa64B,EAAU,CAAC,CACtBp9F,IAAK,SACLwB,MAAO,SAAgBmJ,EAAMnJ,GACvBmJ,IAAS6yF,EAAKn9B,UAAa7+D,EAG7BojE,EAAKw4B,EAAS70F,UAAU81B,WAAa/8B,OAAO0jE,eAAeo4B,EAAS70F,WAAY,SAAU7I,MAAM+I,KAAK/I,KAAMiL,EAAMnJ,GAFjH9B,KAAKw8E,YAAY9W,EAAY5H,QAAQE,OAAOh+D,KAAKunE,QAAQz0D,UAK5D,CACDxS,IAAK,SACLwB,MAAO,WACY,MAAb9B,KAAK4lB,MAA6B,MAAb5lB,KAAK6vB,KAC5B7vB,KAAKwH,OAAOq8B,SAEZqhC,EAAKw4B,EAAS70F,UAAU81B,WAAa/8B,OAAO0jE,eAAeo4B,EAAS70F,WAAY,SAAU7I,MAAM+I,KAAK/I,QAGxG,CACDM,IAAK,cACLwB,MAAO,SAAqBmJ,EAAMnJ,GAEhC,OADA9B,KAAKwH,OAAO+oE,QAAQvwE,KAAK4sB,OAAO5sB,KAAKwH,QAASxH,KAAK2B,UAC/CsJ,IAASjL,KAAKwH,OAAO+/D,QAAQ5G,UAC/B3gE,KAAKwH,OAAOg1E,YAAYvxE,EAAMnJ,GACvB9B,OAEPA,KAAKwH,OAAO+sE,SACLrP,EAAKw4B,EAAS70F,UAAU81B,WAAa/8B,OAAO0jE,eAAeo4B,EAAS70F,WAAY,cAAe7I,MAAM+I,KAAK/I,KAAMiL,EAAMnJ,OAG/H,CAAC,CACHxB,IAAK,UACLwB,MAAO,SAAiBs0D,GACtB,OAAOA,EAAQ+J,UAAYngE,KAAKmgE,aAAUn2D,EAAYk7D,EAAKw4B,EAAS/+D,WAAa/8B,OAAO0jE,eAAeo4B,GAAW,UAAW19F,MAAM+I,KAAK/I,KAAMo2D,OAI3IsnC,EA9CM,CA+CbtqB,EAAQtV,SAEV4/B,EAAS/8B,SAAW,YACpB+8B,EAASv9B,QAAU,KAEnB,IAAI29B,EAAO,SAAUC,GA4BnB,SAASD,EAAK1nC,GACZ0P,EAAgB9lE,KAAM89F,GAEtB,IAAI/2B,EAASd,EAA2BjmE,MAAO89F,EAAKn/D,WAAa/8B,OAAO0jE,eAAew4B,IAAO/0F,KAAK/I,KAAMo2D,IAErG4nC,EAAmB,SAA0Bt+F,GAC/C,GAAIA,EAAEqP,OAAOi0B,aAAeozB,EAA5B,CACA,IAAIrhB,EAASgyB,EAAOQ,QAAQ1yB,QAAQuhB,GAChCmK,EAAOmF,EAAY5H,QAAQG,KAAKv+D,EAAEqP,QACvB,YAAXgmC,EACFwrB,EAAKxrB,OAAO,OAAQ,aACA,cAAXA,GACTwrB,EAAKxrB,OAAO,OAAQ,aAMxB,OAFAqhB,EAAQz2B,iBAAiB,aAAcq+D,GACvC5nC,EAAQz2B,iBAAiB,YAAaq+D,GAC/Bj3B,EAiDT,OA9FAZ,EAAU23B,EAAMC,GAEhBl5B,EAAai5B,EAAM,KAAM,CAAC,CACxBx9F,IAAK,SACLwB,MAAO,SAAgBA,GACrB,IAAIq+D,EAAoB,YAAVr+D,EAAsB,KAAO,KACvC0G,EAAO08D,EAAK44B,EAAKn/D,WAAa/8B,OAAO0jE,eAAew4B,GAAO,SAAU99F,MAAM+I,KAAK/I,KAAMmgE,GAI1F,MAHc,YAAVr+D,GAAiC,cAAVA,GACzB0G,EAAK4pB,aAAa,eAA0B,YAAVtwB,GAE7B0G,IAER,CACDlI,IAAK,UACLwB,MAAO,SAAiBs0D,GACtB,MAAwB,OAApBA,EAAQ+J,QAAyB,UACb,OAApB/J,EAAQ+J,QACN/J,EAAQ+wB,aAAa,gBACyB,SAAzC/wB,EAAQ90B,aAAa,gBAA6B,UAAY,YAE9D,cAJX,MAgCJujC,EAAai5B,EAAM,CAAC,CAClBx9F,IAAK,SACLwB,MAAO,SAAgBmJ,EAAMnJ,GACvB9B,KAAKknE,SAASvlE,OAAS,GACzB3B,KAAKknE,SAASC,KAAKpyB,OAAO9pC,EAAMnJ,KAGnC,CACDxB,IAAK,UACLwB,MAAO,WAEL,OAxHmBqJ,EAwHI,GAxHC7K,EAwHGN,KAAKunE,QAAQ5G,SAxHX7+D,EAwHqB9B,KAAKunE,QAAQ1yB,QAAQ70C,KAAKo2D,SAxHlC91D,KAAO6K,EAAOvJ,OAAOC,eAAesJ,EAAK7K,EAAK,CAAEwB,MAAOA,EAAOyhB,YAAY,EAAMD,cAAc,EAAMghD,UAAU,IAAkBn5D,EAAI7K,GAAOwB,EAAgBqJ,EAA3M,IAAyBA,EAAK7K,EAAKwB,IA0H9B,CACDxB,IAAK,eACLwB,MAAO,SAAsBy+D,EAAM6G,GACjC,GAAI7G,aAAgBm9B,EAClBx4B,EAAK44B,EAAKj1F,UAAU81B,WAAa/8B,OAAO0jE,eAAew4B,EAAKj1F,WAAY,eAAgB7I,MAAM+I,KAAK/I,KAAMugE,EAAM6G,OAC1G,CACL,IAAIz3D,EAAe,MAAPy3D,EAAcpnE,KAAK2B,SAAWylE,EAAIx6C,OAAO5sB,MACjD6qC,EAAQ7qC,KAAKqG,MAAMsJ,GACvBk7B,EAAMrjC,OAAOk8B,aAAa68B,EAAM11B,MAGnC,CACDvqC,IAAK,WACLwB,MAAO,SAAkBgZ,GACvBoqD,EAAK44B,EAAKj1F,UAAU81B,WAAa/8B,OAAO0jE,eAAew4B,EAAKj1F,WAAY,WAAY7I,MAAM+I,KAAK/I,KAAM8a,GACrG,IAAI+U,EAAO7vB,KAAK6vB,KACJ,MAARA,GAAgBA,EAAKjK,OAAS5lB,MAAQ6vB,EAAK03C,QAAQ5G,WAAa3gE,KAAKunE,QAAQ5G,UAAY9wC,EAAKumC,QAAQ+J,UAAYngE,KAAKo2D,QAAQ+J,SAAWtwC,EAAKumC,QAAQ90B,aAAa,kBAAoBthC,KAAKo2D,QAAQ90B,aAAa,kBACpNzR,EAAK4gD,aAAazwE,MAClB6vB,EAAKgU,YAGR,CACDvjC,IAAK,UACLwB,MAAO,SAAiBiN,GACtB,GAAIA,EAAOw4D,QAAQ5G,WAAa3gE,KAAKunE,QAAQ5G,SAAU,CACrD,IAAIttD,EAAOqyD,EAAY5H,QAAQE,OAAOh+D,KAAKunE,QAAQC,cACnDz4D,EAAO0hE,aAAap9D,GACpBrT,KAAKqyB,YAAYhf,GAEnB6xD,EAAK44B,EAAKj1F,UAAU81B,WAAa/8B,OAAO0jE,eAAew4B,EAAKj1F,WAAY,UAAW7I,MAAM+I,KAAK/I,KAAM+O,OAIjG+uF,EA/FE,CAgGTne,EAAY7hB,SAEdggC,EAAKn9B,SAAW,OAChBm9B,EAAKhrF,MAAQ4yD,EAAY5H,QAAQC,MAAM8I,WACvCi3B,EAAK39B,QAAU,CAAC,KAAM,MACtB29B,EAAKt2B,aAAe,YACpBs2B,EAAKr2B,gBAAkB,CAACi2B,GAExBn+F,EAAQm+F,SAAWA,EACnBn+F,EAAQu+D,QAAUggC,GAIZ,SAAUt+F,EAAQD,EAASq9D,GAEjC,aAGAh7D,OAAOC,eAAetC,EAAS,aAAc,CAC3CuC,OAAO,IAGT,IAIgCqJ,EAQ5B8yF,EAAS,SAAUC,GAGrB,SAASD,IAGP,OAZJ,SAAyBl4B,EAAUhB,GAAe,KAAMgB,aAAoBhB,GAAgB,MAAM,IAAIiB,UAAU,qCAU5GF,CAAgB9lE,KAAMi+F,GAR1B,SAAoCp+F,EAAMkJ,GAAQ,IAAKlJ,EAAQ,MAAM,IAAIqmE,eAAe,6DAAgE,OAAOn9D,GAAyB,iBAATA,GAAqC,mBAATA,EAA8BlJ,EAAPkJ,EAUvNk9D,CAA2BjmE,MAAOi+F,EAAOt/D,WAAa/8B,OAAO0jE,eAAe24B,IAASntF,MAAM9Q,KAAMyF,YAG1G,OAXF,SAAmB2gE,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIL,UAAU,kEAAoEK,GAAeD,EAASv9D,UAAYjH,OAAOo8D,OAAOqI,GAAcA,EAAWx9D,UAAW,CAAE6J,YAAa,CAAE5Q,MAAOskE,EAAU7iD,YAAY,EAAO+gD,UAAU,EAAMhhD,cAAc,KAAe+iD,IAAYzkE,OAAOs9D,eAAiBt9D,OAAOs9D,eAAekH,EAAUC,GAAcD,EAASznC,UAAY0nC,GAG/dF,CAAU83B,EAAQC,GAQXD,EATI,GARmB9yF,EAJpByxD,EAAoB,MAIqBzxD,EAAI6xD,WAAa7xD,EAAM,CAAE2yD,QAAS3yD,IAkB9E2yD,SAETmgC,EAAOt9B,SAAW,SAClBs9B,EAAO99B,QAAU,CAAC,KAAM,KAExB5gE,EAAQu+D,QAAUmgC,GAIZ,SAAUz+F,EAAQD,EAASq9D,GAEjC,aAGAh7D,OAAOC,eAAetC,EAAS,aAAc,CAC3CuC,OAAO,IAGT,IAQgCqJ,EAR5B05D,EAAe,WAAc,SAASC,EAAiB/1D,EAAQyuB,GAAS,IAAK,IAAI15B,EAAI,EAAGA,EAAI05B,EAAM77B,OAAQmC,IAAK,CAAE,IAAIghC,EAAatH,EAAM15B,GAAIghC,EAAWvhB,WAAauhB,EAAWvhB,aAAc,EAAOuhB,EAAWxhB,cAAe,EAAU,UAAWwhB,IAAYA,EAAWw/B,UAAW,GAAM1iE,OAAOC,eAAekN,EAAQ+1B,EAAWxkC,IAAKwkC,IAAiB,OAAO,SAAUigC,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYF,EAAiBC,EAAYl8D,UAAWm8D,GAAiBC,GAAaH,EAAiBC,EAAaE,GAAqBF,GAA7gB,GAgBfo5B,EAAS,SAAU9qB,GAGrB,SAAS8qB,IAGP,OAZJ,SAAyBp4B,EAAUhB,GAAe,KAAMgB,aAAoBhB,GAAgB,MAAM,IAAIiB,UAAU,qCAU5GF,CAAgB9lE,KAAMm+F,GAR1B,SAAoCt+F,EAAMkJ,GAAQ,IAAKlJ,EAAQ,MAAM,IAAIqmE,eAAe,6DAAgE,OAAOn9D,GAAyB,iBAATA,GAAqC,mBAATA,EAA8BlJ,EAAPkJ,EAUvNk9D,CAA2BjmE,MAAOm+F,EAAOx/D,WAAa/8B,OAAO0jE,eAAe64B,IAASrtF,MAAM9Q,KAAMyF,YAuB1G,OA/BF,SAAmB2gE,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIL,UAAU,kEAAoEK,GAAeD,EAASv9D,UAAYjH,OAAOo8D,OAAOqI,GAAcA,EAAWx9D,UAAW,CAAE6J,YAAa,CAAE5Q,MAAOskE,EAAU7iD,YAAY,EAAO+gD,UAAU,EAAMhhD,cAAc,KAAe+iD,IAAYzkE,OAAOs9D,eAAiBt9D,OAAOs9D,eAAekH,EAAUC,GAAcD,EAASznC,UAAY0nC,GAG/dF,CAAUg4B,EAAQ9qB,GAQlBxO,EAAas5B,EAAQ,KAAM,CAAC,CAC1B79F,IAAK,SACLwB,MAAO,SAAgBA,GACrB,MAAc,UAAVA,EACKowB,SAASC,cAAc,OACX,QAAVrwB,EACFowB,SAASC,cAAc,OA7B3B,SAASrT,EAAI6E,EAAQ6b,EAAU2lC,GAA2B,OAAXxhD,IAAiBA,EAASyhD,SAASv8D,WAAW,IAAIw8D,EAAOzjE,OAAOqiE,yBAAyBtgD,EAAQ6b,GAAW,QAAax1B,IAATq7D,EAAoB,CAAE,IAAI79D,EAAS5F,OAAO0jE,eAAe3hD,GAAS,OAAe,OAAXnc,OAAmB,EAAkCsX,EAAItX,EAAQg4B,EAAU2lC,GAAoB,GAAI,UAAWE,EAAQ,OAAOA,EAAKvjE,MAAgB,IAAIg7D,EAASuI,EAAKvmD,IAAK,YAAe9U,IAAX8yD,EAAmDA,EAAO/zD,KAAKo8D,QAAnE,EA+B1YD,CAAKi5B,EAAOx/D,WAAa/8B,OAAO0jE,eAAe64B,GAAS,SAAUn+F,MAAM+I,KAAK/I,KAAM8B,KAG7F,CACDxB,IAAK,UACLwB,MAAO,SAAiBs0D,GACtB,MAAwB,QAApBA,EAAQ+J,QAA0B,MACd,QAApB/J,EAAQ+J,QAA0B,aAAtC,MAKGg+B,EA7BI,GARmBhzF,EAJlByxD,EAAoB,KAImBzxD,EAAI6xD,WAAa7xD,EAAM,CAAE2yD,QAAS3yD,IAsC5E2yD,SAEXqgC,EAAOx9B,SAAW,SAClBw9B,EAAOh+B,QAAU,CAAC,MAAO,OAEzB5gE,EAAQu+D,QAAUqgC,GAIZ,SAAU3+F,EAAQD,EAASq9D,GAEjC,aAGAh7D,OAAOC,eAAetC,EAAS,aAAc,CAC3CuC,OAAO,IAGT,IAIgCqJ,EAQ5BizF,EAAS,SAAU/qB,GAGrB,SAAS+qB,IAGP,OAZJ,SAAyBr4B,EAAUhB,GAAe,KAAMgB,aAAoBhB,GAAgB,MAAM,IAAIiB,UAAU,qCAU5GF,CAAgB9lE,KAAMo+F,GAR1B,SAAoCv+F,EAAMkJ,GAAQ,IAAKlJ,EAAQ,MAAM,IAAIqmE,eAAe,6DAAgE,OAAOn9D,GAAyB,iBAATA,GAAqC,mBAATA,EAA8BlJ,EAAPkJ,EAUvNk9D,CAA2BjmE,MAAOo+F,EAAOz/D,WAAa/8B,OAAO0jE,eAAe84B,IAASttF,MAAM9Q,KAAMyF,YAG1G,OAXF,SAAmB2gE,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIL,UAAU,kEAAoEK,GAAeD,EAASv9D,UAAYjH,OAAOo8D,OAAOqI,GAAcA,EAAWx9D,UAAW,CAAE6J,YAAa,CAAE5Q,MAAOskE,EAAU7iD,YAAY,EAAO+gD,UAAU,EAAMhhD,cAAc,KAAe+iD,IAAYzkE,OAAOs9D,eAAiBt9D,OAAOs9D,eAAekH,EAAUC,GAAcD,EAASznC,UAAY0nC,GAG/dF,CAAUi4B,EAAQ/qB,GAQX+qB,EATI,GARmBjzF,EAJlByxD,EAAoB,KAImBzxD,EAAI6xD,WAAa7xD,EAAM,CAAE2yD,QAAS3yD,IAkB5E2yD,SAEXsgC,EAAOz9B,SAAW,SAClBy9B,EAAOj+B,QAAU,IAEjB5gE,EAAQu+D,QAAUsgC,GAIZ,SAAU5+F,EAAQD,EAASq9D,GAEjC,aAGAh7D,OAAOC,eAAetC,EAAS,aAAc,CAC3CuC,OAAO,IAGT,IAIgCqJ,EAQ5BkzF,EAAY,SAAUhrB,GAGxB,SAASgrB,IAGP,OAZJ,SAAyBt4B,EAAUhB,GAAe,KAAMgB,aAAoBhB,GAAgB,MAAM,IAAIiB,UAAU,qCAU5GF,CAAgB9lE,KAAMq+F,GAR1B,SAAoCx+F,EAAMkJ,GAAQ,IAAKlJ,EAAQ,MAAM,IAAIqmE,eAAe,6DAAgE,OAAOn9D,GAAyB,iBAATA,GAAqC,mBAATA,EAA8BlJ,EAAPkJ,EAUvNk9D,CAA2BjmE,MAAOq+F,EAAU1/D,WAAa/8B,OAAO0jE,eAAe+4B,IAAYvtF,MAAM9Q,KAAMyF,YAGhH,OAXF,SAAmB2gE,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIL,UAAU,kEAAoEK,GAAeD,EAASv9D,UAAYjH,OAAOo8D,OAAOqI,GAAcA,EAAWx9D,UAAW,CAAE6J,YAAa,CAAE5Q,MAAOskE,EAAU7iD,YAAY,EAAO+gD,UAAU,EAAMhhD,cAAc,KAAe+iD,IAAYzkE,OAAOs9D,eAAiBt9D,OAAOs9D,eAAekH,EAAUC,GAAcD,EAASznC,UAAY0nC,GAG/dF,CAAUk4B,EAAWhrB,GAQdgrB,EATO,GARgBlzF,EAJlByxD,EAAoB,KAImBzxD,EAAI6xD,WAAa7xD,EAAM,CAAE2yD,QAAS3yD,IAkB5E2yD,SAEXugC,EAAU19B,SAAW,YACrB09B,EAAUl+B,QAAU,IAEpB5gE,EAAQu+D,QAAUugC,GAIZ,SAAU7+F,EAAQD,EAASq9D,GAEjC,aAGAh7D,OAAOC,eAAetC,EAAS,aAAc,CAC3CuC,OAAO,IAGT,IAUgCqJ,EAV5B05D,EAAe,WAAc,SAASC,EAAiB/1D,EAAQyuB,GAAS,IAAK,IAAI15B,EAAI,EAAGA,EAAI05B,EAAM77B,OAAQmC,IAAK,CAAE,IAAIghC,EAAatH,EAAM15B,GAAIghC,EAAWvhB,WAAauhB,EAAWvhB,aAAc,EAAOuhB,EAAWxhB,cAAe,EAAU,UAAWwhB,IAAYA,EAAWw/B,UAAW,GAAM1iE,OAAOC,eAAekN,EAAQ+1B,EAAWxkC,IAAKwkC,IAAiB,OAAO,SAAUigC,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYF,EAAiBC,EAAYl8D,UAAWm8D,GAAiBC,GAAaH,EAAiBC,EAAaE,GAAqBF,GAA7gB,GAEfG,EAAO,SAASpmD,EAAI6E,EAAQ6b,EAAU2lC,GAA2B,OAAXxhD,IAAiBA,EAASyhD,SAASv8D,WAAW,IAAIw8D,EAAOzjE,OAAOqiE,yBAAyBtgD,EAAQ6b,GAAW,QAAax1B,IAATq7D,EAAoB,CAAE,IAAI79D,EAAS5F,OAAO0jE,eAAe3hD,GAAS,OAAe,OAAXnc,OAAmB,EAAkCsX,EAAItX,EAAQg4B,EAAU2lC,GAAoB,GAAI,UAAWE,EAAQ,OAAOA,EAAKvjE,MAAgB,IAAIg7D,EAASuI,EAAKvmD,IAAK,YAAe9U,IAAX8yD,EAAmDA,EAAO/zD,KAAKo8D,QAAnE,GAIrZO,GAI4Bv6D,EANfyxD,EAAoB,KAMgBzxD,EAAI6xD,WAAa7xD,EAAM,CAAE2yD,QAAS3yD,GAFnFmzF,EAAQ1hC,EAAoB,IAU5B2hC,EAAa,CAAC,MAAO,SAAU,SAE/BC,EAAQ,SAAUl4B,GAGpB,SAASk4B,IAGP,OAdJ,SAAyBz4B,EAAUhB,GAAe,KAAMgB,aAAoBhB,GAAgB,MAAM,IAAIiB,UAAU,qCAY5GF,CAAgB9lE,KAAMw+F,GAV1B,SAAoC3+F,EAAMkJ,GAAQ,IAAKlJ,EAAQ,MAAM,IAAIqmE,eAAe,6DAAgE,OAAOn9D,GAAyB,iBAATA,GAAqC,mBAATA,EAA8BlJ,EAAPkJ,EAYvNk9D,CAA2BjmE,MAAOw+F,EAAM7/D,WAAa/8B,OAAO0jE,eAAek5B,IAAQ1tF,MAAM9Q,KAAMyF,YAqDxG,OA/DF,SAAmB2gE,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIL,UAAU,kEAAoEK,GAAeD,EAASv9D,UAAYjH,OAAOo8D,OAAOqI,GAAcA,EAAWx9D,UAAW,CAAE6J,YAAa,CAAE5Q,MAAOskE,EAAU7iD,YAAY,EAAO+gD,UAAU,EAAMhhD,cAAc,KAAe+iD,IAAYzkE,OAAOs9D,eAAiBt9D,OAAOs9D,eAAekH,EAAUC,GAAcD,EAASznC,UAAY0nC,GAK/dF,CAAUq4B,EAAOl4B,GAQjBzB,EAAa25B,EAAO,CAAC,CACnBl+F,IAAK,SACLwB,MAAO,SAAgBmJ,EAAMnJ,GACvBy8F,EAAWprF,QAAQlI,IAAS,EAC1BnJ,EACF9B,KAAKo2D,QAAQhkC,aAAannB,EAAMnJ,GAEhC9B,KAAKo2D,QAAQt0B,gBAAgB72B,GAG/Bi6D,EAAKs5B,EAAM31F,UAAU81B,WAAa/8B,OAAO0jE,eAAek5B,EAAM31F,WAAY,SAAU7I,MAAM+I,KAAK/I,KAAMiL,EAAMnJ,MAG7G,CAAC,CACHxB,IAAK,SACLwB,MAAO,SAAgBA,GACrB,IAAI0G,EAAO08D,EAAKs5B,EAAM7/D,WAAa/8B,OAAO0jE,eAAek5B,GAAQ,SAAUx+F,MAAM+I,KAAK/I,KAAM8B,GAI5F,MAHqB,iBAAVA,GACT0G,EAAK4pB,aAAa,MAAOpyB,KAAK8lF,SAAShkF,IAElC0G,IAER,CACDlI,IAAK,UACLwB,MAAO,SAAiBs0D,GACtB,OAAOmoC,EAAWpyD,QAAO,SAAU0I,EAAS0xB,GAI1C,OAHInQ,EAAQ+wB,aAAa5gB,KACvB1xB,EAAQ0xB,GAAanQ,EAAQ90B,aAAailC,IAErC1xB,IACN,MAEJ,CACDv0C,IAAK,QACLwB,MAAO,SAAekkF,GACpB,MAAQ,qBAAqBxF,KAAKwF,IAAQ,yBAAyBxF,KAAKwF,KAGzE,CACD1lF,IAAK,WACLwB,MAAO,SAAkBkkF,GACvB,OAAO,EAAIsY,EAAMxY,UAAUE,EAAK,CAAC,OAAQ,QAAS,SAAWA,EAAM,SAEpE,CACD1lF,IAAK,QACLwB,MAAO,SAAes0D,GACpB,OAAOA,EAAQ90B,aAAa,WAIzBk9D,EA3DG,CA4DV94B,EAAY5H,QAAQQ,OAEtBkgC,EAAM79B,SAAW,QACjB69B,EAAMr+B,QAAU,MAEhB5gE,EAAQu+D,QAAU0gC,GAIZ,SAAUh/F,EAAQD,EAASq9D,GAEjC,aAGAh7D,OAAOC,eAAetC,EAAS,aAAc,CAC3CuC,OAAO,IAGT,IAUgCqJ,EAV5B05D,EAAe,WAAc,SAASC,EAAiB/1D,EAAQyuB,GAAS,IAAK,IAAI15B,EAAI,EAAGA,EAAI05B,EAAM77B,OAAQmC,IAAK,CAAE,IAAIghC,EAAatH,EAAM15B,GAAIghC,EAAWvhB,WAAauhB,EAAWvhB,aAAc,EAAOuhB,EAAWxhB,cAAe,EAAU,UAAWwhB,IAAYA,EAAWw/B,UAAW,GAAM1iE,OAAOC,eAAekN,EAAQ+1B,EAAWxkC,IAAKwkC,IAAiB,OAAO,SAAUigC,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYF,EAAiBC,EAAYl8D,UAAWm8D,GAAiBC,GAAaH,EAAiBC,EAAaE,GAAqBF,GAA7gB,GAEfG,EAAO,SAASpmD,EAAI6E,EAAQ6b,EAAU2lC,GAA2B,OAAXxhD,IAAiBA,EAASyhD,SAASv8D,WAAW,IAAIw8D,EAAOzjE,OAAOqiE,yBAAyBtgD,EAAQ6b,GAAW,QAAax1B,IAATq7D,EAAoB,CAAE,IAAI79D,EAAS5F,OAAO0jE,eAAe3hD,GAAS,OAAe,OAAXnc,OAAmB,EAAkCsX,EAAItX,EAAQg4B,EAAU2lC,GAAoB,GAAI,UAAWE,EAAQ,OAAOA,EAAKvjE,MAAgB,IAAIg7D,EAASuI,EAAKvmD,IAAK,YAAe9U,IAAX8yD,EAAmDA,EAAO/zD,KAAKo8D,QAAnE,GAErZyP,EAAShY,EAAoB,GAI7Bg/B,GAE4BzwF,EAJpByxD,EAAoB,MAIqBzxD,EAAI6xD,WAAa7xD,EAAM,CAAE2yD,QAAS3yD,GAQnFozF,EAAa,CAAC,SAAU,SAExBE,EAAQ,SAAUC,GAGpB,SAASD,IAGP,OAdJ,SAAyB14B,EAAUhB,GAAe,KAAMgB,aAAoBhB,GAAgB,MAAM,IAAIiB,UAAU,qCAY5GF,CAAgB9lE,KAAMy+F,GAV1B,SAAoC5+F,EAAMkJ,GAAQ,IAAKlJ,EAAQ,MAAM,IAAIqmE,eAAe,6DAAgE,OAAOn9D,GAAyB,iBAATA,GAAqC,mBAATA,EAA8BlJ,EAAPkJ,EAYvNk9D,CAA2BjmE,MAAOy+F,EAAM9/D,WAAa/8B,OAAO0jE,eAAem5B,IAAQ3tF,MAAM9Q,KAAMyF,YA+CxG,OAzDF,SAAmB2gE,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIL,UAAU,kEAAoEK,GAAeD,EAASv9D,UAAYjH,OAAOo8D,OAAOqI,GAAcA,EAAWx9D,UAAW,CAAE6J,YAAa,CAAE5Q,MAAOskE,EAAU7iD,YAAY,EAAO+gD,UAAU,EAAMhhD,cAAc,KAAe+iD,IAAYzkE,OAAOs9D,eAAiBt9D,OAAOs9D,eAAekH,EAAUC,GAAcD,EAASznC,UAAY0nC,GAK/dF,CAAUs4B,EAAOC,GAQjB75B,EAAa45B,EAAO,CAAC,CACnBn+F,IAAK,SACLwB,MAAO,SAAgBmJ,EAAMnJ,GACvBy8F,EAAWprF,QAAQlI,IAAS,EAC1BnJ,EACF9B,KAAKo2D,QAAQhkC,aAAannB,EAAMnJ,GAEhC9B,KAAKo2D,QAAQt0B,gBAAgB72B,GAG/Bi6D,EAAKu5B,EAAM51F,UAAU81B,WAAa/8B,OAAO0jE,eAAem5B,EAAM51F,WAAY,SAAU7I,MAAM+I,KAAK/I,KAAMiL,EAAMnJ,MAG7G,CAAC,CACHxB,IAAK,SACLwB,MAAO,SAAgBA,GACrB,IAAI0G,EAAO08D,EAAKu5B,EAAM9/D,WAAa/8B,OAAO0jE,eAAem5B,GAAQ,SAAUz+F,MAAM+I,KAAK/I,KAAM8B,GAI5F,OAHA0G,EAAK4pB,aAAa,cAAe,KACjC5pB,EAAK4pB,aAAa,mBAAmB,GACrC5pB,EAAK4pB,aAAa,MAAOpyB,KAAK8lF,SAAShkF,IAChC0G,IAER,CACDlI,IAAK,UACLwB,MAAO,SAAiBs0D,GACtB,OAAOmoC,EAAWpyD,QAAO,SAAU0I,EAAS0xB,GAI1C,OAHInQ,EAAQ+wB,aAAa5gB,KACvB1xB,EAAQ0xB,GAAanQ,EAAQ90B,aAAailC,IAErC1xB,IACN,MAEJ,CACDv0C,IAAK,WACLwB,MAAO,SAAkBkkF,GACvB,OAAO4V,EAAO99B,QAAQgoB,SAASE,KAEhC,CACD1lF,IAAK,QACLwB,MAAO,SAAes0D,GACpB,OAAOA,EAAQ90B,aAAa,WAIzBm9D,EArDG,CAsDV7pB,EAAOjQ,YAET85B,EAAM99B,SAAW,QACjB89B,EAAMp+D,UAAY,WAClBo+D,EAAMt+B,QAAU,SAEhB5gE,EAAQu+D,QAAU2gC,GAIZ,SAAUj/F,EAAQD,EAASq9D,GAEjC,aAGAh7D,OAAOC,eAAetC,EAAS,aAAc,CAC3CuC,OAAO,IAETvC,EAAQu+D,QAAUv+D,EAAQo/F,iBAAc30F,EAExC,IAAI66D,EAAe,WAAc,SAASC,EAAiB/1D,EAAQyuB,GAAS,IAAK,IAAI15B,EAAI,EAAGA,EAAI05B,EAAM77B,OAAQmC,IAAK,CAAE,IAAIghC,EAAatH,EAAM15B,GAAIghC,EAAWvhB,WAAauhB,EAAWvhB,aAAc,EAAOuhB,EAAWxhB,cAAe,EAAU,UAAWwhB,IAAYA,EAAWw/B,UAAW,GAAM1iE,OAAOC,eAAekN,EAAQ+1B,EAAWxkC,IAAKwkC,IAAiB,OAAO,SAAUigC,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYF,EAAiBC,EAAYl8D,UAAWm8D,GAAiBC,GAAaH,EAAiBC,EAAaE,GAAqBF,GAA7gB,GAMfijB,EAAUxiB,EAFD5I,EAAoB,KAM7B2jB,EAAU/a,EAFD5I,EAAoB,IAM7B6L,EAAWjD,EAFD5I,EAAoB,IAIlC,SAAS4I,EAAuBr6D,GAAO,OAAOA,GAAOA,EAAI6xD,WAAa7xD,EAAM,CAAE2yD,QAAS3yD,GAEvF,SAAS26D,EAAgBC,EAAUhB,GAAe,KAAMgB,aAAoBhB,GAAgB,MAAM,IAAIiB,UAAU,qCAEhH,SAASC,EAA2BpmE,EAAMkJ,GAAQ,IAAKlJ,EAAQ,MAAM,IAAIqmE,eAAe,6DAAgE,OAAOn9D,GAAyB,iBAATA,GAAqC,mBAATA,EAA8BlJ,EAAPkJ,EAElO,SAASo9D,EAAUC,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIL,UAAU,kEAAoEK,GAAeD,EAASv9D,UAAYjH,OAAOo8D,OAAOqI,GAAcA,EAAWx9D,UAAW,CAAE6J,YAAa,CAAE5Q,MAAOskE,EAAU7iD,YAAY,EAAO+gD,UAAU,EAAMhhD,cAAc,KAAe+iD,IAAYzkE,OAAOs9D,eAAiBt9D,OAAOs9D,eAAekH,EAAUC,GAAcD,EAASznC,UAAY0nC,GAEje,IAAIs4B,EAAc,SAAUC,GAG1B,SAASD,IAGP,OAFA74B,EAAgB9lE,KAAM2+F,GAEf14B,EAA2BjmE,MAAO2+F,EAAYhgE,WAAa/8B,OAAO0jE,eAAeq5B,IAAc7tF,MAAM9Q,KAAMyF,YAuBpH,OA5BA0gE,EAAUw4B,EAAaC,GAQvB/5B,EAAa85B,EAAa,KAAM,CAAC,CAC/Br+F,IAAK,SACLwB,MAAO,SAAgBA,GACrB,IAAI0G,EAlCC,SAASsW,EAAI6E,EAAQ6b,EAAU2lC,GAA2B,OAAXxhD,IAAiBA,EAASyhD,SAASv8D,WAAW,IAAIw8D,EAAOzjE,OAAOqiE,yBAAyBtgD,EAAQ6b,GAAW,QAAax1B,IAATq7D,EAAoB,CAAE,IAAI79D,EAAS5F,OAAO0jE,eAAe3hD,GAAS,OAAe,OAAXnc,OAAmB,EAAkCsX,EAAItX,EAAQg4B,EAAU2lC,GAAoB,GAAI,UAAWE,EAAQ,OAAOA,EAAKvjE,MAAgB,IAAIg7D,EAASuI,EAAKvmD,IAAK,YAAe9U,IAAX8yD,EAAmDA,EAAO/zD,KAAKo8D,QAAnE,EAkCxYD,CAAKy5B,EAAYhgE,WAAa/8B,OAAO0jE,eAAeq5B,GAAc,SAAU3+F,MAAM+I,KAAK/I,KAAM8B,GAQxG,MAPqB,iBAAVA,IACT+N,OAAOgvF,MAAMngF,OAAO5c,EAAO0G,EAAM,CAC/Bs2F,cAAc,EACdC,WAAY,SAEdv2F,EAAK4pB,aAAa,aAActwB,IAE3B0G,IAER,CACDlI,IAAK,QACLwB,MAAO,SAAes0D,GACpB,OAAOA,EAAQ90B,aAAa,kBAIzBq9D,EA7BS,CA8BhB3W,EAAQlqB,SAEV6gC,EAAYh+B,SAAW,UACvBg+B,EAAYt+D,UAAY,aACxBs+D,EAAYx+B,QAAU,OAEtB,IAAI6+B,EAAU,SAAUre,GAUtB,SAASqe,IACPl5B,EAAgB9lE,KAAMg/F,GAEtB,IAAIj4B,EAASd,EAA2BjmE,MAAOg/F,EAAQrgE,WAAa/8B,OAAO0jE,eAAe05B,IAAUj2F,KAAK/I,OAEzG,GAAoB,MAAhB6P,OAAOgvF,MACT,MAAM,IAAIn9F,MAAM,kCAElB,OAAOqlE,EAGT,OApBAZ,EAAU64B,EAASre,GAEnB9b,EAAam6B,EAAS,KAAM,CAAC,CAC3B1+F,IAAK,WACLwB,MAAO,WACLy+E,EAAQziB,QAAQv5B,SAASo6D,GAAa,OAenCK,EArBK,CAsBZv2B,EAAS3K,SAEXv+D,EAAQo/F,YAAcA,EACtBp/F,EAAQu+D,QAAUkhC,GAIZ,SAAUx/F,EAAQD,EAASq9D,GAEjC,aAGAh7D,OAAOC,eAAetC,EAAS,aAAc,CAC3CuC,OAAO,IAETvC,EAAQu+D,QAAUv+D,EAAQ0/F,UAAY1/F,EAAQ+zE,eAAYtpE,EAE1D,IAAI66D,EAAe,WAAc,SAASC,EAAiB/1D,EAAQyuB,GAAS,IAAK,IAAI15B,EAAI,EAAGA,EAAI05B,EAAM77B,OAAQmC,IAAK,CAAE,IAAIghC,EAAatH,EAAM15B,GAAIghC,EAAWvhB,WAAauhB,EAAWvhB,aAAc,EAAOuhB,EAAWxhB,cAAe,EAAU,UAAWwhB,IAAYA,EAAWw/B,UAAW,GAAM1iE,OAAOC,eAAekN,EAAQ+1B,EAAWxkC,IAAKwkC,IAAiB,OAAO,SAAUigC,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYF,EAAiBC,EAAYl8D,UAAWm8D,GAAiBC,GAAaH,EAAiBC,EAAaE,GAAqBF,GAA7gB,GAMfW,EAAcF,EAFD5I,EAAoB,IAMjC2jB,EAAU/a,EAFD5I,EAAoB,IAM7B6L,EAAWjD,EAFD5I,EAAoB,IAQlC,SAAS4I,EAAuBr6D,GAAO,OAAOA,GAAOA,EAAI6xD,WAAa7xD,EAAM,CAAE2yD,QAAS3yD,GAEvF,SAAS26D,EAAgBC,EAAUhB,GAAe,KAAMgB,aAAoBhB,GAAgB,MAAM,IAAIiB,UAAU,qCAEhH,SAASC,EAA2BpmE,EAAMkJ,GAAQ,IAAKlJ,EAAQ,MAAM,IAAIqmE,eAAe,6DAAgE,OAAOn9D,GAAyB,iBAATA,GAAqC,mBAATA,EAA8BlJ,EAAPkJ,EAElO,SAASo9D,EAAUC,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIL,UAAU,kEAAoEK,GAAeD,EAASv9D,UAAYjH,OAAOo8D,OAAOqI,GAAcA,EAAWx9D,UAAW,CAAE6J,YAAa,CAAE5Q,MAAOskE,EAAU7iD,YAAY,EAAO+gD,UAAU,EAAMhhD,cAAc,KAAe+iD,IAAYzkE,OAAOs9D,eAAiBt9D,OAAOs9D,eAAekH,EAAUC,GAAcD,EAASznC,UAAY0nC,GAEje,IAAI64B,EAAkB,SAAUC,GAG9B,SAASD,IAGP,OAFAp5B,EAAgB9lE,KAAMk/F,GAEfj5B,EAA2BjmE,MAAOk/F,EAAgBvgE,WAAa/8B,OAAO0jE,eAAe45B,IAAkBpuF,MAAM9Q,KAAMyF,YAyB5H,OA9BA0gE,EAAU+4B,EAAiBC,GAQ3Bt6B,EAAaq6B,EAAiB,CAAC,CAC7B5+F,IAAK,cACLwB,MAAO,SAAqB6kE,GAC1B3mE,KAAKo2D,QAAQod,YAAcxzE,KAAKo2D,QAAQod,YACxCxzE,KAAKu4E,SAvCA,SAASz5D,EAAI6E,EAAQ6b,EAAU2lC,GAA2B,OAAXxhD,IAAiBA,EAASyhD,SAASv8D,WAAW,IAAIw8D,EAAOzjE,OAAOqiE,yBAAyBtgD,EAAQ6b,GAAW,QAAax1B,IAATq7D,EAAoB,CAAE,IAAI79D,EAAS5F,OAAO0jE,eAAe3hD,GAAS,OAAe,OAAXnc,OAAmB,EAAkCsX,EAAItX,EAAQg4B,EAAU2lC,GAAoB,GAAI,UAAWE,EAAQ,OAAOA,EAAKvjE,MAAgB,IAAIg7D,EAASuI,EAAKvmD,IAAK,YAAe9U,IAAX8yD,EAAmDA,EAAO/zD,KAAKo8D,QAAnE,EAwCnZD,CAAKg6B,EAAgBr2F,UAAU81B,WAAa/8B,OAAO0jE,eAAe45B,EAAgBr2F,WAAY,cAAe7I,MAAM+I,KAAK/I,KAAM2mE,KAE/H,CACDrmE,IAAK,YACLwB,MAAO,SAAmBs9F,GACxB,IAAIzsE,EAAO3yB,KAAKo2D,QAAQod,YACpBxzE,KAAKq/F,aAAe1sE,KAClBA,EAAKw2C,OAAOxnE,OAAS,GAAwB,MAAnB3B,KAAKq/F,cACjCr/F,KAAKo2D,QAAQ8S,UAAYk2B,EAAWzsE,GACpC3yB,KAAKo2D,QAAQurB,YACb3hF,KAAKu4E,UAEPv4E,KAAKq/F,WAAa1sE,OAKjBusE,EA/Ba,CAVT15B,EAFD5I,EAAoB,KA4CvBkB,SAETohC,EAAgB7+D,UAAY,YAE5B,IAAI4+D,EAAY,IAAIv5B,EAAY5H,QAAQa,WAAWE,MAAM,QAAS,OAAQ,CACxE/rD,MAAO4yD,EAAY5H,QAAQC,MAAMiC,SAG/Bs/B,EAAS,SAAU3e,GAWrB,SAAS2e,EAAOxtB,EAAOpgE,GACrBo0D,EAAgB9lE,KAAMs/F,GAEtB,IAAIv4B,EAASd,EAA2BjmE,MAAOs/F,EAAO3gE,WAAa/8B,OAAO0jE,eAAeg6B,IAASv2F,KAAK/I,KAAM8xE,EAAOpgE,IAEpH,GAAwC,mBAA7Bq1D,EAAOr1D,QAAQ6tF,UACxB,MAAM,IAAI79F,MAAM,6FAElB,IAAI89F,EAAQ,KASZ,OARAz4B,EAAO+K,MAAM5H,GAAGqW,EAAQziB,QAAQ5tB,OAAOyhC,iBAAiB,WACtD8tB,aAAaD,GACbA,EAAQ3lC,YAAW,WACjBkN,EAAOw4B,YACPC,EAAQ,OACPz4B,EAAOr1D,QAAQi7C,aAEpBoa,EAAOw4B,YACAx4B,EAqBT,OAhDAZ,EAAUm5B,EAAQ3e,GAElB9b,EAAay6B,EAAQ,KAAM,CAAC,CAC1Bh/F,IAAK,WACLwB,MAAO,WACLy+E,EAAQziB,QAAQv5B,SAAS06D,GAAW,GACpC1e,EAAQziB,QAAQv5B,SAAS26D,GAAiB,OAwB9Cr6B,EAAay6B,EAAQ,CAAC,CACpBh/F,IAAK,YACLwB,MAAO,WACL,IAAIwpE,EAAStrE,KAEb,IAAIA,KAAK8xE,MAAMnI,UAAU0N,UAAzB,CACAr3E,KAAK8xE,MAAM9tD,OAAOu8D,EAAQziB,QAAQ9rD,QAAQ68D,MAC1C,IAAIl/C,EAAQ3vB,KAAK8xE,MAAM/F,eACvB/rE,KAAK8xE,MAAMtI,OAAOxC,YAAYk4B,GAAiBr3F,SAAQ,SAAU63F,GAC/DA,EAAKH,UAAUj0B,EAAO55D,QAAQ6tF,cAEhCv/F,KAAK8xE,MAAM9tD,OAAOu8D,EAAQziB,QAAQ9rD,QAAQm6D,QAC7B,MAATx8C,GACF3vB,KAAK8xE,MAAM5F,aAAav8C,EAAO4wD,EAAQziB,QAAQ9rD,QAAQm6D,aAKtDmzB,EAjDI,CAkDX72B,EAAS3K,SAEXwhC,EAAOtwB,SAAW,CAChBuwB,UACqB,MAAf1vF,OAAO8vF,KAAqB,KACzB,SAAUhtE,GAEf,OADa9iB,OAAO8vF,KAAKC,cAAcjtE,GACzB7wB,OAGlB6qD,SAAU,KAGZptD,EAAQ+zE,UAAY4rB,EACpB3/F,EAAQ0/F,UAAYA,EACpB1/F,EAAQu+D,QAAUwhC,GAIZ,SAAU9/F,EAAQD,GAExBC,EAAOD,QAAU,8LAIX,SAAUC,EAAQD,GAExBC,EAAOD,QAAU,+LAIX,SAAUC,EAAQD,GAExBC,EAAOD,QAAU,+LAIX,SAAUC,EAAQD,GAExBC,EAAOD,QAAU,+LAIX,SAAUC,EAAQD,GAExBC,EAAOD,QAAU,g7EAIX,SAAUC,EAAQD,GAExBC,EAAOD,QAAU,sTAIX,SAAUC,EAAQD,GAExBC,EAAOD,QAAU,iRAIX,SAAUC,EAAQD,GAExBC,EAAOD,QAAU,sUAIX,SAAUC,EAAQD,GAExBC,EAAOD,QAAU,oPAIX,SAAUC,EAAQD,GAExBC,EAAOD,QAAU,mVAIX,SAAUC,EAAQD,GAExBC,EAAOD,QAAU,kVAIX,SAAUC,EAAQD,GAExBC,EAAOD,QAAU,qOAIX,SAAUC,EAAQD,GAExBC,EAAOD,QAAU,mOAIX,SAAUC,EAAQD,GAExBC,EAAOD,QAAU,0WAIX,SAAUC,EAAQD,GAExBC,EAAOD,QAAU,6YAIX,SAAUC,EAAQD,GAExBC,EAAOD,QAAU,03CAIX,SAAUC,EAAQD,GAExBC,EAAOD,QAAU,gkBAIX,SAAUC,EAAQD,GAExBC,EAAOD,QAAU,goBAIX,SAAUC,EAAQD,GAExBC,EAAOD,QAAU,gMAIX,SAAUC,EAAQD,GAExBC,EAAOD,QAAU,0OAIX,SAAUC,EAAQD,GAExBC,EAAOD,QAAU,yQAIX,SAAUC,EAAQD,GAExBC,EAAOD,QAAU,+PAIX,SAAUC,EAAQD,GAExBC,EAAOD,QAAU,+ZAIX,SAAUC,EAAQD,GAExBC,EAAOD,QAAU,osBAIX,SAAUC,EAAQD,GAExBC,EAAOD,QAAU,uVAIX,SAAUC,EAAQD,GAExBC,EAAOD,QAAU,6XAIX,SAAUC,EAAQD,GAExBC,EAAOD,QAAU,wqBAIX,SAAUC,EAAQD,GAExBC,EAAOD,QAAU,ijBAIX,SAAUC,EAAQD,GAExBC,EAAOD,QAAU,6gBAIX,SAAUC,EAAQD,GAExBC,EAAOD,QAAU,gMAIX,SAAUC,EAAQD,GAExBC,EAAOD,QAAU,+qBAIX,SAAUC,EAAQD,GAExBC,EAAOD,QAAU,oKAIX,SAAUC,EAAQD,EAASq9D,GAEjC,aAGAh7D,OAAOC,eAAetC,EAAS,aAAc,CAC3CuC,OAAO,IAETvC,EAAQu+D,QAAUv+D,EAAQsgG,mBAAgB71F,EAE1C,IAAIk7D,EAAO,SAASpmD,EAAI6E,EAAQ6b,EAAU2lC,GAA2B,OAAXxhD,IAAiBA,EAASyhD,SAASv8D,WAAW,IAAIw8D,EAAOzjE,OAAOqiE,yBAAyBtgD,EAAQ6b,GAAW,QAAax1B,IAATq7D,EAAoB,CAAE,IAAI79D,EAAS5F,OAAO0jE,eAAe3hD,GAAS,OAAe,OAAXnc,OAAmB,EAAkCsX,EAAItX,EAAQg4B,EAAU2lC,GAAoB,GAAI,UAAWE,EAAQ,OAAOA,EAAKvjE,MAAgB,IAAIg7D,EAASuI,EAAKvmD,IAAK,YAAe9U,IAAX8yD,EAAmDA,EAAO/zD,KAAKo8D,QAAnE,GAErZN,EAAe,WAAc,SAASC,EAAiB/1D,EAAQyuB,GAAS,IAAK,IAAI15B,EAAI,EAAGA,EAAI05B,EAAM77B,OAAQmC,IAAK,CAAE,IAAIghC,EAAatH,EAAM15B,GAAIghC,EAAWvhB,WAAauhB,EAAWvhB,aAAc,EAAOuhB,EAAWxhB,cAAe,EAAU,UAAWwhB,IAAYA,EAAWw/B,UAAW,GAAM1iE,OAAOC,eAAekN,EAAQ+1B,EAAWxkC,IAAKwkC,IAAiB,OAAO,SAAUigC,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYF,EAAiBC,EAAYl8D,UAAWm8D,GAAiBC,GAAaH,EAAiBC,EAAaE,GAAqBF,GAA7gB,GAIfQ,EAAWC,EAFD5I,EAAoB,IAM9BiT,EAAYrK,EAFD5I,EAAoB,IAI/B8+B,EAAQ9+B,EAAoB,IAE5B++B,EAASn2B,EAAuBk2B,GAEhChzB,EAAa9L,EAAoB,IAIjCi/B,EAAUr2B,EAFD5I,EAAoB,KAIjC,SAAS4I,EAAuBr6D,GAAO,OAAOA,GAAOA,EAAI6xD,WAAa7xD,EAAM,CAAE2yD,QAAS3yD,GAEvF,SAAS26D,EAAgBC,EAAUhB,GAAe,KAAMgB,aAAoBhB,GAAgB,MAAM,IAAIiB,UAAU,qCAEhH,SAASC,EAA2BpmE,EAAMkJ,GAAQ,IAAKlJ,EAAQ,MAAM,IAAIqmE,eAAe,6DAAgE,OAAOn9D,GAAyB,iBAATA,GAAqC,mBAATA,EAA8BlJ,EAAPkJ,EAElO,SAASo9D,EAAUC,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIL,UAAU,kEAAoEK,GAAeD,EAASv9D,UAAYjH,OAAOo8D,OAAOqI,GAAcA,EAAWx9D,UAAW,CAAE6J,YAAa,CAAE5Q,MAAOskE,EAAU7iD,YAAY,EAAO+gD,UAAU,EAAMhhD,cAAc,KAAe+iD,IAAYzkE,OAAOs9D,eAAiBt9D,OAAOs9D,eAAekH,EAAUC,GAAcD,EAASznC,UAAY0nC,GAEje,IAAIy1B,EAAiB,CAAC,CAAC,OAAQ,SAAU,QAAS,CAAC,CAAE5W,OAAQ,GAAK,CAAEA,OAAQ,GAAK,eAE7E4a,EAAc,SAAU9D,GAG1B,SAAS8D,EAAYhuB,EAAOpgE,GAC1Bo0D,EAAgB9lE,KAAM8/F,GAES,MAA3BpuF,EAAQgrD,QAAQ2S,SAAwD,MAArC39D,EAAQgrD,QAAQ2S,QAAQvsC,YAC7DpxB,EAAQgrD,QAAQ2S,QAAQvsC,UAAYg5D,GAGtC,IAAIv8B,EAAQ0G,EAA2BjmE,MAAO8/F,EAAYnhE,WAAa/8B,OAAO0jE,eAAew6B,IAAc/2F,KAAK/I,KAAM8xE,EAAOpgE,IAG7H,OADA6tD,EAAMuS,MAAMhvC,UAAUS,UAAUC,IAAI,aAC7B+7B,EAaT,OAzBA4G,EAAU25B,EAAa9D,GAevBn3B,EAAai7B,EAAa,CAAC,CACzBx/F,IAAK,gBACLwB,MAAO,SAAuButE,GAC5BrvE,KAAKisC,QAAU,IAAI4zD,EAAc7/F,KAAK8xE,MAAO9xE,KAAK0R,QAAQ4Z,QAC1DtrB,KAAKisC,QAAQvL,KAAKrO,YAAYg9C,EAAQvsC,WACtC9iC,KAAKi8F,aAAa,GAAGnzF,MAAMC,KAAKsmE,EAAQvsC,UAAUouC,iBAAiB,WAAY2qB,EAAQ/9B,SACvF99D,KAAKk8F,aAAa,GAAGpzF,MAAMC,KAAKsmE,EAAQvsC,UAAUouC,iBAAiB,WAAY2qB,EAAQ/9B,aAIpFgiC,EA1BS,CA2BhBnE,EAAO79B,SAETgiC,EAAY9wB,UAAW,EAAIzJ,EAASzH,UAAS,EAAM,GAAI69B,EAAO79B,QAAQkR,SAAU,CAC9EtS,QAAS,CACP2S,QAAS,CACPud,SAAU,CACR3lF,KAAM,SAAcnF,GACbA,EAGH9B,KAAK8xE,MAAMlI,MAAM39B,QAAQ6gD,OAFzB9sF,KAAK8xE,MAAM/8B,OAAO,QAAQ,SAUtC,IAAI8qD,EAAgB,SAAUzD,GAG5B,SAASyD,EAAc/tB,EAAOxmD,GAC5Bw6C,EAAgB9lE,KAAM6/F,GAEtB,IAAI94B,EAASd,EAA2BjmE,MAAO6/F,EAAclhE,WAAa/8B,OAAO0jE,eAAeu6B,IAAgB92F,KAAK/I,KAAM8xE,EAAOxmD,IAwBlI,OAtBAy7C,EAAO+K,MAAM5H,GAAG2F,EAAU/R,QAAQ5tB,OAAOi6B,eAAe,SAAUt7D,EAAM8gB,EAAO+qD,EAAU5rE,GACvF,GAAID,IAASghE,EAAU/R,QAAQ5tB,OAAO0hC,iBACtC,GAAa,MAATjiD,GAAiBA,EAAMhuB,OAAS,GAAKmN,IAAW+gE,EAAU/R,QAAQ9rD,QAAQ68D,KAAM,CAClF9H,EAAOs1B,OAEPt1B,EAAOrmC,KAAKvpB,MAAMT,KAAO,MACzBqwD,EAAOrmC,KAAKvpB,MAAMb,MAAQ,GAC1BywD,EAAOrmC,KAAKvpB,MAAMb,MAAQywD,EAAOrmC,KAAK86D,YAAc,KACpD,IAAIjxD,EAAQw8B,EAAO+K,MAAMqO,SAASxwD,EAAMhgB,MAAOggB,EAAMhuB,QACrD,GAAqB,IAAjB4oC,EAAM5oC,OACRolE,EAAOn2C,SAASm2C,EAAO+K,MAAMpF,UAAU/8C,QAClC,CACL,IAAIowE,EAAWx1D,EAAMA,EAAM5oC,OAAS,GAChCgO,EAAQo3D,EAAO+K,MAAMuS,SAAS0b,GAC9Bp+F,EAASU,KAAKD,IAAI29F,EAASp+F,SAAW,EAAGguB,EAAMhgB,MAAQggB,EAAMhuB,OAASgO,GACtEqwF,EAAUj5B,EAAO+K,MAAMpF,UAAU,IAAIhE,EAAWkG,MAAMj/D,EAAOhO,IACjEolE,EAAOn2C,SAASovE,SAET9tE,SAASunD,gBAAkB1S,EAAOmlB,SAAWnlB,EAAO+K,MAAMxE,YACnEvG,EAAOolB,UAGJplB,EAuCT,OApEAZ,EAAU05B,EAAezD,GAgCzBv3B,EAAag7B,EAAe,CAAC,CAC3Bv/F,IAAK,SACLwB,MAAO,WACL,IAAIwpE,EAAStrE,KAEbklE,EAAK26B,EAAch3F,UAAU81B,WAAa/8B,OAAO0jE,eAAeu6B,EAAch3F,WAAY,SAAU7I,MAAM+I,KAAK/I,MAC/GA,KAAK0gC,KAAK4uC,cAAc,aAAa3vC,iBAAiB,SAAS,WAC7D2rC,EAAO5qC,KAAK6C,UAAUM,OAAO,iBAE/B7jC,KAAK8xE,MAAM5H,GAAG2F,EAAU/R,QAAQ5tB,OAAOyhC,iBAAiB,WAEtD9X,YAAW,WACT,IAAIyR,EAAO5qC,KAAK6C,UAAUuqC,SAAS,aAAnC,CACA,IAAIn+C,EAAQ27C,EAAOwG,MAAM/F,eACZ,MAATp8C,GACF27C,EAAO16C,SAAS06C,EAAOwG,MAAMpF,UAAU/8C,OAExC,QAGN,CACDrvB,IAAK,SACLwB,MAAO,WACL9B,KAAKq8F,SAEN,CACD/7F,IAAK,WACLwB,MAAO,SAAkBy5F,GACvB,IAAIn1E,EAAQ8+C,EAAK26B,EAAch3F,UAAU81B,WAAa/8B,OAAO0jE,eAAeu6B,EAAch3F,WAAY,WAAY7I,MAAM+I,KAAK/I,KAAMu7F,GAC/H0E,EAAQjgG,KAAK0gC,KAAK4uC,cAAc,qBAEpC,GADA2wB,EAAM9oF,MAAM+oF,WAAa,GACX,IAAV95E,EAAa,OAAOA,EACxB65E,EAAM9oF,MAAM+oF,YAAc,EAAI95E,EAAQ65E,EAAMzE,YAAc,EAAI,SAI3DqE,EArEW,CAsElBnE,EAAMpQ,aAERuU,EAAcvE,SAAW,CAAC,yCAA0C,kCAAmC,mGAAoG,2BAA4B,UAAU90F,KAAK,IAEtPjH,EAAQsgG,cAAgBA,EACxBtgG,EAAQu+D,QAAUgiC,GAIZ,SAAUtgG,EAAQD,EAASq9D,GAEjCp9D,EAAOD,QAAUq9D,EAAoB,OAIhB,WCnyWpB,SAASr9D,GAAS,aAAa,IAAmR4gG,EAAc,IAAI7hB,OAAO,OAAnS,CAAC,gEAAgE,YAAY,cAAc,YAAY,YAAY,QAAQ,SAAS,UAAU,sBAAsB,cAAc,aAAa,WAAW,cAAc,WAAW,UAAU,UAAU,UAAU,SAA8C93E,KAAK,KAAK,QAAQ45F,EAAW,SAAS1uF,GAASA,EAAQA,GAAgB,GAAG,IAAI2uF,EAAW,CAAClwB,SAAQ,EAAGmwB,UAAS,EAAGp8D,UAAS,EAAGq8D,IAAG,EAAGC,YAAW,EAAGC,YAAW,EAAGC,YAAW,EAAGC,iBAAgB,EAAGC,iBAAgB,EAAGC,cAAa,EAAGC,WAAU,EAAGC,UAAS,EAAGC,UAAS,EAAGC,WAAU,EAAGC,SAAQ,EAAGC,WAAU,EAAGC,YAAW,EAAGC,OAAM,EAAGC,QAAO,EAAGC,UAAS,EAAGC,QAAO,EAAGC,WAAU,EAAGC,WAAU,EAAGC,WAAU,EAAGC,aAAY,EAAGC,cAAa,EAAGC,eAAc,EAAGC,SAAQ,EAAGC,MAAK,EAAGC,QAAO,EAAGC,uBAAsB,EAAGC,UAAS,EAAGC,WAAU,EAAGC,UAAS,EAAGC,UAAS,EAAGC,aAAY,EAAGC,WAAU,EAAGC,aAAY,EAAGC,SAAQ,EAAGC,SAAQ,EAAGC,aAAY,EAAGC,YAAW,EAAG/zF,QAAO,EAAGg0F,UAAS,GAAI,IAAI,IAAIxiG,KAAOoR,EAAQA,EAAQzR,eAAeK,SAAM,IAAoB+/F,EAAW//F,KAAO+/F,EAAW//F,GAAKoR,EAAQpR,IAAM,OAAON,KAAK0R,QAAQ2uF,EAAWrgG,KAAKmwE,QAAQ,QAAQnwE,KAAK+iG,UAAU,CAACC,KAAK,uBAAuBC,QAAQ,0BAA0BC,GAAG,2DAA2DC,OAAO,yBAAyBC,SAAS,qCAAqCC,OAAO,0BAA0BC,MAAM,6CAA6CC,IAAI,uBAAuBC,IAAI,wBAAwBC,MAAM,wBAAwBC,UAAU,4BAA4BC,QAAQ,2BAA2BC,MAAM,wBAAwBC,SAAS,2BAA2BC,MAAM,4BAA4BC,UAAU,4BAA4BC,GAAG,2BAA2BhkG,KAAKikG,UAAU,CAACjB,KAAK,QAAQS,MAAM,SAASS,UAAU,aAAaL,SAAS,YAAYH,UAAU,aAAaE,MAAM,SAASD,QAAQ,WAAWP,SAAS,kBAAkBD,OAAO,UAAUE,OAAO,UAAUH,GAAG,gBAAgBI,MAAM,aAAaa,IAAI,iBAAiBC,IAAI,wBAAwBnB,QAAQ,WAAWa,MAAM,aAAaC,UAAU,aAAaC,GAAG,cAAchkG,KAAKqkG,IAAI,CAACC,UAAU,oBAAoBC,UAAU,mBAAmBC,SAAS,mBAAmBC,SAAS,mBAAmBC,eAAe,qBAAqBC,aAAa,mBAAmBC,YAAY,mBAAmBC,UAAU,mBAAmBC,YAAY,mBAAmBC,cAAc,oBAAoBC,WAAW,gBAAgBC,QAAQ,sBAAsBC,UAAU,gBAAgBC,WAAW,gBAAgBC,SAAS,gBAAgBC,WAAW,gBAAgBC,eAAe,gBAAgBC,QAAQ,gBAAgBC,gBAAgB,gBAAgBC,aAAa,gBAAgBC,YAAY,iBAAiBC,aAAa,iBAAiBC,UAAU,iBAAiBC,IAAI,QAAQC,MAAM,SAASC,QAAQ,gBAAgBC,SAAS,QAAQC,IAAI,OAAO9B,IAAI,iBAAiBC,IAAI,wBAAwB8B,KAAK,6BAA6BC,OAAO,+BAA+BC,KAAK,sBAAsBC,KAAK,8BAA8BrmG,KAAKsmG,UAAU,CAACC,QAAQ,cAAcC,aAAa,iBAAiBX,IAAI,aAAaC,MAAM,SAASG,IAAI,OAAOQ,YAAY,eAAeP,KAAK,QAAQQ,KAAK,QAAQP,OAAO,UAAUQ,QAAQ,WAAWC,WAAW,cAAcC,QAAQ,WAAWR,KAAK,SAASrmG,KAAK8mG,aAAa,CAACnG,iBAAgB,EAAGI,UAAS,EAAGC,UAAS,EAAGM,QAAO,EAAGE,QAAO,EAAGD,UAAS,EAAGE,WAAU,EAAGI,cAAa,EAAGE,SAAQ,EAAGC,MAAK,EAAGC,QAAO,EAAGC,uBAAsB,EAAGC,UAAS,EAAGC,WAAU,EAAGC,UAAS,EAAGC,UAAS,EAAGC,aAAY,EAAGC,WAAU,EAAGC,aAAY,EAAGC,SAAQ,EAAGC,SAAQ,EAAGC,aAAY,EAAGC,YAAW,EAAG/B,WAAU,EAAGG,WAAU,EAAGC,SAAQ,EAAGC,WAAU,EAAGE,OAAM,EAAGD,YAAW,EAAG2F,QAAO,EAAGrF,WAAU,EAAGE,aAAY,EAAGoF,OAAM,EAAGC,QAAO,EAAGC,iBAAgB,EAAGC,SAAQ,EAAGtG,cAAa,EAAGuG,QAAO,EAAGC,WAAU,EAAG1F,WAAU,EAAG2F,MAAK,EAAGxF,eAAc,EAAGlB,iBAAgB,EAAGH,YAAY,EAAED,YAAY,EAAEE,WAAW,GAAGoC,UAAU,EAAExC,SAAS,UAAUiH,QAAQ,UAAUp3B,QAAQ,UAAUowB,GAAG,UAAUr8D,SAAS,UAAUsjE,MAAM,GAAG14F,OAAO,GAAG24F,QAAQ,SAAS1hG,GAAQ,IAAIjC,EAAMmE,EAAIslD,EAAK,EAAE,GAAG,IAAIxnD,EAAOpE,OAAO,OAAO4rD,EAAK,IAAIzpD,EAAE,EAAEmE,EAAIlC,EAAOpE,OAAOmC,EAAEmE,EAAInE,IAA6BypD,GAAMA,GAAM,GAAGA,EAApCxnD,EAAOy+E,WAAW1gF,GAA2BypD,GAAM,EAAE,OAAOA,GAAMm6C,QAAQ,SAAS3hG,GAAQ,SAAS4hG,EAAWC,EAAOC,GAAY,OAAOD,GAAQC,EAAWD,IAAS,GAAGC,EAAW,SAASC,EAAYC,EAAGC,GAAI,IAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAQ,OAAOF,EAAI,WAAWJ,EAAGK,EAAI,WAAWJ,EAAuCK,GAAS,WAAWN,IAAK,WAAWC,IAAxEC,EAAI,WAAWF,IAAGG,EAAI,WAAWF,GAAmD,WAAWK,EAAQF,EAAIC,EAAIH,EAAIC,EAAI,WAAWG,EAAQ,WAAWA,EAAQF,EAAIC,EAAI,WAAWC,EAAQF,EAAIC,EAAIC,EAAQF,EAAIC,EAA6I,SAASE,EAAIrjG,EAAE9C,EAAEY,EAAEqlC,EAAEjlC,EAAER,EAAE4lG,GAAI,OAAOtjG,EAAE6iG,EAAY7iG,EAAE6iG,EAAYA,EAAzM,SAAY3kG,EAAEC,EAAEK,GAAG,OAAON,EAAEC,GAAGD,EAAEM,EAAoL+kG,CAAGrmG,EAAEY,EAAEqlC,GAAGjlC,GAAGolG,IAAKT,EAAYH,EAAW1iG,EAAEtC,GAAGR,GAAG,SAASsmG,EAAIxjG,EAAE9C,EAAEY,EAAEqlC,EAAEjlC,EAAER,EAAE4lG,GAAI,OAAOtjG,EAAE6iG,EAAY7iG,EAAE6iG,EAAYA,EAAnS,SAAY3kG,EAAEC,EAAEK,GAAG,OAAON,EAAEM,EAAEL,GAAGK,EAA8QilG,CAAGvmG,EAAEY,EAAEqlC,GAAGjlC,GAAGolG,IAAKT,EAAYH,EAAW1iG,EAAEtC,GAAGR,GAAG,SAASwmG,EAAI1jG,EAAE9C,EAAEY,EAAEqlC,EAAEjlC,EAAER,EAAE4lG,GAAI,OAAOtjG,EAAE6iG,EAAY7iG,EAAE6iG,EAAYA,EAA7X,SAAY3kG,EAAEC,EAAEK,GAAG,OAAON,EAAEC,EAAEK,EAA2WmlG,CAAGzmG,EAAEY,EAAEqlC,GAAGjlC,GAAGolG,IAAKT,EAAYH,EAAW1iG,EAAEtC,GAAGR,GAAG,SAAS0mG,EAAI5jG,EAAE9C,EAAEY,EAAEqlC,EAAEjlC,EAAER,EAAE4lG,GAAI,OAAOtjG,EAAE6iG,EAAY7iG,EAAE6iG,EAAYA,EAA1d,SAAY3kG,EAAEC,EAAEK,GAAG,OAAOL,GAAGD,GAAGM,GAAscqlG,CAAG3mG,EAAEY,EAAEqlC,GAAGjlC,GAAGolG,IAAKT,EAAYH,EAAW1iG,EAAEtC,GAAGR,GAA4uB,SAAS4mG,EAAUnB,GAAQ,IAAUoB,EAAOC,EAAe,GAAGC,EAAmB,GAAG,IAAIF,EAAO,EAAEA,GAAQ,EAAEA,IAA+EC,IAA1CC,EAAmB,KAAzCtB,IAAS,EAAEoB,EAAO,KAAiChjG,SAAS,KAAuCqK,OAAO64F,EAAmBvnG,OAAO,EAAE,GAAG,OAAOsnG,EAAoa,IAAIjmG,EAAEmmG,EAAGC,EAAGC,EAAGC,EAAGrkG,EAAE9C,EAAEY,EAAEqlC,EAAEjlC,EAAgH,IAA8BA,EAA/jD,SAA4B4C,GAAQ,IAAI,IAAIwjG,EAAWC,EAAezjG,EAAOpE,OAAO8nG,EAAoBD,EAAe,EAAsEE,EAAe,KAA9DD,EAAoBA,EAAoB,IAAI,GAA0C,GAAGE,EAAW,IAAI/gG,MAAM8gG,EAAe,GAAGE,EAAc,EAAEC,EAAW,EAAEA,EAAWL,GAAuDI,EAAcC,EAAW,EAAE,EAAEF,EAApEJ,GAAYM,EAAWA,EAAW,GAAG,GAAsDF,EAAWJ,GAAYxjG,EAAOy+E,WAAWqlB,IAAaD,EAAcC,IAAa,OAA2EF,EAApEJ,GAAYM,EAAWA,EAAW,GAAG,GAAsDF,EAAWJ,GAAY,MAA3EK,EAAcC,EAAW,EAAE,GAAmEF,EAAWD,EAAe,GAAGF,GAAgB,EAAEG,EAAWD,EAAe,GAAGF,IAAiB,GAAGG,EAAm2BG,CAA5B/jG,EAAniB,SAAoBA,GAAQA,EAAOA,EAAOmtE,QAAQ,QAAQ,MAAM,IAAI,IAAI62B,EAAQ,GAAGtlG,EAAE,EAAEA,EAAEsB,EAAOpE,OAAO8C,IAAI,CAAC,IAAI1B,EAAEgD,EAAOy+E,WAAW//E,GAAG1B,EAAE,IAAIgnG,GAASrhE,OAAOw4B,aAAan+D,GAAGA,EAAE,KAAKA,EAAE,MAAMgnG,GAASrhE,OAAOw4B,aAAan+D,GAAG,EAAE,KAAKgnG,GAASrhE,OAAOw4B,aAAa,GAAGn+D,EAAE,OAAOgnG,GAASrhE,OAAOw4B,aAAan+D,GAAG,GAAG,KAAKgnG,GAASrhE,OAAOw4B,aAAan+D,GAAG,EAAE,GAAG,KAAKgnG,GAASrhE,OAAOw4B,aAAa,GAAGn+D,EAAE,MAAM,OAAOgnG,EAA6JC,CAAWjkG,IAAqCd,EAAE,WAAW9C,EAAE,WAAWY,EAAE,WAAWqlC,EAAE,UAAUplC,EAAE,EAAEA,EAAEG,EAAExB,OAAOqB,GAAG,GAAGmmG,EAAGlkG,EAAEmkG,EAAGjnG,EAAEknG,EAAGtmG,EAAEumG,EAAGlhE,EAAEnjC,EAAEqjG,EAAIrjG,EAAE9C,EAAEY,EAAEqlC,EAAEjlC,EAAEH,EAAE,GAAhR,EAAuR,YAAYolC,EAAEkgE,EAAIlgE,EAAEnjC,EAAE9C,EAAEY,EAAEI,EAAEH,EAAE,GAA/S,GAAsT,YAAYD,EAAEulG,EAAIvlG,EAAEqlC,EAAEnjC,EAAE9C,EAAEgB,EAAEH,EAAE,GAA7U,GAAoV,WAAWb,EAAEmmG,EAAInmG,EAAEY,EAAEqlC,EAAEnjC,EAAE9B,EAAEH,EAAE,GAA1W,GAAiX,YAAYiC,EAAEqjG,EAAIrjG,EAAE9C,EAAEY,EAAEqlC,EAAEjlC,EAAEH,EAAE,GAAna,EAA0a,YAAYolC,EAAEkgE,EAAIlgE,EAAEnjC,EAAE9C,EAAEY,EAAEI,EAAEH,EAAE,GAAlc,GAAyc,YAAYD,EAAEulG,EAAIvlG,EAAEqlC,EAAEnjC,EAAE9C,EAAEgB,EAAEH,EAAE,GAAhe,GAAue,YAAYb,EAAEmmG,EAAInmG,EAAEY,EAAEqlC,EAAEnjC,EAAE9B,EAAEH,EAAE,GAA9f,GAAqgB,YAAYiC,EAAEqjG,EAAIrjG,EAAE9C,EAAEY,EAAEqlC,EAAEjlC,EAAEH,EAAE,GAAvjB,EAA8jB,YAAYolC,EAAEkgE,EAAIlgE,EAAEnjC,EAAE9C,EAAEY,EAAEI,EAAEH,EAAE,GAAtlB,GAA6lB,YAAYD,EAAEulG,EAAIvlG,EAAEqlC,EAAEnjC,EAAE9C,EAAEgB,EAAEH,EAAE,IAApnB,GAA4nB,YAAYb,EAAEmmG,EAAInmG,EAAEY,EAAEqlC,EAAEnjC,EAAE9B,EAAEH,EAAE,IAAnpB,GAA2pB,YAAYiC,EAAEqjG,EAAIrjG,EAAE9C,EAAEY,EAAEqlC,EAAEjlC,EAAEH,EAAE,IAA7sB,EAAqtB,YAAYolC,EAAEkgE,EAAIlgE,EAAEnjC,EAAE9C,EAAEY,EAAEI,EAAEH,EAAE,IAA7uB,GAAqvB,YAAYD,EAAEulG,EAAIvlG,EAAEqlC,EAAEnjC,EAAE9C,EAAEgB,EAAEH,EAAE,IAA5wB,GAAoxB,YAAkDiC,EAAEwjG,EAAIxjG,EAA5C9C,EAAEmmG,EAAInmG,EAAEY,EAAEqlC,EAAEnjC,EAAE9B,EAAEH,EAAE,IAA3yB,GAAmzB,YAAsBD,EAAEqlC,EAAEjlC,EAAEH,EAAE,GAA10B,EAAi1B,YAAYolC,EAAEqgE,EAAIrgE,EAAEnjC,EAAE9C,EAAEY,EAAEI,EAAEH,EAAE,GAAz2B,EAAg3B,YAAYD,EAAE0lG,EAAI1lG,EAAEqlC,EAAEnjC,EAAE9C,EAAEgB,EAAEH,EAAE,IAAx4B,GAAg5B,WAAWb,EAAEsmG,EAAItmG,EAAEY,EAAEqlC,EAAEnjC,EAAE9B,EAAEH,EAAE,GAAt6B,GAA66B,YAAYiC,EAAEwjG,EAAIxjG,EAAE9C,EAAEY,EAAEqlC,EAAEjlC,EAAEH,EAAE,GAA99B,EAAq+B,YAAYolC,EAAEqgE,EAAIrgE,EAAEnjC,EAAE9C,EAAEY,EAAEI,EAAEH,EAAE,IAA7/B,EAAqgC,UAAUD,EAAE0lG,EAAI1lG,EAAEqlC,EAAEnjC,EAAE9C,EAAEgB,EAAEH,EAAE,IAA3hC,GAAmiC,YAAYb,EAAEsmG,EAAItmG,EAAEY,EAAEqlC,EAAEnjC,EAAE9B,EAAEH,EAAE,GAA1jC,GAAikC,YAAYiC,EAAEwjG,EAAIxjG,EAAE9C,EAAEY,EAAEqlC,EAAEjlC,EAAEH,EAAE,GAAlnC,EAAynC,WAAWolC,EAAEqgE,EAAIrgE,EAAEnjC,EAAE9C,EAAEY,EAAEI,EAAEH,EAAE,IAAhpC,EAAwpC,YAAYD,EAAE0lG,EAAI1lG,EAAEqlC,EAAEnjC,EAAE9C,EAAEgB,EAAEH,EAAE,GAAhrC,GAAurC,YAAYb,EAAEsmG,EAAItmG,EAAEY,EAAEqlC,EAAEnjC,EAAE9B,EAAEH,EAAE,GAA9sC,GAAqtC,YAAYiC,EAAEwjG,EAAIxjG,EAAE9C,EAAEY,EAAEqlC,EAAEjlC,EAAEH,EAAE,IAAtwC,EAA8wC,YAAYolC,EAAEqgE,EAAIrgE,EAAEnjC,EAAE9C,EAAEY,EAAEI,EAAEH,EAAE,GAAtyC,EAA6yC,YAAYD,EAAE0lG,EAAI1lG,EAAEqlC,EAAEnjC,EAAE9C,EAAEgB,EAAEH,EAAE,GAAr0C,GAA40C,YAAkDiC,EAAE0jG,EAAI1jG,EAA5C9C,EAAEsmG,EAAItmG,EAAEY,EAAEqlC,EAAEnjC,EAAE9B,EAAEH,EAAE,IAAn2C,GAA22C,YAAsBD,EAAEqlC,EAAEjlC,EAAEH,EAAE,GAAl4C,EAAy4C,YAAYolC,EAAEugE,EAAIvgE,EAAEnjC,EAAE9C,EAAEY,EAAEI,EAAEH,EAAE,GAAj6C,GAAw6C,YAAYD,EAAE4lG,EAAI5lG,EAAEqlC,EAAEnjC,EAAE9C,EAAEgB,EAAEH,EAAE,IAA/7C,GAAu8C,YAAYb,EAAEwmG,EAAIxmG,EAAEY,EAAEqlC,EAAEnjC,EAAE9B,EAAEH,EAAE,IAA99C,GAAs+C,YAAYiC,EAAE0jG,EAAI1jG,EAAE9C,EAAEY,EAAEqlC,EAAEjlC,EAAEH,EAAE,GAAxhD,EAA+hD,YAAYolC,EAAEugE,EAAIvgE,EAAEnjC,EAAE9C,EAAEY,EAAEI,EAAEH,EAAE,GAAvjD,GAA8jD,YAAYD,EAAE4lG,EAAI5lG,EAAEqlC,EAAEnjC,EAAE9C,EAAEgB,EAAEH,EAAE,GAArlD,GAA4lD,YAAYb,EAAEwmG,EAAIxmG,EAAEY,EAAEqlC,EAAEnjC,EAAE9B,EAAEH,EAAE,IAAnnD,GAA2nD,YAAYiC,EAAE0jG,EAAI1jG,EAAE9C,EAAEY,EAAEqlC,EAAEjlC,EAAEH,EAAE,IAA7qD,EAAqrD,WAAWolC,EAAEugE,EAAIvgE,EAAEnjC,EAAE9C,EAAEY,EAAEI,EAAEH,EAAE,GAA5sD,GAAmtD,YAAYD,EAAE4lG,EAAI5lG,EAAEqlC,EAAEnjC,EAAE9C,EAAEgB,EAAEH,EAAE,GAA1uD,GAAivD,YAAYb,EAAEwmG,EAAIxmG,EAAEY,EAAEqlC,EAAEnjC,EAAE9B,EAAEH,EAAE,GAAxwD,GAA+wD,UAAUiC,EAAE0jG,EAAI1jG,EAAE9C,EAAEY,EAAEqlC,EAAEjlC,EAAEH,EAAE,GAA/zD,EAAs0D,YAAYolC,EAAEugE,EAAIvgE,EAAEnjC,EAAE9C,EAAEY,EAAEI,EAAEH,EAAE,IAA91D,GAAs2D,YAAYD,EAAE4lG,EAAI5lG,EAAEqlC,EAAEnjC,EAAE9C,EAAEgB,EAAEH,EAAE,IAA73D,GAAq4D,WAAgDiC,EAAE4jG,EAAI5jG,EAA3C9C,EAAEwmG,EAAIxmG,EAAEY,EAAEqlC,EAAEnjC,EAAE9B,EAAEH,EAAE,GAA35D,GAAk6D,YAAsBD,EAAEqlC,EAAEjlC,EAAEH,EAAE,GAAz7D,EAAg8D,YAAYolC,EAAEygE,EAAIzgE,EAAEnjC,EAAE9C,EAAEY,EAAEI,EAAEH,EAAE,GAAx9D,GAA+9D,YAAYD,EAAE8lG,EAAI9lG,EAAEqlC,EAAEnjC,EAAE9C,EAAEgB,EAAEH,EAAE,IAAt/D,GAA8/D,YAAYb,EAAE0mG,EAAI1mG,EAAEY,EAAEqlC,EAAEnjC,EAAE9B,EAAEH,EAAE,GAArhE,GAA4hE,YAAYiC,EAAE4jG,EAAI5jG,EAAE9C,EAAEY,EAAEqlC,EAAEjlC,EAAEH,EAAE,IAA9kE,EAAslE,YAAYolC,EAAEygE,EAAIzgE,EAAEnjC,EAAE9C,EAAEY,EAAEI,EAAEH,EAAE,GAA9mE,GAAqnE,YAAYD,EAAE8lG,EAAI9lG,EAAEqlC,EAAEnjC,EAAE9C,EAAEgB,EAAEH,EAAE,IAA5oE,GAAopE,YAAYb,EAAE0mG,EAAI1mG,EAAEY,EAAEqlC,EAAEnjC,EAAE9B,EAAEH,EAAE,GAA3qE,GAAkrE,YAAYiC,EAAE4jG,EAAI5jG,EAAE9C,EAAEY,EAAEqlC,EAAEjlC,EAAEH,EAAE,GAApuE,EAA2uE,YAAYolC,EAAEygE,EAAIzgE,EAAEnjC,EAAE9C,EAAEY,EAAEI,EAAEH,EAAE,IAAnwE,GAA2wE,YAAYD,EAAE8lG,EAAI9lG,EAAEqlC,EAAEnjC,EAAE9C,EAAEgB,EAAEH,EAAE,GAAlyE,GAAyyE,YAAYb,EAAE0mG,EAAI1mG,EAAEY,EAAEqlC,EAAEnjC,EAAE9B,EAAEH,EAAE,IAAh0E,GAAw0E,YAAYiC,EAAE4jG,EAAI5jG,EAAE9C,EAAEY,EAAEqlC,EAAEjlC,EAAEH,EAAE,GAA13E,EAAi4E,YAAYolC,EAAEygE,EAAIzgE,EAAEnjC,EAAE9C,EAAEY,EAAEI,EAAEH,EAAE,IAAz5E,GAAi6E,YAAYD,EAAE8lG,EAAI9lG,EAAEqlC,EAAEnjC,EAAE9C,EAAEgB,EAAEH,EAAE,GAAx7E,GAA+7E,WAAWb,EAAE0mG,EAAI1mG,EAAEY,EAAEqlC,EAAEnjC,EAAE9B,EAAEH,EAAE,GAAr9E,GAA49E,YAAYiC,EAAE6iG,EAAY7iG,EAAEkkG,GAAIhnG,EAAE2lG,EAAY3lG,EAAEinG,GAAIrmG,EAAE+kG,EAAY/kG,EAAEsmG,GAAIjhE,EAAE0/D,EAAY1/D,EAAEkhE,GAAiE,OAApDP,EAAU9jG,GAAG8jG,EAAU5mG,GAAG4mG,EAAUhmG,GAAGgmG,EAAU3gE,IAAeq0B,gBAAgBz8D,KAAKiqG,MAAM,GAAGjqG,KAAKkqG,WAAW,SAASnkG,GAAQ,QAAO,GAAI,KAAK/F,KAAKikG,UAAUjB,KAAKxiB,KAAKz6E,GAAQ,OAAO/F,KAAKiqG,MAAMhI,QAAO,EAAG,OAAO,KAAKjiG,KAAKikG,UAAUF,UAAUvjB,KAAKz6E,GAAQ,OAAO/F,KAAKiqG,MAAMrH,aAAY,EAAG,YAAY,KAAK5iG,KAAKikG,UAAUC,UAAU1jB,KAAKz6E,GAAQ,OAAO/F,KAAKiqG,MAAM1H,aAAY,EAAG,YAAY,KAAKviG,KAAKikG,UAAUR,MAAMjjB,KAAKz6E,GAAQ,OAAO/F,KAAKiqG,MAAMtH,SAAQ,EAAG,QAAQ,KAAK3iG,KAAKikG,UAAUJ,SAASrjB,KAAKz6E,GAAQ,OAAO/F,KAAKiqG,MAAMpH,YAAW,EAAG,WAAW,KAAK7iG,KAAKikG,UAAUP,UAAUljB,KAAKz6E,GAAQ,OAAO/F,KAAKiqG,MAAMxH,aAAY,EAAG,YAAY,KAAKziG,KAAKikG,UAAUL,MAAMpjB,KAAKz6E,GAAQ,OAAO/F,KAAKiqG,MAAMvH,SAAQ,EAAG,QAAQ,KAAK1iG,KAAKikG,UAAUN,QAAQnjB,KAAKz6E,GAAQ,OAAO/F,KAAKiqG,MAAMzH,WAAU,EAAG,UAAU,KAAKxiG,KAAKikG,UAAUX,MAAM9iB,KAAKz6E,GAAQ,OAAO/F,KAAKiqG,MAAMlI,SAAQ,EAAG,QAAQ,KAAK/hG,KAAKikG,UAAUb,SAAS5iB,KAAKz6E,GAAQ,OAAO/F,KAAKiqG,MAAM3H,UAAS,EAAG,WAAW,KAAKtiG,KAAKikG,UAAUd,OAAO3iB,KAAKz6E,GAAQ,OAAO/F,KAAKiqG,MAAM3H,UAAS,EAAG,SAAS,KAAKtiG,KAAKikG,UAAUZ,OAAO7iB,KAAKz6E,GAAQ,OAAO/F,KAAKiqG,MAAM9H,UAAS,EAAG,SAAS,KAAKniG,KAAKikG,UAAUH,MAAMtjB,KAAKz6E,GAAQ,OAAO/F,KAAKiqG,MAAM9C,SAAQ,EAAG,QAAQ,KAAKnnG,KAAKikG,UAAUf,GAAG1iB,KAAKz6E,GAAQ,OAAO/F,KAAKiqG,MAAMjI,MAAK,EAAG,KAAK,KAAKhiG,KAAKikG,UAAUE,IAAI3jB,KAAKz6E,GAAQ,MAAM,MAAM,KAAK/F,KAAKikG,UAAUG,IAAI5jB,KAAKz6E,GAAQ,MAAM,MAAM,KAAK/F,KAAKikG,UAAUhB,QAAQziB,KAAKz6E,GAAQ,OAAO/F,KAAKiqG,MAAM7H,WAAU,EAAG,UAAU,KAAKpiG,KAAKikG,UAAUD,GAAGxjB,KAAKz6E,GAAQ,OAAO/F,KAAKiqG,MAAM3C,MAAK,EAAG,YAAY,QAAQ,OAAO,IAAIvhG,EAAOoN,QAAQ,YAAY,+BAA+BqtE,KAAKz6E,IAAS/F,KAAKiqG,MAAMtJ,iBAAgB,EAAGriB,OAAO6rB,IAAI,YAAYnqG,KAAKoqG,kBAAkB,SAASrkG,GAAkB,OAAO/F,KAAKiqG,MAAM1C,SAAS,IAAI,OAAO,GAAGvnG,KAAK+iG,UAAUC,KAAKxiB,KAAKz6E,GAAQ,OAAOu4E,OAAO6rB,GAAG,MAAM,IAAI,YAAY,GAAGnqG,KAAK+iG,UAAUgB,UAAUvjB,KAAKz6E,GAAQ,OAAOu4E,OAAO6rB,GAAG,MAAM,IAAI,SAAS,GAAGnqG,KAAK+iG,UAAUI,OAAO3iB,KAAKz6E,GAAQ,OAAOu4E,OAAO6rB,GAAG,MAAM,IAAI,WAAW,GAAGnqG,KAAK+iG,UAAUK,SAAS5iB,KAAKz6E,GAAQ,OAAOu4E,OAAO6rB,GAAG,MAAM,IAAI,SAAS,GAAGnqG,KAAK+iG,UAAUM,OAAO7iB,KAAKz6E,GAAQ,OAAOu4E,OAAO6rB,GAAG,MAAM,IAAI,QAAQ,GAAGnqG,KAAK+iG,UAAUO,MAAM9iB,KAAKz6E,GAAQ,OAAOu4E,OAAO6rB,GAAG7rB,OAAO6rB,GAAG7rB,OAAO+rB,GAAG,MAAM,IAAI,UAAU,GAAGrqG,KAAK+iG,UAAUE,QAAQziB,KAAKz6E,GAAQ,OAAOu4E,OAAO6rB,GAAG,MAAM,IAAI,QAAQ,GAAGnqG,KAAK+iG,UAAUe,MAAMtjB,KAAKz6E,GAAQ,OAAOu4E,OAAO6rB,GAAG,MAAM,IAAI,KAAK,GAAGnqG,KAAK+iG,UAAUG,GAAG1iB,KAAKz6E,GAAQ,OAAOu4E,OAAO+rB,GAAG/rB,OAAO+rB,GAAG/rB,OAAO6rB,GAAG,MAAM,IAAI,MAAM,GAAGnqG,KAAK+iG,UAAUQ,IAAI/iB,KAAKz6E,GAAQ,OAAOu4E,OAAO6rB,GAAG,MAAM,IAAI,MAAM,GAAGnqG,KAAK+iG,UAAUS,IAAIhjB,KAAKz6E,GAAQ,OAAOu4E,OAAO6rB,GAAG,MAAM,IAAI,QAAQ,GAAGnqG,KAAK+iG,UAAUU,MAAMjjB,KAAKz6E,GAAQ,OAAOu4E,OAAO6rB,GAAG,MAAM,IAAI,WAAW,GAAGnqG,KAAK+iG,UAAUc,SAASrjB,KAAKz6E,GAAQ,OAAOu4E,OAAO6rB,GAAG,MAAM,IAAI,YAAY,GAAGnqG,KAAK+iG,UAAUW,UAAUljB,KAAKz6E,GAAQ,OAAOu4E,OAAO6rB,GAAG,MAAM,IAAI,QAAQ,GAAGnqG,KAAK+iG,UAAUa,MAAMpjB,KAAKz6E,GAAQ,OAAOu4E,OAAO6rB,GAAG,MAAM,IAAI,UAAU,GAAGnqG,KAAK+iG,UAAUY,QAAQnjB,KAAKz6E,GAAQ,OAAOu4E,OAAO6rB,GAAG,MAAM,IAAI,YAAY,GAAGnqG,KAAK+iG,UAAUiB,GAAGxjB,KAAKz6E,GAAQ,OAAOu4E,OAAO6rB,GAAG,MAAM,QAAQ,GAAG,YAAYnqG,KAAKiqG,MAAM1C,SAAgB,IAAIjpB,OAAOt+E,KAAKiqG,MAAM1C,QAAQ,0BAA0B,KAAW/mB,KAAKz6E,GAAS,OAAOu4E,OAAO6rB,KAAKnqG,KAAKsqG,MAAM,SAASvkG,GAAQ,QAAO,GAAI,KAAK/F,KAAKqkG,IAAIM,aAAankB,KAAKz6E,GAAQ,OAAO/F,KAAKiqG,MAAMhJ,WAAU,EAAG,gBAAgB,KAAKjhG,KAAKqkG,IAAII,SAASjkB,KAAKz6E,GAAQ,OAAO/F,KAAKiqG,MAAMhJ,WAAU,EAAG,YAAY,KAAKjhG,KAAKqkG,IAAIG,SAAShkB,KAAKz6E,GAAQ,OAAO/F,KAAKiqG,MAAMhJ,WAAU,EAAG,YAAY,KAAKjhG,KAAKqkG,IAAIE,UAAU/jB,KAAKz6E,GAAQ,OAAO/F,KAAKiqG,MAAMhJ,WAAU,EAAG,cAAc,KAAKjhG,KAAKqkG,IAAIC,UAAU9jB,KAAKz6E,GAAQ,OAAO/F,KAAKiqG,MAAMhJ,WAAU,EAAG,eAAe,KAAKjhG,KAAKqkG,IAAIO,YAAYpkB,KAAKz6E,GAAQ,OAAO/F,KAAKiqG,MAAMhJ,WAAU,EAAG,eAAe,KAAKjhG,KAAKqkG,IAAIQ,UAAUrkB,KAAKz6E,GAAQ,OAAO/F,KAAKiqG,MAAMhJ,WAAU,EAAG,aAAa,KAAKjhG,KAAKqkG,IAAIS,YAAYtkB,KAAKz6E,GAAQ,OAAO/F,KAAKiqG,MAAMhJ,WAAU,EAAG,eAAe,KAAKjhG,KAAKqkG,IAAIU,cAAcvkB,KAAKz6E,GAAQ,MAAM,kBAAkB,KAAK/F,KAAKqkG,IAAI0B,QAAQvlB,KAAKz6E,GAAQ,OAAO/F,KAAKiqG,MAAM/I,SAAQ,EAAGlhG,KAAKiqG,MAAM9I,WAAU,EAAG,WAAW,KAAKnhG,KAAKqkG,IAAIyB,MAAMtlB,KAAKz6E,GAAQ,OAAO/F,KAAKiqG,MAAM/I,SAAQ,EAAG,QAAQ,KAAKlhG,KAAKqkG,IAAI2B,SAASxlB,KAAKz6E,GAAQ,OAAO/F,KAAKiqG,MAAM7I,YAAW,EAAG,YAAY,KAAKphG,KAAKqkG,IAAI4B,IAAIzlB,KAAKz6E,GAAQ,MAAM,MAAM,KAAK/F,KAAKqkG,IAAIF,IAAI3jB,KAAKz6E,GAA4B,KAAK/F,KAAKqkG,IAAID,IAAI5jB,KAAKz6E,GAAQ,MAAM,cAAc,KAAK/F,KAAKqkG,IAAIW,WAAWxkB,KAAKz6E,GAAQ,OAAO/F,KAAKiqG,MAAM5I,OAAM,EAAG,eAAe,KAAKrhG,KAAKqkG,IAAIY,QAAQzkB,KAAKz6E,GAAQ,OAAO/F,KAAKiqG,MAAM5I,OAAM,EAAG,YAAY,KAAKrhG,KAAKqkG,IAAIa,UAAU1kB,KAAKz6E,GAAQ,OAAO/F,KAAKiqG,MAAM5I,OAAM,EAAG,cAAc,KAAKrhG,KAAKqkG,IAAIc,WAAW3kB,KAAKz6E,GAAQ,OAAO/F,KAAKiqG,MAAM5I,OAAM,EAAG,eAAe,KAAKrhG,KAAKqkG,IAAIe,SAAS5kB,KAAKz6E,GAAQ,OAAO/F,KAAKiqG,MAAM5I,OAAM,EAAG,aAAa,KAAKrhG,KAAKqkG,IAAIgB,WAAW7kB,KAAKz6E,GAAQ,OAAO/F,KAAKiqG,MAAM5I,OAAM,EAAG,eAAe,KAAKrhG,KAAKqkG,IAAIiB,eAAe9kB,KAAKz6E,GAAQ,OAAO/F,KAAKiqG,MAAM5I,OAAM,EAAG,oBAAoB,KAAKrhG,KAAKqkG,IAAIkB,QAAQ/kB,KAAKz6E,GAAQ,OAAO/F,KAAKiqG,MAAM5I,OAAM,EAAG,YAAY,KAAKrhG,KAAKqkG,IAAImB,gBAAgBhlB,KAAKz6E,GAAQ,OAAO/F,KAAKiqG,MAAM5I,OAAM,EAAG,qBAAqB,KAAKrhG,KAAKqkG,IAAIoB,aAAajlB,KAAKz6E,GAAQ,OAAO/F,KAAKiqG,MAAM5I,OAAM,EAAG,iBAAiB,KAAKrhG,KAAKqkG,IAAIqB,YAAYllB,KAAKz6E,GAAQ,OAAO/F,KAAKiqG,MAAM5I,OAAM,EAAG,gBAAgB,KAAKrhG,KAAKqkG,IAAIsB,aAAanlB,KAAKz6E,GAAQ,OAAO/F,KAAKiqG,MAAM5I,OAAM,EAAG,kBAAkB,KAAKrhG,KAAKqkG,IAAIuB,UAAUplB,KAAKz6E,GAAQ,OAAO/F,KAAKiqG,MAAM5I,OAAM,EAAG,eAAe,KAAKrhG,KAAKqkG,IAAIwB,IAAIrlB,KAAKz6E,GAAQ,OAAO/F,KAAKiqG,MAAM5I,OAAM,EAAG,OAAO,KAAKrhG,KAAKqkG,IAAI6B,KAAK1lB,KAAKz6E,GAAQ,OAAO/F,KAAKiqG,MAAM3I,QAAO,EAAGv7F,EAAOI,MAAMnG,KAAKqkG,IAAI6B,MAAM,GAAGhzB,QAAQ,IAAI,KAAK,KAAKlzE,KAAKqkG,IAAI8B,OAAO3lB,KAAKz6E,GAAQ,OAAO/F,KAAKiqG,MAAM1I,UAAS,EAAGx7F,EAAOI,MAAMnG,KAAKqkG,IAAI8B,QAAQ,GAAGjzB,QAAQ,IAAI,KAAK,KAAKlzE,KAAKqkG,IAAI+B,KAAK5lB,KAAKz6E,GAAQ,OAAO/F,KAAKiqG,MAAMlD,QAAO,EAAG,OAAO,KAAK/mG,KAAKqkG,IAAIgC,KAAK7lB,KAAKz6E,GAAQ,OAAO/F,KAAKiqG,MAAMhD,QAAO,EAAG,OAAO,QAAQ,MAAM,YAAYjnG,KAAKuqG,YAAY,SAASxkG,GAAQ,QAAO,GAAI,KAAK/F,KAAKsmG,UAAUC,QAAQ/lB,KAAKz6E,GAAQ,MAAM,oBAAoB,KAAK/F,KAAKsmG,UAAUE,aAAahmB,KAAKz6E,GAAQ,OAAO/F,KAAKiqG,MAAMO,gBAAe,EAAG,0BAA0B,KAAKxqG,KAAKsmG,UAAUT,IAAIrlB,KAAKz6E,GAAQ,MAAM,YAAY,KAAK/F,KAAKsmG,UAAUD,KAAK7lB,KAAKz6E,GAAQ,MAAM,OAAO,KAAK/F,KAAKsmG,UAAUK,QAAQnmB,KAAKz6E,GAAQ,OAAO/F,KAAKiqG,MAAMxI,WAAU,EAAG,UAAU,KAAKzhG,KAAKsmG,UAAUM,WAAWpmB,KAAKz6E,GAAQ,OAAO/F,KAAKiqG,MAAMpI,cAAa,EAAG,aAAa,KAAK7hG,KAAKsmG,UAAUR,MAAMtlB,KAAKz6E,GAAQ,MAAM,QAAQ,KAAK/F,KAAKsmG,UAAUL,IAAIzlB,KAAKz6E,GAAQ,MAAM,MAAM,KAAK/F,KAAKsmG,UAAUG,YAAYjmB,KAAKz6E,GAAQ,MAAM,cAAc,KAAK/F,KAAKsmG,UAAUJ,KAAK1lB,KAAKz6E,GAAQ,OAAO/F,KAAKiqG,MAAM3I,QAAO,EAAG,OAAO,KAAKthG,KAAKsmG,UAAUI,KAAKlmB,KAAKz6E,GAAQ,OAAO/F,KAAKiqG,MAAMzI,QAAO,EAAG,OAAO,KAAKxhG,KAAKsmG,UAAUH,OAAO3lB,KAAKz6E,GAAQ,OAAO/F,KAAKiqG,MAAM1I,UAAS,EAAG,SAAS,KAAKvhG,KAAKsmG,UAAUO,QAAQrmB,KAAKz6E,GAAQ,OAAO/F,KAAKiqG,MAAMQ,YAAW,EAAG,UAAU,QAAQ,MAAM,YAAYzqG,KAAK0qG,sBAAsB,WAAW,IAAIC,EAAG3qG,KAAK,GAAGA,KAAKiqG,MAAMjI,MAAM,oBAAoBxhB,KAAKmqB,EAAGV,MAAMn7F,QAAQ,CAAC,IAAI87F,EAAelkG,SAAS43E,OAAO6rB,GAAG,IAAIh6B,EAAQzpE,SAASikG,EAAGV,MAAM95B,QAAQ,IAAI,IAAIA,GAAS,IAAIy6B,IAAiBD,EAAGV,MAAM/H,uBAAsB,EAAGyI,EAAGV,MAAM95B,QAAQ,IAAI,IAAIA,GAAS,IAAIy6B,IAAiBD,EAAGV,MAAM/H,uBAAsB,EAAGyI,EAAGV,MAAM95B,QAAQ,IAAI,IAAIA,GAAS,IAAIy6B,IAAiBD,EAAGV,MAAM/H,uBAAsB,EAAGyI,EAAGV,MAAM95B,QAAQ,GAAG,IAAIA,GAAS,IAAIy6B,IAAiBD,EAAGV,MAAM/H,uBAAsB,EAAGyI,EAAGV,MAAM95B,QAAQ,KAAKnwE,KAAK6qG,SAAS,WAAuB,QAAO,GAAI,KAAK,IAAIvsB,OAAO,OAAO,MAAMkC,KAA7CxgF,KAAqDiqG,MAAMn7F,QAAQ9O,KAAKiqG,MAAM7C,QAAO,EAAG,MAAM,0BAA0B5mB,KAAxHxgF,KAAgIiqG,MAAMn7F,UAAU9O,KAAKiqG,MAAMa,iBAAgB,KAAM9qG,KAAKiqG,MAAM7C,QAAQ,QAAQpnG,KAAK+qG,eAAe,WAAW,IAAIJ,EAAG3qG,KAAK,QAAO,GAAI,IAAI,SAASwgF,KAAKmqB,EAAGV,MAAMn7F,QAAQ,OAAO9O,KAAKiqG,MAAMpJ,cAAa,EAAG,cAAc,IAAI,SAASrgB,KAAKmqB,EAAGV,MAAMn7F,QAAQ,OAAO9O,KAAKiqG,MAAMpJ,cAAa,EAAG,iBAAiB,IAAI,UAAUrgB,KAAKmqB,EAAGV,MAAMn7F,QAAQ,OAAO9O,KAAKiqG,MAAMpJ,cAAa,EAAG,qBAAqB,IAAI,UAAUrgB,KAAKmqB,EAAGV,MAAMn7F,QAAQ,OAAO9O,KAAKiqG,MAAMpJ,cAAa,EAAG,wBAAwB,IAAI,WAAWrgB,KAAKmqB,EAAGV,MAAMn7F,QAAQ,OAAO9O,KAAKiqG,MAAMpJ,cAAa,EAAG,mBAAmB,IAAI,WAAWrgB,KAAKmqB,EAAGV,MAAMn7F,QAAQ,OAAO9O,KAAKiqG,MAAMpJ,cAAa,EAAG,oBAAoB,IAAI,WAAWrgB,KAAKmqB,EAAGV,MAAMn7F,QAAQ,OAAO9O,KAAKiqG,MAAMpJ,cAAa,EAAG,uBAAuB,IAAI,WAAWrgB,KAAKmqB,EAAGV,MAAMn7F,QAAQ,OAAO9O,KAAKiqG,MAAMpJ,cAAa,EAAG,sBAAsB,IAAI,WAAWrgB,KAAKmqB,EAAGV,MAAMn7F,QAAQ,OAAO9O,KAAKiqG,MAAMpJ,cAAa,EAAG,yBAAyB,QAAQ,OAAM,IAAK7gG,KAAKgrG,mBAAmB,WAAuB,QAAO,GAAI,IAAI,mBAAmBxqB,KAAvCxgF,KAA+CiqG,MAAMn7F,QAAQ,OAA7D9O,KAAuEiqG,MAAM5C,WAAU,EAAvFrnG,KAA6FiqG,MAAM5I,OAAM,EAAzGrhG,KAA+GiqG,MAAM/lE,SAAS,YAAY,iBAAiB,QAAQ,OAAM,IAAKlkC,KAAKirG,WAAW,WAAW,IAAIN,EAAG3qG,KAAK,QAAO,GAAI,KAAK2qG,EAAGV,MAAMhJ,UAAU,KAAK0J,EAAGV,MAAM/I,QAAQ,KAAKyJ,EAAGV,MAAM5I,MAAM,KAAKsJ,EAAGV,MAAM7I,WAAWuJ,EAAGV,MAAMnJ,WAAU,EAAG,MAAM,KAAK6J,EAAGV,MAAMxI,UAAU,KAAKkJ,EAAGV,MAAMvI,UAAUiJ,EAAGV,MAAMlJ,UAAS,EAAG4J,EAAGV,MAAMnJ,WAAU,EAAG,QAAO,GAAI,KAAK6J,EAAGV,MAAM3I,OAAO,KAAKqJ,EAAGV,MAAMzI,OAAO,KAAKmJ,EAAGV,MAAM1I,SAAS,KAAKoJ,EAAGV,MAAMlD,OAAO,KAAK4D,EAAGV,MAAMpI,aAAa,KAAK8I,EAAGV,MAAMxI,UAAU,KAAKkJ,EAAGV,MAAMO,eAAeG,EAAGV,MAAMlJ,UAAS,EAAG4J,EAAGV,MAAMnJ,WAAU,EAAG,UAAUtgB,KAAKmqB,EAAGV,MAAMn7F,UAAU67F,EAAGV,MAAMlJ,UAAS,EAAG4J,EAAGV,MAAMnJ,WAAU,IAAK9gG,KAAKkrG,WAAW,WAAW,IAAIP,EAAG3qG,KAAK,QAAO,GAAI,KAAK2qG,EAAGV,MAAM3I,OAAO,KAAKqJ,EAAGV,MAAM/C,gBAAgB,KAAKyD,EAAGV,MAAMpJ,aAAa8J,EAAGV,MAAMjJ,UAAS,EAAG,UAAUxgB,KAAKmqB,EAAGV,MAAMn7F,UAAU67F,EAAGV,MAAMjJ,UAAS,IAAKhhG,KAAKmrG,eAAe,SAASC,GAAS,IAAIT,EAAG3qG,KAAK4B,OAAOgG,KAAKwjG,GAASvjG,SAAQ,SAASvH,GAAK,UAAUkgF,KAAKlgF,KAAOqqG,EAAGV,MAAMzC,MAAMlnG,GAAK8qG,EAAQ9qG,QAASN,KAAKqrG,QAAQ,WAAW,IAAIV,EAAG3qG,KAAKgnG,EAAM7G,EAAcmL,KAAKX,EAAGV,MAAMn7F,OAAO2tD,eAAeuqC,EAAM2D,EAAGV,MAAMjD,MAAMA,EAAM,GAAG2D,EAAGV,MAAMtJ,kBAAkBgK,EAAGV,MAAMjD,MAAM,OAAOxmB,KAAKmqB,EAAGV,MAAMn7F,UAAU9O,KAAKurG,YAAY,WAAW,IAAY5J,EAAU,IAAIrjB,OAAO,4DAA4D,MAAMgtB,KAA5FtrG,KAAoGiqG,MAAMn7F,OAAO2tD,eAAeklC,IAAhI3hG,KAA+IiqG,MAAMtI,UAAUA,EAAU,KAAK3hG,KAAKwrG,kBAAkB,WAAkBxrG,KAAQiqG,MAAMxI,YAAY,UAAUjhB,KAApCxgF,KAA4CiqG,MAAMn7F,UAAlD9O,KAA+DiqG,MAAM/C,iBAAgB,IAAKlnG,KAAKyrG,iBAAiB,WAAkBzrG,KAAQiqG,MAAMnI,cAAc,iBAAiBjyF,QAAQ4wE,UAAUirB,eAAe,GAAGjrB,UAAUkrB,iBAAiB,GAAG3rG,KAAK4rG,WAAW,WAAkB5rG,KAAQiqG,MAAM3J,UAAU7f,UAAU6f,UAAU7f,UAAUorB,cAAcprB,UAAUqrB,iBAAiBrrB,UAAUsrB,gBAAgB,IAAItvC,eAAez8D,KAAKgsG,cAAc,WAAkBhsG,KAAQiqG,MAAMxJ,WAAWwL,OAAOxL,aAAa,GAAGzgG,KAAKksG,oBAAoB,WAAkBlsG,KAAQiqG,MAAMvJ,WAAW,CAACuL,OAAOE,WAAWF,OAAOG,cAAcpsG,KAAKqsG,cAAc,WAAkBrsG,KAAQiqG,MAAMzJ,WAAWyL,OAAOzL,aAAa,GAAGxgG,KAAKssG,OAAO,WAAkBtsG,KAAQiqG,MAAMnH,SAASriB,UAAU8rB,sBAAsB,GAAGvsG,KAAKuiB,MAAM,WAAW,IAAIooF,EAAG3qG,KAAK,IAAI,IAAIM,KAAOqqG,EAAG7D,aAAa6D,EAAG7D,aAAa7mG,eAAeK,KAAOqqG,EAAGV,MAAM3pG,GAAKqqG,EAAG7D,aAAaxmG,IAAM,OAAOqqG,GAAI3qG,KAAK80C,MAAM,SAAShmC,GAAQA,EAAOA,GAAQ2xE,UAAUW,UAAU,IAAIupB,EAAG,IAAIvK,EAAW,OAAOuK,EAAGV,MAAMn7F,OAAOA,EAAOokE,QAAQ,OAAO,IAAIA,QAAQ,OAAO,IAAIy3B,EAAGV,MAAM1J,GAAGoK,EAAGL,MAAMK,EAAGV,MAAMn7F,QAAQ67F,EAAGV,MAAM/lE,SAASymE,EAAGJ,YAAYI,EAAGV,MAAMn7F,QAAQ67F,EAAGV,MAAM1C,QAAQoD,EAAGT,WAAWS,EAAGV,MAAMn7F,QAAQ67F,EAAGV,MAAM95B,QAAQw6B,EAAGP,kBAAkBO,EAAGV,MAAMn7F,QAAQ67F,EAAGU,UAAUV,EAAGY,cAAcZ,EAAGM,aAAaN,EAAGa,oBAAoBb,EAAGO,aAAaP,EAAGD,wBAAwBC,EAAGE,WAAWF,EAAGI,iBAAiBJ,EAAGK,qBAAqBL,EAAGc,mBAAmBd,EAAGiB,aAAajB,EAAGqB,gBAAgBrB,EAAG0B,gBAAgB1B,EAAGuB,sBAAsBvB,EAAG2B,SAAS3B,EAAGV,OAAOjqG,KAAK8e,IAAI,SAAS0tF,GAAY,IAAaC,EAAGzsG,KAAK80C,QAAQ43D,EAAI,GAAG,IAAI,IAAIpsG,KAAON,KAAK0R,QAAQ1R,KAAK0R,QAAQzR,eAAeK,KAA0B,IAApBN,KAAK0R,QAAQpR,IAAWosG,EAAIvxF,KAAKsxF,EAAGnsG,IAAMksG,GAAYE,EAAIvxF,KAAKqxF,IAAaxsG,KAAK0R,QAAQgvF,YAAY+L,EAAG1L,UAAU2L,EAAIvxF,KAAKsxF,EAAG/L,YAAqB,IAAIiM,EAAQF,EAAG/E,QAAQgF,EAAIlmG,KAAK,MAAyH,MAA9G,CAACmmG,EAAQ7jG,MAAM,EAAE,GAAG6jG,EAAQ7jG,MAAM,EAAE,IAAI,IAAI6jG,EAAQ7jG,MAAM,GAAG,IAA5G,IAAqH6jG,EAAQ7jG,MAAM,GAAG,IAAI6jG,EAAQ7jG,MAAM,KAAiBtC,KAAK,MAAMxG,KAAKiqG,MAAMjqG,KAAK8mG,aAAa9mG,MAAaT,EAAQ6gG,WAAWA,EAAW,IAAIA,EAAW3f,UAAUW,WAAhvqB,CAA4vqBphF","file":"scripts.5536b12b7e863a9d5763.js","sourcesContent":["/*!\n * Chart.js v2.9.3\n * https://www.chartjs.org\n * (c) 2019 Chart.js Contributors\n * Released under the MIT License\n */\n(function (global, factory) {\ntypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(function() { try { return require('moment'); } catch(e) { } }()) :\ntypeof define === 'function' && define.amd ? define(['require'], function(require) { return factory(function() { try { return require('moment'); } catch(e) { } }()); }) :\n(global = global || self, global.Chart = factory(global.moment));\n}(this, (function (moment) { 'use strict';\n\nmoment = moment && moment.hasOwnProperty('default') ? moment['default'] : moment;\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nfunction getCjsExportFromNamespace (n) {\n\treturn n && n['default'] || n;\n}\n\nvar colorName = {\r\n\t\"aliceblue\": [240, 248, 255],\r\n\t\"antiquewhite\": [250, 235, 215],\r\n\t\"aqua\": [0, 255, 255],\r\n\t\"aquamarine\": [127, 255, 212],\r\n\t\"azure\": [240, 255, 255],\r\n\t\"beige\": [245, 245, 220],\r\n\t\"bisque\": [255, 228, 196],\r\n\t\"black\": [0, 0, 0],\r\n\t\"blanchedalmond\": [255, 235, 205],\r\n\t\"blue\": [0, 0, 255],\r\n\t\"blueviolet\": [138, 43, 226],\r\n\t\"brown\": [165, 42, 42],\r\n\t\"burlywood\": [222, 184, 135],\r\n\t\"cadetblue\": [95, 158, 160],\r\n\t\"chartreuse\": [127, 255, 0],\r\n\t\"chocolate\": [210, 105, 30],\r\n\t\"coral\": [255, 127, 80],\r\n\t\"cornflowerblue\": [100, 149, 237],\r\n\t\"cornsilk\": [255, 248, 220],\r\n\t\"crimson\": [220, 20, 60],\r\n\t\"cyan\": [0, 255, 255],\r\n\t\"darkblue\": [0, 0, 139],\r\n\t\"darkcyan\": [0, 139, 139],\r\n\t\"darkgoldenrod\": [184, 134, 11],\r\n\t\"darkgray\": [169, 169, 169],\r\n\t\"darkgreen\": [0, 100, 0],\r\n\t\"darkgrey\": [169, 169, 169],\r\n\t\"darkkhaki\": [189, 183, 107],\r\n\t\"darkmagenta\": [139, 0, 139],\r\n\t\"darkolivegreen\": [85, 107, 47],\r\n\t\"darkorange\": [255, 140, 0],\r\n\t\"darkorchid\": [153, 50, 204],\r\n\t\"darkred\": [139, 0, 0],\r\n\t\"darksalmon\": [233, 150, 122],\r\n\t\"darkseagreen\": [143, 188, 143],\r\n\t\"darkslateblue\": [72, 61, 139],\r\n\t\"darkslategray\": [47, 79, 79],\r\n\t\"darkslategrey\": [47, 79, 79],\r\n\t\"darkturquoise\": [0, 206, 209],\r\n\t\"darkviolet\": [148, 0, 211],\r\n\t\"deeppink\": [255, 20, 147],\r\n\t\"deepskyblue\": [0, 191, 255],\r\n\t\"dimgray\": [105, 105, 105],\r\n\t\"dimgrey\": [105, 105, 105],\r\n\t\"dodgerblue\": [30, 144, 255],\r\n\t\"firebrick\": [178, 34, 34],\r\n\t\"floralwhite\": [255, 250, 240],\r\n\t\"forestgreen\": [34, 139, 34],\r\n\t\"fuchsia\": [255, 0, 255],\r\n\t\"gainsboro\": [220, 220, 220],\r\n\t\"ghostwhite\": [248, 248, 255],\r\n\t\"gold\": [255, 215, 0],\r\n\t\"goldenrod\": [218, 165, 32],\r\n\t\"gray\": [128, 128, 128],\r\n\t\"green\": [0, 128, 0],\r\n\t\"greenyellow\": [173, 255, 47],\r\n\t\"grey\": [128, 128, 128],\r\n\t\"honeydew\": [240, 255, 240],\r\n\t\"hotpink\": [255, 105, 180],\r\n\t\"indianred\": [205, 92, 92],\r\n\t\"indigo\": [75, 0, 130],\r\n\t\"ivory\": [255, 255, 240],\r\n\t\"khaki\": [240, 230, 140],\r\n\t\"lavender\": [230, 230, 250],\r\n\t\"lavenderblush\": [255, 240, 245],\r\n\t\"lawngreen\": [124, 252, 0],\r\n\t\"lemonchiffon\": [255, 250, 205],\r\n\t\"lightblue\": [173, 216, 230],\r\n\t\"lightcoral\": [240, 128, 128],\r\n\t\"lightcyan\": [224, 255, 255],\r\n\t\"lightgoldenrodyellow\": [250, 250, 210],\r\n\t\"lightgray\": [211, 211, 211],\r\n\t\"lightgreen\": [144, 238, 144],\r\n\t\"lightgrey\": [211, 211, 211],\r\n\t\"lightpink\": [255, 182, 193],\r\n\t\"lightsalmon\": [255, 160, 122],\r\n\t\"lightseagreen\": [32, 178, 170],\r\n\t\"lightskyblue\": [135, 206, 250],\r\n\t\"lightslategray\": [119, 136, 153],\r\n\t\"lightslategrey\": [119, 136, 153],\r\n\t\"lightsteelblue\": [176, 196, 222],\r\n\t\"lightyellow\": [255, 255, 224],\r\n\t\"lime\": [0, 255, 0],\r\n\t\"limegreen\": [50, 205, 50],\r\n\t\"linen\": [250, 240, 230],\r\n\t\"magenta\": [255, 0, 255],\r\n\t\"maroon\": [128, 0, 0],\r\n\t\"mediumaquamarine\": [102, 205, 170],\r\n\t\"mediumblue\": [0, 0, 205],\r\n\t\"mediumorchid\": [186, 85, 211],\r\n\t\"mediumpurple\": [147, 112, 219],\r\n\t\"mediumseagreen\": [60, 179, 113],\r\n\t\"mediumslateblue\": [123, 104, 238],\r\n\t\"mediumspringgreen\": [0, 250, 154],\r\n\t\"mediumturquoise\": [72, 209, 204],\r\n\t\"mediumvioletred\": [199, 21, 133],\r\n\t\"midnightblue\": [25, 25, 112],\r\n\t\"mintcream\": [245, 255, 250],\r\n\t\"mistyrose\": [255, 228, 225],\r\n\t\"moccasin\": [255, 228, 181],\r\n\t\"navajowhite\": [255, 222, 173],\r\n\t\"navy\": [0, 0, 128],\r\n\t\"oldlace\": [253, 245, 230],\r\n\t\"olive\": [128, 128, 0],\r\n\t\"olivedrab\": [107, 142, 35],\r\n\t\"orange\": [255, 165, 0],\r\n\t\"orangered\": [255, 69, 0],\r\n\t\"orchid\": [218, 112, 214],\r\n\t\"palegoldenrod\": [238, 232, 170],\r\n\t\"palegreen\": [152, 251, 152],\r\n\t\"paleturquoise\": [175, 238, 238],\r\n\t\"palevioletred\": [219, 112, 147],\r\n\t\"papayawhip\": [255, 239, 213],\r\n\t\"peachpuff\": [255, 218, 185],\r\n\t\"peru\": [205, 133, 63],\r\n\t\"pink\": [255, 192, 203],\r\n\t\"plum\": [221, 160, 221],\r\n\t\"powderblue\": [176, 224, 230],\r\n\t\"purple\": [128, 0, 128],\r\n\t\"rebeccapurple\": [102, 51, 153],\r\n\t\"red\": [255, 0, 0],\r\n\t\"rosybrown\": [188, 143, 143],\r\n\t\"royalblue\": [65, 105, 225],\r\n\t\"saddlebrown\": [139, 69, 19],\r\n\t\"salmon\": [250, 128, 114],\r\n\t\"sandybrown\": [244, 164, 96],\r\n\t\"seagreen\": [46, 139, 87],\r\n\t\"seashell\": [255, 245, 238],\r\n\t\"sienna\": [160, 82, 45],\r\n\t\"silver\": [192, 192, 192],\r\n\t\"skyblue\": [135, 206, 235],\r\n\t\"slateblue\": [106, 90, 205],\r\n\t\"slategray\": [112, 128, 144],\r\n\t\"slategrey\": [112, 128, 144],\r\n\t\"snow\": [255, 250, 250],\r\n\t\"springgreen\": [0, 255, 127],\r\n\t\"steelblue\": [70, 130, 180],\r\n\t\"tan\": [210, 180, 140],\r\n\t\"teal\": [0, 128, 128],\r\n\t\"thistle\": [216, 191, 216],\r\n\t\"tomato\": [255, 99, 71],\r\n\t\"turquoise\": [64, 224, 208],\r\n\t\"violet\": [238, 130, 238],\r\n\t\"wheat\": [245, 222, 179],\r\n\t\"white\": [255, 255, 255],\r\n\t\"whitesmoke\": [245, 245, 245],\r\n\t\"yellow\": [255, 255, 0],\r\n\t\"yellowgreen\": [154, 205, 50]\r\n};\n\nvar conversions = createCommonjsModule(function (module) {\n/* MIT license */\n\n\n// NOTE: conversions should only return primitive values (i.e. arrays, or\n// values that give correct `typeof` results).\n// do not use box values types (i.e. Number(), String(), etc.)\n\nvar reverseKeywords = {};\nfor (var key in colorName) {\n\tif (colorName.hasOwnProperty(key)) {\n\t\treverseKeywords[colorName[key]] = key;\n\t}\n}\n\nvar convert = module.exports = {\n\trgb: {channels: 3, labels: 'rgb'},\n\thsl: {channels: 3, labels: 'hsl'},\n\thsv: {channels: 3, labels: 'hsv'},\n\thwb: {channels: 3, labels: 'hwb'},\n\tcmyk: {channels: 4, labels: 'cmyk'},\n\txyz: {channels: 3, labels: 'xyz'},\n\tlab: {channels: 3, labels: 'lab'},\n\tlch: {channels: 3, labels: 'lch'},\n\thex: {channels: 1, labels: ['hex']},\n\tkeyword: {channels: 1, labels: ['keyword']},\n\tansi16: {channels: 1, labels: ['ansi16']},\n\tansi256: {channels: 1, labels: ['ansi256']},\n\thcg: {channels: 3, labels: ['h', 'c', 'g']},\n\tapple: {channels: 3, labels: ['r16', 'g16', 'b16']},\n\tgray: {channels: 1, labels: ['gray']}\n};\n\n// hide .channels and .labels properties\nfor (var model in convert) {\n\tif (convert.hasOwnProperty(model)) {\n\t\tif (!('channels' in convert[model])) {\n\t\t\tthrow new Error('missing channels property: ' + model);\n\t\t}\n\n\t\tif (!('labels' in convert[model])) {\n\t\t\tthrow new Error('missing channel labels property: ' + model);\n\t\t}\n\n\t\tif (convert[model].labels.length !== convert[model].channels) {\n\t\t\tthrow new Error('channel and label counts mismatch: ' + model);\n\t\t}\n\n\t\tvar channels = convert[model].channels;\n\t\tvar labels = convert[model].labels;\n\t\tdelete convert[model].channels;\n\t\tdelete convert[model].labels;\n\t\tObject.defineProperty(convert[model], 'channels', {value: channels});\n\t\tObject.defineProperty(convert[model], 'labels', {value: labels});\n\t}\n}\n\nconvert.rgb.hsl = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar min = Math.min(r, g, b);\n\tvar max = Math.max(r, g, b);\n\tvar delta = max - min;\n\tvar h;\n\tvar s;\n\tvar l;\n\n\tif (max === min) {\n\t\th = 0;\n\t} else if (r === max) {\n\t\th = (g - b) / delta;\n\t} else if (g === max) {\n\t\th = 2 + (b - r) / delta;\n\t} else if (b === max) {\n\t\th = 4 + (r - g) / delta;\n\t}\n\n\th = Math.min(h * 60, 360);\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tl = (min + max) / 2;\n\n\tif (max === min) {\n\t\ts = 0;\n\t} else if (l <= 0.5) {\n\t\ts = delta / (max + min);\n\t} else {\n\t\ts = delta / (2 - max - min);\n\t}\n\n\treturn [h, s * 100, l * 100];\n};\n\nconvert.rgb.hsv = function (rgb) {\n\tvar rdif;\n\tvar gdif;\n\tvar bdif;\n\tvar h;\n\tvar s;\n\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar v = Math.max(r, g, b);\n\tvar diff = v - Math.min(r, g, b);\n\tvar diffc = function (c) {\n\t\treturn (v - c) / 6 / diff + 1 / 2;\n\t};\n\n\tif (diff === 0) {\n\t\th = s = 0;\n\t} else {\n\t\ts = diff / v;\n\t\trdif = diffc(r);\n\t\tgdif = diffc(g);\n\t\tbdif = diffc(b);\n\n\t\tif (r === v) {\n\t\t\th = bdif - gdif;\n\t\t} else if (g === v) {\n\t\t\th = (1 / 3) + rdif - bdif;\n\t\t} else if (b === v) {\n\t\t\th = (2 / 3) + gdif - rdif;\n\t\t}\n\t\tif (h < 0) {\n\t\t\th += 1;\n\t\t} else if (h > 1) {\n\t\t\th -= 1;\n\t\t}\n\t}\n\n\treturn [\n\t\th * 360,\n\t\ts * 100,\n\t\tv * 100\n\t];\n};\n\nconvert.rgb.hwb = function (rgb) {\n\tvar r = rgb[0];\n\tvar g = rgb[1];\n\tvar b = rgb[2];\n\tvar h = convert.rgb.hsl(rgb)[0];\n\tvar w = 1 / 255 * Math.min(r, Math.min(g, b));\n\n\tb = 1 - 1 / 255 * Math.max(r, Math.max(g, b));\n\n\treturn [h, w * 100, b * 100];\n};\n\nconvert.rgb.cmyk = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar c;\n\tvar m;\n\tvar y;\n\tvar k;\n\n\tk = Math.min(1 - r, 1 - g, 1 - b);\n\tc = (1 - r - k) / (1 - k) || 0;\n\tm = (1 - g - k) / (1 - k) || 0;\n\ty = (1 - b - k) / (1 - k) || 0;\n\n\treturn [c * 100, m * 100, y * 100, k * 100];\n};\n\n/**\n * See https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance\n * */\nfunction comparativeDistance(x, y) {\n\treturn (\n\t\tMath.pow(x[0] - y[0], 2) +\n\t\tMath.pow(x[1] - y[1], 2) +\n\t\tMath.pow(x[2] - y[2], 2)\n\t);\n}\n\nconvert.rgb.keyword = function (rgb) {\n\tvar reversed = reverseKeywords[rgb];\n\tif (reversed) {\n\t\treturn reversed;\n\t}\n\n\tvar currentClosestDistance = Infinity;\n\tvar currentClosestKeyword;\n\n\tfor (var keyword in colorName) {\n\t\tif (colorName.hasOwnProperty(keyword)) {\n\t\t\tvar value = colorName[keyword];\n\n\t\t\t// Compute comparative distance\n\t\t\tvar distance = comparativeDistance(rgb, value);\n\n\t\t\t// Check if its less, if so set as closest\n\t\t\tif (distance < currentClosestDistance) {\n\t\t\t\tcurrentClosestDistance = distance;\n\t\t\t\tcurrentClosestKeyword = keyword;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn currentClosestKeyword;\n};\n\nconvert.keyword.rgb = function (keyword) {\n\treturn colorName[keyword];\n};\n\nconvert.rgb.xyz = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\n\t// assume sRGB\n\tr = r > 0.04045 ? Math.pow(((r + 0.055) / 1.055), 2.4) : (r / 12.92);\n\tg = g > 0.04045 ? Math.pow(((g + 0.055) / 1.055), 2.4) : (g / 12.92);\n\tb = b > 0.04045 ? Math.pow(((b + 0.055) / 1.055), 2.4) : (b / 12.92);\n\n\tvar x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805);\n\tvar y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722);\n\tvar z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505);\n\n\treturn [x * 100, y * 100, z * 100];\n};\n\nconvert.rgb.lab = function (rgb) {\n\tvar xyz = convert.rgb.xyz(rgb);\n\tvar x = xyz[0];\n\tvar y = xyz[1];\n\tvar z = xyz[2];\n\tvar l;\n\tvar a;\n\tvar b;\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116);\n\n\tl = (116 * y) - 16;\n\ta = 500 * (x - y);\n\tb = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.hsl.rgb = function (hsl) {\n\tvar h = hsl[0] / 360;\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar t1;\n\tvar t2;\n\tvar t3;\n\tvar rgb;\n\tvar val;\n\n\tif (s === 0) {\n\t\tval = l * 255;\n\t\treturn [val, val, val];\n\t}\n\n\tif (l < 0.5) {\n\t\tt2 = l * (1 + s);\n\t} else {\n\t\tt2 = l + s - l * s;\n\t}\n\n\tt1 = 2 * l - t2;\n\n\trgb = [0, 0, 0];\n\tfor (var i = 0; i < 3; i++) {\n\t\tt3 = h + 1 / 3 * -(i - 1);\n\t\tif (t3 < 0) {\n\t\t\tt3++;\n\t\t}\n\t\tif (t3 > 1) {\n\t\t\tt3--;\n\t\t}\n\n\t\tif (6 * t3 < 1) {\n\t\t\tval = t1 + (t2 - t1) * 6 * t3;\n\t\t} else if (2 * t3 < 1) {\n\t\t\tval = t2;\n\t\t} else if (3 * t3 < 2) {\n\t\t\tval = t1 + (t2 - t1) * (2 / 3 - t3) * 6;\n\t\t} else {\n\t\t\tval = t1;\n\t\t}\n\n\t\trgb[i] = val * 255;\n\t}\n\n\treturn rgb;\n};\n\nconvert.hsl.hsv = function (hsl) {\n\tvar h = hsl[0];\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar smin = s;\n\tvar lmin = Math.max(l, 0.01);\n\tvar sv;\n\tvar v;\n\n\tl *= 2;\n\ts *= (l <= 1) ? l : 2 - l;\n\tsmin *= lmin <= 1 ? lmin : 2 - lmin;\n\tv = (l + s) / 2;\n\tsv = l === 0 ? (2 * smin) / (lmin + smin) : (2 * s) / (l + s);\n\n\treturn [h, sv * 100, v * 100];\n};\n\nconvert.hsv.rgb = function (hsv) {\n\tvar h = hsv[0] / 60;\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\tvar hi = Math.floor(h) % 6;\n\n\tvar f = h - Math.floor(h);\n\tvar p = 255 * v * (1 - s);\n\tvar q = 255 * v * (1 - (s * f));\n\tvar t = 255 * v * (1 - (s * (1 - f)));\n\tv *= 255;\n\n\tswitch (hi) {\n\t\tcase 0:\n\t\t\treturn [v, t, p];\n\t\tcase 1:\n\t\t\treturn [q, v, p];\n\t\tcase 2:\n\t\t\treturn [p, v, t];\n\t\tcase 3:\n\t\t\treturn [p, q, v];\n\t\tcase 4:\n\t\t\treturn [t, p, v];\n\t\tcase 5:\n\t\t\treturn [v, p, q];\n\t}\n};\n\nconvert.hsv.hsl = function (hsv) {\n\tvar h = hsv[0];\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\tvar vmin = Math.max(v, 0.01);\n\tvar lmin;\n\tvar sl;\n\tvar l;\n\n\tl = (2 - s) * v;\n\tlmin = (2 - s) * vmin;\n\tsl = s * vmin;\n\tsl /= (lmin <= 1) ? lmin : 2 - lmin;\n\tsl = sl || 0;\n\tl /= 2;\n\n\treturn [h, sl * 100, l * 100];\n};\n\n// http://dev.w3.org/csswg/css-color/#hwb-to-rgb\nconvert.hwb.rgb = function (hwb) {\n\tvar h = hwb[0] / 360;\n\tvar wh = hwb[1] / 100;\n\tvar bl = hwb[2] / 100;\n\tvar ratio = wh + bl;\n\tvar i;\n\tvar v;\n\tvar f;\n\tvar n;\n\n\t// wh + bl cant be > 1\n\tif (ratio > 1) {\n\t\twh /= ratio;\n\t\tbl /= ratio;\n\t}\n\n\ti = Math.floor(6 * h);\n\tv = 1 - bl;\n\tf = 6 * h - i;\n\n\tif ((i & 0x01) !== 0) {\n\t\tf = 1 - f;\n\t}\n\n\tn = wh + f * (v - wh); // linear interpolation\n\n\tvar r;\n\tvar g;\n\tvar b;\n\tswitch (i) {\n\t\tdefault:\n\t\tcase 6:\n\t\tcase 0: r = v; g = n; b = wh; break;\n\t\tcase 1: r = n; g = v; b = wh; break;\n\t\tcase 2: r = wh; g = v; b = n; break;\n\t\tcase 3: r = wh; g = n; b = v; break;\n\t\tcase 4: r = n; g = wh; b = v; break;\n\t\tcase 5: r = v; g = wh; b = n; break;\n\t}\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.cmyk.rgb = function (cmyk) {\n\tvar c = cmyk[0] / 100;\n\tvar m = cmyk[1] / 100;\n\tvar y = cmyk[2] / 100;\n\tvar k = cmyk[3] / 100;\n\tvar r;\n\tvar g;\n\tvar b;\n\n\tr = 1 - Math.min(1, c * (1 - k) + k);\n\tg = 1 - Math.min(1, m * (1 - k) + k);\n\tb = 1 - Math.min(1, y * (1 - k) + k);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.rgb = function (xyz) {\n\tvar x = xyz[0] / 100;\n\tvar y = xyz[1] / 100;\n\tvar z = xyz[2] / 100;\n\tvar r;\n\tvar g;\n\tvar b;\n\n\tr = (x * 3.2406) + (y * -1.5372) + (z * -0.4986);\n\tg = (x * -0.9689) + (y * 1.8758) + (z * 0.0415);\n\tb = (x * 0.0557) + (y * -0.2040) + (z * 1.0570);\n\n\t// assume sRGB\n\tr = r > 0.0031308\n\t\t? ((1.055 * Math.pow(r, 1.0 / 2.4)) - 0.055)\n\t\t: r * 12.92;\n\n\tg = g > 0.0031308\n\t\t? ((1.055 * Math.pow(g, 1.0 / 2.4)) - 0.055)\n\t\t: g * 12.92;\n\n\tb = b > 0.0031308\n\t\t? ((1.055 * Math.pow(b, 1.0 / 2.4)) - 0.055)\n\t\t: b * 12.92;\n\n\tr = Math.min(Math.max(0, r), 1);\n\tg = Math.min(Math.max(0, g), 1);\n\tb = Math.min(Math.max(0, b), 1);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.lab = function (xyz) {\n\tvar x = xyz[0];\n\tvar y = xyz[1];\n\tvar z = xyz[2];\n\tvar l;\n\tvar a;\n\tvar b;\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116);\n\n\tl = (116 * y) - 16;\n\ta = 500 * (x - y);\n\tb = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.lab.xyz = function (lab) {\n\tvar l = lab[0];\n\tvar a = lab[1];\n\tvar b = lab[2];\n\tvar x;\n\tvar y;\n\tvar z;\n\n\ty = (l + 16) / 116;\n\tx = a / 500 + y;\n\tz = y - b / 200;\n\n\tvar y2 = Math.pow(y, 3);\n\tvar x2 = Math.pow(x, 3);\n\tvar z2 = Math.pow(z, 3);\n\ty = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787;\n\tx = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787;\n\tz = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787;\n\n\tx *= 95.047;\n\ty *= 100;\n\tz *= 108.883;\n\n\treturn [x, y, z];\n};\n\nconvert.lab.lch = function (lab) {\n\tvar l = lab[0];\n\tvar a = lab[1];\n\tvar b = lab[2];\n\tvar hr;\n\tvar h;\n\tvar c;\n\n\thr = Math.atan2(b, a);\n\th = hr * 360 / 2 / Math.PI;\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tc = Math.sqrt(a * a + b * b);\n\n\treturn [l, c, h];\n};\n\nconvert.lch.lab = function (lch) {\n\tvar l = lch[0];\n\tvar c = lch[1];\n\tvar h = lch[2];\n\tvar a;\n\tvar b;\n\tvar hr;\n\n\thr = h / 360 * 2 * Math.PI;\n\ta = c * Math.cos(hr);\n\tb = c * Math.sin(hr);\n\n\treturn [l, a, b];\n};\n\nconvert.rgb.ansi16 = function (args) {\n\tvar r = args[0];\n\tvar g = args[1];\n\tvar b = args[2];\n\tvar value = 1 in arguments ? arguments[1] : convert.rgb.hsv(args)[2]; // hsv -> ansi16 optimization\n\n\tvalue = Math.round(value / 50);\n\n\tif (value === 0) {\n\t\treturn 30;\n\t}\n\n\tvar ansi = 30\n\t\t+ ((Math.round(b / 255) << 2)\n\t\t| (Math.round(g / 255) << 1)\n\t\t| Math.round(r / 255));\n\n\tif (value === 2) {\n\t\tansi += 60;\n\t}\n\n\treturn ansi;\n};\n\nconvert.hsv.ansi16 = function (args) {\n\t// optimization here; we already know the value and don't need to get\n\t// it converted for us.\n\treturn convert.rgb.ansi16(convert.hsv.rgb(args), args[2]);\n};\n\nconvert.rgb.ansi256 = function (args) {\n\tvar r = args[0];\n\tvar g = args[1];\n\tvar b = args[2];\n\n\t// we use the extended greyscale palette here, with the exception of\n\t// black and white. normal palette only has 4 greyscale shades.\n\tif (r === g && g === b) {\n\t\tif (r < 8) {\n\t\t\treturn 16;\n\t\t}\n\n\t\tif (r > 248) {\n\t\t\treturn 231;\n\t\t}\n\n\t\treturn Math.round(((r - 8) / 247) * 24) + 232;\n\t}\n\n\tvar ansi = 16\n\t\t+ (36 * Math.round(r / 255 * 5))\n\t\t+ (6 * Math.round(g / 255 * 5))\n\t\t+ Math.round(b / 255 * 5);\n\n\treturn ansi;\n};\n\nconvert.ansi16.rgb = function (args) {\n\tvar color = args % 10;\n\n\t// handle greyscale\n\tif (color === 0 || color === 7) {\n\t\tif (args > 50) {\n\t\t\tcolor += 3.5;\n\t\t}\n\n\t\tcolor = color / 10.5 * 255;\n\n\t\treturn [color, color, color];\n\t}\n\n\tvar mult = (~~(args > 50) + 1) * 0.5;\n\tvar r = ((color & 1) * mult) * 255;\n\tvar g = (((color >> 1) & 1) * mult) * 255;\n\tvar b = (((color >> 2) & 1) * mult) * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.ansi256.rgb = function (args) {\n\t// handle greyscale\n\tif (args >= 232) {\n\t\tvar c = (args - 232) * 10 + 8;\n\t\treturn [c, c, c];\n\t}\n\n\targs -= 16;\n\n\tvar rem;\n\tvar r = Math.floor(args / 36) / 5 * 255;\n\tvar g = Math.floor((rem = args % 36) / 6) / 5 * 255;\n\tvar b = (rem % 6) / 5 * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hex = function (args) {\n\tvar integer = ((Math.round(args[0]) & 0xFF) << 16)\n\t\t+ ((Math.round(args[1]) & 0xFF) << 8)\n\t\t+ (Math.round(args[2]) & 0xFF);\n\n\tvar string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.hex.rgb = function (args) {\n\tvar match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);\n\tif (!match) {\n\t\treturn [0, 0, 0];\n\t}\n\n\tvar colorString = match[0];\n\n\tif (match[0].length === 3) {\n\t\tcolorString = colorString.split('').map(function (char) {\n\t\t\treturn char + char;\n\t\t}).join('');\n\t}\n\n\tvar integer = parseInt(colorString, 16);\n\tvar r = (integer >> 16) & 0xFF;\n\tvar g = (integer >> 8) & 0xFF;\n\tvar b = integer & 0xFF;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hcg = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar max = Math.max(Math.max(r, g), b);\n\tvar min = Math.min(Math.min(r, g), b);\n\tvar chroma = (max - min);\n\tvar grayscale;\n\tvar hue;\n\n\tif (chroma < 1) {\n\t\tgrayscale = min / (1 - chroma);\n\t} else {\n\t\tgrayscale = 0;\n\t}\n\n\tif (chroma <= 0) {\n\t\thue = 0;\n\t} else\n\tif (max === r) {\n\t\thue = ((g - b) / chroma) % 6;\n\t} else\n\tif (max === g) {\n\t\thue = 2 + (b - r) / chroma;\n\t} else {\n\t\thue = 4 + (r - g) / chroma + 4;\n\t}\n\n\thue /= 6;\n\thue %= 1;\n\n\treturn [hue * 360, chroma * 100, grayscale * 100];\n};\n\nconvert.hsl.hcg = function (hsl) {\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar c = 1;\n\tvar f = 0;\n\n\tif (l < 0.5) {\n\t\tc = 2.0 * s * l;\n\t} else {\n\t\tc = 2.0 * s * (1.0 - l);\n\t}\n\n\tif (c < 1.0) {\n\t\tf = (l - 0.5 * c) / (1.0 - c);\n\t}\n\n\treturn [hsl[0], c * 100, f * 100];\n};\n\nconvert.hsv.hcg = function (hsv) {\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\n\tvar c = s * v;\n\tvar f = 0;\n\n\tif (c < 1.0) {\n\t\tf = (v - c) / (1 - c);\n\t}\n\n\treturn [hsv[0], c * 100, f * 100];\n};\n\nconvert.hcg.rgb = function (hcg) {\n\tvar h = hcg[0] / 360;\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tif (c === 0.0) {\n\t\treturn [g * 255, g * 255, g * 255];\n\t}\n\n\tvar pure = [0, 0, 0];\n\tvar hi = (h % 1) * 6;\n\tvar v = hi % 1;\n\tvar w = 1 - v;\n\tvar mg = 0;\n\n\tswitch (Math.floor(hi)) {\n\t\tcase 0:\n\t\t\tpure[0] = 1; pure[1] = v; pure[2] = 0; break;\n\t\tcase 1:\n\t\t\tpure[0] = w; pure[1] = 1; pure[2] = 0; break;\n\t\tcase 2:\n\t\t\tpure[0] = 0; pure[1] = 1; pure[2] = v; break;\n\t\tcase 3:\n\t\t\tpure[0] = 0; pure[1] = w; pure[2] = 1; break;\n\t\tcase 4:\n\t\t\tpure[0] = v; pure[1] = 0; pure[2] = 1; break;\n\t\tdefault:\n\t\t\tpure[0] = 1; pure[1] = 0; pure[2] = w;\n\t}\n\n\tmg = (1.0 - c) * g;\n\n\treturn [\n\t\t(c * pure[0] + mg) * 255,\n\t\t(c * pure[1] + mg) * 255,\n\t\t(c * pure[2] + mg) * 255\n\t];\n};\n\nconvert.hcg.hsv = function (hcg) {\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tvar v = c + g * (1.0 - c);\n\tvar f = 0;\n\n\tif (v > 0.0) {\n\t\tf = c / v;\n\t}\n\n\treturn [hcg[0], f * 100, v * 100];\n};\n\nconvert.hcg.hsl = function (hcg) {\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tvar l = g * (1.0 - c) + 0.5 * c;\n\tvar s = 0;\n\n\tif (l > 0.0 && l < 0.5) {\n\t\ts = c / (2 * l);\n\t} else\n\tif (l >= 0.5 && l < 1.0) {\n\t\ts = c / (2 * (1 - l));\n\t}\n\n\treturn [hcg[0], s * 100, l * 100];\n};\n\nconvert.hcg.hwb = function (hcg) {\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\tvar v = c + g * (1.0 - c);\n\treturn [hcg[0], (v - c) * 100, (1 - v) * 100];\n};\n\nconvert.hwb.hcg = function (hwb) {\n\tvar w = hwb[1] / 100;\n\tvar b = hwb[2] / 100;\n\tvar v = 1 - b;\n\tvar c = v - w;\n\tvar g = 0;\n\n\tif (c < 1) {\n\t\tg = (v - c) / (1 - c);\n\t}\n\n\treturn [hwb[0], c * 100, g * 100];\n};\n\nconvert.apple.rgb = function (apple) {\n\treturn [(apple[0] / 65535) * 255, (apple[1] / 65535) * 255, (apple[2] / 65535) * 255];\n};\n\nconvert.rgb.apple = function (rgb) {\n\treturn [(rgb[0] / 255) * 65535, (rgb[1] / 255) * 65535, (rgb[2] / 255) * 65535];\n};\n\nconvert.gray.rgb = function (args) {\n\treturn [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];\n};\n\nconvert.gray.hsl = convert.gray.hsv = function (args) {\n\treturn [0, 0, args[0]];\n};\n\nconvert.gray.hwb = function (gray) {\n\treturn [0, 100, gray[0]];\n};\n\nconvert.gray.cmyk = function (gray) {\n\treturn [0, 0, 0, gray[0]];\n};\n\nconvert.gray.lab = function (gray) {\n\treturn [gray[0], 0, 0];\n};\n\nconvert.gray.hex = function (gray) {\n\tvar val = Math.round(gray[0] / 100 * 255) & 0xFF;\n\tvar integer = (val << 16) + (val << 8) + val;\n\n\tvar string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.rgb.gray = function (rgb) {\n\tvar val = (rgb[0] + rgb[1] + rgb[2]) / 3;\n\treturn [val / 255 * 100];\n};\n});\nvar conversions_1 = conversions.rgb;\nvar conversions_2 = conversions.hsl;\nvar conversions_3 = conversions.hsv;\nvar conversions_4 = conversions.hwb;\nvar conversions_5 = conversions.cmyk;\nvar conversions_6 = conversions.xyz;\nvar conversions_7 = conversions.lab;\nvar conversions_8 = conversions.lch;\nvar conversions_9 = conversions.hex;\nvar conversions_10 = conversions.keyword;\nvar conversions_11 = conversions.ansi16;\nvar conversions_12 = conversions.ansi256;\nvar conversions_13 = conversions.hcg;\nvar conversions_14 = conversions.apple;\nvar conversions_15 = conversions.gray;\n\n/*\n\tthis function routes a model to all other models.\n\n\tall functions that are routed have a property `.conversion` attached\n\tto the returned synthetic function. This property is an array\n\tof strings, each with the steps in between the 'from' and 'to'\n\tcolor models (inclusive).\n\n\tconversions that are not possible simply are not included.\n*/\n\nfunction buildGraph() {\n\tvar graph = {};\n\t// https://jsperf.com/object-keys-vs-for-in-with-closure/3\n\tvar models = Object.keys(conversions);\n\n\tfor (var len = models.length, i = 0; i < len; i++) {\n\t\tgraph[models[i]] = {\n\t\t\t// http://jsperf.com/1-vs-infinity\n\t\t\t// micro-opt, but this is simple.\n\t\t\tdistance: -1,\n\t\t\tparent: null\n\t\t};\n\t}\n\n\treturn graph;\n}\n\n// https://en.wikipedia.org/wiki/Breadth-first_search\nfunction deriveBFS(fromModel) {\n\tvar graph = buildGraph();\n\tvar queue = [fromModel]; // unshift -> queue -> pop\n\n\tgraph[fromModel].distance = 0;\n\n\twhile (queue.length) {\n\t\tvar current = queue.pop();\n\t\tvar adjacents = Object.keys(conversions[current]);\n\n\t\tfor (var len = adjacents.length, i = 0; i < len; i++) {\n\t\t\tvar adjacent = adjacents[i];\n\t\t\tvar node = graph[adjacent];\n\n\t\t\tif (node.distance === -1) {\n\t\t\t\tnode.distance = graph[current].distance + 1;\n\t\t\t\tnode.parent = current;\n\t\t\t\tqueue.unshift(adjacent);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn graph;\n}\n\nfunction link(from, to) {\n\treturn function (args) {\n\t\treturn to(from(args));\n\t};\n}\n\nfunction wrapConversion(toModel, graph) {\n\tvar path = [graph[toModel].parent, toModel];\n\tvar fn = conversions[graph[toModel].parent][toModel];\n\n\tvar cur = graph[toModel].parent;\n\twhile (graph[cur].parent) {\n\t\tpath.unshift(graph[cur].parent);\n\t\tfn = link(conversions[graph[cur].parent][cur], fn);\n\t\tcur = graph[cur].parent;\n\t}\n\n\tfn.conversion = path;\n\treturn fn;\n}\n\nvar route = function (fromModel) {\n\tvar graph = deriveBFS(fromModel);\n\tvar conversion = {};\n\n\tvar models = Object.keys(graph);\n\tfor (var len = models.length, i = 0; i < len; i++) {\n\t\tvar toModel = models[i];\n\t\tvar node = graph[toModel];\n\n\t\tif (node.parent === null) {\n\t\t\t// no possible conversion, or this node is the source model.\n\t\t\tcontinue;\n\t\t}\n\n\t\tconversion[toModel] = wrapConversion(toModel, graph);\n\t}\n\n\treturn conversion;\n};\n\nvar convert = {};\n\nvar models = Object.keys(conversions);\n\nfunction wrapRaw(fn) {\n\tvar wrappedFn = function (args) {\n\t\tif (args === undefined || args === null) {\n\t\t\treturn args;\n\t\t}\n\n\t\tif (arguments.length > 1) {\n\t\t\targs = Array.prototype.slice.call(arguments);\n\t\t}\n\n\t\treturn fn(args);\n\t};\n\n\t// preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nfunction wrapRounded(fn) {\n\tvar wrappedFn = function (args) {\n\t\tif (args === undefined || args === null) {\n\t\t\treturn args;\n\t\t}\n\n\t\tif (arguments.length > 1) {\n\t\t\targs = Array.prototype.slice.call(arguments);\n\t\t}\n\n\t\tvar result = fn(args);\n\n\t\t// we're assuming the result is an array here.\n\t\t// see notice in conversions.js; don't use box types\n\t\t// in conversion functions.\n\t\tif (typeof result === 'object') {\n\t\t\tfor (var len = result.length, i = 0; i < len; i++) {\n\t\t\t\tresult[i] = Math.round(result[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t};\n\n\t// preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nmodels.forEach(function (fromModel) {\n\tconvert[fromModel] = {};\n\n\tObject.defineProperty(convert[fromModel], 'channels', {value: conversions[fromModel].channels});\n\tObject.defineProperty(convert[fromModel], 'labels', {value: conversions[fromModel].labels});\n\n\tvar routes = route(fromModel);\n\tvar routeModels = Object.keys(routes);\n\n\trouteModels.forEach(function (toModel) {\n\t\tvar fn = routes[toModel];\n\n\t\tconvert[fromModel][toModel] = wrapRounded(fn);\n\t\tconvert[fromModel][toModel].raw = wrapRaw(fn);\n\t});\n});\n\nvar colorConvert = convert;\n\nvar colorName$1 = {\r\n\t\"aliceblue\": [240, 248, 255],\r\n\t\"antiquewhite\": [250, 235, 215],\r\n\t\"aqua\": [0, 255, 255],\r\n\t\"aquamarine\": [127, 255, 212],\r\n\t\"azure\": [240, 255, 255],\r\n\t\"beige\": [245, 245, 220],\r\n\t\"bisque\": [255, 228, 196],\r\n\t\"black\": [0, 0, 0],\r\n\t\"blanchedalmond\": [255, 235, 205],\r\n\t\"blue\": [0, 0, 255],\r\n\t\"blueviolet\": [138, 43, 226],\r\n\t\"brown\": [165, 42, 42],\r\n\t\"burlywood\": [222, 184, 135],\r\n\t\"cadetblue\": [95, 158, 160],\r\n\t\"chartreuse\": [127, 255, 0],\r\n\t\"chocolate\": [210, 105, 30],\r\n\t\"coral\": [255, 127, 80],\r\n\t\"cornflowerblue\": [100, 149, 237],\r\n\t\"cornsilk\": [255, 248, 220],\r\n\t\"crimson\": [220, 20, 60],\r\n\t\"cyan\": [0, 255, 255],\r\n\t\"darkblue\": [0, 0, 139],\r\n\t\"darkcyan\": [0, 139, 139],\r\n\t\"darkgoldenrod\": [184, 134, 11],\r\n\t\"darkgray\": [169, 169, 169],\r\n\t\"darkgreen\": [0, 100, 0],\r\n\t\"darkgrey\": [169, 169, 169],\r\n\t\"darkkhaki\": [189, 183, 107],\r\n\t\"darkmagenta\": [139, 0, 139],\r\n\t\"darkolivegreen\": [85, 107, 47],\r\n\t\"darkorange\": [255, 140, 0],\r\n\t\"darkorchid\": [153, 50, 204],\r\n\t\"darkred\": [139, 0, 0],\r\n\t\"darksalmon\": [233, 150, 122],\r\n\t\"darkseagreen\": [143, 188, 143],\r\n\t\"darkslateblue\": [72, 61, 139],\r\n\t\"darkslategray\": [47, 79, 79],\r\n\t\"darkslategrey\": [47, 79, 79],\r\n\t\"darkturquoise\": [0, 206, 209],\r\n\t\"darkviolet\": [148, 0, 211],\r\n\t\"deeppink\": [255, 20, 147],\r\n\t\"deepskyblue\": [0, 191, 255],\r\n\t\"dimgray\": [105, 105, 105],\r\n\t\"dimgrey\": [105, 105, 105],\r\n\t\"dodgerblue\": [30, 144, 255],\r\n\t\"firebrick\": [178, 34, 34],\r\n\t\"floralwhite\": [255, 250, 240],\r\n\t\"forestgreen\": [34, 139, 34],\r\n\t\"fuchsia\": [255, 0, 255],\r\n\t\"gainsboro\": [220, 220, 220],\r\n\t\"ghostwhite\": [248, 248, 255],\r\n\t\"gold\": [255, 215, 0],\r\n\t\"goldenrod\": [218, 165, 32],\r\n\t\"gray\": [128, 128, 128],\r\n\t\"green\": [0, 128, 0],\r\n\t\"greenyellow\": [173, 255, 47],\r\n\t\"grey\": [128, 128, 128],\r\n\t\"honeydew\": [240, 255, 240],\r\n\t\"hotpink\": [255, 105, 180],\r\n\t\"indianred\": [205, 92, 92],\r\n\t\"indigo\": [75, 0, 130],\r\n\t\"ivory\": [255, 255, 240],\r\n\t\"khaki\": [240, 230, 140],\r\n\t\"lavender\": [230, 230, 250],\r\n\t\"lavenderblush\": [255, 240, 245],\r\n\t\"lawngreen\": [124, 252, 0],\r\n\t\"lemonchiffon\": [255, 250, 205],\r\n\t\"lightblue\": [173, 216, 230],\r\n\t\"lightcoral\": [240, 128, 128],\r\n\t\"lightcyan\": [224, 255, 255],\r\n\t\"lightgoldenrodyellow\": [250, 250, 210],\r\n\t\"lightgray\": [211, 211, 211],\r\n\t\"lightgreen\": [144, 238, 144],\r\n\t\"lightgrey\": [211, 211, 211],\r\n\t\"lightpink\": [255, 182, 193],\r\n\t\"lightsalmon\": [255, 160, 122],\r\n\t\"lightseagreen\": [32, 178, 170],\r\n\t\"lightskyblue\": [135, 206, 250],\r\n\t\"lightslategray\": [119, 136, 153],\r\n\t\"lightslategrey\": [119, 136, 153],\r\n\t\"lightsteelblue\": [176, 196, 222],\r\n\t\"lightyellow\": [255, 255, 224],\r\n\t\"lime\": [0, 255, 0],\r\n\t\"limegreen\": [50, 205, 50],\r\n\t\"linen\": [250, 240, 230],\r\n\t\"magenta\": [255, 0, 255],\r\n\t\"maroon\": [128, 0, 0],\r\n\t\"mediumaquamarine\": [102, 205, 170],\r\n\t\"mediumblue\": [0, 0, 205],\r\n\t\"mediumorchid\": [186, 85, 211],\r\n\t\"mediumpurple\": [147, 112, 219],\r\n\t\"mediumseagreen\": [60, 179, 113],\r\n\t\"mediumslateblue\": [123, 104, 238],\r\n\t\"mediumspringgreen\": [0, 250, 154],\r\n\t\"mediumturquoise\": [72, 209, 204],\r\n\t\"mediumvioletred\": [199, 21, 133],\r\n\t\"midnightblue\": [25, 25, 112],\r\n\t\"mintcream\": [245, 255, 250],\r\n\t\"mistyrose\": [255, 228, 225],\r\n\t\"moccasin\": [255, 228, 181],\r\n\t\"navajowhite\": [255, 222, 173],\r\n\t\"navy\": [0, 0, 128],\r\n\t\"oldlace\": [253, 245, 230],\r\n\t\"olive\": [128, 128, 0],\r\n\t\"olivedrab\": [107, 142, 35],\r\n\t\"orange\": [255, 165, 0],\r\n\t\"orangered\": [255, 69, 0],\r\n\t\"orchid\": [218, 112, 214],\r\n\t\"palegoldenrod\": [238, 232, 170],\r\n\t\"palegreen\": [152, 251, 152],\r\n\t\"paleturquoise\": [175, 238, 238],\r\n\t\"palevioletred\": [219, 112, 147],\r\n\t\"papayawhip\": [255, 239, 213],\r\n\t\"peachpuff\": [255, 218, 185],\r\n\t\"peru\": [205, 133, 63],\r\n\t\"pink\": [255, 192, 203],\r\n\t\"plum\": [221, 160, 221],\r\n\t\"powderblue\": [176, 224, 230],\r\n\t\"purple\": [128, 0, 128],\r\n\t\"rebeccapurple\": [102, 51, 153],\r\n\t\"red\": [255, 0, 0],\r\n\t\"rosybrown\": [188, 143, 143],\r\n\t\"royalblue\": [65, 105, 225],\r\n\t\"saddlebrown\": [139, 69, 19],\r\n\t\"salmon\": [250, 128, 114],\r\n\t\"sandybrown\": [244, 164, 96],\r\n\t\"seagreen\": [46, 139, 87],\r\n\t\"seashell\": [255, 245, 238],\r\n\t\"sienna\": [160, 82, 45],\r\n\t\"silver\": [192, 192, 192],\r\n\t\"skyblue\": [135, 206, 235],\r\n\t\"slateblue\": [106, 90, 205],\r\n\t\"slategray\": [112, 128, 144],\r\n\t\"slategrey\": [112, 128, 144],\r\n\t\"snow\": [255, 250, 250],\r\n\t\"springgreen\": [0, 255, 127],\r\n\t\"steelblue\": [70, 130, 180],\r\n\t\"tan\": [210, 180, 140],\r\n\t\"teal\": [0, 128, 128],\r\n\t\"thistle\": [216, 191, 216],\r\n\t\"tomato\": [255, 99, 71],\r\n\t\"turquoise\": [64, 224, 208],\r\n\t\"violet\": [238, 130, 238],\r\n\t\"wheat\": [245, 222, 179],\r\n\t\"white\": [255, 255, 255],\r\n\t\"whitesmoke\": [245, 245, 245],\r\n\t\"yellow\": [255, 255, 0],\r\n\t\"yellowgreen\": [154, 205, 50]\r\n};\n\n/* MIT license */\n\n\nvar colorString = {\n getRgba: getRgba,\n getHsla: getHsla,\n getRgb: getRgb,\n getHsl: getHsl,\n getHwb: getHwb,\n getAlpha: getAlpha,\n\n hexString: hexString,\n rgbString: rgbString,\n rgbaString: rgbaString,\n percentString: percentString,\n percentaString: percentaString,\n hslString: hslString,\n hslaString: hslaString,\n hwbString: hwbString,\n keyword: keyword\n};\n\nfunction getRgba(string) {\n if (!string) {\n return;\n }\n var abbr = /^#([a-fA-F0-9]{3,4})$/i,\n hex = /^#([a-fA-F0-9]{6}([a-fA-F0-9]{2})?)$/i,\n rgba = /^rgba?\\(\\s*([+-]?\\d+)\\s*,\\s*([+-]?\\d+)\\s*,\\s*([+-]?\\d+)\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)$/i,\n per = /^rgba?\\(\\s*([+-]?[\\d\\.]+)\\%\\s*,\\s*([+-]?[\\d\\.]+)\\%\\s*,\\s*([+-]?[\\d\\.]+)\\%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)$/i,\n keyword = /(\\w+)/;\n\n var rgb = [0, 0, 0],\n a = 1,\n match = string.match(abbr),\n hexAlpha = \"\";\n if (match) {\n match = match[1];\n hexAlpha = match[3];\n for (var i = 0; i < rgb.length; i++) {\n rgb[i] = parseInt(match[i] + match[i], 16);\n }\n if (hexAlpha) {\n a = Math.round((parseInt(hexAlpha + hexAlpha, 16) / 255) * 100) / 100;\n }\n }\n else if (match = string.match(hex)) {\n hexAlpha = match[2];\n match = match[1];\n for (var i = 0; i < rgb.length; i++) {\n rgb[i] = parseInt(match.slice(i * 2, i * 2 + 2), 16);\n }\n if (hexAlpha) {\n a = Math.round((parseInt(hexAlpha, 16) / 255) * 100) / 100;\n }\n }\n else if (match = string.match(rgba)) {\n for (var i = 0; i < rgb.length; i++) {\n rgb[i] = parseInt(match[i + 1]);\n }\n a = parseFloat(match[4]);\n }\n else if (match = string.match(per)) {\n for (var i = 0; i < rgb.length; i++) {\n rgb[i] = Math.round(parseFloat(match[i + 1]) * 2.55);\n }\n a = parseFloat(match[4]);\n }\n else if (match = string.match(keyword)) {\n if (match[1] == \"transparent\") {\n return [0, 0, 0, 0];\n }\n rgb = colorName$1[match[1]];\n if (!rgb) {\n return;\n }\n }\n\n for (var i = 0; i < rgb.length; i++) {\n rgb[i] = scale(rgb[i], 0, 255);\n }\n if (!a && a != 0) {\n a = 1;\n }\n else {\n a = scale(a, 0, 1);\n }\n rgb[3] = a;\n return rgb;\n}\n\nfunction getHsla(string) {\n if (!string) {\n return;\n }\n var hsl = /^hsla?\\(\\s*([+-]?\\d+)(?:deg)?\\s*,\\s*([+-]?[\\d\\.]+)%\\s*,\\s*([+-]?[\\d\\.]+)%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)/;\n var match = string.match(hsl);\n if (match) {\n var alpha = parseFloat(match[4]);\n var h = scale(parseInt(match[1]), 0, 360),\n s = scale(parseFloat(match[2]), 0, 100),\n l = scale(parseFloat(match[3]), 0, 100),\n a = scale(isNaN(alpha) ? 1 : alpha, 0, 1);\n return [h, s, l, a];\n }\n}\n\nfunction getHwb(string) {\n if (!string) {\n return;\n }\n var hwb = /^hwb\\(\\s*([+-]?\\d+)(?:deg)?\\s*,\\s*([+-]?[\\d\\.]+)%\\s*,\\s*([+-]?[\\d\\.]+)%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)/;\n var match = string.match(hwb);\n if (match) {\n var alpha = parseFloat(match[4]);\n var h = scale(parseInt(match[1]), 0, 360),\n w = scale(parseFloat(match[2]), 0, 100),\n b = scale(parseFloat(match[3]), 0, 100),\n a = scale(isNaN(alpha) ? 1 : alpha, 0, 1);\n return [h, w, b, a];\n }\n}\n\nfunction getRgb(string) {\n var rgba = getRgba(string);\n return rgba && rgba.slice(0, 3);\n}\n\nfunction getHsl(string) {\n var hsla = getHsla(string);\n return hsla && hsla.slice(0, 3);\n}\n\nfunction getAlpha(string) {\n var vals = getRgba(string);\n if (vals) {\n return vals[3];\n }\n else if (vals = getHsla(string)) {\n return vals[3];\n }\n else if (vals = getHwb(string)) {\n return vals[3];\n }\n}\n\n// generators\nfunction hexString(rgba, a) {\n var a = (a !== undefined && rgba.length === 3) ? a : rgba[3];\n return \"#\" + hexDouble(rgba[0]) \n + hexDouble(rgba[1])\n + hexDouble(rgba[2])\n + (\n (a >= 0 && a < 1)\n ? hexDouble(Math.round(a * 255))\n : \"\"\n );\n}\n\nfunction rgbString(rgba, alpha) {\n if (alpha < 1 || (rgba[3] && rgba[3] < 1)) {\n return rgbaString(rgba, alpha);\n }\n return \"rgb(\" + rgba[0] + \", \" + rgba[1] + \", \" + rgba[2] + \")\";\n}\n\nfunction rgbaString(rgba, alpha) {\n if (alpha === undefined) {\n alpha = (rgba[3] !== undefined ? rgba[3] : 1);\n }\n return \"rgba(\" + rgba[0] + \", \" + rgba[1] + \", \" + rgba[2]\n + \", \" + alpha + \")\";\n}\n\nfunction percentString(rgba, alpha) {\n if (alpha < 1 || (rgba[3] && rgba[3] < 1)) {\n return percentaString(rgba, alpha);\n }\n var r = Math.round(rgba[0]/255 * 100),\n g = Math.round(rgba[1]/255 * 100),\n b = Math.round(rgba[2]/255 * 100);\n\n return \"rgb(\" + r + \"%, \" + g + \"%, \" + b + \"%)\";\n}\n\nfunction percentaString(rgba, alpha) {\n var r = Math.round(rgba[0]/255 * 100),\n g = Math.round(rgba[1]/255 * 100),\n b = Math.round(rgba[2]/255 * 100);\n return \"rgba(\" + r + \"%, \" + g + \"%, \" + b + \"%, \" + (alpha || rgba[3] || 1) + \")\";\n}\n\nfunction hslString(hsla, alpha) {\n if (alpha < 1 || (hsla[3] && hsla[3] < 1)) {\n return hslaString(hsla, alpha);\n }\n return \"hsl(\" + hsla[0] + \", \" + hsla[1] + \"%, \" + hsla[2] + \"%)\";\n}\n\nfunction hslaString(hsla, alpha) {\n if (alpha === undefined) {\n alpha = (hsla[3] !== undefined ? hsla[3] : 1);\n }\n return \"hsla(\" + hsla[0] + \", \" + hsla[1] + \"%, \" + hsla[2] + \"%, \"\n + alpha + \")\";\n}\n\n// hwb is a bit different than rgb(a) & hsl(a) since there is no alpha specific syntax\n// (hwb have alpha optional & 1 is default value)\nfunction hwbString(hwb, alpha) {\n if (alpha === undefined) {\n alpha = (hwb[3] !== undefined ? hwb[3] : 1);\n }\n return \"hwb(\" + hwb[0] + \", \" + hwb[1] + \"%, \" + hwb[2] + \"%\"\n + (alpha !== undefined && alpha !== 1 ? \", \" + alpha : \"\") + \")\";\n}\n\nfunction keyword(rgb) {\n return reverseNames[rgb.slice(0, 3)];\n}\n\n// helpers\nfunction scale(num, min, max) {\n return Math.min(Math.max(min, num), max);\n}\n\nfunction hexDouble(num) {\n var str = num.toString(16).toUpperCase();\n return (str.length < 2) ? \"0\" + str : str;\n}\n\n\n//create a list of reverse color names\nvar reverseNames = {};\nfor (var name in colorName$1) {\n reverseNames[colorName$1[name]] = name;\n}\n\n/* MIT license */\n\n\n\nvar Color = function (obj) {\n\tif (obj instanceof Color) {\n\t\treturn obj;\n\t}\n\tif (!(this instanceof Color)) {\n\t\treturn new Color(obj);\n\t}\n\n\tthis.valid = false;\n\tthis.values = {\n\t\trgb: [0, 0, 0],\n\t\thsl: [0, 0, 0],\n\t\thsv: [0, 0, 0],\n\t\thwb: [0, 0, 0],\n\t\tcmyk: [0, 0, 0, 0],\n\t\talpha: 1\n\t};\n\n\t// parse Color() argument\n\tvar vals;\n\tif (typeof obj === 'string') {\n\t\tvals = colorString.getRgba(obj);\n\t\tif (vals) {\n\t\t\tthis.setValues('rgb', vals);\n\t\t} else if (vals = colorString.getHsla(obj)) {\n\t\t\tthis.setValues('hsl', vals);\n\t\t} else if (vals = colorString.getHwb(obj)) {\n\t\t\tthis.setValues('hwb', vals);\n\t\t}\n\t} else if (typeof obj === 'object') {\n\t\tvals = obj;\n\t\tif (vals.r !== undefined || vals.red !== undefined) {\n\t\t\tthis.setValues('rgb', vals);\n\t\t} else if (vals.l !== undefined || vals.lightness !== undefined) {\n\t\t\tthis.setValues('hsl', vals);\n\t\t} else if (vals.v !== undefined || vals.value !== undefined) {\n\t\t\tthis.setValues('hsv', vals);\n\t\t} else if (vals.w !== undefined || vals.whiteness !== undefined) {\n\t\t\tthis.setValues('hwb', vals);\n\t\t} else if (vals.c !== undefined || vals.cyan !== undefined) {\n\t\t\tthis.setValues('cmyk', vals);\n\t\t}\n\t}\n};\n\nColor.prototype = {\n\tisValid: function () {\n\t\treturn this.valid;\n\t},\n\trgb: function () {\n\t\treturn this.setSpace('rgb', arguments);\n\t},\n\thsl: function () {\n\t\treturn this.setSpace('hsl', arguments);\n\t},\n\thsv: function () {\n\t\treturn this.setSpace('hsv', arguments);\n\t},\n\thwb: function () {\n\t\treturn this.setSpace('hwb', arguments);\n\t},\n\tcmyk: function () {\n\t\treturn this.setSpace('cmyk', arguments);\n\t},\n\n\trgbArray: function () {\n\t\treturn this.values.rgb;\n\t},\n\thslArray: function () {\n\t\treturn this.values.hsl;\n\t},\n\thsvArray: function () {\n\t\treturn this.values.hsv;\n\t},\n\thwbArray: function () {\n\t\tvar values = this.values;\n\t\tif (values.alpha !== 1) {\n\t\t\treturn values.hwb.concat([values.alpha]);\n\t\t}\n\t\treturn values.hwb;\n\t},\n\tcmykArray: function () {\n\t\treturn this.values.cmyk;\n\t},\n\trgbaArray: function () {\n\t\tvar values = this.values;\n\t\treturn values.rgb.concat([values.alpha]);\n\t},\n\thslaArray: function () {\n\t\tvar values = this.values;\n\t\treturn values.hsl.concat([values.alpha]);\n\t},\n\talpha: function (val) {\n\t\tif (val === undefined) {\n\t\t\treturn this.values.alpha;\n\t\t}\n\t\tthis.setValues('alpha', val);\n\t\treturn this;\n\t},\n\n\tred: function (val) {\n\t\treturn this.setChannel('rgb', 0, val);\n\t},\n\tgreen: function (val) {\n\t\treturn this.setChannel('rgb', 1, val);\n\t},\n\tblue: function (val) {\n\t\treturn this.setChannel('rgb', 2, val);\n\t},\n\thue: function (val) {\n\t\tif (val) {\n\t\t\tval %= 360;\n\t\t\tval = val < 0 ? 360 + val : val;\n\t\t}\n\t\treturn this.setChannel('hsl', 0, val);\n\t},\n\tsaturation: function (val) {\n\t\treturn this.setChannel('hsl', 1, val);\n\t},\n\tlightness: function (val) {\n\t\treturn this.setChannel('hsl', 2, val);\n\t},\n\tsaturationv: function (val) {\n\t\treturn this.setChannel('hsv', 1, val);\n\t},\n\twhiteness: function (val) {\n\t\treturn this.setChannel('hwb', 1, val);\n\t},\n\tblackness: function (val) {\n\t\treturn this.setChannel('hwb', 2, val);\n\t},\n\tvalue: function (val) {\n\t\treturn this.setChannel('hsv', 2, val);\n\t},\n\tcyan: function (val) {\n\t\treturn this.setChannel('cmyk', 0, val);\n\t},\n\tmagenta: function (val) {\n\t\treturn this.setChannel('cmyk', 1, val);\n\t},\n\tyellow: function (val) {\n\t\treturn this.setChannel('cmyk', 2, val);\n\t},\n\tblack: function (val) {\n\t\treturn this.setChannel('cmyk', 3, val);\n\t},\n\n\thexString: function () {\n\t\treturn colorString.hexString(this.values.rgb);\n\t},\n\trgbString: function () {\n\t\treturn colorString.rgbString(this.values.rgb, this.values.alpha);\n\t},\n\trgbaString: function () {\n\t\treturn colorString.rgbaString(this.values.rgb, this.values.alpha);\n\t},\n\tpercentString: function () {\n\t\treturn colorString.percentString(this.values.rgb, this.values.alpha);\n\t},\n\thslString: function () {\n\t\treturn colorString.hslString(this.values.hsl, this.values.alpha);\n\t},\n\thslaString: function () {\n\t\treturn colorString.hslaString(this.values.hsl, this.values.alpha);\n\t},\n\thwbString: function () {\n\t\treturn colorString.hwbString(this.values.hwb, this.values.alpha);\n\t},\n\tkeyword: function () {\n\t\treturn colorString.keyword(this.values.rgb, this.values.alpha);\n\t},\n\n\trgbNumber: function () {\n\t\tvar rgb = this.values.rgb;\n\t\treturn (rgb[0] << 16) | (rgb[1] << 8) | rgb[2];\n\t},\n\n\tluminosity: function () {\n\t\t// http://www.w3.org/TR/WCAG20/#relativeluminancedef\n\t\tvar rgb = this.values.rgb;\n\t\tvar lum = [];\n\t\tfor (var i = 0; i < rgb.length; i++) {\n\t\t\tvar chan = rgb[i] / 255;\n\t\t\tlum[i] = (chan <= 0.03928) ? chan / 12.92 : Math.pow(((chan + 0.055) / 1.055), 2.4);\n\t\t}\n\t\treturn 0.2126 * lum[0] + 0.7152 * lum[1] + 0.0722 * lum[2];\n\t},\n\n\tcontrast: function (color2) {\n\t\t// http://www.w3.org/TR/WCAG20/#contrast-ratiodef\n\t\tvar lum1 = this.luminosity();\n\t\tvar lum2 = color2.luminosity();\n\t\tif (lum1 > lum2) {\n\t\t\treturn (lum1 + 0.05) / (lum2 + 0.05);\n\t\t}\n\t\treturn (lum2 + 0.05) / (lum1 + 0.05);\n\t},\n\n\tlevel: function (color2) {\n\t\tvar contrastRatio = this.contrast(color2);\n\t\tif (contrastRatio >= 7.1) {\n\t\t\treturn 'AAA';\n\t\t}\n\n\t\treturn (contrastRatio >= 4.5) ? 'AA' : '';\n\t},\n\n\tdark: function () {\n\t\t// YIQ equation from http://24ways.org/2010/calculating-color-contrast\n\t\tvar rgb = this.values.rgb;\n\t\tvar yiq = (rgb[0] * 299 + rgb[1] * 587 + rgb[2] * 114) / 1000;\n\t\treturn yiq < 128;\n\t},\n\n\tlight: function () {\n\t\treturn !this.dark();\n\t},\n\n\tnegate: function () {\n\t\tvar rgb = [];\n\t\tfor (var i = 0; i < 3; i++) {\n\t\t\trgb[i] = 255 - this.values.rgb[i];\n\t\t}\n\t\tthis.setValues('rgb', rgb);\n\t\treturn this;\n\t},\n\n\tlighten: function (ratio) {\n\t\tvar hsl = this.values.hsl;\n\t\thsl[2] += hsl[2] * ratio;\n\t\tthis.setValues('hsl', hsl);\n\t\treturn this;\n\t},\n\n\tdarken: function (ratio) {\n\t\tvar hsl = this.values.hsl;\n\t\thsl[2] -= hsl[2] * ratio;\n\t\tthis.setValues('hsl', hsl);\n\t\treturn this;\n\t},\n\n\tsaturate: function (ratio) {\n\t\tvar hsl = this.values.hsl;\n\t\thsl[1] += hsl[1] * ratio;\n\t\tthis.setValues('hsl', hsl);\n\t\treturn this;\n\t},\n\n\tdesaturate: function (ratio) {\n\t\tvar hsl = this.values.hsl;\n\t\thsl[1] -= hsl[1] * ratio;\n\t\tthis.setValues('hsl', hsl);\n\t\treturn this;\n\t},\n\n\twhiten: function (ratio) {\n\t\tvar hwb = this.values.hwb;\n\t\thwb[1] += hwb[1] * ratio;\n\t\tthis.setValues('hwb', hwb);\n\t\treturn this;\n\t},\n\n\tblacken: function (ratio) {\n\t\tvar hwb = this.values.hwb;\n\t\thwb[2] += hwb[2] * ratio;\n\t\tthis.setValues('hwb', hwb);\n\t\treturn this;\n\t},\n\n\tgreyscale: function () {\n\t\tvar rgb = this.values.rgb;\n\t\t// http://en.wikipedia.org/wiki/Grayscale#Converting_color_to_grayscale\n\t\tvar val = rgb[0] * 0.3 + rgb[1] * 0.59 + rgb[2] * 0.11;\n\t\tthis.setValues('rgb', [val, val, val]);\n\t\treturn this;\n\t},\n\n\tclearer: function (ratio) {\n\t\tvar alpha = this.values.alpha;\n\t\tthis.setValues('alpha', alpha - (alpha * ratio));\n\t\treturn this;\n\t},\n\n\topaquer: function (ratio) {\n\t\tvar alpha = this.values.alpha;\n\t\tthis.setValues('alpha', alpha + (alpha * ratio));\n\t\treturn this;\n\t},\n\n\trotate: function (degrees) {\n\t\tvar hsl = this.values.hsl;\n\t\tvar hue = (hsl[0] + degrees) % 360;\n\t\thsl[0] = hue < 0 ? 360 + hue : hue;\n\t\tthis.setValues('hsl', hsl);\n\t\treturn this;\n\t},\n\n\t/**\n\t * Ported from sass implementation in C\n\t * https://github.com/sass/libsass/blob/0e6b4a2850092356aa3ece07c6b249f0221caced/functions.cpp#L209\n\t */\n\tmix: function (mixinColor, weight) {\n\t\tvar color1 = this;\n\t\tvar color2 = mixinColor;\n\t\tvar p = weight === undefined ? 0.5 : weight;\n\n\t\tvar w = 2 * p - 1;\n\t\tvar a = color1.alpha() - color2.alpha();\n\n\t\tvar w1 = (((w * a === -1) ? w : (w + a) / (1 + w * a)) + 1) / 2.0;\n\t\tvar w2 = 1 - w1;\n\n\t\treturn this\n\t\t\t.rgb(\n\t\t\t\tw1 * color1.red() + w2 * color2.red(),\n\t\t\t\tw1 * color1.green() + w2 * color2.green(),\n\t\t\t\tw1 * color1.blue() + w2 * color2.blue()\n\t\t\t)\n\t\t\t.alpha(color1.alpha() * p + color2.alpha() * (1 - p));\n\t},\n\n\ttoJSON: function () {\n\t\treturn this.rgb();\n\t},\n\n\tclone: function () {\n\t\t// NOTE(SB): using node-clone creates a dependency to Buffer when using browserify,\n\t\t// making the final build way to big to embed in Chart.js. So let's do it manually,\n\t\t// assuming that values to clone are 1 dimension arrays containing only numbers,\n\t\t// except 'alpha' which is a number.\n\t\tvar result = new Color();\n\t\tvar source = this.values;\n\t\tvar target = result.values;\n\t\tvar value, type;\n\n\t\tfor (var prop in source) {\n\t\t\tif (source.hasOwnProperty(prop)) {\n\t\t\t\tvalue = source[prop];\n\t\t\t\ttype = ({}).toString.call(value);\n\t\t\t\tif (type === '[object Array]') {\n\t\t\t\t\ttarget[prop] = value.slice(0);\n\t\t\t\t} else if (type === '[object Number]') {\n\t\t\t\t\ttarget[prop] = value;\n\t\t\t\t} else {\n\t\t\t\t\tconsole.error('unexpected color value:', value);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t}\n};\n\nColor.prototype.spaces = {\n\trgb: ['red', 'green', 'blue'],\n\thsl: ['hue', 'saturation', 'lightness'],\n\thsv: ['hue', 'saturation', 'value'],\n\thwb: ['hue', 'whiteness', 'blackness'],\n\tcmyk: ['cyan', 'magenta', 'yellow', 'black']\n};\n\nColor.prototype.maxes = {\n\trgb: [255, 255, 255],\n\thsl: [360, 100, 100],\n\thsv: [360, 100, 100],\n\thwb: [360, 100, 100],\n\tcmyk: [100, 100, 100, 100]\n};\n\nColor.prototype.getValues = function (space) {\n\tvar values = this.values;\n\tvar vals = {};\n\n\tfor (var i = 0; i < space.length; i++) {\n\t\tvals[space.charAt(i)] = values[space][i];\n\t}\n\n\tif (values.alpha !== 1) {\n\t\tvals.a = values.alpha;\n\t}\n\n\t// {r: 255, g: 255, b: 255, a: 0.4}\n\treturn vals;\n};\n\nColor.prototype.setValues = function (space, vals) {\n\tvar values = this.values;\n\tvar spaces = this.spaces;\n\tvar maxes = this.maxes;\n\tvar alpha = 1;\n\tvar i;\n\n\tthis.valid = true;\n\n\tif (space === 'alpha') {\n\t\talpha = vals;\n\t} else if (vals.length) {\n\t\t// [10, 10, 10]\n\t\tvalues[space] = vals.slice(0, space.length);\n\t\talpha = vals[space.length];\n\t} else if (vals[space.charAt(0)] !== undefined) {\n\t\t// {r: 10, g: 10, b: 10}\n\t\tfor (i = 0; i < space.length; i++) {\n\t\t\tvalues[space][i] = vals[space.charAt(i)];\n\t\t}\n\n\t\talpha = vals.a;\n\t} else if (vals[spaces[space][0]] !== undefined) {\n\t\t// {red: 10, green: 10, blue: 10}\n\t\tvar chans = spaces[space];\n\n\t\tfor (i = 0; i < space.length; i++) {\n\t\t\tvalues[space][i] = vals[chans[i]];\n\t\t}\n\n\t\talpha = vals.alpha;\n\t}\n\n\tvalues.alpha = Math.max(0, Math.min(1, (alpha === undefined ? values.alpha : alpha)));\n\n\tif (space === 'alpha') {\n\t\treturn false;\n\t}\n\n\tvar capped;\n\n\t// cap values of the space prior converting all values\n\tfor (i = 0; i < space.length; i++) {\n\t\tcapped = Math.max(0, Math.min(maxes[space][i], values[space][i]));\n\t\tvalues[space][i] = Math.round(capped);\n\t}\n\n\t// convert to all the other color spaces\n\tfor (var sname in spaces) {\n\t\tif (sname !== space) {\n\t\t\tvalues[sname] = colorConvert[space][sname](values[space]);\n\t\t}\n\t}\n\n\treturn true;\n};\n\nColor.prototype.setSpace = function (space, args) {\n\tvar vals = args[0];\n\n\tif (vals === undefined) {\n\t\t// color.rgb()\n\t\treturn this.getValues(space);\n\t}\n\n\t// color.rgb(10, 10, 10)\n\tif (typeof vals === 'number') {\n\t\tvals = Array.prototype.slice.call(args);\n\t}\n\n\tthis.setValues(space, vals);\n\treturn this;\n};\n\nColor.prototype.setChannel = function (space, index, val) {\n\tvar svalues = this.values[space];\n\tif (val === undefined) {\n\t\t// color.red()\n\t\treturn svalues[index];\n\t} else if (val === svalues[index]) {\n\t\t// color.red(color.red())\n\t\treturn this;\n\t}\n\n\t// color.red(100)\n\tsvalues[index] = val;\n\tthis.setValues(space, svalues);\n\n\treturn this;\n};\n\nif (typeof window !== 'undefined') {\n\twindow.Color = Color;\n}\n\nvar chartjsColor = Color;\n\n/**\n * @namespace Chart.helpers\n */\nvar helpers = {\n\t/**\n\t * An empty function that can be used, for example, for optional callback.\n\t */\n\tnoop: function() {},\n\n\t/**\n\t * Returns a unique id, sequentially generated from a global variable.\n\t * @returns {number}\n\t * @function\n\t */\n\tuid: (function() {\n\t\tvar id = 0;\n\t\treturn function() {\n\t\t\treturn id++;\n\t\t};\n\t}()),\n\n\t/**\n\t * Returns true if `value` is neither null nor undefined, else returns false.\n\t * @param {*} value - The value to test.\n\t * @returns {boolean}\n\t * @since 2.7.0\n\t */\n\tisNullOrUndef: function(value) {\n\t\treturn value === null || typeof value === 'undefined';\n\t},\n\n\t/**\n\t * Returns true if `value` is an array (including typed arrays), else returns false.\n\t * @param {*} value - The value to test.\n\t * @returns {boolean}\n\t * @function\n\t */\n\tisArray: function(value) {\n\t\tif (Array.isArray && Array.isArray(value)) {\n\t\t\treturn true;\n\t\t}\n\t\tvar type = Object.prototype.toString.call(value);\n\t\tif (type.substr(0, 7) === '[object' && type.substr(-6) === 'Array]') {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t},\n\n\t/**\n\t * Returns true if `value` is an object (excluding null), else returns false.\n\t * @param {*} value - The value to test.\n\t * @returns {boolean}\n\t * @since 2.7.0\n\t */\n\tisObject: function(value) {\n\t\treturn value !== null && Object.prototype.toString.call(value) === '[object Object]';\n\t},\n\n\t/**\n\t * Returns true if `value` is a finite number, else returns false\n\t * @param {*} value - The value to test.\n\t * @returns {boolean}\n\t */\n\tisFinite: function(value) {\n\t\treturn (typeof value === 'number' || value instanceof Number) && isFinite(value);\n\t},\n\n\t/**\n\t * Returns `value` if defined, else returns `defaultValue`.\n\t * @param {*} value - The value to return if defined.\n\t * @param {*} defaultValue - The value to return if `value` is undefined.\n\t * @returns {*}\n\t */\n\tvalueOrDefault: function(value, defaultValue) {\n\t\treturn typeof value === 'undefined' ? defaultValue : value;\n\t},\n\n\t/**\n\t * Returns value at the given `index` in array if defined, else returns `defaultValue`.\n\t * @param {Array} value - The array to lookup for value at `index`.\n\t * @param {number} index - The index in `value` to lookup for value.\n\t * @param {*} defaultValue - The value to return if `value[index]` is undefined.\n\t * @returns {*}\n\t */\n\tvalueAtIndexOrDefault: function(value, index, defaultValue) {\n\t\treturn helpers.valueOrDefault(helpers.isArray(value) ? value[index] : value, defaultValue);\n\t},\n\n\t/**\n\t * Calls `fn` with the given `args` in the scope defined by `thisArg` and returns the\n\t * value returned by `fn`. If `fn` is not a function, this method returns undefined.\n\t * @param {function} fn - The function to call.\n\t * @param {Array|undefined|null} args - The arguments with which `fn` should be called.\n\t * @param {object} [thisArg] - The value of `this` provided for the call to `fn`.\n\t * @returns {*}\n\t */\n\tcallback: function(fn, args, thisArg) {\n\t\tif (fn && typeof fn.call === 'function') {\n\t\t\treturn fn.apply(thisArg, args);\n\t\t}\n\t},\n\n\t/**\n\t * Note(SB) for performance sake, this method should only be used when loopable type\n\t * is unknown or in none intensive code (not called often and small loopable). Else\n\t * it's preferable to use a regular for() loop and save extra function calls.\n\t * @param {object|Array} loopable - The object or array to be iterated.\n\t * @param {function} fn - The function to call for each item.\n\t * @param {object} [thisArg] - The value of `this` provided for the call to `fn`.\n\t * @param {boolean} [reverse] - If true, iterates backward on the loopable.\n\t */\n\teach: function(loopable, fn, thisArg, reverse) {\n\t\tvar i, len, keys;\n\t\tif (helpers.isArray(loopable)) {\n\t\t\tlen = loopable.length;\n\t\t\tif (reverse) {\n\t\t\t\tfor (i = len - 1; i >= 0; i--) {\n\t\t\t\t\tfn.call(thisArg, loopable[i], i);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor (i = 0; i < len; i++) {\n\t\t\t\t\tfn.call(thisArg, loopable[i], i);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (helpers.isObject(loopable)) {\n\t\t\tkeys = Object.keys(loopable);\n\t\t\tlen = keys.length;\n\t\t\tfor (i = 0; i < len; i++) {\n\t\t\t\tfn.call(thisArg, loopable[keys[i]], keys[i]);\n\t\t\t}\n\t\t}\n\t},\n\n\t/**\n\t * Returns true if the `a0` and `a1` arrays have the same content, else returns false.\n\t * @see https://stackoverflow.com/a/14853974\n\t * @param {Array} a0 - The array to compare\n\t * @param {Array} a1 - The array to compare\n\t * @returns {boolean}\n\t */\n\tarrayEquals: function(a0, a1) {\n\t\tvar i, ilen, v0, v1;\n\n\t\tif (!a0 || !a1 || a0.length !== a1.length) {\n\t\t\treturn false;\n\t\t}\n\n\t\tfor (i = 0, ilen = a0.length; i < ilen; ++i) {\n\t\t\tv0 = a0[i];\n\t\t\tv1 = a1[i];\n\n\t\t\tif (v0 instanceof Array && v1 instanceof Array) {\n\t\t\t\tif (!helpers.arrayEquals(v0, v1)) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t} else if (v0 !== v1) {\n\t\t\t\t// NOTE: two different object instances will never be equal: {x:20} != {x:20}\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\treturn true;\n\t},\n\n\t/**\n\t * Returns a deep copy of `source` without keeping references on objects and arrays.\n\t * @param {*} source - The value to clone.\n\t * @returns {*}\n\t */\n\tclone: function(source) {\n\t\tif (helpers.isArray(source)) {\n\t\t\treturn source.map(helpers.clone);\n\t\t}\n\n\t\tif (helpers.isObject(source)) {\n\t\t\tvar target = {};\n\t\t\tvar keys = Object.keys(source);\n\t\t\tvar klen = keys.length;\n\t\t\tvar k = 0;\n\n\t\t\tfor (; k < klen; ++k) {\n\t\t\t\ttarget[keys[k]] = helpers.clone(source[keys[k]]);\n\t\t\t}\n\n\t\t\treturn target;\n\t\t}\n\n\t\treturn source;\n\t},\n\n\t/**\n\t * The default merger when Chart.helpers.merge is called without merger option.\n\t * Note(SB): also used by mergeConfig and mergeScaleConfig as fallback.\n\t * @private\n\t */\n\t_merger: function(key, target, source, options) {\n\t\tvar tval = target[key];\n\t\tvar sval = source[key];\n\n\t\tif (helpers.isObject(tval) && helpers.isObject(sval)) {\n\t\t\thelpers.merge(tval, sval, options);\n\t\t} else {\n\t\t\ttarget[key] = helpers.clone(sval);\n\t\t}\n\t},\n\n\t/**\n\t * Merges source[key] in target[key] only if target[key] is undefined.\n\t * @private\n\t */\n\t_mergerIf: function(key, target, source) {\n\t\tvar tval = target[key];\n\t\tvar sval = source[key];\n\n\t\tif (helpers.isObject(tval) && helpers.isObject(sval)) {\n\t\t\thelpers.mergeIf(tval, sval);\n\t\t} else if (!target.hasOwnProperty(key)) {\n\t\t\ttarget[key] = helpers.clone(sval);\n\t\t}\n\t},\n\n\t/**\n\t * Recursively deep copies `source` properties into `target` with the given `options`.\n\t * IMPORTANT: `target` is not cloned and will be updated with `source` properties.\n\t * @param {object} target - The target object in which all sources are merged into.\n\t * @param {object|object[]} source - Object(s) to merge into `target`.\n\t * @param {object} [options] - Merging options:\n\t * @param {function} [options.merger] - The merge method (key, target, source, options)\n\t * @returns {object} The `target` object.\n\t */\n\tmerge: function(target, source, options) {\n\t\tvar sources = helpers.isArray(source) ? source : [source];\n\t\tvar ilen = sources.length;\n\t\tvar merge, i, keys, klen, k;\n\n\t\tif (!helpers.isObject(target)) {\n\t\t\treturn target;\n\t\t}\n\n\t\toptions = options || {};\n\t\tmerge = options.merger || helpers._merger;\n\n\t\tfor (i = 0; i < ilen; ++i) {\n\t\t\tsource = sources[i];\n\t\t\tif (!helpers.isObject(source)) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tkeys = Object.keys(source);\n\t\t\tfor (k = 0, klen = keys.length; k < klen; ++k) {\n\t\t\t\tmerge(keys[k], target, source, options);\n\t\t\t}\n\t\t}\n\n\t\treturn target;\n\t},\n\n\t/**\n\t * Recursively deep copies `source` properties into `target` *only* if not defined in target.\n\t * IMPORTANT: `target` is not cloned and will be updated with `source` properties.\n\t * @param {object} target - The target object in which all sources are merged into.\n\t * @param {object|object[]} source - Object(s) to merge into `target`.\n\t * @returns {object} The `target` object.\n\t */\n\tmergeIf: function(target, source) {\n\t\treturn helpers.merge(target, source, {merger: helpers._mergerIf});\n\t},\n\n\t/**\n\t * Applies the contents of two or more objects together into the first object.\n\t * @param {object} target - The target object in which all objects are merged into.\n\t * @param {object} arg1 - Object containing additional properties to merge in target.\n\t * @param {object} argN - Additional objects containing properties to merge in target.\n\t * @returns {object} The `target` object.\n\t */\n\textend: Object.assign || function(target) {\n\t\treturn helpers.merge(target, [].slice.call(arguments, 1), {\n\t\t\tmerger: function(key, dst, src) {\n\t\t\t\tdst[key] = src[key];\n\t\t\t}\n\t\t});\n\t},\n\n\t/**\n\t * Basic javascript inheritance based on the model created in Backbone.js\n\t */\n\tinherits: function(extensions) {\n\t\tvar me = this;\n\t\tvar ChartElement = (extensions && extensions.hasOwnProperty('constructor')) ? extensions.constructor : function() {\n\t\t\treturn me.apply(this, arguments);\n\t\t};\n\n\t\tvar Surrogate = function() {\n\t\t\tthis.constructor = ChartElement;\n\t\t};\n\n\t\tSurrogate.prototype = me.prototype;\n\t\tChartElement.prototype = new Surrogate();\n\t\tChartElement.extend = helpers.inherits;\n\n\t\tif (extensions) {\n\t\t\thelpers.extend(ChartElement.prototype, extensions);\n\t\t}\n\n\t\tChartElement.__super__ = me.prototype;\n\t\treturn ChartElement;\n\t},\n\n\t_deprecated: function(scope, value, previous, current) {\n\t\tif (value !== undefined) {\n\t\t\tconsole.warn(scope + ': \"' + previous +\n\t\t\t\t'\" is deprecated. Please use \"' + current + '\" instead');\n\t\t}\n\t}\n};\n\nvar helpers_core = helpers;\n\n// DEPRECATIONS\n\n/**\n * Provided for backward compatibility, use Chart.helpers.callback instead.\n * @function Chart.helpers.callCallback\n * @deprecated since version 2.6.0\n * @todo remove at version 3\n * @private\n */\nhelpers.callCallback = helpers.callback;\n\n/**\n * Provided for backward compatibility, use Array.prototype.indexOf instead.\n * Array.prototype.indexOf compatibility: Chrome, Opera, Safari, FF1.5+, IE9+\n * @function Chart.helpers.indexOf\n * @deprecated since version 2.7.0\n * @todo remove at version 3\n * @private\n */\nhelpers.indexOf = function(array, item, fromIndex) {\n\treturn Array.prototype.indexOf.call(array, item, fromIndex);\n};\n\n/**\n * Provided for backward compatibility, use Chart.helpers.valueOrDefault instead.\n * @function Chart.helpers.getValueOrDefault\n * @deprecated since version 2.7.0\n * @todo remove at version 3\n * @private\n */\nhelpers.getValueOrDefault = helpers.valueOrDefault;\n\n/**\n * Provided for backward compatibility, use Chart.helpers.valueAtIndexOrDefault instead.\n * @function Chart.helpers.getValueAtIndexOrDefault\n * @deprecated since version 2.7.0\n * @todo remove at version 3\n * @private\n */\nhelpers.getValueAtIndexOrDefault = helpers.valueAtIndexOrDefault;\n\n/**\n * Easing functions adapted from Robert Penner's easing equations.\n * @namespace Chart.helpers.easingEffects\n * @see http://www.robertpenner.com/easing/\n */\nvar effects = {\n\tlinear: function(t) {\n\t\treturn t;\n\t},\n\n\teaseInQuad: function(t) {\n\t\treturn t * t;\n\t},\n\n\teaseOutQuad: function(t) {\n\t\treturn -t * (t - 2);\n\t},\n\n\teaseInOutQuad: function(t) {\n\t\tif ((t /= 0.5) < 1) {\n\t\t\treturn 0.5 * t * t;\n\t\t}\n\t\treturn -0.5 * ((--t) * (t - 2) - 1);\n\t},\n\n\teaseInCubic: function(t) {\n\t\treturn t * t * t;\n\t},\n\n\teaseOutCubic: function(t) {\n\t\treturn (t = t - 1) * t * t + 1;\n\t},\n\n\teaseInOutCubic: function(t) {\n\t\tif ((t /= 0.5) < 1) {\n\t\t\treturn 0.5 * t * t * t;\n\t\t}\n\t\treturn 0.5 * ((t -= 2) * t * t + 2);\n\t},\n\n\teaseInQuart: function(t) {\n\t\treturn t * t * t * t;\n\t},\n\n\teaseOutQuart: function(t) {\n\t\treturn -((t = t - 1) * t * t * t - 1);\n\t},\n\n\teaseInOutQuart: function(t) {\n\t\tif ((t /= 0.5) < 1) {\n\t\t\treturn 0.5 * t * t * t * t;\n\t\t}\n\t\treturn -0.5 * ((t -= 2) * t * t * t - 2);\n\t},\n\n\teaseInQuint: function(t) {\n\t\treturn t * t * t * t * t;\n\t},\n\n\teaseOutQuint: function(t) {\n\t\treturn (t = t - 1) * t * t * t * t + 1;\n\t},\n\n\teaseInOutQuint: function(t) {\n\t\tif ((t /= 0.5) < 1) {\n\t\t\treturn 0.5 * t * t * t * t * t;\n\t\t}\n\t\treturn 0.5 * ((t -= 2) * t * t * t * t + 2);\n\t},\n\n\teaseInSine: function(t) {\n\t\treturn -Math.cos(t * (Math.PI / 2)) + 1;\n\t},\n\n\teaseOutSine: function(t) {\n\t\treturn Math.sin(t * (Math.PI / 2));\n\t},\n\n\teaseInOutSine: function(t) {\n\t\treturn -0.5 * (Math.cos(Math.PI * t) - 1);\n\t},\n\n\teaseInExpo: function(t) {\n\t\treturn (t === 0) ? 0 : Math.pow(2, 10 * (t - 1));\n\t},\n\n\teaseOutExpo: function(t) {\n\t\treturn (t === 1) ? 1 : -Math.pow(2, -10 * t) + 1;\n\t},\n\n\teaseInOutExpo: function(t) {\n\t\tif (t === 0) {\n\t\t\treturn 0;\n\t\t}\n\t\tif (t === 1) {\n\t\t\treturn 1;\n\t\t}\n\t\tif ((t /= 0.5) < 1) {\n\t\t\treturn 0.5 * Math.pow(2, 10 * (t - 1));\n\t\t}\n\t\treturn 0.5 * (-Math.pow(2, -10 * --t) + 2);\n\t},\n\n\teaseInCirc: function(t) {\n\t\tif (t >= 1) {\n\t\t\treturn t;\n\t\t}\n\t\treturn -(Math.sqrt(1 - t * t) - 1);\n\t},\n\n\teaseOutCirc: function(t) {\n\t\treturn Math.sqrt(1 - (t = t - 1) * t);\n\t},\n\n\teaseInOutCirc: function(t) {\n\t\tif ((t /= 0.5) < 1) {\n\t\t\treturn -0.5 * (Math.sqrt(1 - t * t) - 1);\n\t\t}\n\t\treturn 0.5 * (Math.sqrt(1 - (t -= 2) * t) + 1);\n\t},\n\n\teaseInElastic: function(t) {\n\t\tvar s = 1.70158;\n\t\tvar p = 0;\n\t\tvar a = 1;\n\t\tif (t === 0) {\n\t\t\treturn 0;\n\t\t}\n\t\tif (t === 1) {\n\t\t\treturn 1;\n\t\t}\n\t\tif (!p) {\n\t\t\tp = 0.3;\n\t\t}\n\t\tif (a < 1) {\n\t\t\ta = 1;\n\t\t\ts = p / 4;\n\t\t} else {\n\t\t\ts = p / (2 * Math.PI) * Math.asin(1 / a);\n\t\t}\n\t\treturn -(a * Math.pow(2, 10 * (t -= 1)) * Math.sin((t - s) * (2 * Math.PI) / p));\n\t},\n\n\teaseOutElastic: function(t) {\n\t\tvar s = 1.70158;\n\t\tvar p = 0;\n\t\tvar a = 1;\n\t\tif (t === 0) {\n\t\t\treturn 0;\n\t\t}\n\t\tif (t === 1) {\n\t\t\treturn 1;\n\t\t}\n\t\tif (!p) {\n\t\t\tp = 0.3;\n\t\t}\n\t\tif (a < 1) {\n\t\t\ta = 1;\n\t\t\ts = p / 4;\n\t\t} else {\n\t\t\ts = p / (2 * Math.PI) * Math.asin(1 / a);\n\t\t}\n\t\treturn a * Math.pow(2, -10 * t) * Math.sin((t - s) * (2 * Math.PI) / p) + 1;\n\t},\n\n\teaseInOutElastic: function(t) {\n\t\tvar s = 1.70158;\n\t\tvar p = 0;\n\t\tvar a = 1;\n\t\tif (t === 0) {\n\t\t\treturn 0;\n\t\t}\n\t\tif ((t /= 0.5) === 2) {\n\t\t\treturn 1;\n\t\t}\n\t\tif (!p) {\n\t\t\tp = 0.45;\n\t\t}\n\t\tif (a < 1) {\n\t\t\ta = 1;\n\t\t\ts = p / 4;\n\t\t} else {\n\t\t\ts = p / (2 * Math.PI) * Math.asin(1 / a);\n\t\t}\n\t\tif (t < 1) {\n\t\t\treturn -0.5 * (a * Math.pow(2, 10 * (t -= 1)) * Math.sin((t - s) * (2 * Math.PI) / p));\n\t\t}\n\t\treturn a * Math.pow(2, -10 * (t -= 1)) * Math.sin((t - s) * (2 * Math.PI) / p) * 0.5 + 1;\n\t},\n\teaseInBack: function(t) {\n\t\tvar s = 1.70158;\n\t\treturn t * t * ((s + 1) * t - s);\n\t},\n\n\teaseOutBack: function(t) {\n\t\tvar s = 1.70158;\n\t\treturn (t = t - 1) * t * ((s + 1) * t + s) + 1;\n\t},\n\n\teaseInOutBack: function(t) {\n\t\tvar s = 1.70158;\n\t\tif ((t /= 0.5) < 1) {\n\t\t\treturn 0.5 * (t * t * (((s *= (1.525)) + 1) * t - s));\n\t\t}\n\t\treturn 0.5 * ((t -= 2) * t * (((s *= (1.525)) + 1) * t + s) + 2);\n\t},\n\n\teaseInBounce: function(t) {\n\t\treturn 1 - effects.easeOutBounce(1 - t);\n\t},\n\n\teaseOutBounce: function(t) {\n\t\tif (t < (1 / 2.75)) {\n\t\t\treturn 7.5625 * t * t;\n\t\t}\n\t\tif (t < (2 / 2.75)) {\n\t\t\treturn 7.5625 * (t -= (1.5 / 2.75)) * t + 0.75;\n\t\t}\n\t\tif (t < (2.5 / 2.75)) {\n\t\t\treturn 7.5625 * (t -= (2.25 / 2.75)) * t + 0.9375;\n\t\t}\n\t\treturn 7.5625 * (t -= (2.625 / 2.75)) * t + 0.984375;\n\t},\n\n\teaseInOutBounce: function(t) {\n\t\tif (t < 0.5) {\n\t\t\treturn effects.easeInBounce(t * 2) * 0.5;\n\t\t}\n\t\treturn effects.easeOutBounce(t * 2 - 1) * 0.5 + 0.5;\n\t}\n};\n\nvar helpers_easing = {\n\teffects: effects\n};\n\n// DEPRECATIONS\n\n/**\n * Provided for backward compatibility, use Chart.helpers.easing.effects instead.\n * @function Chart.helpers.easingEffects\n * @deprecated since version 2.7.0\n * @todo remove at version 3\n * @private\n */\nhelpers_core.easingEffects = effects;\n\nvar PI = Math.PI;\nvar RAD_PER_DEG = PI / 180;\nvar DOUBLE_PI = PI * 2;\nvar HALF_PI = PI / 2;\nvar QUARTER_PI = PI / 4;\nvar TWO_THIRDS_PI = PI * 2 / 3;\n\n/**\n * @namespace Chart.helpers.canvas\n */\nvar exports$1 = {\n\t/**\n\t * Clears the entire canvas associated to the given `chart`.\n\t * @param {Chart} chart - The chart for which to clear the canvas.\n\t */\n\tclear: function(chart) {\n\t\tchart.ctx.clearRect(0, 0, chart.width, chart.height);\n\t},\n\n\t/**\n\t * Creates a \"path\" for a rectangle with rounded corners at position (x, y) with a\n\t * given size (width, height) and the same `radius` for all corners.\n\t * @param {CanvasRenderingContext2D} ctx - The canvas 2D Context.\n\t * @param {number} x - The x axis of the coordinate for the rectangle starting point.\n\t * @param {number} y - The y axis of the coordinate for the rectangle starting point.\n\t * @param {number} width - The rectangle's width.\n\t * @param {number} height - The rectangle's height.\n\t * @param {number} radius - The rounded amount (in pixels) for the four corners.\n\t * @todo handle `radius` as top-left, top-right, bottom-right, bottom-left array/object?\n\t */\n\troundedRect: function(ctx, x, y, width, height, radius) {\n\t\tif (radius) {\n\t\t\tvar r = Math.min(radius, height / 2, width / 2);\n\t\t\tvar left = x + r;\n\t\t\tvar top = y + r;\n\t\t\tvar right = x + width - r;\n\t\t\tvar bottom = y + height - r;\n\n\t\t\tctx.moveTo(x, top);\n\t\t\tif (left < right && top < bottom) {\n\t\t\t\tctx.arc(left, top, r, -PI, -HALF_PI);\n\t\t\t\tctx.arc(right, top, r, -HALF_PI, 0);\n\t\t\t\tctx.arc(right, bottom, r, 0, HALF_PI);\n\t\t\t\tctx.arc(left, bottom, r, HALF_PI, PI);\n\t\t\t} else if (left < right) {\n\t\t\t\tctx.moveTo(left, y);\n\t\t\t\tctx.arc(right, top, r, -HALF_PI, HALF_PI);\n\t\t\t\tctx.arc(left, top, r, HALF_PI, PI + HALF_PI);\n\t\t\t} else if (top < bottom) {\n\t\t\t\tctx.arc(left, top, r, -PI, 0);\n\t\t\t\tctx.arc(left, bottom, r, 0, PI);\n\t\t\t} else {\n\t\t\t\tctx.arc(left, top, r, -PI, PI);\n\t\t\t}\n\t\t\tctx.closePath();\n\t\t\tctx.moveTo(x, y);\n\t\t} else {\n\t\t\tctx.rect(x, y, width, height);\n\t\t}\n\t},\n\n\tdrawPoint: function(ctx, style, radius, x, y, rotation) {\n\t\tvar type, xOffset, yOffset, size, cornerRadius;\n\t\tvar rad = (rotation || 0) * RAD_PER_DEG;\n\n\t\tif (style && typeof style === 'object') {\n\t\t\ttype = style.toString();\n\t\t\tif (type === '[object HTMLImageElement]' || type === '[object HTMLCanvasElement]') {\n\t\t\t\tctx.save();\n\t\t\t\tctx.translate(x, y);\n\t\t\t\tctx.rotate(rad);\n\t\t\t\tctx.drawImage(style, -style.width / 2, -style.height / 2, style.width, style.height);\n\t\t\t\tctx.restore();\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tif (isNaN(radius) || radius <= 0) {\n\t\t\treturn;\n\t\t}\n\n\t\tctx.beginPath();\n\n\t\tswitch (style) {\n\t\t// Default includes circle\n\t\tdefault:\n\t\t\tctx.arc(x, y, radius, 0, DOUBLE_PI);\n\t\t\tctx.closePath();\n\t\t\tbreak;\n\t\tcase 'triangle':\n\t\t\tctx.moveTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\n\t\t\trad += TWO_THIRDS_PI;\n\t\t\tctx.lineTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\n\t\t\trad += TWO_THIRDS_PI;\n\t\t\tctx.lineTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\n\t\t\tctx.closePath();\n\t\t\tbreak;\n\t\tcase 'rectRounded':\n\t\t\t// NOTE: the rounded rect implementation changed to use `arc` instead of\n\t\t\t// `quadraticCurveTo` since it generates better results when rect is\n\t\t\t// almost a circle. 0.516 (instead of 0.5) produces results with visually\n\t\t\t// closer proportion to the previous impl and it is inscribed in the\n\t\t\t// circle with `radius`. For more details, see the following PRs:\n\t\t\t// https://github.com/chartjs/Chart.js/issues/5597\n\t\t\t// https://github.com/chartjs/Chart.js/issues/5858\n\t\t\tcornerRadius = radius * 0.516;\n\t\t\tsize = radius - cornerRadius;\n\t\t\txOffset = Math.cos(rad + QUARTER_PI) * size;\n\t\t\tyOffset = Math.sin(rad + QUARTER_PI) * size;\n\t\t\tctx.arc(x - xOffset, y - yOffset, cornerRadius, rad - PI, rad - HALF_PI);\n\t\t\tctx.arc(x + yOffset, y - xOffset, cornerRadius, rad - HALF_PI, rad);\n\t\t\tctx.arc(x + xOffset, y + yOffset, cornerRadius, rad, rad + HALF_PI);\n\t\t\tctx.arc(x - yOffset, y + xOffset, cornerRadius, rad + HALF_PI, rad + PI);\n\t\t\tctx.closePath();\n\t\t\tbreak;\n\t\tcase 'rect':\n\t\t\tif (!rotation) {\n\t\t\t\tsize = Math.SQRT1_2 * radius;\n\t\t\t\tctx.rect(x - size, y - size, 2 * size, 2 * size);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\trad += QUARTER_PI;\n\t\t\t/* falls through */\n\t\tcase 'rectRot':\n\t\t\txOffset = Math.cos(rad) * radius;\n\t\t\tyOffset = Math.sin(rad) * radius;\n\t\t\tctx.moveTo(x - xOffset, y - yOffset);\n\t\t\tctx.lineTo(x + yOffset, y - xOffset);\n\t\t\tctx.lineTo(x + xOffset, y + yOffset);\n\t\t\tctx.lineTo(x - yOffset, y + xOffset);\n\t\t\tctx.closePath();\n\t\t\tbreak;\n\t\tcase 'crossRot':\n\t\t\trad += QUARTER_PI;\n\t\t\t/* falls through */\n\t\tcase 'cross':\n\t\t\txOffset = Math.cos(rad) * radius;\n\t\t\tyOffset = Math.sin(rad) * radius;\n\t\t\tctx.moveTo(x - xOffset, y - yOffset);\n\t\t\tctx.lineTo(x + xOffset, y + yOffset);\n\t\t\tctx.moveTo(x + yOffset, y - xOffset);\n\t\t\tctx.lineTo(x - yOffset, y + xOffset);\n\t\t\tbreak;\n\t\tcase 'star':\n\t\t\txOffset = Math.cos(rad) * radius;\n\t\t\tyOffset = Math.sin(rad) * radius;\n\t\t\tctx.moveTo(x - xOffset, y - yOffset);\n\t\t\tctx.lineTo(x + xOffset, y + yOffset);\n\t\t\tctx.moveTo(x + yOffset, y - xOffset);\n\t\t\tctx.lineTo(x - yOffset, y + xOffset);\n\t\t\trad += QUARTER_PI;\n\t\t\txOffset = Math.cos(rad) * radius;\n\t\t\tyOffset = Math.sin(rad) * radius;\n\t\t\tctx.moveTo(x - xOffset, y - yOffset);\n\t\t\tctx.lineTo(x + xOffset, y + yOffset);\n\t\t\tctx.moveTo(x + yOffset, y - xOffset);\n\t\t\tctx.lineTo(x - yOffset, y + xOffset);\n\t\t\tbreak;\n\t\tcase 'line':\n\t\t\txOffset = Math.cos(rad) * radius;\n\t\t\tyOffset = Math.sin(rad) * radius;\n\t\t\tctx.moveTo(x - xOffset, y - yOffset);\n\t\t\tctx.lineTo(x + xOffset, y + yOffset);\n\t\t\tbreak;\n\t\tcase 'dash':\n\t\t\tctx.moveTo(x, y);\n\t\t\tctx.lineTo(x + Math.cos(rad) * radius, y + Math.sin(rad) * radius);\n\t\t\tbreak;\n\t\t}\n\n\t\tctx.fill();\n\t\tctx.stroke();\n\t},\n\n\t/**\n\t * Returns true if the point is inside the rectangle\n\t * @param {object} point - The point to test\n\t * @param {object} area - The rectangle\n\t * @returns {boolean}\n\t * @private\n\t */\n\t_isPointInArea: function(point, area) {\n\t\tvar epsilon = 1e-6; // 1e-6 is margin in pixels for accumulated error.\n\n\t\treturn point.x > area.left - epsilon && point.x < area.right + epsilon &&\n\t\t\tpoint.y > area.top - epsilon && point.y < area.bottom + epsilon;\n\t},\n\n\tclipArea: function(ctx, area) {\n\t\tctx.save();\n\t\tctx.beginPath();\n\t\tctx.rect(area.left, area.top, area.right - area.left, area.bottom - area.top);\n\t\tctx.clip();\n\t},\n\n\tunclipArea: function(ctx) {\n\t\tctx.restore();\n\t},\n\n\tlineTo: function(ctx, previous, target, flip) {\n\t\tvar stepped = target.steppedLine;\n\t\tif (stepped) {\n\t\t\tif (stepped === 'middle') {\n\t\t\t\tvar midpoint = (previous.x + target.x) / 2.0;\n\t\t\t\tctx.lineTo(midpoint, flip ? target.y : previous.y);\n\t\t\t\tctx.lineTo(midpoint, flip ? previous.y : target.y);\n\t\t\t} else if ((stepped === 'after' && !flip) || (stepped !== 'after' && flip)) {\n\t\t\t\tctx.lineTo(previous.x, target.y);\n\t\t\t} else {\n\t\t\t\tctx.lineTo(target.x, previous.y);\n\t\t\t}\n\t\t\tctx.lineTo(target.x, target.y);\n\t\t\treturn;\n\t\t}\n\n\t\tif (!target.tension) {\n\t\t\tctx.lineTo(target.x, target.y);\n\t\t\treturn;\n\t\t}\n\n\t\tctx.bezierCurveTo(\n\t\t\tflip ? previous.controlPointPreviousX : previous.controlPointNextX,\n\t\t\tflip ? previous.controlPointPreviousY : previous.controlPointNextY,\n\t\t\tflip ? target.controlPointNextX : target.controlPointPreviousX,\n\t\t\tflip ? target.controlPointNextY : target.controlPointPreviousY,\n\t\t\ttarget.x,\n\t\t\ttarget.y);\n\t}\n};\n\nvar helpers_canvas = exports$1;\n\n// DEPRECATIONS\n\n/**\n * Provided for backward compatibility, use Chart.helpers.canvas.clear instead.\n * @namespace Chart.helpers.clear\n * @deprecated since version 2.7.0\n * @todo remove at version 3\n * @private\n */\nhelpers_core.clear = exports$1.clear;\n\n/**\n * Provided for backward compatibility, use Chart.helpers.canvas.roundedRect instead.\n * @namespace Chart.helpers.drawRoundedRectangle\n * @deprecated since version 2.7.0\n * @todo remove at version 3\n * @private\n */\nhelpers_core.drawRoundedRectangle = function(ctx) {\n\tctx.beginPath();\n\texports$1.roundedRect.apply(exports$1, arguments);\n};\n\nvar defaults = {\n\t/**\n\t * @private\n\t */\n\t_set: function(scope, values) {\n\t\treturn helpers_core.merge(this[scope] || (this[scope] = {}), values);\n\t}\n};\n\n// TODO(v3): remove 'global' from namespace. all default are global and\n// there's inconsistency around which options are under 'global'\ndefaults._set('global', {\n\tdefaultColor: 'rgba(0,0,0,0.1)',\n\tdefaultFontColor: '#666',\n\tdefaultFontFamily: \"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif\",\n\tdefaultFontSize: 12,\n\tdefaultFontStyle: 'normal',\n\tdefaultLineHeight: 1.2,\n\tshowLines: true\n});\n\nvar core_defaults = defaults;\n\nvar valueOrDefault = helpers_core.valueOrDefault;\n\n/**\n * Converts the given font object into a CSS font string.\n * @param {object} font - A font object.\n * @return {string} The CSS font string. See https://developer.mozilla.org/en-US/docs/Web/CSS/font\n * @private\n */\nfunction toFontString(font) {\n\tif (!font || helpers_core.isNullOrUndef(font.size) || helpers_core.isNullOrUndef(font.family)) {\n\t\treturn null;\n\t}\n\n\treturn (font.style ? font.style + ' ' : '')\n\t\t+ (font.weight ? font.weight + ' ' : '')\n\t\t+ font.size + 'px '\n\t\t+ font.family;\n}\n\n/**\n * @alias Chart.helpers.options\n * @namespace\n */\nvar helpers_options = {\n\t/**\n\t * Converts the given line height `value` in pixels for a specific font `size`.\n\t * @param {number|string} value - The lineHeight to parse (eg. 1.6, '14px', '75%', '1.6em').\n\t * @param {number} size - The font size (in pixels) used to resolve relative `value`.\n\t * @returns {number} The effective line height in pixels (size * 1.2 if value is invalid).\n\t * @see https://developer.mozilla.org/en-US/docs/Web/CSS/line-height\n\t * @since 2.7.0\n\t */\n\ttoLineHeight: function(value, size) {\n\t\tvar matches = ('' + value).match(/^(normal|(\\d+(?:\\.\\d+)?)(px|em|%)?)$/);\n\t\tif (!matches || matches[1] === 'normal') {\n\t\t\treturn size * 1.2;\n\t\t}\n\n\t\tvalue = +matches[2];\n\n\t\tswitch (matches[3]) {\n\t\tcase 'px':\n\t\t\treturn value;\n\t\tcase '%':\n\t\t\tvalue /= 100;\n\t\t\tbreak;\n\t\t}\n\n\t\treturn size * value;\n\t},\n\n\t/**\n\t * Converts the given value into a padding object with pre-computed width/height.\n\t * @param {number|object} value - If a number, set the value to all TRBL component,\n\t * else, if and object, use defined properties and sets undefined ones to 0.\n\t * @returns {object} The padding values (top, right, bottom, left, width, height)\n\t * @since 2.7.0\n\t */\n\ttoPadding: function(value) {\n\t\tvar t, r, b, l;\n\n\t\tif (helpers_core.isObject(value)) {\n\t\t\tt = +value.top || 0;\n\t\t\tr = +value.right || 0;\n\t\t\tb = +value.bottom || 0;\n\t\t\tl = +value.left || 0;\n\t\t} else {\n\t\t\tt = r = b = l = +value || 0;\n\t\t}\n\n\t\treturn {\n\t\t\ttop: t,\n\t\t\tright: r,\n\t\t\tbottom: b,\n\t\t\tleft: l,\n\t\t\theight: t + b,\n\t\t\twidth: l + r\n\t\t};\n\t},\n\n\t/**\n\t * Parses font options and returns the font object.\n\t * @param {object} options - A object that contains font options to be parsed.\n\t * @return {object} The font object.\n\t * @todo Support font.* options and renamed to toFont().\n\t * @private\n\t */\n\t_parseFont: function(options) {\n\t\tvar globalDefaults = core_defaults.global;\n\t\tvar size = valueOrDefault(options.fontSize, globalDefaults.defaultFontSize);\n\t\tvar font = {\n\t\t\tfamily: valueOrDefault(options.fontFamily, globalDefaults.defaultFontFamily),\n\t\t\tlineHeight: helpers_core.options.toLineHeight(valueOrDefault(options.lineHeight, globalDefaults.defaultLineHeight), size),\n\t\t\tsize: size,\n\t\t\tstyle: valueOrDefault(options.fontStyle, globalDefaults.defaultFontStyle),\n\t\t\tweight: null,\n\t\t\tstring: ''\n\t\t};\n\n\t\tfont.string = toFontString(font);\n\t\treturn font;\n\t},\n\n\t/**\n\t * Evaluates the given `inputs` sequentially and returns the first defined value.\n\t * @param {Array} inputs - An array of values, falling back to the last value.\n\t * @param {object} [context] - If defined and the current value is a function, the value\n\t * is called with `context` as first argument and the result becomes the new input.\n\t * @param {number} [index] - If defined and the current value is an array, the value\n\t * at `index` become the new input.\n\t * @param {object} [info] - object to return information about resolution in\n\t * @param {boolean} [info.cacheable] - Will be set to `false` if option is not cacheable.\n\t * @since 2.7.0\n\t */\n\tresolve: function(inputs, context, index, info) {\n\t\tvar cacheable = true;\n\t\tvar i, ilen, value;\n\n\t\tfor (i = 0, ilen = inputs.length; i < ilen; ++i) {\n\t\t\tvalue = inputs[i];\n\t\t\tif (value === undefined) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (context !== undefined && typeof value === 'function') {\n\t\t\t\tvalue = value(context);\n\t\t\t\tcacheable = false;\n\t\t\t}\n\t\t\tif (index !== undefined && helpers_core.isArray(value)) {\n\t\t\t\tvalue = value[index];\n\t\t\t\tcacheable = false;\n\t\t\t}\n\t\t\tif (value !== undefined) {\n\t\t\t\tif (info && !cacheable) {\n\t\t\t\t\tinfo.cacheable = false;\n\t\t\t\t}\n\t\t\t\treturn value;\n\t\t\t}\n\t\t}\n\t}\n};\n\n/**\n * @alias Chart.helpers.math\n * @namespace\n */\nvar exports$2 = {\n\t/**\n\t * Returns an array of factors sorted from 1 to sqrt(value)\n\t * @private\n\t */\n\t_factorize: function(value) {\n\t\tvar result = [];\n\t\tvar sqrt = Math.sqrt(value);\n\t\tvar i;\n\n\t\tfor (i = 1; i < sqrt; i++) {\n\t\t\tif (value % i === 0) {\n\t\t\t\tresult.push(i);\n\t\t\t\tresult.push(value / i);\n\t\t\t}\n\t\t}\n\t\tif (sqrt === (sqrt | 0)) { // if value is a square number\n\t\t\tresult.push(sqrt);\n\t\t}\n\n\t\tresult.sort(function(a, b) {\n\t\t\treturn a - b;\n\t\t}).pop();\n\t\treturn result;\n\t},\n\n\tlog10: Math.log10 || function(x) {\n\t\tvar exponent = Math.log(x) * Math.LOG10E; // Math.LOG10E = 1 / Math.LN10.\n\t\t// Check for whole powers of 10,\n\t\t// which due to floating point rounding error should be corrected.\n\t\tvar powerOf10 = Math.round(exponent);\n\t\tvar isPowerOf10 = x === Math.pow(10, powerOf10);\n\n\t\treturn isPowerOf10 ? powerOf10 : exponent;\n\t}\n};\n\nvar helpers_math = exports$2;\n\n// DEPRECATIONS\n\n/**\n * Provided for backward compatibility, use Chart.helpers.math.log10 instead.\n * @namespace Chart.helpers.log10\n * @deprecated since version 2.9.0\n * @todo remove at version 3\n * @private\n */\nhelpers_core.log10 = exports$2.log10;\n\nvar getRtlAdapter = function(rectX, width) {\n\treturn {\n\t\tx: function(x) {\n\t\t\treturn rectX + rectX + width - x;\n\t\t},\n\t\tsetWidth: function(w) {\n\t\t\twidth = w;\n\t\t},\n\t\ttextAlign: function(align) {\n\t\t\tif (align === 'center') {\n\t\t\t\treturn align;\n\t\t\t}\n\t\t\treturn align === 'right' ? 'left' : 'right';\n\t\t},\n\t\txPlus: function(x, value) {\n\t\t\treturn x - value;\n\t\t},\n\t\tleftForLtr: function(x, itemWidth) {\n\t\t\treturn x - itemWidth;\n\t\t},\n\t};\n};\n\nvar getLtrAdapter = function() {\n\treturn {\n\t\tx: function(x) {\n\t\t\treturn x;\n\t\t},\n\t\tsetWidth: function(w) { // eslint-disable-line no-unused-vars\n\t\t},\n\t\ttextAlign: function(align) {\n\t\t\treturn align;\n\t\t},\n\t\txPlus: function(x, value) {\n\t\t\treturn x + value;\n\t\t},\n\t\tleftForLtr: function(x, _itemWidth) { // eslint-disable-line no-unused-vars\n\t\t\treturn x;\n\t\t},\n\t};\n};\n\nvar getAdapter = function(rtl, rectX, width) {\n\treturn rtl ? getRtlAdapter(rectX, width) : getLtrAdapter();\n};\n\nvar overrideTextDirection = function(ctx, direction) {\n\tvar style, original;\n\tif (direction === 'ltr' || direction === 'rtl') {\n\t\tstyle = ctx.canvas.style;\n\t\toriginal = [\n\t\t\tstyle.getPropertyValue('direction'),\n\t\t\tstyle.getPropertyPriority('direction'),\n\t\t];\n\n\t\tstyle.setProperty('direction', direction, 'important');\n\t\tctx.prevTextDirection = original;\n\t}\n};\n\nvar restoreTextDirection = function(ctx) {\n\tvar original = ctx.prevTextDirection;\n\tif (original !== undefined) {\n\t\tdelete ctx.prevTextDirection;\n\t\tctx.canvas.style.setProperty('direction', original[0], original[1]);\n\t}\n};\n\nvar helpers_rtl = {\n\tgetRtlAdapter: getAdapter,\n\toverrideTextDirection: overrideTextDirection,\n\trestoreTextDirection: restoreTextDirection,\n};\n\nvar helpers$1 = helpers_core;\nvar easing = helpers_easing;\nvar canvas = helpers_canvas;\nvar options = helpers_options;\nvar math = helpers_math;\nvar rtl = helpers_rtl;\nhelpers$1.easing = easing;\nhelpers$1.canvas = canvas;\nhelpers$1.options = options;\nhelpers$1.math = math;\nhelpers$1.rtl = rtl;\n\nfunction interpolate(start, view, model, ease) {\n\tvar keys = Object.keys(model);\n\tvar i, ilen, key, actual, origin, target, type, c0, c1;\n\n\tfor (i = 0, ilen = keys.length; i < ilen; ++i) {\n\t\tkey = keys[i];\n\n\t\ttarget = model[key];\n\n\t\t// if a value is added to the model after pivot() has been called, the view\n\t\t// doesn't contain it, so let's initialize the view to the target value.\n\t\tif (!view.hasOwnProperty(key)) {\n\t\t\tview[key] = target;\n\t\t}\n\n\t\tactual = view[key];\n\n\t\tif (actual === target || key[0] === '_') {\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (!start.hasOwnProperty(key)) {\n\t\t\tstart[key] = actual;\n\t\t}\n\n\t\torigin = start[key];\n\n\t\ttype = typeof target;\n\n\t\tif (type === typeof origin) {\n\t\t\tif (type === 'string') {\n\t\t\t\tc0 = chartjsColor(origin);\n\t\t\t\tif (c0.valid) {\n\t\t\t\t\tc1 = chartjsColor(target);\n\t\t\t\t\tif (c1.valid) {\n\t\t\t\t\t\tview[key] = c1.mix(c0, ease).rgbString();\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (helpers$1.isFinite(origin) && helpers$1.isFinite(target)) {\n\t\t\t\tview[key] = origin + (target - origin) * ease;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t}\n\n\t\tview[key] = target;\n\t}\n}\n\nvar Element = function(configuration) {\n\thelpers$1.extend(this, configuration);\n\tthis.initialize.apply(this, arguments);\n};\n\nhelpers$1.extend(Element.prototype, {\n\t_type: undefined,\n\n\tinitialize: function() {\n\t\tthis.hidden = false;\n\t},\n\n\tpivot: function() {\n\t\tvar me = this;\n\t\tif (!me._view) {\n\t\t\tme._view = helpers$1.extend({}, me._model);\n\t\t}\n\t\tme._start = {};\n\t\treturn me;\n\t},\n\n\ttransition: function(ease) {\n\t\tvar me = this;\n\t\tvar model = me._model;\n\t\tvar start = me._start;\n\t\tvar view = me._view;\n\n\t\t// No animation -> No Transition\n\t\tif (!model || ease === 1) {\n\t\t\tme._view = helpers$1.extend({}, model);\n\t\t\tme._start = null;\n\t\t\treturn me;\n\t\t}\n\n\t\tif (!view) {\n\t\t\tview = me._view = {};\n\t\t}\n\n\t\tif (!start) {\n\t\t\tstart = me._start = {};\n\t\t}\n\n\t\tinterpolate(start, view, model, ease);\n\n\t\treturn me;\n\t},\n\n\ttooltipPosition: function() {\n\t\treturn {\n\t\t\tx: this._model.x,\n\t\t\ty: this._model.y\n\t\t};\n\t},\n\n\thasValue: function() {\n\t\treturn helpers$1.isNumber(this._model.x) && helpers$1.isNumber(this._model.y);\n\t}\n});\n\nElement.extend = helpers$1.inherits;\n\nvar core_element = Element;\n\nvar exports$3 = core_element.extend({\n\tchart: null, // the animation associated chart instance\n\tcurrentStep: 0, // the current animation step\n\tnumSteps: 60, // default number of steps\n\teasing: '', // the easing to use for this animation\n\trender: null, // render function used by the animation service\n\n\tonAnimationProgress: null, // user specified callback to fire on each step of the animation\n\tonAnimationComplete: null, // user specified callback to fire when the animation finishes\n});\n\nvar core_animation = exports$3;\n\n// DEPRECATIONS\n\n/**\n * Provided for backward compatibility, use Chart.Animation instead\n * @prop Chart.Animation#animationObject\n * @deprecated since version 2.6.0\n * @todo remove at version 3\n */\nObject.defineProperty(exports$3.prototype, 'animationObject', {\n\tget: function() {\n\t\treturn this;\n\t}\n});\n\n/**\n * Provided for backward compatibility, use Chart.Animation#chart instead\n * @prop Chart.Animation#chartInstance\n * @deprecated since version 2.6.0\n * @todo remove at version 3\n */\nObject.defineProperty(exports$3.prototype, 'chartInstance', {\n\tget: function() {\n\t\treturn this.chart;\n\t},\n\tset: function(value) {\n\t\tthis.chart = value;\n\t}\n});\n\ncore_defaults._set('global', {\n\tanimation: {\n\t\tduration: 1000,\n\t\teasing: 'easeOutQuart',\n\t\tonProgress: helpers$1.noop,\n\t\tonComplete: helpers$1.noop\n\t}\n});\n\nvar core_animations = {\n\tanimations: [],\n\trequest: null,\n\n\t/**\n\t * @param {Chart} chart - The chart to animate.\n\t * @param {Chart.Animation} animation - The animation that we will animate.\n\t * @param {number} duration - The animation duration in ms.\n\t * @param {boolean} lazy - if true, the chart is not marked as animating to enable more responsive interactions\n\t */\n\taddAnimation: function(chart, animation, duration, lazy) {\n\t\tvar animations = this.animations;\n\t\tvar i, ilen;\n\n\t\tanimation.chart = chart;\n\t\tanimation.startTime = Date.now();\n\t\tanimation.duration = duration;\n\n\t\tif (!lazy) {\n\t\t\tchart.animating = true;\n\t\t}\n\n\t\tfor (i = 0, ilen = animations.length; i < ilen; ++i) {\n\t\t\tif (animations[i].chart === chart) {\n\t\t\t\tanimations[i] = animation;\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tanimations.push(animation);\n\n\t\t// If there are no animations queued, manually kickstart a digest, for lack of a better word\n\t\tif (animations.length === 1) {\n\t\t\tthis.requestAnimationFrame();\n\t\t}\n\t},\n\n\tcancelAnimation: function(chart) {\n\t\tvar index = helpers$1.findIndex(this.animations, function(animation) {\n\t\t\treturn animation.chart === chart;\n\t\t});\n\n\t\tif (index !== -1) {\n\t\t\tthis.animations.splice(index, 1);\n\t\t\tchart.animating = false;\n\t\t}\n\t},\n\n\trequestAnimationFrame: function() {\n\t\tvar me = this;\n\t\tif (me.request === null) {\n\t\t\t// Skip animation frame requests until the active one is executed.\n\t\t\t// This can happen when processing mouse events, e.g. 'mousemove'\n\t\t\t// and 'mouseout' events will trigger multiple renders.\n\t\t\tme.request = helpers$1.requestAnimFrame.call(window, function() {\n\t\t\t\tme.request = null;\n\t\t\t\tme.startDigest();\n\t\t\t});\n\t\t}\n\t},\n\n\t/**\n\t * @private\n\t */\n\tstartDigest: function() {\n\t\tvar me = this;\n\n\t\tme.advance();\n\n\t\t// Do we have more stuff to animate?\n\t\tif (me.animations.length > 0) {\n\t\t\tme.requestAnimationFrame();\n\t\t}\n\t},\n\n\t/**\n\t * @private\n\t */\n\tadvance: function() {\n\t\tvar animations = this.animations;\n\t\tvar animation, chart, numSteps, nextStep;\n\t\tvar i = 0;\n\n\t\t// 1 animation per chart, so we are looping charts here\n\t\twhile (i < animations.length) {\n\t\t\tanimation = animations[i];\n\t\t\tchart = animation.chart;\n\t\t\tnumSteps = animation.numSteps;\n\n\t\t\t// Make sure that currentStep starts at 1\n\t\t\t// https://github.com/chartjs/Chart.js/issues/6104\n\t\t\tnextStep = Math.floor((Date.now() - animation.startTime) / animation.duration * numSteps) + 1;\n\t\t\tanimation.currentStep = Math.min(nextStep, numSteps);\n\n\t\t\thelpers$1.callback(animation.render, [chart, animation], chart);\n\t\t\thelpers$1.callback(animation.onAnimationProgress, [animation], chart);\n\n\t\t\tif (animation.currentStep >= numSteps) {\n\t\t\t\thelpers$1.callback(animation.onAnimationComplete, [animation], chart);\n\t\t\t\tchart.animating = false;\n\t\t\t\tanimations.splice(i, 1);\n\t\t\t} else {\n\t\t\t\t++i;\n\t\t\t}\n\t\t}\n\t}\n};\n\nvar resolve = helpers$1.options.resolve;\n\nvar arrayEvents = ['push', 'pop', 'shift', 'splice', 'unshift'];\n\n/**\n * Hooks the array methods that add or remove values ('push', pop', 'shift', 'splice',\n * 'unshift') and notify the listener AFTER the array has been altered. Listeners are\n * called on the 'onData*' callbacks (e.g. onDataPush, etc.) with same arguments.\n */\nfunction listenArrayEvents(array, listener) {\n\tif (array._chartjs) {\n\t\tarray._chartjs.listeners.push(listener);\n\t\treturn;\n\t}\n\n\tObject.defineProperty(array, '_chartjs', {\n\t\tconfigurable: true,\n\t\tenumerable: false,\n\t\tvalue: {\n\t\t\tlisteners: [listener]\n\t\t}\n\t});\n\n\tarrayEvents.forEach(function(key) {\n\t\tvar method = 'onData' + key.charAt(0).toUpperCase() + key.slice(1);\n\t\tvar base = array[key];\n\n\t\tObject.defineProperty(array, key, {\n\t\t\tconfigurable: true,\n\t\t\tenumerable: false,\n\t\t\tvalue: function() {\n\t\t\t\tvar args = Array.prototype.slice.call(arguments);\n\t\t\t\tvar res = base.apply(this, args);\n\n\t\t\t\thelpers$1.each(array._chartjs.listeners, function(object) {\n\t\t\t\t\tif (typeof object[method] === 'function') {\n\t\t\t\t\t\tobject[method].apply(object, args);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\treturn res;\n\t\t\t}\n\t\t});\n\t});\n}\n\n/**\n * Removes the given array event listener and cleanup extra attached properties (such as\n * the _chartjs stub and overridden methods) if array doesn't have any more listeners.\n */\nfunction unlistenArrayEvents(array, listener) {\n\tvar stub = array._chartjs;\n\tif (!stub) {\n\t\treturn;\n\t}\n\n\tvar listeners = stub.listeners;\n\tvar index = listeners.indexOf(listener);\n\tif (index !== -1) {\n\t\tlisteners.splice(index, 1);\n\t}\n\n\tif (listeners.length > 0) {\n\t\treturn;\n\t}\n\n\tarrayEvents.forEach(function(key) {\n\t\tdelete array[key];\n\t});\n\n\tdelete array._chartjs;\n}\n\n// Base class for all dataset controllers (line, bar, etc)\nvar DatasetController = function(chart, datasetIndex) {\n\tthis.initialize(chart, datasetIndex);\n};\n\nhelpers$1.extend(DatasetController.prototype, {\n\n\t/**\n\t * Element type used to generate a meta dataset (e.g. Chart.element.Line).\n\t * @type {Chart.core.element}\n\t */\n\tdatasetElementType: null,\n\n\t/**\n\t * Element type used to generate a meta data (e.g. Chart.element.Point).\n\t * @type {Chart.core.element}\n\t */\n\tdataElementType: null,\n\n\t/**\n\t * Dataset element option keys to be resolved in _resolveDatasetElementOptions.\n\t * A derived controller may override this to resolve controller-specific options.\n\t * The keys defined here are for backward compatibility for legend styles.\n\t * @private\n\t */\n\t_datasetElementOptions: [\n\t\t'backgroundColor',\n\t\t'borderCapStyle',\n\t\t'borderColor',\n\t\t'borderDash',\n\t\t'borderDashOffset',\n\t\t'borderJoinStyle',\n\t\t'borderWidth'\n\t],\n\n\t/**\n\t * Data element option keys to be resolved in _resolveDataElementOptions.\n\t * A derived controller may override this to resolve controller-specific options.\n\t * The keys defined here are for backward compatibility for legend styles.\n\t * @private\n\t */\n\t_dataElementOptions: [\n\t\t'backgroundColor',\n\t\t'borderColor',\n\t\t'borderWidth',\n\t\t'pointStyle'\n\t],\n\n\tinitialize: function(chart, datasetIndex) {\n\t\tvar me = this;\n\t\tme.chart = chart;\n\t\tme.index = datasetIndex;\n\t\tme.linkScales();\n\t\tme.addElements();\n\t\tme._type = me.getMeta().type;\n\t},\n\n\tupdateIndex: function(datasetIndex) {\n\t\tthis.index = datasetIndex;\n\t},\n\n\tlinkScales: function() {\n\t\tvar me = this;\n\t\tvar meta = me.getMeta();\n\t\tvar chart = me.chart;\n\t\tvar scales = chart.scales;\n\t\tvar dataset = me.getDataset();\n\t\tvar scalesOpts = chart.options.scales;\n\n\t\tif (meta.xAxisID === null || !(meta.xAxisID in scales) || dataset.xAxisID) {\n\t\t\tmeta.xAxisID = dataset.xAxisID || scalesOpts.xAxes[0].id;\n\t\t}\n\t\tif (meta.yAxisID === null || !(meta.yAxisID in scales) || dataset.yAxisID) {\n\t\t\tmeta.yAxisID = dataset.yAxisID || scalesOpts.yAxes[0].id;\n\t\t}\n\t},\n\n\tgetDataset: function() {\n\t\treturn this.chart.data.datasets[this.index];\n\t},\n\n\tgetMeta: function() {\n\t\treturn this.chart.getDatasetMeta(this.index);\n\t},\n\n\tgetScaleForId: function(scaleID) {\n\t\treturn this.chart.scales[scaleID];\n\t},\n\n\t/**\n\t * @private\n\t */\n\t_getValueScaleId: function() {\n\t\treturn this.getMeta().yAxisID;\n\t},\n\n\t/**\n\t * @private\n\t */\n\t_getIndexScaleId: function() {\n\t\treturn this.getMeta().xAxisID;\n\t},\n\n\t/**\n\t * @private\n\t */\n\t_getValueScale: function() {\n\t\treturn this.getScaleForId(this._getValueScaleId());\n\t},\n\n\t/**\n\t * @private\n\t */\n\t_getIndexScale: function() {\n\t\treturn this.getScaleForId(this._getIndexScaleId());\n\t},\n\n\treset: function() {\n\t\tthis._update(true);\n\t},\n\n\t/**\n\t * @private\n\t */\n\tdestroy: function() {\n\t\tif (this._data) {\n\t\t\tunlistenArrayEvents(this._data, this);\n\t\t}\n\t},\n\n\tcreateMetaDataset: function() {\n\t\tvar me = this;\n\t\tvar type = me.datasetElementType;\n\t\treturn type && new type({\n\t\t\t_chart: me.chart,\n\t\t\t_datasetIndex: me.index\n\t\t});\n\t},\n\n\tcreateMetaData: function(index) {\n\t\tvar me = this;\n\t\tvar type = me.dataElementType;\n\t\treturn type && new type({\n\t\t\t_chart: me.chart,\n\t\t\t_datasetIndex: me.index,\n\t\t\t_index: index\n\t\t});\n\t},\n\n\taddElements: function() {\n\t\tvar me = this;\n\t\tvar meta = me.getMeta();\n\t\tvar data = me.getDataset().data || [];\n\t\tvar metaData = meta.data;\n\t\tvar i, ilen;\n\n\t\tfor (i = 0, ilen = data.length; i < ilen; ++i) {\n\t\t\tmetaData[i] = metaData[i] || me.createMetaData(i);\n\t\t}\n\n\t\tmeta.dataset = meta.dataset || me.createMetaDataset();\n\t},\n\n\taddElementAndReset: function(index) {\n\t\tvar element = this.createMetaData(index);\n\t\tthis.getMeta().data.splice(index, 0, element);\n\t\tthis.updateElement(element, index, true);\n\t},\n\n\tbuildOrUpdateElements: function() {\n\t\tvar me = this;\n\t\tvar dataset = me.getDataset();\n\t\tvar data = dataset.data || (dataset.data = []);\n\n\t\t// In order to correctly handle data addition/deletion animation (an thus simulate\n\t\t// real-time charts), we need to monitor these data modifications and synchronize\n\t\t// the internal meta data accordingly.\n\t\tif (me._data !== data) {\n\t\t\tif (me._data) {\n\t\t\t\t// This case happens when the user replaced the data array instance.\n\t\t\t\tunlistenArrayEvents(me._data, me);\n\t\t\t}\n\n\t\t\tif (data && Object.isExtensible(data)) {\n\t\t\t\tlistenArrayEvents(data, me);\n\t\t\t}\n\t\t\tme._data = data;\n\t\t}\n\n\t\t// Re-sync meta data in case the user replaced the data array or if we missed\n\t\t// any updates and so make sure that we handle number of datapoints changing.\n\t\tme.resyncElements();\n\t},\n\n\t/**\n\t * Returns the merged user-supplied and default dataset-level options\n\t * @private\n\t */\n\t_configure: function() {\n\t\tvar me = this;\n\t\tme._config = helpers$1.merge({}, [\n\t\t\tme.chart.options.datasets[me._type],\n\t\t\tme.getDataset(),\n\t\t], {\n\t\t\tmerger: function(key, target, source) {\n\t\t\t\tif (key !== '_meta' && key !== 'data') {\n\t\t\t\t\thelpers$1._merger(key, target, source);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t},\n\n\t_update: function(reset) {\n\t\tvar me = this;\n\t\tme._configure();\n\t\tme._cachedDataOpts = null;\n\t\tme.update(reset);\n\t},\n\n\tupdate: helpers$1.noop,\n\n\ttransition: function(easingValue) {\n\t\tvar meta = this.getMeta();\n\t\tvar elements = meta.data || [];\n\t\tvar ilen = elements.length;\n\t\tvar i = 0;\n\n\t\tfor (; i < ilen; ++i) {\n\t\t\telements[i].transition(easingValue);\n\t\t}\n\n\t\tif (meta.dataset) {\n\t\t\tmeta.dataset.transition(easingValue);\n\t\t}\n\t},\n\n\tdraw: function() {\n\t\tvar meta = this.getMeta();\n\t\tvar elements = meta.data || [];\n\t\tvar ilen = elements.length;\n\t\tvar i = 0;\n\n\t\tif (meta.dataset) {\n\t\t\tmeta.dataset.draw();\n\t\t}\n\n\t\tfor (; i < ilen; ++i) {\n\t\t\telements[i].draw();\n\t\t}\n\t},\n\n\t/**\n\t * Returns a set of predefined style properties that should be used to represent the dataset\n\t * or the data if the index is specified\n\t * @param {number} index - data index\n\t * @return {IStyleInterface} style object\n\t */\n\tgetStyle: function(index) {\n\t\tvar me = this;\n\t\tvar meta = me.getMeta();\n\t\tvar dataset = meta.dataset;\n\t\tvar style;\n\n\t\tme._configure();\n\t\tif (dataset && index === undefined) {\n\t\t\tstyle = me._resolveDatasetElementOptions(dataset || {});\n\t\t} else {\n\t\t\tindex = index || 0;\n\t\t\tstyle = me._resolveDataElementOptions(meta.data[index] || {}, index);\n\t\t}\n\n\t\tif (style.fill === false || style.fill === null) {\n\t\t\tstyle.backgroundColor = style.borderColor;\n\t\t}\n\n\t\treturn style;\n\t},\n\n\t/**\n\t * @private\n\t */\n\t_resolveDatasetElementOptions: function(element, hover) {\n\t\tvar me = this;\n\t\tvar chart = me.chart;\n\t\tvar datasetOpts = me._config;\n\t\tvar custom = element.custom || {};\n\t\tvar options = chart.options.elements[me.datasetElementType.prototype._type] || {};\n\t\tvar elementOptions = me._datasetElementOptions;\n\t\tvar values = {};\n\t\tvar i, ilen, key, readKey;\n\n\t\t// Scriptable options\n\t\tvar context = {\n\t\t\tchart: chart,\n\t\t\tdataset: me.getDataset(),\n\t\t\tdatasetIndex: me.index,\n\t\t\thover: hover\n\t\t};\n\n\t\tfor (i = 0, ilen = elementOptions.length; i < ilen; ++i) {\n\t\t\tkey = elementOptions[i];\n\t\t\treadKey = hover ? 'hover' + key.charAt(0).toUpperCase() + key.slice(1) : key;\n\t\t\tvalues[key] = resolve([\n\t\t\t\tcustom[readKey],\n\t\t\t\tdatasetOpts[readKey],\n\t\t\t\toptions[readKey]\n\t\t\t], context);\n\t\t}\n\n\t\treturn values;\n\t},\n\n\t/**\n\t * @private\n\t */\n\t_resolveDataElementOptions: function(element, index) {\n\t\tvar me = this;\n\t\tvar custom = element && element.custom;\n\t\tvar cached = me._cachedDataOpts;\n\t\tif (cached && !custom) {\n\t\t\treturn cached;\n\t\t}\n\t\tvar chart = me.chart;\n\t\tvar datasetOpts = me._config;\n\t\tvar options = chart.options.elements[me.dataElementType.prototype._type] || {};\n\t\tvar elementOptions = me._dataElementOptions;\n\t\tvar values = {};\n\n\t\t// Scriptable options\n\t\tvar context = {\n\t\t\tchart: chart,\n\t\t\tdataIndex: index,\n\t\t\tdataset: me.getDataset(),\n\t\t\tdatasetIndex: me.index\n\t\t};\n\n\t\t// `resolve` sets cacheable to `false` if any option is indexed or scripted\n\t\tvar info = {cacheable: !custom};\n\n\t\tvar keys, i, ilen, key;\n\n\t\tcustom = custom || {};\n\n\t\tif (helpers$1.isArray(elementOptions)) {\n\t\t\tfor (i = 0, ilen = elementOptions.length; i < ilen; ++i) {\n\t\t\t\tkey = elementOptions[i];\n\t\t\t\tvalues[key] = resolve([\n\t\t\t\t\tcustom[key],\n\t\t\t\t\tdatasetOpts[key],\n\t\t\t\t\toptions[key]\n\t\t\t\t], context, index, info);\n\t\t\t}\n\t\t} else {\n\t\t\tkeys = Object.keys(elementOptions);\n\t\t\tfor (i = 0, ilen = keys.length; i < ilen; ++i) {\n\t\t\t\tkey = keys[i];\n\t\t\t\tvalues[key] = resolve([\n\t\t\t\t\tcustom[key],\n\t\t\t\t\tdatasetOpts[elementOptions[key]],\n\t\t\t\t\tdatasetOpts[key],\n\t\t\t\t\toptions[key]\n\t\t\t\t], context, index, info);\n\t\t\t}\n\t\t}\n\n\t\tif (info.cacheable) {\n\t\t\tme._cachedDataOpts = Object.freeze(values);\n\t\t}\n\n\t\treturn values;\n\t},\n\n\tremoveHoverStyle: function(element) {\n\t\thelpers$1.merge(element._model, element.$previousStyle || {});\n\t\tdelete element.$previousStyle;\n\t},\n\n\tsetHoverStyle: function(element) {\n\t\tvar dataset = this.chart.data.datasets[element._datasetIndex];\n\t\tvar index = element._index;\n\t\tvar custom = element.custom || {};\n\t\tvar model = element._model;\n\t\tvar getHoverColor = helpers$1.getHoverColor;\n\n\t\telement.$previousStyle = {\n\t\t\tbackgroundColor: model.backgroundColor,\n\t\t\tborderColor: model.borderColor,\n\t\t\tborderWidth: model.borderWidth\n\t\t};\n\n\t\tmodel.backgroundColor = resolve([custom.hoverBackgroundColor, dataset.hoverBackgroundColor, getHoverColor(model.backgroundColor)], undefined, index);\n\t\tmodel.borderColor = resolve([custom.hoverBorderColor, dataset.hoverBorderColor, getHoverColor(model.borderColor)], undefined, index);\n\t\tmodel.borderWidth = resolve([custom.hoverBorderWidth, dataset.hoverBorderWidth, model.borderWidth], undefined, index);\n\t},\n\n\t/**\n\t * @private\n\t */\n\t_removeDatasetHoverStyle: function() {\n\t\tvar element = this.getMeta().dataset;\n\n\t\tif (element) {\n\t\t\tthis.removeHoverStyle(element);\n\t\t}\n\t},\n\n\t/**\n\t * @private\n\t */\n\t_setDatasetHoverStyle: function() {\n\t\tvar element = this.getMeta().dataset;\n\t\tvar prev = {};\n\t\tvar i, ilen, key, keys, hoverOptions, model;\n\n\t\tif (!element) {\n\t\t\treturn;\n\t\t}\n\n\t\tmodel = element._model;\n\t\thoverOptions = this._resolveDatasetElementOptions(element, true);\n\n\t\tkeys = Object.keys(hoverOptions);\n\t\tfor (i = 0, ilen = keys.length; i < ilen; ++i) {\n\t\t\tkey = keys[i];\n\t\t\tprev[key] = model[key];\n\t\t\tmodel[key] = hoverOptions[key];\n\t\t}\n\n\t\telement.$previousStyle = prev;\n\t},\n\n\t/**\n\t * @private\n\t */\n\tresyncElements: function() {\n\t\tvar me = this;\n\t\tvar meta = me.getMeta();\n\t\tvar data = me.getDataset().data;\n\t\tvar numMeta = meta.data.length;\n\t\tvar numData = data.length;\n\n\t\tif (numData < numMeta) {\n\t\t\tmeta.data.splice(numData, numMeta - numData);\n\t\t} else if (numData > numMeta) {\n\t\t\tme.insertElements(numMeta, numData - numMeta);\n\t\t}\n\t},\n\n\t/**\n\t * @private\n\t */\n\tinsertElements: function(start, count) {\n\t\tfor (var i = 0; i < count; ++i) {\n\t\t\tthis.addElementAndReset(start + i);\n\t\t}\n\t},\n\n\t/**\n\t * @private\n\t */\n\tonDataPush: function() {\n\t\tvar count = arguments.length;\n\t\tthis.insertElements(this.getDataset().data.length - count, count);\n\t},\n\n\t/**\n\t * @private\n\t */\n\tonDataPop: function() {\n\t\tthis.getMeta().data.pop();\n\t},\n\n\t/**\n\t * @private\n\t */\n\tonDataShift: function() {\n\t\tthis.getMeta().data.shift();\n\t},\n\n\t/**\n\t * @private\n\t */\n\tonDataSplice: function(start, count) {\n\t\tthis.getMeta().data.splice(start, count);\n\t\tthis.insertElements(start, arguments.length - 2);\n\t},\n\n\t/**\n\t * @private\n\t */\n\tonDataUnshift: function() {\n\t\tthis.insertElements(0, arguments.length);\n\t}\n});\n\nDatasetController.extend = helpers$1.inherits;\n\nvar core_datasetController = DatasetController;\n\nvar TAU = Math.PI * 2;\n\ncore_defaults._set('global', {\n\telements: {\n\t\tarc: {\n\t\t\tbackgroundColor: core_defaults.global.defaultColor,\n\t\t\tborderColor: '#fff',\n\t\t\tborderWidth: 2,\n\t\t\tborderAlign: 'center'\n\t\t}\n\t}\n});\n\nfunction clipArc(ctx, arc) {\n\tvar startAngle = arc.startAngle;\n\tvar endAngle = arc.endAngle;\n\tvar pixelMargin = arc.pixelMargin;\n\tvar angleMargin = pixelMargin / arc.outerRadius;\n\tvar x = arc.x;\n\tvar y = arc.y;\n\n\t// Draw an inner border by cliping the arc and drawing a double-width border\n\t// Enlarge the clipping arc by 0.33 pixels to eliminate glitches between borders\n\tctx.beginPath();\n\tctx.arc(x, y, arc.outerRadius, startAngle - angleMargin, endAngle + angleMargin);\n\tif (arc.innerRadius > pixelMargin) {\n\t\tangleMargin = pixelMargin / arc.innerRadius;\n\t\tctx.arc(x, y, arc.innerRadius - pixelMargin, endAngle + angleMargin, startAngle - angleMargin, true);\n\t} else {\n\t\tctx.arc(x, y, pixelMargin, endAngle + Math.PI / 2, startAngle - Math.PI / 2);\n\t}\n\tctx.closePath();\n\tctx.clip();\n}\n\nfunction drawFullCircleBorders(ctx, vm, arc, inner) {\n\tvar endAngle = arc.endAngle;\n\tvar i;\n\n\tif (inner) {\n\t\tarc.endAngle = arc.startAngle + TAU;\n\t\tclipArc(ctx, arc);\n\t\tarc.endAngle = endAngle;\n\t\tif (arc.endAngle === arc.startAngle && arc.fullCircles) {\n\t\t\tarc.endAngle += TAU;\n\t\t\tarc.fullCircles--;\n\t\t}\n\t}\n\n\tctx.beginPath();\n\tctx.arc(arc.x, arc.y, arc.innerRadius, arc.startAngle + TAU, arc.startAngle, true);\n\tfor (i = 0; i < arc.fullCircles; ++i) {\n\t\tctx.stroke();\n\t}\n\n\tctx.beginPath();\n\tctx.arc(arc.x, arc.y, vm.outerRadius, arc.startAngle, arc.startAngle + TAU);\n\tfor (i = 0; i < arc.fullCircles; ++i) {\n\t\tctx.stroke();\n\t}\n}\n\nfunction drawBorder(ctx, vm, arc) {\n\tvar inner = vm.borderAlign === 'inner';\n\n\tif (inner) {\n\t\tctx.lineWidth = vm.borderWidth * 2;\n\t\tctx.lineJoin = 'round';\n\t} else {\n\t\tctx.lineWidth = vm.borderWidth;\n\t\tctx.lineJoin = 'bevel';\n\t}\n\n\tif (arc.fullCircles) {\n\t\tdrawFullCircleBorders(ctx, vm, arc, inner);\n\t}\n\n\tif (inner) {\n\t\tclipArc(ctx, arc);\n\t}\n\n\tctx.beginPath();\n\tctx.arc(arc.x, arc.y, vm.outerRadius, arc.startAngle, arc.endAngle);\n\tctx.arc(arc.x, arc.y, arc.innerRadius, arc.endAngle, arc.startAngle, true);\n\tctx.closePath();\n\tctx.stroke();\n}\n\nvar element_arc = core_element.extend({\n\t_type: 'arc',\n\n\tinLabelRange: function(mouseX) {\n\t\tvar vm = this._view;\n\n\t\tif (vm) {\n\t\t\treturn (Math.pow(mouseX - vm.x, 2) < Math.pow(vm.radius + vm.hoverRadius, 2));\n\t\t}\n\t\treturn false;\n\t},\n\n\tinRange: function(chartX, chartY) {\n\t\tvar vm = this._view;\n\n\t\tif (vm) {\n\t\t\tvar pointRelativePosition = helpers$1.getAngleFromPoint(vm, {x: chartX, y: chartY});\n\t\t\tvar angle = pointRelativePosition.angle;\n\t\t\tvar distance = pointRelativePosition.distance;\n\n\t\t\t// Sanitise angle range\n\t\t\tvar startAngle = vm.startAngle;\n\t\t\tvar endAngle = vm.endAngle;\n\t\t\twhile (endAngle < startAngle) {\n\t\t\t\tendAngle += TAU;\n\t\t\t}\n\t\t\twhile (angle > endAngle) {\n\t\t\t\tangle -= TAU;\n\t\t\t}\n\t\t\twhile (angle < startAngle) {\n\t\t\t\tangle += TAU;\n\t\t\t}\n\n\t\t\t// Check if within the range of the open/close angle\n\t\t\tvar betweenAngles = (angle >= startAngle && angle <= endAngle);\n\t\t\tvar withinRadius = (distance >= vm.innerRadius && distance <= vm.outerRadius);\n\n\t\t\treturn (betweenAngles && withinRadius);\n\t\t}\n\t\treturn false;\n\t},\n\n\tgetCenterPoint: function() {\n\t\tvar vm = this._view;\n\t\tvar halfAngle = (vm.startAngle + vm.endAngle) / 2;\n\t\tvar halfRadius = (vm.innerRadius + vm.outerRadius) / 2;\n\t\treturn {\n\t\t\tx: vm.x + Math.cos(halfAngle) * halfRadius,\n\t\t\ty: vm.y + Math.sin(halfAngle) * halfRadius\n\t\t};\n\t},\n\n\tgetArea: function() {\n\t\tvar vm = this._view;\n\t\treturn Math.PI * ((vm.endAngle - vm.startAngle) / (2 * Math.PI)) * (Math.pow(vm.outerRadius, 2) - Math.pow(vm.innerRadius, 2));\n\t},\n\n\ttooltipPosition: function() {\n\t\tvar vm = this._view;\n\t\tvar centreAngle = vm.startAngle + ((vm.endAngle - vm.startAngle) / 2);\n\t\tvar rangeFromCentre = (vm.outerRadius - vm.innerRadius) / 2 + vm.innerRadius;\n\n\t\treturn {\n\t\t\tx: vm.x + (Math.cos(centreAngle) * rangeFromCentre),\n\t\t\ty: vm.y + (Math.sin(centreAngle) * rangeFromCentre)\n\t\t};\n\t},\n\n\tdraw: function() {\n\t\tvar ctx = this._chart.ctx;\n\t\tvar vm = this._view;\n\t\tvar pixelMargin = (vm.borderAlign === 'inner') ? 0.33 : 0;\n\t\tvar arc = {\n\t\t\tx: vm.x,\n\t\t\ty: vm.y,\n\t\t\tinnerRadius: vm.innerRadius,\n\t\t\touterRadius: Math.max(vm.outerRadius - pixelMargin, 0),\n\t\t\tpixelMargin: pixelMargin,\n\t\t\tstartAngle: vm.startAngle,\n\t\t\tendAngle: vm.endAngle,\n\t\t\tfullCircles: Math.floor(vm.circumference / TAU)\n\t\t};\n\t\tvar i;\n\n\t\tctx.save();\n\n\t\tctx.fillStyle = vm.backgroundColor;\n\t\tctx.strokeStyle = vm.borderColor;\n\n\t\tif (arc.fullCircles) {\n\t\t\tarc.endAngle = arc.startAngle + TAU;\n\t\t\tctx.beginPath();\n\t\t\tctx.arc(arc.x, arc.y, arc.outerRadius, arc.startAngle, arc.endAngle);\n\t\t\tctx.arc(arc.x, arc.y, arc.innerRadius, arc.endAngle, arc.startAngle, true);\n\t\t\tctx.closePath();\n\t\t\tfor (i = 0; i < arc.fullCircles; ++i) {\n\t\t\t\tctx.fill();\n\t\t\t}\n\t\t\tarc.endAngle = arc.startAngle + vm.circumference % TAU;\n\t\t}\n\n\t\tctx.beginPath();\n\t\tctx.arc(arc.x, arc.y, arc.outerRadius, arc.startAngle, arc.endAngle);\n\t\tctx.arc(arc.x, arc.y, arc.innerRadius, arc.endAngle, arc.startAngle, true);\n\t\tctx.closePath();\n\t\tctx.fill();\n\n\t\tif (vm.borderWidth) {\n\t\t\tdrawBorder(ctx, vm, arc);\n\t\t}\n\n\t\tctx.restore();\n\t}\n});\n\nvar valueOrDefault$1 = helpers$1.valueOrDefault;\n\nvar defaultColor = core_defaults.global.defaultColor;\n\ncore_defaults._set('global', {\n\telements: {\n\t\tline: {\n\t\t\ttension: 0.4,\n\t\t\tbackgroundColor: defaultColor,\n\t\t\tborderWidth: 3,\n\t\t\tborderColor: defaultColor,\n\t\t\tborderCapStyle: 'butt',\n\t\t\tborderDash: [],\n\t\t\tborderDashOffset: 0.0,\n\t\t\tborderJoinStyle: 'miter',\n\t\t\tcapBezierPoints: true,\n\t\t\tfill: true, // do we fill in the area between the line and its base axis\n\t\t}\n\t}\n});\n\nvar element_line = core_element.extend({\n\t_type: 'line',\n\n\tdraw: function() {\n\t\tvar me = this;\n\t\tvar vm = me._view;\n\t\tvar ctx = me._chart.ctx;\n\t\tvar spanGaps = vm.spanGaps;\n\t\tvar points = me._children.slice(); // clone array\n\t\tvar globalDefaults = core_defaults.global;\n\t\tvar globalOptionLineElements = globalDefaults.elements.line;\n\t\tvar lastDrawnIndex = -1;\n\t\tvar closePath = me._loop;\n\t\tvar index, previous, currentVM;\n\n\t\tif (!points.length) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (me._loop) {\n\t\t\tfor (index = 0; index < points.length; ++index) {\n\t\t\t\tprevious = helpers$1.previousItem(points, index);\n\t\t\t\t// If the line has an open path, shift the point array\n\t\t\t\tif (!points[index]._view.skip && previous._view.skip) {\n\t\t\t\t\tpoints = points.slice(index).concat(points.slice(0, index));\n\t\t\t\t\tclosePath = spanGaps;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// If the line has a close path, add the first point again\n\t\t\tif (closePath) {\n\t\t\t\tpoints.push(points[0]);\n\t\t\t}\n\t\t}\n\n\t\tctx.save();\n\n\t\t// Stroke Line Options\n\t\tctx.lineCap = vm.borderCapStyle || globalOptionLineElements.borderCapStyle;\n\n\t\t// IE 9 and 10 do not support line dash\n\t\tif (ctx.setLineDash) {\n\t\t\tctx.setLineDash(vm.borderDash || globalOptionLineElements.borderDash);\n\t\t}\n\n\t\tctx.lineDashOffset = valueOrDefault$1(vm.borderDashOffset, globalOptionLineElements.borderDashOffset);\n\t\tctx.lineJoin = vm.borderJoinStyle || globalOptionLineElements.borderJoinStyle;\n\t\tctx.lineWidth = valueOrDefault$1(vm.borderWidth, globalOptionLineElements.borderWidth);\n\t\tctx.strokeStyle = vm.borderColor || globalDefaults.defaultColor;\n\n\t\t// Stroke Line\n\t\tctx.beginPath();\n\n\t\t// First point moves to it's starting position no matter what\n\t\tcurrentVM = points[0]._view;\n\t\tif (!currentVM.skip) {\n\t\t\tctx.moveTo(currentVM.x, currentVM.y);\n\t\t\tlastDrawnIndex = 0;\n\t\t}\n\n\t\tfor (index = 1; index < points.length; ++index) {\n\t\t\tcurrentVM = points[index]._view;\n\t\t\tprevious = lastDrawnIndex === -1 ? helpers$1.previousItem(points, index) : points[lastDrawnIndex];\n\n\t\t\tif (!currentVM.skip) {\n\t\t\t\tif ((lastDrawnIndex !== (index - 1) && !spanGaps) || lastDrawnIndex === -1) {\n\t\t\t\t\t// There was a gap and this is the first point after the gap\n\t\t\t\t\tctx.moveTo(currentVM.x, currentVM.y);\n\t\t\t\t} else {\n\t\t\t\t\t// Line to next point\n\t\t\t\t\thelpers$1.canvas.lineTo(ctx, previous._view, currentVM);\n\t\t\t\t}\n\t\t\t\tlastDrawnIndex = index;\n\t\t\t}\n\t\t}\n\n\t\tif (closePath) {\n\t\t\tctx.closePath();\n\t\t}\n\n\t\tctx.stroke();\n\t\tctx.restore();\n\t}\n});\n\nvar valueOrDefault$2 = helpers$1.valueOrDefault;\n\nvar defaultColor$1 = core_defaults.global.defaultColor;\n\ncore_defaults._set('global', {\n\telements: {\n\t\tpoint: {\n\t\t\tradius: 3,\n\t\t\tpointStyle: 'circle',\n\t\t\tbackgroundColor: defaultColor$1,\n\t\t\tborderColor: defaultColor$1,\n\t\t\tborderWidth: 1,\n\t\t\t// Hover\n\t\t\thitRadius: 1,\n\t\t\thoverRadius: 4,\n\t\t\thoverBorderWidth: 1\n\t\t}\n\t}\n});\n\nfunction xRange(mouseX) {\n\tvar vm = this._view;\n\treturn vm ? (Math.abs(mouseX - vm.x) < vm.radius + vm.hitRadius) : false;\n}\n\nfunction yRange(mouseY) {\n\tvar vm = this._view;\n\treturn vm ? (Math.abs(mouseY - vm.y) < vm.radius + vm.hitRadius) : false;\n}\n\nvar element_point = core_element.extend({\n\t_type: 'point',\n\n\tinRange: function(mouseX, mouseY) {\n\t\tvar vm = this._view;\n\t\treturn vm ? ((Math.pow(mouseX - vm.x, 2) + Math.pow(mouseY - vm.y, 2)) < Math.pow(vm.hitRadius + vm.radius, 2)) : false;\n\t},\n\n\tinLabelRange: xRange,\n\tinXRange: xRange,\n\tinYRange: yRange,\n\n\tgetCenterPoint: function() {\n\t\tvar vm = this._view;\n\t\treturn {\n\t\t\tx: vm.x,\n\t\t\ty: vm.y\n\t\t};\n\t},\n\n\tgetArea: function() {\n\t\treturn Math.PI * Math.pow(this._view.radius, 2);\n\t},\n\n\ttooltipPosition: function() {\n\t\tvar vm = this._view;\n\t\treturn {\n\t\t\tx: vm.x,\n\t\t\ty: vm.y,\n\t\t\tpadding: vm.radius + vm.borderWidth\n\t\t};\n\t},\n\n\tdraw: function(chartArea) {\n\t\tvar vm = this._view;\n\t\tvar ctx = this._chart.ctx;\n\t\tvar pointStyle = vm.pointStyle;\n\t\tvar rotation = vm.rotation;\n\t\tvar radius = vm.radius;\n\t\tvar x = vm.x;\n\t\tvar y = vm.y;\n\t\tvar globalDefaults = core_defaults.global;\n\t\tvar defaultColor = globalDefaults.defaultColor; // eslint-disable-line no-shadow\n\n\t\tif (vm.skip) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Clipping for Points.\n\t\tif (chartArea === undefined || helpers$1.canvas._isPointInArea(vm, chartArea)) {\n\t\t\tctx.strokeStyle = vm.borderColor || defaultColor;\n\t\t\tctx.lineWidth = valueOrDefault$2(vm.borderWidth, globalDefaults.elements.point.borderWidth);\n\t\t\tctx.fillStyle = vm.backgroundColor || defaultColor;\n\t\t\thelpers$1.canvas.drawPoint(ctx, pointStyle, radius, x, y, rotation);\n\t\t}\n\t}\n});\n\nvar defaultColor$2 = core_defaults.global.defaultColor;\n\ncore_defaults._set('global', {\n\telements: {\n\t\trectangle: {\n\t\t\tbackgroundColor: defaultColor$2,\n\t\t\tborderColor: defaultColor$2,\n\t\t\tborderSkipped: 'bottom',\n\t\t\tborderWidth: 0\n\t\t}\n\t}\n});\n\nfunction isVertical(vm) {\n\treturn vm && vm.width !== undefined;\n}\n\n/**\n * Helper function to get the bounds of the bar regardless of the orientation\n * @param bar {Chart.Element.Rectangle} the bar\n * @return {Bounds} bounds of the bar\n * @private\n */\nfunction getBarBounds(vm) {\n\tvar x1, x2, y1, y2, half;\n\n\tif (isVertical(vm)) {\n\t\thalf = vm.width / 2;\n\t\tx1 = vm.x - half;\n\t\tx2 = vm.x + half;\n\t\ty1 = Math.min(vm.y, vm.base);\n\t\ty2 = Math.max(vm.y, vm.base);\n\t} else {\n\t\thalf = vm.height / 2;\n\t\tx1 = Math.min(vm.x, vm.base);\n\t\tx2 = Math.max(vm.x, vm.base);\n\t\ty1 = vm.y - half;\n\t\ty2 = vm.y + half;\n\t}\n\n\treturn {\n\t\tleft: x1,\n\t\ttop: y1,\n\t\tright: x2,\n\t\tbottom: y2\n\t};\n}\n\nfunction swap(orig, v1, v2) {\n\treturn orig === v1 ? v2 : orig === v2 ? v1 : orig;\n}\n\nfunction parseBorderSkipped(vm) {\n\tvar edge = vm.borderSkipped;\n\tvar res = {};\n\n\tif (!edge) {\n\t\treturn res;\n\t}\n\n\tif (vm.horizontal) {\n\t\tif (vm.base > vm.x) {\n\t\t\tedge = swap(edge, 'left', 'right');\n\t\t}\n\t} else if (vm.base < vm.y) {\n\t\tedge = swap(edge, 'bottom', 'top');\n\t}\n\n\tres[edge] = true;\n\treturn res;\n}\n\nfunction parseBorderWidth(vm, maxW, maxH) {\n\tvar value = vm.borderWidth;\n\tvar skip = parseBorderSkipped(vm);\n\tvar t, r, b, l;\n\n\tif (helpers$1.isObject(value)) {\n\t\tt = +value.top || 0;\n\t\tr = +value.right || 0;\n\t\tb = +value.bottom || 0;\n\t\tl = +value.left || 0;\n\t} else {\n\t\tt = r = b = l = +value || 0;\n\t}\n\n\treturn {\n\t\tt: skip.top || (t < 0) ? 0 : t > maxH ? maxH : t,\n\t\tr: skip.right || (r < 0) ? 0 : r > maxW ? maxW : r,\n\t\tb: skip.bottom || (b < 0) ? 0 : b > maxH ? maxH : b,\n\t\tl: skip.left || (l < 0) ? 0 : l > maxW ? maxW : l\n\t};\n}\n\nfunction boundingRects(vm) {\n\tvar bounds = getBarBounds(vm);\n\tvar width = bounds.right - bounds.left;\n\tvar height = bounds.bottom - bounds.top;\n\tvar border = parseBorderWidth(vm, width / 2, height / 2);\n\n\treturn {\n\t\touter: {\n\t\t\tx: bounds.left,\n\t\t\ty: bounds.top,\n\t\t\tw: width,\n\t\t\th: height\n\t\t},\n\t\tinner: {\n\t\t\tx: bounds.left + border.l,\n\t\t\ty: bounds.top + border.t,\n\t\t\tw: width - border.l - border.r,\n\t\t\th: height - border.t - border.b\n\t\t}\n\t};\n}\n\nfunction inRange(vm, x, y) {\n\tvar skipX = x === null;\n\tvar skipY = y === null;\n\tvar bounds = !vm || (skipX && skipY) ? false : getBarBounds(vm);\n\n\treturn bounds\n\t\t&& (skipX || x >= bounds.left && x <= bounds.right)\n\t\t&& (skipY || y >= bounds.top && y <= bounds.bottom);\n}\n\nvar element_rectangle = core_element.extend({\n\t_type: 'rectangle',\n\n\tdraw: function() {\n\t\tvar ctx = this._chart.ctx;\n\t\tvar vm = this._view;\n\t\tvar rects = boundingRects(vm);\n\t\tvar outer = rects.outer;\n\t\tvar inner = rects.inner;\n\n\t\tctx.fillStyle = vm.backgroundColor;\n\t\tctx.fillRect(outer.x, outer.y, outer.w, outer.h);\n\n\t\tif (outer.w === inner.w && outer.h === inner.h) {\n\t\t\treturn;\n\t\t}\n\n\t\tctx.save();\n\t\tctx.beginPath();\n\t\tctx.rect(outer.x, outer.y, outer.w, outer.h);\n\t\tctx.clip();\n\t\tctx.fillStyle = vm.borderColor;\n\t\tctx.rect(inner.x, inner.y, inner.w, inner.h);\n\t\tctx.fill('evenodd');\n\t\tctx.restore();\n\t},\n\n\theight: function() {\n\t\tvar vm = this._view;\n\t\treturn vm.base - vm.y;\n\t},\n\n\tinRange: function(mouseX, mouseY) {\n\t\treturn inRange(this._view, mouseX, mouseY);\n\t},\n\n\tinLabelRange: function(mouseX, mouseY) {\n\t\tvar vm = this._view;\n\t\treturn isVertical(vm)\n\t\t\t? inRange(vm, mouseX, null)\n\t\t\t: inRange(vm, null, mouseY);\n\t},\n\n\tinXRange: function(mouseX) {\n\t\treturn inRange(this._view, mouseX, null);\n\t},\n\n\tinYRange: function(mouseY) {\n\t\treturn inRange(this._view, null, mouseY);\n\t},\n\n\tgetCenterPoint: function() {\n\t\tvar vm = this._view;\n\t\tvar x, y;\n\t\tif (isVertical(vm)) {\n\t\t\tx = vm.x;\n\t\t\ty = (vm.y + vm.base) / 2;\n\t\t} else {\n\t\t\tx = (vm.x + vm.base) / 2;\n\t\t\ty = vm.y;\n\t\t}\n\n\t\treturn {x: x, y: y};\n\t},\n\n\tgetArea: function() {\n\t\tvar vm = this._view;\n\n\t\treturn isVertical(vm)\n\t\t\t? vm.width * Math.abs(vm.y - vm.base)\n\t\t\t: vm.height * Math.abs(vm.x - vm.base);\n\t},\n\n\ttooltipPosition: function() {\n\t\tvar vm = this._view;\n\t\treturn {\n\t\t\tx: vm.x,\n\t\t\ty: vm.y\n\t\t};\n\t}\n});\n\nvar elements = {};\nvar Arc = element_arc;\nvar Line = element_line;\nvar Point = element_point;\nvar Rectangle = element_rectangle;\nelements.Arc = Arc;\nelements.Line = Line;\nelements.Point = Point;\nelements.Rectangle = Rectangle;\n\nvar deprecated = helpers$1._deprecated;\nvar valueOrDefault$3 = helpers$1.valueOrDefault;\n\ncore_defaults._set('bar', {\n\thover: {\n\t\tmode: 'label'\n\t},\n\n\tscales: {\n\t\txAxes: [{\n\t\t\ttype: 'category',\n\t\t\toffset: true,\n\t\t\tgridLines: {\n\t\t\t\toffsetGridLines: true\n\t\t\t}\n\t\t}],\n\n\t\tyAxes: [{\n\t\t\ttype: 'linear'\n\t\t}]\n\t}\n});\n\ncore_defaults._set('global', {\n\tdatasets: {\n\t\tbar: {\n\t\t\tcategoryPercentage: 0.8,\n\t\t\tbarPercentage: 0.9\n\t\t}\n\t}\n});\n\n/**\n * Computes the \"optimal\" sample size to maintain bars equally sized while preventing overlap.\n * @private\n */\nfunction computeMinSampleSize(scale, pixels) {\n\tvar min = scale._length;\n\tvar prev, curr, i, ilen;\n\n\tfor (i = 1, ilen = pixels.length; i < ilen; ++i) {\n\t\tmin = Math.min(min, Math.abs(pixels[i] - pixels[i - 1]));\n\t}\n\n\tfor (i = 0, ilen = scale.getTicks().length; i < ilen; ++i) {\n\t\tcurr = scale.getPixelForTick(i);\n\t\tmin = i > 0 ? Math.min(min, Math.abs(curr - prev)) : min;\n\t\tprev = curr;\n\t}\n\n\treturn min;\n}\n\n/**\n * Computes an \"ideal\" category based on the absolute bar thickness or, if undefined or null,\n * uses the smallest interval (see computeMinSampleSize) that prevents bar overlapping. This\n * mode currently always generates bars equally sized (until we introduce scriptable options?).\n * @private\n */\nfunction computeFitCategoryTraits(index, ruler, options) {\n\tvar thickness = options.barThickness;\n\tvar count = ruler.stackCount;\n\tvar curr = ruler.pixels[index];\n\tvar min = helpers$1.isNullOrUndef(thickness)\n\t\t? computeMinSampleSize(ruler.scale, ruler.pixels)\n\t\t: -1;\n\tvar size, ratio;\n\n\tif (helpers$1.isNullOrUndef(thickness)) {\n\t\tsize = min * options.categoryPercentage;\n\t\tratio = options.barPercentage;\n\t} else {\n\t\t// When bar thickness is enforced, category and bar percentages are ignored.\n\t\t// Note(SB): we could add support for relative bar thickness (e.g. barThickness: '50%')\n\t\t// and deprecate barPercentage since this value is ignored when thickness is absolute.\n\t\tsize = thickness * count;\n\t\tratio = 1;\n\t}\n\n\treturn {\n\t\tchunk: size / count,\n\t\tratio: ratio,\n\t\tstart: curr - (size / 2)\n\t};\n}\n\n/**\n * Computes an \"optimal\" category that globally arranges bars side by side (no gap when\n * percentage options are 1), based on the previous and following categories. This mode\n * generates bars with different widths when data are not evenly spaced.\n * @private\n */\nfunction computeFlexCategoryTraits(index, ruler, options) {\n\tvar pixels = ruler.pixels;\n\tvar curr = pixels[index];\n\tvar prev = index > 0 ? pixels[index - 1] : null;\n\tvar next = index < pixels.length - 1 ? pixels[index + 1] : null;\n\tvar percent = options.categoryPercentage;\n\tvar start, size;\n\n\tif (prev === null) {\n\t\t// first data: its size is double based on the next point or,\n\t\t// if it's also the last data, we use the scale size.\n\t\tprev = curr - (next === null ? ruler.end - ruler.start : next - curr);\n\t}\n\n\tif (next === null) {\n\t\t// last data: its size is also double based on the previous point.\n\t\tnext = curr + curr - prev;\n\t}\n\n\tstart = curr - (curr - Math.min(prev, next)) / 2 * percent;\n\tsize = Math.abs(next - prev) / 2 * percent;\n\n\treturn {\n\t\tchunk: size / ruler.stackCount,\n\t\tratio: options.barPercentage,\n\t\tstart: start\n\t};\n}\n\nvar controller_bar = core_datasetController.extend({\n\n\tdataElementType: elements.Rectangle,\n\n\t/**\n\t * @private\n\t */\n\t_dataElementOptions: [\n\t\t'backgroundColor',\n\t\t'borderColor',\n\t\t'borderSkipped',\n\t\t'borderWidth',\n\t\t'barPercentage',\n\t\t'barThickness',\n\t\t'categoryPercentage',\n\t\t'maxBarThickness',\n\t\t'minBarLength'\n\t],\n\n\tinitialize: function() {\n\t\tvar me = this;\n\t\tvar meta, scaleOpts;\n\n\t\tcore_datasetController.prototype.initialize.apply(me, arguments);\n\n\t\tmeta = me.getMeta();\n\t\tmeta.stack = me.getDataset().stack;\n\t\tmeta.bar = true;\n\n\t\tscaleOpts = me._getIndexScale().options;\n\t\tdeprecated('bar chart', scaleOpts.barPercentage, 'scales.[x/y]Axes.barPercentage', 'dataset.barPercentage');\n\t\tdeprecated('bar chart', scaleOpts.barThickness, 'scales.[x/y]Axes.barThickness', 'dataset.barThickness');\n\t\tdeprecated('bar chart', scaleOpts.categoryPercentage, 'scales.[x/y]Axes.categoryPercentage', 'dataset.categoryPercentage');\n\t\tdeprecated('bar chart', me._getValueScale().options.minBarLength, 'scales.[x/y]Axes.minBarLength', 'dataset.minBarLength');\n\t\tdeprecated('bar chart', scaleOpts.maxBarThickness, 'scales.[x/y]Axes.maxBarThickness', 'dataset.maxBarThickness');\n\t},\n\n\tupdate: function(reset) {\n\t\tvar me = this;\n\t\tvar rects = me.getMeta().data;\n\t\tvar i, ilen;\n\n\t\tme._ruler = me.getRuler();\n\n\t\tfor (i = 0, ilen = rects.length; i < ilen; ++i) {\n\t\t\tme.updateElement(rects[i], i, reset);\n\t\t}\n\t},\n\n\tupdateElement: function(rectangle, index, reset) {\n\t\tvar me = this;\n\t\tvar meta = me.getMeta();\n\t\tvar dataset = me.getDataset();\n\t\tvar options = me._resolveDataElementOptions(rectangle, index);\n\n\t\trectangle._xScale = me.getScaleForId(meta.xAxisID);\n\t\trectangle._yScale = me.getScaleForId(meta.yAxisID);\n\t\trectangle._datasetIndex = me.index;\n\t\trectangle._index = index;\n\t\trectangle._model = {\n\t\t\tbackgroundColor: options.backgroundColor,\n\t\t\tborderColor: options.borderColor,\n\t\t\tborderSkipped: options.borderSkipped,\n\t\t\tborderWidth: options.borderWidth,\n\t\t\tdatasetLabel: dataset.label,\n\t\t\tlabel: me.chart.data.labels[index]\n\t\t};\n\n\t\tif (helpers$1.isArray(dataset.data[index])) {\n\t\t\trectangle._model.borderSkipped = null;\n\t\t}\n\n\t\tme._updateElementGeometry(rectangle, index, reset, options);\n\n\t\trectangle.pivot();\n\t},\n\n\t/**\n\t * @private\n\t */\n\t_updateElementGeometry: function(rectangle, index, reset, options) {\n\t\tvar me = this;\n\t\tvar model = rectangle._model;\n\t\tvar vscale = me._getValueScale();\n\t\tvar base = vscale.getBasePixel();\n\t\tvar horizontal = vscale.isHorizontal();\n\t\tvar ruler = me._ruler || me.getRuler();\n\t\tvar vpixels = me.calculateBarValuePixels(me.index, index, options);\n\t\tvar ipixels = me.calculateBarIndexPixels(me.index, index, ruler, options);\n\n\t\tmodel.horizontal = horizontal;\n\t\tmodel.base = reset ? base : vpixels.base;\n\t\tmodel.x = horizontal ? reset ? base : vpixels.head : ipixels.center;\n\t\tmodel.y = horizontal ? ipixels.center : reset ? base : vpixels.head;\n\t\tmodel.height = horizontal ? ipixels.size : undefined;\n\t\tmodel.width = horizontal ? undefined : ipixels.size;\n\t},\n\n\t/**\n\t * Returns the stacks based on groups and bar visibility.\n\t * @param {number} [last] - The dataset index\n\t * @returns {string[]} The list of stack IDs\n\t * @private\n\t */\n\t_getStacks: function(last) {\n\t\tvar me = this;\n\t\tvar scale = me._getIndexScale();\n\t\tvar metasets = scale._getMatchingVisibleMetas(me._type);\n\t\tvar stacked = scale.options.stacked;\n\t\tvar ilen = metasets.length;\n\t\tvar stacks = [];\n\t\tvar i, meta;\n\n\t\tfor (i = 0; i < ilen; ++i) {\n\t\t\tmeta = metasets[i];\n\t\t\t// stacked | meta.stack\n\t\t\t// | found | not found | undefined\n\t\t\t// false | x | x | x\n\t\t\t// true | | x |\n\t\t\t// undefined | | x | x\n\t\t\tif (stacked === false || stacks.indexOf(meta.stack) === -1 ||\n\t\t\t\t(stacked === undefined && meta.stack === undefined)) {\n\t\t\t\tstacks.push(meta.stack);\n\t\t\t}\n\t\t\tif (meta.index === last) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\treturn stacks;\n\t},\n\n\t/**\n\t * Returns the effective number of stacks based on groups and bar visibility.\n\t * @private\n\t */\n\tgetStackCount: function() {\n\t\treturn this._getStacks().length;\n\t},\n\n\t/**\n\t * Returns the stack index for the given dataset based on groups and bar visibility.\n\t * @param {number} [datasetIndex] - The dataset index\n\t * @param {string} [name] - The stack name to find\n\t * @returns {number} The stack index\n\t * @private\n\t */\n\tgetStackIndex: function(datasetIndex, name) {\n\t\tvar stacks = this._getStacks(datasetIndex);\n\t\tvar index = (name !== undefined)\n\t\t\t? stacks.indexOf(name)\n\t\t\t: -1; // indexOf returns -1 if element is not present\n\n\t\treturn (index === -1)\n\t\t\t? stacks.length - 1\n\t\t\t: index;\n\t},\n\n\t/**\n\t * @private\n\t */\n\tgetRuler: function() {\n\t\tvar me = this;\n\t\tvar scale = me._getIndexScale();\n\t\tvar pixels = [];\n\t\tvar i, ilen;\n\n\t\tfor (i = 0, ilen = me.getMeta().data.length; i < ilen; ++i) {\n\t\t\tpixels.push(scale.getPixelForValue(null, i, me.index));\n\t\t}\n\n\t\treturn {\n\t\t\tpixels: pixels,\n\t\t\tstart: scale._startPixel,\n\t\t\tend: scale._endPixel,\n\t\t\tstackCount: me.getStackCount(),\n\t\t\tscale: scale\n\t\t};\n\t},\n\n\t/**\n\t * Note: pixel values are not clamped to the scale area.\n\t * @private\n\t */\n\tcalculateBarValuePixels: function(datasetIndex, index, options) {\n\t\tvar me = this;\n\t\tvar chart = me.chart;\n\t\tvar scale = me._getValueScale();\n\t\tvar isHorizontal = scale.isHorizontal();\n\t\tvar datasets = chart.data.datasets;\n\t\tvar metasets = scale._getMatchingVisibleMetas(me._type);\n\t\tvar value = scale._parseValue(datasets[datasetIndex].data[index]);\n\t\tvar minBarLength = options.minBarLength;\n\t\tvar stacked = scale.options.stacked;\n\t\tvar stack = me.getMeta().stack;\n\t\tvar start = value.start === undefined ? 0 : value.max >= 0 && value.min >= 0 ? value.min : value.max;\n\t\tvar length = value.start === undefined ? value.end : value.max >= 0 && value.min >= 0 ? value.max - value.min : value.min - value.max;\n\t\tvar ilen = metasets.length;\n\t\tvar i, imeta, ivalue, base, head, size, stackLength;\n\n\t\tif (stacked || (stacked === undefined && stack !== undefined)) {\n\t\t\tfor (i = 0; i < ilen; ++i) {\n\t\t\t\timeta = metasets[i];\n\n\t\t\t\tif (imeta.index === datasetIndex) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tif (imeta.stack === stack) {\n\t\t\t\t\tstackLength = scale._parseValue(datasets[imeta.index].data[index]);\n\t\t\t\t\tivalue = stackLength.start === undefined ? stackLength.end : stackLength.min >= 0 && stackLength.max >= 0 ? stackLength.max : stackLength.min;\n\n\t\t\t\t\tif ((value.min < 0 && ivalue < 0) || (value.max >= 0 && ivalue > 0)) {\n\t\t\t\t\t\tstart += ivalue;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tbase = scale.getPixelForValue(start);\n\t\thead = scale.getPixelForValue(start + length);\n\t\tsize = head - base;\n\n\t\tif (minBarLength !== undefined && Math.abs(size) < minBarLength) {\n\t\t\tsize = minBarLength;\n\t\t\tif (length >= 0 && !isHorizontal || length < 0 && isHorizontal) {\n\t\t\t\thead = base - minBarLength;\n\t\t\t} else {\n\t\t\t\thead = base + minBarLength;\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\tsize: size,\n\t\t\tbase: base,\n\t\t\thead: head,\n\t\t\tcenter: head + size / 2\n\t\t};\n\t},\n\n\t/**\n\t * @private\n\t */\n\tcalculateBarIndexPixels: function(datasetIndex, index, ruler, options) {\n\t\tvar me = this;\n\t\tvar range = options.barThickness === 'flex'\n\t\t\t? computeFlexCategoryTraits(index, ruler, options)\n\t\t\t: computeFitCategoryTraits(index, ruler, options);\n\n\t\tvar stackIndex = me.getStackIndex(datasetIndex, me.getMeta().stack);\n\t\tvar center = range.start + (range.chunk * stackIndex) + (range.chunk / 2);\n\t\tvar size = Math.min(\n\t\t\tvalueOrDefault$3(options.maxBarThickness, Infinity),\n\t\t\trange.chunk * range.ratio);\n\n\t\treturn {\n\t\t\tbase: center - size / 2,\n\t\t\thead: center + size / 2,\n\t\t\tcenter: center,\n\t\t\tsize: size\n\t\t};\n\t},\n\n\tdraw: function() {\n\t\tvar me = this;\n\t\tvar chart = me.chart;\n\t\tvar scale = me._getValueScale();\n\t\tvar rects = me.getMeta().data;\n\t\tvar dataset = me.getDataset();\n\t\tvar ilen = rects.length;\n\t\tvar i = 0;\n\n\t\thelpers$1.canvas.clipArea(chart.ctx, chart.chartArea);\n\n\t\tfor (; i < ilen; ++i) {\n\t\t\tvar val = scale._parseValue(dataset.data[i]);\n\t\t\tif (!isNaN(val.min) && !isNaN(val.max)) {\n\t\t\t\trects[i].draw();\n\t\t\t}\n\t\t}\n\n\t\thelpers$1.canvas.unclipArea(chart.ctx);\n\t},\n\n\t/**\n\t * @private\n\t */\n\t_resolveDataElementOptions: function() {\n\t\tvar me = this;\n\t\tvar values = helpers$1.extend({}, core_datasetController.prototype._resolveDataElementOptions.apply(me, arguments));\n\t\tvar indexOpts = me._getIndexScale().options;\n\t\tvar valueOpts = me._getValueScale().options;\n\n\t\tvalues.barPercentage = valueOrDefault$3(indexOpts.barPercentage, values.barPercentage);\n\t\tvalues.barThickness = valueOrDefault$3(indexOpts.barThickness, values.barThickness);\n\t\tvalues.categoryPercentage = valueOrDefault$3(indexOpts.categoryPercentage, values.categoryPercentage);\n\t\tvalues.maxBarThickness = valueOrDefault$3(indexOpts.maxBarThickness, values.maxBarThickness);\n\t\tvalues.minBarLength = valueOrDefault$3(valueOpts.minBarLength, values.minBarLength);\n\n\t\treturn values;\n\t}\n\n});\n\nvar valueOrDefault$4 = helpers$1.valueOrDefault;\nvar resolve$1 = helpers$1.options.resolve;\n\ncore_defaults._set('bubble', {\n\thover: {\n\t\tmode: 'single'\n\t},\n\n\tscales: {\n\t\txAxes: [{\n\t\t\ttype: 'linear', // bubble should probably use a linear scale by default\n\t\t\tposition: 'bottom',\n\t\t\tid: 'x-axis-0' // need an ID so datasets can reference the scale\n\t\t}],\n\t\tyAxes: [{\n\t\t\ttype: 'linear',\n\t\t\tposition: 'left',\n\t\t\tid: 'y-axis-0'\n\t\t}]\n\t},\n\n\ttooltips: {\n\t\tcallbacks: {\n\t\t\ttitle: function() {\n\t\t\t\t// Title doesn't make sense for scatter since we format the data as a point\n\t\t\t\treturn '';\n\t\t\t},\n\t\t\tlabel: function(item, data) {\n\t\t\t\tvar datasetLabel = data.datasets[item.datasetIndex].label || '';\n\t\t\t\tvar dataPoint = data.datasets[item.datasetIndex].data[item.index];\n\t\t\t\treturn datasetLabel + ': (' + item.xLabel + ', ' + item.yLabel + ', ' + dataPoint.r + ')';\n\t\t\t}\n\t\t}\n\t}\n});\n\nvar controller_bubble = core_datasetController.extend({\n\t/**\n\t * @protected\n\t */\n\tdataElementType: elements.Point,\n\n\t/**\n\t * @private\n\t */\n\t_dataElementOptions: [\n\t\t'backgroundColor',\n\t\t'borderColor',\n\t\t'borderWidth',\n\t\t'hoverBackgroundColor',\n\t\t'hoverBorderColor',\n\t\t'hoverBorderWidth',\n\t\t'hoverRadius',\n\t\t'hitRadius',\n\t\t'pointStyle',\n\t\t'rotation'\n\t],\n\n\t/**\n\t * @protected\n\t */\n\tupdate: function(reset) {\n\t\tvar me = this;\n\t\tvar meta = me.getMeta();\n\t\tvar points = meta.data;\n\n\t\t// Update Points\n\t\thelpers$1.each(points, function(point, index) {\n\t\t\tme.updateElement(point, index, reset);\n\t\t});\n\t},\n\n\t/**\n\t * @protected\n\t */\n\tupdateElement: function(point, index, reset) {\n\t\tvar me = this;\n\t\tvar meta = me.getMeta();\n\t\tvar custom = point.custom || {};\n\t\tvar xScale = me.getScaleForId(meta.xAxisID);\n\t\tvar yScale = me.getScaleForId(meta.yAxisID);\n\t\tvar options = me._resolveDataElementOptions(point, index);\n\t\tvar data = me.getDataset().data[index];\n\t\tvar dsIndex = me.index;\n\n\t\tvar x = reset ? xScale.getPixelForDecimal(0.5) : xScale.getPixelForValue(typeof data === 'object' ? data : NaN, index, dsIndex);\n\t\tvar y = reset ? yScale.getBasePixel() : yScale.getPixelForValue(data, index, dsIndex);\n\n\t\tpoint._xScale = xScale;\n\t\tpoint._yScale = yScale;\n\t\tpoint._options = options;\n\t\tpoint._datasetIndex = dsIndex;\n\t\tpoint._index = index;\n\t\tpoint._model = {\n\t\t\tbackgroundColor: options.backgroundColor,\n\t\t\tborderColor: options.borderColor,\n\t\t\tborderWidth: options.borderWidth,\n\t\t\thitRadius: options.hitRadius,\n\t\t\tpointStyle: options.pointStyle,\n\t\t\trotation: options.rotation,\n\t\t\tradius: reset ? 0 : options.radius,\n\t\t\tskip: custom.skip || isNaN(x) || isNaN(y),\n\t\t\tx: x,\n\t\t\ty: y,\n\t\t};\n\n\t\tpoint.pivot();\n\t},\n\n\t/**\n\t * @protected\n\t */\n\tsetHoverStyle: function(point) {\n\t\tvar model = point._model;\n\t\tvar options = point._options;\n\t\tvar getHoverColor = helpers$1.getHoverColor;\n\n\t\tpoint.$previousStyle = {\n\t\t\tbackgroundColor: model.backgroundColor,\n\t\t\tborderColor: model.borderColor,\n\t\t\tborderWidth: model.borderWidth,\n\t\t\tradius: model.radius\n\t\t};\n\n\t\tmodel.backgroundColor = valueOrDefault$4(options.hoverBackgroundColor, getHoverColor(options.backgroundColor));\n\t\tmodel.borderColor = valueOrDefault$4(options.hoverBorderColor, getHoverColor(options.borderColor));\n\t\tmodel.borderWidth = valueOrDefault$4(options.hoverBorderWidth, options.borderWidth);\n\t\tmodel.radius = options.radius + options.hoverRadius;\n\t},\n\n\t/**\n\t * @private\n\t */\n\t_resolveDataElementOptions: function(point, index) {\n\t\tvar me = this;\n\t\tvar chart = me.chart;\n\t\tvar dataset = me.getDataset();\n\t\tvar custom = point.custom || {};\n\t\tvar data = dataset.data[index] || {};\n\t\tvar values = core_datasetController.prototype._resolveDataElementOptions.apply(me, arguments);\n\n\t\t// Scriptable options\n\t\tvar context = {\n\t\t\tchart: chart,\n\t\t\tdataIndex: index,\n\t\t\tdataset: dataset,\n\t\t\tdatasetIndex: me.index\n\t\t};\n\n\t\t// In case values were cached (and thus frozen), we need to clone the values\n\t\tif (me._cachedDataOpts === values) {\n\t\t\tvalues = helpers$1.extend({}, values);\n\t\t}\n\n\t\t// Custom radius resolution\n\t\tvalues.radius = resolve$1([\n\t\t\tcustom.radius,\n\t\t\tdata.r,\n\t\t\tme._config.radius,\n\t\t\tchart.options.elements.point.radius\n\t\t], context, index);\n\n\t\treturn values;\n\t}\n});\n\nvar valueOrDefault$5 = helpers$1.valueOrDefault;\n\nvar PI$1 = Math.PI;\nvar DOUBLE_PI$1 = PI$1 * 2;\nvar HALF_PI$1 = PI$1 / 2;\n\ncore_defaults._set('doughnut', {\n\tanimation: {\n\t\t// Boolean - Whether we animate the rotation of the Doughnut\n\t\tanimateRotate: true,\n\t\t// Boolean - Whether we animate scaling the Doughnut from the centre\n\t\tanimateScale: false\n\t},\n\thover: {\n\t\tmode: 'single'\n\t},\n\tlegendCallback: function(chart) {\n\t\tvar list = document.createElement('ul');\n\t\tvar data = chart.data;\n\t\tvar datasets = data.datasets;\n\t\tvar labels = data.labels;\n\t\tvar i, ilen, listItem, listItemSpan;\n\n\t\tlist.setAttribute('class', chart.id + '-legend');\n\t\tif (datasets.length) {\n\t\t\tfor (i = 0, ilen = datasets[0].data.length; i < ilen; ++i) {\n\t\t\t\tlistItem = list.appendChild(document.createElement('li'));\n\t\t\t\tlistItemSpan = listItem.appendChild(document.createElement('span'));\n\t\t\t\tlistItemSpan.style.backgroundColor = datasets[0].backgroundColor[i];\n\t\t\t\tif (labels[i]) {\n\t\t\t\t\tlistItem.appendChild(document.createTextNode(labels[i]));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn list.outerHTML;\n\t},\n\tlegend: {\n\t\tlabels: {\n\t\t\tgenerateLabels: function(chart) {\n\t\t\t\tvar data = chart.data;\n\t\t\t\tif (data.labels.length && data.datasets.length) {\n\t\t\t\t\treturn data.labels.map(function(label, i) {\n\t\t\t\t\t\tvar meta = chart.getDatasetMeta(0);\n\t\t\t\t\t\tvar style = meta.controller.getStyle(i);\n\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\ttext: label,\n\t\t\t\t\t\t\tfillStyle: style.backgroundColor,\n\t\t\t\t\t\t\tstrokeStyle: style.borderColor,\n\t\t\t\t\t\t\tlineWidth: style.borderWidth,\n\t\t\t\t\t\t\thidden: isNaN(data.datasets[0].data[i]) || meta.data[i].hidden,\n\n\t\t\t\t\t\t\t// Extra data used for toggling the correct item\n\t\t\t\t\t\t\tindex: i\n\t\t\t\t\t\t};\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\treturn [];\n\t\t\t}\n\t\t},\n\n\t\tonClick: function(e, legendItem) {\n\t\t\tvar index = legendItem.index;\n\t\t\tvar chart = this.chart;\n\t\t\tvar i, ilen, meta;\n\n\t\t\tfor (i = 0, ilen = (chart.data.datasets || []).length; i < ilen; ++i) {\n\t\t\t\tmeta = chart.getDatasetMeta(i);\n\t\t\t\t// toggle visibility of index if exists\n\t\t\t\tif (meta.data[index]) {\n\t\t\t\t\tmeta.data[index].hidden = !meta.data[index].hidden;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tchart.update();\n\t\t}\n\t},\n\n\t// The percentage of the chart that we cut out of the middle.\n\tcutoutPercentage: 50,\n\n\t// The rotation of the chart, where the first data arc begins.\n\trotation: -HALF_PI$1,\n\n\t// The total circumference of the chart.\n\tcircumference: DOUBLE_PI$1,\n\n\t// Need to override these to give a nice default\n\ttooltips: {\n\t\tcallbacks: {\n\t\t\ttitle: function() {\n\t\t\t\treturn '';\n\t\t\t},\n\t\t\tlabel: function(tooltipItem, data) {\n\t\t\t\tvar dataLabel = data.labels[tooltipItem.index];\n\t\t\t\tvar value = ': ' + data.datasets[tooltipItem.datasetIndex].data[tooltipItem.index];\n\n\t\t\t\tif (helpers$1.isArray(dataLabel)) {\n\t\t\t\t\t// show value on first line of multiline label\n\t\t\t\t\t// need to clone because we are changing the value\n\t\t\t\t\tdataLabel = dataLabel.slice();\n\t\t\t\t\tdataLabel[0] += value;\n\t\t\t\t} else {\n\t\t\t\t\tdataLabel += value;\n\t\t\t\t}\n\n\t\t\t\treturn dataLabel;\n\t\t\t}\n\t\t}\n\t}\n});\n\nvar controller_doughnut = core_datasetController.extend({\n\n\tdataElementType: elements.Arc,\n\n\tlinkScales: helpers$1.noop,\n\n\t/**\n\t * @private\n\t */\n\t_dataElementOptions: [\n\t\t'backgroundColor',\n\t\t'borderColor',\n\t\t'borderWidth',\n\t\t'borderAlign',\n\t\t'hoverBackgroundColor',\n\t\t'hoverBorderColor',\n\t\t'hoverBorderWidth',\n\t],\n\n\t// Get index of the dataset in relation to the visible datasets. This allows determining the inner and outer radius correctly\n\tgetRingIndex: function(datasetIndex) {\n\t\tvar ringIndex = 0;\n\n\t\tfor (var j = 0; j < datasetIndex; ++j) {\n\t\t\tif (this.chart.isDatasetVisible(j)) {\n\t\t\t\t++ringIndex;\n\t\t\t}\n\t\t}\n\n\t\treturn ringIndex;\n\t},\n\n\tupdate: function(reset) {\n\t\tvar me = this;\n\t\tvar chart = me.chart;\n\t\tvar chartArea = chart.chartArea;\n\t\tvar opts = chart.options;\n\t\tvar ratioX = 1;\n\t\tvar ratioY = 1;\n\t\tvar offsetX = 0;\n\t\tvar offsetY = 0;\n\t\tvar meta = me.getMeta();\n\t\tvar arcs = meta.data;\n\t\tvar cutout = opts.cutoutPercentage / 100 || 0;\n\t\tvar circumference = opts.circumference;\n\t\tvar chartWeight = me._getRingWeight(me.index);\n\t\tvar maxWidth, maxHeight, i, ilen;\n\n\t\t// If the chart's circumference isn't a full circle, calculate size as a ratio of the width/height of the arc\n\t\tif (circumference < DOUBLE_PI$1) {\n\t\t\tvar startAngle = opts.rotation % DOUBLE_PI$1;\n\t\t\tstartAngle += startAngle >= PI$1 ? -DOUBLE_PI$1 : startAngle < -PI$1 ? DOUBLE_PI$1 : 0;\n\t\t\tvar endAngle = startAngle + circumference;\n\t\t\tvar startX = Math.cos(startAngle);\n\t\t\tvar startY = Math.sin(startAngle);\n\t\t\tvar endX = Math.cos(endAngle);\n\t\t\tvar endY = Math.sin(endAngle);\n\t\t\tvar contains0 = (startAngle <= 0 && endAngle >= 0) || endAngle >= DOUBLE_PI$1;\n\t\t\tvar contains90 = (startAngle <= HALF_PI$1 && endAngle >= HALF_PI$1) || endAngle >= DOUBLE_PI$1 + HALF_PI$1;\n\t\t\tvar contains180 = startAngle === -PI$1 || endAngle >= PI$1;\n\t\t\tvar contains270 = (startAngle <= -HALF_PI$1 && endAngle >= -HALF_PI$1) || endAngle >= PI$1 + HALF_PI$1;\n\t\t\tvar minX = contains180 ? -1 : Math.min(startX, startX * cutout, endX, endX * cutout);\n\t\t\tvar minY = contains270 ? -1 : Math.min(startY, startY * cutout, endY, endY * cutout);\n\t\t\tvar maxX = contains0 ? 1 : Math.max(startX, startX * cutout, endX, endX * cutout);\n\t\t\tvar maxY = contains90 ? 1 : Math.max(startY, startY * cutout, endY, endY * cutout);\n\t\t\tratioX = (maxX - minX) / 2;\n\t\t\tratioY = (maxY - minY) / 2;\n\t\t\toffsetX = -(maxX + minX) / 2;\n\t\t\toffsetY = -(maxY + minY) / 2;\n\t\t}\n\n\t\tfor (i = 0, ilen = arcs.length; i < ilen; ++i) {\n\t\t\tarcs[i]._options = me._resolveDataElementOptions(arcs[i], i);\n\t\t}\n\n\t\tchart.borderWidth = me.getMaxBorderWidth();\n\t\tmaxWidth = (chartArea.right - chartArea.left - chart.borderWidth) / ratioX;\n\t\tmaxHeight = (chartArea.bottom - chartArea.top - chart.borderWidth) / ratioY;\n\t\tchart.outerRadius = Math.max(Math.min(maxWidth, maxHeight) / 2, 0);\n\t\tchart.innerRadius = Math.max(chart.outerRadius * cutout, 0);\n\t\tchart.radiusLength = (chart.outerRadius - chart.innerRadius) / (me._getVisibleDatasetWeightTotal() || 1);\n\t\tchart.offsetX = offsetX * chart.outerRadius;\n\t\tchart.offsetY = offsetY * chart.outerRadius;\n\n\t\tmeta.total = me.calculateTotal();\n\n\t\tme.outerRadius = chart.outerRadius - chart.radiusLength * me._getRingWeightOffset(me.index);\n\t\tme.innerRadius = Math.max(me.outerRadius - chart.radiusLength * chartWeight, 0);\n\n\t\tfor (i = 0, ilen = arcs.length; i < ilen; ++i) {\n\t\t\tme.updateElement(arcs[i], i, reset);\n\t\t}\n\t},\n\n\tupdateElement: function(arc, index, reset) {\n\t\tvar me = this;\n\t\tvar chart = me.chart;\n\t\tvar chartArea = chart.chartArea;\n\t\tvar opts = chart.options;\n\t\tvar animationOpts = opts.animation;\n\t\tvar centerX = (chartArea.left + chartArea.right) / 2;\n\t\tvar centerY = (chartArea.top + chartArea.bottom) / 2;\n\t\tvar startAngle = opts.rotation; // non reset case handled later\n\t\tvar endAngle = opts.rotation; // non reset case handled later\n\t\tvar dataset = me.getDataset();\n\t\tvar circumference = reset && animationOpts.animateRotate ? 0 : arc.hidden ? 0 : me.calculateCircumference(dataset.data[index]) * (opts.circumference / DOUBLE_PI$1);\n\t\tvar innerRadius = reset && animationOpts.animateScale ? 0 : me.innerRadius;\n\t\tvar outerRadius = reset && animationOpts.animateScale ? 0 : me.outerRadius;\n\t\tvar options = arc._options || {};\n\n\t\thelpers$1.extend(arc, {\n\t\t\t// Utility\n\t\t\t_datasetIndex: me.index,\n\t\t\t_index: index,\n\n\t\t\t// Desired view properties\n\t\t\t_model: {\n\t\t\t\tbackgroundColor: options.backgroundColor,\n\t\t\t\tborderColor: options.borderColor,\n\t\t\t\tborderWidth: options.borderWidth,\n\t\t\t\tborderAlign: options.borderAlign,\n\t\t\t\tx: centerX + chart.offsetX,\n\t\t\t\ty: centerY + chart.offsetY,\n\t\t\t\tstartAngle: startAngle,\n\t\t\t\tendAngle: endAngle,\n\t\t\t\tcircumference: circumference,\n\t\t\t\touterRadius: outerRadius,\n\t\t\t\tinnerRadius: innerRadius,\n\t\t\t\tlabel: helpers$1.valueAtIndexOrDefault(dataset.label, index, chart.data.labels[index])\n\t\t\t}\n\t\t});\n\n\t\tvar model = arc._model;\n\n\t\t// Set correct angles if not resetting\n\t\tif (!reset || !animationOpts.animateRotate) {\n\t\t\tif (index === 0) {\n\t\t\t\tmodel.startAngle = opts.rotation;\n\t\t\t} else {\n\t\t\t\tmodel.startAngle = me.getMeta().data[index - 1]._model.endAngle;\n\t\t\t}\n\n\t\t\tmodel.endAngle = model.startAngle + model.circumference;\n\t\t}\n\n\t\tarc.pivot();\n\t},\n\n\tcalculateTotal: function() {\n\t\tvar dataset = this.getDataset();\n\t\tvar meta = this.getMeta();\n\t\tvar total = 0;\n\t\tvar value;\n\n\t\thelpers$1.each(meta.data, function(element, index) {\n\t\t\tvalue = dataset.data[index];\n\t\t\tif (!isNaN(value) && !element.hidden) {\n\t\t\t\ttotal += Math.abs(value);\n\t\t\t}\n\t\t});\n\n\t\t/* if (total === 0) {\n\t\t\ttotal = NaN;\n\t\t}*/\n\n\t\treturn total;\n\t},\n\n\tcalculateCircumference: function(value) {\n\t\tvar total = this.getMeta().total;\n\t\tif (total > 0 && !isNaN(value)) {\n\t\t\treturn DOUBLE_PI$1 * (Math.abs(value) / total);\n\t\t}\n\t\treturn 0;\n\t},\n\n\t// gets the max border or hover width to properly scale pie charts\n\tgetMaxBorderWidth: function(arcs) {\n\t\tvar me = this;\n\t\tvar max = 0;\n\t\tvar chart = me.chart;\n\t\tvar i, ilen, meta, arc, controller, options, borderWidth, hoverWidth;\n\n\t\tif (!arcs) {\n\t\t\t// Find the outmost visible dataset\n\t\t\tfor (i = 0, ilen = chart.data.datasets.length; i < ilen; ++i) {\n\t\t\t\tif (chart.isDatasetVisible(i)) {\n\t\t\t\t\tmeta = chart.getDatasetMeta(i);\n\t\t\t\t\tarcs = meta.data;\n\t\t\t\t\tif (i !== me.index) {\n\t\t\t\t\t\tcontroller = meta.controller;\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (!arcs) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tfor (i = 0, ilen = arcs.length; i < ilen; ++i) {\n\t\t\tarc = arcs[i];\n\t\t\tif (controller) {\n\t\t\t\tcontroller._configure();\n\t\t\t\toptions = controller._resolveDataElementOptions(arc, i);\n\t\t\t} else {\n\t\t\t\toptions = arc._options;\n\t\t\t}\n\t\t\tif (options.borderAlign !== 'inner') {\n\t\t\t\tborderWidth = options.borderWidth;\n\t\t\t\thoverWidth = options.hoverBorderWidth;\n\n\t\t\t\tmax = borderWidth > max ? borderWidth : max;\n\t\t\t\tmax = hoverWidth > max ? hoverWidth : max;\n\t\t\t}\n\t\t}\n\t\treturn max;\n\t},\n\n\t/**\n\t * @protected\n\t */\n\tsetHoverStyle: function(arc) {\n\t\tvar model = arc._model;\n\t\tvar options = arc._options;\n\t\tvar getHoverColor = helpers$1.getHoverColor;\n\n\t\tarc.$previousStyle = {\n\t\t\tbackgroundColor: model.backgroundColor,\n\t\t\tborderColor: model.borderColor,\n\t\t\tborderWidth: model.borderWidth,\n\t\t};\n\n\t\tmodel.backgroundColor = valueOrDefault$5(options.hoverBackgroundColor, getHoverColor(options.backgroundColor));\n\t\tmodel.borderColor = valueOrDefault$5(options.hoverBorderColor, getHoverColor(options.borderColor));\n\t\tmodel.borderWidth = valueOrDefault$5(options.hoverBorderWidth, options.borderWidth);\n\t},\n\n\t/**\n\t * Get radius length offset of the dataset in relation to the visible datasets weights. This allows determining the inner and outer radius correctly\n\t * @private\n\t */\n\t_getRingWeightOffset: function(datasetIndex) {\n\t\tvar ringWeightOffset = 0;\n\n\t\tfor (var i = 0; i < datasetIndex; ++i) {\n\t\t\tif (this.chart.isDatasetVisible(i)) {\n\t\t\t\tringWeightOffset += this._getRingWeight(i);\n\t\t\t}\n\t\t}\n\n\t\treturn ringWeightOffset;\n\t},\n\n\t/**\n\t * @private\n\t */\n\t_getRingWeight: function(dataSetIndex) {\n\t\treturn Math.max(valueOrDefault$5(this.chart.data.datasets[dataSetIndex].weight, 1), 0);\n\t},\n\n\t/**\n\t * Returns the sum of all visibile data set weights. This value can be 0.\n\t * @private\n\t */\n\t_getVisibleDatasetWeightTotal: function() {\n\t\treturn this._getRingWeightOffset(this.chart.data.datasets.length);\n\t}\n});\n\ncore_defaults._set('horizontalBar', {\n\thover: {\n\t\tmode: 'index',\n\t\taxis: 'y'\n\t},\n\n\tscales: {\n\t\txAxes: [{\n\t\t\ttype: 'linear',\n\t\t\tposition: 'bottom'\n\t\t}],\n\n\t\tyAxes: [{\n\t\t\ttype: 'category',\n\t\t\tposition: 'left',\n\t\t\toffset: true,\n\t\t\tgridLines: {\n\t\t\t\toffsetGridLines: true\n\t\t\t}\n\t\t}]\n\t},\n\n\telements: {\n\t\trectangle: {\n\t\t\tborderSkipped: 'left'\n\t\t}\n\t},\n\n\ttooltips: {\n\t\tmode: 'index',\n\t\taxis: 'y'\n\t}\n});\n\ncore_defaults._set('global', {\n\tdatasets: {\n\t\thorizontalBar: {\n\t\t\tcategoryPercentage: 0.8,\n\t\t\tbarPercentage: 0.9\n\t\t}\n\t}\n});\n\nvar controller_horizontalBar = controller_bar.extend({\n\t/**\n\t * @private\n\t */\n\t_getValueScaleId: function() {\n\t\treturn this.getMeta().xAxisID;\n\t},\n\n\t/**\n\t * @private\n\t */\n\t_getIndexScaleId: function() {\n\t\treturn this.getMeta().yAxisID;\n\t}\n});\n\nvar valueOrDefault$6 = helpers$1.valueOrDefault;\nvar resolve$2 = helpers$1.options.resolve;\nvar isPointInArea = helpers$1.canvas._isPointInArea;\n\ncore_defaults._set('line', {\n\tshowLines: true,\n\tspanGaps: false,\n\n\thover: {\n\t\tmode: 'label'\n\t},\n\n\tscales: {\n\t\txAxes: [{\n\t\t\ttype: 'category',\n\t\t\tid: 'x-axis-0'\n\t\t}],\n\t\tyAxes: [{\n\t\t\ttype: 'linear',\n\t\t\tid: 'y-axis-0'\n\t\t}]\n\t}\n});\n\nfunction scaleClip(scale, halfBorderWidth) {\n\tvar tickOpts = scale && scale.options.ticks || {};\n\tvar reverse = tickOpts.reverse;\n\tvar min = tickOpts.min === undefined ? halfBorderWidth : 0;\n\tvar max = tickOpts.max === undefined ? halfBorderWidth : 0;\n\treturn {\n\t\tstart: reverse ? max : min,\n\t\tend: reverse ? min : max\n\t};\n}\n\nfunction defaultClip(xScale, yScale, borderWidth) {\n\tvar halfBorderWidth = borderWidth / 2;\n\tvar x = scaleClip(xScale, halfBorderWidth);\n\tvar y = scaleClip(yScale, halfBorderWidth);\n\n\treturn {\n\t\ttop: y.end,\n\t\tright: x.end,\n\t\tbottom: y.start,\n\t\tleft: x.start\n\t};\n}\n\nfunction toClip(value) {\n\tvar t, r, b, l;\n\n\tif (helpers$1.isObject(value)) {\n\t\tt = value.top;\n\t\tr = value.right;\n\t\tb = value.bottom;\n\t\tl = value.left;\n\t} else {\n\t\tt = r = b = l = value;\n\t}\n\n\treturn {\n\t\ttop: t,\n\t\tright: r,\n\t\tbottom: b,\n\t\tleft: l\n\t};\n}\n\n\nvar controller_line = core_datasetController.extend({\n\n\tdatasetElementType: elements.Line,\n\n\tdataElementType: elements.Point,\n\n\t/**\n\t * @private\n\t */\n\t_datasetElementOptions: [\n\t\t'backgroundColor',\n\t\t'borderCapStyle',\n\t\t'borderColor',\n\t\t'borderDash',\n\t\t'borderDashOffset',\n\t\t'borderJoinStyle',\n\t\t'borderWidth',\n\t\t'cubicInterpolationMode',\n\t\t'fill'\n\t],\n\n\t/**\n\t * @private\n\t */\n\t_dataElementOptions: {\n\t\tbackgroundColor: 'pointBackgroundColor',\n\t\tborderColor: 'pointBorderColor',\n\t\tborderWidth: 'pointBorderWidth',\n\t\thitRadius: 'pointHitRadius',\n\t\thoverBackgroundColor: 'pointHoverBackgroundColor',\n\t\thoverBorderColor: 'pointHoverBorderColor',\n\t\thoverBorderWidth: 'pointHoverBorderWidth',\n\t\thoverRadius: 'pointHoverRadius',\n\t\tpointStyle: 'pointStyle',\n\t\tradius: 'pointRadius',\n\t\trotation: 'pointRotation'\n\t},\n\n\tupdate: function(reset) {\n\t\tvar me = this;\n\t\tvar meta = me.getMeta();\n\t\tvar line = meta.dataset;\n\t\tvar points = meta.data || [];\n\t\tvar options = me.chart.options;\n\t\tvar config = me._config;\n\t\tvar showLine = me._showLine = valueOrDefault$6(config.showLine, options.showLines);\n\t\tvar i, ilen;\n\n\t\tme._xScale = me.getScaleForId(meta.xAxisID);\n\t\tme._yScale = me.getScaleForId(meta.yAxisID);\n\n\t\t// Update Line\n\t\tif (showLine) {\n\t\t\t// Compatibility: If the properties are defined with only the old name, use those values\n\t\t\tif (config.tension !== undefined && config.lineTension === undefined) {\n\t\t\t\tconfig.lineTension = config.tension;\n\t\t\t}\n\n\t\t\t// Utility\n\t\t\tline._scale = me._yScale;\n\t\t\tline._datasetIndex = me.index;\n\t\t\t// Data\n\t\t\tline._children = points;\n\t\t\t// Model\n\t\t\tline._model = me._resolveDatasetElementOptions(line);\n\n\t\t\tline.pivot();\n\t\t}\n\n\t\t// Update Points\n\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\n\t\t\tme.updateElement(points[i], i, reset);\n\t\t}\n\n\t\tif (showLine && line._model.tension !== 0) {\n\t\t\tme.updateBezierControlPoints();\n\t\t}\n\n\t\t// Now pivot the point for animation\n\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\n\t\t\tpoints[i].pivot();\n\t\t}\n\t},\n\n\tupdateElement: function(point, index, reset) {\n\t\tvar me = this;\n\t\tvar meta = me.getMeta();\n\t\tvar custom = point.custom || {};\n\t\tvar dataset = me.getDataset();\n\t\tvar datasetIndex = me.index;\n\t\tvar value = dataset.data[index];\n\t\tvar xScale = me._xScale;\n\t\tvar yScale = me._yScale;\n\t\tvar lineModel = meta.dataset._model;\n\t\tvar x, y;\n\n\t\tvar options = me._resolveDataElementOptions(point, index);\n\n\t\tx = xScale.getPixelForValue(typeof value === 'object' ? value : NaN, index, datasetIndex);\n\t\ty = reset ? yScale.getBasePixel() : me.calculatePointY(value, index, datasetIndex);\n\n\t\t// Utility\n\t\tpoint._xScale = xScale;\n\t\tpoint._yScale = yScale;\n\t\tpoint._options = options;\n\t\tpoint._datasetIndex = datasetIndex;\n\t\tpoint._index = index;\n\n\t\t// Desired view properties\n\t\tpoint._model = {\n\t\t\tx: x,\n\t\t\ty: y,\n\t\t\tskip: custom.skip || isNaN(x) || isNaN(y),\n\t\t\t// Appearance\n\t\t\tradius: options.radius,\n\t\t\tpointStyle: options.pointStyle,\n\t\t\trotation: options.rotation,\n\t\t\tbackgroundColor: options.backgroundColor,\n\t\t\tborderColor: options.borderColor,\n\t\t\tborderWidth: options.borderWidth,\n\t\t\ttension: valueOrDefault$6(custom.tension, lineModel ? lineModel.tension : 0),\n\t\t\tsteppedLine: lineModel ? lineModel.steppedLine : false,\n\t\t\t// Tooltip\n\t\t\thitRadius: options.hitRadius\n\t\t};\n\t},\n\n\t/**\n\t * @private\n\t */\n\t_resolveDatasetElementOptions: function(element) {\n\t\tvar me = this;\n\t\tvar config = me._config;\n\t\tvar custom = element.custom || {};\n\t\tvar options = me.chart.options;\n\t\tvar lineOptions = options.elements.line;\n\t\tvar values = core_datasetController.prototype._resolveDatasetElementOptions.apply(me, arguments);\n\n\t\t// The default behavior of lines is to break at null values, according\n\t\t// to https://github.com/chartjs/Chart.js/issues/2435#issuecomment-216718158\n\t\t// This option gives lines the ability to span gaps\n\t\tvalues.spanGaps = valueOrDefault$6(config.spanGaps, options.spanGaps);\n\t\tvalues.tension = valueOrDefault$6(config.lineTension, lineOptions.tension);\n\t\tvalues.steppedLine = resolve$2([custom.steppedLine, config.steppedLine, lineOptions.stepped]);\n\t\tvalues.clip = toClip(valueOrDefault$6(config.clip, defaultClip(me._xScale, me._yScale, values.borderWidth)));\n\n\t\treturn values;\n\t},\n\n\tcalculatePointY: function(value, index, datasetIndex) {\n\t\tvar me = this;\n\t\tvar chart = me.chart;\n\t\tvar yScale = me._yScale;\n\t\tvar sumPos = 0;\n\t\tvar sumNeg = 0;\n\t\tvar i, ds, dsMeta, stackedRightValue, rightValue, metasets, ilen;\n\n\t\tif (yScale.options.stacked) {\n\t\t\trightValue = +yScale.getRightValue(value);\n\t\t\tmetasets = chart._getSortedVisibleDatasetMetas();\n\t\t\tilen = metasets.length;\n\n\t\t\tfor (i = 0; i < ilen; ++i) {\n\t\t\t\tdsMeta = metasets[i];\n\t\t\t\tif (dsMeta.index === datasetIndex) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tds = chart.data.datasets[dsMeta.index];\n\t\t\t\tif (dsMeta.type === 'line' && dsMeta.yAxisID === yScale.id) {\n\t\t\t\t\tstackedRightValue = +yScale.getRightValue(ds.data[index]);\n\t\t\t\t\tif (stackedRightValue < 0) {\n\t\t\t\t\t\tsumNeg += stackedRightValue || 0;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsumPos += stackedRightValue || 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (rightValue < 0) {\n\t\t\t\treturn yScale.getPixelForValue(sumNeg + rightValue);\n\t\t\t}\n\t\t\treturn yScale.getPixelForValue(sumPos + rightValue);\n\t\t}\n\t\treturn yScale.getPixelForValue(value);\n\t},\n\n\tupdateBezierControlPoints: function() {\n\t\tvar me = this;\n\t\tvar chart = me.chart;\n\t\tvar meta = me.getMeta();\n\t\tvar lineModel = meta.dataset._model;\n\t\tvar area = chart.chartArea;\n\t\tvar points = meta.data || [];\n\t\tvar i, ilen, model, controlPoints;\n\n\t\t// Only consider points that are drawn in case the spanGaps option is used\n\t\tif (lineModel.spanGaps) {\n\t\t\tpoints = points.filter(function(pt) {\n\t\t\t\treturn !pt._model.skip;\n\t\t\t});\n\t\t}\n\n\t\tfunction capControlPoint(pt, min, max) {\n\t\t\treturn Math.max(Math.min(pt, max), min);\n\t\t}\n\n\t\tif (lineModel.cubicInterpolationMode === 'monotone') {\n\t\t\thelpers$1.splineCurveMonotone(points);\n\t\t} else {\n\t\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\n\t\t\t\tmodel = points[i]._model;\n\t\t\t\tcontrolPoints = helpers$1.splineCurve(\n\t\t\t\t\thelpers$1.previousItem(points, i)._model,\n\t\t\t\t\tmodel,\n\t\t\t\t\thelpers$1.nextItem(points, i)._model,\n\t\t\t\t\tlineModel.tension\n\t\t\t\t);\n\t\t\t\tmodel.controlPointPreviousX = controlPoints.previous.x;\n\t\t\t\tmodel.controlPointPreviousY = controlPoints.previous.y;\n\t\t\t\tmodel.controlPointNextX = controlPoints.next.x;\n\t\t\t\tmodel.controlPointNextY = controlPoints.next.y;\n\t\t\t}\n\t\t}\n\n\t\tif (chart.options.elements.line.capBezierPoints) {\n\t\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\n\t\t\t\tmodel = points[i]._model;\n\t\t\t\tif (isPointInArea(model, area)) {\n\t\t\t\t\tif (i > 0 && isPointInArea(points[i - 1]._model, area)) {\n\t\t\t\t\t\tmodel.controlPointPreviousX = capControlPoint(model.controlPointPreviousX, area.left, area.right);\n\t\t\t\t\t\tmodel.controlPointPreviousY = capControlPoint(model.controlPointPreviousY, area.top, area.bottom);\n\t\t\t\t\t}\n\t\t\t\t\tif (i < points.length - 1 && isPointInArea(points[i + 1]._model, area)) {\n\t\t\t\t\t\tmodel.controlPointNextX = capControlPoint(model.controlPointNextX, area.left, area.right);\n\t\t\t\t\t\tmodel.controlPointNextY = capControlPoint(model.controlPointNextY, area.top, area.bottom);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\tdraw: function() {\n\t\tvar me = this;\n\t\tvar chart = me.chart;\n\t\tvar meta = me.getMeta();\n\t\tvar points = meta.data || [];\n\t\tvar area = chart.chartArea;\n\t\tvar canvas = chart.canvas;\n\t\tvar i = 0;\n\t\tvar ilen = points.length;\n\t\tvar clip;\n\n\t\tif (me._showLine) {\n\t\t\tclip = meta.dataset._model.clip;\n\n\t\t\thelpers$1.canvas.clipArea(chart.ctx, {\n\t\t\t\tleft: clip.left === false ? 0 : area.left - clip.left,\n\t\t\t\tright: clip.right === false ? canvas.width : area.right + clip.right,\n\t\t\t\ttop: clip.top === false ? 0 : area.top - clip.top,\n\t\t\t\tbottom: clip.bottom === false ? canvas.height : area.bottom + clip.bottom\n\t\t\t});\n\n\t\t\tmeta.dataset.draw();\n\n\t\t\thelpers$1.canvas.unclipArea(chart.ctx);\n\t\t}\n\n\t\t// Draw the points\n\t\tfor (; i < ilen; ++i) {\n\t\t\tpoints[i].draw(area);\n\t\t}\n\t},\n\n\t/**\n\t * @protected\n\t */\n\tsetHoverStyle: function(point) {\n\t\tvar model = point._model;\n\t\tvar options = point._options;\n\t\tvar getHoverColor = helpers$1.getHoverColor;\n\n\t\tpoint.$previousStyle = {\n\t\t\tbackgroundColor: model.backgroundColor,\n\t\t\tborderColor: model.borderColor,\n\t\t\tborderWidth: model.borderWidth,\n\t\t\tradius: model.radius\n\t\t};\n\n\t\tmodel.backgroundColor = valueOrDefault$6(options.hoverBackgroundColor, getHoverColor(options.backgroundColor));\n\t\tmodel.borderColor = valueOrDefault$6(options.hoverBorderColor, getHoverColor(options.borderColor));\n\t\tmodel.borderWidth = valueOrDefault$6(options.hoverBorderWidth, options.borderWidth);\n\t\tmodel.radius = valueOrDefault$6(options.hoverRadius, options.radius);\n\t},\n});\n\nvar resolve$3 = helpers$1.options.resolve;\n\ncore_defaults._set('polarArea', {\n\tscale: {\n\t\ttype: 'radialLinear',\n\t\tangleLines: {\n\t\t\tdisplay: false\n\t\t},\n\t\tgridLines: {\n\t\t\tcircular: true\n\t\t},\n\t\tpointLabels: {\n\t\t\tdisplay: false\n\t\t},\n\t\tticks: {\n\t\t\tbeginAtZero: true\n\t\t}\n\t},\n\n\t// Boolean - Whether to animate the rotation of the chart\n\tanimation: {\n\t\tanimateRotate: true,\n\t\tanimateScale: true\n\t},\n\n\tstartAngle: -0.5 * Math.PI,\n\tlegendCallback: function(chart) {\n\t\tvar list = document.createElement('ul');\n\t\tvar data = chart.data;\n\t\tvar datasets = data.datasets;\n\t\tvar labels = data.labels;\n\t\tvar i, ilen, listItem, listItemSpan;\n\n\t\tlist.setAttribute('class', chart.id + '-legend');\n\t\tif (datasets.length) {\n\t\t\tfor (i = 0, ilen = datasets[0].data.length; i < ilen; ++i) {\n\t\t\t\tlistItem = list.appendChild(document.createElement('li'));\n\t\t\t\tlistItemSpan = listItem.appendChild(document.createElement('span'));\n\t\t\t\tlistItemSpan.style.backgroundColor = datasets[0].backgroundColor[i];\n\t\t\t\tif (labels[i]) {\n\t\t\t\t\tlistItem.appendChild(document.createTextNode(labels[i]));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn list.outerHTML;\n\t},\n\tlegend: {\n\t\tlabels: {\n\t\t\tgenerateLabels: function(chart) {\n\t\t\t\tvar data = chart.data;\n\t\t\t\tif (data.labels.length && data.datasets.length) {\n\t\t\t\t\treturn data.labels.map(function(label, i) {\n\t\t\t\t\t\tvar meta = chart.getDatasetMeta(0);\n\t\t\t\t\t\tvar style = meta.controller.getStyle(i);\n\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\ttext: label,\n\t\t\t\t\t\t\tfillStyle: style.backgroundColor,\n\t\t\t\t\t\t\tstrokeStyle: style.borderColor,\n\t\t\t\t\t\t\tlineWidth: style.borderWidth,\n\t\t\t\t\t\t\thidden: isNaN(data.datasets[0].data[i]) || meta.data[i].hidden,\n\n\t\t\t\t\t\t\t// Extra data used for toggling the correct item\n\t\t\t\t\t\t\tindex: i\n\t\t\t\t\t\t};\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\treturn [];\n\t\t\t}\n\t\t},\n\n\t\tonClick: function(e, legendItem) {\n\t\t\tvar index = legendItem.index;\n\t\t\tvar chart = this.chart;\n\t\t\tvar i, ilen, meta;\n\n\t\t\tfor (i = 0, ilen = (chart.data.datasets || []).length; i < ilen; ++i) {\n\t\t\t\tmeta = chart.getDatasetMeta(i);\n\t\t\t\tmeta.data[index].hidden = !meta.data[index].hidden;\n\t\t\t}\n\n\t\t\tchart.update();\n\t\t}\n\t},\n\n\t// Need to override these to give a nice default\n\ttooltips: {\n\t\tcallbacks: {\n\t\t\ttitle: function() {\n\t\t\t\treturn '';\n\t\t\t},\n\t\t\tlabel: function(item, data) {\n\t\t\t\treturn data.labels[item.index] + ': ' + item.yLabel;\n\t\t\t}\n\t\t}\n\t}\n});\n\nvar controller_polarArea = core_datasetController.extend({\n\n\tdataElementType: elements.Arc,\n\n\tlinkScales: helpers$1.noop,\n\n\t/**\n\t * @private\n\t */\n\t_dataElementOptions: [\n\t\t'backgroundColor',\n\t\t'borderColor',\n\t\t'borderWidth',\n\t\t'borderAlign',\n\t\t'hoverBackgroundColor',\n\t\t'hoverBorderColor',\n\t\t'hoverBorderWidth',\n\t],\n\n\t/**\n\t * @private\n\t */\n\t_getIndexScaleId: function() {\n\t\treturn this.chart.scale.id;\n\t},\n\n\t/**\n\t * @private\n\t */\n\t_getValueScaleId: function() {\n\t\treturn this.chart.scale.id;\n\t},\n\n\tupdate: function(reset) {\n\t\tvar me = this;\n\t\tvar dataset = me.getDataset();\n\t\tvar meta = me.getMeta();\n\t\tvar start = me.chart.options.startAngle || 0;\n\t\tvar starts = me._starts = [];\n\t\tvar angles = me._angles = [];\n\t\tvar arcs = meta.data;\n\t\tvar i, ilen, angle;\n\n\t\tme._updateRadius();\n\n\t\tmeta.count = me.countVisibleElements();\n\n\t\tfor (i = 0, ilen = dataset.data.length; i < ilen; i++) {\n\t\t\tstarts[i] = start;\n\t\t\tangle = me._computeAngle(i);\n\t\t\tangles[i] = angle;\n\t\t\tstart += angle;\n\t\t}\n\n\t\tfor (i = 0, ilen = arcs.length; i < ilen; ++i) {\n\t\t\tarcs[i]._options = me._resolveDataElementOptions(arcs[i], i);\n\t\t\tme.updateElement(arcs[i], i, reset);\n\t\t}\n\t},\n\n\t/**\n\t * @private\n\t */\n\t_updateRadius: function() {\n\t\tvar me = this;\n\t\tvar chart = me.chart;\n\t\tvar chartArea = chart.chartArea;\n\t\tvar opts = chart.options;\n\t\tvar minSize = Math.min(chartArea.right - chartArea.left, chartArea.bottom - chartArea.top);\n\n\t\tchart.outerRadius = Math.max(minSize / 2, 0);\n\t\tchart.innerRadius = Math.max(opts.cutoutPercentage ? (chart.outerRadius / 100) * (opts.cutoutPercentage) : 1, 0);\n\t\tchart.radiusLength = (chart.outerRadius - chart.innerRadius) / chart.getVisibleDatasetCount();\n\n\t\tme.outerRadius = chart.outerRadius - (chart.radiusLength * me.index);\n\t\tme.innerRadius = me.outerRadius - chart.radiusLength;\n\t},\n\n\tupdateElement: function(arc, index, reset) {\n\t\tvar me = this;\n\t\tvar chart = me.chart;\n\t\tvar dataset = me.getDataset();\n\t\tvar opts = chart.options;\n\t\tvar animationOpts = opts.animation;\n\t\tvar scale = chart.scale;\n\t\tvar labels = chart.data.labels;\n\n\t\tvar centerX = scale.xCenter;\n\t\tvar centerY = scale.yCenter;\n\n\t\t// var negHalfPI = -0.5 * Math.PI;\n\t\tvar datasetStartAngle = opts.startAngle;\n\t\tvar distance = arc.hidden ? 0 : scale.getDistanceFromCenterForValue(dataset.data[index]);\n\t\tvar startAngle = me._starts[index];\n\t\tvar endAngle = startAngle + (arc.hidden ? 0 : me._angles[index]);\n\n\t\tvar resetRadius = animationOpts.animateScale ? 0 : scale.getDistanceFromCenterForValue(dataset.data[index]);\n\t\tvar options = arc._options || {};\n\n\t\thelpers$1.extend(arc, {\n\t\t\t// Utility\n\t\t\t_datasetIndex: me.index,\n\t\t\t_index: index,\n\t\t\t_scale: scale,\n\n\t\t\t// Desired view properties\n\t\t\t_model: {\n\t\t\t\tbackgroundColor: options.backgroundColor,\n\t\t\t\tborderColor: options.borderColor,\n\t\t\t\tborderWidth: options.borderWidth,\n\t\t\t\tborderAlign: options.borderAlign,\n\t\t\t\tx: centerX,\n\t\t\t\ty: centerY,\n\t\t\t\tinnerRadius: 0,\n\t\t\t\touterRadius: reset ? resetRadius : distance,\n\t\t\t\tstartAngle: reset && animationOpts.animateRotate ? datasetStartAngle : startAngle,\n\t\t\t\tendAngle: reset && animationOpts.animateRotate ? datasetStartAngle : endAngle,\n\t\t\t\tlabel: helpers$1.valueAtIndexOrDefault(labels, index, labels[index])\n\t\t\t}\n\t\t});\n\n\t\tarc.pivot();\n\t},\n\n\tcountVisibleElements: function() {\n\t\tvar dataset = this.getDataset();\n\t\tvar meta = this.getMeta();\n\t\tvar count = 0;\n\n\t\thelpers$1.each(meta.data, function(element, index) {\n\t\t\tif (!isNaN(dataset.data[index]) && !element.hidden) {\n\t\t\t\tcount++;\n\t\t\t}\n\t\t});\n\n\t\treturn count;\n\t},\n\n\t/**\n\t * @protected\n\t */\n\tsetHoverStyle: function(arc) {\n\t\tvar model = arc._model;\n\t\tvar options = arc._options;\n\t\tvar getHoverColor = helpers$1.getHoverColor;\n\t\tvar valueOrDefault = helpers$1.valueOrDefault;\n\n\t\tarc.$previousStyle = {\n\t\t\tbackgroundColor: model.backgroundColor,\n\t\t\tborderColor: model.borderColor,\n\t\t\tborderWidth: model.borderWidth,\n\t\t};\n\n\t\tmodel.backgroundColor = valueOrDefault(options.hoverBackgroundColor, getHoverColor(options.backgroundColor));\n\t\tmodel.borderColor = valueOrDefault(options.hoverBorderColor, getHoverColor(options.borderColor));\n\t\tmodel.borderWidth = valueOrDefault(options.hoverBorderWidth, options.borderWidth);\n\t},\n\n\t/**\n\t * @private\n\t */\n\t_computeAngle: function(index) {\n\t\tvar me = this;\n\t\tvar count = this.getMeta().count;\n\t\tvar dataset = me.getDataset();\n\t\tvar meta = me.getMeta();\n\n\t\tif (isNaN(dataset.data[index]) || meta.data[index].hidden) {\n\t\t\treturn 0;\n\t\t}\n\n\t\t// Scriptable options\n\t\tvar context = {\n\t\t\tchart: me.chart,\n\t\t\tdataIndex: index,\n\t\t\tdataset: dataset,\n\t\t\tdatasetIndex: me.index\n\t\t};\n\n\t\treturn resolve$3([\n\t\t\tme.chart.options.elements.arc.angle,\n\t\t\t(2 * Math.PI) / count\n\t\t], context, index);\n\t}\n});\n\ncore_defaults._set('pie', helpers$1.clone(core_defaults.doughnut));\ncore_defaults._set('pie', {\n\tcutoutPercentage: 0\n});\n\n// Pie charts are Doughnut chart with different defaults\nvar controller_pie = controller_doughnut;\n\nvar valueOrDefault$7 = helpers$1.valueOrDefault;\n\ncore_defaults._set('radar', {\n\tspanGaps: false,\n\tscale: {\n\t\ttype: 'radialLinear'\n\t},\n\telements: {\n\t\tline: {\n\t\t\tfill: 'start',\n\t\t\ttension: 0 // no bezier in radar\n\t\t}\n\t}\n});\n\nvar controller_radar = core_datasetController.extend({\n\tdatasetElementType: elements.Line,\n\n\tdataElementType: elements.Point,\n\n\tlinkScales: helpers$1.noop,\n\n\t/**\n\t * @private\n\t */\n\t_datasetElementOptions: [\n\t\t'backgroundColor',\n\t\t'borderWidth',\n\t\t'borderColor',\n\t\t'borderCapStyle',\n\t\t'borderDash',\n\t\t'borderDashOffset',\n\t\t'borderJoinStyle',\n\t\t'fill'\n\t],\n\n\t/**\n\t * @private\n\t */\n\t_dataElementOptions: {\n\t\tbackgroundColor: 'pointBackgroundColor',\n\t\tborderColor: 'pointBorderColor',\n\t\tborderWidth: 'pointBorderWidth',\n\t\thitRadius: 'pointHitRadius',\n\t\thoverBackgroundColor: 'pointHoverBackgroundColor',\n\t\thoverBorderColor: 'pointHoverBorderColor',\n\t\thoverBorderWidth: 'pointHoverBorderWidth',\n\t\thoverRadius: 'pointHoverRadius',\n\t\tpointStyle: 'pointStyle',\n\t\tradius: 'pointRadius',\n\t\trotation: 'pointRotation'\n\t},\n\n\t/**\n\t * @private\n\t */\n\t_getIndexScaleId: function() {\n\t\treturn this.chart.scale.id;\n\t},\n\n\t/**\n\t * @private\n\t */\n\t_getValueScaleId: function() {\n\t\treturn this.chart.scale.id;\n\t},\n\n\tupdate: function(reset) {\n\t\tvar me = this;\n\t\tvar meta = me.getMeta();\n\t\tvar line = meta.dataset;\n\t\tvar points = meta.data || [];\n\t\tvar scale = me.chart.scale;\n\t\tvar config = me._config;\n\t\tvar i, ilen;\n\n\t\t// Compatibility: If the properties are defined with only the old name, use those values\n\t\tif (config.tension !== undefined && config.lineTension === undefined) {\n\t\t\tconfig.lineTension = config.tension;\n\t\t}\n\n\t\t// Utility\n\t\tline._scale = scale;\n\t\tline._datasetIndex = me.index;\n\t\t// Data\n\t\tline._children = points;\n\t\tline._loop = true;\n\t\t// Model\n\t\tline._model = me._resolveDatasetElementOptions(line);\n\n\t\tline.pivot();\n\n\t\t// Update Points\n\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\n\t\t\tme.updateElement(points[i], i, reset);\n\t\t}\n\n\t\t// Update bezier control points\n\t\tme.updateBezierControlPoints();\n\n\t\t// Now pivot the point for animation\n\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\n\t\t\tpoints[i].pivot();\n\t\t}\n\t},\n\n\tupdateElement: function(point, index, reset) {\n\t\tvar me = this;\n\t\tvar custom = point.custom || {};\n\t\tvar dataset = me.getDataset();\n\t\tvar scale = me.chart.scale;\n\t\tvar pointPosition = scale.getPointPositionForValue(index, dataset.data[index]);\n\t\tvar options = me._resolveDataElementOptions(point, index);\n\t\tvar lineModel = me.getMeta().dataset._model;\n\t\tvar x = reset ? scale.xCenter : pointPosition.x;\n\t\tvar y = reset ? scale.yCenter : pointPosition.y;\n\n\t\t// Utility\n\t\tpoint._scale = scale;\n\t\tpoint._options = options;\n\t\tpoint._datasetIndex = me.index;\n\t\tpoint._index = index;\n\n\t\t// Desired view properties\n\t\tpoint._model = {\n\t\t\tx: x, // value not used in dataset scale, but we want a consistent API between scales\n\t\t\ty: y,\n\t\t\tskip: custom.skip || isNaN(x) || isNaN(y),\n\t\t\t// Appearance\n\t\t\tradius: options.radius,\n\t\t\tpointStyle: options.pointStyle,\n\t\t\trotation: options.rotation,\n\t\t\tbackgroundColor: options.backgroundColor,\n\t\t\tborderColor: options.borderColor,\n\t\t\tborderWidth: options.borderWidth,\n\t\t\ttension: valueOrDefault$7(custom.tension, lineModel ? lineModel.tension : 0),\n\n\t\t\t// Tooltip\n\t\t\thitRadius: options.hitRadius\n\t\t};\n\t},\n\n\t/**\n\t * @private\n\t */\n\t_resolveDatasetElementOptions: function() {\n\t\tvar me = this;\n\t\tvar config = me._config;\n\t\tvar options = me.chart.options;\n\t\tvar values = core_datasetController.prototype._resolveDatasetElementOptions.apply(me, arguments);\n\n\t\tvalues.spanGaps = valueOrDefault$7(config.spanGaps, options.spanGaps);\n\t\tvalues.tension = valueOrDefault$7(config.lineTension, options.elements.line.tension);\n\n\t\treturn values;\n\t},\n\n\tupdateBezierControlPoints: function() {\n\t\tvar me = this;\n\t\tvar meta = me.getMeta();\n\t\tvar area = me.chart.chartArea;\n\t\tvar points = meta.data || [];\n\t\tvar i, ilen, model, controlPoints;\n\n\t\t// Only consider points that are drawn in case the spanGaps option is used\n\t\tif (meta.dataset._model.spanGaps) {\n\t\t\tpoints = points.filter(function(pt) {\n\t\t\t\treturn !pt._model.skip;\n\t\t\t});\n\t\t}\n\n\t\tfunction capControlPoint(pt, min, max) {\n\t\t\treturn Math.max(Math.min(pt, max), min);\n\t\t}\n\n\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\n\t\t\tmodel = points[i]._model;\n\t\t\tcontrolPoints = helpers$1.splineCurve(\n\t\t\t\thelpers$1.previousItem(points, i, true)._model,\n\t\t\t\tmodel,\n\t\t\t\thelpers$1.nextItem(points, i, true)._model,\n\t\t\t\tmodel.tension\n\t\t\t);\n\n\t\t\t// Prevent the bezier going outside of the bounds of the graph\n\t\t\tmodel.controlPointPreviousX = capControlPoint(controlPoints.previous.x, area.left, area.right);\n\t\t\tmodel.controlPointPreviousY = capControlPoint(controlPoints.previous.y, area.top, area.bottom);\n\t\t\tmodel.controlPointNextX = capControlPoint(controlPoints.next.x, area.left, area.right);\n\t\t\tmodel.controlPointNextY = capControlPoint(controlPoints.next.y, area.top, area.bottom);\n\t\t}\n\t},\n\n\tsetHoverStyle: function(point) {\n\t\tvar model = point._model;\n\t\tvar options = point._options;\n\t\tvar getHoverColor = helpers$1.getHoverColor;\n\n\t\tpoint.$previousStyle = {\n\t\t\tbackgroundColor: model.backgroundColor,\n\t\t\tborderColor: model.borderColor,\n\t\t\tborderWidth: model.borderWidth,\n\t\t\tradius: model.radius\n\t\t};\n\n\t\tmodel.backgroundColor = valueOrDefault$7(options.hoverBackgroundColor, getHoverColor(options.backgroundColor));\n\t\tmodel.borderColor = valueOrDefault$7(options.hoverBorderColor, getHoverColor(options.borderColor));\n\t\tmodel.borderWidth = valueOrDefault$7(options.hoverBorderWidth, options.borderWidth);\n\t\tmodel.radius = valueOrDefault$7(options.hoverRadius, options.radius);\n\t}\n});\n\ncore_defaults._set('scatter', {\n\thover: {\n\t\tmode: 'single'\n\t},\n\n\tscales: {\n\t\txAxes: [{\n\t\t\tid: 'x-axis-1', // need an ID so datasets can reference the scale\n\t\t\ttype: 'linear', // scatter should not use a category axis\n\t\t\tposition: 'bottom'\n\t\t}],\n\t\tyAxes: [{\n\t\t\tid: 'y-axis-1',\n\t\t\ttype: 'linear',\n\t\t\tposition: 'left'\n\t\t}]\n\t},\n\n\ttooltips: {\n\t\tcallbacks: {\n\t\t\ttitle: function() {\n\t\t\t\treturn ''; // doesn't make sense for scatter since data are formatted as a point\n\t\t\t},\n\t\t\tlabel: function(item) {\n\t\t\t\treturn '(' + item.xLabel + ', ' + item.yLabel + ')';\n\t\t\t}\n\t\t}\n\t}\n});\n\ncore_defaults._set('global', {\n\tdatasets: {\n\t\tscatter: {\n\t\t\tshowLine: false\n\t\t}\n\t}\n});\n\n// Scatter charts use line controllers\nvar controller_scatter = controller_line;\n\n// NOTE export a map in which the key represents the controller type, not\n// the class, and so must be CamelCase in order to be correctly retrieved\n// by the controller in core.controller.js (`controllers[meta.type]`).\n\nvar controllers = {\n\tbar: controller_bar,\n\tbubble: controller_bubble,\n\tdoughnut: controller_doughnut,\n\thorizontalBar: controller_horizontalBar,\n\tline: controller_line,\n\tpolarArea: controller_polarArea,\n\tpie: controller_pie,\n\tradar: controller_radar,\n\tscatter: controller_scatter\n};\n\n/**\n * Helper function to get relative position for an event\n * @param {Event|IEvent} event - The event to get the position for\n * @param {Chart} chart - The chart\n * @returns {object} the event position\n */\nfunction getRelativePosition(e, chart) {\n\tif (e.native) {\n\t\treturn {\n\t\t\tx: e.x,\n\t\t\ty: e.y\n\t\t};\n\t}\n\n\treturn helpers$1.getRelativePosition(e, chart);\n}\n\n/**\n * Helper function to traverse all of the visible elements in the chart\n * @param {Chart} chart - the chart\n * @param {function} handler - the callback to execute for each visible item\n */\nfunction parseVisibleItems(chart, handler) {\n\tvar metasets = chart._getSortedVisibleDatasetMetas();\n\tvar metadata, i, j, ilen, jlen, element;\n\n\tfor (i = 0, ilen = metasets.length; i < ilen; ++i) {\n\t\tmetadata = metasets[i].data;\n\t\tfor (j = 0, jlen = metadata.length; j < jlen; ++j) {\n\t\t\telement = metadata[j];\n\t\t\tif (!element._view.skip) {\n\t\t\t\thandler(element);\n\t\t\t}\n\t\t}\n\t}\n}\n\n/**\n * Helper function to get the items that intersect the event position\n * @param {ChartElement[]} items - elements to filter\n * @param {object} position - the point to be nearest to\n * @return {ChartElement[]} the nearest items\n */\nfunction getIntersectItems(chart, position) {\n\tvar elements = [];\n\n\tparseVisibleItems(chart, function(element) {\n\t\tif (element.inRange(position.x, position.y)) {\n\t\t\telements.push(element);\n\t\t}\n\t});\n\n\treturn elements;\n}\n\n/**\n * Helper function to get the items nearest to the event position considering all visible items in teh chart\n * @param {Chart} chart - the chart to look at elements from\n * @param {object} position - the point to be nearest to\n * @param {boolean} intersect - if true, only consider items that intersect the position\n * @param {function} distanceMetric - function to provide the distance between points\n * @return {ChartElement[]} the nearest items\n */\nfunction getNearestItems(chart, position, intersect, distanceMetric) {\n\tvar minDistance = Number.POSITIVE_INFINITY;\n\tvar nearestItems = [];\n\n\tparseVisibleItems(chart, function(element) {\n\t\tif (intersect && !element.inRange(position.x, position.y)) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar center = element.getCenterPoint();\n\t\tvar distance = distanceMetric(position, center);\n\t\tif (distance < minDistance) {\n\t\t\tnearestItems = [element];\n\t\t\tminDistance = distance;\n\t\t} else if (distance === minDistance) {\n\t\t\t// Can have multiple items at the same distance in which case we sort by size\n\t\t\tnearestItems.push(element);\n\t\t}\n\t});\n\n\treturn nearestItems;\n}\n\n/**\n * Get a distance metric function for two points based on the\n * axis mode setting\n * @param {string} axis - the axis mode. x|y|xy\n */\nfunction getDistanceMetricForAxis(axis) {\n\tvar useX = axis.indexOf('x') !== -1;\n\tvar useY = axis.indexOf('y') !== -1;\n\n\treturn function(pt1, pt2) {\n\t\tvar deltaX = useX ? Math.abs(pt1.x - pt2.x) : 0;\n\t\tvar deltaY = useY ? Math.abs(pt1.y - pt2.y) : 0;\n\t\treturn Math.sqrt(Math.pow(deltaX, 2) + Math.pow(deltaY, 2));\n\t};\n}\n\nfunction indexMode(chart, e, options) {\n\tvar position = getRelativePosition(e, chart);\n\t// Default axis for index mode is 'x' to match old behaviour\n\toptions.axis = options.axis || 'x';\n\tvar distanceMetric = getDistanceMetricForAxis(options.axis);\n\tvar items = options.intersect ? getIntersectItems(chart, position) : getNearestItems(chart, position, false, distanceMetric);\n\tvar elements = [];\n\n\tif (!items.length) {\n\t\treturn [];\n\t}\n\n\tchart._getSortedVisibleDatasetMetas().forEach(function(meta) {\n\t\tvar element = meta.data[items[0]._index];\n\n\t\t// don't count items that are skipped (null data)\n\t\tif (element && !element._view.skip) {\n\t\t\telements.push(element);\n\t\t}\n\t});\n\n\treturn elements;\n}\n\n/**\n * @interface IInteractionOptions\n */\n/**\n * If true, only consider items that intersect the point\n * @name IInterfaceOptions#boolean\n * @type Boolean\n */\n\n/**\n * Contains interaction related functions\n * @namespace Chart.Interaction\n */\nvar core_interaction = {\n\t// Helper function for different modes\n\tmodes: {\n\t\tsingle: function(chart, e) {\n\t\t\tvar position = getRelativePosition(e, chart);\n\t\t\tvar elements = [];\n\n\t\t\tparseVisibleItems(chart, function(element) {\n\t\t\t\tif (element.inRange(position.x, position.y)) {\n\t\t\t\t\telements.push(element);\n\t\t\t\t\treturn elements;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\treturn elements.slice(0, 1);\n\t\t},\n\n\t\t/**\n\t\t * @function Chart.Interaction.modes.label\n\t\t * @deprecated since version 2.4.0\n\t\t * @todo remove at version 3\n\t\t * @private\n\t\t */\n\t\tlabel: indexMode,\n\n\t\t/**\n\t\t * Returns items at the same index. If the options.intersect parameter is true, we only return items if we intersect something\n\t\t * If the options.intersect mode is false, we find the nearest item and return the items at the same index as that item\n\t\t * @function Chart.Interaction.modes.index\n\t\t * @since v2.4.0\n\t\t * @param {Chart} chart - the chart we are returning items from\n\t\t * @param {Event} e - the event we are find things at\n\t\t * @param {IInteractionOptions} options - options to use during interaction\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\n\t\t */\n\t\tindex: indexMode,\n\n\t\t/**\n\t\t * Returns items in the same dataset. If the options.intersect parameter is true, we only return items if we intersect something\n\t\t * If the options.intersect is false, we find the nearest item and return the items in that dataset\n\t\t * @function Chart.Interaction.modes.dataset\n\t\t * @param {Chart} chart - the chart we are returning items from\n\t\t * @param {Event} e - the event we are find things at\n\t\t * @param {IInteractionOptions} options - options to use during interaction\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\n\t\t */\n\t\tdataset: function(chart, e, options) {\n\t\t\tvar position = getRelativePosition(e, chart);\n\t\t\toptions.axis = options.axis || 'xy';\n\t\t\tvar distanceMetric = getDistanceMetricForAxis(options.axis);\n\t\t\tvar items = options.intersect ? getIntersectItems(chart, position) : getNearestItems(chart, position, false, distanceMetric);\n\n\t\t\tif (items.length > 0) {\n\t\t\t\titems = chart.getDatasetMeta(items[0]._datasetIndex).data;\n\t\t\t}\n\n\t\t\treturn items;\n\t\t},\n\n\t\t/**\n\t\t * @function Chart.Interaction.modes.x-axis\n\t\t * @deprecated since version 2.4.0. Use index mode and intersect == true\n\t\t * @todo remove at version 3\n\t\t * @private\n\t\t */\n\t\t'x-axis': function(chart, e) {\n\t\t\treturn indexMode(chart, e, {intersect: false});\n\t\t},\n\n\t\t/**\n\t\t * Point mode returns all elements that hit test based on the event position\n\t\t * of the event\n\t\t * @function Chart.Interaction.modes.intersect\n\t\t * @param {Chart} chart - the chart we are returning items from\n\t\t * @param {Event} e - the event we are find things at\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\n\t\t */\n\t\tpoint: function(chart, e) {\n\t\t\tvar position = getRelativePosition(e, chart);\n\t\t\treturn getIntersectItems(chart, position);\n\t\t},\n\n\t\t/**\n\t\t * nearest mode returns the element closest to the point\n\t\t * @function Chart.Interaction.modes.intersect\n\t\t * @param {Chart} chart - the chart we are returning items from\n\t\t * @param {Event} e - the event we are find things at\n\t\t * @param {IInteractionOptions} options - options to use\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\n\t\t */\n\t\tnearest: function(chart, e, options) {\n\t\t\tvar position = getRelativePosition(e, chart);\n\t\t\toptions.axis = options.axis || 'xy';\n\t\t\tvar distanceMetric = getDistanceMetricForAxis(options.axis);\n\t\t\treturn getNearestItems(chart, position, options.intersect, distanceMetric);\n\t\t},\n\n\t\t/**\n\t\t * x mode returns the elements that hit-test at the current x coordinate\n\t\t * @function Chart.Interaction.modes.x\n\t\t * @param {Chart} chart - the chart we are returning items from\n\t\t * @param {Event} e - the event we are find things at\n\t\t * @param {IInteractionOptions} options - options to use\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\n\t\t */\n\t\tx: function(chart, e, options) {\n\t\t\tvar position = getRelativePosition(e, chart);\n\t\t\tvar items = [];\n\t\t\tvar intersectsItem = false;\n\n\t\t\tparseVisibleItems(chart, function(element) {\n\t\t\t\tif (element.inXRange(position.x)) {\n\t\t\t\t\titems.push(element);\n\t\t\t\t}\n\n\t\t\t\tif (element.inRange(position.x, position.y)) {\n\t\t\t\t\tintersectsItem = true;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t// If we want to trigger on an intersect and we don't have any items\n\t\t\t// that intersect the position, return nothing\n\t\t\tif (options.intersect && !intersectsItem) {\n\t\t\t\titems = [];\n\t\t\t}\n\t\t\treturn items;\n\t\t},\n\n\t\t/**\n\t\t * y mode returns the elements that hit-test at the current y coordinate\n\t\t * @function Chart.Interaction.modes.y\n\t\t * @param {Chart} chart - the chart we are returning items from\n\t\t * @param {Event} e - the event we are find things at\n\t\t * @param {IInteractionOptions} options - options to use\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\n\t\t */\n\t\ty: function(chart, e, options) {\n\t\t\tvar position = getRelativePosition(e, chart);\n\t\t\tvar items = [];\n\t\t\tvar intersectsItem = false;\n\n\t\t\tparseVisibleItems(chart, function(element) {\n\t\t\t\tif (element.inYRange(position.y)) {\n\t\t\t\t\titems.push(element);\n\t\t\t\t}\n\n\t\t\t\tif (element.inRange(position.x, position.y)) {\n\t\t\t\t\tintersectsItem = true;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t// If we want to trigger on an intersect and we don't have any items\n\t\t\t// that intersect the position, return nothing\n\t\t\tif (options.intersect && !intersectsItem) {\n\t\t\t\titems = [];\n\t\t\t}\n\t\t\treturn items;\n\t\t}\n\t}\n};\n\nvar extend = helpers$1.extend;\n\nfunction filterByPosition(array, position) {\n\treturn helpers$1.where(array, function(v) {\n\t\treturn v.pos === position;\n\t});\n}\n\nfunction sortByWeight(array, reverse) {\n\treturn array.sort(function(a, b) {\n\t\tvar v0 = reverse ? b : a;\n\t\tvar v1 = reverse ? a : b;\n\t\treturn v0.weight === v1.weight ?\n\t\t\tv0.index - v1.index :\n\t\t\tv0.weight - v1.weight;\n\t});\n}\n\nfunction wrapBoxes(boxes) {\n\tvar layoutBoxes = [];\n\tvar i, ilen, box;\n\n\tfor (i = 0, ilen = (boxes || []).length; i < ilen; ++i) {\n\t\tbox = boxes[i];\n\t\tlayoutBoxes.push({\n\t\t\tindex: i,\n\t\t\tbox: box,\n\t\t\tpos: box.position,\n\t\t\thorizontal: box.isHorizontal(),\n\t\t\tweight: box.weight\n\t\t});\n\t}\n\treturn layoutBoxes;\n}\n\nfunction setLayoutDims(layouts, params) {\n\tvar i, ilen, layout;\n\tfor (i = 0, ilen = layouts.length; i < ilen; ++i) {\n\t\tlayout = layouts[i];\n\t\t// store width used instead of chartArea.w in fitBoxes\n\t\tlayout.width = layout.horizontal\n\t\t\t? layout.box.fullWidth && params.availableWidth\n\t\t\t: params.vBoxMaxWidth;\n\t\t// store height used instead of chartArea.h in fitBoxes\n\t\tlayout.height = layout.horizontal && params.hBoxMaxHeight;\n\t}\n}\n\nfunction buildLayoutBoxes(boxes) {\n\tvar layoutBoxes = wrapBoxes(boxes);\n\tvar left = sortByWeight(filterByPosition(layoutBoxes, 'left'), true);\n\tvar right = sortByWeight(filterByPosition(layoutBoxes, 'right'));\n\tvar top = sortByWeight(filterByPosition(layoutBoxes, 'top'), true);\n\tvar bottom = sortByWeight(filterByPosition(layoutBoxes, 'bottom'));\n\n\treturn {\n\t\tleftAndTop: left.concat(top),\n\t\trightAndBottom: right.concat(bottom),\n\t\tchartArea: filterByPosition(layoutBoxes, 'chartArea'),\n\t\tvertical: left.concat(right),\n\t\thorizontal: top.concat(bottom)\n\t};\n}\n\nfunction getCombinedMax(maxPadding, chartArea, a, b) {\n\treturn Math.max(maxPadding[a], chartArea[a]) + Math.max(maxPadding[b], chartArea[b]);\n}\n\nfunction updateDims(chartArea, params, layout) {\n\tvar box = layout.box;\n\tvar maxPadding = chartArea.maxPadding;\n\tvar newWidth, newHeight;\n\n\tif (layout.size) {\n\t\t// this layout was already counted for, lets first reduce old size\n\t\tchartArea[layout.pos] -= layout.size;\n\t}\n\tlayout.size = layout.horizontal ? box.height : box.width;\n\tchartArea[layout.pos] += layout.size;\n\n\tif (box.getPadding) {\n\t\tvar boxPadding = box.getPadding();\n\t\tmaxPadding.top = Math.max(maxPadding.top, boxPadding.top);\n\t\tmaxPadding.left = Math.max(maxPadding.left, boxPadding.left);\n\t\tmaxPadding.bottom = Math.max(maxPadding.bottom, boxPadding.bottom);\n\t\tmaxPadding.right = Math.max(maxPadding.right, boxPadding.right);\n\t}\n\n\tnewWidth = params.outerWidth - getCombinedMax(maxPadding, chartArea, 'left', 'right');\n\tnewHeight = params.outerHeight - getCombinedMax(maxPadding, chartArea, 'top', 'bottom');\n\n\tif (newWidth !== chartArea.w || newHeight !== chartArea.h) {\n\t\tchartArea.w = newWidth;\n\t\tchartArea.h = newHeight;\n\n\t\t// return true if chart area changed in layout's direction\n\t\treturn layout.horizontal ? newWidth !== chartArea.w : newHeight !== chartArea.h;\n\t}\n}\n\nfunction handleMaxPadding(chartArea) {\n\tvar maxPadding = chartArea.maxPadding;\n\n\tfunction updatePos(pos) {\n\t\tvar change = Math.max(maxPadding[pos] - chartArea[pos], 0);\n\t\tchartArea[pos] += change;\n\t\treturn change;\n\t}\n\tchartArea.y += updatePos('top');\n\tchartArea.x += updatePos('left');\n\tupdatePos('right');\n\tupdatePos('bottom');\n}\n\nfunction getMargins(horizontal, chartArea) {\n\tvar maxPadding = chartArea.maxPadding;\n\n\tfunction marginForPositions(positions) {\n\t\tvar margin = {left: 0, top: 0, right: 0, bottom: 0};\n\t\tpositions.forEach(function(pos) {\n\t\t\tmargin[pos] = Math.max(chartArea[pos], maxPadding[pos]);\n\t\t});\n\t\treturn margin;\n\t}\n\n\treturn horizontal\n\t\t? marginForPositions(['left', 'right'])\n\t\t: marginForPositions(['top', 'bottom']);\n}\n\nfunction fitBoxes(boxes, chartArea, params) {\n\tvar refitBoxes = [];\n\tvar i, ilen, layout, box, refit, changed;\n\n\tfor (i = 0, ilen = boxes.length; i < ilen; ++i) {\n\t\tlayout = boxes[i];\n\t\tbox = layout.box;\n\n\t\tbox.update(\n\t\t\tlayout.width || chartArea.w,\n\t\t\tlayout.height || chartArea.h,\n\t\t\tgetMargins(layout.horizontal, chartArea)\n\t\t);\n\t\tif (updateDims(chartArea, params, layout)) {\n\t\t\tchanged = true;\n\t\t\tif (refitBoxes.length) {\n\t\t\t\t// Dimensions changed and there were non full width boxes before this\n\t\t\t\t// -> we have to refit those\n\t\t\t\trefit = true;\n\t\t\t}\n\t\t}\n\t\tif (!box.fullWidth) { // fullWidth boxes don't need to be re-fitted in any case\n\t\t\trefitBoxes.push(layout);\n\t\t}\n\t}\n\n\treturn refit ? fitBoxes(refitBoxes, chartArea, params) || changed : changed;\n}\n\nfunction placeBoxes(boxes, chartArea, params) {\n\tvar userPadding = params.padding;\n\tvar x = chartArea.x;\n\tvar y = chartArea.y;\n\tvar i, ilen, layout, box;\n\n\tfor (i = 0, ilen = boxes.length; i < ilen; ++i) {\n\t\tlayout = boxes[i];\n\t\tbox = layout.box;\n\t\tif (layout.horizontal) {\n\t\t\tbox.left = box.fullWidth ? userPadding.left : chartArea.left;\n\t\t\tbox.right = box.fullWidth ? params.outerWidth - userPadding.right : chartArea.left + chartArea.w;\n\t\t\tbox.top = y;\n\t\t\tbox.bottom = y + box.height;\n\t\t\tbox.width = box.right - box.left;\n\t\t\ty = box.bottom;\n\t\t} else {\n\t\t\tbox.left = x;\n\t\t\tbox.right = x + box.width;\n\t\t\tbox.top = chartArea.top;\n\t\t\tbox.bottom = chartArea.top + chartArea.h;\n\t\t\tbox.height = box.bottom - box.top;\n\t\t\tx = box.right;\n\t\t}\n\t}\n\n\tchartArea.x = x;\n\tchartArea.y = y;\n}\n\ncore_defaults._set('global', {\n\tlayout: {\n\t\tpadding: {\n\t\t\ttop: 0,\n\t\t\tright: 0,\n\t\t\tbottom: 0,\n\t\t\tleft: 0\n\t\t}\n\t}\n});\n\n/**\n * @interface ILayoutItem\n * @prop {string} position - The position of the item in the chart layout. Possible values are\n * 'left', 'top', 'right', 'bottom', and 'chartArea'\n * @prop {number} weight - The weight used to sort the item. Higher weights are further away from the chart area\n * @prop {boolean} fullWidth - if true, and the item is horizontal, then push vertical boxes down\n * @prop {function} isHorizontal - returns true if the layout item is horizontal (ie. top or bottom)\n * @prop {function} update - Takes two parameters: width and height. Returns size of item\n * @prop {function} getPadding - Returns an object with padding on the edges\n * @prop {number} width - Width of item. Must be valid after update()\n * @prop {number} height - Height of item. Must be valid after update()\n * @prop {number} left - Left edge of the item. Set by layout system and cannot be used in update\n * @prop {number} top - Top edge of the item. Set by layout system and cannot be used in update\n * @prop {number} right - Right edge of the item. Set by layout system and cannot be used in update\n * @prop {number} bottom - Bottom edge of the item. Set by layout system and cannot be used in update\n */\n\n// The layout service is very self explanatory. It's responsible for the layout within a chart.\n// Scales, Legends and Plugins all rely on the layout service and can easily register to be placed anywhere they need\n// It is this service's responsibility of carrying out that layout.\nvar core_layouts = {\n\tdefaults: {},\n\n\t/**\n\t * Register a box to a chart.\n\t * A box is simply a reference to an object that requires layout. eg. Scales, Legend, Title.\n\t * @param {Chart} chart - the chart to use\n\t * @param {ILayoutItem} item - the item to add to be layed out\n\t */\n\taddBox: function(chart, item) {\n\t\tif (!chart.boxes) {\n\t\t\tchart.boxes = [];\n\t\t}\n\n\t\t// initialize item with default values\n\t\titem.fullWidth = item.fullWidth || false;\n\t\titem.position = item.position || 'top';\n\t\titem.weight = item.weight || 0;\n\t\titem._layers = item._layers || function() {\n\t\t\treturn [{\n\t\t\t\tz: 0,\n\t\t\t\tdraw: function() {\n\t\t\t\t\titem.draw.apply(item, arguments);\n\t\t\t\t}\n\t\t\t}];\n\t\t};\n\n\t\tchart.boxes.push(item);\n\t},\n\n\t/**\n\t * Remove a layoutItem from a chart\n\t * @param {Chart} chart - the chart to remove the box from\n\t * @param {ILayoutItem} layoutItem - the item to remove from the layout\n\t */\n\tremoveBox: function(chart, layoutItem) {\n\t\tvar index = chart.boxes ? chart.boxes.indexOf(layoutItem) : -1;\n\t\tif (index !== -1) {\n\t\t\tchart.boxes.splice(index, 1);\n\t\t}\n\t},\n\n\t/**\n\t * Sets (or updates) options on the given `item`.\n\t * @param {Chart} chart - the chart in which the item lives (or will be added to)\n\t * @param {ILayoutItem} item - the item to configure with the given options\n\t * @param {object} options - the new item options.\n\t */\n\tconfigure: function(chart, item, options) {\n\t\tvar props = ['fullWidth', 'position', 'weight'];\n\t\tvar ilen = props.length;\n\t\tvar i = 0;\n\t\tvar prop;\n\n\t\tfor (; i < ilen; ++i) {\n\t\t\tprop = props[i];\n\t\t\tif (options.hasOwnProperty(prop)) {\n\t\t\t\titem[prop] = options[prop];\n\t\t\t}\n\t\t}\n\t},\n\n\t/**\n\t * Fits boxes of the given chart into the given size by having each box measure itself\n\t * then running a fitting algorithm\n\t * @param {Chart} chart - the chart\n\t * @param {number} width - the width to fit into\n\t * @param {number} height - the height to fit into\n\t */\n\tupdate: function(chart, width, height) {\n\t\tif (!chart) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar layoutOptions = chart.options.layout || {};\n\t\tvar padding = helpers$1.options.toPadding(layoutOptions.padding);\n\n\t\tvar availableWidth = width - padding.width;\n\t\tvar availableHeight = height - padding.height;\n\t\tvar boxes = buildLayoutBoxes(chart.boxes);\n\t\tvar verticalBoxes = boxes.vertical;\n\t\tvar horizontalBoxes = boxes.horizontal;\n\n\t\t// Essentially we now have any number of boxes on each of the 4 sides.\n\t\t// Our canvas looks like the following.\n\t\t// The areas L1 and L2 are the left axes. R1 is the right axis, T1 is the top axis and\n\t\t// B1 is the bottom axis\n\t\t// There are also 4 quadrant-like locations (left to right instead of clockwise) reserved for chart overlays\n\t\t// These locations are single-box locations only, when trying to register a chartArea location that is already taken,\n\t\t// an error will be thrown.\n\t\t//\n\t\t// |----------------------------------------------------|\n\t\t// | T1 (Full Width) |\n\t\t// |----------------------------------------------------|\n\t\t// | | | T2 | |\n\t\t// | |----|-------------------------------------|----|\n\t\t// | | | C1 | | C2 | |\n\t\t// | | |----| |----| |\n\t\t// | | | | |\n\t\t// | L1 | L2 | ChartArea (C0) | R1 |\n\t\t// | | | | |\n\t\t// | | |----| |----| |\n\t\t// | | | C3 | | C4 | |\n\t\t// | |----|-------------------------------------|----|\n\t\t// | | | B1 | |\n\t\t// |----------------------------------------------------|\n\t\t// | B2 (Full Width) |\n\t\t// |----------------------------------------------------|\n\t\t//\n\n\t\tvar params = Object.freeze({\n\t\t\touterWidth: width,\n\t\t\touterHeight: height,\n\t\t\tpadding: padding,\n\t\t\tavailableWidth: availableWidth,\n\t\t\tvBoxMaxWidth: availableWidth / 2 / verticalBoxes.length,\n\t\t\thBoxMaxHeight: availableHeight / 2\n\t\t});\n\t\tvar chartArea = extend({\n\t\t\tmaxPadding: extend({}, padding),\n\t\t\tw: availableWidth,\n\t\t\th: availableHeight,\n\t\t\tx: padding.left,\n\t\t\ty: padding.top\n\t\t}, padding);\n\n\t\tsetLayoutDims(verticalBoxes.concat(horizontalBoxes), params);\n\n\t\t// First fit vertical boxes\n\t\tfitBoxes(verticalBoxes, chartArea, params);\n\n\t\t// Then fit horizontal boxes\n\t\tif (fitBoxes(horizontalBoxes, chartArea, params)) {\n\t\t\t// if the area changed, re-fit vertical boxes\n\t\t\tfitBoxes(verticalBoxes, chartArea, params);\n\t\t}\n\n\t\thandleMaxPadding(chartArea);\n\n\t\t// Finally place the boxes to correct coordinates\n\t\tplaceBoxes(boxes.leftAndTop, chartArea, params);\n\n\t\t// Move to opposite side of chart\n\t\tchartArea.x += chartArea.w;\n\t\tchartArea.y += chartArea.h;\n\n\t\tplaceBoxes(boxes.rightAndBottom, chartArea, params);\n\n\t\tchart.chartArea = {\n\t\t\tleft: chartArea.left,\n\t\t\ttop: chartArea.top,\n\t\t\tright: chartArea.left + chartArea.w,\n\t\t\tbottom: chartArea.top + chartArea.h\n\t\t};\n\n\t\t// Finally update boxes in chartArea (radial scale for example)\n\t\thelpers$1.each(boxes.chartArea, function(layout) {\n\t\t\tvar box = layout.box;\n\t\t\textend(box, chart.chartArea);\n\t\t\tbox.update(chartArea.w, chartArea.h);\n\t\t});\n\t}\n};\n\n/**\n * Platform fallback implementation (minimal).\n * @see https://github.com/chartjs/Chart.js/pull/4591#issuecomment-319575939\n */\n\nvar platform_basic = {\n\tacquireContext: function(item) {\n\t\tif (item && item.canvas) {\n\t\t\t// Support for any object associated to a canvas (including a context2d)\n\t\t\titem = item.canvas;\n\t\t}\n\n\t\treturn item && item.getContext('2d') || null;\n\t}\n};\n\nvar platform_dom = \"/*\\n * DOM element rendering detection\\n * https://davidwalsh.name/detect-node-insertion\\n */\\n@keyframes chartjs-render-animation {\\n\\tfrom { opacity: 0.99; }\\n\\tto { opacity: 1; }\\n}\\n\\n.chartjs-render-monitor {\\n\\tanimation: chartjs-render-animation 0.001s;\\n}\\n\\n/*\\n * DOM element resizing detection\\n * https://github.com/marcj/css-element-queries\\n */\\n.chartjs-size-monitor,\\n.chartjs-size-monitor-expand,\\n.chartjs-size-monitor-shrink {\\n\\tposition: absolute;\\n\\tdirection: ltr;\\n\\tleft: 0;\\n\\ttop: 0;\\n\\tright: 0;\\n\\tbottom: 0;\\n\\toverflow: hidden;\\n\\tpointer-events: none;\\n\\tvisibility: hidden;\\n\\tz-index: -1;\\n}\\n\\n.chartjs-size-monitor-expand > div {\\n\\tposition: absolute;\\n\\twidth: 1000000px;\\n\\theight: 1000000px;\\n\\tleft: 0;\\n\\ttop: 0;\\n}\\n\\n.chartjs-size-monitor-shrink > div {\\n\\tposition: absolute;\\n\\twidth: 200%;\\n\\theight: 200%;\\n\\tleft: 0;\\n\\ttop: 0;\\n}\\n\";\n\nvar platform_dom$1 = /*#__PURE__*/Object.freeze({\n__proto__: null,\n'default': platform_dom\n});\n\nvar stylesheet = getCjsExportFromNamespace(platform_dom$1);\n\nvar EXPANDO_KEY = '$chartjs';\nvar CSS_PREFIX = 'chartjs-';\nvar CSS_SIZE_MONITOR = CSS_PREFIX + 'size-monitor';\nvar CSS_RENDER_MONITOR = CSS_PREFIX + 'render-monitor';\nvar CSS_RENDER_ANIMATION = CSS_PREFIX + 'render-animation';\nvar ANIMATION_START_EVENTS = ['animationstart', 'webkitAnimationStart'];\n\n/**\n * DOM event types -> Chart.js event types.\n * Note: only events with different types are mapped.\n * @see https://developer.mozilla.org/en-US/docs/Web/Events\n */\nvar EVENT_TYPES = {\n\ttouchstart: 'mousedown',\n\ttouchmove: 'mousemove',\n\ttouchend: 'mouseup',\n\tpointerenter: 'mouseenter',\n\tpointerdown: 'mousedown',\n\tpointermove: 'mousemove',\n\tpointerup: 'mouseup',\n\tpointerleave: 'mouseout',\n\tpointerout: 'mouseout'\n};\n\n/**\n * The \"used\" size is the final value of a dimension property after all calculations have\n * been performed. This method uses the computed style of `element` but returns undefined\n * if the computed style is not expressed in pixels. That can happen in some cases where\n * `element` has a size relative to its parent and this last one is not yet displayed,\n * for example because of `display: none` on a parent node.\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/used_value\n * @returns {number} Size in pixels or undefined if unknown.\n */\nfunction readUsedSize(element, property) {\n\tvar value = helpers$1.getStyle(element, property);\n\tvar matches = value && value.match(/^(\\d+)(\\.\\d+)?px$/);\n\treturn matches ? Number(matches[1]) : undefined;\n}\n\n/**\n * Initializes the canvas style and render size without modifying the canvas display size,\n * since responsiveness is handled by the controller.resize() method. The config is used\n * to determine the aspect ratio to apply in case no explicit height has been specified.\n */\nfunction initCanvas(canvas, config) {\n\tvar style = canvas.style;\n\n\t// NOTE(SB) canvas.getAttribute('width') !== canvas.width: in the first case it\n\t// returns null or '' if no explicit value has been set to the canvas attribute.\n\tvar renderHeight = canvas.getAttribute('height');\n\tvar renderWidth = canvas.getAttribute('width');\n\n\t// Chart.js modifies some canvas values that we want to restore on destroy\n\tcanvas[EXPANDO_KEY] = {\n\t\tinitial: {\n\t\t\theight: renderHeight,\n\t\t\twidth: renderWidth,\n\t\t\tstyle: {\n\t\t\t\tdisplay: style.display,\n\t\t\t\theight: style.height,\n\t\t\t\twidth: style.width\n\t\t\t}\n\t\t}\n\t};\n\n\t// Force canvas to display as block to avoid extra space caused by inline\n\t// elements, which would interfere with the responsive resize process.\n\t// https://github.com/chartjs/Chart.js/issues/2538\n\tstyle.display = style.display || 'block';\n\n\tif (renderWidth === null || renderWidth === '') {\n\t\tvar displayWidth = readUsedSize(canvas, 'width');\n\t\tif (displayWidth !== undefined) {\n\t\t\tcanvas.width = displayWidth;\n\t\t}\n\t}\n\n\tif (renderHeight === null || renderHeight === '') {\n\t\tif (canvas.style.height === '') {\n\t\t\t// If no explicit render height and style height, let's apply the aspect ratio,\n\t\t\t// which one can be specified by the user but also by charts as default option\n\t\t\t// (i.e. options.aspectRatio). If not specified, use canvas aspect ratio of 2.\n\t\t\tcanvas.height = canvas.width / (config.options.aspectRatio || 2);\n\t\t} else {\n\t\t\tvar displayHeight = readUsedSize(canvas, 'height');\n\t\t\tif (displayWidth !== undefined) {\n\t\t\t\tcanvas.height = displayHeight;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn canvas;\n}\n\n/**\n * Detects support for options object argument in addEventListener.\n * https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#Safely_detecting_option_support\n * @private\n */\nvar supportsEventListenerOptions = (function() {\n\tvar supports = false;\n\ttry {\n\t\tvar options = Object.defineProperty({}, 'passive', {\n\t\t\t// eslint-disable-next-line getter-return\n\t\t\tget: function() {\n\t\t\t\tsupports = true;\n\t\t\t}\n\t\t});\n\t\twindow.addEventListener('e', null, options);\n\t} catch (e) {\n\t\t// continue regardless of error\n\t}\n\treturn supports;\n}());\n\n// Default passive to true as expected by Chrome for 'touchstart' and 'touchend' events.\n// https://github.com/chartjs/Chart.js/issues/4287\nvar eventListenerOptions = supportsEventListenerOptions ? {passive: true} : false;\n\nfunction addListener(node, type, listener) {\n\tnode.addEventListener(type, listener, eventListenerOptions);\n}\n\nfunction removeListener(node, type, listener) {\n\tnode.removeEventListener(type, listener, eventListenerOptions);\n}\n\nfunction createEvent(type, chart, x, y, nativeEvent) {\n\treturn {\n\t\ttype: type,\n\t\tchart: chart,\n\t\tnative: nativeEvent || null,\n\t\tx: x !== undefined ? x : null,\n\t\ty: y !== undefined ? y : null,\n\t};\n}\n\nfunction fromNativeEvent(event, chart) {\n\tvar type = EVENT_TYPES[event.type] || event.type;\n\tvar pos = helpers$1.getRelativePosition(event, chart);\n\treturn createEvent(type, chart, pos.x, pos.y, event);\n}\n\nfunction throttled(fn, thisArg) {\n\tvar ticking = false;\n\tvar args = [];\n\n\treturn function() {\n\t\targs = Array.prototype.slice.call(arguments);\n\t\tthisArg = thisArg || this;\n\n\t\tif (!ticking) {\n\t\t\tticking = true;\n\t\t\thelpers$1.requestAnimFrame.call(window, function() {\n\t\t\t\tticking = false;\n\t\t\t\tfn.apply(thisArg, args);\n\t\t\t});\n\t\t}\n\t};\n}\n\nfunction createDiv(cls) {\n\tvar el = document.createElement('div');\n\tel.className = cls || '';\n\treturn el;\n}\n\n// Implementation based on https://github.com/marcj/css-element-queries\nfunction createResizer(handler) {\n\tvar maxSize = 1000000;\n\n\t// NOTE(SB) Don't use innerHTML because it could be considered unsafe.\n\t// https://github.com/chartjs/Chart.js/issues/5902\n\tvar resizer = createDiv(CSS_SIZE_MONITOR);\n\tvar expand = createDiv(CSS_SIZE_MONITOR + '-expand');\n\tvar shrink = createDiv(CSS_SIZE_MONITOR + '-shrink');\n\n\texpand.appendChild(createDiv());\n\tshrink.appendChild(createDiv());\n\n\tresizer.appendChild(expand);\n\tresizer.appendChild(shrink);\n\tresizer._reset = function() {\n\t\texpand.scrollLeft = maxSize;\n\t\texpand.scrollTop = maxSize;\n\t\tshrink.scrollLeft = maxSize;\n\t\tshrink.scrollTop = maxSize;\n\t};\n\n\tvar onScroll = function() {\n\t\tresizer._reset();\n\t\thandler();\n\t};\n\n\taddListener(expand, 'scroll', onScroll.bind(expand, 'expand'));\n\taddListener(shrink, 'scroll', onScroll.bind(shrink, 'shrink'));\n\n\treturn resizer;\n}\n\n// https://davidwalsh.name/detect-node-insertion\nfunction watchForRender(node, handler) {\n\tvar expando = node[EXPANDO_KEY] || (node[EXPANDO_KEY] = {});\n\tvar proxy = expando.renderProxy = function(e) {\n\t\tif (e.animationName === CSS_RENDER_ANIMATION) {\n\t\t\thandler();\n\t\t}\n\t};\n\n\thelpers$1.each(ANIMATION_START_EVENTS, function(type) {\n\t\taddListener(node, type, proxy);\n\t});\n\n\t// #4737: Chrome might skip the CSS animation when the CSS_RENDER_MONITOR class\n\t// is removed then added back immediately (same animation frame?). Accessing the\n\t// `offsetParent` property will force a reflow and re-evaluate the CSS animation.\n\t// https://gist.github.com/paulirish/5d52fb081b3570c81e3a#box-metrics\n\t// https://github.com/chartjs/Chart.js/issues/4737\n\texpando.reflow = !!node.offsetParent;\n\n\tnode.classList.add(CSS_RENDER_MONITOR);\n}\n\nfunction unwatchForRender(node) {\n\tvar expando = node[EXPANDO_KEY] || {};\n\tvar proxy = expando.renderProxy;\n\n\tif (proxy) {\n\t\thelpers$1.each(ANIMATION_START_EVENTS, function(type) {\n\t\t\tremoveListener(node, type, proxy);\n\t\t});\n\n\t\tdelete expando.renderProxy;\n\t}\n\n\tnode.classList.remove(CSS_RENDER_MONITOR);\n}\n\nfunction addResizeListener(node, listener, chart) {\n\tvar expando = node[EXPANDO_KEY] || (node[EXPANDO_KEY] = {});\n\n\t// Let's keep track of this added resizer and thus avoid DOM query when removing it.\n\tvar resizer = expando.resizer = createResizer(throttled(function() {\n\t\tif (expando.resizer) {\n\t\t\tvar container = chart.options.maintainAspectRatio && node.parentNode;\n\t\t\tvar w = container ? container.clientWidth : 0;\n\t\t\tlistener(createEvent('resize', chart));\n\t\t\tif (container && container.clientWidth < w && chart.canvas) {\n\t\t\t\t// If the container size shrank during chart resize, let's assume\n\t\t\t\t// scrollbar appeared. So we resize again with the scrollbar visible -\n\t\t\t\t// effectively making chart smaller and the scrollbar hidden again.\n\t\t\t\t// Because we are inside `throttled`, and currently `ticking`, scroll\n\t\t\t\t// events are ignored during this whole 2 resize process.\n\t\t\t\t// If we assumed wrong and something else happened, we are resizing\n\t\t\t\t// twice in a frame (potential performance issue)\n\t\t\t\tlistener(createEvent('resize', chart));\n\t\t\t}\n\t\t}\n\t}));\n\n\t// The resizer needs to be attached to the node parent, so we first need to be\n\t// sure that `node` is attached to the DOM before injecting the resizer element.\n\twatchForRender(node, function() {\n\t\tif (expando.resizer) {\n\t\t\tvar container = node.parentNode;\n\t\t\tif (container && container !== resizer.parentNode) {\n\t\t\t\tcontainer.insertBefore(resizer, container.firstChild);\n\t\t\t}\n\n\t\t\t// The container size might have changed, let's reset the resizer state.\n\t\t\tresizer._reset();\n\t\t}\n\t});\n}\n\nfunction removeResizeListener(node) {\n\tvar expando = node[EXPANDO_KEY] || {};\n\tvar resizer = expando.resizer;\n\n\tdelete expando.resizer;\n\tunwatchForRender(node);\n\n\tif (resizer && resizer.parentNode) {\n\t\tresizer.parentNode.removeChild(resizer);\n\t}\n}\n\n/**\n * Injects CSS styles inline if the styles are not already present.\n * @param {HTMLDocument|ShadowRoot} rootNode - the node to contain the