@mappedin/mappedin-js 6.0.0-alpha.0 → 6.0.0-alpha.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- var c,Xr=Object.create,St=Object.defineProperty,Wr=Object.getOwnPropertyDescriptor,Gr=Object.getOwnPropertyNames,Ur=Object.getPrototypeOf,$r=Object.prototype.hasOwnProperty,Hr=(e,t)=>()=>(e&&(t=e(e=0)),t),v=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),jr=(e,t,r,n)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let a of Gr(t))!$r.call(e,a)&&a!==r&&St(e,a,{get:()=>t[a],enumerable:!(n=Wr(t,a))||n.enumerable});return e},Yr=(e,t,r)=>(r=null!=e?Xr(Ur(e)):{},jr(!t&&e&&e.__esModule?r:St(r,"default",{value:e,enumerable:!0}),e)),o=Hr((()=>{c={env:{NODE_ENV:"production",npm_package_version:"6.0.0-alpha.0"}}})),L=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.areaConversion=e.timeConversion=e.distanceConversion=e.altitudeKeys=e.latitudeKeys=e.longitudeKeys=e.MAXLON=e.MINLON=e.MAXLAT=e.MINLAT=e.earthRadius=e.sexagesimalPattern=void 0;e.sexagesimalPattern=/^([0-9]{1,3})°\s*([0-9]{1,3}(?:\.(?:[0-9]{1,}))?)['′]\s*(([0-9]{1,3}(\.([0-9]{1,}))?)["″]\s*)?([NEOSW]?)$/;e.earthRadius=6378137;e.MINLAT=-90;e.MAXLAT=90;e.MINLON=-180;e.MAXLON=180;e.longitudeKeys=["lng","lon","longitude",0];e.latitudeKeys=["lat","latitude",1];e.altitudeKeys=["alt","altitude","elevation","elev",2];e.distanceConversion={m:1,km:.001,cm:100,mm:1e3,mi:1/1609.344,sm:1/1852.216,ft:100/30.48,in:100/2.54,yd:1/.9144};e.timeConversion={m:60,h:3600,d:86400};var t={m2:1,km2:1e-6,ha:1e-4,a:.01,ft2:10.763911,yd2:1.19599,in2:1550.0031};e.areaConversion=t,t.sqm=t.m2,t.sqkm=t.km2,t.sqft=t.ft2,t.sqyd=t.yd2,t.sqin=t.in2})),j=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=function(e,t){return t.reduce((function(t,r){if(typeof e>"u"||null===e)throw new Error("'".concat(e,"' is no valid coordinate."));return Object.prototype.hasOwnProperty.call(e,r)&&typeof r<"u"&&typeof t>"u"?(t=r,r):t}),void 0)};e.default=t})),Y=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=function(e){var t=e.toString().trim();return!isNaN(parseFloat(t))&&parseFloat(t)===Number(t)};e.default=t})),k=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=L(),r=function(e){return t.sexagesimalPattern.test(e.toString().trim())};e.default=r})),Z=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=L(),r=function(e){var r=new RegExp(t.sexagesimalPattern).exec(e);if(typeof r>"u"||null===r)throw new Error("Given value is not in sexagesimal format");var n=Number(r[2])/60||0,a=Number(r[4])/3600||0,i=parseFloat(r[1])+n+a;return["S","W"].includes(r[7])?-i:i};e.default=r})),ne=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t,r=L(),n=(t=j())&&t.__esModule?t:{default:t};function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?a(Object(r),!0).forEach((function(t){u(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):a(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function u(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var l=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{longitude:r.longitudeKeys,latitude:r.latitudeKeys,altitude:r.altitudeKeys},a=(0,n.default)(e,t.longitude),u=(0,n.default)(e,t.latitude),o=(0,n.default)(e,t.altitude);return i({latitude:u,longitude:a},o?{altitude:o}:{})};e.default=l})),ut=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=i(Y()),r=i(k()),n=i(Z()),a=L();function i(e){return e&&e.__esModule?e:{default:e}}var u=function e(i){return(0,t.default)(i)?!(parseFloat(i)>a.MAXLAT||i<a.MINLAT):!!(0,r.default)(i)&&e((0,n.default)(i))};e.default=u})),lt=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=i(Y()),r=i(k()),n=i(Z()),a=L();function i(e){return e&&e.__esModule?e:{default:e}}var u=function e(i){return(0,t.default)(i)?!(parseFloat(i)>a.MAXLON||i<a.MINLON):!!(0,r.default)(i)&&e((0,n.default)(i))};e.default=u})),dt=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=a(ne()),r=a(ut()),n=a(lt());function a(e){return e&&e.__esModule?e:{default:e}}var i=function(e){var a=(0,t.default)(e),i=a.latitude,u=a.longitude;if(Array.isArray(e)&&e.length>=2)return(0,n.default)(e[0])&&(0,r.default)(e[1]);if(typeof i>"u"||typeof u>"u")return!1;var o=e[u],l=e[i];return!(typeof l>"u"||typeof o>"u"||!1===(0,r.default)(l)||!1===(0,n.default)(o))};e.default=i})),se=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=u(Y()),r=u(k()),n=u(Z()),a=u(dt()),i=u(ne());function u(e){return e&&e.__esModule?e:{default:e}}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function d(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?l(Object(r),!0).forEach((function(t){s(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):l(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function s(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var f=function e(u){if((0,t.default)(u))return Number(u);if((0,r.default)(u))return(0,n.default)(u);if((0,a.default)(u)){var o=(0,i.default)(u);return Array.isArray(u)?u.map((function(t,r){return[0,1].includes(r)?e(t):t})):d(d(d({},u),o.latitude&&s({},o.latitude,e(u[o.latitude]))),o.longitude&&s({},o.longitude,e(u[o.longitude])))}return Array.isArray(u)?u.map((function(t){return(0,a.default)(t)?e(t):t})):u};e.default=f})),E=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=L(),r=a(j()),n=a(se());function a(e){return e&&e.__esModule?e:{default:e}}var i=function(e,a){var i=(0,r.default)(e,t.latitudeKeys);if(!(typeof i>"u"||null===i)){var u=e[i];return!0===a?u:(0,n.default)(u)}};e.default=i})),T=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=L(),r=a(j()),n=a(se());function a(e){return e&&e.__esModule?e:{default:e}}var i=function(e,a){var i=(0,r.default)(e,t.longitudeKeys);if(!(typeof i>"u"||null===i)){var u=e[i];return!0===a?u:(0,n.default)(u)}};e.default=i})),C=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=function(e){return e*Math.PI/180};e.default=t})),G=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=function(e){return 180*e/Math.PI};e.default=t})),Ut=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=u(E()),r=u(T()),n=u(C()),a=u(G()),i=L();function u(e){return e&&e.__esModule?e:{default:e}}var l=function(e,u,o){var l=arguments.length>3&&void 0!==arguments[3]?arguments[3]:6371e3,d=(0,t.default)(e),s=(0,r.default)(e),f=u/l,c=(0,n.default)(o),h=(0,n.default)(d),g=(0,n.default)(s),v=Math.asin(Math.sin(h)*Math.cos(f)+Math.cos(h)*Math.sin(f)*Math.cos(c)),p=g+Math.atan2(Math.sin(c)*Math.sin(f)*Math.cos(h),Math.cos(f)-Math.sin(h)*Math.sin(v)),y=(0,a.default)(p);return(y<i.MINLON||y>i.MAXLON)&&(p=(p+3*Math.PI)%(2*Math.PI)-Math.PI,y=(0,a.default)(p)),{latitude:(0,a.default)(v),longitude:y}};e.default=l})),$t=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=L(),r=function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"m",n=t.areaConversion[r];if(n)return e*n;throw new Error("Invalid unit used for area conversion.")};e.default=r})),Ht=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=L(),r=function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"m",n=t.distanceConversion[r];if(n)return e*n;throw new Error("Invalid unit used for distance conversion.")};e.default=r})),jt=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=L(),r=function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"kmh";switch(r){case"kmh":return e*t.timeConversion.h*t.distanceConversion.km;case"mph":return e*t.timeConversion.h*t.distanceConversion.mi;default:return e}};e.default=r})),Zt=v((e=>{"use strict";function t(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if(!(typeof Symbol>"u")&&Symbol.iterator in Object(e)){var r=[],n=!0,a=!1,i=void 0;try{for(var u,o=e[Symbol.iterator]();!(n=(u=o.next()).done)&&(r.push(u.value),!t||r.length!==t);n=!0);}catch(e){a=!0,i=e}finally{try{!n&&null!=o.return&&o.return()}finally{if(a)throw i}}return r}}(e,t)||function(e,t){if(e){if("string"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return r(e,t)}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var n=function(e){var t=Math.pow(10,12);return Math.round(e*t)/t},a=function(e){var r=t(e.toString().split("."),2),a=r[0],i=r[1],u=Math.abs(Number(a)),o=n(60*Number("0."+(i||0))),l=Math.floor(o),d=n(60*(o%l||0));return u+"° "+Number(l.toFixed(6)).toString().split(".").map((function(e,t){return 0===t?e.padStart(2,"0"):e})).join(".")+"' "+Number(d.toFixed(4)).toString().split(".").map((function(e,t){return 0===t?e.padStart(2,"0"):e})).join(".")+'"'};e.default=a})),pt=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=function(e){return e>1?1:e<-1?-1:e};e.default=t})),F=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=u(E()),r=u(T()),n=u(C()),a=u(pt()),i=L();function u(e){return e&&e.__esModule?e:{default:e}}var l=function(e,u){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;o=typeof o<"u"&&!isNaN(o)?o:1;var l=(0,t.default)(e),d=(0,r.default)(e),s=(0,t.default)(u),f=(0,r.default)(u),c=Math.acos((0,a.default)(Math.sin((0,n.default)(s))*Math.sin((0,n.default)(l))+Math.cos((0,n.default)(s))*Math.cos((0,n.default)(l))*Math.cos((0,n.default)(d)-(0,n.default)(f))))*i.earthRadius;return Math.round(c/o)*o};e.default=l})),mt=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t,r=(t=F())&&t.__esModule?t:{default:t};var n=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:r.default;return n="function"==typeof n?n:r.default,t.slice().sort((function(t,r){return n(e,t)-n(e,r)}))};e.default=n})),er=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t,r=(t=mt())&&t.__esModule?t:{default:t};var n=function(e,t){return(0,r.default)(e,t)[0]};e.default=n})),ar=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=i(C()),r=i(E()),n=i(T()),a=L();function i(e){return e&&e.__esModule?e:{default:e}}var u=function(e){var i=0;if(e.length>2){for(var u,o,l,d=0;d<e.length;d++){d===e.length-2?(u=e.length-2,o=e.length-1,l=0):d===e.length-1?(u=e.length-1,o=0,l=1):(u=d,o=d+1,l=d+2);var s=(0,n.default)(e[u]),f=(0,r.default)(e[o]),c=(0,n.default)(e[l]);i+=((0,t.default)(c)-(0,t.default)(s))*Math.sin((0,t.default)(f))}i=i*a.earthRadius*a.earthRadius/2}return Math.abs(i)};e.default=u})),yt=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=n(E()),r=n(T());function n(e){return e&&e.__esModule?e:{default:e}}var a=function(e){if(!1===Array.isArray(e)||0===e.length)throw new Error("No points were given.");return e.reduce((function(e,n){var a=(0,t.default)(n),i=(0,r.default)(n);return{maxLat:Math.max(a,e.maxLat),minLat:Math.min(a,e.minLat),maxLng:Math.max(i,e.maxLng),minLng:Math.min(i,e.minLng)}}),{maxLat:-1/0,minLat:1/0,maxLng:-1/0,minLng:1/0})};e.default=a})),ir=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=u(E()),r=u(T()),n=u(C()),a=u(G()),i=L();function u(e){return e&&e.__esModule?e:{default:e}}var l=function(e,u){var o,l,d=(0,t.default)(e),s=(0,r.default)(e),f=(0,n.default)(d),c=(0,n.default)(s),h=u/i.earthRadius,g=f-h,v=f+h,p=(0,n.default)(i.MAXLAT),y=(0,n.default)(i.MINLAT),b=(0,n.default)(i.MAXLON),m=(0,n.default)(i.MINLON);if(g>y&&v<p){var M=Math.asin(Math.sin(h)/Math.cos(f));(o=c-M)<m&&(o+=2*Math.PI),(l=c+M)>b&&(l-=2*Math.PI)}else g=Math.max(g,y),v=Math.min(v,p),o=m,l=b;return[{latitude:(0,a.default)(g),longitude:(0,a.default)(o)},{latitude:(0,a.default)(v),longitude:(0,a.default)(l)}]};e.default=l})),lr=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=i(E()),r=i(T()),n=i(C()),a=i(G());function i(e){return e&&e.__esModule?e:{default:e}}var u=function(e){if(!1===Array.isArray(e)||0===e.length)return!1;var i=e.length,u=e.reduce((function(e,a){var i=(0,n.default)((0,t.default)(a)),u=(0,n.default)((0,r.default)(a));return{X:e.X+Math.cos(i)*Math.cos(u),Y:e.Y+Math.cos(i)*Math.sin(u),Z:e.Z+Math.sin(i)}}),{X:0,Y:0,Z:0}),o=u.X/i,l=u.Y/i,d=u.Z/i;return{longitude:(0,a.default)(Math.atan2(l,o)),latitude:(0,a.default)(Math.atan2(d,Math.sqrt(o*o+l*l)))}};e.default=u})),sr=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t,r=(t=yt())&&t.__esModule?t:{default:t};var n=function(e){var t=(0,r.default)(e),n=t.minLat+(t.maxLat-t.minLat)/2,a=t.minLng+(t.maxLng-t.minLng)/2;return{latitude:parseFloat(n.toFixed(6)),longitude:parseFloat(a.toFixed(6))}};e.default=n})),Mt=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=i(E()),r=i(T()),n=i(C()),a=i(G());function i(e){return e&&e.__esModule?e:{default:e}}var u=function(e,i){var u=(0,n.default)((0,r.default)(i))-(0,n.default)((0,r.default)(e)),o=Math.log(Math.tan((0,n.default)((0,t.default)(i))/2+Math.PI/4)/Math.tan((0,n.default)((0,t.default)(e))/2+Math.PI/4));return Math.abs(u)>Math.PI&&(u=u>0?-1*(2*Math.PI-u):2*Math.PI+u),((0,a.default)(Math.atan2(u,o))+360)%360};e.default=u})),gr=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t,r=(t=Mt())&&t.__esModule?t:{default:t};var n=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:r.default,a="function"==typeof n?n(e,t):(0,r.default)(e,t);if(isNaN(a))throw new Error("Could not calculate bearing for given points. Check your bearing function");switch(Math.round(a/22.5)){case 1:return"NNE";case 2:return"NE";case 3:return"ENE";case 4:return"E";case 5:return"ESE";case 6:return"SE";case 7:return"SSE";case 8:return"S";case 9:return"SSW";case 10:return"SW";case 11:return"WSW";case 12:return"W";case 13:return"WNW";case 14:return"NW";case 15:return"NNW";default:return"N"}};e.default=n})),bt=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=n(F()),r=n(pt());function n(e){return e&&e.__esModule?e:{default:e}}var a=function(e,n,a){var i=(0,t.default)(n,e),u=(0,t.default)(e,a),o=(0,t.default)(n,a),l=Math.acos((0,r.default)((i*i+o*o-u*u)/(2*i*o))),d=Math.acos((0,r.default)((u*u+o*o-i*i)/(2*u*o)));return l>Math.PI/2?i:d>Math.PI/2?u:Math.sin(l)*i};e.default=a})),_r=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=i(E()),r=i(T()),n=i(C()),a=i(G());function i(e){return e&&e.__esModule?e:{default:e}}var u=function(e,i){var u=(0,t.default)(i),o=(0,r.default)(i),l=(0,t.default)(e),d=(0,r.default)(e);return((0,a.default)(Math.atan2(Math.sin((0,n.default)(o)-(0,n.default)(d))*Math.cos((0,n.default)(u)),Math.cos((0,n.default)(l))*Math.sin((0,n.default)(u))-Math.sin((0,n.default)(l))*Math.cos((0,n.default)(u))*Math.cos((0,n.default)(o)-(0,n.default)(d))))+360)%360};e.default=u})),yr=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t,r=(t=F())&&t.__esModule?t:{default:t};function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var a=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:r.default;return e.reduce((function(e,r){return"object"===n(e)&&null!==e.last&&(e.distance+=t(r,e.last)),e.last=r,e}),{last:null,distance:0}).distance};e.default=a})),Ir=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=i(E()),r=i(T()),n=i(C()),a=L();function i(e){return e&&e.__esModule?e:{default:e}}var u=function(e,i){var u=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;u=typeof u<"u"&&!isNaN(u)?u:1;var o,l,d,s,f,c,h,g=(0,t.default)(e),v=(0,r.default)(e),p=(0,t.default)(i),y=(0,r.default)(i),b=6356752.314245,m=1/298.257223563,M=(0,n.default)(y-v),O=Math.atan((1-m)*Math.tan((0,n.default)(parseFloat(g)))),P=Math.atan((1-m)*Math.tan((0,n.default)(parseFloat(p)))),_=Math.sin(O),j=Math.cos(O),E=Math.sin(P),L=Math.cos(P),N=M,I=100;do{var w=Math.sin(N),S=Math.cos(N);if(0===(c=Math.sqrt(L*w*(L*w)+(j*E-_*L*S)*(j*E-_*L*S))))return 0;o=_*E+j*L*S,l=Math.atan2(c,o),f=o-2*_*E/(s=1-(d=j*L*w/c)*d),isNaN(f)&&(f=0);var x=m/16*s*(4+m*(4-3*s));h=N,N=M+(1-x)*m*d*(l+x*c*(f+x*o*(2*f*f-1)))}while(Math.abs(N-h)>1e-12&&--I>0);if(0===I)return NaN;var A=s*(a.earthRadius*a.earthRadius-b*b)/(b*b),T=1+A/16384*(4096+A*(A*(320-175*A)-768)),D=A/1024*(256+A*(A*(74-47*A)-128)),C=D*c*(f+D/4*(o*(2*f*f-1)-D/6*f*(4*c*c-3)*(4*f*f-3))),B=b*T*(l-C);return Math.round(B/u)*u};e.default=u})),Or=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=function(e){return/^NNE|NE|NNW|N$/.test(e)?"N":/^ENE|E|ESE|SE$/.test(e)?"E":/^SSE|S|SSW|SW$/.test(e)?"S":/^WSW|W|WNW|NW$/.test(e)?"W":void 0};e.default=t})),Dr=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t,r=(t=F())&&t.__esModule?t:{default:t};var n=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:r.default,a=n(e,t),i=Number(t.time)-Number(e.time),u=a/i*1e3;return u};e.default=n})),Lr=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t,r=(t=F())&&t.__esModule?t:{default:t};var n=function(e,t,n){return(0,r.default)(t,e)+(0,r.default)(e,n)===(0,r.default)(t,n)};e.default=n})),qr=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=n(E()),r=n(T());function n(e){return e&&e.__esModule?e:{default:e}}var a=function(e,n){for(var a=!1,i=n.length,u=-1,o=i-1;++u<i;o=u)((0,r.default)(n[u])<=(0,r.default)(e)&&(0,r.default)(e)<(0,r.default)(n[o])||(0,r.default)(n[o])<=(0,r.default)(e)&&(0,r.default)(e)<(0,r.default)(n[u]))&&(0,t.default)(e)<((0,t.default)(n[o])-(0,t.default)(n[u]))*((0,r.default)(e)-(0,r.default)(n[u]))/((0,r.default)(n[o])-(0,r.default)(n[u]))+(0,t.default)(n[u])&&(a=!a);return a};e.default=a})),Ar=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t,r=(t=bt())&&t.__esModule?t:{default:t};var n=function(e,t,n,a){return(0,r.default)(e,t,n)<a};e.default=n})),Er=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t,r=(t=F())&&t.__esModule?t:{default:t};var n=function(e,t,n){return(0,r.default)(e,t)<n};e.default=n})),Rr=v((e=>{"use strict";function t(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if(!(typeof Symbol>"u")&&Symbol.iterator in Object(e)){var r=[],n=!0,a=!1,i=void 0;try{for(var u,o=e[Symbol.iterator]();!(n=(u=o.next()).done)&&(r.push(u.value),!t||r.length!==t);n=!0);}catch(e){a=!0,i=e}finally{try{!n&&null!=o.return&&o.return()}finally{if(a)throw i}}return r}}(e,t)||function(e,t){if(e){if("string"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return r(e,t)}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var n=function(e){if(!e.startsWith("POLYGON"))throw new Error("Invalid wkt.");return e.slice(e.indexOf("(")+2,e.indexOf(")")).split(", ").map((function(e){var r=t(e.split(" "),2),n=r[0],a=r[1];return{longitude:parseFloat(n),latitude:parseFloat(a)}}))};e.default=n})),xr=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0});var t={computeDestinationPoint:!0,convertArea:!0,convertDistance:!0,convertSpeed:!0,decimalToSexagesimal:!0,findNearest:!0,getAreaOfPolygon:!0,getBounds:!0,getBoundsOfDistance:!0,getCenter:!0,getCenterOfBounds:!0,getCompassDirection:!0,getCoordinateKey:!0,getCoordinateKeys:!0,getDistance:!0,getDistanceFromLine:!0,getGreatCircleBearing:!0,getLatitude:!0,getLongitude:!0,getPathLength:!0,getPreciseDistance:!0,getRhumbLineBearing:!0,getRoughCompassDirection:!0,getSpeed:!0,isDecimal:!0,isPointInLine:!0,isPointInPolygon:!0,isPointNearLine:!0,isPointWithinRadius:!0,isSexagesimal:!0,isValidCoordinate:!0,isValidLatitude:!0,isValidLongitude:!0,orderByDistance:!0,sexagesimalToDecimal:!0,toDecimal:!0,toRad:!0,toDeg:!0,wktToPolygon:!0};Object.defineProperty(e,"computeDestinationPoint",{enumerable:!0,get:function(){return r.default}}),Object.defineProperty(e,"convertArea",{enumerable:!0,get:function(){return n.default}}),Object.defineProperty(e,"convertDistance",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(e,"convertSpeed",{enumerable:!0,get:function(){return i.default}}),Object.defineProperty(e,"decimalToSexagesimal",{enumerable:!0,get:function(){return u.default}}),Object.defineProperty(e,"findNearest",{enumerable:!0,get:function(){return l.default}}),Object.defineProperty(e,"getAreaOfPolygon",{enumerable:!0,get:function(){return d.default}}),Object.defineProperty(e,"getBounds",{enumerable:!0,get:function(){return s.default}}),Object.defineProperty(e,"getBoundsOfDistance",{enumerable:!0,get:function(){return f.default}}),Object.defineProperty(e,"getCenter",{enumerable:!0,get:function(){return c.default}}),Object.defineProperty(e,"getCenterOfBounds",{enumerable:!0,get:function(){return h.default}}),Object.defineProperty(e,"getCompassDirection",{enumerable:!0,get:function(){return g.default}}),Object.defineProperty(e,"getCoordinateKey",{enumerable:!0,get:function(){return v.default}}),Object.defineProperty(e,"getCoordinateKeys",{enumerable:!0,get:function(){return p.default}}),Object.defineProperty(e,"getDistance",{enumerable:!0,get:function(){return y.default}}),Object.defineProperty(e,"getDistanceFromLine",{enumerable:!0,get:function(){return b.default}}),Object.defineProperty(e,"getGreatCircleBearing",{enumerable:!0,get:function(){return m.default}}),Object.defineProperty(e,"getLatitude",{enumerable:!0,get:function(){return M.default}}),Object.defineProperty(e,"getLongitude",{enumerable:!0,get:function(){return O.default}}),Object.defineProperty(e,"getPathLength",{enumerable:!0,get:function(){return P.default}}),Object.defineProperty(e,"getPreciseDistance",{enumerable:!0,get:function(){return _.default}}),Object.defineProperty(e,"getRhumbLineBearing",{enumerable:!0,get:function(){return N.default}}),Object.defineProperty(e,"getRoughCompassDirection",{enumerable:!0,get:function(){return I.default}}),Object.defineProperty(e,"getSpeed",{enumerable:!0,get:function(){return w.default}}),Object.defineProperty(e,"isDecimal",{enumerable:!0,get:function(){return S.default}}),Object.defineProperty(e,"isPointInLine",{enumerable:!0,get:function(){return x.default}}),Object.defineProperty(e,"isPointInPolygon",{enumerable:!0,get:function(){return A.default}}),Object.defineProperty(e,"isPointNearLine",{enumerable:!0,get:function(){return D.default}}),Object.defineProperty(e,"isPointWithinRadius",{enumerable:!0,get:function(){return B.default}}),Object.defineProperty(e,"isSexagesimal",{enumerable:!0,get:function(){return R.default}}),Object.defineProperty(e,"isValidCoordinate",{enumerable:!0,get:function(){return V.default}}),Object.defineProperty(e,"isValidLatitude",{enumerable:!0,get:function(){return X.default}}),Object.defineProperty(e,"isValidLongitude",{enumerable:!0,get:function(){return W.default}}),Object.defineProperty(e,"orderByDistance",{enumerable:!0,get:function(){return $.default}}),Object.defineProperty(e,"sexagesimalToDecimal",{enumerable:!0,get:function(){return q.default}}),Object.defineProperty(e,"toDecimal",{enumerable:!0,get:function(){return K.default}}),Object.defineProperty(e,"toRad",{enumerable:!0,get:function(){return H.default}}),Object.defineProperty(e,"toDeg",{enumerable:!0,get:function(){return U.default}}),Object.defineProperty(e,"wktToPolygon",{enumerable:!0,get:function(){return Q.default}});var r=J(Ut()),n=J($t()),a=J(Ht()),i=J(jt()),u=J(Zt()),l=J(er()),d=J(ar()),s=J(yt()),f=J(ir()),c=J(lr()),h=J(sr()),g=J(gr()),v=J(j()),p=J(ne()),y=J(F()),b=J(bt()),m=J(_r()),M=J(E()),O=J(T()),P=J(yr()),_=J(Ir()),N=J(Mt()),I=J(Or()),w=J(Dr()),S=J(Y()),x=J(Lr()),A=J(qr()),D=J(Ar()),B=J(Er()),R=J(k()),V=J(dt()),X=J(ut()),W=J(lt()),$=J(mt()),q=J(Z()),K=J(se()),H=J(C()),U=J(G()),Q=J(Rr()),z=L();function J(e){return e&&e.__esModule?e:{default:e}}Object.keys(z).forEach((function(r){"default"===r||"__esModule"===r||Object.prototype.hasOwnProperty.call(t,r)||Object.defineProperty(e,r,{enumerable:!0,get:function(){return z[r]}})}))}));o(),o();var Cr=Yr(xr());o();var Lt=class{origin;destination;vortex;distance;angle;weight;constructor({origin:e,destination:t,vortex:r,elevationDelta:n=0,distance:a=0,angle:i=0}){let u,o;if(this.origin=e,this.destination=t,this.vortex=r,this.distance=a,this.angle=i,r?(this.distance=0,this.angle=0,u=void 0!==r.weight&&r.weight>0?r.weight:"elevator"===r.type?2e3:1e3,o=r.multiplier&&r.multiplier>=1?r.multiplier:1,this.weight=n*o+u):(u=t.weight&&t.weight>=0?t.weight:0,o=t.multiplier&&t.multiplier>=1?t.multiplier:1,this.weight=this.distance*o+u),isNaN(this.angle))throw new Error("nan angle")}},ze=Lt;o();var qu="mi-debug",Au={loggingEnabled:()=>"development"===c.env.NODE_ENV||"dev"===c.env.NODE_ENV||"test"===c.env.NODE_ENV||"true"===globalThis.sessionStorage?.getItem(qu),log(...e){this.loggingEnabled()&&console.log("[MappedInJS]",...e)},warn(...e){this.loggingEnabled()&&console.warn("[MappedInJS]",...e)},error(...e){this.loggingEnabled()&&console.error("[MappedInJS]",...e)},assert(...e){this.loggingEnabled()&&console.assert(...e)},time(e){this.loggingEnabled()&&console.time(e)},timeEnd(e){this.loggingEnabled()&&console.timeEnd(e)}},wr=Au;function Eu(e){if(e.scale||e.x_scale)return 1/(e.scale||e.x_scale||1);try{if(!e.georeference)throw new Error(`map ${e.name||e.shortName||e.id} does not have a georeference field`);if(e.georeference.length<3)throw new Error(`map ${e.name||e.shortName||e.id} has less than 3 georeference points, we require at least 3 for proper map scaling`);let t=e.georeference[0],r=e.georeference[2],n=(0,Cr.getDistance)({latitude:t.target.x,longitude:t.target.y},{latitude:r.target.x,longitude:r.target.y}),a=t.control.x-r.control.x,i=t.control.y-r.control.y;return Math.sqrt(a*a+i*i)/n}catch(e){return wr.error(e),1}}function Tu(e,t){let r=e.x-t.x,n=e.y-t.y;return(Math.atan2(n,r)+2.5*Math.PI)%(2*Math.PI)}var Nt=class{edges;nodesById;mapsById;constructor({nodes:e,vortexes:t,maps:r,showVortexNames:n=!1}){this.edges={},this.mapsById=r.map((e=>({...e,_scale:Eu(e)}))).reduce(((e,t)=>(e[t.id]=t,e)),{});let a=e.filter((e=>!!this.mapsById[e.map])).map((e=>({...e,paths:e.paths?e.paths.filter((({map:t})=>t===e.map)):[]})));this.nodesById=a.reduce(((e,t)=>(e[t.id]=t,e)),{});for(let e in this.nodesById)this.nodesById.hasOwnProperty(e)&&(this.nodesById[e].paths=this.nodesById[e].paths.filter((({node:e})=>!!this.nodesById[e])));let i=t.map((e=>({...e,name:n?e.name:e.type,nodes:e.nodes?e.nodes.filter((e=>!!this.nodesById[e])):[]})));a.forEach((e=>{this.edges[e.id]=e.paths.map((({node:t})=>{let r=this.nodesById[t];return new ze({angle:Tu(e,r),destination:r,distance:this.getDistance(e,r),origin:e})}))})),i.forEach((e=>{if(null==e.nodes||0===e.nodes.length)return;let t=0;for(;t<e.nodes.length-1;){let r=this.nodesById[e.nodes[t]];if(t++,null==r)continue;let n=t;for(;n<e.nodes.length;){let t=this.nodesById[e.nodes[n]];if(n++,null==t)continue;let a=this.mapsById[r.map].elevation||0,i=this.mapsById[t.map].elevation||0,u=Math.abs(a-i);this.edges[r.id].push(new ze({destination:t,elevationDelta:u,origin:r,vortex:e})),this.edges[t.id].push(new ze({destination:r,elevationDelta:u,origin:t,vortex:e}))}}}))}aStar(e,t,r){let n=e.map((e=>this.nodesById[e])).filter((e=>e)),a=t.map((e=>this.nodesById[e])).filter((e=>e));if(0===n.length||0===a.length)return[];let i=[],u={},o={};for(n.forEach((e=>{let t=this.getShortestEuclideanDistance(e,a);i.push({origin:e,priority:t}),u[e.id]=null,o[e.id]=0})),i.sort(((e,t)=>e.priority-t.priority));i.length>0;){let e=i[0];if(a.includes(e.origin)){let t=[],r=u[e.origin.id];for(;null!=r;){t.push(r);let e=u[r.origin.id];r=null!=e?e:null}return t.reverse()}for(let t of this.edges[e.origin.id]){let n=t.vortex&&!1===t.vortex.accessible;if(r&&(n||!1===t.origin.accessible||!1===t.destination.accessible))continue;let l=o[e.origin.id]+t.weight;if(null==o[t.destination.id]||l<o[t.destination.id]){o[t.destination.id]=l;let e=l+this.getShortestEuclideanDistance(t.destination,a);i.push({origin:t.destination,priority:e}),u[t.destination.id]=t}}i.splice(0,1),i.sort(((e,t)=>e.priority-t.priority))}return[]}getDistance(e,t){let r,n=e.x-t.x,a=e.y-t.y,i=n*n+a*a;return r=null==this.mapsById[e.map]?1:this.mapsById[e.map]._scale,Math.sqrt(i)/r}getShortestEuclideanDistance(e,t){return t.reduce(((t,r)=>{let n=this.getDistance(e,r);return Math.min(t,n)}),Number.MAX_VALUE)}},qt=Nt;o(),o();var Et=(e=>(e.DEPARTURE="Departure",e.TAKEVORTEX="TakeVortex",e.EXITVORTEX="ExitVortex",e.TURN="Turn",e.ARRIVAL="Arrival",e))(Et||{}),Tt=(e=>(e.STRAIGHT="Straight",e.RIGHT="Right",e.SLIGHTRIGHT="SlightRight",e.LEFT="Left",e.SLIGHTLEFT="SlightLeft",e))(Tt||{});function Ru(e){switch(e){case"down":case"up":return`${e} `;default:return""}}var At=class{node;instruction;action;atLocation;type;distance=0;constructor({origin:e,action:t,distance:r,atLocation:n,instruction:a}){this.node=e,this.action=t,this.distance=r||0,this.atLocation=n,this.instruction="",a?this.instruction=a:(null!=t&&"Departure"===t.type?this.instruction=null!=n?`Depart from ${n.name}`:"Depart from current location":null!=t&&"Arrival"===t.type?this.instruction=null!=n?`Arrive at ${n.name}`:"Arrive at destination":null!=t&&"TakeVortex"===t.type?this.instruction=`Take ${n&&n.name} ${Ru(t.direction)}to ${t.toMap.name}`:null!=t&&"ExitVortex"===t.type?this.instruction=`Exit ${n&&n.name} at ${t.toMap.name}`:null!=t&&"Right"===t.bearing?this.instruction="Turn right":null!=t&&"SlightRight"===t.bearing?this.instruction="Turn slightly right":null!=t&&"Straight"===t.bearing?this.instruction="Head straight":null!=t&&"SlightLeft"===t.bearing?this.instruction="Turn slightly left":null!=t&&"Left"===t.bearing&&(this.instruction="Turn left"),null!=t&&"Turn"===t.type&&n&&(this.instruction+=` at ${n.name}`))}},X=At,Br=(e=>(e.NO_VALID_PATH="No Valid Path Available",e))(Br||{}),Qe=.1*Math.PI;function et(e,t){return((t-e+Math.PI)%(2*Math.PI)+2*Math.PI)%(2*Math.PI)-Math.PI}var Rt=class{graph;locationsByNodeId;constructor({locations:e,nodes:t,vortexes:r,maps:n,showVortexNames:a}){this.graph=new qt({maps:n,nodes:t,showVortexNames:a,vortexes:r}),this.locationsByNodeId=e.reduce(((e,t)=>(t.nodes&&t.nodes.forEach((r=>{e[r.node]=t})),t.polygons&&t.polygons.forEach((r=>{r.entrances&&r.entrances.forEach((r=>{e[r]=t}))})),e)),{})}getClosestLocationInRay(e,t=.5*Math.PI,r=10){let n=0,a=0,i=e;for(;Math.abs(n)<t&&a<r;){let e=this.graph.edges[i.destination.id],u=null,o=0;for(let t of e)if(t.distance>0)if(null!=u){let e=-et(i.angle,t.angle);Math.abs(e)<Math.abs(o)&&(u=t,o=e)}else u=t,o=-et(i.angle,t.angle);if(null==u)return null;{if(Math.abs(o)>=t||(n+=o,a+=u.distance,Math.abs(n)>=t||a>r))return null;let e=this.locationsByNodeId[u.destination.id];if(null!=e)return e;i=u}}return null}getDirections({originIds:e,destinationNodeIds:t,accessible:r,departFrom:n,arriveAt:a}){let i=this.graph.aStar(e,t,r);if(0===i.length)return{distance:0,instructions:[new X({distance:0,instruction:"No Valid Path Available"})],path:[]};let u=0,o=new Array(i.length+1);for(let e=0;e<i.length;e++)o[e]=i[e].origin;o[i.length]=i[i.length-1].destination;let l=[],d=null,s=null,f=0,c=0;for(let e=0;e<i.length;e++){let t=i[e],r=t.origin,o=t.destination;if(u+=t.distance,f+=s?.distance||0,0===e&&l.push(new X({action:{type:"Departure"},atLocation:n,distance:0,origin:r})),null!=t.vortex){let e=this.graph.mapsById[r.map],n=this.graph.mapsById[o.map],a="none";if(null!=e.elevation&&null!=n.elevation){let t=e.elevation-n.elevation;t>0?a="down":t<0&&(a="up")}l.push(new X({action:{direction:a,fromMap:e,toMap:n,type:"TakeVortex"},atLocation:t.vortex,distance:f,origin:r})),c+=f,f=0}else if(null!=d&&null!=s)if(null!=s.vortex){let e=this.graph.mapsById[d.map],t=this.graph.mapsById[s.destination.map];l.push(new X({action:{fromMap:e,toMap:t,type:"ExitVortex"},atLocation:s.vortex,distance:f,origin:r})),c+=f,f=0}else{let e=this.graph.edges[r.id].filter((e=>e.destination!==d&&e.destination!==t.destination));if(e.length>0){let n=-et(s.angle,t.angle),a=e.reduce(((e,r)=>{let n=-et(t.angle,r.angle);return Math.min(e,Math.abs(n))}),Math.PI);if(Math.abs(n)>=Qe||Math.abs(a)<=Qe){let e;e=n<=-Math.PI/4?"Right":n<=-Qe?"SlightRight":n<=Qe?"Straight":n<=Math.PI/4?"SlightLeft":"Left";let t=this.locationsByNodeId[r.id];if(t||(t=this.getClosestLocationInRay(s,.5*Math.PI,10)),null!=t){let n=new X({action:{bearing:e,referencePosition:"At",type:"Turn"},atLocation:t,distance:f,origin:r});n.type=e,l.push(n)}else l.push(new X({action:{bearing:e,referencePosition:"At",type:"Turn"},distance:f,origin:r}));c+=f,f=0}}}e===i.length-1&&(l.push(new X({action:{type:"Arrival"},atLocation:a,distance:u-c<0?0:u-c,origin:t.destination})),c+=f,f=0),d=r,s=t}let h=[],g=null;for(let e=l.length-1;e>=0;e--){let t=l[e],{action:r}=t;r&&"TakeVortex"===r.type?(g=t.node,h.unshift(t)):r&&"Turn"===r.type&&null!=g?this.graph.getDistance(t.node,g)>5&&h.unshift(t):h.unshift(t)}return{distance:u,instructions:h,path:o}}},Su=Rt;export{Et as ACTION_TYPE,Tt as BEARING_TYPE,Br as E_MESSAGES,qt as NavigationGraph,Su as Navigator};
1
+ var c,jr=Object.create,ot=Object.defineProperty,Yr=Object.defineProperties,kr=Object.getOwnPropertyDescriptor,Zr=Object.getOwnPropertyDescriptors,Jr=Object.getOwnPropertyNames,Vt=Object.getOwnPropertySymbols,zr=Object.getPrototypeOf,Kt=Object.prototype.hasOwnProperty,Qr=Object.prototype.propertyIsEnumerable,ut=(e,t,r)=>t in e?ot(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,ee=(e,t)=>{for(var r in t||(t={}))Kt.call(t,r)&&ut(e,r,t[r]);if(Vt)for(var r of Vt(t))Qr.call(t,r)&&ut(e,r,t[r]);return e},te=(e,t)=>Yr(e,Zr(t)),ea=(e,t)=>()=>(e&&(t=e(e=0)),t),v=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),ta=(e,t,r,n)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let a of Jr(t))!Kt.call(e,a)&&a!==r&&ot(e,a,{get:()=>t[a],enumerable:!(n=kr(t,a))||n.enumerable});return e},ra=(e,t,r)=>(r=null!=e?jr(zr(e)):{},ta(!t&&e&&e.__esModule?r:ot(r,"default",{value:e,enumerable:!0}),e)),P=(e,t,r)=>(ut(e,"symbol"!=typeof t?t+"":t,r),r),o=ea((()=>{c={env:{NODE_ENV:"production",npm_package_version:"6.0.0-alpha.10"}}})),N=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.areaConversion=e.timeConversion=e.distanceConversion=e.altitudeKeys=e.latitudeKeys=e.longitudeKeys=e.MAXLON=e.MINLON=e.MAXLAT=e.MINLAT=e.earthRadius=e.sexagesimalPattern=void 0;e.sexagesimalPattern=/^([0-9]{1,3})°\s*([0-9]{1,3}(?:\.(?:[0-9]{1,}))?)['′]\s*(([0-9]{1,3}(\.([0-9]{1,}))?)["″]\s*)?([NEOSW]?)$/;e.earthRadius=6378137;e.MINLAT=-90;e.MAXLAT=90;e.MINLON=-180;e.MAXLON=180;e.longitudeKeys=["lng","lon","longitude",0];e.latitudeKeys=["lat","latitude",1];e.altitudeKeys=["alt","altitude","elevation","elev",2];e.distanceConversion={m:1,km:.001,cm:100,mm:1e3,mi:1/1609.344,sm:1/1852.216,ft:100/30.48,in:100/2.54,yd:1/.9144};e.timeConversion={m:60,h:3600,d:86400};var t={m2:1,km2:1e-6,ha:1e-4,a:.01,ft2:10.763911,yd2:1.19599,in2:1550.0031};e.areaConversion=t,t.sqm=t.m2,t.sqkm=t.km2,t.sqft=t.ft2,t.sqyd=t.yd2,t.sqin=t.in2})),Y=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=function(e,t){return t.reduce((function(t,r){if(null==e)throw new Error("'".concat(e,"' is no valid coordinate."));return Object.prototype.hasOwnProperty.call(e,r)&&void 0!==r&&void 0===t?(t=r,r):t}),void 0)};e.default=t})),k=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=function(e){var t=e.toString().trim();return!isNaN(parseFloat(t))&&parseFloat(t)===Number(t)};e.default=t})),Z=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=N(),r=function(e){return t.sexagesimalPattern.test(e.toString().trim())};e.default=r})),J=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=N(),r=function(e){var r=new RegExp(t.sexagesimalPattern).exec(e);if(null==r)throw new Error("Given value is not in sexagesimal format");var n=Number(r[2])/60||0,a=Number(r[4])/3600||0,i=parseFloat(r[1])+n+a;return["S","W"].includes(r[7])?-i:i};e.default=r})),oe=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t,r=N(),n=(t=Y())&&t.__esModule?t:{default:t};function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?a(Object(r),!0).forEach((function(t){u(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):a(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function u(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var l=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{longitude:r.longitudeKeys,latitude:r.latitudeKeys,altitude:r.altitudeKeys},a=(0,n.default)(e,t.longitude),o=(0,n.default)(e,t.latitude),u=(0,n.default)(e,t.altitude);return i({latitude:o,longitude:a},u?{altitude:u}:{})};e.default=l})),ft=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=i(k()),r=i(Z()),n=i(J()),a=N();function i(e){return e&&e.__esModule?e:{default:e}}var u=function e(i){return(0,t.default)(i)?!(parseFloat(i)>a.MAXLAT||i<a.MINLAT):!!(0,r.default)(i)&&e((0,n.default)(i))};e.default=u})),gt=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=i(k()),r=i(Z()),n=i(J()),a=N();function i(e){return e&&e.__esModule?e:{default:e}}var u=function e(i){return(0,t.default)(i)?!(parseFloat(i)>a.MAXLON||i<a.MINLON):!!(0,r.default)(i)&&e((0,n.default)(i))};e.default=u})),pt=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=a(oe()),r=a(ft()),n=a(gt());function a(e){return e&&e.__esModule?e:{default:e}}var i=function(e){var a=(0,t.default)(e),i=a.latitude,o=a.longitude;if(Array.isArray(e)&&e.length>=2)return(0,n.default)(e[0])&&(0,r.default)(e[1]);if(void 0===i||void 0===o)return!1;var u=e[o],l=e[i];return!(void 0===l||void 0===u||!1===(0,r.default)(l)||!1===(0,n.default)(u))};e.default=i})),ce=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=u(k()),r=u(Z()),n=u(J()),a=u(pt()),i=u(oe());function u(e){return e&&e.__esModule?e:{default:e}}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function d(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?l(Object(r),!0).forEach((function(t){s(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):l(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function s(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var f=function e(o){if((0,t.default)(o))return Number(o);if((0,r.default)(o))return(0,n.default)(o);if((0,a.default)(o)){var u=(0,i.default)(o);return Array.isArray(o)?o.map((function(t,r){return[0,1].includes(r)?e(t):t})):d(d(d({},o),u.latitude&&s({},u.latitude,e(o[u.latitude]))),u.longitude&&s({},u.longitude,e(o[u.longitude])))}return Array.isArray(o)?o.map((function(t){return(0,a.default)(t)?e(t):t})):o};e.default=f})),T=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=N(),r=a(Y()),n=a(ce());function a(e){return e&&e.__esModule?e:{default:e}}var i=function(e,a){var i=(0,r.default)(e,t.latitudeKeys);if(null!=i){var o=e[i];return!0===a?o:(0,n.default)(o)}};e.default=i})),R=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=N(),r=a(Y()),n=a(ce());function a(e){return e&&e.__esModule?e:{default:e}}var i=function(e,a){var i=(0,r.default)(e,t.longitudeKeys);if(null!=i){var o=e[i];return!0===a?o:(0,n.default)(o)}};e.default=i})),B=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=function(e){return e*Math.PI/180};e.default=t})),U=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=function(e){return 180*e/Math.PI};e.default=t})),Zt=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=u(T()),r=u(R()),n=u(B()),a=u(U()),i=N();function u(e){return e&&e.__esModule?e:{default:e}}var l=function(e,o,u){var l=arguments.length>3&&void 0!==arguments[3]?arguments[3]:6371e3,d=(0,t.default)(e),s=(0,r.default)(e),f=o/l,c=(0,n.default)(u),h=(0,n.default)(d),v=(0,n.default)(s),g=Math.asin(Math.sin(h)*Math.cos(f)+Math.cos(h)*Math.sin(f)*Math.cos(c)),p=v+Math.atan2(Math.sin(c)*Math.sin(f)*Math.cos(h),Math.cos(f)-Math.sin(h)*Math.sin(g)),y=(0,a.default)(p);return(y<i.MINLON||y>i.MAXLON)&&(p=(p+3*Math.PI)%(2*Math.PI)-Math.PI,y=(0,a.default)(p)),{latitude:(0,a.default)(g),longitude:y}};e.default=l})),Jt=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=N(),r=function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"m",n=t.areaConversion[r];if(n)return e*n;throw new Error("Invalid unit used for area conversion.")};e.default=r})),zt=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=N(),r=function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"m",n=t.distanceConversion[r];if(n)return e*n;throw new Error("Invalid unit used for distance conversion.")};e.default=r})),Qt=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=N(),r=function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"kmh";switch(r){case"kmh":return e*t.timeConversion.h*t.distanceConversion.km;case"mph":return e*t.timeConversion.h*t.distanceConversion.mi;default:return e}};e.default=r})),rr=v((e=>{"use strict";function t(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var r=[],n=!0,a=!1,i=void 0;try{for(var o,u=e[Symbol.iterator]();!(n=(o=u.next()).done)&&(r.push(o.value),!t||r.length!==t);n=!0);}catch(e){a=!0,i=e}finally{try{!n&&null!=u.return&&u.return()}finally{if(a)throw i}}return r}}(e,t)||function(e,t){if(e){if("string"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return r(e,t)}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var n=function(e){var t=Math.pow(10,12);return Math.round(e*t)/t},a=function(e){var r=t(e.toString().split("."),2),a=r[0],i=r[1],o=Math.abs(Number(a)),u=n(60*Number("0."+(i||0))),l=Math.floor(u),d=n(60*(u%l||0));return o+"° "+Number(l.toFixed(6)).toString().split(".").map((function(e,t){return 0===t?e.padStart(2,"0"):e})).join(".")+"' "+Number(d.toFixed(4)).toString().split(".").map((function(e,t){return 0===t?e.padStart(2,"0"):e})).join(".")+'"'};e.default=a})),Mt=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=function(e){return e>1?1:e<-1?-1:e};e.default=t})),X=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=u(T()),r=u(R()),n=u(B()),a=u(Mt()),i=N();function u(e){return e&&e.__esModule?e:{default:e}}var l=function(e,o){var u=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;u=void 0===u||isNaN(u)?1:u;var l=(0,t.default)(e),d=(0,r.default)(e),s=(0,t.default)(o),f=(0,r.default)(o),c=Math.acos((0,a.default)(Math.sin((0,n.default)(s))*Math.sin((0,n.default)(l))+Math.cos((0,n.default)(s))*Math.cos((0,n.default)(l))*Math.cos((0,n.default)(d)-(0,n.default)(f))))*i.earthRadius;return Math.round(c/u)*u};e.default=l})),Pt=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t,r=(t=X())&&t.__esModule?t:{default:t};var n=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:r.default;return n="function"==typeof n?n:r.default,t.slice().sort((function(t,r){return n(e,t)-n(e,r)}))};e.default=n})),ur=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t,r=(t=Pt())&&t.__esModule?t:{default:t};var n=function(e,t){return(0,r.default)(e,t)[0]};e.default=n})),sr=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=i(B()),r=i(T()),n=i(R()),a=N();function i(e){return e&&e.__esModule?e:{default:e}}var u=function(e){var i=0;if(e.length>2){for(var o,u,l,d=0;d<e.length;d++){d===e.length-2?(o=e.length-2,u=e.length-1,l=0):d===e.length-1?(o=e.length-1,u=0,l=1):(o=d,u=d+1,l=d+2);var s=(0,n.default)(e[o]),f=(0,r.default)(e[u]),c=(0,n.default)(e[l]);i+=((0,t.default)(c)-(0,t.default)(s))*Math.sin((0,t.default)(f))}i=i*a.earthRadius*a.earthRadius/2}return Math.abs(i)};e.default=u})),Ot=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=n(T()),r=n(R());function n(e){return e&&e.__esModule?e:{default:e}}var a=function(e){if(!1===Array.isArray(e)||0===e.length)throw new Error("No points were given.");return e.reduce((function(e,n){var a=(0,t.default)(n),i=(0,r.default)(n);return{maxLat:Math.max(a,e.maxLat),minLat:Math.min(a,e.minLat),maxLng:Math.max(i,e.maxLng),minLng:Math.min(i,e.minLng)}}),{maxLat:-1/0,minLat:1/0,maxLng:-1/0,minLng:1/0})};e.default=a})),fr=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=u(T()),r=u(R()),n=u(B()),a=u(U()),i=N();function u(e){return e&&e.__esModule?e:{default:e}}var l=function(e,o){var u,l,d=(0,t.default)(e),s=(0,r.default)(e),f=(0,n.default)(d),c=(0,n.default)(s),h=o/i.earthRadius,v=f-h,g=f+h,p=(0,n.default)(i.MAXLAT),y=(0,n.default)(i.MINLAT),b=(0,n.default)(i.MAXLON),m=(0,n.default)(i.MINLON);if(v>y&&g<p){var M=Math.asin(Math.sin(h)/Math.cos(f));(u=c-M)<m&&(u+=2*Math.PI),(l=c+M)>b&&(l-=2*Math.PI)}else v=Math.max(v,y),g=Math.min(g,p),u=m,l=b;return[{latitude:(0,a.default)(v),longitude:(0,a.default)(u)},{latitude:(0,a.default)(g),longitude:(0,a.default)(l)}]};e.default=l})),vr=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=i(T()),r=i(R()),n=i(B()),a=i(U());function i(e){return e&&e.__esModule?e:{default:e}}var u=function(e){if(!1===Array.isArray(e)||0===e.length)return!1;var i=e.length,o=e.reduce((function(e,a){var i=(0,n.default)((0,t.default)(a)),o=(0,n.default)((0,r.default)(a));return{X:e.X+Math.cos(i)*Math.cos(o),Y:e.Y+Math.cos(i)*Math.sin(o),Z:e.Z+Math.sin(i)}}),{X:0,Y:0,Z:0}),u=o.X/i,l=o.Y/i,d=o.Z/i;return{longitude:(0,a.default)(Math.atan2(l,u)),latitude:(0,a.default)(Math.atan2(d,Math.sqrt(u*u+l*l)))}};e.default=u})),pr=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t,r=(t=Ot())&&t.__esModule?t:{default:t};var n=function(e){var t=(0,r.default)(e),n=t.minLat+(t.maxLat-t.minLat)/2,a=t.minLng+(t.maxLng-t.minLng)/2;return{latitude:parseFloat(n.toFixed(6)),longitude:parseFloat(a.toFixed(6))}};e.default=n})),Dt=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=i(T()),r=i(R()),n=i(B()),a=i(U());function i(e){return e&&e.__esModule?e:{default:e}}var u=function(e,i){var o=(0,n.default)((0,r.default)(i))-(0,n.default)((0,r.default)(e)),u=Math.log(Math.tan((0,n.default)((0,t.default)(i))/2+Math.PI/4)/Math.tan((0,n.default)((0,t.default)(e))/2+Math.PI/4));return Math.abs(o)>Math.PI&&(o=o>0?-1*(2*Math.PI-o):2*Math.PI+o),((0,a.default)(Math.atan2(o,u))+360)%360};e.default=u})),yr=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t,r=(t=Dt())&&t.__esModule?t:{default:t};var n=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:r.default,a="function"==typeof n?n(e,t):(0,r.default)(e,t);if(isNaN(a))throw new Error("Could not calculate bearing for given points. Check your bearing function");switch(Math.round(a/22.5)){case 1:return"NNE";case 2:return"NE";case 3:return"ENE";case 4:return"E";case 5:return"ESE";case 6:return"SE";case 7:return"SSE";case 8:return"S";case 9:return"SSW";case 10:return"SW";case 11:return"WSW";case 12:return"W";case 13:return"WNW";case 14:return"NW";case 15:return"NNW";default:return"N"}};e.default=n})),Nt=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=n(X()),r=n(Mt());function n(e){return e&&e.__esModule?e:{default:e}}var a=function(e,n,a){var i=(0,t.default)(n,e),o=(0,t.default)(e,a),u=(0,t.default)(n,a),l=Math.acos((0,r.default)((i*i+u*u-o*o)/(2*i*u))),d=Math.acos((0,r.default)((o*o+u*u-i*i)/(2*o*u)));return l>Math.PI/2?i:d>Math.PI/2?o:Math.sin(l)*i};e.default=a})),Or=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=i(T()),r=i(R()),n=i(B()),a=i(U());function i(e){return e&&e.__esModule?e:{default:e}}var u=function(e,i){var o=(0,t.default)(i),u=(0,r.default)(i),l=(0,t.default)(e),d=(0,r.default)(e);return((0,a.default)(Math.atan2(Math.sin((0,n.default)(u)-(0,n.default)(d))*Math.cos((0,n.default)(o)),Math.cos((0,n.default)(l))*Math.sin((0,n.default)(o))-Math.sin((0,n.default)(l))*Math.cos((0,n.default)(o))*Math.cos((0,n.default)(u)-(0,n.default)(d))))+360)%360};e.default=u})),Dr=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t,r=(t=X())&&t.__esModule?t:{default:t};function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var a=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:r.default;return e.reduce((function(e,r){return"object"===n(e)&&null!==e.last&&(e.distance+=t(r,e.last)),e.last=r,e}),{last:null,distance:0}).distance};e.default=a})),Ar=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=i(T()),r=i(R()),n=i(B()),a=N();function i(e){return e&&e.__esModule?e:{default:e}}var u=function(e,i){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;o=void 0===o||isNaN(o)?1:o;var u,l,d,s,f,c,h,v=(0,t.default)(e),g=(0,r.default)(e),p=(0,t.default)(i),y=(0,r.default)(i),b=6356752.314245,m=1/298.257223563,M=(0,n.default)(y-g),P=Math.atan((1-m)*Math.tan((0,n.default)(parseFloat(v)))),O=Math.atan((1-m)*Math.tan((0,n.default)(parseFloat(p)))),_=Math.sin(P),j=Math.cos(P),N=Math.sin(O),w=Math.cos(O),I=M,E=100;do{var S=Math.sin(I),x=Math.cos(I);if(0===(c=Math.sqrt(w*S*(w*S)+(j*N-_*w*x)*(j*N-_*w*x))))return 0;u=_*N+j*w*x,l=Math.atan2(c,u),f=u-2*_*N/(s=1-(d=j*w*S/c)*d),isNaN(f)&&(f=0);var L=m/16*s*(4+m*(4-3*s));h=I,I=M+(1-L)*m*d*(l+L*c*(f+L*u*(2*f*f-1)))}while(Math.abs(I-h)>1e-12&&--E>0);if(0===E)return NaN;var A=s*(a.earthRadius*a.earthRadius-b*b)/(b*b),T=1+A/16384*(4096+A*(A*(320-175*A)-768)),D=A/1024*(256+A*(A*(74-47*A)-128)),B=D*c*(f+D/4*(u*(2*f*f-1)-D/6*f*(4*c*c-3)*(4*f*f-3))),R=b*T*(l-B);return Math.round(R/o)*o};e.default=u})),Er=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=function(e){return/^NNE|NE|NNW|N$/.test(e)?"N":/^ENE|E|ESE|SE$/.test(e)?"E":/^SSE|S|SSW|SW$/.test(e)?"S":/^WSW|W|WNW|NW$/.test(e)?"W":void 0};e.default=t})),Tr=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t,r=(t=X())&&t.__esModule?t:{default:t};var n=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:r.default,a=n(e,t),i=Number(t.time)-Number(e.time),o=a/i*1e3;return o};e.default=n})),Rr=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t,r=(t=X())&&t.__esModule?t:{default:t};var n=function(e,t,n){return(0,r.default)(t,e)+(0,r.default)(e,n)===(0,r.default)(t,n)};e.default=n})),xr=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=n(T()),r=n(R());function n(e){return e&&e.__esModule?e:{default:e}}var a=function(e,n){for(var a=!1,i=n.length,o=-1,u=i-1;++o<i;u=o)((0,r.default)(n[o])<=(0,r.default)(e)&&(0,r.default)(e)<(0,r.default)(n[u])||(0,r.default)(n[u])<=(0,r.default)(e)&&(0,r.default)(e)<(0,r.default)(n[o]))&&(0,t.default)(e)<((0,t.default)(n[u])-(0,t.default)(n[o]))*((0,r.default)(e)-(0,r.default)(n[o]))/((0,r.default)(n[u])-(0,r.default)(n[o]))+(0,t.default)(n[o])&&(a=!a);return a};e.default=a})),wr=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t,r=(t=Nt())&&t.__esModule?t:{default:t};var n=function(e,t,n,a){return(0,r.default)(e,t,n)<a};e.default=n})),Cr=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t,r=(t=X())&&t.__esModule?t:{default:t};var n=function(e,t,n){return(0,r.default)(e,t)<n};e.default=n})),Vr=v((e=>{"use strict";function t(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var r=[],n=!0,a=!1,i=void 0;try{for(var o,u=e[Symbol.iterator]();!(n=(o=u.next()).done)&&(r.push(o.value),!t||r.length!==t);n=!0);}catch(e){a=!0,i=e}finally{try{!n&&null!=u.return&&u.return()}finally{if(a)throw i}}return r}}(e,t)||function(e,t){if(e){if("string"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return r(e,t)}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}o(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var n=function(e){if(!e.startsWith("POLYGON"))throw new Error("Invalid wkt.");return e.slice(e.indexOf("(")+2,e.indexOf(")")).split(", ").map((function(e){var r=t(e.split(" "),2),n=r[0],a=r[1];return{longitude:parseFloat(n),latitude:parseFloat(a)}}))};e.default=n})),Fr=v((e=>{"use strict";o(),Object.defineProperty(e,"__esModule",{value:!0});var t={computeDestinationPoint:!0,convertArea:!0,convertDistance:!0,convertSpeed:!0,decimalToSexagesimal:!0,findNearest:!0,getAreaOfPolygon:!0,getBounds:!0,getBoundsOfDistance:!0,getCenter:!0,getCenterOfBounds:!0,getCompassDirection:!0,getCoordinateKey:!0,getCoordinateKeys:!0,getDistance:!0,getDistanceFromLine:!0,getGreatCircleBearing:!0,getLatitude:!0,getLongitude:!0,getPathLength:!0,getPreciseDistance:!0,getRhumbLineBearing:!0,getRoughCompassDirection:!0,getSpeed:!0,isDecimal:!0,isPointInLine:!0,isPointInPolygon:!0,isPointNearLine:!0,isPointWithinRadius:!0,isSexagesimal:!0,isValidCoordinate:!0,isValidLatitude:!0,isValidLongitude:!0,orderByDistance:!0,sexagesimalToDecimal:!0,toDecimal:!0,toRad:!0,toDeg:!0,wktToPolygon:!0};Object.defineProperty(e,"computeDestinationPoint",{enumerable:!0,get:function(){return r.default}}),Object.defineProperty(e,"convertArea",{enumerable:!0,get:function(){return n.default}}),Object.defineProperty(e,"convertDistance",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(e,"convertSpeed",{enumerable:!0,get:function(){return i.default}}),Object.defineProperty(e,"decimalToSexagesimal",{enumerable:!0,get:function(){return u.default}}),Object.defineProperty(e,"findNearest",{enumerable:!0,get:function(){return l.default}}),Object.defineProperty(e,"getAreaOfPolygon",{enumerable:!0,get:function(){return d.default}}),Object.defineProperty(e,"getBounds",{enumerable:!0,get:function(){return s.default}}),Object.defineProperty(e,"getBoundsOfDistance",{enumerable:!0,get:function(){return f.default}}),Object.defineProperty(e,"getCenter",{enumerable:!0,get:function(){return c.default}}),Object.defineProperty(e,"getCenterOfBounds",{enumerable:!0,get:function(){return h.default}}),Object.defineProperty(e,"getCompassDirection",{enumerable:!0,get:function(){return v.default}}),Object.defineProperty(e,"getCoordinateKey",{enumerable:!0,get:function(){return g.default}}),Object.defineProperty(e,"getCoordinateKeys",{enumerable:!0,get:function(){return p.default}}),Object.defineProperty(e,"getDistance",{enumerable:!0,get:function(){return y.default}}),Object.defineProperty(e,"getDistanceFromLine",{enumerable:!0,get:function(){return b.default}}),Object.defineProperty(e,"getGreatCircleBearing",{enumerable:!0,get:function(){return m.default}}),Object.defineProperty(e,"getLatitude",{enumerable:!0,get:function(){return M.default}}),Object.defineProperty(e,"getLongitude",{enumerable:!0,get:function(){return P.default}}),Object.defineProperty(e,"getPathLength",{enumerable:!0,get:function(){return O.default}}),Object.defineProperty(e,"getPreciseDistance",{enumerable:!0,get:function(){return _.default}}),Object.defineProperty(e,"getRhumbLineBearing",{enumerable:!0,get:function(){return j.default}}),Object.defineProperty(e,"getRoughCompassDirection",{enumerable:!0,get:function(){return w.default}}),Object.defineProperty(e,"getSpeed",{enumerable:!0,get:function(){return I.default}}),Object.defineProperty(e,"isDecimal",{enumerable:!0,get:function(){return E.default}}),Object.defineProperty(e,"isPointInLine",{enumerable:!0,get:function(){return S.default}}),Object.defineProperty(e,"isPointInPolygon",{enumerable:!0,get:function(){return x.default}}),Object.defineProperty(e,"isPointNearLine",{enumerable:!0,get:function(){return L.default}}),Object.defineProperty(e,"isPointWithinRadius",{enumerable:!0,get:function(){return A.default}}),Object.defineProperty(e,"isSexagesimal",{enumerable:!0,get:function(){return D.default}}),Object.defineProperty(e,"isValidCoordinate",{enumerable:!0,get:function(){return C.default}}),Object.defineProperty(e,"isValidLatitude",{enumerable:!0,get:function(){return V.default}}),Object.defineProperty(e,"isValidLongitude",{enumerable:!0,get:function(){return W.default}}),Object.defineProperty(e,"orderByDistance",{enumerable:!0,get:function(){return F.default}}),Object.defineProperty(e,"sexagesimalToDecimal",{enumerable:!0,get:function(){return K.default}}),Object.defineProperty(e,"toDecimal",{enumerable:!0,get:function(){return $.default}}),Object.defineProperty(e,"toRad",{enumerable:!0,get:function(){return G.default}}),Object.defineProperty(e,"toDeg",{enumerable:!0,get:function(){return q.default}}),Object.defineProperty(e,"wktToPolygon",{enumerable:!0,get:function(){return H.default}});var r=Q(Zt()),n=Q(Jt()),a=Q(zt()),i=Q(Qt()),u=Q(rr()),l=Q(ur()),d=Q(sr()),s=Q(Ot()),f=Q(fr()),c=Q(vr()),h=Q(pr()),v=Q(yr()),g=Q(Y()),p=Q(oe()),y=Q(X()),b=Q(Nt()),m=Q(Or()),M=Q(T()),P=Q(R()),O=Q(Dr()),_=Q(Ar()),j=Q(Dt()),w=Q(Er()),I=Q(Tr()),E=Q(k()),S=Q(Rr()),x=Q(xr()),L=Q(wr()),A=Q(Cr()),D=Q(Z()),C=Q(pt()),V=Q(ft()),W=Q(gt()),F=Q(Pt()),K=Q(J()),$=Q(ce()),G=Q(B()),q=Q(U()),H=Q(Vr()),z=N();function Q(e){return e&&e.__esModule?e:{default:e}}Object.keys(z).forEach((function(r){"default"===r||"__esModule"===r||Object.prototype.hasOwnProperty.call(t,r)||Object.defineProperty(e,r,{enumerable:!0,get:function(){return z[r]}})}))}));o(),o();var Wr=ra(Fr(),1);o();var Tt=class{constructor({origin:e,destination:t,vortex:r,elevationDelta:n=0,distance:a=0,angle:i=0}){let o,u;if(P(this,"origin"),P(this,"destination"),P(this,"vortex"),P(this,"distance"),P(this,"angle"),P(this,"weight"),this.origin=e,this.destination=t,this.vortex=r,this.distance=a,this.angle=i,r?(this.distance=0,this.angle=0,o=void 0!==r.weight&&r.weight>0?r.weight:"elevator"===r.type?2e3:1e3,u=r.multiplier&&r.multiplier>=1?r.multiplier:1,this.weight=n*u+o):(o=t.weight&&t.weight>=0?t.weight:0,u=t.multiplier&&t.multiplier>=1?t.multiplier:1,this.weight=this.distance*u+o),isNaN(this.angle))throw new Error("nan angle")}},tt=Tt;o();var Cu="mi-debug",Bu={loggingEnabled(){var e;return"development"===c.env.NODE_ENV||"dev"===c.env.NODE_ENV||"test"===c.env.NODE_ENV||"true"===(null==(e=globalThis.sessionStorage)?void 0:e.getItem(Cu))},log(...e){this.loggingEnabled()&&console.log("[MappedInJS]",...e)},warn(...e){this.loggingEnabled()&&console.warn("[MappedInJS]",...e)},error(...e){this.loggingEnabled()&&console.error("[MappedInJS]",...e)},assert(...e){this.loggingEnabled()&&console.assert(...e)},time(e){this.loggingEnabled()&&console.time(e)},timeEnd(e){this.loggingEnabled()&&console.timeEnd(e)}},Xr=Bu;function Vu(e){if(e.scale||e.x_scale)return 1/(e.scale||e.x_scale||1);try{if(!e.georeference)throw new Error(`map ${e.name||e.shortName||e.id} does not have a georeference field`);if(e.georeference.length<3)throw new Error(`map ${e.name||e.shortName||e.id} has less than 3 georeference points, we require at least 3 for proper map scaling`);let t=e.georeference[0],r=e.georeference[2],n=(0,Wr.getDistance)({latitude:t.target.x,longitude:t.target.y},{latitude:r.target.x,longitude:r.target.y}),a=t.control.x-r.control.x,i=t.control.y-r.control.y;return Math.sqrt(a*a+i*i)/n}catch(e){return Xr.error(e),1}}function Ku(e,t){let r=e.x-t.x,n=e.y-t.y;return(Math.atan2(n,r)+2.5*Math.PI)%(2*Math.PI)}var Rt=class{constructor({nodes:e,vortexes:t,maps:r,showVortexNames:n=!1}){P(this,"edges"),P(this,"nodesById"),P(this,"mapsById"),this.edges={},this.mapsById=r.map((e=>te(ee({},e),{_scale:Vu(e)}))).reduce(((e,t)=>(e[t.id]=t,e)),{});let a=e.filter((e=>!!this.mapsById[e.map])).map((e=>te(ee({},e),{paths:e.paths?e.paths.filter((({map:t})=>t===e.map)):[]})));this.nodesById=a.reduce(((e,t)=>(e[t.id]=t,e)),{});for(let e in this.nodesById)this.nodesById.hasOwnProperty(e)&&(this.nodesById[e].paths=this.nodesById[e].paths.filter((({node:e})=>!!this.nodesById[e])));let i=t.map((e=>te(ee({},e),{name:n?e.name:e.type,nodes:e.nodes?e.nodes.filter((e=>!!this.nodesById[e])):[]})));a.forEach((e=>{this.edges[e.id]=e.paths.map((({node:t})=>{let r=this.nodesById[t];return new tt({angle:Ku(e,r),destination:r,distance:this.getDistance(e,r),origin:e})}))})),i.forEach((e=>{if(null==e.nodes||0===e.nodes.length)return;let t=0;for(;t<e.nodes.length-1;){let r=this.nodesById[e.nodes[t]];if(t++,null==r)continue;let n=t;for(;n<e.nodes.length;){let t=this.nodesById[e.nodes[n]];if(n++,null==t)continue;let a=this.mapsById[r.map].elevation||0,i=this.mapsById[t.map].elevation||0,o=Math.abs(a-i);this.edges[r.id].push(new tt({destination:t,elevationDelta:o,origin:r,vortex:e})),this.edges[t.id].push(new tt({destination:r,elevationDelta:o,origin:t,vortex:e}))}}}))}aStar(e,t,r){let n=e.map((e=>this.nodesById[e])).filter((e=>e)),a=t.map((e=>this.nodesById[e])).filter((e=>e));if(0===n.length||0===a.length)return[];let i=[],o={},u={};for(n.forEach((e=>{let t=this.getShortestEuclideanDistance(e,a);i.push({origin:e,priority:t}),o[e.id]=null,u[e.id]=0})),i.sort(((e,t)=>e.priority-t.priority));i.length>0;){let e=i[0];if(a.includes(e.origin)){let t=[],r=o[e.origin.id];for(;null!=r;){t.push(r);let e=o[r.origin.id];r=null!=e?e:null}return t.reverse()}for(let t of this.edges[e.origin.id]){let n=t.vortex&&!1===t.vortex.accessible;if(r&&(n||!1===t.origin.accessible||!1===t.destination.accessible))continue;let l=u[e.origin.id]+t.weight;if(null==u[t.destination.id]||l<u[t.destination.id]){u[t.destination.id]=l;let e=l+this.getShortestEuclideanDistance(t.destination,a);i.push({origin:t.destination,priority:e}),o[t.destination.id]=t}}i.splice(0,1),i.sort(((e,t)=>e.priority-t.priority))}return[]}getDistance(e,t){let r,n=e.x-t.x,a=e.y-t.y,i=n*n+a*a;return r=null==this.mapsById[e.map]?1:this.mapsById[e.map]._scale,Math.sqrt(i)/r}getShortestEuclideanDistance(e,t){return t.reduce(((t,r)=>{let n=this.getDistance(e,r);return Math.min(t,n)}),Number.MAX_VALUE)}},St=Rt;o(),o();var wt=(e=>(e.DEPARTURE="Departure",e.TAKEVORTEX="TakeVortex",e.EXITVORTEX="ExitVortex",e.TURN="Turn",e.ARRIVAL="Arrival",e))(wt||{}),Ct=(e=>(e.STRAIGHT="Straight",e.RIGHT="Right",e.SLIGHTRIGHT="SlightRight",e.LEFT="Left",e.SLIGHTLEFT="SlightLeft",e))(Ct||{});function Fu(e){switch(e){case"down":case"up":return`${e} `;default:return""}}var xt=class{constructor({origin:e,action:t,distance:r,atLocation:n,instruction:a}){P(this,"node"),P(this,"instruction"),P(this,"action"),P(this,"atLocation"),P(this,"type"),P(this,"distance",0),this.node=e,this.action=t,this.distance=r||0,this.atLocation=n,this.instruction="",a?this.instruction=a:(null!=t&&"Departure"===t.type?this.instruction=null!=n?`Depart from ${n.name}`:"Depart from current location":null!=t&&"Arrival"===t.type?this.instruction=null!=n?`Arrive at ${n.name}`:"Arrive at destination":null!=t&&"TakeVortex"===t.type?this.instruction=`Take ${n&&n.name} ${Fu(t.direction)}to ${t.toMap.name}`:null!=t&&"ExitVortex"===t.type?this.instruction=`Exit ${n&&n.name} at ${t.toMap.name}`:null!=t&&"Right"===t.bearing?this.instruction="Turn right":null!=t&&"SlightRight"===t.bearing?this.instruction="Turn slightly right":null!=t&&"Straight"===t.bearing?this.instruction="Head straight":null!=t&&"SlightLeft"===t.bearing?this.instruction="Turn slightly left":null!=t&&"Left"===t.bearing&&(this.instruction="Turn left"),null!=t&&"Turn"===t.type&&n&&(this.instruction+=` at ${n.name}`))}},W=xt,Gr=(e=>(e.NO_VALID_PATH="No Valid Path Available",e))(Gr||{}),rt=.1*Math.PI;function at(e,t){return((t-e+Math.PI)%(2*Math.PI)+2*Math.PI)%(2*Math.PI)-Math.PI}var Bt=class{constructor({locations:e,nodes:t,vortexes:r,maps:n,showVortexNames:a}){P(this,"graph"),P(this,"locationsByNodeId"),this.graph=new St({maps:n,nodes:t,showVortexNames:a,vortexes:r}),this.locationsByNodeId=e.reduce(((e,t)=>(t.nodes&&t.nodes.forEach((r=>{e[r.node]=t})),t.polygons&&t.polygons.forEach((r=>{r.entrances&&r.entrances.forEach((r=>{e[r]=t}))})),e)),{})}getClosestLocationInRay(e,t=.5*Math.PI,r=10){let n=0,a=0,i=e;for(;Math.abs(n)<t&&a<r;){let e=this.graph.edges[i.destination.id],o=null,u=0;for(let t of e)if(t.distance>0)if(null!=o){let e=-at(i.angle,t.angle);Math.abs(e)<Math.abs(u)&&(o=t,u=e)}else o=t,u=-at(i.angle,t.angle);if(null==o)return null;{if(Math.abs(u)>=t||(n+=u,a+=o.distance,Math.abs(n)>=t||a>r))return null;let e=this.locationsByNodeId[o.destination.id];if(null!=e)return e;i=o}}return null}getDirections({originIds:e,destinationNodeIds:t,accessible:r,departFrom:n,arriveAt:a}){let i=this.graph.aStar(e,t,r);if(0===i.length)return{distance:0,instructions:[new W({distance:0,instruction:"No Valid Path Available"})],path:[]};let o=0,u=new Array(i.length+1);for(let e=0;e<i.length;e++)u[e]=i[e].origin;u[i.length]=i[i.length-1].destination;let l=[],d=null,s=null,f=0,c=0;for(let e=0;e<i.length;e++){let t=i[e],r=t.origin,u=t.destination;if(o+=t.distance,f+=(null==s?void 0:s.distance)||0,0===e&&l.push(new W({action:{type:"Departure"},atLocation:n,distance:0,origin:r})),null!=t.vortex){let e=this.graph.mapsById[r.map],n=this.graph.mapsById[u.map],a="none";if(null!=e.elevation&&null!=n.elevation){let t=e.elevation-n.elevation;t>0?a="down":t<0&&(a="up")}l.push(new W({action:{direction:a,fromMap:e,toMap:n,type:"TakeVortex"},atLocation:t.vortex,distance:f,origin:r})),c+=f,f=0}else if(null!=d&&null!=s)if(null!=s.vortex){let e=this.graph.mapsById[d.map],t=this.graph.mapsById[s.destination.map];l.push(new W({action:{fromMap:e,toMap:t,type:"ExitVortex"},atLocation:s.vortex,distance:f,origin:r})),c+=f,f=0}else{let e=this.graph.edges[r.id].filter((e=>e.destination!==d&&e.destination!==t.destination));if(e.length>0){let n=-at(s.angle,t.angle),a=e.reduce(((e,r)=>{let n=-at(t.angle,r.angle);return Math.min(e,Math.abs(n))}),Math.PI);if(Math.abs(n)>=rt||Math.abs(a)<=rt){let e;e=n<=-Math.PI/4?"Right":n<=-rt?"SlightRight":n<=rt?"Straight":n<=Math.PI/4?"SlightLeft":"Left";let t=this.locationsByNodeId[r.id];if(t||(t=this.getClosestLocationInRay(s,.5*Math.PI,10)),null!=t){let n=new W({action:{bearing:e,referencePosition:"At",type:"Turn"},atLocation:t,distance:f,origin:r});n.type=e,l.push(n)}else l.push(new W({action:{bearing:e,referencePosition:"At",type:"Turn"},distance:f,origin:r}));c+=f,f=0}}}e===i.length-1&&(l.push(new W({action:{type:"Arrival"},atLocation:a,distance:o-c<0?0:o-c,origin:t.destination})),c+=f,f=0),d=r,s=t}let h=[],v=null;for(let e=l.length-1;e>=0;e--){let t=l[e],{action:r}=t;r&&"TakeVortex"===r.type?(v=t.node,h.unshift(t)):r&&"Turn"===r.type&&null!=v?this.graph.getDistance(t.node,v)>5&&h.unshift(t):h.unshift(t)}return{distance:o,instructions:h,path:u}}},Xu=Bt;export{wt as ACTION_TYPE,Ct as BEARING_TYPE,Gr as E_MESSAGES,St as NavigationGraph,Xu as Navigator};