1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5362],{8049:function(e,t,n){"use strict";var r=n(4397);function o(){}function a(){}a.resetWarningCache=o,e.exports=function(){function e(e,t,n,o,a,i){if(i!==r){var l=Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw l.name="Invariant Violation",l}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:a,resetWarningCache:o};return n.PropTypes=n,n}},718:function(e,t,n){e.exports=n(8049)()},4397:function(e){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},4076:function(e,t,n){"use strict";var r=n(4772),o=n.n(r),a=n(2265),i=n(1521),l=n(7701),s=n(7437);let u=a.forwardRef((e,t)=>{let{as:n,bsPrefix:r,variant:a="primary",size:u,active:c=!1,disabled:d=!1,className:p,...m}=e,g=(0,l.vE)(r,"btn"),[f,{tagName:h}]=(0,i.FT)({tagName:n,disabled:d,...m});return(0,s.jsx)(h,{...f,...m,ref:t,disabled:d,className:o()(p,g,c&&"active",a&&"".concat(g,"-").concat(a),u&&"".concat(g,"-").concat(u),m.href&&d&&"disabled")})});u.displayName="Button",t.Z=u},8768:function(e){"use strict";e.exports=function(){}},1322:function(e,t,n){"use strict";n.d(t,{D5:function(){return D},Jx:function(){return R},Rt:function(){return T},_Q:function(){return x},kY:function(){return S},lO:function(){return z},nx:function(){return j},un:function(){return b}});var r,o,a=n(2265),i=n(4887);function l(){return(l=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function s(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}function u(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}class c{static async load(e){var t;let n=e.libraries?e.libraries.split(","):[],r=this.serializeParams(e);for(let o of(null!=(t=window.google)&&null!=(t=t.maps)&&t.importLibrary||(window.__googleMapsApiParams__=r,this.initImportLibrary(e)),window.__googleMapsApiParams__&&window.__googleMapsApiParams__!==r&&console.warn("The maps API has already been loaded with different parameters and will not be loaded again. Refresh the page for new values to have effect."),["maps",...n]))await google.maps.importLibrary(o)}static serializeParams(e){return[e.v,e.key,e.language,e.region,e.authReferrerPolicy,e.solutionChannel].join("/")}static initImportLibrary(e){if(window.google||(window.google={}),window.google.maps||(window.google.maps={}),window.google.maps.importLibrary){console.warn("initImportLibrary can only be called once.",e);return}let t=null,n=n=>t||(t=new Promise((t,r)=>{var o;let a=document.createElement("script"),i=new URLSearchParams;for(let[t,n]of Object.entries(e)){let e=t.replace(/[A-Z]/g,e=>"_"+e[0].toLowerCase());i.set(e,n)}i.set("libraries",n),i.set("callback","__googleMapsCallback__"),a.src="https://maps.googleapis.com/maps/api/js?"+i.toString(),window.__googleMapsCallback__=t,a.onerror=()=>r(Error("The Google Maps JavaScript API could not load.")),a.nonce=(null==(o=document.querySelector("script[nonce]"))?void 0:o.nonce)||"",document.head.append(a)}));google.maps.importLibrary=e=>n(e).then(()=>google.maps.importLibrary(e))}}let d=["onLoad","apiKey","libraries"],p=["children"];(r=o||(o={})).NOT_LOADED="NOT_LOADED",r.LOADING="LOADING",r.LOADED="LOADED",r.FAILED="FAILED";let{NOT_LOADED:m,LOADING:g,LOADED:f,FAILED:h}=o,v=a.createContext(null),b=e=>{let{children:t}=e,n=s(e,p),{mapInstances:r,addMapInstance:o,removeMapInstance:i,clearMapInstances:b}=function(){let[e,t]=(0,a.useState)({});return{mapInstances:e,addMapInstance:(e,n="default")=>{t(t=>l({},t,{[n]:e}))},removeMapInstance:(e="default")=>{t(t=>s(t,[e].map(u)))},clearMapInstances:()=>{t({})}}}(),{status:y,loadedLibraries:w,importLibrary:E}=function(e){let{onLoad:t,apiKey:n,libraries:r=[]}=e,o=s(e,d),[i,u]=(0,a.useState)(m),[p,v]=(0,a.useReducer)((e,t)=>l({},e,{[t.name]:t.value}),{}),b=(0,a.useMemo)(()=>null==r?void 0:r.join(","),[r]),y=(0,a.useMemo)(()=>JSON.stringify(o),[o]),w=(0,a.useCallback)(async e=>{var t;if(p[e])return p[e];if(!(null!=(t=google)&&null!=(t=t.maps)&&t.importLibrary))throw Error("[api-provider-internal] importLibrary was called before google.maps.importLibrary was defined.");let n=await window.google.maps.importLibrary(e);return v({name:e,value:n}),n},[p]);return(0,a.useEffect)(()=>{u(g),(async()=>{try{for(let e of(await c.load(l({key:n,libraries:b},o)),u(f),["core","maps",...r]))await w(e);t&&t()}catch(e){console.error("<ApiProvider> failed to load Google Maps API",e),u(h)}})()},[n,b,y]),{status:i,loadedLibraries:p,importLibrary:w}}(n);return a.createElement(v.Provider,{value:{mapInstances:r,addMapInstance:o,removeMapInstance:i,clearMapInstances:b,status:y,loadedLibraries:w,importLibrary:E}},t)};function y(){var e;return((null==(e=(0,a.useContext)(v))?void 0:e.status)||o.NOT_LOADED)===o.LOADED}let w=new Set;function E(...e){let t=JSON.stringify(e);w.has(t)||(w.add(t),console.error(...e))}let L={onBoundsChanged:"bounds_changed",onCenterChanged:"center_changed",onClick:"click",onContextmenu:"contextmenu",onDblclick:"dblclick",onDrag:"drag",onDragend:"dragend",onDragstart:"dragstart",onHeadingChanged:"heading_changed",onIdle:"idle",onIsFractionalZoomEnabledChanged:"isfractionalzoomenabled_changed",onMapCapabilitiesChanged:"mapcapabilities_changed",onMapTypeIdChanged:"maptypeid_changed",onMousemove:"mou
1semove",onMouseout:"mouseout",onMouseover:"mouseover",onProjectionChanged:"projection_changed",onRenderingTypeChanged:"renderingtype_changed",onTilesLoaded:"tilesloaded",onTiltChanged:"tilt_changed",onZoomChanged:"zoom_changed"},_=["bounds_changed","center_changed","heading_changed","projection_changed","tilt_changed","zoom_changed"],C=["click","contextmenu","dblclick","mousemove","mouseout","mouseover"],k=Object.keys(L),O=["center","zoom","heading","tilt"],P=["mapId"],I=["id","initialBounds"],M=a.createContext(null),D=e=>{let{children:t,id:n,className:r,style:o,viewState:i,viewport:u}=e,c=(0,a.useContext)(v);if(!c)throw Error("<Map> can only be used inside an <ApiProvider> component.");let[d,p]=function(e,t){let n=y(),[r,o]=(0,a.useState)(null),[i,l]=function(){let[e,t]=(0,a.useState)(null);return[e,(0,a.useCallback)(e=>t(e),[t])]}(),{id:u,initialBounds:c}=e,d=s(e,I);return(0,a.useEffect)(()=>{if(!i||!n)return;let{addMapInstance:e,removeMapInstance:r}=t,a=new google.maps.Map(i,d);return o(a),e(a,u),c&&a.fitBounds(c),()=>{i&&n&&(google.maps.event.clearInstanceListeners(a),o(null),r(u))}},[u,i,n,e.mapId]),(0,a.useEffect)(()=>{if(!u)return;let{mapInstances:e}=t;e[u]&&e[u]!==r&&E(`The map id '${u}' seems to have been used multiple times. This can lead to unexpected problems when accessing the maps. Please use unique ids for all <Map> components.`)},[u,t,r]),[r,l]}(e,c),m=(0,a.useRef)({center:{lat:0,lng:0},heading:0,tilt:0,zoom:0});!function(e,t,n){let{center:r,zoom:o,heading:i,tilt:l}=n,u=s(n,O),c=r?r&&"object"==typeof r&&"lat"in r&&"lng"in r&&Number.isFinite(r.lat)&&Number.isFinite(r.lng)?r:r.toJSON():null,d=c&&c.lat,p=c&&c.lng;(0,a.useEffect)(()=>{if(!e)return;let t=s(u,P);e.setOptions(t)},[u]),(0,a.useLayoutEffect)(()=>{e&&Number.isFinite(d)&&Number.isFinite(p)&&(t.current.center.lat!==d||t.current.center.lng!==p)&&e.moveCamera({center:{lat:d,lng:p}})},[d,p]),(0,a.useLayoutEffect)(()=>{e&&Number.isFinite(o)&&t.current.zoom!==o&&e.moveCamera({zoom:o})},[o]),(0,a.useLayoutEffect)(()=>{e&&Number.isFinite(i)&&t.current.heading!==i&&e.moveCamera({heading:i})},[i]),(0,a.useLayoutEffect)(()=>{e&&Number.isFinite(l)&&t.current.tilt!==l&&e.moveCamera({tilt:l})},[l])}(d,m,e),function(e,t,n){for(let r of k){let o=n[r],i=L[r];(0,a.useEffect)(()=>{if(!e||!o)return;let n=e.addListener(i,n=>{let r=function(e,t,n){let r={type:e,map:t,detail:{},stoppable:!1,stop:()=>{}};if(_.includes(e)){let e=t.getCenter(),n=t.getZoom(),o=t.getHeading()||0,a=t.getTilt()||0,i=t.getBounds();return e&&i&&Number.isFinite(n)||console.warn("[createEvent] at least one of the values from the map returned undefined. This is not expected to happen. Please report an issue at https://github.com/visgl/react-google-maps/issues/new"),r.detail={center:(null==e?void 0:e.toJSON())||{lat:0,lng:0},zoom:n,heading:o,tilt:a,bounds:(null==i?void 0:i.toJSON())||{north:90,east:180,south:-90,west:-180}},r}if(C.includes(e)){var o;if(!n)throw Error("[createEvent] mouse events must provide a srcEvent");return r.domEvent=n.domEvent,r.stoppable=!0,r.stop=()=>n.stop(),r.detail={latLng:(null==(o=n.latLng)?void 0:o.toJSON())||null,placeId:n.placeId},r}return r}(i,e,n);(function(e,t){if(!e.detail.center)return;let{center:n,zoom:r,heading:o,tilt:a}=e.detail;t.current.center=n,t.current.heading=o,t.current.tilt=a,t.current.zoom=r})(r,t),o(r)});return()=>n.remove()},[e,t,i,o])}}(d,m,e),(0,a.useLayoutEffect)(()=>{if(!d||!i)return;d.setOptions({gestureHandling:"none",keyboardShortcuts:!1,disableDefaultUI:!0});let{latitude:e,longitude:t,bearing:n,pitch:r,zoom:o}=i;d.moveCamera({center:{lat:e,lng:t},heading:n,tilt:r,zoom:o+1})},[d,i]);let g=(0,a.useMemo)(()=>!!u,[u]),f=(0,a.useMemo)(()=>l({width:"100%",height:"100%",zIndex:g?-1:0},o),[o,g]);return a.createElement("div",l({ref:p,"data-testid":"map",style:r?void 0:f,className:r},n?{id:n}:{}),d?a.createElement(M.Provider,{value:{map:d}},t):null)};function S(e){let t=y(),n=(0,a.useContext)(v);return(0,a.useEffect)(()=>{t&&n&&n.importLibrary(e)},[t,null==n?void 0:n.importLibrary]),(null==n?void 0:n.loadedLibraries[e])||null}D.deckGLViewProps=!0;let N=a.createContext(null),x=(0,a.forwardRef)((e,t)=>{let{children:n}=e,[r,o]=function(e){var t;let[n,r]=(0,a.useState)(null),[o,i]=(0,a.useState)(null),l=null==(t=(0,a.useContext)(M))?void 0:t.map,s=S("marker"),{children:u,className:c,onClick:d,onDrag:p,onDragStart:m,onDragEnd:g,collisionBehavior:f,draggable:h,position:v,title:b,zIndex:y}=e,w=a.Children.count(u);return(0,a.useEffect)(()=>
1{if(!l||!s)return;let e=new s.AdvancedMarkerElement;if(e.map=l,r(e),w>0){let t=document.createElement("div");c&&(t.className=c),e.content=t,i(t)}return()=>{e.map=null,r(null),i(null)}},[l,s,w]),(0,a.useEffect)(()=>{if(n)return d&&n.addListener("click",d),p&&n.addListener("drag",p),m&&n.addListener("dragstart",m),g&&n.addListener("dragend",g),(p||m||g)&&!h&&console.warn("You need to set the marker to draggable to listen to drag-events."),()=>{google.maps.event.clearInstanceListeners(n)}},[n,h,d,m,p,g]),(0,a.useEffect)(()=>{n&&(void 0!==v&&(n.position=v),void 0!==h&&(n.gmpDraggable=h),void 0!==f&&(n.collisionBehavior=f),void 0!==y&&(n.zIndex=y),"string"==typeof b&&(n.title=b))},[n,v,h,f,y,b]),[n,o]}(e);return((0,a.useImperativeHandle)(t,()=>r,[r]),r)?a.createElement(N.Provider,{value:{marker:r}},null!==o&&(0,i.createPortal)(n,o)):null});function T(){let[e,t]=(0,a.useState)(null);return[(0,a.useCallback)(e=>{t(e)},[]),e]}let A=["children","anchor","onCloseClick"],j=e=>{var t;let{children:n,anchor:r,onCloseClick:o}=e,l=s(e,A),u=null==(t=(0,a.useContext)(M))?void 0:t.map,[c,d]=(0,a.useState)(null);return(0,a.useEffect)(()=>{if(!u)return;let e=new google.maps.InfoWindow(l),t=document.createElement("div");return e.setContent(t),e.open({map:u,anchor:r}),o&&e.addListener("closeclick",()=>{o()}),d(t),()=>{google.maps.event.clearInstanceListeners(e),e.close(),t.remove(),d(null)}},[u,n,r]),a.createElement(a.Fragment,null,null!==c&&(0,i.createPortal)(n,c))},F=["onClick","onDrag","onDragStart","onDragEnd","onMouseOver","onMouseOut"],R=(0,a.forwardRef)((e,t)=>{let n=function(e){var t;let[n,r]=(0,a.useState)(null),o=null==(t=(0,a.useContext)(M))?void 0:t.map,{onClick:i,onDrag:l,onDragStart:u,onDragEnd:c,onMouseOver:d,onMouseOut:p}=e,m=s(e,F),{position:g,draggable:f}=m;return(0,a.useEffect)(()=>{if(!o){void 0===o&&console.error("<Marker> has to be inside a Map component.");return}let e=new google.maps.Marker(m);return e.setMap(o),r(e),()=>{e.setMap(null),r(null)}},[o]),(0,a.useEffect)(()=>{if(n)return i&&n.addListener("click",i),l&&n.addListener("drag",l),u&&n.addListener("dragstart",u),c&&n.addListener("dragend",c),d&&n.addListener("mouseover",d),p&&n.addListener("mouseout",p),n.setDraggable(!!f),()=>{google.maps.event.clearInstanceListeners(n)}},[n,f,i,l,u,c,d,p]),(0,a.useEffect)(()=>{n&&m&&n.setOptions(m)},[n,m]),(0,a.useEffect)(()=>{!f&&g&&n&&n.setPosition(g)},[f,g,n]),n}(e);return(0,a.useImperativeHandle)(t,()=>n,[n]),a.createElement(a.Fragment,null)}),z=e=>{var t;let n=null==(t=(0,a.useContext)(N))?void 0:t.marker,r=(0,a.useMemo)(()=>document.createElement("div"),[]);return(0,a.useEffect)(()=>{if(!n){void 0===n&&console.error("The <Pin> component can only be used inside <AdvancedMarker>.");return}e.glyph&&e.children&&E("The <Pin> component only uses children to render the glyph if both the glyph property and children are present."),a.Children.count(e.children)>1&&E("Passing multiple children to the <Pin> component might lead to unexpected results.");let t=l({},e),o=new google.maps.marker.PinElement(t);e.children&&(o.glyph=r),n.content=o.element},[n,e]),(0,i.createPortal)(e.children,r)}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.