!function(e){"object"==typeof exports?module.exports=e():"function"==typeof define&&define.amd?define(e):"undefined"!=typeof window?window.osmtogeojson=e():"undefined"!=typeof global?global.osmtogeojson=e():"undefined"!=typeof self&&(self.osmtogeojson=e())}(function(){return function e(n,t,r){function o(i,u){if(!t[i]){if(!n[i]){var s="function"==typeof require&&require;if(!u&&s)return s(i,!0);if(a)return a(i,!0);throw new Error("Cannot find module '"+i+"'")}var l=t[i]={exports:{}};n[i][0].call(l.exports,function(e){var t=n[i][1][e];return o(t?t:e)},l,l.exports,e,n,t,r)}return t[i].exports}for(var a="function"==typeof require&&require,i=0;i0&&(o[r].nodes=i),t.isEmpty(a)||(o[r].tags=a)}),t.each(e.getElementsByTagName("relation"),function(e,r){var o={},i=[];t.each(e.getElementsByTagName("tag"),function(e){o[e.getAttribute("k")]=e.getAttribute("v")}),t.each(e.getElementsByTagName("member"),function(e,t){i[t]={},n(e,i[t],"ref"),n(e,i[t],"role"),n(e,i[t],"type")}),a[r]={type:"relation"},n(e,a[r],"id"),n(e,a[r],"version"),n(e,a[r],"timestamp"),n(e,a[r],"changeset"),n(e,a[r],"uid"),n(e,a[r],"user"),i.length>0&&(a[r].members=i),t.isEmpty(o)||(a[r].tags=o)}),u(r,o,a)}function u(e,o,a){function i(e,t){if("object"!=typeof t&&(t={}),"function"==typeof n.uninterestingTags)return!n.uninterestingTags(e,t);for(var r in e)if(n.uninterestingTags[r]!==!0&&t[r]!==!0&&t[r]!==e[r])return!0;return!1}function u(e){var n={timestamp:e.timestamp,version:e.version,changeset:e.changeset,user:e.user,uid:e.uid};for(k in n)void 0===n[k]&&delete n[k];return n}function l(e,n){function r(e){for(var n,t,r,o,a,i,u=function(e){return e[0]},s=function(e){return e[e.length-1]},l=[];e.length;)for(n=e.pop().nodes.slice(),l.push(n);e.length&&u(n)!==s(n);){for(t=u(n),r=s(n),o=0;or!=f>r&&(l-u)*(r-s)/(f-s)+u>t;c&&(o=!o)}return o};for(e=o(e),n=0;no?0:o);++r3&&"function"==typeof t[r-2])var o=c(t[--r-1],t[r--],2);else r>2&&"function"==typeof t[r-1]&&(o=t[--r]);for(var u=i(arguments,1,r),s=-1,l=e(),f=e();++s2?d(e,17,i(arguments,2),null,n):d(e,1,null,null,n)}function S(e){return e}function C(){}var T=[],L={},N=40,F=/\w*$/,I=/^\s*function[ \n\r\t]+\w/,D=/\bthis\b/,M=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],B="[object Arguments]",R="[object Array]",H="[object Boolean]",q="[object Date]",U="[object Error]",$="[object Function]",X="[object Number]",G="[object Object]",V="[object RegExp]",W="[object String]",z={};z[$]=!1,z[B]=z[R]=z[H]=z[q]=z[X]=z[G]=z[V]=z[W]=!0;var J={configurable:!1,enumerable:!1,value:null,writable:!1},K={args:"",array:null,bottom:"",firstArg:"",init:"",keys:null,loop:"",shadowedProps:null,support:null,top:"",useHas:!1},Q={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},Y=Q[typeof window]&&window||this,Z=Q[typeof t]&&t&&!t.nodeType&&t,en=Q[typeof n]&&n&&!n.nodeType&&n,nn=en&&en.exports===Z&&Z,tn=Q[typeof r]&&r;!tn||tn.global!==tn&&tn.window!==tn||(Y=tn);var rn=[],on=Error.prototype,an=Object.prototype,un=String.prototype,sn=an.toString,ln=RegExp("^"+String(sn).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),fn=Function.prototype.toString,cn=m(cn=Object.getPrototypeOf)&&cn,pn=an.hasOwnProperty,gn=rn.push,dn=an.propertyIsEnumerable,yn=rn.unshift,mn=function(){try{var e={},n=m(n=Object.defineProperty)&&n,t=n(e,e,e)&&n}catch(r){}return t}(),hn=m(hn=Object.create)&&hn,bn=m(bn=Array.isArray)&&bn,vn=m(vn=Object.keys)&&vn,wn={};wn[R]=Array,wn[H]=Boolean,wn[q]=Date,wn[$]=Function,wn[G]=Object,wn[X]=Number,wn[V]=RegExp,wn[W]=String;var xn={};xn[R]=xn[q]=xn[X]={constructor:!0,toLocaleString:!0,toString:!0,valueOf:!0},xn[H]=xn[W]={constructor:!0,toString:!0,valueOf:!0},xn[U]=xn[$]=xn[V]={constructor:!0,toString:!0},xn[G]={constructor:!0},function(){for(var e=M.length;e--;){var n=M[e];for(var t in xn)pn.call(xn,t)&&!pn.call(xn[t],n)&&(xn[t][n]=!1)}}();var jn=u.support={};!function(){var e=function(){this.x=1},n={0:1,length:1},t=[];e.prototype={valueOf:1,y:1};for(var r in new e)t.push(r);for(r in arguments);jn.argsClass=sn.call(arguments)==B,jn.argsObject=arguments.constructor==Object&&!(arguments instanceof Array),jn.enumErrorProps=dn.call(on,"message")||dn.call(on,"name"),jn.enumPrototypes=dn.call(e,"prototype"),jn.funcDecomp=!m(Y.WinRTError)&&D.test(function(){return this}),jn.funcNames="string"==typeof Function.name,jn.nonEnumArgs=0!=r,jn.nonEnumShadows=!/valueOf/.test(t),jn.ownLast="x"!=t[0],jn.spliceObjects=(rn.splice.call(n,0,1),!n[0]),jn.unindexedChars="x"[0]+Object("x")[0]!="xx";try{jn.nodeClass=!(sn.call(document)==G&&!({toString:0}+""))}catch(o){jn.nodeClass=!0}}(1);var An=function(e){var n="var index, iterable = "+e.firstArg+", result = "+e.init+";\nif (!iterable) return result;\n"+e.top+";";e.array?(n+="\nvar length = iterable.length; index = -1;\nif ("+e.array+") { ",jn.unindexedChars&&(n+="\n if (isString(iterable)) {\n iterable = iterable.split('')\n } "),n+="\n while (++index < length) {\n "+e.loop+";\n }\n}\nelse { "):jn.nonEnumArgs&&(n+="\n var length = iterable.length; index = -1;\n if (length && isArguments(iterable)) {\n while (++index < length) {\n index += '';\n "+e.loop+";\n }\n } else { "),jn.enumPrototypes&&(n+="\n var skipProto = typeof iterable == 'function';\n "),jn.enumErrorProps&&(n+="\n var skipErrorProps = iterable === errorProto || iterable instanceof Error;\n ");var t=[];if(jn.enumPrototypes&&t.push('!(skipProto && index == "prototype")'),jn.enumErrorProps&&t.push('!(skipErrorProps && (index == "message" || index == "name"))'),e.useHas&&e.keys)n+="\n var ownIndex = -1,\n ownProps = objectTypes[typeof iterable] && keys(iterable),\n length = ownProps ? ownProps.length : 0;\n\n while (++ownIndex < length) {\n index = ownProps[ownIndex];\n",t.length&&(n+=" if ("+t.join(" && ")+") {\n "),n+=e.loop+"; ",t.length&&(n+="\n }"),n+="\n } ";else if(n+="\n for (index in iterable) {\n",e.useHas&&t.push("hasOwnProperty.call(iterable, index)"),t.length&&(n+=" if ("+t.join(" && ")+") {\n "),n+=e.loop+"; ",t.length&&(n+="\n }"),n+="\n } ",jn.nonEnumShadows){for(n+="\n\n if (iterable !== objectProto) {\n var ctor = iterable.constructor,\n isProto = iterable === (ctor && ctor.prototype),\n className = iterable === stringProto ? stringClass : iterable === errorProto ? errorClass : toString.call(iterable),\n nonEnum = nonEnumProps[className];\n ",k=0;7>k;k++)n+="\n index = '"+e.shadowedProps[k]+"';\n if ((!(isProto && nonEnum[index]) && hasOwnProperty.call(iterable, index))",e.useHas||(n+=" || (!nonEnum[index] && iterable[index] !== objectProto[index])"),n+=") {\n "+e.loop+";\n } ";n+="\n } "}return(e.array||jn.nonEnumArgs)&&(n+="\n}"),n+=e.bottom+";\nreturn result"};hn||(f=function(){function e(){}return function(n){if(j(n)){e.prototype=n;var t=new e;e.prototype=null}return t||Y.Object()}}());var Pn=mn?function(e,n){J.value=n,mn(e,"__bindData__",J)}:C;jn.argsClass||(b=function(e){return e&&"object"==typeof e&&"number"==typeof e.length&&pn.call(e,"callee")&&!dn.call(e,"callee")||!1});var kn=bn||function(e){return e&&"object"==typeof e&&"number"==typeof e.length&&sn.call(e)==R||!1},_n=y({args:"object",init:"[]",top:"if (!(objectTypes[typeof object])) return result",loop:"result.push(index)"}),En=vn?function(e){return j(e)?jn.enumPrototypes&&"function"==typeof e||jn.nonEnumArgs&&e.length&&b(e)?_n(e):vn(e):[]}:_n,On={args:"collection, callback, thisArg",top:"callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3)",array:"typeof length == 'number'",keys:En,loop:"if (callback(iterable[index], index, collection) === false) return result"},Sn={args:"object, source, guard",top:"var args = arguments,\n argsIndex = 0,\n argsLength = typeof guard == 'number' ? 2 : args.length;\nwhile (++argsIndex < argsLength) {\n iterable = args[argsIndex];\n if (iterable && objectTypes[typeof iterable]) {",keys:En,loop:"if (typeof result[index] == 'undefined') result[index] = iterable[index]",bottom:" }\n}"},Cn={top:"if (!objectTypes[typeof iterable]) return result;\n"+On.top,array:!1},Tn=y(On),Ln=y(Sn,{top:Sn.top.replace(";",";\nif (argsLength > 3 && typeof args[argsLength - 2] == 'function') {\n var callback = baseCreateCallback(args[--argsLength - 1], args[argsLength--], 2);\n} else if (argsLength > 2 && typeof args[argsLength - 1] == 'function') {\n callback = args[--argsLength];\n}"),loop:"result[index] = callback ? callback(result[index], iterable[index]) : iterable[index]"}),Nn=y(On,Cn,{useHas:!1}),Fn=y(On,Cn);x(/x/)&&(x=function(e){return"function"==typeof e&&sn.call(e)==$});var In=cn?function(e){if(!e||sn.call(e)!=G||!jn.argsClass&&b(e))return!1;var n=e.valueOf,t=m(n)&&(t=cn(n))&&cn(t);return t?e==t||cn(e)==t:h(e)}:h;u.assign=Ln,u.bind=O,u.compact=E,u.forEach=_,u.forIn=Nn,u.forOwn=Fn,u.keys=En,u.merge=P,u.each=_,u.extend=Ln,u.clone=v,u.identity=S,u.isArguments=b,u.isArray=kn,u.isEmpty=w,u.isFunction=x,u.isObject=j,u.isPlainObject=In,u.isString=A,u.noop=C,u.VERSION="2.4.1",Z&&en&&nn&&((en.exports=u)._=u)}).call(this)},{}],3:[function(e,n){function t(e,n){switch(e&&e.type||null){case"FeatureCollection":return e.features=e.features.map(r(t,n)),e;case"Feature":return e.geometry=t(e.geometry,n),e;case"Polygon":case"MultiPolygon":return o(e,n);default:return e}}function r(e,n){return function(t){return e(t,n)}}function o(e,n){return"Polygon"===e.type?e.coordinates=a(e.coordinates,n):"MultiPolygon"===e.type&&(e.coordinates=e.coordinates.map(r(a,n))),e}function a(e,n){n=!!n,e[0]=i(e[0],!n);for(var t=1;t=0}var s=e("geojson-area");n.exports=t},{"geojson-area":4}],4:[function(e,n){function t(e){if("Polygon"===e.type)return r(e.coordinates);if("MultiPolygon"===e.type){for(var n=0,t=0;t0){n+=Math.abs(o(e[0]));for(var t=1;t2){for(var t,r,o=0;o