diff --git a/config.json b/config.json index 35ef47ab..c8ad80b0 100644 --- a/config.json +++ b/config.json @@ -29,7 +29,7 @@ "url": "http://torka.unl.edu:8080/cgi-bin/mapserv.exe?map=/ms4w/apps/dm/service/usdm_current_wms.map", "layers": "usdm_current", "info": { - "sourceUrl": "http://droughtmonitor.unl.edu", + "sourceUrl": "http://catalog.data.gov/dataset/national-integrated-drought-information-system", "sourceEntity": "US Drought Monitor", "layerDescription": "This layer shows the most recent US Drought Monitor zones.", "legendImage": "legends/legendimages/aaa.png" @@ -41,7 +41,7 @@ "projection": "EPSG:3857", "layers": "0", "info": { - "sourceUrl": "http://csc.noaa.gov/digitalcoast/", + "sourceUrl": "http://catalog.data.gov/dataset/noaa-digital-coast-sea-level-rise-and-coastal-flooding-impacts-viewer", "sourceEntity": "NOAA Coastal Services Center", "layerDescription": "This layer shows the 6 foot sea level innundation region.", "legendImage": "legends/legendimages/aab.png" @@ -53,7 +53,7 @@ "projection": "EPSG:3857", "layers": "0", "info": { - "sourceUrl": "http://csc.noaa.gov/digitalcoast/", + "sourceUrl": "http://catalog.data.gov/dataset/noaa-digital-coast-sea-level-rise-and-coastal-flooding-impacts-viewer", "sourceEntity": "NOAA Coastal Services Center", "layerDescription": "This layer shows the 2 foot sea level innundation region.", "legendImage": "legends/legendimages/aab.png" @@ -65,7 +65,7 @@ "projection": "EPSG:3857", "layers": "0", "info": { - "sourceUrl": "http://csc.noaa.gov/digitalcoast/", + "sourceUrl": "http://catalog.data.gov/dataset/noaa-digital-coast-sea-level-rise-and-coastal-flooding-impacts-viewer", "sourceEntity": "NOAA Coastal Services Center", "layerDescription": "This layer shows the 3 foot sea level innundation region.", "legendImage": "legends/legendimages/aab.png" @@ -77,7 +77,7 @@ "projection": "EPSG:3857", "layers": "0", "info": { - "sourceUrl": "http://csc.noaa.gov/digitalcoast/", + "sourceUrl": "http://catalog.data.gov/dataset/noaa-digital-coast-sea-level-rise-and-coastal-flooding-impacts-viewer", "sourceEntity": "NOAA Coastal Services Center", "layerDescription": "This layer shows the 4 foot sea level innundation region.", "legendImage": "legends/legendimages/aab.png" @@ -89,7 +89,7 @@ "projection": "EPSG:3857", "layers": "0", "info": { - "sourceUrl": "http://csc.noaa.gov/digitalcoast/", + "sourceUrl": "http://catalog.data.gov/dataset/noaa-digital-coast-sea-level-rise-and-coastal-flooding-impacts-viewer", "sourceEntity": "NOAA Coastal Services Center", "layerDescription": "This layer shows the 5 foot sea level innundation region.", "legendImage": "legends/legendimages/aab.png" @@ -101,7 +101,7 @@ "projection": "EPSG:3857", "layers": "0", "info": { - "sourceUrl": "http://csc.noaa.gov/digitalcoast/", + "sourceUrl": "http://catalog.data.gov/dataset/noaa-digital-coast-sea-level-rise-and-coastal-flooding-impacts-viewer", "sourceEntity": "NOAA Coastal Services Center", "layerDescription": "This layer shows the 1 foot sea level innundation region.", "legendImage": "legends/legendimages/aab.png" @@ -113,19 +113,20 @@ "projection": "EPSG:3857", "layers": "0", "info": { - "sourceUrl": "http://www.geoplatform.gov/blog/homeland-security-infrastructure-program-hsip-public-domain-services-geospatial-platform", + "sourceUrl": "http://catalog.data.gov/dataset/hsip-public-domain-public-health-hospitals", "sourceEntity": "Homeland Security Infrastructure Program", "layerDescription": "This layer shows the locations of hospitals.", "legendImage": "legends/legendimages/aah.png" } }, { "id": "aai", - "name": "Airports and Helipads", - "url": "http://hsip.geoplatform.gov/arcgis/services/HSIP_Public/TransportationAir/MapServer/WMSServer", + "name": "Airports", + "url": "http://hsip.geoplatform.gov/arcgis/rest/services/HSIP_Public/TransportationAir/MapServer/export", "projection": "EPSG:3857", "layers": "0", + "type": "REST", "info": { - "sourceUrl": "http://www.geoplatform.gov/blog/homeland-security-infrastructure-program-hsip-public-domain-services-geospatial-platform", + "sourceUrl": "http://catalog.data.gov/dataset/hsip-public-domain-transportation-air-public-use-airports", "sourceEntity": "Homeland Security Infrastructure Program", "layerDescription": "This layer shows the locations of airports and helipads.", "legendImage": "legends/legendimages/aai.png" @@ -137,7 +138,7 @@ "projection": "EPSG:3857", "layers": [ "0", "1" ], "info": { - "sourceUrl": "http://www.geoplatform.gov/blog/homeland-security-infrastructure-program-hsip-public-domain-services-geospatial-platform", + "sourceUrl": "http://catalog.data.gov/dataset/hsip-public-domain-transportation-ground-national-bridge-inv", "sourceEntity": "Homeland Security Infrastructure Program", "layerDescription": "This layer shows the locations of bridges and tunnels.", "legendImage": "legends/legendimages/aaj.png" @@ -149,15 +150,15 @@ "projection": "EPSG:3857", "layers": ["3", "7", "11" ], "info": { - "sourceUrl": "http://marine.usgs.gov/coastalchangehazardsportal/ui/info/item/CDKmLpj", - "sourceEntity": "USGS CIDA CMGP", + "sourceUrl": "http://catalog.data.gov/dataset/usgs-map-service-coastal-vulnerability-to-sea-level-rise", + "sourceEntity": "USGS", "layerDescription": "This layer shows the relative susceptibility of the Nation's coast to sea-level rise through the use of a coastal vulnerability index", "legendImage": "legends/legendimages/aak.png" } }, { "id": "aal", "name": "Land Cover (2011)", - "url": "http://raster.nationalmap.gov/arcgis/services/LandCover/USGS_EROS_LandCover_NLCD/MapServer/WMSServer?service=WMS", + "url": "http://catalog.data.gov/dataset/usgs-land-cover-nlcd-overlay-map-service-from-the-national-map", "layers": "30", "projection": "EPSG:3857", "info": { @@ -174,8 +175,8 @@ "layers": "7", "type": "REST", "info": { - "sourceUrl": "http://webra.cas.sc.edu/hvri/products/sovi.aspx", - "sourceEntity": "NOAA Coastal Services Center and USC Hazards and Vulnerability Research Institute", + "sourceUrl": "http://catalog.data.gov/dataset/social-vulnerability-index-sovi-for-coastal-states-based-on-2000-census-block-groups", + "sourceEntity": "NOAA Coastal Services Center", "layerDescription": "The Social Vulnerability Index (SOVI) measures the social vulnerability of U.S. counties to environmental hazards.", "legendImage": "legends/legendimages/aam.png" } @@ -186,7 +187,7 @@ "projection": "EPSG:4326", "layers": "4", "info": { - "sourceUrl": "https://hazards.fema.gov", + "sourceUrl": "http://catalog.data.gov/dataset/nfhl-femas-national-flood-hazard-layer", "sourceEntity": "FEMA", "layerDescription": "The purpose of the online mapping tool is to provide coastal managers, planners, and stakeholders a preliminary look at exposures to coastal flooding hazards.", "legendImage": "legends/legendimages/aan.png" @@ -197,7 +198,7 @@ "url": "http://torka.unl.edu:8080/cgi-bin/mapserv.exe?map=/ms4w/apps/dm/service/usdm130924_wms.map", "layers": "usdm130924", "info": { - "sourceUrl": "http://droughtmonitor.unl.edu", + "sourceUrl": "http://catalog.data.gov/dataset/national-integrated-drought-information-system", "sourceEntity": "US Drought Monitor", "layerDescription": "This layer shows Drought (9/24/2013).", "legendImage": "legends/legendimages/aaa.png" @@ -209,7 +210,7 @@ "projection": "EPSG:4326", "layers": "cdl_2013", "info": { - "sourceUrl": "http://www.nass.usda.gov/research/Cropland/SARS1a.htm", + "sourceUrl": "http://catalog.data.gov/dataset/cropscape-cropland-data-layer", "sourceEntity": "USDA National Agricultural Statistics Service", "layerDescription": "This layer shows Cropland.", "legendImage": "legends/legendimages/aap.png" @@ -222,7 +223,7 @@ "layers": "7", "type": "REST", "info": { - "sourceUrl": "http://www.csc.noaa.gov/floodexposure/#/configure", + "sourceUrl": "http://catalog.data.gov/dataset/fema-hazus-critical-facilities-for-coastal-geographies", "sourceEntity": "NOAA Coastal Services Center", "layerDescription": "This layer shows HAZUS Critical Facilities in Delaware, New Jersey, and New York.", "legendImage": "legends/legendimages/aaq.png" @@ -235,7 +236,7 @@ "layers": "6", "type": "REST", "info": { - "sourceUrl": "http://www.csc.noaa.gov/floodexposure/#/configure", + "sourceUrl": "http://www.csc.noaa.gov/floodexposure/#/services", "sourceEntity": "NOAA Coastal Services Center", "layerDescription": "This layer shows Critical Facility Density in Delaware, New Jersey, and New York.", "legendImage": "legends/legendimages/aar.png" @@ -248,7 +249,7 @@ "layers": "1", "type": "REST", "info": { - "sourceUrl": "http://www.csc.noaa.gov/floodexposure/#/configure", + "sourceUrl": "http://www.csc.noaa.gov/floodexposure/#/services", "sourceEntity": "NOAA Coastal Services Center", "layerDescription": "This layer shows Population Density in Delaware, New Jersey, and New York.", "legendImage": "legends/legendimages/aas.png" @@ -261,7 +262,7 @@ "layers": "4", "type": "REST", "info": { - "sourceUrl": "http://www.csc.noaa.gov/floodexposure/#/configure", + "sourceUrl": "http://www.csc.noaa.gov/floodexposure/#/services", "sourceEntity": "NOAA Coastal Services Center", "layerDescription": "This layer shows Businesses in Delaware, New Jersey, and New York.", "legendImage": "legends/legendimages/aat.png" @@ -274,7 +275,7 @@ "layers": "10", "type": "REST", "info": { - "sourceUrl": "http://www.csc.noaa.gov/floodexposure/#/configure", + "sourceUrl": "http://www.csc.noaa.gov/floodexposure/#/services", "sourceEntity": "NOAA Coastal Services Center", "layerDescription": "This layer shows Beaches & Dunes in Delaware, New Jersey, and New York.", "legendImage": "legends/legendimages/aau.png" @@ -287,7 +288,7 @@ "layers": "8", "type": "REST", "info": { - "sourceUrl": "http://www.csc.noaa.gov/floodexposure/#/configure", + "sourceUrl": "http://www.csc.noaa.gov/floodexposure/#/services", "sourceEntity": "NOAA Coastal Services Center", "layerDescription": "This layer shows Wetlands in Delaware, New Jersey, and New York.", "legendImage": "legends/legendimages/aav.png" @@ -313,7 +314,7 @@ "layers": "0", "type": "REST", "info": { - "sourceUrl": "http://www.csc.noaa.gov/floodexposure/#/configure", + "sourceUrl": "http://catalog.data.gov/dataset/coastal-flood-hazard-composite-layer-for-the-mid-atlantic-u-s", "sourceEntity": "NOAA Coastal Services Center", "layerDescription": "This layer shows Coastal Flood Hazard Composite in Delaware, New Jersey, and New York.", "legendImage": "legends/legendimages/aax.png" @@ -326,7 +327,7 @@ "sld": "http://marine.usgs.gov/coastalchangehazardsportal/data/sld/CUtFZvT", "info": { "sourceUrl": "http://marine.usgs.gov/coastalchangehazardsportal/ui/info/item/CARuFN3", - "sourceEntity": "USGS CIDA CMGP", + "sourceEntity": "USGS", "layerDescription": "This layer shows Probability of High Shoreline Loss.", "legendImage": "legends/legendimages/aay.png" } @@ -338,7 +339,7 @@ "sld": "http://marine.usgs.gov/coastalchangehazardsportal/data/sld/CCENsQT", "info": { "sourceUrl": "http://marine.usgs.gov/coastalchangehazardsportal/ui/info/item/CCNHBnK", - "sourceEntity": "USGS CIDA CMGP", + "sourceEntity": "USGS", "layerDescription": "This layer shows Elevation of Dune Crest.", "legendImage": "legends/legendimages/abb.png" } @@ -350,7 +351,7 @@ "sld": "http://marine.usgs.gov/coastalchangehazardsportal/data/sld/CCER1Xg", "info": { "sourceUrl": "http://marine.usgs.gov/coastalchangehazardsportal/ui/info/item/CCNKrhr", - "sourceEntity": "USGS CIDA CMGP", + "sourceEntity": "USGS", "layerDescription": "This layer shows Elevation of Dune Toe.", "legendImage": "legends/legendimages/abc.png" } @@ -362,7 +363,7 @@ "sld": "http://marine.usgs.gov/coastalchangehazardsportal/data/sld/CCNXDS5", "info": { "sourceUrl": "http://marine.usgs.gov/coastalchangehazardsportal/ui/info/item/CCHdMRt", - "sourceEntity": "USGS CIDA CMGP", + "sourceEntity": "USGS", "layerDescription": "This layer shows CAT3 Hurricane Prob. of Collision.", "legendImage": "legends/legendimages/abd.png" } @@ -374,7 +375,7 @@ "sld": "http://marine.usgs.gov/coastalchangehazardsportal/data/sld/CD5ZUvX", "info": { "sourceUrl": "http://marine.usgs.gov/coastalchangehazardsportal/ui/info/item/CCHdMRt", - "sourceEntity": "USGS CIDA CMGP", + "sourceEntity": "USGS", "layerDescription": "This layer shows CAT3 Hurricane Prob. of Overwash.", "legendImage": "legends/legendimages/abe.png" } @@ -386,7 +387,7 @@ "sld": "http://marine.usgs.gov/coastalchangehazardsportal/data/sld/CD7wRHj", "info": { "sourceUrl": "http://marine.usgs.gov/coastalchangehazardsportal/ui/info/item/CCHdMRt", - "sourceEntity": "USGS CIDA CMGP", + "sourceEntity": "USGS", "layerDescription": "This layer shows CAT3 Hurricane Prob. of Inundation.", "legendImage": "legends/legendimages/abf.png" } @@ -398,7 +399,7 @@ "sld": "http://marine.usgs.gov/coastalchangehazardsportal/data/sld/CDAzqt6", "info": { "sourceUrl": "http://marine.usgs.gov/coastalchangehazardsportal/ui/info/item/CDAzqt6", - "sourceEntity": "USGS CIDA CMGP", + "sourceEntity": "USGS", "layerDescription": "This layer shows CAT3 Hurricane Mean Water Levels.", "legendImage": "legends/legendimages/abg.png" } @@ -410,7 +411,7 @@ "sld": "http://marine.usgs.gov/coastalchangehazardsportal/data/sld/CDARuQk", "info": { "sourceUrl": "http://marine.usgs.gov/coastalchangehazardsportal/ui/info/item/CDARuQk", - "sourceEntity": "USGS CIDA CMGP", + "sourceEntity": "USGS", "layerDescription": "This layer shows CAT3 Hurricane Extreme Water Levels.", "legendImage": "legends/legendimages/abh.png" } @@ -422,8 +423,8 @@ "projection": "EPSG:4326", "map": "/media/dssiv02/disk5/products/weekly/ndvi/2013/ndvi_39_2013.09.24_2013.09.30.map", "info": { - "sourceUrl": "http://csiss.gmu.edu/", - "sourceEntity": "CSISS, USDA NASS", + "sourceUrl": "http://catalog.data.gov/dataset/vegscape-vegetative-condition-explorer", + "sourceEntity": "USDA National Agricultural Statistics Service", "layerDescription": "This layer shows NDVI for September 24, 2013.", "legendImage": "legends/legendimages/abi.png" } @@ -435,56 +436,56 @@ "projection": "EPSG:4326", "map": "/media/dssiv02/disk5/products/weekly/vci/2013/vci_39_2013.09.24_2013.09.30.map", "info": { - "sourceUrl": "http://csiss.gmu.edu/", - "sourceEntity": "CSISS, USDA NASS", + "sourceUrl": "http://catalog.data.gov/dataset/vegscape-vegetative-condition-explorer", + "sourceEntity": "USDA National Agricultural Statistics Service", "layerDescription": "This layer shows VCI for September 24, 2013.", "legendImage": "legends/legendimages/abj.png" } }, { "id": "abk", "name": "Rivers", - "url": "http://129.174.131.7/cgi/wms_conuswater.cgi", - "layers": "conus_major_rivers_national,conus_rivers_regional", + "url": "http://services.nationalmap.gov/arcgis/services/nhd/MapServer/WMSServer", + "layers": "4", "projection": "EPSG:4326", "info": { - "sourceUrl": "http://csiss.gmu.edu/", - "sourceEntity": "CSISS, USDA NASS", + "sourceUrl": "http://catalog.data.gov/dataset/the-national-map", + "sourceEntity": "USGS", "layerDescription": "This layer shows rivers.", "legendImage": "legends/legendimages/abk.png" } }, { "id": "abl", "name": "Lakes", - "url": "http://129.174.131.7/cgi/wms_conuswater.cgi", - "layers": "conus_major_lakes_national,conus_waterareas_regional", + "url": "http://services.nationalmap.gov/arcgis/services/nhd/MapServer/WMSServer", + "layers": "5", "projection": "EPSG:4326", "info": { - "sourceUrl": "http://csiss.gmu.edu/", - "sourceEntity": "CSISS, USDA NASS", + "sourceUrl": "http://catalog.data.gov/dataset/the-national-map", + "sourceEntity": "USGS", "layerDescription": "This layer shows lakes.", "legendImage": "legends/legendimages/abl.png" } }, { "id": "abm", "name": "Freeway System (National)", - "url": "http://129.174.131.7/cgi/wms_conushighway.cgi", - "layers": "conus_freeway_system_national,conus_freeway_system_national_label", + "url": "http://services.nationalmap.gov/arcgis/services/transportation/MapServer/WMSServer", + "layers": "6,14", "projection": "EPSG:4326", "info": { - "sourceUrl": "http://csiss.gmu.edu/", - "sourceEntity": "CSISS, USDA NASS", + "sourceUrl": "http://catalog.data.gov/dataset/the-national-map", + "sourceEntity": "USGS", "layerDescription": "This layer shows interstates.", "legendImage": "legends/legendimages/abm.png" } }, { "id": "abn", - "name": "Major Highways (Regional)", - "url": "http://129.174.131.7/cgi/wms_conushighway.cgi", - "layers": "conus_major_highways_regional,conus_major_highways_regional_label", + "name": "Major Highways (Regional)", + "url": "http://services.nationalmap.gov/arcgis/services/transportation/MapServer/WMSServer", + "layers": "5,13", "projection": "EPSG:4326", "info": { - "sourceUrl": "http://csiss.gmu.edu/", - "sourceEntity": "CSISS, USDA NASS", + "sourceUrl": "http://catalog.data.gov/dataset/the-national-map", + "sourceEntity": "USGS", "layerDescription": "This layer shows major highways.", "legendImage": "legends/legendimages/abn.png" } @@ -508,11 +509,23 @@ "layers": "grump-v1:grump-v1-population-density_2000", "projection": "EPSG:4326", "info": { - "sourceUrl": "http://sedac.ciesin.columbia.edu/data/collection/grump-v1", - "sourceEntity": "SEDAC", + "sourceUrl": "http://catalog.data.gov/dataset/global-rural-urban-mapping-project-grump-alpha-version", + "sourceEntity": "NASA", "layerDescription": "This layer shows population density in the year 2000.", "legendImage": "legends/legendimages/abp.png" } + }, { + "id": "abq", + "name": "Structures", + "url": "http://services.nationalmap.gov/arcgis/services/structures/MapServer/WMSServer", + "layers": "1,2,4,5,7,8,9,10,12,14", + "projection": "EPSG:4326", + "info": { + "sourceUrl": "http://catalog.data.gov/dataset/the-national-map", + "sourceEntity": "USGS", + "layerDescription": "This layer shows the locations of selected structures.", + "legendImage": "legends/legendimages/abq.png" + } } ], "groups": [{ @@ -522,11 +535,11 @@ "subGroups": [{ "id": "g_a_a", "name": "Climate Stressors", - "layers": [ "aag", "aac", "aad", "aae", "aaf", "aab", "aax", "aaw", "aay", "abd", "abe", "abf", "abg", "abh" ] + "layers": [ "aag", "aac", "aad", "aae", "aaf", "aab", "aax", "aan", "aay", "abd", "abe", "abf", "abg", "abh" ] }, { "id": "g_a_b", "name": "People and Assets Impacted", - "layers": [ "abp", "aak", "aam", "aal", "aah", "aai", "aaj", "aaq", "aar", "aas", "aat", "aau", "aav", "abb", "abc", "abm", "abn" ] + "layers": [ "abp", "aak", "aam", "aal", "abq", "aai", "aaj", "aaq", "aar", "aas", "aat", "aau", "aav", "abb", "abc", "abm", "abn" ] }] }, { "id": "g_b", diff --git a/html/build/app.js b/html/build/app.js index 9c30f60a..ea49bc8d 100755 --- a/html/build/app.js +++ b/html/build/app.js @@ -3428,28 +3428,7 @@ b){b.serviceMetadataUrl={};b.serviceMetadataUrl.href=a.getAttribute("xlink:href" }(jQuery)); -/*! Multigraph - v4.3.0 - * http://multigraph.github.io/ - * Copyright (c) 2014 University of North Carolina at Asheville; Licensed MIT - * - * Multigraph includes the following projects - * jQuery v1.8.2 | jquery.org/license (jquery.com) - * jQuery.mousewheel.js v3.0.6 | (c) 2011 Brandon Aaron (http://brandonaaron.net) - * sprintf() for JavaScript v0.7-beta1 | (c) Alexandru Marasteanu )] (http://www.diveintojavascript.com/projects/javascript-sprintf) - */ -Array.prototype.indexOf||(Array.prototype.indexOf=function(a){"use strict";if(null==this)throw new TypeError;var b=Object(this),c=b.length>>>0;if(0===c)return-1;var d=0;if(arguments.length>0&&(d=Number(arguments[1]),d!=d?d=0:0!=d&&1/0!=d&&d!=-1/0&&(d=(d>0||-1)*Math.floor(Math.abs(d)))),d>=c)return-1;for(var e=d>=0?d:Math.max(c-Math.abs(d),0);c>e;e++)if(e in b&&b[e]===a)return e;return-1}),function(a){"use strict";var b=function(a,c,d){var e,f,g,h=/^([a-zA-Z]+)(\.[a-zA-Z]*)*$/;if(null===a.match(h)||"window"===a)throw new Error("namespace: "+a+" is a malformed namespace string");if(void 0!==c&&void 0===d)if("function"==typeof c)d=c,c=void 0;else{if("object"==typeof c)throw new Error("namespace: if second argument exists, final function argument must exist");if("object"!=typeof c)throw new Error("namespace: second argument must be an object of aliased local namespaces")}else if("object"!=typeof c&&"function"==typeof d)throw new Error("namespace: second argument must be an object of aliased local namespaces");if(e=a.split("."),f="window"===e[0]?window:void 0===window[e[0]]?window[e[0]]={}:window[e[0]],void 0!==d&&"function"!=typeof d)throw new Error("namespace: last parameter must be a function that accepts a namespace parameter");for(g=1;ga}),b.addValidator("isLessThan",function(a){return this.message=this.param+" should be less than "+a,this.param-1)return this.message=this.param+" should be a "+a,typeof this.param===a;if("integer"===a)return this.message=void 0!==this.param.toString?this.param.toString()+" should be an integer":"parameter should be an integer","number"==typeof this.param&&parseInt(this.param,10)===this.param;throw new Error("string"==typeof a?"Validator: isA accepts a string which is one of "+b:"Validator: isA only accepts a string for a primitive types for the time being")}),c.isAn=c.isA,b.addValidator("isOneOf",function(a){return this.message=this.param+" should be one of the set: "+a,a.indexOf(this.param)>-1}),a.Validator=b}),window.jermaine.util.namespace("window.jermaine",function(a){"use strict";var b=function(a){var c,d,e,f,g,h=[],i=this,j="invalid setter call for "+a,k=!1,l=window.jermaine.AttrList,m=window.jermaine.Validator;if(g=function(a){for(e=0;ea||a>=this.size())throw new Error("AttrList: replace method index parameter out of bounds");if(!c.validator()(b))throw new Error(c.errorMessage());return e[a]=b,this},f.at=function(a){if(0>a||a>=this.size())throw new Error("AttrList: Index out of bounds");return e[a]},f.get=f.at,f.size=function(){return e.length},a[b]=function(){return f}}}b.prototype=new window.jermaine.Attr(name),a.AttrList=b}),window.jermaine.util.namespace("window.jermaine",function(a){"use strict";var b=function(a,b){if(!a||"string"!=typeof a)throw new Error("Method: constructor requires a name parameter which must be a string");if(!b||"function"!=typeof b)throw new Error("Method: second parameter must be a function");this.addTo=function(c){if(!c||"object"!=typeof c)throw new Error("Method: addTo method requires an object parameter");c[a]=b}};a.Method=b}),window.jermaine.util.namespace("window.jermaine",function(a){"use strict";function b(c){var d,e,f,g,h,i={},j={},k=!0,l=[],m=[],n=[],o=a.Method,p=a.Attr,q=a.AttrList,r=function(){},s=function(){},t=function(){return k&&g(),s.apply(this,arguments)};if(arguments.length>1&&(c=arguments[arguments.length-1]),c&&"function"==typeof c)return t=new b,c.call(t),t;if(c)throw new Error("Model: specification parameter must be a function");var u=function(a,b){var c,d="Attr"===a?p:q,e="Attr"===a?"hasA":"hasMany";if(k=!0,"string"==typeof b)return c=new d(b),j[b]=c,c;throw new Error("Model: "+e+" parameter must be a string")};return e=function(a,b){var c;if("string"!=typeof b)throw new Error("Model: expected string argument to "+a+" method, but recieved "+b);if(c="attribute"===a?j[b]:i[b],void 0===c)throw new Error("Model: "+a+" "+b+" does not exist!");return c},f=function(a){var b,c=[],d="attributes"===a?j:i;for(b in d)d.hasOwnProperty(b)&&c.push(b);return c},g=function(){var a,b;return t.validate(),s=function(){var c,e,f;if(!(this instanceof t))throw new Error("Model: instances must be created using the new operator");if(f=function(a,b){var c,d="attributes"===b?j:i;for(c in d)d.hasOwnProperty(c)&&(d===j&&h&&d[c].isImmutable(),d[c].addTo(a))},f(this,"attributes"),f(this,"methods"),this.toString=d,arguments.length>0){if(arguments.lengthl.length+m.length)throw new Error("Too many arguments to constructor. Expected "+l.length+" required arguments and "+m.length+" optional arguments");for(c=0;c-1)throw new Error("Model: invalid model specification to "+b[a]+" being both an attribute and method");if(h)for(a=0;a=0===c})}function k(a){var b=Nb.split("|"),c=a.createDocumentFragment();if(c.createElement)for(;b.length;)c.createElement(b.pop());return c}function l(a,b){return a.getElementsByTagName(b)[0]||a.appendChild(a.ownerDocument.createElement(b))}function m(a,b){if(1===b.nodeType&&$.hasData(a)){var c,d,e,f=$._data(a),g=$._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)$.event.add(b,c,h[c][d])}g.data&&(g.data=$.extend({},g.data))}}function n(a,b){var c;1===b.nodeType&&(b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase(),"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),$.support.html5Clone&&a.innerHTML&&!$.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&Xb.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.selected=a.defaultSelected:"input"===c||"textarea"===c?b.defaultValue=a.defaultValue:"script"===c&&b.text!==a.text&&(b.text=a.text),b.removeAttribute($.expando))}function o(a){return"undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName("*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll("*"):[]}function p(a){Xb.test(a.type)&&(a.defaultChecked=a.checked)}function q(a,b){if(b in a)return b;for(var c=b.charAt(0).toUpperCase()+b.slice(1),d=b,e=rc.length;e--;)if(b=rc[e]+c,b in a)return b;return d}function r(a,b){return a=b||a,"none"===$.css(a,"display")||!$.contains(a.ownerDocument,a)}function s(a,b){for(var c,d,e=[],f=0,g=a.length;g>f;f++)c=a[f],c.style&&(e[f]=$._data(c,"olddisplay"),b?(!e[f]&&"none"===c.style.display&&(c.style.display=""),""===c.style.display&&r(c)&&(e[f]=$._data(c,"olddisplay",w(c.nodeName)))):(d=cc(c,"display"),!e[f]&&"none"!==d&&$._data(c,"olddisplay",d)));for(f=0;g>f;f++)c=a[f],c.style&&(b&&"none"!==c.style.display&&""!==c.style.display||(c.style.display=b?e[f]||"":"none"));return a}function t(a,b,c){var d=kc.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function u(a,b,c,d){for(var e=c===(d?"border":"content")?4:"width"===b?1:0,f=0;4>e;e+=2)"margin"===c&&(f+=$.css(a,c+qc[e],!0)),d?("content"===c&&(f-=parseFloat(cc(a,"padding"+qc[e]))||0),"margin"!==c&&(f-=parseFloat(cc(a,"border"+qc[e]+"Width"))||0)):(f+=parseFloat(cc(a,"padding"+qc[e]))||0,"padding"!==c&&(f+=parseFloat(cc(a,"border"+qc[e]+"Width"))||0));return f}function v(a,b,c){var d="width"===b?a.offsetWidth:a.offsetHeight,e=!0,f=$.support.boxSizing&&"border-box"===$.css(a,"boxSizing");if(0>=d||null==d){if(d=cc(a,b),(0>d||null==d)&&(d=a.style[b]),lc.test(d))return d;e=f&&($.support.boxSizingReliable||d===a.style[b]),d=parseFloat(d)||0}return d+u(a,b,c||(f?"border":"content"),e)+"px"}function w(a){if(nc[a])return nc[a];var b=$("<"+a+">").appendTo(P.body),c=b.css("display");return b.remove(),("none"===c||""===c)&&(dc=P.body.appendChild(dc||$.extend(P.createElement("iframe"),{frameBorder:0,width:0,height:0})),ec&&dc.createElement||(ec=(dc.contentWindow||dc.contentDocument).document,ec.write(""),ec.close()),b=ec.body.appendChild(ec.createElement(a)),c=cc(b,"display"),P.body.removeChild(dc)),nc[a]=c,c}function x(a,b,c,d){var e;if($.isArray(b))$.each(b,function(b,e){c||uc.test(a)?d(a,e):x(a+"["+("object"==typeof e?b:"")+"]",e,c,d)});else if(c||"object"!==$.type(b))d(a,b);else for(e in b)x(a+"["+e+"]",b[e],c,d)}function y(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e,f,g=b.toLowerCase().split(bb),h=0,i=g.length;if($.isFunction(c))for(;i>h;h++)d=g[h],f=/^\+/.test(d),f&&(d=d.substr(1)||"*"),e=a[d]=a[d]||[],e[f?"unshift":"push"](c)}}function z(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;for(var h,i=a[f],j=0,k=i?i.length:0,l=a===Kc;k>j&&(l||!h);j++)h=i[j](c,d,e),"string"==typeof h&&(!l||g[h]?h=b:(c.dataTypes.unshift(h),h=z(a,c,d,e,h,g)));return(l||!h)&&!g["*"]&&(h=z(a,c,d,e,"*",g)),h}function A(a,c){var d,e,f=$.ajaxSettings.flatOptions||{};for(d in c)c[d]!==b&&((f[d]?a:e||(e={}))[d]=c[d]);e&&$.extend(!0,a,e)}function B(a,c,d){var e,f,g,h,i=a.contents,j=a.dataTypes,k=a.responseFields;for(f in k)f in d&&(c[k[f]]=d[f]);for(;"*"===j[0];)j.shift(),e===b&&(e=a.mimeType||c.getResponseHeader("content-type"));if(e)for(f in i)if(i[f]&&i[f].test(e)){j.unshift(f);break}if(j[0]in d)g=j[0];else{for(f in d){if(!j[0]||a.converters[f+" "+j[0]]){g=f;break}h||(h=f)}g=g||h}return g?(g!==j[0]&&j.unshift(g),d[g]):void 0}function C(a,b){var c,d,e,f,g=a.dataTypes.slice(),h=g[0],i={},j=0;if(a.dataFilter&&(b=a.dataFilter(b,a.dataType)),g[1])for(c in a.converters)i[c.toLowerCase()]=a.converters[c];for(;e=g[++j];)if("*"!==e){if("*"!==h&&h!==e){if(c=i[h+" "+e]||i["* "+e],!c)for(d in i)if(f=d.split(" "),f[1]===e&&(c=i[h+" "+f[0]]||i["* "+f[0]])){c===!0?c=i[d]:i[d]!==!0&&(e=f[0],g.splice(j--,0,e));break}if(c!==!0)if(c&&a["throws"])b=c(b);else try{b=c(b)}catch(k){return{state:"parsererror",error:c?k:"No conversion from "+h+" to "+e}}}h=e}return{state:"success",data:b}}function D(){try{return new a.XMLHttpRequest}catch(b){}}function E(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function F(){return setTimeout(function(){Vc=b},0),Vc=$.now()}function G(a,b){$.each(b,function(b,c){for(var d=(_c[b]||[]).concat(_c["*"]),e=0,f=d.length;f>e;e++)if(d[e].call(a,b,c))return})}function H(a,b,c){var d,e=0,f=$c.length,g=$.Deferred().always(function(){delete h.elem}),h=function(){for(var b=Vc||F(),c=Math.max(0,i.startTime+i.duration-b),d=1-(c/i.duration||0),e=0,f=i.tweens.length;f>e;e++)i.tweens[e].run(d);return g.notifyWith(a,[i,d,c]),1>d&&f?c:(g.resolveWith(a,[i]),!1)},i=g.promise({elem:a,props:$.extend({},b),opts:$.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:Vc||F(),duration:c.duration,tweens:[],createTween:function(b,c){var d=$.Tween(a,i.opts,b,c,i.opts.specialEasing[b]||i.opts.easing);return i.tweens.push(d),d},stop:function(b){for(var c=0,d=b?i.tweens.length:0;d>c;c++)i.tweens[c].run(1);return b?g.resolveWith(a,[i,b]):g.rejectWith(a,[i,b]),this}}),j=i.props;for(I(j,i.opts.specialEasing);f>e;e++)if(d=$c[e].call(i,a,j,i.opts))return d;return G(i,j),$.isFunction(i.opts.start)&&i.opts.start.call(a,i),$.fx.timer($.extend(h,{anim:i,queue:i.opts.queue,elem:a})),i.progress(i.opts.progress).done(i.opts.done,i.opts.complete).fail(i.opts.fail).always(i.opts.always)}function I(a,b){var c,d,e,f,g;for(c in a)if(d=$.camelCase(c),e=b[d],f=a[c],$.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=$.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function J(a,b,c){var d,e,f,g,h,i,j,k,l=this,m=a.style,n={},o=[],p=a.nodeType&&r(a);c.queue||(j=$._queueHooks(a,"fx"),null==j.unqueued&&(j.unqueued=0,k=j.empty.fire,j.empty.fire=function(){j.unqueued||k()}),j.unqueued++,l.always(function(){l.always(function(){j.unqueued--,$.queue(a,"fx").length||j.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[m.overflow,m.overflowX,m.overflowY],"inline"===$.css(a,"display")&&"none"===$.css(a,"float")&&($.support.inlineBlockNeedsLayout&&"inline"!==w(a.nodeName)?m.zoom=1:m.display="inline-block")),c.overflow&&(m.overflow="hidden",$.support.shrinkWrapBlocks||l.done(function(){m.overflow=c.overflow[0],m.overflowX=c.overflow[1],m.overflowY=c.overflow[2]}));for(d in b)if(f=b[d],Xc.exec(f)){if(delete b[d],f===(p?"hide":"show"))continue;o.push(d)}if(g=o.length)for(h=$._data(a,"fxshow")||$._data(a,"fxshow",{}),p?$(a).show():l.done(function(){$(a).hide()}),l.done(function(){var b;$.removeData(a,"fxshow",!0);for(b in n)$.style(a,b,n[b])}),d=0;g>d;d++)e=o[d],i=l.createTween(e,p?h[e]:0),n[e]=h[e]||$.style(a,e),e in h||(h[e]=i.start,p&&(i.end=i.start,i.start="width"===e||"height"===e?1:0))}function K(a,b,c,d,e){return new K.prototype.init(a,b,c,d,e)}function L(a,b){var c,d={height:a},e=0;for(b=b?1:0;4>e;e+=2-b)c=qc[e],d["margin"+c]=d["padding"+c]=a;return b&&(d.opacity=d.width=a),d}function M(a){return $.isWindow(a)?a:9===a.nodeType?a.defaultView||a.parentWindow:!1}var N,O,P=a.document,Q=a.location,R=a.navigator,S=a.jQuery,T=a.$,U=Array.prototype.push,V=Array.prototype.slice,W=Array.prototype.indexOf,X=Object.prototype.toString,Y=Object.prototype.hasOwnProperty,Z=String.prototype.trim,$=function(a,b){return new $.fn.init(a,b,N)},_=/[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source,ab=/\S/,bb=/\s+/,cb=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,db=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,eb=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,fb=/^[\],:{}\s]*$/,gb=/(?:^|:|,)(?:\s*\[)+/g,hb=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,ib=/"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g,jb=/^-ms-/,kb=/-([\da-z])/gi,lb=function(a,b){return(b+"").toUpperCase()},mb=function(){P.addEventListener?(P.removeEventListener("DOMContentLoaded",mb,!1),$.ready()):"complete"===P.readyState&&(P.detachEvent("onreadystatechange",mb),$.ready())},nb={};$.fn=$.prototype={constructor:$,init:function(a,c,d){var e,f,g;if(!a)return this;if(a.nodeType)return this.context=this[0]=a,this.length=1,this;if("string"==typeof a){if(e="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:db.exec(a),e&&(e[1]||!c)){if(e[1])return c=c instanceof $?c[0]:c,g=c&&c.nodeType?c.ownerDocument||c:P,a=$.parseHTML(e[1],g,!0),eb.test(e[1])&&$.isPlainObject(c)&&this.attr.call(a,c,!0),$.merge(this,a);if(f=P.getElementById(e[2]),f&&f.parentNode){if(f.id!==e[2])return d.find(a);this.length=1,this[0]=f}return this.context=P,this.selector=a,this}return!c||c.jquery?(c||d).find(a):this.constructor(c).find(a)}return $.isFunction(a)?d.ready(a):(a.selector!==b&&(this.selector=a.selector,this.context=a.context),$.makeArray(a,this))},selector:"",jquery:"1.8.2",length:0,size:function(){return this.length},toArray:function(){return V.call(this)},get:function(a){return null==a?this.toArray():0>a?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=$.merge(this.constructor(),a);return d.prevObject=this,d.context=this.context,"find"===b?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")"),d},each:function(a,b){return $.each(this,a,b)},ready:function(a){return $.ready.promise().done(a),this},eq:function(a){return a=+a,-1===a?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(V.apply(this,arguments),"slice",V.call(arguments).join(","))},map:function(a){return this.pushStack($.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:U,sort:[].sort,splice:[].splice},$.fn.init.prototype=$.fn,$.extend=$.fn.extend=function(){var a,c,d,e,f,g,h=arguments[0]||{},i=1,j=arguments.length,k=!1;for("boolean"==typeof h&&(k=h,h=arguments[1]||{},i=2),"object"!=typeof h&&!$.isFunction(h)&&(h={}),j===i&&(h=this,--i);j>i;i++)if(null!=(a=arguments[i]))for(c in a)d=h[c],e=a[c],h!==e&&(k&&e&&($.isPlainObject(e)||(f=$.isArray(e)))?(f?(f=!1,g=d&&$.isArray(d)?d:[]):g=d&&$.isPlainObject(d)?d:{},h[c]=$.extend(k,g,e)):e!==b&&(h[c]=e));return h},$.extend({noConflict:function(b){return a.$===$&&(a.$=T),b&&a.jQuery===$&&(a.jQuery=S),$},isReady:!1,readyWait:1,holdReady:function(a){a?$.readyWait++:$.ready(!0)},ready:function(a){if(a===!0?!--$.readyWait:!$.isReady){if(!P.body)return setTimeout($.ready,1);$.isReady=!0,a!==!0&&--$.readyWait>0||(O.resolveWith(P,[$]),$.fn.trigger&&$(P).trigger("ready").off("ready"))}},isFunction:function(a){return"function"===$.type(a)},isArray:Array.isArray||function(a){return"array"===$.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return null==a?String(a):nb[X.call(a)]||"object"},isPlainObject:function(a){if(!a||"object"!==$.type(a)||a.nodeType||$.isWindow(a))return!1;try{if(a.constructor&&!Y.call(a,"constructor")&&!Y.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||Y.call(a,d)},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},error:function(a){throw new Error(a)},parseHTML:function(a,b,c){var d;return a&&"string"==typeof a?("boolean"==typeof b&&(c=b,b=0),b=b||P,(d=eb.exec(a))?[b.createElement(d[1])]:(d=$.buildFragment([a],b,c?null:[]),$.merge([],(d.cacheable?$.clone(d.fragment):d.fragment).childNodes))):null},parseJSON:function(b){return b&&"string"==typeof b?(b=$.trim(b),a.JSON&&a.JSON.parse?a.JSON.parse(b):fb.test(b.replace(hb,"@").replace(ib,"]").replace(gb,""))?new Function("return "+b)():void $.error("Invalid JSON: "+b)):null},parseXML:function(c){var d,e;if(!c||"string"!=typeof c)return null;try{a.DOMParser?(e=new DOMParser,d=e.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(f){d=b}return(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&$.error("Invalid XML: "+c),d},noop:function(){},globalEval:function(b){b&&ab.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(jb,"ms-").replace(kb,lb)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,c,d){var e,f=0,g=a.length,h=g===b||$.isFunction(a);if(d)if(h){for(e in a)if(c.apply(a[e],d)===!1)break}else for(;g>f&&c.apply(a[f++],d)!==!1;);else if(h){for(e in a)if(c.call(a[e],e,a[e])===!1)break}else for(;g>f&&c.call(a[f],f,a[f++])!==!1;);return a},trim:Z&&!Z.call(" ")?function(a){return null==a?"":Z.call(a)}:function(a){return null==a?"":(a+"").replace(cb,"")},makeArray:function(a,b){var c,d=b||[];return null!=a&&(c=$.type(a),null==a.length||"string"===c||"function"===c||"regexp"===c||$.isWindow(a)?U.call(d,a):$.merge(d,a)),d},inArray:function(a,b,c){var d;if(b){if(W)return W.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,c){var d=c.length,e=a.length,f=0;if("number"==typeof d)for(;d>f;f++)a[e++]=c[f];else for(;c[f]!==b;)a[e++]=c[f++];return a.length=e,a},grep:function(a,b,c){var d,e=[],f=0,g=a.length;for(c=!!c;g>f;f++)d=!!b(a[f],f),c!==d&&e.push(a[f]);return e},map:function(a,c,d){var e,f,g=[],h=0,i=a.length,j=a instanceof $||i!==b&&"number"==typeof i&&(i>0&&a[0]&&a[i-1]||0===i||$.isArray(a));if(j)for(;i>h;h++)e=c(a[h],h,d),null!=e&&(g[g.length]=e);else for(f in a)e=c(a[f],f,d),null!=e&&(g[g.length]=e);return g.concat.apply([],g)},guid:1,proxy:function(a,c){var d,e,f;return"string"==typeof c&&(d=a[c],c=a,a=d),$.isFunction(a)?(e=V.call(arguments,2),f=function(){return a.apply(c,e.concat(V.call(arguments)))},f.guid=a.guid=a.guid||$.guid++,f):b},access:function(a,c,d,e,f,g,h){var i,j=null==d,k=0,l=a.length;if(d&&"object"==typeof d){for(k in d)$.access(a,c,k,d[k],1,g,e);f=1}else if(e!==b){if(i=h===b&&$.isFunction(e),j&&(i?(i=c,c=function(a,b,c){return i.call($(a),c)}):(c.call(a,e),c=null)),c)for(;l>k;k++)c(a[k],d,i?e.call(a[k],k,c(a[k],d)):e,h);f=1}return f?a:j?c.call(a):l?c(a[0],d):g},now:function(){return(new Date).getTime()}}),$.ready.promise=function(b){if(!O)if(O=$.Deferred(),"complete"===P.readyState)setTimeout($.ready,1);else if(P.addEventListener)P.addEventListener("DOMContentLoaded",mb,!1),a.addEventListener("load",$.ready,!1);else{P.attachEvent("onreadystatechange",mb),a.attachEvent("onload",$.ready);var c=!1;try{c=null==a.frameElement&&P.documentElement}catch(d){}c&&c.doScroll&&function e(){if(!$.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}$.ready()}}()}return O.promise(b)},$.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){nb["[object "+b+"]"]=b.toLowerCase()}),N=$(P);var ob={};$.Callbacks=function(a){a="string"==typeof a?ob[a]||c(a):$.extend({},a);var d,e,f,g,h,i,j=[],k=!a.once&&[],l=function(b){for(d=a.memory&&b,e=!0,i=g||0,g=0,h=j.length,f=!0;j&&h>i;i++)if(j[i].apply(b[0],b[1])===!1&&a.stopOnFalse){d=!1;break}f=!1,j&&(k?k.length&&l(k.shift()):d?j=[]:m.disable())},m={add:function(){if(j){var b=j.length;!function c(b){$.each(b,function(b,d){var e=$.type(d);"function"!==e||a.unique&&m.has(d)?d&&d.length&&"string"!==e&&c(d):j.push(d)})}(arguments),f?h=j.length:d&&(g=b,l(d))}return this},remove:function(){return j&&$.each(arguments,function(a,b){for(var c;(c=$.inArray(b,j,c))>-1;)j.splice(c,1),f&&(h>=c&&h--,i>=c&&i--)}),this},has:function(a){return $.inArray(a,j)>-1},empty:function(){return j=[],this},disable:function(){return j=k=d=b,this},disabled:function(){return!j},lock:function(){return k=b,d||m.disable(),this},locked:function(){return!k},fireWith:function(a,b){return b=b||[],b=[a,b.slice?b.slice():b],j&&(!e||k)&&(f?k.push(b):l(b)),this},fire:function(){return m.fireWith(this,arguments),this},fired:function(){return!!e}};return m},$.extend({Deferred:function(a){var b=[["resolve","done",$.Callbacks("once memory"),"resolved"],["reject","fail",$.Callbacks("once memory"),"rejected"],["notify","progress",$.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return $.Deferred(function(c){$.each(b,function(b,d){var f=d[0],g=a[b];e[d[1]]($.isFunction(g)?function(){var a=g.apply(this,arguments);a&&$.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f+"With"](this===e?c:this,[a])}:c[f])}),a=null}).promise()},promise:function(a){return null!=a?$.extend(a,d):d}},e={};return d.pipe=d.then,$.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=g.fire,e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b,c,d,e=0,f=V.call(arguments),g=f.length,h=1!==g||a&&$.isFunction(a.promise)?g:0,i=1===h?a:$.Deferred(),j=function(a,c,d){return function(e){c[a]=this,d[a]=arguments.length>1?V.call(arguments):e,d===b?i.notifyWith(c,d):--h||i.resolveWith(c,d)}};if(g>1)for(b=new Array(g),c=new Array(g),d=new Array(g);g>e;e++)f[e]&&$.isFunction(f[e].promise)?f[e].promise().done(j(e,d,f)).fail(i.reject).progress(j(e,c,b)):--h;return h||i.resolveWith(d,f),i.promise()}}),$.support=function(){var b,c,d,e,f,g,h,i,j,k,l,m=P.createElement("div");if(m.setAttribute("className","t"),m.innerHTML="
a",c=m.getElementsByTagName("*"),d=m.getElementsByTagName("a")[0],d.style.cssText="top:1px;float:left;opacity:.5",!c||!c.length)return{};e=P.createElement("select"),f=e.appendChild(P.createElement("option")),g=m.getElementsByTagName("input")[0],b={leadingWhitespace:3===m.firstChild.nodeType,tbody:!m.getElementsByTagName("tbody").length,htmlSerialize:!!m.getElementsByTagName("link").length,style:/top/.test(d.getAttribute("style")),hrefNormalized:"/a"===d.getAttribute("href"),opacity:/^0.5/.test(d.style.opacity),cssFloat:!!d.style.cssFloat,checkOn:"on"===g.value,optSelected:f.selected,getSetAttribute:"t"!==m.className,enctype:!!P.createElement("form").enctype,html5Clone:"<:nav>"!==P.createElement("nav").cloneNode(!0).outerHTML,boxModel:"CSS1Compat"===P.compatMode,submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},g.checked=!0,b.noCloneChecked=g.cloneNode(!0).checked,e.disabled=!0,b.optDisabled=!f.disabled;try{delete m.test}catch(n){b.deleteExpando=!1}if(!m.addEventListener&&m.attachEvent&&m.fireEvent&&(m.attachEvent("onclick",l=function(){b.noCloneEvent=!1}),m.cloneNode(!0).fireEvent("onclick"),m.detachEvent("onclick",l)),g=P.createElement("input"),g.value="t",g.setAttribute("type","radio"),b.radioValue="t"===g.value,g.setAttribute("checked","checked"),g.setAttribute("name","t"),m.appendChild(g),h=P.createDocumentFragment(),h.appendChild(m.lastChild),b.checkClone=h.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=g.checked,h.removeChild(g),h.appendChild(m),m.attachEvent)for(j in{submit:!0,change:!0,focusin:!0})i="on"+j,k=i in m,k||(m.setAttribute(i,"return;"),k="function"==typeof m[i]),b[j+"Bubbles"]=k;return $(function(){var c,d,e,f,g="padding:0;margin:0;border:0;display:block;overflow:hidden;",h=P.getElementsByTagName("body")[0]; -h&&(c=P.createElement("div"),c.style.cssText="visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px",h.insertBefore(c,h.firstChild),d=P.createElement("div"),c.appendChild(d),d.innerHTML="
t
",e=d.getElementsByTagName("td"),e[0].style.cssText="padding:0;margin:0;border:0;display:none",k=0===e[0].offsetHeight,e[0].style.display="",e[1].style.display="none",b.reliableHiddenOffsets=k&&0===e[0].offsetHeight,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",b.boxSizing=4===d.offsetWidth,b.doesNotIncludeMarginInBodyOffset=1!==h.offsetTop,a.getComputedStyle&&(b.pixelPosition="1%"!==(a.getComputedStyle(d,null)||{}).top,b.boxSizingReliable="4px"===(a.getComputedStyle(d,null)||{width:"4px"}).width,f=P.createElement("div"),f.style.cssText=d.style.cssText=g,f.style.marginRight=f.style.width="0",d.style.width="1px",d.appendChild(f),b.reliableMarginRight=!parseFloat((a.getComputedStyle(f,null)||{}).marginRight)),"undefined"!=typeof d.style.zoom&&(d.innerHTML="",d.style.cssText=g+"width:1px;padding:1px;display:inline;zoom:1",b.inlineBlockNeedsLayout=3===d.offsetWidth,d.style.display="block",d.style.overflow="visible",d.innerHTML="
",d.firstChild.style.width="5px",b.shrinkWrapBlocks=3!==d.offsetWidth,c.style.zoom=1),h.removeChild(c),c=d=e=f=null)}),h.removeChild(m),c=d=e=f=g=h=m=null,b}();var pb=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,qb=/([A-Z])/g;$.extend({cache:{},deletedIds:[],uuid:0,expando:"jQuery"+($.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){return a=a.nodeType?$.cache[a[$.expando]]:a[$.expando],!!a&&!e(a)},data:function(a,c,d,e){if($.acceptData(a)){var f,g,h=$.expando,i="string"==typeof c,j=a.nodeType,k=j?$.cache:a,l=j?a[h]:a[h]&&h;if(l&&k[l]&&(e||k[l].data)||!i||d!==b)return l||(j?a[h]=l=$.deletedIds.pop()||$.guid++:l=h),k[l]||(k[l]={},j||(k[l].toJSON=$.noop)),("object"==typeof c||"function"==typeof c)&&(e?k[l]=$.extend(k[l],c):k[l].data=$.extend(k[l].data,c)),f=k[l],e||(f.data||(f.data={}),f=f.data),d!==b&&(f[$.camelCase(c)]=d),i?(g=f[c],null==g&&(g=f[$.camelCase(c)])):g=f,g}},removeData:function(a,b,c){if($.acceptData(a)){var d,f,g,h=a.nodeType,i=h?$.cache:a,j=h?a[$.expando]:$.expando;if(i[j]){if(b&&(d=c?i[j]:i[j].data)){$.isArray(b)||(b in d?b=[b]:(b=$.camelCase(b),b=b in d?[b]:b.split(" ")));for(f=0,g=b.length;g>f;f++)delete d[b[f]];if(!(c?e:$.isEmptyObject)(d))return}(c||(delete i[j].data,e(i[j])))&&(h?$.cleanData([a],!0):$.support.deleteExpando||i!=i.window?delete i[j]:i[j]=null)}}},_data:function(a,b,c){return $.data(a,b,c,!0)},acceptData:function(a){var b=a.nodeName&&$.noData[a.nodeName.toLowerCase()];return!b||b!==!0&&a.getAttribute("classid")===b}}),$.fn.extend({data:function(a,c){var e,f,g,h,i,j=this[0],k=0,l=null;if(a===b){if(this.length&&(l=$.data(j),1===j.nodeType&&!$._data(j,"parsedAttrs"))){for(g=j.attributes,i=g.length;i>k;k++)h=g[k].name,h.indexOf("data-")||(h=$.camelCase(h.substring(5)),d(j,h,l[h]));$._data(j,"parsedAttrs",!0)}return l}return"object"==typeof a?this.each(function(){$.data(this,a)}):(e=a.split(".",2),e[1]=e[1]?"."+e[1]:"",f=e[1]+"!",$.access(this,function(c){return c===b?(l=this.triggerHandler("getData"+f,[e[0]]),l===b&&j&&(l=$.data(j,a),l=d(j,a,l)),l===b&&e[1]?this.data(e[0]):l):(e[1]=c,void this.each(function(){var b=$(this);b.triggerHandler("setData"+f,e),$.data(this,a,c),b.triggerHandler("changeData"+f,e)}))},null,c,arguments.length>1,null,!1))},removeData:function(a){return this.each(function(){$.removeData(this,a)})}}),$.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=$._data(a,b),c&&(!d||$.isArray(c)?d=$._data(a,b,$.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=$.queue(a,b),d=c.length,e=c.shift(),f=$._queueHooks(a,b),g=function(){$.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return $._data(a,c)||$._data(a,c,{empty:$.Callbacks("once memory").add(function(){$.removeData(a,b+"queue",!0),$.removeData(a,c,!0)})})}}),$.fn.extend({queue:function(a,c){var d=2;return"string"!=typeof a&&(c=a,a="fx",d--),arguments.length1)},removeAttr:function(a){return this.each(function(){$.removeAttr(this,a)})},prop:function(a,b){return $.access(this,$.prop,a,b,arguments.length>1)},removeProp:function(a){return a=$.propFix[a]||a,this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,f,g,h;if($.isFunction(a))return this.each(function(b){$(this).addClass(a.call(this,b,this.className))});if(a&&"string"==typeof a)for(b=a.split(bb),c=0,d=this.length;d>c;c++)if(e=this[c],1===e.nodeType)if(e.className||1!==b.length){for(f=" "+e.className+" ",g=0,h=b.length;h>g;g++)f.indexOf(" "+b[g]+" ")<0&&(f+=b[g]+" ");e.className=$.trim(f)}else e.className=a;return this},removeClass:function(a){var c,d,e,f,g,h,i;if($.isFunction(a))return this.each(function(b){$(this).removeClass(a.call(this,b,this.className))});if(a&&"string"==typeof a||a===b)for(c=(a||"").split(bb),h=0,i=this.length;i>h;h++)if(e=this[h],1===e.nodeType&&e.className){for(d=(" "+e.className+" ").replace(ub," "),f=0,g=c.length;g>f;f++)for(;d.indexOf(" "+c[f]+" ")>=0;)d=d.replace(" "+c[f]+" "," ");e.className=a?$.trim(d):""}return this},toggleClass:function(a,b){var c=typeof a,d="boolean"==typeof b;return this.each($.isFunction(a)?function(c){$(this).toggleClass(a.call(this,c,this.className,b),b)}:function(){if("string"===c)for(var e,f=0,g=$(this),h=b,i=a.split(bb);e=i[f++];)h=d?h:!g.hasClass(e),g[h?"addClass":"removeClass"](e);else("undefined"===c||"boolean"===c)&&(this.className&&$._data(this,"__className__",this.className),this.className=this.className||a===!1?"":$._data(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(ub," ").indexOf(b)>=0)return!0;return!1},val:function(a){var c,d,e,f=this[0];{if(arguments.length)return e=$.isFunction(a),this.each(function(d){var f,g=$(this);1===this.nodeType&&(f=e?a.call(this,d,g.val()):a,null==f?f="":"number"==typeof f?f+="":$.isArray(f)&&(f=$.map(f,function(a){return null==a?"":a+""})),c=$.valHooks[this.type]||$.valHooks[this.nodeName.toLowerCase()],c&&"set"in c&&c.set(this,f,"value")!==b||(this.value=f))});if(f)return c=$.valHooks[f.type]||$.valHooks[f.nodeName.toLowerCase()],c&&"get"in c&&(d=c.get(f,"value"))!==b?d:(d=f.value,"string"==typeof d?d.replace(vb,""):null==d?"":d)}}}),$.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,f=a.selectedIndex,g=[],h=a.options,i="select-one"===a.type;if(0>f)return null;for(c=i?f:0,d=i?f+1:h.length;d>c;c++)if(e=h[c],!(!e.selected||($.support.optDisabled?e.disabled:null!==e.getAttribute("disabled"))||e.parentNode.disabled&&$.nodeName(e.parentNode,"optgroup"))){if(b=$(e).val(),i)return b;g.push(b)}return i&&!g.length&&h.length?$(h[f]).val():g},set:function(a,b){var c=$.makeArray(b);return $(a).find("option").each(function(){this.selected=$.inArray($(this).val(),c)>=0}),c.length||(a.selectedIndex=-1),c}}},attrFn:{},attr:function(a,c,d,e){var f,g,h,i=a.nodeType;if(a&&3!==i&&8!==i&&2!==i)return e&&$.isFunction($.fn[c])?$(a)[c](d):"undefined"==typeof a.getAttribute?$.prop(a,c,d):(h=1!==i||!$.isXMLDoc(a),h&&(c=c.toLowerCase(),g=$.attrHooks[c]||(zb.test(c)?sb:rb)),d!==b?null===d?void $.removeAttr(a,c):g&&"set"in g&&h&&(f=g.set(a,d,c))!==b?f:(a.setAttribute(c,d+""),d):g&&"get"in g&&h&&null!==(f=g.get(a,c))?f:(f=a.getAttribute(c),null===f?b:f))},removeAttr:function(a,b){var c,d,e,f,g=0;if(b&&1===a.nodeType)for(d=b.split(bb);g=0:void 0}})});var Bb=/^(?:textarea|input|select)$/i,Cb=/^([^\.]*|)(?:\.(.+)|)$/,Db=/(?:^|\s)hover(\.\S+|)\b/,Eb=/^key/,Fb=/^(?:mouse|contextmenu)|click/,Gb=/^(?:focusinfocus|focusoutblur)$/,Hb=function(a){return $.event.special.hover?a:a.replace(Db,"mouseenter$1 mouseleave$1")};$.event={add:function(a,c,d,e,f){var g,h,i,j,k,l,m,n,o,p,q;if(3!==a.nodeType&&8!==a.nodeType&&c&&d&&(g=$._data(a))){for(d.handler&&(o=d,d=o.handler,f=o.selector),d.guid||(d.guid=$.guid++),i=g.events,i||(g.events=i={}),h=g.handle,h||(g.handle=h=function(a){return"undefined"==typeof $||a&&$.event.triggered===a.type?b:$.event.dispatch.apply(h.elem,arguments)},h.elem=a),c=$.trim(Hb(c)).split(" "),j=0;j=0&&(q=q.slice(0,-1),h=!0),q.indexOf(".")>=0&&(r=q.split("."),q=r.shift(),r.sort()),(!e||$.event.customEvent[q])&&!$.event.global[q])return;if(c="object"==typeof c?c[$.expando]?c:new $.Event(q,c):new $.Event(q),c.type=q,c.isTrigger=!0,c.exclusive=h,c.namespace=r.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,l=q.indexOf(":")<0?"on"+q:"",!e){g=$.cache;for(i in g)g[i].events&&g[i].events[q]&&$.event.trigger(c,d,g[i].handle.elem,!0);return}if(c.result=b,c.target||(c.target=e),d=null!=d?$.makeArray(d):[],d.unshift(c),m=$.event.special[q]||{},m.trigger&&m.trigger.apply(e,d)===!1)return;if(o=[[e,m.bindType||q]],!f&&!m.noBubble&&!$.isWindow(e)){for(p=m.delegateType||q,j=Gb.test(p+q)?e:e.parentNode,k=e;j;j=j.parentNode)o.push([j,p]),k=j;k===(e.ownerDocument||P)&&o.push([k.defaultView||k.parentWindow||a,p])}for(i=0;id;d++)k=m[d],l=k.selector,h[l]===b&&(h[l]=k.needsContext?$(l,this).index(f)>=0:$.find(l,this,null,[f]).length),h[l]&&j.push(k);j.length&&r.push({elem:f,matches:j})}for(m.length>n&&r.push({elem:this,matches:m.slice(n)}),d=0;d0?this.on(b,null,a,c):this.trigger(b)},Eb.test(b)&&($.event.fixHooks[b]=$.event.keyHooks),Fb.test(b)&&($.event.fixHooks[b]=$.event.mouseHooks)}),function(a,b){function c(a,b,c,d){c=c||[],b=b||F;var e,f,g,h,i=b.nodeType;if(!a||"string"!=typeof a)return c;if(1!==i&&9!==i)return[];if(g=v(b),!g&&!d&&(e=cb.exec(a)))if(h=e[1]){if(9===i){if(f=b.getElementById(h),!f||!f.parentNode)return c;if(f.id===h)return c.push(f),c}else if(b.ownerDocument&&(f=b.ownerDocument.getElementById(h))&&w(b,f)&&f.id===h)return c.push(f),c}else{if(e[2])return K.apply(c,L.call(b.getElementsByTagName(a),0)),c;if((h=e[3])&&mb&&b.getElementsByClassName)return K.apply(c,L.call(b.getElementsByClassName(h),0)),c}return p(a.replace(Z,"$1"),b,c,d,g)}function d(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function e(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function f(a){return N(function(b){return b=+b,N(function(c,d){for(var e,f=a([],c.length,b),g=f.length;g--;)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function g(a,b,c){if(a===b)return c;for(var d=a.nextSibling;d;){if(d===b)return-1;d=d.nextSibling}return 1}function h(a,b){var d,e,f,g,h,i,j,k=Q[D][a];if(k)return b?0:k.slice(0);for(h=a,i=[],j=t.preFilter;h;){(!d||(e=_.exec(h)))&&(e&&(h=h.slice(e[0].length)),i.push(f=[])),d=!1,(e=ab.exec(h))&&(f.push(d=new E(e.shift())),h=h.slice(d.length),d.type=e[0].replace(Z," "));for(g in t.filter)(e=hb[g].exec(h))&&(!j[g]||(e=j[g](e,F,!0)))&&(f.push(d=new E(e.shift())),h=h.slice(d.length),d.type=g,d.matches=e);if(!d)break}return b?h.length:h?c.error(a):Q(a,i).slice(0)}function i(a,b,c){var d=b.dir,e=c&&"parentNode"===b.dir,f=I++;return b.first?function(b,c,f){for(;b=b[d];)if(e||1===b.nodeType)return a(b,c,f)}:function(b,c,g){if(g){for(;b=b[d];)if((e||1===b.nodeType)&&a(b,c,g))return b}else for(var h,i=H+" "+f+" ",j=i+r;b=b[d];)if(e||1===b.nodeType){if((h=b[D])===j)return b.sizset;if("string"==typeof h&&0===h.indexOf(i)){if(b.sizset)return b}else{if(b[D]=j,a(b,c,g))return b.sizset=!0,b;b.sizset=!1}}}}function j(a){return a.length>1?function(b,c,d){for(var e=a.length;e--;)if(!a[e](b,c,d))return!1;return!0}:a[0]}function k(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function l(a,b,c,d,e,f){return d&&!d[D]&&(d=l(d)),e&&!e[D]&&(e=l(e,f)),N(function(f,g,h,i){if(!f||!e){var j,l,m,n=[],p=[],q=g.length,r=f||o(b||"*",h.nodeType?[h]:h,[],f),s=!a||!f&&b?r:k(r,n,a,h,i),t=c?e||(f?a:q||d)?[]:g:s;if(c&&c(s,t,h,i),d)for(m=k(t,p),d(m,[],h,i),j=m.length;j--;)(l=m[j])&&(t[p[j]]=!(s[p[j]]=l));if(f)for(j=a&&t.length;j--;)(l=t[j])&&(f[n[j]]=!(g[n[j]]=l));else t=k(t===g?t.splice(q,t.length):t),e?e(null,g,t,i):K.apply(g,t)}})}function m(a){for(var b,c,d,e=a.length,f=t.relative[a[0].type],g=f||t.relative[" "],h=f?1:0,k=i(function(a){return a===b},g,!0),n=i(function(a){return M.call(b,a)>-1},g,!0),o=[function(a,c,d){return!f&&(d||c!==A)||((b=c).nodeType?k(a,c,d):n(a,c,d))}];e>h;h++)if(c=t.relative[a[h].type])o=[i(j(o),c)];else{if(c=t.filter[a[h].type].apply(null,a[h].matches),c[D]){for(d=++h;e>d&&!t.relative[a[d].type];d++);return l(h>1&&j(o),h>1&&a.slice(0,h-1).join("").replace(Z,"$1"),c,d>h&&m(a.slice(h,d)),e>d&&m(a=a.slice(d)),e>d&&a.join(""))}o.push(c)}return j(o)}function n(a,b){var d=b.length>0,e=a.length>0,f=function(g,h,i,j,l){var m,n,o,p=[],q=0,s="0",u=g&&[],v=null!=l,w=A,x=g||e&&t.find.TAG("*",l&&h.parentNode||h),y=H+=null==w?1:Math.E;for(v&&(A=h!==F&&h,r=f.el);null!=(m=x[s]);s++){if(e&&m){for(n=0;o=a[n];n++)if(o(m,h,i)){j.push(m);break}v&&(H=y,r=++f.el)}d&&((m=!o&&m)&&q--,g&&u.push(m))}if(q+=s,d&&s!==q){for(n=0;o=b[n];n++)o(u,p,h,i);if(g){if(q>0)for(;s--;)!u[s]&&!p[s]&&(p[s]=J.call(j));p=k(p)}K.apply(j,p),v&&!g&&p.length>0&&q+b.length>1&&c.uniqueSort(j)}return v&&(H=y,A=w),u};return f.el=0,d?N(f):f}function o(a,b,d,e){for(var f=0,g=b.length;g>f;f++)c(a,b[f],d,e);return d}function p(a,b,c,d,e){{var f,g,i,j,k,l=h(a);l.length}if(!d&&1===l.length){if(g=l[0]=l[0].slice(0),g.length>2&&"ID"===(i=g[0]).type&&9===b.nodeType&&!e&&t.relative[g[1].type]){if(b=t.find.ID(i.matches[0].replace(gb,""),b,e)[0],!b)return c;a=a.slice(g.shift().length)}for(f=hb.POS.test(a)?-1:g.length-1;f>=0&&(i=g[f],!t.relative[j=i.type]);f--)if((k=t.find[j])&&(d=k(i.matches[0].replace(gb,""),db.test(g[0].type)&&b.parentNode||b,e))){if(g.splice(f,1),a=d.length&&g.join(""),!a)return K.apply(c,L.call(d,0)),c;break}}return x(a,l)(d,b,e,c,db.test(a)),c}function q(){}var r,s,t,u,v,w,x,y,z,A,B=!0,C="undefined",D=("sizcache"+Math.random()).replace(".",""),E=String,F=a.document,G=F.documentElement,H=0,I=0,J=[].pop,K=[].push,L=[].slice,M=[].indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},N=function(a,b){return a[D]=null==b||b,a},O=function(){var a={},b=[];return N(function(c,d){return b.push(c)>t.cacheLength&&delete a[b.shift()],a[c]=d},a)},P=O(),Q=O(),R=O(),S="[\\x20\\t\\r\\n\\f]",T="(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+",U=T.replace("w","w#"),V="([*^$|!~]?=)",W="\\["+S+"*("+T+")"+S+"*(?:"+V+S+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+U+")|)|)"+S+"*\\]",X=":("+T+")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|([^()[\\]]*|(?:(?:"+W+")|[^:]|\\\\.)*|.*))\\)|)",Y=":(even|odd|eq|gt|lt|nth|first|last)(?:\\("+S+"*((?:-\\d)?\\d*)"+S+"*\\)|)(?=[^-]|$)",Z=new RegExp("^"+S+"+|((?:^|[^\\\\])(?:\\\\.)*)"+S+"+$","g"),_=new RegExp("^"+S+"*,"+S+"*"),ab=new RegExp("^"+S+"*([\\x20\\t\\r\\n\\f>+~])"+S+"*"),bb=new RegExp(X),cb=/^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/,db=/[\x20\t\r\n\f]*[+~]/,eb=/h\d/i,fb=/input|select|textarea|button/i,gb=/\\(?!\\)/g,hb={ID:new RegExp("^#("+T+")"),CLASS:new RegExp("^\\.("+T+")"),NAME:new RegExp("^\\[name=['\"]?("+T+")['\"]?\\]"),TAG:new RegExp("^("+T.replace("w","w*")+")"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+X),POS:new RegExp(Y,"i"),CHILD:new RegExp("^:(only|nth|first|last)-child(?:\\("+S+"*(even|odd|(([+-]|)(\\d*)n|)"+S+"*(?:([+-]|)"+S+"*(\\d+)|))"+S+"*\\)|)","i"),needsContext:new RegExp("^"+S+"*[>+~]|"+Y,"i")},ib=function(a){var b=F.createElement("div");try{return a(b)}catch(c){return!1}finally{b=null}},jb=ib(function(a){return a.appendChild(F.createComment("")),!a.getElementsByTagName("*").length}),kb=ib(function(a){return a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!==C&&"#"===a.firstChild.getAttribute("href")}),lb=ib(function(a){a.innerHTML="";var b=typeof a.lastChild.getAttribute("multiple");return"boolean"!==b&&"string"!==b}),mb=ib(function(a){return a.innerHTML="",a.getElementsByClassName&&a.getElementsByClassName("e").length?(a.lastChild.className="e",2===a.getElementsByClassName("e").length):!1}),nb=ib(function(a){a.id=D+0,a.innerHTML="
",G.insertBefore(a,G.firstChild);var b=F.getElementsByName&&F.getElementsByName(D).length===2+F.getElementsByName(D+0).length;return s=!F.getElementById(D),G.removeChild(a),b});try{L.call(G.childNodes,0)[0].nodeType}catch(ob){L=function(a){for(var b,c=[];b=this[a];a++)c.push(b);return c}}c.matches=function(a,b){return c(a,null,null,b)},c.matchesSelector=function(a,b){return c(b,null,null,[a]).length>0},u=c.getText=function(a){var b,c="",d=0,e=a.nodeType;if(e){if(1===e||9===e||11===e){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=u(a)}else if(3===e||4===e)return a.nodeValue}else for(;b=a[d];d++)c+=u(b);return c},v=c.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},w=c.contains=G.contains?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!!(d&&1===d.nodeType&&c.contains&&c.contains(d))}:G.compareDocumentPosition?function(a,b){return b&&!!(16&a.compareDocumentPosition(b))}:function(a,b){for(;b=b.parentNode;)if(b===a)return!0;return!1},c.attr=function(a,b){var c,d=v(a);return d||(b=b.toLowerCase()),(c=t.attrHandle[b])?c(a):d||lb?a.getAttribute(b):(c=a.getAttributeNode(b),c?"boolean"==typeof a[b]?a[b]?b:null:c.specified?c.value:null:null)},t=c.selectors={cacheLength:50,createPseudo:N,match:hb,attrHandle:kb?{}:{href:function(a){return a.getAttribute("href",2)},type:function(a){return a.getAttribute("type")}},find:{ID:s?function(a,b,c){if(typeof b.getElementById!==C&&!c){var d=b.getElementById(a); -return d&&d.parentNode?[d]:[]}}:function(a,c,d){if(typeof c.getElementById!==C&&!d){var e=c.getElementById(a);return e?e.id===a||typeof e.getAttributeNode!==C&&e.getAttributeNode("id").value===a?[e]:b:[]}},TAG:jb?function(a,b){return typeof b.getElementsByTagName!==C?b.getElementsByTagName(a):void 0}:function(a,b){var c=b.getElementsByTagName(a);if("*"===a){for(var d,e=[],f=0;d=c[f];f++)1===d.nodeType&&e.push(d);return e}return c},NAME:nb&&function(a,b){return typeof b.getElementsByName!==C?b.getElementsByName(name):void 0},CLASS:mb&&function(a,b,c){return typeof b.getElementsByClassName===C||c?void 0:b.getElementsByClassName(a)}},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(gb,""),a[3]=(a[4]||a[5]||"").replace(gb,""),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1]?(a[2]||c.error(a[0]),a[3]=+(a[3]?a[4]+(a[5]||1):2*("even"===a[2]||"odd"===a[2])),a[4]=+(a[6]+a[7]||"odd"===a[2])):a[2]&&c.error(a[0]),a},PSEUDO:function(a){var b,c;return hb.CHILD.test(a[0])?null:(a[3]?a[2]=a[3]:(b=a[4])&&(bb.test(b)&&(c=h(b,!0))&&(c=b.indexOf(")",b.length-c)-b.length)&&(b=b.slice(0,c),a[0]=a[0].slice(0,c)),a[2]=b),a.slice(0,3))}},filter:{ID:s?function(a){return a=a.replace(gb,""),function(b){return b.getAttribute("id")===a}}:function(a){return a=a.replace(gb,""),function(b){var c=typeof b.getAttributeNode!==C&&b.getAttributeNode("id");return c&&c.value===a}},TAG:function(a){return"*"===a?function(){return!0}:(a=a.replace(gb,"").toLowerCase(),function(b){return b.nodeName&&b.nodeName.toLowerCase()===a})},CLASS:function(a){var b=P[D][a];return b||(b=P(a,new RegExp("(^|"+S+")"+a+"("+S+"|$)"))),function(a){return b.test(a.className||typeof a.getAttribute!==C&&a.getAttribute("class")||"")}},ATTR:function(a,b,d){return function(e){var f=c.attr(e,a);return null==f?"!="===b:b?(f+="","="===b?f===d:"!="===b?f!==d:"^="===b?d&&0===f.indexOf(d):"*="===b?d&&f.indexOf(d)>-1:"$="===b?d&&f.substr(f.length-d.length)===d:"~="===b?(" "+f+" ").indexOf(d)>-1:"|="===b?f===d||f.substr(0,d.length+1)===d+"-":!1):!0}},CHILD:function(a,b,c,d){return"nth"===a?function(a){var b,e,f=a.parentNode;if(1===c&&0===d)return!0;if(f)for(e=0,b=f.firstChild;b&&(1!==b.nodeType||(e++,a!==b));b=b.nextSibling);return e-=d,e===c||e%c===0&&e/c>=0}:function(b){var c=b;switch(a){case"only":case"first":for(;c=c.previousSibling;)if(1===c.nodeType)return!1;if("first"===a)return!0;c=b;case"last":for(;c=c.nextSibling;)if(1===c.nodeType)return!1;return!0}}},PSEUDO:function(a,b){var d,e=t.pseudos[a]||t.setFilters[a.toLowerCase()]||c.error("unsupported pseudo: "+a);return e[D]?e(b):e.length>1?(d=[a,a,"",b],t.setFilters.hasOwnProperty(a.toLowerCase())?N(function(a,c){for(var d,f=e(a,b),g=f.length;g--;)d=M.call(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,d)}):e}},pseudos:{not:N(function(a){var b=[],c=[],d=x(a.replace(Z,"$1"));return d[D]?N(function(a,b,c,e){for(var f,g=d(a,null,e,[]),h=a.length;h--;)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:N(function(a){return function(b){return c(a,b).length>0}}),contains:N(function(a){return function(b){return(b.textContent||b.innerText||u(b)).indexOf(a)>-1}}),enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},parent:function(a){return!t.pseudos.empty(a)},empty:function(a){var b;for(a=a.firstChild;a;){if(a.nodeName>"@"||3===(b=a.nodeType)||4===b)return!1;a=a.nextSibling}return!0},header:function(a){return eb.test(a.nodeName)},text:function(a){var b,c;return"input"===a.nodeName.toLowerCase()&&"text"===(b=a.type)&&(null==(c=a.getAttribute("type"))||c.toLowerCase()===b)},radio:d("radio"),checkbox:d("checkbox"),file:d("file"),password:d("password"),image:d("image"),submit:e("submit"),reset:e("reset"),button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},input:function(a){return fb.test(a.nodeName)},focus:function(a){var b=a.ownerDocument;return!(a!==b.activeElement||b.hasFocus&&!b.hasFocus()||!a.type&&!a.href)},active:function(a){return a===a.ownerDocument.activeElement},first:f(function(){return[0]}),last:f(function(a,b){return[b-1]}),eq:f(function(a,b,c){return[0>c?c+b:c]}),even:f(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:f(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:f(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:f(function(a,b,c){for(var d=0>c?c+b:c;++dk&&d>k;k++)if(e[k]!==f[k])return g(e[k],f[k]);return k===c?g(a,f[k],-1):g(e[k],b,1)},[0,0].sort(y),B=!z,c.uniqueSort=function(a){var b,c=1;if(z=B,a.sort(y),z)for(;b=a[c];c++)b===a[c-1]&&a.splice(c--,1);return a},c.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},x=c.compile=function(a,b){var c,d=[],e=[],f=R[D][a];if(!f){for(b||(b=h(a)),c=b.length;c--;)f=m(b[c]),f[D]?d.push(f):e.push(f);f=R(a,n(e,d))}return f},F.querySelectorAll&&function(){var a,b=p,d=/'|\\/g,e=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,f=[":focus"],g=[":active",":focus"],i=G.matchesSelector||G.mozMatchesSelector||G.webkitMatchesSelector||G.oMatchesSelector||G.msMatchesSelector;ib(function(a){a.innerHTML="",a.querySelectorAll("[selected]").length||f.push("\\["+S+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),a.querySelectorAll(":checked").length||f.push(":checked")}),ib(function(a){a.innerHTML="

",a.querySelectorAll("[test^='']").length&&f.push("[*^$]="+S+"*(?:\"\"|'')"),a.innerHTML="",a.querySelectorAll(":enabled").length||f.push(":enabled",":disabled")}),f=new RegExp(f.join("|")),p=function(a,c,e,g,i){if(!(g||i||f&&f.test(a))){var j,k,l=!0,m=D,n=c,o=9===c.nodeType&&a;if(1===c.nodeType&&"object"!==c.nodeName.toLowerCase()){for(j=h(a),(l=c.getAttribute("id"))?m=l.replace(d,"\\$&"):c.setAttribute("id",m),m="[id='"+m+"'] ",k=j.length;k--;)j[k]=m+j[k].join("");n=db.test(a)&&c.parentNode||c,o=j.join(",")}if(o)try{return K.apply(e,L.call(n.querySelectorAll(o),0)),e}catch(p){}finally{l||c.removeAttribute("id")}}return b(a,c,e,g,i)},i&&(ib(function(b){a=i.call(b,"div");try{i.call(b,"[test!='']:sizzle"),g.push("!=",X)}catch(c){}}),g=new RegExp(g.join("|")),c.matchesSelector=function(b,d){if(d=d.replace(e,"='$1']"),!(v(b)||g.test(d)||f&&f.test(d)))try{var h=i.call(b,d);if(h||a||b.document&&11!==b.document.nodeType)return h}catch(j){}return c(d,null,null,[b]).length>0})}(),t.pseudos.nth=t.pseudos.eq,t.filters=q.prototype=t.pseudos,t.setFilters=new q,c.attr=$.attr,$.find=c,$.expr=c.selectors,$.expr[":"]=$.expr.pseudos,$.unique=c.uniqueSort,$.text=c.getText,$.isXMLDoc=c.isXML,$.contains=c.contains}(a);var Ib=/Until$/,Jb=/^(?:parents|prev(?:Until|All))/,Kb=/^.[^:#\[\.,]*$/,Lb=$.expr.match.needsContext,Mb={children:!0,contents:!0,next:!0,prev:!0};$.fn.extend({find:function(a){var b,c,d,e,f,g,h=this;if("string"!=typeof a)return $(a).filter(function(){for(b=0,c=h.length;c>b;b++)if($.contains(h[b],this))return!0});for(g=this.pushStack("","find",a),b=0,c=this.length;c>b;b++)if(d=g.length,$.find(a,this[b],g),b>0)for(e=d;ef;f++)if(g[f]===g[e]){g.splice(e--,1);break}return g},has:function(a){var b,c=$(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if($.contains(this,c[b]))return!0})},not:function(a){return this.pushStack(j(this,a,!1),"not",a)},filter:function(a){return this.pushStack(j(this,a,!0),"filter",a)},is:function(a){return!!a&&("string"==typeof a?Lb.test(a)?$(a,this.context).index(this[0])>=0:$.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=Lb.test(a)||"string"!=typeof a?$(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c.ownerDocument&&c!==b&&11!==c.nodeType;){if(g?g.index(c)>-1:$.find.matchesSelector(c,a)){f.push(c);break}c=c.parentNode}return f=f.length>1?$.unique(f):f,this.pushStack(f,"closest",a)},index:function(a){return a?"string"==typeof a?$.inArray(this[0],$(a)):$.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.prevAll().length:-1},add:function(a,b){var c="string"==typeof a?$(a,b):$.makeArray(a&&a.nodeType?[a]:a),d=$.merge(this.get(),c);return this.pushStack(h(c[0])||h(d[0])?d:$.unique(d))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}}),$.fn.andSelf=$.fn.addBack,$.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return $.dir(a,"parentNode")},parentsUntil:function(a,b,c){return $.dir(a,"parentNode",c)},next:function(a){return i(a,"nextSibling")},prev:function(a){return i(a,"previousSibling")},nextAll:function(a){return $.dir(a,"nextSibling")},prevAll:function(a){return $.dir(a,"previousSibling")},nextUntil:function(a,b,c){return $.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return $.dir(a,"previousSibling",c)},siblings:function(a){return $.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return $.sibling(a.firstChild)},contents:function(a){return $.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:$.merge([],a.childNodes)}},function(a,b){$.fn[a]=function(c,d){var e=$.map(this,b,c);return Ib.test(a)||(d=c),d&&"string"==typeof d&&(e=$.filter(d,e)),e=this.length>1&&!Mb[a]?$.unique(e):e,this.length>1&&Jb.test(a)&&(e=e.reverse()),this.pushStack(e,a,V.call(arguments).join(","))}}),$.extend({filter:function(a,b,c){return c&&(a=":not("+a+")"),1===b.length?$.find.matchesSelector(b[0],a)?[b[0]]:[]:$.find.matches(a,b)},dir:function(a,c,d){for(var e=[],f=a[c];f&&9!==f.nodeType&&(d===b||1!==f.nodeType||!$(f).is(d));)1===f.nodeType&&e.push(f),f=f[c];return e},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}});var Nb="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",Ob=/ jQuery\d+="(?:null|\d+)"/g,Pb=/^\s+/,Qb=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,Rb=/<([\w:]+)/,Sb=/]","i"),Xb=/^(?:checkbox|radio)$/,Yb=/checked\s*(?:[^=]|=\s*.checked.)/i,Zb=/\/(java|ecma)script/i,$b=/^\s*\s*$/g,_b={option:[1,""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},ac=k(P),bc=ac.appendChild(P.createElement("div"));_b.optgroup=_b.option,_b.tbody=_b.tfoot=_b.colgroup=_b.caption=_b.thead,_b.th=_b.td,$.support.htmlSerialize||(_b._default=[1,"X
","
"]),$.fn.extend({text:function(a){return $.access(this,function(a){return a===b?$.text(this):this.empty().append((this[0]&&this[0].ownerDocument||P).createTextNode(a))},null,a,arguments.length)},wrapAll:function(a){if($.isFunction(a))return this.each(function(b){$(this).wrapAll(a.call(this,b))});if(this[0]){var b=$(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){for(var a=this;a.firstChild&&1===a.firstChild.nodeType;)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return this.each($.isFunction(a)?function(b){$(this).wrapInner(a.call(this,b))}:function(){var b=$(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=$.isFunction(a);return this.each(function(c){$(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){$.nodeName(this,"body")||$(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){(1===this.nodeType||11===this.nodeType)&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){(1===this.nodeType||11===this.nodeType)&&this.insertBefore(a,this.firstChild)})},before:function(){if(!h(this[0]))return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=$.clean(arguments);return this.pushStack($.merge(a,this),"before",this.selector)}},after:function(){if(!h(this[0]))return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=$.clean(arguments);return this.pushStack($.merge(this,a),"after",this.selector)}},remove:function(a,b){for(var c,d=0;null!=(c=this[d]);d++)(!a||$.filter(a,[c]).length)&&(!b&&1===c.nodeType&&($.cleanData(c.getElementsByTagName("*")),$.cleanData([c])),c.parentNode&&c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)for(1===a.nodeType&&$.cleanData(a.getElementsByTagName("*"));a.firstChild;)a.removeChild(a.firstChild);return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return $.clone(this,a,b)})},html:function(a){return $.access(this,function(a){var c=this[0]||{},d=0,e=this.length;if(a===b)return 1===c.nodeType?c.innerHTML.replace(Ob,""):b;if(!("string"!=typeof a||Ub.test(a)||!$.support.htmlSerialize&&Wb.test(a)||!$.support.leadingWhitespace&&Pb.test(a)||_b[(Rb.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(Qb,"<$1>");try{for(;e>d;d++)c=this[d]||{},1===c.nodeType&&($.cleanData(c.getElementsByTagName("*")),c.innerHTML=a);c=0}catch(f){}}c&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(a){return h(this[0])?this.length?this.pushStack($($.isFunction(a)?a():a),"replaceWith",a):this:$.isFunction(a)?this.each(function(b){var c=$(this),d=c.html();c.replaceWith(a.call(this,b,d))}):("string"!=typeof a&&(a=$(a).detach()),this.each(function(){var b=this.nextSibling,c=this.parentNode;$(this).remove(),b?$(b).before(a):$(c).append(a)}))},detach:function(a){return this.remove(a,!0)},domManip:function(a,c,d){a=[].concat.apply([],a);var e,f,g,h,i=0,j=a[0],k=[],m=this.length;if(!$.support.checkClone&&m>1&&"string"==typeof j&&Yb.test(j))return this.each(function(){$(this).domManip(a,c,d)});if($.isFunction(j))return this.each(function(e){var f=$(this);a[0]=j.call(this,e,c?f.html():b),f.domManip(a,c,d)});if(this[0]){if(e=$.buildFragment(a,this,k),g=e.fragment,f=g.firstChild,1===g.childNodes.length&&(g=f),f)for(c=c&&$.nodeName(f,"tr"),h=e.cacheable||m-1;m>i;i++)d.call(c&&$.nodeName(this[i],"table")?l(this[i],"tbody"):this[i],i===h?g:$.clone(g,!0,!0));g=f=null,k.length&&$.each(k,function(a,b){b.src?$.ajax?$.ajax({url:b.src,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0}):$.error("no ajax"):$.globalEval((b.text||b.textContent||b.innerHTML||"").replace($b,"")),b.parentNode&&b.parentNode.removeChild(b)})}return this}}),$.buildFragment=function(a,c,d){var e,f,g,h=a[0];return c=c||P,c=!c.nodeType&&c[0]||c,c=c.ownerDocument||c,1===a.length&&"string"==typeof h&&h.length<512&&c===P&&"<"===h.charAt(0)&&!Vb.test(h)&&($.support.checkClone||!Yb.test(h))&&($.support.html5Clone||!Wb.test(h))&&(f=!0,e=$.fragments[h],g=e!==b),e||(e=c.createDocumentFragment(),$.clean(a,c,e,d),f&&($.fragments[h]=g&&e)),{fragment:e,cacheable:f}},$.fragments={},$.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){$.fn[a]=function(c){var d,e=0,f=[],g=$(c),h=g.length,i=1===this.length&&this[0].parentNode;if((null==i||i&&11===i.nodeType&&1===i.childNodes.length)&&1===h)return g[b](this[0]),this;for(;h>e;e++)d=(e>0?this.clone(!0):this).get(),$(g[e])[b](d),f=f.concat(d);return this.pushStack(f,a,g.selector)}}),$.extend({clone:function(a,b,c){var d,e,f,g;if($.support.html5Clone||$.isXMLDoc(a)||!Wb.test("<"+a.nodeName+">")?g=a.cloneNode(!0):(bc.innerHTML=a.outerHTML,bc.removeChild(g=bc.firstChild)),!($.support.noCloneEvent&&$.support.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||$.isXMLDoc(a)))for(n(a,g),d=o(a),e=o(g),f=0;d[f];++f)e[f]&&n(d[f],e[f]);if(b&&(m(a,g),c))for(d=o(a),e=o(g),f=0;d[f];++f)m(d[f],e[f]);return d=e=null,g},clean:function(a,b,c,d){var e,f,g,h,i,j,l,m,n,o,q,r=b===P&&ac,s=[];for(b&&"undefined"!=typeof b.createDocumentFragment||(b=P),e=0;null!=(g=a[e]);e++)if("number"==typeof g&&(g+=""),g){if("string"==typeof g)if(Tb.test(g)){for(r=r||k(b),l=b.createElement("div"),r.appendChild(l),g=g.replace(Qb,"<$1>"),h=(Rb.exec(g)||["",""])[1].toLowerCase(),i=_b[h]||_b._default,j=i[0],l.innerHTML=i[1]+g+i[2];j--;)l=l.lastChild;if(!$.support.tbody)for(m=Sb.test(g),n="table"!==h||m?""!==i[1]||m?[]:l.childNodes:l.firstChild&&l.firstChild.childNodes,f=n.length-1;f>=0;--f)$.nodeName(n[f],"tbody")&&!n[f].childNodes.length&&n[f].parentNode.removeChild(n[f]);!$.support.leadingWhitespace&&Pb.test(g)&&l.insertBefore(b.createTextNode(Pb.exec(g)[0]),l.firstChild),g=l.childNodes,l.parentNode.removeChild(l)}else g=b.createTextNode(g);g.nodeType?s.push(g):$.merge(s,g)}if(l&&(g=l=r=null),!$.support.appendChecked)for(e=0;null!=(g=s[e]);e++)$.nodeName(g,"input")?p(g):"undefined"!=typeof g.getElementsByTagName&&$.grep(g.getElementsByTagName("input"),p);if(c)for(o=function(a){return!a.type||Zb.test(a.type)?d?d.push(a.parentNode?a.parentNode.removeChild(a):a):c.appendChild(a):void 0},e=0;null!=(g=s[e]);e++)$.nodeName(g,"script")&&o(g)||(c.appendChild(g),"undefined"!=typeof g.getElementsByTagName&&(q=$.grep($.merge([],g.getElementsByTagName("script")),o),s.splice.apply(s,[e+1,0].concat(q)),e+=q.length));return s},cleanData:function(a,b){for(var c,d,e,f,g=0,h=$.expando,i=$.cache,j=$.support.deleteExpando,k=$.event.special;null!=(e=a[g]);g++)if((b||$.acceptData(e))&&(d=e[h],c=d&&i[d])){if(c.events)for(f in c.events)k[f]?$.event.remove(e,f):$.removeEvent(e,f,c.handle);i[d]&&(delete i[d],j?delete e[h]:e.removeAttribute?e.removeAttribute(h):e[h]=null,$.deletedIds.push(d))}}}),function(){var a,b;$.uaMatch=function(a){a=a.toLowerCase();var b=/(chrome)[ \/]([\w.]+)/.exec(a)||/(webkit)[ \/]([\w.]+)/.exec(a)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(a)||/(msie) ([\w.]+)/.exec(a)||a.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},a=$.uaMatch(R.userAgent),b={},a.browser&&(b[a.browser]=!0,b.version=a.version),b.chrome?b.webkit=!0:b.webkit&&(b.safari=!0),$.browser=b,$.sub=function(){function a(b,c){return new a.fn.init(b,c)}$.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function c(c,d){return d&&d instanceof $&&!(d instanceof a)&&(d=a(d)),$.fn.init.call(this,c,d,b)},a.fn.init.prototype=a.fn;var b=a(P);return a}}();var cc,dc,ec,fc=/alpha\([^)]*\)/i,gc=/opacity=([^)]*)/,hc=/^(top|right|bottom|left)$/,ic=/^(none|table(?!-c[ea]).+)/,jc=/^margin/,kc=new RegExp("^("+_+")(.*)$","i"),lc=new RegExp("^("+_+")(?!px)[a-z%]+$","i"),mc=new RegExp("^([-+])=("+_+")","i"),nc={},oc={position:"absolute",visibility:"hidden",display:"block"},pc={letterSpacing:0,fontWeight:400},qc=["Top","Right","Bottom","Left"],rc=["Webkit","O","Moz","ms"],sc=$.fn.toggle;$.fn.extend({css:function(a,c){return $.access(this,function(a,c,d){return d!==b?$.style(a,c,d):$.css(a,c)},a,c,arguments.length>1)},show:function(){return s(this,!0)},hide:function(){return s(this)},toggle:function(a,b){var c="boolean"==typeof a;return $.isFunction(a)&&$.isFunction(b)?sc.apply(this,arguments):this.each(function(){(c?a:r(this))?$(this).show():$(this).hide()})}}),$.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=cc(a,"opacity");return""===c?"1":c}}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":$.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var f,g,h,i=$.camelCase(c),j=a.style;if(c=$.cssProps[i]||($.cssProps[i]=q(j,i)),h=$.cssHooks[c]||$.cssHooks[i],d===b)return h&&"get"in h&&(f=h.get(a,!1,e))!==b?f:j[c];if(g=typeof d,"string"===g&&(f=mc.exec(d))&&(d=(f[1]+1)*f[2]+parseFloat($.css(a,c)),g="number"),!(null==d||"number"===g&&isNaN(d)||("number"===g&&!$.cssNumber[i]&&(d+="px"),h&&"set"in h&&(d=h.set(a,d,e))===b)))try{j[c]=d}catch(k){}}},css:function(a,c,d,e){var f,g,h,i=$.camelCase(c);return c=$.cssProps[i]||($.cssProps[i]=q(a.style,i)),h=$.cssHooks[c]||$.cssHooks[i],h&&"get"in h&&(f=h.get(a,!0,e)),f===b&&(f=cc(a,c)),"normal"===f&&c in pc&&(f=pc[c]),d||e!==b?(g=parseFloat(f),d||$.isNumeric(g)?g||0:f):f},swap:function(a,b,c){var d,e,f={};for(e in b)f[e]=a.style[e],a.style[e]=b[e];d=c.call(a);for(e in b)a.style[e]=f[e];return d}}),a.getComputedStyle?cc=function(b,c){var d,e,f,g,h=a.getComputedStyle(b,null),i=b.style;return h&&(d=h[c],""===d&&!$.contains(b.ownerDocument,b)&&(d=$.style(b,c)),lc.test(d)&&jc.test(c)&&(e=i.width,f=i.minWidth,g=i.maxWidth,i.minWidth=i.maxWidth=i.width=d,d=h.width,i.width=e,i.minWidth=f,i.maxWidth=g)),d}:P.documentElement.currentStyle&&(cc=function(a,b){var c,d,e=a.currentStyle&&a.currentStyle[b],f=a.style;return null==e&&f&&f[b]&&(e=f[b]),lc.test(e)&&!hc.test(b)&&(c=f.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),f.left="fontSize"===b?"1em":e,e=f.pixelLeft+"px",f.left=c,d&&(a.runtimeStyle.left=d)),""===e?"auto":e}),$.each(["height","width"],function(a,b){$.cssHooks[b]={get:function(a,c,d){return c?0===a.offsetWidth&&ic.test(cc(a,"display"))?$.swap(a,oc,function(){return v(a,b,d)}):v(a,b,d):void 0},set:function(a,c,d){return t(a,c,d?u(a,b,d,$.support.boxSizing&&"border-box"===$.css(a,"boxSizing")):0)}}}),$.support.opacity||($.cssHooks.opacity={get:function(a,b){return gc.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=$.isNumeric(b)?"alpha(opacity="+100*b+")":"",f=d&&d.filter||c.filter||"";c.zoom=1,b>=1&&""===$.trim(f.replace(fc,""))&&c.removeAttribute&&(c.removeAttribute("filter"),d&&!d.filter)||(c.filter=fc.test(f)?f.replace(fc,e):f+" "+e)}}),$(function(){$.support.reliableMarginRight||($.cssHooks.marginRight={get:function(a,b){return $.swap(a,{display:"inline-block"},function(){return b?cc(a,"marginRight"):void 0})}}),!$.support.pixelPosition&&$.fn.position&&$.each(["top","left"],function(a,b){$.cssHooks[b]={get:function(a,c){if(c){var d=cc(a,b);return lc.test(d)?$(a).position()[b]+"px":d}}}})}),$.expr&&$.expr.filters&&($.expr.filters.hidden=function(a){return 0===a.offsetWidth&&0===a.offsetHeight||!$.support.reliableHiddenOffsets&&"none"===(a.style&&a.style.display||cc(a,"display"))},$.expr.filters.visible=function(a){return!$.expr.filters.hidden(a)}),$.each({margin:"",padding:"",border:"Width"},function(a,b){$.cssHooks[a+b]={expand:function(c){var d,e="string"==typeof c?c.split(" "):[c],f={};for(d=0;4>d;d++)f[a+qc[d]+b]=e[d]||e[d-2]||e[0];return f}},jc.test(a)||($.cssHooks[a+b].set=t)});var tc=/%20/g,uc=/\[\]$/,vc=/\r?\n/g,wc=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,xc=/^(?:select|textarea)/i;$.fn.extend({serialize:function(){return $.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?$.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||xc.test(this.nodeName)||wc.test(this.type))}).map(function(a,b){var c=$(this).val();return null==c?null:$.isArray(c)?$.map(c,function(a){return{name:b.name,value:a.replace(vc,"\r\n")}}):{name:b.name,value:c.replace(vc,"\r\n")}}).get()}}),$.param=function(a,c){var d,e=[],f=function(a,b){b=$.isFunction(b)?b():null==b?"":b,e[e.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(c===b&&(c=$.ajaxSettings&&$.ajaxSettings.traditional),$.isArray(a)||a.jquery&&!$.isPlainObject(a))$.each(a,function(){f(this.name,this.value)});else for(d in a)x(d,a[d],c,f);return e.join("&").replace(tc,"+")};var yc,zc,Ac=/#.*$/,Bc=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Cc=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,Dc=/^(?:GET|HEAD)$/,Ec=/^\/\//,Fc=/\?/,Gc=/)<[^<]*)*<\/script>/gi,Hc=/([?&])_=[^&]*/,Ic=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,Jc=$.fn.load,Kc={},Lc={},Mc=["*/"]+["*"];try{zc=Q.href}catch(Nc){zc=P.createElement("a"),zc.href="",zc=zc.href}yc=Ic.exec(zc.toLowerCase())||[],$.fn.load=function(a,c,d){if("string"!=typeof a&&Jc)return Jc.apply(this,arguments);if(!this.length)return this;var e,f,g,h=this,i=a.indexOf(" ");return i>=0&&(e=a.slice(i,a.length),a=a.slice(0,i)),$.isFunction(c)?(d=c,c=b):c&&"object"==typeof c&&(f="POST"),$.ajax({url:a,type:f,dataType:"html",data:c,complete:function(a,b){d&&h.each(d,g||[a.responseText,b,a])}}).done(function(a){g=arguments,h.html(e?$("
").append(a.replace(Gc,"")).find(e):a)}),this},$.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){$.fn[b]=function(a){return this.on(b,a)}}),$.each(["get","post"],function(a,c){$[c]=function(a,d,e,f){return $.isFunction(d)&&(f=f||e,e=d,d=b),$.ajax({type:c,url:a,data:d,success:e,dataType:f})}}),$.extend({getScript:function(a,c){return $.get(a,b,c,"script")},getJSON:function(a,b,c){return $.get(a,b,c,"json")},ajaxSetup:function(a,b){return b?A(a,$.ajaxSettings):(b=a,a=$.ajaxSettings),A(a,b),a},ajaxSettings:{url:zc,isLocal:Cc.test(yc[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":Mc},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":$.parseJSON,"text xml":$.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:y(Kc),ajaxTransport:y(Lc),ajax:function(a,c){function d(a,c,d,g){var j,l,s,t,v,x=c;2!==u&&(u=2,i&&clearTimeout(i),h=b,f=g||"",w.readyState=a>0?4:0,d&&(t=B(m,w,d)),a>=200&&300>a||304===a?(m.ifModified&&(v=w.getResponseHeader("Last-Modified"),v&&($.lastModified[e]=v),v=w.getResponseHeader("Etag"),v&&($.etag[e]=v)),304===a?(x="notmodified",j=!0):(j=C(m,t),x=j.state,l=j.data,s=j.error,j=!s)):(s=x,(!x||a)&&(x="error",0>a&&(a=0))),w.status=a,w.statusText=(c||x)+"",j?p.resolveWith(n,[l,x,w]):p.rejectWith(n,[w,x,s]),w.statusCode(r),r=b,k&&o.trigger("ajax"+(j?"Success":"Error"),[w,m,j?l:s]),q.fireWith(n,[w,x]),k&&(o.trigger("ajaxComplete",[w,m]),--$.active||$.event.trigger("ajaxStop")))}"object"==typeof a&&(c=a,a=b),c=c||{};var e,f,g,h,i,j,k,l,m=$.ajaxSetup({},c),n=m.context||m,o=n!==m&&(n.nodeType||n instanceof $)?$(n):$.event,p=$.Deferred(),q=$.Callbacks("once memory"),r=m.statusCode||{},s={},t={},u=0,v="canceled",w={readyState:0,setRequestHeader:function(a,b){if(!u){var c=a.toLowerCase();a=t[c]=t[c]||a,s[a]=b}return this},getAllResponseHeaders:function(){return 2===u?f:null},getResponseHeader:function(a){var c;if(2===u){if(!g)for(g={};c=Bc.exec(f);)g[c[1].toLowerCase()]=c[2];c=g[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){return u||(m.mimeType=a),this},abort:function(a){return a=a||v,h&&h.abort(a),d(0,a),this}};if(p.promise(w),w.success=w.done,w.error=w.fail,w.complete=q.add,w.statusCode=function(a){if(a){var b;if(2>u)for(b in a)r[b]=[r[b],a[b]];else b=a[w.status],w.always(b)}return this},m.url=((a||m.url)+"").replace(Ac,"").replace(Ec,yc[1]+"//"),m.dataTypes=$.trim(m.dataType||"*").toLowerCase().split(bb),null==m.crossDomain&&(j=Ic.exec(m.url.toLowerCase())||!1,m.crossDomain=j&&j.join(":")+(j[3]?"":"http:"===j[1]?80:443)!==yc.join(":")+(yc[3]?"":"http:"===yc[1]?80:443)),m.data&&m.processData&&"string"!=typeof m.data&&(m.data=$.param(m.data,m.traditional)),z(Kc,m,c,w),2===u)return w;if(k=m.global,m.type=m.type.toUpperCase(),m.hasContent=!Dc.test(m.type),k&&0===$.active++&&$.event.trigger("ajaxStart"),!m.hasContent&&(m.data&&(m.url+=(Fc.test(m.url)?"&":"?")+m.data,delete m.data),e=m.url,m.cache===!1)){var x=$.now(),y=m.url.replace(Hc,"$1_="+x);m.url=y+(y===m.url?(Fc.test(m.url)?"&":"?")+"_="+x:"")}(m.data&&m.hasContent&&m.contentType!==!1||c.contentType)&&w.setRequestHeader("Content-Type",m.contentType),m.ifModified&&(e=e||m.url,$.lastModified[e]&&w.setRequestHeader("If-Modified-Since",$.lastModified[e]),$.etag[e]&&w.setRequestHeader("If-None-Match",$.etag[e])),w.setRequestHeader("Accept",m.dataTypes[0]&&m.accepts[m.dataTypes[0]]?m.accepts[m.dataTypes[0]]+("*"!==m.dataTypes[0]?", "+Mc+"; q=0.01":""):m.accepts["*"]);for(l in m.headers)w.setRequestHeader(l,m.headers[l]);if(!m.beforeSend||m.beforeSend.call(n,w,m)!==!1&&2!==u){v="abort";for(l in{success:1,error:1,complete:1})w[l](m[l]);if(h=z(Lc,m,c,w)){w.readyState=1,k&&o.trigger("ajaxSend",[w,m]),m.async&&m.timeout>0&&(i=setTimeout(function(){w.abort("timeout")},m.timeout));try{u=1,h.send(s,d)}catch(A){if(!(2>u))throw A;d(-1,A)}}else d(-1,"No Transport");return w}return w.abort()},active:0,lastModified:{},etag:{}});var Oc=[],Pc=/\?/,Qc=/(=)\?(?=&|$)|\?\?/,Rc=$.now();$.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=Oc.pop()||$.expando+"_"+Rc++;return this[a]=!0,a}}),$.ajaxPrefilter("json jsonp",function(c,d,e){var f,g,h,i=c.data,j=c.url,k=c.jsonp!==!1,l=k&&Qc.test(j),m=k&&!l&&"string"==typeof i&&!(c.contentType||"").indexOf("application/x-www-form-urlencoded")&&Qc.test(i);return"jsonp"===c.dataTypes[0]||l||m?(f=c.jsonpCallback=$.isFunction(c.jsonpCallback)?c.jsonpCallback():c.jsonpCallback,g=a[f],l?c.url=j.replace(Qc,"$1"+f):m?c.data=i.replace(Qc,"$1"+f):k&&(c.url+=(Pc.test(j)?"&":"?")+c.jsonp+"="+f),c.converters["script json"]=function(){return h||$.error(f+" was not called"),h[0]},c.dataTypes[0]="json",a[f]=function(){h=arguments},e.always(function(){a[f]=g,c[f]&&(c.jsonpCallback=d.jsonpCallback,Oc.push(f)),h&&$.isFunction(g)&&g(h[0]),h=g=b}),"script"):void 0}),$.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){return $.globalEval(a),a}}}),$.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),$.ajaxTransport("script",function(a){if(a.crossDomain){var c,d=P.head||P.getElementsByTagName("head")[0]||P.documentElement;return{send:function(e,f){c=P.createElement("script"),c.async="async",a.scriptCharset&&(c.charset=a.scriptCharset),c.src=a.url,c.onload=c.onreadystatechange=function(a,e){(e||!c.readyState||/loaded|complete/.test(c.readyState))&&(c.onload=c.onreadystatechange=null,d&&c.parentNode&&d.removeChild(c),c=b,e||f(200,"success"))},d.insertBefore(c,d.firstChild)},abort:function(){c&&c.onload(0,1)}}}});var Sc,Tc=a.ActiveXObject?function(){for(var a in Sc)Sc[a](0,1)}:!1,Uc=0;$.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&D()||E()}:D,function(a){$.extend($.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}($.ajaxSettings.xhr()),$.support.ajax&&$.ajaxTransport(function(c){if(!c.crossDomain||$.support.cors){var d;return{send:function(e,f){var g,h,i=c.xhr();if(c.username?i.open(c.type,c.url,c.async,c.username,c.password):i.open(c.type,c.url,c.async),c.xhrFields)for(h in c.xhrFields)i[h]=c.xhrFields[h];c.mimeType&&i.overrideMimeType&&i.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest"); -try{for(h in e)i.setRequestHeader(h,e[h])}catch(j){}i.send(c.hasContent&&c.data||null),d=function(a,e){var h,j,k,l,m;try{if(d&&(e||4===i.readyState))if(d=b,g&&(i.onreadystatechange=$.noop,Tc&&delete Sc[g]),e)4!==i.readyState&&i.abort();else{h=i.status,k=i.getAllResponseHeaders(),l={},m=i.responseXML,m&&m.documentElement&&(l.xml=m);try{l.text=i.responseText}catch(a){}try{j=i.statusText}catch(n){j=""}h||!c.isLocal||c.crossDomain?1223===h&&(h=204):h=l.text?200:404}}catch(o){e||f(-1,o)}l&&f(h,j,l,k)},c.async?4===i.readyState?setTimeout(d,0):(g=++Uc,Tc&&(Sc||(Sc={},$(a).unload(Tc)),Sc[g]=d),i.onreadystatechange=d):d()},abort:function(){d&&d(0,1)}}}});var Vc,Wc,Xc=/^(?:toggle|show|hide)$/,Yc=new RegExp("^(?:([-+])=|)("+_+")([a-z%]*)$","i"),Zc=/queueHooks$/,$c=[J],_c={"*":[function(a,b){var c,d,e=this.createTween(a,b),f=Yc.exec(b),g=e.cur(),h=+g||0,i=1,j=20;if(f){if(c=+f[2],d=f[3]||($.cssNumber[a]?"":"px"),"px"!==d&&h){h=$.css(e.elem,a,!0)||c||1;do i=i||".5",h/=i,$.style(e.elem,a,h+d);while(i!==(i=e.cur()/g)&&1!==i&&--j)}e.unit=d,e.start=h,e.end=f[1]?h+(f[1]+1)*c:c}return e}]};$.Animation=$.extend(H,{tweener:function(a,b){$.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],_c[c]=_c[c]||[],_c[c].unshift(b)},prefilter:function(a,b){b?$c.unshift(a):$c.push(a)}}),$.Tween=K,K.prototype={constructor:K,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||($.cssNumber[c]?"":"px")},cur:function(){var a=K.propHooks[this.prop];return a&&a.get?a.get(this):K.propHooks._default.get(this)},run:function(a){var b,c=K.propHooks[this.prop];return this.pos=b=this.options.duration?$.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):K.propHooks._default.set(this),this}},K.prototype.init.prototype=K.prototype,K.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=$.css(a.elem,a.prop,!1,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){$.fx.step[a.prop]?$.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[$.cssProps[a.prop]]||$.cssHooks[a.prop])?$.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},K.propHooks.scrollTop=K.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},$.each(["toggle","show","hide"],function(a,b){var c=$.fn[b];$.fn[b]=function(d,e,f){return null==d||"boolean"==typeof d||!a&&$.isFunction(d)&&$.isFunction(e)?c.apply(this,arguments):this.animate(L(b,!0),d,e,f)}}),$.fn.extend({fadeTo:function(a,b,c,d){return this.filter(r).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=$.isEmptyObject(a),f=$.speed(b,c,d),g=function(){var b=H(this,$.extend({},a),f);e&&b.stop(!0)};return e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,c,d){var e=function(a){var b=a.stop;delete a.stop,b(d)};return"string"!=typeof a&&(d=c,c=a,a=b),c&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,c=null!=a&&a+"queueHooks",f=$.timers,g=$._data(this);if(c)g[c]&&g[c].stop&&e(g[c]);else for(c in g)g[c]&&g[c].stop&&Zc.test(c)&&e(g[c]);for(c=f.length;c--;)f[c].elem===this&&(null==a||f[c].queue===a)&&(f[c].anim.stop(d),b=!1,f.splice(c,1));(b||!d)&&$.dequeue(this,a)})}}),$.each({slideDown:L("show"),slideUp:L("hide"),slideToggle:L("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){$.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),$.speed=function(a,b,c){var d=a&&"object"==typeof a?$.extend({},a):{complete:c||!c&&b||$.isFunction(a)&&a,duration:a,easing:c&&b||b&&!$.isFunction(b)&&b};return d.duration=$.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in $.fx.speeds?$.fx.speeds[d.duration]:$.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){$.isFunction(d.old)&&d.old.call(this),d.queue&&$.dequeue(this,d.queue)},d},$.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},$.timers=[],$.fx=K.prototype.init,$.fx.tick=function(){for(var a,b=$.timers,c=0;c-1,l={},m={};k?(m=g.position(),e=m.top,f=m.left):(e=parseFloat(i)||0,f=parseFloat(j)||0),$.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(l.top=b.top-h.top+e),null!=b.left&&(l.left=b.left-h.left+f),"using"in b?b.using.call(a,l):g.css(l)}},$.fn.extend({position:function(){if(this[0]){var a=this[0],b=this.offsetParent(),c=this.offset(),d=ad.test(b[0].nodeName)?{top:0,left:0}:b.offset();return c.top-=parseFloat($.css(a,"marginTop"))||0,c.left-=parseFloat($.css(a,"marginLeft"))||0,d.top+=parseFloat($.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat($.css(b[0],"borderLeftWidth"))||0,{top:c.top-d.top,left:c.left-d.left}}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||P.body;a&&!ad.test(a.nodeName)&&"static"===$.css(a,"position");)a=a.offsetParent;return a||P.body})}}),$.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,c){var d=/Y/.test(c);$.fn[a]=function(e){return $.access(this,function(a,e,f){var g=M(a);return f===b?g?c in g?g[c]:g.document.documentElement[e]:a[e]:void(g?g.scrollTo(d?$(g).scrollLeft():f,d?f:$(g).scrollTop()):a[e]=f)},a,e,arguments.length,null)}}),$.each({Height:"height",Width:"width"},function(a,c){$.each({padding:"inner"+a,content:c,"":"outer"+a},function(d,e){$.fn[e]=function(e,f){var g=arguments.length&&(d||"boolean"!=typeof e),h=d||(e===!0||f===!0?"margin":"border");return $.access(this,function(c,d,e){var f;return $.isWindow(c)?c.document.documentElement["client"+a]:9===c.nodeType?(f=c.documentElement,Math.max(c.body["scroll"+a],f["scroll"+a],c.body["offset"+a],f["offset"+a],f["client"+a])):e===b?$.css(c,d,e,h):$.style(c,d,e,h)},c,g?e:b,g,null)}})}),a.jQuery=a.$=$,"function"==typeof define&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return $})}(window),function(a){a.ajaxthrottle=function(b){var c,d=a.extend({numRequestsPerTimePeriod:0,timePeriod:0,maxConcurrent:1},b),e=function(){return(new Date).getTime()},f=[],g=[],h=[],i=function(a){if(d.timePeriod>=0){for(;g.length>0&&g[0].time+d.timePeriod-a<=0;)g.shift();if(g.length>0)return g[0].time+d.timePeriod-a}return 0},j=function(b){a.each(f,function(a){return f[a]===b?(f.splice(a,1),!1):!0})},k=function(){var b,l,m=e();if(!(h.length<=0))return b=i(m),d.numRequestsPerTimePeriod>0&&d.timePeriod>0&&b>0&&g.length>=d.numRequestsPerTimePeriod?(void 0!==c&&clearTimeout(c),void(c=setTimeout(function(){c=void 0,k()},b))):void(d.maxConcurrent>0&&f.length>=d.maxConcurrent||(l=h.shift(),l.time=e(),g.push(l),f.push(l),a.ajax.apply(a,l.arguments).done(function(){l.deferred.resolve.apply(l.deferred,arguments)}).fail(function(){l.deferred.reject.apply(l.deferred,arguments)}).always(function(){j(l),k()})))};return{ajax:function(){var b=a.Deferred();return h.push({arguments:arguments,deferred:b}),k(),b.promise()}}}}(jQuery),function(a){var b={fullscreen:!1,scale:!1,defaultEventHandling:!0,preopen:function(){},postopen:function(){},preclose:function(){},postclose:function(){},preresize:function(){},postresize:function(){}},c={open:function(){var b,c,g=this.clone(!0),h=this.data("lightbox");h.contents=g,h.preopen.call(this),g=h.contents;var i=g.data("lightbox");if(h.overlay=a("
").css({position:"fixed",left:"0px",top:"0px",height:"100%","min-height":"100%",width:"100%","z-index":"9999","background-color":"black",opacity:"0.5"}).appendTo("body"),h.box=a("
").css({position:"fixed","z-index":"9999"}).appendTo("body"),h.box.append(g),h.fullscreen===!0)b=window.innerWidth,c=window.innerHeight;else if(b=g.width(),c=g.height(),h.scale===!0){var j=d(b,c);b=parseInt(b*j,10),c=parseInt(c*j,10)}return e(h.box,b,c),f(h.box,b,c),e(g,b,c),f(g,b,c),g.css("position","fixed").css("z-index",9999),h.box.append(a('close').css({position:"absolute",right:"-9px",top:"-8px",width:"44px",height:"44px","z-index":"10000"}).click(function(){g.lightbox("close")})),i.contentWidth=b,i.contentHeight=c,i.opened=!0,i.resizeHandler=function(){g.lightbox("resize")},a(window).on("resize",i.resizeHandler),a(window).on("orientationchange",i.resizeHandler),h.postopen.call(this),this},close:function(){var b=this.data("lightbox");return b.preclose.call(this),a(window).off("resize",b.resizeHandler),a(window).off("orientationchange",b.resizeHandler),b.opened=!1,b.overlay.remove(),b.overlay=void 0,b.postclose.call(this),b.box.remove(),this},resize:function(){var a,b,c=this.data("lightbox");if(c.preresize.call(this),c.fullscreen===!0)a=window.innerWidth,b=window.innerHeight;else if(a=c.contentWidth,b=c.contentHeight,c.scale===!0){var g=d(a,b);a=parseInt(a*g,10),b=parseInt(b*g,10)}return e(c.box,a,b),f(c.box,a,b),e(c.contents,a,b),f(c.contents,a,b),c.contentWidth=a,c.contentHeight=b,c.postresize.call(this),this},toggle:function(){return this.lightbox(this.data("lightbox").opened===!0?"close":"open"),this},init:function(c){return this.each(function(){var d=a(this),e=d.data("lightbox");if(!e){var f=a.extend(b,c,{opened:!1});d.data("lightbox",f)}return d.data("lightbox").defaultEventHandling===!0&&d.on("touchstart",function(a){var b=a.timeStamp,c=d.data("lightbox").lastTouch||b,e=b-c,f=a.originalEvent.touches.length;d.data("lightbox").lastTouch=b,!e||e>500||f>1||(a.preventDefault(),d.lightbox("toggle"))}),this})}};a.fn.lightbox=function(b){return c[b]?c[b].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof b&&b?(a.error("Method "+b+" does not exist on jQuery.lightbox"),null):c.init.apply(this,arguments)};var d=function(a,b){var c=a>0?window.innerWidth/a:1,d=b>0?window.innerHeight/b:1,e=Math.min(c,d);return e},e=function(a,b,c){a.css("width",b+"px").css("height",c+"px")},f=function(a,b,c){var d=(window.innerWidth-b)/2,e=(window.innerHeight-c)/2;0>d&&(d=0),0>e&&(e=0),a.css("left",d+"px").css("top",e+"px")}}(jQuery),function(a){function b(b){var c=b||window.event,d=[].slice.call(arguments,1),e=0,f=0,g=0;return b=a.event.fix(c),b.type="mousewheel",c.wheelDelta&&(e=c.wheelDelta/120),c.detail&&(e=-c.detail/3),g=e,void 0!==c.axis&&c.axis===c.HORIZONTAL_AXIS&&(g=0,f=-1*e),void 0!==c.wheelDeltaY&&(g=c.wheelDeltaY/120),void 0!==c.wheelDeltaX&&(f=-1*c.wheelDeltaX/120),d.unshift(b,e,f,g),(a.event.dispatch||a.event.handle).apply(this,d)}var c=["DOMMouseScroll","mousewheel"];if(a.event.fixHooks)for(var d=c.length;d;)a.event.fixHooks[c[--d]]=a.event.mouseHooks;a.event.special.mousewheel={setup:function(){if(this.addEventListener)for(var a=c.length;a;)this.addEventListener(c[--a],b,!1);else this.onmousewheel=b},teardown:function(){if(this.removeEventListener)for(var a=c.length;a;)this.removeEventListener(c[--a],b,!1);else this.onmousewheel=null}},a.fn.extend({mousewheel:function(a){return a?this.bind("mousewheel",a):this.trigger("mousewheel")},unmousewheel:function(a){return this.unbind("mousewheel",a)}})}(jQuery),window.jermaine.util.namespace("window.multigraph",function(){"use strict";window.multigraph.jQuery=jQuery.noConflict()}),function(a){"use strict";var b={on:function(b){return void 0===b?a(this).data("busy_spinner").on:this.each(function(){return b?(a(this).data("busy_spinner").on=!0,a(this).data("busy_spinner").level=1,a(this).show()):(a(this).data("busy_spinner").on=!1,a(this).data("busy_spinner").level=0,a(this).hide()),this})},level:function(b){return void 0===b?a(this).data("busy_spinner").level:this.each(function(){return a(this).data("busy_spinner").level+b>=0&&(a(this).data("busy_spinner").level=a(this).data("busy_spinner").level+b,1===a(this).data("busy_spinner").level?a(this).busy_spinner("on",!0):0===a(this).data("busy_spinner").level&&a(this).busy_spinner("on",!1)),this})},init:function(b){return this.each(function(){var c=a(this),d=c.data("busy_spinner"),e=a.extend({on:!1},b);return d||(c.data("busy_spinner",{on:e.on,level:0}),e.on?a(this).show():a(this).hide(),a(this).css({width:32,height:32}).append(a('ajax loading'))),this})}};a.fn.busy_spinner=function(c){return b[c]?b[c].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof c&&c?(a.error("Method "+c+" does not exist on jQuery.busy_spinner"),null):b.init.apply(this,arguments)}}(jQuery),function(a){"use strict";var b='
',c='',d='
    ',e={init:function(e){return this.each(function(){var f=a(this),g=f.data("errorDisplay"),h=a.extend({fontColor:"#ff0000",backgroundColor:"#ffffff",displayTime:1e3,indicatorColor:"#ff0000"},e);if(!g){f.append(b),f.find(".errorDisplay").width(f.width()-6);var i=a(c).appendTo(a("body")),j=a(d);a(i).find(".errorDisplayXButton").click(function(b){b.preventDefault(),a(i).find(".errorDisplayOptions").hide(),a(i).hide(),f.find(".errorDisplayRetriever").css("background-color",h.indicatorColor).show()}),f.data("errorDisplay",{detailDisplay:i,detailDisplayList:j,fontColor:h.fontColor,backgroundColor:h.backgroundColor,displayTime:h.displayTime,indicatorColor:h.indicatorColor}),f.find(".errorDisplayXButton").click(function(a){a.preventDefault(),f.find(".errorDisplayOptions").hide(),f.find(".errorDisplay").slideUp(h.displayTime,function(){f.find(".errorDisplayRetriever").show()})}),f.find(".errorDisplayDetailsButton").click(function(b){b.preventDefault(),f.find(".errorDisplay").off(),f.find(".errorDisplay").hide(),f.find(".errorDisplayRetriever").hide(),a(i).find(".errorDisplayFullMessageArea").empty().append(a(j)),a(i).find(".errorDisplayOptions").show(),a(i).show()})}return this})},displayError:function(b,c,d){return this.each(function(){var e=a(this),f=e.data("errorDisplay"),g=a.extend({fontColor:f.fontColor,backgroundColor:f.backgroundColor,displayTime:f.displayTime,indicatorColor:f.indicatorColor},d);e.find(".errorDisplayRetriever").hide(),e.find(".errorDisplayOptions").hide(),e.find(".errorDisplayShortMessage").css("color",g.fontColor),e.find(".errorDisplay").css("background-color",g.backgroundColor),e.find(".errorDisplayOptions").css("background-color",g.backgroundColor),e.find(".errorDisplayShortMessage").text(c),e.find(".errorDisplay").show(),e.find(".errorDisplayRetriever").css("background-color",g.indicatorColor),-1!=g.displayTime?e.find(".errorDisplay").slideUp(g.displayTime,function(){e.find(".errorDisplayRetriever").show()}):(e.find(".errorDisplayOptions").show(),e.find(".errorDisplay").show()),a(f.detailDisplayList).append(a("
  • "+b+"
  • ").css("color",g.fontColor)),e.find(".errorDisplayRetriever").hover(function(a){a.preventDefault(),e.find(".errorDisplayOptions").hide(),e.find(".errorDisplayShortMessage").text(c).css("color",g.fontColor),e.find(".errorDisplay").slideDown(function(){e.find(".errorDisplayOptions").show(),e.find(".errorDisplay").mouseleave(function(a){a.preventDefault(),e.find(".errorDisplayOptions").hide(),e.find(".errorDisplay").slideUp(g.displayTime,function(){e.find(".errorDisplayRetriever").show()})})}),e.find(".errorDisplayRetriever").hide()})})}};a.fn.errorDisplay=function(b){return e[b]?e[b].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof b&&b?(a.error("Method "+b+" does not exist on jQuery.errorDisplay"),null):e.init.apply(this,arguments)}}(jQuery),jQuery("head").append(jQuery("")),window.multigraph||(window.multigraph={}),window.multigraph.util=jermaine.util;var sprintf=function(){function a(a){return Object.prototype.toString.call(a).slice(8,-1).toLowerCase()}function b(a,b){for(var c=[];b>0;c[--b]=a);return c.join("")}var c=function(){return c.cache.hasOwnProperty(arguments[0])||(c.cache[arguments[0]]=c.parse(arguments[0])),c.format.call(null,c.cache[arguments[0]],arguments)};return c.format=function(c,d){var e,f,g,h,i,j,k,l=1,m=c.length,n="",o=[];for(f=0;m>f;f++)if(n=a(c[f]),"string"===n)o.push(c[f]);else if("array"===n){if(h=c[f],h[2])for(e=d[l],g=0;g=0?"+"+e:e,j=h[4]?"0"==h[4]?"0":h[4].charAt(1):" ",k=h[6]-String(e).length,i=h[6]?b(j,k):"",o.push(h[5]?e+i:i+e)}return o.join("")},c.cache={},c.parse=function(a){for(var b=a,c=[],d=[],e=0;b;){if(null!==(c=/^[^\x25]+/.exec(b)))d.push(c[0]);else if(null!==(c=/^\x25{2}/.exec(b)))d.push("%");else{if(null===(c=/^\x25(?:([1-9]\d*)\$|\(([^\)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-fosuxX])/.exec(b)))throw"[sprintf] invalid format string";if(c[2]){e|=1;var f=[],g=c[2],h=[];if(null===(h=/^([a-z_][a-z_\d]*)/i.exec(g)))throw"[sprintf] invalid format string";for(f.push(h[1]);""!==(g=g.substring(h[0].length));)if(null!==(h=/^\.([a-z_][a-z_\d]*)/i.exec(g)))f.push(h[1]);else{if(null===(h=/^\[(\d+)\]/.exec(g)))throw"[sprintf] invalid format string";f.push(h[1])}c[2]=f}else e|=2;if(3===e)throw"[sprintf] mixing positional and named placeholders is not (yet) supported";d.push(c)}b=b.substring(c[0].length)}return d},c}(),vsprintf=function(a,b){return b.unshift(a),sprintf.apply(null,b)};!function(){"use strict";for(var a=0,b=["ms","moz","webkit","o"],c=0;c-1&&a.attribute(c[d]).dflt(b[c[d]]);return a},a.getDefaultValuesFromXSD=function(){return{window:{border:2,margin:function(){return new window.multigraph.math.Insets(2,2,2,2)},padding:function(){return new window.multigraph.math.Insets(5,5,5,5)},bordercolor:function(){return new window.multigraph.math.RGBColor.parse("0x000000")}},legend:{icon:{height:30,width:40,border:1},visible:null,base:function(){return new window.multigraph.math.Point(1,1)},anchor:function(){return new window.multigraph.math.Point(1,1)},position:function(){return new window.multigraph.math.Point(0,0)},frame:"plot",color:function(){return new window.multigraph.math.RGBColor.parse("0xffffff")},bordercolor:function(){return new window.multigraph.math.RGBColor.parse("0x000000")},opacity:1,border:1,rows:void 0,columns:void 0,cornerradius:0,padding:0},background:{img:{src:void 0,anchor:function(){return new window.multigraph.math.Point(-1,-1)},base:function(){return new window.multigraph.math.Point(-1,-1)},position:function(){return new window.multigraph.math.Point(0,0)},frame:"padding"},color:"0xffffff"},plotarea:{margin:function(){return new window.multigraph.math.Insets(10,38,35,35)},border:0,color:null,bordercolor:function(){return new window.multigraph.math.RGBColor.parse("0xeeeeee")}},title:{text:void 0,frame:"padding",border:0,color:function(){return new window.multigraph.math.RGBColor.parse("0xffffff")},bordercolor:function(){return new window.multigraph.math.RGBColor.parse("0x000000")},opacity:1,padding:0,cornerradius:15,anchor:function(){return new window.multigraph.math.Point(0,1)},base:function(){return new window.multigraph.math.Point(0,1)},position:function(){return new window.multigraph.math.Point(0,0)}},horizontalaxis:{title:{content:void 0,anchor:void 0,base:0,position:void 0,"position-horizontal-top":function(){return new window.multigraph.math.Point(0,15)},"position-horizontal-bottom":function(){return new window.multigraph.math.Point(0,-18)},"position-vertical-right":function(){return new window.multigraph.math.Point(33,0)},"position-vertical-left":function(){return new window.multigraph.math.Point(-25,0) -},"anchor-horizontal-top":function(){return new window.multigraph.math.Point(0,-1)},"anchor-horizontal-bottom":function(){return new window.multigraph.math.Point(0,1)},"anchor-vertical-right":function(){return new window.multigraph.math.Point(-1,0)},"anchor-vertical-left":function(){return new window.multigraph.math.Point(1,0)},angle:0},labels:{label:{format:void 0,position:void 0,anchor:void 0,"position-horizontal-top":function(){return new window.multigraph.math.Point(0,5)},"position-horizontal-bottom":function(){return new window.multigraph.math.Point(0,-5)},"position-vertical-right":function(){return new window.multigraph.math.Point(5,0)},"position-vertical-left":function(){return new window.multigraph.math.Point(-8,0)},"anchor-horizontal-top":function(){return new window.multigraph.math.Point(0,-1)},"anchor-horizontal-bottom":function(){return new window.multigraph.math.Point(0,1)},"anchor-vertical-right":function(){return new window.multigraph.math.Point(-1,0)},"anchor-vertical-left":function(){return new window.multigraph.math.Point(1,0)},angle:0,spacing:void 0,densityfactor:1,color:function(){return new window.multigraph.math.RGBColor.parse("0x000000")},visible:!0},"start-number":function(){return new window.multigraph.core.NumberValue(0)},"start-datetime":function(){return new window.multigraph.core.DatetimeValue(0)},angle:0,position:function(){return new window.multigraph.math.Point(0,0)},anchor:function(){return new window.multigraph.math.Point(0,0)},color:function(){return new window.multigraph.math.RGBColor.parse("0x000000")},visible:!0,defaultNumberSpacing:"10000 5000 2000 1000 500 200 100 50 20 10 5 2 1 0.1 0.01 0.001",defaultDatetimeSpacing:"1000Y 500Y 200Y 100Y 50Y 20Y 10Y 5Y 2Y 1Y 6M 3M 2M 1M 7D 3D 2D 1D 12H 6H 3H 2H 1H","function":void 0,densityfactor:void 0},grid:{color:function(){return new window.multigraph.math.RGBColor.parse("0xeeeeee")},visible:!1},pan:{allowed:!0,min:null,max:null},zoom:{allowed:!0,min:void 0,max:void 0,anchor:null},binding:{id:void 0,min:void 0,max:void 0},id:void 0,type:"number",length:function(){return new window.multigraph.math.Displacement(1,0)},position:function(){return new window.multigraph.math.Point(0,0)},pregap:0,postgap:0,anchor:-1,base:function(){return new window.multigraph.math.Point(-1,-1)},min:"auto",minoffset:0,minposition:function(){return new window.multigraph.math.Displacement(-1,0)},max:"auto",maxoffset:0,maxposition:function(){return new window.multigraph.math.Displacement(1,0)},positionbase:void 0,color:function(){return new window.multigraph.math.RGBColor(0,0,0)},tickmin:-3,tickmax:3,tickcolor:null,highlightstyle:"axis",linewidth:1,orientation:void 0},verticalaxis:{title:{content:void 0,anchor:function(){return new window.multigraph.math.Point(0,-20)},position:function(){return new window.multigraph.math.Point(0,1)},angle:"0"},labels:{label:{format:void 0,start:void 0,angle:void 0,position:void 0,anchor:void 0,spacing:void 0,densityfactor:void 0},format:"%1d",visible:"true",start:"0",angle:"0.0",position:"0 0",anchor:"0 0","function":void 0,densityfactor:void 0},grid:{visible:"false"},pan:{allowed:"yes",min:void 0,max:void 0},zoom:{allowed:"yes",min:void 0,max:void 0,anchor:"none"},binding:{id:void 0,min:void 0,max:void 0},id:void 0,type:"number",position:"0 0",pregap:"0",postgap:"0",anchor:"-1",base:"-1 1",min:"auto",minoffset:"0",minposition:"-1",max:"auto",maxoffset:"0",maxposition:"1",positionbase:void 0,tickmin:"-3",tickmax:"3",highlightstyle:"axis",linewidth:"1",orientation:void 0},plot:{legend:{visible:!0,label:void 0},horizontalaxis:{variable:{ref:void 0,factor:void 0},constant:{value:void 0},ref:void 0},verticalaxis:{variable:{ref:void 0,factor:void 0},constant:{value:void 0},ref:void 0},filter:{option:{name:void 0,value:void 0},type:void 0},renderer:{option:{name:void 0,value:void 0,min:void 0,max:void 0},type:function(){return window.multigraph.core.Renderer.Type.parse("line")}},datatips:{variable:{format:void 0},format:void 0,bgalpha:"1.0",border:1,pad:2}},throttle:{pattern:"",requests:0,period:0,concurrent:0},data:{variables:{variable:{id:void 0,column:void 0,type:"number",missingvalue:void 0,missingop:void 0},missingvalue:"-9000",missingop:"eq"},values:{content:void 0},csv:{location:void 0},service:{location:void 0}}}}}),window.multigraph.util.namespace("window.multigraph.utilityFunctions",function(a){"use strict";a.parseAttribute=function(a,b,c){return void 0!==a?(b(c(a)),!0):!1},a.parseString=function(a){return a},a.parseInteger=function(a){return parseInt(a,10)},a.parseDataValue=function(a){return function(b){return window.multigraph.core.DataValue.parse(a,b)}},a.parseDataMeasure=function(a){return function(b){return window.multigraph.core.DataMeasure.parse(a,b)}},a.parseBoolean=function(a){switch(a.toLowerCase()){case"true":case"yes":return!0;case"false":case"no":return!1;default:return a}}}),window.multigraph.util.namespace("window.multigraph.utilityFunctions",function(a){"use strict";a.validateNumberRange=function(a,b,c){return"number"==typeof a&&a>=b&&c>=a},a.typeOf=function(a){var b=typeof a;return"object"===b&&(a?"[object Array]"===Object.prototype.toString.call(a)&&(b="array"):b="null"),b}}),window.multigraph.util.namespace("window.multigraph.core",function(a){"use strict";var b={};b.NUMBER="number",b.DATETIME="datetime",b.UNKNOWN="unknown",b.types=function(){return[b.NUMBER,b.DATETIME,b.UNKNOWN]},b.parseType=function(a){if(a.toLowerCase()===b.NUMBER)return b.NUMBER;if(a.toLowerCase()===b.DATETIME)return b.DATETIME;throw new Error("unknown DataValue type: "+a)},b.serializeType=function(a){return a},b.isInstance=function(a){return a&&"function"==typeof a.getRealValue&&"function"==typeof a.compareTo},b.isInstanceOrNull=function(a){return null===a||b.isInstance(a)},b.create=function(c,d){if(c===b.NUMBER)return new a.NumberValue(d);if(c===b.DATETIME)return new a.DatetimeValue(d);throw new Error("attempt to parse an unknown DataValue type")},b.parse=function(c,d){if(c===b.NUMBER)return a.NumberValue.parse(d);if(c===b.DATETIME)return a.DatetimeValue.parse(d);throw new Error("attempt to parse an unknown DataValue type")},b.LT="lt",b.LE="le",b.EQ="eq",b.GE="ge",b.GT="gt",b.NE="ne";var c={};c[b.LT]=function(a){return this.compareTo(a)<0},c[b.LE]=function(a){return this.compareTo(a)<=0},c[b.EQ]=function(a){return 0===this.compareTo(a)},c[b.GE]=function(a){return this.compareTo(a)>=0},c[b.GT]=function(a){return this.compareTo(a)>0},c[b.NE]=function(a){return 0!==this.compareTo(a)},b.mixinComparators=function(a){a[b.LT]=c[b.LT],a[b.LE]=c[b.LE],a[b.EQ]=c[b.EQ],a[b.GE]=c[b.GE],a[b.GT]=c[b.GT],a[b.NE]=c[b.NE]},b.comparators=function(){return[b.LT,b.LE,b.EQ,b.GE,b.GT,b.NE]},b.parseComparator=function(a){if("string"==typeof a)switch(a.toLowerCase()){case"lt":return b.LT;case"le":return b.LE;case"eq":return b.EQ;case"ge":return b.GE;case"gt":return b.GT;case"ne":return b.NE}throw new Error(a+" should be one of 'lt', 'le', 'eq', 'ge', 'gt', 'ne'.")},a.DataValue=b}),window.multigraph.util.namespace("window.multigraph.core",function(a){"use strict";var b={};b.isInstance=function(a){return a&&"function"==typeof a.getRealValue&&!a.compareTo},b.parse=function(b,c){if(b===a.DataValue.NUMBER)return a.NumberMeasure.parse(c);if(b===a.DataValue.DATETIME)return a.DatetimeMeasure.parse(c);throw new Error("attempt to parse an unknown DataMeasure type")},a.DataMeasure=b}),window.multigraph.util.namespace("window.multigraph.core",function(a){"use strict";var b={};b.isInstance=function(a){return a&&"function"==typeof a.format&&"function"==typeof a.getMaxLength},b.create=function(b,c){if(b===a.DataValue.NUMBER)return new a.NumberFormatter(c);if(b===a.DataValue.DATETIME)return new a.DatetimeFormatter(c);throw new Error("attempt to create an unknown DataFormatter type")},a.DataFormatter=b}),window.multigraph.util.namespace("window.multigraph.math",function(a){"use strict";a.Box=new window.jermaine.Model("Box",function(){this.hasA("width").isA("number"),this.hasA("height").isA("number"),this.isBuiltWith("width","height")})}),window.multigraph.util.namespace("window.multigraph.math",function(a){"use strict";a.Displacement=new window.jermaine.Model("Displacement",function(){this.hasA("a").vlds(function(a){return window.multigraph.utilityFunctions.validateNumberRange(a,-1,1)}),this.hasA("b").isA("integer").dflt(0),this.isBuiltWith("a","%b"),this.rspd("calculateLength",function(a){return this.a()*a+this.b()}),this.rspd("calculateCoordinate",function(a){return(this.a()+1)*a/2+this.b()})}),a.Displacement.regExp=/^([\+\-]?[0-9\.]+)([+\-])([0-9\.+\-]+)$/,a.Displacement.parse=function(b){var c,d,e,f,g=a.Displacement.regExp.exec(b);if(void 0===b)c=new a.Displacement(1);else if(null!==g){switch(d=parseFloat(g[1]),e=parseFloat(g[3]),g[2]){case"+":f=1;break;case"-":f=-1;break;default:f=0}c=new a.Displacement(d,f*e)}else d=parseFloat(b),c=new a.Displacement(d);return c}}),window.multigraph.util.namespace("window.multigraph.math",function(a){"use strict";var b=function(a){var b={},c=function(c){if(void 0!==b[c])throw new Error("attempt to redefine "+a+" Enum with key '"+c+"'");this.enumType=a,this.key=c,b[c]=this};return c.parse=function(a){return b[a]},c.prototype.toString=function(){return this.key},c.isInstance=function(b){return void 0!==b&&null!==b&&b.enumType===a},c};a.Enum=b}),window.multigraph.util.namespace("window.multigraph.math",function(a){"use strict";a.Insets=new window.jermaine.Model("Insets",function(){this.hasA("top").isA("number"),this.hasA("left").isA("number"),this.hasA("bottom").isA("number"),this.hasA("right").isA("number"),this.rspd("set",function(a,b,c,d){this.top(a),this.left(b),this.bottom(c),this.right(d)}),this.isBuiltWith("top","left","bottom","right")})}),window.multigraph.util.namespace("window.multigraph.math",function(a){"use strict";a.Point=new window.jermaine.Model("Point",function(){this.hasA("x").isA("number"),this.hasA("y").isA("number"),this.isBuiltWith("x","y"),this.rspd("eq",function(a){return this.x()===a.x()&&this.y()===a.y()})}),a.Point.regExp=/^\s*([0-9\-\+\.eE]+)(,|\s+|\s*,\s+|\s+,\s*)([0-9\-\+\.eE]+)\s*$/,a.Point.parse=function(b){var c=a.Point.regExp.exec(b);if(!c||4!==c.length)throw new Error("cannot parse string '"+b+"' as a Point");return new a.Point(parseFloat(c[1]),parseFloat(c[3]))}}),window.multigraph.util.namespace("window.multigraph.math",function(a){"use strict";a.RGBColor=new window.jermaine.Model("RGBColor",function(){this.hasA("r").vlds(function(a){return window.multigraph.utilityFunctions.validateNumberRange(a,0,1)}),this.hasA("g").vlds(function(a){return window.multigraph.utilityFunctions.validateNumberRange(a,0,1)}),this.hasA("b").vlds(function(a){return window.multigraph.utilityFunctions.validateNumberRange(a,0,1)});var a=function(a){return a=parseInt(255*a,10).toString(16),1===a.length&&(a="0"+a),a};this.rspd("getHexString",function(b){return b||(b="0x"),b+a(this.r())+a(this.g())+a(this.b())}),this.rspd("toRGBA",function(a){if(void 0===a&&(a=1),"number"!=typeof a)throw new Error("RGBColor.toRGBA: The argument, if present, must be a number");return"rgba("+255*this.r()+", "+255*this.g()+", "+255*this.b()+", "+a+")"}),this.rspd("eq",function(a){return this.r()===a.r()&&this.g()===a.g()&&this.b()===a.b()}),this.isBuiltWith("r","g","b")}),a.RGBColor.colorNameIsDeprecated=function(a){switch(a){case"grey":return"0xeeeeee";case"skyblue":return"0x87ceeb";case"khaki":return"0xf0e68c";case"orange":return"0xffa500";case"salmon":return"0xfa8072";case"olive":return"0x9acd32";case"sienna":return"0xa0522d";case"pink":return"0xffb5c5";case"violet":return"0xee82ee"}return!1},a.RGBColor.parse=function(b){var c,d,e,f,g,h;if(void 0===b)return void 0;if("string"==typeof b){switch(g=b.toLowerCase()){case"black":c=0,d=0,e=0;break;case"red":c=1,d=0,e=0;break;case"green":c=0,d=1,e=0;break;case"blue":c=0,d=0,e=1;break;case"yellow":c=1,d=1,e=0;break;case"magenta":c=1,d=0,e=1;break;case"cyan":c=0,d=1,e=1;break;case"white":c=1,d=1,e=1;break;case"grey":f=parseInt("ee",16)/255,c=f,d=f,e=f;break;case"skyblue":c=parseInt("87",16)/255,d=parseInt("ce",16)/255,e=parseInt("eb",16)/255;break;case"khaki":c=parseInt("f0",16)/255,d=parseInt("e6",16)/255,e=parseInt("8c",16)/255;break;case"orange":c=parseInt("ff",16)/255,d=parseInt("a5",16)/255,e=parseInt("00",16)/255;break;case"salmon":c=parseInt("fa",16)/255,d=parseInt("80",16)/255,e=parseInt("72",16)/255;break;case"olive":c=parseInt("9a",16)/255,d=parseInt("cd",16)/255,e=parseInt("32",16)/255;break;case"sienna":c=parseInt("a0",16)/255,d=parseInt("52",16)/255,e=parseInt("2d",16)/255;break;case"pink":c=parseInt("ff",16)/255,d=parseInt("b5",16)/255,e=parseInt("c5",16)/255;break;case"violet":c=parseInt("ee",16)/255,d=parseInt("82",16)/255,e=parseInt("ee",16)/255;break;default:if(g=g.replace(/(0(x|X)|#)/,""),-1!==g.search(new RegExp(/([^0-9a-f])/)))throw new Error("'"+b+"' is not a valid color");if(6===g.length)c=parseInt(g.substring(0,2),16)/255,d=parseInt(g.substring(2,4),16)/255,e=parseInt(g.substring(4,6),16)/255;else{if(3!==g.length)throw new Error("'"+b+"' is not a valid color");c=parseInt(g.charAt(0),16)/15,d=parseInt(g.charAt(1),16)/15,e=parseInt(g.charAt(2),16)/15}}return h=new a.RGBColor(c,d,e)}throw new Error("'"+b+"' is not a valid color")}}),window.multigraph.util.namespace("window.multigraph.math",function(a){"use strict";a.util={interp:function(a,b,c,d,e){return d+(e-d)*(a-b)/(c-b)},safe_interp:function(b,c,d,e,f){return c===d?(e+f)/2:a.util.interp(b,c,d,e,f)},l2dist:function(a,b,c,d){var e=a-c,f=b-d;return Math.sqrt(e*e+f*f)}}}),window.multigraph.util.namespace("window.multigraph.core",function(a){"use strict";var b,c,d=window.multigraph.utilityFunctions,e=d.getDefaultValuesFromXSD(),f=d.getKeys(e.plot.renderer),g=new window.multigraph.math.Enum("RendererType");c=new window.jermaine.Model("Renderer",function(){this.hasA("type").vlds(g.isInstance),this.hasA("plot").vlds(function(b){return b instanceof a.Plot}),this.hasA("numberOfVariables").isA("number"),this.rspd("setUpMissing",function(){var b,c=this.plot();return c?c instanceof a.ConstantPlot?void(this.isMissing=function(){return!1}):c.data()?(b=c.data(),void(this.isMissing=function(a){var c;for(c=1;c=0;--c){var f=e.at(c);if((void 0===f.min()||void 0===b||f.min().le(b))&&(void 0===f.max()||void 0===b||f.max().gt(b)))return f.value()}}),this.rspd("begin",function(){}),this.rspd("dataPoint",function(){}),this.rspd("end",function(){})}),b=[],c.addType=function(a){b.push(a)},c.create=function(a){var c,d;for(c=0;c0)for(c=d.length-1;c>=0;--c)b.splice(d[c],1)}})})}),window.multigraph.util.namespace("window.multigraph.core",function(a){"use strict";var b=window.multigraph.utilityFunctions,c=b.getDefaultValuesFromXSD(),d=b.getKeys(c.data.variables.variable),e=new window.jermaine.Model("DataVariable",function(){this.hasA("id").isA("string"),this.hasA("column").isA("integer"),this.hasA("type").isOneOf(a.DataValue.types()).dflt(a.DataValue.NUMBER),this.hasA("data").vlds(function(a){return a instanceof window.multigraph.core.Data}),this.hasA("missingvalue").vlds(a.DataValue.isInstance),this.hasA("missingop").isOneOf(a.DataValue.comparators()),this.isBuiltWith("id","%column","%type"),b.insertDefaults(this,c.data.variables.variable,d)});a.DataVariable=e}),window.multigraph.util.namespace("window.multigraph.core",function(a){"use strict";var b=new window.jermaine.Model(function(){var b=a.DataVariable;this.isA(a.EventEmitter);var c=function(a,b,c){var d,e=-1;for(d=0;d=0&&(d=this.columns().at(b)),void 0===d)throw new Error("Data: no column with the label "+a);return d.column()}),this.rspd("columnIdToDataVariable",function(a){if("string"!=typeof a)throw new Error("Data: columnIdToDataVariable requires a string parameter");var b=this.columns(),d=-1!==c("id",a,b)?b.at(c("id",a,b)):void 0;if(void 0===d)throw new Error("Data: no column with the label "+a);return d}),this.rspd("getColumnId",function(a){if("number"!=typeof a)throw new Error("Data: getColumnId method expects an integer");var b=c("column",a,this.columns());if(-1===b)throw new Error("Data: column "+a+" does not exist");return this.columns().at(b).id()}),this.rspd("getColumns",function(){var a,b=[],c=this.columns();for(a=0;ab||b>=this.columns().size())throw new Error("metadata.isMissing(): index out of range");return c=this.columns().at(b),c.missingvalue()&&c.missingop()?a[c.missingop()](c.missingvalue()):!1})});a.Data=b}),window.multigraph.util.namespace("window.multigraph.core",function(a){"use strict";var b;b=new window.jermaine.Model("Plot",function(){this.hasA("legend").vlds(function(b){return b instanceof a.PlotLegend}),this.hasA("horizontalaxis").vlds(function(b){return b instanceof a.Axis}),this.hasA("verticalaxis").vlds(function(b){return b instanceof a.Axis}),this.hasA("renderer").vlds(function(b){return b instanceof a.Renderer})}),a.Plot=b}),window.multigraph.util.namespace("window.multigraph.core",function(a){"use strict";a.ArrayData=window.jermaine.Model(function(){var b=this;this.isA(a.Data),this.hasA("array"),this.hasA("stringArray"),this.isBuiltWith("columns","stringArray",function(){this.init(),this.addListener("listenerAdded",function(a){if("dataReady"===a.targetType){var b=this.array();a.listener(b[0][0],b[b.length-1][0])}})}),this.rspd("getIterator",function(a,c,d,e){return b.getArrayDataIterator(this,a,c,d,e)}),this.rspd("getBounds",function(a){var b,c=this.array(),d=c[0][a],e=d;for(b=1;be&&(e=c[b][a]);return[d,e]}),b.getArrayDataIterator=function(b,c,d,e,f){var g,h,i,j,k,l,m=b.array();if(f=f||0,"[object Array]"!==Object.prototype.toString.apply(c))throw new Error("ArrayData: getIterator method requires that the first parameter be an array of strings");for(g=0;gi&&(i=0),i===m.length-1)j=i;else for(j=i;jm.length-1&&(j=m.length-1),l=[],h=0;hj)return null;for(a=0;a=k}}},b.textToDataValuesArray=function(b,c){var d,e=[],f=c.split("\n");for(d=0;d=h)b=null;else{var j=!0,k=g.size()-1;for(void 0===i&&(i=0),c=i,d=g.at(i).getLabelDensity(a),d>f?0===i?j=!1:(e=d,i--):f>d?(e=d,i===k?j=!1:i++):d===f&&(j=!1);j;)if(d=g.at(i).getLabelDensity(a),d>f){if(0===i)break; -if(!(c>i)){i=c,d=e;break}c=i,e=d,i--}else if(f>d){if(c>i)break;if(i===k)break;c=i,e=d,i++}else if(d===f)break}b=g.at(i),this.currentLabeler(b),this.currentLabelerIndex(i),this.currentLabelDensity(d)}}),this.rspd("toRealValue",function(b){if("number"==typeof b)return b;if(a.DataValue.isInstance(b))return b.getRealValue();throw new Error("unknown value type for axis value "+b)}),this.rspd("toDataValue",function(b){if("number"==typeof b)return a.DataValue.create(this.type(),b);if(a.DataValue.isInstance(b))return b;throw new Error("unknown value type for axis value "+b)}),this.rspd("setDataRangeNoBind",function(a,b,c){var d=this.toDataValue(a),e=this.toDataValue(b);this.dataMin(d),this.dataMax(e),void 0===c&&(c=!0),this.emit({type:"dataRangeSet",min:d,max:e})}),this.rspd("setDataRange",function(a,b,c){this.binding()?this.binding().setDataRange(this,a,b,c):this.setDataRangeNoBind(a,b,c)}),this.rspd("doPan",function(b,c){var d,e,f,g=this.pan(),h=g.min(),i=g.max();g.allowed()&&(d=c/this.axisToDataRatio(),e=this.dataMin().getRealValue()-d,f=this.dataMax().getRealValue()-d,h&&ei.getRealValue()&&(e-=f-i.getRealValue(),f=i.getRealValue()),this.setDataRange(a.DataValue.create(this.type(),e),a.DataValue.create(this.type(),f)))}),this.rspd("doZoom",function(b,c){var d,e,f,g,h,i=this.zoom(),j=this.pan(),k=this.type(),l=this.dataMin(),m=this.dataMax(),n=j.min(),o=j.max(),p=i.min(),q=i.max(),r=a.DataValue;i.allowed()&&(d=this.axisValueToDataValue(b).getRealValue(),r.isInstance(i.anchor())&&(d=i.anchor().getRealValue()),e=10*Math.abs(c/(this.pixelLength()-this.maxoffset()-this.minoffset())),0>=c?(f=r.create(k,(l.getRealValue()-d)*(1+e)+d),g=r.create(k,(m.getRealValue()-d)*(1+e)+d)):(f=r.create(k,(l.getRealValue()-d)*(1-e)+d),g=r.create(k,(m.getRealValue()-d)*(1-e)+d)),n&&f.lt(n)&&(f=n),o&&g.gt(o)&&(g=o),(l.le(m)&&f.lt(g)||l.ge(m)&&f.gt(g))&&(q&&g.gt(f.add(q))?(h=(g.getRealValue()-f.getRealValue()-q.getRealValue())/2,g=g.addRealValue(-h),f=f.addRealValue(h)):p&&g.lt(f.add(p))&&(h=(p.getRealValue()-(g.getRealValue()-f.getRealValue()))/2,g=g.addRealValue(h),f=f.addRealValue(-h)),this.setDataRange(f,g)))}),this.rspd("distanceToPoint",function(a,c){var d=this.orientation()===b.HORIZONTAL?c:a,e=this.orientation()===b.HORIZONTAL?a:c,f=this.parallelOffset(),g=this.perpOffset(),h=this.pixelLength(),i=window.multigraph.math.util.l2dist;return f>e?i(e,d,f,g):e>f+h?i(e,d,f+h,g):Math.abs(d-g)}),c.insertDefaults(this,d.horizontalaxis,e)}),b.HORIZONTAL=new f("horizontal"),b.VERTICAL=new f("vertical"),b.Orientation=f,a.Axis=b}),window.multigraph.util.namespace("window.multigraph.core",function(a){"use strict";a.AxisBinding=new window.jermaine.Model("AxisBinding",function(){var a=this;a.instances={},this.hasA("id").isA("string"),this.hasA("axes"),this.isBuiltWith("id",function(){a.instances[this.id()]=this,this.axes([])}),this.rspd("addAxis",function(a,b,c,d){a.binding()&&a.binding().removeAxis(a),a.binding(this),b=a.toRealValue(b),c=a.toRealValue(c),this.axes().push({axis:a,multigraph:d,factor:1/(c-b),offset:-b/(c-b),min:b,max:c})}),this.rspd("removeAxis",function(a){var b,c=this.axes();for(b=0;bi.height()/2?l(e["position-horizontal-top"]):l(e["position-horizontal-bottom"]):j>i.width()/2?l(e["position-vertical-right"]):l(e["position-vertical-left"])),void 0===h()&&h(k?j>i.height()/2?l(e["anchor-horizontal-top"]):l(e["anchor-horizontal-bottom"]):j>i.width()/2?l(e["anchor-vertical-right"]):l(e["anchor-vertical-left"])),c.angle=this.angle(),this.content().initializeGeometry(c),this}),this.rspd("render",function(){}),c.insertDefaults(this,d.horizontalaxis.title,e)}),a.AxisTitle=b}),window.multigraph.util.namespace("window.multigraph.core",function(a){"use strict";{var b,c=window.multigraph.utilityFunctions,d=c.getDefaultValuesFromXSD();c.getKeys(d.background)}b=new window.jermaine.Model("Background",function(){this.hasA("color").vlds(function(a){return a instanceof window.multigraph.math.RGBColor}).dflt(window.multigraph.math.RGBColor.parse(d.background.color)),this.hasA("img").vlds(function(b){return b instanceof a.Img})}),a.Background=b}),window.multigraph.util.namespace("window.multigraph.core",function(a){"use strict";var b=window.multigraph.utilityFunctions,c=b.getDefaultValuesFromXSD(),d=b.getKeys(c.plot);a.ConstantPlot=new window.jermaine.Model("ConstantPlot",function(){this.isA(a.Plot),this.hasA("constantValue").vlds(a.DataValue.isInstance),this.isBuiltWith("constantValue"),b.insertDefaults(this,c.plot,d),this.rspd("render",function(a,b){var c=this.horizontalaxis(),d=this.renderer(),e=this.constantValue();c.hasDataMin()&&c.hasDataMax()&&(d.setUpMissing(),d.begin(b),d.dataPoint([c.dataMin(),e]),d.dataPoint([c.dataMax(),e]),d.end())})})}),window.multigraph.util.namespace("window.multigraph.core",function(a){"use strict";var b=window.jermaine.Model(function(){var b=a.ArrayData;this.isA(b),this.hasA("filename").isA("string"),this.hasA("messageHandler"),this.hasA("ajaxthrottle"),this.hasA("dataIsReady").isA("boolean").dflt(!1),this.rspd("getIterator",function(a,c,d,e){return this.dataIsReady()?b.getArrayDataIterator(this,a,c,d,e):{next:function(){},hasNext:function(){return!1}}}),this.rspd("_displayError",function(a){if(!this.messageHandler())throw a;this.messageHandler().error(a)}),this.isBuiltWith("columns","filename","%messageHandler","%ajaxthrottle",function(){var a=this,c=this.ajaxthrottle();void 0===c&&(c=window.multigraph.jQuery),this.adapter(b),this.init(),void 0!==a.filename()&&(a.emit({type:"ajaxEvent",action:"start"}),c.ajax({url:a.filename(),success:function(b){var c=a.adapter().textToStringArray(a.getColumns(),b);a.stringArray(c),a.ajaxNormalize(),a.dataIsReady(!0),a.emit({type:"dataReady"})},error:function(b,c,d){var e=d;404===b.statusCode().status?e="File not found: '"+a.filename()+'"':c&&(e=c+": "+e),a._displayError(new Error(e))},complete:function(){a.emit({type:"ajaxEvent",action:"complete"})}}))})});a.CSVData=b}),window.multigraph.util.namespace("window.multigraph.core",function(a){"use strict";var b,c=window.multigraph.utilityFunctions,d=c.getDefaultValuesFromXSD(),e=c.getKeys(d.plot);b=new window.jermaine.Model("DataPlot",function(){this.isA(a.Plot),this.hasMany("variable").validateWith(function(b){return b instanceof a.DataVariable||null===b}),this.hasA("filter").vlds(function(b){return b instanceof a.Filter}),this.hasA("datatips").vlds(function(b){return b instanceof a.Datatips}),this.hasA("data").vlds(function(b){return b instanceof a.Data}),c.insertDefaults(this,d.plot,e),this.rspd("render",function(a,b){var c=this.data();if(c){{var d=this.horizontalaxis();this.verticalaxis()}if(d.hasDataMin()&&d.hasDataMax()){var e,f=this.variable(),g=[];for(e=0;ee?"AM":"PM";break;case"p":e=b.getUTCHours(),i+=12>e?"am":"pm";break;case"L":i+="\n";break;case"%":i+="%";break;default:throw new Error("Invalid character code for datetime formatting string")}h=0}return i},a.DatetimeFormatter=b}),window.multigraph.util.namespace("window.multigraph.core",function(a){"use strict";var b,c=new window.multigraph.math.Enum("DatetimeUnit");b=function(a,c){if("number"!=typeof a||b.isUnit(c)!==!0)throw new Error("Improper input for Datetime Measure's constructor");if(2!==arguments.length)throw new Error("Datetime Measure's contructor requires exactly two arguments");this.measure=a,this.unit=c},b.isUnit=function(a){return c.isInstance(a)},b.prototype.negative=function(){return new b(-this.measure,this.unit)},b.prototype.getRealValue=function(){var a;switch(this.unit){case b.MILLISECOND:a=1;break;case b.SECOND:a=1e3;break;case b.MINUTE:a=6e4;break;case b.HOUR:a=36e5;break;case b.DAY:a=864e5;break;case b.WEEK:a=6048e5;break;case b.MONTH:a=2592e6;break;case b.YEAR:a=31536e6}return this.measure*a},b.parse=function(a){var d,e,f;if("string"!=typeof a||null===a.match(/\s*-?(([0-9]+\.?[0-9]*)|([0-9]*\.?[0-9]+))\s*(ms|s|m|H|D|W|M|Y){1}\s*$/))throw new Error("Improper input for Datetime Measure's parse method");return d=/ms|s|m|H|D|W|M|Y/,e=parseFloat(a.replace(d,"")),f=a.match(d),f=c.parse(f[0]),new b(e,f)},b.findTickmarkWithMillisecondSpacing=function(b,c,d){var e=b-c,f=Math.floor(e/d);return e%d!==0&&++f,new a.DatetimeValue(c+f*d)},b.findTickmarkWithMonthSpacing=function(a,c,d){var e=a.value,f=c.value,g=12*(e.getUTCFullYear()-f.getUTCFullYear())+(e.getUTCMonth()-f.getUTCMonth()),h=Math.floor(g/d);return g%d!==0?++h:e.getUTCDate()>f.getUTCDate()?++h:e.getUTCDate()===f.getUTCDate()&&e.getUTCHours()>f.getUTCHours()?++h:e.getUTCDate()===f.getUTCDate()&&e.getUTCHours()===f.getUTCHours()&&e.getUTCMinutes()>f.getUTCMinutes()?++h:e.getUTCDate()===f.getUTCDate()&&e.getUTCHours()===f.getUTCHours()&&e.getUTCMinutes()===f.getUTCMinutes()&&e.getUTCSeconds()>f.getUTCSeconds()?++h:e.getUTCDate()===f.getUTCDate()&&e.getUTCHours()===f.getUTCHours()&&e.getUTCMinutes()===f.getUTCMinutes()&&e.getUTCSeconds()===f.getUTCSeconds()&&e.getUTCMilliseconds()>f.getUTCMilliseconds()&&++h,c.add(b.parse(h*d+"M"))},b.prototype.firstSpacingLocationAtOrAfter=function(a,c){switch(this.unit){case b.MONTH:return b.findTickmarkWithMonthSpacing(a,c,this.measure);case b.YEAR:return b.findTickmarkWithMonthSpacing(a,c,12*this.measure);default:return b.findTickmarkWithMillisecondSpacing(a.getRealValue(),c.getRealValue(),this.getRealValue())}},b.prototype.lastSpacingLocationAtOrBefore=function(a,b){var c=this.firstSpacingLocationAtOrAfter(a,b);if(c.eq(a))return c;var d=c.add(this.negative());return d},b.prototype.toString=function(){return this.measure.toString()+this.unit.toString()},b.MILLISECOND=new c("ms"),b.SECOND=new c("s"),b.MINUTE=new c("m"),b.HOUR=new c("H"),b.DAY=new c("D"),b.WEEK=new c("W"),b.MONTH=new c("M"),b.YEAR=new c("Y"),a.DatetimeMeasure=b}),window.multigraph.util.namespace("window.multigraph.core",function(a){"use strict";var b=function(a){if("number"!=typeof a)throw new Error("DatetimeValue requires its parameter to be a number");this.value=new Date(a)};b.prototype.getRealValue=function(){return this.value.getTime()},b.prototype.type=a.DataValue.DATETIME,b.prototype.clone=function(){return new b(this.getRealValue())},b.parse=function(a){var c=0,d=0,e=1,f=0,g=0,h=0,i=0;if("string"!=typeof a)throw new Error("Datetime Value's parse method requires its parameter to be a string");if(a=a.replace(/[\.\-\:\s]/g,""),4===a.length)c=parseInt(a,10);else if(6===a.length)c=parseInt(a.substring(0,4),10),d=parseInt(a.substring(4,6),10)-1;else if(8===a.length)c=parseInt(a.substring(0,4),10),d=parseInt(a.substring(4,6),10)-1,e=parseInt(a.substring(6,8),10);else if(10===a.length)c=parseInt(a.substring(0,4),10),d=parseInt(a.substring(4,6),10)-1,e=parseInt(a.substring(6,8),10),f=parseInt(a.substring(8,10),10);else if(12===a.length)c=parseInt(a.substring(0,4),10),d=parseInt(a.substring(4,6),10)-1,e=parseInt(a.substring(6,8),10),f=parseInt(a.substring(8,10),10),g=parseInt(a.substring(10,12),10);else if(14===a.length)c=parseInt(a.substring(0,4),10),d=parseInt(a.substring(4,6),10)-1,e=parseInt(a.substring(6,8),10),f=parseInt(a.substring(8,10),10),g=parseInt(a.substring(10,12),10),h=parseInt(a.substring(12,14),10);else if(15===a.length||16===a.length||17===a.length)c=parseInt(a.substring(0,4),10),d=parseInt(a.substring(4,6),10)-1,e=parseInt(a.substring(6,8),10),f=parseInt(a.substring(8,10),10),g=parseInt(a.substring(10,12),10),h=parseInt(a.substring(12,14),10),i=parseInt(a.substring(14,17),10);else{if("0"!==a)throw new Error("Incorrect input format for Datetime Value's parse method");c=1970}return new b(Date.UTC(c,d,e,f,g,h,i))},b.prototype.toString=function(){var a,b,c,d,e,f,g;return a=sprintf("%04s",this.value.getUTCFullYear().toString()),b=sprintf("%02s",(this.value.getUTCMonth()+1).toString()),c=sprintf("%02s",this.value.getUTCDate().toString()),d=sprintf("%02s",this.value.getUTCHours().toString()),e=sprintf("%02s",this.value.getUTCMinutes().toString()),f=sprintf("%02s",this.value.getUTCSeconds().toString()),g="."+sprintf("%03s",this.value.getUTCMilliseconds().toString()),".000"===g&&(g=""),a+b+c+d+e+f+g},b.prototype.compareTo=function(a){return this.getRealValue()a.getRealValue()?1:0},b.prototype.addRealValue=function(a){return new b(this.value.getTime()+a)},b.prototype.add=function(c){var d=new b(this.getRealValue());switch(c.unit){case a.DatetimeMeasure.MILLISECOND:d.value.setUTCMilliseconds(d.value.getUTCMilliseconds()+c.measure);break;case a.DatetimeMeasure.SECOND:d.value.setUTCSeconds(d.value.getUTCSeconds()+c.measure);break;case a.DatetimeMeasure.MINUTE:d.value.setUTCMinutes(d.value.getUTCMinutes()+c.measure);break;case a.DatetimeMeasure.HOUR:d.value.setUTCHours(d.value.getUTCHours()+c.measure);break;case a.DatetimeMeasure.DAY:d.value.setUTCDate(d.value.getUTCDate()+c.measure);break;case a.DatetimeMeasure.WEEK:d.value.setUTCDate(d.value.getUTCDate()+7*c.measure);break;case a.DatetimeMeasure.MONTH:d.value.setUTCMonth(d.value.getUTCMonth()+c.measure);break;case a.DatetimeMeasure.YEAR:d.value.setUTCFullYear(d.value.getUTCFullYear()+c.measure)}return d},a.DataValue.mixinComparators(b.prototype),a.DatetimeValue=b}),window.multigraph.util.namespace("window.multigraph.core",function(a){"use strict";var b,c=window.multigraph.utilityFunctions,d=c.getDefaultValuesFromXSD(),e=c.getKeys(d.plot.filter);b=new window.jermaine.Model("Filter",function(){this.hasMany("options").vlds(function(b){return b instanceof a.FilterOption}),this.hasA("type").vlds(function(a){return"string"==typeof a}),c.insertDefaults(this,d.plot.filter,e)}),a.Filter=b}),window.multigraph.util.namespace("window.multigraph.core",function(a){"use strict";var b=window.multigraph.utilityFunctions,c=b.getDefaultValuesFromXSD(),d=b.getKeys(c.plot.filter.option),e=new window.jermaine.Model("FilterOption",function(){this.hasA("name").vlds(function(a){return"string"==typeof a}),this.hasA("value").vlds(function(a){return"string"==typeof a}),b.insertDefaults(this,c.plot.filter.option,d)});a.FilterOption=e}),window.multigraph.util.namespace("window.multigraph.core",function(a){"use strict";var b=window.multigraph.math.Box,c=window.multigraph.utilityFunctions,d=c.getDefaultValuesFromXSD(),e=c.getKeys(d),f=new window.jermaine.Model("Graph",function(){this.hasA("window").vlds(function(b){return b instanceof a.Window}),this.hasA("plotarea").vlds(function(b){return b instanceof a.Plotarea}),this.hasA("legend").vlds(function(b){return b instanceof a.Legend}),this.hasA("background").vlds(function(b){return b instanceof a.Background}),this.hasA("title").vlds(function(b){return b instanceof a.Title}),this.hasMany("axes").validateWith(function(b){return b instanceof a.Axis}),this.hasMany("plots").validateWith(function(b){return b instanceof a.Plot}),this.hasMany("data").validateWith(function(b){return b instanceof a.Data}),this.hasA("windowBox").vlds(function(a){return a instanceof b}),this.hasA("paddingBox").vlds(function(a){return a instanceof b}),this.hasA("plotBox").vlds(function(a){return a instanceof b}),this.hasA("multigraph").vlds(function(a){return a instanceof window.multigraph.core.Multigraph}),this.hasA("x0").isA("number"),this.hasA("y0").isA("number"),this.isBuiltWith(function(){this.window(new a.Window),this.plotarea(new a.Plotarea),this.background(new a.Background)}),this.rspd("postParse",function(){var a,b=this,c=function(a){"start"===a.action?b.multigraph()&&b.multigraph().busySpinnerLevel(1):"complete"===a.action&&b.multigraph()&&b.multigraph().busySpinnerLevel(-1)};for(a=0;ae;++e)d=i.at(e),(void 0===c||null===c||d.orientation()===c)&&(f=d.distanceToPoint(a,b),(null===g||h>f)&&(g=d,h=f));return g}),this.rspd("axisById",function(a){var b,c=this.axes();for(b=0;bd.height()/2?g(f["position-horizontal-top"]):g(f["position-horizontal-bottom"]):b.perpOffset()>d.width()/2?g(f["position-vertical-right"]):g(f["position-vertical-left"])),void 0===this.anchor()&&this.anchor(b.orientation()===e.HORIZONTAL?b.perpOffset()>d.height()/2?g(f["anchor-horizontal-top"]):g(f["anchor-horizontal-bottom"]):b.perpOffset()>d.width()/2?g(f["anchor-vertical-right"]):g(f["anchor-vertical-left"]))}),this.rspd("isEqualExceptForSpacing",function(a){return this.axis()===a.axis()&&this.formatter().getFormatString()===a.formatter().getFormatString()&&this.start().eq(a.start())&&this.angle()===a.angle()&&this.position().eq(a.position())&&this.anchor().eq(a.anchor())&&this.densityfactor()===a.densityfactor()}),this.hasA("iteratorNextValue").vlds(a.DataValue.isInstanceOrNull).dflt(null),this.hasA("iteratorMinValue").vlds(a.DataValue.isInstance),this.hasA("iteratorMaxValue").vlds(a.DataValue.isInstance),this.rspd("prepare",function(a,b){this.iteratorMinValue(a),this.iteratorMaxValue(b),this.iteratorNextValue(this.spacing().firstSpacingLocationAtOrAfter(a,this.start()))}),this.rspd("hasNext",function(){var a=this.iteratorNextValue();return null===a||void 0===a?!1:a.le(this.iteratorMaxValue())}),this.rspd("peekNext",function(){var a=this.iteratorNextValue(),b=this.iteratorMaxValue();return null===a||void 0===a?void 0:void 0!==b&&a.gt(b)?void 0:a}),this.rspd("next",function(){var a=this.iteratorNextValue(),b=this.iteratorMaxValue();return null===a||void 0===a?void 0:void 0!==b&&a.gt(b)?void 0:(this.iteratorNextValue(a.add(this.spacing())),a)}),this.rspd("getLabelDensity",function(a){var b=this.axis(),c=this.spacing().getRealValue()*b.axisToDataRatio(),d=b.dataMin().getRealValue(),g=b.dataMax().getRealValue(),h=d+.51234567*(g-d),i=f.create(b.type(),h),j=this.formatter().format(i),k=b.orientation()===e.HORIZONTAL?this.measureStringWidth(a,j):this.measureStringHeight(a,j);return k/(c*this.densityfactor())}),this.rspd("measureStringWidth",function(a,b){return 30*b.length}),this.rspd("measureStringHeight",function(a,b){return 30*b.length}),this.rspd("renderLabel",function(){}),b.insertDefaults(this,c.horizontalaxis.labels.label,d)});a.Labeler=g}),window.multigraph.util.namespace("window.multigraph.core",function(a){"use strict";var b,c=window.multigraph.utilityFunctions,d=c.getDefaultValuesFromXSD(),e=c.getKeys(d.legend);b=new window.jermaine.Model("Legend",function(){this.hasA("visible").vlds(function(a){return"boolean"==typeof a||null===a}),this.hasA("base").vlds(function(a){return a instanceof window.multigraph.math.Point}),this.hasA("anchor").vlds(function(a){return a instanceof window.multigraph.math.Point}),this.hasA("position").vlds(function(a){return a instanceof window.multigraph.math.Point}),this.hasA("frame").vlds(function(a){return"plot"===a||"padding"===a}),this.hasA("color").vlds(function(a){return a instanceof window.multigraph.math.RGBColor}),this.hasA("bordercolor").vlds(function(a){return a instanceof window.multigraph.math.RGBColor}),this.hasA("opacity").vlds(function(a){return c.validateNumberRange(a,0,1)}),this.hasA("border").isA("integer"),this.hasA("rows").isA("integer").isGreaterThan(0),this.hasA("columns").isA("integer").isGreaterThan(0),this.hasA("cornerradius").isA("integer"),this.hasA("padding").isA("integer"),this.hasA("icon").vlds(function(b){return b instanceof a.Icon}),this.isBuiltWith(function(){this.icon(new a.Icon)}),this.hasMany("plots").validateWith(function(b){return b instanceof a.Plot}),this.hasA("iconOffset").isAn("integer").dflt(5),this.hasA("labelOffset").isAn("integer").dflt(5),this.hasA("labelEnding").isAn("integer").dflt(15),this.hasA("width").isA("number"),this.hasA("height").isA("number"),this.hasA("x").isA("number"),this.hasA("y").isA("number"),this.hasA("blockWidth").isA("number"),this.hasA("blockHeight").isA("number"),this.hasA("maxLabelWidth").isA("number"),this.hasA("maxLabelHeight").isA("number"),this.rspd("determineVisibility",function(){switch(this.visible()){case!0:return!0; -case!1:return!1;case null:return this.plots().size()>1?!0:!1}}),this.rspd("initializeGeometry",function(a,b){var c,d,e=this.anchor(),f=this.base(),g=this.position(),h=this.iconOffset(),i=[],j=[];if(this.determineVisibility()===!1)return this;for(d=0;d=j.size());h++)for(c=this.border()+(this.rows()-h-1)*this.blockHeight(),e=c+this.iconOffset(),g=e,i=0;i=j.size());i++)b=this.border()+i*this.blockWidth(),d=b+this.iconOffset(),f=d+k.width()+this.labelOffset(),j.at(l).renderer().renderLegendIcon(a,d,e,k,this.opacity()),k.border()>0&&k.renderBorder(a,d,e,this.opacity()),this.renderLabel(j.at(l).legend().label(),a,f,g),l++;return this.end(a),this}),c.insertDefaults(this,d.legend,e)}),a.Legend=b}),window.multigraph.util.namespace("window.multigraph.core",function(a){"use strict";var b=new window.jermaine.Model("Mixin",function(){this.hasMany("mixinfuncs"),this.hasA("applied").isA("boolean").dflt(!1),this.rspd("add",function(a){this.mixinfuncs().add(a)}),this.rspd("apply",function(){if(!this.applied()){var a;for(a=0;a0&&b(g).width(d.width),void 0!==d.height&&d.height>0&&b(g).height(d.height),e={},"function"==typeof d.error&&(e.error=d.error),"function"==typeof d.warning&&(e.warning=d.warning),e.error&&e.warning||(f=c.createDefaultMessageHandlers(g),e.error||(e.error=f.error),e.warning||(e.warning=f.warning)),d.messageHandler=e,void 0!==d.muglString?"canvas"===d.driver?c.createCanvasGraphFromString(d):"raphael"===d.driver?c.createRaphaelGraphFromString(d):void d.messageHanlder.error(new Error("invalid graphic driver '"+d.driver+"' specified to Multigraph.createGraph")):"canvas"===d.driver?c.createCanvasGraph(d):"raphael"===d.driver?c.createRaphaelGraph(d):void d.messageHanlder.error(new Error("invalid graphic driver '"+d.driver+"' specified to Multigraph.createGraph"))},window.multigraph.create=c.createGraph,c.createDefaultMessageHandlers=function(a){return b(a).css("position","relative"),b(a).errorDisplay({}),{error:function(c){var d=c.stack&&"string"==typeof c.stack?c.stack.replace(/\n/g,"
  • "):c.message;b(a).errorDisplay("displayError",d,c.message,{fontColor:"#000000",backgroundColor:"#ff0000",indicatorColor:"#ff0000"})},warning:function(c){var d="Warning: "+("string"==typeof c?c:c.message),e="string"!=typeof c&&c.stack&&"string"==typeof c.stack?c.stack.replace(/\n/g,"
  • "):d;b(a).errorDisplay("displayError",e,d,{fontColor:"#000000",backgroundColor:"#e06a1b",indicatorColor:"#e06a1b"})}}},a.Multigraph=c}),window.multigraph.util.namespace("window.multigraph.core",function(a){"use strict";var b=function(a){var b;if("string"!=typeof a)throw new Error("format must be a string");this.formatString=a,b=sprintf(a,0),this.length=b.length};b.prototype.format=function(a){return sprintf(this.formatString,a.getRealValue())},b.prototype.getMaxLength=function(){return this.length},b.prototype.getFormatString=function(){return this.formatString},a.NumberFormatter=b}),window.multigraph.util.namespace("window.multigraph.core",function(a){"use strict";var b=1e-12,c=function(a){this.measure=a};c.prototype.getRealValue=function(){return this.measure},c.prototype.toString=function(){return this.measure.toString()},c.prototype.firstSpacingLocationAtOrAfter=function(c,d){var e,f,g,h=d.value,i=c.value,j=Math.abs(this.measure);return e=(i-h)/j,f=Math.floor(e),g=f+1,new a.NumberValue(b>e-f||b>g-e?i:h+j*g)},c.parse=function(a){return new c(parseFloat(a))},a.NumberMeasure=c}),window.multigraph.util.namespace("window.multigraph.core",function(a){"use strict";var b=function(a){this.value=a};b.prototype.getRealValue=function(){return this.value},b.prototype.toString=function(){return this.value.toString()},b.prototype.compareTo=function(a){return this.valuea.value?1:0},b.prototype.addRealValue=function(a){return new b(this.value+a)},b.prototype.add=function(a){return new b(this.value+a.measure)},b.prototype.type=a.DataValue.NUMBER,b.prototype.clone=function(){return new b(this.value)},b.parse=function(a){return new b(parseFloat(a))},a.DataValue.mixinComparators(b.prototype),a.NumberValue=b}),window.multigraph.util.namespace("window.multigraph.core",function(a){"use strict";var b,c=window.multigraph.utilityFunctions,d=c.getDefaultValuesFromXSD(),e=c.getKeys(d.horizontalaxis.pan);b=new window.jermaine.Model("Pan",function(){this.hasA("allowed").isA("boolean"),this.hasA("min").vlds(a.DataValue.isInstanceOrNull),this.hasA("max").vlds(a.DataValue.isInstanceOrNull),c.insertDefaults(this,d.horizontalaxis.pan,e)}),a.Pan=b}),window.multigraph.util.namespace("window.multigraph.core",function(a){"use strict";a.PeriodicArrayData=window.jermaine.Model(function(){var b=this,c={next:function(){},hasNext:function(){return!1}};this.isA(a.ArrayData),this.hasA("period").vlds(a.DataMeasure.isInstance),this.isBuiltWith("columns","stringArray","period",function(){this.init(),this.addListener("listenerAdded",function(a){var b=this.array();"dataReady"===a.targetType&&a.listener(b[0][0],b[b.length-1][0])})}),this.rspd("getIterator",function(a,c,d,e){return b.getArrayDataIterator(this,a,c,d,e)}),b.getArrayDataIterator=function(b,d,e,f,g){var h,i,j,k,l=a.DataValue,m=b.array();if(g=g||0,"[object Array]"!==Object.prototype.toString.apply(d))throw new Error("ArrayData: getIterator method requires that the first parameter be an array of strings");for(h=0;hj)return null;for(c=0;c=m.length&&(j=0,o=o.add(b.period()),p=o.getRealValue()-n.getRealValue()),r=a.DataValue.create(m[j][0].type,m[j][0].getRealValue()+p),r.gt(f)&&(j=-1),d},hasNext:function(){return j>=0}}}})}),window.multigraph.util.namespace("window.multigraph.core",function(a){"use strict";var b=window.multigraph.utilityFunctions,c=b.getDefaultValuesFromXSD(),d=b.getKeys(c.plot.legend),e=new window.jermaine.Model("PlotLegend",function(){this.hasA("visible").isA("boolean"),this.hasA("label").vlds(function(b){return b instanceof a.Text}),b.insertDefaults(this,c.plot.legend,d)});a.PlotLegend=e}),window.multigraph.util.namespace("window.multigraph.core",function(a){"use strict";var b=window.multigraph.utilityFunctions,c=b.getDefaultValuesFromXSD(),d=b.getKeys(c.plotarea),e=new window.jermaine.Model("Plotarea",function(){this.hasA("margin").vlds(function(a){return a instanceof window.multigraph.math.Insets}),this.hasA("border").isA("integer"),this.hasA("color").vlds(function(a){return null===a||a instanceof window.multigraph.math.RGBColor}),this.hasA("bordercolor").vlds(function(a){return a instanceof window.multigraph.math.RGBColor}),b.insertDefaults(this,c.plotarea,d)});a.Plotarea=e}),window.multigraph.util.namespace("window.multigraph.core",function(a){"use strict";var b;b=new window.jermaine.Model("BandRenderer",function(){this.isA(a.Renderer),this.hasA("numberOfVariables").dflt(3)}),b.GRAY=parseInt("80",16)/255,a.Renderer.declareOptions(b,"BandRendererOptions",[{name:"linecolor",type:a.Renderer.RGBColorOption,"default":new window.multigraph.math.RGBColor(0,0,0)},{name:"linewidth",type:a.Renderer.NumberOption,"default":1},{name:"line1color",type:a.Renderer.RGBColorOption,"default":null},{name:"line1width",type:a.Renderer.NumberOption,"default":-1},{name:"line2color",type:a.Renderer.RGBColorOption,"default":null},{name:"line2width",type:a.Renderer.NumberOption,"default":-1},{name:"fillcolor",type:a.Renderer.RGBColorOption,"default":new window.multigraph.math.RGBColor(b.GRAY,b.GRAY,b.GRAY)},{name:"fillopacity",type:a.Renderer.NumberOption,"default":1}]),a.Renderer.BAND=new a.Renderer.Type("band"),a.Renderer.addType({type:a.Renderer.Type.parse("band"),model:b}),a.BandRenderer=b}),window.multigraph.util.namespace("window.multigraph.core",function(a){"use strict";{var b,c=window.multigraph.utilityFunctions.getDefaultValuesFromXSD();window.multigraph.utilityFunctions.getKeys(c.plot.renderer)}b=new window.jermaine.Model("BarRenderer",function(){this.isA(a.Renderer),this.hasA("numberOfVariables").dflt(2)}),a.Renderer.declareOptions(b,"BarRendererOptions",[{name:"barwidth",type:a.Renderer.HorizontalDataMeasureOption,"default":new a.DataMeasure.parse("number",0)},{name:"baroffset",type:a.Renderer.NumberOption,"default":0},{name:"barbase",type:a.Renderer.VerticalDataValueOption,"default":null},{name:"fillcolor",type:a.Renderer.RGBColorOption,"default":new window.multigraph.math.RGBColor(0,0,0)},{name:"fillopacity",type:a.Renderer.NumberOption,"default":1},{name:"linecolor",type:a.Renderer.RGBColorOption,"default":new window.multigraph.math.RGBColor(0,0,0)},{name:"hidelines",type:a.Renderer.NumberOption,"default":2}]),a.Renderer.BAR=new a.Renderer.Type("bar"),a.Renderer.addType({type:a.Renderer.Type.parse("bar"),model:b}),a.BarRenderer=b}),window.multigraph.util.namespace("window.multigraph.core",function(a){"use strict";{var b,c=window.multigraph.utilityFunctions.getDefaultValuesFromXSD();window.multigraph.utilityFunctions.getKeys(c.plot.renderer)}b=new window.jermaine.Model("FillRenderer",function(){this.isA(a.Renderer),this.hasA("numberOfVariables").dflt(2)}),b.GRAY=parseInt("80",16)/255,a.Renderer.declareOptions(b,"FillRendererOptions",[{name:"linecolor",type:a.Renderer.RGBColorOption,"default":new window.multigraph.math.RGBColor(0,0,0)},{name:"linewidth",type:a.Renderer.NumberOption,"default":1},{name:"fillcolor",type:a.Renderer.RGBColorOption,"default":new window.multigraph.math.RGBColor(b.GRAY,b.GRAY,b.GRAY)},{name:"downfillcolor",type:a.Renderer.RGBColorOption,"default":null},{name:"fillopacity",type:a.Renderer.NumberOption,"default":1},{name:"fillbase",type:a.Renderer.VerticalDataValueOption,"default":null}]),a.Renderer.FILL=new a.Renderer.Type("fill"),a.Renderer.addType({type:a.Renderer.Type.parse("fill"),model:b}),a.FillRenderer=b}),window.multigraph.util.namespace("window.multigraph.core",function(a){"use strict";{var b,c=window.multigraph.utilityFunctions.getDefaultValuesFromXSD();window.multigraph.utilityFunctions.getKeys(c.plot.renderer)}b=new window.jermaine.Model("PointlineRenderer",function(){this.isA(a.Renderer),this.hasA("numberOfVariables").dflt(2)}),b.CIRCLE="circle",b.SQUARE="square",b.TRIANGLE="triangle",b.DIAMOND="diamond",b.STAR="star",b.PLUS="plus",b.X="x",b.shapes=[b.CIRCLE,b.SQUARE,b.TRIANGLE,b.DIAMOND,b.STAR,b.PLUS,b.X],b.isShape=function(a){var c;for(c=0;cd&&(d=b);return 15*d}),this.rspd("measureStringHeight",function(){if(void 0===this.string())throw new Error("measureStringHeight requires the string attr to be set.");var a=this.string().match(/\n/g);return 12*(null!==a?a.length+1:1)})})}),window.multigraph.util.namespace("window.multigraph.core",function(a){"use strict";a.Warning=function(a){this.message=a},a.Warning.prototype=new Error}),window.multigraph.util.namespace("window.multigraph.core",function(a){"use strict";a.WebServiceData=window.jermaine.Model(function(){this.isA(a.Data),this.hasA("serviceaddress").isA("string"),this.hasA("serviceaddresspattern").isA("string"),this.hasA("format").isA("string"),this.hasA("formatter").vlds(a.DataFormatter.isInstance),this.hasA("messageHandler"),this.hasA("ajaxthrottle"),this.isBuiltWith("columns","serviceaddress","%messageHandler","%ajaxthrottle",function(){if(this.init(),this.columns().size()>0){var b=this.columns().at(0).type();void 0===this.format()&&this.format(b===a.DataValue.NUMBER?"%f":"%Y%M%D%H%i%s"),this.formatter(a.DataFormatter.create(b,this.format()))}void 0===this.ajaxthrottle()&&this.ajaxthrottle(window.multigraph.jQuery)}),this.rspd("_displayError",function(a){if(!this.messageHandler())throw a;this.messageHandler().error(a)}),this.rspd("getBounds",function(){return[0,10]}),this.hasA("arraydata").dflt(null).vlds(function(b){return b instanceof a.ArrayData||null===b}),this.hasA("cacheHead").dflt(null).vlds(function(b){return null===b||b instanceof a.WebServiceDataCacheNode}),this.hasA("cacheTail").dflt(null).vlds(function(b){return null===b||b instanceof a.WebServiceDataCacheNode}),this.rspd("dataHead",function(){var a=this.cacheHead();return null===a?null:a.hasData()?a:a.dataNext()}),this.rspd("dataTail",function(){var a=this.cacheTail();return null===a?null:a.hasData()?a:a.dataPrev()}),this.rspd("insertCacheNode",function(a){var b=this.cacheHead(),c=this.cacheTail();null===b?(this.cacheHead(a),this.cacheTail(a)):a.coveredMin().lt(b.coveredMin())?(a.next(b),b.prev(a),this.cacheHead(a)):(a.prev(c),c.next(a),this.cacheTail(a))}),this.rspd("constructRequestURL",function(a,b){var c=this.serviceaddress(),d=this.formatter();if(void 0===c)throw new Error("WebServiceData.constructRequestURL: undefined service address");if(void 0===d)throw new Error("WebServiceData.constructRequestURL: undefined formatter for column 0");return void 0===this.serviceaddresspattern()&&this.serviceaddresspattern(c.indexOf("$min")<0&&c.indexOf("$max")<0?c+"$min,$max":c),this.serviceaddresspattern().replace("$min",d.format(a)).replace("$max",d.format(b))}),this.hasA("coveredMin").dflt(null).vlds(function(b){return null===b||a.DataValue.isInstance(b)}),this.hasA("coveredMax").dflt(null).vlds(function(b){return null===b||a.DataValue.isInstance(b)}),this.rspd("insureCoveredRange",function(){var a=this.cacheHead(),b=this.cacheTail(),c=this.coveredMin(),d=this.coveredMax();null!==c&&null!==d&&(null===a||null===b?this.requestSingleRange(c,d):(c.lt(a.coveredMin())&&this.requestSingleRange(c,a.coveredMin()),d.gt(b.coveredMax())&&this.requestSingleRange(b.coveredMax(),d)))}),this.rspd("requestSingleRange",function(b,c){var d,e,f=this;d=new a.WebServiceDataCacheNode(b,c),this.insertCacheNode(d),e=this.constructRequestURL(b,c),this.emit({type:"ajaxEvent",action:"start"}),this.ajaxthrottle().ajax({url:e,dataType:"text",success:function(a){a.indexOf("")>0&&(a=window.multigraph.parser.stringToJQueryXMLObj(a).find("values").text()),d.parseData(f.getColumns(),a),f.emit({type:"ajaxEvent",action:"success"}),f.emit({type:"dataReady"})},error:function(a,b,c){var d=c;404===a.statusCode().status?d="URL not found: '"+e+'"':b&&(d=b+": "+d),f._displayError(new Error(d))},complete:function(){f.emit({type:"ajaxEvent",action:"complete"})}})}),this.rspd("getIterator",function(b,c,d,e){var f,g,h,i,j,k,l,m,n;if(c.gt(d)&&(k=c,c=d,d=k),(null===this.coveredMin()||c.lt(this.coveredMin()))&&this.coveredMin(c.clone()),(null===this.coveredMax()||d.gt(this.coveredMax()))&&this.coveredMax(d.clone()),this.paused()||this.insureCoveredRange(),null===this.dataHead())return{next:function(){},hasNext:function(){return!1}};for(n=[],j=0;jh;){if(--g,0>g){if(i=f.dataPrev(),null===i){g=0;break}f=i,g=f.data().length-1}++h}for(l=f;d.gt(l.dataMax())&&null!==l.dataNext();)l=l.dataNext();for(m=0,l===f&&(m=g);mh;){if(++m,m>=l.data().length){if(i=l.dataNext(),null===i){m=l.data().length-1;break}l=i,m=0}++h}}else g=-1;return new a.WebServiceDataIterator(n,f,g,l,m)}),this.hasA("paused").isA("boolean").dflt(!1),this.rspd("pause",function(){this.paused(!0)}),this.rspd("resume",function(){this.paused(!1),this.emit({type:"dataReady",min:this.coveredMin(),max:this.coveredMax()})})})}),window.multigraph.util.namespace("window.multigraph.core",function(a){"use strict";a.WebServiceDataCacheNode=window.jermaine.Model(function(){this.hasA("data").dflt(null).vlds(function(b){var c=window.multigraph.util.namespace("window.multigraph.utilityFunctions");if(null===b)return!0;if("array"!==c.typeOf(b))return this.message="WebServiceDataCacheNode's data attribute is not an Array",!1;if(b.length>0){var d,e=b[0];if("array"!==c.typeOf(e))return this.message="WebServiceDataCacheNode's data attribute is not an Array of Arrays",!1;for(d=0;de)return null;for(a=0;a=f.data().length&&(this.currentNode(f.dataNext()),this.currentIndex(0)),b})})}),window.multigraph.util.namespace("window.multigraph.core",function(a){"use strict";var b=window.multigraph.utilityFunctions,c=b.getDefaultValuesFromXSD(),d=b.getKeys(c.window),e=new window.jermaine.Model("Window",function(){this.hasA("width").isA("integer"),this.hasA("height").isA("integer"),this.hasA("border").isA("integer"),this.hasA("margin").vlds(function(a){return a instanceof window.multigraph.math.Insets}),this.hasA("padding").vlds(function(a){return a instanceof window.multigraph.math.Insets}),this.hasA("bordercolor").vlds(function(a){return a instanceof window.multigraph.math.RGBColor}),b.insertDefaults(this,c.window,d)});a.Window=e}),window.multigraph.util.namespace("window.multigraph.core",function(a){"use strict";var b=window.multigraph.utilityFunctions,c=b.getDefaultValuesFromXSD(),d=b.getKeys(c.horizontalaxis.zoom),e=new window.jermaine.Model("Zoom",function(){this.hasA("allowed").isA("boolean"),this.hasA("min").vlds(function(b){return a.DataMeasure.isInstance(b)}),this.hasA("max").vlds(function(b){return a.DataMeasure.isInstance(b)}),this.hasA("anchor").vlds(function(b){return a.DataValue.isInstance(b)||null===b}),b.insertDefaults(this,c.horizontalaxis.zoom,d)});a.Zoom=e}),window.multigraph.util.namespace("window.multigraph.parser",function(a){"use strict";a.mixin=new window.multigraph.core.Mixin}),window.multigraph.util.namespace("window.multigraph.parser",function(a){"use strict";a.mixin.add(function(a,b){var c=function(c,d){var e,f,g=[],h=c.find("labels"),i=c.find("label"),j=d.labelers(),k=a.core.Labeler,l=a.jQuery;if(e=l.trim(h.attr("spacing")),""!==e&&(g=e.split(/\s+/)),g.length>0)for(f=0;f0){var m=k[b](h,d,void 0,null);l.each(i,function(a,c){for(e=l.trim(l(c).attr("spacing")),g=[],""!==e&&(g=e.split(/\s+/)),f=0;f0?k.AxisTitle[b](i,m):new k.AxisTitle(m)),i=d.find("grid"),i.length>0&&m.grid(k.Grid[b](i)),i=d.find("pan"),i.length>0&&m.pan(k.Pan[b](i,m.type())),i=d.find("zoom"),i.length>0&&m.zoom(k.Zoom[b](i,m.type())),d.find("labels").length>0&&c(d,m),i=d.find("binding"),i.length>0){var x=i.attr("id"),y=i.attr("min"),z=i.attr("max"),A=r.parse(m.type(),y),B=r.parse(m.type(),z);if("string"!=typeof x||x.length<=0)throw new Error("invalid axis binding id: '"+x+"'");if(!r.isInstance(A))throw new Error("invalid axis binding min: '"+y+"'");if(!r.isInstance(B))throw new Error("invalid axis binding max: '"+z+"'");k.AxisBinding.findByIdOrCreateNew(x).addAxis(m,A,B,g)}}return m}})}),window.multigraph.util.namespace("window.multigraph.parser",function(a){"use strict";a.mixin.add(function(a,b){a.core.AxisTitle[b]=function(b,c){var d,e=new a.core.AxisTitle(c),f=!1,g=a.math.Point.parse,h=function(b,c,d){a.utilityFunctions.parseAttribute(b,c,d) -};return b&&(d=b.text(),""!==d&&(e.content(new a.core.Text(d)),f=!0),h(b.attr("anchor"),e.anchor,g),h(b.attr("base"),e.base,parseFloat),h(b.attr("position"),e.position,g),h(b.attr("angle"),e.angle,parseFloat)),f===!0?e:void 0}})}),window.multigraph.util.namespace("window.multigraph.parser",function(a){"use strict";a.mixin.add(function(a,b){a.core.Background[b]=function(c,d){var e,f=new a.core.Background;return c&&(a.utilityFunctions.parseAttribute(c.attr("color"),f.color,a.math.RGBColor.parse),e=c.find("img"),e.length>0&&f.img(a.core.Img[b](e,d))),f}})}),window.multigraph.util.namespace("window.multigraph.parser",function(a){"use strict";a.mixin.add(function(a,b){window.multigraph.core.Data[b]=function(c,d,e){var f,g,h,i,j,k=a.core,l=k.ArrayData,m=a.jQuery,n=[],o=l;if(c){if(j=m(c).attr("adapter"),void 0!==j&&""!==j&&(o=window.multigraph.adapters[j],void 0===o))throw new Error("Missing data adapater: "+o);f=c.find("variables"),g=f.attr("missingvalue"),h=f.attr("missingop");var p=f.find(">variable");p.length>0&&m.each(p,function(a,c){n.push(k.DataVariable[b](m(c)))});var q,r=!1,s=m(c.find(">repeat"));if(s.length>0){var t=m(s).attr("period");void 0===t||""===t?e.warning(" tag requires a 'period' attribute; data treated as non-repeating"):(q=k.DataMeasure.parse(n[0].type(),t),r=!0)}var u=m(c.find(">values"));if(u.length>0){u=u[0];var v=o.textToStringArray(n,m(u).text());i=r?new k.PeriodicArrayData(n,v,q):new l(n,v)}var w=m(c.find(">csv"));if(w.length>0){w=w[0];var x=m(w).attr("location");i=new k.CSVData(n,d?d.rebaseUrl(x):x,e,d?d.getAjaxThrottle(x):void 0)}var y=m(c.find(">service"));if(y.length>0){y=m(y[0]);var z=y.attr("location");i=new k.WebServiceData(n,d?d.rebaseUrl(z):z,e,d?d.getAjaxThrottle(z):void 0);var A=y.attr("format");A&&i.format(A)}}return i&&(void 0!==g&&i.defaultMissingvalue(g),void 0!==h&&i.defaultMissingop(h),i.adapter(o)),i}})}),window.multigraph.util.namespace("window.multigraph.parser",function(a){"use strict";a.mixin.add(function(a,b){a.core.DataVariable[b]=function(b){var c,d=a.utilityFunctions,e=d.parseAttribute,f=a.core.DataValue;return b&&b.attr("id")&&(c=new a.core.DataVariable(b.attr("id")),e(b.attr("column"),c.column,d.parseInteger),e(b.attr("type"),c.type,f.parseType),e(b.attr("missingvalue"),c.missingvalue,d.parseDataValue(c.type())),e(b.attr("missingop"),c.missingop,f.parseComparator)),c}})}),window.multigraph.util.namespace("window.multigraph.parser",function(a){"use strict";a.mixin.add(function(a,b){a.core.Datatips[b]=function(c){var d,e=new a.core.Datatips,f=a.jQuery,g=a.math.RGBColor.parse,h=a.utilityFunctions,i=h.parseAttribute,j=h.parseInteger,k=h.parseString;return c&&(d=c.find("variable"),d.length>0&&f.each(d,function(c,d){e.variables().add(a.core.DatatipsVariable[b](f(d)))}),i(c.attr("format"),e.format,k),i(c.attr("bgcolor"),e.bgcolor,g),i(c.attr("bgalpha"),e.bgalpha,k),i(c.attr("border"),e.border,j),i(c.attr("bordercolor"),e.bordercolor,g),i(c.attr("pad"),e.pad,j)),e}})}),window.multigraph.util.namespace("window.multigraph.parser",function(a){"use strict";a.mixin.add(function(a,b){a.core.DatatipsVariable[b]=function(b){var c=new a.core.DatatipsVariable,d=a.utilityFunctions;return b&&d.parseAttribute(b.attr("format"),c.format,d.parseString),c}})}),window.multigraph.util.namespace("window.multigraph.parser",function(a){"use strict";a.mixin.add(function(a,b){a.core.Filter[b]=function(c){var d,e=new a.core.Filter,f=a.jQuery,g=a.utilityFunctions;return c&&(d=c.find("option"),d.length>0&&f.each(d,function(c,d){e.options().add(a.core.FilterOption[b](f(d)))}),g.parseAttribute(c.attr("type"),e.type,g.parseString)),e}})}),window.multigraph.util.namespace("window.multigraph.parser",function(a){"use strict";a.mixin.add(function(a,b){a.core.FilterOption[b]=function(b){var c=new a.core.FilterOption;return b&&(c.name(b.attr("name")),c.value(""===b.attr("value")?void 0:b.attr("value"))),c}})}),window.multigraph.util.namespace("window.multigraph.parser",function(a){"use strict";a.mixin.add(function(a,b){var c=a.jQuery,d=function(b,e){var f,g=c(b),h=g[0].attributes,i=g.children(),j=a.math.RGBColor.colorNameIsDeprecated;"option"===b.nodeName&&/color/.test(g.attr("name"))&&(f=j(g.attr("value")),f&&e.warning('Warning: color string "'+g.attr("value")+'" is deprecated; use "'+f+'" instead')),h&&c.each(h,function(){/color/.test(this.name)&&(f=j(this.value),f&&e.warning('Warning: color string "'+this.value+'" is deprecated; use "'+f+'" instead'))}),i&&i.each(function(){d(this,e)})};a.core.Graph[b]=function(e,f,g){var h,i=a.core,j=new i.Graph,k=i.Axis,l=a.utilityFunctions.getDefaultValuesFromXSD();if(j.multigraph(f),e){try{d(e,g)}catch(m){}h=e.find(">window"),h.length>0&&j.window(i.Window[b](h)),h=e.find(">legend"),j.legend(h.length>0?i.Legend[b](h):i.Legend[b]()),h=e.find(">background"),h.length>0&&j.background(i.Background[b](h,j.multigraph())),h=e.find(">plotarea"),h.length>0&&j.plotarea(i.Plotarea[b](h)),h=e.find(">title"),h.length>0&&j.title(i.Title[b](h,j)),c.each(e.find(">horizontalaxis"),function(a,d){j.axes().add(k[b](c(d),k.HORIZONTAL,g,j.multigraph()))}),c.each(e.find(">verticalaxis"),function(a,d){j.axes().add(k[b](c(d),k.VERTICAL,g,j.multigraph()))}),c.each(e.find(">throttle"),function(a,b){var d=c(b).attr("pattern")?c(b).attr("pattern"):l.throttle.pattern,e=c(b).attr("requests")?c(b).attr("requests"):l.throttle.requests,g=c(b).attr("period")?c(b).attr("period"):l.throttle.period,h=c(b).attr("concurrent")?c(b).attr("concurrent"):l.throttle.concurrent;f.addAjaxThrottle(d,e,g,h)}),c.each(e.find(">data"),function(a,d){j.data().add(i.Data[b](c(d),j.multigraph(),g))}),c.each(e.find(">plot"),function(a,d){j.plots().add(i.Plot[b](c(d),j,g))}),j.postParse()}return j}})}),window.multigraph.util.namespace("window.multigraph.parser",function(a){"use strict";a.mixin.add(function(a,b){a.core.Title[b]=function(b,c){var d,e=a.math.Point.parse,f=a.math.RGBColor.parse,g=a.utilityFunctions,h=g.parseAttribute,i=g.parseInteger;if(b){var j=b.text();if(""===j)return void 0;d=new a.core.Title(new a.core.Text(j),c),h(b.attr("frame"),d.frame,function(a){return a.toLowerCase()}),h(b.attr("border"),d.border,i),h(b.attr("color"),d.color,f),h(b.attr("bordercolor"),d.bordercolor,f),h(b.attr("opacity"),d.opacity,parseFloat),h(b.attr("padding"),d.padding,i),h(b.attr("cornerradius"),d.cornerradius,i),h(b.attr("anchor"),d.anchor,e),h(b.attr("base"),d.base,e),h(b.attr("position"),d.position,e)}return d}})}),window.multigraph.util.namespace("window.multigraph.parser",function(a){"use strict";a.mixin.add(function(a,b){a.core.Grid[b]=function(b){var c,d=new a.core.Grid,e=a.utilityFunctions,f=e.parseAttribute;return b&&(f(b.attr("color"),d.color,a.math.RGBColor.parse),c=b.attr("visible"),d.visible(void 0!==c?e.parseBoolean(c):!0)),d}})}),window.multigraph.util.namespace("window.multigraph.parser",function(a){"use strict";a.mixin.add(function(a,b){a.core.Icon[b]=function(b){var c=new a.core.Icon,d=a.utilityFunctions,e=d.parseAttribute,f=d.parseInteger;return b&&(e(b.attr("height"),c.height,f),e(b.attr("width"),c.width,f),e(b.attr("border"),c.border,f)),c}})}),window.multigraph.util.namespace("window.multigraph.parser",function(a){"use strict";a.mixin.add(function(a,b){a.core.Img[b]=function(b,c){var d,e=a.utilityFunctions.parseAttribute,f=a.math.Point.parse;if(b&&void 0!==b.attr("src")){var g=b.attr("src");if(!g)throw new Error('img elment requires a "src" attribute value');c&&(g=c.rebaseUrl(g)),d=new a.core.Img(g),e(b.attr("anchor"),d.anchor,f),e(b.attr("base"),d.base,f),e(b.attr("position"),d.position,f),e(b.attr("frame"),d.frame,function(a){return a.toLowerCase()})}return d}})}),window.multigraph.util.namespace("window.multigraph.parser",function(a){"use strict";a.mixin.add(function(a,b){a.core.Labeler[b]=function(b,c,d,e){var f,g=a.math,h=a.utilityFunctions,i=g.Point.parse,j=function(a,b,c,e){h.parseAttribute(a,b,c)||void 0===d||b(d[e]())},k=function(a){return function(b){return window.multigraph.core.DataFormatter.create(a,b)}};return b&&(f=new a.core.Labeler(c),null!==e&&(void 0===e&&(e=b.attr("spacing")),j(e,f.spacing,h.parseDataMeasure(c.type()),"spacing")),j(b.attr("format"),f.formatter,k(c.type()),"formatter"),j(b.attr("start"),f.start,h.parseDataValue(c.type()),"start"),j(b.attr("angle"),f.angle,parseFloat,"angle"),j(b.attr("position"),f.position,i,"position"),j(b.attr("anchor"),f.anchor,i,"anchor"),j(b.attr("densityfactor"),f.densityfactor,parseFloat,"densityfactor"),j(b.attr("color"),f.color,g.RGBColor.parse,"color"),j(b.attr("visible"),f.visible,h.parseBoolean,"visible")),f}})}),window.multigraph.util.namespace("window.multigraph.parser",function(a){"use strict";a.mixin.add(function(a,b){a.core.Legend[b]=function(c){var d,e=new a.core.Legend,f=a.utilityFunctions,g=f.parseAttribute,h=f.parseInteger,i=a.math.Point.parse,j=a.math.RGBColor.parse;return c&&(g(c.attr("visible"),e.visible,f.parseBoolean),g(c.attr("base"),e.base,i),g(c.attr("anchor"),e.anchor,i),g(c.attr("position"),e.position,i),g(c.attr("frame"),e.frame,f.parseString),g(c.attr("color"),e.color,j),g(c.attr("bordercolor"),e.bordercolor,j),g(c.attr("opacity"),e.opacity,parseFloat),g(c.attr("border"),e.border,h),g(c.attr("rows"),e.rows,h),g(c.attr("columns"),e.columns,h),g(c.attr("cornerradius"),e.cornerradius,h),g(c.attr("padding"),e.padding,h),d=c.find("icon"),d.length>0&&e.icon(a.core.Icon[b](d))),e}})}),window.multigraph.util.namespace("window.multigraph.parser",function(a){"use strict";a.mixin.add(function(a,b){a.core.Multigraph[b]=function(c,d,e){var f,g=new a.core.Multigraph,h=g.graphs(),i=a.core.Graph,j=a.jQuery;return g.mugl(d),c&&(f=c.find(">graph"),f.length>0?j.each(f,function(a,c){h.add(i[b](j(c),g,e))}):0===f.length&&c.children().length>0&&h.add(i[b](c,g,e))),g}})}),window.multigraph.util.namespace("window.multigraph.parser",function(a){"use strict";a.mixin.add(function(a,b){a.core.Pan[b]=function(b,c){var d=new a.core.Pan,e=a.utilityFunctions,f=e.parseAttribute,g=e.parseDataValue;return b&&(f(b.attr("allowed"),d.allowed,e.parseBoolean),f(b.attr("min"),d.min,g(c)),f(b.attr("max"),d.max,g(c))),d}})}),window.multigraph.util.namespace("window.multigraph.parser",function(a){"use strict";a.stringToJQueryXMLObj=function(a){var b=window.multigraph.jQuery;if("string"!=typeof a)return b(a);var c=b.parseXML(a);return b(b(c).children()[0])}}),window.multigraph.util.namespace("window.multigraph.parser",function(a){"use strict";a.mixin.add(function(a,b){a.core.Plot[b]=function(c,d,e){var f,g,h,i,j,k,l=a.jQuery,m=a.core,n=m.DataPlot,o=m.PlotLegend;if(c){if(k=c.find(">verticalaxis"),1===k.length&&void 0!==k.attr("ref")&&d&&(h=d.axisById(k.attr("ref")),void 0===h))throw new Error("Plot Vertical Axis Error: The graph does not contain an axis with an id of '"+k.attr("ref")+"'");if(k=c.find("verticalaxis constant"),k.length>0){var p=k.attr("value");if(void 0===p)throw new Error("Constant Plot Error: A 'value' attribute is needed to define a Constant Plot");f=new m.ConstantPlot(m.DataValue.parse(h.type(),p))}else f=new n;if(f.verticalaxis(h),k=c.find(">horizontalaxis"),1===k.length&&void 0!==k.attr("ref")&&d){if(g=d.axisById(k.attr("ref")),void 0===g)throw new Error("Plot Horizontal Axis Error: The graph does not contain an axis with an id of '"+k.attr("ref")+"'");f.horizontalaxis(g)}f instanceof n&&(0===c.find("horizontalaxis variable").length&&f.variable().add(null),k=c.find("horizontalaxis variable, verticalaxis variable"),k.length>0&&d&&l.each(k,function(a,b){if(j=l(b).attr("ref"),i=d.variableById(j),void 0===i)throw new Error("Plot Variable Error: No Data tag contains a variable with an id of '"+j+"'");f.data(i.data()),f.variable().add(i)})),k=c.find("legend"),f.legend(k.length>0?o[b](k,f):o[b](void 0,f)),k=c.find("renderer"),k.length>0&&f.renderer(m.Renderer[b](k,f,e)),k=c.find("filter"),k.length>0&&f.filter(m.Filter[b](k)),k=c.find("datatips"),k.length>0&&f.datatips(m.Datatips[b](k))}return f}})}),window.multigraph.util.namespace("window.multigraph.parser",function(a){"use strict";a.mixin.add(function(a,b){a.core.PlotLegend[b]=function(b,c){var d=new a.core.PlotLegend,e=a.utilityFunctions,f=e.parseAttribute,g=a.core.Text;return b&&(f(b.attr("visible"),d.visible,e.parseBoolean),f(b.attr("label"),d.label,function(a){return new g(a)})),void 0===d.label()&&d.label("function"==typeof c.variable&&c.variable().size()>=2?new g(c.variable().at(1).id()):new g("plot")),d}})}),window.multigraph.util.namespace("window.multigraph.parser",function(a){"use strict";a.mixin.add(function(a,b){a.core.Plotarea[b]=function(b){var c=new a.core.Plotarea,d=c.margin(),e=a.utilityFunctions,f=e.parseAttribute,g=e.parseInteger,h=a.math.RGBColor.parse;return b&&(f(b.attr("marginbottom"),d.bottom,g),f(b.attr("marginleft"),d.left,g),f(b.attr("margintop"),d.top,g),f(b.attr("marginright"),d.right,g),f(b.attr("border"),c.border,g),f(b.attr("color"),c.color,h),f(b.attr("bordercolor"),c.bordercolor,h)),c}})}),window.multigraph.util.namespace("window.multigraph.parser",function(a){"use strict";a.mixin.add(function(a,b){a.core.Renderer[b]=function(b,c,d){var e,f,g=a.jQuery,h=a.core,i=h.Renderer;if(b&&void 0!==b.attr("type")){if(e=i.Type.parse(b.attr("type")),!i.Type.isInstance(e))throw new Error("unknown renderer type '"+b.attr("type")+"'");f=i.create(e),f.plot(c),b.find("option").length>0&&(!function(a,b,c,d){var e,f=b.find("option[name=missingvalue]"),g=b.find("option[name=missingop]");if(f.length>0||g.length>0){var i,j=c.data().columns();for(e=0;e0&&void 0===i.missingvalue()&&i.missingvalue(h.NumberValue.parse(f.attr("value"))),g.length>0&&void 0===i.missingop()&&i.missingop(h.DataValue.parseComparator(g.attr("value"))))}f.length>0&&(d.warning("Renderer option 'missingvalue' is deprecated; use 'missingvalue' attribute of 'data'/'variable'; instead"),f.remove()),g.length>0&&(d.warning("Renderer option 'missingop' is deprecated; use 'missingvalue' attribute of 'data'/'variable'; instead"),g.remove())}(f,b,c,d),g.each(b.find(">option"),function(a,b){try{f.setOptionFromString(g(b).attr("name"),g(b).attr("value"),g(b).attr("min"),g(b).attr("max"))}catch(b){if(!(b instanceof h.Warning))throw b;d.warning(b)}}))}return f}})}),window.multigraph.util.namespace("window.multigraph.parser",function(a){"use strict";a.mixin.add(function(a,b){a.core.Window[b]=function(b){var c,d=new a.core.Window,e=a.utilityFunctions,f=e.parseAttribute,g=e.parseInteger;return b&&(f(b.attr("width"),d.width,g),f(b.attr("height"),d.height,g),f(b.attr("border"),d.border,g),c=b.attr("margin"),void 0!==c&&!function(a){d.margin().set(a,a,a,a)}(parseInt(c,10)),c=b.attr("padding"),void 0!==c&&!function(a){d.padding().set(a,a,a,a)}(parseInt(c,10)),f(b.attr("bordercolor"),d.bordercolor,a.math.RGBColor.parse)),d}})}),window.multigraph.util.namespace("window.multigraph.parser",function(a){"use strict";a.mixin.add(function(a,b){a.core.Zoom[b]=function(b,c){var d,e=a.core,f=new e.Zoom,g=a.utilityFunctions,h=g.parseAttribute,i=g.parseDataMeasure;return b&&(h(b.attr("allowed"),f.allowed,g.parseBoolean),h(b.attr("min"),f.min,i(c)),h(b.attr("max"),f.max,i(c)),d=b.attr("anchor"),void 0!==d&&f.anchor("none"===d.toLowerCase()?null:e.DataValue.parse(c,d))),f}})}),window.multigraph.util.namespace("window.multigraph.normalizer",function(a){"use strict";a.mixin=new window.multigraph.core.Mixin}),window.multigraph.util.namespace("window.multigraph.normalizer",function(a){"use strict";a.mixin.add(function(a){a.Axis.rspd("normalize",function(){var b,c;if(this.title()&&void 0===this.title().content()&&this.title().content(new a.Text(this.id())),0===this.labelers().size()){var d=window.multigraph.utilityFunctions.getDefaultValuesFromXSD().horizontalaxis.labels,e=this.type()===a.DataValue.NUMBER?d.defaultNumberSpacing:d.defaultDatetimeSpacing,f=e.split(/\s+/);for(b=0;b0)for(c=0;d>c;c++)b.push(null)},d=function(a,b){var c,d;for(d=0,c=0;de)for(d=0;de)throw new Error("Data Variable Error: Attempting to specify column '"+c[d].column()+"' for a variable, while there are only "+e+" data columns available")},f=function(b,c,d){var e,f,g=a.DataValue;for(c=g.parseComparator(c),f=0;f0;)d.pop();for(c=0;c0&&d[0].length0&&(e+=k),k++):d.orientation()===h&&(e="y",l>0&&(e+=l),l++),void 0===d.id()&&d.id(e);for(b=0;b0?1:0),10)):void 0===h()&&h(parseInt(e.size()/g()+(e.size()%g()>0?1:0),10)),this})})}),window.multigraph.util.namespace("window.multigraph.normalizer",function(a){"use strict";a.mixin.add(function(a){a.Multigraph.rspd("normalize",function(){var a;for(a=0;aMath.abs(g)?k:l),i(this.findNearestAxis(c,e,j())),null===i()&&(j(j()===k?l:k),i(this.findNearestAxis(c,e,j()))),this.dragStarted(!0)),h?j()===k?i().doZoom(c,f):i().doZoom(e,g):j()===k?i().doPan(c,f):i().doPan(e,g),a.redraw()}catch(m){b(m)}})})}),window.multigraph.util.namespace("window.multigraph.events.mouse",function(a){"use strict";a.mixin=new window.multigraph.core.Mixin}),window.multigraph.util.namespace("window.multigraph.events.mouse",function(a){"use strict";a.mixin.add(function(a,b){var c=a.core.Graph;c.hasA("mouseWheelTimer").dflt(null),c.rspd("doWheelZoom",function(c,d,e,f){var g=this;try{this.pauseAllData();var h=this.findNearestAxis(d,e);h.orientation()===a.core.Axis.HORIZONTAL?h.doZoom(d,4*f):h.doZoom(e,4*f),c.redraw();var i=this.mouseWheelTimer;null!==i()&&(clearTimeout(i()),i(null)),i(setTimeout(function(){g.resumeAllData()},500))}catch(j){b(j)}})})}),window.multigraph.util.namespace("window.multigraph.events.mouse",function(a){"use strict";a.mixin.add(function(a){var b=window.multigraph.util.namespace("window.multigraph.math");a.core.Multigraph.rspd("registerMouseEvents",function(a){var c,d,e=!1,f=!1,g=this,h=window.multigraph.jQuery(a),i=function(a){return new b.Point(a.pageX-h.offset().left-g.graphs().at(0).x0(),h.height()-(a.pageY-h.offset().top)-g.graphs().at(0).y0())};h.mousedown(function(a){a.preventDefault(),d=c=i(a),e=!0,f=!1}),h.mouseup(function(){e=!1,g.graphs().at(0).doDragDone()}),h.mousemove(function(a){var b=i(a);if(e){var h=b.x()-d.x(),j=b.y()-d.y();g.graphs().size()>0&&(f||g.graphs().at(0).doDragReset(),g.graphs().at(0).doDrag(g,c.x(),c.y(),h,j,a.shiftKey)),f=!0}d=b}),h.mousewheel(function(a,b){var c=i(a);g.graphs().size()>0&&g.graphs().at(0).doWheelZoom(g,c.x(),c.y(),b),a.preventDefault()}),h.mouseenter(function(a){d=i(a),e=!1,g.graphs().at(0).doDragDone()}),h.mouseleave(function(){e=!1,g.graphs().at(0).doDragDone()})})})}),function(a){"use strict";var b=window.multigraph.util.namespace("window.multigraph.core"),c={multigraph:function(){return this.data("multigraph").multigraph},done:function(b){return this.each(function(){return a(this).data("multigraph").multigraph.done(b)})},init:function(c){return this.each(function(){var d=a(this),e=d.data("multigraph");return c.div=this,e||d.data("multigraph",{multigraph:b.Multigraph.createGraph(c)}),this})}};a.fn.multigraph=function(b){return c[b]?c[b].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof b&&b?(a.error("Method "+b+" does not exist on jQuery.multigraph"),null):c.init.apply(this,arguments)},a(document).ready(function(){a("div.multigraph").each(function(){var b,c=a(this).attr("data-width"),d=a(this).attr("data-height"),e=a(this).attr("data-src"),f=a(this).attr("data-driver");void 0!==c&&a(this).css("width",c+"px"),void 0!==d&&a(this).css("height",d+"px"),b={div:this,mugl:e,driver:f},a(this).multigraph(b),a(this).lightbox({scale:!0,postopen:function(){var b=this.data("lightbox");b.originalDiv=this,this.data("multigraph").multigraph.done(function(c){c.div(b.contents),c.initializeSurface(),c.resizeSurface(b.contentWidth,b.contentHeight),c.width(b.contentWidth).height(b.contentHeight),c.busySpinner().remove(),c.busySpinner(a('
    ').appendTo(a(c.div())).busy_spinner()),c.render()});var c=window.setTimeout(function(){b.contents.lightbox("resize"),window.clearTimeout(c)},50)},postclose:function(){var b=this.data("lightbox");this.data("multigraph").multigraph.done(function(c){c.div(b.originalDiv).width(a(c.div()).width()).height(a(c.div()).height()).busySpinner(a('
    ').appendTo(a(c.div())).busy_spinner()),c.initializeSurface(),c.render()})},postresize:function(){var a=this.data("lightbox");this.data("multigraph").multigraph.done(function(b){b.resizeSurface(a.contentWidth,a.contentHeight),b.width(a.contentWidth).height(a.contentHeight),b.render()})}})})})}(window.multigraph.jQuery),window.multigraph.util.namespace("window.multigraph.events.touch",function(a){"use strict";a.mixin=new window.multigraph.core.Mixin}),window.multigraph.util.namespace("window.multigraph.events.touch",function(a){"use strict";a.mixin.add(function(a,b){a.core.Graph.rspd("doFirstPinchZoom",function(c,d,e,f,g,h,i){var j=this.dragAxis,k=this.dragOrientation,l=a.core.Axis,m=l.HORIZONTAL,n=l.VERTICAL;try{this.dragStarted()||(k(h>i?m:n),j(this.findNearestAxis(d,e,k())),null===j()&&(k(k()===m?n:m),j(this.findNearestAxis(d,e,k()))),this.dragStarted(!0)),k()===m?j().doZoom(d,f):j().doZoom(e,g),c.redraw()}catch(o){b(o)}})})}),window.multigraph.util.namespace("window.multigraph.events.touch",function(a){"use strict";a.mixin.add(function(a){var b=window.multigraph.util.namespace("window.multigraph.math");a.core.Multigraph.rspd("registerTouchEvents",function(a){var c,d,e,f,g=!1,h=!1,i=!1,j=!1,k={},l=this,m=window.multigraph.jQuery(a),n=function(a){return new b.Point(a.pageX-m.offset().left-l.graphs().at(0).x0(),m.height()-(a.pageY-m.offset().top)-l.graphs().at(0).y0())},o=function(a){var b=a.originalEvent;b.preventDefault(),1===b.touches.length&&(f=n(b.touches[0])),d=n(b.touches[0]),h=1===b.touches.length?!0:!1,2===b.touches.length?(i=!0,j=!1,e=n(b.touches[1])):(i=!1,j=!1),g=!1,l.graphs().at(0).doDragDone()},p=function(a){var b=a.originalEvent;b.preventDefault(),1===b.touches.length&&h===!0&&s(b),2===b.touches.length&&i===!0&&t(b)},q=function(a){var b=a.originalEvent;b.preventDefault(),h=1===b.touches.length?!0:!1,2===b.touches.length?(i=!0,j=!1):(i=!1,j=!1),g=!1,l.graphs().at(0).doDragDone()},r=function(a){a.originalEvent.preventDefault(),h=!1,i=!1,j=!1,g=!1,l.graphs().at(0).doDragDone()},s=function(a){var b=n(a.touches[0]),c=b.x()-d.x(),e=b.y()-d.y();l.graphs().size()>0&&(g||l.graphs().at(0).doDragReset(),l.graphs().at(0).doDrag(l,f.x(),f.y(),c,e,!1)),g=!0,d=b},t=function(a){var b=n(a.touches[0]),f=n(a.touches[1]),h=(b.x()+f.x())/2,i=(b.y()+f.y())/2,m=u(b.x(),f.x())-u(d.x(),e.x()),o=u(b.y(),f.y())-u(d.y(),e.y());l.graphs().size()>0&&(g||l.graphs().at(0).doDragReset(),j===!0&&l.graphs().at(0).doDrag(l,h,i,m,o,!0)),g=!0;var p=(b.x()-d.x()+(f.x()-e.x()))/2,q=(b.y()-d.y()+(f.y()-e.y()))/2;j===!0&&l.graphs().at(0).doDrag(l,h,i,p,q,!1),j===!1&&(void 0===k.base&&(k.base={},k.base.x=h,k.base.y=i),void 0===k.zoomDeltas&&(k.zoomDeltas={dx:0,dy:0,totalx:0,totaly:0}),void 0===k.panDeltas&&(k.panDeltas={dx:0,dy:0}),k.zoomDeltas.dx+=m,k.zoomDeltas.dy+=o,k.panDeltas.dx+=p,k.panDeltas.dy+=q,k.zoomDeltas.totalx+=Math.abs(m),k.zoomDeltas.totaly+=Math.abs(o),void 0===c&&(c=setTimeout(function(){var a=k.base.x,b=k.base.y,d=k.zoomDeltas.dx,e=k.zoomDeltas.dy,f=k.panDeltas.dx,g=k.panDeltas.dy;l.graphs().at(0).doDragReset(),l.graphs().at(0).doFirstPinchZoom(l,a,b,d,e,k.zoomDeltas.totalx,k.zoomDeltas.totaly),l.graphs().at(0).doDrag(l,a,b,f,g,!1),k={},j=!0,clearTimeout(c),c=void 0},60))),d=b,e=f},u=function(a,b){return Math.abs(a-b)};m.on("touchstart",o),m.on("touchmove",p),m.on("touchend",q),m.on("touchleave",r)})})}),function(a){var b,c,d="0.3.4",e="hasOwnProperty",f=/[\.\/]/,g="*",h=function(){},i=function(a,b){return a-b},j={n:{}},k=function(a,d){var e,f=c,g=Array.prototype.slice.call(arguments,2),h=k.listeners(a),j=0,l=[],m={},n=[],o=b;b=a,c=0;for(var p=0,q=h.length;q>p;p++)"zIndex"in h[p]&&(l.push(h[p].zIndex),h[p].zIndex<0&&(m[h[p].zIndex]=h[p]));for(l.sort(i);l[j]<0;)if(e=m[l[j++]],n.push(e.apply(d,g)),c)return c=f,n;for(p=0;q>p;p++)if(e=h[p],"zIndex"in e)if(e.zIndex==l[j]){if(n.push(e.apply(d,g)),c)break;do if(j++,e=m[l[j]],e&&n.push(e.apply(d,g)),c)break;while(e)}else m[e.zIndex]=e;else if(n.push(e.apply(d,g)),c)break;return c=f,b=o,n.length?n:null};k.listeners=function(a){var b,c,d,e,h,i,k,l,m=a.split(f),n=j,o=[n],p=[];for(e=0,h=m.length;h>e;e++){for(l=[],i=0,k=o.length;k>i;i++)for(n=o[i].n,c=[n[m[e]],n[g]],d=2;d--;)b=c[d],b&&(l.push(b),p=p.concat(b.f||[]));o=l}return p},k.on=function(a,b){for(var c=a.split(f),d=j,e=0,g=c.length;g>e;e++)d=d.n,!d[c[e]]&&(d[c[e]]={n:{}}),d=d[c[e]];for(d.f=d.f||[],e=0,g=d.f.length;g>e;e++)if(d.f[e]==b)return h;return d.f.push(b),function(a){+a==+a&&(b.zIndex=+a)}},k.stop=function(){c=1},k.nt=function(a){return a?new RegExp("(?:\\.|\\/|^)"+a+"(?:\\.|\\/|$)").test(b):b},k.off=k.unbind=function(a,b){var c,d,h,i,k,l,m,n=a.split(f),o=[j];for(i=0,k=n.length;k>i;i++)for(l=0;li;i++)for(c=o[i];c.n;){if(b){if(c.f){for(l=0,m=c.f.length;m>l;l++)if(c.f[l]==b){c.f.splice(l,1);break}!c.f.length&&delete c.f}for(d in c.n)if(c.n[e](d)&&c.n[d].f){var p=c.n[d].f;for(l=0,m=p.length;m>l;l++)if(p[l]==b){p.splice(l,1);break}!p.length&&delete c.n[d].f}}else{delete c.f;for(d in c.n)c.n[e](d)&&c.n[d].f&&delete c.n[d].f}c=c.n}},k.once=function(a,b){var c=function(){var d=b.apply(this,arguments);return k.unbind(a,c),d};return k.on(a,c)},k.version=d,k.toString=function(){return"You are running Eve "+d},"undefined"!=typeof module&&module.exports?module.exports=k:"undefined"!=typeof define?define("eve",[],function(){return k}):a.eve=k}(this),function(){function a(b){if(a.is(b,"function"))return s?b():eve.on("raphael.DOMload",b);if(a.is(b,T))return a._engine.create[B](a,b.splice(0,3+a.is(b[0],R))).add(b);var c=Array.prototype.slice.call(arguments,0);if(a.is(c[c.length-1],"function")){var d=c.pop();return s?d.call(a._engine.create[B](a,c)):eve.on("raphael.DOMload",function(){d.call(a._engine.create[B](a,c)) -})}return a._engine.create[B](a,arguments)}function b(a){if(Object(a)!==a)return a;var c=new a.constructor;for(var d in a)a[x](d)&&(c[d]=b(a[d]));return c}function c(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return a.push(a.splice(c,1)[0])}function d(a,b,d){function e(){var f=Array.prototype.slice.call(arguments,0),g=f.join("␀"),h=e.cache=e.cache||{},i=e.count=e.count||[];return h[x](g)?(c(i,g),d?d(h[g]):h[g]):(i.length>=1e3&&delete h[i.shift()],i.push(g),h[g]=a[B](b,f),d?d(h[g]):h[g])}return e}function e(){return this.hex}function f(a,b){for(var c=[],d=0,e=a.length;e-2*!b>d;d+=2){var f=[{x:+a[d-2],y:+a[d-1]},{x:+a[d],y:+a[d+1]},{x:+a[d+2],y:+a[d+3]},{x:+a[d+4],y:+a[d+5]}];b?d?e-4==d?f[3]={x:+a[0],y:+a[1]}:e-2==d&&(f[2]={x:+a[0],y:+a[1]},f[3]={x:+a[2],y:+a[3]}):f[0]={x:+a[e-2],y:+a[e-1]}:e-4==d?f[3]=f[2]:d||(f[0]={x:+a[d],y:+a[d+1]}),c.push(["C",(-f[0].x+6*f[1].x+f[2].x)/6,(-f[0].y+6*f[1].y+f[2].y)/6,(f[1].x+6*f[2].x-f[3].x)/6,(f[1].y+6*f[2].y-f[3].y)/6,f[2].x,f[2].y])}return c}function g(a,b,c,d,e){var f=-3*b+9*c-9*d+3*e,g=a*f+6*b-12*c+6*d;return a*g-3*b+3*c}function h(a,b,c,d,e,f,h,i,j){null==j&&(j=1),j=j>1?1:0>j?0:j;for(var k=j/2,l=12,m=[-.1252,.1252,-.3678,.3678,-.5873,.5873,-.7699,.7699,-.9041,.9041,-.9816,.9816],n=[.2491,.2491,.2335,.2335,.2032,.2032,.1601,.1601,.1069,.1069,.0472,.0472],o=0,p=0;l>p;p++){var q=k*m[p]+k,r=g(q,a,c,e,h),s=g(q,b,d,f,i),t=r*r+s*s;o+=n[p]*L.sqrt(t)}return k*o}function i(a,b,c,d,e,f,g,i,j){if(!(0>j||h(a,b,c,d,e,f,g,i)o;)m/=2,n+=(j>k?1:-1)*m,k=h(a,b,c,d,e,f,g,i,n);return n}}function j(a,b,c,d,e,f,g,h){if(!(M(a,c)M(e,g)||M(b,d)M(f,h))){var i=(a*d-b*c)*(e-g)-(a-c)*(e*h-f*g),j=(a*d-b*c)*(f-h)-(b-d)*(e*h-f*g),k=(a-c)*(f-h)-(b-d)*(e-g);if(k){var l=i/k,m=j/k,n=+l.toFixed(2),o=+m.toFixed(2);if(!(n<+N(a,c).toFixed(2)||n>+M(a,c).toFixed(2)||n<+N(e,g).toFixed(2)||n>+M(e,g).toFixed(2)||o<+N(b,d).toFixed(2)||o>+M(b,d).toFixed(2)||o<+N(f,h).toFixed(2)||o>+M(f,h).toFixed(2)))return{x:l,y:m}}}}function k(b,c,d){var e=a.bezierBBox(b),f=a.bezierBBox(c);if(!a.isBBoxIntersect(e,f))return d?0:[];for(var g=h.apply(0,b),i=h.apply(0,c),k=~~(g/5),l=~~(i/5),m=[],n=[],o={},p=d?0:[],q=0;k+1>q;q++){var r=a.findDotsAtSegment.apply(a,b.concat(q/k));m.push({x:r.x,y:r.y,t:q/k})}for(q=0;l+1>q;q++)r=a.findDotsAtSegment.apply(a,c.concat(q/l)),n.push({x:r.x,y:r.y,t:q/l});for(q=0;k>q;q++)for(var s=0;l>s;s++){var t=m[q],u=m[q+1],v=n[s],w=n[s+1],x=O(u.x-t.x)<.001?"y":"x",y=O(w.x-v.x)<.001?"y":"x",z=j(t.x,t.y,u.x,u.y,v.x,v.y,w.x,w.y);if(z){if(o[z.x.toFixed(4)]==z.y.toFixed(4))continue;o[z.x.toFixed(4)]=z.y.toFixed(4);var A=t.t+O((z[x]-t[x])/(u[x]-t[x]))*(u.t-t.t),B=v.t+O((z[y]-v[y])/(w[y]-v[y]))*(w.t-v.t);A>=0&&1>=A&&B>=0&&1>=B&&(d?p++:p.push({x:z.x,y:z.y,t1:A,t2:B}))}}return p}function l(b,c,d){b=a._path2curve(b),c=a._path2curve(c);for(var e,f,g,h,i,j,l,m,n,o,p=d?0:[],q=0,r=b.length;r>q;q++){var s=b[q];if("M"==s[0])e=i=s[1],f=j=s[2];else{"C"==s[0]?(n=[e,f].concat(s.slice(1)),e=n[6],f=n[7]):(n=[e,f,e,f,i,j,i,j],e=i,f=j);for(var t=0,u=c.length;u>t;t++){var v=c[t];if("M"==v[0])g=l=v[1],h=m=v[2];else{"C"==v[0]?(o=[g,h].concat(v.slice(1)),g=o[6],h=o[7]):(o=[g,h,g,h,l,m,l,m],g=l,h=m);var w=k(n,o,d);if(d)p+=w;else{for(var x=0,y=w.length;y>x;x++)w[x].segment1=q,w[x].segment2=t,w[x].bez1=n,w[x].bez2=o;p=p.concat(w)}}}}}return p}function m(a,b,c,d,e,f){null!=a?(this.a=+a,this.b=+b,this.c=+c,this.d=+d,this.e=+e,this.f=+f):(this.a=1,this.b=0,this.c=0,this.d=1,this.e=0,this.f=0)}function n(){return this.x+F+this.y+F+this.width+" × "+this.height}function o(a,b,c,d,e,f){function g(a){return((l*a+k)*a+j)*a}function h(a,b){var c=i(a,b);return((o*c+n)*c+m)*c}function i(a,b){var c,d,e,f,h,i;for(e=a,i=0;8>i;i++){if(f=g(e)-a,O(f)e)return c;if(e>d)return d;for(;d>c;){if(f=g(e),O(f-a)f?c=e:d=e,e=(d-c)/2+c}return e}var j=3*b,k=3*(d-b)-j,l=1-j-k,m=3*c,n=3*(e-c)-m,o=1-m-n;return h(a,1/(200*f))}function p(a,b){var c=[],d={};if(this.ms=b,this.times=1,a){for(var e in a)a[x](e)&&(d[Z(e)]=a[e],c.push(Z(e)));c.sort(jb)}this.anim=d,this.top=c[c.length-1],this.percents=c}function q(b,c,d,e,f,g){d=Z(d);var h,i,j,k,l,n,p=b.ms,q={},r={},s={};if(e)for(v=0,w=fc.length;w>v;v++){var t=fc[v];if(t.el.id==c.id&&t.anim==b){t.percent!=d?(fc.splice(v,1),j=1):i=t,c.attr(t.totalOrigin);break}}else e=+r;for(var v=0,w=b.percents.length;w>v;v++){if(b.percents[v]==d||b.percents[v]>e*b.top){d=b.percents[v],l=b.percents[v-1]||0,p=p/b.top*(d-l),k=b.percents[v+1],h=b.anim[d];break}e&&c.attr(b.anim[b.percents[v]])}if(h){if(i)i.initstatus=e,i.start=new Date-i.ms*e;else{for(var y in h)if(h[x](y)&&(bb[x](y)||c.paper.customAttributes[x](y)))switch(q[y]=c.attr(y),null==q[y]&&(q[y]=ab[y]),r[y]=h[y],bb[y]){case R:s[y]=(r[y]-q[y])/p;break;case"colour":q[y]=a.getRGB(q[y]);var z=a.getRGB(r[y]);s[y]={r:(z.r-q[y].r)/p,g:(z.g-q[y].g)/p,b:(z.b-q[y].b)/p};break;case"path":var A=Ib(q[y],r[y]),B=A[1];for(q[y]=A[0],s[y]=[],v=0,w=q[y].length;w>v;v++){s[y][v]=[0];for(var D=1,E=q[y][v].length;E>D;D++)s[y][v][D]=(B[v][D]-q[y][v][D])/p}break;case"transform":var F=c._,I=Nb(F[y],r[y]);if(I)for(q[y]=I.from,r[y]=I.to,s[y]=[],s[y].real=!0,v=0,w=q[y].length;w>v;v++)for(s[y][v]=[q[y][v][0]],D=1,E=q[y][v].length;E>D;D++)s[y][v][D]=(r[y][v][D]-q[y][v][D])/p;else{var J=c.matrix||new m,K={_:{transform:F.transform},getBBox:function(){return c.getBBox(1)}};q[y]=[J.a,J.b,J.c,J.d,J.e,J.f],Lb(K,r[y]),r[y]=K._.transform,s[y]=[(K.matrix.a-J.a)/p,(K.matrix.b-J.b)/p,(K.matrix.c-J.c)/p,(K.matrix.d-J.d)/p,(K.matrix.e-J.e)/p,(K.matrix.f-J.f)/p]}break;case"csv":var L=G(h[y])[H](u),M=G(q[y])[H](u);if("clip-rect"==y)for(q[y]=M,s[y]=[],v=M.length;v--;)s[y][v]=(L[v]-q[y][v])/p;r[y]=L;break;default:for(L=[][C](h[y]),M=[][C](q[y]),s[y]=[],v=c.paper.customAttributes[y].length;v--;)s[y][v]=((L[v]||0)-(M[v]||0))/p}var N=h.easing,O=a.easing_formulas[N];if(!O)if(O=G(N).match(X),O&&5==O.length){var P=O;O=function(a){return o(a,+P[1],+P[2],+P[3],+P[4],p)}}else O=lb;if(n=h.start||b.start||+new Date,t={anim:b,percent:d,timestamp:n,start:n+(b.del||0),status:0,initstatus:e||0,stop:!1,ms:p,easing:O,from:q,diff:s,to:r,el:c,callback:h.callback,prev:l,next:k,repeat:g||b.times,origin:c.attr(),totalOrigin:f},fc.push(t),e&&!i&&!j&&(t.stop=!0,t.start=new Date-p*e,1==fc.length))return hc();j&&(t.start=new Date-t.ms*e),1==fc.length&&gc(hc)}eve("raphael.anim.start."+c.id,c,b)}}function r(a){for(var b=0;be;e++)for(i=a[e],f=1,h=i.length;h>f;f+=2)c=b.x(i[f],i[f+1]),d=b.y(i[f],i[f+1]),i[f]=c,i[f+1]=d;return a};if(a._g=y,a.type=y.win.SVGAngle||y.doc.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure","1.1")?"SVG":"VML","VML"==a.type){var qb,rb=y.doc.createElement("div");if(rb.innerHTML='',qb=rb.firstChild,qb.style.behavior="url(#default#VML)",!qb||"object"!=typeof qb.adj)return a.type=E;rb=null}a.svg=!(a.vml="VML"==a.type),a._Paper=A,a.fn=t=A.prototype=a.prototype,a._id=0,a._oid=0,a.is=function(a,b){return b=K.call(b),"finite"==b?!W[x](+a):"array"==b?a instanceof Array:"null"==b&&null===a||b==typeof a&&null!==a||"object"==b&&a===Object(a)||"array"==b&&Array.isArray&&Array.isArray(a)||U.call(a).slice(8,-1).toLowerCase()==b},a.angle=function(b,c,d,e,f,g){if(null==f){var h=b-d,i=c-e;return h||i?(180+180*L.atan2(-i,-h)/Q+360)%360:0}return a.angle(b,c,f,g)-a.angle(d,e,f,g)},a.rad=function(a){return a%360*Q/180},a.deg=function(a){return 180*a/Q%360},a.snapTo=function(b,c,d){if(d=a.is(d,"finite")?d:10,a.is(b,T)){for(var e=b.length;e--;)if(O(b[e]-c)<=d)return b[e]}else{b=+b;var f=c%b;if(d>f)return c-f;if(f>b-d)return c-f+b}return c};a.createUUID=function(a,b){return function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(a,b).toUpperCase()}}(/[xy]/g,function(a){var b=16*L.random()|0,c="x"==a?b:3&b|8;return c.toString(16)});a.setWindow=function(b){eve("raphael.setWindow",a,y.win,b),y.win=b,y.doc=y.win.document,a._engine.initWin&&a._engine.initWin(y.win)};var sb=function(b){if(a.vml){var c,e=/^\s+|\s+$/g;try{var f=new ActiveXObject("htmlfile");f.write(""),f.close(),c=f.body}catch(g){c=createPopup().document.body}var h=c.createTextRange();sb=d(function(a){try{c.style.color=G(a).replace(e,E);var b=h.queryCommandValue("ForeColor");return b=(255&b)<<16|65280&b|(16711680&b)>>>16,"#"+("000000"+b.toString(16)).slice(-6)}catch(d){return"none"}})}else{var i=y.doc.createElement("i");i.title="Raphaël Colour Picker",i.style.display="none",y.doc.body.appendChild(i),sb=d(function(a){return i.style.color=a,y.doc.defaultView.getComputedStyle(i,E).getPropertyValue("color")})}return sb(b)},tb=function(){return"hsb("+[this.h,this.s,this.b]+")"},ub=function(){return"hsl("+[this.h,this.s,this.l]+")"},vb=function(){return this.hex},wb=function(b,c,d){if(null==c&&a.is(b,"object")&&"r"in b&&"g"in b&&"b"in b&&(d=b.b,c=b.g,b=b.r),null==c&&a.is(b,S)){var e=a.getRGB(b);b=e.r,c=e.g,d=e.b}return(b>1||c>1||d>1)&&(b/=255,c/=255,d/=255),[b,c,d]},xb=function(b,c,d,e){b*=255,c*=255,d*=255;var f={r:b,g:c,b:d,hex:a.rgb(b,c,d),toString:vb};return a.is(e,"finite")&&(f.opacity=e),f};a.color=function(b){var c;return a.is(b,"object")&&"h"in b&&"s"in b&&"b"in b?(c=a.hsb2rgb(b),b.r=c.r,b.g=c.g,b.b=c.b,b.hex=c.hex):a.is(b,"object")&&"h"in b&&"s"in b&&"l"in b?(c=a.hsl2rgb(b),b.r=c.r,b.g=c.g,b.b=c.b,b.hex=c.hex):(a.is(b,"string")&&(b=a.getRGB(b)),a.is(b,"object")&&"r"in b&&"g"in b&&"b"in b?(c=a.rgb2hsl(b),b.h=c.h,b.s=c.s,b.l=c.l,c=a.rgb2hsb(b),b.v=c.b):(b={hex:"none"},b.r=b.g=b.b=b.h=b.s=b.v=b.l=-1)),b.toString=vb,b},a.hsb2rgb=function(a,b,c,d){this.is(a,"object")&&"h"in a&&"s"in a&&"b"in a&&(c=a.b,b=a.s,a=a.h,d=a.o),a*=360;var e,f,g,h,i;return a=a%360/60,i=c*b,h=i*(1-O(a%2-1)),e=f=g=c-i,a=~~a,e+=[i,h,0,0,h,i][a],f+=[h,i,i,h,0,0][a],g+=[0,0,h,i,i,h][a],xb(e,f,g,d)},a.hsl2rgb=function(a,b,c,d){this.is(a,"object")&&"h"in a&&"s"in a&&"l"in a&&(c=a.l,b=a.s,a=a.h),(a>1||b>1||c>1)&&(a/=360,b/=100,c/=100),a*=360;var e,f,g,h,i;return a=a%360/60,i=2*b*(.5>c?c:1-c),h=i*(1-O(a%2-1)),e=f=g=c-i/2,a=~~a,e+=[i,h,0,0,h,i][a],f+=[h,i,i,h,0,0][a],g+=[0,0,h,i,i,h][a],xb(e,f,g,d)},a.rgb2hsb=function(a,b,c){c=wb(a,b,c),a=c[0],b=c[1],c=c[2];var d,e,f,g;return f=M(a,b,c),g=f-N(a,b,c),d=0==g?null:f==a?(b-c)/g:f==b?(c-a)/g+2:(a-b)/g+4,d=(d+360)%6*60/360,e=0==g?0:g/f,{h:d,s:e,b:f,toString:tb}},a.rgb2hsl=function(a,b,c){c=wb(a,b,c),a=c[0],b=c[1],c=c[2];var d,e,f,g,h,i;return g=M(a,b,c),h=N(a,b,c),i=g-h,d=0==i?null:g==a?(b-c)/i:g==b?(c-a)/i+2:(a-b)/i+4,d=(d+360)%6*60/360,f=(g+h)/2,e=0==i?0:.5>f?i/(2*f):i/(2-2*f),{h:d,s:e,l:f,toString:ub}},a._path2string=function(){return this.join(",").replace(eb,"$1")};a._preload=function(a,b){var c=y.doc.createElement("img");c.style.cssText="position:absolute;left:-9999em;top:-9999em",c.onload=function(){b.call(this),this.onload=null,y.doc.body.removeChild(this)},c.onerror=function(){y.doc.body.removeChild(this)},y.doc.body.appendChild(c),c.src=a};a.getRGB=d(function(b){if(!b||(b=G(b)).indexOf("-")+1)return{r:-1,g:-1,b:-1,hex:"none",error:1,toString:e};if("none"==b)return{r:-1,g:-1,b:-1,hex:"none",toString:e};!(db[x](b.toLowerCase().substring(0,2))||"#"==b.charAt())&&(b=sb(b));var c,d,f,g,h,i,j=b.match(V);return j?(j[2]&&(f=$(j[2].substring(5),16),d=$(j[2].substring(3,5),16),c=$(j[2].substring(1,3),16)),j[3]&&(f=$((h=j[3].charAt(3))+h,16),d=$((h=j[3].charAt(2))+h,16),c=$((h=j[3].charAt(1))+h,16)),j[4]&&(i=j[4][H](cb),c=Z(i[0]),"%"==i[0].slice(-1)&&(c*=2.55),d=Z(i[1]),"%"==i[1].slice(-1)&&(d*=2.55),f=Z(i[2]),"%"==i[2].slice(-1)&&(f*=2.55),"rgba"==j[1].toLowerCase().slice(0,4)&&(g=Z(i[3])),i[3]&&"%"==i[3].slice(-1)&&(g/=100)),j[5]?(i=j[5][H](cb),c=Z(i[0]),"%"==i[0].slice(-1)&&(c*=2.55),d=Z(i[1]),"%"==i[1].slice(-1)&&(d*=2.55),f=Z(i[2]),"%"==i[2].slice(-1)&&(f*=2.55),("deg"==i[0].slice(-3)||"°"==i[0].slice(-1))&&(c/=360),"hsba"==j[1].toLowerCase().slice(0,4)&&(g=Z(i[3])),i[3]&&"%"==i[3].slice(-1)&&(g/=100),a.hsb2rgb(c,d,f,g)):j[6]?(i=j[6][H](cb),c=Z(i[0]),"%"==i[0].slice(-1)&&(c*=2.55),d=Z(i[1]),"%"==i[1].slice(-1)&&(d*=2.55),f=Z(i[2]),"%"==i[2].slice(-1)&&(f*=2.55),("deg"==i[0].slice(-3)||"°"==i[0].slice(-1))&&(c/=360),"hsla"==j[1].toLowerCase().slice(0,4)&&(g=Z(i[3])),i[3]&&"%"==i[3].slice(-1)&&(g/=100),a.hsl2rgb(c,d,f,g)):(j={r:c,g:d,b:f,toString:e},j.hex="#"+(16777216|f|d<<8|c<<16).toString(16).slice(1),a.is(g,"finite")&&(j.opacity=g),j)):{r:-1,g:-1,b:-1,hex:"none",error:1,toString:e}},a),a.hsb=d(function(b,c,d){return a.hsb2rgb(b,c,d).hex}),a.hsl=d(function(b,c,d){return a.hsl2rgb(b,c,d).hex}),a.rgb=d(function(a,b,c){return"#"+(16777216|c|b<<8|a<<16).toString(16).slice(1)}),a.getColor=function(a){var b=this.getColor.start=this.getColor.start||{h:0,s:1,b:a||.75},c=this.hsb2rgb(b.h,b.s,b.b);return b.h+=.075,b.h>1&&(b.h=0,b.s-=.2,b.s<=0&&(this.getColor.start={h:0,s:1,b:b.b})),c.hex},a.getColor.reset=function(){delete this.start},a.parsePathString=function(b){if(!b)return null;var c=yb(b);if(c.arr)return Ab(c.arr);var d={a:7,c:6,h:1,l:2,m:2,r:4,q:4,s:4,t:2,v:1,z:0},e=[];return a.is(b,T)&&a.is(b[0],T)&&(e=Ab(b)),e.length||G(b).replace(fb,function(a,b,c){var f=[],g=b.toLowerCase();if(c.replace(hb,function(a,b){b&&f.push(+b)}),"m"==g&&f.length>2&&(e.push([b][C](f.splice(0,2))),g="l",b="m"==b?"l":"L"),"r"==g)e.push([b][C](f));else for(;f.length>=d[g]&&(e.push([b][C](f.splice(0,d[g]))),d[g]););}),e.toString=a._path2string,c.arr=Ab(e),e},a.parseTransformString=d(function(b){if(!b)return null;var c=[];return a.is(b,T)&&a.is(b[0],T)&&(c=Ab(b)),c.length||G(b).replace(gb,function(a,b,d){{var e=[];K.call(b)}d.replace(hb,function(a,b){b&&e.push(+b)}),c.push([b][C](e))}),c.toString=a._path2string,c});var yb=function(a){var b=yb.ps=yb.ps||{};return b[a]?b[a].sleep=100:b[a]={sleep:100},setTimeout(function(){for(var c in b)b[x](c)&&c!=a&&(b[c].sleep--,!b[c].sleep&&delete b[c])}),b[a]};a.findDotsAtSegment=function(a,b,c,d,e,f,g,h,i){var j=1-i,k=P(j,3),l=P(j,2),m=i*i,n=m*i,o=k*a+3*l*i*c+3*j*i*i*e+n*g,p=k*b+3*l*i*d+3*j*i*i*f+n*h,q=a+2*i*(c-a)+m*(e-2*c+a),r=b+2*i*(d-b)+m*(f-2*d+b),s=c+2*i*(e-c)+m*(g-2*e+c),t=d+2*i*(f-d)+m*(h-2*f+d),u=j*a+i*c,v=j*b+i*d,w=j*e+i*g,x=j*f+i*h,y=90-180*L.atan2(q-s,r-t)/Q;return(q>s||t>r)&&(y+=180),{x:o,y:p,m:{x:q,y:r},n:{x:s,y:t},start:{x:u,y:v},end:{x:w,y:x},alpha:y}},a.bezierBBox=function(b,c,d,e,f,g,h,i){a.is(b,"array")||(b=[b,c,d,e,f,g,h,i]);var j=Hb.apply(null,b);return{x:j.min.x,y:j.min.y,x2:j.max.x,y2:j.max.y,width:j.max.x-j.min.x,height:j.max.y-j.min.y}},a.isPointInsideBBox=function(a,b,c){return b>=a.x&&b<=a.x2&&c>=a.y&&c<=a.y2},a.isBBoxIntersect=function(b,c){var d=a.isPointInsideBBox;return d(c,b.x,b.y)||d(c,b.x2,b.y)||d(c,b.x,b.y2)||d(c,b.x2,b.y2)||d(b,c.x,c.y)||d(b,c.x2,c.y)||d(b,c.x,c.y2)||d(b,c.x2,c.y2)||(b.xc.x||c.xb.x)&&(b.yc.y||c.yb.y)},a.pathIntersection=function(a,b){return l(a,b)},a.pathIntersectionNumber=function(a,b){return l(a,b,1)},a.isPointInsidePath=function(b,c,d){var e=a.pathBBox(b);return a.isPointInsideBBox(e,c,d)&&l(b,[["M",c,d],["H",e.x2+10]],1)%2==1},a._removedFactory=function(a){return function(){eve("raphael.log",null,"Raphaël: you are calling to method “"+a+"” of removed object",a)}};var zb=a.pathBBox=function(a){var c=yb(a);if(c.bbox)return c.bbox;if(!a)return{x:0,y:0,width:0,height:0,x2:0,y2:0};a=Ib(a);for(var d,e=0,f=0,g=[],h=[],i=0,j=a.length;j>i;i++)if(d=a[i],"M"==d[0])e=d[1],f=d[2],g.push(e),h.push(f);else{var k=Hb(e,f,d[1],d[2],d[3],d[4],d[5],d[6]);g=g[C](k.min.x,k.max.x),h=h[C](k.min.y,k.max.y),e=d[5],f=d[6]}var l=N[B](0,g),m=N[B](0,h),n=M[B](0,g),o=M[B](0,h),p={x:l,y:m,x2:n,y2:o,width:n-l,height:o-m};return c.bbox=b(p),p},Ab=function(c){var d=b(c);return d.toString=a._path2string,d},Bb=a._pathToRelative=function(b){var c=yb(b);if(c.rel)return Ab(c.rel);a.is(b,T)&&a.is(b&&b[0],T)||(b=a.parsePathString(b));var d=[],e=0,f=0,g=0,h=0,i=0;"M"==b[0][0]&&(e=b[0][1],f=b[0][2],g=e,h=f,i++,d.push(["M",e,f]));for(var j=i,k=b.length;k>j;j++){var l=d[j]=[],m=b[j];if(m[0]!=K.call(m[0]))switch(l[0]=K.call(m[0]),l[0]){case"a":l[1]=m[1],l[2]=m[2],l[3]=m[3],l[4]=m[4],l[5]=m[5],l[6]=+(m[6]-e).toFixed(3),l[7]=+(m[7]-f).toFixed(3);break;case"v":l[1]=+(m[1]-f).toFixed(3);break;case"m":g=m[1],h=m[2];default:for(var n=1,o=m.length;o>n;n++)l[n]=+(m[n]-(n%2?e:f)).toFixed(3)}else{l=d[j]=[],"m"==m[0]&&(g=m[1]+e,h=m[2]+f);for(var p=0,q=m.length;q>p;p++)d[j][p]=m[p]}var r=d[j].length;switch(d[j][0]){case"z":e=g,f=h;break;case"h":e+=+d[j][r-1];break;case"v":f+=+d[j][r-1];break;default:e+=+d[j][r-2],f+=+d[j][r-1]}}return d.toString=a._path2string,c.rel=Ab(d),d},Cb=a._pathToAbsolute=function(b){var c=yb(b);if(c.abs)return Ab(c.abs);if(a.is(b,T)&&a.is(b&&b[0],T)||(b=a.parsePathString(b)),!b||!b.length)return[["M",0,0]];var d=[],e=0,g=0,h=0,i=0,j=0;"M"==b[0][0]&&(e=+b[0][1],g=+b[0][2],h=e,i=g,j++,d[0]=["M",e,g]);for(var k,l,m=3==b.length&&"M"==b[0][0]&&"R"==b[1][0].toUpperCase()&&"Z"==b[2][0].toUpperCase(),n=j,o=b.length;o>n;n++){if(d.push(k=[]),l=b[n],l[0]!=_.call(l[0]))switch(k[0]=_.call(l[0]),k[0]){case"A":k[1]=l[1],k[2]=l[2],k[3]=l[3],k[4]=l[4],k[5]=l[5],k[6]=+(l[6]+e),k[7]=+(l[7]+g);break;case"V":k[1]=+l[1]+g;break;case"H":k[1]=+l[1]+e;break;case"R":for(var p=[e,g][C](l.slice(1)),q=2,r=p.length;r>q;q++)p[q]=+p[q]+e,p[++q]=+p[q]+g;d.pop(),d=d[C](f(p,m));break;case"M":h=+l[1]+e,i=+l[2]+g;default:for(q=1,r=l.length;r>q;q++)k[q]=+l[q]+(q%2?e:g)}else if("R"==l[0])p=[e,g][C](l.slice(1)),d.pop(),d=d[C](f(p,m)),k=["R"][C](l.slice(-2));else for(var s=0,t=l.length;t>s;s++)k[s]=l[s];switch(k[0]){case"Z":e=h,g=i;break;case"H":e=k[1];break;case"V":g=k[1];break;case"M":h=k[k.length-2],i=k[k.length-1];default:e=k[k.length-2],g=k[k.length-1]}}return d.toString=a._path2string,c.abs=Ab(d),d},Db=function(a,b,c,d){return[a,b,c,d,c,d]},Eb=function(a,b,c,d,e,f){var g=1/3,h=2/3;return[g*a+h*c,g*b+h*d,g*e+h*c,g*f+h*d,e,f]},Fb=function(a,b,c,e,f,g,h,i,j,k){var l,m=120*Q/180,n=Q/180*(+f||0),o=[],p=d(function(a,b,c){var d=a*L.cos(c)-b*L.sin(c),e=a*L.sin(c)+b*L.cos(c);return{x:d,y:e}});if(k)y=k[0],z=k[1],w=k[2],x=k[3];else{l=p(a,b,-n),a=l.x,b=l.y,l=p(i,j,-n),i=l.x,j=l.y;var q=(L.cos(Q/180*f),L.sin(Q/180*f),(a-i)/2),r=(b-j)/2,s=q*q/(c*c)+r*r/(e*e);s>1&&(s=L.sqrt(s),c=s*c,e=s*e);var t=c*c,u=e*e,v=(g==h?-1:1)*L.sqrt(O((t*u-t*r*r-u*q*q)/(t*r*r+u*q*q))),w=v*c*r/e+(a+i)/2,x=v*-e*q/c+(b+j)/2,y=L.asin(((b-x)/e).toFixed(9)),z=L.asin(((j-x)/e).toFixed(9));y=w>a?Q-y:y,z=w>i?Q-z:z,0>y&&(y=2*Q+y),0>z&&(z=2*Q+z),h&&y>z&&(y-=2*Q),!h&&z>y&&(z-=2*Q)}var A=z-y;if(O(A)>m){var B=z,D=i,E=j;z=y+m*(h&&z>y?1:-1),i=w+c*L.cos(z),j=x+e*L.sin(z),o=Fb(i,j,c,e,f,0,h,D,E,[z,B,w,x])}A=z-y;var F=L.cos(y),G=L.sin(y),I=L.cos(z),J=L.sin(z),K=L.tan(A/4),M=4/3*c*K,N=4/3*e*K,P=[a,b],R=[a+M*G,b-N*F],S=[i+M*J,j-N*I],T=[i,j];if(R[0]=2*P[0]-R[0],R[1]=2*P[1]-R[1],k)return[R,S,T][C](o);o=[R,S,T][C](o).join()[H](",");for(var U=[],V=0,W=o.length;W>V;V++)U[V]=V%2?p(o[V-1],o[V],n).y:p(o[V],o[V+1],n).x;return U},Gb=function(a,b,c,d,e,f,g,h,i){var j=1-i;return{x:P(j,3)*a+3*P(j,2)*i*c+3*j*i*i*e+P(i,3)*g,y:P(j,3)*b+3*P(j,2)*i*d+3*j*i*i*f+P(i,3)*h}},Hb=d(function(a,b,c,d,e,f,g,h){var i,j=e-2*c+a-(g-2*e+c),k=2*(c-a)-2*(e-c),l=a-c,m=(-k+L.sqrt(k*k-4*j*l))/2/j,n=(-k-L.sqrt(k*k-4*j*l))/2/j,o=[b,h],p=[a,g];return O(m)>"1e12"&&(m=.5),O(n)>"1e12"&&(n=.5),m>0&&1>m&&(i=Gb(a,b,c,d,e,f,g,h,m),p.push(i.x),o.push(i.y)),n>0&&1>n&&(i=Gb(a,b,c,d,e,f,g,h,n),p.push(i.x),o.push(i.y)),j=f-2*d+b-(h-2*f+d),k=2*(d-b)-2*(f-d),l=b-d,m=(-k+L.sqrt(k*k-4*j*l))/2/j,n=(-k-L.sqrt(k*k-4*j*l))/2/j,O(m)>"1e12"&&(m=.5),O(n)>"1e12"&&(n=.5),m>0&&1>m&&(i=Gb(a,b,c,d,e,f,g,h,m),p.push(i.x),o.push(i.y)),n>0&&1>n&&(i=Gb(a,b,c,d,e,f,g,h,n),p.push(i.x),o.push(i.y)),{min:{x:N[B](0,p),y:N[B](0,o)},max:{x:M[B](0,p),y:M[B](0,o)}}}),Ib=a._path2curve=d(function(a,b){var c=!b&&yb(a);if(!b&&c.curve)return Ab(c.curve);for(var d=Cb(a),e=b&&Cb(b),f={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},g={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},h=(function(a,b){var c,d;if(!a)return["C",b.x,b.y,b.x,b.y,b.x,b.y];switch(!(a[0]in{T:1,Q:1})&&(b.qx=b.qy=null),a[0]){case"M":b.X=a[1],b.Y=a[2];break;case"A":a=["C"][C](Fb[B](0,[b.x,b.y][C](a.slice(1))));break;case"S":c=b.x+(b.x-(b.bx||b.x)),d=b.y+(b.y-(b.by||b.y)),a=["C",c,d][C](a.slice(1));break;case"T":b.qx=b.x+(b.x-(b.qx||b.x)),b.qy=b.y+(b.y-(b.qy||b.y)),a=["C"][C](Eb(b.x,b.y,b.qx,b.qy,a[1],a[2]));break;case"Q":b.qx=a[1],b.qy=a[2],a=["C"][C](Eb(b.x,b.y,a[1],a[2],a[3],a[4]));break;case"L":a=["C"][C](Db(b.x,b.y,a[1],a[2]));break;case"H":a=["C"][C](Db(b.x,b.y,a[1],b.y));break;case"V":a=["C"][C](Db(b.x,b.y,b.x,a[1]));break;case"Z":a=["C"][C](Db(b.x,b.y,b.X,b.Y))}return a}),i=function(a,b){if(a[b].length>7){a[b].shift();for(var c=a[b];c.length;)a.splice(b++,0,["C"][C](c.splice(0,6)));a.splice(b,1),l=M(d.length,e&&e.length||0)}},j=function(a,b,c,f,g){a&&b&&"M"==a[g][0]&&"M"!=b[g][0]&&(b.splice(g,0,["M",f.x,f.y]),c.bx=0,c.by=0,c.x=a[g][1],c.y=a[g][2],l=M(d.length,e&&e.length||0))},k=0,l=M(d.length,e&&e.length||0);l>k;k++){d[k]=h(d[k],f),i(d,k),e&&(e[k]=h(e[k],g)),e&&i(e,k),j(d,e,f,g,k),j(e,d,g,f,k);var m=d[k],n=e&&e[k],o=m.length,p=e&&n.length;f.x=m[o-2],f.y=m[o-1],f.bx=Z(m[o-4])||f.x,f.by=Z(m[o-3])||f.y,g.bx=e&&(Z(n[p-4])||g.x),g.by=e&&(Z(n[p-3])||g.y),g.x=e&&n[p-2],g.y=e&&n[p-1]}return e||(c.curve=Ab(d)),e?[d,e]:d},null,Ab),Jb=(a._parseDots=d(function(b){for(var c=[],d=0,e=b.length;e>d;d++){var f={},g=b[d].match(/^([^:]*):?([\d\.]*)/);if(f.color=a.getRGB(g[1]),f.color.error)return null;f.color=f.color.hex,g[2]&&(f.offset=g[2]+"%"),c.push(f)}for(d=1,e=c.length-1;e>d;d++)if(!c[d].offset){for(var h=Z(c[d-1].offset||0),i=0,j=d+1;e>j;j++)if(c[j].offset){i=c[j].offset;break}i||(i=100,j=e),i=Z(i);for(var k=(i-h)/(j-d+1);j>d;d++)h+=k,c[d].offset=h+"%"}return c}),a._tear=function(a,b){a==b.top&&(b.top=a.prev),a==b.bottom&&(b.bottom=a.next),a.next&&(a.next.prev=a.prev),a.prev&&(a.prev.next=a.next)}),Kb=(a._tofront=function(a,b){b.top!==a&&(Jb(a,b),a.next=null,a.prev=b.top,b.top.next=a,b.top=a)},a._toback=function(a,b){b.bottom!==a&&(Jb(a,b),a.next=b.bottom,a.prev=null,b.bottom.prev=a,b.bottom=a)},a._insertafter=function(a,b,c){Jb(a,c),b==c.top&&(c.top=a),b.next&&(b.next.prev=a),a.next=b.next,a.prev=b,b.next=a},a._insertbefore=function(a,b,c){Jb(a,c),b==c.bottom&&(c.bottom=a),b.prev&&(b.prev.next=a),a.prev=b.prev,b.prev=a,a.next=b},a.toMatrix=function(a,b){var c=zb(a),d={_:{transform:E},getBBox:function(){return c}};return Lb(d,b),d.matrix}),Lb=(a.transformPath=function(a,b){return pb(a,Kb(a,b))},a._extractTransform=function(b,c){if(null==c)return b._.transform;c=G(c).replace(/\.{3}|\u2026/g,b._.transform||E);var d=a.parseTransformString(c),e=0,f=0,g=0,h=1,i=1,j=b._,k=new m;if(j.transform=d||[],d)for(var l=0,n=d.length;n>l;l++){var o,p,q,r,s,t=d[l],u=t.length,v=G(t[0]).toLowerCase(),w=t[0]!=v,x=w?k.invert():0;"t"==v&&3==u?w?(o=x.x(0,0),p=x.y(0,0),q=x.x(t[1],t[2]),r=x.y(t[1],t[2]),k.translate(q-o,r-p)):k.translate(t[1],t[2]):"r"==v?2==u?(s=s||b.getBBox(1),k.rotate(t[1],s.x+s.width/2,s.y+s.height/2),e+=t[1]):4==u&&(w?(q=x.x(t[2],t[3]),r=x.y(t[2],t[3]),k.rotate(t[1],q,r)):k.rotate(t[1],t[2],t[3]),e+=t[1]):"s"==v?2==u||3==u?(s=s||b.getBBox(1),k.scale(t[1],t[u-1],s.x+s.width/2,s.y+s.height/2),h*=t[1],i*=t[u-1]):5==u&&(w?(q=x.x(t[3],t[4]),r=x.y(t[3],t[4]),k.scale(t[1],t[2],q,r)):k.scale(t[1],t[2],t[3],t[4]),h*=t[1],i*=t[2]):"m"==v&&7==u&&k.add(t[1],t[2],t[3],t[4],t[5],t[6]),j.dirtyT=1,b.matrix=k}b.matrix=k,j.sx=h,j.sy=i,j.deg=e,j.dx=f=k.e,j.dy=g=k.f,1==h&&1==i&&!e&&j.bbox?(j.bbox.x+=+f,j.bbox.y+=+g):j.dirtyT=1}),Mb=function(a){var b=a[0];switch(b.toLowerCase()){case"t":return[b,0,0];case"m":return[b,1,0,0,1,0,0];case"r":return 4==a.length?[b,0,a[2],a[3]]:[b,0];case"s":return 5==a.length?[b,1,1,a[3],a[4]]:3==a.length?[b,1,1]:[b,1]}},Nb=a._equaliseTransform=function(b,c){c=G(c).replace(/\.{3}|\u2026/g,b),b=a.parseTransformString(b)||[],c=a.parseTransformString(c)||[];for(var d,e,f,g,h=M(b.length,c.length),i=[],j=[],k=0;h>k;k++){if(f=b[k]||Mb(c[k]),g=c[k]||Mb(f),f[0]!=g[0]||"r"==f[0].toLowerCase()&&(f[2]!=g[2]||f[3]!=g[3])||"s"==f[0].toLowerCase()&&(f[3]!=g[3]||f[4]!=g[4]))return;for(i[k]=[],j[k]=[],d=0,e=M(f.length,g.length);e>d;d++)d in f&&(i[k][d]=f[d]),d in g&&(j[k][d]=g[d])}return{from:i,to:j}};a._getContainer=function(b,c,d,e){var f;return f=null!=e||a.is(b,"object")?b:y.doc.getElementById(b),null!=f?f.tagName?null==c?{container:f,width:f.style.pixelWidth||f.offsetWidth,height:f.style.pixelHeight||f.offsetHeight}:{container:f,width:c,height:d}:{container:1,x:b,y:c,width:d,height:e}:void 0},a.pathToRelative=Bb,a._engine={},a.path2curve=Ib,a.matrix=function(a,b,c,d,e,f){return new m(a,b,c,d,e,f)},function(b){function c(a){return a[0]*a[0]+a[1]*a[1]}function d(a){var b=L.sqrt(c(a));a[0]&&(a[0]/=b),a[1]&&(a[1]/=b)}b.add=function(a,b,c,d,e,f){var g,h,i,j,k=[[],[],[]],l=[[this.a,this.c,this.e],[this.b,this.d,this.f],[0,0,1]],n=[[a,c,e],[b,d,f],[0,0,1]];for(a&&a instanceof m&&(n=[[a.a,a.c,a.e],[a.b,a.d,a.f],[0,0,1]]),g=0;3>g;g++)for(h=0;3>h;h++){for(j=0,i=0;3>i;i++)j+=l[g][i]*n[i][h];k[g][h]=j}this.a=k[0][0],this.b=k[1][0],this.c=k[0][1],this.d=k[1][1],this.e=k[0][2],this.f=k[1][2]},b.invert=function(){var a=this,b=a.a*a.d-a.b*a.c;return new m(a.d/b,-a.b/b,-a.c/b,a.a/b,(a.c*a.f-a.d*a.e)/b,(a.b*a.e-a.a*a.f)/b)},b.clone=function(){return new m(this.a,this.b,this.c,this.d,this.e,this.f)},b.translate=function(a,b){this.add(1,0,0,1,a,b)},b.scale=function(a,b,c,d){null==b&&(b=a),(c||d)&&this.add(1,0,0,1,c,d),this.add(a,0,0,b,0,0),(c||d)&&this.add(1,0,0,1,-c,-d)},b.rotate=function(b,c,d){b=a.rad(b),c=c||0,d=d||0;var e=+L.cos(b).toFixed(9),f=+L.sin(b).toFixed(9);this.add(e,f,-f,e,c,d),this.add(1,0,0,1,-c,-d)},b.x=function(a,b){return a*this.a+b*this.c+this.e},b.y=function(a,b){return a*this.b+b*this.d+this.f},b.get=function(a){return+this[G.fromCharCode(97+a)].toFixed(4)},b.toString=function(){return a.svg?"matrix("+[this.get(0),this.get(1),this.get(2),this.get(3),this.get(4),this.get(5)].join()+")":[this.get(0),this.get(2),this.get(1),this.get(3),0,0].join()},b.toFilter=function(){return"progid:DXImageTransform.Microsoft.Matrix(M11="+this.get(0)+", M12="+this.get(2)+", M21="+this.get(1)+", M22="+this.get(3)+", Dx="+this.get(4)+", Dy="+this.get(5)+", sizingmethod='auto expand')"},b.offset=function(){return[this.e.toFixed(4),this.f.toFixed(4)]},b.split=function(){var b={};b.dx=this.e,b.dy=this.f;var e=[[this.a,this.c],[this.b,this.d]];b.scalex=L.sqrt(c(e[0])),d(e[0]),b.shear=e[0][0]*e[1][0]+e[0][1]*e[1][1],e[1]=[e[1][0]-e[0][0]*b.shear,e[1][1]-e[0][1]*b.shear],b.scaley=L.sqrt(c(e[1])),d(e[1]),b.shear/=b.scaley;var f=-e[0][1],g=e[1][1];return 0>g?(b.rotate=a.deg(L.acos(g)),0>f&&(b.rotate=360-b.rotate)):b.rotate=a.deg(L.asin(f)),b.isSimple=!(+b.shear.toFixed(9)||b.scalex.toFixed(9)!=b.scaley.toFixed(9)&&b.rotate),b.isSuperSimple=!+b.shear.toFixed(9)&&b.scalex.toFixed(9)==b.scaley.toFixed(9)&&!b.rotate,b.noRotation=!+b.shear.toFixed(9)&&!b.rotate,b},b.toTransformString=function(a){var b=a||this[H]();return b.isSimple?(b.scalex=+b.scalex.toFixed(4),b.scaley=+b.scaley.toFixed(4),b.rotate=+b.rotate.toFixed(4),(b.dx||b.dy?"t"+[b.dx,b.dy]:E)+(1!=b.scalex||1!=b.scaley?"s"+[b.scalex,b.scaley,0,0]:E)+(b.rotate?"r"+[b.rotate,0,0]:E)):"m"+[this.get(0),this.get(1),this.get(2),this.get(3),this.get(4),this.get(5)] -}}(m.prototype);var Ob=navigator.userAgent.match(/Version\/(.*?)\s/)||navigator.userAgent.match(/Chrome\/(\d+)/);t.safari="Apple Computer, Inc."==navigator.vendor&&(Ob&&Ob[1]<4||"iP"==navigator.platform.slice(0,2))||"Google Inc."==navigator.vendor&&Ob&&Ob[1]<8?function(){var a=this.rect(-99,-99,this.width+99,this.height+99).attr({stroke:"none"});setTimeout(function(){a.remove()})}:kb;for(var Pb=function(){this.returnValue=!1},Qb=function(){return this.originalEvent.preventDefault()},Rb=function(){this.cancelBubble=!0},Sb=function(){return this.originalEvent.stopPropagation()},Tb=function(){return y.doc.addEventListener?function(a,b,c,d){var e=D&&J[b]?J[b]:b,f=function(e){var f=y.doc.documentElement.scrollTop||y.doc.body.scrollTop,g=y.doc.documentElement.scrollLeft||y.doc.body.scrollLeft,h=e.clientX+g,i=e.clientY+f;if(D&&J[x](b))for(var j=0,k=e.targetTouches&&e.targetTouches.length;k>j;j++)if(e.targetTouches[j].target==a){var l=e;e=e.targetTouches[j],e.originalEvent=l,e.preventDefault=Qb,e.stopPropagation=Sb;break}return c.call(d,e,h,i)};return a.addEventListener(e,f,!1),function(){return a.removeEventListener(e,f,!1),!0}}:y.doc.attachEvent?function(a,b,c,d){var e=function(a){a=a||y.win.event;var b=y.doc.documentElement.scrollTop||y.doc.body.scrollTop,e=y.doc.documentElement.scrollLeft||y.doc.body.scrollLeft,f=a.clientX+e,g=a.clientY+b;return a.preventDefault=a.preventDefault||Pb,a.stopPropagation=a.stopPropagation||Rb,c.call(d,a,f,g)};a.attachEvent("on"+b,e);var f=function(){return a.detachEvent("on"+b,e),!0};return f}:void 0}(),Ub=[],Vb=function(a){for(var b,c=a.clientX,d=a.clientY,e=y.doc.documentElement.scrollTop||y.doc.body.scrollTop,f=y.doc.documentElement.scrollLeft||y.doc.body.scrollLeft,g=Ub.length;g--;){if(b=Ub[g],D){for(var h,i=a.touches.length;i--;)if(h=a.touches[i],h.identifier==b.el._drag.id){c=h.clientX,d=h.clientY,(a.originalEvent?a.originalEvent:a).preventDefault();break}}else a.preventDefault();var j,k=b.el.node,l=k.nextSibling,m=k.parentNode,n=k.style.display;y.win.opera&&m.removeChild(k),k.style.display="none",j=b.el.paper.getElementByPoint(c,d),k.style.display=n,y.win.opera&&(l?m.insertBefore(k,l):m.appendChild(k)),j&&eve("raphael.drag.over."+b.el.id,b.el,j),c+=f,d+=e,eve("raphael.drag.move."+b.el.id,b.move_scope||b.el,c-b.el._drag.x,d-b.el._drag.y,c,d,a)}},Wb=function(b){a.unmousemove(Vb).unmouseup(Wb);for(var c,d=Ub.length;d--;)c=Ub[d],c.el._drag={},eve("raphael.drag.end."+c.el.id,c.end_scope||c.start_scope||c.move_scope||c.el,b);Ub=[]},Xb=a.el={},Yb=I.length;Yb--;)!function(b){a[b]=Xb[b]=function(c,d){return a.is(c,"function")&&(this.events=this.events||[],this.events.push({name:b,f:c,unbind:Tb(this.shape||this.node||y.doc,b,c,d||this)})),this},a["un"+b]=Xb["un"+b]=function(a){for(var c=this.events||[],d=c.length;d--;)if(c[d].name==b&&c[d].f==a)return c[d].unbind(),c.splice(d,1),!c.length&&delete this.events,this;return this}}(I[Yb]);Xb.data=function(b,c){var d=ib[this.id]=ib[this.id]||{};if(1==arguments.length){if(a.is(b,"object")){for(var e in b)b[x](e)&&this.data(e,b[e]);return this}return eve("raphael.data.get."+this.id,this,d[b],b),d[b]}return d[b]=c,eve("raphael.data.set."+this.id,this,c,b),this},Xb.removeData=function(a){return null==a?ib[this.id]={}:ib[this.id]&&delete ib[this.id][a],this},Xb.hover=function(a,b,c,d){return this.mouseover(a,c).mouseout(b,d||c)},Xb.unhover=function(a,b){return this.unmouseover(a).unmouseout(b)};var Zb=[];Xb.drag=function(b,c,d,e,f,g){function h(h){(h.originalEvent||h).preventDefault();var i=y.doc.documentElement.scrollTop||y.doc.body.scrollTop,j=y.doc.documentElement.scrollLeft||y.doc.body.scrollLeft;this._drag.x=h.clientX+j,this._drag.y=h.clientY+i,this._drag.id=h.identifier,!Ub.length&&a.mousemove(Vb).mouseup(Wb),Ub.push({el:this,move_scope:e,start_scope:f,end_scope:g}),c&&eve.on("raphael.drag.start."+this.id,c),b&&eve.on("raphael.drag.move."+this.id,b),d&&eve.on("raphael.drag.end."+this.id,d),eve("raphael.drag.start."+this.id,f||e||this,h.clientX+j,h.clientY+i,h)}return this._drag={},Zb.push({el:this,start:h}),this.mousedown(h),this},Xb.onDragOver=function(a){a?eve.on("raphael.drag.over."+this.id,a):eve.unbind("raphael.drag.over."+this.id)},Xb.undrag=function(){for(var b=Zb.length;b--;)Zb[b].el==this&&(this.unmousedown(Zb[b].start),Zb.splice(b,1),eve.unbind("raphael.drag.*."+this.id));!Zb.length&&a.unmousemove(Vb).unmouseup(Wb)},t.circle=function(b,c,d){var e=a._engine.circle(this,b||0,c||0,d||0);return this.__set__&&this.__set__.push(e),e},t.rect=function(b,c,d,e,f){var g=a._engine.rect(this,b||0,c||0,d||0,e||0,f||0);return this.__set__&&this.__set__.push(g),g},t.ellipse=function(b,c,d,e){var f=a._engine.ellipse(this,b||0,c||0,d||0,e||0);return this.__set__&&this.__set__.push(f),f},t.path=function(b){b&&!a.is(b,S)&&!a.is(b[0],T)&&(b+=E);var c=a._engine.path(a.format[B](a,arguments),this);return this.__set__&&this.__set__.push(c),c},t.image=function(b,c,d,e,f){var g=a._engine.image(this,b||"about:blank",c||0,d||0,e||0,f||0);return this.__set__&&this.__set__.push(g),g},t.text=function(b,c,d){var e=a._engine.text(this,b||0,c||0,G(d));return this.__set__&&this.__set__.push(e),e},t.set=function(b){!a.is(b,"array")&&(b=Array.prototype.splice.call(arguments,0,arguments.length));var c=new jc(b);return this.__set__&&this.__set__.push(c),c},t.setStart=function(a){this.__set__=a||this.set()},t.setFinish=function(){var a=this.__set__;return delete this.__set__,a},t.setSize=function(b,c){return a._engine.setSize.call(this,b,c)},t.setViewBox=function(b,c,d,e,f){return a._engine.setViewBox.call(this,b,c,d,e,f)},t.top=t.bottom=null,t.raphael=a;var $b=function(a){var b=a.getBoundingClientRect(),c=a.ownerDocument,d=c.body,e=c.documentElement,f=e.clientTop||d.clientTop||0,g=e.clientLeft||d.clientLeft||0,h=b.top+(y.win.pageYOffset||e.scrollTop||d.scrollTop)-f,i=b.left+(y.win.pageXOffset||e.scrollLeft||d.scrollLeft)-g;return{y:h,x:i}};t.getElementByPoint=function(a,b){var c=this,d=c.canvas,e=y.doc.elementFromPoint(a,b);if(y.win.opera&&"svg"==e.tagName){var f=$b(d),g=d.createSVGRect();g.x=a-f.x,g.y=b-f.y,g.width=g.height=1;var h=d.getIntersectionList(g,null);h.length&&(e=h[h.length-1])}if(!e)return null;for(;e.parentNode&&e!=d.parentNode&&!e.raphael;)e=e.parentNode;return e==c.canvas.parentNode&&(e=d),e=e&&e.raphael?c.getById(e.raphaelid):null},t.getById=function(a){for(var b=this.bottom;b;){if(b.id==a)return b;b=b.next}return null},t.forEach=function(a,b){for(var c=this.bottom;c;){if(a.call(b,c)===!1)return this;c=c.next}return this},t.getElementsByPoint=function(a,b){var c=this.set();return this.forEach(function(d){d.isPointInside(a,b)&&c.push(d)}),c},Xb.isPointInside=function(b,c){var d=this.realPath=this.realPath||ob[this.type](this);return a.isPointInsidePath(d,b,c)},Xb.getBBox=function(a){if(this.removed)return{};var b=this._;return a?((b.dirty||!b.bboxwt)&&(this.realPath=ob[this.type](this),b.bboxwt=zb(this.realPath),b.bboxwt.toString=n,b.dirty=0),b.bboxwt):((b.dirty||b.dirtyT||!b.bbox)&&((b.dirty||!this.realPath)&&(b.bboxwt=0,this.realPath=ob[this.type](this)),b.bbox=zb(pb(this.realPath,this.matrix)),b.bbox.toString=n,b.dirty=b.dirtyT=0),b.bbox)},Xb.clone=function(){if(this.removed)return null;var a=this.paper[this.type]().attr(this.attr());return this.__set__&&this.__set__.push(a),a},Xb.glow=function(a){if("text"==this.type)return null;a=a||{};var b={width:(a.width||10)+(+this.attr("stroke-width")||1),fill:a.fill||!1,opacity:a.opacity||.5,offsetx:a.offsetx||0,offsety:a.offsety||0,color:a.color||"#000"},c=b.width/2,d=this.paper,e=d.set(),f=this.realPath||ob[this.type](this);f=this.matrix?pb(f,this.matrix):f;for(var g=1;c+1>g;g++)e.push(d.path(f).attr({stroke:b.color,fill:b.fill?b.color:"none","stroke-linejoin":"round","stroke-linecap":"round","stroke-width":+(b.width/c*g).toFixed(3),opacity:+(b.opacity/c).toFixed(3)}));return e.insertBefore(this).translate(b.offsetx,b.offsety)};var _b=function(b,c,d,e,f,g,j,k,l){return null==l?h(b,c,d,e,f,g,j,k):a.findDotsAtSegment(b,c,d,e,f,g,j,k,i(b,c,d,e,f,g,j,k,l))},ac=function(b,c){return function(d,e,f){d=Ib(d);for(var g,h,i,j,k,l="",m={},n=0,o=0,p=d.length;p>o;o++){if(i=d[o],"M"==i[0])g=+i[1],h=+i[2];else{if(j=_b(g,h,i[1],i[2],i[3],i[4],i[5],i[6]),n+j>e){if(c&&!m.start){if(k=_b(g,h,i[1],i[2],i[3],i[4],i[5],i[6],e-n),l+=["C"+k.start.x,k.start.y,k.m.x,k.m.y,k.x,k.y],f)return l;m.start=l,l=["M"+k.x,k.y+"C"+k.n.x,k.n.y,k.end.x,k.end.y,i[5],i[6]].join(),n+=j,g=+i[5],h=+i[6];continue}if(!b&&!c)return k=_b(g,h,i[1],i[2],i[3],i[4],i[5],i[6],e-n),{x:k.x,y:k.y,alpha:k.alpha}}n+=j,g=+i[5],h=+i[6]}l+=i.shift()+i}return m.end=l,k=b?n:c?m:a.findDotsAtSegment(g,h,i[0],i[1],i[2],i[3],i[4],i[5],1),k.alpha&&(k={x:k.x,y:k.y,alpha:k.alpha}),k}},bc=ac(1),cc=ac(),dc=ac(0,1);a.getTotalLength=bc,a.getPointAtLength=cc,a.getSubpath=function(a,b,c){if(this.getTotalLength(a)-c<1e-6)return dc(a,b).end;var d=dc(a,c,1);return b?dc(d,b).end:d},Xb.getTotalLength=function(){return"path"==this.type?this.node.getTotalLength?this.node.getTotalLength():bc(this.attrs.path):void 0},Xb.getPointAtLength=function(a){return"path"==this.type?cc(this.attrs.path,a):void 0},Xb.getSubpath=function(b,c){return"path"==this.type?a.getSubpath(this.attrs.path,b,c):void 0};var ec=a.easing_formulas={linear:function(a){return a},"<":function(a){return P(a,1.7)},">":function(a){return P(a,.48)},"<>":function(a){var b=.48-a/1.04,c=L.sqrt(.1734+b*b),d=c-b,e=P(O(d),1/3)*(0>d?-1:1),f=-c-b,g=P(O(f),1/3)*(0>f?-1:1),h=e+g+.5;return 3*(1-h)*h*h+h*h*h},backIn:function(a){var b=1.70158;return a*a*((b+1)*a-b)},backOut:function(a){a-=1;var b=1.70158;return a*a*((b+1)*a+b)+1},elastic:function(a){return a==!!a?a:P(2,-10*a)*L.sin(2*(a-.075)*Q/.3)+1},bounce:function(a){var b,c=7.5625,d=2.75;return 1/d>a?b=c*a*a:2/d>a?(a-=1.5/d,b=c*a*a+.75):2.5/d>a?(a-=2.25/d,b=c*a*a+.9375):(a-=2.625/d,b=c*a*a+.984375),b}};ec.easeIn=ec["ease-in"]=ec["<"],ec.easeOut=ec["ease-out"]=ec[">"],ec.easeInOut=ec["ease-in-out"]=ec["<>"],ec["back-in"]=ec.backIn,ec["back-out"]=ec.backOut;var fc=[],gc=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(a){setTimeout(a,16)},hc=function(){for(var b=+new Date,c=0;cg))if(h>g){var p=i(g/h);for(var r in j)if(j[x](r)){switch(bb[r]){case R:e=+j[r]+p*h*k[r];break;case"colour":e="rgb("+[ic(Y(j[r].r+p*h*k[r].r)),ic(Y(j[r].g+p*h*k[r].g)),ic(Y(j[r].b+p*h*k[r].b))].join(",")+")";break;case"path":e=[];for(var s=0,t=j[r].length;t>s;s++){e[s]=[j[r][s][0]];for(var u=1,v=j[r][s].length;v>u;u++)e[s][u]=+j[r][s][u]+p*h*k[r][s][u];e[s]=e[s].join(F)}e=e.join(F);break;case"transform":if(k[r].real)for(e=[],s=0,t=j[r].length;t>s;s++)for(e[s]=[j[r][s][0]],u=1,v=j[r][s].length;v>u;u++)e[s][u]=j[r][s][u]+p*h*k[r][s][u];else{var w=function(a){return+j[r][a]+p*h*k[r][a]};e=[["m",w(0),w(1),w(2),w(3),w(4),w(5)]]}break;case"csv":if("clip-rect"==r)for(e=[],s=4;s--;)e[s]=+j[r][s]+p*h*k[r][s];break;default:var y=[][C](j[r]);for(e=[],s=m.paper.customAttributes[r].length;s--;)e[s]=+y[s]+p*h*k[r][s]}n[r]=e}m.attr(n),function(a,b,c){setTimeout(function(){eve("raphael.anim.frame."+a,b,c)})}(m.id,m,d.anim)}else{if(function(b,c,d){setTimeout(function(){eve("raphael.anim.frame."+c.id,c,d),eve("raphael.anim.finish."+c.id,c,d),a.is(b,"function")&&b.call(c)})}(d.callback,m,d.anim),m.attr(l),fc.splice(c--,1),d.repeat>1&&!d.next){for(f in l)l[x](f)&&(o[f]=d.totalOrigin[f]);d.el.attr(o),q(d.anim,d.el,d.anim.percents[0],null,d.totalOrigin,d.repeat-1)}d.next&&!d.stop&&q(d.anim,d.el,d.next,null,d.totalOrigin,d.repeat)}}}a.svg&&m&&m.paper&&m.paper.safari(),fc.length&&gc(hc)},ic=function(a){return a>255?255:0>a?0:a};Xb.animateWith=function(b,c,d,e,f,g){var h=this;if(h.removed)return g&&g.call(h),h;var i=d instanceof p?d:a.animation(d,e,f,g);q(i,h,i.percents[0],null,h.attr());for(var j=0,k=fc.length;k>j;j++)if(fc[j].anim==c&&fc[j].el==b){fc[k-1].start=fc[j].start;break}return h},Xb.onAnimation=function(a){return a?eve.on("raphael.anim.frame."+this.id,a):eve.unbind("raphael.anim.frame."+this.id),this},p.prototype.delay=function(a){var b=new p(this.anim,this.ms);return b.times=this.times,b.del=+a||0,b},p.prototype.repeat=function(a){var b=new p(this.anim,this.ms);return b.del=this.del,b.times=L.floor(M(a,0))||1,b},a.animation=function(b,c,d,e){if(b instanceof p)return b;(a.is(d,"function")||!d)&&(e=e||d||null,d=null),b=Object(b),c=+c||0;var f,g,h={};for(g in b)b[x](g)&&Z(g)!=g&&Z(g)+"%"!=g&&(f=!0,h[g]=b[g]);return f?(d&&(h.easing=d),e&&(h.callback=e),new p({100:h},c)):new p(b,c)},Xb.animate=function(b,c,d,e){var f=this;if(f.removed)return e&&e.call(f),f;var g=b instanceof p?b:a.animation(b,c,d,e);return q(g,f,g.percents[0],null,f.attr()),f},Xb.setTime=function(a,b){return a&&null!=b&&this.status(a,N(b,a.ms)/a.ms),this},Xb.status=function(a,b){var c,d,e=[],f=0;if(null!=b)return q(a,this,-1,N(b,1)),this;for(c=fc.length;c>f;f++)if(d=fc[f],d.el.id==this.id&&(!a||d.anim==a)){if(a)return d.status;e.push({anim:d.anim,status:d.status})}return a?0:e},Xb.pause=function(a){for(var b=0;bb;b++)!a[b]||a[b].constructor!=Xb.constructor&&a[b].constructor!=jc||(this[this.items.length]=this.items[this.items.length]=a[b],this.length++)},kc=jc.prototype;kc.push=function(){for(var a,b,c=0,d=arguments.length;d>c;c++)a=arguments[c],!a||a.constructor!=Xb.constructor&&a.constructor!=jc||(b=this.items.length,this[b]=this.items[b]=a,this.length++);return this},kc.pop=function(){return this.length&&delete this[this.length--],this.items.pop()},kc.forEach=function(a,b){for(var c=0,d=this.items.length;d>c;c++)if(a.call(b,this.items[c],c)===!1)return this;return this};for(var lc in Xb)Xb[x](lc)&&(kc[lc]=function(a){return function(){var b=arguments;return this.forEach(function(c){c[a][B](c,b)})}}(lc));kc.attr=function(b,c){if(b&&a.is(b,T)&&a.is(b[0],"object"))for(var d=0,e=b.length;e>d;d++)this.items[d].attr(b[d]);else for(var f=0,g=this.items.length;g>f;f++)this.items[f].attr(b,c);return this},kc.clear=function(){for(;this.length;)this.pop()},kc.splice=function(a,b){a=0>a?M(this.length+a,0):a,b=M(0,N(this.length-a,b));var c,d=[],e=[],f=[];for(c=2;cc;c++)e.push(this[a+c]);for(;cc?f[c]:d[c-g];for(c=this.items.length=this.length-=b-g;this[c];)delete this[c++];return new jc(e)},kc.exclude=function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]==a)return this.splice(b,1),!0},kc.animate=function(b,c,d,e){(a.is(d,"function")||!d)&&(e=d||null);var f,g,h=this.items.length,i=h,j=this;if(!h)return this;e&&(g=function(){!--h&&e.call(j)}),d=a.is(d,S)?d:g;var k=a.animation(b,c,d,g);for(f=this.items[--i].animate(k);i--;)this.items[i]&&!this.items[i].removed&&this.items[i].animateWith(f,k,k);return this},kc.insertAfter=function(a){for(var b=this.items.length;b--;)this.items[b].insertAfter(a);return this},kc.getBBox=function(){for(var a=[],b=[],c=[],d=[],e=this.items.length;e--;)if(!this.items[e].removed){var f=this.items[e].getBBox();a.push(f.x),b.push(f.y),c.push(f.x+f.width),d.push(f.y+f.height)}return a=N[B](0,a),b=N[B](0,b),c=M[B](0,c),d=M[B](0,d),{x:a,y:b,x2:c,y2:d,width:c-a,height:d-b}},kc.clone=function(a){a=new jc;for(var b=0,c=this.items.length;c>b;b++)a.push(this.items[b].clone());return a},kc.toString=function(){return"Raphaël‘s set"},a.registerFont=function(a){if(!a.face)return a;this.fonts=this.fonts||{};var b={w:a.w,face:{},glyphs:{}},c=a.face["font-family"];for(var d in a.face)a.face[x](d)&&(b.face[d]=a.face[d]);if(this.fonts[c]?this.fonts[c].push(b):this.fonts[c]=[b],!a.svg){b.face["units-per-em"]=$(a.face["units-per-em"],10);for(var e in a.glyphs)if(a.glyphs[x](e)){var f=a.glyphs[e];if(b.glyphs[e]={w:f.w,k:{},d:f.d&&"M"+f.d.replace(/[mlcxtrv]/g,function(a){return{l:"L",c:"C",x:"z",t:"m",r:"l",v:"c"}[a]||"M"})+"z"},f.k)for(var g in f.k)f[x](g)&&(b.glyphs[e].k[g]=f.k[g])}}return a},t.getFont=function(b,c,d,e){if(e=e||"normal",d=d||"normal",c=+c||{normal:400,bold:700,lighter:300,bolder:800}[c]||400,a.fonts){var f=a.fonts[b];if(!f){var g=new RegExp("(^|\\s)"+b.replace(/[^\w\d\s+!~.:_-]/g,E)+"(\\s|$)","i");for(var h in a.fonts)if(a.fonts[x](h)&&g.test(h)){f=a.fonts[h];break}}var i;if(f)for(var j=0,k=f.length;k>j&&(i=f[j],i.face["font-weight"]!=c||i.face["font-style"]!=d&&i.face["font-style"]||i.face["font-stretch"]!=e);j++);return i}},t.print=function(b,c,d,e,f,g,h){g=g||"middle",h=M(N(h||0,1),-1);var i,j=G(d)[H](E),k=0,l=0,m=E;if(a.is(e,d)&&(e=this.getFont(e)),e){i=(f||16)/e.face["units-per-em"];for(var n=e.face.bbox[H](u),o=+n[0],p=n[3]-n[1],q=0,r=+n[1]+("baseline"==g?p+ +e.face.descent:p/2),s=0,t=j.length;t>s;s++){if("\n"==j[s])k=0,w=0,l=0,q+=p;else{var v=l&&e.glyphs[j[s-1]]||{},w=e.glyphs[j[s]];k+=l?(v.w||e.w)+(v.k&&v.k[j[s]]||0)+e.w*h:0,l=1}w&&w.d&&(m+=a.transformPath(w.d,["t",k*i,q*i,"s",i,i,o,r,"t",(b-o)/i,(c-r)/i]))}}return this.path(m).attr({fill:"#000",stroke:"none"})},t.add=function(b){if(a.is(b,"array"))for(var c,d=this.set(),e=0,f=b.length;f>e;e++)c=b[e]||{},v[x](c.type)&&d.push(this[c.type]().attr(c));return d},a.format=function(b,c){var d=a.is(c,T)?[0][C](c):arguments;return b&&a.is(b,S)&&d.length-1&&(b=b.replace(w,function(a,b){return null==d[++b]?E:d[b]})),b||E},a.fullfill=function(){var a=/\{([^\}]+)\}/g,b=/(?:(?:^|\.)(.+?)(?=\[|\.|$|\()|\[('|")(.+?)\2\])(\(\))?/g,c=function(a,c,d){var e=d;return c.replace(b,function(a,b,c,d,f){b=b||d,e&&(b in e&&(e=e[b]),"function"==typeof e&&f&&(e=e()))}),e=(null==e||e==d?a:e)+""};return function(b,d){return String(b).replace(a,function(a,b){return c(a,b,d)})}}(),a.ninja=function(){return z.was?y.win.Raphael=z.is:delete Raphael,a},a.st=kc,function(b,c,d){function e(){/in/.test(b.readyState)?setTimeout(e,9):a.eve("raphael.DOMload")}null==b.readyState&&b.addEventListener&&(b.addEventListener(c,d=function(){b.removeEventListener(c,d,!1),b.readyState="complete"},!1),b.readyState="loading"),e()}(document,"DOMContentLoaded"),z.was?y.win.Raphael=a:Raphael=a,eve.on("raphael.DOMload",function(){s=!0})}(),window.Raphael.svg&&function(a){var b="hasOwnProperty",c=String,d=parseFloat,e=parseInt,f=Math,g=f.max,h=f.abs,i=f.pow,j=/[, ]+/,k=a.eve,l="",m=" ",n="http://www.w3.org/1999/xlink",o={block:"M5,0 0,2.5 5,5z",classic:"M5,0 0,2.5 5,5 3.5,3 3.5,2z",diamond:"M2.5,0 5,2.5 2.5,5 0,2.5z",open:"M6,1 1,3.5 6,6",oval:"M2.5,0A2.5,2.5,0,0,1,2.5,5 2.5,2.5,0,0,1,2.5,0z"},p={};a.toString=function(){return"Your browser supports SVG.\nYou are running Raphaël "+this.version};var q=function(d,e){if(e){"string"==typeof d&&(d=q(d));for(var f in e)e[b](f)&&("xlink:"==f.substring(0,6)?d.setAttributeNS(n,f.substring(6),c(e[f])):d.setAttribute(f,c(e[f])))}else d=a._g.doc.createElementNS("http://www.w3.org/2000/svg",d),d.style&&(d.style.webkitTapHighlightColor="rgba(0,0,0,0)");return d},r=function(b,e){var j="linear",k=b.id+e,m=.5,n=.5,o=b.node,p=b.paper,r=o.style,s=a._g.doc.getElementById(k);if(!s){if(e=c(e).replace(a._radial_gradient,function(a,b,c){if(j="radial",b&&c){m=d(b),n=d(c);var e=2*(n>.5)-1;i(m-.5,2)+i(n-.5,2)>.25&&(n=f.sqrt(.25-i(m-.5,2))*e+.5)&&.5!=n&&(n=n.toFixed(5)-1e-5*e)}return l}),e=e.split(/\s*\-\s*/),"linear"==j){var t=e.shift();if(t=-d(t),isNaN(t))return null;var u=[0,0,f.cos(a.rad(t)),f.sin(a.rad(t))],v=1/(g(h(u[2]),h(u[3]))||1);u[2]*=v,u[3]*=v,u[2]<0&&(u[0]=-u[2],u[2]=0),u[3]<0&&(u[1]=-u[3],u[3]=0)}var w=a._parseDots(e);if(!w)return null;if(k=k.replace(/[\(\)\s,\xb0#]/g,"_"),b.gradient&&k!=b.gradient.id&&(p.defs.removeChild(b.gradient),delete b.gradient),!b.gradient){s=q(j+"Gradient",{id:k}),b.gradient=s,q(s,"radial"==j?{fx:m,fy:n}:{x1:u[0],y1:u[1],x2:u[2],y2:u[3],gradientTransform:b.matrix.invert()}),p.defs.appendChild(s);for(var x=0,y=w.length;y>x;x++)s.appendChild(q("stop",{offset:w[x].offset?w[x].offset:x?"100%":"0%","stop-color":w[x].color||"#fff"}))}}return q(o,{fill:"url(#"+k+")",opacity:1,"fill-opacity":1}),r.fill=l,r.opacity=1,r.fillOpacity=1,1},s=function(a){var b=a.getBBox(1);q(a.pattern,{patternTransform:a.matrix.invert()+" translate("+b.x+","+b.y+")"})},t=function(d,e,f){if("path"==d.type){for(var g,h,i,j,k,m=c(e).toLowerCase().split("-"),n=d.paper,r=f?"end":"start",s=d.node,t=d.attrs,u=t["stroke-width"],v=m.length,w="classic",x=3,y=3,z=5;v--;)switch(m[v]){case"block":case"classic":case"oval":case"diamond":case"open":case"none":w=m[v];break;case"wide":y=5;break;case"narrow":y=2;break;case"long":x=5;break;case"short":x=2}if("open"==w?(x+=2,y+=2,z+=2,i=1,j=f?4:1,k={fill:"none",stroke:t.stroke}):(j=i=x/2,k={fill:t.stroke,stroke:"none"}),d._.arrows?f?(d._.arrows.endPath&&p[d._.arrows.endPath]--,d._.arrows.endMarker&&p[d._.arrows.endMarker]--):(d._.arrows.startPath&&p[d._.arrows.startPath]--,d._.arrows.startMarker&&p[d._.arrows.startMarker]--):d._.arrows={},"none"!=w){var A="raphael-marker-"+w,B="raphael-marker-"+r+w+x+y;a._g.doc.getElementById(A)?p[A]++:(n.defs.appendChild(q(q("path"),{"stroke-linecap":"round",d:o[w],id:A})),p[A]=1);var C,D=a._g.doc.getElementById(B);D?(p[B]++,C=D.getElementsByTagName("use")[0]):(D=q(q("marker"),{id:B,markerHeight:y,markerWidth:x,orient:"auto",refX:j,refY:y/2}),C=q(q("use"),{"xlink:href":"#"+A,transform:(f?"rotate(180 "+x/2+" "+y/2+") ":l)+"scale("+x/z+","+y/z+")","stroke-width":(1/((x/z+y/z)/2)).toFixed(4)}),D.appendChild(C),n.defs.appendChild(D),p[B]=1),q(C,k);var E=i*("diamond"!=w&&"oval"!=w);f?(g=d._.arrows.startdx*u||0,h=a.getTotalLength(t.path)-E*u):(g=E*u,h=a.getTotalLength(t.path)-(d._.arrows.enddx*u||0)),k={},k["marker-"+r]="url(#"+B+")",(h||g)&&(k.d=Raphael.getSubpath(t.path,g,h)),q(s,k),d._.arrows[r+"Path"]=A,d._.arrows[r+"Marker"]=B,d._.arrows[r+"dx"]=E,d._.arrows[r+"Type"]=w,d._.arrows[r+"String"]=e}else f?(g=d._.arrows.startdx*u||0,h=a.getTotalLength(t.path)-g):(g=0,h=a.getTotalLength(t.path)-(d._.arrows.enddx*u||0)),d._.arrows[r+"Path"]&&q(s,{d:Raphael.getSubpath(t.path,g,h)}),delete d._.arrows[r+"Path"],delete d._.arrows[r+"Marker"],delete d._.arrows[r+"dx"],delete d._.arrows[r+"Type"],delete d._.arrows[r+"String"];for(k in p)if(p[b](k)&&!p[k]){var F=a._g.doc.getElementById(k);F&&F.parentNode.removeChild(F)}}},u={"":[0],none:[0],"-":[3,1],".":[1,1],"-.":[3,1,1,1],"-..":[3,1,1,1,1,1],". ":[1,3],"- ":[4,3],"--":[8,3],"- .":[4,3,1,3],"--.":[8,3,1,3],"--..":[8,3,1,3,1,3]},v=function(a,b,d){if(b=u[c(b).toLowerCase()]){for(var e=a.attrs["stroke-width"]||"1",f={round:e,square:e,butt:0}[a.attrs["stroke-linecap"]||d["stroke-linecap"]]||0,g=[],h=b.length;h--;)g[h]=b[h]*e+(h%2?1:-1)*f;q(a.node,{"stroke-dasharray":g.join(",")})}},w=function(d,f){var i=d.node,k=d.attrs,m=i.style.visibility;i.style.visibility="hidden";for(var o in f)if(f[b](o)){if(!a._availableAttrs[b](o))continue;var p=f[o];switch(k[o]=p,o){case"blur":d.blur(p);break;case"href":case"title":case"target":var u=i.parentNode;if("a"!=u.tagName.toLowerCase()){var w=q("a");u.insertBefore(w,i),w.appendChild(i),u=w}"target"==o?u.setAttributeNS(n,"show","blank"==p?"new":p):u.setAttributeNS(n,o,p);break;case"cursor":i.style.cursor=p;break;case"transform":d.transform(p);break;case"arrow-start":t(d,p);break;case"arrow-end":t(d,p,1);break;case"clip-rect":var x=c(p).split(j);if(4==x.length){d.clip&&d.clip.parentNode.parentNode.removeChild(d.clip.parentNode);var z=q("clipPath"),A=q("rect");z.id=a.createUUID(),q(A,{x:x[0],y:x[1],width:x[2],height:x[3]}),z.appendChild(A),d.paper.defs.appendChild(z),q(i,{"clip-path":"url(#"+z.id+")"}),d.clip=A}if(!p){var B=i.getAttribute("clip-path");if(B){var C=a._g.doc.getElementById(B.replace(/(^url\(#|\)$)/g,l));C&&C.parentNode.removeChild(C),q(i,{"clip-path":l}),delete d.clip}}break;case"path":"path"==d.type&&(q(i,{d:p?k.path=a._pathToAbsolute(p):"M0,0"}),d._.dirty=1,d._.arrows&&("startString"in d._.arrows&&t(d,d._.arrows.startString),"endString"in d._.arrows&&t(d,d._.arrows.endString,1)));break;case"width":if(i.setAttribute(o,p),d._.dirty=1,!k.fx)break;o="x",p=k.x;case"x":k.fx&&(p=-k.x-(k.width||0));case"rx":if("rx"==o&&"rect"==d.type)break;case"cx":i.setAttribute(o,p),d.pattern&&s(d),d._.dirty=1;break;case"height":if(i.setAttribute(o,p),d._.dirty=1,!k.fy)break;o="y",p=k.y;case"y":k.fy&&(p=-k.y-(k.height||0));case"ry":if("ry"==o&&"rect"==d.type)break;case"cy":i.setAttribute(o,p),d.pattern&&s(d),d._.dirty=1;break;case"r":"rect"==d.type?q(i,{rx:p,ry:p}):i.setAttribute(o,p),d._.dirty=1;break;case"src":"image"==d.type&&i.setAttributeNS(n,"href",p);break;case"stroke-width":(1!=d._.sx||1!=d._.sy)&&(p/=g(h(d._.sx),h(d._.sy))||1),d.paper._vbSize&&(p*=d.paper._vbSize),i.setAttribute(o,p),k["stroke-dasharray"]&&v(d,k["stroke-dasharray"],f),d._.arrows&&("startString"in d._.arrows&&t(d,d._.arrows.startString),"endString"in d._.arrows&&t(d,d._.arrows.endString,1));break;case"stroke-dasharray":v(d,p,f);break;case"fill":var D=c(p).match(a._ISURL);if(D){z=q("pattern");var E=q("image");z.id=a.createUUID(),q(z,{x:0,y:0,patternUnits:"userSpaceOnUse",height:1,width:1}),q(E,{x:0,y:0,"xlink:href":D[1]}),z.appendChild(E),function(b){a._preload(D[1],function(){var a=this.offsetWidth,c=this.offsetHeight;q(b,{width:a,height:c}),q(E,{width:a,height:c}),d.paper.safari()})}(z),d.paper.defs.appendChild(z),q(i,{fill:"url(#"+z.id+")"}),d.pattern=z,d.pattern&&s(d);break}var F=a.getRGB(p);if(F.error){if(("circle"==d.type||"ellipse"==d.type||"r"!=c(p).charAt())&&r(d,p)){if("opacity"in k||"fill-opacity"in k){var G=a._g.doc.getElementById(i.getAttribute("fill").replace(/^url\(#|\)$/g,l));if(G){var H=G.getElementsByTagName("stop");q(H[H.length-1],{"stop-opacity":("opacity"in k?k.opacity:1)*("fill-opacity"in k?k["fill-opacity"]:1)})}}k.gradient=p,k.fill="none";break}}else delete f.gradient,delete k.gradient,!a.is(k.opacity,"undefined")&&a.is(f.opacity,"undefined")&&q(i,{opacity:k.opacity}),!a.is(k["fill-opacity"],"undefined")&&a.is(f["fill-opacity"],"undefined")&&q(i,{"fill-opacity":k["fill-opacity"]});F[b]("opacity")&&q(i,{"fill-opacity":F.opacity>1?F.opacity/100:F.opacity});case"stroke":F=a.getRGB(p),i.setAttribute(o,F.hex),"stroke"==o&&F[b]("opacity")&&q(i,{"stroke-opacity":F.opacity>1?F.opacity/100:F.opacity}),"stroke"==o&&d._.arrows&&("startString"in d._.arrows&&t(d,d._.arrows.startString),"endString"in d._.arrows&&t(d,d._.arrows.endString,1));break;case"gradient":("circle"==d.type||"ellipse"==d.type||"r"!=c(p).charAt())&&r(d,p);break;case"opacity":k.gradient&&!k[b]("stroke-opacity")&&q(i,{"stroke-opacity":p>1?p/100:p});case"fill-opacity":if(k.gradient){G=a._g.doc.getElementById(i.getAttribute("fill").replace(/^url\(#|\)$/g,l)),G&&(H=G.getElementsByTagName("stop"),q(H[H.length-1],{"stop-opacity":p}));break}default:"font-size"==o&&(p=e(p,10)+"px");var I=o.replace(/(\-.)/g,function(a){return a.substring(1).toUpperCase()});i.style[I]=p,d._.dirty=1,i.setAttribute(o,p)}}y(d,f),i.style.visibility=m},x=1.2,y=function(d,f){if("text"==d.type&&(f[b]("text")||f[b]("font")||f[b]("font-size")||f[b]("x")||f[b]("y"))){var g=d.attrs,h=d.node,i=h.firstChild?e(a._g.doc.defaultView.getComputedStyle(h.firstChild,l).getPropertyValue("font-size"),10):10;if(f[b]("text")){for(g.text=f.text;h.firstChild;)h.removeChild(h.firstChild);for(var j,k=c(f.text).split("\n"),m=[],n=0,o=k.length;o>n;n++)j=q("tspan"),n&&q(j,{dy:i*x,x:g.x}),j.appendChild(a._g.doc.createTextNode(k[n])),h.appendChild(j),m[n]=j}else for(m=h.getElementsByTagName("tspan"),n=0,o=m.length;o>n;n++)n?q(m[n],{dy:i*x,x:g.x}):q(m[0],{dy:0});q(h,{x:g.x,y:g.y}),d._.dirty=1;var p=d._getBBox(),r=g.y-(p.y+p.height/2);r&&a.is(r,"finite")&&q(m[0],{dy:r})}},z=function(b,c){this[0]=this.node=b,b.raphael=!0,this.id=a._oid++,b.raphaelid=this.id,this.matrix=a.matrix(),this.realPath=null,this.paper=c,this.attrs=this.attrs||{},this._={transform:[],sx:1,sy:1,deg:0,dx:0,dy:0,dirty:1},!c.bottom&&(c.bottom=this),this.prev=c.top,c.top&&(c.top.next=this),c.top=this,this.next=null},A=a.el;z.prototype=A,A.constructor=z,a._engine.path=function(a,b){var c=q("path");b.canvas&&b.canvas.appendChild(c);var d=new z(c,b);return d.type="path",w(d,{fill:"none",stroke:"#000",path:a}),d},A.rotate=function(a,b,e){if(this.removed)return this;if(a=c(a).split(j),a.length-1&&(b=d(a[1]),e=d(a[2])),a=d(a[0]),null==e&&(b=e),null==b||null==e){var f=this.getBBox(1);b=f.x+f.width/2,e=f.y+f.height/2}return this.transform(this._.transform.concat([["r",a,b,e]])),this},A.scale=function(a,b,e,f){if(this.removed)return this;if(a=c(a).split(j),a.length-1&&(b=d(a[1]),e=d(a[2]),f=d(a[3])),a=d(a[0]),null==b&&(b=a),null==f&&(e=f),null==e||null==f)var g=this.getBBox(1);return e=null==e?g.x+g.width/2:e,f=null==f?g.y+g.height/2:f,this.transform(this._.transform.concat([["s",a,b,e,f]])),this},A.translate=function(a,b){return this.removed?this:(a=c(a).split(j),a.length-1&&(b=d(a[1])),a=d(a[0])||0,b=+b||0,this.transform(this._.transform.concat([["t",a,b]])),this)},A.transform=function(c){var d=this._;if(null==c)return d.transform;if(a._extractTransform(this,c),this.clip&&q(this.clip,{transform:this.matrix.invert()}),this.pattern&&s(this),this.node&&q(this.node,{transform:this.matrix}),1!=d.sx||1!=d.sy){var e=this.attrs[b]("stroke-width")?this.attrs["stroke-width"]:1;this.attr({"stroke-width":e})}return this},A.hide=function(){return!this.removed&&this.paper.safari(this.node.style.display="none"),this},A.show=function(){return!this.removed&&this.paper.safari(this.node.style.display=""),this},A.remove=function(){if(!this.removed&&this.node.parentNode){var b=this.paper;b.__set__&&b.__set__.exclude(this),k.unbind("raphael.*.*."+this.id),this.gradient&&b.defs.removeChild(this.gradient),a._tear(this,b),"a"==this.node.parentNode.tagName.toLowerCase()?this.node.parentNode.parentNode.removeChild(this.node.parentNode):this.node.parentNode.removeChild(this.node);for(var c in this)this[c]="function"==typeof this[c]?a._removedFactory(c):null;this.removed=!0}},A._getBBox=function(){if("none"==this.node.style.display){this.show();var a=!0}var b={};try{b=this.node.getBBox()}catch(c){}finally{b=b||{}}return a&&this.hide(),b},A.attr=function(c,d){if(this.removed)return this;if(null==c){var e={};for(var f in this.attrs)this.attrs[b](f)&&(e[f]=this.attrs[f]);return e.gradient&&"none"==e.fill&&(e.fill=e.gradient)&&delete e.gradient,e.transform=this._.transform,e}if(null==d&&a.is(c,"string")){if("fill"==c&&"none"==this.attrs.fill&&this.attrs.gradient)return this.attrs.gradient;if("transform"==c)return this._.transform;for(var g=c.split(j),h={},i=0,l=g.length;l>i;i++)c=g[i],h[c]=c in this.attrs?this.attrs[c]:a.is(this.paper.customAttributes[c],"function")?this.paper.customAttributes[c].def:a._availableAttrs[c];return l-1?h:h[g[0]]}if(null==d&&a.is(c,"array")){for(h={},i=0,l=c.length;l>i;i++)h[c[i]]=this.attr(c[i]);return h}if(null!=d){var m={};m[c]=d}else null!=c&&a.is(c,"object")&&(m=c);for(var n in m)k("raphael.attr."+n+"."+this.id,this,m[n]);for(n in this.paper.customAttributes)if(this.paper.customAttributes[b](n)&&m[b](n)&&a.is(this.paper.customAttributes[n],"function")){var o=this.paper.customAttributes[n].apply(this,[].concat(m[n]));this.attrs[n]=m[n];for(var p in o)o[b](p)&&(m[p]=o[p])}return w(this,m),this -},A.toFront=function(){if(this.removed)return this;"a"==this.node.parentNode.tagName.toLowerCase()?this.node.parentNode.parentNode.appendChild(this.node.parentNode):this.node.parentNode.appendChild(this.node);var b=this.paper;return b.top!=this&&a._tofront(this,b),this},A.toBack=function(){if(this.removed)return this;var b=this.node.parentNode;"a"==b.tagName.toLowerCase()?b.parentNode.insertBefore(this.node.parentNode,this.node.parentNode.parentNode.firstChild):b.firstChild!=this.node&&b.insertBefore(this.node,this.node.parentNode.firstChild),a._toback(this,this.paper);this.paper;return this},A.insertAfter=function(b){if(this.removed)return this;var c=b.node||b[b.length-1].node;return c.nextSibling?c.parentNode.insertBefore(this.node,c.nextSibling):c.parentNode.appendChild(this.node),a._insertafter(this,b,this.paper),this},A.insertBefore=function(b){if(this.removed)return this;var c=b.node||b[0].node;return c.parentNode.insertBefore(this.node,c),a._insertbefore(this,b,this.paper),this},A.blur=function(b){var c=this;if(0!==+b){var d=q("filter"),e=q("feGaussianBlur");c.attrs.blur=b,d.id=a.createUUID(),q(e,{stdDeviation:+b||1.5}),d.appendChild(e),c.paper.defs.appendChild(d),c._blur=d,q(c.node,{filter:"url(#"+d.id+")"})}else c._blur&&(c._blur.parentNode.removeChild(c._blur),delete c._blur,delete c.attrs.blur),c.node.removeAttribute("filter")},a._engine.circle=function(a,b,c,d){var e=q("circle");a.canvas&&a.canvas.appendChild(e);var f=new z(e,a);return f.attrs={cx:b,cy:c,r:d,fill:"none",stroke:"#000"},f.type="circle",q(e,f.attrs),f},a._engine.rect=function(a,b,c,d,e,f){var g=q("rect");a.canvas&&a.canvas.appendChild(g);var h=new z(g,a);return h.attrs={x:b,y:c,width:d,height:e,r:f||0,rx:f||0,ry:f||0,fill:"none",stroke:"#000"},h.type="rect",q(g,h.attrs),h},a._engine.ellipse=function(a,b,c,d,e){var f=q("ellipse");a.canvas&&a.canvas.appendChild(f);var g=new z(f,a);return g.attrs={cx:b,cy:c,rx:d,ry:e,fill:"none",stroke:"#000"},g.type="ellipse",q(f,g.attrs),g},a._engine.image=function(a,b,c,d,e,f){var g=q("image");q(g,{x:c,y:d,width:e,height:f,preserveAspectRatio:"none"}),g.setAttributeNS(n,"href",b),a.canvas&&a.canvas.appendChild(g);var h=new z(g,a);return h.attrs={x:c,y:d,width:e,height:f,src:b},h.type="image",h},a._engine.text=function(b,c,d,e){var f=q("text");b.canvas&&b.canvas.appendChild(f);var g=new z(f,b);return g.attrs={x:c,y:d,"text-anchor":"middle",text:e,font:a._availableAttrs.font,stroke:"none",fill:"#000"},g.type="text",w(g,g.attrs),g},a._engine.setSize=function(a,b){return this.width=a||this.width,this.height=b||this.height,this.canvas.setAttribute("width",this.width),this.canvas.setAttribute("height",this.height),this._viewBox&&this.setViewBox.apply(this,this._viewBox),this},a._engine.create=function(){var b=a._getContainer.apply(0,arguments),c=b&&b.container,d=b.x,e=b.y,f=b.width,g=b.height;if(!c)throw new Error("SVG container not found.");var h,i=q("svg"),j="overflow:hidden;";return d=d||0,e=e||0,f=f||512,g=g||342,q(i,{height:g,version:1.1,width:f,xmlns:"http://www.w3.org/2000/svg"}),1==c?(i.style.cssText=j+"position:absolute;left:"+d+"px;top:"+e+"px",a._g.doc.body.appendChild(i),h=1):(i.style.cssText=j+"position:relative",c.firstChild?c.insertBefore(i,c.firstChild):c.appendChild(i)),c=new a._Paper,c.width=f,c.height=g,c.canvas=i,c.clear(),c._left=c._top=0,h&&(c.renderfix=function(){}),c.renderfix(),c},a._engine.setViewBox=function(a,b,c,d,e){k("raphael.setViewBox",this,this._viewBox,[a,b,c,d,e]);var f,h,i=g(c/this.width,d/this.height),j=this.top,l=e?"meet":"xMinYMin";for(null==a?(this._vbSize&&(i=1),delete this._vbSize,f="0 0 "+this.width+m+this.height):(this._vbSize=i,f=a+m+b+m+c+m+d),q(this.canvas,{viewBox:f,preserveAspectRatio:l});i&&j;)h="stroke-width"in j.attrs?j.attrs["stroke-width"]:1,j.attr({"stroke-width":h}),j._.dirty=1,j._.dirtyT=1,j=j.prev;return this._viewBox=[a,b,c,d,!!e],this},a.prototype.renderfix=function(){var a,b=this.canvas,c=b.style;try{a=b.getScreenCTM()||b.createSVGMatrix()}catch(d){a=b.createSVGMatrix()}var e=-a.e%1,f=-a.f%1;(e||f)&&(e&&(this._left=(this._left+e)%1,c.left=this._left+"px"),f&&(this._top=(this._top+f)%1,c.top=this._top+"px"))},a.prototype.clear=function(){a.eve("raphael.clear",this);for(var b=this.canvas;b.firstChild;)b.removeChild(b.firstChild);this.bottom=this.top=null,(this.desc=q("desc")).appendChild(a._g.doc.createTextNode("Created with Raphaël "+a.version)),b.appendChild(this.desc),b.appendChild(this.defs=q("defs"))},a.prototype.remove=function(){k("raphael.remove",this),this.canvas.parentNode&&this.canvas.parentNode.removeChild(this.canvas);for(var b in this)this[b]="function"==typeof this[b]?a._removedFactory(b):null};var B=a.st;for(var C in A)A[b](C)&&!B[b](C)&&(B[C]=function(a){return function(){var b=arguments;return this.forEach(function(c){c[a].apply(c,b)})}}(C))}(window.Raphael),window.Raphael.vml&&function(a){var b="hasOwnProperty",c=String,d=parseFloat,e=Math,f=e.round,g=e.max,h=e.min,i=e.abs,j="fill",k=/[, ]+/,l=a.eve,m=" progid:DXImageTransform.Microsoft",n=" ",o="",p={M:"m",L:"l",C:"c",Z:"x",m:"t",l:"r",c:"v",z:"x"},q=/([clmz]),?([^clmz]*)/gi,r=/ progid:\S+Blur\([^\)]+\)/g,s=/-?[^,\s-]+/g,t="position:absolute;left:0;top:0;width:1px;height:1px",u=21600,v={path:1,rect:1,image:1},w={circle:1,ellipse:1},x=function(b){var d=/[ahqstv]/gi,e=a._pathToAbsolute;if(c(b).match(d)&&(e=a._path2curve),d=/[clmz]/g,e==a._pathToAbsolute&&!c(b).match(d)){var g=c(b).replace(q,function(a,b,c){var d=[],e="m"==b.toLowerCase(),g=p[b];return c.replace(s,function(a){e&&2==d.length&&(g+=d+p["m"==b?"l":"L"],d=[]),d.push(f(a*u))}),g+d});return g}var h,i,j=e(b);g=[];for(var k=0,l=j.length;l>k;k++){h=j[k],i=j[k][0].toLowerCase(),"z"==i&&(i="x");for(var m=1,r=h.length;r>m;m++)i+=f(h[m]*u)+(m!=r-1?",":o);g.push(i)}return g.join(n)},y=function(b,c,d){var e=a.matrix();return e.rotate(-b,.5,.5),{dx:e.x(c,d),dy:e.y(c,d)}},z=function(a,b,c,d,e,f){var g=a._,h=a.matrix,k=g.fillpos,l=a.node,m=l.style,o=1,p="",q=u/b,r=u/c;if(m.visibility="hidden",b&&c){if(l.coordsize=i(q)+n+i(r),m.rotation=f*(0>b*c?-1:1),f){var s=y(f,d,e);d=s.dx,e=s.dy}if(0>b&&(p+="x"),0>c&&(p+=" y")&&(o=-1),m.flip=p,l.coordorigin=d*-q+n+e*-r,k||g.fillsize){var t=l.getElementsByTagName(j);t=t&&t[0],l.removeChild(t),k&&(s=y(f,h.x(k[0],k[1]),h.y(k[0],k[1])),t.position=s.dx*o+n+s.dy*o),g.fillsize&&(t.size=g.fillsize[0]*i(b)+n+g.fillsize[1]*i(c)),l.appendChild(t)}m.visibility="visible"}};a.toString=function(){return"Your browser doesn’t support SVG. Falling down to VML.\nYou are running Raphaël "+this.version};var A=function(a,b,d){for(var e=c(b).toLowerCase().split("-"),f=d?"end":"start",g=e.length,h="classic",i="medium",j="medium";g--;)switch(e[g]){case"block":case"classic":case"oval":case"diamond":case"open":case"none":h=e[g];break;case"wide":case"narrow":j=e[g];break;case"long":case"short":i=e[g]}var k=a.node.getElementsByTagName("stroke")[0];k[f+"arrow"]=h,k[f+"arrowlength"]=i,k[f+"arrowwidth"]=j},B=function(e,i){e.attrs=e.attrs||{};var l=e.node,m=e.attrs,p=l.style,q=v[e.type]&&(i.x!=m.x||i.y!=m.y||i.width!=m.width||i.height!=m.height||i.cx!=m.cx||i.cy!=m.cy||i.rx!=m.rx||i.ry!=m.ry||i.r!=m.r),r=w[e.type]&&(m.cx!=i.cx||m.cy!=i.cy||m.r!=i.r||m.rx!=i.rx||m.ry!=i.ry),s=e;for(var t in i)i[b](t)&&(m[t]=i[t]);if(q&&(m.path=a._getPath[e.type](e),e._.dirty=1),i.href&&(l.href=i.href),i.title&&(l.title=i.title),i.target&&(l.target=i.target),i.cursor&&(p.cursor=i.cursor),"blur"in i&&e.blur(i.blur),(i.path&&"path"==e.type||q)&&(l.path=x(~c(m.path).toLowerCase().indexOf("r")?a._pathToAbsolute(m.path):m.path),"image"==e.type&&(e._.fillpos=[m.x,m.y],e._.fillsize=[m.width,m.height],z(e,1,1,0,0,0))),"transform"in i&&e.transform(i.transform),r){var y=+m.cx,B=+m.cy,D=+m.rx||+m.r||0,E=+m.ry||+m.r||0;l.path=a.format("ar{0},{1},{2},{3},{4},{1},{4},{1}x",f((y-D)*u),f((B-E)*u),f((y+D)*u),f((B+E)*u),f(y*u))}if("clip-rect"in i){var G=c(i["clip-rect"]).split(k);if(4==G.length){G[2]=+G[2]+ +G[0],G[3]=+G[3]+ +G[1];var H=l.clipRect||a._g.doc.createElement("div"),I=H.style;I.clip=a.format("rect({1}px {2}px {3}px {0}px)",G),l.clipRect||(I.position="absolute",I.top=0,I.left=0,I.width=e.paper.width+"px",I.height=e.paper.height+"px",l.parentNode.insertBefore(H,l),H.appendChild(l),l.clipRect=H)}i["clip-rect"]||l.clipRect&&(l.clipRect.style.clip="auto")}if(e.textpath){var J=e.textpath.style;i.font&&(J.font=i.font),i["font-family"]&&(J.fontFamily='"'+i["font-family"].split(",")[0].replace(/^['"]+|['"]+$/g,o)+'"'),i["font-size"]&&(J.fontSize=i["font-size"]),i["font-weight"]&&(J.fontWeight=i["font-weight"]),i["font-style"]&&(J.fontStyle=i["font-style"])}if("arrow-start"in i&&A(s,i["arrow-start"]),"arrow-end"in i&&A(s,i["arrow-end"],1),null!=i.opacity||null!=i["stroke-width"]||null!=i.fill||null!=i.src||null!=i.stroke||null!=i["stroke-width"]||null!=i["stroke-opacity"]||null!=i["fill-opacity"]||null!=i["stroke-dasharray"]||null!=i["stroke-miterlimit"]||null!=i["stroke-linejoin"]||null!=i["stroke-linecap"]){var K=l.getElementsByTagName(j),L=!1;if(K=K&&K[0],!K&&(L=K=F(j)),"image"==e.type&&i.src&&(K.src=i.src),i.fill&&(K.on=!0),(null==K.on||"none"==i.fill||null===i.fill)&&(K.on=!1),K.on&&i.fill){var M=c(i.fill).match(a._ISURL);if(M){K.parentNode==l&&l.removeChild(K),K.rotate=!0,K.src=M[1],K.type="tile";var N=e.getBBox(1);K.position=N.x+n+N.y,e._.fillpos=[N.x,N.y],a._preload(M[1],function(){e._.fillsize=[this.offsetWidth,this.offsetHeight]})}else K.color=a.getRGB(i.fill).hex,K.src=o,K.type="solid",a.getRGB(i.fill).error&&(s.type in{circle:1,ellipse:1}||"r"!=c(i.fill).charAt())&&C(s,i.fill,K)&&(m.fill="none",m.gradient=i.fill,K.rotate=!1)}if("fill-opacity"in i||"opacity"in i){var O=((+m["fill-opacity"]+1||2)-1)*((+m.opacity+1||2)-1)*((+a.getRGB(i.fill).o+1||2)-1);O=h(g(O,0),1),K.opacity=O,K.src&&(K.color="none")}l.appendChild(K);var P=l.getElementsByTagName("stroke")&&l.getElementsByTagName("stroke")[0],Q=!1;!P&&(Q=P=F("stroke")),(i.stroke&&"none"!=i.stroke||i["stroke-width"]||null!=i["stroke-opacity"]||i["stroke-dasharray"]||i["stroke-miterlimit"]||i["stroke-linejoin"]||i["stroke-linecap"])&&(P.on=!0),("none"==i.stroke||null===i.stroke||null==P.on||0==i.stroke||0==i["stroke-width"])&&(P.on=!1);var R=a.getRGB(i.stroke);P.on&&i.stroke&&(P.color=R.hex),O=((+m["stroke-opacity"]+1||2)-1)*((+m.opacity+1||2)-1)*((+R.o+1||2)-1);var S=.75*(d(i["stroke-width"])||1);if(O=h(g(O,0),1),null==i["stroke-width"]&&(S=m["stroke-width"]),i["stroke-width"]&&(P.weight=S),S&&1>S&&(O*=S)&&(P.weight=1),P.opacity=O,i["stroke-linejoin"]&&(P.joinstyle=i["stroke-linejoin"]||"miter"),P.miterlimit=i["stroke-miterlimit"]||8,i["stroke-linecap"]&&(P.endcap="butt"==i["stroke-linecap"]?"flat":"square"==i["stroke-linecap"]?"square":"round"),i["stroke-dasharray"]){var T={"-":"shortdash",".":"shortdot","-.":"shortdashdot","-..":"shortdashdotdot",". ":"dot","- ":"dash","--":"longdash","- .":"dashdot","--.":"longdashdot","--..":"longdashdotdot"};P.dashstyle=T[b](i["stroke-dasharray"])?T[i["stroke-dasharray"]]:o}Q&&l.appendChild(P)}if("text"==s.type){s.paper.canvas.style.display=o;var U=s.paper.span,V=100,W=m.font&&m.font.match(/\d+(?:\.\d*)?(?=px)/);p=U.style,m.font&&(p.font=m.font),m["font-family"]&&(p.fontFamily=m["font-family"]),m["font-weight"]&&(p.fontWeight=m["font-weight"]),m["font-style"]&&(p.fontStyle=m["font-style"]),W=d(m["font-size"]||W&&W[0])||10,p.fontSize=W*V+"px",s.textpath.string&&(U.innerHTML=c(s.textpath.string).replace(/"));var X=U.getBoundingClientRect();s.W=m.w=(X.right-X.left)/V,s.H=m.h=(X.bottom-X.top)/V,s.X=m.x,s.Y=m.y+s.H/2,("x"in i||"y"in i)&&(s.path.v=a.format("m{0},{1}l{2},{1}",f(m.x*u),f(m.y*u),f(m.x*u)+1));for(var Y=["x","y","text","font","font-family","font-weight","font-style","font-size"],Z=0,$=Y.length;$>Z;Z++)if(Y[Z]in i){s._.dirty=1;break}switch(m["text-anchor"]){case"start":s.textpath.style["v-text-align"]="left",s.bbx=s.W/2;break;case"end":s.textpath.style["v-text-align"]="right",s.bbx=-s.W/2;break;default:s.textpath.style["v-text-align"]="center",s.bbx=0}s.textpath.style["v-text-kern"]=!0}},C=function(b,f,g){b.attrs=b.attrs||{};var h=(b.attrs,Math.pow),i="linear",j=".5 .5";if(b.attrs.gradient=f,f=c(f).replace(a._radial_gradient,function(a,b,c){return i="radial",b&&c&&(b=d(b),c=d(c),h(b-.5,2)+h(c-.5,2)>.25&&(c=e.sqrt(.25-h(b-.5,2))*(2*(c>.5)-1)+.5),j=b+n+c),o}),f=f.split(/\s*\-\s*/),"linear"==i){var k=f.shift();if(k=-d(k),isNaN(k))return null}var l=a._parseDots(f);if(!l)return null;if(b=b.shape||b.node,l.length){b.removeChild(g),g.on=!0,g.method="none",g.color=l[0].color,g.color2=l[l.length-1].color;for(var m=[],p=0,q=l.length;q>p;p++)l[p].offset&&m.push(l[p].offset+n+l[p].color);g.colors=m.length?m.join():"0% "+g.color,"radial"==i?(g.type="gradientTitle",g.focus="100%",g.focussize="0 0",g.focusposition=j,g.angle=0):(g.type="gradient",g.angle=(270-k)%360),b.appendChild(g)}return 1},D=function(b,c){this[0]=this.node=b,b.raphael=!0,this.id=a._oid++,b.raphaelid=this.id,this.X=0,this.Y=0,this.attrs={},this.paper=c,this.matrix=a.matrix(),this._={transform:[],sx:1,sy:1,dx:0,dy:0,deg:0,dirty:1,dirtyT:1},!c.bottom&&(c.bottom=this),this.prev=c.top,c.top&&(c.top.next=this),c.top=this,this.next=null},E=a.el;D.prototype=E,E.constructor=D,E.transform=function(b){if(null==b)return this._.transform;var d,e=this.paper._viewBoxShift,f=e?"s"+[e.scale,e.scale]+"-1-1t"+[e.dx,e.dy]:o;e&&(d=b=c(b).replace(/\.{3}|\u2026/g,this._.transform||o)),a._extractTransform(this,f+b);var g,h=this.matrix.clone(),i=this.skew,j=this.node,k=~c(this.attrs.fill).indexOf("-"),l=!c(this.attrs.fill).indexOf("url(");if(h.translate(-.5,-.5),l||k||"image"==this.type)if(i.matrix="1 0 0 1",i.offset="0 0",g=h.split(),k&&g.noRotation||!g.isSimple){j.style.filter=h.toFilter();var m=this.getBBox(),p=this.getBBox(1),q=m.x-p.x,r=m.y-p.y;j.coordorigin=q*-u+n+r*-u,z(this,1,1,q,r,0)}else j.style.filter=o,z(this,g.scalex,g.scaley,g.dx,g.dy,g.rotate);else j.style.filter=o,i.matrix=c(h),i.offset=h.offset();return d&&(this._.transform=d),this},E.rotate=function(a,b,e){if(this.removed)return this;if(null!=a){if(a=c(a).split(k),a.length-1&&(b=d(a[1]),e=d(a[2])),a=d(a[0]),null==e&&(b=e),null==b||null==e){var f=this.getBBox(1);b=f.x+f.width/2,e=f.y+f.height/2}return this._.dirtyT=1,this.transform(this._.transform.concat([["r",a,b,e]])),this}},E.translate=function(a,b){return this.removed?this:(a=c(a).split(k),a.length-1&&(b=d(a[1])),a=d(a[0])||0,b=+b||0,this._.bbox&&(this._.bbox.x+=a,this._.bbox.y+=b),this.transform(this._.transform.concat([["t",a,b]])),this)},E.scale=function(a,b,e,f){if(this.removed)return this;if(a=c(a).split(k),a.length-1&&(b=d(a[1]),e=d(a[2]),f=d(a[3]),isNaN(e)&&(e=null),isNaN(f)&&(f=null)),a=d(a[0]),null==b&&(b=a),null==f&&(e=f),null==e||null==f)var g=this.getBBox(1);return e=null==e?g.x+g.width/2:e,f=null==f?g.y+g.height/2:f,this.transform(this._.transform.concat([["s",a,b,e,f]])),this._.dirtyT=1,this},E.hide=function(){return!this.removed&&(this.node.style.display="none"),this},E.show=function(){return!this.removed&&(this.node.style.display=o),this},E._getBBox=function(){return this.removed?{}:{x:this.X+(this.bbx||0)-this.W/2,y:this.Y-this.H,width:this.W,height:this.H}},E.remove=function(){if(!this.removed&&this.node.parentNode){this.paper.__set__&&this.paper.__set__.exclude(this),a.eve.unbind("raphael.*.*."+this.id),a._tear(this,this.paper),this.node.parentNode.removeChild(this.node),this.shape&&this.shape.parentNode.removeChild(this.shape);for(var b in this)this[b]="function"==typeof this[b]?a._removedFactory(b):null;this.removed=!0}},E.attr=function(c,d){if(this.removed)return this;if(null==c){var e={};for(var f in this.attrs)this.attrs[b](f)&&(e[f]=this.attrs[f]);return e.gradient&&"none"==e.fill&&(e.fill=e.gradient)&&delete e.gradient,e.transform=this._.transform,e}if(null==d&&a.is(c,"string")){if(c==j&&"none"==this.attrs.fill&&this.attrs.gradient)return this.attrs.gradient;for(var g=c.split(k),h={},i=0,m=g.length;m>i;i++)c=g[i],h[c]=c in this.attrs?this.attrs[c]:a.is(this.paper.customAttributes[c],"function")?this.paper.customAttributes[c].def:a._availableAttrs[c];return m-1?h:h[g[0]]}if(this.attrs&&null==d&&a.is(c,"array")){for(h={},i=0,m=c.length;m>i;i++)h[c[i]]=this.attr(c[i]);return h}var n;null!=d&&(n={},n[c]=d),null==d&&a.is(c,"object")&&(n=c);for(var o in n)l("raphael.attr."+o+"."+this.id,this,n[o]);if(n){for(o in this.paper.customAttributes)if(this.paper.customAttributes[b](o)&&n[b](o)&&a.is(this.paper.customAttributes[o],"function")){var p=this.paper.customAttributes[o].apply(this,[].concat(n[o]));this.attrs[o]=n[o];for(var q in p)p[b](q)&&(n[q]=p[q])}n.text&&"text"==this.type&&(this.textpath.string=n.text),B(this,n)}return this},E.toFront=function(){return!this.removed&&this.node.parentNode.appendChild(this.node),this.paper&&this.paper.top!=this&&a._tofront(this,this.paper),this},E.toBack=function(){return this.removed?this:(this.node.parentNode.firstChild!=this.node&&(this.node.parentNode.insertBefore(this.node,this.node.parentNode.firstChild),a._toback(this,this.paper)),this)},E.insertAfter=function(b){return this.removed?this:(b.constructor==a.st.constructor&&(b=b[b.length-1]),b.node.nextSibling?b.node.parentNode.insertBefore(this.node,b.node.nextSibling):b.node.parentNode.appendChild(this.node),a._insertafter(this,b,this.paper),this)},E.insertBefore=function(b){return this.removed?this:(b.constructor==a.st.constructor&&(b=b[0]),b.node.parentNode.insertBefore(this.node,b.node),a._insertbefore(this,b,this.paper),this)},E.blur=function(b){var c=this.node.runtimeStyle,d=c.filter;d=d.replace(r,o),0!==+b?(this.attrs.blur=b,c.filter=d+n+m+".Blur(pixelradius="+(+b||1.5)+")",c.margin=a.format("-{0}px 0 0 -{0}px",f(+b||1.5))):(c.filter=d,c.margin=0,delete this.attrs.blur)},a._engine.path=function(a,b){var c=F("shape");c.style.cssText=t,c.coordsize=u+n+u,c.coordorigin=b.coordorigin;var d=new D(c,b),e={fill:"none",stroke:"#000"};a&&(e.path=a),d.type="path",d.path=[],d.Path=o,B(d,e),b.canvas.appendChild(c);var f=F("skew");return f.on=!0,c.appendChild(f),d.skew=f,d.transform(o),d},a._engine.rect=function(b,c,d,e,f,g){var h=a._rectPath(c,d,e,f,g),i=b.path(h),j=i.attrs;return i.X=j.x=c,i.Y=j.y=d,i.W=j.width=e,i.H=j.height=f,j.r=g,j.path=h,i.type="rect",i},a._engine.ellipse=function(a,b,c,d,e){{var f=a.path();f.attrs}return f.X=b-d,f.Y=c-e,f.W=2*d,f.H=2*e,f.type="ellipse",B(f,{cx:b,cy:c,rx:d,ry:e}),f},a._engine.circle=function(a,b,c,d){{var e=a.path();e.attrs}return e.X=b-d,e.Y=c-d,e.W=e.H=2*d,e.type="circle",B(e,{cx:b,cy:c,r:d}),e},a._engine.image=function(b,c,d,e,f,g){var h=a._rectPath(d,e,f,g),i=b.path(h).attr({stroke:"none"}),k=i.attrs,l=i.node,m=l.getElementsByTagName(j)[0];return k.src=c,i.X=k.x=d,i.Y=k.y=e,i.W=k.width=f,i.H=k.height=g,k.path=h,i.type="image",m.parentNode==l&&l.removeChild(m),m.rotate=!0,m.src=c,m.type="tile",i._.fillpos=[d,e],i._.fillsize=[f,g],l.appendChild(m),z(i,1,1,0,0,0),i},a._engine.text=function(b,d,e,g){var h=F("shape"),i=F("path"),j=F("textpath");d=d||0,e=e||0,g=g||"",i.v=a.format("m{0},{1}l{2},{1}",f(d*u),f(e*u),f(d*u)+1),i.textpathok=!0,j.string=c(g),j.on=!0,h.style.cssText=t,h.coordsize=u+n+u,h.coordorigin="0 0";var k=new D(h,b),l={fill:"#000",stroke:"none",font:a._availableAttrs.font,text:g};k.shape=h,k.path=i,k.textpath=j,k.type="text",k.attrs.text=c(g),k.attrs.x=d,k.attrs.y=e,k.attrs.w=1,k.attrs.h=1,B(k,l),h.appendChild(j),h.appendChild(i),b.canvas.appendChild(h);var m=F("skew");return m.on=!0,h.appendChild(m),k.skew=m,k.transform(o),k},a._engine.setSize=function(b,c){var d=this.canvas.style;return this.width=b,this.height=c,b==+b&&(b+="px"),c==+c&&(c+="px"),d.width=b,d.height=c,d.clip="rect(0 "+b+" "+c+" 0)",this._viewBox&&a._engine.setViewBox.apply(this,this._viewBox),this},a._engine.setViewBox=function(b,c,d,e,f){a.eve("raphael.setViewBox",this,this._viewBox,[b,c,d,e,f]);var h,i,j=this.width,k=this.height,l=1/g(d/j,e/k);return f&&(h=k/e,i=j/d,j>d*h&&(b-=(j-d*h)/2/h),k>e*i&&(c-=(k-e*i)/2/i)),this._viewBox=[b,c,d,e,!!f],this._viewBoxShift={dx:-b,dy:-c,scale:l},this.forEach(function(a){a.transform("...")}),this};var F;a._engine.initWin=function(a){var b=a.document;b.createStyleSheet().addRule(".rvml","behavior:url(#default#VML)");try{!b.namespaces.rvml&&b.namespaces.add("rvml","urn:schemas-microsoft-com:vml"),F=function(a){return b.createElement("')}}catch(c){F=function(a){return b.createElement("<"+a+' xmlns="urn:schemas-microsoft.com:vml" class="rvml">')}}},a._engine.initWin(a._g.win),a._engine.create=function(){var b=a._getContainer.apply(0,arguments),c=b.container,d=b.height,e=b.width,f=b.x,g=b.y;if(!c)throw new Error("VML container not found.");var h=new a._Paper,i=h.canvas=a._g.doc.createElement("div"),j=i.style;return f=f||0,g=g||0,e=e||512,d=d||342,h.width=e,h.height=d,e==+e&&(e+="px"),d==+d&&(d+="px"),h.coordsize=1e3*u+n+1e3*u,h.coordorigin="0 0",h.span=a._g.doc.createElement("span"),h.span.style.cssText="position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;",i.appendChild(h.span),j.cssText=a.format("top:0;left:0;width:{0};height:{1};display:inline-block;position:relative;clip:rect(0 {0} {1} 0);overflow:hidden",e,d),1==c?(a._g.doc.body.appendChild(i),j.left=f+"px",j.top=g+"px",j.position="absolute"):c.firstChild?c.insertBefore(i,c.firstChild):c.appendChild(i),h.renderfix=function(){},h},a.prototype.clear=function(){a.eve("raphael.clear",this),this.canvas.innerHTML=o,this.span=a._g.doc.createElement("span"),this.span.style.cssText="position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;display:inline;",this.canvas.appendChild(this.span),this.bottom=this.top=null},a.prototype.remove=function(){a.eve("raphael.remove",this),this.canvas.parentNode.removeChild(this.canvas);for(var b in this)this[b]="function"==typeof this[b]?a._removedFactory(b):null;return!0};var G=a.st;for(var H in E)E[b](H)&&!G[b](H)&&(G[H]=function(a){return function(){var b=arguments;return this.forEach(function(c){c[a].apply(c,b)})}}(H))}(window.Raphael),window.multigraph.util.namespace("window.multigraph.graphics.raphael",function(a){"use strict";a.mixin=new window.multigraph.core.Mixin,a.mixin.add(function(){window.multigraph.driver="raphael"})}),window.multigraph.util.namespace("window.multigraph.graphics.raphael",function(a){"use strict";a.mixin.add(function(a){var b=a.Axis;b.hasA("axisElem"),b.hasA("gridElem"),b.hasA("tickmarkElem");var c=function(a,c){var d,e,f,g=a.currentLabeler(),h=a.perpOffset(),i=a.orientation(),j=c.plotBox(),k="";for(d=i===b.HORIZONTAL?j.height()-h:j.width()-h;g.hasNext();)f=g.next(),e=a.dataValueToAxisValue(f),k=i===b.HORIZONTAL?k+"M"+e+","+h+"L"+e+","+d:k+"M"+h+","+e+"L"+d+","+e;return k},d=function(a){return a.orientation()===b.HORIZONTAL?"M "+a.parallelOffset()+", "+a.perpOffset()+" l "+a.pixelLength()+", 0":"M "+a.perpOffset()+", "+a.parallelOffset()+" l 0, "+a.pixelLength()},e=function(b,c){var d=b.perpOffset();return b.orientation()===a.Axis.HORIZONTAL?"M"+c+","+(d+b.tickmax())+"L"+c+","+(d+b.tickmin()):"M"+(d+b.tickmin())+","+c+"L"+(d+b.tickmax())+","+c},f=function(a,b){var c=a.currentLabeler();a.prepareRender(b),a.currentLabeler()!==c&&void 0!==c&&(a.currentLabeler().elems(c.elems()),c.elems([]))};b.rspd("renderGrid",function(a,b,d){var e=b.text(100,100,"foo");if(f(this,e),this.hasDataMin()&&this.hasDataMax()&&this.grid().visible()&&this.labelers().size()>0&&this.currentLabelDensity()<=1.5){this.currentLabeler().prepare(this.dataMin(),this.dataMax());var g=b.path(c(this,a)).attr({"stroke-width":1,stroke:this.grid().color().getHexString("#")});this.gridElem(g),d.push(g)}e.remove()}),b.rspd("redrawGrid",function(a,b){var d=b.text(100,100,"foo");f(this,d),this.hasDataMin()&&this.hasDataMax()&&this.grid().visible()&&this.labelers().size()>0&&this.currentLabelDensity()<=1.5&&(this.currentLabeler().prepare(this.dataMin(),this.dataMax()),this.gridElem().attr("path",c(this,a))),d.remove()}),b.rspd("render",function(a,b,c){var f=b.text(100,100,"foo"),g=this.currentLabeler(),h=this.tickcolor(),i="",j=b.path(d(this)).attr("stroke",this.color().getHexString("#"));if(this.axisElem(j),c.push(j),this.hasDataMin()&&this.hasDataMax()&&g){var k,l;if(g.prepare(this.dataMin(),this.dataMax()),g.elems().length>0){var m,n;for(m=0,n=g.elems().length;n>m;m++)g.elems().pop().elem.remove()}for(;g.hasNext();)k=g.next(),l=this.dataValueToAxisValue(k),i+=e(this,l),g.renderLabel({paper:b,set:c,textElem:f},k);var o=b.path(i).attr("stroke",void 0!==h&&null!==h?h.getHexString("#"):"#000");this.tickmarkElem(o),c.push(o)}this.title()&&this.title().render(b,c),f.remove()}),b.rspd("redraw",function(a,b){var c=b.text(100,100,"foo"),f=this.currentLabeler(),g="";if(this.axisElem().attr("path",d(this)),this.hasDataMin()&&this.hasDataMax()&&f){var h,i,j=[];for(this.currentLabeler().prepare(this.dataMin(),this.dataMax());f.hasNext();)h=f.next(),i=this.dataValueToAxisValue(h),g+=e(this,i),j.push(h);f.redraw(a,b,j),this.tickmarkElem().attr("path",g)}this.title()&&this.title().redraw(),c.remove()})})}),window.multigraph.util.namespace("window.multigraph.graphics.raphael",function(a){"use strict";a.mixin.add(function(a){var b=a.AxisTitle;b.hasA("previousBase"),b.hasA("elem");var c=function(b){var c=b.axis(),d=(b.base()+1)*(c.pixelLength()/2)+c.minoffset()+c.parallelOffset(),e=c.perpOffset(),f=window.multigraph.math.Point;return c.orientation()===a.Axis.HORIZONTAL?new f(d,e):new f(e,d)};b.rspd("render",function(a,b){var d,e,f=this.content(),g=this.anchor(),h=c(this);d=new window.multigraph.math.Point(.5*f.origWidth()*g.x(),.5*f.origHeight()*g.y()),this.previousBase(h),e=f.drawText(a,d,h,this.position(),this.angle()),this.elem(e),b.push(e)}),b.rspd("redraw",function(){var a=this.previousBase(),b=c(this),d=this.elem();if(b.x()===a.x()&&b.y()===a.y())return this;var e=b.x()-a.x(),f=b.y()-a.y(),g=d.attr("x"),h=d.attr("y");d.attr({x:g+e,y:h-f}),this.previousBase(b)})})}),window.multigraph.util.namespace("window.multigraph.graphics.raphael",function(a){"use strict";a.mixin.add(function(a){var b=a.Background;b.hasA("elem"),b.rspd("render",function(a,b,c,d,e){var f=this.img(),g=a.window().margin().left()+a.window().border(),h=b.rect(g,g,d-2*g,e-2*g).attr({fill:this.color().getHexString("#"),stroke:"none"});this.elem(h),c.push(h),f&&void 0!==f.src()&&f.render(a,b,c,d,e)}),b.rspd("redraw",function(a,b,c){var d=a.window().margin().left()+2*a.window().border(),e=b-d,f=c-d,g=this.img(),h=this.elem();h.attr("width")!==e&&h.attr("width",e),h.attr("height")!==f&&h.attr("height",f),g&&void 0!==g.src()&&g.redraw(a)})})}),window.multigraph.util.namespace("window.multigraph.graphics.raphael",function(a){"use strict";a.mixin.add(function(a){a.ConstantPlot.rspd("redraw",function(){var a=this.horizontalaxis(),b=this.renderer(),c=this.constantValue();a.hasDataMin()&&a.hasDataMax()&&(b.beginRedraw(),b.dataPoint([a.dataMin(),c]),b.dataPoint([a.dataMax(),c]),b.endRedraw())})})}),window.multigraph.util.namespace("window.multigraph.graphics.raphael",function(a){"use strict";a.mixin.add(function(a){a.DataPlot.rspd("redraw",function(){var a=this.data();if(a){var b=this.horizontalaxis();if(b.hasDataMin()&&b.hasDataMax()){var c,d=[];for(c=0;c0){var o=a.rect(h/2,h/2,l+2*j+h,m+2*j+h).transform(d).attr({stroke:this.bordercolor().toRGBA(),"stroke-width":h});this.borderElem(o),b.push(o)}var p=a.rect(h,h,l+2*j,m+2*j).transform(d).attr({stroke:"none",fill:this.color().toRGBA(this.opacity())});this.backgroundElem(p),b.push(p);var q=new f(i.x()+h+j+l/2,i.y()+h+j+m/2),r=k.drawText(a,e,n,q,0).attr({"font-size":this.fontSize()});return this.textElem(r),b.push(r),this}),b.rspd("redraw",function(){var a=c(this),b=this.previousBase();if(a.x()===b.x()&&a.y()===b.y())return this;var d=this.textElem(),e=a.x()-b.x(),f=a.y()-b.y(),g=d.attr("x"),h=d.attr("y"),i="...t"+e+" "+f;return d.attr({x:g+e,y:h-f}),this.borderElem()&&this.borderElem().transform(i),this.backgroundElem().transform(i),this.previousBase(a),this})})}),window.multigraph.util.namespace("window.multigraph.graphics.raphael",function(a){"use strict";a.mixin.add(function(a){a.Icon.rspd("renderBorder",function(a,b,c){a.set.push(a.paper.rect(b,c,this.width(),this.height()).attr({stroke:"rgba(0, 0, 0, 1)"}))})})}),window.multigraph.util.namespace("window.multigraph.graphics.raphael",function(a){"use strict";a.mixin.add(function(a){var b=a.Img,c=function(a,c){var d,e,f=window.multigraph.math.util.interp,g=c.window(),h=c.plotarea(),i=a.base(),j=f(a.anchor().x(),-1,1,0,a.image().width),k=f(a.anchor().y(),1,-1,0,a.image().height),l=g.margin().left()+g.border(),m=g.margin().top()+g.border(),n=l+g.padding().left()+h.margin().left()+h.border(),o=m+g.padding().top()+h.margin().top()+h.border();return a.frame()===b.PLOT?(d=n+f(i.x(),-1,1,0,c.plotBox().width()),e=o+f(i.y(),1,-1,0,c.plotBox().height())):(d=l+f(i.x(),-1,1,0,c.paddingBox().width()),e=m+f(i.y(),1,-1,0,c.paddingBox().height())),{x:d+a.position().x()-j,y:e+a.position().y()-k}};b.hasA("image").dflt(function(){return new Image}),b.hasA("fetched").dflt(!1),b.hasA("elem"),b.rspd("render",function(a,b,d,e,f){var g=this.image(),h=this;if(this.fetched()){var i=c(this,a),j=b.image(this.src(),i.x,i.y,g.width,g.height);this.elem(j),d.push(j)}else g.onload=function(){h.fetched(!0),a.render(b,e,f)},g.src=this.src()}),b.rspd("redraw",function(a){if(this.fetched()){var b=c(this,a);this.elem().attr({x:b.x,y:b.y})}})})}),window.multigraph.util.namespace("window.multigraph.graphics.raphael",function(a){"use strict"; -a.mixin.add(function(a){var b=a.Labeler;b.hasA("elems").dflt(function(){return[]});var c=function(b,c){var d=b.dataValueToAxisValue(c),e=b.perpOffset();return b.orientation()===a.Axis.HORIZONTAL?{x:function(){return d},y:function(){return e}}:{x:function(){return e},y:function(){return d}}};b.rspd("measureStringWidth",function(b,c){return window.Raphael.svg?new a.Text(c).initializeGeometry({elem:b,angle:this.angle()}).rotatedWidth():(b.attr("text",c),b.W)}),b.rspd("measureStringHeight",function(b,c){return window.Raphael.svg?new a.Text(c).initializeGeometry({elem:b,angle:this.angle()}).rotatedHeight():(b.attr("text",c),b.H)}),b.rspd("renderLabel",function(b,d){var e,f,g=this.anchor(),h=(this.angle(),new a.Text(this.formatter().format(d))),i=c(this.axis(),d);h.initializeGeometry({elem:b.textElem,angle:this.angle()}),e=new window.multigraph.math.Point(.5*h.origWidth()*g.x(),.5*h.origHeight()*g.y()),f=h.drawText(b.paper,e,i,this.position(),this.angle()).attr("fill",this.color().getHexString("#")),this.elems().push({elem:f,base:i}),b.set.push(f)}),b.rspd("redraw",function(b,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=this.axis(),r=this.elems(),s=[],t=[];for(j=0;j0?(f=r.pop().elem,f.transform("").attr({text:l.string(),x:0,y:0})):f=d.text(0,0,l.string()).attr("fill",this.color().getHexString("#")),l.initializeGeometry({elem:f,angle:this.angle()});var u=.5*l.origWidth()*this.anchor().x(),v=.5*l.origHeight()*this.anchor().y(),w={x:function(){return u},y:function(){return v}},x=l.computeTransform(w,g,this.position(),this.angle());f.transform(b.transformString()+x),s.push({elem:f,base:g})}var y=r.length;for(j=0;y>j;j++)r.pop().elem.remove();this.elems(s)})})}),window.multigraph.util.namespace("window.multigraph.graphics.raphael",function(a){"use strict";a.mixin.add(function(a){var b=a.Legend;b.hasA("previousX"),b.hasA("previousY"),b.hasA("set"),b.rspd("begin",function(){}),b.rspd("end",function(a){var b=a.set;b.transform("t"+this.x()+","+this.y()+"..."),this.set(b).previousX(this.x()).previousY(this.y())}),b.rspd("renderLegend",function(a){a.set.push(a.paper.rect(0,0,this.width(),this.height()).attr({stroke:this.bordercolor().toRGBA(),"stroke-width":this.border(),fill:this.color().toRGBA(this.opacity())}))}),b.rspd("renderLabel",function(a,b,c,d){b.set.push(b.paper.text(c,d,a.string()).attr({fill:"rgba(0, 0, 0, 1)","text-anchor":"start"}).transform("t0,"+this.maxLabelHeight()/2+"s1,-1"))}),b.rspd("redraw",function(){if(this.determineVisibility()===!1)return this;var a,b,c=this.plots(),d=this.x()-this.previousX(),e=this.y()-this.previousY(),f=0;for((0!==d||0!==e)&&(this.set().transform("...t"+d+" "+e),this.previousX(this.x()).previousY(this.y())),a=0;a=c.size());a++)for(b=0;b=c.size());b++)c.at(f).renderer().redrawLegendIcon(),f++;return this})})}),window.multigraph.util.namespace("window.multigraph.graphics.raphael",function(a){"use strict";var b=window.multigraph.jQuery;a.mixin.add(function(a){var c=a.Multigraph;c.hasA("paper"),c.hasA("$div"),c.hasA("width").isA("number"),c.hasA("height").isA("number"),c.hasA("baseX").isA("number"),c.hasA("baseY").isA("number"),c.hasA("mouseLastX").isA("number"),c.hasA("mouseLastY").isA("number"),a.Multigraph.rspd("redraw",function(){var a=this;window.requestAnimationFrame(function(){var b,c,d=a.paper().text(-8e3,-8e3,"foo"),e=a.graphs();for(b=0;b
  • ').appendTo(this.$div()).busy_spinner()),this.render()}),a.Multigraph.rspd("render",function(){this.paper().clear();var a,b=this.paper().text(-8e3,-8e3,"foo");for(this.initializeGeometry(this.width(),this.height(),{elem:b}),a=0;a0?(e["fill-opacity"]=0,e["stroke-opacity"]=1,e.stroke=this.bordercolor().getHexString("#"),e["stroke-width"]=f):e.stroke="none",d=b.rect(a.x0()-f/2,a.y0()-f/2,a.plotBox().width()+f,a.plotBox().height()+f).attr(e),d.insertAfter(c),this.elem(d),c.push(d)}),a.rspd("redraw",function(a){var b=this.border(),c=a.plotBox(),d=c.width()+b,e=c.height()+b,f=this.elem();f.attr("width")!==d&&f.attr("width",d),f.attr("height")!==e&&f.attr("height",e)})})}),window.multigraph.util.namespace("window.multigraph.graphics.raphael",function(a){"use strict";a.mixin.add(function(a){var b=a.BandRenderer;b.hasA("fillElem"),b.hasA("line1Elem"),b.hasA("line2Elem"),b.hasA("state"),b.rspd("begin",function(a){var b={paper:a.paper,set:a.set,run:[],fillPath:"",line1Path:"",line2Path:"",linecolor:this.getOptionValue("linecolor"),line1color:this.getOptionValue("line1color"),line2color:this.getOptionValue("line2color"),linewidth:this.getOptionValue("linewidth"),line1width:this.getOptionValue("line1width"),line2width:this.getOptionValue("line2width"),fillcolor:this.getOptionValue("fillcolor"),fillopacity:this.getOptionValue("fillopacity")};this.state(b)}),b.rspd("beginRedraw",function(){var a=this.state();a.run=[],a.fillPath="",a.line1Path="",a.line2Path=""}),b.rspd("dataPoint",function(a){var b=this.state();this.isMissing(a)?b.run.length>0&&(d(b),b.run=[]):b.run.push(this.transformPoint(a))}),b.rspd("end",function(){var a,b,c=this.state(),e=c.paper,f=c.set;c.run.length>0&&d(c);var g=e.path(c.fillPath).attr({fill:c.fillcolor.toRGBA(c.fillopacity),stroke:"none"});if(this.fillElem(g),f.push(g),a=c.line1width>=0?c.line1width:c.linewidth,""!==c.line1Path&&a>0){b=null!==c.line1color?c.line1color:c.linecolor;var h=e.path(c.line1Path).attr({"stroke-width":a,stroke:b.getHexString("#")});this.line1Elem(h),f.push(h)}if(a=c.line2width>=0?c.line2width:c.linewidth,""!==c.line2Path&&a>0){b=null!==c.line2color?c.line2color:c.linecolor;var i=e.path(c.line2Path).attr({"stroke-width":a,stroke:b.getHexString("#")});this.line2Elem(i),f.push(i)}}),b.rspd("endRedraw",function(){var a=this.state();a.run.length>0&&d(a),this.fillElem().attr("path",a.fillPath),this.line1Elem()&&this.line1Elem().attr("path",a.line1Path),this.line2Elem()&&this.line2Elem().attr("path",a.line2Path)});var c=function(a,b,c,d,e){var f;if(d=d>=0?d:e,d>0)for(a=a+"M"+b[0][0]+","+b[0][c],f=1;f=0;--b)d=d+"L"+g[b][0]+","+g[b][2];d+="Z",e=c(e,g,1,a.line1width,a.linewidth),f=c(f,g,2,a.line2width,a.linewidth),a.fillPath=d,a.line1Path=e,a.line2Path=f};b.rspd("renderLegendIcon",function(a,b,c,d){var e,f,g,h=this.state(),i=a.paper,j=a.set,k=d.width(),l=d.height(),m="M0,"+2*l/8+"L0,"+6*l/8+"L"+k+","+7*l/8+"L"+k+","+3*l/8+"L0,"+2*l/8;e=10>k||10>l?h.fillcolor.toRGBA():"#FFFFFF",j.push(i.rect(b,c,k,l).attr({fill:e,stroke:e})),f=h.line2width>=0?h.line2width:h.linewidth,g=null!==h.line2color?h.line2color:h.linecolor,j.push(i.path(m).attr({"stroke-width":f,stroke:g.toRGBA(),fill:h.fillcolor.toRGBA(h.fillopacity)}).transform("t"+b+","+c))}),b.rspd("redrawLegendIcon",function(){})})}),window.multigraph.util.namespace("window.multigraph.graphics.raphael",function(a){"use strict";a.mixin.add(function(a){var b=a.BarRenderer;b.hasMany("barElems"),b.hasA("outlineElem"),b.hasA("iconGraphicElem"),b.hasA("settings"),b.rspd("begin",function(a){var b={paper:a.paper,set:a.set,paths:{},barwidth:this.getOptionValue("barwidth"),baroffset:this.getOptionValue("baroffset"),barbase:this.getOptionValue("barbase"),fillcolor:this.getOptionValue("fillcolor"),linecolor:this.getOptionValue("linecolor"),hidelines:this.getOptionValue("hidelines"),barGroups:[],currentBarGroup:null,prevCorner:null,pixelEdgeTolerance:1};b.barpixelwidth=b.barwidth.getRealValue()*this.plot().horizontalaxis().axisToDataRatio(),b.barpixelbase=null!==b.barbase?this.plot().verticalaxis().dataValueToAxisValue(b.barbase):0;var c;for(c=0;cb.hidelines&&(null===b.prevCorner?b.currentBarGroup=[[e,c[1]]]:Math.abs(e-b.prevCorner[0])<=b.pixelEdgeTolerance?b.currentBarGroup.push([e,c[1]]):(b.currentBarGroup.push(b.prevCorner),b.barGroups.push(b.currentBarGroup),b.currentBarGroup=[[e,c[1]]]),b.prevCorner=[f,c[1]])}});var c=function(a){var b,c,d,e,f="",g=a.barpixelbase;for(c=0;ce)return;for(f=f+"M"+b[1][0]+","+b[0][1]+"L"+b[0][0]+","+b[0][1]+"L"+b[0][0]+","+g+"L"+b[1][0]+","+g,d=1;e-1>d;++d)f=f+"M"+b[d][0]+","+Math.min(b[d-1][1],b[d][1],g)+"L"+b[d][0]+","+Math.max(b[d-1][1],b[d][1],g)+"M"+b[d][0]+","+b[d][1]+"L"+b[d+1][0]+","+b[d][1]+"M"+b[d][0]+","+g+"L"+b[d+1][0]+","+g;f=f+"M"+b[e-1][0]+","+b[e-1][1]+"L"+b[e-1][0]+","+g}return f};b.rspd("end",function(){var a,b,d=this.settings(),e=d.paper,f=d.set;null!==d.prevCorner&&null!==d.currentBarGroup&&(d.currentBarGroup.push(d.prevCorner),d.barGroups.push(d.currentBarGroup));var g;for(g in d.paths)d.paths.hasOwnProperty(g)&&(a=e.path(d.paths[g].path).attr({fill:d.paths[g].fillcolor.getHexString("#"),stroke:"none"}),this.barElems().add(a),f.push(a));b=e.path(c(d)).attr({"stroke-width":1,stroke:d.linecolor.getHexString("#")}),this.outlineElem(b),f.push(b)}),b.rspd("endRedraw",function(){var a=this.settings();null!==a.prevCorner&&null!==a.currentBarGroup&&(a.currentBarGroup.push(a.prevCorner),a.barGroups.push(a.currentBarGroup));var b,d=0;for(b in a.paths)a.paths.hasOwnProperty(b)&&(this.barElems().at(d).attr("path",a.paths[b].path),d++);this.outlineElem().attr("path",c(a))});var d=function(a,b,c,d){return"M"+a+","+b+"L"+a+","+(b+d)+"L"+(a+c)+","+(b+d)+"L"+(a+c)+","+b+"Z"};b.rspd("renderLegendIcon",function(a,b,c,e){var f,g,h=this.settings(),i=a.paper,j=a.set,k=this.getOptionValue("fillcolor",0),l=this.getOptionValue("fillopacity",0),m=e.width(),n=e.height(),o="";j.push(i.rect(b,c,m,n).attr({stroke:"rgba(255, 255, 255, 1)",fill:"rgba(255, 255, 255, 1)"})),f={"stroke-width":1,fill:k.toRGBA(l)},f.stroke=h.barpixelwidth20||n>20?m/6:m>10||n>10?m/4:m/4,m>20&&n>20&&(o=o+d(b+m/4-g/2,c,g,n/2)+d(b+m-m/4-g/2,c,g,n/3)),o+=d(b+m/2-g/2,c,g,n-n/4);var p=i.path(o).attr(f);this.iconGraphicElem(p),j.push(p)}),b.rspd("redrawLegendIcon",function(){var a,b=this.settings();a=b.barpixelwidth0&&(e=e+"M"+b[0]+","+b[1])):(d=d+"L"+b[0]+","+b[1],c.linewidth>0&&(e=e+"L"+b[0]+","+b[1])),c.fillpath=d,c.path=e,void(c.previouspoint=b))}),b.rspd("end",function(){var a=this.settings(),b=a.paper,c=a.set;null!==a.previouspoint&&(a.fillpath=a.fillpath+"L"+a.previouspoint[0]+","+a.fillpixelbase);var d=b.path(a.fillpath).attr({fill:a.fillcolor.toRGBA(a.fillopacity),stroke:"none"});if(this.fillElem(d),c.push(d),a.linewidth>0){var e=b.path(a.path).attr({stroke:a.linecolor.getHexString("#"),"stroke-width":a.linewidth});this.lineElem(e),c.push(e)}}),b.rspd("endRedraw",function(){var a=this.settings();null!==a.previouspoint&&(a.fillpath=a.fillpath+"L"+a.previouspoint[0]+","+a.fillpixelbase),this.fillElem().attr("path",a.fillpath),this.lineElem()&&this.lineElem().attr("path",a.path)}),b.rspd("renderLegendIcon",function(a,b,c,d){var e=this.settings(),f=a.paper,g=a.set,h=d.width(),i=d.height(),j={},k="M0,0";j.stroke="rgba(255, 255, 255, 1)",j.fill=10>h||10>i?e.fillcolor.toRGBA(e.fillopacity):"rgba(255, 255, 255, 1)",g.push(f.rect(b,c,h,i).attr(j)),(h>10||i>10)&&((h>20||i>20)&&(k=k+"L"+h/6+","+i/2+"L"+h/3+","+i/4),k=k+"L"+h/2+","+(i-i/4),(h>20||i>20)&&(k=k+"L"+(h-h/3)+","+i/4+"L"+(h-h/6)+","+i/2)),k=k+"L"+h+",0",g.push(f.path(k).attr({stroke:e.linecolor.toRGBA(e.fillopacity),"stroke-width":e.linewidth,fill:e.fillcolor.toRGBA(e.fillopacity)}).transform("t"+b+","+c))}),b.rspd("redrawLegendIcon",function(){})})}),window.multigraph.util.namespace("window.multigraph.graphics.raphael",function(a){"use strict";a.mixin.add(function(a){var b=a.PointlineRenderer;b.hasA("lineElem"),b.hasA("pointsElem"),b.hasA("settings"),b.rspd("begin",function(b){var c={paper:b.paper,set:b.set,path:"",points:[],first:!0,pointshape:this.getOptionValue("pointshape"),pointcolor:this.getOptionValue("pointcolor"),pointopacity:this.getOptionValue("pointopacity"),pointsize:this.getOptionValue("pointsize"),pointoutlinewidth:this.getOptionValue("pointoutlinewidth"),pointoutlinecolor:this.getOptionValue("pointoutlinecolor"),linecolor:this.getOptionValue("linecolor"),linewidth:this.getOptionValue("linewidth")};this.type()===a.Renderer.LINE&&(c.pointsize=0),this.type()===a.Renderer.POINT&&(c.linewidth=0),this.settings(c)}),b.rspd("beginRedraw",function(){var a=this.settings();a.path="",a.points=[],a.first=!0}),b.rspd("dataPoint",function(a){var b=this.settings();if(this.isMissing(a))return void(b.first=!0);var c=this.transformPoint(a);b.linewidth>0&&(b.first?(b.path=b.path+"M"+c[0]+","+c[1],b.first=!1):b.path=b.path+"L"+c[0]+","+c[1]),b.pointsize>0&&b.points.push(c)}),b.rspd("end",function(){var a=this.settings(),b=a.paper,d=a.set;if(a.linewidth>0){var f=b.path(a.path).attr({stroke:a.linecolor.getHexString("#"),"stroke-width":a.linewidth});this.lineElem(f),d.push(f)}if(a.pointsize>0){var g=b.path(c(a)).attr(e(a));this.pointsElem(g),d.push(g)}}),b.rspd("endRedraw",function(){var a=this.settings();this.lineElem()&&this.lineElem().attr("path",a.path),this.pointsElem()&&this.pointsElem().attr("path",c(a))});var c=function(a){var b,c=a.points,e=a.pointshape,f=a.pointsize,g="";for(b=0;b0){var l="M"+b+","+(c+k/2)+"L"+(b+j)+","+(c+k/2);i.push(h.path(l).attr({stroke:g.linecolor.toRGBA(),"stroke-width":g.linewidth}))}g.pointsize>0&&i.push(h.path(d(g.pointshape,g.pointsize,[b+j/2,c+k/2])).attr(e(g)))}),b.rspd("redrawLegendIcon",function(){})})}),window.multigraph.util.namespace("window.multigraph.graphics.raphael",function(a){"use strict";a.mixin.add(function(a){var b=a.RangeBarRenderer;b.hasA("elem"),b.hasA("iconGraphicElem"),b.hasA("state"),b.rspd("begin",function(a){var b={paper:a.paper,set:a.set,path:"",barwidth:this.getOptionValue("barwidth"),baroffset:this.getOptionValue("baroffset"),fillcolor:this.getOptionValue("fillcolor"),fillopacity:this.getOptionValue("fillopacity"),linecolor:this.getOptionValue("linecolor"),linewidth:this.getOptionValue("linewidth"),hidelines:this.getOptionValue("hidelines")};b.barpixelwidth=b.barwidth.getRealValue()*this.plot().horizontalaxis().axisToDataRatio(),b.barpixeloffset=b.barpixelwidth*b.baroffset,this.state(b)}),b.rspd("beginRedraw",function(){var a=this.state();a.path="",a.barpixelwidth=a.barwidth.getRealValue()*this.plot().horizontalaxis().axisToDataRatio(),a.barpixeloffset=a.barpixelwidth*a.baroffset}),b.rspd("dataPoint",function(a){if(!this.isMissing(a)){var b=this.state(),c=this.transformPoint(a),d=c[0]-b.barpixeloffset,e=d+b.barpixelwidth;b.path=b.path+"M"+d+","+c[1]+"L"+d+","+c[2]+"L"+e+","+c[2]+"L"+e+","+c[1]+"Z"}}),b.rspd("end",function(){var a=this.state(),b=a.path,c={"fill-opacity":a.fillopacity,fill:a.fillcolor.getHexString("#"),stroke:"none"};a.linewidth>0&&a.barpixelwidth>a.hidelines&&(c.stroke=a.linecolor.getHexString("#"),c["stroke-width"]=a.linewidth);var d=a.paper.path(b).attr(c);this.elem(d),a.set.push(d)}),b.rspd("endRedraw",function(){var a=this.state(),b={path:a.path};a.linewidth>0&&a.barpixelwidth>a.hidelines?(b.stroke=a.linecolor.getHexString("#"),b["stroke-width"]=a.linewidth):(b.stroke="none",b["stroke-width"]=1),this.elem().attr(b)});var c=function(a,b,c,d){return"M"+a+","+b+"L"+a+","+(b+d)+"L"+(a+c)+","+(b+d)+"L"+(a+c)+","+b+"Z"};b.rspd("renderLegendIcon",function(a,b,d,e){var f=this.state(),g=a.paper,h=a.set,i=e.width(),j=e.height(),k="";h.push(g.rect(b,d,i,j).attr({stroke:"#FFFFFF",fill:"#FFFFFF"}));var l={fill:f.fillcolor.toRGBA(f.fillopacity),"stroke-width":f.linewidth};l.stroke=f.barpixelwidth<10?f.fillcolor.toRGBA(f.fillopacity):f.linecolor.getHexString("#");var m;m=i>20||j>20?i/6:i>10||j>10?i/4:i/4,i>20&&j>20&&(k=k+c(b+i/4-m/2,d+j/8,m,j/2)+c(b+i-i/4-m/2,d+j/4,m,j/3)),k+=c(b+i/2-m/2,d,m,j-j/4);var n=g.path(k).attr(l);return this.iconGraphicElem(n),h.push(n),this}),b.rspd("redrawLegendIcon",function(){var a,b=this.state();a=b.barpixelwidth<10?b.fillcolor.toRGBA(b.fillopacity):b.linecolor.getHexString("#"),this.iconGraphicElem().attr("stroke",a)})})}),window.multigraph.util.namespace("window.multigraph.graphics.raphael",function(a){"use strict";a.mixin.add(function(a){var b=a.Text;b.rspd("initializeGeometry",function(a){var b,c,d,e,f,g,h,i,j=a.elem;if(void 0!==a.fontSize&&(g=j.attr("font-size"),j.attr("font-size",a.fontSize)),i=j.attr("text"),j.attr("text",this.string()),h=j.transform(),j.transform(""),f=j.getBBox(),b=f.width,c=f.height,void 0!==a.angle){var k=a.angle/180*Math.PI,l=Math.abs(Math.sin(k)),m=Math.abs(Math.cos(k));d=m*b+l*c,e=l*b+m*c}else d=b,e=c;void 0!==a.fontSize&&j.attr("font-size",g),j.attr("text",i);var n;for(n=0;n0&&this.currentLabelDensity()<=1.5){var d=this.currentLabeler(),e=this.perpOffset(),f=b.plotBox();for(d.prepare(this.dataMin(),this.dataMax()),c.beginPath();d.hasNext();){var g=d.next(),h=this.dataValueToAxisValue(g);this.orientation()===a.Axis.HORIZONTAL?(c.moveTo(h,e),c.lineTo(h,f.height()-e)):(c.moveTo(e,h),c.lineTo(f.width()-e,h))}c.strokeStyle=this.grid().color().getHexString("#"),c.stroke()}}),a.Axis.rspd("render",function(b,c){var d=this.parallelOffset(),e=this.perpOffset(),f=this.pixelLength(),g=this.currentLabeler(),h=this.orientation()===a.Axis.HORIZONTAL;if(this.linewidth()>0&&(c.beginPath(),h?(c.moveTo(d,e),c.lineTo(d+f,e)):(c.moveTo(e,d),c.lineTo(e,d+f)),c.strokeStyle=this.color().getHexString("#"),c.stroke()),this.hasDataMin()&&this.hasDataMax()&&g&&g.visible()){var i=this.tickwidth(),j=this.tickmin(),k=this.tickmax(),l=this.tickcolor();for(c.beginPath(),c.fillStyle="#000000",g.prepare(this.dataMin(),this.dataMax());g.hasNext();){var m=g.next(),n=this.dataValueToAxisValue(m);i>0&&(void 0!==l&&null!==l&&(c.strokeStyle=l.getHexString("#")),h?(c.moveTo(n,e+k),c.lineTo(n,e+j)):(c.moveTo(e+j,n),c.lineTo(e+k,n)),void 0!==l&&null!==l&&c.restore()),g.renderLabel(c,m)}c.stroke()}this.title()&&this.title().render(c)})})}),window.multigraph.util.namespace("window.multigraph.graphics.canvas",function(a){"use strict";a.mixin.add(function(a){a.AxisTitle.rspd("render",function(b){var c,d=window.multigraph.math.Point,e=this.axis(),f=this.content(),g=this.anchor(),h=e.perpOffset(),i=f.origHeight(),j=f.origWidth(),k=new d(.5*j*(g.x()+1),.5*i*(g.y()+1)),l=(this.base()+1)*(e.pixelLength()/2)+e.minoffset()+e.parallelOffset();c=e.orientation()===a.Axis.HORIZONTAL?new d(l,h):new d(h,l),b.save(),b.fillStyle="rgba(0, 0, 0, 1)",f.drawText(b,k,c,this.position(),this.angle()),b.restore()})})}),window.multigraph.util.namespace("window.multigraph.graphics.canvas",function(a){"use strict";a.mixin.add(function(a){a.Background.rspd("render",function(a,b,c,d){var e=a.window().margin().left()+a.window().border(),f=this.img();b.save(),b.fillStyle=this.color().getHexString("#"),b.fillRect(e,e,c-2*e,d-2*e),b.restore(),f&&void 0!==f.src()&&f.render(a,b,c,d)})})}),window.multigraph.util.namespace("window.multigraph.graphics.canvas",function(a){"use strict";a.mixin.add(function(a){var b=a.Graph;b.rspd("render",function(a,b,c){var d;for(this.window().render(a,b,c),this.background().render(this,a,b,c),a.transform(1,0,0,1,this.x0(),this.y0()),this.plotarea().render(this,a),d=0;d0&&(a.strokeStyle=this.bordercolor().toRGBA(),a.lineWidth=e,a.strokeRect(e/2,e/2,p+2*f+e,o+2*f+e)),a.fillStyle=k,a.fillRect(e,e,p+2*f,o+2*f),a.restore(),a.save();var r=new c(i.x()+e+f,i.y()+e+f);a.font=this.fontSize()+" sans-serif",a.fillStyle="rgba(0, 0, 0, 1)",j.drawText(a,q,b,r,0),a.restore()})})}),window.multigraph.util.namespace("window.multigraph.graphics.canvas",function(a){"use strict";a.mixin.add(function(a){a.Icon.rspd("renderBorder",function(a,b,c){a.save(),a.strokeStyle="rgba(0, 0, 0, 1)",a.strokeRect(b,c,this.width(),this.height()),a.restore()})})}),window.multigraph.util.namespace("window.multigraph.graphics.canvas",function(a){"use strict";a.mixin.add(function(){var a=window.multigraph.core.Img;a.hasA("image").dflt(function(){return new Image}),a.hasA("fetched").dflt(!1),a.rspd("render",function(b,c,d,e){if(this.fetched()){var f,g,h,i,j=window.multigraph.math.util.interp,k=this.image(),l=b.window(),m=b.plotarea(),n=this.base(),o=j(this.anchor().x(),-1,1,0,k.width),p=j(this.anchor().y(),1,-1,0,k.height),q=l.margin().left()+l.border(),r=l.margin().top()+l.border(),s=q+l.padding().left()+m.margin().left()+m.border(),t=r+l.padding().top()+m.margin().top()+m.border();this.frame()===a.PLOT?(f=s+j(n.x(),-1,1,0,b.plotBox().width()),g=t+j(n.y(),1,-1,0,b.plotBox().height())):(f=q+j(n.x(),-1,1,0,b.paddingBox().width()),g=r+j(n.y(),1,-1,0,b.paddingBox().height())),h=f+this.position().x()-o,i=g+this.position().y()-p,c.save(),c.transform(1,0,0,-1,0,e),c.drawImage(k,h,i,k.width,k.height),c.restore()}else{var u=this;this.image().onload=function(){u.fetched(!0),c.save(),c.setTransform(1,0,0,-1,0,e),b.render(c,d,e),c.restore()},this.image().src=this.src() -}})})}),window.multigraph.util.namespace("window.multigraph.graphics.canvas",function(a){"use strict";a.mixin.add(function(a){var b=a.Labeler;b.rspd("measureStringWidth",function(b,c){return new a.Text(c).initializeGeometry({context:b,angle:this.angle()}).rotatedWidth()}),b.rspd("measureStringHeight",function(b,c){return new a.Text(c).initializeGeometry({context:b,angle:this.angle()}).rotatedHeight()}),b.rspd("renderLabel",function(b,c){var d,e,f=window.multigraph.math.Point,g=this.axis(),h=this.anchor(),i=this.angle(),j=g.perpOffset(),k=g.dataValueToAxisValue(c),l=new a.Text(this.formatter().format(c));l.initializeGeometry({context:b,angle:i}),d=new f(.5*l.origWidth()*(h.x()+1),.5*l.origHeight()*(h.y()+1)),e=g.orientation()===a.Axis.HORIZONTAL?new f(k,j):new f(j,k),b.save(),b.fillStyle=this.color().getHexString("#"),l.drawText(b,d,e,this.position(),i),b.restore()})})}),window.multigraph.util.namespace("window.multigraph.graphics.canvas",function(a){"use strict";a.mixin.add(function(a){var b=a.Legend;b.rspd("begin",function(a){a.save(),a.transform(1,0,0,1,this.x(),this.y())}),b.rspd("end",function(a){a.restore()}),b.rspd("renderLegend",function(a){var b=this.border();a.save(),b>0&&(a.strokeStyle=this.bordercolor().toRGBA(),a.strokeRect(b/2,b/2,this.width()-b/2,this.height()-b/2)),a.fillStyle=this.color().toRGBA(this.opacity()),a.fillRect(b,b,this.width()-2*b,this.height()-2*b),a.restore()}),b.rspd("renderLabel",function(a,b,c,d){b.save(),b.fillStyle="rgba(0, 0, 0, 1)",b.transform(1,0,0,-1,0,d+this.maxLabelHeight()/2-a.origHeight()/2),b.fillText(a.string(),c,0),b.restore()})})}),window.multigraph.util.namespace("window.multigraph.graphics.canvas",function(a){"use strict";var b=window.multigraph.jQuery;a.mixin.add(function(a){var c=a.Multigraph;c.hasA("canvas"),c.hasA("context"),c.hasA("width").isA("number"),c.hasA("height").isA("number"),c.rspd("redraw",function(){var a=this;window.requestAnimationFrame(function(){a.render()})}),c.rspd("init",function(){var a=b(this.div());this.width(a.width()),this.height(a.height()),this.width()>0&&this.height()>0&&(b('').appendTo(a),this.initializeSurface(),this.busySpinner(b('
    ').appendTo(a).busy_spinner())),this.render()}),c.rspd("render",function(){var a,b=this.context(),c=this.width(),d=this.height();for(b.setTransform(1,0,0,1,0,0),b.transform(1,0,0,-1,0,d),b.clearRect(0,0,c,d),this.initializeGeometry(c,d,{context:b}),a=0;a0&&(b.save(),b.lineWidth=d,b.strokeStyle=this.bordercolor().getHexString("#"),b.strokeRect(-d/2,-d/2,c.width()+d,c.height()+d),b.restore())})})}),window.multigraph.util.namespace("window.multigraph.graphics.canvas",function(a){"use strict";a.mixin.add(function(a){var b=a.BandRenderer;b.hasA("state"),b.rspd("begin",function(a){var b={context:a,run:[],linecolor:this.getOptionValue("linecolor"),line1color:this.getOptionValue("line1color"),line2color:this.getOptionValue("line2color"),linewidth:this.getOptionValue("linewidth"),line1width:this.getOptionValue("line1width"),line2width:this.getOptionValue("line2width"),fillcolor:this.getOptionValue("fillcolor"),fillopacity:this.getOptionValue("fillopacity")};this.state(b)}),b.rspd("dataPoint",function(a){var b=this.state();if(this.isMissing(a))b.run.length>0&&(this.renderRun(),b.run=[]);else{var c=this.transformPoint(a);b.run.push(c)}}),b.rspd("end",function(){var a=this.state();a.run.length>0&&this.renderRun()});var c=function(a,b,c,d,e,f,g){var h;if(f=f>=0?f:g,f>0){for(d=null!==d?d:e,a.save(),a.strokeStyle=d.getHexString("#"),a.lineWidth=f,a.beginPath(),a.moveTo(b[0][0],b[0][c]),h=1;h=0;--a)d.lineTo(e[a][0],e[a][2]);d.fill(),d.restore(),c(d,e,1,b.line1color,b.linecolor,b.line1width,b.linewidth),c(d,e,2,b.line2color,b.linecolor,b.line2width,b.linewidth)}),b.rspd("renderLegendIcon",function(a,b,c,d){var e=this.state(),f=d.width(),g=d.height();a.save(),a.transform(1,0,0,1,b,c),a.save(),a.fillStyle=10>f||10>g?e.fillcolor.toRGBA():"#FFFFFF",a.fillRect(0,0,f,g),a.restore(),a.strokeStyle=null!==e.line2color?e.line2color:e.linecolor,a.lineWidth=e.line2width>=0?e.line2width:e.linewidth,a.fillStyle=e.fillcolor.toRGBA(e.fillopacity),a.beginPath(),a.moveTo(0,2*g/8),a.lineTo(0,6*g/8),a.lineTo(f,7*g/8),a.lineTo(f,3*g/8),a.lineTo(0,2*g/8),a.fill(),a.stroke(),a.restore()})})}),window.multigraph.util.namespace("window.multigraph.graphics.canvas",function(a){"use strict";a.mixin.add(function(a){var b=a.BarRenderer;b.hasA("settings"),b.rspd("begin",function(a){var b={context:a,barpixelwidth:this.getOptionValue("barwidth").getRealValue()*this.plot().horizontalaxis().axisToDataRatio(),baroffset:this.getOptionValue("baroffset"),barpixelbase:null!==this.getOptionValue("barbase")?this.plot().verticalaxis().dataValueToAxisValue(this.getOptionValue("barbase")):0,fillcolor:this.getOptionValue("fillcolor"),linecolor:this.getOptionValue("linecolor"),hidelines:this.getOptionValue("hidelines"),barGroups:[],currentBarGroup:null,prevCorner:null,pixelEdgeTolerance:1};this.settings(b)}),b.rspd("dataPoint",function(a){if(!this.isMissing(a)){var b=this.settings(),c=b.context,d=this.transformPoint(a),e=d[0]+b.baroffset,f=d[0]+b.baroffset+b.barpixelwidth;c.save(),c.fillStyle=this.getOptionValue("fillcolor",a[1]).getHexString("#"),c.fillRect(e,b.barpixelbase,b.barpixelwidth,d[1]-b.barpixelbase),c.restore(),b.barpixelwidth>b.hidelines&&(null===b.prevCorner?b.currentBarGroup=[[e,d[1]]]:Math.abs(e-b.prevCorner[0])<=b.pixelEdgeTolerance?b.currentBarGroup.push([e,d[1]]):(b.currentBarGroup.push(b.prevCorner),b.barGroups.push(b.currentBarGroup),b.currentBarGroup=[[e,d[1]]]),b.prevCorner=[f,d[1]])}}),b.rspd("end",function(){var a,b,c,d,e=this.settings(),f=e.context,g=e.barpixelbase,h=Math.max,i=Math.min;for(null!==e.prevCorner&&null!==e.currentBarGroup&&(e.currentBarGroup.push(e.prevCorner),e.barGroups.push(e.currentBarGroup)),f.save(),f.strokeStyle=e.linecolor.getHexString("#"),f.beginPath(),b=0;bd)return;for(f.moveTo(a[1][0],a[0][1]),f.lineTo(a[0][0],a[0][1]),f.lineTo(a[0][0],g),f.lineTo(a[1][0],g),c=1;d-1>c;++c)f.moveTo(a[c][0],i(a[c-1][1],a[c][1],g)),f.lineTo(a[c][0],h(a[c-1][1],a[c][1],g)),f.moveTo(a[c][0],a[c][1]),f.lineTo(a[c+1][0],a[c][1]),f.moveTo(a[c][0],g),f.lineTo(a[c+1][0],g);f.moveTo(a[d-1][0],a[d-1][1]),f.lineTo(a[d-1][0],g)}f.stroke(),f.restore()}),b.rspd("renderLegendIcon",function(a,b,c,d){var e=this.settings(),f=this.getOptionValue("fillcolor",0).toRGBA(this.getOptionValue("fillopacity",0));a.save(),a.transform(1,0,0,1,b,c),a.fillStyle="rgba(255, 255, 255, 1)",a.fillRect(0,0,d.width(),d.height()),a.lineWidth=1,a.fillStyle=f,a.strokeStyle=e.barpixelwidth20||i>20?h/6:h>10||i>10?h/4:h/4,h>20&&i>20&&(a.fillRect(h/4-g/2,0,g,i/2),a.strokeRect(h/4-g/2,0,g,i/2),a.fillRect(h-h/4-g/2,0,g,i/3),a.strokeRect(h-h/4-g/2,0,g,i/3)),a.fillRect(h/2-g/2,0,g,i-i/4),a.strokeRect(h/2-g/2,0,g,i-i/4),a.restore()})})}),window.multigraph.util.namespace("window.multigraph.graphics.canvas",function(a){"use strict";var b=window.multigraph.math.util;a.mixin.add(function(a){var c=a.FillRenderer;c.hasA("state"),c.rspd("begin",function(a){var b={context:a,run:[],previouspoint:null,linecolor:this.getOptionValue("linecolor"),linewidth:this.getOptionValue("linewidth"),fillcolor:this.getOptionValue("fillcolor"),downfillcolor:this.getOptionValue("downfillcolor"),fillopacity:this.getOptionValue("fillopacity"),fillbase:this.getOptionValue("fillbase"),currentfillcolor:null};null===b.downfillcolor&&(b.downfillcolor=b.fillcolor),b.fillpixelbase=null!==b.fillbase?this.plot().verticalaxis().dataValueToAxisValue(b.fillbase):0,this.state(b),a.save(),a.fillStyle=b.fillcolor.getHexString("#")}),c.rspd("dataPoint",function(a){var c,d,e=this.state(),f=e.fillpixelbase;if(this.isMissing(a))return void(null!==e.previouspoint&&(e.run.push([e.previouspoint[0],f]),this.renderRun(),e.run=[],e.previouspoint=null));if(d=this.transformPoint(a),c=d[1]>=f?e.fillcolor:e.downfillcolor,0===e.run.length)e.run.push([d[0],f]);else if(!c.eq(e.currentfillcolor)){var g=b.safe_interp(f,e.previouspoint[1],d[1],e.previouspoint[0],d[0]);e.run.push([g,f]),e.run.push([g,f]),this.renderRun(),e.run=[],e.run.push([g,f]),e.run.push([g,f])}e.run.push(d),e.previouspoint=d,e.currentfillcolor=c}),c.rspd("end",function(){var a=this.state(),b=a.context;a.run.length>0&&(a.run.push([a.run[a.run.length-1][0],a.fillpixelbase]),this.renderRun()),b.restore()}),c.rspd("renderRun",function(){var a,b=this.state(),c=b.context;for(c.save(),c.globalAlpha=b.fillopacity,c.fillStyle=b.currentfillcolor.getHexString("#"),c.beginPath(),c.moveTo(b.run[0][0],b.run[0][1]),a=1;af||10>g?e.fillcolor.toRGBA():"rgba(255, 255, 255, 1)",a.fillRect(0,0,f,g),a.restore(),a.strokeStyle=e.linecolor.toRGBA(),a.lineWidth=e.linewidth,a.fillStyle=e.fillcolor.toRGBA(e.fillopacity),a.beginPath(),a.moveTo(0,0),(f>10||g>10)&&((f>20||g>20)&&(a.lineTo(f/6,g/2),a.lineTo(f/3,g/4)),a.lineTo(f/2,g-g/4),(f>20||g>20)&&(a.lineTo(f-f/3,g/4),a.lineTo(f-f/6,g/2))),a.lineTo(f,0),a.stroke(),a.fill(),a.restore()})})}),window.multigraph.util.namespace("window.multigraph.graphics.canvas",function(a){"use strict";a.mixin.add(function(a){var b=a.PointlineRenderer;b.hasA("settings"),b.rspd("begin",function(b){var c={context:b,points:[],first:!0,pointshape:this.getOptionValue("pointshape"),pointcolor:this.getOptionValue("pointcolor"),pointopacity:this.getOptionValue("pointopacity"),pointsize:this.getOptionValue("pointsize"),pointoutlinewidth:this.getOptionValue("pointoutlinewidth"),pointoutlinecolor:this.getOptionValue("pointoutlinecolor"),linecolor:this.getOptionValue("linecolor"),linewidth:this.getOptionValue("linewidth")};this.type()===a.Renderer.LINE&&(c.pointsize=0),this.type()===a.Renderer.POINT&&(c.linewidth=0),this.settings(c),c.linewidth>0&&(b.save(),b.beginPath(),b.lineWidth=c.linewidth,b.strokeStyle=c.linecolor.getHexString("#"))}),b.rspd("dataPoint",function(a){var b,c=this.settings(),d=c.context;return this.isMissing(a)?void(c.first=!0):(b=this.transformPoint(a),c.linewidth>0&&(c.first?(d.moveTo(b[0],b[1]),c.first=!1):d.lineTo(b[0],b[1])),void(c.pointsize>0&&c.points.push(b)))}),b.rspd("end",function(){var a=this.settings(),b=a.context;a.linewidth>0&&(b.stroke(),b.restore()),a.pointsize>0&&this.drawPoints()}),b.rspd("drawPoints",function(){var a,c=this.settings(),d=c.context,e=c.points,f=c.pointshape;for(d.save(),d.beginPath(),f===b.PLUS||f===b.X?(d.strokeStyle=c.pointcolor.getHexString("#"),d.lineWidth=c.pointoutlinewidth):(d.fillStyle=c.pointcolor.toRGBA(c.pointopacity),d.strokeStyle=c.pointoutlinecolor.getHexString("#"),d.lineWidth=c.pointoutlinewidth),a=0;a0&&(a.strokeStyle=f.linecolor.toRGBA(),a.lineWidth=f.linewidth,a.beginPath(),a.moveTo(c,d+i/2),a.lineTo(c+h,d+i/2),a.stroke()),f.pointsize>0&&(a.beginPath(),g===b.PLUS||g===b.X?(a.strokeStyle=f.pointcolor.toRGBA(),a.lineWidth=f.pointoutlinewidth):(a.fillStyle=f.pointcolor.toRGBA(f.pointopacity),a.strokeStyle=f.pointoutlinecolor.toRGBA(),a.lineWidth=f.pointoutlinewidth),this.drawPoint(a,f,[c+h/2,d+i/2]),g!==b.PLUS&&g!==b.X&&a.fill(),a.stroke()),a.restore()})})}),window.multigraph.util.namespace("window.multigraph.graphics.canvas",function(a){"use strict";a.mixin.add(function(a){var b=a.RangeBarRenderer;b.hasA("state"),b.rspd("begin",function(a){var b={context:a,run:[],barpixelwidth:this.getOptionValue("barwidth").getRealValue()*this.plot().horizontalaxis().axisToDataRatio(),barpixeloffset:0,baroffset:this.getOptionValue("baroffset"),fillcolor:this.getOptionValue("fillcolor"),fillopacity:this.getOptionValue("fillopacity"),linecolor:this.getOptionValue("linecolor"),linewidth:this.getOptionValue("linewidth"),hidelines:this.getOptionValue("hidelines")};b.barpixeloffset=b.barpixelwidth*b.baroffset,this.state(b),a.save(),a.beginPath()}),b.rspd("dataPoint",function(a){if(!this.isMissing(a)){var b=this.state(),c=b.context,d=this.transformPoint(a),e=d[0]-b.barpixeloffset,f=e+b.barpixelwidth;c.moveTo(e,d[1]),c.lineTo(e,d[2]),c.lineTo(f,d[2]),c.lineTo(f,d[1]),c.lineTo(e,d[1])}}),b.rspd("end",function(){var a=this.state(),b=a.context;b.globalAlpha=a.fillopacity,b.fillStyle=a.fillcolor.getHexString("#"),b.fill(),a.linewidth>0&&a.barpixelwidth>a.hidelines&&(b.strokeStyle=a.linecolor.getHexString("#"),b.lineWidth=a.linewidth,b.stroke()),b.restore()}),b.rspd("renderLegendIcon",function(a,b,c,d){var e,f=this.state(),g=d.width(),h=d.height();a.save(),a.transform(1,0,0,1,b,c),a.save(),a.strokeStyle="#FFFFFF",a.fillStyle="#FFFFFF",a.fillRect(0,0,g,h),a.restore(),a.fillStyle=f.fillcolor.toRGBA(f.fillopacity),a.lineWidth=f.linewidth,a.strokeStyle=f.barpixelwidth<10?f.fillcolor.toRGBA(f.fillopacity):f.linecolor.getHexString("#"),e=g>20||h>20?g/6:g>10||h>10?g/4:g/4,g>20&&h>20&&(a.fillRect(g/4-e/2,h/8,e,h/2),a.strokeRect(g/4-e/2,h/8,e,h/2),a.fillRect(g-g/4-e/2,h/4,e,h/3),a.strokeRect(g-g/4-e/2,h/4,e,h/3)),a.fillRect(g/2-e/2,0,e,h-h/4),a.strokeRect(g/2-e/2,0,e,h-h/4),a.restore()})})}),window.multigraph.util.namespace("window.multigraph.graphics.canvas",function(a){"use strict";a.mixin.add(function(a){var b=a.Text;b.rspd("initializeGeometry",function(a){var b,c,d,e;if(a.context.save(),void 0!==a.fontSize&&(a.context.font=a.fontSize+" sans-serif"),b=this.measureStringWidth(a.context),c=this.measureStringHeight(a.context),a.context.restore(),void 0!==a.angle){var f=a.angle/180*Math.PI;d=Math.abs(Math.cos(f))*b+Math.abs(Math.sin(f))*c,e=Math.abs(Math.sin(f))*b+Math.abs(Math.cos(f))*c}else d=b,e=c;return this.origWidth(b),this.origHeight(c),this.rotatedWidth(d),this.rotatedHeight(e),this}),b.rspd("measureStringWidth",function(a){if(void 0===this.string())throw new Error("measureStringWidth requires the string attr to be set.");var b=a.measureText(this.string());return b.width}),b.rspd("measureStringHeight",function(a){if(void 0===this.string())throw new Error("measureStringHeight requires the string attr to be set.");var b=a.measureText("M"),c=this.string().match(/\n/g);return(null!==c?c.length+1:1)*b.width}),b.rspd("setTransform",function(a,b,c,d,e){a.transform(1,0,0,-1,0,2*c.y()),a.transform(1,0,0,1,c.x(),c.y()),a.transform(1,0,0,1,d.x(),-d.y()),a.rotate(-e*Math.PI/180),a.transform(1,0,0,1,-b.x(),b.y())}),b.rspd("drawText",function(a,b,c,d,e){a.save(),this.setTransform(a,b,c,d,e),a.fillText(this.string(),0,0),a.restore()})})}),window.multigraph.util.namespace("window.multigraph.graphics.canvas",function(a){"use strict";a.mixin.add(function(a){a.Window.rspd("render",function(a,b,c){var d=this.margin().left();a.save(),a.fillStyle=this.bordercolor().getHexString("#"),a.fillRect(d,d,b-2*d,c-2*d),a.restore()})})}); +if(!Array.prototype.indexOf){Array.prototype.indexOf=function(c){if(this==null){throw new TypeError()}var d=Object(this);var a=d.length>>>0;if(a===0){return -1}var e=0;if(arguments.length>0){e=Number(arguments[1]);if(e!=e){e=0}else{if(e!=0&&e!=Infinity&&e!=-Infinity){e=(e>0||-1)*Math.floor(Math.abs(e))}}}if(e>=a){return -1}var b=e>=0?e:Math.max(a-Math.abs(e),0);for(;be});b.addValidator("isLessThan",function(e){this.message=this.param+" should be less than "+e;return this.param-1){this.message=this.param+" should be a "+f;return typeof(this.param)===f}else{if(f==="integer"){if(this.param.toString!==undefined){this.message=this.param.toString()+" should be an integer"}else{this.message="parameter should be an integer"}return(typeof(this.param)==="number")&&(parseInt(this.param,10)===this.param)}else{if(typeof(f)==="string"){throw new Error("Validator: isA accepts a string which is one of "+e)}else{throw new Error("Validator: isA only accepts a string for a primitive types for the time being")}}}});a.isAn=a.isA;b.addValidator("isOneOf",function(e){this.message=this.param+" should be one of the set: "+e;return e.indexOf(this.param)>-1});c.Validator=b});window.jermaine.util.namespace("window.jermaine",function(b){var a={};var c=function(g){var j=[],n=this,o="invalid setter call for "+g,k,l,m,f,d,p=false,e,q=window.jermaine.AttrList,h=window.jermaine.Validator;e=function(i){for(m=0;m=this.size()){throw new Error("AttrList: replace method index parameter out of bounds")}if(!(e.validator())(k)){throw new Error(e.errorMessage())}f[j]=k;return this};g.at=function(j){if(j<0||j>=this.size()){throw new Error("AttrList: Index out of bounds")}return f[j]};g.get=g.at;g.size=function(){return f.length};h[c]=function(){return g}}}}b.prototype=new window.jermaine.Attr(name);a.AttrList=b});window.jermaine.util.namespace("window.jermaine",function(a){var b=function(c,d){if(!c||typeof(c)!=="string"){throw new Error("Method: constructor requires a name parameter which must be a string")}else{if(!d||typeof(d)!=="function"){throw new Error("Method: second parameter must be a function")}}this.addTo=function(e){if(!e||typeof(e)!=="object"){throw new Error("Method: addTo method requires an object parameter")}e[c]=d}};a.Method=b});window.jermaine.util.namespace("window.jermaine",function(a){function b(u){var h=this,q={},i={},p,f=true,d=[],n=[],r=[],c=a.Method,s=a.Attr,l=a.AttrList,g,v,k,j,t=function(){},o=function(){},e=function(){if(f){k()}return o.apply(this,arguments)};if(arguments.length>1){u=arguments[arguments.length-1]}if(u&&typeof(u)==="function"){e=new b();u.call(e);return e}else{if(u){throw new Error("Model: specification parameter must be a function")}}var m=function(y,x){var A=y==="Attr"?s:l,w=y==="Attr"?"hasA":"hasMany",z;f=true;if(typeof(x)==="string"){z=new A(x);i[x]=z;return z}else{throw new Error("Model: "+w+" parameter must be a string")}};g=function(y,x){var w;if(typeof(x)!=="string"){throw new Error("Model: expected string argument to "+y+" method, but recieved "+x)}w=y==="attribute"?i[x]:q[x];if(w===undefined){throw new Error("Model: "+y+" "+x+" does not exist!")}return w};v=function(y){var x,z=[],w=y==="attributes"?i:q;for(x in w){if(w.hasOwnProperty(x)){z.push(x)}}return z};k=function(x){var A=this,y,w,z;e.validate();o=function(){var C,D,B;if(!(this instanceof e)){throw new Error("Model: instances must be created using the new operator")}B=function(H,G){var F=G==="attributes"?i:q,E;for(E in F){if(F.hasOwnProperty(E)){if(F===i&&j){F[E].isImmutable()}F[E].addTo(H)}}};B(this,"attributes");B(this,"methods");this.toString=p;if(arguments.length>0){if(arguments.lengthd.length+n.length){throw new Error("Too many arguments to constructor. Expected "+d.length+" required arguments and "+n.length+" optional arguments")}else{for(C=0;C-1){throw new Error("Model: invalid model specification to "+x[y]+" being both an attribute and method")}}if(j){for(y=0;y=0===c})}function bk(a){var b=bl.split("|"),c=a.createDocumentFragment();if(c.createElement){while(b.length){c.createElement(b.pop())}}return c}function bC(a,b){return a.getElementsByTagName(b)[0]||a.appendChild(a.ownerDocument.createElement(b))}function bD(a,b){if(b.nodeType!==1||!p.hasData(a)){return}var c,d,e,f=p._data(a),g=p._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h){for(d=0,e=h[c].length;d").appendTo(e.body),c=b.css("display");b.remove();if(c==="none"||c===""){bI=e.body.appendChild(bI||p.extend(e.createElement("iframe"),{frameBorder:0,width:0,height:0}));if(!bJ||!bI.createElement){bJ=(bI.contentWindow||bI.contentDocument).document,bJ.write(""),bJ.close()}b=bJ.body.appendChild(bJ.createElement(a)),c=bH(b,"display"),e.body.removeChild(bI)}return bS[a]=c,c}function ci(a,b,c,d){var e;if(p.isArray(b)){p.each(b,function(b,e){c||ce.test(a)?d(a,e):ci(a+"["+(typeof e=="object"?b:"")+"]",e,c,d)})}else{if(!c&&p.type(b)==="object"){for(e in b){ci(a+"["+e+"]",b[e],c,d)}}else{d(a,b)}}}function cz(a){return function(b,c){typeof b!="string"&&(c=b,b="*");var d,e,f,g=b.toLowerCase().split(s),h=0,i=g.length;if(p.isFunction(c)){for(;h)[^>]*$|#([\w\-]*)$)/,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^[\],:{}\s]*$/,x=/(?:^|:|,)(?:\s*\[)+/g,y=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,z=/"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g,A=/^-ms-/,B=/-([\da-z])/gi,C=function(a,b){return(b+"").toUpperCase()},D=function(){e.addEventListener?(e.removeEventListener("DOMContentLoaded",D,!1),p.ready()):e.readyState==="complete"&&(e.detachEvent("onreadystatechange",D),p.ready())},E={};p.fn=p.prototype={constructor:p,init:function(a,c,d){var f,g,h,i;if(!a){return this}if(a.nodeType){return this.context=this[0]=a,this.length=1,this}if(typeof a=="string"){a.charAt(0)==="<"&&a.charAt(a.length-1)===">"&&a.length>=3?f=[null,a,null]:f=u.exec(a);if(f&&(f[1]||!c)){if(f[1]){return c=c instanceof p?c[0]:c,i=c&&c.nodeType?c.ownerDocument||c:e,a=p.parseHTML(f[1],i,!0),v.test(f[1])&&p.isPlainObject(c)&&this.attr.call(a,c,!0),p.merge(this,a)}g=e.getElementById(f[2]);if(g&&g.parentNode){if(g.id!==f[2]){return d.find(a)}this.length=1,this[0]=g}return this.context=e,this.selector=a,this}return !c||c.jquery?(c||d).find(a):this.constructor(c).find(a)}return p.isFunction(a)?d.ready(a):(a.selector!==b&&(this.selector=a.selector,this.context=a.context),p.makeArray(a,this))},selector:"",jquery:"1.8.2",length:0,size:function(){return this.length},toArray:function(){return k.call(this)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=p.merge(this.constructor(),a);return d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")"),d},each:function(a,b){return p.each(this,a,b)},ready:function(a){return p.ready.promise().done(a),this},eq:function(a){return a=+a,a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(k.apply(this,arguments),"slice",k.call(arguments).join(","))},map:function(a){return this.pushStack(p.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:j,sort:[].sort,splice:[].splice},p.fn.init.prototype=p.fn,p.extend=p.fn.extend=function(){var a,c,d,e,f,g,h=arguments[0]||{},i=1,j=arguments.length,k=!1;typeof h=="boolean"&&(k=h,h=arguments[1]||{},i=2),typeof h!="object"&&!p.isFunction(h)&&(h={}),j===i&&(h=this,--i);for(;i0){return}d.resolveWith(e,[p]),p.fn.trigger&&p(e).trigger("ready").off("ready")},isFunction:function(a){return p.type(a)==="function"},isArray:Array.isArray||function(a){return p.type(a)==="array"},isWindow:function(a){return a!=null&&a==a.window},isNumeric:function(a){return !isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):E[m.call(a)]||"object"},isPlainObject:function(a){if(!a||p.type(a)!=="object"||a.nodeType||p.isWindow(a)){return !1}try{if(a.constructor&&!n.call(a,"constructor")&&!n.call(a.constructor.prototype,"isPrototypeOf")){return !1}}catch(c){return !1}var d;for(d in a){}return d===b||n.call(a,d)},isEmptyObject:function(a){var b;for(b in a){return !1}return !0},error:function(a){throw new Error(a)},parseHTML:function(a,b,c){var d;return !a||typeof a!="string"?null:(typeof b=="boolean"&&(c=b,b=0),b=b||e,(d=v.exec(a))?[b.createElement(d[1])]:(d=p.buildFragment([a],b,c?null:[]),p.merge([],(d.cacheable?p.clone(d.fragment):d.fragment).childNodes)))},parseJSON:function(b){if(!b||typeof b!="string"){return null}b=p.trim(b);if(a.JSON&&a.JSON.parse){return a.JSON.parse(b)}if(w.test(b.replace(y,"@").replace(z,"]").replace(x,""))){return(new Function("return "+b))()}p.error("Invalid JSON: "+b)},parseXML:function(c){var d,e;if(!c||typeof c!="string"){return null}try{a.DOMParser?(e=new DOMParser,d=e.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(f){d=b}return(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&p.error("Invalid XML: "+c),d},noop:function(){},globalEval:function(b){b&&r.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(A,"ms-").replace(B,C)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,c,d){var e,f=0,g=a.length,h=g===b||p.isFunction(a);if(d){if(h){for(e in a){if(c.apply(a[e],d)===!1){break}}}else{for(;f0&&a[0]&&a[i-1]||i===0||p.isArray(a));if(j){for(;h-1){i.splice(c,1),e&&(c<=g&&g--,c<=h&&h--)}}),this},has:function(a){return p.inArray(a,i)>-1},empty:function(){return i=[],this},disable:function(){return i=j=c=b,this},disabled:function(){return !i},lock:function(){return j=b,c||l.disable(),this},locked:function(){return !j},fireWith:function(a,b){return b=b||[],b=[a,b.slice?b.slice():b],i&&(!d||j)&&(e?j.push(b):k(b)),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return !!d}};return l},p.extend({Deferred:function(a){var b=[["resolve","done",p.Callbacks("once memory"),"resolved"],["reject","fail",p.Callbacks("once memory"),"rejected"],["notify","progress",p.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return p.Deferred(function(c){p.each(b,function(b,d){var f=d[0],g=a[b];e[d[1]](p.isFunction(g)?function(){var a=g.apply(this,arguments);a&&p.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f+"With"](this===e?c:this,[a])}:c[f])}),a=null}).promise()},promise:function(a){return a!=null?p.extend(a,d):d}},e={};return d.pipe=d.then,p.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[a^1][2].disable,b[2][2].lock),e[f[0]]=g.fire,e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=k.call(arguments),d=c.length,e=d!==1||a&&p.isFunction(a.promise)?d:0,f=e===1?a:p.Deferred(),g=function(a,b,c){return function(d){b[a]=this,c[a]=arguments.length>1?k.call(arguments):d,c===h?f.notifyWith(b,c):--e||f.resolveWith(b,c)}},h,i,j;if(d>1){h=new Array(d),i=new Array(d),j=new Array(d);for(;b
    a",c=n.getElementsByTagName("*"),d=n.getElementsByTagName("a")[0],d.style.cssText="top:1px;float:left;opacity:.5";if(!c||!c.length){return{}}f=e.createElement("select"),g=f.appendChild(e.createElement("option")),h=n.getElementsByTagName("input")[0],b={leadingWhitespace:n.firstChild.nodeType===3,tbody:!n.getElementsByTagName("tbody").length,htmlSerialize:!!n.getElementsByTagName("link").length,style:/top/.test(d.getAttribute("style")),hrefNormalized:d.getAttribute("href")==="/a",opacity:/^0.5/.test(d.style.opacity),cssFloat:!!d.style.cssFloat,checkOn:h.value==="on",optSelected:g.selected,getSetAttribute:n.className!=="t",enctype:!!e.createElement("form").enctype,html5Clone:e.createElement("nav").cloneNode(!0).outerHTML!=="<:nav>",boxModel:e.compatMode==="CSS1Compat",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},h.checked=!0,b.noCloneChecked=h.cloneNode(!0).checked,f.disabled=!0,b.optDisabled=!g.disabled;try{delete n.test}catch(o){b.deleteExpando=!1}!n.addEventListener&&n.attachEvent&&n.fireEvent&&(n.attachEvent("onclick",m=function(){b.noCloneEvent=!1}),n.cloneNode(!0).fireEvent("onclick"),n.detachEvent("onclick",m)),h=e.createElement("input"),h.value="t",h.setAttribute("type","radio"),b.radioValue=h.value==="t",h.setAttribute("checked","checked"),h.setAttribute("name","t"),n.appendChild(h),i=e.createDocumentFragment(),i.appendChild(n.lastChild),b.checkClone=i.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=h.checked,i.removeChild(h),i.appendChild(n);if(n.attachEvent){for(k in {submit:!0,change:!0,focusin:!0}){j="on"+k,l=j in n,l||(n.setAttribute(j,"return;"),l=typeof n[j]=="function"),b[k+"Bubbles"]=l}}return p(function(){var c,d,f,g,h="padding:0;margin:0;border:0;display:block;overflow:hidden;",i=e.getElementsByTagName("body")[0];if(!i){return}c=e.createElement("div"),c.style.cssText="visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px",i.insertBefore(c,i.firstChild),d=e.createElement("div"),c.appendChild(d),d.innerHTML="
    t
    ",f=d.getElementsByTagName("td"),f[0].style.cssText="padding:0;margin:0;border:0;display:none",l=f[0].offsetHeight===0,f[0].style.display="",f[1].style.display="none",b.reliableHiddenOffsets=l&&f[0].offsetHeight===0,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",b.boxSizing=d.offsetWidth===4,b.doesNotIncludeMarginInBodyOffset=i.offsetTop!==1,a.getComputedStyle&&(b.pixelPosition=(a.getComputedStyle(d,null)||{}).top!=="1%",b.boxSizingReliable=(a.getComputedStyle(d,null)||{width:"4px"}).width==="4px",g=e.createElement("div"),g.style.cssText=d.style.cssText=h,g.style.marginRight=g.style.width="0",d.style.width="1px",d.appendChild(g),b.reliableMarginRight=!parseFloat((a.getComputedStyle(g,null)||{}).marginRight)),typeof d.style.zoom!="undefined"&&(d.innerHTML="",d.style.cssText=h+"width:1px;padding:1px;display:inline;zoom:1",b.inlineBlockNeedsLayout=d.offsetWidth===3,d.style.display="block",d.style.overflow="visible",d.innerHTML="
    ",d.firstChild.style.width="5px",b.shrinkWrapBlocks=d.offsetWidth!==3,c.style.zoom=1),i.removeChild(c),c=d=f=g=null}),i.removeChild(n),c=d=f=g=h=i=n=null,b}();var H=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,I=/([A-Z])/g;p.extend({cache:{},deletedIds:[],uuid:0,expando:"jQuery"+(p.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){return a=a.nodeType?p.cache[a[p.expando]]:a[p.expando],!!a&&!K(a)},data:function(a,c,d,e){if(!p.acceptData(a)){return}var f,g,h=p.expando,i=typeof c=="string",j=a.nodeType,k=j?p.cache:a,l=j?a[h]:a[h]&&h;if((!l||!k[l]||!e&&!k[l].data)&&i&&d===b){return}l||(j?a[h]=l=p.deletedIds.pop()||p.guid++:l=h),k[l]||(k[l]={},j||(k[l].toJSON=p.noop));if(typeof c=="object"||typeof c=="function"){e?k[l]=p.extend(k[l],c):k[l].data=p.extend(k[l].data,c)}return f=k[l],e||(f.data||(f.data={}),f=f.data),d!==b&&(f[p.camelCase(c)]=d),i?(g=f[c],g==null&&(g=f[p.camelCase(c)])):g=f,g},removeData:function(a,b,c){if(!p.acceptData(a)){return}var d,e,f,g=a.nodeType,h=g?p.cache:a,i=g?a[p.expando]:p.expando;if(!h[i]){return}if(b){d=c?h[i]:h[i].data;if(d){p.isArray(b)||(b in d?b=[b]:(b=p.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,f=b.length;e1,null,!1))},removeData:function(a){return this.each(function(){p.removeData(this,a)})}}),p.extend({queue:function(a,b,c){var d;if(a){return b=(b||"fx")+"queue",d=p._data(a,b),c&&(!d||p.isArray(c)?d=p._data(a,b,p.makeArray(c)):d.push(c)),d||[]}},dequeue:function(a,b){b=b||"fx";var c=p.queue(a,b),d=c.length,e=c.shift(),f=p._queueHooks(a,b),g=function(){p.dequeue(a,b)};e==="inprogress"&&(e=c.shift(),d--),e&&(b==="fx"&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return p._data(a,c)||p._data(a,c,{empty:p.Callbacks("once memory").add(function(){p.removeData(a,b+"queue",!0),p.removeData(a,c,!0)})})}}),p.fn.extend({queue:function(a,c){var d=2;return typeof a!="string"&&(c=a,a="fx",d--),arguments.length1)},removeAttr:function(a){return this.each(function(){p.removeAttr(this,a)})},prop:function(a,b){return p.access(this,p.prop,a,b,arguments.length>1)},removeProp:function(a){return a=p.propFix[a]||a,this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,f,g,h;if(p.isFunction(a)){return this.each(function(b){p(this).addClass(a.call(this,b,this.className))})}if(a&&typeof a=="string"){b=a.split(s);for(c=0,d=this.length;c=0){d=d.replace(" "+c[f]+" "," ")}}e.className=a?p.trim(d):""}}}return this},toggleClass:function(a,b){var c=typeof a,d=typeof b=="boolean";return p.isFunction(a)?this.each(function(c){p(this).toggleClass(a.call(this,c,this.className,b),b)}):this.each(function(){if(c==="string"){var e,f=0,g=p(this),h=b,i=a.split(s);while(e=i[f++]){h=d?h:!g.hasClass(e),g[h?"addClass":"removeClass"](e)}}else{if(c==="undefined"||c==="boolean"){this.className&&p._data(this,"__className__",this.className),this.className=this.className||a===!1?"":p._data(this,"__className__")||""}}})},hasClass:function(a){var b=" "+a+" ",c=0,d=this.length;for(;c=0){return !0}}return !1},val:function(a){var c,d,e,f=this[0];if(!arguments.length){if(f){return c=p.valHooks[f.type]||p.valHooks[f.nodeName.toLowerCase()],c&&"get" in c&&(d=c.get(f,"value"))!==b?d:(d=f.value,typeof d=="string"?d.replace(P,""):d==null?"":d)}return}return e=p.isFunction(a),this.each(function(d){var f,g=p(this);if(this.nodeType!==1){return}e?f=a.call(this,d,g.val()):f=a,f==null?f="":typeof f=="number"?f+="":p.isArray(f)&&(f=p.map(f,function(a){return a==null?"":a+""})),c=p.valHooks[this.type]||p.valHooks[this.nodeName.toLowerCase()];if(!c||!("set" in c)||c.set(this,f,"value")===b){this.value=f}})}}),p.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return !b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,f=a.selectedIndex,g=[],h=a.options,i=a.type==="select-one";if(f<0){return null}c=i?f:0,d=i?f+1:h.length;for(;c=0}),c.length||(a.selectedIndex=-1),c}}},attrFn:{},attr:function(a,c,d,e){var f,g,h,i=a.nodeType;if(!a||i===3||i===8||i===2){return}if(e&&p.isFunction(p.fn[c])){return p(a)[c](d)}if(typeof a.getAttribute=="undefined"){return p.prop(a,c,d)}h=i!==1||!p.isXMLDoc(a),h&&(c=c.toLowerCase(),g=p.attrHooks[c]||(T.test(c)?M:L));if(d!==b){if(d===null){p.removeAttr(a,c);return}return g&&"set" in g&&h&&(f=g.set(a,d,c))!==b?f:(a.setAttribute(c,d+""),d)}return g&&"get" in g&&h&&(f=g.get(a,c))!==null?f:(f=a.getAttribute(c),f===null?b:f)},removeAttr:function(a,b){var c,d,e,f,g=0;if(b&&a.nodeType===1){d=b.split(s);for(;g=0}}})});var V=/^(?:textarea|input|select)$/i,W=/^([^\.]*|)(?:\.(.+)|)$/,X=/(?:^|\s)hover(\.\S+|)\b/,Y=/^key/,Z=/^(?:mouse|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=function(a){return p.event.special.hover?a:a.replace(X,"mouseenter$1 mouseleave$1")};p.event={add:function(a,c,d,e,f){var g,h,i,j,k,l,m,n,o,q,r;if(a.nodeType===3||a.nodeType===8||!c||!d||!(g=p._data(a))){return}d.handler&&(o=d,d=o.handler,f=o.selector),d.guid||(d.guid=p.guid++),i=g.events,i||(g.events=i={}),h=g.handle,h||(g.handle=h=function(a){return typeof p!="undefined"&&(!a||p.event.triggered!==a.type)?p.event.dispatch.apply(h.elem,arguments):b},h.elem=a),c=p.trim(_(c)).split(" ");for(j=0;j=0&&(s=s.slice(0,-1),i=!0),s.indexOf(".")>=0&&(t=s.split("."),s=t.shift(),t.sort());if((!f||p.event.customEvent[s])&&!p.event.global[s]){return}c=typeof c=="object"?c[p.expando]?c:new p.Event(s,c):new p.Event(s),c.type=s,c.isTrigger=!0,c.exclusive=i,c.namespace=t.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+t.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,m=s.indexOf(":")<0?"on"+s:"";if(!f){h=p.cache;for(j in h){h[j].events&&h[j].events[s]&&p.event.trigger(c,d,h[j].handle.elem,!0)}return}c.result=b,c.target||(c.target=f),d=d!=null?p.makeArray(d):[],d.unshift(c),n=p.event.special[s]||{};if(n.trigger&&n.trigger.apply(f,d)===!1){return}q=[[f,n.bindType||s]];if(!g&&!n.noBubble&&!p.isWindow(f)){r=n.delegateType||s,k=$.test(r+s)?f:f.parentNode;for(l=f;k;k=k.parentNode){q.push([k,r]),l=k}l===(f.ownerDocument||e)&&q.push([l.defaultView||l.parentWindow||a,r])}for(j=0;j=0:p.find(m,this,null,[f]).length),h[m]&&j.push(l)}j.length&&u.push({elem:f,matches:j})}}}o.length>q&&u.push({elem:this,matches:o.slice(q)});for(d=0;d0?this.on(b,null,a,c):this.trigger(b)},Y.test(b)&&(p.event.fixHooks[b]=p.event.keyHooks),Z.test(b)&&(p.event.fixHooks[b]=p.event.mouseHooks)}),function(a,b){function bc(a,b,c,d){c=c||[],b=b||r;var e,f,i,j,k=b.nodeType;if(!a||typeof a!="string"){return c}if(k!==1&&k!==9){return[]}i=g(b);if(!i&&!d){if(e=P.exec(a)){if(j=e[1]){if(k===9){f=b.getElementById(j);if(!f||!f.parentNode){return c}if(f.id===j){return c.push(f),c}}else{if(b.ownerDocument&&(f=b.ownerDocument.getElementById(j))&&h(b,f)&&f.id===j){return c.push(f),c}}}else{if(e[2]){return w.apply(c,x.call(b.getElementsByTagName(a),0)),c}if((j=e[3])&&_&&b.getElementsByClassName){return w.apply(c,x.call(b.getElementsByClassName(j),0)),c}}}}return bp(a.replace(L,"$1"),b,c,d,i)}function bd(a){return function(b){var c=b.nodeName.toLowerCase();return c==="input"&&b.type===a}}function be(a){return function(b){var c=b.nodeName.toLowerCase();return(c==="input"||c==="button")&&b.type===a}}function bf(a){return z(function(b){return b=+b,z(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--){c[e=f[g]]&&(c[e]=!(d[e]=c[e]))}})})}function bg(a,b,c){if(a===b){return c}var d=a.nextSibling;while(d){if(d===b){return -1}d=d.nextSibling}return 1}function bh(a,b){var c,d,f,g,h,i,j,k=C[o][a];if(k){return b?0:k.slice(0)}h=a,i=[],j=e.preFilter;while(h){if(!c||(d=M.exec(h))){d&&(h=h.slice(d[0].length)),i.push(f=[])}c=!1;if(d=N.exec(h)){f.push(c=new q(d.shift())),h=h.slice(c.length),c.type=d[0].replace(L," ")}for(g in e.filter){(d=W[g].exec(h))&&(!j[g]||(d=j[g](d,r,!0)))&&(f.push(c=new q(d.shift())),h=h.slice(c.length),c.type=g,c.matches=d)}if(!c){break}}return b?h.length:h?bc.error(a):C(a,i).slice(0)}function bi(a,b,d){var e=b.dir,f=d&&b.dir==="parentNode",g=u++;return b.first?function(b,c,d){while(b=b[e]){if(f||b.nodeType===1){return a(b,c,d)}}}:function(b,d,h){if(!h){var i,j=t+" "+g+" ",k=j+c;while(b=b[e]){if(f||b.nodeType===1){if((i=b[o])===k){return b.sizset}if(typeof i=="string"&&i.indexOf(j)===0){if(b.sizset){return b}}else{b[o]=k;if(a(b,d,h)){return b.sizset=!0,b}b.sizset=!1}}}}else{while(b=b[e]){if(f||b.nodeType===1){if(a(b,d,h)){return b}}}}}}function bj(a){return a.length>1?function(b,c,d){var e=a.length;while(e--){if(!a[e](b,c,d)){return !1}}return !0}:a[0]}function bk(a,b,c,d,e){var f,g=[],h=0,i=a.length,j=b!=null;for(;h-1},h,!0),m=[function(a,c,d){return !g&&(d||c!==l)||((b=c).nodeType?j(a,c,d):k(a,c,d))}];for(;i1&&bj(m),i>1&&a.slice(0,i-1).join("").replace(L,"$1"),c,i0,f=a.length>0,g=function(h,i,j,k,m){var n,o,p,q=[],s=0,u="0",x=h&&[],y=m!=null,z=l,A=h||f&&e.find.TAG("*",m&&i.parentNode||i),B=t+=z==null?1:Math.E;y&&(l=i!==r&&i,c=g.el);for(;(n=A[u])!=null;u++){if(f&&n){for(o=0;p=a[o];o++){if(p(n,i,j)){k.push(n);break}}y&&(t=B,c=++g.el)}d&&((n=!p&&n)&&s--,h&&x.push(n))}s+=u;if(d&&u!==s){for(o=0;p=b[o];o++){p(x,q,i,j)}if(h){if(s>0){while(u--){!x[u]&&!q[u]&&(q[u]=v.call(k))}}q=bk(q)}w.apply(k,q),y&&!h&&q.length>0&&s+b.length>1&&bc.uniqueSort(k)}return y&&(t=B,l=z),x};return g.el=0,d?z(g):g}function bo(a,b,c,d){var e=0,f=b.length;for(;e2&&(j=h[0]).type==="ID"&&b.nodeType===9&&!f&&e.relative[h[1].type]){b=e.find.ID(j.matches[0].replace(V,""),b,f)[0];if(!b){return c}a=a.slice(h.shift().length)}for(g=W.POS.test(a)?-1:h.length-1;g>=0;g--){j=h[g];if(e.relative[k=j.type]){break}if(l=e.find[k]){if(d=l(j.matches[0].replace(V,""),R.test(h[0].type)&&b.parentNode||b,f)){h.splice(g,1),a=d.length&&h.join("");if(!a){return w.apply(c,x.call(d,0)),c}break}}}}return i(a,m)(d,b,f,c,R.test(a)),c}function bq(){}var c,d,e,f,g,h,i,j,k,l,m=!0,n="undefined",o=("sizcache"+Math.random()).replace(".",""),q=String,r=a.document,s=r.documentElement,t=0,u=0,v=[].pop,w=[].push,x=[].slice,y=[].indexOf||function(a){var b=0,c=this.length;for(;be.cacheLength&&delete a[b.shift()],a[c]=d},a)},B=A(),C=A(),D=A(),E="[\\x20\\t\\r\\n\\f]",F="(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+",G=F.replace("w","w#"),H="([*^$|!~]?=)",I="\\["+E+"*("+F+")"+E+"*(?:"+H+E+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+G+")|)|)"+E+"*\\]",J=":("+F+")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|([^()[\\]]*|(?:(?:"+I+")|[^:]|\\\\.)*|.*))\\)|)",K=":(even|odd|eq|gt|lt|nth|first|last)(?:\\("+E+"*((?:-\\d)?\\d*)"+E+"*\\)|)(?=[^-]|$)",L=new RegExp("^"+E+"+|((?:^|[^\\\\])(?:\\\\.)*)"+E+"+$","g"),M=new RegExp("^"+E+"*,"+E+"*"),N=new RegExp("^"+E+"*([\\x20\\t\\r\\n\\f>+~])"+E+"*"),O=new RegExp(J),P=/^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/,Q=/^:not/,R=/[\x20\t\r\n\f]*[+~]/,S=/:not\($/,T=/h\d/i,U=/input|select|textarea|button/i,V=/\\(?!\\)/g,W={ID:new RegExp("^#("+F+")"),CLASS:new RegExp("^\\.("+F+")"),NAME:new RegExp("^\\[name=['\"]?("+F+")['\"]?\\]"),TAG:new RegExp("^("+F.replace("w","w*")+")"),ATTR:new RegExp("^"+I),PSEUDO:new RegExp("^"+J),POS:new RegExp(K,"i"),CHILD:new RegExp("^:(only|nth|first|last)-child(?:\\("+E+"*(even|odd|(([+-]|)(\\d*)n|)"+E+"*(?:([+-]|)"+E+"*(\\d+)|))"+E+"*\\)|)","i"),needsContext:new RegExp("^"+E+"*[>+~]|"+K,"i")},X=function(a){var b=r.createElement("div");try{return a(b)}catch(c){return !1}finally{b=null}},Y=X(function(a){return a.appendChild(r.createComment("")),!a.getElementsByTagName("*").length}),Z=X(function(a){return a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!==n&&a.firstChild.getAttribute("href")==="#"}),$=X(function(a){a.innerHTML="";var b=typeof a.lastChild.getAttribute("multiple");return b!=="boolean"&&b!=="string"}),_=X(function(a){return a.innerHTML="",!a.getElementsByClassName||!a.getElementsByClassName("e").length?!1:(a.lastChild.className="e",a.getElementsByClassName("e").length===2)}),ba=X(function(a){a.id=o+0,a.innerHTML="
    ",s.insertBefore(a,s.firstChild);var b=r.getElementsByName&&r.getElementsByName(o).length===2+r.getElementsByName(o+0).length;return d=!r.getElementById(o),s.removeChild(a),b});try{x.call(s.childNodes,0)[0].nodeType}catch(bb){x=function(a){var b,c=[];for(;b=this[a];a++){c.push(b)}return c}}bc.matches=function(a,b){return bc(a,null,null,b)},bc.matchesSelector=function(a,b){return bc(b,null,null,[a]).length>0},f=bc.getText=function(a){var b,c="",d=0,e=a.nodeType;if(e){if(e===1||e===9||e===11){if(typeof a.textContent=="string"){return a.textContent}for(a=a.firstChild;a;a=a.nextSibling){c+=f(a)}}else{if(e===3||e===4){return a.nodeValue}}}else{for(;b=a[d];d++){c+=f(b)}}return c},g=bc.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?b.nodeName!=="HTML":!1},h=bc.contains=s.contains?function(a,b){var c=a.nodeType===9?a.documentElement:a,d=b&&b.parentNode;return a===d||!!(d&&d.nodeType===1&&c.contains&&c.contains(d))}:s.compareDocumentPosition?function(a,b){return b&&!!(a.compareDocumentPosition(b)&16)}:function(a,b){while(b=b.parentNode){if(b===a){return !0}}return !1},bc.attr=function(a,b){var c,d=g(a);return d||(b=b.toLowerCase()),(c=e.attrHandle[b])?c(a):d||$?a.getAttribute(b):(c=a.getAttributeNode(b),c?typeof a[b]=="boolean"?a[b]?b:null:c.specified?c.value:null:null)},e=bc.selectors={cacheLength:50,createPseudo:z,match:W,attrHandle:Z?{}:{href:function(a){return a.getAttribute("href",2)},type:function(a){return a.getAttribute("type")}},find:{ID:d?function(a,b,c){if(typeof b.getElementById!==n&&!c){var d=b.getElementById(a);return d&&d.parentNode?[d]:[]}}:function(a,c,d){if(typeof c.getElementById!==n&&!d){var e=c.getElementById(a);return e?e.id===a||typeof e.getAttributeNode!==n&&e.getAttributeNode("id").value===a?[e]:b:[]}},TAG:Y?function(a,b){if(typeof b.getElementsByTagName!==n){return b.getElementsByTagName(a)}}:function(a,b){var c=b.getElementsByTagName(a);if(a==="*"){var d,e=[],f=0;for(;d=c[f];f++){d.nodeType===1&&e.push(d)}return e}return c},NAME:ba&&function(a,b){if(typeof b.getElementsByName!==n){return b.getElementsByName(name)}},CLASS:_&&function(a,b,c){if(typeof b.getElementsByClassName!==n&&!c){return b.getElementsByClassName(a)}}},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(V,""),a[3]=(a[4]||a[5]||"").replace(V,""),a[2]==="~="&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),a[1]==="nth"?(a[2]||bc.error(a[0]),a[3]=+(a[3]?a[4]+(a[5]||1):2*(a[2]==="even"||a[2]==="odd")),a[4]=+(a[6]+a[7]||a[2]==="odd")):a[2]&&bc.error(a[0]),a},PSEUDO:function(a){var b,c;if(W.CHILD.test(a[0])){return null}if(a[3]){a[2]=a[3]}else{if(b=a[4]){O.test(b)&&(c=bh(b,!0))&&(c=b.indexOf(")",b.length-c)-b.length)&&(b=b.slice(0,c),a[0]=a[0].slice(0,c)),a[2]=b}}return a.slice(0,3)}},filter:{ID:d?function(a){return a=a.replace(V,""),function(b){return b.getAttribute("id")===a}}:function(a){return a=a.replace(V,""),function(b){var c=typeof b.getAttributeNode!==n&&b.getAttributeNode("id");return c&&c.value===a}},TAG:function(a){return a==="*"?function(){return !0}:(a=a.replace(V,"").toLowerCase(),function(b){return b.nodeName&&b.nodeName.toLowerCase()===a})},CLASS:function(a){var b=B[o][a];return b||(b=B(a,new RegExp("(^|"+E+")"+a+"("+E+"|$)"))),function(a){return b.test(a.className||typeof a.getAttribute!==n&&a.getAttribute("class")||"")}},ATTR:function(a,b,c){return function(d,e){var f=bc.attr(d,a);return f==null?b==="!=":b?(f+="",b==="="?f===c:b==="!="?f!==c:b==="^="?c&&f.indexOf(c)===0:b==="*="?c&&f.indexOf(c)>-1:b==="$="?c&&f.substr(f.length-c.length)===c:b==="~="?(" "+f+" ").indexOf(c)>-1:b==="|="?f===c||f.substr(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d){return a==="nth"?function(a){var b,e,f=a.parentNode;if(c===1&&d===0){return !0}if(f){e=0;for(b=f.firstChild;b;b=b.nextSibling){if(b.nodeType===1){e++;if(a===b){break}}}}return e-=d,e===c||e%c===0&&e/c>=0}:function(b){var c=b;switch(a){case"only":case"first":while(c=c.previousSibling){if(c.nodeType===1){return !1}}if(a==="first"){return !0}c=b;case"last":while(c=c.nextSibling){if(c.nodeType===1){return !1}}return !0}}},PSEUDO:function(a,b){var c,d=e.pseudos[a]||e.setFilters[a.toLowerCase()]||bc.error("unsupported pseudo: "+a);return d[o]?d(b):d.length>1?(c=[a,a,"",b],e.setFilters.hasOwnProperty(a.toLowerCase())?z(function(a,c){var e,f=d(a,b),g=f.length;while(g--){e=y.call(a,f[g]),a[e]=!(c[e]=f[g])}}):function(a){return d(a,0,c)}):d}},pseudos:{not:z(function(a){var b=[],c=[],d=i(a.replace(L,"$1"));return d[o]?z(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--){if(f=g[h]){a[h]=!(b[h]=f)}}}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:z(function(a){return function(b){return bc(a,b).length>0}}),contains:z(function(a){return function(b){return(b.textContent||b.innerText||f(b)).indexOf(a)>-1}}),enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&!!a.checked||b==="option"&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},parent:function(a){return !e.pseudos.empty(a)},empty:function(a){var b;a=a.firstChild;while(a){if(a.nodeName>"@"||(b=a.nodeType)===3||b===4){return !1}a=a.nextSibling}return !0},header:function(a){return T.test(a.nodeName)},text:function(a){var b,c;return a.nodeName.toLowerCase()==="input"&&(b=a.type)==="text"&&((c=a.getAttribute("type"))==null||c.toLowerCase()===b)},radio:bd("radio"),checkbox:bd("checkbox"),file:bd("file"),password:bd("password"),image:bd("image"),submit:be("submit"),reset:be("reset"),button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&a.type==="button"||b==="button"},input:function(a){return U.test(a.nodeName)},focus:function(a){var b=a.ownerDocument;return a===b.activeElement&&(!b.hasFocus||b.hasFocus())&&(!!a.type||!!a.href)},active:function(a){return a===a.ownerDocument.activeElement},first:bf(function(a,b,c){return[0]}),last:bf(function(a,b,c){return[b-1]}),eq:bf(function(a,b,c){return[c<0?c+b:c]}),even:bf(function(a,b,c){for(var d=0;d=0;){a.push(d)}return a}),gt:bf(function(a,b,c){for(var d=c<0?c+b:c;++d",a.querySelectorAll("[selected]").length||e.push("\\["+E+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),a.querySelectorAll(":checked").length||e.push(":checked")}),X(function(a){a.innerHTML="

    ",a.querySelectorAll("[test^='']").length&&e.push("[*^$]="+E+"*(?:\"\"|'')"),a.innerHTML="",a.querySelectorAll(":enabled").length||e.push(":enabled",":disabled")}),e=new RegExp(e.join("|")),bp=function(a,d,f,g,h){if(!g&&!h&&(!e||!e.test(a))){var i,j,k=!0,l=o,m=d,n=d.nodeType===9&&a;if(d.nodeType===1&&d.nodeName.toLowerCase()!=="object"){i=bh(a),(k=d.getAttribute("id"))?l=k.replace(c,"\\$&"):d.setAttribute("id",l),l="[id='"+l+"'] ",j=i.length;while(j--){i[j]=l+i[j].join("")}m=R.test(a)&&d.parentNode||d,n=i.join(",")}if(n){try{return w.apply(f,x.call(m.querySelectorAll(n),0)),f}catch(p){}finally{k||d.removeAttribute("id")}}}return b(a,d,f,g,h)},h&&(X(function(b){a=h.call(b,"div");try{h.call(b,"[test!='']:sizzle"),f.push("!=",J)}catch(c){}}),f=new RegExp(f.join("|")),bc.matchesSelector=function(b,c){c=c.replace(d,"='$1']");if(!g(b)&&!f.test(c)&&(!e||!e.test(c))){try{var i=h.call(b,c);if(i||a||b.document&&b.document.nodeType!==11){return i}}catch(j){}}return bc(c,null,null,[b]).length>0})}(),e.pseudos.nth=e.pseudos.eq,e.filters=bq.prototype=e.pseudos,e.setFilters=new bq,bc.attr=p.attr,p.find=bc,p.expr=bc.selectors,p.expr[":"]=p.expr.pseudos,p.unique=bc.uniqueSort,p.text=bc.getText,p.isXMLDoc=bc.isXML,p.contains=bc.contains}(a);var bc=/Until$/,bd=/^(?:parents|prev(?:Until|All))/,be=/^.[^:#\[\.,]*$/,bf=p.expr.match.needsContext,bg={children:!0,contents:!0,next:!0,prev:!0};p.fn.extend({find:function(a){var b,c,d,e,f,g,h=this;if(typeof a!="string"){return p(a).filter(function(){for(b=0,c=h.length;b0){for(e=d;e=0:p.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c,d=0,e=this.length,f=[],g=bf.test(a)||typeof a!="string"?p(a,b||this.context):0;for(;d-1:p.find.matchesSelector(c,a)){f.push(c);break}c=c.parentNode}}return f=f.length>1?p.unique(f):f,this.pushStack(f,"closest",a)},index:function(a){return a?typeof a=="string"?p.inArray(this[0],p(a)):p.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.prevAll().length:-1},add:function(a,b){var c=typeof a=="string"?p(a,b):p.makeArray(a&&a.nodeType?[a]:a),d=p.merge(this.get(),c);return this.pushStack(bh(c[0])||bh(d[0])?d:p.unique(d))},addBack:function(a){return this.add(a==null?this.prevObject:this.prevObject.filter(a))}}),p.fn.andSelf=p.fn.addBack,p.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return p.dir(a,"parentNode")},parentsUntil:function(a,b,c){return p.dir(a,"parentNode",c)},next:function(a){return bi(a,"nextSibling")},prev:function(a){return bi(a,"previousSibling")},nextAll:function(a){return p.dir(a,"nextSibling")},prevAll:function(a){return p.dir(a,"previousSibling")},nextUntil:function(a,b,c){return p.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return p.dir(a,"previousSibling",c)},siblings:function(a){return p.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return p.sibling(a.firstChild)},contents:function(a){return p.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:p.merge([],a.childNodes)}},function(a,b){p.fn[a]=function(c,d){var e=p.map(this,b,c);return bc.test(a)||(d=c),d&&typeof d=="string"&&(e=p.filter(d,e)),e=this.length>1&&!bg[a]?p.unique(e):e,this.length>1&&bd.test(a)&&(e=e.reverse()),this.pushStack(e,a,k.call(arguments).join(","))}}),p.extend({filter:function(a,b,c){return c&&(a=":not("+a+")"),b.length===1?p.find.matchesSelector(b[0],a)?[b[0]]:[]:p.find.matches(a,b)},dir:function(a,c,d){var e=[],f=a[c];while(f&&f.nodeType!==9&&(d===b||f.nodeType!==1||!p(f).is(d))){f.nodeType===1&&e.push(f),f=f[c]}return e},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling){a.nodeType===1&&a!==b&&c.push(a)}return c}});var bl="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",bm=/ jQuery\d+="(?:null|\d+)"/g,bn=/^\s+/,bo=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bp=/<([\w:]+)/,bq=/]","i"),bv=/^(?:checkbox|radio)$/,bw=/checked\s*(?:[^=]|=\s*.checked.)/i,bx=/\/(java|ecma)script/i,by=/^\s*\s*$/g,bz={option:[1,""],legend:[1,"
    ","
    "],thead:[1,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],col:[2,"","
    "],area:[1,"",""],_default:[0,"",""]},bA=bk(e),bB=bA.appendChild(e.createElement("div"));bz.optgroup=bz.option,bz.tbody=bz.tfoot=bz.colgroup=bz.caption=bz.thead,bz.th=bz.td,p.support.htmlSerialize||(bz._default=[1,"X
    ","
    "]),p.fn.extend({text:function(a){return p.access(this,function(a){return a===b?p.text(this):this.empty().append((this[0]&&this[0].ownerDocument||e).createTextNode(a))},null,a,arguments.length)},wrapAll:function(a){if(p.isFunction(a)){return this.each(function(b){p(this).wrapAll(a.call(this,b))})}if(this[0]){var b=p(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1){a=a.firstChild}return a}).append(this)}return this},wrapInner:function(a){return p.isFunction(a)?this.each(function(b){p(this).wrapInner(a.call(this,b))}):this.each(function(){var b=p(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=p.isFunction(a);return this.each(function(c){p(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){p.nodeName(this,"body")||p(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){(this.nodeType===1||this.nodeType===11)&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){(this.nodeType===1||this.nodeType===11)&&this.insertBefore(a,this.firstChild)})},before:function(){if(!bh(this[0])){return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)})}if(arguments.length){var a=p.clean(arguments);return this.pushStack(p.merge(a,this),"before",this.selector)}},after:function(){if(!bh(this[0])){return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)})}if(arguments.length){var a=p.clean(arguments);return this.pushStack(p.merge(this,a),"after",this.selector)}},remove:function(a,b){var c,d=0;for(;(c=this[d])!=null;d++){if(!a||p.filter(a,[c]).length){!b&&c.nodeType===1&&(p.cleanData(c.getElementsByTagName("*")),p.cleanData([c])),c.parentNode&&c.parentNode.removeChild(c)}}return this},empty:function(){var a,b=0;for(;(a=this[b])!=null;b++){a.nodeType===1&&p.cleanData(a.getElementsByTagName("*"));while(a.firstChild){a.removeChild(a.firstChild)}}return this},clone:function(a,b){return a=a==null?!1:a,b=b==null?a:b,this.map(function(){return p.clone(this,a,b)})},html:function(a){return p.access(this,function(a){var c=this[0]||{},d=0,e=this.length;if(a===b){return c.nodeType===1?c.innerHTML.replace(bm,""):b}if(typeof a=="string"&&!bs.test(a)&&(p.support.htmlSerialize||!bu.test(a))&&(p.support.leadingWhitespace||!bn.test(a))&&!bz[(bp.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(bo,"<$1>");try{for(;d1&&typeof j=="string"&&bw.test(j)){return this.each(function(){p(this).domManip(a,c,d)})}if(p.isFunction(j)){return this.each(function(e){var f=p(this);a[0]=j.call(this,e,c?f.html():b),f.domManip(a,c,d)})}if(this[0]){e=p.buildFragment(a,this,k),g=e.fragment,f=g.firstChild,g.childNodes.length===1&&(g=f);if(f){c=c&&p.nodeName(f,"tr");for(h=e.cacheable||l-1;i0?this.clone(!0):this).get(),p(g[e])[b](d),f=f.concat(d)}return this.pushStack(f,a,g.selector)}}),p.extend({clone:function(a,b,c){var d,e,f,g;p.support.html5Clone||p.isXMLDoc(a)||!bu.test("<"+a.nodeName+">")?g=a.cloneNode(!0):(bB.innerHTML=a.outerHTML,bB.removeChild(g=bB.firstChild));if((!p.support.noCloneEvent||!p.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!p.isXMLDoc(a)){bE(a,g),d=bF(a),e=bF(g);for(f=0;d[f];++f){e[f]&&bE(d[f],e[f])}}if(b){bD(a,g);if(c){d=bF(a),e=bF(g);for(f=0;d[f];++f){bD(d[f],e[f])}}}return d=e=null,g},clean:function(a,b,c,d){var f,g,h,i,j,k,l,m,n,o,q,r,s=b===e&&bA,t=[];if(!b||typeof b.createDocumentFragment=="undefined"){b=e}for(f=0;(h=a[f])!=null;f++){typeof h=="number"&&(h+="");if(!h){continue}if(typeof h=="string"){if(!br.test(h)){h=b.createTextNode(h)}else{s=s||bk(b),l=b.createElement("div"),s.appendChild(l),h=h.replace(bo,"<$1>"),i=(bp.exec(h)||["",""])[1].toLowerCase(),j=bz[i]||bz._default,k=j[0],l.innerHTML=j[1]+h+j[2];while(k--){l=l.lastChild}if(!p.support.tbody){m=bq.test(h),n=i==="table"&&!m?l.firstChild&&l.firstChild.childNodes:j[1]===""&&!m?l.childNodes:[];for(g=n.length-1;g>=0;--g){p.nodeName(n[g],"tbody")&&!n[g].childNodes.length&&n[g].parentNode.removeChild(n[g])}}!p.support.leadingWhitespace&&bn.test(h)&&l.insertBefore(b.createTextNode(bn.exec(h)[0]),l.firstChild),h=l.childNodes,l.parentNode.removeChild(l)}}h.nodeType?t.push(h):p.merge(t,h)}l&&(h=l=s=null);if(!p.support.appendChecked){for(f=0;(h=t[f])!=null;f++){p.nodeName(h,"input")?bG(h):typeof h.getElementsByTagName!="undefined"&&p.grep(h.getElementsByTagName("input"),bG)}}if(c){q=function(a){if(!a.type||bx.test(a.type)){return d?d.push(a.parentNode?a.parentNode.removeChild(a):a):c.appendChild(a)}};for(f=0;(h=t[f])!=null;f++){if(!p.nodeName(h,"script")||!q(h)){c.appendChild(h),typeof h.getElementsByTagName!="undefined"&&(r=p.grep(p.merge([],h.getElementsByTagName("script")),q),t.splice.apply(t,[f+1,0].concat(r)),f+=r.length)}}}return t},cleanData:function(a,b){var c,d,e,f,g=0,h=p.expando,i=p.cache,j=p.support.deleteExpando,k=p.event.special;for(;(e=a[g])!=null;g++){if(b||p.acceptData(e)){d=e[h],c=d&&i[d];if(c){if(c.events){for(f in c.events){k[f]?p.event.remove(e,f):p.removeEvent(e,f,c.handle)}}i[d]&&(delete i[d],j?delete e[h]:e.removeAttribute?e.removeAttribute(h):e[h]=null,p.deletedIds.push(d))}}}}}),function(){var a,b;p.uaMatch=function(a){a=a.toLowerCase();var b=/(chrome)[ \/]([\w.]+)/.exec(a)||/(webkit)[ \/]([\w.]+)/.exec(a)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(a)||/(msie) ([\w.]+)/.exec(a)||a.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},a=p.uaMatch(g.userAgent),b={},a.browser&&(b[a.browser]=!0,b.version=a.version),b.chrome?b.webkit=!0:b.webkit&&(b.safari=!0),p.browser=b,p.sub=function(){function a(b,c){return new a.fn.init(b,c)}p.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function c(c,d){return d&&d instanceof p&&!(d instanceof a)&&(d=a(d)),p.fn.init.call(this,c,d,b)},a.fn.init.prototype=a.fn;var b=a(e);return a}}();var bH,bI,bJ,bK=/alpha\([^)]*\)/i,bL=/opacity=([^)]*)/,bM=/^(top|right|bottom|left)$/,bN=/^(none|table(?!-c[ea]).+)/,bO=/^margin/,bP=new RegExp("^("+q+")(.*)$","i"),bQ=new RegExp("^("+q+")(?!px)[a-z%]+$","i"),bR=new RegExp("^([-+])=("+q+")","i"),bS={},bT={position:"absolute",visibility:"hidden",display:"block"},bU={letterSpacing:0,fontWeight:400},bV=["Top","Right","Bottom","Left"],bW=["Webkit","O","Moz","ms"],bX=p.fn.toggle;p.fn.extend({css:function(a,c){return p.access(this,function(a,c,d){return d!==b?p.style(a,c,d):p.css(a,c)},a,c,arguments.length>1)},show:function(){return b$(this,!0)},hide:function(){return b$(this)},toggle:function(a,b){var c=typeof a=="boolean";return p.isFunction(a)&&p.isFunction(b)?bX.apply(this,arguments):this.each(function(){(c?a:bZ(this))?p(this).show():p(this).hide()})}}),p.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bH(a,"opacity");return c===""?"1":c}}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":p.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!a||a.nodeType===3||a.nodeType===8||!a.style){return}var f,g,h,i=p.camelCase(c),j=a.style;c=p.cssProps[i]||(p.cssProps[i]=bY(j,i)),h=p.cssHooks[c]||p.cssHooks[i];if(d===b){return h&&"get" in h&&(f=h.get(a,!1,e))!==b?f:j[c]}g=typeof d,g==="string"&&(f=bR.exec(d))&&(d=(f[1]+1)*f[2]+parseFloat(p.css(a,c)),g="number");if(d==null||g==="number"&&isNaN(d)){return}g==="number"&&!p.cssNumber[i]&&(d+="px");if(!h||!("set" in h)||(d=h.set(a,d,e))!==b){try{j[c]=d}catch(k){}}},css:function(a,c,d,e){var f,g,h,i=p.camelCase(c);return c=p.cssProps[i]||(p.cssProps[i]=bY(a.style,i)),h=p.cssHooks[c]||p.cssHooks[i],h&&"get" in h&&(f=h.get(a,!0,e)),f===b&&(f=bH(a,c)),f==="normal"&&c in bU&&(f=bU[c]),d||e!==b?(g=parseFloat(f),d||p.isNumeric(g)?g||0:f):f},swap:function(a,b,c){var d,e,f={};for(e in b){f[e]=a.style[e],a.style[e]=b[e]}d=c.call(a);for(e in b){a.style[e]=f[e]}return d}}),a.getComputedStyle?bH=function(b,c){var d,e,f,g,h=a.getComputedStyle(b,null),i=b.style;return h&&(d=h[c],d===""&&!p.contains(b.ownerDocument,b)&&(d=p.style(b,c)),bQ.test(d)&&bO.test(c)&&(e=i.width,f=i.minWidth,g=i.maxWidth,i.minWidth=i.maxWidth=i.width=d,d=h.width,i.width=e,i.minWidth=f,i.maxWidth=g)),d}:e.documentElement.currentStyle&&(bH=function(a,b){var c,d,e=a.currentStyle&&a.currentStyle[b],f=a.style;return e==null&&f&&f[b]&&(e=f[b]),bQ.test(e)&&!bM.test(b)&&(c=f.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":e,e=f.pixelLeft+"px",f.left=c,d&&(a.runtimeStyle.left=d)),e===""?"auto":e}),p.each(["height","width"],function(a,b){p.cssHooks[b]={get:function(a,c,d){if(c){return a.offsetWidth===0&&bN.test(bH(a,"display"))?p.swap(a,bT,function(){return cb(a,b,d)}):cb(a,b,d)}},set:function(a,c,d){return b_(a,c,d?ca(a,b,d,p.support.boxSizing&&p.css(a,"boxSizing")==="border-box"):0)}}}),p.support.opacity||(p.cssHooks.opacity={get:function(a,b){return bL.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?0.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=p.isNumeric(b)?"alpha(opacity="+b*100+")":"",f=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&p.trim(f.replace(bK,""))===""&&c.removeAttribute){c.removeAttribute("filter");if(d&&!d.filter){return}}c.filter=bK.test(f)?f.replace(bK,e):f+" "+e}}),p(function(){p.support.reliableMarginRight||(p.cssHooks.marginRight={get:function(a,b){return p.swap(a,{display:"inline-block"},function(){if(b){return bH(a,"marginRight")}})}}),!p.support.pixelPosition&&p.fn.position&&p.each(["top","left"],function(a,b){p.cssHooks[b]={get:function(a,c){if(c){var d=bH(a,b);return bQ.test(d)?p(a).position()[b]+"px":d}}}})}),p.expr&&p.expr.filters&&(p.expr.filters.hidden=function(a){return a.offsetWidth===0&&a.offsetHeight===0||!p.support.reliableHiddenOffsets&&(a.style&&a.style.display||bH(a,"display"))==="none"},p.expr.filters.visible=function(a){return !p.expr.filters.hidden(a)}),p.each({margin:"",padding:"",border:"Width"},function(a,b){p.cssHooks[a+b]={expand:function(c){var d,e=typeof c=="string"?c.split(" "):[c],f={};for(d=0;d<4;d++){f[a+bV[d]+b]=e[d]||e[d-2]||e[0]}return f}},bO.test(a)||(p.cssHooks[a+b].set=b_)});var cd=/%20/g,ce=/\[\]$/,cf=/\r?\n/g,cg=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,ch=/^(?:select|textarea)/i;p.fn.extend({serialize:function(){return p.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?p.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||ch.test(this.nodeName)||cg.test(this.type))}).map(function(a,b){var c=p(this).val();return c==null?null:p.isArray(c)?p.map(c,function(a,c){return{name:b.name,value:a.replace(cf,"\r\n")}}):{name:b.name,value:c.replace(cf,"\r\n")}}).get()}}),p.param=function(a,c){var d,e=[],f=function(a,b){b=p.isFunction(b)?b():b==null?"":b,e[e.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=p.ajaxSettings&&p.ajaxSettings.traditional);if(p.isArray(a)||a.jquery&&!p.isPlainObject(a)){p.each(a,function(){f(this.name,this.value)})}else{for(d in a){ci(d,a[d],c,f)}}return e.join("&").replace(cd,"+")};var cj,ck,cl=/#.*$/,cm=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,cn=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,co=/^(?:GET|HEAD)$/,cp=/^\/\//,cq=/\?/,cr=/)<[^<]*)*<\/script>/gi,cs=/([?&])_=[^&]*/,ct=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,cu=p.fn.load,cv={},cw={},cx=["*/"]+["*"];try{ck=f.href}catch(cy){ck=e.createElement("a"),ck.href="",ck=ck.href}cj=ct.exec(ck.toLowerCase())||[],p.fn.load=function(a,c,d){if(typeof a!="string"&&cu){return cu.apply(this,arguments)}if(!this.length){return this}var e,f,g,h=this,i=a.indexOf(" ");return i>=0&&(e=a.slice(i,a.length),a=a.slice(0,i)),p.isFunction(c)?(d=c,c=b):c&&typeof c=="object"&&(f="POST"),p.ajax({url:a,type:f,dataType:"html",data:c,complete:function(a,b){d&&h.each(d,g||[a.responseText,b,a])}}).done(function(a){g=arguments,h.html(e?p("
    ").append(a.replace(cr,"")).find(e):a)}),this},p.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){p.fn[b]=function(a){return this.on(b,a)}}),p.each(["get","post"],function(a,c){p[c]=function(a,d,e,f){return p.isFunction(d)&&(f=f||e,e=d,d=b),p.ajax({type:c,url:a,data:d,success:e,dataType:f})}}),p.extend({getScript:function(a,c){return p.get(a,b,c,"script")},getJSON:function(a,b,c){return p.get(a,b,c,"json")},ajaxSetup:function(a,b){return b?cB(a,p.ajaxSettings):(b=a,a=p.ajaxSettings),cB(a,b),a},ajaxSettings:{url:ck,isLocal:cn.test(cj[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":cx},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":p.parseJSON,"text xml":p.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:cz(cv),ajaxTransport:cz(cw),ajax:function(a,c){function y(a,c,f,i){var k,s,t,u,w,y=c;if(v===2){return}v=2,h&&clearTimeout(h),g=b,e=i||"",x.readyState=a>0?4:0,f&&(u=cC(l,x,f));if(a>=200&&a<300||a===304){l.ifModified&&(w=x.getResponseHeader("Last-Modified"),w&&(p.lastModified[d]=w),w=x.getResponseHeader("Etag"),w&&(p.etag[d]=w)),a===304?(y="notmodified",k=!0):(k=cD(l,u),y=k.state,s=k.data,t=k.error,k=!t)}else{t=y;if(!y||a){y="error",a<0&&(a=0)}}x.status=a,x.statusText=(c||y)+"",k?o.resolveWith(m,[s,y,x]):o.rejectWith(m,[x,y,t]),x.statusCode(r),r=b,j&&n.trigger("ajax"+(k?"Success":"Error"),[x,l,k?s:t]),q.fireWith(m,[x,y]),j&&(n.trigger("ajaxComplete",[x,l]),--p.active||p.event.trigger("ajaxStop"))}typeof a=="object"&&(c=a,a=b),c=c||{};var d,e,f,g,h,i,j,k,l=p.ajaxSetup({},c),m=l.context||l,n=m!==l&&(m.nodeType||m instanceof p)?p(m):p.event,o=p.Deferred(),q=p.Callbacks("once memory"),r=l.statusCode||{},t={},u={},v=0,w="canceled",x={readyState:0,setRequestHeader:function(a,b){if(!v){var c=a.toLowerCase();a=u[c]=u[c]||a,t[a]=b}return this},getAllResponseHeaders:function(){return v===2?e:null},getResponseHeader:function(a){var c;if(v===2){if(!f){f={};while(c=cm.exec(e)){f[c[1].toLowerCase()]=c[2]}}c=f[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){return v||(l.mimeType=a),this},abort:function(a){return a=a||w,g&&g.abort(a),y(0,a),this}};o.promise(x),x.success=x.done,x.error=x.fail,x.complete=q.add,x.statusCode=function(a){if(a){var b;if(v<2){for(b in a){r[b]=[r[b],a[b]]}}else{b=a[x.status],x.always(b)}}return this},l.url=((a||l.url)+"").replace(cl,"").replace(cp,cj[1]+"//"),l.dataTypes=p.trim(l.dataType||"*").toLowerCase().split(s),l.crossDomain==null&&(i=ct.exec(l.url.toLowerCase())||!1,l.crossDomain=i&&i.join(":")+(i[3]?"":i[1]==="http:"?80:443)!==cj.join(":")+(cj[3]?"":cj[1]==="http:"?80:443)),l.data&&l.processData&&typeof l.data!="string"&&(l.data=p.param(l.data,l.traditional)),cA(cv,l,c,x);if(v===2){return x}j=l.global,l.type=l.type.toUpperCase(),l.hasContent=!co.test(l.type),j&&p.active++===0&&p.event.trigger("ajaxStart");if(!l.hasContent){l.data&&(l.url+=(cq.test(l.url)?"&":"?")+l.data,delete l.data),d=l.url;if(l.cache===!1){var z=p.now(),A=l.url.replace(cs,"$1_="+z);l.url=A+(A===l.url?(cq.test(l.url)?"&":"?")+"_="+z:"")}}(l.data&&l.hasContent&&l.contentType!==!1||c.contentType)&&x.setRequestHeader("Content-Type",l.contentType),l.ifModified&&(d=d||l.url,p.lastModified[d]&&x.setRequestHeader("If-Modified-Since",p.lastModified[d]),p.etag[d]&&x.setRequestHeader("If-None-Match",p.etag[d])),x.setRequestHeader("Accept",l.dataTypes[0]&&l.accepts[l.dataTypes[0]]?l.accepts[l.dataTypes[0]]+(l.dataTypes[0]!=="*"?", "+cx+"; q=0.01":""):l.accepts["*"]);for(k in l.headers){x.setRequestHeader(k,l.headers[k])}if(!l.beforeSend||l.beforeSend.call(m,x,l)!==!1&&v!==2){w="abort";for(k in {success:1,error:1,complete:1}){x[k](l[k])}g=cA(cw,l,c,x);if(!g){y(-1,"No Transport")}else{x.readyState=1,j&&n.trigger("ajaxSend",[x,l]),l.async&&l.timeout>0&&(h=setTimeout(function(){x.abort("timeout")},l.timeout));try{v=1,g.send(t,y)}catch(B){if(v<2){y(-1,B)}else{throw B}}}return x}return x.abort()},active:0,lastModified:{},etag:{}});var cE=[],cF=/\?/,cG=/(=)\?(?=&|$)|\?\?/,cH=p.now();p.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=cE.pop()||p.expando+"_"+cH++;return this[a]=!0,a}}),p.ajaxPrefilter("json jsonp",function(c,d,e){var f,g,h,i=c.data,j=c.url,k=c.jsonp!==!1,l=k&&cG.test(j),m=k&&!l&&typeof i=="string"&&!(c.contentType||"").indexOf("application/x-www-form-urlencoded")&&cG.test(i);if(c.dataTypes[0]==="jsonp"||l||m){return f=c.jsonpCallback=p.isFunction(c.jsonpCallback)?c.jsonpCallback():c.jsonpCallback,g=a[f],l?c.url=j.replace(cG,"$1"+f):m?c.data=i.replace(cG,"$1"+f):k&&(c.url+=(cF.test(j)?"&":"?")+c.jsonp+"="+f),c.converters["script json"]=function(){return h||p.error(f+" was not called"),h[0]},c.dataTypes[0]="json",a[f]=function(){h=arguments},e.always(function(){a[f]=g,c[f]&&(c.jsonpCallback=d.jsonpCallback,cE.push(f)),h&&p.isFunction(g)&&g(h[0]),h=g=b}),"script"}}),p.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){return p.globalEval(a),a}}}),p.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),p.ajaxTransport("script",function(a){if(a.crossDomain){var c,d=e.head||e.getElementsByTagName("head")[0]||e.documentElement;return{send:function(f,g){c=e.createElement("script"),c.async="async",a.scriptCharset&&(c.charset=a.scriptCharset),c.src=a.url,c.onload=c.onreadystatechange=function(a,e){if(e||!c.readyState||/loaded|complete/.test(c.readyState)){c.onload=c.onreadystatechange=null,d&&c.parentNode&&d.removeChild(c),c=b,e||g(200,"success")}},d.insertBefore(c,d.firstChild)},abort:function(){c&&c.onload(0,1)}}}});var cI,cJ=a.ActiveXObject?function(){for(var a in cI){cI[a](0,1)}}:!1,cK=0;p.ajaxSettings.xhr=a.ActiveXObject?function(){return !this.isLocal&&cL()||cM()}:cL,function(a){p.extend(p.support,{ajax:!!a,cors:!!a&&"withCredentials" in a})}(p.ajaxSettings.xhr()),p.support.ajax&&p.ajaxTransport(function(c){if(!c.crossDomain||p.support.cors){var d;return{send:function(e,f){var g,h,i=c.xhr();c.username?i.open(c.type,c.url,c.async,c.username,c.password):i.open(c.type,c.url,c.async);if(c.xhrFields){for(h in c.xhrFields){i[h]=c.xhrFields[h]}}c.mimeType&&i.overrideMimeType&&i.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(h in e){i.setRequestHeader(h,e[h])}}catch(j){}i.send(c.hasContent&&c.data||null),d=function(a,e){var h,j,k,l,m;try{if(d&&(e||i.readyState===4)){d=b,g&&(i.onreadystatechange=p.noop,cJ&&delete cI[g]);if(e){i.readyState!==4&&i.abort()}else{h=i.status,k=i.getAllResponseHeaders(),l={},m=i.responseXML,m&&m.documentElement&&(l.xml=m);try{l.text=i.responseText}catch(a){}try{j=i.statusText}catch(n){j=""}!h&&c.isLocal&&!c.crossDomain?h=l.text?200:404:h===1223&&(h=204)}}}catch(o){e||f(-1,o)}l&&f(h,j,l,k)},c.async?i.readyState===4?setTimeout(d,0):(g=++cK,cJ&&(cI||(cI={},p(a).unload(cJ)),cI[g]=d),i.onreadystatechange=d):d()},abort:function(){d&&d(0,1)}}}});var cN,cO,cP=/^(?:toggle|show|hide)$/,cQ=new RegExp("^(?:([-+])=|)("+q+")([a-z%]*)$","i"),cR=/queueHooks$/,cS=[cY],cT={"*":[function(a,b){var c,d,e=this.createTween(a,b),f=cQ.exec(b),g=e.cur(),h=+g||0,i=1,j=20;if(f){c=+f[2],d=f[3]||(p.cssNumber[a]?"":"px");if(d!=="px"&&h){h=p.css(e.elem,a,!0)||c||1;do{i=i||".5",h=h/i,p.style(e.elem,a,h+d)}while(i!==(i=e.cur()/g)&&i!==1&&--j)}e.unit=d,e.start=h,e.end=f[1]?h+(f[1]+1)*c:c}return e}]};p.Animation=p.extend(cW,{tweener:function(a,b){p.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");var c,d=0,e=a.length;for(;d-1,j={},k={},l,m;i?(k=e.position(),l=k.top,m=k.left):(l=parseFloat(g)||0,m=parseFloat(h)||0),p.isFunction(b)&&(b=b.call(a,c,f)),b.top!=null&&(j.top=b.top-f.top+l),b.left!=null&&(j.left=b.left-f.left+m),"using" in b?b.using.call(a,j):e.css(j)}},p.fn.extend({position:function(){if(!this[0]){return}var a=this[0],b=this.offsetParent(),c=this.offset(),d=c_.test(b[0].nodeName)?{top:0,left:0}:b.offset();return c.top-=parseFloat(p.css(a,"marginTop"))||0,c.left-=parseFloat(p.css(a,"marginLeft"))||0,d.top+=parseFloat(p.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(p.css(b[0],"borderLeftWidth"))||0,{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||e.body;while(a&&!c_.test(a.nodeName)&&p.css(a,"position")==="static"){a=a.offsetParent}return a||e.body})}}),p.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,c){var d=/Y/.test(c);p.fn[a]=function(e){return p.access(this,function(a,e,f){var g=da(a);if(f===b){return g?c in g?g[c]:g.document.documentElement[e]:a[e]}g?g.scrollTo(d?p(g).scrollLeft():f,d?f:p(g).scrollTop()):a[e]=f},a,e,arguments.length,null)}}),p.each({Height:"height",Width:"width"},function(a,c){p.each({padding:"inner"+a,content:c,"":"outer"+a},function(d,e){p.fn[e]=function(e,f){var g=arguments.length&&(d||typeof e!="boolean"),h=d||(e===!0||f===!0?"margin":"border");return p.access(this,function(c,d,e){var f;return p.isWindow(c)?c.document.documentElement["client"+a]:c.nodeType===9?(f=c.documentElement,Math.max(c.body["scroll"+a],f["scroll"+a],c.body["offset"+a],f["offset"+a],f["client"+a])):e===b?p.css(c,d,e,h):p.style(c,d,e,h)},c,g?e:b,g,null)}})}),a.jQuery=a.$=p,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return p})})(window);(function(a){a.ajaxthrottle=function(k){var i,e=a.extend({numRequestsPerTimePeriod:0,timePeriod:0,maxConcurrent:1},k),d=function(){return(new Date()).getTime()},j=[],g=[],c=[],b=function(l){if(e.timePeriod>=0){while((g.length>0)&&(g[0].time+e.timePeriod-l<=0)){g.shift()}if(g.length>0){return g[0].time+e.timePeriod-l}}return 0},f=function(l){a.each(j,function(m){if(j[m]===l){j.splice(m,1);return false}return true})},h=function(){var n=d(),m,o,l;if(c.length<=0){return}m=b(n);if((e.numRequestsPerTimePeriod>0)&&(e.timePeriod>0)&&(m>0)&&(g.length>=e.numRequestsPerTimePeriod)){if(i!==undefined){clearTimeout(i)}i=setTimeout(function(){i=undefined;h()},m);return}if((e.maxConcurrent>0)&&(j.length>=e.maxConcurrent)){return}o=c.shift();o.time=d();g.push(o);j.push(o);a.ajax.apply(a,o.arguments).done(function(){o.deferred.resolve.apply(o.deferred,arguments)}).fail(function(){o.deferred.reject.apply(o.deferred,arguments)}).always(function(){f(o);h()})};return{ajax:function(){var l=a.Deferred();c.push({arguments:arguments,deferred:l});h();return l.promise()}}}}(jQuery));(function(e){var f={fullscreen:false,scale:false,defaultEventHandling:true,preopen:function(){},postopen:function(){},preclose:function(){},postclose:function(){},preresize:function(){},postresize:function(){}};var b={open:function(){var m=this.clone(true),l=this.data("lightbox"),g,j;l.contents=m;l.preopen.call(this);m=l.contents;var i=m.data("lightbox");l.overlay=e("
    ").css({position:"fixed",left:"0px",top:"0px",height:"100%","min-height":"100%",width:"100%","z-index":"9999","background-color":"black",opacity:"0.5"}).appendTo("body");l.box=e("
    ").css({position:"fixed","z-index":"9999"}).appendTo("body");l.box.append(m);if(l.fullscreen===true){g=window.innerWidth;j=window.innerHeight}else{g=m.width();j=m.height();if(l.scale===true){var k=d(g,j);g=parseInt(g*k,10);j=parseInt(j*k,10)}}a(l.box,g,j);c(l.box,g,j);a(m,g,j);c(m,g,j);m.css("position","fixed").css("z-index",9999);l.box.append(e('close').css({position:"absolute",right:"-9px",top:"-8px",width:"44px",height:"44px","z-index":"10000"}).click(function(){m.lightbox("close")}));i.contentWidth=g;i.contentHeight=j;i.opened=true;i.resizeHandler=function(){m.lightbox("resize")};e(window).on("resize",i.resizeHandler);e(window).on("orientationchange",i.resizeHandler);l.postopen.call(this);return this},close:function(){var g=this.data("lightbox");g.preclose.call(this);e(window).off("resize",g.resizeHandler);e(window).off("orientationchange",g.resizeHandler);g.opened=false;g.overlay.remove();g.overlay=undefined;g.postclose.call(this);g.box.remove();return this},resize:function(){var k=this.data("lightbox"),g,i;k.preresize.call(this);if(k.fullscreen===true){g=window.innerWidth;i=window.innerHeight}else{g=k.contentWidth;i=k.contentHeight;if(k.scale===true){var j=d(g,i);g=parseInt(g*j,10);i=parseInt(i*j,10)}}a(k.box,g,i);c(k.box,g,i);a(k.contents,g,i);c(k.contents,g,i);k.contentWidth=g;k.contentHeight=i;k.postresize.call(this);return this},toggle:function(){if(this.data("lightbox").opened===true){this.lightbox("close")}else{this.lightbox("open")}return this},init:function(g){return this.each(function(){var j=e(this),i=j.data("lightbox");if(!i){var h=e.extend(f,g,{opened:false});j.data("lightbox",h)}if(j.data("lightbox").defaultEventHandling===true){j.on("touchstart",function(o){var l=o.timeStamp,n=j.data("lightbox").lastTouch||l,m=l-n,k=o.originalEvent.touches.length;j.data("lightbox").lastTouch=l;if(!m||m>500||k>1){return}o.preventDefault();j.lightbox("toggle")})}return this})}};e.fn.lightbox=function(g){if(b[g]){return b[g].apply(this,Array.prototype.slice.call(arguments,1))}else{if(typeof g==="object"||!g){return b.init.apply(this,arguments)}else{e.error("Method "+g+" does not exist on jQuery.lightbox");return null}}};var d=function(k,j){var g=(k>0)?window.innerWidth/k:1,h=(j>0)?window.innerHeight/j:1,i=Math.min(g,h);return i};var a=function(i,h,g){i.css("width",h+"px").css("height",g+"px")};var c=function(i,h,g){var k=(window.innerWidth-h)/2,j=(window.innerHeight-g)/2;if(k<0){k=0}if(j<0){j=0}i.css("left",k+"px").css("top",j+"px")}}(jQuery));(function(d){var b=["DOMMouseScroll","mousewheel"];if(d.event.fixHooks){for(var a=b.length;a;){d.event.fixHooks[b[--a]]=d.event.mouseHooks}}d.event.special.mousewheel={setup:function(){if(this.addEventListener){for(var e=b.length;e;){this.addEventListener(b[--e],c,false)}}else{this.onmousewheel=c}},teardown:function(){if(this.removeEventListener){for(var e=b.length;e;){this.removeEventListener(b[--e],c,false)}}else{this.onmousewheel=null}}};d.fn.extend({mousewheel:function(e){return e?this.bind("mousewheel",e):this.trigger("mousewheel")},unmousewheel:function(e){return this.unbind("mousewheel",e)}});function c(j){var h=j||window.event,g=[].slice.call(arguments,1),k=0,i=true,f=0,e=0;j=d.event.fix(h);j.type="mousewheel";if(h.wheelDelta){k=h.wheelDelta/120}if(h.detail){k=-h.detail/3}e=k;if(h.axis!==undefined&&h.axis===h.HORIZONTAL_AXIS){e=0;f=-1*k}if(h.wheelDeltaY!==undefined){e=h.wheelDeltaY/120}if(h.wheelDeltaX!==undefined){f=-1*h.wheelDeltaX/120}g.unshift(j,k,f,e);return(d.event.dispatch||d.event.handle).apply(this,g)}})(jQuery);window.jermaine.util.namespace("window.multigraph",function(a){window.multigraph.jQuery=jQuery.noConflict()});(function(b){var a={on:function(c){if(c===undefined){return b(this).data("busy_spinner").on}else{return this.each(function(){if(c){b(this).data("busy_spinner").on=true;b(this).data("busy_spinner").level=1;b(this).show()}else{b(this).data("busy_spinner").on=false;b(this).data("busy_spinner").level=0;b(this).hide()}return this})}},level:function(c){if(c===undefined){return b(this).data("busy_spinner").level}else{return this.each(function(){if(b(this).data("busy_spinner").level+c>=0){b(this).data("busy_spinner").level=b(this).data("busy_spinner").level+c;if(b(this).data("busy_spinner").level===1){b(this).busy_spinner("on",true)}else{if(b(this).data("busy_spinner").level===0){b(this).busy_spinner("on",false)}}}return this})}},init:function(c){return this.each(function(){var f=b(this),e=f.data("busy_spinner"),d=b.extend({on:false},c);if(!e){f.data("busy_spinner",{on:d.on,level:0});if(d.on){b(this).show()}else{b(this).hide()}b(this).css({width:32,height:32}).append(b('ajax loading'))}return this})}};b.fn.busy_spinner=function(c){if(a[c]){return a[c].apply(this,Array.prototype.slice.call(arguments,1))}else{if(typeof c==="object"||!c){return a.init.apply(this,arguments)}else{b.error("Method "+c+" does not exist on jQuery.busy_spinner");return null}}}}(jQuery));(function(d){var c=('
    ');var e=('');var b=('
      ');var a={init:function(f){return this.each(function(){var k=d(this),j=k.data("errorDisplay"),h=d.extend({fontColor:"#ff0000",backgroundColor:"#ffffff",displayTime:1000,indicatorColor:"#ff0000"},f);if(!j){k.append(c);k.find(".errorDisplay").width(k.width()-6);var i=d(e).appendTo(d("body"));var g=d(b);d(i).find(".errorDisplayXButton").click(function(l){l.preventDefault();d(i).find(".errorDisplayOptions").hide();d(i).hide();k.find(".errorDisplayRetriever").css("background-color",h.indicatorColor).show()});k.data("errorDisplay",{detailDisplay:i,detailDisplayList:g,fontColor:h.fontColor,backgroundColor:h.backgroundColor,displayTime:h.displayTime,indicatorColor:h.indicatorColor});k.find(".errorDisplayXButton").click(function(l){l.preventDefault();k.find(".errorDisplayOptions").hide();k.find(".errorDisplay").slideUp(h.displayTime,function(){k.find(".errorDisplayRetriever").show()})});k.find(".errorDisplayDetailsButton").click(function(l){l.preventDefault();k.find(".errorDisplay").off();k.find(".errorDisplay").hide();k.find(".errorDisplayRetriever").hide();d(i).find(".errorDisplayFullMessageArea").empty().append(d(g));d(i).find(".errorDisplayOptions").show();d(i).show()})}return this})},displayError:function(h,f,g){return this.each(function(){var k=d(this),j=k.data("errorDisplay"),i=d.extend({fontColor:j.fontColor,backgroundColor:j.backgroundColor,displayTime:j.displayTime,indicatorColor:j.indicatorColor},g);k.find(".errorDisplayRetriever").hide();k.find(".errorDisplayOptions").hide();k.find(".errorDisplayShortMessage").css("color",i.fontColor);k.find(".errorDisplay").css("background-color",i.backgroundColor);k.find(".errorDisplayOptions").css("background-color",i.backgroundColor);k.find(".errorDisplayShortMessage").text(f);k.find(".errorDisplay").show();k.find(".errorDisplayRetriever").css("background-color",i.indicatorColor);if(i.displayTime!=-1){k.find(".errorDisplay").slideUp(i.displayTime,function(){k.find(".errorDisplayRetriever").show()})}else{k.find(".errorDisplayOptions").show();k.find(".errorDisplay").show()}d(j.detailDisplayList).append(d("
    • "+h+"
    • ").css("color",i.fontColor));k.find(".errorDisplayRetriever").hover(function(l){l.preventDefault();k.find(".errorDisplayOptions").hide();k.find(".errorDisplayShortMessage").text(f).css("color",i.fontColor);k.find(".errorDisplay").slideDown(function(){k.find(".errorDisplayOptions").show();k.find(".errorDisplay").mouseleave(function(m){m.preventDefault();k.find(".errorDisplayOptions").hide();k.find(".errorDisplay").slideUp(i.displayTime,function(){k.find(".errorDisplayRetriever").show()})})});k.find(".errorDisplayRetriever").hide()})})}};d.fn.errorDisplay=function(f){if(a[f]){return a[f].apply(this,Array.prototype.slice.call(arguments,1))}else{if(typeof f==="object"||!f){return a.init.apply(this,arguments)}else{d.error("Method "+f+" does not exist on jQuery.errorDisplay");return null}}}}(jQuery));jQuery("head").append(jQuery(""));if(!window.multigraph){window.multigraph={}}window.multigraph.util=jermaine.util;var sprintf=(function(){function a(d){return Object.prototype.toString.call(d).slice(8,-1).toLowerCase()}function b(e,f){for(var d=[];f>0;d[--f]=e){}return d.join("")}var c=function(){if(!c.cache.hasOwnProperty(arguments[0])){c.cache[arguments[0]]=c.parse(arguments[0])}return c.format.call(null,c.cache[arguments[0]],arguments)};c.format=function(m,l){var q=1,o=m.length,g="",r,d=[],h,f,j,e,n,p;for(h=0;h=0?"+"+r:r);n=j[4]?j[4]=="0"?"0":j[4].charAt(1):" ";p=j[6]-String(r).length;e=j[6]?b(n,p):"";d.push(j[5]?r+e:e+r)}}}return d.join("")};c.cache={};c.parse=function(d){var g=d,h=[],j=[],i=0;while(g){if((h=/^[^\x25]+/.exec(g))!==null){j.push(h[0])}else{if((h=/^\x25{2}/.exec(g))!==null){j.push("%")}else{if((h=/^\x25(?:([1-9]\d*)\$|\(([^\)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-fosuxX])/.exec(g))!==null){if(h[2]){i|=1;var k=[],f=h[2],e=[];if((e=/^([a-z_][a-z_\d]*)/i.exec(f))!==null){k.push(e[1]);while((f=f.substring(e[0].length))!==""){if((e=/^\.([a-z_][a-z_\d]*)/i.exec(f))!==null){k.push(e[1])}else{if((e=/^\[(\d+)\]/.exec(f))!==null){k.push(e[1])}else{throw ("[sprintf] invalid format string")}}}}else{throw ("[sprintf] invalid format string")}h[2]=k}else{i|=2}if(i===3){throw ("[sprintf] mixing positional and named placeholders is not (yet) supported")}j.push(h)}else{throw ("[sprintf] invalid format string")}}}g=g.substring(h[0].length)}return j};return c})();var vsprintf=function(b,a){a.unshift(b);return sprintf.apply(null,a)};(function(){var b=0;var c=["ms","moz","webkit","o"];for(var a=0;a-1){d.attribute(b[c]).defaultsTo(e[b[c]])}}}return d};a.getDefaultValuesFromXSD=function(){return{window:{border:2,margin:function(){return new window.multigraph.math.Insets(2,2,2,2)},padding:function(){return new window.multigraph.math.Insets(5,5,5,5)},bordercolor:function(){return new window.multigraph.math.RGBColor.parse("0x000000")}},legend:{icon:{height:30,width:40,border:1},visible:null,base:function(){return new window.multigraph.math.Point(1,1)},anchor:function(){return new window.multigraph.math.Point(1,1)},position:function(){return new window.multigraph.math.Point(0,0)},frame:"plot",color:function(){return new window.multigraph.math.RGBColor.parse("0xffffff")},bordercolor:function(){return new window.multigraph.math.RGBColor.parse("0x000000")},opacity:1,border:1,rows:undefined,columns:undefined,cornerradius:0,padding:0},background:{img:{src:undefined,anchor:function(){return new window.multigraph.math.Point(-1,-1)},base:function(){return new window.multigraph.math.Point(-1,-1)},position:function(){return new window.multigraph.math.Point(0,0)},frame:"padding"},color:"0xffffff"},plotarea:{margin:function(){return new window.multigraph.math.Insets(10,38,35,35)},border:0,color:null,bordercolor:function(){return new window.multigraph.math.RGBColor.parse("0xeeeeee")}},title:{text:undefined,frame:"padding",border:0,color:function(){return new window.multigraph.math.RGBColor.parse("0xffffff")},bordercolor:function(){return new window.multigraph.math.RGBColor.parse("0x000000")},opacity:1,padding:0,cornerradius:15,anchor:function(){return new window.multigraph.math.Point(0,1)},base:function(){return new window.multigraph.math.Point(0,1)},position:function(){return new window.multigraph.math.Point(0,0)}},horizontalaxis:{title:{content:undefined,anchor:undefined,base:0,position:undefined,"position-horizontal-top":function(){return new window.multigraph.math.Point(0,15)},"position-horizontal-bottom":function(){return new window.multigraph.math.Point(0,-18)},"position-vertical-right":function(){return new window.multigraph.math.Point(33,0)},"position-vertical-left":function(){return new window.multigraph.math.Point(-25,0)},"anchor-horizontal-top":function(){return new window.multigraph.math.Point(0,-1)},"anchor-horizontal-bottom":function(){return new window.multigraph.math.Point(0,1)},"anchor-vertical-right":function(){return new window.multigraph.math.Point(-1,0)},"anchor-vertical-left":function(){return new window.multigraph.math.Point(1,0)},angle:0},labels:{label:{format:undefined,position:undefined,anchor:undefined,"position-horizontal-top":function(){return new window.multigraph.math.Point(0,5)},"position-horizontal-bottom":function(){return new window.multigraph.math.Point(0,-5)},"position-vertical-right":function(){return new window.multigraph.math.Point(5,0)},"position-vertical-left":function(){return new window.multigraph.math.Point(-8,0)},"anchor-horizontal-top":function(){return new window.multigraph.math.Point(0,-1)},"anchor-horizontal-bottom":function(){return new window.multigraph.math.Point(0,1)},"anchor-vertical-right":function(){return new window.multigraph.math.Point(-1,0)},"anchor-vertical-left":function(){return new window.multigraph.math.Point(1,0)},angle:0,spacing:undefined,densityfactor:1,color:function(){return new window.multigraph.math.RGBColor.parse("0x000000")}},"start-number":function(){return new window.multigraph.core.NumberValue(0)},"start-datetime":function(){return new window.multigraph.core.DatetimeValue(0)},angle:0,position:function(){return new window.multigraph.math.Point(0,0)},anchor:function(){return new window.multigraph.math.Point(0,0)},color:function(){return new window.multigraph.math.RGBColor.parse("0x000000")},defaultNumberSpacing:"10000 5000 2000 1000 500 200 100 50 20 10 5 2 1 0.1 0.01 0.001",defaultDatetimeSpacing:"1000Y 500Y 200Y 100Y 50Y 20Y 10Y 5Y 2Y 1Y 6M 3M 2M 1M 7D 3D 2D 1D 12H 6H 3H 2H 1H","function":undefined,densityfactor:undefined},grid:{color:function(){return new window.multigraph.math.RGBColor.parse("0xeeeeee")},visible:false},pan:{allowed:true,min:null,max:null},zoom:{allowed:true,min:undefined,max:undefined,anchor:null},binding:{id:undefined,min:undefined,max:undefined},id:undefined,type:"number",length:function(){return new window.multigraph.math.Displacement(1,0)},position:function(){return new window.multigraph.math.Point(0,0)},pregap:0,postgap:0,anchor:-1,base:function(){return new window.multigraph.math.Point(-1,-1)},min:"auto",minoffset:0,minposition:function(){return new window.multigraph.math.Displacement(-1,0)},max:"auto",maxoffset:0,maxposition:function(){return new window.multigraph.math.Displacement(1,0)},positionbase:undefined,color:function(){return new window.multigraph.math.RGBColor(0,0,0)},tickmin:-3,tickmax:3,tickcolor:null,highlightstyle:"axis",linewidth:1,orientation:undefined},verticalaxis:{title:{content:undefined,anchor:function(){return new window.multigraph.math.Point(0,-20)},position:function(){return new window.multigraph.math.Point(0,1)},angle:"0"},labels:{label:{format:undefined,start:undefined,angle:undefined,position:undefined,anchor:undefined,spacing:undefined,densityfactor:undefined},format:"%1d",visible:"true",start:"0",angle:"0.0",position:"0 0",anchor:"0 0","function":undefined,densityfactor:undefined},grid:{visible:"false"},pan:{allowed:"yes",min:undefined,max:undefined},zoom:{allowed:"yes",min:undefined,max:undefined,anchor:"none"},binding:{id:undefined,min:undefined,max:undefined},id:undefined,type:"number",position:"0 0",pregap:"0",postgap:"0",anchor:"-1",base:"-1 1",min:"auto",minoffset:"0",minposition:"-1",max:"auto",maxoffset:"0",maxposition:"1",positionbase:undefined,tickmin:"-3",tickmax:"3",highlightstyle:"axis",linewidth:"1",orientation:undefined},plot:{legend:{visible:true,label:undefined},horizontalaxis:{variable:{ref:undefined,factor:undefined},constant:{value:undefined},ref:undefined},verticalaxis:{variable:{ref:undefined,factor:undefined},constant:{value:undefined},ref:undefined},filter:{option:{name:undefined,value:undefined},type:undefined},renderer:{option:{name:undefined,value:undefined,min:undefined,max:undefined},type:function(){return window.multigraph.core.Renderer.Type.parse("line")}},datatips:{variable:{format:undefined},format:undefined,bgalpha:"1.0",border:1,pad:2}},throttle:{pattern:"",requests:0,period:0,concurrent:0},data:{variables:{variable:{id:undefined,column:undefined,type:"number",missingvalue:undefined,missingop:undefined},missingvalue:"-9000",missingop:"eq"},values:{content:undefined},csv:{location:undefined},service:{location:undefined}}}}});window.multigraph.util.namespace("window.multigraph.utilityFunctions",function(a){a.parseAttribute=function(d,c,b){if(d!==undefined){c(b(d));return true}return false};a.parseString=function(b){return b};a.parseInteger=function(b){return parseInt(b,10)};a.parseDataValue=function(b){return function(c){return window.multigraph.core.DataValue.parse(b,c)}};a.parseDataMeasure=function(b){return function(c){return window.multigraph.core.DataMeasure.parse(b,c)}};a.parseBoolean=function(b){switch(b.toLowerCase()){case"true":case"yes":return true;case"false":case"no":return false;default:return b}}});window.multigraph.util.namespace("window.multigraph.utilityFunctions",function(a){a.validateNumberRange=function(b,d,c){return typeof(b)==="number"&&b>=d&&b<=c};a.typeOf=function(c){var b=typeof c;if(b==="object"){if(c){if(Object.prototype.toString.call(c)==="[object Array]"){b="array"}}else{b="null"}}return b}});window.multigraph.util.namespace("window.multigraph.core",function(b){var c={};c.NUMBER="number";c.DATETIME="datetime";c.UNKNOWN="unknown";c.types=function(){return[c.NUMBER,c.DATETIME,c.UNKNOWN]};c.parseType=function(d){if(d.toLowerCase()===c.NUMBER){return c.NUMBER}if(d.toLowerCase()===c.DATETIME){return c.DATETIME}throw new Error("unknown DataValue type: "+d)};c.serializeType=function(d){return d};c.isInstance=function(d){return(d&&(typeof(d.getRealValue)==="function")&&(typeof(d.compareTo)==="function"))};c.isInstanceOrNull=function(d){return((d===null)||c.isInstance(d))};c.create=function(d,e){if(d===c.NUMBER){return new b.NumberValue(e)}else{if(d===c.DATETIME){return new b.DatetimeValue(e)}}throw new Error("attempt to parse an unknown DataValue type")};c.parse=function(e,d){if(e===c.NUMBER){return b.NumberValue.parse(d)}else{if(e===c.DATETIME){return b.DatetimeValue.parse(d)}}throw new Error("attempt to parse an unknown DataValue type")};c.LT="lt";c.LE="le";c.EQ="eq";c.GE="ge";c.GT="gt";c.NE="ne";var a={};a[c.LT]=function(d){return this.compareTo(d)<0};a[c.LE]=function(d){return this.compareTo(d)<=0};a[c.EQ]=function(d){return this.compareTo(d)===0};a[c.GE]=function(d){return this.compareTo(d)>=0};a[c.GT]=function(d){return this.compareTo(d)>0};a[c.NE]=function(d){return this.compareTo(d)!==0};c.mixinComparators=function(d){d[c.LT]=a[c.LT];d[c.LE]=a[c.LE];d[c.EQ]=a[c.EQ];d[c.GE]=a[c.GE];d[c.GT]=a[c.GT];d[c.NE]=a[c.NE]};c.comparators=function(){return[c.LT,c.LE,c.EQ,c.GE,c.GT,c.NE]};c.parseComparator=function(d){if(typeof(d)==="string"){switch(d.toLowerCase()){case"lt":return c.LT;case"le":return c.LE;case"eq":return c.EQ;case"ge":return c.GE;case"gt":return c.GT;case"ne":return c.NE}}throw new Error(d+" should be one of 'lt', 'le', 'eq', 'ge', 'gt', 'ne'.")};b.DataValue=c});window.multigraph.util.namespace("window.multigraph.core",function(b){var a={};a.isInstance=function(c){return(c&&(typeof(c.getRealValue)==="function")&&(!c.compareTo))};a.parse=function(d,c){if(d===b.DataValue.NUMBER){return b.NumberMeasure.parse(c)}else{if(d===b.DataValue.DATETIME){return b.DatetimeMeasure.parse(c)}}throw new Error("attempt to parse an unknown DataMeasure type")};b.DataMeasure=a});window.multigraph.util.namespace("window.multigraph.core",function(a){var b={};b.isInstance=function(c){return(c&&(typeof(c.format)==="function")&&(typeof(c.getMaxLength)==="function"))};b.create=function(c,d){if(c===a.DataValue.NUMBER){return new a.NumberFormatter(d)}else{if(c===a.DataValue.DATETIME){return new a.DatetimeFormatter(d)}}throw new Error("attempt to create an unknown DataFormatter type")};a.DataFormatter=b});window.multigraph.util.namespace("window.multigraph.math",function(a){a.Box=new window.jermaine.Model("Box",function(){this.hasA("width").isA("number");this.hasA("height").isA("number");this.isBuiltWith("width","height")})});window.multigraph.util.namespace("window.multigraph.math",function(a){a.Displacement=new window.jermaine.Model("Displacement",function(){this.hasA("a").validatesWith(function(b){return window.multigraph.utilityFunctions.validateNumberRange(b,-1,1)});this.hasA("b").isA("integer").defaultsTo(0);this.isBuiltWith("a","%b");this.respondsTo("calculateLength",function(b){return this.a()*b+this.b()});this.respondsTo("calculateCoordinate",function(b){return(this.a()+1)*b/2+this.b()})});a.Displacement.regExp=/^([\+\-]?[0-9\.]+)([+\-])([0-9\.+\-]+)$/;a.Displacement.parse=function(h){var g=a.Displacement.regExp.exec(h),i,f,c,e;if(h===undefined){i=new a.Displacement(1)}else{if(g!==null){f=parseFloat(g[1]);c=parseFloat(g[3]);switch(g[2]){case"+":e=1;break;case"-":e=-1;break;default:e=0;break}i=new a.Displacement(f,e*c)}else{f=parseFloat(h);i=new a.Displacement(f)}}return i}});window.multigraph.util.namespace("window.multigraph.math",function(b){var a=function(c){var e={};var d=function(f){if(e[f]!==undefined){throw new Error("attempt to redefine "+c+" Enum with key '"+f+"'")}this.enumType=c;this.key=f;e[f]=this};d.parse=function(f){return e[f]};d.prototype.toString=function(){return this.key};d.isInstance=function(f){return(f!==undefined&&f!==null&&f.enumType===c)};return d};b.Enum=a});window.multigraph.util.namespace("window.multigraph.math",function(a){a.Insets=new window.jermaine.Model("Insets",function(){this.hasA("top").isA("number");this.hasA("left").isA("number");this.hasA("bottom").isA("number");this.hasA("right").isA("number");this.respondsTo("set",function(e,d,b,c){this.top(e);this.left(d);this.bottom(b);this.right(c)});this.isBuiltWith("top","left","bottom","right")})});window.multigraph.util.namespace("window.multigraph.math",function(a){a.Point=new window.jermaine.Model("Point",function(){this.hasA("x").isA("number");this.hasA("y").isA("number");this.isBuiltWith("x","y");this.respondsTo("eq",function(b){return((this.x()===b.x())&&(this.y()===b.y()))})});a.Point.regExp=/^\s*([0-9\-\+\.eE]+)(,|\s+|\s*,\s+|\s+,\s*)([0-9\-\+\.eE]+)\s*$/;a.Point.parse=function(c){var b=a.Point.regExp.exec(c),d;if(!b||(b.length!==4)){throw new Error("cannot parse string '"+c+"' as a Point")}return new a.Point(parseFloat(b[1]),parseFloat(b[3]))}});window.multigraph.util.namespace("window.multigraph.math",function(a){a.RGBColor=new window.jermaine.Model("RGBColor",function(){this.hasA("r").validatesWith(function(c){return window.multigraph.utilityFunctions.validateNumberRange(c,0,1)});this.hasA("g").validatesWith(function(c){return window.multigraph.utilityFunctions.validateNumberRange(c,0,1)});this.hasA("b").validatesWith(function(c){return window.multigraph.utilityFunctions.validateNumberRange(c,0,1)});var b=function(c){c=parseInt(c*255,10).toString(16);if(c.length===1){c="0"+c}return c};this.respondsTo("getHexString",function(c){if(!c){c="0x"}return c+b(this.r())+b(this.g())+b(this.b())});this.respondsTo("toRGBA",function(c){if(c===undefined){c=1}if(typeof(c)!=="number"){throw new Error("RGBColor.toRGBA: The argument, if present, must be a number")}return"rgba("+(255*this.r())+", "+(255*this.g())+", "+(255*this.b())+", "+c+")"});this.respondsTo("eq",function(c){return((this.r()===c.r())&&(this.g()===c.g())&&(this.b()===c.b()))});this.isBuiltWith("r","g","b")});a.RGBColor.colorNameIsDeprecated=function(b){switch(b){case"grey":return"0xeeeeee";case"skyblue":return"0x87ceeb";case"khaki":return"0xf0e68c";case"orange":return"0xffa500";case"salmon":return"0xfa8072";case"olive":return"0x9acd32";case"sienna":return"0xa0522d";case"pink":return"0xffb5c5";case"violet":return"0xee82ee"}return false};a.RGBColor.parse=function(c){var h,e,b,g,f,d;if(c===undefined){return undefined}else{if(typeof(c)==="string"){f=c.toLowerCase();switch(f){case"black":h=0;e=0;b=0;break;case"red":h=1;e=0;b=0;break;case"green":h=0;e=1;b=0;break;case"blue":h=0;e=0;b=1;break;case"yellow":h=1;e=1;b=0;break;case"magenta":h=1;e=0;b=1;break;case"cyan":h=0;e=1;b=1;break;case"white":h=1;e=1;b=1;break;case"grey":g=parseInt("ee",16)/255;h=g;e=g;b=g;break;case"skyblue":h=parseInt("87",16)/255;e=parseInt("ce",16)/255;b=parseInt("eb",16)/255;break;case"khaki":h=parseInt("f0",16)/255;e=parseInt("e6",16)/255;b=parseInt("8c",16)/255;break;case"orange":h=parseInt("ff",16)/255;e=parseInt("a5",16)/255;b=parseInt("00",16)/255;break;case"salmon":h=parseInt("fa",16)/255;e=parseInt("80",16)/255;b=parseInt("72",16)/255;break;case"olive":h=parseInt("9a",16)/255;e=parseInt("cd",16)/255;b=parseInt("32",16)/255;break;case"sienna":h=parseInt("a0",16)/255;e=parseInt("52",16)/255;b=parseInt("2d",16)/255;break;case"pink":h=parseInt("ff",16)/255;e=parseInt("b5",16)/255;b=parseInt("c5",16)/255;break;case"violet":h=parseInt("ee",16)/255;e=parseInt("82",16)/255;b=parseInt("ee",16)/255;break;default:f=f.replace(/(0(x|X)|#)/,"");if(f.search(new RegExp(/([^0-9a-f])/))!==-1){throw new Error("'"+c+"' is not a valid color")}if(f.length===6){h=parseInt(f.substring(0,2),16)/255;e=parseInt(f.substring(2,4),16)/255;b=parseInt(f.substring(4,6),16)/255}else{if(f.length===3){h=parseInt(f.charAt(0),16)/15;e=parseInt(f.charAt(1),16)/15;b=parseInt(f.charAt(2),16)/15}else{throw new Error("'"+c+"' is not a valid color")}}break}d=new a.RGBColor(h,e,b);return d}}throw new Error("'"+c+"' is not a valid color")}});window.multigraph.util.namespace("window.multigraph.math",function(a){a.util={interp:function(b,d,c,f,e){return f+((e-f)*(b-d))/(c-d)},safe_interp:function(b,d,c,f,e){if(d===c){return(f+e)/2}return a.util.interp(b,d,c,f,e)},l2dist:function(e,g,d,f){var c=e-d;var b=g-f;return Math.sqrt(c*c+b*b)}}});window.multigraph.util.namespace("window.multigraph.core",function(e){var f,g,d,c=window.multigraph.utilityFunctions,h=c.getDefaultValuesFromXSD(),b=c.getKeys(h.plot.renderer),a=new window.multigraph.math.Enum("RendererType");g=new window.jermaine.Model("Renderer",function(){this.hasA("type").validatesWith(a.isInstance);this.hasA("plot").validatesWith(function(j){return j instanceof e.Plot});this.hasA("numberOfVariables").isA("number");this.respondsTo("setUpMissing",function(){var k=this.plot(),j;if(!k){console.log("Warning: renderer.setUpMissing() called for renderer that has no plot ref");return}if(k instanceof e.ConstantPlot){this.isMissing=function(l){return false};return}if(!k.data()){console.log("Warning: renderer.setUpMissing() called for renderer whose plot has no data ref");return}j=k.data();this.isMissing=function(m){var l;for(l=1;l=0;--k){var m=o.at(k);if(((m.min()===undefined)||(n===undefined)||m.min().le(n))&&((m.max()===undefined)||(n===undefined)||m.max().gt(n))){return m.value()}}});this.respondsTo("begin",function(){});this.respondsTo("dataPoint",function(j){});this.respondsTo("end",function(){})});f=[];g.addType=function(i){f.push(i)};g.create=function(k){var j,l;for(j=0;j0){for(b=e.length-1;b>=0;--b){c.splice(e[b],1)}}})})});window.multigraph.util.namespace("window.multigraph.core",function(c){var b=window.multigraph.utilityFunctions,e=b.getDefaultValuesFromXSD(),a=b.getKeys(e.data.variables.variable),d=new window.jermaine.Model("DataVariable",function(){this.hasA("id").isA("string");this.hasA("column").isA("integer");this.hasA("type").isOneOf(c.DataValue.types()).defaultsTo(c.DataValue.NUMBER);this.hasA("data").validatesWith(function(f){return f instanceof window.multigraph.core.Data});this.hasA("missingvalue").validatesWith(c.DataValue.isInstance);this.hasA("missingop").isOneOf(c.DataValue.comparators());this.isBuiltWith("id","%column","%type");b.insertDefaults(this,e.data.variables.variable,a)});c.DataVariable=d});window.multigraph.util.namespace("window.multigraph.core",function(b){var a=new window.jermaine.Model(function(){var d=b.DataVariable;this.isA(b.EventEmitter);var c=function(h,j,g){var e=-1,f;for(f=0;f=0){e=this.columns().at(f)}if(e===undefined){throw new Error("Data: no column with the label "+g)}return e.column()});this.respondsTo("columnIdToDataVariable",function(g){if(typeof(g)!=="string"){throw new Error("Data: columnIdToDataVariable requires a string parameter")}var f=this.columns(),e=c("id",g,f)!==-1?f.at(c("id",g,f)):undefined;if(e===undefined){throw new Error("Data: no column with the label "+g)}return e});this.respondsTo("getColumnId",function(f){if(typeof(f)!=="number"){throw new Error("Data: getColumnId method expects an integer")}var e=c("column",f,this.columns());if(e===-1){throw new Error("Data: column "+f+" does not exist")}return this.columns().at(e).id()});this.respondsTo("getColumns",function(){var e=[],g=this.columns(),f;for(f=0;f=this.columns().size()){throw new Error("metadata.isMissing(): index out of range")}f=this.columns().at(e);if(!f.missingvalue()||!f.missingop()){return false}return g[f.missingop()](f.missingvalue())})});b.Data=a});window.multigraph.util.namespace("window.multigraph.core",function(b){var a;a=new window.jermaine.Model("Plot",function(){this.hasA("legend").validatesWith(function(c){return c instanceof b.PlotLegend});this.hasA("horizontalaxis").validatesWith(function(c){return c instanceof b.Axis});this.hasA("verticalaxis").validatesWith(function(c){return c instanceof b.Axis});this.hasA("renderer").validatesWith(function(c){return c instanceof b.Renderer})});b.Plot=a});window.multigraph.util.namespace("window.multigraph.core",function(a){a.ArrayData=window.jermaine.Model(function(){var b=this;this.isA(a.Data);this.hasAn("array");this.hasA("stringArray");this.isBuiltWith("columns","stringArray",function(){this.init();this.addListener("listenerAdded",function(c){if(c.targetType==="dataReady"){var d=this.array();c.listener(d[0][0],d[d.length-1][0])}})});this.respondsTo("getIterator",function(d,f,c,e){return b.getArrayDataIterator(this,d,f,c,e)});this.respondsTo("getBounds",function(d){var g=this.array(),f=g[0][d],c=f,e;for(e=1;ec){c=g[e][d]}}return[f,c]});b.getArrayDataIterator=function(g,m,e,q,h){var l,f,c,n,p,r,o=g.array();h=h||0;if(Object.prototype.toString.apply(m)!=="[object Array]"){throw new Error("ArrayData: getIterator method requires that the first parameter be an array of strings")}else{for(l=0;lo.length-1){n=o.length-1}r=[];for(f=0;fn){return null}for(k=0;kn){if(i===0){k=false}else{j=o;i--}}else{if(on){if(i===0){break}else{if(q>i){q=i;j=o;i--}else{i=q;o=j;break}}}else{if(oi){break}else{if(i===m){break}else{q=i;j=o;i++}}}else{if(o===n){break}}}}}g=l.at(i);this.currentLabeler(g);this.currentLabelerIndex(i);this.currentLabelDensity(o)});this.respondsTo("toRealValue",function(g){if(typeof(g)==="number"){return g}else{if(d.DataValue.isInstance(g)){return g.getRealValue()}else{throw new Error("unknown value type for axis value "+g)}}});this.respondsTo("toDataValue",function(g){if(typeof(g)==="number"){return d.DataValue.create(this.type(),g)}else{if(d.DataValue.isInstance(g)){return g}else{throw new Error("unknown value type for axis value "+g)}}});this.respondsTo("setDataRangeNoBind",function(i,g,h){var k=this.toDataValue(i),j=this.toDataValue(g);this.dataMin(k);this.dataMax(j);if(h===undefined){h=true}});this.respondsTo("setDataRange",function(i,g,h){if(this.binding()){this.binding().setDataRange(this,i,g,h)}else{this.setDataRangeNoBind(i,g,h)}});this.respondsTo("doPan",function(h,l){var k=this.pan(),n=k.min(),i=k.max(),j,g,m;if(!k.allowed()){return}j=l/this.axisToDataRatio();g=this.dataMin().getRealValue()-j;m=this.dataMax().getRealValue()-j;if(n&&gi.getRealValue()){g-=(m-i.getRealValue());m=i.getRealValue()}this.setDataRange(d.DataValue.create(this.type(),g),d.DataValue.create(this.type(),m))});this.respondsTo("doZoom",function(o,l){var u=this.zoom(),t=this.pan(),r=this.type(),w=this.dataMin(),j=this.dataMax(),n=t.min(),v=t.max(),k=u.min(),s=u.max(),g=d.DataValue,i,q,h,p,m;if(!u.allowed()){return}i=this.axisValueToDataValue(o).getRealValue();if(g.isInstance(u.anchor())){i=u.anchor().getRealValue()}q=10*Math.abs(l/(this.pixelLength()-this.maxoffset()-this.minoffset()));if(l<=0){h=g.create(r,(w.getRealValue()-i)*(1+q)+i);p=g.create(r,(j.getRealValue()-i)*(1+q)+i)}else{h=g.create(r,(w.getRealValue()-i)*(1-q)+i);p=g.create(r,(j.getRealValue()-i)*(1-q)+i)}if(n&&h.lt(n)){h=n}if(v&&p.gt(v)){p=v}if((w.le(j)&&h.lt(p))||(w.ge(j)&&h.gt(p))){if(s&&(p.gt(h.add(s)))){m=(p.getRealValue()-h.getRealValue()-s.getRealValue())/2;p=p.addRealValue(-m);h=h.addRealValue(m)}else{if(k&&(p.lt(h.add(k)))){m=(k.getRealValue()-(p.getRealValue()-h.getRealValue()))/2;p=p.addRealValue(m);h=h.addRealValue(-m)}}this.setDataRange(h,p)}});this.respondsTo("distanceToPoint",function(g,n){var h=(this.orientation()===c.HORIZONTAL)?n:g,m=(this.orientation()===c.HORIZONTAL)?g:n,k=this.parallelOffset(),j=this.perpOffset(),l=this.pixelLength(),i=window.multigraph.math.util.l2dist;if(mk+l){return i(m,h,k+l,j)}return Math.abs(h-j)});b.insertDefaults(this,f.horizontalaxis,a)});c.HORIZONTAL=new e("horizontal");c.VERTICAL=new e("vertical");c.Orientation=e;d.Axis=c});window.multigraph.util.namespace("window.multigraph.core",function(a){a.AxisBinding=new window.jermaine.Model("AxisBinding",function(){var b=this;b.instances={};this.hasA("id").isA("string");this.hasA("axes");this.isBuiltWith("id",function(){b.instances[this.id()]=this;this.axes([])});this.respondsTo("addAxis",function(f,e,c,d){if(f.binding()){f.binding().removeAxis(f)}f.binding(this);e=f.toRealValue(e);c=f.toRealValue(c);this.axes().push({axis:f,multigraph:d,factor:1/(c-e),offset:-e/(c-e),min:e,max:c})});this.respondsTo("removeAxis",function(d){var e=this.axes(),c;for(c=0;cj.height()/2){k(h(o["position-horizontal-top"]))}else{k(h(o["position-horizontal-bottom"]))}}else{if(g>j.width()/2){k(h(o["position-vertical-right"]))}else{k(h(o["position-vertical-left"]))}}}if(i()===undefined){if(l){if(g>j.height()/2){i(h(o["anchor-horizontal-top"]))}else{i(h(o["anchor-horizontal-bottom"]))}}else{if(g>j.width()/2){i(h(o["anchor-vertical-right"]))}else{i(h(o["anchor-vertical-left"]))}}}n.angle=this.angle();this.content().initializeGeometry(n);return this});this.respondsTo("render",function(){});b.insertDefaults(this,e.horizontalaxis.title,a)});c.AxisTitle=d});window.multigraph.util.namespace("window.multigraph.core",function(d){var a,c=window.multigraph.utilityFunctions,e=c.getDefaultValuesFromXSD(),b=c.getKeys(e.background);a=new window.jermaine.Model("Background",function(){this.hasA("color").validatesWith(function(f){return f instanceof window.multigraph.math.RGBColor}).defaultsTo(window.multigraph.math.RGBColor.parse(e.background.color));this.hasA("img").validatesWith(function(f){return f instanceof d.Img})});d.Background=a});window.multigraph.util.namespace("window.multigraph.core",function(c){var b=window.multigraph.utilityFunctions,d=b.getDefaultValuesFromXSD(),a=b.getKeys(d.plot);c.ConstantPlot=new window.jermaine.Model("ConstantPlot",function(){this.isA(c.Plot);this.hasA("constantValue").validatesWith(c.DataValue.isInstance);this.isBuiltWith("constantValue");b.insertDefaults(this,d.plot,a);this.respondsTo("render",function(i,e){var f=this.horizontalaxis(),h=this.renderer(),g=this.constantValue();if(!f.hasDataMin()||!f.hasDataMax()){return}h.setUpMissing();h.begin(e);h.dataPoint([f.dataMin(),g]);h.dataPoint([f.dataMax(),g]);h.end()})})});window.multigraph.util.namespace("window.multigraph.core",function(b){var a=window.jermaine.Model(function(){var c=b.ArrayData;this.isA(c);this.hasA("filename").isA("string");this.hasA("messageHandler");this.hasA("ajaxthrottle");this.hasA("dataIsReady").isA("boolean").defaultsTo(false);this.respondsTo("getIterator",function(e,g,d,f){if(this.dataIsReady()){return c.getArrayDataIterator(this,e,g,d,f)}else{return{next:function(){},hasNext:function(){return false}}}});this.respondsTo("_displayError",function(d){if(this.messageHandler()){this.messageHandler().error(d)}else{throw d}});this.isBuiltWith("columns","filename","%messageHandler","%ajaxthrottle",function(){var d=this,e=this.ajaxthrottle();if(e===undefined){e=window.multigraph.jQuery}this.adapter(c);this.init();if(d.filename()!==undefined){d.emit({type:"ajaxEvent",action:"start"});e.ajax({url:d.filename(),success:function(g){var f=d.adapter().textToStringArray(d.getColumns(),g);d.stringArray(f);d.ajaxNormalize();d.dataIsReady(true);d.emit({type:"dataReady"})},error:function(g,i,h){var f=h;if(g.statusCode().status===404){f="File not found: '"+d.filename()+'"'}else{if(i){f=i+": "+f}}d._displayError(new Error(f))},complete:function(f,g){d.emit({type:"ajaxEvent",action:"complete"})}})}})});b.CSVData=a});window.multigraph.util.namespace("window.multigraph.core",function(c){var d,b=window.multigraph.utilityFunctions,e=b.getDefaultValuesFromXSD(),a=b.getKeys(e.plot);d=new window.jermaine.Model("DataPlot",function(){this.isA(c.Plot);this.hasMany("variable").validateWith(function(f){return f instanceof c.DataVariable||f===null});this.hasA("filter").validatesWith(function(f){return f instanceof c.Filter});this.hasA("datatips").validatesWith(function(f){return f instanceof c.Datatips});this.hasA("data").validatesWith(function(f){return f instanceof c.Data});b.insertDefaults(this,e.plot,a);this.respondsTo("render",function(o,p){var g=this.data();if(!g){return}var f=this.horizontalaxis(),q=this.verticalaxis();if(!f.hasDataMin()||!f.hasDataMax()){return}var n=this.variable(),j=[],h;for(h=0;hj.getUTCDate()){++h}else{if(e.getUTCDate()===j.getUTCDate()&&e.getUTCHours()>j.getUTCHours()){++h}else{if(e.getUTCDate()===j.getUTCDate()&&e.getUTCHours()===j.getUTCHours()&&e.getUTCMinutes()>j.getUTCMinutes()){++h}else{if(e.getUTCDate()===j.getUTCDate()&&e.getUTCHours()===j.getUTCHours()&&e.getUTCMinutes()===j.getUTCMinutes()&&e.getUTCSeconds()>j.getUTCSeconds()){++h}else{if(e.getUTCDate()===j.getUTCDate()&&e.getUTCHours()===j.getUTCHours()&&e.getUTCMinutes()===j.getUTCMinutes()&&e.getUTCSeconds()===j.getUTCSeconds()&&e.getUTCMilliseconds()>j.getUTCMilliseconds()){++h}}}}}}return k.add(a.parse((h*f)+"M"))};a.prototype.firstSpacingLocationAtOrAfter=function(d,e){switch(this.unit){case a.MONTH:return a.findTickmarkWithMonthSpacing(d,e,this.measure);case a.YEAR:return a.findTickmarkWithMonthSpacing(d,e,this.measure*12);default:return a.findTickmarkWithMillisecondSpacing(d.getRealValue(),e.getRealValue(),this.getRealValue())}};a.prototype.lastSpacingLocationAtOrBefore=function(e,g){var d=this.firstSpacingLocationAtOrAfter(e,g);if(d.eq(e)){return d}var f=d.add(this.negative());return f};a.prototype.toString=function(){return this.measure.toString()+this.unit.toString()};a.MILLISECOND=new c("ms");a.SECOND=new c("s");a.MINUTE=new c("m");a.HOUR=new c("H");a.DAY=new c("D");a.WEEK=new c("W");a.MONTH=new c("M");a.YEAR=new c("Y");b.DatetimeMeasure=a});window.multigraph.util.namespace("window.multigraph.core",function(a){var b=function(c){if(typeof(c)!=="number"){throw new Error("DatetimeValue requires its parameter to be a number")}this.value=new Date(c)};b.prototype.getRealValue=function(){return this.value.getTime()};b.prototype.type=a.DataValue.DATETIME;b.prototype.clone=function(){return new b(this.getRealValue())};b.parse=function(e){var i=0,j=0,h=1,f=0,c=0,g=0,d=0;if(typeof(e)==="string"){e=e.replace(/[\.\-\:\s]/g,"");if(e.length===4){i=parseInt(e,10)}else{if(e.length===6){i=parseInt(e.substring(0,4),10);j=parseInt(e.substring(4,6),10)-1}else{if(e.length===8){i=parseInt(e.substring(0,4),10);j=parseInt(e.substring(4,6),10)-1;h=parseInt(e.substring(6,8),10)}else{if(e.length===10){i=parseInt(e.substring(0,4),10);j=parseInt(e.substring(4,6),10)-1;h=parseInt(e.substring(6,8),10);f=parseInt(e.substring(8,10),10)}else{if(e.length===12){i=parseInt(e.substring(0,4),10);j=parseInt(e.substring(4,6),10)-1;h=parseInt(e.substring(6,8),10);f=parseInt(e.substring(8,10),10);c=parseInt(e.substring(10,12),10)}else{if(e.length===14){i=parseInt(e.substring(0,4),10);j=parseInt(e.substring(4,6),10)-1;h=parseInt(e.substring(6,8),10);f=parseInt(e.substring(8,10),10);c=parseInt(e.substring(10,12),10);g=parseInt(e.substring(12,14),10)}else{if(e.length===15||e.length===16||e.length===17){i=parseInt(e.substring(0,4),10);j=parseInt(e.substring(4,6),10)-1;h=parseInt(e.substring(6,8),10);f=parseInt(e.substring(8,10),10);c=parseInt(e.substring(10,12),10);g=parseInt(e.substring(12,14),10);d=parseInt(e.substring(14,17),10)}else{if(e==="0"){i=1970}else{throw new Error("Incorrect input format for Datetime Value's parse method")}}}}}}}}}else{throw new Error("Datetime Value's parse method requires its parameter to be a string")}return new b(Date.UTC(i,j,h,f,c,g,d))};b.prototype.toString=function(){var h,i,g,e,c,f,d;h=sprintf("%04s",this.value.getUTCFullYear().toString());i=sprintf("%02s",(this.value.getUTCMonth()+1).toString());g=sprintf("%02s",this.value.getUTCDate().toString());e=sprintf("%02s",this.value.getUTCHours().toString());c=sprintf("%02s",this.value.getUTCMinutes().toString());f=sprintf("%02s",this.value.getUTCSeconds().toString());d="."+sprintf("%03s",this.value.getUTCMilliseconds().toString());if(d===".000"){d=""}return h+i+g+e+c+f+d};b.prototype.compareTo=function(c){if(this.getRealValue()c.getRealValue()){return 1}}return 0};b.prototype.addRealValue=function(c){return new b(this.value.getTime()+c)};b.prototype.add=function(d){var c=new b(this.getRealValue());switch(d.unit){case a.DatetimeMeasure.MILLISECOND:c.value.setUTCMilliseconds(c.value.getUTCMilliseconds()+d.measure);break;case a.DatetimeMeasure.SECOND:c.value.setUTCSeconds(c.value.getUTCSeconds()+d.measure);break;case a.DatetimeMeasure.MINUTE:c.value.setUTCMinutes(c.value.getUTCMinutes()+d.measure);break;case a.DatetimeMeasure.HOUR:c.value.setUTCHours(c.value.getUTCHours()+d.measure);break;case a.DatetimeMeasure.DAY:c.value.setUTCDate(c.value.getUTCDate()+d.measure);break;case a.DatetimeMeasure.WEEK:c.value.setUTCDate(c.value.getUTCDate()+d.measure*7);break;case a.DatetimeMeasure.MONTH:c.value.setUTCMonth(c.value.getUTCMonth()+d.measure);break;case a.DatetimeMeasure.YEAR:c.value.setUTCFullYear(c.value.getUTCFullYear()+d.measure);break}return c};a.DataValue.mixinComparators(b.prototype);a.DatetimeValue=b});window.multigraph.util.namespace("window.multigraph.core",function(d){var c,b=window.multigraph.utilityFunctions,e=b.getDefaultValuesFromXSD(),a=b.getKeys(e.plot.filter);c=new window.jermaine.Model("Filter",function(){this.hasMany("options").validatesWith(function(f){return f instanceof d.FilterOption});this.hasA("type").validatesWith(function(f){return typeof(f)==="string"});b.insertDefaults(this,e.plot.filter,a)});d.Filter=c});window.multigraph.util.namespace("window.multigraph.core",function(d){var c=window.multigraph.utilityFunctions,e=c.getDefaultValuesFromXSD(),b=c.getKeys(e.plot.filter.option),a=new window.jermaine.Model("FilterOption",function(){this.hasA("name").validatesWith(function(f){return typeof(f)==="string"});this.hasA("value").validatesWith(function(f){return typeof(f)==="string"});c.insertDefaults(this,e.plot.filter.option,b)});d.FilterOption=a});window.multigraph.util.namespace("window.multigraph.core",function(e){var d=window.multigraph.math.Box;var c=window.multigraph.utilityFunctions,f=c.getDefaultValuesFromXSD(),b=c.getKeys(f),a=new window.jermaine.Model("Graph",function(){this.hasA("window").validatesWith(function(g){return g instanceof e.Window});this.hasA("plotarea").validatesWith(function(g){return g instanceof e.Plotarea});this.hasA("legend").validatesWith(function(g){return g instanceof e.Legend});this.hasA("background").validatesWith(function(g){return g instanceof e.Background});this.hasA("title").validatesWith(function(g){return g instanceof e.Title});this.hasMany("axes").validateWith(function(g){return g instanceof e.Axis});this.hasMany("plots").validateWith(function(g){return g instanceof e.Plot});this.hasMany("data").validateWith(function(g){return g instanceof e.Data});this.hasA("windowBox").validatesWith(function(g){return g instanceof d});this.hasA("paddingBox").validatesWith(function(g){return g instanceof d});this.hasA("plotBox").validatesWith(function(g){return g instanceof d});this.hasA("multigraph").validatesWith(function(g){return g instanceof window.multigraph.core.Multigraph});this.hasA("x0").isA("number");this.hasA("y0").isA("number");this.isBuiltWith(function(){this.window(new e.Window());this.plotarea(new e.Plotarea());this.background(new e.Background())});this.respondsTo("postParse",function(){var h,j=this,g=function(i){if(i.action==="start"){if(j.multigraph()){j.multigraph().busySpinnerLevel(1)}}else{if(i.action==="complete"){if(j.multigraph()){j.multigraph().busySpinnerLevel(-1)}}}};for(h=0;hi.height()/2){this.position(h(k["position-horizontal-top"]))}else{this.position(h(k["position-horizontal-bottom"]))}}else{if(j.perpOffset()>i.width()/2){this.position(h(k["position-vertical-right"]))}else{this.position(h(k["position-vertical-left"]))}}}if(this.anchor()===undefined){if(j.orientation()===a.HORIZONTAL){if(j.perpOffset()>i.height()/2){this.anchor(h(k["anchor-horizontal-top"]))}else{this.anchor(h(k["anchor-horizontal-bottom"]))}}else{if(j.perpOffset()>i.width()/2){this.anchor(h(k["anchor-vertical-right"]))}else{this.anchor(h(k["anchor-vertical-left"]))}}}});this.respondsTo("isEqualExceptForSpacing",function(i){return((this.axis()===i.axis())&&(this.formatter().getFormatString()===i.formatter().getFormatString())&&(this.start().eq(i.start()))&&(this.angle()===i.angle())&&(this.position().eq(i.position()))&&(this.anchor().eq(i.anchor()))&&(this.densityfactor()===i.densityfactor()))});this.hasA("iteratorNextValue").validatesWith(e.DataValue.isInstanceOrNull).defaultsTo(null);this.hasA("iteratorMinValue").validatesWith(e.DataValue.isInstance);this.hasA("iteratorMaxValue").validatesWith(e.DataValue.isInstance);this.respondsTo("prepare",function(i,j){this.iteratorMinValue(i);this.iteratorMaxValue(j);this.iteratorNextValue(this.spacing().firstSpacingLocationAtOrAfter(i,this.start()))});this.respondsTo("hasNext",function(){var i=this.iteratorNextValue();if(i===null||i===undefined){return false}return i.le(this.iteratorMaxValue())});this.respondsTo("peekNext",function(){var i=this.iteratorNextValue(),j=this.iteratorMaxValue();if(i===null||i===undefined){return undefined}if(j!==undefined&&i.gt(j)){return undefined}return i});this.respondsTo("next",function(){var i=this.iteratorNextValue(),j=this.iteratorMaxValue();if(i===null||i===undefined){return undefined}if(j!==undefined&&i.gt(j)){return undefined}this.iteratorNextValue(i.add(this.spacing()));return i});this.respondsTo("getLabelDensity",function(o){var j=this.axis(),m=this.spacing().getRealValue()*j.axisToDataRatio(),q=j.dataMin().getRealValue(),p=j.dataMax().getRealValue(),l=q+0.51234567*(p-q),n=f.create(j.type(),l),i=this.formatter().format(n);var k=((j.orientation()===a.HORIZONTAL)?this.measureStringWidth(o,i):this.measureStringHeight(o,i));return k/m});this.respondsTo("measureStringWidth",function(i,j){return j.length*30});this.respondsTo("measureStringHeight",function(i,j){return j.length*30});this.respondsTo("renderLabel",function(i,j){});c.insertDefaults(this,g.horizontalaxis.labels.label,b)});e.Labeler=d});window.multigraph.util.namespace("window.multigraph.core",function(d){var c,b=window.multigraph.utilityFunctions,e=b.getDefaultValuesFromXSD(),a=b.getKeys(e.legend);c=new window.jermaine.Model("Legend",function(){this.hasA("visible").validatesWith(function(f){return typeof f==="boolean"||f===null});this.hasA("base").validatesWith(function(f){return f instanceof window.multigraph.math.Point});this.hasAn("anchor").validatesWith(function(f){return f instanceof window.multigraph.math.Point});this.hasA("position").validatesWith(function(f){return f instanceof window.multigraph.math.Point});this.hasA("frame").validatesWith(function(f){return f==="plot"||f==="padding"});this.hasA("color").validatesWith(function(f){return f instanceof window.multigraph.math.RGBColor});this.hasA("bordercolor").validatesWith(function(f){return f instanceof window.multigraph.math.RGBColor});this.hasA("opacity").validatesWith(function(f){return b.validateNumberRange(f,0,1)});this.hasA("border").isA("integer");this.hasA("rows").isA("integer").isGreaterThan(0);this.hasA("columns").isA("integer").isGreaterThan(0);this.hasA("cornerradius").isA("integer");this.hasA("padding").isA("integer");this.hasAn("icon").validatesWith(function(f){return f instanceof d.Icon});this.isBuiltWith(function(){this.icon(new d.Icon())});this.hasMany("plots").validateWith(function(f){return f instanceof d.Plot});this.hasA("iconOffset").isAn("integer").defaultsTo(5);this.hasA("labelOffset").isAn("integer").defaultsTo(5);this.hasA("labelEnding").isAn("integer").defaultsTo(15);this.hasA("width").isA("number");this.hasA("height").isA("number");this.hasA("x").isA("number");this.hasA("y").isA("number");this.hasA("blockWidth").isA("number");this.hasA("blockHeight").isA("number");this.hasA("maxLabelWidth").isA("number");this.hasA("maxLabelHeight").isA("number");this.respondsTo("determineVisibility",function(){switch(this.visible()){case true:return true;case false:return false;case null:if(this.plots().size()>1){return true}else{return false}}});this.respondsTo("initializeGeometry",function(o,p){var k=this.anchor(),f=this.base(),l=this.position(),g=this.iconOffset(),h=[],m=[],n,j;if(this.determineVisibility()===false){return this}for(j=0;j=p.size()){break}n=this.border()+((this.rows()-f-1)*this.blockHeight());j=n+this.iconOffset();h=j;for(k=0;k=p.size()){break}o=this.border()+(k*this.blockWidth());l=o+this.iconOffset();i=l+m.width()+this.labelOffset();p.at(g).renderer().renderLegendIcon(q,l,j,m,this.opacity());if(m.border()>0){m.renderBorder(q,l,j,this.opacity())}this.renderLabel(p.at(g).legend().label(),q,i,h);g++}}this.end(q);return this});b.insertDefaults(this,e.legend,a)});d.Legend=c});window.multigraph.util.namespace("window.multigraph.core",function(a){var b=new window.jermaine.Model("Mixin",function(){this.hasMany("mixinfuncs");this.hasA("applied").isA("boolean").defaultsTo(false);this.respondsTo("add",function(c){this.mixinfuncs().add(c)});this.respondsTo("apply",function(){if(!this.applied()){var c;for(c=0;c
    • "):g.message;b(d).errorDisplay("displayError",f,g.message,{fontColor:"#000000",backgroundColor:"#ff0000",indicatorColor:"#ff0000"})},warning:function(f){var g="Warning: "+((typeof(f)==="string")?f:f.message),e=(typeof(f)!=="string"&&f.stack&&typeof(f.stack)==="string")?f.stack.replace(/\n/g,"
    • "):g;b(d).errorDisplay("displayError",e,g,{fontColor:"#000000",backgroundColor:"#e06a1b",indicatorColor:"#e06a1b"})}}};a.Multigraph=c});window.multigraph.util.namespace("window.multigraph.core",function(b){var a=function(d){var c;if(typeof(d)!=="string"){throw new Error("format must be a string")}this.formatString=d;c=sprintf(d,0);this.length=c.length};a.prototype.format=function(c){return sprintf(this.formatString,c.getRealValue())};a.prototype.getMaxLength=function(){return this.length};a.prototype.getFormatString=function(){return this.formatString};b.NumberFormatter=a});window.multigraph.util.namespace("window.multigraph.core",function(a){var c=1e-12;var b=function(d){this.measure=d};b.prototype.getRealValue=function(){return this.measure};b.prototype.toString=function(){return this.measure.toString()};b.prototype.firstSpacingLocationAtOrAfter=function(j,l){var i,k,d,e=l.value,g=j.value,h=Math.abs(this.measure);i=(g-e)/h;k=Math.floor(i);d=k+1;if((i-kc.value){return 1}}return 0};a.prototype.addRealValue=function(c){return new a(this.value+c)};a.prototype.add=function(c){return new a(this.value+c.measure)};a.prototype.type=b.DataValue.NUMBER;a.prototype.clone=function(){return new a(this.value)};a.parse=function(c){return new a(parseFloat(c))};b.DataValue.mixinComparators(a.prototype);b.NumberValue=a});window.multigraph.util.namespace("window.multigraph.core",function(d){var b=window.multigraph.utilityFunctions,e=b.getDefaultValuesFromXSD(),a=b.getKeys(e.horizontalaxis.pan),c;c=new window.jermaine.Model("Pan",function(){this.hasA("allowed").isA("boolean");this.hasA("min").validatesWith(d.DataValue.isInstanceOrNull);this.hasA("max").validatesWith(d.DataValue.isInstanceOrNull);b.insertDefaults(this,e.horizontalaxis.pan,a)});d.Pan=c});window.multigraph.util.namespace("window.multigraph.core",function(a){a.PeriodicArrayData=window.jermaine.Model(function(){var c=this,b={next:function(){},hasNext:function(){return false}};this.isA(a.ArrayData);this.hasA("period").validatesWith(a.DataMeasure.isInstance);this.isBuiltWith("columns","stringArray","period",function(){this.init();this.addListener("listenerAdded",function(d){var e=this.array();if(d.targetType==="dataReady"){d.listener(e[0][0],e[e.length-1][0])}})});this.respondsTo("getIterator",function(e,g,d,f){return c.getArrayDataIterator(this,e,g,d,f)});c.getArrayDataIterator=function(y,d,o,s,q){var l=a.DataValue,t={},z=[],v=0,u,r,e,g,f=y.array();q=q||0;if(Object.prototype.toString.apply(d)!=="[object Array]"){throw new Error("ArrayData: getIterator method requires that the first parameter be an array of strings")}else{for(u=0;u=f.length){e=0;w=w.add(y.period());n=w.getRealValue()-x.getRealValue()}h=a.DataValue.create(f[e][0].type,f[e][0].getRealValue()+n);if(h.gt(s)){e=-1}return k},hasNext:function(){return(e>=0)}}}})});window.multigraph.util.namespace("window.multigraph.core",function(d){var b=window.multigraph.utilityFunctions,e=b.getDefaultValuesFromXSD(),a=b.getKeys(e.plot.legend),c=new window.jermaine.Model("PlotLegend",function(){this.hasA("visible").isA("boolean");this.hasA("label").validatesWith(function(f){return f instanceof d.Text});b.insertDefaults(this,e.plot.legend,a)});d.PlotLegend=c});window.multigraph.util.namespace("window.multigraph.core",function(d){var c=window.multigraph.utilityFunctions,e=c.getDefaultValuesFromXSD(),b=c.getKeys(e.plotarea),a=new window.jermaine.Model("Plotarea",function(){this.hasA("margin").validatesWith(function(f){return f instanceof window.multigraph.math.Insets});this.hasA("border").isA("integer");this.hasA("color").validatesWith(function(f){return f===null||f instanceof window.multigraph.math.RGBColor});this.hasA("bordercolor").validatesWith(function(f){return f instanceof window.multigraph.math.RGBColor});c.insertDefaults(this,e.plotarea,b)});d.Plotarea=a});window.multigraph.util.namespace("window.multigraph.core",function(a){var b;b=new window.jermaine.Model("BandRenderer",function(){this.isA(a.Renderer);this.hasA("numberOfVariables").defaultsTo(3)});b.GRAY=parseInt("80",16)/255;a.Renderer.declareOptions(b,"BandRendererOptions",[{name:"linecolor",type:a.Renderer.RGBColorOption,"default":new window.multigraph.math.RGBColor(0,0,0)},{name:"linewidth",type:a.Renderer.NumberOption,"default":1},{name:"line1color",type:a.Renderer.RGBColorOption,"default":null},{name:"line1width",type:a.Renderer.NumberOption,"default":-1},{name:"line2color",type:a.Renderer.RGBColorOption,"default":null},{name:"line2width",type:a.Renderer.NumberOption,"default":-1},{name:"fillcolor",type:a.Renderer.RGBColorOption,"default":new window.multigraph.math.RGBColor(b.GRAY,b.GRAY,b.GRAY)},{name:"fillopacity",type:a.Renderer.NumberOption,"default":1}]);a.Renderer.BAND=new a.Renderer.Type("band");a.Renderer.addType({type:a.Renderer.Type.parse("band"),model:b});a.BandRenderer=b});window.multigraph.util.namespace("window.multigraph.core",function(b){var c,d=window.multigraph.utilityFunctions.getDefaultValuesFromXSD(),a=window.multigraph.utilityFunctions.getKeys(d.plot.renderer);c=new window.jermaine.Model("BarRenderer",function(){this.isA(b.Renderer);this.hasA("numberOfVariables").defaultsTo(2)});b.Renderer.declareOptions(c,"BarRendererOptions",[{name:"barwidth",type:b.Renderer.HorizontalDataMeasureOption,"default":new b.DataMeasure.parse("number",0)},{name:"baroffset",type:b.Renderer.NumberOption,"default":0},{name:"barbase",type:b.Renderer.VerticalDataValueOption,"default":null},{name:"fillcolor",type:b.Renderer.RGBColorOption,"default":new window.multigraph.math.RGBColor(0,0,0)},{name:"fillopacity",type:b.Renderer.NumberOption,"default":1},{name:"linecolor",type:b.Renderer.RGBColorOption,"default":new window.multigraph.math.RGBColor(0,0,0)},{name:"hidelines",type:b.Renderer.NumberOption,"default":2}]);b.Renderer.BAR=new b.Renderer.Type("bar");b.Renderer.addType({type:b.Renderer.Type.parse("bar"),model:c});b.BarRenderer=c});window.multigraph.util.namespace("window.multigraph.core",function(c){var a,d=window.multigraph.utilityFunctions.getDefaultValuesFromXSD(),b=window.multigraph.utilityFunctions.getKeys(d.plot.renderer);a=new window.jermaine.Model("FillRenderer",function(){this.isA(c.Renderer);this.hasA("numberOfVariables").defaultsTo(2)});a.GRAY=parseInt("80",16)/255;c.Renderer.declareOptions(a,"FillRendererOptions",[{name:"linecolor",type:c.Renderer.RGBColorOption,"default":new window.multigraph.math.RGBColor(0,0,0)},{name:"linewidth",type:c.Renderer.NumberOption,"default":1},{name:"fillcolor",type:c.Renderer.RGBColorOption,"default":new window.multigraph.math.RGBColor(a.GRAY,a.GRAY,a.GRAY)},{name:"downfillcolor",type:c.Renderer.RGBColorOption,"default":null},{name:"fillopacity",type:c.Renderer.NumberOption,"default":1},{name:"fillbase",type:c.Renderer.VerticalDataValueOption,"default":null}]);c.Renderer.FILL=new c.Renderer.Type("fill");c.Renderer.addType({type:c.Renderer.Type.parse("fill"),model:a});c.FillRenderer=a});window.multigraph.util.namespace("window.multigraph.core",function(c){var b,d=window.multigraph.utilityFunctions.getDefaultValuesFromXSD(),a=window.multigraph.utilityFunctions.getKeys(d.plot.renderer);b=new window.jermaine.Model("PointlineRenderer",function(){this.isA(c.Renderer);this.hasA("numberOfVariables").defaultsTo(2)});b.CIRCLE="circle";b.SQUARE="square";b.TRIANGLE="triangle";b.DIAMOND="diamond";b.STAR="star";b.PLUS="plus";b.X="x";b.shapes=[b.CIRCLE,b.SQUARE,b.TRIANGLE,b.DIAMOND,b.STAR,b.PLUS,b.X];b.isShape=function(e){var f;for(f=0;fc){c=f}}return c*15});this.respondsTo("measureStringHeight",function(b){if(this.string()===undefined){throw new Error("measureStringHeight requires the string attr to be set.")}var c=this.string().match(/\n/g);return(c!==null?(c.length+1):1)*12})})});window.multigraph.util.namespace("window.multigraph.core",function(a){a.Warning=function(b){this.message=b};a.Warning.prototype=new Error()});window.multigraph.util.namespace("window.multigraph.core",function(a){a.WebServiceData=window.jermaine.Model(function(){this.isA(a.Data);this.hasA("serviceaddress").isA("string");this.hasA("serviceaddresspattern").isA("string");this.hasA("format").isA("string");this.hasA("formatter").validatesWith(a.DataFormatter.isInstance);this.hasA("messageHandler");this.hasA("ajaxthrottle");this.isBuiltWith("columns","serviceaddress","%messageHandler","%ajaxthrottle",function(){this.init();if(this.columns().size()>0){var b=this.columns().at(0).type();if(this.format()===undefined){this.format(b===a.DataValue.NUMBER?"%f":"%Y%M%D%H%i%s")}this.formatter(a.DataFormatter.create(b,this.format()))}if(this.ajaxthrottle()===undefined){this.ajaxthrottle(window.multigraph.jQuery)}});this.respondsTo("_displayError",function(b){if(this.messageHandler()){this.messageHandler().error(b)}else{throw b}});this.respondsTo("getBounds",function(b){return[0,10]});this.hasA("arraydata").defaultsTo(null).validatesWith(function(b){return b instanceof a.ArrayData||b===null});this.hasA("cacheHead").defaultsTo(null).validatesWith(function(b){return b===null||b instanceof a.WebServiceDataCacheNode});this.hasA("cacheTail").defaultsTo(null).validatesWith(function(b){return b===null||b instanceof a.WebServiceDataCacheNode});this.respondsTo("dataHead",function(){var b=this.cacheHead();if(b===null){return null}if(b.hasData()){return b}return b.dataNext()});this.respondsTo("dataTail",function(){var b=this.cacheTail();if(b===null){return null}if(b.hasData()){return b}return b.dataPrev()});this.respondsTo("insertCacheNode",function(d){var c=this.cacheHead(),b=this.cacheTail();if(c===null){this.cacheHead(d);this.cacheTail(d)}else{if(d.coveredMin().lt(c.coveredMin())){d.next(c);c.prev(d);this.cacheHead(d)}else{d.prev(b);b.next(d);this.cacheTail(d)}}});this.respondsTo("constructRequestURL",function(d,b){var e=this.serviceaddress(),c=this.formatter();if(e===undefined){throw new Error("WebServiceData.constructRequestURL: undefined service address")}if(c===undefined){throw new Error("WebServiceData.constructRequestURL: undefined formatter for column 0")}if(this.serviceaddresspattern()===undefined){if((e.indexOf("$min")<0)&&(e.indexOf("$max")<0)){this.serviceaddresspattern(e+"$min,$max")}else{this.serviceaddresspattern(e)}}return(this.serviceaddresspattern().replace("$min",c.format(d)).replace("$max",c.format(b)))});this.hasA("coveredMin").defaultsTo(null).validatesWith(function(b){return b===null||a.DataValue.isInstance(b)});this.hasA("coveredMax").defaultsTo(null).validatesWith(function(b){return b===null||a.DataValue.isInstance(b)});this.respondsTo("insureCoveredRange",function(){var d=this.cacheHead(),c=this.cacheTail(),b=this.coveredMin(),e=this.coveredMax();if(b===null||e===null){return}if(d===null||c===null){this.requestSingleRange(b,e)}else{if(b.lt(d.coveredMin())){this.requestSingleRange(b,d.coveredMin())}if(e.gt(c.coveredMax())){this.requestSingleRange(c.coveredMax(),e)}}});this.respondsTo("requestSingleRange",function(c,b){var f,e,d=this;f=new a.WebServiceDataCacheNode(c,b);this.insertCacheNode(f);e=this.constructRequestURL(c,b);this.emit({type:"ajaxEvent",action:"start"});this.ajaxthrottle().ajax({url:e,dataType:"text",success:function(g){if(g.indexOf("")>0){g=window.multigraph.parser.jquery.stringToJQueryXMLObj(g).find("values").text()}f.parseData(d.getColumns(),g);d.emit({type:"ajaxEvent",action:"success"});d.emit({type:"dataReady"})},error:function(h,j,i){var g=i;if(h.statusCode().status===404){g="URL not found: '"+e+'"'}else{if(j){g=j+": "+g}}d._displayError(new Error(g))},complete:function(g,h){d.emit({type:"ajaxEvent",action:"complete"})}})});this.respondsTo("getIterator",function(j,e,l,f){var c,k,d,m,h,g,q,o,p;if(e.gt(l)){g=e;e=l;l=g}if(this.coveredMin()===null||e.lt(this.coveredMin())){this.coveredMin(e.clone())}if(this.coveredMax()===null||l.gt(this.coveredMax())){this.coveredMax(l.clone())}if(!this.paused()){this.insureCoveredRange()}if(this.dataHead()===null){return{next:function(){},hasNext:function(){return false}}}p=[];for(h=0;h=q.data().length){m=q.dataNext();if(m!==null){q=m;o=0}else{o=q.data().length-1;break}}++d}}return new a.WebServiceDataIterator(p,c,k,q,o)});this.hasA("paused").isA("boolean").defaultsTo(false);this.respondsTo("pause",function(){this.paused(true)});this.respondsTo("resume",function(){this.paused(false);this.emit({type:"dataReady",min:this.coveredMin(),max:this.coveredMax()})})})});window.multigraph.util.namespace("window.multigraph.core",function(a){a.WebServiceDataCacheNode=window.jermaine.Model(function(){this.hasA("data").defaultsTo(null).validatesWith(function(d){var b=window.multigraph.util.namespace("window.multigraph.utilityFunctions");if(d===null){return true}if(b.typeOf(d)!=="array"){this.message="WebServiceDataCacheNode's data attribute is not an Array";return false}if(d.length>0){var e=d[0],c;if(b.typeOf(e)!=="array"){this.message="WebServiceDataCacheNode's data attribute is not an Array of Arrays";return false}for(c=0;cg){return null}for(e=0;e=f.data().length){this.currentNode(f.dataNext());this.currentIndex(0)}return j}})})});window.multigraph.util.namespace("window.multigraph.core",function(d){var b=window.multigraph.utilityFunctions,e=b.getDefaultValuesFromXSD(),a=b.getKeys(e.window),c=new window.jermaine.Model("Window",function(){this.hasA("width").isA("integer");this.hasA("height").isA("integer");this.hasA("border").isA("integer");this.hasA("margin").validatesWith(function(f){return f instanceof window.multigraph.math.Insets});this.hasA("padding").validatesWith(function(f){return f instanceof window.multigraph.math.Insets});this.hasA("bordercolor").validatesWith(function(f){return f instanceof window.multigraph.math.RGBColor});b.insertDefaults(this,e.window,a)});d.Window=c});window.multigraph.util.namespace("window.multigraph.core",function(d){var b=window.multigraph.utilityFunctions,e=b.getDefaultValuesFromXSD(),a=b.getKeys(e.horizontalaxis.zoom),c=new window.jermaine.Model("Zoom",function(){this.hasA("allowed").isA("boolean");this.hasA("min").validatesWith(function(f){return d.DataMeasure.isInstance(f)});this.hasA("max").validatesWith(function(f){return d.DataMeasure.isInstance(f)});this.hasA("anchor").validatesWith(function(f){return d.DataValue.isInstance(f)||f===null});b.insertDefaults(this,e.horizontalaxis.zoom,a)});d.Zoom=c});window.multigraph.util.namespace("window.multigraph.parser.jquery",function(a){a.mixin=new window.multigraph.core.Mixin()});window.multigraph.util.namespace("window.multigraph.parser.jquery",function(a){a.mixin.add(function(b,d){var c=function(n,g){var q=[],o,f=n.find("labels"),j=n.find("label"),p=g.labelers(),m=b.core.Labeler,l=b.jQuery,k;o=l.trim(f.attr("spacing"));if(o!==""){q=o.split(/\s+/)}if(q.length>0){for(k=0;k0){var h=m[d](f,g,undefined,null);l.each(j,function(i,r){o=l.trim(l(r).attr("spacing"));q=[];if(o!==""){q=o.split(/\s+/)}for(k=0;k0){g.title(A.AxisTitle[d](m,g))}else{g.title(new A.AxisTitle(g))}m=k.find("grid");if(m.length>0){g.grid(A.Grid[d](m))}m=k.find("pan");if(m.length>0){g.pan(A.Pan[d](m,g.type()))}m=k.find("zoom");if(m.length>0){g.zoom(A.Zoom[d](m,g.type()))}if(k.find("labels").length>0){c(k,g)}m=k.find("binding");if(m.length>0){var f=m.attr("id"),p=m.attr("min"),t=m.attr("max"),B=q.parse(g.type(),p),r=q.parse(g.type(),t);if(typeof(f)!=="string"||f.length<=0){throw new Error("invalid axis binding id: '"+f+"'")}if(!q.isInstance(B)){throw new Error("invalid axis binding min: '"+p+"'")}if(!q.isInstance(r)){throw new Error("invalid axis binding max: '"+t+"'")}A.AxisBinding.findByIdOrCreateNew(f).addAxis(g,B,r,l)}}return g}})});window.multigraph.util.namespace("window.multigraph.parser.jquery",function(a){a.mixin.add(function(b,c){b.core.AxisTitle[c]=function(e,g){var j=new b.core.AxisTitle(g),d=false,f=b.math.Point.parse,i,h=function(m,l,k){if(b.utilityFunctions.parseAttribute(m,l,k)){d=true}};if(e){i=e.text();if(i!==""){j.content(new b.core.Text(i));d=true}h(e.attr("anchor"),j.anchor,f);h(e.attr("base"),j.base,parseFloat);h(e.attr("position"),j.position,f);h(e.attr("angle"),j.angle,parseFloat)}if(d===true){return j}return undefined}})});window.multigraph.util.namespace("window.multigraph.parser.jquery",function(a){a.mixin.add(function(b,c){b.core.Background[c]=function(e,d){var f=new b.core.Background(),g;if(e){b.utilityFunctions.parseAttribute(e.attr("color"),f.color,b.math.RGBColor.parse);g=e.find("img");if(g.length>0){f.img(b.core.Img[c](g,d))}}return f}})});window.multigraph.util.namespace("window.multigraph.parser.jquery",function(a){a.mixin.add(function(b,c){window.multigraph.core.Data[c]=function(f,j,e){var y=b.core,p=y.ArrayData,h=b.jQuery,g,i,s,u=[],B,n,r=p;if(f){n=h(f).attr("adapter");if(n!==undefined&&n!==""){r=window.multigraph.adapters[n];if(r===undefined){throw new Error("Missing data adapater: "+r)}}g=f.find("variables");i=g.attr("missingvalue");s=g.attr("missingop");var k=g.find(">variable");if(k.length>0){h.each(k,function(C,D){u.push(y.DataVariable[c](h(D)))})}var o=false,x,m=h(f.find(">repeat"));if(m.length>0){var v=h(m).attr("period");if(v===undefined||v===""){e.warning(" tag requires a 'period' attribute; data treated as non-repeating")}else{x=y.DataMeasure.parse(u[0].type(),v);o=true}}var A=h(f.find(">values"));if(A.length>0){A=A[0];var z=r.textToStringArray(u,h(A).text());if(o){B=new y.PeriodicArrayData(u,z,x)}else{B=new p(u,z)}}var l=h(f.find(">csv"));if(l.length>0){l=l[0];var t=h(l).attr("location");B=new y.CSVData(u,j?j.rebaseUrl(t):t,e,j?j.getAjaxThrottle(t):undefined)}var q=h(f.find(">service"));if(q.length>0){q=h(q[0]);var d=q.attr("location");B=new y.WebServiceData(u,j?j.rebaseUrl(d):d,e,j?j.getAjaxThrottle(d):undefined);var w=q.attr("format");if(w){B.format(w)}}}if(B){if(i!==undefined){B.defaultMissingvalue(i)}if(s!==undefined){B.defaultMissingop(s)}B.adapter(r)}return B}})});window.multigraph.util.namespace("window.multigraph.parser.jquery",function(a){a.mixin.add(function(b,c){b.core.DataVariable[c]=function(g,h){var f,e=b.utilityFunctions,j=e.parseAttribute,i=b.core.DataValue,d;if(g&&g.attr("id")){f=new b.core.DataVariable(g.attr("id"));j(g.attr("column"),f.column,e.parseInteger);j(g.attr("type"),f.type,i.parseType);j(g.attr("missingvalue"),f.missingvalue,e.parseDataValue(f.type()));j(g.attr("missingop"),f.missingop,i.parseComparator)}return f}})});window.multigraph.util.namespace("window.multigraph.parser.jquery",function(a){a.mixin.add(function(b,c){b.core.Datatips[c]=function(j){var h=new b.core.Datatips(),i=b.jQuery,l=b.math.RGBColor.parse,d=b.utilityFunctions,f=d.parseAttribute,g=d.parseInteger,k=d.parseString,e;if(j){e=j.find("variable");if(e.length>0){i.each(e,function(m,n){h.variables().add(b.core.DatatipsVariable[c](i(n)))})}f(j.attr("format"),h.format,k);f(j.attr("bgcolor"),h.bgcolor,l);f(j.attr("bgalpha"),h.bgalpha,k);f(j.attr("border"),h.border,g);f(j.attr("bordercolor"),h.bordercolor,l);f(j.attr("pad"),h.pad,g)}return h}})});window.multigraph.util.namespace("window.multigraph.parser.jquery",function(a){a.mixin.add(function(b,c){b.core.DatatipsVariable[c]=function(f){var e=new b.core.DatatipsVariable(),d=b.utilityFunctions;if(f){d.parseAttribute(f.attr("format"),e.format,d.parseString)}return e}})});window.multigraph.util.namespace("window.multigraph.parser.jquery",function(a){a.mixin.add(function(b,c){b.core.Filter[c]=function(e){var f=new b.core.Filter(),g=b.jQuery,d=b.utilityFunctions,h;if(e){h=e.find("option");if(h.length>0){g.each(h,function(j,k){f.options().add(b.core.FilterOption[c](g(k)))})}d.parseAttribute(e.attr("type"),f.type,d.parseString)}return f}})});window.multigraph.util.namespace("window.multigraph.parser.jquery",function(a){a.mixin.add(function(b,c){b.core.FilterOption[c]=function(d){var e=new b.core.FilterOption();if(d){e.name(d.attr("name"));e.value(d.attr("value")===""?undefined:d.attr("value"))}return e}})});window.multigraph.util.namespace("window.multigraph.parser.jquery",function(a){a.mixin.add(function(b,e){var d=b.jQuery;var c=function(h,k){var j=d(h),g=j[0].attributes,i=j.children(),f=b.math.RGBColor.colorNameIsDeprecated,l;if(h.nodeName==="option"){if(/color/.test(j.attr("name"))){l=f(j.attr("value"));if(l){k.warning('Warning: color string "'+j.attr("value")+'" is deprecated; use "'+l+'" instead')}}}if(g){d.each(g,function(){if(/color/.test(this.name)){l=f(this.value);if(l){k.warning('Warning: color string "'+this.value+'" is deprecated; use "'+l+'" instead')}}})}if(i){i.each(function(){c(this,k)})}};b.core.Graph[e]=function(j,f,m){var h=b.core,n=new h.Graph(),l=h.Axis,i=b.utilityFunctions.getDefaultValuesFromXSD(),g;n.multigraph(f);if(j){try{c(j,m)}catch(k){}g=j.find(">window");if(g.length>0){n.window(h.Window[e](g))}g=j.find(">legend");if(g.length>0){n.legend(h.Legend[e](g))}else{n.legend(h.Legend[e]())}g=j.find(">background");if(g.length>0){n.background(h.Background[e](g,n.multigraph()))}g=j.find(">plotarea");if(g.length>0){n.plotarea(h.Plotarea[e](g))}g=j.find(">title");if(g.length>0){n.title(h.Title[e](g,n))}d.each(j.find(">horizontalaxis"),function(o,p){n.axes().add(l[e](d(p),l.HORIZONTAL,m,n.multigraph()))});d.each(j.find(">verticalaxis"),function(o,p){n.axes().add(l[e](d(p),l.VERTICAL,m,n.multigraph()))});d.each(j.find(">throttle"),function(o,r){var q=d(r).attr("pattern")?d(r).attr("pattern"):i.throttle.pattern,t=d(r).attr("requests")?d(r).attr("requests"):i.throttle.requests,s=d(r).attr("period")?d(r).attr("period"):i.throttle.period,p=d(r).attr("concurrent")?d(r).attr("concurrent"):i.throttle.concurrent;f.addAjaxThrottle(q,t,s,p)});d.each(j.find(">data"),function(o,p){n.data().add(h.Data[e](d(p),n.multigraph(),m))});d.each(j.find(">plot"),function(o,p){n.plots().add(h.Plot[e](d(p),n,m))});n.postParse()}return n}})});window.multigraph.util.namespace("window.multigraph.parser.jquery",function(a){a.mixin.add(function(b,c){b.core.Title[c]=function(h,l){var j,g=b.math.Point.parse,i=b.math.RGBColor.parse,d=b.utilityFunctions,e=d.parseAttribute,f=d.parseInteger;if(h){var k=h.text();if(k!==""){j=new b.core.Title(new b.core.Text(k),l)}else{return undefined}e(h.attr("frame"),j.frame,function(m){return m.toLowerCase()});e(h.attr("border"),j.border,f);e(h.attr("color"),j.color,i);e(h.attr("bordercolor"),j.bordercolor,i);e(h.attr("opacity"),j.opacity,parseFloat);e(h.attr("padding"),j.padding,f);e(h.attr("cornerradius"),j.cornerradius,f);e(h.attr("anchor"),j.anchor,g);e(h.attr("base"),j.base,g);e(h.attr("position"),j.position,g)}return j}})});window.multigraph.util.namespace("window.multigraph.parser.jquery",function(a){a.mixin.add(function(b,c){b.core.Grid[c]=function(f){var g=new b.core.Grid(),e=b.utilityFunctions,h=e.parseAttribute,d;if(f){h(f.attr("color"),g.color,b.math.RGBColor.parse);d=f.attr("visible");if(d!==undefined){g.visible(e.parseBoolean(d))}else{g.visible(true)}}return g}})});window.multigraph.util.namespace("window.multigraph.parser.jquery",function(a){a.mixin.add(function(b,c){b.core.Icon[c]=function(f){var g=new b.core.Icon(),e=b.utilityFunctions,h=e.parseAttribute,d=e.parseInteger;if(f){h(f.attr("height"),g.height,d);h(f.attr("width"),g.width,d);h(f.attr("border"),g.border,d)}return g}})});window.multigraph.util.namespace("window.multigraph.parser.jquery",function(a){a.mixin.add(function(b,c){b.core.Img[c]=function(f,e){var d,i=b.utilityFunctions.parseAttribute,g=b.math.Point.parse;if(f&&f.attr("src")!==undefined){var h=f.attr("src");if(!h){throw new Error('img elment requires a "src" attribute value')}if(e){h=e.rebaseUrl(h)}d=new b.core.Img(h);i(f.attr("anchor"),d.anchor,g);i(f.attr("base"),d.base,g);i(f.attr("position"),d.position,g);i(f.attr("frame"),d.frame,function(j){return j.toLowerCase()})}return d}})});window.multigraph.util.namespace("window.multigraph.parser.jquery",function(a){a.mixin.add(function(b,c){b.core.Labeler[c]=function(h,e,f,j){var k,l=b.math,d=b.utilityFunctions,g=l.Point.parse;var i=function(p,o,n,q){if(!d.parseAttribute(p,o,n)&&f!==undefined){o(f[q]())}};var m=function(n){return function(o){return window.multigraph.core.DataFormatter.create(n,o)}};if(h){k=new b.core.Labeler(e);if(j!==null){if(j===undefined){j=h.attr("spacing")}i(j,k.spacing,d.parseDataMeasure(e.type()),"spacing")}i(h.attr("format"),k.formatter,m(e.type()),"formatter");i(h.attr("start"),k.start,d.parseDataValue(e.type()),"start");i(h.attr("angle"),k.angle,parseFloat,"angle");i(h.attr("position"),k.position,g,"position");i(h.attr("anchor"),k.anchor,g,"anchor");i(h.attr("densityfactor"),k.densityfactor,parseFloat,"densityfactor");i(h.attr("color"),k.color,l.RGBColor.parse,"color")}return k}})});window.multigraph.util.namespace("window.multigraph.parser.jquery",function(a){a.mixin.add(function(b,c){b.core.Legend[c]=function(f){var h=new b.core.Legend(),e=b.utilityFunctions,k=e.parseAttribute,d=e.parseInteger,g=b.math.Point.parse,i=b.math.RGBColor.parse,j;if(f){k(f.attr("visible"),h.visible,e.parseBoolean);k(f.attr("base"),h.base,g);k(f.attr("anchor"),h.anchor,g);k(f.attr("position"),h.position,g);k(f.attr("frame"),h.frame,e.parseString);k(f.attr("color"),h.color,i);k(f.attr("bordercolor"),h.bordercolor,i);k(f.attr("opacity"),h.opacity,parseFloat);k(f.attr("border"),h.border,d);k(f.attr("rows"),h.rows,d);k(f.attr("columns"),h.columns,d);k(f.attr("cornerradius"),h.cornerradius,d);k(f.attr("padding"),h.padding,d);j=f.find("icon");if(j.length>0){h.icon(b.core.Icon[c](j))}}return h}})});window.multigraph.util.namespace("window.multigraph.parser.jquery",function(a){a.mixin.add(function(b,c){b.core.Multigraph[c]=function(g,i,h){var f=new b.core.Multigraph(),e=f.graphs(),d=b.core.Graph,j=b.jQuery,k;f.mugl(i);if(g){k=g.find(">graph");if(k.length>0){j.each(k,function(l,m){e.add(d[c](j(m),f,h))})}else{if(k.length===0&&g.children().length>0){e.add(d[c](g,f,h))}}}return f}})});window.multigraph.util.namespace("window.multigraph.parser.jquery",function(a){a.mixin.add(function(b,c){b.core.Pan[c]=function(f,g){var h=new b.core.Pan(),d=b.utilityFunctions,i=d.parseAttribute,e=d.parseDataValue;if(f){i(f.attr("allowed"),h.allowed,d.parseBoolean);i(f.attr("min"),h.min,e(g));i(f.attr("max"),h.max,e(g))}return h}})});window.multigraph.util.namespace("window.multigraph.parser.jquery",function(a){a.stringToJQueryXMLObj=function(c){var d=window.multigraph.jQuery,b=d.parseXML(c);return d(d(b).children()[0])}});window.multigraph.util.namespace("window.multigraph.parser.jquery",function(a){a.mixin.add(function(b,c){b.core.Plot[c]=function(k,p,o){var h=b.jQuery,f=b.core,i=f.DataPlot,j=f.PlotLegend,n,e,q,g,m,d;if(k){d=k.find(">verticalaxis");if(d.length===1&&d.attr("ref")!==undefined){if(p){q=p.axisById(d.attr("ref"));if(q===undefined){throw new Error("Plot Vertical Axis Error: The graph does not contain an axis with an id of '"+d.attr("ref")+"'")}}}d=k.find("verticalaxis constant");if(d.length>0){var l=d.attr("value");if(l===undefined){throw new Error("Constant Plot Error: A 'value' attribute is needed to define a Constant Plot")}n=new f.ConstantPlot(f.DataValue.parse(q.type(),l))}else{n=new i()}n.verticalaxis(q);d=k.find(">horizontalaxis");if(d.length===1&&d.attr("ref")!==undefined){if(p){e=p.axisById(d.attr("ref"));if(e!==undefined){n.horizontalaxis(e)}else{throw new Error("Plot Horizontal Axis Error: The graph does not contain an axis with an id of '"+d.attr("ref")+"'")}}}if(n instanceof i){if(k.find("horizontalaxis variable").length===0){n.variable().add(null)}d=k.find("horizontalaxis variable, verticalaxis variable");if(d.length>0){if(p){h.each(d,function(r,s){m=h(s).attr("ref");g=p.variableById(m);if(g!==undefined){n.data(g.data());n.variable().add(g)}else{throw new Error("Plot Variable Error: No Data tag contains a variable with an id of '"+m+"'")}})}}}d=k.find("legend");if(d.length>0){n.legend(j[c](d,n))}else{n.legend(j[c](undefined,n))}d=k.find("renderer");if(d.length>0){n.renderer(f.Renderer[c](d,n,o))}d=k.find("filter");if(d.length>0){n.filter(f.Filter[c](d))}d=k.find("datatips");if(d.length>0){n.datatips(f.Datatips[c](d))}}return n}})});window.multigraph.util.namespace("window.multigraph.parser.jquery",function(a){a.mixin.add(function(b,c){b.core.PlotLegend[c]=function(e,h){var f=new b.core.PlotLegend(),d=b.utilityFunctions,j=d.parseAttribute,g=b.core.Text,i;if(e){j(e.attr("visible"),f.visible,d.parseBoolean);j(e.attr("label"),f.label,function(k){return new g(k)})}if(f.label()===undefined){if(typeof(h.variable)==="function"&&h.variable().size()>=2){f.label(new g(h.variable().at(1).id()))}else{f.label(new g("plot"))}}return f}})});window.multigraph.util.namespace("window.multigraph.parser.jquery",function(a){a.mixin.add(function(b,c){b.core.Plotarea[c]=function(f){var j=new b.core.Plotarea(),g=j.margin(),e=b.utilityFunctions,i=e.parseAttribute,d=e.parseInteger,h=b.math.RGBColor.parse;if(f){i(f.attr("marginbottom"),g.bottom,d);i(f.attr("marginleft"),g.left,d);i(f.attr("margintop"),g.top,d);i(f.attr("marginright"),g.right,d);i(f.attr("border"),j.border,d);i(f.attr("color"),j.color,h);i(f.attr("bordercolor"),j.bordercolor,h)}return j}})});window.multigraph.util.namespace("window.multigraph.parser.jquery",function(a){a.mixin.add(function(b,c){b.core.Renderer[c]=function(h,i,l){var k,j,d,g=b.jQuery,e=b.core,f=e.Renderer;if(h&&h.attr("type")!==undefined){k=f.Type.parse(h.attr("type"));if(!f.Type.isInstance(k)){throw new Error("unknown renderer type '"+h.attr("type")+"'")}j=f.create(k);j.plot(i);if(h.find("option").length>0){(function(s,q,r,u){var p,o=q.find("option[name=missingvalue]"),t=q.find("option[name=missingop]");if(o.length>0||t.length>0){var n=r.data().columns(),m;for(p=0;p0&&(m.missingvalue()===undefined)){m.missingvalue(e.NumberValue.parse(o.attr("value")))}if(t.length>0&&(m.missingop()===undefined)){m.missingop(e.DataValue.parseComparator(t.attr("value")))}}}}if(o.length>0){u.warning("Renderer option 'missingvalue' is deprecated; use 'missingvalue' attribute of 'data'/'variable'; instead");o.remove()}if(t.length>0){u.warning("Renderer option 'missingop' is deprecated; use 'missingvalue' attribute of 'data'/'variable'; instead");t.remove()}}(j,h,i,l));g.each(h.find(">option"),function(m,n){try{j.setOptionFromString(g(n).attr("name"),g(n).attr("value"),g(n).attr("min"),g(n).attr("max"))}catch(n){if(n instanceof e.Warning){l.warning(n)}else{throw n}}})}}return j}})});window.multigraph.util.namespace("window.multigraph.parser.jquery",function(a){a.mixin.add(function(b,c){b.core.Window[c]=function(h){var e=new b.core.Window(),g=b.utilityFunctions,i=g.parseAttribute,f=g.parseInteger,d;if(h){i(h.attr("width"),e.width,f);i(h.attr("height"),e.height,f);i(h.attr("border"),e.border,f);d=h.attr("margin");if(d!==undefined){(function(j){e.margin().set(j,j,j,j)}(parseInt(d,10)))}d=h.attr("padding");if(d!==undefined){(function(j){e.padding().set(j,j,j,j)}(parseInt(d,10)))}i(h.attr("bordercolor"),e.bordercolor,b.math.RGBColor.parse)}return e}})});window.multigraph.util.namespace("window.multigraph.parser.jquery",function(a){a.mixin.add(function(b,c){b.core.Zoom[c]=function(h,i){var f=b.core,j=new f.Zoom(),g=b.utilityFunctions,k=g.parseAttribute,e=g.parseDataMeasure,d;if(h){k(h.attr("allowed"),j.allowed,g.parseBoolean);k(h.attr("min"),j.min,e(i));k(h.attr("max"),j.max,e(i));d=h.attr("anchor");if(d!==undefined){if(d.toLowerCase()==="none"){j.anchor(null)}else{j.anchor(f.DataValue.parse(i,d))}}}return j}})});window.multigraph.util.namespace("window.multigraph.normalizer",function(a){a.mixin=new window.multigraph.core.Mixin()});window.multigraph.util.namespace("window.multigraph.normalizer",function(a){a.mixin.add(function(b){b.Axis.respondsTo("normalize",function(f){var e,g,d;if(this.title()&&this.title().content()===undefined){this.title().content(new b.Text(this.id()))}if(this.labelers().size()===0){var j=(window.multigraph.utilityFunctions.getDefaultValuesFromXSD()).horizontalaxis.labels,c=this.type()===b.DataValue.NUMBER?j.defaultNumberSpacing:j.defaultDatetimeSpacing,h=c.split(/\s+/);for(e=0;e0){for(k=0;kk){for(j=0;jk){throw new Error("Data Variable Error: Attempting to specify column '"+m[j].column()+"' for a variable, while there are only "+k+" data columns available")}}}};var d=function(o,k,n){var m=f.DataValue,j,l;k=m.parseComparator(k);for(l=0;l0){k.pop()}for(j=0;j0){if(j[0].length0){c+=n}n++}else{if(d.orientation()===h){c="y";if(f>0){c+=f}f++}}if(d.id()===undefined){d.id(c)}}for(k=0;k0?1:0),10))}else{if(k()===undefined){k(parseInt(c.size()/h()+((c.size()%h())>0?1:0),10))}}return this})})});window.multigraph.util.namespace("window.multigraph.normalizer",function(a){a.mixin.add(function(b){b.Multigraph.respondsTo("normalize",function(){var c;for(c=0;cMath.abs(o)){j(g)}else{j(i)}h(this.findNearestAxis(m,l,j()));if(h()===null){j((j()===g)?i:g);h(this.findNearestAxis(m,l,j()))}this.dragStarted(true)}if(n){if(j()===g){h().doZoom(m,p)}else{h().doZoom(l,o)}}else{if(j()===g){h().doPan(m,p)}else{h().doPan(l,o)}}f.redraw()}catch(k){d(k)}})})});window.multigraph.util.namespace("window.multigraph.events.jquery.mouse",function(a){a.mixin=new window.multigraph.core.Mixin()});window.multigraph.util.namespace("window.multigraph.events.jquery.mouse",function(a){a.mixin.add(function(d,c){var b=d.core.Graph;b.hasA("mouseWheelTimer").defaultsTo(null);b.respondsTo("doWheelZoom",function(h,f,m,l){var j=this;try{this.pauseAllData();var i=this.findNearestAxis(f,m);if(i.orientation()===d.core.Axis.HORIZONTAL){i.doZoom(f,4*l)}else{i.doZoom(m,4*l)}h.redraw();var g=this.mouseWheelTimer;if(g()!==null){clearTimeout(g());g(null)}g(setTimeout(function(){j.resumeAllData()},500))}catch(k){c(k)}})})});window.multigraph.util.namespace("window.multigraph.events.jquery.mouse",function(a){a.mixin.add(function(b){var c=window.multigraph.util.namespace("window.multigraph.math");b.core.Multigraph.respondsTo("registerMouseEvents",function(h){var g,f,i=false,k=false,e=this,d=window.multigraph.jQuery(h);var j=function(l){return new c.Point((l.pageX-d.offset().left)-e.graphs().at(0).x0(),d.height()-(l.pageY-d.offset().top)-e.graphs().at(0).y0())};d.mousedown(function(l){l.preventDefault();f=g=j(l);i=true;k=false});d.mouseup(function(l){i=false;e.graphs().at(0).doDragDone()});d.mousemove(function(n){var o=j(n);if(i){var m=o.x()-f.x(),l=o.y()-f.y();if(e.graphs().size()>0){if(!k){e.graphs().at(0).doDragReset()}e.graphs().at(0).doDrag(e,g.x(),g.y(),m,l,n.shiftKey)}k=true}f=o});d.mousewheel(function(l,n){var m=j(l);if(e.graphs().size()>0){e.graphs().at(0).doWheelZoom(e,m.x(),m.y(),n)}l.preventDefault()});d.mouseenter(function(l){f=j(l);i=false;e.graphs().at(0).doDragDone()});d.mouseleave(function(l){i=false;e.graphs().at(0).doDragDone()})})})});(function(c){var a=window.multigraph.util.namespace("window.multigraph.core");var b={multigraph:function(){return this.data("multigraph").multigraph},done:function(d){return this.each(function(){return c(this).data("multigraph").multigraph.done(d)})},init:function(d){return this.each(function(){var f=c(this),e=f.data("multigraph");d.div=this;if(!e){f.data("multigraph",{multigraph:a.Multigraph.createGraph(d)})}return this})}};c.fn.multigraph=function(d){if(b[d]){return b[d].apply(this,Array.prototype.slice.call(arguments,1))}else{if(typeof d==="object"||!d){return b.init.apply(this,arguments)}else{c.error("Method "+d+" does not exist on jQuery.multigraph");return null}}};c(document).ready(function(){c("div.multigraph").each(function(){var f=c(this).attr("data-width"),d=c(this).attr("data-height"),h=c(this).attr("data-src"),g=c(this).attr("data-driver"),e;if(f!==undefined){c(this).css("width",f+"px")}if(d!==undefined){c(this).css("height",d+"px")}e={div:this,mugl:h,driver:g};c(this).multigraph(e);c(this).lightbox({scale:true,postopen:function(){var i=this.data("lightbox");i.originalDiv=this;this.data("multigraph").multigraph.done(function(k){k.div(i.contents);k.initializeSurface();k.resizeSurface(i.contentWidth,i.contentHeight);k.width(i.contentWidth).height(i.contentHeight);k.busySpinner().remove();k.busySpinner(c('
      ').appendTo(c(k.div())).busy_spinner());k.render()});var j=window.setTimeout(function(){i.contents.lightbox("resize");window.clearTimeout(j)},50)},postclose:function(){var i=this.data("lightbox");this.data("multigraph").multigraph.done(function(j){j.div(i.originalDiv).width(c(j.div()).width()).height(c(j.div()).height()).busySpinner(c('
      ').appendTo(c(j.div())).busy_spinner());j.initializeSurface();j.render()})},postresize:function(){var i=this.data("lightbox");this.data("multigraph").multigraph.done(function(j){j.resizeSurface(i.contentWidth,i.contentHeight);j.width(i.contentWidth).height(i.contentHeight);j.render()})}})})})}(window.multigraph.jQuery));window.multigraph.util.namespace("window.multigraph.events.jquery.touch",function(a){a.mixin=new window.multigraph.core.Mixin()});window.multigraph.util.namespace("window.multigraph.events.jquery.touch",function(a){a.mixin.add(function(c,b){c.core.Graph.respondsTo("doFirstPinchZoom",function(d,m,l,q,p,o,n){var g=this.dragAxis,i=this.dragOrientation,k=c.core.Axis,f=k.HORIZONTAL,h=k.VERTICAL;try{if(!this.dragStarted()){if(o>n){i(f)}else{i(h)}g(this.findNearestAxis(m,l,i()));if(g()===null){i((i()===f)?h:f);g(this.findNearestAxis(m,l,i()))}this.dragStarted(true)}if(i()===f){g().doZoom(m,q)}else{g().doZoom(l,p)}d.redraw()}catch(j){b(j)}})})});window.multigraph.util.namespace("window.multigraph.events.jquery.touch",function(a){a.mixin.add(function(b){var c=window.multigraph.util.namespace("window.multigraph.math");b.core.Multigraph.respondsTo("registerTouchEvents",function(v){var r=false,f=false,m=false,d=false,j={},t,w,u,h,k=this,e=window.multigraph.jQuery(v);var g=function(x){return new c.Point((x.pageX-e.offset().left)-k.graphs().at(0).x0(),e.height()-(x.pageY-e.offset().top)-k.graphs().at(0).y0())};var n=function(x){var y=x.originalEvent;y.preventDefault();if(y.touches.length===1){h=g(y.touches[0])}w=g(y.touches[0]);if(y.touches.length===1){f=true}else{f=false}if(y.touches.length===2){m=true;d=false;u=g(y.touches[1])}else{m=false;d=false}r=false;k.graphs().at(0).doDragDone()};var o=function(x){var y=x.originalEvent;y.preventDefault();if(y.touches.length===1&&f===true){i(y)}if(y.touches.length===2&&m===true){l(y)}};var p=function(x){var y=x.originalEvent;y.preventDefault();if(y.touches.length===1){f=true}else{f=false}if(y.touches.length===2){m=true;d=false}else{m=false;d=false}r=false;k.graphs().at(0).doDragDone()};var q=function(x){x.originalEvent.preventDefault();f=false;m=false;d=false;r=false;k.graphs().at(0).doDragDone()};var i=function(A){var z=g(A.touches[0]),y=z.x()-w.x(),x=z.y()-w.y();if(k.graphs().size()>0){if(!r){k.graphs().at(0).doDragReset()}k.graphs().at(0).doDrag(k,h.x(),h.y(),y,x,false)}r=true;w=z};var l=function(z){var C=g(z.touches[0]),A=g(z.touches[1]),D=(C.x()+A.x())/2,B=(C.y()+A.y())/2,F=s(C.x(),A.x())-s(w.x(),u.x()),E=s(C.y(),A.y())-s(w.y(),u.y());if(k.graphs().size()>0){if(!r){k.graphs().at(0).doDragReset()}if(d===true){k.graphs().at(0).doDrag(k,D,B,F,E,true)}}r=true;var y=((C.x()-w.x())+(A.x()-u.x()))/2,x=((C.y()-w.y())+(A.y()-u.y()))/2;if(d===true){k.graphs().at(0).doDrag(k,D,B,y,x,false)}if(d===false){if(j.base===undefined){j.base={};j.base.x=D;j.base.y=B}if(j.zoomDeltas===undefined){j.zoomDeltas={dx:0,dy:0,totalx:0,totaly:0}}if(j.panDeltas===undefined){j.panDeltas={dx:0,dy:0}}j.zoomDeltas.dx+=F;j.zoomDeltas.dy+=E;j.panDeltas.dx+=y;j.panDeltas.dy+=x;j.zoomDeltas.totalx+=Math.abs(F);j.zoomDeltas.totaly+=Math.abs(E);if(t===undefined){t=setTimeout(function(){var K=j.base.x,J=j.base.y,I=j.zoomDeltas.dx,H=j.zoomDeltas.dy,G=j.panDeltas.dx,L=j.panDeltas.dy;k.graphs().at(0).doDragReset();k.graphs().at(0).doFirstPinchZoom(k,K,J,I,H,j.zoomDeltas.totalx,j.zoomDeltas.totaly);k.graphs().at(0).doDrag(k,K,J,G,L,false);j={};d=true;clearTimeout(t);t=undefined},60)}}w=C;u=A};var s=function(y,x){return Math.abs(y-x)};e.on("touchstart",n);e.on("touchmove",o);e.on("touchend",p);e.on("touchleave",q)})})});(function(i){var e="0.3.4",j="hasOwnProperty",b=/[\.\/]/,a="*",g=function(){},f=function(m,l){return m-l},d,h,k={n:{}},c=function(m,C){var v=k,s=h,w=Array.prototype.slice.call(arguments,2),y=c.listeners(m),x=0,u=false,p,o=[],t={},q=[],n=d,A=[];d=m;h=0;for(var r=0,B=y.length;r';aH=aE.firstChild;aH.style.behavior="url(#default#VML)";if(!(aH&&typeof aH.adj=="object")){return(aR.type=aX)}aE=null}aR.svg=!(aR.vml=aR.type=="VML");aR._Paper=bF;aR.fn=a4=bF.prototype=aR.prototype;aR._id=0;aR._oid=0;aR.is=function(d,b){b=bK.call(b);if(b=="finite"){return !av[ak](+d)}if(b=="array"){return d instanceof Array}return(b=="null"&&d===null)||(b==typeof d&&d!==null)||(b=="object"&&d===Object(d))||(b=="array"&&Array.isArray&&Array.isArray(d))||a1.call(d).slice(8,-1).toLowerCase()==b};function X(g){if(Object(g)!==g){return g}var d=new g.constructor;for(var b in g){if(g[ak](b)){d[b]=X(g[b])}}return d}aR.angle=function(E,S,g,R,d,i){if(d==null){var b=E-g,bL=S-R;if(!b&&!bL){return 0}return(180+au.atan2(-bL,-b)*180/aV+360)%360}else{return aR.angle(E,S,d,i)-aR.angle(g,R,d,i)}};aR.rad=function(b){return b%360*aV/180};aR.deg=function(b){return b*180/aV%360};aR.snapTo=function(d,E,b){b=aR.is(b,"finite")?b:10;if(aR.is(d,bd)){var g=d.length;while(g--){if(aw(d[g]-E)<=b){return d[g]}}}else{d=+d;var R=E%d;if(Rd-b){return E-R+d}}return E};var h=aR.createUUID=(function(b,d){return function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(b,d).toUpperCase()}})(/[xy]/g,function(g){var d=au.random()*16|0,b=g=="x"?d:(d&3|8);return b.toString(16)});aR.setWindow=function(b){eve("raphael.setWindow",aR,aA.win,b);aA.win=b;aA.doc=aA.win.document;if(aR._engine.initWin){aR._engine.initWin(aA.win)}};var bf=function(g){if(aR.vml){var b=/^\s+|\s+$/g;var R;try{var S=new ActiveXObject("htmlfile");S.write("");S.close();R=S.body}catch(bL){R=createPopup().document.body}var d=R.createTextRange();bf=aG(function(i){try{R.style.color=bH(i).replace(b,aX);var bM=d.queryCommandValue("ForeColor");bM=((bM&255)<<16)|(bM&65280)|((bM&16711680)>>>16);return"#"+("000000"+bM.toString(16)).slice(-6)}catch(bN){return"none"}})}else{var E=aA.doc.createElement("i");E.title="Rapha\xebl Colour Picker";E.style.display="none";aA.doc.body.appendChild(E);bf=aG(function(i){E.style.color=i;return aA.doc.defaultView.getComputedStyle(E,aX).getPropertyValue("color")})}return bf(g)},aI=function(){return"hsb("+[this.h,this.s,this.b]+")"},M=function(){return"hsl("+[this.h,this.s,this.l]+")"},x=function(){return this.hex},aY=function(R,E,d){if(E==null&&aR.is(R,"object")&&"r" in R&&"g" in R&&"b" in R){d=R.b;E=R.g;R=R.r}if(E==null&&aR.is(R,aj)){var i=aR.getRGB(R);R=i.r;E=i.g;d=i.b}if(R>1||E>1||d>1){R/=255;E/=255;d/=255}return[R,E,d]},a2=function(R,E,d,S){R*=255;E*=255;d*=255;var i={r:R,g:E,b:d,hex:aR.rgb(R,E,d),toString:x};aR.is(S,"finite")&&(i.opacity=S);return i};aR.color=function(b){var d;if(aR.is(b,"object")&&"h" in b&&"s" in b&&"b" in b){d=aR.hsb2rgb(b);b.r=d.r;b.g=d.g;b.b=d.b;b.hex=d.hex}else{if(aR.is(b,"object")&&"h" in b&&"s" in b&&"l" in b){d=aR.hsl2rgb(b);b.r=d.r;b.g=d.g;b.b=d.b;b.hex=d.hex}else{if(aR.is(b,"string")){b=aR.getRGB(b)}if(aR.is(b,"object")&&"r" in b&&"g" in b&&"b" in b){d=aR.rgb2hsl(b);b.h=d.h;b.s=d.s;b.l=d.l;d=aR.rgb2hsb(b);b.v=d.b}else{b={hex:"none"};b.r=b.g=b.b=b.h=b.s=b.v=b.l=-1}}}b.toString=x;return b};aR.hsb2rgb=function(S,bN,bL,i){if(this.is(S,"object")&&"h" in S&&"s" in S&&"b" in S){bL=S.b;bN=S.s;S=S.h;i=S.o}S*=360;var E,bM,d,g,b;S=(S%360)/60;b=bL*bN;g=b*(1-aw(S%2-1));E=bM=d=bL-b;S=~~S;E+=[b,g,0,0,g,b][S];bM+=[g,b,b,g,0,0][S];d+=[0,0,g,b,b,g][S];return a2(E,bM,d,i)};aR.hsl2rgb=function(bL,bN,E,i){if(this.is(bL,"object")&&"h" in bL&&"s" in bL&&"l" in bL){E=bL.l;bN=bL.s;bL=bL.h}if(bL>1||bN>1||E>1){bL/=360;bN/=100;E/=100}bL*=360;var S,bM,d,g,b;bL=(bL%360)/60;b=2*bN*(E<0.5?E:1-E);g=b*(1-aw(bL%2-1));S=bM=d=E-b/2;bL=~~bL;S+=[b,g,0,0,g,b][bL];bM+=[g,b,b,g,0,0][bL];d+=[0,0,g,b,b,g][bL];return a2(S,bM,d,i)};aR.rgb2hsb=function(bM,bL,d){d=aY(bM,bL,d);bM=d[0];bL=d[1];d=d[2];var R,E,i,bN;i=m(bM,bL,d);bN=i-bm(bM,bL,d);R=(bN==0?null:i==bM?(bL-d)/bN:i==bL?(d-bM)/bN+2:(bM-bL)/bN+4);R=((R+360)%6)*60/360;E=bN==0?0:bN/i;return{h:R,s:E,b:i,toString:aI}};aR.rgb2hsl=function(d,bL,bO){bO=aY(d,bL,bO);d=bO[0];bL=bO[1];bO=bO[2];var bP,R,bN,bM,E,i;bM=m(d,bL,bO);E=bm(d,bL,bO);i=bM-E;bP=(i==0?null:bM==d?(bL-bO)/i:bM==bL?(bO-d)/i+2:(d-bL)/i+4);bP=((bP+360)%6)*60/360;bN=(bM+E)/2;R=(i==0?0:bN<0.5?i/(2*bN):i/(2-2*bN));return{h:bP,s:R,l:bN,toString:M}};aR._path2string=function(){return this.join(",").replace(bg,"$1")};function bk(E,g){for(var b=0,d=E.length;b=1000&&delete R[bL.shift()];bL.push(S);R[S]=i[bG](d,E);return b?b(R[S]):R[S]}return g}var bv=aR._preload=function(g,d){var b=aA.doc.createElement("img");b.style.cssText="position:absolute;left:-9999em;top:-9999em";b.onload=function(){d.call(this);this.onload=null;aA.doc.body.removeChild(this)};b.onerror=function(){aA.doc.body.removeChild(this)};aA.doc.body.appendChild(b);b.src=g};function aq(){return this.hex}aR.getRGB=aG(function(b){if(!b||!!((b=bH(b)).indexOf("-")+1)){return{r:-1,g:-1,b:-1,hex:"none",error:1,toString:aq}}if(b=="none"){return{r:-1,g:-1,b:-1,hex:"none",toString:aq}}!(n[ak](b.toLowerCase().substring(0,2))||b.charAt()=="#")&&(b=bf(b));var E,d,g,S,i,bM,bL,R=b.match(A);if(R){if(R[2]){S=U(R[2].substring(5),16);g=U(R[2].substring(3,5),16);d=U(R[2].substring(1,3),16)}if(R[3]){S=U((bM=R[3].charAt(3))+bM,16);g=U((bM=R[3].charAt(2))+bM,16);d=U((bM=R[3].charAt(1))+bM,16)}if(R[4]){bL=R[4][F](bi);d=an(bL[0]);bL[0].slice(-1)=="%"&&(d*=2.55);g=an(bL[1]);bL[1].slice(-1)=="%"&&(g*=2.55);S=an(bL[2]);bL[2].slice(-1)=="%"&&(S*=2.55);R[1].toLowerCase().slice(0,4)=="rgba"&&(i=an(bL[3]));bL[3]&&bL[3].slice(-1)=="%"&&(i/=100)}if(R[5]){bL=R[5][F](bi);d=an(bL[0]);bL[0].slice(-1)=="%"&&(d*=2.55);g=an(bL[1]);bL[1].slice(-1)=="%"&&(g*=2.55);S=an(bL[2]);bL[2].slice(-1)=="%"&&(S*=2.55);(bL[0].slice(-3)=="deg"||bL[0].slice(-1)=="\xb0")&&(d/=360);R[1].toLowerCase().slice(0,4)=="hsba"&&(i=an(bL[3]));bL[3]&&bL[3].slice(-1)=="%"&&(i/=100);return aR.hsb2rgb(d,g,S,i)}if(R[6]){bL=R[6][F](bi);d=an(bL[0]);bL[0].slice(-1)=="%"&&(d*=2.55);g=an(bL[1]);bL[1].slice(-1)=="%"&&(g*=2.55);S=an(bL[2]);bL[2].slice(-1)=="%"&&(S*=2.55);(bL[0].slice(-3)=="deg"||bL[0].slice(-1)=="\xb0")&&(d/=360);R[1].toLowerCase().slice(0,4)=="hsla"&&(i=an(bL[3]));bL[3]&&bL[3].slice(-1)=="%"&&(i/=100);return aR.hsl2rgb(d,g,S,i)}R={r:d,g:g,b:S,toString:aq};R.hex="#"+(16777216|S|(g<<8)|(d<<16)).toString(16).slice(1);aR.is(i,"finite")&&(R.opacity=i);return R}return{r:-1,g:-1,b:-1,hex:"none",error:1,toString:aq}},aR);aR.hsb=aG(function(i,g,d){return aR.hsb2rgb(i,g,d).hex});aR.hsl=aG(function(g,d,b){return aR.hsl2rgb(g,d,b).hex});aR.rgb=aG(function(E,i,d){return"#"+(16777216|d|(i<<8)|(E<<16)).toString(16).slice(1)});aR.getColor=function(d){var g=this.getColor.start=this.getColor.start||{h:0,s:1,b:d||0.75},b=this.hsb2rgb(g.h,g.s,g.b);g.h+=0.075;if(g.h>1){g.h=0;g.s-=0.2;g.s<=0&&(this.getColor.start={h:0,s:1,b:g.b})}return b.hex};aR.getColor.reset=function(){delete this.start};function bb(E,bL){var S=[];for(var g=0,b=E.length;b-2*!bL>g;g+=2){var R=[{x:+E[g-2],y:+E[g-1]},{x:+E[g],y:+E[g+1]},{x:+E[g+2],y:+E[g+3]},{x:+E[g+4],y:+E[g+5]}];if(bL){if(!g){R[0]={x:+E[b-2],y:+E[b-1]}}else{if(b-4==g){R[3]={x:+E[0],y:+E[1]}}else{if(b-2==g){R[2]={x:+E[0],y:+E[1]};R[3]={x:+E[2],y:+E[3]}}}}}else{if(b-4==g){R[3]=R[2]}else{if(!g){R[0]={x:+E[g],y:+E[g+1]}}}}S.push(["C",(-R[0].x+6*R[1].x+R[2].x)/6,(-R[0].y+6*R[1].y+R[2].y)/6,(R[1].x+6*R[2].x-R[3].x)/6,(R[1].y+6*R[2].y-R[3].y)/6,R[2].x,R[2].y])}return S}aR.parsePathString=function(b){if(!b){return null}var g=Y(b);if(g.arr){return aZ(g.arr)}var i={a:7,c:6,h:1,l:2,m:2,r:4,q:4,s:4,t:2,v:1,z:0},d=[];if(aR.is(b,bd)&&aR.is(b[0],bd)){d=aZ(b)}if(!d.length){bH(b).replace(a0,function(R,E,bM){var bL=[],S=E.toLowerCase();bM.replace(aP,function(bO,bN){bN&&bL.push(+bN)});if(S=="m"&&bL.length>2){d.push([E][bE](bL.splice(0,2)));S="l";E=E=="m"?"l":"L"}if(S=="r"){d.push([E][bE](bL))}else{while(bL.length>=i[S]){d.push([E][bE](bL.splice(0,i[S])));if(!i[S]){break}}}})}d.toString=aR._path2string;g.arr=aZ(d);return d};aR.parseTransformString=aG(function(d){if(!d){return null}var g={r:3,s:4,t:2,m:6},b=[];if(aR.is(d,bd)&&aR.is(d[0],bd)){b=aZ(d)}if(!b.length){bH(d).replace(ai,function(E,i,bL){var S=[],R=bK.call(i);bL.replace(aP,function(bN,bM){bM&&S.push(+bM)});b.push([i][bE](S))})}b.toString=aR._path2string;return b});var Y=function(d){var b=Y.ps=Y.ps||{};if(b[d]){b[d].sleep=100}else{b[d]={sleep:100}}setTimeout(function(){for(var g in b){if(b[ak](g)&&g!=d){b[g].sleep--;!b[g].sleep&&delete b[g]}}});return b[d]};aR.findDotsAtSegment=function(d,b,b2,b0,S,E,bN,bL,bV){var bS=1-bV,bX=bp(bS,3),bY=bp(bS,2),bP=bV*bV,bM=bP*bV,bR=bX*d+bY*3*bV*b2+bS*3*bV*bV*S+bM*bN,bO=bX*b+bY*3*bV*b0+bS*3*bV*bV*E+bM*bL,bW=d+2*bV*(b2-d)+bP*(S-2*b2+d),bU=b+2*bV*(b0-b)+bP*(E-2*b0+b),b1=b2+2*bV*(S-b2)+bP*(bN-2*S+b2),bZ=b0+2*bV*(E-b0)+bP*(bL-2*E+b0),bT=bS*d+bV*b2,bQ=bS*b+bV*b0,i=bS*S+bV*bN,g=bS*E+bV*bL,R=(90-au.atan2(bW-b1,bU-bZ)*180/aV);(bW>b1||bU=d.x&&b<=d.x2&&g>=d.y&&g<=d.y2};aR.isBBoxIntersect=function(g,d){var b=aR.isPointInsideBBox;return b(d,g.x,g.y)||b(d,g.x2,g.y)||b(d,g.x,g.y2)||b(d,g.x2,g.y2)||b(g,d.x,d.y)||b(g,d.x2,d.y)||b(g,d.x,d.y2)||b(g,d.x2,d.y2)||(g.xd.x||d.xg.x)&&(g.yd.y||d.yg.y)};function bj(b,S,R,E,i){var g=-3*S+9*R-9*E+3*i,d=b*g+6*S-12*R+6*E;return b*d-3*S+3*R}function q(bW,R,bV,g,bU,d,bR,b,bO){if(bO==null){bO=1}bO=bO>1?1:bO<0?0:bO;var bP=bO/2,bQ=12,bL=[-0.1252,0.1252,-0.3678,0.3678,-0.5873,0.5873,-0.7699,0.7699,-0.9041,0.9041,-0.9816,0.9816],bT=[0.2491,0.2491,0.2335,0.2335,0.2032,0.2032,0.1601,0.1601,0.1069,0.1069,0.0472,0.0472],E=0;for(var bS=0;bSS){i/=2;R+=(Em(b,bS)||m(bQ,bO)m(bN,bM)){return}var bL=(i*bO-bQ*g)*(b-bS)-(i-g)*(b*bM-bN*bS),S=(i*bO-bQ*g)*(bN-bM)-(bQ-bO)*(b*bM-bN*bS),E=(i-g)*(bN-bM)-(bQ-bO)*(b-bS);if(!E){return}var bR=bL/E,bP=S/E,R=+bR.toFixed(2),d=+bP.toFixed(2);if(R<+bm(i,g).toFixed(2)||R>+m(i,g).toFixed(2)||R<+bm(b,bS).toFixed(2)||R>+m(b,bS).toFixed(2)||d<+bm(bQ,bO).toFixed(2)||d>+m(bQ,bO).toFixed(2)||d<+bm(bN,bM).toFixed(2)||d>+m(bN,bM).toFixed(2)){return}return{x:bR,y:bP}}function ay(d,b){return af(d,b)}function t(d,b){return af(d,b,1)}function af(b2,b1,b0){var E=aR.bezierBBox(b2),d=aR.bezierBBox(b1);if(!aR.isBBoxIntersect(E,d)){return b0?0:[]}var bV=q.apply(0,b2),bU=q.apply(0,b1),bM=~~(bV/5),bL=~~(bU/5),bS=[],bR=[],g={},b3=b0?0:[];for(var bX=0;bX=0&&bO<=1&&bN>=0&&bN<=1){if(b0){b3++}else{b3.push({x:R.x,y:R.y,t1:bO,t2:bN})}}}}}return b3}aR.pathIntersection=function(d,b){return D(d,b)};aR.pathIntersectionNumber=function(d,b){return D(d,b,1)};function D(g,b,bW){g=aR._path2curve(g);b=aR._path2curve(b);var bU,S,bT,E,bR,bL,d,bO,b0,bZ,b1=bW?0:[];for(var bS=0,bM=g.length;bS1){ch=au.sqrt(ch);b1=ch*b1;bZ=ch*bZ}var g=b1*b1,ca=bZ*bZ,cc=(bN==E?-1:1)*au.sqrt(aw((g*ca-g*b6*b6-ca*b7*b7)/(g*b6*b6+ca*b7*b7))),bW=cc*b1*b6/bZ+(bS+bR)/2,bV=cc*-bZ*b7/b1+(cn+cm)/2,bM=au.asin(((cn-bV)/bZ).toFixed(9)),bL=au.asin(((cm-bV)/bZ).toFixed(9));bM=bSbL){bM=bM-aV*2}if(!E&&bL>bM){bL=bL-aV*2}}else{bM=bU[0];bL=bU[1];bW=bU[2];bV=bU[3]}var bQ=bL-bM;if(aw(bQ)>bY){var bX=bL,b0=bR,bO=cm;bL=bM+bY*(E&&bL>bM?1:-1);bR=bW+b1*au.cos(bL);cm=bV+bZ*au.sin(bL);b5=ae(bR,cm,b1,bZ,bT,0,E,b0,bO,[bL,bX,bW,bV])}bQ=bL-bM;var S=au.cos(bM),cl=au.sin(bM),R=au.cos(bL),ck=au.sin(bL),b8=au.tan(bQ/4),cb=4/3*b1*b8,b9=4/3*bZ*b8,ci=[bS,cn],cg=[bS+cb*cl,cn-b9*S],cf=[bR+cb*ck,cm-b9*R],cd=[bR,cm];cg[0]=2*ci[0]-cg[0];cg[1]=2*ci[1]-cg[1];if(bU){return[cg,cf,cd][bE](b5)}else{b5=[cg,cf,cd][bE](b5).join()[F](",");var b3=[];for(var ce=0,b4=b5.length;ce"1e12"&&(bL=0.5);aw(S)>"1e12"&&(S=0.5);if(bL>0&&bL<1){g=ag(i,d,R,E,bU,bT,bQ,bN,bL);bR.push(g.x);bO.push(g.y)}if(S>0&&S<1){g=ag(i,d,R,E,bU,bT,bQ,bN,S);bR.push(g.x);bO.push(g.y)}bS=(bT-2*E+d)-(bN-2*bT+E);bP=2*(E-d)-2*(bT-E);bM=d-E;bL=(-bP+au.sqrt(bP*bP-4*bS*bM))/2/bS;S=(-bP-au.sqrt(bP*bP-4*bS*bM))/2/bS;aw(bL)>"1e12"&&(bL=0.5);aw(S)>"1e12"&&(S=0.5);if(bL>0&&bL<1){g=ag(i,d,R,E,bU,bT,bQ,bN,bL);bR.push(g.x);bO.push(g.y)}if(S>0&&S<1){g=ag(i,d,R,E,bU,bT,bQ,bN,S);bR.push(g.x);bO.push(g.y)}return{min:{x:bm[bG](0,bR),y:bm[bG](0,bO)},max:{x:m[bG](0,bR),y:m[bG](0,bO)}}}),W=aR._path2curve=aG(function(bU,bP){var bN=!bP&&Y(bU);if(!bP&&bN.curve){return aZ(bN.curve)}var E=w(bU),bQ=bP&&w(bP),bR={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},d={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},S=function(bV,bW){var i,bX;if(!bV){return["C",bW.x,bW.y,bW.x,bW.y,bW.x,bW.y]}!(bV[0] in {T:1,Q:1})&&(bW.qx=bW.qy=null);switch(bV[0]){case"M":bW.X=bV[1];bW.Y=bV[2];break;case"A":bV=["C"][bE](ae[bG](0,[bW.x,bW.y][bE](bV.slice(1))));break;case"S":i=bW.x+(bW.x-(bW.bx||bW.x));bX=bW.y+(bW.y-(bW.by||bW.y));bV=["C",i,bX][bE](bV.slice(1));break;case"T":bW.qx=bW.x+(bW.x-(bW.qx||bW.x));bW.qy=bW.y+(bW.y-(bW.qy||bW.y));bV=["C"][bE](bn(bW.x,bW.y,bW.qx,bW.qy,bV[1],bV[2]));break;case"Q":bW.qx=bV[1];bW.qy=bV[2];bV=["C"][bE](bn(bW.x,bW.y,bV[1],bV[2],bV[3],bV[4]));break;case"L":bV=["C"][bE](bI(bW.x,bW.y,bV[1],bV[2]));break;case"H":bV=["C"][bE](bI(bW.x,bW.y,bV[1],bW.y));break;case"V":bV=["C"][bE](bI(bW.x,bW.y,bW.x,bV[1]));break;case"Z":bV=["C"][bE](bI(bW.x,bW.y,bW.X,bW.Y));break}return bV},b=function(bV,bW){if(bV[bW].length>7){bV[bW].shift();var bX=bV[bW];while(bX.length){bV.splice(bW++,0,["C"][bE](bX.splice(0,6)))}bV.splice(bW,1);bS=m(E.length,bQ&&bQ.length||0)}},g=function(bZ,bY,bW,bV,bX){if(bZ&&bY&&bZ[bX][0]=="M"&&bY[bX][0]!="M"){bY.splice(bX,0,["M",bV.x,bV.y]);bW.bx=0;bW.by=0;bW.x=bZ[bX][1];bW.y=bZ[bX][2];bS=m(E.length,bQ&&bQ.length||0)}};for(var bM=0,bS=m(E.length,bQ&&bQ.length||0);bMR){if(d&&!bS.start){bQ=k(bP,bO,g[1],g[2],g[3],g[4],g[5],g[6],R-bN);E+=["C"+bQ.start.x,bQ.start.y,bQ.m.x,bQ.m.y,bQ.x,bQ.y];if(S){return E}bS.start=E;E=["M"+bQ.x,bQ.y+"C"+bQ.n.x,bQ.n.y,bQ.end.x,bQ.end.y,g[5],g[6]].join();bN+=bL;bP=+g[5];bO=+g[6];continue}if(!b&&!d){bQ=k(bP,bO,g[1],g[2],g[3],g[4],g[5],g[6],R-bN);return{x:bQ.x,y:bQ.y,alpha:bQ.alpha}}}bN+=bL;bP=+g[5];bO=+g[6]}E+=g.shift()+g}bS.end=E;bQ=b?bN:d?bS:aR.findDotsAtSegment(bP,bO,g[0],g[1],g[2],g[3],g[4],g[5],1);bQ.alpha&&(bQ={x:bQ.x,y:bQ.y,alpha:bQ.alpha});return bQ}};var aS=a6(1),J=a6(),ad=a6(0,1);aR.getTotalLength=aS;aR.getPointAtLength=J;aR.getSubpath=function(d,i,g){if(this.getTotalLength(d)-g<0.000001){return ad(d,i).end}var b=ad(d,g,1);return i?ad(b,i).end:b};bh.getTotalLength=function(){if(this.type!="path"){return}if(this.node.getTotalLength){return this.node.getTotalLength()}return aS(this.attrs.path)};bh.getPointAtLength=function(b){if(this.type!="path"){return}return J(this.attrs.path,b)};bh.getSubpath=function(d,b){if(this.type!="path"){return}return aR.getSubpath(this.attrs.path,d,b)};var o=aR.easing_formulas={linear:function(b){return b},"<":function(b){return bp(b,1.7)},">":function(b){return bp(b,0.48)},"<>":function(bL){var i=0.48-bL/1.04,g=au.sqrt(0.1734+i*i),b=g-i,S=bp(aw(b),1/3)*(b<0?-1:1),R=-g-i,E=bp(aw(R),1/3)*(R<0?-1:1),d=S+E+0.5;return(1-d)*3*d*d+d*d*d},backIn:function(d){var b=1.70158;return d*d*((b+1)*d-b)},backOut:function(d){d=d-1;var b=1.70158;return d*d*((b+1)*d+b)+1},elastic:function(b){if(b==!!b){return b}return bp(2,-10*b)*au.sin((b-0.075)*(2*aV)/0.3)+1},bounce:function(i){var d=7.5625,g=2.75,b;if(i<(1/g)){b=d*i*i}else{if(i<(2/g)){i-=(1.5/g);b=d*i*i+0.75}else{if(i<(2.5/g)){i-=(2.25/g);b=d*i*i+0.9375}else{i-=(2.625/g);b=d*i*i+0.984375}}}return b}};o.easeIn=o["ease-in"]=o["<"];o.easeOut=o["ease-out"]=o[">"];o.easeInOut=o["ease-in-out"]=o["<>"];o["back-in"]=o.backIn;o["back-out"]=o.backOut;var ab=[],aN=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(b){setTimeout(b,16)},bC=function(){var bL=+new Date,bT=0;for(;bT1&&!bZ.next){for(b1 in d){if(d[ak](b1)){bX[b1]=bZ.totalOrigin[b1]}}bZ.el.attr(bX);aM(bZ.anim,bZ.el,bZ.anim.percents[0],null,bZ.totalOrigin,bZ.repeat-1)}if(bZ.next&&!bZ.stop){aM(bZ.anim,bZ.el,bZ.next,null,bZ.totalOrigin,bZ.repeat)}}}aR.svg&&S&&S.paper&&S.paper.safari();ab.length&&aN(bC)},H=function(b){return b>255?255:b<0?0:b};bh.animateWith=function(d,E,g,b,bL,bQ){var S=this;if(S.removed){bQ&&bQ.call(S);return S}var bO=g instanceof bA?g:aR.animation(g,b,bL,bQ),bN,bM;aM(bO,S,bO.percents[0],null,S.attr());for(var R=0,bP=ab.length;RbY){return bY}while(bZbU){bZ=bW}else{bY=bW}bW=(bY-bZ)/2+bZ}return bW}return g(bR,1/(200*bL))}bh.onAnimation=function(b){b?eve.on("raphael.anim.frame."+this.id,b):eve.unbind("raphael.anim.frame."+this.id);return this};function bA(E,g){var d=[],i={};this.ms=g;this.times=1;if(E){for(var b in E){if(E[ak](b)){i[an(b)]=E[b];d.push(an(b))}}d.sort(u)}this.anim=i;this.top=d[d.length-1];this.percents=d}bA.prototype.delay=function(d){var b=new bA(this.anim,this.ms);b.times=this.times;b.del=+d||0;return b};bA.prototype.repeat=function(d){var b=new bA(this.anim,this.ms);b.del=this.del;b.times=au.floor(m(d,0))||1;return b};function aM(b3,g,b,b1,bL,bP){b=an(b);var ca,S,bO,cb=[],bV,bU,R,bX=b3.ms,b2={},E={},bR={};if(b1){for(b6=0,bQ=ab.length;b6b1*b3.top){b=b3.percents[b6];bU=b3.percents[b6-1]||0;bX=bX/b3.top*(b-bU);bV=b3.percents[b6+1];ca=b3.anim[b];break}else{if(b1){g.attr(b3.anim[b3.percents[b6]])}}}if(!ca){return}if(!S){for(var bZ in ca){if(ca[ak](bZ)){if(ar[ak](bZ)||g.paper.customAttributes[ak](bZ)){b2[bZ]=g.attr(bZ);(b2[bZ]==null)&&(b2[bZ]=r[bZ]);E[bZ]=ca[bZ];switch(ar[bZ]){case aL:bR[bZ]=(E[bZ]-b2[bZ])/bX;break;case"colour":b2[bZ]=aR.getRGB(b2[bZ]);var b0=aR.getRGB(E[bZ]);bR[bZ]={r:(b0.r-b2[bZ].r)/bX,g:(b0.g-b2[bZ].g)/bX,b:(b0.b-b2[bZ].b)/bX};break;case"path":var bM=W(b2[bZ],E[bZ]),bT=bM[1];b2[bZ]=bM[0];bR[bZ]=[];for(b6=0,bQ=b2[bZ].length;b60.5)*2-1);h(K-0.5,2)+h(I-0.5,2)>0.25&&(I=f.sqrt(0.25-h(K-0.5,2))*U+0.5)&&I!=0.5&&(I=I.toFixed(5)-0.00001*U)}return r});Q=Q.split(/\s*\-\s*/);if(O=="linear"){var J=Q.shift();J=-n(J);if(isNaN(J)){return null}var H=[0,0,f.cos(l.rad(J)),f.sin(l.rad(J))],P=1/(C(s(H[2]),s(H[3]))||1);H[2]*=P;H[3]*=P;if(H[2]<0){H[0]=-H[2];H[2]=0}if(H[3]<0){H[1]=-H[3];H[3]=0}}var N=l._parseDots(Q);if(!N){return null}E=E.replace(/[\(\)\s,\xb0#]/g,"_");if(M.gradient&&E!=M.gradient.id){D.defs.removeChild(M.gradient);delete M.gradient}if(!M.gradient){F=i(O+"Gradient",{id:E});M.gradient=F;i(F,O=="radial"?{fx:K,fy:I}:{x1:H[0],y1:H[1],x2:H[2],y2:H[3],gradientTransform:M.matrix.invert()});D.defs.appendChild(F);for(var L=0,R=N.length;L1?G.opacity/100:G.opacity});case"stroke":G=l.getRGB(Q);S.setAttribute(R,G.hex);R=="stroke"&&G[d]("opacity")&&i(S,{"stroke-opacity":G.opacity>1?G.opacity/100:G.opacity});if(R=="stroke"&&O._.arrows){"startString" in O._.arrows&&c(O,O._.arrows.startString);"endString" in O._.arrows&&c(O,O._.arrows.endString,1)}break;case"gradient":(O.type=="circle"||O.type=="ellipse"||B(Q).charAt()!="r")&&a(O,Q);break;case"opacity":if(P.gradient&&!P[d]("stroke-opacity")){i(S,{"stroke-opacity":Q>1?Q/100:Q})}case"fill-opacity":if(P.gradient){D=l._g.doc.getElementById(S.getAttribute("fill").replace(/^url\(#|\)$/g,r));if(D){J=D.getElementsByTagName("stop");i(J[J.length-1],{"stop-opacity":Q})}break}default:R=="font-size"&&(Q=q(Q,10)+"px");var K=R.replace(/(\-.)/g,function(X){return X.substring(1).toUpperCase()});S.style[K]=Q;O._.dirty=1;S.setAttribute(R,Q);break}}}p(O,W);S.style.visibility=M},A=1.2,p=function(D,H){if(D.type!="text"||!(H[d]("text")||H[d]("font")||H[d]("font-size")||H[d]("x")||H[d]("y"))){return}var M=D.attrs,F=D.node,O=F.firstChild?q(l._g.doc.defaultView.getComputedStyle(F.firstChild,r).getPropertyValue("font-size"),10):10;if(H[d]("text")){M.text=H.text;while(F.firstChild){F.removeChild(F.firstChild)}var G=B(H.text).split("\n"),E=[],K;for(var I=0,N=G.length;I"));var U=ag.getBoundingClientRect();aq.W=an.w=(U.right-U.left)/ab;aq.H=an.h=(U.bottom-U.top)/ab;aq.X=an.x;aq.Y=an.y+aq.H/2;("x" in aj||"y" in aj)&&(aq.path.v=l.format("m{0},{1}l{2},{1}",B(an.x*b),B(an.y*b),B(an.x*b)+1));var T=["x","y","text","font","font-family","font-weight","font-style","font-size"];for(var ai=0,ak=T.length;ai0.25&&(W=h.sqrt(0.25-L(Y-0.5,2))*((W>0.5)*2-1)+0.5);Q=Y+k+W}return q});R=R.split(/\s*\-\s*/);if(P=="linear"){var J=R.shift();J=-n(J);if(isNaN(J)){return null}}var O=l._parseDots(R);if(!O){return null}E=E.shape||E.node;if(O.length){E.removeChild(U);U.on=true;U.method="none";U.color=O[0].color;U.color2=O[O.length-1].color;var V=[];for(var K=0,T=O.length;K')}}catch(E){G=function(L){return J.createElement("<"+L+' xmlns="urn:schemas-microsoft.com:vml" class="rvml">')}}};l._engine.initWin(l._g.win);l._engine.create=function(){var K=l._getContainer.apply(0,arguments),E=K.container,Q=K.height,R,J=K.width,P=K.x,O=K.y;if(!E){throw new Error("VML container not found.")}var M=new l._Paper,N=M.canvas=l._g.doc.createElement("div"),L=N.style;P=P||0;O=O||0;J=J||512;Q=Q||342;M.width=J;M.height=Q;J==+J&&(J+="px");Q==+Q&&(Q+="px");M.coordsize=b*1000+k+b*1000;M.coordorigin="0 0";M.span=l._g.doc.createElement("span");M.span.style.cssText="position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;";N.appendChild(M.span);L.cssText=l.format("top:0;left:0;width:{0};height:{1};display:inline-block;position:relative;clip:rect(0 {0} {1} 0);overflow:hidden",J,Q);if(E==1){l._g.doc.body.appendChild(N);L.left=P+"px";L.top=O+"px";L.position="absolute"}else{if(E.firstChild){E.insertBefore(N,E.firstChild)}else{E.appendChild(N)}}M.renderfix=function(){};return M};l.prototype.clear=function(){l.eve("raphael.clear",this);this.canvas.innerHTML=q;this.span=l._g.doc.createElement("span");this.span.style.cssText="position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;display:inline;";this.canvas.appendChild(this.span);this.bottom=this.top=null};l.prototype.remove=function(){l.eve("raphael.remove",this);this.canvas.parentNode.removeChild(this.canvas);for(var E in this){this[E]=typeof this[E]=="function"?l._removedFactory(E):null}return true};var y=l.st;for(var g in m){if(m[e](g)&&!y[e](g)){y[g]=(function(E){return function(){var J=arguments;return this.forEach(function(K){K[E].apply(K,J)})}})(g)}}}(window.Raphael);window.multigraph.util.namespace("window.multigraph.graphics.raphael",function(a){a.mixin=new window.multigraph.core.Mixin();a.mixin.add(function(b){window.multigraph.driver="raphael"})});window.multigraph.util.namespace("window.multigraph.graphics.raphael",function(a){a.mixin.add(function(c){var b=c.Axis;b.hasAn("axisElem");b.hasAn("gridElem");b.hasAn("tickmarkElem");var e=function(j,p){var h=j.currentLabeler(),m=j.perpOffset(),i=j.orientation(),l=p.plotBox(),q="",k,n,o;if(i===b.HORIZONTAL){k=l.height()-m}else{k=l.width()-m}while(h.hasNext()){o=h.next();n=j.dataValueToAxisValue(o);if(i===b.HORIZONTAL){q=q+"M"+n+","+m+"L"+n+","+k}else{q=q+"M"+m+","+n+"L"+k+","+n}}return q};var d=function(h){if(h.orientation()===b.HORIZONTAL){return"M "+h.parallelOffset()+", "+h.perpOffset()+" l "+h.pixelLength()+", 0"}else{return"M "+h.perpOffset()+", "+h.parallelOffset()+" l 0, "+h.pixelLength()}};var f=function(h,j){var i=h.perpOffset();if(h.orientation()===c.Axis.HORIZONTAL){return"M"+j+","+(i+h.tickmax())+"L"+j+","+(i+h.tickmin())}else{return"M"+(i+h.tickmin())+","+j+"L"+(i+h.tickmax())+","+j}};var g=function(h,j){var i=h.currentLabeler();h.prepareRender(j);if(h.currentLabeler()!==i&&i!==undefined){h.currentLabeler().elems(i.elems());i.elems([])}};b.respondsTo("renderGrid",function(i,k,l){var j=k.text(100,100,"foo");g(this,j);if(this.hasDataMin()&&this.hasDataMax()){if(this.grid().visible()){if(this.labelers().size()>0&&this.currentLabelDensity()<=1.5){this.currentLabeler().prepare(this.dataMin(),this.dataMax());var h=k.path(e(this,i)).attr({"stroke-width":1,stroke:this.grid().color().getHexString("#")});this.gridElem(h);l.push(h)}}}j.remove()});b.respondsTo("redrawGrid",function(h,j){var i=j.text(100,100,"foo");g(this,i);if(this.hasDataMin()&&this.hasDataMax()){if(this.grid().visible()){if(this.labelers().size()>0&&this.currentLabelDensity()<=1.5){this.currentLabeler().prepare(this.dataMin(),this.dataMax());this.gridElem().attr("path",e(this,h))}}}i.remove()});b.respondsTo("render",function(w,l,s){var u=l.text(100,100,"foo"),h=this.currentLabeler(),k=this.tickcolor(),n="";var m=l.path(d(this)).attr("stroke",this.color().getHexString("#"));this.axisElem(m);s.push(m);if(this.hasDataMin()&&this.hasDataMax()){if(h){var t,r;h.prepare(this.dataMin(),this.dataMax());if(h.elems().length>0){var p,o;for(p=0,o=h.elems().length;p0){var o=j.rect(l/2,l/2,r+(2*p)+l,n+(2*p)+l).transform(g).attr({stroke:this.bordercolor().toRGBA(),"stroke-width":l});this.borderElem(o);q.push(o)}var e=j.rect(l,l,r+(2*p),n+(2*p)).transform(g).attr({stroke:"none",fill:this.color().toRGBA(this.opacity())});this.backgroundElem(e);q.push(e);var k=j.text(l+p+r/2,l+p+n/2,s.string()).transform(g).attr({"font-size":this.fontSize()});this.textElem(k);q.push(k);return this});c.respondsTo("redraw",function(){var j=b(this),h=this.previousBase();if(j.x()===h.x()&&j.y()===h.y()){return this}var k=this.textElem(),g=j.x()-h.x(),f=j.y()-h.y(),e=k.attr("x"),l=k.attr("y"),i="...t"+g+" "+f;k.attr({x:e+g,y:l-f});if(this.borderElem()){this.borderElem().transform(i)}this.backgroundElem().transform(i);this.previousBase(j);return this})})});window.multigraph.util.namespace("window.multigraph.graphics.raphael",function(a){a.mixin.add(function(b){b.Icon.respondsTo("renderBorder",function(d,c,f,e){d.set.push(d.paper.rect(c,f,this.width(),this.height()).attr({stroke:"rgba(0, 0, 0, 1)"}))})})});window.multigraph.util.namespace("window.multigraph.graphics.raphael",function(a){a.mixin.add(function(b){var d=b.Img;var c=function(j,p){var n=window.multigraph.math.util.interp,o=p.window(),i=p.plotarea(),f=j.base(),e=n(j.anchor().x(),-1,1,0,j.image().width),r=n(j.anchor().y(),1,-1,0,j.image().height),h=o.margin().left()+o.border(),q=o.margin().top()+o.border(),g=h+o.padding().left()+i.margin().left()+i.border(),m=q+o.padding().top()+i.margin().top()+i.border(),l,k;if(j.frame()===d.PLOT){l=g+n(f.x(),-1,1,0,p.plotBox().width());k=m+n(f.y(),1,-1,0,p.plotBox().height())}else{l=h+n(f.x(),-1,1,0,p.paddingBox().width());k=q+n(f.y(),1,-1,0,p.paddingBox().height())}return{x:l+j.position().x()-e,y:k+j.position().y()-r}};d.hasA("image").defaultsTo(function(){return new Image()});d.hasA("fetched").defaultsTo(false);d.hasAn("elem");d.respondsTo("render",function(l,f,k,e,m){var h=this.image(),j=this;if(this.fetched()){var i=c(this,l),g=f.image(this.src(),i.x,i.y,h.width,h.height);this.elem(g);k.push(g)}else{h.onload=function(){j.fetched(true);l.render(f,e,m)};h.src=this.src()}});d.respondsTo("redraw",function(f){if(this.fetched()){var e=c(this,f);this.elem().attr({x:e.x,y:e.y})}})})});window.multigraph.util.namespace("window.multigraph.graphics.raphael",function(a){a.mixin.add(function(d){var b=d.Labeler;b.hasAn("elems").defaultsTo(function(){return[]});var f=function(i,h,g,j){return"t"+i.x()+","+i.y()+"s1,-1t"+g.x()+","+(-g.y())+"r"+(-j)+"t"+(-h.x())+","+h.y()};var c=function(h,j){var g=h.dataValueToAxisValue(j),i=h.perpOffset();if(h.orientation()===d.Axis.HORIZONTAL){return{x:function(){return g},y:function(){return i}}}else{return{x:function(){return i},y:function(){return g}}}};var e=function(o,p,h,l,m,j,k){var n=new window.multigraph.math.Point(0.5*o.origWidth()*l.x(),0.5*o.origHeight()*l.y()),g=f(h,n,m,j);var i=p.paper.text(0,0,o.string()).transform(g).attr("fill",k.getHexString("#"));p.set.push(i);return i};b.respondsTo("measureStringWidth",function(h,g){if(window.Raphael.svg){return(new d.Text(g)).initializeGeometry({elem:h,angle:this.angle()}).rotatedWidth()}else{h.attr("text",g);return h.W}});b.respondsTo("measureStringHeight",function(h,g){if(window.Raphael.svg){return(new d.Text(g)).initializeGeometry({elem:h,angle:this.angle()}).rotatedHeight()}else{h.attr("text",g);return h.H}});b.respondsTo("renderLabel",function(g,i){var h=new d.Text(this.formatter().format(i)),j=c(this.axis(),i);h.initializeGeometry({elem:g.textElem,angle:this.angle()});this.elems().push({elem:e(h,g,j,this.anchor(),this.position(),this.angle(),this.color()),base:j})});b.respondsTo("redraw",function(h,t,k){var l=this.axis(),E=this.elems(),G=[],w=[],B,F,r,z,A,v;var g,D,C,q,o;for(A=0;A0){B=E.pop().elem;B.transform("").attr({text:g.string(),x:0,y:0})}else{B=t.text(0,0,g.string()).attr("fill",this.color().getHexString("#"))}g.initializeGeometry({elem:B,angle:this.angle()});var s=0.5*g.origWidth()*this.anchor().x(),p=0.5*g.origHeight()*this.anchor().y(),n={x:function(){return s},y:function(){return p}},u=f(F,n,this.position(),this.angle());B.transform(h.transformString()+u);G.push({elem:B,base:F})}var m=E.length;for(A=0;A=e.size()){break}for(i=0;i=e.size()){break}e.at(h).renderer().redrawLegendIcon();h++}}return this})})});window.multigraph.util.namespace("window.multigraph.graphics.raphael",function(b){var d=window.multigraph.jQuery;b.mixin.add(function(e){var f=e.Multigraph;f.hasA("paper");f.hasA("$div");f.hasA("width").isA("number");f.hasA("height").isA("number");f.hasA("baseX").isA("number");f.hasA("baseY").isA("number");f.hasA("mouseLastX").isA("number");f.hasA("mouseLastY").isA("number");e.Multigraph.respondsTo("redraw",function(){var g=this;window.requestAnimationFrame(function(){var m=g.paper().text(-8000,-8000,"foo"),h=g.graphs(),l,k;for(l=0;l
    • ').appendTo(this.$div()).busy_spinner());this.render()});e.Multigraph.respondsTo("render",function(){this.paper().clear();var h=this.paper().text(-8000,-8000,"foo"),g;this.initializeGeometry(this.width(),this.height(),{elem:h});for(g=0;g0){e["fill-opacity"]=0;e["stroke-opacity"]=1;e.stroke=this.bordercolor().getHexString("#");e["stroke-width"]=d}else{e.stroke="none"}h=g.rect(f.x0()-d/2,f.y0()-d/2,f.plotBox().width()+d,f.plotBox().height()+d).attr(e);h.insertAfter(i);this.elem(h);i.push(h)});b.respondsTo("redraw",function(h){var e=this.border(),d=h.plotBox(),f=d.width()+e,i=d.height()+e,g=this.elem();if(g.attr("width")!==f){g.attr("width",f)}if(g.attr("height")!==i){g.attr("height",i)}})})});window.multigraph.util.namespace("window.multigraph.graphics.raphael",function(a){a.mixin.add(function(c){var d=c.BandRenderer;d.hasA("fillElem");d.hasA("line1Elem");d.hasA("line2Elem");d.hasA("state");d.respondsTo("begin",function(f){var g={paper:f.paper,set:f.set,run:[],fillPath:"",line1Path:"",line2Path:"",linecolor:this.getOptionValue("linecolor"),line1color:this.getOptionValue("line1color"),line2color:this.getOptionValue("line2color"),linewidth:this.getOptionValue("linewidth"),line1width:this.getOptionValue("line1width"),line2width:this.getOptionValue("line2width"),fillcolor:this.getOptionValue("fillcolor"),fillopacity:this.getOptionValue("fillopacity")};this.state(g)});d.respondsTo("beginRedraw",function(){var f=this.state();f.run=[];f.fillPath="";f.line1Path="";f.line2Path=""});d.respondsTo("dataPoint",function(f){var g=this.state();if(this.isMissing(f)){if(g.run.length>0){b(g);g.run=[]}}else{g.run.push(this.transformPoint(f))}});d.respondsTo("end",function(){var k=this.state(),l=k.paper,m=k.set,i,h;if(k.run.length>0){b(k)}var g=l.path(k.fillPath).attr({fill:k.fillcolor.toRGBA(k.fillopacity),stroke:"none"});this.fillElem(g);m.push(g);i=(k.line1width>=0)?k.line1width:k.linewidth;if(k.line1Path!==""&&i>0){h=(k.line1color!==null)?k.line1color:k.linecolor;var f=l.path(k.line1Path).attr({"stroke-width":i,stroke:h.getHexString("#")});this.line1Elem(f);m.push(f)}i=(k.line2width>=0)?k.line2width:k.linewidth;if(k.line2Path!==""&&i>0){h=(k.line2color!==null)?k.line2color:k.linecolor;var j=l.path(k.line2Path).attr({"stroke-width":i,stroke:h.getHexString("#")});this.line2Elem(j);m.push(j)}});d.respondsTo("endRedraw",function(){var g=this.state(),f;if(g.run.length>0){b(g)}this.fillElem().attr("path",g.fillPath);if(this.line1Elem()){this.line1Elem().attr("path",g.line1Path)}if(this.line2Elem()){this.line2Elem().attr("path",g.line2Path)}});var e=function(j,h,k,g,l){var f;g=(g>=0)?g:l;if(g>0){j=j+"M"+h[0][0]+","+h[0][k];for(f=1;f=0;--h){g=g+"L"+k[h][0]+","+k[h][2]}g=g+"Z";f=e(f,k,1,j.line1width,j.linewidth);l=e(l,k,2,j.line2width,j.linewidth);j.fillPath=g;j.line1Path=f;j.line2Path=l};d.respondsTo("renderLegendIcon",function(p,m,k,l){var f=this.state(),g=p.paper,o=p.set,h=l.width(),j=l.height(),n,i,q,r="M"+0+","+(2*j/8)+"L"+0+","+(6*j/8)+"L"+h+","+(7*j/8)+"L"+h+","+(3*j/8)+"L"+0+","+(2*j/8);if(h<10||j<10){n=f.fillcolor.toRGBA()}else{n="#FFFFFF"}o.push(g.rect(m,k,h,j).attr({fill:n,stroke:n}));i=(f.line2width>=0)?f.line2width:f.linewidth;q=(f.line2color!==null)?f.line2color:f.linecolor;o.push(g.path(r).attr({"stroke-width":i,stroke:q.toRGBA(),fill:f.fillcolor.toRGBA(f.fillopacity)}).transform("t"+m+","+k))});d.respondsTo("redrawLegendIcon",function(){})})});window.multigraph.util.namespace("window.multigraph.graphics.raphael",function(a){a.mixin.add(function(b){var d=b.BarRenderer;d.hasMany("barElems");d.hasAn("outlineElem");d.hasAn("iconGraphicElem");d.hasA("settings");d.respondsTo("begin",function(f){var h={paper:f.paper,set:f.set,paths:{},barwidth:this.getOptionValue("barwidth"),baroffset:this.getOptionValue("baroffset"),barbase:this.getOptionValue("barbase"),fillcolor:this.getOptionValue("fillcolor"),linecolor:this.getOptionValue("linecolor"),hidelines:this.getOptionValue("hidelines"),barGroups:[],currentBarGroup:null,prevCorner:null,pixelEdgeTolerance:1};h.barpixelwidth=h.barwidth.getRealValue()*this.plot().horizontalaxis().axisToDataRatio();h.barpixelbase=(h.barbase!==null)?this.plot().verticalaxis().dataValueToAxisValue(h.barbase):0;var g;for(g=0;gj.hidelines){if(j.prevCorner===null){j.currentBarGroup=[[i,k[1]]]}else{if(Math.abs(i-j.prevCorner[0])<=j.pixelEdgeTolerance){j.currentBarGroup.push([i,k[1]])}else{j.currentBarGroup.push(j.prevCorner);j.barGroups.push(j.currentBarGroup);j.currentBarGroup=[[i,k[1]]]}}j.prevCorner=[f,k[1]]}});var c=function(l){var f="",k=l.barpixelbase,m,h,g,o;for(h=0;h20||n>20){g=l/6}else{if(l>10||n>10){g=l/4}else{g=l/4}}if(l>20&&n>20){t=t+e(q+(l/4)-(g/2),o,g,n/2)+e(q+l-(l/4)-(g/2),o,g,n/3)}t=t+e(q+(l/2)-(g/2),o,g,n-(n/4));var f=h.path(t).attr(m);this.iconGraphicElem(f);r.push(f)});d.respondsTo("redrawLegendIcon",function(){var f=this.settings(),g;if(f.barpixelwidth0){h=h+"M"+g[0]+","+g[1]}}else{e=e+"L"+g[0]+","+g[1];if(f.linewidth>0){h=h+"L"+g[0]+","+g[1]}}f.fillpath=e;f.path=h;f.previouspoint=g});b.respondsTo("end",function(){var e=this.settings(),g=e.paper,h=e.set;if(e.previouspoint!==null){e.fillpath=e.fillpath+"L"+e.previouspoint[0]+","+e.fillpixelbase}var d=g.path(e.fillpath).attr({fill:e.fillcolor.toRGBA(e.fillopacity),stroke:"none"});this.fillElem(d);h.push(d);if(e.linewidth>0){var f=g.path(e.path).attr({stroke:e.linecolor.getHexString("#"),"stroke-width":e.linewidth});this.lineElem(f);h.push(f)}});b.respondsTo("endRedraw",function(){var d=this.settings();if(d.previouspoint!==null){d.fillpath=d.fillpath+"L"+d.previouspoint[0]+","+d.fillpixelbase}this.fillElem().attr("path",d.fillpath);if(this.lineElem()){this.lineElem().attr("path",d.path)}});b.respondsTo("renderLegendIcon",function(m,k,i,j){var f=this.settings(),e=m.paper,l=m.set,g=j.width(),h=j.height(),d={},n="M0,0";d.stroke="rgba(255, 255, 255, 1)";if(g<10||h<10){d.fill=f.fillcolor.toRGBA(f.fillopacity)}else{d.fill="rgba(255, 255, 255, 1)"}l.push(e.rect(k,i,g,h).attr(d));if(g>10||h>10){if(g>20||h>20){n=n+"L"+(g/6)+","+(h/2)+"L"+(g/3)+","+(h/4)}n=n+"L"+(g/2)+","+(h-h/4);if(g>20||h>20){n=n+"L"+(g-g/3)+","+(h/4)+"L"+(g-g/6)+","+(h/2)}}n=n+"L"+g+",0";l.push(e.path(n).attr({stroke:f.linecolor.toRGBA(f.fillopacity),"stroke-width":f.linewidth,fill:f.fillcolor.toRGBA(f.fillopacity)}).transform("t"+k+","+i))});b.respondsTo("redrawLegendIcon",function(){})})});window.multigraph.util.namespace("window.multigraph.graphics.raphael",function(a){a.mixin.add(function(d){var c=d.PointlineRenderer;c.hasA("lineElem");c.hasA("pointsElem");c.hasA("settings");c.respondsTo("begin",function(g){var h={paper:g.paper,set:g.set,path:"",points:[],first:true,pointshape:this.getOptionValue("pointshape"),pointcolor:this.getOptionValue("pointcolor"),pointopacity:this.getOptionValue("pointopacity"),pointsize:this.getOptionValue("pointsize"),pointoutlinewidth:this.getOptionValue("pointoutlinewidth"),pointoutlinecolor:this.getOptionValue("pointoutlinecolor"),linecolor:this.getOptionValue("linecolor"),linewidth:this.getOptionValue("linewidth")};if(this.type()===d.Renderer.LINE){h.pointsize=0}if(this.type()===d.Renderer.POINT){h.linewidth=0}this.settings(h)});c.respondsTo("beginRedraw",function(){var g=this.settings();g.path="";g.points=[];g.first=true});c.respondsTo("dataPoint",function(g){var h=this.settings();if(this.isMissing(g)){h.first=true;return}var i=this.transformPoint(g);if(h.linewidth>0){if(h.first){h.path=h.path+"M"+i[0]+","+i[1];h.first=false}else{h.path=h.path+"L"+i[0]+","+i[1]}}if(h.pointsize>0){h.points.push(i)}});c.respondsTo("end",function(){var g=this.settings(),j=g.paper,k=g.set;if(g.linewidth>0){var i=j.path(g.path).attr({stroke:g.linecolor.getHexString("#"),"stroke-width":g.linewidth});this.lineElem(i);k.push(i)}if(g.pointsize>0){var h=j.path(f(g)).attr(b(g));this.pointsElem(h);k.push(h)}});c.respondsTo("endRedraw",function(){var g=this.settings();if(this.lineElem()){this.lineElem().attr("path",g.path)}if(this.pointsElem()){this.pointsElem().attr("path",f(g))}});var f=function(l){var k=l.points,m=l.pointshape,g=l.pointsize,h="",j;for(j=0;j0){var p="M"+m+","+(k+j/2)+"L"+(m+i)+","+(k+j/2);n.push(g.path(p).attr({stroke:h.linecolor.toRGBA(),"stroke-width":h.linewidth}))}if(h.pointsize>0){n.push(g.path(e(h.pointshape,h.pointsize,[(m+i/2),(k+j/2)])).attr(b(h)))}});c.respondsTo("redrawLegendIcon",function(){})})});window.multigraph.util.namespace("window.multigraph.graphics.raphael",function(a){a.mixin.add(function(c){var b=c.RangeBarRenderer;b.hasAn("elem");b.hasAn("iconGraphicElem");b.hasA("state");b.respondsTo("begin",function(e){var f={paper:e.paper,set:e.set,path:"",barwidth:this.getOptionValue("barwidth"),baroffset:this.getOptionValue("baroffset"),fillcolor:this.getOptionValue("fillcolor"),fillopacity:this.getOptionValue("fillopacity"),linecolor:this.getOptionValue("linecolor"),linewidth:this.getOptionValue("linewidth"),hidelines:this.getOptionValue("hidelines")};f.barpixelwidth=f.barwidth.getRealValue()*this.plot().horizontalaxis().axisToDataRatio();f.barpixeloffset=f.barpixelwidth*f.baroffset;this.state(f)});b.respondsTo("beginRedraw",function(){var e=this.state();e.path="";e.barpixelwidth=e.barwidth.getRealValue()*this.plot().horizontalaxis().axisToDataRatio();e.barpixeloffset=e.barpixelwidth*e.baroffset});b.respondsTo("dataPoint",function(f){if(this.isMissing(f)){return}var h=this.state(),i=this.transformPoint(f),g=i[0]-h.barpixeloffset,e=g+h.barpixelwidth;h.path=h.path+"M"+g+","+i[1]+"L"+g+","+i[2]+"L"+e+","+i[2]+"L"+e+","+i[1]+"Z"});b.respondsTo("end",function(){var f=this.state(),g=f.path,h={"fill-opacity":f.fillopacity,fill:f.fillcolor.getHexString("#"),stroke:"none"};if(f.linewidth>0&&f.barpixelwidth>f.hidelines){h.stroke=f.linecolor.getHexString("#");h["stroke-width"]=f.linewidth}var e=f.paper.path(g).attr(h);this.elem(e);f.set.push(e)});b.respondsTo("endRedraw",function(){var e=this.state(),f={path:e.path};if(e.linewidth>0&&e.barpixelwidth>e.hidelines){f.stroke=e.linecolor.getHexString("#");f["stroke-width"]=e.linewidth}else{f.stroke="none";f["stroke-width"]=1}this.elem().attr(f)});var d=function(f,h,g,e){return"M"+f+","+h+"L"+f+","+(h+e)+"L"+(f+g)+","+(h+e)+"L"+(f+g)+","+h+"Z"};b.respondsTo("renderLegendIcon",function(p,m,k,l){var f=this.state(),h=p.paper,n=p.set,i=l.width(),j=l.height(),q="";n.push(h.rect(m,k,i,j).attr({stroke:"#FFFFFF",fill:"#FFFFFF"}));var o={fill:f.fillcolor.toRGBA(f.fillopacity),"stroke-width":f.linewidth};if(f.barpixelwidth<10){o.stroke=f.fillcolor.toRGBA(f.fillopacity)}else{o.stroke=f.linecolor.getHexString("#")}var g;if(i>20||j>20){g=i/6}else{if(i>10||j>10){g=i/4}else{g=i/4}}if(i>20&&j>20){q=q+d(m+i/4-g/2,k+j/8,g,j/2)+d(m+i-i/4-g/2,k+j/4,g,j/3)}q=q+d(m+i/2-g/2,k,g,j-j/4);var e=h.path(q).attr(o);this.iconGraphicElem(e);n.push(e);return this});b.respondsTo("redrawLegendIcon",function(){var e=this.state(),f;if(e.barpixelwidth<10){f=e.fillcolor.toRGBA(e.fillopacity)}else{f=e.linecolor.getHexString("#")}this.iconGraphicElem().attr("stroke",f)})})});window.multigraph.util.namespace("window.multigraph.graphics.raphael",function(a){a.mixin.add(function(b){var c=b.Text;c.respondsTo("initializeGeometry",function(p){var f=p.elem,n,q,o,k,h,e,r,m;if(p.fontSize!==undefined){e=f.attr("font-size");f.attr("font-size",p.fontSize)}m=f.attr("text");f.attr("text",this.string());r=f.transform();f.transform("");h=f.getBBox();n=h.width;q=h.height;if(p.angle!==undefined){var g=p.angle/180*Math.PI,d=Math.abs(Math.sin(g)),l=Math.abs(Math.cos(g));o=l*n+d*q;k=d*n+l*q}else{o=n;k=q}if(p.fontSize!==undefined){f.attr("font-size",e)}f.attr("text",m);var j;for(j=0;j0&&this.currentLabelDensity()<=1.5){var h=this.currentLabeler(),g=this.perpOffset(),e=i.plotBox();h.prepare(this.dataMin(),this.dataMax());f.beginPath();while(h.hasNext()){var d=h.next(),c=this.dataValueToAxisValue(d);if(this.orientation()===b.Axis.HORIZONTAL){f.moveTo(c,g);f.lineTo(c,e.height()-g)}else{f.moveTo(g,c);f.lineTo(e.width()-g,c)}}f.strokeStyle=this.grid().color().getHexString("#");f.stroke()}}}});b.Axis.respondsTo("render",function(n,f){var g=this.parallelOffset(),i=this.perpOffset(),j=this.pixelLength(),e=this.currentLabeler(),k=(this.orientation()===b.Axis.HORIZONTAL);f.beginPath();if(k){f.moveTo(g,i);f.lineTo(g+j,i)}else{f.moveTo(i,g);f.lineTo(i,g+j)}f.strokeStyle=this.color().getHexString("#");f.stroke();if(this.hasDataMin()&&this.hasDataMax()){if(e){var c=this.tickmin(),h=this.tickmax(),d=this.tickcolor();f.beginPath();f.fillStyle="#000000";e.prepare(this.dataMin(),this.dataMax());while(e.hasNext()){var m=e.next(),l=this.dataValueToAxisValue(m);if(d!==undefined&&d!==null){f.strokeStyle=d.getHexString("#")}if(k){f.moveTo(l,i+h);f.lineTo(l,i+c)}else{f.moveTo(i+c,l);f.lineTo(i+h,l)}if(d!==undefined&&d!==null){f.restore()}e.renderLabel(f,m)}f.stroke()}}if(this.title()){this.title().render(f)}})})});window.multigraph.util.namespace("window.multigraph.graphics.canvas",function(a){a.mixin.add(function(b){b.AxisTitle.respondsTo("render",function(d){var f=this.axis(),e=this.content().origHeight(),c=this.content().origWidth(),j=0.5*c*(this.anchor().x()+1),g=0.5*e*(this.anchor().y()+1),k=(this.base()+1)*(f.pixelLength()/2)+f.minoffset()+f.parallelOffset(),i;if(this.axis().orientation()===b.Axis.HORIZONTAL){i=new window.multigraph.math.Point(k,f.perpOffset())}else{i=new window.multigraph.math.Point(f.perpOffset(),k)}d.save();d.fillStyle="rgba(0, 0, 0, 1)";d.transform(1,0,0,-1,0,2*i.y());d.transform(1,0,0,1,i.x(),i.y());d.transform(1,0,0,1,this.position().x(),-this.position().y());d.rotate(-this.angle()*Math.PI/180);d.transform(1,0,0,1,-j,g);d.fillText(this.content().string(),0,0);d.restore()})})});window.multigraph.util.namespace("window.multigraph.graphics.canvas",function(a){a.mixin.add(function(b){b.Background.respondsTo("render",function(g,e,f,c){var h=g.window().margin().left()+g.window().border(),d=this.img();e.save();e.fillStyle=this.color().getHexString("#");e.fillRect(h,h,f-2*h,c-2*h);e.restore();if(d&&d.src()!==undefined){d.render(g,e,f,c)}})})});window.multigraph.util.namespace("window.multigraph.graphics.canvas",function(a){a.mixin.add(function(c){var b=c.Graph;b.respondsTo("render",function(f,g,d){var e;this.window().render(f,g,d);this.background().render(this,f,g,d);f.transform(1,0,0,1,this.x0(),this.y0());this.plotarea().render(this,f);for(e=0;e0){e.save();e.transform(1,0,0,-1,0,0);e.strokeStyle=this.bordercolor().toRGBA();e.lineWidth=f;e.strokeRect(f/2,f/2,l+(2*k)+f,g+(2*k)+f);e.restore()}e.save();e.transform(1,0,0,-1,0,0);e.strokeStyle=m;e.fillStyle=m;e.fillRect(f,f,l+(2*k),g+(2*k));e.restore();e.font=this.fontSize()+" sans-serif";e.fillText(n.string(),f+k,-(f+k));e.restore()})})});window.multigraph.util.namespace("window.multigraph.graphics.canvas",function(a){a.mixin.add(function(b){b.Icon.respondsTo("renderBorder",function(d,c,e){d.save();d.strokeStyle="rgba(0, 0, 0, 1)";d.strokeRect(c,e,this.width(),this.height());d.restore()})})});window.multigraph.util.namespace("window.multigraph.graphics.canvas",function(a){a.mixin.add(function(b){var c=window.multigraph.core.Img;c.hasA("image").defaultsTo(function(){return new Image()});c.hasA("fetched").defaultsTo(false);c.respondsTo("render",function(d,e,r,o){if(this.fetched()){var h=window.multigraph.math.util.interp,p=this.image(),f=d.window(),w=d.plotarea(),g=this.base(),m=h(this.anchor().x(),-1,1,0,p.width),l=h(this.anchor().y(),1,-1,0,p.height),v=f.margin().left()+f.border(),u=f.margin().top()+f.border(),n=v+f.padding().left()+w.margin().left()+w.border(),q=u+f.padding().top()+w.margin().top()+w.border(),t,s,k,j;if(this.frame()===c.PLOT){t=n+h(g.x(),-1,1,0,d.plotBox().width());s=q+h(g.y(),1,-1,0,d.plotBox().height())}else{t=v+h(g.x(),-1,1,0,d.paddingBox().width());s=u+h(g.y(),1,-1,0,d.paddingBox().height())}k=t+this.position().x()-m;j=s+this.position().y()-l;e.save();e.transform(1,0,0,-1,0,o);e.drawImage(p,k,j,p.width,p.height);e.restore()}else{var i=this;this.image().onload=function(){i.fetched(true);e.save();e.setTransform(1,0,0,-1,0,o);d.render(e,r,o);e.restore()};this.image().src=this.src()}})})});window.multigraph.util.namespace("window.multigraph.graphics.canvas",function(a){a.mixin.add(function(c){var b=c.Labeler;var d=function(o,g,f,k,m,i,j){var l=o.origHeight(),n=o.origWidth(),e=0.5*n*(k.x()+1),p=0.5*l*(k.y()+1);g.save();g.fillStyle=j.getHexString("#");g.transform(1,0,0,-1,0,2*f.y());g.transform(1,0,0,1,f.x(),f.y());g.transform(1,0,0,1,m.x(),-m.y());g.rotate(-i*Math.PI/180);g.transform(1,0,0,1,-e,p);g.fillText(o.string(),0,0);g.restore()};b.respondsTo("measureStringWidth",function(f,e){return(new c.Text(e)).initializeGeometry({context:f,angle:this.angle()}).rotatedWidth()});b.respondsTo("measureStringHeight",function(f,e){return(new c.Text(e)).initializeGeometry({context:f,angle:this.angle()}).rotatedHeight()});b.respondsTo("renderLabel",function(f,k){var i=window.multigraph.math.Point,g=this.axis(),h=new c.Text(this.formatter().format(k)),e=g.dataValueToAxisValue(k),j;h.initializeGeometry({context:f,angle:this.angle()});if(g.orientation()===c.Axis.HORIZONTAL){j=new i(e,g.perpOffset())}else{j=new i(g.perpOffset(),e)}d(h,f,j,this.anchor(),this.position(),this.angle(),this.color())})})});window.multigraph.util.namespace("window.multigraph.graphics.canvas",function(a){a.mixin.add(function(c){var b=c.Legend;b.respondsTo("begin",function(d){d.save();d.transform(1,0,0,1,this.x(),this.y())});b.respondsTo("end",function(d){d.restore()});b.respondsTo("renderLegend",function(e){var d=this.border();e.save();if(d>0){e.strokeStyle=this.bordercolor().toRGBA();e.strokeRect(d/2,d/2,this.width()-d/2,this.height()-d/2)}e.fillStyle=this.color().toRGBA(this.opacity());e.fillRect(d,d,this.width()-(2*d),this.height()-(2*d));e.restore()});b.respondsTo("renderLabel",function(e,f,d,g){f.save();f.fillStyle="rgba(0, 0, 0, 1)";f.transform(1,0,0,-1,0,g+this.maxLabelHeight()/2-e.origHeight()/2);f.fillText(e.string(),d,0);f.restore()})})});window.multigraph.util.namespace("window.multigraph.graphics.canvas",function(b){var d=window.multigraph.jQuery;b.mixin.add(function(e){var f=e.Multigraph;f.hasA("canvas");f.hasA("context");f.hasA("width").isA("number");f.hasA("height").isA("number");f.respondsTo("redraw",function(){var g=this;window.requestAnimationFrame(function(){g.render()})});f.respondsTo("init",function(){var g=d(this.div());this.width(g.width());this.height(g.height());if(this.width()>0&&this.height()>0){d('').appendTo(g);this.initializeSurface();this.busySpinner(d('
      ').appendTo(g).busy_spinner())}this.render()});f.respondsTo("render",function(){var j=this.context(),k=this.width(),g=this.height(),h;j.setTransform(1,0,0,1,0,0);j.transform(1,0,0,-1,0,g);j.clearRect(0,0,k,g);this.initializeGeometry(k,g,{context:j});for(h=0;h0){e.save();e.lineWidth=d;e.strokeStyle=this.bordercolor().getHexString("#");e.strokeRect(-d/2,-d/2,c.width()+d,c.height()+d);e.restore()}})})});window.multigraph.util.namespace("window.multigraph.graphics.canvas",function(a){a.mixin.add(function(b){var c=b.BandRenderer;c.hasA("state");c.respondsTo("begin",function(e){var f={context:e,run:[],linecolor:this.getOptionValue("linecolor"),line1color:this.getOptionValue("line1color"),line2color:this.getOptionValue("line2color"),linewidth:this.getOptionValue("linewidth"),line1width:this.getOptionValue("line1width"),line2width:this.getOptionValue("line2width"),fillcolor:this.getOptionValue("fillcolor"),fillopacity:this.getOptionValue("fillopacity")};this.state(f)});c.respondsTo("dataPoint",function(e){var f=this.state();if(this.isMissing(e)){if(f.run.length>0){this.renderRun();f.run=[]}}else{var g=this.transformPoint(e);f.run.push(g)}});c.respondsTo("end",function(){var e=this.state();if(e.run.length>0){this.renderRun()}});var d=function(g,k,l,e,j,h,m){var f;h=(h>=0)?h:m;if(h>0){e=(e!==null)?e:j;g.save();g.strokeStyle=e.getHexString("#");g.lineWidth=h;g.beginPath();g.moveTo(k[0][0],k[0][l]);for(f=1;f=0;--e){f.lineTo(h[e][0],h[e][2])}f.fill();f.restore();d(f,h,1,g.line1color,g.linecolor,g.line1width,g.linewidth);d(f,h,2,g.line2color,g.linecolor,g.line2width,g.linewidth)});c.respondsTo("renderLegendIcon",function(f,e,k,g){var h=this.state(),i=g.width(),j=g.height();f.save();f.transform(1,0,0,1,e,k);f.save();if(i<10||j<10){f.fillStyle=h.fillcolor.toRGBA()}else{f.fillStyle="#FFFFFF"}f.fillRect(0,0,i,j);f.restore();f.strokeStyle=(h.line2color!==null)?h.line2color:h.linecolor;f.lineWidth=(h.line2width>=0)?h.line2width:h.linewidth;f.fillStyle=h.fillcolor.toRGBA(h.fillopacity);f.beginPath();f.moveTo(0,2*j/8);f.lineTo(0,6*j/8);f.lineTo(i,7*j/8);f.lineTo(i,3*j/8);f.lineTo(0,2*j/8);f.fill();f.stroke();f.restore()})})});window.multigraph.util.namespace("window.multigraph.graphics.canvas",function(a){a.mixin.add(function(b){var c=b.BarRenderer;c.hasA("settings");c.respondsTo("begin",function(d){var e={context:d,barpixelwidth:this.getOptionValue("barwidth").getRealValue()*this.plot().horizontalaxis().axisToDataRatio(),baroffset:this.getOptionValue("baroffset"),barpixelbase:(this.getOptionValue("barbase")!==null)?this.plot().verticalaxis().dataValueToAxisValue(this.getOptionValue("barbase")):0,fillcolor:this.getOptionValue("fillcolor"),linecolor:this.getOptionValue("linecolor"),hidelines:this.getOptionValue("hidelines"),barGroups:[],currentBarGroup:null,prevCorner:null,pixelEdgeTolerance:1};this.settings(e)});c.respondsTo("dataPoint",function(e){if(this.isMissing(e)){return}var h=this.settings(),g=h.context,i=this.transformPoint(e),f=i[0]+h.baroffset,d=i[0]+h.baroffset+h.barpixelwidth;g.save();g.fillStyle=this.getOptionValue("fillcolor",e[1]).getHexString("#");g.fillRect(f,h.barpixelbase,h.barpixelwidth,i[1]-h.barpixelbase);g.restore();if(h.barpixelwidth>h.hidelines){if(h.prevCorner===null){h.currentBarGroup=[[f,i[1]]]}else{if(Math.abs(f-h.prevCorner[0])<=h.pixelEdgeTolerance){h.currentBarGroup.push([f,i[1]])}else{h.currentBarGroup.push(h.prevCorner);h.barGroups.push(h.currentBarGroup);h.currentBarGroup=[[f,i[1]]]}}h.prevCorner=[d,i[1]]}});c.respondsTo("end",function(){var g=this.settings(),e=g.context,m=g.barpixelbase,q=Math.max,k=Math.min,d,o,l,h,f;if(g.prevCorner!==null&&g.currentBarGroup!==null){g.currentBarGroup.push(g.prevCorner);g.barGroups.push(g.currentBarGroup)}e.save();e.strokeStyle=g.linecolor.getHexString("#");e.beginPath();for(l=0;l20||j>20){e=h/6}else{if(h>10||j>10){e=h/4}else{e=h/4}}if(h>20&&j>20){d.fillRect((h/4)-(e/2),0,e,j/2);d.strokeRect((h/4)-(e/2),0,e,j/2);d.fillRect(h-(h/4)-(e/2),0,e,j/3);d.strokeRect(h-(h/4)-(e/2),0,e,j/3)}d.fillRect((h/2)-(e/2),0,e,j-(j/4));d.strokeRect((h/2)-(e/2),0,e,j-(j/4));d.restore()})})});window.multigraph.util.namespace("window.multigraph.graphics.canvas",function(b){var a=window.multigraph.math.util;b.mixin.add(function(d){var c=d.FillRenderer;c.hasA("state");c.respondsTo("begin",function(e){var f={context:e,run:[],previouspoint:null,linecolor:this.getOptionValue("linecolor"),linewidth:this.getOptionValue("linewidth"),fillcolor:this.getOptionValue("fillcolor"),downfillcolor:this.getOptionValue("downfillcolor"),fillopacity:this.getOptionValue("fillopacity"),fillbase:this.getOptionValue("fillbase"),currentfillcolor:null};if(f.downfillcolor===null){f.downfillcolor=f.fillcolor}if(f.fillbase!==null){f.fillpixelbase=this.plot().verticalaxis().dataValueToAxisValue(f.fillbase)}else{f.fillpixelbase=0}this.state(f);e.save();e.fillStyle=f.fillcolor.getHexString("#")});c.respondsTo("dataPoint",function(h){var j=this.state(),g=j.fillpixelbase,i,f,k;if(this.isMissing(h)){if(j.previouspoint!==null){j.run.push([j.previouspoint[0],g]);this.renderRun();j.run=[];j.previouspoint=null}return}k=this.transformPoint(h);if(k[1]>=g){i=j.fillcolor}else{i=j.downfillcolor}if(j.run.length===0){j.run.push([k[0],g])}else{if(!i.eq(j.currentfillcolor)){var e=a.safe_interp(g,j.previouspoint[1],k[1],j.previouspoint[0],k[0]);j.run.push([e,g]);j.run.push([e,g]);this.renderRun();j.run=[];j.run.push([e,g]);j.run.push([e,g])}}j.run.push(k);j.previouspoint=k;j.currentfillcolor=i});c.respondsTo("end",function(){var f=this.state(),e=f.context;if(f.run.length>0){f.run.push([f.run[f.run.length-1][0],f.fillpixelbase]);this.renderRun()}e.restore()});c.respondsTo("renderRun",function(){var g=this.state(),f=g.context,e;f.save();f.globalAlpha=g.fillopacity;f.fillStyle=g.currentfillcolor.getHexString("#");f.beginPath();f.moveTo(g.run[0][0],g.run[0][1]);for(e=1;e10||j>10){if(i>20||j>20){f.lineTo(i/6,j/2);f.lineTo(i/3,j/4)}f.lineTo(i/2,j-j/4);if(i>20||j>20){f.lineTo(i-i/3,j/4);f.lineTo(i-i/6,j/2)}}f.lineTo(i,0);f.stroke();f.fill();f.restore()})})});window.multigraph.util.namespace("window.multigraph.graphics.canvas",function(a){a.mixin.add(function(c){var b=c.PointlineRenderer;b.hasA("settings");b.respondsTo("begin",function(d){var e={context:d,points:[],first:true,pointshape:this.getOptionValue("pointshape"),pointcolor:this.getOptionValue("pointcolor"),pointopacity:this.getOptionValue("pointopacity"),pointsize:this.getOptionValue("pointsize"),pointoutlinewidth:this.getOptionValue("pointoutlinewidth"),pointoutlinecolor:this.getOptionValue("pointoutlinecolor"),linecolor:this.getOptionValue("linecolor"),linewidth:this.getOptionValue("linewidth")};if(this.type()===c.Renderer.LINE){e.pointsize=0}if(this.type()===c.Renderer.POINT){e.linewidth=0}this.settings(e);if(e.linewidth>0){d.save();d.beginPath();d.lineWidth=e.linewidth;d.strokeStyle=e.linecolor.getHexString("#")}});b.respondsTo("dataPoint",function(d){var f=this.settings(),e=f.context,g;if(this.isMissing(d)){f.first=true;return}g=this.transformPoint(d);if(f.linewidth>0){if(f.first){e.moveTo(g[0],g[1]);f.first=false}else{e.lineTo(g[0],g[1])}}if(f.pointsize>0){f.points.push(g)}});b.respondsTo("end",function(){var e=this.settings(),d=e.context;if(e.linewidth>0){d.stroke();d.restore()}if(e.pointsize>0){this.drawPoints()}});b.respondsTo("drawPoints",function(h){var g=this.settings(),e=g.context,f=g.points,j=g.pointshape,d;e.save();e.beginPath();if((j===b.PLUS)||(j===b.X)){e.strokeStyle=g.pointcolor.getHexString("#");e.lineWidth=g.pointoutlinewidth}else{e.fillStyle=g.pointcolor.toRGBA(g.pointopacity);e.strokeStyle=g.pointoutlinecolor.getHexString("#");e.lineWidth=g.pointoutlinewidth}for(d=0;d0){e.strokeStyle=f.linecolor.toRGBA();e.lineWidth=f.linewidth;e.beginPath();e.moveTo(d,k+i/2);e.lineTo(d+h,k+i/2);e.stroke()}if(f.pointsize>0){e.beginPath();if((j===b.PLUS)||(j===b.X)){e.strokeStyle=f.pointcolor.toRGBA();e.lineWidth=f.pointoutlinewidth}else{e.fillStyle=f.pointcolor.toRGBA(f.pointopacity);e.strokeStyle=f.pointoutlinecolor.toRGBA();e.lineWidth=f.pointoutlinewidth}this.drawPoint(e,f,[(d+h/2),(k+i/2)]);if(!((j===b.PLUS)||(j===b.X))){e.fill()}e.stroke()}e.restore()})})});window.multigraph.util.namespace("window.multigraph.graphics.canvas",function(a){a.mixin.add(function(c){var b=c.RangeBarRenderer;b.hasA("state");b.respondsTo("begin",function(d){var e={context:d,run:[],barpixelwidth:this.getOptionValue("barwidth").getRealValue()*this.plot().horizontalaxis().axisToDataRatio(),barpixeloffset:0,baroffset:this.getOptionValue("baroffset"),fillcolor:this.getOptionValue("fillcolor"),fillopacity:this.getOptionValue("fillopacity"),linecolor:this.getOptionValue("linecolor"),linewidth:this.getOptionValue("linewidth"),hidelines:this.getOptionValue("hidelines")};e.barpixeloffset=e.barpixelwidth*e.baroffset;this.state(e);d.save();d.beginPath()});b.respondsTo("dataPoint",function(e){if(this.isMissing(e)){return}var h=this.state(),g=h.context,i=this.transformPoint(e),f=i[0]-h.barpixeloffset,d=f+h.barpixelwidth;g.moveTo(f,i[1]);g.lineTo(f,i[2]);g.lineTo(d,i[2]);g.lineTo(d,i[1]);g.lineTo(f,i[1])});b.respondsTo("end",function(){var e=this.state(),d=e.context;d.globalAlpha=e.fillopacity;d.fillStyle=e.fillcolor.getHexString("#");d.fill();if(e.linewidth>0&&e.barpixelwidth>e.hidelines){d.strokeStyle=e.linecolor.getHexString("#");d.lineWidth=e.linewidth;d.stroke()}d.restore()});b.respondsTo("renderLegendIcon",function(e,d,k,f){var g=this.state(),h=f.width(),j=f.height(),i;e.save();e.transform(1,0,0,1,d,k);e.save();e.strokeStyle="#FFFFFF";e.fillStyle="#FFFFFF";e.fillRect(0,0,h,j);e.restore();e.fillStyle=g.fillcolor.toRGBA(g.fillopacity);e.lineWidth=g.linewidth;if(g.barpixelwidth<10){e.strokeStyle=g.fillcolor.toRGBA(g.fillopacity)}else{e.strokeStyle=g.linecolor.getHexString("#")}if(h>20||j>20){i=h/6}else{if(h>10||j>10){i=h/4}else{i=h/4}}if(h>20&&j>20){e.fillRect(h/4-i/2,j/8,i,j/2);e.strokeRect(h/4-i/2,j/8,i,j/2);e.fillRect(h-h/4-i/2,j/4,i,j/3);e.strokeRect(h-h/4-i/2,j/4,i,j/3)}e.fillRect(h/2-i/2,0,i,j-j/4);e.strokeRect(h/2-i/2,0,i,j-j/4);e.restore()})})});window.multigraph.util.namespace("window.multigraph.graphics.canvas",function(a){a.mixin.add(function(b){var c=b.Text;c.respondsTo("initializeGeometry",function(d){var i,h,g,e;d.context.save();if(d.fontSize!==undefined){d.context.font=d.fontSize+" sans-serif"}i=this.measureStringWidth(d.context);h=this.measureStringHeight(d.context);d.context.restore();if(d.angle!==undefined){var f=d.angle/180*Math.PI;g=Math.abs(Math.cos(f))*i+Math.abs(Math.sin(f))*h;e=Math.abs(Math.sin(f))*i+Math.abs(Math.cos(f))*h}else{g=i;e=h}this.origWidth(i);this.origHeight(h);this.rotatedWidth(g);this.rotatedHeight(e);return this});c.respondsTo("measureStringWidth",function(d){if(this.string()===undefined){throw new Error("measureStringWidth requires the string attr to be set.")}var e=d.measureText(this.string());return e.width});c.respondsTo("measureStringHeight",function(d){if(this.string()===undefined){throw new Error("measureStringHeight requires the string attr to be set.")}var e=d.measureText("M"),f=this.string().match(/\n/g);return(f!==null?(f.length+1):1)*e.width})})});window.multigraph.util.namespace("window.multigraph.graphics.canvas",function(a){a.mixin.add(function(b){b.Window.respondsTo("render",function(e,f,d){var c=this.margin().left();e.save();e.fillStyle=this.bordercolor().getHexString("#");e.fillRect(c,c,f-2*c,d-2*c);e.restore()})})}); var MUGLTEMPLATES = { "data-30d-prcp": '{{{values}}}', "data-drought-pdsi": '{{{values}}}', @@ -4494,8 +4473,8 @@ $(function(){ // }); // } -}).call(this,require("IrXUsu"),typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {},require("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/fake_623f45a1.js","/") -},{"./utils/muglHelper.js":6,"./utils/stringUtil.js":7,"./utils/urlUtils.js":9,"IrXUsu":5,"buffer":2}],2:[function(require,module,exports){ +}).call(this,require("v229Ge"),typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {},require("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/fake_3b40aaaa.js","/") +},{"./utils/muglHelper.js":6,"./utils/stringUtil.js":7,"./utils/urlUtils.js":9,"buffer":2,"v229Ge":5}],2:[function(require,module,exports){ (function (process,global,Buffer,__argument0,__argument1,__argument2,__argument3,__filename,__dirname){ /*! * The buffer module from node.js, for the browser. @@ -5607,8 +5586,8 @@ function assert (test, message) { if (!test) throw new Error(message || 'Failed assertion') } -}).call(this,require("IrXUsu"),typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {},require("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/browserify/node_modules/buffer/index.js","/node_modules/gulp-browserify/node_modules/browserify/node_modules/buffer") -},{"IrXUsu":5,"base64-js":3,"buffer":2,"ieee754":4}],3:[function(require,module,exports){ +}).call(this,require("v229Ge"),typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {},require("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules\\gulp-browserify\\node_modules\\browserify\\node_modules\\buffer\\index.js","/node_modules\\gulp-browserify\\node_modules\\browserify\\node_modules\\buffer") +},{"base64-js":3,"buffer":2,"ieee754":4,"v229Ge":5}],3:[function(require,module,exports){ (function (process,global,Buffer,__argument0,__argument1,__argument2,__argument3,__filename,__dirname){ var lookup = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; @@ -5731,8 +5710,8 @@ var lookup = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; exports.fromByteArray = uint8ToBase64 }(typeof exports === 'undefined' ? (this.base64js = {}) : exports)) -}).call(this,require("IrXUsu"),typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {},require("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/browserify/node_modules/buffer/node_modules/base64-js/lib/b64.js","/node_modules/gulp-browserify/node_modules/browserify/node_modules/buffer/node_modules/base64-js/lib") -},{"IrXUsu":5,"buffer":2}],4:[function(require,module,exports){ +}).call(this,require("v229Ge"),typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {},require("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules\\gulp-browserify\\node_modules\\browserify\\node_modules\\buffer\\node_modules\\base64-js\\lib\\b64.js","/node_modules\\gulp-browserify\\node_modules\\browserify\\node_modules\\buffer\\node_modules\\base64-js\\lib") +},{"buffer":2,"v229Ge":5}],4:[function(require,module,exports){ (function (process,global,Buffer,__argument0,__argument1,__argument2,__argument3,__filename,__dirname){ exports.read = function(buffer, offset, isLE, mLen, nBytes) { var e, m, @@ -5819,8 +5798,8 @@ exports.write = function(buffer, value, offset, isLE, mLen, nBytes) { buffer[offset + i - d] |= s * 128; }; -}).call(this,require("IrXUsu"),typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {},require("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/browserify/node_modules/buffer/node_modules/ieee754/index.js","/node_modules/gulp-browserify/node_modules/browserify/node_modules/buffer/node_modules/ieee754") -},{"IrXUsu":5,"buffer":2}],5:[function(require,module,exports){ +}).call(this,require("v229Ge"),typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {},require("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules\\gulp-browserify\\node_modules\\browserify\\node_modules\\buffer\\node_modules\\ieee754\\index.js","/node_modules\\gulp-browserify\\node_modules\\browserify\\node_modules\\buffer\\node_modules\\ieee754") +},{"buffer":2,"v229Ge":5}],5:[function(require,module,exports){ (function (process,global,Buffer,__argument0,__argument1,__argument2,__argument3,__filename,__dirname){ // shim for using process in browser @@ -5886,8 +5865,8 @@ process.chdir = function (dir) { throw new Error('process.chdir is not supported'); }; -}).call(this,require("IrXUsu"),typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {},require("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/browserify/node_modules/process/browser.js","/node_modules/gulp-browserify/node_modules/browserify/node_modules/process") -},{"IrXUsu":5,"buffer":2}],6:[function(require,module,exports){ +}).call(this,require("v229Ge"),typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {},require("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules\\gulp-browserify\\node_modules\\browserify\\node_modules\\process\\browser.js","/node_modules\\gulp-browserify\\node_modules\\browserify\\node_modules\\process") +},{"buffer":2,"v229Ge":5}],6:[function(require,module,exports){ (function (process,global,Buffer,__argument0,__argument1,__argument2,__argument3,__filename,__dirname){ var Transformer = require( './transformer.js' ); @@ -6054,8 +6033,8 @@ module.exports = { MuglHelper: MuglHelper } -}).call(this,require("IrXUsu"),typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {},require("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/utils/muglHelper.js","/utils") -},{"./transformer.js":8,"IrXUsu":5,"buffer":2}],7:[function(require,module,exports){ +}).call(this,require("v229Ge"),typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {},require("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/utils\\muglHelper.js","/utils") +},{"./transformer.js":8,"buffer":2,"v229Ge":5}],7:[function(require,module,exports){ (function (process,global,Buffer,__argument0,__argument1,__argument2,__argument3,__filename,__dirname){ var ID_DELIMITER = '-'; @@ -6086,8 +6065,8 @@ String.prototype.toCapitalCase = function( allCapsWordLength ) { module.exports = sanitizeString; -}).call(this,require("IrXUsu"),typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {},require("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/utils/stringUtil.js","/utils") -},{"IrXUsu":5,"buffer":2}],8:[function(require,module,exports){ +}).call(this,require("v229Ge"),typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {},require("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/utils\\stringUtil.js","/utils") +},{"buffer":2,"v229Ge":5}],8:[function(require,module,exports){ (function (process,global,Buffer,__argument0,__argument1,__argument2,__argument3,__filename,__dirname){ /** * Transformer contains a number of data transformation utility classes @@ -6197,8 +6176,8 @@ Transformer.transformations = { module.exports = Transformer; -}).call(this,require("IrXUsu"),typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {},require("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/utils/transformer.js","/utils") -},{"IrXUsu":5,"buffer":2}],9:[function(require,module,exports){ +}).call(this,require("v229Ge"),typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {},require("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/utils\\transformer.js","/utils") +},{"buffer":2,"v229Ge":5}],9:[function(require,module,exports){ (function (process,global,Buffer,__argument0,__argument1,__argument2,__argument3,__filename,__dirname){ // // URL utility object @@ -6274,5 +6253,5 @@ function URL(options) { } module.exports = URL; -}).call(this,require("IrXUsu"),typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {},require("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/utils/urlUtils.js","/utils") -},{"IrXUsu":5,"buffer":2}]},{},[1]) \ No newline at end of file +}).call(this,require("v229Ge"),typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {},require("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/utils\\urlUtils.js","/utils") +},{"buffer":2,"v229Ge":5}]},{},[1]) \ No newline at end of file diff --git a/html/build/asset/app.css b/html/build/asset/app.css index e4b7eec0..1c8ce8d9 100755 --- a/html/build/asset/app.css +++ b/html/build/asset/app.css @@ -6,5 +6,4 @@ * Includes: jquery.ui.core.css, jquery.ui.slider.css, jquery.ui.theme.css * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Verdana%2CArial%2Csans-serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=cccccc&bgTextureHeader=highlight_soft&bgImgOpacityHeader=75&borderColorHeader=aaaaaa&fcHeader=222222&iconColorHeader=222222&bgColorContent=ffffff&bgTextureContent=flat&bgImgOpacityContent=75&borderColorContent=aaaaaa&fcContent=222222&iconColorContent=222222&bgColorDefault=e6e6e6&bgTextureDefault=glass&bgImgOpacityDefault=75&borderColorDefault=d3d3d3&fcDefault=555555&iconColorDefault=888888&bgColorHover=dadada&bgTextureHover=glass&bgImgOpacityHover=75&borderColorHover=999999&fcHover=212121&iconColorHover=454545&bgColorActive=ffffff&bgTextureActive=glass&bgImgOpacityActive=65&borderColorActive=aaaaaa&fcActive=212121&iconColorActive=454545&bgColorHighlight=fbf9ee&bgTextureHighlight=glass&bgImgOpacityHighlight=55&borderColorHighlight=fcefa1&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=glass&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=flat&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=flat&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px * Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:after,.ui-helper-clearfix:before{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-clearfix{min-height:0}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-slider{position:relative;text-align:left}.ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1.2em;height:1.2em;cursor:default}.ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;background-position:0 0}.ui-slider.ui-state-disabled .ui-slider-handle,.ui-slider.ui-state-disabled .ui-slider-range{filter:inherit}.ui-slider-horizontal{height:.8em}.ui-slider-horizontal .ui-slider-handle{top:-.3em;margin-left:-.6em}.ui-slider-horizontal .ui-slider-range{top:0;height:100%}.ui-slider-horizontal .ui-slider-range-min{left:0}.ui-slider-horizontal .ui-slider-range-max{right:0}.ui-slider-vertical{width:.8em;height:100px}.ui-slider-vertical .ui-slider-handle{left:-.3em;margin-left:0;margin-bottom:-.6em}.ui-slider-vertical .ui-slider-range{left:0;width:100%}.ui-slider-vertical .ui-slider-range-min{bottom:0}.ui-slider-vertical .ui-slider-range-max{top:0}.ui-widget{font-family:Verdana,Arial,sans-serif;font-size:.5em}.ui-widget .ui-widget{font-size:1em}.ui-widget button,.ui-widget input,.ui-widget select,.ui-widget textarea{font-family:Verdana,Arial,sans-serif;font-size:1em}.ui-widget-content{border:1px solid #aaa;background:url(images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x #fff;color:#222}.ui-widget-content a{color:#222}.ui-widget-header{border:1px solid #aaa;background:url(images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x #ccc;color:#222;font-weight:700}.ui-widget-header a{color:#222}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{border:1px solid #d3d3d3;background:url(images/ui-bg_glass_75_e6e6e6_1x400.png) 50% 50% repeat-x #e6e6e6;font-weight:400;color:#555}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#555;text-decoration:none}.ui-state-focus,.ui-state-hover,.ui-widget-content .ui-state-focus,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-focus,.ui-widget-header .ui-state-hover{border:1px solid #999;background:url(images/ui-bg_glass_75_dadada_1x400.png) 50% 50% repeat-x #dadada;font-weight:400;color:#212121}.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited,.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited{color:#212121;text-decoration:none}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{border:1px solid #aaa;background:url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x #fff;font-weight:400;color:#212121}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#212121;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #fcefa1;background:url(images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x #fbf9ee;color:#363636}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#363636}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #cd0a0a;background:url(images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x #fef1ec;color:#cd0a0a}.ui-state-error a,.ui-state-error-text,.ui-widget-content .ui-state-error a,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error a,.ui-widget-header .ui-state-error-text{color:#cd0a0a}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:700}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:400}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}.ui-icon,.ui-widget-content .ui-icon,.ui-widget-header .ui-icon{background-image:url(images/ui-icons_222222_256x240.png)}.ui-state-default .ui-icon{background-image:url(images/ui-icons_888888_256x240.png)}.ui-state-active .ui-icon,.ui-state-focus .ui-icon,.ui-state-hover .ui-icon{background-image:url(images/ui-icons_454545_256x240.png)}.ui-state-highlight .ui-icon{background-image:url(images/ui-icons_2e83ff_256x240.png)}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url(images/ui-icons_cd0a0a_256x240.png)}.ui-icon-blank{background-position:16px 16px}.ui-icon-carat-1-n{background-position:0 0}.ui-icon-carat-1-ne{background-position:-16px 0}.ui-icon-carat-1-e{background-position:-32px 0}.ui-icon-carat-1-se{background-position:-48px 0}.ui-icon-carat-1-s{background-position:-64px 0}.ui-icon-carat-1-sw{background-position:-80px 0}.ui-icon-carat-1-w{background-position:-96px 0}.ui-icon-carat-1-nw{background-position:-112px 0}.ui-icon-carat-2-n-s{background-position:-128px 0}.ui-icon-carat-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-64px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-64px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:0 -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-first,.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-left,.ui-corner-tl,.ui-corner-top{border-top-left-radius:4px}.ui-corner-all,.ui-corner-right,.ui-corner-top,.ui-corner-tr{border-top-right-radius:4px}.ui-corner-all,.ui-corner-bl,.ui-corner-bottom,.ui-corner-left{border-bottom-left-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-br,.ui-corner-right{border-bottom-right-radius:4px}.ui-widget-overlay{background:url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x #aaa;opacity:.3;filter:Alpha(Opacity=30)}.ui-widget-shadow{margin:-8px 0 0 -8px;padding:8px;background:url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x #aaa;opacity:.3;filter:Alpha(Opacity=30);border-radius:8px} -.permalink .linkicon{display:inline-block;width:19px;height:7px;background:url(link.png);margin-right:3px;margin-bottom:2px}.permalink.link{cursor:pointer}.permalink.link:hover{opacity:.5}.permalink.popup{border:1px solid green;position:absolute;padding:5px;background-color:#fff}.permalink.popup .url{border:1px solid #000;padding:2px;margin-right:15px;overflow:hidden;text-overflow:clip;width:200px}.permalink.popup .closebutton{display:block;width:10px;height:10px;background:url(closebutton.png);position:absolute;right:5px;top:5px}.permalink.popup .closebutton:hover{background-position:bottom;cursor:pointer} -#qunit-banner,#qunit-header,#qunit-testresult,#qunit-testrunner-toolbar,#qunit-tests,#qunit-userAgent{font-family:"Helvetica Neue Light",HelveticaNeue-Light,"Helvetica Neue",Calibri,Helvetica,Arial,sans-serif}#qunit-testresult,#qunit-testrunner-toolbar,#qunit-tests li,#qunit-userAgent{font-size:small}#qunit-tests{font-size:smaller}#qunit-banner,#qunit-header,#qunit-modulefilter,#qunit-testresult,#qunit-tests,#qunit-userAgent{margin:0;padding:0}#qunit-header{padding:.5em 0 .5em 1em;color:#8699a4;background-color:#0d3349;font-size:1.5em;line-height:1em;font-weight:400;border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;-webkit-border-top-right-radius:5px;-webkit-border-top-left-radius:5px}#qunit-header a{text-decoration:none;color:#c2ccd1}#qunit-header a:focus,#qunit-header a:hover{color:#fff}#qunit-testrunner-toolbar label{display:inline-block;padding:0 .5em 0 .1em}#qunit-banner{height:5px}#qunit-testrunner-toolbar{padding:.5em 0 .5em 2em;color:#5E740B;background-color:#eee;overflow:hidden}#qunit-userAgent{padding:.5em 0 .5em 2.5em;background-color:#2b81af;color:#fff;text-shadow:rgba(0,0,0,.5) 2px 2px 1px}#qunit-modulefilter-container{float:right}#qunit-tests{list-style-position:inside}#qunit-tests li{padding:.4em .5em .4em 2.5em;border-bottom:1px solid #fff;list-style-position:inside}#qunit-tests.hidepass li.pass,#qunit-tests.hidepass li.running{display:none}#qunit-tests li strong{cursor:pointer}#qunit-tests li a{padding:.5em;color:#c2ccd1;text-decoration:none}#qunit-tests li a:focus,#qunit-tests li a:hover{color:#000}#qunit-tests li .runtime{float:right;font-size:smaller}.qunit-assert-list{margin-top:.5em;padding:.5em;background-color:#fff;border-radius:5px;-moz-border-radius:5px;-webkit-border-radius:5px}.qunit-collapsed{display:none}#qunit-tests table{border-collapse:collapse;margin-top:.2em}#qunit-tests th{text-align:right;vertical-align:top;padding:0 .5em 0 0}#qunit-tests td{vertical-align:top}#qunit-tests pre{margin:0;white-space:pre-wrap;word-wrap:break-word}#qunit-tests del{background-color:#e0f2be;color:#374e0c;text-decoration:none}#qunit-tests ins{background-color:#ffcaca;color:#500;text-decoration:none}#qunit-tests b.counts{color:#000}#qunit-tests b.passed{color:#5E740B}#qunit-tests b.failed{color:#710909}#qunit-tests li li{padding:5px;background-color:#fff;border-bottom:none;list-style-position:inside}#qunit-tests li li.pass{color:#3c510c;background-color:#fff;border-left:10px solid #C6E746}#qunit-tests .pass{color:#528CE0;background-color:#D2E0E6}#qunit-tests .pass .test-name{color:#366097}#qunit-tests .pass .test-actual,#qunit-tests .pass .test-expected{color:#999}#qunit-banner.qunit-pass{background-color:#C6E746}#qunit-tests li li.fail{color:#710909;background-color:#fff;border-left:10px solid #EE5757;white-space:pre}#qunit-tests>li:last-child{border-radius:0 0 5px 5px;-moz-border-radius:0 0 5px 5px;-webkit-border-bottom-right-radius:5px;-webkit-border-bottom-left-radius:5px}#qunit-tests .fail{color:#000;background-color:#EE5757}#qunit-tests .fail .module-name,#qunit-tests .fail .test-name{color:#000}#qunit-tests .fail .test-actual{color:#EE5757}#qunit-tests .fail .test-expected{color:green}#qunit-banner.qunit-fail{background-color:#EE5757}#qunit-testresult{padding:.5em .5em .5em 2.5em;color:#2b81af;background-color:#D2E0E6;border-bottom:1px solid #fff}#qunit-testresult .module-name{font-weight:700}#qunit-fixture{position:absolute;top:-10000px;left:-10000px;width:1000px;height:1000px} \ No newline at end of file +.permalink .linkicon{display:inline-block;width:19px;height:7px;background:url(link.png);margin-right:3px;margin-bottom:2px}.permalink.link{cursor:pointer}.permalink.link:hover{opacity:.5}.permalink.popup{border:1px solid green;position:absolute;padding:5px;background-color:#fff}.permalink.popup .url{border:1px solid #000;padding:2px;margin-right:15px;overflow:hidden;text-overflow:clip;width:200px}.permalink.popup .closebutton{display:block;width:10px;height:10px;background:url(closebutton.png);position:absolute;right:5px;top:5px}.permalink.popup .closebutton:hover{background-position:bottom;cursor:pointer} \ No newline at end of file diff --git a/html/config.json b/html/config.json index 35ef47ab..c8ad80b0 100644 --- a/html/config.json +++ b/html/config.json @@ -29,7 +29,7 @@ "url": "http://torka.unl.edu:8080/cgi-bin/mapserv.exe?map=/ms4w/apps/dm/service/usdm_current_wms.map", "layers": "usdm_current", "info": { - "sourceUrl": "http://droughtmonitor.unl.edu", + "sourceUrl": "http://catalog.data.gov/dataset/national-integrated-drought-information-system", "sourceEntity": "US Drought Monitor", "layerDescription": "This layer shows the most recent US Drought Monitor zones.", "legendImage": "legends/legendimages/aaa.png" @@ -41,7 +41,7 @@ "projection": "EPSG:3857", "layers": "0", "info": { - "sourceUrl": "http://csc.noaa.gov/digitalcoast/", + "sourceUrl": "http://catalog.data.gov/dataset/noaa-digital-coast-sea-level-rise-and-coastal-flooding-impacts-viewer", "sourceEntity": "NOAA Coastal Services Center", "layerDescription": "This layer shows the 6 foot sea level innundation region.", "legendImage": "legends/legendimages/aab.png" @@ -53,7 +53,7 @@ "projection": "EPSG:3857", "layers": "0", "info": { - "sourceUrl": "http://csc.noaa.gov/digitalcoast/", + "sourceUrl": "http://catalog.data.gov/dataset/noaa-digital-coast-sea-level-rise-and-coastal-flooding-impacts-viewer", "sourceEntity": "NOAA Coastal Services Center", "layerDescription": "This layer shows the 2 foot sea level innundation region.", "legendImage": "legends/legendimages/aab.png" @@ -65,7 +65,7 @@ "projection": "EPSG:3857", "layers": "0", "info": { - "sourceUrl": "http://csc.noaa.gov/digitalcoast/", + "sourceUrl": "http://catalog.data.gov/dataset/noaa-digital-coast-sea-level-rise-and-coastal-flooding-impacts-viewer", "sourceEntity": "NOAA Coastal Services Center", "layerDescription": "This layer shows the 3 foot sea level innundation region.", "legendImage": "legends/legendimages/aab.png" @@ -77,7 +77,7 @@ "projection": "EPSG:3857", "layers": "0", "info": { - "sourceUrl": "http://csc.noaa.gov/digitalcoast/", + "sourceUrl": "http://catalog.data.gov/dataset/noaa-digital-coast-sea-level-rise-and-coastal-flooding-impacts-viewer", "sourceEntity": "NOAA Coastal Services Center", "layerDescription": "This layer shows the 4 foot sea level innundation region.", "legendImage": "legends/legendimages/aab.png" @@ -89,7 +89,7 @@ "projection": "EPSG:3857", "layers": "0", "info": { - "sourceUrl": "http://csc.noaa.gov/digitalcoast/", + "sourceUrl": "http://catalog.data.gov/dataset/noaa-digital-coast-sea-level-rise-and-coastal-flooding-impacts-viewer", "sourceEntity": "NOAA Coastal Services Center", "layerDescription": "This layer shows the 5 foot sea level innundation region.", "legendImage": "legends/legendimages/aab.png" @@ -101,7 +101,7 @@ "projection": "EPSG:3857", "layers": "0", "info": { - "sourceUrl": "http://csc.noaa.gov/digitalcoast/", + "sourceUrl": "http://catalog.data.gov/dataset/noaa-digital-coast-sea-level-rise-and-coastal-flooding-impacts-viewer", "sourceEntity": "NOAA Coastal Services Center", "layerDescription": "This layer shows the 1 foot sea level innundation region.", "legendImage": "legends/legendimages/aab.png" @@ -113,19 +113,20 @@ "projection": "EPSG:3857", "layers": "0", "info": { - "sourceUrl": "http://www.geoplatform.gov/blog/homeland-security-infrastructure-program-hsip-public-domain-services-geospatial-platform", + "sourceUrl": "http://catalog.data.gov/dataset/hsip-public-domain-public-health-hospitals", "sourceEntity": "Homeland Security Infrastructure Program", "layerDescription": "This layer shows the locations of hospitals.", "legendImage": "legends/legendimages/aah.png" } }, { "id": "aai", - "name": "Airports and Helipads", - "url": "http://hsip.geoplatform.gov/arcgis/services/HSIP_Public/TransportationAir/MapServer/WMSServer", + "name": "Airports", + "url": "http://hsip.geoplatform.gov/arcgis/rest/services/HSIP_Public/TransportationAir/MapServer/export", "projection": "EPSG:3857", "layers": "0", + "type": "REST", "info": { - "sourceUrl": "http://www.geoplatform.gov/blog/homeland-security-infrastructure-program-hsip-public-domain-services-geospatial-platform", + "sourceUrl": "http://catalog.data.gov/dataset/hsip-public-domain-transportation-air-public-use-airports", "sourceEntity": "Homeland Security Infrastructure Program", "layerDescription": "This layer shows the locations of airports and helipads.", "legendImage": "legends/legendimages/aai.png" @@ -137,7 +138,7 @@ "projection": "EPSG:3857", "layers": [ "0", "1" ], "info": { - "sourceUrl": "http://www.geoplatform.gov/blog/homeland-security-infrastructure-program-hsip-public-domain-services-geospatial-platform", + "sourceUrl": "http://catalog.data.gov/dataset/hsip-public-domain-transportation-ground-national-bridge-inv", "sourceEntity": "Homeland Security Infrastructure Program", "layerDescription": "This layer shows the locations of bridges and tunnels.", "legendImage": "legends/legendimages/aaj.png" @@ -149,15 +150,15 @@ "projection": "EPSG:3857", "layers": ["3", "7", "11" ], "info": { - "sourceUrl": "http://marine.usgs.gov/coastalchangehazardsportal/ui/info/item/CDKmLpj", - "sourceEntity": "USGS CIDA CMGP", + "sourceUrl": "http://catalog.data.gov/dataset/usgs-map-service-coastal-vulnerability-to-sea-level-rise", + "sourceEntity": "USGS", "layerDescription": "This layer shows the relative susceptibility of the Nation's coast to sea-level rise through the use of a coastal vulnerability index", "legendImage": "legends/legendimages/aak.png" } }, { "id": "aal", "name": "Land Cover (2011)", - "url": "http://raster.nationalmap.gov/arcgis/services/LandCover/USGS_EROS_LandCover_NLCD/MapServer/WMSServer?service=WMS", + "url": "http://catalog.data.gov/dataset/usgs-land-cover-nlcd-overlay-map-service-from-the-national-map", "layers": "30", "projection": "EPSG:3857", "info": { @@ -174,8 +175,8 @@ "layers": "7", "type": "REST", "info": { - "sourceUrl": "http://webra.cas.sc.edu/hvri/products/sovi.aspx", - "sourceEntity": "NOAA Coastal Services Center and USC Hazards and Vulnerability Research Institute", + "sourceUrl": "http://catalog.data.gov/dataset/social-vulnerability-index-sovi-for-coastal-states-based-on-2000-census-block-groups", + "sourceEntity": "NOAA Coastal Services Center", "layerDescription": "The Social Vulnerability Index (SOVI) measures the social vulnerability of U.S. counties to environmental hazards.", "legendImage": "legends/legendimages/aam.png" } @@ -186,7 +187,7 @@ "projection": "EPSG:4326", "layers": "4", "info": { - "sourceUrl": "https://hazards.fema.gov", + "sourceUrl": "http://catalog.data.gov/dataset/nfhl-femas-national-flood-hazard-layer", "sourceEntity": "FEMA", "layerDescription": "The purpose of the online mapping tool is to provide coastal managers, planners, and stakeholders a preliminary look at exposures to coastal flooding hazards.", "legendImage": "legends/legendimages/aan.png" @@ -197,7 +198,7 @@ "url": "http://torka.unl.edu:8080/cgi-bin/mapserv.exe?map=/ms4w/apps/dm/service/usdm130924_wms.map", "layers": "usdm130924", "info": { - "sourceUrl": "http://droughtmonitor.unl.edu", + "sourceUrl": "http://catalog.data.gov/dataset/national-integrated-drought-information-system", "sourceEntity": "US Drought Monitor", "layerDescription": "This layer shows Drought (9/24/2013).", "legendImage": "legends/legendimages/aaa.png" @@ -209,7 +210,7 @@ "projection": "EPSG:4326", "layers": "cdl_2013", "info": { - "sourceUrl": "http://www.nass.usda.gov/research/Cropland/SARS1a.htm", + "sourceUrl": "http://catalog.data.gov/dataset/cropscape-cropland-data-layer", "sourceEntity": "USDA National Agricultural Statistics Service", "layerDescription": "This layer shows Cropland.", "legendImage": "legends/legendimages/aap.png" @@ -222,7 +223,7 @@ "layers": "7", "type": "REST", "info": { - "sourceUrl": "http://www.csc.noaa.gov/floodexposure/#/configure", + "sourceUrl": "http://catalog.data.gov/dataset/fema-hazus-critical-facilities-for-coastal-geographies", "sourceEntity": "NOAA Coastal Services Center", "layerDescription": "This layer shows HAZUS Critical Facilities in Delaware, New Jersey, and New York.", "legendImage": "legends/legendimages/aaq.png" @@ -235,7 +236,7 @@ "layers": "6", "type": "REST", "info": { - "sourceUrl": "http://www.csc.noaa.gov/floodexposure/#/configure", + "sourceUrl": "http://www.csc.noaa.gov/floodexposure/#/services", "sourceEntity": "NOAA Coastal Services Center", "layerDescription": "This layer shows Critical Facility Density in Delaware, New Jersey, and New York.", "legendImage": "legends/legendimages/aar.png" @@ -248,7 +249,7 @@ "layers": "1", "type": "REST", "info": { - "sourceUrl": "http://www.csc.noaa.gov/floodexposure/#/configure", + "sourceUrl": "http://www.csc.noaa.gov/floodexposure/#/services", "sourceEntity": "NOAA Coastal Services Center", "layerDescription": "This layer shows Population Density in Delaware, New Jersey, and New York.", "legendImage": "legends/legendimages/aas.png" @@ -261,7 +262,7 @@ "layers": "4", "type": "REST", "info": { - "sourceUrl": "http://www.csc.noaa.gov/floodexposure/#/configure", + "sourceUrl": "http://www.csc.noaa.gov/floodexposure/#/services", "sourceEntity": "NOAA Coastal Services Center", "layerDescription": "This layer shows Businesses in Delaware, New Jersey, and New York.", "legendImage": "legends/legendimages/aat.png" @@ -274,7 +275,7 @@ "layers": "10", "type": "REST", "info": { - "sourceUrl": "http://www.csc.noaa.gov/floodexposure/#/configure", + "sourceUrl": "http://www.csc.noaa.gov/floodexposure/#/services", "sourceEntity": "NOAA Coastal Services Center", "layerDescription": "This layer shows Beaches & Dunes in Delaware, New Jersey, and New York.", "legendImage": "legends/legendimages/aau.png" @@ -287,7 +288,7 @@ "layers": "8", "type": "REST", "info": { - "sourceUrl": "http://www.csc.noaa.gov/floodexposure/#/configure", + "sourceUrl": "http://www.csc.noaa.gov/floodexposure/#/services", "sourceEntity": "NOAA Coastal Services Center", "layerDescription": "This layer shows Wetlands in Delaware, New Jersey, and New York.", "legendImage": "legends/legendimages/aav.png" @@ -313,7 +314,7 @@ "layers": "0", "type": "REST", "info": { - "sourceUrl": "http://www.csc.noaa.gov/floodexposure/#/configure", + "sourceUrl": "http://catalog.data.gov/dataset/coastal-flood-hazard-composite-layer-for-the-mid-atlantic-u-s", "sourceEntity": "NOAA Coastal Services Center", "layerDescription": "This layer shows Coastal Flood Hazard Composite in Delaware, New Jersey, and New York.", "legendImage": "legends/legendimages/aax.png" @@ -326,7 +327,7 @@ "sld": "http://marine.usgs.gov/coastalchangehazardsportal/data/sld/CUtFZvT", "info": { "sourceUrl": "http://marine.usgs.gov/coastalchangehazardsportal/ui/info/item/CARuFN3", - "sourceEntity": "USGS CIDA CMGP", + "sourceEntity": "USGS", "layerDescription": "This layer shows Probability of High Shoreline Loss.", "legendImage": "legends/legendimages/aay.png" } @@ -338,7 +339,7 @@ "sld": "http://marine.usgs.gov/coastalchangehazardsportal/data/sld/CCENsQT", "info": { "sourceUrl": "http://marine.usgs.gov/coastalchangehazardsportal/ui/info/item/CCNHBnK", - "sourceEntity": "USGS CIDA CMGP", + "sourceEntity": "USGS", "layerDescription": "This layer shows Elevation of Dune Crest.", "legendImage": "legends/legendimages/abb.png" } @@ -350,7 +351,7 @@ "sld": "http://marine.usgs.gov/coastalchangehazardsportal/data/sld/CCER1Xg", "info": { "sourceUrl": "http://marine.usgs.gov/coastalchangehazardsportal/ui/info/item/CCNKrhr", - "sourceEntity": "USGS CIDA CMGP", + "sourceEntity": "USGS", "layerDescription": "This layer shows Elevation of Dune Toe.", "legendImage": "legends/legendimages/abc.png" } @@ -362,7 +363,7 @@ "sld": "http://marine.usgs.gov/coastalchangehazardsportal/data/sld/CCNXDS5", "info": { "sourceUrl": "http://marine.usgs.gov/coastalchangehazardsportal/ui/info/item/CCHdMRt", - "sourceEntity": "USGS CIDA CMGP", + "sourceEntity": "USGS", "layerDescription": "This layer shows CAT3 Hurricane Prob. of Collision.", "legendImage": "legends/legendimages/abd.png" } @@ -374,7 +375,7 @@ "sld": "http://marine.usgs.gov/coastalchangehazardsportal/data/sld/CD5ZUvX", "info": { "sourceUrl": "http://marine.usgs.gov/coastalchangehazardsportal/ui/info/item/CCHdMRt", - "sourceEntity": "USGS CIDA CMGP", + "sourceEntity": "USGS", "layerDescription": "This layer shows CAT3 Hurricane Prob. of Overwash.", "legendImage": "legends/legendimages/abe.png" } @@ -386,7 +387,7 @@ "sld": "http://marine.usgs.gov/coastalchangehazardsportal/data/sld/CD7wRHj", "info": { "sourceUrl": "http://marine.usgs.gov/coastalchangehazardsportal/ui/info/item/CCHdMRt", - "sourceEntity": "USGS CIDA CMGP", + "sourceEntity": "USGS", "layerDescription": "This layer shows CAT3 Hurricane Prob. of Inundation.", "legendImage": "legends/legendimages/abf.png" } @@ -398,7 +399,7 @@ "sld": "http://marine.usgs.gov/coastalchangehazardsportal/data/sld/CDAzqt6", "info": { "sourceUrl": "http://marine.usgs.gov/coastalchangehazardsportal/ui/info/item/CDAzqt6", - "sourceEntity": "USGS CIDA CMGP", + "sourceEntity": "USGS", "layerDescription": "This layer shows CAT3 Hurricane Mean Water Levels.", "legendImage": "legends/legendimages/abg.png" } @@ -410,7 +411,7 @@ "sld": "http://marine.usgs.gov/coastalchangehazardsportal/data/sld/CDARuQk", "info": { "sourceUrl": "http://marine.usgs.gov/coastalchangehazardsportal/ui/info/item/CDARuQk", - "sourceEntity": "USGS CIDA CMGP", + "sourceEntity": "USGS", "layerDescription": "This layer shows CAT3 Hurricane Extreme Water Levels.", "legendImage": "legends/legendimages/abh.png" } @@ -422,8 +423,8 @@ "projection": "EPSG:4326", "map": "/media/dssiv02/disk5/products/weekly/ndvi/2013/ndvi_39_2013.09.24_2013.09.30.map", "info": { - "sourceUrl": "http://csiss.gmu.edu/", - "sourceEntity": "CSISS, USDA NASS", + "sourceUrl": "http://catalog.data.gov/dataset/vegscape-vegetative-condition-explorer", + "sourceEntity": "USDA National Agricultural Statistics Service", "layerDescription": "This layer shows NDVI for September 24, 2013.", "legendImage": "legends/legendimages/abi.png" } @@ -435,56 +436,56 @@ "projection": "EPSG:4326", "map": "/media/dssiv02/disk5/products/weekly/vci/2013/vci_39_2013.09.24_2013.09.30.map", "info": { - "sourceUrl": "http://csiss.gmu.edu/", - "sourceEntity": "CSISS, USDA NASS", + "sourceUrl": "http://catalog.data.gov/dataset/vegscape-vegetative-condition-explorer", + "sourceEntity": "USDA National Agricultural Statistics Service", "layerDescription": "This layer shows VCI for September 24, 2013.", "legendImage": "legends/legendimages/abj.png" } }, { "id": "abk", "name": "Rivers", - "url": "http://129.174.131.7/cgi/wms_conuswater.cgi", - "layers": "conus_major_rivers_national,conus_rivers_regional", + "url": "http://services.nationalmap.gov/arcgis/services/nhd/MapServer/WMSServer", + "layers": "4", "projection": "EPSG:4326", "info": { - "sourceUrl": "http://csiss.gmu.edu/", - "sourceEntity": "CSISS, USDA NASS", + "sourceUrl": "http://catalog.data.gov/dataset/the-national-map", + "sourceEntity": "USGS", "layerDescription": "This layer shows rivers.", "legendImage": "legends/legendimages/abk.png" } }, { "id": "abl", "name": "Lakes", - "url": "http://129.174.131.7/cgi/wms_conuswater.cgi", - "layers": "conus_major_lakes_national,conus_waterareas_regional", + "url": "http://services.nationalmap.gov/arcgis/services/nhd/MapServer/WMSServer", + "layers": "5", "projection": "EPSG:4326", "info": { - "sourceUrl": "http://csiss.gmu.edu/", - "sourceEntity": "CSISS, USDA NASS", + "sourceUrl": "http://catalog.data.gov/dataset/the-national-map", + "sourceEntity": "USGS", "layerDescription": "This layer shows lakes.", "legendImage": "legends/legendimages/abl.png" } }, { "id": "abm", "name": "Freeway System (National)", - "url": "http://129.174.131.7/cgi/wms_conushighway.cgi", - "layers": "conus_freeway_system_national,conus_freeway_system_national_label", + "url": "http://services.nationalmap.gov/arcgis/services/transportation/MapServer/WMSServer", + "layers": "6,14", "projection": "EPSG:4326", "info": { - "sourceUrl": "http://csiss.gmu.edu/", - "sourceEntity": "CSISS, USDA NASS", + "sourceUrl": "http://catalog.data.gov/dataset/the-national-map", + "sourceEntity": "USGS", "layerDescription": "This layer shows interstates.", "legendImage": "legends/legendimages/abm.png" } }, { "id": "abn", - "name": "Major Highways (Regional)", - "url": "http://129.174.131.7/cgi/wms_conushighway.cgi", - "layers": "conus_major_highways_regional,conus_major_highways_regional_label", + "name": "Major Highways (Regional)", + "url": "http://services.nationalmap.gov/arcgis/services/transportation/MapServer/WMSServer", + "layers": "5,13", "projection": "EPSG:4326", "info": { - "sourceUrl": "http://csiss.gmu.edu/", - "sourceEntity": "CSISS, USDA NASS", + "sourceUrl": "http://catalog.data.gov/dataset/the-national-map", + "sourceEntity": "USGS", "layerDescription": "This layer shows major highways.", "legendImage": "legends/legendimages/abn.png" } @@ -508,11 +509,23 @@ "layers": "grump-v1:grump-v1-population-density_2000", "projection": "EPSG:4326", "info": { - "sourceUrl": "http://sedac.ciesin.columbia.edu/data/collection/grump-v1", - "sourceEntity": "SEDAC", + "sourceUrl": "http://catalog.data.gov/dataset/global-rural-urban-mapping-project-grump-alpha-version", + "sourceEntity": "NASA", "layerDescription": "This layer shows population density in the year 2000.", "legendImage": "legends/legendimages/abp.png" } + }, { + "id": "abq", + "name": "Structures", + "url": "http://services.nationalmap.gov/arcgis/services/structures/MapServer/WMSServer", + "layers": "1,2,4,5,7,8,9,10,12,14", + "projection": "EPSG:4326", + "info": { + "sourceUrl": "http://catalog.data.gov/dataset/the-national-map", + "sourceEntity": "USGS", + "layerDescription": "This layer shows the locations of selected structures.", + "legendImage": "legends/legendimages/abq.png" + } } ], "groups": [{ @@ -522,11 +535,11 @@ "subGroups": [{ "id": "g_a_a", "name": "Climate Stressors", - "layers": [ "aag", "aac", "aad", "aae", "aaf", "aab", "aax", "aaw", "aay", "abd", "abe", "abf", "abg", "abh" ] + "layers": [ "aag", "aac", "aad", "aae", "aaf", "aab", "aax", "aan", "aay", "abd", "abe", "abf", "abg", "abh" ] }, { "id": "g_a_b", "name": "People and Assets Impacted", - "layers": [ "abp", "aak", "aam", "aal", "aah", "aai", "aaj", "aaq", "aar", "aas", "aat", "aau", "aav", "abb", "abc", "abm", "abn" ] + "layers": [ "abp", "aak", "aam", "aal", "abq", "aai", "aaj", "aaq", "aar", "aas", "aat", "aau", "aav", "abb", "abc", "abm", "abn" ] }] }, { "id": "g_b", diff --git a/html/legends/legendimages/abq.png b/html/legends/legendimages/abq.png new file mode 100644 index 00000000..8888ba89 Binary files /dev/null and b/html/legends/legendimages/abq.png differ diff --git a/legends/legendimages/abq.png b/legends/legendimages/abq.png new file mode 100644 index 00000000..8888ba89 Binary files /dev/null and b/legends/legendimages/abq.png differ