!function(n){if("object"==typeof exports)module.exports=n();else if("function"==typeof define&&define.amd)define(n);else{var t;"undefined"!=typeof window?t=window:"undefined"!=typeof global?t=global:"undefined"!=typeof self&&(t=self);t.proj4=n()}}(function(){return function n(t,i,r){function u(f,o){var h,s;if(!i[f]){if(!t[f]){if(h="function"==typeof require&&require,!o&&h)return h(f,!0);if(e)return e(f,!0);throw new Error("Cannot find module '"+f+"'");}s=i[f]={exports:{}};t[f][0].call(s.exports,function(n){var i=t[f][1][n];return u(i?i:n)},s,s.exports,n,t,i,r)}return i[f].exports}for(var e="function"==typeof require&&require,f=0;ff;f++)if(!t||2!==f||void 0!==i.z)switch(0===f?(r=e,u="x"):1===f?(r=o,u="y"):(r=s,u="z"),n.axis[f]){case"e":i[u]=r;break;case"w":i[u]=-r;break;case"n":i[u]=r;break;case"s":i[u]=-r;break;case"u":void 0!==i[u]&&(i.z=r);break;case"d":void 0!==i[u]&&(i.z=-r);break;default:return null}return i}},{}],4:[function(n,t){var i=Math.PI/2,r=n("./sign");t.exports=function(n){return Math.abs(n)1&&(n=n>1?1:-1),Math.asin(n)}},{}],7:[function(n,t){t.exports=function(n){return 1-.25*n*(1+n/16*(3+1.25*n))}},{}],8:[function(n,t){t.exports=function(n){return.375*n*(1+.25*n*(1+.46875*n))}},{}],9:[function(n,t){t.exports=function(n){return.05859375*n*n*(1+.75*n)}},{}],10:[function(n,t){t.exports=function(n){return n*n*n*(35/3072)}},{}],11:[function(n,t){t.exports=function(n,t,i){var r=t*i;return n/Math.sqrt(1-r*r)}},{}],12:[function(n,t){t.exports=function(n,t,i,r,u){for(var e,f=n/t,o=0;15>o;o++)if(e=(n-(t*f-i*Math.sin(2*f)+r*Math.sin(4*f)-u*Math.sin(6*f)))/(t-2*i*Math.cos(2*f)+4*r*Math.cos(4*f)-6*u*Math.cos(6*f)),f+=e,Math.abs(e)<=1e-10)return f;return NaN}},{}],13:[function(n,t){var i=Math.PI/2;t.exports=function(n,t){var h=1-(1-n*n)/(2*n)*Math.log((1-n)/(1+n)),f,e,s,r,u,o;if(Math.abs(Math.abs(t)-h)<1e-6)return 0>t?-1*i:i;for(u=Math.asin(.5*t),o=0;30>o;o++)if(e=Math.sin(u),s=Math.cos(u),r=n*e,f=Math.pow(1-r*r,2)/(2*s)*(t/(1-n*n)-e/(1-r*r)+.5/n*Math.log((1-r)/(1+r))),u+=f,Math.abs(f)<=1e-10)return u;return NaN}},{}],14:[function(n,t){t.exports=function(n,t,i,r,u){return n*u-t*Math.sin(2*u)+i*Math.sin(4*u)-r*Math.sin(6*u)}},{}],15:[function(n,t){t.exports=function(n,t,i){var r=n*t;return i/Math.sqrt(1-r*r)}},{}],16:[function(n,t){var i=Math.PI/2;t.exports=function(n,t){for(var u,f,o=.5*n,r=i-2*Math.atan(t),e=0;15>=e;e++)if(u=n*Math.sin(r),f=i-2*Math.atan(t*Math.pow((1-u)/(1+u),o))-r,r+=f,Math.abs(f)<=1e-10)return r;return-9999}},{}],17:[function(n,t){var f=1,e=.25,i=.046875,r=.01953125,u=.01068115234375,o=.75,s=.46875,h=.013020833333333334,c=.007120768229166667,l=.36458333333333331,a=.005696614583333333,v=.3076171875;t.exports=function(n){var t=[],y;return t[0]=f-n*(e+n*(i+n*(r+n*u))),t[1]=n*(o-n*(i+n*(r+n*u))),y=n*n,t[2]=y*(s-n*(h+n*c)),y*=n,t[3]=y*(l-n*a),t[4]=y*n*v,t}},{}],18:[function(n,t){var i=n("./pj_mlfn"),r=1e-10,u=20;t.exports=function(n,t,f){for(var s,o,c=1/(1-t),e=n,h=u;h;--h)if(s=Math.sin(e),o=1-t*s*s,o=(i(e,s,Math.cos(e),f)-n)*o*Math.sqrt(o)*c,e-=o,Math.abs(o)1e-7?(i=n*t,(1-n*n)*(t/(1-i*i)-.5/n*Math.log((1-i)/(1+i)))):2*t}},{}],21:[function(n,t){t.exports=function(n){return 0>n?-1:1}},{}],22:[function(n,t){t.exports=function(n,t){return Math.pow((1-n)/(1+n),t)}},{}],23:[function(n,t){t.exports=function(n){var t={x:n[0],y:n[1]};return n.length>2&&(t.z=n[2]),n.length>3&&(t.m=n[3]),t}},{}],24:[function(n,t){var i=Math.PI/2;t.exports=function(n,t,r){var u=n*r,f=.5*n;return u=Math.pow((1-u)/(1+u),f),Math.tan(.5*(i-t))/u}},{}],25:[function(n,t,i){i.wgs84={towgs84:"0,0,0",ellipse:"WGS84",datumName:"WGS84"};i.ch1903={towgs84:"674.374,15.056,405.346",ellipse:"bessel",datumName:"swiss"};i.ggrs87={towgs84:"-199.87,74.79,246.62",ellipse:"GRS80",datumName:"Greek_Geodetic_Reference_System_1987"};i.nad83={towgs84:"0,0,0",ellipse:"GRS80",datumName:"North_American_Datum_1983"};i.nad27={nadgrids:"@conus,@alaska,@ntv2_0.gsb,@ntv1_can.dat",ellipse:"clrk66",datumName:"North_American_Datum_1927"};i.potsdam={towgs84:"606.0,23.0,413.0",ellipse:"bessel",datumName:"Potsdam Rauenberg 1950 DHDN"};i.carthage={towgs84:"-263.0,6.0,431.0",ellipse:"clark80",datumName:"Carthage 1934 Tunisia"};i.hermannskogel={towgs84:"653.0,-212.0,449.0",ellipse:"bessel",datumName:"Hermannskogel"};i.ire65={towgs84:"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15",ellipse:"mod_airy",datumName:"Ireland 1965"};i.rassadiran={towgs84:"-133.63,-157.5,-158.62",ellipse:"intl",datumName:"Rassadiran"};i.nzgd49={towgs84:"59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993",ellipse:"intl",datumName:"New Zealand Geodetic Datum 1949"};i.osgb36={towgs84:"446.448,-125.157,542.060,0.1502,0.2470,0.8421,-20.4894",ellipse:"airy",datumName:"Airy 1830"};i.s_jtsk={towgs84:"589,76,480",ellipse:"bessel",datumName:"S-JTSK (Ferro)"};i.beduaram={towgs84:"-106,-87,188",ellipse:"clrk80",datumName:"Beduaram"};i.gunung_segara={towgs84:"-403,684,41",ellipse:"bessel",datumName:"Gunung Segara Jakarta"};i.rnb72={towgs84:"106.869,-52.2978,103.724,-0.33657,0.456955,-1.84218,1",ellipse:"intl",datumName:"Reseau National Belge 1972"}},{}],26:[function(n,t,i){i.MERIT={a:6378137,rf:298.257,ellipseName:"MERIT 1983"};i.SGS85={a:6378136,rf:298.257,ellipseName:"Soviet Geodetic System 85"};i.GRS80={a:6378137,rf:298.257222101,ellipseName:"GRS 1980(IUGG, 1980)"};i.IAU76={a:6378140,rf:298.257,ellipseName:"IAU 1976"};i.airy={a:6377563.396,b:6356256.91,ellipseName:"Airy 1830"};i.APL4={a:6378137,rf:298.25,ellipseName:"Appl. Physics. 1965"};i.NWL9D={a:6378145,rf:298.25,ellipseName:"Naval Weapons Lab., 1965"};i.mod_airy={a:6377340.189,b:6356034.446,ellipseName:"Modified Airy"};i.andrae={a:6377104.43,rf:300,ellipseName:"Andrae 1876 (Den., Iclnd.)"};i.aust_SA={a:6378160,rf:298.25,ellipseName:"Australian Natl & S. Amer. 1969"};i.GRS67={a:6378160,rf:298.247167427,ellipseName:"GRS 67(IUGG 1967)"};i.bessel={a:6377397.155,rf:299.1528128,ellipseName:"Bessel 1841"};i.bess_nam={a:6377483.865,rf:299.1528128,ellipseName:"Bessel 1841 (Namibia)"};i.clrk66={a:6378206.4,b:6356583.8,ellipseName:"Clarke 1866"};i.clrk80={a:6378249.145,rf:293.4663,ellipseName:"Clarke 1880 mod."};i.clrk58={a:6378293.6452087592,rf:294.26067636926541,ellipseName:"Clarke 1858"};i.CPM={a:6375738.7,rf:334.29,ellipseName:"Comm. des Poids et Mesures 1799"};i.delmbr={a:6376428,rf:311.5,ellipseName:"Delambre 1810 (Belgium)"};i.engelis={a:6378136.05,rf:298.2566,ellipseName:"Engelis 1985"};i.evrst30={a:6377276.345,rf:300.8017,ellipseName:"Everest 1830"};i.evrst48={a:6377304.063,rf:300.8017,ellipseName:"Everest 1948"};i.evrst56={a:6377301.243,rf:300.8017,ellipseName:"Everest 1956"};i.evrst69={a:6377295.664,rf:300.8017,ellipseName:"Everest 1969"};i.evrstSS={a:6377298.556,rf:300.8017,ellipseName:"Everest (Sabah & Sarawak)"};i.fschr60={a:6378166,rf:298.3,ellipseName:"Fischer (Mercury Datum) 1960"};i.fschr60m={a:6378155,rf:298.3,ellipseName:"Fischer 1960"};i.fschr68={a:6378150,rf:298.3,ellipseName:"Fischer 1968"};i.helmert={a:6378200,rf:298.3,ellipseName:"Helmert 1906"};i.hough={a:6378270,rf:297,ellipseName:"Hough"};i.intl={a:6378388,rf:297,ellipseName:"International 1909 (Hayford)"};i.kaula={a:6378163,rf:298.24,ellipseName:"Kaula 1961"};i.lerch={a:6378139,rf:298.257,ellipseName:"Lerch 1979"};i.mprts={a:6397300,rf:191,ellipseName:"Maupertius 1738"};i.new_intl={a:6378157.5,b:6356772.2,ellipseName:"New International 1967"};i.plessis={a:6376523,rf:6355863,ellipseName:"Plessis 1817 (France)"};i.krass={a:6378245,rf:298.3,ellipseName:"Krassovsky, 1942"};i.SEasia={a:6378155,b:6356773.3205,ellipseName:"Southeast Asia"};i.walbeck={a:6376896,b:6355834.8467,ellipseName:"Walbeck"};i.WGS60={a:6378165,rf:298.3,ellipseName:"WGS 60"};i.WGS66={a:6378145,rf:298.25,ellipseName:"WGS 66"};i.WGS7={a:6378135,rf:298.26,ellipseName:"WGS 72"};i.WGS84={a:6378137,rf:298.257223563,ellipseName:"WGS 84"};i.sphere={a:6370997,b:6370997,ellipseName:"Normal Sphere (r=6370997)"}},{}],27:[function(n,t,i){i.greenwich=0;i.lisbon=-9.131906111111;i.paris=2.337229166667;i.bogota=-74.080916666667;i.madrid=-3.687938888889;i.rome=12.452333333333;i.bern=7.439583333333;i.jakarta=106.807719444444;i.ferro=-17.666666666667;i.brussels=4.367975;i.stockholm=18.058277777778;i.athens=23.7163375;i.oslo=10.722916666667},{}],28:[function(n,t){function i(n,t,i){var r;return Array.isArray(i)?(r=f(n,t,i),3===i.length?[r.x,r.y,r.z]:[r.x,r.y]):f(n,t,i)}function u(n){return n instanceof r?n:n.oProj?n.oProj:r(n)}function o(n,t,r){n=u(n);var f,o=!1;return"undefined"==typeof t?(t=n,n=e,o=!0):("undefined"!=typeof t.x||Array.isArray(t))&&(r=t,t=n,n=e,o=!0),t=u(t),r?i(n,t,r):(f={forward:function(r){return i(n,t,r)},inverse:function(r){return i(t,n,r)}},o&&(f.oProj=t),f)}var r=n("./Proj"),f=n("./transform"),e=r("WGS84");t.exports=o},{"./Proj":2,"./transform":64}],29:[function(n,t){var i=Math.PI/2,r=1,u=2,f=3,h=4,c=5,o=484813681109536e-20,l=1.0026,s=.38268343236508978,e=function(n){if(!(this instanceof e))return new e(n);if(this.datum_type=h,n){if(n.datumCode&&"none"===n.datumCode&&(this.datum_type=c),n.datum_params){for(var t=0;t3&&(0!==n.datum_params[3]||0!==n.datum_params[4]||0!==n.datum_params[5]||0!==n.datum_params[6])&&(this.datum_type=u,n.datum_params[3]*=o,n.datum_params[4]*=o,n.datum_params[5]*=o,n.datum_params[6]=n.datum_params[6]/1e6+1)}this.datum_type=n.grids?f:this.datum_type;this.a=n.a;this.b=n.b;this.es=n.es;this.ep2=n.ep2;this.datum_params=n.datum_params;this.datum_type===f&&(this.grids=n.grids)}};e.prototype={compare_datums:function(n){return this.datum_type!==n.datum_type?!1:this.a!==n.a||Math.abs(this.es-n.es)>5e-11?!1:this.datum_type===r?this.datum_params[0]===n.datum_params[0]&&this.datum_params[1]===n.datum_params[1]&&this.datum_params[2]===n.datum_params[2]:this.datum_type===u?this.datum_params[0]===n.datum_params[0]&&this.datum_params[1]===n.datum_params[1]&&this.datum_params[2]===n.datum_params[2]&&this.datum_params[3]===n.datum_params[3]&&this.datum_params[4]===n.datum_params[4]&&this.datum_params[5]===n.datum_params[5]&&this.datum_params[6]===n.datum_params[6]:this.datum_type===f||n.datum_type===f?this.nadgrids===n.nadgrids:!0},geodetic_to_geocentric:function(n){var s,h,c,r,u,l,e,f=n.x,t=n.y,o=n.z?n.z:0;if(-i>t&&t>-1.001*i)t=-i;else if(t>i&&1.001*i>t)t=i;else if(-i>t||t>i)return null;return f>Math.PI&&(f-=2*Math.PI),u=Math.sin(t),e=Math.cos(t),l=u*u,r=this.a/Math.sqrt(1-this.es*l),s=(r+o)*e*Math.cos(f),h=(r+o)*e*Math.sin(f),c=(r*(1-this.es)+o)*u,n.x=s,n.y=h,n.z=c,0},geocentric_to_geodetic:function(n){var o,s,b,r,u,h,c,l,t,a,v,k,tt,d,g,nt,y,p=1e-12,it=p*p,f=n.x,e=n.y,w=n.z?n.z:0;if(tt=!1,o=Math.sqrt(f*f+e*e),s=Math.sqrt(f*f+e*e+w*w),o/this.ait&&30>d);return nt=Math.atan(v/Math.abs(a)),n.x=g,n.y=nt,n.z=y,n},geocentric_to_geodetic_noniter:function(n){var e,o,k,h,d,a,v,g,nt,y,it,p,c,u,w,b,tt,f=n.x,t=n.y,r=n.z?n.z:0;if(f=parseFloat(f),t=parseFloat(t),r=parseFloat(r),tt=!1,0!==f)e=Math.atan2(t,f);else if(t>0)e=i;else if(0>t)e=-i;else if(tt=!0,e=0,r>0)o=i;else{if(!(0>r))return o=i,void(k=-this.b);o=-i}return d=f*f+t*t,h=Math.sqrt(d),a=r*l,g=Math.sqrt(a*a+d),y=a/g,p=h/g,it=y*y*y,v=r+this.b*this.ep2*it,b=h-this.a*this.es*p*p*p,nt=Math.sqrt(v*v+b*b),c=v/nt,u=b/nt,w=this.a/Math.sqrt(1-this.es*c*c),k=u>=s?h/u-w:-s>=u?h/-u-w:r/c+w*(this.es-1),tt===!1&&(o=Math.atan(c/u)),n.x=e,n.y=o,n.z=k,n},geocentric_to_wgs84:function(n){if(this.datum_type===r)n.x+=this.datum_params[0],n.y+=this.datum_params[1],n.z+=this.datum_params[2];else if(this.datum_type===u){var o=this.datum_params[0],s=this.datum_params[1],h=this.datum_params[2],i=this.datum_params[3],f=this.datum_params[4],e=this.datum_params[5],t=this.datum_params[6],c=t*(n.x-e*n.y+f*n.z)+o,l=t*(e*n.x+n.y-i*n.z)+s,a=t*(-f*n.x+i*n.y+n.z)+h;n.x=c;n.y=l;n.z=a}},geocentric_from_wgs84:function(n){if(this.datum_type===r)n.x-=this.datum_params[0],n.y-=this.datum_params[1],n.z-=this.datum_params[2];else if(this.datum_type===u){var c=this.datum_params[0],l=this.datum_params[1],a=this.datum_params[2],o=this.datum_params[3],s=this.datum_params[4],h=this.datum_params[5],t=this.datum_params[6],i=(n.x-c)/t,f=(n.y-l)/t,e=(n.z-a)/t;n.x=i+h*f-s*e;n.y=-h*i+f+o*e;n.z=s*i-o*f+e}}};t.exports=e},{}],30:[function(n,t){var r=1,u=2,i=3,f=5,e=6378137,o=.0066943799901413156;t.exports=function(n,t,s){function h(n){return n===r||n===u}var l,c,y;if(n.compare_datums(t)||n.datum_type===f||t.datum_type===f)return s;var a=n.a,p=n.es,w=t.a,b=t.es,v=n.datum_type;if(v===i)if(0===this.apply_gridshift(n,0,s))n.a=e,n.es=o;else{if(!n.datum_params)return n.a=a,n.es=n.es,s;for(l=1,c=0,y=n.datum_params.length;y>c;c++)l*=n.datum_params[c];if(0===l)return n.a=a,n.es=n.es,s;v=n.datum_params.length>3?u:r}return t.datum_type===i&&(t.a=e,t.es=o),(n.es!==t.es||n.a!==t.a||h(v)||h(t.datum_type))&&(n.geodetic_to_geocentric(s),h(n.datum_type)&&n.geocentric_to_wgs84(s),h(t.datum_type)&&t.geocentric_from_wgs84(s),t.geocentric_to_geodetic(s)),t.datum_type===i&&this.apply_gridshift(t,1,s),n.a=a,n.es=p,t.a=w,t.es=b,s}},{}],31:[function(n,t){function i(n){var r=this,t;if(2===arguments.length)t=arguments[1],i[n]="string"==typeof t?"+"===t[0]?u(arguments[1]):f(arguments[1]):t;else if(1===arguments.length){if(Array.isArray(n))return n.map(function(n){Array.isArray(n)?i.apply(r,n):i(n)});if("string"==typeof n){if(n in i)return i[n]}else"EPSG"in n?i["EPSG:"+n.EPSG]=n:"ESRI"in n?i["ESRI:"+n.ESRI]=n:"IAU2000"in n?i["IAU2000:"+n.IAU2000]=n:console.log(n);return}}var r=n("./global"),u=n("./projString"),f=n("./wkt");r(i);t.exports=i},{"./global":34,"./projString":37,"./wkt":65}],32:[function(n,t){var r=n("./constants/Datum"),i=n("./constants/Ellipsoid"),u=n("./extend"),f=n("./datum"),e=1e-10,o=.16666666666666666,s=.047222222222222221,h=.022156084656084655;t.exports=function(n){var t,c;return n.datumCode&&"none"!==n.datumCode&&(t=r[n.datumCode],t&&(n.datum_params=t.towgs84?t.towgs84.split(","):null,n.ellps=t.ellipse,n.datumName=t.datumName?t.datumName:n.datumCode)),n.a||(c=i[n.ellps]?i[n.ellps]:i.WGS84,u(n,c)),n.rf&&!n.b&&(n.b=(1-1/n.rf)*n.a),(0===n.rf||Math.abs(n.a-n.b)u?(this.ms1*this.ms1-this.ms2*this.ms2)/(this.qs2-this.qs1):this.con,this.c=this.ms1*this.ms1+this.ns0*this.qs1,this.rh=this.a*Math.sqrt(this.c-this.ns0*this.qs0)/this.ns0)};i.forward=function(n){var f=n.x,t=n.y;this.sin_phi=Math.sin(t);this.cos_phi=Math.cos(t);var o=r(this.e3,this.sin_phi,this.cos_phi),i=this.a*Math.sqrt(this.c-this.ns0*o)/this.ns0,u=this.ns0*e(f-this.long0),s=i*Math.sin(u)+this.x0,h=this.rh-i*Math.cos(u)+this.y0;return n.x=s,n.y=h,n};i.inverse=function(n){var i,f,t,r,o,u;return n.x-=this.x0,n.y=this.rh-n.y+this.y0,this.ns0>=0?(i=Math.sqrt(n.x*n.x+n.y*n.y),t=1):(i=-Math.sqrt(n.x*n.x+n.y*n.y),t=-1),r=0,0!==i&&(r=Math.atan2(t*n.x,t*n.y)),t=i*this.ns0/this.a,this.sphere?u=Math.asin((this.c-t*t)/(2*this.ns0)):(f=(this.c-t*t)/this.ns0,u=this.phi1z(this.e3,f)),o=e(r/this.ns0+this.long0),n.x=o,n.y=u,n};i.phi1z=function(n,t){var e,c,i,f,s,r=o(.5*t),l,h;if(u>n)return r;for(l=n*n,h=1;25>=h;h++)if(e=Math.sin(r),c=Math.cos(r),i=n*e,f=1-i*i,s=.5*f*f/c*(t/(1-l)-e/f+.5/n*Math.log((1-i)/(1+i))),r+=s,Math.abs(s)<=1e-7)return r;return null};i.names=["Albers_Conic_Equal_Area","Albers","aea"]},{"../common/adjust_lon":5,"../common/asinz":6,"../common/msfnz":15,"../common/qsfnz":20}],40:[function(n,t,i){var e=n("../common/adjust_lon"),r=Math.PI/2,u=1e-10,f=n("../common/mlfn"),s=n("../common/e0fn"),h=n("../common/e1fn"),c=n("../common/e2fn"),l=n("../common/e3fn"),o=n("../common/gN"),v=n("../common/asinz"),a=n("../common/imlfn");i.init=function(){this.sin_p12=Math.sin(this.lat0);this.cos_p12=Math.cos(this.lat0)};i.forward=function(n){var d,g,nt,tt,p,w,at,et,vt,i,a,rt,ut,ot,v,b,st,yt,y,ht,ct,lt,pt,wt=n.x,k=n.y,ft=Math.sin(n.y),it=Math.cos(n.y),t=e(wt-this.long0);return this.sphere?Math.abs(this.sin_p12-1)<=u?(n.x=this.x0+this.a*(r-k)*Math.sin(t),n.y=this.y0-this.a*(r-k)*Math.cos(t),n):Math.abs(this.sin_p12+1)<=u?(n.x=this.x0+this.a*(r+k)*Math.sin(t),n.y=this.y0+this.a*(r+k)*Math.cos(t),n):(yt=this.sin_p12*ft+this.cos_p12*it*Math.cos(t),b=Math.acos(yt),st=b/Math.sin(b),n.x=this.x0+this.a*st*it*Math.sin(t),n.y=this.y0+this.a*st*(this.cos_p12*ft-this.sin_p12*it*Math.cos(t)),n):(d=s(this.es),g=h(this.es),nt=c(this.es),tt=l(this.es),Math.abs(this.sin_p12-1)<=u?(p=this.a*f(d,g,nt,tt,r),w=this.a*f(d,g,nt,tt,k),n.x=this.x0+(p-w)*Math.sin(t),n.y=this.y0-(p-w)*Math.cos(t),n):Math.abs(this.sin_p12+1)<=u?(p=this.a*f(d,g,nt,tt,r),w=this.a*f(d,g,nt,tt,k),n.x=this.x0+(p+w)*Math.sin(t),n.y=this.y0+(p+w)*Math.cos(t),n):(at=ft/it,et=o(this.a,this.e,this.sin_p12),vt=o(this.a,this.e,ft),i=Math.atan((1-this.es)*at+this.es*et*this.sin_p12/(vt*it)),a=Math.atan2(Math.sin(t),this.cos_p12*Math.tan(i)-this.sin_p12*Math.cos(t)),y=0===a?Math.asin(this.cos_p12*Math.sin(i)-this.sin_p12*Math.cos(i)):Math.abs(Math.abs(a)-Math.PI)<=u?-Math.asin(this.cos_p12*Math.sin(i)-this.sin_p12*Math.cos(i)):Math.asin(Math.sin(t)*Math.cos(i)/Math.sin(a)),rt=this.e*this.sin_p12/Math.sqrt(1-this.es),ut=this.e*this.cos_p12*Math.cos(a)/Math.sqrt(1-this.es),ot=rt*ut,v=ut*ut,ht=y*y,ct=ht*y,lt=ct*y,pt=lt*y,b=et*y*(1-ht*v*(1-v)/6+ct/8*ot*(1-2*v)+lt/120*(v*(4-7*v)-3*rt*rt*(1-7*v))-pt/48*ot),n.x=this.x0+b*Math.sin(a),n.y=this.y0+b*Math.cos(a),n))};i.inverse=function(n){n.x-=this.x0;n.y-=this.y0;var t,et,tt,ot,i,y,ct,b,k,d,g,it,rt,lt,ut,st,ft,ht,w,at,nt,p,vt;return this.sphere?(t=Math.sqrt(n.x*n.x+n.y*n.y),t>2*r*this.a)?void 0:(et=t/this.a,tt=Math.sin(et),ot=Math.cos(et),i=this.long0,Math.abs(t)<=u?y=this.lat0:(y=v(ot*this.sin_p12+n.y*tt*this.cos_p12/t),ct=Math.abs(this.lat0)-r,i=e(Math.abs(ct)<=u?this.lat0>=0?this.long0+Math.atan2(n.x,-n.y):this.long0-Math.atan2(-n.x,n.y):this.long0+Math.atan2(n.x*tt,t*this.cos_p12*ot-n.y*this.sin_p12*tt))),n.x=i,n.y=y,n):(b=s(this.es),k=h(this.es),d=c(this.es),g=l(this.es),Math.abs(this.sin_p12-1)<=u?(it=this.a*f(b,k,d,g,r),t=Math.sqrt(n.x*n.x+n.y*n.y),rt=it-t,y=a(rt/this.a,b,k,d,g),i=e(this.long0+Math.atan2(n.x,-1*n.y)),n.x=i,n.y=y,n):Math.abs(this.sin_p12+1)<=u?(it=this.a*f(b,k,d,g,r),t=Math.sqrt(n.x*n.x+n.y*n.y),rt=t-it,y=a(rt/this.a,b,k,d,g),i=e(this.long0+Math.atan2(n.x,n.y)),n.x=i,n.y=y,n):(t=Math.sqrt(n.x*n.x+n.y*n.y),st=Math.atan2(n.x,n.y),lt=o(this.a,this.e,this.sin_p12),ft=Math.cos(st),ht=this.e*this.cos_p12*ft,w=-ht*ht/(1-this.es),at=3*this.es*(1-w)*this.sin_p12*this.cos_p12*ft/(1-this.es),nt=t/lt,p=nt-w*(1+w)*Math.pow(nt,3)/6-at*(1+3*w)*Math.pow(nt,4)/24,vt=1-w*p*p/2-nt*p*p*p/6,ut=Math.asin(this.sin_p12*Math.cos(p)+this.cos_p12*Math.sin(p)*ft),i=e(this.long0+Math.asin(Math.sin(st)*Math.sin(p)/Math.cos(ut))),y=Math.atan((1-this.es*vt*this.sin_p12/Math.sin(ut))*Math.tan(ut)/(1-this.es)),n.x=i,n.y=y,n))};i.names=["Azimuthal_Equidistant","aeqd"]},{"../common/adjust_lon":5,"../common/asinz":6,"../common/e0fn":7,"../common/e1fn":8,"../common/e2fn":9,"../common/e3fn":10,"../common/gN":11,"../common/imlfn":12,"../common/mlfn":14}],41:[function(n,t,i){var r=n("../common/mlfn"),o=n("../common/e0fn"),s=n("../common/e1fn"),h=n("../common/e2fn"),c=n("../common/e3fn"),u=n("../common/gN"),f=n("../common/adjust_lon"),l=n("../common/adjust_lat"),a=n("../common/imlfn"),e=Math.PI/2,v=1e-10;i.init=function(){this.sphere||(this.e0=o(this.es),this.e1=s(this.es),this.e2=h(this.es),this.e3=c(this.es),this.ml0=this.a*r(this.e0,this.e1,this.e2,this.e3,this.lat0))};i.forward=function(n){var o,s,i=n.x,t=n.y;if(i=f(i-this.long0),this.sphere)o=this.a*Math.asin(Math.cos(t)*Math.sin(i)),s=this.a*(Math.atan2(Math.tan(t),Math.cos(i))-this.lat0);else{var a=Math.sin(t),h=Math.cos(t),v=u(this.a,this.e,a),c=Math.tan(t)*Math.tan(t),l=i*Math.cos(t),e=l*l,y=this.es*h*h/(1-this.es),p=this.a*r(this.e0,this.e1,this.e2,this.e3,t);o=v*l*(1-e*c*(1/6-(8-c+8*y)*e/120));s=p-this.ml0+v*a/h*e*(.5+(5-c+6*y)*e/24)}return n.x=o+this.x0,n.y=s+this.y0,n};i.inverse=function(n){var c,y,o,s,p,w,t;if(n.x-=this.x0,n.y-=this.y0,o=n.x/this.a,s=n.y/this.a,this.sphere)p=s+this.lat0,c=Math.asin(Math.sin(p)*Math.cos(o)),y=Math.atan2(Math.tan(o),Math.cos(p));else{if(w=this.ml0/this.a+s,t=a(w,this.e0,this.e1,this.e2,this.e3),Math.abs(Math.abs(t)-e)<=v)return n.x=this.long0,n.y=e,0>s&&(n.y*=-1),n;var r=u(this.a,this.e,Math.sin(t)),k=r*r*r/this.a/this.a*(1-this.es),h=Math.pow(Math.tan(t),2),i=o*this.a/r,b=i*i;c=t-r*Math.tan(t)/k*i*i*(.5-(1+3*h)*i*i/24);y=i*(1-b*(h/3+(1+3*h)*h*b/15))/Math.cos(t)}return n.x=f(y+this.long0),n.y=l(c),n};i.names=["Cassini","Cassini_Soldner","cass"]},{"../common/adjust_lat":4,"../common/adjust_lon":5,"../common/e0fn":7,"../common/e1fn":8,"../common/e2fn":9,"../common/e3fn":10,"../common/gN":11,"../common/imlfn":12,"../common/mlfn":14}],42:[function(n,t,i){var r=n("../common/adjust_lon"),u=n("../common/qsfnz"),f=n("../common/msfnz"),e=n("../common/iqsfnz");i.init=function(){this.sphere||(this.k0=f(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)))};i.forward=function(n){var t,i,s=n.x,f=n.y,e=r(s-this.long0),o;return this.sphere?(t=this.x0+this.a*e*Math.cos(this.lat_ts),i=this.y0+this.a*Math.sin(f)/Math.cos(this.lat_ts)):(o=u(this.e,Math.sin(f)),t=this.x0+this.a*this.k0*e,i=this.y0+this.a*o*.5/this.k0),n.x=t,n.y=i,n};i.inverse=function(n){n.x-=this.x0;n.y-=this.y0;var t,i;return this.sphere?(t=r(this.long0+n.x/this.a/Math.cos(this.lat_ts)),i=Math.asin(n.y/this.a*Math.cos(this.lat_ts))):(i=e(this.e,2*n.y*this.k0/this.a),t=r(this.long0+n.x/(this.a*this.k0))),n.x=t,n.y=i,n};i.names=["cea"]},{"../common/adjust_lon":5,"../common/iqsfnz":13,"../common/msfnz":15,"../common/qsfnz":20}],43:[function(n,t,i){var r=n("../common/adjust_lon"),u=n("../common/adjust_lat");i.init=function(){this.x0=this.x0||0;this.y0=this.y0||0;this.lat0=this.lat0||0;this.long0=this.long0||0;this.lat_ts=this.lat_ts||0;this.title=this.title||"Equidistant Cylindrical (Plate Carre)";this.rc=Math.cos(this.lat_ts)};i.forward=function(n){var t=n.x,i=n.y,f=r(t-this.long0),e=u(i-this.lat0);return n.x=this.x0+this.a*f*this.rc,n.y=this.y0+this.a*e,n};i.inverse=function(n){var t=n.x,i=n.y;return n.x=r(this.long0+(t-this.x0)/(this.a*this.rc)),n.y=u(this.lat0+(i-this.y0)/this.a),n};i.names=["Equirectangular","Equidistant_Cylindrical","eqc"]},{"../common/adjust_lat":4,"../common/adjust_lon":5}],44:[function(n,t,i){var o=n("../common/e0fn"),s=n("../common/e1fn"),h=n("../common/e2fn"),c=n("../common/e3fn"),f=n("../common/msfnz"),r=n("../common/mlfn"),u=n("../common/adjust_lon"),l=n("../common/adjust_lat"),a=n("../common/imlfn"),e=1e-10;i.init=function(){Math.abs(this.lat1+this.lat2)=0?(t=Math.sqrt(n.x*n.x+n.y*n.y),i=1):(t=-Math.sqrt(n.x*n.x+n.y*n.y),i=-1),e=0,0!==t&&(e=Math.atan2(i*n.x,i*n.y)),this.sphere)?(f=u(this.long0+e/this.ns),r=l(this.g-t/this.a),n.x=f,n.y=r,n):(o=this.g-t/this.a,r=a(o,this.e0,this.e1,this.e2,this.e3),f=u(this.long0+e/this.ns),n.x=f,n.y=r,n)};i.names=["Equidistant_Conic","eqdc"]},{"../common/adjust_lat":4,"../common/adjust_lon":5,"../common/e0fn":7,"../common/e1fn":8,"../common/e2fn":9,"../common/e3fn":10,"../common/imlfn":12,"../common/mlfn":14,"../common/msfnz":15}],45:[function(n,t,i){var r=Math.PI/4,u=n("../common/srat"),f=Math.PI/2,e=20;i.init=function(){var n=Math.sin(this.lat0),t=Math.cos(this.lat0);t*=t;this.rc=Math.sqrt(1-this.es)/(1-this.es*n*n);this.C=Math.sqrt(1+this.es*t*t/(1-this.es));this.phic0=Math.asin(n/this.C);this.ratexp=.5*this.C*this.e;this.K=Math.tan(.5*this.phic0+r)/(Math.pow(Math.tan(.5*this.lat0+r),this.C)*u(this.e*n,this.ratexp))};i.forward=function(n){var i=n.x,t=n.y;return n.y=2*Math.atan(this.K*Math.pow(Math.tan(.5*t+r),this.C)*u(this.e*Math.sin(t),this.ratexp))-f,n.x=this.C*i,n};i.inverse=function(n){for(var o=n.x/this.C,t=n.y,s=Math.pow(Math.tan(.5*t+r)/this.K,1/this.C),i=e;i>0&&(t=2*Math.atan(s*u(this.e*Math.sin(n.y),-.5*this.e))-f,!(Math.abs(t-n.y)<1e-14));--i)n.y=t;return i?(n.x=o,n.y=t,n):null};i.names=["gauss"]},{"../common/srat":22}],46:[function(n,t,i){var r=n("../common/adjust_lon"),u=1e-10,f=n("../common/asinz");i.init=function(){this.sin_p14=Math.sin(this.lat0);this.cos_p14=Math.cos(this.lat0);this.infinity_dist=1e3*this.a;this.rc=1};i.forward=function(n){var f,t,e,o,s,i,h,c,a=n.x,l=n.y;return e=r(a-this.long0),f=Math.sin(l),t=Math.cos(l),o=Math.cos(e),i=this.sin_p14*f+this.cos_p14*t*o,s=1,i>0||Math.abs(i)<=u?(h=this.x0+this.a*s*t*Math.sin(e)/i,c=this.y0+this.a*s*(this.cos_p14*f-this.sin_p14*t*o)/i):(h=this.x0+this.infinity_dist*t*Math.sin(e),c=this.y0+this.infinity_dist*(this.cos_p14*f-this.sin_p14*t*o)),n.x=h,n.y=c,n};i.inverse=function(n){var i,u,e,o,t,s;return n.x=(n.x-this.x0)/this.a,n.y=(n.y-this.y0)/this.a,n.x/=this.k0,n.y/=this.k0,(i=Math.sqrt(n.x*n.x+n.y*n.y))?(o=Math.atan2(i,this.rc),u=Math.sin(o),e=Math.cos(o),s=f(e*this.sin_p14+n.y*u*this.cos_p14/i),t=Math.atan2(n.x*u,i*this.cos_p14*e-n.y*this.sin_p14*u),t=r(this.long0+t)):(s=this.phic0,t=0),n.x=t,n.y=s,n};i.names=["gnom"]},{"../common/adjust_lon":5,"../common/asinz":6}],47:[function(n,t,i){var r=n("../common/adjust_lon");i.init=function(){this.a=6377397.155;this.es=.006674372230614;this.e=Math.sqrt(this.es);this.lat0||(this.lat0=.863937979737193);this.long0||(this.long0=.43342343091192509);this.k0||(this.k0=.9999);this.s45=.785398163397448;this.s90=2*this.s45;this.fi0=this.lat0;this.e2=this.es;this.e=Math.sqrt(this.e2);this.alfa=Math.sqrt(1+this.e2*Math.pow(Math.cos(this.fi0),4)/(1-this.e2));this.uq=1.04216856380474;this.u0=Math.asin(Math.sin(this.fi0)/this.alfa);this.g=Math.pow((1+this.e*Math.sin(this.fi0))/(1-this.e*Math.sin(this.fi0)),this.alfa*this.e/2);this.k=Math.tan(this.u0/2+this.s45)/Math.pow(Math.tan(this.fi0/2+this.s45),this.alfa)*this.g;this.k1=this.k0;this.n0=this.a*Math.sqrt(1-this.e2)/(1-this.e2*Math.pow(Math.sin(this.fi0),2));this.s0=1.37008346281555;this.n=Math.sin(this.s0);this.ro0=this.k1*this.n0/Math.tan(this.s0);this.ad=this.s90-this.uq};i.forward=function(n){var s,t,i,u,h,f,e,c=n.x,o=n.y,l=r(c-this.long0);return s=Math.pow((1+this.e*Math.sin(o))/(1-this.e*Math.sin(o)),this.alfa*this.e/2),t=2*(Math.atan(this.k*Math.pow(Math.tan(o/2+this.s45),this.alfa)/s)-this.s45),i=-l*this.alfa,u=Math.asin(Math.cos(this.ad)*Math.sin(t)+Math.sin(this.ad)*Math.cos(t)*Math.cos(i)),h=Math.asin(Math.cos(t)*Math.sin(i)/Math.cos(u)),f=this.n*h,e=this.ro0*Math.pow(Math.tan(this.s0/2+this.s45),this.n)/Math.pow(Math.tan(u/2+this.s45),this.n),n.y=e*Math.cos(f)/1,n.x=e*Math.sin(f)/1,this.czech||(n.y*=-1,n.x*=-1),n};i.inverse=function(n){var i,o,r,f,s,h,t,e,c=n.x,u;n.x=n.y;n.y=c;this.czech||(n.y*=-1,n.x*=-1);h=Math.sqrt(n.x*n.x+n.y*n.y);s=Math.atan2(n.y,n.x);f=s/Math.sin(this.s0);r=2*(Math.atan(Math.pow(this.ro0/h,1/this.n)*Math.tan(this.s0/2+this.s45))-this.s45);i=Math.asin(Math.cos(this.ad)*Math.sin(r)-Math.sin(this.ad)*Math.cos(r)*Math.cos(f));o=Math.asin(Math.cos(r)*Math.sin(f)/Math.cos(i));n.x=this.long0-o/this.alfa;t=i;e=0;u=0;do n.y=2*(Math.atan(Math.pow(this.k,-1/this.alfa)*Math.pow(Math.tan(i/2+this.s45),1/this.alfa)*Math.pow((1+this.e*Math.sin(t))/(1-this.e*Math.sin(t)),this.e/2))-this.s45),Math.abs(t-n.y)<1e-10&&(e=1),t=n.y,u+=1;while(0===e&&15>u);return u>=15?null:n};i.names=["Krovak","krovak"]},{"../common/adjust_lon":5}],48:[function(n,t,i){var u=Math.PI/2,o=Math.PI/4,r=1e-10,f=n("../common/qsfnz"),e=n("../common/adjust_lon");i.S_POLE=1;i.N_POLE=2;i.EQUIT=3;i.OBLIQ=4;i.init=function(){var t=Math.abs(this.lat0),n;if(this.mode=Math.abs(t-u)0)switch(this.qp=f(this.e,1),this.mmf=.5/(1-this.es),this.apa=this.authset(this.es),this.mode){case this.N_POLE:this.dd=1;break;case this.S_POLE:this.dd=1;break;case this.EQUIT:this.rq=Math.sqrt(.5*this.qp);this.dd=1/this.rq;this.xmf=1;this.ymf=.5*this.qp;break;case this.OBLIQ:this.rq=Math.sqrt(.5*this.qp);n=Math.sin(this.lat0);this.sinb1=f(this.e,n)/this.qp;this.cosb1=Math.sqrt(1-this.sinb1*this.sinb1);this.dd=Math.cos(this.lat0)/(Math.sqrt(1-this.es*n*n)*this.rq*this.cosb1);this.ymf=(this.xmf=this.rq)/this.dd;this.xmf*=this.dd}else this.mode===this.OBLIQ&&(this.sinph0=Math.sin(this.lat0),this.cosph0=Math.cos(this.lat0))};i.forward=function(n){var y,t,s,b,p,h,c,l,i,w,a=n.x,v=n.y;if(a=e(a-this.long0),this.sphere){if(p=Math.sin(v),w=Math.cos(v),s=Math.cos(a),this.mode===this.OBLIQ||this.mode===this.EQUIT){if(t=this.mode===this.EQUIT?1+w*s:1+this.sinph0*p+this.cosph0*w*s,r>=t)return null;t=Math.sqrt(2/t);y=t*w*Math.sin(a);t*=this.mode===this.EQUIT?p:this.cosph0*p-this.sinph0*w*s}else if(this.mode===this.N_POLE||this.mode===this.S_POLE){if(this.mode===this.N_POLE&&(s=-s),Math.abs(v+this.phi0)=0?(y=(i=Math.sqrt(h))*b,t=s*(this.mode===this.S_POLE?i:-i)):y=t=0}}return n.x=this.a*y+this.x0,n.y=this.a*t+this.y0,n};i.inverse=function(n){var p,i,y,h,a,c,o,f,t,s,v,l;if(n.x-=this.x0,n.y-=this.y0,f=n.x/this.a,t=n.y/this.a,this.sphere){if(v=0,l=0,s=Math.sqrt(f*f+t*t),i=.5*s,i>1)return null;switch(i=2*Math.asin(i),(this.mode===this.OBLIQ||this.mode===this.EQUIT)&&(l=Math.sin(i),v=Math.cos(i)),this.mode){case this.EQUIT:i=Math.abs(s)<=r?0:Math.asin(t*l/s);f*=l;t=v*s;break;case this.OBLIQ:i=Math.abs(s)<=r?this.phi0:Math.asin(v*this.sinph0+t*l*this.cosph0/s);f*=l*this.cosph0;t=(v-Math.sin(i)*this.sinph0)*s;break;case this.N_POLE:t=-t;i=u-i;break;case this.S_POLE:i-=u}p=0!==t||this.mode!==this.EQUIT&&this.mode!==this.OBLIQ?Math.atan2(f,t):0}else{if(o=0,this.mode===this.OBLIQ||this.mode===this.EQUIT){if(f/=this.dd,t*=this.dd,c=Math.sqrt(f*f+t*t),r>c)return n.x=0,n.y=this.phi0,n;h=2*Math.asin(.5*c/this.rq);y=Math.cos(h);f*=h=Math.sin(h);this.mode===this.OBLIQ?(o=y*this.sinb1+t*h*this.cosb1/c,a=this.qp*o,t=c*this.cosb1*y-t*this.sinb1*h):(o=t*h/c,a=this.qp*o,t=c*y)}else if(this.mode===this.N_POLE||this.mode===this.S_POLE){if(this.mode===this.N_POLE&&(t=-t),a=f*f+t*t,!a)return n.x=0,n.y=this.phi0,n;o=1-a/this.qp;this.mode===this.S_POLE&&(o=-o)}p=Math.atan2(f,t);i=this.authlat(Math.asin(o),this.apa)}return n.x=e(this.long0+p),n.y=i,n};i.P00=.33333333333333331;i.P01=.17222222222222222;i.P02=.10257936507936508;i.P10=.063888888888888884;i.P11=.0664021164021164;i.P20=.016415012942191543;i.authset=function(n){var t,i=[];return i[0]=n*this.P00,t=n*n,i[0]+=t*this.P01,i[1]=t*this.P10,t*=n,i[0]+=t*this.P02,i[1]+=t*this.P11,i[2]=t*this.P20,i};i.authlat=function(n,t){var i=n+n;return n+t[0]*Math.sin(i)+t[1]*Math.sin(i+i)+t[2]*Math.sin(i+i+i)};i.names=["Lambert Azimuthal Equal Area","Lambert_Azimuthal_Equal_Area","laea"]},{"../common/adjust_lon":5,"../common/qsfnz":20}],49:[function(n,t,i){var r=1e-10,e=n("../common/msfnz"),u=n("../common/tsfnz"),f=Math.PI/2,s=n("../common/sign"),o=n("../common/adjust_lon"),h=n("../common/phi2z");i.init=function(){var t;if(this.lat2||(this.lat2=this.lat1),this.k0||(this.k0=1),this.x0=this.x0||0,this.y0=this.y0||0,!(Math.abs(this.lat1+this.lat2)r?Math.log(i/c)/Math.log(f/l):n;isNaN(this.ns)&&(this.ns=n);this.f0=i/(this.ns*Math.pow(f,this.ns));this.rh=this.a*this.f0*Math.pow(a,this.ns);this.title||(this.title="Lambert Conformal Conic")}};i.forward=function(n){var l=n.x,t=n.y,c,i,e,h;if(Math.abs(2*Math.abs(t)-Math.PI)<=r&&(t=s(t)*(f-2*r)),e=Math.abs(Math.abs(t)-f),e>r)c=u(this.e,t,Math.sin(t)),i=this.a*this.f0*Math.pow(c,this.ns);else{if(e=t*this.ns,0>=e)return null;i=0}return h=this.ns*o(l-this.long0),n.x=this.k0*i*Math.sin(h)+this.x0,n.y=this.k0*(this.rh-i*Math.cos(h))+this.y0,n};i.inverse=function(n){var i,t,c,e,l,r=(n.x-this.x0)/this.k0,u=this.rh-(n.y-this.y0)/this.k0,s;if(this.ns>0?(i=Math.sqrt(r*r+u*u),t=1):(i=-Math.sqrt(r*r+u*u),t=-1),s=0,0!==i&&(s=Math.atan2(t*r,t*u)),0!==i||this.ns>0){if(t=1/this.ns,c=Math.pow(i/(this.a*this.f0),t),e=h(this.e,c),-9999===e)return null}else e=-f;return l=o(s/this.ns+this.long0),n.x=l,n.y=e,n};i.names=["Lambert Tangential Conformal Conic Projection","Lambert_Conformal_Conic","Lambert_Conformal_Conic_2SP","lcc"]},{"../common/adjust_lon":5,"../common/msfnz":15,"../common/phi2z":16,"../common/sign":21,"../common/tsfnz":24}],50:[function(n,t,i){function r(n){return n}i.init=function(){};i.forward=r;i.inverse=r;i.names=["longlat","identity"]},{}],51:[function(n,t,i){var e=n("../common/msfnz"),f=Math.PI/2,o=1e-10,r=57.295779513082323,u=n("../common/adjust_lon"),s=Math.PI/4,h=n("../common/tsfnz"),c=n("../common/phi2z");i.init=function(){var n=this.b/this.a;this.es=1-n*n;"x0"in this||(this.x0=0);"y0"in this||(this.y0=0);this.e=Math.sqrt(this.es);this.lat_ts?this.k0=this.sphere?Math.cos(this.lat_ts):e(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)):this.k0||(this.k0=this.k?this.k:1)};i.forward=function(n){var i=n.x,t=n.y,e,c,l,a;return t*r>90&&-90>t*r&&i*r>180&&-180>i*r?null:Math.abs(Math.abs(t)-f)<=o?null:(this.sphere?(e=this.x0+this.a*this.k0*u(i-this.long0),c=this.y0+this.a*this.k0*Math.log(Math.tan(s+.5*t))):(l=Math.sin(t),a=h(this.e,t,l),e=this.x0+this.a*this.k0*u(i-this.long0),c=this.y0-this.a*this.k0*Math.log(a)),n.x=e,n.y=c,n)};i.inverse=function(n){var i,t,o=n.x-this.x0,r=n.y-this.y0,e;if(this.sphere)t=f-2*Math.atan(Math.exp(-r/(this.a*this.k0)));else if(e=Math.exp(-r/(this.a*this.k0)),t=c(this.e,e),-9999===t)return null;return i=u(this.long0+o/(this.a*this.k0)),n.x=i,n.y=t,n};i.names=["Mercator","Popular Visualisation Pseudo Mercator","Mercator_1SP","Mercator_Auxiliary_Sphere","merc"]},{"../common/adjust_lon":5,"../common/msfnz":15,"../common/phi2z":16,"../common/tsfnz":24}],52:[function(n,t,i){var r=n("../common/adjust_lon");i.init=function(){};i.forward=function(n){var t=n.x,i=n.y,u=r(t-this.long0),f=this.x0+this.a*u,e=this.y0+this.a*Math.log(Math.tan(Math.PI/4+i/2.5))*1.25;return n.x=f,n.y=e,n};i.inverse=function(n){n.x-=this.x0;n.y-=this.y0;var t=r(this.long0+n.x/this.a),i=2.5*(Math.atan(Math.exp(.8*n.y/this.a))-Math.PI/4);return n.x=t,n.y=i,n};i.names=["Miller_Cylindrical","mill"]},{"../common/adjust_lon":5}],53:[function(n,t,i){var r=n("../common/adjust_lon"),u=1e-10;i.init=function(){};i.forward=function(n){for(var f,o,s,h=n.x,i=n.y,e=r(h-this.long0),t=i,c=Math.PI*Math.sin(i),l=0;;l++)if(f=-(t+Math.sin(t)-c)/(1+Math.cos(t)),t+=f,Math.abs(f).999999999999&&(t=.999999999999),u=Math.asin(t),i=r(this.long0+n.x/(.900316316158*this.a*Math.cos(u))),i<-Math.PI&&(i=-Math.PI),i>Math.PI&&(i=Math.PI),t=(2*u+Math.sin(2*u))/Math.PI,Math.abs(t)>1&&(t=1),f=Math.asin(t),n.x=i,n.y=f,n};i.names=["Mollweide","moll"]},{"../common/adjust_lon":5}],54:[function(n,t,i){var r=484813681109536e-20;i.iterations=1;i.init=function(){this.A=[];this.A[1]=.6399175073;this.A[2]=-.1358797613;this.A[3]=.063294409;this.A[4]=-.02526853;this.A[5]=.0117879;this.A[6]=-.0055161;this.A[7]=.0026906;this.A[8]=-.001333;this.A[9]=.00067;this.A[10]=-.00034;this.B_re=[];this.B_im=[];this.B_re[1]=.7557853228;this.B_im[1]=0;this.B_re[2]=.249204646;this.B_im[2]=.003371507;this.B_re[3]=-.001541739;this.B_im[3]=.04105856;this.B_re[4]=-.10162907;this.B_im[4]=.01727609;this.B_re[5]=-.26623489;this.B_im[5]=-.36249218;this.B_re[6]=-.6870983;this.B_im[6]=-1.1651967;this.C_re=[];this.C_im=[];this.C_re[1]=1.3231270439;this.C_im[1]=0;this.C_re[2]=-.577245789;this.C_im[2]=-.007809598;this.C_re[3]=.508307513;this.C_im[3]=-.112208952;this.C_re[4]=-.15094762;this.C_im[4]=.18200602;this.C_re[5]=1.01418179;this.C_im[5]=1.64497696;this.C_re[6]=1.9660549;this.C_im[6]=2.5127645;this.D=[];this.D[1]=1.5627014243;this.D[2]=.5185406398;this.D[3]=-.03333098;this.D[4]=-.1052906;this.D[5]=-.0368594;this.D[6]=.007317;this.D[7]=.0122;this.D[8]=.00394;this.D[9]=-.0013};i.forward=function(n){for(var v=n.x,y=n.y,p=y-this.lat0,w=v-this.long0,b=p/r*1e-5,k=w,o=1,s=0,t=1;10>=t;t++)o*=b,s+=this.A[t]*o;var h,c,l=s,a=k,i=1,u=0,f=0,e=0;for(t=1;6>=t;t++)h=i*l-u*a,c=u*l+i*a,i=h,u=c,f=f+this.B_re[t]*i-this.B_im[t]*u,e=e+this.B_im[t]*i+this.B_re[t]*u;return n.x=e*this.a+this.x0,n.y=f*this.a+this.y0,n};i.inverse=function(n){for(var d,g,ut=n.x,ft=n.y,et=ut-this.x0,ot=ft-this.y0,v=ot/this.a,y=et/this.a,h=1,c=0,f=0,e=0,p,o,s,k,it,rt,t=1;6>=t;t++)d=h*v-c*y,g=c*v+h*y,h=d,c=g,f=f+this.C_re[t]*h-this.C_im[t]*c,e=e+this.C_im[t]*h+this.C_re[t]*c;for(p=0;p=t;t++)l=i*f-u*e,a=u*f+i*e,i=l,u=a,w+=(t-1)*(this.B_re[t]*i-this.B_im[t]*u),b+=(t-1)*(this.B_im[t]*i+this.B_re[t]*u);for(i=1,u=0,o=this.B_re[1],s=this.B_im[1],t=2;6>=t;t++)l=i*f-u*e,a=u*f+i*e,i=l,u=a,o+=t*(this.B_re[t]*i-this.B_im[t]*u),s+=t*(this.B_im[t]*i+this.B_re[t]*u);k=o*o+s*s;f=(w*o+b*s)/k;e=(b*o-w*s)/k}var st=f,ht=e,nt=1,tt=0;for(t=1;9>=t;t++)nt*=st,tt+=this.D[t]*nt;return it=this.lat0+tt*r*1e5,rt=this.long0+ht,n.x=rt,n.y=it,n};i.names=["New_Zealand_Map_Grid","nzmg"]},{}],55:[function(n,t,i){var f=n("../common/tsfnz"),r=n("../common/adjust_lon"),o=n("../common/phi2z"),e=Math.PI/2,s=Math.PI/4,u=1e-10;i.init=function(){var o,n,t,s,l,a,i,u,v;this.no_off=this.no_off||!1;this.no_rot=this.no_rot||!1;isNaN(this.k0)&&(this.k0=1);var h=Math.sin(this.lat0),c=Math.cos(this.lat0),e=this.e*h;if(this.bl=Math.sqrt(1+this.es/(1-this.es)*Math.pow(c,4)),this.al=this.a*this.bl*this.k0*Math.sqrt(1-this.es)/(1-e*e),o=f(this.e,this.lat0,h),n=this.bl/c*Math.sqrt((1-this.es)/(1-e*e)),1>n*n&&(n=1),isNaN(this.longc)){l=f(this.e,this.lat1,Math.sin(this.lat1));a=f(this.e,this.lat2,Math.sin(this.lat2));this.el=this.lat0>=0?(n+Math.sqrt(n*n-1))*Math.pow(o,this.bl):(n-Math.sqrt(n*n-1))*Math.pow(o,this.bl);i=Math.pow(l,this.bl);u=Math.pow(a,this.bl);t=this.el/i;s=.5*(t-1/t);var y=(this.el*this.el-u*i)/(this.el*this.el+u*i),p=(u-i)/(u+i),w=r(this.long1-this.long2);this.long0=.5*(this.long1+this.long2)-Math.atan(y*Math.tan(.5*this.bl*w)/p)/this.bl;this.long0=r(this.long0);v=r(this.long1-this.long0);this.gamma0=Math.atan(Math.sin(this.bl*v)/s);this.alpha=Math.asin(n*Math.sin(this.gamma0))}else t=this.lat0>=0?n+Math.sqrt(n*n-1):n-Math.sqrt(n*n-1),this.el=t*Math.pow(o,this.bl),s=.5*(t-1/t),this.gamma0=Math.asin(Math.sin(this.alpha)/n),this.long0=this.longc-Math.asin(s*Math.tan(this.gamma0))/this.bl;this.uc=this.no_off?0:this.lat0>=0?this.al/this.bl*Math.atan2(Math.sqrt(n*n-1),Math.cos(this.alpha)):-1*this.al/this.bl*Math.atan2(Math.sqrt(n*n-1),Math.cos(this.alpha))};i.forward=function(n){var t,i,l,p=n.x,o=n.y,h=r(p-this.long0);if(Math.abs(Math.abs(o)-e)<=u)l=o>0?-1:1,i=this.al/this.bl*Math.log(Math.tan(s+l*this.gamma0*.5)),t=-1*l*e*this.al/this.bl;else{var w=f(this.e,o,Math.sin(o)),c=this.el/Math.pow(w,this.bl),v=.5*(c-1/c),b=.5*(c+1/c),y=Math.sin(this.bl*h),a=(v*Math.sin(this.gamma0)-y*Math.cos(this.gamma0))/b;i=Math.abs(Math.abs(a)-1)<=u?Number.POSITIVE_INFINITY:.5*this.al*Math.log((1-a)/(1+a))/this.bl;t=Math.abs(Math.cos(this.bl*h))<=u?this.al*this.bl*h:this.al*Math.atan2(v*Math.cos(this.gamma0)+y*Math.sin(this.gamma0),Math.cos(this.bl*h))/this.bl}return this.no_rot?(n.x=this.x0+t,n.y=this.y0+i):(t-=this.uc,n.x=this.x0+i*Math.cos(this.alpha)+t*Math.sin(this.alpha),n.y=this.y0+t*Math.cos(this.alpha)-i*Math.sin(this.alpha)),n};i.inverse=function(n){var t,s;this.no_rot?(s=n.y-this.y0,t=n.x-this.x0):(s=(n.x-this.x0)*Math.cos(this.alpha)-(n.y-this.y0)*Math.sin(this.alpha),t=(n.y-this.y0)*Math.cos(this.alpha)+(n.x-this.x0)*Math.sin(this.alpha),t+=this.uc);var i=Math.exp(-1*this.bl*s/this.al),h=.5*(i-1/i),l=.5*(i+1/i),c=Math.sin(this.bl*t/this.al),f=(c*Math.cos(this.gamma0)+h*Math.sin(this.gamma0))/l,a=Math.pow(this.el/Math.sqrt((1+f)/(1-f)),1/this.bl);return Math.abs(f-1)s?(s=Math.sin(t),h=this.long0+n.x*Math.sqrt(1-this.es*s*s)/(this.a*Math.cos(t)),i=r(h)):u>s-f&&(i=this.long0)),n.x=i,n.y=t,n};i.names=["Sinusoidal","sinu"]},{"../common/adjust_lat":4,"../common/adjust_lon":5,"../common/asinz":6,"../common/pj_enfn":17,"../common/pj_inv_mlfn":18,"../common/pj_mlfn":19}],58:[function(n,t,i){i.init=function(){var i=this.lat0;this.lambda0=this.long0;var t=Math.sin(i),f=this.a,e=this.rf,u=1/e,n=2*u-Math.pow(u,2),r=this.e=Math.sqrt(n);this.R=this.k0*f*Math.sqrt(1-n)/(1-n*Math.pow(t,2));this.alpha=Math.sqrt(1+n/(1-n)*Math.pow(Math.cos(i),4));this.b0=Math.asin(t/this.alpha);var o=Math.log(Math.tan(Math.PI/4+this.b0/2)),s=Math.log(Math.tan(Math.PI/4+i/2)),h=Math.log((1+r*t)/(1-r*t));this.K=o-this.alpha*s+this.alpha*r/2*h};i.forward=function(n){var u=Math.log(Math.tan(Math.PI/4-n.y/2)),f=this.e/2*Math.log((1+this.e*Math.sin(n.y))/(1-this.e*Math.sin(n.y))),e=-this.alpha*(u+f)+this.K,t=2*(Math.atan(Math.exp(e))-Math.PI/4),i=this.alpha*(n.x-this.lambda0),o=Math.atan(Math.sin(i)/(Math.sin(this.b0)*Math.tan(t)+Math.cos(this.b0)*Math.cos(i))),r=Math.asin(Math.cos(this.b0)*Math.sin(t)-Math.sin(this.b0)*Math.cos(t)*Math.cos(i));return n.y=this.R/2*Math.log((1+Math.sin(r))/(1-Math.sin(r)))+this.y0,n.x=this.R*o+this.x0,n};i.inverse=function(n){for(var o=n.x-this.x0,s=n.y-this.y0,i=o/this.R,r=2*(Math.atan(Math.exp(s/this.R))-Math.PI/4),u=Math.asin(Math.cos(this.b0)*Math.sin(r)+Math.sin(this.b0)*Math.cos(r)*Math.cos(i)),h=Math.atan(Math.sin(i)/(Math.cos(this.b0)*Math.cos(i)-Math.sin(this.b0)*Math.tan(r))),c=this.lambda0+h/this.alpha,f=0,t=u,e=-1e3,l=0;Math.abs(t-e)>1e-7;){if(++l>20)return;f=1/this.alpha*(Math.log(Math.tan(Math.PI/4+u/2))-this.K)+this.e*Math.log(Math.tan(Math.PI/4+Math.asin(this.e*Math.sin(t))/2));e=t;t=2*Math.atan(Math.exp(f))-Math.PI/2}return n.x=c,n.y=t,n};i.names=["somerc"]},{}],59:[function(n,t,i){var u=Math.PI/2,r=1e-10,h=n("../common/sign"),e=n("../common/msfnz"),o=n("../common/tsfnz"),s=n("../common/phi2z"),f=n("../common/adjust_lon");i.ssfn_=function(n,t,i){return t*=i,Math.tan(.5*(u+n))*Math.pow((1-t)/(1+t),.5*i)};i.init=function(){this.coslat0=Math.cos(this.lat0);this.sinlat0=Math.sin(this.lat0);this.sphere?1===this.k0&&!isNaN(this.lat_ts)&&Math.abs(this.coslat0)<=r&&(this.k0=.5*(1+h(this.lat0)*Math.sin(this.lat_ts))):(Math.abs(this.coslat0)<=r&&(this.con=this.lat0>0?1:-1),this.cons=Math.sqrt(Math.pow(1+this.e,1+this.e)*Math.pow(1-this.e,1-this.e)),1===this.k0&&!isNaN(this.lat_ts)&&Math.abs(this.coslat0)<=r&&(this.k0=.5*this.cons*e(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts))/o(this.e,this.con*this.lat_ts,this.con*Math.sin(this.lat_ts))),this.ms1=e(this.e,this.sinlat0,this.coslat0),this.X0=2*Math.atan(this.ssfn_(this.lat0,this.sinlat0,this.e))-u,this.cosX0=Math.cos(this.X0),this.sinX0=Math.sin(this.X0))};i.forward=function(n){var t,a,h,e,p,v,c=n.x,s=n.y,l=Math.sin(s),y=Math.cos(s),i=f(c-this.long0);return Math.abs(Math.abs(c-this.long0)-Math.PI)<=r&&Math.abs(s+this.lat0)<=r?(n.x=NaN,n.y=NaN,n):this.sphere?(t=2*this.k0/(1+this.sinlat0*l+this.coslat0*y*Math.cos(i)),n.x=this.a*t*y*Math.sin(i)+this.x0,n.y=this.a*t*(this.coslat0*l-this.sinlat0*y*Math.cos(i))+this.y0,n):(a=2*Math.atan(this.ssfn_(s,l,this.e))-u,e=Math.cos(a),h=Math.sin(a),Math.abs(this.coslat0)<=r?(p=o(this.e,s*this.con,this.con*l),v=2*this.a*this.k0*p/this.cons,n.x=this.x0+v*Math.sin(c-this.long0),n.y=this.y0-this.con*v*Math.cos(c-this.long0),n):(Math.abs(this.sinlat0)=t?(n.x=i,n.y=e,n):(e=Math.asin(Math.cos(h)*this.sinlat0+n.y*Math.sin(h)*this.coslat0/t),i=f(Math.abs(this.coslat0)0?this.long0+Math.atan2(n.x,-1*n.y):this.long0+Math.atan2(n.x,n.y):this.long0+Math.atan2(n.x*Math.sin(h),t*this.coslat0*Math.cos(h)-n.y*this.sinlat0*Math.sin(h))),n.x=i,n.y=e,n);if(Math.abs(this.coslat0)<=r){if(r>=t)return e=this.lat0,i=this.long0,n.x=i,n.y=e,n;n.x*=this.con;n.y*=this.con;l=t*this.cons/(2*this.a*this.k0);e=this.con*s(this.e,l);i=this.con*f(this.con*this.long0+Math.atan2(n.x,-1*n.y))}else o=2*Math.atan(t*this.cosX0/(2*this.a*this.k0*this.ms1)),i=this.long0,r>=t?c=this.X0:(c=Math.asin(Math.cos(o)*this.sinX0+n.y*Math.sin(o)*this.cosX0/t),i=f(this.long0+Math.atan2(n.x*Math.sin(o),t*this.cosX0*Math.cos(o)-n.y*this.sinX0*Math.sin(o)))),e=-1*s(this.e,Math.tan(.5*(u+c)));return n.x=i,n.y=e,n};i.names=["stere"]},{"../common/adjust_lon":5,"../common/msfnz":15,"../common/phi2z":16,"../common/sign":21,"../common/tsfnz":24}],60:[function(n,t,i){var r=n("./gauss"),u=n("../common/adjust_lon");i.init=function(){r.init.apply(this);this.rc&&(this.sinc0=Math.sin(this.phic0),this.cosc0=Math.cos(this.phic0),this.R2=2*this.rc,this.title||(this.title="Oblique Stereographic Alternative"))};i.forward=function(n){var i,t,f,e;return n.x=u(n.x-this.long0),r.forward.apply(this,[n]),i=Math.sin(n.y),t=Math.cos(n.y),f=Math.cos(n.x),e=this.k0*this.R2/(1+this.sinc0*i+this.cosc0*t*f),n.x=e*t*Math.sin(n.x),n.y=e*(this.cosc0*i-this.sinc0*t*f),n.x=this.a*n.x+this.x0,n.y=this.a*n.y+this.y0,n};i.inverse=function(n){var t,f,e,o,i,s;return(n.x=(n.x-this.x0)/this.a,n.y=(n.y-this.y0)/this.a,n.x/=this.k0,n.y/=this.k0,i=Math.sqrt(n.x*n.x+n.y*n.y))?(s=2*Math.atan2(i,this.R2),t=Math.sin(s),f=Math.cos(s),o=Math.asin(f*this.sinc0+n.y*t*this.cosc0/i),e=Math.atan2(n.x*t,i*this.cosc0*f-n.y*this.sinc0*t)):(o=this.phic0,e=0),n.x=e,n.y=o,r.inverse.apply(this,[n]),n.x=u(n.x+this.long0),n};i.names=["Stereographic_North_Pole","Oblique_Stereographic","Polar_Stereographic","sterea","Oblique Stereographic Alternative"]},{"../common/adjust_lon":5,"./gauss":45}],61:[function(n,t,i){var e=n("../common/e0fn"),o=n("../common/e1fn"),s=n("../common/e2fn"),h=n("../common/e3fn"),u=n("../common/mlfn"),r=n("../common/adjust_lon"),f=Math.PI/2,c=1e-10,l=n("../common/sign"),a=n("../common/asinz");i.init=function(){this.e0=e(this.es);this.e1=o(this.es);this.e2=s(this.es);this.e3=h(this.es);this.ml0=this.a*u(this.e0,this.e1,this.e2,this.e3,this.lat0)};i.forward=function(n){var t,c,l,b=n.x,e=n.y,a=r(b-this.long0),k=Math.sin(e),h=Math.cos(e),i,v,w;if(this.sphere){if(i=h*Math.sin(a),Math.abs(Math.abs(i)-1)<1e-10)return 93;c=.5*this.a*this.k0*Math.log((1+i)/(1-i));t=Math.acos(h*Math.cos(a)/Math.sqrt(1-i*i));0>e&&(t=-t);l=this.a*this.k0*(t-this.lat0)}else{var y=h*a,o=Math.pow(y,2),s=this.ep2*Math.pow(h,2),p=Math.tan(e),f=Math.pow(p,2);t=1-this.es*Math.pow(k,2);v=this.a/Math.sqrt(t);w=this.a*u(this.e0,this.e1,this.e2,this.e3,e);c=this.k0*v*y*(1+o/6*(1-f+s+o/20*(5-18*f+Math.pow(f,2)+72*s-58*this.ep2)))+this.x0;l=this.k0*(w-this.ml0+v*p*o*(.5+o/24*(5-f+9*s+4*Math.pow(s,2)+o/30*(61-58*f+Math.pow(f,2)+600*s-330*this.ep2))))+this.y0}return n.x=c,n.y=l,n};i.inverse=function(n){var i,t,p,w,u,h,tt,b;if(this.sphere){var g=Math.exp(n.x/(this.a*this.k0)),v=.5*(g-1/g),nt=this.lat0+n.y/(this.a*this.k0),y=Math.cos(nt);i=Math.sqrt((1-y*y)/(1+v*v));u=a(i);0>nt&&(u=-u);h=0===v&&0===y?this.long0:r(Math.atan2(v,y)+this.long0)}else{for(tt=n.x-this.x0,b=n.y-this.y0,i=(this.ml0+b/this.k0)/this.a,t=i,w=0;!0&&(p=(i+this.e1*Math.sin(2*t)-this.e2*Math.sin(4*t)+this.e3*Math.sin(6*t))/this.e0-t,t+=p,!(Math.abs(p)<=c));w++)if(w>=6)return 95;if(Math.abs(t)=0?this.y0+Math.PI*this.R*Math.tan(.5*l):this.y0+Math.PI*this.R*-Math.tan(.5*l));var y=.5*Math.abs(Math.PI/c-c/Math.PI),i=y*y,b=Math.sin(l),k=Math.cos(l),o=k/(b+k-1),g=o*o,w=o*(2/b-1),t=w*w,s=Math.PI*this.R*(y*(o-t)+Math.sqrt(i*(o-t)*(o-t)-(t+i)*(g-t)))/(t+i);return 0>c&&(s=-s),a=this.x0+s,p=i+o,s=Math.PI*this.R*(w*p-y*Math.sqrt((t+i)*(i+1)-p*p))/(t+i),v=h>=0?this.y0+s:this.y0-s,n.x=a,n.y=v,n};i.inverse=function(n){var v,y,f,t,s,h,e,i,l,c,o,a,p;return n.x-=this.x0,n.y-=this.y0,o=Math.PI*this.R,f=n.x/o,t=n.y/o,s=f*f+t*t,h=-Math.abs(t)*(1+s),e=h-2*t*t+f*f,i=-2*h+1+2*t*t+s*s,p=t*t/i+(2*e*e*e/i/i/i-9*h*e/i/i)/27,l=(h-e*e/3/i)/i,c=2*Math.sqrt(-l/3),o=3*p/l/c,Math.abs(o)>1&&(o=o>=0?1:-1),a=Math.acos(o)/3,y=n.y>=0?(-c*Math.cos(a+Math.PI/3)-e/3/i)*Math.PI:-(-c*Math.cos(a+Math.PI/3)-e/3/i)*Math.PI,v=Math.abs(f)-1?(t[i]={name:n[0].toLowerCase(),convert:n[1]},3===n.length&&(t[i].auth=n[2])):"SPHEROID"===i?(t[i]={name:n[0],a:n[1],rf:n[2]},4===n.length&&(t[i].auth=n[3])):["GEOGCS","GEOCCS","DATUM","VERT_CS","COMPD_CS","LOCAL_CS","FITTED_CS","LOCAL_DATUM"].indexOf(i)>-1?(n[0]=["name",n[0]],u(t,i,n)):n.every(function(n){return Array.isArray(n)})?u(t,i,n):r(n,t[i])):t[i]=!0,void 0):void(t[n]=!0)}function e(n,t){var i=t[0],r=t[1];!(i in n)&&r in n&&(n[i]=n[r],3===t.length&&(n[i]=t[2](n[i])))}function i(n){return n*s}function o(n){function t(t){var i=n.to_meter||1;return parseFloat(t,10)*i}"GEOGCS"===n.type?n.projName="longlat":"LOCAL_CS"===n.type?(n.projName="identity",n.local=!0):n.projName="object"==typeof n.PROJECTION?Object.keys(n.PROJECTION)[0]:n.PROJECTION;n.UNIT&&(n.units=n.UNIT.name.toLowerCase(),"metre"===n.units&&(n.units="meter"),n.UNIT.convert&&(n.to_meter=parseFloat(n.UNIT.convert,10)));n.GEOGCS&&(n.datumCode=n.GEOGCS.DATUM?n.GEOGCS.DATUM.name.toLowerCase():n.GEOGCS.name.toLowerCase(),"d_"===n.datumCode.slice(0,2)&&(n.datumCode=n.datumCode.slice(2)),("new_zealand_geodetic_datum_1949"===n.datumCode||"new_zealand_1949"===n.datumCode)&&(n.datumCode="nzgd49"),"wgs_1984"===n.datumCode&&("Mercator_Auxiliary_Sphere"===n.PROJECTION&&(n.sphere=!0),n.datumCode="wgs84"),"_ferro"===n.datumCode.slice(-6)&&(n.datumCode=n.datumCode.slice(0,-6)),"_jakarta"===n.datumCode.slice(-8)&&(n.datumCode=n.datumCode.slice(0,-8)),~n.datumCode.indexOf("belge")&&(n.datumCode="rnb72"),n.GEOGCS.DATUM&&n.GEOGCS.DATUM.SPHEROID&&(n.ellps=n.GEOGCS.DATUM.SPHEROID.name.replace("_19","").replace(/[Cc]larke\_18/,"clrk"),"international"===n.ellps.toLowerCase().slice(0,13)&&(n.ellps="intl"),n.a=n.GEOGCS.DATUM.SPHEROID.a,n.rf=parseFloat(n.GEOGCS.DATUM.SPHEROID.rf,10)),~n.datumCode.indexOf("osgb_1936")&&(n.datumCode="osgb36"));n.b&&!isFinite(n.b)&&(n.b=n.a);var r=function(t){return e(n,t)},u=[["standard_parallel_1","Standard_Parallel_1"],["standard_parallel_2","Standard_Parallel_2"],["false_easting","False_Easting"],["false_northing","False_Northing"],["central_meridian","Central_Meridian"],["latitude_of_origin","Latitude_Of_Origin"],["scale_factor","Scale_Factor"],["k0","scale_factor"],["latitude_of_center","Latitude_of_center"],["lat0","latitude_of_center",i],["longitude_of_center","Longitude_Of_Center"],["longc","longitude_of_center",i],["x0","false_easting",t],["y0","false_northing",t],["long0","central_meridian",i],["lat0","latitude_of_origin",i],["lat0","standard_parallel_1",i],["lat1","standard_parallel_1",i],["lat2","standard_parallel_2",i],["alpha","azimuth",i],["srsCode","name"]];u.forEach(r);n.long0||!n.longc||"Albers_Conic_Equal_Area"!==n.PROJECTION&&"Lambert_Azimuthal_Equal_Area"!==n.PROJECTION||(n.long0=n.longc)}var s=.017453292519943295,f=n("./extend");t.exports=function(n,t){var i=JSON.parse((","+n).replace(/\s*\,\s*([A-Z_0-9]+?)(\[)/g,',["$1",').slice(1).replace(/\s*\,\s*([A-Z_0-9]+?)\]/g,',"$1"]')),e=i.shift(),s=i.shift(),u;return i.unshift(["name",s]),i.unshift(["type",e]),i.unshift("output"),u={},r(i,u),o(u.output),f(t,u.output)}},{"./extend":33}],66:[function(n,t,i){function s(n){return n*(Math.PI/180)}function h(n){return 180*(n/Math.PI)}function p(n){var v,c,l,f,o,i,y,p,e,h=n.lat,r=n.lon,b=6378137,t=.00669438,k=.9996,u=s(h),g=s(r),d,a;return e=Math.floor((r+180)/6)+1,180===r&&(e=60),h>=56&&64>h&&r>=3&&12>r&&(e=32),h>=72&&84>h&&(r>=0&&9>r?e=31:r>=9&&21>r?e=33:r>=21&&33>r?e=35:r>=33&&42>r&&(e=37)),v=6*(e-1)-177,p=s(v),c=t/(1-t),l=b/Math.sqrt(1-t*Math.sin(u)*Math.sin(u)),f=Math.tan(u)*Math.tan(u),o=c*Math.cos(u)*Math.cos(u),i=Math.cos(u)*(g-p),y=b*((1-t/4-3*t*t/64-5*t*t*t/256)*u-(3*t/8+3*t*t/32+45*t*t*t/1024)*Math.sin(2*u)+(15*t*t/256+45*t*t*t/1024)*Math.sin(4*u)-35*t*t*t/3072*Math.sin(6*u)),d=k*l*(i+(1-f+o)*i*i*i/6+(5-18*f+f*f+72*o-58*c)*i*i*i*i*i/120)+5e5,a=k*(y+l*Math.tan(u)*(i*i/2+(5-f+9*o+4*o*o)*i*i*i*i/24+(61-58*f+f*f+600*o-330*c)*i*i*i*i*i*i/720)),0>h&&(a+=1e7),{northing:Math.round(a),easting:Math.round(d),zoneNumber:e,zoneLetter:w(h)}}function c(n){var it=n.northing,rt=n.easting,ut=n.zoneLetter,v=n.zoneNumber,l,a,w,b;if(0>v||v>60)return null;var o,y,e,f,k,t,d,g,s,u,nt=.9996,p=6378137,i=.00669438,r=(1-Math.sqrt(1-i))/(1+Math.sqrt(1-i)),ft=rt-5e5,tt=it;return"N">ut&&(tt-=1e7),g=6*(v-1)-177,o=i/(1-i),d=tt/nt,s=d/(p*(1-i/4-3*i*i/64-5*i*i*i/256)),u=s+(3*r/2-27*r*r*r/32)*Math.sin(2*s)+(21*r*r/16-55*r*r*r*r/32)*Math.sin(4*s)+151*r*r*r/96*Math.sin(6*s),y=p/Math.sqrt(1-i*Math.sin(u)*Math.sin(u)),e=Math.tan(u)*Math.tan(u),f=o*Math.cos(u)*Math.cos(u),k=p*(1-i)/Math.pow(1-i*Math.sin(u)*Math.sin(u),1.5),t=ft/(y*nt),l=u-y*Math.tan(u)/k*(t*t/2-(5+3*e+10*f-4*f*f-9*o)*t*t*t*t/24+(61+90*e+298*f+45*e*e-252*o-3*f*f)*t*t*t*t*t*t/720),l=h(l),a=(t-(1+2*e+f)*t*t*t/6+(5-2*f+28*e-3*f*f+8*o+24*e*e)*t*t*t*t*t/120)/Math.cos(u),a=g+h(a),n.accuracy?(b=c({northing:n.northing+n.accuracy,easting:n.easting+n.accuracy,zoneLetter:n.zoneLetter,zoneNumber:n.zoneNumber}),w={top:b.lat,right:b.lon,bottom:l,left:a}):w={lat:l,lon:a},w}function w(n){var t="Z";return 84>=n&&n>=72?t="X":72>n&&n>=64?t="W":64>n&&n>=56?t="V":56>n&&n>=48?t="U":48>n&&n>=40?t="T":40>n&&n>=32?t="S":32>n&&n>=24?t="R":24>n&&n>=16?t="Q":16>n&&n>=8?t="P":8>n&&n>=0?t="N":0>n&&n>=-8?t="M":-8>n&&n>=-16?t="L":-16>n&&n>=-24?t="K":-24>n&&n>=-32?t="J":-32>n&&n>=-40?t="H":-40>n&&n>=-48?t="G":-48>n&&n>=-56?t="F":-56>n&&n>=-64?t="E":-64>n&&n>=-72?t="D":-72>n&&n>=-80&&(t="C"),t}function b(n,t){var i=""+n.easting,r=""+n.northing;return n.zoneNumber+n.zoneLetter+k(n.easting,n.northing,n.zoneNumber)+i.substr(i.length-5,t)+r.substr(r.length-5,t)}function k(n,t,i){var r=l(i),u=Math.floor(n/1e5),f=Math.floor(t/1e5)%20;return d(u,f,r)}function l(n){var t=n%a;return 0===t&&(t=a),t}function d(n,t,i){var p=i-1,l=v.charCodeAt(p),a=y.charCodeAt(p),s=l+n-1,h=a+t,c=!1;return s>o&&(s=s-o+f-1,c=!0),(s===r||r>l&&s>r||(s>r||r>l)&&c)&&s++,(s===u||u>l&&s>u||(s>u||u>l)&&c)&&(s++,s===r&&s++),s>o&&(s=s-o+f-1),h>e?(h=h-e+f-1,c=!0):c=!1,(h===r||r>a&&h>r||(h>r||r>a)&&c)&&h++,(h===u||u>a&&h>u||(h>u||u>a)&&c)&&(h++,h===r&&h++),h>e&&(h=h-e+f-1),String.fromCharCode(s)+String.fromCharCode(h)}function g(n){var e,i,s;if(n&&0===n.length)throw"MGRSPoint coverting from nothing";for(var h,c=n.length,f=null,a="",t=0;!/[A-Z]/.test(h=n.charAt(t));){if(t>=2)throw"MGRSPoint bad conversion from: "+n;a+=h;t++}if(e=parseInt(a,10),0===t||t+3>c)throw"MGRSPoint bad conversion from: "+n;if(i=n.charAt(t++),"A">=i||"B"===i||"Y"===i||i>="Z"||"I"===i||"O"===i)throw"MGRSPoint zone letter "+i+" not handled: "+n;f=n.substring(t,t+=2);for(var v=l(e),g=nt(f.charAt(0),v),o=tt(f.charAt(1),v);o0&&(r=1e5/Math.pow(10,u),y=n.substring(t,t+u),k=parseFloat(y)*r,p=n.substring(t+u),d=parseFloat(p)*r),w=k+g,b=d+o,{easting:w,northing:b,zoneLetter:i,zoneNumber:e,accuracy:r}}function nt(n,t){for(var i=v.charCodeAt(t-1),e=1e5,s=!1;i!==n.charCodeAt(0);){if(i++,i===r&&i++,i===u&&i++,i>o){if(s)throw"Bad character: "+n;i=f;s=!0}e+=1e5}return e}function tt(n,t){if(n>"V")throw"MGRSPoint given invalid Northing "+n;for(var i=y.charCodeAt(t-1),o=0,s=!1;i!==n.charCodeAt(0);){if(i++,i===r&&i++,i===u&&i++,i>e){if(s)throw"Bad character: "+n;i=f;s=!0}o+=1e5}return o}function it(n){var t;switch(n){case"C":t=11e5;break;case"D":t=2e6;break;case"E":t=28e5;break;case"F":t=37e5;break;case"G":t=46e5;break;case"H":t=55e5;break;case"J":t=64e5;break;case"K":t=73e5;break;case"L":t=82e5;break;case"M":t=91e5;break;case"N":t=0;break;case"P":t=8e5;break;case"Q":t=17e5;break;case"R":t=26e5;break;case"S":t=35e5;break;case"T":t=44e5;break;case"U":t=53e5;break;case"V":t=62e5;break;case"W":t=7e6;break;case"X":t=79e5;break;default:t=-1}if(t>=0)return t;throw"Invalid zone letter: "+n;}var a=6,v="AJSAJS",y="AFAFAF",f=65,r=73,u=79,e=86,o=90;i.forward=function(n,t){return t=t||5,b(p({lat:n[1],lon:n[0]}),t)};i.inverse=function(n){var t=c(g(n.toUpperCase()));return[t.left,t.bottom,t.right,t.top]};i.toPoint=function(n){var t=i.inverse(n);return[(t[2]+t[0])/2,(t[3]+t[1])/2]}},{}],67:[function(n,t){t.exports={name:"proj4",version:"2.2.1",description:"Proj4js is a JavaScript library to transform point coordinates from one coordinate system to another, including datum transformations.",main:"lib/index.js",directories:{test:"test",doc:"docs"},scripts:{test:"./node_modules/istanbul/lib/cli.js test ./node_modules/mocha/bin/_mocha test/test.js"},repository:{type:"git",url:"git://github.com/proj4js/proj4js.git"},author:"",license:"MIT",jam:{main:"dist/proj4.js",include:["dist/proj4.js","README.md","AUTHORS","LICENSE.md"]},devDependencies:{"grunt-cli":"~0.1.13",grunt:"~0.4.2","grunt-contrib-connect":"~0.6.0","grunt-contrib-jshint":"~0.8.0",chai:"~1.8.1",mocha:"~1.17.1","grunt-mocha-phantomjs":"~0.4.0",browserify:"~3.24.5","grunt-browserify":"~1.3.0","grunt-contrib-uglify":"~0.3.2",curl:"git://github.com/cujojs/curl.git",istanbul:"~0.2.4",tin:"~0.4.0"},dependencies:{mgrs:"0.0.0"}}},{}],"./includedProjections":[function(n,t){t.exports=n("gWUPNW")},{}],gWUPNW:[function(n,t){var i=[n("./lib/projections/tmerc"),n("./lib/projections/utm"),n("./lib/projections/sterea"),n("./lib/projections/stere"),n("./lib/projections/somerc"),n("./lib/projections/omerc"),n("./lib/projections/lcc"),n("./lib/projections/krovak"),n("./lib/projections/cass"),n("./lib/projections/laea"),n("./lib/projections/aea"),n("./lib/projections/gnom"),n("./lib/projections/cea"),n("./lib/projections/eqc"),n("./lib/projections/poly"),n("./lib/projections/nzmg"),n("./lib/projections/mill"),n("./lib/projections/sinu"),n("./lib/projections/moll"),n("./lib/projections/eqdc"),n("./lib/projections/vandg"),n("./lib/projections/aeqd")];t.exports=function(n){i.forEach(function(t){n.Proj.projections.add(t)})}},{"./lib/projections/aea":39,"./lib/projections/aeqd":40,"./lib/projections/cass":41,"./lib/projections/cea":42,"./lib/projections/eqc":43,"./lib/projections/eqdc":44,"./lib/projections/gnom":46,"./lib/projections/krovak":47,"./lib/projections/laea":48,"./lib/projections/lcc":49,"./lib/projections/mill":52,"./lib/projections/moll":53,"./lib/projections/nzmg":54,"./lib/projections/omerc":55,"./lib/projections/poly":56,"./lib/projections/sinu":57,"./lib/projections/somerc":58,"./lib/projections/stere":59,"./lib/projections/sterea":60,"./lib/projections/tmerc":61,"./lib/projections/utm":62,"./lib/projections/vandg":63}]},{},[35])(35)}),function(){function t(n){for(var t=[],i=[],r=0;rt!=u[f][0]>t&&n<(u[f][1]-u[r][1])*(t-u[r][0])/(u[f][0]-u[r][0])+u[r][1]&&(e=!e);return e}var n=this.gju={};typeof module!="undefined"&&module.exports&&(module.exports=n);n.lineStringsIntersect=function(n,t){for(var s=[],f,o,l,u=0;u<=n.coordinates.length-2;++u)for(f=0;f<=t.coordinates.length-2;++f){var i={x:n.coordinates[u][1],y:n.coordinates[u][0]},e={x:n.coordinates[u+1][1],y:n.coordinates[u+1][0]},r={x:t.coordinates[f][1],y:t.coordinates[f][0]},h={x:t.coordinates[f+1][1],y:t.coordinates[f+1][0]},a=(h.x-r.x)*(i.y-r.y)-(h.y-r.y)*(i.x-r.x),v=(e.x-i.x)*(i.y-r.y)-(e.y-i.y)*(i.x-r.x),c=(h.y-r.y)*(e.x-i.x)-(h.x-r.x)*(e.y-i.y);c!=0&&(o=a/c,l=v/c,0<=o&&o<=1&&0<=l&&l<=1&&s.push({type:"Point",coordinates:[i.x+o*(e.x-i.x),i.y+o*(e.y-i.y)]}))}return s.length==0&&(s=!1),s};n.pointInBoundingBox=function(n,t){return!(n.coordinates[1]t[1][0]||n.coordinates[0]t[1][1])};n.pointInPolygon=function(r,u){for(var e=u.type=="Polygon"?[u.coordinates]:u.coordinates,s=!1,o,f=0;fr)return!1}return!0};n.area=function(n){for(var f=0,t=n.coordinates[0],e=t.length-1,r,u,i=0;i0;)if(r=d[u-1],f=g[u-1],u--,f-r>1){for(e=n[f].lng()-n[r].lng(),c=n[f].lat()-n[r].lat(),Math.abs(e)>180&&(e=360-Math.abs(e)),e*=Math.cos(rt*(n[f].lat()+n[r].lat())),p=e*e+c*c,i=r+1,a=r,v=-1;i180&&(o=360-Math.abs(o)),o*=Math.cos(rt*(n[i].lat()+n[r].lat())),w=o*o+l*l,h=n[i].lng()-n[f].lng(),it=n[i].lat()-n[f].lat(),Math.abs(h)>180&&(h=360-Math.abs(h)),h*=Math.cos(rt*(n[i].lat()+n[f].lat())),b=h*h+it*it,tt=w>=p+b?b:b>=p+w?w:(o*c-l*e)*(o*c-l*e)/p,tt>v&&(a=i,v=tt);v=s+this.startTime){this.now=this.end;this.pos=1;this.update();f[this.prop]=!0;r=!0;for(h in f)f[h]!==!0&&(r=!1);r&&o&&o.call(u);t=!1}else this.pos=i.easing((e-this.startTime)/s),this.now=this.start+(this.end-this.start)*this.pos,this.update(),t=!0;return t},initPath:function(t,i,r){function k(n){for(u=n.length;u--;)(n[u]==="M"||n[u]==="L")&&n.splice(u+1,0,n[u+1],n[u+2],n[u+1],n[u+2])}function w(n,t,i){[].splice.apply(n,[i,0].concat(t))}function d(n,t){while(n.length0&&i--;)o=n.slice().splice(n.length/v-f,f*v),o[0]=t[l-f-i*f],y&&(o[f-6]=o[f-2],o[f-5]=o[f-1]),w(n,o,n.length/v),p&&i--}i=i||"";var h,c=t.startX,a=t.endX,y=i.indexOf("C")>-1,f=y?7:3,l,o,u,e=i.split(" "),s=r.slice(),p=t.isArea,v=p?2:1,b;if(y&&(k(e),k(s)),c&&a){for(u=0;u-1?u.thousandsSep:""))):i=n.dateFormat(t,i),i};n.format=function(t,i){for(var l="{",u=!1,h,f,c,e,a,o=[],r,s;t;){if(s=t.indexOf(l),s===-1)break;if(h=t.slice(0,s),u){for(f=h.split(":"),c=f.shift().split("."),a=c.length,r=i,e=0;e=t||!f&&s<=(i[e]+(i[e+1]||i[e]))/2)break;return o*r};n.stableSort=function(n,t){for(var u=n.length,r,i=0;ii&&(i=n[t]);return i};n.destroyObjectProperties=function(n,t){var i;for(i in n)n[i]&&n[i]!==t&&n[i].destroy&&n[i].destroy(),delete n[i]};n.discardElement=function(t){var i=n.garbageBin;i||(i=n.createElement("div"));t&&i.appendChild(t);i.innerHTML=""};n.correctFloat=function(n,t){return parseFloat(n.toPrecision(t||14))};n.setAnimation=function(t,i){i.renderer.globalAnimation=n.pick(t,i.options.chart.animation,!0)};n.animObject=function(t){return n.isObject(t)?n.merge(t):{duration:t?500:0}};n.timeUnits={millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5};n.numberFormat=function(t,i,r,u){t=+t||0;i=+i;var s=n.defaultOptions.lang,h=(t.toString().split(".")[1]||"").length,c,f,o,l=Math.abs(t),e;return i===-1?i=Math.min(h,20):n.isNumber(i)||(i=2),f=String(n.pInt(l.toFixed(i))),o=f.length>3?f.length%3:0,r=n.pick(r,s.decimalPoint),u=n.pick(u,s.thousandsSep),e=t<0?"-":"",e+=o?f.substr(0,o)+u:"",e+=f.substr(o).replace(/(\d{3})(?=\d)/g,"$1"+u),i&&(c=Math.abs(l-f+Math.pow(10,-Math.max(i,h)-1)),e+=r+c.toFixed(i).slice(2)),e};Math.easeInOutSine=function(n){return-.5*(Math.cos(Math.PI*n)-1)};n.getStyle=function(t,r){var u;return r==="width"?Math.min(t.offsetWidth,t.scrollWidth)-n.getStyle(t,"padding-left")-n.getStyle(t,"padding-right"):r==="height"?Math.min(t.offsetHeight,t.scrollHeight)-n.getStyle(t,"padding-top")-n.getStyle(t,"padding-bottom"):(u=i.getComputedStyle(t,undefined),u&&n.pInt(u.getPropertyValue(r)))};n.inArray=function(n,t){return t.indexOf?t.indexOf(n):[].indexOf.call(t,n)};n.grep=function(n,t){return[].filter.call(n,t)};n.map=function(n,t){for(var r=[],i=0,u=n.length;i-1&&(f.splice(e,1),u[i]=f),o(i,r)):(s(),u[i]=[])):(s(),t.hcEvents={}))};n.fireEvent=function(t,i,u,f){var e,c=t.hcEvents,s,l,o,h;if(u=u||{},r.createEvent&&(t.dispatchEvent||t.fireEvent))e=r.createEvent("Events"),e.initEvent(i,!0,!0),n.extend(e,u),t.dispatchEvent?t.dispatchEvent(e):t.fireEvent(i,e);else if(c)for(s=c[i]||[],l=s.length,u.target||n.extend(u,{preventDefault:function(){u.defaultPrevented=!0},target:t,type:i}),o=0;o255&&(f[u]=255);return this},setOpacity:function(n){return this.rgba[3]=n,this}};n.color=function(t){return new n.Color(t)}}(n),function(n){"use strict";var i,p,w=n.addEvent,ft=n.animate,t=n.attr,et=n.charts,ot=n.color,h=n.css,nt=n.createElement,r=n.defined,b=n.deg2rad,st=n.destroyObjectProperties,f=n.doc,e=n.each,o=n.extend,tt=n.erase,ht=n.grep,ct=n.hasTouch,it=n.isArray,k=n.isFirefox,l=n.isMS,a=n.isObject,lt=n.isString,rt=n.isWebKit,s=n.merge,at=n.noop,u=n.pick,c=n.pInt,d=n.removeEvent,vt=n.splat,ut=n.stop,v=n.svg,g=n.SVG_NS,y=n.win;i=n.SVGElement=function(){return this};i.prototype={opacity:1,SVG_NS:g,textProps:["direction","fontSize","fontWeight","fontFamily","fontStyle","color","lineHeight","width","textDecoration","textOverflow","textShadow"],init:function(n,t){var i=this;i.element=t==="span"?nt(t):f.createElementNS(i.SVG_NS,t);i.renderer=n},animate:function(t,i,r){var f=n.animObject(u(i,this.renderer.globalAnimation,!0));return ut(this),f.duration?(r&&(f.complete=r),ft(this,t,f)):this.attr(t,null,r),this},colorGradient:function(t,i,u){var c=this.renderer,p,h,f,w,v,a,y,b,k,d,l,g,o=[],nt;if(t.linearGradient?h="linearGradient":t.radialGradient&&(h="radialGradient"),h){f=t[h];v=c.gradients;y=t.stops;d=u.radialReference;it(f)&&(t[h]=f={x1:f[0],y1:f[1],x2:f[2],y2:f[3],gradientUnits:"userSpaceOnUse"});h==="radialGradient"&&d&&!r(f.gradientUnits)&&(w=f,f=s(f,c.getRadialAttr(d,w),{gradientUnits:"userSpaceOnUse"}));for(l in f)l!=="id"&&o.push(l,f[l]);for(l in y)o.push(y[l]);o=o.join(",");v[o]?g=v[o].attr("id"):(f.id=g="highcharts-"+n.idCounter++,v[o]=a=c.createElement(h).attr(f).add(c.defs),a.radAttr=w,a.stops=[],e(y,function(t){var i;t[1].indexOf("rgba")===0?(p=n.color(t[1]),b=p.get("rgb"),k=p.get("a")):(b=t[1],k=1);i=c.createElement("stop").attr({offset:t[0],"stop-color":b,"stop-opacity":k}).add(a);a.stops.push(i)}));nt="url("+c.url+"#"+g+")";u.setAttribute(i,nt);u.gradient=o;t.toString=function(){return nt}}},applyTextShadow:function(n){var i=this.element,u,f=n.indexOf("contrast")!==-1,r={},o=this.renderer.forExport,s=this.renderer.forExport||i.style.textShadow!==undefined&&!l;f&&(r.textShadow=n=n.replace(/contrast/g,this.renderer.getContrast(i.style.fill)));(rt||o)&&(r.textRendering="geometricPrecision");s?this.css(r):(this.fakeTS=!0,this.ySetter=this.xSetter,u=[].slice.call(i.getElementsByTagName("tspan")),e(n.split(/\s?,\s?/g),function(n){var o=i.firstChild,f,r;n=n.split(" ");f=n[n.length-1];r=n[n.length-2];r&&e(u,function(n,u){var e;u===0&&(n.setAttribute("x",i.getAttribute("x")),u=i.getAttribute("y"),n.setAttribute("y",u||0),u===null&&i.setAttribute("y",0));e=n.cloneNode(1);t(e,{"class":"highcharts-text-shadow",fill:f,stroke:f,"stroke-opacity":1/Math.max(c(r),3),"stroke-width":r,"stroke-linejoin":"round"});i.insertBefore(e,o)})}))},attr:function(n,t,i){var r,u,o=this.element,s,h=this,f,e;if(typeof n=="string"&&t!==undefined&&(r=n,n={},n[r]=t),typeof n=="string")h=(this[n+"Getter"]||this._defaultGetter).call(this,n,o);else{for(r in n)u=n[r],f=!1,this.symbolName&&/^(x|y|width|height|r|start|end|innerR|anchorX|anchorY)/.test(r)&&(s||(this.symbolAttr(n),s=!0),f=!0),this.rotation&&(r==="x"||r==="y")&&(this.doTransform=!0),f||(e=this[r+"Setter"]||this._defaultSetter,e.call(this,u,r,o),this.shadows&&/^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(r)&&this.updateShadows(r,u,e));this.doTransform&&(this.updateTransform(),this.doTransform=!1)}return i&&i(),h},updateShadows:function(n,t,i){for(var r=this.shadows,u=r.length;u--;)i.call(r[u],n==="height"?Math.max(t-(r[u].cutHeight||0),0):n==="d"?this.d:t,n,r[u])},addClass:function(n,t){var i=this.attr("class")||"";return i.indexOf(n)===-1&&(t||(n=(i+(i?" ":"")+n).replace(" "," ")),this.attr("class",n)),this},hasClass:function(n){return t(this.element,"class").indexOf(n)!==-1},removeClass:function(n){return t(this.element,"class",(t(this.element,"class")||"").replace(n,"")),this},symbolAttr:function(n){var t=this;e(["x","y","r","start","end","width","height","innerR","anchorX","anchorY"],function(i){t[i]=u(n[i],t[i])});t.attr({d:t.renderer.symbols[t.symbolName](t.x,t.y,t.width,t.height,t)})},clip:function(n){return this.attr("clip-path",n?"url("+this.renderer.url+"#"+n.id+")":"none")},crisp:function(n,t){var i=this,u,e={},f;t=t||n.strokeWidth||0;f=Math.round(t)%2/2;n.x=Math.floor(n.x||i.x||0)+f;n.y=Math.floor(n.y||i.y||0)+f;n.width=Math.floor((n.width||i.width||0)-2*f);n.height=Math.floor((n.height||i.height||0)-2*f);r(n.strokeWidth)&&(n.strokeWidth=t);for(u in n)i[u]!==n[u]&&(i[u]=e[u]=n[u]);return e},css:function(n){var i=this,u=i.styles,e={},s=i.element,f,r,a="",y,p=!u;if(n&&n.color&&(n.fill=n.color),u)for(r in n)n[r]!==u[r]&&(e[r]=n[r],p=!0);if(p){if(f=i.textWidth=n&&n.width&&s.nodeName.toLowerCase()==="text"&&c(n.width)||i.textWidth,u&&(n=o(u,e)),i.styles=n,f&&!v&&i.renderer.forExport&&delete n.width,l&&!v)h(i.element,n);else{y=function(n,t){return"-"+t.toLowerCase()};for(r in n)a+=r.replace(/([A-Z])/g,y)+":"+n[r]+";";t(s,"style",a)}i.added&&f&&i.renderer.buildText(i)}return i},strokeWidth:function(){return this["stroke-width"]||0},on:function(n,t){var r=this,i=r.element;return ct&&n==="click"?(i.ontouchstart=function(n){r.touchEventFired=Date.now();n.preventDefault();t.call(i,n)},i.onclick=function(n){(y.navigator.userAgent.indexOf("Android")===-1||Date.now()-(r.touchEventFired||0)>1100)&&t.call(i,n)}):i["on"+n]=t,this},setRadialReference:function(n){var t=this.renderer.gradients[this.element.gradient];return this.element.radialReference=n,t&&t.radAttr&&t.animate(this.renderer.getRadialAttr(n,t.radAttr)),this},translate:function(n,t){return this.attr({translateX:n,translateY:t})},invert:function(n){var t=this;return t.inverted=n,t.updateTransform(),t},updateTransform:function(){var n=this,f=n.translateX||0,e=n.translateY||0,o=n.scaleX,s=n.scaleY,h=n.inverted,c=n.rotation,i=n.element,t;h&&(f+=n.attr("width"),e+=n.attr("height"));t=["translate("+f+","+e+")"];h?t.push("rotate(90) scale(-1,1)"):c&&t.push("rotate("+c+" "+(i.getAttribute("x")||0)+" "+(i.getAttribute("y")||0)+")");(r(o)||r(s))&&t.push("scale("+u(o,1)+" "+u(s,1)+")");t.length&&i.setAttribute("transform",t.join(" "))},toFront:function(){var n=this.element;return n.parentNode.appendChild(n),this},align:function(n,t,i){var o,s,h,c,r={},l,a=this.renderer,v=a.alignedObjects,f,e;return n?(this.alignOptions=n,this.alignByTranslate=t,(!i||lt(i))&&(this.alignTo=l=i||"renderer",tt(v,this),v.push(this),i=null)):(n=this.alignOptions,t=this.alignByTranslate,l=this.alignTo),i=u(i,a[l],a),o=n.align,s=n.verticalAlign,h=(i.x||0)+(n.x||0),c=(i.y||0)+(n.y||0),o==="right"?f=1:o==="center"&&(f=2),f&&(h+=(i.width-(n.width||0))/f),r[t?"translateX":"x"]=Math.round(h),s==="bottom"?e=1:s==="middle"&&(e=2),e&&(c+=(i.height-(n.height||0))/e),r[t?"translateY":"y"]=Math.round(c),this[this.placed?"animate":"attr"](r),this.placed=!0,this.alignAttr=r,this},getBBox:function(n,t){var f=this,i,v=f.renderer,g,h,y,c,r=f.element,p=f.styles,it,rt=f.textStr,nt,w=r.style,a,d=v.cache,tt=v.cacheKeys,s;if(y=u(t,f.rotation),c=y*b,it=p&&p.fontSize,rt!==undefined&&(s=rt.toString().replace(/[0-9]/g,"0")+["",y||0,it,r.style.width].join(",")),s&&!n&&(i=d[s]),!i){if(r.namespaceURI===f.SVG_NS||v.forExport){try{a=this.fakeTS&&function(n){e(r.querySelectorAll(".highcharts-text-shadow"),function(t){t.style.display=n})};k&&w.textShadow?(nt=w.textShadow,w.textShadow=""):a&&a("none");i=r.getBBox?o({},r.getBBox()):{width:r.offsetWidth,height:r.offsetHeight};nt?w.textShadow=nt:a&&a("")}catch(ut){}(!i||i.width<0)&&(i={width:0,height:0})}else i=f.htmlGetBBox();if(v.isSVG&&(g=i.width,h=i.height,l&&p&&p.fontSize==="11px"&&h.toPrecision(3)==="16.9"&&(i.height=h=14),y&&(i.width=Math.abs(h*Math.sin(c))+Math.abs(g*Math.cos(c)),i.height=Math.abs(h*Math.cos(c))+Math.abs(g*Math.sin(c)))),s&&i.height>0){while(tt.length>250)delete d[tt.shift()];d[s]||tt.push(s);d[s]=i}}return i},show:function(n){return this.attr({visibility:n?"inherit":"visible"})},hide:function(){return this.attr({visibility:"hidden"})},fadeOut:function(n){var t=this;t.animate({opacity:0},{duration:n||150,complete:function(){t.attr({y:-9999})}})},add:function(n){var t=this.renderer,r=this.element,i;return n&&(this.parentGroup=n),this.parentInverted=n&&n.inverted,this.textStr!==undefined&&t.buildText(this),this.added=!0,(!n||n.handleZ||this.zIndex)&&(i=this.zIndexSetter()),i||(n?n.element:t.box).appendChild(r),this.onAdd&&this.onAdd(),this},safeRemoveChild:function(n){var t=n.parentNode;t&&t.removeChild(n)},destroy:function(){var n=this,t=n.element||{},i=n.renderer.isSVG&&t.nodeName==="SPAN"&&n.parentGroup,u,f,r;if(t.onclick=t.onmouseout=t.onmouseover=t.onmousemove=t.point=null,ut(n),n.clipPath&&(n.clipPath=n.clipPath.destroy()),n.stops){for(r=0;r]*>/g,"")))},textSetter:function(n){n!==this.textStr&&(delete this.bBox,this.textStr=n,this.added&&this.renderer.buildText(this))},fillSetter:function(n,t,i){typeof n=="string"?i.setAttribute(t,n):n&&this.colorGradient(n,t,i)},visibilitySetter:function(n,t,i){n==="inherit"?i.removeAttribute(t):i.setAttribute(t,n)},zIndexSetter:function(n,t){var a=this.renderer,o=this.parentGroup,y=o||a,s=y.element||a.box,h,i,l,u=this.element,f,v=this.added,e;if(r(n)&&(u.zIndex=n,n=+n,this[t]===n&&(v=!1),this[t]=n),v){for(n=this.zIndex,n&&o&&(o.handleZ=!0),h=s.childNodes,e=0;en||!r(n)&&r(l))&&(s.insertBefore(u,i),f=!0);f||s.appendChild(u)}return f},_defaultSetter:function(n,t,i){i.setAttribute(t,n)}};i.prototype.yGetter=i.prototype.xGetter;i.prototype.translateXSetter=i.prototype.translateYSetter=i.prototype.rotationSetter=i.prototype.verticalAlignSetter=i.prototype.scaleXSetter=i.prototype.scaleYSetter=function(n,t){this[t]=n;this.doTransform=!0};i.prototype.opacitySetter=i.prototype.displaySetter=function(n,t,i){this[t]=n;i.setAttribute(t,n)};i.prototype["stroke-widthSetter"]=i.prototype.strokeSetter=function(n,t,r){this[t]=n;this.stroke&&this["stroke-width"]?(i.prototype.fillSetter.call(this,this.stroke,"stroke",r),r.setAttribute("stroke-width",this["stroke-width"]),this.hasStroke=!0):t==="stroke-width"&&n===0&&this.hasStroke&&(r.removeAttribute("stroke"),this.hasStroke=!1)};p=n.SVGRenderer=function(){this.init.apply(this,arguments)};p.prototype={Element:i,SVG_NS:g,init:function(n,i,r,u,e,o){var s=this,a,l,p,v,c;a=s.createElement("svg").attr({version:"1.1","class":"highcharts-root"}).css(this.getStyle(u));l=a.element;n.appendChild(l);n.innerHTML.indexOf("xmlns")===-1&&t(l,"xmlns",this.SVG_NS);s.isSVG=!0;s.box=l;s.boxWrapper=a;s.alignedObjects=[];s.url=(k||rt)&&f.getElementsByTagName("base").length?y.location.href.replace(/#.*?$/,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"";p=this.createElement("desc").add();p.element.appendChild(f.createTextNode("Created with Highcharts 5.0.0"));s.defs=this.createElement("defs").add();s.allowHTML=o;s.forExport=e;s.gradients={};s.cache={};s.cacheKeys=[];s.imgCount=0;s.setSize(i,r,!1);k&&n.getBoundingClientRect&&(s.subPixelFix=v=function(){h(n,{left:0,top:0});c=n.getBoundingClientRect();h(n,{left:Math.ceil(c.left)-c.left+"px",top:Math.ceil(c.top)-c.top+"px"})},v(),w(y,"resize",v))},getStyle:function(n){return this.style=o({fontFamily:'"Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif',fontSize:"12px"},n),this.style},setStyle:function(n){this.boxWrapper.css(this.getStyle(n))},isHidden:function(){return!this.boxWrapper.getBBox().width},destroy:function(){var n=this,t=n.defs;return n.box=null,n.boxWrapper=n.boxWrapper.destroy(),st(n.gradients||{}),n.gradients=null,t&&(n.defs=t.destroy()),n.subPixelFix&&d(y,"resize",n.subPixelFix),n.alignedObjects=null,null},createElement:function(n){var t=new this.Element;return t.init(this,n),t},draw:at,getRadialAttr:function(n,t){return{cx:n[0]-n[2]/2+t.cx*n[2],cy:n[1]-n[2]/2+t.cy*n[2],r:t.r*n[2]}},buildText:function(n){for(var r=n.element,s=this,it=s.forExport,l=u(n.textStr,"").toString(),rt=l.indexOf("<")!==-1,a,ut=r.childNodes,w,b,k,y,d=t(r,"x"),i=n.styles,o=n.textWidth,ft=i&&i.lineHeight,nt=i&&i.textShadow,tt=i&&i.textOverflow==="ellipsis",et=ut.length,p=o&&!n.added&&this.box,ot=function(n){var t;return t=/(px|em)$/.test(n&&n.style.fontSize)?n.style.fontSize:i&&i.fontSize||s.style.fontSize||12,ft?c(ft):s.fontMetrics(t,n).h},st=function(n){return n.replace(/</g,"<").replace(/>/g,">")};et--;)r.removeChild(ut[et]);rt||nt||tt||o||l.indexOf(" ")!==-1?(w=/<.*class="([^"]+)".*>/,b=/<.*style="([^"]+)".*>/,k=/<.*href="(http[^"]+)".*>/,p&&p.appendChild(r),a=rt?l.replace(/<(b|strong)>/g,'').replace(/<(i|em)>/g,'').replace(//g,"<\/span>").split(//g):[l],a=ht(a,function(n){return n!==""}),e(a,function(u,c){var l,a=0;u=u.replace(/^\s+|\s+$/g,"").replace(//g,"<\/span>|||");l=u.split("|||");e(l,function(u){var ft,e,lt,et;if((u!==""||l.length===1)&&(ft={},e=f.createElementNS(s.SVG_NS,"tspan"),w.test(u)&&(lt=u.match(w)[1],t(e,"class",lt)),b.test(u)&&(et=u.match(b)[1].replace(/(;| |^)color([ :])/,"$1fill$2"),t(e,"style",et)),k.test(u)&&!it&&(t(e,"onclick",'location.href="'+u.match(k)[1]+'"'),h(e,{cursor:"pointer"})),u=st(u.replace(/<(.|\n)*?>/g,"")||" "),u!==" ")){if(e.appendChild(f.createTextNode(u)),a?ft.dx=0:c&&d!==null&&(ft.x=d),t(e,ft),r.appendChild(e),!a&&c&&(!v&&it&&h(e,{display:"block"}),t(e,"dy",ot(e))),o){for(var p=u.replace(/([^\^])-/g,"$1- ").split(" "),at=i.whiteSpace==="nowrap",yt=l.length>1||c||p.length>1&&!at,nt,rt,ht=[],pt=ot(e),wt=n.rotation,ut=u,ct=ut.length,vt;(yt||tt)&&(p.length||ht.length);)n.rotation=0,vt=n.getBBox(!0),rt=vt.width,!v&&s.forExport&&(rt=s.measureSpanWidth(e.firstChild.data,n.styles)),nt=rt>o,y===undefined&&(y=nt),tt&&y?(ct/=2,ut===""||!nt&&ct<.5?p=[]:(ut=u.substring(0,ut.length+(nt?-1:1)*Math.ceil(ct)),p=[ut+(o>3?"…":"")],e.removeChild(e.firstChild))):nt&&p.length!==1?(e.removeChild(e.firstChild),ht.unshift(p.pop())):(p=ht,ht=[],p.length&&!at&&(e=f.createElementNS(g,"tspan"),t(e,{dy:pt,x:d}),et&&t(e,"style",et),r.appendChild(e)),rt>o&&(o=rt)),p.length&&e.appendChild(f.createTextNode(p.join(" ").replace(/- /g,"-")));n.rotation=wt}a++}})}),y&&n.attr("title",n.textStr),p&&p.removeChild(r),nt&&n.applyTextShadow&&n.applyTextShadow(nt)):r.appendChild(f.createTextNode(st(l)))},getContrast:function(n){return n=ot(n).rgba,n[0]+n[1]+n[2]>510?"#000000":"#FFFFFF"},button:function(n,t,i,r,u,f,e,h,c){var a=this.label(n,t,i,c,null,null,null,null,"button"),v=0,y,p,b,k;a.attr(s({padding:8,r:2},u));u=s({fill:"#f7f7f7",stroke:"#cccccc","stroke-width":1,style:{color:"#333333",cursor:"pointer",fontWeight:"normal"}},u);y=u.style;delete u.style;f=s(u,{fill:"#e6e6e6"},f);p=f.style;delete f.style;e=s(u,{fill:"#e6ebf5",style:{color:"#000000",fontWeight:"bold"}},e);b=e.style;delete e.style;h=s(u,{style:{color:"#cccccc"}},h);k=h.style;delete h.style;w(a.element,l?"mouseover":"mouseenter",function(){v!==3&&a.setState(1)});w(a.element,l?"mouseout":"mouseleave",function(){v!==3&&a.setState(v)});a.setState=function(n){n!==1&&(a.state=v=n);a.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][n||0]);a.attr([u,f,e,h][n||0]).css([y,p,b,k][n||0])};a.attr(u).css(o({cursor:"default"},y));return a.on("click",function(n){v!==3&&r.call(a,n)})},crispLine:function(n,t){return n[1]===n[4]&&(n[1]=n[4]=Math.round(n[1])-t%2/2),n[2]===n[5]&&(n[2]=n[5]=Math.round(n[2])+t%2/2),n},path:function(n){var t={fill:"none"};return it(n)?t.d=n:a(n)&&o(t,n),this.createElement("path").attr(t)},circle:function(n,t,i){var u=a(n)?n:{x:n,y:t,r:i},r=this.createElement("circle");return r.xSetter=r.ySetter=function(n,t,i){i.setAttribute("c"+t,n)},r.attr(u)},arc:function(n,t,i,r,u,f){var e;return a(n)&&(t=n.y,i=n.r,r=n.innerR,u=n.start,f=n.end,n=n.x),e=this.symbol("arc",n||0,t||0,i||0,i||0,{innerR:r||0,start:u||0,end:f||0}),e.r=i,e},rect:function(n,i,r,u,f,e){f=a(n)?n.r:f;var s=this.createElement("rect"),o=a(n)?n:n===undefined?{}:{x:n,y:i,width:Math.max(r,0),height:Math.max(u,0)};return e!==undefined&&(o.strokeWidth=e,o=s.crisp(o)),o.fill="none",f&&(o.r=f),s.rSetter=function(n,i,r){t(r,{rx:n,ry:n})},s.attr(o)},setSize:function(n,t,i){var r=this,f=r.alignedObjects,e=f.length;for(r.width=n,r.height=t,r.boxWrapper.animate({width:n,height:t},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:u(i,!0)?undefined:0});e--;)f[e].align()},g:function(n){var t=this.createElement("g");return n?t.attr({"class":"highcharts-"+n}):t},image:function(n,t,i,r,u){var e={preserveAspectRatio:"none"},f;return arguments.length>1&&o(e,{x:t,y:i,width:r,height:u}),f=this.createElement("image").attr(e),f.element.setAttributeNS?f.element.setAttributeNS("http://www.w3.org/1999/xlink","href",n):f.element.setAttribute("hc-svg-href",n),f},symbol:function(n,t,i,s,c,l){var p=this,a,w=this.symbols[n],d=r(t)&&w&&w(Math.round(t),Math.round(i),s,c,l),k=/^url\((.*?)\)$/,v,b,y={};return w?(a=this.path(d),a.attr("fill","none"),o(a,{symbolName:n,x:t,y:i,width:s,height:c}),l&&o(a,l)):k.test(n)&&(v=n.match(k)[1],a=this.image(v),a.imgwidth=u(y[v]&&y[v].width,l&&l.width),a.imgheight=u(y[v]&&y[v].height,l&&l.height),b=function(){a.attr({width:a.width,height:a.height})},e(["width","height"],function(n){a[n+"Setter"]=function(n,t){var u={},i=this["img"+t];this[t]=n;r(i)&&(this.element&&this.element.setAttribute(t,i),this.alignByTranslate||(u[t==="width"?"translateX":"translateY"]=(this[t]-i)/2,this.attr(u)))}}),r(t)&&a.attr({x:t,y:i}),a.isImg=!0,r(a.imgwidth)&&r(a.imgheight)?b():(a.attr({width:0,height:0}),nt("img",{onload:function(){var n=et[p.chartIndex];this.width===0&&(h(this,{position:"absolute",top:"-999em"}),f.body.appendChild(this));y[v]={width:this.width,height:this.height};a.imgwidth=this.width;a.imgheight=this.height;a.element&&b();this.parentNode&&this.parentNode.removeChild(this);p.imgCount--;!p.imgCount&&n&&n.onload&&n.onload()},src:v}),this.imgCount++)),a},symbols:{circle:function(n,t,i,r){var u=.166*i;return["M",n+i/2,t,"C",n+i+u,t,n+i+u,t+r,n+i/2,t+r,"C",n-u,t+r,n-u,t,n+i/2,t,"Z"]},square:function(n,t,i,r){return["M",n,t,"L",n+i,t,n+i,t+r,n,t+r,"Z"]},triangle:function(n,t,i,r){return["M",n+i/2,t,"L",n+i,t+r,n,t+r,"Z"]},"triangle-down":function(n,t,i,r){return["M",n,t,"L",n+i,t,n+i/2,t+r,"Z"]},diamond:function(n,t,i,r){return["M",n+i/2,t,"L",n+i,t+r/2,n+i/2,t+r,n,t+r/2,"Z"]},arc:function(n,t,i,r,u){var o=u.start,f=u.r||i||r,s=u.end-.001,e=u.innerR,h=u.open,c=Math.cos(o),l=Math.sin(o),a=Math.cos(s),v=Math.sin(s),y=u.end-oi&&o>t+h&&ot+h&&or&&e>n+h&&en+h&&ep&&/[ \-]/.test(r.textContent||r.innerText)&&t(r,{width:p+"px",display:"block",whiteSpace:w||"normal"}),n.getSpanCorrection(r.offsetWidth,e,v,u,o));t(r,{left:k+(n.xCorr||0)+"px",top:d+(n.yCorr||0)+"px"});f&&(e=r.offsetHeight);n.cTT=b}},setSpanRotation:function(n,i,r){var e={},o=h?"-ms-transform":f?"-webkit-transform":u?"MozTransform":v.opera?"-o-transform":"";e[o]=e.transform="rotate("+n+"deg)";e[o+(u?"Origin":"-origin")]=e.transformOrigin=i*100+"% "+r+"px";t(this.element,e)},getSpanCorrection:function(n,t,i){this.xCorr=-n*i;this.yCorr=-t}});r(a.prototype,{html:function(n,t,u){var f=this.createElement("span"),s=f.element,h=f.renderer,c=h.isSVG,l=function(n,t){i(["display","opacity","visibility"],function(i){y(n,i+"Setter",function(n,i,r,u){n.call(this,i,r,u);t[r]=i})})};return f.textSetter=function(n){n!==s.innerHTML&&delete this.bBox;s.innerHTML=this.textStr=n;f.htmlUpdateTransform()},c&&l(f,f.element.style),f.xSetter=f.ySetter=f.alignSetter=f.rotationSetter=function(n,t){t==="align"&&(t="textAlign");f[t]=n;f.htmlUpdateTransform()},f.attr({text:n,x:Math.round(t),y:Math.round(u)}).css({fontFamily:this.style.fontFamily,fontSize:this.style.fontSize,position:"absolute"}),s.style.whiteSpace="nowrap",f.css=f.htmlCss,c&&(f.add=function(n){var t,c=h.box.parentNode,u,a=[];if(this.parentGroup=n,n){if(t=n.div,!t){for(u=n;u;)a.push(u),u=u.parentGroup;i(a.reverse(),function(n){var i,u=e(n.element,"class");u&&(u={className:u});t=n.div=n.div||o("div",u,{position:"absolute",left:(n.translateX||0)+"px",top:(n.translateY||0)+"px",display:n.display,opacity:n.opacity,pointerEvents:n.styles&&n.styles.pointerEvents},t||c);i=t.style;r(n,{translateXSetter:function(t,r){i.left=t+"px";n[r]=t;n.doTransform=!0},translateYSetter:function(t,r){i.top=t+"px";n[r]=t;n.doTransform=!0}});l(n,i)})}}else t=c;return t.appendChild(s),f.added=!0,f.alignOnAdd&&f.htmlUpdateTransform(),f}),f}})}(n),function(n){"use strict";var l,y,t,u=n.createElement,o=n.css,p=n.defined,f=n.deg2rad,w=n.discardElement,i=n.doc,s=n.each,b=n.erase,a=n.extend,nt=n.extendClass,tt=n.isArray,k=n.isNumber,v=n.isObject,it=n.merge,d=n.noop,h=n.pick,r=n.pInt,rt=n.svg,c=n.SVGElement,e=n.SVGRenderer,g=n.win;rt||(t={docMode8:i&&i.documentMode===8,init:function(n,t){var e=this,i=["<",t,' filled="f" stroked="f"'],r=["position: ","absolute",";"],f=t==="div";(t==="shape"||f)&&r.push("left:0;top:0;width:1px;height:1px;");r.push("visibility: ",f?"hidden":"visible");i.push(' style="',r.join(""),'"/>');t&&(i=f||t==="span"||t==="img"?i.join(""):n.prepVML(i),e.element=u(i));e.renderer=n},add:function(n){var t=this,i=t.renderer,r=t.element,f=i.box,e=n&&n.inverted,u=n?n.element||n:f;return n&&(this.parentGroup=n),e&&i.invertChild(r,u),u.appendChild(r),t.added=!0,t.alignOnAdd&&!t.deferUpdateTransform&&t.updateTransform(),t.onAdd&&t.onAdd(),this.className&&this.attr("class",this.className),t},updateTransform:c.prototype.htmlUpdateTransform,setSpanRotation:function(){var n=this.rotation,t=Math.cos(n*f),i=Math.sin(n*f);o(this.element,{filter:n?["progid:DXImageTransform.Microsoft.Matrix(M11=",t,", M12=",-i,", M21=",i,", M22=",t,", sizingMethod='auto expand')"].join(""):"none"})},getSpanCorrection:function(n,t,i,r,u){var e=r?Math.cos(r*f):1,s=r?Math.sin(r*f):0,l=h(this.elemHeight,this.element.offsetHeight),c,a=u&&u!=="left";this.xCorr=e<0&&-n;this.yCorr=s<0&&-l;c=e*s<0;this.xCorr+=s*t*(c?1-i:i);this.yCorr-=e*t*(r?c?i:1-i:1);a&&(this.xCorr-=n*i*(e<0?-1:1),r&&(this.yCorr-=l*i*(s<0?-1:1)),o(this.element,{textAlign:u}))},pathToVML:function(n){for(var t=n.length,i=[];t--;)k(n[t])?i[t]=Math.round(n[t]*10)-5:n[t]==="Z"?i[t]="x":(i[t]=n[t],n.isArc&&(n[t]==="wa"||n[t]==="at")&&(i[t+5]===i[t+7]&&(i[t+7]+=n[t+7]>n[t+5]?1:-1),i[t+6]===i[t+8]&&(i[t+8]+=n[t+8]>n[t+6]?1:-1)));return i.join(" ")||"x"},clip:function(n){var t=this,i,r;return n?(i=n.members,b(i,t),i.push(t),t.destroyClip=function(){b(i,t)},r=n.getCSS(t)):(t.destroyClip&&t.destroyClip(),r={clip:t.docMode8?"inherit":"rect(auto)"}),t.css(r)},css:c.prototype.htmlCss,safeRemoveChild:function(n){n.parentNode&&w(n)},destroy:function(){return this.destroyClip&&this.destroyClip(),c.prototype.destroy.apply(this)},on:function(n,t){return this.element["on"+n]=function(){var n=g.event;n.target=n.srcElement;t(n)},this},cutOffPath:function(n,t){var i;return n=n.split(/[ ,]/),i=n.length,(i===9||i===11)&&(n[i-4]=n[i-2]=r(n[i-2])-10*t),n.join(" ")},shadow:function(n,t,i){var y=[],e,o=this.element,p=this.renderer,f,w=o.style,c,s=o.path,l,a,v,b;if(s&&typeof s.value!="string"&&(s="x"),a=s,n){for(v=h(n.width,3),b=(n.opacity||.15)/v,e=1;e<=3;e++)l=v*2+1-2*e,i&&(a=this.cutOffPath(s.value,l+.5)),c=[''],f=u(p.prepVML(c),null,{left:r(w.left)+h(n.offsetX,1),top:r(w.top)+h(n.offsetY,1)}),i&&(f.cutOff=l+1),c=[''],u(p.prepVML(c),null,null,f),t?t.element.appendChild(f):o.parentNode.insertBefore(f,o),y.push(f);this.shadows=y}return this},updateShadows:d,setAttr:function(n,t){this.docMode8?this.element[n]=t:this.element.setAttribute(n,t)},classSetter:function(n){(this.added?this.element:this).className=n},dashstyleSetter:function(n,t,i){var r=i.getElementsByTagName("stroke")[0]||u(this.renderer.prepVML([""]),null,null,i);r[t]=n||"solid";this[t]=n},dSetter:function(n,t,i){var r,u=this.shadows;if(n=n||[],this.d=n.join&&n.join(" "),i.path=n=this.pathToVML(n),u)for(r=u.length;r--;)u[r].path=u[r].cutOff?this.cutOffPath(n,u[r].cutOff):n;this.setAttr(t,n)},fillSetter:function(n,t,i){var r=i.nodeName;r==="SPAN"?i.style.color=n:r!=="IMG"&&(i.filled=n!=="none",this.setAttr("fillcolor",this.renderer.color(n,i,t,this)))},"fill-opacitySetter":function(n,t,i){u(this.renderer.prepVML(["<",t.split("-")[0],' opacity="',n,'"/>']),null,null,i)},opacitySetter:d,rotationSetter:function(n,t,i){var r=i.style;this[t]=r[t]=n;r.left=-Math.round(Math.sin(n*f)+1)+"px";r.top=Math.round(Math.cos(n*f))+"px"},strokeSetter:function(n,t,i){this.setAttr("strokecolor",this.renderer.color(n,i,t,this))},"stroke-widthSetter":function(n,t,i){i.stroked=!!n;this[t]=n;k(n)&&(n+="px");this.setAttr("strokeweight",n)},titleSetter:function(n,t){this.setAttr(t,n)},visibilitySetter:function(n,t,i){n==="inherit"&&(n="visible");this.shadows&&s(this.shadows,function(i){i.style[t]=n});i.nodeName==="DIV"&&(n=n==="hidden"?"-999em":0,this.docMode8||(i.style[t]=n?"visible":"hidden"),t="top");i.style[t]=n},displaySetter:function(n,t,i){i.style[t]=n},xSetter:function(n,t,i){this[t]=n;t==="x"?t="left":t==="y"&&(t="top");this.updateClipping?(this[t]=n,this.updateClipping()):i.style[t]=n},zIndexSetter:function(n,t,i){i.style[t]=n}},t["stroke-opacitySetter"]=t["fill-opacitySetter"],n.VMLElement=t=nt(c,t),t.prototype.ySetter=t.prototype.widthSetter=t.prototype.heightSetter=t.prototype.xSetter,y={Element:t,isIE8:g.navigator.userAgent.indexOf("MSIE 8.0")>-1,init:function(n,t,r){var u=this,f,o,e;if(u.alignedObjects=[],f=u.createElement("div").css({position:"relative"}),o=f.element,n.appendChild(f.element),u.isVML=!0,u.box=o,u.boxWrapper=f,u.gradients={},u.cache={},u.cacheKeys=[],u.imgCount=0,u.setSize(t,r,!1),!i.namespaces.hcv){i.namespaces.add("hcv","urn:schemas-microsoft-com:vml");e="hcv\\:fill, hcv\\:path, hcv\\:shape, hcv\\:stroke{ behavior:url(/bundles/highmaps/); display: inline-block; } ";try{i.createStyleSheet().cssText=e}catch(s){i.styleSheets[0].cssText+=e}}},isHidden:function(){return!this.box.offsetWidth},clipRect:function(n,t,i,r){var f=this.createElement(),u=v(n);return a(f,{members:[],count:0,left:(u?n.x:n)+1,top:(u?n.y:t)+1,width:(u?n.width:i)-1,height:(u?n.height:r)-1,getCSS:function(n){var o=n.element,s=o.nodeName,c=s==="shape",t=n.inverted,i=this,r=i.top-(c?o.offsetTop:0),u=i.left,f=u+i.width,e=r+i.height,h={clip:"rect("+Math.round(t?u:r)+"px,"+Math.round(t?e:f)+"px,"+Math.round(t?f:e)+"px,"+Math.round(t?r:u)+"px)"};return!t&&n.docMode8&&s==="DIV"&&a(h,{width:f+"px",height:e+"px"}),h},updateClipping:function(){s(f.members,function(n){n.element&&n.css(f.getCSS(n))})}})},color:function(t,i,r,f){var bt=this,h,g=/^rgba/,nt,a,v="none",w;if(t&&t.linearGradient?a="gradient":t&&t.radialGradient&&(a="pattern"),a){var c,p,e=t.linearGradient||t.radialGradient,tt,it,rt,ut,ft,et,ot,st,b="",l=t.stops,k,d,ht=[],ct=function(){nt=[''];u(bt.prepVML(nt),null,null,i)};if(k=l[0],d=l[l.length-1],k[0]>0&&l.unshift([0,k[1]]),d[0]<1&&l.push([1,d[1]]),s(l,function(t,i){g.test(t[1])?(h=n.color(t[1]),c=h.get("rgb"),p=h.get("a")):(c=t[1],p=1);ht.push(t[0]*100+"% "+c);i?(et=p,ot=c):(ft=p,st=c)}),r==="fill")if(a==="gradient")tt=e.x1||e[0]||0,it=e.y1||e[1]||0,rt=e.x2||e[2]||0,ut=e.y2||e[3]||0,b='angle="'+(90-Math.atan((ut-it)/(rt-tt))*180/Math.PI)+'"',ct();else{var lt=e.r,at=lt*2,vt=lt*2,yt=e.cx,pt=e.cy,y=i.radialReference,o,wt=function(){y&&(o=f.getBBox(),yt+=(y[0]-o.x)/o.width-.5,pt+=(y[1]-o.y)/o.height-.5,at*=y[2]/o.width,vt*=y[2]/o.height);b='src="'+n.getOptions().global.VMLRadialGradientURL+'" size="'+at+","+vt+'" origin="0.5,0.5" position="'+yt+","+pt+'" color2="'+st+'" ';ct()};f.added?wt():f.onAdd=wt;v=ot}else v=c}else g.test(t)&&i.tagName!=="IMG"?(h=n.color(t),f[r+"-opacitySetter"](h.get("a"),r,i),v=h.get("rgb")):(w=i.getElementsByTagName(r),w.length&&(w[0].opacity=1,w[0].type="solid"),v=t);return v},prepVML:function(n){var t="display:inline-block;behavior:url(/bundles/highmaps/);",i=this.isIE8;return n=n.join(""),i?(n=n.replace("/>",' xmlns="urn:schemas-microsoft-com:vml" />'),n=n.indexOf('style="')===-1?n.replace("/>",' style="'+t+'" />'):n.replace('style="','style="'+t)):n=n.replace("<","1&&f.attr({x:t,y:i,width:r,height:u}),f},createElement:function(n){return n==="rect"?this.symbol(n):e.prototype.createElement.call(this,n)},invertChild:function(n,t){var f=this,u=t.style,i=n.tagName==="IMG"&&n.style;o(n,{flip:"x",left:r(u.width)-(i?r(i.top):1),top:r(u.height)-(i?r(i.left):1),rotation:-90});s(n.childNodes,function(t){f.invertChild(t,n)})},symbols:{arc:function(n,t,i,r,u){var s=u.start,h=u.end,e=u.r||i||r,f=u.innerR,c=Math.cos(s),l=Math.sin(s),a=Math.cos(h),v=Math.sin(h),o;return h-s==0?["x"]:(o=["wa",n-e,t-e,n+e,t+e,n+e*c,t+e*l,n+e*a,t+e*v],u.open&&!f&&o.push("e","M",n,t),o.push("at",n-f,t-f,n+f,t+f,n+f*a,t+f*v,n+f*c,t+f*l,"x","e"),o.isArc=!0,o)},circle:function(n,t,i,r,u){return u&&p(u.r)&&(i=r=2*u.r),u&&u.isCircle&&(n-=i/2,t-=r/2),["wa",n,t,n+i,t+r,n+i,t+r/2,n+i,t+r/2,"e"]},rect:function(n,t,i,r,u){return e.prototype.symbols[!p(u)||!u.r?"square":"callout"].call(0,n,t,i,r,u)}}},n.VMLRenderer=l=function(){this.init.apply(this,arguments)},l.prototype=it(e.prototype,y),n.Renderer=l);e.prototype.measureSpanWidth=function(n,t){var r=i.createElement("span"),u,f=i.createTextNode(n);return r.appendChild(f),o(r,t),this.box.appendChild(r),u=r.offsetWidth,w(r),u}}(n),function(n){"use strict";function r(){var e=n.defaultOptions.global,r,u=e.useUTC,o=u?"getUTC":"get",s=u?"setUTC":"set";n.Date=r=e.Date||h.Date;r.hcTimezoneOffset=u&&e.timezoneOffset;r.hcGetTimezoneOffset=u&&e.getTimezoneOffset;r.hcMakeTime=function(n,i,e,o,s,h){var c;return u?r.UTC.apply(0,arguments)+f(c):new r(n,i,t(e,1),t(o,0),t(s,0),t(h,0)).getTime()};i(["Minutes","Hours","Day","Date","Month","FullYear"],function(n){r["hcGet"+n]=o+n});i(["Milliseconds","Seconds","Minutes","Hours","Date","Month","FullYear"],function(n){r["hcSet"+n]=s+n})}var u=n.color,i=n.each,f=n.getTZOffset,e=n.isTouchDevice,o=n.merge,t=n.pick,s=n.svg,h=n.win;n.defaultOptions={colors:"#7cb5ec #434348 #90ed7d #f7a35c #8085e9 #f15c80 #e4d354 #2b908f #f45b5b #91e8e1".split(" "),symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],decimalPoint:".",numericSymbols:["k","M","G","T","P","E"],resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{useUTC:!0,VMLRadialGradientURL:"http://code.highcharts.com@product.cdnpath@/5.0.0/gfx/vml-radial-gradient.png"},chart:{borderRadius:0,defaultSeriesType:"line",ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{zIndex:20},position:{align:"right",x:-10,y:10}},width:null,height:null,borderColor:"#335cad",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"},title:{text:"Chart title",align:"center",margin:15,style:{color:"#333333",fontSize:"18px"},widthAdjust:-44},subtitle:{text:"",align:"center",style:{color:"#666666"},widthAdjust:-44},plotOptions:{},labels:{style:{position:"absolute",color:"#333333"}},legend:{enabled:!0,align:"center",layout:"horizontal",labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{activeColor:"#003399",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",fontSize:"12px",fontWeight:"bold"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#cccccc"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:s,borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %b %e, %H:%M:%S.%L",second:"%A, %b %e, %H:%M:%S",minute:"%A, %b %e, %H:%M",hour:"%A, %b %e, %H:%M",day:"%A, %b %e, %Y",week:"Week from %A, %b %e, %Y",month:"%B %Y",year:"%Y"},footerFormat:"",padding:8,snap:e?25:10,backgroundColor:u("#f7f7f7").setOpacity(.85).get(),borderWidth:1,headerFormat:'{point.key}<\/span>
',pointFormat:'●<\/span> {series.name}: {point.y}<\/b>
',shadow:!0,style:{color:"#333333",cursor:"default",fontSize:"12px",pointerEvents:"none",whiteSpace:"nowrap"}},credits:{enabled:!0,href:"http://www.highcharts.com",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"9px"},text:"Highcharts.com"}};n.setOptions=function(t){return n.defaultOptions=o(!0,n.defaultOptions,t),r(),n.defaultOptions};n.getOptions=function(){return n.defaultOptions};n.defaultPlotOptions=n.defaultOptions.plotOptions;r()}(n),function(n){"use strict";var i=n.arrayMax,r=n.arrayMin,t=n.defined,f=n.destroyObjectProperties,e=n.each,u=n.erase,o=n.merge,s=n.pick;n.PlotLineOrBand=function(n,t){this.axis=n;t&&(this.options=t,this.id=t.id)};n.PlotLineOrBand.prototype={render:function(){var e=this,u=e.axis,c=u.horiz,n=e.options,l=n.label,a=e.label,v=n.to,y=n.from,p=n.value,i=t(y)&&t(v),tt=t(p),f=e.svgElem,it=!f,r=[],rt,ut,k=n.color,d=s(n.zIndex,0),g=n.events,h={"class":"highcharts-plot-"+(i?"band ":"line ")+(n.className||"")},ft={},et=u.chart.renderer,w=i?"bands":"lines",b,nt=u.log2lin;if(u.isLog&&(y=nt(y),v=nt(v),p=nt(p)),tt?(h={stroke:k,"stroke-width":n.width},n.dashStyle&&(h.dashstyle=n.dashStyle)):i&&(k&&(h.fill=k),n.borderWidth&&(h.stroke=n.borderColor,h["stroke-width"]=n.borderWidth)),ft.zIndex=d,w+="-"+d,b=u[w],b||(u[w]=b=et.g("plot-"+w).attr(ft).add()),it&&(e.svgElem=f=et.path().attr(h).add(b)),tt)r=u.getPlotLinePath(p,f.strokeWidth());else if(i)r=u.getPlotBandPath(y,v,n);else return;if(it&&r&&r.length){if(f.attr({d:r}),g){rt=function(n){f.on(n,function(t){g[n].apply(e,[t])})};for(ut in g)rt(ut)}}else f&&(r?(f.show(),f.animate({d:r})):(f.hide(),a&&(e.label=a=a.destroy())));return l&&t(l.text)&&r&&r.length&&u.width>0&&u.height>0&&!r.flat?(l=o({align:c&&i&&"center",x:c?!i&&4:10,verticalAlign:!c&&i&&"middle",y:c?i?16:10:i?6:-4,rotation:c&&!i&&90},l),this.renderLabel(l,r,i,d)):a&&a.hide(),e},renderLabel:function(n,t,u,f){var o=this,e=o.label,v=o.axis.chart.renderer,s,h,c,l,a;e||(s={align:n.textAlign||n.align,rotation:n.rotation,"class":"highcharts-plot-"+(u?"band":"line")+"-label "+(n.className||"")},s.zIndex=f,o.label=e=v.text(n.text,0,0,n.useHTML).attr(s).add(),e.css(n.style));h=[t[1],t[4],u?t[6]:t[1]];c=[t[2],t[5],u?t[7]:t[2]];l=r(h);a=r(c);e.align(n,!1,{x:l,y:a,width:i(h)-l,height:i(c)-a});e.show()},destroy:function(){u(this.axis.plotLinesAndBands,this);delete this.axis;f(this)}};n.AxisPlotLineOrBandExtension={getPlotBandPath:function(n,t){var i=this.getPlotLinePath(t,null,null,!0),r=this.getPlotLinePath(n,null,null,!0);return r&&i?(r.flat=r.toString()===i.toString(),r.push(i[4],i[5],i[1],i[2])):r=null,r},addPlotBand:function(n){return this.addPlotBandOrLine(n,"plotBands")},addPlotLine:function(n){return this.addPlotBandOrLine(n,"plotLines")},addPlotBandOrLine:function(t,i){var r=new n.PlotLineOrBand(this,t).render(),u=this.userOptions;return r&&(i&&(u[i]=u[i]||[],u[i].push(t)),this.plotLinesAndBands.push(r)),r},removePlotBandOrLine:function(n){for(var i=this.plotLinesAndBands,r=this.options,f=this.userOptions,t=i.length;t--;)i[t].id===n&&i[t].destroy();e([r.plotLines||[],f.plotLines||[],r.plotBands||[],f.plotBands||[]],function(i){for(t=i.length;t--;)i[t].id===n&&u(i,i[t])})}}}(n),function(n){"use strict";var f=n.correctFloat,i=n.defined,e=n.destroyObjectProperties,u=n.isNumber,o=n.merge,t=n.pick,s=n.stop,r=n.deg2rad;n.Tick=function(n,t,i,r){this.axis=n;this.pos=t;this.type=i||"";this.isNew=!0;i||r||this.addLabel()};n.Tick.prototype={addLabel:function(){var r=this,n=r.axis,a=n.options,v=n.chart,y=n.categories,d=n.names,u=r.pos,c=a.labels,s,h=n.tickPositions,p=u===h[0],w=u===h[h.length-1],b=y?t(y[u],d[u],u):u,e=r.label,l=h.info,k;n.isDatetimeAxis&&l&&(k=a.dateTimeLabelFormats[l.higherRanks[u]||l.unitName]);r.isFirst=p;r.isLast=w;s=n.labelFormatter.call({axis:n,chart:v,isFirst:p,isLast:w,dateTimeLabelFormat:k,value:n.isLog?f(n.lin2log(b)):b});i(e)?e&&e.attr({text:s}):(r.label=e=i(s)&&c.enabled?v.renderer.text(s,0,0,c.useHTML).css(o(c.style)).add(n.labelGroup):null,r.labelLength=e&&e.getBBox().width,r.rotation=0)},getLabelSize:function(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0},handleOverflow:function(n){var i=this.axis,e=n.x,p=i.chart.chartWidth,w=i.chart.spacing,l=t(i.labelLeft,Math.min(i.pos,w[3])),a=t(i.labelRight,Math.max(i.pos+i.len,p-w[1])),v=this.label,s=this.rotation,f={left:0,center:.5,right:1}[i.labelAlign],o=v.getBBox().width,h=i.getSlotWidth(),u=h,g=f,b=1,k,d,c,y={};s?s<0&&e-f*o0&&e+f*o>a&&(c=Math.round((p-e)/Math.cos(s*r))):(k=e-f*o,d=e+(1-f)*o,ka&&(u=a-n.x+u*f,b=-1),u=Math.min(h,u),uu||i.autoRotation&&(v.styles||{}).width)&&(c=u));c&&(y.width=c,(i.options.labels.style||{}).textOverflow||(y.textOverflow="ellipsis"),v.css(y))},getPosition:function(n,t,i,r){var u=this.axis,f=u.chart,e=r&&f.oldChartHeight||f.chartHeight;return{x:n?u.translate(t+i,null,null,r)+u.transB:u.left+u.offset+(u.opposite?(r&&f.oldChartWidth||f.chartWidth)-u.right-u.left:0),y:n?e-u.bottom+u.offset-(u.opposite?u.height:0):e-u.translate(t+i,null,null,r)-u.transB}},getLabelPosition:function(n,t,u,f,e,o,s,h){var c=this.axis,p=c.transA,w=c.reversed,l=c.staggerLines,v=c.tickRotCorr||{x:0,y:0},y=e.y,a;return i(y)||(y=c.side===0?u.rotation?-8:-u.getBBox().height:c.side===2?v.y+8:Math.cos(u.rotation*r)*(v.y-u.getBBox(!1,0).height/2)),n=n+e.x+v.x-(o&&f?o*p*(w?-1:1):0),t=t+y-(o&&!f?o*p*(w?1:-1):0),l&&(a=s/(h||1)%l,c.opposite&&(a=l-a-1),t+=a*(c.labelOffset/l)),{x:n,y:Math.round(t)}},getMarkPath:function(n,t,i,r,u,f){return f.crispLine(["M",n,t,"L",n+(u?0:-i),t+(u?i:0)],r)},render:function(n,i,r){var f=this,e=f.axis,h=e.options,ct=e.chart,d=ct.renderer,l=e.horiz,o=f.type,a=f.label,et=f.pos,w=h.labels,y=f.gridLine,g=o?o+"Tick":"tick",b=e.tickSize(g),nt,p=f.mark,ot=!p,tt=w.step,v={},it=!0,rt=e.tickmarkOffset,c=f.getPosition(l,et,rt,i),k=c.x,ut=c.y,st=l&&k===e.pos+e.len||!l&&ut===e.pos?-1:1,ft=o?o+"Grid":"grid",lt=h[ft+"LineWidth"],at=h[ft+"LineColor"],ht=h[ft+"LineDashStyle"],vt=t(h[g+"Width"],!o&&e.isXAxis?1:0),yt=h[g+"Color"];r=t(r,1);this.isActive=!0;y||(v.stroke=at,v["stroke-width"]=lt,ht&&(v.dashstyle=ht),o||(v.zIndex=1),i&&(v.opacity=0),f.gridLine=y=d.path().attr(v).addClass("highcharts-"+(o?o+"-":"")+"grid-line").add(e.gridGroup));!i&&y&&(nt=e.getPlotLinePath(et+rt,y.strokeWidth()*st,i,!0),nt&&y[f.isNew?"attr":"animate"]({d:nt,opacity:r}));b&&(e.opposite&&(b[0]=-b[0]),ot&&(f.mark=p=d.path().addClass("highcharts-"+(o?o+"-":"")+"tick").add(e.axisGroup),p.attr({stroke:yt,"stroke-width":vt})),p[ot?"attr":"animate"]({d:f.getMarkPath(k,ut,b[0],p.strokeWidth()*st,l,d),opacity:r}));a&&u(k)&&(a.xy=c=f.getLabelPosition(k,ut,a,l,w,rt,n,tt),(!f.isFirst||f.isLast||t(h.showFirstLabel,1))&&(!f.isLast||f.isFirst||t(h.showLastLabel,1))?!l||e.isRadial||w.step||w.rotation||i||r===0||f.handleOverflow(c):it=!1,tt&&n%tt&&(it=!1),it&&u(c.y)?(c.opacity=r,a[f.isNew?"attr":"animate"](c)):(s(a),a.attr("y",-9999)),f.isNew=!1)},destroy:function(){e(this,this.axis)}}}(n),function(n){"use strict";var b=n.addEvent,k=n.animObject,o=n.arrayMax,s=n.arrayMin,d=n.AxisPlotLineOrBandExtension,g=n.color,u=n.correctFloat,l=n.defaultOptions,i=n.defined,nt=n.deg2rad,a=n.destroyObjectProperties,r=n.each,v=n.error,y=n.extend,p=n.fireEvent,tt=n.format,it=n.getMagnitude,rt=n.grep,h=n.inArray,ut=n.isArray,f=n.isNumber,w=n.isString,c=n.merge,ft=n.normalizeTickInterval,t=n.pick,et=n.PlotLineOrBand,ot=n.removeEvent,st=n.splat,ht=n.syncTimeout,e=n.Tick;n.Axis=function(){this.init.apply(this,arguments)};n.Axis.prototype={defaultOptions:{dateTimeLabelFormats:{millisecond:"%H:%M:%S.%L",second:"%H:%M:%S",minute:"%H:%M",hour:"%H:%M",day:"%e. %b",week:"%e. %b",month:"%b '%y",year:"%Y"},endOnTick:!1,labels:{enabled:!0,style:{color:"#666666",cursor:"default",fontSize:"11px"},x:0},minPadding:.01,maxPadding:.01,minorTickLength:2,minorTickPosition:"outside",startOfWeek:1,startOnTick:!1,tickLength:10,tickmarkPlacement:"between",tickPixelInterval:100,tickPosition:"outside",title:{align:"middle",style:{color:"#666666"}},type:"linear",minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#ccd6eb",lineWidth:1,gridLineColor:"#e6e6e6",tickColor:"#ccd6eb"},defaultYAxisOptions:{endOnTick:!0,tickPixelInterval:72,showLastLabel:!0,labels:{x:-8},maxPadding:.05,minPadding:.05,startOnTick:!0,title:{rotation:270,text:"Values"},stackLabels:{enabled:!1,formatter:function(){return n.numberFormat(this.total,-1)},style:{fontSize:"11px",fontWeight:"bold",color:"#000000",textShadow:"1px 1px contrast, -1px -1px contrast, -1px 1px contrast, 1px -1px contrast"}},gridLineWidth:1,lineWidth:0},defaultLeftAxisOptions:{labels:{x:-15},title:{rotation:270}},defaultRightAxisOptions:{labels:{x:15},title:{rotation:90}},defaultBottomAxisOptions:{labels:{autoRotation:[-45],x:0},title:{rotation:0}},defaultTopAxisOptions:{labels:{autoRotation:[-45],x:0},title:{rotation:0}},init:function(n,r){var e=r.isX,u=this,s,c;u.chart=n;u.horiz=n.inverted?!e:e;u.isXAxis=e;u.coll=u.coll||(e?"xAxis":"yAxis");u.opposite=r.opposite;u.side=r.side||(u.horiz?u.opposite?0:2:u.opposite?1:3);u.setOptions(r);var f=this.options,o=f.type,l=o==="datetime";u.labelFormatter=f.labels.formatter||u.defaultLabelFormatter;u.userOptions=r;u.minPixelPadding=0;u.reversed=f.reversed;u.visible=f.visible!==!1;u.zoomEnabled=f.zoomEnabled!==!1;u.hasNames=o==="category"||f.categories===!0;u.categories=f.categories||u.hasNames;u.names=u.names||[];u.isLog=o==="logarithmic";u.isDatetimeAxis=l;u.isLinked=i(f.linkedTo);u.ticks={};u.labelEdge=[];u.minorTicks={};u.plotLinesAndBands=[];u.alternateBands={};u.len=0;u.minRange=u.userMinRange=f.minRange||f.maxZoom;u.range=f.range;u.offset=f.offset||0;u.stacks={};u.oldStacks={};u.stacksTouched=0;u.max=null;u.min=null;u.crosshair=t(f.crosshair,st(n.options.tooltip.crosshairs)[e?0:1],!1);c=u.options.events;h(u,n.axes)===-1&&(e?n.axes.splice(n.xAxis.length,0,u):n.axes.push(u),n[u.coll].push(u));u.series=u.series||[];n.inverted&&e&&u.reversed===undefined&&(u.reversed=!0);u.removePlotBand=u.removePlotBandOrLine;u.removePlotLine=u.removePlotBandOrLine;for(s in c)b(u,s,c[s]);u.isLog&&(u.val2lin=u.log2lin,u.lin2val=u.lin2log)},setOptions:function(n){this.options=c(this.defaultOptions,this.coll==="yAxis"&&this.defaultYAxisOptions,[this.defaultTopAxisOptions,this.defaultRightAxisOptions,this.defaultBottomAxisOptions,this.defaultLeftAxisOptions][this.side],c(l[this.coll],n))},defaultLabelFormatter:function(){var u=this.axis,t=this.value,c=u.categories,o=this.dateTimeLabelFormat,f=l.lang.numericSymbols,r=f&&f.length,e,i,s=u.options.labels.format,h=u.isLog?t:u.tickInterval;if(s)i=tt(s,this);else if(c)i=t;else if(o)i=n.dateFormat(o,t);else if(r&&h>=1e3)while(r--&&i===undefined)e=Math.pow(1e3,r+1),h>=e&&t*10%e==0&&f[r]!==null&&t!==0&&(i=n.numberFormat(t/e,-1)+f[r]);return i===undefined&&(i=Math.abs(t)>=1e4?n.numberFormat(t,-1):n.numberFormat(t,-1,undefined,"")),i},getSeriesExtremes:function(){var n=this,u=n.chart;n.hasVisibleSeries=!1;n.dataMin=n.dataMax=n.threshold=null;n.softThreshold=!n.isXAxis;n.buildStacks&&n.buildStacks();r(n.series,function(r){if(r.visible||!u.options.chart.ignoreHiddenSeries){var a=r.options,e,c=a.threshold,h,l;n.hasVisibleSeries=!0;n.isLog&&c<=0&&(c=null);n.isXAxis?(e=r.xData,e.length&&(h=s(e),f(h)||h instanceof Date||(e=rt(e,function(n){return f(n)}),h=s(e)),n.dataMin=Math.min(t(n.dataMin,e[0]),h),n.dataMax=Math.max(t(n.dataMax,e[0]),o(e)))):(r.getExtremes(),l=r.dataMax,h=r.dataMin,i(h)&&i(l)&&(n.dataMin=Math.min(t(n.dataMin,h),h),n.dataMax=Math.max(t(n.dataMax,l),l)),i(c)&&(n.threshold=c),(!a.softThreshold||n.isLog)&&(n.softThreshold=!1))}})},translate:function(n,t,i,r,u,e){var o=this.linkedParent||this,s=1,l=0,h=r?o.oldTransA:o.transA,a=r?o.oldMin:o.min,c,v=o.minPixelPadding,y=(o.isOrdinal||o.isBroken||o.isLog&&u)&&o.lin2val;return h||(h=o.transA),i&&(s*=-1,l=o.len),o.reversed&&(s*=-1,l-=s*(o.sector||o.len)),t?(n=n*s+l,n-=v,c=n/h+a,y&&(c=o.lin2val(c))):(y&&(n=o.val2lin(n)),e==="between"&&(e=.5),c=s*(n-a)*h+l+s*v+(f(e)?h*e*o.pointRange:0)),c},toPixels:function(n,t){return this.translate(n,!1,!this.horiz,null,!0)+(t?0:this.pos)},toValue:function(n,t){return this.translate(n-(t?0:this.pos),!0,!this.horiz,null,!0)},getPlotLinePath:function(n,i,r,u,e){var o=this,s=o.chart,v=o.left,y=o.top,h,c,l,a,w=r&&s.oldChartHeight||s.chartHeight,d=r&&s.oldChartWidth||s.chartWidth,p,b=o.transB,k=function(n,t,i){return(ni)&&(u?n=Math.min(Math.max(t,n),i):p=!0),n};return e=t(e,o.translate(n,null,null,r)),h=l=Math.round(e+b),c=a=Math.round(w-e-b),f(e)?o.horiz?(c=y,a=w-o.bottom,h=l=k(h,v,v+o.width)):(h=v,l=d-o.right,c=a=k(c,y,y+o.height)):p=!0,p&&!u?null:s.renderer.crispLine(["M",h,c,"L",l,a],i||1)},getLinearTickPositions:function(n,t,i){var r,e,s=u(Math.floor(t/n)*n),h=u(Math.ceil(i/n)*n),o=[];if(t===i&&f(t))return[t];for(r=s;r<=h;){if(o.push(r),r=u(r+n),r===e)break;e=r}return o},getMinorTickPositions:function(){var n=this,u=n.options,f=n.tickPositions,i=n.minorTickInterval,t=[],e,r,h=n.pointRangePadding||0,o=n.min-h,s=n.max+h,c=s-o,l;if(c&&c/i=n.minRange,a,l,p,v,k,h,w,e;n.isXAxis&&n.minRange===undefined&&!n.isLog&&(i(c.min)||i(c.max)?n.minRange=null:(r(n.series,function(n){for(v=n.xData,k=n.xIncrement?1:v.length-1,l=k;l>0;l--)p=v[l]-v[l-1],(a===undefined||p0&&(this.names.length=0,this.minRange=undefined,r(this.series||[],function(t){t.processedXData||(t.processData(),t.generatePoints());r(t.points,function(i,r){var u;i.options&&i.options.x===undefined&&(u=n.nameToX(i),u!==i.x&&(i.x=u,t.xData[r]=u))})}))},setAxisTranslation:function(n){var i=this,a=i.max-i.min,o=i.axisPointRange||0,e,u=0,f=0,s=i.linkedParent,h,v=!!i.categories,c=i.transA,l=i.isXAxis;(l||v||o)&&(s?(u=s.minPointOffset,f=s.pointRangePadding):(e=i.getClosest(),r(i.series,function(n){var r=v?1:l?t(n.options.pointRange,e,0):i.axisPointRange||0,s=n.options.pointPlacement;o=Math.max(o,r);i.single||(u=Math.max(u,w(s)?0:r/2),f=Math.max(f,s==="on"?0:r))})),h=i.ordinalSlope&&e?i.ordinalSlope/e:1,i.minPointOffset=u=u*h,i.pointRangePadding=f=f*h,i.pointRange=Math.min(o,a),l&&(i.closestPointRange=e));n&&(i.oldTransA=c);i.translationSlope=i.transA=c=i.len/(a+f||1);i.transB=i.horiz?i.left:i.bottom;i.minPixelPadding=c*u},minFromRange:function(){return this.max-this.range},setTickInterval:function(n){var e=this,ht=e.chart,o=e.options,tt=e.isLog,rt=e.log2lin,ut=e.isDatetimeAxis,ct=e.isXAxis,y=e.isLinked,b=o.maxPadding,k=o.minPadding,w,c,h=o.tickInterval,d,g=o.tickPixelInterval,nt=e.categories,s=e.threshold,et=e.softThreshold,ot,st,l,a;ut||nt||y||this.getTickAmount();l=t(e.userMin,o.min);a=t(e.userMax,o.max);y?(e.linkedParent=ht[e.coll][o.linkedTo],c=e.linkedParent.getExtremes(),e.min=t(c.min,c.dataMin),e.max=t(c.max,c.dataMax),o.type!==e.linkedParent.options.type&&v(11,1)):(!et&&i(s)&&(e.dataMin>=s?(ot=s,k=0):e.dataMax<=s&&(st=s,b=0)),e.min=t(l,ot,e.dataMin),e.max=t(a,st,e.dataMax));tt&&(!n&&Math.min(e.min,t(e.dataMin,e.min))<=0&&v(10,1),e.min=u(rt(e.min),15),e.max=u(rt(e.max),15));e.range&&i(e.max)&&(e.userMin=e.min=l=Math.max(e.min,e.minFromRange()),e.userMax=a=e.max,e.range=null);p(e,"foundExtremes");e.beforePadding&&e.beforePadding();e.adjustForMinRange();nt||e.axisPointRange||e.usePercentage||y||!i(e.min)||!i(e.max)||(w=e.max-e.min,w&&(!i(l)&&k&&(e.min-=w*k),!i(a)&&b&&(e.max+=w*b)));f(o.floor)&&(e.min=Math.max(e.min,o.floor));f(o.ceiling)&&(e.max=Math.min(e.max,o.ceiling));et&&i(e.dataMin)&&(s=s||0,!i(l)&&e.min=s?e.min=s:!i(a)&&e.max>s&&e.dataMax<=s&&(e.max=s));e.tickInterval=e.min===e.max||e.min===undefined||e.max===undefined?1:y&&!h&&g===e.linkedParent.options.tickPixelInterval?h=e.linkedParent.tickInterval:t(h,this.tickAmount?(e.max-e.min)/Math.max(this.tickAmount-1,1):undefined,nt?1:(e.max-e.min)*g/Math.max(e.len,g));ct&&!n&&r(e.series,function(n){n.processData(e.min!==e.oldMin||e.max!==e.oldMax)});e.setAxisTranslation(!0);e.beforeSetTickPositions&&e.beforeSetTickPositions();e.postProcessTickInterval&&(e.tickInterval=e.postProcessTickInterval(e.tickInterval));e.pointRange&&!h&&(e.tickInterval=Math.max(e.pointRange,e.tickInterval));d=t(o.minTickInterval,e.isDatetimeAxis&&e.closestPointRange);!h&&e.tickInterval.5&&e.tickInterval<5&&e.max>1e3&&e.max<9999)),!!this.tickAmount));this.tickAmount||(e.tickInterval=e.unsquish());this.setTickPositions()},setTickPositions:function(){var t=this.options,n,u=t.tickPositions,r=t.tickPositioner,e=t.startOnTick,o=t.endOnTick,f;this.tickmarkOffset=this.categories&&t.tickmarkPlacement==="between"&&this.tickInterval===1?.5:0;this.minorTickInterval=t.minorTickInterval==="auto"&&this.tickInterval?this.tickInterval/5:t.minorTickInterval;this.tickPositions=n=u&&u.slice();n||(n=this.isDatetimeAxis?this.getTimeTicks(this.normalizeTimeTickInterval(this.tickInterval,t.units),this.min,this.max,t.startOfWeek,this.ordinalPositions,this.closestPointRange,!0):this.isLog?this.getLogTickPositions(this.tickInterval,this.min,this.max):this.getLinearTickPositions(this.tickInterval,this.min,this.max),n.length>this.len&&(n=[n[0],n.pop()]),this.tickPositions=n,r&&(r=r.apply(this,[this.min,this.max]),r&&(this.tickPositions=n=r)));this.isLinked||(this.trimTicks(n,e,o),this.min===this.max&&i(this.min)&&!this.tickAmount&&(f=!0,this.min-=.5,this.max+=.5),this.single=f,u||r||this.adjustTickAmount())},trimTicks:function(n,t,r){var u=n[0],f=n[n.length-1],e=this.minPointOffset||0;if(t)this.min=u;else while(this.min-e>n[0])n.shift();if(r)this.max=f;else while(this.max+er&&(this.tickInterval*=2,this.setTickPositions());if(i(f)){for(t=o=n.length;t--;)(f===3&&t%2==1||f<=2&&t>0&&t=s&&(r=s)),this.displayBtn=n!==undefined||r!==undefined,this.setExtremes(n,r,!1,undefined,{trigger:"zoom"}),!0},setAxisSize:function(){var n=this.chart,i=this.options,o=i.offsetLeft||0,c=i.offsetRight||0,s=this.horiz,f=t(i.width,n.plotWidth-o+c),r=t(i.height,n.plotHeight),u=t(i.top,n.plotTop),e=t(i.left,n.plotLeft+o),h=/%$/;h.test(r)&&(r=Math.round(parseFloat(r)/100*n.plotHeight));h.test(u)&&(u=Math.round(parseFloat(u)/100*n.plotHeight+n.plotTop));this.left=e;this.top=u;this.width=f;this.height=r;this.bottom=n.chartHeight-r-u;this.right=n.chartWidth-f-e;this.len=Math.max(s?f:r,0);this.pos=s?e:u},getExtremes:function(){var n=this,t=n.isLog,i=n.lin2log;return{min:t?u(i(n.min)):n.min,max:t?u(i(n.max)):n.max,dataMin:n.dataMin,dataMax:n.dataMax,userMin:n.userMin,userMax:n.userMax}},getThreshold:function(n){var t=this,r=t.isLog,u=t.lin2log,i=r?u(t.min):t.min,f=r?u(t.max):t.max;return n===null?n=i:i>n?n=i:f15&&i<165?"right":i>195&&i<345?"left":"center"},tickSize:function(n){var r=this.options,i=r[n+"Length"],u=t(r[n+"Width"],n==="tick"&&this.isXAxis?1:0);if(u&&i)return r[n+"Position"]==="inside"&&(i=-i),[i,u]},labelMetrics:function(){return this.chart.renderer.fontMetrics(this.options.labels.style&&this.options.labels.style.fontSize,this.ticks[0]&&this.ticks[0].label)},unsquish:function(){var n=this.options.labels,y=this.horiz,e=this.tickInterval,o=e,h=this.len/(((this.categories?1:0)+this.max-this.min)/e),c,u=n.rotation,l=this.labelMetrics(),s,a=Number.MAX_VALUE,f,v=function(n){var t=n/(h||1);return t=t>1?Math.ceil(t):1,t*e};return y?(f=!n.staggerLines&&!n.step&&(i(u)?[u]:h=-90&&n<=90)&&(s=v(Math.abs(l.h/Math.sin(nt*n))),t=s+Math.abs(n/360),tf&&(f=n.labelLength)}),this.maxLabelLength=f,this.autoRotation)f>y&&f>l.h?i.rotation=this.labelRotation:this.labelRotation=0;else if(h&&(u={width:y+"px"},!p))for(u.textOverflow="clip",a=e.length;!k&&a--;)v=e[a],n=s[v].label,n&&(n.styles&&n.styles.textOverflow==="ellipsis"?n.css({textOverflow:"clip"}):s[v].labelLength>h&&n.css({width:h+"px"}),n.getBBox().height>this.len/e.length-(l.h-l.f)&&(n.specCss={textOverflow:"ellipsis"}));i.rotation&&(u={width:(f>o.chartHeight*.5?o.chartHeight*.33:o.chartHeight)+"px"},p||(u.textOverflow="ellipsis"));this.labelAlign=t.align||this.autoLabelAlign(this.labelRotation);this.labelAlign&&(i.align=this.labelAlign);r(e,function(n){var r=s[n],t=r&&r.label;t&&(t.attr(i),u&&t.css(c(u,t.specCss)),delete t.specCss,r.rotation=i.rotation)});this.tickRotCorr=b.rotCorr(l.b,this.labelRotation||0,this.side!==0)},hasData:function(){return this.hasVisibleSeries||i(this.min)&&i(this.max)&&!!this.tickPositions},getOffset:function(){var n=this,a=n.chart,v=a.renderer,o=n.options,k=n.tickPositions,s=n.ticks,y=n.horiz,u=n.side,ut=a.inverted?[1,0,3,2][u]:u,p,d,ft=0,g,et=0,f=o.title,c=o.labels,h=0,l,ot=n.opposite,nt=a.axisOffset,st=a.clipOffset,ht,w=[-1,1,1,-1][u],tt,it=o.className,b,rt=n.axisParent,ct,lt=this.tickSize("tick");if(p=n.hasData(),n.showAxis=d=p||t(o.showEmpty,!0),n.staggerLines=n.horiz&&c.staggerLines,n.axisGroup||(n.gridGroup=v.g("grid").attr({zIndex:o.gridZIndex||1}).addClass("highcharts-"+this.coll.toLowerCase()+"-grid "+(it||"")).add(rt),n.axisGroup=v.g("axis").attr({zIndex:o.zIndex||2}).addClass("highcharts-"+this.coll.toLowerCase()+" "+(it||"")).add(rt),n.labelGroup=v.g("axis-labels").attr({zIndex:c.zIndex||7}).addClass("highcharts-"+n.coll.toLowerCase()+"-labels "+(it||"")).add(rt)),p||n.isLinked)r(k,function(t){s[t]?s[t].addLabel():s[t]=new e(n,t)}),n.renderUnsquish(),c.reserveSpace!==!1&&(u===0||u===2||{1:"left",3:"right"}[u]===n.labelAlign||n.labelAlign==="center")&&r(k,function(n){h=Math.max(s[n].getLabelSize(),h)}),n.staggerLines&&(h*=n.staggerLines,n.labelOffset=h*(n.opposite?-1:1));else for(tt in s)s[tt].destroy(),delete s[tt];f&&f.text&&f.enabled!==!1&&(n.axisTitle||(b=f.textAlign,b||(b=(y?{low:"left",middle:"center",high:"right"}:{low:ot?"right":"left",middle:"center",high:ot?"left":"right"})[f.align]),n.axisTitle=v.text(f.text,0,0,f.useHTML).attr({zIndex:7,rotation:f.rotation||0,align:b}).addClass("highcharts-axis-title").css(f.style).add(n.axisGroup),n.axisTitle.isNew=!0),d&&(ft=n.axisTitle.getBBox()[y?"height":"width"],g=f.offset,et=i(g)?0:t(f.margin,y?5:10)),n.axisTitle[d?"show":"hide"](!0));n.renderLine();n.offset=w*t(o.offset,nt[u]);n.tickRotCorr=n.tickRotCorr||{x:0,y:0};ct=u===0?-n.labelMetrics().h:u===2?n.tickRotCorr.y:0;l=Math.abs(h)+et;h&&(l-=ct,l+=w*(y?t(c.y,n.tickRotCorr.y+w*8):c.x));n.axisTitleMargin=t(g,l);nt[u]=Math.max(nt[u],n.axisTitleMargin+ft+w*n.offset,l,p&&k.length&<?lt[0]:0);ht=o.offset?0:Math.floor(n.axisLine.strokeWidth()/2)*2;st[ut]=Math.max(st[ut],ht)},getLinePath:function(n){var t=this.chart,r=this.opposite,u=this.offset,i=this.horiz,f=this.left+(r?this.width:0)+u,e=t.chartHeight-this.bottom-(r?this.height:0)+u;return r&&(n*=-1),t.renderer.crispLine(["M",i?this.left:f,i?e:this.top,"L",i?t.chartWidth-this.right:f,i?e:t.chartHeight-this.bottom],n)},renderLine:function(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,zIndex:7}))},getTitlePosition:function(){var n=this.horiz,f=this.left,e=this.top,i=this.len,t=this.options.title,r=n?f:e,u=this.opposite,o=this.offset,s=t.x||0,h=t.y||0,a=this.chart.renderer.fontMetrics(t.style&&t.style.fontSize,this.axisTitle).f,c={low:r+(n?0:i),middle:r+i/2,high:r+(n?i:0)}[t.align],l=(n?e+this.height:f)+(n?1:-1)*(u?-1:1)*this.axisTitleMargin+(this.side===2?a:0);return{x:n?c+s:l+(u?this.width:0)+o+s,y:n?l+h-(u?this.height:0)+o:c+h}},render:function(){var n=this,c=n.chart,it=c.renderer,l=n.options,p=n.isLog,w=n.lin2log,b=n.isLinked,h=n.tickPositions,a=n.axisTitle,t=n.ticks,u=n.minorTicks,i=n.alternateBands,d=l.stackLabels,g=l.alternateGridColor,o=n.tickmarkOffset,s=n.axisLine,rt=c.hasRendered,nt=rt&&f(n.oldMin),tt=n.showAxis,ut=k(it.globalAnimation),y,v;n.labelEdge.length=0;n.overlap=!1;r([t,u,i],function(n){var t;for(t in n)n[t].isActive=!1});(n.hasData()||b)&&(n.minorTickInterval&&!n.categories&&r(n.getMinorTickPositions(),function(t){u[t]||(u[t]=new e(n,t,"minor"));nt&&u[t].isNew&&u[t].render(null,!0);u[t].render(null,!1,1)}),h.length&&(r(h,function(i,r){(!b||i>=n.min&&i<=n.max)&&(t[i]||(t[i]=new e(n,i)),nt&&t[i].isNew&&t[i].render(r,!0,.1),t[i].render(r))}),o&&(n.min===0||n.single)&&(t[-1]||(t[-1]=new e(n,-1,null,!0)),t[-1].render(-1))),g&&r(h,function(t,r){v=h[r+1]!==undefined?h[r+1]+o:n.max-o;r%2==0&&t=t.second?0:p*Math.floor(v.getMilliseconds()/p));y>=t.second&&v[i.hcSetSeconds](y>=t.minute?0:p*Math.floor(v.getSeconds()/p));y>=t.minute&&v[i.hcSetMinutes](y>=t.hour?0:p*Math.floor(v[i.hcGetMinutes]()/p));y>=t.hour&&v[i.hcSetHours](y>=t.day?0:p*Math.floor(v[i.hcGetHours]()/p));y>=t.day&&v[i.hcSetDate](y>=t.month?1:p*Math.floor(v[i.hcGetDate]()/p));y>=t.month&&(v[i.hcSetMonth](y>=t.year?0:p*Math.floor(v[i.hcGetMonth]()/p)),w=v[i.hcGetFullYear]());y>=t.year&&(w-=w%p,v[i.hcSetFullYear](w));y===t.week&&v[i.hcSetDate](v[i.hcGetDate]()-v[i.hcGetDay]()+a(l,1));d=1;(i.hcTimezoneOffset||i.hcGetTimezoneOffset)&&(v=v.getTime(),v=new i(v+r(v)));w=v[i.hcGetFullYear]();for(var b=v.getTime(),it=v[i.hcGetMonth](),rt=v[i.hcGetDate](),ut=!tt||!!i.hcGetTimezoneOffset,ft=(t.day+(tt?r(v):v.getTimezoneOffset()*6e4))%t.day;b=.5)n=Math.round(n),c=s.getLinearTickPositions(n,t,e);else if(n>=.08)for(g=Math.floor(t),y=n>.3?[1,2,4]:n>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9],l=g;lt&&(!o||h<=e)&&h!==undefined&&c.push(h),h>e&&(w=!0),h=p;else{var tt=v(t),it=v(e),rt=b[o?"minorTickInterval":"tickInterval"],ut=rt==="auto"?null:rt,ft=b.tickPixelInterval/(o?5:1),et=o?k/s.tickPositions.length:k;n=f(ut,s._minorAutoInterval,(it-tt)*ft/(et||1));n=u(n,null,i(n));c=r(s.getLinearTickPositions(n,tt,it),d);o||(s._minorAutoInterval=n/5)}return o||(s.tickInterval=n),c};t.prototype.log2lin=function(n){return Math.log(n)/Math.LN10};t.prototype.lin2log=function(n){return Math.pow(10,n)}}(n),function(n){"use strict";var o=n.addEvent,f=n.dateFormat,i=n.each,s=n.extend,h=n.format,c=n.isNumber,e=n.map,l=n.merge,t=n.pick,r=n.splat,a=n.stop,v=n.syncTimeout,u=n.timeUnits;n.Tooltip=function(){this.init.apply(this,arguments)};n.Tooltip.prototype={init:function(n,t){this.chart=n;this.options=t;this.crosshairs=[];this.now={x:0,y:0};this.isHidden=!0;this.split=t.split&&!n.inverted;this.shared=t.shared||this.split;this.split?this.label=this.chart.renderer.g("tooltip"):(this.label=n.renderer.label("",0,0,t.shape||"callout",null,null,t.useHTML,null,"tooltip").attr({padding:t.padding,r:t.borderRadius,display:"none"}),this.label.attr({fill:t.backgroundColor,"stroke-width":t.borderWidth}).css(t.style).shadow(t.shadow));this.label.attr({zIndex:8}).add()},update:function(n){this.destroy();this.init(this.chart,l(!0,this.options,n))},destroy:function(){this.label&&(this.label=this.label.destroy());clearTimeout(this.hideTimer);clearTimeout(this.tooltipTimeout)},move:function(n,t,i,r){var u=this,f=u.now,e=u.options.animation!==!1&&!u.isHidden&&(Math.abs(n-f.x)>1||Math.abs(t-f.y)>1),o=u.followPointer||u.len>1;s(f,{x:e?(2*f.x+n)/3:n,y:e?(f.y+t)/2:t,anchorX:o?undefined:e?(2*f.anchorX+i)/3:i,anchorY:o?undefined:e?(f.anchorY+r)/2:r});u.label.attr(f);e&&(clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){u&&u.move(n,t,i,r)},32))},hide:function(n){var i=this;clearTimeout(this.hideTimer);n=t(n,this.options.hideDelay,500);this.isHidden||(this.hideTimer=v(function(){i.label[n?"fadeOut":"hide"]();i.isHidden=!0},n))},getAnchor:function(n,t){var f,u=this.chart,o=u.inverted,c=u.plotTop,v=u.plotLeft,s=0,h=0,l,a;return n=r(n),f=n[0].tooltipPos,this.followPointer&&t&&(t.chartX===undefined&&(t=u.pointer.normalize(t)),f=[t.chartX-u.plotLeft,t.chartY-c]),f||(i(n,function(n){l=n.series.yAxis;a=n.series.xAxis;s+=n.plotX+(!o&&a?a.left-v:0);h+=(n.plotLow?(n.plotLow+n.plotHigh)/2:n.plotY)+(!o&&l?l.top-c:0)}),s/=n.length,h/=n.length,f=[o?u.plotWidth-h:s,this.shared&&!o&&n.length>1&&t?t.chartY-c:o?u.plotHeight-s:h]),e(f,Math.round)},getPosition:function(n,i,r){var u=this.chart,e=this.distance,f={},o=r.h||0,s,h=["y",u.chartHeight,i,r.plotY+u.plotTop,u.plotTop,u.plotTop+u.plotHeight],c=["x",u.chartWidth,n,r.plotX+u.plotLeft,u.plotLeft,u.plotLeft+u.plotWidth],v=!this.followPointer&&t(r.ttBelow,!u.inverted==!!r.negative),y=function(n,t,i,r,u,s){var l=it?c:c+o);else return!1},p=function(n,t,i,r){var u;return rt-e?u=!1:f[n]=rt-i/2?t-i-2:r-i/2,u},l=function(n){var t=h;h=c;c=t;s=n},a=function(){y.apply(0,h)!==!1?p.apply(0,c)!==!1||s||(l(!0),a()):s?f.x=f.y=0:(l(!0),a())};return(u.inverted||this.len>1)&&l(),a(),f},defaultFormatter:function(n){var i=this.points||r(this),t;return t=[n.tooltipFooterHeaderFormatter(i[0])],t=t.concat(n.bodyFormatter(i)),t.push(n.tooltipFooterHeaderFormatter(i[0],!0)),t},refresh:function(n,u){var f=this,l=f.chart,o=f.label,y=f.options,p,w,s,h={},e,v=[],k=y.formatter||f.defaultFormatter,b=l.hoverPoints,d=f.shared,c;clearTimeout(this.hideTimer);f.followPointer=r(n)[0].series.tooltipOptions.followPointer;s=f.getAnchor(n,u);p=s[0];w=s[1];!d||n.series&&n.series.noSharedTooltip?h=n.getLabelConfig():(l.hoverPoints=n,b&&i(b,function(n){n.setState()}),i(n,function(n){n.setState("hover");v.push(n.getLabelConfig())}),h={x:n[0].category,y:n[0].y},h.points=v,this.len=v.length,n=n[0]);e=k.call(h,f);c=n.series;this.distance=t(c.tooltipOptions.distance,16);e===!1?this.hide():(f.isHidden&&(a(o),o.attr({opacity:1,display:"block"}).show()),f.split?this.renderSplit(e,l.hoverPoints):(o.attr({text:e.join?e.join(""):e}),o.removeClass(/highcharts-color-[\d]+/g).addClass("highcharts-color-"+t(n.colorIndex,c.colorIndex)),o.attr({stroke:y.borderColor||n.color||c.color||"#666666"}),f.updatePosition({plotX:p,plotY:w,negative:n.negative,ttBelow:n.ttBelow,h:s[2]||0})),this.isHidden=!1)},renderSplit:function(r,u){function v(n){n.connector=n.connector.destroy();n.destroy()}var s=this,h=[],f=this.chart,a=f.renderer,c=!0,e=this.options,l;i(r.slice(0,r.length-1),function(n,i){var r=u[i-1]||{isHeader:!0,plotX:u[0].plotX},k=r.series||s,y=k.tt,p=r.series||{},g="highcharts-color-"+t(r.colorIndex,p.colorIndex,"none"),d,w,b;y||(k.tt=y=a.label(null,null,null,r.isHeader&&"callout").addClass("highcharts-tooltip-box "+g).attr({padding:e.padding,r:e.borderRadius,fill:e.backgroundColor,stroke:r.color||p.color||"#333333","stroke-width":e.borderWidth}).add(s.label),r.series&&(y.connector=a.path().addClass("highcharts-tooltip-connector "+g).attr({"stroke-width":p.options.lineWidth||2,stroke:r.color||p.color||"#666666"}).add(s.label),o(r.series,"hide",function(){this.tt=v(this.tt)})));y.isActive=!0;y.attr({text:n});b=y.getBBox();r.isHeader?(l=b.height,w=r.plotX+f.plotLeft-b.width/2):w=r.plotX+f.plotLeft-t(e.distance,16)-b.width;w<0&&(c=!1);d=(r.series&&r.series.yAxis&&r.series.yAxis.pos)+(r.plotY||0);d-=f.plotTop;h.push({target:r.isHeader?f.plotHeight+l:d,rank:r.isHeader?1:0,size:k.tt.getBBox().height+1,point:r,x:w,tt:y})});i(f.series,function(n){var t=n.tt;t&&(t.isActive?t.isActive=!1:n.tt=v(t))});n.distribute(h,f.plotHeight+l);i(h,function(n){var i=n.point,u=n.tt,r;r={display:n.pos===undefined?"none":"",x:c||i.isHeader?n.x:i.plotX+f.plotLeft+t(e.distance,16),y:n.pos+f.plotTop};i.isHeader&&(r.anchorX=i.plotX+f.plotLeft,r.anchorY=r.y-100);u.attr(r);i.isHeader||u.connector.attr({d:["M",i.plotX+f.plotLeft,i.plotY+i.series.yAxis.pos,"L",c?i.plotX+f.plotLeft-t(e.distance,16):i.plotX+f.plotLeft+t(e.distance,16),n.pos+f.plotTop+u.getBBox().height/2]})})},updatePosition:function(n){var t=this.chart,i=this.label,r=(this.options.positioner||this.getPosition).call(this,i.width,i.height,n);this.move(Math.round(r.x),Math.round(r.y||0),n.plotX+t.plotLeft,n.plotY+t.plotTop)},getXDateFormat:function(n,t,i){var e,o=t.dateTimeLabelFormats,s=i&&i.closestPointRange,r,l="01-01 00:00:00.000",h={millisecond:15,second:12,minute:9,hour:6,day:3},c,a="millisecond";if(s){c=f("%m-%d %H:%M:%S.%L",n.x);for(r in u){if(s===u.week&&+f("%w",n.x)===i.options.startOfWeek&&c.substr(6)===l.substr(6)){r="week";break}if(u[r]>s){r=a;break}if(h[r]&&c.substr(h[r])!==l.substr(h[r]))break;r!=="week"&&(a=r)}r&&(e=o[r])}else e=o.day;return e||o.year},tooltipFooterHeaderFormatter:function(n,t){var s=t?"footer":"header",r=n.series,u=r.tooltipOptions,i=u.xDateFormat,f=r.xAxis,o=f&&f.options.type==="datetime"&&c(n.key),e=u[s+"Format"];return o&&!i&&(i=this.getXDateFormat(n,u,f)),o&&i&&(e=e.replace("{point.key}","{point.key:"+i+"}")),h(e,{point:n,series:r})},bodyFormatter:function(n){return e(n,function(n){var t=n.series.tooltipOptions;return(t.pointFormatter||n.point.tooltipFormatter).call(n.point,t.pointFormat)})}}}(n),function(n){"use strict";var u=n.addEvent,l=n.attr,r=n.charts,a=n.color,v=n.css,h=n.defined,i=n.doc,t=n.each,f=n.extend,o=n.fireEvent,y=n.offset,s=n.pick,e=n.removeEvent,p=n.splat,c=n.Tooltip,w=n.win;n.hasTouch=i&&i.documentElement.ontouchstart!==undefined;n.Pointer=function(n,t){this.init(n,t)};n.Pointer.prototype={init:function(n,t){this.options=t;this.chart=n;this.runChartClick=t.chart.events&&!!t.chart.events.click;this.pinchDown=[];this.lastValidTouch={};c&&t.tooltip.enabled&&(n.tooltip=new c(n,t.tooltip),this.followTouchMove=s(t.tooltip.followTouchMove,!0));this.setDOMEvents()},zoomOption:function(){var r=this.chart,u=r.options.chart.zoomType,n=/x/.test(u),t=/y/.test(u),i=r.inverted;this.zoomX=n;this.zoomY=t;this.zoomHor=n&&!i||t&&i;this.zoomVert=t&&!i||n&&i;this.hasZoom=n||t},normalize:function(n,t){var r,u,i;return n=n||w.event,n.target||(n.target=n.srcElement),i=n.touches?n.touches.length?n.touches.item(0):n.changedTouches[0]:n,t||(this.chartPosition=t=y(this.chart.container)),i.pageX===undefined?(r=Math.max(n.x,n.clientX-t.left),u=n.y):(r=i.pageX-t.left,u=i.pageY-t.top),f(n,{chartX:Math.round(r),chartY:Math.round(u)})},getCoordinates:function(n){var i={xAxis:[],yAxis:[]};return t(this.chart.axes,function(t){i[t.isXAxis?"xAxis":"yAxis"].push({axis:t,value:t.toValue(n[t.horiz?"chartX":"chartY"])})}),i},runPointActions:function(f){var v=this,p=v.chart,y=p.series,c=p.tooltip,l=c?c.shared:!1,d,g=!0,a=p.hoverPoint,o=p.hoverSeries,h,b,k,nt,tt,e=[],w;if(!l&&!o)for(h=0;ht.series.group.zIndex?-1:1;return i!==0?i:r!==0?r:u})),l)for(h=e.length;h--;)(e[h].clientX!==e[0].clientX||e[h].series.noSharedTooltip)&&e.splice(h,1);if(e[0]&&(e[0]!==v.hoverPoint||c&&c.isHidden)){if(l&&!e[0].series.noSharedTooltip){for(h=0;h>=0;h--)e[h].onMouseOver(f,e[h]!==(o&&o.directTouch&&a||e[0]));if(o&&o.directTouch&&a&&a!==e[0])a.onMouseOver(f,!1);e.length&&c&&c.refresh(e.sort(function(n,t){return n.series.index-t.series.index}),f)}else if(c&&c.refresh(e[0],f),!o||!o.directTouch)e[0].onMouseOver(f);v.prevKDPoint=e[0];g=!1}g&&(d=o&&o.tooltipOptions.followPointer,c&&d&&!c.isHidden&&(b=c.getAnchor([{}],f),c.updatePosition({plotX:b[0],plotY:b[1]})));v._onDocumentMouseMove||(v._onDocumentMouseMove=function(t){if(r[n.hoverChartIndex])r[n.hoverChartIndex].pointer.onDocumentMouseMove(t)},u(i,"mousemove",v._onDocumentMouseMove));t(l?e:[s(a,e[0])],function(n){t(p.axes,function(t){(!n||n.series&&n.series[t.coll]===t)&&t.drawCrosshair(f,n)})})},reset:function(n,r){var o=this,u=o.chart,l=u.hoverSeries,f=u.hoverPoint,c=u.hoverPoints,s=u.tooltip,h=s&&s.shared?c:f;n&&h&&t(p(h),function(t){t.series.isCartesian&&t.plotX===undefined&&(n=!1)});n?s&&h&&(s.refresh(h),f&&(f.setState(f.state,!0),t(u.axes,function(n){n.crosshair&&n.drawCrosshair(null,f)}))):(f&&f.onMouseOut(),c&&t(c,function(n){n.setState()}),l&&l.onMouseOut(),s&&s.hide(r),o._onDocumentMouseMove&&(e(i,"mousemove",o._onDocumentMouseMove),o._onDocumentMouseMove=null),t(u.axes,function(n){n.hideCrosshair()}),o.hoverX=o.prevKDPoint=u.hoverPoints=u.hoverPoint=null)},scaleGroups:function(n,i){var r=this.chart,u;t(r.series,function(t){u=n||t.getPlotBox();t.xAxis&&t.xAxis.zoomEnabled&&(t.group.attr(u),t.markerGroup&&(t.markerGroup.attr(u),t.markerGroup.clip(i?r.clipRect:null)),t.dataLabelsGroup&&t.dataLabelsGroup.attr(u))});r.clipRect.attr(i||r.clipBox)},dragStart:function(n){var t=this.chart;t.mouseIsDown=n.type;t.cancelClick=!1;t.mouseDownX=this.mouseDownX=n.chartX;t.mouseDownY=this.mouseDownY=n.chartY},drag:function(n){var t=this.chart,s=t.options.chart,u=n.chartX,f=n.chartY,p=this.zoomHor,w=this.zoomVert,e=t.plotLeft,o=t.plotTop,l=t.plotWidth,v=t.plotHeight,y,r,i=this.selectionMarker,h=this.mouseDownX,c=this.mouseDownY,b=s.panKey&&n[s.panKey+"Key"];i&&i.touch||(ue+l&&(u=e+l),fo+v&&(f=o+v),this.hasDragged=Math.sqrt(Math.pow(h-u,2)+Math.pow(c-f,2)),this.hasDragged>10&&(y=t.isInsidePlot(h-e,c-o),t.hasCartesianSeries&&(this.zoomX||this.zoomY)&&y&&!b&&(i||(this.selectionMarker=i=t.renderer.rect(e,o,p?1:l,w?1:v,0).attr({fill:s.selectionMarkerFill||a("#335cad").setOpacity(.25).get(),"class":"highcharts-selection-marker",zIndex:7}).add())),i&&p&&(r=u-h,i.attr({width:Math.abs(r),x:(r>0?0:r)+h})),i&&w&&(r=f-c,i.attr({height:Math.abs(r),y:(r>0?0:r)+c})),y&&!i&&s.panning&&t.pan(n,s.panning)))},drop:function(n){var a=this,r=this.chart,u=this.hasPinched;if(this.selectionMarker){var e={originalEvent:n,xAxis:[],yAxis:[]},i=this.selectionMarker,s=i.attr?i.attr("x"):i.x,c=i.attr?i.attr("y"):i.y,y=i.attr?i.attr("width"):i.width,p=i.attr?i.attr("height"):i.height,l;(this.hasDragged||u)&&(t(r.axes,function(t){if(t.zoomEnabled&&h(t.min)&&(u||a[{xAxis:"zoomX",yAxis:"zoomY"}[t.coll]])){var i=t.horiz,r=n.type==="touchend"?t.minPixelPadding:0,f=t.toValue((i?s:c)+r),o=t.toValue((i?s+y:c+p)-r);e[t.coll].push({axis:t,min:Math.min(f,o),max:Math.max(f,o)});l=!0}}),l&&o(r,"selection",e,function(n){r.zoom(f(n,u?{animation:!1}:null))}));this.selectionMarker=this.selectionMarker.destroy();u&&this.scaleGroups()}r&&(v(r.container,{cursor:r._cursor}),r.cancelClick=this.hasDragged>10,r.mouseIsDown=this.hasDragged=this.hasPinched=!1,this.pinchDown=[])},onContainerMouseDown:function(n){n=this.normalize(n);this.zoomOption();n.preventDefault&&n.preventDefault();this.dragStart(n)},onDocumentMouseUp:function(t){r[n.hoverChartIndex]&&r[n.hoverChartIndex].pointer.drop(t)},onDocumentMouseMove:function(n){var t=this.chart,i=this.chartPosition;n=this.normalize(n,i);!i||this.inClass(n.target,"highcharts-tracker")||t.isInsidePlot(n.chartX-t.plotLeft,n.chartY-t.plotTop)||this.reset()},onContainerMouseLeave:function(t){var i=r[n.hoverChartIndex];i&&(t.relatedTarget||t.toElement)&&(i.pointer.reset(),i.pointer.chartPosition=null)},onContainerMouseMove:function(t){var i=this.chart;h(n.hoverChartIndex)&&r[n.hoverChartIndex]&&r[n.hoverChartIndex].mouseIsDown||(n.hoverChartIndex=i.index);t=this.normalize(t);t.returnValue=!1;i.mouseIsDown==="mousedown"&&this.drag(t);(this.inClass(t.target,"highcharts-tracker")||i.isInsidePlot(t.chartX-i.plotLeft,t.chartY-i.plotTop))&&!i.openMenu&&this.runPointActions(t)},inClass:function(n,t){for(var i;n;){if(i=l(n,"class"),i){if(i.indexOf(t)!==-1)return!0;if(i.indexOf("highcharts-container")!==-1)return!1}n=n.parentNode}},onTrackerMouseOut:function(n){var t=this.chart.hoverSeries,i=n.relatedTarget||n.toElement;!t||!i||t.options.stickyTracking||this.inClass(i,"highcharts-tooltip")||this.inClass(i,"highcharts-series-"+t.index)||t.onMouseOut()},onContainerClick:function(n){var t=this.chart,i=t.hoverPoint,r=t.plotLeft,u=t.plotTop;n=this.normalize(n);t.cancelClick||(i&&this.inClass(n.target,"highcharts-tracker")?(o(i.series,"click",f(n,{point:i})),t.hoverPoint&&i.firePointEvent("click",n)):(f(n,this.getCoordinates(n)),t.isInsidePlot(n.chartX-r,n.chartY-u)&&o(t,"click",n)))},setDOMEvents:function(){var t=this,r=t.chart.container;r.onmousedown=function(n){t.onContainerMouseDown(n)};r.onmousemove=function(n){t.onContainerMouseMove(n)};r.onclick=function(n){t.onContainerClick(n)};u(r,"mouseleave",t.onContainerMouseLeave);n.chartCount===1&&u(i,"mouseup",t.onDocumentMouseUp);n.hasTouch&&(r.ontouchstart=function(n){t.onContainerTouchStart(n)},r.ontouchmove=function(n){t.onContainerTouchMove(n)},n.chartCount===1&&u(i,"touchend",t.onDocumentTouchEnd))},destroy:function(){var t;e(this.chart.container,"mouseleave",this.onContainerMouseLeave);n.chartCount||(e(i,"mouseup",this.onDocumentMouseUp),e(i,"touchend",this.onDocumentTouchEnd));clearInterval(this.tooltipTimeout);for(t in this)this[t]=null}}}(n),function(n){"use strict";var i=n.charts,r=n.each,u=n.extend,f=n.map,e=n.noop,t=n.pick,o=n.Pointer;u(o.prototype,{pinchTranslate:function(n,t,i,r,u,f){(this.zoomHor||this.pinchHor)&&this.pinchTranslateDirection(!0,n,t,i,r,u,f);(this.zoomVert||this.pinchVert)&&this.pinchTranslateDirection(!1,n,t,i,r,u,f)},pinchTranslateDirection:function(n,t,i,r,u,f,e,o){var v=this.chart,l=n?"x":"y",d=n?"X":"Y",y="chart"+d,ut=n?"width":"height",g=v["plot"+(n?"Left":"Top")],a,s,nt,h=o||1,tt=v.inverted,p=v.bounds[n?"h":"v"],w=t.length===1,b=t[0][y],c=i[0][y],ft=!w&&t[1][y],k=!w&&i[1][y],it,rt,et,ot=function(){!w&&Math.abs(b-ft)>20&&(h=o||Math.abs(c-k)/Math.abs(b-ft));nt=(g-c)/h+b;a=v["plot"+(n?"Width":"Height")]/h};ot();s=nt;sp.max&&(s=p.max-a,it=!0);it?(c-=.8*(c-e[l][0]),w||(k-=.8*(k-e[l][1])),ot()):e[l]=[c,k];tt||(f[l]=nt-g,f[ut]=a);et=tt?n?"scaleY":"scaleX":"scale"+d;rt=tt?1/h:h;u[ut]=a;u[l]=s;r[et]=h;r["translate"+d]=rt*g+(c-rt*b)},pinch:function(n){var i=this,s=i.chart,o=i.pinchDown,h=n.touches,c=h.length,l=i.lastValidTouch,a=i.hasZoom,v=i.selectionMarker,y={},w=c===1&&(i.inClass(n.target,"highcharts-tracker")&&s.runTrackerClick||i.runChartClick),p={};c>1&&(i.initiated=!0);a&&i.initiated&&!w&&n.preventDefault();f(h,function(n){return i.normalize(n)});n.type==="touchstart"?(r(h,function(n,t){o[t]={chartX:n.chartX,chartY:n.chartY}}),l.x=[o[0].chartX,o[1]&&o[1].chartX],l.y=[o[0].chartY,o[1]&&o[1].chartY],r(s.axes,function(n){if(n.zoomEnabled){var i=s.bounds[n.horiz?"h":"v"],r=n.minPixelPadding,u=n.toPixels(t(n.options.min,n.dataMin)),f=n.toPixels(t(n.options.max,n.dataMax)),e=Math.min(u,f),o=Math.max(u,f);i.min=Math.min(n.pos,e-r);i.max=Math.max(n.pos+n.len,o+r)}}),i.res=!0):o.length&&(v||(i.selectionMarker=v=u({destroy:e,touch:!0},s.plotBox)),i.pinchTranslate(o,h,y,v,p,l),i.hasPinched=a,i.scaleGroups(y,p),!a&&i.followTouchMove&&c===1?this.runPointActions(i.normalize(n)):i.res&&(i.res=!1,this.reset(!1,0)))},touch:function(i,r){var u=this.chart,e,f;n.hoverChartIndex=u.index;i.touches.length===1?(i=this.normalize(i),u.isInsidePlot(i.chartX-u.plotLeft,i.chartY-u.plotTop)&&!u.openMenu?(r&&this.runPointActions(i),i.type==="touchmove"&&(f=this.pinchDown,e=f[0]?Math.sqrt(Math.pow(f[0].chartX-i.chartX,2)+Math.pow(f[0].chartY-i.chartY,2))>=4:!1),t(e,!0)&&this.pinch(i)):r&&this.reset()):i.touches.length===2&&this.pinch(i)},onContainerTouchStart:function(n){this.zoomOption();this.touch(n,!0)},onContainerTouchMove:function(n){this.touch(n)},onDocumentTouchEnd:function(t){i[n.hoverChartIndex]&&i[n.hoverChartIndex].pointer.drop(t)}})}(n),function(n){"use strict";var s=n.addEvent,o=n.charts,h=n.css,c=n.doc,l=n.extend,a=n.noop,i=n.Pointer,v=n.removeEvent,r=n.win,u=n.wrap;if(r.PointerEvent||r.MSPointerEvent){var t={},f=!!r.PointerEvent,y=function(){var n,i=[];i.item=function(n){return this[n]};for(n in t)t.hasOwnProperty(n)&&i.push({pageX:t[n].pageX,pageY:t[n].pageY,target:t[n].target});return i},e=function(t,i,r,u){var f;(t.pointerType==="touch"||t.pointerType===t.MSPOINTER_TYPE_TOUCH)&&o[n.hoverChartIndex]&&(u(t),f=o[n.hoverChartIndex].pointer,f[i]({type:r,target:t.currentTarget,preventDefault:a,touches:y()}))};l(i.prototype,{onContainerPointerDown:function(n){e(n,"onContainerTouchStart","touchstart",function(n){t[n.pointerId]={pageX:n.pageX,pageY:n.pageY,target:n.currentTarget}})},onContainerPointerMove:function(n){e(n,"onContainerTouchMove","touchmove",function(n){t[n.pointerId]={pageX:n.pageX,pageY:n.pageY};t[n.pointerId].target||(t[n.pointerId].target=n.currentTarget)})},onDocumentPointerUp:function(n){e(n,"onDocumentTouchEnd","touchend",function(n){delete t[n.pointerId]})},batchMSEvents:function(n){n(this.chart.container,f?"pointerdown":"MSPointerDown",this.onContainerPointerDown);n(this.chart.container,f?"pointermove":"MSPointerMove",this.onContainerPointerMove);n(c,f?"pointerup":"MSPointerUp",this.onDocumentPointerUp)}});u(i.prototype,"init",function(n,t,i){n.call(this,t,i);this.hasZoom&&h(t.container,{"-ms-touch-action":"none","touch-action":"none"})});u(i.prototype,"setDOMEvents",function(n){n.apply(this);(this.hasZoom||this.followTouchMove)&&this.batchMSEvents(s)});u(i.prototype,"destroy",function(n){this.batchMSEvents(v);n.call(this)})}}(n),function(n){"use strict";var r,o=n.addEvent,s=n.css,h=n.discardElement,f=n.defined,t=n.each,c=n.extend,l=n.isFirefox,e=n.marginNames,u=n.merge,i=n.pick,a=n.setAnimation,v=n.stableSort,y=n.win,p=n.wrap;r=n.Legend=function(n,t){this.init(n,t)};r.prototype={init:function(n,t){this.chart=n;this.setOptions(t);t.enabled&&(this.render(),o(this.chart,"endResize",function(){this.legend.positionCheckboxes()}))},setOptions:function(n){var t=i(n.padding,8);this.options=n;this.itemStyle=n.itemStyle;this.itemHiddenStyle=u(this.itemStyle,n.itemHiddenStyle);this.itemMarginTop=n.itemMarginTop||0;this.padding=t;this.initialItemX=t;this.initialItemY=t-5;this.maxItemWidth=0;this.itemHeight=0;this.symbolWidth=i(n.symbolWidth,16);this.pages=[]},update:function(n,t){var r=this.chart;this.setOptions(u(!0,this.options,n));this.destroy();r.isDirtyLegend=r.isDirtyBox=!0;i(t,!0)&&r.redraw()},colorizeItem:function(n,t){n.legendGroup[t?"removeClass":"addClass"]("highcharts-legend-item-hidden");var f=this,l=f.options,e=n.legendItem,o=n.legendLine,u=n.legendSymbol,i=f.itemHiddenStyle.color,s=t?l.itemStyle.color:i,h=t?n.color||i:i,a=n.options&&n.options.marker,r={fill:h},c;if(e&&e.css({fill:s,color:s}),o&&o.attr({stroke:h}),u){if(a&&u.isMarker&&(r=n.pointAttribs(),!t))for(c in r)r[c]=i;u.attr(r)}},positionItem:function(n){var u=this,f=u.options,s=f.symbolPadding,h=!f.rtl,e=n._legendItemPos,t=e[0],o=e[1],i=n.checkbox,r=n.legendGroup;r&&r.element&&r.translate(h?t:u.legendWidth-t-2*s-4,o);i&&(i.x=t,i.y=o)},destroyItem:function(n){var i=n.checkbox;t(["legendItem","legendLine","legendSymbol","legendGroup"],function(t){n[t]&&(n[t]=n[t].destroy())});i&&h(n.checkbox)},destroy:function(){var n=this,i=n.group,r=n.box;r&&(n.box=r.destroy());t(this.getAllItems(),function(n){t(["legendItem","legendGroup"],function(t){n[t]&&(n[t]=n[t].destroy())})});i&&(n.group=i.destroy())},positionCheckboxes:function(n){var r=this.group.alignAttr,i,u=this.clipHeight||this.legendHeight,f=this.titleHeight;r&&(i=r.translateY,t(this.allItems,function(t){var e=t.checkbox,o;e&&(o=i+f+e.y+(n||0)+3,s(e,{left:r.translateX+t.checkboxOffset+e.x-20+"px",top:o+"px",display:o>i-6&&o(tt||w.chartWidth-2*d-c-r.x)&&(t.itemX=c,t.itemY+=h+t.lastLineHeight+v,t.lastLineHeight=0);t.maxItemWidth=Math.max(t.maxItemWidth,e);t.lastItemY=h+t.itemY+v;t.lastLineHeight=Math.max(s,t.lastLineHeight);n._legendItemPos=[t.itemX,t.itemY];o?t.itemX+=e:(t.itemY+=h+s+v,t.lastLineHeight=s);t.offsetWidth=tt||Math.max((o?t.itemX-c-g:e)+d,t.offsetWidth)},getAllItems:function(){var n=[];return t(this.chart.series,function(t){var r=t&&t.options;t&&i(r.showInLegend,f(r.linkedTo)?!1:undefined,!0)&&(n=n.concat(t.legendItems||(r.legendType==="point"?t.data:t)))}),n},adjustMargins:function(n,r){var o=this.chart,u=this.options,s=u.align.charAt(0)+u.verticalAlign.charAt(0)+u.layout.charAt(0);u.floating||t([/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/],function(t,h){t.test(s)&&!f(n[h])&&(o[e[h]]=Math.max(o[e[h]],o.legend[(h+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][h]*u[h%2?"x":"y"]+i(u.margin,12)+r[h]))})},render:function(){var n=this,l=n.chart,s=l.renderer,e=n.group,f,h,o,r,i=n.box,u=n.options,a=n.padding;n.itemX=n.initialItemX;n.itemY=n.initialItemY;n.offsetWidth=0;n.lastItemY=0;e||(n.group=e=s.g("legend").attr({zIndex:7}).add(),n.contentGroup=s.g().attr({zIndex:1}).add(e),n.scrollGroup=s.g().add(n.contentGroup));n.renderTitle();f=n.getAllItems();v(f,function(n,t){return(n.options&&n.options.legendIndex||0)-(t.options&&t.options.legendIndex||0)});u.reversed&&f.reverse();n.allItems=f;n.display=h=!!f.length;n.lastLineHeight=0;t(f,function(t){n.renderItem(t)});o=(u.width||n.offsetWidth)+a;r=n.lastItemY+n.lastLineHeight+n.titleHeight;r=n.handleOverflow(r);r+=a;i||(n.box=i=s.rect().addClass("highcharts-legend-box").attr({r:u.borderRadius}).add(e),i.isNew=!0);i.attr({stroke:u.borderColor,"stroke-width":u.borderWidth||0,fill:u.backgroundColor||"none"}).shadow(u.shadow);o>0&&r>0&&(i[i.isNew?"attr":"animate"](i.crisp({x:0,y:0,width:o,height:r},i.strokeWidth())),i.isNew=!1);i[h?"show":"hide"]();n.legendWidth=o;n.legendHeight=r;t(f,function(t){n.positionItem(t)});h&&e.align(c({width:o,height:r},u),!0,"spacingBox");l.isResizing||this.positionCheckboxes()},handleOverflow:function(n){var r=this,p=this.chart,o=p.renderer,s=this.options,w=s.y,nt=s.verticalAlign==="top",e=p.spacingBox.height+(nt?-w:w)-this.padding,b=s.maxHeight,h,c=this.clipRect,l=s.navigation,k=i(l.animation,!0),a=l.arrowSize||12,u=this.nav,f=this.pages,v=this.padding,y,d=this.allItems,g=function(n){c.attr({height:n});r.contentGroup.div&&(r.contentGroup.div.style.clip="rect("+v+"px,9999px,"+(v+n)+"px,0)")};return s.layout==="horizontal"&&(e/=2),b&&(e=Math.min(e,b)),f.length=0,n>e&&l.enabled!==!1?(this.clipHeight=h=Math.max(e-20-this.titleHeight-v,0),this.currentPage=i(this.currentPage,1),this.fullHeight=n,t(d,function(n,t){var i=n._legendItemPos[1],u=Math.round(n.legendItem.getBBox().height),r=f.length;(!r||i-f[r-1]>h&&(y||i)!==f[r-1])&&(f.push(y||i),r++);t===d.length-1&&i+u-f[r-1]>h&&f.push(i);i!==y&&(y=i)}),c||(c=r.clipRect=o.clipRect(0,v,9999,0),r.contentGroup.clip(c)),g(h),u||(this.nav=u=o.g().attr({zIndex:1}).add(this.group),this.up=o.symbol("triangle",0,0,a,a).on("click",function(){r.scroll(-1,k)}).add(u),this.pager=o.text("",15,10).addClass("highcharts-legend-navigation").css(l.style).add(u),this.down=o.symbol("triangle-down",0,0,a,a).on("click",function(){r.scroll(1,k)}).add(u)),r.scroll(0),n=e):u&&(g(p.chartHeight),u.hide(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),n},scroll:function(n,t){var e=this.pages,r=e.length,i=this.currentPage+n,o=this.clipHeight,u=this.options.navigation,s=this.pager,h=this.padding,f;i>r&&(i=r);i>0&&(t!==undefined&&a(t,this.chart),this.nav.attr({translateX:h,translateY:o+this.padding+7+this.titleHeight,visibility:"visible"}),this.up.attr({"class":i===1?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"}),s.attr({text:i+"/"+r}),this.down.attr({x:18+this.pager.getBBox().width,"class":i===r?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"}),this.up.attr({fill:i===1?u.inactiveColor:u.activeColor}).css({cursor:i===1?"default":"pointer"}),this.down.attr({fill:i===r?u.inactiveColor:u.activeColor}).css({cursor:i===r?"default":"pointer"}),f=-e[i-1]+this.initialItemY,this.scrollGroup.animate({translateY:f}),this.currentPage=i,this.positionCheckboxes(f))}};n.LegendSymbolMixin={drawRectangle:function(n,t){var u=n.options,r=u.symbolHeight||n.fontMetrics.f,f=u.squareSymbol,e=f?r:n.symbolWidth;t.legendSymbol=this.chart.renderer.rect(f?(n.symbolWidth-r)/2:0,n.baseline-r+1,e,r,i(n.options.symbolRadius,r/2)).addClass("highcharts-point").attr({zIndex:3}).add(t.legendGroup)},drawLineMarker:function(n){var i=this.options,r=i.marker,t,e,o=n.symbolWidth,s=this.chart.renderer,h=this.legendGroup,u=n.baseline-Math.round(n.fontMetrics.b*.3),f={};f={"stroke-width":i.lineWidth||0};i.dashStyle&&(f.dashstyle=i.dashStyle);this.legendLine=s.path(["M",0,u,"L",o,u]).addClass("highcharts-graph").attr(f).add(h);r&&r.enabled!==!1&&(t=r.radius,this.legendSymbol=e=s.symbol(this.symbol,o/2-t,u-t,2*t,2*t,r).addClass("highcharts-point").add(h),e.isMarker=!0)}};(/Trident\/7\.0/.test(y.navigator.userAgent)||l)&&p(r.prototype,"positionItem",function(n,t){var r=this,i=function(){t._legendItemPos&&n.call(r,t)};i();setTimeout(i)})}(n),function(n){"use strict";var l=n.addEvent,ft=n.animate,et=n.animObject,w=n.attr,r=n.doc,ot=n.Axis,st=n.createElement,ht=n.defaultOptions,b=n.discardElement,f=n.charts,k=n.css,e=n.defined,t=n.each,d=n.error,s=n.extend,i=n.fireEvent,h=n.getStyle,g=n.grep,ct=n.isNumber,lt=n.isObject,a=n.isString,at=n.Legend,nt=n.marginNames,c=n.merge,tt=n.Pointer,o=n.pick,v=n.pInt,y=n.removeEvent,p=n.seriesTypes,it=n.splat,vt=n.svg,rt=n.syncTimeout,u=n.win,yt=n.Renderer,ut=n.Chart=function(){this.getArgs.apply(this,arguments)};n.chart=function(n,t,i){return new ut(n,t,i)};ut.prototype={callbacks:[],getArgs:function(){var n=[].slice.call(arguments);(a(n[0])||n[0].nodeName)&&(this.renderTo=n.shift());this.init(n[0],n[1])},init:function(t,i){var u,h=t.series,o,e,r,s;if(t.series=null,u=c(ht,t),u.series=t.series=h,this.userOptions=t,this.respRules=[],o=u.chart,e=o.events,this.margin=[],this.spacing=[],this.bounds={h:{},v:{}},this.callback=i,this.isResizing=0,this.options=u,this.axes=[],this.series=[],this.hasCartesianSeries=o.showAxes,r=this,r.index=f.length,f.push(r),n.chartCount++,e)for(s in e)l(r,s,e[s]);r.xAxis=[];r.yAxis=[];r.pointCount=r.colorCounter=r.symbolCounter=0;r.firstRender()},initSeries:function(n){var u=this,i=u.options.chart,f=n.type||i.type||i.defaultSeriesType,t,r=p[f];return r||d(17,!0),t=new r,t.init(this,n),t},isInsidePlot:function(n,t,i){var r=i?t:n,u=i?n:t;return r>=0&&r<=this.plotWidth&&u>=0&&u<=this.plotHeight},redraw:function(r){var u=this,h=u.axes,e=u.series,a=u.pointer,v=u.legend,y=u.isDirtyLegend,c,p,w=u.hasCartesianSeries,l=u.isDirtyBox,b=e.length,o=b,f,k=u.renderer,d=k.isHidden(),g=[];for(n.setAnimation(r,u),d&&u.cloneRenderTo(),u.layOutTitles();o--;)if(f=e[o],f.options.stacking&&(c=!0,f.isDirty)){p=!0;break}if(p)for(o=b;o--;)f=e[o],f.options.stacking&&(f.isDirty=!0);t(e,function(n){n.isDirty&&n.options.legendType==="point"&&(n.updateTotals&&n.updateTotals(),y=!0);n.isDirtyData&&i(n,"updatedData")});y&&v.options.enabled&&(v.render(),u.isDirtyLegend=!1);c&&u.getStacks();w&&t(h,function(n){n.updateNames();n.setScale()});u.getMargins();w&&(t(h,function(n){n.isDirty&&(l=!0)}),t(h,function(n){var t=n.min+","+n.max;n.extKey!==t&&(n.extKey=t,g.push(function(){i(n,"afterSetExtremes",s(n.eventArgs,n.getExtremes()));delete n.eventArgs}));(l||c)&&n.redraw()}));l&&u.drawChartBox();t(e,function(n){n.isDirty&&n.visible&&(!n.isCartesian||n.xAxis)&&n.redraw()});a&&a.reset(!0);k.draw();i(u,"redraw");d&&u.cloneRenderTo(!0);t(g,function(n){n.call()})},get:function(n){for(var e=this,f=e.axes,i=e.series,r,u,t=0;t19?n.containerHeight:400))},cloneRenderTo:function(n){var t=this.renderToClone,i=this.container;if(n){if(t){while(t.childNodes.length)this.renderTo.appendChild(t.firstChild);b(t);delete this.renderToClone}}else i&&i.parentNode===this.renderTo&&this.renderTo.removeChild(i),this.renderToClone=t=this.renderTo.cloneNode(0),k(t,{position:"absolute",top:"-9999px",display:"block"}),t.style.setProperty&&t.style.setProperty("display","block","important"),r.body.appendChild(t),i&&t.appendChild(i)},setClassName:function(n){this.container.className="highcharts-container "+(n||"")},getContainer:function(){var t=this,o,h=t.options,u=h.chart,c,l,i=t.renderTo,y="data-highcharts-chart",e,p,k="highcharts-"+n.idCounter++,b;i||(t.renderTo=i=u.renderTo);a(i)&&(t.renderTo=i=r.getElementById(i));i||d(13,!0);e=v(w(i,y));ct(e)&&f[e]&&f[e].hasRendered&&f[e].destroy();w(i,y,t.index);i.innerHTML="";u.skipClone||i.offsetWidth||t.cloneRenderTo();t.getChartSize();c=t.chartWidth;l=t.chartHeight;b=s({position:"relative",overflow:"hidden",width:c+"px",height:l+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)"});t.container=o=st("div",{id:k},b,t.renderToClone||i);t._cursor=o.style.cursor;p=n[u.renderer]||yt;t.renderer=new p(o,c,l,null,u.forExport,h.exporting&&h.exporting.allowHTML);t.setClassName(u.className);t.renderer.setStyle(u.style);t.renderer.chartIndex=t.index},getMargins:function(n){var t=this,i=t.spacing,r=t.margin,u=t.titleOffset;t.resetMargins();u&&!e(r[0])&&(t.plotTop=Math.max(t.plotTop,u+t.options.title.margin+i[0]));t.legend.display&&t.legend.adjustMargins(r,i);t.extraBottomMargin&&(t.marginBottom+=t.extraBottomMargin);t.extraTopMargin&&(t.plotTop+=t.extraTopMargin);n||this.getAxisMargins()},getAxisMargins:function(){var n=this,i=n.axisOffset=[0,0,0,0],r=n.margin;n.hasCartesianSeries&&t(n.axes,function(n){n.visible&&n.getOffset()});t(nt,function(t,u){e(r[u])||(n[t]+=i[u])});n.setChartSize()},reflow:function(n){var t=this,i=t.options.chart,s=t.renderTo,l=e(i.width),f=i.width||h(s,"width"),o=i.height||h(s,"height"),c=n?n.target:u;!l&&!t.isPrinting&&f&&o&&(c===u||c===r)&&((f!==t.containerWidth||o!==t.containerHeight)&&(clearTimeout(t.reflowTimeout),t.reflowTimeout=rt(function(){t.container&&t.setSize(undefined,undefined,!1)},n?100:0)),t.containerWidth=f,t.containerHeight=o)},initReflow:function(){var n=this,t=function(t){n.reflow(t)};l(u,"resize",t);l(n,"destroy",function(){y(u,"resize",t)})},setSize:function(r,u,f){var e=this,s=e.renderer,o;e.isResizing+=1;n.setAnimation(f,e);e.oldChartHeight=e.chartHeight;e.oldChartWidth=e.chartWidth;r!==undefined&&(e.options.chart.width=r);u!==undefined&&(e.options.chart.height=u);e.getChartSize();o=s.globalAnimation;(o?ft:k)(e.container,{width:e.chartWidth+"px",height:e.chartHeight+"px"},o);e.setChartSize(!0);s.setSize(e.chartWidth,e.chartHeight,f);t(e.axes,function(n){n.isDirty=!0;n.setScale()});t(e.series,function(n){n.isDirty=!0});e.isDirtyLegend=!0;e.isDirtyBox=!0;e.layOutTitles();e.getMargins();e.setResponsive&&e.setResponsive(!1);e.redraw(f);e.oldChartHeight=null;i(e,"resize");rt(function(){e&&i(e,"endResize",null,function(){e.isResizing-=1})},et(o).duration)},setChartSize:function(n){var i=this,a=i.inverted,v=i.renderer,y=i.chartWidth,p=i.chartHeight,w=i.options.chart,r=i.spacing,f=i.clipOffset,s,h,c,l,e,o,u;i.plotLeft=c=Math.round(i.plotLeft);i.plotTop=l=Math.round(i.plotTop);i.plotWidth=e=Math.max(0,Math.round(y-c-i.marginRight));i.plotHeight=o=Math.max(0,Math.round(p-l-i.marginBottom));i.plotSizeX=a?o:e;i.plotSizeY=a?e:o;i.plotBorderWidth=w.plotBorderWidth||0;i.spacingBox=v.spacingBox={x:r[3],y:r[0],width:y-r[3]-r[1],height:p-r[0]-r[2]};i.plotBox=v.plotBox={x:c,y:l,width:e,height:o};u=2*Math.floor(i.plotBorderWidth/2);s=Math.ceil(Math.max(u,f[3])/2);h=Math.ceil(Math.max(u,f[0])/2);i.clipBox={x:s,y:h,width:Math.floor(i.plotSizeX-Math.max(u,f[1])/2-s),height:Math.max(0,Math.floor(i.plotSizeY-Math.max(u,f[2])/2-h))};n||t(i.axes,function(n){n.setAxisSize();n.setAxisTranslation()})},resetMargins:function(){var n=this,i=n.options.chart;t(["margin","spacing"],function(r){var u=i[r],f=lt(u)?u:[u,u,u,u];t(["Top","Right","Bottom","Left"],function(t,u){n[r][u]=o(i[r+t],f[u])})});t(nt,function(t,i){n[t]=o(n.margin[i],n.spacing[i])});n.axisOffset=[0,0,0,0];n.clipOffset=[0,0,0,0]},drawChartBox:function(){var n=this,t=n.options.chart,f=n.renderer,d=n.chartWidth,g=n.chartHeight,e=n.chartBackground,s=n.plotBackground,r=n.plotBorder,u,l=n.plotBGImage,nt=t.backgroundColor,tt=t.plotBackgroundColor,a=t.plotBackgroundImage,o,h,v=n.plotLeft,y=n.plotTop,p=n.plotWidth,w=n.plotHeight,b=n.plotBox,k=n.clipRect,c=n.clipBox,i="animate";e||(n.chartBackground=e=f.rect().addClass("highcharts-background").add(),i="attr");u=t.borderWidth||0;o=u+(t.shadow?8:0);h={fill:nt||"none"};(u||e["stroke-width"])&&(h.stroke=t.borderColor,h["stroke-width"]=u);e.attr(h).shadow(t.shadow);e[i]({x:o/2,y:o/2,width:d-o-u%2,height:g-o-u%2,r:t.borderRadius});i="animate";s||(i="attr",n.plotBackground=s=f.rect().addClass("highcharts-plot-background").add());s[i](b);s.attr({fill:tt||"none"}).shadow(t.plotShadow);a&&(l?l.animate(b):n.plotBGImage=f.image(a,v,y,p,w).add());k?k.animate({width:c.width,height:c.height}):n.clipRect=f.clipRect(c);i="animate";r||(i="attr",n.plotBorder=r=f.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add());r.attr({stroke:t.plotBorderColor,"stroke-width":t.plotBorderWidth||0,fill:"none"});r[i](r.crisp({x:v,y:y,width:p,height:w},-r.strokeWidth()));n.isDirtyBox=!1},propFromSeries:function(){var r=this,u=r.options.chart,n,f=r.options.series,e,i;t(["inverted","angular","polar"],function(t){for(n=p[u.type||u.defaultSeriesType],i=u[t]||n&&n.prototype[t],e=f&&f.length;!i&&e--;)n=p[f[e].type],n&&n.prototype[t]&&(i=!0);r[t]=i})},linkSeries:function(){var n=this,i=n.series;t(i,function(n){n.linkedSeries.length=0});t(i,function(t){var i=t.options.linkedTo;a(i)&&(i=i===":previous"?n.series[t.index-1]:n.get(i),i&&i.linkedParent!==t&&(i.linkedSeries.push(t),t.linkedParent=i,t.visible=o(t.options.visible,i.options.visible,t.visible)))})},renderSeries:function(){t(this.series,function(n){n.translate();n.render()})},renderLabels:function(){var n=this,i=n.options.labels;i.items&&t(i.items,function(t){var r=s(i.style,t.style),u=v(r.left)+n.plotLeft,f=v(r.top)+n.plotTop+12;delete r.left;delete r.top;n.renderer.text(t.html,u,f).attr({zIndex:2}).css(r).add()})},render:function(){var n=this,i=n.axes,o=n.renderer,s=n.options,f,e,r,u;n.setTitle();n.legend=new at(n,s.legend);n.getStacks&&n.getStacks();n.getMargins(!0);n.setChartSize();f=n.plotWidth;e=n.plotHeight=n.plotHeight-21;t(i,function(n){n.setScale()});n.getAxisMargins();r=f/n.plotWidth>1.1;u=e/n.plotHeight>1.05;(r||u)&&(t(i,function(n){(n.horiz&&r||!n.horiz&&u)&&n.setTickInterval(!0)}),n.getMargins());n.drawChartBox();n.hasCartesianSeries&&t(i,function(n){n.visible&&n.render()});n.seriesGroup||(n.seriesGroup=o.g("series-group").attr({zIndex:3}).add());n.renderSeries();n.renderLabels();n.addCredits();n.setResponsive&&n.setResponsive();n.hasRendered=!0},addCredits:function(n){var t=this;n=c(!0,this.options.credits,n);n.enabled&&!this.credits&&(this.credits=this.renderer.text(n.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){n.href&&(u.location.href=n.href)}).attr({align:n.position.align,zIndex:8}).css(n.style).add().align(n.position),this.credits.update=function(n){t.credits=t.credits.destroy();t.addCredits(n)})},destroy:function(){var r=this,o=r.axes,s=r.series,e=r.container,u,h=e&&e.parentNode;for(i(r,"destroy"),f[r.index]=undefined,n.chartCount--,r.renderTo.removeAttribute("data-highcharts-chart"),y(r),u=o.length;u--;)o[u]=o[u].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),u=s.length;u--;)s[u]=s[u].destroy();t(["title","subtitle","chartBackground","plotBackground","plotBGImage","plotBorder","seriesGroup","clipRect","credits","pointer","rangeSelector","legend","resetZoomButton","tooltip","renderer"],function(n){var t=r[n];t&&t.destroy&&(r[n]=t.destroy())});e&&(e.innerHTML="",y(e),h&&b(e));for(u in r)delete r[u]},isReadyToRender:function(){var n=this;return!vt&&u==u.top&&r.readyState!=="complete"?(r.attachEvent("onreadystatechange",function(){r.detachEvent("onreadystatechange",n.firstRender);r.readyState==="complete"&&n.firstRender()}),!1):!0},firstRender:function(){var n=this,r=n.options;n.isReadyToRender()&&(n.getContainer(),i(n,"init"),n.resetMargins(),n.setChartSize(),n.propFromSeries(),n.getAxes(),t(r.series||[],function(t){n.initSeries(t)}),n.linkSeries(),i(n,"beforeRender"),tt&&(n.pointer=new tt(n,r)),n.render(),n.renderer.draw(),!n.renderer.imgCount&&n.onload&&n.onload(),n.cloneRenderTo(!0))},onload:function(){t([this.callback].concat(this.callbacks),function(n){n&&this.index!==undefined&&n.apply(this,[this])},this);i(this,"load");this.initReflow();this.onload=null}}}(n),function(n){"use strict";var t,f=n.each,r=n.extend,e=n.erase,o=n.fireEvent,s=n.format,h=n.isArray,u=n.isNumber,i=n.pick,c=n.removeEvent;t=n.Point=function(){};t.prototype={init:function(n,t,r){var u=this,f,o=n.chart.options.chart.colorCount,e;return u.series=n,u.color=n.color,u.applyOptions(t,r),n.options.colorByPoint?(f=n.options.colors||n.chart.options.colors,u.color=u.color||f[n.colorCounter],o=f.length,e=n.colorCounter,n.colorCounter++,n.colorCounter===o&&(n.colorCounter=0)):e=n.colorIndex,u.colorIndex=i(u.colorIndex,e),n.chart.pointCount++,u},applyOptions:function(n,f){var e=this,o=e.series,s=o.options.pointValKey||o.pointValKey;return n=t.prototype.optionsToObject.call(this,n),r(e,n),e.options=e.options?r(e.options,n):n,n.group&&delete e.group,s&&(e.y=e[s]),e.isNull=i(e.isValid&&!e.isValid(),e.x===null||!u(e.y,!0)),"name"in e&&f===undefined&&o.xAxis&&o.xAxis.hasNames&&(e.x=o.xAxis.nameToX(e)),e.x===undefined&&o&&(e.x=f===undefined?o.autoIncrement(e):f),e},optionsToObject:function(n){var t={},i=this.series,f=i.options.keys,e=f||i.pointArrayMap||["y"],c=e.length,o,r=0,s=0;if(u(n)||n===null)t[e[0]]=n;else if(h(n))for(!f&&n.length>c&&(o=typeof n[0],o==="string"?t.name=n[0]:o==="number"&&(t.x=n[0]),r++);s=n.value;)n=i[++r];return n&&n.color&&!this.options.color&&(this.color=n.color),n},destroy:function(){var n=this,u=n.series,t=u.chart,i=t.hoverPoints,r;t.pointCount--;i&&(n.setState(),e(i,n),i.length||(t.hoverPoints=null));n===t.hoverPoint&&n.onMouseOut();(n.graphic||n.dataLabel)&&(c(n),n.destroyElements());n.legendItem&&t.legend.destroyItem(n);for(r in n)n[r]=null},destroyElements:function(){for(var t=this,r=["graphic","dataLabel","dataLabelUpper","connector","shadowGroup"],n,i=6;i--;)n=r[i],t[n]&&(t[n]=t[n].destroy())},getLabelConfig:function(){return{x:this.category,y:this.y,color:this.color,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}},tooltipFormatter:function(n){var r=this.series,t=r.tooltipOptions,o=i(t.valueDecimals,""),u=t.valuePrefix||"",e=t.valueSuffix||"";return f(r.pointArrayMap||["y"],function(t){t="{point."+t;(u||e)&&(n=n.replace(t+"}",u+t+"}"+e));n=n.replace(t+"}",t+":,."+o+"f}")}),s(n,{point:this,series:this.series})},firePointEvent:function(n,t,i){var r=this,f=this.series,u=f.options;(u.point.events[n]||r.options&&r.options.events&&r.options.events[n])&&this.importEvents();n==="click"&&u.allowPointSelect&&(i=function(n){r.select&&r.select(null,n.ctrlKey||n.metaKey||n.shiftKey)});o(this,n,t,i)},visible:!0}}(n),function(n){"use strict";var o=n.addEvent,s=n.animObject,d=n.arrayMax,g=n.arrayMin,h=n.correctFloat,u=n.Date,c=n.defaultOptions,nt=n.defaultPlotOptions,r=n.defined,i=n.each,l=n.erase,e=n.error,a=n.extend,v=n.fireEvent,tt=n.grep,y=n.isArray,f=n.isNumber,it=n.isString,rt=n.LegendSymbolMixin,p=n.merge,t=n.pick,ut=n.Point,w=n.removeEvent,ft=n.splat,b=n.stableSort,et=n.SVGElement,k=n.syncTimeout,ot=n.win;n.Series=n.seriesType("line",null,{lineWidth:2,allowPointSelect:!1,showCheckbox:!1,animation:{duration:1e3},events:{},marker:{lineWidth:0,lineColor:"#ffffff",radius:4,states:{hover:{enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{align:"center",formatter:function(){return this.y===null?"":n.numberFormat(this.y,-1)},style:{fontSize:"11px",fontWeight:"bold",color:"contrast",textShadow:"1px 1px contrast, -1px -1px contrast, -1px 1px contrast, 1px -1px contrast"},verticalAlign:"bottom",x:0,y:0,padding:5},cropThreshold:300,pointRange:0,softThreshold:!0,states:{hover:{lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{marker:{}}},stickyTracking:!0,turboThreshold:1e3},{isCartesian:!0,pointClass:ut,sorted:!0,requireSorting:!0,directTouch:!1,axisTypes:["xAxis","yAxis"],colorCounter:0,parallelArrays:["x","y"],coll:"series",init:function(n,r){var u=this,s,f,e=n.series,h=function(n,i){return t(n.options.index,n._i)-t(i.options.index,i._i)};u.chart=n;u.options=r=u.setOptions(r);u.linkedSeries=[];u.bindAxes();a(u,{name:r.name,state:"",visible:r.visible!==!1,selected:r.selected===!0});f=r.events;for(s in f)o(u,s,f[s]);(f&&f.click||r.point&&r.point.events&&r.point.events.click||r.allowPointSelect)&&(n.runTrackerClick=!0);u.getColor();u.getSymbol();i(u.parallelArrays,function(n){u[n+"Data"]=[]});u.setData(r.data,!1);u.isCartesian&&(n.hasCartesianSeries=!0);e.push(u);u._i=e.length-1;b(e,h);this.yAxis&&b(this.yAxis.series,h);i(e,function(n,t){n.index=t;n.name=n.name||"Series "+(t+1)})},bindAxes:function(){var n=this,t=n.options,u=n.chart,r;i(n.axisTypes||[],function(f){i(u[f],function(i){r=i.options;(t[f]===r.index||t[f]!==undefined&&t[f]===r.id||t[f]===undefined&&r.index===0)&&(i.series.push(n),n[f]=i,i.isDirty=!0)});n[f]||n.optionalAxis===f||e(18,!0)})},updateParallelArrays:function(n,t){var r=n.series,u=arguments,e=f(t)?function(i){var u=i==="y"&&r.toYData?r.toYData(n):n[i];r[i+"Data"][t]=u}:function(n){Array.prototype[t].apply(r[n+"Data"],Array.prototype.slice.call(u,2))};i(r.parallelArrays,e)},autoIncrement:function(){var e=this.options,i=this.xIncrement,n,r,f=e.pointIntervalUnit;return i=t(i,e.pointStart,0),this.pointInterval=r=t(this.pointInterval,e.pointInterval,1),f&&(n=new u(i),f==="day"?n=+n[u.hcSetDate](n[u.hcGetDate]()+r):f==="month"?n=+n[u.hcSetMonth](n[u.hcGetMonth]()+r):f==="year"&&(n=+n[u.hcSetFullYear](n[u.hcGetFullYear]()+r)),r=n-i),this.xIncrement=i+r,i},setOptions:function(n){var f=this.chart,h=f.options,e=h.plotOptions,o=f.userOptions||{},u=o.plotOptions||{},s=e[this.type],t,i;return this.userOptions=n,t=p(s,e.series,n),this.tooltipOptions=p(c.tooltip,c.plotOptions[this.type].tooltip,o.tooltip,u.series&&u.series.tooltip,u[this.type]&&u[this.type].tooltip,n.tooltip),s.marker===null&&delete t.marker,this.zoneAxis=t.zoneAxis,i=this.zones=(t.zones||[]).slice(),(t.negativeColor||t.negativeFillColor)&&!t.zones&&i.push({value:t[this.zoneAxis+"Threshold"]||t.threshold||0,className:"highcharts-negative",color:t.negativeColor,fillColor:t.negativeFillColor}),i.length&&r(i[i.length-1].value)&&i.push({color:this.color,fillColor:this.fillColor}),t},getCyclic:function(n,i,u){var f,o=this.userOptions,e=n+"Index",h=n+"Counter",c=u?u.length:t(this.chart.options.chart[n+"Count"],this.chart[n+"Count"]),s;i||(s=t(o[e],o["_"+e]),r(s)?f=s:(o["_"+e]=f=this.chart[h]%c,this.chart[h]+=1),u&&(i=u[f]));f!==undefined&&(this[e]=f);this[n]=i},getColor:function(){this.options.colorByPoint?this.options.color=null:this.getCyclic("color",this.options.color||nt[this.type].color,this.chart.options.colors)},getSymbol:function(){var n=this.options.marker;this.getCyclic("symbol",n.symbol,this.chart.options.symbols);/^url/.test(this.symbol)&&(n.radius=0)},drawLegendSymbol:rt.drawLineMarker,setData:function(n,r,u,o){var h=this,a=h.points,d=a&&a.length||0,c,w=h.options,g=h.chart,v=null,b=h.xAxis,s,nt=w.turboThreshold,l,k=this.xData,p=this.yData,tt=h.pointArrayMap,rt=tt&&tt.length;if(n=n||[],c=n.length,r=t(r,!0),o!==!1&&c&&d===c&&!h.cropped&&!h.hasGroupedData&&h.visible)i(n,function(n,t){a[t].update&&n!==w.data[t]&&a[t].update(n,!1,null,!1)});else{if(h.xIncrement=null,h.colorCounter=0,i(this.parallelArrays,function(n){h[n+"Data"].length=0}),nt&&c>nt){for(s=0;v===null&&sb||t.forceCrop)&&(i[a-1]c?(i=[],l=[]):(i[0]c)&&(o=this.cropData(t.xData,t.yData,h,c),i=o.xData,l=o.yData,y=o.start,p=!0)),u=i.length||1;--u;)f=nt?d(i[u])-d(i[u-1]):i[u]-i[u-1],f>0&&(s===undefined||f=r){o=Math.max(0,f-c);break}for(e=f;eu){s=e+c;break}return{xData:n.slice(o,s),yData:i.slice(o,s),start:o,end:s}},generatePoints:function(){var t=this,y=t.options,e=y.data,i=t.data,l,o=t.processedXData,p=t.processedYData,a=t.pointClass,s=o.length,v=t.cropStart||0,r,f=t.hasGroupedData,h,u=[],n,c;for(i||f||(c=[],c.length=e.length,i=t.data=c),n=0;n0),a=this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||(e[i+1]||o)>=w&&(e[i-1]||o)<=b,l&&a)if(r=t.length,r)while(r--)t[r]!==null&&(u[h++]=t[r]);else u[h++]=t;this.dataMin=g(u);this.dataMax=d(u)},translate:function(){this.processedXData||this.processData();this.generatePoints();for(var i=this,a=i.options,rt=a.stacking,v=i.xAxis,g=v.categories,e=i.yAxis,ut=i.points,et=ut.length,ot=!!i.modifyValue,p=a.pointPlacement,st=p==="between"||f(p),w=a.threshold,ft=a.startFromThreshold?w:0,s,b,nt,k,tt=Number.MAX_VALUE,y=0;y=0&&b<=e.len&&s>=0&&s<=v.len;n.clientX=st?h(v.translate(c,0,0,0,1,p)):s;n.negative=n.y<(w||0);n.category=g&&g[n.x]!==undefined?g[n.x]:n.x;n.isNull||(nt!==undefined&&(tt=Math.min(tt,Math.abs(s-nt))),nt=s)}i.closestPointRangePx=tt},getValidPoints:function(n,t){var i=this.chart;return tt(n||this.points||[],function(n){return t&&!i.isInsidePlot(n.plotX,n.plotY,i.inverted)?!1:!n.isNull})},setClip:function(n){var t=this.chart,u=this.options,o=t.renderer,s=t.inverted,f=this.clipBox,e=f||t.clipBox,i=this.sharedClipKey||["_sharedClip",n&&n.duration,n&&n.easing,e.height,u.xAxis,u.yAxis].join(","),r=t[i],h=t[i+"m"];r||(n&&(e.width=0,t[i+"m"]=h=o.clipRect(-99,s?-t.plotLeft:-t.plotTop,99,s?t.chartWidth:t.chartHeight)),t[i]=r=o.clipRect(e),r.count={length:0});n&&(r.count[this.index]||(r.count[this.index]=!0,r.count.length+=1));u.clip!==!1&&(this.group.clip(n||f?r:t.clipRect),this.markerGroup.clip(h),this.sharedClipKey=i);n||(r.count[this.index]&&(delete r.count[this.index],r.count.length-=1),r.count.length===0&&i&&t[i]&&(f||(t[i]=t[i].destroy()),t[i+"m"]&&(t[i+"m"]=t[i+"m"].destroy())))},animate:function(n){var i=this,t=i.chart,u,f=s(i.options.animation),r;n?i.setClip(f):(r=this.sharedClipKey,u=t[r],u&&u.animate({width:t.plotSizeX},f),t[r+"m"]&&t[r+"m"].animate({width:t.plotSizeX+99},f),i.animate=null)},afterAnimate:function(){this.setClip();v(this,"afterAnimate")},drawPoints:function(){var u=this,y=u.points,k=u.chart,h,s,c,n,i,l,p,r,d=u.options,e=d.marker,o,w,b,v,g=u.markerGroup,nt=u.xAxis,tt=t(e.enabled,nt.isRadial?!0:null,u.closestPointRangePx>2*e.radius);if(e.enabled!==!1||u._hasPointMarkers)for(c=y.length;c--;)n=y[c],h=Math.floor(n.plotX),s=n.plotY,r=n.graphic,o=n.marker||{},w=!!n.marker,b=tt&&o.enabled===undefined||o.enabled,v=n.isInside,b&&f(s)&&n.y!==null?(i=e.radius,l=t(o.symbol,u.symbol),p=l.indexOf("url")===0,r?r[v?"show":"hide"](!0).animate(a({x:h-i,y:s-i},r.symbolName?{width:2*i,height:2*i}:{})):v&&(i>0||p)&&(n.graphic=r=k.renderer.symbol(l,h-i,s-i,2*i,2*i,w?o:e).attr({r:i}).add(g)),r&&r.attr(u.pointAttribs(n,n.selected&&"select")),r&&r.addClass(n.getClassName(),!0)):r&&(n.graphic=r.destroy())},pointAttribs:function(n,t){var r=this.options.marker,i,u=n&&n.options,f=u&&u.marker||{},c,l=r.lineWidth,e=this.color,v=u&&u.color,y=n&&n.color,a,o,s,h;return n&&this.zones.length&&(h=n.getZone(),h&&h.color&&(a=h.color)),e=v||a||y||e,o=f.fillColor||r.fillColor||e,s=f.lineColor||r.lineColor||e,t&&(i=r.states[t],c=f.states&&f.states[t]||{},l=i.lineWidth||l+i.lineWidthPlus,o=c.fillColor||i.fillColor||o,s=c.lineColor||i.lineColor||s),{stroke:s,"stroke-width":l,fill:o}},destroy:function(){var n=this,f=n.chart,h=/AppleWebKit\/533/.test(ot.navigator.userAgent),o,e,s=n.data||[],u,t,r;for(v(n,"destroy"),w(n),i(n.axisTypes||[],function(t){r=n[t];r&&r.series&&(l(r.series,n),r.isDirty=r.forceRedraw=!0)}),n.legendItem&&n.chart.legend.destroyItem(n),e=s.length;e--;)u=s[e],u&&u.destroy&&u.destroy();n.points=null;clearTimeout(n.animationTimeout);for(t in n)n[t]instanceof et&&!n[t].survive&&(o=h&&t==="group"?"hide":"destroy",n[t][o]());f.hoverSeries===n&&(f.hoverSeries=null);l(f.series,n);for(t in n)delete n[t]},getGraphPath:function(n,t,u){var e=this,h=e.options,f=h.step,c,o=[],l=[],s;return n=n||e.points,c=n.reversed,c&&n.reverse(),f={right:1,center:2}[f]||f&&3,f&&c&&(f=4-f),!h.connectNulls||t||u||(n=this.getValidPoints(n)),i(n,function(i,c){var y=i.plotX,p=i.plotY,a=n[c-1],v;(i.leftCliff||a&&a.rightCliff)&&!u&&(s=!0);i.isNull&&!r(t)&&c>0?s=!h.connectNulls:i.isNull&&!t?s=!0:(c===0||s?v=["M",i.plotX,i.plotY]:e.getPointSpline?v=e.getPointSpline(n,i,c):f?(v=f===1?["L",a.plotX,p]:f===2?["L",(a.plotX+y)/2,a.plotY,"L",(a.plotX+y)/2,p]:["L",y,a.plotY],v.push("L",y,p)):v=["L",y,p],l.push(i.x),f&&l.push(i.x),o.push.apply(o,v),s=!1)}),o.xMap=l,e.graphPath=o,o},drawGraph:function(){var n=this,t=this.options,r=(this.gappedPath||this.getGraphPath).call(this),u=[["graph","highcharts-graph",t.lineColor||this.color,t.dashStyle]];i(this.zones,function(i,r){u.push(["zone-graph-"+r,"highcharts-graph highcharts-zone-graph-"+r+" "+(i.className||""),i.color||n.color,i.dashStyle||t.dashStyle])});i(u,function(i,u){var o=i[0],f=n[o],e;f?(f.endX=r.xMap,f.animate({d:r})):r.length&&(n[o]=n.chart.renderer.path(r).addClass(i[1]).attr({zIndex:1}).add(n.group),e={stroke:i[2],"stroke-width":t.lineWidth,fill:n.fillGraph&&n.color||"none"},i[3]?e.dashstyle=i[3]:t.linecap!=="square"&&(e["stroke-linecap"]=e["stroke-linejoin"]="round"),f=n[o].attr(e).shadow(u<2&&t.shadow));f&&(f.startX=r.xMap,f.isArea=r.isArea)})},applyZones:function(){var k=this,r=this.chart,d=r.renderer,g=this.zones,f,e,o=this.clips||[],n,c=this.graph,l=this.area,a=Math.max(r.chartWidth,r.chartHeight),u=this[(this.zoneAxis||"y")+"Axis"],s,p,w=r.inverted,h,b,v,y,nt=!1;g.length&&(c||l)&&u&&u.min!==undefined&&(p=u.reversed,h=u.horiz,c&&c.hide(),l&&l.hide(),s=u.getExtremes(),i(g,function(i,g){f=p?h?r.plotWidth:0:h?0:u.toPixels(s.min);f=Math.min(Math.max(t(e,f),0),a);e=Math.min(Math.max(Math.round(u.toPixels(t(i.value,s.max),!0)),0),a);nt&&(f=e=u.toPixels(s.max));b=Math.abs(f-e);v=Math.min(f,e);y=Math.max(f,e);u.isXAxis?(n={x:w?y:v,y:0,width:b,height:a},h||(n.x=r.plotHeight-n.x)):(n={x:0,y:w?y:v,width:a,height:b},h&&(n.y=r.plotWidth-n.y));w&&d.isVML&&(n=u.isXAxis?{x:0,y:p?v:y,height:n.width,width:r.chartWidth}:{x:n.y-r.plotLeft-r.spacingBox.x,y:0,width:n.height,height:r.chartHeight});o[g]?o[g].animate(n):(o[g]=d.clipRect(n),c&&k["zone-graph-"+g].clip(o[g]),l&&k["zone-area-"+g].clip(o[g]));nt=i.value>s.max}),this.clips=o)},invertGroups:function(n){function r(){var r={width:t.yAxis.len,height:t.xAxis.len};i(["group","markerGroup"],function(i){t[i]&&t[i].attr(r).invert(n)})}var t=this,u=t.chart;t.xAxis&&(o(u,"resize",r),o(t,"destroy",function(){w(u,"resize",r)}),r(n),t.invertGroups=r)},plotGroup:function(n,t,i,r,u){var f=this[n],e=!f;return e&&(this[n]=f=this.chart.renderer.g(t).attr({zIndex:r||.1}).add(u),f.addClass("highcharts-series-"+this.index+" highcharts-"+this.type+"-series highcharts-color-"+this.colorIndex+" "+(this.options.className||""))),f.attr({visibility:i})[e?"attr":"animate"](this.getPlotBox()),f},getPlotBox:function(){var t=this.chart,i=this.xAxis,n=this.yAxis;return t.inverted&&(i=n,n=this.xAxis),{translateX:i?i.left:t.plotLeft,translateY:n?n.top:t.plotTop,scaleX:1,scaleY:1}},render:function(){var n=this,t=n.chart,i,r=n.options,u=!!n.animate&&t.renderer.isSVG&&s(r.animation).duration,f=n.visible?"inherit":"hidden",e=r.zIndex,o=n.hasRendered,h=t.seriesGroup,c=t.inverted;i=n.plotGroup("group","series",f,e,h);n.markerGroup=n.plotGroup("markerGroup","markers",f,e,h);u&&n.animate(!0);i.inverted=n.isCartesian?c:!1;n.drawGraph&&(n.drawGraph(),n.applyZones());n.drawDataLabels&&n.drawDataLabels();n.visible&&n.drawPoints();n.drawTracker&&n.options.enableMouseTracking!==!1&&n.drawTracker();n.invertGroups(c);r.clip===!1||n.sharedClipKey||o||i.clip(t.clipRect);u&&n.animate();o||(n.animationTimeout=k(function(){n.afterAnimate()},u));n.isDirty=n.isDirtyData=!1;n.hasRendered=!0},redraw:function(){var n=this,i=n.chart,e=n.isDirty||n.isDirtyData,r=n.group,u=n.xAxis,f=n.yAxis;r&&(i.inverted&&r.attr({width:i.plotWidth,height:i.plotHeight}),r.animate({translateX:t(u&&u.left,i.plotLeft),translateY:t(f&&f.top,i.plotTop)}));n.translate();n.render();e&&delete this.kdTree},kdDimensions:1,kdAxisArray:["clientX","plotY"],searchPoint:function(n,t){var i=this,r=i.xAxis,u=i.yAxis,f=i.chart.inverted;return this.searchKDTree({clientX:f?r.len-n.chartY+r.pos:n.chartX-r.pos,plotY:f?u.len-n.chartX+u.pos:n.chartY-u.pos},t)},buildKDTree:function(){function t(i,r,u){var e,f,o=i&&i.length;if(o)return e=n.kdAxisArray[r%u],i.sort(function(n,t){return n[e]-t[e]}),f=Math.floor(o/2),{point:i[f],left:t(i.slice(0,f),r+1,u),right:t(i.slice(f+1),r+1,u)}}function r(){n.kdTree=t(n.getValidPoints(null,!n.directTouch),i,i)}var n=this,i=n.kdDimensions;delete n.kdTree;k(r,n.options.kdNow?0:1)},searchKDTree:function(n,t){function s(n,t){var i=r(n[u])&&r(t[u])?Math.pow(n[u]-t[u],2):null,o=r(n[f])&&r(t[f])?Math.pow(n[f]-t[f],2):null,e=(i||0)+(o||0);t.dist=r(e)?Math.sqrt(e):Number.MAX_VALUE;t.distX=r(i)?Math.sqrt(i):Number.MAX_VALUE}function e(n,t,r,u){var c=t.point,p=o.kdAxisArray[r%u],h,l,a,f=c,v,y;return s(n,c),h=n[p]-c[p],l=h<0?"left":"right",a=h<0?"right":"left",t[l]&&(v=e(n,t[l],r+1,u),f=v[i]0&&u.singleStacks===!1&&(n.points[v][0]=n.points[u.index+","+i+",0"][0])),it==="percent"?(l=w?k:rt,ut&&s[l]&&s[l][i]?(l=s[l][i],n.total=l.total=Math.max(l.total,n.total)+Math.abs(c)||0):n.total=r(n.total+(Math.abs(c)||0))):n.total=r(n.total+(c||0)),n.cum=t(n.cum,b)+(c||0),c!==null&&(n.points[v].push(n.cum),nt[a]=n.cum);it==="percent"&&(h.usePercentage=!0);this.stackedYData=nt;h.oldStacks={}}};f.prototype.setPercentStacks=function(){var n=this,i=n.stackKey,f=n.yAxis.stacks,e=n.processedXData,t;u([i,"-"+i],function(i){for(var s=e.length,h,o,u,c;s--;)h=e[s],t=n.getStackIndicator(t,h,n.index),o=f[i]&&f[i][h],u=o&&o.points[t.key],u&&(c=o.total?100/o.total:0,u[0]=r(u[0]*c),u[1]=r(u[1]*c),n.stackedYData[s]=u[1])})};f.prototype.getStackIndicator=function(n,t,i){return e(n)&&n.x===t?n.index++:n={x:t,index:0},n.key=[i,t,n.index].join(","),n}}(n),function(n){"use strict";var p=n.addEvent,o=n.animate,s=n.Axis,w=n.Chart,h=n.createElement,f=n.css,b=n.defined,i=n.each,c=n.erase,r=n.extend,l=n.fireEvent,e=n.inArray,a=n.isObject,u=n.merge,t=n.pick,k=n.Point,d=n.Series,v=n.seriesTypes,g=n.setAnimation,y=n.splat;r(w.prototype,{addSeries:function(n,i,r){var f,u=this;return n&&(i=t(i,!0),l(u,"addSeries",{options:n},function(){f=u.initSeries(n);u.isDirtyLegend=!0;u.linkSeries();i&&u.redraw(r)})),f},addAxis:function(n,i,r,f){var e=i?"xAxis":"yAxis",o=this.options,h=u(n,{index:this[e].length,isX:i});new s(this,h);o[e]=y(o[e]||{});o[e].push(h);t(r,!0)&&this.redraw(f)},showLoading:function(n){var t=this,e=t.options,i=t.loadingDiv,u=e.loading,s=function(){i&&f(i,{left:t.plotLeft+"px",top:t.plotTop+"px",width:t.plotWidth+"px",height:t.plotHeight+"px"})};i||(t.loadingDiv=i=h("div",{className:"highcharts-loading highcharts-loading-hidden"},null,t.container),t.loadingSpan=h("span",{className:"highcharts-loading-inner"},null,i),p(t,"redraw",s));setTimeout(function(){i.className="highcharts-loading"});t.loadingSpan.innerHTML=n||e.lang.loading;f(i,r(u.style,{zIndex:10}));f(t.loadingSpan,u.labelStyle);t.loadingShown||(f(i,{opacity:0,display:""}),o(i,{opacity:u.style.opacity||.5},{duration:u.showDuration||0}));t.loadingShown=!0;s()},hideLoading:function(){var t=this.options,n=this.loadingDiv;n&&(n.className="highcharts-loading highcharts-loading-hidden",o(n,{opacity:0},{duration:t.loading.hideDuration||100,complete:function(){f(n,{display:"none"})}}));this.loadingShown=!1},propsRequireDirtyBox:["backgroundColor","borderColor","borderWidth","margin","marginTop","marginRight","marginBottom","marginLeft","spacing","spacingTop","spacingRight","spacingBottom","spacingLeft","borderRadius","plotBackgroundColor","plotBackgroundImage","plotBorderColor","plotBorderWidth","plotShadow","shadow"],propsRequireUpdateSeries:["chart.polar","chart.ignoreHiddenSeries","chart.type","colors","plotOptions"],update:function(n,r){var o,h={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle"},f=n.chart,c,s;if(f){u(!0,this.options.chart,f);"className"in f&&this.setClassName(f.className);("inverted"in f||"polar"in f)&&(this.propFromSeries(),c=!0);for(o in f)f.hasOwnProperty(o)&&(e("chart."+o,this.propsRequireUpdateSeries)!==-1&&(s=!0),e(o,this.propsRequireDirtyBox)!==-1&&(this.isDirtyBox=!0));"style"in f&&this.renderer.setStyle(f.style)}for(o in n)this[o]&&typeof this[o].update=="function"?this[o].update(n[o],!1):typeof this[h[o]]=="function"&&this[h[o]](n[o]),o!=="chart"&&e(o,this.propsRequireUpdateSeries)!==-1&&(s=!0);n.colors&&(this.options.colors=n.colors);n.plotOptions&&u(!0,this.options.plotOptions,n.plotOptions);i(["xAxis","yAxis","series"],function(t){n[t]&&i(y(n[t]),function(n){var i=b(n.id)&&this.get(n.id)||this[t][0];i&&i.coll===t&&i.update(n,!1)},this)},this);c&&i(this.axes,function(n){n.update({},!1)});s&&i(this.series,function(n){n.update({},!1)});n.loading&&u(!0,this.options.loading,n.loading);f&&("width"in f||"height"in f)?this.setSize(f.width,f.height):t(r,!0)&&this.redraw()},setSubtitle:function(n){this.setTitle(undefined,n)}});r(k.prototype,{update:function(n,i,r,u){function l(){f.applyOptions(n);f.y===null&&o&&(f.graphic=o.destroy());a(n,!0)&&(o&&o.element&&n&&n.marker&&n.marker.symbol&&(f.graphic=o.destroy()),n&&n.dataLabels&&f.dataLabel&&(f.dataLabel=f.dataLabel.destroy()));s=f.index;e.updateParallelArrays(f,s);c.data[s]=a(c.data[s],!0)?f.options:n;e.isDirty=e.isDirtyData=!0;!e.fixedBox&&e.hasCartesianSeries&&(h.isDirtyBox=!0);c.legendType==="point"&&(h.isDirtyLegend=!0);i&&h.redraw(r)}var f=this,e=f.series,o=f.graphic,s,h=e.chart,c=e.options;i=t(i,!0);u===!1?l():f.firePointEvent("update",{options:n},l)},remove:function(n,t){this.series.removePoint(e(this,this.series.data),n,t)}});r(d.prototype,{addPoint:function(n,i,r,u){var f=this,l=f.options,s=f.data,p=f.chart,a=f.xAxis&&f.xAxis.names,v=l.data,o,y,c=f.xData,e,h;if(i=t(i,!0),o={series:f},f.pointClass.prototype.applyOptions.apply(o,[n]),h=o.x,e=c.length,f.requireSorting&&hh;)e--;f.updateParallelArrays(o,"splice",e,0,0);f.updateParallelArrays(o,e);a&&o.name&&(a[h]=o.name);v.splice(e,0,n);y&&(f.data.splice(e,0,null),f.processData());l.legendType==="point"&&f.generatePoints();r&&(s[0]&&s[0].remove?s[0].remove(!1):(s.shift(),f.updateParallelArrays(o,"shift"),v.shift()));f.isDirty=!0;f.isDirtyData=!0;i&&p.redraw(u)},removePoint:function(n,i,r){var u=this,e=u.data,f=e[n],o=u.points,s=u.chart,h=function(){o&&o.length===e.length&&o.splice(n,1);e.splice(n,1);u.options.data.splice(n,1);u.updateParallelArrays(f||{series:u},"splice",n,1);f&&f.destroy();u.isDirty=!0;u.isDirtyData=!0;i&&s.redraw()};g(r,s);i=t(i,!0);f?f.firePointEvent("remove",null,h):h()},remove:function(n,i,r){function e(){f.destroy();u.isDirtyLegend=u.isDirtyBox=!0;u.linkSeries();t(n,!0)&&u.redraw(i)}var f=this,u=f.chart;r!==!1?l(f,"remove",null,e):e()},update:function(n,f){var s=this,o=this.chart,l=this.userOptions,h=this.type,c=n.type||l.type||o.options.chart.type,y=v[h].prototype,e=["group","markerGroup","dataLabelsGroup"],a;(c&&c!==h||n.zIndex!==undefined)&&(e.length=0);i(e,function(n){e[n]=s[n];delete s[n]});n=u(l,{animation:!1,index:this.index,pointStart:this.xData[0]},{data:this.options.data},n);this.remove(!1,null,!1);for(a in y)this[a]=undefined;r(this,v[c||h].prototype);i(e,function(n){s[n]=e[n]});this.init(o,n);o.linkSeries();t(f,!0)&&o.redraw(!1)}});r(s.prototype,{update:function(n,i){var f=this.chart;n=f.options[this.coll][this.options.index]=u(this.userOptions,n);this.destroy(!0);this.init(f,r(n,{events:undefined}));f.isDirtyBox=!0;t(i,!0)&&f.redraw()},remove:function(n){for(var r=this.chart,u=this.coll,f=this.series,e=f.length;e--;)f[e]&&f[e].remove(!1);c(r.axes,this);c(r[u],this);r.options[u].splice(this.options.index,1);i(r[u],function(n,t){n.options.index=t});this.destroy();r.isDirtyBox=!0;t(n,!0)&&r.redraw()},setTitle:function(n,t){this.update({title:n},t)},setCategories:function(n,t){this.update({categories:n},t)}})}(n),function(n){"use strict";var u=n.color,i=n.each,f=n.LegendSymbolMixin,e=n.map,t=n.pick,r=n.Series,o=n.seriesType;o("area","line",{softThreshold:!1,threshold:0},{singleStacks:!1,getStackPoints:function(){var w=this,s=[],f=[],b=this.xAxis,o=this.yAxis,u=o.stacks[this.stackKey],r={},h=this.points,c=w.index,a=o.series,v=a.length,y,p=t(o.options.reversedStacks,!0)?1:-1,n,l;if(this.options.stacking){for(n=0;n=0&&n=0&&nl&&e>u?(e=Math.max(l,u),f=2*u-e):ea&&f>u?(f=Math.max(a,u),e=2*u-f):f.5,t=Math.round(t)+u,r=f-t,c&&r&&(t-=1,r+=1),{x:n,y:t,width:i,height:r}},translate:function(){var n=this,e=n.chart,o=n.options,a=n.dense=n.closestPointRange*n.xAxis.transA<2,v=n.borderWidth=i(o.borderWidth,a?0:1),u=n.yAxis,y=o.threshold,s=n.translatedThreshold=u.getThreshold(y),f=i(o.minPointLength,5),c=n.getColumnMetrics(),l=c.width,h=n.barW=Math.max(l,1+2*v),p=n.pointXOffset=c.offset;e.inverted&&(s-=.5);o.pointPadding&&(h=Math.ceil(h));r.prototype.translate.apply(n);t(n.points,function(t){var o=i(t.yBottom,s),w=999+Math.abs(o),c=Math.min(Math.max(-w,t.plotY),u.len+w),a=t.plotX+p,y=h,v=Math.min(c,o),b,r=Math.max(c,o)-v;Math.abs(r)f?o-f:s-(b?f:0));t.barX=a;t.pointWidth=l;t.tooltipPos=e.inverted?[u.len+u.pos-e.plotLeft-c,n.xAxis.len-a-y/2,r]:[a+y/2,c+u.pos-e.plotTop,r];t.shapeType="rect";t.shapeArgs=n.crispCol.apply(n,t.isNull?[t.plotX,u.len/2,0,0]:[a,v,y,r])})},getSymbol:c,drawLegendSymbol:s.drawRectangle,drawGraph:function(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")},pointAttribs:function(n,t){var i=this.options,r,e,l=this.pointAttrToOptions||{},a=l.stroke||"borderColor",s=l["stroke-width"]||"borderWidth",u=n&&n.color||this.color,h=i[a]||this.color||u,o=i.dashStyle,c,v;return n&&this.zones.length&&(c=n.getZone(),u=c&&c.color||n.options.color||this.color),t&&(r=i.states[t],v=r.brightness,u=r.color||v!==undefined&&f(u).brighten(r.brightness).get()||u,h=r[a]||h,o=r.dashStyle||o),e={fill:u,stroke:h,"stroke-width":n[s]||i[s]||this[s]||0},i.borderRadius&&(e.r=i.borderRadius),o&&(e.dashstyle=o),e},drawPoints:function(){var n=this,u=this.chart,i=n.options,f=u.renderer,e=i.animationLimit||250,r;t(n.points,function(t){var c=t.plotY,s=t.graphic;o(c)&&t.y!==null?(r=t.shapeArgs,s?(a(s),s[u.pointCount●<\/span> {series.name}<\/span>
',pointFormat:"x: {point.x}<\/b>
y: {point.y}<\/b>
"}},{sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"],takeOrdinalPosition:!1,kdDimensions:2,drawGraph:function(){this.options.lineWidth&&t.prototype.drawGraph.call(this)}})}(n),function(n){"use strict";var t=n.pick,i=n.relativeLength;n.CenteredSeriesMixin={getCenter:function(){for(var u=this.options,o=this.chart,f=2*(u.slicedOffset||0),s,h=o.plotWidth-2*f,c=o.plotHeight-2*f,l=u.center,n=[t(l[0],"50%"),t(l[1],"50%"),u.size||"100%",u.innerSize||0],a=Math.min(h,c),e,r=0;r<4;++r)e=n[r],s=r<2||r===2&&/%$/.test(e),n[r]=i(e,[h,c,a,n[2]][r])+(s?f:0);return n[3]>n[2]&&(n[3]=n[2]),n}}}(n),function(n){"use strict";var r=n.addEvent,e=n.CenteredSeriesMixin,o=n.defined,i=n.each,s=n.extend,u=n.inArray,h=n.LegendSymbolMixin,f=n.noop,t=n.pick,c=n.Point,l=n.Series,a=n.seriesType,v=n.seriesTypes,y=n.setAnimation;a("pie","line",{center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{distance:30,enabled:!0,formatter:function(){return this.y===null?undefined:this.point.name},x:0},ignoreHiddenPoint:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,states:{hover:{brightness:.1,shadow:!1}}},{isCartesian:!1,requireSorting:!1,directTouch:!0,noSharedTooltip:!0,trackerGroups:["group","dataLabelsGroup"],axisTypes:[],pointAttribs:v.column.prototype.pointAttribs,animate:function(n){var t=this,u=t.points,r=t.startAngleRad;n||(i(u,function(n){var i=n.graphic,u=n.shapeArgs;i&&(i.attr({r:n.startR||t.center[3]/2,start:r,end:r}),i.animate({r:u.r,start:u.start,end:u.end},t.options.animation))}),t.animate=null)},updateTotals:function(){for(var i=0,r=this.points,u=r.length,n,f=this.options.ignoreHiddenPoint,t=0;t0&&(n.visible||!f)?n.y/i*100:0,n.total=i},generatePoints:function(){l.prototype.generatePoints.call(this);this.updateTotals()},translate:function(n){this.generatePoints();var u=this,a=0,h=1e3,f=u.options,v=f.slicedOffset,c=v+(f.borderWidth||0),y,p,i,b=f.startAngle||0,w=u.startAngleRad=Math.PI/180*(b-90),g=u.endAngleRad=Math.PI/180*(t(f.endAngle,b+360)-90),k=g-w,d=u.points,o,s,e=f.dataLabels.distance,nt=f.ignoreHiddenPoint,l,tt=d.length,r;for(n||(u.center=n=u.getCenter()),u.getX=function(t,r){return i=Math.asin(Math.min((t-n[1])/(n[2]/2+e),1)),n[0]+(r?-1:1)*Math.cos(i)*(n[2]/2+e)},l=0;l1.5*Math.PI?i-=2*Math.PI:i<-Math.PI/2&&(i+=2*Math.PI),r.slicedTranslation={translateX:Math.round(Math.cos(i)*v),translateY:Math.round(Math.sin(i)*v)},o=Math.cos(i)*n[2]/2,s=Math.sin(i)*n[2]/2,r.tooltipPos=[n[0]+o*.7,n[1]+s*.7],r.half=i<-Math.PI/2||i>Math.PI/2?1:0,r.angle=i,c=Math.min(c,e/5),r.labelPos=[n[0]+o+Math.cos(i)*e,n[1]+s+Math.sin(i)*e,n[0]+o+Math.cos(i)*c,n[1]+s+Math.sin(i)*c,n[0]+o,n[1]+s,e<0?"center":r.half?"right":"left",i]},drawGraph:null,drawPoints:function(){var n=this,h=n.chart,u=h.renderer,r,t,f,e,o=n.options.shadow;o&&!n.shadowGroup&&(n.shadowGroup=u.g("shadow").add(n.group));i(n.points,function(i){if(i.y!==null){t=i.graphic;e=i.shapeArgs;r=i.sliced?i.slicedTranslation:{};var h=i.shadowGroup;o&&!h&&(h=i.shadowGroup=u.g("shadow").add(n.shadowGroup));h&&h.attr(r);f=n.pointAttribs(i,i.selected&&"select");t?t.setRadialReference(n.center).attr(f).animate(s(e,r)):(i.graphic=t=u[i.shapeType](e).addClass(i.getClassName()).setRadialReference(n.center).attr(r).add(n.group),i.visible||t.attr({visibility:"hidden"}),t.attr(f).attr({"stroke-linejoin":"round"}).shadow(o,h))}})},searchPoint:f,sortByAngle:function(n,t){n.sort(function(n,i){return n.angle!==undefined&&(i.angle-n.angle)*t})},drawLegendSymbol:h.drawRectangle,getCenter:e.getCenter,getSymbol:f},{init:function(){c.prototype.init.apply(this,arguments);var n=this,i;return n.name=t(n.name,"Slice"),i=function(t){n.slice(t.type==="select")},r(n,"select",i),r(n,"unselect",i),n},setVisible:function(n,r){var f=this,e=f.series,o=e.chart,s=e.options.ignoreHiddenPoint;r=t(r,s);n!==f.visible&&(f.visible=f.options.visible=n=n===undefined?!f.visible:n,e.options.data[u(f,e.data)]=f.options,i(["graphic","dataLabel","connector","shadowGroup"],function(t){f[t]&&f[t][n?"show":"hide"](!0)}),f.legendItem&&o.legend.colorizeItem(f,n),n||f.state!=="hover"||f.setState(""),s&&(e.isDirty=!0),r&&o.redraw())},slice:function(n,i,r){var f=this,e=f.series,h=e.chart,s;y(r,h);i=t(i,!0);f.sliced=f.options.sliced=n=o(n)?n:!f.sliced;e.options.data[u(f,e.data)]=f.options;s=n?f.slicedTranslation:{translateX:0,translateY:0};f.graphic.animate(s);f.shadowGroup&&f.shadowGroup.animate(s)},haloPath:function(n){var t=this.shapeArgs,i=this.series.chart;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(i.plotLeft+t.x,i.plotTop+t.y,t.r+n,t.r+n,{innerR:this.shapeArgs.r,start:t.start,end:t.end})}})}(n),function(n){"use strict";var c=n.addEvent,l=n.arrayMax,o=n.defined,r=n.each,f=n.extend,a=n.format,s=n.map,h=n.merge,v=n.noop,t=n.pick,y=n.relativeLength,u=n.Series,i=n.seriesTypes,e=n.stableSort,p=n.stop;n.distribute=function(n,t){function a(n,t){return n.target-t.target}for(var h=!0,f=n,c=[],u,l,o=0,i=n.length;i--;)o+=n[i].size;if(o>t){for(e(n,function(n,t){return(t.rank||0)-(n.rank||0)}),i=0,o=0;o<=t;)o+=n[i].size,i++;c=n.splice(i-1,n.length)}for(e(n,a),n=s(n,function(n){return{size:n.size,targets:[n.target]}});h;){for(i=n.length;i--;)u=n[i],l=(Math.min.apply(0,u.targets)+Math.max.apply(0,u.targets))/2,u.pos=Math.min(Math.max(0,l-u.size/2),t-u.size);for(i=n.length,h=!1;i--;)i>0&&n[i-1].pos+n[i-1].size>n[i].pos&&(n[i-1].size+=n[i].size,n[i-1].targets=n[i-1].targets.concat(n[i].targets),n[i-1].pos+n[i-1].size>t&&(n[i-1].pos=t-n[i-1].size),n.splice(i,1),h=!0)}i=0;r(n,function(n){var t=0;r(n.targets,function(){f[i].pos=n.pos+t;t+=f[i].size;i++})});f.push.apply(f,c);e(f,a)};u.prototype.drawDataLabels=function(){var i=this,u=i.options,n=u.dataLabels,b=i.points,l,v,y=i.hasRendered||0,e,s,p=t(n.defer,!0),w=i.chart.renderer;(n.enabled||i._hasPointLabels)&&(i.dlProcessOptions&&i.dlProcessOptions(n),s=i.plotGroup("dataLabelsGroup","data-labels",p&&!y?"hidden":"visible",n.zIndex||6),p&&(s.attr({opacity:+y}),y||c(i,"afterAnimate",function(){i.visible&&s.show(!0);s[u.animation?"animate":"attr"]({opacity:1},{duration:200})})),v=n,r(b,function(r){var b,c=r.dataLabel,k,y,d,g,tt=r.connector,it=!0,p,nt={};if(l=r.dlOptions||r.options&&r.options.dataLabels,b=t(l&&l.enabled,v.enabled)&&r.y!==null,c&&!b)r.dataLabel=c.destroy();else if(b){if(n=h(v,l),p=n.style,g=n.rotation,k=r.getLabelConfig(),e=n.format?a(n.format,k):n.formatter.call(k,n),p.color=t(n.color,p.color,i.color,"#000000"),c)o(e)?(c.attr({text:e}),it=!1):(r.dataLabel=c=c.destroy(),tt&&(r.connector=tt.destroy()));else if(o(e)){y={fill:n.backgroundColor,stroke:n.borderColor,"stroke-width":n.borderWidth,r:n.borderRadius||0,rotation:g,padding:n.padding,zIndex:1};p.color==="contrast"&&(nt.color=n.inside||n.distance<0||!!u.stacking?w.getContrast(r.color||i.color):"#000000");u.cursor&&(nt.cursor=u.cursor);for(d in y)y[d]===undefined&&delete y[d];c=r.dataLabel=w[g?"text":"label"](e,0,-9999,n.shape,null,null,n.useHTML,null,"data-label").attr(y);c.addClass("highcharts-data-label-color-"+r.colorIndex+" "+(n.className||""));c.css(f(p,nt));c.add(s);c.shadow(n.shadow)}c&&i.alignDataLabel(r,c,n,null,it)}}))};u.prototype.alignDataLabel=function(n,i,r,u,e){var h=this.chart,c=h.inverted,l=t(n.plotX,-9999),y=t(n.plotY,-9999),s=i.getBBox(),d,g,a=r.rotation,w,b,v=r.align,nt,k=this.visible&&(n.series.forceDL||h.isInsidePlot(l,Math.round(y),c)||u&&h.isInsidePlot(l,c?u.x+1:u.y+u.height-1,c)),o,tt=t(r.overflow,"justify")==="justify";k&&(d=r.style.fontSize,g=h.renderer.fontMetrics(d,i).b,u=f({x:c?h.plotWidth-y:l,y:Math.round(c?h.plotHeight-l:y),width:0,height:0},u),f(r,{width:s.width,height:s.height}),a?(tt=!1,nt=h.renderer.rotCorr(g,a),o={x:u.x+r.x+u.width/2+nt.x,y:u.y+r.y+{top:0,middle:.5,bottom:1}[r.verticalAlign]*u.height},i[e?"attr":"animate"](o).attr({align:v}),w=(a+720)%360,b=w>180&&w<360,v==="left"?o.y-=b?s.height:0:v==="center"?(o.x-=s.width/2,o.y-=s.height/2):v==="right"&&(o.x-=s.width,o.y-=b?0:s.height)):(i.align(r,null,u),o=i.alignAttr),tt?this.justifyDataLabel(i,r,o,s,u,e):t(r.crop,!0)&&(k=h.isInsidePlot(o.x,o.y)&&h.isInsidePlot(o.x+s.width,o.y+s.height)),r.shape&&!a&&i.attr({anchorX:n.plotX,anchorY:n.plotY}));k||(p(i),i.attr({y:-9999}),i.placed=!1)};u.prototype.justifyDataLabel=function(n,t,i,r,u,f){var s=this.chart,c=t.align,l=t.verticalAlign,e,o,h=n.box?0:n.padding||0;e=i.x+h;e<0&&(c==="right"?t.align="left":t.x=-e,o=!0);e=i.x+r.width-h;e>s.plotWidth&&(c==="left"?t.align="right":t.x=s.plotWidth-e,o=!0);e=i.y+h;e<0&&(l==="bottom"?t.verticalAlign="top":t.y=-e,o=!0);e=i.y+r.height-h;e>s.plotHeight&&(l==="top"?t.verticalAlign="bottom":t.y=s.plotHeight-e,o=!0);o&&(n.placed=!f,n.align(t,null,u))};i.pie&&(i.pie.prototype.drawDataLabels=function(){var i=this,st=i.data,g,nt=i.chart,o=i.options.dataLabels,y=t(o.connectorPadding,10),rt=t(o.connectorWidth,1),ut=nt.plotWidth,ft=nt.plotHeight,h,w=o.distance,tt=i.center,it=tt[2]/2,et=tt[1],ht=w>0,c,b,p,k,ot=[[],[]],a,f,d,v,e=[0,0,0,0];i.visible&&(o.enabled||i._hasPointLabels)&&(u.prototype.drawDataLabels.apply(i),r(st,function(n){n.dataLabel&&n.visible&&(ot[n.half].push(n),n.dataLabel._pos=null)}),r(ot,function(t,r){var h,rt,st=t.length,u,ot,l;if(st)for(i.sortByAngle(t,r-.5),w>0&&(h=Math.max(0,et-it-w),rt=Math.min(et+it+w,nt.plotHeight),u=s(t,function(n){if(n.dataLabel)return l=n.dataLabel.getBBox().height||21,{target:n.labelPos[1]-h+l/2,size:l,rank:n.y}}),n.distribute(u,rt+l-h)),v=0;vrt-2?ot:f,r),c._attr={visibility:d,align:p[6]},c._pos={x:a+o.x+({left:y,right:-y}[p[6]]||0),y:f+o.y-10},p.x=a,p.y=f,i.options.size===null&&(b=c.width,a-but-y&&(e[1]=Math.max(Math.round(a+b-ut+y),e[1])),f-k/2<0?e[0]=Math.max(Math.round(-f+k/2),e[0]):f+k/2>ft&&(e[2]=Math.max(Math.round(f+k/2-ft),e[2])))}),(l(e)===0||this.verifyDataLabelOverflow(e))&&(this.placeDataLabels(),ht&&rt&&r(this.points,function(n){var t;h=n.connector;c=n.dataLabel;c&&c._pos&&n.visible?(d=c._attr.visibility,t=!h,t&&(n.connector=h=nt.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+n.colorIndex).add(i.dataLabelsGroup),h.attr({"stroke-width":rt,stroke:o.connectorColor||n.color||"#666666"})),h[t?"attr":"animate"]({d:i.connectorPath(n.labelPos)}),h.attr("visibility",d)):h&&(n.connector=h.destroy())})))},i.pie.prototype.connectorPath=function(n){var i=n.x,r=n.y;return t(this.options.softConnector,!0)?["M",i+(n[6]==="left"?5:-5),r,"C",i,r,2*n[2]-n[4],2*n[3]-n[5],n[2],n[3],"L",n[4],n[5]]:["M",i+(n[6]==="left"?5:-5),r,"L",n[2],n[3],"L",n[4],n[5]]},i.pie.prototype.placeDataLabels=function(){r(this.points,function(n){var t=n.dataLabel,i;t&&n.visible&&(i=t._pos,i?(t.attr(t._attr),t[t.moved?"animate":"attr"](i),t.moved=!0):t&&t.attr({y:-9999}))})},i.pie.prototype.alignDataLabel=v,i.pie.prototype.verifyDataLabelOverflow=function(n){var t=this.center,u=this.options,f=u.center,r=u.minSize||80,i=r,e;return f[0]!==null?i=Math.max(t[2]-Math.max(n[1],n[3]),r):(i=Math.max(t[2]-n[1]-n[3],r),t[0]+=(n[3]-n[1])/2),f[1]!==null?i=Math.max(Math.min(i,t[2]-Math.max(n[0],n[2])),r):(i=Math.max(Math.min(i,t[2]-n[0]-n[2]),r),t[1]+=(n[0]-n[2])/2),it(this.translatedThreshold,s.yAxis.len)),l=t(r.inside,!!this.options.stacking),a;v&&(f=h(v),f.y<0&&(f.height+=f.y,f.y=0),a=f.y+f.height-s.yAxis.len,a>0&&(f.height-=a),o&&(f={x:s.yAxis.len-f.y-f.height,y:s.xAxis.len-f.x-f.width,width:f.height,height:f.width}),l||(o?(f.x+=c?0:f.width,f.width=0):(f.y+=c?f.height:0,f.height=0)));r.align=t(r.align,!o||l?"center":c?"right":"left");r.verticalAlign=t(r.verticalAlign,o||l?"middle":c?"top":"bottom");u.prototype.alignDataLabel.call(this,n,i,r,f,e)})}(n),function(n){"use strict";var i=n.Chart,t=n.each,r=n.pick,u=n.addEvent;i.prototype.callbacks.push(function(n){function i(){var i=[];t(n.series,function(n){var u=n.options.dataLabels,f=n.dataLabelCollections||["dataLabel"];(u.enabled||n._hasPointLabels)&&!u.allowOverlap&&n.visible&&t(f,function(u){t(n.points,function(n){n[u]&&(n[u].labelrank=r(n.labelrank,n.shapeArgs&&n.shapeArgs.height),i.push(n[u]))})})});n.hideOverlappingLabels(i)}i();u(n,"redraw",i)});i.prototype.hideOverlappingLabels=function(n){for(var s=n.length,f,o,i,r,v,h,c,l,a,e,y=function(n,t,i,r,u,f,e,o){return!(u>n+i||u+et+r||f+ou;i.series.length&&(v||l>Math.min(e.dataMin,e.min))&&(!v||a=t(f.minWidth,0)&&this.chartHeight>=t(f.minHeight,0)};i._id===undefined&&(i._id=n.idCounter++);e=o.call(this);!u[i._id]&&e?i.chartOptions&&(u[i._id]=this.currentOptions(i.chartOptions),this.update(i.chartOptions,r)):u[i._id]&&!e&&(this.update(u[i._id],r),delete u[i._id])};i.prototype.currentOptions=function(n){function t(n,i,r){var o,s;for(o in n)if(u(o,["series","xAxis","yAxis"])>-1)for(n[o]=e(n[o]),r[o]=[],s=0;st.minPixelPadding||t.min===t.dataMin&&t.max===t.dataMax)&&(u=0),t.minPixelPadding-=u))});u(i.prototype,"render",function(n){n.call(this);this.fixTo=null})})(n),function(n){"use strict";var i=n.Axis,l=n.Chart,r=n.color,u,t=n.each,e=n.extend,a=n.isNumber,c=n.Legend,v=n.LegendSymbolMixin,o=n.noop,s=n.merge,f=n.pick,h=n.wrap;u=n.ColorAxis=function(){this.init.apply(this,arguments)};e(u.prototype,i.prototype);e(u.prototype,{defaultColorAxisOptions:{lineWidth:0,minPadding:0,maxPadding:0,gridLineWidth:1,tickPixelInterval:72,startOnTick:!0,endOnTick:!0,offset:0,marker:{animation:{duration:50},width:.01,color:"#999999"},labels:{overflow:"justify"},minColor:"#e6ebf5",maxColor:"#003399",tickLength:5,showInLegend:!0},init:function(n,t){var r=n.options.legend.layout!=="vertical",u;this.coll="colorAxis";u=s(this.defaultColorAxisOptions,{side:r?2:1,reversed:!r},t,{opposite:!r,showEmpty:!1,title:null});i.prototype.init.call(this,n,u);t.dataClasses&&this.initDataClasses(t);this.initStops(t);this.horiz=r;this.zoomEnabled=!1;this.defaultLegendLength=200},tweenColors:function(n,t,i){var r,u;return t.rgba.length&&n.rgba.length?(n=n.rgba,t=t.rgba,r=t[3]!==1||n[3]!==1,u=(r?"rgba(":"rgb(")+Math.round(t[0]+(n[0]-t[0])*(1-i))+","+Math.round(t[1]+(n[1]-t[1])*(1-i))+","+Math.round(t[2]+(n[2]-t[2])*(1-i))+(r?","+(t[3]+(n[3]-t[3])*(1-i)):"")+")"):u=t.input||"none",u},initDataClasses:function(n){var c=this,f=this.chart,e,i=0,o=f.options.chart.colorCount,u=this.options,h=n.dataClasses.length;this.dataClasses=e=[];this.legendItems=[];t(n.dataClasses,function(n,t){var l;n=s(n);e.push(n);n.color||(u.dataClassColor==="category"?(l=f.options.colors,o=l.length,n.color=l[i],n.colorIndex=i,i++,i===o&&(i=0)):n.color=c.tweenColors(r(u.minColor),r(u.maxColor),h<2?.5:t/(h-1)))})},initStops:function(n){this.stops=n.stops||[[0,this.options.minColor],[1,this.options.maxColor]];t(this.stops,function(n){n.color=r(n[1])})},setOptions:function(n){i.prototype.setOptions.call(this,n);this.options.crosshair=this.options.marker},setAxisSize:function(){var n=this.legendSymbol,t=this.chart,e=t.options.legend||{},i,r,u,f;n?(this.left=i=n.attr("x"),this.top=r=n.attr("y"),this.width=u=n.attr("width"),this.height=f=n.attr("height"),this.right=t.chartWidth-i-u,this.bottom=t.chartHeight-r-f,this.len=this.horiz?u:f,this.pos=this.horiz?i:r):this.len=(this.horiz?e.symbolWidth:e.symbolHeight)||this.defaultLegendLength},toColor:function(n,t){var f,e=this.stops,r,u,s,h=this.dataClasses,o,i;if(h){for(i=h.length;i--;)if(o=h[i],r=o.from,u=o.to,(r===undefined||n>=r)&&(u===undefined||n<=u)){s=o.color;t&&(t.dataClass=i,t.colorIndex=o.colorIndex);break}}else{for(this.isLog&&(n=this.val2lin(n)),f=1-(this.max-n)/(this.max-this.min||1),i=e.length;i--;)if(f>e[i][0])break;r=e[i]||e[i+1];u=e[i+1]||r;f=1-(u[0]-f)/(u[0]-r[0]||1);s=this.tweenColors(r.color,u.color,f)}return s},getOffset:function(){var n=this.legendGroup,t=this.chart.axisOffset[this.side];n&&(this.axisParent=n,i.prototype.getOffset.call(this),this.added||(this.added=!0,this.labelLeft=0,this.labelRight=this.width),this.chart.axisOffset[this.side]=t)},setLegendColor:function(){var n,f=this.horiz,t=this.options,i=this.reversed,r=i?1:0,u=i?0:1;n=f?[r,0,u,0]:[0,u,0,r];this.legendColor={linearGradient:{x1:n[0],y1:n[1],x2:n[2],y2:n[3]},stops:t.stops||[[0,t.minColor],[1,t.maxColor]]}},drawLegendSymbol:function(n,t){var u=n.padding,r=n.options,i=this.horiz,e=f(r.symbolWidth,i?this.defaultLegendLength:12),o=f(r.symbolHeight,i?12:this.defaultLegendLength),s=f(r.labelPadding,i?16:30),h=f(r.itemDistance,10);this.setLegendColor();t.legendSymbol=this.chart.renderer.rect(0,n.baseline-11,e,o).attr({zIndex:1}).add(t.legendGroup);this.legendItemWidth=e+u+(i?h:s);this.legendItemHeight=o+u+(i?s:0)},setState:o,visible:!0,setVisible:o,getSeriesExtremes:function(){var n;this.series.length&&(n=this.series[0],this.dataMin=n.valueMin,this.dataMax=n.valueMax)},drawCrosshair:function(n,t){var e=t&&t.plotX,o=t&&t.plotY,r,u=this.pos,f=this.len;t&&(r=this.toPixels(t[t.series.colorKey]),ru+f&&(r=u+f+2),t.plotX=r,t.plotY=this.len-r,i.prototype.drawCrosshair.call(this,n,t),t.plotX=e,t.plotY=o,this.cross&&(this.cross.addClass("highcharts-coloraxis-marker").add(this.legendGroup),this.cross.attr({fill:this.crosshair.color})))},getPlotLinePath:function(n,t,r,u,f){return a(f)?this.horiz?["M",f-4,this.top-6,"L",f+4,this.top-6,f,this.top,"Z"]:["M",this.left,f,"L",this.left-6,f+6,this.left-6,f-6,"Z"]:i.prototype.getPlotLinePath.call(this,n,t,r,u)},update:function(n,r){var u=this.chart,f=u.legend;t(this.series,function(n){n.isDirtyData=!0});n.dataClasses&&f.allItems&&(t(f.allItems,function(n){n.isDataClass&&n.legendGroup.destroy()}),u.isDirtyLegend=!0);u.options[this.coll]=s(this.userOptions,n);i.prototype.update.call(this,n,r);this.legendItem&&(this.setLegendColor(),f.colorizeItem(this,!0))},getDataClassLegendSymbols:function(){var c=this,r=this.chart,u=this.legendItems,f=r.options.legend,s=f.valueDecimals,h=f.valueSuffix||"",i;return u.length||t(this.dataClasses,function(f,l){var a=!0,y=f.from,p=f.to;i="";y===undefined?i="< ":p===undefined&&(i="> ");y!==undefined&&(i+=n.numberFormat(y,s)+h);y!==undefined&&p!==undefined&&(i+=" - ");p!==undefined&&(i+=n.numberFormat(p,s)+h);u.push(e({chart:r,name:i,options:{},drawLegendSymbol:v.drawRectangle,visible:!0,setState:o,isDataClass:!0,setVisible:function(){a=this.visible=!a;t(c.series,function(n){t(n.points,function(n){n.dataClass===l&&n.setVisible(a)})});r.legend.colorizeItem(this,a)}},f))}),u},name:""});t(["fill","stroke"],function(t){n.Fx.prototype[t+"Setter"]=function(){this.elem.attr(t,u.prototype.tweenColors(r(this.start),r(this.end),this.pos))}});h(l.prototype,"getAxes",function(n){var i=this.options,t=i.colorAxis;n.call(this);this.colorAxis=[];t&&new u(this,t)});h(c.prototype,"getAllItems",function(n){var r=[],i=this.chart.colorAxis[0];return i&&i.options&&!i.userOptions.hideLegend&&(i.options.showInLegend&&(i.options.dataClasses?r=r.concat(i.getDataClassLegendSymbols()):r.push(i)),t(i.series,function(n){n.options.showInLegend=!1})),r.concat(n.call(this))});h(c.prototype,"colorizeItem",function(n,t,i){n.call(this,t,i);i&&t.legendColor&&t.legendSymbol.attr({fill:t.legendColor})})}(n),function(n){"use strict";var i=n.defined,t=n.each,r=n.noop,u=n.seriesTypes;n.colorPointMixin={setVisible:function(n){var i=this,r=n?"show":"hide";t(["graphic","dataLabel"],function(n){i[n]&&i[n][r]()})}};n.colorSeriesMixin={pointArrayMap:["value"],axisTypes:["xAxis","yAxis","colorAxis"],optionalAxis:"colorAxis",trackerGroups:["group","markerGroup","dataLabelsGroup"],getSymbol:r,parallelArrays:["x","y","value"],colorKey:"value",pointAttribs:u.column.prototype.pointAttribs,translateColors:function(){var i=this,r=this.options.nullColor,n=this.colorAxis,u=this.colorKey;t(this.data,function(t){var f=t[u],e;e=t.options.color||(f===null?r:n&&f!==undefined?n.toColor(f,t):t.color||i.color);e&&(t.color=e)})},colorAttribs:function(n){var t={};return i(n.color)&&(t[this.colorProp||"fill"]=n.color),t}}}(n),function(n){"use strict";function r(n){n&&(n.preventDefault&&n.preventDefault(),n.stopPropagation&&n.stopPropagation(),n.cancelBubble=!0)}var i=n.addEvent,u=n.Chart,o=n.doc,s=n.each,f=n.extend,e=n.merge,t=n.pick,h=n.wrap;f(u.prototype,{renderMapNavigation:function(){var o=this,c=this.options.mapNavigation,a=c.buttons,s,u,n,l,h,v,y,p=function(n){this.handler.call(o,n);r(n)};if(t(c.enableButtons,c.enabled)&&!o.renderer.forExport){o.mapNavButtons=[];for(s in a)a.hasOwnProperty(s)&&(n=e(c.buttonOptions,a[s]),l=n.theme,l.style=e(n.theme.style,n.style),h=l.states,v=h&&h.hover,y=h&&h.select,u=o.renderer.button(n.text,0,0,p,l,v,y,0,s==="zoomIn"?"topbutton":"bottombutton").addClass("highcharts-map-navigation").attr({width:n.width,height:n.height,title:o.options.lang[s],padding:n.padding,zIndex:5}).add(),u.handler=n.onclick,u.align(f(n,{width:u.width,height:2*u.height}),null,n.alignTo),i(u.element,"dblclick",r),o.mapNavButtons.push(u))}},fitToBox:function(n,t){return s([["x","width"],["y","height"]],function(i){var u=i[0],r=i[1];n[u]+n[r]>t[u]+t[r]&&(n[r]>t[r]?(n[r]=t[r],n[u]=t[u]):n[u]=t[u]+t[r]-n[r]);n[r]>t[r]&&(n[r]=t[r]);n[u]=o.dataMax-o.dataMin&&h.y<=s.dataMin&&h.height>=s.dataMax-s.dataMin;u&&(o.fixTo=[u-o.pos,i]);f&&(s.fixTo=[f-s.pos,r]);n===undefined||nt?(o.setExtremes(undefined,undefined,!1,e),s.setExtremes(undefined,undefined,!1,e)):(o.setExtremes(h.x,h.x+h.width,!0,e),s.setExtremes(h.y,h.y+h.height,!1,e));c.redraw()}});h(u.prototype,"render",function(n){var u=this,f=u.options.mapNavigation;u.renderMapNavigation();n.call(u);(t(f.enableDoubleClickZoom,f.enabled)||f.enableDoubleClickZoomTo)&&i(u.container,"dblclick",function(n){u.pointer.onContainerDblClick(n)});t(f.enableMouseWheelZoom,f.enabled)&&i(u.container,o.onmousewheel===undefined?"DOMMouseScroll":"mousewheel",function(n){u.pointer.onContainerMouseWheel(n);return r(n),!1})})}(n),function(n){"use strict";var r=n.extend,u=n.pick,t=n.Pointer,i=n.wrap;r(t.prototype,{onContainerDblClick:function(n){var t=this.chart;n=this.normalize(n);t.options.mapNavigation.enableDoubleClickZoomTo?t.pointer.inClass(n.target,"highcharts-tracker")&&t.hoverPoint&&t.hoverPoint.zoomTo():t.isInsidePlot(n.chartX-t.plotLeft,n.chartY-t.plotTop)&&t.mapZoom(.5,t.xAxis[0].toValue(n.chartX),t.yAxis[0].toValue(n.chartY),n.chartX,n.chartY)},onContainerMouseWheel:function(n){var t=this.chart,i;n=this.normalize(n);i=n.detail||-(n.wheelDelta/120);t.isInsidePlot(n.chartX-t.plotLeft,n.chartY-t.plotTop)&&t.mapZoom(Math.pow(t.options.mapNavigation.mouseWheelSensitivity,i),t.xAxis[0].toValue(n.chartX),t.yAxis[0].toValue(n.chartY),n.chartX,n.chartY)}});i(t.prototype,"zoomOption",function(n){var t=this.chart.options.mapNavigation;n.apply(this,[].slice.call(arguments,1));u(t.enableTouchZoom,t.enabled)&&(this.pinchX=this.pinchHor=this.pinchY=this.pinchVert=this.hasZoom=!0)});i(t.prototype,"pinchTranslate",function(n,t,i,r,u,f,e){var o;n.call(this,t,i,r,u,f,e);this.chart.options.chart.type==="map"&&this.hasZoom&&(o=r.scaleX>r.scaleY,this.pinchTranslateDirection(!o,t,i,r,u,f,e,o?r.scaleX:r.scaleY))})}(n),function(n){"use strict";var s=n.color,a=n.ColorAxis,v=n.colorPointMixin,y=n.colorSeriesMixin,p=n.doc,t=n.each,h=n.extend,f=n.isNumber,w=n.LegendSymbolMixin,g=n.map,c=n.merge,e=n.noop,i=n.pick,b=n.isArray,o=n.Point,r=n.Series,k=n.seriesType,u=n.seriesTypes,d=n.splat,l=p.documentElement.style.vectorEffect!==undefined;k("map","scatter",{allAreas:!0,animation:!1,nullColor:"#f7f7f7",borderColor:"#cccccc",borderWidth:1,marker:null,stickyTracking:!1,joinBy:"hc-key",dataLabels:{formatter:function(){return this.point.value},inside:!0,verticalAlign:"middle",crop:!1,overflow:!1,padding:0},turboThreshold:0,tooltip:{followPointer:!0,pointFormat:"{point.name}: {point.value}
"},states:{normal:{animation:!0},hover:{brightness:.2,halo:null},select:{color:"#cccccc"}}},c(y,{type:"map",supportsDrilldown:!0,getExtremesFromAll:!0,useMapGeometry:!0,forceDL:!0,searchPoint:e,directTouch:!0,preserveAspectRatio:!0,pointArrayMap:["value"],getBox:function(r){var u=Number.MAX_VALUE,h=-u,c=u,l=-u,a=u,e=u,o=this.xAxis,s=this.yAxis,v;t(r||[],function(t){if(t.path){typeof t.path=="string"&&(t.path=n.splitPath(t.path));var r=t.path||[],o=r.length,k=!1,p=-u,s=u,w=-u,y=u,b=t.properties;if(!t._foundBox){while(o--)f(r[o])&&(k?(p=Math.max(p,r[o]),s=Math.min(s,r[o])):(w=Math.max(w,r[o]),y=Math.min(y,r[o])),k=!k);t._midX=s+(p-s)*(t.middleX||b&&b["hc-middle-x"]||.5);t._midY=y+(w-y)*(t.middleY||b&&b["hc-middle-y"]||.5);t._maxX=p;t._minX=s;t._maxY=w;t._minY=y;t.labelrank=i(t.labelrank,(p-s)*(w-y));t._foundBox=!0}h=Math.max(h,t._maxX);c=Math.min(c,t._minX);l=Math.max(l,t._maxY);a=Math.min(a,t._minY);e=Math.min(t._maxX-t._minX,t._maxY-t._minY,e);v=!0}});v&&(this.minY=Math.min(a,i(this.minY,u)),this.maxY=Math.max(l,i(this.maxY,-u)),this.minX=Math.min(c,i(this.minX,u)),this.maxX=Math.max(h,i(this.maxX,-u)),o&&o.options.minRange===undefined&&(o.minRange=Math.min(5*e,(this.maxX-this.minX)/5,o.minRange||u)),s&&s.options.minRange===undefined&&(s.minRange=Math.min(5*e,(this.maxY-this.minY)/5,s.minRange||u)))},getExtremes:function(){r.prototype.getExtremes.call(this,this.valueData);this.chart.hasRendered&&this.isDirtyData&&this.getBox(this.options.data);this.valueMin=this.dataMin;this.valueMax=this.dataMax;this.dataMin=this.minY;this.dataMax=this.maxY},translatePath:function(n){var o=this,i=!1,r=o.xAxis,u=o.yAxis,s=r.min,h=r.transA,c=r.minPixelPadding,l=u.min,a=u.transA,v=u.minPixelPadding,t,e=[];if(n)for(t=n.length;t--;)f(n[t])?(e[t]=i?(n[t]-s)*h+c:(n[t]-l)*a+v,i=!i):e[t]=n[t];return e},setData:function(i,u,e,o){var y=this.options,k=this.chart.options.chart,g=k&&k.map,h=y.mapData,s=y.joinBy,ft=s===null,nt=y.keys||this.pointArrayMap,a=[],tt={},v,l,p=this.chart.mapTransforms,it,w,ut,rt;if(!h&&g&&(h=typeof g=="string"?n.maps[g]:g),ft&&(s="_i"),s=this.joinBy=d(s),s[1]||(s[1]=s[0]),i&&t(i,function(n,t){var u=0,r;if(f(n))i[t]={value:n};else if(b(n))for(i[t]={},!y.keys&&n.length>nt.length&&typeof n[0]=="string"&&(i[t]["hc-key"]=n[0],++u),r=0;r.99&&f<1.01&&e>.99&&e<1.01&&(f=1,e=1,o=Math.round(o),s=Math.round(s)),this.transformGroup.animate({translateX:o,translateY:s,scaleX:f,scaleY:e}));n.chart&&n.chart.LukoilFixedTooltip&&n.chart.LukoilFixedTooltip.redraw(n.chart);n.chart&&n.chart.lukoilPointClustering&&n.chart.lukoilPointClustering.redraw(n.chart);l||n.group.element.setAttribute("stroke-width",n.options[n.pointAttrToOptions&&n.pointAttrToOptions["stroke-width"]||"borderWidth"]/(f||1));this.drawMapDataLabels()},drawMapDataLabels:function(){r.prototype.drawDataLabels.call(this);this.dataLabelsGroup&&this.dataLabelsGroup.clip(this.chart.clipRect)},render:function(){var n=this,t=r.prototype.render;n.chart.renderer.isVML&&n.data.length>3e3?setTimeout(function(){t.call(n)}):t.call(n)},animate:function(n){var o=this.chart,t=this.options.animation,i=this.group,r=this.xAxis,u=this.yAxis,f=r.pos,e=u.pos;o.renderer.isSVG&&(t===!0&&(t={duration:1e3}),n?i.attr({translateX:f+r.len/2,translateY:e+u.len/2,scaleX:.001,scaleY:.001}):(i.animate({translateX:f,translateY:e,scaleX:1,scaleY:1},t),this.animate=null))},animateDrilldown:function(n){var f=this.chart.plotBox,r=this.chart.drilldownLevels[this.chart.drilldownLevels.length-1],i=r.bBox,e=this.chart.options.drilldown.animation,u;n||(u=Math.min(i.width/f.width,i.height/f.height),r.shapeArgs={scaleX:u,scaleY:u,translateX:i.x,translateY:i.y},t(this.points,function(n){n.graphic&&n.graphic.attr(r.shapeArgs).animate({scaleX:1,scaleY:1,translateX:0,translateY:0},e)}),this.animate=null)},drawLegendSymbol:w.drawRectangle,animateDrillupFrom:function(n){u.column.prototype.animateDrillupFrom.call(this,n)},animateDrillupTo:function(n){u.column.prototype.animateDrillupTo.call(this,n)}}),h({applyOptions:function(n,t){var i=o.prototype.applyOptions.call(this,n,t),u=this.series,f=u.joinBy,r;return u.mapData&&(r=i[f[1]]!==undefined&&u.mapMap[i[f[1]]],r?(u.xyFromShape&&(i.x=r._midX,i.y=r._midY),h(i,r)):i.value=i.value||null),i},onMouseOver:function(n){if(clearTimeout(this.colorInterval),this.value!==null)o.prototype.onMouseOver.call(this,n);else this.series.onMouseOut(n)},onMouseOut:function(){var n=this,f=+new Date,t=s(this.series.pointAttribs(n).fill),i=s(this.series.pointAttribs(n,"hover").fill),r=n.series.options.states.normal.animation,u=r&&(r.duration||500);u&&t.rgba.length===4&&i.rgba.length===4&&n.state!=="select"&&(clearTimeout(n.colorInterval),n.colorInterval=setInterval(function(){var r=(new Date-f)/u,e=n.graphic;r>1&&(r=1);e&&e.attr("fill",a.prototype.tweenColors.call(0,i,t,r));r>=1&&clearTimeout(n.colorInterval)},13));n.isFading=!0;o.prototype.onMouseOut.call(n);n.isFading=null},zoomTo:function(){var n=this,t=n.series;t.xAxis.setExtremes(n._minX,n._maxX,!1);t.yAxis.setExtremes(n._minY,n._maxY,!1);t.chart.redraw()}},v))}(n),function(n){"use strict";var i=n.seriesType,t=n.seriesTypes;i("mapline","map",{lineWidth:1,fillColor:"none"},{type:"mapline",colorProp:"stroke",pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth"},pointAttribs:function(n,i){var r=t.map.prototype.pointAttribs.call(this,n,i);return r.fill=this.options.fillColor,r},drawLegendSymbol:t.line.prototype.drawLegendSymbol})}(n),function(n){"use strict";var t=n.merge,i=n.Point,r=n.seriesType;r("mappoint","scatter",{dataLabels:{enabled:!0,formatter:function(){return this.point.name},crop:!1,defer:!1,overflow:!1,style:{color:"#000000"}}},{type:"mappoint",forceDL:!0},{applyOptions:function(n,r){var u=n.lat!==undefined&&n.lon!==undefined?t(n,this.series.chart.fromLatLonToPoint(n)):n;return i.prototype.applyOptions.call(this,u,r)}})}(n),function(n){"use strict";var i=n.extend,r=n.Point,u=n.seriesType,t=n.seriesTypes;t.bubble&&u("mapbubble","bubble",{animationLimit:500,tooltip:{pointFormat:"{point.name}: {point.z}"}},{xyFromShape:!0,type:"mapbubble",pointArrayMap:["z"],getMapData:t.map.prototype.getMapData,getBox:t.map.prototype.getBox,setData:t.map.prototype.setData},{applyOptions:function(n,u){var f;return n&&n.lat!==undefined&&n.lon!==undefined?(f=r.prototype.applyOptions.call(this,n,u),f=i(f,this.series.chart.fromLatLonToPoint(f))):f=t.map.prototype.pointClass.prototype.applyOptions.call(this,n,u),f},ttBelow:!1})}(n),function(n){"use strict";var f=n.colorPointMixin,e=n.colorSeriesMixin,i=n.each,o=n.LegendSymbolMixin,s=n.merge,r=n.noop,h=n.pick,u=n.Series,c=n.seriesType,t=n.seriesTypes;c("heatmap","scatter",{animation:!1,borderWidth:0,nullColor:"#f7f7f7",dataLabels:{formatter:function(){return this.point.value},inside:!0,verticalAlign:"middle",crop:!1,overflow:!1,padding:0},marker:null,pointRange:null,tooltip:{pointFormat:"{point.x}, {point.y}: {point.value}
"},states:{normal:{animation:!0},hover:{halo:!1,brightness:.2}}},s(e,{pointArrayMap:["y","value"],hasPointSpecificOptions:!0,supportsDrilldown:!0,getExtremesFromAll:!0,directTouch:!0,init:function(){var n;t.scatter.prototype.init.apply(this,arguments);n=this.options;n.pointRange=h(n.pointRange,n.colsize||1);this.yAxis.axisPointRange=n.rowsize||1},translate:function(){var t=this,f=t.options,n=t.xAxis,r=t.yAxis,u=function(n,t,i){return Math.min(Math.max(t,n),i)};t.generatePoints();i(t.points,function(t){var h=(f.colsize||1)/2,c=(f.rowsize||1)/2,i=u(Math.round(n.len-n.translate(t.x-h,0,1,0,1)),-n.len,2*n.len),e=u(Math.round(n.len-n.translate(t.x+h,0,1,0,1)),-n.len,2*n.len),o=u(Math.round(r.translate(t.y-c,0,1,0,1)),-r.len,2*r.len),s=u(Math.round(r.translate(t.y+c,0,1,0,1)),-r.len,2*r.len);t.plotX=t.clientX=(i+e)/2;t.plotY=(o+s)/2;t.shapeType="rect";t.shapeArgs={x:Math.min(i,e),y:Math.min(o,s),width:Math.abs(e-i),height:Math.abs(s-o)}});t.translateColors()},drawPoints:function(){t.column.prototype.drawPoints.call(this);i(this.points,function(n){n.graphic.attr(this.colorAttribs(n,n.state))},this)},animate:r,getBox:r,drawLegendSymbol:o.drawRectangle,alignDataLabel:t.column.prototype.alignDataLabel,getExtremes:function(){u.prototype.getExtremes.call(this,this.valueData);this.valueMin=this.dataMin;this.valueMax=this.dataMax;u.prototype.getExtremes.call(this)}}),f)}(n),function(n){"use strict";function e(n,t){for(var e,o,u=!1,s=n.x,f=n.y,i=0,r=t.length-1;if,o=t[r][1]>f,e!==o&&s<(t[r][0]-t[i][0])*(f-t[i][1])/(t[r][1]-t[i][1])+t[i][0]&&(u=!u);return u}var t=n.Chart,i=n.each,o=n.extend,r=n.error,f=n.format,s=n.merge,u=n.win,h=n.wrap;t.prototype.transformFromLatLon=function(n,t){if(u.proj4===undefined)return r(21),{x:0,y:null};var i=u.proj4(t.crs,[n.lon,n.lat]),f=t.cosAngle||t.rotation&&Math.cos(t.rotation),e=t.sinAngle||t.rotation&&Math.sin(t.rotation),o=t.rotation?[i[0]*f+i[1]*e,-i[0]*e+i[1]*f]:i;return{x:((o[0]-(t.xoffset||0))*(t.scale||1)+(t.xpan||0))*(t.jsonres||1)+(t.jsonmarginX||0),y:(((t.yoffset||0)-o[1])*(t.scale||1)+(t.ypan||0))*(t.jsonres||1)-(t.jsonmarginY||0)}};t.prototype.transformToLatLon=function(n,t){if(u.proj4===undefined){r(21);return}var i={x:((n.x-(t.jsonmarginX||0))/(t.jsonres||1)-(t.xpan||0))/(t.scale||1)+(t.xoffset||0),y:((-n.y-(t.jsonmarginY||0))/(t.jsonres||1)+(t.ypan||0))/(t.scale||1)+(t.yoffset||0)},f=t.cosAngle||t.rotation&&Math.cos(t.rotation),e=t.sinAngle||t.rotation&&Math.sin(t.rotation),o=u.proj4(t.crs,"WGS84",t.rotation?{x:i.x*f+i.y*-e,y:i.x*e+i.y*f}:i);return{lat:o.y,lon:o.x}};t.prototype.fromPointToLatLon=function(n){var t=this.mapTransforms,i;if(!t){r(22);return}for(i in t)if(t.hasOwnProperty(i)&&t[i].hitZone&&e({x:n.x,y:-n.y},t[i].hitZone.coordinates[0]))return this.transformToLatLon(n,t[i]);return this.transformToLatLon(n,t["default"])};t.prototype.fromLatLonToPoint=function(n){var t=this.mapTransforms,i,u;if(!t)return r(22),{x:0,y:null};for(i in t)if(t.hasOwnProperty(i)&&t[i].hitZone&&(u=this.transformFromLatLon(n,t[i]),e({x:u.x,y:-u.y},t[i].hitZone.coordinates[0])))return u;return this.transformFromLatLon(n,t["default"])};n.geojson=function(n,t,r){var s=[],u=[],e=function(n){var t,i=n.length;for(u.push("M"),t=0;t{geojson.copyrightShort}<\/a>'),mapTextFull:f(l.mapTextFull,"{geojson.copyright}")},xAxis:h,yAxis:u(h,{reversed:!0})},o,{chart:{inverted:!1,alignTicks:!1}}),o.series=c,s?new i(t,o,e):new i(o,r)}}(n)});LukoilApp.module("Charts",function(n,t,i,r,u,f){function e(n){var h=n.find("script.chart-data"),r={Isset:function(){return n.find(".charts-and-tables-panel").css("min-height")=="0px"},Set:function(t){return n.find(".charts-and-tables-panel").css("min-height",t)}},o,c;if(h.length){o=u(h[0]);c=JSON.parse(o.text()||o.html());o.remove();var s=["#db2b36","#000000","#0062a9","#006875","#eb6d75","#666666","#4c90cd","#009cad","#ea929a","#cccccc","#a4c5e5","#84bfca"],a=c,i='● {series.name}: <\/span>{point.y}<\/b>',t={chart:{},legend:{enabled:!1},title:{text:null},xAxis:{},colors:s,getColorCode:function(n){var t=s.length>n?n:n%s.length;return s[t]},credits:{enabled:!1},exporting:{enabled:!1},tooltip:{style:{fontSize:"12px",width:n[0].clientWidth-38+"px",whiteSpace:"normal"}}},v=n.hasClass("disableInteractive");v&&(t.tooltip.enabled=!1,t.plotOptions={series:{states:{hover:{enabled:!1}}},pie:{allowPointSelect:!1}});var l=function(n,t){return n.YAxis>t.YAxis?1:n.YAxis{point.key}<\/span>',pointFormat:'
● {series.name}: <\/td>{point.y}<\/b><\/td><\/tr>',footerFormat:"<\/table>",shared:!0,useHTML:!0},plotOptions:{column:{dataLabels:{enabled:!0,formatter:e}}}},t)},{Type:"Line",IsInvertedButton:!0,IsHeadlines:!0,IconClass:"icon-chart-line",Config:u.extend(!0,{chart:{inverted:!1},plotOptions:{line:{dataLabels:{enabled:!0,formatter:e}}},tooltip:{pointFormat:i+"
"}},t)},{Type:"Stacked",IsInvertedButton:!0,IsHeadlines:!0,IconClass:"icon-chart-stacked",Config:u.extend(!0,{chart:{type:"column",inverted:!0},plotOptions:{column:{stacking:"normal",dataLabels:{enabled:!0,formatter:e}}},tooltip:{pointFormat:i+"
"}},t)},{Type:"StackedPercentage",IsInvertedButton:!0,IsHeadlines:!0,IconClass:"icon-chart-stacked-percentage",Config:u.extend(!0,{chart:{type:"column",inverted:!0},plotOptions:{column:{stacking:"percent",dataLabels:{enabled:!0,formatter:e}}},tooltip:{pointFormat:i+" ({point.percentage:.2f}%)
"}},t)},{Type:"Area",IsInvertedButton:!0,IsHeadlines:!0,IconClass:"icon-chart-area",Config:u.extend(!0,{chart:{type:"area",inverted:!1},xAxis:{title:{enabled:!1}},plotOptions:{area:{stacking:"normal",marker:{enabled:!1}}},tooltip:{pointFormat:i+"
"}},t)},{Type:"ColumnSpline",IsInvertedButton:!0,IsHeadlines:!0,IconClass:"icon-chart-column-spline",SecondType:"spline",sortByYAxis:l,Config:u.extend(!0,{chart:{type:"column",inverted:!1},xAxis:{title:{enabled:!1}},tooltip:{pointFormat:i+"
"}},t)},{Type:"ColumnScatter",IsInvertedButton:!0,IsHeadlines:!0,SecondType:"scatter",IconClass:"icon-chart-column-scatter",sortByYAxis:l,Config:u.extend(!0,{chart:{type:"column",inverted:!1},xAxis:{title:{enabled:!1}},tooltip:{pointFormat:i+"
"}},t)},{Type:"Pie",IsInvertedButton:!1,IsHeadlines:!1,IconClass:"icon-chart-pie",Config:u.extend(!0,{chart:{type:"pie",inverted:!1},title:{verticalAlign:"bottom"},subtitle:{align:"center",verticalAlign:"middle",y:0},tooltip:{headerFormat:"",pointFormat:'● {point.name}: <\/span>{point.y}<\/b>
'},plotOptions:{pie:{allowPointSelect:!0,dataLabels:{enabled:!0,format:"{point.percentage:.2f}%",distance:20},center:["50%","50%"],showInLegend:!0}},series:[{colorByPoint:!0,innerSize:"80%"}]},t)},{Type:"Spline",IsInvertedButton:!0,IsHeadlines:!0,IconClass:"icon-chart-spline",PlotLinesDashStyle:"ShortDot",Config:u.extend(!0,{chart:{type:"spline",inverted:!1},plotOptions:{spline:{marker:{enabled:!1,formatter:e}}},tooltip:{pointFormat:i+"
"}},t)},{Type:"Table",IconClass:"icon-chart-table",Config:u.extend(!0,{chart:{type:"table"}},t)}],p=function(n,t){var i=this;i.GetBoolean=function(n){return n==undefined||n==null?!0:n==!0?!0:!1};i.Type=n.Type;i.SecondType=t.SecondType;i.IsInvertedButton=t.IsInvertedButton;i.IsHeadlines=t.IsHeadlines;i.IsInverted=ko.observable(t.Config.chart.inverted);i.IsInvertedBase=t.Config.chart.inverted;i.IsSelected=ko.observable(!1);i.HeadLine=n.HeadLine;i.Headlines=f.map(t.Config.chart.inverted?n.HeadLines.reverse():n.HeadLines,function(n){return{Title:n,Disable:ko.observable(!1)}});i.ChartHeadLines=i.IsInvertedBase?i.Headlines.slice().reverse():i.Headlines;i.Measures=n.Measures;i.Series=f.map(n.Series,function(n){return{Name:n.Name,Dynamic:ko.observable(null),DynamicsUnits:n.DynamicsUnits,Data:t.Config.chart.inverted?n.Data.reverse():n.Data,Visible:ko.observable(i.GetBoolean(n.Visible)),YAxis:n.YAxis}});i.Dynamics=ko.observableArray();i.IconClass=ko.computed(function(){var n=t.IconClass;return i.IsSelected()&&(n+=" selected"),n});i.PlotLinesDashStyle=t.PlotLinesDashStyle;i.Config=t.Config;i.HideDataLabels=n.HideDataLabels},w=function(t,i,e,o){var s=this,h;s.Container=t;s.ChartContainer=i;s.ConfigList=e;s.ChartsList=o;s.Charts=ko.observableArray();s.Table=ko.observable(null);s.SubLegend=ko.observable(null);s.IsExportButton=ko.observable(!1);s.CurrentChart=ko.observable(null);s.Chart=null;s.Init=function(){s.ChartsList.forEach(function(n){var t=f.find(s.ConfigList,function(t){return t.Type===n.Type}),i;t.sortByYAxis&&(n.Series=n.Series.sort(t.sortByYAxis));t&&(i=new p(n,t),s.Charts.push(i),s.CurrentChart()==null&&s.CurrentChart(i))});s.UpdateChart()};s.UpdateChart=function(){s.Table(null);s.SubLegend(null);s.Charts().forEach(function(n){n.IsSelected(!1)});s.CurrentChart().IsSelected(!0);var t=s.CreateConfig(s.CurrentChart());s.Chart&&(s.Chart.destroy(),s.Chart=null);s.CurrentChart().Type==="Table"?(s.Table({headlines:t.xAxis.categories,series:t.series}),s.IsExportButton(!1),r.Isset()||r.Set(n.find(".containerTable").height())):(s.IsExportButton(!0),s.Chart=new Highcharts.Chart(t),r.Set(s.Chart.chartHeight+"px"),s.CurrentChart().Type==="Pie"&&s.Chart.series&&s.Chart.series.length>0&&s.Chart.series[0]&&s.Chart.series[0].data&&s.Chart.series[0].data.forEach(function(n,t){n.setVisible(s.CurrentChart().Series[t].Visible())}))};s.CreateConfig=function(n){var t=u.extend(!0,{},n.Config),i,e,r;t.chart.renderTo=s.ChartContainer;switch(n.Type){case"Pie":i=n.HeadLine&&n.Headlines.length>n.HeadLine?n.HeadLine:0;t.title.text=n.ChartHeadLines[i]?n.ChartHeadLines[i].Title:"";t.seriesBase=u.extend(!0,[],n.Series);t.series[0].data=f.map(n.Series,function(n){return{name:n.Name,y:n.Data[i]>0?n.Data[i]:0}});e=s.GetPieTitle(n);r=s.GetPieSubtitle(n);t.subtitle.text=s.GetPieTitlesText(e,r);r==""&&(t.subtitle.y=10);break;default:s.CreateDefaultConfig(n,t)}return n.HideDataLabels&&f.each(t.series,function(n){n.dataLabels=n.dataLabels||{};n.dataLabels.enabled=!1}),t};s.GetPieTitle=function(n){var t=n.HeadLine&&n.Headlines.length>n.HeadLine?n.HeadLine:0,i=f.map(n.Series,function(n,t){return{Index:t,Item:n}}),r=f.filter(i,function(n){return n.Item.Visible()}),u=f.map(r,function(n){return n.Item.Data[t]>0?n.Item.Data[t]:0}),e=s.getSum(u);return Highcharts.numberFormat(e,-1,"."," ")};s.getSum=function(n){for(var t,i=0,u=0,f,e,r=0;r1&&(u=Math.max(u,t[1].length)),i+=n[r];return e=i+"",t=e.split("."),t.length>1&&u'+n+'<\/tspan>
'+t+"<\/tspan>"};s.GetFontsSizes=function(){var n=30,t=24;return window.matchMedia("(max-width: 370px)").matches?(n=14,t=12):window.matchMedia("(max-width: 420px)").matches?(n=16,t=14):window.matchMedia("(max-width: 460px)").matches?(n=20,t=15):window.matchMedia("(max-width: 767px)").matches&&(n=26,t=20),n=n+"px",t=t+"px",{title:n,subtitle:t}};s.CreateDefaultConfig=function(n,t){var i,r;t.xAxis.categories=f.map(f.filter(n.Headlines,function(n){return!n.Disable()}),function(n){return n.Title});t.yAxis=f.map(n.Measures,function(n,t){return{title:{text:n},opposite:t>0}});i=f.filter(f.map(n.Headlines,function(n,t){return{Index:t,Disable:n.Disable()}}),function(n){return n.Disable});t.series=f.map(n.Series,function(r){return{name:r.Name,visible:r.Visible(),dynamicsUnits:r.DynamicsUnits,yAxis:r.YAxis,events:{hide:function(i){s.ChangeVisibleSeries(n,t,i,!1)},show:function(i){s.ChangeVisibleSeries(n,t,i,!0)}},data:f.filter(r.Data,function(n,t){return!f.some(i,function(n){return t==n.Index})})}});n.SecondType&&n.SecondType!=""&&t.series.forEach(function(t){t.yAxis>0&&(t.type=n.SecondType)});t.yAxis=f.filter(f.map(t.yAxis,function(n,i){if(f.some(t.series,function(n){return i==n.yAxis})||i===0)return n}),function(n){return n});n.IsInverted()!=t.chart.inverted&&(t.xAxis.categories.reverse(),t.series.forEach(function(n){n.data.reverse()}),t.chart.inverted=n.IsInverted());r=u(".chart-controls__item").width();f.each(u(".chart-control_legendYears a"),function(n){var t=u(n).attr("title");u(n).text(t).dotdotdot({width:r,ellipsis:"...",callback:function(n,t){n&&u(this).attr("title",t[0].data)}})});s.ChangeDynamic(n,t)};s.ChangeSumPie=function(n){var t=s.GetPieTitle(n),i=s.GetPieSubtitle(n),r=s.GetPieTitlesText(t,i);s.Chart.setTitle(null,{text:r})};u(window).on("resize",function(){var n=s.CurrentChart(),t;n.Type=="Pie"&&(t=s.GetPieTitlesText(s.GetPieTitle(n),s.GetPieSubtitle(n)),s.Chart.setTitle(null,{text:t}))});s.ChangeVisibleSeries=function(n,t,i,r){i&&i.target&&(n.Series[i.target.index].Visible(r),s.ChangeDynamic(n,t))};s.ChangeDynamic=function(t,i){var u=f.map(i.series,function(n,t){return{Index:t,Item:n}}),r=f.filter(u,function(n){return n.Item.visible!=!1&&n.Item.dynamicsUnits&&n.Item.dynamicsUnits!=""&&n.Item.data.length>1});t.Dynamics(f.map(r,function(n){return s.DynamicCalculation(t.Measures,n.Item.dynamicsUnits,n.Item.yAxis,n.Item.data)}));t.Series.forEach(function(n,r){n.Dynamic(s.GetDynamicForSeries(t,i.series[r]))});s.SubLegend(null);t.PlotLinesDashStyle&&(r=f.filter(u,function(n){return n.Item.visible!=!1}),i.yAxis[0].plotLines=f.map(r,function(n){return{color:t.Config.getColorCode(n.Index),width:2,dashStyle:t.PlotLinesDashStyle,value:n.Item.data.length>0?f.reduce(n.Item.data,function(n,t){return n+t},0)/n.Item.data.length:0}}),s.Chart&&s.Chart.yAxis[0].update({plotLines:i.yAxis[0].plotLines}),s.SubLegend(f.map(r,function(i){return{Name:n.data("average-text").replace("{0}",i.Item.name),Color:t.Config.getColorCode(i.Index)}})))};s.GetDynamicForSeries=function(n,t){return t.dynamicsUnits&&t.dynamicsUnits!=""&&t.data.length>1?s.DynamicCalculation(n.Measures,t.dynamicsUnits,t.yAxis,t.data):null};s.DynamicCalculation=function(n,t,i,r){var f=0,e="",h=n&&n.length>0?n[0]:"",c=n&&n.length>1?n[1]:"",o=r[r.length-1],u=r[r.length-2],s=!0;switch(t.toLowerCase()){case"percent":e="%";f=u!=0?(o-u)/Math.abs(u)*100:0;break;case"time":f=u!=0?(o-u)/Math.abs(u):0;s=!1;break;default:e=i&&i>0?c:h;f=o-u}return{UnitsText:e,CssClass:f<0?"fa-long-arrow-down":"fa-long-arrow-up",Value:Math.abs(s?Math.round(f):Number(f.toFixed(2)))}};s.SummCalculationForPie=function(){};s.ChangeChart=function(n){n.Type!=s.CurrentChart().Type&&(s.CurrentChart(n),s.UpdateChart())};s.ChangeDisableHeadlines=function(n){n.Disable(!n.Disable());s.UpdateChart()};s.Inverted=function(n){s.CurrentChart().IsInverted()!=n&&(s.CurrentChart().IsInverted(n),s.UpdateChart())};h=function(n){var t=u(n).find(".legendYears__slider");t.trigger("destroy.owl.carousel");t.removeClass("owl-hidden");t.lukOwlCarousel({lazyContent:!1,nav:!0,navRewind:!1,dots:!1,autoWidth:!0,items:7})};s.AfterRenderHeadlines=function(){if(u(s.ChartContainer).parent().css("visibility")==="visible")h(s.Container);else u(document).on("shown.bs.collapse",u(s.Container).find(".panel-collapse"),function(){h(u(s.Container))})};s.Clicklegend=function(n){s.Chart&&(s.CurrentChart().Type=="Pie"?(s.CurrentChart().Series[n].Visible(!s.CurrentChart().Series[n].Visible()),s.Chart.series[0].data[n].setVisible(s.CurrentChart().Series[n].Visible()),s.ChangeSumPie(s.CurrentChart())):s.Chart.series[n].visible?s.Chart.series[n].hide():s.Chart.series[n].show())};s.Print=function(){s.Chart.print()};s.Export=function(n){s.Chart.exportChart({type:n})};s.Init()},b=n.find(".containerChart")[0],k=new w(n,b,y,a);ko.applyBindings(k,n[0]);r.Isset()&&r.Set(n.find(".charts-and-tables-panel").height());ko.bindingHandlers.css2=ko.bindingHandlers.css}}n.on("start",function(){n.run()});n.run=function(){var n=u(".charts-widget");Highcharts.setOptions({lang:{decimalPoint:"."}});f.each(n,function(n,t){try{e(u(n))}catch(i){window.console&&window.console.log&&console.log("Failed to render charts #"+(t+1))}})}});LukoilApp.module("Comparison",function(n,t,i,r,u,f){"use strict";function o(n){return"yAxis for "+n}function c(n,t){function p(n){f.each(f.map(i.Chart.yAxis,function(n){return n}),function(t){(n&&t.options.id!==r||!n&&t.options.id===r)&&(t.series.length&&f.each(f.map(t.series,function(n){return n}),function(n){i.UsedColors=f.without(i.UsedColors,n.color);n.remove()}),t.remove())})}function w(n){i.Chart.series.length?f.each(f.map(i.Chart.series,function(n){return n}),function(t){t.yAxis&&(!n||t.yAxis.options.id===r)&&(n||t.yAxis.options.id!==r)||(i.UsedColors=f.without(i.UsedColors,t.color),t.remove())}):i.UsedColors=[]}function b(){i.Chart.get(r)||i.Chart.addAxis({id:r,title:{text:"%"}},!1)}function k(n){f.each(y(),function(t){var u=o(t),r=i.Chart.get(u),e=f.indexOf(n,t)!==-1;r&&!e?(r.series.length&&f.each(f.map(r.series,function(n){return n}),function(n){i.UsedColors=f.without(i.UsedColors,n.color);n.remove()}),r.remove()):!r&&e&&i.Chart.addAxis({id:u,title:{text:t},opposite:i.Chart.yAxis.length===0||i.Chart.yAxis[0].opposite?!1:!0},!1)})}function d(n){f.each(c(),function(t){var o=t.ChartType(),h=t.ChartSeriesIds[o],u=i.Chart.get(h),c,e;t.Selected()&&!u?(c=f.difference(s,i.UsedColors),e=f.find(c,function(n){return n}),i.UsedColors.push(e),t.Color(e),i.Chart.addSeries({id:h,color:e,type:o,data:n?t.ValuesInPercents:t.Values,name:t.Title,yAxis:n?r:t.YAxisId,zIndex:t.ZIndexes[o],tooltip:{valueDecimals:n?2:undefined,valueSuffix:" "+(n?"%":t.UnitOfMeasure)}})):u&&!t.Selected()&&(i.UsedColors=f.without(i.UsedColors,u.color),u.remove())})}var i=this,r="relative yAxis";i.UsedColors=[];var c=f.once(function(){var n=[];return f.each(i.Sections(),function(t){f.each(t.Tables(),function(t){f.each(t.Parameters(),function(t){n.push(t)})})}),n}),a=function(){return f.filter(c(),function(n){return n.Selected()})},y=f.once(function(){return f.uniq(f.pluck(c(),"UnitOfMeasure"))}),v=0;i.ShowCompareMessage=function(n){var f=i.Container.find(".selected-parameters-count span").text(),e=n.currentTarget,o=u(e).offset(),t=u(".comparisonMessageBlock");if((t==null||t.length==0)&&(t=u("