diff --git a/.gitignore b/.gitignore index 04c11fc..840d0ea 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,7 @@ /vendor/ /bin/ /demo/ -/assets/js/ +/assets/js/*.js /.tx/ coverage.xml diff --git a/assets/libs/leaflet-providers/CONTRIBUTING.md b/assets/libs/leaflet-providers/CONTRIBUTING.md deleted file mode 100644 index 87766e9..0000000 --- a/assets/libs/leaflet-providers/CONTRIBUTING.md +++ /dev/null @@ -1,10 +0,0 @@ -So you want to add a layer? -======= - -Yay! go add it to the leaflet-providers.js as long as it follows the following -rules: - -- Don't violate a providers TOS (if it exists, include a link to it) -- Don't pre-populate api keys with working keys. -- It should be a basic tile source, no exteral libraries etc. -- The owner hasn't asked us to remove it (hasn't happened yet) \ No newline at end of file diff --git a/assets/libs/leaflet-providers/README.md b/assets/libs/leaflet-providers/README.md deleted file mode 100644 index 43abebd..0000000 --- a/assets/libs/leaflet-providers/README.md +++ /dev/null @@ -1,63 +0,0 @@ -Leaflet-providers -================= -An extension to [Leaflet](http://leafletjs.com/) that contains configurations for various free tile providers. - -# Usage -Leaflet-providers [providers](#providers) are refered to with a `provider[.]`-string. Let's say you want to add the nice [Watercolor](http://maps.stamen.com/#watercolor/) style from Stamen to your map, you pass `Stamen.Watercolor` to the `L.tileLayer.provider`-constructor, which will return a [L.TileLayer](http://leafletjs.com/reference.html#tilelayer) instance for Stamens Watercolor tile layer. - -```Javascript -// add Stamen Watercolor to map. -L.tileLayer.provider('Stamen.Watercolor').addTo(map); -``` - -# Providers - -Leaflet-providers provides tile layers from different providers, including *OpenStreetMap*, *MapQuestOpen*, *Stamen*, *Esri* and *OpenWeatherMap*. The full listing of free to use layers can be [previewed](http://leaflet-extras.github.io/leaflet-providers/preview/index.html). The page will show you the name to use with `leaflet-providers.js` and the code to use it without dependencies. - -## Providers requiring registration - -In addition to the providers you are free to use, we support some layers which require registration. - -### HERE (formerly Nokia). - -In order to use HERE basemaps, you must [register](http://developer.here.com/get-started). With your `app_id` and `app_code` specified in the options. The available layers are: - -* HERE.normalDay -* HERE.normalGreyDay -* HERE.satelliteNoLabelsDay -* HERE.satelliteYesLabelsDay -* HERE.terrainDay - -For example: -```Javascript -L.tileLayer.provider('HERE.terrainDay', { - app_id: 'insert ID here', - app_code: 'insert ID here' -}).addTo(map); -``` - -### Mapbox - -In order to use Mapbox maps, you must [register](https://tiles.mapbox.com/signup). If your user name is `YourName` and your map is called `MyMap` you can add it with -```JavaScript -L.tileLayer.provider('MapBox.YourName.MyMap'); -``` - -### Esri/ArcGIS - -In order to use ArcGIS maps, you must [register](https://developers.arcgis.com/en/sign-up/) and abide by the [terms of service](https://developers.arcgis.com/en/terms/). Available layers are... - -* Esri.WorldStreetMap -* Esri.DeLorme -* Esri.WorldTopoMap -* Esri.WorldImagery -* Esri.WorldTerrain -* Esri.WorldShadedRelief -* Esri.WorldPhysical -* Esri.OceanBasemap -* Esri.NatGeoWorldMap -* Esri.WorldGrayCanvas - -# Attribution - -This work was inspired from , and originally created by [Stefan Seelmann](https://github.com/seelmann). diff --git a/assets/libs/leaflet-providers/bower.json b/assets/libs/leaflet-providers/bower.json deleted file mode 100644 index 61797a2..0000000 --- a/assets/libs/leaflet-providers/bower.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "leaflet-providers", - "version": "1.0.12", - "homepage": "https://github.com/leaflet-extras/leaflet-providers", - "description": "An extension to Leaflet that contains configurations for various free tile providers.", - "main": "leaflet-providers.js", - "keywords": [ - "leaflet", - "stamen", - "osm" - ], - "license": "BSD-2-Clause", - "ignore": [ - "**/.*", - "node_modules", - "bower_components", - "test", - "tests", - "preview", - "*.html" - ] -} diff --git a/assets/libs/leaflet-providers/index.html b/assets/libs/leaflet-providers/index.html deleted file mode 100644 index 98f985b..0000000 --- a/assets/libs/leaflet-providers/index.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - Leaflet Provider Demo - - - - - - - - - - - - -
- - - - - - diff --git a/assets/libs/leaflet-providers/leaflet-providers.js b/assets/libs/leaflet-providers/leaflet-providers.js deleted file mode 100644 index 62f650a..0000000 --- a/assets/libs/leaflet-providers/leaflet-providers.js +++ /dev/null @@ -1,460 +0,0 @@ -(function () { - 'use strict'; - - L.TileLayer.Provider = L.TileLayer.extend({ - initialize: function (arg, options) { - var providers = L.TileLayer.Provider.providers; - - var parts = arg.split('.'); - - var providerName = parts[0]; - var variantName = parts[1]; - - if (!providers[providerName]) { - throw 'No such provider (' + providerName + ')'; - } - - var provider = { - url: providers[providerName].url, - options: providers[providerName].options - }; - - // overwrite values in provider from variant. - if (variantName && 'variants' in providers[providerName]) { - if (!(variantName in providers[providerName].variants)) { - throw 'No such variant of ' + providerName + ' (' + variantName + ')'; - } - var variant = providers[providerName].variants[variantName]; - var variantOptions; - if (typeof variant === 'string') { - variantOptions = { - variant: variant - }; - } else { - variantOptions = variant.options; - } - provider = { - url: variant.url || provider.url, - options: L.Util.extend({}, provider.options, variantOptions) - }; - } else if (typeof provider.url === 'function') { - provider.url = provider.url(parts.splice(1, parts.length - 1).join('.')); - } - - // replace attribution placeholders with their values from toplevel provider attribution, - // recursively - var attributionReplacer = function (attr) { - if (attr.indexOf('{attribution.') === -1) { - return attr; - } - return attr.replace(/\{attribution.(\w*)\}/, - function (match, attributionName) { - return attributionReplacer(providers[attributionName].options.attribution); - } - ); - }; - provider.options.attribution = attributionReplacer(provider.options.attribution); - - // Compute final options combining provider options with any user overrides - var layerOpts = L.Util.extend({}, provider.options, options); - L.TileLayer.prototype.initialize.call(this, provider.url, layerOpts); - } - }); - - /** - * Definition of providers. - * see http://leafletjs.com/reference.html#tilelayer for options in the options map. - */ - - //jshint maxlen:220 - L.TileLayer.Provider.providers = { - OpenStreetMap: { - url: 'http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', - options: { - attribution: - '© OpenStreetMap' - }, - variants: { - Mapnik: {}, - BlackAndWhite: { - url: 'http://{s}.tiles.wmflabs.org/bw-mapnik/{z}/{x}/{y}.png' - }, - DE: { - url: 'http://{s}.tile.openstreetmap.de/tiles/osmde/{z}/{x}/{y}.png' - }, - HOT: { - url: 'http://{s}.tile.openstreetmap.fr/hot/{z}/{x}/{y}.png', - options: { - attribution: '{attribution.OpenStreetMap}, Tiles courtesy of Humanitarian OpenStreetMap Team' - } - } - } - }, - OpenSeaMap: { - url: 'http://tiles.openseamap.org/seamark/{z}/{x}/{y}.png', - options: { - attribution: 'Map data: © OpenSeaMap contributors' - } - }, - Thunderforest: { - url: 'http://{s}.tile.thunderforest.com/{variant}/{z}/{x}/{y}.png', - options: { - attribution: - '© OpenCycleMap, {attribution.OpenStreetMap}', - variant: 'cycle' - }, - variants: { - OpenCycleMap: 'cycle', - Transport: 'transport', - Landscape: 'landscape', - Outdoors: 'outdoors' - } - }, - OpenMapSurfer: { - url: 'http://openmapsurfer.uni-hd.de/tiles/{variant}/x={x}&y={y}&z={z}', - options: { - minZoom: 0, - maxZoom: 20, - variant: 'roads', - attribution: 'Imagery from GIScience Research Group @ University of Heidelberg — Map data {attribution.OpenStreetMap}' - }, - variants: { - Roads: 'roads', - AdminBounds: { - options: { - variant: 'adminb', - maxZoom: 19 - } - }, - Grayscale: { - options: { - variant: 'roadsg', - maxZoom: 19 - } - } - } - }, - Hydda: { - url: 'http://{s}.tile.openstreetmap.se/hydda/{variant}/{z}/{x}/{y}.png', - options: { - minZoom: 0, - maxZoom: 18, - variant: 'full', - attribution: 'Tiles courtesy of OpenStreetMap Sweden — Map data {attribution.OpenStreetMap}' - }, - variants: { - Full: 'full', - Base: 'base', - RoadsAndLabels: 'roads_and_labels', - } - }, - MapQuestOpen: { - url: 'http://otile{s}.mqcdn.com/tiles/1.0.0/map/{z}/{x}/{y}.jpeg', - options: { - attribution: - 'Tiles Courtesy of MapQuest — ' + - 'Map data {attribution.OpenStreetMap}', - subdomains: '1234' - }, - variants: { - OSM: {}, - Aerial: { - url: 'http://oatile{s}.mqcdn.com/tiles/1.0.0/sat/{z}/{x}/{y}.jpg', - options: { - attribution: - 'Tiles Courtesy of MapQuest — ' + - 'Portions Courtesy NASA/JPL-Caltech and U.S. Depart. of Agriculture, Farm Service Agency' - } - } - } - }, - MapBox: { - url: function (id) { - return 'http://{s}.tiles.mapbox.com/v3/' + id + '/{z}/{x}/{y}.png'; - }, - options: { - attribution: - 'Imagery from MapBox — ' + - 'Map data {attribution.OpenStreetMap}', - subdomains: 'abcd' - } - }, - Stamen: { - url: 'http://{s}.tile.stamen.com/{variant}/{z}/{x}/{y}.png', - options: { - attribution: - 'Map tiles by Stamen Design, ' + - 'CC BY 3.0 — ' + - 'Map data {attribution.OpenStreetMap}', - subdomains: 'abcd', - minZoom: 0, - maxZoom: 20, - variant: 'toner' - }, - variants: { - Toner: 'toner', - TonerBackground: 'toner-background', - TonerHybrid: 'toner-hybrid', - TonerLines: 'toner-lines', - TonerLabels: 'toner-labels', - TonerLite: 'toner-lite', - Terrain: { - options: { - variant: 'terrain', - minZoom: 4, - maxZoom: 18 - } - }, - TerrainBackground: { - options: { - variant: 'terrain-background', - minZoom: 4, - maxZoom: 18 - } - }, - Watercolor: { - options: { - variant: 'watercolor', - minZoom: 1, - maxZoom: 16 - } - } - } - }, - Esri: { - url: 'http://server.arcgisonline.com/ArcGIS/rest/services/{variant}/MapServer/tile/{z}/{y}/{x}', - options: { - variant: 'World_Street_Map', - attribution: 'Tiles © Esri' - }, - variants: { - WorldStreetMap: { - options: { - attribution: - '{attribution.Esri} — ' + - 'Source: Esri, DeLorme, NAVTEQ, USGS, Intermap, iPC, NRCAN, Esri Japan, METI, Esri China (Hong Kong), Esri (Thailand), TomTom, 2012' - } - }, - DeLorme: { - options: { - variant: 'Specialty/DeLorme_World_Base_Map', - minZoom: 1, - maxZoom: 11, - attribution: '{attribution.Esri} — Copyright: ©2012 DeLorme' - } - }, - WorldTopoMap: { - options: { - variant: 'World_Topo_Map', - attribution: - '{attribution.Esri} — ' + - 'Esri, DeLorme, NAVTEQ, TomTom, Intermap, iPC, USGS, FAO, NPS, NRCAN, GeoBase, Kadaster NL, Ordnance Survey, Esri Japan, METI, Esri China (Hong Kong), and the GIS User Community' - } - }, - WorldImagery: { - options: { - variant: 'World_Imagery', - attribution: - '{attribution.Esri} — ' + - 'Source: Esri, i-cubed, USDA, USGS, AEX, GeoEye, Getmapping, Aerogrid, IGN, IGP, UPR-EGP, and the GIS User Community' - } - }, - WorldTerrain: { - options: { - variant: 'World_Terrain_Base', - maxZoom: 13, - attribution: - '{attribution.Esri} — ' + - 'Source: USGS, Esri, TANA, DeLorme, and NPS' - } - }, - WorldShadedRelief: { - options: { - variant: 'World_Shaded_Relief', - maxZoom: 13, - attribution: '{attribution.Esri} — Source: Esri' - } - }, - WorldPhysical: { - options: { - variant: 'World_Physical_Map', - maxZoom: 8, - attribution: '{attribution.Esri} — Source: US National Park Service' - } - }, - OceanBasemap: { - options: { - variant: 'Ocean_Basemap', - maxZoom: 13, - attribution: '{attribution.Esri} — Sources: GEBCO, NOAA, CHS, OSU, UNH, CSUMB, National Geographic, DeLorme, NAVTEQ, and Esri' - } - }, - NatGeoWorldMap: { - options: { - variant: 'NatGeo_World_Map', - maxZoom: 16, - attribution: '{attribution.Esri} — National Geographic, Esri, DeLorme, NAVTEQ, UNEP-WCMC, USGS, NASA, ESA, METI, NRCAN, GEBCO, NOAA, iPC' - } - }, - WorldGrayCanvas: { - options: { - variant: 'Canvas/World_Light_Gray_Base', - maxZoom: 16, - attribution: '{attribution.Esri} — Esri, DeLorme, NAVTEQ' - } - } - } - }, - OpenWeatherMap: { - url: 'http://{s}.tile.openweathermap.org/map/{variant}/{z}/{x}/{y}.png', - options: { - attribution: 'Map data © OpenWeatherMap', - opacity: 0.5 - }, - variants: { - Clouds: 'clouds', - CloudsClassic: 'clouds_cls', - Precipitation: 'precipitation', - PrecipitationClassic: 'precipitation_cls', - Rain: 'rain', - RainClassic: 'rain_cls', - Pressure: 'pressure', - PressureContour: 'pressure_cntr', - Wind: 'wind', - Temperature: 'temp', - Snow: 'snow' - } - }, - HERE: { - /* - * HERE maps, formerly Nokia maps. - * These basemaps are free, but you need an API key. Please sign up at - * http://developer.here.com/getting-started - * - * Note that the base urls contain '.cit' whichs is HERE's - * 'Customer Integration Testing' environment. Please remove for production - * envirionments. - */ - url: - 'http://{s}.{base}.maps.cit.api.here.com/maptile/2.1/' + - 'maptile/{mapID}/{variant}/{z}/{x}/{y}/256/png8?' + - 'app_id={app_id}&app_code={app_code}', - options: { - attribution: - 'Map © 1987-2014 HERE', - subdomains: '1234', - mapID: 'newest', - 'app_id': '', - 'app_code': '', - base: 'base', - variant: 'normal.day', - minZoom: 0, - maxZoom: 20 - }, - variants: { - normalDay: 'normal.day', - normalDayCustom: 'normal.day.custom', - normalDayGrey: 'normal.day.grey', - normalDayMobile: 'normal.day.mobile', - normalDayGreyMobile: 'normal.day.grey.mobile', - normalDayTransit: 'normal.day.transit', - normalDayTransitMobile: 'normal.day.transit.mobile', - normalNight: 'normal.night', - normalNightMobile: 'normal.night.mobile', - normalNightGrey: 'normal.night.grey', - normalNightGreyMobile: 'normal.night.grey.mobile', - - carnavDayGrey: 'carnav.day.grey', - hybridDay: { - options: { - base: 'aerial', - variant: 'hybrid.day' - } - }, - hybridDayMobile: { - options: { - base: 'aerial', - variant: 'hybrid.day.mobile' - } - }, - pedestrianDay: 'pedestrian.day', - pedestrianNight: 'pedestrian.night', - satelliteDay: { - options: { - base: 'aerial', - variant: 'satellite.day' - } - }, - terrainDay: { - options: { - base: 'aerial', - variant: 'terrain.day' - } - }, - terrainDayMobile: { - options: { - base: 'aerial', - variant: 'terrain.day.mobile' - } - } - } - }, - Acetate: { - url: 'http://a{s}.acetate.geoiq.com/tiles/{variant}/{z}/{x}/{y}.png', - options: { - attribution: - '©2012 Esri & Stamen, Data from OSM and Natural Earth', - subdomains: '0123', - minZoom: 2, - maxZoom: 18, - variant: 'acetate-base' - }, - variants: { - basemap: 'acetate-base', - terrain: 'terrain', - all: 'acetate-hillshading', - foreground: 'acetate-fg', - roads: 'acetate-roads', - labels: 'acetate-labels', - hillshading: 'hillshading' - } - }, - FreeMapSK: { - url: 'http://{s}.freemap.sk/T/{z}/{x}/{y}.jpeg', - options: { - minZoom: 8, - maxZoom: 16, - subdomains: ['t1', 't2', 't3', 't4'], - attribution: - '{attribution.OpenStreetMap}, vizualization CC-By-SA 2.0 Freemap.sk' - } - }, - MtbMap: { - url: 'http://tile.mtbmap.cz/mtbmap_tiles/{z}/{x}/{y}.png', - options: { - attribution: - '{attribution.OpenStreetMap} & USGS' - } - }, - CartoDB: { - url: 'http://{s}.basemaps.cartocdn.com/{variant}/{z}/{x}/{y}.png', - options: { - attribution: '{attribution.OpenStreetMap} © CartoDB', - subdomains: 'abcd', - minZoom: 0, - maxZoom: 18, - variant: 'light_all' - }, - variants: { - Positron: 'light_all', - PositronNoLabels: 'light_nolabels', - DarkMatter: 'dark_all', - DarkMatterNoLabels: 'dark_nolabels' - } - } - }; - - L.tileLayer.provider = function (provider, options) { - return new L.TileLayer.Provider(provider, options); - }; -}()); diff --git a/assets/libs/leaflet-providers/license.md b/assets/libs/leaflet-providers/license.md deleted file mode 100644 index 4c48832..0000000 --- a/assets/libs/leaflet-providers/license.md +++ /dev/null @@ -1,9 +0,0 @@ -Copyright (c) 2013 Leaflet Providers contributors -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - -_THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE._ \ No newline at end of file diff --git a/assets/libs/leaflet-providers/package.json b/assets/libs/leaflet-providers/package.json deleted file mode 100644 index a42488b..0000000 --- a/assets/libs/leaflet-providers/package.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "name": "leaflet-providers", - "version": "1.0.12", - "description": "An extension to Leaflet that contains configurations for various free tile providers.", - "main": "leaflet-providers.js", - "repository": { - "type": "git", - "url": "git://github.com/leaflet-extras/leaflet-providers.git" - }, - "scripts": { - "test": "jshint leaflet-providers.js preview/*.js", - "min": "uglifyjs leaflet-providers.js -mc -o leaflet-providers.min.js", - "release": "mversion patch -m" - }, - "license": "BSD-2-Clause", - "bugs": { - "url": "https://github.com/leaflet-extras/leaflet-providers/issues" - }, - "devDependencies": { - "jshint": "~2.1.11", - "mversion": "^1.3.0", - "uglify-js": "^2.4.15" - } -} diff --git a/assets/libs/spin-js/LICENSE.txt b/assets/libs/spin-js/LICENSE.txt deleted file mode 100644 index 9457b39..0000000 --- a/assets/libs/spin-js/LICENSE.txt +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License - -Copyright (c) 2011-2014 Felix Gnass [fgnass at neteye dot de] - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/assets/libs/spin-js/spin.min.js b/assets/libs/spin-js/spin.min.js deleted file mode 100644 index fe2ac93..0000000 --- a/assets/libs/spin-js/spin.min.js +++ /dev/null @@ -1,2 +0,0 @@ -//fgnass.github.com/spin.js#v2.0.1 -!function(a,b){"object"==typeof exports?module.exports=b():"function"==typeof define&&define.amd?define(b):a.Spinner=b()}(this,function(){"use strict";function a(a,b){var c,d=document.createElement(a||"div");for(c in b)d[c]=b[c];return d}function b(a){for(var b=1,c=arguments.length;c>b;b++)a.appendChild(arguments[b]);return a}function c(a,b,c,d){var e=["opacity",b,~~(100*a),c,d].join("-"),f=.01+c/d*100,g=Math.max(1-(1-a)/b*(100-f),a),h=j.substring(0,j.indexOf("Animation")).toLowerCase(),i=h&&"-"+h+"-"||"";return l[e]||(m.insertRule("@"+i+"keyframes "+e+"{0%{opacity:"+g+"}"+f+"%{opacity:"+a+"}"+(f+.01)+"%{opacity:1}"+(f+b)%100+"%{opacity:"+a+"}100%{opacity:"+g+"}}",m.cssRules.length),l[e]=1),e}function d(a,b){var c,d,e=a.style;for(b=b.charAt(0).toUpperCase()+b.slice(1),d=0;d',c)}m.addRule(".spin-vml","behavior:url(#default#VML)"),h.prototype.lines=function(a,d){function f(){return e(c("group",{coordsize:k+" "+k,coordorigin:-j+" "+-j}),{width:k,height:k})}function h(a,h,i){b(m,b(e(f(),{rotation:360/d.lines*a+"deg",left:~~h}),b(e(c("roundrect",{arcsize:d.corners}),{width:j,height:d.width,left:d.radius,top:-d.width>>1,filter:i}),c("fill",{color:g(d.color,a),opacity:d.opacity}),c("stroke",{opacity:0}))))}var i,j=d.length+d.width,k=2*j,l=2*-(d.width+d.length)+"px",m=e(f(),{position:"absolute",top:l,left:l});if(d.shadow)for(i=1;i<=d.lines;i++)h(i,-2,"progid:DXImageTransform.Microsoft.Blur(pixelradius=2,makeshadow=1,shadowopacity=.3)");for(i=1;i<=d.lines;i++)h(i);return b(a,m)},h.prototype.opacity=function(a,b,c,d){var e=a.firstChild;d=d.shadow&&d.lines||0,e&&b+d>1)+"px"})}for(var i,k=0,l=(f.lines-1)*(1-f.direction)/2;k