n&&(n=a.x+d,e=b),a.x-dn&&(n=a.x+c,e=b):b>this.valuesCount/2&&a.x-c
0){var d,e=c*(this.drawingArea/this.steps),f=this.yCenter-e;if(this.lineWidth>0)if(a.strokeStyle=this.lineColor,a.lineWidth=this.lineWidth,this.lineArc)a.beginPath(),a.arc(this.xCenter,this.yCenter,e,0,2*Math.PI),a.closePath(),a.stroke();else{a.beginPath();for(var g=0;g=0;b--){if(this.angleLineWidth>0){var c=this.getPointPosition(b,this.calculateCenterOffset(this.max));a.beginPath(),a.moveTo(this.xCenter,this.yCenter),a.lineTo(c.x,c.y),a.stroke(),a.closePath()}var d=this.getPointPosition(b,this.calculateCenterOffset(this.max)+5);a.font=G(this.pointLabelFontSize,this.pointLabelFontStyle,this.pointLabelFontFamily),a.fillStyle=this.pointLabelFontColor;var f=this.labels.length,g=this.labels.length/2,h=g/2,i=h>b||b>f-h,j=b===h||b===f-h;0===b?a.textAlign="center":b===g?a.textAlign="center":g>b?a.textAlign="left":a.textAlign="right",j?a.textBaseline="middle":i?a.textBaseline="bottom":a.textBaseline="top",a.fillText(this.labels[b],d.x,d.y)}}}}}),d.addEvent(window,"resize",function(){var a;return function(){clearTimeout(a),a=setTimeout(function(){e(c.instances,function(a){a.options.responsive&&a.resize(a.render,!0)})},50)}}()),n?define(function(){return c}):"object"==typeof module&&module.exports&&(module.exports=c),a.Chart=c,c.noConflict=function(){return a.Chart=b,c}}.call(this),function(){"use strict";var a=this,b=a.Chart,c=b.helpers,d={labelsFilter:function(a,b){return!1},scaleBeginAtZero:!0,scaleShowGridLines:!0,scaleGridLineColor:"rgba(0,0,0,.05)",scaleGridLineWidth:1,scaleShowHorizontalLines:!0,scaleShowVerticalLines:!0,barShowStroke:!0,barStrokeWidth:2,barValueSpacing:5,barDatasetSpacing:1,overlayBars:!1,labelLength:0,legendTemplate:'<% for (var i=0; i <%if(datasets[i].label){%><%=datasets[i].label%><%}%> <%}%> ',yAxes:[],scalePositionLeft:!0};b.Type.extend({name:"Bar",defaults:d,initialize:function(a){var d=this.options;if(this.ScaleClass=b.Scale.extend({offsetGridLines:!0,calculateBarX:function(a,b,c,e){e&&(b=0);var f=this.calculateBaseWidth(),g=this.calculateX(c)-f/2,h=this.calculateBarWidth(a,e);return g+h*b+b*d.barDatasetSpacing+h/2},calculateBaseWidth:function(){return this.calculateX(1)-this.calculateX(0)-2*d.barValueSpacing},calculateBarWidth:function(a,b,c,e){b&&(a=1);var f=this.calculateBaseWidth()-(a-1)*d.barDatasetSpacing;return f/a}}),this.datasets=[],this.yAxes=a.yAxes,this.options.showTooltips&&c.bindEvents(this,this.options.tooltipEvents,function(a){var b="mouseout"!==a.type?this.getBarsAtEvent(a):[];this.eachBars(function(a){a.restore(["fillColor","strokeColor"])}),c.each(b,function(a){a&&(a.fillColor=a.highlightFill,a.strokeColor=a.highlightStroke)}),this.showTooltip(b)}),this.BarClass=b.Rectangle.extend({strokeWidth:this.options.barStrokeWidth,showStroke:this.options.barShowStroke,ctx:this.chart.ctx}),c.each(a.datasets,function(b,d){var e={label:b.label||null,fillColor:b.fillColor,strokeColor:b.strokeColor,showTooltip:b.showTooltip,bars:[],yAxesGroup:b.yAxesGroup,values:b.data};this.datasets.push(e),c.each(b.data,function(c,d){e.bars.push(new this.BarClass({value:c,showTooltip:void 0===b.showTooltip?!0:b.showTooltip,label:a.labels[d],datasetLabel:b.label,strokeColor:b.strokeColor,fillColor:b.fillColor,highlightFill:b.highlightFill||b.fillColor,highlightStroke:b.highlightStroke||b.strokeColor,yAxesGroup:b.yAxesGroup}))},this)},this),this.buildScale(a.labels),this.scale.min<0){var e=-1*parseFloat(this.scale.min)/(this.scale.max-this.scale.min)*1,f=this.scale.endPoint-this.scale.startPoint,g=e*f,h=this.scale.endPoint-g+this.options.scaleGridLineWidth;this.BarClass.prototype.base=h}else this.BarClass.prototype.base=this.scale.endPoint;this.eachBars(function(a,b,d){c.extend(a,{width:this.scale.calculateBarWidth(this.datasets.length,this.options.overlayBars),x:this.scale.calculateBarX(this.datasets.length,d,b,this.options.overlayBars),y:a.base}),a.save()},this),this.render()},update:function(){this.scale.update(),c.each(this.activeElements,function(a){a.restore(["fillColor","strokeColor"])}),this.eachBars(function(a){a.save()}),this.render()},eachBars:function(a){c.each(this.datasets,function(b,d){c.each(b.bars,a,this,d)},this)},getBarsAtEvent:function(a){for(var b,d=[],e=c.getRelativePosition(a),f=function(a){d.push(a.bars[b])},g=0;gb.value&&(b=a[c]);return b},drawDatasets:function(a,b){if(this.options.overlayBars&&a[0])for(var d=0;d0;){var h=this.getLargestValue(e),i=a[h.datasetIndex].bars[h.index];i.hasValue()&&(this.scale.getAxisMin(i)<0?i.base=this.scale.getAxisBase(i):i.base=this.scale.endPoint,i.transition({x:this.scale.calculateBarX(a.length,f,d,this.options.overlayBars),y:this.scale.calculateY(i),width:this.scale.calculateBarWidth(a.length,this.options.overlayBars)},b).draw());var j=c.indexOf(e,h);e=0===j?1===e.length?[]:e.slice(-1*e.length+1):e.slice(0,j).concat(e.slice(j+1,e.length))}}else c.each(a,function(d,e){c.each(d.bars,function(c,d){c.hasValue()&&(this.scale.getAxisMin(c)<0?c.base=this.scale.getAxisBase(c):c.base=this.scale.endPoint,c.transition({x:this.scale.calculateBarX(a.length,e,d,this.options.overlayBars),y:this.scale.calculateY(c),width:this.scale.calculateBarWidth(a.length,this.options.overlayBars)},b).draw())},this)},this)},draw:function(a){var b=a||1;this.clear(),this.chart.ctx,this.scale.draw(b),c.each(this.scale.yAxes._yAxes,function(a){var d=[];c.each(this.scale.datasets,function(b){b.yAxesGroup===a.name&&b.bars&&d.push(b)}),this.drawDatasets(d,b)},this)}})}.call(this),function(){"use strict";var a=this,b=a.Chart,c=b.helpers,d={segmentShowStroke:!0,segmentStrokeColor:"#fff",segmentStrokeWidth:2,percentageInnerCutout:50,animationSteps:100,animationEasing:"easeOutBounce",animateRotate:!0,scale:1,startAngle:1.5,animateScale:!1,legendTemplate:'<% for (var i=0; i <%if(segments[i].label){%><%=segments[i].label%><%}%> <%}%> '};b.Type.extend({name:"Doughnut",defaults:d,initialize:function(a){this.segments=[],this.outerRadius=(c.min([this.chart.width,this.chart.height])-this.options.segmentStrokeWidth/2)/2,this.SegmentArc=b.Arc.extend({ctx:this.chart.ctx,x:this.chart.width/2,y:this.chart.height/2}),this.options.showTooltips&&c.bindEvents(this,this.options.tooltipEvents,function(a){var b="mouseout"!==a.type?this.getSegmentsAtEvent(a):[];c.each(this.segments,function(a){a.restore(["fillColor"])}),c.each(b,function(a){a.fillColor=a.highlightColor}),this.showTooltip(b)}),this.calculateTotal(a),c.each(a,function(a,b){this.addData(a,b,!0)},this),this.render()},getSegmentsAtEvent:function(a){var b=[],d=c.getRelativePosition(a);return c.each(this.segments,function(a){a.inRange(d.x,d.y)&&b.push(a)},this),b},addData:function(a,b,c){var d=b||this.segments.length;this.segments.splice(d,0,new this.SegmentArc({value:a.value,outerRadius:this.options.animateScale?0:this.outerRadius,innerRadius:this.options.animateScale?0:this.outerRadius/100*this.options.percentageInnerCutout,fillColor:a.color,highlightColor:a.highlight||a.color,showStroke:this.options.segmentShowStroke,strokeWidth:this.options.segmentStrokeWidth,strokeColor:this.options.segmentStrokeColor,startAngle:Math.PI*this.options.startAngle,circumference:this.options.animateRotate?0:this.calculateCircumference(a.value),label:a.label})),c||(this.reflow(),this.update())},calculateCircumference:function(a){return 2*Math.PI*(Math.abs(a)/this.total)},calculateTotal:function(a){this.total=0,c.each(a,function(a){this.total+=Math.abs(a.value)},this),this.total=this.total/this.options.scale},update:function(){this.calculateTotal(this.segments),c.each(this.activeElements,function(a){a.restore(["fillColor"])}),c.each(this.segments,function(a){a.save()}),this.render()},removeData:function(a){var b=c.isNumber(a)?a:this.segments.length-1;this.segments.splice(b,1),this.reflow(),this.update()},reflow:function(){c.extend(this.SegmentArc.prototype,{x:this.chart.width/2,y:this.chart.height/2}),this.outerRadius=(c.min([this.chart.width,this.chart.height])-this.options.segmentStrokeWidth/2)/2,c.each(this.segments,function(a){a.update({outerRadius:this.outerRadius,innerRadius:this.outerRadius/100*this.options.percentageInnerCutout})},this)},draw:function(a){var b=a?a:1;this.clear(),c.each(this.segments,function(a,c){a.transition({circumference:this.calculateCircumference(a.value),outerRadius:this.outerRadius,innerRadius:this.outerRadius/100*this.options.percentageInnerCutout},b),a.endAngle=a.startAngle+a.circumference,a.draw(),0===c&&(a.startAngle=Math.PI*this.options.startAngle),c<% for (var i=0; i <%if(datasets[i].label){%><%=datasets[i].label%><%}%> <%}%>',yAxes:[],scalePositionLeft:!0};b.Type.extend({name:"Line",defaults:d,initialize:function(a){if(this.PointClass=b.Point.extend({strokeWidth:this.options.pointDotStrokeWidth,radius:this.options.pointDotRadius,display:this.options.pointDot,hitDetectionRadius:this.options.pointHitDetectionRadius,ctx:this.chart.ctx,inRange:function(a){return Math.pow(a-this.x,2)0)||a.points[c-1].ignore&&!this.options.populateSparseData||b.ignore&&!this.options.populateSparseData)(0===c||a.points[c-1].ignore&&!this.options.populateSparseData)&&d.moveTo(b.x,b.y);else if(a.points[c].ignore);else if(this.options.bezierCurve){var h=this.getLastDataPoint(a,c);h?d.bezierCurveTo(h.controlPoints.outer.x,h.controlPoints.outer.y,b.controlPoints.inner.x,b.controlPoints.inner.y,b.x,b.y):d.moveTo(b.x,b.y)}else d.lineTo(b.x,b.y);!(a.points.length>c+1&&a.points[c+1].ignore&&!this.options.populateSparseData||a.points.length==c+1)||b.ignore&&!this.options.populateSparseData||(d.stroke(),a.points.length==c+1&&b.ignore&&(b=this.getLastDataPoint(a,c)),this.options.datasetFill&&(d.lineTo(b.x,b.base),d.lineTo(f.x,b.base),d.fillStyle=a.fillColor,d.closePath(),b.x!=f.x&&d.fill()),e=!1)},this),c.each(a.points,function(a){a.ignore||a.draw()})},this)},getLastDataPoint:function(a,b){var c=null;if(this.options.populateSparseData){for(var d=b-1;d>=0;d--)if(!a.points[d].ignore){c=a.points[d];break}}else b--,b>=0&&!a.points[b].ignore&&(c=a.points[b]);return c},getNextDataPoint:function(a,b){var c=null;if(this.options.populateSparseData){for(var d=b+1;d0)if(this.datasets&&this.datasets.length>1){for(var f,g,h=this.lineDatasets.length-1;h>=0&&(f=this.lineDatasets[h].points,g=c.indexOf(f,a[0]),-1===g);h--);if(-1===g||void 0===g)for(h=this.barDatasets.length-1;h>=0&&(f=this.barDatasets[h].bars,g=c.indexOf(f,a[0]),-1===g);h--);var i=[],j=[],k=function(a){var b,d,e,f,h,k=[],l=[],m=[];return c.each(this.lineDatasets,function(a){b=a.points,b[g]&&b[g].hasValue()&&(void 0===b[g].showTooltip||b[g].showTooltip)&&k.push(b[g])}),c.each(this.barDatasets,function(a){b=a.bars,b[g]&&b[g].hasValue()&&(void 0===b[g].showTooltip||b[g].showTooltip)&&k.push(b[g])}),c.each(k,function(a){l.push(a.x),m.push(a.y),i.push(c.template(this.options.multiTooltipTemplate,a)),j.push({fill:a._saved.fillColor||a.fillColor,stroke:a._saved.strokeColor||a.strokeColor})},this),h=c.min(m),e=c.max(m),f=c.min(l),d=c.max(l),{x:f>this.chart.width/2?f:d,y:(h+e)/2}}.call(this,g);new b.MultiTooltip({x:k.x,y:k.y,xPadding:this.options.tooltipXPadding,yPadding:this.options.tooltipYPadding,xOffset:this.options.tooltipXOffset,fillColor:this.options.tooltipFillColor,textColor:this.options.tooltipFontColor,fontFamily:this.options.tooltipFontFamily,fontStyle:this.options.tooltipFontStyle,fontSize:this.options.tooltipFontSize,titleTextColor:this.options.tooltipTitleFontColor,titleFontFamily:this.options.tooltipTitleFontFamily,titleFontStyle:this.options.tooltipTitleFontStyle,titleFontSize:this.options.tooltipTitleFontSize,cornerRadius:this.options.tooltipCornerRadius,labels:i,legendColors:j,legendColorBackground:this.options.multiTooltipKeyBackground,title:a[0].label,chart:this.chart,ctx:this.chart.ctx,custom:this.options.customTooltips}).draw()}else c.each(a,function(a){var d=a.tooltipPosition();new b.Tooltip({x:Math.round(d.x),y:Math.round(d.y),xPadding:this.options.tooltipXPadding,yPadding:this.options.tooltipYPadding,fillColor:this.options.tooltipFillColor,textColor:this.options.tooltipFontColor,fontFamily:this.options.tooltipFontFamily,fontStyle:this.options.tooltipFontStyle,fontSize:this.options.tooltipFontSize,caretHeight:this.options.tooltipCaretSize,cornerRadius:this.options.tooltipCornerRadius,text:c.template(this.options.tooltipTemplate,a),chart:this.chart,custom:this.options.customTooltips}).draw()},this);return this}}})}.call(this),function(){"use strict";var a=this,b=a.Chart,c=b.helpers,d={scaleShowLabelBackdrop:!0,scaleBackdropColor:"rgba(255,255,255,0.75)",scaleBeginAtZero:!0,scaleBackdropPaddingY:2,scaleBackdropPaddingX:2,scaleShowLine:!0,segmentShowStroke:!0,segmentStrokeColor:"#fff",segmentStrokeWidth:2,animationSteps:100,animationEasing:"easeOutBounce",animateRotate:!0,animateScale:!1,legendTemplate:'<% for (var i=0; i <%if(segments[i].label){%><%=segments[i].label%><%}%> <%}%> '};b.Type.extend({name:"PolarArea",defaults:d,initialize:function(a){this.segments=[],this.SegmentArc=b.Arc.extend({showStroke:this.options.segmentShowStroke,strokeWidth:this.options.segmentStrokeWidth,strokeColor:this.options.segmentStrokeColor,ctx:this.chart.ctx,innerRadius:0,x:this.chart.width/2,y:this.chart.height/2}),this.scale=new b.RadialScale({display:this.options.showScale,fontStyle:this.options.scaleFontStyle,fontSize:this.options.scaleFontSize,fontFamily:this.options.scaleFontFamily,fontColor:this.options.scaleFontColor,showLabels:this.options.scaleShowLabels,showLabelBackdrop:this.options.scaleShowLabelBackdrop,backdropColor:this.options.scaleBackdropColor,backdropPaddingY:this.options.scaleBackdropPaddingY,backdropPaddingX:this.options.scaleBackdropPaddingX,lineWidth:this.options.scaleShowLine?this.options.scaleLineWidth:0,lineColor:this.options.scaleLineColor,lineArc:!0,width:this.chart.width,height:this.chart.height,xCenter:this.chart.width/2,yCenter:this.chart.height/2,ctx:this.chart.ctx,templateString:this.options.scaleLabel,valuesCount:a.length}),this.updateScaleRange(a),this.scale.update(),c.each(a,function(a,b){this.addData(a,b,!0)},this),this.options.showTooltips&&c.bindEvents(this,this.options.tooltipEvents,function(a){var b="mouseout"!==a.type?this.getSegmentsAtEvent(a):[];c.each(this.segments,function(a){a.restore(["fillColor"])}),c.each(b,function(a){a.fillColor=a.highlightColor}),this.showTooltip(b)}),this.render()},getSegmentsAtEvent:function(a){var b=[],d=c.getRelativePosition(a);return c.each(this.segments,function(a){a.inRange(d.x,d.y)&&b.push(a)},this),b},addData:function(a,b,c){var d=b||this.segments.length;this.segments.splice(d,0,new this.SegmentArc({fillColor:a.color,highlightColor:a.highlight||a.color,label:a.label,value:a.value,outerRadius:this.options.animateScale?0:this.scale.calculateCenterOffset(a.value),circumference:this.options.animateRotate?0:this.scale.getCircumference(),startAngle:1.5*Math.PI})),c||(this.reflow(),this.update())},removeData:function(a){var b=c.isNumber(a)?a:this.segments.length-1;this.segments.splice(b,1),this.reflow(),this.update()},calculateTotal:function(a){this.total=0,c.each(a,function(a){this.total+=a.value},this),this.scale.valuesCount=this.segments.length},updateScaleRange:function(a){var b=[];c.each(a,function(a){b.push(a.value)});var d=this.options.scaleOverride?{steps:this.options.scaleSteps,stepValue:this.options.scaleStepWidth,min:this.options.scaleStartValue,max:this.options.scaleStartValue+this.options.scaleSteps*this.options.scaleStepWidth}:c.calculateScaleRange(b,c.min([this.chart.width,this.chart.height])/2,this.options.scaleFontSize,this.options.scaleBeginAtZero,this.options.scaleIntegersOnly);c.extend(this.scale,d,{size:c.min([this.chart.width,this.chart.height]),xCenter:this.chart.width/2,yCenter:this.chart.height/2})},update:function(){this.calculateTotal(this.segments),c.each(this.segments,function(a){a.save()}),this.reflow(),this.render()},reflow:function(){c.extend(this.SegmentArc.prototype,{x:this.chart.width/2,y:this.chart.height/2}),this.updateScaleRange(this.segments),this.scale.update(),c.extend(this.scale,{xCenter:this.chart.width/2,yCenter:this.chart.height/2}),c.each(this.segments,function(a){a.update({outerRadius:this.scale.calculateCenterOffset(a.value)})},this)},draw:function(a){var b=a||1;this.clear(),c.each(this.segments,function(a,c){a.transition({circumference:this.scale.getCircumference(),outerRadius:this.scale.calculateCenterOffset(a.value)},b),a.endAngle=a.startAngle+a.circumference,0===c&&(a.startAngle=1.5*Math.PI),c<% for (var i=0; i <%if(datasets[i].label){%><%=datasets[i].label%><%}%> <%}%>'},initialize:function(a){this.PointClass=b.Point.extend({strokeWidth:this.options.pointDotStrokeWidth,radius:this.options.pointDotRadius,display:this.options.pointDot,hitDetectionRadius:this.options.pointHitDetectionRadius,ctx:this.chart.ctx}),this.datasets=[],this.buildScale(a),this.options.showTooltips&&c.bindEvents(this,this.options.tooltipEvents,function(a){var b="mouseout"!==a.type?this.getPointsAtEvent(a):[];this.eachPoints(function(a){a.restore(["fillColor","strokeColor"])}),c.each(b,function(a){a.fillColor=a.highlightFill,a.strokeColor=a.highlightStroke}),this.showTooltip(b)}),c.each(a.datasets,function(b){var d={label:b.label||null,fillColor:b.fillColor,strokeColor:b.strokeColor,pointColor:b.pointColor,pointStrokeColor:b.pointStrokeColor,points:[]};this.datasets.push(d),c.each(b.data,function(c,e){var f;this.scale.animation||(f=this.scale.getPointPosition(e,this.scale.calculateCenterOffset(c))),d.points.push(new this.PointClass({value:c,label:a.labels[e],datasetLabel:b.label,x:this.options.animation?this.scale.xCenter:f.x,y:this.options.animation?this.scale.yCenter:f.y,strokeColor:b.pointStrokeColor,fillColor:b.pointColor,highlightFill:b.pointHighlightFill||b.pointColor,highlightStroke:b.pointHighlightStroke||b.pointStrokeColor}))},this)},this),this.render()},eachPoints:function(a){c.each(this.datasets,function(b){c.each(b.points,a,this)},this)},getPointsAtEvent:function(a){var b=c.getRelativePosition(a),d=c.getAngleFromPoint({x:this.scale.xCenter,y:this.scale.yCenter},b),e=2*Math.PI/this.scale.valuesCount,f=Math.round((d.angle-1.5*Math.PI)/e),g=[];return(f>=this.scale.valuesCount||0>f)&&(f=0),d.distance<=this.scale.drawingArea&&c.each(this.datasets,function(a){g.push(a.points[f])}),g},buildScale:function(a){this.scale=new b.RadialScale({display:this.options.showScale,fontStyle:this.options.scaleFontStyle,fontSize:this.options.scaleFontSize,fontFamily:this.options.scaleFontFamily,fontColor:this.options.scaleFontColor,showLabels:this.options.scaleShowLabels,showLabelBackdrop:this.options.scaleShowLabelBackdrop,backdropColor:this.options.scaleBackdropColor,backdropPaddingY:this.options.scaleBackdropPaddingY,backdropPaddingX:this.options.scaleBackdropPaddingX,lineWidth:this.options.scaleShowLine?this.options.scaleLineWidth:0,lineColor:this.options.scaleLineColor,angleLineColor:this.options.angleLineColor,angleLineWidth:this.options.angleShowLineOut?this.options.angleLineWidth:0,pointLabelFontColor:this.options.pointLabelFontColor,pointLabelFontSize:this.options.pointLabelFontSize,pointLabelFontFamily:this.options.pointLabelFontFamily,pointLabelFontStyle:this.options.pointLabelFontStyle,height:this.chart.height,width:this.chart.width,xCenter:this.chart.width/2,yCenter:this.chart.height/2,ctx:this.chart.ctx,templateString:this.options.scaleLabel,labels:a.labels,valuesCount:a.datasets[0].data.length}),this.scale.setScaleSize(),this.updateScaleRange(a.datasets),this.scale.buildYLabels()},updateScaleRange:function(a){var b=function(){var b=[];return c.each(a,function(a){a.data?b=b.concat(a.data):c.each(a.points,function(a){b.push(a.value)})}),b}(),d=this.options.scaleOverride?{steps:this.options.scaleSteps,stepValue:this.options.scaleStepWidth,min:this.options.scaleStartValue,max:this.options.scaleStartValue+this.options.scaleSteps*this.options.scaleStepWidth}:c.calculateScaleRange(b,c.min([this.chart.width,this.chart.height])/2,this.options.scaleFontSize,this.options.scaleBeginAtZero,this.options.scaleIntegersOnly);c.extend(this.scale,d)},addData:function(a,b){this.scale.valuesCount++,c.each(a,function(a,c){var d=this.scale.getPointPosition(this.scale.valuesCount,this.scale.calculateCenterOffset(a));this.datasets[c].points.push(new this.PointClass({value:a,label:b,x:d.x,y:d.y,strokeColor:this.datasets[c].pointStrokeColor,fillColor:this.datasets[c].pointColor}))},this),this.scale.labels.push(b),this.reflow(),this.update()},removeData:function(){this.scale.valuesCount--,this.scale.labels.shift(),c.each(this.datasets,function(a){a.points.shift()},this),this.reflow(),this.update()},update:function(){this.eachPoints(function(a){a.save()}),this.reflow(),this.render()},reflow:function(){c.extend(this.scale,{width:this.chart.width,height:this.chart.height,size:c.min([this.chart.width,this.chart.height]),xCenter:this.chart.width/2,yCenter:this.chart.height/2}),this.updateScaleRange(this.datasets),this.scale.setScaleSize(),this.scale.buildYLabels()},draw:function(a){var b=a||1,d=this.chart.ctx;this.clear(),this.scale.draw(),c.each(this.datasets,function(a){c.each(a.points,function(a,c){a.hasValue()&&a.transition(this.scale.getPointPosition(c,this.scale.calculateCenterOffset(a.value)),b)},this),d.lineWidth=this.options.datasetStrokeWidth,d.strokeStyle=a.strokeColor,d.beginPath(),c.each(a.points,function(a,b){0===b?d.moveTo(a.x,a.y):d.lineTo(a.x,a.y)},this),d.closePath(),d.stroke(),d.fillStyle=a.fillColor,d.fill(),c.each(a.points,function(a){a.hasValue()&&a.draw()})},this)}})}.call(this),function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;gthis.length?!1:-1!==this.indexOf(a,b)}),"function"!=typeof Object.assign&&!function(){Object.assign=function(a){if(void 0===a||null===a)throw new TypeError("Cannot convert undefined or null to object");for(var b=Object(a),c=1;c>>0,d=arguments[1],e=void 0,f=0;c>f;f++)if(e=b[f],a.call(d,e,f,b))return e})},{}],3:[function(a,b,c){"use strict";function d(a,b,c){return b in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c,a}function e(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var f=function(){function a(a,b){var c=[],d=!0,e=!1,f=void 0;try{for(var g,h=a[Symbol.iterator]();!(d=(g=h.next()).done)&&(c.push(g.value),!b||c.length!==b);d=!0);}catch(i){e=!0,f=i}finally{try{!d&&h["return"]&&h["return"]()}finally{if(e)throw f}}return c}return function(b,c){if(Array.isArray(b))return b;if(Symbol.iterator in Object(b))return a(b,c);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),g="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol?"symbol":typeof a},h=function(){function a(a,b){for(var c=0;c"+location.hostname+b+" ")}$.i18n({locale:i18nLang}).load(d({},i18nLang,"/pageviews/messages/"+i18nLang+".json")).then(this.initialize.bind(this))}return h(a,[{key:"addSiteNotice",value:function(a,b,c,d){c=c?""+c+" ":"",d=d?" autodismiss":"",$(".site-notice").append(""+c+b+"
"),$(".site-notice-wrapper").show()}},{key:"clearMessages",value:function(){$(".message-container").html("")}},{key:"clearSiteNotices",value:function(){$(".site-notice .autodismiss").remove(),$(".site-notice .alert").length||$(".site-notice-wrapper").hide()}},{key:"formatNumber",value:function(a){return"true"===this.numericalFormatting?this.n(a):a}},{key:"getExpandedPageURL",value:function(a){return"//"+this.project+".org/w/index.php?title="+encodeURIComponent(a).replace(/ /g,"_").replace(/'/,escape)}},{key:"getPageURL",value:function(a){return"//"+this.project+".org/wiki/"+encodeURIComponent(a).replace(/ /g,"_").replace(/'/,escape)}},{key:"getLocaleDateString",value:function(){var a={"ar-sa":"DD/MM/YY","bg-bg":"DD.M.YYYY","ca-es":"DD/MM/YYYY","zh-tw":"YYYY/M/D","cs-cz":"D.M.YYYY","da-dk":"DD-MM-YYYY","de-de":"DD.MM.YYYY","el-gr":"D/M/YYYY","en-us":"M/D/YYYY","fi-fi":"D.M.YYYY","fr-fr":"DD/MM/YYYY","he-il":"DD/MM/YYYY","hu-hu":"YYYY. MM. DD.","is-is":"D.M.YYYY","it-it":"DD/MM/YYYY","ja-jp":"YYYY/MM/DD","ko-kr":"YYYY-MM-DD","nl-nl":"D-M-YYYY","nb-no":"DD.MM.YYYY","pl-pl":"YYYY-MM-DD","pt-br":"D/M/YYYY","ro-ro":"DD.MM.YYYY","ru-ru":"DD.MM.YYYY","hr-hr":"D.M.YYYY","sk-sk":"D. M. YYYY","sq-al":"YYYY-MM-DD","sv-se":"YYYY-MM-DD","th-th":"D/M/YYYY","tr-tr":"DD.MM.YYYY","ur-pk":"DD/MM/YYYY","id-id":"DD/MM/YYYY","uk-ua":"DD.MM.YYYY","be-by":"DD.MM.YYYY","sl-si":"D.M.YYYY","et-ee":"D.MM.YYYY","lv-lv":"YYYY.MM.DD.","lt-lt":"YYYY.MM.DD","fa-ir":"MM/DD/YYYY","vi-vn":"DD/MM/YYYY","hy-am":"DD.MM.YYYY","az-latn-az":"DD.MM.YYYY","eu-es":"YYYY/MM/DD","mk-mk":"DD.MM.YYYY","af-za":"YYYY/MM/DD","ka-ge":"DD.MM.YYYY","fo-fo":"DD-MM-YYYY","hi-in":"DD-MM-YYYY","ms-my":"DD/MM/YYYY","kk-kz":"DD.MM.YYYY","ky-kg":"DD.MM.YY","sw-ke":"M/d/YYYY","uz-latn-uz":"DD/MM YYYY","tt-ru":"DD.MM.YYYY","pa-in":"DD-MM-YY","gu-in":"DD-MM-YY","ta-in":"DD-MM-YYYY","te-in":"DD-MM-YY","kn-in":"DD-MM-YY","mr-in":"DD-MM-YYYY","sa-in":"DD-MM-YYYY","mn-mn":"YY.MM.DD","gl-es":"DD/MM/YY","kok-in":"DD-MM-YYYY","syr-sy":"DD/MM/YYYY","dv-mv":"DD/MM/YY","ar-iq":"DD/MM/YYYY","zh-cn":"YYYY/M/D","de-ch":"DD.MM.YYYY","en-gb":"DD/MM/YYYY","es-mx":"DD/MM/YYYY","fr-be":"D/MM/YYYY","it-ch":"DD.MM.YYYY","nl-be":"D/MM/YYYY","nn-no":"DD.MM.YYYY","pt-pt":"DD-MM-YYYY","sr-latn-cs":"D.M.YYYY","sv-fi":"D.M.YYYY","az-cyrl-az":"DD.MM.YYYY","ms-bn":"DD/MM/YYYY","uz-cyrl-uz":"DD.MM.YYYY","ar-eg":"DD/MM/YYYY","zh-hk":"D/M/YYYY","de-at":"DD.MM.YYYY","en-au":"D/MM/YYYY","es-es":"DD/MM/YYYY","fr-ca":"YYYY-MM-DD","sr-cyrl-cs":"D.M.YYYY","ar-ly":"DD/MM/YYYY","zh-sg":"D/M/YYYY","de-lu":"DD.MM.YYYY","en-ca":"DD/MM/YYYY","es-gt":"DD/MM/YYYY","fr-ch":"DD.MM.YYYY","ar-dz":"DD-MM-YYYY","zh-mo":"D/M/YYYY","de-li":"DD.MM.YYYY","en-nz":"D/MM/YYYY","es-cr":"DD/MM/YYYY","fr-lu":"DD/MM/YYYY","ar-ma":"DD-MM-YYYY","en-ie":"DD/MM/YYYY","es-pa":"MM/DD/YYYY","fr-mc":"DD/MM/YYYY","ar-tn":"DD-MM-YYYY","en-za":"YYYY/MM/DD","es-do":"DD/MM/YYYY","ar-om":"DD/MM/YYYY","en-jm":"DD/MM/YYYY","es-ve":"DD/MM/YYYY","ar-ye":"DD/MM/YYYY","en-029":"MM/DD/YYYY","es-co":"DD/MM/YYYY","ar-sy":"DD/MM/YYYY","en-bz":"DD/MM/YYYY","es-pe":"DD/MM/YYYY","ar-jo":"DD/MM/YYYY","en-tt":"DD/MM/YYYY","es-ar":"DD/MM/YYYY","ar-lb":"DD/MM/YYYY","en-zw":"M/D/YYYY","es-ec":"DD/MM/YYYY","ar-kw":"DD/MM/YYYY","en-ph":"M/D/YYYY","es-cl":"DD-MM-YYYY","ar-ae":"DD/MM/YYYY","es-uy":"DD/MM/YYYY","ar-bh":"DD/MM/YYYY","es-py":"DD/MM/YYYY","ar-qa":"DD/MM/YYYY","es-bo":"DD/MM/YYYY","es-sv":"DD/MM/YYYY","es-hn":"DD/MM/YYYY","es-ni":"DD/MM/YYYY","es-pr":"DD/MM/YYYY","am-et":"D/M/YYYY","tzm-latn-dz":"DD-MM-YYYY","iu-latn-ca":"D/MM/YYYY","sma-no":"DD.MM.YYYY","mn-mong-cn":"YYYY/M/D","gd-gb":"DD/MM/YYYY","en-my":"D/M/YYYY","prs-af":"DD/MM/YY","bn-bd":"DD-MM-YY","wo-sn":"DD/MM/YYYY","rw-rw":"M/D/YYYY","qut-gt":"DD/MM/YYYY","sah-ru":"MM.DD.YYYY","gsw-fr":"DD/MM/YYYY","co-fr":"DD/MM/YYYY","oc-fr":"DD/MM/YYYY","mi-nz":"DD/MM/YYYY","ga-ie":"DD/MM/YYYY","se-se":"YYYY-MM-DD","br-fr":"DD/MM/YYYY","smn-fi":"D.M.YYYY","moh-ca":"M/D/YYYY","arn-cl":"DD-MM-YYYY","ii-cn":"YYYY/M/D","dsb-de":"D. M. YYYY","ig-ng":"D/M/YYYY","kl-gl":"DD-MM-YYYY","lb-lu":"DD/MM/YYYY","ba-ru":"DD.MM.YY","nso-za":"YYYY/MM/DD","quz-bo":"DD/MM/YYYY","yo-ng":"D/M/YYYY","ha-latn-ng":"D/M/YYYY","fil-ph":"M/D/YYYY","ps-af":"DD/MM/YY","fy-nl":"D-M-YYYY","ne-np":"M/D/YYYY","se-no":"DD.MM.YYYY","iu-cans-ca":"D/M/YYYY","sr-latn-rs":"D.M.YYYY","si-lk":"YYYY-MM-DD","sr-cyrl-rs":"D.M.YYYY","lo-la":"DD/MM/YYYY","km-kh":"YYYY-MM-DD","cy-gb":"DD/MM/YYYY","bo-cn":"YYYY/M/D","sms-fi":"D.M.YYYY","as-in":"DD-MM-YYYY","ml-in":"DD-MM-YY","en-in":"DD-MM-YYYY","or-in":"DD-MM-YY","bn-in":"DD-MM-YY","tk-tm":"DD.MM.YY","bs-latn-ba":"D.M.YYYY","mt-mt":"DD/MM/YYYY","sr-cyrl-me":"D.M.YYYY","se-fi":"D.M.YYYY","zu-za":"YYYY/MM/DD","xh-za":"YYYY/MM/DD","tn-za":"YYYY/MM/DD","hsb-de":"D. M. YYYY","bs-cyrl-ba":"D.M.YYYY","tg-cyrl-tj":"DD.MM.yy","sr-latn-ba":"D.M.YYYY","smj-no":"DD.MM.YYYY","rm-ch":"DD/MM/YYYY","smj-se":"YYYY-MM-DD","quz-ec":"DD/MM/YYYY","quz-pe":"DD/MM/YYYY","hr-ba":"D.M.YYYY.","sr-latn-me":"D.M.YYYY","sma-se":"YYYY-MM-DD","en-sg":"D/M/YYYY","ug-cn":"YYYY-M-D","sr-cyrl-ba":"D.M.YYYY","es-us":"M/D/YYYY"};if(!navigator.language)return this.config.defaults.dateFormat;var b=navigator.language.toLowerCase();return a[b]||this.config.defaults.dateFormat}},{key:"isMultilangProject",value:function(){return new RegExp(".*?\\.("+a.multilangProjects.join("|")+")").test(this.project)}},{key:"hashCode",value:function(a){return a.split("").reduce(function(a,b){return(a<<5)-a+b.charCodeAt(0)},0)}},{key:"localeSupported",value:function(){return"object"===("undefined"==typeof Intl?"undefined":g(Intl))}},{key:"mapNormalizedPageNames",value:function(a,b){return b.forEach(function(b){a=a.map(function(a){return b.from===a?b.to:a})}),a}},{key:"n",value:function(a){return new Number(a).toLocaleString()}},{key:"normalizePageNames",value:function(a){var b=this,c=$.Deferred();return $.ajax({url:"https://"+this.project+".org/w/api.php?action=query&prop=info&format=json&titles="+a.join("|"),dataType:"jsonp"}).then(function(d){return d.query.normalized&&(a=b.mapNormalizedPageNames(a,d.query.normalized)),c.resolve(a)})}},{key:"numDaysInRange",value:function(){return this.daterangepicker.endDate.diff(this.daterangepicker.startDate,"days")+1}},{key:"setSpecialRange",value:function(a){var b=Object.keys(this.config.specialRanges).indexOf(a),c=void 0,d=void 0;if(a.includes("latest-")){var e=parseInt(a.replace("latest-",""),10)||20,g=this.config.specialRanges.latest(e),h=f(g,2);c=h[0],d=h[1]}else{if(!(b>=0))return;var i="latest"===a?this.config.specialRanges.latest():this.config.specialRanges[a],j=f(i,2);c=j[0],d=j[1],$(".daterangepicker .ranges li").eq(b).trigger("click")}return this.specialRange={range:a,value:c.format(this.dateFormat)+" - "+d.format(this.dateFormat)},this.daterangepicker.startDate=c,this.daterangepicker.setEndDate(d),this.specialRange}},{key:"splash",value:function(){var a="background: #222; color: #bada55; padding: 4px; font-family:dejavu sans mono";console.log("%c ___ __ _ _ ",a),console.log("%c | _ \\ __ _ / _` | ___ __ __ (_) ___ __ __ __ ___ ",a),console.log("%c | _/ / _` | \\__, | / -_) \\ V / | | / -_) \\ V V / (_-< ",a),console.log("%c _|_|_ \\__,_| |___/ \\___| _\\_/_ _|_|_ \\___| \\_/\\_/ /__/_ ",a),console.log('%c _| """ |_|"""""|_|"""""|_|"""""|_|"""""|_|"""""|_|"""""|_|"""""|_|"""""| ',a),console.log("%c \"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-' ",a),console.log("%c ___ _ _ _ _ ",a),console.log("%c o O O / \\ _ _ __ _ | || | | | ___ (_) ___ ",a),console.log("%c o | - | | ' \\ / _` | \\_, | | | (_-< | | (_-< ",a),console.log("%c TS__[O] |_|_| |_||_| \\__,_| _|__/ _|_|_ /__/_ _|_|_ /__/_ ",a),console.log('%c {======|_|"""""|_|"""""|_|"""""|_| """"|_|"""""|_|"""""|_|"""""|_|"""""| ',a),console.log("%c ./o--000'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-' ",a),console.log("%c ",a),console.log("%c Copyright © "+(new Date).getFullYear()+" MusikAnimal, Kaldari, Marcel Ruiz Forns ",a)}},{key:"rateLimit",value:function(a,b,c){var d=[],e=void 0,f=function(){var b=d.shift();b&&a.apply(b.context,b.arguments),0===d.length&&(clearInterval(e),e=null)};return function(){d.push({context:c||this,arguments:[].slice.call(arguments)}),e||(f(),e=setInterval(f,b))}}},{key:"setupListeners",value:function(){var a=this;$("a[href='#']").on("click",function(a){return a.preventDefault()}),$(".lang-link").on("click",function(b){var c=moment().add(a.config.cookieExpiry,"days").toDate().toGMTString();document.cookie="TsIntuition_userlang="+$(b.target).data("lang")+"; expires="+c+"; path=/";var d=Math.floor(Date.now()/1e3)+24*a.config.cookieExpiry*60*60;document.cookie="TsIntuition_expiry="+d+"; expires="+c+"; path=/",location.reload()})}},{key:"underscorePageNames",value:function(a){return a.map(function(a){return decodeURIComponent(a).score()})}},{key:"updateInterAppLinks",value:function(){var a=this;$(".interapp-link").each(function(b,c){var d=c.href.split("?")[0];c.classList.contains("interapp-link--siteviews")?c.href=d+"?sites="+a.project+".org":c.href=d+"?project="+a.project+".org"})}},{key:"writeMessage",value:function(a,b){return b&&this.clearMessages(),$(".message-container").append(""+a+"
")}},{key:"getFromLocalStorage",value:function(a){try{return localStorage.getItem(a)}catch(b){return this.storage[a]}}},{key:"setLocalStorage",value:function(a,b){try{return localStorage.setItem(a,b)}catch(c){return this.storage[a]=b}}},{key:"dateFormat",get:function(){return"true"===this.localizeDateFormat?this.getLocaleDateString():this.config.defaults.dateFormat}},{key:"daterangepicker",get:function(){return $(this.config.dateRangeSelector).data("daterangepicker")}},{key:"project",get:function(){var a=$(this.config.projectInput).val();return a.toLowerCase().replace(/.org$/,"")}}],[{key:"rgba",value:function(a,b){return a.replace(/,\s*\d\)/,", "+b+")")}},{key:"multilangProjects",get:function(){return["wikipedia","wikibooks","wikinews","wikiquote","wikisource","wikiversity","wikivoyage"]}}]),a}();b.exports=i},{}],4:[function(a,b,c){"use strict";var d={aawiki:"aa.wikipedia.org",aawiktionary:"aa.wiktionary.org",aawikibooks:"aa.wikibooks.org",abwiki:"ab.wikipedia.org",abwiktionary:"ab.wiktionary.org",acewiki:"ace.wikipedia.org",afwiki:"af.wikipedia.org",afwiktionary:"af.wiktionary.org",afwikibooks:"af.wikibooks.org",afwikiquote:"af.wikiquote.org",akwiki:"ak.wikipedia.org",akwiktionary:"ak.wiktionary.org",akwikibooks:"ak.wikibooks.org",alswiki:"als.wikipedia.org",alswiktionary:"als.wiktionary.org",alswikibooks:"als.wikibooks.org",alswikiquote:"als.wikiquote.org",amwiki:"am.wikipedia.org",amwiktionary:"am.wiktionary.org",amwikiquote:"am.wikiquote.org",anwiki:"an.wikipedia.org",anwiktionary:"an.wiktionary.org",angwiki:"ang.wikipedia.org",angwiktionary:"ang.wiktionary.org",angwikibooks:"ang.wikibooks.org",angwikiquote:"ang.wikiquote.org",angwikisource:"ang.wikisource.org",arwiki:"ar.wikipedia.org",arwiktionary:"ar.wiktionary.org",arwikibooks:"ar.wikibooks.org",arwikinews:"ar.wikinews.org",arwikiquote:"ar.wikiquote.org",arwikisource:"ar.wikisource.org",arwikiversity:"ar.wikiversity.org",arcwiki:"arc.wikipedia.org",arzwiki:"arz.wikipedia.org",aswiki:"as.wikipedia.org",aswiktionary:"as.wiktionary.org",aswikibooks:"as.wikibooks.org",aswikisource:"as.wikisource.org",astwiki:"ast.wikipedia.org",astwiktionary:"ast.wiktionary.org",astwikibooks:"ast.wikibooks.org",astwikiquote:"ast.wikiquote.org",avwiki:"av.wikipedia.org",avwiktionary:"av.wiktionary.org",aywiki:"ay.wikipedia.org",aywiktionary:"ay.wiktionary.org",aywikibooks:"ay.wikibooks.org",azwiki:"az.wikipedia.org",azwiktionary:"az.wiktionary.org",azwikibooks:"az.wikibooks.org",azwikiquote:"az.wikiquote.org",azwikisource:"az.wikisource.org",azbwiki:"azb.wikipedia.org",bawiki:"ba.wikipedia.org",bawikibooks:"ba.wikibooks.org",barwiki:"bar.wikipedia.org",bat_smgwiki:"bat-smg.wikipedia.org",bclwiki:"bcl.wikipedia.org",bewiki:"be.wikipedia.org",bewiktionary:"be.wiktionary.org",bewikibooks:"be.wikibooks.org",bewikiquote:"be.wikiquote.org",bewikisource:"be.wikisource.org",be_x_oldwiki:"be-tarask.wikipedia.org",bgwiki:"bg.wikipedia.org",bgwiktionary:"bg.wiktionary.org",bgwikibooks:"bg.wikibooks.org",bgwikinews:"bg.wikinews.org",bgwikiquote:"bg.wikiquote.org",bgwikisource:"bg.wikisource.org",bhwiki:"bh.wikipedia.org",bhwiktionary:"bh.wiktionary.org",biwiki:"bi.wikipedia.org",biwiktionary:"bi.wiktionary.org",biwikibooks:"bi.wikibooks.org",bjnwiki:"bjn.wikipedia.org",bmwiki:"bm.wikipedia.org",bmwiktionary:"bm.wiktionary.org",bmwikibooks:"bm.wikibooks.org",bmwikiquote:"bm.wikiquote.org",bnwiki:"bn.wikipedia.org",bnwiktionary:"bn.wiktionary.org",bnwikibooks:"bn.wikibooks.org",bnwikisource:"bn.wikisource.org",bowiki:"bo.wikipedia.org",bowiktionary:"bo.wiktionary.org",bowikibooks:"bo.wikibooks.org",bpywiki:"bpy.wikipedia.org",brwiki:"br.wikipedia.org",brwiktionary:"br.wiktionary.org",brwikiquote:"br.wikiquote.org",brwikisource:"br.wikisource.org",bswiki:"bs.wikipedia.org",bswiktionary:"bs.wiktionary.org",bswikibooks:"bs.wikibooks.org",bswikinews:"bs.wikinews.org",bswikiquote:"bs.wikiquote.org",bswikisource:"bs.wikisource.org",bugwiki:"bug.wikipedia.org",bxrwiki:"bxr.wikipedia.org",cawiki:"ca.wikipedia.org",cawiktionary:"ca.wiktionary.org",cawikibooks:"ca.wikibooks.org",cawikinews:"ca.wikinews.org",cawikiquote:"ca.wikiquote.org",cawikisource:"ca.wikisource.org",cbk_zamwiki:"cbk-zam.wikipedia.org",cdowiki:"cdo.wikipedia.org",cewiki:"ce.wikipedia.org",cebwiki:"ceb.wikipedia.org",chwiki:"ch.wikipedia.org",chwiktionary:"ch.wiktionary.org",chwikibooks:"ch.wikibooks.org",chowiki:"cho.wikipedia.org",chrwiki:"chr.wikipedia.org",chrwiktionary:"chr.wiktionary.org",chywiki:"chy.wikipedia.org",ckbwiki:"ckb.wikipedia.org",cowiki:"co.wikipedia.org",cowiktionary:"co.wiktionary.org",cowikibooks:"co.wikibooks.org",cowikiquote:"co.wikiquote.org",crwiki:"cr.wikipedia.org",crwiktionary:"cr.wiktionary.org",crwikiquote:"cr.wikiquote.org",crhwiki:"crh.wikipedia.org",cswiki:"cs.wikipedia.org",cswiktionary:"cs.wiktionary.org",cswikibooks:"cs.wikibooks.org",cswikinews:"cs.wikinews.org",cswikiquote:"cs.wikiquote.org",cswikisource:"cs.wikisource.org",cswikiversity:"cs.wikiversity.org",csbwiki:"csb.wikipedia.org",csbwiktionary:"csb.wiktionary.org",cuwiki:"cu.wikipedia.org",cvwiki:"cv.wikipedia.org",
-cvwikibooks:"cv.wikibooks.org",cywiki:"cy.wikipedia.org",cywiktionary:"cy.wiktionary.org",cywikibooks:"cy.wikibooks.org",cywikiquote:"cy.wikiquote.org",cywikisource:"cy.wikisource.org",dawiki:"da.wikipedia.org",dawiktionary:"da.wiktionary.org",dawikibooks:"da.wikibooks.org",dawikiquote:"da.wikiquote.org",dawikisource:"da.wikisource.org",dewiki:"de.wikipedia.org",dewiktionary:"de.wiktionary.org",dewikibooks:"de.wikibooks.org",dewikinews:"de.wikinews.org",dewikiquote:"de.wikiquote.org",dewikisource:"de.wikisource.org",dewikiversity:"de.wikiversity.org",dewikivoyage:"de.wikivoyage.org",diqwiki:"diq.wikipedia.org",dsbwiki:"dsb.wikipedia.org",dvwiki:"dv.wikipedia.org",dvwiktionary:"dv.wiktionary.org",dzwiki:"dz.wikipedia.org",dzwiktionary:"dz.wiktionary.org",eewiki:"ee.wikipedia.org",elwiki:"el.wikipedia.org",elwiktionary:"el.wiktionary.org",elwikibooks:"el.wikibooks.org",elwikinews:"el.wikinews.org",elwikiquote:"el.wikiquote.org",elwikisource:"el.wikisource.org",elwikiversity:"el.wikiversity.org",elwikivoyage:"el.wikivoyage.org",emlwiki:"eml.wikipedia.org",enwiki:"en.wikipedia.org",enwiktionary:"en.wiktionary.org",enwikibooks:"en.wikibooks.org",enwikinews:"en.wikinews.org",enwikiquote:"en.wikiquote.org",enwikisource:"en.wikisource.org",enwikiversity:"en.wikiversity.org",enwikivoyage:"en.wikivoyage.org",eowiki:"eo.wikipedia.org",eowiktionary:"eo.wiktionary.org",eowikibooks:"eo.wikibooks.org",eowikinews:"eo.wikinews.org",eowikiquote:"eo.wikiquote.org",eowikisource:"eo.wikisource.org",eswiki:"es.wikipedia.org",eswiktionary:"es.wiktionary.org",eswikibooks:"es.wikibooks.org",eswikinews:"es.wikinews.org",eswikiquote:"es.wikiquote.org",eswikisource:"es.wikisource.org",eswikiversity:"es.wikiversity.org",eswikivoyage:"es.wikivoyage.org",etwiki:"et.wikipedia.org",etwiktionary:"et.wiktionary.org",etwikibooks:"et.wikibooks.org",etwikiquote:"et.wikiquote.org",etwikisource:"et.wikisource.org",euwiki:"eu.wikipedia.org",euwiktionary:"eu.wiktionary.org",euwikibooks:"eu.wikibooks.org",euwikiquote:"eu.wikiquote.org",extwiki:"ext.wikipedia.org",fawiki:"fa.wikipedia.org",fawiktionary:"fa.wiktionary.org",fawikibooks:"fa.wikibooks.org",fawikinews:"fa.wikinews.org",fawikiquote:"fa.wikiquote.org",fawikisource:"fa.wikisource.org",fawikivoyage:"fa.wikivoyage.org",ffwiki:"ff.wikipedia.org",fiwiki:"fi.wikipedia.org",fiwiktionary:"fi.wiktionary.org",fiwikibooks:"fi.wikibooks.org",fiwikinews:"fi.wikinews.org",fiwikiquote:"fi.wikiquote.org",fiwikisource:"fi.wikisource.org",fiwikiversity:"fi.wikiversity.org",fiu_vrowiki:"fiu-vro.wikipedia.org",fjwiki:"fj.wikipedia.org",fjwiktionary:"fj.wiktionary.org",fowiki:"fo.wikipedia.org",fowiktionary:"fo.wiktionary.org",fowikisource:"fo.wikisource.org",frwiki:"fr.wikipedia.org",frwiktionary:"fr.wiktionary.org",frwikibooks:"fr.wikibooks.org",frwikinews:"fr.wikinews.org",frwikiquote:"fr.wikiquote.org",frwikisource:"fr.wikisource.org",frwikiversity:"fr.wikiversity.org",frwikivoyage:"fr.wikivoyage.org",frpwiki:"frp.wikipedia.org",frrwiki:"frr.wikipedia.org",furwiki:"fur.wikipedia.org",fywiki:"fy.wikipedia.org",fywiktionary:"fy.wiktionary.org",fywikibooks:"fy.wikibooks.org",gawiki:"ga.wikipedia.org",gawiktionary:"ga.wiktionary.org",gawikibooks:"ga.wikibooks.org",gawikiquote:"ga.wikiquote.org",gagwiki:"gag.wikipedia.org",ganwiki:"gan.wikipedia.org",gdwiki:"gd.wikipedia.org",gdwiktionary:"gd.wiktionary.org",glwiki:"gl.wikipedia.org",glwiktionary:"gl.wiktionary.org",glwikibooks:"gl.wikibooks.org",glwikiquote:"gl.wikiquote.org",glwikisource:"gl.wikisource.org",glkwiki:"glk.wikipedia.org",gnwiki:"gn.wikipedia.org",gnwiktionary:"gn.wiktionary.org",gnwikibooks:"gn.wikibooks.org",gomwiki:"gom.wikipedia.org",gotwiki:"got.wikipedia.org",gotwikibooks:"got.wikibooks.org",guwiki:"gu.wikipedia.org",guwiktionary:"gu.wiktionary.org",guwikibooks:"gu.wikibooks.org",guwikiquote:"gu.wikiquote.org",guwikisource:"gu.wikisource.org",gvwiki:"gv.wikipedia.org",gvwiktionary:"gv.wiktionary.org",hawiki:"ha.wikipedia.org",hawiktionary:"ha.wiktionary.org",hakwiki:"hak.wikipedia.org",hawwiki:"haw.wikipedia.org",hewiki:"he.wikipedia.org",hewiktionary:"he.wiktionary.org",hewikibooks:"he.wikibooks.org",hewikinews:"he.wikinews.org",hewikiquote:"he.wikiquote.org",hewikisource:"he.wikisource.org",hewikivoyage:"he.wikivoyage.org",hiwiki:"hi.wikipedia.org",hiwiktionary:"hi.wiktionary.org",hiwikibooks:"hi.wikibooks.org",hiwikiquote:"hi.wikiquote.org",hifwiki:"hif.wikipedia.org",howiki:"ho.wikipedia.org",hrwiki:"hr.wikipedia.org",hrwiktionary:"hr.wiktionary.org",hrwikibooks:"hr.wikibooks.org",hrwikiquote:"hr.wikiquote.org",hrwikisource:"hr.wikisource.org",hsbwiki:"hsb.wikipedia.org",hsbwiktionary:"hsb.wiktionary.org",htwiki:"ht.wikipedia.org",htwikisource:"ht.wikisource.org",huwiki:"hu.wikipedia.org",huwiktionary:"hu.wiktionary.org",huwikibooks:"hu.wikibooks.org",huwikinews:"hu.wikinews.org",huwikiquote:"hu.wikiquote.org",huwikisource:"hu.wikisource.org",hywiki:"hy.wikipedia.org",hywiktionary:"hy.wiktionary.org",hywikibooks:"hy.wikibooks.org",hywikiquote:"hy.wikiquote.org",hywikisource:"hy.wikisource.org",hzwiki:"hz.wikipedia.org",iawiki:"ia.wikipedia.org",iawiktionary:"ia.wiktionary.org",iawikibooks:"ia.wikibooks.org",idwiki:"id.wikipedia.org",idwiktionary:"id.wiktionary.org",idwikibooks:"id.wikibooks.org",idwikiquote:"id.wikiquote.org",idwikisource:"id.wikisource.org",iewiki:"ie.wikipedia.org",iewiktionary:"ie.wiktionary.org",iewikibooks:"ie.wikibooks.org",igwiki:"ig.wikipedia.org",iiwiki:"ii.wikipedia.org",ikwiki:"ik.wikipedia.org",ikwiktionary:"ik.wiktionary.org",ilowiki:"ilo.wikipedia.org",iowiki:"io.wikipedia.org",iowiktionary:"io.wiktionary.org",iswiki:"is.wikipedia.org",iswiktionary:"is.wiktionary.org",iswikibooks:"is.wikibooks.org",iswikiquote:"is.wikiquote.org",iswikisource:"is.wikisource.org",itwiki:"it.wikipedia.org",itwiktionary:"it.wiktionary.org",itwikibooks:"it.wikibooks.org",itwikinews:"it.wikinews.org",itwikiquote:"it.wikiquote.org",itwikisource:"it.wikisource.org",itwikiversity:"it.wikiversity.org",itwikivoyage:"it.wikivoyage.org",iuwiki:"iu.wikipedia.org",iuwiktionary:"iu.wiktionary.org",jawiki:"ja.wikipedia.org",jawiktionary:"ja.wiktionary.org",jawikibooks:"ja.wikibooks.org",jawikinews:"ja.wikinews.org",jawikiquote:"ja.wikiquote.org",jawikisource:"ja.wikisource.org",jawikiversity:"ja.wikiversity.org",jbowiki:"jbo.wikipedia.org",jbowiktionary:"jbo.wiktionary.org",jvwiki:"jv.wikipedia.org",jvwiktionary:"jv.wiktionary.org",kawiki:"ka.wikipedia.org",kawiktionary:"ka.wiktionary.org",kawikibooks:"ka.wikibooks.org",kawikiquote:"ka.wikiquote.org",kaawiki:"kaa.wikipedia.org",kabwiki:"kab.wikipedia.org",kbdwiki:"kbd.wikipedia.org",kgwiki:"kg.wikipedia.org",kiwiki:"ki.wikipedia.org",kjwiki:"kj.wikipedia.org",kkwiki:"kk.wikipedia.org",kkwiktionary:"kk.wiktionary.org",kkwikibooks:"kk.wikibooks.org",kkwikiquote:"kk.wikiquote.org",klwiki:"kl.wikipedia.org",klwiktionary:"kl.wiktionary.org",kmwiki:"km.wikipedia.org",kmwiktionary:"km.wiktionary.org",kmwikibooks:"km.wikibooks.org",knwiki:"kn.wikipedia.org",knwiktionary:"kn.wiktionary.org",knwikibooks:"kn.wikibooks.org",knwikiquote:"kn.wikiquote.org",knwikisource:"kn.wikisource.org",kowiki:"ko.wikipedia.org",kowiktionary:"ko.wiktionary.org",kowikibooks:"ko.wikibooks.org",kowikinews:"ko.wikinews.org",kowikiquote:"ko.wikiquote.org",kowikisource:"ko.wikisource.org",kowikiversity:"ko.wikiversity.org",koiwiki:"koi.wikipedia.org",krwiki:"kr.wikipedia.org",krwikiquote:"kr.wikiquote.org",krcwiki:"krc.wikipedia.org",kswiki:"ks.wikipedia.org",kswiktionary:"ks.wiktionary.org",kswikibooks:"ks.wikibooks.org",kswikiquote:"ks.wikiquote.org",kshwiki:"ksh.wikipedia.org",kuwiki:"ku.wikipedia.org",kuwiktionary:"ku.wiktionary.org",kuwikibooks:"ku.wikibooks.org",kuwikiquote:"ku.wikiquote.org",kvwiki:"kv.wikipedia.org",kwwiki:"kw.wikipedia.org",kwwiktionary:"kw.wiktionary.org",kwwikiquote:"kw.wikiquote.org",kywiki:"ky.wikipedia.org",kywiktionary:"ky.wiktionary.org",kywikibooks:"ky.wikibooks.org",kywikiquote:"ky.wikiquote.org",lawiki:"la.wikipedia.org",lawiktionary:"la.wiktionary.org",lawikibooks:"la.wikibooks.org",lawikiquote:"la.wikiquote.org",lawikisource:"la.wikisource.org",ladwiki:"lad.wikipedia.org",lbwiki:"lb.wikipedia.org",lbwiktionary:"lb.wiktionary.org",lbwikibooks:"lb.wikibooks.org",lbwikiquote:"lb.wikiquote.org",lbewiki:"lbe.wikipedia.org",lezwiki:"lez.wikipedia.org",lgwiki:"lg.wikipedia.org",liwiki:"li.wikipedia.org",liwiktionary:"li.wiktionary.org",liwikibooks:"li.wikibooks.org",liwikiquote:"li.wikiquote.org",liwikisource:"li.wikisource.org",lijwiki:"lij.wikipedia.org",lmowiki:"lmo.wikipedia.org",lnwiki:"ln.wikipedia.org",lnwiktionary:"ln.wiktionary.org",lnwikibooks:"ln.wikibooks.org",lowiki:"lo.wikipedia.org",lowiktionary:"lo.wiktionary.org",lrcwiki:"lrc.wikipedia.org",ltwiki:"lt.wikipedia.org",ltwiktionary:"lt.wiktionary.org",ltwikibooks:"lt.wikibooks.org",ltwikiquote:"lt.wikiquote.org",ltwikisource:"lt.wikisource.org",ltgwiki:"ltg.wikipedia.org",lvwiki:"lv.wikipedia.org",lvwiktionary:"lv.wiktionary.org",lvwikibooks:"lv.wikibooks.org",maiwiki:"mai.wikipedia.org",map_bmswiki:"map-bms.wikipedia.org",mdfwiki:"mdf.wikipedia.org",mgwiki:"mg.wikipedia.org",mgwiktionary:"mg.wiktionary.org",mgwikibooks:"mg.wikibooks.org",mhwiki:"mh.wikipedia.org",mhwiktionary:"mh.wiktionary.org",mhrwiki:"mhr.wikipedia.org",miwiki:"mi.wikipedia.org",miwiktionary:"mi.wiktionary.org",miwikibooks:"mi.wikibooks.org",minwiki:"min.wikipedia.org",mkwiki:"mk.wikipedia.org",mkwiktionary:"mk.wiktionary.org",mkwikibooks:"mk.wikibooks.org",mkwikisource:"mk.wikisource.org",mlwiki:"ml.wikipedia.org",mlwiktionary:"ml.wiktionary.org",mlwikibooks:"ml.wikibooks.org",mlwikiquote:"ml.wikiquote.org",mlwikisource:"ml.wikisource.org",mnwiki:"mn.wikipedia.org",mnwiktionary:"mn.wiktionary.org",mnwikibooks:"mn.wikibooks.org",mowiki:"mo.wikipedia.org",mowiktionary:"mo.wiktionary.org",mrwiki:"mr.wikipedia.org",mrwiktionary:"mr.wiktionary.org",mrwikibooks:"mr.wikibooks.org",mrwikiquote:"mr.wikiquote.org",mrwikisource:"mr.wikisource.org",mrjwiki:"mrj.wikipedia.org",mswiki:"ms.wikipedia.org",mswiktionary:"ms.wiktionary.org",mswikibooks:"ms.wikibooks.org",mtwiki:"mt.wikipedia.org",mtwiktionary:"mt.wiktionary.org",muswiki:"mus.wikipedia.org",mwlwiki:"mwl.wikipedia.org",mywiki:"my.wikipedia.org",mywiktionary:"my.wiktionary.org",mywikibooks:"my.wikibooks.org",myvwiki:"myv.wikipedia.org",mznwiki:"mzn.wikipedia.org",nawiki:"na.wikipedia.org",nawiktionary:"na.wiktionary.org",nawikibooks:"na.wikibooks.org",nawikiquote:"na.wikiquote.org",nahwiki:"nah.wikipedia.org",nahwiktionary:"nah.wiktionary.org",nahwikibooks:"nah.wikibooks.org",napwiki:"nap.wikipedia.org",ndswiki:"nds.wikipedia.org",ndswiktionary:"nds.wiktionary.org",ndswikibooks:"nds.wikibooks.org",ndswikiquote:"nds.wikiquote.org",nds_nlwiki:"nds-nl.wikipedia.org",newiki:"ne.wikipedia.org",newiktionary:"ne.wiktionary.org",newikibooks:"ne.wikibooks.org",newwiki:"new.wikipedia.org",ngwiki:"ng.wikipedia.org",nlwiki:"nl.wikipedia.org",nlwiktionary:"nl.wiktionary.org",nlwikibooks:"nl.wikibooks.org",nlwikinews:"nl.wikinews.org",nlwikiquote:"nl.wikiquote.org",nlwikisource:"nl.wikisource.org",nlwikivoyage:"nl.wikivoyage.org",nnwiki:"nn.wikipedia.org",nnwiktionary:"nn.wiktionary.org",nnwikiquote:"nn.wikiquote.org",nowiki:"no.wikipedia.org",nowiktionary:"no.wiktionary.org",nowikibooks:"no.wikibooks.org",nowikinews:"no.wikinews.org",nowikiquote:"no.wikiquote.org",nowikisource:"no.wikisource.org",novwiki:"nov.wikipedia.org",nrmwiki:"nrm.wikipedia.org",nsowiki:"nso.wikipedia.org",nvwiki:"nv.wikipedia.org",nywiki:"ny.wikipedia.org",ocwiki:"oc.wikipedia.org",ocwiktionary:"oc.wiktionary.org",ocwikibooks:"oc.wikibooks.org",omwiki:"om.wikipedia.org",omwiktionary:"om.wiktionary.org",orwiki:"or.wikipedia.org",orwiktionary:"or.wiktionary.org",orwikisource:"or.wikisource.org",oswiki:"os.wikipedia.org",pawiki:"pa.wikipedia.org",pawiktionary:"pa.wiktionary.org",pawikibooks:"pa.wikibooks.org",pagwiki:"pag.wikipedia.org",pamwiki:"pam.wikipedia.org",papwiki:"pap.wikipedia.org",pcdwiki:"pcd.wikipedia.org",pdcwiki:"pdc.wikipedia.org",pflwiki:"pfl.wikipedia.org",piwiki:"pi.wikipedia.org",piwiktionary:"pi.wiktionary.org",pihwiki:"pih.wikipedia.org",plwiki:"pl.wikipedia.org",plwiktionary:"pl.wiktionary.org",plwikibooks:"pl.wikibooks.org",plwikinews:"pl.wikinews.org",plwikiquote:"pl.wikiquote.org",plwikisource:"pl.wikisource.org",plwikivoyage:"pl.wikivoyage.org",pmswiki:"pms.wikipedia.org",pnbwiki:"pnb.wikipedia.org",pnbwiktionary:"pnb.wiktionary.org",pntwiki:"pnt.wikipedia.org",pswiki:"ps.wikipedia.org",pswiktionary:"ps.wiktionary.org",pswikibooks:"ps.wikibooks.org",ptwiki:"pt.wikipedia.org",ptwiktionary:"pt.wiktionary.org",ptwikibooks:"pt.wikibooks.org",ptwikinews:"pt.wikinews.org",ptwikiquote:"pt.wikiquote.org",ptwikisource:"pt.wikisource.org",ptwikiversity:"pt.wikiversity.org",ptwikivoyage:"pt.wikivoyage.org",quwiki:"qu.wikipedia.org",quwiktionary:"qu.wiktionary.org",quwikibooks:"qu.wikibooks.org",quwikiquote:"qu.wikiquote.org",rmwiki:"rm.wikipedia.org",rmwiktionary:"rm.wiktionary.org",rmwikibooks:"rm.wikibooks.org",rmywiki:"rmy.wikipedia.org",rnwiki:"rn.wikipedia.org",rnwiktionary:"rn.wiktionary.org",rowiki:"ro.wikipedia.org",rowiktionary:"ro.wiktionary.org",rowikibooks:"ro.wikibooks.org",rowikinews:"ro.wikinews.org",rowikiquote:"ro.wikiquote.org",rowikisource:"ro.wikisource.org",rowikivoyage:"ro.wikivoyage.org",roa_rupwiki:"roa-rup.wikipedia.org",roa_rupwiktionary:"roa-rup.wiktionary.org",roa_tarawiki:"roa-tara.wikipedia.org",ruwiki:"ru.wikipedia.org",ruwiktionary:"ru.wiktionary.org",ruwikibooks:"ru.wikibooks.org",ruwikinews:"ru.wikinews.org",ruwikiquote:"ru.wikiquote.org",ruwikisource:"ru.wikisource.org",ruwikiversity:"ru.wikiversity.org",ruwikivoyage:"ru.wikivoyage.org",ruewiki:"rue.wikipedia.org",rwwiki:"rw.wikipedia.org",rwwiktionary:"rw.wiktionary.org",sawiki:"sa.wikipedia.org",sawiktionary:"sa.wiktionary.org",sawikibooks:"sa.wikibooks.org",sawikiquote:"sa.wikiquote.org",sawikisource:"sa.wikisource.org",sahwiki:"sah.wikipedia.org",sahwikisource:"sah.wikisource.org",scwiki:"sc.wikipedia.org",scwiktionary:"sc.wiktionary.org",scnwiki:"scn.wikipedia.org",scnwiktionary:"scn.wiktionary.org",scowiki:"sco.wikipedia.org",sdwiki:"sd.wikipedia.org",sdwiktionary:"sd.wiktionary.org",sdwikinews:"sd.wikinews.org",sewiki:"se.wikipedia.org",sewikibooks:"se.wikibooks.org",sgwiki:"sg.wikipedia.org",sgwiktionary:"sg.wiktionary.org",shwiki:"sh.wikipedia.org",shwiktionary:"sh.wiktionary.org",siwiki:"si.wikipedia.org",siwiktionary:"si.wiktionary.org",siwikibooks:"si.wikibooks.org",simplewiki:"simple.wikipedia.org",simplewiktionary:"simple.wiktionary.org",simplewikibooks:"simple.wikibooks.org",simplewikiquote:"simple.wikiquote.org",skwiki:"sk.wikipedia.org",skwiktionary:"sk.wiktionary.org",skwikibooks:"sk.wikibooks.org",skwikiquote:"sk.wikiquote.org",skwikisource:"sk.wikisource.org",slwiki:"sl.wikipedia.org",slwiktionary:"sl.wiktionary.org",slwikibooks:"sl.wikibooks.org",slwikiquote:"sl.wikiquote.org",slwikisource:"sl.wikisource.org",slwikiversity:"sl.wikiversity.org",smwiki:"sm.wikipedia.org",smwiktionary:"sm.wiktionary.org",snwiki:"sn.wikipedia.org",snwiktionary:"sn.wiktionary.org",sowiki:"so.wikipedia.org",sowiktionary:"so.wiktionary.org",sqwiki:"sq.wikipedia.org",sqwiktionary:"sq.wiktionary.org",sqwikibooks:"sq.wikibooks.org",sqwikinews:"sq.wikinews.org",sqwikiquote:"sq.wikiquote.org",srwiki:"sr.wikipedia.org",srwiktionary:"sr.wiktionary.org",srwikibooks:"sr.wikibooks.org",srwikinews:"sr.wikinews.org",srwikiquote:"sr.wikiquote.org",srwikisource:"sr.wikisource.org",srnwiki:"srn.wikipedia.org",sswiki:"ss.wikipedia.org",sswiktionary:"ss.wiktionary.org",stwiki:"st.wikipedia.org",stwiktionary:"st.wiktionary.org",stqwiki:"stq.wikipedia.org",suwiki:"su.wikipedia.org",suwiktionary:"su.wiktionary.org",suwikibooks:"su.wikibooks.org",suwikiquote:"su.wikiquote.org",svwiki:"sv.wikipedia.org",svwiktionary:"sv.wiktionary.org",svwikibooks:"sv.wikibooks.org",svwikinews:"sv.wikinews.org",svwikiquote:"sv.wikiquote.org",svwikisource:"sv.wikisource.org",svwikiversity:"sv.wikiversity.org",svwikivoyage:"sv.wikivoyage.org",swwiki:"sw.wikipedia.org",swwiktionary:"sw.wiktionary.org",swwikibooks:"sw.wikibooks.org",szlwiki:"szl.wikipedia.org",tawiki:"ta.wikipedia.org",tawiktionary:"ta.wiktionary.org",tawikibooks:"ta.wikibooks.org",tawikinews:"ta.wikinews.org",tawikiquote:"ta.wikiquote.org",tawikisource:"ta.wikisource.org",tewiki:"te.wikipedia.org",tewiktionary:"te.wiktionary.org",tewikibooks:"te.wikibooks.org",tewikiquote:"te.wikiquote.org",tewikisource:"te.wikisource.org",tetwiki:"tet.wikipedia.org",tgwiki:"tg.wikipedia.org",tgwiktionary:"tg.wiktionary.org",tgwikibooks:"tg.wikibooks.org",thwiki:"th.wikipedia.org",thwiktionary:"th.wiktionary.org",thwikibooks:"th.wikibooks.org",thwikinews:"th.wikinews.org",thwikiquote:"th.wikiquote.org",thwikisource:"th.wikisource.org",tiwiki:"ti.wikipedia.org",tiwiktionary:"ti.wiktionary.org",tkwiki:"tk.wikipedia.org",tkwiktionary:"tk.wiktionary.org",tkwikibooks:"tk.wikibooks.org",tkwikiquote:"tk.wikiquote.org",tlwiki:"tl.wikipedia.org",tlwiktionary:"tl.wiktionary.org",tlwikibooks:"tl.wikibooks.org",tnwiki:"tn.wikipedia.org",tnwiktionary:"tn.wiktionary.org",towiki:"to.wikipedia.org",towiktionary:"to.wiktionary.org",tpiwiki:"tpi.wikipedia.org",tpiwiktionary:"tpi.wiktionary.org",trwiki:"tr.wikipedia.org",trwiktionary:"tr.wiktionary.org",trwikibooks:"tr.wikibooks.org",trwikinews:"tr.wikinews.org",trwikiquote:"tr.wikiquote.org",trwikisource:"tr.wikisource.org",tswiki:"ts.wikipedia.org",tswiktionary:"ts.wiktionary.org",ttwiki:"tt.wikipedia.org",ttwiktionary:"tt.wiktionary.org",ttwikibooks:"tt.wikibooks.org",ttwikiquote:"tt.wikiquote.org",tumwiki:"tum.wikipedia.org",twwiki:"tw.wikipedia.org",twwiktionary:"tw.wiktionary.org",tywiki:"ty.wikipedia.org",tyvwiki:"tyv.wikipedia.org",udmwiki:"udm.wikipedia.org",ugwiki:"ug.wikipedia.org",ugwiktionary:"ug.wiktionary.org",ugwikibooks:"ug.wikibooks.org",ugwikiquote:"ug.wikiquote.org",ukwiki:"uk.wikipedia.org",ukwiktionary:"uk.wiktionary.org",ukwikibooks:"uk.wikibooks.org",ukwikinews:"uk.wikinews.org",ukwikiquote:"uk.wikiquote.org",ukwikisource:"uk.wikisource.org",ukwikivoyage:"uk.wikivoyage.org",urwiki:"ur.wikipedia.org",urwiktionary:"ur.wiktionary.org",urwikibooks:"ur.wikibooks.org",urwikiquote:"ur.wikiquote.org",uzwiki:"uz.wikipedia.org",uzwiktionary:"uz.wiktionary.org",uzwikibooks:"uz.wikibooks.org",uzwikiquote:"uz.wikiquote.org",vewiki:"ve.wikipedia.org",vecwiki:"vec.wikipedia.org",vecwiktionary:"vec.wiktionary.org",vecwikisource:"vec.wikisource.org",vepwiki:"vep.wikipedia.org",viwiki:"vi.wikipedia.org",viwiktionary:"vi.wiktionary.org",viwikibooks:"vi.wikibooks.org",viwikiquote:"vi.wikiquote.org",viwikisource:"vi.wikisource.org",viwikivoyage:"vi.wikivoyage.org",vlswiki:"vls.wikipedia.org",vowiki:"vo.wikipedia.org",vowiktionary:"vo.wiktionary.org",vowikibooks:"vo.wikibooks.org",vowikiquote:"vo.wikiquote.org",wawiki:"wa.wikipedia.org",wawiktionary:"wa.wiktionary.org",wawikibooks:"wa.wikibooks.org",warwiki:"war.wikipedia.org",wowiki:"wo.wikipedia.org",wowiktionary:"wo.wiktionary.org",wowikiquote:"wo.wikiquote.org",wuuwiki:"wuu.wikipedia.org",xalwiki:"xal.wikipedia.org",xhwiki:"xh.wikipedia.org",xhwiktionary:"xh.wiktionary.org",xhwikibooks:"xh.wikibooks.org",xmfwiki:"xmf.wikipedia.org",yiwiki:"yi.wikipedia.org",yiwiktionary:"yi.wiktionary.org",yiwikisource:"yi.wikisource.org",yowiki:"yo.wikipedia.org",yowiktionary:"yo.wiktionary.org",yowikibooks:"yo.wikibooks.org",zawiki:"za.wikipedia.org",zawiktionary:"za.wiktionary.org",zawikibooks:"za.wikibooks.org",zawikiquote:"za.wikiquote.org",zeawiki:"zea.wikipedia.org",zhwiki:"zh.wikipedia.org",zhwiktionary:"zh.wiktionary.org",zhwikibooks:"zh.wikibooks.org",zhwikinews:"zh.wikinews.org",zhwikiquote:"zh.wikiquote.org",zhwikisource:"zh.wikisource.org",zhwikivoyage:"zh.wikivoyage.org",zh_classicalwiki:"zh-classical.wikipedia.org",zh_min_nanwiki:"zh-min-nan.wikipedia.org",zh_min_nanwiktionary:"zh-min-nan.wiktionary.org",zh_min_nanwikibooks:"zh-min-nan.wikibooks.org",zh_min_nanwikiquote:"zh-min-nan.wikiquote.org",zh_min_nanwikisource:"zh-min-nan.wikisource.org",zh_yuewiki:"zh-yue.wikipedia.org",zuwiki:"zu.wikipedia.org",zuwiktionary:"zu.wiktionary.org",zuwikibooks:"zu.wikibooks.org",advisorywiki:"advisory.wikimedia.org",arwikimedia:"ar.wikimedia.org",arbcom_dewiki:"arbcom-de.wikipedia.org",arbcom_enwiki:"arbcom-en.wikipedia.org",arbcom_fiwiki:"arbcom-fi.wikipedia.org",arbcom_nlwiki:"arbcom-nl.wikipedia.org",auditcomwiki:"auditcom.wikimedia.org",bdwikimedia:"bd.wikimedia.org",bewikimedia:"be.wikimedia.org",betawikiversity:"beta.wikiversity.org",boardwiki:"board.wikimedia.org",boardgovcomwiki:"boardgovcom.wikimedia.org",brwikimedia:"br.wikimedia.org",cawikimedia:"ca.wikimedia.org",chairwiki:"chair.wikimedia.org",chapcomwiki:"affcom.wikimedia.org",checkuserwiki:"checkuser.wikimedia.org",cnwikimedia:"cn.wikimedia.org",cowikimedia:"co.wikimedia.org",collabwiki:"collab.wikimedia.org",commonswiki:"commons.wikimedia.org",dkwikimedia:"dk.wikimedia.org",donatewiki:"donate.wikimedia.org",etwikimedia:"ee.wikimedia.org",execwiki:"exec.wikimedia.org",fdcwiki:"fdc.wikimedia.org",fiwikimedia:"fi.wikimedia.org",foundationwiki:"wikimediafoundation.org",grantswiki:"grants.wikimedia.org",iegcomwiki:"iegcom.wikimedia.org",ilwikimedia:"il.wikimedia.org",incubatorwiki:"incubator.wikimedia.org",internalwiki:"internal.wikimedia.org",labswiki:"wikitech.wikimedia.org",labtestwiki:"labtestwikitech.wikimedia.org",legalteamwiki:"legalteam.wikimedia.org",loginwiki:"login.wikimedia.org",mediawikiwiki:"mediawiki.org",metawiki:"meta.wikimedia.org",mkwikimedia:"mk.wikimedia.org",movementroleswiki:"movementroles.wikimedia.org",mxwikimedia:"mx.wikimedia.org",nlwikimedia:"nl.wikimedia.org",nowikimedia:"no.wikimedia.org",noboard_chapterswikimedia:"noboard-chapters.wikimedia.org",nostalgiawiki:"nostalgia.wikipedia.org",nycwikimedia:"nyc.wikimedia.org",nzwikimedia:"nz.wikimedia.org",officewiki:"office.wikimedia.org",ombudsmenwiki:"ombudsmen.wikimedia.org",otrs_wikiwiki:"otrs-wiki.wikimedia.org",outreachwiki:"outreach.wikimedia.org",pa_uswikimedia:"pa-us.wikimedia.org",plwikimedia:"pl.wikimedia.org",qualitywiki:"quality.wikimedia.org",rswikimedia:"rs.wikimedia.org",ruwikimedia:"ru.wikimedia.org",sewikimedia:"se.wikimedia.org",searchcomwiki:"searchcom.wikimedia.org",sourceswiki:"wikisource.org",spcomwiki:"spcom.wikimedia.org",specieswiki:"species.wikimedia.org",stewardwiki:"steward.wikimedia.org",strategywiki:"strategy.wikimedia.org",tenwiki:"ten.wikipedia.org",testwiki:"test.wikipedia.org",test2wiki:"test2.wikipedia.org",testwikidatawiki:"test.wikidata.org",trwikimedia:"tr.wikimedia.org",transitionteamwiki:"transitionteam.wikimedia.org",uawikimedia:"ua.wikimedia.org",ukwikimedia:"uk.wikimedia.org",usabilitywiki:"usability.wikimedia.org",votewiki:"vote.wikimedia.org",wg_enwiki:"wg-en.wikipedia.org",wikidatawiki:"wikidata.org",wikimania2005wiki:"wikimania2005.wikimedia.org",wikimania2006wiki:"wikimania2006.wikimedia.org",wikimania2007wiki:"wikimania2007.wikimedia.org",wikimania2008wiki:"wikimania2008.wikimedia.org",wikimania2009wiki:"wikimania2009.wikimedia.org",wikimania2010wiki:"wikimania2010.wikimedia.org",wikimania2011wiki:"wikimania2011.wikimedia.org",wikimania2012wiki:"wikimania2012.wikimedia.org",wikimania2013wiki:"wikimania2013.wikimedia.org",wikimania2014wiki:"wikimania2014.wikimedia.org",wikimania2015wiki:"wikimania2015.wikimedia.org",wikimania2016wiki:"wikimania2016.wikimedia.org",wikimania2017wiki:"wikimania2017.wikimedia.org",wikimaniateamwiki:"wikimaniateam.wikimedia.org",zerowiki:"zero.wikimedia.org"};b.exports=d},{}],5:[function(a,b,c){"use strict";var d=a("./templates"),e=a("../shared/pv"),f={agentSelector:"#agent-select",chart:".aqs-chart",chartConfig:{Line:{opts:{bezierCurve:!1,legendTemplate:d.linearLegend},dataset:function(a){return{fillColor:"rgba(0,0,0,0)",pointColor:a,pointHighlightFill:"#fff",pointHighlightStroke:a,pointStrokeColor:"#fff",strokeColor:a}}},Bar:{opts:{barDatasetSpacing:0,barValueSpacing:0,legendTemplate:d.linearLegend},dataset:function(a){return{fillColor:e.rgba(a,.5),highlightFill:e.rgba(a,.75),highlightStroke:a,strokeColor:e.rgba(a,.8)}}},Pie:{opts:{legendTemplate:d.circularLegend},dataset:function(a){return{color:a,highlight:e.rgba(a,.8)}}},Doughnut:{opts:{legendTemplate:d.circularLegend},dataset:function(a){return{color:a,highlight:e.rgba(a,.8)}}},PolarArea:{opts:{legendTemplate:d.circularLegend},dataset:function(a){return{color:a,highlight:e.rgba(a,.8)}}},Radar:{opts:{legendTemplate:d.linearLegend},dataset:function(a){return{fillColor:e.rgba(a,.1),pointColor:a,pointStrokeColor:"#fff",pointHighlightFill:"#fff",pointHighlightStroke:a,strokeColor:a}}}},circularCharts:["Pie","Doughnut","PolarArea"],colors:["rgba(171, 212, 235, 1)","rgba(178, 223, 138, 1)","rgba(251, 154, 153, 1)","rgba(253, 191, 111, 1)","rgba(202, 178, 214, 1)","rgba(207, 182, 128, 1)","rgba(141, 211, 199, 1)","rgba(252, 205, 229, 1)","rgba(255, 247, 161, 1)","rgba(217, 217, 217, 1)"],cookieExpiry:30,defaults:{autocomplete:"autocomplete",chartType:"Line",dateFormat:"YYYY-MM-DD",dateRange:"latest-20",daysAgo:20,localizeDateFormat:"true",numericalFormatting:"true",projects:["fr.wikipedia.org","de.wikipedia.org"]},dateRangeSelector:".aqs-date-range-selector",globalChartOpts:{animation:!0,animationEasing:"easeInOutQuart",animationSteps:30,labelsFilter:function(a,b,c){return c.length>=60?(b+1)%Math.ceil(c.length/60*2)!==0:!1},multiTooltipTemplate:"<%= formatNumber(value) %>",scaleLabel:"<%= formatNumber(value) %>",tooltipTemplate:"<%if (label){%><%=label%>: <%}%><%= formatNumber(value) %>"},linearCharts:["Line","Bar","Radar"],minDate:moment("2015-08-01").startOf("day"),maxDate:moment().subtract(1,"days").startOf("day"),platformSelector:"#platform-select",projectInput:".aqs-project-input",siteSelector:".aqs-site-selector",specialRanges:{"last-week":[moment().subtract(1,"week").startOf("week"),moment().subtract(1,"week").endOf("week")],"this-month":[moment().startOf("month"),moment().subtract(1,"days").startOf("day")],"last-month":[moment().subtract(1,"month").startOf("month"),moment().subtract(1,"month").endOf("month")],latest:function(){var a=arguments.length<=0||void 0===arguments[0]?f.daysAgo:arguments[0];return[moment().subtract(a,"days").startOf("day"),f.maxDate]}},timestampFormat:"YYYYMMDD00"};b.exports=f},{"../shared/pv":3,"./templates":7}],6:[function(a,b,c){"use strict";function d(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function e(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b}function f(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}var g=function(){function a(a,b){for(var c=0;c=e;e.add(1,"d"))if(d[e])a.items.push(d[e]);else{var f=e.isSame(i.maxDate)||e.isSame(moment(i.maxDate).subtract(1,"days"));a.items.push({timestamp:e.format(i.timestampFormat),views:f?null:0})}}},{key:"getCircularData",value:function(a,b,c){var d=a.items.map(function(a){return a.views}),e=i.colors[c];return Object.assign({label:b,value:d.reduce(function(a,b){return a+b})},i.chartConfig[this.chartType].dataset(e))}},{key:"getDateHeadings",value:function(a){for(var b=[],c=moment(this.daterangepicker.startDate);c.isBefore(this.daterangepicker.endDate);c.add(1,"d"))a?b.push(c.format(this.dateFormat)):b.push(c.format("YYYY-MM-DD"));return b}},{key:"getLinearData",value:function(a,b,c){var d=a.items.map(function(a){return a.views}),e=i.colors[c%10];return Object.assign({label:b,data:d,sum:d.reduce(function(a,b){return a+b})},i.chartConfig[this.chartType].dataset(e))}},{key:"getPermaLink",value:function(){var a=this.getParams(!1);return delete a.range,a}},{key:"getTopviewsURL",value:function(a){return"/topviews?"+$.param(this.getParams())+"&project="+a}},{key:"parseQueryString",value:function(){for(var a=decodeURI(location.search.slice(1)),b=a.split("&"),c={},d=0;db)return this.addSiteNotice("warning",$.i18n("param-error-2"),$.i18n("invalid-params"),!0),void this.resetView();this.daterangepicker.startDate=a,this.daterangepicker.setEndDate(b)}else this.setSpecialRange(i.defaults.dateRange);
-$(i.platformSelector).val(c.platform||"all-access"),$(i.agentSelector).val(c.agent||"user"),this.resetSiteSelector(),!c.sites||1===c.sites.length&&!c.sites[0]?(c.sites=i.defaults.projects,this.setSiteSelectorDefaults(c.sites)):(1===c.sites.length&&(this.chartType=this.getFromLocalStorage("pageviews-chart-preference")||"Bar"),this.setSiteSelectorDefaults(c.sites))}},{key:"getParams",value:function(){var a=arguments.length<=0||void 0===arguments[0]?!0:arguments[0],b={platform:$(i.platformSelector).val(),agent:$(i.agentSelector).val()};return this.specialRange&&a?b.range=this.specialRange.range:(b.start=this.daterangepicker.startDate.format("YYYY-MM-DD"),b.end=this.daterangepicker.endDate.format("YYYY-MM-DD")),b}},{key:"pushParams",value:function(){var a=$(i.siteSelector).select2("val")||[];window.history&&window.history.replaceState&&window.history.replaceState({},document.title,"?"+$.param(this.getParams())+"&sites="+a.join("|")),$(".permalink").prop("href","?"+$.param(this.getPermaLink())+"&sites="+a.join("|"))}},{key:"resetSiteSelector",value:function(){var a=$(i.siteSelector);a.off("change"),a.select2("val",null),a.select2("data",null),a.select2("destroy"),$(".data-links").hide(),this.setupSiteSelector()}},{key:"resetView",value:function(){$(".chart-container").html(""),$(".chart-container").removeClass("loading"),$("#chart-legend").html(""),$(".message-container").html(""),this.resetSiteSelector()}},{key:"saveSetting",value:function(a,b){this[a]=b,this.setLocalStorage("pageviews-settings-"+a,b)}},{key:"saveSettings",value:function(){var a=this,b="no_autocomplete"===this.autocomplete;$.each($("#settings-modal input"),function(b,c){"checkbox"===c.type?a.saveSetting(c.name,c.checked?"true":"false"):c.checked&&a.saveSetting(c.name,c.value)}),this.daterangepicker.locale.format=this.dateFormat,this.daterangepicker.updateElement(),this.setupSelect2Colors(),"no_autocomplete"===this.autocomplete!==b&&this.resetSiteSelector(),this.updateChart(!0)}},{key:"setSiteSelectorDefaults",value:function(a){return a.forEach(function(a){var b=$("").text(a).html();$("
"+b+" ").appendTo(i.siteSelector)}),$(i.siteSelector).select2("val",a),$(i.siteSelector).select2("close"),a}},{key:"setupSiteSelector",value:function(){var a=$(i.siteSelector),b={ajax:{transport:function(a,b,c){var d=k.filter(function(b){return b.startsWith(a.data.q)});b({results:d.slice(0,10)})},processResults:function(a){var b=a.results.map(function(a){return{id:a,text:a}});return{results:b}}},placeholder:$.i18n("projects-placeholder"),maximumSelectionLength:10,minimumInputLength:1};a.select2(b),a.on("change",this.updateChart.bind(this))}},{key:"setChartPointDetectionRadius",value:function(){"Line"===this.chartType&&(this.numDaysInRange()>50?Chart.defaults.Line.pointHitDetectionRadius=3:this.numDaysInRange()>30?Chart.defaults.Line.pointHitDetectionRadius=5:this.numDaysInRange()>20?Chart.defaults.Line.pointHitDetectionRadius=10:Chart.defaults.Line.pointHitDetectionRadius=20)}},{key:"setupDateRangeSelector",value:function(){var a=this,b=$(i.dateRangeSelector),c={};Object.keys(i.specialRanges).forEach(function(a){c[$.i18n(a)]=i.specialRanges[a]}),b.daterangepicker({locale:{format:this.dateFormat,applyLabel:$.i18n("apply"),cancelLabel:$.i18n("cancel"),customRangeLabel:$.i18n("custom-range"),daysOfWeek:[$.i18n("su"),$.i18n("mo"),$.i18n("tu"),$.i18n("we"),$.i18n("th"),$.i18n("fr"),$.i18n("sa")],monthNames:[$.i18n("january"),$.i18n("february"),$.i18n("march"),$.i18n("april"),$.i18n("may"),$.i18n("june"),$.i18n("july"),$.i18n("august"),$.i18n("september"),$.i18n("october"),$.i18n("november"),$.i18n("december")]},startDate:moment().subtract(i.defaults.daysAgo,"days"),minDate:i.minDate,maxDate:i.maxDate,ranges:c}),$(".daterangepicker .ranges li").on("click",function(b){var c=$(".daterangepicker .ranges li").index(b.target),d=a.daterangepicker.container,e=d.find(".daterangepicker_input input");a.specialRange={range:Object.keys(i.specialRanges)[c],value:e[0].value+" - "+e[1].value}}),$(".date-latest a").on("click",function(b){a.setSpecialRange("latest-"+$(b.target).data("value"))}),b.on("apply.daterangepicker",function(b,c){c.chosenLabel===$.i18n("custom-range")&&(a.specialRange=null,a.daterangepicker.updateElement())}),b.on("change",function(b){a.setChartPointDetectionRadius(),a.updateChart(),a.specialRange&&a.specialRange.value!==b.target.value&&(a.specialRange=null)})}},{key:"setupListeners",value:function(){var a=this;h(Object.getPrototypeOf(b.prototype),"setupListeners",this).call(this),$(".download-csv").on("click",this.exportCSV.bind(this)),$(".download-json").on("click",this.exportJSON.bind(this)),$("#platform-select, #agent-select").on("change",this.updateChart.bind(this)),$(".modal-chart-type a").on("click",function(b){a.chartType=$(b.currentTarget).data("type"),a.setLocalStorage("pageviews-chart-preference",a.chartType),a.updateChart()})}},{key:"setupSelect2Colors",value:function(){var a=this;return this.colorsStyleEl&&this.colorsStyleEl.remove(),this.colorsStyleEl=document.createElement("style"),this.colorsStyleEl.appendChild(document.createTextNode("")),document.head.appendChild(this.colorsStyleEl),i.colors.forEach(function(b,c){a.colorsStyleEl.sheet.insertRule(".select2-selection__choice:nth-of-type("+(c+1)+") { background: "+b+" !important }",0)}),this.colorsStyleEl.sheet}},{key:"setupSettingsModal",value:function(){this.fillInSettings(),$(".save-settings-btn").on("click",this.saveSettings.bind(this)),$(".cancel-settings-btn").on("click",this.fillInSettings.bind(this))}},{key:"updateChart",value:function(a){var b,c=this,d=$(i.siteSelector).select2("val")||[];if(this.pushParams(),a||location.search!==this.params||this.prevChartType!==this.chartType){if(!d.length)return void this.resetView();this.params=location.search,this.prevChartType=this.chartType,this.clearMessages();var e=this.daterangepicker.startDate.startOf("day"),f=this.daterangepicker.endDate.startOf("day");this.destroyChart(),$(".message-container").html(""),$(".chart-container").addClass("loading");var g=[],h=[],j=[],k=[];d.forEach(function(a,b){var l=encodeURIComponent(a),m="https://wikimedia.org/api/rest_v1/metrics/pageviews/aggregate/"+l+("/"+$(i.platformSelector).val()+"/"+$(i.agentSelector).val()+"/daily")+("/"+e.format(i.timestampFormat)+"/"+f.format(i.timestampFormat)),n=$.ajax({url:m,dataType:"json"});k.push(n),n.success(function(d){c.fillInZeros(d,e,f),i.linearCharts.includes(c.chartType)?h.push(c.getLinearData(d,a,b)):h.push(c.getCircularData(d,a,b)),d.items&&!g.length&&(g=d.items.map(function(a){return moment(a.timestamp,i.timestampFormat).format(c.dateFormat)}))}).fail(function(b){404===b.status?(c.writeMessage("
"+a+" - "+$.i18n("api-error-no-data")),d=d.filter(function(b){return b!==a}),d.length||($(".chart-container").html(""),$(".chart-container").removeClass("loading"))):j.push(b.responseJSON.detail[0])})}),(b=$).when.apply(b,k).always(function(a){if($("#chart-legend").html(""),j.length&&j.length===d.length){$(".chart-container").removeClass("loading");var b=Array.from(new Set(j)).map(function(a){return"
"+a+" "}).join("");return c.writeMessage($.i18n("api-error")+"
"+$.i18n("api-error-contact"),!0)}if(d.length){var e=new Array(d.length);h.forEach(function(a){e[d.indexOf(a.label)]=a}),window.chartData=e,$(".chart-container").removeClass("loading");var f=Object.assign({},i.chartConfig[c.chartType].opts,i.globalChartOpts),k={labels:g,datasets:e};$(".chart-container").html(""),$(".chart-container").append("
");var l=$(i.chart)[0].getContext("2d");i.linearCharts.includes(c.chartType)?c.chartObj=new Chart(l)[c.chartType](k,f):c.chartObj=new Chart(l)[c.chartType](e,f),$("#chart-legend").html(c.chartObj.generateLegend()),$(".data-links").show()}})}}},{key:"validateProjects",value:function(){var a=this,b=arguments.length<=0||void 0===arguments[0]?[]:arguments[0];return b.filter(function(b){return k.includes(b)?!0:(a.writeMessage($.i18n("invalid-project",""+b+" ")),!1)})}}]),b}(l);$(document).ready(function(){return document.location.hash&&!document.location.search?document.location.href=document.location.href.replace("#","?"):document.location.hash?document.location.href=document.location.href.replace(/\#.*/,""):($.extend(Chart.defaults.global,{animation:!1,responsive:!0}),void new m)})},{"../shared/pv":3,"../shared/site_map":4,"./config":5}],7:[function(a,b,c){"use strict";var d={linearLegend:'\n <% if (chartData.length === 1) { %>\n <%= $.i18n(\'totals\') %>: \n <%= formatNumber(chartData[0].sum) %> (<%= formatNumber(Math.round(chartData[0].sum / numDaysInRange())) %>/<%= $.i18n(\'day\') %>)\n •\n <%= $.i18n(\'statistics\') %> \n •\n <%= $.i18n(\'most-viewed-pages\') %> \n <% } else { %>\n <% var total = chartData.reduce(function(a,b) { return a + b.sum }, 0); %>\n \n <%= $.i18n(\'totals\') %>: \n <%= formatNumber(total) %> (<%= formatNumber(Math.round(total / numDaysInRange())) %>/<%= $.i18n(\'day\') %>)\n
\n \n <% for (var i=0; i
\n \n \n \n <%= formatNumber(chartData[i].sum) %> (<%= formatNumber(Math.round(chartData[i].sum / numDaysInRange())) %>/<%= $.i18n(\'day\') %>)\n
\n \n \n <% } %>\n \n <% } %>',circularLegend:"\n <%= $.i18n('totals') %> <% var total = chartData.reduce(function(a,b){ return a + b.value }, 0); %>\n -legend\">\n <% if(chartData.length > 1) { %><%= formatNumber(total) %> (<%= formatNumber(Math.round(total / numDaysInRange())) %>/<%= $.i18n('day') %>) <% } %>\n <% for (var i=0; i\n \n \">\n <%=segments[i].label%> \n \n <%= formatNumber(chartData[i].value) %> (<%= formatNumber(Math.round(chartData[i].value / numDaysInRange())) %>/<%= $.i18n('day') %>)\n \n <% } %>\n \n "};b.exports=d},{}]},{},[1,2,3,4,6]);
\ No newline at end of file
+cvwikibooks:"cv.wikibooks.org",cywiki:"cy.wikipedia.org",cywiktionary:"cy.wiktionary.org",cywikibooks:"cy.wikibooks.org",cywikiquote:"cy.wikiquote.org",cywikisource:"cy.wikisource.org",dawiki:"da.wikipedia.org",dawiktionary:"da.wiktionary.org",dawikibooks:"da.wikibooks.org",dawikiquote:"da.wikiquote.org",dawikisource:"da.wikisource.org",dewiki:"de.wikipedia.org",dewiktionary:"de.wiktionary.org",dewikibooks:"de.wikibooks.org",dewikinews:"de.wikinews.org",dewikiquote:"de.wikiquote.org",dewikisource:"de.wikisource.org",dewikiversity:"de.wikiversity.org",dewikivoyage:"de.wikivoyage.org",diqwiki:"diq.wikipedia.org",dsbwiki:"dsb.wikipedia.org",dvwiki:"dv.wikipedia.org",dvwiktionary:"dv.wiktionary.org",dzwiki:"dz.wikipedia.org",dzwiktionary:"dz.wiktionary.org",eewiki:"ee.wikipedia.org",elwiki:"el.wikipedia.org",elwiktionary:"el.wiktionary.org",elwikibooks:"el.wikibooks.org",elwikinews:"el.wikinews.org",elwikiquote:"el.wikiquote.org",elwikisource:"el.wikisource.org",elwikiversity:"el.wikiversity.org",elwikivoyage:"el.wikivoyage.org",emlwiki:"eml.wikipedia.org",enwiki:"en.wikipedia.org",enwiktionary:"en.wiktionary.org",enwikibooks:"en.wikibooks.org",enwikinews:"en.wikinews.org",enwikiquote:"en.wikiquote.org",enwikisource:"en.wikisource.org",enwikiversity:"en.wikiversity.org",enwikivoyage:"en.wikivoyage.org",eowiki:"eo.wikipedia.org",eowiktionary:"eo.wiktionary.org",eowikibooks:"eo.wikibooks.org",eowikinews:"eo.wikinews.org",eowikiquote:"eo.wikiquote.org",eowikisource:"eo.wikisource.org",eswiki:"es.wikipedia.org",eswiktionary:"es.wiktionary.org",eswikibooks:"es.wikibooks.org",eswikinews:"es.wikinews.org",eswikiquote:"es.wikiquote.org",eswikisource:"es.wikisource.org",eswikiversity:"es.wikiversity.org",eswikivoyage:"es.wikivoyage.org",etwiki:"et.wikipedia.org",etwiktionary:"et.wiktionary.org",etwikibooks:"et.wikibooks.org",etwikiquote:"et.wikiquote.org",etwikisource:"et.wikisource.org",euwiki:"eu.wikipedia.org",euwiktionary:"eu.wiktionary.org",euwikibooks:"eu.wikibooks.org",euwikiquote:"eu.wikiquote.org",extwiki:"ext.wikipedia.org",fawiki:"fa.wikipedia.org",fawiktionary:"fa.wiktionary.org",fawikibooks:"fa.wikibooks.org",fawikinews:"fa.wikinews.org",fawikiquote:"fa.wikiquote.org",fawikisource:"fa.wikisource.org",fawikivoyage:"fa.wikivoyage.org",ffwiki:"ff.wikipedia.org",fiwiki:"fi.wikipedia.org",fiwiktionary:"fi.wiktionary.org",fiwikibooks:"fi.wikibooks.org",fiwikinews:"fi.wikinews.org",fiwikiquote:"fi.wikiquote.org",fiwikisource:"fi.wikisource.org",fiwikiversity:"fi.wikiversity.org",fiu_vrowiki:"fiu-vro.wikipedia.org",fjwiki:"fj.wikipedia.org",fjwiktionary:"fj.wiktionary.org",fowiki:"fo.wikipedia.org",fowiktionary:"fo.wiktionary.org",fowikisource:"fo.wikisource.org",frwiki:"fr.wikipedia.org",frwiktionary:"fr.wiktionary.org",frwikibooks:"fr.wikibooks.org",frwikinews:"fr.wikinews.org",frwikiquote:"fr.wikiquote.org",frwikisource:"fr.wikisource.org",frwikiversity:"fr.wikiversity.org",frwikivoyage:"fr.wikivoyage.org",frpwiki:"frp.wikipedia.org",frrwiki:"frr.wikipedia.org",furwiki:"fur.wikipedia.org",fywiki:"fy.wikipedia.org",fywiktionary:"fy.wiktionary.org",fywikibooks:"fy.wikibooks.org",gawiki:"ga.wikipedia.org",gawiktionary:"ga.wiktionary.org",gawikibooks:"ga.wikibooks.org",gawikiquote:"ga.wikiquote.org",gagwiki:"gag.wikipedia.org",ganwiki:"gan.wikipedia.org",gdwiki:"gd.wikipedia.org",gdwiktionary:"gd.wiktionary.org",glwiki:"gl.wikipedia.org",glwiktionary:"gl.wiktionary.org",glwikibooks:"gl.wikibooks.org",glwikiquote:"gl.wikiquote.org",glwikisource:"gl.wikisource.org",glkwiki:"glk.wikipedia.org",gnwiki:"gn.wikipedia.org",gnwiktionary:"gn.wiktionary.org",gnwikibooks:"gn.wikibooks.org",gomwiki:"gom.wikipedia.org",gotwiki:"got.wikipedia.org",gotwikibooks:"got.wikibooks.org",guwiki:"gu.wikipedia.org",guwiktionary:"gu.wiktionary.org",guwikibooks:"gu.wikibooks.org",guwikiquote:"gu.wikiquote.org",guwikisource:"gu.wikisource.org",gvwiki:"gv.wikipedia.org",gvwiktionary:"gv.wiktionary.org",hawiki:"ha.wikipedia.org",hawiktionary:"ha.wiktionary.org",hakwiki:"hak.wikipedia.org",hawwiki:"haw.wikipedia.org",hewiki:"he.wikipedia.org",hewiktionary:"he.wiktionary.org",hewikibooks:"he.wikibooks.org",hewikinews:"he.wikinews.org",hewikiquote:"he.wikiquote.org",hewikisource:"he.wikisource.org",hewikivoyage:"he.wikivoyage.org",hiwiki:"hi.wikipedia.org",hiwiktionary:"hi.wiktionary.org",hiwikibooks:"hi.wikibooks.org",hiwikiquote:"hi.wikiquote.org",hifwiki:"hif.wikipedia.org",howiki:"ho.wikipedia.org",hrwiki:"hr.wikipedia.org",hrwiktionary:"hr.wiktionary.org",hrwikibooks:"hr.wikibooks.org",hrwikiquote:"hr.wikiquote.org",hrwikisource:"hr.wikisource.org",hsbwiki:"hsb.wikipedia.org",hsbwiktionary:"hsb.wiktionary.org",htwiki:"ht.wikipedia.org",htwikisource:"ht.wikisource.org",huwiki:"hu.wikipedia.org",huwiktionary:"hu.wiktionary.org",huwikibooks:"hu.wikibooks.org",huwikinews:"hu.wikinews.org",huwikiquote:"hu.wikiquote.org",huwikisource:"hu.wikisource.org",hywiki:"hy.wikipedia.org",hywiktionary:"hy.wiktionary.org",hywikibooks:"hy.wikibooks.org",hywikiquote:"hy.wikiquote.org",hywikisource:"hy.wikisource.org",hzwiki:"hz.wikipedia.org",iawiki:"ia.wikipedia.org",iawiktionary:"ia.wiktionary.org",iawikibooks:"ia.wikibooks.org",idwiki:"id.wikipedia.org",idwiktionary:"id.wiktionary.org",idwikibooks:"id.wikibooks.org",idwikiquote:"id.wikiquote.org",idwikisource:"id.wikisource.org",iewiki:"ie.wikipedia.org",iewiktionary:"ie.wiktionary.org",iewikibooks:"ie.wikibooks.org",igwiki:"ig.wikipedia.org",iiwiki:"ii.wikipedia.org",ikwiki:"ik.wikipedia.org",ikwiktionary:"ik.wiktionary.org",ilowiki:"ilo.wikipedia.org",iowiki:"io.wikipedia.org",iowiktionary:"io.wiktionary.org",iswiki:"is.wikipedia.org",iswiktionary:"is.wiktionary.org",iswikibooks:"is.wikibooks.org",iswikiquote:"is.wikiquote.org",iswikisource:"is.wikisource.org",itwiki:"it.wikipedia.org",itwiktionary:"it.wiktionary.org",itwikibooks:"it.wikibooks.org",itwikinews:"it.wikinews.org",itwikiquote:"it.wikiquote.org",itwikisource:"it.wikisource.org",itwikiversity:"it.wikiversity.org",itwikivoyage:"it.wikivoyage.org",iuwiki:"iu.wikipedia.org",iuwiktionary:"iu.wiktionary.org",jawiki:"ja.wikipedia.org",jawiktionary:"ja.wiktionary.org",jawikibooks:"ja.wikibooks.org",jawikinews:"ja.wikinews.org",jawikiquote:"ja.wikiquote.org",jawikisource:"ja.wikisource.org",jawikiversity:"ja.wikiversity.org",jbowiki:"jbo.wikipedia.org",jbowiktionary:"jbo.wiktionary.org",jvwiki:"jv.wikipedia.org",jvwiktionary:"jv.wiktionary.org",kawiki:"ka.wikipedia.org",kawiktionary:"ka.wiktionary.org",kawikibooks:"ka.wikibooks.org",kawikiquote:"ka.wikiquote.org",kaawiki:"kaa.wikipedia.org",kabwiki:"kab.wikipedia.org",kbdwiki:"kbd.wikipedia.org",kgwiki:"kg.wikipedia.org",kiwiki:"ki.wikipedia.org",kjwiki:"kj.wikipedia.org",kkwiki:"kk.wikipedia.org",kkwiktionary:"kk.wiktionary.org",kkwikibooks:"kk.wikibooks.org",kkwikiquote:"kk.wikiquote.org",klwiki:"kl.wikipedia.org",klwiktionary:"kl.wiktionary.org",kmwiki:"km.wikipedia.org",kmwiktionary:"km.wiktionary.org",kmwikibooks:"km.wikibooks.org",knwiki:"kn.wikipedia.org",knwiktionary:"kn.wiktionary.org",knwikibooks:"kn.wikibooks.org",knwikiquote:"kn.wikiquote.org",knwikisource:"kn.wikisource.org",kowiki:"ko.wikipedia.org",kowiktionary:"ko.wiktionary.org",kowikibooks:"ko.wikibooks.org",kowikinews:"ko.wikinews.org",kowikiquote:"ko.wikiquote.org",kowikisource:"ko.wikisource.org",kowikiversity:"ko.wikiversity.org",koiwiki:"koi.wikipedia.org",krwiki:"kr.wikipedia.org",krwikiquote:"kr.wikiquote.org",krcwiki:"krc.wikipedia.org",kswiki:"ks.wikipedia.org",kswiktionary:"ks.wiktionary.org",kswikibooks:"ks.wikibooks.org",kswikiquote:"ks.wikiquote.org",kshwiki:"ksh.wikipedia.org",kuwiki:"ku.wikipedia.org",kuwiktionary:"ku.wiktionary.org",kuwikibooks:"ku.wikibooks.org",kuwikiquote:"ku.wikiquote.org",kvwiki:"kv.wikipedia.org",kwwiki:"kw.wikipedia.org",kwwiktionary:"kw.wiktionary.org",kwwikiquote:"kw.wikiquote.org",kywiki:"ky.wikipedia.org",kywiktionary:"ky.wiktionary.org",kywikibooks:"ky.wikibooks.org",kywikiquote:"ky.wikiquote.org",lawiki:"la.wikipedia.org",lawiktionary:"la.wiktionary.org",lawikibooks:"la.wikibooks.org",lawikiquote:"la.wikiquote.org",lawikisource:"la.wikisource.org",ladwiki:"lad.wikipedia.org",lbwiki:"lb.wikipedia.org",lbwiktionary:"lb.wiktionary.org",lbwikibooks:"lb.wikibooks.org",lbwikiquote:"lb.wikiquote.org",lbewiki:"lbe.wikipedia.org",lezwiki:"lez.wikipedia.org",lgwiki:"lg.wikipedia.org",liwiki:"li.wikipedia.org",liwiktionary:"li.wiktionary.org",liwikibooks:"li.wikibooks.org",liwikiquote:"li.wikiquote.org",liwikisource:"li.wikisource.org",lijwiki:"lij.wikipedia.org",lmowiki:"lmo.wikipedia.org",lnwiki:"ln.wikipedia.org",lnwiktionary:"ln.wiktionary.org",lnwikibooks:"ln.wikibooks.org",lowiki:"lo.wikipedia.org",lowiktionary:"lo.wiktionary.org",lrcwiki:"lrc.wikipedia.org",ltwiki:"lt.wikipedia.org",ltwiktionary:"lt.wiktionary.org",ltwikibooks:"lt.wikibooks.org",ltwikiquote:"lt.wikiquote.org",ltwikisource:"lt.wikisource.org",ltgwiki:"ltg.wikipedia.org",lvwiki:"lv.wikipedia.org",lvwiktionary:"lv.wiktionary.org",lvwikibooks:"lv.wikibooks.org",maiwiki:"mai.wikipedia.org",map_bmswiki:"map-bms.wikipedia.org",mdfwiki:"mdf.wikipedia.org",mgwiki:"mg.wikipedia.org",mgwiktionary:"mg.wiktionary.org",mgwikibooks:"mg.wikibooks.org",mhwiki:"mh.wikipedia.org",mhwiktionary:"mh.wiktionary.org",mhrwiki:"mhr.wikipedia.org",miwiki:"mi.wikipedia.org",miwiktionary:"mi.wiktionary.org",miwikibooks:"mi.wikibooks.org",minwiki:"min.wikipedia.org",mkwiki:"mk.wikipedia.org",mkwiktionary:"mk.wiktionary.org",mkwikibooks:"mk.wikibooks.org",mkwikisource:"mk.wikisource.org",mlwiki:"ml.wikipedia.org",mlwiktionary:"ml.wiktionary.org",mlwikibooks:"ml.wikibooks.org",mlwikiquote:"ml.wikiquote.org",mlwikisource:"ml.wikisource.org",mnwiki:"mn.wikipedia.org",mnwiktionary:"mn.wiktionary.org",mnwikibooks:"mn.wikibooks.org",mowiki:"mo.wikipedia.org",mowiktionary:"mo.wiktionary.org",mrwiki:"mr.wikipedia.org",mrwiktionary:"mr.wiktionary.org",mrwikibooks:"mr.wikibooks.org",mrwikiquote:"mr.wikiquote.org",mrwikisource:"mr.wikisource.org",mrjwiki:"mrj.wikipedia.org",mswiki:"ms.wikipedia.org",mswiktionary:"ms.wiktionary.org",mswikibooks:"ms.wikibooks.org",mtwiki:"mt.wikipedia.org",mtwiktionary:"mt.wiktionary.org",muswiki:"mus.wikipedia.org",mwlwiki:"mwl.wikipedia.org",mywiki:"my.wikipedia.org",mywiktionary:"my.wiktionary.org",mywikibooks:"my.wikibooks.org",myvwiki:"myv.wikipedia.org",mznwiki:"mzn.wikipedia.org",nawiki:"na.wikipedia.org",nawiktionary:"na.wiktionary.org",nawikibooks:"na.wikibooks.org",nawikiquote:"na.wikiquote.org",nahwiki:"nah.wikipedia.org",nahwiktionary:"nah.wiktionary.org",nahwikibooks:"nah.wikibooks.org",napwiki:"nap.wikipedia.org",ndswiki:"nds.wikipedia.org",ndswiktionary:"nds.wiktionary.org",ndswikibooks:"nds.wikibooks.org",ndswikiquote:"nds.wikiquote.org",nds_nlwiki:"nds-nl.wikipedia.org",newiki:"ne.wikipedia.org",newiktionary:"ne.wiktionary.org",newikibooks:"ne.wikibooks.org",newwiki:"new.wikipedia.org",ngwiki:"ng.wikipedia.org",nlwiki:"nl.wikipedia.org",nlwiktionary:"nl.wiktionary.org",nlwikibooks:"nl.wikibooks.org",nlwikinews:"nl.wikinews.org",nlwikiquote:"nl.wikiquote.org",nlwikisource:"nl.wikisource.org",nlwikivoyage:"nl.wikivoyage.org",nnwiki:"nn.wikipedia.org",nnwiktionary:"nn.wiktionary.org",nnwikiquote:"nn.wikiquote.org",nowiki:"no.wikipedia.org",nowiktionary:"no.wiktionary.org",nowikibooks:"no.wikibooks.org",nowikinews:"no.wikinews.org",nowikiquote:"no.wikiquote.org",nowikisource:"no.wikisource.org",novwiki:"nov.wikipedia.org",nrmwiki:"nrm.wikipedia.org",nsowiki:"nso.wikipedia.org",nvwiki:"nv.wikipedia.org",nywiki:"ny.wikipedia.org",ocwiki:"oc.wikipedia.org",ocwiktionary:"oc.wiktionary.org",ocwikibooks:"oc.wikibooks.org",omwiki:"om.wikipedia.org",omwiktionary:"om.wiktionary.org",orwiki:"or.wikipedia.org",orwiktionary:"or.wiktionary.org",orwikisource:"or.wikisource.org",oswiki:"os.wikipedia.org",pawiki:"pa.wikipedia.org",pawiktionary:"pa.wiktionary.org",pawikibooks:"pa.wikibooks.org",pagwiki:"pag.wikipedia.org",pamwiki:"pam.wikipedia.org",papwiki:"pap.wikipedia.org",pcdwiki:"pcd.wikipedia.org",pdcwiki:"pdc.wikipedia.org",pflwiki:"pfl.wikipedia.org",piwiki:"pi.wikipedia.org",piwiktionary:"pi.wiktionary.org",pihwiki:"pih.wikipedia.org",plwiki:"pl.wikipedia.org",plwiktionary:"pl.wiktionary.org",plwikibooks:"pl.wikibooks.org",plwikinews:"pl.wikinews.org",plwikiquote:"pl.wikiquote.org",plwikisource:"pl.wikisource.org",plwikivoyage:"pl.wikivoyage.org",pmswiki:"pms.wikipedia.org",pnbwiki:"pnb.wikipedia.org",pnbwiktionary:"pnb.wiktionary.org",pntwiki:"pnt.wikipedia.org",pswiki:"ps.wikipedia.org",pswiktionary:"ps.wiktionary.org",pswikibooks:"ps.wikibooks.org",ptwiki:"pt.wikipedia.org",ptwiktionary:"pt.wiktionary.org",ptwikibooks:"pt.wikibooks.org",ptwikinews:"pt.wikinews.org",ptwikiquote:"pt.wikiquote.org",ptwikisource:"pt.wikisource.org",ptwikiversity:"pt.wikiversity.org",ptwikivoyage:"pt.wikivoyage.org",quwiki:"qu.wikipedia.org",quwiktionary:"qu.wiktionary.org",quwikibooks:"qu.wikibooks.org",quwikiquote:"qu.wikiquote.org",rmwiki:"rm.wikipedia.org",rmwiktionary:"rm.wiktionary.org",rmwikibooks:"rm.wikibooks.org",rmywiki:"rmy.wikipedia.org",rnwiki:"rn.wikipedia.org",rnwiktionary:"rn.wiktionary.org",rowiki:"ro.wikipedia.org",rowiktionary:"ro.wiktionary.org",rowikibooks:"ro.wikibooks.org",rowikinews:"ro.wikinews.org",rowikiquote:"ro.wikiquote.org",rowikisource:"ro.wikisource.org",rowikivoyage:"ro.wikivoyage.org",roa_rupwiki:"roa-rup.wikipedia.org",roa_rupwiktionary:"roa-rup.wiktionary.org",roa_tarawiki:"roa-tara.wikipedia.org",ruwiki:"ru.wikipedia.org",ruwiktionary:"ru.wiktionary.org",ruwikibooks:"ru.wikibooks.org",ruwikinews:"ru.wikinews.org",ruwikiquote:"ru.wikiquote.org",ruwikisource:"ru.wikisource.org",ruwikiversity:"ru.wikiversity.org",ruwikivoyage:"ru.wikivoyage.org",ruewiki:"rue.wikipedia.org",rwwiki:"rw.wikipedia.org",rwwiktionary:"rw.wiktionary.org",sawiki:"sa.wikipedia.org",sawiktionary:"sa.wiktionary.org",sawikibooks:"sa.wikibooks.org",sawikiquote:"sa.wikiquote.org",sawikisource:"sa.wikisource.org",sahwiki:"sah.wikipedia.org",sahwikisource:"sah.wikisource.org",scwiki:"sc.wikipedia.org",scwiktionary:"sc.wiktionary.org",scnwiki:"scn.wikipedia.org",scnwiktionary:"scn.wiktionary.org",scowiki:"sco.wikipedia.org",sdwiki:"sd.wikipedia.org",sdwiktionary:"sd.wiktionary.org",sdwikinews:"sd.wikinews.org",sewiki:"se.wikipedia.org",sewikibooks:"se.wikibooks.org",sgwiki:"sg.wikipedia.org",sgwiktionary:"sg.wiktionary.org",shwiki:"sh.wikipedia.org",shwiktionary:"sh.wiktionary.org",siwiki:"si.wikipedia.org",siwiktionary:"si.wiktionary.org",siwikibooks:"si.wikibooks.org",simplewiki:"simple.wikipedia.org",simplewiktionary:"simple.wiktionary.org",simplewikibooks:"simple.wikibooks.org",simplewikiquote:"simple.wikiquote.org",skwiki:"sk.wikipedia.org",skwiktionary:"sk.wiktionary.org",skwikibooks:"sk.wikibooks.org",skwikiquote:"sk.wikiquote.org",skwikisource:"sk.wikisource.org",slwiki:"sl.wikipedia.org",slwiktionary:"sl.wiktionary.org",slwikibooks:"sl.wikibooks.org",slwikiquote:"sl.wikiquote.org",slwikisource:"sl.wikisource.org",slwikiversity:"sl.wikiversity.org",smwiki:"sm.wikipedia.org",smwiktionary:"sm.wiktionary.org",snwiki:"sn.wikipedia.org",snwiktionary:"sn.wiktionary.org",sowiki:"so.wikipedia.org",sowiktionary:"so.wiktionary.org",sqwiki:"sq.wikipedia.org",sqwiktionary:"sq.wiktionary.org",sqwikibooks:"sq.wikibooks.org",sqwikinews:"sq.wikinews.org",sqwikiquote:"sq.wikiquote.org",srwiki:"sr.wikipedia.org",srwiktionary:"sr.wiktionary.org",srwikibooks:"sr.wikibooks.org",srwikinews:"sr.wikinews.org",srwikiquote:"sr.wikiquote.org",srwikisource:"sr.wikisource.org",srnwiki:"srn.wikipedia.org",sswiki:"ss.wikipedia.org",sswiktionary:"ss.wiktionary.org",stwiki:"st.wikipedia.org",stwiktionary:"st.wiktionary.org",stqwiki:"stq.wikipedia.org",suwiki:"su.wikipedia.org",suwiktionary:"su.wiktionary.org",suwikibooks:"su.wikibooks.org",suwikiquote:"su.wikiquote.org",svwiki:"sv.wikipedia.org",svwiktionary:"sv.wiktionary.org",svwikibooks:"sv.wikibooks.org",svwikinews:"sv.wikinews.org",svwikiquote:"sv.wikiquote.org",svwikisource:"sv.wikisource.org",svwikiversity:"sv.wikiversity.org",svwikivoyage:"sv.wikivoyage.org",swwiki:"sw.wikipedia.org",swwiktionary:"sw.wiktionary.org",swwikibooks:"sw.wikibooks.org",szlwiki:"szl.wikipedia.org",tawiki:"ta.wikipedia.org",tawiktionary:"ta.wiktionary.org",tawikibooks:"ta.wikibooks.org",tawikinews:"ta.wikinews.org",tawikiquote:"ta.wikiquote.org",tawikisource:"ta.wikisource.org",tewiki:"te.wikipedia.org",tewiktionary:"te.wiktionary.org",tewikibooks:"te.wikibooks.org",tewikiquote:"te.wikiquote.org",tewikisource:"te.wikisource.org",tetwiki:"tet.wikipedia.org",tgwiki:"tg.wikipedia.org",tgwiktionary:"tg.wiktionary.org",tgwikibooks:"tg.wikibooks.org",thwiki:"th.wikipedia.org",thwiktionary:"th.wiktionary.org",thwikibooks:"th.wikibooks.org",thwikinews:"th.wikinews.org",thwikiquote:"th.wikiquote.org",thwikisource:"th.wikisource.org",tiwiki:"ti.wikipedia.org",tiwiktionary:"ti.wiktionary.org",tkwiki:"tk.wikipedia.org",tkwiktionary:"tk.wiktionary.org",tkwikibooks:"tk.wikibooks.org",tkwikiquote:"tk.wikiquote.org",tlwiki:"tl.wikipedia.org",tlwiktionary:"tl.wiktionary.org",tlwikibooks:"tl.wikibooks.org",tnwiki:"tn.wikipedia.org",tnwiktionary:"tn.wiktionary.org",towiki:"to.wikipedia.org",towiktionary:"to.wiktionary.org",tpiwiki:"tpi.wikipedia.org",tpiwiktionary:"tpi.wiktionary.org",trwiki:"tr.wikipedia.org",trwiktionary:"tr.wiktionary.org",trwikibooks:"tr.wikibooks.org",trwikinews:"tr.wikinews.org",trwikiquote:"tr.wikiquote.org",trwikisource:"tr.wikisource.org",tswiki:"ts.wikipedia.org",tswiktionary:"ts.wiktionary.org",ttwiki:"tt.wikipedia.org",ttwiktionary:"tt.wiktionary.org",ttwikibooks:"tt.wikibooks.org",ttwikiquote:"tt.wikiquote.org",tumwiki:"tum.wikipedia.org",twwiki:"tw.wikipedia.org",twwiktionary:"tw.wiktionary.org",tywiki:"ty.wikipedia.org",tyvwiki:"tyv.wikipedia.org",udmwiki:"udm.wikipedia.org",ugwiki:"ug.wikipedia.org",ugwiktionary:"ug.wiktionary.org",ugwikibooks:"ug.wikibooks.org",ugwikiquote:"ug.wikiquote.org",ukwiki:"uk.wikipedia.org",ukwiktionary:"uk.wiktionary.org",ukwikibooks:"uk.wikibooks.org",ukwikinews:"uk.wikinews.org",ukwikiquote:"uk.wikiquote.org",ukwikisource:"uk.wikisource.org",ukwikivoyage:"uk.wikivoyage.org",urwiki:"ur.wikipedia.org",urwiktionary:"ur.wiktionary.org",urwikibooks:"ur.wikibooks.org",urwikiquote:"ur.wikiquote.org",uzwiki:"uz.wikipedia.org",uzwiktionary:"uz.wiktionary.org",uzwikibooks:"uz.wikibooks.org",uzwikiquote:"uz.wikiquote.org",vewiki:"ve.wikipedia.org",vecwiki:"vec.wikipedia.org",vecwiktionary:"vec.wiktionary.org",vecwikisource:"vec.wikisource.org",vepwiki:"vep.wikipedia.org",viwiki:"vi.wikipedia.org",viwiktionary:"vi.wiktionary.org",viwikibooks:"vi.wikibooks.org",viwikiquote:"vi.wikiquote.org",viwikisource:"vi.wikisource.org",viwikivoyage:"vi.wikivoyage.org",vlswiki:"vls.wikipedia.org",vowiki:"vo.wikipedia.org",vowiktionary:"vo.wiktionary.org",vowikibooks:"vo.wikibooks.org",vowikiquote:"vo.wikiquote.org",wawiki:"wa.wikipedia.org",wawiktionary:"wa.wiktionary.org",wawikibooks:"wa.wikibooks.org",warwiki:"war.wikipedia.org",wowiki:"wo.wikipedia.org",wowiktionary:"wo.wiktionary.org",wowikiquote:"wo.wikiquote.org",wuuwiki:"wuu.wikipedia.org",xalwiki:"xal.wikipedia.org",xhwiki:"xh.wikipedia.org",xhwiktionary:"xh.wiktionary.org",xhwikibooks:"xh.wikibooks.org",xmfwiki:"xmf.wikipedia.org",yiwiki:"yi.wikipedia.org",yiwiktionary:"yi.wiktionary.org",yiwikisource:"yi.wikisource.org",yowiki:"yo.wikipedia.org",yowiktionary:"yo.wiktionary.org",yowikibooks:"yo.wikibooks.org",zawiki:"za.wikipedia.org",zawiktionary:"za.wiktionary.org",zawikibooks:"za.wikibooks.org",zawikiquote:"za.wikiquote.org",zeawiki:"zea.wikipedia.org",zhwiki:"zh.wikipedia.org",zhwiktionary:"zh.wiktionary.org",zhwikibooks:"zh.wikibooks.org",zhwikinews:"zh.wikinews.org",zhwikiquote:"zh.wikiquote.org",zhwikisource:"zh.wikisource.org",zhwikivoyage:"zh.wikivoyage.org",zh_classicalwiki:"zh-classical.wikipedia.org",zh_min_nanwiki:"zh-min-nan.wikipedia.org",zh_min_nanwiktionary:"zh-min-nan.wiktionary.org",zh_min_nanwikibooks:"zh-min-nan.wikibooks.org",zh_min_nanwikiquote:"zh-min-nan.wikiquote.org",zh_min_nanwikisource:"zh-min-nan.wikisource.org",zh_yuewiki:"zh-yue.wikipedia.org",zuwiki:"zu.wikipedia.org",zuwiktionary:"zu.wiktionary.org",zuwikibooks:"zu.wikibooks.org",advisorywiki:"advisory.wikimedia.org",arwikimedia:"ar.wikimedia.org",arbcom_dewiki:"arbcom-de.wikipedia.org",arbcom_enwiki:"arbcom-en.wikipedia.org",arbcom_fiwiki:"arbcom-fi.wikipedia.org",arbcom_nlwiki:"arbcom-nl.wikipedia.org",auditcomwiki:"auditcom.wikimedia.org",bdwikimedia:"bd.wikimedia.org",bewikimedia:"be.wikimedia.org",betawikiversity:"beta.wikiversity.org",boardwiki:"board.wikimedia.org",boardgovcomwiki:"boardgovcom.wikimedia.org",brwikimedia:"br.wikimedia.org",cawikimedia:"ca.wikimedia.org",chairwiki:"chair.wikimedia.org",chapcomwiki:"affcom.wikimedia.org",checkuserwiki:"checkuser.wikimedia.org",cnwikimedia:"cn.wikimedia.org",cowikimedia:"co.wikimedia.org",collabwiki:"collab.wikimedia.org",commonswiki:"commons.wikimedia.org",dkwikimedia:"dk.wikimedia.org",donatewiki:"donate.wikimedia.org",etwikimedia:"ee.wikimedia.org",execwiki:"exec.wikimedia.org",fdcwiki:"fdc.wikimedia.org",fiwikimedia:"fi.wikimedia.org",foundationwiki:"wikimediafoundation.org",grantswiki:"grants.wikimedia.org",iegcomwiki:"iegcom.wikimedia.org",ilwikimedia:"il.wikimedia.org",incubatorwiki:"incubator.wikimedia.org",internalwiki:"internal.wikimedia.org",labswiki:"wikitech.wikimedia.org",labtestwiki:"labtestwikitech.wikimedia.org",legalteamwiki:"legalteam.wikimedia.org",loginwiki:"login.wikimedia.org",mediawikiwiki:"mediawiki.org",metawiki:"meta.wikimedia.org",mkwikimedia:"mk.wikimedia.org",movementroleswiki:"movementroles.wikimedia.org",mxwikimedia:"mx.wikimedia.org",nlwikimedia:"nl.wikimedia.org",nowikimedia:"no.wikimedia.org",noboard_chapterswikimedia:"noboard-chapters.wikimedia.org",nostalgiawiki:"nostalgia.wikipedia.org",nycwikimedia:"nyc.wikimedia.org",nzwikimedia:"nz.wikimedia.org",officewiki:"office.wikimedia.org",ombudsmenwiki:"ombudsmen.wikimedia.org",otrs_wikiwiki:"otrs-wiki.wikimedia.org",outreachwiki:"outreach.wikimedia.org",pa_uswikimedia:"pa-us.wikimedia.org",plwikimedia:"pl.wikimedia.org",qualitywiki:"quality.wikimedia.org",rswikimedia:"rs.wikimedia.org",ruwikimedia:"ru.wikimedia.org",sewikimedia:"se.wikimedia.org",searchcomwiki:"searchcom.wikimedia.org",sourceswiki:"wikisource.org",spcomwiki:"spcom.wikimedia.org",specieswiki:"species.wikimedia.org",stewardwiki:"steward.wikimedia.org",strategywiki:"strategy.wikimedia.org",tenwiki:"ten.wikipedia.org",testwiki:"test.wikipedia.org",test2wiki:"test2.wikipedia.org",testwikidatawiki:"test.wikidata.org",trwikimedia:"tr.wikimedia.org",transitionteamwiki:"transitionteam.wikimedia.org",uawikimedia:"ua.wikimedia.org",ukwikimedia:"uk.wikimedia.org",usabilitywiki:"usability.wikimedia.org",votewiki:"vote.wikimedia.org",wg_enwiki:"wg-en.wikipedia.org",wikidatawiki:"wikidata.org",wikimania2005wiki:"wikimania2005.wikimedia.org",wikimania2006wiki:"wikimania2006.wikimedia.org",wikimania2007wiki:"wikimania2007.wikimedia.org",wikimania2008wiki:"wikimania2008.wikimedia.org",wikimania2009wiki:"wikimania2009.wikimedia.org",wikimania2010wiki:"wikimania2010.wikimedia.org",wikimania2011wiki:"wikimania2011.wikimedia.org",wikimania2012wiki:"wikimania2012.wikimedia.org",wikimania2013wiki:"wikimania2013.wikimedia.org",wikimania2014wiki:"wikimania2014.wikimedia.org",wikimania2015wiki:"wikimania2015.wikimedia.org",wikimania2016wiki:"wikimania2016.wikimedia.org",wikimania2017wiki:"wikimania2017.wikimedia.org",wikimaniateamwiki:"wikimaniateam.wikimedia.org",zerowiki:"zero.wikimedia.org"};b.exports=d},{}],5:[function(a,b,c){"use strict";var d=a("./templates"),e=a("../shared/pv"),f={agentSelector:"#agent-select",chart:".aqs-chart",chartConfig:{Line:{opts:{bezierCurve:!1,legendTemplate:d.linearLegend},dataset:function(a){return{fillColor:"rgba(0,0,0,0)",pointColor:a,pointHighlightFill:"#fff",pointHighlightStroke:a,pointStrokeColor:"#fff",strokeColor:a}}},Bar:{opts:{barDatasetSpacing:0,barValueSpacing:0,legendTemplate:d.linearLegend},dataset:function(a){return{fillColor:e.rgba(a,.5),highlightFill:e.rgba(a,.75),highlightStroke:a,strokeColor:e.rgba(a,.8)}}},Pie:{opts:{legendTemplate:d.circularLegend},dataset:function(a){return{color:a,highlight:e.rgba(a,.8)}}},Doughnut:{opts:{legendTemplate:d.circularLegend},dataset:function(a){return{color:a,highlight:e.rgba(a,.8)}}},PolarArea:{opts:{legendTemplate:d.circularLegend},dataset:function(a){return{color:a,highlight:e.rgba(a,.8)}}},Radar:{opts:{legendTemplate:d.linearLegend},dataset:function(a){return{fillColor:e.rgba(a,.1),pointColor:a,pointStrokeColor:"#fff",pointHighlightFill:"#fff",pointHighlightStroke:a,strokeColor:a}}}},circularCharts:["Pie","Doughnut","PolarArea"],colors:["rgba(171, 212, 235, 1)","rgba(178, 223, 138, 1)","rgba(251, 154, 153, 1)","rgba(253, 191, 111, 1)","rgba(202, 178, 214, 1)","rgba(207, 182, 128, 1)","rgba(141, 211, 199, 1)","rgba(252, 205, 229, 1)","rgba(255, 247, 161, 1)","rgba(217, 217, 217, 1)"],cookieExpiry:30,dataSourceSelector:"#data-source-select",defaults:{autocomplete:"autocomplete",chartType:"Line",dateFormat:"YYYY-MM-DD",dateRange:"latest-20",daysAgo:20,localizeDateFormat:"true",numericalFormatting:"true",projects:["fr.wikipedia.org","de.wikipedia.org"]},dateRangeSelector:".aqs-date-range-selector",globalChartOpts:{animation:!0,animationEasing:"easeInOutQuart",animationSteps:30,labelsFilter:function(a,b,c){return c.length>=60?(b+1)%Math.ceil(c.length/60*2)!==0:!1},multiTooltipTemplate:"<%= formatNumber(value) %>",scaleLabel:"<%= formatNumber(value) %>",tooltipTemplate:"<%if (label){%><%=label%>: <%}%><%= formatNumber(value) %>"},linearCharts:["Line","Bar","Radar"],minDate:moment("2015-08-01").startOf("day"),maxDate:moment().subtract(1,"days").startOf("day"),platformSelector:"#platform-select",projectInput:".aqs-project-input",siteSelector:".aqs-site-selector",specialRanges:{"last-week":[moment().subtract(1,"week").startOf("week"),moment().subtract(1,"week").endOf("week")],"this-month":[moment().startOf("month"),moment().subtract(1,"days").startOf("day")],"last-month":[moment().subtract(1,"month").startOf("month"),moment().subtract(1,"month").endOf("month")],latest:function(){var a=arguments.length<=0||void 0===arguments[0]?f.daysAgo:arguments[0];return[moment().subtract(a,"days").startOf("day"),f.maxDate]}},timestampFormat:"YYYYMMDD00"};b.exports=f},{"../shared/pv":3,"./templates":7}],6:[function(a,b,c){"use strict";function d(a,b,c){return b in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c,a}function e(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function f(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b}function g(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}var h=function(){function a(a,b){for(var c=0;c=f;f.add(1,"d"))if(e[f])a.items.push(e[f]);else{var g=f.isSame(j.maxDate)||f.isSame(moment(j.maxDate).subtract(1,"days"));a.items.push(d({timestamp:f.format(j.timestampFormat)},this.isPageviews()?"views":"devices",g?null:0))}}},{key:"getCircularData",value:function(a,b,c){var d=this,e=a.items.map(function(a){return d.isPageviews()?a.views:a.devices}),f=j.colors[c];return Object.assign({label:b,value:e.reduce(function(a,b){return a+b})},j.chartConfig[this.chartType].dataset(f))}},{key:"getDateHeadings",value:function(a){for(var b=[],c=moment(this.daterangepicker.startDate);c.isBefore(this.daterangepicker.endDate);c.add(1,"d"))a?b.push(c.format(this.dateFormat)):b.push(c.format("YYYY-MM-DD"));return b}},{key:"getLinearData",value:function(a,b,c){var d=this,e=a.items.map(function(a){return d.isPageviews()?a.views:a.devices}),f=j.colors[c%10];return Object.assign({label:b,data:e,sum:e.reduce(function(a,b){return a+b})},j.chartConfig[this.chartType].dataset(f))}},{key:"getPermaLink",value:function(){var a=this.getParams(!1);return delete a.range,a}},{key:"getTopviewsURL",value:function(a){return"/topviews?"+$.param(this.getParams())+"&project="+a}},{key:"parseQueryString",value:function(){for(var a=decodeURI(location.search.slice(1)),b=a.split("&"),c={},d=0;db)return this.addSiteNotice("warning",$.i18n("param-error-2"),$.i18n("invalid-params"),!0),void this.resetView();this.daterangepicker.startDate=a,this.daterangepicker.setEndDate(b)}else this.setSpecialRange(j.defaults.dateRange);$(j.dataSourceSelector).val(c.source||"pageviews"),this.setupDataSourceSelector(),$(j.platformSelector).val(c.platform||"all-access"),"pageviews"===c.source?$(j.agentSelector).val():$(j.dataSourceSelector).trigger("change"),this.resetSiteSelector(),!c.sites||1===c.sites.length&&!c.sites[0]?(c.sites=j.defaults.projects,this.setSiteSelectorDefaults(c.sites)):(1===c.sites.length&&(this.chartType=this.getFromLocalStorage("pageviews-chart-preference")||"Bar"),this.setSiteSelectorDefaults(c.sites))}},{key:"getParams",value:function(){var a=arguments.length<=0||void 0===arguments[0]?!0:arguments[0],b={platform:$(j.platformSelector).val(),source:$(j.dataSourceSelector).val()};return this.isPageviews()&&(b.agent=$(j.agentSelector).val()),this.specialRange&&a?b.range=this.specialRange.range:(b.start=this.daterangepicker.startDate.format("YYYY-MM-DD"),b.end=this.daterangepicker.endDate.format("YYYY-MM-DD")),b}},{key:"isPageviews",value:function(){return"pageviews"===$(j.dataSourceSelector).val()}},{key:"pushParams",value:function(){var a=$(j.siteSelector).select2("val")||[];window.history&&window.history.replaceState&&window.history.replaceState({},document.title,"?"+$.param(this.getParams())+"&sites="+a.join("|")),$(".permalink").prop("href","?"+$.param(this.getPermaLink())+"&sites="+a.join("|"))}},{key:"resetSiteSelector",value:function(){var a=$(j.siteSelector);a.off("change"),a.select2("val",null),a.select2("data",null),a.select2("destroy"),$(".data-links").hide(),this.setupSiteSelector()}},{key:"resetView",value:function(){$(".chart-container").html(""),$(".chart-container").removeClass("loading"),$("#chart-legend").html(""),$(".message-container").html(""),this.resetSiteSelector()}},{key:"saveSetting",value:function(a,b){this[a]=b,this.setLocalStorage("pageviews-settings-"+a,b)}},{key:"saveSettings",value:function(){var a=this,b="no_autocomplete"===this.autocomplete;$.each($("#settings-modal input"),function(b,c){"checkbox"===c.type?a.saveSetting(c.name,c.checked?"true":"false"):c.checked&&a.saveSetting(c.name,c.value)}),this.daterangepicker.locale.format=this.dateFormat,this.daterangepicker.updateElement(),this.setupSelect2Colors(),"no_autocomplete"===this.autocomplete!==b&&this.resetSiteSelector(),this.updateChart(!0)}},{key:"setSiteSelectorDefaults",value:function(a){return a.forEach(function(a){var b=$("").text(a).html();$("
"+b+" ").appendTo(j.siteSelector)}),$(j.siteSelector).select2("val",a),$(j.siteSelector).select2("close"),a}},{key:"setupSiteSelector",value:function(){var a=$(j.siteSelector),b={ajax:{transport:function(a,b,c){var d=l.filter(function(b){return b.startsWith(a.data.q)});b({results:d.slice(0,10)})},processResults:function(a){var b=a.results.map(function(a){return{id:a,text:a}});return{results:b}}},placeholder:$.i18n("projects-placeholder"),maximumSelectionLength:10,minimumInputLength:1};a.select2(b),a.on("change",this.updateChart.bind(this))}},{key:"setChartPointDetectionRadius",value:function(){"Line"===this.chartType&&(this.numDaysInRange()>50?Chart.defaults.Line.pointHitDetectionRadius=3:this.numDaysInRange()>30?Chart.defaults.Line.pointHitDetectionRadius=5:this.numDaysInRange()>20?Chart.defaults.Line.pointHitDetectionRadius=10:Chart.defaults.Line.pointHitDetectionRadius=20)}},{key:"setupDateRangeSelector",value:function(){var a=this,b=$(j.dateRangeSelector),c={};Object.keys(j.specialRanges).forEach(function(a){c[$.i18n(a)]=j.specialRanges[a]}),b.daterangepicker({locale:{format:this.dateFormat,applyLabel:$.i18n("apply"),cancelLabel:$.i18n("cancel"),customRangeLabel:$.i18n("custom-range"),daysOfWeek:[$.i18n("su"),$.i18n("mo"),$.i18n("tu"),$.i18n("we"),$.i18n("th"),$.i18n("fr"),$.i18n("sa")],monthNames:[$.i18n("january"),$.i18n("february"),$.i18n("march"),$.i18n("april"),$.i18n("may"),$.i18n("june"),$.i18n("july"),$.i18n("august"),$.i18n("september"),$.i18n("october"),$.i18n("november"),$.i18n("december")]},startDate:moment().subtract(j.defaults.daysAgo,"days"),minDate:j.minDate,maxDate:j.maxDate,ranges:c}),$(".daterangepicker .ranges li").on("click",function(b){var c=$(".daterangepicker .ranges li").index(b.target),d=a.daterangepicker.container,e=d.find(".daterangepicker_input input");a.specialRange={range:Object.keys(j.specialRanges)[c],value:e[0].value+" - "+e[1].value}}),$(".date-latest a").on("click",function(b){a.setSpecialRange("latest-"+$(b.target).data("value"))}),b.on("apply.daterangepicker",function(b,c){c.chosenLabel===$.i18n("custom-range")&&(a.specialRange=null,a.daterangepicker.updateElement())}),b.on("change",function(b){a.setChartPointDetectionRadius(),a.updateChart(),a.specialRange&&a.specialRange.value!==b.target.value&&(a.specialRange=null)})}},{key:"setPlatformOptionValues",value:function(){var a=this;$(j.platformSelector).find("option").each(function(b,c){$(c).prop("value",a.isPageviews()?$(c).data("value"):$(c).data("ud-value"))})}},{key:"setupDataSourceSelector",value:function(){var a=this;this.setPlatformOptionValues(),$(j.dataSourceSelector).on("change",function(b){a.isPageviews()?($(".platform-select--mobile-web").show(),$(j.agentSelector).prop("disabled",!1)):($(".platform-select--mobile-web").hide(),$(j.agentSelector).val("user").prop("disabled",!0)),a.setPlatformOptionValues(),"mobile-app"!==$(j.platformSelector).val()||a.isPageviews()?a.updateChart():$(j.platformSelector).val("all-sites")})}},{key:"setupListeners",value:function(){var a=this;i(Object.getPrototypeOf(b.prototype),"setupListeners",this).call(this),$(".download-csv").on("click",this.exportCSV.bind(this)),$(".download-json").on("click",this.exportJSON.bind(this)),$("#platform-select, #agent-select").on("change",this.updateChart.bind(this)),$(".modal-chart-type a").on("click",function(b){a.chartType=$(b.currentTarget).data("type"),a.setLocalStorage("pageviews-chart-preference",a.chartType),a.updateChart()})}},{key:"setupSelect2Colors",value:function(){var a=this;return this.colorsStyleEl&&this.colorsStyleEl.remove(),this.colorsStyleEl=document.createElement("style"),this.colorsStyleEl.appendChild(document.createTextNode("")),document.head.appendChild(this.colorsStyleEl),j.colors.forEach(function(b,c){a.colorsStyleEl.sheet.insertRule(".select2-selection__choice:nth-of-type("+(c+1)+") { background: "+b+" !important }",0)}),this.colorsStyleEl.sheet}},{key:"setupSettingsModal",value:function(){this.fillInSettings(),$(".save-settings-btn").on("click",this.saveSettings.bind(this)),$(".cancel-settings-btn").on("click",this.fillInSettings.bind(this))}},{key:"updateChart",value:function(a){var b,c=this,d=$(j.siteSelector).select2("val")||[];if(this.pushParams(),a||location.search!==this.params||this.prevChartType!==this.chartType){if(!d.length)return void this.resetView();this.params=location.search,this.prevChartType=this.chartType,this.clearMessages();var e=this.daterangepicker.startDate.startOf("day"),f=this.daterangepicker.endDate.startOf("day");this.destroyChart(),$(".message-container").html(""),$(".chart-container").addClass("loading");var g=[],h=[],i=[],k=[];d.forEach(function(a,b){var l=encodeURIComponent(a),m=c.isPageviews()?"https://wikimedia.org/api/rest_v1/metrics/pageviews/aggregate/"+l+("/"+$(j.platformSelector).val()+"/"+$(j.agentSelector).val()+"/daily")+("/"+e.format(j.timestampFormat)+"/"+f.format(j.timestampFormat)):"https://wikimedia.org/api/rest_v1/metrics/unique-devices/"+l+"/"+$(j.platformSelector).val()+"/daily"+("/"+e.format(j.timestampFormat)+"/"+f.format(j.timestampFormat)),n=$.ajax({url:m,dataType:"json"});k.push(n),n.success(function(d){c.isPageviews()&&c.fillInZeros(d,e,f),j.linearCharts.includes(c.chartType)?h.push(c.getLinearData(d,a,b)):h.push(c.getCircularData(d,a,b)),d.items&&!g.length&&(g=d.items.map(function(a){return moment(a.timestamp,j.timestampFormat).format(c.dateFormat)}))}).fail(function(b){404===b.status?(c.writeMessage("
"+a+" - "+$.i18n("api-error-no-data")),d=d.filter(function(b){return b!==a}),d.length||($(".chart-container").html(""),$(".chart-container").removeClass("loading"))):i.push(b.responseJSON.detail[0])})}),(b=$).when.apply(b,k).always(function(a){if($("#chart-legend").html(""),i.length&&i.length===d.length){$(".chart-container").removeClass("loading");var b=Array.from(new Set(i)).map(function(a){return"
"+a+" "}).join("");return c.writeMessage($.i18n("api-error")+"
"+$.i18n("api-error-contact"),!0)}if(d.length){var e=new Array(d.length);h.forEach(function(a){e[d.indexOf(a.label)]=a}),window.chartData=e,$(".chart-container").removeClass("loading");var f=Object.assign({},j.chartConfig[c.chartType].opts,j.globalChartOpts),k={labels:g,datasets:e};$(".chart-container").html(""),$(".chart-container").append("
");var l=$(j.chart)[0].getContext("2d");j.linearCharts.includes(c.chartType)?c.chartObj=new Chart(l)[c.chartType](k,f):c.chartObj=new Chart(l)[c.chartType](e,f),$("#chart-legend").html(c.chartObj.generateLegend()),$(".data-links").show()}})}}},{key:"validateProjects",value:function(){var a=this,b=arguments.length<=0||void 0===arguments[0]?[]:arguments[0];return b.filter(function(b){return l.includes(b)?!0:(a.writeMessage($.i18n("invalid-project",""+b+" ")),!1)})}}]),b}(m);$(document).ready(function(){return document.location.hash&&!document.location.search?document.location.href=document.location.href.replace("#","?"):document.location.hash?document.location.href=document.location.href.replace(/\#.*/,""):($.extend(Chart.defaults.global,{animation:!1,responsive:!0}),void new n)})},{"../shared/pv":3,"../shared/site_map":4,"./config":5}],7:[function(a,b,c){"use strict";var d={linearLegend:'\n <% if (chartData.length === 1) { %>\n <%= $.i18n(\'totals\') %>: \n <%= formatNumber(chartData[0].sum) %> (<%= formatNumber(Math.round(chartData[0].sum / numDaysInRange())) %>/<%= $.i18n(\'day\') %>)\n •\n <%= $.i18n(\'statistics\') %> \n •\n <%= $.i18n(\'most-viewed-pages\') %> \n <% } else { %>\n <% var total = chartData.reduce(function(a,b) { return a + b.sum }, 0); %>\n \n <%= $.i18n(\'totals\') %>: \n <%= formatNumber(total) %> (<%= formatNumber(Math.round(total / numDaysInRange())) %>/<%= $.i18n(\'day\') %>)\n
\n \n <% for (var i=0; i
\n \n \n \n <%= formatNumber(chartData[i].sum) %> (<%= formatNumber(Math.round(chartData[i].sum / numDaysInRange())) %>/<%= $.i18n(\'day\') %>)\n
\n \n \n <% } %>\n \n <% } %>',circularLegend:"\n <%= $.i18n('totals') %> <% var total = chartData.reduce(function(a,b){ return a + b.value }, 0); %>\n -legend\">\n <% if(chartData.length > 1) { %><%= formatNumber(total) %> (<%= formatNumber(Math.round(total / numDaysInRange())) %>/<%= $.i18n('day') %>) <% } %>\n <% for (var i=0; i\n \n \">\n <%=segments[i].label%> \n \n <%= formatNumber(chartData[i].value) %> (<%= formatNumber(Math.round(chartData[i].value / numDaysInRange())) %>/<%= $.i18n('day') %>)\n \n <% } %>\n \n "};b.exports=d},{}]},{},[1,2,3,4,6]);
\ No newline at end of file
diff --git a/public_html/siteviews/faq/index.php b/public_html/siteviews/faq/index.php
index 39c852f33..7f7c3d6b7 100644
--- a/public_html/siteviews/faq/index.php
+++ b/public_html/siteviews/faq/index.php
@@ -37,6 +37,21 @@
msg( 'faq-todays-date-body' ); ?>
+
+
+ msg( 'faq-source-title' ); ?>
+
+
+
+ msg( 'pageviews' ); ?>
+ msg( 'faq-source-pageviews' ); ?>
+
+
+ msg( 'unique-devices' ); ?>
+ msg( 'faq-source-unique-devices' ); ?>
+
+
+
msg( 'faq-agents-title' ); ?>
diff --git a/public_html/siteviews/index.php b/public_html/siteviews/index.php
index b58400013..8642be830 100644
--- a/public_html/siteviews/index.php
+++ b/public_html/siteviews/index.php
@@ -24,7 +24,7 @@
-
+
msg( 'dates' ); ?>
@@ -41,26 +41,39 @@
-
+
+
+ Data source
+
+
+
+ Pageviews
+
+
+ Unique devices
+
+
+
+
msg( 'platform' ); ?>
-
+
msg( 'all' ); ?>
-
+
msg( 'desktop' ); ?>
-
+
msg( 'mobile-app' ); ?>
-
+
msg( 'mobile-web' ); ?>
-
+
msg( 'agent' ); ?>
@@ -98,13 +111,16 @@
-
msg( 'change-chart' ); ?>
- •
-
msg( 'settings' ); ?>
- •
+
+ msg( 'change-chart' ); ?>
+ •
+
+ msg( 'settings' ); ?>
+ •
msg( 'permalink' ); ?>
- •
+ •
+
" . $I18N->msg( 'csv' ) . ""; ?>
msg( 'download', array( 'variables' => array( $csvlink ), 'parsemag' => true ) ); ?>
·
diff --git a/public_html/siteviews/siteviews.js b/public_html/siteviews/siteviews.js
index 911acbb5a..27cb9b554 100644
--- a/public_html/siteviews/siteviews.js
+++ b/public_html/siteviews/siteviews.js
@@ -1882,6 +1882,7 @@ var config = {
circularCharts: ['Pie', 'Doughnut', 'PolarArea'],
colors: ['rgba(171, 212, 235, 1)', 'rgba(178, 223, 138, 1)', 'rgba(251, 154, 153, 1)', 'rgba(253, 191, 111, 1)', 'rgba(202, 178, 214, 1)', 'rgba(207, 182, 128, 1)', 'rgba(141, 211, 199, 1)', 'rgba(252, 205, 229, 1)', 'rgba(255, 247, 161, 1)', 'rgba(217, 217, 217, 1)'],
cookieExpiry: 30, // num days
+ dataSourceSelector: '#data-source-select',
defaults: {
autocomplete: 'autocomplete',
chartType: 'Line',
@@ -1936,6 +1937,8 @@ var _createClass = function () { function defineProperties(target, props) { for
var _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };
+function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
@@ -2008,6 +2011,7 @@ var SiteViews = function (_Pv) {
this.setupSiteSelector();
this.setupSettingsModal();
this.setupSelect2Colors();
+ this.setupDataSourceSelector();
this.popParams();
this.setupListeners();
}
@@ -2149,10 +2153,9 @@ var SiteViews = function (_Pv) {
data.items.push(alreadyThere[date]);
} else {
var edgeCase = date.isSame(config.maxDate) || date.isSame(moment(config.maxDate).subtract(1, 'days'));
- data.items.push({
- timestamp: date.format(config.timestampFormat),
- views: edgeCase ? null : 0
- });
+ data.items.push(_defineProperty({
+ timestamp: date.format(config.timestampFormat)
+ }, this.isPageviews() ? 'views' : 'devices', edgeCase ? null : 0));
}
}
}
@@ -2170,8 +2173,10 @@ var SiteViews = function (_Pv) {
}, {
key: 'getCircularData',
value: function getCircularData(data, site, index) {
+ var _this4 = this;
+
var values = data.items.map(function (elem) {
- return elem.views;
+ return _this4.isPageviews() ? elem.views : elem.devices;
}),
color = config.colors[index];
@@ -2217,8 +2222,10 @@ var SiteViews = function (_Pv) {
}, {
key: 'getLinearData',
value: function getLinearData(data, site, index) {
+ var _this5 = this;
+
var values = data.items.map(function (elem) {
- return elem.views;
+ return _this5.isPageviews() ? elem.views : elem.devices;
}),
color = config.colors[index % 10];
@@ -2340,8 +2347,16 @@ var SiteViews = function (_Pv) {
this.setSpecialRange(config.defaults.dateRange);
}
+ $(config.dataSourceSelector).val(params.source || 'pageviews');
+
+ this.setupDataSourceSelector();
+
$(config.platformSelector).val(params.platform || 'all-access');
- $(config.agentSelector).val(params.agent || 'user');
+ if (params.source === 'pageviews') {
+ $(config.agentSelector).val();
+ } else {
+ $(config.dataSourceSelector).trigger('change');
+ }
this.resetSiteSelector();
@@ -2369,9 +2384,13 @@ var SiteViews = function (_Pv) {
var params = {
platform: $(config.platformSelector).val(),
- agent: $(config.agentSelector).val()
+ source: $(config.dataSourceSelector).val()
};
+ if (this.isPageviews()) {
+ params.agent = $(config.agentSelector).val();
+ }
+
/**
* Override start and end with custom range values, if configured (set by URL params or setupDateRangeSelector)
* Valid values are those defined in config.specialRanges, constructed like `{range: 'last-month'}`,
@@ -2386,6 +2405,11 @@ var SiteViews = function (_Pv) {
return params;
}
+ }, {
+ key: 'isPageviews',
+ value: function isPageviews() {
+ return $(config.dataSourceSelector).val() === 'pageviews';
+ }
/**
* Push relevant class properties to the query string
@@ -2462,16 +2486,16 @@ var SiteViews = function (_Pv) {
}, {
key: 'saveSettings',
value: function saveSettings() {
- var _this4 = this;
+ var _this6 = this;
/** track if we're changing to no_autocomplete mode */
var wasAutocomplete = this.autocomplete === 'no_autocomplete';
$.each($('#settings-modal input'), function (index, el) {
if (el.type === 'checkbox') {
- _this4.saveSetting(el.name, el.checked ? 'true' : 'false');
+ _this6.saveSetting(el.name, el.checked ? 'true' : 'false');
} else if (el.checked) {
- _this4.saveSetting(el.name, el.value);
+ _this6.saveSetting(el.name, el.value);
}
});
@@ -2577,7 +2601,7 @@ var SiteViews = function (_Pv) {
}, {
key: 'setupDateRangeSelector',
value: function setupDateRangeSelector() {
- var _this5 = this;
+ var _this7 = this;
var dateRangeSelector = $(config.dateRangeSelector);
@@ -2611,9 +2635,9 @@ var SiteViews = function (_Pv) {
*/
$('.daterangepicker .ranges li').on('click', function (e) {
var index = $('.daterangepicker .ranges li').index(e.target),
- container = _this5.daterangepicker.container,
+ container = _this7.daterangepicker.container,
inputs = container.find('.daterangepicker_input input');
- _this5.specialRange = {
+ _this7.specialRange = {
range: Object.keys(config.specialRanges)[index],
value: inputs[0].value + ' - ' + inputs[1].value
};
@@ -2621,28 +2645,63 @@ var SiteViews = function (_Pv) {
/** the "Latest N days" links */
$('.date-latest a').on('click', function (e) {
- _this5.setSpecialRange('latest-' + $(e.target).data('value'));
+ _this7.setSpecialRange('latest-' + $(e.target).data('value'));
});
dateRangeSelector.on('apply.daterangepicker', function (e, action) {
if (action.chosenLabel === $.i18n('custom-range')) {
- _this5.specialRange = null;
+ _this7.specialRange = null;
/** force events to re-fire since apply.daterangepicker occurs before 'change' event */
- _this5.daterangepicker.updateElement();
+ _this7.daterangepicker.updateElement();
}
});
dateRangeSelector.on('change', function (e) {
- _this5.setChartPointDetectionRadius();
- _this5.updateChart();
+ _this7.setChartPointDetectionRadius();
+ _this7.updateChart();
/** clear out specialRange if it doesn't match our input */
- if (_this5.specialRange && _this5.specialRange.value !== e.target.value) {
- _this5.specialRange = null;
+ if (_this7.specialRange && _this7.specialRange.value !== e.target.value) {
+ _this7.specialRange = null;
}
});
}
+ }, {
+ key: 'setPlatformOptionValues',
+ value: function setPlatformOptionValues() {
+ var _this8 = this;
+
+ $(config.platformSelector).find('option').each(function (index, el) {
+ $(el).prop('value', _this8.isPageviews() ? $(el).data('value') : $(el).data('ud-value'));
+ });
+ }
+ }, {
+ key: 'setupDataSourceSelector',
+ value: function setupDataSourceSelector() {
+ var _this9 = this;
+
+ this.setPlatformOptionValues();
+
+ $(config.dataSourceSelector).on('change', function (e) {
+ if (_this9.isPageviews()) {
+ $('.platform-select--mobile-web').show();
+ $(config.agentSelector).prop('disabled', false);
+ } else {
+ $('.platform-select--mobile-web').hide();
+ $(config.agentSelector).val('user').prop('disabled', true);
+ }
+
+ _this9.setPlatformOptionValues();
+
+ /** reset to all-access if currently on mobile-app for unique-devices (not pageviews) */
+ if ($(config.platformSelector).val() === 'mobile-app' && !_this9.isPageviews()) {
+ $(config.platformSelector).val('all-sites'); // chart will automatically re-render
+ } else {
+ _this9.updateChart();
+ }
+ });
+ }
/**
* General place to add page-wide listeners
@@ -2652,7 +2711,7 @@ var SiteViews = function (_Pv) {
}, {
key: 'setupListeners',
value: function setupListeners() {
- var _this6 = this;
+ var _this10 = this;
_get(Object.getPrototypeOf(SiteViews.prototype), 'setupListeners', this).call(this);
@@ -2662,9 +2721,9 @@ var SiteViews = function (_Pv) {
/** changing of chart types */
$('.modal-chart-type a').on('click', function (e) {
- _this6.chartType = $(e.currentTarget).data('type');
- _this6.setLocalStorage('pageviews-chart-preference', _this6.chartType);
- _this6.updateChart();
+ _this10.chartType = $(e.currentTarget).data('type');
+ _this10.setLocalStorage('pageviews-chart-preference', _this10.chartType);
+ _this10.updateChart();
});
// window.onpopstate = popParams();
@@ -2680,7 +2739,7 @@ var SiteViews = function (_Pv) {
}, {
key: 'setupSelect2Colors',
value: function setupSelect2Colors() {
- var _this7 = this;
+ var _this11 = this;
/** first delete old stylesheet, if present */
if (this.colorsStyleEl) this.colorsStyleEl.remove();
@@ -2692,7 +2751,7 @@ var SiteViews = function (_Pv) {
/** add color rules */
config.colors.forEach(function (color, index) {
- _this7.colorsStyleEl.sheet.insertRule('.select2-selection__choice:nth-of-type(' + (index + 1) + ') { background: ' + color + ' !important }', 0);
+ _this11.colorsStyleEl.sheet.insertRule('.select2-selection__choice:nth-of-type(' + (index + 1) + ') { background: ' + color + ' !important }', 0);
});
return this.colorsStyleEl.sheet;
@@ -2725,7 +2784,7 @@ var SiteViews = function (_Pv) {
}, {
key: 'updateChart',
value: function updateChart(force) {
- var _this8 = this,
+ var _this12 = this,
_$;
var sites = $(config.siteSelector).select2('val') || [];
@@ -2765,8 +2824,10 @@ var SiteViews = function (_Pv) {
*/
sites.forEach(function (site, index) {
var uriEncodedSite = encodeURIComponent(site);
+
/** @type {String} Url to query the API. */
- var url = 'https://wikimedia.org/api/rest_v1/metrics/pageviews/aggregate/' + uriEncodedSite + ('/' + $(config.platformSelector).val() + '/' + $(config.agentSelector).val() + '/daily') + ('/' + startDate.format(config.timestampFormat) + '/' + endDate.format(config.timestampFormat));
+ var url = _this12.isPageviews() ? 'https://wikimedia.org/api/rest_v1/metrics/pageviews/aggregate/' + uriEncodedSite + ('/' + $(config.platformSelector).val() + '/' + $(config.agentSelector).val() + '/daily') + ('/' + startDate.format(config.timestampFormat) + '/' + endDate.format(config.timestampFormat)) : 'https://wikimedia.org/api/rest_v1/metrics/unique-devices/' + uriEncodedSite + '/' + $(config.platformSelector).val() + '/daily' + ('/' + startDate.format(config.timestampFormat) + '/' + endDate.format(config.timestampFormat));
+
var promise = $.ajax({
url: url,
dataType: 'json'
@@ -2775,24 +2836,24 @@ var SiteViews = function (_Pv) {
promise.success(function (data) {
// FIXME: these needs fixing too, sometimes doesn't show zero
- _this8.fillInZeros(data, startDate, endDate);
+ if (_this12.isPageviews()) _this12.fillInZeros(data, startDate, endDate);
/** Build the site's dataset. */
- if (config.linearCharts.includes(_this8.chartType)) {
- datasets.push(_this8.getLinearData(data, site, index));
+ if (config.linearCharts.includes(_this12.chartType)) {
+ datasets.push(_this12.getLinearData(data, site, index));
} else {
- datasets.push(_this8.getCircularData(data, site, index));
+ datasets.push(_this12.getCircularData(data, site, index));
}
/** fetch the labels for the x-axis on success if we haven't already */
if (data.items && !labels.length) {
labels = data.items.map(function (elem) {
- return moment(elem.timestamp, config.timestampFormat).format(_this8.dateFormat);
+ return moment(elem.timestamp, config.timestampFormat).format(_this12.dateFormat);
});
}
}).fail(function (data) {
if (data.status === 404) {
- _this8.writeMessage('
' + site + ' - ' + $.i18n('api-error-no-data'));
+ _this12.writeMessage('
' + site + ' - ' + $.i18n('api-error-no-data'));
sites = sites.filter(function (el) {
return el !== site;
});
@@ -2816,7 +2877,7 @@ var SiteViews = function (_Pv) {
var errorMessages = Array.from(new Set(errors)).map(function (error) {
return '
' + error + ' ';
}).join('');
- return _this8.writeMessage($.i18n('api-error') + '
' + $.i18n('api-error-contact'), true);
+ return _this12.writeMessage($.i18n('api-error') + '
' + $.i18n('api-error-contact'), true);
}
if (!sites.length) return;
@@ -2831,20 +2892,20 @@ var SiteViews = function (_Pv) {
window.chartData = sortedDatasets;
$('.chart-container').removeClass('loading');
- var options = Object.assign({}, config.chartConfig[_this8.chartType].opts, config.globalChartOpts);
+ var options = Object.assign({}, config.chartConfig[_this12.chartType].opts, config.globalChartOpts);
var linearData = { labels: labels, datasets: sortedDatasets };
$('.chart-container').html('');
$('.chart-container').append("
");
var context = $(config.chart)[0].getContext('2d');
- if (config.linearCharts.includes(_this8.chartType)) {
- _this8.chartObj = new Chart(context)[_this8.chartType](linearData, options);
+ if (config.linearCharts.includes(_this12.chartType)) {
+ _this12.chartObj = new Chart(context)[_this12.chartType](linearData, options);
} else {
- _this8.chartObj = new Chart(context)[_this8.chartType](sortedDatasets, options);
+ _this12.chartObj = new Chart(context)[_this12.chartType](sortedDatasets, options);
}
- $('#chart-legend').html(_this8.chartObj.generateLegend());
+ $('#chart-legend').html(_this12.chartObj.generateLegend());
$('.data-links').show();
});
}
@@ -2860,7 +2921,7 @@ var SiteViews = function (_Pv) {
}, {
key: 'validateProjects',
value: function validateProjects() {
- var _this9 = this;
+ var _this13 = this;
var projects = arguments.length <= 0 || arguments[0] === undefined ? [] : arguments[0];
@@ -2868,7 +2929,7 @@ var SiteViews = function (_Pv) {
if (siteDomains.includes(project)) {
return true;
} else {
- _this9.writeMessage($.i18n('invalid-project', '' + project + ' '));
+ _this13.writeMessage($.i18n('invalid-project', '' + project + ' '));
return false;
}
});
diff --git a/public_html/siteviews/url_structure/index.php b/public_html/siteviews/url_structure/index.php
index a68f05de0..b428b3854 100644
--- a/public_html/siteviews/url_structure/index.php
+++ b/public_html/siteviews/url_structure/index.php
@@ -68,6 +68,10 @@
msg( 'url-structure-end-date', array( 'variables' => array( 'YYYY-MM-DD
' ), 'parsemag' => true ) ); ?>
+ source
+
+ msg( 'url-structure-source', array( 'variables' => array( 'pageviews
', 'unique-devices
' ), 'parsemag' => true ) ); ?>
+
platform
msg( 'url-structure-platform', array( 'variables' => array( 'all-access
(' . strtolower( $I18N->msg( 'default' ) ) . ')', 'desktop
', 'mobile-app
', 'mobile-web
' ), 'parsemag' => true ) ); ?>
diff --git a/views/_footer.haml b/views/_footer.haml
index 911c6bce2..40be9dbb6 100644
--- a/views/_footer.haml
+++ b/views/_footer.haml
@@ -31,9 +31,9 @@
- foreach( $apps as $app )
- $i18nName = $app === 'pageviews' ? '' : $app . '-'
- if ( $app === $currentApp )
- - $appLinks[] = $I18N->msg( $i18nName . 'title' )
+ - $appLinks[] = $I18N->msg( $app )
- else
- - $appLinks[] = "{$I18N->msg( $i18nName . 'title' )} "
+ - $appLinks[] = "{$I18N->msg( $app )} "
= implode( ' • ', $appLinks )
%span
diff --git a/views/index.haml b/views/index.haml
index 4680230aa..d8827067d 100644
--- a/views/index.haml
+++ b/views/index.haml
@@ -93,15 +93,18 @@
/ Other links
%div.col-lg-12.data-links
%a.js-test-change-chart(data-target="#chart-type-modal" data-toggle="modal" href="#")<
+ %span.glyphicon.glyphicon-th
= $I18N->msg( 'change-chart' )
- •
+ •
%a.js-test-settings(data-target="#settings-modal" data-toggle="modal" href="#")<
+ %span.glyphicon.glyphicon-wrench
= $I18N->msg( 'settings' )
- •
+ •
%a.permalink(href="#")<
%span.glyphicon.glyphicon-link
= $I18N->msg( 'permalink' )
- •
+ •
+ %span.glyphicon.glyphicon-download-alt
- $csvlink = "" . $I18N->msg( 'csv' ) . " "
= $I18N->msg( 'download', array( 'variables' => array( $csvlink ), 'parsemag' => true ) )
·
diff --git a/views/siteviews/faq.haml b/views/siteviews/faq.haml
index e73b2bc98..901e9099b 100644
--- a/views/siteviews/faq.haml
+++ b/views/siteviews/faq.haml
@@ -27,6 +27,16 @@
%strong= $I18N->msg( 'faq-todays-date-title' )
%p
= $I18N->msg( 'faq-todays-date-body' )
+ %li.list-group-item
+ %p
+ %strong= $I18N->msg( 'faq-source-title' )
+ %ul.agents-ul
+ %li
+ %i= $I18N->msg( 'pageviews' )
+ = $I18N->msg( 'faq-source-pageviews' )
+ %li
+ %i= $I18N->msg( 'unique-devices' )
+ = $I18N->msg( 'faq-source-unique-devices' )
%li.list-group-item
%p
%strong= $I18N->msg( 'faq-agents-title' )
diff --git a/views/siteviews/index.haml b/views/siteviews/index.haml
index 0e492f68d..53a808b0a 100644
--- a/views/siteviews/index.haml
+++ b/views/siteviews/index.haml
@@ -20,7 +20,7 @@
%div.row.aqs-row.options
/ Date range selector
- %div.col-lg-4.col-sm-4
+ %div.col-lg-5.col-sm-5
%label(for="range-input")
= $I18N->msg( 'dates' )
%span.date-latest
@@ -34,20 +34,29 @@
%input.form-control.aqs-date-range-selector#range-input
/ Advanced options
- %div.col-lg-4.col-sm-4
+ %div.col-lg-3.col-sm-3
+ %label(for="data-source-select")
+ Data source
+ %select.form-control#data-source-select
+ %option(value="pageviews")
+ Pageviews
+ %option(value="unique-devices")
+ Unique devices
+
+ %div.col-lg-2.col-sm-2
%label(for="platform-select")
= $I18N->msg( 'platform' )
%select.form-control#platform-select
- %option(value="all-access")
+ %option(value="all-access" data-value="all-access" data-ud-value="all-sites")
= $I18N->msg( 'all' )
- %option(value="desktop")
+ %option(value="desktop" data-value="desktop" data-ud-value="desktop-site")
= $I18N->msg( 'desktop' )
- %option(value="mobile-app")
+ %option.platform-select--mobile-web(value="mobile-app")
= $I18N->msg( 'mobile-app' )
- %option(value="mobile-web")
+ %option(value="mobile-web" data-value="mobile-web" data-ud-value="mobile-site")
= $I18N->msg( 'mobile-web' )
- %div.col-lg-4.col-sm-4
+ %div.col-lg-2.col-sm-2
%label(for="agent-select")
= $I18N->msg( 'agent' )
%select.form-control#agent-select
@@ -79,15 +88,18 @@
/ Other links
%div.col-lg-12.data-links
%a.js-test-change-chart(data-target="#chart-type-modal" data-toggle="modal" href="#")<
+ %span.glyphicon.glyphicon-th
= $I18N->msg( 'change-chart' )
- •
+ •
%a.js-test-settings(data-target="#settings-modal" data-toggle="modal" href="#")<
+ %span.glyphicon.glyphicon-wrench
= $I18N->msg( 'settings' )
- •
+ •
%a.permalink(href="#")<
%span.glyphicon.glyphicon-link
= $I18N->msg( 'permalink' )
- •
+ •
+ %span.glyphicon.glyphicon-download-alt
- $csvlink = "" . $I18N->msg( 'csv' ) . " "
= $I18N->msg( 'download', array( 'variables' => array( $csvlink ), 'parsemag' => true ) )
·
diff --git a/views/siteviews/url_structure.haml b/views/siteviews/url_structure.haml
index e73cb06c2..dcaf24804 100644
--- a/views/siteviews/url_structure.haml
+++ b/views/siteviews/url_structure.haml
@@ -54,6 +54,9 @@
%dt end
%dd
= $I18N->msg( 'url-structure-end-date', array( 'variables' => array( 'YYYY-MM-DD
' ), 'parsemag' => true ) )
+ %dt source
+ %dd
+ = $I18N->msg( 'url-structure-source', array( 'variables' => array( 'pageviews
', 'unique-devices
' ), 'parsemag' => true ) )
%dt platform
%dd
= $I18N->msg( 'url-structure-platform', array( 'variables' => array( 'all-access
(' . strtolower( $I18N->msg( 'default' ) ) . ')', 'desktop
', 'mobile-app
', 'mobile-web
' ), 'parsemag' => true ) )