vizicities/dist/vizicities.min.js

9 wiersze
202 KiB
JavaScript

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("THREE"),require("TweenLite")):"function"==typeof define&&define.amd?define(["THREE","TweenLite"],t):"object"==typeof exports?exports.VIZI=t(require("THREE"),require("TweenLite")):e.VIZI=t(e.THREE,e.TweenLite)}(this,function(__WEBPACK_EXTERNAL_MODULE_10__,__WEBPACK_EXTERNAL_MODULE_41__){return function(e){function t(r){if(n[r])return n[r].exports;var i=n[r]={exports:{},id:r,loaded:!1};return e[r].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(1),o=r(i),a=n(37),s=r(a),u=n(6),l=r(u),c=n(32),f=r(c),h=n(31),p=r(h),d=n(42),v=r(d),y=n(57),m=r(y),_=n(75),g=r(_),b=n(59),x=r(b),w=n(76),M=r(w),E=n(72),O=r(E),k=n(73),P=r(k),T=n(74),j=r(T),S=n(8),A=r(S),C=n(7),L=r(C),D=n(70),R=r(D),B=n(77),I=r(B),F={version:"0.3",World:o["default"],world:i.world,Controls:s["default"],Geo:l["default"],Layer:f["default"],layer:c.layer,EnvironmentLayer:p["default"],environmentLayer:h.environmentLayer,ImageTileLayer:v["default"],imageTileLayer:d.imageTileLayer,GeoJSONTileLayer:m["default"],geoJSONTileLayer:y.geoJSONTileLayer,TopoJSONTileLayer:g["default"],topoJSONTileLayer:_.topoJSONTileLayer,GeoJSONLayer:x["default"],geoJSONLayer:b.geoJSONLayer,TopoJSONLayer:M["default"],topoJSONLayer:w.topoJSONLayer,PolygonLayer:O["default"],polygonLayer:E.polygonLayer,PolylineLayer:P["default"],polylineLayer:k.polylineLayer,PointLayer:j["default"],pointLayer:T.pointLayer,Point:A["default"],point:S.point,LatLon:L["default"],latLon:C.latLon,PickingMaterial:R["default"],Util:I["default"]};t["default"]=F,e.exports=t["default"]},function(e,t,n){function r(e){return e&&e.__esModule?e:{"default":e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=function(e,t,n){for(var r=!0;r;){var i=e,o=t,a=n;r=!1,null===i&&(i=Function.prototype);var s=Object.getOwnPropertyDescriptor(i,o);if(void 0!==s){if("value"in s)return s.value;var u=s.get;if(void 0===u)return;return u.call(a)}var l=Object.getPrototypeOf(i);if(null===l)return;e=l,t=o,n=a,r=!0,s=l=void 0}},u=n(2),l=r(u),c=n(3),f=r(c),h=n(6),p=r(h),d=n(8),v=n(7),y=n(9),m=r(y),_=n(31),g=r(_),b=function(e){function t(e,n){var r=this;i(this,t),s(Object.getPrototypeOf(t.prototype),"constructor",this).call(this);var o={skybox:!1,postProcessing:!1};this.options=(0,f["default"])({},o,n),this._layers=[],this._controls=[],this._initContainer(e),this._initAttribution(),this._initEngine(),this._initEnvironment().then(function(){r._initEvents(),r._pause=!1,r._update()})}return o(t,e),a(t,[{key:"_initContainer",value:function(e){this._container=document.getElementById(e)}},{key:"_initAttribution",value:function(){var e='<a href="http://vizicities.com" target="_blank">Powered by ViziCities</a>',t=document.createElement("div");t.classList.add("vizicities-attribution"),t.innerHTML=e,this._container.appendChild(t)}},{key:"_initEngine",value:function(){this._engine=new m["default"](this._container,this)}},{key:"_initEnvironment",value:function(){return this._environment=new g["default"]({skybox:this.options.skybox}),this._environment.addTo(this)}},{key:"_initEvents",value:function(){this.on("controlsMoveEnd",this._onControlsMoveEnd)}},{key:"_onControlsMoveEnd",value:function(e){var t=(0,d.point)(e.x,e.z);this._resetView(this.pointToLatLon(t),t)}},{key:"_resetView",value:function(e,t){this.emit("preResetView"),this._moveStart(),this._move(e,t),this._moveEnd(),this.emit("postResetView")}},{key:"_moveStart",value:function(){this.emit("moveStart")}},{key:"_move",value:function(e,t){this._lastPosition=e,this.emit("move",e,t)}},{key:"_moveEnd",value:function(){this.emit("moveEnd")}},{key:"_update",value:function(){if(!this._pause){var e=this._engine.clock.getDelta();window.requestAnimationFrame(this._update.bind(this)),this._controls.forEach(function(t){t.update(e)}),this.emit("preUpdate",e),this._engine.update(e),this.emit("postUpdate",e)}}},{key:"setView",value:function(e){return this._originLatlon=e,this._originPoint=this.project(e),this._resetView(e),this}},{key:"getPosition",value:function(){return this._lastPosition}},{key:"project",value:function(e){return p["default"].latLonToPoint((0,v.latLon)(e))}},{key:"unproject",value:function(e){return p["default"].pointToLatLon((0,d.point)(e))}},{key:"latLonToPoint",value:function(e){var t=this.project((0,v.latLon)(e));return t._subtract(this._originPoint)}},{key:"pointToLatLon",value:function(e){var t=(0,d.point)(e).add(this._originPoint);return this.unproject(t)}},{key:"pointScale",value:function(e,t){return p["default"].pointScale(e,t)}},{key:"metresToWorld",value:function(e,t,n){return p["default"].metresToWorld(e,t,n)}},{key:"worldToMetres",value:function(e,t,n){return p["default"].worldToMetres(e,t,n)}},{key:"getCamera",value:function(){return this._engine._camera}},{key:"addLayer",value:function(e){var t=this;return this._layers.push(e),e.isOutput()&&e.isOutputToScene()&&(this._engine._scene.add(e._object3D),this._engine._domScene3D.add(e._domObject3D),this._engine._domScene2D.add(e._domObject2D)),new Promise(function(n,r){e._addToWorld(t).then(function(){t.emit("layerAdded",e),n(t)})["catch"](r)})}},{key:"removeLayer",value:function(e){var t=this._layers.indexOf(e);return t>-1&&this._layers.splice(t,1),e.isOutput()&&e.isOutputToScene()&&(this._engine._scene.remove(e._object3D),this._engine._domScene3D.remove(e._domObject3D),this._engine._domScene2D.remove(e._domObject2D)),this.emit("layerRemoved"),Promise.resolve(this)}},{key:"addControls",value:function(e){return e._addToWorld(this),this._controls.push(e),this.emit("controlsAdded",e),Promise.resolve(this)}},{key:"removeControls",value:function(e){var t=this._controls.indexOf(t);return t>-1&&this._controls.splice(t,1),this.emit("controlsRemoved",e),Promise.resolve(this)}},{key:"stop",value:function(){this._pause=!0}},{key:"start",value:function(){this._pause=!1,this._update()}},{key:"destroy",value:function(){this.stop(),this.off("controlsMoveEnd",this._onControlsMoveEnd);var e,t;for(e=this._controls.length-1;e>=0;e--)t=this._controls[0],this.removeControls(t),t.destroy();var n;for(e=this._layers.length-1;e>=0;e--)n=this._layers[0],this.removeLayer(n),n.destroy();for(this._environment=null,this._engine.destroy(),this._engine=null;this._container.firstChild;)this._container.removeChild(this._container.firstChild);this._container=null}}]),t}(l["default"]);t["default"]=b;var x=function(e,t){return new b(e,t)};t.world=x},function(e,t,n){"use strict";function r(e,t,n){this.fn=e,this.context=t,this.once=n||!1}function i(){}var o=Object.prototype.hasOwnProperty,a="function"!=typeof Object.create?"~":!1;i.prototype._events=void 0,i.prototype.eventNames=function(){var e,t=this._events,n=[];if(!t)return n;for(e in t)o.call(t,e)&&n.push(a?e.slice(1):e);return Object.getOwnPropertySymbols?n.concat(Object.getOwnPropertySymbols(t)):n},i.prototype.listeners=function(e,t){var n=a?a+e:e,r=this._events&&this._events[n];if(t)return!!r;if(!r)return[];if(r.fn)return[r.fn];for(var i=0,o=r.length,s=new Array(o);o>i;i++)s[i]=r[i].fn;return s},i.prototype.emit=function(e,t,n,r,i,o){var s=a?a+e:e;if(!this._events||!this._events[s])return!1;var u,l,c=this._events[s],f=arguments.length;if("function"==typeof c.fn){switch(c.once&&this.removeListener(e,c.fn,void 0,!0),f){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,t),!0;case 3:return c.fn.call(c.context,t,n),!0;case 4:return c.fn.call(c.context,t,n,r),!0;case 5:return c.fn.call(c.context,t,n,r,i),!0;case 6:return c.fn.call(c.context,t,n,r,i,o),!0}for(l=1,u=new Array(f-1);f>l;l++)u[l-1]=arguments[l];c.fn.apply(c.context,u)}else{var h,p=c.length;for(l=0;p>l;l++)switch(c[l].once&&this.removeListener(e,c[l].fn,void 0,!0),f){case 1:c[l].fn.call(c[l].context);break;case 2:c[l].fn.call(c[l].context,t);break;case 3:c[l].fn.call(c[l].context,t,n);break;default:if(!u)for(h=1,u=new Array(f-1);f>h;h++)u[h-1]=arguments[h];c[l].fn.apply(c[l].context,u)}}return!0},i.prototype.on=function(e,t,n){var i=new r(t,n||this),o=a?a+e:e;return this._events||(this._events=a?{}:Object.create(null)),this._events[o]?this._events[o].fn?this._events[o]=[this._events[o],i]:this._events[o].push(i):this._events[o]=i,this},i.prototype.once=function(e,t,n){var i=new r(t,n||this,!0),o=a?a+e:e;return this._events||(this._events=a?{}:Object.create(null)),this._events[o]?this._events[o].fn?this._events[o]=[this._events[o],i]:this._events[o].push(i):this._events[o]=i,this},i.prototype.removeListener=function(e,t,n,r){var i=a?a+e:e;if(!this._events||!this._events[i])return this;var o=this._events[i],s=[];if(t)if(o.fn)(o.fn!==t||r&&!o.once||n&&o.context!==n)&&s.push(o);else for(var u=0,l=o.length;l>u;u++)(o[u].fn!==t||r&&!o[u].once||n&&o[u].context!==n)&&s.push(o[u]);return s.length?this._events[i]=1===s.length?s[0]:s:delete this._events[i],this},i.prototype.removeAllListeners=function(e){return this._events?(e?delete this._events[a?a+e:e]:this._events=a?{}:Object.create(null),this):this},i.prototype.off=i.prototype.removeListener,i.prototype.addListener=i.prototype.on,i.prototype.setMaxListeners=function(){return this},i.prefixed=a,e.exports=i},function(e,t,n){function r(e,t,n){var r=e[t];w.call(e,t)&&c(r,n)&&(void 0!==n||t in e)||(e[t]=n)}function i(e){return function(t){return null==t?void 0:t[e]}}function o(e,t,n,i){n||(n={});for(var o=-1,a=t.length;++o<a;){var s=t[o],u=i?i(n[s],e[s],s,n,e):e[s];r(n,s,u)}return n}function a(e){return y(function(t,n){var r=-1,i=n.length,o=i>1?n[i-1]:void 0,a=i>2?n[2]:void 0;for(o=e.length>3&&"function"==typeof o?(i--,o):void 0,a&&u(n[0],n[1],a)&&(o=3>i?void 0:o,i=1),t=Object(t);++r<i;){var s=n[r];s&&e(t,s,r,o)}return t})}function s(e,t){return t=null==t?m:t,!!t&&("number"==typeof e||b.test(e))&&e>-1&&e%1==0&&t>e}function u(e,t,n){if(!d(n))return!1;var r=typeof t;return("number"==r?f(n)&&s(t,n.length):"string"==r&&t in n)?c(n[t],e):!1}function l(e){var t=e&&e.constructor,n="function"==typeof t&&t.prototype||x;return e===n}function c(e,t){return e===t||e!==e&&t!==t}function f(e){return null!=e&&p(k(e))&&!h(e)}function h(e){var t=d(e)?M.call(e):"";return t==_||t==g}function p(e){return"number"==typeof e&&e>-1&&e%1==0&&m>=e}function d(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}var v=n(4),y=n(5),m=9007199254740991,_="[object Function]",g="[object GeneratorFunction]",b=/^(?:0|[1-9]\d*)$/,x=Object.prototype,w=x.hasOwnProperty,M=x.toString,E=x.propertyIsEnumerable,O=!E.call({valueOf:1},"valueOf"),k=i("length"),P=a(function(e,t){if(O||l(t)||f(t))return void o(t,v(t),e);for(var n in t)w.call(t,n)&&r(e,n,t[n])});e.exports=P},function(e,t){function n(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}function r(e,t){return k.call(e,t)||"object"==typeof e&&t in e&&null===a(e)}function i(e){return S(Object(e))}function o(e){return function(t){return null==t?void 0:t[e]}}function a(e){return j(Object(e))}function s(e){var t=e?e.length:void 0;return d(t)&&(C(e)||m(e)||c(e))?n(t,String):null}function u(e,t){return t=null==t?g:t,!!t&&("number"==typeof e||E.test(e))&&e>-1&&e%1==0&&t>e}function l(e){var t=e&&e.constructor,n="function"==typeof t&&t.prototype||O;return e===n}function c(e){return h(e)&&k.call(e,"callee")&&(!T.call(e,"callee")||P.call(e)==b)}function f(e){return null!=e&&d(A(e))&&!p(e)}function h(e){return y(e)&&f(e)}function p(e){var t=v(e)?P.call(e):"";return t==x||t==w}function d(e){return"number"==typeof e&&e>-1&&e%1==0&&g>=e}function v(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function y(e){return!!e&&"object"==typeof e}function m(e){return"string"==typeof e||!C(e)&&y(e)&&P.call(e)==M}function _(e){var t=l(e);if(!t&&!f(e))return i(e);var n=s(e),o=!!n,a=n||[],c=a.length;for(var h in e)!r(e,h)||o&&("length"==h||u(h,c))||t&&"constructor"==h||a.push(h);return a}var g=9007199254740991,b="[object Arguments]",x="[object Function]",w="[object GeneratorFunction]",M="[object String]",E=/^(?:0|[1-9]\d*)$/,O=Object.prototype,k=O.hasOwnProperty,P=O.toString,T=O.propertyIsEnumerable,j=Object.getPrototypeOf,S=Object.keys,A=o("length"),C=Array.isArray;e.exports=_},function(e,t){function n(e,t,n){var r=n.length;switch(r){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}function r(e,t){if("function"!=typeof e)throw new TypeError(f);return t=O(void 0===t?e.length-1:l(t),0),function(){for(var r=arguments,i=-1,o=O(r.length-t,0),a=Array(o);++i<o;)a[i]=r[t+i];switch(t){case 0:return e.call(this,a);case 1:return e.call(this,r[0],a);case 2:return e.call(this,r[0],r[1],a)}var s=Array(t+1);for(i=-1;++i<t;)s[i]=r[i];return s[t]=a,n(e,this,s)}}function i(e){var t=o(e)?E.call(e):"";return t==v||t==y}function o(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function a(e){return!!e&&"object"==typeof e}function s(e){return"symbol"==typeof e||a(e)&&E.call(e)==m}function u(e){if(!e)return 0===e?e:0;if(e=c(e),e===h||e===-h){var t=0>e?-1:1;return t*p}return e===e?e:0}function l(e){var t=u(e),n=t%1;return t===t?n?t-n:t:0}function c(e){if("number"==typeof e)return e;if(s(e))return d;if(o(e)){var t=i(e.valueOf)?e.valueOf():e;e=o(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(_,"");var n=b.test(e);return n||x.test(e)?w(e.slice(2),n?2:8):g.test(e)?d:+e}var f="Expected a function",h=1/0,p=1.7976931348623157e308,d=NaN,v="[object Function]",y="[object GeneratorFunction]",m="[object Symbol]",_=/^\s+|\s+$/g,g=/^[-+]0x[0-9a-f]+$/i,b=/^0b[01]+$/i,x=/^0o[0-7]+$/i,w=parseInt,M=Object.prototype,E=M.toString,O=Math.max;e.exports=r},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var r=n(7),i=n(8),o={};o.R=6378137,o.MAX_LATITUDE=85.0511287798,o.ECC=.081819191,o.ECC2=.006694380015894481,o.project=function(e){var t=Math.PI/180,n=o.MAX_LATITUDE,r=Math.max(Math.min(n,e.lat),-n),a=Math.sin(r*t);return(0,i.point)(o.R*e.lon*t,o.R*Math.log((1+a)/(1-a))/2)},o.unproject=function(e){var t=180/Math.PI;return(0,r.latLon)((2*Math.atan(Math.exp(e.y/o.R))-Math.PI/2)*t,e.x*t/o.R)},o.latLonToPoint=function(e){var t=o.project(e);return t.y*=-1,t},o.pointToLatLon=function(e){var t=(0,i.point)(e.x,-1*e.y);return o.unproject(t)},o.pointScale=function(e,t){var n,r=Math.PI/180;if(t){var i=e.lat*r,a=(e.lon*r,o.R),s=Math.sin(i),u=s*s,l=Math.cos(i),c=a*(1-o.ECC2)/Math.pow(1-o.ECC2*u,1.5),f=a/Math.sqrt(1-o.ECC2*u),h=a/c/l;return n=a/f/l,[n,h]}return n=1/Math.cos(e.lat*r),[n,n]},o.metresToProjected=function(e,t){return e*t[1]},o.projectedToMetres=function(e,t){return e/t[1]},o.metresToWorld=function(e,t){var n=o.metresToProjected(e,t),r=o.scale(),i=r*n;return i},o.worldToMetres=function(e,t){var n=o.scale(),r=e/n,i=o.projectedToMetres(r,t);return i},o.scale=function(e){return e>=0?256*Math.pow(2,e):1},o.zoom=function(e){return Math.log(e/256)/Math.LN2},o.distance=function(e,t,n){var r,i,a,s=Math.PI/180;if(n){r=e.lat*s,i=t.lat*s;var u=e.lon*s,l=t.lon*s,c=i-r,f=l-u,h=c/2,p=f/2;a=Math.sin(h)*Math.sin(h)+Math.cos(r)*Math.cos(i)*Math.sin(p)*Math.sin(p);var d=2*Math.atan2(Math.sqrt(a),Math.sqrt(1-a));return o.R*d}return r=e.lat*s,i=t.lat*s,a=Math.sin(r)*Math.sin(i)+Math.cos(r)*Math.cos(i)*Math.cos((t.lon-e.lon)*s),o.R*Math.acos(Math.min(a,1))},o.bounds=function(){var e=o.R*Math.PI;return[[-e,-e],[e,e]]}(),t["default"]=o,e.exports=t["default"]},function(e,t){function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t,r,i){if(n(this,e),isNaN(t)||isNaN(r))throw new Error("Invalid LatLon object: ("+t+", "+r+")");this.lat=+t,this.lon=+r,void 0!==i&&(this.alt=+i)}return r(e,[{key:"clone",value:function(){return new e(this.lat,this.lon,this.alt)}}]),e}();t["default"]=i;var o=function(e,t,n){return e instanceof i?e:Array.isArray(e)&&"object"!=typeof e[0]?3===e.length?new i(e[0],e[1],e[2]):2===e.length?new i(e[0],e[1]):null:void 0===e||null===e?e:"object"==typeof e&&"lat"in e?new i(e.lat,"lng"in e?e.lng:e.lon,e.alt):void 0===t?null:new i(e,t,n)};t.latLon=o},function(e,t){function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t,r,i){n(this,e),this.x=i?Math.round(t):t,this.y=i?Math.round(r):r}return r(e,[{key:"clone",value:function(){return new e(this.x,this.y)}},{key:"add",value:function(e){return this.clone()._add(o(e))}},{key:"_add",value:function(e){return this.x+=e.x,this.y+=e.y,this}},{key:"subtract",value:function(e){return this.clone()._subtract(o(e))}},{key:"_subtract",value:function(e){return this.x-=e.x,this.y-=e.y,this}}]),e}();t["default"]=i;var o=function(e,t,n){return e instanceof i?e:Array.isArray(e)?new i(e[0],e[1]):void 0===e||null===e?e:new i(e,t,n)};t.point=o},function(e,t,n){function r(e){return e&&e.__esModule?e:{"default":e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=function(e,t,n){for(var r=!0;r;){var i=e,o=t,a=n;r=!1,null===i&&(i=Function.prototype);var s=Object.getOwnPropertyDescriptor(i,o);if(void 0!==s){if("value"in s)return s.value;var u=s.get;if(void 0===u)return;return u.call(a)}var l=Object.getPrototypeOf(i);if(null===l)return;e=l,t=o,n=a,r=!0,s=l=void 0}},u=n(2),l=r(u),c=n(10),f=r(c),h=n(11),p=r(h),d=n(12),v=r(d),y=n(13),m=r(y),_=n(14),g=r(_),b=n(15),x=r(b),w=n(17),M=r(w),E=n(19),O=r(E),k=n(20),P=r(k),T=n(22),j=r(T),S=n(27),A=r(S),C=n(25),L=r(C),D=n(24),R=r(D),B=n(28),I=r(B),F=n(29),z=r(F),U=n(30),N=r(U),H=function(e){function t(e,n){i(this,t),console.log("Init Engine"),s(Object.getPrototypeOf(t.prototype),"constructor",this).call(this),this._world=n,this._scene=p["default"],this._domScene3D=v["default"],this._domScene2D=m["default"];var r=!this._world.options.postProcessing;this._renderer=(0,g["default"])(e,r),this._domRenderer3D=(0,x["default"])(e),this._domRenderer2D=(0,M["default"])(e),this._camera=(0,O["default"])(e),this._container=e,this._picking=(0,P["default"])(this._world,this._renderer,this._camera),this.clock=new f["default"].Clock,this._frustum=new f["default"].Frustum,this._world.options.postProcessing&&this._initPostProcessing()}return o(t,e),a(t,[{key:"_initPostProcessing",value:function(){var e=new A["default"](this._scene,this._camera),t=new L["default"](N["default"]),n=new L["default"](I["default"]),r=new L["default"](z["default"]),i=5;n.uniforms.r.value=r.uniforms.r.value=.6;var o=new L["default"](R["default"]);o.renderToScreen=!0,this._composer=(0,j["default"])(this._renderer,this._container),this._composer.addPass(e),this._composer.addPass(t),this._composer.addPass(n),this._composer.addPass(r),this._composer.addPass(o);var a=this,s=function(){var e=a._container.clientWidth,o=a._container.clientHeight,s=1;t.uniforms.resolution.value.set(1/(e*s),1/(o*s)),n.uniforms.h.value=i/(e*s),r.uniforms.v.value=i/(o*s)};s(),window.addEventListener("resize",s,!1)}},{key:"update",value:function(e){this.emit("preRender"),this._world.options.postProcessing?this._composer.render(e):this._renderer.render(this._scene,this._camera),this._domRenderer3D.render(this._domScene3D,this._camera),this._domRenderer2D.render(this._domScene2D,this._camera),this.emit("postRender")}},{key:"destroy",value:function(){for(var e,t=this._scene.children.length-1;t>=0;t--)e=this._scene.children[t],e&&(this._scene.remove(e),e.geometry&&(e.geometry.dispose(),e.geometry=null),e.material&&(e.material.map&&(e.material.map.dispose(),e.material.map=null),e.material.dispose(),e.material=null));for(var t=this._domScene3D.children.length-1;t>=0;t--)e=this._domScene3D.children[t],e&&this._domScene3D.remove(e);for(var t=this._domScene2D.children.length-1;t>=0;t--)e=this._domScene2D.children[t],e&&this._domScene2D.remove(e);this._picking.destroy(),this._picking=null,this._world=null,this._scene=null,this._domScene3D=null,this._domScene2D=null,this._composer=null,this._renderer=null,this._domRenderer3D=null,this._domRenderer2D=null,this._camera=null,this._clock=null,this._frustum=null}}]),t}(l["default"]);t["default"]=H,e.exports=t["default"]},function(e,t){e.exports=__WEBPACK_EXTERNAL_MODULE_10__},function(e,t,n){function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(10),o=r(i);t["default"]=function(){var e=new o["default"].Scene;return e}(),e.exports=t["default"]},function(e,t,n){function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(10),o=r(i);t["default"]=function(){var e=new o["default"].Scene;return e}(),e.exports=t["default"]},function(e,t,n){function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(10),o=r(i);t["default"]=function(){var e=new o["default"].Scene;return e}(),e.exports=t["default"]},function(e,t,n){function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(10),o=r(i),a=n(11);r(a);t["default"]=function(e,t){var n=new o["default"].WebGLRenderer({antialias:t});n.setClearColor(16777215,1);var r=1;n.setPixelRatio(r),n.gammaInput=!0,n.gammaOutput=!0,n.shadowMap.enabled=!0,e.appendChild(n.domElement);var i=function(){n.setSize(e.clientWidth,e.clientHeight)};return window.addEventListener("resize",i,!1),i(),n},e.exports=t["default"]},function(e,t,n){function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(10),o=(r(i),n(16)),a=n(12);r(a);t["default"]=function(e){var t=new o.CSS3DRenderer;t.domElement.style.position="absolute",t.domElement.style.top=0,e.appendChild(t.domElement);var n=function(){t.setSize(e.clientWidth,e.clientHeight)};return window.addEventListener("resize",n,!1),n(),t},e.exports=t["default"]},function(e,t,n){function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(10),o=r(i),a=function(e){o["default"].Object3D.call(this),this.element=e,this.element.style.position="absolute",this.addEventListener("removed",function(e){null!==this.element.parentNode&&this.element.parentNode.removeChild(this.element)})};a.prototype=Object.create(o["default"].Object3D.prototype),a.prototype.constructor=a;var s=function(e){a.call(this,e)};s.prototype=Object.create(a.prototype),s.prototype.constructor=s;var u=function(){console.log("THREE.CSS3DRenderer",o["default"].REVISION);var e,t,n,r,i=new o["default"].Matrix4,u={camera:{fov:0,style:""},objects:{}},l=document.createElement("div");l.style.overflow="hidden",l.style.WebkitTransformStyle="preserve-3d",l.style.MozTransformStyle="preserve-3d",l.style.oTransformStyle="preserve-3d",l.style.transformStyle="preserve-3d",this.domElement=l;var c=document.createElement("div");c.style.WebkitTransformStyle="preserve-3d",c.style.MozTransformStyle="preserve-3d",c.style.oTransformStyle="preserve-3d",c.style.transformStyle="preserve-3d",l.appendChild(c),this.setClearColor=function(){},this.getSize=function(){return{width:e,height:t}},this.setSize=function(i,o){e=i,t=o,n=e/2,r=t/2,l.style.width=i+"px",l.style.height=o+"px",c.style.width=i+"px",c.style.height=o+"px"};var f=function(e){return Math.abs(e)<Number.EPSILON?0:e},h=function(e){var t=e.elements;return"matrix3d("+f(t[0])+","+f(-t[1])+","+f(t[2])+","+f(t[3])+","+f(t[4])+","+f(-t[5])+","+f(t[6])+","+f(t[7])+","+f(t[8])+","+f(-t[9])+","+f(t[10])+","+f(t[11])+","+f(t[12])+","+f(-t[13])+","+f(t[14])+","+f(t[15])+")"},p=function(e){var t=e.elements;return"translate3d(-50%,-50%,0) matrix3d("+f(t[0])+","+f(t[1])+","+f(t[2])+","+f(t[3])+","+f(-t[4])+","+f(-t[5])+","+f(-t[6])+","+f(-t[7])+","+f(t[8])+","+f(t[9])+","+f(t[10])+","+f(t[11])+","+f(t[12])+","+f(t[13])+","+f(t[14])+","+f(t[15])+")"},d=function v(e,t){if(e instanceof a){var n;e instanceof s?(i.copy(t.matrixWorldInverse),i.transpose(),i.copyPosition(e.matrixWorld),i.scale(e.scale),i.elements[3]=0,i.elements[7]=0,i.elements[11]=0,i.elements[15]=1,n=p(i)):n=p(e.matrixWorld);var r=e.element,o=u.objects[e.id];void 0!==o&&o===n||(r.style.WebkitTransform=n,r.style.MozTransform=n,r.style.oTransform=n,r.style.transform=n,u.objects[e.id]=n),r.parentNode!==c&&c.appendChild(r)}for(var l=0,f=e.children.length;f>l;l++)v(e.children[l],t)};this.render=function(e,i){var a=.5/Math.tan(o["default"].Math.degToRad(.5*i.fov))*t;u.camera.fov!==a&&(l.style.WebkitPerspective=a+"px",l.style.MozPerspective=a+"px",l.style.oPerspective=a+"px",l.style.perspective=a+"px",u.camera.fov=a),e.updateMatrixWorld(),null===i.parent&&i.updateMatrixWorld(),i.matrixWorldInverse.getInverse(i.matrixWorld);var s="translate3d(0,0,"+a+"px)"+h(i.matrixWorldInverse)+" translate3d("+n+"px,"+r+"px, 0)";u.camera.style!==s&&(c.style.WebkitTransform=s,c.style.MozTransform=s,c.style.oTransform=s,c.style.transform=s,u.camera.style=s),d(e,i)}};t.CSS3DObject=a,t.CSS3DSprite=s,t.CSS3DRenderer=u,o["default"].CSS3DObject=a,o["default"].CSS3DSprite=s,o["default"].CSS3DRenderer=u},function(e,t,n){function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(10),o=(r(i),n(18)),a=n(13);r(a);t["default"]=function(e){var t=new o.CSS2DRenderer;t.domElement.style.position="absolute",t.domElement.style.top=0,e.appendChild(t.domElement);var n=function(){t.setSize(e.clientWidth,e.clientHeight)};return window.addEventListener("resize",n,!1),n(),t},e.exports=t["default"]},function(e,t,n){function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(10),o=r(i),a=function(e){o["default"].Object3D.call(this),this.element=e,this.element.style.position="absolute",this.addEventListener("removed",function(e){null!==this.element.parentNode&&this.element.parentNode.removeChild(this.element)})};a.prototype=Object.create(o["default"].Object3D.prototype),a.prototype.constructor=a;var s=function(){console.log("THREE.CSS2DRenderer",o["default"].REVISION);var e,t,n,r,i=new o["default"].Vector3,s=new o["default"].Matrix4,u=new o["default"].Matrix4,l=new o["default"].Frustum,c=document.createElement("div");c.style.overflow="hidden",this.domElement=c,this.setSize=function(i,o){e=i,t=o,n=e/2,r=t/2,c.style.width=i+"px",c.style.height=o+"px"};var f=function h(e,t){if(e instanceof a){i.setFromMatrixPosition(e.matrixWorld),i.applyProjection(u);var o=e.element,s="translate(-50%,-50%) translate("+(i.x*n+n)+"px,"+(-i.y*r+r)+"px)";o.style.WebkitTransform=s,o.style.MozTransform=s,o.style.oTransform=s,o.style.transform=s,o.parentNode!==c&&c.appendChild(o),l.containsPoint(e.position)?o.style.display="block":o.style.display="none"}for(var f=0,p=e.children.length;p>f;f++)h(e.children[f],t)};this.render=function(e,t){e.updateMatrixWorld(),null===t.parent&&t.updateMatrixWorld(),t.matrixWorldInverse.getInverse(t.matrixWorld),s.copy(t.matrixWorldInverse.getInverse(t.matrixWorld)),u.multiplyMatrices(t.projectionMatrix,s),l.setFromMatrix((new o["default"].Matrix4).multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse)),f(e,t)}};t.CSS2DObject=a,t.CSS2DRenderer=s,o["default"].CSS2DObject=a,o["default"].CSS2DRenderer=s},function(e,t,n){function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(10),o=r(i);t["default"]=function(e){var t=new o["default"].PerspectiveCamera(45,1,1,2e6);t.position.y=4e3,t.position.z=4e3;var n=function(){t.aspect=e.clientWidth/e.clientHeight,t.updateProjectionMatrix()};return window.addEventListener("resize",n,!1),n(),t},e.exports=t["default"]},function(e,t,n){function r(e){return e&&e.__esModule?e:{"default":e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(10),s=r(a),u=n(8),l=n(21),c=r(l),f=1,h=function(){function e(t,n,r){i(this,e),this._world=t,this._renderer=n,this._camera=r,this._raycaster=new s["default"].Raycaster,this._raycaster.linePrecision=3,this._pickingScene=c["default"],this._pickingTexture=new s["default"].WebGLRenderTarget,this._pickingTexture.texture.minFilter=s["default"].LinearFilter,this._pickingTexture.texture.generateMipmaps=!1,this._nextId=1,this._resizeTexture(),this._initEvents()}return o(e,[{key:"_initEvents",value:function(){this._resizeHandler=this._resizeTexture.bind(this),window.addEventListener("resize",this._resizeHandler,!1),this._mouseUpHandler=this._onMouseUp.bind(this),this._world._container.addEventListener("mouseup",this._mouseUpHandler,!1),this._world.on("move",this._onWorldMove,this)}},{key:"_onMouseUp",value:function(e){if(0===e.button){var t=(0,u.point)(e.clientX,e.clientY),n=(0,u.point)(0,0);n.x=t.x/this._width*2-1,n.y=2*-(t.y/this._height)+1,this._pick(t,n)}}},{key:"_onWorldMove",value:function(){this._needUpdate=!0}},{key:"_resizeTexture",value:function(){var e=this._renderer.getSize();this._width=e.width,this._height=e.height,this._pickingTexture.setSize(this._width,this._height),this._pixelBuffer=new Uint8Array(4*this._width*this._height),this._needUpdate=!0}},{key:"_update",value:function(){if(this._needUpdate){var e=this._pickingTexture;this._renderer.render(this._pickingScene,this._camera,this._pickingTexture),this._renderer.readRenderTargetPixels(e,0,0,e.width,e.height,this._pixelBuffer),this._needUpdate=!1}}},{key:"_pick",value:function(e,t){this._update();var n=e.x+(this._pickingTexture.height-e.y)*this._pickingTexture.width,r=255*this._pixelBuffer[4*n+2]*255+255*this._pixelBuffer[4*n+1]+this._pixelBuffer[4*n+0];if(16646655!==r){this._raycaster.setFromCamera(t,this._camera);var i,o=this._raycaster.intersectObjects(this._pickingScene.children,!0),a=e.clone();o.length>0&&(i=o[0].point.clone()),this._world.emit("pick",r,a,i,o),this._world.emit("pick-"+r,a,i,o)}}},{key:"add",value:function(e){this._pickingScene.add(e),this._needUpdate=!0}},{key:"remove",value:function(e){this._pickingScene.remove(e),this._needUpdate=!0}},{key:"getNextId",value:function(){return f++}},{key:"destroy",value:function(){if(window.removeEventListener("resize",this._resizeHandler,!1),
this._world._container.removeEventListener("mouseup",this._mouseUpHandler,!1),this._world.off("move",this._onWorldMove),this._pickingScene.children)for(var e,t=this._pickingScene.children.length-1;t>=0;t--)e=this._pickingScene.children[t],e&&(this._pickingScene.remove(e),e.material&&(e.material.map&&(e.material.map.dispose(),e.material.map=null),e.material.dispose(),e.material=null));this._pickingScene=null,this._pickingTexture=null,this._pixelBuffer=null,this._world=null,this._renderer=null,this._camera=null}}]),e}();t["default"]=function(e,t,n){return new h(e,t,n)},e.exports=t["default"]},function(e,t,n){function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(10),o=r(i);t["default"]=function(){var e=new o["default"].Scene;return e}(),e.exports=t["default"]},function(e,t,n){function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(10),o=(r(i),n(23)),a=r(o);t["default"]=function(e,t){var n=new a["default"](e),r=function(){var e=1;n.setSize(t.clientWidth*e,t.clientHeight*e)};return window.addEventListener("resize",r,!1),r(),n},e.exports=t["default"]},function(e,t,n){function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(10),o=r(i),a=n(24),s=r(a),u=n(25),l=r(u),c=n(26),f=r(c),h=function(e,t){if(this.renderer=e,void 0===t){var n=e.getPixelRatio(),r=Math.floor(e.context.canvas.width/n)||1,i=Math.floor(e.context.canvas.height/n)||1,a={minFilter:o["default"].LinearFilter,magFilter:o["default"].LinearFilter,format:o["default"].RGBAFormat,stencilBuffer:!1};t=new o["default"].WebGLRenderTarget(r,i,a)}this.renderTarget1=t,this.renderTarget2=t.clone(),this.writeBuffer=this.renderTarget1,this.readBuffer=this.renderTarget2,this.passes=[],void 0===s["default"]&&console.error("EffectComposer relies on THREE.CopyShader"),this.copyPass=new l["default"](s["default"])};h.prototype={swapBuffers:function(){var e=this.readBuffer;this.readBuffer=this.writeBuffer,this.writeBuffer=e},addPass:function(e){this.passes.push(e)},insertPass:function(e,t){this.passes.splice(t,0,e)},render:function(e){this.writeBuffer=this.renderTarget1,this.readBuffer=this.renderTarget2;var t,n,r=!1,i=this.passes.length;for(n=0;i>n;n++)if(t=this.passes[n],t.enabled){if(t.render(this.renderer,this.writeBuffer,this.readBuffer,e,r),t.needsSwap){if(r){var o=this.renderer.context;o.stencilFunc(o.NOTEQUAL,1,4294967295),this.copyPass.render(this.renderer,this.writeBuffer,this.readBuffer,e),o.stencilFunc(o.EQUAL,1,4294967295)}this.swapBuffers()}t instanceof f["default"]?r=!0:t instanceof c.ClearMaskPass&&(r=!1)}},reset:function(e){if(void 0===e){e=this.renderTarget1.clone();var t=this.renderer.getPixelRatio();e.setSize(Math.floor(this.renderer.context.canvas.width/t),Math.floor(this.renderer.context.canvas.height/t))}this.renderTarget1.dispose(),this.renderTarget1=e,this.renderTarget2.dispose(),this.renderTarget2=e.clone(),this.writeBuffer=this.renderTarget1,this.readBuffer=this.renderTarget2},setSize:function(e,t){this.renderTarget1.setSize(e,t),this.renderTarget2.setSize(e,t)}},t["default"]=h,o["default"].EffectComposer=h,e.exports=t["default"]},function(e,t,n){function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(10),o=r(i),a={uniforms:{tDiffuse:{type:"t",value:null},opacity:{type:"f",value:1}},vertexShader:["varying vec2 vUv;","void main() {","vUv = uv;","gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );","}"].join("\n"),fragmentShader:["uniform float opacity;","uniform sampler2D tDiffuse;","varying vec2 vUv;","void main() {","vec4 texel = texture2D( tDiffuse, vUv );","gl_FragColor = opacity * texel;","}"].join("\n")};t["default"]=a,o["default"].CopyShader=a,e.exports=t["default"]},function(e,t,n){function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(10),o=r(i),a=function(e,t){this.textureID=void 0!==t?t:"tDiffuse",e instanceof o["default"].ShaderMaterial?(this.uniforms=e.uniforms,this.material=e):e&&(this.uniforms=o["default"].UniformsUtils.clone(e.uniforms),this.material=new o["default"].ShaderMaterial({defines:e.defines||{},uniforms:this.uniforms,vertexShader:e.vertexShader,fragmentShader:e.fragmentShader})),this.renderToScreen=!1,this.enabled=!0,this.needsSwap=!0,this.clear=!1,this.camera=new o["default"].OrthographicCamera(-1,1,1,-1,0,1),this.scene=new o["default"].Scene,this.quad=new o["default"].Mesh(new o["default"].PlaneBufferGeometry(2,2),null),this.scene.add(this.quad)};a.prototype={render:function(e,t,n,r){this.uniforms[this.textureID]&&(this.uniforms[this.textureID].value=n),this.quad.material=this.material,this.renderToScreen?e.render(this.scene,this.camera):e.render(this.scene,this.camera,t,this.clear)}},t["default"]=a,o["default"].ShaderPass=a,e.exports=t["default"]},function(e,t,n){function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(10),o=r(i),a=function(e,t){this.scene=e,this.camera=t,this.enabled=!0,this.clear=!0,this.needsSwap=!1,this.inverse=!1};a.prototype={render:function(e,t,n,r){var i=e.context;i.colorMask(!1,!1,!1,!1),i.depthMask(!1);var o,a;this.inverse?(o=0,a=1):(o=1,a=0),i.enable(i.STENCIL_TEST),i.stencilOp(i.REPLACE,i.REPLACE,i.REPLACE),i.stencilFunc(i.ALWAYS,o,4294967295),i.clearStencil(a),e.render(this.scene,this.camera,n,this.clear),e.render(this.scene,this.camera,t,this.clear),i.colorMask(!0,!0,!0,!0),i.depthMask(!0),i.stencilFunc(i.EQUAL,1,4294967295),i.stencilOp(i.KEEP,i.KEEP,i.KEEP)}};var s=function(){this.enabled=!0};s.prototype={render:function(e,t,n,r){var i=e.context;i.disable(i.STENCIL_TEST)}},t["default"]=a,t.ClearMaskPass=s,o["default"].MaskPass=a,o["default"].ClearMaskPass=s},function(e,t,n){function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(10),o=r(i),a=function(e,t,n,r,i){this.scene=e,this.camera=t,this.overrideMaterial=n,this.clearColor=r,this.clearAlpha=void 0!==i?i:1,this.oldClearColor=new o["default"].Color,this.oldClearAlpha=1,this.enabled=!0,this.clear=!0,this.needsSwap=!1};a.prototype={render:function(e,t,n,r){this.scene.overrideMaterial=this.overrideMaterial,this.clearColor&&(this.oldClearColor.copy(e.getClearColor()),this.oldClearAlpha=e.getClearAlpha(),e.setClearColor(this.clearColor,this.clearAlpha)),e.render(this.scene,this.camera,n,this.clear),this.clearColor&&e.setClearColor(this.oldClearColor,this.oldClearAlpha),this.scene.overrideMaterial=null}},t["default"]=a,o["default"].RenderPass=a,e.exports=t["default"]},function(e,t,n){function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(10),o=r(i),a={uniforms:{tDiffuse:{type:"t",value:null},h:{type:"f",value:1/512},r:{type:"f",value:.35}},vertexShader:["varying vec2 vUv;","void main() {","vUv = uv;","gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );","}"].join("\n"),fragmentShader:["uniform sampler2D tDiffuse;","uniform float h;","uniform float r;","varying vec2 vUv;","void main() {","vec4 sum = vec4( 0.0 );","float hh = h * abs( r - vUv.y );","sum += texture2D( tDiffuse, vec2( vUv.x - 4.0 * hh, vUv.y ) ) * 0.051;","sum += texture2D( tDiffuse, vec2( vUv.x - 3.0 * hh, vUv.y ) ) * 0.0918;","sum += texture2D( tDiffuse, vec2( vUv.x - 2.0 * hh, vUv.y ) ) * 0.12245;","sum += texture2D( tDiffuse, vec2( vUv.x - 1.0 * hh, vUv.y ) ) * 0.1531;","sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y ) ) * 0.1633;","sum += texture2D( tDiffuse, vec2( vUv.x + 1.0 * hh, vUv.y ) ) * 0.1531;","sum += texture2D( tDiffuse, vec2( vUv.x + 2.0 * hh, vUv.y ) ) * 0.12245;","sum += texture2D( tDiffuse, vec2( vUv.x + 3.0 * hh, vUv.y ) ) * 0.0918;","sum += texture2D( tDiffuse, vec2( vUv.x + 4.0 * hh, vUv.y ) ) * 0.051;","gl_FragColor = sum;","}"].join("\n")};t["default"]=a,o["default"].HorizontalTiltShiftShader=a,e.exports=t["default"]},function(e,t,n){function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(10),o=r(i),a={uniforms:{tDiffuse:{type:"t",value:null},v:{type:"f",value:1/512},r:{type:"f",value:.35}},vertexShader:["varying vec2 vUv;","void main() {","vUv = uv;","gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );","}"].join("\n"),fragmentShader:["uniform sampler2D tDiffuse;","uniform float v;","uniform float r;","varying vec2 vUv;","void main() {","vec4 sum = vec4( 0.0 );","float vv = v * abs( r - vUv.y );","sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y - 4.0 * vv ) ) * 0.051;","sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y - 3.0 * vv ) ) * 0.0918;","sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y - 2.0 * vv ) ) * 0.12245;","sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y - 1.0 * vv ) ) * 0.1531;","sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y ) ) * 0.1633;","sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y + 1.0 * vv ) ) * 0.1531;","sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y + 2.0 * vv ) ) * 0.12245;","sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y + 3.0 * vv ) ) * 0.0918;","sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y + 4.0 * vv ) ) * 0.051;","gl_FragColor = sum;","}"].join("\n")};t["default"]=a,o["default"].VerticalTiltShiftShader=a,e.exports=t["default"]},function(e,t,n){function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(10),o=r(i),a={uniforms:{tDiffuse:{type:"t",value:null},resolution:{type:"v2",value:new o["default"].Vector2(1/1024,1/512)}},vertexShader:["void main() {","gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );","}"].join("\n"),fragmentShader:["uniform sampler2D tDiffuse;","uniform vec2 resolution;","#define FXAA_REDUCE_MIN (1.0/128.0)","#define FXAA_REDUCE_MUL (1.0/8.0)","#define FXAA_SPAN_MAX 8.0","void main() {","vec3 rgbNW = texture2D( tDiffuse, ( gl_FragCoord.xy + vec2( -1.0, -1.0 ) ) * resolution ).xyz;","vec3 rgbNE = texture2D( tDiffuse, ( gl_FragCoord.xy + vec2( 1.0, -1.0 ) ) * resolution ).xyz;","vec3 rgbSW = texture2D( tDiffuse, ( gl_FragCoord.xy + vec2( -1.0, 1.0 ) ) * resolution ).xyz;","vec3 rgbSE = texture2D( tDiffuse, ( gl_FragCoord.xy + vec2( 1.0, 1.0 ) ) * resolution ).xyz;","vec4 rgbaM = texture2D( tDiffuse, gl_FragCoord.xy * resolution );","vec3 rgbM = rgbaM.xyz;","vec3 luma = vec3( 0.299, 0.587, 0.114 );","float lumaNW = dot( rgbNW, luma );","float lumaNE = dot( rgbNE, luma );","float lumaSW = dot( rgbSW, luma );","float lumaSE = dot( rgbSE, luma );","float lumaM = dot( rgbM, luma );","float lumaMin = min( lumaM, min( min( lumaNW, lumaNE ), min( lumaSW, lumaSE ) ) );","float lumaMax = max( lumaM, max( max( lumaNW, lumaNE) , max( lumaSW, lumaSE ) ) );","vec2 dir;","dir.x = -((lumaNW + lumaNE) - (lumaSW + lumaSE));","dir.y = ((lumaNW + lumaSW) - (lumaNE + lumaSE));","float dirReduce = max( ( lumaNW + lumaNE + lumaSW + lumaSE ) * ( 0.25 * FXAA_REDUCE_MUL ), FXAA_REDUCE_MIN );","float rcpDirMin = 1.0 / ( min( abs( dir.x ), abs( dir.y ) ) + dirReduce );","dir = min( vec2( FXAA_SPAN_MAX, FXAA_SPAN_MAX),","max( vec2(-FXAA_SPAN_MAX, -FXAA_SPAN_MAX),","dir * rcpDirMin)) * resolution;","vec4 rgbA = (1.0/2.0) * (","texture2D(tDiffuse, gl_FragCoord.xy * resolution + dir * (1.0/3.0 - 0.5)) +","texture2D(tDiffuse, gl_FragCoord.xy * resolution + dir * (2.0/3.0 - 0.5)));","vec4 rgbB = rgbA * (1.0/2.0) + (1.0/4.0) * (","texture2D(tDiffuse, gl_FragCoord.xy * resolution + dir * (0.0/3.0 - 0.5)) +","texture2D(tDiffuse, gl_FragCoord.xy * resolution + dir * (3.0/3.0 - 0.5)));","float lumaB = dot(rgbB, vec4(luma, 0.0));","if ( ( lumaB < lumaMin ) || ( lumaB > lumaMax ) ) {","gl_FragColor = rgbA;","} else {","gl_FragColor = rgbB;","}","}"].join("\n")};t["default"]=a,o["default"].FXAAShader=a,e.exports=t["default"]},function(e,t,n){function r(e){return e&&e.__esModule?e:{"default":e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=function(e,t,n){for(var r=!0;r;){var i=e,o=t,a=n;r=!1,null===i&&(i=Function.prototype);var s=Object.getOwnPropertyDescriptor(i,o);if(void 0!==s){if("value"in s)return s.value;var u=s.get;if(void 0===u)return;return u.call(a)}var l=Object.getPrototypeOf(i);if(null===l)return;e=l,t=o,n=a,r=!0,s=l=void 0}},u=n(32),l=r(u),c=n(3),f=r(c),h=n(10),p=r(h),d=n(33),v=r(d),y=function(e){function t(e){i(this,t);var n={skybox:!1},r=(0,f["default"])({},n,e);s(Object.getPrototypeOf(t.prototype),"constructor",this).call(this,r)}return o(t,e),a(t,[{key:"_onAdd",value:function(){return this._initLights(),this._options.skybox&&this._initSkybox(),Promise.resolve(this)}},{key:"_initLights",value:function(){if(this._options.skybox){this._skyboxLight=new p["default"].DirectionalLight(16777215,1),this._skyboxLight.castShadow=!0;var e=1e4;this._skyboxLight.shadow.camera.left=-e,this._skyboxLight.shadow.camera.right=e,this._skyboxLight.shadow.camera.top=e,this._skyboxLight.shadow.camera.bottom=-e,this._skyboxLight.shadow.camera.near=1e4,this._skyboxLight.shadow.camera.far=7e4,this._skyboxLight.shadow.mapSize.width=2048,this._skyboxLight.shadow.mapSize.height=2048,this.add(this._skyboxLight)}else{var t=new p["default"].DirectionalLight(16777215,1);t.position.x=1e4,t.position.y=1e4,t.position.z=1e4;var n=new p["default"].DirectionalLight(16777215,.5);n.position.x=-1e4,n.position.y=1e4,n.position.z=0;var r=new p["default"].DirectionalLight(16777215,.5);r.position.x=1e4,r.position.y=1e4,r.position.z=-1e4,this.add(t),this.add(n),this.add(r)}}},{key:"_initSkybox",value:function(){this._skybox=new v["default"](this._world,this._skyboxLight),this.add(this._skybox._mesh)}},{key:"_initGrid",value:function(){var e=4e3,t=100,n=new p["default"].GridHelper(e,t);this.add(n)}},{key:"destroy",value:function(){this._skyboxLight=null,this.remove(this._skybox._mesh),this._skybox.destroy(),this._skybox=null,s(Object.getPrototypeOf(t.prototype),"destroy",this).call(this)}}]),t}(l["default"]);t["default"]=y;var m=function(e){return new y(e)};t.environmentLayer=m},function(e,t,n){function r(e){return e&&e.__esModule?e:{"default":e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=function(e,t,n){for(var r=!0;r;){var i=e,o=t,a=n;r=!1,null===i&&(i=Function.prototype);var s=Object.getOwnPropertyDescriptor(i,o);if(void 0!==s){if("value"in s)return s.value;var u=s.get;if(void 0===u)return;return u.call(a)}var l=Object.getPrototypeOf(i);if(null===l)return;e=l,t=o,n=a,r=!0,s=l=void 0}},u=n(2),l=r(u),c=n(3),f=r(c),h=n(10),p=r(h),d=n(11),v=(r(d),n(16)),y=n(18),m=function(e){function t(e){i(this,t),s(Object.getPrototypeOf(t.prototype),"constructor",this).call(this);var n={output:!0,outputToScene:!0};this._options=(0,f["default"])({},n,e),this.isOutput()&&(this._object3D=new p["default"].Object3D,this._dom3D=document.createElement("div"),this._domObject3D=new v.CSS3DObject(this._dom3D),this._dom2D=document.createElement("div"),this._domObject2D=new y.CSS2DObject(this._dom2D))}return o(t,e),a(t,[{key:"add",value:function(e){this._object3D.add(e)}},{key:"remove",value:function(e){this._object3D.remove(e)}},{key:"addDOM3D",value:function(e){this._domObject3D.add(e)}},{key:"removeDOM3D",value:function(e){this._domObject3D.remove(e)}},{key:"addDOM2D",value:function(e){this._domObject2D.add(e)}},{key:"removeDOM2D",value:function(e){this._domObject2D.remove(e)}},{key:"addTo",value:function(e){return e.addLayer(this)}},{key:"_addToWorld",value:function(e){var t=this;return this._world=e,new Promise(function(n,r){t._onAdd(e).then(function(){t.emit("added"),n(t)})["catch"](r)})}},{key:"_onAdd",value:function(e){}},{key:"getPickingId",value:function(){return this._world._engine._picking?this._world._engine._picking.getNextId():!1}},{key:"addToPicking",value:function(e){this._world._engine._picking&&this._world._engine._picking.add(e)}},{key:"removeFromPicking",value:function(e){this._world._engine._picking&&this._world._engine._picking.remove(e)}},{key:"isOutput",value:function(){return this._options.output}},{key:"isOutputToScene",value:function(){return this._options.outputToScene}},{key:"destroy",value:function(){if(this._object3D&&this._object3D.children)for(var e,t=this._object3D.children.length-1;t>=0;t--)e=this._object3D.children[t],e&&(this.remove(e),e.geometry&&(e.geometry.dispose(),e.geometry=null),e.material&&(e.material.map&&(e.material.map.dispose(),e.material.map=null),e.material.dispose(),e.material=null));if(this._domObject3D&&this._domObject3D.children)for(var e,t=this._domObject3D.children.length-1;t>=0;t--)e=this._domObject3D.children[t],e&&this.removeDOM3D(e);if(this._domObject2D&&this._domObject2D.children)for(var e,t=this._domObject2D.children.length-1;t>=0;t--)e=this._domObject2D.children[t],e&&this.removeDOM2D(e);this._domObject3D=null,this._domObject2D=null,this._world=null,this._object3D=null}}]),t}(l["default"]);t["default"]=m;var _=function(e){return new m(e)};t.layer=_},function(e,t,n){function r(e){return e&&e.__esModule?e:{"default":e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(10),s=r(a),u=n(34),l=r(u),c=n(35),f=r(c),h={vertexShader:["varying vec3 vPosition;","void main() {","vPosition = position;","gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );","}"].join("\n"),fragmentShader:["uniform samplerCube cubemap;","varying vec3 vPosition;","void main() {","gl_FragColor = textureCube(cubemap, normalize(vPosition));","}"].join("\n")},p=function(){function e(t,n){i(this,e),this._world=t,this._light=n,this._settings={distance:38e3,turbidity:10,reileigh:2,mieCoefficient:.005,mieDirectionalG:.8,luminance:1,inclination:.48,azimuth:.25},this._initSkybox(),this._updateUniforms(),this._initEvents()}return o(e,[{key:"_initEvents",value:function(){this._throttledWorldUpdate=(0,f["default"])(this._update,100),this._world.on("preUpdate",this._throttledWorldUpdate,this)}},{key:"_initSkybox",value:function(){this._cubeCamera=new s["default"].CubeCamera(1,2e7,128);var e=this._cubeCamera.renderTarget;this._sky=new l["default"],this._skyScene=new s["default"].Scene,this._skyScene.add(this._sky.mesh),this._sunSphere=new s["default"].Mesh(new s["default"].SphereBufferGeometry(2e3,16,8),new s["default"].MeshBasicMaterial({color:16777215}));var t={cubemap:{type:"t",value:e}},n=new s["default"].ShaderMaterial({uniforms:t,vertexShader:h.vertexShader,fragmentShader:h.fragmentShader,side:s["default"].BackSide});this._mesh=new s["default"].Mesh(new s["default"].BoxGeometry(19e5,19e5,19e5),n),this._updateSkybox=!0}},{key:"_updateUniforms",value:function(){var e=this._settings,t=this._sky.uniforms;t.turbidity.value=e.turbidity,t.reileigh.value=e.reileigh,t.luminance.value=e.luminance,t.mieCoefficient.value=e.mieCoefficient,t.mieDirectionalG.value=e.mieDirectionalG;var n=Math.PI*(e.inclination-.5),r=2*Math.PI*(e.azimuth-.5);this._sunSphere.position.x=e.distance*Math.cos(r),this._sunSphere.position.y=e.distance*Math.sin(r)*Math.sin(n),this._sunSphere.position.z=e.distance*Math.sin(r)*Math.cos(n),this._light.position.copy(this._sunSphere.position),this._sky.uniforms.sunPosition.value.copy(this._sunSphere.position)}},{key:"_update",value:function(e){this._updateSkybox&&(this._updateSkybox=!1,this._light.intensity=1-.95*(this._settings.inclination/.5),this._updateUniforms(),this._cubeCamera.updateCubeMap(this._world._engine._renderer,this._skyScene))}},{key:"getRenderTarget",value:function(){return this._cubeCamera.renderTarget}},{key:"setInclination",value:function(e){this._settings.inclination=e,this._updateSkybox=!0}},{key:"destroy",value:function(){this._world.off("preUpdate",this._throttledWorldUpdate),this._throttledWorldUpdate=null,this._world=null,this._light=null,this._cubeCamera=null,this._sky.mesh.geometry.dispose(),this._sky.mesh.geometry=null,this._sky.mesh.material.map&&(this._sky.mesh.material.map.dispose(),this._sky.mesh.material.map=null),this._sky.mesh.material.dispose(),this._sky.mesh.material=null,this._sky.mesh=null,this._sky=null,this._skyScene=null,this._sunSphere.geometry.dispose(),this._sunSphere.geometry=null,this._sunSphere.material.map&&(this._sunSphere.material.map.dispose(),this._sunSphere.material.map=null),this._sunSphere.material.dispose(),this._sunSphere.material=null,this._sunSphere=null,this._mesh.geometry.dispose(),this._mesh.geometry=null,this._mesh.material.map&&(this._mesh.material.map.dispose(),this._mesh.material.map=null),this._mesh.material.dispose(),this._mesh.material=null}}]),e}();t["default"]=p;var d=function(e,t){return new p(e,t)};t.skybox=d},function(e,t,n){function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(10),o=r(i);o["default"].ShaderLib.sky={uniforms:{luminance:{type:"f",value:1},turbidity:{type:"f",value:2},reileigh:{type:"f",value:1},mieCoefficient:{type:"f",value:.005},mieDirectionalG:{type:"f",value:.8},sunPosition:{type:"v3",value:new o["default"].Vector3}},vertexShader:["varying vec3 vWorldPosition;","void main() {","vec4 worldPosition = modelMatrix * vec4( position, 1.0 );","vWorldPosition = worldPosition.xyz;","gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );","}"].join("\n"),fragmentShader:["uniform sampler2D skySampler;","uniform vec3 sunPosition;","varying vec3 vWorldPosition;","vec3 cameraPos = vec3(0., 0., 0.);","// uniform sampler2D sDiffuse;","// const float turbidity = 10.0; //","// const float reileigh = 2.; //","// const float luminance = 1.0; //","// const float mieCoefficient = 0.005;","// const float mieDirectionalG = 0.8;","uniform float luminance;","uniform float turbidity;","uniform float reileigh;","uniform float mieCoefficient;","uniform float mieDirectionalG;","// constants for atmospheric scattering","const float e = 2.71828182845904523536028747135266249775724709369995957;","const float pi = 3.141592653589793238462643383279502884197169;","const float n = 1.0003; // refractive index of air","const float N = 2.545E25; // number of molecules per unit volume for air at","// 288.15K and 1013mb (sea level -45 celsius)","const float pn = 0.035; // depolatization factor for standard air","// wavelength of used primaries, according to preetham","const vec3 lambda = vec3(680E-9, 550E-9, 450E-9);","// mie stuff","// K coefficient for the primaries","const vec3 K = vec3(0.686, 0.678, 0.666);","const float v = 4.0;","// optical length at zenith for molecules","const float rayleighZenithLength = 8.4E3;","const float mieZenithLength = 1.25E3;","const vec3 up = vec3(0.0, 1.0, 0.0);","const float EE = 1000.0;","const float sunAngularDiameterCos = 0.999956676946448443553574619906976478926848692873900859324;","// 66 arc seconds -> degrees, and the cosine of that","// earth shadow hack","const float cutoffAngle = pi/1.95;","const float steepness = 1.5;","vec3 totalRayleigh(vec3 lambda)","{","return (8.0 * pow(pi, 3.0) * pow(pow(n, 2.0) - 1.0, 2.0) * (6.0 + 3.0 * pn)) / (3.0 * N * pow(lambda, vec3(4.0)) * (6.0 - 7.0 * pn));","}","// A simplied version of the total Reayleigh scattering to works on browsers that use ANGLE","vec3 simplifiedRayleigh()","{","return 0.0005 / vec3(94, 40, 18);","}","float rayleighPhase(float cosTheta)","{ ","return (3.0 / (16.0*pi)) * (1.0 + pow(cosTheta, 2.0));","// return (1.0 / (3.0*pi)) * (1.0 + pow(cosTheta, 2.0));","// return (3.0 / 4.0) * (1.0 + pow(cosTheta, 2.0));","}","vec3 totalMie(vec3 lambda, vec3 K, float T)","{","float c = (0.2 * T ) * 10E-18;","return 0.434 * c * pi * pow((2.0 * pi) / lambda, vec3(v - 2.0)) * K;","}","float hgPhase(float cosTheta, float g)","{","return (1.0 / (4.0*pi)) * ((1.0 - pow(g, 2.0)) / pow(1.0 - 2.0*g*cosTheta + pow(g, 2.0), 1.5));","}","float sunIntensity(float zenithAngleCos)","{","return EE * max(0.0, 1.0 - exp(-((cutoffAngle - acos(zenithAngleCos))/steepness)));","}","// float logLuminance(vec3 c)","// {","// return log(c.r * 0.2126 + c.g * 0.7152 + c.b * 0.0722);","// }","// Filmic ToneMapping http://filmicgames.com/archives/75","float A = 0.15;","float B = 0.50;","float C = 0.10;","float D = 0.20;","float E = 0.02;","float F = 0.30;","float W = 1000.0;","vec3 Uncharted2Tonemap(vec3 x)","{","return ((x*(A*x+C*B)+D*E)/(x*(A*x+B)+D*F))-E/F;","}","void main() ","{","float sunfade = 1.0-clamp(1.0-exp((sunPosition.y/450000.0)),0.0,1.0);","// luminance = 1.0 ;// vWorldPosition.y / 450000. + 0.5; //sunPosition.y / 450000. * 1. + 0.5;","// gl_FragColor = vec4(sunfade, sunfade, sunfade, 1.0);","float reileighCoefficient = reileigh - (1.0* (1.0-sunfade));","vec3 sunDirection = normalize(sunPosition);","float sunE = sunIntensity(dot(sunDirection, up));","// extinction (absorbtion + out scattering) ","// rayleigh coefficients","vec3 betaR = simplifiedRayleigh() * reileighCoefficient;","// mie coefficients","vec3 betaM = totalMie(lambda, K, turbidity) * mieCoefficient;","// optical length","// cutoff angle at 90 to avoid singularity in next formula.","float zenithAngle = acos(max(0.0, dot(up, normalize(vWorldPosition - cameraPos))));","float sR = rayleighZenithLength / (cos(zenithAngle) + 0.15 * pow(93.885 - ((zenithAngle * 180.0) / pi), -1.253));","float sM = mieZenithLength / (cos(zenithAngle) + 0.15 * pow(93.885 - ((zenithAngle * 180.0) / pi), -1.253));","// combined extinction factor ","vec3 Fex = exp(-(betaR * sR + betaM * sM));","// in scattering","float cosTheta = dot(normalize(vWorldPosition - cameraPos), sunDirection);","float rPhase = rayleighPhase(cosTheta*0.5+0.5);","vec3 betaRTheta = betaR * rPhase;","float mPhase = hgPhase(cosTheta, mieDirectionalG);","vec3 betaMTheta = betaM * mPhase;","vec3 Lin = pow(sunE * ((betaRTheta + betaMTheta) / (betaR + betaM)) * (1.0 - Fex),vec3(1.5));","Lin *= mix(vec3(1.0),pow(sunE * ((betaRTheta + betaMTheta) / (betaR + betaM)) * Fex,vec3(1.0/2.0)),clamp(pow(1.0-dot(up, sunDirection),5.0),0.0,1.0));","//nightsky","vec3 direction = normalize(vWorldPosition - cameraPos);","float theta = acos(direction.y); // elevation --> y-axis, [-pi/2, pi/2]","float phi = atan(direction.z, direction.x); // azimuth --> x-axis [-pi/2, pi/2]","vec2 uv = vec2(phi, theta) / vec2(2.0*pi, pi) + vec2(0.5, 0.0);","// vec3 L0 = texture2D(skySampler, uv).rgb+0.1 * Fex;","vec3 L0 = vec3(0.1) * Fex;","// composition + solar disc","//if (cosTheta > sunAngularDiameterCos)","float sundisk = smoothstep(sunAngularDiameterCos,sunAngularDiameterCos+0.00002,cosTheta);","// if (normalize(vWorldPosition - cameraPos).y>0.0)","L0 += (sunE * 19000.0 * Fex)*sundisk;","vec3 whiteScale = 1.0/Uncharted2Tonemap(vec3(W));","vec3 texColor = (Lin+L0); ","texColor *= 0.04 ;","texColor += vec3(0.0,0.001,0.0025)*0.3;","float g_fMaxLuminance = 1.0;","float fLumScaled = 0.1 / luminance; ","float fLumCompressed = (fLumScaled * (1.0 + (fLumScaled / (g_fMaxLuminance * g_fMaxLuminance)))) / (1.0 + fLumScaled); ","float ExposureBias = fLumCompressed;","vec3 curr = Uncharted2Tonemap((log2(2.0/pow(luminance,4.0)))*texColor);","vec3 color = curr*whiteScale;","vec3 retColor = pow(color,vec3(1.0/(1.2+(1.2*sunfade))));","gl_FragColor.rgb = retColor;","gl_FragColor.a = 1.0;","}"].join("\n")};var a=function(){var e=o["default"].ShaderLib.sky,t=o["default"].UniformsUtils.clone(e.uniforms),n=new o["default"].ShaderMaterial({fragmentShader:e.fragmentShader,vertexShader:e.vertexShader,uniforms:t,side:o["default"].BackSide}),r=new o["default"].SphereBufferGeometry(45e4,32,15),i=new o["default"].Mesh(r,n);this.mesh=i,this.uniforms=t};t["default"]=a,e.exports=t["default"]},function(e,t,n){function r(e,t,n){var r=!0,s=!0;if("function"!=typeof e)throw new TypeError(a);return i(n)&&(r="leading"in n?!!n.leading:r,s="trailing"in n?!!n.trailing:s),o(e,t,{leading:r,maxWait:t,trailing:s})}function i(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}var o=n(36),a="Expected a function";e.exports=r},function(e,t){function n(e,t,n){function r(t){var n=v,r=y;return v=y=void 0,E=t,_=e.apply(r,n)}function o(e){return E=e,g=setTimeout(c,t),O?r(e):_}function a(e){var n=e-M,r=e-E,i=t-n;return k?x(i,m-r):i}function l(e){var n=e-M,r=e-E;return!M||n>=t||0>n||k&&r>=m}function c(){var e=w();return l(e)?f(e):void(g=setTimeout(c,a(e)))}function f(e){return clearTimeout(g),g=void 0,P&&v?r(e):(v=y=void 0,_)}function h(){void 0!==g&&clearTimeout(g),M=E=0,v=y=g=void 0}function p(){return void 0===g?_:f(w())}function d(){var e=w(),n=l(e);if(v=arguments,y=this,M=e,n){if(void 0===g)return o(M);if(k)return clearTimeout(g),g=setTimeout(c,t),r(M)}return void 0===g&&(g=setTimeout(c,t)),_}var v,y,m,_,g,M=0,E=0,O=!1,k=!1,P=!0;if("function"!=typeof e)throw new TypeError(u);return t=s(t)||0,i(n)&&(O=!!n.leading,k="maxWait"in n,m=k?b(s(n.maxWait)||0,t):m,P="trailing"in n?!!n.trailing:P),d.cancel=h,d.flush=p,d}function r(e){var t=i(e)?g.call(e):"";return t==c||t==f}function i(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function o(e){return!!e&&"object"==typeof e}function a(e){return"symbol"==typeof e||o(e)&&g.call(e)==h}function s(e){if("number"==typeof e)return e;if(a(e))return l;if(i(e)){var t=r(e.valueOf)?e.valueOf():e;e=i(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(p,"");var n=v.test(e);return n||y.test(e)?m(e.slice(2),n?2:8):d.test(e)?l:+e}var u="Expected a function",l=NaN,c="[object Function]",f="[object GeneratorFunction]",h="[object Symbol]",p=/^\s+|\s+$/g,d=/^[-+]0x[0-9a-f]+$/i,v=/^0b[01]+$/i,y=/^0o[0-7]+$/i,m=parseInt,_=Object.prototype,g=_.toString,b=Math.max,x=Math.min,w=Date.now;e.exports=n},function(e,t,n){function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(38),o=r(i),a={Orbit:o["default"],orbit:i.orbit,orbit:i.orbit};t["default"]=a,e.exports=t["default"]},function(e,t,n){function r(e){return e&&e.__esModule?e:{"default":e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),
t}}(),s=function(e,t,n){for(var r=!0;r;){var i=e,o=t,a=n;r=!1,null===i&&(i=Function.prototype);var s=Object.getOwnPropertyDescriptor(i,o);if(void 0!==s){if("value"in s)return s.value;var u=s.get;if(void 0===u)return;return u.call(a)}var l=Object.getPrototypeOf(i);if(null===l)return;e=l,t=o,n=a,r=!0,s=l=void 0}},u=n(2),l=r(u),c=n(10),f=r(c),h=n(39),p=r(h),d=n(41),v=r(d),y=function(e){function t(){i(this,t),s(Object.getPrototypeOf(t.prototype),"constructor",this).call(this),v["default"].lagSmoothing(0)}return o(t,e),a(t,[{key:"_initEvents",value:function(){var e=this;this._controls.addEventListener("start",function(t){e._world.emit("controlsMoveStart",t.target.target)}),this._controls.addEventListener("change",function(t){e._world.emit("controlsMove",t.target.target)}),this._controls.addEventListener("end",function(t){e._world.emit("controlsMoveEnd",t.target.target)})}},{key:"panTo",value:function(e,t){}},{key:"panBy",value:function(e,t){}},{key:"zoomTo",value:function(e,t){}},{key:"zoomBy",value:function(e,t){}},{key:"lookAt",value:function(e,t){}},{key:"lookAtTarget",value:function(){}},{key:"tiltTo",value:function(e,t){}},{key:"tiltBy",value:function(e,t){}},{key:"rotateTo",value:function(e,t){}},{key:"rotateBy",value:function(e,t){}},{key:"flyToPoint",value:function(e,t,n){var r=t||2;this._flyTarget=new f["default"].Vector3(e.x,0,e.y);var i=(new f["default"].Vector3).subVectors(this._controls.target,this._flyTarget);if(this._flyTween=new v["default"]({x:0,z:0,prev:{x:0,z:0}},r,{x:i.x,z:i.z,onUpdate:function(e){var t=this._controls,n=e.target.x-e.target.prev.x,r=e.target.z-e.target.prev.z;t.panLeft(n,t.object.matrix),t.panUp(r,t.object.matrix),e.target.prev.x=e.target.x,e.target.prev.z=e.target.z},onComplete:function(e){this._flyTarget=null},onUpdateParams:["{self}"],onCompleteParams:["{self}"],callbackScope:this,ease:Power1.easeInOut}),n){var o=r/2;this._zoomTweenIn=new v["default"]({zoom:0},o,{zoom:1,onUpdate:function(e){var t=this._controls;t.dollyIn(1-.01*e.target.zoom)},onComplete:function(e){},onUpdateParams:["{self}"],onCompleteParams:["{self}"],callbackScope:this,ease:Power1.easeInOut}),this._zoomTweenOut=new v["default"]({zoom:0},o,{zoom:1,delay:o,onUpdate:function(e){var t=this._controls;t.dollyOut(.99+.01*e.target.zoom)},onComplete:function(e){},onUpdateParams:["{self}"],onCompleteParams:["{self}"],callbackScope:this,ease:Power1.easeInOut})}}},{key:"flyToLatLon",value:function(e,t,n){var r=this._world.latLonToPoint(e);this.flyToPoint(r,t,n)}},{key:"update",value:function(e){this._controls.update(e)}},{key:"addTo",value:function(e){return e.addControls(this),Promise.resolve(this)}},{key:"_addToWorld",value:function(e){return this._world=e,this._controls=new p["default"](e._engine._camera,e._container),this._controls.keys=!1,this._controls.maxPolarAngle=1.5533,this._initEvents(),this.emit("added"),Promise.resolve(this)}},{key:"destroy",value:function(){this._controls.dispose(),this._world=null,this._controls=null}}]),t}(l["default"]);t["default"]=y;var m=function(){return new y};t.orbit=m},function(e,t,n){function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(10),o=r(i),a=n(40),s=r(a),u=function(e,t){function n(){return 2*Math.PI/60/60*I.autoRotateSpeed}function r(){return Math.pow(.95,I.zoomSpeed)}function i(e){V-=e}function a(e){q-=e}function u(e){I.object instanceof o["default"].PerspectiveCamera?G/=e:I.object instanceof o["default"].OrthographicCamera?(I.object.zoom=Math.max(I.minZoom,Math.min(I.maxZoom,I.object.zoom*e)),I.object.updateProjectionMatrix(),Z=!0):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),I.enableZoom=!1)}function l(e){I.object instanceof o["default"].PerspectiveCamera?G*=e:I.object instanceof o["default"].OrthographicCamera?(I.object.zoom=Math.max(I.minZoom,Math.min(I.maxZoom,I.object.zoom/e)),I.object.updateProjectionMatrix(),Z=!0):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),I.enableZoom=!1)}function c(e){Y.set(e.clientX,e.clientY)}function f(e){te.set(e.clientX,e.clientY)}function h(e){$.set(e.clientX,e.clientY)}function p(e){K.set(e.clientX,e.clientY),J.subVectors(K,Y);var t=I.domElement===document?I.domElement.body:I.domElement;i(2*Math.PI*J.x/t.clientWidth*I.rotateSpeed),a(2*Math.PI*J.y/t.clientHeight*I.rotateSpeed),Y.copy(K),I.update()}function d(e){ne.set(e.clientX,e.clientY),re.subVectors(ne,te),re.y>0?u(r()):re.y<0&&l(r()),te.copy(ne),I.update()}function v(e){Q.set(e.clientX,e.clientY),ee.subVectors(Q,$),ae(ee.x,ee.y),$.copy(Q),I.update()}function y(e){}function m(e){var t=0;void 0!==e.wheelDelta?t=e.wheelDelta:void 0!==e.detail&&(t=-e.detail),t>0?l(r()):0>t&&u(r()),I.update()}function _(e){switch(e.keyCode){case I.keys.UP:ae(0,I.keyPanSpeed),I.update();break;case I.keys.BOTTOM:ae(0,-I.keyPanSpeed),I.update();break;case I.keys.LEFT:ae(I.keyPanSpeed,0),I.update();break;case I.keys.RIGHT:ae(-I.keyPanSpeed,0),I.update()}}function g(e){Y.set(e.pointers[0].pageX,e.pointers[0].pageY)}function b(e){var t=e.pointers[0].pageX-e.pointers[1].pageX,n=e.pointers[0].pageY-e.pointers[1].pageY,r=Math.sqrt(t*t+n*n);te.set(0,r)}function x(e){$.set(e.deltaX,e.deltaY)}function w(e){K.set(e.pointers[0].pageX,e.pointers[0].pageY),J.subVectors(K,Y);var t=I.domElement===document?I.domElement.body:I.domElement;i(2*Math.PI*J.x/t.clientWidth*I.rotateSpeed),a(2*Math.PI*J.y/t.clientHeight*I.rotateSpeed),Y.copy(K),I.update()}function M(e){var t=e.pointers[0].pageX-e.pointers[1].pageX,n=e.pointers[0].pageY-e.pointers[1].pageY,i=Math.sqrt(t*t+n*n);ne.set(0,i),re.subVectors(ne,te),re.y>0?l(r()):re.y<0&&u(r()),te.copy(ne),I.update()}function E(e){Q.set(e.deltaX,e.deltaY),ee.subVectors(Q,$),ae(ee.x,ee.y),$.copy(Q),I.update()}function O(e){}function k(e){if(I.enabled!==!1){if(e.preventDefault(),e.button===I.mouseButtons.ORBIT){if(I.enableRotate===!1)return;c(e),H=N.ROTATE}else if(e.button===I.mouseButtons.ZOOM){if(I.enableZoom===!1)return;f(e),H=N.DOLLY}else if(e.button===I.mouseButtons.PAN){if(I.enablePan===!1)return;h(e),H=N.PAN}H!==N.NONE&&(document.addEventListener("mousemove",P,!1),document.addEventListener("mouseup",T,!1),document.addEventListener("mouseout",T,!1),I.dispatchEvent(z))}}function P(e){if(I.enabled!==!1)if(e.preventDefault(),H===N.ROTATE){if(I.enableRotate===!1)return;p(e)}else if(H===N.DOLLY){if(I.enableZoom===!1)return;d(e)}else if(H===N.PAN){if(I.enablePan===!1)return;v(e)}}function T(e){I.enabled!==!1&&(y(e),document.removeEventListener("mousemove",P,!1),document.removeEventListener("mouseup",T,!1),document.removeEventListener("mouseout",T,!1),I.dispatchEvent(U),H=N.NONE)}function j(e){I.enabled!==!1&&I.enableZoom!==!1&&H===N.NONE&&(e.preventDefault(),e.stopPropagation(),m(e),I.dispatchEvent(z),I.dispatchEvent(U))}function S(e){I.enabled!==!1&&I.enableKeys!==!1&&I.enablePan!==!1&&_(e)}function A(e){if(I.enabled!==!1){switch(e.touches.length){case 1:if(I.enableRotate===!1)return;g(e),H=N.TOUCH_ROTATE;break;case 2:if(I.enableZoom===!1)return;b(e),H=N.TOUCH_DOLLY;break;case 3:if(I.enablePan===!1)return;x(e),H=N.TOUCH_PAN;break;default:H=N.NONE}H!==N.NONE&&I.dispatchEvent(z)}}function C(e){if(I.enabled!==!1)switch(e.preventDefault(),e.stopPropagation(),e.touches.length){case 1:if(I.enableRotate===!1)return;if(H!==N.TOUCH_ROTATE)return;w(e);break;case 2:if(I.enableZoom===!1)return;if(H!==N.TOUCH_DOLLY)return;M(e);break;case 3:if(I.enablePan===!1)return;if(H!==N.TOUCH_PAN)return;E(e);break;default:H=N.NONE}}function L(e){I.enabled!==!1&&(O(e),I.dispatchEvent(U),H=N.NONE)}function D(e){e.preventDefault()}this.object=e,this.domElement=void 0!==t?t:document,this.enabled=!0,this.target=new o["default"].Vector3,this.minDistance=0,this.maxDistance=1/0,this.minZoom=0,this.maxZoom=1/0,this.minPolarAngle=0,this.maxPolarAngle=Math.PI,this.minAzimuthAngle=-(1/0),this.maxAzimuthAngle=1/0,this.enableDamping=!1,this.dampingFactor=.25,this.enableZoom=!0,this.zoomSpeed=1,this.enableRotate=!0,this.rotateSpeed=1,this.enablePan=!0,this.keyPanSpeed=7,this.autoRotate=!1,this.autoRotateSpeed=2,this.enableKeys=!0,this.keys={LEFT:37,UP:38,RIGHT:39,BOTTOM:40},this.mouseButtons={ORBIT:o["default"].MOUSE.LEFT,ZOOM:o["default"].MOUSE.MIDDLE,PAN:o["default"].MOUSE.RIGHT},this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom,this.getPolarAngle=function(){return B},this.getAzimuthalAngle=function(){return R},this.reset=function(){I.target.copy(I.target0),I.object.position.copy(I.position0),I.object.zoom=I.zoom0,I.object.updateProjectionMatrix(),I.dispatchEvent(F),I.update(),H=N.NONE},this.update=function(){var t=new o["default"].Vector3,r=(new o["default"].Quaternion).setFromUnitVectors(e.up,new o["default"].Vector3(0,1,0)),a=r.clone().inverse(),s=new o["default"].Vector3,u=new o["default"].Quaternion;return function(){var e=I.object.position;t.copy(e).sub(I.target),t.applyQuaternion(r),R=Math.atan2(t.x,t.z),B=Math.atan2(Math.sqrt(t.x*t.x+t.z*t.z),t.y),I.autoRotate&&H===N.NONE&&i(n()),R+=V,B+=q,R=Math.max(I.minAzimuthAngle,Math.min(I.maxAzimuthAngle,R)),B=Math.max(I.minPolarAngle,Math.min(I.maxPolarAngle,B)),B=Math.max(W,Math.min(Math.PI-W,B));var o=t.length()*G;return o=Math.max(I.minDistance,Math.min(I.maxDistance,o)),I.target.add(X),t.x=o*Math.sin(B)*Math.sin(R),t.y=o*Math.cos(B),t.z=o*Math.sin(B)*Math.cos(R),t.applyQuaternion(a),e.copy(I.target).add(t),I.object.lookAt(I.target),I.enableDamping===!0?(V*=1-I.dampingFactor,q*=1-I.dampingFactor):(V=0,q=0),G=1,X.set(0,0,0),Z||s.distanceToSquared(I.object.position)>W||8*(1-u.dot(I.object.quaternion))>W?(I.dispatchEvent(F),s.copy(I.object.position),u.copy(I.object.quaternion),Z=!1,!0):!1}}(),this.dispose=function(){I.domElement.removeEventListener("contextmenu",D,!1),I.domElement.removeEventListener("mousedown",k,!1),I.domElement.removeEventListener("mousewheel",j,!1),I.domElement.removeEventListener("MozMousePixelScroll",j,!1),I.domElement.removeEventListener("touchstart",A,!1),I.domElement.removeEventListener("touchend",L,!1),I.domElement.removeEventListener("touchmove",C,!1),document.removeEventListener("mousemove",P,!1),document.removeEventListener("mouseup",T,!1),document.removeEventListener("mouseout",T,!1),window.removeEventListener("keydown",S,!1)};var R,B,I=this,F={type:"change"},z={type:"start"},U={type:"end"},N={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_DOLLY:4,TOUCH_PAN:5},H=N.NONE,W=1e-6,q=0,V=0,G=1,X=new o["default"].Vector3,Z=!1,Y=new o["default"].Vector2,K=new o["default"].Vector2,J=new o["default"].Vector2,$=new o["default"].Vector2,Q=new o["default"].Vector2,ee=new o["default"].Vector2,te=new o["default"].Vector2,ne=new o["default"].Vector2,re=new o["default"].Vector2,ie=function(){var e=new o["default"].Vector3;return function(t,n){var r=n.elements;e.set(r[0],0,r[2]),e.multiplyScalar(-t),X.add(e)}}(),oe=function(){var e=new o["default"].Vector3;return function(t,n){var r=n.elements,i=t/Math.cos(B);e.set(r[4],0,r[6]),e.multiplyScalar(i),X.add(e)}}(),ae=function(){var e=new o["default"].Vector3;return function(t,n){var r=I.domElement===document?I.domElement.body:I.domElement;if(I.object instanceof o["default"].PerspectiveCamera){var i=I.object.position;e.copy(i).sub(I.target);var a=e.length();a*=Math.tan(I.object.fov/2*Math.PI/180),ie(2*t*a/r.clientHeight,I.object.matrix),oe(2*n*a/r.clientHeight,I.object.matrix)}else I.object instanceof o["default"].OrthographicCamera?(ie(t*(I.object.right-I.object.left)/r.clientWidth,I.object.matrix),oe(n*(I.object.top-I.object.bottom)/r.clientHeight,I.object.matrix)):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."),I.enablePan=!1)}}();I.domElement.addEventListener("contextmenu",D,!1),I.domElement.addEventListener("mousedown",k,!1),I.domElement.addEventListener("mousewheel",j,!1),I.domElement.addEventListener("MozMousePixelScroll",j,!1),I.hammer=new s["default"](I.domElement),I.hammer.get("pan").set({pointers:0,direction:s["default"].DIRECTION_ALL}),I.hammer.get("pinch").set({enable:!0,threshold:.1}),I.hammer.on("panstart",function(e){if(I.enabled!==!1&&"mouse"!==e.pointerType){if(1===e.pointers.length){if(I.enablePan===!1)return;x(e),H=N.TOUCH_PAN}else if(2===e.pointers.length){if(I.enableRotate===!1)return;g(e),H=N.TOUCH_ROTATE}H!==N.NONE&&I.dispatchEvent(z)}}),I.hammer.on("panend",function(e){"mouse"!==e.pointerType&&L(e)}),I.hammer.on("panmove",function(e){if(I.enabled!==!1&&"mouse"!==e.pointerType)if(1===e.pointers.length){if(I.enablePan===!1)return;if(H!==N.TOUCH_PAN)return;E(e)}else if(2===e.pointers.length){if(I.enableRotate===!1)return;if(H!==N.TOUCH_ROTATE)return;w(e)}}),I.hammer.on("pinchstart",function(e){I.enabled!==!1&&"mouse"!==e.pointerType&&I.enableZoom!==!1&&(b(e),H=N.TOUCH_DOLLY,H!==N.NONE&&I.dispatchEvent(z))}),I.hammer.on("pinchend",function(e){"mouse"!==e.pointerType&&L(e)}),I.hammer.on("pinchmove",function(e){I.enabled!==!1&&"mouse"!==e.pointerType&&I.enableZoom!==!1&&H===N.TOUCH_DOLLY&&M(e)}),window.addEventListener("keydown",S,!1),this.panLeft=ie,this.panUp=oe,this.pan=ae,this.dollyIn=u,this.dollyOut=l,this.getZoomScale=r,this.rotateLeft=i,this.rotateUp=a,this.update()};u.prototype=Object.create(o["default"].EventDispatcher.prototype),u.prototype.constructor=o["default"].OrbitControls,Object.defineProperties(u.prototype,{center:{get:function(){return console.warn("THREE.OrbitControls: .center has been renamed to .target"),this.target}},noZoom:{get:function(){return console.warn("THREE.OrbitControls: .noZoom has been deprecated. Use .enableZoom instead."),!this.enableZoom},set:function(e){console.warn("THREE.OrbitControls: .noZoom has been deprecated. Use .enableZoom instead."),this.enableZoom=!e}},noRotate:{get:function(){return console.warn("THREE.OrbitControls: .noRotate has been deprecated. Use .enableRotate instead."),!this.enableRotate},set:function(e){console.warn("THREE.OrbitControls: .noRotate has been deprecated. Use .enableRotate instead."),this.enableRotate=!e}},noPan:{get:function(){return console.warn("THREE.OrbitControls: .noPan has been deprecated. Use .enablePan instead."),!this.enablePan},set:function(e){console.warn("THREE.OrbitControls: .noPan has been deprecated. Use .enablePan instead."),this.enablePan=!e}},noKeys:{get:function(){return console.warn("THREE.OrbitControls: .noKeys has been deprecated. Use .enableKeys instead."),!this.enableKeys},set:function(e){console.warn("THREE.OrbitControls: .noKeys has been deprecated. Use .enableKeys instead."),this.enableKeys=!e}},staticMoving:{get:function(){return console.warn("THREE.OrbitControls: .staticMoving has been deprecated. Use .enableDamping instead."),!this.constraint.enableDamping},set:function(e){console.warn("THREE.OrbitControls: .staticMoving has been deprecated. Use .enableDamping instead."),this.constraint.enableDamping=!e}},dynamicDampingFactor:{get:function(){return console.warn("THREE.OrbitControls: .dynamicDampingFactor has been renamed. Use .dampingFactor instead."),this.constraint.dampingFactor},set:function(e){console.warn("THREE.OrbitControls: .dynamicDampingFactor has been renamed. Use .dampingFactor instead."),this.constraint.dampingFactor=e}}}),t["default"]=u,e.exports=t["default"]},function(e,t,n){var r;!function(i,o,a,s){"use strict";function u(e,t,n){return setTimeout(p(e,n),t)}function l(e,t,n){return Array.isArray(e)?(c(e,n[t],n),!0):!1}function c(e,t,n){var r;if(e)if(e.forEach)e.forEach(t,n);else if(e.length!==s)for(r=0;r<e.length;)t.call(n,e[r],r,e),r++;else for(r in e)e.hasOwnProperty(r)&&t.call(n,e[r],r,e)}function f(e,t,n){var r="DEPRECATED METHOD: "+t+"\n"+n+" AT \n";return function(){var t=new Error("get-stack-trace"),n=t&&t.stack?t.stack.replace(/^[^\(]+?[\n$]/gm,"").replace(/^\s+at\s+/gm,"").replace(/^Object.<anonymous>\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",o=i.console&&(i.console.warn||i.console.log);return o&&o.call(i.console,r,n),e.apply(this,arguments)}}function h(e,t,n){var r,i=t.prototype;r=e.prototype=Object.create(i),r.constructor=e,r._super=i,n&&ve(r,n)}function p(e,t){return function(){return e.apply(t,arguments)}}function d(e,t){return typeof e==_e?e.apply(t?t[0]||s:s,t):e}function v(e,t){return e===s?t:e}function y(e,t,n){c(b(t),function(t){e.addEventListener(t,n,!1)})}function m(e,t,n){c(b(t),function(t){e.removeEventListener(t,n,!1)})}function _(e,t){for(;e;){if(e==t)return!0;e=e.parentNode}return!1}function g(e,t){return e.indexOf(t)>-1}function b(e){return e.trim().split(/\s+/g)}function x(e,t,n){if(e.indexOf&&!n)return e.indexOf(t);for(var r=0;r<e.length;){if(n&&e[r][n]==t||!n&&e[r]===t)return r;r++}return-1}function w(e){return Array.prototype.slice.call(e,0)}function M(e,t,n){for(var r=[],i=[],o=0;o<e.length;){var a=t?e[o][t]:e[o];x(i,a)<0&&r.push(e[o]),i[o]=a,o++}return n&&(r=t?r.sort(function(e,n){return e[t]>n[t]}):r.sort()),r}function E(e,t){for(var n,r,i=t[0].toUpperCase()+t.slice(1),o=0;o<ye.length;){if(n=ye[o],r=n?n+i:t,r in e)return r;o++}return s}function O(){return Ee++}function k(e){var t=e.ownerDocument||e;return t.defaultView||t.parentWindow||i}function P(e,t){var n=this;this.manager=e,this.callback=t,this.element=e.element,this.target=e.options.inputTarget,this.domHandler=function(t){d(e.options.enable,[e])&&n.handler(t)},this.init()}function T(e){var t,n=e.options.inputClass;return new(t=n?n:Pe?H:Te?V:ke?X:N)(e,j)}function j(e,t,n){var r=n.pointers.length,i=n.changedPointers.length,o=t&De&&r-i===0,a=t&(Be|Ie)&&r-i===0;n.isFirst=!!o,n.isFinal=!!a,o&&(e.session={}),n.eventType=t,S(e,n),e.emit("hammer.input",n),e.recognize(n),e.session.prevInput=n}function S(e,t){var n=e.session,r=t.pointers,i=r.length;n.firstInput||(n.firstInput=L(t)),i>1&&!n.firstMultiple?n.firstMultiple=L(t):1===i&&(n.firstMultiple=!1);var o=n.firstInput,a=n.firstMultiple,s=a?a.center:o.center,u=t.center=D(r);t.timeStamp=xe(),t.deltaTime=t.timeStamp-o.timeStamp,t.angle=F(s,u),t.distance=I(s,u),A(n,t),t.offsetDirection=B(t.deltaX,t.deltaY);var l=R(t.deltaTime,t.deltaX,t.deltaY);t.overallVelocityX=l.x,t.overallVelocityY=l.y,t.overallVelocity=be(l.x)>be(l.y)?l.x:l.y,t.scale=a?U(a.pointers,r):1,t.rotation=a?z(a.pointers,r):0,t.maxPointers=n.prevInput?t.pointers.length>n.prevInput.maxPointers?t.pointers.length:n.prevInput.maxPointers:t.pointers.length,C(n,t);var c=e.element;_(t.srcEvent.target,c)&&(c=t.srcEvent.target),t.target=c}function A(e,t){var n=t.center,r=e.offsetDelta||{},i=e.prevDelta||{},o=e.prevInput||{};t.eventType!==De&&o.eventType!==Be||(i=e.prevDelta={x:o.deltaX||0,y:o.deltaY||0},r=e.offsetDelta={x:n.x,y:n.y}),t.deltaX=i.x+(n.x-r.x),t.deltaY=i.y+(n.y-r.y)}function C(e,t){var n,r,i,o,a=e.lastInterval||t,u=t.timeStamp-a.timeStamp;if(t.eventType!=Ie&&(u>Le||a.velocity===s)){var l=t.deltaX-a.deltaX,c=t.deltaY-a.deltaY,f=R(u,l,c);r=f.x,i=f.y,n=be(f.x)>be(f.y)?f.x:f.y,o=B(l,c),e.lastInterval=t}else n=a.velocity,r=a.velocityX,i=a.velocityY,o=a.direction;t.velocity=n,t.velocityX=r,t.velocityY=i,t.direction=o}function L(e){for(var t=[],n=0;n<e.pointers.length;)t[n]={clientX:ge(e.pointers[n].clientX),clientY:ge(e.pointers[n].clientY)},n++;return{timeStamp:xe(),pointers:t,center:D(t),deltaX:e.deltaX,deltaY:e.deltaY}}function D(e){var t=e.length;if(1===t)return{x:ge(e[0].clientX),y:ge(e[0].clientY)};for(var n=0,r=0,i=0;t>i;)n+=e[i].clientX,r+=e[i].clientY,i++;return{x:ge(n/t),y:ge(r/t)}}function R(e,t,n){return{x:t/e||0,y:n/e||0}}function B(e,t){return e===t?Fe:be(e)>=be(t)?0>e?ze:Ue:0>t?Ne:He}function I(e,t,n){n||(n=Ge);var r=t[n[0]]-e[n[0]],i=t[n[1]]-e[n[1]];return Math.sqrt(r*r+i*i)}function F(e,t,n){n||(n=Ge);var r=t[n[0]]-e[n[0]],i=t[n[1]]-e[n[1]];return 180*Math.atan2(i,r)/Math.PI}function z(e,t){return F(t[1],t[0],Xe)+F(e[1],e[0],Xe)}function U(e,t){return I(t[0],t[1],Xe)/I(e[0],e[1],Xe)}function N(){this.evEl=Ye,this.evWin=Ke,this.pressed=!1,P.apply(this,arguments)}function H(){this.evEl=Qe,this.evWin=et,P.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}function W(){this.evTarget=nt,this.evWin=rt,this.started=!1,P.apply(this,arguments)}function q(e,t){var n=w(e.touches),r=w(e.changedTouches);return t&(Be|Ie)&&(n=M(n.concat(r),"identifier",!0)),[n,r]}function V(){this.evTarget=ot,this.targetIds={},P.apply(this,arguments)}function G(e,t){var n=w(e.touches),r=this.targetIds;if(t&(De|Re)&&1===n.length)return r[n[0].identifier]=!0,[n,n];var i,o,a=w(e.changedTouches),s=[],u=this.target;if(o=n.filter(function(e){return _(e.target,u)}),t===De)for(i=0;i<o.length;)r[o[i].identifier]=!0,i++;for(i=0;i<a.length;)r[a[i].identifier]&&s.push(a[i]),t&(Be|Ie)&&delete r[a[i].identifier],i++;return s.length?[M(o.concat(s),"identifier",!0),s]:void 0}function X(){P.apply(this,arguments);var e=p(this.handler,this);this.touch=new V(this.manager,e),this.mouse=new N(this.manager,e),this.primaryTouch=null,this.lastTouches=[]}function Z(e,t){e&De?(this.primaryTouch=t.changedPointers[0].identifier,Y.call(this,t)):e&(Be|Ie)&&Y.call(this,t)}function Y(e){var t=e.changedPointers[0];if(t.identifier===this.primaryTouch){var n={x:t.clientX,y:t.clientY};this.lastTouches.push(n);var r=this.lastTouches,i=function(){var e=r.indexOf(n);e>-1&&r.splice(e,1)};setTimeout(i,at)}}function K(e){for(var t=e.srcEvent.clientX,n=e.srcEvent.clientY,r=0;r<this.lastTouches.length;r++){var i=this.lastTouches[r],o=Math.abs(t-i.x),a=Math.abs(n-i.y);if(st>=o&&st>=a)return!0}return!1}function J(e,t){this.manager=e,this.set(t)}function $(e){if(g(e,pt))return pt;var t=g(e,dt),n=g(e,vt);return t&&n?pt:t||n?t?dt:vt:g(e,ht)?ht:ft}function Q(){if(!lt)return!1;var e={},t=i.CSS&&i.CSS.supports;return["auto","manipulation","pan-y","pan-x","pan-x pan-y","none"].forEach(function(n){e[n]=t?i.CSS.supports("touch-action",n):!0}),e}function ee(e){this.options=ve({},this.defaults,e||{}),this.id=O(),this.manager=null,this.options.enable=v(this.options.enable,!0),this.state=mt,this.simultaneous={},this.requireFail=[]}function te(e){return e&wt?"cancel":e&bt?"end":e&gt?"move":e&_t?"start":""}function ne(e){return e==He?"down":e==Ne?"up":e==ze?"left":e==Ue?"right":""}function re(e,t){var n=t.manager;return n?n.get(e):e}function ie(){ee.apply(this,arguments)}function oe(){ie.apply(this,arguments),this.pX=null,this.pY=null}function ae(){ie.apply(this,arguments)}function se(){ee.apply(this,arguments),this._timer=null,this._input=null}function ue(){ie.apply(this,arguments)}function le(){ie.apply(this,arguments)}function ce(){ee.apply(this,arguments),this.pTime=!1,this.pCenter=!1,this._timer=null,this._input=null,this.count=0}function fe(e,t){return t=t||{},t.recognizers=v(t.recognizers,fe.defaults.preset),new he(e,t)}function he(e,t){this.options=ve({},fe.defaults,t||{}),this.options.inputTarget=this.options.inputTarget||e,this.handlers={},this.session={},this.recognizers=[],this.oldCssProps={},this.element=e,this.input=T(this),this.touchAction=new J(this,this.options.touchAction),pe(this,!0),c(this.options.recognizers,function(e){var t=this.add(new e[0](e[1]));e[2]&&t.recognizeWith(e[2]),e[3]&&t.requireFailure(e[3])},this)}function pe(e,t){var n=e.element;if(n.style){var r;c(e.options.cssProps,function(i,o){r=E(n.style,o),t?(e.oldCssProps[r]=n.style[r],n.style[r]=i):n.style[r]=e.oldCssProps[r]||""}),t||(e.oldCssProps={})}}function de(e,t){var n=o.createEvent("Event");n.initEvent(e,!0,!0),n.gesture=t,t.target.dispatchEvent(n)}var ve,ye=["","webkit","Moz","MS","ms","o"],me=o.createElement("div"),_e="function",ge=Math.round,be=Math.abs,xe=Date.now;ve="function"!=typeof Object.assign?function(e){if(e===s||null===e)throw new TypeError("Cannot convert undefined or null to object");for(var t=Object(e),n=1;n<arguments.length;n++){var r=arguments[n];if(r!==s&&null!==r)for(var i in r)r.hasOwnProperty(i)&&(t[i]=r[i])}return t}:Object.assign;var we=f(function(e,t,n){for(var r=Object.keys(t),i=0;i<r.length;)(!n||n&&e[r[i]]===s)&&(e[r[i]]=t[r[i]]),i++;return e},"extend","Use `assign`."),Me=f(function(e,t){return we(e,t,!0)},"merge","Use `assign`."),Ee=1,Oe=/mobile|tablet|ip(ad|hone|od)|android/i,ke="ontouchstart"in i,Pe=E(i,"PointerEvent")!==s,Te=ke&&Oe.test(navigator.userAgent),je="touch",Se="pen",Ae="mouse",Ce="kinect",Le=25,De=1,Re=2,Be=4,Ie=8,Fe=1,ze=2,Ue=4,Ne=8,He=16,We=ze|Ue,qe=Ne|He,Ve=We|qe,Ge=["x","y"],Xe=["clientX","clientY"];P.prototype={handler:function(){},init:function(){this.evEl&&y(this.element,this.evEl,this.domHandler),this.evTarget&&y(this.target,this.evTarget,this.domHandler),this.evWin&&y(k(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&m(this.element,this.evEl,this.domHandler),this.evTarget&&m(this.target,this.evTarget,this.domHandler),this.evWin&&m(k(this.element),this.evWin,this.domHandler)}};var Ze={mousedown:De,mousemove:Re,mouseup:Be},Ye="mousedown",Ke="mousemove mouseup";h(N,P,{handler:function(e){var t=Ze[e.type];t&De&&0===e.button&&(this.pressed=!0),t&Re&&1!==e.which&&(t=Be),this.pressed&&(t&Be&&(this.pressed=!1),this.callback(this.manager,t,{pointers:[e],changedPointers:[e],pointerType:Ae,srcEvent:e}))}});var Je={pointerdown:De,pointermove:Re,pointerup:Be,pointercancel:Ie,pointerout:Ie},$e={2:je,3:Se,4:Ae,5:Ce},Qe="pointerdown",et="pointermove pointerup pointercancel";i.MSPointerEvent&&!i.PointerEvent&&(Qe="MSPointerDown",et="MSPointerMove MSPointerUp MSPointerCancel"),h(H,P,{handler:function(e){var t=this.store,n=!1,r=e.type.toLowerCase().replace("ms",""),i=Je[r],o=$e[e.pointerType]||e.pointerType,a=o==je,s=x(t,e.pointerId,"pointerId");i&De&&(0===e.button||a)?0>s&&(t.push(e),s=t.length-1):i&(Be|Ie)&&(n=!0),0>s||(t[s]=e,this.callback(this.manager,i,{pointers:t,changedPointers:[e],pointerType:o,srcEvent:e}),n&&t.splice(s,1))}});var tt={touchstart:De,touchmove:Re,touchend:Be,touchcancel:Ie},nt="touchstart",rt="touchstart touchmove touchend touchcancel";h(W,P,{handler:function(e){var t=tt[e.type];if(t===De&&(this.started=!0),this.started){var n=q.call(this,e,t);t&(Be|Ie)&&n[0].length-n[1].length===0&&(this.started=!1),this.callback(this.manager,t,{pointers:n[0],changedPointers:n[1],pointerType:je,srcEvent:e})}}});var it={touchstart:De,touchmove:Re,touchend:Be,touchcancel:Ie},ot="touchstart touchmove touchend touchcancel";h(V,P,{handler:function(e){var t=it[e.type],n=G.call(this,e,t);n&&this.callback(this.manager,t,{pointers:n[0],changedPointers:n[1],pointerType:je,srcEvent:e})}});var at=2500,st=25;h(X,P,{handler:function(e,t,n){var r=n.pointerType==je,i=n.pointerType==Ae;if(!(i&&n.sourceCapabilities&&n.sourceCapabilities.firesTouchEvents)){if(r)Z.call(this,t,n);else if(i&&K.call(this,n))return;this.callback(e,t,n)}},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});var ut=E(me.style,"touchAction"),lt=ut!==s,ct="compute",ft="auto",ht="manipulation",pt="none",dt="pan-x",vt="pan-y",yt=Q();J.prototype={set:function(e){e==ct&&(e=this.compute()),lt&&this.manager.element.style&&yt[e]&&(this.manager.element.style[ut]=e),this.actions=e.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var e=[];return c(this.manager.recognizers,function(t){d(t.options.enable,[t])&&(e=e.concat(t.getTouchAction()))}),$(e.join(" "))},preventDefaults:function(e){var t=e.srcEvent,n=e.offsetDirection;if(this.manager.session.prevented)return void t.preventDefault();var r=this.actions,i=g(r,pt)&&!yt[pt],o=g(r,vt)&&!yt[vt],a=g(r,dt)&&!yt[dt];if(i){var s=1===e.pointers.length,u=e.distance<2,l=e.deltaTime<250;if(s&&u&&l)return}return a&&o?void 0:i||o&&n&We||a&&n&qe?this.preventSrc(t):void 0},preventSrc:function(e){this.manager.session.prevented=!0,e.preventDefault()}};var mt=1,_t=2,gt=4,bt=8,xt=bt,wt=16,Mt=32;ee.prototype={defaults:{},set:function(e){return ve(this.options,e),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(e){if(l(e,"recognizeWith",this))return this;var t=this.simultaneous;return e=re(e,this),t[e.id]||(t[e.id]=e,e.recognizeWith(this)),this},dropRecognizeWith:function(e){return l(e,"dropRecognizeWith",this)?this:(e=re(e,this),delete this.simultaneous[e.id],this)},requireFailure:function(e){if(l(e,"requireFailure",this))return this;var t=this.requireFail;return e=re(e,this),-1===x(t,e)&&(t.push(e),e.requireFailure(this)),this},dropRequireFailure:function(e){if(l(e,"dropRequireFailure",this))return this;e=re(e,this);var t=x(this.requireFail,e);return t>-1&&this.requireFail.splice(t,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(e){return!!this.simultaneous[e.id]},emit:function(e){function t(t){n.manager.emit(t,e)}var n=this,r=this.state;bt>r&&t(n.options.event+te(r)),t(n.options.event),e.additionalEvent&&t(e.additionalEvent),r>=bt&&t(n.options.event+te(r))},tryEmit:function(e){return this.canEmit()?this.emit(e):void(this.state=Mt)},canEmit:function(){for(var e=0;e<this.requireFail.length;){if(!(this.requireFail[e].state&(Mt|mt)))return!1;e++}return!0},recognize:function(e){var t=ve({},e);return d(this.options.enable,[this,t])?(this.state&(xt|wt|Mt)&&(this.state=mt),this.state=this.process(t),void(this.state&(_t|gt|bt|wt)&&this.tryEmit(t))):(this.reset(),void(this.state=Mt))},process:function(e){},getTouchAction:function(){},reset:function(){}},h(ie,ee,{defaults:{pointers:1},attrTest:function(e){var t=this.options.pointers;return 0===t||e.pointers.length===t},process:function(e){var t=this.state,n=e.eventType,r=t&(_t|gt),i=this.attrTest(e);return r&&(n&Ie||!i)?t|wt:r||i?n&Be?t|bt:t&_t?t|gt:_t:Mt}}),h(oe,ie,{defaults:{event:"pan",threshold:10,pointers:1,direction:Ve},getTouchAction:function(){var e=this.options.direction,t=[];return e&We&&t.push(vt),e&qe&&t.push(dt),t},directionTest:function(e){var t=this.options,n=!0,r=e.distance,i=e.direction,o=e.deltaX,a=e.deltaY;return i&t.direction||(t.direction&We?(i=0===o?Fe:0>o?ze:Ue,n=o!=this.pX,r=Math.abs(e.deltaX)):(i=0===a?Fe:0>a?Ne:He,n=a!=this.pY,r=Math.abs(e.deltaY))),e.direction=i,n&&r>t.threshold&&i&t.direction},attrTest:function(e){return ie.prototype.attrTest.call(this,e)&&(this.state&_t||!(this.state&_t)&&this.directionTest(e))},emit:function(e){this.pX=e.deltaX,this.pY=e.deltaY;var t=ne(e.direction);t&&(e.additionalEvent=this.options.event+t),this._super.emit.call(this,e)}}),h(ae,ie,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[pt]},attrTest:function(e){return this._super.attrTest.call(this,e)&&(Math.abs(e.scale-1)>this.options.threshold||this.state&_t)},emit:function(e){if(1!==e.scale){var t=e.scale<1?"in":"out";e.additionalEvent=this.options.event+t}this._super.emit.call(this,e)}}),h(se,ee,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[ft]},process:function(e){var t=this.options,n=e.pointers.length===t.pointers,r=e.distance<t.threshold,i=e.deltaTime>t.time;if(this._input=e,!r||!n||e.eventType&(Be|Ie)&&!i)this.reset();else if(e.eventType&De)this.reset(),this._timer=u(function(){this.state=xt,this.tryEmit()},t.time,this);else if(e.eventType&Be)return xt;return Mt},reset:function(){clearTimeout(this._timer)},emit:function(e){this.state===xt&&(e&&e.eventType&Be?this.manager.emit(this.options.event+"up",e):(this._input.timeStamp=xe(),this.manager.emit(this.options.event,this._input)))}}),h(ue,ie,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[pt]},attrTest:function(e){return this._super.attrTest.call(this,e)&&(Math.abs(e.rotation)>this.options.threshold||this.state&_t)}}),h(le,ie,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:We|qe,pointers:1},getTouchAction:function(){return oe.prototype.getTouchAction.call(this)},attrTest:function(e){var t,n=this.options.direction;return n&(We|qe)?t=e.overallVelocity:n&We?t=e.overallVelocityX:n&qe&&(t=e.overallVelocityY),this._super.attrTest.call(this,e)&&n&e.offsetDirection&&e.distance>this.options.threshold&&e.maxPointers==this.options.pointers&&be(t)>this.options.velocity&&e.eventType&Be},emit:function(e){var t=ne(e.offsetDirection);t&&this.manager.emit(this.options.event+t,e),this.manager.emit(this.options.event,e)}}),h(ce,ee,{defaults:{event:"tap",pointers:1,taps:1,
interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[ht]},process:function(e){var t=this.options,n=e.pointers.length===t.pointers,r=e.distance<t.threshold,i=e.deltaTime<t.time;if(this.reset(),e.eventType&De&&0===this.count)return this.failTimeout();if(r&&i&&n){if(e.eventType!=Be)return this.failTimeout();var o=this.pTime?e.timeStamp-this.pTime<t.interval:!0,a=!this.pCenter||I(this.pCenter,e.center)<t.posThreshold;this.pTime=e.timeStamp,this.pCenter=e.center,a&&o?this.count+=1:this.count=1,this._input=e;var s=this.count%t.taps;if(0===s)return this.hasRequireFailures()?(this._timer=u(function(){this.state=xt,this.tryEmit()},t.interval,this),_t):xt}return Mt},failTimeout:function(){return this._timer=u(function(){this.state=Mt},this.options.interval,this),Mt},reset:function(){clearTimeout(this._timer)},emit:function(){this.state==xt&&(this._input.tapCount=this.count,this.manager.emit(this.options.event,this._input))}}),fe.VERSION="2.0.7",fe.defaults={domEvents:!1,touchAction:ct,enable:!0,inputTarget:null,inputClass:null,preset:[[ue,{enable:!1}],[ae,{enable:!1},["rotate"]],[le,{direction:We}],[oe,{direction:We},["swipe"]],[ce],[ce,{event:"doubletap",taps:2},["tap"]],[se]],cssProps:{userSelect:"none",touchSelect:"none",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}};var Et=1,Ot=2;he.prototype={set:function(e){return ve(this.options,e),e.touchAction&&this.touchAction.update(),e.inputTarget&&(this.input.destroy(),this.input.target=e.inputTarget,this.input.init()),this},stop:function(e){this.session.stopped=e?Ot:Et},recognize:function(e){var t=this.session;if(!t.stopped){this.touchAction.preventDefaults(e);var n,r=this.recognizers,i=t.curRecognizer;(!i||i&&i.state&xt)&&(i=t.curRecognizer=null);for(var o=0;o<r.length;)n=r[o],t.stopped===Ot||i&&n!=i&&!n.canRecognizeWith(i)?n.reset():n.recognize(e),!i&&n.state&(_t|gt|bt)&&(i=t.curRecognizer=n),o++}},get:function(e){if(e instanceof ee)return e;for(var t=this.recognizers,n=0;n<t.length;n++)if(t[n].options.event==e)return t[n];return null},add:function(e){if(l(e,"add",this))return this;var t=this.get(e.options.event);return t&&this.remove(t),this.recognizers.push(e),e.manager=this,this.touchAction.update(),e},remove:function(e){if(l(e,"remove",this))return this;if(e=this.get(e)){var t=this.recognizers,n=x(t,e);-1!==n&&(t.splice(n,1),this.touchAction.update())}return this},on:function(e,t){if(e!==s&&t!==s){var n=this.handlers;return c(b(e),function(e){n[e]=n[e]||[],n[e].push(t)}),this}},off:function(e,t){if(e!==s){var n=this.handlers;return c(b(e),function(e){t?n[e]&&n[e].splice(x(n[e],t),1):delete n[e]}),this}},emit:function(e,t){this.options.domEvents&&de(e,t);var n=this.handlers[e]&&this.handlers[e].slice();if(n&&n.length){t.type=e,t.preventDefault=function(){t.srcEvent.preventDefault()};for(var r=0;r<n.length;)n[r](t),r++}},destroy:function(){this.element&&pe(this,!1),this.handlers={},this.session={},this.input.destroy(),this.element=null}},ve(fe,{INPUT_START:De,INPUT_MOVE:Re,INPUT_END:Be,INPUT_CANCEL:Ie,STATE_POSSIBLE:mt,STATE_BEGAN:_t,STATE_CHANGED:gt,STATE_ENDED:bt,STATE_RECOGNIZED:xt,STATE_CANCELLED:wt,STATE_FAILED:Mt,DIRECTION_NONE:Fe,DIRECTION_LEFT:ze,DIRECTION_RIGHT:Ue,DIRECTION_UP:Ne,DIRECTION_DOWN:He,DIRECTION_HORIZONTAL:We,DIRECTION_VERTICAL:qe,DIRECTION_ALL:Ve,Manager:he,Input:P,TouchAction:J,TouchInput:V,MouseInput:N,PointerEventInput:H,TouchMouseInput:X,SingleTouchInput:W,Recognizer:ee,AttrRecognizer:ie,Tap:ce,Pan:oe,Swipe:le,Pinch:ae,Rotate:ue,Press:se,on:y,off:m,each:c,merge:Me,extend:we,assign:ve,inherit:h,bindFn:p,prefixed:E});var kt="undefined"!=typeof i?i:"undefined"!=typeof self?self:{};kt.Hammer=fe,r=function(){return fe}.call(t,n,t,e),!(r!==s&&(e.exports=r))}(window,document,"Hammer")},function(e,t){e.exports=__WEBPACK_EXTERNAL_MODULE_41__},function(e,t,n){function r(e){return e&&e.__esModule?e:{"default":e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=function(e,t,n){for(var r=!0;r;){var i=e,o=t,a=n;r=!1,null===i&&(i=Function.prototype);var s=Object.getOwnPropertyDescriptor(i,o);if(void 0!==s){if("value"in s)return s.value;var u=s.get;if(void 0===u)return;return u.call(a)}var l=Object.getPrototypeOf(i);if(null===l)return;e=l,t=o,n=a,r=!0,s=l=void 0}},u=n(43),l=r(u),c=n(53),f=r(c),h=n(56),p=r(h),d=n(35),v=r(d),y=n(10),m=r(y),_=n(3),g=r(_),b=function(e){function t(e,n){i(this,t);var r={distance:3e5};n=(0,g["default"])({},r,n),s(Object.getPrototypeOf(t.prototype),"constructor",this).call(this,n),this._path=e}return o(t,e),a(t,[{key:"_onAdd",value:function(e){var n=this;return new Promise(function(r,i){s(Object.getPrototypeOf(t.prototype),"_onAdd",n).call(n,e).then(function(){var e,t=new m["default"].PlaneBufferGeometry(2e6,2e6,1);e=n._world._environment._skybox?(0,p["default"])("#f5f5f3",n._world._environment._skybox.getRenderTarget()):(0,p["default"])("#f5f5f3");var i=new m["default"].Mesh(t,e);i.renderOrder=0,i.rotation.x=-90*Math.PI/180,i.receiveShadow=!0,n._baseLayer=i,n.add(i),setTimeout(function(){n._calculateLOD(),n._initEvents()},0),r(n)})["catch"](i)})}},{key:"_initEvents",value:function(){this._throttledWorldUpdate=(0,v["default"])(this._onWorldUpdate,100),this._world.on("preUpdate",this._throttledWorldUpdate,this),this._world.on("move",this._onWorldMove,this)}},{key:"_onWorldUpdate",value:function(){this._calculateLOD(),this._outputTiles()}},{key:"_onWorldMove",value:function(e,t){this._moveBaseLayer(t)}},{key:"_moveBaseLayer",value:function(e){this._baseLayer.position.x=e.x,this._baseLayer.position.z=e.y}},{key:"_createTile",value:function(e,t){return new f["default"](e,this._path,t)}},{key:"destroy",value:function(){this._world.off("preUpdate",this._throttledWorldUpdate),this._world.off("move",this._onWorldMove),this._throttledWorldUpdate=null,this._baseLayer.geometry.dispose(),this._baseLayer.geometry=null,this._baseLayer.material.map&&(this._baseLayer.material.map.dispose(),this._baseLayer.material.map=null),this._baseLayer.material.dispose(),this._baseLayer.material=null,this._baseLayer=null,s(Object.getPrototypeOf(t.prototype),"destroy",this).call(this)}}]),t}(l["default"]);t["default"]=b;var x=function(e,t){return new b(e,t)};t.imageTileLayer=x},function(e,t,n){function r(e){return e&&e.__esModule?e:{"default":e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=function(e,t,n){for(var r=!0;r;){var i=e,o=t,a=n;r=!1,null===i&&(i=Function.prototype);var s=Object.getOwnPropertyDescriptor(i,o);if(void 0!==s){if("value"in s)return s.value;var u=s.get;if(void 0===u)return;return u.call(a)}var l=Object.getPrototypeOf(i);if(null===l)return;e=l,t=o,n=a,r=!0,s=l=void 0}},u=n(32),l=r(u),c=n(3),f=r(c),h=n(44),p=r(h),d=n(10),v=r(d),y=function(e){function t(e){var n=this;i(this,t);var r={picking:!1,maxCache:1e3,maxLOD:18},o=(0,f["default"])({},r,e);s(Object.getPrototypeOf(t.prototype),"constructor",this).call(this,o),this._tileCache=new p["default"](this._options.maxCache,function(e){n._destroyTile(e)}),this._tileList=[],this._minLOD=3,this._maxLOD=this._options.maxLOD,this._frustum=new v["default"].Frustum,this._tiles=new v["default"].Object3D,this._tilesPicking=new v["default"].Object3D}return o(t,e),a(t,[{key:"_onAdd",value:function(e){return this.addToPicking(this._tilesPicking),this.add(this._tiles),Promise.resolve()}},{key:"_updateFrustum",value:function(){var e=this._world.getCamera(),t=new v["default"].Matrix4;t.multiplyMatrices(e.projectionMatrix,e.matrixWorldInverse),this._frustum.setFromMatrix(e.projectionMatrix),this._frustum.setFromMatrix((new v["default"].Matrix4).multiplyMatrices(e.projectionMatrix,e.matrixWorldInverse))}},{key:"_tileInFrustum",value:function(e){var t=e.getBounds();return this._frustum.intersectsBox(new v["default"].Box3(new v["default"].Vector3(t[0],0,t[3]),new v["default"].Vector3(t[2],0,t[1])))}},{key:"_outputTiles",value:function(){var e=this;this._tiles&&(this._removeTiles(),this._tileList.forEach(function(t){t.isReady()&&(e._tiles.add(t.getMesh()),t.getPickingMesh()&&e._tilesPicking.add(t.getPickingMesh()))}))}},{key:"_calculateLOD",value:function(){var e=this;if(!this._stop&&this._world){var t=this._world.getCamera();this._updateFrustum(this._frustum,t);var n=this._checklist;n=[],n.push(this._requestTile("0",this)),n.push(this._requestTile("1",this)),n.push(this._requestTile("2",this)),n.push(this._requestTile("3",this)),this._divide(n),n.sort(function(e,t){return e._quadcode.length<t._quadcode.length}),this._tileList=n.filter(function(n,r){if(!e._tileInFrustum(n))return!1;if(e._options.distance&&e._options.distance>0){var i=n.getCenter(),o=new v["default"].Vector3(i[0],0,i[1]).sub(t.position).length();if(o>e._options.distance)return!1}return n.getMesh()||n.requestTileAsync(),!0})}}},{key:"_divide",value:function(e){for(var t,n,r=0;r!=e.length;)t=e[r],n=t.getQuadcode(),t.length!==this._maxLOD&&this._screenSpaceError(t)?(e.splice(r,1),e.push(this._requestTile(n+"0",this)),e.push(this._requestTile(n+"1",this)),e.push(this._requestTile(n+"2",this)),e.push(this._requestTile(n+"3",this))):r++}},{key:"_screenSpaceError",value:function(e){var t=this._minLOD,n=this._maxLOD,r=e.getQuadcode(),i=this._world.getCamera(),o=3;if(r.length===n)return!1;if(r.length<t)return!0;if(!this._tileInFrustum(e))return!1;var a=e.getCenter(),s=new v["default"].Vector3(a[0],0,a[1]).sub(i.position).length(),u=o*e.getSide()/s;return u>1}},{key:"_removeTiles",value:function(){if(this._tiles&&this._tiles.children){for(var e=this._tiles.children.length-1;e>=0;e--)this._tiles.remove(this._tiles.children[e]);if(this._tilesPicking&&this._tilesPicking.children)for(var e=this._tilesPicking.children.length-1;e>=0;e--)this._tilesPicking.remove(this._tilesPicking.children[e])}}},{key:"_createTile",value:function(e,t){}},{key:"_requestTile",value:function(e,t){var n=this._tileCache.getTile(e);return n||(n=this._createTile(e,t),this._tileCache.setTile(e,n)),n}},{key:"_destroyTile",value:function(e){this._tiles.remove(e.getMesh()),e.destroy()}},{key:"destroy",value:function(){if(this._tiles.children)for(var e=this._tiles.children.length-1;e>=0;e--)this._tiles.remove(this._tiles.children[e]);if(this.removeFromPicking(this._tilesPicking),this._tilesPicking.children)for(var e=this._tilesPicking.children.length-1;e>=0;e--)this._tilesPicking.remove(this._tilesPicking.children[e]);this._tileCache.destroy(),this._tileCache=null,this._tiles=null,this._tilesPicking=null,this._frustum=null,s(Object.getPrototypeOf(t.prototype),"destroy",this).call(this)}}]),t}(l["default"]);t["default"]=y,e.exports=t["default"]},function(e,t,n){function r(e){return e&&e.__esModule?e:{"default":e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(45),s=r(a),u=function(){function e(t,n){i(this,e),this._cache=(0,s["default"])({max:t,dispose:function(e,t){n(t)}})}return o(e,[{key:"isReady",value:function(){return!1}},{key:"getTile",value:function(e){return this._cache.get(e)}},{key:"setTile",value:function(e,t){this._cache.set(e,t)}},{key:"destroy",value:function(){this._cache.reset(),this._cache=null}}]),e}();t["default"]=u;var l=function(e,t){return new u(e,t)};t.tileCache=l},function(e,t,n){function r(e,t,n){var r;return y[t]?r=y[t]:(r=h(t),y[t]=r),2===arguments.length?e[r]:(e[r]=n,n)}function i(){return 1}function o(e){if(!(this instanceof o))return new o(e);"number"==typeof e&&(e={max:e}),e||(e={});var t=r(this,"max",e.max);(!t||"number"!=typeof t||0>=t)&&r(this,"max",1/0);var n=e.length||i;"function"!=typeof n&&(n=i),r(this,"lengthCalculator",n),r(this,"allowStale",e.stale||!1),r(this,"maxAge",e.maxAge||0),r(this,"dispose",e.dispose),this.reset()}function a(e,t,n,i){var o=n.value;u(e,o)&&(c(e,n),r(e,"allowStale")||(o=void 0)),o&&t.call(i,o.value,o.key,e)}function s(e,t,n){var i=r(e,"cache").get(t);if(i){var o=i.value;u(e,o)?(c(e,i),r(e,"allowStale")||(o=void 0)):n&&r(e,"lruList").unshiftNode(i),o&&(o=o.value)}return o}function u(e,t){if(!t||!t.maxAge&&!r(e,"maxAge"))return!1;var n=!1,i=Date.now()-t.now;return n=t.maxAge?i>t.maxAge:r(e,"maxAge")&&i>r(e,"maxAge")}function l(e){if(r(e,"length")>r(e,"max"))for(var t=r(e,"lruList").tail;r(e,"length")>r(e,"max")&&null!==t;){var n=t.prev;c(e,t),t=n}}function c(e,t){if(t){var n=t.value;r(e,"dispose")&&r(e,"dispose").call(this,n.key,n.value),r(e,"length",r(e,"length")-n.length),r(e,"cache")["delete"](n.key),r(e,"lruList").removeNode(t)}}function f(e,t,n,r,i){this.key=e,this.value=t,this.length=n,this.now=r,this.maxAge=i||0}e.exports=o;var h,p=n(46),d=n(49),v=n(52),y={},m="function"==typeof Symbol;h=m?function(e){return Symbol["for"](e)}:function(e){return"_"+e},Object.defineProperty(o.prototype,"max",{set:function(e){(!e||"number"!=typeof e||0>=e)&&(e=1/0),r(this,"max",e),l(this)},get:function(){return r(this,"max")},enumerable:!0}),Object.defineProperty(o.prototype,"allowStale",{set:function(e){r(this,"allowStale",!!e)},get:function(){return r(this,"allowStale")},enumerable:!0}),Object.defineProperty(o.prototype,"maxAge",{set:function(e){(!e||"number"!=typeof e||0>e)&&(e=0),r(this,"maxAge",e),l(this)},get:function(){return r(this,"maxAge")},enumerable:!0}),Object.defineProperty(o.prototype,"lengthCalculator",{set:function(e){"function"!=typeof e&&(e=i),e!==r(this,"lengthCalculator")&&(r(this,"lengthCalculator",e),r(this,"length",0),r(this,"lruList").forEach(function(e){e.length=r(this,"lengthCalculator").call(this,e.value,e.key),r(this,"length",r(this,"length")+e.length)},this)),l(this)},get:function(){return r(this,"lengthCalculator")},enumerable:!0}),Object.defineProperty(o.prototype,"length",{get:function(){return r(this,"length")},enumerable:!0}),Object.defineProperty(o.prototype,"itemCount",{get:function(){return r(this,"lruList").length},enumerable:!0}),o.prototype.rforEach=function(e,t){t=t||this;for(var n=r(this,"lruList").tail;null!==n;){var i=n.prev;a(this,e,n,t),n=i}},o.prototype.forEach=function(e,t){t=t||this;for(var n=r(this,"lruList").head;null!==n;){var i=n.next;a(this,e,n,t),n=i}},o.prototype.keys=function(){return r(this,"lruList").toArray().map(function(e){return e.key},this)},o.prototype.values=function(){return r(this,"lruList").toArray().map(function(e){return e.value},this)},o.prototype.reset=function(){r(this,"dispose")&&r(this,"lruList")&&r(this,"lruList").length&&r(this,"lruList").forEach(function(e){r(this,"dispose").call(this,e.key,e.value)},this),r(this,"cache",new p),r(this,"lruList",new v),r(this,"length",0)},o.prototype.dump=function(){return r(this,"lruList").map(function(e){return u(this,e)?void 0:{k:e.key,v:e.value,e:e.now+(e.maxAge||0)}},this).toArray().filter(function(e){return e})},o.prototype.dumpLru=function(){return r(this,"lruList")},o.prototype.inspect=function(e,t){var n="LRUCache {",o=!1,a=r(this,"allowStale");a&&(n+="\n allowStale: true",o=!0);var s=r(this,"max");s&&s!==1/0&&(o&&(n+=","),n+="\n max: "+d.inspect(s,t),o=!0);var l=r(this,"maxAge");l&&(o&&(n+=","),n+="\n maxAge: "+d.inspect(l,t),o=!0);var c=r(this,"lengthCalculator");c&&c!==i&&(o&&(n+=","),n+="\n length: "+d.inspect(r(this,"length"),t),o=!0);var f=!1;return r(this,"lruList").forEach(function(e){f?n+=",\n ":(o&&(n+=",\n"),f=!0,n+="\n ");var r=d.inspect(e.key).split("\n").join("\n "),a={value:e.value};e.maxAge!==l&&(a.maxAge=e.maxAge),c!==i&&(a.length=e.length),u(this,e)&&(a.stale=!0),a=d.inspect(a,t).split("\n").join("\n "),n+=r+" => "+a}),(f||o)&&(n+="\n"),n+="}"},o.prototype.set=function(e,t,n){n=n||r(this,"maxAge");var i=n?Date.now():0,o=r(this,"lengthCalculator").call(this,t,e);if(r(this,"cache").has(e)){if(o>r(this,"max"))return c(this,r(this,"cache").get(e)),!1;var a=r(this,"cache").get(e),s=a.value;return r(this,"dispose")&&r(this,"dispose").call(this,e,s.value),s.now=i,s.maxAge=n,s.value=t,r(this,"length",r(this,"length")+(o-s.length)),s.length=o,this.get(e),l(this),!0}var u=new f(e,t,o,i,n);return u.length>r(this,"max")?(r(this,"dispose")&&r(this,"dispose").call(this,e,t),!1):(r(this,"length",r(this,"length")+u.length),r(this,"lruList").unshift(u),r(this,"cache").set(e,r(this,"lruList").head),l(this),!0)},o.prototype.has=function(e){if(!r(this,"cache").has(e))return!1;var t=r(this,"cache").get(e).value;return!u(this,t)},o.prototype.get=function(e){return s(this,e,!0)},o.prototype.peek=function(e){return s(this,e,!1)},o.prototype.pop=function(){var e=r(this,"lruList").tail;return e?(c(this,e),e.value):null},o.prototype.del=function(e){c(this,r(this,"cache").get(e))},o.prototype.load=function(e){this.reset();for(var t=Date.now(),n=e.length-1;n>=0;n--){var r=e[n],i=r.e||0;if(0===i)this.set(r.k,r.v);else{var o=i-t;o>0&&this.set(r.k,r.v,o)}}},o.prototype.prune=function(){var e=this;r(this,"cache").forEach(function(t,n){s(e,n,!1)})}},function(e,t,n){(function(t){"pseudomap"===t.env.npm_package_name&&"test"===t.env.npm_lifecycle_script&&(t.env.TEST_PSEUDOMAP="true"),"function"!=typeof Map||t.env.TEST_PSEUDOMAP?e.exports=n(48):e.exports=Map}).call(t,n(47))},function(e,t){function n(){f&&l&&(f=!1,l.length?c=l.concat(c):h=-1,c.length&&r())}function r(){if(!f){var e=a(n);f=!0;for(var t=c.length;t;){for(l=c,c=[];++h<t;)l&&l[h].run();h=-1,t=c.length}l=null,f=!1,s(e)}}function i(e,t){this.fun=e,this.array=t}function o(){}var a,s,u=e.exports={};!function(){try{a=setTimeout}catch(e){a=function(){throw new Error("setTimeout is not defined")}}try{s=clearTimeout}catch(e){s=function(){throw new Error("clearTimeout is not defined")}}}();var l,c=[],f=!1,h=-1;u.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];c.push(new i(e,t)),1!==c.length||f||a(r,0)},i.prototype.run=function(){this.fun.apply(null,this.array)},u.title="browser",u.browser=!0,u.env={},u.argv=[],u.version="",u.versions={},u.on=o,u.addListener=o,u.once=o,u.off=o,u.removeListener=o,u.removeAllListeners=o,u.emit=o,u.binding=function(e){throw new Error("process.binding is not supported")},u.cwd=function(){return"/"},u.chdir=function(e){throw new Error("process.chdir is not supported")},u.umask=function(){return 0}},function(e,t){function n(e){if(!(this instanceof n))throw new TypeError("Constructor PseudoMap requires 'new'");if(this.clear(),e)if(e instanceof n||"function"==typeof Map&&e instanceof Map)e.forEach(function(e,t){this.set(t,e)},this);else{if(!Array.isArray(e))throw new TypeError("invalid argument");e.forEach(function(e){this.set(e[0],e[1])},this)}}function r(e,t){return e===t||e!==e&&t!==t}function i(e,t,n){this.key=e,this.value=t,this._index=n}function o(e,t){for(var n=0,i="_"+t,o=i;s.call(e,o);o=i+n++)if(r(e[o].key,t))return e[o]}function a(e,t,n){for(var o=0,a="_"+t,u=a;s.call(e,u);u=a+o++)if(r(e[u].key,t))return void(e[u].value=n);e.size++,e[u]=new i(t,n,u)}var s=Object.prototype.hasOwnProperty;e.exports=n,n.prototype.forEach=function(e,t){t=t||this,Object.keys(this._data).forEach(function(n){"size"!==n&&e.call(t,this._data[n].value,this._data[n].key)},this)},n.prototype.has=function(e){return!!o(this._data,e)},n.prototype.get=function(e){var t=o(this._data,e);return t&&t.value},n.prototype.set=function(e,t){a(this._data,e,t)},n.prototype["delete"]=function(e){var t=o(this._data,e);t&&(delete this._data[t._index],this._data.size--)},n.prototype.clear=function(){var e=Object.create(null);e.size=0,Object.defineProperty(this,"_data",{value:e,enumerable:!1,configurable:!0,writable:!1})},Object.defineProperty(n.prototype,"size",{get:function(){return this._data.size},set:function(e){},enumerable:!0,configurable:!0}),n.prototype.values=n.prototype.keys=n.prototype.entries=function(){throw new Error("iterators are not implemented in this version")}},function(e,t,n){(function(e,r){function i(e,n){var r={seen:[],stylize:a};return arguments.length>=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),v(n)?r.showHidden=n:n&&t._extend(r,n),x(r.showHidden)&&(r.showHidden=!1),x(r.depth)&&(r.depth=2),x(r.colors)&&(r.colors=!1),x(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=o),u(r,e,r.depth)}function o(e,t){var n=i.styles[t];return n?"["+i.colors[n][0]+"m"+e+"["+i.colors[n][1]+"m":e}function a(e,t){return e}function s(e){var t={};return e.forEach(function(e,n){t[e]=!0}),t}function u(e,n,r){if(e.customInspect&&n&&k(n.inspect)&&n.inspect!==t.inspect&&(!n.constructor||n.constructor.prototype!==n)){var i=n.inspect(r,e);return g(i)||(i=u(e,i,r)),i}var o=l(e,n);if(o)return o;var a=Object.keys(n),v=s(a);if(e.showHidden&&(a=Object.getOwnPropertyNames(n)),O(n)&&(a.indexOf("message")>=0||a.indexOf("description")>=0))return c(n);if(0===a.length){if(k(n)){var y=n.name?": "+n.name:"";return e.stylize("[Function"+y+"]","special")}if(w(n))return e.stylize(RegExp.prototype.toString.call(n),"regexp");if(E(n))return e.stylize(Date.prototype.toString.call(n),"date");if(O(n))return c(n)}var m="",_=!1,b=["{","}"];if(d(n)&&(_=!0,b=["[","]"]),k(n)){var x=n.name?": "+n.name:"";m=" [Function"+x+"]"}if(w(n)&&(m=" "+RegExp.prototype.toString.call(n)),E(n)&&(m=" "+Date.prototype.toUTCString.call(n)),O(n)&&(m=" "+c(n)),0===a.length&&(!_||0==n.length))return b[0]+m+b[1];if(0>r)return w(n)?e.stylize(RegExp.prototype.toString.call(n),"regexp"):e.stylize("[Object]","special");e.seen.push(n);var M;return M=_?f(e,n,r,v,a):a.map(function(t){return h(e,n,r,v,t,_)}),e.seen.pop(),p(M,m,b)}function l(e,t){if(x(t))return e.stylize("undefined","undefined");if(g(t)){var n="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(n,"string")}return _(t)?e.stylize(""+t,"number"):v(t)?e.stylize(""+t,"boolean"):y(t)?e.stylize("null","null"):void 0}function c(e){return"["+Error.prototype.toString.call(e)+"]"}function f(e,t,n,r,i){for(var o=[],a=0,s=t.length;s>a;++a)A(t,String(a))?o.push(h(e,t,n,r,String(a),!0)):o.push("");return i.forEach(function(i){i.match(/^\d+$/)||o.push(h(e,t,n,r,i,!0))}),o}function h(e,t,n,r,i,o){var a,s,l;if(l=Object.getOwnPropertyDescriptor(t,i)||{value:t[i]},l.get?s=l.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):l.set&&(s=e.stylize("[Setter]","special")),A(r,i)||(a="["+i+"]"),s||(e.seen.indexOf(l.value)<0?(s=y(n)?u(e,l.value,null):u(e,l.value,n-1),s.indexOf("\n")>-1&&(s=o?s.split("\n").map(function(e){return" "+e}).join("\n").substr(2):"\n"+s.split("\n").map(function(e){return" "+e}).join("\n"))):s=e.stylize("[Circular]","special")),x(a)){if(o&&i.match(/^\d+$/))return s;a=JSON.stringify(""+i),a.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(a=a.substr(1,a.length-2),a=e.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=e.stylize(a,"string"))}return a+": "+s}function p(e,t,n){var r=0,i=e.reduce(function(e,t){return r++,t.indexOf("\n")>=0&&r++,e+t.replace(/\u001b\[\d\d?m/g,"").length+1},0);return i>60?n[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+n[1]:n[0]+t+" "+e.join(", ")+" "+n[1]}function d(e){return Array.isArray(e)}function v(e){return"boolean"==typeof e}function y(e){return null===e}function m(e){return null==e}function _(e){return"number"==typeof e}function g(e){return"string"==typeof e}function b(e){return"symbol"==typeof e}function x(e){return void 0===e}function w(e){return M(e)&&"[object RegExp]"===T(e)}function M(e){return"object"==typeof e&&null!==e}function E(e){return M(e)&&"[object Date]"===T(e)}function O(e){return M(e)&&("[object Error]"===T(e)||e instanceof Error)}function k(e){return"function"==typeof e}function P(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||"undefined"==typeof e}function T(e){return Object.prototype.toString.call(e)}function j(e){return 10>e?"0"+e.toString(10):e.toString(10)}function S(){var e=new Date,t=[j(e.getHours()),j(e.getMinutes()),j(e.getSeconds())].join(":");return[e.getDate(),R[e.getMonth()],t].join(" ")}function A(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var C=/%[sdj%]/g;t.format=function(e){if(!g(e)){for(var t=[],n=0;n<arguments.length;n++)t.push(i(arguments[n]));return t.join(" ")}for(var n=1,r=arguments,o=r.length,a=String(e).replace(C,function(e){if("%%"===e)return"%";if(n>=o)return e;switch(e){case"%s":return String(r[n++]);case"%d":return Number(r[n++]);case"%j":try{return JSON.stringify(r[n++])}catch(t){return"[Circular]"}default:return e}}),s=r[n];o>n;s=r[++n])a+=y(s)||!M(s)?" "+s:" "+i(s);return a},t.deprecate=function(n,i){function o(){if(!a){if(r.throwDeprecation)throw new Error(i);r.traceDeprecation?console.trace(i):console.error(i),a=!0}return n.apply(this,arguments)}if(x(e.process))return function(){return t.deprecate(n,i).apply(this,arguments)};if(r.noDeprecation===!0)return n;var a=!1;return o};var L,D={};t.debuglog=function(e){if(x(L)&&(L=r.env.NODE_DEBUG||""),e=e.toUpperCase(),!D[e])if(new RegExp("\\b"+e+"\\b","i").test(L)){var n=r.pid;D[e]=function(){var r=t.format.apply(t,arguments);console.error("%s %d: %s",e,n,r)}}else D[e]=function(){};return D[e]},t.inspect=i,i.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},i.styles={special:"cyan",number:"yellow","boolean":"yellow",undefined:"grey","null":"bold",string:"green",date:"magenta",regexp:"red"},t.isArray=d,t.isBoolean=v,t.isNull=y,t.isNullOrUndefined=m,t.isNumber=_,t.isString=g,t.isSymbol=b,t.isUndefined=x,t.isRegExp=w,t.isObject=M,t.isDate=E,t.isError=O,t.isFunction=k,t.isPrimitive=P,t.isBuffer=n(50);var R=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];t.log=function(){console.log("%s - %s",S(),t.format.apply(t,arguments))},t.inherits=n(51),t._extend=function(e,t){if(!t||!M(t))return e;for(var n=Object.keys(t),r=n.length;r--;)e[n[r]]=t[n[r]];return e}}).call(t,function(){return this}(),n(47))},function(e,t){e.exports=function(e){return e&&"object"==typeof e&&"function"==typeof e.copy&&"function"==typeof e.fill&&"function"==typeof e.readUInt8}},function(e,t){"function"==typeof Object.create?e.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}},function(e,t){function n(e){var t=this;if(t instanceof n||(t=new n),t.tail=null,t.head=null,t.length=0,e&&"function"==typeof e.forEach)e.forEach(function(e){t.push(e)});else if(arguments.length>0)for(var r=0,i=arguments.length;i>r;r++)t.push(arguments[r]);return t}function r(e,t){e.tail=new o(t,e.tail,null,e),e.head||(e.head=e.tail),e.length++}function i(e,t){e.head=new o(t,null,e.head,e),e.tail||(e.tail=e.head),e.length++}function o(e,t,n,r){return this instanceof o?(this.list=r,this.value=e,t?(t.next=this,this.prev=t):this.prev=null,void(n?(n.prev=this,this.next=n):this.next=null)):new o(e,t,n,r)}e.exports=n,n.Node=o,n.create=n,n.prototype.removeNode=function(e){if(e.list!==this)throw new Error("removing node which does not belong to this list");var t=e.next,n=e.prev;t&&(t.prev=n),n&&(n.next=t),e===this.head&&(this.head=t),e===this.tail&&(this.tail=n),e.list.length--,e.next=null,e.prev=null,e.list=null},n.prototype.unshiftNode=function(e){if(e!==this.head){e.list&&e.list.removeNode(e);var t=this.head;e.list=this,e.next=t,t&&(t.prev=e),this.head=e,this.tail||(this.tail=e),this.length++}},n.prototype.pushNode=function(e){if(e!==this.tail){e.list&&e.list.removeNode(e);var t=this.tail;e.list=this,e.prev=t,t&&(t.next=e),this.tail=e,this.head||(this.head=e),this.length++}},n.prototype.push=function(){for(var e=0,t=arguments.length;t>e;e++)r(this,arguments[e]);return this.length},n.prototype.unshift=function(){for(var e=0,t=arguments.length;t>e;e++)i(this,arguments[e]);return this.length},n.prototype.pop=function(){if(this.tail){var e=this.tail.value;return this.tail=this.tail.prev,this.tail.next=null,this.length--,e}},n.prototype.shift=function(){if(this.head){var e=this.head.value;return this.head=this.head.next,this.head.prev=null,this.length--,e}},n.prototype.forEach=function(e,t){t=t||this;for(var n=this.head,r=0;null!==n;r++)e.call(t,n.value,r,this),n=n.next},n.prototype.forEachReverse=function(e,t){t=t||this;for(var n=this.tail,r=this.length-1;null!==n;r--)e.call(t,n.value,r,this),n=n.prev},n.prototype.get=function(e){for(var t=0,n=this.head;null!==n&&e>t;t++)n=n.next;return t===e&&null!==n?n.value:void 0},n.prototype.getReverse=function(e){for(var t=0,n=this.tail;null!==n&&e>t;t++)n=n.prev;return t===e&&null!==n?n.value:void 0},n.prototype.map=function(e,t){t=t||this;for(var r=new n,i=this.head;null!==i;)r.push(e.call(t,i.value,this)),i=i.next;return r},n.prototype.mapReverse=function(e,t){t=t||this;for(var r=new n,i=this.tail;null!==i;)r.push(e.call(t,i.value,this)),i=i.prev;return r},n.prototype.reduce=function(e,t){var n,r=this.head;if(arguments.length>1)n=t;else{if(!this.head)throw new TypeError("Reduce of empty list with no initial value");r=this.head.next,n=this.head.value}for(var i=0;null!==r;i++)n=e(n,r.value,i),r=r.next;return n},n.prototype.reduceReverse=function(e,t){var n,r=this.tail;if(arguments.length>1)n=t;else{if(!this.tail)throw new TypeError("Reduce of empty list with no initial value");r=this.tail.prev,n=this.tail.value}for(var i=this.length-1;null!==r;i--)n=e(n,r.value,i),r=r.prev;return n},n.prototype.toArray=function(){for(var e=new Array(this.length),t=0,n=this.head;null!==n;t++)e[t]=n.value,n=n.next;return e},n.prototype.toArrayReverse=function(){for(var e=new Array(this.length),t=0,n=this.tail;null!==n;t++)e[t]=n.value,n=n.prev;return e},n.prototype.slice=function(e,t){t=t||this.length,0>t&&(t+=this.length),e=e||0,0>e&&(e+=this.length);var r=new n;if(e>t||0>t)return r;0>e&&(e=0),t>this.length&&(t=this.length);for(var i=0,o=this.head;null!==o&&e>i;i++)o=o.next;for(;null!==o&&t>i;i++,o=o.next)r.push(o.value);return r},n.prototype.sliceReverse=function(e,t){t=t||this.length,0>t&&(t+=this.length),e=e||0,0>e&&(e+=this.length);var r=new n;if(e>t||0>t)return r;0>e&&(e=0),t>this.length&&(t=this.length);for(var i=this.length,o=this.tail;null!==o&&i>t;i--)o=o.prev;for(;null!==o&&i>e;i--,o=o.prev)r.push(o.value);return r},n.prototype.reverse=function(){for(var e=this.head,t=this.tail,n=e;null!==n;n=n.prev){var r=n.prev;n.prev=n.next,n.next=r}return this.head=t,this.tail=e,this}},function(e,t,n){function r(e){return e&&e.__esModule?e:{"default":e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function");
}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=function(e,t,n){for(var r=!0;r;){var i=e,o=t,a=n;r=!1,null===i&&(i=Function.prototype);var s=Object.getOwnPropertyDescriptor(i,o);if(void 0!==s){if("value"in s)return s.value;var u=s.get;if(void 0===u)return;return u.call(a)}var l=Object.getPrototypeOf(i);if(null===l)return;e=l,t=o,n=a,r=!0,s=l=void 0}},u=n(54),l=r(u),c=n(55),f=(r(c),n(10)),h=r(f),p=function(e){function t(e,n,r){i(this,t),s(Object.getPrototypeOf(t.prototype),"constructor",this).call(this,e,n,r)}return o(t,e),a(t,[{key:"requestTileAsync",value:function(){var e=this;setTimeout(function(){e._mesh||(e._mesh=e._createMesh(),e._requestTile())},0)}},{key:"destroy",value:function(){this._abortRequest(),this._image=null,s(Object.getPrototypeOf(t.prototype),"destroy",this).call(this)}},{key:"_createMesh",value:function(){if(this._center){var e,t=new h["default"].Object3D,n=new h["default"].PlaneBufferGeometry(this._side,this._side,1);this._world._environment._skybox?(e=new h["default"].MeshStandardMaterial({depthWrite:!1}),e.roughness=1,e.metalness=.1,e.envMap=this._world._environment._skybox.getRenderTarget()):e=new h["default"].MeshBasicMaterial({depthWrite:!1});var r=new h["default"].Mesh(n,e);return r.rotation.x=-90*Math.PI/180,r.receiveShadow=!0,t.add(r),t.renderOrder=.1,t.position.x=this._center[0],t.position.z=this._center[1],t}}},{key:"_createDebugMesh",value:function(){var e=document.createElement("canvas");e.width=256,e.height=256;var t=e.getContext("2d");t.font="Bold 20px Helvetica Neue, Verdana, Arial",t.fillStyle="#ff0000",t.fillText(this._quadcode,20,e.width/2-5),t.fillText(this._tile.toString(),20,e.width/2+25);var n=new h["default"].Texture(e);n.magFilter=h["default"].LinearFilter,n.minFilter=h["default"].LinearMipMapLinearFilter,n.anisotropy=4,n.needsUpdate=!0;var r=new h["default"].MeshBasicMaterial({map:n,transparent:!0,depthWrite:!1}),i=new h["default"].PlaneBufferGeometry(this._side,this._side,1),o=new h["default"].Mesh(i,r);return o.rotation.x=-90*Math.PI/180,o.position.y=.1,o}},{key:"_requestTile",value:function(){var e=this,t={x:this._tile[0],y:this._tile[1],z:this._tile[2]},n=this._getTileURL(t),r=document.createElement("img");r.addEventListener("load",function(t){var n=new h["default"].Texture;n.image=r,n.needsUpdate=!0,n.magFilter=h["default"].LinearFilter,n.minFilter=h["default"].LinearMipMapLinearFilter,n.anisotropy=4,n.needsUpdate=!0,e._mesh&&e._mesh.children[0]&&e._mesh.children[0].material&&(e._mesh.children[0].material.map=n,e._mesh.children[0].material.needsUpdate=!0,e._texture=n,e._ready=!0)},!1),r.crossOrigin="",r.src=n,this._image=r}},{key:"_abortRequest",value:function(){this._image&&(this._image.src="")}}]),t}(l["default"]);t["default"]=p;var d=function(e,t,n){return new p(e,t,n)};t.imageTile=d},function(e,t,n){function r(e){return e&&e.__esModule?e:{"default":e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(8),s=n(7),u=n(10),l=r(u),c=180/Math.PI,f=/\{([szxy])\}/g,h=function(){function e(t,n,r){i(this,e),this._layer=r,this._world=r._world,this._quadcode=t,this._path=n,this._ready=!1,this._tile=this._quadcodeToTile(t),this._boundsLatLon=this._tileBoundsWGS84(this._tile),this._boundsWorld=this._tileBoundsFromWGS84(this._boundsLatLon),this._center=this._boundsToCenter(this._boundsWorld),this._centerLatlon=this._world.pointToLatLon((0,a.point)(this._center[0],this._center[1])),this._side=this._getSide(this._boundsWorld),this._pointScale=this._world.pointScale(this._centerLatlon)}return o(e,[{key:"isReady",value:function(){return this._ready}},{key:"requestTileAsync",value:function(){}},{key:"getQuadcode",value:function(){return this._quadcode}},{key:"getBounds",value:function(){return this._boundsWorld}},{key:"getCenter",value:function(){return this._center}},{key:"getSide",value:function(){return this._side}},{key:"getMesh",value:function(){return this._mesh}},{key:"getPickingMesh",value:function(){return this._pickingMesh}},{key:"destroy",value:function(){this._layer=null,this._world=null,this._boundsLatLon=null,this._boundsWorld=null,this._center=null,this._mesh&&(this._mesh.children?this._mesh.children.forEach(function(e){e.geometry.dispose(),e.geometry=null,e.material.map&&(e.material.map.dispose(),e.material.map=null),e.material.dispose(),e.material=null}):(this._mesh.geometry.dispose(),this._mesh.geometry=null,this._mesh.material.map&&(this._mesh.material.map.dispose(),this._mesh.material.map=null),this._mesh.material.dispose(),this._mesh.material=null))}},{key:"_createMesh",value:function(){}},{key:"_createDebugMesh",value:function(){}},{key:"_getTileURL",value:function(e){return e.s||(e.s=String.fromCharCode(97+Math.floor(3*Math.random()))),f.lastIndex=0,this._path.replace(f,function(t,n){return e[n]})}},{key:"_quadcodeToTile",value:function(e){for(var t=0,n=0,r=e.length,i=r;i>0;i--){var o=1<<i-1,a=+e[r-i];1===a&&(t|=o),2===a&&(n|=o),3===a&&(t|=o,n|=o)}return[t,n,r]}},{key:"_tileBoundsFromWGS84",value:function(e){var t=this._layer._world.latLonToPoint((0,s.latLon)(e[1],e[0])),n=this._layer._world.latLonToPoint((0,s.latLon)(e[3],e[2]));return[t.x,t.y,n.x,n.y]}},{key:"_tileBoundsWGS84",value:function(e){var t=this._tile2lon(e[0]+1,e[2]),n=this._tile2lon(e[0],e[2]),r=this._tile2lat(e[1]+1,e[2]),i=this._tile2lat(e[1],e[2]);return[n,r,t,i]}},{key:"_tile2lon",value:function(e,t){return e/Math.pow(2,t)*360-180}},{key:"_tile2lat",value:function(e,t){var n=Math.PI-2*Math.PI*e/Math.pow(2,t);return c*Math.atan(.5*(Math.exp(n)-Math.exp(-n)))}},{key:"_boundsToCenter",value:function(e){var t=e[0]+(e[2]-e[0])/2,n=e[1]+(e[3]-e[1])/2;return[t,n]}},{key:"_getSide",value:function(e){return new l["default"].Vector3(e[0],0,e[3]).sub(new l["default"].Vector3(e[0],0,e[1])).length()}}]),e}();t["default"]=h,e.exports=t["default"]},function(e,t,n){function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(10),o=r(i);BoxHelper=function(e){var t=new Uint16Array([0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,4,0,4,1,5,2,6,3,7]),n=new Float32Array(24),r=new o["default"].BufferGeometry;r.setIndex(new o["default"].BufferAttribute(t,1)),r.addAttribute("position",new o["default"].BufferAttribute(n,3)),o["default"].LineSegments.call(this,r,new o["default"].LineBasicMaterial({linewidth:2,color:16711680})),void 0!==e&&this.update(e)},BoxHelper.prototype=Object.create(o["default"].LineSegments.prototype),BoxHelper.prototype.constructor=BoxHelper,BoxHelper.prototype.update=function(){var e=new o["default"].Box3;return function(t){if(e.setFromObject(t),!e.isEmpty()){var n=e.min,r=e.max,i=this.geometry.attributes.position,o=i.array;o[0]=r.x,o[1]=r.y,o[2]=r.z,o[3]=n.x,o[4]=r.y,o[5]=r.z,o[6]=n.x,o[7]=n.y,o[8]=r.z,o[9]=r.x,o[10]=n.y,o[11]=r.z,o[12]=r.x,o[13]=r.y,o[14]=n.z,o[15]=n.x,o[16]=r.y,o[17]=n.z,o[18]=n.x,o[19]=n.y,o[20]=n.z,o[21]=r.x,o[22]=n.y,o[23]=n.z,i.needsUpdate=!0,this.geometry.computeBoundingSphere()}}}(),t["default"]=BoxHelper,e.exports=t["default"]},function(e,t,n){function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(10),o=r(i);t["default"]=function(e,t){var n=document.createElement("canvas");n.width=1,n.height=1;var r=n.getContext("2d");r.fillStyle=e,r.fillRect(0,0,n.width,n.height);var i=new o["default"].Texture(n);i.needsUpdate=!0;var a;return t?(a=new o["default"].MeshStandardMaterial({map:i,depthWrite:!1}),a.roughness=1,a.metalness=.1,a.envMap=t):a=new o["default"].MeshBasicMaterial({map:i,depthWrite:!1}),a},e.exports=t["default"]},function(e,t,n){function r(e){return e&&e.__esModule?e:{"default":e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=function(e,t,n){for(var r=!0;r;){var i=e,o=t,a=n;r=!1,null===i&&(i=Function.prototype);var s=Object.getOwnPropertyDescriptor(i,o);if(void 0!==s){if("value"in s)return s.value;var u=s.get;if(void 0===u)return;return u.call(a)}var l=Object.getPrototypeOf(i);if(null===l)return;e=l,t=o,n=a,r=!0,s=l=void 0}},u=n(43),l=r(u),c=n(3),f=r(c),h=n(58),p=r(h),d=n(35),v=r(d),y=n(10),m=(r(y),function(e){function t(e,n){i(this,t);var r={maxLOD:14,distance:3e4};n=(0,f["default"])({},r,n),s(Object.getPrototypeOf(t.prototype),"constructor",this).call(this,n),this._path=e}return o(t,e),a(t,[{key:"_onAdd",value:function(e){var n=this;return new Promise(function(r,i){s(Object.getPrototypeOf(t.prototype),"_onAdd",n).call(n,e).then(function(){setTimeout(function(){n._calculateLOD(),n._initEvents()},0),r(n)})["catch"](i)})}},{key:"_initEvents",value:function(){this._throttledWorldUpdate=(0,v["default"])(this._onWorldUpdate,100),this._world.on("preUpdate",this._throttledWorldUpdate,this),this._world.on("move",this._onWorldMove,this),this._world.on("controlsMove",this._onControlsMove,this)}},{key:"_onWorldUpdate",value:function(){this._pauseOutput||this._outputTiles()}},{key:"_onWorldMove",value:function(e,t){this._pauseOutput=!1,this._calculateLOD()}},{key:"_onControlsMove",value:function(){this._pauseOutput=!0}},{key:"_createTile",value:function(e,t){return new p["default"](e,this._path,t,this._options)}},{key:"destroy",value:function(){this._world.off("preUpdate",this._throttledWorldUpdate),this._world.off("move",this._onWorldMove),this._throttledWorldUpdate=null,s(Object.getPrototypeOf(t.prototype),"destroy",this).call(this)}}]),t}(l["default"]));t["default"]=m;var _=function(e,t){return new m(e,t)};t.geoJSONTileLayer=_},function(e,t,n){function r(e){return e&&e.__esModule?e:{"default":e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=function(e,t,n){for(var r=!0;r;){var i=e,o=t,a=n;r=!1,null===i&&(i=Function.prototype);var s=Object.getOwnPropertyDescriptor(i,o);if(void 0!==s){if("value"in s)return s.value;var u=s.get;if(void 0===u)return;return u.call(a)}var l=Object.getPrototypeOf(i);if(null===l)return;e=l,t=o,n=a,r=!0,s=l=void 0}},u=n(54),l=r(u),c=n(59),f=n(55),h=(r(f),n(10)),p=r(h),d=n(61),v=r(d),y=(n(8),n(7),n(3)),m=r(y),_=n(63),g=r(_),b=n(69),x=(r(b),n(70)),w=(r(x),function(e){function t(e,n,r,o){i(this,t),s(Object.getPrototypeOf(t.prototype),"constructor",this).call(this,e,n,r),this._defaultStyle=g["default"].defaultStyle;var a={output:!0,outputToScene:!1,interactive:!1,topojson:!1,filter:null,onEachFeature:null,polygonMaterial:null,onPolygonMesh:null,onPolygonBufferAttributes:null,polylineMaterial:null,onPolylineMesh:null,onPolylineBufferAttributes:null,pointGeometry:null,pointMaterial:null,onPointMesh:null,style:g["default"].defaultStyle,keepFeatures:!1},u=(0,m["default"])({},a,o);"function"==typeof o.style?u.style=o.style:u.style=(0,m["default"])({},a.style,o.style),this._options=u}return o(t,e),a(t,[{key:"requestTileAsync",value:function(){var e=this;setTimeout(function(){e._mesh||(e._mesh=e._createMesh(),e._requestTile())},0)}},{key:"destroy",value:function(){this._abortRequest(),this._request=null,this._geojsonLayer&&(this._geojsonLayer.destroy(),this._geojsonLayer=null),this._mesh=null,this._pickingMesh=null,s(Object.getPrototypeOf(t.prototype),"destroy",this).call(this)}},{key:"_createMesh",value:function(){if(this._center){var e=new p["default"].Object3D;return e}}},{key:"_createDebugMesh",value:function(){var e=document.createElement("canvas");e.width=256,e.height=256;var t=e.getContext("2d");t.font="Bold 20px Helvetica Neue, Verdana, Arial",t.fillStyle="#ff0000",t.fillText(this._quadcode,20,e.width/2-5),t.fillText(this._tile.toString(),20,e.width/2+25);var n=new p["default"].Texture(e);n.magFilter=p["default"].LinearFilter,n.minFilter=p["default"].LinearMipMapLinearFilter,n.anisotropy=4,n.needsUpdate=!0;var r=new p["default"].MeshBasicMaterial({map:n,transparent:!0,depthWrite:!1}),i=new p["default"].PlaneBufferGeometry(this._side,this._side,1),o=new p["default"].Mesh(i,r);return o.rotation.x=-90*Math.PI/180,o.position.y=.1,o}},{key:"_requestTile",value:function(){var e=this,t={x:this._tile[0],y:this._tile[1],z:this._tile[2]},n=this._getTileURL(t);this._request=(0,v["default"])({url:n,type:"json",crossOrigin:!0}).then(function(t){e._request=null,e._processTileData(t)})["catch"](function(t){console.error(t),e._request=null})}},{key:"_processTileData",value:function(e){var t=this;console.time(this._tile),this._geojsonLayer=(0,c.geoJSONLayer)(e,this._options),this._geojsonLayer.addTo(this._world).then(function(){t._mesh=t._geojsonLayer._object3D,t._pickingMesh=t._geojsonLayer._pickingMesh,t._geojsonLayer._geojson=null,t._ready=!0,console.timeEnd(t._tile)})}},{key:"_abortRequest",value:function(){this._request&&this._request.abort()}}]),t}(l["default"]));t["default"]=w;var M=function(e,t,n,r){return new w(e,t,n,r)};t.geoJSONTile=M},function(e,t,n){function r(e){return e&&e.__esModule?e:{"default":e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=function(e,t,n){for(var r=!0;r;){var i=e,o=t,a=n;r=!1,null===i&&(i=Function.prototype);var s=Object.getOwnPropertyDescriptor(i,o);if(void 0!==s){if("value"in s)return s.value;var u=s.get;if(void 0===u)return;return u.call(a)}var l=Object.getPrototypeOf(i);if(null===l)return;e=l,t=o,n=a,r=!0,s=l=void 0}},u=n(60),l=r(u),c=n(3),f=r(c),h=n(61),p=r(h),d=n(63),v=r(d),y=n(69),m=r(y),_=n(70),g=r(_),b=n(72),x=r(b),w=n(73),M=r(w),E=n(74),O=r(E),k=function(e){function t(e,n){i(this,t);var r={output:!1,interactive:!1,topojson:!1,filter:null,onEachFeature:null,polygonMaterial:null,onPolygonMesh:null,onPolygonBufferAttributes:null,polylineMaterial:null,onPolylineMesh:null,onPolylineBufferAttributes:null,pointGeometry:null,pointMaterial:null,onPointMesh:null,style:v["default"].defaultStyle,keepFeatures:!0},o=(0,f["default"])({},r,n);"function"==typeof n.style?o.style=n.style:o.style=(0,f["default"])({},r.style,n.style),s(Object.getPrototypeOf(t.prototype),"constructor",this).call(this,o),this._geojson=e}return o(t,e),a(t,[{key:"_onAdd",value:function(e){return this.isOutput()&&(this._pickingMesh=new THREE.Object3D,this.addToPicking(this._pickingMesh)),"string"==typeof this._geojson?this._requestData(this._geojson):this._processData(this._geojson)}},{key:"_requestData",value:function(e){var t=this;return new Promise(function(n,r){t._request=(0,p["default"])({url:e,type:"json",crossOrigin:!0}).then(function(e){t._request=null,t._processData(e).then(function(){n(t)})})["catch"](function(e){console.error(e),t._request=null})})}},{key:"_processData",value:function(e){var t=this;this._geojson=v["default"].collectFeatures(e,this._options.topojson);var n=this._geojson.features;this._options.filter&&(n=this._geojson.features.filter(this._options.filter));var r,i={},o=this._options.style;if(n.forEach(function(e){"function"==typeof t._options.style&&(o=(0,f["default"])({},v["default"].defaultStyle,t._options.style(e))),r=(0,f["default"])({},i,{output:!t.isOutput(),interactive:t._options.interactive,style:o});var n=t._featureToLayer(e,r);n&&(t._options.keepFeatures&&(n.feature=e),t._options.onEachFeature&&t._options.onEachFeature(e,n),t.addLayer(n))}),this.isOutput()){var a=[],s=!0,u=[],l=[];if(this._layers.forEach(function(e){e instanceof x["default"]?(a.push(e.getBufferAttributes()),s&&!e.isFlat()&&(s=!1)):e instanceof M["default"]?u.push(e.getBufferAttributes()):e instanceof O["default"]&&l.push(e.getBufferAttributes())}),a.length>0){var c=m["default"].mergeAttributes(a);this._setPolygonMesh(c,s),this.add(this._polygonMesh)}if(u.length>0){var h=m["default"].mergeAttributes(u);this._setPolylineMesh(h),this.add(this._polylineMesh)}if(l.length>0){var p=m["default"].mergeAttributes(l);this._setPointMesh(p),this.add(this._pointMesh)}return this._layers.forEach(function(e){e.clearBufferAttributes(),e.clearCoordinates()}),Promise.resolve()}}},{key:"_setPolygonMesh",value:function(e,t){var n=new THREE.BufferGeometry;n.addAttribute("position",new THREE.BufferAttribute(e.vertices,3)),n.addAttribute("normal",new THREE.BufferAttribute(e.normals,3)),n.addAttribute("color",new THREE.BufferAttribute(e.colours,3)),e.pickingIds&&n.addAttribute("pickingId",new THREE.BufferAttribute(e.pickingIds,1)),n.computeBoundingBox();var r="function"==typeof this._options.style?this._options.style(this._geojson.features[0]):this._options.style;r=(0,f["default"])({},v["default"].defaultStyle,r);var i;this._options.polygonMaterial&&this._options.polygonMaterial instanceof THREE.Material?i=this._options.polygonMaterial:this._world._environment._skybox?(i=new THREE.MeshStandardMaterial({vertexColors:THREE.VertexColors,side:THREE.BackSide,transparent:r.transparent,opacity:r.opacity,blending:r.blending}),i.roughness=1,i.metalness=.1,i.envMapIntensity=3,i.envMap=this._world._environment._skybox.getRenderTarget()):i=new THREE.MeshPhongMaterial({vertexColors:THREE.VertexColors,side:THREE.BackSide,transparent:r.transparent,opacity:r.opacity,blending:r.blending});var o;if("function"==typeof this._options.onPolygonMesh?o=this._options.onPolygonMesh(n,i):(o=new THREE.Mesh(n,i),o.castShadow=!0,o.receiveShadow=!0),t&&(i.depthWrite=!1,o.renderOrder=1),this._options.interactive&&this._pickingMesh){i=new g["default"],i.side=THREE.BackSide;var a=new THREE.Mesh(n,i);this._pickingMesh.add(a)}this._polygonMesh=o}},{key:"_setPolylineMesh",value:function(e){var t=new THREE.BufferGeometry;t.addAttribute("position",new THREE.BufferAttribute(e.vertices,3)),e.normals&&t.addAttribute("normal",new THREE.BufferAttribute(e.normals,3)),t.addAttribute("color",new THREE.BufferAttribute(e.colours,3)),e.pickingIds&&t.addAttribute("pickingId",new THREE.BufferAttribute(e.pickingIds,1)),t.computeBoundingBox();var n="function"==typeof this._options.style?this._options.style(this._geojson.features[0]):this._options.style;n=(0,f["default"])({},v["default"].defaultStyle,n);var r;r=this._options.polylineMaterial&&this._options.polylineMaterial instanceof THREE.Material?this._options.polylineMaterial:new THREE.LineBasicMaterial({vertexColors:THREE.VertexColors,linewidth:n.lineWidth,transparent:n.lineTransparent,opacity:n.lineOpacity,blending:n.lineBlending});var i;if("function"==typeof this._options.onPolylineMesh?i=this._options.onPolylineMesh(t,r):(i=new THREE.LineSegments(t,r),void 0!==n.lineRenderOrder&&(r.depthWrite=!1,i.renderOrder=n.lineRenderOrder),i.castShadow=!0),this._options.interactive&&this._pickingMesh){r=new g["default"],r.linewidth=n.lineWidth+r.linePadding;var o=new THREE.LineSegments(t,r);this._pickingMesh.add(o)}this._polylineMesh=i}},{key:"_setPointMesh",value:function(e){var t=new THREE.BufferGeometry;t.addAttribute("position",new THREE.BufferAttribute(e.vertices,3)),t.addAttribute("normal",new THREE.BufferAttribute(e.normals,3)),t.addAttribute("color",new THREE.BufferAttribute(e.colours,3)),e.pickingIds&&t.addAttribute("pickingId",new THREE.BufferAttribute(e.pickingIds,1)),t.computeBoundingBox();var n;this._options.pointMaterial&&this._options.pointMaterial instanceof THREE.Material?n=this._options.pointMaterial:this._world._environment._skybox?(n=new THREE.MeshStandardMaterial({vertexColors:THREE.VertexColors}),n.roughness=1,n.metalness=.1,n.envMapIntensity=3,n.envMap=this._world._environment._skybox.getRenderTarget()):n=new THREE.MeshPhongMaterial({vertexColors:THREE.VertexColors});var r;if("function"==typeof this._options.onPointMesh?r=this._options.onPointMesh(t,n):(r=new THREE.Mesh(t,n),r.castShadow=!0),this._options.interactive&&this._pickingMesh){n=new g["default"];var i=new THREE.Mesh(t,n);this._pickingMesh.add(i)}this._pointMesh=r}},{key:"_featureToLayer",value:function(e,t){var n=e.geometry,r=n.coordinates?n.coordinates:null;return r&&n?"Polygon"===n.type||"MultiPolygon"===n.type?("function"==typeof this._options.polygonMaterial&&(t.geometry=this._options.polygonMaterial(e)),"function"==typeof this._options.onPolygonMesh&&(t.onMesh=this._options.onPolygonMesh),"function"==typeof this._options.onPolygonBufferAttributes&&(t.onBufferAttributes=this._options.onPolygonBufferAttributes),new x["default"](r,t)):"LineString"===n.type||"MultiLineString"===n.type?("function"==typeof this._options.lineMaterial&&(t.geometry=this._options.lineMaterial(e)),"function"==typeof this._options.onPolylineMesh&&(t.onMesh=this._options.onPolylineMesh),"function"==typeof this._options.onPolylineBufferAttributes&&(t.onBufferAttributes=this._options.onPolylineBufferAttributes),new M["default"](r,t)):"Point"===n.type||"MultiPoint"===n.type?("function"==typeof this._options.pointGeometry&&(t.geometry=this._options.pointGeometry(e)),"function"==typeof this._options.pointMaterial&&(t.geometry=this._options.pointMaterial(e)),"function"==typeof this._options.onPointMesh&&(t.onMesh=this._options.onPointMesh),new O["default"](r,t)):void 0:void 0}},{key:"_abortRequest",value:function(){this._request&&this._request.abort()}},{key:"destroy",value:function(){this._abortRequest(),this._request=null,this._geojson=null,this._pickingMesh&&(this._pickingMesh=null),this._polygonMesh&&(this._polygonMesh=null),this._polylineMesh&&(this._polylineMesh=null),this._pointMesh&&(this._pointMesh=null),s(Object.getPrototypeOf(t.prototype),"destroy",this).call(this)}}]),t}(l["default"]);t["default"]=k;var P=function(e,t){return new k(e,t)};t.geoJSONLayer=P},function(e,t,n){function r(e){return e&&e.__esModule?e:{"default":e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=function(e,t,n){for(var r=!0;r;){var i=e,o=t,a=n;r=!1,null===i&&(i=Function.prototype);var s=Object.getOwnPropertyDescriptor(i,o);if(void 0!==s){if("value"in s)return s.value;var u=s.get;if(void 0===u)return;return u.call(a)}var l=Object.getPrototypeOf(i);if(null===l)return;e=l,t=o,n=a,r=!0,s=l=void 0}},u=n(32),l=r(u),c=n(3),f=r(c),h=function(e){function t(e){i(this,t);var n={output:!1},r=(0,f["default"])({},n,e);s(Object.getPrototypeOf(t.prototype),"constructor",this).call(this,r),this._layers=[]}return o(t,e),a(t,[{key:"addLayer",value:function(e){return this._layers.push(e),this._world.addLayer(e)}},{key:"removeLayer",value:function(e){var t=this._layers.indexOf(e);t>-1&&this._layers.splice(t,1),this._world.removeLayer(e)}},{key:"_onAdd",value:function(e){}},{key:"destroy",value:function(){if(this._layers){for(var e=0;e<this._layers.length;e++)this._layers[e].destroy();this._layers=null}s(Object.getPrototypeOf(t.prototype),"destroy",this).call(this)}}]),t}(l["default"]);t["default"]=h;var p=function(e){return new h(e)};t.layerGroup=p},function(module,exports,__webpack_require__){var __WEBPACK_AMD_DEFINE_FACTORY__,__WEBPACK_AMD_DEFINE_RESULT__;!function(e,t,n){"undefined"!=typeof module&&module.exports?module.exports=n():(__WEBPACK_AMD_DEFINE_FACTORY__=n,__WEBPACK_AMD_DEFINE_RESULT__="function"==typeof __WEBPACK_AMD_DEFINE_FACTORY__?__WEBPACK_AMD_DEFINE_FACTORY__.call(exports,__webpack_require__,exports,module):__WEBPACK_AMD_DEFINE_FACTORY__,!(void 0!==__WEBPACK_AMD_DEFINE_RESULT__&&(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)))}("reqwest",this,function(){function succeed(e){var t=protocolRe.exec(e.url);return t=t&&t[1]||context.location.protocol,httpsRe.test(t)?twoHundo.test(e.request.status):!!e.request.response}function handleReadyState(e,t,n){return function(){return e._aborted?n(e.request):e._timedOut?n(e.request,"Request is aborted: timeout"):void(e.request&&4==e.request[readyState]&&(e.request.onreadystatechange=noop,succeed(e)?t(e.request):n(e.request)))}}function setHeaders(e,t){var n,r=t.headers||{};r.Accept=r.Accept||defaultHeaders.accept[t.type]||defaultHeaders.accept["*"];var i="undefined"!=typeof FormData&&t.data instanceof FormData;t.crossOrigin||r[requestedWith]||(r[requestedWith]=defaultHeaders.requestedWith),r[contentType]||i||(r[contentType]=t.contentType||defaultHeaders.contentType);for(n in r)r.hasOwnProperty(n)&&"setRequestHeader"in e&&e.setRequestHeader(n,r[n])}function setCredentials(e,t){"undefined"!=typeof t.withCredentials&&"undefined"!=typeof e.withCredentials&&(e.withCredentials=!!t.withCredentials)}function generalCallback(e){lastValue=e}function urlappend(e,t){return e+(/\?/.test(e)?"&":"?")+t}function handleJsonp(e,t,n,r){var i=uniqid++,o=e.jsonpCallback||"callback",a=e.jsonpCallbackName||reqwest.getcallbackPrefix(i),s=new RegExp("((^|\\?|&)"+o+")=([^&]+)"),u=r.match(s),l=doc.createElement("script"),c=0,f=-1!==navigator.userAgent.indexOf("MSIE 10.0");return u?"?"===u[3]?r=r.replace(s,"$1="+a):a=u[3]:r=urlappend(r,o+"="+a),context[a]=generalCallback,l.type="text/javascript",l.src=r,l.async=!0,"undefined"==typeof l.onreadystatechange||f||(l.htmlFor=l.id="_reqwest_"+i),l.onload=l.onreadystatechange=function(){return l[readyState]&&"complete"!==l[readyState]&&"loaded"!==l[readyState]||c?!1:(l.onload=l.onreadystatechange=null,l.onclick&&l.onclick(),t(lastValue),lastValue=void 0,head.removeChild(l),void(c=1))},head.appendChild(l),{abort:function(){l.onload=l.onreadystatechange=null,n({},"Request is aborted: timeout",{}),lastValue=void 0,head.removeChild(l),c=1}}}function getRequest(e,t){var n,r=this.o,i=(r.method||"GET").toUpperCase(),o="string"==typeof r?r:r.url,a=r.processData!==!1&&r.data&&"string"!=typeof r.data?reqwest.toQueryString(r.data):r.data||null,s=!1;return"jsonp"!=r.type&&"GET"!=i||!a||(o=urlappend(o,a),a=null),"jsonp"==r.type?handleJsonp(r,e,t,o):(n=r.xhr&&r.xhr(r)||xhr(r),n.open(i,o,r.async!==!1),setHeaders(n,r),setCredentials(n,r),context[xDomainRequest]&&n instanceof context[xDomainRequest]?(n.onload=e,n.onerror=t,n.onprogress=function(){},s=!0):n.onreadystatechange=handleReadyState(this,e,t),r.before&&r.before(n),s?setTimeout(function(){n.send(a)},200):n.send(a),n)}function Reqwest(e,t){this.o=e,this.fn=t,init.apply(this,arguments)}function setType(e){return null!==e?e.match("json")?"json":e.match("javascript")?"js":e.match("text")?"html":e.match("xml")?"xml":void 0:void 0}function init(o,fn){function complete(e){for(o.timeout&&clearTimeout(self.timeout),self.timeout=null;self._completeHandlers.length>0;)self._completeHandlers.shift()(e)}function success(resp){var type=o.type||resp&&setType(resp.getResponseHeader("Content-Type"));resp="jsonp"!==type?self.request:resp;var filteredResponse=globalSetupOptions.dataFilter(resp.responseText,type),r=filteredResponse;try{resp.responseText=r}catch(e){}if(r)switch(type){case"json":try{resp=context.JSON?context.JSON.parse(r):eval("("+r+")")}catch(err){return error(resp,"Could not parse JSON in response",err)}break;case"js":resp=eval(r);break;case"html":resp=r;break;case"xml":resp=resp.responseXML&&resp.responseXML.parseError&&resp.responseXML.parseError.errorCode&&resp.responseXML.parseError.reason?null:resp.responseXML}for(self._responseArgs.resp=resp,self._fulfilled=!0,fn(resp),self._successHandler(resp);self._fulfillmentHandlers.length>0;)resp=self._fulfillmentHandlers.shift()(resp);complete(resp)}function timedOut(){self._timedOut=!0,self.request.abort()}function error(e,t,n){for(e=self.request,self._responseArgs.resp=e,self._responseArgs.msg=t,self._responseArgs.t=n,self._erred=!0;self._errorHandlers.length>0;)self._errorHandlers.shift()(e,t,n);complete(e)}this.url="string"==typeof o?o:o.url,this.timeout=null,this._fulfilled=!1,this._successHandler=function(){},this._fulfillmentHandlers=[],this._errorHandlers=[],this._completeHandlers=[],this._erred=!1,this._responseArgs={};var self=this;fn=fn||function(){},o.timeout&&(this.timeout=setTimeout(function(){timedOut()},o.timeout)),o.success&&(this._successHandler=function(){o.success.apply(o,arguments)}),o.error&&this._errorHandlers.push(function(){o.error.apply(o,arguments)}),o.complete&&this._completeHandlers.push(function(){o.complete.apply(o,arguments)}),this.request=getRequest.call(this,success,error)}function reqwest(e,t){return new Reqwest(e,t)}function normalize(e){return e?e.replace(/\r?\n/g,"\r\n"):""}function serial(e,t){var n,r,i,o,a=e.name,s=e.tagName.toLowerCase(),u=function(e){e&&!e.disabled&&t(a,normalize(e.attributes.value&&e.attributes.value.specified?e.value:e.text))};if(!e.disabled&&a)switch(s){case"input":/reset|button|image|file/i.test(e.type)||(n=/checkbox/i.test(e.type),r=/radio/i.test(e.type),i=e.value,(!(n||r)||e.checked)&&t(a,normalize(n&&""===i?"on":i)));break;case"textarea":t(a,normalize(e.value));break;case"select":if("select-one"===e.type.toLowerCase())u(e.selectedIndex>=0?e.options[e.selectedIndex]:null);else for(o=0;e.length&&o<e.length;o++)e.options[o].selected&&u(e.options[o])}}function eachFormElement(){var e,t,n=this,r=function(e,t){var r,i,o;for(r=0;r<t.length;r++)for(o=e[byTag](t[r]),i=0;i<o.length;i++)serial(o[i],n)};for(t=0;t<arguments.length;t++)e=arguments[t],/input|select|textarea/i.test(e.tagName)&&serial(e,n),r(e,["input","select","textarea"])}function serializeQueryString(){return reqwest.toQueryString(reqwest.serializeArray.apply(null,arguments))}function serializeHash(){
var e={};return eachFormElement.apply(function(t,n){t in e?(e[t]&&!isArray(e[t])&&(e[t]=[e[t]]),e[t].push(n)):e[t]=n},arguments),e}function buildParams(e,t,n,r){var i,o,a,s=/\[\]$/;if(isArray(t))for(o=0;t&&o<t.length;o++)a=t[o],n||s.test(e)?r(e,a):buildParams(e+"["+("object"==typeof a?o:"")+"]",a,n,r);else if(t&&"[object Object]"===t.toString())for(i in t)buildParams(e+"["+i+"]",t[i],n,r);else r(e,t)}var context=this;if("window"in context)var doc=document,byTag="getElementsByTagName",head=doc[byTag]("head")[0];else{var XHR2;try{XHR2=__webpack_require__(62)}catch(ex){throw new Error("Peer dependency `xhr2` required! Please npm install xhr2")}}var httpsRe=/^http/,protocolRe=/(^\w+):\/\//,twoHundo=/^(20\d|1223)$/,readyState="readyState",contentType="Content-Type",requestedWith="X-Requested-With",uniqid=0,callbackPrefix="reqwest_"+ +new Date,lastValue,xmlHttpRequest="XMLHttpRequest",xDomainRequest="XDomainRequest",noop=function(){},isArray="function"==typeof Array.isArray?Array.isArray:function(e){return e instanceof Array},defaultHeaders={contentType:"application/x-www-form-urlencoded",requestedWith:xmlHttpRequest,accept:{"*":"text/javascript, text/html, application/xml, text/xml, */*",xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript",js:"application/javascript, text/javascript"}},xhr=function(e){if(e.crossOrigin===!0){var t=context[xmlHttpRequest]?new XMLHttpRequest:null;if(t&&"withCredentials"in t)return t;if(context[xDomainRequest])return new XDomainRequest;throw new Error("Browser does not support cross-origin requests")}return context[xmlHttpRequest]?new XMLHttpRequest:XHR2?new XHR2:new ActiveXObject("Microsoft.XMLHTTP")},globalSetupOptions={dataFilter:function(e){return e}};return Reqwest.prototype={abort:function(){this._aborted=!0,this.request.abort()},retry:function(){init.call(this,this.o,this.fn)},then:function(e,t){return e=e||function(){},t=t||function(){},this._fulfilled?this._responseArgs.resp=e(this._responseArgs.resp):this._erred?t(this._responseArgs.resp,this._responseArgs.msg,this._responseArgs.t):(this._fulfillmentHandlers.push(e),this._errorHandlers.push(t)),this},always:function(e){return this._fulfilled||this._erred?e(this._responseArgs.resp):this._completeHandlers.push(e),this},fail:function(e){return this._erred?e(this._responseArgs.resp,this._responseArgs.msg,this._responseArgs.t):this._errorHandlers.push(e),this},"catch":function(e){return this.fail(e)}},reqwest.serializeArray=function(){var e=[];return eachFormElement.apply(function(t,n){e.push({name:t,value:n})},arguments),e},reqwest.serialize=function(){if(0===arguments.length)return"";var e,t,n=Array.prototype.slice.call(arguments,0);return e=n.pop(),e&&e.nodeType&&n.push(e)&&(e=null),e&&(e=e.type),t="map"==e?serializeHash:"array"==e?reqwest.serializeArray:serializeQueryString,t.apply(null,n)},reqwest.toQueryString=function(e,t){var n,r,i=t||!1,o=[],a=encodeURIComponent,s=function(e,t){t="function"==typeof t?t():null==t?"":t,o[o.length]=a(e)+"="+a(t)};if(isArray(e))for(r=0;e&&r<e.length;r++)s(e[r].name,e[r].value);else for(n in e)e.hasOwnProperty(n)&&buildParams(n,e[n],i,s);return o.join("&").replace(/%20/g,"+")},reqwest.getcallbackPrefix=function(){return callbackPrefix},reqwest.compat=function(e,t){return e&&(e.type&&(e.method=e.type)&&delete e.type,e.dataType&&(e.type=e.dataType),e.jsonpCallback&&(e.jsonpCallbackName=e.jsonpCallback)&&delete e.jsonpCallback,e.jsonp&&(e.jsonpCallback=e.jsonp)),new Reqwest(e,t)},reqwest.ajaxSetup=function(e){e=e||{};for(var t in e)globalSetupOptions[t]=e[t]},reqwest})},function(e,t){},function(e,t,n){function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var o=n(10),a=r(o),s=n(64),u=r(s),l=n(65),c=r(l),f=n(67),h=r(f),p=n(68),d=r(p),v=new a["default"].Color(16777215),y=new a["default"].Color(6710886),m=function(){var e={color:"#ffffff",transparent:!1,opacity:1,blending:a["default"].NormalBlending,height:0,lineOpacity:1,lineTransparent:!1,lineColor:"#ffffff",lineWidth:1,lineBlending:a["default"].NormalBlending},t=function(e,t){var n=[];if(t){for(var r in e.objects)n.push(u["default"].feature(e,e.objects[r]));return(0,c["default"])(n)}if(e.type)return Array.isArray(e)?(0,c["default"])(e):e;for(var i in e)e[i].type&&n.push(e[i]);return(0,c["default"])(n)},n=function(e,t,n){var r,i=[],o=[];return e.forEach(function(a,s){o.push([t.r,t.g,t.b]),i.push([a[0],n,a[1]]),r=e[s+1]?e[s+1]:a,o.push([t.r,t.g,t.b]),i.push([r[0],n,r[1]])}),{vertices:i,colours:o}},r=function(e,t,r){var i,o=[],a=[];return e.forEach(function(e){i=n(e,t,r),i.vertices.forEach(function(e){o.push(e)}),i.colours.forEach(function(e){a.push(e)})}),{vertices:o,colours:a}},o=function(e,t,n){var r=s(e),o=l(r.vertices,r.holes,r.dimensions),a=[];for(i=0,il=r.vertices.length;i<il;i+=r.dimensions)a.push(r.vertices.slice(i,i+r.dimensions));var u,c=(0,d["default"])(a,o,{bottom:0,top:n}),f=t.clone().multiply(v),h=t.clone().multiply(y),p=c.positions,m=[],_=[];c.top.forEach(function(e,n){u=[],u.push([t.r,t.g,t.b]),u.push([t.r,t.g,t.b]),u.push([t.r,t.g,t.b]),m.push(e),_.push(u)});var g=!0;return c.sides&&(g&&(g=!1),c.sides.forEach(function(e,t){u=[],t%2===0?(u.push([h.r,h.g,h.b]),u.push([h.r,h.g,h.b]),u.push([f.r,f.g,f.b])):(u.push([f.r,f.g,f.b]),u.push([f.r,f.g,f.b]),u.push([h.r,h.g,h.b])),m.push(e),_.push(u)})),{vertices:p,faces:m,colours:_,flat:g}},s=function(e){for(var t=e[0][0].length,n={vertices:[],holes:[],dimensions:t},r=0,i=0;i<e.length;i++){for(var o=0;o<e[i].length;o++)for(var a=0;t>a;a++)n.vertices.push(e[i][o][a]);i>0&&(r+=e[i-1].length,n.holes.push(r))}return n},l=function(e,t,n){var r=(0,h["default"])(e,t,n),o=[];for(i=0,il=r.length;i<il;i+=3)o.push(r.slice(i,i+3));return o};return{defaultStyle:e,collectFeatures:t,lineStringAttributes:n,multiLineStringAttributes:r,polygonAttributes:o}}();t["default"]=m,e.exports=t["default"]},function(e,t,n){!function(e,n){n(t)}(this,function(e){"use strict";function t(){}function n(e){if(!e)return t;var n,r,i=e.scale[0],o=e.scale[1],a=e.translate[0],s=e.translate[1];return function(e,t){t||(n=r=0),e[0]=(n+=e[0])*i+a,e[1]=(r+=e[1])*o+s}}function r(e){if(!e)return t;var n,r,i=e.scale[0],o=e.scale[1],a=e.translate[0],s=e.translate[1];return function(e,t){t||(n=r=0);var u=Math.round((e[0]-a)/i),l=Math.round((e[1]-s)/o);e[0]=u-n,e[1]=l-r,n=u,r=l}}function i(e,t){for(var n,r=e.length,i=r-t;i<--r;)n=e[i],e[i++]=e[r],e[r]=n}function o(e,t){for(var n=0,r=e.length;r>n;){var i=n+r>>>1;e[i]<t?n=i+1:r=i}return n}function a(e,t){return"GeometryCollection"===t.type?{type:"FeatureCollection",features:t.geometries.map(function(t){return s(e,t)})}:s(e,t)}function s(e,t){var n={type:"Feature",id:t.id,properties:t.properties||{},geometry:u(e,t)};return null==t.id&&delete n.id,n}function u(e,t){function r(e,t){t.length&&t.pop();for(var n,r=f[0>e?~e:e],o=0,a=r.length;a>o;++o)t.push(n=r[o].slice()),c(n,o);0>e&&i(t,a)}function o(e){return e=e.slice(),c(e,0),e}function a(e){for(var t=[],n=0,i=e.length;i>n;++n)r(e[n],t);return t.length<2&&t.push(t[0].slice()),t}function s(e){for(var t=a(e);t.length<4;)t.push(t[0].slice());return t}function u(e){return e.map(s)}function l(e){var t=e.type;return"GeometryCollection"===t?{type:t,geometries:e.geometries.map(l)}:t in h?{type:t,coordinates:h[t](e)}:null}var c=n(e.transform),f=e.arcs,h={Point:function(e){return o(e.coordinates)},MultiPoint:function(e){return e.coordinates.map(o)},LineString:function(e){return a(e.arcs)},MultiLineString:function(e){return e.arcs.map(a)},Polygon:function(e){return u(e.arcs)},MultiPolygon:function(e){return e.arcs.map(u)}};return l(t)}function l(e,t){function n(t){var n,r=e.arcs[0>t?~t:t],i=r[0];return e.transform?(n=[0,0],r.forEach(function(e){n[0]+=e[0],n[1]+=e[1]})):n=r[r.length-1],0>t?[n,i]:[i,n]}function r(e,t){for(var n in e){var r=e[n];delete t[r.start],delete r.start,delete r.end,r.forEach(function(e){i[0>e?~e:e]=1}),s.push(r)}}var i={},o={},a={},s=[],u=-1;return t.forEach(function(n,r){var i,o=e.arcs[0>n?~n:n];o.length<3&&!o[1][0]&&!o[1][1]&&(i=t[++u],t[u]=n,t[r]=i)}),t.forEach(function(e){var t,r,i=n(e),s=i[0],u=i[1];if(t=a[s])if(delete a[t.end],t.push(e),t.end=u,r=o[u]){delete o[r.start];var l=r===t?t:t.concat(r);o[l.start=t.start]=a[l.end=r.end]=l}else o[t.start]=a[t.end]=t;else if(t=o[u])if(delete o[t.start],t.unshift(e),t.start=s,r=a[s]){delete a[r.end];var c=r===t?t:r.concat(t);o[c.start=r.start]=a[c.end=t.end]=c}else o[t.start]=a[t.end]=t;else t=[e],o[t.start=s]=a[t.end=u]=t}),r(a,o),r(o,a),t.forEach(function(e){i[0>e?~e:e]||s.push([e])}),s}function c(e){return u(e,f.apply(this,arguments))}function f(e,t,n){function r(e){var t=0>e?~e:e;(c[t]||(c[t]=[])).push({i:e,g:u})}function i(e){e.forEach(r)}function o(e){e.forEach(i)}function a(e){"GeometryCollection"===e.type?e.geometries.forEach(a):e.type in f&&(u=e,f[e.type](e.arcs))}var s=[];if(arguments.length>1){var u,c=[],f={LineString:i,MultiLineString:o,Polygon:o,MultiPolygon:function(e){e.forEach(o)}};a(t),c.forEach(arguments.length<3?function(e){s.push(e[0].i)}:function(e){n(e[0].g,e[e.length-1].g)&&s.push(e[0].i)})}else for(var h=0,p=e.arcs.length;p>h;++h)s.push(h);return{type:"MultiLineString",arcs:l(e,s)}}function h(e){var t=e[0],n=e[1],r=e[2];return Math.abs((t[0]-r[0])*(n[1]-t[1])-(t[0]-n[0])*(r[1]-t[1]))}function p(e){for(var t,n=-1,r=e.length,i=e[r-1],o=0;++n<r;)t=i,i=e[n],o+=t[0]*i[1]-t[1]*i[0];return o/2}function d(e){return u(e,v.apply(this,arguments))}function v(e,t){function n(e){e.forEach(function(t){t.forEach(function(t){(i[t=0>t?~t:t]||(i[t]=[])).push(e)})}),o.push(e)}function r(t){return Math.abs(p(u(e,{type:"Polygon",arcs:[t]}).coordinates[0]))}var i={},o=[],a=[];return t.forEach(function(e){"Polygon"===e.type?n(e.arcs):"MultiPolygon"===e.type&&e.arcs.forEach(n)}),o.forEach(function(e){if(!e._){var t=[],n=[e];for(e._=1,a.push(t);e=n.pop();)t.push(e),e.forEach(function(e){e.forEach(function(e){i[0>e?~e:e].forEach(function(e){e._||(e._=1,n.push(e))})})})}}),o.forEach(function(e){delete e._}),{type:"MultiPolygon",arcs:a.map(function(t){var n,o=[];if(t.forEach(function(e){e.forEach(function(e){e.forEach(function(e){i[0>e?~e:e].length<2&&o.push(e)})})}),o=l(e,o),(n=o.length)>1)for(var a,s,u=1,c=r(o[0]);n>u;++u)(a=r(o[u]))>c&&(s=o[0],o[0]=o[u],o[u]=s,c=a);return o})}}function y(e){function t(e,t){e.forEach(function(e){0>e&&(e=~e);var n=i[e];n?n.push(t):i[e]=[t]})}function n(e,n){e.forEach(function(e){t(e,n)})}function r(e,t){"GeometryCollection"===e.type?e.geometries.forEach(function(e){r(e,t)}):e.type in s&&s[e.type](e.arcs,t)}var i={},a=e.map(function(){return[]}),s={LineString:t,MultiLineString:n,Polygon:n,MultiPolygon:function(e,t){e.forEach(function(e){n(e,t)})}};e.forEach(r);for(var u in i)for(var l=i[u],c=l.length,f=0;c>f;++f)for(var h=f+1;c>h;++h){var p,d=l[f],v=l[h];(p=a[d])[u=o(p,v)]!==v&&p.splice(u,0,v),(p=a[v])[u=o(p,d)]!==d&&p.splice(u,0,d)}return a}function m(e,t){return e[1][2]-t[1][2]}function _(){function e(e,t){for(;t>0;){var n=(t+1>>1)-1,i=r[n];if(m(e,i)>=0)break;r[i._=t]=i,r[e._=t=n]=e}}function t(e,t){for(;;){var n=t+1<<1,o=n-1,a=t,s=r[a];if(i>o&&m(r[o],s)<0&&(s=r[a=o]),i>n&&m(r[n],s)<0&&(s=r[a=n]),a===t)break;r[s._=t]=s,r[e._=t=a]=e}}var n={},r=[],i=0;return n.push=function(t){return e(r[t._=i]=t,i++),i},n.pop=function(){if(!(0>=i)){var e,n=r[0];return--i>0&&(e=r[i],t(r[e._=0]=e,0)),n}},n.remove=function(n){var o,a=n._;if(r[a]===n)return a!==--i&&(o=r[i],(m(o,n)<0?e:t)(r[o._=a]=o,a)),a},n}function g(e,t){function i(e){s.remove(e),e[1][2]=t(e),s.push(e)}var o=n(e.transform),a=r(e.transform),s=_();return t||(t=h),e.arcs.forEach(function(e){var n,r,u,l,c=[],f=0;for(r=0,u=e.length;u>r;++r)l=e[r],o(e[r]=[l[0],l[1],1/0],r);for(r=1,u=e.length-1;u>r;++r)n=e.slice(r-1,r+2),n[1][2]=t(n),c.push(n),s.push(n);for(r=0,u=c.length;u>r;++r)n=c[r],n.previous=c[r-1],n.next=c[r+1];for(;n=s.pop();){var h=n.previous,p=n.next;n[1][2]<f?n[1][2]=f:f=n[1][2],h&&(h.next=p,h[2]=n[2],i(h)),p&&(p.previous=h,p[0]=n[0],i(p))}e.forEach(a)}),e}var b="1.6.26";e.version=b,e.mesh=c,e.meshArcs=f,e.merge=d,e.mergeArcs=v,e.feature=a,e.neighbors=y,e.presimplify=g})},function(e,t,n){var r=n(66);e.exports=function(e){return{type:"FeatureCollection",features:e.reduce(function(e,t){return e.concat(r(t).features)},[])}}},function(e,t){function n(e){if(!e||!e.type)return null;var t=r[e.type];return t?"geometry"===t?{type:"FeatureCollection",features:[{type:"Feature",properties:{},geometry:e}]}:"feature"===t?{type:"FeatureCollection",features:[e]}:"featurecollection"===t?e:void 0:null}e.exports=n;var r={Point:"geometry",MultiPoint:"geometry",LineString:"geometry",MultiLineString:"geometry",Polygon:"geometry",MultiPolygon:"geometry",GeometryCollection:"geometry",Feature:"feature",FeatureCollection:"featurecollection"}},function(e,t){"use strict";function n(e,t,n){n=n||2;var i=t&&t.length,a=i?t[0]*n:e.length,s=r(e,0,a,n,!0),u=[];if(!s)return u;var l,f,h,p,d,v,y;if(i&&(s=c(e,t,s,n)),e.length>80*n){l=h=e[0],f=p=e[1];for(var m=n;a>m;m+=n)d=e[m],v=e[m+1],l>d&&(l=d),f>v&&(f=v),d>h&&(h=d),v>p&&(p=v);y=Math.max(h-l,p-f)}return o(s,u,n,l,f,y),u}function r(e,t,n,r,i){var o,a;if(i===S(e,t,n,r)>0)for(o=t;n>o;o+=r)a=P(o,e[o],e[o+1],a);else for(o=n-r;o>=t;o-=r)a=P(o,e[o],e[o+1],a);return a&&x(a,a.next)&&(T(a),a=a.next),a}function i(e,t){if(!e)return e;t||(t=e);var n,r=e;do if(n=!1,r.steiner||!x(r,r.next)&&0!==b(r.prev,r,r.next))r=r.next;else{if(T(r),r=t=r.prev,r===r.next)return null;n=!0}while(n||r!==t);return t}function o(e,t,n,r,c,f,h){if(e){!h&&f&&d(e,r,c,f);for(var p,v,y=e;e.prev!==e.next;)if(p=e.prev,v=e.next,f?s(e,r,c,f):a(e))t.push(p.i/n),t.push(e.i/n),t.push(v.i/n),T(e),e=v.next,y=v.next;else if(e=v,e===y){h?1===h?(e=u(e,t,n),o(e,t,n,r,c,f,2)):2===h&&l(e,t,n,r,c,f):o(i(e),t,n,r,c,f,1);break}}}function a(e){var t=e.prev,n=e,r=e.next;if(b(t,n,r)>=0)return!1;for(var i=e.next.next;i!==e.prev;){if(_(t.x,t.y,n.x,n.y,r.x,r.y,i.x,i.y)&&b(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function s(e,t,n,r){var i=e.prev,o=e,a=e.next;if(b(i,o,a)>=0)return!1;for(var s=i.x<o.x?i.x<a.x?i.x:a.x:o.x<a.x?o.x:a.x,u=i.y<o.y?i.y<a.y?i.y:a.y:o.y<a.y?o.y:a.y,l=i.x>o.x?i.x>a.x?i.x:a.x:o.x>a.x?o.x:a.x,c=i.y>o.y?i.y>a.y?i.y:a.y:o.y>a.y?o.y:a.y,f=y(s,u,t,n,r),h=y(l,c,t,n,r),p=e.nextZ;p&&p.z<=h;){if(p!==e.prev&&p!==e.next&&_(i.x,i.y,o.x,o.y,a.x,a.y,p.x,p.y)&&b(p.prev,p,p.next)>=0)return!1;p=p.nextZ}for(p=e.prevZ;p&&p.z>=f;){if(p!==e.prev&&p!==e.next&&_(i.x,i.y,o.x,o.y,a.x,a.y,p.x,p.y)&&b(p.prev,p,p.next)>=0)return!1;p=p.prevZ}return!0}function u(e,t,n){var r=e;do{var i=r.prev,o=r.next.next;!x(i,o)&&w(i,r,r.next,o)&&E(i,o)&&E(o,i)&&(t.push(i.i/n),t.push(r.i/n),t.push(o.i/n),T(r),T(r.next),r=e=o),r=r.next}while(r!==e);return r}function l(e,t,n,r,a,s){var u=e;do{for(var l=u.next.next;l!==u.prev;){if(u.i!==l.i&&g(u,l)){var c=k(u,l);return u=i(u,u.next),c=i(c,c.next),o(u,t,n,r,a,s),void o(c,t,n,r,a,s)}l=l.next}u=u.next}while(u!==e)}function c(e,t,n,o){var a,s,u,l,c,p=[];for(a=0,s=t.length;s>a;a++)u=t[a]*o,l=s-1>a?t[a+1]*o:e.length,c=r(e,u,l,o,!1),c===c.next&&(c.steiner=!0),p.push(m(c));for(p.sort(f),a=0;a<p.length;a++)h(p[a],n),n=i(n,n.next);return n}function f(e,t){return e.x-t.x}function h(e,t){if(t=p(e,t)){var n=k(t,e);i(n,n.next)}}function p(e,t){var n,r=t,i=e.x,o=e.y,a=-(1/0);do{if(o<=r.y&&o>=r.next.y){var s=r.x+(o-r.y)*(r.next.x-r.x)/(r.next.y-r.y);if(i>=s&&s>a){if(a=s,s===i){if(o===r.y)return r;if(o===r.next.y)return r.next}n=r.x<r.next.x?r:r.next}}r=r.next}while(r!==t);if(!n)return null;if(i===a)return n.prev;var u,l=n,c=n.x,f=n.y,h=1/0;for(r=n.next;r!==l;)i>=r.x&&r.x>=c&&_(f>o?i:a,o,c,f,f>o?a:i,o,r.x,r.y)&&(u=Math.abs(o-r.y)/(i-r.x),(h>u||u===h&&r.x>n.x)&&E(r,e)&&(n=r,h=u)),r=r.next;return n}function d(e,t,n,r){var i=e;do null===i.z&&(i.z=y(i.x,i.y,t,n,r)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next;while(i!==e);i.prevZ.nextZ=null,i.prevZ=null,v(i)}function v(e){var t,n,r,i,o,a,s,u,l=1;do{for(n=e,e=null,o=null,a=0;n;){for(a++,r=n,s=0,t=0;l>t&&(s++,r=r.nextZ,r);t++);for(u=l;s>0||u>0&&r;)0===s?(i=r,r=r.nextZ,u--):0!==u&&r?n.z<=r.z?(i=n,n=n.nextZ,s--):(i=r,r=r.nextZ,u--):(i=n,n=n.nextZ,s--),o?o.nextZ=i:e=i,i.prevZ=o,o=i;n=r}o.nextZ=null,l*=2}while(a>1);return e}function y(e,t,n,r,i){return e=32767*(e-n)/i,t=32767*(t-r)/i,e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),t=16711935&(t|t<<8),t=252645135&(t|t<<4),t=858993459&(t|t<<2),t=1431655765&(t|t<<1),e|t<<1}function m(e){var t=e,n=e;do t.x<n.x&&(n=t),t=t.next;while(t!==e);return n}function _(e,t,n,r,i,o,a,s){return(i-a)*(t-s)-(e-a)*(o-s)>=0&&(e-a)*(r-s)-(n-a)*(t-s)>=0&&(n-a)*(o-s)-(i-a)*(r-s)>=0}function g(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!M(e,t)&&E(e,t)&&E(t,e)&&O(e,t)}function b(e,t,n){return(t.y-e.y)*(n.x-t.x)-(t.x-e.x)*(n.y-t.y)}function x(e,t){return e.x===t.x&&e.y===t.y}function w(e,t,n,r){return x(e,t)&&x(n,r)||x(e,r)&&x(n,t)?!0:b(e,t,n)>0!=b(e,t,r)>0&&b(n,r,e)>0!=b(n,r,t)>0}function M(e,t){var n=e;do{if(n.i!==e.i&&n.next.i!==e.i&&n.i!==t.i&&n.next.i!==t.i&&w(n,n.next,e,t))return!0;n=n.next}while(n!==e);return!1}function E(e,t){return b(e.prev,e,e.next)<0?b(e,t,e.next)>=0&&b(e,e.prev,t)>=0:b(e,t,e.prev)<0||b(e,e.next,t)<0}function O(e,t){var n=e,r=!1,i=(e.x+t.x)/2,o=(e.y+t.y)/2;do n.y>o!=n.next.y>o&&i<(n.next.x-n.x)*(o-n.y)/(n.next.y-n.y)+n.x&&(r=!r),n=n.next;while(n!==e);return r}function k(e,t){var n=new j(e.i,e.x,e.y),r=new j(t.i,t.x,t.y),i=e.next,o=t.prev;return e.next=t,t.prev=e,n.next=i,i.prev=n,r.next=n,n.prev=r,o.next=r,r.prev=o,r}function P(e,t,n,r){var i=new j(e,t,n);return r?(i.next=r.next,i.prev=r,r.next.prev=i,r.next=i):(i.prev=i,i.next=i),i}function T(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function j(e,t,n){this.i=e,this.x=t,this.y=n,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function S(e,t,n,r){for(var i=0,o=t,a=n-r;n>o;o+=r)i+=(e[a]-e[o])*(e[o+1]+e[a+1]),a=o;return i}e.exports=n,n.deviation=function(e,t,n,r){var i=t&&t.length,o=i?t[0]*n:e.length,a=Math.abs(S(e,0,o,n));if(i)for(var s=0,u=t.length;u>s;s++){var l=t[s]*n,c=u-1>s?t[s+1]*n:e.length;a-=Math.abs(S(e,l,c,n))}var f=0;for(s=0;s<r.length;s+=3){var h=r[s]*n,p=r[s+1]*n,d=r[s+2]*n;f+=Math.abs((e[h]-e[d])*(e[p+1]-e[h+1])-(e[h]-e[p])*(e[d+1]-e[h+1]))}return 0===a&&0===f?0:Math.abs((f-a)/a)},n.flatten=function(e){for(var t=e[0][0].length,n={vertices:[],holes:[],dimensions:t},r=0,i=0;i<e.length;i++){for(var o=0;o<e[i].length;o++)for(var a=0;t>a;a++)n.vertices.push(e[i][o][a]);i>0&&(r+=e[i-1].length,n.holes.push(r))}return n}},function(e,t,n){function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(3),o=r(i),a=function(e,t,n){function r(){a=e.map(function(e){return[e[0],h.top,e[1]]}),s=t,u=t}function i(){a=[],e.forEach(function(e){a.push([e[0],h.top,e[1]])}),e.forEach(function(e){a.push([e[0],h.bottom,e[1]])}),s=[];for(var n=0;p>n;n++)n===p-1?(s.push([n+p,p,n]),s.push([0,n,p])):(s.push([n+p,n+p+1,n]),s.push([n+1,n,n+p+1]));if(c=[].concat(s),h.closed){var r=t,i=r.map(function(e){return e.map(function(e){return e+p})});i=i.map(function(e){return[e[0],e[2],e[1]]}),s=s.concat(r).concat(i),u=r,l=i}}var a,s,u,l,c,f={top:1,bottom:0,closed:!0},h=(0,o["default"])({},f,n),p=e.length;return h.top===h.bottom?r():i(),{positions:a,faces:s,top:u,bottom:l,sides:c}};t["default"]=a,e.exports=t["default"]},function(e,t,n){function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(10),o=r(i),a=function(){var e=function(e){var t={};e.forEach(function(e){for(var n in e)t[n]||(t[n]=0),t[n]+=e[n].length});var n={};for(var r in t)n[r]=new Float32Array(t[r]);var i={};return e.forEach(function(e){for(var t in e)i[t]||(i[t]=0),n[t].set(e[t],i[t]),i[t]+=e[t].length}),n},t=function(e,t){var n,r=new o["default"].BufferGeometry,i=new Float32Array(3*e.verticesCount),a=new Float32Array(3*e.verticesCount);e.pickingIds&&(n=new Float32Array(e.verticesCount));for(var s,u,l,c=0,f=0;f<e.vertices.length;f++){s=e.vertices[f],u=e.colours[f],n&&(l=e.pickingIds[f]);for(var h=0;h<s.length;h++){var p=s[h][0]+t.x,d=s[h][1],v=s[h][2]+t.y,y=u[h];i[3*c+0]=p,i[3*c+1]=d,i[3*c+2]=v,a[3*c+0]=y[0],a[3*c+1]=y[1],a[3*c+2]=y[2],n&&(n[c]=l),c++}}return r.addAttribute("position",new o["default"].BufferAttribute(i,3)),r.addAttribute("color",new o["default"].BufferAttribute(a,3)),n&&r.addAttribute("pickingId",new o["default"].BufferAttribute(n,1)),r.computeBoundingBox(),r},n=function(e,t){var n,r=new o["default"].BufferGeometry,i=new Float32Array(9*e.facesCount),a=new Float32Array(9*e.facesCount),s=new Float32Array(9*e.facesCount);e.pickingIds&&(n=new Float32Array(3*e.facesCount));for(var u,l,c,f,h,p=new o["default"].Vector3,d=new o["default"].Vector3,v=new o["default"].Vector3,y=new o["default"].Vector3,m=new o["default"].Vector3,_=0,g=0;g<e.faces.length;g++){l=e.faces[g],c=e.vertices[g],f=e.colours[g],n&&(h=e.pickingIds[g]);for(var b=0;b<l.length;b++){u=l[b][0];var x=c[u][0]+t.x,w=c[u][1],M=c[u][2]+t.y,E=f[b][0];u=l[b][1];var O=c[u][0]+t.x,k=c[u][1],P=c[u][2]+t.y,T=f[b][1];u=l[b][2];var j=c[u][0]+t.x,S=c[u][1],A=c[u][2]+t.y,C=f[b][2];p.set(x,w,M),d.set(O,k,P),v.set(j,S,A),y.subVectors(v,d),m.subVectors(p,d),y.cross(m),y.normalize();var L=y.x,D=y.y,R=y.z;i[9*_+0]=x,i[9*_+1]=w,i[9*_+2]=M,a[9*_+0]=L,a[9*_+1]=D,a[9*_+2]=R,s[9*_+0]=E[0],s[9*_+1]=E[1],s[9*_+2]=E[2],i[9*_+3]=O,i[9*_+4]=k,i[9*_+5]=P,a[9*_+3]=L,a[9*_+4]=D,a[9*_+5]=R,s[9*_+3]=T[0],s[9*_+4]=T[1],s[9*_+5]=T[2],i[9*_+6]=j,i[9*_+7]=S,i[9*_+8]=A,a[9*_+6]=L,a[9*_+7]=D,a[9*_+8]=R,s[9*_+6]=C[0],s[9*_+7]=C[1],s[9*_+8]=C[2],n&&(n[3*_+0]=h,n[3*_+1]=h,n[3*_+2]=h),_++}}return r.addAttribute("position",new o["default"].BufferAttribute(i,3)),r.addAttribute("normal",new o["default"].BufferAttribute(a,3)),r.addAttribute("color",new o["default"].BufferAttribute(s,3)),n&&r.addAttribute("pickingId",new o["default"].BufferAttribute(n,1)),r.computeBoundingBox(),r};return{mergeAttributes:e,createLineGeometry:t,createGeometry:n}}();t["default"]=a,e.exports=t["default"]},function(e,t,n){function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(10),o=r(i),a=n(71),s=r(a),u=function(){o["default"].ShaderMaterial.call(this,{uniforms:{size:{type:"f",value:.01},scale:{type:"f",value:400}},vertexShader:s["default"].vertexShader,fragmentShader:s["default"].fragmentShader}),this.linePadding=2};u.prototype=Object.create(o["default"].ShaderMaterial.prototype),u.prototype.constructor=u,u.prototype.setPointSize=function(e){this.uniforms.size.value=e},u.prototype.setPointScale=function(e){this.uniforms.scale.value=e},t["default"]=u,e.exports=t["default"]},function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var n={vertexShader:["attribute float pickingId;","","varying vec4 worldId;","","void main() {"," vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );"," vec3 a = fract(vec3(1.0/255.0, 1.0/(255.0*255.0), 1.0/(255.0*255.0*255.0)) * pickingId);"," a -= a.xxy * vec3(0.0, 1.0/255.0, 1.0/255.0);"," worldId = vec4(a,1);"," gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );","}"].join("\n"),fragmentShader:["#ifdef GL_ES\n","precision highp float;\n","#endif\n","","varying vec4 worldId;","","void main() {"," gl_FragColor = worldId;","}"].join("\n")};t["default"]=n,e.exports=t["default"]},function(e,t,n){function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=function(e,t,n){for(var r=!0;r;){var i=e,o=t,a=n;r=!1,null===i&&(i=Function.prototype);var s=Object.getOwnPropertyDescriptor(i,o);if(void 0!==s){if("value"in s)return s.value;var u=s.get;if(void 0===u)return;return u.call(a)}var l=Object.getPrototypeOf(i);if(null===l)return;e=l,t=o,n=a,r=!0,s=l=void 0}},l=n(32),c=r(l),f=n(3),h=r(f),p=n(10),d=r(p),v=n(7),y=n(8),m=n(67),_=r(m),g=n(68),b=r(g),x=n(70),w=r(x),M=n(69),E=r(M),O=function(e){function t(e,n){o(this,t);var r={output:!0,interactive:!1,material:null,onMesh:null,onBufferAttributes:null,style:{color:"#ffffff",transparent:!1,opacity:1,blending:d["default"].NormalBlending,height:0}},i=(0,h["default"])({},r,n);u(Object.getPrototypeOf(t.prototype),"constructor",this).call(this,i),this._coordinates=t.isSingle(e)?[e]:e}return a(t,e),s(t,[{key:"_onAdd",value:function(e){return this._setCoordinates(),this._options.interactive&&(this.isOutput()&&(this._pickingMesh=new d["default"].Object3D,this.addToPicking(this._pickingMesh)),this._setPickingId(),this._addPickingEvents()),this._setBufferAttributes(),this.isOutput()&&(this._setMesh(this._bufferAttributes),this.add(this._mesh)),Promise.resolve(this)}},{key:"getCenter",value:function(){return this._center}},{key:"getBounds",value:function(){}},{key:"_setPickingId",value:function(){this._pickingId=this.getPickingId()}},{key:"_addPickingEvents",value:function(){var e=this;this._world.on("pick-"+this._pickingId,function(t,n,r){e.emit("click",e,t,n,r)})}},{key:"_setBufferAttributes",value:function(){var e,t=this;if("function"==typeof this._options.onBufferAttributes)e=this._options.onBufferAttributes(this);else{var n=0;this._options.style.height&&0!==this._options.style.height&&(n=this._world.metresToWorld(this._options.style.height,this._pointScale));var r=new d["default"].Color;r.set(this._options.style.color);var o=new d["default"].Color(16777215),a=new d["default"].Color(6710886);e=this._projectedCoordinates.map(function(e){var s=t._toEarcut(e),u=t._triangulate(s.vertices,s.holes,s.dimensions),l=[];for(i=0,il=s.vertices.length;i<il;i+=s.dimensions)l.push(s.vertices.slice(i,i+s.dimensions));var c,f=(0,b["default"])(l,u,{bottom:0,top:n}),h=r.clone().multiply(o),p=r.clone().multiply(a),d=f.positions,v=[],y=[];f.top.forEach(function(e,t){c=[],c.push([r.r,r.g,r.b]),c.push([r.r,r.g,r.b]),c.push([r.r,r.g,r.b]),v.push(e),y.push(c)}),t._flat=!0,f.sides&&(t._flat=!1,f.sides.forEach(function(e,t){c=[],t%2===0?(c.push([p.r,p.g,p.b]),c.push([p.r,p.g,p.b]),c.push([h.r,h.g,h.b])):(c.push([h.r,h.g,h.b]),c.push([h.r,h.g,h.b]),c.push([p.r,p.g,p.b])),v.push(e),y.push(c)}));var m={vertices:d,faces:v,colours:y,facesCount:v.length};return t._options.interactive&&t._pickingId&&(m.pickingId=t._pickingId),t._toAttributes(m)})}this._bufferAttributes=E["default"].mergeAttributes(e),e=null}},{key:"getBufferAttributes",value:function(){return this._bufferAttributes}},{key:"clearBufferAttributes",value:function(){this._bufferAttributes=null}},{key:"clearCoordinates",value:function(){this._coordinates=null,this._projectedCoordinates=null}},{key:"_setMesh",value:function(e){var t=new d["default"].BufferGeometry;t.addAttribute("position",new d["default"].BufferAttribute(e.vertices,3)),t.addAttribute("normal",new d["default"].BufferAttribute(e.normals,3)),t.addAttribute("color",new d["default"].BufferAttribute(e.colours,3)),e.pickingIds&&t.addAttribute("pickingId",new d["default"].BufferAttribute(e.pickingIds,1)),t.computeBoundingBox();var n;this._options.material&&this._options.material instanceof d["default"].Material?n=this._options.material:this._world._environment._skybox?(n=new d["default"].MeshStandardMaterial({vertexColors:d["default"].VertexColors,side:d["default"].BackSide,transparent:this._options.style.transparent,opacity:this._options.style.opacity,blending:this._options.style.blending}),n.roughness=1,n.metalness=.1,n.envMapIntensity=3,n.envMap=this._world._environment._skybox.getRenderTarget()):n=new d["default"].MeshPhongMaterial({vertexColors:d["default"].VertexColors,side:d["default"].BackSide,transparent:this._options.style.transparent,opacity:this._options.style.opacity,blending:this._options.style.blending});var r;if("function"==typeof this._options.onMesh?r=this._options.onMesh(t,n):(r=new d["default"].Mesh(t,n),r.castShadow=!0,r.receiveShadow=!0),this.isFlat()&&(n.depthWrite=!1,r.renderOrder=1),this._options.interactive&&this._pickingMesh){n=new w["default"],n.side=d["default"].BackSide;var i=new d["default"].Mesh(t,n);this._pickingMesh.add(i)}this._mesh=r}},{key:"_setCoordinates",value:function(){this._bounds=[],this._coordinates=this._convertCoordinates(this._coordinates),this._projectedBounds=[],this._projectedCoordinates=this._projectCoordinates(),this._center=this._coordinates[0][0][0]}},{key:"_convertCoordinates",value:function(e){return e.map(function(e){return e.map(function(e){return e.map(function(e){return(0,v.latLon)(e[1],e[0])})})})}},{key:"_projectCoordinates",value:function(){var e,t=this;return this._coordinates.map(function(n){return n.map(function(n){return n.map(function(n){return e=t._world.latLonToPoint(n),t._offset||(t._offset=(0,y.point)(0,0),t._offset.x=-1*e.x,t._offset.y=-1*e.y,t._pointScale=t._world.pointScale(n)),e})})})}},{key:"_toEarcut",value:function(e){for(var t=2,n={vertices:[],holes:[],dimensions:t},r=0,i=0;i<e.length;i++){for(var o=0;o<e[i].length;o++)n.vertices.push(e[i][o].x),n.vertices.push(e[i][o].y);i>0&&(r+=e[i-1].length,n.holes.push(r))}return n}},{key:"_triangulate",value:function(e,t,n){var r=(0,_["default"])(e,t,n),o=[];for(i=0,il=r.length;i<il;i+=3)o.push(r.slice(i,i+3));return o}},{key:"_toAttributes",value:function(e){var t,n=new Float32Array(9*e.facesCount),r=new Float32Array(9*e.facesCount),i=new Float32Array(9*e.facesCount);e.pickingId&&(t=new Float32Array(3*e.facesCount));var o,a,s=new d["default"].Vector3,u=new d["default"].Vector3,l=new d["default"].Vector3,c=new d["default"].Vector3,f=new d["default"].Vector3,h=e.faces,p=e.vertices,v=e.colours;t&&(a=e.pickingId);for(var y=0,m=0;m<h.length;m++){o=h[m][0];var _=p[o][0],g=p[o][1],b=p[o][2],x=v[m][0];o=h[m][1];var w=p[o][0],M=p[o][1],E=p[o][2],O=v[m][1];o=h[m][2];var k=p[o][0],P=p[o][1],T=p[o][2],j=v[m][2];s.set(_,g,b),u.set(w,M,E),l.set(k,P,T),c.subVectors(l,u),f.subVectors(s,u),c.cross(f),c.normalize();var S=c.x,A=c.y,C=c.z;n[9*y+0]=_,n[9*y+1]=g,n[9*y+2]=b,r[9*y+0]=S,r[9*y+1]=A,r[9*y+2]=C,i[9*y+0]=x[0],i[9*y+1]=x[1],i[9*y+2]=x[2],n[9*y+3]=w,n[9*y+4]=M,n[9*y+5]=E,r[9*y+3]=S,r[9*y+4]=A,r[9*y+5]=C,i[9*y+3]=O[0],i[9*y+4]=O[1],i[9*y+5]=O[2],n[9*y+6]=k,n[9*y+7]=P,n[9*y+8]=T,r[9*y+6]=S,r[9*y+7]=A,r[9*y+8]=C,i[9*y+6]=j[0],i[9*y+7]=j[1],i[9*y+8]=j[2],t&&(t[3*y+0]=a,t[3*y+1]=a,t[3*y+2]=a),y++}var L={vertices:n,normals:r,colours:i};return t&&(L.pickingIds=t),L}},{key:"isFlat",value:function(){return this._flat}},{key:"destroy",value:function(){this._pickingMesh&&(this._pickingMesh=null),this.clearCoordinates(),this.clearBufferAttributes(),u(Object.getPrototypeOf(t.prototype),"destroy",this).call(this)}}],[{key:"isSingle",value:function(e){return!Array.isArray(e[0][0][0])}}]),t}(c["default"]);t["default"]=O;var k=function(e,t){return new O(e,t)};t.polygonLayer=k},function(e,t,n){function r(e){return e&&e.__esModule?e:{"default":e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){
return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=function(e,t,n){for(var r=!0;r;){var i=e,o=t,a=n;r=!1,null===i&&(i=Function.prototype);var s=Object.getOwnPropertyDescriptor(i,o);if(void 0!==s){if("value"in s)return s.value;var u=s.get;if(void 0===u)return;return u.call(a)}var l=Object.getPrototypeOf(i);if(null===l)return;e=l,t=o,n=a,r=!0,s=l=void 0}},u=n(32),l=r(u),c=n(3),f=r(c),h=n(10),p=r(h),d=n(7),v=n(8),y=n(70),m=r(y),_=n(69),g=r(_),b=function(e){function t(e,n){i(this,t);var r={output:!0,interactive:!1,material:null,onMesh:null,onBufferAttributes:null,style:{lineOpacity:1,lineTransparent:!1,lineColor:"#ffffff",lineWidth:1,lineBlending:p["default"].NormalBlending}},o=(0,f["default"])({},r,n);s(Object.getPrototypeOf(t.prototype),"constructor",this).call(this,o),this._coordinates=t.isSingle(e)?[e]:e,this._flat=!0}return o(t,e),a(t,[{key:"_onAdd",value:function(e){return this._setCoordinates(),this._options.interactive&&(this.isOutput()&&(this._pickingMesh=new p["default"].Object3D,this.addToPicking(this._pickingMesh)),this._setPickingId(),this._addPickingEvents()),this._setBufferAttributes(),this.isOutput()&&(this._setMesh(this._bufferAttributes),this.add(this._mesh)),Promise.resolve(this)}},{key:"getCenter",value:function(){return this._center}},{key:"getBounds",value:function(){}},{key:"_setPickingId",value:function(){this._pickingId=this.getPickingId()}},{key:"_addPickingEvents",value:function(){var e=this;this._world.on("pick-"+this._pickingId,function(t,n,r){e.emit("click",e,t,n,r)})}},{key:"_setBufferAttributes",value:function(){var e,t=this;if("function"==typeof this._options.onBufferAttributes)e=this._options.onBufferAttributes(this);else{var n=0;this._options.style.lineHeight&&(n=this._world.metresToWorld(this._options.style.lineHeight,this._pointScale));var r=new p["default"].Color;r.set(this._options.style.lineColor),e=this._projectedCoordinates.map(function(e){var i,o=[],a=[];e.forEach(function(t,s){a.push([r.r,r.g,r.b]),o.push([t.x,n,t.y]),i=e[s+1]?e[s+1]:t,a.push([r.r,r.g,r.b]),o.push([i.x,n,i.y])});var s={vertices:o,colours:a,verticesCount:o.length};return t._options.interactive&&t._pickingId&&(s.pickingId=t._pickingId),t._toAttributes(s)})}this._bufferAttributes=g["default"].mergeAttributes(e),e=null}},{key:"getBufferAttributes",value:function(){return this._bufferAttributes}},{key:"clearBufferAttributes",value:function(){this._bufferAttributes=null}},{key:"clearCoordinates",value:function(){this._coordinates=null,this._projectedCoordinates=null}},{key:"_setMesh",value:function(e){var t=new p["default"].BufferGeometry;t.addAttribute("position",new p["default"].BufferAttribute(e.vertices,3)),e.normals&&t.addAttribute("normal",new p["default"].BufferAttribute(e.normals,3)),t.addAttribute("color",new p["default"].BufferAttribute(e.colours,3)),e.pickingIds&&t.addAttribute("pickingId",new p["default"].BufferAttribute(e.pickingIds,1)),t.computeBoundingBox();var n,r=this._options.style;n=this._options.material&&this._options.material instanceof p["default"].Material?this._options.material:new p["default"].LineBasicMaterial({vertexColors:p["default"].VertexColors,linewidth:r.lineWidth,transparent:r.lineTransparent,opacity:r.lineOpacity,blending:r.lineBlending});var i;if("function"==typeof this._options.onMesh?i=this._options.onMesh(t,n):(i=new p["default"].LineSegments(t,n),void 0!==r.lineRenderOrder&&(n.depthWrite=!1,i.renderOrder=r.lineRenderOrder),i.castShadow=!0),this._options.interactive&&this._pickingMesh){n=new m["default"],n.linewidth=r.lineWidth+n.linePadding;var o=new p["default"].LineSegments(t,n);this._pickingMesh.add(o)}this._mesh=i}},{key:"_setCoordinates",value:function(){this._bounds=[],this._coordinates=this._convertCoordinates(this._coordinates),this._projectedBounds=[],this._projectedCoordinates=this._projectCoordinates(),this._center=this._coordinates[0][0]}},{key:"_convertCoordinates",value:function(e){return e.map(function(e){return e.map(function(e){return(0,d.latLon)(e[1],e[0])})})}},{key:"_projectCoordinates",value:function(){var e,t=this;return this._coordinates.map(function(n){return n.map(function(n){return e=t._world.latLonToPoint(n),t._offset||(t._offset=(0,v.point)(0,0),t._offset.x=-1*e.x,t._offset.y=-1*e.y,t._pointScale=t._world.pointScale(n)),e})})}},{key:"_toAttributes",value:function(e){var t,n=new Float32Array(3*e.verticesCount),r=new Float32Array(3*e.verticesCount);e.pickingId&&(t=new Float32Array(e.verticesCount));var i,o,a=e.vertices,s=e.colours;e.normals&&(i=new Float32Array(3*e.verticesCount),o=e.normals);var u;t&&(u=e.pickingId);for(var l=0,c=0;c<a.length;c++){var f,h,p,d=a[c][0],v=a[c][1],y=a[c][2];o&&(f=o[c][0],h=o[c][1],p=o[c][2]);var m=s[c];n[3*l+0]=d,n[3*l+1]=v,n[3*l+2]=y,i&&(i[3*l+0]=f,i[3*l+1]=h,i[3*l+2]=p),r[3*l+0]=m[0],r[3*l+1]=m[1],r[3*l+2]=m[2],t&&(t[l]=u),l++}var _={vertices:n,colours:r};return i&&(_.normals=i),t&&(_.pickingIds=t),_}},{key:"isFlat",value:function(){return this._flat}},{key:"destroy",value:function(){this._pickingMesh&&(this._pickingMesh=null),this.clearCoordinates(),this.clearBufferAttributes(),s(Object.getPrototypeOf(t.prototype),"destroy",this).call(this)}}],[{key:"isSingle",value:function(e){return!Array.isArray(e[0][0])}}]),t}(l["default"]);t["default"]=b;var x=function(e,t){return new b(e,t)};t.polylineLayer=x},function(e,t,n){function r(e){return e&&e.__esModule?e:{"default":e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=function(e,t,n){for(var r=!0;r;){var i=e,o=t,a=n;r=!1,null===i&&(i=Function.prototype);var s=Object.getOwnPropertyDescriptor(i,o);if(void 0!==s){if("value"in s)return s.value;var u=s.get;if(void 0===u)return;return u.call(a)}var l=Object.getPrototypeOf(i);if(null===l)return;e=l,t=o,n=a,r=!0,s=l=void 0}},u=n(32),l=r(u),c=n(3),f=r(c),h=n(10),p=r(h),d=n(7),v=n(8),y=n(70),m=r(y),_=n(69),g=r(_),b=function(e){function t(e,n){i(this,t);var r={output:!0,interactive:!1,geometry:null,material:null,onMesh:null,style:{pointColor:"#ff0000"}},o=(0,f["default"])({},r,n);s(Object.getPrototypeOf(t.prototype),"constructor",this).call(this,o),this._coordinates=t.isSingle(e)?[e]:e,this._flat=!0}return o(t,e),a(t,[{key:"_onAdd",value:function(e){return this._setCoordinates(),this._options.interactive&&(this.isOutput()&&(this._pickingMesh=new p["default"].Object3D,this.addToPicking(this._pickingMesh)),this._setPickingId(),this._addPickingEvents()),this._setBufferAttributes(),this.isOutput()&&(this._setMesh(this._bufferAttributes),this.add(this._mesh)),Promise.resolve(this)}},{key:"getCenter",value:function(){return this._center}},{key:"getBounds",value:function(){}},{key:"_setPickingId",value:function(){this._pickingId=this.getPickingId()}},{key:"_addPickingEvents",value:function(){var e=this;this._world.on("pick-"+this._pickingId,function(t,n,r){e.emit("click",e,t,n,r)})}},{key:"_setBufferAttributes",value:function(){var e=this,t=0;this._options.style.pointHeight&&(t=this._world.metresToWorld(this._options.style.pointHeight,this._pointScale));var n=new p["default"].Color;n.set(this._options.style.pointColor);var r;if(!this._options.geometry||!this._options.geometry instanceof p["default"].Geometry||!this._options.geometry instanceof p["default"].BufferGeometry){var i=this._world.metresToWorld(25,this._pointScale),o=this._world.metresToWorld(200,this._pointScale),a=new p["default"].BoxGeometry(i,o,i);a.translate(0,.5*o,0),r=(new p["default"].BufferGeometry).fromGeometry(a)}else r=this._options.geometry instanceof p["default"].BufferGeometry?this._options.geometry:(new p["default"].BufferGeometry).fromGeometry(this._options.geometry);var s=this._projectedCoordinates.map(function(i){var o=[],a=[],s=[],u=r.clone();u.translate(i.x,t,i.y);for(var o=u.attributes.position.clone().array,a=u.attributes.normal.clone().array,s=u.attributes.color.clone().array,l=0;l<s.length;l+=3)s[l]=n.r,s[l+1]=n.g,s[l+2]=n.b;var c={vertices:o,normals:a,colours:s};if(e._options.interactive&&e._pickingId){c.pickingIds=new Float32Array(o.length/3);for(var l=0;l<c.pickingIds.length;l++)c.pickingIds[l]=e._pickingId}return c});this._bufferAttributes=g["default"].mergeAttributes(s),s=null}},{key:"getBufferAttributes",value:function(){return this._bufferAttributes}},{key:"clearBufferAttributes",value:function(){this._bufferAttributes=null}},{key:"clearCoordinates",value:function(){this._coordinates=null,this._projectedCoordinates=null}},{key:"_setMesh",value:function(e){var t=new p["default"].BufferGeometry;t.addAttribute("position",new p["default"].BufferAttribute(e.vertices,3)),t.addAttribute("normal",new p["default"].BufferAttribute(e.normals,3)),t.addAttribute("color",new p["default"].BufferAttribute(e.colours,3)),e.pickingIds&&t.addAttribute("pickingId",new p["default"].BufferAttribute(e.pickingIds,1)),t.computeBoundingBox();var n;this._options.material&&this._options.material instanceof p["default"].Material?n=this._options.material:this._world._environment._skybox?(n=new p["default"].MeshStandardMaterial({vertexColors:p["default"].VertexColors}),n.roughness=1,n.metalness=.1,n.envMapIntensity=3,n.envMap=this._world._environment._skybox.getRenderTarget()):n=new p["default"].MeshBasicMaterial({vertexColors:p["default"].VertexColors});var r;if("function"==typeof this._options.onMesh?r=this._options.onMesh(t,n):(r=new p["default"].Mesh(t,n),r.castShadow=!0),this._options.interactive&&this._pickingMesh){n=new m["default"];var i=new p["default"].Mesh(t,n);this._pickingMesh.add(i)}this._mesh=r}},{key:"_setCoordinates",value:function(){this._bounds=[],this._coordinates=this._convertCoordinates(this._coordinates),this._projectedBounds=[],this._projectedCoordinates=this._projectCoordinates(),this._center=this._coordinates}},{key:"_convertCoordinates",value:function(e){return e.map(function(e){return(0,d.latLon)(e[1],e[0])})}},{key:"_projectCoordinates",value:function(){var e,t=this;return this._coordinates.map(function(n){return e=t._world.latLonToPoint(n),t._offset||(t._offset=(0,v.point)(0,0),t._offset.x=-1*e.x,t._offset.y=-1*e.y,t._pointScale=t._world.pointScale(n)),e})}},{key:"_toAttributes",value:function(e){var t,n=new Float32Array(3*e.verticesCount),r=new Float32Array(3*e.verticesCount);e.pickingId&&(t=new Float32Array(e.verticesCount));var i,o=e.vertices,a=e.colours;t&&(i=e.pickingId);for(var s=0,u=0;u<o.length;u++){var l=o[u][0],c=o[u][1],f=o[u][2],h=a[u];n[3*s+0]=l,n[3*s+1]=c,n[3*s+2]=f,r[3*s+0]=h[0],r[3*s+1]=h[1],r[3*s+2]=h[2],t&&(t[s]=i),s++}var p={vertices:n,colours:r};return t&&(p.pickingIds=t),p}},{key:"isFlat",value:function(){return this._flat}},{key:"destroy",value:function(){this._pickingMesh&&(this._pickingMesh=null),this.clearCoordinates(),this.clearBufferAttributes(),s(Object.getPrototypeOf(t.prototype),"destroy",this).call(this)}}],[{key:"isSingle",value:function(e){return!Array.isArray(e[0])}}]),t}(l["default"]);t["default"]=b;var x=function(e,t){return new b(e,t)};t.pointLayer=x},function(e,t,n){function r(e){return e&&e.__esModule?e:{"default":e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var a=function(e,t,n){for(var r=!0;r;){var i=e,o=t,a=n;r=!1,null===i&&(i=Function.prototype);var s=Object.getOwnPropertyDescriptor(i,o);if(void 0!==s){if("value"in s)return s.value;var u=s.get;if(void 0===u)return;return u.call(a)}var l=Object.getPrototypeOf(i);if(null===l)return;e=l,t=o,n=a,r=!0,s=l=void 0}},s=n(57),u=r(s),l=n(3),c=r(l),f=function(e){function t(e,n){i(this,t);var r={topojson:!0};n=(0,c["default"])({},r,n),a(Object.getPrototypeOf(t.prototype),"constructor",this).call(this,e,n)}return o(t,e),t}(u["default"]);t["default"]=f;var h=function(e,t){return new f(e,t)};t.topoJSONTileLayer=h},function(e,t,n){function r(e){return e&&e.__esModule?e:{"default":e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var a=function(e,t,n){for(var r=!0;r;){var i=e,o=t,a=n;r=!1,null===i&&(i=Function.prototype);var s=Object.getOwnPropertyDescriptor(i,o);if(void 0!==s){if("value"in s)return s.value;var u=s.get;if(void 0===u)return;return u.call(a)}var l=Object.getPrototypeOf(i);if(null===l)return;e=l,t=o,n=a,r=!0,s=l=void 0}},s=n(59),u=r(s),l=n(3),c=r(l),f=function(e){function t(e,n){i(this,t);var r={topojson:!0};n=(0,c["default"])({},r,n),a(Object.getPrototypeOf(t.prototype),"constructor",this).call(this,e,n)}return o(t,e),t}(u["default"]);t["default"]=f;var h=function(e,t){return new f(e,t)};t.topoJSONLayer=h},function(e,t,n){function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(78),o=r(i),a=n(68),s=r(a),u=n(63),l=r(u),c=n(69),f=r(c),h={};h.wrapNum=o["default"],h.extrudePolygon=s["default"],h.GeoJSON=l["default"],h.Buffer=f["default"],t["default"]=h,e.exports=t["default"]},function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var n=function(e,t,n){var r=t[1],i=t[0],o=r-i;return e===r&&n?e:((e-i)%o+o)%o+i};t["default"]=n,e.exports=t["default"]}])});
//# sourceMappingURL=vizicities.min.js.map