{"version":3,"sources":["webpack:///./node_modules/@progress/kendo-ui/js/dataviz/gauge/kendo-gauges.js","webpack:///./node_modules/@progress/kendo-ui/js/dataviz/gauge/main.js"],"names":["module","exports","modules","installedModules","__webpack_require__","moduleId","id","loaded","call","m","c","p","0","3","Error","890","892","895","896","916","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","f","define","apply","undefined","$","window","kendo","dataviz","getSpacing","defined","constants","BLACK","COORD_PRECISION","services","deepExtend","isArray","setDefaultOptions","NumericAxis","limitValue","Box","interpolateValue","round","drawing","DrawingGroup","Group","DrawingPath","Path","Animation","AnimationFactory","geometry","Rect","GeometryPoint","Point","transform","ANGULAR_SPEED","LINEAR_SPEED","ARROW","ARROW_POINTER","BAR_POINTER","DEFAULT_HEIGHT","DEFAULT_LINE_WIDTH","DEFAULT_WIDTH","DEGREE","Math","PI","INSIDE","LINEAR","OUTSIDE","RADIAL_POINTER","RADIAL_RANGE_POINTER","pad","bbox","value","origin","getOrigin","size","getSize","spacing","setOrigin","x","left","y","top","setSize","width","right","height","bottom","Path$1","Text","buildLabelElement","label","options","labelBox","box","textBox","children","border","background","wrapper","fromRect","x1","y1","stroke","text","font","fill","color","styleGeometry","clone","padding","styleBox","opacity","dashType","lineJoin","lineCap","elements","append","getRange","range","min","max","from","MIN_VALUE","to","MAX_VALUE","unpad","DEFAULT_MARGIN","Surface","Gauge","Class","extend","init","element","userOptions","theme","context","this","contextService","ChartService","_originalOptions","_initTheme","redraw","destroy","surface","surfaceElement","pointerValue","pointer","pointers","arguments","length","_setValueOptions","_draw","clear","draw","_visuals","exportVisual","allValues","values","i","push","i$1","isNumber","concat","arrayValues","resize","noTransitionsRedraw","transitions","_toggleTransitions","_surfaceSize","_initSurface","gaugeArea","_createGaugeArea","_createModel","_gaugeAreaMargin","reflow","setOptions","setDirection","rtl","Boolean","type","setIntlService","intl","currentTheme","areaGeometry","margin","ref","_surfaceElement","elementSize","renderAs","create","_getSize","document","createElement","appendChild","defaultSize","_defaultSize","offsetWidth","offsetHeight","this$1","animation","plotArea","scale","Path$2","Group$2","renderAxisTick","tickRenderOptions","tickOptions","start","end","position","tickX","tickY","vertical","tickPath","moveTo","lineTo","renderTicks","tickGroup","tickPositions","count","visible","mirror","lineBox","skip","step","skipUnit","x2","LinearScale","service","scaleOptions","reverse","fn","minorUnit","majorUnit","initUserOptions","labels","autoMajorUnit","initFields","render","renderLabels","scaleLine","renderLine","scaleTicks","ranges","renderRanges","rangeSize","minorTicks","slot","getSlot","slotX","slotY","y2","line","linePath","ticks","majorTicks","getMajorTickPositions","getMinorTickPositions","align","_alignLines","Pointer","newValue","_oldValue","repaint","LinearPointer","track","pointerBox","pointerRangeBox","trackBox","ref$1","trackSize","pointerHalfSize","space","shape","getElementOptions","_margin","ArrowLinearPointerAnimation","setup","axis","fromScale","toScale","duration","distanceTo","pos","translateX","translateY","translate","easing","current","register","Point$1","Path$3","ArrowLinearPointer","pointerShape","halfSize","sign","play","elementOptions","close","BarLinearPointerAnimation","Y","X","newPoints","oldPoints","abs","speed","_set","setter","toUpperCase","points","Group$3","Path$4","BarLinearPointer","dir","minSlot","sizeAxis","p1","p2","p3","p4","pointerPath","oldShape","group","renderTrack","trackOptions","toRect","DEFAULT_MIN_WIDTH","DEFAULT_MIN_HEIGHT","Group$1","LinearGauge","bboxX","bboxY","_shrinkScaleWidth","_getBox","_alignElements","_shrinkElements","_buildVisual","visuals","scaleElements","currentOptions","pointerType","boxCenter","center","plotAreaBox","wrap","diff","scaleBox","overflow","contentBox","shrink","alignTo","GEO_ARC_ADJUST_ANGLE","Arc","Path$5","Group$5","drawTicks","arc","tickAngles","unit","radius","getRadiusX","tickStart","pointAt","tickEnd","rotate","rangeSegment","RadialScale","renderArc","labelElements","repositionRanges","slotAngle","result","startAngle","endAngle","angle","hasRanges","ticksSize","labelsCount","labelsGroup","rangeDistance","labelsOptions","isInside","hasLabelElements","setRadiusX","setRadiusY","paddingWidth","paddingHeight","halfWidth","halfHeight","labelAngle","lp","cx","cos","cy","sin","labelPos","labelElement","prevLabelPos","labelTransform","union","rangeRadius","getRangeRadius","newRadius","_geometry","segments","rangeSegments","segmentsCount","segment","createRange","rangeGeom","radiusX","radiusY","defaultColor","rangePlaceholderColor","j","majorTickSize","tickArc","majorTickAngles","allTicks","minorTickSize","_tickDifference","minorTickAngles","normalizeTickAngles","angles","splice","ring","stepValue","tickCount","positions","repositionTicks","minor","newPoint","xDiff","anchor","yDiff","RadialPointerAnimation","animationOptions","newAngle","oldAngle","CAP_SIZE","Circle","Group$6","Path$6","RadialPointer","setAngle","_renderNeedle","_renderCap","capSize","cap","fromPoints","needleColor","needlePath","capColor","circle","arrow","Group$4","RadialGauge","_initialPlotArea","fitScale","alignScale","_buildPointers","minDiff","midDiff","maxDiff","mid","oldDiff","getDiff","staleFlag","getPlotBox","scaleArc","plotBbox","plotBox","plotBoxCenter","paddingX","paddingY","pointersArr","ArcScale","rangeLineCap","placeholderRangeAngle","geometry$$1","setEndAngle","setStartAngle","addRange","MAX_DURATION","RangePointerAnimation","startColor","get","currentColor","Color","r","g","b","toHex","RangePointer","abort","colors","currentValue","idx","ref$2","rangeColor","ArcGauge","centerLabelPosition","yLimit","bottomRight","defaultStartAngle","CircularGauge","jQuery","917","Widget","ui","themeOptions","themes","themeName","lowerName","toLowerCase","SASS_THEMES","indexOf","autoTheme","gauge","empty","_createInstance","addClass","notify","_instance","_copyFields","gaugeType","_gaugeType","_resize","proxyMembers","createProxyMember","name","ExportMixin","RadialGaugeWidget","LinearGaugeWidget","ArcGaugeWidget","css","_centerTemplate","instance","_centerElement","centerTemplate","template","centerElement","_getCenterElement","html","remove","CircularGaugeWidget","createExportMethod","method","drawDOM","then","visual","exportMethods","plugin","918"],"mappings":"6GAAAA,EAAOC,QACE,SAAUC,GAET,IAAIC,EAAmB,GAGvB,SAASC,EAAoBC,GAG5B,GAAGF,EAAiBE,GACnB,OAAOF,EAAiBE,GAAUJ,QAGnC,IAAID,EAASG,EAAiBE,GAAY,CACzCJ,QAAS,GACTK,GAAID,EACJE,QAAQ,GAUT,OANAL,EAAQG,GAAUG,KAAKR,EAAOC,QAASD,EAAQA,EAAOC,QAASG,GAG/DJ,EAAOO,QAAS,EAGTP,EAAOC,QAcf,OATAG,EAAoBK,EAAIP,EAGxBE,EAAoBM,EAAIP,EAGxBC,EAAoBO,EAAI,GAGjBP,EAAoB,GAvC5B,CA0CC,CAEJQ,EACA,SAAUZ,EAAQC,EAASG,GAEhCJ,EAAOC,QAAUG,EAAoB,MAKhCS,EACA,SAAUb,EAAQC,GAEvBD,EAAOC,QAAU,WAAa,MAAM,IAAIa,MAAM,oCAKzCC,IACA,SAAUf,EAAQC,GAEvBD,EAAOC,QAAU,EAAQ,SAIpBe,IACA,SAAUhB,EAAQC,GAEvBD,EAAOC,QAAU,EAAQ,SAIpBgB,IACA,SAAUjB,EAAQC,GAEvBD,EAAOC,QAAU,EAAQ,SAIpBiB,IACA,SAAUlB,EAAQC,GAEvBD,EAAOC,QAAU,EAAQ,SAIpBkB,IACA,SAAUnB,EAAQC,EAASG,GAEhC,IAAIgB,EAAgCC,EAA8BC,GAMlE,SAAUC,EAAGC,GACPH,EAA+B,CAC7BjB,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,KACpBA,EAAoB,MACrBgB,EAAiC,EAAKE,EAA2E,oBAAnCF,EAAiDA,EAA+BK,MAAMxB,EAASoB,GAAiCD,OAAmEM,IAAlCJ,IAAgDtB,EAAOC,QAAUqB,IANvT,EAOG,YAEH,SAAWK,GAEXC,OAAOC,MAAMC,QAAUF,OAAOC,MAAMC,SAAW,GAC/C,IAAIA,EAAUD,MAAMC,QAChBC,EAAaD,EAAQC,WACrBC,EAAUF,EAAQE,QAClBC,EAAYH,EAAQG,UACpBC,EAAQD,EAAUC,MAClBC,EAAkBF,EAAUE,gBAC5BC,EAAWN,EAAQM,SACnBC,EAAaP,EAAQO,WACrBC,EAAUR,EAAQQ,QAClBC,EAAoBT,EAAQS,kBAC5BC,EAAcV,EAAQU,YACtBC,EAAaX,EAAQW,WACrBC,EAAMZ,EAAQY,IACdC,EAAmBb,EAAQa,iBAC3BC,EAAQd,EAAQc,MAChBC,EAAUhB,MAAMgB,QAChBC,EAAeD,EAAQE,MACvBC,EAAcH,EAAQI,KACtBC,EAAYL,EAAQK,UACpBC,EAAmBN,EAAQM,iBAC3BC,EAAWvB,MAAMuB,SACjBC,EAAOD,EAASC,KAChBC,EAAgBF,EAASG,MACzBC,EAAYJ,EAASI,UAErBC,EAAgB,IAChBC,EAAe,IACfC,EAAQ,QACRC,EAAgB,eAChBC,EAAc,aACdC,EAAiB,IACjBC,EAAqB,GACrBC,EAAgB,IAChBC,EAASC,KAAKC,GAAK,IACnBC,EAAS,SACTC,EAAS,SACTC,EAAU,UACVC,EAAiB,gBACjBC,EAAuB,qBAE3B,SAASC,EAAIC,EAAMC,GACf,IAAIC,EAASF,EAAKG,YACdC,EAAOJ,EAAKK,UACZC,EAAUjD,EAAW4C,GAKzB,OAHAD,EAAKO,UAAU,CAAEL,EAAOM,EAAIF,EAAQG,KAAMP,EAAOQ,EAAIJ,EAAQK,MAC7DX,EAAKY,QAAQ,CAAER,EAAKS,OAASP,EAAQG,KAAOH,EAAQQ,OAAQV,EAAKW,QAAUT,EAAQK,IAAML,EAAQU,UAE1FhB,EAGX,IAAI3B,EAAQD,EACR6C,EAAS3C,EACT4C,EAAO/C,EAAQ+C,KAEnB,SAASC,EAAkBC,EAAOC,GAC9B,IAAIC,EAAWF,EAAMG,IACjBC,EAAUJ,EAAMK,SAAS,GAAGF,IAC5BG,EAASL,EAAQK,QAAU,GAC3BC,EAAaN,EAAQM,YAAc,GAEnCC,EAAUX,EAAOY,SAAS,IAAIlD,EAAK,CAAE2C,EAASQ,GAAIR,EAASS,IAAM,CAAET,EAAST,QAASS,EAASP,WAAa,CAC3GiB,OAAQ,KAGRC,EAAO,IAAIf,EAAKE,EAAMa,KAAM,IAAIrD,EAAc4C,EAAQM,GAAIN,EAAQO,IAAK,CACvEG,KAAMb,EAAQa,KACdC,KAAM,CAAEC,MAAOf,EAAQe,SAGvBC,EAAgBtC,EAAIkC,EAAKjC,OAAOsC,QAASjB,EAAQkB,SAEjDC,EAAWvB,EAAOY,SAASQ,EAAe,CAC1CL,OAAQ,CACJI,MAAOV,EAAOb,MAAQa,EAAOU,MAAQ,GACrCvB,MAAOa,EAAOb,MACd4B,QAASf,EAAOe,QAChBC,SAAUhB,EAAOgB,SACjBC,SAAU,QACVC,QAAS,SAEbT,KAAM,CACFC,MAAOT,KAIXkB,EAAW,IAAIxE,EAKnB,OAJAwE,EAASC,OAAOlB,GAChBiB,EAASC,OAAON,GAChBK,EAASC,OAAOb,GAETY,EAGX,SAASE,EAASC,EAAOC,EAAKC,GAC1B,IAAIC,EAAO7F,EAAQ0F,EAAMG,MAAQH,EAAMG,KAAO5F,EAAU6F,UACpDC,EAAK/F,EAAQ0F,EAAMK,IAAML,EAAMK,GAAK9F,EAAU+F,UAKlD,OAHAN,EAAMG,KAAO3D,KAAK0D,IAAI1D,KAAKyD,IAAII,EAAIF,GAAOF,GAC1CD,EAAMK,GAAK7D,KAAKyD,IAAIzD,KAAK0D,IAAIG,EAAIF,GAAOD,GAEjCF,EAGX,SAASO,EAAMvD,EAAMC,GACjB,IAAIK,EAAUjD,EAAW4C,GAKzB,OAHAK,EAAQG,MAAQH,EAAQG,KAAMH,EAAQK,KAAOL,EAAQK,IACrDL,EAAQQ,OAASR,EAAQQ,MAAOR,EAAQU,QAAUV,EAAQU,OAEnDjB,EAAIC,EAAMM,GAGrB,IAAIkD,EAAiB,EACjBjF,EAAOD,EACPmF,EAAUtF,EAAQsF,QAElBC,EAAQtG,EAAQuG,MAAMC,OAAO,CAC7BC,KAAM,SAASC,EAASC,EAAaC,EAAOC,QACxB,IAAZA,IAAsBA,EAAU,IAEpCC,KAAKJ,QAAUA,EACfI,KAAKF,MAAQA,EACbE,KAAKC,eAAiB,IAAIzG,EAAS0G,aAAaF,KAAMD,GACtDC,KAAKG,iBAAmB1G,EAAW,GAAIuG,KAAK7C,QAAS0C,GACrDG,KAAK7C,QAAU1D,EAAW,GAAIuG,KAAKG,kBACnCH,KAAKI,WAAWN,GAEhBE,KAAKK,UAGTC,QAAS,WACDN,KAAKO,UACLP,KAAKO,QAAQD,UACbN,KAAKO,QAAU,aAGZP,KAAKJ,eACLI,KAAKQ,gBAGhBzE,MAAO,SAAS0E,GACZ,IAAIC,EAAUV,KAAKW,SAAS,GAE5B,GAAyB,IAArBC,UAAUC,OACV,OAAOH,EAAQ3E,QAGnB2E,EAAQ3E,MAAM0E,GACdT,KAAKc,iBAAiBL,IAG1BM,MAAO,WACH,IAAIR,EAAUP,KAAKO,QAEnBA,EAAQS,QACRT,EAAQU,KAAKjB,KAAKkB,WAGtBC,aAAc,WACV,OAAOnB,KAAKkB,UAGhBE,UAAW,SAASC,GAChB,IAAIV,EAAWX,KAAKW,SAChBS,EAAY,GAEhB,GAAyB,IAArBR,UAAUC,OAAc,CACxB,IAAK,IAAIS,EAAI,EAAGA,EAAIX,EAASE,OAAQS,IACjCF,EAAUG,KAAKZ,EAASW,GAAGvF,SAG/B,OAAOqF,EAGX,GAAI1H,EAAQ2H,GACR,IAAK,IAAIG,EAAM,EAAGA,EAAMH,EAAOR,OAAQW,IAC/BtI,EAAQuI,SAASJ,EAAOG,KACxBb,EAASa,GAAKzF,MAAMsF,EAAOG,IAKvCxB,KAAKc,iBAAiBO,IAG1BP,iBAAkB,SAASO,GAIvB,IAHA,IAAIV,EAAW,GAAGe,OAAO1B,KAAK7C,QAAQuD,SAClCiB,EAAc,GAAGD,OAAOL,GAEnBC,EAAI,EAAGA,EAAIK,EAAYd,OAAQS,IACpCX,EAASW,GAAGvF,MAAQ4F,EAAYL,IAIxCM,OAAQ,WACJ5B,KAAK6B,uBAGTA,oBAAqB,WACjB,IAAIC,EAAc9B,KAAK7C,QAAQ2E,YAE/B9B,KAAK+B,oBAAmB,GAExB/B,KAAKK,SAELL,KAAK+B,mBAAmBD,IAG5BzB,OAAQ,WACJ,IAAInE,EAAO8D,KAAKgC,eACZtE,EAAU,IAAIjD,EAAK,CAAE,EAAG,GAAK,CAAEyB,EAAKS,MAAOT,EAAKW,SAEpDmD,KAAKiC,eAELjC,KAAKkC,UAAYlC,KAAKmC,mBAEtBnC,KAAKoC,eAEL,IAAItG,EAAOuD,EAAM3B,EAAQ5B,OAAQkE,KAAKqC,kBACtCrC,KAAKsC,OAAOxG,IAGhByG,WAAY,SAASpF,EAAS2C,GAC1BE,KAAKG,iBAAmB1G,EAAWuG,KAAKG,iBAAkBhD,GAC1D6C,KAAK7C,QAAU1D,EAAW,GAAIuG,KAAKG,kBAEnCH,KAAKI,WAAWN,GAEhBE,KAAKK,UAGTmC,aAAc,SAASC,GACnBzC,KAAKC,eAAewC,IAAMC,QAAQD,GAC9BzC,KAAKO,SAAiC,QAAtBP,KAAKO,QAAQoC,OAC7B3C,KAAKO,QAAQD,UACbN,KAAKO,QAAU,OAIvBqC,eAAgB,SAASC,GACrB7C,KAAKC,eAAe4C,KAAOA,GAG/BzC,WAAY,SAASN,GACjB,IAAIgD,EAAehD,GAASE,KAAKF,OAAS,GAC1CE,KAAKF,MAAQgD,EAEb9C,KAAK7C,QAAU1D,EAAW,GAAIqJ,EAAc9C,KAAK7C,SACjD,IAAIA,EAAU6C,KAAK7C,QACfuD,EAAUvD,EAAQuD,QAEtB,GAAIhH,EAAQgH,GAAU,CAElB,IADA,IAAIC,EAAW,GACNW,EAAI,EAAGA,EAAIZ,EAAQG,OAAQS,IAChCX,EAASY,KAAK9H,EAAW,GAAIqJ,EAAapC,QAASA,EAAQY,KAE/DnE,EAAQuD,QAAUC,IAI1BwB,iBAAkB,WACd,IAAIhF,EAAU6C,KAAK7C,QAAQ+E,UACvBhG,EAAO8D,KAAKO,QAAQrE,OACpBsB,EAASL,EAAQK,QAAU,GAC3BuF,EAAe,IAAItI,EAAK,CAAE,EAAG,GAAK,CAAEyB,EAAKS,MAAOT,EAAKW,SAEzDmD,KAAKqC,iBAAmBlF,EAAQ6F,QAAU1D,EAEtC9B,EAAOb,MAAQ,IACfoG,EAAe1D,EAAM0D,EAAcvF,EAAOb,QAG9C,IAAIuF,EAAY7H,EAAKsD,SAASoF,EAAc,CACxCjF,OAAQ,CACJI,MAAOV,EAAOb,MAAQa,EAAOU,MAAQ,GACrCvB,MAAOa,EAAOb,MACd6B,SAAUhB,EAAOgB,SACjBC,SAAU,QACVC,QAAS,SAEbT,KAAM,CACFC,MAAOf,EAAQM,cAIvB,OAAOyE,GAGXD,aAAc,WACV,IAAIgB,EAAMjD,KACN7C,EAAU8F,EAAI9F,QACdoD,EAAU0C,EAAI1C,QACdX,EAAUI,KAAKkD,kBACfhH,EAAO8D,KAAKgC,eAEhB9I,EAAQiK,YAAYvD,EAAS1D,GAExBqE,GAAWA,EAAQpD,QAAQwF,OAASxF,EAAQiG,UAS7CpD,KAAKO,QAAQS,QACbhB,KAAKO,QAAQqB,WATTrB,GACAA,EAAQD,UAGZN,KAAKO,QAAUhB,EAAQ8D,OAAOzD,EAAS,CACnC+C,KAAMxF,EAAQiG,aAQ1BpB,aAAc,WACV,IAAI7E,EAAU6C,KAAK7C,QACfjB,EAAO8D,KAAKsD,WAMhB,OAJInG,EAAQ+E,WACRzI,EAAWyC,EAAMiB,EAAQ+E,WAGtBhG,GAGXgH,gBAAiB,WAMb,OALKlD,KAAKQ,iBACNR,KAAKQ,eAAiB+C,SAASC,cAAc,OAC7CxD,KAAKJ,QAAQ6D,YAAYzD,KAAKQ,iBAG3BR,KAAKQ,gBAGhBrE,QAAS,WACL,OAAO6D,KAAKsD,YAGhBA,SAAU,WACN,IAAI1D,EAAUI,KAAKJ,QACf8D,EAAc1D,KAAK2D,eACnBhH,EAAQiD,EAAQgE,YAChB/G,EAAS+C,EAAQiE,aAUrB,OARKlH,IACDA,EAAQ+G,EAAY/G,OAGnBE,IACDA,EAAS6G,EAAY7G,QAGlB,CAAEF,MAAOA,EAAOE,OAAQA,IAGnC8G,aAAc,WACV,MAAO,CACHhH,MAAOvB,EACPyB,OAAQ3B,IAIhB6G,mBAAoB,SAAShG,GACzB,IAAI+H,EAAS9D,KAEbA,KAAK7C,QAAQ2E,YAAc/F,EAC3B,IAAK,IAAIuF,EAAI,EAAGA,EAAItB,KAAKW,SAASE,OAAQS,IACtCwC,EAAOnD,SAASW,GAAGnE,QAAQ4G,UAAUjC,YAAc/F,KAK/DpC,EAAkB6F,EAAO,CACrBwE,SAAU,GACVlE,MAAO,UACPsD,SAAU,GACV1C,QAAS,GACTuD,MAAO,GACP/B,UAAW,KAGf,IAAIgC,EAAS9J,EACT+J,EAAUjK,EACVS,EAAQD,EAEZ,SAAS0J,EAAeC,EAAmBC,GACvC,IAGIC,EAAOC,EAHPC,EAAWJ,EAAkBI,SAC7BC,EAAQL,EAAkBK,MAC1BC,EAAQN,EAAkBM,MAG1BN,EAAkBO,UAClBL,EAAQ,IAAI5J,EAAM+J,EAAOD,GACzBD,EAAM,IAAI7J,EAAM+J,EAAQJ,EAAYpI,KAAMuI,KAE1CF,EAAQ,IAAI5J,EAAM8J,EAAUE,GAC5BH,EAAM,IAAI7J,EAAM8J,EAAUE,EAAQL,EAAYpI,OAGlD,IAAI2I,EAAW,IAAIX,EAAO,CACtBpG,OAAQ,CACJI,MAAOoG,EAAYpG,MACnBvB,MAAO2H,EAAY3H,SAExBmI,OAAOP,GAAOQ,OAAOP,GAExB,OAAOK,EAGX,SAASG,GAAYC,EAAWC,EAAeb,EAAmBC,GAC9D,IAAIa,EAAQD,EAAcrE,OAE1B,GAAIyD,EAAYc,QAGZ,IAFA,IAAIC,EAAShB,EAAkBgB,OAC3BC,EAAUjB,EAAkBiB,QACvBhE,EAAIgD,EAAYiB,KAAMjE,EAAI6D,EAAO7D,GAAKgD,EAAYkB,KACnDlE,EAAIgD,EAAYmB,WAAa,IAIjCpB,EAAkBK,MAAQW,EAASC,EAAQI,GAAKJ,EAAQI,GAAKpB,EAAYpI,KACzEmI,EAAkBM,MAAQU,EAASC,EAAQzH,GAAKyG,EAAYpI,KAAOoJ,EAAQzH,GAC3EwG,EAAkBI,SAAWS,EAAc5D,GAE3C2D,EAAUrG,OAAOwF,EAAeC,EAAmBC,KAK/D,IAAIqB,GAAc/L,EAAY8F,OAAO,CACjCC,KAAM,SAASxC,EAASyI,GACpB,IAAIC,EAAe1I,GAAW,IACzB/D,EAAQyM,EAAaC,WAAsC,IAA1BD,EAAajB,WAAuBgB,GAAW,IAAInD,MACrFoD,EAAe9M,EAAE2G,OAAO,GAAImG,EAAc,CACtCC,SAAS,KAIjBlM,EAAYmM,GAAGpG,KAAK/H,KAAKoI,KAAM,EAAG,EAAG6F,EAAcD,GAEnD5F,KAAK7C,QAAQ6I,UAAYhG,KAAK7C,QAAQ6I,WAAahG,KAAK7C,QAAQ8I,UAAY,IAGhFC,gBAAiB,SAAS/I,GACtB,IAAI0I,EAAepM,EAAW,GAAIuG,KAAK7C,QAASA,GAIhD,OAHA0I,EAAepM,EAAW,GAAIoM,EAAe,CAAEM,OAAQ,CAAEd,OAAQQ,EAAaR,UAC9EQ,EAAaI,UAAYJ,EAAaI,WAAa/M,EAAQkN,cAAcP,EAAa9G,IAAK8G,EAAa7G,KAEjG6G,GAGXQ,WAAY,aAGZC,OAAQ,WACJ,IAAI3H,EAAWqB,KAAKrB,SAAW,IAAIwF,EAC/BgC,EAASnG,KAAKuG,eACdC,EAAYxG,KAAKyG,aACjBC,EAAa1G,KAAKgF,cAClB2B,EAAS3G,KAAK4G,eAIlB,OAFAjI,EAASC,OAAO4H,EAAWL,EAAQO,EAAYC,GAExChI,GAGXiI,aAAc,WAaV,IAZA,IAAI9C,EAAS9D,KAET7C,EAAU6C,KAAK7C,QACf4B,EAAM5B,EAAQ4B,IACdC,EAAM7B,EAAQ6B,IACd4F,EAAWzH,EAAQyH,SACnBS,EAASlI,EAAQgJ,OAAOd,OACxBsB,EAASxJ,EAAQwJ,QAAU,GAC3BhI,EAAW,IAAIwF,EACfgB,EAAQwB,EAAO9F,OACfgG,EAAY1J,EAAQ0J,WAAa1J,EAAQ2J,WAAW5K,KAAO,EAEtDoF,EAAI,EAAGA,EAAI6D,EAAO7D,IAAK,CAC5B,IAAIxC,EAAQD,EAAS8H,EAAOrF,GAAIvC,EAAKC,GACjC+H,EAAOjD,EAAOkD,QAAQlI,EAAMG,KAAMH,EAAMK,IACxC8H,EAAQrC,EAAWd,EAAOwB,UAAYyB,EACtCG,EAAQtC,EAAWmC,EAAOjD,EAAOwB,UACjCV,EACAqC,EAAMrJ,IAAMiJ,GAAaxB,GAAU,EAAI,GAEvC6B,EAAMC,IAAMN,GAAaxB,GAAU,EAAI,GAG3C1G,EAASC,OAAOsF,EAAOvG,SAAS,IAAIlD,EAAK,CAAEwM,EAAMrJ,GAAIsJ,EAAMrJ,IAAM,CAAEoJ,EAAMvB,GAAKuB,EAAMrJ,GAAIsJ,EAAMC,GAAKD,EAAMrJ,KAAO,CAC5GI,KAAM,CAAEC,MAAOY,EAAMZ,MAAOK,QAASO,EAAMP,SAC3CT,OAAQ,MAIhB,OAAOa,GAGX4H,aAAc,WAMV,IALA,IAAItD,EAAMjD,KACNmG,EAASlD,EAAIkD,OACbhJ,EAAU8F,EAAI9F,QACdwB,EAAW,IAAIwF,EAEV7C,EAAI,EAAGA,EAAI6E,EAAOtF,OAAQS,IAC/B3C,EAASC,OAAO3B,EAAkBkJ,EAAO7E,GAAInE,EAAQgJ,SAGzD,OAAOxH,GAGX8H,WAAY,WACR,IAAIW,EAAOpH,KAAK7C,QAAQiK,KACpB9B,EAAUtF,KAAKsF,UACf3G,EAAW,IAAIwF,EAEnB,GAAIiD,EAAKzK,MAAQ,GAAKyK,EAAKhC,QAAS,CAChC,IAAIiC,EAAW,IAAInD,EAAO,CACtBpG,OAAQ,CACJI,MAAOkJ,EAAKlJ,MACZM,SAAU4I,EAAK5I,SACf7B,MAAOyK,EAAKzK,SAIpB0K,EAASvC,OAAOQ,EAAQ1H,GAAI0H,EAAQzH,IAAIkH,OAAOO,EAAQI,GAAIJ,EAAQ6B,IACnExI,EAASC,OAAOyI,GAGpB,OAAO1I,GAGXqG,YAAa,WACT,IAAIsC,EAAQ,IAAInD,EACZhH,EAAU6C,KAAK7C,QACf8I,EAAY9I,EAAQoK,WAAWnC,QAAUjI,EAAQ8I,UAAY,EAC7D5B,EAAoB,CACpBO,SAAUzH,EAAQyH,SAClBS,OAAQlI,EAAQgJ,OAAOd,OACvBC,QAAStF,KAAKsF,WAQlB,OALAN,GAAYsC,EAAOtH,KAAKwH,wBAAyBnD,EAAmBlH,EAAQoK,YAC5EvC,GAAYsC,EAAOtH,KAAKyH,wBAAyBpD,EAAmB5K,EAAW,GAAI,CAC/EgM,SAAUQ,EAAY9I,EAAQ6I,WAC/B7I,EAAQ2J,aAEJQ,KAIf3N,EAAkBgM,GAAa,CAC3B5G,IAAK,EACLC,IAAK,GAELuI,WAAY,CACRrL,KAAM,GACNwL,MAAOlM,EACP0C,MAAO5E,EACPqD,MAAOxB,EACPiK,SAAS,GAGb0B,WAAY,CACR5K,KAAM,GACNwL,MAAOlM,EACP0C,MAAO5E,EACPqD,MAAOxB,EACPiK,SAAS,GAGbgC,KAAM,CACFzK,MAAOxB,GAGXgL,OAAQ,CACJ1B,SAAUjJ,EACV6C,QAAS,GAEbgH,QAAQ,EACRsC,aAAa,IAGjB,IAAIC,GAAU1O,EAAQuG,MAAMC,OAAO,CAC/BC,KAAM,SAASsE,EAAOpE,GAElB,IAAIoD,EAAMgB,EAAM9G,QACZ4B,EAAMkE,EAAIlE,IACVC,EAAMiE,EAAIjE,IACV7B,EAAU6C,KAAK7C,QAAU1D,EAAW,GAAIuG,KAAK7C,QAAS0C,GAE1D1C,EAAQc,KAAOd,EAAQe,MAEvB8B,KAAKiE,MAAQA,EAET7K,EAAQ+D,EAAQpB,OAChBoB,EAAQpB,MAAQlC,EAAWsD,EAAQpB,MAAOgD,EAAKC,GAE/C7B,EAAQpB,MAAQgD,GAIxBhD,MAAO,SAAS8L,GACZ,IAAI1K,EAAU6C,KAAK7C,QACfpB,EAAQoB,EAAQpB,MAEpB,GAAyB,IAArB6E,UAAUC,OACV,OAAO9E,EAGX,IAAIkH,EAAMjD,KAAKiE,MAAM9G,QACjB4B,EAAMkE,EAAIlE,IACVC,EAAMiE,EAAIjE,IAEd7B,EAAQ2K,UAAY1O,EAAQ+D,EAAQ2K,WAAa3K,EAAQpB,MAAQgD,EACjE5B,EAAQpB,MAAQlC,EAAWgO,EAAU9I,EAAKC,GAEtCgB,KAAKrB,UACLqB,KAAK+H,aAKjBpO,EAAkBiO,GAAS,CACvB1J,MAAO5E,IAGX,IAAI0O,GAAgBJ,GAAQlI,OAAO,CAC/BC,KAAM,SAASsE,EAAO9G,GAClByK,GAAQ7B,GAAGpG,KAAK/H,KAAKoI,KAAMiE,EAAO9G,GAElC6C,KAAK7C,QAAU1D,EAAW,CACtBwO,MAAO,CACH7C,QAAShM,EAAQ+D,EAAQ8K,SAE9BjI,KAAK7C,UAGZmF,OAAQ,WACJ,IAaI4F,EAAYC,EAAiBC,EAb7BnF,EAAMjD,KACN7C,EAAU8F,EAAI9F,QACd8G,EAAQhB,EAAIgB,MACZoE,EAAQpE,EAAM9G,QACdkI,EAASgD,EAAMhD,OACfT,EAAWyD,EAAMzD,SACjB4B,EAAYvC,EAAMqB,UAClBgD,EAAYnL,EAAQ8K,MAAM/L,MAAQiB,EAAQjB,KAC1CqM,EAAkBpL,EAAQjB,KAAO,EACjC8G,EAAS7J,EAAWgE,EAAQ6F,QAC5BwF,EAAQ5D,EACH5B,EAAOqC,EAAS,OAAS,SACzBrC,EAAOqC,EAAS,SAAW,OAGpCmD,EAAQnD,GAAUmD,EAAQA,EAEtB5D,GACAwD,EAAW,IAAItO,EACX0M,EAAU5I,GAAK4K,EAAOhC,EAAU3I,GAChC2I,EAAU5I,GAAK4K,EAAOhC,EAAUW,IAEhC9B,EACA+C,EAASxK,IAAM0K,EAEfF,EAAS1C,IAAM4C,EAGfnL,EAAQsL,QAAUxN,IAClBkN,EAAkB,IAAIrO,EAClB0M,EAAUd,GAAK8C,EAAOhC,EAAU3I,GAAK0K,EACrC/B,EAAUd,GAAK8C,EAAOhC,EAAUW,GAAKoB,GAEzCL,EAAaC,KAGjBC,EAAW,IAAItO,EACX0M,EAAU5I,GAAI4I,EAAU3I,GAAK2K,EAC7BhC,EAAUd,GAAIc,EAAU3I,GAAK2K,GAE7BnD,EACA+C,EAASjB,IAAMmB,EAEfF,EAASvK,IAAMyK,EAGfnL,EAAQsL,QAAUxN,IAClBkN,EAAkB,IAAIrO,EAClB0M,EAAU5I,GAAK2K,EAAiB/B,EAAU3I,GAAK2K,EAC/ChC,EAAUd,GAAK6C,EAAiB/B,EAAU3I,GAAK2K,GAEnDN,EAAaC,IAIrBnI,KAAKoI,SAAWA,EAChBpI,KAAKmI,gBAAkBA,EACvBnI,KAAK3C,IAAM6K,GAAcE,EAAShK,QAAQvC,IAAIsB,EAAQK,OAAOb,QAGjE+L,kBAAmB,WACf,IAAIvL,EAAU6C,KAAK7C,QAEnB,MAAO,CACHc,KAAM,CACFC,MAAOf,EAAQe,MACfK,QAASpB,EAAQoB,SAErBT,OAAQ1E,EAAQ+D,EAAQK,QAAU,CAC9BU,MAAOf,EAAQK,OAAOb,MAAQQ,EAAQK,OAAOU,OAASf,EAAQe,MAAQ,GACtEvB,MAAOQ,EAAQK,OAAOb,MACtB6B,SAAUrB,EAAQK,OAAOgB,SACzBD,QAASpB,EAAQoB,SACjB,OAIZoK,QAAS,WACL,IAAI1F,EAAMjD,KACNiE,EAAQhB,EAAIgB,MACZ9G,EAAU8F,EAAI9F,QACdkL,EAAQpE,EAAM9G,QACdkI,EAASgD,EAAMhD,OACfT,EAAWyD,EAAMzD,SACjB5B,EAAS7J,EAAWgE,EAAQ6F,QAE5BwF,EAAQ5D,EACR5B,EAAOqC,EAAS,OAAS,SACzBrC,EAAOqC,EAAS,SAAW,OAE/B,OAAOmD,KAIf7O,EAAkBqO,GAAe,CAC7BS,MAAOxN,EAEPgN,MAAO,CACHzK,OAAQ,CACJb,MAAO,IAIfuB,MAAO5E,EACPkE,OAAQ,CACJb,MAAO,GAEX4B,QAAS,EAETyE,OAAQ7J,EAAW,GACnB4K,UAAW,CACPpB,KAAM1H,GAEVmK,SAAS,IAGb,IAAIwD,GAA8BtO,EAAUoF,OAAO,CAC/CmJ,MAAO,WACH,IAAI1L,EAAU6C,KAAK7C,QACf6F,EAAS7F,EAAQ6F,OACjB/D,EAAO9B,EAAQ8B,KACfE,EAAKhC,EAAQgC,GACbyF,EAAWzH,EAAQyH,SACnBkE,EAAOlE,EAAW,KAAO,KAEzBzH,EAAQkI,SAAWT,GACnB3F,EAAK6J,IAAS9F,EAAQ7D,EAAG2J,IAAS9F,IAElC/D,EAAK6J,IAAS9F,EAAQ7D,EAAG2J,IAAS9F,GAGtC,IAAI+F,EAAY/I,KAAK+I,UAAY,IAAIrO,EAAcuE,EAAKrB,GAAIqB,EAAKpB,IAC7DmL,EAAUhJ,KAAKgJ,QAAU,IAAItO,EAAcyE,EAAGvB,GAAIuB,EAAGtB,IAEhC,IAArBV,EAAQ8L,WACR9L,EAAQ8L,SAAW3N,KAAK0D,IAAK+J,EAAUG,WAAWF,GAAW7L,EAAQ8L,SAAY,IAAM,KAI/FzD,KAAM,SAAS2D,GACX,IAAIC,EAAarP,EAAiBiG,KAAK+I,UAAUzM,EAAG0D,KAAKgJ,QAAQ1M,EAAG6M,GAChEE,EAAatP,EAAiBiG,KAAK+I,UAAUvM,EAAGwD,KAAKgJ,QAAQxM,EAAG2M,GAEpEnJ,KAAKJ,QAAQhF,UAAUA,IAAY0O,UAAUF,EAAYC,OAIjE1P,EAAkBiP,GAA6B,CAC3CW,OAAQ9N,EACRwN,SAAUnO,IAGdP,EAAiBiP,QAAQC,SAASzO,EAAe4N,IAEjD,IAAIc,GAAUhP,EACViP,GAASvP,EAETwP,GAAqB5B,GAActI,OAAO,CAC1CC,KAAM,SAASsE,EAAO9G,GAClB6K,GAAcjC,GAAGpG,KAAK/H,KAAKoI,KAAMiE,EAAO9G,GAEnC/D,EAAQ4G,KAAK7C,QAAQjB,QACtB8D,KAAK7C,QAAQjB,KAA4C,GAArC8D,KAAKiE,MAAM9G,QAAQoK,WAAWrL,OAI1D2N,aAAc,WACV,IAKIpB,EALAxF,EAAMjD,KACNiE,EAAQhB,EAAIgB,MACZ/H,EAAO+G,EAAI9F,QAAQjB,KACnB4N,EAAW5N,EAAO,EAClB6N,EAAQ9F,EAAM9G,QAAQkI,QAAU,EAAI,EAaxC,OATIoD,EADAxE,EAAM9G,QAAQyH,SACN,CACJ,IAAI8E,GAAQ,EAAG,EAAII,GAAW,IAAIJ,GAAQ,EAAIK,EAAO7N,EAAM,GAAI,IAAIwN,GAAQ,EAAG,EAAII,IAG9E,CACJ,IAAIJ,GAAQ,EAAII,EAAU,GAAI,IAAIJ,GAAQ,EAAG,EAAIK,EAAO7N,GAAO,IAAIwN,GAAQ,EAAII,EAAU,IAI1FrB,GAGXV,QAAS,WACL,IAAI9E,EAAMjD,KACNiE,EAAQhB,EAAIgB,MACZ9G,EAAU8F,EAAI9F,QACd4G,EAAY,IAAI6E,GAA4B5I,KAAKrB,SAAUlF,EAAW0D,EAAQ4G,UAAW,CACzFa,SAAUX,EAAM9G,QAAQyH,SACxBS,OAAQpB,EAAM9G,QAAQkI,OACtBrC,OAAQhD,KAAK2I,QAAQxL,EAAQ6F,QAC7B/D,KAAMgF,EAAM+C,QAAQ7J,EAAQ2K,WAC5B3I,GAAI8E,EAAM+C,QAAQ7J,EAAQpB,WAGQ,IAAlCoB,EAAQ4G,UAAUjC,cAClBiC,EAAU5G,QAAQ8L,SAAW,GAGjClF,EAAU8E,QACV9E,EAAUiG,QAGd1D,OAAQ,WACJ,IAAIrD,EAAMjD,KACNiE,EAAQhB,EAAIgB,MACZ9G,EAAU8F,EAAI9F,QACd8M,EAAiBjK,KAAK0I,oBACtBD,EAAQzI,KAAK6J,aAAa1M,EAAQpB,OAEtCoB,EAAQ4G,UAAUpB,KAAO3H,EAEzB,IAAI2D,EAAW,IAAIgL,GAAO,CACtB7L,OAAQmM,EAAenM,OACvBG,KAAMgM,EAAehM,OACtB6G,OAAO2D,EAAM,IAAI1D,OAAO0D,EAAM,IAAI1D,OAAO0D,EAAM,IAAIyB,QAElDnD,EAAO9C,EAAM+C,QAAQ7J,EAAQpB,OAKjC,OAJA4C,EAAS/D,UAAUA,IAAY0O,UAAUvC,EAAKnJ,GAAImJ,EAAKlJ,KAEvDmC,KAAKrB,SAAWA,EAETA,KAIXwL,GAA4B7P,EAAUoF,OAAO,CAC7CmJ,MAAO,WACH,IAAI1L,EAAU6C,KAAK7C,QACf2L,EAAO9I,KAAK8I,KAAO3L,EAAQyH,SAAWvL,EAAU+Q,EAAI/Q,EAAUgR,EAC9DlL,EAAKa,KAAKb,GAAKhC,EAAQmN,UAAU,GAAGxB,GACpC7J,EAAOe,KAAKf,KAAO9B,EAAQoN,UAAU,GAAGzB,GAEnB,IAArB3L,EAAQ8L,WACR9L,EAAQ8L,SAAW3N,KAAK0D,IAAK1D,KAAKkP,IAAIrL,EAAKF,GAAQ9B,EAAQsN,MAAS,IAAM,IAG9EzK,KAAK0K,KAAKzL,IAGduG,KAAM,SAAS2D,GACX,IAAIpN,EAAQhC,EAAiBiG,KAAKf,KAAMe,KAAKb,GAAIgK,GACjDnJ,KAAK0K,KAAK3O,IAGd2O,KAAM,SAAS3O,GACX,IAAI4O,EAAS,MAAQ3K,KAAK8I,KAAK8B,cAC3BC,EAAS7K,KAAK7C,QAAQmN,UAE1BO,EAAO,GAAGF,GAAQ5O,GAClB8O,EAAO,GAAGF,GAAQ5O,MAI1BpC,EAAkBwQ,GAA2B,CACzCZ,OAAQ9N,EACRgP,MAAO3P,IAGXP,EAAiBiP,QAAQC,SAASxO,EAAakP,IAE/C,IAAIW,GAAU5Q,EACV6Q,GAAS3Q,EAET4Q,GAAmBhD,GAActI,OAAO,CACxCC,KAAM,SAASsE,EAAO9G,GAClB6K,GAAcjC,GAAGpG,KAAK/H,KAAKoI,KAAMiE,EAAO9G,GAEnC/D,EAAQ4G,KAAK7C,QAAQjB,QACtB8D,KAAK7C,QAAQjB,KAA4C,GAArC8D,KAAKiE,MAAM9G,QAAQoK,WAAWrL,OAI1D2N,aAAc,SAAS9N,GACnB,IAAIkH,EAAMjD,KACNiE,EAAQhB,EAAIgB,MACZ9G,EAAU8F,EAAI9F,QACdkL,EAAQpE,EAAM9G,QACdkI,EAASgD,EAAMhD,OACfT,EAAWyD,EAAMzD,SACjBqG,EAAM5F,IAAWT,GAAY,EAAI,EACjC1I,EAAOiB,EAAQjB,KAAO+O,EACtBC,EAAUjH,EAAM+C,QAAQ/C,EAAM9G,QAAQ4B,KACtCgI,EAAO9C,EAAM+C,QAAQjL,GACrB+M,EAAOlE,EAAWvL,EAAU+Q,EAAI/Q,EAAUgR,EAC1Cc,EAAWvG,EAAWvL,EAAUgR,EAAIhR,EAAU+Q,EAC9CpH,EAAShD,KAAK2I,UAAYsC,EAE1BG,EAAK,IAAI1Q,EACb0Q,EAAGtC,GAAQoC,EAAQpC,EAAO,KAC1BsC,EAAGD,GAAYD,EAAQC,EAAW,KAElC,IAAIE,EAAK,IAAI3Q,EACb2Q,EAAGvC,GAAQ/B,EAAK+B,EAAO,KACvBuC,EAAGF,GAAYpE,EAAKoE,EAAW,KAE3BvG,GACAwG,EAAG9B,UAAUtG,EAAQ,GACrBqI,EAAG/B,UAAUtG,EAAQ,KAErBoI,EAAG9B,UAAU,EAAGtG,GAChBqI,EAAG/B,UAAU,EAAGtG,IAGpB,IAAIsI,EAAKD,EAAGjN,QACRmN,EAAKH,EAAGhN,QAUZ,OARIwG,GACA0G,EAAGhC,UAAUpN,EAAM,GACnBqP,EAAGjC,UAAUpN,EAAM,KAEnBoP,EAAGhC,UAAU,EAAGpN,GAChBqP,EAAGjC,UAAU,EAAGpN,IAGb,CAAEkP,EAAIC,EAAIC,EAAIC,IAGzBxD,QAAS,WACL,IAAI9E,EAAMjD,KACNiE,EAAQhB,EAAIgB,MACZ9G,EAAU8F,EAAI9F,QACdsL,EAAQzI,KAAK6J,aAAa1M,EAAQpB,OAClCyP,EAAcxL,KAAKwL,YACnBC,EAAWzL,KAAK6J,aAAa1M,EAAQ2K,WAEzC0D,EAAY1G,OAAO2D,EAAM,IAAI1D,OAAO0D,EAAM,IAAI1D,OAAO0D,EAAM,IAAI1D,OAAO0D,EAAM,IAAIyB,QAEhF,IAAInG,EAAY,IAAIoG,GAA0BqB,EAAa/R,EAAW0D,EAAQ4G,UAAW,CACrF+B,QAAS7B,EAAM9G,QAAQ2I,QACvBlB,SAAUX,EAAM9G,QAAQyH,SACxB2F,UAAW,CAAEkB,EAAS,GAAIA,EAAS,IACnCnB,UAAW,CAAE7B,EAAM,GAAIA,EAAM,QAGK,IAAlCtL,EAAQ4G,UAAUjC,cAClBiC,EAAU5G,QAAQ8L,SAAW,GAGjClF,EAAU8E,QACV9E,EAAUiG,QAGd1D,OAAQ,WACJ,IAAIoF,EAAQ,IAAIZ,GACZb,EAAiBjK,KAAK0I,oBAEtB1I,KAAK7C,QAAQ8K,MAAM7C,SACnBsG,EAAM9M,OAAOoB,KAAK2L,eAGtB,IAAIjL,EAAUV,KAAKwL,YAAc,IAAIT,GAAO,CACxCjN,OAAQmM,EAAenM,OACvBG,KAAMgM,EAAehM,OAOzB,OAJAyN,EAAM9M,OAAO8B,GAEbV,KAAKrB,SAAW+M,EAETA,GAGXC,YAAa,WACT,IAAIC,EAAe5L,KAAK7C,QAAQ8K,MAC5BzK,EAASoO,EAAapO,QAAU,GAChC4K,EAAWpI,KAAKoI,SAAShK,QAAQvC,IAAI2B,EAAOb,OAAS,GAEzD,OAAO,IAAIoO,GAAOpN,SAASyK,EAASyD,SAAU,CAC1C5N,KAAM,CACFC,MAAO0N,EAAa1N,MACpBK,QAASqN,EAAarN,SAE1BT,OAAQ,CACJI,MAAOV,EAAOb,MAAQa,EAAOU,OAAS0N,EAAa1N,MAAQ,GAC3DvB,MAAOa,EAAOb,MACd6B,SAAUhB,EAAOgB,eAM7BsN,GAAoB,GACpBC,GAAqB,GAErBC,GAAU9R,EAEV+R,GAAczM,EAAME,OAAO,CAC3B4C,OAAQ,SAASxG,GACb,IAAI6E,EAAWX,KAAKW,SAChBuL,EAAQpQ,EAAKE,OAAOM,EACpB6P,EAAQrQ,EAAKE,OAAOQ,EAEpBa,EAAM,IAAIvD,EAAIoS,EAAOC,EAAOD,EAAQpQ,EAAKa,QAASwP,EAAQrQ,EAAKe,UAEnEmD,KAAKiE,MAAM3B,OAAOjF,GAClB2C,KAAKoM,kBAAkB/O,GAEvB,IAAK,IAAIiE,EAAI,EAAGA,EAAIX,EAASE,OAAQS,IACjCX,EAASW,GAAGgB,SAGhBtC,KAAKlE,KAAOkE,KAAKqM,QAAQhP,GACzB2C,KAAKsM,iBACLtM,KAAKuM,kBACLvM,KAAKwM,eACLxM,KAAKe,SAGTyL,aAAc,WACV,IAAIC,EAAU,IAAIT,GACdU,EAAgB1M,KAAKiE,MAAMqC,SAC3B3F,EAAWX,KAAKW,SAEpB8L,EAAQ7N,OAAOoB,KAAKkC,WACpBuK,EAAQ7N,OAAO8N,GAEf,IAAK,IAAIpL,EAAI,EAAGA,EAAIX,EAASE,OAAQS,IAAK,CACtC,IAAIkI,EAAU7I,EAASW,GACvBmL,EAAQ7N,OAAO4K,EAAQlD,UACvBkD,EAAQzN,MAAMyN,EAAQrM,QAAQpB,OAGlCiE,KAAKkB,SAAWuL,GAGpBrK,aAAc,WACV,IAAI0B,EAAS9D,KAET7C,EAAU6C,KAAK7C,QACf8G,EAAQjE,KAAKiE,MAAQ,IAAI0B,GAAYxI,EAAQ8G,MAAOjE,KAAKC,gBAE7DD,KAAKW,SAAW,GAEhB,IAAIA,EAAWxD,EAAQuD,QACvBC,EAAWjH,EAAQiH,GAAYA,EAAW,CAAEA,GAE5C,IAAK,IAAIW,EAAI,EAAGA,EAAIX,EAASE,OAAQS,IAAK,CACtC,IAAIqL,EAAiBlT,EAAW,GAAIkH,EAASW,GAAI,CAC7CyC,UAAW,CACPjC,YAAa3E,EAAQ2E,eAGzB8K,EAAcD,EAAelE,QAAU1N,EAAQ6O,GAAqBoB,GAExElH,EAAOnD,SAASY,KAAK,IAAIqL,EAAY3I,EAAO0I,MAIpDhJ,aAAc,WACV,IAAIiB,EAAW5E,KAAK7C,QAAQ8G,MAAMW,SAElC,MAAO,CACHjI,MAAOiI,EAAWkH,GAAoB1Q,EACtCyB,OAAQ+H,EAAW1J,EAAiB6Q,KAI5CM,QAAS,SAAShP,GAOd,IANA,IAUInB,EAVA+G,EAAMjD,KACNiE,EAAQhB,EAAIgB,MACZtD,EAAWsC,EAAItC,SACfkM,EAAYxP,EAAIyP,SAChBC,EAAcpM,EAAS,GAAGtD,IAAIe,QAAQ4O,KAAK/I,EAAM5G,KAE5CiE,EAAI,EAAGA,EAAIX,EAASE,OAAQS,IACjCyL,EAAYC,KAAKrM,EAASW,GAAGjE,IAAIe,SAkBrC,OAdI6F,EAAM9G,QAAQyH,UACd1I,EAAO6Q,EAAYpQ,QAAU,EAC7BoQ,EAAc,IAAIjT,EACd+S,EAAUvQ,EAAIJ,EAAMmB,EAAIQ,GACxBgP,EAAUvQ,EAAIJ,EAAMmB,EAAI8J,MAG5BjL,EAAO6Q,EAAYlQ,SAAW,EAC9BkQ,EAAc,IAAIjT,EACduD,EAAIO,GAAIiP,EAAUrQ,EAAIN,EACtBmB,EAAIqI,GAAImH,EAAUrQ,EAAIN,IAIvB6Q,GAGXT,eAAgB,WAUZ,IATA,IAaIW,EAbAnJ,EAAS9D,KAETiD,EAAMjD,KACNiE,EAAQhB,EAAIgB,MACZtD,EAAWsC,EAAItC,SACfuM,EAAWjJ,EAAM5G,IACjBA,EAAMsD,EAAS,GAAGtD,IAAIe,QAAQ4O,KAAK/I,EAAM5G,KACzC0P,EAAc/M,KAAKlE,KAEdwF,EAAI,EAAGA,EAAIX,EAASE,OAAQS,IACjCjE,EAAI2P,KAAKrM,EAASW,GAAGjE,IAAIe,SAIzB6F,EAAM9G,QAAQyH,UACdqI,EAAOF,EAAYD,SAASxQ,EAAIe,EAAIyP,SAASxQ,EAC7C2H,EAAM3B,OAAO,IAAIxI,EACboT,EAAStP,GAAKqP,EAAMF,EAAYlP,GAChCqP,EAASxH,GAAKuH,EAAMF,EAAY5F,OAGpC8F,EAAOF,EAAYD,SAAStQ,EAAIa,EAAIyP,SAAStQ,EAC7CyH,EAAM3B,OAAO,IAAIxI,EACboT,EAAStP,GAAIsP,EAASrP,GAAKoP,EAC3BC,EAASxH,GAAIwH,EAAS/F,GAAK8F,KAInC,IAAK,IAAIzL,EAAM,EAAGA,EAAMb,EAASE,OAAQW,IACrCb,EAASa,GAAKc,OAAOwB,EAAOhI,OAIpCsQ,kBAAmB,SAAStQ,GACxB,IAAImH,EAAMjD,KACNiE,EAAQhB,EAAIgB,MAChB,IAAKA,EAAM9G,QAAQyH,SAAU,CACzB,IAAIuI,EAAWlJ,EAAMmJ,aAAazQ,QAAUb,EAAKa,QAC7CwQ,EAAW,IACXlJ,EAAM5G,IAAIgQ,OAAOF,EAAU,GAC3BlJ,EAAM5G,IAAIiQ,QAAQxR,EAAM,UACxBmI,EAAM3B,OAAO2B,EAAM5G,QAK/BkP,gBAAiB,WAUb,IATA,IAAIzI,EAAS9D,KAETiD,EAAMjD,KACNiE,EAAQhB,EAAIgB,MACZtD,EAAWsC,EAAItC,SACfuM,EAAWjJ,EAAM5G,IAAIe,QACrB+K,EAAMlF,EAAM9G,QAAQyH,SAAW,IAAM,IACrCsD,EAAavH,EAAS,GAAGtD,IAEpBiE,EAAI,EAAGA,EAAIX,EAASE,OAAQS,IACjC4G,EAAW8E,KAAKrM,EAASW,GAAGjE,IAAIe,SAGpC8O,EAAS/D,EAAM,IAAM7N,KAAK0D,IAAIkO,EAAS/D,EAAM,GAAKjB,EAAWiB,EAAM,GAAI,GACvE+D,EAAS/D,EAAM,IAAM7N,KAAK0D,IAAIkJ,EAAWiB,EAAM,GAAK+D,EAAS/D,EAAM,GAAI,GAEvElF,EAAM3B,OAAO4K,GAEb,IAAK,IAAI1L,EAAM,EAAGA,EAAMb,EAASE,OAAQW,IACrCb,EAASa,GAAKc,OAAOwB,EAAOhI,SAKxCnC,EAAkBsS,GAAa,CAC3BnK,aAAa,EACbI,UAAW,CACPzE,WAAY,IAEhBwG,MAAO,CACHW,UAAU,KAIlB,IAAI2I,GAAuB,IAEvBC,GAAMvT,EAAQuT,IACdC,GAASrT,EACTsT,GAAUxT,EAEd,SAASyT,GAAUC,EAAKC,EAAYC,EAAMxJ,GACtC,IAAIgD,EAAQ,IAAIoG,GACZZ,EAASc,EAAId,OACbiB,EAASH,EAAII,aAEjB,GAAI1J,EAAYc,QACZ,IAAK,IAAI9D,EAAI,EAAGA,EAAIuM,EAAWhN,OAAQS,IAAK,CACxC,IAAI2M,EAAYL,EAAIM,QAAQL,EAAWvM,IACnC6M,EAAU,IAAIzT,EAAcoS,EAAOxQ,EAAIyR,EAASzJ,EAAYpI,KAAM4Q,EAAOtQ,GAAG4R,OAAOP,EAAWvM,GAAIwL,GAEtGxF,EAAM1I,OAAO,IAAI6O,GAAO,CACpB3P,OAAQ,CACJI,MAAOoG,EAAYpG,MACnBvB,MAAO2H,EAAY3H,SAExBmI,OAAOmJ,GAAWlJ,OAAOoJ,IAIpC,OAAO7G,EAGX,SAAS+G,GAAapP,EAAME,EAAIjB,EAAOK,GACnC,MAAO,CAAEU,KAAMA,EAAME,GAAIA,EAAIjB,MAAOA,EAAOK,QAASA,GAGxD,IAAI+P,GAAc1U,EAAY8F,OAAO,CACjCC,KAAM,SAASxC,EAASyI,GACpBhM,EAAYmM,GAAGpG,KAAK/H,KAAKoI,KAAM,EAAG,EAAG7C,EAASyI,IAGlDM,gBAAiB,SAAS/I,GACtB,IAAI0I,EAAepM,EAAW,GAAIuG,KAAK7C,QAASA,GAIhD,OAHA0I,EAAaI,UAAYJ,EAAaI,WAAa/M,EAAQkN,cAAcP,EAAa9G,IAAK8G,EAAa7G,KACxG6G,EAAaG,UAAYH,EAAaG,WAAaH,EAAaI,UAAY,GAErEJ,GAGXQ,WAAY,aAGZC,OAAQ,SAASwG,EAAQiB,GACrB,IAAIH,EAAM5N,KAAKuO,UAAUzB,EAAQiB,GAEjC/N,KAAKlE,KAAO8R,EAAI9R,OAChBkE,KAAKwO,cAAgBxO,KAAKuG,eAC1BvG,KAAKsH,MAAQtH,KAAKgF,cAClBhF,KAAK2G,OAAS3G,KAAK4G,gBAGvBtE,OAAQ,SAASxG,GACb,IAAIgR,EAAShR,EAAKgR,SACdiB,EAASzS,KAAKyD,IAAIjD,EAAKe,SAAUf,EAAKa,SAAW,EAErD,IAAIvD,EAAQ4G,KAAKlE,MAMb,OAAOkE,KAAKsG,OAAOwG,EAAQiB,GAL3B/N,KAAKlE,KAAOkE,KAAK4N,IAAI9R,OACrBkE,KAAK+N,OAAO/N,KAAK4N,IAAII,cACrBhO,KAAKyO,mBACLzO,KAAKuG,gBAMbmI,UAAW,SAAS3S,GAChB,IAOI4S,EAPA1L,EAAMjD,KAAK7C,QACX4B,EAAMkE,EAAIlE,IACVC,EAAMiE,EAAIjE,IACV8G,EAAU7C,EAAI6C,QACd8I,EAAa3L,EAAI2L,WACjBC,EAAW5L,EAAI4L,SACfC,EAAQD,EAAWD,EASvB,OALID,EADA7I,EACS+I,GAAY9S,EAAQgD,IAAQC,EAAMD,GAAO+P,GAEvC/S,EAAQgD,IAAQC,EAAMD,GAAO+P,EAASF,EAG9CD,EAASpB,IAGpBwB,UAAW,WACP,IAAIpI,EAAS3G,KAAK7C,QAAQwJ,OAE1B,OAAOA,GAAUA,EAAO9F,QAG5BmO,UAAW,WACP,IAAI/L,EAAMjD,KAAK7C,QACXoK,EAAatE,EAAIsE,WACjBT,EAAa7D,EAAI6D,WACjB5K,EAAO,EASX,OARIqL,EAAWnC,UACXlJ,EAAOqL,EAAWrL,MAGlB4K,EAAW1B,UACXlJ,EAAOZ,KAAK0D,IAAI8H,EAAW5K,KAAMA,IAG9BA,GAGX+S,YAAa,WACT,IAAI9J,EAAQvL,EAAYmM,GAAGkJ,YAAYrX,KAAKoI,MACxC7C,EAAU6C,KAAK7C,QACf2R,EAAQ3R,EAAQ0R,SAAW1R,EAAQyR,WAMvC,OAJIE,GAAS,KAAQ3R,EAAQ6B,IAAM7B,EAAQ8I,YAAc,IACrDd,GAAS,GAGNA,GAGXoB,aAAc,WACV,IAAIzC,EAAS9D,KAET7C,EAAU6C,KAAK7C,QACfyQ,EAAM5N,KAAK4N,IAAIxP,QACf2P,EAASH,EAAII,aACbH,EAAa7N,KAAK6N,WAAWD,EAAKzQ,EAAQ8I,WAC1CY,EAAY1J,EAAQ0J,UAAY1J,EAAQ0J,WAAsB,GAATkH,EACrDmB,EAAc,IAAIxB,GAElByB,EAAyB,IAATpB,EAChB3U,EAAQ+D,EAAQgS,eAChBA,EAAgBhS,EAAQgS,cAExBhS,EAAQgS,cAAgBA,EAG5B,IAAIC,EAAgBjS,EAAQgJ,OACxBkJ,EAAWD,EAAc3K,WAAajJ,EACtC8T,EAAmBlW,EAAQ4G,KAAKwO,eAEhCa,IACAtB,GAAU/N,KAAKgP,YAEXhP,KAAK+O,cAAgBO,IACrBvB,GAAUlH,EAAYsI,GAE1BvB,EAAI2B,WAAWxB,GAAQyB,WAAWzB,IAStC,IANA,IAAI5H,EAASnG,KAAKmG,OACdhB,EAAQgB,EAAOtF,OACfxC,EAAUlF,EAAWiW,EAAc/Q,SACnCoR,GAAgBpR,EAAQ9B,KAAO8B,EAAQzB,OAAS,EAChD8S,GAAiBrR,EAAQ5B,IAAM4B,EAAQvB,QAAU,EAE5CwE,EAAI,EAAGA,EAAI6D,EAAO7D,IAAK,CAC5B,IAAIpE,EAAQiJ,EAAO7E,GACfqO,EAAYzS,EAAMG,IAAIV,QAAU,EAChCiT,EAAa1S,EAAMG,IAAIR,SAAW,EAClCiS,EAAQjB,EAAWvM,GACnBuO,GAAcf,EAAQvB,IAAwBlS,EAE9CyU,EAAKlC,EAAIM,QAAQY,GACjBiB,EAAKD,EAAGxT,EAAKhB,KAAK0U,IAAIH,IAAeF,EAAYF,IAAiBJ,EAAW,GAAK,GAClFY,EAAKH,EAAGtT,EAAKlB,KAAK4U,IAAIL,IAAeD,EAAaF,IAAkBL,EAAW,GAAK,GAExFnS,EAAMoF,OAAO,IAAIxI,EAAIiW,EAAKJ,EAAWM,EAAKL,EAAYG,EAAKJ,EAAWM,EAAKL,IAC3E,IAAIO,EAAW,IAAIzV,EAAcwC,EAAMG,IAAIO,GAAIV,EAAMG,IAAIQ,IAErDuS,OAAe,EACnB,GAAKd,EAGE,CACHc,EAAetM,EAAO0K,cAAcjR,SAAS+D,GAC7C,IAAI+O,EAAeD,EAAatU,OAAOE,OAEnCsU,EAAiBF,EAAaxV,aAAeA,IACjD0V,EAAehH,UAAU6G,EAAS7T,EAAI+T,EAAa/T,EAAG6T,EAAS3T,EAAI6T,EAAa7T,GAChF4T,EAAaxV,UAAU0V,QARvBF,EAAenT,EAAkBC,EAAOC,EAAQgJ,QAChD+I,EAAYtQ,OAAOwR,GAUvBtM,EAAOhI,KAAOrB,EAAK8V,MAAMzM,EAAOhI,KAAMsU,EAAatU,QAGvD,OAAOoT,GAGXT,iBAAkB,WACd,IAAI9H,EAAS3G,KAAK2G,OAAOpJ,SAEzB,GAAIoJ,EAAO9F,OAAS,EAAG,CACnB,IAAIoC,EAAMjD,KAAK7C,QACXgS,EAAgBlM,EAAIkM,cACpBtI,EAAY5D,EAAI4D,UAChB2J,EAAcxQ,KAAKyQ,iBAEnBzQ,KAAK7C,QAAQgJ,OAAO1B,WAAajJ,IACjCgV,GAAe3J,EAAYsI,GAK/B,IAFA,IAAIuB,EAAYF,EAAe3J,EAAY,EAElCvF,EAAI,EAAGA,EAAIqF,EAAO9F,OAAQS,IAC/BqF,EAAOrF,GAAGqP,UAAUpB,WAAWmB,GAAWlB,WAAWkB,GAGzD1Q,KAAKlE,KAAOrB,EAAK8V,MAAMvQ,KAAKlE,KAAMkE,KAAK2G,OAAO7K,UAItD8K,aAAc,WACV,IAAI9C,EAAS9D,KAET4Q,EAAW5Q,KAAK6Q,gBAChBC,EAAgBF,EAAS/P,OACzB8N,EAAS,IAAIjB,GAEjB,GAAIoD,EAAe,CACf,IAAI7N,EAAMjD,KAAK7C,QACX0J,EAAY5D,EAAI4D,UAChBf,EAAU7C,EAAI6C,QACdqJ,EAAgBlM,EAAIkM,cACpBqB,EAAcxQ,KAAKyQ,iBAGvBzQ,KAAK+N,OAAO/N,KAAK+N,SAAWlH,EAAYsI,GAExC,IAAK,IAAI7N,EAAI,EAAGA,EAAIwP,EAAexP,IAAK,CACpC,IAAIyP,EAAUH,EAAStP,GACnBrC,EAAO6E,EAAO4K,UAAUqC,EAAQjL,EAAU,KAAO,SACjD3G,EAAK2E,EAAO4K,UAAUqC,EAASjL,EAAiB,OAAP,OAEzC3G,EAAKF,IAAS,GACd0P,EAAO/P,OAAOkF,EAAOkN,YAAY/R,EAAME,EAAIqR,EAAaO,KAKpE,OAAOpC,GAGXqC,YAAa,SAASpC,EAAYC,EAAU2B,EAAarT,GACrD,IAAI0J,EAAY7G,KAAK7C,QAAQ0J,UACzBoK,EAAY,IAAIzW,EAASgT,IAAIxN,KAAK4N,IAAId,OAAQ,CAC9CoE,QAASV,EAAe3J,EAAY,EACpCsK,QAASX,EAAe3J,EAAY,EACpC+H,WAAYA,EACZC,SAAUA,IAGd,OAAO,IAAIrB,GAAIyD,EAAW,CACtBnT,OAAQ,CACJnB,MAAOkK,EACP3I,MAAOf,EAAQe,MACfK,QAASpB,EAAQoB,QACjBG,QAASvB,EAAQuB,YAK7BmS,cAAe,WACX,IAAI1T,EAAU6C,KAAK7C,QACfwJ,EAASxJ,EAAQwJ,QAAU,GAC3BxB,EAAQwB,EAAO9F,OACf+P,EAAW,GAEf,GAAIzL,EAAO,CACP,IAAIpG,EAAM5B,EAAQ4B,IACdC,EAAM7B,EAAQ6B,IACdoS,EAAejU,EAAQkU,sBAC3BT,EAASrP,KAAK8M,GAAatP,EAAKC,EAAKoS,IAErC,IAAK,IAAI9P,EAAI,EAAGA,EAAI6D,EAAO7D,IAIvB,IAHA,IAAIxC,EAAQD,EAAS8H,EAAOrF,GAAIvC,EAAKC,GACjC8R,EAAgBF,EAAS/P,OAEpByQ,EAAI,EAAGA,EAAIR,EAAeQ,IAAK,CACpC,IAAIP,EAAUH,EAASU,GAEvB,GAAIP,EAAQ9R,MAAQH,EAAMG,MAAQH,EAAMG,MAAQ8R,EAAQ5R,GAAI,CACxDyR,EAASrP,KAAK8M,GAAavP,EAAMG,KAAMH,EAAMK,GAAIL,EAAMZ,MAAOY,EAAMP,UAEhEwS,EAAQ9R,MAAQH,EAAMK,IAAML,EAAMK,IAAM4R,EAAQ5R,IAChDyR,EAASrP,KAAK8M,GAAavP,EAAMK,GAAI4R,EAAQ5R,GAAIiS,EAActS,EAAMP,UAGzEwS,EAAQ5R,GAAKL,EAAMG,KAEnB,QAMhB,OAAO2R,GAGXH,eAAgB,WACZ,IAMI1C,EANA9K,EAAMjD,KACN4N,EAAM3K,EAAI2K,IACVzQ,EAAU8F,EAAI9F,QACd0J,EAAY1J,EAAQ0J,UACpBsI,EAAgBhS,EAAQgS,cACxBoC,EAAgBpU,EAAQoK,WAAWrL,KASvC,OALI6R,EADA5Q,EAAQgJ,OAAO1B,WAAa/I,EACnBkS,EAAII,aAAeuD,EAAgBpC,EAAgBtI,EAEnD+G,EAAII,aAAenH,EAGzBkH,GAGXQ,UAAW,SAASzB,EAAQiB,GACxB,IAAI5Q,EAAU6C,KAAK7C,QAEfyQ,EAAM5N,KAAK4N,IAAM,IAAIpT,EAASgT,IAAIV,EAAQ,CAC1CoE,QAASnD,EACToD,QAASpD,EACTa,WAAYzR,EAAQyR,WAAarB,GACjCsB,SAAU1R,EAAQ0R,SAAWtB,KAGjC,OAAOK,GAGX5I,YAAa,WACT,IAAI/B,EAAMjD,KACN4N,EAAM3K,EAAI2K,IACVzQ,EAAU8F,EAAI9F,QACdqU,EAAU5D,EAAIxP,QAElB4B,KAAKyR,gBAAkBzR,KAAK6N,WAAWD,EAAKzQ,EAAQ8I,WACpDjG,KAAKuH,WAAaoG,GAAU6D,EAASxR,KAAKyR,gBAAiBtU,EAAQ8I,UAAW9I,EAAQoK,YAEtF,IAAImK,EAAW,IAAIhE,GACnBgE,EAAS9S,OAAOoB,KAAKuH,YAErB,IAAIgK,EAAgBpU,EAAQoK,WAAWrL,KACnCyV,EAAgBxU,EAAQ2J,WAAW5K,KAIvC,GAFA8D,KAAK4R,gBAAkBL,EAAgBI,EAEnCxU,EAAQgJ,OAAO1B,WAAa/I,EAAS,CACrC,IAAIqS,EAASyD,EAAQxD,aACrBwD,EAAQjC,WAAWxB,EAASwD,EAAgBI,GACpCnC,WAAWzB,EAASwD,EAAgBI,GAOhD,OAJA3R,KAAK6R,gBAAkB7R,KAAK8R,oBAAoB9R,KAAK6N,WAAWD,EAAKzQ,EAAQ6I,YAC7EhG,KAAK8G,WAAa6G,GAAU6D,EAASxR,KAAK6R,gBAAiB1U,EAAQ6I,UAAW7I,EAAQ2J,YACtF4K,EAAS9S,OAAOoB,KAAK8G,YAEd4K,GAGXI,oBAAqB,SAASC,GAI1B,IAHA,IAAI5U,EAAU6C,KAAK7C,QACfoI,EAAOpI,EAAQ8I,UAAY9I,EAAQ6I,UAE9B1E,EAAIyQ,EAAOlR,OAAS,EAAGS,GAAK,EAAGA,IAChCA,EAAIiE,IAAS,GACbwM,EAAOC,OAAO1Q,EAAG,GAIzB,OAAOyQ,GAGXlE,WAAY,SAASoE,EAAMC,GACvB,IAAI/U,EAAU6C,KAAK7C,QACf2I,EAAU3I,EAAQ2I,QAClBhH,EAAQ3B,EAAQ6B,IAAM7B,EAAQ4B,IAC9B+P,EAAQmD,EAAKpD,SAAWoD,EAAKrD,WAC7BuD,EAAYrT,EAAQoT,EACpB/I,EAAM8I,EAAKrD,WACXpJ,EAAOsJ,EAAQqD,EAEfrM,IACAqD,GAAO2F,EACPtJ,GAAQA,GAGRsJ,GAAS,KAAQ3R,EAAQ6B,IAAMkT,IAAc,IAC7CC,GAAa,GAIjB,IADA,IAAIC,EAAY,GACP9Q,EAAI,EAAGA,EAAI6Q,EAAW7Q,IAC3B8Q,EAAU7Q,KAAKvH,EAAMmP,EAAK5P,IAC1B4P,GAAO3D,EAOX,OAJIxL,EAAMmP,IAAQ8I,EAAKpD,UACnBuD,EAAU7Q,KAAK4H,GAGZiJ,GAGXrE,OAAQ,SAAShS,GACb,IAAIA,EAKA,OAAOiE,KAAK4N,IAAII,aAJhBhO,KAAK4N,IAAI2B,WAAWxT,GAAOyT,WAAWzT,GACtCiE,KAAKqS,gBAAgBrS,KAAKuH,WAAWhK,SAAUyC,KAAKyR,iBACpDzR,KAAKqS,gBAAgBrS,KAAK8G,WAAWvJ,SAAUyC,KAAK6R,iBAAiB,IAM7EQ,gBAAiB,SAAS/K,EAAOuG,EAAYyE,GACzC,IAAIrF,EAAOqF,GAAStS,KAAK4R,iBAAwB,EAC7CJ,EAAUxR,KAAK4N,IACfG,EAASyD,EAAQxD,aAEjBsE,GAAStS,KAAK7C,QAAQgJ,OAAO1B,WAAa/I,GAAoB,IAATuR,IACrDuE,EAAUxR,KAAK4N,IAAIxP,QACnBoT,EAAQjC,WAAWxB,EAASd,GAAMuC,WAAWzB,EAASd,IAG1D,IAAK,IAAI3L,EAAI,EAAGA,EAAIgG,EAAMzG,OAAQS,IAAK,CACnC,IAAIiR,EAAWf,EAAQtD,QAAQL,EAAWvM,IACtCsP,EAAWtJ,EAAMhG,GAAGsP,SACpB4B,EAAQD,EAASjW,EAAIsU,EAAS,GAAG6B,SAASnW,EAC1CoW,EAAQH,EAAS/V,EAAIoU,EAAS,GAAG6B,SAASjW,EAE9C8K,EAAMhG,GAAG1G,WAAU,IAAIA,GAAY0O,UAAUkJ,EAAOE,QAKhE/Y,EAAkB2U,GAAa,CAC3BvP,IAAK,EACLC,IAAK,IAELuI,WAAY,CACRrL,KAAM,GACNwL,MAAOlM,EACP0C,MAAO5E,EACPqD,MAAOxB,EACPiK,SAAS,GAGb0B,WAAY,CACR5K,KAAM,GACNwL,MAAOlM,EACP0C,MAAO5E,EACPqD,MAAOxB,EACPiK,SAAS,GAGbwJ,YAAa,GACbC,SAAU,IAEV1I,OAAQ,CACJ1B,SAAUjJ,EACV6C,QAAS,KAIjB,IAAIsU,GAAyBrY,EAAUoF,OAAO,CAC1CC,KAAM,SAASC,EAASzC,GACpB7C,EAAUyL,GAAGpG,KAAK/H,KAAKoI,KAAMJ,EAASzC,GAEtC,IAAIyV,EAAmB5S,KAAK7C,QAE5ByV,EAAiB3J,SAAW3N,KAAK0D,IAAK1D,KAAKkP,IAAIoI,EAAiBC,SAAWD,EAAiBE,UAAYF,EAAiB3J,SAAY,IAAM,IAG/IzD,KAAM,SAAS2D,GACX,IAAIhM,EAAU6C,KAAK7C,QACf2R,EAAQ/U,EAAiBoD,EAAQ2V,SAAU3V,EAAQ0V,SAAU1J,GAEjEnJ,KAAKJ,QAAQhF,UAAUA,IAAYwT,OAAOU,EAAO3R,EAAQ2P,YAIjEnT,EAAkBgZ,GAAwB,CACtCpJ,OAAQ9N,EACRwN,SAAUpO,IAGdN,EAAiBiP,QAAQC,SAAS9N,EAAgBgX,IAElD,IAAII,GAAW,IACXC,GAAS/Y,EAAQ+Y,OACjBC,GAAU/Y,EACVgZ,GAAS9Y,EAET+Y,GAAgBvL,GAAQlI,OAAO,CAC/B0T,SAAU,SAAStE,GACf9O,KAAKrB,SAAS/D,UAAUA,IAAYwT,OAAOU,EAAO9O,KAAK8M,UAG3D/E,QAAS,WACL,IAAI9E,EAAMjD,KACNiE,EAAQhB,EAAIgB,MACZ9G,EAAU8F,EAAI9F,QACd2V,EAAW7O,EAAMyK,UAAUvR,EAAQ2K,WACnC+K,EAAW5O,EAAMyK,UAAUvR,EAAQpB,QAED,IAAlCoB,EAAQ4G,UAAUjC,YAClB9B,KAAKoT,SAASP,GAEd,IAAIF,GAAuB3S,KAAKrB,SAAUlF,EAAW0D,EAAQ4G,UAAW,CACpE+O,SAAUA,EACVD,SAAUA,KACV7I,QAIZ1D,OAAQ,WACJ,IAAIrD,EAAMjD,KACNiE,EAAQhB,EAAIgB,MACZ9G,EAAU8F,EAAI9F,QACdwB,EAAW,IAAIsU,GAenB,OAb0B,IAAtB9V,EAAQ4G,WACRtK,EAAW0D,EAAQ4G,UAAW,CAC1B6K,WAAY,EACZ9B,OAAQ7I,EAAM2J,IAAId,OAClBhH,QAAS7B,EAAM9G,QAAQ2I,UAI/BnH,EAASC,OAAOoB,KAAKqT,gBAAiBrT,KAAKsT,cAE3CtT,KAAKrB,SAAWA,EAChBqB,KAAKoT,SAAS/X,GAEPsD,GAGX2D,OAAQ,SAASsL,GACb,IAAId,EAAS9M,KAAK8M,OAASc,EAAId,OAC3BjM,EAAShH,EAAWmG,KAAK7C,QAAQ0D,QAAU,EAAG,GAAK,KACnDkN,EAAS/N,KAAK+N,OAASH,EAAII,aAAenN,EAC1C0S,EAAUvT,KAAKuT,QAAUjY,KAAKtB,MAAM+T,EAAS/N,KAAK7C,QAAQqW,IAAItX,MAElE8D,KAAKlE,KAAOrB,EAAKgZ,WAAW,IAAI/Y,EAAcoS,EAAOxQ,EAAIiX,EAASzG,EAAOtQ,EAAI+W,GACjD,IAAI7Y,EAAcoS,EAAOxQ,EAAIiX,EAASzG,EAAOtQ,EAAI+W,KAGjFF,cAAe,WACX,IAAI1B,EAAgB3R,KAAKiE,MAAM9G,QAAQ2J,WAAW5K,KAC9C4Q,EAAS9M,KAAK8M,OACd4G,EAAc1T,KAAK7C,QAAQe,MAE3ByV,EAAa,IAAIT,GAAO,CACxBjV,KAAM,CAAEC,MAAOwV,GACf5V,OAAQ,CAAEI,MAAOwV,EAAa/W,MAAOxB,KAQzC,OALAwY,EAAW7O,OAAOgI,EAAOxQ,EAAI0D,KAAK+N,OAAS4D,EAAe7E,EAAOtQ,GACtDuI,OAAO+H,EAAOxQ,EAAGwQ,EAAOtQ,EAAKwD,KAAKuT,QAAU,GAC5CxO,OAAO+H,EAAOxQ,EAAGwQ,EAAOtQ,EAAKwD,KAAKuT,QAAU,GAC5CrJ,QAEJyJ,GAGXL,WAAY,WACR,IAAInW,EAAU6C,KAAK7C,QACfyW,EAAWzW,EAAQqW,IAAItV,OAASf,EAAQe,MACxC2V,EAAS,IAAIrZ,EAASwY,OAAOhT,KAAK8M,OAAQ9M,KAAKuT,SAE/CC,EAAM,IAAIR,GAAOa,EAAQ,CACzB5V,KAAM,CAAEC,MAAO0V,GACf9V,OAAQ,CAAEI,MAAO0V,KAGrB,OAAOJ,KAIf7Z,EAAkBwZ,GAAe,CAC7BK,IAAK,CACDtX,KAAM6W,IAEVe,MAAO,CACHnX,MAAO,GACPE,OAAQ,IAEZkH,UAAW,CACPpB,KAAMhH,EACNsN,SAAUpO,KAIlB,IAAIkZ,GAAU7Z,EAEV8Z,GAAcxU,EAAME,OAAO,CAC3B4C,OAAQ,SAASxG,GACb,IAAIgI,EAAS9D,KAETW,EAAWX,KAAKW,SACpBX,KAAKiE,MAAM3B,OAAOxG,GAClBkE,KAAKiU,iBAAmBjU,KAAKiE,MAAMnI,KAEnC,IAAK,IAAIwF,EAAI,EAAGA,EAAIX,EAASE,OAAQS,IACjCX,EAASW,GAAGgB,OAAOwB,EAAOG,MAAM2J,KAChC9J,EAAOmQ,iBAAmBxZ,EAAK8V,MAAMzM,EAAOmQ,iBAAkBtT,EAASW,GAAGxF,MAG9EkE,KAAKkU,SAASpY,GACdkE,KAAKmU,WAAWrY,GAChBkE,KAAKwM,aAAaxM,KAAKkC,UAAWvB,EAAUX,KAAKiE,OACjDjE,KAAKe,SAGTyL,aAAc,SAAStK,EAAWvB,EAAUsD,GACxC,IAAIwI,EAAUzM,KAAKkB,SAAW,IAAI6S,GAElCtH,EAAQ7N,OAAOsD,GACfuK,EAAQ7N,OAAOqF,EAAMqD,OACrBmF,EAAQ7N,OAAOqF,EAAM0C,QACrB3G,KAAKoU,eAAezT,GACpB8L,EAAQ7N,OAAOqF,EAAMuK,gBAGzB4F,eAAgB,SAASzT,GAGrB,IAFA,IAAImD,EAAS9D,KAEJsB,EAAI,EAAGA,EAAIX,EAASE,OAAQS,IAAK,CACtC,IAAIkI,EAAU7I,EAASW,GACvBkI,EAAQlD,SACRxC,EAAO5C,SAAStC,OAAO4K,EAAQ7K,UAE/B6K,EAAQzN,MAAMyN,EAAQrM,QAAQpB,SAItCmY,SAAU,SAASpY,GACf,IAOIuY,EAASC,EAASC,EAASC,EAAKC,EAPhC3Q,EAAS9D,KAET4N,EAAM5N,KAAKiE,MAAM2J,IACjBb,EAAc/M,KAAKiU,iBACnBzO,EAAOlK,KAAKkP,IAAIxK,KAAK0U,QAAQ3H,EAAajR,IAC1CiD,EAAM/E,EAAMwL,EAAMjM,GAClByF,EAAMhF,GAAOwL,EAAMjM,GAEnBob,EAAY,EACZrT,EAAI,EAER,MAAOA,IAAM,IAAK,CAGd,GAFAqT,EAAaF,IAAYF,EAAYI,EAAY,EAAK,EAElDA,EAAY,EACZ,MAGJ,GAAI5V,IAAQyV,IACRH,EAAUvQ,EAAO8Q,WAAW7V,EAAKjD,EAAM8R,GACnC,GAAKyG,GAAWA,GAAW,GAC3B,MAIR,GAAIrV,IAAQwV,IACRD,EAAUzQ,EAAO8Q,WAAW5V,EAAKlD,EAAM8R,GACnC,GAAK2G,GAAWA,GAAW,GAC3B,MAaR,GARIC,EADAH,EAAU,GAAKE,EAAU,EACb,EAANxV,EACCsV,EAAU,GAAKE,EAAU,EACpB,EAANvV,EAEAhF,GAAQ+E,EAAMC,GAAO,GAAM,EAAGzF,GAGxC+a,EAAUxQ,EAAO8Q,WAAWJ,EAAK1Y,EAAM8R,GACnC,GAAK0G,GAAWA,GAAW,EAC3B,MAGJG,EAAUF,EAEND,EAAU,GACVtV,EAAMwV,EACND,EAAUD,IAEVvV,EAAMyV,EACNH,EAAUC,KAKtBM,WAAY,SAASpP,EAAM1J,EAAM8R,GAC7B,IAAI9J,EAAS9D,KAETiE,EAAQjE,KAAKiE,MACbtD,EAAWX,KAAKW,SAChBoN,EAASH,EAAII,aACb6G,EAAWjH,EAAIxP,QAEnByW,EAAStF,WAAWxB,EAASvI,GAAMgK,WAAWzB,EAASvI,GAEvDvB,EAAM2J,IAAMiH,EACZ5Q,EAAM3B,OAAOxG,GACbkE,KAAK8U,SAAW7Q,EAAMnI,KAEtB,IAAK,IAAIwF,EAAI,EAAGA,EAAIX,EAASE,OAAQS,IACjCX,EAASW,GAAGgB,OAAOuS,GACnB/Q,EAAOgR,SAAWra,EAAK8V,MAAMzM,EAAOgR,SAAUnU,EAASW,GAAGxF,MAG9D,OAAOkE,KAAK0U,QAAQ1U,KAAK8U,SAAUhZ,IAGvC4Y,QAAS,SAASK,EAAS1X,GACvB,OAAO/B,KAAKyD,IAAI1B,EAAIV,QAAUoY,EAAQpY,QAASU,EAAIR,SAAWkY,EAAQlY,WAG1EsX,WAAY,SAASrY,GACjB,IAAIgI,EAAS9D,KAETgV,EAAgBhV,KAAK8U,SAAShI,SAC9BD,EAAY/Q,EAAKgR,SACjBmI,EAAWD,EAAc1Y,EAAIuQ,EAAUvQ,EACvC4Y,EAAWF,EAAcxY,EAAIqQ,EAAUrQ,EACvCyG,EAAMjD,KACNiE,EAAQhB,EAAIgB,MACZtD,EAAWsC,EAAItC,SAEnBsD,EAAM2J,IAAId,OAAOxQ,GAAK2Y,EACtBhR,EAAM2J,IAAId,OAAOtQ,GAAK0Y,EAEtBjR,EAAM3B,OAAOxG,GAEb,IAAK,IAAIwF,EAAI,EAAGA,EAAIX,EAASE,OAAQS,IACjCX,EAASW,GAAGgB,OAAO2B,EAAM2J,KACzB9J,EAAOgR,SAAWra,EAAK8V,MAAMtM,EAAMnI,KAAM6E,EAASW,GAAGxF,OAI7DsG,aAAc,WACV,IAAI0B,EAAS9D,KAET7C,EAAU6C,KAAK7C,QACfwD,EAAWxD,EAAQuD,QACnBuD,EAAQjE,KAAKiE,MAAQ,IAAIqK,GAAYnR,EAAQ8G,MAAOjE,KAAKC,gBAE7DD,KAAKW,SAAW,GAGhB,IADA,IAAIwU,EAAczb,EAAQiH,GAAYA,EAAW,CAAEA,GAC1CW,EAAI,EAAGA,EAAI6T,EAAYtU,OAAQS,IAAK,CACzC,IAAIkI,EAAU,IAAI2J,GAAclP,EAAOxK,EAAW,GAAI0b,EAAY7T,GAAI,CAClEyC,UAAW,CACPjC,YAAa3E,EAAQ2E,gBAI7BgC,EAAOnD,SAASY,KAAKiI,OAKjC7P,EAAkBqa,GAAa,CAC3BlS,aAAa,EACbI,UAAW,CACPzE,WAAY,MAIpB,IAAI2X,GAAW9G,GAAY5O,OAAO,CAC9BmR,cAAe,WACX,IAAI5N,EAAMjD,KAAK7C,QACX4B,EAAMkE,EAAIlE,IACVC,EAAMiE,EAAIjE,IACVqS,EAAwBpO,EAAIoO,sBAC5BgE,EAAepS,EAAIoS,aAEvB,MAAO,CAAE,CAAEpW,KAAMF,EAAKI,GAAIH,EAAKd,MAAOmT,EAAuB3S,QAAS2W,KAG1EtG,UAAW,WACP,OAAO,GAGXuG,sBAAuB,SAASxG,GAC5B,IAAIyG,EAAcvV,KAAK2G,OAAOpJ,SAAS,GAAG/C,WAEtCwF,KAAK7C,QAAQ2I,QACbyP,EAAYC,YAAY1G,GAExByG,EAAYE,cAAc3G,IAIlC4G,SAAU,SAASzW,EAAME,EAAIhC,GACzB,IAAI2I,EAAU9F,KAAK7C,QAAQ2I,QAEvB8I,EAAa5O,KAAK0O,UAAU5I,EAAU3G,EAAKF,GAC3C4P,EAAW7O,KAAK0O,UAAU5I,EAAU7G,EAAOE,GAE3CL,EAAQkB,KAAKgR,YAAYpC,EAAYC,EAAU7O,KAAKyQ,iBAAkBtT,GAI1E,OAFA6C,KAAK2G,OAAO/H,OAAOE,GAEZA,KAIfnF,EAAkByb,GAAU,CACxBrW,IAAK,EACLC,IAAK,IAELuI,WAAY,CACRnC,SAAS,GAGb0B,WAAY,CACR1B,SAAS,GAGbe,OAAQ,CACJf,SAAS,GAGbwJ,WAAY,EACZC,SAAU,IACVwG,aAAc,UAGlB,IAAIM,GAAe,IAEfC,GAAwBtb,EAAUoF,OAAO,CACzCC,KAAM,SAASC,EAASzC,GACpB7C,EAAUyL,GAAGpG,KAAK/H,KAAKoI,KAAMJ,EAASzC,GAEtC,IAAIyV,EAAmB5S,KAAK7C,QACxB8L,EAAY3N,KAAKkP,IAAIoI,EAAiBC,SAAWD,EAAiBE,UAAYF,EAAiB3J,SAAY,IAC/G2J,EAAiB3J,SAAWpP,EAAWoP,EAAUpO,EAAe8a,IAEhE,IAAIE,EAAajW,EAAQjB,SAASxB,QAAQ2Y,IAAI,gBAC1C5X,EAAQ0B,EAAQmW,eAChBF,IAAe3X,IACf8B,KAAK6V,WAAa,IAAI5c,MAAM+c,MAAMH,GAClC7V,KAAK9B,MAAQ,IAAIjF,MAAM+c,MAAM9X,KAIrCsH,KAAM,SAAS2D,GACX,IAAIlG,EAAMjD,KACN7C,EAAU8F,EAAI9F,QACd0Y,EAAa5S,EAAI4S,WACjB3X,EAAQ+E,EAAI/E,MACZ4Q,EAAQ/U,EAAiBoD,EAAQ2V,SAAU3V,EAAQ0V,SAAU1J,GAGjE,GAFAnJ,KAAKJ,QAAQkP,MAAMA,GAEf5Q,EAAO,CACP,IAAI+X,EAAIjc,EAAMD,EAAiB8b,EAAWI,EAAG/X,EAAM+X,EAAG9M,IAClD+M,EAAIlc,EAAMD,EAAiB8b,EAAWK,EAAGhY,EAAMgY,EAAG/M,IAClDgN,EAAInc,EAAMD,EAAiB8b,EAAWM,EAAGjY,EAAMiY,EAAGhN,IAEtDnJ,KAAKJ,QAAQ9B,OAAO,IAAI7E,MAAM+c,MAAMC,EAAGC,EAAGC,GAAGC,aAKzDzc,EAAkBic,GAAuB,CACrCrM,OAAQ9N,EACRwN,SAAUpO,IAGdN,EAAiBiP,QAAQC,SAAS7N,EAAsBga,IAExD,IAAIS,GAAezO,GAAQlI,OAAO,CAC9BqI,QAAS,WACL,IAAI9E,EAAMjD,KACNiE,EAAQhB,EAAIgB,MACZ9G,EAAU8F,EAAI9F,QACd2V,EAAW7O,EAAMyK,UAAUvR,EAAQ2K,WACnC+K,EAAW5O,EAAMyK,UAAUvR,EAAQpB,OAEnCiE,KAAK+D,WACL/D,KAAK+D,UAAUuS,SAGmB,IAAlCnZ,EAAQ4G,UAAUjC,aAClB9B,KAAK8O,MAAM+D,GACX7S,KAAKlC,OAAOkC,KAAK+V,kBAEjB/V,KAAK+D,UAAY,IAAI6R,GAAsB5V,KAAMvG,EAAW0D,EAAQ4G,UAAW,CAC3E+O,SAAUA,EACVD,SAAUA,KAGd7S,KAAK+D,UAAUiG,SAIvB8E,MAAO,SAAS/S,GACZ,IAAIwZ,EAAcvV,KAAKrB,SAASnE,WAC5BwF,KAAKiE,MAAM9G,QAAQ2I,QACnByP,EAAYE,cAAc1Z,GAE1BwZ,EAAYC,YAAYzZ,GAE5BiE,KAAKiE,MAAMqR,sBAAsBvZ,IAGrC+B,OAAQ,SAAS/B,GACbiE,KAAKrB,SAASb,OAAO/B,IAGzBuK,OAAQ,WACJ,IAAItG,KAAKrB,SAAT,CAIA,IAAIsE,EAAMjD,KACNiE,EAAQhB,EAAIgB,MACZ9G,EAAU8F,EAAI9F,SAEQ,IAAtBA,EAAQ4G,WACRtK,EAAW0D,EAAQ4G,UAAW,CAC1B6K,WAAY,EACZ9B,OAAQ7I,EAAM2J,IAAId,OAClBhH,QAAS7B,EAAM9G,QAAQ2I,UAI/B9F,KAAKrB,SAAWsF,EAAMyR,SAASzR,EAAM9G,QAAQ4B,IAAKiB,KAAK7C,QAAQpB,MAAO,CAClEmC,MAAO8B,KAAK+V,eACZxX,QAASpB,EAAQoB,QACjBG,QAASuF,EAAM9G,QAAQkY,iBAI/BU,aAAc,WACV,IAAI9S,EAAMjD,KAAKiE,MAAM9G,QACjB4B,EAAMkE,EAAIlE,IACVC,EAAMiE,EAAIjE,IACVqJ,EAAQrI,KAAK7C,QACboZ,EAASlO,EAAMkO,OACfrY,EAAQmK,EAAMnK,MACdnC,EAAQsM,EAAMtM,MACdya,EAAetd,EAAQuI,SAAS1F,GAASA,EAAQgD,EAErD,GAAIwX,EACA,IAAK,IAAIE,EAAM,EAAGA,EAAMF,EAAO1V,OAAQ4V,IAAO,CAC1C,IAAIC,EAAQH,EAAOE,GACfE,EAAaD,EAAMxY,MACnBe,EAAOyX,EAAMzX,UAAmB,IAATA,IAAmBA,EAAOF,GACrD,IAAII,EAAKuX,EAAMvX,GAEf,QAF8B,IAAPA,IAAiBA,EAAKH,GAEzCC,GAAQuX,GAAgBA,GAAgBrX,EACxC,OAAOwX,EAKnB,OAAOzY,GAGXoE,OAAQ,WACJtC,KAAKsG,SAELtG,KAAKlE,KAAOkE,KAAKrB,SAAS7C,UAIlCnC,EAAkB0c,GAAc,CAC5BtS,UAAW,CACPpB,KAAM/G,EACNqN,SAAUpO,KAIlB,IAAI+b,GAAW5C,GAAYtU,OAAO,CAC9BU,WAAY,SAASN,GACjBkU,GAAYjO,GAAG3F,WAAWxI,KAAKoI,KAAMF,GAErCE,KAAK7C,QAAQe,MAAQ8B,KAAK7C,QAAQe,QAAU8B,KAAKF,MAAMY,SAAW,IAAIxC,OAG1EkE,aAAc,WACV,IAAIjF,EAAU6C,KAAK7C,QACf8G,EAAQjE,KAAKiE,MAAQ,IAAImR,GAASjY,EAAQ8G,MAAOjE,KAAKC,gBAEtDS,EAAU,IAAI2V,GAAapS,EAAOxK,EAAW,GAAI,CACjD8c,OAAQpZ,EAAQoZ,OAChBrY,MAAOf,EAAQe,MACfnC,MAAOoB,EAAQpB,MACfwC,QAASpB,EAAQoB,QACjBwF,UAAW,CACPjC,YAAa3E,EAAQ2E,gBAI7B9B,KAAKW,SAAW,CAAED,IAGtB0T,eAAgB,SAASzT,GACrB,IAAK,IAAIW,EAAI,EAAGA,EAAIX,EAASE,OAAQS,IAAK,CACtC,IAAIkI,EAAU7I,EAASW,GACvBkI,EAAQlD,SAERkD,EAAQzN,MAAMyN,EAAQrM,QAAQpB,SAItC+E,iBAAkB,SAAS/E,GACvBiE,KAAK7C,QAAQpB,MAAQA,GAGzBga,aAAc,WACV,IAAIrV,EAAUV,KAAKW,SAAS,GAC5B,GAAID,EACA,OAAOA,EAAQqV,gBAIvBc,oBAAqB,SAASla,EAAOE,GACjC,IAAIX,EAAO8D,KAAK7D,UACZ2Q,EAAS9M,KAAKiE,MAAM2J,IAAId,OAExBvQ,EAAOuQ,EAAOxQ,EAAIK,EAAQ,EAC1BF,EAAMqQ,EAAOtQ,EAAIK,EAAS,EAE9B,GAAIF,EAAQT,EAAKS,MAAO,CACpB,IAAIC,EAAQL,EAAOI,EAEnBJ,EAAOjB,KAAK0D,IAAIzC,EAAM,GAElBK,EAAQV,EAAKS,QACbJ,GAAQK,EAAQV,EAAKS,OAI7B,GAAIE,EAASX,EAAKW,OAAQ,CACtB,IAAIf,EAAOkE,KAAKiE,MAAMnI,KAClBgb,EAAShb,EAAKib,cAAcva,EAC5BM,EAASL,EAAMI,EAEnBJ,EAAMnB,KAAK0D,IAAIvC,EAAKX,EAAKE,OAAOQ,GAE5BM,EAASga,IACTra,GAAOK,EAASga,GAIxB,MAAO,CACHva,KAAMA,EACNE,IAAKA,MAKbua,GAAoB,GAEpBC,GAAgBL,GAASlX,OAAO,CAChC0C,aAAc,WACV,IAAIyD,EAAe7F,KAAK7C,QAAQ8G,MACO,kBAA5B4B,EAAa+I,aACpB/I,EAAa+I,WAAaoI,IAG9BnR,EAAagJ,SAAWhJ,EAAa+I,WAAa,IAElDgI,GAAS7Q,GAAG3D,aAAaxK,KAAKoI,SAItC/G,MAAMQ,WAAWR,MAAMC,QAAS,CAC5BsG,MAAOA,EACPyM,YAAaA,GACbjE,cAAeA,GACf4B,mBAAoBA,GACpBoB,iBAAkBA,GAClBrF,YAAaA,GACbqO,YAAaA,GACbb,cAAeA,GACf7E,YAAaA,GACbsI,SAAUA,GACVP,aAAcA,GACdjB,SAAUA,GACV6B,cAAeA,MA/vEnB,CAkwEGje,OAAOC,MAAMie,UAEb1f,EAAoB,Q,qBC/2ExBJ,EAAOC,QACE,SAAUC,GAET,IAAIC,EAAmB,GAGvB,SAASC,EAAoBC,GAG5B,GAAGF,EAAiBE,GACnB,OAAOF,EAAiBE,GAAUJ,QAGnC,IAAID,EAASG,EAAiBE,GAAY,CACzCJ,QAAS,GACTK,GAAID,EACJE,QAAQ,GAUT,OANAL,EAAQG,GAAUG,KAAKR,EAAOC,QAASD,EAAQA,EAAOC,QAASG,GAG/DJ,EAAOO,QAAS,EAGTP,EAAOC,QAcf,OATAG,EAAoBK,EAAIP,EAGxBE,EAAoBM,EAAIP,EAGxBC,EAAoBO,EAAI,GAGjBP,EAAoB,GAvC5B,CA0CC,CAEJQ,EACA,SAAUZ,EAAQC,EAASG,GAEhCJ,EAAOC,QAAUG,EAAoB,MAKhCS,EACA,SAAUb,EAAQC,GAEvBD,EAAOC,QAAU,WAAa,MAAM,IAAIa,MAAM,oCAKzCif,IACA,SAAU/f,EAAQC,EAASG,GAEhC,IAAIgB,EAAgCC,EAA8BC,GAA8B,SAAUC,EAAGC,GACvGH,EAA+B,CAC7BjB,EAAoB,MACrBgB,EAAiC,EAAKE,EAA2E,oBAAnCF,EAAiDA,EAA+BK,MAAMxB,EAASoB,GAAiCD,OAAmEM,IAAlCJ,IAAgDtB,EAAOC,QAAUqB,IAHvN,EAI7F,WAqQH,OAnQA,SAAWK,GACP,IAAIE,EAAQD,OAAOC,MACfme,EAASne,EAAMoe,GAAGD,OAClBle,EAAUD,EAAMC,QAChB+S,EAAc/S,EAAQ+S,YACtB+H,EAAc9a,EAAQ8a,YACtB4C,EAAW1d,EAAQ0d,SACnBK,EAAgB/d,EAAQ+d,cACxBhW,EAAOhI,EAAMgB,QAEjB,SAASqd,EAAana,GAClB,IAAIoa,EAASre,EAAQme,GAAGE,QAAU,GAC9BC,EAAYra,EAAQ2C,OAAS,GAC7B2X,EAAYD,EAAUE,cAE1B,OAA8C,GAA3Cxe,EAAQye,YAAYC,QAAQH,GACpBve,EAAQ2e,YAAYC,OAGvBP,EAAOC,IAAcD,EAAOE,IAAc,IAAIK,MAG1D,IAAItY,EAAQ4X,EAAO1X,OAAO,CACtBC,KAAM,SAASC,EAASC,GACpB5G,EAAMqH,QAAQV,GACd7G,EAAE6G,GAASmY,QAEXX,EAAOrR,GAAGpG,KAAK/H,KAAKoI,KAAMJ,GAE1BI,KAAK7C,QAAUlE,EAAMQ,WAAWuG,KAAK7C,QAAS0C,GAE9CG,KAAKtC,QAAUsC,KAAKJ,QACpBI,KAAKgY,kBAELhY,KAAKJ,QAAQqY,SAAS,WAEtBhf,EAAMif,OAAOlY,KAAM9G,EAAQme,KAG/Bla,QAAS,CACL2C,MAAO,UACPsD,SAAU,GACV1C,QAAS,GACTuD,MAAO,GACP/B,UAAW,CACPzE,WAAY,IAEhBqE,aAAa,GAGjBS,WAAY,SAASpF,GACjB6C,KAAKmY,UAAU5V,WAAWpF,EAASma,EAAana,IAEhD6C,KAAKoY,eAGT/X,OAAQ,WACJL,KAAKmY,UAAU9X,SACfL,KAAKoY,eAGT9X,QAAS,WACL8W,EAAOrR,GAAGzF,QAAQ1I,KAAKoI,MACvBA,KAAKmY,UAAU7X,WAGnB0X,gBAAiB,WACb,IAAIK,EAAYrY,KAAKsY,aACrBtY,KAAKmY,UAAY,IAAIE,EAAUrY,KAAKJ,QAAQ,GAAII,KAAK7C,QAASma,EAAatX,KAAK7C,UAChF6C,KAAKoY,eAGTA,YAAa,WACTpY,KAAKG,iBAAmBH,KAAKmY,UAAUhY,iBACvCH,KAAK7C,QAAU6C,KAAKmY,UAAUhb,QAC9B6C,KAAKO,QAAUP,KAAKmY,UAAU5X,QAC9BP,KAAKlE,KAAOkE,KAAKmY,UAAUrc,KAC3BkE,KAAKkC,UAAYlC,KAAKmY,UAAUjW,UAChClC,KAAKW,SAAWX,KAAKmY,UAAUxX,SAC/BX,KAAKiE,MAAQjE,KAAKmY,UAAUlU,OAGhCsU,QAAS,WACLvY,KAAKmY,UAAUvW,YAInB4W,EAAe,CAAC,UAAW,QAAS,YAAa,gBAErD,SAASC,EAAkBC,GACvBlZ,EAAMuG,GAAG2S,GAAQ,WACb,OAAO1Y,KAAKmY,UAAUO,GAAM7f,MAAMmH,KAAKmY,UAAWvX,YAI1D,IAAK,IAAI6V,EAAM,EAAGA,EAAM+B,EAAa3X,OAAQ4V,IACzCgC,EAAkBD,EAAa/B,IAGnCvd,EAAQyf,YAAYjZ,OAAOF,EAAMuG,IAEjC,IAAI6S,EAAoBpZ,EAAME,OAAO,CAEjCvC,QAAS,CACLub,KAAM,eAGVJ,WAAY,WACR,OAAOtE,KAIX6E,EAAoBrZ,EAAME,OAAO,CAEjCvC,QAAS,CACLub,KAAM,cACNzU,MAAO,CACHW,UAAU,IAIlB0T,WAAY,WACR,OAAOrM,KAIX6M,EAAiBtZ,EAAME,OAAO,CAC9BC,KAAM,SAASC,EAASC,GACpBL,EAAMuG,GAAGpG,KAAK/H,KAAKoI,KAAMJ,EAASC,GAElCG,KAAKJ,QAAQmZ,IAAI,WAAY,YAC7B/Y,KAAKJ,QAAQqY,SAAS,cAEtBjY,KAAKgZ,mBAGT7b,QAAS,CACLub,KAAM,YAGVnW,WAAY,SAASpF,GACjBqC,EAAMuG,GAAGxD,WAAW3K,KAAKoI,KAAM7C,GAC/B6C,KAAKgZ,mBAGT3Y,OAAQ,WACJb,EAAMuG,GAAG1F,OAAOzI,KAAKoI,MACrBA,KAAKgZ,mBAGTjd,MAAO,SAASA,GACZ,IAAIkd,EAAWjZ,KAAKmY,UACpB,GAAyB,IAArBvX,UAAUC,OACV,OAAOoY,EAASld,QAGpBkd,EAASld,MAAMA,GAEfiE,KAAKgZ,mBAGT1Y,QAAS,WACLd,EAAMuG,GAAGzF,QAAQ1I,KAAKoI,aACfA,KAAKkZ,gBAGhB/X,aAAc,WACV,OAAInB,KAAKkZ,gBAIF1Z,EAAMuG,GAAG5E,aAAavJ,KAAKoI,OAGtCuY,QAAS,WACLvY,KAAKmY,UAAUvW,SAEf5B,KAAKgZ,mBAGTA,gBAAiB,WACb,GAAIhZ,KAAK7C,QAAQgc,eAAgB,CAC7B,IAAIC,EAAWngB,EAAMmgB,SAASpZ,KAAK7C,QAAQgc,gBAEvCF,EAAWjZ,KAAKmY,UAChBkB,EAAgBrZ,KAAKsZ,oBAEzBD,EAAcE,KAAKH,EAAS,CAAElb,MAAO+a,EAASlD,eAAgBha,MAAOkd,EAASld,WAE9E,IAAI0I,EAAWwU,EAASpC,oBAAoBwC,EAAc1c,QAAS0c,EAAcxc,UAEjFwc,EAAcN,IAAItU,QACXzE,KAAKkZ,iBACZlZ,KAAKkZ,eAAeM,SACpBxZ,KAAKkZ,eAAiB,OAI9BI,kBAAmB,WACf,IAAID,EAAgBrZ,KAAKkZ,eAMzB,OALKG,IACDA,EAAgBrZ,KAAKkZ,eAAiBngB,EAAE,eAAekf,SAAS,oBAChEjY,KAAKJ,QAAQhB,OAAOya,IAGjBA,GAGXf,WAAY,WACR,OAAO1B,KAIX6C,EAAsBX,EAAepZ,OAAO,CAC5CvC,QAAS,CACLub,KAAM,iBAGVJ,WAAY,WACR,OAAOrB,KAIf,SAASyC,EAAmBhB,GACxBI,EAAe/S,GAAG2S,GAAQ,SAASvb,GAC/B,IAAI2a,EAAQ9X,KACR2Z,EAAS1Y,EAAKyX,GAElB,OAAKZ,EAAMoB,eAIJjY,EAAK2Y,QAAQ9B,EAAMlY,SAASia,MAAK,SAASC,GAC7C,OAAOH,EAAOG,EAAQ3c,MAJfwc,EAAO7B,EAAM3W,eAAgBhE,IAShD,IAAI4c,EAAgB,CAAC,YAAa,cAAe,aAEjD,IAAKtD,EAAM,EAAGA,EAAMsD,EAAclZ,OAAQ4V,IACtCiD,EAAmBK,EAActD,IAGrCvd,EAAQme,GAAG2C,OAAOnB,GAClB3f,EAAQme,GAAG2C,OAAOpB,GAClB1f,EAAQme,GAAG2C,OAAOlB,GAClB5f,EAAQme,GAAG2C,OAAOP,GAElBxgB,EAAMQ,WAAWP,EAAS,CACtBsG,MAAOA,EACPyM,YAAa4M,EACb7E,YAAa4E,EACbhC,SAAUkC,EACV7B,cAAewC,IA9PvB,CAiQGzgB,OAAOC,MAAMie,QAETle,OAAOC,QAEXzB,EAAoB,KAKlByiB,IACA,SAAU7iB,EAAQC,GAEvBD,EAAOC,QAAU,EAAQ","file":"js/chunk-vendors~92861c87.8ae38fd8.js","sourcesContent":["module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n\n\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports = __webpack_require__(916);\n\n\n/***/ }),\n\n/***/ 3:\n/***/ (function(module, exports) {\n\n\tmodule.exports = function() { throw new Error(\"define cannot be used indirect\"); };\r\n\n\n/***/ }),\n\n/***/ 890:\n/***/ (function(module, exports) {\n\n\tmodule.exports = require(\"../../kendo.dataviz.core\");\n\n/***/ }),\n\n/***/ 892:\n/***/ (function(module, exports) {\n\n\tmodule.exports = require(\"../../kendo.drawing\");\n\n/***/ }),\n\n/***/ 895:\n/***/ (function(module, exports) {\n\n\tmodule.exports = require(\"../../kendo.core\");\n\n/***/ }),\n\n/***/ 896:\n/***/ (function(module, exports) {\n\n\tmodule.exports = require(\"../../kendo.color\");\n\n/***/ }),\n\n/***/ 916:\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/***********************************************************************\n\t * WARNING: this file is auto-generated. If you change it directly,\n\t * your modifications will eventually be lost. The source code is in\n\t * `kendo-charts` repository, you should make your changes there and\n\t * run `src-modules/sync.sh` in this repository.\n\t */\n\t(function(f, define){\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [\n\t __webpack_require__(895),\n\t __webpack_require__(896),\n\t __webpack_require__(892),\n\t __webpack_require__(890)\n\t ], __WEBPACK_AMD_DEFINE_FACTORY__ = (f), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t})(function(){\n\n\t(function ($) {\n\n\twindow.kendo.dataviz = window.kendo.dataviz || {};\n\tvar dataviz = kendo.dataviz;\n\tvar getSpacing = dataviz.getSpacing;\n\tvar defined = dataviz.defined;\n\tvar constants = dataviz.constants;\n\tvar BLACK = constants.BLACK;\n\tvar COORD_PRECISION = constants.COORD_PRECISION;\n\tvar services = dataviz.services;\n\tvar deepExtend = dataviz.deepExtend;\n\tvar isArray = dataviz.isArray;\n\tvar setDefaultOptions = dataviz.setDefaultOptions;\n\tvar NumericAxis = dataviz.NumericAxis;\n\tvar limitValue = dataviz.limitValue;\n\tvar Box = dataviz.Box;\n\tvar interpolateValue = dataviz.interpolateValue;\n\tvar round = dataviz.round;\n\tvar drawing = kendo.drawing;\n\tvar DrawingGroup = drawing.Group;\n\tvar DrawingPath = drawing.Path;\n\tvar Animation = drawing.Animation;\n\tvar AnimationFactory = drawing.AnimationFactory;\n\tvar geometry = kendo.geometry;\n\tvar Rect = geometry.Rect;\n\tvar GeometryPoint = geometry.Point;\n\tvar transform = geometry.transform;\n\n\tvar ANGULAR_SPEED = 150;\n\tvar LINEAR_SPEED = 250;\n\tvar ARROW = \"arrow\";\n\tvar ARROW_POINTER = \"arrowPointer\";\n\tvar BAR_POINTER = \"barPointer\";\n\tvar DEFAULT_HEIGHT = 200;\n\tvar DEFAULT_LINE_WIDTH = 0.5;\n\tvar DEFAULT_WIDTH = 200;\n\tvar DEGREE = Math.PI / 180;\n\tvar INSIDE = \"inside\";\n\tvar LINEAR = \"linear\";\n\tvar OUTSIDE = \"outside\";\n\tvar RADIAL_POINTER = \"radialPointer\";\n\tvar RADIAL_RANGE_POINTER = \"radialRangePointer\";\n\n\tfunction pad(bbox, value) {\n\t var origin = bbox.getOrigin();\n\t var size = bbox.getSize();\n\t var spacing = getSpacing(value);\n\n\t bbox.setOrigin([ origin.x - spacing.left, origin.y - spacing.top ]);\n\t bbox.setSize([ size.width + (spacing.left + spacing.right), size.height + (spacing.top + spacing.bottom) ]);\n\n\t return bbox;\n\t}\n\n\tvar Group = DrawingGroup;\n\tvar Path$1 = DrawingPath;\n\tvar Text = drawing.Text;\n\n\tfunction buildLabelElement(label, options) {\n\t var labelBox = label.box;\n\t var textBox = label.children[0].box;\n\t var border = options.border || {};\n\t var background = options.background || \"\";\n\n\t var wrapper = Path$1.fromRect(new Rect([ labelBox.x1, labelBox.y1 ], [ labelBox.width(), labelBox.height() ]), {\n\t stroke: {}\n\t });\n\n\t var text = new Text(label.text, new GeometryPoint(textBox.x1, textBox.y1), {\n\t font: options.font,\n\t fill: { color: options.color }\n\t });\n\n\t var styleGeometry = pad(text.bbox().clone(), options.padding);\n\n\t var styleBox = Path$1.fromRect(styleGeometry, {\n\t stroke: {\n\t color: border.width ? border.color : \"\",\n\t width: border.width,\n\t opacity: border.opacity,\n\t dashType: border.dashType,\n\t lineJoin: \"round\",\n\t lineCap: \"round\"\n\t },\n\t fill: {\n\t color: background\n\t }\n\t });\n\n\t var elements = new Group();\n\t elements.append(wrapper);\n\t elements.append(styleBox);\n\t elements.append(text);\n\n\t return elements;\n\t}\n\n\tfunction getRange(range, min, max) {\n\t var from = defined(range.from) ? range.from : constants.MIN_VALUE;\n\t var to = defined(range.to) ? range.to : constants.MAX_VALUE;\n\n\t range.from = Math.max(Math.min(to, from), min);\n\t range.to = Math.min(Math.max(to, from), max);\n\n\t return range;\n\t}\n\n\tfunction unpad(bbox, value) {\n\t var spacing = getSpacing(value);\n\n\t spacing.left = -spacing.left; spacing.top = -spacing.top;\n\t spacing.right = -spacing.right; spacing.bottom = -spacing.bottom;\n\n\t return pad(bbox, spacing);\n\t}\n\n\tvar DEFAULT_MARGIN = 5;\n\tvar Path = DrawingPath;\n\tvar Surface = drawing.Surface;\n\n\tvar Gauge = dataviz.Class.extend({\n\t init: function(element, userOptions, theme, context) {\n\t if (context === void 0) { context = {}; }\n\n\t this.element = element;\n\t this.theme = theme;\n\t this.contextService = new services.ChartService(this, context);\n\t this._originalOptions = deepExtend({}, this.options, userOptions);\n\t this.options = deepExtend({}, this._originalOptions);\n\t this._initTheme(theme);\n\n\t this.redraw();\n\t },\n\n\t destroy: function() {\n\t if (this.surface) {\n\t this.surface.destroy();\n\t this.surface = null;\n\t }\n\n\t delete this.element;\n\t delete this.surfaceElement;\n\t },\n\n\t value: function(pointerValue) {\n\t var pointer = this.pointers[0];\n\n\t if (arguments.length === 0) {\n\t return pointer.value();\n\t }\n\n\t pointer.value(pointerValue);\n\t this._setValueOptions(pointerValue);\n\t },\n\n\t _draw: function() {\n\t var surface = this.surface;\n\n\t surface.clear();\n\t surface.draw(this._visuals);\n\t },\n\n\t exportVisual: function() {\n\t return this._visuals;\n\t },\n\n\t allValues: function(values) {\n\t var pointers = this.pointers;\n\t var allValues = [];\n\n\t if (arguments.length === 0) {\n\t for (var i = 0; i < pointers.length; i++) {\n\t allValues.push(pointers[i].value());\n\t }\n\n\t return allValues;\n\t }\n\n\t if (isArray(values)) {\n\t for (var i$1 = 0; i$1 < values.length; i$1++) {\n\t if (dataviz.isNumber(values[i$1])) {\n\t pointers[i$1].value(values[i$1]);\n\t }\n\t }\n\t }\n\n\t this._setValueOptions(values);\n\t },\n\n\t _setValueOptions: function(values) {\n\t var pointers = [].concat(this.options.pointer);\n\t var arrayValues = [].concat(values);\n\n\t for (var i = 0; i < arrayValues.length; i++) {\n\t pointers[i].value = arrayValues[i];\n\t }\n\t },\n\n\t resize: function() {\n\t this.noTransitionsRedraw();\n\t },\n\n\t noTransitionsRedraw: function() {\n\t var transitions = this.options.transitions;\n\n\t this._toggleTransitions(false);\n\n\t this.redraw();\n\n\t this._toggleTransitions(transitions);\n\t },\n\n\t redraw: function() {\n\t var size = this._surfaceSize();\n\t var wrapper = new Rect([ 0, 0 ], [ size.width, size.height ]);\n\n\t this._initSurface();\n\n\t this.gaugeArea = this._createGaugeArea();\n\n\t this._createModel();\n\n\t var bbox = unpad(wrapper.bbox(), this._gaugeAreaMargin);\n\t this.reflow(bbox);\n\t },\n\n\t setOptions: function(options, theme) {\n\t this._originalOptions = deepExtend(this._originalOptions, options);\n\t this.options = deepExtend({}, this._originalOptions);\n\n\t this._initTheme(theme);\n\n\t this.redraw();\n\t },\n\n\t setDirection: function(rtl) {\n\t this.contextService.rtl = Boolean(rtl);\n\t if (this.surface && this.surface.type === 'svg') {\n\t this.surface.destroy();\n\t this.surface = null;\n\t }\n\t },\n\n\t setIntlService: function(intl) {\n\t this.contextService.intl = intl;\n\t },\n\n\t _initTheme: function(theme) {\n\t var currentTheme = theme || this.theme || {};\n\t this.theme = currentTheme;\n\n\t this.options = deepExtend({}, currentTheme, this.options);\n\t var options = this.options;\n\t var pointer = options.pointer;\n\n\t if (isArray(pointer)) {\n\t var pointers = [];\n\t for (var i = 0; i < pointer.length; i++) {\n\t pointers.push(deepExtend({}, currentTheme.pointer, pointer[i]));\n\t }\n\t options.pointer = pointers;\n\t }\n\t },\n\n\t _createGaugeArea: function() {\n\t var options = this.options.gaugeArea;\n\t var size = this.surface.size();\n\t var border = options.border || {};\n\t var areaGeometry = new Rect([ 0, 0 ], [ size.width, size.height ]);\n\n\t this._gaugeAreaMargin = options.margin || DEFAULT_MARGIN;\n\n\t if (border.width > 0) {\n\t areaGeometry = unpad(areaGeometry, border.width);\n\t }\n\n\t var gaugeArea = Path.fromRect(areaGeometry, {\n\t stroke: {\n\t color: border.width ? border.color : \"\",\n\t width: border.width,\n\t dashType: border.dashType,\n\t lineJoin: \"round\",\n\t lineCap: \"round\"\n\t },\n\t fill: {\n\t color: options.background\n\t }\n\t });\n\n\t return gaugeArea;\n\t },\n\n\t _initSurface: function() {\n\t var ref = this;\n\t var options = ref.options;\n\t var surface = ref.surface;\n\t var element = this._surfaceElement();\n\t var size = this._surfaceSize();\n\n\t dataviz.elementSize(element, size);\n\n\t if (!surface || surface.options.type !== options.renderAs) {\n\t if (surface) {\n\t surface.destroy();\n\t }\n\n\t this.surface = Surface.create(element, {\n\t type: options.renderAs\n\t });\n\t } else {\n\t this.surface.clear();\n\t this.surface.resize();\n\t }\n\t },\n\n\t _surfaceSize: function() {\n\t var options = this.options;\n\t var size = this._getSize();\n\n\t if (options.gaugeArea) {\n\t deepExtend(size, options.gaugeArea);\n\t }\n\n\t return size;\n\t },\n\n\t _surfaceElement: function() {\n\t if (!this.surfaceElement) {\n\t this.surfaceElement = document.createElement('div');\n\t this.element.appendChild(this.surfaceElement);\n\t }\n\n\t return this.surfaceElement;\n\t },\n\n\t getSize: function() {\n\t return this._getSize();\n\t },\n\n\t _getSize: function() {\n\t var element = this.element;\n\t var defaultSize = this._defaultSize();\n\t var width = element.offsetWidth;\n\t var height = element.offsetHeight;\n\n\t if (!width) {\n\t width = defaultSize.width;\n\t }\n\n\t if (!height) {\n\t height = defaultSize.height;\n\t }\n\n\t return { width: width, height: height };\n\t },\n\n\t _defaultSize: function() {\n\t return {\n\t width: DEFAULT_WIDTH,\n\t height: DEFAULT_HEIGHT\n\t };\n\t },\n\n\t _toggleTransitions: function(value) {\n\t var this$1 = this;\n\n\t this.options.transitions = value;\n\t for (var i = 0; i < this.pointers.length; i++) {\n\t this$1.pointers[i].options.animation.transitions = value;\n\t }\n\t }\n\t});\n\n\tsetDefaultOptions(Gauge, {\n\t plotArea: {},\n\t theme: \"default\",\n\t renderAs: \"\",\n\t pointer: {},\n\t scale: {},\n\t gaugeArea: {}\n\t});\n\n\tvar Path$2 = DrawingPath;\n\tvar Group$2 = DrawingGroup;\n\tvar Point = GeometryPoint;\n\n\tfunction renderAxisTick(tickRenderOptions, tickOptions) {\n\t var position = tickRenderOptions.position;\n\t var tickX = tickRenderOptions.tickX;\n\t var tickY = tickRenderOptions.tickY;\n\t var start, end;\n\n\t if (tickRenderOptions.vertical) {\n\t start = new Point(tickX, position);\n\t end = new Point(tickX + tickOptions.size, position);\n\t } else {\n\t start = new Point(position, tickY);\n\t end = new Point(position, tickY + tickOptions.size);\n\t }\n\n\t var tickPath = new Path$2({\n\t stroke: {\n\t color: tickOptions.color,\n\t width: tickOptions.width\n\t }\n\t }).moveTo(start).lineTo(end);\n\n\t return tickPath;\n\t}\n\n\tfunction renderTicks(tickGroup, tickPositions, tickRenderOptions, tickOptions) {\n\t var count = tickPositions.length;\n\n\t if (tickOptions.visible) {\n\t var mirror = tickRenderOptions.mirror;\n\t var lineBox = tickRenderOptions.lineBox;\n\t for (var i = tickOptions.skip; i < count; i += tickOptions.step) {\n\t if (i % tickOptions.skipUnit === 0) {\n\t continue;\n\t }\n\n\t tickRenderOptions.tickX = mirror ? lineBox.x2 : lineBox.x2 - tickOptions.size;\n\t tickRenderOptions.tickY = mirror ? lineBox.y1 - tickOptions.size : lineBox.y1;\n\t tickRenderOptions.position = tickPositions[i];\n\n\t tickGroup.append(renderAxisTick(tickRenderOptions, tickOptions));\n\t }\n\t }\n\t}\n\n\tvar LinearScale = NumericAxis.extend({\n\t init: function(options, service) {\n\t var scaleOptions = options || {};\n\t if (!defined(scaleOptions.reverse) && scaleOptions.vertical === false && (service || {}).rtl) {\n\t scaleOptions = $.extend({}, scaleOptions, {\n\t reverse: true\n\t });\n\t }\n\n\t NumericAxis.fn.init.call(this, 0, 1, scaleOptions, service);\n\n\t this.options.minorUnit = this.options.minorUnit || this.options.majorUnit / 10;\n\t },\n\n\t initUserOptions: function(options) {\n\t var scaleOptions = deepExtend({}, this.options, options);\n\t scaleOptions = deepExtend({}, scaleOptions , { labels: { mirror: scaleOptions.mirror } });\n\t scaleOptions.majorUnit = scaleOptions.majorUnit || dataviz.autoMajorUnit(scaleOptions.min, scaleOptions.max);\n\n\t return scaleOptions;\n\t },\n\n\t initFields: function() {\n\t },\n\n\t render: function() {\n\t var elements = this.elements = new Group$2();\n\t var labels = this.renderLabels();\n\t var scaleLine = this.renderLine();\n\t var scaleTicks = this.renderTicks();\n\t var ranges = this.renderRanges();\n\n\t elements.append(scaleLine, labels, scaleTicks, ranges);\n\n\t return elements;\n\t },\n\n\t renderRanges: function() {\n\t var this$1 = this;\n\n\t var options = this.options;\n\t var min = options.min;\n\t var max = options.max;\n\t var vertical = options.vertical;\n\t var mirror = options.labels.mirror;\n\t var ranges = options.ranges || [];\n\t var elements = new Group$2();\n\t var count = ranges.length;\n\t var rangeSize = options.rangeSize || options.minorTicks.size / 2;\n\n\t for (var i = 0; i < count; i++) {\n\t var range = getRange(ranges[i], min, max);\n\t var slot = this$1.getSlot(range.from, range.to);\n\t var slotX = vertical ? this$1.lineBox() : slot;\n\t var slotY = vertical ? slot : this$1.lineBox();\n\t if (vertical) {\n\t slotX.x1 -= rangeSize * (mirror ? -1 : 1);\n\t } else {\n\t slotY.y2 += rangeSize * (mirror ? -1 : 1);\n\t }\n\n\t elements.append(Path$2.fromRect(new Rect([ slotX.x1, slotY.y1 ], [ slotX.x2 - slotX.x1, slotY.y2 - slotY.y1 ]), {\n\t fill: { color: range.color, opacity: range.opacity },\n\t stroke: { }\n\t }));\n\t }\n\n\t return elements;\n\t },\n\n\t renderLabels: function() {\n\t var ref = this;\n\t var labels = ref.labels;\n\t var options = ref.options;\n\t var elements = new Group$2();\n\n\t for (var i = 0; i < labels.length; i++) {\n\t elements.append(buildLabelElement(labels[i], options.labels));\n\t }\n\n\t return elements;\n\t },\n\n\t renderLine: function() {\n\t var line = this.options.line;\n\t var lineBox = this.lineBox();\n\t var elements = new Group$2();\n\n\t if (line.width > 0 && line.visible) {\n\t var linePath = new Path$2({\n\t stroke: {\n\t color: line.color,\n\t dashType: line.dashType,\n\t width: line.width\n\t }\n\t });\n\n\t linePath.moveTo(lineBox.x1, lineBox.y1).lineTo(lineBox.x2, lineBox.y2);\n\t elements.append(linePath);\n\t }\n\n\t return elements;\n\t },\n\n\t renderTicks: function() {\n\t var ticks = new Group$2();\n\t var options = this.options;\n\t var majorUnit = options.majorTicks.visible ? options.majorUnit : 0;\n\t var tickRenderOptions = {\n\t vertical: options.vertical,\n\t mirror: options.labels.mirror,\n\t lineBox: this.lineBox()\n\t };\n\n\t renderTicks(ticks, this.getMajorTickPositions(), tickRenderOptions, options.majorTicks);\n\t renderTicks(ticks, this.getMinorTickPositions(), tickRenderOptions, deepExtend({}, {\n\t skipUnit: majorUnit / options.minorUnit\n\t }, options.minorTicks));\n\n\t return ticks;\n\t }\n\t});\n\n\tsetDefaultOptions(LinearScale, {\n\t min: 0,\n\t max: 50,\n\n\t majorTicks: {\n\t size: 15,\n\t align: INSIDE,\n\t color: BLACK,\n\t width: DEFAULT_LINE_WIDTH,\n\t visible: true\n\t },\n\n\t minorTicks: {\n\t size: 10,\n\t align: INSIDE,\n\t color: BLACK,\n\t width: DEFAULT_LINE_WIDTH,\n\t visible: true\n\t },\n\n\t line: {\n\t width: DEFAULT_LINE_WIDTH\n\t },\n\n\t labels: {\n\t position: INSIDE,\n\t padding: 2\n\t },\n\t mirror: false,\n\t _alignLines: false\n\t});\n\n\tvar Pointer = dataviz.Class.extend({\n\t init: function(scale, userOptions) {\n\n\t var ref = scale.options;\n\t var min = ref.min;\n\t var max = ref.max;\n\t var options = this.options = deepExtend({}, this.options, userOptions);\n\n\t options.fill = options.color;\n\n\t this.scale = scale;\n\n\t if (defined(options.value)) {\n\t options.value = limitValue(options.value, min, max);\n\t } else {\n\t options.value = min;\n\t }\n\t },\n\n\t value: function(newValue) {\n\t var options = this.options;\n\t var value = options.value;\n\n\t if (arguments.length === 0) {\n\t return value;\n\t }\n\n\t var ref = this.scale.options;\n\t var min = ref.min;\n\t var max = ref.max;\n\n\t options._oldValue = defined(options._oldValue) ? options.value : min;\n\t options.value = limitValue(newValue, min, max);\n\n\t if (this.elements) {\n\t this.repaint();\n\t }\n\t }\n\t});\n\n\tsetDefaultOptions(Pointer, {\n\t color: BLACK\n\t});\n\n\tvar LinearPointer = Pointer.extend({\n\t init: function(scale, options) {\n\t Pointer.fn.init.call(this, scale, options);\n\n\t this.options = deepExtend({\n\t track: {\n\t visible: defined(options.track)\n\t }\n\t }, this.options);\n\t },\n\n\t reflow: function() {\n\t var ref = this;\n\t var options = ref.options;\n\t var scale = ref.scale;\n\t var ref$1 = scale.options;\n\t var mirror = ref$1.mirror;\n\t var vertical = ref$1.vertical;\n\t var scaleLine = scale.lineBox();\n\t var trackSize = options.track.size || options.size;\n\t var pointerHalfSize = options.size / 2;\n\t var margin = getSpacing(options.margin);\n\t var space = vertical ?\n\t margin[mirror ? \"left\" : \"right\"] :\n\t margin[mirror ? \"bottom\" : \"top\"];\n\t var pointerBox, pointerRangeBox, trackBox;\n\n\t space = mirror ? -space : space;\n\n\t if (vertical) {\n\t trackBox = new Box(\n\t scaleLine.x1 + space, scaleLine.y1,\n\t scaleLine.x1 + space, scaleLine.y2);\n\n\t if (mirror) {\n\t trackBox.x1 -= trackSize;\n\t } else {\n\t trackBox.x2 += trackSize;\n\t }\n\n\t if (options.shape !== BAR_POINTER) {\n\t pointerRangeBox = new Box(\n\t scaleLine.x2 + space, scaleLine.y1 - pointerHalfSize,\n\t scaleLine.x2 + space, scaleLine.y2 + pointerHalfSize\n\t );\n\t pointerBox = pointerRangeBox;\n\t }\n\t } else {\n\t trackBox = new Box(\n\t scaleLine.x1, scaleLine.y1 - space,\n\t scaleLine.x2, scaleLine.y1 - space);\n\n\t if (mirror) {\n\t trackBox.y2 += trackSize;\n\t } else {\n\t trackBox.y1 -= trackSize;\n\t }\n\n\t if (options.shape !== BAR_POINTER) {\n\t pointerRangeBox = new Box(\n\t scaleLine.x1 - pointerHalfSize, scaleLine.y1 - space,\n\t scaleLine.x2 + pointerHalfSize, scaleLine.y1 - space\n\t );\n\t pointerBox = pointerRangeBox;\n\t }\n\t }\n\n\t this.trackBox = trackBox;\n\t this.pointerRangeBox = pointerRangeBox;\n\t this.box = pointerBox || trackBox.clone().pad(options.border.width);\n\t },\n\n\t getElementOptions: function() {\n\t var options = this.options;\n\n\t return {\n\t fill: {\n\t color: options.color,\n\t opacity: options.opacity\n\t },\n\t stroke: defined(options.border) ? {\n\t color: options.border.width ? options.border.color || options.color : \"\",\n\t width: options.border.width,\n\t dashType: options.border.dashType,\n\t opacity: options.opacity\n\t } : null\n\t };\n\t },\n\n\t _margin: function() {\n\t var ref = this;\n\t var scale = ref.scale;\n\t var options = ref.options;\n\t var ref$1 = scale.options;\n\t var mirror = ref$1.mirror;\n\t var vertical = ref$1.vertical;\n\t var margin = getSpacing(options.margin);\n\n\t var space = vertical ?\n\t margin[mirror ? \"left\" : \"right\"] :\n\t margin[mirror ? \"bottom\" : \"top\"];\n\n\t return space;\n\t }\n\t});\n\n\tsetDefaultOptions(LinearPointer, {\n\t shape: BAR_POINTER,\n\n\t track: {\n\t border: {\n\t width: 1\n\t }\n\t },\n\n\t color: BLACK,\n\t border: {\n\t width: 1\n\t },\n\t opacity: 1,\n\n\t margin: getSpacing(3),\n\t animation: {\n\t type: BAR_POINTER\n\t },\n\t visible: true\n\t});\n\n\tvar ArrowLinearPointerAnimation = Animation.extend({\n\t setup: function() {\n\t var options = this.options;\n\t var margin = options.margin;\n\t var from = options.from;\n\t var to = options.to;\n\t var vertical = options.vertical;\n\t var axis = vertical ? \"x1\" : \"y1\";\n\n\t if (options.mirror === vertical) {\n\t from[axis] -= margin; to[axis] -= margin;\n\t } else {\n\t from[axis] += margin; to[axis] += margin;\n\t }\n\n\t var fromScale = this.fromScale = new GeometryPoint(from.x1, from.y1);\n\t var toScale = this.toScale = new GeometryPoint(to.x1, to.y1);\n\n\t if (options.duration !== 0) {\n\t options.duration = Math.max((fromScale.distanceTo(toScale) / options.duration) * 1000, 1);\n\t }\n\t },\n\n\t step: function(pos) {\n\t var translateX = interpolateValue(this.fromScale.x, this.toScale.x, pos);\n\t var translateY = interpolateValue(this.fromScale.y, this.toScale.y, pos);\n\n\t this.element.transform(transform().translate(translateX, translateY));\n\t }\n\t});\n\n\tsetDefaultOptions(ArrowLinearPointerAnimation, {\n\t easing: LINEAR,\n\t duration: LINEAR_SPEED\n\t});\n\n\tAnimationFactory.current.register(ARROW_POINTER, ArrowLinearPointerAnimation);\n\n\tvar Point$1 = GeometryPoint;\n\tvar Path$3 = DrawingPath;\n\n\tvar ArrowLinearPointer = LinearPointer.extend({\n\t init: function(scale, options) {\n\t LinearPointer.fn.init.call(this, scale, options);\n\n\t if (!defined(this.options.size)) {\n\t this.options.size = this.scale.options.majorTicks.size * 0.6;\n\t }\n\t },\n\n\t pointerShape: function() {\n\t var ref = this;\n\t var scale = ref.scale;\n\t var size = ref.options.size;\n\t var halfSize = size / 2;\n\t var sign = (scale.options.mirror ? -1 : 1);\n\t var shape;\n\n\t if (scale.options.vertical) {\n\t shape = [\n\t new Point$1(0, 0 - halfSize), new Point$1(0 - sign * size, 0), new Point$1(0, 0 + halfSize)\n\t ];\n\t } else {\n\t shape = [\n\t new Point$1(0 - halfSize, 0), new Point$1(0, 0 + sign * size), new Point$1(0 + halfSize, 0)\n\t ];\n\t }\n\n\t return shape;\n\t },\n\n\t repaint: function() {\n\t var ref = this;\n\t var scale = ref.scale;\n\t var options = ref.options;\n\t var animation = new ArrowLinearPointerAnimation(this.elements, deepExtend(options.animation, {\n\t vertical: scale.options.vertical,\n\t mirror: scale.options.mirror,\n\t margin: this._margin(options.margin),\n\t from: scale.getSlot(options._oldValue),\n\t to: scale.getSlot(options.value)\n\t }));\n\n\t if (options.animation.transitions === false) {\n\t animation.options.duration = 0;\n\t }\n\n\t animation.setup();\n\t animation.play();\n\t },\n\n\t render: function() {\n\t var ref = this;\n\t var scale = ref.scale;\n\t var options = ref.options;\n\t var elementOptions = this.getElementOptions();\n\t var shape = this.pointerShape(options.value);\n\n\t options.animation.type = ARROW_POINTER;\n\n\t var elements = new Path$3({\n\t stroke: elementOptions.stroke,\n\t fill: elementOptions.fill\n\t }).moveTo(shape[0]).lineTo(shape[1]).lineTo(shape[2]).close();\n\n\t var slot = scale.getSlot(options.value);\n\t elements.transform(transform().translate(slot.x1, slot.y1));\n\n\t this.elements = elements;\n\n\t return elements;\n\t }\n\t});\n\n\tvar BarLinearPointerAnimation = Animation.extend({\n\t setup: function() {\n\t var options = this.options;\n\t var axis = this.axis = options.vertical ? constants.Y : constants.X;\n\t var to = this.to = options.newPoints[0][axis];\n\t var from = this.from = options.oldPoints[0][axis];\n\n\t if (options.duration !== 0) {\n\t options.duration = Math.max((Math.abs(to - from) / options.speed) * 1000, 1);\n\t }\n\n\t this._set(from);\n\t },\n\n\t step: function(pos) {\n\t var value = interpolateValue(this.from, this.to, pos);\n\t this._set(value);\n\t },\n\n\t _set: function(value) {\n\t var setter = \"set\" + this.axis.toUpperCase();\n\t var points = this.options.newPoints;\n\n\t points[0][setter](value);\n\t points[1][setter](value);\n\t }\n\t});\n\n\tsetDefaultOptions(BarLinearPointerAnimation, {\n\t easing: LINEAR,\n\t speed: LINEAR_SPEED\n\t});\n\n\tAnimationFactory.current.register(BAR_POINTER, BarLinearPointerAnimation);\n\n\tvar Group$3 = DrawingGroup;\n\tvar Path$4 = DrawingPath;\n\n\tvar BarLinearPointer = LinearPointer.extend({\n\t init: function(scale, options) {\n\t LinearPointer.fn.init.call(this, scale, options);\n\n\t if (!defined(this.options.size)) {\n\t this.options.size = this.scale.options.majorTicks.size * 0.3;\n\t }\n\t },\n\n\t pointerShape: function(value) {\n\t var ref = this;\n\t var scale = ref.scale;\n\t var options = ref.options;\n\t var ref$1 = scale.options;\n\t var mirror = ref$1.mirror;\n\t var vertical = ref$1.vertical;\n\t var dir = mirror === vertical ? -1 : 1;\n\t var size = options.size * dir;\n\t var minSlot = scale.getSlot(scale.options.min);\n\t var slot = scale.getSlot(value);\n\t var axis = vertical ? constants.Y : constants.X;\n\t var sizeAxis = vertical ? constants.X : constants.Y;\n\t var margin = this._margin() * dir;\n\n\t var p1 = new GeometryPoint();\n\t p1[axis] = minSlot[axis + \"1\"];\n\t p1[sizeAxis] = minSlot[sizeAxis + \"1\"];\n\n\t var p2 = new GeometryPoint();\n\t p2[axis] = slot[axis + \"1\"];\n\t p2[sizeAxis] = slot[sizeAxis + \"1\"];\n\n\t if (vertical) {\n\t p1.translate(margin, 0);\n\t p2.translate(margin, 0);\n\t } else {\n\t p1.translate(0, margin);\n\t p2.translate(0, margin);\n\t }\n\n\t var p3 = p2.clone();\n\t var p4 = p1.clone();\n\n\t if (vertical) {\n\t p3.translate(size, 0);\n\t p4.translate(size, 0);\n\t } else {\n\t p3.translate(0, size);\n\t p4.translate(0, size);\n\t }\n\n\t return [ p1, p2, p3, p4 ];\n\t },\n\n\t repaint: function() {\n\t var ref = this;\n\t var scale = ref.scale;\n\t var options = ref.options;\n\t var shape = this.pointerShape(options.value);\n\t var pointerPath = this.pointerPath;\n\t var oldShape = this.pointerShape(options._oldValue);\n\n\t pointerPath.moveTo(shape[0]).lineTo(shape[1]).lineTo(shape[2]).lineTo(shape[3]).close();\n\n\t var animation = new BarLinearPointerAnimation(pointerPath, deepExtend(options.animation, {\n\t reverse: scale.options.reverse,\n\t vertical: scale.options.vertical,\n\t oldPoints: [ oldShape[1], oldShape[2] ],\n\t newPoints: [ shape[1], shape[2] ]\n\t }));\n\n\t if (options.animation.transitions === false) {\n\t animation.options.duration = 0;\n\t }\n\n\t animation.setup();\n\t animation.play();\n\t },\n\n\t render: function() {\n\t var group = new Group$3();\n\t var elementOptions = this.getElementOptions();\n\n\t if (this.options.track.visible) {\n\t group.append(this.renderTrack());\n\t }\n\n\t var pointer = this.pointerPath = new Path$4({\n\t stroke: elementOptions.stroke,\n\t fill: elementOptions.fill\n\t });\n\n\t group.append(pointer);\n\n\t this.elements = group;\n\n\t return group;\n\t },\n\n\t renderTrack: function() {\n\t var trackOptions = this.options.track;\n\t var border = trackOptions.border || {};\n\t var trackBox = this.trackBox.clone().pad(border.width || 0);\n\n\t return new Path$4.fromRect(trackBox.toRect(), {\n\t fill: {\n\t color: trackOptions.color,\n\t opacity: trackOptions.opacity\n\t },\n\t stroke: {\n\t color: border.width ? border.color || trackOptions.color : \"\",\n\t width: border.width,\n\t dashType: border.dashType\n\t }\n\t });\n\t }\n\t});\n\n\tvar DEFAULT_MIN_WIDTH = 60;\n\tvar DEFAULT_MIN_HEIGHT = 60;\n\n\tvar Group$1 = DrawingGroup;\n\n\tvar LinearGauge = Gauge.extend({\n\t reflow: function(bbox) {\n\t var pointers = this.pointers;\n\t var bboxX = bbox.origin.x;\n\t var bboxY = bbox.origin.y;\n\n\t var box = new Box(bboxX, bboxY, bboxX + bbox.width(), bboxY + bbox.height());\n\n\t this.scale.reflow(box);\n\t this._shrinkScaleWidth(box);\n\n\t for (var i = 0; i < pointers.length; i++) {\n\t pointers[i].reflow();\n\t }\n\n\t this.bbox = this._getBox(box);\n\t this._alignElements();\n\t this._shrinkElements();\n\t this._buildVisual();\n\t this._draw();\n\t },\n\n\t _buildVisual: function() {\n\t var visuals = new Group$1();\n\t var scaleElements = this.scale.render();\n\t var pointers = this.pointers;\n\n\t visuals.append(this.gaugeArea);\n\t visuals.append(scaleElements);\n\n\t for (var i = 0; i < pointers.length; i++) {\n\t var current = pointers[i];\n\t visuals.append(current.render());\n\t current.value(current.options.value);\n\t }\n\n\t this._visuals = visuals;\n\t },\n\n\t _createModel: function() {\n\t var this$1 = this;\n\n\t var options = this.options;\n\t var scale = this.scale = new LinearScale(options.scale, this.contextService);\n\n\t this.pointers = [];\n\n\t var pointers = options.pointer;\n\t pointers = isArray(pointers) ? pointers : [ pointers ];\n\n\t for (var i = 0; i < pointers.length; i++) {\n\t var currentOptions = deepExtend({}, pointers[i], {\n\t animation: {\n\t transitions: options.transitions\n\t }\n\t });\n\t var pointerType = currentOptions.shape === ARROW ? ArrowLinearPointer : BarLinearPointer;\n\n\t this$1.pointers.push(new pointerType(scale, currentOptions));\n\t }\n\t },\n\n\t _defaultSize: function() {\n\t var vertical = this.options.scale.vertical;\n\n\t return {\n\t width: vertical ? DEFAULT_MIN_WIDTH : DEFAULT_WIDTH,\n\t height: vertical ? DEFAULT_HEIGHT : DEFAULT_MIN_HEIGHT\n\t };\n\t },\n\n\t _getBox: function(box) {\n\t var ref = this;\n\t var scale = ref.scale;\n\t var pointers = ref.pointers;\n\t var boxCenter = box.center();\n\t var plotAreaBox = pointers[0].box.clone().wrap(scale.box);\n\n\t for (var i = 0; i < pointers.length; i++) {\n\t plotAreaBox.wrap(pointers[i].box.clone());\n\t }\n\n\t var size;\n\t if (scale.options.vertical) {\n\t size = plotAreaBox.width() / 2;\n\t plotAreaBox = new Box(\n\t boxCenter.x - size, box.y1,\n\t boxCenter.x + size, box.y2\n\t );\n\t } else {\n\t size = plotAreaBox.height() / 2;\n\t plotAreaBox = new Box(\n\t box.x1, boxCenter.y - size,\n\t box.x2, boxCenter.y + size\n\t );\n\t }\n\n\t return plotAreaBox;\n\t },\n\n\t _alignElements: function() {\n\t var this$1 = this;\n\n\t var ref = this;\n\t var scale = ref.scale;\n\t var pointers = ref.pointers;\n\t var scaleBox = scale.box;\n\t var box = pointers[0].box.clone().wrap(scale.box);\n\t var plotAreaBox = this.bbox;\n\n\t for (var i = 0; i < pointers.length; i++) {\n\t box.wrap(pointers[i].box.clone());\n\t }\n\n\t var diff;\n\t if (scale.options.vertical) {\n\t diff = plotAreaBox.center().x - box.center().x;\n\t scale.reflow(new Box(\n\t scaleBox.x1 + diff, plotAreaBox.y1,\n\t scaleBox.x2 + diff, plotAreaBox.y2\n\t ));\n\t } else {\n\t diff = plotAreaBox.center().y - box.center().y;\n\t scale.reflow(new Box(\n\t scaleBox.x1, scaleBox.y1 + diff,\n\t scaleBox.x2, scaleBox.y2 + diff\n\t ));\n\t }\n\n\t for (var i$1 = 0; i$1 < pointers.length; i$1++) {\n\t pointers[i$1].reflow(this$1.bbox);\n\t }\n\t },\n\n\t _shrinkScaleWidth: function(bbox) {\n\t var ref = this;\n\t var scale = ref.scale;\n\t if (!scale.options.vertical) {\n\t var overflow = scale.contentBox().width() - bbox.width();\n\t if (overflow > 0) {\n\t scale.box.shrink(overflow, 0);\n\t scale.box.alignTo(bbox, 'center');\n\t scale.reflow(scale.box);\n\t }\n\t }\n\t },\n\n\t _shrinkElements: function() {\n\t var this$1 = this;\n\n\t var ref = this;\n\t var scale = ref.scale;\n\t var pointers = ref.pointers;\n\t var scaleBox = scale.box.clone();\n\t var pos = scale.options.vertical ? \"y\" : \"x\";\n\t var pointerBox = pointers[0].box;\n\n\t for (var i = 0; i < pointers.length; i++) {\n\t pointerBox.wrap(pointers[i].box.clone());\n\t }\n\n\t scaleBox[pos + 1] += Math.max(scaleBox[pos + 1] - pointerBox[pos + 1], 0);\n\t scaleBox[pos + 2] -= Math.max(pointerBox[pos + 2] - scaleBox[pos + 2], 0);\n\n\t scale.reflow(scaleBox);\n\n\t for (var i$1 = 0; i$1 < pointers.length; i$1++) {\n\t pointers[i$1].reflow(this$1.bbox);\n\t }\n\t }\n\t});\n\n\tsetDefaultOptions(LinearGauge, {\n\t transitions: true,\n\t gaugeArea: {\n\t background: \"\"\n\t },\n\t scale: {\n\t vertical: true\n\t }\n\t});\n\n\tvar GEO_ARC_ADJUST_ANGLE = 180;\n\n\tvar Arc = drawing.Arc;\n\tvar Path$5 = DrawingPath;\n\tvar Group$5 = DrawingGroup;\n\n\tfunction drawTicks(arc, tickAngles, unit, tickOptions) {\n\t var ticks = new Group$5();\n\t var center = arc.center;\n\t var radius = arc.getRadiusX();\n\n\t if (tickOptions.visible) {\n\t for (var i = 0; i < tickAngles.length; i++) {\n\t var tickStart = arc.pointAt(tickAngles[i]);\n\t var tickEnd = new GeometryPoint(center.x + radius - tickOptions.size, center.y).rotate(tickAngles[i], center);\n\n\t ticks.append(new Path$5({\n\t stroke: {\n\t color: tickOptions.color,\n\t width: tickOptions.width\n\t }\n\t }).moveTo(tickStart).lineTo(tickEnd));\n\t }\n\t }\n\n\t return ticks;\n\t}\n\n\tfunction rangeSegment(from, to, color, opacity) {\n\t return { from: from, to: to, color: color, opacity: opacity };\n\t}\n\n\tvar RadialScale = NumericAxis.extend({\n\t init: function(options, service) {\n\t NumericAxis.fn.init.call(this, 0, 1, options, service);\n\t },\n\n\t initUserOptions: function(options) {\n\t var scaleOptions = deepExtend({}, this.options, options);\n\t scaleOptions.majorUnit = scaleOptions.majorUnit || dataviz.autoMajorUnit(scaleOptions.min, scaleOptions.max);\n\t scaleOptions.minorUnit = scaleOptions.minorUnit || scaleOptions.majorUnit / 10;\n\n\t return scaleOptions;\n\t },\n\n\t initFields: function() {\n\t },\n\n\t render: function(center, radius) {\n\t var arc = this.renderArc(center, radius);\n\n\t this.bbox = arc.bbox();\n\t this.labelElements = this.renderLabels();\n\t this.ticks = this.renderTicks();\n\t this.ranges = this.renderRanges();\n\t },\n\n\t reflow: function(bbox) {\n\t var center = bbox.center();\n\t var radius = Math.min(bbox.height(), bbox.width()) / 2;\n\n\t if (defined(this.bbox)) {\n\t this.bbox = this.arc.bbox();\n\t this.radius(this.arc.getRadiusX());\n\t this.repositionRanges();\n\t this.renderLabels();\n\t } else {\n\t return this.render(center, radius);\n\t }\n\t },\n\n\t slotAngle: function(value) {\n\t var ref = this.options;\n\t var min = ref.min;\n\t var max = ref.max;\n\t var reverse = ref.reverse;\n\t var startAngle = ref.startAngle;\n\t var endAngle = ref.endAngle;\n\t var angle = endAngle - startAngle;\n\t var result;\n\n\t if (reverse) {\n\t result = endAngle - (value - min) / (max - min) * angle;\n\t } else {\n\t result = ((value - min) / (max - min) * angle) + startAngle;\n\t }\n\n\t return result + GEO_ARC_ADJUST_ANGLE;\n\t },\n\n\t hasRanges: function() {\n\t var ranges = this.options.ranges;\n\n\t return ranges && ranges.length;\n\t },\n\n\t ticksSize: function() {\n\t var ref = this.options;\n\t var majorTicks = ref.majorTicks;\n\t var minorTicks = ref.minorTicks;\n\t var size = 0;\n\t if (majorTicks.visible) {\n\t size = majorTicks.size;\n\t }\n\n\t if (minorTicks.visible) {\n\t size = Math.max(minorTicks.size, size);\n\t }\n\n\t return size;\n\t },\n\n\t labelsCount: function() {\n\t var count = NumericAxis.fn.labelsCount.call(this);\n\t var options = this.options;\n\t var angle = options.endAngle - options.startAngle;\n\n\t if (angle >= 360 && (options.max % options.majorUnit === 0)) {\n\t count -= 1;\n\t }\n\n\t return count;\n\t },\n\n\t renderLabels: function() {\n\t var this$1 = this;\n\n\t var options = this.options;\n\t var arc = this.arc.clone();\n\t var radius = arc.getRadiusX();\n\t var tickAngles = this.tickAngles(arc, options.majorUnit);\n\t var rangeSize = options.rangeSize = options.rangeSize || radius * 0.1;\n\t var labelsGroup = new Group$5();\n\n\t var rangeDistance = radius * 0.05;\n\t if (defined(options.rangeDistance)) {\n\t rangeDistance = options.rangeDistance;\n\t } else {\n\t options.rangeDistance = rangeDistance;\n\t }\n\n\t var labelsOptions = options.labels;\n\t var isInside = labelsOptions.position === INSIDE;\n\t var hasLabelElements = defined(this.labelElements);\n\n\t if (isInside) {\n\t radius -= this.ticksSize();\n\n\t if (this.hasRanges() && !hasLabelElements) {\n\t radius -= rangeSize + rangeDistance;\n\t }\n\t arc.setRadiusX(radius).setRadiusY(radius);\n\t }\n\n\t var labels = this.labels;\n\t var count = labels.length;\n\t var padding = getSpacing(labelsOptions.padding);\n\t var paddingWidth = (padding.left + padding.right) / 2;\n\t var paddingHeight = (padding.top + padding.bottom) / 2;\n\n\t for (var i = 0; i < count; i++) {\n\t var label = labels[i];\n\t var halfWidth = label.box.width() / 2;\n\t var halfHeight = label.box.height() / 2;\n\t var angle = tickAngles[i];\n\t var labelAngle = (angle - GEO_ARC_ADJUST_ANGLE) * DEGREE;\n\n\t var lp = arc.pointAt(angle);\n\t var cx = lp.x + (Math.cos(labelAngle) * (halfWidth + paddingWidth) * (isInside ? 1 : -1));\n\t var cy = lp.y + (Math.sin(labelAngle) * (halfHeight + paddingHeight) * (isInside ? 1 : -1));\n\n\t label.reflow(new Box(cx - halfWidth, cy - halfHeight, cx + halfWidth, cy + halfHeight));\n\t var labelPos = new GeometryPoint(label.box.x1, label.box.y1);\n\n\t var labelElement = (void 0);\n\t if (!hasLabelElements) {\n\t labelElement = buildLabelElement(label, options.labels);\n\t labelsGroup.append(labelElement);\n\t } else {\n\t labelElement = this$1.labelElements.children[i];\n\t var prevLabelPos = labelElement.bbox().origin;\n\n\t var labelTransform = labelElement.transform() || transform();\n\t labelTransform.translate(labelPos.x - prevLabelPos.x, labelPos.y - prevLabelPos.y);\n\t labelElement.transform(labelTransform);\n\t }\n\n\t this$1.bbox = Rect.union(this$1.bbox, labelElement.bbox());\n\t }\n\n\t return labelsGroup;\n\t },\n\n\t repositionRanges: function() {\n\t var ranges = this.ranges.children;\n\n\t if (ranges.length > 0) {\n\t var ref = this.options;\n\t var rangeDistance = ref.rangeDistance;\n\t var rangeSize = ref.rangeSize;\n\t var rangeRadius = this.getRangeRadius();\n\n\t if (this.options.labels.position === INSIDE) {\n\t rangeRadius += rangeSize + rangeDistance;\n\t }\n\n\t var newRadius = rangeRadius + (rangeSize / 2);\n\n\t for (var i = 0; i < ranges.length; i++) {\n\t ranges[i]._geometry.setRadiusX(newRadius).setRadiusY(newRadius);\n\t }\n\n\t this.bbox = Rect.union(this.bbox, this.ranges.bbox());\n\t }\n\t },\n\n\t renderRanges: function() {\n\t var this$1 = this;\n\n\t var segments = this.rangeSegments();\n\t var segmentsCount = segments.length;\n\t var result = new Group$5();\n\n\t if (segmentsCount) {\n\t var ref = this.options;\n\t var rangeSize = ref.rangeSize;\n\t var reverse = ref.reverse;\n\t var rangeDistance = ref.rangeDistance;\n\t var rangeRadius = this.getRangeRadius();\n\n\t // move the ticks with a range distance and a range size\n\t this.radius(this.radius() - rangeSize - rangeDistance);\n\n\t for (var i = 0; i < segmentsCount; i++) {\n\t var segment = segments[i];\n\t var from = this$1.slotAngle(segment[reverse ? \"to\" : \"from\"]);\n\t var to = this$1.slotAngle(segment[!reverse ? \"to\" : \"from\"]);\n\n\t if (to - from !== 0) {\n\t result.append(this$1.createRange(from, to, rangeRadius, segment));\n\t }\n\t }\n\t }\n\n\t return result;\n\t },\n\n\t createRange: function(startAngle, endAngle, rangeRadius, options) {\n\t var rangeSize = this.options.rangeSize;\n\t var rangeGeom = new geometry.Arc(this.arc.center, {\n\t radiusX: rangeRadius + (rangeSize / 2),\n\t radiusY: rangeRadius + (rangeSize / 2),\n\t startAngle: startAngle,\n\t endAngle: endAngle\n\t });\n\n\t return new Arc(rangeGeom, {\n\t stroke: {\n\t width: rangeSize,\n\t color: options.color,\n\t opacity: options.opacity,\n\t lineCap: options.lineCap\n\t }\n\t });\n\t },\n\n\t rangeSegments: function() {\n\t var options = this.options;\n\t var ranges = options.ranges || [];\n\t var count = ranges.length;\n\t var segments = [];\n\n\t if (count) {\n\t var min = options.min;\n\t var max = options.max;\n\t var defaultColor = options.rangePlaceholderColor;\n\t segments.push(rangeSegment(min, max, defaultColor));\n\n\t for (var i = 0; i < count; i++) {\n\t var range = getRange(ranges[i], min, max);\n\t var segmentsCount = segments.length;\n\n\t for (var j = 0; j < segmentsCount; j++) {\n\t var segment = segments[j];\n\n\t if (segment.from <= range.from && range.from <= segment.to) {\n\t segments.push(rangeSegment(range.from, range.to, range.color, range.opacity));\n\n\t if (segment.from <= range.to && range.to <= segment.to) {\n\t segments.push(rangeSegment(range.to, segment.to, defaultColor, range.opacity));\n\t }\n\n\t segment.to = range.from;\n\n\t break;\n\t }\n\t }\n\t }\n\t }\n\n\t return segments;\n\t },\n\n\t getRangeRadius: function() {\n\t var ref = this;\n\t var arc = ref.arc;\n\t var options = ref.options;\n\t var rangeSize = options.rangeSize;\n\t var rangeDistance = options.rangeDistance;\n\t var majorTickSize = options.majorTicks.size;\n\t var radius;\n\n\t if (options.labels.position === OUTSIDE) {\n\t radius = arc.getRadiusX() - majorTickSize - rangeDistance - rangeSize;\n\t } else {\n\t radius = arc.getRadiusX() - rangeSize;\n\t }\n\n\t return radius;\n\t },\n\n\t renderArc: function(center, radius) {\n\t var options = this.options;\n\n\t var arc = this.arc = new geometry.Arc(center, {\n\t radiusX: radius,\n\t radiusY: radius,\n\t startAngle: options.startAngle + GEO_ARC_ADJUST_ANGLE,\n\t endAngle: options.endAngle + GEO_ARC_ADJUST_ANGLE\n\t });\n\n\t return arc;\n\t },\n\n\t renderTicks: function() {\n\t var ref = this;\n\t var arc = ref.arc;\n\t var options = ref.options;\n\t var tickArc = arc.clone();\n\n\t this.majorTickAngles = this.tickAngles(arc, options.majorUnit);\n\t this.majorTicks = drawTicks(tickArc, this.majorTickAngles, options.majorUnit, options.majorTicks);\n\n\t var allTicks = new Group$5();\n\t allTicks.append(this.majorTicks);\n\n\t var majorTickSize = options.majorTicks.size;\n\t var minorTickSize = options.minorTicks.size;\n\n\t this._tickDifference = majorTickSize - minorTickSize;\n\n\t if (options.labels.position === OUTSIDE) {\n\t var radius = tickArc.getRadiusX();\n\t tickArc.setRadiusX(radius - majorTickSize + minorTickSize)\n\t .setRadiusY(radius - majorTickSize + minorTickSize);\n\t }\n\n\t this.minorTickAngles = this.normalizeTickAngles(this.tickAngles(arc, options.minorUnit));\n\t this.minorTicks = drawTicks(tickArc, this.minorTickAngles, options.minorUnit, options.minorTicks);\n\t allTicks.append(this.minorTicks);\n\n\t return allTicks;\n\t },\n\n\t normalizeTickAngles: function(angles) {\n\t var options = this.options;\n\t var skip = options.majorUnit / options.minorUnit;\n\n\t for (var i = angles.length - 1; i >= 0; i--) {\n\t if (i % skip === 0) {\n\t angles.splice(i, 1);\n\t }\n\t }\n\n\t return angles;\n\t },\n\n\t tickAngles: function(ring, stepValue) {\n\t var options = this.options;\n\t var reverse = options.reverse;\n\t var range = options.max - options.min;\n\t var angle = ring.endAngle - ring.startAngle;\n\t var tickCount = range / stepValue;\n\t var pos = ring.startAngle;\n\t var step = angle / tickCount;\n\n\t if (reverse) {\n\t pos += angle;\n\t step = -step;\n\t }\n\n\t if (angle >= 360 && (options.max % stepValue === 0)) {\n\t tickCount -= 1;\n\t }\n\n\t var positions = [];\n\t for (var i = 0; i < tickCount; i++) {\n\t positions.push(round(pos, COORD_PRECISION));\n\t pos += step;\n\t }\n\n\t if (round(pos) <= ring.endAngle) {\n\t positions.push(pos);\n\t }\n\n\t return positions;\n\t },\n\n\t radius: function(value) {\n\t if (value) {\n\t this.arc.setRadiusX(value).setRadiusY(value);\n\t this.repositionTicks(this.majorTicks.children, this.majorTickAngles);\n\t this.repositionTicks(this.minorTicks.children, this.minorTickAngles, true);\n\t } else {\n\t return this.arc.getRadiusX();\n\t }\n\t },\n\n\t repositionTicks: function(ticks, tickAngles, minor) {\n\t var diff = minor ? (this._tickDifference || 0) : 0;\n\t var tickArc = this.arc;\n\t var radius = tickArc.getRadiusX();\n\n\t if (minor && this.options.labels.position === OUTSIDE && diff !== 0) {\n\t tickArc = this.arc.clone();\n\t tickArc.setRadiusX(radius - diff).setRadiusY(radius - diff);\n\t }\n\n\t for (var i = 0; i < ticks.length; i++) {\n\t var newPoint = tickArc.pointAt(tickAngles[i]);\n\t var segments = ticks[i].segments;\n\t var xDiff = newPoint.x - segments[0].anchor().x;\n\t var yDiff = newPoint.y - segments[0].anchor().y;\n\n\t ticks[i].transform(new transform().translate(xDiff, yDiff));\n\t }\n\t }\n\t});\n\n\tsetDefaultOptions(RadialScale, {\n\t min: 0,\n\t max: 100,\n\n\t majorTicks: {\n\t size: 15,\n\t align: INSIDE,\n\t color: BLACK,\n\t width: DEFAULT_LINE_WIDTH,\n\t visible: true\n\t },\n\n\t minorTicks: {\n\t size: 10,\n\t align: INSIDE,\n\t color: BLACK,\n\t width: DEFAULT_LINE_WIDTH,\n\t visible: true\n\t },\n\n\t startAngle: -30,\n\t endAngle: 210,\n\n\t labels: {\n\t position: INSIDE,\n\t padding: 2\n\t }\n\t});\n\n\tvar RadialPointerAnimation = Animation.extend({\n\t init: function(element, options) {\n\t Animation.fn.init.call(this, element, options);\n\n\t var animationOptions = this.options;\n\n\t animationOptions.duration = Math.max((Math.abs(animationOptions.newAngle - animationOptions.oldAngle) / animationOptions.duration) * 1000, 1);\n\t },\n\n\t step: function(pos) {\n\t var options = this.options;\n\t var angle = interpolateValue(options.oldAngle, options.newAngle, pos);\n\n\t this.element.transform(transform().rotate(angle, options.center));\n\t }\n\t});\n\n\tsetDefaultOptions(RadialPointerAnimation, {\n\t easing: LINEAR,\n\t duration: ANGULAR_SPEED\n\t});\n\n\tAnimationFactory.current.register(RADIAL_POINTER, RadialPointerAnimation);\n\n\tvar CAP_SIZE = 0.05;\n\tvar Circle = drawing.Circle;\n\tvar Group$6 = DrawingGroup;\n\tvar Path$6 = DrawingPath;\n\n\tvar RadialPointer = Pointer.extend({\n\t setAngle: function(angle) {\n\t this.elements.transform(transform().rotate(angle, this.center));\n\t },\n\n\t repaint: function() {\n\t var ref = this;\n\t var scale = ref.scale;\n\t var options = ref.options;\n\t var oldAngle = scale.slotAngle(options._oldValue);\n\t var newAngle = scale.slotAngle(options.value);\n\n\t if (options.animation.transitions === false) {\n\t this.setAngle(newAngle);\n\t } else {\n\t new RadialPointerAnimation(this.elements, deepExtend(options.animation, {\n\t oldAngle: oldAngle,\n\t newAngle: newAngle\n\t })).play();\n\t }\n\t },\n\n\t render: function() {\n\t var ref = this;\n\t var scale = ref.scale;\n\t var options = ref.options;\n\t var elements = new Group$6();\n\n\t if (options.animation !== false) {\n\t deepExtend(options.animation, {\n\t startAngle: 0,\n\t center: scale.arc.center,\n\t reverse: scale.options.reverse\n\t });\n\t }\n\n\t elements.append(this._renderNeedle(), this._renderCap());\n\n\t this.elements = elements;\n\t this.setAngle(DEGREE);\n\n\t return elements;\n\t },\n\n\t reflow: function(arc) {\n\t var center = this.center = arc.center;\n\t var length = limitValue(this.options.length || 1, 0.1, 1.5);\n\t var radius = this.radius = arc.getRadiusX() * length;\n\t var capSize = this.capSize = Math.round(radius * this.options.cap.size);\n\n\t this.bbox = Rect.fromPoints(new GeometryPoint(center.x - capSize, center.y - capSize),\n\t new GeometryPoint(center.x + capSize, center.y + capSize));\n\t },\n\n\t _renderNeedle: function() {\n\t var minorTickSize = this.scale.options.minorTicks.size;\n\t var center = this.center;\n\t var needleColor = this.options.color;\n\n\t var needlePath = new Path$6({\n\t fill: { color: needleColor },\n\t stroke: { color: needleColor, width: DEFAULT_LINE_WIDTH }\n\t });\n\n\t needlePath.moveTo(center.x + this.radius - minorTickSize, center.y)\n\t .lineTo(center.x, center.y - (this.capSize / 2))\n\t .lineTo(center.x, center.y + (this.capSize / 2))\n\t .close();\n\n\t return needlePath;\n\t },\n\n\t _renderCap: function() {\n\t var options = this.options;\n\t var capColor = options.cap.color || options.color;\n\t var circle = new geometry.Circle(this.center, this.capSize);\n\n\t var cap = new Circle(circle, {\n\t fill: { color: capColor },\n\t stroke: { color: capColor }\n\t });\n\n\t return cap;\n\t }\n\t});\n\n\tsetDefaultOptions(RadialPointer, {\n\t cap: {\n\t size: CAP_SIZE\n\t },\n\t arrow: {\n\t width: 16,\n\t height: 14\n\t },\n\t animation: {\n\t type: RADIAL_POINTER,\n\t duration: ANGULAR_SPEED\n\t }\n\t});\n\n\tvar Group$4 = DrawingGroup;\n\n\tvar RadialGauge = Gauge.extend({\n\t reflow: function(bbox) {\n\t var this$1 = this;\n\n\t var pointers = this.pointers;\n\t this.scale.reflow(bbox);\n\t this._initialPlotArea = this.scale.bbox;\n\n\t for (var i = 0; i < pointers.length; i++) {\n\t pointers[i].reflow(this$1.scale.arc);\n\t this$1._initialPlotArea = Rect.union(this$1._initialPlotArea, pointers[i].bbox);\n\t }\n\n\t this.fitScale(bbox);\n\t this.alignScale(bbox);\n\t this._buildVisual(this.gaugeArea, pointers, this.scale);\n\t this._draw();\n\t },\n\n\t _buildVisual: function(gaugeArea, pointers, scale) {\n\t var visuals = this._visuals = new Group$4();\n\n\t visuals.append(gaugeArea);\n\t visuals.append(scale.ticks);\n\t visuals.append(scale.ranges);\n\t this._buildPointers(pointers);\n\t visuals.append(scale.labelElements);\n\t },\n\n\t _buildPointers: function(pointers) {\n\t var this$1 = this;\n\n\t for (var i = 0; i < pointers.length; i++) {\n\t var current = pointers[i];\n\t current.render();\n\t this$1._visuals.append(current.elements);\n\n\t current.value(current.options.value);\n\t }\n\t },\n\n\t fitScale: function(bbox) {\n\t var this$1 = this;\n\n\t var arc = this.scale.arc;\n\t var plotAreaBox = this._initialPlotArea;\n\t var step = Math.abs(this.getDiff(plotAreaBox, bbox));\n\t var min = round(step, COORD_PRECISION);\n\t var max = round(-step, COORD_PRECISION);\n\t var minDiff, midDiff, maxDiff, mid, oldDiff;\n\t var staleFlag = 0;\n\t var i = 0;\n\n\t while (i++ < 100) {\n\t staleFlag = (oldDiff === maxDiff) ? (staleFlag + 1) : 0;\n\n\t if (staleFlag > 5) {\n\t break;\n\t }\n\n\t if (min !== mid) {\n\t minDiff = this$1.getPlotBox(min, bbox, arc);\n\t if (0 <= minDiff && minDiff <= 2) {\n\t break;\n\t }\n\t }\n\n\t if (max !== mid) {\n\t maxDiff = this$1.getPlotBox(max, bbox, arc);\n\t if (0 <= maxDiff && maxDiff <= 2) {\n\t break;\n\t }\n\t }\n\n\t if (minDiff > 0 && maxDiff > 0) {\n\t mid = min * 2;\n\t } else if (minDiff < 0 && maxDiff < 0) {\n\t mid = max * 2;\n\t } else {\n\t mid = round(((min + max) / 2) || 1, COORD_PRECISION);\n\t }\n\n\t midDiff = this$1.getPlotBox(mid, bbox, arc);\n\t if (0 <= midDiff && midDiff <= 2) {\n\t break;\n\t }\n\n\t oldDiff = maxDiff;\n\n\t if (midDiff > 0) {\n\t max = mid;\n\t maxDiff = midDiff;\n\t } else {\n\t min = mid;\n\t minDiff = midDiff;\n\t }\n\t }\n\t },\n\n\t getPlotBox: function(step, bbox, arc) {\n\t var this$1 = this;\n\n\t var scale = this.scale;\n\t var pointers = this.pointers;\n\t var radius = arc.getRadiusX();\n\t var scaleArc = arc.clone();\n\n\t scaleArc.setRadiusX(radius + step).setRadiusY(radius + step);\n\n\t scale.arc = scaleArc;\n\t scale.reflow(bbox);\n\t this.plotBbox = scale.bbox;\n\n\t for (var i = 0; i < pointers.length; i++) {\n\t pointers[i].reflow(scaleArc);\n\t this$1.plotBbox = Rect.union(this$1.plotBbox, pointers[i].bbox);\n\t }\n\n\t return this.getDiff(this.plotBbox, bbox);\n\t },\n\n\t getDiff: function(plotBox, box) {\n\t return Math.min(box.width() - plotBox.width(), box.height() - plotBox.height());\n\t },\n\n\t alignScale: function(bbox) {\n\t var this$1 = this;\n\n\t var plotBoxCenter = this.plotBbox.center();\n\t var boxCenter = bbox.center();\n\t var paddingX = plotBoxCenter.x - boxCenter.x;\n\t var paddingY = plotBoxCenter.y - boxCenter.y;\n\t var ref = this;\n\t var scale = ref.scale;\n\t var pointers = ref.pointers;\n\n\t scale.arc.center.x -= paddingX;\n\t scale.arc.center.y -= paddingY;\n\n\t scale.reflow(bbox);\n\n\t for (var i = 0; i < pointers.length; i++) {\n\t pointers[i].reflow(scale.arc);\n\t this$1.plotBbox = Rect.union(scale.bbox, pointers[i].bbox);\n\t }\n\t },\n\n\t _createModel: function() {\n\t var this$1 = this;\n\n\t var options = this.options;\n\t var pointers = options.pointer;\n\t var scale = this.scale = new RadialScale(options.scale, this.contextService);\n\n\t this.pointers = [];\n\n\t var pointersArr = isArray(pointers) ? pointers : [ pointers ];\n\t for (var i = 0; i < pointersArr.length; i++) {\n\t var current = new RadialPointer(scale, deepExtend({}, pointersArr[i], {\n\t animation: {\n\t transitions: options.transitions\n\t }\n\t }));\n\n\t this$1.pointers.push(current);\n\t }\n\t }\n\t});\n\n\tsetDefaultOptions(RadialGauge, {\n\t transitions: true,\n\t gaugeArea: {\n\t background: \"\"\n\t }\n\t});\n\n\tvar ArcScale = RadialScale.extend({\n\t rangeSegments: function() {\n\t var ref = this.options;\n\t var min = ref.min;\n\t var max = ref.max;\n\t var rangePlaceholderColor = ref.rangePlaceholderColor;\n\t var rangeLineCap = ref.rangeLineCap;\n\n\t return [ { from: min, to: max, color: rangePlaceholderColor, lineCap: rangeLineCap } ];\n\t },\n\n\t hasRanges: function() {\n\t return true;\n\t },\n\n\t placeholderRangeAngle: function(angle) {\n\t var geometry$$1 = this.ranges.children[0].geometry();\n\n\t if (this.options.reverse) {\n\t geometry$$1.setEndAngle(angle);\n\t } else {\n\t geometry$$1.setStartAngle(angle);\n\t }\n\t },\n\n\t addRange: function(from, to, options) {\n\t var reverse = this.options.reverse;\n\n\t var startAngle = this.slotAngle(reverse ? to : from);\n\t var endAngle = this.slotAngle(reverse ? from : to);\n\n\t var range = this.createRange(startAngle, endAngle, this.getRangeRadius(), options);\n\n\t this.ranges.append(range);\n\n\t return range;\n\t }\n\t});\n\n\tsetDefaultOptions(ArcScale, {\n\t min: 0,\n\t max: 100,\n\n\t majorTicks: {\n\t visible: false\n\t },\n\n\t minorTicks: {\n\t visible: false\n\t },\n\n\t labels: {\n\t visible: false\n\t },\n\n\t startAngle: 0,\n\t endAngle: 180,\n\t rangeLineCap: 'round'\n\t});\n\n\tvar MAX_DURATION = 800;\n\n\tvar RangePointerAnimation = Animation.extend({\n\t init: function(element, options) {\n\t Animation.fn.init.call(this, element, options);\n\n\t var animationOptions = this.options;\n\t var duration = (Math.abs(animationOptions.newAngle - animationOptions.oldAngle) / animationOptions.duration) * 1000;\n\t animationOptions.duration = limitValue(duration, ANGULAR_SPEED, MAX_DURATION);\n\n\t var startColor = element.elements.options.get(\"stroke.color\");\n\t var color = element.currentColor();\n\t if (startColor !== color) {\n\t this.startColor = new kendo.Color(startColor);\n\t this.color = new kendo.Color(color);\n\t }\n\t },\n\n\t step: function(pos) {\n\t var ref = this;\n\t var options = ref.options;\n\t var startColor = ref.startColor;\n\t var color = ref.color;\n\t var angle = interpolateValue(options.oldAngle, options.newAngle, pos);\n\t this.element.angle(angle);\n\n\t if (color) {\n\t var r = round(interpolateValue(startColor.r, color.r, pos));\n\t var g = round(interpolateValue(startColor.g, color.g, pos));\n\t var b = round(interpolateValue(startColor.b, color.b, pos));\n\n\t this.element.stroke(new kendo.Color(r, g, b).toHex());\n\t }\n\t }\n\t});\n\n\tsetDefaultOptions(RangePointerAnimation, {\n\t easing: LINEAR,\n\t duration: ANGULAR_SPEED\n\t});\n\n\tAnimationFactory.current.register(RADIAL_RANGE_POINTER, RangePointerAnimation);\n\n\tvar RangePointer = Pointer.extend({\n\t repaint: function() {\n\t var ref = this;\n\t var scale = ref.scale;\n\t var options = ref.options;\n\t var oldAngle = scale.slotAngle(options._oldValue);\n\t var newAngle = scale.slotAngle(options.value);\n\n\t if (this.animation) {\n\t this.animation.abort();\n\t }\n\n\t if (options.animation.transitions === false) {\n\t this.angle(newAngle);\n\t this.stroke(this.currentColor());\n\t } else {\n\t this.animation = new RangePointerAnimation(this, deepExtend(options.animation, {\n\t oldAngle: oldAngle,\n\t newAngle: newAngle\n\t }));\n\n\t this.animation.play();\n\t }\n\t },\n\n\t angle: function(value) {\n\t var geometry$$1 = this.elements.geometry();\n\t if (this.scale.options.reverse) {\n\t geometry$$1.setStartAngle(value);\n\t } else {\n\t geometry$$1.setEndAngle(value);\n\t }\n\t this.scale.placeholderRangeAngle(value);\n\t },\n\n\t stroke: function(value) {\n\t this.elements.stroke(value);\n\t },\n\n\t render: function() {\n\t if (this.elements) {\n\t return;\n\t }\n\n\t var ref = this;\n\t var scale = ref.scale;\n\t var options = ref.options;\n\n\t if (options.animation !== false) {\n\t deepExtend(options.animation, {\n\t startAngle: 0,\n\t center: scale.arc.center,\n\t reverse: scale.options.reverse\n\t });\n\t }\n\n\t this.elements = scale.addRange(scale.options.min, this.options.value, {\n\t color: this.currentColor(),\n\t opacity: options.opacity,\n\t lineCap: scale.options.rangeLineCap\n\t });\n\t },\n\n\t currentColor: function() {\n\t var ref = this.scale.options;\n\t var min = ref.min;\n\t var max = ref.max;\n\t var ref$1 = this.options;\n\t var colors = ref$1.colors;\n\t var color = ref$1.color;\n\t var value = ref$1.value;\n\t var currentValue = dataviz.isNumber(value) ? value : min;\n\n\t if (colors) {\n\t for (var idx = 0; idx < colors.length; idx++) {\n\t var ref$2 = colors[idx];\n\t var rangeColor = ref$2.color;\n\t var from = ref$2.from; if (from === void 0) { from = min; }\n\t var to = ref$2.to; if (to === void 0) { to = max; }\n\n\t if (from <= currentValue && currentValue <= to) {\n\t return rangeColor;\n\t }\n\t }\n\t }\n\n\t return color;\n\t },\n\n\t reflow: function() {\n\t this.render();\n\n\t this.bbox = this.elements.bbox();\n\t }\n\t});\n\n\tsetDefaultOptions(RangePointer, {\n\t animation: {\n\t type: RADIAL_RANGE_POINTER,\n\t duration: ANGULAR_SPEED\n\t }\n\t});\n\n\tvar ArcGauge = RadialGauge.extend({\n\t _initTheme: function(theme) {\n\t RadialGauge.fn._initTheme.call(this, theme);\n\n\t this.options.color = this.options.color || (this.theme.pointer || {}).color;\n\t },\n\n\t _createModel: function() {\n\t var options = this.options;\n\t var scale = this.scale = new ArcScale(options.scale, this.contextService);\n\n\t var pointer = new RangePointer(scale, deepExtend({}, {\n\t colors: options.colors,\n\t color: options.color,\n\t value: options.value,\n\t opacity: options.opacity,\n\t animation: {\n\t transitions: options.transitions\n\t }\n\t }));\n\n\t this.pointers = [ pointer ];\n\t },\n\n\t _buildPointers: function(pointers) {\n\t for (var i = 0; i < pointers.length; i++) {\n\t var current = pointers[i];\n\t current.render();\n\n\t current.value(current.options.value);\n\t }\n\t },\n\n\t _setValueOptions: function(value) {\n\t this.options.value = value;\n\t },\n\n\t currentColor: function() {\n\t var pointer = this.pointers[0];\n\t if (pointer) {\n\t return pointer.currentColor();\n\t }\n\t },\n\n\t centerLabelPosition: function(width, height) {\n\t var size = this.getSize();\n\t var center = this.scale.arc.center;\n\n\t var left = center.x - width / 2;\n\t var top = center.y - height / 2;\n\n\t if (width < size.width) {\n\t var right = left + width;\n\n\t left = Math.max(left, 0);\n\n\t if (right > size.width) {\n\t left -= right - size.width;\n\t }\n\t }\n\n\t if (height < size.height) {\n\t var bbox = this.scale.bbox;\n\t var yLimit = bbox.bottomRight().y;\n\t var bottom = top + height;\n\n\t top = Math.max(top, bbox.origin.y);\n\n\t if (bottom > yLimit) {\n\t top -= bottom - yLimit;\n\t }\n\t }\n\n\t return {\n\t left: left,\n\t top: top\n\t };\n\t }\n\t});\n\n\tvar defaultStartAngle = 90;\n\n\tvar CircularGauge = ArcGauge.extend({\n\t _createModel: function() {\n\t var scaleOptions = this.options.scale;\n\t if (typeof scaleOptions.startAngle !== 'number') {\n\t scaleOptions.startAngle = defaultStartAngle;\n\t }\n\n\t scaleOptions.endAngle = scaleOptions.startAngle + 360;\n\n\t ArcGauge.fn._createModel.call(this);\n\t }\n\t});\n\n\tkendo.deepExtend(kendo.dataviz, {\n\t Gauge: Gauge,\n\t LinearGauge: LinearGauge,\n\t LinearPointer: LinearPointer,\n\t ArrowLinearPointer: ArrowLinearPointer,\n\t BarLinearPointer: BarLinearPointer,\n\t LinearScale: LinearScale,\n\t RadialGauge: RadialGauge,\n\t RadialPointer: RadialPointer,\n\t RadialScale: RadialScale,\n\t ArcGauge: ArcGauge,\n\t RangePointer: RangePointer,\n\t ArcScale: ArcScale,\n\t CircularGauge: CircularGauge\n\t});\n\n\t})(window.kendo.jQuery);\n\n\t}, __webpack_require__(3));\n\n/***/ })\n\n/******/ });","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n\n\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports = __webpack_require__(917);\n\n\n/***/ }),\n\n/***/ 3:\n/***/ (function(module, exports) {\n\n\tmodule.exports = function() { throw new Error(\"define cannot be used indirect\"); };\r\n\n\n/***/ }),\n\n/***/ 917:\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function(f, define){\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [\n\t __webpack_require__(918)\n\t ], __WEBPACK_AMD_DEFINE_FACTORY__ = (f), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t})(function(){\n\n\t(function ($) {\n\t var kendo = window.kendo;\n\t var Widget = kendo.ui.Widget;\n\t var dataviz = kendo.dataviz;\n\t var LinearGauge = dataviz.LinearGauge;\n\t var RadialGauge = dataviz.RadialGauge;\n\t var ArcGauge = dataviz.ArcGauge;\n\t var CircularGauge = dataviz.CircularGauge;\n\t var draw = kendo.drawing;\n\n\t function themeOptions(options) {\n\t var themes = dataviz.ui.themes || {};\n\t var themeName = options.theme || \"\";\n\t var lowerName = themeName.toLowerCase();\n\n\t if(dataviz.SASS_THEMES.indexOf(lowerName) != -1) {\n\t return dataviz.autoTheme().gauge;\n\t }\n\n\t return (themes[themeName] || themes[lowerName] || {}).gauge;\n\t }\n\n\t var Gauge = Widget.extend({\n\t init: function(element, userOptions) {\n\t kendo.destroy(element);\n\t $(element).empty();\n\n\t Widget.fn.init.call(this, element);\n\n\t this.options = kendo.deepExtend(this.options, userOptions);\n\n\t this.wrapper = this.element;\n\t this._createInstance();\n\n\t this.element.addClass('k-gauge');\n\n\t kendo.notify(this, dataviz.ui);\n\t },\n\n\t options: {\n\t theme: \"default\",\n\t renderAs: \"\",\n\t pointer: {},\n\t scale: {},\n\t gaugeArea: {\n\t background: \"\"\n\t },\n\t transitions: true\n\t },\n\n\t setOptions: function(options) {\n\t this._instance.setOptions(options, themeOptions(options));\n\n\t this._copyFields();\n\t },\n\n\t redraw: function() {\n\t this._instance.redraw();\n\t this._copyFields();\n\t },\n\n\t destroy: function() {\n\t Widget.fn.destroy.call(this);\n\t this._instance.destroy();\n\t },\n\n\t _createInstance: function() {\n\t var gaugeType = this._gaugeType();\n\t this._instance = new gaugeType(this.element[0], this.options, themeOptions(this.options));\n\t this._copyFields();\n\t },\n\n\t _copyFields: function() {\n\t this._originalOptions = this._instance._originalOptions;\n\t this.options = this._instance.options;\n\t this.surface = this._instance.surface;\n\t this.bbox = this._instance.bbox;\n\t this.gaugeArea = this._instance.gaugeArea;\n\t this.pointers = this._instance.pointers;\n\t this.scale = this._instance.scale;\n\t },\n\n\t _resize: function() {\n\t this._instance.resize();\n\t }\n\t });\n\n\t var proxyMembers = [\"getSize\", \"value\", \"allValues\", \"exportVisual\"];\n\n\t function createProxyMember(name) {\n\t Gauge.fn[name] = function() {\n\t return this._instance[name].apply(this._instance, arguments);\n\t };\n\t }\n\n\t for (var idx = 0; idx < proxyMembers.length; idx++) {\n\t createProxyMember(proxyMembers[idx]);\n\t }\n\n\t dataviz.ExportMixin.extend(Gauge.fn);\n\n\t var RadialGaugeWidget = Gauge.extend({\n\n\t options: {\n\t name: \"RadialGauge\"\n\t },\n\n\t _gaugeType: function() {\n\t return RadialGauge;\n\t }\n\t });\n\n\t var LinearGaugeWidget = Gauge.extend({\n\n\t options: {\n\t name: \"LinearGauge\",\n\t scale: {\n\t vertical: true\n\t }\n\t },\n\n\t _gaugeType: function() {\n\t return LinearGauge;\n\t }\n\t });\n\n\t var ArcGaugeWidget = Gauge.extend({\n\t init: function(element, userOptions) {\n\t Gauge.fn.init.call(this, element, userOptions);\n\n\t this.element.css('position', 'relative');\n\t this.element.addClass('k-arcgauge');\n\n\t this._centerTemplate();\n\t },\n\n\t options: {\n\t name: \"ArcGauge\"\n\t },\n\n\t setOptions: function(options) {\n\t Gauge.fn.setOptions.call(this, options);\n\t this._centerTemplate();\n\t },\n\n\t redraw: function() {\n\t Gauge.fn.redraw.call(this);\n\t this._centerTemplate();\n\t },\n\n\t value: function(value) {\n\t var instance = this._instance;\n\t if (arguments.length === 0) {\n\t return instance.value();\n\t }\n\n\t instance.value(value);\n\n\t this._centerTemplate();\n\t },\n\n\t destroy: function() {\n\t Gauge.fn.destroy.call(this);\n\t delete this._centerElement;\n\t },\n\n\t exportVisual: function() {\n\t if (this._centerElement) {\n\t return false;\n\t }\n\n\t return Gauge.fn.exportVisual.call(this);\n\t },\n\n\t _resize: function() {\n\t this._instance.resize();\n\n\t this._centerTemplate();\n\t },\n\n\t _centerTemplate: function() {\n\t if (this.options.centerTemplate) {\n\t var template = kendo.template(this.options.centerTemplate);\n\n\t var instance = this._instance;\n\t var centerElement = this._getCenterElement();\n\n\t centerElement.html(template({ color: instance.currentColor(), value: instance.value() }));\n\n\t var position = instance.centerLabelPosition(centerElement.width(), centerElement.height());\n\n\t centerElement.css(position);\n\t } else if (this._centerElement) {\n\t this._centerElement.remove();\n\t this._centerElement = null;\n\t }\n\t },\n\n\t _getCenterElement: function() {\n\t var centerElement = this._centerElement;\n\t if (!centerElement) {\n\t centerElement = this._centerElement = $('
').addClass('k-arcgauge-label');\n\t this.element.append(centerElement);\n\t }\n\n\t return centerElement;\n\t },\n\n\t _gaugeType: function() {\n\t return ArcGauge;\n\t }\n\t });\n\n\t var CircularGaugeWidget = ArcGaugeWidget.extend({\n\t options: {\n\t name: \"CircularGauge\"\n\t },\n\n\t _gaugeType: function() {\n\t return CircularGauge;\n\t }\n\t });\n\n\t function createExportMethod(name) {\n\t ArcGaugeWidget.fn[name] = function(options) {\n\t var gauge = this;\n\t var method = draw[name];\n\n\t if (!gauge._centerElement) {\n\t return method(gauge.exportVisual(), options);\n\t }\n\n\t return draw.drawDOM(gauge.element).then(function(visual) {\n\t return method(visual, options);\n\t });\n\t };\n\t }\n\n\t var exportMethods = ['exportSVG', 'exportImage', 'exportPDF'];\n\n\t for (idx = 0; idx < exportMethods.length; idx++) {\n\t createExportMethod(exportMethods[idx]);\n\t }\n\n\t dataviz.ui.plugin(LinearGaugeWidget);\n\t dataviz.ui.plugin(RadialGaugeWidget);\n\t dataviz.ui.plugin(ArcGaugeWidget);\n\t dataviz.ui.plugin(CircularGaugeWidget);\n\n\t kendo.deepExtend(dataviz, {\n\t Gauge: Gauge,\n\t LinearGauge: LinearGaugeWidget,\n\t RadialGauge: RadialGaugeWidget,\n\t ArcGauge: ArcGaugeWidget,\n\t CircularGauge: CircularGaugeWidget\n\t });\n\n\t})(window.kendo.jQuery);\n\n\treturn window.kendo;\n\n\t}, __webpack_require__(3));\n\n\n/***/ }),\n\n/***/ 918:\n/***/ (function(module, exports) {\n\n\tmodule.exports = require(\"./kendo-gauges\");\n\n/***/ })\n\n/******/ });"],"sourceRoot":""}