@1interface/widgets 0.1.0
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.
- package/dist/Chart.web-DQzthytj.js +1 -0
- package/dist/GoogleMapsComponent-CtYLbyvO.js +1 -0
- package/dist/Markdown.web-vx2MyFJ8.js +1 -0
- package/dist/OpenStreetMapComponent-BWRPzQtp.js +1 -0
- package/dist/constants-D8-vgQM1.js +1 -0
- package/dist/index-DvAx4AnX.js +1 -0
- package/dist/index.d.ts +2556 -0
- package/dist/index.mjs +1 -0
- package/dist/widgets.css +1 -0
- package/native/WidgetErrorBoundary.js +1 -0
- package/native/WidgetRenderer.js +36 -0
- package/native/WidgetRenderer.native.js +1 -0
- package/native/assets/image-placeholder.png +0 -0
- package/native/compat/FormContext.js +1 -0
- package/native/compat/WidgetStateContext.js +1 -0
- package/native/compat/WidgetThemeContext.js +1 -0
- package/native/components/BackgroundFill.js +1 -0
- package/native/components/Badge.js +1 -0
- package/native/components/BasicRoot.js +1 -0
- package/native/components/Box.js +1 -0
- package/native/components/Button.js +1 -0
- package/native/components/Card.js +1 -0
- package/native/components/Chart.js +1 -0
- package/native/components/ChartWidget.js +1 -0
- package/native/components/Checkbox.js +1 -0
- package/native/components/DatePicker.js +1 -0
- package/native/components/DatePicker.native.js +1 -0
- package/native/components/Divider.js +1 -0
- package/native/components/FileUploadRequest.js +1 -0
- package/native/components/Form.js +1 -0
- package/native/components/GlassSurface.js +1 -0
- package/native/components/Icon.js +1 -0
- package/native/components/Image.js +1 -0
- package/native/components/Input.js +1 -0
- package/native/components/ListView.js +1 -0
- package/native/components/Map/index.js +1 -0
- package/native/components/Map/index.native.js +1 -0
- package/native/components/Map/native/CalloutContent.js +1 -0
- package/native/components/Map/native/MapWebView.js +132 -0
- package/native/components/Map/native/NativeMapDisplay.js +1 -0
- package/native/components/Map/native/NativeMapInput.js +3 -0
- package/native/components/Map/native/NativeSearchOverlay.js +1 -0
- package/native/components/Map/shared/getLng.js +1 -0
- package/native/components/Map/shared/nominatim.js +1 -0
- package/native/components/Map/shared/partitionOverlays.js +1 -0
- package/native/components/Map/shared/types.js +0 -0
- package/native/components/Map/web/UserLocationContext.js +1 -0
- package/native/components/Map/web/adapters/GoogleMapsComponent.js +1 -0
- package/native/components/Map/web/adapters/OpenStreetMapComponent.js +1 -0
- package/native/components/Map/web/adapters/google.js +1 -0
- package/native/components/Map/web/adapters/index.js +1 -0
- package/native/components/Map/web/adapters/openstreetmap.js +1 -0
- package/native/components/Map/web/components/AdvancedMapMarker.js +1 -0
- package/native/components/Map/web/components/DataMarkerPopupContent.js +1 -0
- package/native/components/Map/web/components/GoogleInfoWindowTheme.js +15 -0
- package/native/components/Map/web/components/LeafletPopupTheme.js +8 -0
- package/native/components/Map/web/components/MapInputShell.js +1 -0
- package/native/components/Map/web/components/MapSearchOverlay.js +1 -0
- package/native/components/Map/web/components/MapSelectionIndicator.js +1 -0
- package/native/components/Map/web/components/MapShell.js +1 -0
- package/native/components/Map/web/components/MapSkeleton.js +1 -0
- package/native/components/Map/web/components/PopupContent.js +1 -0
- package/native/components/Map/web/components/SafeMapContainer.js +1 -0
- package/native/components/Map/web/components/SearchMarkerPopupContent.js +1 -0
- package/native/components/Map/web/constants.js +1 -0
- package/native/components/Map/web/hooks/useDirectionsUrl.js +1 -0
- package/native/components/Map/web/hooks/useMapFeatures.js +1 -0
- package/native/components/Map/web/hooks/useMapInput.js +3 -0
- package/native/components/Map/web/mapConfig.js +1 -0
- package/native/components/Map/web/mapRenderer.js +1 -0
- package/native/components/Map/web/services/google/googlePlaces.js +1 -0
- package/native/components/Map/web/services/index.js +1 -0
- package/native/components/Map/web/services/nominatim.js +1 -0
- package/native/components/Map/web/types.js +1 -0
- package/native/components/Map/web/utils/partitionOverlays.js +1 -0
- package/native/components/Map/web/utils.js +1 -0
- package/native/components/MapWidget.js +1 -0
- package/native/components/MapWidget.native.js +1 -0
- package/native/components/Markdown.js +3 -0
- package/native/components/MarkdownWidget.js +1 -0
- package/native/components/MediaDownloadButton.native.js +1 -0
- package/native/components/Placeholder.js +1 -0
- package/native/components/RadioGroup.js +1 -0
- package/native/components/Select.js +1 -0
- package/native/components/Spacer.js +1 -0
- package/native/components/Text.js +1 -0
- package/native/components/Textarea.js +1 -0
- package/native/components/Transition.js +1 -0
- package/native/components/Video.js +1 -0
- package/native/components/index.js +1 -0
- package/native/config.js +1 -0
- package/native/constants/validation.js +1 -0
- package/native/icons/icon-map.js +1 -0
- package/native/index.js +1 -0
- package/native/lib/utils.js +1 -0
- package/native/runtime/index.js +1 -0
- package/native/runtime/layoutContext.js +1 -0
- package/native/runtime/render.js +1 -0
- package/native/schema/action-types.js +1 -0
- package/native/schema/branding-types.js +0 -0
- package/native/schema/index.js +1 -0
- package/native/schema/widget-types.js +1 -0
- package/native/state/context.js +1 -0
- package/native/state/index.js +1 -0
- package/native/state/reducer.js +1 -0
- package/native/theme/ThemeContext.js +1 -0
- package/native/theme/defaults.js +1 -0
- package/native/theme/index.js +1 -0
- package/native/theme/resolveBranding.js +1 -0
- package/native/theme/style.js +1 -0
- package/native/theme/stylePipeline.js +1 -0
- package/native/theme/tokens.js +1 -0
- package/native/theme/variants.js +1 -0
- package/native/utils/formValidation.js +1 -0
- package/native/utils/formValidation.native.js +1 -0
- package/native/utils/formValidationCore.js +1 -0
- package/native/utils/safeRender.js +1 -0
- package/native/utils/widgetUtils.js +1 -0
- package/package.json +110 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as e,jsxs as t,Fragment as n}from"react/jsx-runtime";import{useRef as o,useState as s,useEffect as i,useMemo as r,PureComponent as a,memo as l,createContext as p,useContext as d,Children as h,isValidElement as u,cloneElement as c,createRef as g,useCallback as m}from"react";import*as v from"react-dom";import{createPortal as f}from"react-dom";import{a as y,e as b,f as L,c as w,M as C,j as M,k,b as x}from"./index-DvAx4AnX.js";import{p as O,g as P,u as E,M as S,D as I,S as D,P as j}from"./constants-D8-vgQM1.js";function B(e){return(B="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)}function _(e,t,n){return(t=function(e){var t=function(e){if("object"!=B(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=B(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==B(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function T(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var z,R,U=T(function(){if(R)return z;R=1;var e=process.env.NODE_ENV;return z=function(t,n,o,s,i,r,a,l){if("production"!==e&&void 0===n)throw new Error("invariant requires an error message argument");if(!t){var p;if(void 0===n)p=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var d=[o,s,i,r,a,l],h=0;(p=new Error(n.replace(/%s/g,function(){return d[h++]}))).name="Invariant Violation"}throw p.framesToPop=1,p}}}()),A=p(null);function Z(){U(!!d,"useGoogleMap is React hook and requires React version 16.8+");var e=d(A);return U(!!e,"useGoogleMap needs a GoogleMap available up in the tree"),e}function V(e){google.maps.event.removeListener(e)}function W(){(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).forEach(V)}function N(e){var{updaterMap:t,eventMap:n,prevProps:o,nextProps:s,instance:i}=e,r=function(e,t,n){var o,s,i,r=(o=n,s=function(n,o,s){return"function"==typeof e[s]&&n.push(google.maps.event.addListener(t,o,e[s])),n},i=[],Object.keys(o).reduce(function(e,t){return s(e,o[t],t)},i));return r}(s,i,n);return function(e,t,n,o){var s,i,r={};s=e,i=(e,s)=>{var i=n[s];i!==t[s]&&(r[s]=i,e(o,i))},Object.keys(s).forEach(e=>i(s[e],e))}(t,o,s,i),r}var H={onDblClick:"dblclick",onDragEnd:"dragend",onDragStart:"dragstart",onMapTypeIdChanged:"maptypeid_changed",onMouseMove:"mousemove",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseDown:"mousedown",onMouseUp:"mouseup",onRightClick:"rightclick",onTilesLoaded:"tilesloaded",onBoundsChanged:"bounds_changed",onCenterChanged:"center_changed",onClick:"click",onDrag:"drag",onHeadingChanged:"heading_changed",onIdle:"idle",onProjectionChanged:"projection_changed",onResize:"resize",onTiltChanged:"tilt_changed",onZoomChanged:"zoom_changed"},F={extraMapTypes(e,t){t.forEach(function(t,n){e.mapTypes.set(String(n),t)})},center(e,t){e.setCenter(t)},clickableIcons(e,t){e.setClickableIcons(t)},heading(e,t){e.setHeading(t)},mapTypeId(e,t){e.setMapTypeId(t)},options(e,t){e.setOptions(t)},streetView(e,t){e.setStreetView(t)},tilt(e,t){e.setTilt(t)},zoom(e,t){e.setZoom(t)}};l(function(t){var{children:n,options:r,id:a,mapContainerStyle:l,mapContainerClassName:p,center:d,onClick:h,onDblClick:u,onDrag:c,onDragEnd:g,onDragStart:m,onMouseMove:v,onMouseOut:f,onMouseOver:y,onMouseDown:b,onMouseUp:L,onRightClick:w,onCenterChanged:C,onLoad:M,onUnmount:k}=t,[x,O]=s(null),P=o(null),[E,S]=s(null),[I,D]=s(null),[j,B]=s(null),[_,T]=s(null),[z,R]=s(null),[U,Z]=s(null),[V,W]=s(null),[N,H]=s(null),[F,G]=s(null),[K,Y]=s(null),[q,$]=s(null),[J,X]=s(null);return i(()=>{r&&null!==x&&x.setOptions(r)},[x,r]),i(()=>{null!==x&&void 0!==d&&x.setCenter(d)},[x,d]),i(()=>{x&&u&&(null!==I&&google.maps.event.removeListener(I),D(google.maps.event.addListener(x,"dblclick",u)))},[u]),i(()=>{x&&g&&(null!==j&&google.maps.event.removeListener(j),B(google.maps.event.addListener(x,"dragend",g)))},[g]),i(()=>{x&&m&&(null!==_&&google.maps.event.removeListener(_),T(google.maps.event.addListener(x,"dragstart",m)))},[m]),i(()=>{x&&b&&(null!==z&&google.maps.event.removeListener(z),R(google.maps.event.addListener(x,"mousedown",b)))},[b]),i(()=>{x&&v&&(null!==U&&google.maps.event.removeListener(U),Z(google.maps.event.addListener(x,"mousemove",v)))},[v]),i(()=>{x&&f&&(null!==V&&google.maps.event.removeListener(V),W(google.maps.event.addListener(x,"mouseout",f)))},[f]),i(()=>{x&&y&&(null!==N&&google.maps.event.removeListener(N),H(google.maps.event.addListener(x,"mouseover",y)))},[y]),i(()=>{x&&L&&(null!==F&&google.maps.event.removeListener(F),G(google.maps.event.addListener(x,"mouseup",L)))},[L]),i(()=>{x&&w&&(null!==K&&google.maps.event.removeListener(K),Y(google.maps.event.addListener(x,"rightclick",w)))},[w]),i(()=>{x&&h&&(null!==q&&google.maps.event.removeListener(q),$(google.maps.event.addListener(x,"click",h)))},[h]),i(()=>{x&&c&&(null!==J&&google.maps.event.removeListener(J),X(google.maps.event.addListener(x,"drag",c)))},[c]),i(()=>{x&&C&&(null!==E&&google.maps.event.removeListener(E),S(google.maps.event.addListener(x,"center_changed",C)))},[h]),i(()=>{var e=null===P.current?null:new google.maps.Map(P.current,r);return O(e),null!==e&&M&&M(e),()=>{null!==e&&k&&k(e)}},[]),e("div",{id:a,ref:P,style:l,className:p,children:e(A.Provider,{value:x,children:null!==x?n:null})})});class G extends a{constructor(){super(...arguments),_(this,"state",{map:null}),_(this,"registeredEvents",[]),_(this,"mapRef",null),_(this,"getInstance",()=>null===this.mapRef?null:new google.maps.Map(this.mapRef,this.props.options)),_(this,"panTo",e=>{var t=this.getInstance();t&&t.panTo(e)}),_(this,"setMapCallback",()=>{null!==this.state.map&&this.props.onLoad&&this.props.onLoad(this.state.map)}),_(this,"getRef",e=>{this.mapRef=e})}componentDidMount(){var e=this.getInstance();this.registeredEvents=N({updaterMap:F,eventMap:H,prevProps:{},nextProps:this.props,instance:e}),this.setState(function(){return{map:e}},this.setMapCallback)}componentDidUpdate(e){null!==this.state.map&&(W(this.registeredEvents),this.registeredEvents=N({updaterMap:F,eventMap:H,prevProps:e,nextProps:this.props,instance:this.state.map}))}componentWillUnmount(){null!==this.state.map&&(this.props.onUnmount&&this.props.onUnmount(this.state.map),W(this.registeredEvents))}render(){return e("div",{id:this.props.id,ref:this.getRef,style:this.props.mapContainerStyle,className:this.props.mapContainerClassName,children:e(A.Provider,{value:this.state.map,children:null!==this.state.map?this.props.children:null})})}}function K(e,t,n,o,s,i,r){try{var a=e[i](r),l=a.value}catch(e){return void n(e)}a.done?t(l):Promise.resolve(l).then(o,s)}function Y(e){return function(){var t=this,n=arguments;return new Promise(function(o,s){var i=e.apply(t,n);function r(e){K(i,o,s,r,a,"next",e)}function a(e){K(i,o,s,r,a,"throw",e)}r(void 0)})}}function q(e){var{googleMapsApiKey:t,googleMapsClientId:n,version:o="weekly",language:s,region:i,libraries:r,channel:a,mapIds:l,authReferrerPolicy:p,apiUrl:d="https://maps.googleapis.com"}=e,h=[];return U(t&&n||!(t&&n),"You need to specify either googleMapsApiKey or googleMapsClientId for @react-google-maps/api load script to work. You cannot use both at the same time."),t?h.push("key=".concat(t)):n&&h.push("client=".concat(n)),o&&h.push("v=".concat(o)),s&&h.push("language=".concat(s)),i&&h.push("region=".concat(i)),r&&r.length&&h.push("libraries=".concat(r.sort().join(","))),a&&h.push("channel=".concat(a)),l&&l.length&&h.push("map_ids=".concat(l.join(","))),p&&h.push("auth_referrer_policy=".concat(p)),h.push("loading=async"),h.push("callback=initMap"),"".concat(d,"/maps/api/js?").concat(h.join("&"))}var $="undefined"!=typeof document;function J(e){var{url:t,id:n,nonce:o}=e;return $?new Promise(function(e,s){var i=document.getElementById(n),r=window;if(i){var a=i.getAttribute("data-state");if(i.src===t&&"error"!==a){if("ready"===a)return e(n);var l=r.initMap,p=i.onerror;return r.initMap=function(){l&&l(),e(n)},void(i.onerror=function(e){p&&p(e),s(e)})}i.remove()}var d=document.createElement("script");d.type="text/javascript",d.src=t,d.id=n,d.async=!0,d.nonce=o||"",d.onerror=function(e){d.setAttribute("data-state","error"),s(e)},r.initMap=function(){d.setAttribute("data-state","ready"),e(n)},document.head.appendChild(d)}).catch(e=>{throw console.error("injectScript error: ",e),e}):Promise.reject(new Error("document is undefined"))}function X(e){var t=e.href;return!((!t||0!==t.indexOf("https://fonts.googleapis.com/css?family=Roboto")&&0!==t.indexOf("https://fonts.googleapis.com/css?family=Google+Sans+Text"))&&("style"===e.tagName.toLowerCase()&&e.styleSheet&&e.styleSheet.cssText&&0===e.styleSheet.cssText.replace("\r\n","").indexOf(".gm-style")?(e.styleSheet.cssText="",0):"style"===e.tagName.toLowerCase()&&e.innerHTML&&0===e.innerHTML.replace("\r\n","").indexOf(".gm-style")?(e.innerHTML="",0):"style"!==e.tagName.toLowerCase()||e.styleSheet||e.innerHTML))}function Q(){var e=document.getElementsByTagName("head")[0];if(e){var t=e.insertBefore.bind(e);e.insertBefore=function(n,o){return X(n)||Reflect.apply(t,e,[n,o]),n};var n=e.appendChild.bind(e);e.appendChild=function(t){return X(t)||Reflect.apply(n,e,[t]),t}}}var ee=!1;function te(){return e("div",{children:"Loading..."})}var ne,oe={id:"script-loader",version:"weekly"};function se(e,t){if(null==e)return{};var n,o,s=function(e,t){if(null==e)return{};var n={};for(var o in e)if({}.hasOwnProperty.call(e,o)){if(t.includes(o))continue;n[o]=e[o]}return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o<i.length;o++)t.includes(n=i[o])||{}.propertyIsEnumerable.call(e,n)&&(s[n]=e[n])}return s}_(class extends a{constructor(){super(...arguments),_(this,"check",null),_(this,"state",{loaded:!1}),_(this,"cleanupCallback",()=>{delete window.google.maps,this.injectScript()}),_(this,"isCleaningUp",Y(function*(){return new Promise(function(e){if(ee){if($)var t=window.setInterval(function(){ee||(window.clearInterval(t),e())},1)}else e()})})),_(this,"cleanup",()=>{ee=!0;var e=document.getElementById(this.props.id);e&&e.parentNode&&e.parentNode.removeChild(e),Array.prototype.slice.call(document.getElementsByTagName("script")).filter(function(e){return"string"==typeof e.src&&e.src.includes("maps.googleapis")}).forEach(function(e){e.parentNode&&e.parentNode.removeChild(e)}),Array.prototype.slice.call(document.getElementsByTagName("link")).filter(function(e){return"https://fonts.googleapis.com/css?family=Roboto:300,400,500,700|Google+Sans"===e.href}).forEach(function(e){e.parentNode&&e.parentNode.removeChild(e)}),Array.prototype.slice.call(document.getElementsByTagName("style")).filter(function(e){return void 0!==e.innerText&&e.innerText.length>0&&e.innerText.includes(".gm-")}).forEach(function(e){e.parentNode&&e.parentNode.removeChild(e)})}),_(this,"injectScript",()=>{this.props.preventGoogleFontsLoading&&Q(),U(!!this.props.id,'LoadScript requires "id" prop to be a string: %s',this.props.id),J({id:this.props.id,nonce:this.props.nonce,url:q(this.props)}).then(()=>{this.props.onLoad&&this.props.onLoad(),this.setState(function(){return{loaded:!0}})}).catch(e=>{this.props.onError&&this.props.onError(e),console.error("\n There has been an Error with loading Google Maps API script, please check that you provided correct google API key (".concat(this.props.googleMapsApiKey||"-",") or Client ID (").concat(this.props.googleMapsClientId||"-",") to <LoadScript />\n Otherwise it is a Network issue.\n "))})}),_(this,"getRef",e=>{this.check=e})}componentDidMount(){if($){if(window.google&&window.google.maps&&!ee)return void console.error("google api is already presented");this.isCleaningUp().then(this.injectScript).catch(function(e){console.error("Error at injecting script after cleaning up: ",e)})}}componentDidUpdate(e){this.props.libraries!==e.libraries&&console.warn("Performance warning! LoadScript has been reloaded unintentionally! You should not pass `libraries` prop as new array. Please keep an array of libraries as static class property for Components and PureComponents, or just a const variable outside of component, or somewhere in config files or ENV variables"),$&&e.language!==this.props.language&&(this.cleanup(),this.setState(function(){return{loaded:!1}},this.cleanupCallback))}componentWillUnmount(){$&&(this.cleanup(),window.setTimeout(()=>{this.check||(delete window.google,ee=!1)},1),this.props.onUnmount&&this.props.onUnmount())}render(){return t(n,{children:[e("div",{ref:this.getRef}),this.state.loaded?this.props.children:this.props.loadingElement||e(te,{})]})}},"defaultProps",oe);var ie=["loadingElement","onLoad","onError","onUnmount","children"],re=e(te,{});function ae(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}l(function(e){var{loadingElement:t,onLoad:n,onError:r,onUnmount:a,children:l}=e,p=se(e,ie),{isLoaded:d,loadError:h}=function(e){var{id:t=oe.id,version:n=oe.version,nonce:r,googleMapsApiKey:a,googleMapsClientId:l,language:p,region:d,libraries:h,preventGoogleFontsLoading:u,channel:c,mapIds:g,authReferrerPolicy:m,apiUrl:v="https://maps.googleapis.com"}=e,f=o(!1),[y,b]=s(!1),[L,w]=s(void 0);i(function(){return f.current=!0,()=>{f.current=!1}},[]),i(function(){$&&u&&Q()},[u]),i(function(){y&&U(!!window.google,"useLoadScript was marked as loaded, but window.google is not present. Something went wrong.")},[y]);var C=q({version:n,googleMapsApiKey:a,googleMapsClientId:l,language:p,region:d,libraries:h,channel:c,mapIds:g,authReferrerPolicy:m,apiUrl:v});i(function(){function e(){f.current&&(b(!0),ne=C)}$&&(window.google&&window.google.maps&&ne===C?e():J({id:t,url:C,nonce:r}).then(e).catch(function(e){f.current&&w(e),console.warn("\n There has been an Error with loading Google Maps API script, please check that you provided correct google API key (".concat(a||"-",") or Client ID (").concat(l||"-",")\n Otherwise it is a Network issue.\n ")),console.error(e)}))},[t,C,r]);var M=o(void 0);return i(function(){M.current&&h!==M.current&&console.warn("Performance warning! LoadScript has been reloaded unintentionally! You should not pass `libraries` prop as new array. Please keep an array of libraries as static class property for Components and PureComponents, or just a const variable outside of component, or somewhere in config files or ENV variables"),M.current=h},[h]),{isLoaded:y,loadError:L,url:C}}(p);return i(function(){d&&"function"==typeof n&&n()},[d,n]),i(function(){h&&"function"==typeof r&&r(h)},[h,r]),i(function(){return()=>{a&&a()}},[a]),d?l:t||re}),"function"==typeof SuppressedError&&SuppressedError;var le,pe,de=ae(function e(t,n){if(t===n)return!0;if(t&&n&&"object"==typeof t&&"object"==typeof n){if(t.constructor!==n.constructor)return!1;var o,s,i;if(Array.isArray(t)){if((o=t.length)!=n.length)return!1;for(s=o;0!==s--;)if(!e(t[s],n[s]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if((o=(i=Object.keys(t)).length)!==Object.keys(n).length)return!1;for(s=o;0!==s--;)if(!Object.prototype.hasOwnProperty.call(n,i[s]))return!1;for(s=o;0!==s--;){var r=i[s];if(!e(t[r],n[r]))return!1}return!0}return t!=t&&n!=n}),he="__googleMapsScriptId";(pe=le||(le={}))[pe.INITIALIZED=0]="INITIALIZED",pe[pe.LOADING=1]="LOADING",pe[pe.SUCCESS=2]="SUCCESS",pe[pe.FAILURE=3]="FAILURE";class ue{constructor(e){var{apiKey:t,authReferrerPolicy:n,channel:o,client:s,id:i=he,language:r,libraries:a=[],mapIds:l,nonce:p,region:d,retries:h=3,url:u="https://maps.googleapis.com/maps/api/js",version:c}=e;if(this.callbacks=[],this.done=!1,this.loading=!1,this.errors=[],this.apiKey=t,this.authReferrerPolicy=n,this.channel=o,this.client=s,this.id=i||he,this.language=r,this.libraries=a,this.mapIds=l,this.nonce=p,this.region=d,this.retries=h,this.url=u,this.version=c,ue.instance){if(!de(this.options,ue.instance.options))throw new Error("Loader must not be called again with different options. ".concat(JSON.stringify(this.options)," !== ").concat(JSON.stringify(ue.instance.options)));return ue.instance}ue.instance=this}get options(){return{version:this.version,apiKey:this.apiKey,channel:this.channel,client:this.client,id:this.id,libraries:this.libraries,language:this.language,region:this.region,mapIds:this.mapIds,nonce:this.nonce,url:this.url,authReferrerPolicy:this.authReferrerPolicy}}get status(){return this.errors.length?le.FAILURE:this.done?le.SUCCESS:this.loading?le.LOADING:le.INITIALIZED}get failed(){return this.done&&!this.loading&&this.errors.length>=this.retries+1}createUrl(){var e=this.url;return e+="?callback=__googleMapsCallback&loading=async",this.apiKey&&(e+="&key=".concat(this.apiKey)),this.channel&&(e+="&channel=".concat(this.channel)),this.client&&(e+="&client=".concat(this.client)),this.libraries.length>0&&(e+="&libraries=".concat(this.libraries.join(","))),this.language&&(e+="&language=".concat(this.language)),this.region&&(e+="®ion=".concat(this.region)),this.version&&(e+="&v=".concat(this.version)),this.mapIds&&(e+="&map_ids=".concat(this.mapIds.join(","))),this.authReferrerPolicy&&(e+="&auth_referrer_policy=".concat(this.authReferrerPolicy)),e}deleteScript(){var e=document.getElementById(this.id);e&&e.remove()}load(){return this.loadPromise()}loadPromise(){return new Promise((e,t)=>{this.loadCallback(n=>{n?t(n.error):e(window.google)})})}importLibrary(e){return this.execute(),google.maps.importLibrary(e)}loadCallback(e){this.callbacks.push(e),this.execute()}setScript(){var e,t;if(document.getElementById(this.id))this.callback();else{var n={key:this.apiKey,channel:this.channel,client:this.client,libraries:this.libraries.length&&this.libraries,v:this.version,mapIds:this.mapIds,language:this.language,region:this.region,authReferrerPolicy:this.authReferrerPolicy};Object.keys(n).forEach(e=>!n[e]&&delete n[e]),(null===(t=null===(e=null===window||void 0===window?void 0:window.google)||void 0===e?void 0:e.maps)||void 0===t?void 0:t.importLibrary)||(e=>{var t,n,o,s="The Google Maps JavaScript API",i="google",r="importLibrary",a="__ib__",l=document,p=window,d=(p=p[i]||(p[i]={})).maps||(p.maps={}),h=new Set,u=new URLSearchParams,c=()=>t||(t=new Promise((r,p)=>{return c=this,m=function*(){var c;for(o in yield n=l.createElement("script"),n.id=this.id,u.set("libraries",[...h]+""),e)u.set(o.replace(/[A-Z]/g,e=>"_"+e[0].toLowerCase()),e[o]);u.set("callback",i+".maps."+a),n.src=this.url+"?"+u,d[a]=r,n.onerror=()=>t=p(Error(s+" could not load.")),n.nonce=this.nonce||(null===(c=l.querySelector("script[nonce]"))||void 0===c?void 0:c.nonce)||"",l.head.append(n)},new((g=void 0)||(g=Promise))(function(e,t){function n(e){try{s(m.next(e))}catch(e){t(e)}}function o(e){try{s(m.throw(e))}catch(e){t(e)}}function s(t){var s;t.done?e(t.value):(s=t.value,s instanceof g?s:new g(function(e){e(s)})).then(n,o)}s((m=m.apply(c,[])).next())});var c,g,m}));d[r]?console.warn(s+" only loads once. Ignoring:",e):d[r]=function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),o=1;o<t;o++)n[o-1]=arguments[o];return h.add(e)&&c().then(()=>d[r](e,...n))}})(n);var o=this.libraries.map(e=>this.importLibrary(e));o.length||o.push(this.importLibrary("core")),Promise.all(o).then(()=>this.callback(),e=>{var t=new ErrorEvent("error",{error:e});this.loadErrorCallback(t)})}}reset(){this.deleteScript(),this.done=!1,this.loading=!1,this.errors=[],this.onerrorEvent=null}resetIfRetryingFailed(){this.failed&&this.reset()}loadErrorCallback(e){if(this.errors.push(e),this.errors.length<=this.retries){var t=this.errors.length*Math.pow(2,this.errors.length);console.error("Failed to load Google Maps script, retrying in ".concat(t," ms.")),setTimeout(()=>{this.deleteScript(),this.setScript()},t)}else this.onerrorEvent=e,this.callback()}callback(){this.done=!0,this.loading=!1,this.callbacks.forEach(e=>{e(this.onerrorEvent)}),this.callbacks=[]}execute(){if(this.resetIfRetryingFailed(),!this.loading)if(this.done)this.callback();else{if(window.google&&window.google.maps&&window.google.maps.version)return console.warn("Google Maps already loaded outside @googlemaps/js-api-loader. This may result in undesirable behavior as options and script parameters may not match."),void this.callback();this.loading=!0,this.setScript()}}}var ce=["maps"];function ge(e){var{id:t=oe.id,version:n=oe.version,nonce:a,googleMapsApiKey:l,language:p,region:d,libraries:h=ce,preventGoogleFontsLoading:u,mapIds:c,authReferrerPolicy:g}=e,m=o(!1),[v,f]=s(!1),[y,b]=s(void 0);i(function(){return m.current=!0,()=>{m.current=!1}},[]);var L=r(()=>new ue({id:t,apiKey:l,version:n,libraries:h,language:p||"en",region:d||"US",mapIds:c||[],nonce:a||"",authReferrerPolicy:g||"origin"}),[t,l,n,h,p,d,c,a,g]);i(function(){v||L.load().then(()=>{m.current&&f(!0)}).catch(e=>{b(e)})},[]),i(()=>{$&&u&&Q()},[u]);var w=o();return i(()=>{w.current&&h!==w.current&&console.warn("Performance warning! LoadScript has been reloaded unintentionally! You should not pass `libraries` prop as new array. Please keep an array of libraries as static class property for Components and PureComponents, or just a const variable outside of component, or somewhere in config files or ENV variables"),w.current=h},[h]),{isLoaded:v,loadError:y}}function me(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,o)}return n}function ve(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?me(Object(n),!0).forEach(function(t){_(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):me(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var fe={},ye={options(e,t){e.setOptions(t)}};function be(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,o)}return n}function Le(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?be(Object(n),!0).forEach(function(t){_(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):be(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}l(function(e){var{options:t,onLoad:n,onUnmount:o}=e,r=d(A),[a,l]=s(null);return i(()=>{null!==a&&a.setMap(r)},[r]),i(()=>{t&&null!==a&&a.setOptions(t)},[a,t]),i(()=>{var e=new google.maps.TrafficLayer(ve(ve({},t),{},{map:r}));return l(e),n&&n(e),()=>{null!==a&&(o&&o(a),a.setMap(null))}},[]),null}),_(class extends a{constructor(){super(...arguments),_(this,"state",{trafficLayer:null}),_(this,"setTrafficLayerCallback",()=>{null!==this.state.trafficLayer&&this.props.onLoad&&this.props.onLoad(this.state.trafficLayer)}),_(this,"registeredEvents",[])}componentDidMount(){var e=new google.maps.TrafficLayer(ve(ve({},this.props.options),{},{map:this.context}));this.registeredEvents=N({updaterMap:ye,eventMap:fe,prevProps:{},nextProps:this.props,instance:e}),this.setState(function(){return{trafficLayer:e}},this.setTrafficLayerCallback)}componentDidUpdate(e){null!==this.state.trafficLayer&&(W(this.registeredEvents),this.registeredEvents=N({updaterMap:ye,eventMap:fe,prevProps:e,nextProps:this.props,instance:this.state.trafficLayer}))}componentWillUnmount(){null!==this.state.trafficLayer&&(this.props.onUnmount&&this.props.onUnmount(this.state.trafficLayer),W(this.registeredEvents),this.state.trafficLayer.setMap(null))}render(){return null}},"contextType",A),l(function(e){var{onLoad:t,onUnmount:n}=e,o=d(A),[r,a]=s(null);return i(()=>{null!==r&&r.setMap(o)},[o]),i(()=>{var e=new google.maps.BicyclingLayer;return a(e),e.setMap(o),t&&t(e),()=>{null!==e&&(n&&n(e),e.setMap(null))}},[]),null}),_(class extends a{constructor(){super(...arguments),_(this,"state",{bicyclingLayer:null}),_(this,"setBicyclingLayerCallback",()=>{null!==this.state.bicyclingLayer&&(this.state.bicyclingLayer.setMap(this.context),this.props.onLoad&&this.props.onLoad(this.state.bicyclingLayer))})}componentDidMount(){var e=new google.maps.BicyclingLayer;this.setState(()=>({bicyclingLayer:e}),this.setBicyclingLayerCallback)}componentWillUnmount(){null!==this.state.bicyclingLayer&&(this.props.onUnmount&&this.props.onUnmount(this.state.bicyclingLayer),this.state.bicyclingLayer.setMap(null))}render(){return null}},"contextType",A),l(function(e){var{onLoad:t,onUnmount:n}=e,o=d(A),[r,a]=s(null);return i(()=>{null!==r&&r.setMap(o)},[o]),i(()=>{var e=new google.maps.TransitLayer;return a(e),e.setMap(o),t&&t(e),()=>{null!==r&&(n&&n(r),r.setMap(null))}},[]),null}),_(class extends a{constructor(){super(...arguments),_(this,"state",{transitLayer:null}),_(this,"setTransitLayerCallback",()=>{null!==this.state.transitLayer&&(this.state.transitLayer.setMap(this.context),this.props.onLoad&&this.props.onLoad(this.state.transitLayer))})}componentDidMount(){var e=new google.maps.TransitLayer;this.setState(function(){return{transitLayer:e}},this.setTransitLayerCallback)}componentWillUnmount(){null!==this.state.transitLayer&&(this.props.onUnmount&&this.props.onUnmount(this.state.transitLayer),this.state.transitLayer.setMap(null))}render(){return null}},"contextType",A);var we={onCircleComplete:"circlecomplete",onMarkerComplete:"markercomplete",onOverlayComplete:"overlaycomplete",onPolygonComplete:"polygoncomplete",onPolylineComplete:"polylinecomplete",onRectangleComplete:"rectanglecomplete"},Ce={drawingMode(e,t){e.setDrawingMode(t)},options(e,t){e.setOptions(t)}};function Me(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,o)}return n}function ke(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Me(Object(n),!0).forEach(function(t){_(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Me(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}l(function(e){var{options:t,drawingMode:n,onCircleComplete:o,onMarkerComplete:r,onOverlayComplete:a,onPolygonComplete:l,onPolylineComplete:p,onRectangleComplete:h,onLoad:u,onUnmount:c}=e,g=d(A),[m,v]=s(null),[f,y]=s(null),[b,L]=s(null),[w,C]=s(null),[M,k]=s(null),[x,O]=s(null),[P,E]=s(null);return i(()=>{null!==m&&m.setMap(g)},[g]),i(()=>{t&&null!==m&&m.setOptions(t)},[m,t]),i(()=>{null!==m&&m.setDrawingMode(null!=n?n:null)},[m,n]),i(()=>{m&&o&&(null!==f&&google.maps.event.removeListener(f),y(google.maps.event.addListener(m,"circlecomplete",o)))},[m,o]),i(()=>{m&&r&&(null!==b&&google.maps.event.removeListener(b),L(google.maps.event.addListener(m,"markercomplete",r)))},[m,r]),i(()=>{m&&a&&(null!==w&&google.maps.event.removeListener(w),C(google.maps.event.addListener(m,"overlaycomplete",a)))},[m,a]),i(()=>{m&&l&&(null!==M&&google.maps.event.removeListener(M),k(google.maps.event.addListener(m,"polygoncomplete",l)))},[m,l]),i(()=>{m&&p&&(null!==x&&google.maps.event.removeListener(x),O(google.maps.event.addListener(m,"polylinecomplete",p)))},[m,p]),i(()=>{m&&h&&(null!==P&&google.maps.event.removeListener(P),E(google.maps.event.addListener(m,"rectanglecomplete",h)))},[m,h]),i(()=>{U(!!google.maps.drawing,"Did you include prop libraries={['drawing']} in the URL? %s",google.maps.drawing);var e=new google.maps.drawing.DrawingManager(Le(Le({},t),{},{map:g}));return n&&e.setDrawingMode(n),o&&y(google.maps.event.addListener(e,"circlecomplete",o)),r&&L(google.maps.event.addListener(e,"markercomplete",r)),a&&C(google.maps.event.addListener(e,"overlaycomplete",a)),l&&k(google.maps.event.addListener(e,"polygoncomplete",l)),p&&O(google.maps.event.addListener(e,"polylinecomplete",p)),h&&E(google.maps.event.addListener(e,"rectanglecomplete",h)),v(e),u&&u(e),()=>{null!==m&&(f&&google.maps.event.removeListener(f),b&&google.maps.event.removeListener(b),w&&google.maps.event.removeListener(w),M&&google.maps.event.removeListener(M),x&&google.maps.event.removeListener(x),P&&google.maps.event.removeListener(P),c&&c(m),m.setMap(null))}},[]),null}),_(class extends a{constructor(e){super(e),_(this,"registeredEvents",[]),_(this,"state",{drawingManager:null}),_(this,"setDrawingManagerCallback",()=>{null!==this.state.drawingManager&&this.props.onLoad&&this.props.onLoad(this.state.drawingManager)}),U(!!google.maps.drawing,"Did you include prop libraries={['drawing']} in the URL? %s",google.maps.drawing)}componentDidMount(){var e=new google.maps.drawing.DrawingManager(Le(Le({},this.props.options),{},{map:this.context}));this.registeredEvents=N({updaterMap:Ce,eventMap:we,prevProps:{},nextProps:this.props,instance:e}),this.setState(function(){return{drawingManager:e}},this.setDrawingManagerCallback)}componentDidUpdate(e){null!==this.state.drawingManager&&(W(this.registeredEvents),this.registeredEvents=N({updaterMap:Ce,eventMap:we,prevProps:e,nextProps:this.props,instance:this.state.drawingManager}))}componentWillUnmount(){null!==this.state.drawingManager&&(this.props.onUnmount&&this.props.onUnmount(this.state.drawingManager),W(this.registeredEvents),this.state.drawingManager.setMap(null))}render(){return null}},"contextType",A);var xe={onAnimationChanged:"animation_changed",onClick:"click",onClickableChanged:"clickable_changed",onCursorChanged:"cursor_changed",onDblClick:"dblclick",onDrag:"drag",onDragEnd:"dragend",onDraggableChanged:"draggable_changed",onDragStart:"dragstart",onFlatChanged:"flat_changed",onIconChanged:"icon_changed",onMouseDown:"mousedown",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onPositionChanged:"position_changed",onRightClick:"rightclick",onShapeChanged:"shape_changed",onTitleChanged:"title_changed",onVisibleChanged:"visible_changed",onZindexChanged:"zindex_changed"},Oe={animation(e,t){e.setAnimation(t)},clickable(e,t){e.setClickable(t)},cursor(e,t){e.setCursor(t)},draggable(e,t){e.setDraggable(t)},icon(e,t){e.setIcon(t)},label(e,t){e.setLabel(t)},map(e,t){e.setMap(t)},opacity(e,t){e.setOpacity(t)},options(e,t){e.setOptions(t)},position(e,t){e.setPosition(t)},shape(e,t){e.setShape(t)},title(e,t){e.setTitle(t)},visible(e,t){e.setVisible(t)},zIndex(e,t){e.setZIndex(t)}},Pe={};l(function(t){var{position:o,options:a,clusterer:l,noClustererRedraw:p,children:g,draggable:m,visible:v,animation:f,clickable:y,cursor:b,icon:L,label:w,opacity:C,shape:M,title:k,zIndex:x,onClick:O,onDblClick:P,onDrag:E,onDragEnd:S,onDragStart:I,onMouseOut:D,onMouseOver:j,onMouseUp:B,onMouseDown:_,onRightClick:T,onClickableChanged:z,onCursorChanged:R,onAnimationChanged:U,onDraggableChanged:Z,onFlatChanged:V,onIconChanged:W,onPositionChanged:N,onShapeChanged:H,onTitleChanged:F,onVisibleChanged:G,onZindexChanged:K,onLoad:Y,onUnmount:q}=t,$=d(A),[J,X]=s(null),[Q,ee]=s(null),[te,ne]=s(null),[oe,se]=s(null),[ie,re]=s(null),[ae,le]=s(null),[pe,de]=s(null),[he,ue]=s(null),[ce,ge]=s(null),[me,ve]=s(null),[fe,ye]=s(null),[be,Le]=s(null),[we,Ce]=s(null),[Me,xe]=s(null),[Oe,Ee]=s(null),[Se,Ie]=s(null),[De,je]=s(null),[Be,_e]=s(null),[Te,ze]=s(null),[Re,Ue]=s(null),[Ae,Ze]=s(null),[Ve,We]=s(null);i(()=>{null!==J&&J.setMap($)},[$]),i(()=>{void 0!==a&&null!==J&&J.setOptions(a)},[J,a]),i(()=>{void 0!==m&&null!==J&&J.setDraggable(m)},[J,m]),i(()=>{o&&null!==J&&J.setPosition(o)},[J,o]),i(()=>{void 0!==v&&null!==J&&J.setVisible(v)},[J,v]),i(()=>{null==J||J.setAnimation(f)},[J,f]),i(()=>{J&&void 0!==y&&J.setClickable(y)},[J,y]),i(()=>{J&&void 0!==b&&J.setCursor(b)},[J,b]),i(()=>{J&&void 0!==L&&J.setIcon(L)},[J,L]),i(()=>{J&&void 0!==w&&J.setLabel(w)},[J,w]),i(()=>{J&&void 0!==C&&J.setOpacity(C)},[J,C]),i(()=>{J&&void 0!==M&&J.setShape(M)},[J,M]),i(()=>{J&&void 0!==k&&J.setTitle(k)},[J,k]),i(()=>{J&&void 0!==x&&J.setZIndex(x)},[J,x]),i(()=>{J&&P&&(null!==Q&&google.maps.event.removeListener(Q),ee(google.maps.event.addListener(J,"dblclick",P)))},[P]),i(()=>{J&&S&&(null!==te&&google.maps.event.removeListener(te),ne(google.maps.event.addListener(J,"dragend",S)))},[S]),i(()=>{J&&I&&(null!==oe&&google.maps.event.removeListener(oe),se(google.maps.event.addListener(J,"dragstart",I)))},[I]),i(()=>{J&&_&&(null!==ie&&google.maps.event.removeListener(ie),re(google.maps.event.addListener(J,"mousedown",_)))},[_]),i(()=>{J&&D&&(null!==ae&&google.maps.event.removeListener(ae),le(google.maps.event.addListener(J,"mouseout",D)))},[D]),i(()=>{J&&j&&(null!==pe&&google.maps.event.removeListener(pe),de(google.maps.event.addListener(J,"mouseover",j)))},[j]),i(()=>{J&&B&&(null!==he&&google.maps.event.removeListener(he),ue(google.maps.event.addListener(J,"mouseup",B)))},[B]),i(()=>{J&&T&&(null!==ce&&google.maps.event.removeListener(ce),ge(google.maps.event.addListener(J,"rightclick",T)))},[T]),i(()=>{J&&O&&(null!==me&&google.maps.event.removeListener(me),ve(google.maps.event.addListener(J,"click",O)))},[O]),i(()=>{J&&E&&(null!==fe&&google.maps.event.removeListener(fe),ye(google.maps.event.addListener(J,"drag",E)))},[E]),i(()=>{J&&z&&(null!==be&&google.maps.event.removeListener(be),Le(google.maps.event.addListener(J,"clickable_changed",z)))},[z]),i(()=>{J&&R&&(null!==we&&google.maps.event.removeListener(we),Ce(google.maps.event.addListener(J,"cursor_changed",R)))},[R]),i(()=>{J&&U&&(null!==Me&&google.maps.event.removeListener(Me),xe(google.maps.event.addListener(J,"animation_changed",U)))},[U]),i(()=>{J&&Z&&(null!==Oe&&google.maps.event.removeListener(Oe),Ee(google.maps.event.addListener(J,"draggable_changed",Z)))},[Z]),i(()=>{J&&V&&(null!==Se&&google.maps.event.removeListener(Se),Ie(google.maps.event.addListener(J,"flat_changed",V)))},[V]),i(()=>{J&&W&&(null!==De&&google.maps.event.removeListener(De),je(google.maps.event.addListener(J,"icon_changed",W)))},[W]),i(()=>{J&&N&&(null!==Be&&google.maps.event.removeListener(Be),_e(google.maps.event.addListener(J,"position_changed",N)))},[N]),i(()=>{J&&H&&(null!==Te&&google.maps.event.removeListener(Te),ze(google.maps.event.addListener(J,"shape_changed",H)))},[H]),i(()=>{J&&F&&(null!==Re&&google.maps.event.removeListener(Re),Ue(google.maps.event.addListener(J,"title_changed",F)))},[F]),i(()=>{J&&G&&(null!==Ae&&google.maps.event.removeListener(Ae),Ze(google.maps.event.addListener(J,"visible_changed",G)))},[G]),i(()=>{J&&K&&(null!==Ve&&google.maps.event.removeListener(Ve),We(google.maps.event.addListener(J,"zindex_changed",K)))},[K]),i(()=>{var e=ke(ke(ke({},a||Pe),l?Pe:{map:$}),{},{position:o}),t=new google.maps.Marker(e);return l?l.addMarker(t,!!p):t.setMap($),o&&t.setPosition(o),void 0!==v&&t.setVisible(v),void 0!==m&&t.setDraggable(m),void 0!==y&&t.setClickable(y),"string"==typeof b&&t.setCursor(b),L&&t.setIcon(L),void 0!==w&&t.setLabel(w),void 0!==C&&t.setOpacity(C),M&&t.setShape(M),"string"==typeof k&&t.setTitle(k),"number"==typeof x&&t.setZIndex(x),P&&ee(google.maps.event.addListener(t,"dblclick",P)),S&&ne(google.maps.event.addListener(t,"dragend",S)),I&&se(google.maps.event.addListener(t,"dragstart",I)),_&&re(google.maps.event.addListener(t,"mousedown",_)),D&&le(google.maps.event.addListener(t,"mouseout",D)),j&&de(google.maps.event.addListener(t,"mouseover",j)),B&&ue(google.maps.event.addListener(t,"mouseup",B)),T&&ge(google.maps.event.addListener(t,"rightclick",T)),O&&ve(google.maps.event.addListener(t,"click",O)),E&&ye(google.maps.event.addListener(t,"drag",E)),z&&Le(google.maps.event.addListener(t,"clickable_changed",z)),R&&Ce(google.maps.event.addListener(t,"cursor_changed",R)),U&&xe(google.maps.event.addListener(t,"animation_changed",U)),Z&&Ee(google.maps.event.addListener(t,"draggable_changed",Z)),V&&Ie(google.maps.event.addListener(t,"flat_changed",V)),W&&je(google.maps.event.addListener(t,"icon_changed",W)),N&&_e(google.maps.event.addListener(t,"position_changed",N)),H&&ze(google.maps.event.addListener(t,"shape_changed",H)),F&&Ue(google.maps.event.addListener(t,"title_changed",F)),G&&Ze(google.maps.event.addListener(t,"visible_changed",G)),K&&We(google.maps.event.addListener(t,"zindex_changed",K)),X(t),Y&&Y(t),()=>{null!==Q&&google.maps.event.removeListener(Q),null!==te&&google.maps.event.removeListener(te),null!==oe&&google.maps.event.removeListener(oe),null!==ie&&google.maps.event.removeListener(ie),null!==ae&&google.maps.event.removeListener(ae),null!==pe&&google.maps.event.removeListener(pe),null!==he&&google.maps.event.removeListener(he),null!==ce&&google.maps.event.removeListener(ce),null!==me&&google.maps.event.removeListener(me),null!==be&&google.maps.event.removeListener(be),null!==we&&google.maps.event.removeListener(we),null!==Me&&google.maps.event.removeListener(Me),null!==Oe&&google.maps.event.removeListener(Oe),null!==Se&&google.maps.event.removeListener(Se),null!==De&&google.maps.event.removeListener(De),null!==Be&&google.maps.event.removeListener(Be),null!==Re&&google.maps.event.removeListener(Re),null!==Ae&&google.maps.event.removeListener(Ae),null!==Ve&&google.maps.event.removeListener(Ve),q&&q(t),l?l.removeMarker(t,!!p):t&&t.setMap(null)}},[]);var Ne=r(()=>g?h.map(g,e=>u(e)?c(e,{anchor:J}):e):null,[g,J]);return e(n,{children:Ne})||null}),_(class extends a{constructor(){super(...arguments),_(this,"registeredEvents",[])}componentDidMount(){var e=this;return Y(function*(){var t=ke(ke(ke({},e.props.options||Pe),e.props.clusterer?Pe:{map:e.context}),{},{position:e.props.position});e.marker=new google.maps.Marker(t),e.props.clusterer?e.props.clusterer.addMarker(e.marker,!!e.props.noClustererRedraw):e.marker.setMap(e.context),e.registeredEvents=N({updaterMap:Oe,eventMap:xe,prevProps:{},nextProps:e.props,instance:e.marker}),e.props.onLoad&&e.props.onLoad(e.marker)})()}componentDidUpdate(e){this.marker&&(W(this.registeredEvents),this.registeredEvents=N({updaterMap:Oe,eventMap:xe,prevProps:e,nextProps:this.props,instance:this.marker}))}componentWillUnmount(){this.marker&&(this.props.onUnmount&&this.props.onUnmount(this.marker),W(this.registeredEvents),this.props.clusterer?this.props.clusterer.removeMarker(this.marker,!!this.props.noClustererRedraw):this.marker&&this.marker.setMap(null))}render(){return(this.props.children?h.map(this.props.children,e=>u(e)?c(e,{anchor:this.marker}):e):null)||null}},"contextType",A);var Ee=function(){function e(t,n){t.getClusterer().extend(e,google.maps.OverlayView),this.cluster=t,this.clusterClassName=this.cluster.getClusterer().getClusterClass(),this.className=this.clusterClassName,this.styles=n,this.center=void 0,this.div=null,this.sums=null,this.visible=!1,this.boundsChangedListener=null,this.url="",this.height=0,this.width=0,this.anchorText=[0,0],this.anchorIcon=[0,0],this.textColor="black",this.textSize=11,this.textDecoration="none",this.fontWeight="bold",this.fontStyle="normal",this.fontFamily="Arial,sans-serif",this.backgroundPosition="0 0",this.cMouseDownInCluster=null,this.cDraggingMapByCluster=null,this.timeOut=null,this.setMap(t.getMap()),this.onBoundsChanged=this.onBoundsChanged.bind(this),this.onMouseDown=this.onMouseDown.bind(this),this.onClick=this.onClick.bind(this),this.onMouseOver=this.onMouseOver.bind(this),this.onMouseOut=this.onMouseOut.bind(this),this.onAdd=this.onAdd.bind(this),this.onRemove=this.onRemove.bind(this),this.draw=this.draw.bind(this),this.hide=this.hide.bind(this),this.show=this.show.bind(this),this.useStyle=this.useStyle.bind(this),this.setCenter=this.setCenter.bind(this),this.getPosFromLatLng=this.getPosFromLatLng.bind(this)}return e.prototype.onBoundsChanged=function(){this.cDraggingMapByCluster=this.cMouseDownInCluster},e.prototype.onMouseDown=function(){this.cMouseDownInCluster=!0,this.cDraggingMapByCluster=!1},e.prototype.onClick=function(e){if(this.cMouseDownInCluster=!1,!this.cDraggingMapByCluster){var t=this.cluster.getClusterer();if(google.maps.event.trigger(t,"click",this.cluster),google.maps.event.trigger(t,"clusterclick",this.cluster),t.getZoomOnClick()){var n=t.getMaxZoom(),o=this.cluster.getBounds(),s=t.getMap();null!==s&&"fitBounds"in s&&s.fitBounds(o),this.timeOut=window.setTimeout(function(){var e=t.getMap();if(null!==e){"fitBounds"in e&&e.fitBounds(o);var s=e.getZoom()||0;null!==n&&s>n&&e.setZoom(n+1)}},100)}e.cancelBubble=!0,e.stopPropagation&&e.stopPropagation()}},e.prototype.onMouseOver=function(){google.maps.event.trigger(this.cluster.getClusterer(),"mouseover",this.cluster)},e.prototype.onMouseOut=function(){google.maps.event.trigger(this.cluster.getClusterer(),"mouseout",this.cluster)},e.prototype.onAdd=function(){var e;this.div=document.createElement("div"),this.div.className=this.className,this.visible&&this.show(),null===(e=this.getPanes())||void 0===e||e.overlayMouseTarget.appendChild(this.div);var t=this.getMap();null!==t&&(this.boundsChangedListener=google.maps.event.addListener(t,"bounds_changed",this.onBoundsChanged),this.div.addEventListener("mousedown",this.onMouseDown),this.div.addEventListener("click",this.onClick),this.div.addEventListener("mouseover",this.onMouseOver),this.div.addEventListener("mouseout",this.onMouseOut))},e.prototype.onRemove=function(){this.div&&this.div.parentNode&&(this.hide(),null!==this.boundsChangedListener&&google.maps.event.removeListener(this.boundsChangedListener),this.div.removeEventListener("mousedown",this.onMouseDown),this.div.removeEventListener("click",this.onClick),this.div.removeEventListener("mouseover",this.onMouseOver),this.div.removeEventListener("mouseout",this.onMouseOut),this.div.parentNode.removeChild(this.div),null!==this.timeOut&&(window.clearTimeout(this.timeOut),this.timeOut=null),this.div=null)},e.prototype.draw=function(){if(this.visible&&null!==this.div&&this.center){var e=this.getPosFromLatLng(this.center);this.div.style.top=null!==e?"".concat(e.y,"px"):"0",this.div.style.left=null!==e?"".concat(e.x,"px"):"0"}},e.prototype.hide=function(){this.div&&(this.div.style.display="none"),this.visible=!1},e.prototype.show=function(){var e,t,n,o,s,i;if(this.div&&this.center){var r=null===this.sums||void 0===this.sums.title||""===this.sums.title?this.cluster.getClusterer().getTitle():this.sums.title,a=this.backgroundPosition.split(" "),l=parseInt((null===(e=a[0])||void 0===e?void 0:e.replace(/^\s+|\s+$/g,""))||"0",10),p=parseInt((null===(t=a[1])||void 0===t?void 0:t.replace(/^\s+|\s+$/g,""))||"0",10),d=this.getPosFromLatLng(this.center);this.div.className=this.className,this.div.setAttribute("style","cursor: pointer; position: absolute; top: ".concat(null!==d?"".concat(d.y,"px"):"0","; left: ").concat(null!==d?"".concat(d.x,"px"):"0","; width: ").concat(this.width,"px; height: ").concat(this.height,"px; "));var h=document.createElement("img");h.alt=r,h.src=this.url,h.width=this.width,h.height=this.height,h.setAttribute("style","position: absolute; top: ".concat(p,"px; left: ").concat(l,"px")),this.cluster.getClusterer().enableRetinaIcons||(h.style.clip="rect(-".concat(p,"px, -").concat(l+this.width,"px, -").concat(p+this.height,", -").concat(l,")"));var u=document.createElement("div");u.setAttribute("style","position: absolute; top: ".concat(this.anchorText[0],"px; left: ").concat(this.anchorText[1],"px; color: ").concat(this.textColor,"; font-size: ").concat(this.textSize,"px; font-family: ").concat(this.fontFamily,"; font-weight: ").concat(this.fontWeight,"; fontStyle: ").concat(this.fontStyle,"; text-decoration: ").concat(this.textDecoration,"; text-align: center; width: ").concat(this.width,"px; line-height: ").concat(this.height,"px")),(null===(n=this.sums)||void 0===n?void 0:n.text)&&(u.innerText="".concat(null===(o=this.sums)||void 0===o?void 0:o.text)),(null===(s=this.sums)||void 0===s?void 0:s.html)&&(u.innerHTML="".concat(null===(i=this.sums)||void 0===i?void 0:i.html)),this.div.innerHTML="",this.div.appendChild(h),this.div.appendChild(u),this.div.title=r,this.div.style.display=""}this.visible=!0},e.prototype.useStyle=function(e){this.sums=e;var t=this.cluster.getClusterer().getStyles(),n=t[Math.min(t.length-1,Math.max(0,e.index-1))];n&&(this.url=n.url,this.height=n.height,this.width=n.width,n.className&&(this.className="".concat(this.clusterClassName," ").concat(n.className)),this.anchorText=n.anchorText||[0,0],this.anchorIcon=n.anchorIcon||[this.height/2,this.width/2],this.textColor=n.textColor||"black",this.textSize=n.textSize||11,this.textDecoration=n.textDecoration||"none",this.fontWeight=n.fontWeight||"bold",this.fontStyle=n.fontStyle||"normal",this.fontFamily=n.fontFamily||"Arial,sans-serif",this.backgroundPosition=n.backgroundPosition||"0 0")},e.prototype.setCenter=function(e){this.center=e},e.prototype.getPosFromLatLng=function(e){var t=this.getProjection().fromLatLngToDivPixel(e);return null!==t&&(t.x-=this.anchorIcon[1],t.y-=this.anchorIcon[0]),t},e}(),Se=function(){function e(e){this.markerClusterer=e,this.map=this.markerClusterer.getMap(),this.gridSize=this.markerClusterer.getGridSize(),this.minClusterSize=this.markerClusterer.getMinimumClusterSize(),this.averageCenter=this.markerClusterer.getAverageCenter(),this.markers=[],this.center=void 0,this.bounds=null,this.clusterIcon=new Ee(this,this.markerClusterer.getStyles()),this.getSize=this.getSize.bind(this),this.getMarkers=this.getMarkers.bind(this),this.getCenter=this.getCenter.bind(this),this.getMap=this.getMap.bind(this),this.getClusterer=this.getClusterer.bind(this),this.getBounds=this.getBounds.bind(this),this.remove=this.remove.bind(this),this.addMarker=this.addMarker.bind(this),this.isMarkerInClusterBounds=this.isMarkerInClusterBounds.bind(this),this.calculateBounds=this.calculateBounds.bind(this),this.updateIcon=this.updateIcon.bind(this),this.isMarkerAlreadyAdded=this.isMarkerAlreadyAdded.bind(this)}return e.prototype.getSize=function(){return this.markers.length},e.prototype.getMarkers=function(){return this.markers},e.prototype.getCenter=function(){return this.center},e.prototype.getMap=function(){return this.map},e.prototype.getClusterer=function(){return this.markerClusterer},e.prototype.getBounds=function(){for(var e=new google.maps.LatLngBounds(this.center,this.center),t=0,n=this.getMarkers();t<n.length;t++){var o=n[t].getPosition();o&&e.extend(o)}return e},e.prototype.remove=function(){this.clusterIcon.setMap(null),this.markers=[],delete this.markers},e.prototype.addMarker=function(e){var t,n;if(this.isMarkerAlreadyAdded(e))return!1;if(this.center){if(this.averageCenter&&(n=e.getPosition())){var o=this.markers.length+1;this.center=new google.maps.LatLng((this.center.lat()*(o-1)+n.lat())/o,(this.center.lng()*(o-1)+n.lng())/o),this.calculateBounds()}}else(n=e.getPosition())&&(this.center=n,this.calculateBounds());e.isAdded=!0,this.markers.push(e);var s=this.markers.length,i=this.markerClusterer.getMaxZoom(),r=null===(t=this.map)||void 0===t?void 0:t.getZoom();if(null!==i&&void 0!==r&&r>i)e.getMap()!==this.map&&e.setMap(this.map);else if(s<this.minClusterSize)e.getMap()!==this.map&&e.setMap(this.map);else if(s===this.minClusterSize)for(var a=0,l=this.markers;a<l.length;a++)l[a].setMap(null);else e.setMap(null);return!0},e.prototype.isMarkerInClusterBounds=function(e){if(null!==this.bounds){var t=e.getPosition();if(t)return this.bounds.contains(t)}return!1},e.prototype.calculateBounds=function(){this.bounds=this.markerClusterer.getExtendedBounds(new google.maps.LatLngBounds(this.center,this.center))},e.prototype.updateIcon=function(){var e,t=this.markers.length,n=this.markerClusterer.getMaxZoom(),o=null===(e=this.map)||void 0===e?void 0:e.getZoom();null!==n&&void 0!==o&&o>n||t<this.minClusterSize?this.clusterIcon.hide():(this.center&&this.clusterIcon.setCenter(this.center),this.clusterIcon.useStyle(this.markerClusterer.getCalculator()(this.markers,this.markerClusterer.getStyles().length)),this.clusterIcon.show())},e.prototype.isMarkerAlreadyAdded=function(e){if(this.markers.includes)return this.markers.includes(e);for(var t=0;t<this.markers.length;t++)if(e===this.markers[t])return!0;return!1},e}();function Ie(e,t){var n=e.length,o=n.toString().length,s=Math.min(o,t);return{text:n.toString(),index:s,title:""}}var De=[53,56,66,78,90],je=function(){function e(t,n,o){void 0===n&&(n=[]),void 0===o&&(o={}),this.getMinimumClusterSize=this.getMinimumClusterSize.bind(this),this.setMinimumClusterSize=this.setMinimumClusterSize.bind(this),this.getEnableRetinaIcons=this.getEnableRetinaIcons.bind(this),this.setEnableRetinaIcons=this.setEnableRetinaIcons.bind(this),this.addToClosestCluster=this.addToClosestCluster.bind(this),this.getImageExtension=this.getImageExtension.bind(this),this.setImageExtension=this.setImageExtension.bind(this),this.getExtendedBounds=this.getExtendedBounds.bind(this),this.getAverageCenter=this.getAverageCenter.bind(this),this.setAverageCenter=this.setAverageCenter.bind(this),this.getTotalClusters=this.getTotalClusters.bind(this),this.fitMapToMarkers=this.fitMapToMarkers.bind(this),this.getIgnoreHidden=this.getIgnoreHidden.bind(this),this.setIgnoreHidden=this.setIgnoreHidden.bind(this),this.getClusterClass=this.getClusterClass.bind(this),this.setClusterClass=this.setClusterClass.bind(this),this.getTotalMarkers=this.getTotalMarkers.bind(this),this.getZoomOnClick=this.getZoomOnClick.bind(this),this.setZoomOnClick=this.setZoomOnClick.bind(this),this.getBatchSizeIE=this.getBatchSizeIE.bind(this),this.setBatchSizeIE=this.setBatchSizeIE.bind(this),this.createClusters=this.createClusters.bind(this),this.onZoomChanged=this.onZoomChanged.bind(this),this.getImageSizes=this.getImageSizes.bind(this),this.setImageSizes=this.setImageSizes.bind(this),this.getCalculator=this.getCalculator.bind(this),this.setCalculator=this.setCalculator.bind(this),this.removeMarkers=this.removeMarkers.bind(this),this.resetViewport=this.resetViewport.bind(this),this.getImagePath=this.getImagePath.bind(this),this.setImagePath=this.setImagePath.bind(this),this.pushMarkerTo=this.pushMarkerTo.bind(this),this.removeMarker=this.removeMarker.bind(this),this.clearMarkers=this.clearMarkers.bind(this),this.setupStyles=this.setupStyles.bind(this),this.getGridSize=this.getGridSize.bind(this),this.setGridSize=this.setGridSize.bind(this),this.getClusters=this.getClusters.bind(this),this.getMaxZoom=this.getMaxZoom.bind(this),this.setMaxZoom=this.setMaxZoom.bind(this),this.getMarkers=this.getMarkers.bind(this),this.addMarkers=this.addMarkers.bind(this),this.getStyles=this.getStyles.bind(this),this.setStyles=this.setStyles.bind(this),this.addMarker=this.addMarker.bind(this),this.onRemove=this.onRemove.bind(this),this.getTitle=this.getTitle.bind(this),this.setTitle=this.setTitle.bind(this),this.repaint=this.repaint.bind(this),this.onIdle=this.onIdle.bind(this),this.redraw=this.redraw.bind(this),this.onAdd=this.onAdd.bind(this),this.draw=this.draw.bind(this),this.extend=this.extend.bind(this),this.extend(e,google.maps.OverlayView),this.markers=[],this.clusters=[],this.listeners=[],this.activeMap=null,this.ready=!1,this.gridSize=o.gridSize||60,this.minClusterSize=o.minimumClusterSize||2,this.maxZoom=o.maxZoom||null,this.styles=o.styles||[],this.title=o.title||"",this.zoomOnClick=!0,void 0!==o.zoomOnClick&&(this.zoomOnClick=o.zoomOnClick),this.averageCenter=!1,void 0!==o.averageCenter&&(this.averageCenter=o.averageCenter),this.ignoreHidden=!1,void 0!==o.ignoreHidden&&(this.ignoreHidden=o.ignoreHidden),this.enableRetinaIcons=!1,void 0!==o.enableRetinaIcons&&(this.enableRetinaIcons=o.enableRetinaIcons),this.imagePath=o.imagePath||"https://developers.google.com/maps/documentation/javascript/examples/markerclusterer/m",this.imageExtension=o.imageExtension||"png",this.imageSizes=o.imageSizes||De,this.calculator=o.calculator||Ie,this.batchSize=o.batchSize||2e3,this.batchSizeIE=o.batchSizeIE||500,this.clusterClass=o.clusterClass||"cluster",-1!==navigator.userAgent.toLowerCase().indexOf("msie")&&(this.batchSize=this.batchSizeIE),this.timerRefStatic=null,this.setupStyles(),this.addMarkers(n,!0),this.setMap(t)}return e.prototype.onZoomChanged=function(){var e,t;this.resetViewport(!1),(null===(e=this.getMap())||void 0===e?void 0:e.getZoom())!==(this.get("minZoom")||0)&&(null===(t=this.getMap())||void 0===t?void 0:t.getZoom())!==this.get("maxZoom")||google.maps.event.trigger(this,"idle")},e.prototype.onIdle=function(){this.redraw()},e.prototype.onAdd=function(){var e=this.getMap();this.activeMap=e,this.ready=!0,this.repaint(),null!==e&&(this.listeners=[google.maps.event.addListener(e,"zoom_changed",this.onZoomChanged),google.maps.event.addListener(e,"idle",this.onIdle)])},e.prototype.onRemove=function(){for(var e=0,t=this.markers;e<t.length;e++){var n=t[e];n.getMap()!==this.activeMap&&n.setMap(this.activeMap)}for(var o=0,s=this.clusters;o<s.length;o++)s[o].remove();this.clusters=[];for(var i=0,r=this.listeners;i<r.length;i++)google.maps.event.removeListener(r[i]);this.listeners=[],this.activeMap=null,this.ready=!1},e.prototype.draw=function(){},e.prototype.getMap=function(){return null},e.prototype.getPanes=function(){return null},e.prototype.getProjection=function(){return{fromContainerPixelToLatLng:function(){return null},fromDivPixelToLatLng:function(){return null},fromLatLngToContainerPixel:function(){return null},fromLatLngToDivPixel:function(){return null},getVisibleRegion:function(){return null},getWorldWidth:function(){return 0}}},e.prototype.setMap=function(){},e.prototype.addListener=function(){return{remove:function(){}}},e.prototype.bindTo=function(){},e.prototype.get=function(){},e.prototype.notify=function(){},e.prototype.set=function(){},e.prototype.setValues=function(){},e.prototype.unbind=function(){},e.prototype.unbindAll=function(){},e.prototype.setupStyles=function(){if(!(this.styles.length>0))for(var e=0;e<this.imageSizes.length;e++)this.styles.push({url:"".concat(this.imagePath+(e+1),".").concat(this.imageExtension),height:this.imageSizes[e]||0,width:this.imageSizes[e]||0})},e.prototype.fitMapToMarkers=function(){for(var e=this.getMarkers(),t=new google.maps.LatLngBounds,n=0,o=e;n<o.length;n++){var s=o[n].getPosition();s&&t.extend(s)}var i=this.getMap();null!==i&&"fitBounds"in i&&i.fitBounds(t)},e.prototype.getGridSize=function(){return this.gridSize},e.prototype.setGridSize=function(e){this.gridSize=e},e.prototype.getMinimumClusterSize=function(){return this.minClusterSize},e.prototype.setMinimumClusterSize=function(e){this.minClusterSize=e},e.prototype.getMaxZoom=function(){return this.maxZoom},e.prototype.setMaxZoom=function(e){this.maxZoom=e},e.prototype.getStyles=function(){return this.styles},e.prototype.setStyles=function(e){this.styles=e},e.prototype.getTitle=function(){return this.title},e.prototype.setTitle=function(e){this.title=e},e.prototype.getZoomOnClick=function(){return this.zoomOnClick},e.prototype.setZoomOnClick=function(e){this.zoomOnClick=e},e.prototype.getAverageCenter=function(){return this.averageCenter},e.prototype.setAverageCenter=function(e){this.averageCenter=e},e.prototype.getIgnoreHidden=function(){return this.ignoreHidden},e.prototype.setIgnoreHidden=function(e){this.ignoreHidden=e},e.prototype.getEnableRetinaIcons=function(){return this.enableRetinaIcons},e.prototype.setEnableRetinaIcons=function(e){this.enableRetinaIcons=e},e.prototype.getImageExtension=function(){return this.imageExtension},e.prototype.setImageExtension=function(e){this.imageExtension=e},e.prototype.getImagePath=function(){return this.imagePath},e.prototype.setImagePath=function(e){this.imagePath=e},e.prototype.getImageSizes=function(){return this.imageSizes},e.prototype.setImageSizes=function(e){this.imageSizes=e},e.prototype.getCalculator=function(){return this.calculator},e.prototype.setCalculator=function(e){this.calculator=e},e.prototype.getBatchSizeIE=function(){return this.batchSizeIE},e.prototype.setBatchSizeIE=function(e){this.batchSizeIE=e},e.prototype.getClusterClass=function(){return this.clusterClass},e.prototype.setClusterClass=function(e){this.clusterClass=e},e.prototype.getMarkers=function(){return this.markers},e.prototype.getTotalMarkers=function(){return this.markers.length},e.prototype.getClusters=function(){return this.clusters},e.prototype.getTotalClusters=function(){return this.clusters.length},e.prototype.addMarker=function(e,t){this.pushMarkerTo(e),t||this.redraw()},e.prototype.addMarkers=function(e,t){for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var o=e[n];o&&this.pushMarkerTo(o)}t||this.redraw()},e.prototype.pushMarkerTo=function(e){var t=this;e.getDraggable()&&google.maps.event.addListener(e,"dragend",function(){t.ready&&(e.isAdded=!1,t.repaint())}),e.isAdded=!1,this.markers.push(e)},e.prototype.removeMarker_=function(e){var t=-1;if(this.markers.indexOf)t=this.markers.indexOf(e);else for(var n=0;n<this.markers.length;n++)if(e===this.markers[n]){t=n;break}return-1!==t&&(e.setMap(null),this.markers.splice(t,1),!0)},e.prototype.removeMarker=function(e,t){var n=this.removeMarker_(e);return!t&&n&&this.repaint(),n},e.prototype.removeMarkers=function(e,t){for(var n=!1,o=0,s=e;o<s.length;o++)n=n||this.removeMarker_(s[o]);return!t&&n&&this.repaint(),n},e.prototype.clearMarkers=function(){this.resetViewport(!0),this.markers=[]},e.prototype.repaint=function(){var e=this.clusters.slice();this.clusters=[],this.resetViewport(!1),this.redraw(),setTimeout(function(){for(var t=0,n=e;t<n.length;t++)n[t].remove()},0)},e.prototype.getExtendedBounds=function(e){var t=this.getProjection(),n=t.fromLatLngToDivPixel(new google.maps.LatLng(e.getNorthEast().lat(),e.getNorthEast().lng()));null!==n&&(n.x+=this.gridSize,n.y-=this.gridSize);var o=t.fromLatLngToDivPixel(new google.maps.LatLng(e.getSouthWest().lat(),e.getSouthWest().lng()));if(null!==o&&(o.x-=this.gridSize,o.y+=this.gridSize),null!==n){var s=t.fromDivPixelToLatLng(n);null!==s&&e.extend(s)}if(null!==o){var i=t.fromDivPixelToLatLng(o);null!==i&&e.extend(i)}return e},e.prototype.redraw=function(){this.createClusters(0)},e.prototype.resetViewport=function(e){for(var t=0,n=this.clusters;t<n.length;t++)n[t].remove();this.clusters=[];for(var o=0,s=this.markers;o<s.length;o++){var i=s[o];i.isAdded=!1,e&&i.setMap(null)}},e.prototype.distanceBetweenPoints=function(e,t){var n=(t.lat()-e.lat())*Math.PI/180,o=(t.lng()-e.lng())*Math.PI/180,s=Math.sin(n/2)*Math.sin(n/2)+Math.cos(e.lat()*Math.PI/180)*Math.cos(t.lat()*Math.PI/180)*Math.sin(o/2)*Math.sin(o/2);return 2*Math.atan2(Math.sqrt(s),Math.sqrt(1-s))*6371},e.prototype.isMarkerInBounds=function(e,t){var n=e.getPosition();return!!n&&t.contains(n)},e.prototype.addToClosestCluster=function(e){for(var t,n=4e4,o=null,s=0,i=this.clusters;s<i.length;s++){var r=(t=i[s]).getCenter(),a=e.getPosition();if(r&&a){var l=this.distanceBetweenPoints(r,a);l<n&&(n=l,o=t)}}o&&o.isMarkerInClusterBounds(e)?o.addMarker(e):((t=new Se(this)).addMarker(e),this.clusters.push(t))},e.prototype.createClusters=function(e){var t=this;if(this.ready){0===e&&(google.maps.event.trigger(this,"clusteringbegin",this),null!==this.timerRefStatic&&(window.clearTimeout(this.timerRefStatic),delete this.timerRefStatic));for(var n=this.getMap(),o=(null!==n&&"getBounds"in n?n.getBounds():null),s=((null==n?void 0:n.getZoom())||0)>3?new google.maps.LatLngBounds(null==o?void 0:o.getSouthWest(),null==o?void 0:o.getNorthEast()):new google.maps.LatLngBounds(new google.maps.LatLng(85.02070771743472,-178.48388434375),new google.maps.LatLng(-85.08136444384544,178.00048865625)),i=this.getExtendedBounds(s),r=Math.min(e+this.batchSize,this.markers.length),a=e;a<r;a++){var l=this.markers[a];l&&!l.isAdded&&this.isMarkerInBounds(l,i)&&(!this.ignoreHidden||this.ignoreHidden&&l.getVisible())&&this.addToClosestCluster(l)}if(r<this.markers.length)this.timerRefStatic=window.setTimeout(function(){t.createClusters(r)},0);else{this.timerRefStatic=null,google.maps.event.trigger(this,"clusteringend",this);for(var p=0,d=this.clusters;p<d.length;p++)d[p].updateIcon()}}},e.prototype.extend=function(e,t){return function(e){for(var t in e.prototype)this.prototype[t]=e.prototype[t];return this}.apply(e,[t])},e}();function Be(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,o)}return n}var _e={onClick:"click",onClusteringBegin:"clusteringbegin",onClusteringEnd:"clusteringend",onMouseOut:"mouseout",onMouseOver:"mouseover"},Te={averageCenter(e,t){e.setAverageCenter(t)},batchSizeIE(e,t){e.setBatchSizeIE(t)},calculator(e,t){e.setCalculator(t)},clusterClass(e,t){e.setClusterClass(t)},enableRetinaIcons(e,t){e.setEnableRetinaIcons(t)},gridSize(e,t){e.setGridSize(t)},ignoreHidden(e,t){e.setIgnoreHidden(t)},imageExtension(e,t){e.setImageExtension(t)},imagePath(e,t){e.setImagePath(t)},imageSizes(e,t){e.setImageSizes(t)},maxZoom(e,t){e.setMaxZoom(t)},minimumClusterSize(e,t){e.setMinimumClusterSize(t)},styles(e,t){e.setStyles(t)},title(e,t){e.setTitle(t)},zoomOnClick(e,t){e.setZoomOnClick(t)}},ze={};function Re(e){e.cancelBubble=!0,e.stopPropagation&&e.stopPropagation()}l(function(e){var{children:t,options:n,averageCenter:o,batchSizeIE:r,calculator:a,clusterClass:l,enableRetinaIcons:p,gridSize:h,ignoreHidden:u,imageExtension:c,imagePath:g,imageSizes:m,maxZoom:v,minimumClusterSize:f,styles:y,title:b,zoomOnClick:L,onClick:w,onClusteringBegin:C,onClusteringEnd:M,onMouseOver:k,onMouseOut:x,onLoad:O,onUnmount:P}=e,[E,S]=s(null),I=d(A),[D,j]=s(null),[B,T]=s(null),[z,R]=s(null),[U,Z]=s(null),[V,W]=s(null);return i(()=>{E&&x&&(null!==U&&google.maps.event.removeListener(U),Z(google.maps.event.addListener(E,_e.onMouseOut,x)))},[x]),i(()=>{E&&k&&(null!==V&&google.maps.event.removeListener(V),W(google.maps.event.addListener(E,_e.onMouseOver,k)))},[k]),i(()=>{E&&w&&(null!==D&&google.maps.event.removeListener(D),j(google.maps.event.addListener(E,_e.onClick,w)))},[w]),i(()=>{E&&C&&(null!==B&&google.maps.event.removeListener(B),T(google.maps.event.addListener(E,_e.onClusteringBegin,C)))},[C]),i(()=>{E&&M&&(null!==z&&google.maps.event.removeListener(z),T(google.maps.event.addListener(E,_e.onClusteringEnd,M)))},[M]),i(()=>{void 0!==o&&null!==E&&Te.averageCenter(E,o)},[E,o]),i(()=>{void 0!==r&&null!==E&&Te.batchSizeIE(E,r)},[E,r]),i(()=>{void 0!==a&&null!==E&&Te.calculator(E,a)},[E,a]),i(()=>{void 0!==l&&null!==E&&Te.clusterClass(E,l)},[E,l]),i(()=>{void 0!==p&&null!==E&&Te.enableRetinaIcons(E,p)},[E,p]),i(()=>{void 0!==h&&null!==E&&Te.gridSize(E,h)},[E,h]),i(()=>{void 0!==u&&null!==E&&Te.ignoreHidden(E,u)},[E,u]),i(()=>{void 0!==c&&null!==E&&Te.imageExtension(E,c)},[E,c]),i(()=>{void 0!==g&&null!==E&&Te.imagePath(E,g)},[E,g]),i(()=>{void 0!==m&&null!==E&&Te.imageSizes(E,m)},[E,m]),i(()=>{void 0!==v&&null!==E&&Te.maxZoom(E,v)},[E,v]),i(()=>{void 0!==f&&null!==E&&Te.minimumClusterSize(E,f)},[E,f]),i(()=>{void 0!==y&&null!==E&&Te.styles(E,y)},[E,y]),i(()=>{void 0!==b&&null!==E&&Te.title(E,b)},[E,b]),i(()=>{void 0!==L&&null!==E&&Te.zoomOnClick(E,L)},[E,L]),i(()=>{if(I){var e=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Be(Object(n),!0).forEach(function(t){_(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Be(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}({},n||ze),t=new je(I,[],e);return o&&Te.averageCenter(t,o),r&&Te.batchSizeIE(t,r),a&&Te.calculator(t,a),l&&Te.clusterClass(t,l),p&&Te.enableRetinaIcons(t,p),h&&Te.gridSize(t,h),u&&Te.ignoreHidden(t,u),c&&Te.imageExtension(t,c),g&&Te.imagePath(t,g),m&&Te.imageSizes(t,m),v&&Te.maxZoom(t,v),f&&Te.minimumClusterSize(t,f),y&&Te.styles(t,y),b&&Te.title(t,b),L&&Te.zoomOnClick(t,L),x&&Z(google.maps.event.addListener(t,_e.onMouseOut,x)),k&&W(google.maps.event.addListener(t,_e.onMouseOver,k)),w&&j(google.maps.event.addListener(t,_e.onClick,w)),C&&T(google.maps.event.addListener(t,_e.onClusteringBegin,C)),M&&R(google.maps.event.addListener(t,_e.onClusteringEnd,M)),S(t),O&&O(t),()=>{null!==U&&google.maps.event.removeListener(U),null!==V&&google.maps.event.removeListener(V),null!==D&&google.maps.event.removeListener(D),null!==B&&google.maps.event.removeListener(B),null!==z&&google.maps.event.removeListener(z),P&&P(t)}}},[]),null!==E&&t(E)||null}),_(class extends a{constructor(){super(...arguments),_(this,"registeredEvents",[]),_(this,"state",{markerClusterer:null}),_(this,"setClustererCallback",()=>{null!==this.state.markerClusterer&&this.props.onLoad&&this.props.onLoad(this.state.markerClusterer)})}componentDidMount(){if(this.context){var e=new je(this.context,[],this.props.options);this.registeredEvents=N({updaterMap:Te,eventMap:_e,prevProps:{},nextProps:this.props,instance:e}),this.setState(()=>({markerClusterer:e}),this.setClustererCallback)}}componentDidUpdate(e){this.state.markerClusterer&&(W(this.registeredEvents),this.registeredEvents=N({updaterMap:Te,eventMap:_e,prevProps:e,nextProps:this.props,instance:this.state.markerClusterer}))}componentWillUnmount(){null!==this.state.markerClusterer&&(this.props.onUnmount&&this.props.onUnmount(this.state.markerClusterer),W(this.registeredEvents),this.state.markerClusterer.setMap(null))}render(){return null!==this.state.markerClusterer?this.props.children(this.state.markerClusterer):null}},"contextType",A);var Ue=function(){function e(t){void 0===t&&(t={}),this.getCloseClickHandler=this.getCloseClickHandler.bind(this),this.closeClickHandler=this.closeClickHandler.bind(this),this.createInfoBoxDiv=this.createInfoBoxDiv.bind(this),this.addClickHandler=this.addClickHandler.bind(this),this.getCloseBoxImg=this.getCloseBoxImg.bind(this),this.getBoxWidths=this.getBoxWidths.bind(this),this.setBoxStyle=this.setBoxStyle.bind(this),this.setPosition=this.setPosition.bind(this),this.getPosition=this.getPosition.bind(this),this.setOptions=this.setOptions.bind(this),this.setContent=this.setContent.bind(this),this.setVisible=this.setVisible.bind(this),this.getContent=this.getContent.bind(this),this.getVisible=this.getVisible.bind(this),this.setZIndex=this.setZIndex.bind(this),this.getZIndex=this.getZIndex.bind(this),this.onRemove=this.onRemove.bind(this),this.panBox=this.panBox.bind(this),this.extend=this.extend.bind(this),this.close=this.close.bind(this),this.draw=this.draw.bind(this),this.show=this.show.bind(this),this.hide=this.hide.bind(this),this.open=this.open.bind(this),this.extend(e,google.maps.OverlayView),this.content=t.content||"",this.disableAutoPan=t.disableAutoPan||!1,this.maxWidth=t.maxWidth||0,this.pixelOffset=t.pixelOffset||new google.maps.Size(0,0),this.position=t.position||new google.maps.LatLng(0,0),this.zIndex=t.zIndex||null,this.boxClass=t.boxClass||"infoBox",this.boxStyle=t.boxStyle||{},this.closeBoxMargin=t.closeBoxMargin||"2px",this.closeBoxURL=t.closeBoxURL||"http://www.google.com/intl/en_us/mapfiles/close.gif",""===t.closeBoxURL&&(this.closeBoxURL=""),this.infoBoxClearance=t.infoBoxClearance||new google.maps.Size(1,1),void 0===t.visible&&(t.visible=void 0===t.isHidden||!t.isHidden),this.isHidden=!t.visible,this.alignBottom=t.alignBottom||!1,this.pane=t.pane||"floatPane",this.enableEventPropagation=t.enableEventPropagation||!1,this.div=null,this.closeListener=null,this.moveListener=null,this.mapListener=null,this.contextListener=null,this.eventListeners=null,this.fixedWidthSet=null}return e.prototype.createInfoBoxDiv=function(){var e=this;if(!this.div){this.div=document.createElement("div"),this.setBoxStyle(),"string"==typeof this.content?this.div.innerHTML=this.getCloseBoxImg()+this.content:(this.div.innerHTML=this.getCloseBoxImg(),this.div.appendChild(this.content));var t=this.getPanes();if(null!==t&&t[this.pane].appendChild(this.div),this.addClickHandler(),this.div.style.width)this.fixedWidthSet=!0;else if(0!==this.maxWidth&&this.div.offsetWidth>this.maxWidth)this.div.style.width=this.maxWidth+"px",this.fixedWidthSet=!0;else{var n=this.getBoxWidths();this.div.style.width=this.div.offsetWidth-n.left-n.right+"px",this.fixedWidthSet=!1}if(this.panBox(this.disableAutoPan),!this.enableEventPropagation){this.eventListeners=[];for(var o=0,s=["mousedown","mouseover","mouseout","mouseup","click","dblclick","touchstart","touchend","touchmove"];o<s.length;o++)this.eventListeners.push(google.maps.event.addListener(this.div,s[o],Re));this.eventListeners.push(google.maps.event.addListener(this.div,"mouseover",function(){e.div&&(e.div.style.cursor="default")}))}this.contextListener=google.maps.event.addListener(this.div,"contextmenu",function(t){t.returnValue=!1,t.preventDefault&&t.preventDefault(),e.enableEventPropagation||Re(t)}),google.maps.event.trigger(this,"domready")}},e.prototype.getCloseBoxImg=function(){var e="";return""!==this.closeBoxURL&&(e='<img alt=""',e+=' aria-hidden="true"',e+=" src='"+this.closeBoxURL+"'",e+=" align=right",e+=" style='",e+=" position: relative;",e+=" cursor: pointer;",e+=" margin: "+this.closeBoxMargin+";",e+="'>"),e},e.prototype.addClickHandler=function(){this.closeListener=this.div&&this.div.firstChild&&""!==this.closeBoxURL?google.maps.event.addListener(this.div.firstChild,"click",this.getCloseClickHandler()):null},e.prototype.closeClickHandler=function(e){e.cancelBubble=!0,e.stopPropagation&&e.stopPropagation(),google.maps.event.trigger(this,"closeclick"),this.close()},e.prototype.getCloseClickHandler=function(){return this.closeClickHandler},e.prototype.panBox=function(e){if(this.div&&!e){var t=this.getMap();if(t instanceof google.maps.Map){var n=0,o=0,s=t.getBounds();s&&!s.contains(this.position)&&t.setCenter(this.position);var i=t.getDiv(),r=i.offsetWidth,a=i.offsetHeight,l=this.pixelOffset.width,p=this.pixelOffset.height,d=this.div.offsetWidth,h=this.div.offsetHeight,u=this.infoBoxClearance.width,c=this.infoBoxClearance.height,g=this.getProjection().fromLatLngToContainerPixel(this.position);null!==g&&(g.x<-l+u?n=g.x+l-u:g.x+d+l+u>r&&(n=g.x+d+l+u-r),this.alignBottom?g.y<-p+c+h?o=g.y+p-c-h:g.y+p+c>a&&(o=g.y+p+c-a):g.y<-p+c?o=g.y+p-c:g.y+h+p+c>a&&(o=g.y+h+p+c-a)),0===n&&0===o||t.panBy(n,o)}}},e.prototype.setBoxStyle=function(){if(this.div){this.div.className=this.boxClass,this.div.style.cssText="";var e=this.boxStyle;for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&(this.div.style[t]=e[t]);if(this.div.style.webkitTransform="translateZ(0)",void 0!==this.div.style.opacity&&""!==this.div.style.opacity){var n=parseFloat(this.div.style.opacity||"");this.div.style.msFilter='"progid:DXImageTransform.Microsoft.Alpha(Opacity='+100*n+')"',this.div.style.filter="alpha(opacity="+100*n+")"}this.div.style.position="absolute",this.div.style.visibility="hidden",null!==this.zIndex&&(this.div.style.zIndex=this.zIndex+""),this.div.style.overflow||(this.div.style.overflow="auto")}},e.prototype.getBoxWidths=function(){var e={top:0,bottom:0,left:0,right:0};if(!this.div)return e;if(document.defaultView){var t=this.div.ownerDocument,n=t&&t.defaultView?t.defaultView.getComputedStyle(this.div,""):null;n&&(e.top=parseInt(n.borderTopWidth||"",10)||0,e.bottom=parseInt(n.borderBottomWidth||"",10)||0,e.left=parseInt(n.borderLeftWidth||"",10)||0,e.right=parseInt(n.borderRightWidth||"",10)||0)}else if(document.documentElement.currentStyle){var o=this.div.currentStyle;o&&(e.top=parseInt(o.borderTopWidth||"",10)||0,e.bottom=parseInt(o.borderBottomWidth||"",10)||0,e.left=parseInt(o.borderLeftWidth||"",10)||0,e.right=parseInt(o.borderRightWidth||"",10)||0)}return e},e.prototype.onRemove=function(){this.div&&this.div.parentNode&&(this.div.parentNode.removeChild(this.div),this.div=null)},e.prototype.draw=function(){if(this.createInfoBoxDiv(),this.div){var e=this.getProjection().fromLatLngToDivPixel(this.position);null!==e&&(this.div.style.left=e.x+this.pixelOffset.width+"px",this.alignBottom?this.div.style.bottom=-(e.y+this.pixelOffset.height)+"px":this.div.style.top=e.y+this.pixelOffset.height+"px"),this.div.style.visibility=this.isHidden?"hidden":"visible"}},e.prototype.setOptions=function(e){void 0===e&&(e={}),void 0!==e.boxClass&&(this.boxClass=e.boxClass,this.setBoxStyle()),void 0!==e.boxStyle&&(this.boxStyle=e.boxStyle,this.setBoxStyle()),void 0!==e.content&&this.setContent(e.content),void 0!==e.disableAutoPan&&(this.disableAutoPan=e.disableAutoPan),void 0!==e.maxWidth&&(this.maxWidth=e.maxWidth),void 0!==e.pixelOffset&&(this.pixelOffset=e.pixelOffset),void 0!==e.alignBottom&&(this.alignBottom=e.alignBottom),void 0!==e.position&&this.setPosition(e.position),void 0!==e.zIndex&&this.setZIndex(e.zIndex),void 0!==e.closeBoxMargin&&(this.closeBoxMargin=e.closeBoxMargin),void 0!==e.closeBoxURL&&(this.closeBoxURL=e.closeBoxURL),void 0!==e.infoBoxClearance&&(this.infoBoxClearance=e.infoBoxClearance),void 0!==e.isHidden&&(this.isHidden=e.isHidden),void 0!==e.visible&&(this.isHidden=!e.visible),void 0!==e.enableEventPropagation&&(this.enableEventPropagation=e.enableEventPropagation),this.div&&this.draw()},e.prototype.setContent=function(e){this.content=e,this.div&&(this.closeListener&&(google.maps.event.removeListener(this.closeListener),this.closeListener=null),this.fixedWidthSet||(this.div.style.width=""),"string"==typeof e?this.div.innerHTML=this.getCloseBoxImg()+e:(this.div.innerHTML=this.getCloseBoxImg(),this.div.appendChild(e)),this.fixedWidthSet||(this.div.style.width=this.div.offsetWidth+"px","string"==typeof e?this.div.innerHTML=this.getCloseBoxImg()+e:(this.div.innerHTML=this.getCloseBoxImg(),this.div.appendChild(e))),this.addClickHandler()),google.maps.event.trigger(this,"content_changed")},e.prototype.setPosition=function(e){this.position=e,this.div&&this.draw(),google.maps.event.trigger(this,"position_changed")},e.prototype.setVisible=function(e){this.isHidden=!e,this.div&&(this.div.style.visibility=this.isHidden?"hidden":"visible")},e.prototype.setZIndex=function(e){this.zIndex=e,this.div&&(this.div.style.zIndex=e+""),google.maps.event.trigger(this,"zindex_changed")},e.prototype.getContent=function(){return this.content},e.prototype.getPosition=function(){return this.position},e.prototype.getZIndex=function(){return this.zIndex},e.prototype.getVisible=function(){return null!=this.getMap()&&!this.isHidden},e.prototype.show=function(){this.isHidden=!1,this.div&&(this.div.style.visibility="visible")},e.prototype.hide=function(){this.isHidden=!0,this.div&&(this.div.style.visibility="hidden")},e.prototype.open=function(e,t){var n=this;t&&(this.position=t.getPosition(),this.moveListener=google.maps.event.addListener(t,"position_changed",function(){var e=t.getPosition();n.setPosition(e)}),this.mapListener=google.maps.event.addListener(t,"map_changed",function(){n.setMap(t.map)})),this.setMap(e),this.div&&this.panBox()},e.prototype.close=function(){if(this.closeListener&&(google.maps.event.removeListener(this.closeListener),this.closeListener=null),this.eventListeners){for(var e=0,t=this.eventListeners;e<t.length;e++)google.maps.event.removeListener(t[e]);this.eventListeners=null}this.moveListener&&(google.maps.event.removeListener(this.moveListener),this.moveListener=null),this.mapListener&&(google.maps.event.removeListener(this.mapListener),this.mapListener=null),this.contextListener&&(google.maps.event.removeListener(this.contextListener),this.contextListener=null),this.setMap(null)},e.prototype.extend=function(e,t){return function(e){for(var t in e.prototype)Object.prototype.hasOwnProperty.call(this,t)||(this.prototype[t]=e.prototype[t]);return this}.apply(e,[t])},e}(),Ae=["position"],Ze=["position"];function Ve(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,o)}return n}function We(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ve(Object(n),!0).forEach(function(t){_(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ve(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var Ne,He,Fe={onCloseClick:"closeclick",onContentChanged:"content_changed",onDomReady:"domready",onPositionChanged:"position_changed",onZindexChanged:"zindex_changed"},Ge={options(e,t){e.setOptions(t)},position(e,t){t instanceof google.maps.LatLng?e.setPosition(t):e.setPosition(new google.maps.LatLng(t.lat,t.lng))},visible(e,t){e.setVisible(t)},zIndex(e,t){e.setZIndex(t)}},Ke={};l(function(e){var{children:t,anchor:n,options:r,position:a,zIndex:l,onCloseClick:p,onDomReady:u,onContentChanged:c,onPositionChanged:g,onZindexChanged:m,onLoad:v,onUnmount:y}=e,b=d(A),[L,w]=s(null),[C,M]=s(null),[k,x]=s(null),[O,P]=s(null),[E,S]=s(null),[I,D]=s(null),j=o(null);return i(()=>{b&&null!==L&&(L.close(),n?L.open(b,n):L.getPosition()&&L.open(b))},[b,L,n]),i(()=>{r&&null!==L&&L.setOptions(r)},[L,r]),i(()=>{if(a&&null!==L){var e=a instanceof google.maps.LatLng?a:new google.maps.LatLng(a.lat,a.lng);L.setPosition(e)}},[a]),i(()=>{"number"==typeof l&&null!==L&&L.setZIndex(l)},[l]),i(()=>{L&&p&&(null!==C&&google.maps.event.removeListener(C),M(google.maps.event.addListener(L,"closeclick",p)))},[p]),i(()=>{L&&u&&(null!==k&&google.maps.event.removeListener(k),x(google.maps.event.addListener(L,"domready",u)))},[u]),i(()=>{L&&c&&(null!==O&&google.maps.event.removeListener(O),P(google.maps.event.addListener(L,"content_changed",c)))},[c]),i(()=>{L&&g&&(null!==E&&google.maps.event.removeListener(E),S(google.maps.event.addListener(L,"position_changed",g)))},[g]),i(()=>{L&&m&&(null!==I&&google.maps.event.removeListener(I),D(google.maps.event.addListener(L,"zindex_changed",m)))},[m]),i(()=>{if(b){var e,t=r||Ke,{position:o}=t,s=se(t,Ae);!o||o instanceof google.maps.LatLng||(e=new google.maps.LatLng(o.lat,o.lng));var i=new Ue(We(We({},s),e?{position:e}:{}));j.current=document.createElement("div"),w(i),p&&M(google.maps.event.addListener(i,"closeclick",p)),u&&x(google.maps.event.addListener(i,"domready",u)),c&&P(google.maps.event.addListener(i,"content_changed",c)),g&&S(google.maps.event.addListener(i,"position_changed",g)),m&&D(google.maps.event.addListener(i,"zindex_changed",m)),i.setContent(j.current),n?i.open(b,n):i.getPosition()?i.open(b):U(!1,"You must provide either an anchor or a position prop for <InfoBox>."),v&&v(i)}return()=>{null!==L&&(C&&google.maps.event.removeListener(C),O&&google.maps.event.removeListener(O),k&&google.maps.event.removeListener(k),E&&google.maps.event.removeListener(E),I&&google.maps.event.removeListener(I),y&&y(L),L.close())}},[]),j.current?f(h.only(t),j.current):null}),_(class extends a{constructor(){super(...arguments),_(this,"registeredEvents",[]),_(this,"containerElement",null),_(this,"state",{infoBox:null}),_(this,"open",(e,t)=>{t?null!==this.context&&e.open(this.context,t):e.getPosition()?null!==this.context&&e.open(this.context):U(!1,"You must provide either an anchor or a position prop for <InfoBox>.")}),_(this,"setInfoBoxCallback",()=>{null!==this.state.infoBox&&null!==this.containerElement&&(this.state.infoBox.setContent(this.containerElement),this.open(this.state.infoBox,this.props.anchor),this.props.onLoad&&this.props.onLoad(this.state.infoBox))})}componentDidMount(){var e,t=this.props.options||{},{position:n}=t,o=se(t,Ze);!n||n instanceof google.maps.LatLng||(e=new google.maps.LatLng(n.lat,n.lng));var s=new Ue(We(We({},o),e?{position:e}:{}));this.containerElement=document.createElement("div"),this.registeredEvents=N({updaterMap:Ge,eventMap:Fe,prevProps:{},nextProps:this.props,instance:s}),this.setState({infoBox:s},this.setInfoBoxCallback)}componentDidUpdate(e){var{infoBox:t}=this.state;null!==t&&(W(this.registeredEvents),this.registeredEvents=N({updaterMap:Ge,eventMap:Fe,prevProps:e,nextProps:this.props,instance:t}))}componentWillUnmount(){var{onUnmount:e}=this.props,{infoBox:t}=this.state;null!==t&&(e&&e(t),W(this.registeredEvents),t.close())}render(){return this.containerElement?f(h.only(this.props.children),this.containerElement):null}},"contextType",A);var Ye=T(He?Ne:(He=1,Ne=function e(t,n){if(t===n)return!0;if(t&&n&&"object"==typeof t&&"object"==typeof n){if(t.constructor!==n.constructor)return!1;var o,s,i;if(Array.isArray(t)){if((o=t.length)!=n.length)return!1;for(s=o;0!==s--;)if(!e(t[s],n[s]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if((o=(i=Object.keys(t)).length)!==Object.keys(n).length)return!1;for(s=o;0!==s--;)if(!Object.prototype.hasOwnProperty.call(n,i[s]))return!1;for(s=o;0!==s--;){var r=i[s];if(!e(t[r],n[r]))return!1}return!0}return t!=t&&n!=n})),qe=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];class $e{static from(e){if(!(e instanceof ArrayBuffer))throw new Error("Data must be an instance of ArrayBuffer.");var[t,n]=new Uint8Array(e,0,2);if(219!==t)throw new Error("Data does not appear to be in a KDBush format.");var o=n>>4;if(1!==o)throw new Error("Got v".concat(o," data when expected v").concat(1,"."));var s=qe[15&n];if(!s)throw new Error("Unrecognized array type.");var[i]=new Uint16Array(e,2,1),[r]=new Uint32Array(e,4,1);return new $e(r,i,s,e)}constructor(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:64,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Float64Array,o=arguments.length>3?arguments[3]:void 0;if(isNaN(e)||e<0)throw new Error("Unpexpected numItems value: ".concat(e,"."));this.numItems=+e,this.nodeSize=Math.min(Math.max(+t,2),65535),this.ArrayType=n,this.IndexArrayType=e<65536?Uint16Array:Uint32Array;var s=qe.indexOf(this.ArrayType),i=2*e*this.ArrayType.BYTES_PER_ELEMENT,r=e*this.IndexArrayType.BYTES_PER_ELEMENT,a=(8-r%8)%8;if(s<0)throw new Error("Unexpected typed array class: ".concat(n,"."));o&&o instanceof ArrayBuffer?(this.data=o,this.ids=new this.IndexArrayType(this.data,8,e),this.coords=new this.ArrayType(this.data,8+r+a,2*e),this._pos=2*e,this._finished=!0):(this.data=new ArrayBuffer(8+i+r+a),this.ids=new this.IndexArrayType(this.data,8,e),this.coords=new this.ArrayType(this.data,8+r+a,2*e),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,16+s]),new Uint16Array(this.data,2,1)[0]=t,new Uint32Array(this.data,4,1)[0]=e)}add(e,t){var n=this._pos>>1;return this.ids[n]=n,this.coords[this._pos++]=e,this.coords[this._pos++]=t,n}finish(){var e=this._pos>>1;if(e!==this.numItems)throw new Error("Added ".concat(e," items when expected ").concat(this.numItems,"."));return Je(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(e,t,n,o){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");for(var{ids:s,coords:i,nodeSize:r}=this,a=[0,s.length-1,0],l=[];a.length;){var p=a.pop()||0,d=a.pop()||0,h=a.pop()||0;if(d-h<=r)for(var u=h;u<=d;u++){var c=i[2*u],g=i[2*u+1];c>=e&&c<=n&&g>=t&&g<=o&&l.push(s[u])}else{var m=h+d>>1,v=i[2*m],f=i[2*m+1];v>=e&&v<=n&&f>=t&&f<=o&&l.push(s[m]),(0===p?e<=v:t<=f)&&(a.push(h),a.push(m-1),a.push(1-p)),(0===p?n>=v:o>=f)&&(a.push(m+1),a.push(d),a.push(1-p))}}return l}within(e,t,n){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");for(var{ids:o,coords:s,nodeSize:i}=this,r=[0,o.length-1,0],a=[],l=n*n;r.length;){var p=r.pop()||0,d=r.pop()||0,h=r.pop()||0;if(d-h<=i)for(var u=h;u<=d;u++)tt(s[2*u],s[2*u+1],e,t)<=l&&a.push(o[u]);else{var c=h+d>>1,g=s[2*c],m=s[2*c+1];tt(g,m,e,t)<=l&&a.push(o[c]),(0===p?e-n<=g:t-n<=m)&&(r.push(h),r.push(c-1),r.push(1-p)),(0===p?e+n>=g:t+n>=m)&&(r.push(c+1),r.push(d),r.push(1-p))}}return a}}function Je(e,t,n,o,s,i){if(!(s-o<=n)){var r=o+s>>1;Xe(e,t,r,o,s,i),Je(e,t,n,o,r-1,1-i),Je(e,t,n,r+1,s,1-i)}}function Xe(e,t,n,o,s,i){for(;s>o;){if(s-o>600){var r=s-o+1,a=n-o+1,l=Math.log(r),p=.5*Math.exp(2*l/3),d=.5*Math.sqrt(l*p*(r-p)/r)*(a-r/2<0?-1:1);Xe(e,t,n,Math.max(o,Math.floor(n-a*p/r+d)),Math.min(s,Math.floor(n+(r-a)*p/r+d)),i)}var h=t[2*n+i],u=o,c=s;for(Qe(e,t,o,n),t[2*s+i]>h&&Qe(e,t,o,s);u<c;){for(Qe(e,t,u,c),u++,c--;t[2*u+i]<h;)u++;for(;t[2*c+i]>h;)c--}t[2*o+i]===h?Qe(e,t,o,c):Qe(e,t,++c,s),c<=n&&(o=c+1),n<=c&&(s=c-1)}}function Qe(e,t,n,o){et(e,n,o),et(t,2*n,2*o),et(t,2*n+1,2*o+1)}function et(e,t,n){var o=e[t];e[t]=e[n],e[n]=o}function tt(e,t,n,o){var s=e-n,i=t-o;return s*s+i*i}var nt={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:e=>e},ot=Math.fround||(e=>t=>(e[0]=+t,e[0]))(new Float32Array(1));class st{constructor(e){this.options=Object.assign(Object.create(nt),e),this.trees=new Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[]}load(e){var{log:t,minZoom:n,maxZoom:o}=this.options;t&&console.time("total time");var s="prepare ".concat(e.length," points");t&&console.time(s),this.points=e;for(var i=[],r=0;r<e.length;r++){var a=e[r];if(a.geometry){var[l,p]=a.geometry.coordinates,d=ot(at(l)),h=ot(lt(p));i.push(d,h,1/0,r,-1,1),this.options.reduce&&i.push(0)}}var u=this.trees[o+1]=this._createTree(i);t&&console.timeEnd(s);for(var c=o;c>=n;c--)Date.now(),u=this.trees[c]=this._createTree(this._cluster(u,c)),t&&Date.now();return t&&console.timeEnd("total time"),this}getClusters(e,t){var n=((e[0]+180)%360+360)%360-180,o=Math.max(-90,Math.min(90,e[1])),s=180===e[2]?180:((e[2]+180)%360+360)%360-180,i=Math.max(-90,Math.min(90,e[3]));if(e[2]-e[0]>=360)n=-180,s=180;else if(n>s){var r=this.getClusters([n,o,180,i],t),a=this.getClusters([-180,o,s,i],t);return r.concat(a)}var l=this.trees[this._limitZoom(t)],p=l.range(at(n),lt(i),at(s),lt(o)),d=l.data,h=[];for(var u of p){var c=this.stride*u;h.push(d[c+5]>1?it(d,c,this.clusterProps):this.points[d[c+3]])}return h}getChildren(e){var t=this._getOriginId(e),n=this._getOriginZoom(e),o="No cluster with the specified id.",s=this.trees[n];if(!s)throw new Error(o);var i=s.data;if(t*this.stride>=i.length)throw new Error(o);var r=this.options.radius/(this.options.extent*Math.pow(2,n-1)),a=s.within(i[t*this.stride],i[t*this.stride+1],r),l=[];for(var p of a){var d=p*this.stride;i[d+4]===e&&l.push(i[d+5]>1?it(i,d,this.clusterProps):this.points[i[d+3]])}if(0===l.length)throw new Error(o);return l}getLeaves(e,t,n){var o=[];return this._appendLeaves(o,e,t=t||10,n=n||0,0),o}getTile(e,t,n){var o=this.trees[this._limitZoom(e)],s=Math.pow(2,e),{extent:i,radius:r}=this.options,a=r/i,l=(n-a)/s,p=(n+1+a)/s,d={features:[]};return this._addTileFeatures(o.range((t-a)/s,l,(t+1+a)/s,p),o.data,t,n,s,d),0===t&&this._addTileFeatures(o.range(1-a/s,l,1,p),o.data,s,n,s,d),t===s-1&&this._addTileFeatures(o.range(0,l,a/s,p),o.data,-1,n,s,d),d.features.length?d:null}getClusterExpansionZoom(e){for(var t=this._getOriginZoom(e)-1;t<=this.options.maxZoom;){var n=this.getChildren(e);if(t++,1!==n.length)break;e=n[0].properties.cluster_id}return t}_appendLeaves(e,t,n,o,s){var i=this.getChildren(t);for(var r of i){var a=r.properties;if(a&&a.cluster?s+a.point_count<=o?s+=a.point_count:s=this._appendLeaves(e,a.cluster_id,n,o,s):s<o?s++:e.push(r),e.length===n)break}return s}_createTree(e){for(var t=new $e(e.length/this.stride|0,this.options.nodeSize,Float32Array),n=0;n<e.length;n+=this.stride)t.add(e[n],e[n+1]);return t.finish(),t.data=e,t}_addTileFeatures(e,t,n,o,s,i){for(var r of e){var a=r*this.stride,l=t[a+5]>1,p=void 0,d=void 0,h=void 0;if(l)p=rt(t,a,this.clusterProps),d=t[a],h=t[a+1];else{var u=this.points[t[a+3]];p=u.properties;var[c,g]=u.geometry.coordinates;d=at(c),h=lt(g)}var m,v={type:1,geometry:[[Math.round(this.options.extent*(d*s-n)),Math.round(this.options.extent*(h*s-o))]],tags:p};void 0!==(m=l||this.options.generateId?t[a+3]:this.points[t[a+3]].id)&&(v.id=m),i.features.push(v)}}_limitZoom(e){return Math.max(this.options.minZoom,Math.min(Math.floor(+e),this.options.maxZoom+1))}_cluster(e,t){for(var{radius:n,extent:o,reduce:s,minPoints:i}=this.options,r=n/(o*Math.pow(2,t)),a=e.data,l=[],p=this.stride,d=0;d<a.length;d+=p)if(!(a[d+2]<=t)){a[d+2]=t;var h=a[d],u=a[d+1],c=e.within(a[d],a[d+1],r),g=a[d+5],m=g;for(var v of c){var f=v*p;a[f+2]>t&&(m+=a[f+5])}if(m>g&&m>=i){var y=h*g,b=u*g,L=void 0,w=-1,C=(d/p<<5)+(t+1)+this.points.length;for(var M of c){var k=M*p;if(!(a[k+2]<=t)){a[k+2]=t;var x=a[k+5];y+=a[k]*x,b+=a[k+1]*x,a[k+4]=C,s&&(L||(L=this._map(a,d,!0),w=this.clusterProps.length,this.clusterProps.push(L)),s(L,this._map(a,k)))}}a[d+4]=C,l.push(y/m,b/m,1/0,C,-1,m),s&&l.push(w)}else{for(var O=0;O<p;O++)l.push(a[d+O]);if(m>1)for(var P of c){var E=P*p;if(!(a[E+2]<=t)){a[E+2]=t;for(var S=0;S<p;S++)l.push(a[E+S])}}}}return l}_getOriginId(e){return e-this.points.length>>5}_getOriginZoom(e){return(e-this.points.length)%32}_map(e,t,n){if(e[t+5]>1){var o=this.clusterProps[e[t+6]];return n?Object.assign({},o):o}var s=this.points[e[t+3]].properties,i=this.options.map(s);return n&&i===s?Object.assign({},i):i}}function it(e,t,n){return{type:"Feature",id:e[t+3],properties:rt(e,t,n),geometry:{type:"Point",coordinates:[(i=e[t],360*(i-.5)),(o=e[t+1],s=(180-360*o)*Math.PI/180,360*Math.atan(Math.exp(s))/Math.PI-90)]}};var o,s,i}function rt(e,t,n){var o=e[t+5],s=o>=1e4?"".concat(Math.round(o/1e3),"k"):o>=1e3?"".concat(Math.round(o/100)/10,"k"):o,i=e[t+6],r=-1===i?{}:Object.assign({},n[i]);return Object.assign(r,{cluster:!0,cluster_id:e[t+3],point_count:o,point_count_abbreviated:s})}function at(e){return e/360+.5}function lt(e){var t=Math.sin(e*Math.PI/180),n=.5-.25*Math.log((1+t)/(1-t))/Math.PI;return n<0?0:n>1?1:n}class pt{static isAdvancedMarkerAvailable(e){return google.maps.marker&&!0===e.getMapCapabilities().isAdvancedMarkersAvailable}static isAdvancedMarker(e){return google.maps.marker&&e instanceof google.maps.marker.AdvancedMarkerElement}static setMap(e,t){this.isAdvancedMarker(e)?e.map=t:e.setMap(t)}static getPosition(e){if(this.isAdvancedMarker(e)){if(e.position){if(e.position instanceof google.maps.LatLng)return e.position;if(e.position.lat&&e.position.lng)return new google.maps.LatLng(e.position.lat,e.position.lng)}return new google.maps.LatLng(null)}return e.getPosition()}static getVisible(e){return!!this.isAdvancedMarker(e)||e.getVisible()}}class dt{constructor(e){var{markers:t,position:n}=e;this.markers=t,n&&(this._position=n instanceof google.maps.LatLng?n:new google.maps.LatLng(n))}get bounds(){if(0!==this.markers.length||this._position){var e=new google.maps.LatLngBounds(this._position,this._position);for(var t of this.markers)e.extend(pt.getPosition(t));return e}}get position(){return this._position||this.bounds.getCenter()}get count(){return this.markers.filter(e=>pt.getVisible(e)).length}push(e){this.markers.push(e)}delete(){this.marker&&(pt.setMap(this.marker,null),this.marker=void 0),this.markers.length=0}}class ht{constructor(e){var{maxZoom:t=16}=e;this.maxZoom=t}noop(e){var{markers:t}=e;return gt(t)}}var ut,ct,gt=e=>e.map(e=>new dt({position:pt.getPosition(e),markers:[e]}));class mt extends ht{constructor(e){var{maxZoom:t,radius:n=60}=e,o=function(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var s=0;for(o=Object.getOwnPropertySymbols(e);s<o.length;s++)t.indexOf(o[s])<0&&Object.prototype.propertyIsEnumerable.call(e,o[s])&&(n[o[s]]=e[o[s]])}return n}(e,["maxZoom","radius"]);super({maxZoom:t}),this.state={zoom:-1},this.superCluster=new st(Object.assign({maxZoom:this.maxZoom,radius:n},o))}calculate(e){var t=!1,n={zoom:e.map.getZoom()};if(!Ye(e.markers,this.markers)){t=!0,this.markers=[...e.markers];var o=this.markers.map(e=>{var t=pt.getPosition(e);return{type:"Feature",geometry:{type:"Point",coordinates:[t.lng(),t.lat()]},properties:{marker:e}}});this.superCluster.load(o)}return t||(this.state.zoom<=this.maxZoom||n.zoom<=this.maxZoom)&&(t=!Ye(this.state,n)),this.state=n,t&&(this.clusters=this.cluster(e)),{clusters:this.clusters,changed:t}}cluster(e){var{map:t}=e;return this.superCluster.getClusters([-180,-90,180,90],Math.round(t.getZoom())).map(e=>this.transformCluster(e))}transformCluster(e){var{geometry:{coordinates:[t,n]},properties:o}=e;if(o.cluster)return new dt({markers:this.superCluster.getLeaves(o.cluster_id,1/0).map(e=>e.properties.marker),position:{lat:n,lng:t}});var s=o.marker;return new dt({markers:[s],position:pt.getPosition(s)})}}class vt{constructor(e,t){this.markers={sum:e.length};var n=t.map(e=>e.count),o=n.reduce((e,t)=>e+t,0);this.clusters={count:t.length,markers:{mean:o/t.length,sum:o,min:Math.min(...n),max:Math.max(...n)}}}}class ft{render(e,t,n){var{count:o,position:s}=e,i=o>Math.max(10,t.clusters.markers.mean)?"#ff0000":"#0000ff",r='<svg fill="'.concat(i,'" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 240 240" width="50" height="50">\n<circle cx="120" cy="120" opacity=".6" r="70" />\n<circle cx="120" cy="120" opacity=".3" r="90" />\n<circle cx="120" cy="120" opacity=".2" r="110" />\n<text x="50%" y="50%" style="fill:#fff" text-anchor="middle" font-size="50" dominant-baseline="middle" font-family="roboto,arial,sans-serif">').concat(o,"</text>\n</svg>"),a="Cluster of ".concat(o," markers"),l=Number(google.maps.Marker.MAX_ZINDEX)+o;if(pt.isAdvancedMarkerAvailable(n)){var p=(new DOMParser).parseFromString(r,"image/svg+xml").documentElement;return p.setAttribute("transform","translate(0 25)"),new google.maps.marker.AdvancedMarkerElement({map:n,position:s,zIndex:l,title:a,content:p})}var d={position:s,zIndex:l,title:a,icon:{url:"data:image/svg+xml;base64,".concat(btoa(r)),anchor:new google.maps.Point(25,25)}};return new google.maps.Marker(d)}}class yt{constructor(){!function(e,t){for(var n in t.prototype)e.prototype[n]=t.prototype[n]}(yt,google.maps.OverlayView)}}(ct=ut||(ut={})).CLUSTERING_BEGIN="clusteringbegin",ct.CLUSTERING_END="clusteringend",ct.CLUSTER_CLICK="click";var bt=(e,t,n)=>{n.fitBounds(t.bounds)};class Lt extends yt{constructor(e){var{map:t,markers:n=[],algorithmOptions:o={},algorithm:s=new mt(o),renderer:i=new ft,onClusterClick:r=bt}=e;super(),this.markers=[...n],this.clusters=[],this.algorithm=s,this.renderer=i,this.onClusterClick=r,t&&this.setMap(t)}addMarker(e,t){this.markers.includes(e)||(this.markers.push(e),t||this.render())}addMarkers(e,t){e.forEach(e=>{this.addMarker(e,!0)}),t||this.render()}removeMarker(e,t){var n=this.markers.indexOf(e);return-1!==n&&(pt.setMap(e,null),this.markers.splice(n,1),t||this.render(),!0)}removeMarkers(e,t){var n=!1;return e.forEach(e=>{n=this.removeMarker(e,!0)||n}),n&&!t&&this.render(),n}clearMarkers(e){this.markers.length=0,e||this.render()}render(){var e=this.getMap();if(e instanceof google.maps.Map&&e.getProjection()){google.maps.event.trigger(this,ut.CLUSTERING_BEGIN,this);var{clusters:t,changed:n}=this.algorithm.calculate({markers:this.markers,map:e,mapCanvasProjection:this.getProjection()});if(n||null==n){var o=new Set;for(var s of t)1==s.markers.length&&o.add(s.markers[0]);var i=[];for(var r of this.clusters)null!=r.marker&&(1==r.markers.length?o.has(r.marker)||pt.setMap(r.marker,null):i.push(r.marker));this.clusters=t,this.renderClusters(),requestAnimationFrame(()=>i.forEach(e=>pt.setMap(e,null)))}google.maps.event.trigger(this,ut.CLUSTERING_END,this)}}onAdd(){this.idleListener=this.getMap().addListener("idle",this.render.bind(this)),this.render()}onRemove(){google.maps.event.removeListener(this.idleListener),this.reset()}reset(){this.markers.forEach(e=>pt.setMap(e,null)),this.clusters.forEach(e=>e.delete()),this.clusters=[]}renderClusters(){var e=new vt(this.markers,this.clusters),t=this.getMap();this.clusters.forEach(n=>{1===n.markers.length?n.marker=n.markers[0]:(n.marker=this.renderer.render(n,e,t),n.markers.forEach(e=>pt.setMap(e,null)),this.onClusterClick&&n.marker.addListener("click",e=>{google.maps.event.trigger(this,ut.CLUSTER_CLICK,n),this.onClusterClick(e,n,t)})),pt.setMap(n.marker,t)})}}function wt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,o)}return n}function Ct(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?wt(Object(n),!0).forEach(function(t){_(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):wt(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}l(function(e){var{children:t,options:n}=e,o=function(e){var t=Z(),[n,o]=s(null);return i(()=>{if(t&&null===n){var s=new Lt(Ct(Ct({},e),{},{map:t}));o(s)}},[t]),n}(n);return null!==o?t(o):null});var Mt={onCloseClick:"closeclick",onContentChanged:"content_changed",onDomReady:"domready",onPositionChanged:"position_changed",onZindexChanged:"zindex_changed"},kt={options(e,t){e.setOptions(t)},position(e,t){e.setPosition(t)},zIndex(e,t){e.setZIndex(t)}};function xt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,o)}return n}function Ot(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?xt(Object(n),!0).forEach(function(t){_(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):xt(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}l(function(e){var{children:t,anchor:n,options:r,position:a,zIndex:l,onCloseClick:p,onDomReady:u,onContentChanged:c,onPositionChanged:g,onZindexChanged:m,onLoad:v,onUnmount:y}=e,b=d(A),[L,w]=s(null),[C,M]=s(null),[k,x]=s(null),[O,P]=s(null),[E,S]=s(null),[I,D]=s(null),j=o(null);return i(()=>{null!==L&&(L.close(),n?L.open(b,n):L.getPosition()&&L.open(b))},[b,L,n]),i(()=>{r&&null!==L&&L.setOptions(r)},[L,r]),i(()=>{a&&null!==L&&L.setPosition(a)},[a]),i(()=>{"number"==typeof l&&null!==L&&L.setZIndex(l)},[l]),i(()=>{L&&p&&(null!==C&&google.maps.event.removeListener(C),M(google.maps.event.addListener(L,"closeclick",p)))},[p]),i(()=>{L&&u&&(null!==k&&google.maps.event.removeListener(k),x(google.maps.event.addListener(L,"domready",u)))},[u]),i(()=>{L&&c&&(null!==O&&google.maps.event.removeListener(O),P(google.maps.event.addListener(L,"content_changed",c)))},[c]),i(()=>{L&&g&&(null!==E&&google.maps.event.removeListener(E),S(google.maps.event.addListener(L,"position_changed",g)))},[g]),i(()=>{L&&m&&(null!==I&&google.maps.event.removeListener(I),D(google.maps.event.addListener(L,"zindex_changed",m)))},[m]),i(()=>{var e=new google.maps.InfoWindow(r);return w(e),j.current=document.createElement("div"),p&&M(google.maps.event.addListener(e,"closeclick",p)),u&&x(google.maps.event.addListener(e,"domready",u)),c&&P(google.maps.event.addListener(e,"content_changed",c)),g&&S(google.maps.event.addListener(e,"position_changed",g)),m&&D(google.maps.event.addListener(e,"zindex_changed",m)),e.setContent(j.current),a&&e.setPosition(a),l&&e.setZIndex(l),n?e.open(b,n):e.getPosition()?e.open(b):U(!1,"You must provide either an anchor (typically render it inside a <Marker>) or a position props for <InfoWindow>."),v&&v(e),()=>{C&&google.maps.event.removeListener(C),O&&google.maps.event.removeListener(O),k&&google.maps.event.removeListener(k),E&&google.maps.event.removeListener(E),I&&google.maps.event.removeListener(I),y&&y(e),e.close()}},[]),j.current?f(h.only(t),j.current):null}),_(class extends a{constructor(){super(...arguments),_(this,"registeredEvents",[]),_(this,"containerElement",null),_(this,"state",{infoWindow:null}),_(this,"open",(e,t)=>{t?e.open(this.context,t):e.getPosition()?e.open(this.context):U(!1,"You must provide either an anchor (typically render it inside a <Marker>) or a position props for <InfoWindow>.")}),_(this,"setInfoWindowCallback",()=>{null!==this.state.infoWindow&&null!==this.containerElement&&(this.state.infoWindow.setContent(this.containerElement),this.open(this.state.infoWindow,this.props.anchor),this.props.onLoad&&this.props.onLoad(this.state.infoWindow))})}componentDidMount(){var e=new google.maps.InfoWindow(this.props.options);this.containerElement=document.createElement("div"),this.registeredEvents=N({updaterMap:kt,eventMap:Mt,prevProps:{},nextProps:this.props,instance:e}),this.setState(()=>({infoWindow:e}),this.setInfoWindowCallback)}componentDidUpdate(e){null!==this.state.infoWindow&&(W(this.registeredEvents),this.registeredEvents=N({updaterMap:kt,eventMap:Mt,prevProps:e,nextProps:this.props,instance:this.state.infoWindow}))}componentWillUnmount(){null!==this.state.infoWindow&&(W(this.registeredEvents),this.props.onUnmount&&this.props.onUnmount(this.state.infoWindow),this.state.infoWindow.close())}render(){return this.containerElement?f(h.only(this.props.children),this.containerElement):null}},"contextType",A);var Pt={onClick:"click",onDblClick:"dblclick",onDrag:"drag",onDragEnd:"dragend",onDragStart:"dragstart",onMouseDown:"mousedown",onMouseMove:"mousemove",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onRightClick:"rightclick"},Et={draggable(e,t){e.setDraggable(t)},editable(e,t){e.setEditable(t)},map(e,t){e.setMap(t)},options(e,t){e.setOptions(t)},path(e,t){e.setPath(t)},visible(e,t){e.setVisible(t)}},St={},It=l(function(e){var{options:t,draggable:n,editable:o,visible:r,path:a,onDblClick:l,onDragEnd:p,onDragStart:h,onMouseDown:u,onMouseMove:c,onMouseOut:g,onMouseOver:m,onMouseUp:v,onRightClick:f,onClick:y,onDrag:b,onLoad:L,onUnmount:w}=e,C=d(A),[M,k]=s(null),[x,O]=s(null),[P,E]=s(null),[S,I]=s(null),[D,j]=s(null),[B,_]=s(null),[T,z]=s(null),[R,U]=s(null),[Z,V]=s(null),[W,N]=s(null),[H,F]=s(null),[G,K]=s(null);return i(()=>{null!==M&&M.setMap(C)},[C]),i(()=>{void 0!==t&&null!==M&&M.setOptions(t)},[M,t]),i(()=>{void 0!==n&&null!==M&&M.setDraggable(n)},[M,n]),i(()=>{void 0!==o&&null!==M&&M.setEditable(o)},[M,o]),i(()=>{void 0!==r&&null!==M&&M.setVisible(r)},[M,r]),i(()=>{void 0!==a&&null!==M&&M.setPath(a)},[M,a]),i(()=>{M&&l&&(null!==x&&google.maps.event.removeListener(x),O(google.maps.event.addListener(M,"dblclick",l)))},[l]),i(()=>{M&&p&&(null!==P&&google.maps.event.removeListener(P),E(google.maps.event.addListener(M,"dragend",p)))},[p]),i(()=>{M&&h&&(null!==S&&google.maps.event.removeListener(S),I(google.maps.event.addListener(M,"dragstart",h)))},[h]),i(()=>{M&&u&&(null!==D&&google.maps.event.removeListener(D),j(google.maps.event.addListener(M,"mousedown",u)))},[u]),i(()=>{M&&c&&(null!==B&&google.maps.event.removeListener(B),_(google.maps.event.addListener(M,"mousemove",c)))},[c]),i(()=>{M&&g&&(null!==T&&google.maps.event.removeListener(T),z(google.maps.event.addListener(M,"mouseout",g)))},[g]),i(()=>{M&&m&&(null!==R&&google.maps.event.removeListener(R),U(google.maps.event.addListener(M,"mouseover",m)))},[m]),i(()=>{M&&v&&(null!==Z&&google.maps.event.removeListener(Z),V(google.maps.event.addListener(M,"mouseup",v)))},[v]),i(()=>{M&&f&&(null!==W&&google.maps.event.removeListener(W),N(google.maps.event.addListener(M,"rightclick",f)))},[f]),i(()=>{M&&y&&(null!==H&&google.maps.event.removeListener(H),F(google.maps.event.addListener(M,"click",y)))},[y]),i(()=>{M&&b&&(null!==G&&google.maps.event.removeListener(G),K(google.maps.event.addListener(M,"drag",b)))},[b]),i(()=>{var e=new google.maps.Polyline(Ot(Ot({},t||St),{},{map:C}));return a&&e.setPath(a),void 0!==r&&e.setVisible(r),void 0!==o&&e.setEditable(o),void 0!==n&&e.setDraggable(n),l&&O(google.maps.event.addListener(e,"dblclick",l)),p&&E(google.maps.event.addListener(e,"dragend",p)),h&&I(google.maps.event.addListener(e,"dragstart",h)),u&&j(google.maps.event.addListener(e,"mousedown",u)),c&&_(google.maps.event.addListener(e,"mousemove",c)),g&&z(google.maps.event.addListener(e,"mouseout",g)),m&&U(google.maps.event.addListener(e,"mouseover",m)),v&&V(google.maps.event.addListener(e,"mouseup",v)),f&&N(google.maps.event.addListener(e,"rightclick",f)),y&&F(google.maps.event.addListener(e,"click",y)),b&&K(google.maps.event.addListener(e,"drag",b)),k(e),L&&L(e),()=>{null!==x&&google.maps.event.removeListener(x),null!==P&&google.maps.event.removeListener(P),null!==S&&google.maps.event.removeListener(S),null!==D&&google.maps.event.removeListener(D),null!==B&&google.maps.event.removeListener(B),null!==T&&google.maps.event.removeListener(T),null!==R&&google.maps.event.removeListener(R),null!==Z&&google.maps.event.removeListener(Z),null!==W&&google.maps.event.removeListener(W),null!==H&&google.maps.event.removeListener(H),w&&w(e),e.setMap(null)}},[]),null});function Dt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,o)}return n}function jt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Dt(Object(n),!0).forEach(function(t){_(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Dt(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}_(class extends a{constructor(){super(...arguments),_(this,"registeredEvents",[]),_(this,"state",{polyline:null}),_(this,"setPolylineCallback",()=>{null!==this.state.polyline&&this.props.onLoad&&this.props.onLoad(this.state.polyline)})}componentDidMount(){var e=new google.maps.Polyline(Ot(Ot({},this.props.options),{},{map:this.context}));this.registeredEvents=N({updaterMap:Et,eventMap:Pt,prevProps:{},nextProps:this.props,instance:e}),this.setState(function(){return{polyline:e}},this.setPolylineCallback)}componentDidUpdate(e){null!==this.state.polyline&&(W(this.registeredEvents),this.registeredEvents=N({updaterMap:Et,eventMap:Pt,prevProps:e,nextProps:this.props,instance:this.state.polyline}))}componentWillUnmount(){null!==this.state.polyline&&(this.props.onUnmount&&this.props.onUnmount(this.state.polyline),W(this.registeredEvents),this.state.polyline.setMap(null))}render(){return null}},"contextType",A);var Bt={onClick:"click",onDblClick:"dblclick",onDrag:"drag",onDragEnd:"dragend",onDragStart:"dragstart",onMouseDown:"mousedown",onMouseMove:"mousemove",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onRightClick:"rightclick"},_t={draggable(e,t){e.setDraggable(t)},editable(e,t){e.setEditable(t)},map(e,t){e.setMap(t)},options(e,t){e.setOptions(t)},path(e,t){e.setPath(t)},paths(e,t){e.setPaths(t)},visible(e,t){e.setVisible(t)}},Tt=l(function(e){var{options:t,draggable:n,editable:o,visible:r,path:a,paths:l,onDblClick:p,onDragEnd:h,onDragStart:u,onMouseDown:c,onMouseMove:g,onMouseOut:m,onMouseOver:v,onMouseUp:f,onRightClick:y,onClick:b,onDrag:L,onLoad:w,onUnmount:C,onEdit:M}=e,k=d(A),[x,O]=s(null),[P,E]=s(null),[S,I]=s(null),[D,j]=s(null),[B,_]=s(null),[T,z]=s(null),[R,U]=s(null),[Z,V]=s(null),[W,N]=s(null),[H,F]=s(null),[G,K]=s(null),[Y,q]=s(null);return i(()=>{null!==x&&x.setMap(k)},[k]),i(()=>{void 0!==t&&null!==x&&x.setOptions(t)},[x,t]),i(()=>{void 0!==n&&null!==x&&x.setDraggable(n)},[x,n]),i(()=>{void 0!==o&&null!==x&&x.setEditable(o)},[x,o]),i(()=>{void 0!==r&&null!==x&&x.setVisible(r)},[x,r]),i(()=>{void 0!==a&&null!==x&&x.setPath(a)},[x,a]),i(()=>{void 0!==l&&null!==x&&x.setPaths(l)},[x,l]),i(()=>{x&&"function"==typeof p&&(null!==P&&google.maps.event.removeListener(P),E(google.maps.event.addListener(x,"dblclick",p)))},[p]),i(()=>{x&&(google.maps.event.addListener(x.getPath(),"insert_at",()=>{null==M||M(x)}),google.maps.event.addListener(x.getPath(),"set_at",()=>{null==M||M(x)}),google.maps.event.addListener(x.getPath(),"remove_at",()=>{null==M||M(x)}))},[x,M]),i(()=>{x&&"function"==typeof h&&(null!==S&&google.maps.event.removeListener(S),I(google.maps.event.addListener(x,"dragend",h)))},[h]),i(()=>{x&&"function"==typeof u&&(null!==D&&google.maps.event.removeListener(D),j(google.maps.event.addListener(x,"dragstart",u)))},[u]),i(()=>{x&&"function"==typeof c&&(null!==B&&google.maps.event.removeListener(B),_(google.maps.event.addListener(x,"mousedown",c)))},[c]),i(()=>{x&&"function"==typeof g&&(null!==T&&google.maps.event.removeListener(T),z(google.maps.event.addListener(x,"mousemove",g)))},[g]),i(()=>{x&&"function"==typeof m&&(null!==R&&google.maps.event.removeListener(R),U(google.maps.event.addListener(x,"mouseout",m)))},[m]),i(()=>{x&&"function"==typeof v&&(null!==Z&&google.maps.event.removeListener(Z),V(google.maps.event.addListener(x,"mouseover",v)))},[v]),i(()=>{x&&"function"==typeof f&&(null!==W&&google.maps.event.removeListener(W),N(google.maps.event.addListener(x,"mouseup",f)))},[f]),i(()=>{x&&"function"==typeof y&&(null!==H&&google.maps.event.removeListener(H),F(google.maps.event.addListener(x,"rightclick",y)))},[y]),i(()=>{x&&"function"==typeof b&&(null!==G&&google.maps.event.removeListener(G),K(google.maps.event.addListener(x,"click",b)))},[b]),i(()=>{x&&"function"==typeof L&&(null!==Y&&google.maps.event.removeListener(Y),q(google.maps.event.addListener(x,"drag",L)))},[L]),i(()=>{var e=new google.maps.Polygon(jt(jt({},t),{},{map:k}));return a&&e.setPath(a),l&&e.setPaths(l),void 0!==r&&e.setVisible(r),void 0!==o&&e.setEditable(o),void 0!==n&&e.setDraggable(n),p&&E(google.maps.event.addListener(e,"dblclick",p)),h&&I(google.maps.event.addListener(e,"dragend",h)),u&&j(google.maps.event.addListener(e,"dragstart",u)),c&&_(google.maps.event.addListener(e,"mousedown",c)),g&&z(google.maps.event.addListener(e,"mousemove",g)),m&&U(google.maps.event.addListener(e,"mouseout",m)),v&&V(google.maps.event.addListener(e,"mouseover",v)),f&&N(google.maps.event.addListener(e,"mouseup",f)),y&&F(google.maps.event.addListener(e,"rightclick",y)),b&&K(google.maps.event.addListener(e,"click",b)),L&&q(google.maps.event.addListener(e,"drag",L)),O(e),w&&w(e),()=>{null!==P&&google.maps.event.removeListener(P),null!==S&&google.maps.event.removeListener(S),null!==D&&google.maps.event.removeListener(D),null!==B&&google.maps.event.removeListener(B),null!==T&&google.maps.event.removeListener(T),null!==R&&google.maps.event.removeListener(R),null!==Z&&google.maps.event.removeListener(Z),null!==W&&google.maps.event.removeListener(W),null!==H&&google.maps.event.removeListener(H),null!==G&&google.maps.event.removeListener(G),C&&C(e),e.setMap(null)}},[]),null});function zt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,o)}return n}function Rt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?zt(Object(n),!0).forEach(function(t){_(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):zt(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}_(class extends a{constructor(){super(...arguments),_(this,"registeredEvents",[])}componentDidMount(){this.polygon=new google.maps.Polygon(this.props.options||{}),this.polygon.setMap(this.context),this.registeredEvents=N({updaterMap:_t,eventMap:Bt,prevProps:{},nextProps:this.props,instance:this.polygon}),this.props.onLoad&&this.props.onLoad(this.polygon)}componentDidUpdate(e){this.polygon&&(W(this.registeredEvents),this.registeredEvents=N({updaterMap:_t,eventMap:Bt,prevProps:e,nextProps:this.props,instance:this.polygon}))}componentWillUnmount(){this.polygon&&(this.props.onUnmount&&this.props.onUnmount(this.polygon),W(this.registeredEvents),this.polygon&&this.polygon.setMap(null))}render(){return null}},"contextType",A);var Ut={onBoundsChanged:"bounds_changed",onClick:"click",onDblClick:"dblclick",onDrag:"drag",onDragEnd:"dragend",onDragStart:"dragstart",onMouseDown:"mousedown",onMouseMove:"mousemove",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onRightClick:"rightclick"},At={bounds(e,t){e.setBounds(t)},draggable(e,t){e.setDraggable(t)},editable(e,t){e.setEditable(t)},map(e,t){e.setMap(t)},options(e,t){e.setOptions(t)},visible(e,t){e.setVisible(t)}};function Zt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,o)}return n}function Vt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Zt(Object(n),!0).forEach(function(t){_(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Zt(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}l(function(e){var{options:t,bounds:n,draggable:o,editable:r,visible:a,onDblClick:l,onDragEnd:p,onDragStart:h,onMouseDown:u,onMouseMove:c,onMouseOut:g,onMouseOver:m,onMouseUp:v,onRightClick:f,onClick:y,onDrag:b,onBoundsChanged:L,onLoad:w,onUnmount:C}=e,M=d(A),[k,x]=s(null),[O,P]=s(null),[E,S]=s(null),[I,D]=s(null),[j,B]=s(null),[_,T]=s(null),[z,R]=s(null),[U,Z]=s(null),[V,W]=s(null),[N,H]=s(null),[F,G]=s(null),[K,Y]=s(null),[q,$]=s(null);return i(()=>{null!==k&&k.setMap(M)},[M]),i(()=>{void 0!==t&&null!==k&&k.setOptions(t)},[k,t]),i(()=>{void 0!==o&&null!==k&&k.setDraggable(o)},[k,o]),i(()=>{void 0!==r&&null!==k&&k.setEditable(r)},[k,r]),i(()=>{void 0!==a&&null!==k&&k.setVisible(a)},[k,a]),i(()=>{void 0!==n&&null!==k&&k.setBounds(n)},[k,n]),i(()=>{k&&l&&(null!==O&&google.maps.event.removeListener(O),P(google.maps.event.addListener(k,"dblclick",l)))},[l]),i(()=>{k&&p&&(null!==E&&google.maps.event.removeListener(E),S(google.maps.event.addListener(k,"dragend",p)))},[p]),i(()=>{k&&h&&(null!==I&&google.maps.event.removeListener(I),D(google.maps.event.addListener(k,"dragstart",h)))},[h]),i(()=>{k&&u&&(null!==j&&google.maps.event.removeListener(j),B(google.maps.event.addListener(k,"mousedown",u)))},[u]),i(()=>{k&&c&&(null!==_&&google.maps.event.removeListener(_),T(google.maps.event.addListener(k,"mousemove",c)))},[c]),i(()=>{k&&g&&(null!==z&&google.maps.event.removeListener(z),R(google.maps.event.addListener(k,"mouseout",g)))},[g]),i(()=>{k&&m&&(null!==U&&google.maps.event.removeListener(U),Z(google.maps.event.addListener(k,"mouseover",m)))},[m]),i(()=>{k&&v&&(null!==V&&google.maps.event.removeListener(V),W(google.maps.event.addListener(k,"mouseup",v)))},[v]),i(()=>{k&&f&&(null!==N&&google.maps.event.removeListener(N),H(google.maps.event.addListener(k,"rightclick",f)))},[f]),i(()=>{k&&y&&(null!==F&&google.maps.event.removeListener(F),G(google.maps.event.addListener(k,"click",y)))},[y]),i(()=>{k&&b&&(null!==K&&google.maps.event.removeListener(K),Y(google.maps.event.addListener(k,"drag",b)))},[b]),i(()=>{k&&L&&(null!==q&&google.maps.event.removeListener(q),$(google.maps.event.addListener(k,"bounds_changed",L)))},[L]),i(()=>{var e=new google.maps.Rectangle(Rt(Rt({},t),{},{map:M}));return void 0!==a&&e.setVisible(a),void 0!==r&&e.setEditable(r),void 0!==o&&e.setDraggable(o),void 0!==n&&e.setBounds(n),l&&P(google.maps.event.addListener(e,"dblclick",l)),p&&S(google.maps.event.addListener(e,"dragend",p)),h&&D(google.maps.event.addListener(e,"dragstart",h)),u&&B(google.maps.event.addListener(e,"mousedown",u)),c&&T(google.maps.event.addListener(e,"mousemove",c)),g&&R(google.maps.event.addListener(e,"mouseout",g)),m&&Z(google.maps.event.addListener(e,"mouseover",m)),v&&W(google.maps.event.addListener(e,"mouseup",v)),f&&H(google.maps.event.addListener(e,"rightclick",f)),y&&G(google.maps.event.addListener(e,"click",y)),b&&Y(google.maps.event.addListener(e,"drag",b)),L&&$(google.maps.event.addListener(e,"bounds_changed",L)),x(e),w&&w(e),()=>{null!==O&&google.maps.event.removeListener(O),null!==E&&google.maps.event.removeListener(E),null!==I&&google.maps.event.removeListener(I),null!==j&&google.maps.event.removeListener(j),null!==_&&google.maps.event.removeListener(_),null!==z&&google.maps.event.removeListener(z),null!==U&&google.maps.event.removeListener(U),null!==V&&google.maps.event.removeListener(V),null!==N&&google.maps.event.removeListener(N),null!==F&&google.maps.event.removeListener(F),null!==K&&google.maps.event.removeListener(K),null!==q&&google.maps.event.removeListener(q),C&&C(e),e.setMap(null)}},[]),null}),_(class extends a{constructor(){super(...arguments),_(this,"registeredEvents",[]),_(this,"state",{rectangle:null}),_(this,"setRectangleCallback",()=>{null!==this.state.rectangle&&this.props.onLoad&&this.props.onLoad(this.state.rectangle)})}componentDidMount(){var e=new google.maps.Rectangle(Rt(Rt({},this.props.options),{},{map:this.context}));this.registeredEvents=N({updaterMap:At,eventMap:Ut,prevProps:{},nextProps:this.props,instance:e}),this.setState(function(){return{rectangle:e}},this.setRectangleCallback)}componentDidUpdate(e){null!==this.state.rectangle&&(W(this.registeredEvents),this.registeredEvents=N({updaterMap:At,eventMap:Ut,prevProps:e,nextProps:this.props,instance:this.state.rectangle}))}componentWillUnmount(){null!==this.state.rectangle&&(this.props.onUnmount&&this.props.onUnmount(this.state.rectangle),W(this.registeredEvents),this.state.rectangle.setMap(null))}render(){return null}},"contextType",A);var Wt={onCenterChanged:"center_changed",onRadiusChanged:"radius_changed",onClick:"click",onDblClick:"dblclick",onDrag:"drag",onDragEnd:"dragend",onDragStart:"dragstart",onMouseDown:"mousedown",onMouseMove:"mousemove",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onRightClick:"rightclick"},Nt={center(e,t){e.setCenter(t)},draggable(e,t){e.setDraggable(t)},editable(e,t){e.setEditable(t)},map(e,t){e.setMap(t)},options(e,t){e.setOptions(t)},radius(e,t){e.setRadius(t)},visible(e,t){e.setVisible(t)}},Ht={},Ft=l(function(e){var{options:t,center:n,radius:o,draggable:r,editable:a,visible:l,onDblClick:p,onDragEnd:h,onDragStart:u,onMouseDown:c,onMouseMove:g,onMouseOut:m,onMouseOver:v,onMouseUp:f,onRightClick:y,onClick:b,onDrag:L,onCenterChanged:w,onRadiusChanged:C,onLoad:M,onUnmount:k}=e,x=d(A),[O,P]=s(null),[E,S]=s(null),[I,D]=s(null),[j,B]=s(null),[_,T]=s(null),[z,R]=s(null),[U,Z]=s(null),[V,W]=s(null),[N,H]=s(null),[F,G]=s(null),[K,Y]=s(null),[q,$]=s(null),[J,X]=s(null),[Q,ee]=s(null);return i(()=>{null!==O&&O.setMap(x)},[x]),i(()=>{void 0!==t&&null!==O&&O.setOptions(t)},[O,t]),i(()=>{void 0!==r&&null!==O&&O.setDraggable(r)},[O,r]),i(()=>{void 0!==a&&null!==O&&O.setEditable(a)},[O,a]),i(()=>{void 0!==l&&null!==O&&O.setVisible(l)},[O,l]),i(()=>{"number"==typeof o&&null!==O&&O.setRadius(o)},[O,o]),i(()=>{void 0!==n&&null!==O&&O.setCenter(n)},[O,n]),i(()=>{O&&p&&(null!==E&&google.maps.event.removeListener(E),S(google.maps.event.addListener(O,"dblclick",p)))},[p]),i(()=>{O&&h&&(null!==I&&google.maps.event.removeListener(I),D(google.maps.event.addListener(O,"dragend",h)))},[h]),i(()=>{O&&u&&(null!==j&&google.maps.event.removeListener(j),B(google.maps.event.addListener(O,"dragstart",u)))},[u]),i(()=>{O&&c&&(null!==_&&google.maps.event.removeListener(_),T(google.maps.event.addListener(O,"mousedown",c)))},[c]),i(()=>{O&&g&&(null!==z&&google.maps.event.removeListener(z),R(google.maps.event.addListener(O,"mousemove",g)))},[g]),i(()=>{O&&m&&(null!==U&&google.maps.event.removeListener(U),Z(google.maps.event.addListener(O,"mouseout",m)))},[m]),i(()=>{O&&v&&(null!==V&&google.maps.event.removeListener(V),W(google.maps.event.addListener(O,"mouseover",v)))},[v]),i(()=>{O&&f&&(null!==N&&google.maps.event.removeListener(N),H(google.maps.event.addListener(O,"mouseup",f)))},[f]),i(()=>{O&&y&&(null!==F&&google.maps.event.removeListener(F),G(google.maps.event.addListener(O,"rightclick",y)))},[y]),i(()=>{O&&b&&(null!==K&&google.maps.event.removeListener(K),Y(google.maps.event.addListener(O,"click",b)))},[b]),i(()=>{O&&L&&(null!==q&&google.maps.event.removeListener(q),$(google.maps.event.addListener(O,"drag",L)))},[L]),i(()=>{O&&w&&(null!==J&&google.maps.event.removeListener(J),X(google.maps.event.addListener(O,"center_changed",w)))},[b]),i(()=>{O&&C&&(null!==Q&&google.maps.event.removeListener(Q),ee(google.maps.event.addListener(O,"radius_changed",C)))},[C]),i(()=>{var e=new google.maps.Circle(Vt(Vt({},t||Ht),{},{map:x}));return"number"==typeof o&&e.setRadius(o),void 0!==n&&e.setCenter(n),"number"==typeof o&&e.setRadius(o),void 0!==l&&e.setVisible(l),void 0!==a&&e.setEditable(a),void 0!==r&&e.setDraggable(r),p&&S(google.maps.event.addListener(e,"dblclick",p)),h&&D(google.maps.event.addListener(e,"dragend",h)),u&&B(google.maps.event.addListener(e,"dragstart",u)),c&&T(google.maps.event.addListener(e,"mousedown",c)),g&&R(google.maps.event.addListener(e,"mousemove",g)),m&&Z(google.maps.event.addListener(e,"mouseout",m)),v&&W(google.maps.event.addListener(e,"mouseover",v)),f&&H(google.maps.event.addListener(e,"mouseup",f)),y&&G(google.maps.event.addListener(e,"rightclick",y)),b&&Y(google.maps.event.addListener(e,"click",b)),L&&$(google.maps.event.addListener(e,"drag",L)),w&&X(google.maps.event.addListener(e,"center_changed",w)),C&&ee(google.maps.event.addListener(e,"radius_changed",C)),P(e),M&&M(e),()=>{null!==E&&google.maps.event.removeListener(E),null!==I&&google.maps.event.removeListener(I),null!==j&&google.maps.event.removeListener(j),null!==_&&google.maps.event.removeListener(_),null!==z&&google.maps.event.removeListener(z),null!==U&&google.maps.event.removeListener(U),null!==V&&google.maps.event.removeListener(V),null!==N&&google.maps.event.removeListener(N),null!==F&&google.maps.event.removeListener(F),null!==K&&google.maps.event.removeListener(K),null!==J&&google.maps.event.removeListener(J),null!==Q&&google.maps.event.removeListener(Q),k&&k(e),e.setMap(null)}},[]),null});function Gt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,o)}return n}function Kt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Gt(Object(n),!0).forEach(function(t){_(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Gt(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}_(class extends a{constructor(){super(...arguments),_(this,"registeredEvents",[]),_(this,"state",{circle:null}),_(this,"setCircleCallback",()=>{null!==this.state.circle&&this.props.onLoad&&this.props.onLoad(this.state.circle)})}componentDidMount(){var e=new google.maps.Circle(Vt(Vt({},this.props.options),{},{map:this.context}));this.registeredEvents=N({updaterMap:Nt,eventMap:Wt,prevProps:{},nextProps:this.props,instance:e}),this.setState(function(){return{circle:e}},this.setCircleCallback)}componentDidUpdate(e){null!==this.state.circle&&(W(this.registeredEvents),this.registeredEvents=N({updaterMap:Nt,eventMap:Wt,prevProps:e,nextProps:this.props,instance:this.state.circle}))}componentWillUnmount(){var e;null!==this.state.circle&&(this.props.onUnmount&&this.props.onUnmount(this.state.circle),W(this.registeredEvents),null===(e=this.state.circle)||void 0===e||e.setMap(null))}render(){return null}},"contextType",A);var Yt={onClick:"click",onDblClick:"dblclick",onMouseDown:"mousedown",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onRightClick:"rightclick",onAddFeature:"addfeature",onRemoveFeature:"removefeature",onRemoveProperty:"removeproperty",onSetGeometry:"setgeometry",onSetProperty:"setproperty"},qt={add(e,t){e.add(t)},addgeojson(e,t,n){e.addGeoJson(t,n)},contains(e,t){e.contains(t)},foreach(e,t){e.forEach(t)},loadgeojson(e,t,n,o){e.loadGeoJson(t,n,o)},overridestyle(e,t,n){e.overrideStyle(t,n)},remove(e,t){e.remove(t)},revertstyle(e,t){e.revertStyle(t)},controlposition(e,t){e.setControlPosition(t)},controls(e,t){e.setControls(t)},drawingmode(e,t){e.setDrawingMode(t)},map(e,t){e.setMap(t)},style(e,t){e.setStyle(t)},togeojson(e,t){e.toGeoJson(t)}};function $t(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,o)}return n}function Jt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?$t(Object(n),!0).forEach(function(t){_(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):$t(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}l(function(e){var{options:t,onClick:n,onDblClick:o,onMouseDown:r,onMouseMove:a,onMouseOut:l,onMouseOver:p,onMouseUp:h,onRightClick:u,onAddFeature:c,onRemoveFeature:g,onRemoveProperty:m,onSetGeometry:v,onSetProperty:f,onLoad:y,onUnmount:b}=e,L=d(A),[w,C]=s(null),[M,k]=s(null),[x,O]=s(null),[P,E]=s(null),[S,I]=s(null),[D,j]=s(null),[B,_]=s(null),[T,z]=s(null),[R,U]=s(null),[Z,V]=s(null),[W,N]=s(null),[H,F]=s(null),[G,K]=s(null),[Y,q]=s(null);return i(()=>{null!==w&&w.setMap(L)},[L]),i(()=>{w&&o&&(null!==M&&google.maps.event.removeListener(M),k(google.maps.event.addListener(w,"dblclick",o)))},[o]),i(()=>{w&&r&&(null!==x&&google.maps.event.removeListener(x),O(google.maps.event.addListener(w,"mousedown",r)))},[r]),i(()=>{w&&a&&(null!==P&&google.maps.event.removeListener(P),E(google.maps.event.addListener(w,"mousemove",a)))},[a]),i(()=>{w&&l&&(null!==S&&google.maps.event.removeListener(S),I(google.maps.event.addListener(w,"mouseout",l)))},[l]),i(()=>{w&&p&&(null!==D&&google.maps.event.removeListener(D),j(google.maps.event.addListener(w,"mouseover",p)))},[p]),i(()=>{w&&h&&(null!==B&&google.maps.event.removeListener(B),_(google.maps.event.addListener(w,"mouseup",h)))},[h]),i(()=>{w&&u&&(null!==T&&google.maps.event.removeListener(T),z(google.maps.event.addListener(w,"rightclick",u)))},[u]),i(()=>{w&&n&&(null!==R&&google.maps.event.removeListener(R),U(google.maps.event.addListener(w,"click",n)))},[n]),i(()=>{w&&c&&(null!==Z&&google.maps.event.removeListener(Z),V(google.maps.event.addListener(w,"addfeature",c)))},[c]),i(()=>{w&&g&&(null!==W&&google.maps.event.removeListener(W),N(google.maps.event.addListener(w,"removefeature",g)))},[g]),i(()=>{w&&m&&(null!==H&&google.maps.event.removeListener(H),F(google.maps.event.addListener(w,"removeproperty",m)))},[m]),i(()=>{w&&v&&(null!==G&&google.maps.event.removeListener(G),K(google.maps.event.addListener(w,"setgeometry",v)))},[v]),i(()=>{w&&f&&(null!==Y&&google.maps.event.removeListener(Y),q(google.maps.event.addListener(w,"setproperty",f)))},[f]),i(()=>{if(null!==L){var e=new google.maps.Data(Kt(Kt({},t),{},{map:L}));o&&k(google.maps.event.addListener(e,"dblclick",o)),r&&O(google.maps.event.addListener(e,"mousedown",r)),a&&E(google.maps.event.addListener(e,"mousemove",a)),l&&I(google.maps.event.addListener(e,"mouseout",l)),p&&j(google.maps.event.addListener(e,"mouseover",p)),h&&_(google.maps.event.addListener(e,"mouseup",h)),u&&z(google.maps.event.addListener(e,"rightclick",u)),n&&U(google.maps.event.addListener(e,"click",n)),c&&V(google.maps.event.addListener(e,"addfeature",c)),g&&N(google.maps.event.addListener(e,"removefeature",g)),m&&F(google.maps.event.addListener(e,"removeproperty",m)),v&&K(google.maps.event.addListener(e,"setgeometry",v)),f&&q(google.maps.event.addListener(e,"setproperty",f)),C(e),y&&y(e)}return()=>{w&&(null!==M&&google.maps.event.removeListener(M),null!==x&&google.maps.event.removeListener(x),null!==P&&google.maps.event.removeListener(P),null!==S&&google.maps.event.removeListener(S),null!==D&&google.maps.event.removeListener(D),null!==B&&google.maps.event.removeListener(B),null!==T&&google.maps.event.removeListener(T),null!==R&&google.maps.event.removeListener(R),null!==Z&&google.maps.event.removeListener(Z),null!==W&&google.maps.event.removeListener(W),null!==H&&google.maps.event.removeListener(H),null!==G&&google.maps.event.removeListener(G),null!==Y&&google.maps.event.removeListener(Y),b&&b(w),w.setMap(null))}},[]),null}),_(class extends a{constructor(){super(...arguments),_(this,"registeredEvents",[]),_(this,"state",{data:null}),_(this,"setDataCallback",()=>{null!==this.state.data&&this.props.onLoad&&this.props.onLoad(this.state.data)})}componentDidMount(){if(null!==this.context){var e=new google.maps.Data(Kt(Kt({},this.props.options),{},{map:this.context}));this.registeredEvents=N({updaterMap:qt,eventMap:Yt,prevProps:{},nextProps:this.props,instance:e}),this.setState(()=>({data:e}),this.setDataCallback)}}componentDidUpdate(e){null!==this.state.data&&(W(this.registeredEvents),this.registeredEvents=N({updaterMap:qt,eventMap:Yt,prevProps:e,nextProps:this.props,instance:this.state.data}))}componentWillUnmount(){null!==this.state.data&&(this.props.onUnmount&&this.props.onUnmount(this.state.data),W(this.registeredEvents),this.state.data&&this.state.data.setMap(null))}render(){return null}},"contextType",A);var Xt={onClick:"click",onDefaultViewportChanged:"defaultviewport_changed",onStatusChanged:"status_changed"},Qt={options(e,t){e.setOptions(t)},url(e,t){e.setUrl(t)},zIndex(e,t){e.setZIndex(t)}};function en(e,t){return"function"==typeof t?t(e.offsetWidth,e.offsetHeight):{x:0,y:0}}function tn(e,t,n,o){return void 0!==n?function(e,t,n){var o=e&&e.fromLatLngToDivPixel(n.getNorthEast()),s=e&&e.fromLatLngToDivPixel(n.getSouthWest());return o&&s?{left:"".concat(s.x+t.x,"px"),top:"".concat(o.y+t.y,"px"),width:"".concat(o.x-s.x-t.x,"px"),height:"".concat(s.y-o.y-t.y,"px")}:{left:"-9999px",top:"-9999px"}}(e,t,(s=n)instanceof(i=google.maps.LatLngBounds)?s:function(e,t){return new t(new google.maps.LatLng(e.ne.lat,e.ne.lng),new google.maps.LatLng(e.sw.lat,e.sw.lng))}(s,i)):function(e,t,n){var o=e&&e.fromLatLngToDivPixel(n);if(o){var{x:s,y:i}=o;return{left:"".concat(s+t.x,"px"),top:"".concat(i+t.y,"px")}}return{left:"-9999px",top:"-9999px"}}(e,t,function(e,t){return e instanceof t?e:function(e,t){return new t(e.lat,e.lng)}(e,t)}(o,google.maps.LatLng));var s,i}function nn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,o)}return n}function on(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,o)}return n}function sn(e){return e?(e instanceof google.maps.LatLng?e:new google.maps.LatLng(e.lat,e.lng))+"":""}function rn(e){return e?(e instanceof google.maps.LatLngBounds?e:new google.maps.LatLngBounds(new google.maps.LatLng(e.south,e.east),new google.maps.LatLng(e.north,e.west)))+"":""}_(class extends a{constructor(){super(...arguments),_(this,"registeredEvents",[]),_(this,"state",{kmlLayer:null}),_(this,"setKmlLayerCallback",()=>{null!==this.state.kmlLayer&&this.props.onLoad&&this.props.onLoad(this.state.kmlLayer)})}componentDidMount(){var e=new google.maps.KmlLayer(Jt(Jt({},this.props.options),{},{map:this.context}));this.registeredEvents=N({updaterMap:Qt,eventMap:Xt,prevProps:{},nextProps:this.props,instance:e}),this.setState(function(){return{kmlLayer:e}},this.setKmlLayerCallback)}componentDidUpdate(e){null!==this.state.kmlLayer&&(W(this.registeredEvents),this.registeredEvents=N({updaterMap:Qt,eventMap:Xt,prevProps:e,nextProps:this.props,instance:this.state.kmlLayer}))}componentWillUnmount(){null!==this.state.kmlLayer&&(this.props.onUnmount&&this.props.onUnmount(this.state.kmlLayer),W(this.registeredEvents),this.state.kmlLayer.setMap(null))}render(){return null}},"contextType",A),l(function(e){var{position:t,bounds:n,mapPaneName:o,zIndex:s,onLoad:a,onUnmount:l,getPixelPositionOffset:p,children:h}=e,u=d(A),c=r(()=>{var e=document.createElement("div");return e.style.position="absolute",e},[]),g=r(()=>function(e,t,n,o,s){class i extends google.maps.OverlayView{constructor(e,t,n,o){super(),this.container=e,this.pane=t,this.position=n,this.bounds=o}onAdd(){var e,t=null===(e=this.getPanes())||void 0===e?void 0:e[this.pane];null==t||t.appendChild(this.container)}draw(){var e=this.getProjection(),t=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?nn(Object(n),!0).forEach(function(t){_(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):nn(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}({},this.container?en(this.container,s):{x:0,y:0}),n=tn(e,t,this.bounds,this.position);for(var[o,i]of Object.entries(n))this.container.style[o]=i}onRemove(){null!==this.container.parentNode&&this.container.parentNode.removeChild(this.container)}}return new i(e,t,n,o)}(c,o,t,n,p),[c,o,t,n]);return i(()=>(null==a||a(g),null==g||g.setMap(u),()=>{null==l||l(g),null==g||g.setMap(null)}),[u,g]),i(()=>{c.style.zIndex="".concat(s)},[s,c]),v.createPortal(h,c)});class an extends a{constructor(e){super(e),_(this,"state",{paneEl:null,containerStyle:{position:"absolute"}}),_(this,"updatePane",()=>{var e=this.props.mapPaneName,t=this.overlayView.getPanes();U(!!e,"OverlayView requires props.mapPaneName but got %s",e),this.setState(t?{paneEl:t[e]}:{paneEl:null})}),_(this,"onAdd",()=>{var e,t;this.updatePane(),null===(e=(t=this.props).onLoad)||void 0===e||e.call(t,this.overlayView)}),_(this,"onPositionElement",()=>{var e,t,n,o,s,i,r=this.overlayView.getProjection(),a=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?on(Object(n),!0).forEach(function(t){_(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):on(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}({x:0,y:0},this.containerRef.current?en(this.containerRef.current,this.props.getPixelPositionOffset):{}),l=tn(r,a,this.props.bounds,this.props.position);(s=l).left===(i={left:this.state.containerStyle.left,top:this.state.containerStyle.top,width:this.state.containerStyle.width,height:this.state.containerStyle.height}).left&&s.top===i.top&&s.width===i.height&&s.height===i.height||this.setState({containerStyle:{top:null!==(e=l.top)&&void 0!==e?e:0,left:null!==(t=l.left)&&void 0!==t?t:0,width:null!==(n=l.width)&&void 0!==n?n:0,height:null!==(o=l.height)&&void 0!==o?o:0,position:"absolute"}})}),_(this,"draw",()=>{this.onPositionElement()}),_(this,"onRemove",()=>{var e,t;this.setState(()=>({paneEl:null})),null===(e=(t=this.props).onUnmount)||void 0===e||e.call(t,this.overlayView)}),this.containerRef=g();var t=new google.maps.OverlayView;t.onAdd=this.onAdd,t.draw=this.draw,t.onRemove=this.onRemove,this.overlayView=t}componentDidMount(){this.overlayView.setMap(this.context)}componentDidUpdate(e){var t=sn(e.position),n=sn(this.props.position),o=rn(e.bounds),s=rn(this.props.bounds);t===n&&o===s||this.overlayView.draw(),e.mapPaneName!==this.props.mapPaneName&&this.updatePane()}componentWillUnmount(){this.overlayView.setMap(null)}render(){var t=this.state.paneEl;return t?v.createPortal(e("div",{ref:this.containerRef,style:this.state.containerStyle,children:h.only(this.props.children)}),t):null}}function ln(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,o)}return n}function pn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ln(Object(n),!0).forEach(function(t){_(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ln(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}_(an,"FLOAT_PANE","floatPane"),_(an,"MAP_PANE","mapPane"),_(an,"MARKER_LAYER","markerLayer"),_(an,"OVERLAY_LAYER","overlayLayer"),_(an,"OVERLAY_MOUSE_TARGET","overlayMouseTarget"),_(an,"contextType",A);var dn={onDblClick:"dblclick",onClick:"click"},hn={opacity(e,t){e.setOpacity(t)}};l(function(e){var{url:t,bounds:n,options:o,visible:s}=e,a=d(A),l=new google.maps.LatLngBounds(new google.maps.LatLng(n.south,n.west),new google.maps.LatLng(n.north,n.east)),p=r(()=>new google.maps.GroundOverlay(t,l,o),[]);return i(()=>{null!==p&&p.setMap(a)},[a]),i(()=>{void 0!==t&&null!==p&&(p.set("url",t),p.setMap(a))},[p,t]),i(()=>{void 0!==s&&null!==p&&p.setOpacity(s?1:0)},[p,s]),i(()=>{var e=new google.maps.LatLngBounds(new google.maps.LatLng(n.south,n.west),new google.maps.LatLng(n.north,n.east));void 0!==n&&null!==p&&(p.set("bounds",e),p.setMap(a))},[p,n]),null});class un extends a{constructor(){super(...arguments),_(this,"registeredEvents",[]),_(this,"state",{groundOverlay:null}),_(this,"setGroundOverlayCallback",()=>{null!==this.state.groundOverlay&&this.props.onLoad&&this.props.onLoad(this.state.groundOverlay)})}componentDidMount(){U(!!this.props.url||!!this.props.bounds,"For GroundOverlay, url and bounds are passed in to constructor and are immutable after instantiated. This is the behavior of Google Maps JavaScript API v3 ( See https://developers.google.com/maps/documentation/javascript/reference#GroundOverlay) Hence, use the corresponding two props provided by `react-google-maps-api`, url and bounds. In some cases, you'll need the GroundOverlay component to reflect the changes of url and bounds. You can leverage the React's key property to remount the component. Typically, just `key={url}` would serve your need. See https://github.com/tomchentw/react-google-maps/issues/655");var e=new google.maps.GroundOverlay(this.props.url,this.props.bounds,pn(pn({},this.props.options),{},{map:this.context}));this.registeredEvents=N({updaterMap:hn,eventMap:dn,prevProps:{},nextProps:this.props,instance:e}),this.setState(function(){return{groundOverlay:e}},this.setGroundOverlayCallback)}componentDidUpdate(e){null!==this.state.groundOverlay&&(W(this.registeredEvents),this.registeredEvents=N({updaterMap:hn,eventMap:dn,prevProps:e,nextProps:this.props,instance:this.state.groundOverlay}))}componentWillUnmount(){this.state.groundOverlay&&(this.props.onUnmount&&this.props.onUnmount(this.state.groundOverlay),this.state.groundOverlay.setMap(null))}render(){return null}}function cn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,o)}return n}function gn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?cn(Object(n),!0).forEach(function(t){_(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):cn(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}_(un,"defaultProps",{onLoad:function(){}}),_(un,"contextType",A);var mn={},vn={data(e,t){e.setData(t)},map(e,t){e.setMap(t)},options(e,t){e.setOptions(t)}};l(function(e){var{data:t,onLoad:n,onUnmount:o,options:r}=e,a=d(A),[l,p]=s(null);return i(()=>{google.maps.visualization||U(!!google.maps.visualization,'Did you include prop libraries={["visualization"]} in useJsApiScript? %s',google.maps.visualization)},[]),i(()=>{U(!!t,"data property is required in HeatmapLayer %s",t)},[t]),i(()=>{null!==l&&l.setMap(a)},[a]),i(()=>{r&&null!==l&&l.setOptions(r)},[l,r]),i(()=>{var e=new google.maps.visualization.HeatmapLayer(gn(gn({},r),{},{data:t,map:a}));return p(e),n&&n(e),()=>{null!==l&&(o&&o(l),l.setMap(null))}},[]),null}),_(class extends a{constructor(){super(...arguments),_(this,"registeredEvents",[]),_(this,"state",{heatmapLayer:null}),_(this,"setHeatmapLayerCallback",()=>{null!==this.state.heatmapLayer&&this.props.onLoad&&this.props.onLoad(this.state.heatmapLayer)})}componentDidMount(){U(!!google.maps.visualization,'Did you include prop libraries={["visualization"]} to <LoadScript />? %s',google.maps.visualization),U(!!this.props.data,"data property is required in HeatmapLayer %s",this.props.data);var e=new google.maps.visualization.HeatmapLayer(gn(gn({},this.props.options),{},{data:this.props.data,map:this.context}));this.registeredEvents=N({updaterMap:vn,eventMap:mn,prevProps:{},nextProps:this.props,instance:e}),this.setState(function(){return{heatmapLayer:e}},this.setHeatmapLayerCallback)}componentDidUpdate(e){W(this.registeredEvents),this.registeredEvents=N({updaterMap:vn,eventMap:mn,prevProps:e,nextProps:this.props,instance:this.state.heatmapLayer})}componentWillUnmount(){null!==this.state.heatmapLayer&&(this.props.onUnmount&&this.props.onUnmount(this.state.heatmapLayer),W(this.registeredEvents),this.state.heatmapLayer.setMap(null))}render(){return null}},"contextType",A);var fn={onCloseClick:"closeclick",onPanoChanged:"pano_changed",onPositionChanged:"position_changed",onPovChanged:"pov_changed",onResize:"resize",onStatusChanged:"status_changed",onVisibleChanged:"visible_changed",onZoomChanged:"zoom_changed"},yn={register(e,t,n){e.registerPanoProvider(t,n)},links(e,t){e.setLinks(t)},motionTracking(e,t){e.setMotionTracking(t)},options(e,t){e.setOptions(t)},pano(e,t){e.setPano(t)},position(e,t){e.setPosition(t)},pov(e,t){e.setPov(t)},visible(e,t){e.setVisible(t)},zoom(e,t){e.setZoom(t)}};_(class extends a{constructor(){super(...arguments),_(this,"registeredEvents",[]),_(this,"state",{streetViewPanorama:null}),_(this,"setStreetViewPanoramaCallback",()=>{null!==this.state.streetViewPanorama&&this.props.onLoad&&this.props.onLoad(this.state.streetViewPanorama)})}componentDidMount(){var e,t,n=null!==(e=null===(t=this.context)||void 0===t?void 0:t.getStreetView())&&void 0!==e?e:null;this.registeredEvents=N({updaterMap:yn,eventMap:fn,prevProps:{},nextProps:this.props,instance:n}),this.setState(()=>({streetViewPanorama:n}),this.setStreetViewPanoramaCallback)}componentDidUpdate(e){null!==this.state.streetViewPanorama&&(W(this.registeredEvents),this.registeredEvents=N({updaterMap:yn,eventMap:fn,prevProps:e,nextProps:this.props,instance:this.state.streetViewPanorama}))}componentWillUnmount(){null!==this.state.streetViewPanorama&&(this.props.onUnmount&&this.props.onUnmount(this.state.streetViewPanorama),W(this.registeredEvents),this.state.streetViewPanorama.setVisible(!1))}render(){return null}},"contextType",A),_(class extends a{constructor(){super(...arguments),_(this,"state",{streetViewService:null}),_(this,"setStreetViewServiceCallback",()=>{null!==this.state.streetViewService&&this.props.onLoad&&this.props.onLoad(this.state.streetViewService)})}componentDidMount(){var e=new google.maps.StreetViewService;this.setState(function(){return{streetViewService:e}},this.setStreetViewServiceCallback)}componentWillUnmount(){null!==this.state.streetViewService&&this.props.onUnmount&&this.props.onUnmount(this.state.streetViewService)}render(){return null}},"contextType",A);var bn={onDirectionsChanged:"directions_changed"},Ln={directions(e,t){e.setDirections(t)},map(e,t){e.setMap(t)},options(e,t){e.setOptions(t)},panel(e,t){e.setPanel(t)},routeIndex(e,t){e.setRouteIndex(t)}};_(class extends a{constructor(){super(...arguments),_(this,"registeredEvents",[]),_(this,"state",{directionsRenderer:null}),_(this,"setDirectionsRendererCallback",()=>{null!==this.state.directionsRenderer&&(this.state.directionsRenderer.setMap(this.context),this.props.onLoad&&this.props.onLoad(this.state.directionsRenderer))})}componentDidMount(){var e=new google.maps.DirectionsRenderer(this.props.options);this.registeredEvents=N({updaterMap:Ln,eventMap:bn,prevProps:{},nextProps:this.props,instance:e}),this.setState(function(){return{directionsRenderer:e}},this.setDirectionsRendererCallback)}componentDidUpdate(e){null!==this.state.directionsRenderer&&(W(this.registeredEvents),this.registeredEvents=N({updaterMap:Ln,eventMap:bn,prevProps:e,nextProps:this.props,instance:this.state.directionsRenderer}))}componentWillUnmount(){null!==this.state.directionsRenderer&&(this.props.onUnmount&&this.props.onUnmount(this.state.directionsRenderer),W(this.registeredEvents),this.state.directionsRenderer&&this.state.directionsRenderer.setMap(null))}render(){return null}},"contextType",A);var wn={onPlacesChanged:"places_changed"},Cn={bounds(e,t){e.setBounds(t)}};_(class extends a{constructor(){super(...arguments),_(this,"registeredEvents",[]),_(this,"containerElement",g()),_(this,"state",{searchBox:null}),_(this,"setSearchBoxCallback",()=>{null!==this.state.searchBox&&this.props.onLoad&&this.props.onLoad(this.state.searchBox)})}componentDidMount(){if(U(!!google.maps.places,'You need to provide libraries={["places"]} prop to <LoadScript /> component %s',google.maps.places),null!==this.containerElement&&null!==this.containerElement.current){var e=this.containerElement.current.querySelector("input");if(null!==e){var t=new google.maps.places.SearchBox(e,this.props.options);this.registeredEvents=N({updaterMap:Cn,eventMap:wn,prevProps:{},nextProps:this.props,instance:t}),this.setState(function(){return{searchBox:t}},this.setSearchBoxCallback)}}}componentDidUpdate(e){null!==this.state.searchBox&&(W(this.registeredEvents),this.registeredEvents=N({updaterMap:Cn,eventMap:wn,prevProps:e,nextProps:this.props,instance:this.state.searchBox}))}componentWillUnmount(){null!==this.state.searchBox&&(this.props.onUnmount&&this.props.onUnmount(this.state.searchBox),W(this.registeredEvents))}render(){return e("div",{ref:this.containerElement,children:h.only(this.props.children)})}},"contextType",A);var Mn={onPlaceChanged:"place_changed"},kn={bounds(e,t){e.setBounds(t)},restrictions(e,t){e.setComponentRestrictions(t)},fields(e,t){e.setFields(t)},options(e,t){e.setOptions(t)},types(e,t){e.setTypes(t)}};class xn extends a{constructor(){super(...arguments),_(this,"registeredEvents",[]),_(this,"containerElement",g()),_(this,"state",{autocomplete:null}),_(this,"setAutocompleteCallback",()=>{null!==this.state.autocomplete&&this.props.onLoad&&this.props.onLoad(this.state.autocomplete)})}componentDidMount(){var e;U(!!google.maps.places,'You need to provide libraries={["places"]} prop to <LoadScript /> component %s',google.maps.places);var t=null===(e=this.containerElement.current)||void 0===e?void 0:e.querySelector("input");if(t){var n=new google.maps.places.Autocomplete(t,this.props.options);this.registeredEvents=N({updaterMap:kn,eventMap:Mn,prevProps:{},nextProps:this.props,instance:n}),this.setState(()=>({autocomplete:n}),this.setAutocompleteCallback)}}componentDidUpdate(e){W(this.registeredEvents),this.registeredEvents=N({updaterMap:kn,eventMap:Mn,prevProps:e,nextProps:this.props,instance:this.state.autocomplete})}componentWillUnmount(){null!==this.state.autocomplete&&W(this.registeredEvents)}render(){return e("div",{ref:this.containerElement,className:this.props.className,children:h.only(this.props.children)})}}function On(){const{tokens:t}=y();return e("style",{children:`\n .gm-style .gm-style-iw-c {\n background: ${t.color.surface};\n color: ${t.color.text};\n padding: 0 !important;\n }\n .gm-style .gm-style-iw-d {\n overflow: auto !important;\n padding: 0 !important;\n }\n .gm-style .gm-style-iw-tc::after {\n background: ${t.color.surface};\n }\n .gm-style .gm-style-iw-chr { display: none !important; }\n `})}_(xn,"defaultProps",{className:""}),_(xn,"contextType",A);const Pn=p({current:null});function En({position:t,pin:n,title:r,onClick:a,children:l}){const p=Z(),d=o(null),[h,u]=s(!1),c=o(a);return c.current=a,i(()=>{if(!p)return;const e=new google.maps.marker.PinElement({background:n.background,borderColor:n.borderColor,glyphColor:n.glyphColor,scale:n.scale}),o=new google.maps.marker.AdvancedMarkerElement({map:p,position:t,content:e,title:r,gmpClickable:!0});d.current=o,u(!0);const s=o.addListener("gmp-click",()=>{c.current?.()});return()=>{s.remove(),o.map=null,d.current=null,u(!1)}},[p,n.background,n.borderColor,n.glyphColor,n.scale,r]),i(()=>{d.current&&(d.current.position=t)},[t.lat,t.lng]),e(Pn.Provider,{value:d,children:h&&l})}function Sn({open:n,onClose:r,children:a}){const l=d(Pn),p=o(null),h=o(r);h.current=r;const[u]=s(()=>document.createElement("div"));return i(()=>{const e=new google.maps.InfoWindow({maxWidth:320});p.current=e;const t=e.addListener("closeclick",()=>{h.current()});return()=>{t.remove(),e.close(),p.current=null}},[]),i(()=>{const e=p.current,t=l.current;e&&(n&&t?(e.setContent(u),e.open({anchor:t})):e.close())},[n,l,u]),f(t("div",{style:{position:"relative"},children:[e("button",{onClick:()=>h.current(),"aria-label":"Close",style:{position:"absolute",top:6,right:6,zIndex:1,width:20,height:20,border:"none",background:"none",cursor:"pointer",padding:0,display:"flex",alignItems:"center",justifyContent:"center",color:"#6b7280",fontSize:16,lineHeight:1,opacity:.7},children:"✕"}),a]}),u)}const In=["places","marker"],Dn="#3b82f6",jn={background:S.primary.hex,borderColor:S.primary.border,glyphColor:"#fff"},Bn={background:S.search.hex,borderColor:S.search.border,glyphColor:"#fff"};function _n(e){return e.map(e=>({lat:e.lat,lng:P(e)}))}function Tn(t){const{center:n,zoom:o}=t,{isLoaded:s,loadError:i}=ge({googleMapsApiKey:k(),libraries:In});return i?e("div",{style:{height:"100%",display:"flex",alignItems:"center",justifyContent:"center",fontSize:14},children:e("span",{style:{color:"#E02E2A"},children:"Failed to load Google Maps"})}):s?e(zn,{center:n,zoom:o}):e("div",{style:{height:"100%",display:"flex",alignItems:"center",justifyContent:"center"},children:e("span",{style:{color:"#6b7280",fontSize:14},children:"Loading map..."})})}function zn({center:n,zoom:o}){const{selectedLocation:i,handleMapClick:r,selectNamedLocation:a}=x(),l=w(),[p,d]=s(null),[h]=s(()=>n?{lat:n.lat,lng:P(n)}:{lat:20,lng:0}),[u]=s(()=>n?o??13:2);return t(G,{mapContainerStyle:{height:"100%",width:"100%",borderRadius:8},center:h,zoom:u,options:{mapId:M(),mapTypeControl:!1},onLoad:e=>l.onMapReady(e),onClick:e=>{const t=e;if(t.placeId&&t.latLng){t.stop();const e=t.latLng.lat(),n=t.latLng.lng();return void new google.maps.places.Place({id:t.placeId}).fetchFields({fields:["displayName","formattedAddress"]}).then(({place:t})=>{d({lat:e,lng:n,name:t.displayName??`${e.toFixed(4)}, ${n.toFixed(4)}`,address:t.formattedAddress??void 0})}).catch(()=>{d({lat:e,lng:n,name:`${e.toFixed(4)}, ${n.toFixed(4)}`})})}d(null),e.latLng&&r(e.latLng.lat(),e.latLng.lng())},children:[e(On,{}),i&&e(En,{position:{lat:i.lat,lng:i.lng},pin:Bn}),p&&e(En,{position:{lat:p.lat,lng:p.lng},pin:Bn,onClick:()=>d(e=>e?{...e}:null),children:e(Sn,{open:!0,onClose:()=>d(null),children:e(j,{title:p.name,subtitle:p.address,actions:[{label:"Select this location",onClick:()=>{a(p.name,p.lat,p.lng,p.address),d(null)}}]})})})]})}function Rn(n){const{center:i,zoom:r=13,children:a=[],height:l="300px",width:p="100%",allowSearch:d=!1}=n,h=b(),u=L(),c=w(),g=o(null),[v,f]=s(null),{markers:y,polylines:x,circles:S,polygons:j}=O(a),[B]=s(()=>i?{lat:i.lat,lng:P(i)}:{lat:0,lng:0}),[_]=s(r),{isLoaded:T,loadError:z}=ge({googleMapsApiKey:k(),libraries:In}),{isSearching:R,searchMarker:U,handleSearch:A,handleSearchSelect:Z}=E({adapter:c}),V=m(e=>{c.onMapReady(e),y.length>0&&c.fitBounds(y.map(e=>({lat:e.position.lat,lng:P(e.position)})))},[c,y]),W=m(()=>f(null),[]);return e(C,{width:p,height:l,hasCenter:!!i,allowSearch:d,isSearching:R,onSearch:A,onSelect:Z,outerRef:g,errorFallback:z?e("div",{style:{width:p,height:l,background:"rgba(224,46,42,0.06)",display:"flex",alignItems:"center",justifyContent:"center",borderRadius:8,fontSize:14},children:e("span",{style:{color:"#E02E2A"},children:"Failed to load Google Maps"})}):void 0,loadingFallback:T||z?void 0:e("div",{style:{width:p,height:l,background:"#f4f4f5",display:"flex",alignItems:"center",justifyContent:"center",borderRadius:8},children:e("span",{style:{color:"#6b7280",fontSize:14},children:"Loading map..."})}),children:i&&t(G,{mapContainerStyle:{height:"100%",width:"100%",borderRadius:8},center:B,zoom:_,options:{mapId:M(),clickableIcons:!1},onLoad:V,children:[e(On,{}),y.map((t,n)=>{const o=P(t.position),s=t.id??t.key??n,i=`data-${s}`;return e(En,{position:{lat:t.position.lat,lng:o},onClick:()=>f(i),pin:jn,children:e(Sn,{open:v===i,onClose:W,children:e(I,{label:t.label,lat:t.position.lat,lng:o,replyAction:"reply"===t.onClickAction?.type?{buttonLabel:t.onClickAction.payload?.text||"Select",onReply:()=>h({...t.onClickAction,payload:{...t.onClickAction.payload,messageId:u}})}:void 0})})},s)}),U&&0!==U.lat&&e(En,{position:{lat:U.lat,lng:U.lng},onClick:()=>f("search"),pin:Bn,children:e(Sn,{open:"search"===v,onClose:W,children:e(D,{name:U.name,description:U.description})})}),x.map((t,n)=>e(It,{path:_n(t.path),options:{strokeColor:t.color||Dn,strokeWeight:t.weight??4,strokeOpacity:t.opacity??.8,...t.dashed&&{icons:[{icon:{path:"M 0,-1 0,1",strokeOpacity:1,scale:3},offset:"0",repeat:"15px"}],strokeOpacity:0}}},t.id??t.key??`polyline-${n}`)),S.map((t,n)=>e(Ft,{center:{lat:t.center.lat,lng:P(t.center)},radius:t.radius,options:{strokeColor:t.color||Dn,strokeWeight:t.weight??2,fillColor:t.fillColor||t.color||Dn,fillOpacity:t.fillOpacity??.15}},t.id??t.key??`circle-${n}`)),j.map((t,n)=>e(Tt,{paths:_n(t.path),options:{strokeColor:t.color||Dn,strokeWeight:t.weight??2,fillColor:t.fillColor||t.color||Dn,fillOpacity:t.fillOpacity??.2}},t.id??t.key??`polygon-${n}`))]})})}export{Rn as GoogleDisplayMode,Tn as GoogleInputSurface};
|