{"version":3,"sources":["webpack:///./node_modules/d3-selection/src/select.js","webpack:///./node_modules/d3-array/src/ascending.js","webpack:///./node_modules/d3-shape/src/math.js","webpack:///./node_modules/d3-selection/src/matcher.js","webpack:///./node_modules/d3-scale-chromatic/src/categorical/Set3.js","webpack:///./node_modules/d3-selection/src/selectAll.js","webpack:///./node_modules/d3-color/src/define.js","webpack:///./node_modules/d3-color/src/color.js","webpack:///./node_modules/core-js/library/modules/es6.array.is-array.js","webpack:///./node_modules/core-js/modules/es6.array.from.js","webpack:///./src/enums/TipoRequisitoEnum.ts","webpack:///./node_modules/core-js/modules/es6.array.find-index.js","webpack:///./node_modules/core-js/library/modules/_create-property.js","webpack:///./node_modules/d3-scale-chromatic/src/categorical/Dark2.js","webpack:///./node_modules/d3-shape/src/curve/catmullRom.js","webpack:///./node_modules/d3-array/src/bisector.js","webpack:///./src/models/RequisitoBeneficio.ts","webpack:///./node_modules/d3-ease/src/exp.js","webpack:///./node_modules/vue-d3-charts/dist/vue-d3-charts.esm.js","webpack:///./node_modules/core-js/modules/_strict-method.js","webpack:///./node_modules/d3-ease/src/bounce.js","webpack:///./node_modules/d3-selection/src/selection/style.js","webpack:///./node_modules/core-js/modules/_wks-ext.js","webpack:///./node_modules/core-js/modules/_wks-define.js","webpack:///./node_modules/d3-selection/src/selectorAll.js","webpack:///./node_modules/d3-axis/src/array.js","webpack:///./node_modules/d3-axis/src/identity.js","webpack:///./node_modules/d3-axis/src/axis.js","webpack:///./node_modules/d3-time/src/duration.js","webpack:///./node_modules/d3-time/src/interval.js","webpack:///./node_modules/d3-time/src/millisecond.js","webpack:///./node_modules/d3-time/src/second.js","webpack:///./node_modules/d3-time/src/minute.js","webpack:///./node_modules/d3-time/src/hour.js","webpack:///./node_modules/d3-time/src/day.js","webpack:///./node_modules/d3-time/src/week.js","webpack:///./node_modules/d3-time/src/month.js","webpack:///./node_modules/d3-time/src/year.js","webpack:///./node_modules/d3-time/src/utcMinute.js","webpack:///./node_modules/d3-time/src/utcHour.js","webpack:///./node_modules/d3-time/src/utcDay.js","webpack:///./node_modules/d3-time/src/utcWeek.js","webpack:///./node_modules/d3-time/src/utcMonth.js","webpack:///./node_modules/d3-time/src/utcYear.js","webpack:///./node_modules/d3-time/src/ticks.js","webpack:///./node_modules/d3-scale/src/nice.js","webpack:///./node_modules/d3-scale/src/time.js","webpack:///./node_modules/d3-shape/src/curve/linear.js","webpack:///./node_modules/d3-cloud/index.js","webpack:///./node_modules/d3-time-format/node_modules/d3-time/src/interval.js","webpack:///./node_modules/d3-time-format/node_modules/d3-time/src/duration.js","webpack:///./node_modules/d3-time-format/node_modules/d3-time/src/utcWeek.js","webpack:///./node_modules/d3-time-format/node_modules/d3-time/src/utcDay.js","webpack:///./node_modules/d3-time-format/node_modules/d3-time/src/week.js","webpack:///./node_modules/d3-time-format/node_modules/d3-time/src/day.js","webpack:///./node_modules/d3-time-format/node_modules/d3-time/src/year.js","webpack:///./node_modules/d3-time-format/node_modules/d3-time/src/utcYear.js","webpack:///./node_modules/d3-time-format/src/locale.js","webpack:///./node_modules/d3-time-format/src/defaultLocale.js","webpack:///./node_modules/d3-ease/src/quad.js","webpack:///./node_modules/d3-format/src/formatSpecifier.js","webpack:///./node_modules/d3-format/src/formatDecimal.js","webpack:///./node_modules/d3-format/src/exponent.js","webpack:///./node_modules/d3-format/src/formatPrefixAuto.js","webpack:///./node_modules/d3-format/src/defaultLocale.js","webpack:///./node_modules/d3-format/src/precisionPrefix.js","webpack:///./node_modules/d3-format/src/formatGroup.js","webpack:///./node_modules/d3-format/src/formatNumerals.js","webpack:///./node_modules/d3-format/src/formatTrim.js","webpack:///./node_modules/d3-format/src/formatRounded.js","webpack:///./node_modules/d3-format/src/formatTypes.js","webpack:///./node_modules/d3-format/src/identity.js","webpack:///./node_modules/d3-format/src/locale.js","webpack:///./node_modules/d3-format/src/precisionRound.js","webpack:///./node_modules/d3-format/src/precisionFixed.js","webpack:///./node_modules/d3-scale/src/tickFormat.js","webpack:///./node_modules/d3-scale/src/linear.js","webpack:///./node_modules/core-js/library/modules/es6.array.from.js","webpack:///./node_modules/core-js/modules/es6.array.sort.js","webpack:///./node_modules/core-js/modules/es6.string.iterator.js","webpack:///./node_modules/d3-shape/src/arc.js","webpack:///./node_modules/d3-ease/src/linear.js","webpack:///./node_modules/d3-scale-chromatic/src/colors.js","webpack:///./node_modules/core-js/modules/_meta.js","webpack:///./node_modules/d3-hierarchy/src/hierarchy/count.js","webpack:///./node_modules/d3-hierarchy/src/hierarchy/each.js","webpack:///./node_modules/d3-hierarchy/src/hierarchy/eachBefore.js","webpack:///./node_modules/d3-hierarchy/src/hierarchy/eachAfter.js","webpack:///./node_modules/d3-hierarchy/src/hierarchy/sum.js","webpack:///./node_modules/d3-hierarchy/src/hierarchy/sort.js","webpack:///./node_modules/d3-hierarchy/src/hierarchy/path.js","webpack:///./node_modules/d3-hierarchy/src/hierarchy/ancestors.js","webpack:///./node_modules/d3-hierarchy/src/hierarchy/descendants.js","webpack:///./node_modules/d3-hierarchy/src/hierarchy/leaves.js","webpack:///./node_modules/d3-hierarchy/src/hierarchy/links.js","webpack:///./node_modules/d3-hierarchy/src/hierarchy/index.js","webpack:///./node_modules/d3-selection/src/namespace.js","webpack:///./node_modules/d3-selection/src/selector.js","webpack:///./node_modules/@babel/runtime-corejs2/helpers/esm/arrayWithHoles.js","webpack:///./node_modules/@babel/runtime-corejs2/helpers/esm/iterableToArrayLimit.js","webpack:///./node_modules/@babel/runtime-corejs2/helpers/esm/nonIterableRest.js","webpack:///./node_modules/@babel/runtime-corejs2/helpers/esm/slicedToArray.js","webpack:///./node_modules/d3-shape/src/curve/bundle.js","webpack:///./node_modules/d3-shape/src/curve/cardinal.js","webpack:///./node_modules/d3-scale/src/pow.js","webpack:///./node_modules/core-js/modules/_object-gopn-ext.js","webpack:///./node_modules/d3-shape/src/curve/step.js","webpack:///./src/views/DashBoard.vue","webpack:///./src/models/Dashboard/DashboardTrimestralResponse.ts","webpack:///./src/models/Dashboard/BeneficiosDisponiblesResponse.ts","webpack:///./src/models/Dashboard/VideoIntroResponse.ts","webpack:///./src/components/Beneficios.vue","webpack:///./src/components/Beneficios.vue?58e5","webpack:///./src/components/Beneficios.vue?beda","webpack:///./src/components/Beneficios.vue?aa54","webpack:///./src/components/Doughnut.vue","webpack:///src/components/Doughnut.vue","webpack:///./src/components/Doughnut.vue?90d4","webpack:///./src/components/Doughnut.vue?813f","webpack:///./src/views/DashBoard.vue?4f80","webpack:///./src/views/DashBoard.vue?5673","webpack:///./src/views/DashBoard.vue?a030","webpack:///./node_modules/d3-scale-chromatic/src/categorical/Set2.js","webpack:///./node_modules/d3-array/src/max.js","webpack:///./src/services/ValidationService.ts","webpack:///./node_modules/d3-scale-chromatic/src/categorical/Accent.js","webpack:///./node_modules/d3-shape/src/descending.js","webpack:///./node_modules/d3-shape/src/identity.js","webpack:///./node_modules/d3-shape/src/pie.js","webpack:///./node_modules/d3-ease/src/cubic.js","webpack:///./node_modules/d3-ease/src/back.js","webpack:///./node_modules/core-js/modules/es6.symbol.js","webpack:///./node_modules/d3-shape/src/curve/basis.js","webpack:///./node_modules/d3-interpolate/src/string.js","webpack:///./src/assets/images/consulta-vejez-anticipada.png","webpack:///./node_modules/d3-array/src/min.js","webpack:///./src/assets/images/consulta-cesantia.png","webpack:///./node_modules/d3-selection/src/window.js","webpack:///./node_modules/d3-shape/src/curve/monotone.js","webpack:///./node_modules/d3-shape/src/curve/natural.js","webpack:///./node_modules/d3-scale-chromatic/src/categorical/category10.js","webpack:///./node_modules/chartjs-plugin-datalabels/dist/chartjs-plugin-datalabels.js","webpack:///./node_modules/d3-scale-chromatic/src/categorical/Pastel1.js","webpack:///./node_modules/core-js/modules/es7.symbol.async-iterator.js","webpack:///./src/models/ParametrosObtencionPresolicitud.ts","webpack:///./node_modules/d3-array/src/range.js","webpack:///./node_modules/d3-scale/src/band.js","webpack:///./node_modules/d3-timer/src/timer.js","webpack:///./node_modules/d3-timer/src/timeout.js","webpack:///./node_modules/d3-transition/src/transition/schedule.js","webpack:///./node_modules/d3-transition/src/interrupt.js","webpack:///./node_modules/d3-interpolate/src/transform/parse.js","webpack:///./node_modules/d3-transition/src/selection/interrupt.js","webpack:///./node_modules/d3-interpolate/src/transform/decompose.js","webpack:///./node_modules/d3-interpolate/src/transform/index.js","webpack:///./node_modules/d3-transition/src/transition/tween.js","webpack:///./node_modules/d3-transition/src/transition/interpolate.js","webpack:///./node_modules/d3-transition/src/transition/attr.js","webpack:///./node_modules/d3-transition/src/transition/attrTween.js","webpack:///./node_modules/d3-transition/src/transition/delay.js","webpack:///./node_modules/d3-transition/src/transition/duration.js","webpack:///./node_modules/d3-transition/src/transition/ease.js","webpack:///./node_modules/d3-transition/src/transition/filter.js","webpack:///./node_modules/d3-transition/src/transition/merge.js","webpack:///./node_modules/d3-transition/src/transition/on.js","webpack:///./node_modules/d3-transition/src/transition/remove.js","webpack:///./node_modules/d3-transition/src/transition/select.js","webpack:///./node_modules/d3-transition/src/transition/selectAll.js","webpack:///./node_modules/d3-transition/src/transition/selection.js","webpack:///./node_modules/d3-transition/src/transition/style.js","webpack:///./node_modules/d3-transition/src/transition/styleTween.js","webpack:///./node_modules/d3-transition/src/transition/text.js","webpack:///./node_modules/d3-transition/src/transition/textTween.js","webpack:///./node_modules/d3-transition/src/transition/transition.js","webpack:///./node_modules/d3-transition/src/transition/end.js","webpack:///./node_modules/d3-transition/src/transition/index.js","webpack:///./node_modules/d3-transition/src/selection/transition.js","webpack:///./node_modules/d3-transition/src/selection/index.js","webpack:///./node_modules/d3-scale-chromatic/src/categorical/Pastel2.js","webpack:///./node_modules/d3-ease/src/circle.js","webpack:///./node_modules/d3-ease/src/elastic.js","webpack:///./src/views/DashBoard.vue?ecfa","webpack:///./src/components/Beneficios.vue?6c01","webpack:///./node_modules/d3-array/src/extent.js","webpack:///./node_modules/d3-scale-chromatic/src/categorical/Paired.js","webpack:///./node_modules/d3-scale-chromatic/src/categorical/Tableau10.js","webpack:///./node_modules/d3-dispatch/src/dispatch.js","webpack:///./node_modules/d3-interpolate/src/constant.js","webpack:///./node_modules/core-js/library/fn/array/from.js","webpack:///./node_modules/d3-scale/src/init.js","webpack:///./node_modules/core-js/modules/_enum-keys.js","webpack:///./node_modules/d3-scale-chromatic/src/categorical/Set1.js","webpack:///./node_modules/d3-shape/src/constant.js","webpack:///./node_modules/@babel/runtime-corejs2/helpers/esm/arrayLikeToArray.js","webpack:///./node_modules/d3-scale/src/ordinal.js","webpack:///./node_modules/d3-dispatch/src/index.js","webpack:///./node_modules/d3-selection/src/namespaces.js","webpack:///./node_modules/d3-interpolate/src/number.js","webpack:///./node_modules/d3-interpolate/src/basis.js","webpack:///./node_modules/d3-interpolate/src/basisClosed.js","webpack:///./node_modules/d3-interpolate/src/color.js","webpack:///./node_modules/d3-interpolate/src/rgb.js","webpack:///./node_modules/d3-selection/src/selection/select.js","webpack:///./node_modules/d3-selection/src/selection/selectAll.js","webpack:///./node_modules/d3-selection/src/selection/filter.js","webpack:///./node_modules/d3-selection/src/selection/sparse.js","webpack:///./node_modules/d3-selection/src/selection/enter.js","webpack:///./node_modules/d3-selection/src/constant.js","webpack:///./node_modules/d3-selection/src/selection/data.js","webpack:///./node_modules/d3-selection/src/selection/exit.js","webpack:///./node_modules/d3-selection/src/selection/join.js","webpack:///./node_modules/d3-selection/src/selection/merge.js","webpack:///./node_modules/d3-selection/src/selection/order.js","webpack:///./node_modules/d3-selection/src/selection/sort.js","webpack:///./node_modules/d3-selection/src/selection/call.js","webpack:///./node_modules/d3-selection/src/selection/nodes.js","webpack:///./node_modules/d3-selection/src/selection/node.js","webpack:///./node_modules/d3-selection/src/selection/size.js","webpack:///./node_modules/d3-selection/src/selection/empty.js","webpack:///./node_modules/d3-selection/src/selection/each.js","webpack:///./node_modules/d3-selection/src/selection/attr.js","webpack:///./node_modules/d3-selection/src/selection/property.js","webpack:///./node_modules/d3-selection/src/selection/classed.js","webpack:///./node_modules/d3-selection/src/selection/text.js","webpack:///./node_modules/d3-selection/src/selection/html.js","webpack:///./node_modules/d3-selection/src/selection/raise.js","webpack:///./node_modules/d3-selection/src/selection/lower.js","webpack:///./node_modules/d3-selection/src/creator.js","webpack:///./node_modules/d3-selection/src/selection/append.js","webpack:///./node_modules/d3-selection/src/selection/insert.js","webpack:///./node_modules/d3-selection/src/selection/remove.js","webpack:///./node_modules/d3-selection/src/selection/clone.js","webpack:///./node_modules/d3-selection/src/selection/datum.js","webpack:///./node_modules/d3-selection/src/selection/on.js","webpack:///./node_modules/d3-selection/src/selection/dispatch.js","webpack:///./node_modules/d3-selection/src/selection/index.js","webpack:///./node_modules/d3-ease/src/poly.js","webpack:///./node_modules/@babel/runtime-corejs2/helpers/esm/unsupportedIterableToArray.js","webpack:///./node_modules/d3-array/src/number.js","webpack:///./node_modules/d3-array/src/bisect.js","webpack:///./node_modules/d3-interpolate/src/round.js","webpack:///./node_modules/d3-scale/src/constant.js","webpack:///./node_modules/d3-scale/src/number.js","webpack:///./node_modules/d3-scale/src/continuous.js","webpack:///./node_modules/d3-ease/src/math.js","webpack:///./node_modules/d3-interpolate/src/numberArray.js","webpack:///./node_modules/d3-interpolate/src/array.js","webpack:///./node_modules/d3-interpolate/src/date.js","webpack:///./node_modules/d3-interpolate/src/object.js","webpack:///./node_modules/d3-interpolate/src/value.js","webpack:///./node_modules/d3-path/src/path.js","webpack:///./node_modules/d3-ease/src/sin.js","webpack:///./node_modules/d3-array/src/ticks.js","webpack:///./src/assets/images/consulta-ingreso-tardio.png","webpack:///./node_modules/core-js/library/fn/array/is-array.js","webpack:///./node_modules/d3-hierarchy/src/treemap/round.js","webpack:///./node_modules/d3-hierarchy/src/treemap/dice.js","webpack:///./node_modules/d3-hierarchy/src/partition.js","webpack:///./node_modules/d3-shape/src/point.js","webpack:///./node_modules/d3-shape/src/line.js"],"names":["selector","document","querySelector","documentElement","a","b","NaN","abs","Math","atan2","cos","max","min","sin","sqrt","epsilon","pi","PI","halfPi","tau","acos","x","asin","this","matches","querySelectorAll","constructor","prototype","factory","extend","parent","definition","Object","create","key","Color","darker","brighter","reI","reN","reP","reHex","reRgbInteger","RegExp","reRgbPercent","reRgbaInteger","reRgbaPercent","reHslPercent","reHslaPercent","named","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","color_formatHex","rgb","formatHex","color_formatHsl","hslConvert","formatHsl","color_formatRgb","formatRgb","color","format","m","l","trim","toLowerCase","exec","length","parseInt","rgbn","Rgb","rgba","hsla","hasOwnProperty","n","r","g","rgbConvert","o","opacity","arguments","rgb_formatHex","hex","rgb_formatRgb","isNaN","round","value","toString","h","s","Hsl","hsl","hsl2rgb","m1","m2","define","copy","channels","assign","displayable","k","pow","$export","S","isArray","ctx","toObject","call","isArrayIter","toLength","createProperty","getIterFn","F","iter","Array","from","arrayLike","result","step","iterator","O","C","aLen","mapfn","undefined","mapping","index","iterFn","next","done","TipoRequisitoEnum","$find","KEY","forced","P","findIndex","callbackfn","$defineProperty","createDesc","module","exports","object","f","point","that","y","x1","_x1","y1","_y1","x2","_x2","y2","_y2","_l01_a","_l01_2a","_l12_a","_l12_2a","_x0","_y0","_l23_a","_l23_2a","_context","bezierCurveTo","CatmullRom","context","alpha","_alpha","areaStart","_line","areaEnd","lineStart","_point","lineEnd","lineTo","closePath","x23","y23","moveTo","catmullRom","custom","ascendingComparator","d","delta","compare","left","lo","hi","mid","right","center","i","ParametrosValidacionRequisitosBeneficio","_createClass","cedulaAfiliado","codCuenta","tipoRequisito","codBeneficio","_classCallCheck","_defineProperty","expIn","t","expOut","expInOut","script","name","chart","props","config","type","required","default","datum","title","String","source","height","Number","watch","val","updateConfig","deep","vals","updateData","destroyChart","normalizeComponent","template","style","scopeId","isFunctionalTemplate","moduleIdentifier","shadowMode","createInjector","createInjectorSSR","createInjectorShadow","options","hook","render","staticRenderFns","_compiled","functional","_scopeId","$vnode","ssrContext","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","originalRender","existing","beforeCreate","concat","isOldIE","navigator","test","userAgent","id","addStyle","HEAD","styles","css","group","media","ids","Set","has","code","map","sources","btoa","unescape","encodeURIComponent","JSON","stringify","element","createElement","setAttribute","head","getElementsByTagName","appendChild","push","styleSheet","cssText","filter","Boolean","join","size","textNode","createTextNode","nodes","childNodes","removeChild","insertBefore","__vue_script__","__vue_render__","_vm","_h","$createElement","_c","_self","staticClass","_v","_s","_e","ref","__vue_staticRenderFns__","__vue_inject_styles__","inject","__vue_scope_id__","__vue_module_identifier__","__vue_is_functional_template__","__vue_component__","d3","select","d3chart","selection","data","cfg","_setConfig","onResize","resizeChart","window","addEventListener","initChart","keys","forEach","sk","console","error","width","node","offsetWidth","margin","offsetHeight","top","bottom","setScales","updateChart","c","splice","classname","wrap","append","attr","svg","selectAll","remove","tooltip","baseColor","currentKey","current","scheme","colorScale","computeData","bindData","enterElements","updateElements","exitElements","getDimensions","setChartDimension","removeEventListener","d3$1","scaleBand","scaleLinear","scaleOrdinal","transition","axisBottom","axisLeft","easeLinear","easePolyIn","easePolyOut","easePoly","easePolyInOut","easeQuadIn","easeQuadOut","easeQuad","easeQuadInOut","easeCubicIn","easeCubicOut","easeCubic","easeCubicInOut","easeSinIn","easeSinOut","easeSin","easeSinInOut","easeExpIn","easeExpOut","easeExp","easeExpInOut","easeCircleIn","easeCircleOut","easeCircle","easeCircleInOut","easeElasticIn","easeElastic","easeElasticOut","easeElasticInOut","easeBackIn","easeBackOut","easeBack","easeBackInOut","easeBounceIn","easeBounce","easeBounceOut","easeBounceInOut","schemeCategory10","schemeAccent","schemeDark2","schemePaired","schemePastel1","schemePastel2","schemeSet1","schemeSet2","schemeSet3","schemeTableau10","d3barchart","super","values","orientation","labelRotation","axis","yTitle","xTitle","yFormat","xFormat","yTicks","xTicks","label","duration","ease","initChartFrame","xScale","xScaleInn","yScale","axisg","yGrid","xAxis","yAxisTitle","rangeRound","paddingInner","domain","bandwidth","v","range","yGridFunction","tickSize","ticks","xAxisFunction","text","itemg","newbars","enter","dat","classed","on","html","event","colorElement","exit","script$1","extends","$refs","parse","__vue_script__$1","__vue_inject_styles__$1","__vue_scope_id__$1","__vue_module_identifier__$1","__vue_is_functional_template__$1","__vue_component__$1","d3$2","scaleTime","timeParse","timeFormat","extent","line","curveBasis","curveBundle","curveCardinal","curveCatmullRom","curveLinear","curveMonotoneX","curveMonotoneY","curveNatural","curveStep","curveStepAfter","curveStepBefore","d3linechart","date","inputFormat","outputFormat","curve","points","visibleSize","hoverSize","labels","parseTime","formatTime","yAxis","tData","j","jsdate","sort","tickFormat","linesgroup","pointsg","newgroups","gp","_","p","script$2","__vue_script__$2","__vue_inject_styles__$2","__vue_scope_id__$2","__vue_module_identifier__$2","__vue_is_functional_template__$2","__vue_component__$2","d3$3","pie","arc","interpolate","d3piechart","radius","inner","outter","padding","cScale","outerArc","padAngle","outRadius","relation","gcenter","inRadius","outerRadius","innerRadius","cornerRadius","newg","delay","attrTween","startAngle","endAngle","pos","centroid","midAngle","_current","script$3","__vue_script__$3","__vue_inject_styles__$3","__vue_scope_id__$3","__vue_module_identifier__$3","__vue_is_functional_template__$3","__vue_component__$3","d3$4","d3slopechart","titles","visibleRadius","startAxis","endAxis","startl","endl","newlines","gstart","gend","script$4","__vue_script__$4","__vue_inject_styles__$4","__vue_scope_id__$4","__vue_module_identifier__$4","__vue_is_functional_template__$4","__vue_component__$4","d3$5","scaleSqrt","hierarchy","partition","d3sunburst","root","sum","hData","descendants","clamp","x0","y0","stopPropagation","focusOn","iy0","iy1","ix0","ix1","d2","deltaAngle","charSpace","tween","xd","yd","script$5","__vue_script__$5","__vue_inject_styles__$5","__vue_scope_id__$5","__vue_module_identifier__$5","__vue_is_functional_template__$5","__vue_component__$5","d3$6","cloud","d3wordscloud","fontFamily","angle","steps","start","end","words","rotate","wordsAngle","font","fontSize","wordgroup","newwords","idx","randomInt","ceil","floor","random","script$6","__vue_script__$6","__vue_inject_styles__$6","__vue_scope_id__$6","__vue_module_identifier__$6","__vue_is_functional_template__$6","__vue_component__$6","d3$7","d3sliceschart","rScale","script$7","__vue_script__$7","__vue_inject_styles__$7","__vue_scope_id__$7","__vue_module_identifier__$7","__vue_is_functional_template__$7","__vue_component__$7","components","freeze","__proto__","D3BarChart","D3LineChart","D3PieChart","D3SlopeChart","D3Sunburst","D3WordsCloud","D3SlicesChart","install","Vue","installed","entries","componentName","component","plugin","GlobalVue","global","use","fails","method","arg","b1","b2","b3","b4","b5","b6","b7","b8","b9","b0","bounceIn","bounceOut","bounceInOut","styleRemove","removeProperty","styleConstant","priority","setProperty","styleFunction","apply","styleValue","getPropertyValue","getComputedStyle","each","core","LIBRARY","wksExt","defineProperty","$Symbol","Symbol","charAt","empty","slice","translateX","translateY","number","scale","offset","entering","__axis","orient","tickArguments","tickValues","tickSizeInner","tickSizeOuter","tickPadding","transform","identity","spacing","range0","range1","position","path","tick","order","tickExit","tickEnter","merge","insert","isFinite","getAttribute","parentNode","durationSecond","durationMinute","durationHour","durationDay","durationWeek","durationMonth","durationYear","t0","Date","t1","newInterval","floori","offseti","count","field","interval","d0","d1","stop","previous","setTime","every","millisecond","getMilliseconds","getUTCSeconds","getSeconds","getMinutes","getHours","setHours","setDate","getDate","getTimezoneOffset","weekday","getDay","sunday","monday","tuesday","wednesday","thursday","friday","saturday","setMonth","getMonth","getFullYear","setFullYear","utcMinute","setUTCSeconds","getUTCMinutes","utcHour","setUTCMinutes","getUTCHours","utcDay","setUTCHours","setUTCDate","getUTCDate","utcWeekday","getUTCDay","utcSunday","utcMonday","utcTuesday","utcWednesday","utcThursday","utcFriday","utcSaturday","utcMonth","setUTCMonth","getUTCMonth","getUTCFullYear","utcYear","setUTCFullYear","ticker","year","month","week","day","hour","minute","tickIntervals","reverse","tickInterval","target","bisector","utcTicks","utcTickInterval","timeTicks","timeTickInterval","nice","i0","i1","calendar","second","continuous","invert","formatMillisecond","formatSecond","formatMinute","formatHour","formatDay","formatWeek","formatMonth","formatYear","specifier","time","init","Linear","dispatch","RADIANS","SPIRALS","archimedean","archimedeanSpiral","rectangular","rectangularSpiral","cw","ch","cloudText","cloudFont","cloudFontNormal","cloudFontSize","cloudRotate","cloudPadding","cloudSprite","contextAndRatio","di","sprite","ratio","clearRect","maxh","save","weight","metrics","measureText","anchor","w","sr","cr","wcr","wsr","hcr","hsr","translate","fillText","lineWidth","strokeText","restore","xoff","yoff","hasText","pixels","getImageData","w32","seen","seenRow","cloudCollide","tag","board","sw","last","lx","sx","msx","cloudBounds","bounds","collideRects","e","dy","dx","sign","zeroArray","cloudCanvas","functor","fontStyle","fontWeight","spiral","timeInterval","Infinity","timer","canvas","getContext","willReadFrequently","fillStyle","strokeStyle","place","dxdy","startX","startY","maxDelta","dt","tags","clearInterval","setInterval","now","localDate","H","M","L","utcDate","UTC","newDate","formatLocale","locale","locale_dateTime","dateTime","locale_date","locale_time","locale_periods","periods","locale_weekdays","days","locale_shortWeekdays","shortDays","locale_months","months","locale_shortMonths","shortMonths","periodRe","formatRe","periodLookup","formatLookup","weekdayRe","weekdayLookup","shortWeekdayRe","shortWeekdayLookup","monthRe","monthLookup","shortMonthRe","shortMonthLookup","formats","formatShortWeekday","formatWeekday","formatShortMonth","formatDayOfMonth","formatMicroseconds","formatYearISO","formatFullYearISO","formatHour24","formatHour12","formatDayOfYear","formatMilliseconds","formatMonthNumber","formatMinutes","formatPeriod","formatQuarter","formatUnixTimestamp","formatUnixTimestampSeconds","formatSeconds","formatWeekdayNumberMonday","formatWeekNumberSunday","formatWeekNumberISO","formatWeekdayNumberSunday","formatWeekNumberMonday","formatFullYear","formatZone","formatLiteralPercent","utcFormats","formatUTCShortWeekday","formatUTCWeekday","formatUTCShortMonth","formatUTCMonth","formatUTCDayOfMonth","formatUTCMicroseconds","formatUTCYearISO","formatUTCFullYearISO","formatUTCHour24","formatUTCHour12","formatUTCDayOfYear","formatUTCMilliseconds","formatUTCMonthNumber","formatUTCMinutes","formatUTCPeriod","formatUTCQuarter","formatUTCSeconds","formatUTCWeekdayNumberMonday","formatUTCWeekNumberSunday","formatUTCWeekNumberISO","formatUTCWeekdayNumberSunday","formatUTCWeekNumberMonday","formatUTCYear","formatUTCFullYear","formatUTCZone","parses","parseShortWeekday","parseWeekday","parseShortMonth","parseMonth","parseLocaleDateTime","parseDayOfMonth","parseMicroseconds","parseYear","parseFullYear","parseHour24","parseDayOfYear","parseMilliseconds","parseMonthNumber","parseMinutes","parsePeriod","parseQuarter","parseUnixTimestamp","parseUnixTimestampSeconds","parseSeconds","parseWeekdayNumberMonday","parseWeekNumberSunday","parseWeekNumberISO","parseWeekdayNumberSunday","parseWeekNumberMonday","parseLocaleDate","parseLocaleTime","parseZone","parseLiteralPercent","newFormat","pad","string","charCodeAt","pads","newParse","Z","parseSpecifier","Q","q","V","u","W","U","X","utcFormat","utcParse","numberRe","percentRe","requoteRe","fill","requote","replace","names","dISO","z","getUTCMilliseconds","dow","UTCdISO","defaultLocale","quadIn","quadOut","quadInOut","re","formatSpecifier","match","Error","FormatSpecifier","align","symbol","zero","comma","precision","toLocaleString","formatDecimalParts","toExponential","indexOf","coefficient","prefixExponent","grouping","substring","thousands","numerals","out","exponent","toFixed","formatDecimal","toPrecision","formatRounded","formatPrefixAuto","toUpperCase","prefixes","formatGroup","currencyPrefix","currency","currencySuffix","decimal","formatNumerals","percent","minus","nan","formatTypes","prefix","suffix","formatType","maybeSuffix","valuePrefix","valueSuffix","valueNegative","formatTrim","formatPrefix","precisionPrefix","precisionRound","precisionFixed","linearish","prestep","maxIter","linear","aFunction","$sort","comparefn","$at","iterated","_t","_i","arcInnerRadius","arcOuterRadius","arcStartAngle","arcEndAngle","arcPadAngle","intersect","x3","y3","x10","y10","x32","y32","cornerTangents","r1","rc","x01","y01","ox","oy","x11","y11","x00","y00","D","cx0","cy0","cx1","cy1","dx0","dy0","dx1","dy1","cx","cy","padRadius","buffer","r0","a0","a1","da","a01","a11","a00","a10","da0","da1","ap","rp","rc0","rc1","p0","p1","oc","ax","ay","bx","by","kc","lc","colors","META","isObject","setDesc","isExtensible","FREEZE","preventExtensions","setMeta","it","fastKey","getWeak","onFreeze","meta","NEED","children","eachAfter","pop","callback","eachBefore","ancestor","leastCommonAncestor","aNodes","ancestors","bNodes","leaves","links","child","childs","Node","valued","defaultChildren","depth","computeHeight","node_copy","copyData","space","local","none","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","TypeError","_slicedToArray","unsupportedIterableToArray","Bundle","beta","_basis","_beta","_x","_y","bundle","_k","Cardinal","tension","cardinal","transformPow","transformSqrt","transformSquare","powish","rescale","toIObject","gOPN","windowNames","getOwnPropertyNames","getWindowNames","Step","stepBefore","stepAfter","_setupProxy","staticStyle","_m","isDashboardDataAvaliable","DashBoard","dashboard","saludo","attrs","numberWithCommas","balanceMonto","fechaBalance","rentabilidadFondo","BeneficiosDisponibles","validarBeneficios","$event","consultarBeneficios","distribucionBalanceMonto","aporteEmpleado","aporteEmpleador","rentabilidad","otrosAportes","_l","otrosAportesDetalle","item","nombreAporteDetalle","montoAporteDetalle","DashboardTrimestralResponse","response","BeneficiosDisponiblesResponse","VideoIntroResponse","loading","scopedSlots","_u","fn","proxy","aplicaBeneficios","mostrarBeneficio","getBeneficioDescripcion","getMontoBeneficio","redirectToIngresoTardio","onMouseEnter","onMouseLeave","require","redirectToCesantia","redirectToVejezAnticipada","directives","rawName","descriptionBeneficio","expression","montoBeneficio","goBeneficiosAfiliado","Beneficios","_Vue","_this","_len","args","_key","_callSuper","ValidationService","AfiliadoService","_inherits","_created","_asyncToGenerator","regeneratorRuntime","mark","_callee","prev","created","_validatBeneficios","_callee2","statusesPromise","_yield$statusesPromis","_yield$statusesPromis2","vejezResult","ingresoResult","cesantiaResult","aplicaVejez","aplicaIngresoTardio","aplicaCesantia","_context2","Promise","allSettled","validarVejezAnticipada","validarIngresoTardio","validarCesantia","sent","status","enableBeneficio","Swal","close","validatBeneficios","isLoggedIn","str","$store","state","user","primerNombre","arr","split","str2","$router","location","href","GlobalConfig","PUBLIC_WEB_URL","esAfiliadoFallecido","fire","icon","obj","eventTarget","description","monto","className","parentElement","dataset","codigo","beneficiosDisponibles","some","codigoBeneficio","aplica","beneficio","find","mensaje","beneficioIndex","get","_validarTssIngresoTardio","_callee4","_this2","_context4","abrupt","resolve","reject","validationService","validateIngresoTardio","then","_ref","_callee3","_context3","entity","aplicaTramite","catch","validarTssIngresoTardio","_validarTssCesantia","_callee6","_this3","_context6","validateCesantia","_ref2","_callee5","_context5","validarTssCesantia","TipoBeneficioEnum","_this4","afiliadoService","getPresolicitud","ParametrosObtencionPresolicitud","cedula","solicitudes","tipoBeneficio","solCancelada","docFirmado","solicitudPagada","err","_this5","parametrosValidacionRequisitosBeneficio","Validacion","validarRequisitosBeneficios","requisitos","cumpleRequisito","_validarIngresoTardio","_callee7","tssValidation","solicitudesProceso","cumpleRequisitos","_context7","obtenerPresolicitudEnProceso","validarRequisitosBeneficio","_validarCesantia","_callee8","_context8","_validarVejezAnticipada","_callee9","_context9","log","message","timerProgressBar","onBeforeOpen","showLoading","allowOutsideClick","__decorate","Getter","Prop","Watch","Component","BIcon","BIconStopwatch","BIconArrowRepeat","chartOptions","chartData","Doughnut","chartId","datasetIdKey","cssClasses","plugins","datasets","backgroundColor","responsive","maintainAspectRatio","DashboardResponse","_getTrimestral","responseTrimestral","getDashbordTrimestral","userId","parseFloat","secuencia","LineChartLabels","nombrePeriodo","LineChartValues","DashBoardTrimestral","getTrimestral","_getDashboard","getDashbord","resp","esAfiliado","goSolicitudesBeneicios","show","getDashboard","_getData","openLoader","getVideoIntro","getBeneficiosDisponibles","$forceUpdate","closeLoader","getData","_getBeneficiosDisponibles","_this$LineChartValues","_this$LineChartValues2","_this$LineChartValues3","_this$LineChartValues4","_this$LineChartValues5","canvasElement","canvas2","canvasElement2","ctx2","goIntro","getElementById","Chart","helpers","defaults","datalabels","hoverBackgroundColor","ChartDataLabels","tooltips","enabled","callbacks","tooltipItem","_step","datasetIndex","_iterator","_createForOfIteratorHelper","currentValue","formatted","family","formatter","_step2","datapoints","total","_iterator2","percentage","legend","display","borderColor","pointBackgroundColor","pointBorderColor","borderWidth","pointRadius","scales","yAxes","gridLines","xAxes","respCode","indMostrarVideo","onOpen","DoughnutChart","valueof","_BaseService","_validarRequisitosBeneficios","post","_validateIngresoTardio","_validateCedulaAfiliadoIT","validacionCedula","cedulas","cedulaFrontal","cedulaTrasera","validateCedulaAfiliadoIT","_x3","_x4","_validateCedulaAfiliadoSobrevivencia","validateCedulaAfiliadoSobrevivencia","_x5","_x6","_validateCedulaReverso","validateCedulaReverso","_x7","_x8","_validateCesantia","_x9","_validateVejezAnticipada","validateVejezAnticipada","_x10","_validateActaNacimiento","validacionActaNacimiento","actaNacimiento","acta","validateActaNacimiento","_x11","_x12","BaseService","sortValues","descending","constant","arcs","pa","cubicIn","cubicOut","cubicInOut","overshoot","backIn","backOut","backInOut","DESCRIPTORS","redefine","$fails","shared","setToStringTag","uid","wks","wksDefine","enumKeys","anObject","toPrimitive","_create","gOPNExt","$GOPD","$GOPS","$DP","$keys","gOPD","dP","$JSON","_stringify","PROTOTYPE","HIDDEN","TO_PRIMITIVE","isEnum","propertyIsEnumerable","SymbolRegistry","AllSymbols","OPSymbols","ObjectProto","USE_NATIVE","QObject","setter","findChild","setSymbolDesc","protoDesc","sym","isSymbol","enumerable","$defineProperties","$create","$propertyIsEnumerable","E","$getOwnPropertyDescriptor","$getOwnPropertyNames","$getOwnPropertySymbols","IS_OP","$set","configurable","set","G","es6Symbols","wellKnownSymbols","store","keyFor","useSetter","useSimple","defineProperties","getOwnPropertyDescriptor","getOwnPropertySymbols","FAILS_ON_PRIMITIVES","replacer","$replacer","valueOf","Basis","reA","reB","one","am","bm","bs","bi","lastIndex","ownerDocument","defaultView","slope3","h0","h1","s0","s1","slope2","MonotoneX","MonotoneY","ReflectContext","monotoneX","monotoneY","_t0","Natural","controlPoints","px","py","_interopDefaultLegacy","Chart__default","helpers$4","devicePixelRatio","screen","deviceXDPI","logicalXDPI","utils","toTextLines","inputs","input","lines","unshift","isNullOrUndef","toFontString","textSize","items","ilen","lineHeight","parseFont","valueOrDefault","defaultFontSize","defaultFontFamily","toLineHeight","defaultFontStyle","bound","arrayDiff","updates","rasterize","origin","ln","aligned","vx","vy","R_INSIDE","R_LEFT","R_RIGHT","R_BOTTOM","R_TOP","region","rect","res","clipped","segment","area","compute$1","positioners","vm","rx","ry","sy","horizontal","base","fallback","helpers$3","boundingRects","model","th","tw","tx","ty","frame","getScaleOrigin","el","_model","_scale","_xScale","_yScale","xCenter","yCenter","pixel","getBasePixel","getPositioner","elements","Arc","Point","Rectangle","drawFrame","bgColor","beginPath","roundedRect","borderRadius","lineJoin","stroke","textGeometry","drawTextLine","shadow","shadowBlur","stroked","filled","drawText","textAlign","strokeColor","textStrokeColor","strokeWidth","textStrokeWidth","textBaseline","textShadowBlur","shadowColor","textShadowColor","Label","me","_config","_index","_rects","_ctx","_el","_modelize","defaultFontColor","chartArea","clip","toPadding","positioner","rotation","update","rects","geometry","visible","draw","globalAlpha","helpers$2","MIN_INTEGER","MIN_SAFE_INTEGER","MAX_INTEGER","MAX_SAFE_INTEGER","rotated","projected","pt","dp","toAxis","HitBox","_rotation","_rect","coordinates","view","vs","collide","collider","$layout","_visible","_box","intersects","compute","_hidable","contains","other","pr0","pr1","_points","axes","layout","prepare","jlen","_set","_idx","sa","sb","dirty","lookup","_view","helpers$1","klen","listeners","EXPANDO_KEY","DEFAULT_KEY","configure","override","configs","reduce","dispatchEvent","$context","groups","$groups","_dirty","dispatchMoveEvents","leave","handleMoveEvents","expando","_listeners","_labels","_hovered","handleClickEvents","handlers","click","invalidate","animating","animations","animationService","lazy","beforeInit","_actives","beforeUpdate","_listened","_datasets","afterDatasetUpdate","isDatasetVisible","hidden","skip","active","dataIndex","merger","afterUpdate","afterDatasetsDraw","beforeEvent","afterEvent","actives","lastActive","numeroSolicitud","cedulaBeneficiario","cedulaFallecido","idTransFirma","band","ordinal","unknown","ordinalRange","paddingOuter","taskHead","taskTail","timeout","pokeDelay","clockLast","clockNow","clockSkew","clock","performance","setFrame","requestAnimationFrame","bind","setTimeout","clearNow","Timer","_call","_time","_next","restart","timerFlush","wake","nap","poke","t2","sleep","clearTimeout","elapsed","emptyOn","emptyTween","CREATED","SCHEDULED","STARTING","STARTED","RUNNING","ENDING","ENDED","schedules","__transition","timing","schedule","self","__data__","cssNode","cssRoot","cssView","svgNode","interrupt","degrees","skewX","scaleX","scaleY","atan","parseCss","decompose","parseSvg","createElementNS","baseVal","consolidate","matrix","interpolateTransform","pxComma","pxParen","degParen","xa","ya","xb","yb","interpolateTransformCss","interpolateTransformSvg","tweenRemove","tween0","tween1","tweenFunction","_id","tweenValue","attrRemove","removeAttribute","attrRemoveNS","fullname","removeAttributeNS","attrConstant","value1","string00","interpolate0","string1","string0","attrConstantNS","getAttributeNS","attrFunction","string10","attrFunctionNS","namespace","attrInterpolate","attrInterpolateNS","setAttributeNS","attrTweenNS","_value","delayFunction","delayConstant","durationFunction","durationConstant","easeConstant","matcher","_groups","subgroups","subgroup","Transition","_parents","_name","groups0","groups1","m0","merges","group0","group1","onFunction","listener","on0","on1","sit","removeFunction","subnode","selectorAll","parents","inherit","Selection","styleNull","styleMaybeRemove","listener0","styleTween","styleInterpolate","textConstant","textContent","textFunction","textInterpolate","textTween","id0","id1","newId","cancel","selection_prototype","transition_select","transition_merge","transition_selection","transition_transition","transition_on","transition_attrTween","transition_style","transition_styleTween","transition_text","transition_textTween","transition_remove","transition_tween","transition_delay","transition_end","defaultTiming","selection_interrupt","selection_transition","circleIn","circleOut","circleInOut","amplitude","period","elasticIn","elasticOut","elasticInOut","noop","Dispatch","parseTypenames","typenames","types","typename","T","initRange","getKeys","gOPS","pIE","getSymbols","symbols","_arrayLikeToArray","implicit","Map","xhtml","xlink","xml","xmlns","basis","v0","v1","v2","v3","t3","exponential","gamma","nogamma","rgbGamma","rgbSpline","spline","basisClosed","_enter","sparse","EnterNode","namespaceURI","_parent","keyPrefix","bindIndex","groupLength","dataLength","bindKey","keyValue","nodeByKeyValue","keyValues","enterGroup","updateGroup","exitGroup","_exit","onenter","onupdate","onexit","compareDocumentPosition","compareNode","ascending","sortgroups","sortgroup","propertyRemove","propertyConstant","propertyFunction","classArray","classList","ClassList","_node","_names","classedAdd","list","classedRemove","classedTrue","classedFalse","classedFunction","textRemove","htmlRemove","innerHTML","htmlConstant","htmlFunction","raise","nextSibling","lower","previousSibling","firstChild","creatorInherit","uri","creatorFixed","creator","constantNull","before","selection_cloneShallow","clone","cloneNode","selection_cloneDeep","property","filterEvents","mouseenter","mouseleave","filterContextListener","contextListener","related","relatedTarget","event1","event0","onRemove","__on","capture","onAdd","params","CustomEvent","createEvent","initEvent","bubbles","cancelable","detail","dispatchConstant","dispatchFunction","selection_select","selection_data","selection_enter","selection_exit","selection_merge","selection_node","selection_text","selection_raise","selection_lower","selection_remove","polyIn","polyOut","polyInOut","_unsupportedIterableToArray","ascendingBisect","bisectRight","bisect","constants","unit","normalize","clamper","bimap","polymap","transformer","untransform","piecewise","output","tpmt","isNumberArray","ArrayBuffer","isView","DataView","genericArray","nb","na","numberArray","tauEpsilon","Path","quadraticCurveTo","arcTo","x21","y21","l01_2","x20","y20","l21_2","l20_2","l21","l01","t01","t21","ccw","sinIn","sinOut","sinInOut","e10","e5","e2","tickIncrement","power","LN10","tickStep","step0","step1","positionNode","defined","defined0"],"mappings":"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","file":"js/chunk-ff788500.7eaf5410.js","sourcesContent":["import {Selection, root} from \"./selection/index\";\n\nexport default function(selector) {\n return typeof selector === \"string\"\n ? new Selection([[document.querySelector(selector)]], [document.documentElement])\n : new Selection([[selector]], root);\n}\n","export default function(a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n","export var abs = Math.abs;\nexport var atan2 = Math.atan2;\nexport var cos = Math.cos;\nexport var max = Math.max;\nexport var min = Math.min;\nexport var sin = Math.sin;\nexport var sqrt = Math.sqrt;\n\nexport var epsilon = 1e-12;\nexport var pi = Math.PI;\nexport var halfPi = pi / 2;\nexport var tau = 2 * pi;\n\nexport function acos(x) {\n return x > 1 ? 0 : x < -1 ? pi : Math.acos(x);\n}\n\nexport function asin(x) {\n return x >= 1 ? halfPi : x <= -1 ? -halfPi : Math.asin(x);\n}\n","export default function(selector) {\n return function() {\n return this.matches(selector);\n };\n}\n","import colors from \"../colors.js\";\n\nexport default colors(\"8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f\");\n","import {Selection, root} from \"./selection/index\";\n\nexport default function(selector) {\n return typeof selector === \"string\"\n ? new Selection([document.querySelectorAll(selector)], [document.documentElement])\n : new Selection([selector == null ? [] : selector], root);\n}\n","export default function(constructor, factory, prototype) {\n constructor.prototype = factory.prototype = prototype;\n prototype.constructor = constructor;\n}\n\nexport function extend(parent, definition) {\n var prototype = Object.create(parent.prototype);\n for (var key in definition) prototype[key] = definition[key];\n return prototype;\n}\n","import define, {extend} from \"./define.js\";\n\nexport function Color() {}\n\nexport var darker = 0.7;\nexport var brighter = 1 / darker;\n\nvar reI = \"\\\\s*([+-]?\\\\d+)\\\\s*\",\n reN = \"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",\n reP = \"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",\n reHex = /^#([0-9a-f]{3,8})$/,\n reRgbInteger = new RegExp(\"^rgb\\\\(\" + [reI, reI, reI] + \"\\\\)$\"),\n reRgbPercent = new RegExp(\"^rgb\\\\(\" + [reP, reP, reP] + \"\\\\)$\"),\n reRgbaInteger = new RegExp(\"^rgba\\\\(\" + [reI, reI, reI, reN] + \"\\\\)$\"),\n reRgbaPercent = new RegExp(\"^rgba\\\\(\" + [reP, reP, reP, reN] + \"\\\\)$\"),\n reHslPercent = new RegExp(\"^hsl\\\\(\" + [reN, reP, reP] + \"\\\\)$\"),\n reHslaPercent = new RegExp(\"^hsla\\\\(\" + [reN, reP, reP, reN] + \"\\\\)$\");\n\nvar named = {\n aliceblue: 0xf0f8ff,\n antiquewhite: 0xfaebd7,\n aqua: 0x00ffff,\n aquamarine: 0x7fffd4,\n azure: 0xf0ffff,\n beige: 0xf5f5dc,\n bisque: 0xffe4c4,\n black: 0x000000,\n blanchedalmond: 0xffebcd,\n blue: 0x0000ff,\n blueviolet: 0x8a2be2,\n brown: 0xa52a2a,\n burlywood: 0xdeb887,\n cadetblue: 0x5f9ea0,\n chartreuse: 0x7fff00,\n chocolate: 0xd2691e,\n coral: 0xff7f50,\n cornflowerblue: 0x6495ed,\n cornsilk: 0xfff8dc,\n crimson: 0xdc143c,\n cyan: 0x00ffff,\n darkblue: 0x00008b,\n darkcyan: 0x008b8b,\n darkgoldenrod: 0xb8860b,\n darkgray: 0xa9a9a9,\n darkgreen: 0x006400,\n darkgrey: 0xa9a9a9,\n darkkhaki: 0xbdb76b,\n darkmagenta: 0x8b008b,\n darkolivegreen: 0x556b2f,\n darkorange: 0xff8c00,\n darkorchid: 0x9932cc,\n darkred: 0x8b0000,\n darksalmon: 0xe9967a,\n darkseagreen: 0x8fbc8f,\n darkslateblue: 0x483d8b,\n darkslategray: 0x2f4f4f,\n darkslategrey: 0x2f4f4f,\n darkturquoise: 0x00ced1,\n darkviolet: 0x9400d3,\n deeppink: 0xff1493,\n deepskyblue: 0x00bfff,\n dimgray: 0x696969,\n dimgrey: 0x696969,\n dodgerblue: 0x1e90ff,\n firebrick: 0xb22222,\n floralwhite: 0xfffaf0,\n forestgreen: 0x228b22,\n fuchsia: 0xff00ff,\n gainsboro: 0xdcdcdc,\n ghostwhite: 0xf8f8ff,\n gold: 0xffd700,\n goldenrod: 0xdaa520,\n gray: 0x808080,\n green: 0x008000,\n greenyellow: 0xadff2f,\n grey: 0x808080,\n honeydew: 0xf0fff0,\n hotpink: 0xff69b4,\n indianred: 0xcd5c5c,\n indigo: 0x4b0082,\n ivory: 0xfffff0,\n khaki: 0xf0e68c,\n lavender: 0xe6e6fa,\n lavenderblush: 0xfff0f5,\n lawngreen: 0x7cfc00,\n lemonchiffon: 0xfffacd,\n lightblue: 0xadd8e6,\n lightcoral: 0xf08080,\n lightcyan: 0xe0ffff,\n lightgoldenrodyellow: 0xfafad2,\n lightgray: 0xd3d3d3,\n lightgreen: 0x90ee90,\n lightgrey: 0xd3d3d3,\n lightpink: 0xffb6c1,\n lightsalmon: 0xffa07a,\n lightseagreen: 0x20b2aa,\n lightskyblue: 0x87cefa,\n lightslategray: 0x778899,\n lightslategrey: 0x778899,\n lightsteelblue: 0xb0c4de,\n lightyellow: 0xffffe0,\n lime: 0x00ff00,\n limegreen: 0x32cd32,\n linen: 0xfaf0e6,\n magenta: 0xff00ff,\n maroon: 0x800000,\n mediumaquamarine: 0x66cdaa,\n mediumblue: 0x0000cd,\n mediumorchid: 0xba55d3,\n mediumpurple: 0x9370db,\n mediumseagreen: 0x3cb371,\n mediumslateblue: 0x7b68ee,\n mediumspringgreen: 0x00fa9a,\n mediumturquoise: 0x48d1cc,\n mediumvioletred: 0xc71585,\n midnightblue: 0x191970,\n mintcream: 0xf5fffa,\n mistyrose: 0xffe4e1,\n moccasin: 0xffe4b5,\n navajowhite: 0xffdead,\n navy: 0x000080,\n oldlace: 0xfdf5e6,\n olive: 0x808000,\n olivedrab: 0x6b8e23,\n orange: 0xffa500,\n orangered: 0xff4500,\n orchid: 0xda70d6,\n palegoldenrod: 0xeee8aa,\n palegreen: 0x98fb98,\n paleturquoise: 0xafeeee,\n palevioletred: 0xdb7093,\n papayawhip: 0xffefd5,\n peachpuff: 0xffdab9,\n peru: 0xcd853f,\n pink: 0xffc0cb,\n plum: 0xdda0dd,\n powderblue: 0xb0e0e6,\n purple: 0x800080,\n rebeccapurple: 0x663399,\n red: 0xff0000,\n rosybrown: 0xbc8f8f,\n royalblue: 0x4169e1,\n saddlebrown: 0x8b4513,\n salmon: 0xfa8072,\n sandybrown: 0xf4a460,\n seagreen: 0x2e8b57,\n seashell: 0xfff5ee,\n sienna: 0xa0522d,\n silver: 0xc0c0c0,\n skyblue: 0x87ceeb,\n slateblue: 0x6a5acd,\n slategray: 0x708090,\n slategrey: 0x708090,\n snow: 0xfffafa,\n springgreen: 0x00ff7f,\n steelblue: 0x4682b4,\n tan: 0xd2b48c,\n teal: 0x008080,\n thistle: 0xd8bfd8,\n tomato: 0xff6347,\n turquoise: 0x40e0d0,\n violet: 0xee82ee,\n wheat: 0xf5deb3,\n white: 0xffffff,\n whitesmoke: 0xf5f5f5,\n yellow: 0xffff00,\n yellowgreen: 0x9acd32\n};\n\ndefine(Color, color, {\n copy: function(channels) {\n return Object.assign(new this.constructor, this, channels);\n },\n displayable: function() {\n return this.rgb().displayable();\n },\n hex: color_formatHex, // Deprecated! Use color.formatHex.\n formatHex: color_formatHex,\n formatHsl: color_formatHsl,\n formatRgb: color_formatRgb,\n toString: color_formatRgb\n});\n\nfunction color_formatHex() {\n return this.rgb().formatHex();\n}\n\nfunction color_formatHsl() {\n return hslConvert(this).formatHsl();\n}\n\nfunction color_formatRgb() {\n return this.rgb().formatRgb();\n}\n\nexport default function color(format) {\n var m, l;\n format = (format + \"\").trim().toLowerCase();\n return (m = reHex.exec(format)) ? (l = m[1].length, m = parseInt(m[1], 16), l === 6 ? rgbn(m) // #ff0000\n : l === 3 ? new Rgb((m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), ((m & 0xf) << 4) | (m & 0xf), 1) // #f00\n : l === 8 ? rgba(m >> 24 & 0xff, m >> 16 & 0xff, m >> 8 & 0xff, (m & 0xff) / 0xff) // #ff000000\n : l === 4 ? rgba((m >> 12 & 0xf) | (m >> 8 & 0xf0), (m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), (((m & 0xf) << 4) | (m & 0xf)) / 0xff) // #f000\n : null) // invalid hex\n : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) // rgb(255, 0, 0)\n : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) // rgb(100%, 0%, 0%)\n : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) // rgba(255, 0, 0, 1)\n : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) // rgb(100%, 0%, 0%, 1)\n : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) // hsl(120, 50%, 50%)\n : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) // hsla(120, 50%, 50%, 1)\n : named.hasOwnProperty(format) ? rgbn(named[format]) // eslint-disable-line no-prototype-builtins\n : format === \"transparent\" ? new Rgb(NaN, NaN, NaN, 0)\n : null;\n}\n\nfunction rgbn(n) {\n return new Rgb(n >> 16 & 0xff, n >> 8 & 0xff, n & 0xff, 1);\n}\n\nfunction rgba(r, g, b, a) {\n if (a <= 0) r = g = b = NaN;\n return new Rgb(r, g, b, a);\n}\n\nexport function rgbConvert(o) {\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Rgb;\n o = o.rgb();\n return new Rgb(o.r, o.g, o.b, o.opacity);\n}\n\nexport function rgb(r, g, b, opacity) {\n return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity);\n}\n\nexport function Rgb(r, g, b, opacity) {\n this.r = +r;\n this.g = +g;\n this.b = +b;\n this.opacity = +opacity;\n}\n\ndefine(Rgb, rgb, extend(Color, {\n brighter: function(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n darker: function(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n rgb: function() {\n return this;\n },\n displayable: function() {\n return (-0.5 <= this.r && this.r < 255.5)\n && (-0.5 <= this.g && this.g < 255.5)\n && (-0.5 <= this.b && this.b < 255.5)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n hex: rgb_formatHex, // Deprecated! Use color.formatHex.\n formatHex: rgb_formatHex,\n formatRgb: rgb_formatRgb,\n toString: rgb_formatRgb\n}));\n\nfunction rgb_formatHex() {\n return \"#\" + hex(this.r) + hex(this.g) + hex(this.b);\n}\n\nfunction rgb_formatRgb() {\n var a = this.opacity; a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a));\n return (a === 1 ? \"rgb(\" : \"rgba(\")\n + Math.max(0, Math.min(255, Math.round(this.r) || 0)) + \", \"\n + Math.max(0, Math.min(255, Math.round(this.g) || 0)) + \", \"\n + Math.max(0, Math.min(255, Math.round(this.b) || 0))\n + (a === 1 ? \")\" : \", \" + a + \")\");\n}\n\nfunction hex(value) {\n value = Math.max(0, Math.min(255, Math.round(value) || 0));\n return (value < 16 ? \"0\" : \"\") + value.toString(16);\n}\n\nfunction hsla(h, s, l, a) {\n if (a <= 0) h = s = l = NaN;\n else if (l <= 0 || l >= 1) h = s = NaN;\n else if (s <= 0) h = NaN;\n return new Hsl(h, s, l, a);\n}\n\nexport function hslConvert(o) {\n if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Hsl;\n if (o instanceof Hsl) return o;\n o = o.rgb();\n var r = o.r / 255,\n g = o.g / 255,\n b = o.b / 255,\n min = Math.min(r, g, b),\n max = Math.max(r, g, b),\n h = NaN,\n s = max - min,\n l = (max + min) / 2;\n if (s) {\n if (r === max) h = (g - b) / s + (g < b) * 6;\n else if (g === max) h = (b - r) / s + 2;\n else h = (r - g) / s + 4;\n s /= l < 0.5 ? max + min : 2 - max - min;\n h *= 60;\n } else {\n s = l > 0 && l < 1 ? 0 : h;\n }\n return new Hsl(h, s, l, o.opacity);\n}\n\nexport function hsl(h, s, l, opacity) {\n return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity);\n}\n\nfunction Hsl(h, s, l, opacity) {\n this.h = +h;\n this.s = +s;\n this.l = +l;\n this.opacity = +opacity;\n}\n\ndefine(Hsl, hsl, extend(Color, {\n brighter: function(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n darker: function(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n rgb: function() {\n var h = this.h % 360 + (this.h < 0) * 360,\n s = isNaN(h) || isNaN(this.s) ? 0 : this.s,\n l = this.l,\n m2 = l + (l < 0.5 ? l : 1 - l) * s,\n m1 = 2 * l - m2;\n return new Rgb(\n hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2),\n hsl2rgb(h, m1, m2),\n hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2),\n this.opacity\n );\n },\n displayable: function() {\n return (0 <= this.s && this.s <= 1 || isNaN(this.s))\n && (0 <= this.l && this.l <= 1)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n formatHsl: function() {\n var a = this.opacity; a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a));\n return (a === 1 ? \"hsl(\" : \"hsla(\")\n + (this.h || 0) + \", \"\n + (this.s || 0) * 100 + \"%, \"\n + (this.l || 0) * 100 + \"%\"\n + (a === 1 ? \")\" : \", \" + a + \")\");\n }\n}));\n\n/* From FvD 13.37, CSS Color Module Level 3 */\nfunction hsl2rgb(h, m1, m2) {\n return (h < 60 ? m1 + (m2 - m1) * h / 60\n : h < 180 ? m2\n : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60\n : m1) * 255;\n}\n","// 22.1.2.2 / 15.4.3.2 Array.isArray(arg)\nvar $export = require('./_export');\n\n$export($export.S, 'Array', { isArray: require('./_is-array') });\n","'use strict';\nvar ctx = require('./_ctx');\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar toLength = require('./_to-length');\nvar createProperty = require('./_create-property');\nvar getIterFn = require('./core.get-iterator-method');\n\n$export($export.S + $export.F * !require('./_iter-detect')(function (iter) { Array.from(iter); }), 'Array', {\n // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var index = 0;\n var iterFn = getIterFn(O);\n var length, result, step, iterator;\n if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n // if object isn't iterable or it's array with default iterator - use simple case\n if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n for (result = new C(length); length > index; index++) {\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n }\n});\n","enum TipoRequisitoEnum {\n Validacion = 'V',\n Documento = 'D'\n}\n\nexport default TipoRequisitoEnum;","'use strict';\n// 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined)\nvar $export = require('./_export');\nvar $find = require('./_array-methods')(6);\nvar KEY = 'findIndex';\nvar forced = true;\n// Shouldn't skip holes\nif (KEY in []) Array(1)[KEY](function () { forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n findIndex: function findIndex(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\nrequire('./_add-to-unscopables')(KEY);\n","'use strict';\nvar $defineProperty = require('./_object-dp');\nvar createDesc = require('./_property-desc');\n\nmodule.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n","import colors from \"../colors.js\";\n\nexport default colors(\"1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666\");\n","import {epsilon} from \"../math.js\";\nimport {Cardinal} from \"./cardinal.js\";\n\nexport function point(that, x, y) {\n var x1 = that._x1,\n y1 = that._y1,\n x2 = that._x2,\n y2 = that._y2;\n\n if (that._l01_a > epsilon) {\n var a = 2 * that._l01_2a + 3 * that._l01_a * that._l12_a + that._l12_2a,\n n = 3 * that._l01_a * (that._l01_a + that._l12_a);\n x1 = (x1 * a - that._x0 * that._l12_2a + that._x2 * that._l01_2a) / n;\n y1 = (y1 * a - that._y0 * that._l12_2a + that._y2 * that._l01_2a) / n;\n }\n\n if (that._l23_a > epsilon) {\n var b = 2 * that._l23_2a + 3 * that._l23_a * that._l12_a + that._l12_2a,\n m = 3 * that._l23_a * (that._l23_a + that._l12_a);\n x2 = (x2 * b + that._x1 * that._l23_2a - x * that._l12_2a) / m;\n y2 = (y2 * b + that._y1 * that._l23_2a - y * that._l12_2a) / m;\n }\n\n that._context.bezierCurveTo(x1, y1, x2, y2, that._x2, that._y2);\n}\n\nfunction CatmullRom(context, alpha) {\n this._context = context;\n this._alpha = alpha;\n}\n\nCatmullRom.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._x2 =\n this._y0 = this._y1 = this._y2 = NaN;\n this._l01_a = this._l12_a = this._l23_a =\n this._l01_2a = this._l12_2a = this._l23_2a =\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 2: this._context.lineTo(this._x2, this._y2); break;\n case 3: this.point(this._x2, this._y2); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n\n if (this._point) {\n var x23 = this._x2 - x,\n y23 = this._y2 - y;\n this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha));\n }\n\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; // proceed\n default: point(this, x, y); break;\n }\n\n this._l01_a = this._l12_a, this._l12_a = this._l23_a;\n this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a;\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(alpha) {\n\n function catmullRom(context) {\n return alpha ? new CatmullRom(context, alpha) : new Cardinal(context, 0);\n }\n\n catmullRom.alpha = function(alpha) {\n return custom(+alpha);\n };\n\n return catmullRom;\n})(0.5);\n","import ascending from \"./ascending.js\";\n\nexport default function(f) {\n let delta = f;\n let compare = f;\n\n if (f.length === 1) {\n delta = (d, x) => f(d) - x;\n compare = ascendingComparator(f);\n }\n\n function left(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n while (lo < hi) {\n const mid = (lo + hi) >>> 1;\n if (compare(a[mid], x) < 0) lo = mid + 1;\n else hi = mid;\n }\n return lo;\n }\n\n function right(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n while (lo < hi) {\n const mid = (lo + hi) >>> 1;\n if (compare(a[mid], x) > 0) hi = mid;\n else lo = mid + 1;\n }\n return lo;\n }\n\n function center(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n const i = left(a, x, lo, hi - 1);\n return i > lo && delta(a[i - 1], x) > -delta(a[i], x) ? i - 1 : i;\n }\n\n return {left, center, right};\n}\n\nfunction ascendingComparator(f) {\n return (d, x) => ascending(f(d), x);\n}\n","import TipoBeneficioEnum from '@/enums/TipoBeneficioEnum';\nimport TipoRequisitoEnum from '@/enums/TipoRequisitoEnum';\n\nexport default class RequisitoBeneficio {\n constructor(\n public secuencia?: string,\n public aplicaTramite?: boolean,\n public requisitos?: Requisito[],\n public afiliadoInabima?: boolean\n ) {}\n}\n\nclass Requisito {\n constructor(\n public codRequisito?: number,\n public descripcion?: string,\n public esObligatorio?: boolean,\n public cumpleRequisito?: boolean,\n ) {}\n}\n\nclass ParametrosValidacionRequisitosBeneficio {\n constructor(\n public cedulaAfiliado?: string,\n public codCuenta?: string,\n public tipoRequisito?: TipoRequisitoEnum,\n public codBeneficio?: TipoBeneficioEnum\n ) {}\n}\nexport { Requisito, ParametrosValidacionRequisitosBeneficio }","import {tpmt} from \"./math.js\";\n\nexport function expIn(t) {\n return tpmt(1 - +t);\n}\n\nexport function expOut(t) {\n return 1 - tpmt(t);\n}\n\nexport function expInOut(t) {\n return ((t *= 2) <= 1 ? tpmt(1 - t) : 2 - tpmt(t - 1)) / 2;\n}\n","import { select, selectAll } from 'd3-selection';\nimport { scaleBand, scaleLinear, scaleOrdinal, scaleTime, scaleSqrt } from 'd3-scale';\nimport { max, extent, min } from 'd3-array';\nimport { transition } from 'd3-transition';\nimport { axisBottom, axisLeft } from 'd3-axis';\nimport { easeLinear, easePolyIn, easePolyOut, easePoly, easePolyInOut, easeQuadIn, easeQuadOut, easeQuad, easeQuadInOut, easeCubicIn, easeCubicOut, easeCubic, easeCubicInOut, easeSinIn, easeSinOut, easeSin, easeSinInOut, easeExpIn, easeExpOut, easeExp, easeExpInOut, easeCircleIn, easeCircleOut, easeCircle, easeCircleInOut, easeElasticIn, easeElastic, easeElasticOut, easeElasticInOut, easeBackIn, easeBackOut, easeBack, easeBackInOut, easeBounceIn, easeBounce, easeBounceOut, easeBounceInOut } from 'd3-ease';\nimport { schemeCategory10, schemeAccent, schemeDark2, schemePaired, schemePastel1, schemePastel2, schemeSet1, schemeSet2, schemeSet3, schemeTableau10 } from 'd3-scale-chromatic';\nimport { timeParse, timeFormat } from 'd3-time-format';\nimport { line, curveBasis, curveBundle, curveCardinal, curveCatmullRom, curveLinear, curveMonotoneX, curveMonotoneY, curveNatural, curveStep, curveStepAfter, curveStepBefore, pie, arc } from 'd3-shape';\nimport { interpolate } from 'd3-interpolate';\nimport { hierarchy, partition } from 'd3-hierarchy';\nimport * as cloud from 'd3-cloud';\n\n//\n//\n//\n//\n//\n//\n//\n//\nvar script = {\n name: 'D3Chart',\n\n data() {\n return {\n chart: {}\n };\n },\n\n props: {\n config: {\n type: Object,\n required: true,\n default: () => ({})\n },\n datum: {\n type: Array,\n required: true,\n default: () => []\n },\n title: {\n type: String,\n default: ''\n },\n source: {\n type: String,\n default: ''\n },\n height: {\n type: [Number, String],\n default: 300\n }\n },\n watch: {\n config: {\n handler(val) {\n this.chart.updateConfig(val);\n },\n\n deep: true\n },\n\n datum(vals) {\n this.chart.updateData([...vals]);\n }\n\n },\n\n beforeDestroy() {\n this.chart.destroyChart();\n }\n\n};\n\nfunction normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\r\n if (typeof shadowMode !== 'boolean') {\r\n createInjectorSSR = createInjector;\r\n createInjector = shadowMode;\r\n shadowMode = false;\r\n }\r\n // Vue.extend constructor export interop.\r\n const options = typeof script === 'function' ? script.options : script;\r\n // render functions\r\n if (template && template.render) {\r\n options.render = template.render;\r\n options.staticRenderFns = template.staticRenderFns;\r\n options._compiled = true;\r\n // functional template\r\n if (isFunctionalTemplate) {\r\n options.functional = true;\r\n }\r\n }\r\n // scopedId\r\n if (scopeId) {\r\n options._scopeId = scopeId;\r\n }\r\n let hook;\r\n if (moduleIdentifier) {\r\n // server build\r\n hook = function (context) {\r\n // 2.3 injection\r\n context =\r\n context || // cached call\r\n (this.$vnode && this.$vnode.ssrContext) || // stateful\r\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext); // functional\r\n // 2.2 with runInNewContext: true\r\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\r\n context = __VUE_SSR_CONTEXT__;\r\n }\r\n // inject component styles\r\n if (style) {\r\n style.call(this, createInjectorSSR(context));\r\n }\r\n // register component module identifier for async chunk inference\r\n if (context && context._registeredComponents) {\r\n context._registeredComponents.add(moduleIdentifier);\r\n }\r\n };\r\n // used by ssr in case component is cached and beforeCreate\r\n // never gets called\r\n options._ssrRegister = hook;\r\n }\r\n else if (style) {\r\n hook = shadowMode\r\n ? function (context) {\r\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\r\n }\r\n : function (context) {\r\n style.call(this, createInjector(context));\r\n };\r\n }\r\n if (hook) {\r\n if (options.functional) {\r\n // register for functional component in vue file\r\n const originalRender = options.render;\r\n options.render = function renderWithStyleInjection(h, context) {\r\n hook.call(context);\r\n return originalRender(h, context);\r\n };\r\n }\r\n else {\r\n // inject component registration as beforeCreate hook\r\n const existing = options.beforeCreate;\r\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\r\n }\r\n }\r\n return script;\r\n}\n\nconst isOldIE = typeof navigator !== 'undefined' &&\r\n /msie [6-9]\\\\b/.test(navigator.userAgent.toLowerCase());\r\nfunction createInjector(context) {\r\n return (id, style) => addStyle(id, style);\r\n}\r\nlet HEAD;\r\nconst styles = {};\r\nfunction addStyle(id, css) {\r\n const group = isOldIE ? css.media || 'default' : id;\r\n const style = styles[group] || (styles[group] = { ids: new Set(), styles: [] });\r\n if (!style.ids.has(id)) {\r\n style.ids.add(id);\r\n let code = css.source;\r\n if (css.map) {\r\n // https://developer.chrome.com/devtools/docs/javascript-debugging\r\n // this makes source maps inside style tags work properly in Chrome\r\n code += '\\n/*# sourceURL=' + css.map.sources[0] + ' */';\r\n // http://stackoverflow.com/a/26603875\r\n code +=\r\n '\\n/*# sourceMappingURL=data:application/json;base64,' +\r\n btoa(unescape(encodeURIComponent(JSON.stringify(css.map)))) +\r\n ' */';\r\n }\r\n if (!style.element) {\r\n style.element = document.createElement('style');\r\n style.element.type = 'text/css';\r\n if (css.media)\r\n style.element.setAttribute('media', css.media);\r\n if (HEAD === undefined) {\r\n HEAD = document.head || document.getElementsByTagName('head')[0];\r\n }\r\n HEAD.appendChild(style.element);\r\n }\r\n if ('styleSheet' in style.element) {\r\n style.styles.push(code);\r\n style.element.styleSheet.cssText = style.styles\r\n .filter(Boolean)\r\n .join('\\n');\r\n }\r\n else {\r\n const index = style.ids.size - 1;\r\n const textNode = document.createTextNode(code);\r\n const nodes = style.element.childNodes;\r\n if (nodes[index])\r\n style.element.removeChild(nodes[index]);\r\n if (nodes.length)\r\n style.element.insertBefore(textNode, nodes[index]);\r\n else\r\n style.element.appendChild(textNode);\r\n }\r\n }\r\n}\n\n/* script */\nconst __vue_script__ = script;\n/* template */\n\nvar __vue_render__ = function () {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('div', {\n staticClass: \"chart__wrapper\"\n }, [_vm.title ? _c('div', {\n staticClass: \"chart__title\"\n }, [_vm._v(_vm._s(_vm.title))]) : _vm._e(), _vm._v(\" \"), _c('div', {\n ref: \"chart\",\n style: {\n height: this.height + \"px\"\n }\n }), _vm._v(\" \"), _vm.source ? _c('div', {\n staticClass: \"chart__source\"\n }, [_vm._v(_vm._s(_vm.source))]) : _vm._e()]);\n};\n\nvar __vue_staticRenderFns__ = [];\n/* style */\n\nconst __vue_inject_styles__ = function (inject) {\n if (!inject) return;\n inject(\"data-v-52bb9522_0\", {\n source: \".chart__wrapper{margin:20px 0}.chart__wrap{margin:0}.chart__title{text-align:center;font-weight:700}.chart__source{font-size:12px}.chart__tooltip{position:absolute;pointer-events:none;display:none}.chart__tooltip.active{display:block}.chart__tooltip>div{background:#2b2b2b;color:#fff;padding:6px 10px;border-radius:3px}.chart__axis{font-size:12px;shape-rendering:crispEdges}.chart__grid .domain{stroke:none;fill:none}.chart__grid .tick line{opacity:.2}.chart__label{font-size:12px}.chart .clickable{cursor:pointer}\",\n map: undefined,\n media: undefined\n });\n};\n/* scoped */\n\n\nconst __vue_scope_id__ = undefined;\n/* module identifier */\n\nconst __vue_module_identifier__ = undefined;\n/* functional template */\n\nconst __vue_is_functional_template__ = false;\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nconst __vue_component__ = normalizeComponent({\n render: __vue_render__,\n staticRenderFns: __vue_staticRenderFns__\n}, __vue_inject_styles__, __vue_script__, __vue_scope_id__, __vue_is_functional_template__, __vue_module_identifier__, false, createInjector, undefined, undefined);\n\nconst d3 = {\n select\n};\n/**\n* D3 Chart Base\n*/\n\nclass d3chart {\n constructor(selection, data, config, cfg) {\n this.selection = d3.select(selection);\n this.data = data;\n this.cfg = cfg;\n\n this._setConfig(config); // Resize listener\n\n\n this.onResize = () => {\n this.resizeChart();\n };\n\n window.addEventListener(\"resize\", this.onResize);\n this.initChart();\n }\n\n _setConfig(config) {\n // Set up configuration\n Object.keys(config).forEach(key => {\n if (config[key] instanceof Object && config[key] instanceof Array === false) {\n Object.keys(config[key]).forEach(sk => {\n this.cfg[key][sk] = config[key][sk];\n });\n } else this.cfg[key] = config[key];\n });\n }\n /**\n * Init chart\n */\n\n\n initChart() {\n console.error('d3chart.initChart not implemented');\n }\n /**\n * Resize chart pipe\n */\n\n\n setScales() {\n console.error('d3chart.setScales not implemented');\n }\n /**\n * Set chart dimensional sizes\n */\n\n\n setChartDimension() {\n console.error('d3chart.setChartDimension not implemented');\n }\n /**\n * Bind data to main elements groups\n */\n\n\n bindData() {\n console.error('d3.chart.bindData not implemented');\n }\n /**\n * Add new chart's elements\n */\n\n\n enterElements() {\n console.error('d3.chart.enterElements not implemented');\n }\n /**\n * Update chart's elements based on data change\n */\n\n\n updateElements() {\n console.error('d3.chart.updateElements not implemented');\n }\n /**\n * Remove chart's elements without data\n */\n\n\n exitElements() {\n console.error('d3.chart.exitElements not implemented');\n }\n /**\n * Set up chart dimensions\n */\n\n\n getDimensions() {\n this.cfg.width = parseInt(this.selection.node().offsetWidth) - this.cfg.margin.left - this.cfg.margin.right;\n this.cfg.height = parseInt(this.selection.node().offsetHeight) - this.cfg.margin.top - this.cfg.margin.bottom;\n }\n /**\n * Returns chart's data\n */\n\n\n getData() {\n return this.data;\n }\n /**\n * Add new data elements\n */\n\n\n enterData(data) {\n this.data = this.data.concat(data);\n this.setScales();\n this.updateChart();\n }\n /**\n * Update existing data elements\n */\n\n\n updateData(data) {\n this.data = [...data];\n this.setScales();\n this.updateChart();\n }\n /**\n * Compute data before operate\n */\n\n\n computeData() {}\n /**\n * Remove data elements\n */\n\n\n exitData(filter) {\n this.data.forEach((d, i) => {\n let c = 0;\n Object.keys(filter).forEach(key => {\n if (filter[key] == d[key]) c++;\n });\n\n if (c == Object.keys(filter).length) {\n this.data.splice(i, 1);\n }\n });\n this.setScales();\n this.updateChart();\n }\n /**\n * Init chart commons elements (div > svg > g; tooltip)\n */\n\n\n initChartFrame(classname = 'undefined') {\n // Wrapper div\n this.wrap = this.selection.append('div').attr(\"class\", \"chart__wrap chart__wrap--\" + classname); // SVG element\n\n this.svg = this.wrap.append('svg').attr(\"class\", \"chart chart--\" + classname); // General group for margin convention\n\n this.g = this.svg.append(\"g\").attr(\"class\", \"chart__margin-wrap chart__margin-wrap--\" + classname).attr(\"transform\", `translate(${this.cfg.margin.left},${this.cfg.margin.top})`); // Tooltip\n\n this.selection.selectAll('.chart__tooltip').remove();\n this.tooltip = this.wrap.append('div').attr('class', \"chart__tooltip chart__tooltip--\" + classname);\n }\n /**\n * Compute element color\n */\n\n\n colorElement(d, key = undefined) {\n key = key ? key : this.cfg.key; // if key is set, return own object color key\n\n if (this.cfg.color.key) return d[this.cfg.color.key]; // base color is default one if current key is set, else current one\n\n let baseColor = this.cfg.currentKey ? this.cfg.color.default : this.cfg.color.current; // if scheme is set, base color is color scheme\n\n if (this.cfg.color.scheme) {\n baseColor = this.colorScale(d[key]);\n } // if keys is an object, base color is color key if exists\n\n\n if (this.cfg.color.keys && this.cfg.color.keys instanceof Object && this.cfg.color.keys instanceof Array === false) {\n if (typeof this.cfg.color.keys[key] == 'string') {\n baseColor = this.cfg.color.keys[key];\n } else if (typeof this.cfg.color.keys[d[key]] == 'string') {\n baseColor = this.cfg.color.keys[d[key]];\n }\n } // if current key is set and key is current, base color is current\n\n\n if (this.cfg.currentKey && d[this.cfg.key] === this.cfg.currentKey) {\n baseColor = this.cfg.color.current;\n }\n\n return baseColor;\n }\n /**\n * Update chart methods\n */\n\n\n updateChart() {\n this.computeData();\n this.bindData();\n this.setScales();\n this.enterElements();\n this.updateElements();\n this.exitElements();\n }\n /**\n * Resize chart methods\n */\n\n\n resizeChart() {\n this.getDimensions(); //this.setScales();\n\n this.setChartDimension();\n this.updateChart();\n }\n /**\n * Update chart configuration\n */\n\n\n updateConfig(config) {\n this._setConfig(config);\n\n this.resizeChart();\n }\n /**\n * Destroy chart methods\n */\n\n\n destroyChart() {\n window.removeEventListener(\"resize\", this.onResize);\n }\n\n}\n\nconst d3$1 = {\n select,\n selectAll,\n scaleBand,\n scaleLinear,\n scaleOrdinal,\n max,\n transition,\n axisBottom,\n axisLeft,\n easeLinear,\n easePolyIn,\n easePolyOut,\n easePoly,\n easePolyInOut,\n easeQuadIn,\n easeQuadOut,\n easeQuad,\n easeQuadInOut,\n easeCubicIn,\n easeCubicOut,\n easeCubic,\n easeCubicInOut,\n easeSinIn,\n easeSinOut,\n easeSin,\n easeSinInOut,\n easeExpIn,\n easeExpOut,\n easeExp,\n easeExpInOut,\n easeCircleIn,\n easeCircleOut,\n easeCircle,\n easeCircleInOut,\n easeElasticIn,\n easeElastic,\n easeElasticOut,\n easeElasticInOut,\n easeBackIn,\n easeBackOut,\n easeBack,\n easeBackInOut,\n easeBounceIn,\n easeBounce,\n easeBounceOut,\n easeBounceInOut,\n schemeCategory10,\n schemeAccent,\n schemeDark2,\n schemePaired,\n schemePastel1,\n schemePastel2,\n schemeSet1,\n schemeSet2,\n schemeSet3,\n schemeTableau10\n};\n/**\n * D3 Bar Chart\n */\n\nclass d3barchart extends d3chart {\n constructor(selection, data, config) {\n super(selection, data, config, {\n margin: {\n top: 10,\n right: 30,\n bottom: 20,\n left: 40\n },\n key: 'key',\n currentKey: false,\n values: [],\n orientation: 'vertical',\n labelRotation: 0,\n color: {\n key: false,\n keys: false,\n scheme: false,\n current: \"#1f77b4\",\n default: \"#AAA\",\n axis: \"#000\"\n },\n axis: {\n yTitle: false,\n xTitle: false,\n yFormat: \".0f\",\n xFormat: \".0f\",\n yTicks: 10,\n xTicks: 10\n },\n tooltip: {\n label: false\n },\n transition: {\n duration: 350,\n ease: \"easeLinear\"\n }\n });\n }\n /**\n * Init chart\n */\n\n\n initChart() {\n // Set up dimensions\n this.getDimensions();\n this.initChartFrame('barchart'); // Set up scales\n\n this.xScale = d3$1.scaleBand();\n this.xScaleInn = d3$1.scaleBand();\n this.yScale = d3$1.scaleLinear(); // Axis group\n\n this.axisg = this.g.append('g').attr('class', 'chart__axis chart__axis--barchart'); // Horizontal grid\n\n this.yGrid = this.axisg.append(\"g\").attr(\"class\", \"chart__grid chart__grid--y chart__grid--barchart\"); // Bottom axis\n\n this.xAxis = this.axisg.append(\"g\").attr(\"class\", \"chart__axis-x chart__axis-x--barchart\"); // Vertical axis title\n\n if (this.cfg.axis.yTitle) this.yAxisTitle = this.axisg.append('text').attr('class', 'chart__axis-title chart__axis-title--barchart').attr(\"transform\", 'rotate(-90)').style(\"text-anchor\", \"middle\");\n this.setChartDimension();\n this.updateChart();\n }\n /**\n * Resize chart pipe\n */\n\n\n setScales() {\n this.xScale.rangeRound(this.cfg.orientation !== 'horizontal' ? [0, this.cfg.width] : [0, this.cfg.height]).paddingInner(0.1).domain(this.data.map(d => d[this.cfg.key]));\n this.xScaleInn.domain(this.cfg.values).rangeRound([0, this.xScale.bandwidth()]).paddingInner(0.05);\n this.yScale.rangeRound(this.cfg.orientation !== 'horizontal' ? [0, this.cfg.height] : [this.cfg.width, 0]).domain([d3$1.max(this.data, d => d3$1.max(this.cfg.values.map(v => d[v]))), 0]);\n\n if (this.cfg.color.scheme instanceof Array === true) {\n this.colorScale = d3$1.scaleOrdinal().range(this.cfg.color.scheme);\n } else if (typeof this.cfg.color.scheme === 'string') {\n this.colorScale = d3$1.scaleOrdinal(d3$1[this.cfg.color.scheme]);\n }\n\n const yGridFunction = this.cfg.orientation !== 'horizontal' ? d3$1.axisLeft(this.yScale).tickSize(-this.cfg.width).ticks(this.cfg.axis.yTicks, this.cfg.axis.yFormat) : d3$1.axisBottom(this.yScale).tickSize(-this.cfg.height).ticks(this.cfg.axis.yTicks, this.cfg.axis.yFormat);\n const xAxisFunction = this.cfg.orientation !== 'horizontal' ? d3$1.axisBottom(this.xScale) : d3$1.axisLeft(this.xScale); // Horizontal grid\n\n this.yGrid.attr(\"transform\", this.cfg.orientation !== 'horizontal' ? 'translate(0,0)' : `translate(0,${this.cfg.height})`).transition(this.transition).call(yGridFunction); // Bottom axis\n\n this.xAxis.attr(\"transform\", this.cfg.orientation !== 'horizontal' ? `translate(0,${this.cfg.height})` : 'translate(0,0)').call(xAxisFunction);\n }\n /**\n * Set chart dimensional sizes\n */\n\n\n setChartDimension() {\n // SVG element\n this.svg.attr(\"viewBox\", `0 0 ${this.cfg.width + this.cfg.margin.left + this.cfg.margin.right} ${this.cfg.height + this.cfg.margin.top + this.cfg.margin.bottom}`).attr(\"width\", this.cfg.width + this.cfg.margin.left + this.cfg.margin.right).attr(\"height\", this.cfg.height + this.cfg.margin.top + this.cfg.margin.bottom); // Vertical axis title\n\n if (this.cfg.axis.yTitle) this.yAxisTitle.attr(\"y\", -this.cfg.margin.left + 10).attr(\"x\", -this.cfg.height / 2).text(this.cfg.axis.yTitle); // Bottom axis label rotation\n\n if (this.cfg.labelRotation !== 0) this.xAxis.selectAll('text').attr(\"y\", Math.cos(this.cfg.labelRotation * Math.PI / 180) * 9).attr(\"x\", Math.sin(this.cfg.labelRotation * Math.PI / 180) * 9).attr(\"dy\", \".35em\").attr(\"transform\", `rotate(${this.cfg.labelRotation})`).style(\"text-anchor\", \"start\");\n }\n /**\n * Bind data to main elements groups\n */\n\n\n bindData() {\n // Set transition\n this.transition = d3$1.transition('t').duration(this.cfg.transition.duration).ease(d3$1[this.cfg.transition.ease]); // Bars groups\n\n this.itemg = this.g.selectAll('.chart__bar-group').data(this.data, d => d[this.cfg.key]);\n }\n /**\n * Add new chart's elements\n */\n\n\n enterElements() {\n const newbars = this.itemg.enter().append('g').attr('class', 'chart__bar-group chart__bar-group--barchart').attr('transform', d => {\n if (this.cfg.orientation !== 'horizontal') {\n return `translate(${this.xScale(d[this.cfg.key])},0)`;\n }\n\n return `translate(0,${this.xScale(d[this.cfg.key])})`;\n });\n const rects = newbars.selectAll('.chart__bar').data(d => this.cfg.values.map(v => {\n const dat = { ...d\n };\n dat[this.cfg.key] = d[this.cfg.key];\n return dat;\n })).enter().append('rect').attr('class', 'chart__bar chart__bar--barchart').classed('chart__bar--current', d => {\n return this.cfg.currentKey && d[this.cfg.key] === this.cfg.currentKey;\n }).attr('x', (d, i) => {\n return this.cfg.orientation !== 'horizontal' ? this.xScaleInn(this.cfg.values[i % this.cfg.values.length]) : 0;\n }).attr('y', (d, i) => {\n return this.cfg.orientation !== 'horizontal' ? this.cfg.height : this.xScaleInn(this.cfg.values[i % this.cfg.values.length]);\n }).attr('height', 0).attr('width', 0).on('mouseover', (d, i) => {\n const key = this.cfg.values[i % this.cfg.values.length];\n this.tooltip.html(() => {\n return `
${key}: ${d[key]}
`;\n }).classed('active', true);\n }).on('mouseout', () => {\n this.tooltip.classed('active', false);\n }).on('mousemove', () => {\n this.tooltip.style('left', window.event['pageX'] - 28 + 'px').style('top', window.event['pageY'] - 40 + 'px');\n });\n }\n /**\n * Update chart's elements based on data change\n */\n\n\n updateElements() {\n // Bars groups\n this.itemg.transition(this.transition).attr('transform', d => {\n return this.cfg.orientation !== 'horizontal' ? `translate(${this.xScale(d[this.cfg.key])},0)` : `translate(0,${this.xScale(d[this.cfg.key])})`;\n }); // Bars\n\n this.g.selectAll('.chart__bar').transition(this.transition).attr('fill', (d, i) => this.colorElement(d, this.cfg.values[i % this.cfg.values.length])).attr('x', (d, i) => {\n return this.cfg.orientation !== 'horizontal' ? this.xScaleInn(this.cfg.values[i % this.cfg.values.length]) : 0;\n }).attr('y', (d, i) => {\n return this.cfg.orientation !== 'horizontal' ? this.yScale(+d[this.cfg.values[i % this.cfg.values.length]]) : this.xScaleInn(this.cfg.values[i % this.cfg.values.length]);\n }).attr('width', (d, i) => {\n return this.cfg.orientation !== 'horizontal' ? this.xScaleInn.bandwidth() : this.yScale(+d[this.cfg.values[i % this.cfg.values.length]]);\n }).attr('height', (d, i) => {\n return this.cfg.orientation !== 'horizontal' ? this.cfg.height - this.yScale(+d[this.cfg.values[i % this.cfg.values.length]]) : this.xScaleInn.bandwidth();\n });\n }\n /**\n * Remove chart's elements without data\n */\n\n\n exitElements() {\n this.itemg.exit().transition(this.transition).style(\"opacity\", 0).remove();\n }\n\n}\n\nvar script$1 = {\n name: 'D3BarChart',\n extends: __vue_component__,\n\n mounted() {\n this.chart = new d3barchart(this.$refs.chart, JSON.parse(JSON.stringify(this.datum)), this.config);\n }\n\n};\n\n/* script */\nconst __vue_script__$1 = script$1;\n/* template */\n\n/* style */\n\nconst __vue_inject_styles__$1 = undefined;\n/* scoped */\n\nconst __vue_scope_id__$1 = undefined;\n/* module identifier */\n\nconst __vue_module_identifier__$1 = undefined;\n/* functional template */\n\nconst __vue_is_functional_template__$1 = undefined;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nconst __vue_component__$1 = normalizeComponent({}, __vue_inject_styles__$1, __vue_script__$1, __vue_scope_id__$1, __vue_is_functional_template__$1, __vue_module_identifier__$1, false, undefined, undefined, undefined);\n\nconst d3$2 = {\n select,\n selectAll,\n scaleOrdinal,\n scaleLinear,\n scaleTime,\n timeParse,\n timeFormat,\n max,\n extent,\n line,\n transition,\n axisLeft,\n axisBottom,\n easeLinear,\n easePolyIn,\n easePolyOut,\n easePoly,\n easePolyInOut,\n easeQuadIn,\n easeQuadOut,\n easeQuad,\n easeQuadInOut,\n easeCubicIn,\n easeCubicOut,\n easeCubic,\n easeCubicInOut,\n easeSinIn,\n easeSinOut,\n easeSin,\n easeSinInOut,\n easeExpIn,\n easeExpOut,\n easeExp,\n easeExpInOut,\n easeCircleIn,\n easeCircleOut,\n easeCircle,\n easeCircleInOut,\n easeElasticIn,\n easeElastic,\n easeElasticOut,\n easeElasticInOut,\n easeBackIn,\n easeBackOut,\n easeBack,\n easeBackInOut,\n easeBounceIn,\n easeBounce,\n easeBounceOut,\n easeBounceInOut,\n curveBasis,\n curveBundle,\n curveCardinal,\n curveCatmullRom,\n curveLinear,\n curveMonotoneX,\n curveMonotoneY,\n curveNatural,\n curveStep,\n curveStepAfter,\n curveStepBefore,\n schemeCategory10,\n schemeAccent,\n schemeDark2,\n schemePaired,\n schemePastel1,\n schemePastel2,\n schemeSet1,\n schemeSet2,\n schemeSet3,\n schemeTableau10\n};\n/**\n * D3 Line Chart\n */\n\nclass d3linechart extends d3chart {\n constructor(selection, data, config) {\n super(selection, data, config, {\n margin: {\n top: 20,\n right: 20,\n bottom: 20,\n left: 40\n },\n values: [],\n date: {\n key: false,\n inputFormat: \"%Y-%m-%d\",\n outputFormat: \"%Y-%m-%d\"\n },\n color: {\n key: false,\n keys: false,\n scheme: false,\n current: '#1f77b4',\n default: '#AAA',\n axis: '#000'\n },\n curve: 'curveLinear',\n points: {\n visibleSize: 3,\n hoverSize: 6\n },\n axis: {\n yTitle: false,\n xTitle: false,\n yFormat: \".0f\",\n xFormat: \"%Y-%m-%d\",\n yTicks: 5,\n xTicks: 3\n },\n tooltip: {\n labels: false\n },\n transition: {\n duration: 350,\n ease: 'easeLinear'\n }\n });\n }\n /**\n * Init chart\n */\n\n\n initChart() {\n // Set up dimensions\n this.getDimensions();\n this.initChartFrame('linechart'); // Format date functions\n\n this.parseTime = d3$2.timeParse(this.cfg.date.inputFormat);\n this.formatTime = d3$2.timeFormat(this.cfg.date.outputFormat); // Init scales\n\n this.yScale = d3$2.scaleLinear();\n this.xScale = d3$2.scaleTime();\n this.line = d3$2.line(); // Axis group\n\n this.axisg = this.g.append('g').attr('class', 'chart__axis chart__axis--linechart'); // Horizontal grid\n\n this.yGrid = this.axisg.append(\"g\").attr(\"class\", \"chart__grid chart__grid--y chart__grid--linechart\"); // Bottom axis\n\n this.xAxis = this.axisg.append(\"g\").attr(\"class\", \"chart__axis-x chart__axis-x--linechart\"); // Vertical axis\n\n this.yAxis = this.axisg.append(\"g\").attr(\"class\", \"chart__axis-y chart__axis-y--linechart chart__grid\"); // Vertical axis title\n\n if (this.cfg.axis.yTitle) this.yAxisTitle = this.axisg.append('text').attr('class', 'chart__axis-title chart__axis-title--linechart').attr(\"transform\", 'rotate(-90)').style(\"text-anchor\", \"middle\");\n this.setChartDimension();\n this.updateChart();\n }\n /**\n * Calcule required derivated data\n */\n\n\n computeData() {\n // Calcule transpose data\n const tData = [];\n this.cfg.values.forEach((j, i) => {\n tData[i] = {};\n tData[i].key = j;\n tData[i].values = [];\n });\n this.data.forEach(d => {\n d.jsdate = this.parseTime(d[this.cfg.date.key]);\n });\n this.data.sort((a, b) => a.jsdate - b.jsdate);\n this.data.forEach((d, c) => {\n d.min = 9999999999999999999;\n d.max = -9999999999999999999;\n this.cfg.values.forEach((j, i) => {\n tData[i].values.push({\n x: d.jsdate,\n y: +d[j],\n k: i\n });\n if (d[j] < d.min) d.min = +d[j];\n if (d[j] > d.max) d.max = +d[j];\n });\n });\n this.tData = tData;\n }\n /**\n * Set up chart dimensions (non depending on data)\n */\n\n\n setChartDimension() {\n // Resize SVG element\n this.svg.attr(\"viewBox\", `0 0 ${this.cfg.width + this.cfg.margin.left + this.cfg.margin.right} ${this.cfg.height + this.cfg.margin.top + this.cfg.margin.bottom}`).attr(\"width\", this.cfg.width + this.cfg.margin.left + this.cfg.margin.right).attr(\"height\", this.cfg.height + this.cfg.margin.top + this.cfg.margin.bottom); // Vertical axis title\n\n if (this.cfg.axis.yTitle) this.yAxisTitle.attr(\"y\", -this.cfg.margin.left + 10).attr(\"x\", -this.cfg.height / 2).text(this.cfg.axis.yTitle);\n }\n /**\n * Set up scales\n */\n\n\n setScales() {\n // Calcule vertical scale\n this.yScale.domain([0, d3$2.max(this.data, d => d.max)]).rangeRound([this.cfg.height, 0]); // Calcule horizontal scale\n\n this.xScale.domain(d3$2.extent(this.data, d => d.jsdate)).rangeRound([0, this.cfg.width]);\n\n if (this.cfg.color.scheme instanceof Array === true) {\n this.colorScale = d3$2.scaleOrdinal().range(this.cfg.color.scheme);\n } else if (typeof this.cfg.color.scheme === 'string') {\n this.colorScale = d3$2.scaleOrdinal(d3$2[this.cfg.color.scheme]);\n } // Set up line function\n\n\n this.line.x(d => this.xScale(d.x)).y(d => this.yScale(d.y)).curve(d3$2[this.cfg.curve]); // Redraw grid\n\n this.yGrid.call(d3$2.axisLeft(this.yScale).tickSize(-this.cfg.width).ticks(this.cfg.axis.yTicks, this.cfg.axis.yFormat)); // Redraw horizontal axis\n\n this.xAxis.attr(\"transform\", `translate(0,${this.cfg.height})`).call(d3$2.axisBottom(this.xScale).tickFormat(this.formatTime).ticks(this.cfg.axis.xTicks, this.cfg.axis.xFormat));\n }\n /**\n * Bind data to main elements groups\n */\n\n\n bindData() {\n // Set transition\n this.transition = d3$2.transition('t').duration(this.cfg.transition.duration).ease(d3$2[this.cfg.transition.ease]); // Lines group\n\n this.linesgroup = this.g.selectAll(\".chart__lines-group\").data(this.tData, d => d.key); // Don't continue if points are disabled\n\n if (this.cfg.points === false) return; // Set points store\n\n if (!this.pointsg || this.pointsg instanceof Array === false) {\n this.pointsg = [];\n }\n }\n /**\n * Add new chart's elements\n */\n\n\n enterElements() {\n // Elements to add\n const newgroups = this.linesgroup.enter().append('g').attr(\"class\", \"chart__lines-group chart__lines-group--linechart\"); // Lines\n\n newgroups.append('path').attr(\"class\", \"chart__line chart__line--linechart\").attr('fill', 'transparent').attr(\"d\", d => this.line(d.values.map(v => ({\n y: 0,\n x: v.x,\n k: v.k\n })))); // Don't continue if points are disabled\n\n if (this.cfg.points === false) return;\n this.cfg.values.forEach((k, i) => {\n // Point group\n let gp = this.g.selectAll('.chart__points-group--' + k).data(this.data).enter().append('g').attr('class', 'chart__points-group chart__points-group--linechart chart__points-group--' + k).attr('transform', d => `translate(${this.xScale(d.jsdate)},${this.cfg.height})`); // Hover point\n\n gp.append('circle').attr('class', 'chart__point-hover chart__point-hover--linechart').attr('fill', 'transparent').attr('r', this.cfg.points.hoverSize).on('mouseover', (d, j) => {\n this.tooltip.html(_ => {\n const label = this.cfg.tooltip.labels && this.cfg.tooltip.labels[i] ? this.cfg.tooltip.labels[i] : k;\n return `\n
${label}: ${this.tData[i].values[j].y}
\n `;\n }).classed('active', true);\n }).on('mouseout', _ => {\n this.tooltip.classed('active', false);\n }).on('mousemove', _ => {\n this.tooltip.style('left', window.event['pageX'] - 28 + 'px').style('top', window.event['pageY'] - 40 + 'px');\n }); // Visible point\n\n gp.append('circle').attr('class', 'chart__point-visible chart__point-visible--linechart').attr('pointer-events', 'none');\n this.pointsg.push({\n selection: gp,\n key: k\n });\n });\n }\n /**\n * Update chart's elements based on data change\n */\n\n\n updateElements() {\n // Color lines\n this.linesgroup.attr('stroke', d => this.colorElement(d, 'key')); // Redraw lines\n\n this.g.selectAll('.chart__line').attr('stroke', d => this.colorElement(d, 'key')).transition(this.transition).attr(\"d\", (d, i) => this.line(this.tData[i].values)); // Don't continue if points are disabled\n\n if (this.cfg.points === false) return; // Redraw points\n\n this.pointsg.forEach((p, i) => {\n p.selection.transition(this.transition).attr('transform', d => `translate(${this.xScale(d.jsdate)},${this.yScale(d[p.key])})`); // Visible point\n\n p.selection.selectAll('.chart__point-visible').attr('fill', d => this.colorElement(p, 'key')).attr('r', this.cfg.points.visibleSize); // Hover point\n\n p.selection.selectAll('.chart__point-hover').attr('r', this.cfg.points.hoverSize);\n });\n }\n /**\n * Remove chart's elements without data\n */\n\n\n exitElements() {\n this.linesgroup.exit().transition(this.transition).style(\"opacity\", 0).remove();\n }\n\n}\n\nvar script$2 = {\n name: 'D3LineChart',\n extends: __vue_component__,\n\n mounted() {\n this.chart = new d3linechart(this.$refs.chart, JSON.parse(JSON.stringify(this.datum)), this.config);\n }\n\n};\n\n/* script */\nconst __vue_script__$2 = script$2;\n/* template */\n\n/* style */\n\nconst __vue_inject_styles__$2 = undefined;\n/* scoped */\n\nconst __vue_scope_id__$2 = undefined;\n/* module identifier */\n\nconst __vue_module_identifier__$2 = undefined;\n/* functional template */\n\nconst __vue_is_functional_template__$2 = undefined;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nconst __vue_component__$2 = normalizeComponent({}, __vue_inject_styles__$2, __vue_script__$2, __vue_scope_id__$2, __vue_is_functional_template__$2, __vue_module_identifier__$2, false, undefined, undefined, undefined);\n\nconst d3$3 = {\n select,\n selectAll,\n scaleLinear,\n scaleOrdinal,\n max,\n min,\n transition,\n pie,\n arc,\n interpolate,\n easeLinear,\n easePolyIn,\n easePolyOut,\n easePoly,\n easePolyInOut,\n easeQuadIn,\n easeQuadOut,\n easeQuad,\n easeQuadInOut,\n easeCubicIn,\n easeCubicOut,\n easeCubic,\n easeCubicInOut,\n easeSinIn,\n easeSinOut,\n easeSin,\n easeSinInOut,\n easeExpIn,\n easeExpOut,\n easeExp,\n easeExpInOut,\n easeCircleIn,\n easeCircleOut,\n easeCircle,\n easeCircleInOut,\n easeElasticIn,\n easeElastic,\n easeElasticOut,\n easeElasticInOut,\n easeBackIn,\n easeBackOut,\n easeBack,\n easeBackInOut,\n easeBounceIn,\n easeBounce,\n easeBounceOut,\n easeBounceInOut,\n schemeCategory10,\n schemeAccent,\n schemeDark2,\n schemePaired,\n schemePastel1,\n schemePastel2,\n schemeSet1,\n schemeSet2,\n schemeSet3,\n schemeTableau10\n};\n/**\n* D3 Pie Chart\n*/\n\nclass d3piechart extends d3chart {\n constructor(selection, data, config) {\n super(selection, data, config, {\n margin: {\n top: 40,\n right: 20,\n bottom: 40,\n left: 20\n },\n key: '',\n value: 'value',\n color: {\n key: false,\n keys: false,\n scheme: false,\n current: '#1f77b4',\n default: '#AAA',\n axis: '#000'\n },\n radius: {\n inner: false,\n outter: false,\n padding: 0,\n round: 0\n },\n transition: {\n duration: 350,\n ease: 'easeLinear'\n }\n });\n }\n /**\n * Init chart\n */\n\n\n initChart() {\n // Set up dimensions\n this.getDimensions();\n this.initChartFrame('piechart');\n this.cScale = d3$3.scaleOrdinal();\n this.arc = d3$3.arc();\n this.outerArc = d3$3.arc();\n this.pie = d3$3.pie().sort(null).value(d => d[this.cfg.value]).padAngle(this.cfg.radius.padding);\n\n if (this.cfg.radius && this.cfg.radius.inner) {\n const outRadius = this.cfg.radius.outter ? this.cfg.radius.outter : Math.min(this.cfg.width, this.cfg.height) / 2;\n this.cfg.radius.relation = this.cfg.radius.inner ? this.cfg.radius.inner / outRadius : 0;\n }\n\n this.gcenter = this.g.append('g');\n this.setChartDimension();\n this.updateChart();\n }\n /**\n * Set up chart dimensions (non depending on data)\n */\n\n\n setChartDimension() {\n // SVG element\n this.svg.attr(\"viewBox\", `0 0 ${this.cfg.width + this.cfg.margin.left + this.cfg.margin.right} ${this.cfg.height + this.cfg.margin.top + this.cfg.margin.bottom}`).attr(\"width\", this.cfg.width + this.cfg.margin.left + this.cfg.margin.right).attr(\"height\", this.cfg.height + this.cfg.margin.top + this.cfg.margin.bottom); // Center element\n\n this.gcenter.attr('transform', `translate(${this.cfg.width / 2}, ${this.cfg.height / 2})`);\n }\n /**\n * Bind data to main elements groups\n */\n\n\n bindData() {\n this.itemg = this.gcenter.selectAll('.chart__slice-group').data(this.pie(this.data), d => d.data[this.cfg.key]); // Set transition\n\n this.transition = d3$3.transition('t').duration(this.cfg.transition.duration).ease(d3$3[this.cfg.transition.ease]);\n }\n /**\n * Set up scales\n */\n\n\n setScales() {\n // Set up radius\n this.cfg.radius.outter = this.cfg.radius && this.cfg.radius.outter ? this.cfg.radius.outter : Math.min(this.cfg.width, this.cfg.height) / 2;\n let inRadius = this.cfg.radius && this.cfg.radius.inner ? this.cfg.radius.inner : 0;\n\n if (this.cfg.radius.relation) {\n inRadius = this.cfg.radius.outter * this.cfg.radius.relation;\n } // Set up arcs\n\n\n this.arc = d3$3.arc().outerRadius(this.cfg.radius.outter).innerRadius(inRadius).cornerRadius(this.cfg.radius.round);\n this.outerArc = d3$3.arc().outerRadius(this.cfg.radius.outter * 1.1).innerRadius(this.cfg.radius.outter * 1.1); // Set up color scheme\n\n if (this.cfg.color.scheme) {\n if (this.cfg.color.scheme instanceof Array === true) {\n this.colorScale = d3$3.scaleOrdinal().domain(this.data.map(d => d[this.cfg.key])).range(this.cfg.color.scheme);\n } else {\n this.colorScale = d3$3.scaleOrdinal(d3$3[this.cfg.color.scheme]).domain(this.data.map(d => d[this.cfg.key]));\n }\n }\n }\n /**\n * Add new chart's elements\n */\n\n\n enterElements() {\n const newg = this.itemg.enter().append('g').attr(\"class\", \"chart__slice-group chart__slice-group--piechart\"); // PATHS\n\n newg.append(\"path\").attr(\"class\", \"chart__slice chart__slice--piechart\").transition(this.transition).delay((d, i) => i * this.cfg.transition.duration).attrTween('d', d => {\n const i = d3$3.interpolate(d.startAngle + 0.1, d.endAngle);\n return t => {\n d.endAngle = i(t);\n return this.arc(d);\n };\n }).style(\"fill\", d => this.colorElement(d.data)).style('opacity', 1); // LABELS\n\n newg.append('text').attr(\"class\", \"chart__label chart__label--piechart\").style('opacity', 0).attr(\"transform\", d => {\n let pos = this.outerArc.centroid(d);\n pos[0] = this.cfg.radius.outter * (this.midAngle(d) < Math.PI ? 1.1 : -1.1);\n return \"translate(\" + pos + \")\";\n }).attr('text-anchor', d => this.midAngle(d) < Math.PI ? 'start' : 'end').text(d => d.data[this.cfg.key]).transition(this.transition).delay((d, i) => i * this.cfg.transition.duration).style('opacity', 1); // LINES\n\n newg.append('polyline').attr(\"class\", \"chart__line chart__line--piechart\").style('opacity', 0).attr('points', d => {\n let pos = this.outerArc.centroid(d);\n pos[0] = this.cfg.radius.outter * 0.95 * (this.midAngle(d) < Math.PI ? 1.1 : -1.1);\n return [this.arc.centroid(d), this.outerArc.centroid(d), pos];\n }).transition(this.transition).delay((d, i) => i * this.cfg.transition.duration).style('opacity', 1);\n }\n /**\n * Update chart's elements based on data change\n */\n\n\n updateElements() {\n // PATHS\n this.itemg.selectAll(\".chart__slice\").style('opacity', 0).data(this.pie(this.data), d => d.data[this.cfg.key]).transition(this.transition).delay((d, i) => i * this.cfg.transition.duration).attrTween('d', d => {\n const i = d3$3.interpolate(d.startAngle + 0.1, d.endAngle);\n return t => {\n d.endAngle = i(t);\n return this.arc(d);\n };\n }).style(\"fill\", d => this.colorElement(d.data)).style('opacity', 1); // LABELS\n\n this.itemg.selectAll(\".chart__label\").data(this.pie(this.data), d => d.data[this.cfg.key]).text(d => d.data[this.cfg.key]).transition(this.transition).attr(\"transform\", d => {\n let pos = this.outerArc.centroid(d);\n pos[0] = this.cfg.radius.outter * (this.midAngle(d) < Math.PI ? 1.1 : -1.1);\n return \"translate(\" + pos + \")\";\n }).attr('text-anchor', d => this.midAngle(d) < Math.PI ? 'start' : 'end'); // LINES\n\n this.itemg.selectAll(\".chart__line\").data(this.pie(this.data), d => d.data[this.cfg.key]).transition(this.transition).attr('points', d => {\n let pos = this.outerArc.centroid(d);\n pos[0] = this.cfg.radius.outter * 0.95 * (this.midAngle(d) < Math.PI ? 1.1 : -1.1);\n return [this.arc.centroid(d), this.outerArc.centroid(d), pos];\n });\n }\n /**\n * Remove chart's elements without data\n */\n\n\n exitElements() {\n this.itemg.exit().transition(this.transition).style(\"opacity\", 0).remove();\n }\n\n midAngle(d) {\n return d.startAngle + (d.endAngle - d.startAngle) / 2;\n }\n /**\n * Store the displayed angles in _current.\n * Then, interpolate from _current to the new angles.\n * During the transition, _current is updated in-place by d3.interpolate.\n */\n\n\n arcTween(a) {\n var i = d3$3.interpolate(this._current, a);\n this._current = i(0);\n return t => this.arc(i(t));\n }\n\n}\n\nvar script$3 = {\n name: 'D3PieChart',\n extends: __vue_component__,\n\n mounted() {\n this.chart = new d3piechart(this.$refs.chart, JSON.parse(JSON.stringify(this.datum)), this.config);\n }\n\n};\n\n/* script */\nconst __vue_script__$3 = script$3;\n/* template */\n\n/* style */\n\nconst __vue_inject_styles__$3 = function (inject) {\n if (!inject) return;\n inject(\"data-v-ac66c84e_0\", {\n source: \".chart__wrapper{margin:20px 0}.chart__wrap{margin:0}.chart__title{text-align:center;font-weight:700}.chart__source{font-size:12px}.chart__tooltip{position:absolute;pointer-events:none;display:none}.chart__tooltip.active{display:block}.chart__tooltip>div{background:#2b2b2b;color:#fff;padding:6px 10px;border-radius:3px}.chart__axis{font-size:12px;shape-rendering:crispEdges}.chart__grid .domain{stroke:none;fill:none}.chart__grid .tick line{opacity:.2}.chart__label{font-size:12px}.chart .clickable{cursor:pointer}.chart--piechart .chart__line{fill:none;stroke:#000}\",\n map: undefined,\n media: undefined\n });\n};\n/* scoped */\n\n\nconst __vue_scope_id__$3 = undefined;\n/* module identifier */\n\nconst __vue_module_identifier__$3 = undefined;\n/* functional template */\n\nconst __vue_is_functional_template__$3 = undefined;\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nconst __vue_component__$3 = normalizeComponent({}, __vue_inject_styles__$3, __vue_script__$3, __vue_scope_id__$3, __vue_is_functional_template__$3, __vue_module_identifier__$3, false, createInjector, undefined, undefined);\n\nconst d3$4 = {\n select,\n selectAll,\n scaleLinear,\n scaleOrdinal,\n max,\n min,\n transition,\n easeLinear,\n easePolyIn,\n easePolyOut,\n easePoly,\n easePolyInOut,\n easeQuadIn,\n easeQuadOut,\n easeQuad,\n easeQuadInOut,\n easeCubicIn,\n easeCubicOut,\n easeCubic,\n easeCubicInOut,\n easeSinIn,\n easeSinOut,\n easeSin,\n easeSinInOut,\n easeExpIn,\n easeExpOut,\n easeExp,\n easeExpInOut,\n easeCircleIn,\n easeCircleOut,\n easeCircle,\n easeCircleInOut,\n easeElasticIn,\n easeElastic,\n easeElasticOut,\n easeElasticInOut,\n easeBackIn,\n easeBackOut,\n easeBack,\n easeBackInOut,\n easeBounceIn,\n easeBounce,\n easeBounceOut,\n easeBounceInOut,\n schemeCategory10,\n schemeAccent,\n schemeDark2,\n schemePaired,\n schemePastel1,\n schemePastel2,\n schemeSet1,\n schemeSet2,\n schemeSet3,\n schemeTableau10\n};\n/**\n* D3 Slope Chart\n*/\n\nclass d3slopechart extends d3chart {\n constructor(selection, data, config) {\n super(selection, data, config, {\n margin: {\n top: 10,\n right: 100,\n bottom: 20,\n left: 100\n },\n key: '',\n currentKey: false,\n values: ['start', 'end'],\n color: {\n key: false,\n keys: false,\n scheme: false,\n current: '#1f77b4',\n default: '#AAA',\n axis: '#000'\n },\n axis: {\n titles: false\n },\n points: {\n visibleRadius: 3\n },\n opacity: 0.5,\n transition: {\n duration: 350,\n ease: 'easeLinear'\n }\n });\n }\n /**\n * Init chart\n */\n\n\n initChart() {\n // Set up dimensions\n this.getDimensions();\n this.initChartFrame('slopechart'); // Set up scales\n\n this.yScale = d3$4.scaleLinear(); // Axis group\n\n const axisg = this.g.append('g').attr('class', 'chart__axis chart__axis--slopechart'); // Vertical left axis\n\n this.startAxis = axisg.append('line').attr(\"class\", \"chart__axis-y chart__axis-y--slopechart chart__axis-y--start\").attr('x1', 0).attr('x2', 0).attr('y1', 0).attr('stroke', this.cfg.color.axis); // Vertical right axis\n\n this.endAxis = axisg.append('line').attr(\"class\", \"chart__axis-y chart__axis-y--slopechart chart__axis-y--end\").attr('y1', 0).attr('stroke', this.cfg.color.axis); // Axis labels\n\n if (this.cfg.axis.titles) {\n this.startl = axisg.append('text').attr('class', 'chart__axis-text chart__axis-text--slopechart chart__axis-text--start').attr('text-anchor', 'middle').attr('y', this.cfg.height + this.cfg.margin.top + this.cfg.margin.bottom - 12).text(this.cfg.axis.titles[0]);\n this.endl = axisg.append('text').attr('class', 'chart__axis-text chart__axis-text--slopechart chart__axis-text--end').attr('text-anchor', 'middle').attr('y', this.cfg.height + this.cfg.margin.top + this.cfg.margin.bottom - 12).text(this.cfg.axis.titles[1]);\n }\n\n this.setChartDimension();\n this.updateChart();\n }\n /**\n * Set up chart dimensions (non depending on data)\n */\n\n\n setChartDimension() {\n // SVG element\n this.svg.attr(\"viewBox\", `0 0 ${this.cfg.width + this.cfg.margin.left + this.cfg.margin.right} ${this.cfg.height + this.cfg.margin.top + this.cfg.margin.bottom}`).attr(\"width\", this.cfg.width + this.cfg.margin.left + this.cfg.margin.right).attr(\"height\", this.cfg.height + this.cfg.margin.top + this.cfg.margin.bottom); // Vertical left axis position\n\n this.startAxis.attr('y2', this.cfg.height); // Vertical right axis position\n\n this.endAxis.attr('x1', this.cfg.width).attr('x2', this.cfg.width).attr('y2', this.cfg.height); // Axis labels\n\n if (this.cfg.axis.titles) {\n this.startl.attr('y', this.cfg.height + this.cfg.margin.top + this.cfg.margin.bottom - 12);\n this.endl.attr('x', this.cfg.width).attr('y', this.cfg.height + this.cfg.margin.top + this.cfg.margin.bottom - 12);\n }\n }\n /**\n * Set up scales\n */\n\n\n setScales() {\n // Set up dimensional scales\n this.yScale.rangeRound([this.cfg.height, 0]).domain([d3$4.min(this.data, d => d[this.cfg.values[0]] < d[this.cfg.values[1]] ? d[this.cfg.values[0]] * 0.9 : d[this.cfg.values[1]] * 0.9), d3$4.max(this.data, d => d[this.cfg.values[0]] > d[this.cfg.values[1]] ? d[this.cfg.values[0]] * 1.1 : d[this.cfg.values[1]] * 1.1)]); // Set up color scheme\n\n if (this.cfg.color.scheme) {\n if (this.cfg.color.scheme instanceof Array === true) {\n this.colorScale = d3$4.scaleOrdinal().domain(this.data.map(d => d[this.cfg.key])).range(this.cfg.color.scheme);\n } else {\n this.colorScale = d3$4.scaleOrdinal(d3$4[this.cfg.color.scheme]).domain(this.data.map(d => d[this.cfg.key]));\n }\n }\n }\n /**\n * Bind data to main elements groups\n */\n\n\n bindData() {\n // Lines group selection data\n this.linesgroup = this.g.selectAll(\".chart__lines-group\").data(this.data, d => d[this.cfg.key]); // Set transition\n\n this.transition = d3$4.transition('t').duration(this.cfg.transition.duration).ease(d3$4[this.cfg.transition.ease]);\n }\n /**\n * Add new chart's elements\n */\n\n\n enterElements() {\n // Elements to add\n const newlines = this.linesgroup.enter().append('g').attr(\"class\", \"chart__lines-group chart__lines-group--slopechart\"); // Lines to add\n\n newlines.append('line').attr(\"class\", \"chart__line chart__line--slopechart\").classed('chart__line--current', d => this.cfg.currentKey && d[this.cfg.key] == this.cfg.currentKey).attr('stroke', d => this.colorElement(d)).style(\"opacity\", this.cfg.opacity).attr(\"x1\", 0).attr(\"x2\", this.cfg.width).transition(this.transition).attr(\"y1\", d => this.yScale(d[this.cfg.values[0]])).attr(\"y2\", d => this.yScale(d[this.cfg.values[1]])); // Vertical left axis points group to add\n\n const gstart = newlines.append('g').attr('class', 'chart__points-group chart__points-group--slopechart chart__points-group--start');\n gstart.transition(this.transition).attr('transform', d => 'translate(0,' + this.yScale(d[this.cfg.values[0]]) + ')'); // Vertical left axis points to add\n\n gstart.append('circle').attr('class', 'chart__point chart__point--slopechart chart__point--start').attr('fill', d => this.colorElement(d)).attr('r', this.cfg.points.visibleRadius); // Vertical left axis label to add\n\n gstart.append('text').attr('class', 'chart__label chart__label--slopechart chart__label--start').attr('text-anchor', 'end').attr('y', 3).attr('x', -5).text(d => d[this.cfg.key] + ' ' + d[this.cfg.values[0]]); // Vertical right axis points group to add\n\n const gend = newlines.append('g').attr('class', 'chart__points-group chart__points-group--slopechart chart__points-group--end').attr('transform', 'translate(' + this.cfg.width + ',0)');\n gend.transition(this.transition).attr('transform', d => 'translate(' + this.cfg.width + ',' + this.yScale(d[this.cfg.values[1]]) + ')'); // Vertical right axis points to add\n\n gend.append('circle').attr('class', 'chart__point chart__point--slopechart chart__point--end').attr('fill', d => this.colorElement(d)).attr('r', this.cfg.points.visibleRadius); // Vertical right axis label to add\n\n gend.append('text').attr('class', 'chart__label chart__label--slopechart chart__label--end').attr('text-anchor', 'start').attr('y', 3).attr('x', 5).text(d => d[this.cfg.values[1]] + ' ' + d[this.cfg.key]);\n }\n /**\n * Update chart's elements based on data change\n */\n\n\n updateElements() {\n // Lines to modify\n this.linesgroup.selectAll('.chart__line').data(this.data, d => d[this.cfg.key]).transition(this.transition).attr(\"x1\", 0).attr(\"x2\", this.cfg.width).attr(\"y1\", d => this.yScale(d[this.cfg.values[0]])).attr(\"y2\", d => this.yScale(d[this.cfg.values[1]])); // Left axis points to modify\n\n this.linesgroup.selectAll('.chart__points-group--start').data(this.data, d => d[this.cfg.key]).transition(this.transition).attr('transform', d => 'translate(0,' + this.yScale(d[this.cfg.values[0]]) + ')'); // Left axis labels to modify\n\n this.linesgroup.selectAll('.chart__label--start').data(this.data, d => d[this.cfg.key]).text(d => {\n return d[this.cfg.key] + ' ' + d[this.cfg.values[0]];\n }); // Right axis points to modify\n\n this.linesgroup.selectAll('.chart__points-group--end').data(this.data, d => d[this.cfg.key]).transition(this.transition).attr('transform', d => 'translate(' + this.cfg.width + ',' + this.yScale(d[this.cfg.values[1]]) + ')'); // Right axis labels to modify\n\n this.linesgroup.selectAll('.chart__label--end').data(this.data, d => d[this.cfg.key]).text(d => d[this.cfg.values[1]] + ' ' + d[this.cfg.key]);\n }\n /**\n * Remove chart's elements without data\n */\n\n\n exitElements() {\n this.linesgroup.exit().transition(this.transition).style(\"opacity\", 0).remove();\n }\n\n}\n\nvar script$4 = {\n name: 'D3SlopeChart',\n extends: __vue_component__,\n\n mounted() {\n this.chart = new d3slopechart(this.$refs.chart, JSON.parse(JSON.stringify(this.datum)), this.config);\n }\n\n};\n\n/* script */\nconst __vue_script__$4 = script$4;\n/* template */\n\n/* style */\n\nconst __vue_inject_styles__$4 = function (inject) {\n if (!inject) return;\n inject(\"data-v-6b03ba8c_0\", {\n source: \".chart__wrapper{margin:20px 0}.chart__wrap{margin:0}.chart__title{text-align:center;font-weight:700}.chart__source{font-size:12px}.chart__tooltip{position:absolute;pointer-events:none;display:none}.chart__tooltip.active{display:block}.chart__tooltip>div{background:#2b2b2b;color:#fff;padding:6px 10px;border-radius:3px}.chart__axis{font-size:12px;shape-rendering:crispEdges}.chart__grid .domain{stroke:none;fill:none}.chart__grid .tick line{opacity:.2}.chart__label{font-size:12px}.chart .clickable{cursor:pointer}.chart--slopegraph .chart__line--current{stroke-width:2px}\",\n map: undefined,\n media: undefined\n });\n};\n/* scoped */\n\n\nconst __vue_scope_id__$4 = undefined;\n/* module identifier */\n\nconst __vue_module_identifier__$4 = undefined;\n/* functional template */\n\nconst __vue_is_functional_template__$4 = undefined;\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nconst __vue_component__$4 = normalizeComponent({}, __vue_inject_styles__$4, __vue_script__$4, __vue_scope_id__$4, __vue_is_functional_template__$4, __vue_module_identifier__$4, false, createInjector, undefined, undefined);\n\nconst d3$5 = {\n select,\n selectAll,\n scaleLinear,\n scaleOrdinal,\n scaleSqrt,\n hierarchy,\n partition,\n arc,\n transition,\n interpolate,\n easeLinear,\n easePolyIn,\n easePolyOut,\n easePoly,\n easePolyInOut,\n easeQuadIn,\n easeQuadOut,\n easeQuad,\n easeQuadInOut,\n easeCubicIn,\n easeCubicOut,\n easeCubic,\n easeCubicInOut,\n easeSinIn,\n easeSinOut,\n easeSin,\n easeSinInOut,\n easeExpIn,\n easeExpOut,\n easeExp,\n easeExpInOut,\n easeCircleIn,\n easeCircleOut,\n easeCircle,\n easeCircleInOut,\n easeElasticIn,\n easeElastic,\n easeElasticOut,\n easeElasticInOut,\n easeBackIn,\n easeBackOut,\n easeBack,\n easeBackInOut,\n easeBounceIn,\n easeBounce,\n easeBounceOut,\n easeBounceInOut,\n schemeCategory10,\n schemeAccent,\n schemeDark2,\n schemePaired,\n schemePastel1,\n schemePastel2,\n schemeSet1,\n schemeSet2,\n schemeSet3,\n schemeTableau10\n};\n/**\n* D3 Sunburst\n*/\n\nclass d3sunburst extends d3chart {\n constructor(selection, data, config) {\n super(selection, data, config, {\n margin: {\n top: 20,\n right: 20,\n bottom: 20,\n left: 20\n },\n key: '',\n value: '',\n color: {\n key: false,\n keys: false,\n scheme: false,\n current: '#1f77b4',\n default: '#AAA',\n axis: '#000'\n },\n transition: {\n duration: 350,\n ease: 'easeLinear'\n }\n });\n }\n /**\n * Init chart\n */\n\n\n initChart() {\n // Set up dimensions\n this.getDimensions();\n this.initChartFrame('sunburst'); // Center group\n\n this.gcenter = this.g.append('g');\n this.setChartDimension();\n this.updateChart();\n }\n /**\n * Set up chart dimensions (non depending on data)\n */\n\n\n setChartDimension() {\n // SVG element\n this.svg.attr(\"viewBox\", `0 0 ${this.cfg.width + this.cfg.margin.left + this.cfg.margin.right} ${this.cfg.height + this.cfg.margin.top + this.cfg.margin.bottom}`).attr(\"width\", this.cfg.width + this.cfg.margin.left + this.cfg.margin.right).attr(\"height\", this.cfg.height + this.cfg.margin.top + this.cfg.margin.bottom); // Center group\n\n this.gcenter.attr('transform', `translate(${this.cfg.width / 2}, ${this.cfg.height / 2})`);\n }\n /**\n * Bind data to main elements groups\n */\n\n\n bindData() {\n const partition = data => {\n const root = d3$5.hierarchy(data).sum(d => d[this.cfg.value]);\n return d3$5.partition()(root);\n };\n\n this.hData = partition(this.data[0]).descendants();\n this.itemg = this.gcenter.selectAll('.chart__slice-group').data(this.hData, d => d.data[this.cfg.key]); // Set transition\n\n this.transition = d3$5.transition('t').duration(this.cfg.transition.duration).ease(d3$5[this.cfg.transition.ease]);\n }\n /**\n * Set up scales\n */\n\n\n setScales() {\n this.radius = Math.min(this.cfg.width, this.cfg.height) / 2;\n this.xScale = d3$5.scaleLinear().range([0, 2 * Math.PI]).clamp(true);\n this.yScale = d3$5.scaleSqrt().range([this.radius * .1, this.radius]);\n this.arc = d3$5.arc().startAngle(d => this.xScale(d.x0)).endAngle(d => this.xScale(d.x1)).innerRadius(d => Math.max(0, this.yScale(d.y0))).outerRadius(d => Math.max(0, this.yScale(d.y1))); // Set up color scheme\n\n if (this.cfg.color.scheme) {\n if (this.cfg.color.scheme instanceof Array === true) {\n this.colorScale = d3$5.scaleOrdinal().range(this.cfg.color.scheme);\n } else {\n this.colorScale = d3$5.scaleOrdinal(d3$5[this.cfg.color.scheme]);\n }\n }\n }\n /**\n * Add new chart's elements\n */\n\n\n enterElements() {\n const newg = this.itemg.enter().append('g').attr(\"class\", \"chart__slice-group chart__slice-group--sunburst clickable\").on('click', d => {\n window.event.stopPropagation();\n this.focusOn(d);\n }); // PATHS\n\n newg.append(\"path\").attr(\"class\", \"chart__slice chart__slice--sunburst\").style(\"fill\", d => this.colorElement(d.data)).on('mouseover', d => {\n this.tooltip.html(() => {\n return `
${d.data[this.cfg.key]}: ${d.value}
`;\n }).classed('active', true);\n }).on('mouseout', () => {\n this.tooltip.classed('active', false);\n }).on('mousemove', () => {\n this.tooltip.style('left', window.event['pageX'] - 28 + 'px').style('top', window.event['pageY'] - 40 + 'px');\n }).transition(this.transition).attrTween('d', d => {\n const iy0 = d3$5.interpolate(0, d.y0);\n const iy1 = d3$5.interpolate(d.y0, d.y1);\n const ix0 = d3$5.interpolate(0, d.x0);\n const ix1 = d3$5.interpolate(0, d.x1);\n return t => {\n d.y0 = iy0(t);\n d.y1 = iy1(t);\n d.x0 = ix0(t);\n d.x1 = ix1(t);\n return this.arc(d);\n };\n });\n }\n /**\n * Update chart's elements based on data change\n */\n\n\n updateElements() {\n this.itemg.selectAll('.chart__slice').transition(this.transition).attrTween('d', d => {\n const d2 = this.hData.filter(j => j.data.name === d.data.name)[0];\n const iy0 = d3$5.interpolate(d.y0, d2.y0);\n const iy1 = d3$5.interpolate(d.y1, d2.y1);\n const ix0 = d3$5.interpolate(d.x0, d2.x0);\n const ix1 = d3$5.interpolate(d.x1, d2.x1);\n return t => {\n d2.y0 = iy0(t);\n d2.y1 = iy1(t);\n d2.x0 = ix0(t);\n d2.x1 = ix1(t);\n return this.arc(d2);\n };\n }).style(\"fill\", d => this.colorElement(d.data));\n }\n /**\n * Remove chart's elements without data\n */\n\n\n exitElements() {\n this.itemg.exit().transition(this.transition).style(\"opacity\", 0).remove();\n }\n /**\n * Check if text fits in available space\n */\n\n\n textFits(d) {\n const deltaAngle = this.xScale(d.x1) - this.xScale(d.x0);\n const r = Math.max(0, (this.yScale(d.y0) + this.yScale(d.y1)) / 2);\n return d.data[this.cfg.key].length * this.cfg.charSpace < r * deltaAngle;\n }\n /**\n * Transition slice on focus\n */\n\n\n focusOn(d) {\n const d2 = this.hData.filter(j => j.data.name === d.data.name)[0];\n const transition = this.svg.transition().duration(this.cfg.transition.duration).ease(d3$5[this.cfg.transition.ease]).tween('scale', () => {\n const xd = d3$5.interpolate(this.xScale.domain(), [d2.x0, d2.x1]);\n const yd = d3$5.interpolate(this.yScale.domain(), [d2.y0, 1]);\n return t => {\n this.xScale.domain(xd(t));\n this.yScale.domain(yd(t));\n };\n });\n transition.selectAll('.chart__slice').attrTween('d', d => () => {\n const d3 = this.hData.filter(j => j.data.name === d.data.name)[0];\n return this.arc(d3);\n });\n }\n\n}\n\nvar script$5 = {\n name: 'D3Sunburst',\n extends: __vue_component__,\n\n mounted() {\n this.chart = new d3sunburst(this.$refs.chart, JSON.parse(JSON.stringify(this.datum)), this.config);\n }\n\n};\n\n/* script */\nconst __vue_script__$5 = script$5;\n/* template */\n\n/* style */\n\nconst __vue_inject_styles__$5 = undefined;\n/* scoped */\n\nconst __vue_scope_id__$5 = undefined;\n/* module identifier */\n\nconst __vue_module_identifier__$5 = undefined;\n/* functional template */\n\nconst __vue_is_functional_template__$5 = undefined;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nconst __vue_component__$5 = normalizeComponent({}, __vue_inject_styles__$5, __vue_script__$5, __vue_scope_id__$5, __vue_is_functional_template__$5, __vue_module_identifier__$5, false, undefined, undefined, undefined);\n\nconst d3$6 = {\n select,\n selectAll,\n scaleOrdinal,\n scaleLinear,\n max,\n extent,\n transition,\n cloud,\n easeLinear,\n easePolyIn,\n easePolyOut,\n easePoly,\n easePolyInOut,\n easeQuadIn,\n easeQuadOut,\n easeQuad,\n easeQuadInOut,\n easeCubicIn,\n easeCubicOut,\n easeCubic,\n easeCubicInOut,\n easeSinIn,\n easeSinOut,\n easeSin,\n easeSinInOut,\n easeExpIn,\n easeExpOut,\n easeExp,\n easeExpInOut,\n easeCircleIn,\n easeCircleOut,\n easeCircle,\n easeCircleInOut,\n easeElasticIn,\n easeElastic,\n easeElasticOut,\n easeElasticInOut,\n easeBackIn,\n easeBackOut,\n easeBack,\n easeBackInOut,\n easeBounceIn,\n easeBounce,\n easeBounceOut,\n easeBounceInOut,\n schemeCategory10,\n schemeAccent,\n schemeDark2,\n schemePaired,\n schemePastel1,\n schemePastel2,\n schemeSet1,\n schemeSet2,\n schemeSet3,\n schemeTableau10\n};\n/**\n * D3 Words Cloud\n */\n\nclass d3wordscloud extends d3chart {\n constructor(selection, data, config) {\n super(selection, data, config, {\n margin: {\n top: 20,\n right: 20,\n bottom: 20,\n left: 20\n },\n key: 'word',\n value: 'size',\n fontFamily: 'Arial',\n angle: {\n steps: 2,\n start: 0,\n end: 90\n },\n color: {\n key: false,\n keys: false,\n scheme: false,\n current: '#1f77b4',\n default: '#AAA',\n axis: '#000'\n },\n transition: {\n duration: 350,\n ease: 'easeLinear'\n }\n });\n }\n /**\n * Init chart\n */\n\n\n initChart() {\n // Set up dimensions\n this.getDimensions();\n this.initChartFrame('wordscloud');\n this.gcenter = this.g.append('g');\n this.setChartDimension();\n this.updateChart();\n }\n /**\n * Compute data before operate\n */\n\n\n computeData() {\n let layout = d3$6.cloud().size([this.cfg.width, this.cfg.height]).words(this.data.map(d => ({\n text: d[this.cfg.key],\n size: d[this.cfg.value]\n }))).rotate(() => this.wordsAngle(this.cfg.angle)).font(this.cfg.fontFamily).fontSize(d => d.size).on(\"end\", d => {\n this.tData = d;\n }).start();\n }\n /**\n * Set up chart dimensions (non depending on data)\n */\n\n\n setChartDimension() {\n // Resize SVG element\n this.svg.attr(\"viewBox\", `0 0 ${this.cfg.width + this.cfg.margin.left + this.cfg.margin.right} ${this.cfg.height + this.cfg.margin.top + this.cfg.margin.bottom}`).attr(\"width\", this.cfg.width + this.cfg.margin.left + this.cfg.margin.right).attr(\"height\", this.cfg.height + this.cfg.margin.top + this.cfg.margin.bottom); // Center element\n\n this.gcenter.attr('transform', `translate(${this.cfg.width / 2}, ${this.cfg.height / 2})`);\n }\n /**\n * Bind data to main elements groups\n */\n\n\n bindData() {\n // Set transition\n this.transition = d3$6.transition('t').duration(this.cfg.transition.duration).ease(d3$6[this.cfg.transition.ease]); // Word group selection data\n\n this.wordgroup = this.gcenter.selectAll(\".chart__word-group\").data(this.tData, d => d.text);\n }\n /**\n * Set up scales\n */\n\n\n setScales() {\n if (this.cfg.color.scheme instanceof Array === true) {\n this.colorScale = d3$6.scaleOrdinal().range(this.cfg.color.scheme);\n } else if (typeof this.cfg.color.scheme === 'string') {\n this.colorScale = d3$6.scaleOrdinal(d3$6[this.cfg.color.scheme]);\n }\n }\n /**\n * Add new chart's elements\n */\n\n\n enterElements() {\n // Elements to add\n const newwords = this.wordgroup.enter().append('g').attr(\"class\", \"chart__word-group chart__word-group--wordscloud\");\n newwords.append(\"text\").style(\"font-size\", d => d.size + \"px\").style(\"font-family\", d => d.font).attr(\"text-anchor\", \"middle\").attr('fill', d => this.colorElement(d, 'text')).attr(\"transform\", d => `translate(${[d.x, d.y]})rotate(${d.rotate})`).text(d => d.text);\n }\n /**\n * Update chart's elements based on data change\n */\n\n\n updateElements() {\n this.wordgroup.selectAll('text').data(this.tData, d => d.text).transition(this.transition).attr('fill', d => this.colorElement(d, 'text')).style(\"font-size\", d => d.size + \"px\").attr(\"transform\", d => `translate(${[d.x, d.y]})rotate(${d.rotate})`);\n }\n /**\n * Remove chart's elements without data\n */\n\n\n exitElements() {\n this.wordgroup.exit().transition(this.transition).style(\"opacity\", 0).remove();\n }\n /**\n * Word's angle\n */\n\n\n wordsAngle(angle) {\n if (typeof this.cfg.angle === 'number') {\n // Config angle is fixed number\n return this.cfg.angle;\n } else if (typeof this.cfg.angle === 'object') {\n if (this.cfg.angle instanceof Array === true) {\n // Config angle is custom array\n const idx = this.randomInt(0, this.cfg.angle.length - 1);\n return this.cfg.angle[idx];\n } else {\n // Config angle is custom object\n const angle = (this.cfg.angle.end - this.cfg.angle.start) / (this.cfg.angle.steps - 1);\n return this.cfg.angle.start + this.randomInt(0, this.cfg.angle.steps) * angle;\n }\n }\n\n return 0;\n }\n\n randomInt(min, max) {\n const i = Math.ceil(min);\n const j = Math.floor(max);\n return Math.floor(Math.random() * (j - i + 1)) + i;\n }\n\n}\n\nvar script$6 = {\n name: 'D3WordsCloud',\n extends: __vue_component__,\n\n mounted() {\n this.chart = new d3wordscloud(this.$refs.chart, JSON.parse(JSON.stringify(this.datum)), this.config);\n }\n\n};\n\n/* script */\nconst __vue_script__$6 = script$6;\n/* template */\n\n/* style */\n\nconst __vue_inject_styles__$6 = undefined;\n/* scoped */\n\nconst __vue_scope_id__$6 = undefined;\n/* module identifier */\n\nconst __vue_module_identifier__$6 = undefined;\n/* functional template */\n\nconst __vue_is_functional_template__$6 = undefined;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nconst __vue_component__$6 = normalizeComponent({}, __vue_inject_styles__$6, __vue_script__$6, __vue_scope_id__$6, __vue_is_functional_template__$6, __vue_module_identifier__$6, false, undefined, undefined, undefined);\n\nconst d3$7 = {\n select,\n selectAll,\n scaleLinear,\n scaleOrdinal,\n max,\n min,\n transition,\n pie,\n arc,\n interpolate,\n easeLinear,\n easePolyIn,\n easePolyOut,\n easePoly,\n easePolyInOut,\n easeQuadIn,\n easeQuadOut,\n easeQuad,\n easeQuadInOut,\n easeCubicIn,\n easeCubicOut,\n easeCubic,\n easeCubicInOut,\n easeSinIn,\n easeSinOut,\n easeSin,\n easeSinInOut,\n easeExpIn,\n easeExpOut,\n easeExp,\n easeExpInOut,\n easeCircleIn,\n easeCircleOut,\n easeCircle,\n easeCircleInOut,\n easeElasticIn,\n easeElastic,\n easeElasticOut,\n easeElasticInOut,\n easeBackIn,\n easeBackOut,\n easeBack,\n easeBackInOut,\n easeBounceIn,\n easeBounce,\n easeBounceOut,\n easeBounceInOut,\n schemeCategory10,\n schemeAccent,\n schemeDark2,\n schemePaired,\n schemePastel1,\n schemePastel2,\n schemeSet1,\n schemeSet2,\n schemeSet3,\n schemeTableau10\n};\n/**\n* D3 Slices Chart\n*/\n\nclass d3sliceschart extends d3chart {\n constructor(selection, data, config) {\n super(selection, data, config, {\n margin: {\n top: 40,\n right: 20,\n bottom: 40,\n left: 20\n },\n key: '',\n value: 'value',\n color: {\n key: false,\n keys: false,\n scheme: false,\n current: '#1f77b4',\n default: '#AAA',\n axis: '#000'\n },\n radius: {\n inner: false,\n outter: false,\n padding: 0,\n round: 0\n },\n transition: {\n duration: 350,\n ease: 'easeLinear'\n }\n });\n }\n /**\n * Init chart\n */\n\n\n initChart() {\n // Set up dimensions\n this.getDimensions();\n this.initChartFrame('sliceschart');\n this.cScale = d3$7.scaleOrdinal();\n this.rScale = d3$7.scaleLinear();\n this.arc = d3$7.arc();\n this.pie = d3$7.pie().sort(null).value(() => 1).padAngle(this.cfg.radius.padding);\n\n if (this.cfg.radius && this.cfg.radius.inner) {\n const outRadius = this.cfg.radius.outter ? this.cfg.radius.outter : Math.min(this.cfg.width, this.cfg.height) / 2;\n this.cfg.radius.relation = this.cfg.radius.inner ? this.cfg.radius.inner / outRadius : 0;\n }\n\n this.gcenter = this.g.append('g');\n this.setChartDimension();\n this.updateChart();\n }\n /**\n * Set up chart dimensions (non depending on data)\n */\n\n\n setChartDimension() {\n // SVG element\n this.svg.attr(\"viewBox\", `0 0 ${this.cfg.width + this.cfg.margin.left + this.cfg.margin.right} ${this.cfg.height + this.cfg.margin.top + this.cfg.margin.bottom}`).attr(\"width\", this.cfg.width + this.cfg.margin.left + this.cfg.margin.right).attr(\"height\", this.cfg.height + this.cfg.margin.top + this.cfg.margin.bottom); // Center element\n\n this.gcenter.attr('transform', `translate(${this.cfg.width / 2}, ${this.cfg.height / 2})`);\n }\n /**\n * Bind data to main elements groups\n */\n\n\n bindData() {\n this.itemg = this.gcenter.selectAll('.chart__slice-group').data(this.pie(this.data), d => d.data[this.cfg.key]); // Set transition\n\n this.transition = d3$7.transition('t').duration(this.cfg.transition.duration).ease(d3$7[this.cfg.transition.ease]);\n }\n /**\n * Set up scales\n */\n\n\n setScales() {\n // Set up radius\n this.cfg.radius.outter = this.cfg.radius && this.cfg.radius.outter ? this.cfg.radius.outter : Math.min(this.cfg.width, this.cfg.height) / 2;\n this.inRadius = this.cfg.radius && this.cfg.radius.inner ? this.cfg.radius.inner : 0;\n\n if (this.cfg.radius.relation) {\n this.inRadius = this.cfg.radius.outter * this.cfg.radius.relation;\n } // Set up arcs\n\n\n this.arc = d3$7.arc().outerRadius(this.cfg.radius.outter).innerRadius(this.inRadius).cornerRadius(this.cfg.radius.round);\n this.rScale.range([this.inRadius, this.cfg.radius.outter]).domain([0, d3$7.max(this.data, d => d[this.cfg.value])]); // Set up color scheme\n\n if (this.cfg.color.scheme) {\n if (this.cfg.color.scheme instanceof Array === true) {\n this.colorScale = d3$7.scaleOrdinal().domain(this.data.map(d => d[this.cfg.key])).range(this.cfg.color.scheme);\n } else {\n this.colorScale = d3$7.scaleOrdinal(d3$7[this.cfg.color.scheme]).domain(this.data.map(d => d[this.cfg.key]));\n }\n }\n }\n /**\n * Add new chart's elements\n */\n\n\n enterElements() {\n const newg = this.itemg.enter().append('g').attr(\"class\", \"chart__slice-group chart__slice-group--sliceschart\"); // BACKGROUNDS\n\n newg.append(\"path\").attr(\"class\", \"chart__slice chart__slice--sliceschart\").on('mouseover', (d, i) => {\n const key = d.data[this.cfg.key];\n const value = d.data[this.cfg.value];\n this.tooltip.html(() => {\n return `
${key}: ${value}
`;\n }).classed('active', true);\n }).on('mouseout', () => {\n this.tooltip.classed('active', false);\n }).on('mousemove', () => {\n this.tooltip.style('left', window.event['pageX'] - 28 + 'px').style('top', window.event['pageY'] - 40 + 'px');\n }).transition(this.transition).delay((d, i) => i * this.cfg.transition.duration).attrTween('d', d => {\n const i = d3$7.interpolate(d.startAngle + 0.1, d.endAngle);\n return t => {\n d.endAngle = i(t);\n return this.arc(d);\n };\n }).style(\"fill\", d => this.cfg.color.default).style('opacity', 1); // FILLS\n\n newg.append(\"path\").attr(\"class\", \"chart__slice chart__slice--sliceschart\").transition(this.transition).delay((d, i) => i * this.cfg.transition.duration).attrTween('d', d => {\n const i = d3$7.interpolate(d.startAngle + 0.1, d.endAngle);\n const arc = d3$7.arc().outerRadius(this.rScale(d.data[this.cfg.value])).innerRadius(this.inRadius).cornerRadius(this.cfg.radius.round);\n return t => {\n d.endAngle = i(t);\n return arc(d);\n };\n }).style(\"fill\", d => this.colorElement(d.data)).style('pointer-events', 'none').style('opacity', 1);\n }\n /**\n * Update chart's elements based on data change\n */\n\n\n updateElements() {}\n /*\n // PATHS\n this.itemg.selectAll(\".chart__slice\")\n .style('opacity', 0)\n .data(this.pie(this.data), d => d.data[this.cfg.key])\n .transition(this.transition)\n .delay((d,i) => i * this.cfg.transition.duration)\n .attrTween('d', d => {\n const i = d3.interpolate(d.startAngle+0.1, d.endAngle);\n return t => {\n d.endAngle = i(t); \n return this.arc(d)\n }\n })\n .style(\"fill\", this.cfg.color.default)\n .style('opacity', 1);\n */\n\n /**\n * Remove chart's elements without data\n */\n\n\n exitElements() {\n this.itemg.exit().transition(this.transition).style(\"opacity\", 0).remove();\n }\n\n midAngle(d) {\n return d.startAngle + (d.endAngle - d.startAngle) / 2;\n }\n /**\n * Store the displayed angles in _current.\n * Then, interpolate from _current to the new angles.\n * During the transition, _current is updated in-place by d3.interpolate.\n */\n\n\n arcTween(a) {\n var i = d3$7.interpolate(this._current, a);\n this._current = i(0);\n return t => this.arc(i(t));\n }\n\n}\n\nvar script$7 = {\n name: 'D3SlicesChart',\n extends: __vue_component__,\n\n mounted() {\n this.chart = new d3sliceschart(this.$refs.chart, JSON.parse(JSON.stringify(this.datum)), this.config);\n }\n\n};\n\n/* script */\nconst __vue_script__$7 = script$7;\n/* template */\n\n/* style */\n\nconst __vue_inject_styles__$7 = function (inject) {\n if (!inject) return;\n inject(\"data-v-6a52c448_0\", {\n source: \".chart__wrapper{margin:20px 0}.chart__wrap{margin:0}.chart__title{text-align:center;font-weight:700}.chart__source{font-size:12px}.chart__tooltip{position:absolute;pointer-events:none;display:none}.chart__tooltip.active{display:block}.chart__tooltip>div{background:#2b2b2b;color:#fff;padding:6px 10px;border-radius:3px}.chart__axis{font-size:12px;shape-rendering:crispEdges}.chart__grid .domain{stroke:none;fill:none}.chart__grid .tick line{opacity:.2}.chart__label{font-size:12px}.chart .clickable{cursor:pointer}\",\n map: undefined,\n media: undefined\n });\n};\n/* scoped */\n\n\nconst __vue_scope_id__$7 = undefined;\n/* module identifier */\n\nconst __vue_module_identifier__$7 = undefined;\n/* functional template */\n\nconst __vue_is_functional_template__$7 = undefined;\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nconst __vue_component__$7 = normalizeComponent({}, __vue_inject_styles__$7, __vue_script__$7, __vue_scope_id__$7, __vue_is_functional_template__$7, __vue_module_identifier__$7, false, createInjector, undefined, undefined);\n\n/* eslint-disable import/prefer-default-export */\n\nvar components = /*#__PURE__*/Object.freeze({\n __proto__: null,\n D3BarChart: __vue_component__$1,\n D3LineChart: __vue_component__$2,\n D3PieChart: __vue_component__$3,\n D3SlopeChart: __vue_component__$4,\n D3Sunburst: __vue_component__$5,\n D3WordsCloud: __vue_component__$6,\n D3SlicesChart: __vue_component__$7\n});\n\n// Import vue components\n\nconst install = function installVueD3Charts(Vue) {\n if (install.installed) return;\n install.installed = true;\n Object.entries(components).forEach(([componentName, component]) => {\n Vue.component(componentName, component);\n });\n}; // Create module definition for Vue.use()\n\n\nconst plugin = {\n install\n}; // To auto-install when vue is found\n// eslint-disable-next-line no-redeclare\n\n/* global window, global */\n\nlet GlobalVue = null;\n\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue;\n}\n\nif (GlobalVue) {\n GlobalVue.use(plugin);\n} // Default export is library as a whole, registered via Vue.use()\n\nexport default plugin;\nexport { __vue_component__$1 as D3BarChart, __vue_component__$2 as D3LineChart, __vue_component__$3 as D3PieChart, __vue_component__$7 as D3SlicesChart, __vue_component__$4 as D3SlopeChart, __vue_component__$5 as D3Sunburst, __vue_component__$6 as D3WordsCloud };\n","'use strict';\nvar fails = require('./_fails');\n\nmodule.exports = function (method, arg) {\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call\n arg ? method.call(null, function () { /* empty */ }, 1) : method.call(null);\n });\n};\n","var b1 = 4 / 11,\n b2 = 6 / 11,\n b3 = 8 / 11,\n b4 = 3 / 4,\n b5 = 9 / 11,\n b6 = 10 / 11,\n b7 = 15 / 16,\n b8 = 21 / 22,\n b9 = 63 / 64,\n b0 = 1 / b1 / b1;\n\nexport function bounceIn(t) {\n return 1 - bounceOut(1 - t);\n}\n\nexport function bounceOut(t) {\n return (t = +t) < b1 ? b0 * t * t : t < b3 ? b0 * (t -= b2) * t + b4 : t < b6 ? b0 * (t -= b5) * t + b7 : b0 * (t -= b8) * t + b9;\n}\n\nexport function bounceInOut(t) {\n return ((t *= 2) <= 1 ? 1 - bounceOut(1 - t) : bounceOut(t - 1) + 1) / 2;\n}\n","import defaultView from \"../window\";\n\nfunction styleRemove(name) {\n return function() {\n this.style.removeProperty(name);\n };\n}\n\nfunction styleConstant(name, value, priority) {\n return function() {\n this.style.setProperty(name, value, priority);\n };\n}\n\nfunction styleFunction(name, value, priority) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.style.removeProperty(name);\n else this.style.setProperty(name, v, priority);\n };\n}\n\nexport default function(name, value, priority) {\n return arguments.length > 1\n ? this.each((value == null\n ? styleRemove : typeof value === \"function\"\n ? styleFunction\n : styleConstant)(name, value, priority == null ? \"\" : priority))\n : styleValue(this.node(), name);\n}\n\nexport function styleValue(node, name) {\n return node.style.getPropertyValue(name)\n || defaultView(node).getComputedStyle(node, null).getPropertyValue(name);\n}\n","exports.f = require('./_wks');\n","var global = require('./_global');\nvar core = require('./_core');\nvar LIBRARY = require('./_library');\nvar wksExt = require('./_wks-ext');\nvar defineProperty = require('./_object-dp').f;\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n","function empty() {\n return [];\n}\n\nexport default function(selector) {\n return selector == null ? empty : function() {\n return this.querySelectorAll(selector);\n };\n}\n","export var slice = Array.prototype.slice;\n","export default function(x) {\n return x;\n}\n","import {slice} from \"./array\";\nimport identity from \"./identity\";\n\nvar top = 1,\n right = 2,\n bottom = 3,\n left = 4,\n epsilon = 1e-6;\n\nfunction translateX(x) {\n return \"translate(\" + (x + 0.5) + \",0)\";\n}\n\nfunction translateY(y) {\n return \"translate(0,\" + (y + 0.5) + \")\";\n}\n\nfunction number(scale) {\n return function(d) {\n return +scale(d);\n };\n}\n\nfunction center(scale) {\n var offset = Math.max(0, scale.bandwidth() - 1) / 2; // Adjust for 0.5px offset.\n if (scale.round()) offset = Math.round(offset);\n return function(d) {\n return +scale(d) + offset;\n };\n}\n\nfunction entering() {\n return !this.__axis;\n}\n\nfunction axis(orient, scale) {\n var tickArguments = [],\n tickValues = null,\n tickFormat = null,\n tickSizeInner = 6,\n tickSizeOuter = 6,\n tickPadding = 3,\n k = orient === top || orient === left ? -1 : 1,\n x = orient === left || orient === right ? \"x\" : \"y\",\n transform = orient === top || orient === bottom ? translateX : translateY;\n\n function axis(context) {\n var values = tickValues == null ? (scale.ticks ? scale.ticks.apply(scale, tickArguments) : scale.domain()) : tickValues,\n format = tickFormat == null ? (scale.tickFormat ? scale.tickFormat.apply(scale, tickArguments) : identity) : tickFormat,\n spacing = Math.max(tickSizeInner, 0) + tickPadding,\n range = scale.range(),\n range0 = +range[0] + 0.5,\n range1 = +range[range.length - 1] + 0.5,\n position = (scale.bandwidth ? center : number)(scale.copy()),\n selection = context.selection ? context.selection() : context,\n path = selection.selectAll(\".domain\").data([null]),\n tick = selection.selectAll(\".tick\").data(values, scale).order(),\n tickExit = tick.exit(),\n tickEnter = tick.enter().append(\"g\").attr(\"class\", \"tick\"),\n line = tick.select(\"line\"),\n text = tick.select(\"text\");\n\n path = path.merge(path.enter().insert(\"path\", \".tick\")\n .attr(\"class\", \"domain\")\n .attr(\"stroke\", \"currentColor\"));\n\n tick = tick.merge(tickEnter);\n\n line = line.merge(tickEnter.append(\"line\")\n .attr(\"stroke\", \"currentColor\")\n .attr(x + \"2\", k * tickSizeInner));\n\n text = text.merge(tickEnter.append(\"text\")\n .attr(\"fill\", \"currentColor\")\n .attr(x, k * spacing)\n .attr(\"dy\", orient === top ? \"0em\" : orient === bottom ? \"0.71em\" : \"0.32em\"));\n\n if (context !== selection) {\n path = path.transition(context);\n tick = tick.transition(context);\n line = line.transition(context);\n text = text.transition(context);\n\n tickExit = tickExit.transition(context)\n .attr(\"opacity\", epsilon)\n .attr(\"transform\", function(d) { return isFinite(d = position(d)) ? transform(d) : this.getAttribute(\"transform\"); });\n\n tickEnter\n .attr(\"opacity\", epsilon)\n .attr(\"transform\", function(d) { var p = this.parentNode.__axis; return transform(p && isFinite(p = p(d)) ? p : position(d)); });\n }\n\n tickExit.remove();\n\n path\n .attr(\"d\", orient === left || orient == right\n ? (tickSizeOuter ? \"M\" + k * tickSizeOuter + \",\" + range0 + \"H0.5V\" + range1 + \"H\" + k * tickSizeOuter : \"M0.5,\" + range0 + \"V\" + range1)\n : (tickSizeOuter ? \"M\" + range0 + \",\" + k * tickSizeOuter + \"V0.5H\" + range1 + \"V\" + k * tickSizeOuter : \"M\" + range0 + \",0.5H\" + range1));\n\n tick\n .attr(\"opacity\", 1)\n .attr(\"transform\", function(d) { return transform(position(d)); });\n\n line\n .attr(x + \"2\", k * tickSizeInner);\n\n text\n .attr(x, k * spacing)\n .text(format);\n\n selection.filter(entering)\n .attr(\"fill\", \"none\")\n .attr(\"font-size\", 10)\n .attr(\"font-family\", \"sans-serif\")\n .attr(\"text-anchor\", orient === right ? \"start\" : orient === left ? \"end\" : \"middle\");\n\n selection\n .each(function() { this.__axis = position; });\n }\n\n axis.scale = function(_) {\n return arguments.length ? (scale = _, axis) : scale;\n };\n\n axis.ticks = function() {\n return tickArguments = slice.call(arguments), axis;\n };\n\n axis.tickArguments = function(_) {\n return arguments.length ? (tickArguments = _ == null ? [] : slice.call(_), axis) : tickArguments.slice();\n };\n\n axis.tickValues = function(_) {\n return arguments.length ? (tickValues = _ == null ? null : slice.call(_), axis) : tickValues && tickValues.slice();\n };\n\n axis.tickFormat = function(_) {\n return arguments.length ? (tickFormat = _, axis) : tickFormat;\n };\n\n axis.tickSize = function(_) {\n return arguments.length ? (tickSizeInner = tickSizeOuter = +_, axis) : tickSizeInner;\n };\n\n axis.tickSizeInner = function(_) {\n return arguments.length ? (tickSizeInner = +_, axis) : tickSizeInner;\n };\n\n axis.tickSizeOuter = function(_) {\n return arguments.length ? (tickSizeOuter = +_, axis) : tickSizeOuter;\n };\n\n axis.tickPadding = function(_) {\n return arguments.length ? (tickPadding = +_, axis) : tickPadding;\n };\n\n return axis;\n}\n\nexport function axisTop(scale) {\n return axis(top, scale);\n}\n\nexport function axisRight(scale) {\n return axis(right, scale);\n}\n\nexport function axisBottom(scale) {\n return axis(bottom, scale);\n}\n\nexport function axisLeft(scale) {\n return axis(left, scale);\n}\n","export const durationSecond = 1000;\nexport const durationMinute = durationSecond * 60;\nexport const durationHour = durationMinute * 60;\nexport const durationDay = durationHour * 24;\nexport const durationWeek = durationDay * 7;\nexport const durationMonth = durationDay * 30;\nexport const durationYear = durationDay * 365;\n","var t0 = new Date,\n t1 = new Date;\n\nexport default function newInterval(floori, offseti, count, field) {\n\n function interval(date) {\n return floori(date = arguments.length === 0 ? new Date : new Date(+date)), date;\n }\n\n interval.floor = function(date) {\n return floori(date = new Date(+date)), date;\n };\n\n interval.ceil = function(date) {\n return floori(date = new Date(date - 1)), offseti(date, 1), floori(date), date;\n };\n\n interval.round = function(date) {\n var d0 = interval(date),\n d1 = interval.ceil(date);\n return date - d0 < d1 - date ? d0 : d1;\n };\n\n interval.offset = function(date, step) {\n return offseti(date = new Date(+date), step == null ? 1 : Math.floor(step)), date;\n };\n\n interval.range = function(start, stop, step) {\n var range = [], previous;\n start = interval.ceil(start);\n step = step == null ? 1 : Math.floor(step);\n if (!(start < stop) || !(step > 0)) return range; // also handles Invalid Date\n do range.push(previous = new Date(+start)), offseti(start, step), floori(start);\n while (previous < start && start < stop);\n return range;\n };\n\n interval.filter = function(test) {\n return newInterval(function(date) {\n if (date >= date) while (floori(date), !test(date)) date.setTime(date - 1);\n }, function(date, step) {\n if (date >= date) {\n if (step < 0) while (++step <= 0) {\n while (offseti(date, -1), !test(date)) {} // eslint-disable-line no-empty\n } else while (--step >= 0) {\n while (offseti(date, +1), !test(date)) {} // eslint-disable-line no-empty\n }\n }\n });\n };\n\n if (count) {\n interval.count = function(start, end) {\n t0.setTime(+start), t1.setTime(+end);\n floori(t0), floori(t1);\n return Math.floor(count(t0, t1));\n };\n\n interval.every = function(step) {\n step = Math.floor(step);\n return !isFinite(step) || !(step > 0) ? null\n : !(step > 1) ? interval\n : interval.filter(field\n ? function(d) { return field(d) % step === 0; }\n : function(d) { return interval.count(0, d) % step === 0; });\n };\n }\n\n return interval;\n}\n","import interval from \"./interval.js\";\n\nvar millisecond = interval(function() {\n // noop\n}, function(date, step) {\n date.setTime(+date + step);\n}, function(start, end) {\n return end - start;\n});\n\n// An optimized implementation for this simple case.\nmillisecond.every = function(k) {\n k = Math.floor(k);\n if (!isFinite(k) || !(k > 0)) return null;\n if (!(k > 1)) return millisecond;\n return interval(function(date) {\n date.setTime(Math.floor(date / k) * k);\n }, function(date, step) {\n date.setTime(+date + step * k);\n }, function(start, end) {\n return (end - start) / k;\n });\n};\n\nexport default millisecond;\nexport var milliseconds = millisecond.range;\n","import interval from \"./interval.js\";\nimport {durationSecond} from \"./duration.js\";\n\nvar second = interval(function(date) {\n date.setTime(date - date.getMilliseconds());\n}, function(date, step) {\n date.setTime(+date + step * durationSecond);\n}, function(start, end) {\n return (end - start) / durationSecond;\n}, function(date) {\n return date.getUTCSeconds();\n});\n\nexport default second;\nexport var seconds = second.range;\n","import interval from \"./interval.js\";\nimport {durationMinute, durationSecond} from \"./duration.js\";\n\nvar minute = interval(function(date) {\n date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond);\n}, function(date, step) {\n date.setTime(+date + step * durationMinute);\n}, function(start, end) {\n return (end - start) / durationMinute;\n}, function(date) {\n return date.getMinutes();\n});\n\nexport default minute;\nexport var minutes = minute.range;\n","import interval from \"./interval.js\";\nimport {durationHour, durationMinute, durationSecond} from \"./duration.js\";\n\nvar hour = interval(function(date) {\n date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond - date.getMinutes() * durationMinute);\n}, function(date, step) {\n date.setTime(+date + step * durationHour);\n}, function(start, end) {\n return (end - start) / durationHour;\n}, function(date) {\n return date.getHours();\n});\n\nexport default hour;\nexport var hours = hour.range;\n","import interval from \"./interval.js\";\nimport {durationDay, durationMinute} from \"./duration.js\";\n\nvar day = interval(\n date => date.setHours(0, 0, 0, 0),\n (date, step) => date.setDate(date.getDate() + step),\n (start, end) => (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationDay,\n date => date.getDate() - 1\n);\n\nexport default day;\nexport var days = day.range;\n","import interval from \"./interval.js\";\nimport {durationMinute, durationWeek} from \"./duration.js\";\n\nfunction weekday(i) {\n return interval(function(date) {\n date.setDate(date.getDate() - (date.getDay() + 7 - i) % 7);\n date.setHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setDate(date.getDate() + step * 7);\n }, function(start, end) {\n return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationWeek;\n });\n}\n\nexport var sunday = weekday(0);\nexport var monday = weekday(1);\nexport var tuesday = weekday(2);\nexport var wednesday = weekday(3);\nexport var thursday = weekday(4);\nexport var friday = weekday(5);\nexport var saturday = weekday(6);\n\nexport var sundays = sunday.range;\nexport var mondays = monday.range;\nexport var tuesdays = tuesday.range;\nexport var wednesdays = wednesday.range;\nexport var thursdays = thursday.range;\nexport var fridays = friday.range;\nexport var saturdays = saturday.range;\n","import interval from \"./interval.js\";\n\nvar month = interval(function(date) {\n date.setDate(1);\n date.setHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setMonth(date.getMonth() + step);\n}, function(start, end) {\n return end.getMonth() - start.getMonth() + (end.getFullYear() - start.getFullYear()) * 12;\n}, function(date) {\n return date.getMonth();\n});\n\nexport default month;\nexport var months = month.range;\n","import interval from \"./interval.js\";\n\nvar year = interval(function(date) {\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setFullYear(date.getFullYear() + step);\n}, function(start, end) {\n return end.getFullYear() - start.getFullYear();\n}, function(date) {\n return date.getFullYear();\n});\n\n// An optimized implementation for this simple case.\nyear.every = function(k) {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : interval(function(date) {\n date.setFullYear(Math.floor(date.getFullYear() / k) * k);\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setFullYear(date.getFullYear() + step * k);\n });\n};\n\nexport default year;\nexport var years = year.range;\n","import interval from \"./interval.js\";\nimport {durationMinute} from \"./duration.js\";\n\nvar utcMinute = interval(function(date) {\n date.setUTCSeconds(0, 0);\n}, function(date, step) {\n date.setTime(+date + step * durationMinute);\n}, function(start, end) {\n return (end - start) / durationMinute;\n}, function(date) {\n return date.getUTCMinutes();\n});\n\nexport default utcMinute;\nexport var utcMinutes = utcMinute.range;\n","import interval from \"./interval.js\";\nimport {durationHour} from \"./duration.js\";\n\nvar utcHour = interval(function(date) {\n date.setUTCMinutes(0, 0, 0);\n}, function(date, step) {\n date.setTime(+date + step * durationHour);\n}, function(start, end) {\n return (end - start) / durationHour;\n}, function(date) {\n return date.getUTCHours();\n});\n\nexport default utcHour;\nexport var utcHours = utcHour.range;\n","import interval from \"./interval.js\";\nimport {durationDay} from \"./duration.js\";\n\nvar utcDay = interval(function(date) {\n date.setUTCHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setUTCDate(date.getUTCDate() + step);\n}, function(start, end) {\n return (end - start) / durationDay;\n}, function(date) {\n return date.getUTCDate() - 1;\n});\n\nexport default utcDay;\nexport var utcDays = utcDay.range;\n","import interval from \"./interval.js\";\nimport {durationWeek} from \"./duration.js\";\n\nfunction utcWeekday(i) {\n return interval(function(date) {\n date.setUTCDate(date.getUTCDate() - (date.getUTCDay() + 7 - i) % 7);\n date.setUTCHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setUTCDate(date.getUTCDate() + step * 7);\n }, function(start, end) {\n return (end - start) / durationWeek;\n });\n}\n\nexport var utcSunday = utcWeekday(0);\nexport var utcMonday = utcWeekday(1);\nexport var utcTuesday = utcWeekday(2);\nexport var utcWednesday = utcWeekday(3);\nexport var utcThursday = utcWeekday(4);\nexport var utcFriday = utcWeekday(5);\nexport var utcSaturday = utcWeekday(6);\n\nexport var utcSundays = utcSunday.range;\nexport var utcMondays = utcMonday.range;\nexport var utcTuesdays = utcTuesday.range;\nexport var utcWednesdays = utcWednesday.range;\nexport var utcThursdays = utcThursday.range;\nexport var utcFridays = utcFriday.range;\nexport var utcSaturdays = utcSaturday.range;\n","import interval from \"./interval.js\";\n\nvar utcMonth = interval(function(date) {\n date.setUTCDate(1);\n date.setUTCHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setUTCMonth(date.getUTCMonth() + step);\n}, function(start, end) {\n return end.getUTCMonth() - start.getUTCMonth() + (end.getUTCFullYear() - start.getUTCFullYear()) * 12;\n}, function(date) {\n return date.getUTCMonth();\n});\n\nexport default utcMonth;\nexport var utcMonths = utcMonth.range;\n","import interval from \"./interval.js\";\n\nvar utcYear = interval(function(date) {\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setUTCFullYear(date.getUTCFullYear() + step);\n}, function(start, end) {\n return end.getUTCFullYear() - start.getUTCFullYear();\n}, function(date) {\n return date.getUTCFullYear();\n});\n\n// An optimized implementation for this simple case.\nutcYear.every = function(k) {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : interval(function(date) {\n date.setUTCFullYear(Math.floor(date.getUTCFullYear() / k) * k);\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setUTCFullYear(date.getUTCFullYear() + step * k);\n });\n};\n\nexport default utcYear;\nexport var utcYears = utcYear.range;\n","import {bisector, tickStep} from \"d3-array\";\nimport {durationDay, durationHour, durationMinute, durationMonth, durationSecond, durationWeek, durationYear} from \"./duration.js\";\nimport millisecond from \"./millisecond.js\";\nimport second from \"./second.js\";\nimport minute from \"./minute.js\";\nimport hour from \"./hour.js\";\nimport day from \"./day.js\";\nimport {sunday as week} from \"./week.js\";\nimport month from \"./month.js\";\nimport year from \"./year.js\";\nimport utcMinute from \"./utcMinute.js\";\nimport utcHour from \"./utcHour.js\";\nimport utcDay from \"./utcDay.js\";\nimport {utcSunday as utcWeek} from \"./utcWeek.js\";\nimport utcMonth from \"./utcMonth.js\";\nimport utcYear from \"./utcYear.js\";\n\nfunction ticker(year, month, week, day, hour, minute) {\n\n const tickIntervals = [\n [second, 1, durationSecond],\n [second, 5, 5 * durationSecond],\n [second, 15, 15 * durationSecond],\n [second, 30, 30 * durationSecond],\n [minute, 1, durationMinute],\n [minute, 5, 5 * durationMinute],\n [minute, 15, 15 * durationMinute],\n [minute, 30, 30 * durationMinute],\n [ hour, 1, durationHour ],\n [ hour, 3, 3 * durationHour ],\n [ hour, 6, 6 * durationHour ],\n [ hour, 12, 12 * durationHour ],\n [ day, 1, durationDay ],\n [ day, 2, 2 * durationDay ],\n [ week, 1, durationWeek ],\n [ month, 1, durationMonth ],\n [ month, 3, 3 * durationMonth ],\n [ year, 1, durationYear ]\n ];\n\n function ticks(start, stop, count) {\n const reverse = stop < start;\n if (reverse) [start, stop] = [stop, start];\n const interval = count && typeof count.range === \"function\" ? count : tickInterval(start, stop, count);\n const ticks = interval ? interval.range(start, +stop + 1) : []; // inclusive stop\n return reverse ? ticks.reverse() : ticks;\n }\n\n function tickInterval(start, stop, count) {\n const target = Math.abs(stop - start) / count;\n const i = bisector(([,, step]) => step).right(tickIntervals, target);\n if (i === tickIntervals.length) return year.every(tickStep(start / durationYear, stop / durationYear, count));\n if (i === 0) return millisecond.every(Math.max(tickStep(start, stop, count), 1));\n const [t, step] = tickIntervals[target / tickIntervals[i - 1][2] < tickIntervals[i][2] / target ? i - 1 : i];\n return t.every(step);\n }\n\n return [ticks, tickInterval];\n}\n\nconst [utcTicks, utcTickInterval] = ticker(utcYear, utcMonth, utcWeek, utcDay, utcHour, utcMinute);\nconst [timeTicks, timeTickInterval] = ticker(year, month, week, day, hour, minute);\n\nexport {utcTicks, utcTickInterval, timeTicks, timeTickInterval};\n","export default function nice(domain, interval) {\n domain = domain.slice();\n\n var i0 = 0,\n i1 = domain.length - 1,\n x0 = domain[i0],\n x1 = domain[i1],\n t;\n\n if (x1 < x0) {\n t = i0, i0 = i1, i1 = t;\n t = x0, x0 = x1, x1 = t;\n }\n\n domain[i0] = interval.floor(x0);\n domain[i1] = interval.ceil(x1);\n return domain;\n}\n","import {timeYear, timeMonth, timeWeek, timeDay, timeHour, timeMinute, timeSecond, timeTicks, timeTickInterval} from \"d3-time\";\nimport {timeFormat} from \"d3-time-format\";\nimport continuous, {copy} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\nimport nice from \"./nice.js\";\n\nfunction date(t) {\n return new Date(t);\n}\n\nfunction number(t) {\n return t instanceof Date ? +t : +new Date(+t);\n}\n\nexport function calendar(ticks, tickInterval, year, month, week, day, hour, minute, second, format) {\n var scale = continuous(),\n invert = scale.invert,\n domain = scale.domain;\n\n var formatMillisecond = format(\".%L\"),\n formatSecond = format(\":%S\"),\n formatMinute = format(\"%I:%M\"),\n formatHour = format(\"%I %p\"),\n formatDay = format(\"%a %d\"),\n formatWeek = format(\"%b %d\"),\n formatMonth = format(\"%B\"),\n formatYear = format(\"%Y\");\n\n function tickFormat(date) {\n return (second(date) < date ? formatMillisecond\n : minute(date) < date ? formatSecond\n : hour(date) < date ? formatMinute\n : day(date) < date ? formatHour\n : month(date) < date ? (week(date) < date ? formatDay : formatWeek)\n : year(date) < date ? formatMonth\n : formatYear)(date);\n }\n\n scale.invert = function(y) {\n return new Date(invert(y));\n };\n\n scale.domain = function(_) {\n return arguments.length ? domain(Array.from(_, number)) : domain().map(date);\n };\n\n scale.ticks = function(interval) {\n var d = domain();\n return ticks(d[0], d[d.length - 1], interval == null ? 10 : interval);\n };\n\n scale.tickFormat = function(count, specifier) {\n return specifier == null ? tickFormat : format(specifier);\n };\n\n scale.nice = function(interval) {\n var d = domain();\n if (!interval || typeof interval.range !== \"function\") interval = tickInterval(d[0], d[d.length - 1], interval == null ? 10 : interval);\n return interval ? domain(nice(d, interval)) : scale;\n };\n\n scale.copy = function() {\n return copy(scale, calendar(ticks, tickInterval, year, month, week, day, hour, minute, second, format));\n };\n\n return scale;\n}\n\nexport default function time() {\n return initRange.apply(calendar(timeTicks, timeTickInterval, timeYear, timeMonth, timeWeek, timeDay, timeHour, timeMinute, timeSecond, timeFormat).domain([new Date(2000, 0, 1), new Date(2000, 0, 2)]), arguments);\n}\n","function Linear(context) {\n this._context = context;\n}\n\nLinear.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; // proceed\n default: this._context.lineTo(x, y); break;\n }\n }\n};\n\nexport default function(context) {\n return new Linear(context);\n}\n","// Word cloud layout by Jason Davies, https://www.jasondavies.com/wordcloud/\n// Algorithm due to Jonathan Feinberg, https://s3.amazonaws.com/static.mrfeinberg.com/bv_ch03.pdf\n\nconst dispatch = require(\"d3-dispatch\").dispatch;\n\nconst RADIANS = Math.PI / 180;\n\nconst SPIRALS = {\n archimedean: archimedeanSpiral,\n rectangular: rectangularSpiral\n};\n\nconst cw = 1 << 11 >> 5;\nconst ch = 1 << 11;\n\nmodule.exports = function() {\n var size = [256, 256],\n text = cloudText,\n font = cloudFont,\n fontSize = cloudFontSize,\n fontStyle = cloudFontNormal,\n fontWeight = cloudFontNormal,\n rotate = cloudRotate,\n padding = cloudPadding,\n spiral = archimedeanSpiral,\n words = [],\n timeInterval = Infinity,\n event = dispatch(\"word\", \"end\"),\n timer = null,\n random = Math.random,\n cloud = {},\n canvas = cloudCanvas;\n\n cloud.canvas = function(_) {\n return arguments.length ? (canvas = functor(_), cloud) : canvas;\n };\n\n cloud.start = function() {\n var contextAndRatio = getContext(canvas()),\n board = zeroArray((size[0] >> 5) * size[1]),\n bounds = null,\n n = words.length,\n i = -1,\n tags = [],\n data = words.map(function(d, i) {\n d.text = text.call(this, d, i);\n d.font = font.call(this, d, i);\n d.style = fontStyle.call(this, d, i);\n d.weight = fontWeight.call(this, d, i);\n d.rotate = rotate.call(this, d, i);\n d.size = ~~fontSize.call(this, d, i);\n d.padding = padding.call(this, d, i);\n return d;\n }).sort(function(a, b) { return b.size - a.size; });\n\n if (timer) clearInterval(timer);\n timer = setInterval(step, 0);\n step();\n\n return cloud;\n\n function step() {\n var start = Date.now();\n while (Date.now() - start < timeInterval && ++i < n && timer) {\n var d = data[i];\n d.x = (size[0] * (random() + .5)) >> 1;\n d.y = (size[1] * (random() + .5)) >> 1;\n cloudSprite(contextAndRatio, d, data, i);\n if (d.hasText && place(board, d, bounds)) {\n tags.push(d);\n event.call(\"word\", cloud, d);\n if (bounds) cloudBounds(bounds, d);\n else bounds = [{x: d.x + d.x0, y: d.y + d.y0}, {x: d.x + d.x1, y: d.y + d.y1}];\n // Temporary hack\n d.x -= size[0] >> 1;\n d.y -= size[1] >> 1;\n }\n }\n if (i >= n) {\n cloud.stop();\n event.call(\"end\", cloud, tags, bounds);\n }\n }\n }\n\n cloud.stop = function() {\n if (timer) {\n clearInterval(timer);\n timer = null;\n }\n for (const d of words) {\n delete d.sprite;\n }\n return cloud;\n };\n\n function getContext(canvas) {\n const context = canvas.getContext(\"2d\", {willReadFrequently: true});\n\n canvas.width = canvas.height = 1;\n const ratio = Math.sqrt(context.getImageData(0, 0, 1, 1).data.length >> 2);\n canvas.width = (cw << 5) / ratio;\n canvas.height = ch / ratio;\n\n context.fillStyle = context.strokeStyle = \"red\";\n\n return {context, ratio};\n }\n\n function place(board, tag, bounds) {\n var perimeter = [{x: 0, y: 0}, {x: size[0], y: size[1]}],\n startX = tag.x,\n startY = tag.y,\n maxDelta = Math.sqrt(size[0] * size[0] + size[1] * size[1]),\n s = spiral(size),\n dt = random() < .5 ? 1 : -1,\n t = -dt,\n dxdy,\n dx,\n dy;\n\n while (dxdy = s(t += dt)) {\n dx = ~~dxdy[0];\n dy = ~~dxdy[1];\n\n if (Math.min(Math.abs(dx), Math.abs(dy)) >= maxDelta) break;\n\n tag.x = startX + dx;\n tag.y = startY + dy;\n\n if (tag.x + tag.x0 < 0 || tag.y + tag.y0 < 0 ||\n tag.x + tag.x1 > size[0] || tag.y + tag.y1 > size[1]) continue;\n // TODO only check for collisions within current bounds.\n if (!bounds || collideRects(tag, bounds)) {\n if (!cloudCollide(tag, board, size[0])) {\n var sprite = tag.sprite,\n w = tag.width >> 5,\n sw = size[0] >> 5,\n lx = tag.x - (w << 4),\n sx = lx & 0x7f,\n msx = 32 - sx,\n h = tag.y1 - tag.y0,\n x = (tag.y + tag.y0) * sw + (lx >> 5),\n last;\n for (var j = 0; j < h; j++) {\n last = 0;\n for (var i = 0; i <= w; i++) {\n board[x + i] |= (last << msx) | (i < w ? (last = sprite[j * w + i]) >>> sx : 0);\n }\n x += sw;\n }\n return true;\n }\n }\n }\n return false;\n }\n\n cloud.timeInterval = function(_) {\n return arguments.length ? (timeInterval = _ == null ? Infinity : _, cloud) : timeInterval;\n };\n\n cloud.words = function(_) {\n return arguments.length ? (words = _, cloud) : words;\n };\n\n cloud.size = function(_) {\n return arguments.length ? (size = [+_[0], +_[1]], cloud) : size;\n };\n\n cloud.font = function(_) {\n return arguments.length ? (font = functor(_), cloud) : font;\n };\n\n cloud.fontStyle = function(_) {\n return arguments.length ? (fontStyle = functor(_), cloud) : fontStyle;\n };\n\n cloud.fontWeight = function(_) {\n return arguments.length ? (fontWeight = functor(_), cloud) : fontWeight;\n };\n\n cloud.rotate = function(_) {\n return arguments.length ? (rotate = functor(_), cloud) : rotate;\n };\n\n cloud.text = function(_) {\n return arguments.length ? (text = functor(_), cloud) : text;\n };\n\n cloud.spiral = function(_) {\n return arguments.length ? (spiral = SPIRALS[_] || _, cloud) : spiral;\n };\n\n cloud.fontSize = function(_) {\n return arguments.length ? (fontSize = functor(_), cloud) : fontSize;\n };\n\n cloud.padding = function(_) {\n return arguments.length ? (padding = functor(_), cloud) : padding;\n };\n\n cloud.random = function(_) {\n return arguments.length ? (random = _, cloud) : random;\n };\n\n cloud.on = function() {\n var value = event.on.apply(event, arguments);\n return value === event ? cloud : value;\n };\n\n return cloud;\n};\n\nfunction cloudText(d) {\n return d.text;\n}\n\nfunction cloudFont() {\n return \"serif\";\n}\n\nfunction cloudFontNormal() {\n return \"normal\";\n}\n\nfunction cloudFontSize(d) {\n return Math.sqrt(d.value);\n}\n\nfunction cloudRotate() {\n return (~~(random() * 6) - 3) * 30;\n}\n\nfunction cloudPadding() {\n return 1;\n}\n\n// Fetches a monochrome sprite bitmap for the specified text.\n// Load in batches for speed.\nfunction cloudSprite(contextAndRatio, d, data, di) {\n if (d.sprite) return;\n var c = contextAndRatio.context,\n ratio = contextAndRatio.ratio;\n\n c.clearRect(0, 0, (cw << 5) / ratio, ch / ratio);\n var x = 0,\n y = 0,\n maxh = 0,\n n = data.length;\n --di;\n while (++di < n) {\n d = data[di];\n c.save();\n c.font = d.style + \" \" + d.weight + \" \" + ~~((d.size + 1) / ratio) + \"px \" + d.font;\n const metrics = c.measureText(d.text);\n const anchor = -Math.floor(metrics.width / 2);\n let w = (metrics.width + 1) * ratio;\n let h = d.size << 1;\n if (d.rotate) {\n var sr = Math.sin(d.rotate * RADIANS),\n cr = Math.cos(d.rotate * RADIANS),\n wcr = w * cr,\n wsr = w * sr,\n hcr = h * cr,\n hsr = h * sr;\n w = (Math.max(Math.abs(wcr + hsr), Math.abs(wcr - hsr)) + 0x1f) >> 5 << 5;\n h = ~~Math.max(Math.abs(wsr + hcr), Math.abs(wsr - hcr));\n } else {\n w = (w + 0x1f) >> 5 << 5;\n }\n if (h > maxh) maxh = h;\n if (x + w >= (cw << 5)) {\n x = 0;\n y += maxh;\n maxh = 0;\n }\n if (y + h >= ch) break;\n c.translate((x + (w >> 1)) / ratio, (y + (h >> 1)) / ratio);\n if (d.rotate) c.rotate(d.rotate * RADIANS);\n c.fillText(d.text, anchor, 0);\n if (d.padding) c.lineWidth = 2 * d.padding, c.strokeText(d.text, anchor, 0);\n c.restore();\n d.width = w;\n d.height = h;\n d.xoff = x;\n d.yoff = y;\n d.x1 = w >> 1;\n d.y1 = h >> 1;\n d.x0 = -d.x1;\n d.y0 = -d.y1;\n d.hasText = true;\n x += w;\n }\n var pixels = c.getImageData(0, 0, (cw << 5) / ratio, ch / ratio).data,\n sprite = [];\n while (--di >= 0) {\n d = data[di];\n if (!d.hasText) continue;\n var w = d.width,\n w32 = w >> 5,\n h = d.y1 - d.y0;\n // Zero the buffer\n for (var i = 0; i < h * w32; i++) sprite[i] = 0;\n x = d.xoff;\n if (x == null) return;\n y = d.yoff;\n var seen = 0,\n seenRow = -1;\n for (var j = 0; j < h; j++) {\n for (var i = 0; i < w; i++) {\n var k = w32 * j + (i >> 5),\n m = pixels[((y + j) * (cw << 5) + (x + i)) << 2] ? 1 << (31 - (i % 32)) : 0;\n sprite[k] |= m;\n seen |= m;\n }\n if (seen) seenRow = j;\n else {\n d.y0++;\n h--;\n j--;\n y++;\n }\n }\n d.y1 = d.y0 + seenRow;\n d.sprite = sprite.slice(0, (d.y1 - d.y0) * w32);\n }\n}\n\n// Use mask-based collision detection.\nfunction cloudCollide(tag, board, sw) {\n sw >>= 5;\n var sprite = tag.sprite,\n w = tag.width >> 5,\n lx = tag.x - (w << 4),\n sx = lx & 0x7f,\n msx = 32 - sx,\n h = tag.y1 - tag.y0,\n x = (tag.y + tag.y0) * sw + (lx >> 5),\n last;\n for (var j = 0; j < h; j++) {\n last = 0;\n for (var i = 0; i <= w; i++) {\n if (((last << msx) | (i < w ? (last = sprite[j * w + i]) >>> sx : 0))\n & board[x + i]) return true;\n }\n x += sw;\n }\n return false;\n}\n\nfunction cloudBounds(bounds, d) {\n var b0 = bounds[0],\n b1 = bounds[1];\n if (d.x + d.x0 < b0.x) b0.x = d.x + d.x0;\n if (d.y + d.y0 < b0.y) b0.y = d.y + d.y0;\n if (d.x + d.x1 > b1.x) b1.x = d.x + d.x1;\n if (d.y + d.y1 > b1.y) b1.y = d.y + d.y1;\n}\n\nfunction collideRects(a, b) {\n return a.x + a.x1 > b[0].x && a.x + a.x0 < b[1].x && a.y + a.y1 > b[0].y && a.y + a.y0 < b[1].y;\n}\n\nfunction archimedeanSpiral(size) {\n var e = size[0] / size[1];\n return function(t) {\n return [e * (t *= .1) * Math.cos(t), t * Math.sin(t)];\n };\n}\n\nfunction rectangularSpiral(size) {\n var dy = 4,\n dx = dy * size[0] / size[1],\n x = 0,\n y = 0;\n return function(t) {\n var sign = t < 0 ? -1 : 1;\n // See triangular numbers: T_n = n * (n + 1) / 2.\n switch ((Math.sqrt(1 + 4 * sign * t) - sign) & 3) {\n case 0: x += dx; break;\n case 1: y += dy; break;\n case 2: x -= dx; break;\n default: y -= dy; break;\n }\n return [x, y];\n };\n}\n\n// TODO reuse arrays?\nfunction zeroArray(n) {\n var a = [],\n i = -1;\n while (++i < n) a[i] = 0;\n return a;\n}\n\nfunction cloudCanvas() {\n return document.createElement(\"canvas\");\n}\n\nfunction functor(d) {\n return typeof d === \"function\" ? d : function() { return d; };\n}\n","var t0 = new Date,\n t1 = new Date;\n\nexport default function newInterval(floori, offseti, count, field) {\n\n function interval(date) {\n return floori(date = arguments.length === 0 ? new Date : new Date(+date)), date;\n }\n\n interval.floor = function(date) {\n return floori(date = new Date(+date)), date;\n };\n\n interval.ceil = function(date) {\n return floori(date = new Date(date - 1)), offseti(date, 1), floori(date), date;\n };\n\n interval.round = function(date) {\n var d0 = interval(date),\n d1 = interval.ceil(date);\n return date - d0 < d1 - date ? d0 : d1;\n };\n\n interval.offset = function(date, step) {\n return offseti(date = new Date(+date), step == null ? 1 : Math.floor(step)), date;\n };\n\n interval.range = function(start, stop, step) {\n var range = [], previous;\n start = interval.ceil(start);\n step = step == null ? 1 : Math.floor(step);\n if (!(start < stop) || !(step > 0)) return range; // also handles Invalid Date\n do range.push(previous = new Date(+start)), offseti(start, step), floori(start);\n while (previous < start && start < stop);\n return range;\n };\n\n interval.filter = function(test) {\n return newInterval(function(date) {\n if (date >= date) while (floori(date), !test(date)) date.setTime(date - 1);\n }, function(date, step) {\n if (date >= date) {\n if (step < 0) while (++step <= 0) {\n while (offseti(date, -1), !test(date)) {} // eslint-disable-line no-empty\n } else while (--step >= 0) {\n while (offseti(date, +1), !test(date)) {} // eslint-disable-line no-empty\n }\n }\n });\n };\n\n if (count) {\n interval.count = function(start, end) {\n t0.setTime(+start), t1.setTime(+end);\n floori(t0), floori(t1);\n return Math.floor(count(t0, t1));\n };\n\n interval.every = function(step) {\n step = Math.floor(step);\n return !isFinite(step) || !(step > 0) ? null\n : !(step > 1) ? interval\n : interval.filter(field\n ? function(d) { return field(d) % step === 0; }\n : function(d) { return interval.count(0, d) % step === 0; });\n };\n }\n\n return interval;\n}\n","export var durationSecond = 1e3;\nexport var durationMinute = 6e4;\nexport var durationHour = 36e5;\nexport var durationDay = 864e5;\nexport var durationWeek = 6048e5;\n","import interval from \"./interval.js\";\nimport {durationWeek} from \"./duration.js\";\n\nfunction utcWeekday(i) {\n return interval(function(date) {\n date.setUTCDate(date.getUTCDate() - (date.getUTCDay() + 7 - i) % 7);\n date.setUTCHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setUTCDate(date.getUTCDate() + step * 7);\n }, function(start, end) {\n return (end - start) / durationWeek;\n });\n}\n\nexport var utcSunday = utcWeekday(0);\nexport var utcMonday = utcWeekday(1);\nexport var utcTuesday = utcWeekday(2);\nexport var utcWednesday = utcWeekday(3);\nexport var utcThursday = utcWeekday(4);\nexport var utcFriday = utcWeekday(5);\nexport var utcSaturday = utcWeekday(6);\n\nexport var utcSundays = utcSunday.range;\nexport var utcMondays = utcMonday.range;\nexport var utcTuesdays = utcTuesday.range;\nexport var utcWednesdays = utcWednesday.range;\nexport var utcThursdays = utcThursday.range;\nexport var utcFridays = utcFriday.range;\nexport var utcSaturdays = utcSaturday.range;\n","import interval from \"./interval.js\";\nimport {durationDay} from \"./duration.js\";\n\nvar utcDay = interval(function(date) {\n date.setUTCHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setUTCDate(date.getUTCDate() + step);\n}, function(start, end) {\n return (end - start) / durationDay;\n}, function(date) {\n return date.getUTCDate() - 1;\n});\n\nexport default utcDay;\nexport var utcDays = utcDay.range;\n","import interval from \"./interval.js\";\nimport {durationMinute, durationWeek} from \"./duration.js\";\n\nfunction weekday(i) {\n return interval(function(date) {\n date.setDate(date.getDate() - (date.getDay() + 7 - i) % 7);\n date.setHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setDate(date.getDate() + step * 7);\n }, function(start, end) {\n return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationWeek;\n });\n}\n\nexport var sunday = weekday(0);\nexport var monday = weekday(1);\nexport var tuesday = weekday(2);\nexport var wednesday = weekday(3);\nexport var thursday = weekday(4);\nexport var friday = weekday(5);\nexport var saturday = weekday(6);\n\nexport var sundays = sunday.range;\nexport var mondays = monday.range;\nexport var tuesdays = tuesday.range;\nexport var wednesdays = wednesday.range;\nexport var thursdays = thursday.range;\nexport var fridays = friday.range;\nexport var saturdays = saturday.range;\n","import interval from \"./interval.js\";\nimport {durationDay, durationMinute} from \"./duration.js\";\n\nvar day = interval(function(date) {\n date.setHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setDate(date.getDate() + step);\n}, function(start, end) {\n return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationDay;\n}, function(date) {\n return date.getDate() - 1;\n});\n\nexport default day;\nexport var days = day.range;\n","import interval from \"./interval.js\";\n\nvar year = interval(function(date) {\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setFullYear(date.getFullYear() + step);\n}, function(start, end) {\n return end.getFullYear() - start.getFullYear();\n}, function(date) {\n return date.getFullYear();\n});\n\n// An optimized implementation for this simple case.\nyear.every = function(k) {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : interval(function(date) {\n date.setFullYear(Math.floor(date.getFullYear() / k) * k);\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setFullYear(date.getFullYear() + step * k);\n });\n};\n\nexport default year;\nexport var years = year.range;\n","import interval from \"./interval.js\";\n\nvar utcYear = interval(function(date) {\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setUTCFullYear(date.getUTCFullYear() + step);\n}, function(start, end) {\n return end.getUTCFullYear() - start.getUTCFullYear();\n}, function(date) {\n return date.getUTCFullYear();\n});\n\n// An optimized implementation for this simple case.\nutcYear.every = function(k) {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : interval(function(date) {\n date.setUTCFullYear(Math.floor(date.getUTCFullYear() / k) * k);\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setUTCFullYear(date.getUTCFullYear() + step * k);\n });\n};\n\nexport default utcYear;\nexport var utcYears = utcYear.range;\n","import {\n timeDay,\n timeSunday,\n timeMonday,\n timeThursday,\n timeYear,\n utcDay,\n utcSunday,\n utcMonday,\n utcThursday,\n utcYear\n} from \"d3-time\";\n\nfunction localDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(-1, d.m, d.d, d.H, d.M, d.S, d.L);\n date.setFullYear(d.y);\n return date;\n }\n return new Date(d.y, d.m, d.d, d.H, d.M, d.S, d.L);\n}\n\nfunction utcDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(Date.UTC(-1, d.m, d.d, d.H, d.M, d.S, d.L));\n date.setUTCFullYear(d.y);\n return date;\n }\n return new Date(Date.UTC(d.y, d.m, d.d, d.H, d.M, d.S, d.L));\n}\n\nfunction newDate(y, m, d) {\n return {y: y, m: m, d: d, H: 0, M: 0, S: 0, L: 0};\n}\n\nexport default function formatLocale(locale) {\n var locale_dateTime = locale.dateTime,\n locale_date = locale.date,\n locale_time = locale.time,\n locale_periods = locale.periods,\n locale_weekdays = locale.days,\n locale_shortWeekdays = locale.shortDays,\n locale_months = locale.months,\n locale_shortMonths = locale.shortMonths;\n\n var periodRe = formatRe(locale_periods),\n periodLookup = formatLookup(locale_periods),\n weekdayRe = formatRe(locale_weekdays),\n weekdayLookup = formatLookup(locale_weekdays),\n shortWeekdayRe = formatRe(locale_shortWeekdays),\n shortWeekdayLookup = formatLookup(locale_shortWeekdays),\n monthRe = formatRe(locale_months),\n monthLookup = formatLookup(locale_months),\n shortMonthRe = formatRe(locale_shortMonths),\n shortMonthLookup = formatLookup(locale_shortMonths);\n\n var formats = {\n \"a\": formatShortWeekday,\n \"A\": formatWeekday,\n \"b\": formatShortMonth,\n \"B\": formatMonth,\n \"c\": null,\n \"d\": formatDayOfMonth,\n \"e\": formatDayOfMonth,\n \"f\": formatMicroseconds,\n \"g\": formatYearISO,\n \"G\": formatFullYearISO,\n \"H\": formatHour24,\n \"I\": formatHour12,\n \"j\": formatDayOfYear,\n \"L\": formatMilliseconds,\n \"m\": formatMonthNumber,\n \"M\": formatMinutes,\n \"p\": formatPeriod,\n \"q\": formatQuarter,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatSeconds,\n \"u\": formatWeekdayNumberMonday,\n \"U\": formatWeekNumberSunday,\n \"V\": formatWeekNumberISO,\n \"w\": formatWeekdayNumberSunday,\n \"W\": formatWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatYear,\n \"Y\": formatFullYear,\n \"Z\": formatZone,\n \"%\": formatLiteralPercent\n };\n\n var utcFormats = {\n \"a\": formatUTCShortWeekday,\n \"A\": formatUTCWeekday,\n \"b\": formatUTCShortMonth,\n \"B\": formatUTCMonth,\n \"c\": null,\n \"d\": formatUTCDayOfMonth,\n \"e\": formatUTCDayOfMonth,\n \"f\": formatUTCMicroseconds,\n \"g\": formatUTCYearISO,\n \"G\": formatUTCFullYearISO,\n \"H\": formatUTCHour24,\n \"I\": formatUTCHour12,\n \"j\": formatUTCDayOfYear,\n \"L\": formatUTCMilliseconds,\n \"m\": formatUTCMonthNumber,\n \"M\": formatUTCMinutes,\n \"p\": formatUTCPeriod,\n \"q\": formatUTCQuarter,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatUTCSeconds,\n \"u\": formatUTCWeekdayNumberMonday,\n \"U\": formatUTCWeekNumberSunday,\n \"V\": formatUTCWeekNumberISO,\n \"w\": formatUTCWeekdayNumberSunday,\n \"W\": formatUTCWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatUTCYear,\n \"Y\": formatUTCFullYear,\n \"Z\": formatUTCZone,\n \"%\": formatLiteralPercent\n };\n\n var parses = {\n \"a\": parseShortWeekday,\n \"A\": parseWeekday,\n \"b\": parseShortMonth,\n \"B\": parseMonth,\n \"c\": parseLocaleDateTime,\n \"d\": parseDayOfMonth,\n \"e\": parseDayOfMonth,\n \"f\": parseMicroseconds,\n \"g\": parseYear,\n \"G\": parseFullYear,\n \"H\": parseHour24,\n \"I\": parseHour24,\n \"j\": parseDayOfYear,\n \"L\": parseMilliseconds,\n \"m\": parseMonthNumber,\n \"M\": parseMinutes,\n \"p\": parsePeriod,\n \"q\": parseQuarter,\n \"Q\": parseUnixTimestamp,\n \"s\": parseUnixTimestampSeconds,\n \"S\": parseSeconds,\n \"u\": parseWeekdayNumberMonday,\n \"U\": parseWeekNumberSunday,\n \"V\": parseWeekNumberISO,\n \"w\": parseWeekdayNumberSunday,\n \"W\": parseWeekNumberMonday,\n \"x\": parseLocaleDate,\n \"X\": parseLocaleTime,\n \"y\": parseYear,\n \"Y\": parseFullYear,\n \"Z\": parseZone,\n \"%\": parseLiteralPercent\n };\n\n // These recursive directive definitions must be deferred.\n formats.x = newFormat(locale_date, formats);\n formats.X = newFormat(locale_time, formats);\n formats.c = newFormat(locale_dateTime, formats);\n utcFormats.x = newFormat(locale_date, utcFormats);\n utcFormats.X = newFormat(locale_time, utcFormats);\n utcFormats.c = newFormat(locale_dateTime, utcFormats);\n\n function newFormat(specifier, formats) {\n return function(date) {\n var string = [],\n i = -1,\n j = 0,\n n = specifier.length,\n c,\n pad,\n format;\n\n if (!(date instanceof Date)) date = new Date(+date);\n\n while (++i < n) {\n if (specifier.charCodeAt(i) === 37) {\n string.push(specifier.slice(j, i));\n if ((pad = pads[c = specifier.charAt(++i)]) != null) c = specifier.charAt(++i);\n else pad = c === \"e\" ? \" \" : \"0\";\n if (format = formats[c]) c = format(date, pad);\n string.push(c);\n j = i + 1;\n }\n }\n\n string.push(specifier.slice(j, i));\n return string.join(\"\");\n };\n }\n\n function newParse(specifier, Z) {\n return function(string) {\n var d = newDate(1900, undefined, 1),\n i = parseSpecifier(d, specifier, string += \"\", 0),\n week, day;\n if (i != string.length) return null;\n\n // If a UNIX timestamp is specified, return it.\n if (\"Q\" in d) return new Date(d.Q);\n if (\"s\" in d) return new Date(d.s * 1000 + (\"L\" in d ? d.L : 0));\n\n // If this is utcParse, never use the local timezone.\n if (Z && !(\"Z\" in d)) d.Z = 0;\n\n // The am-pm flag is 0 for AM, and 1 for PM.\n if (\"p\" in d) d.H = d.H % 12 + d.p * 12;\n\n // If the month was not specified, inherit from the quarter.\n if (d.m === undefined) d.m = \"q\" in d ? d.q : 0;\n\n // Convert day-of-week and week-of-year to day-of-year.\n if (\"V\" in d) {\n if (d.V < 1 || d.V > 53) return null;\n if (!(\"w\" in d)) d.w = 1;\n if (\"Z\" in d) {\n week = utcDate(newDate(d.y, 0, 1)), day = week.getUTCDay();\n week = day > 4 || day === 0 ? utcMonday.ceil(week) : utcMonday(week);\n week = utcDay.offset(week, (d.V - 1) * 7);\n d.y = week.getUTCFullYear();\n d.m = week.getUTCMonth();\n d.d = week.getUTCDate() + (d.w + 6) % 7;\n } else {\n week = localDate(newDate(d.y, 0, 1)), day = week.getDay();\n week = day > 4 || day === 0 ? timeMonday.ceil(week) : timeMonday(week);\n week = timeDay.offset(week, (d.V - 1) * 7);\n d.y = week.getFullYear();\n d.m = week.getMonth();\n d.d = week.getDate() + (d.w + 6) % 7;\n }\n } else if (\"W\" in d || \"U\" in d) {\n if (!(\"w\" in d)) d.w = \"u\" in d ? d.u % 7 : \"W\" in d ? 1 : 0;\n day = \"Z\" in d ? utcDate(newDate(d.y, 0, 1)).getUTCDay() : localDate(newDate(d.y, 0, 1)).getDay();\n d.m = 0;\n d.d = \"W\" in d ? (d.w + 6) % 7 + d.W * 7 - (day + 5) % 7 : d.w + d.U * 7 - (day + 6) % 7;\n }\n\n // If a time zone is specified, all fields are interpreted as UTC and then\n // offset according to the specified time zone.\n if (\"Z\" in d) {\n d.H += d.Z / 100 | 0;\n d.M += d.Z % 100;\n return utcDate(d);\n }\n\n // Otherwise, all fields are in local time.\n return localDate(d);\n };\n }\n\n function parseSpecifier(d, specifier, string, j) {\n var i = 0,\n n = specifier.length,\n m = string.length,\n c,\n parse;\n\n while (i < n) {\n if (j >= m) return -1;\n c = specifier.charCodeAt(i++);\n if (c === 37) {\n c = specifier.charAt(i++);\n parse = parses[c in pads ? specifier.charAt(i++) : c];\n if (!parse || ((j = parse(d, string, j)) < 0)) return -1;\n } else if (c != string.charCodeAt(j++)) {\n return -1;\n }\n }\n\n return j;\n }\n\n function parsePeriod(d, string, i) {\n var n = periodRe.exec(string.slice(i));\n return n ? (d.p = periodLookup[n[0].toLowerCase()], i + n[0].length) : -1;\n }\n\n function parseShortWeekday(d, string, i) {\n var n = shortWeekdayRe.exec(string.slice(i));\n return n ? (d.w = shortWeekdayLookup[n[0].toLowerCase()], i + n[0].length) : -1;\n }\n\n function parseWeekday(d, string, i) {\n var n = weekdayRe.exec(string.slice(i));\n return n ? (d.w = weekdayLookup[n[0].toLowerCase()], i + n[0].length) : -1;\n }\n\n function parseShortMonth(d, string, i) {\n var n = shortMonthRe.exec(string.slice(i));\n return n ? (d.m = shortMonthLookup[n[0].toLowerCase()], i + n[0].length) : -1;\n }\n\n function parseMonth(d, string, i) {\n var n = monthRe.exec(string.slice(i));\n return n ? (d.m = monthLookup[n[0].toLowerCase()], i + n[0].length) : -1;\n }\n\n function parseLocaleDateTime(d, string, i) {\n return parseSpecifier(d, locale_dateTime, string, i);\n }\n\n function parseLocaleDate(d, string, i) {\n return parseSpecifier(d, locale_date, string, i);\n }\n\n function parseLocaleTime(d, string, i) {\n return parseSpecifier(d, locale_time, string, i);\n }\n\n function formatShortWeekday(d) {\n return locale_shortWeekdays[d.getDay()];\n }\n\n function formatWeekday(d) {\n return locale_weekdays[d.getDay()];\n }\n\n function formatShortMonth(d) {\n return locale_shortMonths[d.getMonth()];\n }\n\n function formatMonth(d) {\n return locale_months[d.getMonth()];\n }\n\n function formatPeriod(d) {\n return locale_periods[+(d.getHours() >= 12)];\n }\n\n function formatQuarter(d) {\n return 1 + ~~(d.getMonth() / 3);\n }\n\n function formatUTCShortWeekday(d) {\n return locale_shortWeekdays[d.getUTCDay()];\n }\n\n function formatUTCWeekday(d) {\n return locale_weekdays[d.getUTCDay()];\n }\n\n function formatUTCShortMonth(d) {\n return locale_shortMonths[d.getUTCMonth()];\n }\n\n function formatUTCMonth(d) {\n return locale_months[d.getUTCMonth()];\n }\n\n function formatUTCPeriod(d) {\n return locale_periods[+(d.getUTCHours() >= 12)];\n }\n\n function formatUTCQuarter(d) {\n return 1 + ~~(d.getUTCMonth() / 3);\n }\n\n return {\n format: function(specifier) {\n var f = newFormat(specifier += \"\", formats);\n f.toString = function() { return specifier; };\n return f;\n },\n parse: function(specifier) {\n var p = newParse(specifier += \"\", false);\n p.toString = function() { return specifier; };\n return p;\n },\n utcFormat: function(specifier) {\n var f = newFormat(specifier += \"\", utcFormats);\n f.toString = function() { return specifier; };\n return f;\n },\n utcParse: function(specifier) {\n var p = newParse(specifier += \"\", true);\n p.toString = function() { return specifier; };\n return p;\n }\n };\n}\n\nvar pads = {\"-\": \"\", \"_\": \" \", \"0\": \"0\"},\n numberRe = /^\\s*\\d+/, // note: ignores next directive\n percentRe = /^%/,\n requoteRe = /[\\\\^$*+?|[\\]().{}]/g;\n\nfunction pad(value, fill, width) {\n var sign = value < 0 ? \"-\" : \"\",\n string = (sign ? -value : value) + \"\",\n length = string.length;\n return sign + (length < width ? new Array(width - length + 1).join(fill) + string : string);\n}\n\nfunction requote(s) {\n return s.replace(requoteRe, \"\\\\$&\");\n}\n\nfunction formatRe(names) {\n return new RegExp(\"^(?:\" + names.map(requote).join(\"|\") + \")\", \"i\");\n}\n\nfunction formatLookup(names) {\n var map = {}, i = -1, n = names.length;\n while (++i < n) map[names[i].toLowerCase()] = i;\n return map;\n}\n\nfunction parseWeekdayNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.w = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekdayNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.u = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.U = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberISO(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.V = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.W = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseFullYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 4));\n return n ? (d.y = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.y = +n[0] + (+n[0] > 68 ? 1900 : 2000), i + n[0].length) : -1;\n}\n\nfunction parseZone(d, string, i) {\n var n = /^(Z)|([+-]\\d\\d)(?::?(\\d\\d))?/.exec(string.slice(i, i + 6));\n return n ? (d.Z = n[1] ? 0 : -(n[2] + (n[3] || \"00\")), i + n[0].length) : -1;\n}\n\nfunction parseQuarter(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.q = n[0] * 3 - 3, i + n[0].length) : -1;\n}\n\nfunction parseMonthNumber(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.m = n[0] - 1, i + n[0].length) : -1;\n}\n\nfunction parseDayOfMonth(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseDayOfYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.m = 0, d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseHour24(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.H = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMinutes(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.M = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.S = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMilliseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.L = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMicroseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 6));\n return n ? (d.L = Math.floor(n[0] / 1000), i + n[0].length) : -1;\n}\n\nfunction parseLiteralPercent(d, string, i) {\n var n = percentRe.exec(string.slice(i, i + 1));\n return n ? i + n[0].length : -1;\n}\n\nfunction parseUnixTimestamp(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.Q = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseUnixTimestampSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.s = +n[0], i + n[0].length) : -1;\n}\n\nfunction formatDayOfMonth(d, p) {\n return pad(d.getDate(), p, 2);\n}\n\nfunction formatHour24(d, p) {\n return pad(d.getHours(), p, 2);\n}\n\nfunction formatHour12(d, p) {\n return pad(d.getHours() % 12 || 12, p, 2);\n}\n\nfunction formatDayOfYear(d, p) {\n return pad(1 + timeDay.count(timeYear(d), d), p, 3);\n}\n\nfunction formatMilliseconds(d, p) {\n return pad(d.getMilliseconds(), p, 3);\n}\n\nfunction formatMicroseconds(d, p) {\n return formatMilliseconds(d, p) + \"000\";\n}\n\nfunction formatMonthNumber(d, p) {\n return pad(d.getMonth() + 1, p, 2);\n}\n\nfunction formatMinutes(d, p) {\n return pad(d.getMinutes(), p, 2);\n}\n\nfunction formatSeconds(d, p) {\n return pad(d.getSeconds(), p, 2);\n}\n\nfunction formatWeekdayNumberMonday(d) {\n var day = d.getDay();\n return day === 0 ? 7 : day;\n}\n\nfunction formatWeekNumberSunday(d, p) {\n return pad(timeSunday.count(timeYear(d) - 1, d), p, 2);\n}\n\nfunction dISO(d) {\n var day = d.getDay();\n return (day >= 4 || day === 0) ? timeThursday(d) : timeThursday.ceil(d);\n}\n\nfunction formatWeekNumberISO(d, p) {\n d = dISO(d);\n return pad(timeThursday.count(timeYear(d), d) + (timeYear(d).getDay() === 4), p, 2);\n}\n\nfunction formatWeekdayNumberSunday(d) {\n return d.getDay();\n}\n\nfunction formatWeekNumberMonday(d, p) {\n return pad(timeMonday.count(timeYear(d) - 1, d), p, 2);\n}\n\nfunction formatYear(d, p) {\n return pad(d.getFullYear() % 100, p, 2);\n}\n\nfunction formatYearISO(d, p) {\n d = dISO(d);\n return pad(d.getFullYear() % 100, p, 2);\n}\n\nfunction formatFullYear(d, p) {\n return pad(d.getFullYear() % 10000, p, 4);\n}\n\nfunction formatFullYearISO(d, p) {\n var day = d.getDay();\n d = (day >= 4 || day === 0) ? timeThursday(d) : timeThursday.ceil(d);\n return pad(d.getFullYear() % 10000, p, 4);\n}\n\nfunction formatZone(d) {\n var z = d.getTimezoneOffset();\n return (z > 0 ? \"-\" : (z *= -1, \"+\"))\n + pad(z / 60 | 0, \"0\", 2)\n + pad(z % 60, \"0\", 2);\n}\n\nfunction formatUTCDayOfMonth(d, p) {\n return pad(d.getUTCDate(), p, 2);\n}\n\nfunction formatUTCHour24(d, p) {\n return pad(d.getUTCHours(), p, 2);\n}\n\nfunction formatUTCHour12(d, p) {\n return pad(d.getUTCHours() % 12 || 12, p, 2);\n}\n\nfunction formatUTCDayOfYear(d, p) {\n return pad(1 + utcDay.count(utcYear(d), d), p, 3);\n}\n\nfunction formatUTCMilliseconds(d, p) {\n return pad(d.getUTCMilliseconds(), p, 3);\n}\n\nfunction formatUTCMicroseconds(d, p) {\n return formatUTCMilliseconds(d, p) + \"000\";\n}\n\nfunction formatUTCMonthNumber(d, p) {\n return pad(d.getUTCMonth() + 1, p, 2);\n}\n\nfunction formatUTCMinutes(d, p) {\n return pad(d.getUTCMinutes(), p, 2);\n}\n\nfunction formatUTCSeconds(d, p) {\n return pad(d.getUTCSeconds(), p, 2);\n}\n\nfunction formatUTCWeekdayNumberMonday(d) {\n var dow = d.getUTCDay();\n return dow === 0 ? 7 : dow;\n}\n\nfunction formatUTCWeekNumberSunday(d, p) {\n return pad(utcSunday.count(utcYear(d) - 1, d), p, 2);\n}\n\nfunction UTCdISO(d) {\n var day = d.getUTCDay();\n return (day >= 4 || day === 0) ? utcThursday(d) : utcThursday.ceil(d);\n}\n\nfunction formatUTCWeekNumberISO(d, p) {\n d = UTCdISO(d);\n return pad(utcThursday.count(utcYear(d), d) + (utcYear(d).getUTCDay() === 4), p, 2);\n}\n\nfunction formatUTCWeekdayNumberSunday(d) {\n return d.getUTCDay();\n}\n\nfunction formatUTCWeekNumberMonday(d, p) {\n return pad(utcMonday.count(utcYear(d) - 1, d), p, 2);\n}\n\nfunction formatUTCYear(d, p) {\n return pad(d.getUTCFullYear() % 100, p, 2);\n}\n\nfunction formatUTCYearISO(d, p) {\n d = UTCdISO(d);\n return pad(d.getUTCFullYear() % 100, p, 2);\n}\n\nfunction formatUTCFullYear(d, p) {\n return pad(d.getUTCFullYear() % 10000, p, 4);\n}\n\nfunction formatUTCFullYearISO(d, p) {\n var day = d.getUTCDay();\n d = (day >= 4 || day === 0) ? utcThursday(d) : utcThursday.ceil(d);\n return pad(d.getUTCFullYear() % 10000, p, 4);\n}\n\nfunction formatUTCZone() {\n return \"+0000\";\n}\n\nfunction formatLiteralPercent() {\n return \"%\";\n}\n\nfunction formatUnixTimestamp(d) {\n return +d;\n}\n\nfunction formatUnixTimestampSeconds(d) {\n return Math.floor(+d / 1000);\n}\n","import formatLocale from \"./locale.js\";\n\nvar locale;\nexport var timeFormat;\nexport var timeParse;\nexport var utcFormat;\nexport var utcParse;\n\ndefaultLocale({\n dateTime: \"%x, %X\",\n date: \"%-m/%-d/%Y\",\n time: \"%-I:%M:%S %p\",\n periods: [\"AM\", \"PM\"],\n days: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"],\n shortDays: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n months: [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"],\n shortMonths: [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"]\n});\n\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n timeFormat = locale.format;\n timeParse = locale.parse;\n utcFormat = locale.utcFormat;\n utcParse = locale.utcParse;\n return locale;\n}\n","export function quadIn(t) {\n return t * t;\n}\n\nexport function quadOut(t) {\n return t * (2 - t);\n}\n\nexport function quadInOut(t) {\n return ((t *= 2) <= 1 ? t * t : --t * (2 - t) + 1) / 2;\n}\n","// [[fill]align][sign][symbol][0][width][,][.precision][~][type]\nvar re = /^(?:(.)?([<>=^]))?([+\\-( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?(~)?([a-z%])?$/i;\n\nexport default function formatSpecifier(specifier) {\n if (!(match = re.exec(specifier))) throw new Error(\"invalid format: \" + specifier);\n var match;\n return new FormatSpecifier({\n fill: match[1],\n align: match[2],\n sign: match[3],\n symbol: match[4],\n zero: match[5],\n width: match[6],\n comma: match[7],\n precision: match[8] && match[8].slice(1),\n trim: match[9],\n type: match[10]\n });\n}\n\nformatSpecifier.prototype = FormatSpecifier.prototype; // instanceof\n\nexport function FormatSpecifier(specifier) {\n this.fill = specifier.fill === undefined ? \" \" : specifier.fill + \"\";\n this.align = specifier.align === undefined ? \">\" : specifier.align + \"\";\n this.sign = specifier.sign === undefined ? \"-\" : specifier.sign + \"\";\n this.symbol = specifier.symbol === undefined ? \"\" : specifier.symbol + \"\";\n this.zero = !!specifier.zero;\n this.width = specifier.width === undefined ? undefined : +specifier.width;\n this.comma = !!specifier.comma;\n this.precision = specifier.precision === undefined ? undefined : +specifier.precision;\n this.trim = !!specifier.trim;\n this.type = specifier.type === undefined ? \"\" : specifier.type + \"\";\n}\n\nFormatSpecifier.prototype.toString = function() {\n return this.fill\n + this.align\n + this.sign\n + this.symbol\n + (this.zero ? \"0\" : \"\")\n + (this.width === undefined ? \"\" : Math.max(1, this.width | 0))\n + (this.comma ? \",\" : \"\")\n + (this.precision === undefined ? \"\" : \".\" + Math.max(0, this.precision | 0))\n + (this.trim ? \"~\" : \"\")\n + this.type;\n};\n","export default function(x) {\n return Math.abs(x = Math.round(x)) >= 1e21\n ? x.toLocaleString(\"en\").replace(/,/g, \"\")\n : x.toString(10);\n}\n\n// Computes the decimal coefficient and exponent of the specified number x with\n// significant digits p, where x is positive and p is in [1, 21] or undefined.\n// For example, formatDecimalParts(1.23) returns [\"123\", 0].\nexport function formatDecimalParts(x, p) {\n if ((i = (x = p ? x.toExponential(p - 1) : x.toExponential()).indexOf(\"e\")) < 0) return null; // NaN, ±Infinity\n var i, coefficient = x.slice(0, i);\n\n // The string returned by toExponential either has the form \\d\\.\\d+e[-+]\\d+\n // (e.g., 1.2e+3) or the form \\de[-+]\\d+ (e.g., 1e+3).\n return [\n coefficient.length > 1 ? coefficient[0] + coefficient.slice(2) : coefficient,\n +x.slice(i + 1)\n ];\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport default function(x) {\n return x = formatDecimalParts(Math.abs(x)), x ? x[1] : NaN;\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport var prefixExponent;\n\nexport default function(x, p) {\n var d = formatDecimalParts(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1],\n i = exponent - (prefixExponent = Math.max(-8, Math.min(8, Math.floor(exponent / 3))) * 3) + 1,\n n = coefficient.length;\n return i === n ? coefficient\n : i > n ? coefficient + new Array(i - n + 1).join(\"0\")\n : i > 0 ? coefficient.slice(0, i) + \".\" + coefficient.slice(i)\n : \"0.\" + new Array(1 - i).join(\"0\") + formatDecimalParts(x, Math.max(0, p + i - 1))[0]; // less than 1y!\n}\n","import formatLocale from \"./locale.js\";\n\nvar locale;\nexport var format;\nexport var formatPrefix;\n\ndefaultLocale({\n thousands: \",\",\n grouping: [3],\n currency: [\"$\", \"\"]\n});\n\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n format = locale.format;\n formatPrefix = locale.formatPrefix;\n return locale;\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step, value) {\n return Math.max(0, Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3 - exponent(Math.abs(step)));\n}\n","export default function(grouping, thousands) {\n return function(value, width) {\n var i = value.length,\n t = [],\n j = 0,\n g = grouping[0],\n length = 0;\n\n while (i > 0 && g > 0) {\n if (length + g + 1 > width) g = Math.max(1, width - length);\n t.push(value.substring(i -= g, i + g));\n if ((length += g + 1) > width) break;\n g = grouping[j = (j + 1) % grouping.length];\n }\n\n return t.reverse().join(thousands);\n };\n}\n","export default function(numerals) {\n return function(value) {\n return value.replace(/[0-9]/g, function(i) {\n return numerals[+i];\n });\n };\n}\n","// Trims insignificant zeros, e.g., replaces 1.2000k with 1.2k.\nexport default function(s) {\n out: for (var n = s.length, i = 1, i0 = -1, i1; i < n; ++i) {\n switch (s[i]) {\n case \".\": i0 = i1 = i; break;\n case \"0\": if (i0 === 0) i0 = i; i1 = i; break;\n default: if (!+s[i]) break out; if (i0 > 0) i0 = 0; break;\n }\n }\n return i0 > 0 ? s.slice(0, i0) + s.slice(i1 + 1) : s;\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport default function(x, p) {\n var d = formatDecimalParts(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1];\n return exponent < 0 ? \"0.\" + new Array(-exponent).join(\"0\") + coefficient\n : coefficient.length > exponent + 1 ? coefficient.slice(0, exponent + 1) + \".\" + coefficient.slice(exponent + 1)\n : coefficient + new Array(exponent - coefficient.length + 2).join(\"0\");\n}\n","import formatDecimal from \"./formatDecimal.js\";\nimport formatPrefixAuto from \"./formatPrefixAuto.js\";\nimport formatRounded from \"./formatRounded.js\";\n\nexport default {\n \"%\": (x, p) => (x * 100).toFixed(p),\n \"b\": (x) => Math.round(x).toString(2),\n \"c\": (x) => x + \"\",\n \"d\": formatDecimal,\n \"e\": (x, p) => x.toExponential(p),\n \"f\": (x, p) => x.toFixed(p),\n \"g\": (x, p) => x.toPrecision(p),\n \"o\": (x) => Math.round(x).toString(8),\n \"p\": (x, p) => formatRounded(x * 100, p),\n \"r\": formatRounded,\n \"s\": formatPrefixAuto,\n \"X\": (x) => Math.round(x).toString(16).toUpperCase(),\n \"x\": (x) => Math.round(x).toString(16)\n};\n","export default function(x) {\n return x;\n}\n","import exponent from \"./exponent.js\";\nimport formatGroup from \"./formatGroup.js\";\nimport formatNumerals from \"./formatNumerals.js\";\nimport formatSpecifier from \"./formatSpecifier.js\";\nimport formatTrim from \"./formatTrim.js\";\nimport formatTypes from \"./formatTypes.js\";\nimport {prefixExponent} from \"./formatPrefixAuto.js\";\nimport identity from \"./identity.js\";\n\nvar map = Array.prototype.map,\n prefixes = [\"y\",\"z\",\"a\",\"f\",\"p\",\"n\",\"µ\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\",\"P\",\"E\",\"Z\",\"Y\"];\n\nexport default function(locale) {\n var group = locale.grouping === undefined || locale.thousands === undefined ? identity : formatGroup(map.call(locale.grouping, Number), locale.thousands + \"\"),\n currencyPrefix = locale.currency === undefined ? \"\" : locale.currency[0] + \"\",\n currencySuffix = locale.currency === undefined ? \"\" : locale.currency[1] + \"\",\n decimal = locale.decimal === undefined ? \".\" : locale.decimal + \"\",\n numerals = locale.numerals === undefined ? identity : formatNumerals(map.call(locale.numerals, String)),\n percent = locale.percent === undefined ? \"%\" : locale.percent + \"\",\n minus = locale.minus === undefined ? \"−\" : locale.minus + \"\",\n nan = locale.nan === undefined ? \"NaN\" : locale.nan + \"\";\n\n function newFormat(specifier) {\n specifier = formatSpecifier(specifier);\n\n var fill = specifier.fill,\n align = specifier.align,\n sign = specifier.sign,\n symbol = specifier.symbol,\n zero = specifier.zero,\n width = specifier.width,\n comma = specifier.comma,\n precision = specifier.precision,\n trim = specifier.trim,\n type = specifier.type;\n\n // The \"n\" type is an alias for \",g\".\n if (type === \"n\") comma = true, type = \"g\";\n\n // The \"\" type, and any invalid type, is an alias for \".12~g\".\n else if (!formatTypes[type]) precision === undefined && (precision = 12), trim = true, type = \"g\";\n\n // If zero fill is specified, padding goes after sign and before digits.\n if (zero || (fill === \"0\" && align === \"=\")) zero = true, fill = \"0\", align = \"=\";\n\n // Compute the prefix and suffix.\n // For SI-prefix, the suffix is lazily computed.\n var prefix = symbol === \"$\" ? currencyPrefix : symbol === \"#\" && /[boxX]/.test(type) ? \"0\" + type.toLowerCase() : \"\",\n suffix = symbol === \"$\" ? currencySuffix : /[%p]/.test(type) ? percent : \"\";\n\n // What format function should we use?\n // Is this an integer type?\n // Can this type generate exponential notation?\n var formatType = formatTypes[type],\n maybeSuffix = /[defgprs%]/.test(type);\n\n // Set the default precision if not specified,\n // or clamp the specified precision to the supported range.\n // For significant precision, it must be in [1, 21].\n // For fixed precision, it must be in [0, 20].\n precision = precision === undefined ? 6\n : /[gprs]/.test(type) ? Math.max(1, Math.min(21, precision))\n : Math.max(0, Math.min(20, precision));\n\n function format(value) {\n var valuePrefix = prefix,\n valueSuffix = suffix,\n i, n, c;\n\n if (type === \"c\") {\n valueSuffix = formatType(value) + valueSuffix;\n value = \"\";\n } else {\n value = +value;\n\n // Determine the sign. -0 is not less than 0, but 1 / -0 is!\n var valueNegative = value < 0 || 1 / value < 0;\n\n // Perform the initial formatting.\n value = isNaN(value) ? nan : formatType(Math.abs(value), precision);\n\n // Trim insignificant zeros.\n if (trim) value = formatTrim(value);\n\n // If a negative value rounds to zero after formatting, and no explicit positive sign is requested, hide the sign.\n if (valueNegative && +value === 0 && sign !== \"+\") valueNegative = false;\n\n // Compute the prefix and suffix.\n valuePrefix = (valueNegative ? (sign === \"(\" ? sign : minus) : sign === \"-\" || sign === \"(\" ? \"\" : sign) + valuePrefix;\n valueSuffix = (type === \"s\" ? prefixes[8 + prefixExponent / 3] : \"\") + valueSuffix + (valueNegative && sign === \"(\" ? \")\" : \"\");\n\n // Break the formatted value into the integer “value” part that can be\n // grouped, and fractional or exponential “suffix” part that is not.\n if (maybeSuffix) {\n i = -1, n = value.length;\n while (++i < n) {\n if (c = value.charCodeAt(i), 48 > c || c > 57) {\n valueSuffix = (c === 46 ? decimal + value.slice(i + 1) : value.slice(i)) + valueSuffix;\n value = value.slice(0, i);\n break;\n }\n }\n }\n }\n\n // If the fill character is not \"0\", grouping is applied before padding.\n if (comma && !zero) value = group(value, Infinity);\n\n // Compute the padding.\n var length = valuePrefix.length + value.length + valueSuffix.length,\n padding = length < width ? new Array(width - length + 1).join(fill) : \"\";\n\n // If the fill character is \"0\", grouping is applied after padding.\n if (comma && zero) value = group(padding + value, padding.length ? width - valueSuffix.length : Infinity), padding = \"\";\n\n // Reconstruct the final output based on the desired alignment.\n switch (align) {\n case \"<\": value = valuePrefix + value + valueSuffix + padding; break;\n case \"=\": value = valuePrefix + padding + value + valueSuffix; break;\n case \"^\": value = padding.slice(0, length = padding.length >> 1) + valuePrefix + value + valueSuffix + padding.slice(length); break;\n default: value = padding + valuePrefix + value + valueSuffix; break;\n }\n\n return numerals(value);\n }\n\n format.toString = function() {\n return specifier + \"\";\n };\n\n return format;\n }\n\n function formatPrefix(specifier, value) {\n var f = newFormat((specifier = formatSpecifier(specifier), specifier.type = \"f\", specifier)),\n e = Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3,\n k = Math.pow(10, -e),\n prefix = prefixes[8 + e / 3];\n return function(value) {\n return f(k * value) + prefix;\n };\n }\n\n return {\n format: newFormat,\n formatPrefix: formatPrefix\n };\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step, max) {\n step = Math.abs(step), max = Math.abs(max) - step;\n return Math.max(0, exponent(max) - exponent(step)) + 1;\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step) {\n return Math.max(0, -exponent(Math.abs(step)));\n}\n","import {tickStep} from \"d3-array\";\nimport {format, formatPrefix, formatSpecifier, precisionFixed, precisionPrefix, precisionRound} from \"d3-format\";\n\nexport default function tickFormat(start, stop, count, specifier) {\n var step = tickStep(start, stop, count),\n precision;\n specifier = formatSpecifier(specifier == null ? \",f\" : specifier);\n switch (specifier.type) {\n case \"s\": {\n var value = Math.max(Math.abs(start), Math.abs(stop));\n if (specifier.precision == null && !isNaN(precision = precisionPrefix(step, value))) specifier.precision = precision;\n return formatPrefix(specifier, value);\n }\n case \"\":\n case \"e\":\n case \"g\":\n case \"p\":\n case \"r\": {\n if (specifier.precision == null && !isNaN(precision = precisionRound(step, Math.max(Math.abs(start), Math.abs(stop))))) specifier.precision = precision - (specifier.type === \"e\");\n break;\n }\n case \"f\":\n case \"%\": {\n if (specifier.precision == null && !isNaN(precision = precisionFixed(step))) specifier.precision = precision - (specifier.type === \"%\") * 2;\n break;\n }\n }\n return format(specifier);\n}\n","import {ticks, tickIncrement} from \"d3-array\";\nimport continuous, {copy} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\nimport tickFormat from \"./tickFormat.js\";\n\nexport function linearish(scale) {\n var domain = scale.domain;\n\n scale.ticks = function(count) {\n var d = domain();\n return ticks(d[0], d[d.length - 1], count == null ? 10 : count);\n };\n\n scale.tickFormat = function(count, specifier) {\n var d = domain();\n return tickFormat(d[0], d[d.length - 1], count == null ? 10 : count, specifier);\n };\n\n scale.nice = function(count) {\n if (count == null) count = 10;\n\n var d = domain();\n var i0 = 0;\n var i1 = d.length - 1;\n var start = d[i0];\n var stop = d[i1];\n var prestep;\n var step;\n var maxIter = 10;\n\n if (stop < start) {\n step = start, start = stop, stop = step;\n step = i0, i0 = i1, i1 = step;\n }\n \n while (maxIter-- > 0) {\n step = tickIncrement(start, stop, count);\n if (step === prestep) {\n d[i0] = start\n d[i1] = stop\n return domain(d);\n } else if (step > 0) {\n start = Math.floor(start / step) * step;\n stop = Math.ceil(stop / step) * step;\n } else if (step < 0) {\n start = Math.ceil(start * step) / step;\n stop = Math.floor(stop * step) / step;\n } else {\n break;\n }\n prestep = step;\n }\n\n return scale;\n };\n\n return scale;\n}\n\nexport default function linear() {\n var scale = continuous();\n\n scale.copy = function() {\n return copy(scale, linear());\n };\n\n initRange.apply(scale, arguments);\n\n return linearish(scale);\n}\n","'use strict';\nvar ctx = require('./_ctx');\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar toLength = require('./_to-length');\nvar createProperty = require('./_create-property');\nvar getIterFn = require('./core.get-iterator-method');\n\n$export($export.S + $export.F * !require('./_iter-detect')(function (iter) { Array.from(iter); }), 'Array', {\n // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var index = 0;\n var iterFn = getIterFn(O);\n var length, result, step, iterator;\n if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n // if object isn't iterable or it's array with default iterator - use simple case\n if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n for (result = new C(length); length > index; index++) {\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar aFunction = require('./_a-function');\nvar toObject = require('./_to-object');\nvar fails = require('./_fails');\nvar $sort = [].sort;\nvar test = [1, 2, 3];\n\n$export($export.P + $export.F * (fails(function () {\n // IE8-\n test.sort(undefined);\n}) || !fails(function () {\n // V8 bug\n test.sort(null);\n // Old WebKit\n}) || !require('./_strict-method')($sort)), 'Array', {\n // 22.1.3.25 Array.prototype.sort(comparefn)\n sort: function sort(comparefn) {\n return comparefn === undefined\n ? $sort.call(toObject(this))\n : $sort.call(toObject(this), aFunction(comparefn));\n }\n});\n","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function (iterated) {\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return { value: undefined, done: true };\n point = $at(O, index);\n this._i += point.length;\n return { value: point, done: false };\n});\n","import {path} from \"d3-path\";\nimport constant from \"./constant.js\";\nimport {abs, acos, asin, atan2, cos, epsilon, halfPi, max, min, pi, sin, sqrt, tau} from \"./math.js\";\n\nfunction arcInnerRadius(d) {\n return d.innerRadius;\n}\n\nfunction arcOuterRadius(d) {\n return d.outerRadius;\n}\n\nfunction arcStartAngle(d) {\n return d.startAngle;\n}\n\nfunction arcEndAngle(d) {\n return d.endAngle;\n}\n\nfunction arcPadAngle(d) {\n return d && d.padAngle; // Note: optional!\n}\n\nfunction intersect(x0, y0, x1, y1, x2, y2, x3, y3) {\n var x10 = x1 - x0, y10 = y1 - y0,\n x32 = x3 - x2, y32 = y3 - y2,\n t = y32 * x10 - x32 * y10;\n if (t * t < epsilon) return;\n t = (x32 * (y0 - y2) - y32 * (x0 - x2)) / t;\n return [x0 + t * x10, y0 + t * y10];\n}\n\n// Compute perpendicular offset line of length rc.\n// http://mathworld.wolfram.com/Circle-LineIntersection.html\nfunction cornerTangents(x0, y0, x1, y1, r1, rc, cw) {\n var x01 = x0 - x1,\n y01 = y0 - y1,\n lo = (cw ? rc : -rc) / sqrt(x01 * x01 + y01 * y01),\n ox = lo * y01,\n oy = -lo * x01,\n x11 = x0 + ox,\n y11 = y0 + oy,\n x10 = x1 + ox,\n y10 = y1 + oy,\n x00 = (x11 + x10) / 2,\n y00 = (y11 + y10) / 2,\n dx = x10 - x11,\n dy = y10 - y11,\n d2 = dx * dx + dy * dy,\n r = r1 - rc,\n D = x11 * y10 - x10 * y11,\n d = (dy < 0 ? -1 : 1) * sqrt(max(0, r * r * d2 - D * D)),\n cx0 = (D * dy - dx * d) / d2,\n cy0 = (-D * dx - dy * d) / d2,\n cx1 = (D * dy + dx * d) / d2,\n cy1 = (-D * dx + dy * d) / d2,\n dx0 = cx0 - x00,\n dy0 = cy0 - y00,\n dx1 = cx1 - x00,\n dy1 = cy1 - y00;\n\n // Pick the closer of the two intersection points.\n // TODO Is there a faster way to determine which intersection to use?\n if (dx0 * dx0 + dy0 * dy0 > dx1 * dx1 + dy1 * dy1) cx0 = cx1, cy0 = cy1;\n\n return {\n cx: cx0,\n cy: cy0,\n x01: -ox,\n y01: -oy,\n x11: cx0 * (r1 / r - 1),\n y11: cy0 * (r1 / r - 1)\n };\n}\n\nexport default function() {\n var innerRadius = arcInnerRadius,\n outerRadius = arcOuterRadius,\n cornerRadius = constant(0),\n padRadius = null,\n startAngle = arcStartAngle,\n endAngle = arcEndAngle,\n padAngle = arcPadAngle,\n context = null;\n\n function arc() {\n var buffer,\n r,\n r0 = +innerRadius.apply(this, arguments),\n r1 = +outerRadius.apply(this, arguments),\n a0 = startAngle.apply(this, arguments) - halfPi,\n a1 = endAngle.apply(this, arguments) - halfPi,\n da = abs(a1 - a0),\n cw = a1 > a0;\n\n if (!context) context = buffer = path();\n\n // Ensure that the outer radius is always larger than the inner radius.\n if (r1 < r0) r = r1, r1 = r0, r0 = r;\n\n // Is it a point?\n if (!(r1 > epsilon)) context.moveTo(0, 0);\n\n // Or is it a circle or annulus?\n else if (da > tau - epsilon) {\n context.moveTo(r1 * cos(a0), r1 * sin(a0));\n context.arc(0, 0, r1, a0, a1, !cw);\n if (r0 > epsilon) {\n context.moveTo(r0 * cos(a1), r0 * sin(a1));\n context.arc(0, 0, r0, a1, a0, cw);\n }\n }\n\n // Or is it a circular or annular sector?\n else {\n var a01 = a0,\n a11 = a1,\n a00 = a0,\n a10 = a1,\n da0 = da,\n da1 = da,\n ap = padAngle.apply(this, arguments) / 2,\n rp = (ap > epsilon) && (padRadius ? +padRadius.apply(this, arguments) : sqrt(r0 * r0 + r1 * r1)),\n rc = min(abs(r1 - r0) / 2, +cornerRadius.apply(this, arguments)),\n rc0 = rc,\n rc1 = rc,\n t0,\n t1;\n\n // Apply padding? Note that since r1 ≥ r0, da1 ≥ da0.\n if (rp > epsilon) {\n var p0 = asin(rp / r0 * sin(ap)),\n p1 = asin(rp / r1 * sin(ap));\n if ((da0 -= p0 * 2) > epsilon) p0 *= (cw ? 1 : -1), a00 += p0, a10 -= p0;\n else da0 = 0, a00 = a10 = (a0 + a1) / 2;\n if ((da1 -= p1 * 2) > epsilon) p1 *= (cw ? 1 : -1), a01 += p1, a11 -= p1;\n else da1 = 0, a01 = a11 = (a0 + a1) / 2;\n }\n\n var x01 = r1 * cos(a01),\n y01 = r1 * sin(a01),\n x10 = r0 * cos(a10),\n y10 = r0 * sin(a10);\n\n // Apply rounded corners?\n if (rc > epsilon) {\n var x11 = r1 * cos(a11),\n y11 = r1 * sin(a11),\n x00 = r0 * cos(a00),\n y00 = r0 * sin(a00),\n oc;\n\n // Restrict the corner radius according to the sector angle.\n if (da < pi && (oc = intersect(x01, y01, x00, y00, x11, y11, x10, y10))) {\n var ax = x01 - oc[0],\n ay = y01 - oc[1],\n bx = x11 - oc[0],\n by = y11 - oc[1],\n kc = 1 / sin(acos((ax * bx + ay * by) / (sqrt(ax * ax + ay * ay) * sqrt(bx * bx + by * by))) / 2),\n lc = sqrt(oc[0] * oc[0] + oc[1] * oc[1]);\n rc0 = min(rc, (r0 - lc) / (kc - 1));\n rc1 = min(rc, (r1 - lc) / (kc + 1));\n }\n }\n\n // Is the sector collapsed to a line?\n if (!(da1 > epsilon)) context.moveTo(x01, y01);\n\n // Does the sector’s outer ring have rounded corners?\n else if (rc1 > epsilon) {\n t0 = cornerTangents(x00, y00, x01, y01, r1, rc1, cw);\n t1 = cornerTangents(x11, y11, x10, y10, r1, rc1, cw);\n\n context.moveTo(t0.cx + t0.x01, t0.cy + t0.y01);\n\n // Have the corners merged?\n if (rc1 < rc) context.arc(t0.cx, t0.cy, rc1, atan2(t0.y01, t0.x01), atan2(t1.y01, t1.x01), !cw);\n\n // Otherwise, draw the two corners and the ring.\n else {\n context.arc(t0.cx, t0.cy, rc1, atan2(t0.y01, t0.x01), atan2(t0.y11, t0.x11), !cw);\n context.arc(0, 0, r1, atan2(t0.cy + t0.y11, t0.cx + t0.x11), atan2(t1.cy + t1.y11, t1.cx + t1.x11), !cw);\n context.arc(t1.cx, t1.cy, rc1, atan2(t1.y11, t1.x11), atan2(t1.y01, t1.x01), !cw);\n }\n }\n\n // Or is the outer ring just a circular arc?\n else context.moveTo(x01, y01), context.arc(0, 0, r1, a01, a11, !cw);\n\n // Is there no inner ring, and it’s a circular sector?\n // Or perhaps it’s an annular sector collapsed due to padding?\n if (!(r0 > epsilon) || !(da0 > epsilon)) context.lineTo(x10, y10);\n\n // Does the sector’s inner ring (or point) have rounded corners?\n else if (rc0 > epsilon) {\n t0 = cornerTangents(x10, y10, x11, y11, r0, -rc0, cw);\n t1 = cornerTangents(x01, y01, x00, y00, r0, -rc0, cw);\n\n context.lineTo(t0.cx + t0.x01, t0.cy + t0.y01);\n\n // Have the corners merged?\n if (rc0 < rc) context.arc(t0.cx, t0.cy, rc0, atan2(t0.y01, t0.x01), atan2(t1.y01, t1.x01), !cw);\n\n // Otherwise, draw the two corners and the ring.\n else {\n context.arc(t0.cx, t0.cy, rc0, atan2(t0.y01, t0.x01), atan2(t0.y11, t0.x11), !cw);\n context.arc(0, 0, r0, atan2(t0.cy + t0.y11, t0.cx + t0.x11), atan2(t1.cy + t1.y11, t1.cx + t1.x11), cw);\n context.arc(t1.cx, t1.cy, rc0, atan2(t1.y11, t1.x11), atan2(t1.y01, t1.x01), !cw);\n }\n }\n\n // Or is the inner ring just a circular arc?\n else context.arc(0, 0, r0, a10, a00, cw);\n }\n\n context.closePath();\n\n if (buffer) return context = null, buffer + \"\" || null;\n }\n\n arc.centroid = function() {\n var r = (+innerRadius.apply(this, arguments) + +outerRadius.apply(this, arguments)) / 2,\n a = (+startAngle.apply(this, arguments) + +endAngle.apply(this, arguments)) / 2 - pi / 2;\n return [cos(a) * r, sin(a) * r];\n };\n\n arc.innerRadius = function(_) {\n return arguments.length ? (innerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : innerRadius;\n };\n\n arc.outerRadius = function(_) {\n return arguments.length ? (outerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : outerRadius;\n };\n\n arc.cornerRadius = function(_) {\n return arguments.length ? (cornerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : cornerRadius;\n };\n\n arc.padRadius = function(_) {\n return arguments.length ? (padRadius = _ == null ? null : typeof _ === \"function\" ? _ : constant(+_), arc) : padRadius;\n };\n\n arc.startAngle = function(_) {\n return arguments.length ? (startAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : startAngle;\n };\n\n arc.endAngle = function(_) {\n return arguments.length ? (endAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : endAngle;\n };\n\n arc.padAngle = function(_) {\n return arguments.length ? (padAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : padAngle;\n };\n\n arc.context = function(_) {\n return arguments.length ? ((context = _ == null ? null : _), arc) : context;\n };\n\n return arc;\n}\n","export function linear(t) {\n return +t;\n}\n","export default function(specifier) {\n var n = specifier.length / 6 | 0, colors = new Array(n), i = 0;\n while (i < n) colors[i] = \"#\" + specifier.slice(i * 6, ++i * 6);\n return colors;\n}\n","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n","function count(node) {\n var sum = 0,\n children = node.children,\n i = children && children.length;\n if (!i) sum = 1;\n else while (--i >= 0) sum += children[i].value;\n node.value = sum;\n}\n\nexport default function() {\n return this.eachAfter(count);\n}\n","export default function(callback) {\n var node = this, current, next = [node], children, i, n;\n do {\n current = next.reverse(), next = [];\n while (node = current.pop()) {\n callback(node), children = node.children;\n if (children) for (i = 0, n = children.length; i < n; ++i) {\n next.push(children[i]);\n }\n }\n } while (next.length);\n return this;\n}\n","export default function(callback) {\n var node = this, nodes = [node], children, i;\n while (node = nodes.pop()) {\n callback(node), children = node.children;\n if (children) for (i = children.length - 1; i >= 0; --i) {\n nodes.push(children[i]);\n }\n }\n return this;\n}\n","export default function(callback) {\n var node = this, nodes = [node], next = [], children, i, n;\n while (node = nodes.pop()) {\n next.push(node), children = node.children;\n if (children) for (i = 0, n = children.length; i < n; ++i) {\n nodes.push(children[i]);\n }\n }\n while (node = next.pop()) {\n callback(node);\n }\n return this;\n}\n","export default function(value) {\n return this.eachAfter(function(node) {\n var sum = +value(node.data) || 0,\n children = node.children,\n i = children && children.length;\n while (--i >= 0) sum += children[i].value;\n node.value = sum;\n });\n}\n","export default function(compare) {\n return this.eachBefore(function(node) {\n if (node.children) {\n node.children.sort(compare);\n }\n });\n}\n","export default function(end) {\n var start = this,\n ancestor = leastCommonAncestor(start, end),\n nodes = [start];\n while (start !== ancestor) {\n start = start.parent;\n nodes.push(start);\n }\n var k = nodes.length;\n while (end !== ancestor) {\n nodes.splice(k, 0, end);\n end = end.parent;\n }\n return nodes;\n}\n\nfunction leastCommonAncestor(a, b) {\n if (a === b) return a;\n var aNodes = a.ancestors(),\n bNodes = b.ancestors(),\n c = null;\n a = aNodes.pop();\n b = bNodes.pop();\n while (a === b) {\n c = a;\n a = aNodes.pop();\n b = bNodes.pop();\n }\n return c;\n}\n","export default function() {\n var node = this, nodes = [node];\n while (node = node.parent) {\n nodes.push(node);\n }\n return nodes;\n}\n","export default function() {\n var nodes = [];\n this.each(function(node) {\n nodes.push(node);\n });\n return nodes;\n}\n","export default function() {\n var leaves = [];\n this.eachBefore(function(node) {\n if (!node.children) {\n leaves.push(node);\n }\n });\n return leaves;\n}\n","export default function() {\n var root = this, links = [];\n root.each(function(node) {\n if (node !== root) { // Don’t include the root’s parent, if any.\n links.push({source: node.parent, target: node});\n }\n });\n return links;\n}\n","import node_count from \"./count.js\";\nimport node_each from \"./each.js\";\nimport node_eachBefore from \"./eachBefore.js\";\nimport node_eachAfter from \"./eachAfter.js\";\nimport node_sum from \"./sum.js\";\nimport node_sort from \"./sort.js\";\nimport node_path from \"./path.js\";\nimport node_ancestors from \"./ancestors.js\";\nimport node_descendants from \"./descendants.js\";\nimport node_leaves from \"./leaves.js\";\nimport node_links from \"./links.js\";\n\nexport default function hierarchy(data, children) {\n var root = new Node(data),\n valued = +data.value && (root.value = data.value),\n node,\n nodes = [root],\n child,\n childs,\n i,\n n;\n\n if (children == null) children = defaultChildren;\n\n while (node = nodes.pop()) {\n if (valued) node.value = +node.data.value;\n if ((childs = children(node.data)) && (n = childs.length)) {\n node.children = new Array(n);\n for (i = n - 1; i >= 0; --i) {\n nodes.push(child = node.children[i] = new Node(childs[i]));\n child.parent = node;\n child.depth = node.depth + 1;\n }\n }\n }\n\n return root.eachBefore(computeHeight);\n}\n\nfunction node_copy() {\n return hierarchy(this).eachBefore(copyData);\n}\n\nfunction defaultChildren(d) {\n return d.children;\n}\n\nfunction copyData(node) {\n node.data = node.data.data;\n}\n\nexport function computeHeight(node) {\n var height = 0;\n do node.height = height;\n while ((node = node.parent) && (node.height < ++height));\n}\n\nexport function Node(data) {\n this.data = data;\n this.depth =\n this.height = 0;\n this.parent = null;\n}\n\nNode.prototype = hierarchy.prototype = {\n constructor: Node,\n count: node_count,\n each: node_each,\n eachAfter: node_eachAfter,\n eachBefore: node_eachBefore,\n sum: node_sum,\n sort: node_sort,\n path: node_path,\n ancestors: node_ancestors,\n descendants: node_descendants,\n leaves: node_leaves,\n links: node_links,\n copy: node_copy\n};\n","import namespaces from \"./namespaces\";\n\nexport default function(name) {\n var prefix = name += \"\", i = prefix.indexOf(\":\");\n if (i >= 0 && (prefix = name.slice(0, i)) !== \"xmlns\") name = name.slice(i + 1);\n return namespaces.hasOwnProperty(prefix) ? {space: namespaces[prefix], local: name} : name;\n}\n","function none() {}\n\nexport default function(selector) {\n return selector == null ? none : function() {\n return this.querySelector(selector);\n };\n}\n","import _Array$isArray from \"core-js/library/fn/array/is-array.js\";\nfunction _arrayWithHoles(r) {\n if (_Array$isArray(r)) return r;\n}\nexport { _arrayWithHoles as default };","import _Symbol from \"core-js/library/fn/symbol/index.js\";\nimport _Symbol$iterator from \"core-js/library/fn/symbol/iterator.js\";\nfunction _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof _Symbol && r[_Symbol$iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nexport { _iterableToArrayLimit as default };","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableRest as default };","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nfunction _slicedToArray(r, e) {\n return arrayWithHoles(r) || iterableToArrayLimit(r, e) || unsupportedIterableToArray(r, e) || nonIterableRest();\n}\nexport { _slicedToArray as default };","import {Basis} from \"./basis.js\";\n\nfunction Bundle(context, beta) {\n this._basis = new Basis(context);\n this._beta = beta;\n}\n\nBundle.prototype = {\n lineStart: function() {\n this._x = [];\n this._y = [];\n this._basis.lineStart();\n },\n lineEnd: function() {\n var x = this._x,\n y = this._y,\n j = x.length - 1;\n\n if (j > 0) {\n var x0 = x[0],\n y0 = y[0],\n dx = x[j] - x0,\n dy = y[j] - y0,\n i = -1,\n t;\n\n while (++i <= j) {\n t = i / j;\n this._basis.point(\n this._beta * x[i] + (1 - this._beta) * (x0 + t * dx),\n this._beta * y[i] + (1 - this._beta) * (y0 + t * dy)\n );\n }\n }\n\n this._x = this._y = null;\n this._basis.lineEnd();\n },\n point: function(x, y) {\n this._x.push(+x);\n this._y.push(+y);\n }\n};\n\nexport default (function custom(beta) {\n\n function bundle(context) {\n return beta === 1 ? new Basis(context) : new Bundle(context, beta);\n }\n\n bundle.beta = function(beta) {\n return custom(+beta);\n };\n\n return bundle;\n})(0.85);\n","export function point(that, x, y) {\n that._context.bezierCurveTo(\n that._x1 + that._k * (that._x2 - that._x0),\n that._y1 + that._k * (that._y2 - that._y0),\n that._x2 + that._k * (that._x1 - x),\n that._y2 + that._k * (that._y1 - y),\n that._x2,\n that._y2\n );\n}\n\nexport function Cardinal(context, tension) {\n this._context = context;\n this._k = (1 - tension) / 6;\n}\n\nCardinal.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._x2 =\n this._y0 = this._y1 = this._y2 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 2: this._context.lineTo(this._x2, this._y2); break;\n case 3: point(this, this._x1, this._y1); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; this._x1 = x, this._y1 = y; break;\n case 2: this._point = 3; // proceed\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(tension) {\n\n function cardinal(context) {\n return new Cardinal(context, tension);\n }\n\n cardinal.tension = function(tension) {\n return custom(+tension);\n };\n\n return cardinal;\n})(0);\n","import {linearish} from \"./linear.js\";\nimport {copy, identity, transformer} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\n\nfunction transformPow(exponent) {\n return function(x) {\n return x < 0 ? -Math.pow(-x, exponent) : Math.pow(x, exponent);\n };\n}\n\nfunction transformSqrt(x) {\n return x < 0 ? -Math.sqrt(-x) : Math.sqrt(x);\n}\n\nfunction transformSquare(x) {\n return x < 0 ? -x * x : x * x;\n}\n\nexport function powish(transform) {\n var scale = transform(identity, identity),\n exponent = 1;\n\n function rescale() {\n return exponent === 1 ? transform(identity, identity)\n : exponent === 0.5 ? transform(transformSqrt, transformSquare)\n : transform(transformPow(exponent), transformPow(1 / exponent));\n }\n\n scale.exponent = function(_) {\n return arguments.length ? (exponent = +_, rescale()) : exponent;\n };\n\n return linearish(scale);\n}\n\nexport default function pow() {\n var scale = powish(transformer());\n\n scale.copy = function() {\n return copy(scale, pow()).exponent(scale.exponent());\n };\n\n initRange.apply(scale, arguments);\n\n return scale;\n}\n\nexport function sqrt() {\n return pow.apply(null, arguments).exponent(0.5);\n}\n","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n","function Step(context, t) {\n this._context = context;\n this._t = t;\n}\n\nStep.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x = this._y = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n if (0 < this._t && this._t < 1 && this._point === 2) this._context.lineTo(this._x, this._y);\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n if (this._line >= 0) this._t = 1 - this._t, this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; // proceed\n default: {\n if (this._t <= 0) {\n this._context.lineTo(this._x, y);\n this._context.lineTo(x, y);\n } else {\n var x1 = this._x * (1 - this._t) + x * this._t;\n this._context.lineTo(x1, this._y);\n this._context.lineTo(x1, y);\n }\n break;\n }\n }\n this._x = x, this._y = y;\n }\n};\n\nexport default function(context) {\n return new Step(context, 0.5);\n}\n\nexport function stepBefore(context) {\n return new Step(context, 0);\n}\n\nexport function stepAfter(context) {\n return new Step(context, 1);\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"main\"},[_c('div',{staticClass:\"container\"},[_c('div',{staticClass:\"row\",staticStyle:{\"align-items\":\"center\",\"justify-content\":\"center\"}},[_vm._m(0),_c('div',{staticClass:\"col-lg-5 col-xl-4 wp\",staticStyle:{\"padding\":\"0px\",\"display\":\"block\"}},[_c('div',{staticClass:\"costumer\"},[_c('h3',{staticClass:\"\"},[_vm._v(\"\\n ¡Hola!\\n \"),(_vm.isDashboardDataAvaliable)?_c('span',[_vm._v(_vm._s(_vm.DashBoard.dashboard.saludo))]):_vm._e()])]),_vm._m(1)]),_c('div',{staticClass:\"col-lg-4 col-xl-5 wp\"})])]),_c('div',{staticClass:\"container\"},[_c('div',{staticClass:\"row wg\",staticStyle:{}},[_c('div',{staticClass:\"col-lg-3 col-xl-3 wp\"},[_c('div',{attrs:{\"clas\":\"row\"}},[_c('div',{staticClass:\"balance\"},[_c('div',{staticClass:\"total\"},[_c('svg',{attrs:{\"width\":\"35\",\"height\":\"35\",\"viewBox\":\"0 0 39 39\",\"fill\":\"none\",\"xmlns\":\"http://www.w3.org/2000/svg\"}},[_c('g',{attrs:{\"clip-path\":\"url(#clip0_438_2827)\"}},[_c('path',{attrs:{\"d\":\"M19.4998 39C16.4226 38.9997 13.3891 38.2711 10.6474 36.8738C7.90573 35.4765 5.53365 33.4501 3.72511 30.9604C1.91658 28.4707 0.722942 25.5884 0.241794 22.549C-0.239354 19.5096 0.00564688 16.3995 0.956766 13.4729C1.90789 10.5463 3.53812 7.88642 5.71418 5.71062C7.89024 3.53481 10.5504 1.90488 13.477 0.954107C16.4037 0.00333064 19.5138 -0.241306 22.5532 0.240198C25.5925 0.721702 28.4747 1.91568 30.9642 3.7245C31.0937 3.81872 31.2033 3.9375 31.2868 4.07408C31.3703 4.21065 31.4261 4.36234 31.451 4.52047C31.4759 4.67861 31.4694 4.84011 31.4319 4.99573C31.3944 5.15136 31.3266 5.29808 31.2323 5.42751C31.1381 5.55693 31.0194 5.66653 30.8828 5.75005C30.7462 5.83357 30.5945 5.88937 30.4364 5.91427C30.2782 5.93917 30.1167 5.93267 29.9611 5.89516C29.8055 5.85765 29.6588 5.78985 29.5294 5.69563C26.1389 3.23605 21.9612 2.11164 17.7942 2.53716C13.6272 2.96268 9.76305 4.90831 6.93972 8.00243C4.11639 11.0965 2.5318 15.1223 2.48861 19.3107C2.44543 23.4991 3.94669 27.5567 6.70563 30.7083C9.46457 33.86 13.2878 35.8849 17.4451 36.3962C21.6025 36.9076 25.8025 35.8695 29.2429 33.4804C32.6833 31.0912 35.1231 27.5184 36.0962 23.4444C37.0693 19.3703 36.5075 15.0806 34.5181 11.3945C34.3759 11.1112 34.3497 10.7837 34.445 10.4813C34.5403 10.179 34.7496 9.92575 35.0286 9.77523C35.3075 9.6247 35.6342 9.58878 35.9392 9.67509C36.2442 9.76139 36.5036 9.96313 36.6623 10.2375C38.2641 13.2085 39.0675 16.5442 38.9941 19.9186C38.9207 23.2931 37.9729 26.5907 36.2434 29.4892C34.5139 32.3876 32.0619 34.7877 29.1271 36.4548C26.1923 38.1219 22.8751 38.9988 19.4998 39Z\",\"fill\":\"#0E66B9\"}}),_c('path',{attrs:{\"d\":\"M33.4097 8.85631C33.2331 8.85648 33.0586 8.81827 32.8982 8.74434C32.7379 8.6704 32.5955 8.56251 32.481 8.42812L32.2616 8.17544C32.1523 8.0561 32.0678 7.91617 32.0131 7.76383C31.9584 7.61148 31.9346 7.44977 31.9431 7.28812C31.9516 7.12648 31.9922 6.96815 32.0625 6.82237C32.1329 6.67659 32.2316 6.54629 32.3528 6.43906C32.4741 6.33184 32.6155 6.24984 32.7688 6.19786C32.9221 6.14588 33.0842 6.12495 33.2456 6.1363C33.4071 6.14765 33.5647 6.19105 33.7092 6.26397C33.8537 6.33689 33.9822 6.43786 34.0873 6.561L34.3367 6.84781C34.4875 7.02497 34.5844 7.24156 34.6159 7.47201C34.6475 7.70245 34.6125 7.93713 34.5151 8.14832C34.4176 8.35951 34.2617 8.53839 34.0658 8.66385C33.87 8.7893 33.6423 8.85609 33.4097 8.85631Z\",\"fill\":\"#0E66B9\"}}),_c('path',{attrs:{\"d\":\"M21.2801 18.2812H20.4676V12.692H21.2801C22.0211 12.6929 22.7316 12.9876 23.2555 13.5116C23.7795 14.0356 24.0743 14.746 24.0751 15.487C24.0751 15.8102 24.2035 16.1202 24.4321 16.3488C24.6606 16.5774 24.9706 16.7058 25.2939 16.7058C25.6171 16.7058 25.9271 16.5774 26.1557 16.3488C26.3842 16.1202 26.5126 15.8102 26.5126 15.487C26.5111 14.0997 25.9594 12.7697 24.9784 11.7887C23.9974 10.8078 22.6674 10.256 21.2801 10.2545H20.4676V7.63745C20.4676 7.31422 20.3392 7.00422 20.1107 6.77566C19.8821 6.54711 19.5721 6.4187 19.2489 6.4187C18.9256 6.4187 18.6156 6.54711 18.3871 6.77566C18.1585 7.00422 18.0301 7.31422 18.0301 7.63745V10.2545H17.2176C16.525 10.2459 15.8377 10.3748 15.1953 10.6339C14.5529 10.893 13.9684 11.277 13.4756 11.7637C12.9828 12.2504 12.5915 12.8301 12.3245 13.4692C12.0574 14.1082 11.9199 14.794 11.9199 15.4866C11.9199 16.1792 12.0574 16.865 12.3245 17.504C12.5915 18.1431 12.9828 18.7228 13.4756 19.2095C13.9684 19.6962 14.5529 20.0802 15.1953 20.3393C15.8377 20.5984 16.525 20.7273 17.2176 20.7187H18.0301V26.3079H17.2176C16.4766 26.307 15.7662 26.0123 15.2422 25.4883C14.7182 24.9643 14.4235 24.2539 14.4226 23.5129C14.4226 23.1897 14.2942 22.8797 14.0657 22.6511C13.8371 22.4225 13.5271 22.2941 13.2039 22.2941C12.8806 22.2941 12.5706 22.4225 12.3421 22.6511C12.1135 22.8797 11.9851 23.1897 11.9851 23.5129C11.9866 24.9002 12.5384 26.2302 13.5193 27.2112C14.5003 28.1921 15.8303 28.7439 17.2176 28.7454H18.0301V31.3624C18.0301 31.6857 18.1585 31.9957 18.3871 32.2242C18.6156 32.4528 18.9256 32.5812 19.2489 32.5812C19.5721 32.5812 19.8821 32.4528 20.1107 32.2242C20.3392 31.9957 20.4676 31.6857 20.4676 31.3624V28.7454H21.2801C21.9727 28.754 22.6601 28.6251 23.3024 28.366C23.9448 28.1069 24.5293 27.7229 25.0221 27.2362C25.5149 26.7495 25.9062 26.1698 26.1733 25.5307C26.4403 24.8917 26.5778 24.2059 26.5778 23.5133C26.5778 22.8207 26.4403 22.1349 26.1733 21.4959C25.9062 20.8568 25.5149 20.2771 25.0221 19.7904C24.5293 19.3037 23.9448 18.9197 23.3024 18.6606C22.6601 18.4015 21.9727 18.2726 21.2801 18.2812ZM17.2119 18.2812C16.8409 18.2875 16.4724 18.2199 16.1278 18.0823C15.7832 17.9447 15.4694 17.7399 15.2048 17.4797C14.9402 17.2196 14.7301 16.9094 14.5866 16.5672C14.4432 16.225 14.3693 15.8577 14.3693 15.4866C14.3693 15.1156 14.4432 14.7482 14.5866 14.406C14.7301 14.0638 14.9402 13.7536 15.2048 13.4935C15.4694 13.2333 15.7832 13.0285 16.1278 12.8909C16.4724 12.7533 16.8409 12.6857 17.2119 12.692H18.0244V18.2812H17.2119ZM21.2801 26.3079H20.4676V20.7187H21.2801C21.6511 20.7124 22.0197 20.78 22.3643 20.9176C22.7089 21.0552 23.0226 21.26 23.2872 21.5202C23.5518 21.7803 23.762 22.0905 23.9054 22.4327C24.0489 22.7749 24.1228 23.1422 24.1228 23.5133C24.1228 23.8843 24.0489 24.2517 23.9054 24.5939C23.762 24.9361 23.5518 25.2463 23.2872 25.5064C23.0226 25.7666 22.7089 25.9714 22.3643 26.109C22.0197 26.2466 21.6511 26.3142 21.2801 26.3079Z\",\"fill\":\"#0E66B9\"}})]),_c('defs',[_c('clipPath',{attrs:{\"id\":\"clip0_438_2827\"}},[_c('rect',{attrs:{\"width\":\"39\",\"height\":\"39\",\"fill\":\"white\"}})])])]),_c('h4',[_vm._v(\"Tu Balance acumulado es:\")])]),_c('div',{staticClass:\"k\"},[(_vm.isDashboardDataAvaliable)?_c('h3',[_c('span',[_vm._v(\"RD$\")]),_vm._v(\"\\n \"+_vm._s(_vm.numberWithCommas(\n _vm.DashBoard.dashboard.balanceMonto.toFixed(2)\n ))+\"\\n \")]):_vm._e()]),_c('div',{staticStyle:{\"display\":\"flex\",\"align-items\":\"center\",\"justify-content\":\"center\"}},[(_vm.isDashboardDataAvaliable)?_c('div',{staticStyle:{\"display\":\"flex\",\"align-items\":\"center\",\"justify-content\":\"center\",\"margin-bottom\":\"10px\"}},[_c('svg',{staticStyle:{\"flex\":\"1 0 21%\",\"margin-right\":\"5px\"},attrs:{\"width\":\"22\",\"height\":\"21\",\"viewBox\":\"0 0 22 21\",\"fill\":\"none\",\"xmlns\":\"http://www.w3.org/2000/svg\"}},[_c('path',{attrs:{\"d\":\"M4.39558 2.37341C4.39558 1.97625 4.39558 1.5982 4.39558 1.22015C4.39196 1.06416 4.41914 0.908991 4.47559 0.763531C4.53204 0.618071 4.61663 0.485176 4.72453 0.372465C4.83242 0.259753 4.96149 0.16944 5.10435 0.106697C5.24721 0.0439536 5.40104 0.0100143 5.55703 0.00682449C5.71307 0.00589832 5.86772 0.0361291 6.01192 0.095747C6.15613 0.155365 6.28698 0.24317 6.3968 0.354014C6.50663 0.464857 6.59322 0.59651 6.65151 0.741254C6.7098 0.885998 6.7386 1.04092 6.73624 1.19694C6.74716 1.58319 6.73624 1.97079 6.73624 2.39116H7.09928C9.49726 2.39116 11.8939 2.39116 14.2919 2.39116C14.5798 2.39116 14.6876 2.31882 14.6631 2.02266C14.6453 1.72721 14.6453 1.43097 14.6631 1.13553C14.6754 0.831462 14.8043 0.543814 15.0232 0.332349C15.242 0.120884 15.5339 0.00185814 15.8382 0C16.1368 0.00101931 16.4237 0.116496 16.6398 0.322657C16.8558 0.528817 16.9846 0.809969 16.9997 1.10823C17.0188 1.3927 17.0188 1.67813 16.9997 1.96261C16.9737 2.26969 17.0652 2.39662 17.3927 2.44438C18.8558 2.65866 19.9408 3.44343 20.6683 4.72636C21.0337 5.38484 21.2219 6.12697 21.2142 6.88003C21.221 10.0478 21.2292 13.2155 21.2142 16.3832C21.2177 16.9762 21.1029 17.5638 20.8765 18.1119C20.6502 18.6599 20.3168 19.1573 19.8959 19.5749C19.4749 19.9925 18.975 20.322 18.4252 20.544C17.8754 20.766 17.2868 20.8762 16.6939 20.868C12.7132 20.868 8.7316 20.868 4.74907 20.868C4.15457 20.8751 3.56464 20.7635 3.01383 20.5398C2.46301 20.316 1.96239 19.9845 1.54129 19.5648C1.12019 19.1451 0.787083 18.6456 0.561477 18.0955C0.335871 17.5455 0.222306 16.9559 0.227433 16.3614C0.221064 13.2251 0.221064 10.0887 0.227433 6.95237C0.227433 4.63218 1.78742 2.81152 4.07621 2.43756C4.16356 2.42255 4.25637 2.40071 4.39558 2.37341ZM1.89387 8.34312C1.87887 8.41927 1.86884 8.49632 1.86385 8.57377C1.86385 11.1806 1.84201 13.7887 1.86385 16.3955C1.88159 18.0551 3.13312 19.2425 4.79001 19.2439C8.73796 19.2439 12.6868 19.2439 16.6366 19.2439C16.9125 19.2432 17.1873 19.2102 17.4555 19.1456C18.4696 18.9041 19.5901 17.9296 19.5764 16.2413C19.5546 13.7287 19.5764 11.2161 19.5764 8.70479C19.5764 8.59015 19.5669 8.4755 19.56 8.34721L1.89387 8.34312ZM1.91025 6.62345H19.5464C19.5405 6.51506 19.5286 6.40708 19.5109 6.29999C19.3812 5.6524 19.0295 5.07042 18.5164 4.65454C18.0033 4.23866 17.3612 4.01497 16.7008 4.02211C12.7119 4.02211 8.72204 4.02211 4.73132 4.02211C4.53109 4.02491 4.3315 4.04547 4.1349 4.08353C2.93659 4.30463 1.89933 5.47427 1.91025 6.62345Z\",\"fill\":\"#808285\"}}),_c('path',{attrs:{\"d\":\"M10.8295 10.2528C10.9455 10.2528 11.0615 10.2528 11.1775 10.2528C11.2806 10.2505 11.3831 10.2687 11.479 10.3064C11.575 10.3441 11.6624 10.4006 11.7362 10.4726C11.8101 10.5445 11.8688 10.6304 11.909 10.7253C11.9493 10.8203 11.9702 10.9222 11.9705 11.0253C11.9842 11.2776 11.9842 11.5305 11.9705 11.7828C11.9713 11.886 11.9513 11.9882 11.9119 12.0836C11.8725 12.1789 11.8143 12.2654 11.7409 12.3379C11.6675 12.4105 11.5803 12.4675 11.4845 12.5058C11.3887 12.5441 11.2862 12.5627 11.183 12.5607C10.9411 12.573 10.6988 12.573 10.4569 12.5607C10.3512 12.5626 10.2462 12.5431 10.1483 12.5032C10.0504 12.4634 9.96153 12.4041 9.88716 12.329C9.81279 12.2538 9.75442 12.1644 9.71559 12.0661C9.67676 11.9677 9.65827 11.8625 9.66124 11.7569C9.65441 11.5685 9.66124 11.3788 9.66124 11.1891C9.66124 10.5422 9.95604 10.2528 10.6098 10.2515L10.8295 10.2528Z\",\"fill\":\"#808285\"}}),_c('path',{attrs:{\"d\":\"M6.72049 11.4114C6.72049 11.5287 6.72049 11.6448 6.72049 11.7608C6.72548 11.864 6.70944 11.9672 6.67334 12.0641C6.63724 12.1609 6.58184 12.2494 6.51049 12.3242C6.43914 12.399 6.35334 12.4585 6.25829 12.4992C6.16324 12.5398 6.06093 12.5607 5.95756 12.5605C5.70436 12.5749 5.45056 12.5749 5.19736 12.5605C4.99882 12.5646 4.80675 12.4899 4.66305 12.3529C4.51935 12.2158 4.4357 12.0275 4.43033 11.829C4.40864 11.5565 4.40864 11.2826 4.43033 11.0101C4.46582 10.5393 4.76744 10.2677 5.23967 10.2554C5.46213 10.2554 5.68323 10.2554 5.90433 10.2554C6.42023 10.2677 6.72322 10.5761 6.72322 11.0961C6.72185 11.2012 6.72049 11.3063 6.72049 11.4114Z\",\"fill\":\"#808285\"}}),_c('path',{attrs:{\"d\":\"M14.9158 11.3809C14.9158 11.2649 14.9158 11.1476 14.9158 11.0315C14.9142 10.931 14.9325 10.8312 14.9696 10.7377C15.0067 10.6443 15.0619 10.5591 15.132 10.487C15.2021 10.415 15.2858 10.3575 15.3783 10.3179C15.4707 10.2783 15.57 10.2574 15.6706 10.2563C15.9342 10.2427 16.1985 10.2427 16.4621 10.2563C16.6499 10.2546 16.831 10.3253 16.968 10.4536C17.105 10.582 17.1873 10.7581 17.1978 10.9456C17.2258 11.2502 17.2258 11.5567 17.1978 11.8614C17.1596 12.2844 16.8702 12.5438 16.4376 12.5615C16.1946 12.5738 15.9517 12.5724 15.7088 12.5615C15.212 12.5397 14.9213 12.2312 14.9144 11.7276C14.9131 11.613 14.9158 11.497 14.9158 11.3809Z\",\"fill\":\"#808285\"}}),_c('path',{attrs:{\"d\":\"M10.8015 17.0114C10.6855 17.0114 10.5695 17.0114 10.4535 17.0114C10.353 17.0156 10.2527 16.9997 10.1584 16.9648C10.0641 16.9298 9.97769 16.8763 9.90426 16.8076C9.83082 16.7389 9.77181 16.6562 9.73067 16.5644C9.68953 16.4726 9.66708 16.3736 9.66463 16.273C9.64825 16.0094 9.64825 15.7451 9.66463 15.4814C9.66401 15.3807 9.68377 15.2809 9.72274 15.188C9.76171 15.0952 9.81907 15.0111 9.89137 14.941C9.96367 14.8709 10.0494 14.8161 10.1434 14.78C10.2375 14.7438 10.3378 14.7271 10.4385 14.7308C10.691 14.7212 10.9448 14.7212 11.1973 14.7308C11.6668 14.7485 11.9521 15.0365 11.9725 15.5128C11.9821 15.7339 11.9794 15.9564 11.9725 16.1775C11.9602 16.7152 11.6614 17.0059 11.1182 17.0114H10.8015Z\",\"fill\":\"#808285\"}}),_c('path',{attrs:{\"d\":\"M6.71992 15.8513C6.71992 15.9877 6.71992 16.1242 6.71992 16.2607C6.72028 16.3585 6.70135 16.4554 6.66422 16.5459C6.62709 16.6363 6.57247 16.7186 6.50351 16.7879C6.43455 16.8573 6.35259 16.9124 6.26233 16.95C6.17206 16.9876 6.07526 17.0071 5.97746 17.0073C5.7045 17.0173 5.43154 17.0173 5.15857 17.0073C4.9875 17.0125 4.82071 16.9532 4.69128 16.8412C4.56184 16.7292 4.47922 16.5727 4.45979 16.4026C4.42226 16.0474 4.42226 15.6892 4.45979 15.334C4.47704 15.1692 4.55485 15.0166 4.67816 14.906C4.80146 14.7953 4.96148 14.7343 5.12718 14.7348C5.38923 14.7185 5.654 14.7212 5.91741 14.728C6.4456 14.7403 6.71992 15.0296 6.72675 15.566C6.72129 15.6615 6.71992 15.7598 6.71992 15.8513Z\",\"fill\":\"#808285\"}}),_c('path',{attrs:{\"d\":\"M16.059 17.0109C15.9335 17.0109 15.8066 17.0109 15.6796 17.0109C15.582 17.0125 15.485 16.9949 15.3942 16.959C15.3035 16.9231 15.2206 16.8696 15.1505 16.8017C15.0804 16.7337 15.0244 16.6526 14.9857 16.563C14.947 16.4734 14.9263 16.377 14.9249 16.2794C14.9131 16.0064 14.9131 15.7334 14.9249 15.4605C14.9241 15.2733 14.9964 15.0933 15.1264 14.9587C15.2564 14.8241 15.4339 14.7455 15.6209 14.7398C15.926 14.7228 16.2317 14.7228 16.5367 14.7398C16.697 14.7414 16.8512 14.8013 16.9705 14.9083C17.0899 15.0153 17.1661 15.1621 17.185 15.3213C17.2243 15.6556 17.2303 15.993 17.2028 16.3285C17.1686 16.757 16.8738 16.9986 16.4385 17.0109C16.3061 17.0136 16.1792 17.0109 16.059 17.0109Z\",\"fill\":\"#808285\"}})])]):_vm._e(),_c('div',[_c('p',[_vm._v(\"Al \"+_vm._s(_vm.DashBoard.dashboard.fechaBalance))])])]),_c('div',{staticClass:\"cardb\",staticStyle:{\"display\":\"flex\",\"flex-direction\":\"row\"}},[_c('div',{staticClass:\"treatment-method__icon__outer_circle\",staticStyle:{\"float\":\"left\",\"display\":\"inline\",\"margin-top\":\"8px\"}},[_c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"xmlns:xlink\":\"http://www.w3.org/1999/xlink\",\"version\":\"1.1\",\"width\":\"110\",\"height\":\"110\",\"viewBox\":\"300 400 1973.9 1797.46\"}},[_c('g',{attrs:{\"enable-background\":\"new\"}},[_c('g',{attrs:{\"id\":\"Layer-1\",\"data-name\":\"Layer 1\"}},[_c('clipPath',{attrs:{\"id\":\"cp0\"}},[_c('path',{attrs:{\"transform\":\"matrix(1,0,0,-1,0,1097.46)\",\"d\":\"M 0 1097.463 L 1163.9 1097.463 L 1163.9 0 L 0 0 Z \"}})]),_c('g',{attrs:{\"clip-path\":\"url(#cp0)\"}},[_c('path',{attrs:{\"transform\":\"matrix(1,0,0,-1,732.4987,681.34939)\",\"d\":\"M 0 0 L -287.014 0 L -287.014 280.242 C -287.014 288.526 -293.729 295.242 -302.014 295.242 C -310.298 295.242 -317.014 288.526 -317.014 280.242 L -317.014 -15 C -317.014 -23.284 -310.298 -30 -302.014 -30 L 0 -30 C 8.284 -30 15 -23.284 15 -15 C 15 -6.716 8.284 0 0 0 \",\"fill\":\"#58595b\"}}),_c('path',{attrs:{\"transform\":\"matrix(1,0,0,-1,508.5489,620.29568)\",\"d\":\"M 0 0 C 14.022 0 25.389 11.367 25.389 25.389 C 25.389 27.526 25.122 29.599 24.625 31.582 L 65.352 78.333 C 66.257 78.236 67.176 78.182 68.107 78.182 C 69.016 78.182 69.914 78.232 70.799 78.325 L 106.365 37.288 C 105.858 35.287 105.586 33.191 105.586 31.031 C 105.586 17.009 116.953 5.642 130.975 5.642 C 144.997 5.642 156.364 17.009 156.364 31.031 C 156.364 33.905 155.88 36.664 155 39.24 L 213.828 119.304 C 214.044 119.299 214.259 119.288 214.477 119.288 C 228.499 119.288 239.866 130.655 239.866 144.677 C 239.866 158.699 228.499 170.066 214.477 170.066 C 200.455 170.066 189.089 158.699 189.089 144.677 C 189.089 141.803 189.573 139.044 190.453 136.468 L 131.625 56.404 C 131.408 56.409 131.193 56.42 130.975 56.42 C 130.066 56.42 129.169 56.37 128.284 56.277 L 92.717 97.315 C 93.224 99.316 93.496 101.412 93.496 103.571 C 93.496 117.593 82.129 128.96 68.107 128.96 C 54.085 128.96 42.718 117.593 42.718 103.571 C 42.718 101.435 42.985 99.361 43.482 97.379 L 2.755 50.627 C 1.849 50.724 .931 50.778 0 50.778 C -14.022 50.778 -25.389 39.411 -25.389 25.389 C -25.389 11.367 -14.022 0 0 0 \",\"fill\":\"#58595b\"}})])])])])]),_c('div',[_c('h4',[_vm._v(\"Rentabilidad del fondo\")]),_c('div',{staticStyle:{\"display\":\"flex\"}},[(_vm.isDashboardDataAvaliable)?_c('h5',[_vm._v(\"Últimos 60 meses\")]):_vm._e(),(_vm.isDashboardDataAvaliable)?_c('h5',{staticStyle:{\"font-weight\":\"600\",\"margin-left\":\"4px\"}},[_vm._v(\"\\n \"+_vm._s(_vm.DashBoard.dashboard.rentabilidadFondo)+\"%\\n \")]):_vm._e()])])]),_c('div',{staticClass:\"modal fade\",attrs:{\"id\":\"beneficiosModal\",\"tabindex\":\"-1\",\"role\":\"dialog\",\"aria-labelledby\":\"beneficiosModalLabel\",\"aria-hidden\":\"true\"}},[_c('div',{staticClass:\"modal-dialog modal-lg modal-dialog-centered\",staticStyle:{\"border\":\"1px solid rgba(3, 140, 51, 0.1)\",\"border-radius\":\"50px\",\"width\":\"850px\",\"min-height\":\"380px\"},attrs:{\"role\":\"document\"}},[_c('div',{staticClass:\"modal-content\"},[_c('div',{staticClass:\"modal-body\",staticStyle:{\"min-height\":\"380px\",\"border-radius\":\"15px\"}},[_c('Beneficios',{attrs:{\"beneficiosDisponibles\":_vm.BeneficiosDisponibles,\"validarBeneficios\":_vm.validarBeneficios}})],1)])])])]),_c('div',[_vm._m(2),_c('div',{staticClass:\"btnB\",attrs:{\"data-toggle\":\"modal\",\"data-target\":\"#beneficiosModal\"},on:{\"click\":function($event){return _vm.consultarBeneficios()}}},[_c('a',[_vm._v(\" Consulta Tus Beneficios \")])])])])]),_c('div',{staticClass:\"col-lg-5 col-xl-4 wp\"},[(_vm.isDashboardDataAvaliable)?_c('div',{staticClass:\"kl\"},[_c('canvas',{attrs:{\"width\":\"330px\",\"height\":\"330px\",\"id\":\"myChart\"}})]):_vm._e()]),_c('div',{staticClass:\"col-lg-4 col-xl-5 wp\"},[_c('div',{staticClass:\"cards\"},[_c('div',{staticClass:\"cards-item\"},[_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"fl\"},[_c('div',{staticClass:\"span\"}),_c('div',{staticClass:\"info\"},[_c('p',[_vm._v(\"Tus Aportes\")]),_c('div',{staticClass:\"Acumulado\"},[_c('h5',[_vm._v(\"RD$\")]),(_vm.isDashboardDataAvaliable)?_c('h4',[_vm._v(\"\\n \"+_vm._s(_vm.numberWithCommas(\n _vm.DashBoard.dashboard.distribucionBalanceMonto.aporteEmpleado.toFixed(\n 2\n )\n ))+\"\\n \")]):_vm._e()])])])]),_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"fl\"},[_c('div',{staticClass:\"span color-m\"}),_c('div',{staticClass:\"info\"},[_c('p',[_vm._v(\"Aportes de tu empleador\")]),_c('div',{staticClass:\"Acumulado\"},[_c('h5',[_vm._v(\"RD$\")]),(_vm.isDashboardDataAvaliable)?_c('h4',[_vm._v(\"\\n \"+_vm._s(_vm.numberWithCommas(\n _vm.DashBoard.dashboard.distribucionBalanceMonto.aporteEmpleador.toFixed(\n 2\n )\n ))+\"\\n \")]):_vm._e()])])])])]),_c('div',{staticClass:\"cards-item\"},[_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"fl\"},[_c('div',{staticClass:\"span color-n\"}),_c('div',{staticClass:\"info\"},[_c('p',[_vm._v(\"Rentabilidad Acreditada\")]),_c('div',{staticClass:\"Acumulado\"},[_c('h5',[_vm._v(\"RD$\")]),(_vm.isDashboardDataAvaliable)?_c('h4',[_vm._v(\"\\n \"+_vm._s(_vm.numberWithCommas(\n _vm.DashBoard.dashboard.distribucionBalanceMonto.rentabilidad.toFixed(\n 2\n )\n ))+\"\\n \")]):_vm._e()])])])]),_c('div',{staticClass:\"card\",attrs:{\"id\":\"d1\"}},[_c('div',{staticClass:\"fl\"},[_c('div',{staticClass:\"span color-s\"}),_c('div',{staticClass:\"info\"},[_c('p',[_vm._v(\"Otros Aportes\")]),_c('div',{staticClass:\"Acumulado\"},[_c('h5',[_vm._v(\"RD$\")]),(_vm.isDashboardDataAvaliable)?_c('h4',[_vm._v(\"\\n \"+_vm._s(_vm.numberWithCommas(\n _vm.DashBoard.dashboard.distribucionBalanceMonto.otrosAportes.toFixed(\n 2\n )\n ))+\"\\n \")]):_vm._e()]),(_vm.isDashboardDataAvaliable)?_c('div',{staticClass:\"container-c\",staticStyle:{\"z-index\":\"2\"},attrs:{\"id\":\"d2\"}},_vm._l((_vm.DashBoard.dashboard\n .distribucionBalanceMonto.otrosAportesDetalle),function(item){return _c('div',{staticStyle:{\"flex-direction\":\"column\"}},[_c('div',{staticClass:\"another\",staticStyle:{\"width\":\"100%\"}},[_c('p',[_vm._v(_vm._s(item.nombreAporteDetalle))])]),_c('div',{staticClass:\"mount\",staticStyle:{\"width\":\"100%\"}},[_c('p',[_vm._v(\"\\n RD$\\n \"+_vm._s(_vm.numberWithCommas(\n item.montoAporteDetalle.toFixed(2)\n ))+\"\\n \")])])])}),0):_vm._e()])])])])])])])]),_vm._m(3),_vm._m(4),_c('div',{staticStyle:{\"height\":\"100px\"}})])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"col-lg-3 col-xl-3 wp\"},[_c('h2',{staticStyle:{\"width\":\"100%\"}})])\n},function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"subtitle\",staticStyle:{\"margin-top\":\"30px\"}},[_c('h5',{staticStyle:{\"font-size\":\"23px\"}},[_vm._v(\"\\n Conoce más sobre tu cuenta de pensión y la distribución de tu\\n balance\\n \")])])\n},function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"subtitle\",staticStyle:{\"margin-top\":\"20px\",\"font-size\":\"16px\"}},[_c('h5',{staticStyle:{\"font-size\":\"16px\"}},[_vm._v(\"\\n Conoce aquí los beneficios a los que puedes aplicar\\n \")])])\n},function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"container\"},[_c('div',{staticClass:\"row\",staticStyle:{\"align-items\":\"center\",\"justify-content\":\"center\"}},[_c('div',{staticClass:\"col-lg-3 col-xl-3 wp\"},[_c('h2',{staticStyle:{\"width\":\"100%\"}})]),_c('div',{staticClass:\"col-lg-5 col-xl-4 wp\",staticStyle:{\"display\":\"block\"}},[_c('div',{staticClass:\"subtitle\",staticStyle:{\"margin-top\":\"5px\"}},[_c('h5',{staticStyle:{\"font-size\":\"24px\"}},[_vm._v(\"Evolución de tu cuenta de pensión\")])])]),_c('div',{staticClass:\"col-lg-4 col-xl-5 wp\"})])])\n},function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"tab\",staticStyle:{\"text-align\":\"center\"}},[_c('canvas',{attrs:{\"id\":\"TableChart\",\"width\":\"200\",\"height\":\"50\"}})])\n}]\n\nexport { render, staticRenderFns }","import {CostumResponse} from '../Dashboard/DashboardResponse'\nexport default class DashboardTrimestralResponse {\n constructor(\n public response?: CostumResponse ,\n public data? : Trimestre[] \n ){}\n}\n\nclass Trimestre {\n constructor(\n public nombrePeriodo?: string,\n public monto?: number,\n public secuencia?: string\n ){}\n}\n\nexport {DashboardTrimestralResponse,Trimestre}","import {CostumResponse} from '../Dashboard/DashboardResponse'\nexport default class BeneficiosDisponiblesResponse {\n constructor(\n public response?: CostumResponse ,\n public data? : Beneficio[] \n ){}\n}\n\nclass Beneficio {\n constructor(\n public beneficioNombre?: string,\n public codigoBeneficio?: number,\n public aplica?: string,\n public mensaje?:string,\n public monto?:number\n\n ){}\n}\n\nexport {BeneficiosDisponiblesResponse,Beneficio}","import {CostumResponse} from '../Dashboard/DashboardResponse'\nexport default class VideoIntroResponse {\n constructor(\n public response?: CostumResponse ,\n public data? : MostrarIntro[] \n ){}\n}\n\nclass MostrarIntro {\n constructor(\n public mostrarIntro?: boolean\n\n ){}\n}\n\nexport {VideoIntroResponse,MostrarIntro}","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',[_c('div',{staticClass:\"menu-display\",staticStyle:{\"margin-left\":\"50px\",\"margin-right\":\"50px\",\"background\":\"#FFFFFF\",\"border-radius\":\"15px\"}},[_c('b-overlay',{attrs:{\"opacity\":1,\"show\":_vm.loading,\"rounded\":\"sm\"},scopedSlots:_vm._u([{key:\"overlay\",fn:function(){return [_c('div',{staticClass:\"text-center\"},[_c('div',{staticClass:\"swal2-icon swal2-info swal2-icon-show\",staticStyle:{\"display\":\"flex\"}},[_c('div',{staticClass:\"swal2-icon-content\"},[_vm._v(\"i\")])]),_c('p',{attrs:{\"id\":\"cancel-label\"}},[_vm._v(\"\\n Valoramos tu tiempo. Este proceso puede tomar unos minutos.\\n Gracias por utilizar nuestra plataforma digital de beneficios.\\n \")]),_c('b-icon',{attrs:{\"icon\":\"arrow-repeat\",\"font-scale\":\"3\",\"animation\":\"spin\"}})],1)]},proxy:true}])},[_c('div',{staticClass:\"row justify-content-center special-spacing\",staticStyle:{\"background\":\"#FFFFFF\",\"justify-content\":\"center\",\"margin-left\":\"0px\",\"border-radius\":\"15px\"}},[(_vm.aplicaBeneficios)?_c('div',{staticClass:\"col\",staticStyle:{\"background\":\"#FFFFFF\",\"border-radius\":\"15px\"}},[_c('div',{staticClass:\"close-btn\"},[_c('svg',{staticClass:\"close-svg\",attrs:{\"data-dismiss\":\"modal\",\"fill\":\"#000000\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 48 48\",\"width\":\"25px\",\"height\":\"25px\"}},[_c('path',{attrs:{\"d\":\"M 39.486328 6.9785156 A 1.50015 1.50015 0 0 0 38.439453 7.4394531 L 24 21.878906 L 9.5605469 7.4394531 A 1.50015 1.50015 0 0 0 8.484375 6.984375 A 1.50015 1.50015 0 0 0 7.4394531 9.5605469 L 21.878906 24 L 7.4394531 38.439453 A 1.50015 1.50015 0 1 0 9.5605469 40.560547 L 24 26.121094 L 38.439453 40.560547 A 1.50015 1.50015 0 1 0 40.560547 38.439453 L 26.121094 24 L 40.560547 9.5605469 A 1.50015 1.50015 0 0 0 39.486328 6.9785156 z\"}})])]),_c('h3',{staticClass:\"text-center mt-5 mb-3 title\",staticStyle:{\"padding-left\":\"15px\"}},[_vm._v(\"\\n ¡Hola \"+_vm._s(_vm.name)+\"! Puedes aplicar a estos beneficios de pensión.\\n Conoce más detalles haciendo clic en la imagen.\\n \")]),_c('div',{staticClass:\"row special-spacing\",staticStyle:{\"background\":\"#FFFFFF\",\"justify-content\":\"center\",\"margin-left\":\"0px\"}},[(_vm.mostrarBeneficio(1))?_c('div',{staticClass:\"col-sm-12 col-md-6 col-lg-4\"},[_c('div',{staticClass:\"bt-select\"},[_c('button',{staticClass:\"btn btn-menu-home\",attrs:{\"data-dismiss\":\"modal\",\"data-description\":_vm.getBeneficioDescripcion(1),\"data-monto\":_vm.getMontoBeneficio(1)},on:{\"click\":_vm.redirectToIngresoTardio,\"mouseover\":_vm.onMouseEnter,\"mouseleave\":_vm.onMouseLeave}},[_c('img',{staticClass:\"menu-icon-option\",attrs:{\"src\":require(\"../assets/images/consulta-ingreso-tardio.png\"),\"alt\":\"\"}})])])]):_vm._e(),(_vm.mostrarBeneficio(6))?_c('div',{staticClass:\"col-sm-12 col-md-6 col-lg-4\"},[_c('div',{staticClass:\"bt-select\"},[_c('button',{staticClass:\"btn btn-menu-home\",attrs:{\"data-dismiss\":\"modal\",\"data-description\":_vm.getBeneficioDescripcion(6),\"data-monto\":_vm.getMontoBeneficio(6)},on:{\"click\":_vm.redirectToCesantia,\"mouseover\":_vm.onMouseEnter,\"mouseleave\":_vm.onMouseLeave}},[_c('img',{staticClass:\"menu-icon-option\",attrs:{\"src\":require(\"../assets/images/consulta-cesantia.png\"),\"alt\":\"\"}})])])]):_vm._e(),(_vm.mostrarBeneficio(5))?_c('div',{staticClass:\"col-sm-12 col-md-6 col-lg-4\"},[_c('div',{staticClass:\"bt-select\"},[_c('button',{staticClass:\"btn btn-menu-home\",attrs:{\"data-dismiss\":\"modal\",\"data-description\":_vm.getBeneficioDescripcion(5),\"data-monto\":_vm.getMontoBeneficio(5)},on:{\"click\":_vm.redirectToVejezAnticipada,\"mouseover\":_vm.onMouseEnter,\"mouseleave\":_vm.onMouseLeave}},[_c('img',{staticClass:\"menu-icon-option\",attrs:{\"src\":require(\"../assets/images/consulta-vejez-anticipada.png\"),\"alt\":\"\"}})])])]):_vm._e()]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.descriptionBeneficio),expression:\"descriptionBeneficio\"}],staticClass:\"row\",staticStyle:{\"margin-left\":\"0px\",\"padding-left\":\"30px\",\"padding-right\":\"30px\"}},[_c('div',{staticClass:\"col-sm-12 descripcion-container\",staticStyle:{\"text-align\":\"center\"}},[_c('p',{staticClass:\"descripcion-bene\",staticStyle:{\"display\":\"inline\"}},[_vm._v(\"\\n \"+_vm._s(_vm.descriptionBeneficio)+\"\\n \")]),_c('p',{staticClass:\"monto-bene\",staticStyle:{\"display\":\"inline\",\"margin-left\":\"5px\"}},[_vm._v(\"\\n \"+_vm._s(_vm.montoBeneficio)+\"\\n \")]),_c('p',{staticStyle:{\"font-size\":\"13px\"}},[_vm._v(\"\\n *Este monto puede variar considerando el balance de tu cuenta\\n de pensión, al momento de realizar tu solicitud.\\n \")])])])]):_vm._e(),(!_vm.aplicaBeneficios)?_c('div',[_c('div',{staticClass:\"close-btn\"},[_c('svg',{staticClass:\"close-svg\",attrs:{\"data-dismiss\":\"modal\",\"fill\":\"#000000\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 48 48\",\"width\":\"25px\",\"height\":\"25px\"}},[_c('path',{attrs:{\"d\":\"M 39.486328 6.9785156 A 1.50015 1.50015 0 0 0 38.439453 7.4394531 L 24 21.878906 L 9.5605469 7.4394531 A 1.50015 1.50015 0 0 0 8.484375 6.984375 A 1.50015 1.50015 0 0 0 7.4394531 9.5605469 L 21.878906 24 L 7.4394531 38.439453 A 1.50015 1.50015 0 1 0 9.5605469 40.560547 L 24 26.121094 L 38.439453 40.560547 A 1.50015 1.50015 0 1 0 40.560547 38.439453 L 26.121094 24 L 40.560547 9.5605469 A 1.50015 1.50015 0 0 0 39.486328 6.9785156 z\"}})])]),_c('div',{staticClass:\"row special-spacing\",staticStyle:{\"background\":\"#FFFFFF\",\"justify-content\":\"center\",\"margin-left\":\"0px\",\"margin-top\":\"40px\"}},[_c('svg',{staticStyle:{\"margin-bottom\":\"20px\"},attrs:{\"width\":\"88\",\"height\":\"88\",\"viewBox\":\"0 0 88 88\",\"fill\":\"none\",\"xmlns\":\"http://www.w3.org/2000/svg\"}},[_c('circle',{attrs:{\"cx\":\"44\",\"cy\":\"44\",\"r\":\"42.5\",\"stroke\":\"#EB842E\",\"stroke-width\":\"3\"}}),_c('circle',{attrs:{\"cx\":\"44\",\"cy\":\"24\",\"r\":\"4\",\"fill\":\"#EB842E\"}}),_c('rect',{attrs:{\"x\":\"41\",\"y\":\"33\",\"width\":\"7\",\"height\":\"27\",\"fill\":\"#EB842E\"}})]),_c('p',{staticStyle:{\"text-align\":\"center\",\"padding-left\":\"20px\",\"padding-right\":\"20px\"}},[_vm._v(\"\\n \"+_vm._s(_vm.name)+\" , para aplicar por los beneficios de pensión, debes\\n cumplir con otros requisitos. Haz clic en la opción debajo y\\n conoce los requisitos de cada beneficio.\\n \")])]),_c('div',{staticClass:\"btns\",on:{\"click\":function($event){return _vm.goBeneficiosAfiliado()}}},[_c('a',{attrs:{\"type\":\"button\"}},[_vm._v(\"Beneficios del afiliado\")])]),_c('div',{staticClass:\"btns2\",staticStyle:{\"color\":\"#0e66b9\"},attrs:{\"data-dismiss\":\"modal\"}},[_vm._v(\"\\n Omitir\\n \")])]):_vm._e()])])],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport { Component, Vue, Prop, Watch } from \"vue-property-decorator\";\nimport { BeneficiosDisponiblesResponse } from \"@/models/Dashboard/BeneficiosDisponiblesResponse\";\nimport ValidationService from \"@/services/ValidationService\";\nimport User from \"@/models/User\";\nimport AfiliadoService from \"@/services/AfiliadoService\";\nimport Swal from \"sweetalert2\";\nimport ValidacionCertificacionTss from \"@/models/ValidacionCertificacionTss\";\nimport { Getter } from \"vuex-class\";\nimport GlobalConfig from \"@/GlobalConfig\";\nimport ServiceResponseEntity from \"@/services/response-models/ServiceResponseEntity\";\nimport RequisitoBeneficio, {\n Requisito,\n ParametrosValidacionRequisitosBeneficio,\n} from \"@/models/RequisitoBeneficio\";\n\nimport TipoRequisitoEnum from \"@/enums/TipoRequisitoEnum\";\nimport ServiceResponseSolicitudes from \"@/services/response-models/ServiceResponseSolicitudes\";\nimport ParametrosObtencionPresolicitud from \"@/models/ParametrosObtencionPresolicitud\";\nimport Presolicitud from \"@/models/Presolicitud\";\nimport { AxiosResponse } from \"axios\";\nimport { BIcon, BIconStopwatch, BIconArrowRepeat } from \"bootstrap-vue\";\n@Component({ components: { BIcon, BIconStopwatch, BIconArrowRepeat } })\nexport default class Beneficios extends Vue {\n @Getter(\"isLoggedIn\") isLoggedIn: boolean;\n @Prop({ default: \"btn btn-info\" }) className: string;\n @Prop({ default: true }) loading: boolean;\n @Prop({ default: false }) disabled: boolean;\n @Prop({ default: null }) beneficiosDisponibles: BeneficiosDisponiblesResponse;\n @Prop({ default: false }) validarBeneficios: boolean;\n @Getter(\"user\") user: User;\n public descriptionBeneficio: string = \"\";\n public montoBeneficio: string = \"\";\n public name: string = \"\";\n\n public validationService = new ValidationService();\n public afiliadoService = new AfiliadoService();\n async created() {}\n\n public async validatBeneficios() {\n const statusesPromise = Promise.allSettled([\n this.validarVejezAnticipada(),\n this.validarIngresoTardio(),\n this.validarCesantia(),\n ]);\n\n const [vejezResult, ingresoResult, cesantiaResult] = await statusesPromise;\n var aplicaVejez =\n vejezResult.status === \"fulfilled\" ? vejezResult.value : false;\n var aplicaIngresoTardio =\n ingresoResult.status === \"fulfilled\" ? ingresoResult.value : false;\n var aplicaCesantia =\n cesantiaResult.status === \"fulfilled\" ? cesantiaResult.value : false;\n // console.log(\"Aplica Vejez\"+aplicaVejez);\n this.enableBeneficio(5, aplicaVejez);\n this.enableBeneficio(1, aplicaIngresoTardio);\n this.enableBeneficio(6, aplicaCesantia);\n this.loading = false;\n Swal.close();\n }\n mounted() {\n if (this.isLoggedIn) {\n const str = this.$store.state.user.primerNombre.toLowerCase();\n const arr = str.split(\" \");\n for (var i = 0; i < arr.length; i++) {\n arr[i] = arr[i].charAt(0).toUpperCase() + arr[i].slice(1);\n }\n const str2 = arr.join(\" \");\n this.name = str2;\n }\n }\n public redirectToRegistroFallecimiento() {\n this.$router.push(\"/consulta-afiliado-fallecido\");\n }\n public goBeneficiosAfiliado() {\n window.location.href =\n GlobalConfig.PUBLIC_WEB_URL + \"/afiliados/beneficios-del-afiliado/\";\n }\n\n public redirectToIngresoTardio() {\n if (!this.user.esAfiliadoFallecido) {\n this.$router.push(\"/devolucion-ingreso-tardio\");\n } else {\n Swal.fire({\n text:\n \"Llámanos a nuestros teléfonos 809-567-2371 o 1-809-200-2371 para obtener más información sobre procesar este beneficio.\",\n icon: \"info\",\n });\n }\n }\n\n public redirectToCesantia() {\n if (!this.user.esAfiliadoFallecido) {\n this.$router.push(\"/cesantia\");\n } else {\n Swal.fire({\n text:\n \"Llámanos a nuestros teléfonos 809-567-2371 o 1-809-200-2371 para obtener más información sobre procesar este beneficio.\",\n icon: \"info\",\n });\n }\n }\n\n public redirectToVejezAnticipada() {\n if (!this.user.esAfiliadoFallecido) {\n this.$router.push(\"/vejez-anticipada\");\n } else {\n Swal.fire({\n text:\n \"Llámanos a nuestros teléfonos 809-567-2371 o 1-809-200-2371 para obtener más información sobre procesar este beneficio.\",\n icon: \"info\",\n });\n }\n }\n\n public onMouseEnter(obj: MouseEvent) {\n let eventTarget = obj.target as HTMLElement;\n let description = \"\";\n let monto = \"\";\n if (eventTarget.className.indexOf(\"menu-icon-option\") > -1) {\n description = eventTarget.parentElement.dataset.description;\n monto = eventTarget.parentElement.dataset.monto;\n } else {\n description = eventTarget.dataset.description;\n monto = eventTarget.dataset.monto;\n }\n\n this.descriptionBeneficio = description;\n this.montoBeneficio = monto;\n }\n public onMouseLeave(obj) {\n this.descriptionBeneficio = \"\";\n }\n public LlenarDescripciones() {}\n public mostrarBeneficio(codigo: number) {\n return this.beneficiosDisponibles.data.some(\n (e) => e.codigoBeneficio == codigo && e.aplica == \"S\"\n );\n // return false;\n }\n public getBeneficioDescripcion(codigo: number) {\n let beneficio = this.beneficiosDisponibles.data.find(\n (e) => e.codigoBeneficio == codigo\n );\n if (beneficio != null) {\n return beneficio.mensaje;\n } else {\n return \"\";\n }\n }\n public getMontoBeneficio(codigo: number) {\n let beneficio = this.beneficiosDisponibles.data.find(\n (e) => e.codigoBeneficio == codigo\n );\n if (beneficio != null) {\n return \"RD$ \" + this.numberWithCommas(beneficio.monto.toFixed(2));\n } else {\n return \"\";\n }\n }\n public numberWithCommas(x) {\n return x.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\n }\n public getBeneficioMonto(codigo: number) {\n let beneficio = this.beneficiosDisponibles.data.find(\n (e) => e.codigoBeneficio == codigo\n );\n if (beneficio != null) {\n return beneficio.monto;\n } else {\n return \"\";\n }\n }\n enableBeneficio(codigo: number, aplica: Boolean = false) {\n let beneficioIndex = this.beneficiosDisponibles.data.findIndex(\n (e) => e.codigoBeneficio == codigo\n );\n\n // console.log(\"index\"+ beneficioIndex);\n // console.log(\"aplica\"+ aplica);\n\n if (beneficioIndex != null) {\n if (aplica) {\n this.beneficiosDisponibles.data[beneficioIndex].aplica = \"S\";\n } else {\n this.beneficiosDisponibles.data[beneficioIndex].aplica = \"N\";\n }\n }\n }\n\n get aplicaBeneficios() {\n if (\n this.beneficiosDisponibles != null &&\n this.beneficiosDisponibles.data != null &&\n this.beneficiosDisponibles.data.some((e) => e.aplica == \"S\")\n ) {\n return true;\n } else {\n return false;\n }\n }\n public async validarTssIngresoTardio(): Promise {\n return new Promise((resolve, reject) => {\n this.validationService\n .validateIngresoTardio(\"\")\n .then(\n async (\n response: AxiosResponse<\n ServiceResponseEntity\n >\n ) => {\n return resolve(response.data.entity.aplicaTramite);\n }\n )\n .catch((error) => {\n return resolve(false);\n });\n });\n }\n public async validarTssCesantia(): Promise {\n return new Promise((resolve, reject) => {\n this.validationService\n .validateCesantia(\"\")\n .then(\n async (\n response: AxiosResponse<\n ServiceResponseEntity\n >\n ) => {\n return response.data.entity.aplicaTramite;\n }\n )\n .catch((error) => {\n return false;\n });\n });\n }\n\n public obtenerPresolicitudEnProceso(\n TipoBeneficioEnum: number\n ): Promise {\n return new Promise((resolve, reject) => {\n this.afiliadoService\n .getPresolicitud(\n new ParametrosObtencionPresolicitud(\n null,\n this.$store.state.user.cedula,\n null,\n null\n )\n )\n .then((response: AxiosResponse) => {\n if (\n response.data.solicitudes &&\n response.data.solicitudes.length > 0\n ) {\n resolve(\n response.data.solicitudes.find(\n (x) =>\n x.tipoBeneficio === TipoBeneficioEnum.toString() &&\n !x.solCancelada &&\n (!x.docFirmado || !x.solicitudPagada)\n )\n );\n } else {\n resolve(null);\n }\n })\n .catch((err) => {\n reject();\n });\n });\n }\n\n public validarRequisitosBeneficio(\n TipoBeneficioEnum: Number\n ): Promise {\n return new Promise((resolve, reject) => {\n const parametrosValidacionRequisitosBeneficio = new ParametrosValidacionRequisitosBeneficio(\n null,\n this.user.codCuenta,\n TipoRequisitoEnum.Validacion,\n Number(TipoBeneficioEnum)\n );\n this.validationService\n .validarRequisitosBeneficios(parametrosValidacionRequisitosBeneficio)\n .then(\n (\n response: AxiosResponse>\n ) => {\n var result = response.data.entity.requisitos.every(\n (x) => x.cumpleRequisito\n );\n\n resolve(result);\n }\n )\n .catch(() => {\n reject();\n });\n });\n }\n\n public async validarIngresoTardio(): Promise {\n var tssValidation = await this.validarTssIngresoTardio();\n\n var solicitudesProceso = await this.obtenerPresolicitudEnProceso(1);\n var cumpleRequisitos = await this.validarRequisitosBeneficio(1);\n return tssValidation && solicitudesProceso == null && cumpleRequisitos;\n }\n public async validarCesantia(): Promise {\n var tssValidation = await this.validarTssIngresoTardio();\n var solicitudesProceso = await this.obtenerPresolicitudEnProceso(6);\n var cumpleRequisitos = await this.validarRequisitosBeneficio(6);\n return tssValidation && solicitudesProceso == null && cumpleRequisitos;\n }\n public async validarVejezAnticipada(): Promise {\n var solicitudesProceso = await this.obtenerPresolicitudEnProceso(5);\n var cumpleRequisitos = await this.validarRequisitosBeneficio(5);\n console.log()\n // console.log(\"Vejez solicitud en proceso:\"+solicitudesProceso);\n // console.log(\"Vejez requisitos:\"+cumpleRequisitos);\n\n return solicitudesProceso == null && cumpleRequisitos;\n }\n\n @Watch(\"validarBeneficios\")\n public action(value: boolean) {\n this.validatBeneficios();\n }\n public showLoadingAlert(message: string): void {\n Swal.fire({\n text: message,\n icon: \"info\",\n //backdrop: false,\n timerProgressBar: true,\n onBeforeOpen: () => {\n Swal.showLoading();\n },\n allowOutsideClick: false,\n });\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Beneficios.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Beneficios.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./Beneficios.vue?vue&type=template&id=516fd623&scoped=true\"\nimport script from \"./Beneficios.vue?vue&type=script&lang=ts\"\nexport * from \"./Beneficios.vue?vue&type=script&lang=ts\"\nimport style0 from \"./Beneficios.vue?vue&type=style&index=0&id=516fd623&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"516fd623\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('Doughnut',{attrs:{\"chart-options\":_vm.chartOptions,\"chart-data\":_vm.chartData}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Doughnut.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Doughnut.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Doughnut.vue?vue&type=template&id=62a89949\"\nimport script from \"./Doughnut.vue?vue&type=script&lang=js\"\nexport * from \"./Doughnut.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\nimport Swal from \"sweetalert2\";\nimport { Component, Vue, Watch } from \"vue-property-decorator\";\nimport { D3SlicesChart } from \"vue-d3-charts\";\nimport Chart from \"chart.js\";\nimport AfiliadoService from \"@/services/AfiliadoService\";\nimport { DashboardTrimestralResponse } from \"@/models/Dashboard/DashboardTrimestralResponse\";\nimport { BeneficiosDisponiblesResponse } from \"@/models/Dashboard/BeneficiosDisponiblesResponse\";\nimport { VideoIntroResponse } from \"@/models/Dashboard/VideoIntroResponse\";\nimport { DashboardResponse } from \"@/models/Dashboard/DashboardResponse\";\nimport axios, { AxiosResponse } from \"axios\";\nimport Beneficios from \"@/components/Beneficios.vue\";\nimport DoughnutChart from \"@/components/Doughnut.vue\";\nimport ChartDataLabels from \"chartjs-plugin-datalabels\";\nimport User from \"@/models/User\";\nimport { Getter } from \"vuex-class\";\n@Component({ components: { D3SlicesChart, Beneficios, DoughnutChart } })\nexport default class DashBoard extends Vue {\n public afiliadoService: AfiliadoService = new AfiliadoService();\n public show: boolean = false;\n public validarBeneficios: boolean = false;\n public DashBoard: DashboardResponse = new DashboardResponse();\n public DashBoardTrimestral: DashboardTrimestralResponse = new DashboardTrimestralResponse();\n public BeneficiosDisponibles: BeneficiosDisponiblesResponse = new BeneficiosDisponiblesResponse();\n public VideoIntroResponse: VideoIntroResponse = new VideoIntroResponse();\n public LineChartLabels: string[] = [];\n public LineChartValues: number[] = [];\n public userId: string = this.$store.state.user.cedula;\n @Getter(\"user\") user: User;\n\n public async getTrimestral(): Promise {\n var responseTrimestral = await this.afiliadoService\n .getDashbordTrimestral(this.userId)\n .then((response) => {\n if (response.data.data != null) {\n response.data.data = response.data.data.sort((a, b) => {\n return parseFloat(a.secuencia) - parseFloat(b.secuencia);\n });\n\n for (let i = 0; i < response.data.data.length; i++) {\n this.LineChartLabels[i] = response.data.data[i].nombrePeriodo;\n this.LineChartValues[i] = response.data.data[i].monto;\n }\n }\n this.DashBoardTrimestral = response.data;\n })\n .catch((error) => {\n return error;\n });\n return responseTrimestral;\n }\n\n public async getDashboard(): Promise {\n var response = await this.afiliadoService\n .getDashbord(this.userId)\n .then((resp) => {\n \n if(!this.user.esAfiliado){\n this.goSolicitudesBeneicios();\n }\n this.DashBoard = resp.data;\n this.show = true;\n })\n .catch((error) => {\n return error;\n });\n return response;\n }\n public async getData() {\n this.openLoader();\n await this.afiliadoService\n .getVideoIntro(this.userId)\n .then((resp) => {\n this.VideoIntroResponse = resp.data;\n this.show = true;\n })\n .catch((error) => {\n console.log(error);\n });\n\n const statusesPromise = Promise.allSettled([\n this.getTrimestral(),\n this.getDashboard(),\n this.getBeneficiosDisponibles(),\n ]);\n const [trimestral, dashboard, benefDisponibles] = await statusesPromise;\n // var responseTrimestral = await this.afiliadoService\n // .getDashbordTrimestral(this.userId)\n // .then((response) => {\n // if (response.data.data != null) {\n // response.data.data = response.data.data.sort( (a, b) => {\n // return parseFloat(a.secuencia) - parseFloat(b.secuencia);\n // });\n //\n // for (let i = 0; i < response.data.data.length; i++) {\n // this.LineChartLabels[i] = response.data.data[i].nombrePeriodo;\n // this.LineChartValues[i] = response.data.data[i].monto;\n // }\n // }\n // this.DashBoardTrimestral = response.data;\n // })\n // .catch((error) => {\n // return error;\n // });\n // var response = await this.afiliadoService\n // .getDashbord(this.userId)\n // .then((resp) => {\n // this.DashBoard = resp.data;\n // this.show = true;\n // })\n // .catch((error) => {\n // return error;\n // });\n\n // await this.afiliadoService\n // .getBeneficiosDisponibles(this.userId)\n // .then((resp) => {\n // this.BeneficiosDisponibles = resp.data;\n // this.show = true;\n // })\n // .catch((error) => {\n // return error;\n // });\n\n this.$forceUpdate();\n\n this.closeLoader();\n }\n public async getBeneficiosDisponibles(): Promise {\n var response = await this.afiliadoService\n .getBeneficiosDisponibles(this.userId)\n .then((resp) => {\n this.BeneficiosDisponibles = resp.data;\n this.show = true;\n })\n .catch((error) => {\n return error;\n });\n return response;\n }\n async created() {\n await this.getData();\n this.goIntro();\n if (true) {\n const canvas = document.getElementById(\"myChart\");\n const canvasElement = canvas as HTMLCanvasElement;\n const ctx = canvasElement.getContext(\"2d\");\n\n Chart.helpers.merge(Chart.defaults.global.plugins.datalabels, {\n color: \"#FE777B\",\n });\n const myChart = new Chart(ctx, {\n type: \"doughnut\",\n data: {\n labels: [\n \"Tus Aportes\",\n \"Aportes de tu Empleador\",\n \"Rentabilidad Acreditada\",\n \"Otros Aportes\",\n ],\n datasets: [\n {\n data: [\n Number(\n this.DashBoard.dashboard.distribucionBalanceMonto.aporteEmpleado.toFixed(\n 2\n )\n ),\n Number(\n this.DashBoard.dashboard.distribucionBalanceMonto.aporteEmpleador.toFixed(\n 2\n )\n ),\n Number(\n this.DashBoard.dashboard.distribucionBalanceMonto.rentabilidad.toFixed(\n 2\n )\n ),\n Number(\n this.DashBoard.dashboard.distribucionBalanceMonto.otrosAportes.toFixed(\n 2\n )\n ),\n ],\n backgroundColor: [\"#F8B822\", \"#005EB8\", \"#F57034\", \"#8FCBFC\"],\n hoverBackgroundColor: [\n \"#F8B822\",\n \"#005EB8\",\n \"#F57034\",\n \"#8FCBFC\",\n ],\n },\n ],\n },\n plugins: [ChartDataLabels],\n options: {\n tooltips: {\n enabled: true,\n callbacks: {\n label: function(tooltipItem, data) {\n var dataset = data.datasets[tooltipItem.datasetIndex];\n // var total = dataset.data.reduce(function(previousValue, currentValue, currentIndex, array) {\n // return previousValue + currentValue;\n // });\n let total = 0 as number;\n for (const n of dataset.data) total += Number(n);\n var currentValue: any = dataset.data[tooltipItem.index];\n //var precentage = Math.floor((((currentValue/total) * 100)+0.5));\n var precentage = (currentValue / total) * 100;\n var formatted = currentValue\n .toFixed(2)\n .replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\n return data.labels[tooltipItem.index] + \" : \" + formatted;\n },\n },\n },\n responsive: true,\n maintainAspectRatio: false,\n plugins: {\n datalabels: {\n color: \"#FFFFFF\",\n font: {\n family: \"EvaPro\",\n size: 18,\n },\n formatter: function(value, ctx) {\n const datapoints = ctx.chart.data.datasets[0].data;\n //const total = datapoints.reduce((total, datapoint) => total + datapoint, 0);\n let total = 0 as number;\n for (const n of datapoints) total += Number(n);\n const percentage = (value / total) * 100;\n if (percentage < 5.9) {\n return \"\";\n }\n return percentage.toFixed(2) + \"%\";\n },\n },\n },\n legend: {\n display: false,\n },\n },\n });\n }\n\n const canvas2 = document.getElementById(\"TableChart\");\n const canvasElement2 = canvas2 as HTMLCanvasElement;\n const ctx2 = canvasElement2.getContext(\"2d\");\n this.DashBoardTrimestral.data = this.DashBoardTrimestral.data.sort(function(\n a,\n b\n ) {\n return parseFloat(a.secuencia) - parseFloat(b.secuencia);\n });\n // const ctx2 = document.getElementById(\"TableChart\").getContext(\"2d\");\n const TableChart = new Chart(ctx2, {\n type: \"line\",\n data: {\n labels: this.LineChartLabels,\n datasets: [\n {\n data: [\n Number(this.LineChartValues[0]?.toFixed(2)),\n Number(this.LineChartValues[1]?.toFixed(2)),\n Number(this.LineChartValues[2]?.toFixed(2)),\n Number(this.LineChartValues[3]?.toFixed(2)),\n Number(this.LineChartValues[4]?.toFixed(2)),\n ],\n fill: false,\n backgroundColor: [\n \"rgba(200, 0, 0, 0)\",\n \"rgba(200, 0, 0, 0)\",\n \"rgba(200, 0, 0, 0)\",\n \"rgba(200, 0, 0, 0)\",\n \"rgba(200, 0, 0, 0)\",\n \"rgba(0, 0, 0, 0)\",\n ],\n borderColor: \"#0E66B9\",\n pointBackgroundColor: [\n \"white\",\n \"white\",\n \"white\",\n \"white\",\n \"white\",\n \"white\",\n \"white\",\n ],\n pointBorderColor: [\n \"#F3A13A\",\n \"#F3A13A\",\n \"#F3A13A\",\n \"#F3A13A\",\n \"#F3A13A\",\n \"#F3A13A\",\n \"#F3A13A\",\n ],\n borderWidth: 3,\n pointRadius: 5,\n },\n ],\n },\n options: {\n tooltips: {\n enabled: true,\n callbacks: {\n label: function(tooltipItem, data) {\n var dataset = data.datasets[tooltipItem.datasetIndex];\n\n var currentValue: any = dataset.data[tooltipItem.index];\n\n return currentValue\n .toString()\n .replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\n },\n },\n },\n scales: {\n yAxes: [\n {\n ticks: {\n callback: function(value, index, ticks) {\n return value.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\n },\n\n padding: 20,\n //crossAlign: 'start',\n },\n offset: true,\n gridLines: {\n display: true,\n },\n },\n ],\n xAxes: [\n {\n gridLines: {\n display: false,\n },\n },\n ],\n },\n plugins: {\n title: {\n display: false,\n },\n },\n legend: {\n display: false,\n },\n },\n });\n }\n\n get isDashboardDataAvaliable() {\n return (\n this.DashBoard != null &&\n this.DashBoard.response != null &&\n this.DashBoard.response.respCode == 200\n );\n }\n ///\n public goSolicitudesBeneicios() {\n this.$router.push(\"/solicitudes-beneficiario\").catch(() => {});\n }\n\n public goIntro() {\n if (\n this.isDashboardDataAvaliable &&\n this.DashBoard.dashboard.indMostrarVideo == 0\n ) {\n this.$router.push(\"/TourVirtual\");\n }\n }\n public numberWithCommas(x) {\n return x.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\n }\n public consultarBeneficios() {\n this.validarBeneficios = true;\n }\n\n public openLoader() {\n Swal.fire({\n title: \"Cargando\",\n html: \" \",\n timerProgressBar: true,\n onOpen: () => {\n Swal.showLoading();\n },\n });\n }\n public closeLoader() {\n Swal.close();\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DashBoard.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DashBoard.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./DashBoard.vue?vue&type=template&id=5af3c5ef&scoped=true\"\nimport script from \"./DashBoard.vue?vue&type=script&lang=ts\"\nexport * from \"./DashBoard.vue?vue&type=script&lang=ts\"\nimport style0 from \"./DashBoard.vue?vue&type=style&index=0&id=5af3c5ef&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5af3c5ef\",\n null\n \n)\n\nexport default component.exports","import colors from \"../colors.js\";\n\nexport default colors(\"66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3\");\n","export default function max(values, valueof) {\n let max;\n if (valueof === undefined) {\n for (const value of values) {\n if (value != null\n && (max < value || (max === undefined && value >= value))) {\n max = value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null\n && (max < value || (max === undefined && value >= value))) {\n max = value;\n }\n }\n }\n return max;\n}\n","import { AxiosResponse } from \"axios\";\nimport BaseService from \"@/services/BaseService\";\nimport ServiceResponseEntity from \"./response-models/ServiceResponseEntity\";\nimport ValidacionCertificacionTss from \"@/models/ValidacionCertificacionTss\";\nimport RequisitoBeneficio, {\n ParametrosValidacionRequisitosBeneficio,\n} from \"@/models/RequisitoBeneficio\";\nimport ValidacionCedulaIt, {\n ValidacionCedulaItResp,\n} from \"@/models/ValidacionCedulaIt\";\nimport ValidacionActaNacimiento, {\n ValidacionActaNacimientoResp,\n} from \"@/models/ValidacionActaNacimiento\";\nimport ServiceResponse from \"./response-models/ServiceResponse\";\n\nexport default class ValidationService extends BaseService {\n public constructor() {\n super(\"Validations\");\n }\n\n public async validarRequisitosBeneficios(\n parametrosValidacionRequisitosBeneficio: ParametrosValidacionRequisitosBeneficio\n ): Promise>> {\n return this.post(\n \"ValidarRequisitosBeneficios\",\n parametrosValidacionRequisitosBeneficio\n );\n }\n\n public async validateIngresoTardio(\n secuencia: string\n ): Promise>> {\n return this.get(\"ValidateIngresoTardio\", secuencia);\n }\n\n public async validateCedulaAfiliadoIT(\n validacionCedula: ValidacionCedulaIt,\n cedulas: { cedulaFrontal: File[]; cedulaTrasera: File[] }\n ): Promise>> {\n return this.post(\n \"ValidateCedulaIT\",\n { validacionCedula },\n {\n cedulaFrontal: cedulas.cedulaFrontal,\n cedulaTrasera: cedulas.cedulaTrasera,\n }\n );\n }\n\n public async validateCedulaAfiliadoSobrevivencia(\n validacionCedula: ValidacionCedulaIt,\n cedulas: { cedulaFrontal: File[]; cedulaTrasera: File[] }\n ): Promise>> {\n return this.post(\n \"ValidateCedulaSobrevivencia\",\n { validacionCedula },\n {\n cedulaFrontal: cedulas.cedulaFrontal,\n cedulaTrasera: cedulas.cedulaTrasera,\n }\n );\n }\n public async validateCedulaReverso(\n validacionCedula: ValidacionCedulaIt,\n cedulas: { cedulaFrontal: File[]; cedulaTrasera: File[] }\n ): Promise>> {\n return this.post(\n \"ValidateCedulaReverso\",\n { validacionCedula },\n {\n cedulaFrontal: cedulas.cedulaFrontal,\n cedulaTrasera: cedulas.cedulaTrasera,\n }\n );\n }\n\n public async validateCesantia(\n secuencia: string\n ): Promise>> {\n return this.get(\"ValidateCesantia\", secuencia);\n }\n public async validateVejezAnticipada(\n secuencia: string\n ): Promise>> {\n return this.get(\"ValidateVejezAnticipada\", secuencia);\n }\n\n public async validateActaNacimiento(\n validacionActaNacimiento: ValidacionActaNacimiento,\n actaNacimiento: { acta: File[] }\n ): Promise<\n AxiosResponse>\n > {\n return this.post(\n \"ValidateActaNacimiento\",\n { validacionActaNacimiento },\n { acta: actaNacimiento.acta }\n );\n }\n}\n","import colors from \"../colors.js\";\n\nexport default colors(\"7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666\");\n","export default function(a, b) {\n return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN;\n}\n","export default function(d) {\n return d;\n}\n","import constant from \"./constant.js\";\nimport descending from \"./descending.js\";\nimport identity from \"./identity.js\";\nimport {tau} from \"./math.js\";\n\nexport default function() {\n var value = identity,\n sortValues = descending,\n sort = null,\n startAngle = constant(0),\n endAngle = constant(tau),\n padAngle = constant(0);\n\n function pie(data) {\n var i,\n n = data.length,\n j,\n k,\n sum = 0,\n index = new Array(n),\n arcs = new Array(n),\n a0 = +startAngle.apply(this, arguments),\n da = Math.min(tau, Math.max(-tau, endAngle.apply(this, arguments) - a0)),\n a1,\n p = Math.min(Math.abs(da) / n, padAngle.apply(this, arguments)),\n pa = p * (da < 0 ? -1 : 1),\n v;\n\n for (i = 0; i < n; ++i) {\n if ((v = arcs[index[i] = i] = +value(data[i], i, data)) > 0) {\n sum += v;\n }\n }\n\n // Optionally sort the arcs by previously-computed values or by data.\n if (sortValues != null) index.sort(function(i, j) { return sortValues(arcs[i], arcs[j]); });\n else if (sort != null) index.sort(function(i, j) { return sort(data[i], data[j]); });\n\n // Compute the arcs! They are stored in the original data's order.\n for (i = 0, k = sum ? (da - n * pa) / sum : 0; i < n; ++i, a0 = a1) {\n j = index[i], v = arcs[j], a1 = a0 + (v > 0 ? v * k : 0) + pa, arcs[j] = {\n data: data[j],\n index: i,\n value: v,\n startAngle: a0,\n endAngle: a1,\n padAngle: p\n };\n }\n\n return arcs;\n }\n\n pie.value = function(_) {\n return arguments.length ? (value = typeof _ === \"function\" ? _ : constant(+_), pie) : value;\n };\n\n pie.sortValues = function(_) {\n return arguments.length ? (sortValues = _, sort = null, pie) : sortValues;\n };\n\n pie.sort = function(_) {\n return arguments.length ? (sort = _, sortValues = null, pie) : sort;\n };\n\n pie.startAngle = function(_) {\n return arguments.length ? (startAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : startAngle;\n };\n\n pie.endAngle = function(_) {\n return arguments.length ? (endAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : endAngle;\n };\n\n pie.padAngle = function(_) {\n return arguments.length ? (padAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : padAngle;\n };\n\n return pie;\n}\n","export function cubicIn(t) {\n return t * t * t;\n}\n\nexport function cubicOut(t) {\n return --t * t * t + 1;\n}\n\nexport function cubicInOut(t) {\n return ((t *= 2) <= 1 ? t * t * t : (t -= 2) * t * t + 2) / 2;\n}\n","var overshoot = 1.70158;\n\nexport var backIn = (function custom(s) {\n s = +s;\n\n function backIn(t) {\n return (t = +t) * t * (s * (t - 1) + t);\n }\n\n backIn.overshoot = custom;\n\n return backIn;\n})(overshoot);\n\nexport var backOut = (function custom(s) {\n s = +s;\n\n function backOut(t) {\n return --t * t * ((t + 1) * s + t) + 1;\n }\n\n backOut.overshoot = custom;\n\n return backOut;\n})(overshoot);\n\nexport var backInOut = (function custom(s) {\n s = +s;\n\n function backInOut(t) {\n return ((t *= 2) < 1 ? t * t * ((s + 1) * t - s) : (t -= 2) * t * ((s + 1) * t + s) + 2) / 2;\n }\n\n backInOut.overshoot = custom;\n\n return backInOut;\n})(overshoot);\n","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar toObject = require('./_to-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $GOPS = require('./_object-gops');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function' && !!$GOPS.f;\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function () { return dP(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function (value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n $GOPS.f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !require('./_library')) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function (key) {\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () { setter = true; },\n useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\nvar FAILS_ON_PRIMITIVES = $fails(function () { $GOPS.f(1); });\n\n$export($export.S + $export.F * FAILS_ON_PRIMITIVES, 'Object', {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return $GOPS.f(toObject(it));\n }\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n","export function point(that, x, y) {\n that._context.bezierCurveTo(\n (2 * that._x0 + that._x1) / 3,\n (2 * that._y0 + that._y1) / 3,\n (that._x0 + 2 * that._x1) / 3,\n (that._y0 + 2 * that._y1) / 3,\n (that._x0 + 4 * that._x1 + x) / 6,\n (that._y0 + 4 * that._y1 + y) / 6\n );\n}\n\nexport function Basis(context) {\n this._context = context;\n}\n\nBasis.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 =\n this._y0 = this._y1 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 3: point(this, this._x1, this._y1); // proceed\n case 2: this._context.lineTo(this._x1, this._y1); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; this._context.lineTo((5 * this._x0 + this._x1) / 6, (5 * this._y0 + this._y1) / 6); // proceed\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\n\nexport default function(context) {\n return new Basis(context);\n}\n","import number from \"./number.js\";\n\nvar reA = /[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,\n reB = new RegExp(reA.source, \"g\");\n\nfunction zero(b) {\n return function() {\n return b;\n };\n}\n\nfunction one(b) {\n return function(t) {\n return b(t) + \"\";\n };\n}\n\nexport default function(a, b) {\n var bi = reA.lastIndex = reB.lastIndex = 0, // scan index for next number in b\n am, // current match in a\n bm, // current match in b\n bs, // string preceding current number in b, if any\n i = -1, // index in s\n s = [], // string constants and placeholders\n q = []; // number interpolators\n\n // Coerce inputs to strings.\n a = a + \"\", b = b + \"\";\n\n // Interpolate pairs of numbers in a & b.\n while ((am = reA.exec(a))\n && (bm = reB.exec(b))) {\n if ((bs = bm.index) > bi) { // a string precedes the next number in b\n bs = b.slice(bi, bs);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n if ((am = am[0]) === (bm = bm[0])) { // numbers in a & b match\n if (s[i]) s[i] += bm; // coalesce with previous string\n else s[++i] = bm;\n } else { // interpolate non-matching numbers\n s[++i] = null;\n q.push({i: i, x: number(am, bm)});\n }\n bi = reB.lastIndex;\n }\n\n // Add remains of b.\n if (bi < b.length) {\n bs = b.slice(bi);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n\n // Special optimization for only a single match.\n // Otherwise, interpolate each of the numbers and rejoin the string.\n return s.length < 2 ? (q[0]\n ? one(q[0].x)\n : zero(b))\n : (b = q.length, function(t) {\n for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n });\n}\n","module.exports = __webpack_public_path__ + \"img/consulta-vejez-anticipada.e6ee2cd5.png\";","export default function min(values, valueof) {\n let min;\n if (valueof === undefined) {\n for (const value of values) {\n if (value != null\n && (min > value || (min === undefined && value >= value))) {\n min = value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null\n && (min > value || (min === undefined && value >= value))) {\n min = value;\n }\n }\n }\n return min;\n}\n","module.exports = __webpack_public_path__ + \"img/consulta-cesantia.13d09b31.png\";","export default function(node) {\n return (node.ownerDocument && node.ownerDocument.defaultView) // node is a Node\n || (node.document && node) // node is a Window\n || node.defaultView; // node is a Document\n}\n","function sign(x) {\n return x < 0 ? -1 : 1;\n}\n\n// Calculate the slopes of the tangents (Hermite-type interpolation) based on\n// the following paper: Steffen, M. 1990. A Simple Method for Monotonic\n// Interpolation in One Dimension. Astronomy and Astrophysics, Vol. 239, NO.\n// NOV(II), P. 443, 1990.\nfunction slope3(that, x2, y2) {\n var h0 = that._x1 - that._x0,\n h1 = x2 - that._x1,\n s0 = (that._y1 - that._y0) / (h0 || h1 < 0 && -0),\n s1 = (y2 - that._y1) / (h1 || h0 < 0 && -0),\n p = (s0 * h1 + s1 * h0) / (h0 + h1);\n return (sign(s0) + sign(s1)) * Math.min(Math.abs(s0), Math.abs(s1), 0.5 * Math.abs(p)) || 0;\n}\n\n// Calculate a one-sided slope.\nfunction slope2(that, t) {\n var h = that._x1 - that._x0;\n return h ? (3 * (that._y1 - that._y0) / h - t) / 2 : t;\n}\n\n// According to https://en.wikipedia.org/wiki/Cubic_Hermite_spline#Representations\n// \"you can express cubic Hermite interpolation in terms of cubic Bézier curves\n// with respect to the four values p0, p0 + m0 / 3, p1 - m1 / 3, p1\".\nfunction point(that, t0, t1) {\n var x0 = that._x0,\n y0 = that._y0,\n x1 = that._x1,\n y1 = that._y1,\n dx = (x1 - x0) / 3;\n that._context.bezierCurveTo(x0 + dx, y0 + dx * t0, x1 - dx, y1 - dx * t1, x1, y1);\n}\n\nfunction MonotoneX(context) {\n this._context = context;\n}\n\nMonotoneX.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 =\n this._y0 = this._y1 =\n this._t0 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 2: this._context.lineTo(this._x1, this._y1); break;\n case 3: point(this, this._t0, slope2(this, this._t0)); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n var t1 = NaN;\n\n x = +x, y = +y;\n if (x === this._x1 && y === this._y1) return; // Ignore coincident points.\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; point(this, slope2(this, t1 = slope3(this, x, y)), t1); break;\n default: point(this, this._t0, t1 = slope3(this, x, y)); break;\n }\n\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n this._t0 = t1;\n }\n}\n\nfunction MonotoneY(context) {\n this._context = new ReflectContext(context);\n}\n\n(MonotoneY.prototype = Object.create(MonotoneX.prototype)).point = function(x, y) {\n MonotoneX.prototype.point.call(this, y, x);\n};\n\nfunction ReflectContext(context) {\n this._context = context;\n}\n\nReflectContext.prototype = {\n moveTo: function(x, y) { this._context.moveTo(y, x); },\n closePath: function() { this._context.closePath(); },\n lineTo: function(x, y) { this._context.lineTo(y, x); },\n bezierCurveTo: function(x1, y1, x2, y2, x, y) { this._context.bezierCurveTo(y1, x1, y2, x2, y, x); }\n};\n\nexport function monotoneX(context) {\n return new MonotoneX(context);\n}\n\nexport function monotoneY(context) {\n return new MonotoneY(context);\n}\n","function Natural(context) {\n this._context = context;\n}\n\nNatural.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x = [];\n this._y = [];\n },\n lineEnd: function() {\n var x = this._x,\n y = this._y,\n n = x.length;\n\n if (n) {\n this._line ? this._context.lineTo(x[0], y[0]) : this._context.moveTo(x[0], y[0]);\n if (n === 2) {\n this._context.lineTo(x[1], y[1]);\n } else {\n var px = controlPoints(x),\n py = controlPoints(y);\n for (var i0 = 0, i1 = 1; i1 < n; ++i0, ++i1) {\n this._context.bezierCurveTo(px[0][i0], py[0][i0], px[1][i0], py[1][i0], x[i1], y[i1]);\n }\n }\n }\n\n if (this._line || (this._line !== 0 && n === 1)) this._context.closePath();\n this._line = 1 - this._line;\n this._x = this._y = null;\n },\n point: function(x, y) {\n this._x.push(+x);\n this._y.push(+y);\n }\n};\n\n// See https://www.particleincell.com/2012/bezier-splines/ for derivation.\nfunction controlPoints(x) {\n var i,\n n = x.length - 1,\n m,\n a = new Array(n),\n b = new Array(n),\n r = new Array(n);\n a[0] = 0, b[0] = 2, r[0] = x[0] + 2 * x[1];\n for (i = 1; i < n - 1; ++i) a[i] = 1, b[i] = 4, r[i] = 4 * x[i] + 2 * x[i + 1];\n a[n - 1] = 2, b[n - 1] = 7, r[n - 1] = 8 * x[n - 1] + x[n];\n for (i = 1; i < n; ++i) m = a[i] / b[i - 1], b[i] -= m, r[i] -= m * r[i - 1];\n a[n - 1] = r[n - 1] / b[n - 1];\n for (i = n - 2; i >= 0; --i) a[i] = (r[i] - a[i + 1]) / b[i];\n b[n - 1] = (x[n] + a[n - 1]) / 2;\n for (i = 0; i < n - 1; ++i) b[i] = 2 * x[i + 1] - a[i + 1];\n return [a, b];\n}\n\nexport default function(context) {\n return new Natural(context);\n}\n","import colors from \"../colors.js\";\n\nexport default colors(\"1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf\");\n","/*!\n * chartjs-plugin-datalabels v1.0.0\n * https://chartjs-plugin-datalabels.netlify.app\n * (c) 2017-2021 chartjs-plugin-datalabels contributors\n * Released under the MIT license\n */\n(function (global, factory) {\ntypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('chart.js')) :\ntypeof define === 'function' && define.amd ? define(['chart.js'], factory) :\n(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.ChartDataLabels = factory(global.Chart));\n}(this, (function (Chart) { 'use strict';\n\nfunction _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }\n\nvar Chart__default = /*#__PURE__*/_interopDefaultLegacy(Chart);\n\nvar helpers$4 = Chart__default['default'].helpers;\n\nvar devicePixelRatio = (function() {\n if (typeof window !== 'undefined') {\n if (window.devicePixelRatio) {\n return window.devicePixelRatio;\n }\n\n // devicePixelRatio is undefined on IE10\n // https://stackoverflow.com/a/20204180/8837887\n // https://github.com/chartjs/chartjs-plugin-datalabels/issues/85\n var screen = window.screen;\n if (screen) {\n return (screen.deviceXDPI || 1) / (screen.logicalXDPI || 1);\n }\n }\n\n return 1;\n}());\n\nvar utils = {\n // @todo move this in Chart.helpers.toTextLines\n toTextLines: function(inputs) {\n var lines = [];\n var input;\n\n inputs = [].concat(inputs);\n while (inputs.length) {\n input = inputs.pop();\n if (typeof input === 'string') {\n lines.unshift.apply(lines, input.split('\\n'));\n } else if (Array.isArray(input)) {\n inputs.push.apply(inputs, input);\n } else if (!helpers$4.isNullOrUndef(inputs)) {\n lines.unshift('' + input);\n }\n }\n\n return lines;\n },\n\n // @todo move this method in Chart.helpers.canvas.toFont (deprecates helpers.fontString)\n // @see https://developer.mozilla.org/en-US/docs/Web/CSS/font\n toFontString: function(font) {\n if (!font || helpers$4.isNullOrUndef(font.size) || helpers$4.isNullOrUndef(font.family)) {\n return null;\n }\n\n return (font.style ? font.style + ' ' : '')\n + (font.weight ? font.weight + ' ' : '')\n + font.size + 'px '\n + font.family;\n },\n\n // @todo move this in Chart.helpers.canvas.textSize\n // @todo cache calls of measureText if font doesn't change?!\n textSize: function(ctx, lines, font) {\n var items = [].concat(lines);\n var ilen = items.length;\n var prev = ctx.font;\n var width = 0;\n var i;\n\n ctx.font = font.string;\n\n for (i = 0; i < ilen; ++i) {\n width = Math.max(ctx.measureText(items[i]).width, width);\n }\n\n ctx.font = prev;\n\n return {\n height: ilen * font.lineHeight,\n width: width\n };\n },\n\n // @todo move this method in Chart.helpers.options.toFont\n parseFont: function(value) {\n var global = Chart__default['default'].defaults.global;\n var size = helpers$4.valueOrDefault(value.size, global.defaultFontSize);\n var font = {\n family: helpers$4.valueOrDefault(value.family, global.defaultFontFamily),\n lineHeight: helpers$4.options.toLineHeight(value.lineHeight, size),\n size: size,\n style: helpers$4.valueOrDefault(value.style, global.defaultFontStyle),\n weight: helpers$4.valueOrDefault(value.weight, null),\n string: ''\n };\n\n font.string = utils.toFontString(font);\n return font;\n },\n\n /**\n * Returns value bounded by min and max. This is equivalent to max(min, min(value, max)).\n * @todo move this method in Chart.helpers.bound\n * https://doc.qt.io/qt-5/qtglobal.html#qBound\n */\n bound: function(min, value, max) {\n return Math.max(min, Math.min(value, max));\n },\n\n /**\n * Returns an array of pair [value, state] where state is:\n * * -1: value is only in a0 (removed)\n * * 1: value is only in a1 (added)\n */\n arrayDiff: function(a0, a1) {\n var prev = a0.slice();\n var updates = [];\n var i, j, ilen, v;\n\n for (i = 0, ilen = a1.length; i < ilen; ++i) {\n v = a1[i];\n j = prev.indexOf(v);\n\n if (j === -1) {\n updates.push([v, 1]);\n } else {\n prev.splice(j, 1);\n }\n }\n\n for (i = 0, ilen = prev.length; i < ilen; ++i) {\n updates.push([prev[i], -1]);\n }\n\n return updates;\n },\n\n /**\n * https://github.com/chartjs/chartjs-plugin-datalabels/issues/70\n */\n rasterize: function(v) {\n return Math.round(v * devicePixelRatio) / devicePixelRatio;\n }\n};\n\nfunction orient(point, origin) {\n var x0 = origin.x;\n var y0 = origin.y;\n\n if (x0 === null) {\n return {x: 0, y: -1};\n }\n if (y0 === null) {\n return {x: 1, y: 0};\n }\n\n var dx = point.x - x0;\n var dy = point.y - y0;\n var ln = Math.sqrt(dx * dx + dy * dy);\n\n return {\n x: ln ? dx / ln : 0,\n y: ln ? dy / ln : -1\n };\n}\n\nfunction aligned(x, y, vx, vy, align) {\n switch (align) {\n case 'center':\n vx = vy = 0;\n break;\n case 'bottom':\n vx = 0;\n vy = 1;\n break;\n case 'right':\n vx = 1;\n vy = 0;\n break;\n case 'left':\n vx = -1;\n vy = 0;\n break;\n case 'top':\n vx = 0;\n vy = -1;\n break;\n case 'start':\n vx = -vx;\n vy = -vy;\n break;\n case 'end':\n // keep natural orientation\n break;\n default:\n // clockwise rotation (in degree)\n align *= (Math.PI / 180);\n vx = Math.cos(align);\n vy = Math.sin(align);\n break;\n }\n\n return {\n x: x,\n y: y,\n vx: vx,\n vy: vy\n };\n}\n\n// Line clipping (Cohen–Sutherland algorithm)\n// https://en.wikipedia.org/wiki/Cohen–Sutherland_algorithm\n\nvar R_INSIDE = 0;\nvar R_LEFT = 1;\nvar R_RIGHT = 2;\nvar R_BOTTOM = 4;\nvar R_TOP = 8;\n\nfunction region(x, y, rect) {\n var res = R_INSIDE;\n\n if (x < rect.left) {\n res |= R_LEFT;\n } else if (x > rect.right) {\n res |= R_RIGHT;\n }\n if (y < rect.top) {\n res |= R_TOP;\n } else if (y > rect.bottom) {\n res |= R_BOTTOM;\n }\n\n return res;\n}\n\nfunction clipped(segment, area) {\n var x0 = segment.x0;\n var y0 = segment.y0;\n var x1 = segment.x1;\n var y1 = segment.y1;\n var r0 = region(x0, y0, area);\n var r1 = region(x1, y1, area);\n var r, x, y;\n\n // eslint-disable-next-line no-constant-condition\n while (true) {\n if (!(r0 | r1) || (r0 & r1)) {\n // both points inside or on the same side: no clipping\n break;\n }\n\n // at least one point is outside\n r = r0 || r1;\n\n if (r & R_TOP) {\n x = x0 + (x1 - x0) * (area.top - y0) / (y1 - y0);\n y = area.top;\n } else if (r & R_BOTTOM) {\n x = x0 + (x1 - x0) * (area.bottom - y0) / (y1 - y0);\n y = area.bottom;\n } else if (r & R_RIGHT) {\n y = y0 + (y1 - y0) * (area.right - x0) / (x1 - x0);\n x = area.right;\n } else if (r & R_LEFT) {\n y = y0 + (y1 - y0) * (area.left - x0) / (x1 - x0);\n x = area.left;\n }\n\n if (r === r0) {\n x0 = x;\n y0 = y;\n r0 = region(x0, y0, area);\n } else {\n x1 = x;\n y1 = y;\n r1 = region(x1, y1, area);\n }\n }\n\n return {\n x0: x0,\n x1: x1,\n y0: y0,\n y1: y1\n };\n}\n\nfunction compute$1(range, config) {\n var anchor = config.anchor;\n var segment = range;\n var x, y;\n\n if (config.clamp) {\n segment = clipped(segment, config.area);\n }\n\n if (anchor === 'start') {\n x = segment.x0;\n y = segment.y0;\n } else if (anchor === 'end') {\n x = segment.x1;\n y = segment.y1;\n } else {\n x = (segment.x0 + segment.x1) / 2;\n y = (segment.y0 + segment.y1) / 2;\n }\n\n return aligned(x, y, range.vx, range.vy, config.align);\n}\n\nvar positioners = {\n arc: function(vm, config) {\n var angle = (vm.startAngle + vm.endAngle) / 2;\n var vx = Math.cos(angle);\n var vy = Math.sin(angle);\n var r0 = vm.innerRadius;\n var r1 = vm.outerRadius;\n\n return compute$1({\n x0: vm.x + vx * r0,\n y0: vm.y + vy * r0,\n x1: vm.x + vx * r1,\n y1: vm.y + vy * r1,\n vx: vx,\n vy: vy\n }, config);\n },\n\n point: function(vm, config) {\n var v = orient(vm, config.origin);\n var rx = v.x * vm.radius;\n var ry = v.y * vm.radius;\n\n return compute$1({\n x0: vm.x - rx,\n y0: vm.y - ry,\n x1: vm.x + rx,\n y1: vm.y + ry,\n vx: v.x,\n vy: v.y\n }, config);\n },\n\n rect: function(vm, config) {\n var v = orient(vm, config.origin);\n var x = vm.x;\n var y = vm.y;\n var sx = 0;\n var sy = 0;\n\n if (vm.horizontal) {\n x = Math.min(vm.x, vm.base);\n sx = Math.abs(vm.base - vm.x);\n } else {\n y = Math.min(vm.y, vm.base);\n sy = Math.abs(vm.base - vm.y);\n }\n\n return compute$1({\n x0: x,\n y0: y + sy,\n x1: x + sx,\n y1: y,\n vx: v.x,\n vy: v.y\n }, config);\n },\n\n fallback: function(vm, config) {\n var v = orient(vm, config.origin);\n\n return compute$1({\n x0: vm.x,\n y0: vm.y,\n x1: vm.x,\n y1: vm.y,\n vx: v.x,\n vy: v.y\n }, config);\n }\n};\n\nvar helpers$3 = Chart__default['default'].helpers;\nvar rasterize = utils.rasterize;\n\nfunction boundingRects(model) {\n var borderWidth = model.borderWidth || 0;\n var padding = model.padding;\n var th = model.size.height;\n var tw = model.size.width;\n var tx = -tw / 2;\n var ty = -th / 2;\n\n return {\n frame: {\n x: tx - padding.left - borderWidth,\n y: ty - padding.top - borderWidth,\n w: tw + padding.width + borderWidth * 2,\n h: th + padding.height + borderWidth * 2\n },\n text: {\n x: tx,\n y: ty,\n w: tw,\n h: th\n }\n };\n}\n\nfunction getScaleOrigin(el) {\n var horizontal = el._model.horizontal;\n var scale = el._scale || (horizontal && el._xScale) || el._yScale;\n\n if (!scale) {\n return null;\n }\n\n if (scale.xCenter !== undefined && scale.yCenter !== undefined) {\n return {x: scale.xCenter, y: scale.yCenter};\n }\n\n var pixel = scale.getBasePixel();\n return horizontal ?\n {x: pixel, y: null} :\n {x: null, y: pixel};\n}\n\nfunction getPositioner(el) {\n if (el instanceof Chart__default['default'].elements.Arc) {\n return positioners.arc;\n }\n if (el instanceof Chart__default['default'].elements.Point) {\n return positioners.point;\n }\n if (el instanceof Chart__default['default'].elements.Rectangle) {\n return positioners.rect;\n }\n return positioners.fallback;\n}\n\nfunction drawFrame(ctx, rect, model) {\n var bgColor = model.backgroundColor;\n var borderColor = model.borderColor;\n var borderWidth = model.borderWidth;\n\n if (!bgColor && (!borderColor || !borderWidth)) {\n return;\n }\n\n ctx.beginPath();\n\n helpers$3.canvas.roundedRect(\n ctx,\n rasterize(rect.x) + borderWidth / 2,\n rasterize(rect.y) + borderWidth / 2,\n rasterize(rect.w) - borderWidth,\n rasterize(rect.h) - borderWidth,\n model.borderRadius);\n\n ctx.closePath();\n\n if (bgColor) {\n ctx.fillStyle = bgColor;\n ctx.fill();\n }\n\n if (borderColor && borderWidth) {\n ctx.strokeStyle = borderColor;\n ctx.lineWidth = borderWidth;\n ctx.lineJoin = 'miter';\n ctx.stroke();\n }\n}\n\nfunction textGeometry(rect, align, font) {\n var h = font.lineHeight;\n var w = rect.w;\n var x = rect.x;\n var y = rect.y + h / 2;\n\n if (align === 'center') {\n x += w / 2;\n } else if (align === 'end' || align === 'right') {\n x += w;\n }\n\n return {\n h: h,\n w: w,\n x: x,\n y: y\n };\n}\n\nfunction drawTextLine(ctx, text, cfg) {\n var shadow = ctx.shadowBlur;\n var stroked = cfg.stroked;\n var x = rasterize(cfg.x);\n var y = rasterize(cfg.y);\n var w = rasterize(cfg.w);\n\n if (stroked) {\n ctx.strokeText(text, x, y, w);\n }\n\n if (cfg.filled) {\n if (shadow && stroked) {\n // Prevent drawing shadow on both the text stroke and fill, so\n // if the text is stroked, remove the shadow for the text fill.\n ctx.shadowBlur = 0;\n }\n\n ctx.fillText(text, x, y, w);\n\n if (shadow && stroked) {\n ctx.shadowBlur = shadow;\n }\n }\n}\n\nfunction drawText(ctx, lines, rect, model) {\n var align = model.textAlign;\n var color = model.color;\n var filled = !!color;\n var font = model.font;\n var ilen = lines.length;\n var strokeColor = model.textStrokeColor;\n var strokeWidth = model.textStrokeWidth;\n var stroked = strokeColor && strokeWidth;\n var i;\n\n if (!ilen || (!filled && !stroked)) {\n return;\n }\n\n // Adjust coordinates based on text alignment and line height\n rect = textGeometry(rect, align, font);\n\n ctx.font = font.string;\n ctx.textAlign = align;\n ctx.textBaseline = 'middle';\n ctx.shadowBlur = model.textShadowBlur;\n ctx.shadowColor = model.textShadowColor;\n\n if (filled) {\n ctx.fillStyle = color;\n }\n if (stroked) {\n ctx.lineJoin = 'round';\n ctx.lineWidth = strokeWidth;\n ctx.strokeStyle = strokeColor;\n }\n\n for (i = 0, ilen = lines.length; i < ilen; ++i) {\n drawTextLine(ctx, lines[i], {\n stroked: stroked,\n filled: filled,\n w: rect.w,\n x: rect.x,\n y: rect.y + rect.h * i\n });\n }\n}\n\nvar Label = function(config, ctx, el, index) {\n var me = this;\n\n me._config = config;\n me._index = index;\n me._model = null;\n me._rects = null;\n me._ctx = ctx;\n me._el = el;\n};\n\nhelpers$3.extend(Label.prototype, {\n /**\n * @private\n */\n _modelize: function(display, lines, config, context) {\n var me = this;\n var index = me._index;\n var resolve = helpers$3.options.resolve;\n var font = utils.parseFont(resolve([config.font, {}], context, index));\n var color = resolve([config.color, Chart__default['default'].defaults.global.defaultFontColor], context, index);\n\n return {\n align: resolve([config.align, 'center'], context, index),\n anchor: resolve([config.anchor, 'center'], context, index),\n area: context.chart.chartArea,\n backgroundColor: resolve([config.backgroundColor, null], context, index),\n borderColor: resolve([config.borderColor, null], context, index),\n borderRadius: resolve([config.borderRadius, 0], context, index),\n borderWidth: resolve([config.borderWidth, 0], context, index),\n clamp: resolve([config.clamp, false], context, index),\n clip: resolve([config.clip, false], context, index),\n color: color,\n display: display,\n font: font,\n lines: lines,\n offset: resolve([config.offset, 0], context, index),\n opacity: resolve([config.opacity, 1], context, index),\n origin: getScaleOrigin(me._el),\n padding: helpers$3.options.toPadding(resolve([config.padding, 0], context, index)),\n positioner: getPositioner(me._el),\n rotation: resolve([config.rotation, 0], context, index) * (Math.PI / 180),\n size: utils.textSize(me._ctx, lines, font),\n textAlign: resolve([config.textAlign, 'start'], context, index),\n textShadowBlur: resolve([config.textShadowBlur, 0], context, index),\n textShadowColor: resolve([config.textShadowColor, color], context, index),\n textStrokeColor: resolve([config.textStrokeColor, color], context, index),\n textStrokeWidth: resolve([config.textStrokeWidth, 0], context, index)\n };\n },\n\n update: function(context) {\n var me = this;\n var model = null;\n var rects = null;\n var index = me._index;\n var config = me._config;\n var value, label, lines;\n\n // We first resolve the display option (separately) to avoid computing\n // other options in case the label is hidden (i.e. display: false).\n var display = helpers$3.options.resolve([config.display, true], context, index);\n\n if (display) {\n value = context.dataset.data[index];\n label = helpers$3.valueOrDefault(helpers$3.callback(config.formatter, [value, context]), value);\n lines = helpers$3.isNullOrUndef(label) ? [] : utils.toTextLines(label);\n\n if (lines.length) {\n model = me._modelize(display, lines, config, context);\n rects = boundingRects(model);\n }\n }\n\n me._model = model;\n me._rects = rects;\n },\n\n geometry: function() {\n return this._rects ? this._rects.frame : {};\n },\n\n rotation: function() {\n return this._model ? this._model.rotation : 0;\n },\n\n visible: function() {\n return this._model && this._model.opacity;\n },\n\n model: function() {\n return this._model;\n },\n\n draw: function(chart, center) {\n var me = this;\n var ctx = chart.ctx;\n var model = me._model;\n var rects = me._rects;\n var area;\n\n if (!this.visible()) {\n return;\n }\n\n ctx.save();\n\n if (model.clip) {\n area = model.area;\n ctx.beginPath();\n ctx.rect(\n area.left,\n area.top,\n area.right - area.left,\n area.bottom - area.top);\n ctx.clip();\n }\n\n ctx.globalAlpha = utils.bound(0, model.opacity, 1);\n ctx.translate(rasterize(center.x), rasterize(center.y));\n ctx.rotate(model.rotation);\n\n drawFrame(ctx, rects.frame, model);\n drawText(ctx, model.lines, rects.text, model);\n\n ctx.restore();\n }\n});\n\nvar helpers$2 = Chart__default['default'].helpers;\n\nvar MIN_INTEGER = Number.MIN_SAFE_INTEGER || -9007199254740991; // eslint-disable-line es/no-number-minsafeinteger\nvar MAX_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991; // eslint-disable-line es/no-number-maxsafeinteger\n\nfunction rotated(point, center, angle) {\n var cos = Math.cos(angle);\n var sin = Math.sin(angle);\n var cx = center.x;\n var cy = center.y;\n\n return {\n x: cx + cos * (point.x - cx) - sin * (point.y - cy),\n y: cy + sin * (point.x - cx) + cos * (point.y - cy)\n };\n}\n\nfunction projected(points, axis) {\n var min = MAX_INTEGER;\n var max = MIN_INTEGER;\n var origin = axis.origin;\n var i, pt, vx, vy, dp;\n\n for (i = 0; i < points.length; ++i) {\n pt = points[i];\n vx = pt.x - origin.x;\n vy = pt.y - origin.y;\n dp = axis.vx * vx + axis.vy * vy;\n min = Math.min(min, dp);\n max = Math.max(max, dp);\n }\n\n return {\n min: min,\n max: max\n };\n}\n\nfunction toAxis(p0, p1) {\n var vx = p1.x - p0.x;\n var vy = p1.y - p0.y;\n var ln = Math.sqrt(vx * vx + vy * vy);\n\n return {\n vx: (p1.x - p0.x) / ln,\n vy: (p1.y - p0.y) / ln,\n origin: p0,\n ln: ln\n };\n}\n\nvar HitBox = function() {\n this._rotation = 0;\n this._rect = {\n x: 0,\n y: 0,\n w: 0,\n h: 0\n };\n};\n\nhelpers$2.extend(HitBox.prototype, {\n center: function() {\n var r = this._rect;\n return {\n x: r.x + r.w / 2,\n y: r.y + r.h / 2\n };\n },\n\n update: function(center, rect, rotation) {\n this._rotation = rotation;\n this._rect = {\n x: rect.x + center.x,\n y: rect.y + center.y,\n w: rect.w,\n h: rect.h\n };\n },\n\n contains: function(point) {\n var me = this;\n var margin = 1;\n var rect = me._rect;\n\n point = rotated(point, me.center(), -me._rotation);\n\n return !(point.x < rect.x - margin\n || point.y < rect.y - margin\n || point.x > rect.x + rect.w + margin * 2\n || point.y > rect.y + rect.h + margin * 2);\n },\n\n // Separating Axis Theorem\n // https://gamedevelopment.tutsplus.com/tutorials/collision-detection-using-the-separating-axis-theorem--gamedev-169\n intersects: function(other) {\n var r0 = this._points();\n var r1 = other._points();\n var axes = [\n toAxis(r0[0], r0[1]),\n toAxis(r0[0], r0[3])\n ];\n var i, pr0, pr1;\n\n if (this._rotation !== other._rotation) {\n // Only separate with r1 axis if the rotation is different,\n // else it's enough to separate r0 and r1 with r0 axis only!\n axes.push(\n toAxis(r1[0], r1[1]),\n toAxis(r1[0], r1[3])\n );\n }\n\n for (i = 0; i < axes.length; ++i) {\n pr0 = projected(r0, axes[i]);\n pr1 = projected(r1, axes[i]);\n\n if (pr0.max < pr1.min || pr1.max < pr0.min) {\n return false;\n }\n }\n\n return true;\n },\n\n /**\n * @private\n */\n _points: function() {\n var me = this;\n var rect = me._rect;\n var angle = me._rotation;\n var center = me.center();\n\n return [\n rotated({x: rect.x, y: rect.y}, center, angle),\n rotated({x: rect.x + rect.w, y: rect.y}, center, angle),\n rotated({x: rect.x + rect.w, y: rect.y + rect.h}, center, angle),\n rotated({x: rect.x, y: rect.y + rect.h}, center, angle)\n ];\n }\n});\n\nfunction coordinates(view, model, geometry) {\n var point = model.positioner(view, model);\n var vx = point.vx;\n var vy = point.vy;\n\n if (!vx && !vy) {\n // if aligned center, we don't want to offset the center point\n return {x: point.x, y: point.y};\n }\n\n var w = geometry.w;\n var h = geometry.h;\n\n // take in account the label rotation\n var rotation = model.rotation;\n var dx = Math.abs(w / 2 * Math.cos(rotation)) + Math.abs(h / 2 * Math.sin(rotation));\n var dy = Math.abs(w / 2 * Math.sin(rotation)) + Math.abs(h / 2 * Math.cos(rotation));\n\n // scale the unit vector (vx, vy) to get at least dx or dy equal to\n // w or h respectively (else we would calculate the distance to the\n // ellipse inscribed in the bounding rect)\n var vs = 1 / Math.max(Math.abs(vx), Math.abs(vy));\n dx *= vx * vs;\n dy *= vy * vs;\n\n // finally, include the explicit offset\n dx += model.offset * vx;\n dy += model.offset * vy;\n\n return {\n x: point.x + dx,\n y: point.y + dy\n };\n}\n\nfunction collide(labels, collider) {\n var i, j, s0, s1;\n\n // IMPORTANT Iterate in the reverse order since items at the end of the\n // list have an higher weight/priority and thus should be less impacted\n // by the overlapping strategy.\n\n for (i = labels.length - 1; i >= 0; --i) {\n s0 = labels[i].$layout;\n\n for (j = i - 1; j >= 0 && s0._visible; --j) {\n s1 = labels[j].$layout;\n\n if (s1._visible && s0._box.intersects(s1._box)) {\n collider(s0, s1);\n }\n }\n }\n\n return labels;\n}\n\nfunction compute(labels) {\n var i, ilen, label, state, geometry, center;\n\n // Initialize labels for overlap detection\n for (i = 0, ilen = labels.length; i < ilen; ++i) {\n label = labels[i];\n state = label.$layout;\n\n if (state._visible) {\n geometry = label.geometry();\n center = coordinates(label._el._model, label.model(), geometry);\n state._box.update(center, geometry, label.rotation());\n }\n }\n\n // Auto hide overlapping labels\n return collide(labels, function(s0, s1) {\n var h0 = s0._hidable;\n var h1 = s1._hidable;\n\n if ((h0 && h1) || h1) {\n s1._visible = false;\n } else if (h0) {\n s0._visible = false;\n }\n });\n}\n\nvar layout = {\n prepare: function(datasets) {\n var labels = [];\n var i, j, ilen, jlen, label;\n\n for (i = 0, ilen = datasets.length; i < ilen; ++i) {\n for (j = 0, jlen = datasets[i].length; j < jlen; ++j) {\n label = datasets[i][j];\n labels.push(label);\n label.$layout = {\n _box: new HitBox(),\n _hidable: false,\n _visible: true,\n _set: i,\n _idx: j\n };\n }\n }\n\n // TODO New `z` option: labels with a higher z-index are drawn\n // of top of the ones with a lower index. Lowest z-index labels\n // are also discarded first when hiding overlapping labels.\n labels.sort(function(a, b) {\n var sa = a.$layout;\n var sb = b.$layout;\n\n return sa._idx === sb._idx\n ? sb._set - sa._set\n : sb._idx - sa._idx;\n });\n\n this.update(labels);\n\n return labels;\n },\n\n update: function(labels) {\n var dirty = false;\n var i, ilen, label, model, state;\n\n for (i = 0, ilen = labels.length; i < ilen; ++i) {\n label = labels[i];\n model = label.model();\n state = label.$layout;\n state._hidable = model && model.display === 'auto';\n state._visible = label.visible();\n dirty |= state._hidable;\n }\n\n if (dirty) {\n compute(labels);\n }\n },\n\n lookup: function(labels, point) {\n var i, state;\n\n // IMPORTANT Iterate in the reverse order since items at the end of\n // the list have an higher z-index, thus should be picked first.\n\n for (i = labels.length - 1; i >= 0; --i) {\n state = labels[i].$layout;\n\n if (state && state._visible && state._box.contains(point)) {\n return labels[i];\n }\n }\n\n return null;\n },\n\n draw: function(chart, labels) {\n var i, ilen, label, state, geometry, center;\n\n for (i = 0, ilen = labels.length; i < ilen; ++i) {\n label = labels[i];\n state = label.$layout;\n\n if (state._visible) {\n geometry = label.geometry();\n center = coordinates(label._el._view, label.model(), geometry);\n state._box.update(center, geometry, label.rotation());\n label.draw(chart, center);\n }\n }\n }\n};\n\nvar helpers$1 = Chart__default['default'].helpers;\n\nvar formatter = function(value) {\n if (helpers$1.isNullOrUndef(value)) {\n return null;\n }\n\n var label = value;\n var keys, klen, k;\n if (helpers$1.isObject(value)) {\n if (!helpers$1.isNullOrUndef(value.label)) {\n label = value.label;\n } else if (!helpers$1.isNullOrUndef(value.r)) {\n label = value.r;\n } else {\n label = '';\n keys = Object.keys(value);\n for (k = 0, klen = keys.length; k < klen; ++k) {\n label += (k !== 0 ? ', ' : '') + keys[k] + ': ' + value[keys[k]];\n }\n }\n }\n\n return '' + label;\n};\n\n/**\n * IMPORTANT: make sure to also update tests and TypeScript definition\n * files (`/test/specs/defaults.spec.js` and `/types/options.d.ts`)\n */\n\nvar defaults = {\n align: 'center',\n anchor: 'center',\n backgroundColor: null,\n borderColor: null,\n borderRadius: 0,\n borderWidth: 0,\n clamp: false,\n clip: false,\n color: undefined,\n display: true,\n font: {\n family: undefined,\n lineHeight: 1.2,\n size: undefined,\n style: undefined,\n weight: null\n },\n formatter: formatter,\n labels: undefined,\n listeners: {},\n offset: 4,\n opacity: 1,\n padding: {\n top: 4,\n right: 4,\n bottom: 4,\n left: 4\n },\n rotation: 0,\n textAlign: 'start',\n textStrokeColor: undefined,\n textStrokeWidth: 0,\n textShadowBlur: 0,\n textShadowColor: undefined\n};\n\n/**\n * @see https://github.com/chartjs/Chart.js/issues/4176\n */\n\nvar helpers = Chart__default['default'].helpers;\nvar EXPANDO_KEY = '$datalabels';\nvar DEFAULT_KEY = '$default';\n\nfunction configure(dataset, options) {\n var override = dataset.datalabels;\n var listeners = {};\n var configs = [];\n var labels, keys;\n\n if (override === false) {\n return null;\n }\n if (override === true) {\n override = {};\n }\n\n options = helpers.merge({}, [options, override]);\n labels = options.labels || {};\n keys = Object.keys(labels);\n delete options.labels;\n\n if (keys.length) {\n keys.forEach(function(key) {\n if (labels[key]) {\n configs.push(helpers.merge({}, [\n options,\n labels[key],\n {_key: key}\n ]));\n }\n });\n } else {\n // Default label if no \"named\" label defined.\n configs.push(options);\n }\n\n // listeners: {: {: }}\n listeners = configs.reduce(function(target, config) {\n helpers.each(config.listeners || {}, function(fn, event) {\n target[event] = target[event] || {};\n target[event][config._key || DEFAULT_KEY] = fn;\n });\n\n delete config.listeners;\n return target;\n }, {});\n\n return {\n labels: configs,\n listeners: listeners\n };\n}\n\nfunction dispatchEvent(chart, listeners, label) {\n if (!listeners) {\n return;\n }\n\n var context = label.$context;\n var groups = label.$groups;\n var callback;\n\n if (!listeners[groups._set]) {\n return;\n }\n\n callback = listeners[groups._set][groups._key];\n if (!callback) {\n return;\n }\n\n if (helpers.callback(callback, [context]) === true) {\n // Users are allowed to tweak the given context by injecting values that can be\n // used in scriptable options to display labels differently based on the current\n // event (e.g. highlight an hovered label). That's why we update the label with\n // the output context and schedule a new chart render by setting it dirty.\n chart[EXPANDO_KEY]._dirty = true;\n label.update(context);\n }\n}\n\nfunction dispatchMoveEvents(chart, listeners, previous, label) {\n var enter, leave;\n\n if (!previous && !label) {\n return;\n }\n\n if (!previous) {\n enter = true;\n } else if (!label) {\n leave = true;\n } else if (previous !== label) {\n leave = enter = true;\n }\n\n if (leave) {\n dispatchEvent(chart, listeners.leave, previous);\n }\n if (enter) {\n dispatchEvent(chart, listeners.enter, label);\n }\n}\n\nfunction handleMoveEvents(chart, event) {\n var expando = chart[EXPANDO_KEY];\n var listeners = expando._listeners;\n var previous, label;\n\n if (!listeners.enter && !listeners.leave) {\n return;\n }\n\n if (event.type === 'mousemove') {\n label = layout.lookup(expando._labels, event);\n } else if (event.type !== 'mouseout') {\n return;\n }\n\n previous = expando._hovered;\n expando._hovered = label;\n dispatchMoveEvents(chart, listeners, previous, label);\n}\n\nfunction handleClickEvents(chart, event) {\n var expando = chart[EXPANDO_KEY];\n var handlers = expando._listeners.click;\n var label = handlers && layout.lookup(expando._labels, event);\n if (label) {\n dispatchEvent(chart, handlers, label);\n }\n}\n\n// https://github.com/chartjs/chartjs-plugin-datalabels/issues/108\nfunction invalidate(chart) {\n if (chart.animating) {\n return;\n }\n\n // `chart.animating` can be `false` even if there is animation in progress,\n // so let's iterate all animations to find if there is one for the `chart`.\n var animations = Chart__default['default'].animationService.animations;\n for (var i = 0, ilen = animations.length; i < ilen; ++i) {\n if (animations[i].chart === chart) {\n return;\n }\n }\n\n // No render scheduled: trigger a \"lazy\" render that can be canceled in case\n // of hover interactions. The 1ms duration is a workaround to make sure an\n // animation is created so the controller can stop it before any transition.\n chart.render({duration: 1, lazy: true});\n}\n\nChart__default['default'].defaults.global.plugins.datalabels = defaults;\n\nvar plugin = {\n id: 'datalabels',\n\n beforeInit: function(chart) {\n chart[EXPANDO_KEY] = {\n _actives: []\n };\n },\n\n beforeUpdate: function(chart) {\n var expando = chart[EXPANDO_KEY];\n expando._listened = false;\n expando._listeners = {}; // {: {: {: }}}\n expando._datasets = []; // per dataset labels: [Label[]]\n expando._labels = []; // layouted labels: Label[]\n },\n\n afterDatasetUpdate: function(chart, args, options) {\n var datasetIndex = args.index;\n var expando = chart[EXPANDO_KEY];\n var labels = expando._datasets[datasetIndex] = [];\n var visible = chart.isDatasetVisible(datasetIndex);\n var dataset = chart.data.datasets[datasetIndex];\n var config = configure(dataset, options);\n var elements = args.meta.data || [];\n var ctx = chart.ctx;\n var i, j, ilen, jlen, cfg, key, el, label;\n\n ctx.save();\n\n for (i = 0, ilen = elements.length; i < ilen; ++i) {\n el = elements[i];\n el[EXPANDO_KEY] = [];\n\n if (visible && el && !el.hidden && !el._model.skip) {\n for (j = 0, jlen = config.labels.length; j < jlen; ++j) {\n cfg = config.labels[j];\n key = cfg._key;\n\n label = new Label(cfg, ctx, el, i);\n label.$groups = {\n _set: datasetIndex,\n _key: key || DEFAULT_KEY\n };\n label.$context = {\n active: false,\n chart: chart,\n dataIndex: i,\n dataset: dataset,\n datasetIndex: datasetIndex\n };\n\n label.update(label.$context);\n el[EXPANDO_KEY].push(label);\n labels.push(label);\n }\n }\n }\n\n ctx.restore();\n\n // Store listeners at the chart level and per event type to optimize\n // cases where no listeners are registered for a specific event.\n helpers.merge(expando._listeners, config.listeners, {\n merger: function(event, target, source) {\n target[event] = target[event] || {};\n target[event][args.index] = source[event];\n expando._listened = true;\n }\n });\n },\n\n afterUpdate: function(chart, options) {\n chart[EXPANDO_KEY]._labels = layout.prepare(\n chart[EXPANDO_KEY]._datasets,\n options);\n },\n\n // Draw labels on top of all dataset elements\n // https://github.com/chartjs/chartjs-plugin-datalabels/issues/29\n // https://github.com/chartjs/chartjs-plugin-datalabels/issues/32\n afterDatasetsDraw: function(chart) {\n layout.draw(chart, chart[EXPANDO_KEY]._labels);\n },\n\n beforeEvent: function(chart, event) {\n // If there is no listener registered for this chart, `listened` will be false,\n // meaning we can immediately ignore the incoming event and avoid useless extra\n // computation for users who don't implement label interactions.\n if (chart[EXPANDO_KEY]._listened) {\n switch (event.type) {\n case 'mousemove':\n case 'mouseout':\n handleMoveEvents(chart, event);\n break;\n case 'click':\n handleClickEvents(chart, event);\n break;\n }\n }\n },\n\n afterEvent: function(chart) {\n var expando = chart[EXPANDO_KEY];\n var previous = expando._actives;\n var actives = expando._actives = chart.lastActive || []; // public API?!\n var updates = utils.arrayDiff(previous, actives);\n var i, ilen, j, jlen, update, label, labels;\n\n for (i = 0, ilen = updates.length; i < ilen; ++i) {\n update = updates[i];\n if (update[1]) {\n labels = update[0][EXPANDO_KEY] || [];\n for (j = 0, jlen = labels.length; j < jlen; ++j) {\n label = labels[j];\n label.$context.active = (update[1] === 1);\n label.update(label.$context);\n }\n }\n }\n\n if (expando._dirty || updates.length) {\n layout.update(expando._labels);\n invalidate(chart);\n }\n\n delete expando._dirty;\n }\n};\n\nreturn plugin;\n\n})));\n","import colors from \"../colors.js\";\n\nexport default colors(\"fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2\");\n","require('./_wks-define')('asyncIterator');\n","export default class ParametrosObtencionPresolicitud {\n constructor(\n public numeroSolicitud?: number,\n public cedulaBeneficiario?: string,\n public cedulaFallecido?: string,\n public idTransFirma?: string\n ) {}\n}","export default function(start, stop, step) {\n start = +start, stop = +stop, step = (n = arguments.length) < 2 ? (stop = start, start = 0, 1) : n < 3 ? 1 : +step;\n\n var i = -1,\n n = Math.max(0, Math.ceil((stop - start) / step)) | 0,\n range = new Array(n);\n\n while (++i < n) {\n range[i] = start + i * step;\n }\n\n return range;\n}\n","import {range as sequence} from \"d3-array\";\nimport {initRange} from \"./init.js\";\nimport ordinal from \"./ordinal.js\";\n\nexport default function band() {\n var scale = ordinal().unknown(undefined),\n domain = scale.domain,\n ordinalRange = scale.range,\n r0 = 0,\n r1 = 1,\n step,\n bandwidth,\n round = false,\n paddingInner = 0,\n paddingOuter = 0,\n align = 0.5;\n\n delete scale.unknown;\n\n function rescale() {\n var n = domain().length,\n reverse = r1 < r0,\n start = reverse ? r1 : r0,\n stop = reverse ? r0 : r1;\n step = (stop - start) / Math.max(1, n - paddingInner + paddingOuter * 2);\n if (round) step = Math.floor(step);\n start += (stop - start - step * (n - paddingInner)) * align;\n bandwidth = step * (1 - paddingInner);\n if (round) start = Math.round(start), bandwidth = Math.round(bandwidth);\n var values = sequence(n).map(function(i) { return start + step * i; });\n return ordinalRange(reverse ? values.reverse() : values);\n }\n\n scale.domain = function(_) {\n return arguments.length ? (domain(_), rescale()) : domain();\n };\n\n scale.range = function(_) {\n return arguments.length ? ([r0, r1] = _, r0 = +r0, r1 = +r1, rescale()) : [r0, r1];\n };\n\n scale.rangeRound = function(_) {\n return [r0, r1] = _, r0 = +r0, r1 = +r1, round = true, rescale();\n };\n\n scale.bandwidth = function() {\n return bandwidth;\n };\n\n scale.step = function() {\n return step;\n };\n\n scale.round = function(_) {\n return arguments.length ? (round = !!_, rescale()) : round;\n };\n\n scale.padding = function(_) {\n return arguments.length ? (paddingInner = Math.min(1, paddingOuter = +_), rescale()) : paddingInner;\n };\n\n scale.paddingInner = function(_) {\n return arguments.length ? (paddingInner = Math.min(1, _), rescale()) : paddingInner;\n };\n\n scale.paddingOuter = function(_) {\n return arguments.length ? (paddingOuter = +_, rescale()) : paddingOuter;\n };\n\n scale.align = function(_) {\n return arguments.length ? (align = Math.max(0, Math.min(1, _)), rescale()) : align;\n };\n\n scale.copy = function() {\n return band(domain(), [r0, r1])\n .round(round)\n .paddingInner(paddingInner)\n .paddingOuter(paddingOuter)\n .align(align);\n };\n\n return initRange.apply(rescale(), arguments);\n}\n\nfunction pointish(scale) {\n var copy = scale.copy;\n\n scale.padding = scale.paddingOuter;\n delete scale.paddingInner;\n delete scale.paddingOuter;\n\n scale.copy = function() {\n return pointish(copy());\n };\n\n return scale;\n}\n\nexport function point() {\n return pointish(band.apply(null, arguments).paddingInner(1));\n}\n","var frame = 0, // is an animation frame pending?\n timeout = 0, // is a timeout pending?\n interval = 0, // are any timers active?\n pokeDelay = 1000, // how frequently we check for clock skew\n taskHead,\n taskTail,\n clockLast = 0,\n clockNow = 0,\n clockSkew = 0,\n clock = typeof performance === \"object\" && performance.now ? performance : Date,\n setFrame = typeof window === \"object\" && window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : function(f) { setTimeout(f, 17); };\n\nexport function now() {\n return clockNow || (setFrame(clearNow), clockNow = clock.now() + clockSkew);\n}\n\nfunction clearNow() {\n clockNow = 0;\n}\n\nexport function Timer() {\n this._call =\n this._time =\n this._next = null;\n}\n\nTimer.prototype = timer.prototype = {\n constructor: Timer,\n restart: function(callback, delay, time) {\n if (typeof callback !== \"function\") throw new TypeError(\"callback is not a function\");\n time = (time == null ? now() : +time) + (delay == null ? 0 : +delay);\n if (!this._next && taskTail !== this) {\n if (taskTail) taskTail._next = this;\n else taskHead = this;\n taskTail = this;\n }\n this._call = callback;\n this._time = time;\n sleep();\n },\n stop: function() {\n if (this._call) {\n this._call = null;\n this._time = Infinity;\n sleep();\n }\n }\n};\n\nexport function timer(callback, delay, time) {\n var t = new Timer;\n t.restart(callback, delay, time);\n return t;\n}\n\nexport function timerFlush() {\n now(); // Get the current time, if not already set.\n ++frame; // Pretend we’ve set an alarm, if we haven’t already.\n var t = taskHead, e;\n while (t) {\n if ((e = clockNow - t._time) >= 0) t._call.call(null, e);\n t = t._next;\n }\n --frame;\n}\n\nfunction wake() {\n clockNow = (clockLast = clock.now()) + clockSkew;\n frame = timeout = 0;\n try {\n timerFlush();\n } finally {\n frame = 0;\n nap();\n clockNow = 0;\n }\n}\n\nfunction poke() {\n var now = clock.now(), delay = now - clockLast;\n if (delay > pokeDelay) clockSkew -= delay, clockLast = now;\n}\n\nfunction nap() {\n var t0, t1 = taskHead, t2, time = Infinity;\n while (t1) {\n if (t1._call) {\n if (time > t1._time) time = t1._time;\n t0 = t1, t1 = t1._next;\n } else {\n t2 = t1._next, t1._next = null;\n t1 = t0 ? t0._next = t2 : taskHead = t2;\n }\n }\n taskTail = t0;\n sleep(time);\n}\n\nfunction sleep(time) {\n if (frame) return; // Soonest alarm already set, or will be.\n if (timeout) timeout = clearTimeout(timeout);\n var delay = time - clockNow; // Strictly less than if we recomputed clockNow.\n if (delay > 24) {\n if (time < Infinity) timeout = setTimeout(wake, time - clock.now() - clockSkew);\n if (interval) interval = clearInterval(interval);\n } else {\n if (!interval) clockLast = clock.now(), interval = setInterval(poke, pokeDelay);\n frame = 1, setFrame(wake);\n }\n}\n","import {Timer} from \"./timer.js\";\n\nexport default function(callback, delay, time) {\n var t = new Timer;\n delay = delay == null ? 0 : +delay;\n t.restart(function(elapsed) {\n t.stop();\n callback(elapsed + delay);\n }, delay, time);\n return t;\n}\n","import {dispatch} from \"d3-dispatch\";\nimport {timer, timeout} from \"d3-timer\";\n\nvar emptyOn = dispatch(\"start\", \"end\", \"cancel\", \"interrupt\");\nvar emptyTween = [];\n\nexport var CREATED = 0;\nexport var SCHEDULED = 1;\nexport var STARTING = 2;\nexport var STARTED = 3;\nexport var RUNNING = 4;\nexport var ENDING = 5;\nexport var ENDED = 6;\n\nexport default function(node, name, id, index, group, timing) {\n var schedules = node.__transition;\n if (!schedules) node.__transition = {};\n else if (id in schedules) return;\n create(node, id, {\n name: name,\n index: index, // For context during callback.\n group: group, // For context during callback.\n on: emptyOn,\n tween: emptyTween,\n time: timing.time,\n delay: timing.delay,\n duration: timing.duration,\n ease: timing.ease,\n timer: null,\n state: CREATED\n });\n}\n\nexport function init(node, id) {\n var schedule = get(node, id);\n if (schedule.state > CREATED) throw new Error(\"too late; already scheduled\");\n return schedule;\n}\n\nexport function set(node, id) {\n var schedule = get(node, id);\n if (schedule.state > STARTED) throw new Error(\"too late; already running\");\n return schedule;\n}\n\nexport function get(node, id) {\n var schedule = node.__transition;\n if (!schedule || !(schedule = schedule[id])) throw new Error(\"transition not found\");\n return schedule;\n}\n\nfunction create(node, id, self) {\n var schedules = node.__transition,\n tween;\n\n // Initialize the self timer when the transition is created.\n // Note the actual delay is not known until the first callback!\n schedules[id] = self;\n self.timer = timer(schedule, 0, self.time);\n\n function schedule(elapsed) {\n self.state = SCHEDULED;\n self.timer.restart(start, self.delay, self.time);\n\n // If the elapsed delay is less than our first sleep, start immediately.\n if (self.delay <= elapsed) start(elapsed - self.delay);\n }\n\n function start(elapsed) {\n var i, j, n, o;\n\n // If the state is not SCHEDULED, then we previously errored on start.\n if (self.state !== SCHEDULED) return stop();\n\n for (i in schedules) {\n o = schedules[i];\n if (o.name !== self.name) continue;\n\n // While this element already has a starting transition during this frame,\n // defer starting an interrupting transition until that transition has a\n // chance to tick (and possibly end); see d3/d3-transition#54!\n if (o.state === STARTED) return timeout(start);\n\n // Interrupt the active transition, if any.\n if (o.state === RUNNING) {\n o.state = ENDED;\n o.timer.stop();\n o.on.call(\"interrupt\", node, node.__data__, o.index, o.group);\n delete schedules[i];\n }\n\n // Cancel any pre-empted transitions.\n else if (+i < id) {\n o.state = ENDED;\n o.timer.stop();\n o.on.call(\"cancel\", node, node.__data__, o.index, o.group);\n delete schedules[i];\n }\n }\n\n // Defer the first tick to end of the current frame; see d3/d3#1576.\n // Note the transition may be canceled after start and before the first tick!\n // Note this must be scheduled before the start event; see d3/d3-transition#16!\n // Assuming this is successful, subsequent callbacks go straight to tick.\n timeout(function() {\n if (self.state === STARTED) {\n self.state = RUNNING;\n self.timer.restart(tick, self.delay, self.time);\n tick(elapsed);\n }\n });\n\n // Dispatch the start event.\n // Note this must be done before the tween are initialized.\n self.state = STARTING;\n self.on.call(\"start\", node, node.__data__, self.index, self.group);\n if (self.state !== STARTING) return; // interrupted\n self.state = STARTED;\n\n // Initialize the tween, deleting null tween.\n tween = new Array(n = self.tween.length);\n for (i = 0, j = -1; i < n; ++i) {\n if (o = self.tween[i].value.call(node, node.__data__, self.index, self.group)) {\n tween[++j] = o;\n }\n }\n tween.length = j + 1;\n }\n\n function tick(elapsed) {\n var t = elapsed < self.duration ? self.ease.call(null, elapsed / self.duration) : (self.timer.restart(stop), self.state = ENDING, 1),\n i = -1,\n n = tween.length;\n\n while (++i < n) {\n tween[i].call(node, t);\n }\n\n // Dispatch the end event.\n if (self.state === ENDING) {\n self.on.call(\"end\", node, node.__data__, self.index, self.group);\n stop();\n }\n }\n\n function stop() {\n self.state = ENDED;\n self.timer.stop();\n delete schedules[id];\n for (var i in schedules) return; // eslint-disable-line no-unused-vars\n delete node.__transition;\n }\n}\n","import {STARTING, ENDING, ENDED} from \"./transition/schedule.js\";\n\nexport default function(node, name) {\n var schedules = node.__transition,\n schedule,\n active,\n empty = true,\n i;\n\n if (!schedules) return;\n\n name = name == null ? null : name + \"\";\n\n for (i in schedules) {\n if ((schedule = schedules[i]).name !== name) { empty = false; continue; }\n active = schedule.state > STARTING && schedule.state < ENDING;\n schedule.state = ENDED;\n schedule.timer.stop();\n schedule.on.call(active ? \"interrupt\" : \"cancel\", node, node.__data__, schedule.index, schedule.group);\n delete schedules[i];\n }\n\n if (empty) delete node.__transition;\n}\n","import decompose, {identity} from \"./decompose.js\";\n\nvar cssNode,\n cssRoot,\n cssView,\n svgNode;\n\nexport function parseCss(value) {\n if (value === \"none\") return identity;\n if (!cssNode) cssNode = document.createElement(\"DIV\"), cssRoot = document.documentElement, cssView = document.defaultView;\n cssNode.style.transform = value;\n value = cssView.getComputedStyle(cssRoot.appendChild(cssNode), null).getPropertyValue(\"transform\");\n cssRoot.removeChild(cssNode);\n value = value.slice(7, -1).split(\",\");\n return decompose(+value[0], +value[1], +value[2], +value[3], +value[4], +value[5]);\n}\n\nexport function parseSvg(value) {\n if (value == null) return identity;\n if (!svgNode) svgNode = document.createElementNS(\"http://www.w3.org/2000/svg\", \"g\");\n svgNode.setAttribute(\"transform\", value);\n if (!(value = svgNode.transform.baseVal.consolidate())) return identity;\n value = value.matrix;\n return decompose(value.a, value.b, value.c, value.d, value.e, value.f);\n}\n","import interrupt from \"../interrupt.js\";\n\nexport default function(name) {\n return this.each(function() {\n interrupt(this, name);\n });\n}\n","var degrees = 180 / Math.PI;\n\nexport var identity = {\n translateX: 0,\n translateY: 0,\n rotate: 0,\n skewX: 0,\n scaleX: 1,\n scaleY: 1\n};\n\nexport default function(a, b, c, d, e, f) {\n var scaleX, scaleY, skewX;\n if (scaleX = Math.sqrt(a * a + b * b)) a /= scaleX, b /= scaleX;\n if (skewX = a * c + b * d) c -= a * skewX, d -= b * skewX;\n if (scaleY = Math.sqrt(c * c + d * d)) c /= scaleY, d /= scaleY, skewX /= scaleY;\n if (a * d < b * c) a = -a, b = -b, skewX = -skewX, scaleX = -scaleX;\n return {\n translateX: e,\n translateY: f,\n rotate: Math.atan2(b, a) * degrees,\n skewX: Math.atan(skewX) * degrees,\n scaleX: scaleX,\n scaleY: scaleY\n };\n}\n","import number from \"../number.js\";\nimport {parseCss, parseSvg} from \"./parse.js\";\n\nfunction interpolateTransform(parse, pxComma, pxParen, degParen) {\n\n function pop(s) {\n return s.length ? s.pop() + \" \" : \"\";\n }\n\n function translate(xa, ya, xb, yb, s, q) {\n if (xa !== xb || ya !== yb) {\n var i = s.push(\"translate(\", null, pxComma, null, pxParen);\n q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)});\n } else if (xb || yb) {\n s.push(\"translate(\" + xb + pxComma + yb + pxParen);\n }\n }\n\n function rotate(a, b, s, q) {\n if (a !== b) {\n if (a - b > 180) b += 360; else if (b - a > 180) a += 360; // shortest path\n q.push({i: s.push(pop(s) + \"rotate(\", null, degParen) - 2, x: number(a, b)});\n } else if (b) {\n s.push(pop(s) + \"rotate(\" + b + degParen);\n }\n }\n\n function skewX(a, b, s, q) {\n if (a !== b) {\n q.push({i: s.push(pop(s) + \"skewX(\", null, degParen) - 2, x: number(a, b)});\n } else if (b) {\n s.push(pop(s) + \"skewX(\" + b + degParen);\n }\n }\n\n function scale(xa, ya, xb, yb, s, q) {\n if (xa !== xb || ya !== yb) {\n var i = s.push(pop(s) + \"scale(\", null, \",\", null, \")\");\n q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)});\n } else if (xb !== 1 || yb !== 1) {\n s.push(pop(s) + \"scale(\" + xb + \",\" + yb + \")\");\n }\n }\n\n return function(a, b) {\n var s = [], // string constants and placeholders\n q = []; // number interpolators\n a = parse(a), b = parse(b);\n translate(a.translateX, a.translateY, b.translateX, b.translateY, s, q);\n rotate(a.rotate, b.rotate, s, q);\n skewX(a.skewX, b.skewX, s, q);\n scale(a.scaleX, a.scaleY, b.scaleX, b.scaleY, s, q);\n a = b = null; // gc\n return function(t) {\n var i = -1, n = q.length, o;\n while (++i < n) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n };\n };\n}\n\nexport var interpolateTransformCss = interpolateTransform(parseCss, \"px, \", \"px)\", \"deg)\");\nexport var interpolateTransformSvg = interpolateTransform(parseSvg, \", \", \")\", \")\");\n","import {get, set} from \"./schedule.js\";\n\nfunction tweenRemove(id, name) {\n var tween0, tween1;\n return function() {\n var schedule = set(this, id),\n tween = schedule.tween;\n\n // If this node shared tween with the previous node,\n // just assign the updated shared tween and we’re done!\n // Otherwise, copy-on-write.\n if (tween !== tween0) {\n tween1 = tween0 = tween;\n for (var i = 0, n = tween1.length; i < n; ++i) {\n if (tween1[i].name === name) {\n tween1 = tween1.slice();\n tween1.splice(i, 1);\n break;\n }\n }\n }\n\n schedule.tween = tween1;\n };\n}\n\nfunction tweenFunction(id, name, value) {\n var tween0, tween1;\n if (typeof value !== \"function\") throw new Error;\n return function() {\n var schedule = set(this, id),\n tween = schedule.tween;\n\n // If this node shared tween with the previous node,\n // just assign the updated shared tween and we’re done!\n // Otherwise, copy-on-write.\n if (tween !== tween0) {\n tween1 = (tween0 = tween).slice();\n for (var t = {name: name, value: value}, i = 0, n = tween1.length; i < n; ++i) {\n if (tween1[i].name === name) {\n tween1[i] = t;\n break;\n }\n }\n if (i === n) tween1.push(t);\n }\n\n schedule.tween = tween1;\n };\n}\n\nexport default function(name, value) {\n var id = this._id;\n\n name += \"\";\n\n if (arguments.length < 2) {\n var tween = get(this.node(), id).tween;\n for (var i = 0, n = tween.length, t; i < n; ++i) {\n if ((t = tween[i]).name === name) {\n return t.value;\n }\n }\n return null;\n }\n\n return this.each((value == null ? tweenRemove : tweenFunction)(id, name, value));\n}\n\nexport function tweenValue(transition, name, value) {\n var id = transition._id;\n\n transition.each(function() {\n var schedule = set(this, id);\n (schedule.value || (schedule.value = {}))[name] = value.apply(this, arguments);\n });\n\n return function(node) {\n return get(node, id).value[name];\n };\n}\n","import {color} from \"d3-color\";\nimport {interpolateNumber, interpolateRgb, interpolateString} from \"d3-interpolate\";\n\nexport default function(a, b) {\n var c;\n return (typeof b === \"number\" ? interpolateNumber\n : b instanceof color ? interpolateRgb\n : (c = color(b)) ? (b = c, interpolateRgb)\n : interpolateString)(a, b);\n}\n","import {interpolateTransformSvg as interpolateTransform} from \"d3-interpolate\";\nimport {namespace} from \"d3-selection\";\nimport {tweenValue} from \"./tween.js\";\nimport interpolate from \"./interpolate.js\";\n\nfunction attrRemove(name) {\n return function() {\n this.removeAttribute(name);\n };\n}\n\nfunction attrRemoveNS(fullname) {\n return function() {\n this.removeAttributeNS(fullname.space, fullname.local);\n };\n}\n\nfunction attrConstant(name, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function() {\n var string0 = this.getAttribute(name);\n return string0 === string1 ? null\n : string0 === string00 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction attrConstantNS(fullname, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function() {\n var string0 = this.getAttributeNS(fullname.space, fullname.local);\n return string0 === string1 ? null\n : string0 === string00 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction attrFunction(name, interpolate, value) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0, value1 = value(this), string1;\n if (value1 == null) return void this.removeAttribute(name);\n string0 = this.getAttribute(name);\n string1 = value1 + \"\";\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nfunction attrFunctionNS(fullname, interpolate, value) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0, value1 = value(this), string1;\n if (value1 == null) return void this.removeAttributeNS(fullname.space, fullname.local);\n string0 = this.getAttributeNS(fullname.space, fullname.local);\n string1 = value1 + \"\";\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nexport default function(name, value) {\n var fullname = namespace(name), i = fullname === \"transform\" ? interpolateTransform : interpolate;\n return this.attrTween(name, typeof value === \"function\"\n ? (fullname.local ? attrFunctionNS : attrFunction)(fullname, i, tweenValue(this, \"attr.\" + name, value))\n : value == null ? (fullname.local ? attrRemoveNS : attrRemove)(fullname)\n : (fullname.local ? attrConstantNS : attrConstant)(fullname, i, value));\n}\n","import {namespace} from \"d3-selection\";\n\nfunction attrInterpolate(name, i) {\n return function(t) {\n this.setAttribute(name, i.call(this, t));\n };\n}\n\nfunction attrInterpolateNS(fullname, i) {\n return function(t) {\n this.setAttributeNS(fullname.space, fullname.local, i.call(this, t));\n };\n}\n\nfunction attrTweenNS(fullname, value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && attrInterpolateNS(fullname, i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\n\nfunction attrTween(name, value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && attrInterpolate(name, i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(name, value) {\n var key = \"attr.\" + name;\n if (arguments.length < 2) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n var fullname = namespace(name);\n return this.tween(key, (fullname.local ? attrTweenNS : attrTween)(fullname, value));\n}\n","import {get, init} from \"./schedule.js\";\n\nfunction delayFunction(id, value) {\n return function() {\n init(this, id).delay = +value.apply(this, arguments);\n };\n}\n\nfunction delayConstant(id, value) {\n return value = +value, function() {\n init(this, id).delay = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each((typeof value === \"function\"\n ? delayFunction\n : delayConstant)(id, value))\n : get(this.node(), id).delay;\n}\n","import {get, set} from \"./schedule.js\";\n\nfunction durationFunction(id, value) {\n return function() {\n set(this, id).duration = +value.apply(this, arguments);\n };\n}\n\nfunction durationConstant(id, value) {\n return value = +value, function() {\n set(this, id).duration = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each((typeof value === \"function\"\n ? durationFunction\n : durationConstant)(id, value))\n : get(this.node(), id).duration;\n}\n","import {get, set} from \"./schedule.js\";\n\nfunction easeConstant(id, value) {\n if (typeof value !== \"function\") throw new Error;\n return function() {\n set(this, id).ease = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each(easeConstant(id, value))\n : get(this.node(), id).ease;\n}\n","import {matcher} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\n\nexport default function(match) {\n if (typeof match !== \"function\") match = matcher(match);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {\n if ((node = group[i]) && match.call(node, node.__data__, i, group)) {\n subgroup.push(node);\n }\n }\n }\n\n return new Transition(subgroups, this._parents, this._name, this._id);\n}\n","import {Transition} from \"./index.js\";\n\nexport default function(transition) {\n if (transition._id !== this._id) throw new Error;\n\n for (var groups0 = this._groups, groups1 = transition._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {\n for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group0[i] || group1[i]) {\n merge[i] = node;\n }\n }\n }\n\n for (; j < m0; ++j) {\n merges[j] = groups0[j];\n }\n\n return new Transition(merges, this._parents, this._name, this._id);\n}\n","import {get, set, init} from \"./schedule.js\";\n\nfunction start(name) {\n return (name + \"\").trim().split(/^|\\s+/).every(function(t) {\n var i = t.indexOf(\".\");\n if (i >= 0) t = t.slice(0, i);\n return !t || t === \"start\";\n });\n}\n\nfunction onFunction(id, name, listener) {\n var on0, on1, sit = start(name) ? init : set;\n return function() {\n var schedule = sit(this, id),\n on = schedule.on;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0) (on1 = (on0 = on).copy()).on(name, listener);\n\n schedule.on = on1;\n };\n}\n\nexport default function(name, listener) {\n var id = this._id;\n\n return arguments.length < 2\n ? get(this.node(), id).on.on(name)\n : this.each(onFunction(id, name, listener));\n}\n","function removeFunction(id) {\n return function() {\n var parent = this.parentNode;\n for (var i in this.__transition) if (+i !== id) return;\n if (parent) parent.removeChild(this);\n };\n}\n\nexport default function() {\n return this.on(\"end.remove\", removeFunction(this._id));\n}\n","import {selector} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function(select) {\n var name = this._name,\n id = this._id;\n\n if (typeof select !== \"function\") select = selector(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {\n if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {\n if (\"__data__\" in node) subnode.__data__ = node.__data__;\n subgroup[i] = subnode;\n schedule(subgroup[i], name, id, i, subgroup, get(node, id));\n }\n }\n }\n\n return new Transition(subgroups, this._parents, name, id);\n}\n","import {selectorAll} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function(select) {\n var name = this._name,\n id = this._id;\n\n if (typeof select !== \"function\") select = selectorAll(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n for (var children = select.call(node, node.__data__, i, group), child, inherit = get(node, id), k = 0, l = children.length; k < l; ++k) {\n if (child = children[k]) {\n schedule(child, name, id, k, children, inherit);\n }\n }\n subgroups.push(children);\n parents.push(node);\n }\n }\n }\n\n return new Transition(subgroups, parents, name, id);\n}\n","import {selection} from \"d3-selection\";\n\nvar Selection = selection.prototype.constructor;\n\nexport default function() {\n return new Selection(this._groups, this._parents);\n}\n","import {interpolateTransformCss as interpolateTransform} from \"d3-interpolate\";\nimport {style} from \"d3-selection\";\nimport {set} from \"./schedule.js\";\nimport {tweenValue} from \"./tween.js\";\nimport interpolate from \"./interpolate.js\";\n\nfunction styleNull(name, interpolate) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0 = style(this, name),\n string1 = (this.style.removeProperty(name), style(this, name));\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, string10 = string1);\n };\n}\n\nfunction styleRemove(name) {\n return function() {\n this.style.removeProperty(name);\n };\n}\n\nfunction styleConstant(name, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function() {\n var string0 = style(this, name);\n return string0 === string1 ? null\n : string0 === string00 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction styleFunction(name, interpolate, value) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0 = style(this, name),\n value1 = value(this),\n string1 = value1 + \"\";\n if (value1 == null) string1 = value1 = (this.style.removeProperty(name), style(this, name));\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nfunction styleMaybeRemove(id, name) {\n var on0, on1, listener0, key = \"style.\" + name, event = \"end.\" + key, remove;\n return function() {\n var schedule = set(this, id),\n on = schedule.on,\n listener = schedule.value[key] == null ? remove || (remove = styleRemove(name)) : undefined;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0 || listener0 !== listener) (on1 = (on0 = on).copy()).on(event, listener0 = listener);\n\n schedule.on = on1;\n };\n}\n\nexport default function(name, value, priority) {\n var i = (name += \"\") === \"transform\" ? interpolateTransform : interpolate;\n return value == null ? this\n .styleTween(name, styleNull(name, i))\n .on(\"end.style.\" + name, styleRemove(name))\n : typeof value === \"function\" ? this\n .styleTween(name, styleFunction(name, i, tweenValue(this, \"style.\" + name, value)))\n .each(styleMaybeRemove(this._id, name))\n : this\n .styleTween(name, styleConstant(name, i, value), priority)\n .on(\"end.style.\" + name, null);\n}\n","function styleInterpolate(name, i, priority) {\n return function(t) {\n this.style.setProperty(name, i.call(this, t), priority);\n };\n}\n\nfunction styleTween(name, value, priority) {\n var t, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t = (i0 = i) && styleInterpolate(name, i, priority);\n return t;\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(name, value, priority) {\n var key = \"style.\" + (name += \"\");\n if (arguments.length < 2) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n return this.tween(key, styleTween(name, value, priority == null ? \"\" : priority));\n}\n","import {tweenValue} from \"./tween.js\";\n\nfunction textConstant(value) {\n return function() {\n this.textContent = value;\n };\n}\n\nfunction textFunction(value) {\n return function() {\n var value1 = value(this);\n this.textContent = value1 == null ? \"\" : value1;\n };\n}\n\nexport default function(value) {\n return this.tween(\"text\", typeof value === \"function\"\n ? textFunction(tweenValue(this, \"text\", value))\n : textConstant(value == null ? \"\" : value + \"\"));\n}\n","function textInterpolate(i) {\n return function(t) {\n this.textContent = i.call(this, t);\n };\n}\n\nfunction textTween(value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && textInterpolate(i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(value) {\n var key = \"text\";\n if (arguments.length < 1) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n return this.tween(key, textTween(value));\n}\n","import {Transition, newId} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function() {\n var name = this._name,\n id0 = this._id,\n id1 = newId();\n\n for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n var inherit = get(node, id0);\n schedule(node, name, id1, i, group, {\n time: inherit.time + inherit.delay + inherit.duration,\n delay: 0,\n duration: inherit.duration,\n ease: inherit.ease\n });\n }\n }\n }\n\n return new Transition(groups, this._parents, name, id1);\n}\n","import {set} from \"./schedule.js\";\n\nexport default function() {\n var on0, on1, that = this, id = that._id, size = that.size();\n return new Promise(function(resolve, reject) {\n var cancel = {value: reject},\n end = {value: function() { if (--size === 0) resolve(); }};\n\n that.each(function() {\n var schedule = set(this, id),\n on = schedule.on;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0) {\n on1 = (on0 = on).copy();\n on1._.cancel.push(cancel);\n on1._.interrupt.push(cancel);\n on1._.end.push(end);\n }\n\n schedule.on = on1;\n });\n });\n}\n","import {selection} from \"d3-selection\";\nimport transition_attr from \"./attr.js\";\nimport transition_attrTween from \"./attrTween.js\";\nimport transition_delay from \"./delay.js\";\nimport transition_duration from \"./duration.js\";\nimport transition_ease from \"./ease.js\";\nimport transition_filter from \"./filter.js\";\nimport transition_merge from \"./merge.js\";\nimport transition_on from \"./on.js\";\nimport transition_remove from \"./remove.js\";\nimport transition_select from \"./select.js\";\nimport transition_selectAll from \"./selectAll.js\";\nimport transition_selection from \"./selection.js\";\nimport transition_style from \"./style.js\";\nimport transition_styleTween from \"./styleTween.js\";\nimport transition_text from \"./text.js\";\nimport transition_textTween from \"./textTween.js\";\nimport transition_transition from \"./transition.js\";\nimport transition_tween from \"./tween.js\";\nimport transition_end from \"./end.js\";\n\nvar id = 0;\n\nexport function Transition(groups, parents, name, id) {\n this._groups = groups;\n this._parents = parents;\n this._name = name;\n this._id = id;\n}\n\nexport default function transition(name) {\n return selection().transition(name);\n}\n\nexport function newId() {\n return ++id;\n}\n\nvar selection_prototype = selection.prototype;\n\nTransition.prototype = transition.prototype = {\n constructor: Transition,\n select: transition_select,\n selectAll: transition_selectAll,\n filter: transition_filter,\n merge: transition_merge,\n selection: transition_selection,\n transition: transition_transition,\n call: selection_prototype.call,\n nodes: selection_prototype.nodes,\n node: selection_prototype.node,\n size: selection_prototype.size,\n empty: selection_prototype.empty,\n each: selection_prototype.each,\n on: transition_on,\n attr: transition_attr,\n attrTween: transition_attrTween,\n style: transition_style,\n styleTween: transition_styleTween,\n text: transition_text,\n textTween: transition_textTween,\n remove: transition_remove,\n tween: transition_tween,\n delay: transition_delay,\n duration: transition_duration,\n ease: transition_ease,\n end: transition_end\n};\n","import {Transition, newId} from \"../transition/index.js\";\nimport schedule from \"../transition/schedule.js\";\nimport {easeCubicInOut} from \"d3-ease\";\nimport {now} from \"d3-timer\";\n\nvar defaultTiming = {\n time: null, // Set on use.\n delay: 0,\n duration: 250,\n ease: easeCubicInOut\n};\n\nfunction inherit(node, id) {\n var timing;\n while (!(timing = node.__transition) || !(timing = timing[id])) {\n if (!(node = node.parentNode)) {\n return defaultTiming.time = now(), defaultTiming;\n }\n }\n return timing;\n}\n\nexport default function(name) {\n var id,\n timing;\n\n if (name instanceof Transition) {\n id = name._id, name = name._name;\n } else {\n id = newId(), (timing = defaultTiming).time = now(), name = name == null ? null : name + \"\";\n }\n\n for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n schedule(node, name, id, i, group, timing || inherit(node, id));\n }\n }\n }\n\n return new Transition(groups, this._parents, name, id);\n}\n","import {selection} from \"d3-selection\";\nimport selection_interrupt from \"./interrupt.js\";\nimport selection_transition from \"./transition.js\";\n\nselection.prototype.interrupt = selection_interrupt;\nselection.prototype.transition = selection_transition;\n","import colors from \"../colors.js\";\n\nexport default colors(\"b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc\");\n","export function circleIn(t) {\n return 1 - Math.sqrt(1 - t * t);\n}\n\nexport function circleOut(t) {\n return Math.sqrt(1 - --t * t);\n}\n\nexport function circleInOut(t) {\n return ((t *= 2) <= 1 ? 1 - Math.sqrt(1 - t * t) : Math.sqrt(1 - (t -= 2) * t) + 1) / 2;\n}\n","import {tpmt} from \"./math.js\";\n\nvar tau = 2 * Math.PI,\n amplitude = 1,\n period = 0.3;\n\nexport var elasticIn = (function custom(a, p) {\n var s = Math.asin(1 / (a = Math.max(1, a))) * (p /= tau);\n\n function elasticIn(t) {\n return a * tpmt(-(--t)) * Math.sin((s - t) / p);\n }\n\n elasticIn.amplitude = function(a) { return custom(a, p * tau); };\n elasticIn.period = function(p) { return custom(a, p); };\n\n return elasticIn;\n})(amplitude, period);\n\nexport var elasticOut = (function custom(a, p) {\n var s = Math.asin(1 / (a = Math.max(1, a))) * (p /= tau);\n\n function elasticOut(t) {\n return 1 - a * tpmt(t = +t) * Math.sin((t + s) / p);\n }\n\n elasticOut.amplitude = function(a) { return custom(a, p * tau); };\n elasticOut.period = function(p) { return custom(a, p); };\n\n return elasticOut;\n})(amplitude, period);\n\nexport var elasticInOut = (function custom(a, p) {\n var s = Math.asin(1 / (a = Math.max(1, a))) * (p /= tau);\n\n function elasticInOut(t) {\n return ((t = t * 2 - 1) < 0\n ? a * tpmt(-t) * Math.sin((s - t) / p)\n : 2 - a * tpmt(t) * Math.sin((s + t) / p)) / 2;\n }\n\n elasticInOut.amplitude = function(a) { return custom(a, p * tau); };\n elasticInOut.period = function(p) { return custom(a, p); };\n\n return elasticInOut;\n})(amplitude, period);\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DashBoard.vue?vue&type=style&index=0&id=5af3c5ef&prod&scoped=true&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Beneficios.vue?vue&type=style&index=0&id=516fd623&prod&scoped=true&lang=css\"","export default function(values, valueof) {\n let min;\n let max;\n if (valueof === undefined) {\n for (const value of values) {\n if (value != null) {\n if (min === undefined) {\n if (value >= value) min = max = value;\n } else {\n if (min > value) min = value;\n if (max < value) max = value;\n }\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null) {\n if (min === undefined) {\n if (value >= value) min = max = value;\n } else {\n if (min > value) min = value;\n if (max < value) max = value;\n }\n }\n }\n }\n return [min, max];\n}\n","import colors from \"../colors.js\";\n\nexport default colors(\"a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928\");\n","import colors from \"../colors.js\";\n\nexport default colors(\"4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab\");\n","var noop = {value: function() {}};\n\nfunction dispatch() {\n for (var i = 0, n = arguments.length, _ = {}, t; i < n; ++i) {\n if (!(t = arguments[i] + \"\") || (t in _) || /[\\s.]/.test(t)) throw new Error(\"illegal type: \" + t);\n _[t] = [];\n }\n return new Dispatch(_);\n}\n\nfunction Dispatch(_) {\n this._ = _;\n}\n\nfunction parseTypenames(typenames, types) {\n return typenames.trim().split(/^|\\s+/).map(function(t) {\n var name = \"\", i = t.indexOf(\".\");\n if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n if (t && !types.hasOwnProperty(t)) throw new Error(\"unknown type: \" + t);\n return {type: t, name: name};\n });\n}\n\nDispatch.prototype = dispatch.prototype = {\n constructor: Dispatch,\n on: function(typename, callback) {\n var _ = this._,\n T = parseTypenames(typename + \"\", _),\n t,\n i = -1,\n n = T.length;\n\n // If no callback was specified, return the callback of the given type and name.\n if (arguments.length < 2) {\n while (++i < n) if ((t = (typename = T[i]).type) && (t = get(_[t], typename.name))) return t;\n return;\n }\n\n // If a type was specified, set the callback for the given type and name.\n // Otherwise, if a null callback was specified, remove callbacks of the given name.\n if (callback != null && typeof callback !== \"function\") throw new Error(\"invalid callback: \" + callback);\n while (++i < n) {\n if (t = (typename = T[i]).type) _[t] = set(_[t], typename.name, callback);\n else if (callback == null) for (t in _) _[t] = set(_[t], typename.name, null);\n }\n\n return this;\n },\n copy: function() {\n var copy = {}, _ = this._;\n for (var t in _) copy[t] = _[t].slice();\n return new Dispatch(copy);\n },\n call: function(type, that) {\n if ((n = arguments.length - 2) > 0) for (var args = new Array(n), i = 0, n, t; i < n; ++i) args[i] = arguments[i + 2];\n if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n for (t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n },\n apply: function(type, that, args) {\n if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n for (var t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n }\n};\n\nfunction get(type, name) {\n for (var i = 0, n = type.length, c; i < n; ++i) {\n if ((c = type[i]).name === name) {\n return c.value;\n }\n }\n}\n\nfunction set(type, name, callback) {\n for (var i = 0, n = type.length; i < n; ++i) {\n if (type[i].name === name) {\n type[i] = noop, type = type.slice(0, i).concat(type.slice(i + 1));\n break;\n }\n }\n if (callback != null) type.push({name: name, value: callback});\n return type;\n}\n\nexport default dispatch;\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","require('../../modules/es6.string.iterator');\nrequire('../../modules/es6.array.from');\nmodule.exports = require('../../modules/_core').Array.from;\n","export function initRange(domain, range) {\n switch (arguments.length) {\n case 0: break;\n case 1: this.range(domain); break;\n default: this.range(range).domain(domain); break;\n }\n return this;\n}\n\nexport function initInterpolator(domain, interpolator) {\n switch (arguments.length) {\n case 0: break;\n case 1: {\n if (typeof domain === \"function\") this.interpolator(domain);\n else this.range(domain);\n break;\n }\n default: {\n this.domain(domain);\n if (typeof interpolator === \"function\") this.interpolator(interpolator);\n else this.range(interpolator);\n break;\n }\n }\n return this;\n}\n","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n } return result;\n};\n","import colors from \"../colors.js\";\n\nexport default colors(\"e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999\");\n","export default function(x) {\n return function constant() {\n return x;\n };\n}\n","function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nexport { _arrayLikeToArray as default };","import {initRange} from \"./init.js\";\n\nexport const implicit = Symbol(\"implicit\");\n\nexport default function ordinal() {\n var index = new Map(),\n domain = [],\n range = [],\n unknown = implicit;\n\n function scale(d) {\n var key = d + \"\", i = index.get(key);\n if (!i) {\n if (unknown !== implicit) return unknown;\n index.set(key, i = domain.push(d));\n }\n return range[(i - 1) % range.length];\n }\n\n scale.domain = function(_) {\n if (!arguments.length) return domain.slice();\n domain = [], index = new Map();\n for (const value of _) {\n const key = value + \"\";\n if (index.has(key)) continue;\n index.set(key, domain.push(value));\n }\n return scale;\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), scale) : range.slice();\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.copy = function() {\n return ordinal(domain, range).unknown(unknown);\n };\n\n initRange.apply(scale, arguments);\n\n return scale;\n}\n","export {default as dispatch} from \"./dispatch.js\";\n","export var xhtml = \"http://www.w3.org/1999/xhtml\";\n\nexport default {\n svg: \"http://www.w3.org/2000/svg\",\n xhtml: xhtml,\n xlink: \"http://www.w3.org/1999/xlink\",\n xml: \"http://www.w3.org/XML/1998/namespace\",\n xmlns: \"http://www.w3.org/2000/xmlns/\"\n};\n","export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return a * (1 - t) + b * t;\n };\n}\n","export function basis(t1, v0, v1, v2, v3) {\n var t2 = t1 * t1, t3 = t2 * t1;\n return ((1 - 3 * t1 + 3 * t2 - t3) * v0\n + (4 - 6 * t2 + 3 * t3) * v1\n + (1 + 3 * t1 + 3 * t2 - 3 * t3) * v2\n + t3 * v3) / 6;\n}\n\nexport default function(values) {\n var n = values.length - 1;\n return function(t) {\n var i = t <= 0 ? (t = 0) : t >= 1 ? (t = 1, n - 1) : Math.floor(t * n),\n v1 = values[i],\n v2 = values[i + 1],\n v0 = i > 0 ? values[i - 1] : 2 * v1 - v2,\n v3 = i < n - 1 ? values[i + 2] : 2 * v2 - v1;\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n","import {basis} from \"./basis.js\";\n\nexport default function(values) {\n var n = values.length;\n return function(t) {\n var i = Math.floor(((t %= 1) < 0 ? ++t : t) * n),\n v0 = values[(i + n - 1) % n],\n v1 = values[i % n],\n v2 = values[(i + 1) % n],\n v3 = values[(i + 2) % n];\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n","import constant from \"./constant.js\";\n\nfunction linear(a, d) {\n return function(t) {\n return a + t * d;\n };\n}\n\nfunction exponential(a, b, y) {\n return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function(t) {\n return Math.pow(a + t * b, y);\n };\n}\n\nexport function hue(a, b) {\n var d = b - a;\n return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : constant(isNaN(a) ? b : a);\n}\n\nexport function gamma(y) {\n return (y = +y) === 1 ? nogamma : function(a, b) {\n return b - a ? exponential(a, b, y) : constant(isNaN(a) ? b : a);\n };\n}\n\nexport default function nogamma(a, b) {\n var d = b - a;\n return d ? linear(a, d) : constant(isNaN(a) ? b : a);\n}\n","import {rgb as colorRgb} from \"d3-color\";\nimport basis from \"./basis.js\";\nimport basisClosed from \"./basisClosed.js\";\nimport nogamma, {gamma} from \"./color.js\";\n\nexport default (function rgbGamma(y) {\n var color = gamma(y);\n\n function rgb(start, end) {\n var r = color((start = colorRgb(start)).r, (end = colorRgb(end)).r),\n g = color(start.g, end.g),\n b = color(start.b, end.b),\n opacity = nogamma(start.opacity, end.opacity);\n return function(t) {\n start.r = r(t);\n start.g = g(t);\n start.b = b(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n\n rgb.gamma = rgbGamma;\n\n return rgb;\n})(1);\n\nfunction rgbSpline(spline) {\n return function(colors) {\n var n = colors.length,\n r = new Array(n),\n g = new Array(n),\n b = new Array(n),\n i, color;\n for (i = 0; i < n; ++i) {\n color = colorRgb(colors[i]);\n r[i] = color.r || 0;\n g[i] = color.g || 0;\n b[i] = color.b || 0;\n }\n r = spline(r);\n g = spline(g);\n b = spline(b);\n color.opacity = 1;\n return function(t) {\n color.r = r(t);\n color.g = g(t);\n color.b = b(t);\n return color + \"\";\n };\n };\n}\n\nexport var rgbBasis = rgbSpline(basis);\nexport var rgbBasisClosed = rgbSpline(basisClosed);\n","import {Selection} from \"./index\";\nimport selector from \"../selector\";\n\nexport default function(select) {\n if (typeof select !== \"function\") select = selector(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {\n if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {\n if (\"__data__\" in node) subnode.__data__ = node.__data__;\n subgroup[i] = subnode;\n }\n }\n }\n\n return new Selection(subgroups, this._parents);\n}\n","import {Selection} from \"./index\";\nimport selectorAll from \"../selectorAll\";\n\nexport default function(select) {\n if (typeof select !== \"function\") select = selectorAll(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n subgroups.push(select.call(node, node.__data__, i, group));\n parents.push(node);\n }\n }\n }\n\n return new Selection(subgroups, parents);\n}\n","import {Selection} from \"./index\";\nimport matcher from \"../matcher\";\n\nexport default function(match) {\n if (typeof match !== \"function\") match = matcher(match);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {\n if ((node = group[i]) && match.call(node, node.__data__, i, group)) {\n subgroup.push(node);\n }\n }\n }\n\n return new Selection(subgroups, this._parents);\n}\n","export default function(update) {\n return new Array(update.length);\n}\n","import sparse from \"./sparse\";\nimport {Selection} from \"./index\";\n\nexport default function() {\n return new Selection(this._enter || this._groups.map(sparse), this._parents);\n}\n\nexport function EnterNode(parent, datum) {\n this.ownerDocument = parent.ownerDocument;\n this.namespaceURI = parent.namespaceURI;\n this._next = null;\n this._parent = parent;\n this.__data__ = datum;\n}\n\nEnterNode.prototype = {\n constructor: EnterNode,\n appendChild: function(child) { return this._parent.insertBefore(child, this._next); },\n insertBefore: function(child, next) { return this._parent.insertBefore(child, next); },\n querySelector: function(selector) { return this._parent.querySelector(selector); },\n querySelectorAll: function(selector) { return this._parent.querySelectorAll(selector); }\n};\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","import {Selection} from \"./index\";\nimport {EnterNode} from \"./enter\";\nimport constant from \"../constant\";\n\nvar keyPrefix = \"$\"; // Protect against keys like “__proto__”.\n\nfunction bindIndex(parent, group, enter, update, exit, data) {\n var i = 0,\n node,\n groupLength = group.length,\n dataLength = data.length;\n\n // Put any non-null nodes that fit into update.\n // Put any null nodes into enter.\n // Put any remaining data into enter.\n for (; i < dataLength; ++i) {\n if (node = group[i]) {\n node.__data__ = data[i];\n update[i] = node;\n } else {\n enter[i] = new EnterNode(parent, data[i]);\n }\n }\n\n // Put any non-null nodes that don’t fit into exit.\n for (; i < groupLength; ++i) {\n if (node = group[i]) {\n exit[i] = node;\n }\n }\n}\n\nfunction bindKey(parent, group, enter, update, exit, data, key) {\n var i,\n node,\n nodeByKeyValue = {},\n groupLength = group.length,\n dataLength = data.length,\n keyValues = new Array(groupLength),\n keyValue;\n\n // Compute the key for each node.\n // If multiple nodes have the same key, the duplicates are added to exit.\n for (i = 0; i < groupLength; ++i) {\n if (node = group[i]) {\n keyValues[i] = keyValue = keyPrefix + key.call(node, node.__data__, i, group);\n if (keyValue in nodeByKeyValue) {\n exit[i] = node;\n } else {\n nodeByKeyValue[keyValue] = node;\n }\n }\n }\n\n // Compute the key for each datum.\n // If there a node associated with this key, join and add it to update.\n // If there is not (or the key is a duplicate), add it to enter.\n for (i = 0; i < dataLength; ++i) {\n keyValue = keyPrefix + key.call(parent, data[i], i, data);\n if (node = nodeByKeyValue[keyValue]) {\n update[i] = node;\n node.__data__ = data[i];\n nodeByKeyValue[keyValue] = null;\n } else {\n enter[i] = new EnterNode(parent, data[i]);\n }\n }\n\n // Add any remaining nodes that were not bound to data to exit.\n for (i = 0; i < groupLength; ++i) {\n if ((node = group[i]) && (nodeByKeyValue[keyValues[i]] === node)) {\n exit[i] = node;\n }\n }\n}\n\nexport default function(value, key) {\n if (!value) {\n data = new Array(this.size()), j = -1;\n this.each(function(d) { data[++j] = d; });\n return data;\n }\n\n var bind = key ? bindKey : bindIndex,\n parents = this._parents,\n groups = this._groups;\n\n if (typeof value !== \"function\") value = constant(value);\n\n for (var m = groups.length, update = new Array(m), enter = new Array(m), exit = new Array(m), j = 0; j < m; ++j) {\n var parent = parents[j],\n group = groups[j],\n groupLength = group.length,\n data = value.call(parent, parent && parent.__data__, j, parents),\n dataLength = data.length,\n enterGroup = enter[j] = new Array(dataLength),\n updateGroup = update[j] = new Array(dataLength),\n exitGroup = exit[j] = new Array(groupLength);\n\n bind(parent, group, enterGroup, updateGroup, exitGroup, data, key);\n\n // Now connect the enter nodes to their following update node, such that\n // appendChild can insert the materialized enter node before this node,\n // rather than at the end of the parent node.\n for (var i0 = 0, i1 = 0, previous, next; i0 < dataLength; ++i0) {\n if (previous = enterGroup[i0]) {\n if (i0 >= i1) i1 = i0 + 1;\n while (!(next = updateGroup[i1]) && ++i1 < dataLength);\n previous._next = next || null;\n }\n }\n }\n\n update = new Selection(update, parents);\n update._enter = enter;\n update._exit = exit;\n return update;\n}\n","import sparse from \"./sparse\";\nimport {Selection} from \"./index\";\n\nexport default function() {\n return new Selection(this._exit || this._groups.map(sparse), this._parents);\n}\n","export default function(onenter, onupdate, onexit) {\n var enter = this.enter(), update = this, exit = this.exit();\n enter = typeof onenter === \"function\" ? onenter(enter) : enter.append(onenter + \"\");\n if (onupdate != null) update = onupdate(update);\n if (onexit == null) exit.remove(); else onexit(exit);\n return enter && update ? enter.merge(update).order() : update;\n}\n","import {Selection} from \"./index\";\n\nexport default function(selection) {\n\n for (var groups0 = this._groups, groups1 = selection._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {\n for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group0[i] || group1[i]) {\n merge[i] = node;\n }\n }\n }\n\n for (; j < m0; ++j) {\n merges[j] = groups0[j];\n }\n\n return new Selection(merges, this._parents);\n}\n","export default function() {\n\n for (var groups = this._groups, j = -1, m = groups.length; ++j < m;) {\n for (var group = groups[j], i = group.length - 1, next = group[i], node; --i >= 0;) {\n if (node = group[i]) {\n if (next && node.compareDocumentPosition(next) ^ 4) next.parentNode.insertBefore(node, next);\n next = node;\n }\n }\n }\n\n return this;\n}\n","import {Selection} from \"./index\";\n\nexport default function(compare) {\n if (!compare) compare = ascending;\n\n function compareNode(a, b) {\n return a && b ? compare(a.__data__, b.__data__) : !a - !b;\n }\n\n for (var groups = this._groups, m = groups.length, sortgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, sortgroup = sortgroups[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n sortgroup[i] = node;\n }\n }\n sortgroup.sort(compareNode);\n }\n\n return new Selection(sortgroups, this._parents).order();\n}\n\nfunction ascending(a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n","export default function() {\n var callback = arguments[0];\n arguments[0] = this;\n callback.apply(null, arguments);\n return this;\n}\n","export default function() {\n var nodes = new Array(this.size()), i = -1;\n this.each(function() { nodes[++i] = this; });\n return nodes;\n}\n","export default function() {\n\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length; i < n; ++i) {\n var node = group[i];\n if (node) return node;\n }\n }\n\n return null;\n}\n","export default function() {\n var size = 0;\n this.each(function() { ++size; });\n return size;\n}\n","export default function() {\n return !this.node();\n}\n","export default function(callback) {\n\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) {\n if (node = group[i]) callback.call(node, node.__data__, i, group);\n }\n }\n\n return this;\n}\n","import namespace from \"../namespace\";\n\nfunction attrRemove(name) {\n return function() {\n this.removeAttribute(name);\n };\n}\n\nfunction attrRemoveNS(fullname) {\n return function() {\n this.removeAttributeNS(fullname.space, fullname.local);\n };\n}\n\nfunction attrConstant(name, value) {\n return function() {\n this.setAttribute(name, value);\n };\n}\n\nfunction attrConstantNS(fullname, value) {\n return function() {\n this.setAttributeNS(fullname.space, fullname.local, value);\n };\n}\n\nfunction attrFunction(name, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.removeAttribute(name);\n else this.setAttribute(name, v);\n };\n}\n\nfunction attrFunctionNS(fullname, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.removeAttributeNS(fullname.space, fullname.local);\n else this.setAttributeNS(fullname.space, fullname.local, v);\n };\n}\n\nexport default function(name, value) {\n var fullname = namespace(name);\n\n if (arguments.length < 2) {\n var node = this.node();\n return fullname.local\n ? node.getAttributeNS(fullname.space, fullname.local)\n : node.getAttribute(fullname);\n }\n\n return this.each((value == null\n ? (fullname.local ? attrRemoveNS : attrRemove) : (typeof value === \"function\"\n ? (fullname.local ? attrFunctionNS : attrFunction)\n : (fullname.local ? attrConstantNS : attrConstant)))(fullname, value));\n}\n","function propertyRemove(name) {\n return function() {\n delete this[name];\n };\n}\n\nfunction propertyConstant(name, value) {\n return function() {\n this[name] = value;\n };\n}\n\nfunction propertyFunction(name, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) delete this[name];\n else this[name] = v;\n };\n}\n\nexport default function(name, value) {\n return arguments.length > 1\n ? this.each((value == null\n ? propertyRemove : typeof value === \"function\"\n ? propertyFunction\n : propertyConstant)(name, value))\n : this.node()[name];\n}\n","function classArray(string) {\n return string.trim().split(/^|\\s+/);\n}\n\nfunction classList(node) {\n return node.classList || new ClassList(node);\n}\n\nfunction ClassList(node) {\n this._node = node;\n this._names = classArray(node.getAttribute(\"class\") || \"\");\n}\n\nClassList.prototype = {\n add: function(name) {\n var i = this._names.indexOf(name);\n if (i < 0) {\n this._names.push(name);\n this._node.setAttribute(\"class\", this._names.join(\" \"));\n }\n },\n remove: function(name) {\n var i = this._names.indexOf(name);\n if (i >= 0) {\n this._names.splice(i, 1);\n this._node.setAttribute(\"class\", this._names.join(\" \"));\n }\n },\n contains: function(name) {\n return this._names.indexOf(name) >= 0;\n }\n};\n\nfunction classedAdd(node, names) {\n var list = classList(node), i = -1, n = names.length;\n while (++i < n) list.add(names[i]);\n}\n\nfunction classedRemove(node, names) {\n var list = classList(node), i = -1, n = names.length;\n while (++i < n) list.remove(names[i]);\n}\n\nfunction classedTrue(names) {\n return function() {\n classedAdd(this, names);\n };\n}\n\nfunction classedFalse(names) {\n return function() {\n classedRemove(this, names);\n };\n}\n\nfunction classedFunction(names, value) {\n return function() {\n (value.apply(this, arguments) ? classedAdd : classedRemove)(this, names);\n };\n}\n\nexport default function(name, value) {\n var names = classArray(name + \"\");\n\n if (arguments.length < 2) {\n var list = classList(this.node()), i = -1, n = names.length;\n while (++i < n) if (!list.contains(names[i])) return false;\n return true;\n }\n\n return this.each((typeof value === \"function\"\n ? classedFunction : value\n ? classedTrue\n : classedFalse)(names, value));\n}\n","function textRemove() {\n this.textContent = \"\";\n}\n\nfunction textConstant(value) {\n return function() {\n this.textContent = value;\n };\n}\n\nfunction textFunction(value) {\n return function() {\n var v = value.apply(this, arguments);\n this.textContent = v == null ? \"\" : v;\n };\n}\n\nexport default function(value) {\n return arguments.length\n ? this.each(value == null\n ? textRemove : (typeof value === \"function\"\n ? textFunction\n : textConstant)(value))\n : this.node().textContent;\n}\n","function htmlRemove() {\n this.innerHTML = \"\";\n}\n\nfunction htmlConstant(value) {\n return function() {\n this.innerHTML = value;\n };\n}\n\nfunction htmlFunction(value) {\n return function() {\n var v = value.apply(this, arguments);\n this.innerHTML = v == null ? \"\" : v;\n };\n}\n\nexport default function(value) {\n return arguments.length\n ? this.each(value == null\n ? htmlRemove : (typeof value === \"function\"\n ? htmlFunction\n : htmlConstant)(value))\n : this.node().innerHTML;\n}\n","function raise() {\n if (this.nextSibling) this.parentNode.appendChild(this);\n}\n\nexport default function() {\n return this.each(raise);\n}\n","function lower() {\n if (this.previousSibling) this.parentNode.insertBefore(this, this.parentNode.firstChild);\n}\n\nexport default function() {\n return this.each(lower);\n}\n","import namespace from \"./namespace\";\nimport {xhtml} from \"./namespaces\";\n\nfunction creatorInherit(name) {\n return function() {\n var document = this.ownerDocument,\n uri = this.namespaceURI;\n return uri === xhtml && document.documentElement.namespaceURI === xhtml\n ? document.createElement(name)\n : document.createElementNS(uri, name);\n };\n}\n\nfunction creatorFixed(fullname) {\n return function() {\n return this.ownerDocument.createElementNS(fullname.space, fullname.local);\n };\n}\n\nexport default function(name) {\n var fullname = namespace(name);\n return (fullname.local\n ? creatorFixed\n : creatorInherit)(fullname);\n}\n","import creator from \"../creator\";\n\nexport default function(name) {\n var create = typeof name === \"function\" ? name : creator(name);\n return this.select(function() {\n return this.appendChild(create.apply(this, arguments));\n });\n}\n","import creator from \"../creator\";\nimport selector from \"../selector\";\n\nfunction constantNull() {\n return null;\n}\n\nexport default function(name, before) {\n var create = typeof name === \"function\" ? name : creator(name),\n select = before == null ? constantNull : typeof before === \"function\" ? before : selector(before);\n return this.select(function() {\n return this.insertBefore(create.apply(this, arguments), select.apply(this, arguments) || null);\n });\n}\n","function remove() {\n var parent = this.parentNode;\n if (parent) parent.removeChild(this);\n}\n\nexport default function() {\n return this.each(remove);\n}\n","function selection_cloneShallow() {\n var clone = this.cloneNode(false), parent = this.parentNode;\n return parent ? parent.insertBefore(clone, this.nextSibling) : clone;\n}\n\nfunction selection_cloneDeep() {\n var clone = this.cloneNode(true), parent = this.parentNode;\n return parent ? parent.insertBefore(clone, this.nextSibling) : clone;\n}\n\nexport default function(deep) {\n return this.select(deep ? selection_cloneDeep : selection_cloneShallow);\n}\n","export default function(value) {\n return arguments.length\n ? this.property(\"__data__\", value)\n : this.node().__data__;\n}\n","var filterEvents = {};\n\nexport var event = null;\n\nif (typeof document !== \"undefined\") {\n var element = document.documentElement;\n if (!(\"onmouseenter\" in element)) {\n filterEvents = {mouseenter: \"mouseover\", mouseleave: \"mouseout\"};\n }\n}\n\nfunction filterContextListener(listener, index, group) {\n listener = contextListener(listener, index, group);\n return function(event) {\n var related = event.relatedTarget;\n if (!related || (related !== this && !(related.compareDocumentPosition(this) & 8))) {\n listener.call(this, event);\n }\n };\n}\n\nfunction contextListener(listener, index, group) {\n return function(event1) {\n var event0 = event; // Events can be reentrant (e.g., focus).\n event = event1;\n try {\n listener.call(this, this.__data__, index, group);\n } finally {\n event = event0;\n }\n };\n}\n\nfunction parseTypenames(typenames) {\n return typenames.trim().split(/^|\\s+/).map(function(t) {\n var name = \"\", i = t.indexOf(\".\");\n if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n return {type: t, name: name};\n });\n}\n\nfunction onRemove(typename) {\n return function() {\n var on = this.__on;\n if (!on) return;\n for (var j = 0, i = -1, m = on.length, o; j < m; ++j) {\n if (o = on[j], (!typename.type || o.type === typename.type) && o.name === typename.name) {\n this.removeEventListener(o.type, o.listener, o.capture);\n } else {\n on[++i] = o;\n }\n }\n if (++i) on.length = i;\n else delete this.__on;\n };\n}\n\nfunction onAdd(typename, value, capture) {\n var wrap = filterEvents.hasOwnProperty(typename.type) ? filterContextListener : contextListener;\n return function(d, i, group) {\n var on = this.__on, o, listener = wrap(value, i, group);\n if (on) for (var j = 0, m = on.length; j < m; ++j) {\n if ((o = on[j]).type === typename.type && o.name === typename.name) {\n this.removeEventListener(o.type, o.listener, o.capture);\n this.addEventListener(o.type, o.listener = listener, o.capture = capture);\n o.value = value;\n return;\n }\n }\n this.addEventListener(typename.type, listener, capture);\n o = {type: typename.type, name: typename.name, value: value, listener: listener, capture: capture};\n if (!on) this.__on = [o];\n else on.push(o);\n };\n}\n\nexport default function(typename, value, capture) {\n var typenames = parseTypenames(typename + \"\"), i, n = typenames.length, t;\n\n if (arguments.length < 2) {\n var on = this.node().__on;\n if (on) for (var j = 0, m = on.length, o; j < m; ++j) {\n for (i = 0, o = on[j]; i < n; ++i) {\n if ((t = typenames[i]).type === o.type && t.name === o.name) {\n return o.value;\n }\n }\n }\n return;\n }\n\n on = value ? onAdd : onRemove;\n if (capture == null) capture = false;\n for (i = 0; i < n; ++i) this.each(on(typenames[i], value, capture));\n return this;\n}\n\nexport function customEvent(event1, listener, that, args) {\n var event0 = event;\n event1.sourceEvent = event;\n event = event1;\n try {\n return listener.apply(that, args);\n } finally {\n event = event0;\n }\n}\n","import defaultView from \"../window\";\n\nfunction dispatchEvent(node, type, params) {\n var window = defaultView(node),\n event = window.CustomEvent;\n\n if (typeof event === \"function\") {\n event = new event(type, params);\n } else {\n event = window.document.createEvent(\"Event\");\n if (params) event.initEvent(type, params.bubbles, params.cancelable), event.detail = params.detail;\n else event.initEvent(type, false, false);\n }\n\n node.dispatchEvent(event);\n}\n\nfunction dispatchConstant(type, params) {\n return function() {\n return dispatchEvent(this, type, params);\n };\n}\n\nfunction dispatchFunction(type, params) {\n return function() {\n return dispatchEvent(this, type, params.apply(this, arguments));\n };\n}\n\nexport default function(type, params) {\n return this.each((typeof params === \"function\"\n ? dispatchFunction\n : dispatchConstant)(type, params));\n}\n","import selection_select from \"./select\";\nimport selection_selectAll from \"./selectAll\";\nimport selection_filter from \"./filter\";\nimport selection_data from \"./data\";\nimport selection_enter from \"./enter\";\nimport selection_exit from \"./exit\";\nimport selection_join from \"./join\";\nimport selection_merge from \"./merge\";\nimport selection_order from \"./order\";\nimport selection_sort from \"./sort\";\nimport selection_call from \"./call\";\nimport selection_nodes from \"./nodes\";\nimport selection_node from \"./node\";\nimport selection_size from \"./size\";\nimport selection_empty from \"./empty\";\nimport selection_each from \"./each\";\nimport selection_attr from \"./attr\";\nimport selection_style from \"./style\";\nimport selection_property from \"./property\";\nimport selection_classed from \"./classed\";\nimport selection_text from \"./text\";\nimport selection_html from \"./html\";\nimport selection_raise from \"./raise\";\nimport selection_lower from \"./lower\";\nimport selection_append from \"./append\";\nimport selection_insert from \"./insert\";\nimport selection_remove from \"./remove\";\nimport selection_clone from \"./clone\";\nimport selection_datum from \"./datum\";\nimport selection_on from \"./on\";\nimport selection_dispatch from \"./dispatch\";\n\nexport var root = [null];\n\nexport function Selection(groups, parents) {\n this._groups = groups;\n this._parents = parents;\n}\n\nfunction selection() {\n return new Selection([[document.documentElement]], root);\n}\n\nSelection.prototype = selection.prototype = {\n constructor: Selection,\n select: selection_select,\n selectAll: selection_selectAll,\n filter: selection_filter,\n data: selection_data,\n enter: selection_enter,\n exit: selection_exit,\n join: selection_join,\n merge: selection_merge,\n order: selection_order,\n sort: selection_sort,\n call: selection_call,\n nodes: selection_nodes,\n node: selection_node,\n size: selection_size,\n empty: selection_empty,\n each: selection_each,\n attr: selection_attr,\n style: selection_style,\n property: selection_property,\n classed: selection_classed,\n text: selection_text,\n html: selection_html,\n raise: selection_raise,\n lower: selection_lower,\n append: selection_append,\n insert: selection_insert,\n remove: selection_remove,\n clone: selection_clone,\n datum: selection_datum,\n on: selection_on,\n dispatch: selection_dispatch\n};\n\nexport default selection;\n","var exponent = 3;\n\nexport var polyIn = (function custom(e) {\n e = +e;\n\n function polyIn(t) {\n return Math.pow(t, e);\n }\n\n polyIn.exponent = custom;\n\n return polyIn;\n})(exponent);\n\nexport var polyOut = (function custom(e) {\n e = +e;\n\n function polyOut(t) {\n return 1 - Math.pow(1 - t, e);\n }\n\n polyOut.exponent = custom;\n\n return polyOut;\n})(exponent);\n\nexport var polyInOut = (function custom(e) {\n e = +e;\n\n function polyInOut(t) {\n return ((t *= 2) <= 1 ? Math.pow(t, e) : 2 - Math.pow(2 - t, e)) / 2;\n }\n\n polyInOut.exponent = custom;\n\n return polyInOut;\n})(exponent);\n","import _Array$from from \"core-js/library/fn/array/from.js\";\nimport arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? _Array$from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n }\n}\nexport { _unsupportedIterableToArray as default };","export default function(x) {\n return x === null ? NaN : +x;\n}\n\nexport function* numbers(values, valueof) {\n if (valueof === undefined) {\n for (let value of values) {\n if (value != null && (value = +value) >= value) {\n yield value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null && (value = +value) >= value) {\n yield value;\n }\n }\n }\n}\n","import ascending from \"./ascending.js\";\nimport bisector from \"./bisector.js\";\nimport number from \"./number.js\";\n\nconst ascendingBisect = bisector(ascending);\nexport const bisectRight = ascendingBisect.right;\nexport const bisectLeft = ascendingBisect.left;\nexport const bisectCenter = bisector(number).center;\nexport default bisectRight;\n","export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return Math.round(a * (1 - t) + b * t);\n };\n}\n","export default function constants(x) {\n return function() {\n return x;\n };\n}\n","export default function number(x) {\n return +x;\n}\n","import {bisect} from \"d3-array\";\nimport {interpolate as interpolateValue, interpolateNumber, interpolateRound} from \"d3-interpolate\";\nimport constant from \"./constant.js\";\nimport number from \"./number.js\";\n\nvar unit = [0, 1];\n\nexport function identity(x) {\n return x;\n}\n\nfunction normalize(a, b) {\n return (b -= (a = +a))\n ? function(x) { return (x - a) / b; }\n : constant(isNaN(b) ? NaN : 0.5);\n}\n\nfunction clamper(a, b) {\n var t;\n if (a > b) t = a, a = b, b = t;\n return function(x) { return Math.max(a, Math.min(b, x)); };\n}\n\n// normalize(a, b)(x) takes a domain value x in [a,b] and returns the corresponding parameter t in [0,1].\n// interpolate(a, b)(t) takes a parameter t in [0,1] and returns the corresponding range value x in [a,b].\nfunction bimap(domain, range, interpolate) {\n var d0 = domain[0], d1 = domain[1], r0 = range[0], r1 = range[1];\n if (d1 < d0) d0 = normalize(d1, d0), r0 = interpolate(r1, r0);\n else d0 = normalize(d0, d1), r0 = interpolate(r0, r1);\n return function(x) { return r0(d0(x)); };\n}\n\nfunction polymap(domain, range, interpolate) {\n var j = Math.min(domain.length, range.length) - 1,\n d = new Array(j),\n r = new Array(j),\n i = -1;\n\n // Reverse descending domains.\n if (domain[j] < domain[0]) {\n domain = domain.slice().reverse();\n range = range.slice().reverse();\n }\n\n while (++i < j) {\n d[i] = normalize(domain[i], domain[i + 1]);\n r[i] = interpolate(range[i], range[i + 1]);\n }\n\n return function(x) {\n var i = bisect(domain, x, 1, j) - 1;\n return r[i](d[i](x));\n };\n}\n\nexport function copy(source, target) {\n return target\n .domain(source.domain())\n .range(source.range())\n .interpolate(source.interpolate())\n .clamp(source.clamp())\n .unknown(source.unknown());\n}\n\nexport function transformer() {\n var domain = unit,\n range = unit,\n interpolate = interpolateValue,\n transform,\n untransform,\n unknown,\n clamp = identity,\n piecewise,\n output,\n input;\n\n function rescale() {\n var n = Math.min(domain.length, range.length);\n if (clamp !== identity) clamp = clamper(domain[0], domain[n - 1]);\n piecewise = n > 2 ? polymap : bimap;\n output = input = null;\n return scale;\n }\n\n function scale(x) {\n return x == null || isNaN(x = +x) ? unknown : (output || (output = piecewise(domain.map(transform), range, interpolate)))(transform(clamp(x)));\n }\n\n scale.invert = function(y) {\n return clamp(untransform((input || (input = piecewise(range, domain.map(transform), interpolateNumber)))(y)));\n };\n\n scale.domain = function(_) {\n return arguments.length ? (domain = Array.from(_, number), rescale()) : domain.slice();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), rescale()) : range.slice();\n };\n\n scale.rangeRound = function(_) {\n return range = Array.from(_), interpolate = interpolateRound, rescale();\n };\n\n scale.clamp = function(_) {\n return arguments.length ? (clamp = _ ? true : identity, rescale()) : clamp !== identity;\n };\n\n scale.interpolate = function(_) {\n return arguments.length ? (interpolate = _, rescale()) : interpolate;\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n return function(t, u) {\n transform = t, untransform = u;\n return rescale();\n };\n}\n\nexport default function continuous() {\n return transformer()(identity, identity);\n}\n","// tpmt is two power minus ten times t scaled to [0,1]\nexport function tpmt(x) {\n return (Math.pow(2, -10 * x) - 0.0009765625) * 1.0009775171065494;\n}\n","export default function(a, b) {\n if (!b) b = [];\n var n = a ? Math.min(b.length, a.length) : 0,\n c = b.slice(),\n i;\n return function(t) {\n for (i = 0; i < n; ++i) c[i] = a[i] * (1 - t) + b[i] * t;\n return c;\n };\n}\n\nexport function isNumberArray(x) {\n return ArrayBuffer.isView(x) && !(x instanceof DataView);\n}\n","import value from \"./value.js\";\nimport numberArray, {isNumberArray} from \"./numberArray.js\";\n\nexport default function(a, b) {\n return (isNumberArray(b) ? numberArray : genericArray)(a, b);\n}\n\nexport function genericArray(a, b) {\n var nb = b ? b.length : 0,\n na = a ? Math.min(nb, a.length) : 0,\n x = new Array(na),\n c = new Array(nb),\n i;\n\n for (i = 0; i < na; ++i) x[i] = value(a[i], b[i]);\n for (; i < nb; ++i) c[i] = b[i];\n\n return function(t) {\n for (i = 0; i < na; ++i) c[i] = x[i](t);\n return c;\n };\n}\n","export default function(a, b) {\n var d = new Date;\n return a = +a, b = +b, function(t) {\n return d.setTime(a * (1 - t) + b * t), d;\n };\n}\n","import value from \"./value.js\";\n\nexport default function(a, b) {\n var i = {},\n c = {},\n k;\n\n if (a === null || typeof a !== \"object\") a = {};\n if (b === null || typeof b !== \"object\") b = {};\n\n for (k in b) {\n if (k in a) {\n i[k] = value(a[k], b[k]);\n } else {\n c[k] = b[k];\n }\n }\n\n return function(t) {\n for (k in i) c[k] = i[k](t);\n return c;\n };\n}\n","import {color} from \"d3-color\";\nimport rgb from \"./rgb.js\";\nimport {genericArray} from \"./array.js\";\nimport date from \"./date.js\";\nimport number from \"./number.js\";\nimport object from \"./object.js\";\nimport string from \"./string.js\";\nimport constant from \"./constant.js\";\nimport numberArray, {isNumberArray} from \"./numberArray.js\";\n\nexport default function(a, b) {\n var t = typeof b, c;\n return b == null || t === \"boolean\" ? constant(b)\n : (t === \"number\" ? number\n : t === \"string\" ? ((c = color(b)) ? (b = c, rgb) : string)\n : b instanceof color ? rgb\n : b instanceof Date ? date\n : isNumberArray(b) ? numberArray\n : Array.isArray(b) ? genericArray\n : typeof b.valueOf !== \"function\" && typeof b.toString !== \"function\" || isNaN(b) ? object\n : number)(a, b);\n}\n","var pi = Math.PI,\n tau = 2 * pi,\n epsilon = 1e-6,\n tauEpsilon = tau - epsilon;\n\nfunction Path() {\n this._x0 = this._y0 = // start of current subpath\n this._x1 = this._y1 = null; // end of current subpath\n this._ = \"\";\n}\n\nfunction path() {\n return new Path;\n}\n\nPath.prototype = path.prototype = {\n constructor: Path,\n moveTo: function(x, y) {\n this._ += \"M\" + (this._x0 = this._x1 = +x) + \",\" + (this._y0 = this._y1 = +y);\n },\n closePath: function() {\n if (this._x1 !== null) {\n this._x1 = this._x0, this._y1 = this._y0;\n this._ += \"Z\";\n }\n },\n lineTo: function(x, y) {\n this._ += \"L\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n quadraticCurveTo: function(x1, y1, x, y) {\n this._ += \"Q\" + (+x1) + \",\" + (+y1) + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n bezierCurveTo: function(x1, y1, x2, y2, x, y) {\n this._ += \"C\" + (+x1) + \",\" + (+y1) + \",\" + (+x2) + \",\" + (+y2) + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n arcTo: function(x1, y1, x2, y2, r) {\n x1 = +x1, y1 = +y1, x2 = +x2, y2 = +y2, r = +r;\n var x0 = this._x1,\n y0 = this._y1,\n x21 = x2 - x1,\n y21 = y2 - y1,\n x01 = x0 - x1,\n y01 = y0 - y1,\n l01_2 = x01 * x01 + y01 * y01;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(\"negative radius: \" + r);\n\n // Is this path empty? Move to (x1,y1).\n if (this._x1 === null) {\n this._ += \"M\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n }\n\n // Or, is (x1,y1) coincident with (x0,y0)? Do nothing.\n else if (!(l01_2 > epsilon));\n\n // Or, are (x0,y0), (x1,y1) and (x2,y2) collinear?\n // Equivalently, is (x1,y1) coincident with (x2,y2)?\n // Or, is the radius zero? Line to (x1,y1).\n else if (!(Math.abs(y01 * x21 - y21 * x01) > epsilon) || !r) {\n this._ += \"L\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n }\n\n // Otherwise, draw an arc!\n else {\n var x20 = x2 - x0,\n y20 = y2 - y0,\n l21_2 = x21 * x21 + y21 * y21,\n l20_2 = x20 * x20 + y20 * y20,\n l21 = Math.sqrt(l21_2),\n l01 = Math.sqrt(l01_2),\n l = r * Math.tan((pi - Math.acos((l21_2 + l01_2 - l20_2) / (2 * l21 * l01))) / 2),\n t01 = l / l01,\n t21 = l / l21;\n\n // If the start tangent is not coincident with (x0,y0), line to.\n if (Math.abs(t01 - 1) > epsilon) {\n this._ += \"L\" + (x1 + t01 * x01) + \",\" + (y1 + t01 * y01);\n }\n\n this._ += \"A\" + r + \",\" + r + \",0,0,\" + (+(y01 * x20 > x01 * y20)) + \",\" + (this._x1 = x1 + t21 * x21) + \",\" + (this._y1 = y1 + t21 * y21);\n }\n },\n arc: function(x, y, r, a0, a1, ccw) {\n x = +x, y = +y, r = +r, ccw = !!ccw;\n var dx = r * Math.cos(a0),\n dy = r * Math.sin(a0),\n x0 = x + dx,\n y0 = y + dy,\n cw = 1 ^ ccw,\n da = ccw ? a0 - a1 : a1 - a0;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(\"negative radius: \" + r);\n\n // Is this path empty? Move to (x0,y0).\n if (this._x1 === null) {\n this._ += \"M\" + x0 + \",\" + y0;\n }\n\n // Or, is (x0,y0) not coincident with the previous point? Line to (x0,y0).\n else if (Math.abs(this._x1 - x0) > epsilon || Math.abs(this._y1 - y0) > epsilon) {\n this._ += \"L\" + x0 + \",\" + y0;\n }\n\n // Is this arc empty? We’re done.\n if (!r) return;\n\n // Does the angle go the wrong way? Flip the direction.\n if (da < 0) da = da % tau + tau;\n\n // Is this a complete circle? Draw two arcs to complete the circle.\n if (da > tauEpsilon) {\n this._ += \"A\" + r + \",\" + r + \",0,1,\" + cw + \",\" + (x - dx) + \",\" + (y - dy) + \"A\" + r + \",\" + r + \",0,1,\" + cw + \",\" + (this._x1 = x0) + \",\" + (this._y1 = y0);\n }\n\n // Is this arc non-empty? Draw an arc!\n else if (da > epsilon) {\n this._ += \"A\" + r + \",\" + r + \",0,\" + (+(da >= pi)) + \",\" + cw + \",\" + (this._x1 = x + r * Math.cos(a1)) + \",\" + (this._y1 = y + r * Math.sin(a1));\n }\n },\n rect: function(x, y, w, h) {\n this._ += \"M\" + (this._x0 = this._x1 = +x) + \",\" + (this._y0 = this._y1 = +y) + \"h\" + (+w) + \"v\" + (+h) + \"h\" + (-w) + \"Z\";\n },\n toString: function() {\n return this._;\n }\n};\n\nexport default path;\n","var pi = Math.PI,\n halfPi = pi / 2;\n\nexport function sinIn(t) {\n return (+t === 1) ? 1 : 1 - Math.cos(t * halfPi);\n}\n\nexport function sinOut(t) {\n return Math.sin(t * halfPi);\n}\n\nexport function sinInOut(t) {\n return (1 - Math.cos(pi * t)) / 2;\n}\n","var e10 = Math.sqrt(50),\n e5 = Math.sqrt(10),\n e2 = Math.sqrt(2);\n\nexport default function(start, stop, count) {\n var reverse,\n i = -1,\n n,\n ticks,\n step;\n\n stop = +stop, start = +start, count = +count;\n if (start === stop && count > 0) return [start];\n if (reverse = stop < start) n = start, start = stop, stop = n;\n if ((step = tickIncrement(start, stop, count)) === 0 || !isFinite(step)) return [];\n\n if (step > 0) {\n let r0 = Math.round(start / step), r1 = Math.round(stop / step);\n if (r0 * step < start) ++r0;\n if (r1 * step > stop) --r1;\n ticks = new Array(n = r1 - r0 + 1);\n while (++i < n) ticks[i] = (r0 + i) * step;\n } else {\n step = -step;\n let r0 = Math.round(start * step), r1 = Math.round(stop * step);\n if (r0 / step < start) ++r0;\n if (r1 / step > stop) --r1;\n ticks = new Array(n = r1 - r0 + 1);\n while (++i < n) ticks[i] = (r0 + i) / step;\n }\n\n if (reverse) ticks.reverse();\n\n return ticks;\n}\n\nexport function tickIncrement(start, stop, count) {\n var step = (stop - start) / Math.max(0, count),\n power = Math.floor(Math.log(step) / Math.LN10),\n error = step / Math.pow(10, power);\n return power >= 0\n ? (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1) * Math.pow(10, power)\n : -Math.pow(10, -power) / (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1);\n}\n\nexport function tickStep(start, stop, count) {\n var step0 = Math.abs(stop - start) / Math.max(0, count),\n step1 = Math.pow(10, Math.floor(Math.log(step0) / Math.LN10)),\n error = step0 / step1;\n if (error >= e10) step1 *= 10;\n else if (error >= e5) step1 *= 5;\n else if (error >= e2) step1 *= 2;\n return stop < start ? -step1 : step1;\n}\n","module.exports = __webpack_public_path__ + \"img/consulta-ingreso-tardio.b6867403.png\";","require('../../modules/es6.array.is-array');\nmodule.exports = require('../../modules/_core').Array.isArray;\n","export default function(node) {\n node.x0 = Math.round(node.x0);\n node.y0 = Math.round(node.y0);\n node.x1 = Math.round(node.x1);\n node.y1 = Math.round(node.y1);\n}\n","export default function(parent, x0, y0, x1, y1) {\n var nodes = parent.children,\n node,\n i = -1,\n n = nodes.length,\n k = parent.value && (x1 - x0) / parent.value;\n\n while (++i < n) {\n node = nodes[i], node.y0 = y0, node.y1 = y1;\n node.x0 = x0, node.x1 = x0 += node.value * k;\n }\n}\n","import roundNode from \"./treemap/round.js\";\nimport treemapDice from \"./treemap/dice.js\";\n\nexport default function() {\n var dx = 1,\n dy = 1,\n padding = 0,\n round = false;\n\n function partition(root) {\n var n = root.height + 1;\n root.x0 =\n root.y0 = padding;\n root.x1 = dx;\n root.y1 = dy / n;\n root.eachBefore(positionNode(dy, n));\n if (round) root.eachBefore(roundNode);\n return root;\n }\n\n function positionNode(dy, n) {\n return function(node) {\n if (node.children) {\n treemapDice(node, node.x0, dy * (node.depth + 1) / n, node.x1, dy * (node.depth + 2) / n);\n }\n var x0 = node.x0,\n y0 = node.y0,\n x1 = node.x1 - padding,\n y1 = node.y1 - padding;\n if (x1 < x0) x0 = x1 = (x0 + x1) / 2;\n if (y1 < y0) y0 = y1 = (y0 + y1) / 2;\n node.x0 = x0;\n node.y0 = y0;\n node.x1 = x1;\n node.y1 = y1;\n };\n }\n\n partition.round = function(x) {\n return arguments.length ? (round = !!x, partition) : round;\n };\n\n partition.size = function(x) {\n return arguments.length ? (dx = +x[0], dy = +x[1], partition) : [dx, dy];\n };\n\n partition.padding = function(x) {\n return arguments.length ? (padding = +x, partition) : padding;\n };\n\n return partition;\n}\n","export function x(p) {\n return p[0];\n}\n\nexport function y(p) {\n return p[1];\n}\n","import {path} from \"d3-path\";\nimport constant from \"./constant.js\";\nimport curveLinear from \"./curve/linear.js\";\nimport {x as pointX, y as pointY} from \"./point.js\";\n\nexport default function() {\n var x = pointX,\n y = pointY,\n defined = constant(true),\n context = null,\n curve = curveLinear,\n output = null;\n\n function line(data) {\n var i,\n n = data.length,\n d,\n defined0 = false,\n buffer;\n\n if (context == null) output = curve(buffer = path());\n\n for (i = 0; i <= n; ++i) {\n if (!(i < n && defined(d = data[i], i, data)) === defined0) {\n if (defined0 = !defined0) output.lineStart();\n else output.lineEnd();\n }\n if (defined0) output.point(+x(d, i, data), +y(d, i, data));\n }\n\n if (buffer) return output = null, buffer + \"\" || null;\n }\n\n line.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : constant(+_), line) : x;\n };\n\n line.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : constant(+_), line) : y;\n };\n\n line.defined = function(_) {\n return arguments.length ? (defined = typeof _ === \"function\" ? _ : constant(!!_), line) : defined;\n };\n\n line.curve = function(_) {\n return arguments.length ? (curve = _, context != null && (output = curve(context)), line) : curve;\n };\n\n line.context = function(_) {\n return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), line) : context;\n };\n\n return line;\n}\n"],"sourceRoot":""}