three-globe
Version:
Globe data visualization as a ThreeJS reusable 3D object
5 lines • 291 kB
JavaScript
// Version 2.1.1 three-globe - https://github.com/vasturiano/three-globe
!function(A,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("three")):"function"==typeof define&&define.amd?define(["three"],e):(A=A||self).ThreeGlobe=e(A.THREE)}(this,(function(A){"use strict";function e(A,e,t){return e in A?Object.defineProperty(A,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):A[e]=t,A}function t(A,e){var t=Object.keys(A);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(A);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(A,e).enumerable}))),t.push.apply(t,n)}return t}function n(A){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{};n%2?t(r,!0).forEach((function(t){e(A,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(A,Object.getOwnPropertyDescriptors(r)):t(r).forEach((function(e){Object.defineProperty(A,e,Object.getOwnPropertyDescriptor(r,e))}))}return A}function r(A){return(r=Object.setPrototypeOf?Object.getPrototypeOf:function(A){return A.__proto__||Object.getPrototypeOf(A)})(A)}function i(A,e){return(i=Object.setPrototypeOf||function(A,e){return A.__proto__=e,A})(A,e)}function a(A,e,t){return(a=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(A){return!1}}()?Reflect.construct:function(A,e,t){var n=[null];n.push.apply(n,e);var r=new(Function.bind.apply(A,n));return t&&i(r,t.prototype),r}).apply(null,arguments)}function o(A,e){if(null==A)return{};var t,n,r=function(A,e){if(null==A)return{};var t,n,r={},i=Object.keys(A);for(n=0;n<i.length;n++)t=i[n],e.indexOf(t)>=0||(r[t]=A[t]);return r}(A,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(A);for(n=0;n<i.length;n++)t=i[n],e.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(A,t)&&(r[t]=A[t])}return r}function l(A){if(void 0===A)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return A}function u(A,e){return function(A){if(Array.isArray(A))return A}(A)||function(A,e){if(!(Symbol.iterator in Object(A)||"[object Arguments]"===Object.prototype.toString.call(A)))return;var t=[],n=!0,r=!1,i=void 0;try{for(var a,o=A[Symbol.iterator]();!(n=(a=o.next()).done)&&(t.push(a.value),!e||t.length!==e);n=!0);}catch(A){r=!0,i=A}finally{try{n||null==o.return||o.return()}finally{if(r)throw i}}return t}(A,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function f(A){return function(A){if(Array.isArray(A)){for(var e=0,t=new Array(A.length);e<A.length;e++)t[e]=A[e];return t}}(A)||function(A){if(Symbol.iterator in Object(A)||"[object Arguments]"===Object.prototype.toString.call(A))return Array.from(A)}(A)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}function s(A,e,t){var n,r,i,a,o;function l(){var u=Date.now()-a;u<e&&u>=0?n=setTimeout(l,e-u):(n=null,t||(o=A.apply(i,r),i=r=null))}null==e&&(e=100);var u=function(){i=this,r=arguments,a=Date.now();var u=t&&!n;return n||(n=setTimeout(l,e)),u&&(o=A.apply(i,r),i=r=null),o};return u.clear=function(){n&&(clearTimeout(n),n=null)},u.flush=function(){n&&(o=A.apply(i,r),i=r=null,clearTimeout(n),n=null)},u}s.debounce=s;var c=s;function h(A,e){return function(A){if(Array.isArray(A))return A}(A)||function(A,e){var t=[],n=!0,r=!1,i=void 0;try{for(var a,o=A[Symbol.iterator]();!(n=(a=o.next()).done)&&(t.push(a.value),!e||t.length!==e);n=!0);}catch(A){r=!0,i=A}finally{try{n||null==o.return||o.return()}finally{if(r)throw i}}return t}(A,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}var q=function A(e,t){var n=t.default,r=void 0===n?null:n,i=t.triggerUpdate,a=void 0===i||i,o=t.onChange,l=void 0===o?function(A,e){}:o;!function(A,e){if(!(A instanceof e))throw new TypeError("Cannot call a class as a function")}(this,A),this.name=e,this.defaultVal=r,this.triggerUpdate=a,this.onChange=l};function m(A){var e=A.stateInit,t=void 0===e?function(){return{}}:e,n=A.props,r=void 0===n?{}:n,i=A.methods,a=void 0===i?{}:i,o=A.aliases,l=void 0===o?{}:o,u=A.init,f=void 0===u?function(){}:u,s=A.update,m=void 0===s?function(){}:s,d=Object.keys(r).map((function(A){return new q(A,r[A])}));return function(){var A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=Object.assign({},t instanceof Function?t(A):t,{initialised:!1});function n(e){return r(e,A),i(),n}var r=function(A,t){f.call(n,A,e,t),e.initialised=!0},i=c((function(){e.initialised&&m.call(n,e)}),1);return d.forEach((function(A){n[A.name]=function(A){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(A,e){};return function(a){var o=e[A];return arguments.length?(e[A]=a,r.call(n,a,e,o),t&&i(),n):o}}(A.name,A.triggerUpdate,A.onChange)})),Object.keys(a).forEach((function(A){n[A]=function(){for(var t,r=arguments.length,i=new Array(r),o=0;o<r;o++)i[o]=arguments[o];return(t=a[A]).call.apply(t,[n,e].concat(i))}})),Object.entries(l).forEach((function(A){var e=h(A,2),t=e[0],r=e[1];return n[t]=n[r]})),n.resetProps=function(){return d.forEach((function(A){n[A.name](A.defaultVal)})),n},n.resetProps(),e._rerender=i,n}}var d=function(){this._tweens={},this._tweensAddedDuringUpdate={}};d.prototype={getAll:function(){return Object.keys(this._tweens).map(function(A){return this._tweens[A]}.bind(this))},removeAll:function(){this._tweens={}},add:function(A){this._tweens[A.getId()]=A,this._tweensAddedDuringUpdate[A.getId()]=A},remove:function(A){delete this._tweens[A.getId()],delete this._tweensAddedDuringUpdate[A.getId()]},update:function(A,e){var t=Object.keys(this._tweens);if(0===t.length)return!1;for(A=void 0!==A?A:p.now();t.length>0;){this._tweensAddedDuringUpdate={};for(var n=0;n<t.length;n++){var r=this._tweens[t[n]];r&&!1===r.update(A)&&(r._isPlaying=!1,e||delete this._tweens[t[n]])}t=Object.keys(this._tweensAddedDuringUpdate)}return!0}};var g,p=new d;p.Group=d,p._nextId=0,p.nextId=function(){return p._nextId++},"undefined"==typeof self&&"undefined"!=typeof process&&process.hrtime?p.now=function(){var A=process.hrtime();return 1e3*A[0]+A[1]/1e6}:"undefined"!=typeof self&&void 0!==self.performance&&void 0!==self.performance.now?p.now=self.performance.now.bind(self.performance):void 0!==Date.now?p.now=Date.now:p.now=function(){return(new Date).getTime()},p.Tween=function(A,e){this._isPaused=!1,this._pauseStart=null,this._object=A,this._valuesStart={},this._valuesEnd={},this._valuesStartRepeat={},this._duration=1e3,this._repeat=0,this._repeatDelayTime=void 0,this._yoyo=!1,this._isPlaying=!1,this._reversed=!1,this._delayTime=0,this._startTime=null,this._easingFunction=p.Easing.Linear.None,this._interpolationFunction=p.Interpolation.Linear,this._chainedTweens=[],this._onStartCallback=null,this._onStartCallbackFired=!1,this._onUpdateCallback=null,this._onRepeatCallback=null,this._onCompleteCallback=null,this._onStopCallback=null,this._group=e||p,this._id=p.nextId()},p.Tween.prototype={getId:function(){return this._id},isPlaying:function(){return this._isPlaying},isPaused:function(){return this._isPaused},to:function(A,e){return this._valuesEnd=Object.create(A),void 0!==e&&(this._duration=e),this},duration:function(A){return this._duration=A,this},start:function(A){for(var e in this._group.add(this),this._isPlaying=!0,this._isPaused=!1,this._onStartCallbackFired=!1,this._startTime=void 0!==A?"string"==typeof A?p.now()+parseFloat(A):A:p.now(),this._startTime+=this._delayTime,this._valuesEnd){if(this._valuesEnd[e]instanceof Array){if(0===this._valuesEnd[e].length)continue;this._valuesEnd[e]=[this._object[e]].concat(this._valuesEnd[e])}void 0!==this._object[e]&&(void 0===this._valuesStart[e]&&(this._valuesStart[e]=this._object[e]),this._valuesStart[e]instanceof Array==!1&&(this._valuesStart[e]*=1),this._valuesStartRepeat[e]=this._valuesStart[e]||0)}return this},stop:function(){return this._isPlaying?(this._group.remove(this),this._isPlaying=!1,this._isPaused=!1,null!==this._onStopCallback&&this._onStopCallback(this._object),this.stopChainedTweens(),this):this},end:function(){return this.update(1/0),this},pause:function(A){return this._isPaused||!this._isPlaying?this:(this._isPaused=!0,this._pauseStart=void 0===A?p.now():A,this._group.remove(this),this)},resume:function(A){return this._isPaused&&this._isPlaying?(this._isPaused=!1,this._startTime+=(void 0===A?p.now():A)-this._pauseStart,this._pauseStart=0,this._group.add(this),this):this},stopChainedTweens:function(){for(var A=0,e=this._chainedTweens.length;A<e;A++)this._chainedTweens[A].stop()},group:function(A){return this._group=A,this},delay:function(A){return this._delayTime=A,this},repeat:function(A){return this._repeat=A,this},repeatDelay:function(A){return this._repeatDelayTime=A,this},yoyo:function(A){return this._yoyo=A,this},easing:function(A){return this._easingFunction=A,this},interpolation:function(A){return this._interpolationFunction=A,this},chain:function(){return this._chainedTweens=arguments,this},onStart:function(A){return this._onStartCallback=A,this},onUpdate:function(A){return this._onUpdateCallback=A,this},onRepeat:function(A){return this._onRepeatCallback=A,this},onComplete:function(A){return this._onCompleteCallback=A,this},onStop:function(A){return this._onStopCallback=A,this},update:function(A){var e,t,n;if(A<this._startTime)return!0;for(e in!1===this._onStartCallbackFired&&(null!==this._onStartCallback&&this._onStartCallback(this._object),this._onStartCallbackFired=!0),t=(A-this._startTime)/this._duration,t=0===this._duration||t>1?1:t,n=this._easingFunction(t),this._valuesEnd)if(void 0!==this._valuesStart[e]){var r=this._valuesStart[e]||0,i=this._valuesEnd[e];i instanceof Array?this._object[e]=this._interpolationFunction(i,n):("string"==typeof i&&(i="+"===i.charAt(0)||"-"===i.charAt(0)?r+parseFloat(i):parseFloat(i)),"number"==typeof i&&(this._object[e]=r+(i-r)*n))}if(null!==this._onUpdateCallback&&this._onUpdateCallback(this._object,t),1===t){if(this._repeat>0){for(e in isFinite(this._repeat)&&this._repeat--,this._valuesStartRepeat){if("string"==typeof this._valuesEnd[e]&&(this._valuesStartRepeat[e]=this._valuesStartRepeat[e]+parseFloat(this._valuesEnd[e])),this._yoyo){var a=this._valuesStartRepeat[e];this._valuesStartRepeat[e]=this._valuesEnd[e],this._valuesEnd[e]=a}this._valuesStart[e]=this._valuesStartRepeat[e]}return this._yoyo&&(this._reversed=!this._reversed),void 0!==this._repeatDelayTime?this._startTime=A+this._repeatDelayTime:this._startTime=A+this._delayTime,null!==this._onRepeatCallback&&this._onRepeatCallback(this._object),!0}null!==this._onCompleteCallback&&this._onCompleteCallback(this._object);for(var o=0,l=this._chainedTweens.length;o<l;o++)this._chainedTweens[o].start(this._startTime+this._duration);return!1}return!0}},p.Easing={Linear:{None:function(A){return A}},Quadratic:{In:function(A){return A*A},Out:function(A){return A*(2-A)},InOut:function(A){return(A*=2)<1?.5*A*A:-.5*(--A*(A-2)-1)}},Cubic:{In:function(A){return A*A*A},Out:function(A){return--A*A*A+1},InOut:function(A){return(A*=2)<1?.5*A*A*A:.5*((A-=2)*A*A+2)}},Quartic:{In:function(A){return A*A*A*A},Out:function(A){return 1- --A*A*A*A},InOut:function(A){return(A*=2)<1?.5*A*A*A*A:-.5*((A-=2)*A*A*A-2)}},Quintic:{In:function(A){return A*A*A*A*A},Out:function(A){return--A*A*A*A*A+1},InOut:function(A){return(A*=2)<1?.5*A*A*A*A*A:.5*((A-=2)*A*A*A*A+2)}},Sinusoidal:{In:function(A){return 1-Math.cos(A*Math.PI/2)},Out:function(A){return Math.sin(A*Math.PI/2)},InOut:function(A){return.5*(1-Math.cos(Math.PI*A))}},Exponential:{In:function(A){return 0===A?0:Math.pow(1024,A-1)},Out:function(A){return 1===A?1:1-Math.pow(2,-10*A)},InOut:function(A){return 0===A?0:1===A?1:(A*=2)<1?.5*Math.pow(1024,A-1):.5*(2-Math.pow(2,-10*(A-1)))}},Circular:{In:function(A){return 1-Math.sqrt(1-A*A)},Out:function(A){return Math.sqrt(1- --A*A)},InOut:function(A){return(A*=2)<1?-.5*(Math.sqrt(1-A*A)-1):.5*(Math.sqrt(1-(A-=2)*A)+1)}},Elastic:{In:function(A){return 0===A?0:1===A?1:-Math.pow(2,10*(A-1))*Math.sin(5*(A-1.1)*Math.PI)},Out:function(A){return 0===A?0:1===A?1:Math.pow(2,-10*A)*Math.sin(5*(A-.1)*Math.PI)+1},InOut:function(A){return 0===A?0:1===A?1:(A*=2)<1?-.5*Math.pow(2,10*(A-1))*Math.sin(5*(A-1.1)*Math.PI):.5*Math.pow(2,-10*(A-1))*Math.sin(5*(A-1.1)*Math.PI)+1}},Back:{In:function(A){var e=1.70158;return A*A*((e+1)*A-e)},Out:function(A){var e=1.70158;return--A*A*((e+1)*A+e)+1},InOut:function(A){var e=2.5949095;return(A*=2)<1?A*A*((e+1)*A-e)*.5:.5*((A-=2)*A*((e+1)*A+e)+2)}},Bounce:{In:function(A){return 1-p.Easing.Bounce.Out(1-A)},Out:function(A){return A<1/2.75?7.5625*A*A:A<2/2.75?7.5625*(A-=1.5/2.75)*A+.75:A<2.5/2.75?7.5625*(A-=2.25/2.75)*A+.9375:7.5625*(A-=2.625/2.75)*A+.984375},InOut:function(A){return A<.5?.5*p.Easing.Bounce.In(2*A):.5*p.Easing.Bounce.Out(2*A-1)+.5}}},p.Interpolation={Linear:function(A,e){var t=A.length-1,n=t*e,r=Math.floor(n),i=p.Interpolation.Utils.Linear;return e<0?i(A[0],A[1],n):e>1?i(A[t],A[t-1],t-n):i(A[r],A[r+1>t?t:r+1],n-r)},Bezier:function(A,e){for(var t=0,n=A.length-1,r=Math.pow,i=p.Interpolation.Utils.Bernstein,a=0;a<=n;a++)t+=r(1-e,n-a)*r(e,a)*A[a]*i(n,a);return t},CatmullRom:function(A,e){var t=A.length-1,n=t*e,r=Math.floor(n),i=p.Interpolation.Utils.CatmullRom;return A[0]===A[t]?(e<0&&(r=Math.floor(n=t*(1+e))),i(A[(r-1+t)%t],A[r],A[(r+1)%t],A[(r+2)%t],n-r)):e<0?A[0]-(i(A[0],A[0],A[1],A[1],-n)-A[0]):e>1?A[t]-(i(A[t],A[t],A[t-1],A[t-1],n-t)-A[t]):i(A[r?r-1:0],A[r],A[t<r+1?t:r+1],A[t<r+2?t:r+2],n-r)},Utils:{Linear:function(A,e,t){return(e-A)*t+A},Bernstein:function(A,e){var t=p.Interpolation.Utils.Factorial;return t(A)/t(e)/t(A-e)},Factorial:(g=[1],function(A){var e=1;if(g[A])return g[A];for(var t=A;t>1;t--)e*=t;return g[A]=e,e}),CatmullRom:function(A,e,t,n,r){var i=.5*(t-A),a=.5*(n-e),o=r*r;return(2*e-2*t+i+a)*(r*o)+(-3*e+3*t-2*i-a)*o+i*r+e}}};var b=function A(e){e.geometry&&e.geometry.dispose(),e.material&&function A(e){e instanceof Array?e.forEach(A):(e.map&&e.map.dispose(),e.dispose())}(e.material),e.texture&&e.texture.dispose(),e.children&&e.children.forEach(A)},x=function(A){for(;A.children.length;){var e=A.children[0];A.remove(e),b(e)}};function _(A,e){var t=new e;return{linkProp:function(e){return{default:t[e](),onChange:function(t,n){n[A][e](t)},triggerUpdate:!1}},linkMethod:function(e){return function(t){for(var n=t[A],r=arguments.length,i=new Array(r>1?r-1:0),a=1;a<r;a++)i[a-1]=arguments[a];var o=n[e].apply(n,i);return o===n?this:o}}}}var w=100;function v(A,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=(90-A)*Math.PI/180,r=(90-e)*Math.PI/180,i=w*(1+t);return{x:i*Math.sin(n)*Math.cos(r),y:i*Math.cos(n),z:i*Math.sin(n)*Math.sin(r)}}function y(A){var e=A.x,t=A.y,n=A.z,r=Math.sqrt(e*e+t*t+n*n),i=Math.acos(t/r),a=Math.atan2(n,e);return{lat:90-180*i/Math.PI,lng:90-180*a/Math.PI,altitude:r/w-1}}var M=k,B=k;function k(A,e,t){t=t||2;var n,r,i,a,o,l,u,f=e&&e.length,s=f?e[0]*t:A.length,c=E(A,0,s,t,!0),h=[];if(!c||c.next===c.prev)return h;if(f&&(c=function(A,e,t,n){var r,i,a,o,l,u=[];for(r=0,i=e.length;r<i;r++)a=e[r]*n,o=r<i-1?e[r+1]*n:A.length,(l=E(A,a,o,n,!1))===l.next&&(l.steiner=!0),u.push(R(l));for(u.sort(S),r=0;r<u.length;r++)F(u[r],t),t=D(t,t.next);return t}(A,e,c,t)),A.length>80*t){n=i=A[0],r=a=A[1];for(var q=t;q<s;q+=t)(o=A[q])<n&&(n=o),(l=A[q+1])<r&&(r=l),o>i&&(i=o),l>a&&(a=l);u=0!==(u=Math.max(i-n,a-r))?1/u:0}return Q(c,h,t,n,r,u),h}function E(A,e,t,n,r){var i,a;if(r===Z(A,e,t,n)>0)for(i=e;i<t;i+=n)a=Y(i,A[i],A[i+1],a);else for(i=t-n;i>=e;i-=n)a=Y(i,A[i],A[i+1],a);return a&&L(a,a.next)&&(W(a),a=a.next),a}function D(A,e){if(!A)return A;e||(e=A);var t,n=A;do{if(t=!1,n.steiner||!L(n,n.next)&&0!==j(n.prev,n,n.next))n=n.next;else{if(W(n),(n=e=n.prev)===n.next)break;t=!0}}while(t||n!==e);return e}function Q(A,e,t,n,r,i,a){if(A){!a&&i&&function(A,e,t,n){var r=A;do{null===r.z&&(r.z=P(r.x,r.y,e,t,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==A);r.prevZ.nextZ=null,r.prevZ=null,function(A){var e,t,n,r,i,a,o,l,u=1;do{for(t=A,A=null,i=null,a=0;t;){for(a++,n=t,o=0,e=0;e<u&&(o++,n=n.nextZ);e++);for(l=u;o>0||l>0&&n;)0!==o&&(0===l||!n||t.z<=n.z)?(r=t,t=t.nextZ,o--):(r=n,n=n.nextZ,l--),i?i.nextZ=r:A=r,r.prevZ=i,i=r;t=n}i.nextZ=null,u*=2}while(a>1)}(r)}(A,n,r,i);for(var o,l,u=A;A.prev!==A.next;)if(o=A.prev,l=A.next,i?C(A,n,r,i):I(A))e.push(o.i/t),e.push(A.i/t),e.push(l.i/t),W(A),A=l.next,u=l.next;else if((A=l)===u){a?1===a?Q(A=T(A,e,t),e,t,n,r,i,2):2===a&&O(A,e,t,n,r,i):Q(D(A),e,t,n,r,i,1);break}}}function I(A){var e=A.prev,t=A,n=A.next;if(j(e,t,n)>=0)return!1;for(var r=A.next.next;r!==A.prev;){if(G(e.x,e.y,t.x,t.y,n.x,n.y,r.x,r.y)&&j(r.prev,r,r.next)>=0)return!1;r=r.next}return!0}function C(A,e,t,n){var r=A.prev,i=A,a=A.next;if(j(r,i,a)>=0)return!1;for(var o=r.x<i.x?r.x<a.x?r.x:a.x:i.x<a.x?i.x:a.x,l=r.y<i.y?r.y<a.y?r.y:a.y:i.y<a.y?i.y:a.y,u=r.x>i.x?r.x>a.x?r.x:a.x:i.x>a.x?i.x:a.x,f=r.y>i.y?r.y>a.y?r.y:a.y:i.y>a.y?i.y:a.y,s=P(o,l,e,t,n),c=P(u,f,e,t,n),h=A.prevZ,q=A.nextZ;h&&h.z>=s&&q&&q.z<=c;){if(h!==A.prev&&h!==A.next&&G(r.x,r.y,i.x,i.y,a.x,a.y,h.x,h.y)&&j(h.prev,h,h.next)>=0)return!1;if(h=h.prevZ,q!==A.prev&&q!==A.next&&G(r.x,r.y,i.x,i.y,a.x,a.y,q.x,q.y)&&j(q.prev,q,q.next)>=0)return!1;q=q.nextZ}for(;h&&h.z>=s;){if(h!==A.prev&&h!==A.next&&G(r.x,r.y,i.x,i.y,a.x,a.y,h.x,h.y)&&j(h.prev,h,h.next)>=0)return!1;h=h.prevZ}for(;q&&q.z<=c;){if(q!==A.prev&&q!==A.next&&G(r.x,r.y,i.x,i.y,a.x,a.y,q.x,q.y)&&j(q.prev,q,q.next)>=0)return!1;q=q.nextZ}return!0}function T(A,e,t){var n=A;do{var r=n.prev,i=n.next.next;!L(r,i)&&H(r,n,n.next,i)&&N(r,i)&&N(i,r)&&(e.push(r.i/t),e.push(n.i/t),e.push(i.i/t),W(n),W(n.next),n=A=i),n=n.next}while(n!==A);return n}function O(A,e,t,n,r,i){var a=A;do{for(var o=a.next.next;o!==a.prev;){if(a.i!==o.i&&U(a,o)){var l=z(a,o);return a=D(a,a.next),l=D(l,l.next),Q(a,e,t,n,r,i),void Q(l,e,t,n,r,i)}o=o.next}a=a.next}while(a!==A)}function S(A,e){return A.x-e.x}function F(A,e){if(e=function(A,e){var t,n=e,r=A.x,i=A.y,a=-1/0;do{if(i<=n.y&&i>=n.next.y&&n.next.y!==n.y){var o=n.x+(i-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(o<=r&&o>a){if(a=o,o===r){if(i===n.y)return n;if(i===n.next.y)return n.next}t=n.x<n.next.x?n:n.next}}n=n.next}while(n!==e);if(!t)return null;if(r===a)return t.prev;var l,u=t,f=t.x,s=t.y,c=1/0;n=t.next;for(;n!==u;)r>=n.x&&n.x>=f&&r!==n.x&&G(i<s?r:a,i,f,s,i<s?a:r,i,n.x,n.y)&&((l=Math.abs(i-n.y)/(r-n.x))<c||l===c&&n.x>t.x)&&N(n,A)&&(t=n,c=l),n=n.next;return t}(A,e)){var t=z(e,A);D(t,t.next)}}function P(A,e,t,n,r){return(A=1431655765&((A=858993459&((A=252645135&((A=16711935&((A=32767*(A-t)*r)|A<<8))|A<<4))|A<<2))|A<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*r)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function R(A){var e=A,t=A;do{(e.x<t.x||e.x===t.x&&e.y<t.y)&&(t=e),e=e.next}while(e!==A);return t}function G(A,e,t,n,r,i,a,o){return(r-a)*(e-o)-(A-a)*(i-o)>=0&&(A-a)*(n-o)-(t-a)*(e-o)>=0&&(t-a)*(i-o)-(r-a)*(n-o)>=0}function U(A,e){return A.next.i!==e.i&&A.prev.i!==e.i&&!function(A,e){var t=A;do{if(t.i!==A.i&&t.next.i!==A.i&&t.i!==e.i&&t.next.i!==e.i&&H(t,t.next,A,e))return!0;t=t.next}while(t!==A);return!1}(A,e)&&N(A,e)&&N(e,A)&&function(A,e){var t=A,n=!1,r=(A.x+e.x)/2,i=(A.y+e.y)/2;do{t.y>i!=t.next.y>i&&t.next.y!==t.y&&r<(t.next.x-t.x)*(i-t.y)/(t.next.y-t.y)+t.x&&(n=!n),t=t.next}while(t!==A);return n}(A,e)}function j(A,e,t){return(e.y-A.y)*(t.x-e.x)-(e.x-A.x)*(t.y-e.y)}function L(A,e){return A.x===e.x&&A.y===e.y}function H(A,e,t,n){return!!(L(A,e)&&L(t,n)||L(A,n)&&L(t,e))||j(A,e,t)>0!=j(A,e,n)>0&&j(t,n,A)>0!=j(t,n,e)>0}function N(A,e){return j(A.prev,A,A.next)<0?j(A,e,A.next)>=0&&j(A,A.prev,e)>=0:j(A,e,A.prev)<0||j(A,A.next,e)<0}function z(A,e){var t=new V(A.i,A.x,A.y),n=new V(e.i,e.x,e.y),r=A.next,i=e.prev;return A.next=e,e.prev=A,t.next=r,r.prev=t,n.next=t,t.prev=n,i.next=n,n.prev=i,n}function Y(A,e,t,n){var r=new V(A,e,t);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r}function W(A){A.next.prev=A.prev,A.prev.next=A.next,A.prevZ&&(A.prevZ.nextZ=A.nextZ),A.nextZ&&(A.nextZ.prevZ=A.prevZ)}function V(A,e,t){this.i=A,this.x=e,this.y=t,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function Z(A,e,t,n){for(var r=0,i=e,a=t-n;i<t;i+=n)r+=(A[a]-A[i])*(A[i+1]+A[a+1]),a=i;return r}function J(A,e){return function(A){if(Array.isArray(A))return A}(A)||function(A,e){if(!(Symbol.iterator in Object(A)||"[object Arguments]"===Object.prototype.toString.call(A)))return;var t=[],n=!0,r=!1,i=void 0;try{for(var a,o=A[Symbol.iterator]();!(n=(a=o.next()).done)&&(t.push(a.value),!e||t.length!==e);n=!0);}catch(A){r=!0,i=A}finally{try{n||null==o.return||o.return()}finally{if(r)throw i}}return t}(A,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}k.deviation=function(A,e,t,n){var r=e&&e.length,i=r?e[0]*t:A.length,a=Math.abs(Z(A,0,i,t));if(r)for(var o=0,l=e.length;o<l;o++){var u=e[o]*t,f=o<l-1?e[o+1]*t:A.length;a-=Math.abs(Z(A,u,f,t))}var s=0;for(o=0;o<n.length;o+=3){var c=n[o]*t,h=n[o+1]*t,q=n[o+2]*t;s+=Math.abs((A[c]-A[q])*(A[h+1]-A[c+1])-(A[c]-A[h])*(A[q+1]-A[c+1]))}return 0===a&&0===s?0:Math.abs((s-a)/a)},k.flatten=function(A){for(var e=A[0][0].length,t={vertices:[],holes:[],dimensions:e},n=0,r=0;r<A.length;r++){for(var i=0;i<A[r].length;i++)for(var a=0;a<e;a++)t.vertices.push(A[r][i][a]);r>0&&(n+=A[r-1].length,t.holes.push(n))}return t},M.default=B;var K=function(A,e,t){for(var n=[],r=1;r<=t;r++)n.push(A+(e-A)*r/(t+1));return n},X=function(){var A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,t=[],n=null;return A.forEach((function(A){if(n){var r=Math.sqrt(Math.pow(A[0]-n[0],2)+Math.pow(A[1]-n[1],2));if(r>e)for(var i=Math.floor(r/e),a=K(n[0],A[0],i),o=K(n[1],A[1],i),l=0,u=a.length;l<u;l++)t.push([a[l],o[l]])}t.push(n=A)})),t},$=window.THREE?window.THREE:{BufferGeometry:A.BufferGeometry,Float32BufferAttribute:A.Float32BufferAttribute,Geometry:A.Geometry};function AA(A){var e=this,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:5;$.BufferGeometry.call(this),this.type="GeoJsonGeometry",this.parameters={geoJson:A,radius:t,resolution:n};var r=({Point:l,MultiPoint:function(A,e){var t={vertices:[],indices:[]};return A.map((function(A){return l(A,e)})).forEach((function(A){var e=J(A,1)[0];eA(t,e)})),[t]},LineString:u,MultiLineString:function(A,e){var t={vertices:[],indices:[]};return A.map((function(A){return u(A,e)})).forEach((function(A){var e=J(A,1)[0];eA(t,e)})),[t]},Polygon:f,MultiPolygon:function(A,e){var t={vertices:[],indices:[]},n={vertices:[],indices:[]};A.map((function(A){return f(A,e)})).forEach((function(A){var e=J(A,2),r=e[0],i=e[1];eA(t,r),i&&eA(n,i)}));var r=[t];return n.vertices.length&&r.push(n),r}}[A.type]||function(){return[]})(A.coordinates,t),i=[],a=[],o=0;function l(A,e){return[{vertices:nA(A[1],A[0],e),indices:[]}]}function u(A,e){for(var t=X(A,n).map((function(A){var t=J(A,2),n=t[0];return nA(t[1],n,e)})),r=M.flatten([t]).vertices,i=Math.round(r.length/3),a=[],o=1;o<i;o++)a.push(o-1,o);return[{vertices:r,indices:a}]}function f(A,e){for(var t=A.map((function(A){return X(A,n).map((function(A){var t=J(A,2),n=t[0];return nA(t[1],n,e)}))})),r=M.flatten(t),i=r.vertices,a=r.holes,o=a[0]||1/0,l=i.slice(0,o),u=i.slice(o),f=new Set(a),s=Math.round(i.length/3),c=[],h=[],q=1;q<s;q++)f.has(q)||(q<o?c.push(q-1,q):h.push(q-1-o,q-o));var m=[{indices:c,vertices:l}];return a.length&&m.push({indices:h,vertices:u}),m}r.forEach((function(A){var t=i.length;eA({indices:i,vertices:a},A),e.addGroup(t,i.length-t,o++)})),i.length&&this.setIndex(i),a.length&&this.addAttribute("position",new $.Float32BufferAttribute(a,3))}function eA(A,e){var t=Math.round(A.vertices.length/3);tA(A.vertices,e.vertices),tA(A.indices,e.indices.map((function(A){return A+t})))}function tA(A,e){var t=!0,n=!1,r=void 0;try{for(var i,a=e[Symbol.iterator]();!(t=(i=a.next()).done);t=!0){var o=i.value;A.push(o)}}catch(A){n=!0,r=A}finally{try{t||null==a.return||a.return()}finally{if(n)throw r}}}function nA(A,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=(90-A)*Math.PI/180,r=(90-e)*Math.PI/180;return[t*Math.sin(n)*Math.cos(r),t*Math.cos(n),t*Math.sin(n)*Math.sin(r)]}function rA(){return new iA}function iA(){this.reset()}AA.prototype=Object.create($.BufferGeometry.prototype),AA.prototype.constructor=AA,iA.prototype={constructor:iA,reset:function(){this.s=this.t=0},add:function(A){oA(aA,A,this.t),oA(this,aA.s,this.s),this.s?this.t+=aA.t:this.s=aA.t},valueOf:function(){return this.s}};var aA=new iA;function oA(A,e,t){var n=A.s=e+t,r=n-e,i=n-r;A.t=e-i+(t-r)}var lA=1e-6,uA=Math.PI,fA=uA/2,sA=180/uA,cA=uA/180,hA=Math.abs,qA=Math.atan2,mA=Math.cos,dA=Math.ceil,gA=Math.sin,pA=Math.sqrt;function bA(A){return(A=gA(A/2))*A}function xA(){}function _A(A,e){A&&vA.hasOwnProperty(A.type)&&vA[A.type](A,e)}var wA={Feature:function(A,e){_A(A.geometry,e)},FeatureCollection:function(A,e){for(var t=A.features,n=-1,r=t.length;++n<r;)_A(t[n].geometry,e)}},vA={Sphere:function(A,e){e.sphere()},Point:function(A,e){A=A.coordinates,e.point(A[0],A[1],A[2])},MultiPoint:function(A,e){for(var t=A.coordinates,n=-1,r=t.length;++n<r;)A=t[n],e.point(A[0],A[1],A[2])},LineString:function(A,e){yA(A.coordinates,e,0)},MultiLineString:function(A,e){for(var t=A.coordinates,n=-1,r=t.length;++n<r;)yA(t[n],e,0)},Polygon:function(A,e){MA(A.coordinates,e)},MultiPolygon:function(A,e){for(var t=A.coordinates,n=-1,r=t.length;++n<r;)MA(t[n],e)},GeometryCollection:function(A,e){for(var t=A.geometries,n=-1,r=t.length;++n<r;)_A(t[n],e)}};function yA(A,e,t){var n,r=-1,i=A.length-t;for(e.lineStart();++r<i;)n=A[r],e.point(n[0],n[1],n[2]);e.lineEnd()}function MA(A,e){var t=-1,n=A.length;for(e.polygonStart();++t<n;)yA(A[t],e,1);e.polygonEnd()}rA(),rA(),rA(),rA();function BA(A,e){return A<e?-1:A>e?1:A>=e?0:NaN}var kA,EA;1===(kA=BA).length&&(EA=kA,kA=function(A,e){return BA(EA(A),e)});function DA(A,e,t){A=+A,e=+e,t=(r=arguments.length)<2?(e=A,A=0,1):r<3?1:+t;for(var n=-1,r=0|Math.max(0,Math.ceil((e-A)/t)),i=new Array(r);++n<r;)i[n]=A+n*t;return i}var QA,IA,CA,TA=rA(),OA={sphere:xA,point:xA,lineStart:function(){OA.point=FA,OA.lineEnd=SA},lineEnd:xA,polygonStart:xA,polygonEnd:xA};function SA(){OA.point=OA.lineEnd=xA}function FA(A,e){QA=A*=cA,IA=gA(e*=cA),CA=mA(e),OA.point=PA}function PA(A,e){A*=cA;var t=gA(e*=cA),n=mA(e),r=hA(A-QA),i=mA(r),a=n*gA(r),o=CA*t-IA*n*i,l=IA*t+CA*n*i;TA.add(qA(pA(a*a+o*o),l)),QA=A,IA=t,CA=n}function RA(A){return TA.reset(),function(A,e){A&&wA.hasOwnProperty(A.type)?wA[A.type](A,e):_A(A,e)}(A,OA),+TA}var GA=[null,null],UA={type:"LineString",coordinates:GA};function jA(A,e,t){var n=DA(A,e-lA,t).concat(e);return function(A){return n.map((function(e){return[A,e]}))}}function LA(A,e,t){var n=DA(A,e-lA,t).concat(e);return function(A){return n.map((function(e){return[e,A]}))}}function HA(){return function(){var A,e,t,n,r,i,a,o,l,u,f,s,c=10,h=c,q=90,m=360,d=2.5;function g(){return{type:"MultiLineString",coordinates:p()}}function p(){return DA(dA(n/q)*q,t,q).map(f).concat(DA(dA(o/m)*m,a,m).map(s)).concat(DA(dA(e/c)*c,A,c).filter((function(A){return hA(A%q)>lA})).map(l)).concat(DA(dA(i/h)*h,r,h).filter((function(A){return hA(A%m)>lA})).map(u))}return g.lines=function(){return p().map((function(A){return{type:"LineString",coordinates:A}}))},g.outline=function(){return{type:"Polygon",coordinates:[f(n).concat(s(a).slice(1),f(t).reverse().slice(1),s(o).reverse().slice(1))]}},g.extent=function(A){return arguments.length?g.extentMajor(A).extentMinor(A):g.extentMinor()},g.extentMajor=function(A){return arguments.length?(n=+A[0][0],t=+A[1][0],o=+A[0][1],a=+A[1][1],n>t&&(A=n,n=t,t=A),o>a&&(A=o,o=a,a=A),g.precision(d)):[[n,o],[t,a]]},g.extentMinor=function(t){return arguments.length?(e=+t[0][0],A=+t[1][0],i=+t[0][1],r=+t[1][1],e>A&&(t=e,e=A,A=t),i>r&&(t=i,i=r,r=t),g.precision(d)):[[e,i],[A,r]]},g.step=function(A){return arguments.length?g.stepMajor(A).stepMinor(A):g.stepMinor()},g.stepMajor=function(A){return arguments.length?(q=+A[0],m=+A[1],g):[q,m]},g.stepMinor=function(A){return arguments.length?(c=+A[0],h=+A[1],g):[c,h]},g.precision=function(c){return arguments.length?(d=+c,l=jA(i,r,90),u=LA(e,A,d),f=jA(o,a,90),s=LA(n,t,d),g):d},g.extentMajor([[-180,-90+lA],[180,90-lA]]).extentMinor([[-180,-80-lA],[180,80+lA]])}()()}function NA(A,e){var t,n=A[0]*cA,r=A[1]*cA,i=e[0]*cA,a=e[1]*cA,o=mA(r),l=gA(r),u=mA(a),f=gA(a),s=o*mA(n),c=o*gA(n),h=u*mA(i),q=u*gA(i),m=2*((t=pA(bA(a-r)+o*u*bA(i-n)))>1?fA:t<-1?-fA:Math.asin(t)),d=gA(m),g=m?function(A){var e=gA(A*=m)/d,t=gA(m-A)/d,n=t*s+e*h,r=t*c+e*q,i=t*l+e*f;return[qA(r,n)*sA,qA(i,pA(n*n+r*r))*sA]}:function(){return[n*sA,r*sA]};return g.distance=m,g}rA(),rA(),rA();var zA=window.THREE?window.THREE:{AdditiveBlending:A.AdditiveBlending,BackSide:A.BackSide,Color:A.Color,LineBasicMaterial:A.LineBasicMaterial,LineSegments:A.LineSegments,Mesh:A.Mesh,MeshPhongMaterial:A.MeshPhongMaterial,ShaderMaterial:A.ShaderMaterial,SphereGeometry:A.SphereGeometry,TextureLoader:A.TextureLoader},YA=m({props:{globeImageUrl:{onChange:function(A,e){e.globeNeedsUpdate=!0}},bumpImageUrl:{onChange:function(A,e){e.globeNeedsUpdate=!0}},showAtmosphere:{default:!0,onChange:function(A,e){e.atmosphereObj.visible=!!A},triggerUpdate:!1},showGraticules:{default:!1,onChange:function(A,e){e.graticulesObj.visible=!!A},triggerUpdate:!1}},stateInit:function(){var A,e=new zA.SphereGeometry(w,75,75),t=new zA.Mesh(e,new zA.MeshPhongMaterial({color:0}));t.rotation.y=-Math.PI/2,t.__globeObjType="globe";var r=new zA.ShaderMaterial(n({},{uniforms:{coeficient:{value:.8},power:{value:12}},vertexShader:"\n varying vec3 vNormal;\n void main() {\n vNormal = normalize(normalMatrix * normal);\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n }\n ",fragmentShader:"\n uniform float\tcoeficient;\n uniform float\tpower;\n\n varying vec3 vNormal;\n void main() {\n float intensity = pow(coeficient - dot(vNormal, vec3(0, 0, 1.0)), power);\n gl_FragColor = vec4(1.0, 1.0, 1.0, 1.0) * intensity;\n }\n "},{side:zA.BackSide,blending:zA.AdditiveBlending,transparent:!0,depthWrite:!1}));return(A=new zA.Mesh(e,r)).scale.set(1.1,1.1,1.1),A.__globeObjType="atmosphere",{globeObj:t,atmosphereObj:A,graticulesObj:new zA.LineSegments(new AA(HA(),w,2),new zA.LineBasicMaterial({color:"lightgrey",transparent:!0,opacity:.1}))}},init:function(A,e){x(A),e.scene=A,e.scene.add(e.globeObj),e.scene.add(e.atmosphereObj),e.scene.add(e.graticulesObj)},update:function(A){var e=A.globeObj.material;e.color=new zA.Color(0),A.globeImageUrl&&(new zA.TextureLoader).load(A.globeImageUrl,(function(A){e.map=A,e.color=null,e.needsUpdate=!0})),A.bumpImageUrl&&(new zA.TextureLoader).load(A.bumpImageUrl,(function(A){e.bumpMap=A,e.needsUpdate=!0}))}});"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self;function WA(A){return A&&A.__esModule&&Object.prototype.hasOwnProperty.call(A,"default")?A.default:A}function VA(A,e){return A(e={exports:{}},e.exports),e.exports}var ZA=VA((function(A,e){A.exports=function(A){function e(n){if(t[n])return t[n].exports;var r=t[n]={i:n,l:!1,exports:{}};return A[n].call(r.exports,r,r.exports,e),r.l=!0,r.exports}var t={};return e.m=A,e.c=t,e.d=function(A,t,n){e.o(A,t)||Object.defineProperty(A,t,{configurable:!1,enumerable:!0,get:n})},e.n=function(A){var t=A&&A.__esModule?function(){return A.default}:function(){return A};return e.d(t,"a",t),t},e.o=function(A,e){return Object.prototype.hasOwnProperty.call(A,e)},e.p="",e(e.s=0)}([function(A,e,t){var n,r,i;r=[A,e],void 0!==(i="function"==typeof(n=function(A,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(A){return A instanceof Function?A:"string"==typeof A?function(e){return e[A]}:function(e){return A}},A.exports=e.default})?n.apply(e,r):n)&&(A.exports=i)}])})),JA=WA(ZA),KA=(ZA.accessorFn,VA((function(A){!function(e){var t=/^\s+/,n=/\s+$/,r=0,i=e.round,a=e.min,o=e.max,l=e.random;function u(A,l){if(l=l||{},(A=A||"")instanceof u)return A;if(!(this instanceof u))return new u(A,l);var f=function(A){var r={r:0,g:0,b:0},i=1,l=null,u=null,f=null,s=!1,c=!1;"string"==typeof A&&(A=function(A){A=A.replace(t,"").replace(n,"").toLowerCase();var e,r=!1;if(k[A])A=k[A],r=!0;else if("transparent"==A)return{r:0,g:0,b:0,a:0,format:"name"};if(e=U.rgb.exec(A))return{r:e[1],g:e[2],b:e[3]};if(e=U.rgba.exec(A))return{r:e[1],g:e[2],b:e[3],a:e[4]};if(e=U.hsl.exec(A))return{h:e[1],s:e[2],l:e[3]};if(e=U.hsla.exec(A))return{h:e[1],s:e[2],l:e[3],a:e[4]};if(e=U.hsv.exec(A))return{h:e[1],s:e[2],v:e[3]};if(e=U.hsva.exec(A))return{h:e[1],s:e[2],v:e[3],a:e[4]};if(e=U.hex8.exec(A))return{r:C(e[1]),g:C(e[2]),b:C(e[3]),a:F(e[4]),format:r?"name":"hex8"};if(e=U.hex6.exec(A))return{r:C(e[1]),g:C(e[2]),b:C(e[3]),format:r?"name":"hex"};if(e=U.hex4.exec(A))return{r:C(e[1]+""+e[1]),g:C(e[2]+""+e[2]),b:C(e[3]+""+e[3]),a:F(e[4]+""+e[4]),format:r?"name":"hex8"};if(e=U.hex3.exec(A))return{r:C(e[1]+""+e[1]),g:C(e[2]+""+e[2]),b:C(e[3]+""+e[3]),format:r?"name":"hex"};return!1}(A));"object"==typeof A&&(j(A.r)&&j(A.g)&&j(A.b)?(h=A.r,q=A.g,m=A.b,r={r:255*Q(h,255),g:255*Q(q,255),b:255*Q(m,255)},s=!0,c="%"===String(A.r).substr(-1)?"prgb":"rgb"):j(A.h)&&j(A.s)&&j(A.v)?(l=O(A.s),u=O(A.v),r=function(A,t,n){A=6*Q(A,360),t=Q(t,100),n=Q(n,100);var r=e.floor(A),i=A-r,a=n*(1-t),o=n*(1-i*t),l=n*(1-(1-i)*t),u=r%6;return{r:255*[n,o,a,a,l,n][u],g:255*[l,n,n,o,a,a][u],b:255*[a,a,l,n,n,o][u]}}(A.h,l,u),s=!0,c="hsv"):j(A.h)&&j(A.s)&&j(A.l)&&(l=O(A.s),f=O(A.l),r=function(A,e,t){var n,r,i;function a(A,e,t){return t<0&&(t+=1),t>1&&(t-=1),t<1/6?A+6*(e-A)*t:t<.5?e:t<2/3?A+(e-A)*(2/3-t)*6:A}if(A=Q(A,360),e=Q(e,100),t=Q(t,100),0===e)n=r=i=t;else{var o=t<.5?t*(1+e):t+e-t*e,l=2*t-o;n=a(l,o,A+1/3),r=a(l,o,A),i=a(l,o,A-1/3)}return{r:255*n,g:255*r,b:255*i}}(A.h,l,f),s=!0,c="hsl"),A.hasOwnProperty("a")&&(i=A.a));var h,q,m;return i=D(i),{ok:s,format:A.format||c,r:a(255,o(r.r,0)),g:a(255,o(r.g,0)),b:a(255,o(r.b,0)),a:i}}(A);this._originalInput=A,this._r=f.r,this._g=f.g,this._b=f.b,this._a=f.a,this._roundA=i(100*this._a)/100,this._format=l.format||f.format,this._gradientType=l.gradientType,this._r<1&&(this._r=i(this._r)),this._g<1&&(this._g=i(this._g)),this._b<1&&(this._b=i(this._b)),this._ok=f.ok,this._tc_id=r++}function f(A,e,t){A=Q(A,255),e=Q(e,255),t=Q(t,255);var n,r,i=o(A,e,t),l=a(A,e,t),u=(i+l)/2;if(i==l)n=r=0;else{var f=i-l;switch(r=u>.5?f/(2-i-l):f/(i+l),i){case A:n=(e-t)/f+(e<t?6:0);break;case e:n=(t-A)/f+2;break;case t:n=(A-e)/f+4}n/=6}return{h:n,s:r,l:u}}function s(A,e,t){A=Q(A,255),e=Q(e,255),t=Q(t,255);var n,r,i=o(A,e,t),l=a(A,e,t),u=i,f=i-l;if(r=0===i?0:f/i,i==l)n=0;else{switch(i){case A:n=(e-t)/f+(e<t?6:0);break;case e:n=(t-A)/f+2;break;case t:n=(A-e)/f+4}n/=6}return{h:n,s:r,v:u}}function c(A,e,t,n){var r=[T(i(A).toString(16)),T(i(e).toString(16)),T(i(t).toString(16))];return n&&r[0].charAt(0)==r[0].charAt(1)&&r[1].charAt(0)==r[1].charAt(1)&&r[2].charAt(0)==r[2].charAt(1)?r[0].charAt(0)+r[1].charAt(0)+r[2].charAt(0):r.join("")}function h(A,e,t,n){return[T(S(n)),T(i(A).toString(16)),T(i(e).toString(16)),T(i(t).toString(16))].join("")}function q(A,e){e=0===e?0:e||10;var t=u(A).toHsl();return t.s-=e/100,t.s=I(t.s),u(t)}function m(A,e){e=0===e?0:e||10;var t=u(A).toHsl();return t.s+=e/100,t.s=I(t.s),u(t)}function d(A){return u(A).desaturate(100)}function g(A,e){e=0===e?0:e||10;var t=u(A).toHsl();return t.l+=e/100,t.l=I(t.l),u(t)}function p(A,e){e=0===e?0:e||10;var t=u(A).toRgb();return t.r=o(0,a(255,t.r-i(-e/100*255))),t.g=o(0,a(255,t.g-i(-e/100*255))),t.b=o(0,a(255,t.b-i(-e/100*255))),u(t)}function b(A,e){e=0===e?0:e||10;var t=u(A).toHsl();return t.l-=e/100,t.l=I(t.l),u(t)}function x(A,e){var t=u(A).toHsl(),n=(t.h+e)%360;return t.h=n<0?360+n:n,u(t)}function _(A){var e=u(A).toHsl();return e.h=(e.h+180)%360,u(e)}function w(A){var e=u(A).toHsl(),t=e.h;return[u(A),u({h:(t+120)%360,s:e.s,l:e.l}),u({h:(t+240)%360,s:e.s,l:e.l})]}function v(A){var e=u(A).toHsl(),t=e.h;return[u(A),u({h:(t+90)%360,s:e.s,l:e.l}),u({h:(t+180)%360,s:e.s,l:e.l}),u({h:(t+270)%360,s:e.s,l:e.l})]}function y(A){var e=u(A).toHsl(),t=e.h;return[u(A),u({h:(t+72)%360,s:e.s,l:e.l}),u({h:(t+216)%360,s:e.s,l:e.l})]}function M(A,e,t){e=e||6,t=t||30;var n=u(A).toHsl(),r=360/t,i=[u(A)];for(n.h=(n.h-(r*e>>1)+720)%360;--e;)n.h=(n.h+r)%360,i.push(u(n));return i}function B(A,e){e=e||6;for(var t=u(A).toHsv(),n=t.h,r=t.s,i=t.v,a=[],o=1/e;e--;)a.push(u({h:n,s:r,v:i})),i=(i+o)%1;return a}u.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var A=this.toRgb();return(299*A.r+587*A.g+114*A.b)/1e3},getLuminance:function(){var A,t,n,r=this.toRgb();return A=r.r/255,t=r.g/255,n=r.b/255,.2126*(A<=.03928?A/12.92:e.pow((A+.055)/1.055,2.4))+.7152*(t<=.03928?t/12.92:e.pow((t+.055)/1.055,2.4))+.0722*(n<=.03928?n/12.92:e.pow((n+.055)/1.055,2.4))},setAlpha:function(A){return this._a=D(A),this._roundA=i(100*this._a)/100,this},toHsv:function(){var A=s(this._r,this._g,this._b);return{h:360*A.h,s:A.s,v:A.v,a:this._a}},toHsvString:function(){var A=s(this._r,this._g,this._b),e=i(360*A.h),t=i(100*A.s),n=i(100*A.v);return 1==this._a?"hsv("+e+", "+t+"%, "+n+"%)":"hsva("+e+", "+t+"%, "+n+"%, "+this._roundA+")"},toHsl:function(){var A=f(this._r,this._g,this._b);return{h:360*A.h,s:A.s,l:A.l,a:this._a}},toHslString:function(){var A=f(this._r,this._g,this._b),e=i(360*A.h),t=i(100*A.s),n=i(100*A.l);return 1==this._a?"hsl("+e+", "+t+"%, "+n+"%)":"hsla("+e+", "+t+"%, "+n+"%, "+this._roundA+")"},toHex:function(A){return c(this._r,this._g,this._b,A)},toHexString:function(A){return"#"+this.toHex(A)},toHex8:function(A){return function(A,e,t,n,r){var a=[T(i(A).toString(16)),T(i(e).toString(16)),T(i(t).toString(16)),T(S(n))];if(r&&a[0].charAt(0)==a[0].charAt(1)&&a[1].charAt(0)==a[1].charAt(1)&&a[2].charAt(0)==a[2].charAt(1)&&a[3].charAt(0)==a[3].charAt(1))return a[0].charAt(0)+a[1].charAt(0)+a[2].charAt(0)+a[3].charAt(0);return a.join("")}(this._r,this._g,this._b,this._a,A)},toHex8String:function(A){return"#"+this.toHex8(A)},toRgb:function(){return{r:i(this._r),g:i(this._g),b:i(this._b),a:this._a}},toRgbString:function(){return 1==this._a?"rgb("+i(this._r)+", "+i(this._g)+", "+i(this._b)+")":"rgba("+i(this._r)+", "+i(this._g)+", "+i(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:i(100*Q(this._r,255))+"%",g:i(100*Q(this._g,255))+"%",b:i(100*Q(this._b,255))+"%",a:this._a}},toPercentageRgbString:function(){return 1==this._a?"rgb("+i(100*Q(this._r,255))+"%, "+i(100*Q(this._g,255))+"%, "+i(100*Q(this._b,255))+"%)":"rgba("+i(100*Q(this._r,255))+"%, "+i(100*Q(this._g,255))+"%, "+i(100*Q(this._b,255))+"%, "+this._roundA+")"},toName:function(){return 0===this._a?"transparent":!(this._a<1)&&(E[c(this._r,this._g,this._b,!0)]||!1)},toFilter:function(A){var e="#"+h(this._r,this._g,this._b,this._a),t=e,n=this._gradientType?"GradientType = 1, ":"";if(A){var r=u(A);t="#"+h(r._r,r._g,r._b,r._a)}return"progid:DXImageTransform.Microsoft.gradient("+n+"startColorstr="+e+",endColorstr="+t+")"},toString:function(A){var e=!!A;A=A||this._format;var t=!1,n=this._a<1&&this._a>=0;return e||!n||"hex"!==A&&"hex6"!==A&&"hex3"!==A&&"hex4"!==A&&"hex8"!==A&&"name"!==A?("rgb"===A&&(t=this.toRgbString()),"prgb"===A&&(t=this.toPercentageRgbString()),"hex"!==A&&"hex6"!==A||(t=this.toHexString()),"hex3"===A&&(t=this.toHexString(!0)),"hex4"===A&&(t=this.toHex8String(!0)),"hex8"===A&&(t=this.toHex8String()),"name"===A&&(t=this.toName()),"hsl"===A&&(t=this.toHslString()),"hsv"===A&&(t=this.toHsvString()),t||this.toHexString()):"name"===A&&0===this._a?this.toName():this.toRgbString()},clone:function(){return u(this.toString())},_applyModification:function(A,e){var t=A.apply(null,[this].concat([].slice.call(e)));return this._r=t._r,this._g=t._g,this._b=t._b,this.setAlpha(t._a),this},lighten:function(){return this._applyModification(g,arguments)},brighten:function(){return this._applyModification(p,arguments)},darken:function(){return this._applyModification(b,arguments)},desaturate:function(){return this._applyModification(q,arguments)},saturate:function(){return this._applyModification(m,arguments)},greyscale:function(){return this._applyModification(d,arguments)},spin:function(){return this._applyModification(x,arguments)},_applyCombination:function(A,e){return A.apply(null,[this].concat([].slice.call(e)))},analogous:function(){return this._applyCombination(M,arguments)},complement:function(){return this._applyCombination(_,arguments)},monochromatic:function(){return this._applyCombination(B,arguments)},splitcomplement:function(){return this._applyCombination(y,arguments)},triad:function(){return this._applyCombination(w,arguments)},tetrad:function(){return this._applyCombination(v,arguments)}},u.fromRatio=function(A,e){if("object"==typeof A){var t={};for(var n in A)A.hasOwnProperty(n)&&(t[n]="a"===n?A[n]:O(A[n]));A=t}return u(A,e)},u.equals=function(A,e){return!(!A||!e)&&u(A).toRgbString()==u(e).toRgbString()},u.random=function(){return u.fromRatio({r:l(),g:l(),b:l()})},u.mix=function(A,e,t){t=0===t?0:t||50;var n=u(A).toRgb(),r=u(e).toRgb(),i=t/100;return u({r:(r.r-n.r)*i+n.r,g:(r.g-n.g)*i+n.g,b:(r.b-n.b)*i+n.b,a:(r.a-n.a)*i+n.a})},
// <http://www.w3.org/TR/2008/REC-WCAG20-20081211/#contrast-ratiodef (WCAG Version 2)
// Analyze the 2 colors and returns the color contrast defined by (WCAG Version 2)
u.readability=function(A,t){var n=u(A),r=u(t);return(e.max(n.getLuminance(),r.getLuminance())+.05)/(e.min(n.getLuminance(),r.getLuminance())+.05)},u.isReadable=function(A,e,t){var n,r,i=u.readability(A,e);switch(r=!1,(n=function(A){var e,t;e=((A=A||{level:"AA",size:"small"}).level||"AA").toUpperCase(),t=(A.size||"small").toLowerCase(),"AA"!==e&&"AAA"!==e&&(e="AA");"small"!==t&&"large"!==t&&(t="small");return{level:e,size:t}}(t)).level+n.size){case"AAsmall":case"AAAlarge":r=i>=4.5;break;case"AAlarge":r=i>=3;break;case"AAAsmall":r=i>=7}return r},u.mostReadable=function(A,e,t){var n,r,i,a,o=null,l=0;r=(t=t||{}).includeFallbackColors,i=t.level,a=t.size;for(var f=0;f<e.length;f++)(n=u.readability(A,e[f]))>l&&(l=n,o=u(e[f]));return u.isReadable(A,o,{level:i,size:a})||!r?o:(t.includeFallbackColors=!1,u.mostReadable(A,["#fff","#000"],t))};var k=u.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},E=u.hexNames=function(A){var e={};for(var t in A)A.hasOwnProperty(t)&&(e[A[t]]=t);return e}(k);function D(A){return A=parseFloat(A),(isNaN(A)||A<0||A>1)&&(A=1),A}function Q(A,t){(function(A){return"string"==typeof A&&-1!=A.indexOf(".")&&1===parseFloat(A)})(A)&&(A="100%");var n=function(A){return"string"==typeof A&&-1!=A.indexOf("%")}(A);return A=a(t,o(0,parseFloat(A))),n&&(A=parseInt(A*t,10)/100),e.abs(A-t)<1e-6?1:A%t/parseFloat(t)}function I(A){return a(1,o(0,A))}function C(A){return parseInt(A,16)}function T(A){return 1==A.length?"0"+A:""+A}function O(A){return A<=1&&(A=100*A+"%"),A}function S(A){return e.round(255*parseFloat(A)).toString(16)}function F(A){return C(A)/255}var P,R,G,U=(R="[\\s|\\(]+("+(P="(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)")+")[,|\\s]+("+P+")[,|\\s]+("+P+")\\s*\\)?",G="[\\s|\\(]+("+P+")[,|\\s]+("+P+")[,|\\s]+("+P+")[,|\\s]+("+P+")\\s*\\)?",{CSS_UNIT:new RegExp(P),rgb:new RegExp("rgb"+R),rgba:new RegExp("rgba"+G),hsl:new RegExp("hsl"+R),hsla:new RegExp("hsla"+G),hsv:new RegExp("hsv"+R),hsva:new RegExp("hsva"+G),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/});function j(A){return!!U.CSS_UNIT.exec(A)}A.exports?A.exports=u:window.tinycolor=u}(Math)}))),XA=function(A){return isNaN(A)?parseInt(KA(A).toHex(),16):A},$A=function(A){return isNaN(A)?KA(A).getAlpha():1},Ae=function(A){var e=KA(A).toRgb();return[].concat(f(["r","g","b"].map((function(A){return e[A]/255}))),[e.a])};function ee(A,e){if(null==A)return{};var t,n,r=function(A,e){if(null==A)return{};var t,n,r={},i=Object.keys(A);for(n=0;n<i.length;n++)t=i[n],e.indexOf(t)>=0||(r[t]=A[t]);return r}(A,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(A);for(n=0;n<i.length;n++)t=i[n],e.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(A,t)&&(r[t]=A[t])}return r}function te(A,e){return function(A){if(Array.isArray(A))return A}(A)||function(A,e){var t=[],n=!0,r=!1,i=void 0;try{for(var a,o=A[Symbol.iterator]();!(n=(a=o.next()).done)&&(t.push(a.value),!e||t.length!==e);n=!0);}catch(A){r=!0,i=A}finally{try{n||null==o.return||o.return()}finally{if(r)throw i}}return t}(A,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function ne(A){return function(A){if(Array.isArray(A)){for(var e=0,t=new Array(A.length);e<A.length;e++)t[e]=A[e];return t}}(A)||function(A){if(Symbol.iterator in Object(A)||"[object Arguments]"===Object.prototype.toString.call(A))return Array.from(A)}(A)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}function re(A){var e=function(A,e){if("object"!=typeof A||null===A)return A;var t=A[Symbol.toPrimitive];if(void 0!==t){var n=t.call(A,e||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(A)}(A,"string");return"symbol"==typeof e?e:String(e)}var ie=function(A,e){var t=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],n=arguments.length>3&&void 0!==arguments[3]&&arguments[3],r=(e instanceof Array?e:[e]).map((function(A){return{keyAccessor:A,isProp:!(A instanceof Function)}})),i=A.reduce((function(A,e){var n=A,i=e;return r.forEach((function(A,e){var a,o=A.keyAccessor;if(A.isProp){var l=i,u=l[o],f=ee(l,[o].map(re));a=u,i=f}else a=o(i,e);e+1<r.length?(n.hasOwnProperty(a)||(n[a]={}),n=n[a]):t?(n.hasOwnProperty(a)||(n[a]=[]),n[a].push(i)):n[a]=i})),A}),{});t instanceof Function&&function A(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;n===r.length?Object.keys(e).forEach((function(A){return e[A]=t(e[A])})):Object.values(e).forEach((function(e){return A(e,n+1)}))}(i);var a=i;return n&&(a=[],function A(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];t.length===r.length?a.push({keys:t,vals:e}):Object.entries(e).forEach((function(e){var n=te(e,2),r=n[0],i=n[1];return A(i,[].concat(ne(t),[r]))}))}(i)),a};function ae(A,e){return function(A){if(Array.isArray(A))return A}(A)||function(A,e){var t=[],n=!0,r=!1,i=void 0;try{for(var a,o=A[Symbol.iterator]();!(n=(a=o.next()).done)&&(t.push(a.value),!e||t.length!==e);n=!0);}catch(A){r=!0,i=A}finally{try{n||null==o.return||o.return()}finally{if(r)throw i}}return t}(A,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}