{"version":3,"sources":["webpack:///./src/assets/images/banner-1-graph.png","webpack:///./src/assets/images/home-banner/banner-1-mountain-2.svg","webpack:///./src/assets/images/home-banner/banner-3-graph.svg","webpack:///./src/assets/images/banner-3-shadow.png","webpack:///./src/assets/images/home-banner/banner-1-mountain-3.svg","webpack:///./src/assets/images/option-types-bg-1.jpg","webpack:///./src/assets/images/home-banner/banner-3-stop-watch-mask.svg","webpack:///./src/assets/images/banner-mask.png","webpack:///./node_modules/core-js/internals/this-number-value.js","webpack:///./src/assets/images/option-types-bg-2.jpg","webpack:///./src/assets/images/home-banner/banner-3-graph-grey.svg","webpack:///./src/assets/images/home-banner/banner-1-pin.svg","webpack:///./src/assets/images/home-banner/banner-3-stop-watch.svg","webpack:///./src/assets/images/banner-1-line.png","webpack:///./node_modules/vue-intersect/dist/index.js","webpack:///./src/assets/images/home-banner/banner-1-mountain-1.svg","webpack:///./src/assets/images/low-win.png","webpack:///./src/assets/images/iphone-new.png","webpack:///./src/jquery/jquery.sparkline.js","webpack:///./src/assets/images/high-win.png","webpack:///./src/assets/images/home-banner/banner-3-stop-button-r.svg","webpack:///./src/assets/images/htc.png","webpack:///./src/views/highlow/Home.vue?0a84","webpack:///./src/layout/HomeBanner.vue?52d3","webpack:///src/layout/HomeBanner.vue","webpack:///./src/layout/HomeBanner.vue?bec8","webpack:///./src/layout/HomeBanner.vue","webpack:///./src/layout/HomeNews.vue?a3f2","webpack:///./src/layout/HomeNews.vue","webpack:///./src/views/highlow/Home/ForBeginnersAndExperts.vue?7ae6","webpack:///./src/utils/domUtils.js","webpack:///./src/components/animations/DemoWidget.vue?498e","webpack:///src/components/animations/DemoWidget.vue","webpack:///./src/components/animations/DemoWidget.vue?31a9","webpack:///./src/components/animations/DemoWidget.vue","webpack:///src/views/highlow/Home/ForBeginnersAndExperts.vue","webpack:///./src/views/highlow/Home/ForBeginnersAndExperts.vue?a412","webpack:///./src/views/highlow/Home/ForBeginnersAndExperts.vue","webpack:///./src/views/highlow/Home/OnTheGo.vue?4eba","webpack:///src/views/highlow/Home/OnTheGo.vue","webpack:///./src/views/highlow/Home/OnTheGo.vue?c886","webpack:///./src/views/highlow/Home/OnTheGo.vue","webpack:///src/views/highlow/Home.vue","webpack:///./src/views/highlow/Home.vue?8828","webpack:///./src/views/highlow/Home.vue","webpack:///./node_modules/core-js/modules/es.array.concat.js","webpack:///./src/assets/images/home-banner/banner-3-stop-shade.svg","webpack:///./src/assets/images/high-lose.png","webpack:///./node_modules/core-js/modules/es.number.constructor.js","webpack:///./node_modules/core-js/modules/es.number.to-fixed.js","webpack:///./src/assets/images/8-reasons-$.png","webpack:///./src/assets/images/option-types-bg-3.jpg","webpack:///./src/assets/images/home-banner/banner-1-disc.svg","webpack:///./node_modules/core-js/modules/es.array.fill.js","webpack:///./node_modules/core-js/modules/es.array.map.js","webpack:///./src/assets/images/low-lose.png","webpack:///./src/assets/images/home-banner/banner-3-stop-button-l.svg","webpack:///./src/assets/images/option-types.png","webpack:///./src/assets/images/why-binaries.png","webpack:///./src/assets/images/banner-3-line.png","webpack:///./src/assets/images/option-types-bg-4.jpg"],"names":["module","exports","classof","value","TypeError","warn","msg","config","silent","console","name","abstract","props","threshold","type","Array","required","default","root","HTMLElement","Object","rootMargin","String","mounted","_this","this","observer","IntersectionObserver","entries","isIntersecting","$emit","$nextTick","$slots","length","observe","elm","destroyed","disconnect","render","require","document","Math","undefined","factory","define","$","getDefaults","createClass","SPFormat","clipval","quartile","normalizeValue","normalizeValues","remove","isNumber","all","addCSS","ensureArray","formatNumber","RangeMap","MouseHandler","Tooltip","barHighlightMixin","line","bar","tristate","discrete","bullet","pie","box","defaultStyles","initStyles","VShape","VCanvas_base","VCanvas_canvas","VCanvas_vml","pending","UNSET_OPTION","shapeCount","common","lineColor","fillColor","defaultPixelsPerValue","width","height","composite","tagValuesAttribute","tagOptionsPrefix","enableTagOptions","enableHighlight","highlightLighten","tooltipSkipNull","tooltipPrefix","tooltipSuffix","disableHiddenCheck","numberFormatter","numberDigitGroupCount","numberDigitGroupSep","numberDecimalMark","disableTooltips","disableInteraction","spotColor","highlightSpotColor","highlightLineColor","spotRadius","minSpotColor","maxSpotColor","lineWidth","normalRangeMin","normalRangeMax","normalRangeColor","drawNormalOnTop","chartRangeMin","chartRangeMax","chartRangeMinX","chartRangeMaxX","tooltipFormat","barColor","negBarColor","stackedBarColor","zeroColor","nullColor","zeroAxis","barWidth","barSpacing","chartRangeClip","colorMap","posBarColor","zeroBarColor","tooltipValueLookups","map","lineHeight","thresholdColor","thresholdValue","targetColor","targetWidth","performanceColor","rangeColors","base","fields","r","p","t","offset","sliceColors","borderWidth","borderColor","raw","boxLineColor","boxFillColor","whiskerColor","outlierLineColor","outlierFillColor","medianColor","showOutliers","outlierIQR","target","tooltipFormatFieldlistKey","lq","med","uq","lo","ro","lw","rw","Class","args","init","apply","arguments","prototype","extend","_super","slice","call","unshift","cls","SPFormatClass","fre","precre","format","fclass","fieldset","lookups","options","match","token","lookupkey","fieldvalue","prec","self","replace","lookup","exec","get","spformat","val","min","max","values","q","vl","floor","nf","parseFloat","vals","i","result","filter","push","num","isNaN","isFinite","groupsize","groupsep","decsep","toString","toFixed","split","inArray","splice","join","arr","ignoreNull","isArray","css","tag","createStyleSheet","cssText","createElement","getElementsByTagName","appendChild","body","style","WebkitAppearance","fn","simpledraw","useExisting","interact","mhandler","data","sparkline","canvas","el","getContext","namespaces","v","add","innerWidth","innerHeight","registerCanvas","cleardraw","reset","RangeMapClass","key","range","rangelist","hasOwnProperty","indexOf","Infinity","range_map","$el","currentPageX","currentPageY","splist","tooltip","over","displayTooltips","highlightEnabled","registerSparkline","sp","updateDisplay","$canvas","mouseenter","proxy","mouseleave","click","mouseclick","removeTooltip","e","clickEvent","Event","originalEvent","sparklines","trigger","unbind","bind","mousemove","pageX","pageY","currentEl","updatePosition","spcount","needsRefresh","clearRegionHighlight","tooltiphtml","changeEvent","localX","left","localY","top","setRegionHighlight","getCurrentRegionTooltip","setContent","disableHighlight","sizeStyle","tooltipClassname","sizetipStyle","container","tooltipOffsetX","tooltipOffsetY","sizetip","id","appendTo","offsetLeft","offsetTop","hidden","window","updateWindowDims","scrollTop","scrollLeft","scrollRight","getSize","content","html","x","y","mousex","mousey","userValues","userOptions","each","$this","tmp","getAttribute","innerHTML","alert","is","parents","defaults","sparkline_display_visible","pl","done","closest","extendedOptions","tagOptionType","tagValCache","getTagSetting","mergedOptions","pairs","keyval","prefix","substr","defaultval","tagOption","_base","disabled","currentRegion","initTarget","interactive","canvasWidth","pixelWidth","canvasHeight","pixelHeight","getRegion","newRegion","removeHighlight","renderHighlight","changeHighlight","highlight","formats","formatlen","text","showFields","showFieldsKey","newFields","fv","formatter","fieldlen","j","header","getCurrentRegionFields","isNull","suffix","calcHighlightColor","color","parse","mult","rgbnew","highlightColor","lighten","round","parseInt","newShapes","shapeids","regionShapes","renderRegion","replaceWithShapes","newShape","replaceWithShape","shapes","ids","append","vertices","regionMap","xvalues","yvalues","yminmax","hightlightSpotId","lastShapeId","highlightSpot","highlightLine","vertex","drawCircle","highlightSpotId","insertAfterShape","drawLine","canvasTop","highlightLineId","removeShapeId","scanValues","isStr","valcount","Number","maxy","maxyorg","miny","minyorg","maxx","minx","processRangeOptions","drawNormalRange","canvasLeft","rangey","ytop","drawRect","rangex","yvallast","path","paths","xnext","xpos","xposnext","last","next","yvalcount","lineShapes","fillShapes","plen","valueSpots","hlSpotsEnabled","ceil","pop","drawShape","getLastShapeId","isStackString","groupMin","groupMax","stackRanges","numValues","vlen","xaxisOffset","clipMin","clipMax","stacked","vlist","slen","svals","yoffset","yMaxCalc","stackMin","stackMax","totalBarWidth","stackTotals","stackRangesNeg","abs","canvasHeightEf","colorMapByIndex","colorMapByValue","calcColor","stacknum","valuenum","newColor","yoffsetNeg","minPlotted","allMin","halfHeight","interval","itemWidth","pheight","valueShapes","regiondata","shapeid","getShapeAt","fieldkey","region","shape","renderRange","renderPerformance","renderTarget","rn","rangeval","rangewidth","perfval","perfwidth","targetval","targettop","targetheight","p1","t0","total","radius","percent","newslice","renderSlice","start","end","circle","PI","drawPieSlice","field","quartiles","loutlier","routlier","lwhisker","rwhisker","iqr","q1","q2","q3","size","unitSize","minValue","maxValue","sort","a","b","appendShape","_pxregex","x1","y1","x2","y2","_genShape","startAngle","endAngle","getElement","_insert","_calculatePixelDims","shapetype","shapeargs","display","verticalAlign","shapeseq","currentTargetShapeId","_getContext","context","strokeStyle","fillStyle","clearRect","_drawShape","beginPath","moveTo","lineTo","stroke","fill","targetX","targetY","isPointInPath","_drawCircle","arc","_drawPieSlice","closePath","_drawRect","sid","first","shapemap","groupel","position","overflow","margin","padding","insertAdjacentHTML","group","children","rendered","prerender","initial","closed","vel","vpath","startx","starty","endx","endy","cos","sin","existing","outerHTML","removeChild","_vm","_h","$createElement","_c","_self","staticClass","domProps","_s","$t","attrs","_v","_l","staticRenderFns","component","_m","script","on","beforeChange","afterChange","isElement","nodeType","Node","ELEMENT_NODE","addClass","className","classes","removeClass","newClasses","l","$event","comeIn","f","components","tabs","methods","indexFrom","tab","comeOut","ref","fails","isObject","toObject","toLength","createProperty","arraySpeciesCreate","arrayMethodHasSpeciesSupport","wellKnownSymbol","V8_VERSION","IS_CONCAT_SPREADABLE","MAX_SAFE_INTEGER","MAXIMUM_ALLOWED_INDEX_EXCEEDED","IS_CONCAT_SPREADABLE_SUPPORT","array","concat","SPECIES_SUPPORT","isConcatSpreadable","O","spreadable","FORCED","proto","forced","arg","k","len","E","A","n","DESCRIPTORS","global","isForced","redefine","has","inheritIfRequired","toPrimitive","create","getOwnPropertyNames","getOwnPropertyDescriptor","defineProperty","trim","NUMBER","NativeNumber","NumberPrototype","BROKEN_CLASSOF","toNumber","argument","third","radix","maxCode","digits","index","code","it","charCodeAt","NaN","NumberWrapper","dummy","valueOf","keys","constructor","toInteger","thisNumberValue","repeat","nativeToFixed","pow","acc","log","fractionDigits","z","number","fractDigits","sign","multiply","c","c2","divide","dataToString","s","RangeError","addToUnscopables","$map","arrayMethodUsesToLength","HAS_SPECIES_SUPPORT","USES_TO_LENGTH","callbackfn"],"mappings":"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","file":"assets/js/chunk-57d8f076.js","sourcesContent":["module.exports = __webpack_public_path__ + \"assets/img/banner-1-graph.png\";","module.exports = __webpack_public_path__ + \"assets/img/banner-1-mountain-2.svg\";","module.exports = __webpack_public_path__ + \"assets/img/banner-3-graph.svg\";","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"assets/img/banner-1-mountain-3.svg\";","module.exports = __webpack_public_path__ + \"assets/img/option-types-bg-1.jpg\";","module.exports = __webpack_public_path__ + \"assets/img/banner-3-stop-watch-mask.svg\";","module.exports = __webpack_public_path__ + \"assets/img/banner-mask.png\";","var classof = require('../internals/classof-raw');\n\n// `thisNumberValue` abstract operation\n// https://tc39.github.io/ecma262/#sec-thisnumbervalue\nmodule.exports = function (value) {\n if (typeof value != 'number' && classof(value) != 'Number') {\n throw TypeError('Incorrect invocation');\n }\n return +value;\n};\n","module.exports = __webpack_public_path__ + \"assets/img/option-types-bg-2.jpg\";","module.exports = __webpack_public_path__ + \"assets/img/banner-3-graph-grey.svg\";","module.exports = __webpack_public_path__ + \"assets/img/banner-1-pin.svg\";","module.exports = __webpack_public_path__ + \"assets/img/banner-3-stop-watch.svg\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA50AAAAaCAMAAAADr8iFAAAA1VBMVEUAAAAWFRX///////////////////////////////////////////////////////////////////////////////////////////+ysrL///////////////////////////////////////////9YV1cWFRX///////8WFRUhICD///////8WFRUWFRUWFRX///////////9CQUEWFRUWFRUWFRUWFRUWFRUZGBj///8WFRUWFRX///8vLi47Ozv////////ExMQ/Pz9KSUn///////9PrFf/AAAARnRSTlMAszMxHcwVeMkFxhMvVAJzCRHLUCsbUsIN4QMLxBgmvgduSkQhyapfPQO8rpx2XAy1pmbdn01BJRloNo6AVcq8j4Tnv4dacR/5VwAAAwFJREFUeNrt3HlP4lAUBfD7EAulCC2bUGylwBQYZREBWd1m+f4fad57XYY1QyaZtKPn98cxIQQvzT1CZSGAT2c4nw8JAGKmN+u7jHP7sx4BQHzMJiw0mREAxMSwz3b08QQXIB6GK7ZnhXoCxEFvxQ6scPIJEAMDFnh5YYEBAUDU5i4L1Gos4M4JACK2YPvtlBYEANHqucfb6eLMEyBiT+ywndITAUCkpqfaOaUPIpfLhWmaZo6nquYop6qqGWSj0VDJ1HVdJdXLer3eILVareo8DUOnhmEYddIVRamSbllWlerlctmgejKZNKjabrc1nratkGHbtkVGqVTysiwyWyYtm/XyIknaxQVPJcgEz0Qivrk1rfan/H1Pz7i+cjL/ftrwOJ85iXJGnn+UtIOUMxzLYDdK1m7K/ZG5+Cq8fBHe3+WPb+IStpBbJzdQpr+Tcj/5lmqaVpcbq4c7zPdZbnWw4aYudj5sgWyE1w7T78u/aOF+/0yVI7PhN8/vXNg2TZNt83smGuYdG3n8lOVy2Sar2+3alGw2myVqV642CbI7nU6XSmPHaVE2lUo1KfH29lak7uvr64a69/f3HWo9PDzwvLu7G1NzNBo51Ly9vXWoeH19nadiJpPJUyWTTqeokvayUEjRVaFwyfPyMpos+DMUvKn2UswsU85/w/Pmhqe4RydTXmcvg9sJU97+sQznEROee2SK4jiLPDGJP39maxLvN56d4VQy8yLTeTHhzi3v3F9/qmYw28gJtkJuSEum3Bmecn/4Fv1YPD8+Pj7Xfm6piUvYd751fPccxxF7OB7z5Du5JHuzqWSpLXc12Wq1bLG9fIcV8VfTb3/Vlo8kyaTYecsS+6/Jxx/eC9lgryni8Srorpnz+hUmAXx2g71ntnjFEyAuPv55J8D/Cv+zBYityfF2TggAIjbYbidOOwFiZHj8fbb4DBlA9GbsCHw/AkAc9NmBPgFADPT6B+XEW+AB4qE3YDsGKCdAbDytWWiNVzoBYmU+XU9cd7Kexv9LEX4B/4FrPmYtU5gAAAAASUVORK5CYII=\"","import Vue from 'vue';\n\nvar warn = function warn(msg) {\n if (!Vue.config.silent) {\n console.warn(msg);\n }\n};\n\nexport default {\n name: 'intersect',\n abstract: true,\n props: {\n threshold: {\n type: Array,\n required: false,\n default: function _default() {\n return [0, 0.2];\n }\n },\n root: {\n type: typeof HTMLElement !== 'undefined' ? HTMLElement : Object,\n required: false,\n default: function _default() {\n return null;\n }\n },\n rootMargin: {\n type: String,\n required: false,\n default: function _default() {\n return '0px 0px 0px 0px';\n }\n }\n },\n mounted: function mounted() {\n var _this = this;\n\n this.observer = new IntersectionObserver(function (entries) {\n if (!entries[0].isIntersecting) {\n _this.$emit('leave', [entries[0]]);\n } else {\n _this.$emit('enter', [entries[0]]);\n }\n\n _this.$emit('change', [entries[0]]);\n }, {\n threshold: this.threshold,\n root: this.root,\n rootMargin: this.rootMargin\n });\n\n this.$nextTick(function () {\n if (_this.$slots.default && _this.$slots.default.length > 1) {\n warn('[VueIntersect] You may only wrap one element in a component.');\n } else if (!_this.$slots.default || _this.$slots.default.length < 1) {\n warn('[VueIntersect] You must have one child inside a component.');\n return;\n }\n\n _this.observer.observe(_this.$slots.default[0].elm);\n });\n },\n destroyed: function destroyed() {\n this.$emit('destroyed');\n this.observer.disconnect();\n },\n render: function render() {\n return this.$slots.default ? this.$slots.default[0] : null;\n }\n};","module.exports = __webpack_public_path__ + \"assets/img/banner-1-mountain-1.svg\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAcCAYAAACOGPReAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDIxIDc5LjE1NTc3MiwgMjAxNC8wMS8xMy0xOTo0NDowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RUY1NzU3N0E2NEJFMTFFNDg4RjFFQjM4MDk5MzFCNkUiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RUY1NzU3Nzk2NEJFMTFFNDg4RjFFQjM4MDk5MzFCNkUiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTQgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpCN0FENUU4NDVFRTYxMUU0QTlCQ0Y1MDFEOTlBOTZFQSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo3OEVFN0JCODVFRTgxMUU0QTlCQ0Y1MDFEOTlBOTZFQSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PniWzXMAAAHoSURBVHjarJY5SANBFIZfQkwkaPDCQkQb8cAuYIyVIqQQkSgBiViJR2lvCkuLVGolBLFQQRtJYxPBowik0kaDWKSJihciUTwiqP9bJhLj7maSzYMPdue9+XZnd2Z2TVfebpIIO1gDE+A1O9EQjv0rNpNcLIFRsCxTLCMdA1PieFKcG5K2gJWcthXRXpTUCraBI6fdIdqtxUiDwKmRc4p8QVIvmM3zaGZFnZS0SUwfUx4p59euh91N+aQWEAHVklON6yIQW7SkfOUoaKPCguujEJvUpJvARcWFS/T/I/UAPxkLP+7WowwZa5/Fp6CDjMc56GThgJqwLrhKNqdbtSe3c14l2tnHb82nupxaO6l2fpHSF2f0vBWij+OYIqv0Tys5nfCx1K1XkZF/PT2SuapG5hH08PCbpbYzOaGyeFhqU8t8v7/p9tTJl7P0QS1zOzNCLzvr/zrzObdzXiPueUod4KBPc9iOKqoYHid7/yC97u/SS3iTvlJPeoM4ZOkcDhaodBHg4W+AdImE7NlgaRKESiQN4euazKz9AEgYFCaE53dDSYEhfulFCm+4P+4ylbv1xUEXOClQyPUuCONaO39SLNuA1vzNigdR5+bn+Oc7o/PbUwZ6xV7bCOrBHbgEe+AIfKr99vwIMAAbanxghjp/OwAAAABJRU5ErkJggg==\"","module.exports = __webpack_public_path__ + \"assets/img/iphone-new.png\";","/**\r\n*\r\n* jquery.sparkline.js\r\n*\r\n* v2.1.2\r\n* (c) Splunk, Inc\r\n* Contact: Gareth Watts (gareth@splunk.com)\r\n* http://omnipotent.net/jquery.sparkline/\r\n*\r\n* Generates inline sparkline charts from data supplied either to the method\r\n* or inline in HTML\r\n*\r\n* Compatible with Internet Explorer 6.0+ and modern browsers equipped with the canvas tag\r\n* (Firefox 2.0+, Safari, Opera, etc)\r\n*\r\n* License: New BSD License\r\n*\r\n* Copyright (c) 2012, Splunk Inc.\r\n* All rights reserved.\r\n*\r\n* Redistribution and use in source and binary forms, with or without modification,\r\n* are permitted provided that the following conditions are met:\r\n*\r\n* * Redistributions of source code must retain the above copyright notice,\r\n* this list of conditions and the following disclaimer.\r\n* * Redistributions in binary form must reproduce the above copyright notice,\r\n* this list of conditions and the following disclaimer in the documentation\r\n* and/or other materials provided with the distribution.\r\n* * Neither the name of Splunk Inc nor the names of its contributors may\r\n* be used to endorse or promote products derived from this software without\r\n* specific prior written permission.\r\n*\r\n* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND ANY\r\n* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES\r\n* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT\r\n* SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\r\n* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT\r\n* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\r\n* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\r\n* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\r\n* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r\n*\r\n*\r\n* Usage:\r\n* $(selector).sparkline(values, options)\r\n*\r\n* If values is undefined or set to 'html' then the data values are read from the specified tag:\r\n*

Sparkline: 1,4,6,6,8,5,3,5

\r\n* $('.sparkline').sparkline();\r\n* There must be no spaces in the enclosed data set\r\n*\r\n* Otherwise values must be an array of numbers or null values\r\n*

Sparkline: This text replaced if the browser is compatible

\r\n* $('#sparkline1').sparkline([1,4,6,6,8,5,3,5])\r\n* $('#sparkline2').sparkline([1,4,6,null,null,5,3,5])\r\n*\r\n* Values can also be specified in an HTML comment, or as a values attribute:\r\n*

Sparkline:

\r\n*

Sparkline:

\r\n* $('.sparkline').sparkline();\r\n*\r\n* For line charts, x values can also be specified:\r\n*

Sparkline: 1:1,2.7:4,3.4:6,5:6,6:8,8.7:5,9:3,10:5

\r\n* $('#sparkline1').sparkline([ [1,1], [2.7,4], [3.4,6], [5,6], [6,8], [8.7,5], [9,3], [10,5] ])\r\n*\r\n* By default, options should be passed in as teh second argument to the sparkline function:\r\n* $('.sparkline').sparkline([1,2,3,4], {type: 'bar'})\r\n*\r\n* Options can also be set by passing them on the tag itself. This feature is disabled by default though\r\n* as there's a slight performance overhead:\r\n* $('.sparkline').sparkline([1,2,3,4], {enableTagOptions: true})\r\n*

Sparkline: loading

\r\n* Prefix all options supplied as tag attribute with \"spark\" (configurable by setting tagOptionPrefix)\r\n*\r\n* Supported options:\r\n* lineColor - Color of the line used for the chart\r\n* fillColor - Color used to fill in the chart - Set to '' or false for a transparent chart\r\n* width - Width of the chart - Defaults to 3 times the number of values in pixels\r\n* height - Height of the chart - Defaults to the height of the containing element\r\n* chartRangeMin - Specify the minimum value to use for the Y range of the chart - Defaults to the minimum value supplied\r\n* chartRangeMax - Specify the maximum value to use for the Y range of the chart - Defaults to the maximum value supplied\r\n* chartRangeClip - Clip out of range values to the max/min specified by chartRangeMin and chartRangeMax\r\n* chartRangeMinX - Specify the minimum value to use for the X range of the chart - Defaults to the minimum value supplied\r\n* chartRangeMaxX - Specify the maximum value to use for the X range of the chart - Defaults to the maximum value supplied\r\n* composite - If true then don't erase any existing chart attached to the tag, but draw\r\n* another chart over the top - Note that width and height are ignored if an\r\n* existing chart is detected.\r\n* tagValuesAttribute - Name of tag attribute to check for data values - Defaults to 'values'\r\n* enableTagOptions - Whether to check tags for sparkline options\r\n* tagOptionPrefix - Prefix used for options supplied as tag attributes - Defaults to 'spark'\r\n* disableHiddenCheck - If set to true, then the plugin will assume that charts will never be drawn into a\r\n* hidden dom element, avoding a browser reflow\r\n* disableInteraction - If set to true then all mouseover/click interaction behaviour will be disabled,\r\n* making the plugin perform much like it did in 1.x\r\n* disableTooltips - If set to true then tooltips will be disabled - Defaults to false (tooltips enabled)\r\n* disableHighlight - If set to true then highlighting of selected chart elements on mouseover will be disabled\r\n* defaults to false (highlights enabled)\r\n* highlightLighten - Factor to lighten/darken highlighted chart values by - Defaults to 1.4 for a 40% increase\r\n* tooltipContainer - Specify which DOM element the tooltip should be rendered into - defaults to document.body\r\n* tooltipClassname - Optional CSS classname to apply to tooltips - If not specified then a default style will be applied\r\n* tooltipOffsetX - How many pixels away from the mouse pointer to render the tooltip on the X axis\r\n* tooltipOffsetY - How many pixels away from the mouse pointer to render the tooltip on the r axis\r\n* tooltipFormatter - Optional callback that allows you to override the HTML displayed in the tooltip\r\n* callback is given arguments of (sparkline, options, fields)\r\n* tooltipChartTitle - If specified then the tooltip uses the string specified by this setting as a title\r\n* tooltipFormat - A format string or SPFormat object (or an array thereof for multiple entries)\r\n* to control the format of the tooltip\r\n* tooltipPrefix - A string to prepend to each field displayed in a tooltip\r\n* tooltipSuffix - A string to append to each field displayed in a tooltip\r\n* tooltipSkipNull - If true then null values will not have a tooltip displayed (defaults to true)\r\n* tooltipValueLookups - An object or range map to map field values to tooltip strings\r\n* (eg. to map -1 to \"Lost\", 0 to \"Draw\", and 1 to \"Win\")\r\n* numberFormatter - Optional callback for formatting numbers in tooltips\r\n* numberDigitGroupSep - Character to use for group separator in numbers \"1,234\" - Defaults to \",\"\r\n* numberDecimalMark - Character to use for the decimal point when formatting numbers - Defaults to \".\"\r\n* numberDigitGroupCount - Number of digits between group separator - Defaults to 3\r\n*\r\n* There are 7 types of sparkline, selected by supplying a \"type\" option of 'line' (default),\r\n* 'bar', 'tristate', 'bullet', 'discrete', 'pie' or 'box'\r\n* line - Line chart. Options:\r\n* spotColor - Set to '' to not end each line in a circular spot\r\n* minSpotColor - If set, color of spot at minimum value\r\n* maxSpotColor - If set, color of spot at maximum value\r\n* spotRadius - Radius in pixels\r\n* lineWidth - Width of line in pixels\r\n* normalRangeMin\r\n* normalRangeMax - If set draws a filled horizontal bar between these two values marking the \"normal\"\r\n* or expected range of values\r\n* normalRangeColor - Color to use for the above bar\r\n* drawNormalOnTop - Draw the normal range above the chart fill color if true\r\n* defaultPixelsPerValue - Defaults to 3 pixels of width for each value in the chart\r\n* highlightSpotColor - The color to use for drawing a highlight spot on mouseover - Set to null to disable\r\n* highlightLineColor - The color to use for drawing a highlight line on mouseover - Set to null to disable\r\n* valueSpots - Specify which points to draw spots on, and in which color. Accepts a range map\r\n*\r\n* bar - Bar chart. Options:\r\n* barColor - Color of bars for postive values\r\n* negBarColor - Color of bars for negative values\r\n* zeroColor - Color of bars with zero values\r\n* nullColor - Color of bars with null values - Defaults to omitting the bar entirely\r\n* barWidth - Width of bars in pixels\r\n* colorMap - Optional mappnig of values to colors to override the *BarColor values above\r\n* can be an Array of values to control the color of individual bars or a range map\r\n* to specify colors for individual ranges of values\r\n* barSpacing - Gap between bars in pixels\r\n* zeroAxis - Centers the y-axis around zero if true\r\n*\r\n* tristate - Charts values of win (>0), lose (<0) or draw (=0)\r\n* posBarColor - Color of win values\r\n* negBarColor - Color of lose values\r\n* zeroBarColor - Color of draw values\r\n* barWidth - Width of bars in pixels\r\n* barSpacing - Gap between bars in pixels\r\n* colorMap - Optional mappnig of values to colors to override the *BarColor values above\r\n* can be an Array of values to control the color of individual bars or a range map\r\n* to specify colors for individual ranges of values\r\n*\r\n* discrete - Options:\r\n* lineHeight - Height of each line in pixels - Defaults to 30% of the graph height\r\n* thesholdValue - Values less than this value will be drawn using thresholdColor instead of lineColor\r\n* thresholdColor\r\n*\r\n* bullet - Values for bullet graphs msut be in the order: target, performance, range1, range2, range3, ...\r\n* options:\r\n* targetColor - The color of the vertical target marker\r\n* targetWidth - The width of the target marker in pixels\r\n* performanceColor - The color of the performance measure horizontal bar\r\n* rangeColors - Colors to use for each qualitative range background color\r\n*\r\n* pie - Pie chart. Options:\r\n* sliceColors - An array of colors to use for pie slices\r\n* offset - Angle in degrees to offset the first slice - Try -90 or +90\r\n* borderWidth - Width of border to draw around the pie chart, in pixels - Defaults to 0 (no border)\r\n* borderColor - Color to use for the pie chart border - Defaults to #000\r\n*\r\n* box - Box plot. Options:\r\n* raw - Set to true to supply pre-computed plot points as values\r\n* values should be: low_outlier, low_whisker, q1, median, q3, high_whisker, high_outlier\r\n* When set to false you can supply any number of values and the box plot will\r\n* be computed for you. Default is false.\r\n* showOutliers - Set to true (default) to display outliers as circles\r\n* outlierIQR - Interquartile range used to determine outliers. Default 1.5\r\n* boxLineColor - Outline color of the box\r\n* boxFillColor - Fill color for the box\r\n* whiskerColor - Line color used for whiskers\r\n* outlierLineColor - Outline color of outlier circles\r\n* outlierFillColor - Fill color of the outlier circles\r\n* spotRadius - Radius of outlier circles\r\n* medianColor - Line color of the median line\r\n* target - Draw a target cross hair at the supplied value (default undefined)\r\n*\r\n*\r\n*\r\n* Examples:\r\n* $('#sparkline1').sparkline(myvalues, { lineColor: '#f00', fillColor: false });\r\n* $('.barsparks').sparkline('html', { type:'bar', height:'40px', barWidth:5 });\r\n* $('#tristate').sparkline([1,1,-1,1,0,0,-1], { type:'tristate' }):\r\n* $('#discrete').sparkline([1,3,4,5,5,3,4,5], { type:'discrete' });\r\n* $('#bullet').sparkline([10,12,12,9,7], { type:'bullet' });\r\n* $('#pie').sparkline([1,1,2], { type:'pie' });\r\n*/\r\n\r\n/*jslint regexp: true, browser: true, jquery: true, white: true, nomen: false, plusplus: false, maxerr: 500, indent: 4 */\r\nvar $ = require('jquery');\r\nvar jQuery = require('jquery');\r\nvar jquery = require('jquery');\r\n\r\n// eslint-disable-next-line no-shadow-restricted-names\r\n(function(document, Math, undefined) { // performance/minified-size optimization\r\n(function(factory) {\r\n // eslint-disable-next-line no-undef\r\n if(typeof define === 'function' && define.amd) {\r\n // eslint-disable-next-line no-undef\r\n define(['jquery'], factory);\r\n } else if (jQuery && !jQuery.fn.sparkline) {\r\n factory(jQuery);\r\n }\r\n}(function($) {\r\n 'use strict';\r\n\r\n var UNSET_OPTION = {},\r\n getDefaults, createClass, SPFormat, clipval, quartile, normalizeValue, normalizeValues,\r\n remove, isNumber, all, sum, addCSS, ensureArray, formatNumber, RangeMap,\r\n MouseHandler, Tooltip, barHighlightMixin,\r\n line, bar, tristate, discrete, bullet, pie, box, defaultStyles, initStyles,\r\n VShape, VCanvas_base, VCanvas_canvas, VCanvas_vml, pending, shapeCount = 0;\r\n\r\n /**\r\n * Default configuration settings\r\n */\r\n getDefaults = function () {\r\n return {\r\n // Settings common to most/all chart types\r\n common: {\r\n type: 'line',\r\n lineColor: '#00f',\r\n fillColor: '#cdf',\r\n defaultPixelsPerValue: 3,\r\n width: 'auto',\r\n height: 'auto',\r\n composite: false,\r\n tagValuesAttribute: 'values',\r\n tagOptionsPrefix: 'spark',\r\n enableTagOptions: false,\r\n enableHighlight: true,\r\n highlightLighten: 1.4,\r\n tooltipSkipNull: true,\r\n tooltipPrefix: '',\r\n tooltipSuffix: '',\r\n disableHiddenCheck: false,\r\n numberFormatter: false,\r\n numberDigitGroupCount: 3,\r\n numberDigitGroupSep: ',',\r\n numberDecimalMark: '.',\r\n disableTooltips: false,\r\n disableInteraction: false\r\n },\r\n // Defaults for line charts\r\n line: {\r\n spotColor: '#f80',\r\n highlightSpotColor: '#5f5',\r\n highlightLineColor: '#f22',\r\n spotRadius: 1.5,\r\n minSpotColor: '#f80',\r\n maxSpotColor: '#f80',\r\n lineWidth: 1,\r\n normalRangeMin: undefined,\r\n normalRangeMax: undefined,\r\n normalRangeColor: '#ccc',\r\n drawNormalOnTop: false,\r\n chartRangeMin: undefined,\r\n chartRangeMax: undefined,\r\n chartRangeMinX: undefined,\r\n chartRangeMaxX: undefined,\r\n tooltipFormat: new SPFormat(' {{prefix}}{{y}}{{suffix}}')\r\n },\r\n // Defaults for bar charts\r\n bar: {\r\n barColor: '#3366cc',\r\n negBarColor: '#f44',\r\n stackedBarColor: ['#3366cc', '#dc3912', '#ff9900', '#109618', '#66aa00',\r\n '#dd4477', '#0099c6', '#990099'],\r\n zeroColor: undefined,\r\n nullColor: undefined,\r\n zeroAxis: true,\r\n barWidth: 4,\r\n barSpacing: 1,\r\n chartRangeMax: undefined,\r\n chartRangeMin: undefined,\r\n chartRangeClip: false,\r\n colorMap: undefined,\r\n tooltipFormat: new SPFormat(' {{prefix}}{{value}}{{suffix}}')\r\n },\r\n // Defaults for tristate charts\r\n tristate: {\r\n barWidth: 4,\r\n barSpacing: 1,\r\n posBarColor: '#6f6',\r\n negBarColor: '#f44',\r\n zeroBarColor: '#999',\r\n colorMap: {},\r\n tooltipFormat: new SPFormat(' {{value:map}}'),\r\n tooltipValueLookups: { map: { '-1': 'Loss', '0': 'Draw', '1': 'Win' } }\r\n },\r\n // Defaults for discrete charts\r\n discrete: {\r\n lineHeight: 'auto',\r\n thresholdColor: undefined,\r\n thresholdValue: 0,\r\n chartRangeMax: undefined,\r\n chartRangeMin: undefined,\r\n chartRangeClip: false,\r\n tooltipFormat: new SPFormat('{{prefix}}{{value}}{{suffix}}')\r\n },\r\n // Defaults for bullet charts\r\n bullet: {\r\n targetColor: '#f33',\r\n targetWidth: 3, // width of the target bar in pixels\r\n performanceColor: '#33f',\r\n rangeColors: ['#d3dafe', '#a8b6ff', '#7f94ff'],\r\n base: undefined, // set this to a number to change the base start number\r\n tooltipFormat: new SPFormat('{{fieldkey:fields}} - {{value}}'),\r\n tooltipValueLookups: { fields: {r: 'Range', p: 'Performance', t: 'Target'} }\r\n },\r\n // Defaults for pie charts\r\n pie: {\r\n offset: 0,\r\n sliceColors: ['#3366cc', '#dc3912', '#ff9900', '#109618', '#66aa00',\r\n '#dd4477', '#0099c6', '#990099'],\r\n borderWidth: 0,\r\n borderColor: '#000',\r\n tooltipFormat: new SPFormat(' {{value}} ({{percent.1}}%)')\r\n },\r\n // Defaults for box plots\r\n box: {\r\n raw: false,\r\n boxLineColor: '#000',\r\n boxFillColor: '#cdf',\r\n whiskerColor: '#000',\r\n outlierLineColor: '#333',\r\n outlierFillColor: '#fff',\r\n medianColor: '#f00',\r\n showOutliers: true,\r\n outlierIQR: 1.5,\r\n spotRadius: 1.5,\r\n target: undefined,\r\n targetColor: '#4a2',\r\n chartRangeMax: undefined,\r\n chartRangeMin: undefined,\r\n tooltipFormat: new SPFormat('{{field:fields}}: {{value}}'),\r\n tooltipFormatFieldlistKey: 'field',\r\n tooltipValueLookups: { fields: { lq: 'Lower Quartile', med: 'Median',\r\n uq: 'Upper Quartile', lo: 'Left Outlier', ro: 'Right Outlier',\r\n lw: 'Left Whisker', rw: 'Right Whisker'} }\r\n }\r\n };\r\n };\r\n\r\n // You can have tooltips use a css class other than jqstooltip by specifying tooltipClassname\r\n defaultStyles = '.jqstooltip { ' +\r\n 'position: absolute;' +\r\n 'left: 0px;' +\r\n 'top: 0px;' +\r\n 'visibility: hidden;' +\r\n 'background: rgb(0, 0, 0) transparent;' +\r\n 'background-color: rgba(0,0,0,0.6);' +\r\n 'filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000);' +\r\n '-ms-filter: \"progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000)\";' +\r\n 'color: white;' +\r\n 'font: 10px arial, san serif;' +\r\n 'text-align: left;' +\r\n 'white-space: nowrap;' +\r\n 'padding: 5px;' +\r\n 'border: 1px solid white;' +\r\n 'z-index: 10000;' +\r\n '}' +\r\n '.jqsfield { ' +\r\n 'color: white;' +\r\n 'font: 10px arial, san serif;' +\r\n 'text-align: left;' +\r\n '}';\r\n\r\n /**\r\n * Utilities\r\n */\r\n\r\n createClass = function (/* [baseclass, [mixin, ...]], definition */) {\r\n var Class, args;\r\n Class = function () {\r\n this.init.apply(this, arguments);\r\n };\r\n if (arguments.length > 1) {\r\n if (arguments[0]) {\r\n Class.prototype = $.extend(new arguments[0](), arguments[arguments.length - 1]);\r\n Class._super = arguments[0].prototype;\r\n } else {\r\n Class.prototype = arguments[arguments.length - 1];\r\n }\r\n if (arguments.length > 2) {\r\n args = Array.prototype.slice.call(arguments, 1, -1);\r\n args.unshift(Class.prototype);\r\n $.extend.apply($, args);\r\n }\r\n } else {\r\n Class.prototype = arguments[0];\r\n }\r\n Class.prototype.cls = Class;\r\n return Class;\r\n };\r\n\r\n /**\r\n * Wraps a format string for tooltips\r\n * {{x}}\r\n * {{x.2}\r\n * {{x:months}}\r\n */\r\n $.SPFormatClass = SPFormat = createClass({\r\n fre: /\\{\\{([\\w.]+?)(:(.+?))?\\}\\}/g,\r\n precre: /(\\w+)\\.(\\d+)/,\r\n\r\n init: function (format, fclass) {\r\n this.format = format;\r\n this.fclass = fclass;\r\n },\r\n\r\n render: function (fieldset, lookups, options) {\r\n var self = this,\r\n fields = fieldset,\r\n match, token, lookupkey, fieldvalue, prec;\r\n return this.format.replace(this.fre, function () {\r\n var lookup;\r\n token = arguments[1];\r\n lookupkey = arguments[3];\r\n match = self.precre.exec(token);\r\n if (match) {\r\n prec = match[2];\r\n token = match[1];\r\n } else {\r\n prec = false;\r\n }\r\n fieldvalue = fields[token];\r\n if (fieldvalue === undefined) {\r\n return '';\r\n }\r\n if (lookupkey && lookups && lookups[lookupkey]) {\r\n lookup = lookups[lookupkey];\r\n if (lookup.get) { // RangeMap\r\n return lookups[lookupkey].get(fieldvalue) || fieldvalue;\r\n } else {\r\n return lookups[lookupkey][fieldvalue] || fieldvalue;\r\n }\r\n }\r\n if (isNumber(fieldvalue)) {\r\n if (options.get('numberFormatter')) {\r\n fieldvalue = options.get('numberFormatter')(fieldvalue);\r\n } else {\r\n fieldvalue = formatNumber(fieldvalue, prec,\r\n options.get('numberDigitGroupCount'),\r\n options.get('numberDigitGroupSep'),\r\n options.get('numberDecimalMark'));\r\n }\r\n }\r\n return fieldvalue;\r\n });\r\n }\r\n });\r\n\r\n // convience method to avoid needing the new operator\r\n $.spformat = function(format, fclass) {\r\n return new SPFormat(format, fclass);\r\n };\r\n\r\n clipval = function (val, min, max) {\r\n if (val < min) {\r\n return min;\r\n }\r\n if (val > max) {\r\n return max;\r\n }\r\n return val;\r\n };\r\n\r\n quartile = function (values, q) {\r\n var vl;\r\n if (q === 2) {\r\n vl = Math.floor(values.length / 2);\r\n return values.length % 2 ? values[vl] : (values[vl-1] + values[vl]) / 2;\r\n } else {\r\n if (values.length % 2 ) { // odd\r\n vl = (values.length * q + q) / 4;\r\n return vl % 1 ? (values[Math.floor(vl)] + values[Math.floor(vl) - 1]) / 2 : values[vl-1];\r\n } else { //even\r\n vl = (values.length * q + 2) / 4;\r\n return vl % 1 ? (values[Math.floor(vl)] + values[Math.floor(vl) - 1]) / 2 : values[vl-1];\r\n\r\n }\r\n }\r\n };\r\n\r\n normalizeValue = function (val) {\r\n var nf;\r\n switch (val) {\r\n case 'undefined':\r\n val = undefined;\r\n break;\r\n case 'null':\r\n val = null;\r\n break;\r\n case 'true':\r\n val = true;\r\n break;\r\n case 'false':\r\n val = false;\r\n break;\r\n default:\r\n nf = parseFloat(val);\r\n if (val == nf) {\r\n val = nf;\r\n }\r\n }\r\n return val;\r\n };\r\n\r\n normalizeValues = function (vals) {\r\n var i, result = [];\r\n for (i = vals.length; i--;) {\r\n result[i] = normalizeValue(vals[i]);\r\n }\r\n return result;\r\n };\r\n\r\n remove = function (vals, filter) {\r\n var i, vl, result = [];\r\n for (i = 0, vl = vals.length; i < vl; i++) {\r\n if (vals[i] !== filter) {\r\n result.push(vals[i]);\r\n }\r\n }\r\n return result;\r\n };\r\n\r\n isNumber = function (num) {\r\n return !isNaN(parseFloat(num)) && isFinite(num);\r\n };\r\n\r\n formatNumber = function (num, prec, groupsize, groupsep, decsep) {\r\n var p, i;\r\n num = (prec === false ? parseFloat(num).toString() : num.toFixed(prec)).split('');\r\n p = (p = $.inArray('.', num)) < 0 ? num.length : p;\r\n if (p < num.length) {\r\n num[p] = decsep;\r\n }\r\n for (i = p - groupsize; i > 0; i -= groupsize) {\r\n num.splice(i, 0, groupsep);\r\n }\r\n return num.join('');\r\n };\r\n\r\n // determine if all values of an array match a value\r\n // returns true if the array is empty\r\n all = function (val, arr, ignoreNull) {\r\n var i;\r\n for (i = arr.length; i--; ) {\r\n if (ignoreNull && arr[i] === null) continue;\r\n if (arr[i] !== val) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n };\r\n\r\n // sums the numeric values in an array, ignoring other values\r\n sum = function (vals) {\r\n var total = 0, i;\r\n for (i = vals.length; i--;) {\r\n total += typeof vals[i] === 'number' ? vals[i] : 0;\r\n }\r\n return total;\r\n };\r\n\r\n ensureArray = function (val) {\r\n return $.isArray(val) ? val : [val];\r\n };\r\n\r\n // http://paulirish.com/2008/bookmarklet-inject-new-css-rules/\r\n addCSS = function(css) {\r\n var tag;\r\n //if ('\\v' == 'v') /* ie only */ {\r\n if (document.createStyleSheet) {\r\n document.createStyleSheet().cssText = css;\r\n } else {\r\n tag = document.createElement('style');\r\n tag.type = 'text/css';\r\n document.getElementsByTagName('head')[0].appendChild(tag);\r\n tag[(typeof document.body.style.WebkitAppearance == 'string') /* webkit only */ ? 'innerText' : 'innerHTML'] = css;\r\n }\r\n };\r\n\r\n // Provide a cross-browser interface to a few simple drawing primitives\r\n $.fn.simpledraw = function (width, height, useExisting, interact) {\r\n var target, mhandler;\r\n if (useExisting && (target = this.data('_jqs_vcanvas'))) {\r\n return target;\r\n }\r\n\r\n if ($.fn.sparkline.canvas === false) {\r\n // We've already determined that neither Canvas nor VML are available\r\n return false;\r\n\r\n } else if ($.fn.sparkline.canvas === undefined) {\r\n // No function defined yet -- need to see if we support Canvas or VML\r\n var el = document.createElement('canvas');\r\n // eslint-disable-next-line no-extra-boolean-cast\r\n if (!!(el.getContext && el.getContext('2d'))) {\r\n // Canvas is available\r\n $.fn.sparkline.canvas = function(width, height, target, interact) {\r\n return new VCanvas_canvas(width, height, target, interact);\r\n };\r\n } else if (document.namespaces && !document.namespaces.v) {\r\n // VML is available\r\n document.namespaces.add('v', 'urn:schemas-microsoft-com:vml', '#default#VML');\r\n $.fn.sparkline.canvas = function(width, height, target, interact) {\r\n return new VCanvas_vml(width, height, target);\r\n };\r\n } else {\r\n // Neither Canvas nor VML are available\r\n $.fn.sparkline.canvas = false;\r\n return false;\r\n }\r\n }\r\n\r\n if (width === undefined) {\r\n width = $(this).innerWidth();\r\n }\r\n if (height === undefined) {\r\n height = $(this).innerHeight();\r\n }\r\n\r\n target = $.fn.sparkline.canvas(width, height, this, interact);\r\n\r\n mhandler = $(this).data('_jqs_mhandler');\r\n if (mhandler) {\r\n mhandler.registerCanvas(target);\r\n }\r\n return target;\r\n };\r\n\r\n $.fn.cleardraw = function () {\r\n var target = this.data('_jqs_vcanvas');\r\n if (target) {\r\n target.reset();\r\n }\r\n };\r\n\r\n $.RangeMapClass = RangeMap = createClass({\r\n init: function (map) {\r\n var key, range, rangelist = [];\r\n for (key in map) {\r\n // eslint-disable-next-line no-prototype-builtins\r\n if (map.hasOwnProperty(key) && typeof key === 'string' && key.indexOf(':') > -1) {\r\n range = key.split(':');\r\n range[0] = range[0].length === 0 ? -Infinity : parseFloat(range[0]);\r\n range[1] = range[1].length === 0 ? Infinity : parseFloat(range[1]);\r\n range[2] = map[key];\r\n rangelist.push(range);\r\n }\r\n }\r\n this.map = map;\r\n this.rangelist = rangelist || false;\r\n },\r\n\r\n get: function (value) {\r\n var rangelist = this.rangelist,\r\n i, range, result;\r\n if ((result = this.map[value]) !== undefined) {\r\n return result;\r\n }\r\n if (rangelist) {\r\n for (i = rangelist.length; i--;) {\r\n range = rangelist[i];\r\n if (range[0] <= value && range[1] >= value) {\r\n return range[2];\r\n }\r\n }\r\n }\r\n return undefined;\r\n }\r\n });\r\n\r\n // Convenience function\r\n $.range_map = function(map) {\r\n return new RangeMap(map);\r\n };\r\n\r\n MouseHandler = createClass({\r\n init: function (el, options) {\r\n var $el = $(el);\r\n this.$el = $el;\r\n this.options = options;\r\n this.currentPageX = 0;\r\n this.currentPageY = 0;\r\n this.el = el;\r\n this.splist = [];\r\n this.tooltip = null;\r\n this.over = false;\r\n this.displayTooltips = !options.get('disableTooltips');\r\n this.highlightEnabled = !options.get('disableHighlight');\r\n },\r\n\r\n registerSparkline: function (sp) {\r\n this.splist.push(sp);\r\n if (this.over) {\r\n this.updateDisplay();\r\n }\r\n },\r\n\r\n registerCanvas: function (canvas) {\r\n var $canvas = $(canvas.canvas);\r\n this.canvas = canvas;\r\n this.$canvas = $canvas;\r\n $canvas.mouseenter($.proxy(this.mouseenter, this));\r\n $canvas.mouseleave($.proxy(this.mouseleave, this));\r\n $canvas.click($.proxy(this.mouseclick, this));\r\n },\r\n\r\n reset: function (removeTooltip) {\r\n this.splist = [];\r\n if (this.tooltip && removeTooltip) {\r\n this.tooltip.remove();\r\n this.tooltip = undefined;\r\n }\r\n },\r\n\r\n mouseclick: function (e) {\r\n var clickEvent = $.Event('sparklineClick');\r\n clickEvent.originalEvent = e;\r\n clickEvent.sparklines = this.splist;\r\n this.$el.trigger(clickEvent);\r\n },\r\n\r\n mouseenter: function (e) {\r\n $(document.body).unbind('mousemove.jqs');\r\n $(document.body).bind('mousemove.jqs', $.proxy(this.mousemove, this));\r\n this.over = true;\r\n this.currentPageX = e.pageX;\r\n this.currentPageY = e.pageY;\r\n this.currentEl = e.target;\r\n if (!this.tooltip && this.displayTooltips) {\r\n this.tooltip = new Tooltip(this.options);\r\n this.tooltip.updatePosition(e.pageX, e.pageY);\r\n }\r\n this.updateDisplay();\r\n },\r\n\r\n mouseleave: function () {\r\n $(document.body).unbind('mousemove.jqs');\r\n var splist = this.splist,\r\n spcount = splist.length,\r\n needsRefresh = false,\r\n sp, i;\r\n this.over = false;\r\n this.currentEl = null;\r\n\r\n if (this.tooltip) {\r\n this.tooltip.remove();\r\n this.tooltip = null;\r\n }\r\n\r\n for (i = 0; i < spcount; i++) {\r\n sp = splist[i];\r\n if (sp.clearRegionHighlight()) {\r\n needsRefresh = true;\r\n }\r\n }\r\n\r\n if (needsRefresh) {\r\n this.canvas.render();\r\n }\r\n },\r\n\r\n mousemove: function (e) {\r\n this.currentPageX = e.pageX;\r\n this.currentPageY = e.pageY;\r\n this.currentEl = e.target;\r\n if (this.tooltip) {\r\n this.tooltip.updatePosition(e.pageX, e.pageY);\r\n }\r\n this.updateDisplay();\r\n },\r\n\r\n updateDisplay: function () {\r\n var splist = this.splist,\r\n spcount = splist.length,\r\n needsRefresh = false,\r\n offset = this.$canvas.offset(),\r\n localX = this.currentPageX - offset.left,\r\n localY = this.currentPageY - offset.top,\r\n tooltiphtml, sp, i, result, changeEvent;\r\n if (!this.over) {\r\n return;\r\n }\r\n for (i = 0; i < spcount; i++) {\r\n sp = splist[i];\r\n result = sp.setRegionHighlight(this.currentEl, localX, localY);\r\n if (result) {\r\n needsRefresh = true;\r\n }\r\n }\r\n if (needsRefresh) {\r\n changeEvent = $.Event('sparklineRegionChange');\r\n changeEvent.sparklines = this.splist;\r\n this.$el.trigger(changeEvent);\r\n if (this.tooltip) {\r\n tooltiphtml = '';\r\n for (i = 0; i < spcount; i++) {\r\n sp = splist[i];\r\n tooltiphtml += sp.getCurrentRegionTooltip();\r\n }\r\n this.tooltip.setContent(tooltiphtml);\r\n }\r\n if (!this.disableHighlight) {\r\n this.canvas.render();\r\n }\r\n }\r\n if (result === null) {\r\n this.mouseleave();\r\n }\r\n }\r\n });\r\n\r\n\r\n Tooltip = createClass({\r\n sizeStyle: 'position: static !important;' +\r\n 'display: block !important;' +\r\n 'visibility: hidden !important;' +\r\n 'float: left !important;',\r\n\r\n init: function (options) {\r\n var tooltipClassname = options.get('tooltipClassname', 'jqstooltip'),\r\n sizetipStyle = this.sizeStyle,\r\n offset;\r\n this.container = options.get('tooltipContainer') || document.body;\r\n this.tooltipOffsetX = options.get('tooltipOffsetX', 10);\r\n this.tooltipOffsetY = options.get('tooltipOffsetY', 12);\r\n // remove any previous lingering tooltip\r\n $('#jqssizetip').remove();\r\n $('#jqstooltip').remove();\r\n this.sizetip = $('
', {\r\n id: 'jqssizetip',\r\n style: sizetipStyle,\r\n 'class': tooltipClassname\r\n });\r\n this.tooltip = $('
', {\r\n id: 'jqstooltip',\r\n 'class': tooltipClassname\r\n }).appendTo(this.container);\r\n // account for the container's location\r\n offset = this.tooltip.offset();\r\n this.offsetLeft = offset.left;\r\n this.offsetTop = offset.top;\r\n this.hidden = true;\r\n $(window).unbind('resize.jqs scroll.jqs');\r\n $(window).bind('resize.jqs scroll.jqs', $.proxy(this.updateWindowDims, this));\r\n this.updateWindowDims();\r\n },\r\n\r\n updateWindowDims: function () {\r\n this.scrollTop = $(window).scrollTop();\r\n this.scrollLeft = $(window).scrollLeft();\r\n this.scrollRight = this.scrollLeft + $(window).width();\r\n this.updatePosition();\r\n },\r\n\r\n getSize: function (content) {\r\n this.sizetip.html(content).appendTo(this.container);\r\n this.width = this.sizetip.width() + 1;\r\n this.height = this.sizetip.height();\r\n this.sizetip.remove();\r\n },\r\n\r\n setContent: function (content) {\r\n if (!content) {\r\n this.tooltip.css('visibility', 'hidden');\r\n this.hidden = true;\r\n return;\r\n }\r\n this.getSize(content);\r\n this.tooltip.html(content)\r\n .css({\r\n 'width': this.width,\r\n 'height': this.height,\r\n 'visibility': 'visible'\r\n });\r\n if (this.hidden) {\r\n this.hidden = false;\r\n this.updatePosition();\r\n }\r\n },\r\n\r\n updatePosition: function (x, y) {\r\n if (x === undefined) {\r\n if (this.mousex === undefined) {\r\n return;\r\n }\r\n x = this.mousex - this.offsetLeft;\r\n y = this.mousey - this.offsetTop;\r\n\r\n } else {\r\n this.mousex = x = x - this.offsetLeft;\r\n this.mousey = y = y - this.offsetTop;\r\n }\r\n if (!this.height || !this.width || this.hidden) {\r\n return;\r\n }\r\n\r\n y -= this.height + this.tooltipOffsetY;\r\n x += this.tooltipOffsetX;\r\n\r\n if (y < this.scrollTop) {\r\n y = this.scrollTop;\r\n }\r\n if (x < this.scrollLeft) {\r\n x = this.scrollLeft;\r\n } else if (x + this.width > this.scrollRight) {\r\n x = this.scrollRight - this.width;\r\n }\r\n\r\n this.tooltip.css({\r\n 'left': x,\r\n 'top': y\r\n });\r\n },\r\n\r\n remove: function () {\r\n this.tooltip.remove();\r\n this.sizetip.remove();\r\n this.sizetip = this.tooltip = undefined;\r\n $(window).unbind('resize.jqs scroll.jqs');\r\n }\r\n });\r\n\r\n initStyles = function() {\r\n addCSS(defaultStyles);\r\n };\r\n\r\n $(initStyles);\r\n\r\n pending = [];\r\n $.fn.sparkline = function (userValues, userOptions) {\r\n return this.each(function () {\r\n var options = new $.fn.sparkline.options(this, userOptions),\r\n $this = $(this),\r\n render, i;\r\n render = function () {\r\n var values, width, height, tmp, mhandler, sp, vals;\r\n if (userValues === 'html' || userValues === undefined) {\r\n vals = this.getAttribute(options.get('tagValuesAttribute'));\r\n if (vals === undefined || vals === null) {\r\n vals = $this.html();\r\n }\r\n values = vals.replace(/(^\\s*\\s*$)|\\s+/g, '').split(',');\r\n } else {\r\n values = userValues;\r\n }\r\n\r\n width = options.get('width') === 'auto' ? values.length * options.get('defaultPixelsPerValue') : options.get('width');\r\n if (options.get('height') === 'auto') {\r\n if (!options.get('composite') || !$.data(this, '_jqs_vcanvas')) {\r\n // must be a better way to get the line height\r\n tmp = document.createElement('span');\r\n tmp.innerHTML = 'a';\r\n $this.html(tmp);\r\n height = $(tmp).innerHeight() || $(tmp).height();\r\n $(tmp).remove();\r\n tmp = null;\r\n }\r\n } else {\r\n height = options.get('height');\r\n }\r\n\r\n if (!options.get('disableInteraction')) {\r\n mhandler = $.data(this, '_jqs_mhandler');\r\n if (!mhandler) {\r\n mhandler = new MouseHandler(this, options);\r\n $.data(this, '_jqs_mhandler', mhandler);\r\n } else if (!options.get('composite')) {\r\n mhandler.reset();\r\n }\r\n } else {\r\n mhandler = false;\r\n }\r\n\r\n if (options.get('composite') && !$.data(this, '_jqs_vcanvas')) {\r\n if (!$.data(this, '_jqs_errnotify')) {\r\n alert('Attempted to attach a composite sparkline to an element with no existing sparkline');\r\n $.data(this, '_jqs_errnotify', true);\r\n }\r\n return;\r\n }\r\n\r\n sp = new $.fn.sparkline[options.get('type')](this, values, options, width, height);\r\n\r\n sp.render();\r\n\r\n if (mhandler) {\r\n mhandler.registerSparkline(sp);\r\n }\r\n };\r\n if (($(this).html() && !options.get('disableHiddenCheck') && $(this).is(':hidden')) || !$(this).parents('body').length) {\r\n if (!options.get('composite') && $.data(this, '_jqs_pending')) {\r\n // remove any existing references to the element\r\n for (i = pending.length; i; i--) {\r\n if (pending[i - 1][0] == this) {\r\n pending.splice(i - 1, 1);\r\n }\r\n }\r\n }\r\n pending.push([this, render]);\r\n $.data(this, '_jqs_pending', true);\r\n } else {\r\n render.call(this);\r\n }\r\n });\r\n };\r\n\r\n $.fn.sparkline.defaults = getDefaults();\r\n\r\n\r\n $.sparkline_display_visible = function () {\r\n var el, i, pl;\r\n var done = [];\r\n for (i = 0, pl = pending.length; i < pl; i++) {\r\n el = pending[i][0];\r\n if ($(el).is(':visible') && !$(el).parents().is(':hidden')) {\r\n pending[i][1].call(el);\r\n $.data(pending[i][0], '_jqs_pending', false);\r\n done.push(i);\r\n } else if (!$(el).closest('html').length && !$.data(el, '_jqs_pending')) {\r\n // element has been inserted and removed from the DOM\r\n // If it was not yet inserted into the dom then the .data request\r\n // will return true.\r\n // removing from the dom causes the data to be removed.\r\n $.data(pending[i][0], '_jqs_pending', false);\r\n done.push(i);\r\n }\r\n }\r\n for (i = done.length; i; i--) {\r\n pending.splice(done[i - 1], 1);\r\n }\r\n };\r\n\r\n\r\n /**\r\n * User option handler\r\n */\r\n $.fn.sparkline.options = createClass({\r\n init: function (tag, userOptions) {\r\n var extendedOptions, defaults, base, tagOptionType;\r\n this.userOptions = userOptions = userOptions || {};\r\n this.tag = tag;\r\n this.tagValCache = {};\r\n defaults = $.fn.sparkline.defaults;\r\n base = defaults.common;\r\n this.tagOptionsPrefix = userOptions.enableTagOptions && (userOptions.tagOptionsPrefix || base.tagOptionsPrefix);\r\n\r\n tagOptionType = this.getTagSetting('type');\r\n if (tagOptionType === UNSET_OPTION) {\r\n extendedOptions = defaults[userOptions.type || base.type];\r\n } else {\r\n extendedOptions = defaults[tagOptionType];\r\n }\r\n this.mergedOptions = $.extend({}, base, extendedOptions, userOptions);\r\n },\r\n\r\n\r\n getTagSetting: function (key) {\r\n var prefix = this.tagOptionsPrefix,\r\n val, i, pairs, keyval;\r\n if (prefix === false || prefix === undefined) {\r\n return UNSET_OPTION;\r\n }\r\n // eslint-disable-next-line no-prototype-builtins\r\n if (this.tagValCache.hasOwnProperty(key)) {\r\n val = this.tagValCache.key;\r\n } else {\r\n val = this.tag.getAttribute(prefix + key);\r\n if (val === undefined || val === null) {\r\n val = UNSET_OPTION;\r\n } else if (val.substr(0, 1) === '[') {\r\n val = val.substr(1, val.length - 2).split(',');\r\n for (i = val.length; i--;) {\r\n val[i] = normalizeValue(val[i].replace(/(^\\s*)|(\\s*$)/g, ''));\r\n }\r\n } else if (val.substr(0, 1) === '{') {\r\n pairs = val.substr(1, val.length - 2).split(',');\r\n val = {};\r\n for (i = pairs.length; i--;) {\r\n keyval = pairs[i].split(':', 2);\r\n val[keyval[0].replace(/(^\\s*)|(\\s*$)/g, '')] = normalizeValue(keyval[1].replace(/(^\\s*)|(\\s*$)/g, ''));\r\n }\r\n } else {\r\n val = normalizeValue(val);\r\n }\r\n this.tagValCache.key = val;\r\n }\r\n return val;\r\n },\r\n\r\n get: function (key, defaultval) {\r\n var tagOption = this.getTagSetting(key),\r\n result;\r\n if (tagOption !== UNSET_OPTION) {\r\n return tagOption;\r\n }\r\n return (result = this.mergedOptions[key]) === undefined ? defaultval : result;\r\n }\r\n });\r\n\r\n\r\n $.fn.sparkline._base = createClass({\r\n disabled: false,\r\n\r\n init: function (el, values, options, width, height) {\r\n this.el = el;\r\n this.$el = $(el);\r\n this.values = values;\r\n this.options = options;\r\n this.width = width;\r\n this.height = height;\r\n this.currentRegion = undefined;\r\n },\r\n\r\n /**\r\n * Setup the canvas\r\n */\r\n initTarget: function () {\r\n var interactive = !this.options.get('disableInteraction');\r\n if (!(this.target = this.$el.simpledraw(this.width, this.height, this.options.get('composite'), interactive))) {\r\n this.disabled = true;\r\n } else {\r\n this.canvasWidth = this.target.pixelWidth;\r\n this.canvasHeight = this.target.pixelHeight;\r\n }\r\n },\r\n\r\n /**\r\n * Actually render the chart to the canvas\r\n */\r\n render: function () {\r\n if (this.disabled) {\r\n this.el.innerHTML = '';\r\n return false;\r\n }\r\n return true;\r\n },\r\n\r\n /**\r\n * Return a region id for a given x/y co-ordinate\r\n */\r\n getRegion: function (x, y) {\r\n },\r\n\r\n /**\r\n * Highlight an item based on the moused-over x,y co-ordinate\r\n */\r\n setRegionHighlight: function (el, x, y) {\r\n var currentRegion = this.currentRegion,\r\n highlightEnabled = !this.options.get('disableHighlight'),\r\n newRegion;\r\n if (x > this.canvasWidth || y > this.canvasHeight || x < 0 || y < 0) {\r\n return null;\r\n }\r\n newRegion = this.getRegion(el, x, y);\r\n if (currentRegion !== newRegion) {\r\n if (currentRegion !== undefined && highlightEnabled) {\r\n this.removeHighlight();\r\n }\r\n this.currentRegion = newRegion;\r\n if (newRegion !== undefined && highlightEnabled) {\r\n this.renderHighlight();\r\n }\r\n return true;\r\n }\r\n return false;\r\n },\r\n\r\n /**\r\n * Reset any currently highlighted item\r\n */\r\n clearRegionHighlight: function () {\r\n if (this.currentRegion !== undefined) {\r\n this.removeHighlight();\r\n this.currentRegion = undefined;\r\n return true;\r\n }\r\n return false;\r\n },\r\n\r\n renderHighlight: function () {\r\n this.changeHighlight(true);\r\n },\r\n\r\n removeHighlight: function () {\r\n this.changeHighlight(false);\r\n },\r\n\r\n changeHighlight: function (highlight) {},\r\n\r\n /**\r\n * Fetch the HTML to display as a tooltip\r\n */\r\n getCurrentRegionTooltip: function () {\r\n var options = this.options,\r\n header = '',\r\n entries = [],\r\n fields, formats, formatlen, fclass, text, i,\r\n showFields, showFieldsKey, newFields, fv,\r\n formatter, format, fieldlen, j;\r\n if (this.currentRegion === undefined) {\r\n return '';\r\n }\r\n fields = this.getCurrentRegionFields();\r\n formatter = options.get('tooltipFormatter');\r\n if (formatter) {\r\n return formatter(this, options, fields);\r\n }\r\n if (options.get('tooltipChartTitle')) {\r\n header += '
' + options.get('tooltipChartTitle') + '
\\n';\r\n }\r\n formats = this.options.get('tooltipFormat');\r\n if (!formats) {\r\n return '';\r\n }\r\n if (!$.isArray(formats)) {\r\n formats = [formats];\r\n }\r\n if (!$.isArray(fields)) {\r\n fields = [fields];\r\n }\r\n showFields = this.options.get('tooltipFormatFieldlist');\r\n showFieldsKey = this.options.get('tooltipFormatFieldlistKey');\r\n if (showFields && showFieldsKey) {\r\n // user-selected ordering of fields\r\n newFields = [];\r\n for (i = fields.length; i--;) {\r\n fv = fields[i][showFieldsKey];\r\n if ((j = $.inArray(fv, showFields)) != -1) {\r\n newFields[j] = fields[i];\r\n }\r\n }\r\n fields = newFields;\r\n }\r\n formatlen = formats.length;\r\n fieldlen = fields.length;\r\n for (i = 0; i < formatlen; i++) {\r\n format = formats[i];\r\n if (typeof format === 'string') {\r\n format = new SPFormat(format);\r\n }\r\n fclass = format.fclass || 'jqsfield';\r\n for (j = 0; j < fieldlen; j++) {\r\n if (!fields[j].isNull || !options.get('tooltipSkipNull')) {\r\n $.extend(fields[j], {\r\n prefix: options.get('tooltipPrefix'),\r\n suffix: options.get('tooltipSuffix')\r\n });\r\n text = format.render(fields[j], options.get('tooltipValueLookups'), options);\r\n entries.push('
' + text + '
');\r\n }\r\n }\r\n }\r\n if (entries.length) {\r\n return header + entries.join('\\n');\r\n }\r\n return '';\r\n },\r\n\r\n getCurrentRegionFields: function () {},\r\n\r\n calcHighlightColor: function (color, options) {\r\n var highlightColor = options.get('highlightColor'),\r\n lighten = options.get('highlightLighten'),\r\n parse, mult, rgbnew, i;\r\n if (highlightColor) {\r\n return highlightColor;\r\n }\r\n if (lighten) {\r\n // extract RGB values\r\n parse = /^#([0-9a-f])([0-9a-f])([0-9a-f])$/i.exec(color) || /^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i.exec(color);\r\n if (parse) {\r\n rgbnew = [];\r\n mult = color.length === 4 ? 16 : 1;\r\n for (i = 0; i < 3; i++) {\r\n rgbnew[i] = clipval(Math.round(parseInt(parse[i + 1], 16) * mult * lighten), 0, 255);\r\n }\r\n return 'rgb(' + rgbnew.join(',') + ')';\r\n }\r\n\r\n }\r\n return color;\r\n }\r\n\r\n });\r\n\r\n barHighlightMixin = {\r\n changeHighlight: function (highlight) {\r\n var currentRegion = this.currentRegion,\r\n target = this.target,\r\n shapeids = this.regionShapes[currentRegion],\r\n newShapes;\r\n // will be null if the region value was null\r\n if (shapeids) {\r\n newShapes = this.renderRegion(currentRegion, highlight);\r\n if ($.isArray(newShapes) || $.isArray(shapeids)) {\r\n target.replaceWithShapes(shapeids, newShapes);\r\n this.regionShapes[currentRegion] = $.map(newShapes, function (newShape) {\r\n return newShape.id;\r\n });\r\n } else {\r\n target.replaceWithShape(shapeids, newShapes);\r\n this.regionShapes[currentRegion] = newShapes.id;\r\n }\r\n }\r\n },\r\n\r\n render: function () {\r\n var values = this.values,\r\n target = this.target,\r\n regionShapes = this.regionShapes,\r\n shapes, ids, i, j;\r\n\r\n if (!this.cls._super.render.call(this)) {\r\n return;\r\n }\r\n for (i = values.length; i--;) {\r\n shapes = this.renderRegion(i);\r\n if (shapes) {\r\n if ($.isArray(shapes)) {\r\n ids = [];\r\n for (j = shapes.length; j--;) {\r\n shapes[j].append();\r\n ids.push(shapes[j].id);\r\n }\r\n regionShapes[i] = ids;\r\n } else {\r\n shapes.append();\r\n regionShapes[i] = shapes.id; // store just the shapeid\r\n }\r\n } else {\r\n // null value\r\n regionShapes[i] = null;\r\n }\r\n }\r\n target.render();\r\n }\r\n };\r\n\r\n /**\r\n * Line charts\r\n */\r\n $.fn.sparkline.line = line = createClass($.fn.sparkline._base, {\r\n type: 'line',\r\n\r\n init: function (el, values, options, width, height) {\r\n line._super.init.call(this, el, values, options, width, height);\r\n this.vertices = [];\r\n this.regionMap = [];\r\n this.xvalues = [];\r\n this.yvalues = [];\r\n this.yminmax = [];\r\n this.hightlightSpotId = null;\r\n this.lastShapeId = null;\r\n this.initTarget();\r\n },\r\n\r\n getRegion: function (el, x, y) {\r\n var i,\r\n regionMap = this.regionMap; // maps regions to value positions\r\n for (i = regionMap.length; i--;) {\r\n if (regionMap[i] !== null && x >= regionMap[i][0] && x <= regionMap[i][1]) {\r\n return regionMap[i][2];\r\n }\r\n }\r\n return undefined;\r\n },\r\n\r\n getCurrentRegionFields: function () {\r\n var currentRegion = this.currentRegion;\r\n return {\r\n isNull: this.yvalues[currentRegion] === null,\r\n x: this.xvalues[currentRegion],\r\n y: this.yvalues[currentRegion],\r\n color: this.options.get('lineColor'),\r\n fillColor: this.options.get('fillColor'),\r\n offset: currentRegion\r\n };\r\n },\r\n\r\n renderHighlight: function () {\r\n var currentRegion = this.currentRegion,\r\n target = this.target,\r\n vertex = this.vertices[currentRegion],\r\n options = this.options,\r\n spotRadius = options.get('spotRadius'),\r\n highlightSpotColor = options.get('highlightSpotColor'),\r\n highlightLineColor = options.get('highlightLineColor'),\r\n highlightSpot, highlightLine;\r\n\r\n if (!vertex) {\r\n return;\r\n }\r\n if (spotRadius && highlightSpotColor) {\r\n highlightSpot = target.drawCircle(vertex[0], vertex[1],\r\n spotRadius, undefined, highlightSpotColor);\r\n this.highlightSpotId = highlightSpot.id;\r\n target.insertAfterShape(this.lastShapeId, highlightSpot);\r\n }\r\n if (highlightLineColor) {\r\n highlightLine = target.drawLine(vertex[0], this.canvasTop, vertex[0],\r\n this.canvasTop + this.canvasHeight, highlightLineColor);\r\n this.highlightLineId = highlightLine.id;\r\n target.insertAfterShape(this.lastShapeId, highlightLine);\r\n }\r\n },\r\n\r\n removeHighlight: function () {\r\n var target = this.target;\r\n if (this.highlightSpotId) {\r\n target.removeShapeId(this.highlightSpotId);\r\n this.highlightSpotId = null;\r\n }\r\n if (this.highlightLineId) {\r\n target.removeShapeId(this.highlightLineId);\r\n this.highlightLineId = null;\r\n }\r\n },\r\n\r\n scanValues: function () {\r\n var values = this.values,\r\n valcount = values.length,\r\n xvalues = this.xvalues,\r\n yvalues = this.yvalues,\r\n yminmax = this.yminmax,\r\n i, val, isStr, isArray, sp;\r\n for (i = 0; i < valcount; i++) {\r\n val = values[i];\r\n isStr = typeof(values[i]) === 'string';\r\n isArray = typeof(values[i]) === 'object' && values[i] instanceof Array;\r\n sp = isStr && values[i].split(':');\r\n if (isStr && sp.length === 2) { // x:y\r\n xvalues.push(Number(sp[0]));\r\n yvalues.push(Number(sp[1]));\r\n yminmax.push(Number(sp[1]));\r\n } else if (isArray) {\r\n xvalues.push(val[0]);\r\n yvalues.push(val[1]);\r\n yminmax.push(val[1]);\r\n } else {\r\n xvalues.push(i);\r\n if (values[i] === null || values[i] === 'null') {\r\n yvalues.push(null);\r\n } else {\r\n yvalues.push(Number(val));\r\n yminmax.push(Number(val));\r\n }\r\n }\r\n }\r\n if (this.options.get('xvalues')) {\r\n xvalues = this.options.get('xvalues');\r\n }\r\n\r\n this.maxy = this.maxyorg = Math.max.apply(Math, yminmax);\r\n this.miny = this.minyorg = Math.min.apply(Math, yminmax);\r\n\r\n this.maxx = Math.max.apply(Math, xvalues);\r\n this.minx = Math.min.apply(Math, xvalues);\r\n\r\n this.xvalues = xvalues;\r\n this.yvalues = yvalues;\r\n this.yminmax = yminmax;\r\n\r\n },\r\n\r\n processRangeOptions: function () {\r\n var options = this.options,\r\n normalRangeMin = options.get('normalRangeMin'),\r\n normalRangeMax = options.get('normalRangeMax');\r\n\r\n if (normalRangeMin !== undefined) {\r\n if (normalRangeMin < this.miny) {\r\n this.miny = normalRangeMin;\r\n }\r\n if (normalRangeMax > this.maxy) {\r\n this.maxy = normalRangeMax;\r\n }\r\n }\r\n if (options.get('chartRangeMin') !== undefined && (options.get('chartRangeClip') || options.get('chartRangeMin') < this.miny)) {\r\n this.miny = options.get('chartRangeMin');\r\n }\r\n if (options.get('chartRangeMax') !== undefined && (options.get('chartRangeClip') || options.get('chartRangeMax') > this.maxy)) {\r\n this.maxy = options.get('chartRangeMax');\r\n }\r\n if (options.get('chartRangeMinX') !== undefined && (options.get('chartRangeClipX') || options.get('chartRangeMinX') < this.minx)) {\r\n this.minx = options.get('chartRangeMinX');\r\n }\r\n if (options.get('chartRangeMaxX') !== undefined && (options.get('chartRangeClipX') || options.get('chartRangeMaxX') > this.maxx)) {\r\n this.maxx = options.get('chartRangeMaxX');\r\n }\r\n\r\n },\r\n\r\n drawNormalRange: function (canvasLeft, canvasTop, canvasHeight, canvasWidth, rangey) {\r\n var normalRangeMin = this.options.get('normalRangeMin'),\r\n normalRangeMax = this.options.get('normalRangeMax'),\r\n ytop = canvasTop + Math.round(canvasHeight - (canvasHeight * ((normalRangeMax - this.miny) / rangey))),\r\n height = Math.round((canvasHeight * (normalRangeMax - normalRangeMin)) / rangey);\r\n this.target.drawRect(canvasLeft, ytop, canvasWidth, height, undefined, this.options.get('normalRangeColor')).append();\r\n },\r\n\r\n render: function () {\r\n var options = this.options,\r\n target = this.target,\r\n canvasWidth = this.canvasWidth,\r\n canvasHeight = this.canvasHeight,\r\n vertices = this.vertices,\r\n spotRadius = options.get('spotRadius'),\r\n regionMap = this.regionMap,\r\n rangex, rangey, yvallast,\r\n canvasTop, canvasLeft,\r\n vertex, path, paths, x, y, xnext, xpos, xposnext,\r\n last, next, yvalcount, lineShapes, fillShapes, plen,\r\n valueSpots, hlSpotsEnabled, color, xvalues, yvalues, i;\r\n\r\n if (!line._super.render.call(this)) {\r\n return;\r\n }\r\n\r\n this.scanValues();\r\n this.processRangeOptions();\r\n\r\n xvalues = this.xvalues;\r\n yvalues = this.yvalues;\r\n\r\n if (!this.yminmax.length || this.yvalues.length < 2) {\r\n // empty or all null valuess\r\n return;\r\n }\r\n\r\n canvasTop = canvasLeft = 0;\r\n\r\n rangex = this.maxx - this.minx === 0 ? 1 : this.maxx - this.minx;\r\n rangey = this.maxy - this.miny === 0 ? 1 : this.maxy - this.miny;\r\n yvallast = this.yvalues.length - 1;\r\n\r\n if (spotRadius && (canvasWidth < (spotRadius * 4) || canvasHeight < (spotRadius * 4))) {\r\n spotRadius = 0;\r\n }\r\n if (spotRadius) {\r\n // adjust the canvas size as required so that spots will fit\r\n hlSpotsEnabled = options.get('highlightSpotColor') && !options.get('disableInteraction');\r\n if (hlSpotsEnabled || options.get('minSpotColor') || (options.get('spotColor') && yvalues[yvallast] === this.miny)) {\r\n canvasHeight -= Math.ceil(spotRadius);\r\n }\r\n if (hlSpotsEnabled || options.get('maxSpotColor') || (options.get('spotColor') && yvalues[yvallast] === this.maxy)) {\r\n canvasHeight -= Math.ceil(spotRadius);\r\n canvasTop += Math.ceil(spotRadius);\r\n }\r\n if (hlSpotsEnabled ||\r\n ((options.get('minSpotColor') || options.get('maxSpotColor')) && (yvalues[0] === this.miny || yvalues[0] === this.maxy))) {\r\n canvasLeft += Math.ceil(spotRadius);\r\n canvasWidth -= Math.ceil(spotRadius);\r\n }\r\n if (hlSpotsEnabled || options.get('spotColor') ||\r\n (options.get('minSpotColor') || options.get('maxSpotColor') &&\r\n (yvalues[yvallast] === this.miny || yvalues[yvallast] === this.maxy))) {\r\n canvasWidth -= Math.ceil(spotRadius);\r\n }\r\n }\r\n\r\n\r\n canvasHeight--;\r\n\r\n if (options.get('normalRangeMin') !== undefined && !options.get('drawNormalOnTop')) {\r\n this.drawNormalRange(canvasLeft, canvasTop, canvasHeight, canvasWidth, rangey);\r\n }\r\n\r\n path = [];\r\n paths = [path];\r\n last = next = null;\r\n yvalcount = yvalues.length;\r\n for (i = 0; i < yvalcount; i++) {\r\n x = xvalues[i];\r\n xnext = xvalues[i + 1];\r\n y = yvalues[i];\r\n xpos = canvasLeft + Math.round((x - this.minx) * (canvasWidth / rangex));\r\n xposnext = i < yvalcount - 1 ? canvasLeft + Math.round((xnext - this.minx) * (canvasWidth / rangex)) : canvasWidth;\r\n next = xpos + ((xposnext - xpos) / 2);\r\n regionMap[i] = [last || 0, next, i];\r\n last = next;\r\n if (y === null) {\r\n if (i) {\r\n if (yvalues[i - 1] !== null) {\r\n path = [];\r\n paths.push(path);\r\n }\r\n vertices.push(null);\r\n }\r\n } else {\r\n if (y < this.miny) {\r\n y = this.miny;\r\n }\r\n if (y > this.maxy) {\r\n y = this.maxy;\r\n }\r\n if (!path.length) {\r\n // previous value was null\r\n path.push([xpos, canvasTop + canvasHeight]);\r\n }\r\n vertex = [xpos, canvasTop + Math.round(canvasHeight - (canvasHeight * ((y - this.miny) / rangey)))];\r\n path.push(vertex);\r\n vertices.push(vertex);\r\n }\r\n }\r\n\r\n lineShapes = [];\r\n fillShapes = [];\r\n plen = paths.length;\r\n for (i = 0; i < plen; i++) {\r\n path = paths[i];\r\n if (path.length) {\r\n if (options.get('fillColor')) {\r\n path.push([path[path.length - 1][0], (canvasTop + canvasHeight)]);\r\n fillShapes.push(path.slice(0));\r\n path.pop();\r\n }\r\n // if there's only a single point in this path, then we want to display it\r\n // as a vertical line which means we keep path[0] as is\r\n if (path.length > 2) {\r\n // else we want the first value\r\n path[0] = [path[0][0], path[1][1]];\r\n }\r\n lineShapes.push(path);\r\n }\r\n }\r\n\r\n // draw the fill first, then optionally the normal range, then the line on top of that\r\n plen = fillShapes.length;\r\n for (i = 0; i < plen; i++) {\r\n target.drawShape(fillShapes[i],\r\n options.get('fillColor'), options.get('fillColor')).append();\r\n }\r\n\r\n if (options.get('normalRangeMin') !== undefined && options.get('drawNormalOnTop')) {\r\n this.drawNormalRange(canvasLeft, canvasTop, canvasHeight, canvasWidth, rangey);\r\n }\r\n\r\n plen = lineShapes.length;\r\n for (i = 0; i < plen; i++) {\r\n target.drawShape(lineShapes[i], options.get('lineColor'), undefined,\r\n options.get('lineWidth')).append();\r\n }\r\n\r\n if (spotRadius && options.get('valueSpots')) {\r\n valueSpots = options.get('valueSpots');\r\n if (valueSpots.get === undefined) {\r\n valueSpots = new RangeMap(valueSpots);\r\n }\r\n for (i = 0; i < yvalcount; i++) {\r\n color = valueSpots.get(yvalues[i]);\r\n if (color) {\r\n target.drawCircle(canvasLeft + Math.round((xvalues[i] - this.minx) * (canvasWidth / rangex)),\r\n canvasTop + Math.round(canvasHeight - (canvasHeight * ((yvalues[i] - this.miny) / rangey))),\r\n spotRadius, undefined,\r\n color).append();\r\n }\r\n }\r\n\r\n }\r\n if (spotRadius && options.get('spotColor') && yvalues[yvallast] !== null) {\r\n target.drawCircle(canvasLeft + Math.round((xvalues[xvalues.length - 1] - this.minx) * (canvasWidth / rangex)),\r\n canvasTop + Math.round(canvasHeight - (canvasHeight * ((yvalues[yvallast] - this.miny) / rangey))),\r\n spotRadius, undefined,\r\n options.get('spotColor')).append();\r\n }\r\n if (this.maxy !== this.minyorg) {\r\n if (spotRadius && options.get('minSpotColor')) {\r\n x = xvalues[$.inArray(this.minyorg, yvalues)];\r\n target.drawCircle(canvasLeft + Math.round((x - this.minx) * (canvasWidth / rangex)),\r\n canvasTop + Math.round(canvasHeight - (canvasHeight * ((this.minyorg - this.miny) / rangey))),\r\n spotRadius, undefined,\r\n options.get('minSpotColor')).append();\r\n }\r\n if (spotRadius && options.get('maxSpotColor')) {\r\n x = xvalues[$.inArray(this.maxyorg, yvalues)];\r\n target.drawCircle(canvasLeft + Math.round((x - this.minx) * (canvasWidth / rangex)),\r\n canvasTop + Math.round(canvasHeight - (canvasHeight * ((this.maxyorg - this.miny) / rangey))),\r\n spotRadius, undefined,\r\n options.get('maxSpotColor')).append();\r\n }\r\n }\r\n\r\n this.lastShapeId = target.getLastShapeId();\r\n this.canvasTop = canvasTop;\r\n target.render();\r\n }\r\n });\r\n\r\n /**\r\n * Bar charts\r\n */\r\n $.fn.sparkline.bar = bar = createClass($.fn.sparkline._base, barHighlightMixin, {\r\n type: 'bar',\r\n\r\n init: function (el, values, options, width, height) {\r\n var barWidth = parseInt(options.get('barWidth'), 10),\r\n barSpacing = parseInt(options.get('barSpacing'), 10),\r\n chartRangeMin = options.get('chartRangeMin'),\r\n chartRangeMax = options.get('chartRangeMax'),\r\n chartRangeClip = options.get('chartRangeClip'),\r\n stackMin = Infinity,\r\n stackMax = -Infinity,\r\n isStackString, groupMin, groupMax, stackRanges,\r\n numValues, i, vlen, range, zeroAxis, xaxisOffset, min, max, clipMin, clipMax,\r\n stacked, vlist, j, slen, svals, val, yoffset, yMaxCalc, canvasHeightEf;\r\n bar._super.init.call(this, el, values, options, width, height);\r\n\r\n // scan values to determine whether to stack bars\r\n for (i = 0, vlen = values.length; i < vlen; i++) {\r\n val = values[i];\r\n isStackString = typeof(val) === 'string' && val.indexOf(':') > -1;\r\n if (isStackString || $.isArray(val)) {\r\n stacked = true;\r\n if (isStackString) {\r\n val = values[i] = normalizeValues(val.split(':'));\r\n }\r\n val = remove(val, null); // min/max will treat null as zero\r\n groupMin = Math.min.apply(Math, val);\r\n groupMax = Math.max.apply(Math, val);\r\n if (groupMin < stackMin) {\r\n stackMin = groupMin;\r\n }\r\n if (groupMax > stackMax) {\r\n stackMax = groupMax;\r\n }\r\n }\r\n }\r\n\r\n this.stacked = stacked;\r\n this.regionShapes = {};\r\n this.barWidth = barWidth;\r\n this.barSpacing = barSpacing;\r\n this.totalBarWidth = barWidth + barSpacing;\r\n this.width = width = (values.length * barWidth) + ((values.length - 1) * barSpacing);\r\n\r\n this.initTarget();\r\n\r\n if (chartRangeClip) {\r\n clipMin = chartRangeMin === undefined ? -Infinity : chartRangeMin;\r\n clipMax = chartRangeMax === undefined ? Infinity : chartRangeMax;\r\n }\r\n\r\n numValues = [];\r\n stackRanges = stacked ? [] : numValues;\r\n var stackTotals = [];\r\n var stackRangesNeg = [];\r\n for (i = 0, vlen = values.length; i < vlen; i++) {\r\n if (stacked) {\r\n vlist = values[i];\r\n values[i] = svals = [];\r\n stackTotals[i] = 0;\r\n stackRanges[i] = stackRangesNeg[i] = 0;\r\n for (j = 0, slen = vlist.length; j < slen; j++) {\r\n val = svals[j] = chartRangeClip ? clipval(vlist[j], clipMin, clipMax) : vlist[j];\r\n if (val !== null) {\r\n if (val > 0) {\r\n stackTotals[i] += val;\r\n }\r\n if (stackMin < 0 && stackMax > 0) {\r\n if (val < 0) {\r\n stackRangesNeg[i] += Math.abs(val);\r\n } else {\r\n stackRanges[i] += val;\r\n }\r\n } else {\r\n stackRanges[i] += Math.abs(val - (val < 0 ? stackMax : stackMin));\r\n }\r\n numValues.push(val);\r\n }\r\n }\r\n } else {\r\n val = chartRangeClip ? clipval(values[i], clipMin, clipMax) : values[i];\r\n val = values[i] = normalizeValue(val);\r\n if (val !== null) {\r\n numValues.push(val);\r\n }\r\n }\r\n }\r\n this.max = max = Math.max.apply(Math, numValues);\r\n this.min = min = Math.min.apply(Math, numValues);\r\n this.stackMax = stackMax = stacked ? Math.max.apply(Math, stackTotals) : max;\r\n this.stackMin = stackMin = stacked ? Math.min.apply(Math, numValues) : min;\r\n\r\n if (options.get('chartRangeMin') !== undefined && (options.get('chartRangeClip') || options.get('chartRangeMin') < min)) {\r\n min = options.get('chartRangeMin');\r\n }\r\n if (options.get('chartRangeMax') !== undefined && (options.get('chartRangeClip') || options.get('chartRangeMax') > max)) {\r\n max = options.get('chartRangeMax');\r\n }\r\n\r\n this.zeroAxis = zeroAxis = options.get('zeroAxis', true);\r\n if (min <= 0 && max >= 0 && zeroAxis) {\r\n xaxisOffset = 0;\r\n } else if (zeroAxis == false) {\r\n xaxisOffset = min;\r\n } else if (min > 0) {\r\n xaxisOffset = min;\r\n } else {\r\n xaxisOffset = max;\r\n }\r\n this.xaxisOffset = xaxisOffset;\r\n\r\n range = stacked ? (Math.max.apply(Math, stackRanges) + Math.max.apply(Math, stackRangesNeg)) : max - min;\r\n\r\n // as we plot zero/min values a single pixel line, we add a pixel to all other\r\n // values - Reduce the effective canvas size to suit\r\n this.canvasHeightEf = (zeroAxis && min < 0) ? this.canvasHeight - 2 : this.canvasHeight - 1;\r\n\r\n if (min < xaxisOffset) {\r\n yMaxCalc = (stacked && max >= 0) ? stackMax : max;\r\n yoffset = (yMaxCalc - xaxisOffset) / range * this.canvasHeight;\r\n if (yoffset !== Math.ceil(yoffset)) {\r\n this.canvasHeightEf -= 2;\r\n yoffset = Math.ceil(yoffset);\r\n }\r\n } else {\r\n yoffset = this.canvasHeight;\r\n }\r\n this.yoffset = yoffset;\r\n\r\n if ($.isArray(options.get('colorMap'))) {\r\n this.colorMapByIndex = options.get('colorMap');\r\n this.colorMapByValue = null;\r\n } else {\r\n this.colorMapByIndex = null;\r\n this.colorMapByValue = options.get('colorMap');\r\n if (this.colorMapByValue && this.colorMapByValue.get === undefined) {\r\n this.colorMapByValue = new RangeMap(this.colorMapByValue);\r\n }\r\n }\r\n\r\n this.range = range;\r\n },\r\n\r\n getRegion: function (el, x, y) {\r\n var result = Math.floor(x / this.totalBarWidth);\r\n return (result < 0 || result >= this.values.length) ? undefined : result;\r\n },\r\n\r\n getCurrentRegionFields: function () {\r\n var currentRegion = this.currentRegion,\r\n values = ensureArray(this.values[currentRegion]),\r\n result = [],\r\n value, i;\r\n for (i = values.length; i--;) {\r\n value = values[i];\r\n result.push({\r\n isNull: value === null,\r\n value: value,\r\n color: this.calcColor(i, value, currentRegion),\r\n offset: currentRegion\r\n });\r\n }\r\n return result;\r\n },\r\n\r\n calcColor: function (stacknum, value, valuenum) {\r\n var colorMapByIndex = this.colorMapByIndex,\r\n colorMapByValue = this.colorMapByValue,\r\n options = this.options,\r\n color, newColor;\r\n if (this.stacked) {\r\n color = options.get('stackedBarColor');\r\n } else {\r\n color = (value < 0) ? options.get('negBarColor') : options.get('barColor');\r\n }\r\n if (value === 0 && options.get('zeroColor') !== undefined) {\r\n color = options.get('zeroColor');\r\n }\r\n if (colorMapByValue && (newColor = colorMapByValue.get(value))) {\r\n color = newColor;\r\n } else if (colorMapByIndex && colorMapByIndex.length > valuenum) {\r\n color = colorMapByIndex[valuenum];\r\n }\r\n return $.isArray(color) ? color[stacknum % color.length] : color;\r\n },\r\n\r\n /**\r\n * Render bar(s) for a region\r\n */\r\n renderRegion: function (valuenum, highlight) {\r\n var vals = this.values[valuenum],\r\n options = this.options,\r\n xaxisOffset = this.xaxisOffset,\r\n result = [],\r\n range = this.range,\r\n stacked = this.stacked,\r\n target = this.target,\r\n x = valuenum * this.totalBarWidth,\r\n canvasHeightEf = this.canvasHeightEf,\r\n yoffset = this.yoffset,\r\n y, height, color, isNull, yoffsetNeg, i, valcount, val, minPlotted, allMin;\r\n\r\n vals = $.isArray(vals) ? vals : [vals];\r\n valcount = vals.length;\r\n val = vals[0];\r\n isNull = all(null, vals);\r\n allMin = all(xaxisOffset, vals, true);\r\n\r\n if (isNull) {\r\n if (options.get('nullColor')) {\r\n color = highlight ? options.get('nullColor') : this.calcHighlightColor(options.get('nullColor'), options);\r\n y = (yoffset > 0) ? yoffset - 1 : yoffset;\r\n return target.drawRect(x, y, this.barWidth - 1, 0, color, color);\r\n } else {\r\n return undefined;\r\n }\r\n }\r\n yoffsetNeg = yoffset;\r\n for (i = 0; i < valcount; i++) {\r\n val = vals[i];\r\n\r\n if (stacked && val === xaxisOffset) {\r\n if (!allMin || minPlotted) {\r\n continue;\r\n }\r\n minPlotted = true;\r\n }\r\n\r\n if (range > 0) {\r\n height = Math.floor(canvasHeightEf * ((Math.abs(val - xaxisOffset) / range))) + 1;\r\n } else {\r\n height = 1;\r\n }\r\n if (val < xaxisOffset || (val === xaxisOffset && yoffset === 0)) {\r\n y = yoffsetNeg;\r\n yoffsetNeg += height;\r\n } else {\r\n y = yoffset - height;\r\n yoffset -= height;\r\n }\r\n color = this.calcColor(i, val, valuenum);\r\n if (highlight) {\r\n color = this.calcHighlightColor(color, options);\r\n }\r\n result.push(target.drawRect(x, y, this.barWidth - 1, height - 1, color, color));\r\n }\r\n if (result.length === 1) {\r\n return result[0];\r\n }\r\n return result;\r\n }\r\n });\r\n\r\n /**\r\n * Tristate charts\r\n */\r\n $.fn.sparkline.tristate = tristate = createClass($.fn.sparkline._base, barHighlightMixin, {\r\n type: 'tristate',\r\n\r\n init: function (el, values, options, width, height) {\r\n var barWidth = parseInt(options.get('barWidth'), 10),\r\n barSpacing = parseInt(options.get('barSpacing'), 10);\r\n tristate._super.init.call(this, el, values, options, width, height);\r\n\r\n this.regionShapes = {};\r\n this.barWidth = barWidth;\r\n this.barSpacing = barSpacing;\r\n this.totalBarWidth = barWidth + barSpacing;\r\n this.values = $.map(values, Number);\r\n this.width = width = (values.length * barWidth) + ((values.length - 1) * barSpacing);\r\n\r\n if ($.isArray(options.get('colorMap'))) {\r\n this.colorMapByIndex = options.get('colorMap');\r\n this.colorMapByValue = null;\r\n } else {\r\n this.colorMapByIndex = null;\r\n this.colorMapByValue = options.get('colorMap');\r\n if (this.colorMapByValue && this.colorMapByValue.get === undefined) {\r\n this.colorMapByValue = new RangeMap(this.colorMapByValue);\r\n }\r\n }\r\n this.initTarget();\r\n },\r\n\r\n getRegion: function (el, x, y) {\r\n return Math.floor(x / this.totalBarWidth);\r\n },\r\n\r\n getCurrentRegionFields: function () {\r\n var currentRegion = this.currentRegion;\r\n return {\r\n isNull: this.values[currentRegion] === undefined,\r\n value: this.values[currentRegion],\r\n color: this.calcColor(this.values[currentRegion], currentRegion),\r\n offset: currentRegion\r\n };\r\n },\r\n\r\n calcColor: function (value, valuenum) {\r\n var values = this.values,\r\n options = this.options,\r\n colorMapByIndex = this.colorMapByIndex,\r\n colorMapByValue = this.colorMapByValue,\r\n color, newColor;\r\n\r\n if (colorMapByValue && (newColor = colorMapByValue.get(value))) {\r\n color = newColor;\r\n } else if (colorMapByIndex && colorMapByIndex.length > valuenum) {\r\n color = colorMapByIndex[valuenum];\r\n } else if (values[valuenum] < 0) {\r\n color = options.get('negBarColor');\r\n } else if (values[valuenum] > 0) {\r\n color = options.get('posBarColor');\r\n } else {\r\n color = options.get('zeroBarColor');\r\n }\r\n return color;\r\n },\r\n\r\n renderRegion: function (valuenum, highlight) {\r\n var values = this.values,\r\n options = this.options,\r\n target = this.target,\r\n canvasHeight, height, halfHeight,\r\n x, y, color;\r\n\r\n canvasHeight = target.pixelHeight;\r\n halfHeight = Math.round(canvasHeight / 2);\r\n\r\n x = valuenum * this.totalBarWidth;\r\n if (values[valuenum] < 0) {\r\n y = halfHeight;\r\n height = halfHeight - 1;\r\n } else if (values[valuenum] > 0) {\r\n y = 0;\r\n height = halfHeight - 1;\r\n } else {\r\n y = halfHeight - 1;\r\n height = 2;\r\n }\r\n color = this.calcColor(values[valuenum], valuenum);\r\n if (color === null) {\r\n return;\r\n }\r\n if (highlight) {\r\n color = this.calcHighlightColor(color, options);\r\n }\r\n return target.drawRect(x, y, this.barWidth - 1, height - 1, color, color);\r\n }\r\n });\r\n\r\n /**\r\n * Discrete charts\r\n */\r\n $.fn.sparkline.discrete = discrete = createClass($.fn.sparkline._base, barHighlightMixin, {\r\n type: 'discrete',\r\n\r\n init: function (el, values, options, width, height) {\r\n discrete._super.init.call(this, el, values, options, width, height);\r\n\r\n this.regionShapes = {};\r\n this.values = values = $.map(values, Number);\r\n this.min = Math.min.apply(Math, values);\r\n this.max = Math.max.apply(Math, values);\r\n this.range = this.max - this.min;\r\n this.width = width = options.get('width') === 'auto' ? values.length * 2 : this.width;\r\n this.interval = Math.floor(width / values.length);\r\n this.itemWidth = width / values.length;\r\n if (options.get('chartRangeMin') !== undefined && (options.get('chartRangeClip') || options.get('chartRangeMin') < this.min)) {\r\n this.min = options.get('chartRangeMin');\r\n }\r\n if (options.get('chartRangeMax') !== undefined && (options.get('chartRangeClip') || options.get('chartRangeMax') > this.max)) {\r\n this.max = options.get('chartRangeMax');\r\n }\r\n this.initTarget();\r\n if (this.target) {\r\n this.lineHeight = options.get('lineHeight') === 'auto' ? Math.round(this.canvasHeight * 0.3) : options.get('lineHeight');\r\n }\r\n },\r\n\r\n getRegion: function (el, x, y) {\r\n return Math.floor(x / this.itemWidth);\r\n },\r\n\r\n getCurrentRegionFields: function () {\r\n var currentRegion = this.currentRegion;\r\n return {\r\n isNull: this.values[currentRegion] === undefined,\r\n value: this.values[currentRegion],\r\n offset: currentRegion\r\n };\r\n },\r\n\r\n renderRegion: function (valuenum, highlight) {\r\n var values = this.values,\r\n options = this.options,\r\n min = this.min,\r\n max = this.max,\r\n range = this.range,\r\n interval = this.interval,\r\n target = this.target,\r\n canvasHeight = this.canvasHeight,\r\n lineHeight = this.lineHeight,\r\n pheight = canvasHeight - lineHeight,\r\n ytop, val, color, x;\r\n\r\n val = clipval(values[valuenum], min, max);\r\n x = valuenum * interval;\r\n ytop = Math.round(pheight - pheight * ((val - min) / range));\r\n color = (options.get('thresholdColor') && val < options.get('thresholdValue')) ? options.get('thresholdColor') : options.get('lineColor');\r\n if (highlight) {\r\n color = this.calcHighlightColor(color, options);\r\n }\r\n return target.drawLine(x, ytop, x, ytop + lineHeight, color);\r\n }\r\n });\r\n\r\n /**\r\n * Bullet charts\r\n */\r\n $.fn.sparkline.bullet = bullet = createClass($.fn.sparkline._base, {\r\n type: 'bullet',\r\n\r\n init: function (el, values, options, width, height) {\r\n var min, max, vals;\r\n bullet._super.init.call(this, el, values, options, width, height);\r\n\r\n // values: target, performance, range1, range2, range3\r\n this.values = values = normalizeValues(values);\r\n // target or performance could be null\r\n vals = values.slice();\r\n vals[0] = vals[0] === null ? vals[2] : vals[0];\r\n vals[1] = values[1] === null ? vals[2] : vals[1];\r\n min = Math.min.apply(Math, values);\r\n max = Math.max.apply(Math, values);\r\n if (options.get('base') === undefined) {\r\n min = min < 0 ? min : 0;\r\n } else {\r\n min = options.get('base');\r\n }\r\n this.min = min;\r\n this.max = max;\r\n this.range = max - min;\r\n this.shapes = {};\r\n this.valueShapes = {};\r\n this.regiondata = {};\r\n this.width = width = options.get('width') === 'auto' ? '4.0em' : width;\r\n this.target = this.$el.simpledraw(width, height, options.get('composite'));\r\n if (!values.length) {\r\n this.disabled = true;\r\n }\r\n this.initTarget();\r\n },\r\n\r\n getRegion: function (el, x, y) {\r\n var shapeid = this.target.getShapeAt(el, x, y);\r\n return (shapeid !== undefined && this.shapes[shapeid] !== undefined) ? this.shapes[shapeid] : undefined;\r\n },\r\n\r\n getCurrentRegionFields: function () {\r\n var currentRegion = this.currentRegion;\r\n return {\r\n fieldkey: currentRegion.substr(0, 1),\r\n value: this.values[currentRegion.substr(1)],\r\n region: currentRegion\r\n };\r\n },\r\n\r\n changeHighlight: function (highlight) {\r\n var currentRegion = this.currentRegion,\r\n shapeid = this.valueShapes[currentRegion],\r\n shape;\r\n delete this.shapes[shapeid];\r\n switch (currentRegion.substr(0, 1)) {\r\n case 'r':\r\n shape = this.renderRange(currentRegion.substr(1), highlight);\r\n break;\r\n case 'p':\r\n shape = this.renderPerformance(highlight);\r\n break;\r\n case 't':\r\n shape = this.renderTarget(highlight);\r\n break;\r\n }\r\n this.valueShapes[currentRegion] = shape.id;\r\n this.shapes[shape.id] = currentRegion;\r\n this.target.replaceWithShape(shapeid, shape);\r\n },\r\n\r\n renderRange: function (rn, highlight) {\r\n var rangeval = this.values[rn],\r\n rangewidth = Math.round(this.canvasWidth * ((rangeval - this.min) / this.range)),\r\n color = this.options.get('rangeColors')[rn - 2];\r\n if (highlight) {\r\n color = this.calcHighlightColor(color, this.options);\r\n }\r\n return this.target.drawRect(0, 0, rangewidth - 1, this.canvasHeight - 1, color, color);\r\n },\r\n\r\n renderPerformance: function (highlight) {\r\n var perfval = this.values[1],\r\n perfwidth = Math.round(this.canvasWidth * ((perfval - this.min) / this.range)),\r\n color = this.options.get('performanceColor');\r\n if (highlight) {\r\n color = this.calcHighlightColor(color, this.options);\r\n }\r\n return this.target.drawRect(0, Math.round(this.canvasHeight * 0.3), perfwidth - 1,\r\n Math.round(this.canvasHeight * 0.4) - 1, color, color);\r\n },\r\n\r\n renderTarget: function (highlight) {\r\n var targetval = this.values[0],\r\n x = Math.round(this.canvasWidth * ((targetval - this.min) / this.range) - (this.options.get('targetWidth') / 2)),\r\n targettop = Math.round(this.canvasHeight * 0.10),\r\n targetheight = this.canvasHeight - (targettop * 2),\r\n color = this.options.get('targetColor');\r\n if (highlight) {\r\n color = this.calcHighlightColor(color, this.options);\r\n }\r\n return this.target.drawRect(x, targettop, this.options.get('targetWidth') - 1, targetheight - 1, color, color);\r\n },\r\n\r\n render: function () {\r\n var vlen = this.values.length,\r\n target = this.target,\r\n i, shape;\r\n if (!bullet._super.render.call(this)) {\r\n return;\r\n }\r\n for (i = 2; i < vlen; i++) {\r\n shape = this.renderRange(i).append();\r\n this.shapes[shape.id] = 'r' + i;\r\n this.valueShapes['r' + i] = shape.id;\r\n }\r\n if (this.values[1] !== null) {\r\n shape = this.renderPerformance().append();\r\n this.shapes[shape.id] = 'p1';\r\n this.valueShapes.p1 = shape.id;\r\n }\r\n if (this.values[0] !== null) {\r\n shape = this.renderTarget().append();\r\n this.shapes[shape.id] = 't0';\r\n this.valueShapes.t0 = shape.id;\r\n }\r\n target.render();\r\n }\r\n });\r\n\r\n /**\r\n * Pie charts\r\n */\r\n $.fn.sparkline.pie = pie = createClass($.fn.sparkline._base, {\r\n type: 'pie',\r\n\r\n init: function (el, values, options, width, height) {\r\n var total = 0, i;\r\n\r\n pie._super.init.call(this, el, values, options, width, height);\r\n\r\n this.shapes = {}; // map shape ids to value offsets\r\n this.valueShapes = {}; // maps value offsets to shape ids\r\n this.values = values = $.map(values, Number);\r\n\r\n if (options.get('width') === 'auto') {\r\n this.width = this.height;\r\n }\r\n\r\n if (values.length > 0) {\r\n for (i = values.length; i--;) {\r\n total += values[i];\r\n }\r\n }\r\n this.total = total;\r\n this.initTarget();\r\n this.radius = Math.floor(Math.min(this.canvasWidth, this.canvasHeight) / 2);\r\n },\r\n\r\n getRegion: function (el, x, y) {\r\n var shapeid = this.target.getShapeAt(el, x, y);\r\n return (shapeid !== undefined && this.shapes[shapeid] !== undefined) ? this.shapes[shapeid] : undefined;\r\n },\r\n\r\n getCurrentRegionFields: function () {\r\n var currentRegion = this.currentRegion;\r\n return {\r\n isNull: this.values[currentRegion] === undefined,\r\n value: this.values[currentRegion],\r\n percent: this.values[currentRegion] / this.total * 100,\r\n color: this.options.get('sliceColors')[currentRegion % this.options.get('sliceColors').length],\r\n offset: currentRegion\r\n };\r\n },\r\n\r\n changeHighlight: function (highlight) {\r\n var currentRegion = this.currentRegion,\r\n newslice = this.renderSlice(currentRegion, highlight),\r\n shapeid = this.valueShapes[currentRegion];\r\n delete this.shapes[shapeid];\r\n this.target.replaceWithShape(shapeid, newslice);\r\n this.valueShapes[currentRegion] = newslice.id;\r\n this.shapes[newslice.id] = currentRegion;\r\n },\r\n\r\n renderSlice: function (valuenum, highlight) {\r\n var target = this.target,\r\n options = this.options,\r\n radius = this.radius,\r\n borderWidth = options.get('borderWidth'),\r\n offset = options.get('offset'),\r\n circle = 2 * Math.PI,\r\n values = this.values,\r\n total = this.total,\r\n next = offset ? (2*Math.PI)*(offset/360) : 0,\r\n start, end, i, vlen, color;\r\n\r\n vlen = values.length;\r\n for (i = 0; i < vlen; i++) {\r\n start = next;\r\n end = next;\r\n if (total > 0) { // avoid divide by zero\r\n end = next + (circle * (values[i] / total));\r\n }\r\n if (valuenum === i) {\r\n color = options.get('sliceColors')[i % options.get('sliceColors').length];\r\n if (highlight) {\r\n color = this.calcHighlightColor(color, options);\r\n }\r\n\r\n return target.drawPieSlice(radius, radius, radius - borderWidth, start, end, undefined, color);\r\n }\r\n next = end;\r\n }\r\n },\r\n\r\n render: function () {\r\n var target = this.target,\r\n values = this.values,\r\n options = this.options,\r\n radius = this.radius,\r\n borderWidth = options.get('borderWidth'),\r\n shape, i;\r\n\r\n if (!pie._super.render.call(this)) {\r\n return;\r\n }\r\n if (borderWidth) {\r\n target.drawCircle(radius, radius, Math.floor(radius - (borderWidth / 2)),\r\n options.get('borderColor'), undefined, borderWidth).append();\r\n }\r\n for (i = values.length; i--;) {\r\n if (values[i]) { // don't render zero values\r\n shape = this.renderSlice(i).append();\r\n this.valueShapes[i] = shape.id; // store just the shapeid\r\n this.shapes[shape.id] = i;\r\n }\r\n }\r\n target.render();\r\n }\r\n });\r\n\r\n /**\r\n * Box plots\r\n */\r\n $.fn.sparkline.box = box = createClass($.fn.sparkline._base, {\r\n type: 'box',\r\n\r\n init: function (el, values, options, width, height) {\r\n box._super.init.call(this, el, values, options, width, height);\r\n this.values = $.map(values, Number);\r\n this.width = options.get('width') === 'auto' ? '4.0em' : width;\r\n this.initTarget();\r\n if (!this.values.length) {\r\n this.disabled = 1;\r\n }\r\n },\r\n\r\n /**\r\n * Simulate a single region\r\n */\r\n getRegion: function () {\r\n return 1;\r\n },\r\n\r\n getCurrentRegionFields: function () {\r\n var result = [\r\n { field: 'lq', value: this.quartiles[0] },\r\n { field: 'med', value: this.quartiles[1] },\r\n { field: 'uq', value: this.quartiles[2] }\r\n ];\r\n if (this.loutlier !== undefined) {\r\n result.push({ field: 'lo', value: this.loutlier});\r\n }\r\n if (this.routlier !== undefined) {\r\n result.push({ field: 'ro', value: this.routlier});\r\n }\r\n if (this.lwhisker !== undefined) {\r\n result.push({ field: 'lw', value: this.lwhisker});\r\n }\r\n if (this.rwhisker !== undefined) {\r\n result.push({ field: 'rw', value: this.rwhisker});\r\n }\r\n return result;\r\n },\r\n\r\n render: function () {\r\n var target = this.target,\r\n values = this.values,\r\n vlen = values.length,\r\n options = this.options,\r\n canvasWidth = this.canvasWidth,\r\n canvasHeight = this.canvasHeight,\r\n minValue = options.get('chartRangeMin') === undefined ? Math.min.apply(Math, values) : options.get('chartRangeMin'),\r\n maxValue = options.get('chartRangeMax') === undefined ? Math.max.apply(Math, values) : options.get('chartRangeMax'),\r\n canvasLeft = 0,\r\n lwhisker, loutlier, iqr, q1, q2, q3, rwhisker, routlier, i,\r\n size, unitSize;\r\n\r\n if (!box._super.render.call(this)) {\r\n return;\r\n }\r\n\r\n if (options.get('raw')) {\r\n if (options.get('showOutliers') && values.length > 5) {\r\n loutlier = values[0];\r\n lwhisker = values[1];\r\n q1 = values[2];\r\n q2 = values[3];\r\n q3 = values[4];\r\n rwhisker = values[5];\r\n routlier = values[6];\r\n } else {\r\n lwhisker = values[0];\r\n q1 = values[1];\r\n q2 = values[2];\r\n q3 = values[3];\r\n rwhisker = values[4];\r\n }\r\n } else {\r\n values.sort(function (a, b) { return a - b; });\r\n q1 = quartile(values, 1);\r\n q2 = quartile(values, 2);\r\n q3 = quartile(values, 3);\r\n iqr = q3 - q1;\r\n if (options.get('showOutliers')) {\r\n lwhisker = rwhisker = undefined;\r\n for (i = 0; i < vlen; i++) {\r\n if (lwhisker === undefined && values[i] > q1 - (iqr * options.get('outlierIQR'))) {\r\n lwhisker = values[i];\r\n }\r\n if (values[i] < q3 + (iqr * options.get('outlierIQR'))) {\r\n rwhisker = values[i];\r\n }\r\n }\r\n loutlier = values[0];\r\n routlier = values[vlen - 1];\r\n } else {\r\n lwhisker = values[0];\r\n rwhisker = values[vlen - 1];\r\n }\r\n }\r\n this.quartiles = [q1, q2, q3];\r\n this.lwhisker = lwhisker;\r\n this.rwhisker = rwhisker;\r\n this.loutlier = loutlier;\r\n this.routlier = routlier;\r\n\r\n unitSize = canvasWidth / (maxValue - minValue + 1);\r\n if (options.get('showOutliers')) {\r\n canvasLeft = Math.ceil(options.get('spotRadius'));\r\n canvasWidth -= 2 * Math.ceil(options.get('spotRadius'));\r\n unitSize = canvasWidth / (maxValue - minValue + 1);\r\n if (loutlier < lwhisker) {\r\n target.drawCircle((loutlier - minValue) * unitSize + canvasLeft,\r\n canvasHeight / 2,\r\n options.get('spotRadius'),\r\n options.get('outlierLineColor'),\r\n options.get('outlierFillColor')).append();\r\n }\r\n if (routlier > rwhisker) {\r\n target.drawCircle((routlier - minValue) * unitSize + canvasLeft,\r\n canvasHeight / 2,\r\n options.get('spotRadius'),\r\n options.get('outlierLineColor'),\r\n options.get('outlierFillColor')).append();\r\n }\r\n }\r\n\r\n // box\r\n target.drawRect(\r\n Math.round((q1 - minValue) * unitSize + canvasLeft),\r\n Math.round(canvasHeight * 0.1),\r\n Math.round((q3 - q1) * unitSize),\r\n Math.round(canvasHeight * 0.8),\r\n options.get('boxLineColor'),\r\n options.get('boxFillColor')).append();\r\n // left whisker\r\n target.drawLine(\r\n Math.round((lwhisker - minValue) * unitSize + canvasLeft),\r\n Math.round(canvasHeight / 2),\r\n Math.round((q1 - minValue) * unitSize + canvasLeft),\r\n Math.round(canvasHeight / 2),\r\n options.get('lineColor')).append();\r\n target.drawLine(\r\n Math.round((lwhisker - minValue) * unitSize + canvasLeft),\r\n Math.round(canvasHeight / 4),\r\n Math.round((lwhisker - minValue) * unitSize + canvasLeft),\r\n Math.round(canvasHeight - canvasHeight / 4),\r\n options.get('whiskerColor')).append();\r\n // right whisker\r\n target.drawLine(Math.round((rwhisker - minValue) * unitSize + canvasLeft),\r\n Math.round(canvasHeight / 2),\r\n Math.round((q3 - minValue) * unitSize + canvasLeft),\r\n Math.round(canvasHeight / 2),\r\n options.get('lineColor')).append();\r\n target.drawLine(\r\n Math.round((rwhisker - minValue) * unitSize + canvasLeft),\r\n Math.round(canvasHeight / 4),\r\n Math.round((rwhisker - minValue) * unitSize + canvasLeft),\r\n Math.round(canvasHeight - canvasHeight / 4),\r\n options.get('whiskerColor')).append();\r\n // median line\r\n target.drawLine(\r\n Math.round((q2 - minValue) * unitSize + canvasLeft),\r\n Math.round(canvasHeight * 0.1),\r\n Math.round((q2 - minValue) * unitSize + canvasLeft),\r\n Math.round(canvasHeight * 0.9),\r\n options.get('medianColor')).append();\r\n if (options.get('target')) {\r\n size = Math.ceil(options.get('spotRadius'));\r\n target.drawLine(\r\n Math.round((options.get('target') - minValue) * unitSize + canvasLeft),\r\n Math.round((canvasHeight / 2) - size),\r\n Math.round((options.get('target') - minValue) * unitSize + canvasLeft),\r\n Math.round((canvasHeight / 2) + size),\r\n options.get('targetColor')).append();\r\n target.drawLine(\r\n Math.round((options.get('target') - minValue) * unitSize + canvasLeft - size),\r\n Math.round(canvasHeight / 2),\r\n Math.round((options.get('target') - minValue) * unitSize + canvasLeft + size),\r\n Math.round(canvasHeight / 2),\r\n options.get('targetColor')).append();\r\n }\r\n target.render();\r\n }\r\n });\r\n\r\n // Setup a very simple \"virtual canvas\" to make drawing the few shapes we need easier\r\n // This is accessible as $(foo).simpledraw()\r\n\r\n VShape = createClass({\r\n init: function (target, id, type, args) {\r\n this.target = target;\r\n this.id = id;\r\n this.type = type;\r\n this.args = args;\r\n },\r\n append: function () {\r\n this.target.appendShape(this);\r\n return this;\r\n }\r\n });\r\n\r\n VCanvas_base = createClass({\r\n _pxregex: /(\\d+)(px)?\\s*$/i,\r\n\r\n init: function (width, height, target) {\r\n if (!width) {\r\n return;\r\n }\r\n this.width = width;\r\n this.height = height;\r\n this.target = target;\r\n this.lastShapeId = null;\r\n if (target[0]) {\r\n target = target[0];\r\n }\r\n $.data(target, '_jqs_vcanvas', this);\r\n },\r\n\r\n drawLine: function (x1, y1, x2, y2, lineColor, lineWidth) {\r\n return this.drawShape([[x1, y1], [x2, y2]], lineColor, lineWidth);\r\n },\r\n\r\n drawShape: function (path, lineColor, fillColor, lineWidth) {\r\n return this._genShape('Shape', [path, lineColor, fillColor, lineWidth]);\r\n },\r\n\r\n drawCircle: function (x, y, radius, lineColor, fillColor, lineWidth) {\r\n return this._genShape('Circle', [x, y, radius, lineColor, fillColor, lineWidth]);\r\n },\r\n\r\n drawPieSlice: function (x, y, radius, startAngle, endAngle, lineColor, fillColor) {\r\n return this._genShape('PieSlice', [x, y, radius, startAngle, endAngle, lineColor, fillColor]);\r\n },\r\n\r\n drawRect: function (x, y, width, height, lineColor, fillColor) {\r\n return this._genShape('Rect', [x, y, width, height, lineColor, fillColor]);\r\n },\r\n\r\n getElement: function () {\r\n return this.canvas;\r\n },\r\n\r\n /**\r\n * Return the most recently inserted shape id\r\n */\r\n getLastShapeId: function () {\r\n return this.lastShapeId;\r\n },\r\n\r\n /**\r\n * Clear and reset the canvas\r\n */\r\n reset: function () {\r\n alert('reset not implemented');\r\n },\r\n\r\n _insert: function (el, target) {\r\n $(target).html(el);\r\n },\r\n\r\n /**\r\n * Calculate the pixel dimensions of the canvas\r\n */\r\n _calculatePixelDims: function (width, height, canvas) {\r\n // XXX This should probably be a configurable option\r\n var match;\r\n match = this._pxregex.exec(height);\r\n if (match) {\r\n this.pixelHeight = match[1];\r\n } else {\r\n this.pixelHeight = $(canvas).height();\r\n }\r\n match = this._pxregex.exec(width);\r\n if (match) {\r\n this.pixelWidth = match[1];\r\n } else {\r\n this.pixelWidth = $(canvas).width();\r\n }\r\n },\r\n\r\n /**\r\n * Generate a shape object and id for later rendering\r\n */\r\n _genShape: function (shapetype, shapeargs) {\r\n var id = shapeCount++;\r\n shapeargs.unshift(id);\r\n return new VShape(this, id, shapetype, shapeargs);\r\n },\r\n\r\n /**\r\n * Add a shape to the end of the render queue\r\n */\r\n appendShape: function (shape) {\r\n alert('appendShape not implemented');\r\n },\r\n\r\n /**\r\n * Replace one shape with another\r\n */\r\n replaceWithShape: function (shapeid, shape) {\r\n alert('replaceWithShape not implemented');\r\n },\r\n\r\n /**\r\n * Insert one shape after another in the render queue\r\n */\r\n insertAfterShape: function (shapeid, shape) {\r\n alert('insertAfterShape not implemented');\r\n },\r\n\r\n /**\r\n * Remove a shape from the queue\r\n */\r\n removeShapeId: function (shapeid) {\r\n alert('removeShapeId not implemented');\r\n },\r\n\r\n /**\r\n * Find a shape at the specified x/y co-ordinates\r\n */\r\n getShapeAt: function (el, x, y) {\r\n alert('getShapeAt not implemented');\r\n },\r\n\r\n /**\r\n * Render all queued shapes onto the canvas\r\n */\r\n render: function () {\r\n alert('render not implemented');\r\n }\r\n });\r\n\r\n VCanvas_canvas = createClass(VCanvas_base, {\r\n init: function (width, height, target, interact) {\r\n VCanvas_canvas._super.init.call(this, width, height, target);\r\n this.canvas = document.createElement('canvas');\r\n if (target[0]) {\r\n target = target[0];\r\n }\r\n $.data(target, '_jqs_vcanvas', this);\r\n $(this.canvas).css({ display: 'inline-block', width: width, height: height, verticalAlign: 'top' });\r\n this._insert(this.canvas, target);\r\n this._calculatePixelDims(width, height, this.canvas);\r\n this.canvas.width = this.pixelWidth;\r\n this.canvas.height = this.pixelHeight;\r\n this.interact = interact;\r\n this.shapes = {};\r\n this.shapeseq = [];\r\n this.currentTargetShapeId = undefined;\r\n $(this.canvas).css({width: this.pixelWidth, height: this.pixelHeight});\r\n },\r\n\r\n _getContext: function (lineColor, fillColor, lineWidth) {\r\n var context = this.canvas.getContext('2d');\r\n if (lineColor !== undefined) {\r\n context.strokeStyle = lineColor;\r\n }\r\n context.lineWidth = lineWidth === undefined ? 1 : lineWidth;\r\n if (fillColor !== undefined) {\r\n context.fillStyle = fillColor;\r\n }\r\n return context;\r\n },\r\n\r\n reset: function () {\r\n var context = this._getContext();\r\n context.clearRect(0, 0, this.pixelWidth, this.pixelHeight);\r\n this.shapes = {};\r\n this.shapeseq = [];\r\n this.currentTargetShapeId = undefined;\r\n },\r\n\r\n _drawShape: function (shapeid, path, lineColor, fillColor, lineWidth) {\r\n var context = this._getContext(lineColor, fillColor, lineWidth),\r\n i, plen;\r\n context.beginPath();\r\n context.moveTo(path[0][0] + 0.5, path[0][1] + 0.5);\r\n for (i = 1, plen = path.length; i < plen; i++) {\r\n context.lineTo(path[i][0] + 0.5, path[i][1] + 0.5); // the 0.5 offset gives us crisp pixel-width lines\r\n }\r\n if (lineColor !== undefined) {\r\n context.stroke();\r\n }\r\n if (fillColor !== undefined) {\r\n context.fill();\r\n }\r\n if (this.targetX !== undefined && this.targetY !== undefined &&\r\n context.isPointInPath(this.targetX, this.targetY)) {\r\n this.currentTargetShapeId = shapeid;\r\n }\r\n },\r\n\r\n _drawCircle: function (shapeid, x, y, radius, lineColor, fillColor, lineWidth) {\r\n var context = this._getContext(lineColor, fillColor, lineWidth);\r\n context.beginPath();\r\n context.arc(x, y, radius, 0, 2 * Math.PI, false);\r\n if (this.targetX !== undefined && this.targetY !== undefined &&\r\n context.isPointInPath(this.targetX, this.targetY)) {\r\n this.currentTargetShapeId = shapeid;\r\n }\r\n if (lineColor !== undefined) {\r\n context.stroke();\r\n }\r\n if (fillColor !== undefined) {\r\n context.fill();\r\n }\r\n },\r\n\r\n _drawPieSlice: function (shapeid, x, y, radius, startAngle, endAngle, lineColor, fillColor) {\r\n var context = this._getContext(lineColor, fillColor);\r\n context.beginPath();\r\n context.moveTo(x, y);\r\n context.arc(x, y, radius, startAngle, endAngle, false);\r\n context.lineTo(x, y);\r\n context.closePath();\r\n if (lineColor !== undefined) {\r\n context.stroke();\r\n }\r\n if (fillColor) {\r\n context.fill();\r\n }\r\n if (this.targetX !== undefined && this.targetY !== undefined &&\r\n context.isPointInPath(this.targetX, this.targetY)) {\r\n this.currentTargetShapeId = shapeid;\r\n }\r\n },\r\n\r\n _drawRect: function (shapeid, x, y, width, height, lineColor, fillColor) {\r\n return this._drawShape(shapeid, [[x, y], [x + width, y], [x + width, y + height], [x, y + height], [x, y]], lineColor, fillColor);\r\n },\r\n\r\n appendShape: function (shape) {\r\n this.shapes[shape.id] = shape;\r\n this.shapeseq.push(shape.id);\r\n this.lastShapeId = shape.id;\r\n return shape.id;\r\n },\r\n\r\n replaceWithShape: function (shapeid, shape) {\r\n var shapeseq = this.shapeseq,\r\n i;\r\n this.shapes[shape.id] = shape;\r\n for (i = shapeseq.length; i--;) {\r\n if (shapeseq[i] == shapeid) {\r\n shapeseq[i] = shape.id;\r\n }\r\n }\r\n delete this.shapes[shapeid];\r\n },\r\n\r\n replaceWithShapes: function (shapeids, shapes) {\r\n var shapeseq = this.shapeseq,\r\n shapemap = {},\r\n sid, i, first;\r\n\r\n for (i = shapeids.length; i--;) {\r\n shapemap[shapeids[i]] = true;\r\n }\r\n for (i = shapeseq.length; i--;) {\r\n sid = shapeseq[i];\r\n if (shapemap[sid]) {\r\n shapeseq.splice(i, 1);\r\n delete this.shapes[sid];\r\n first = i;\r\n }\r\n }\r\n for (i = shapes.length; i--;) {\r\n shapeseq.splice(first, 0, shapes[i].id);\r\n this.shapes[shapes[i].id] = shapes[i];\r\n }\r\n\r\n },\r\n\r\n insertAfterShape: function (shapeid, shape) {\r\n var shapeseq = this.shapeseq,\r\n i;\r\n for (i = shapeseq.length; i--;) {\r\n if (shapeseq[i] === shapeid) {\r\n shapeseq.splice(i + 1, 0, shape.id);\r\n this.shapes[shape.id] = shape;\r\n return;\r\n }\r\n }\r\n },\r\n\r\n removeShapeId: function (shapeid) {\r\n var shapeseq = this.shapeseq,\r\n i;\r\n for (i = shapeseq.length; i--;) {\r\n if (shapeseq[i] === shapeid) {\r\n shapeseq.splice(i, 1);\r\n break;\r\n }\r\n }\r\n delete this.shapes[shapeid];\r\n },\r\n\r\n getShapeAt: function (el, x, y) {\r\n this.targetX = x;\r\n this.targetY = y;\r\n this.render();\r\n return this.currentTargetShapeId;\r\n },\r\n\r\n render: function () {\r\n var shapeseq = this.shapeseq,\r\n shapes = this.shapes,\r\n shapeCount = shapeseq.length,\r\n context = this._getContext(),\r\n shapeid, shape, i;\r\n context.clearRect(0, 0, this.pixelWidth, this.pixelHeight);\r\n for (i = 0; i < shapeCount; i++) {\r\n shapeid = shapeseq[i];\r\n shape = shapes[shapeid];\r\n this['_draw' + shape.type].apply(this, shape.args);\r\n }\r\n if (!this.interact) {\r\n // not interactive so no need to keep the shapes array\r\n this.shapes = {};\r\n this.shapeseq = [];\r\n }\r\n }\r\n\r\n });\r\n\r\n VCanvas_vml = createClass(VCanvas_base, {\r\n init: function (width, height, target) {\r\n var groupel;\r\n VCanvas_vml._super.init.call(this, width, height, target);\r\n if (target[0]) {\r\n target = target[0];\r\n }\r\n $.data(target, '_jqs_vcanvas', this);\r\n this.canvas = document.createElement('span');\r\n $(this.canvas).css({ display: 'inline-block', position: 'relative', overflow: 'hidden', width: width, height: height, margin: '0px', padding: '0px', verticalAlign: 'top'});\r\n this._insert(this.canvas, target);\r\n this._calculatePixelDims(width, height, this.canvas);\r\n this.canvas.width = this.pixelWidth;\r\n this.canvas.height = this.pixelHeight;\r\n groupel = '';\r\n this.canvas.insertAdjacentHTML('beforeEnd', groupel);\r\n this.group = $(this.canvas).children()[0];\r\n this.rendered = false;\r\n this.prerender = '';\r\n },\r\n\r\n _drawShape: function (shapeid, path, lineColor, fillColor, lineWidth) {\r\n var vpath = [],\r\n initial, stroke, fill, closed, vel, plen, i;\r\n for (i = 0, plen = path.length; i < plen; i++) {\r\n vpath[i] = '' + (path[i][0]) + ',' + (path[i][1]);\r\n }\r\n initial = vpath.splice(0, 1);\r\n lineWidth = lineWidth === undefined ? 1 : lineWidth;\r\n stroke = lineColor === undefined ? ' stroked=\"false\" ' : ' strokeWeight=\"' + lineWidth + 'px\" strokeColor=\"' + lineColor + '\" ';\r\n fill = fillColor === undefined ? ' filled=\"false\"' : ' fillColor=\"' + fillColor + '\" filled=\"true\" ';\r\n closed = vpath[0] === vpath[vpath.length - 1] ? 'x ' : '';\r\n vel = '' +\r\n ' ';\r\n return vel;\r\n },\r\n\r\n _drawCircle: function (shapeid, x, y, radius, lineColor, fillColor, lineWidth) {\r\n var stroke, fill, vel;\r\n x -= radius;\r\n y -= radius;\r\n stroke = lineColor === undefined ? ' stroked=\"false\" ' : ' strokeWeight=\"' + lineWidth + 'px\" strokeColor=\"' + lineColor + '\" ';\r\n fill = fillColor === undefined ? ' filled=\"false\"' : ' fillColor=\"' + fillColor + '\" filled=\"true\" ';\r\n vel = '';\r\n return vel;\r\n\r\n },\r\n\r\n _drawPieSlice: function (shapeid, x, y, radius, startAngle, endAngle, lineColor, fillColor) {\r\n var vpath, startx, starty, endx, endy, stroke, fill, vel;\r\n if (startAngle === endAngle) {\r\n return ''; // VML seems to have problem when start angle equals end angle.\r\n }\r\n if ((endAngle - startAngle) === (2 * Math.PI)) {\r\n startAngle = 0.0; // VML seems to have a problem when drawing a full circle that doesn't start 0\r\n endAngle = (2 * Math.PI);\r\n }\r\n\r\n startx = x + Math.round(Math.cos(startAngle) * radius);\r\n starty = y + Math.round(Math.sin(startAngle) * radius);\r\n endx = x + Math.round(Math.cos(endAngle) * radius);\r\n endy = y + Math.round(Math.sin(endAngle) * radius);\r\n\r\n if (startx === endx && starty === endy) {\r\n if ((endAngle - startAngle) < Math.PI) {\r\n // Prevent very small slices from being mistaken as a whole pie\r\n return '';\r\n }\r\n // essentially going to be the entire circle, so ignore startAngle\r\n startx = endx = x + radius;\r\n starty = endy = y;\r\n }\r\n\r\n if (startx === endx && starty === endy && (endAngle - startAngle) < Math.PI) {\r\n return '';\r\n }\r\n\r\n vpath = [x - radius, y - radius, x + radius, y + radius, startx, starty, endx, endy];\r\n stroke = lineColor === undefined ? ' stroked=\"false\" ' : ' strokeWeight=\"1px\" strokeColor=\"' + lineColor + '\" ';\r\n fill = fillColor === undefined ? ' filled=\"false\"' : ' fillColor=\"' + fillColor + '\" filled=\"true\" ';\r\n vel = '' +\r\n ' ';\r\n return vel;\r\n },\r\n\r\n _drawRect: function (shapeid, x, y, width, height, lineColor, fillColor) {\r\n return this._drawShape(shapeid, [[x, y], [x, y + height], [x + width, y + height], [x + width, y], [x, y]], lineColor, fillColor);\r\n },\r\n\r\n reset: function () {\r\n this.group.innerHTML = '';\r\n },\r\n\r\n appendShape: function (shape) {\r\n var vel = this['_draw' + shape.type].apply(this, shape.args);\r\n if (this.rendered) {\r\n this.group.insertAdjacentHTML('beforeEnd', vel);\r\n } else {\r\n this.prerender += vel;\r\n }\r\n this.lastShapeId = shape.id;\r\n return shape.id;\r\n },\r\n\r\n replaceWithShape: function (shapeid, shape) {\r\n var existing = $('#jqsshape' + shapeid),\r\n vel = this['_draw' + shape.type].apply(this, shape.args);\r\n existing[0].outerHTML = vel;\r\n },\r\n\r\n replaceWithShapes: function (shapeids, shapes) {\r\n // replace the first shapeid with all the new shapes then toast the remaining old shapes\r\n var existing = $('#jqsshape' + shapeids[0]),\r\n replace = '',\r\n slen = shapes.length,\r\n i;\r\n for (i = 0; i < slen; i++) {\r\n replace += this['_draw' + shapes[i].type].apply(this, shapes[i].args);\r\n }\r\n existing[0].outerHTML = replace;\r\n for (i = 1; i < shapeids.length; i++) {\r\n $('#jqsshape' + shapeids[i]).remove();\r\n }\r\n },\r\n\r\n insertAfterShape: function (shapeid, shape) {\r\n var existing = $('#jqsshape' + shapeid),\r\n vel = this['_draw' + shape.type].apply(this, shape.args);\r\n existing[0].insertAdjacentHTML('afterEnd', vel);\r\n },\r\n\r\n removeShapeId: function (shapeid) {\r\n var existing = $('#jqsshape' + shapeid);\r\n this.group.removeChild(existing[0]);\r\n },\r\n\r\n getShapeAt: function (el, x, y) {\r\n var shapeid = el.id.substr(8);\r\n return shapeid;\r\n },\r\n\r\n render: function () {\r\n if (!this.rendered) {\r\n // batch the intial render into a single repaint\r\n this.group.innerHTML = this.prerender;\r\n this.rendered = true;\r\n }\r\n }\r\n });\r\n\r\n}))}(document, Math));\r\n","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAcCAYAAACOGPReAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDIxIDc5LjE1NTc3MiwgMjAxNC8wMS8xMy0xOTo0NDowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RTJBN0M2QTY1RUVCMTFFNEE5QkNGNTAxRDk5QTk2RUEiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RTJBN0M2QTU1RUVCMTFFNEE5QkNGNTAxRDk5QTk2RUEiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTQgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3RTY5Q0E2MjIzQkUxMUU0QTZGQkQxNzZEQUYyMTRCRiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo5QzY4RjA5QzIzQkUxMUU0QTZGQkQxNzZEQUYyMTRCRiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgTSoMoAAAHZSURBVHjarJXNK0RRGIff+VAUTUr5lqZY2FBDoygrxUZkgZENK0VS/gwSJWUxFhILykKxlYR8p0aRSSSUiCliSn7v9F5d17nXNdevnppz7vs+zZx7zhnX6HotmaQCdIEaUAiywD24AhtgBhyqGr2KOT8YBs3AZXiWJwTBIFgCQyCqL3IbmhrAPmhRCI1xSd2+9CmlTWAZ+Ohv8Ulfk1FaAmaBh5KLR/pL9dJxkE7Owv1jmjRgXBMHYU+A337IqiotxUeB/A4qy26kyN0K7V3P0Wv8yaol5JV9aCorz22lFE9qYq6yoDMxPrpZtJLXeWVj/0h35cKXTB+e0+QTm/WqVj+vabbqiUpo83kmS5/tvIGX+IPdl/XIP/+cl8us4jYWoa3LMF08blNxZpCqi7opJ6PMShpl6bpKqpdp4c96uUnWXLilWLhD/5cqXtNdsPpPQvbsasd0ALw7FMbF83X2T0G/Q2mfeL5dfVNgJEnhiPQrL2m+xef/KJyXPtObP3FCwbFNIdf1GCdV0lfQxofot0NmVuc2aTiRhbdKv9SRXSlnWv4iVOH5sFmj+5dv06ttE13OZJ6SlcZAO3iT8ZusY8yJlHOg2zJDMraM1+bWmQAfYNJO8acAAwAkmHN4vJhJEgAAAABJRU5ErkJggg==\"","module.exports = __webpack_public_path__ + \"assets/img/banner-3-stop-button-r.svg\";","module.exports = __webpack_public_path__ + \"assets/img/htc.png\";","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('fragment',[_c('HomeBanner'),_c('HomeNews'),_c('div',{staticClass:\"option-types-block\"}),_c('div',{staticClass:\"cta-block-wrapper\"},[_c('div',{staticClass:\"container\"},[_c('div',{staticClass:\"cta-block cta-block-2 clearfix cta-block__spill\"},[_c('div',{staticClass:\"cta-block--container-width-sizer\"},[_c('div',{staticClass:\"cta-block--container\"},[_c('div',{staticClass:\"cta-block--container-row\"},[_c('div',{staticClass:\"cta-block--container-cell cta-block--text-cell \",domProps:{\"innerHTML\":_vm._s(_vm.$t('general.cta-title'))}}),_c('div',{staticClass:\"cta-block--container-cell cta-block--cta-cell\"},[_c('a',{staticClass:\"btn-fluid btn-lg-pad btn-negative btn btn-extruded\",attrs:{\"href\":\"/register\"}},[_vm._v(\" \"+_vm._s(_vm.$t('general.cta-button')))])])])])])])])]),_c('div',{staticClass:\"p-modal p-modal__option-types-block\",attrs:{\"id\":\"option-highlow-modal\",\"data-toggle-group\":\"option-types\"}},[_c('div',{staticClass:\"p-modal--mobile-title option-types-block--item--heading\"},[_vm._v(\" \"+_vm._s(_vm.$t('option-types.normal.title'))+\" \"),_c('div',{staticClass:\"p-modal--mobile-close toggler\",attrs:{\"data-toggle-target\":\"#option-highlow-modal\",\"data-toggle-class\":\"open\"}})]),_c('div',{staticClass:\"p-modal--body-wrapper\"},[_c('span',{staticClass:\"p-modal--mobile-body-wrapper\"},[_c('div',{staticClass:\"p-modal--body\"},[_c('div',{staticClass:\"p-modal--content-wrapper\"},[_c('div',{staticClass:\"p-modal--content centered\"},[_c('div',{staticClass:\"container\"},[_c('div',{staticClass:\"p-modal--content--inner option-types-block--item\"},[_c('div',{staticClass:\"p-modal--bg toggler\",attrs:{\"data-toggle-target\":\"#option-highlow-modal\",\"data-toggle-class\":\"open\"}}),_c('img',{staticClass:\"i-option-type-block--item--background\",attrs:{\"data-src\":\"@/assets/images/option-types-bg-1.jpg\",\"src\":require(\"@/assets/images/option-types-bg-1.jpg\")}}),_c('div',{staticClass:\"i-option-type-block--item--heading\"},[_vm._v(\" \"+_vm._s(_vm.$t('option-types.normal.title'))+\" \")]),_c('div',{staticClass:\"i-option-type-block--body-text\"},[_vm._l((_vm.$t('option-types.normal.description').split('\\n')),function(line){return _c('p',{key:line},[_vm._v(\" \"+_vm._s(line)+\" \")])}),_c('p',[_c('small',{domProps:{\"innerHTML\":_vm._s(_vm.$t('option-types.more-info.description'))}})]),_c('router-link',{staticClass:\"btn btn-extruded btn-lg-pad i-option-type-block--cta\",attrs:{\"to\":\"#\"},domProps:{\"innerHTML\":_vm._s(_vm.$t('option-types.more-info.try-the-quick-demo'))}}),_c('p',{domProps:{\"innerHTML\":_vm._s(_vm.$t('option-types.more-info.sign-up'))}})],2)])])])])])])])]),_c('div',{staticClass:\"p-modal p-modal__option-types-block\",attrs:{\"id\":\"option-spread-modal\",\"data-toggle-group\":\"option-types\"}},[_c('div',{staticClass:\"p-modal--mobile-title option-types-block--item--heading\"},[_vm._v(\" \"+_vm._s(_vm.$t('option-types.spread.title'))+\" \"),_c('div',{staticClass:\"p-modal--mobile-close toggler\",attrs:{\"data-toggle-target\":\"#option-spread-modal\",\"data-toggle-class\":\"open\"}})]),_c('div',{staticClass:\"p-modal--body-wrapper\"},[_c('span',{staticClass:\"p-modal--mobile-body-wrapper\"},[_c('div',{staticClass:\"p-modal--body\"},[_c('div',{staticClass:\"p-modal--content-wrapper\"},[_c('div',{staticClass:\"p-modal--content centered\"},[_c('div',{staticClass:\"container\"},[_c('div',{staticClass:\"p-modal--content--inner option-types-block--item\"},[_c('div',{staticClass:\"p-modal--bg toggler\",attrs:{\"data-toggle-target\":\"#option-spread-modal\",\"data-toggle-class\":\"open\"}}),_c('img',{staticClass:\"i-option-type-block--item--background\",attrs:{\"data-src\":\"@/assets/images/option-types-bg-2.jpg\",\"src\":require(\"@/assets/images/option-types-bg-2.jpg\")}}),_c('div',{staticClass:\"i-option-type-block--item--heading\"},[_vm._v(\" \"+_vm._s(_vm.$t('option-types.spread.title'))+\" \")]),_c('div',{staticClass:\"i-option-type-block--body-text\"},[_vm._l((_vm.$t('option-types.spread.description').split('\\n')),function(line){return _c('p',{key:line},[_vm._v(\" \"+_vm._s(line)+\" \")])}),_c('p',[_c('small',{domProps:{\"innerHTML\":_vm._s(_vm.$t('option-types.more-info.description'))}})]),_c('router-link',{staticClass:\"btn btn-extruded btn-lg-pad i-option-type-block--cta\",attrs:{\"to\":\"#\"},domProps:{\"innerHTML\":_vm._s(_vm.$t('option-types.more-info.try-the-quick-demo'))}}),_c('p',{domProps:{\"innerHTML\":_vm._s(_vm.$t('option-types.more-info.sign-up'))}})],2)])])])])])])])]),_c('div',{staticClass:\"p-modal p-modal__option-types-block\",attrs:{\"id\":\"option-turbo-modal\",\"data-toggle-group\":\"option-types\"}},[_c('div',{staticClass:\"p-modal--mobile-title option-types-block--item--heading\"},[_vm._v(\" \"+_vm._s(_vm.$t('option-types.turbo.title'))+\" \"),_c('div',{staticClass:\"p-modal--mobile-close toggler\",attrs:{\"data-toggle-target\":\"#option-turbo-modal\",\"data-toggle-class\":\"open\"}})]),_c('div',{staticClass:\"p-modal--body-wrapper\"},[_c('span',{staticClass:\"p-modal--mobile-body-wrapper\"},[_c('div',{staticClass:\"p-modal--body\"},[_c('div',{staticClass:\"p-modal--content-wrapper\"},[_c('div',{staticClass:\"p-modal--content centered\"},[_c('div',{staticClass:\"container\"},[_c('div',{staticClass:\"p-modal--content--inner option-types-block--item\"},[_c('div',{staticClass:\"p-modal--bg toggler\",attrs:{\"data-toggle-target\":\"#option-turbo-modal\",\"data-toggle-class\":\"open\"}}),_c('img',{staticClass:\"i-option-type-block--item--background\",attrs:{\"data-src\":\"@/assets/images/option-types-bg-3.jpg\",\"src\":require(\"@/assets/images/option-types-bg-3.jpg\")}}),_c('div',{staticClass:\"i-option-type-block--item--heading\"},[_vm._v(\" \"+_vm._s(_vm.$t('option-types.turbo.title'))+\" \")]),_c('div',{staticClass:\"i-option-type-block--body-text\"},[_vm._l((_vm.$t('option-types.turbo.description').split('\\n')),function(line){return _c('p',{key:line},[_vm._v(\" \"+_vm._s(line)+\" \")])}),_c('p',[_c('small',{domProps:{\"innerHTML\":_vm._s(_vm.$t('option-types.more-info.description'))}})]),_c('router-link',{staticClass:\"btn btn-extruded btn-lg-pad i-option-type-block--cta\",attrs:{\"to\":\"#\"},domProps:{\"innerHTML\":_vm._s(_vm.$t('option-types.more-info.try-the-quick-demo'))}}),_c('p',{domProps:{\"innerHTML\":_vm._s(_vm.$t('option-types.more-info.sign-up'))}})],2)])])])])])])])]),_c('div',{staticClass:\"p-modal p-modal__option-types-block\",attrs:{\"id\":\"option-turbo-spread-modal\",\"data-toggle-group\":\"option-types\"}},[_c('div',{staticClass:\"p-modal--mobile-title option-types-block--item--heading\"},[_vm._v(\" \"+_vm._s(_vm.$t('option-types.turbo-spread.title'))+\" \"),_c('div',{staticClass:\"p-modal--mobile-close toggler\",attrs:{\"data-toggle-target\":\"#option-turbo-spread-modal\",\"data-toggle-class\":\"open\"}})]),_c('div',{staticClass:\"p-modal--body-wrapper\"},[_c('span',{staticClass:\"p-modal--mobile-body-wrapper\"},[_c('div',{staticClass:\"p-modal--body\"},[_c('div',{staticClass:\"p-modal--content-wrapper\"},[_c('div',{staticClass:\"p-modal--content centered\"},[_c('div',{staticClass:\"container\"},[_c('div',{staticClass:\"p-modal--content--inner option-types-block--item\"},[_c('div',{staticClass:\"p-modal--bg toggler\",attrs:{\"data-toggle-target\":\"#option-turbo-spread-modal\",\"data-toggle-class\":\"open\"}}),_c('img',{staticClass:\"i-option-type-block--item--background\",attrs:{\"data-src\":\"@/assets/images/option-types-bg-4.jpg\",\"src\":require(\"@/assets/images/option-types-bg-4.jpg\")}}),_c('div',{staticClass:\"i-option-type-block--item--heading\"},[_vm._v(\" \"+_vm._s(_vm.$t('option-types.turbo-spread.title'))+\" \")]),_c('div',{staticClass:\"i-option-type-block--body-text\"},[_vm._l((_vm.$t('option-types.turbo-spread.description').split('\\n')),function(line){return _c('p',{key:line},[_vm._v(\" \"+_vm._s(line)+\" \")])}),_c('p',[_c('small',{domProps:{\"innerHTML\":_vm._s(_vm.$t('option-types.more-info.description'))}})]),_c('router-link',{staticClass:\"btn btn-extruded btn-lg-pad i-option-type-block--cta\",attrs:{\"to\":\"#\"},domProps:{\"innerHTML\":_vm._s(_vm.$t('option-types.more-info.try-the-quick-demo'))}}),_c('p',{domProps:{\"innerHTML\":_vm._s(_vm.$t('option-types.more-info.sign-up'))}})],2)])])])])])])])]),_c('div',{staticClass:\"for-beginners-and-experts\"},[_c('div',{staticClass:\"grid-bg\"},[_c('div',{staticClass:\"container\"},[_c('div',{staticClass:\"section-heading\"},[_vm._v(\" \"+_vm._s(_vm.$t('home.demo.title'))+\" \")])])]),_c('ForBeginnersAndExperts')],1),_c('div',{staticClass:\"static-promo-articles\"},[_c('div',{staticClass:\"container\"},[_c('div',{staticClass:\"row\"},[_c('span',{staticClass:\"static-promo-articles-wrapper\"},[_c('router-link',{staticClass:\"col-sm-4 static-promo-articles-item\",attrs:{\"to\":\"/overview\"}},[_c('div',{staticClass:\"static-promo-articles-item-inner-wrapper\"},[_c('div',{staticClass:\"static-promo-articles-item-illustration\"},[_c('div',{staticClass:\"illustration-wrapper\"},[_c('img',{attrs:{\"data-src\":\"@/assets/images/option-types.png\",\"src\":require(\"@/assets/images/option-types.png\")}})])]),_c('div',{staticClass:\"static-promo-articles-item-title\"},[_vm._v(\" \"+_vm._s(_vm.$t('overview.title'))+\" \")]),_c('div',{staticClass:\"divider\"}),_c('div',{staticClass:\"static-promo-articles-item-excerpt \"},[_vm._v(\" \"+_vm._s(_vm.$t('overview.description'))+\" \")])])]),_c('router-link',{staticClass:\"col-sm-4 static-promo-articles-item\",attrs:{\"to\":\"/why-trade\"}},[_c('div',{staticClass:\"static-promo-articles-item-inner-wrapper\"},[_c('div',{staticClass:\"static-promo-articles-item-illustration\"},[_c('div',{staticClass:\"illustration-wrapper\"},[_c('img',{attrs:{\"data-src\":\"@/assets/images/why-binaries.png\",\"src\":require(\"@/assets/images/why-binaries.png\")}})])]),_c('div',{staticClass:\"static-promo-articles-item-title\"},[_vm._v(\" \"+_vm._s(_vm.$t('why-trade.title'))+\" \")]),_c('div',{staticClass:\"divider\"}),_c('div',{staticClass:\"static-promo-articles-item-excerpt\"},[_vm._v(\" \"+_vm._s(_vm.$t('why-trade.description'))+\" \")])])])],1)])])]),_c('div',{staticClass:\"reasons \"},[_c('div',{staticClass:\"container\"},[_c('h2',{staticClass:\"section-heading\"},[_vm._v(\" \"+_vm._s(_vm.$t('home.reasons.title'))+\" \")]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-lg-4 col-sm-6 reason-wrapper\"},[_c('div',{staticClass:\"reason shine-icon-container\"},[_c('div',{staticClass:\"content\"},[_c('div',{staticClass:\"icon shine-icon yen\"},[_c('div',{staticClass:\"default\"},[_c('img',{attrs:{\"src\":require(\"@/assets/images/8-reasons-$.png\")}})]),_c('div',{staticClass:\"hover\"},[_c('div',{staticClass:\"shine\"}),_c('img',{attrs:{\"src\":require(\"@/assets/images/8-reasons-$.png\")}})])]),_c('h3',{staticClass:\"heading\"},[_vm._v(\" \"+_vm._s(_vm.$t('home.reasons.quick-fund'))+\" \")]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('home.reasons.quick-fund-description'))+\" \")])])])]),_c('div',{staticClass:\"col-lg-4 col-sm-6 reason-wrapper\"},[_c('div',{staticClass:\"reason shine-icon-container\"},[_c('div',{staticClass:\"content\"},[_c('div',{staticClass:\"icon shine-icon mobile\"},[_c('div',{staticClass:\"default\"},[_c('img',{attrs:{\"src\":require(\"@/assets/images/8-reasons-$.png\")}})]),_c('div',{staticClass:\"hover\"},[_c('div',{staticClass:\"shine\"}),_c('img',{attrs:{\"src\":require(\"@/assets/images/8-reasons-$.png\")}})])]),_c('h3',{staticClass:\"heading\"},[_vm._v(\" \"+_vm._s(_vm.$t('home.reasons.mobile'))+\" \")]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('home.reasons.mobile-description'))+\" \")])])])]),_c('div',{staticClass:\"col-lg-4 col-sm-6 reason-wrapper\"},[_c('div',{staticClass:\"reason shine-icon-container\"},[_c('div',{staticClass:\"content\"},[_c('div',{staticClass:\"icon shine-icon two-fold\"},[_c('div',{staticClass:\"default\"},[_c('img',{attrs:{\"src\":require(\"@/assets/images/8-reasons-$.png\")}})]),_c('div',{staticClass:\"hover\"},[_c('div',{staticClass:\"shine\"}),_c('img',{attrs:{\"src\":require(\"@/assets/images/8-reasons-$.png\")}})])]),_c('h3',{staticClass:\"heading\"},[_vm._v(\" \"+_vm._s(_vm.$t('home.reasons.payout'))+\" \")]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('home.reasons.payout-description'))+\" \")])])])]),_c('div',{staticClass:\"col-lg-4 col-sm-6 reason-wrapper\"},[_c('div',{staticClass:\"reason shine-icon-container\"},[_c('div',{staticClass:\"content\"},[_c('div',{staticClass:\"icon shine-icon support\"},[_c('div',{staticClass:\"default\"},[_c('img',{attrs:{\"src\":require(\"@/assets/images/8-reasons-$.png\")}})]),_c('div',{staticClass:\"hover\"},[_c('div',{staticClass:\"shine\"}),_c('img',{attrs:{\"src\":require(\"@/assets/images/8-reasons-$.png\")}})])]),_c('h3',{staticClass:\"heading\"},[_vm._v(\" \"+_vm._s(_vm.$t('home.reasons.support'))+\" \")]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('home.reasons.support-description'))+\" \")])])])]),_c('div',{staticClass:\"col-lg-4 col-sm-6 reason-wrapper\"},[_c('div',{staticClass:\"reason shine-icon-container\"},[_c('div',{staticClass:\"content\"},[_c('div',{staticClass:\"icon shine-icon five-k cashback-idr\"},[_c('div',{staticClass:\"default\"},[_c('img',{attrs:{\"src\":require(\"@/assets/images/8-reasons-$.png\")}})]),_c('div',{staticClass:\"hover\"},[_c('div',{staticClass:\"shine\"}),_c('img',{attrs:{\"src\":require(\"@/assets/images/8-reasons-$.png\")}})])]),_c('h3',{staticClass:\"heading\"},[_vm._v(\" \"+_vm._s(_vm.$t('home.reasons.cashback'))+\" \")]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('home.reasons.cashback-description'))+\" \")])])])]),_c('div',{staticClass:\"col-lg-4 col-sm-6 reason-wrapper\"},[_c('div',{staticClass:\"reason shine-icon-container\"},[_c('div',{staticClass:\"content\"},[_c('div',{staticClass:\"icon shine-icon expert\"},[_c('div',{staticClass:\"default\"},[_c('img',{attrs:{\"src\":require(\"@/assets/images/8-reasons-$.png\")}})]),_c('div',{staticClass:\"hover\"},[_c('div',{staticClass:\"shine\"}),_c('img',{attrs:{\"src\":require(\"@/assets/images/8-reasons-$.png\")}})])]),_c('h3',{staticClass:\"heading\"},[_vm._v(\" \"+_vm._s(_vm.$t('home.reasons.specialist'))+\" \")]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('home.reasons.specialist-description'))+\" \")])])])])])])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"animated-banners grid-bg\"},[_c('b-carousel',{attrs:{\"id\":\"home-page-banners\",\"indicators\":\"\",\"interval\":4000}},[_c('b-slide',{attrs:{\"img-blank\":\"\"}},[_c('div',{staticClass:\"banner banner-animated\"},[_c('div',{staticClass:\"container\"},[_c('div',{staticClass:\"p-css-table p-css-table__fill\"},[_c('div',{staticClass:\"p-css-table-row\"},[_c('div',{staticClass:\"p-css-table-cell p-css-table-cell__center\"},[_c('div',{staticClass:\"animated-banner--text\"},[_c('div',{staticClass:\"animated-banner--illustration p-image-container-fade-in\",attrs:{\"id\":\"banner-1-ill\"}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/banner-1-graph.png\"),\"id\":\"banner-1-graph\"}}),_c('div',{staticClass:\"p-image-container-fade-in--content\",attrs:{\"id\":\"banner-1-disc\"}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/home-banner/banner-1-disc.svg\"),\"id\":\"banner-1-disc-img\"}}),_c('img',{attrs:{\"id\":\"banner-1-mountain-3\",\"src\":require(\"@/assets/images/home-banner/banner-1-mountain-3.svg\")}}),_c('img',{attrs:{\"id\":\"banner-1-mountain-2\",\"src\":require(\"@/assets/images/home-banner/banner-1-mountain-2.svg\")}}),_c('img',{attrs:{\"id\":\"banner-1-mountain-1\",\"src\":require(\"@/assets/images/home-banner/banner-1-mountain-1.svg\")}}),_c('img',{attrs:{\"id\":\"banner-1-pin\",\"src\":require(\"@/assets/images/home-banner/banner-1-pin.svg\")}})]),_c('img',{attrs:{\"src\":require(\"@/assets/images/banner-1-line.png\"),\"id\":\"banner-1-line\"}})]),_c('h1',{staticClass:\"animated-banner--heading\"},[_vm._l((_vm.$t('home.slides.payout.title').split('\\n')),function(line){return _c('span',{key:line},[_vm._v(\" \"+_vm._s(line)+\" \")])}),_c('div',{staticClass:\"animated-banner--heading-highlighter\"},_vm._l((_vm.$t('home.slides.payout.title').split('\\n')),function(line){return _c('span',{key:line},[_vm._v(\" \"+_vm._s(line)+\" \")])}),0)],2),_c('div',{staticClass:\"animated-banner--sub-heading\"},_vm._l((_vm.$t('home.slides.payout.description').split('\\n')),function(line){return _c('span',{key:line},[_vm._v(\" \"+_vm._s(line)+\" \")])}),0)])])])])])])]),_c('b-slide',{attrs:{\"img-blank\":\"\"}},[_c('div',{staticClass:\"banner banner-animated p-image-container-fade-in\"},[_c('div',{staticClass:\"animated-banner--bg p-image-container-fade-in--content\",attrs:{\"id\":\"banner-4-bg\"}}),_c('img',{staticClass:\"animated-banner--bg--mask p-image-container-fade-in--content\",attrs:{\"src\":require(\"@/assets/images/banner-mask.png\"),\"id\":\"banner-4-bg-mask\"}}),_c('div',{staticClass:\"animated-banner--bg-overlay grid-bg\"}),_c('div',{staticClass:\"container\"},[_c('div',{staticClass:\"p-css-table p-css-table__fill\"},[_c('div',{staticClass:\"p-css-table-row\"},[_c('div',{staticClass:\"p-css-table-cell p-css-table-cell__center\"},[_c('div',{staticClass:\"animated-banner--text\"},[_c('h1',{staticClass:\"animated-banner--heading\"},[_vm._l((_vm.$t('home.slides.platforms.title').split('\\n')),function(line){return _c('span',{key:line},[_vm._v(\" \"+_vm._s(line)+\" \")])}),_c('div',{staticClass:\"animated-banner--heading-highlighter\"},_vm._l((_vm.$t('home.slides.platforms.title').split('\\n')),function(line){return _c('span',{key:line},[_vm._v(\" \"+_vm._s(line)+\" \")])}),0)],2),_c('div',{staticClass:\"animated-banner--sub-heading\"},_vm._l((_vm.$t('home.slides.platforms.description').split('\\n')),function(line){return _c('span',{key:line},[_vm._v(\" \"+_vm._s(line)+\" \")])}),0)])])])])])])]),_c('b-slide',{attrs:{\"img-blank\":\"\"}},[_c('div',{staticClass:\"banner banner-animated\"},[_c('div',{staticClass:\"container\"},[_c('div',{staticClass:\"p-css-table p-css-table__fill\"},[_c('div',{staticClass:\"p-css-table-row\"},[_c('div',{staticClass:\"p-css-table-cell p-css-table-cell__center\"},[_c('div',{staticClass:\"animated-banner--text\"},[_c('div',{staticClass:\"animated-banner--illustration p-image-container-fade-in\",attrs:{\"id\":\"banner-3-ill\"}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/home-banner/banner-3-graph-grey.svg\"),\"id\":\"banner-3-graph-grey\"}}),_c('div',{staticClass:\"p-image-container-fade-in--content\",attrs:{\"id\":\"banner-3-disc\"}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/home-banner/banner-1-disc.svg\"),\"id\":\"banner-3-disc-img\"}}),_c('img',{attrs:{\"src\":require(\"@/assets/images/home-banner/banner-3-graph.svg\"),\"id\":\"banner-3-graph\"}}),_c('div',{attrs:{\"id\":\"banner-3-v-line\"}})]),_c('img',{attrs:{\"id\":\"banner-3-pin\",\"src\":require(\"@/assets/images/home-banner/banner-1-pin.svg\")}}),_c('img',{attrs:{\"src\":require(\"@/assets/images/banner-3-line.png\"),\"id\":\"banner-3-line\"}}),_c('div',{attrs:{\"id\":\"banner-3-stop-watch\"}},[_c('img',{attrs:{\"id\":\"banner-3-stop-watch-shadow\",\"src\":require(\"@/assets/images/banner-3-shadow.png\")}}),_c('div',{attrs:{\"id\":\"banner-3-stop-button-l-wrapper\"}},[_c('img',{attrs:{\"id\":\"banner-3-stop-button-l\",\"src\":require(\"@/assets/images/home-banner/banner-3-stop-button-l.svg\")}})]),_c('img',{attrs:{\"src\":require(\"@/assets/images/home-banner/banner-3-stop-button-r.svg\")}}),_c('img',{attrs:{\"src\":require(\"@/assets/images/home-banner/banner-3-stop-watch.svg\")}}),_c('div',{attrs:{\"id\":\"banner-3-stop-shade-wrapper\"}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/home-banner/banner-3-stop-shade.svg\"),\"id\":\"banner-3-stop-shade\"}})]),_c('img',{attrs:{\"id\":\"banner-3-stop-watch-mask\",\"src\":require(\"@/assets/images/home-banner/banner-3-stop-watch-mask.svg\")}})])]),_c('h1',{staticClass:\"animated-banner--heading\"},[_vm._l((_vm.$t('home.slides.demo.title').split('\\n')),function(line){return _c('span',{key:line},[_vm._v(\" \"+_vm._s(line)+\" \")])}),_c('div',{staticClass:\"animated-banner--heading-highlighter\"},_vm._l((_vm.$t('home.slides.demo.title').split('\\n')),function(line){return _c('span',{key:line},[_vm._v(\" \"+_vm._s(line)+\" \")])}),0)],2),_c('div',{staticClass:\"animated-banner--sub-heading\"},_vm._l((_vm.$t('home.slides.demo.description').split('\\n')),function(line){return _c('span',{key:line},[_vm._v(\" \"+_vm._s(line)+\" \")])}),0)])])])])])])])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\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!./HomeBanner.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!./HomeBanner.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./HomeBanner.vue?vue&type=template&id=1357d765&\"\nimport script from \"./HomeBanner.vue?vue&type=script&lang=js&\"\nexport * from \"./HomeBanner.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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"option-types-block news-list\"},[_c('h3',{staticClass:\"title\"},[_vm._v(\"お知らせ\")]),_c('ul',[_c('li',{staticClass:\"item\"},[_c('p',{staticClass:\"title\"},[_vm._v(\"【アップデート】\")]),_c('p',{staticClass:\"date\"},[_vm._v(\"日本時間2025年2月28日(金)\")]),_c('p',{staticClass:\"body\"},[_vm._v(\" オンラインウォレットサービスの「Peska」へのご出金が可能となりました。\"),_c('br'),_vm._v(\"ご入金についても近日中に対応予定です。 \")])]),_c('li',{staticClass:\"item\"},[_c('p',{staticClass:\"title\"},[_vm._v(\"【ご出金に関するお知らせ】\")]),_c('p',{staticClass:\"date\"},[_vm._v(\"日本時間2024年8月23日(金)\")]),_c('p',{staticClass:\"body\"},[_vm._v(\" 銀行振り込みによるご出金について、金融機関側から海外企業が利用している国内口座について犯罪収益やマネーロンダリング等防止の為、取引内容のチェックが厳しく行われております。\"),_c('br'),_vm._v(\" その影響により一部のユーザー様において公示スケジュールより遅延が発生しております。\"),_c('br'),_vm._v(\"金融機関側から確認作業が完了次第順次ユーザー様の口座の方へ送金される流れとなっております為、出金処理から数日経過後もお手元の口座に着金しない場合はお手数ですがカスタマーサービスまでお問い合わせ下さい。\"),_c('br'),_vm._v(\" ご心配をおかけし大変申し訳ございませんが、ご理解ご了承のほどよろしくお願い申し上げます。 \")])]),_c('li',{staticClass:\"item\"},[_c('p',{staticClass:\"title\"},[_vm._v(\"【アップデート】\")]),_c('p',{staticClass:\"date\"},[_vm._v(\"日本時間 2023年8月9日(水)\")]),_c('p',{staticClass:\"body\"},[_vm._v(\" ウォレットサービスのStickpayを導入しました。入金方法の一つとしてご活用ください。 \")])]),_c('li',{staticClass:\"item\"},[_c('p',{staticClass:\"title\"},[_vm._v(\"【アップデート】\")]),_c('p',{staticClass:\"date\"},[_vm._v(\"日本時間 2023年7月7日(金)\")]),_c('p',{staticClass:\"body\"},[_vm._v(\" 銀行入金先が変更されました。入金時に再度ご確認くださいますようよろしくお願い申し上げます。 \")])]),_c('li',{staticClass:\"item\"},[_c('p',{staticClass:\"title\"},[_vm._v(\"【アップデート】\")]),_c('p',{staticClass:\"date\"},[_vm._v(\"日本時間 2023年3月24日(金)\")]),_c('p',{staticClass:\"body\"},[_vm._v(\" 一時停止しておりましたクレジットカードでの決済を本日再開いたしましたのでお知らせいたします。\"),_c('br'),_vm._v(\" 今後もお客様への一層のサービス向上に取組んで参りますので、引き続きご愛顧賜りますようよろしくお願い申し上げます。 \")])]),_c('li',{staticClass:\"item\"},[_c('p',{staticClass:\"title\"},[_vm._v(\"【アップデート】\")]),_c('p',{staticClass:\"date\"},[_vm._v(\"日本時間 2022年9月13日(火)\")]),_c('p',{staticClass:\"body\"},[_vm._v(\" 弊社のお取引口座への入金方法にクレジットカード入金が追加されました。\"),_c('br'),_vm._v(\" VISAカード/masterカードに対応しております。\"),_c('br'),_vm._v(\" よりスピーディーな入金方法としてご活用くださいませ。\"),_c('br')])]),_c('li',{staticClass:\"item\"},[_c('p',{staticClass:\"title\"},[_vm._v(\"【アップデート】\")]),_c('p',{staticClass:\"date\"},[_vm._v(\"日本時間 2022年7月10日(日)\")]),_c('p',{staticClass:\"body\"},[_vm._v(\" トレーディングパネルが更新され、よりお取引がしやすくなりました! \")])]),_c('li',{staticClass:\"item\"},[_c('p',{staticClass:\"title\"},[_vm._v(\"【メンテナンス】\")]),_c('p',{staticClass:\"date\"},[_vm._v(\"日本時間 2022年3月12日(土) 19時~翌日午前7時30分\")]),_c('p',{staticClass:\"body\"},[_vm._v(\" システムメンテナンス中はレート更新が停止いたしますのでご注意ください。メンテナンス終了後レート更新が再開いたします。\"),_c('br'),_vm._v(\"お客様にはご不便をおかけいたしますが、何卒ご理解賜りますようお願い申し上げます。 \")])])])])])}]\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./HomeNews.vue?vue&type=template&id=edc29dbe&\"\nvar script = {}\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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-tabs',{attrs:{\"custom-nav-class\":\"container\"},on:{\"before-change\":_vm.beforeChange,\"after-change\":_vm.afterChange}},[_c('b-tab',{attrs:{\"id\":\"beginner\",\"htmlTitle\":\"\",\"title\":_vm.$t('home.demo.new.title'),\"tab-classes\":{'beginner col-md-4 col-sm-5 col-md-offset-4 col-sm-offset-4':true}}},[_c('div',{staticClass:\"container\"},[_c('p',{staticClass:\"instruction\",domProps:{\"innerHTML\":_vm._s(_vm.$t('home.demo.new.description'))}}),_c('DemoWidget')],1)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","// Copy from uiv\r\nexport function isElement (el) {\r\n return el && el.nodeType === Node.ELEMENT_NODE\r\n}\r\n\r\nexport function removeFromDom (el) {\r\n isElement(el) && isElement(el.parentNode) && el.parentNode.removeChild(el)\r\n}\r\n\r\nexport function addClass (el, className) {\r\n if (!isElement(el)) {\r\n return\r\n }\r\n if (el.className) {\r\n let classes = el.className.split(' ')\r\n if (classes.indexOf(className) < 0) {\r\n classes.push(className)\r\n el.className = classes.join(' ')\r\n }\r\n } else {\r\n el.className = className\r\n }\r\n}\r\n\r\nexport function removeClass (el, className) {\r\n if (!isElement(el)) {\r\n return\r\n }\r\n if (el.className) {\r\n let classes = el.className.split(' ')\r\n let newClasses = []\r\n for (let i = 0, l = classes.length; i < l; i++) {\r\n if (classes[i] !== className) {\r\n newClasses.push(classes[i])\r\n }\r\n }\r\n el.className = newClasses.join(' ')\r\n }\r\n}\r\n\r\nexport function hasClass (el, className) {\r\n if (!isElement(el)) {\r\n return false\r\n }\r\n let classes = el.className.split(' ')\r\n for (let i = 0, l = classes.length; i < l; i++) {\r\n if (classes[i] === className) {\r\n return true\r\n }\r\n }\r\n return false\r\n}\r\n\r\nexport function focus (el) {\r\n if (!isElement(el)) {\r\n return\r\n }\r\n el.getAttribute('tabindex') ? null : el.setAttribute('tabindex', '-1')\r\n el.focus()\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('intersect',{on:{\"enter\":function($event){return _vm.comeIn()}}},[_c('div',{staticClass:\"demo-widget\"},[_c('div',{staticClass:\"interactive-widget\"},[_c('div',{staticClass:\"graph-wrapper\"},[_c('div',{staticClass:\"graph\"},[_c('div',{staticClass:\"active-graph\"},[_c('div',{staticClass:\"background\"}),_c('div',{staticClass:\"finish-line\"}),_c('div',{staticClass:\"v-tick\"}),_c('div',{staticClass:\"v-tick\"}),_c('div',{staticClass:\"v-tick\"}),_c('div',{staticClass:\"v-tick\"}),_c('div',{staticClass:\"v-tick ie\"}),_c('div',{staticClass:\"trace\"}),_c('div',{staticClass:\"render\",attrs:{\"id\":\"sparkline\"}}),_c('div',{staticClass:\"arrow-up arrow\"}),_c('div',{staticClass:\"arrow-down arrow\"}),_c('img',{staticClass:\"bet high win\",attrs:{\"src\":require(\"@/assets/images/high-win.png\")}}),_c('img',{staticClass:\"bet high lose\",attrs:{\"src\":require(\"@/assets/images/high-lose.png\")}}),_c('img',{staticClass:\"bet low win\",attrs:{\"src\":require(\"@/assets/images/low-win.png\")}}),_c('img',{staticClass:\"bet low lose\",attrs:{\"src\":require(\"@/assets/images/low-lose.png\")}})])]),_c('div',{staticClass:\"currency\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"home.demo.new.widget.currency\"))+\" \")])]),_c('span',{staticClass:\"button-wrapper high\"},[_c('div',{staticClass:\"button high\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"home.demo.new.widget.high\"))+\" \"),_c('div',{staticClass:\"bottom\"}),_c('div',{staticClass:\"corner\"})])]),_c('span',{staticClass:\"button-wrapper low\"},[_c('div',{staticClass:\"button low\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"home.demo.new.widget.low\"))+\" \"),_c('div',{staticClass:\"bottom\"}),_c('div',{staticClass:\"corner\"})])]),_c('div',{staticClass:\"reset-button try-again\",on:{\"click\":function($event){return _vm.reset()}}},[_c('span',{staticClass:\"word\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"home.demo.new.widget.reset\"))+\" \")])]),_c('div',{staticClass:\"floating-tip\"},[_c('div',{staticClass:\"tip\"},[_c('div',{staticClass:\"content\"},[_c('div',{staticClass:\"triangle-up\"}),_c('span',{staticClass:\"word message\"},[_vm._v(_vm._s(_vm.$t(\"home.demo.new.widget.try-it\")))])])])]),_c('div',{staticClass:\"timeline-wrapper\"},[_c('div',{staticClass:\"timeline\"},[_c('div',{staticClass:\"tick\"},[_vm._v(\" 12:10 \")]),_c('div',{staticClass:\"tick\"},[_vm._v(\" 12:15 \")]),_c('div',{staticClass:\"tick\"},[_vm._v(\" 12:20 \")]),_c('div',{staticClass:\"tick\"},[_vm._v(\" 12:25 \")]),_c('div',{staticClass:\"tick\"},[_vm._v(\" 12:30 \")]),_c('div',{staticClass:\"tick\"},[_c('span',{staticClass:\"highlight\"},[_vm._v(\" 12:35 \"),_c('div',{staticClass:\"triangle-up\"})])])])])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\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!./DemoWidget.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!./DemoWidget.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DemoWidget.vue?vue&type=template&id=18acefc1&\"\nimport script from \"./DemoWidget.vue?vue&type=script&lang=js&\"\nexport * from \"./DemoWidget.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","\r\n\r\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!./ForBeginnersAndExperts.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!./ForBeginnersAndExperts.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ForBeginnersAndExperts.vue?vue&type=template&id=42a9a1bd&\"\nimport script from \"./ForBeginnersAndExperts.vue?vue&type=script&lang=js&\"\nexport * from \"./ForBeginnersAndExperts.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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('intersect',{on:{\"enter\":function($event){return _vm.comeIn()},\"leave\":function($event){return _vm.comeOut()}}},[_c('div',{staticClass:\"on-the-go\"},[_c('div',{ref:\"bg\",staticClass:\"bg\"}),_c('div',{ref:\"bg-blur\",staticClass:\"bg-blur parallax\"}),_c('div',{ref:\"bg-overlay\",staticClass:\"make-fill bg-overlay grid-bg transparent\"}),_c('div',{staticClass:\"container content\"},[_c('div',{ref:\"copy\",staticClass:\"copy\"},[_c('div',{staticClass:\"section-heading\"},[_vm._v(\" \"+_vm._s(_vm.$t('home.mobile-ad'))+\" \")])])]),_c('div',{staticClass:\"illustrations\"},[_c('div',{staticClass:\"container full-height\"},[_c('img',{ref:\"htc\",staticClass:\"phone htc\",attrs:{\"data-src\":\"@/assets/images/htc.png\",\"src\":require(\"@/assets/images/htc.png\")}}),_c('img',{ref:\"iphone\",staticClass:\"phone iphone\",attrs:{\"data-src\":\"@/assets/images/iphone-new.png\",\"src\":require(\"@/assets/images/iphone-new.png\")}})])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\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!./OnTheGo.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!./OnTheGo.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./OnTheGo.vue?vue&type=template&id=23b0d94e&\"\nimport script from \"./OnTheGo.vue?vue&type=script&lang=js&\"\nexport * from \"./OnTheGo.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","\r\n\r\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!./Home.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!./Home.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Home.vue?vue&type=template&id=1c6da0c6&\"\nimport script from \"./Home.vue?vue&type=script&lang=js&\"\nexport * from \"./Home.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","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\n\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\n\nvar isConcatSpreadable = function (O) {\n if (!isObject(O)) return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n\n// `Array.prototype.concat` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, forced: FORCED }, {\n concat: function concat(arg) { // eslint-disable-line no-unused-vars\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = toLength(E.length);\n if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n } else {\n if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n","module.exports = __webpack_public_path__ + \"assets/img/banner-3-stop-shade.svg\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAcCAYAAACOGPReAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDIxIDc5LjE1NTc3MiwgMjAxNC8wMS8xMy0xOTo0NDowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTQgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QzU1QkM1NjkyM0I5MTFFNEE2RkJEMTc2REFGMjE0QkYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QzU1QkM1NkEyM0I5MTFFNEE2RkJEMTc2REFGMjE0QkYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpDNTVCQzU2NzIzQjkxMUU0QTZGQkQxNzZEQUYyMTRCRiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpDNTVCQzU2ODIzQjkxMUU0QTZGQkQxNzZEQUYyMTRCRiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PjYx3swAAAHZSURBVHjarJXNK0RhFIfPjFtmoaQGJbMho8hHM2RhYWslbHyUDStFUv4MFpSURJGapYWFrWRF46shM5kNWaCUKTMo+R3Ona7rfa9rrl89Nfe95zwzvfe9Z3zLK+ukSSsYAZ0gBILgAVyDfbABjlWNhmKtBsyCXuCz3asSOsA02AIzIG0t8tuaukEc9CmE9vikLi59SmkP2Aal9LeUSl+PXVoHNkERFZYi6Q9bpQughLyF++dNadS+Jx7Cnig//WGnqkCgmJqbGilcV0vJ1BWdniUol3txahk25BxqZY0N9WQYXyevpfnrOnF+6STv8svB/pGhgf5PiSnMH2xc8zrf16SGpZXKt8IwHDfP4X4ZS5/cPIFsNuf2YT3y112BNl3F3f0DxeMndH1zS6HqKopEWqiiPOgkTbN0TyW1yszwZ6tck10fphQLD+j/0s57egh2/knInkPzNZ0Crx6Fb+LJv/tJMOlROiGeb6NvGcwVKJyTfuWQ5ike+6MwJn3ayc8ZBWcuhVw3Zl9USbNgADz/InzW1fk1DRey8U6ZlDpyK+WsyV+EKry+qmv0//Jrxs1jYklK1qlQaQYMAnMav8g+ZrxIOUeWIzMj186z1uXRWQTvYMlN8YcAAwCv9nLg3T8SjgAAAABJRU5ErkJggg==\"","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar has = require('../internals/has');\nvar classof = require('../internals/classof-raw');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar toPrimitive = require('../internals/to-primitive');\nvar fails = require('../internals/fails');\nvar create = require('../internals/object-create');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar trim = require('../internals/string-trim').trim;\n\nvar NUMBER = 'Number';\nvar NativeNumber = global[NUMBER];\nvar NumberPrototype = NativeNumber.prototype;\n\n// Opera ~12 has broken Object#toString\nvar BROKEN_CLASSOF = classof(create(NumberPrototype)) == NUMBER;\n\n// `ToNumber` abstract operation\n// https://tc39.github.io/ecma262/#sec-tonumber\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n var first, third, radix, maxCode, digits, length, index, code;\n if (typeof it == 'string' && it.length > 2) {\n it = trim(it);\n first = it.charCodeAt(0);\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal of /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i\n default: return +it;\n }\n digits = it.slice(2);\n length = digits.length;\n for (index = 0; index < length; index++) {\n code = digits.charCodeAt(index);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\n// `Number` constructor\n// https://tc39.github.io/ecma262/#sec-number-constructor\nif (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) {\n var NumberWrapper = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var dummy = this;\n return dummy instanceof NumberWrapper\n // check on 1..constructor(foo) case\n && (BROKEN_CLASSOF ? fails(function () { NumberPrototype.valueOf.call(dummy); }) : classof(dummy) != NUMBER)\n ? inheritIfRequired(new NativeNumber(toNumber(it)), dummy, NumberWrapper) : toNumber(it);\n };\n for (var keys = DESCRIPTORS ? getOwnPropertyNames(NativeNumber) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES2015 (in case, if modules with ES2015 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(NativeNumber, key = keys[j]) && !has(NumberWrapper, key)) {\n defineProperty(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key));\n }\n }\n NumberWrapper.prototype = NumberPrototype;\n NumberPrototype.constructor = NumberWrapper;\n redefine(global, NUMBER, NumberWrapper);\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar toInteger = require('../internals/to-integer');\nvar thisNumberValue = require('../internals/this-number-value');\nvar repeat = require('../internals/string-repeat');\nvar fails = require('../internals/fails');\n\nvar nativeToFixed = 1.0.toFixed;\nvar floor = Math.floor;\n\nvar pow = function (x, n, acc) {\n return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);\n};\n\nvar log = function (x) {\n var n = 0;\n var x2 = x;\n while (x2 >= 4096) {\n n += 12;\n x2 /= 4096;\n }\n while (x2 >= 2) {\n n += 1;\n x2 /= 2;\n } return n;\n};\n\nvar FORCED = nativeToFixed && (\n 0.00008.toFixed(3) !== '0.000' ||\n 0.9.toFixed(0) !== '1' ||\n 1.255.toFixed(2) !== '1.25' ||\n 1000000000000000128.0.toFixed(0) !== '1000000000000000128'\n) || !fails(function () {\n // V8 ~ Android 4.3-\n nativeToFixed.call({});\n});\n\n// `Number.prototype.toFixed` method\n// https://tc39.github.io/ecma262/#sec-number.prototype.tofixed\n$({ target: 'Number', proto: true, forced: FORCED }, {\n // eslint-disable-next-line max-statements\n toFixed: function toFixed(fractionDigits) {\n var number = thisNumberValue(this);\n var fractDigits = toInteger(fractionDigits);\n var data = [0, 0, 0, 0, 0, 0];\n var sign = '';\n var result = '0';\n var e, z, j, k;\n\n var multiply = function (n, c) {\n var index = -1;\n var c2 = c;\n while (++index < 6) {\n c2 += n * data[index];\n data[index] = c2 % 1e7;\n c2 = floor(c2 / 1e7);\n }\n };\n\n var divide = function (n) {\n var index = 6;\n var c = 0;\n while (--index >= 0) {\n c += data[index];\n data[index] = floor(c / n);\n c = (c % n) * 1e7;\n }\n };\n\n var dataToString = function () {\n var index = 6;\n var s = '';\n while (--index >= 0) {\n if (s !== '' || index === 0 || data[index] !== 0) {\n var t = String(data[index]);\n s = s === '' ? t : s + repeat.call('0', 7 - t.length) + t;\n }\n } return s;\n };\n\n if (fractDigits < 0 || fractDigits > 20) throw RangeError('Incorrect fraction digits');\n // eslint-disable-next-line no-self-compare\n if (number != number) return 'NaN';\n if (number <= -1e21 || number >= 1e21) return String(number);\n if (number < 0) {\n sign = '-';\n number = -number;\n }\n if (number > 1e-21) {\n e = log(number * pow(2, 69, 1)) - 69;\n z = e < 0 ? number * pow(2, -e, 1) : number / pow(2, e, 1);\n z *= 0x10000000000000;\n e = 52 - e;\n if (e > 0) {\n multiply(0, z);\n j = fractDigits;\n while (j >= 7) {\n multiply(1e7, 0);\n j -= 7;\n }\n multiply(pow(10, j, 1), 0);\n j = e - 1;\n while (j >= 23) {\n divide(1 << 23);\n j -= 23;\n }\n divide(1 << j);\n multiply(1, 1);\n divide(2);\n result = dataToString();\n } else {\n multiply(0, z);\n multiply(1 << -e, 0);\n result = dataToString() + repeat.call('0', fractDigits);\n }\n }\n if (fractDigits > 0) {\n k = result.length;\n result = sign + (k <= fractDigits\n ? '0.' + repeat.call('0', fractDigits - k) + result\n : result.slice(0, k - fractDigits) + '.' + result.slice(k - fractDigits));\n } else {\n result = sign + result;\n } return result;\n }\n});\n","module.exports = __webpack_public_path__ + \"assets/img/8-reasons-$.png\";","module.exports = __webpack_public_path__ + \"assets/img/option-types-bg-3.jpg\";","module.exports = __webpack_public_path__ + \"assets/img/banner-1-disc.svg\";","var $ = require('../internals/export');\nvar fill = require('../internals/array-fill');\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// `Array.prototype.fill` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.fill\n$({ target: 'Array', proto: true }, {\n fill: fill\n});\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('fill');\n","'use strict';\nvar $ = require('../internals/export');\nvar $map = require('../internals/array-iteration').map;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');\n// FF49- issue\nvar USES_TO_LENGTH = arrayMethodUsesToLength('map');\n\n// `Array.prototype.map` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.map\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAcCAYAAACOGPReAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDIxIDc5LjE1NTc3MiwgMjAxNC8wMS8xMy0xOTo0NDowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RUY1NzU3N0U2NEJFMTFFNDg4RjFFQjM4MDk5MzFCNkUiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RUY1NzU3N0Q2NEJFMTFFNDg4RjFFQjM4MDk5MzFCNkUiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTQgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpDNTVCQzU2NTIzQjkxMUU0QTZGQkQxNzZEQUYyMTRCRiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpDNTVCQzU2NjIzQjkxMUU0QTZGQkQxNzZEQUYyMTRCRiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pm7+ak4AAAIdSURBVHjarJZLS1tBFMdPHqgYsLqxaCVFY7EiNNSYEF00dRGki3YjiF24EKlLP4BfQBChj5UYRdvGhX6EuNBCKhRf2ELSxhgX8a2raFwopP0fmYSYzO2dJB74Be6cM787j3vnxjA1/YUUohLMgkFwlZ14NzSQV2wktXgP+sAHlWIV6VswnB6YuC5JagOTOW2Tor0oaRlYAFU57Xy9KPIFS8eBQyPXLvIFSV+DEZ2l4fwbVakVfAYGHSnn53wzX616UhMIgBrFR43rAhCbtKR851XQQoUF169CbJBJ54GLiguX6H9H6gX9VFr0Y7TetJT5qLAxpLBxnyA2svAVaM17BKwNZDTK78PtnJfEU/aZ8dMry/Z4uymZTNL6xjZFd2OUSv29lTXbmqjDYSeLxUIYlaxrL0vdWvPhjp4XXWR/1kY70Rg9aW6i6uoHesvQydLHelUscnY8V11bK69pOd1vVLD0XJYJ/45gHVPSXtzOeY044+mHwcPcTPD7D/r5K0SOdjs2pzHTHt3do43NbUokLrSkYbN411/KstxxeSVIa+tb9Ki+jg4Oj+jyMqk3/QBP3w+u/1fFoj+RqIqQPX6WxoHvnjbJh69rPP3uj4JYicKY8GQOlIQ47U+KFB5zf4wykXv0hYATbBUo5HoXhCGtkz8uXttRrec3K85FnZvXMTth1tjBMTABPOKs5SOpFpyCfbAEvoEb2d+efwIMAOkdjbqtS7DLAAAAAElFTkSuQmCC\"","module.exports = __webpack_public_path__ + \"assets/img/banner-3-stop-button-l.svg\";","module.exports = __webpack_public_path__ + \"assets/img/option-types.png\";","module.exports = __webpack_public_path__ + \"assets/img/why-binaries.png\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAxgAAAACCAMAAADsBoo2AAAATlBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////+QlxstAAAAGnRSTlMAd4gGCHCAAQIMGhMjYSxOWIVoRTVse3Q+Ow7vV7EAAAE5SURBVDjL7ZRbjsIwEAQ7TJIZTB7O0+T+F922RwQW7QEWiRIq8QNCmWpAlLzYACMPi4nQpLhW1ERxJW7DjSgdAhCIIXRdZ+i6YVAMxHRY19WwHve74L4si2AZx1EwjjEaqN409n0v6Od5prdtE8xN0wg2usaWUuL7KlWCpqq+/jjzdolOTfLL0rzyeXEiiH2MknsYaWJYiIHhHOyHmBeFbvDGutwbYYHhdvMa8eyztlys1/viZ+Gq9uif0JS/yMOm/gG3vH2dT6I+J6F6LZOggvokNAT/ufRzEofpH5OI+RGUMag/mnkrM0h8iNrs+y6o9ratsbfTRE/ZrfsyXbIvX/97T+6pVr8gXW7atoLEK5fZJP/7E/01EuLzYDNEOI/jfR6E1b3OgxR7pdneLTl7tmwj7nMYioL+AN3ZH1lI9Ip/AAAAAElFTkSuQmCC\"","module.exports = __webpack_public_path__ + \"assets/img/option-types-bg-4.jpg\";"],"sourceRoot":""}