function ClusterIcon(n,t){n.getMarkerClusterer().extend(ClusterIcon,google.maps.OverlayView);this.cluster_=n;this.className_=n.getMarkerClusterer().getClusterClass();this.styles_=t;this.center_=null;this.div_=null;this.sums_=null;this.visible_=!1;this.setMap(n.getMap())}function Cluster(n){this.markerClusterer_=n;this.map_=n.getMap();this.gridSize_=n.getGridSize();this.minClusterSize_=n.getMinimumClusterSize();this.averageCenter_=n.getAverageCenter();this.markers_=[];this.center_=null;this.bounds_=null;this.clusterIcon_=new ClusterIcon(this,n.getStyles())}function MarkerClusterer(n,t,i){this.extend(MarkerClusterer,google.maps.OverlayView);t=t||[];i=i||{};this.markers_=[];this.clusters_=[];this.listeners_=[];this.activeMap_=null;this.ready_=!1;this.gridSize_=i.gridSize||60;this.minClusterSize_=i.minimumClusterSize||2;this.maxZoom_=i.maxZoom||null;this.styles_=i.styles||[];this.title_=i.title||"";this.zoomOnClick_=!0;i.zoomOnClick!==undefined&&(this.zoomOnClick_=i.zoomOnClick);this.averageCenter_=!1;i.averageCenter!==undefined&&(this.averageCenter_=i.averageCenter);this.ignoreHidden_=!1;i.ignoreHidden!==undefined&&(this.ignoreHidden_=i.ignoreHidden);this.enableRetinaIcons_=!1;i.enableRetinaIcons!==undefined&&(this.enableRetinaIcons_=i.enableRetinaIcons);this.imagePath_=i.imagePath||MarkerClusterer.IMAGE_PATH;this.imageExtension_=i.imageExtension||MarkerClusterer.IMAGE_EXTENSION;this.imageSizes_=i.imageSizes||MarkerClusterer.IMAGE_SIZES;this.calculator_=i.calculator||MarkerClusterer.CALCULATOR;this.batchSize_=i.batchSize||MarkerClusterer.BATCH_SIZE;this.batchSizeIE_=i.batchSizeIE||MarkerClusterer.BATCH_SIZE_IE;this.clusterClass_=i.clusterClass||"cluster";navigator.userAgent.toLowerCase().indexOf("msie")!==-1&&(this.batchSize_=this.batchSizeIE_);this.setupStyles_();this.addMarkers(t,!0);this.setMap(n)}ClusterIcon.prototype.onAdd=function(){var n=this,i,r,t=google.maps.version.split(".");t=parseInt(t[0]*100,10)+parseInt(t[1],10);this.div_=document.createElement("div");this.div_.className=this.className_;this.visible_&&this.show();this.getPanes().overlayMouseTarget.appendChild(this.div_);this.boundsChangedListener_=google.maps.event.addListener(this.getMap(),"bounds_changed",function(){r=i});google.maps.event.addDomListener(this.div_,"mousedown",function(){i=!0;r=!1});t>=332&&google.maps.event.addDomListener(this.div_,"touchstart",function(n){n.stopPropagation()});google.maps.event.addDomListener(this.div_,"click",function(t){if(i=!1,!r){var e,f,u=n.cluster_.getMarkerClusterer();google.maps.event.trigger(u,"click",n.cluster_);google.maps.event.trigger(u,"clusterclick",n.cluster_);u.getZoomOnClick()&&(f=u.getMaxZoom(),e=n.cluster_.getBounds(),u.getMap().fitBounds(e),setTimeout(function(){u.getMap().fitBounds(e);f!==null&&u.getMap().getZoom()>f&&u.getMap().setZoom(f+1)},100));t.cancelBubble=!0;t.stopPropagation&&t.stopPropagation()}});google.maps.event.addDomListener(this.div_,"mouseover",function(){var t=n.cluster_.getMarkerClusterer();google.maps.event.trigger(t,"mouseover",n.cluster_)});google.maps.event.addDomListener(this.div_,"mouseout",function(){var t=n.cluster_.getMarkerClusterer();google.maps.event.trigger(t,"mouseout",n.cluster_)})};ClusterIcon.prototype.onRemove=function(){this.div_&&this.div_.parentNode&&(this.hide(),google.maps.event.removeListener(this.boundsChangedListener_),google.maps.event.clearInstanceListeners(this.div_),this.div_.parentNode.removeChild(this.div_),this.div_=null)};ClusterIcon.prototype.draw=function(){if(this.visible_){var n=this.getPosFromLatLng_(this.center_);this.div_.style.top=n.y+"px";this.div_.style.left=n.x+"px";this.div_.style.zIndex=google.maps.Marker.MAX_ZINDEX+1}};ClusterIcon.prototype.hide=function(){this.div_&&(this.div_.style.display="none");this.visible_=!1};ClusterIcon.prototype.show=function(){if(this.div_){var n="",r=this.backgroundPosition_.split(" "),t=parseInt(r[0].replace(/^\s+|\s+$/g,""),10),i=parseInt(r[1].replace(/^\s+|\s+$/g,""),10),u=this.getPosFromLatLng_(this.center_);this.div_.style.cssText=this.createCss(u);n="<img src='"+this.url_+"' style='position: absolute; top: "+i+"px; left: "+t+"px; ";n+=this.cluster_.getMarkerClusterer().enableRetinaIcons_?"width: "+this.width_+"px; height: "+this.height_+"px;":"clip: rect("+-1*i+"px, "+(-1*t+this.width_)+"px, "+(-1*i+this.height_)+"px, "+-1*t+"px);";n+="'>";this.div_.innerHTML=n+"<div style='position: absolute;top: "+this.anchorText_[0]+"px;left: "+this.anchorText_[1]+"px;color: "+this.textColor_+";font-size: "+this.textSize_+"px;font-family: "+this.fontFamily_+";font-weight: "+this.fontWeight_+";font-style: "+this.fontStyle_+";text-decoration: "+this.textDecoration_+";text-align: center;width: "+this.width_+"px;line-height:"+this.height_+"px;'>"+this.sums_.text+"<\/div>";this.div_.title=typeof this.sums_.title=="undefined"||this.sums_.title===""?this.cluster_.getMarkerClusterer().getTitle():this.sums_.title;this.div_.style.display=""}this.visible_=!0};ClusterIcon.prototype.useStyle=function(n){var i,t;this.sums_=n;i=Math.max(0,n.index-1);i=Math.min(this.styles_.length-1,i);t=this.styles_[i];this.url_=t.url;this.height_=t.height;this.width_=t.width;this.anchorText_=t.anchorText||[0,0];this.anchorIcon_=t.anchorIcon||[parseInt(this.height_/2,10),parseInt(this.width_/2,10)];this.textColor_=t.textColor||"black";this.textSize_=t.textSize||11;this.textDecoration_=t.textDecoration||"none";this.fontWeight_=t.fontWeight||"bold";this.fontStyle_=t.fontStyle||"normal";this.fontFamily_=t.fontFamily||"Arial,sans-serif";this.backgroundPosition_=t.backgroundPosition||"0 0"};ClusterIcon.prototype.setCenter=function(n){this.center_=n};ClusterIcon.prototype.createCss=function(n){var t=[];return t.push("cursor: pointer;"),t.push("position: absolute; top: "+n.y+"px; left: "+n.x+"px;"),t.push("width: "+this.width_+"px; height: "+this.height_+"px;"),t.push("-webkit-user-select: none;"),t.push("-khtml-user-select: none;"),t.push("-moz-user-select: none;"),t.push("-o-user-select: none;"),t.push("user-select: none;"),t.join("")};ClusterIcon.prototype.getPosFromLatLng_=function(n){var t=this.getProjection().fromLatLngToDivPixel(n);return t.x-=this.anchorIcon_[1],t.y-=this.anchorIcon_[0],t.x=parseInt(t.x,10),t.y=parseInt(t.y,10),t};Cluster.prototype.getSize=function(){return this.markers_.length};Cluster.prototype.getMarkers=function(){return this.markers_};Cluster.prototype.getCenter=function(){return this.center_};Cluster.prototype.getMap=function(){return this.map_};Cluster.prototype.getMarkerClusterer=function(){return this.markerClusterer_};Cluster.prototype.getBounds=function(){for(var t=new google.maps.LatLngBounds(this.center_,this.center_),i=this.getMarkers(),n=0;n<i.length;n++)t.extend(i[n].getPosition());return t};Cluster.prototype.remove=function(){this.clusterIcon_.setMap(null);this.markers_=[];delete this.markers_};Cluster.prototype.addMarker=function(n){var t,i,u;if(this.isMarkerAlreadyAdded_(n))return!1;if(this.center_){if(this.averageCenter_){var r=this.markers_.length+1,f=(this.center_.lat()*(r-1)+n.getPosition().lat())/r,e=(this.center_.lng()*(r-1)+n.getPosition().lng())/r;this.center_=new google.maps.LatLng(f,e);this.calculateBounds_()}}else this.center_=n.getPosition(),this.calculateBounds_();if(n.isAdded=!0,this.markers_.push(n),i=this.markers_.length,u=this.markerClusterer_.getMaxZoom(),u!==null&&this.map_.getZoom()>u)n.getMap()!==this.map_&&n.setMap(this.map_);else if(i<this.minClusterSize_)n.getMap()!==this.map_&&n.setMap(this.map_);else if(i===this.minClusterSize_)for(t=0;t<i;t++)this.markers_[t].setMap(null);else n.setMap(null);return this.updateIcon_(),!0};Cluster.prototype.isMarkerInClusterBounds=function(n){return this.bounds_.contains(n.getPosition())};Cluster.prototype.calculateBounds_=function(){var n=new google.maps.LatLngBounds(this.center_,this.center_);this.bounds_=this.markerClusterer_.getExtendedBounds(n)};Cluster.prototype.updateIcon_=function(){var r=this.markers_.length,n=this.markerClusterer_.getMaxZoom(),t,i;if(n!==null&&this.map_.getZoom()>n){this.clusterIcon_.hide();return}if(r<this.minClusterSize_){this.clusterIcon_.hide();return}t=this.markerClusterer_.getStyles().length;i=this.markerClusterer_.getCalculator()(this.markers_,t);this.clusterIcon_.setCenter(this.center_);this.clusterIcon_.useStyle(i);this.clusterIcon_.show()};Cluster.prototype.isMarkerAlreadyAdded_=function(n){var t;if(this.markers_.indexOf)return this.markers_.indexOf(n)!==-1;for(t=0;t<this.markers_.length;t++)if(n===this.markers_[t])return!0;return!1};MarkerClusterer.prototype.onAdd=function(){var n=this;this.activeMap_=this.getMap();this.ready_=!0;this.repaint();this.prevZoom_=this.getMap().getZoom();this.listeners_=[google.maps.event.addListener(this.getMap(),"zoom_changed",function(){var n=this.getMap().getZoom(),t=this.getMap().minZoom||0,i=Math.min(this.getMap().maxZoom||100,this.getMap().mapTypes[this.getMap().getMapTypeId()].maxZoom);n=Math.min(Math.max(n,t),i);this.prevZoom_!=n&&(this.prevZoom_=n,this.resetViewport_(!1))}.bind(this)),google.maps.event.addListener(this.getMap(),"idle",function(){n.redraw_()})]};MarkerClusterer.prototype.onRemove=function(){for(var n=0;n<this.markers_.length;n++)this.markers_[n].getMap()!==this.activeMap_&&this.markers_[n].setMap(this.activeMap_);for(n=0;n<this.clusters_.length;n++)this.clusters_[n].remove();for(this.clusters_=[],n=0;n<this.listeners_.length;n++)google.maps.event.removeListener(this.listeners_[n]);this.listeners_=[];this.activeMap_=null;this.ready_=!1};MarkerClusterer.prototype.draw=function(){};MarkerClusterer.prototype.setupStyles_=function(){var n,t;if(!(this.styles_.length>0))for(n=0;n<this.imageSizes_.length;n++)t=this.imageSizes_[n],this.styles_.push({url:this.imagePath_+(n+1)+"."+this.imageExtension_,height:t,width:t})};MarkerClusterer.prototype.fitMapToMarkers=function(){for(var t=this.getMarkers(),i=new google.maps.LatLngBounds,n=0;n<t.length;n++)(t[n].getVisible()||!this.getIgnoreHidden())&&i.extend(t[n].getPosition());this.getMap().fitBounds(i)};MarkerClusterer.prototype.getGridSize=function(){return this.gridSize_};MarkerClusterer.prototype.setGridSize=function(n){this.gridSize_=n};MarkerClusterer.prototype.getMinimumClusterSize=function(){return this.minClusterSize_};MarkerClusterer.prototype.setMinimumClusterSize=function(n){this.minClusterSize_=n};MarkerClusterer.prototype.getMaxZoom=function(){return this.maxZoom_};MarkerClusterer.prototype.setMaxZoom=function(n){this.maxZoom_=n};MarkerClusterer.prototype.getStyles=function(){return this.styles_};MarkerClusterer.prototype.setStyles=function(n){this.styles_=n};MarkerClusterer.prototype.getTitle=function(){return this.title_};MarkerClusterer.prototype.setTitle=function(n){this.title_=n};MarkerClusterer.prototype.getZoomOnClick=function(){return this.zoomOnClick_};MarkerClusterer.prototype.setZoomOnClick=function(n){this.zoomOnClick_=n};MarkerClusterer.prototype.getAverageCenter=function(){return this.averageCenter_};MarkerClusterer.prototype.setAverageCenter=function(n){this.averageCenter_=n};MarkerClusterer.prototype.getIgnoreHidden=function(){return this.ignoreHidden_};MarkerClusterer.prototype.setIgnoreHidden=function(n){this.ignoreHidden_=n};MarkerClusterer.prototype.getEnableRetinaIcons=function(){return this.enableRetinaIcons_};MarkerClusterer.prototype.setEnableRetinaIcons=function(n){this.enableRetinaIcons_=n};MarkerClusterer.prototype.getImageExtension=function(){return this.imageExtension_};MarkerClusterer.prototype.setImageExtension=function(n){this.imageExtension_=n};MarkerClusterer.prototype.getImagePath=function(){return this.imagePath_};MarkerClusterer.prototype.setImagePath=function(n){this.imagePath_=n};MarkerClusterer.prototype.getImageSizes=function(){return this.imageSizes_};MarkerClusterer.prototype.setImageSizes=function(n){this.imageSizes_=n};MarkerClusterer.prototype.getCalculator=function(){return this.calculator_};MarkerClusterer.prototype.setCalculator=function(n){this.calculator_=n};MarkerClusterer.prototype.getBatchSizeIE=function(){return this.batchSizeIE_};MarkerClusterer.prototype.setBatchSizeIE=function(n){this.batchSizeIE_=n};MarkerClusterer.prototype.getClusterClass=function(){return this.clusterClass_};MarkerClusterer.prototype.setClusterClass=function(n){this.clusterClass_=n};MarkerClusterer.prototype.getMarkers=function(){return this.markers_};MarkerClusterer.prototype.getTotalMarkers=function(){return this.markers_.length};MarkerClusterer.prototype.getClusters=function(){return this.clusters_};MarkerClusterer.prototype.getTotalClusters=function(){return this.clusters_.length};MarkerClusterer.prototype.addMarker=function(n,t){this.pushMarkerTo_(n);t||this.redraw_()};MarkerClusterer.prototype.addMarkers=function(n,t){var i;for(i in n)n.hasOwnProperty(i)&&this.pushMarkerTo_(n[i]);t||this.redraw_()};MarkerClusterer.prototype.pushMarkerTo_=function(n){if(n.getDraggable()){var t=this;google.maps.event.addListener(n,"dragend",function(){t.ready_&&(this.isAdded=!1,t.repaint())})}n.isAdded=!1;this.markers_.push(n)};MarkerClusterer.prototype.removeMarker=function(n,t){var i=this.removeMarker_(n);return!t&&i&&this.repaint(),i};MarkerClusterer.prototype.removeMarkers=function(n,t){for(var u,r=!1,i=0;i<n.length;i++)u=this.removeMarker_(n[i]),r=r||u;return!t&&r&&this.repaint(),r};MarkerClusterer.prototype.removeMarker_=function(n){var t,i=-1;if(this.markers_.indexOf)i=this.markers_.indexOf(n);else for(t=0;t<this.markers_.length;t++)if(n===this.markers_[t]){i=t;break}return i===-1?!1:(n.setMap(null),this.markers_.splice(i,1),!0)};MarkerClusterer.prototype.clearMarkers=function(){this.resetViewport_(!0);this.markers_=[]};MarkerClusterer.prototype.repaint=function(){var n=this.clusters_.slice();this.clusters_=[];this.resetViewport_(!1);this.redraw_();setTimeout(function(){for(var t=0;t<n.length;t++)n[t].remove()},0)};MarkerClusterer.prototype.getExtendedBounds=function(n){var t=this.getProjection(),e=new google.maps.LatLng(n.getNorthEast().lat(),n.getNorthEast().lng()),o=new google.maps.LatLng(n.getSouthWest().lat(),n.getSouthWest().lng()),r=t.fromLatLngToDivPixel(e),i,u,f;return r.x+=this.gridSize_,r.y-=this.gridSize_,i=t.fromLatLngToDivPixel(o),i.x-=this.gridSize_,i.y+=this.gridSize_,u=t.fromDivPixelToLatLng(r),f=t.fromDivPixelToLatLng(i),n.extend(u),n.extend(f),n};MarkerClusterer.prototype.redraw_=function(){this.createClusters_(0)};MarkerClusterer.prototype.resetViewport_=function(n){for(var i,t=0;t<this.clusters_.length;t++)this.clusters_[t].remove();for(this.clusters_=[],t=0;t<this.markers_.length;t++)i=this.markers_[t],i.isAdded=!1,n&&i.setMap(null)};MarkerClusterer.prototype.distanceBetweenPoints_=function(n,t){var i=(t.lat()-n.lat())*Math.PI/180,r=(t.lng()-n.lng())*Math.PI/180,u=Math.sin(i/2)*Math.sin(i/2)+Math.cos(n.lat()*Math.PI/180)*Math.cos(t.lat()*Math.PI/180)*Math.sin(r/2)*Math.sin(r/2),f=2*Math.atan2(Math.sqrt(u),Math.sqrt(1-u));return 6371*f};MarkerClusterer.prototype.isMarkerInBounds_=function(n,t){return t.contains(n.getPosition())};MarkerClusterer.prototype.addToClosestCluster_=function(n){for(var u,t,f,e=4e4,r=null,i=0;i<this.clusters_.length;i++)t=this.clusters_[i],f=t.getCenter(),f&&(u=this.distanceBetweenPoints_(f,n.getPosition()),u<e&&(e=u,r=t));r&&r.isMarkerInClusterBounds(n)?r.addMarker(n):(t=new Cluster(this),t.addMarker(n),this.clusters_.push(t))};MarkerClusterer.prototype.createClusters_=function(n){var i,t,u,e=this,f,r;if(this.ready_){for(n===0&&(google.maps.event.trigger(this,"clusteringbegin",this),typeof this.timerRefStatic!="undefined"&&(clearTimeout(this.timerRefStatic),delete this.timerRefStatic)),u=this.getMap().getZoom()>3?new google.maps.LatLngBounds(this.getMap().getBounds().getSouthWest(),this.getMap().getBounds().getNorthEast()):new google.maps.LatLngBounds(new google.maps.LatLng(85.020707717434718,-178.48388434375),new google.maps.LatLng(-85.081364443845445,178.00048865625)),f=this.getExtendedBounds(u),r=Math.min(n+this.batchSize_,this.markers_.length),i=n;i<r;i++)t=this.markers_[i],!t.isAdded&&this.isMarkerInBounds_(t,f)&&(!this.ignoreHidden_||this.ignoreHidden_&&t.getVisible())&&this.addToClosestCluster_(t);r<this.markers_.length?this.timerRefStatic=setTimeout(function(){e.createClusters_(r)},0):(delete this.timerRefStatic,google.maps.event.trigger(this,"clusteringend",this))}};MarkerClusterer.prototype.extend=function(n,t){return function(n){var t;for(t in n.prototype)this.prototype[t]=n.prototype[t];return this}.apply(n,[t])};MarkerClusterer.CALCULATOR=function(n,t){for(var i=0,u=n.length.toString(),r=u;r!==0;)r=parseInt(r/10,10),i++;return i=Math.min(i,t),{text:u,index:i,title:""}};MarkerClusterer.BATCH_SIZE=2e3;MarkerClusterer.BATCH_SIZE_IE=500;MarkerClusterer.IMAGE_PATH="../images/m";MarkerClusterer.IMAGE_EXTENSION="png";MarkerClusterer.IMAGE_SIZES=[53,56,66,78,90];typeof module=="object"&&(module.exports=MarkerClusterer),function(){var n,t,r,u,i,f={}.hasOwnProperty,e=[].slice;this.OverlappingMarkerSpiderfier=function(){function o(e,o){var c,s,h;this.map=e;null==o&&(o={});null==this.constructor.N&&(this.constructor.N=!0,i=google.maps,t=i.event,r=i.MapTypeId,n.keepSpiderfied=!1,n.ignoreMapClick=!1,n.markersWontHide=!1,n.markersWontMove=!1,n.basicFormatEvents=!1,n.nearbyDistance=20,n.circleSpiralSwitchover=9,n.circleFootSeparation=23,n.circleStartAngle=u/12,n.spiralFootSeparation=26,n.spiralLengthStart=11,n.spiralLengthFactor=4,n.spiderfiedZIndex=i.Marker.MAX_ZINDEX+2e4,n.highlightedLegZIndex=i.Marker.MAX_ZINDEX+1e4,n.usualLegZIndex=i.Marker.MAX_ZINDEX+1,n.legWeight=1.5,n.legColors={usual:{},highlighted:{}},h=n.legColors.usual,s=n.legColors.highlighted,h[r.HYBRID]=h[r.SATELLITE]="#fff",s[r.HYBRID]=s[r.SATELLITE]="#f00",h[r.TERRAIN]=h[r.ROADMAP]="#444",s[r.TERRAIN]=s[r.ROADMAP]="#f00",this.constructor.j=function(n){return this.setMap(n)},this.constructor.j.prototype=new i.OverlayView,this.constructor.j.prototype.draw=function(){});for(c in o)f.call(o,c)&&(s=o[c],this[c]=s);this.g=new this.constructor.j(this.map);this.C();this.c={};this.B=this.l=null;this.addListener("click",function(n,i){return t.trigger(n,"spider_click",i)});this.addListener("format",function(n,i){return t.trigger(n,"spider_format",i)});this.ignoreMapClick||t.addListener(this.map,"click",function(n){return function(){return n.unspiderfy()}}(this));t.addListener(this.map,"maptypeid_changed",function(n){return function(){return n.unspiderfy()}}(this));t.addListener(this.map,"zoom_changed",function(n){return function(){return n.unspiderfy(),n.basicFormatEvents?void 0:n.h()}}(this))}var t,i,s,c,r,n,h,u,l;for(n=o.prototype,h=[o,n],s=0,c=h.length;s<c;s++)l=h[s],l.VERSION="1.0.3";return u=2*Math.PI,i=t=r=null,o.markerStatus={SPIDERFIED:"SPIDERFIED",SPIDERFIABLE:"SPIDERFIABLE",UNSPIDERFIABLE:"UNSPIDERFIABLE",UNSPIDERFIED:"UNSPIDERFIED"},n.C=function(){this.a=[];this.s=[]},n.addMarker=function(n,t){return n.setMap(this.map),this.trackMarker(n,t)},n.trackMarker=function(n,i){var r;return null!=n._oms?this:(n._oms=!0,r=[t.addListener(n,"click",function(t){return function(i){return t.V(n,i)}}(this))],this.markersWontHide||r.push(t.addListener(n,"visible_changed",function(t){return function(){return t.D(n,!1)}}(this))),this.markersWontMove||r.push(t.addListener(n,"position_changed",function(t){return function(){return t.D(n,!0)}}(this))),null!=i&&r.push(t.addListener(n,"spider_click",i)),this.s.push(r),this.a.push(n),this.basicFormatEvents?this.trigger("format",n,this.constructor.markerStatus.UNSPIDERFIED):(this.trigger("format",n,this.constructor.markerStatus.UNSPIDERFIABLE),this.h()),this)},n.D=function(n,t){if(!this.J&&!this.K)return null==n._omsData||!t&&n.getVisible()||this.unspiderfy(t?n:null),this.h()},n.getMarkers=function(){return this.a.slice(0)},n.removeMarker=function(n){return this.forgetMarker(n),n.setMap(null)},n.forgetMarker=function(n){var i,r,f,e,u;if(null!=n._omsData&&this.unspiderfy(),i=this.A(this.a,n),0>i)return this;for(u=this.s.splice(i,1)[0],r=0,f=u.length;r<f;r++)e=u[r],t.removeListener(e);return delete n._oms,this.a.splice(i,1),this.h(),this},n.removeAllMarkers=n.clearMarkers=function(){var n,i,r,t;for(t=this.getMarkers(),this.forgetAllMarkers(),n=0,i=t.length;n<i;n++)r=t[n],r.setMap(null);return this},n.forgetAllMarkers=function(){var n,r,e,o,u,s,i,f;for(this.unspiderfy(),f=this.a,n=r=0,e=f.length;r<e;n=++r){for(s=f[n],u=this.s[n],i=0,n=u.length;i<n;i++)o=u[i],t.removeListener(o);delete s._oms}return this.C(),this},n.addListener=function(n,t){var i;return(null!=(i=this.c)[n]?i[n]:i[n]=[]).push(t),this},n.removeListener=function(n,t){var i;return i=this.A(this.c[n],t),0>i||this.c[n].splice(i,1),this},n.clearListeners=function(n){return this.c[n]=[],this},n.trigger=function(){var u,n,t,i,f,r;for(n=arguments[0],u=2<=arguments.length?e.call(arguments,1):[],n=null!=(t=this.c[n])?t:[],r=[],i=0,f=n.length;i<f;i++)t=n[i],r.push(t.apply(null,u));return r},n.L=function(n,t){var r,s,f,e,o;for(e=this.circleFootSeparation*(2+n)/u,s=u/n,o=[],r=f=0;0<=n?f<n:f>n;r=0<=n?++f:--f)r=this.circleStartAngle+r*s,o.push(new i.Point(t.x+e*Math.cos(r),t.y+e*Math.sin(r)));return o},n.M=function(n,t){var r,f,e,o,s;for(o=this.spiralLengthStart,r=0,s=[],f=e=0;0<=n?e<n:e>n;f=0<=n?++e:--e)r+=this.spiralFootSeparation/o+.0005*f,f=new i.Point(t.x+o*Math.cos(r),t.y+o*Math.sin(r)),o+=u*this.spiralLengthFactor/r,s.push(f);return s},n.V=function(n,t){var i,s,r,f,h,u,e,c,o;if((u=null!=n._omsData)&&this.keepSpiderfied||this.unspiderfy(),u||this.map.getStreetView().getVisible()||"GoogleEarthAPI"===this.map.getMapTypeId())return this.trigger("click",n,t);for(u=[],e=[],i=this.nearbyDistance,c=i*i,h=this.f(n.position),o=this.a,i=0,s=o.length;i<s;i++)r=o[i],null!=r.map&&r.getVisible()&&(f=this.f(r.position),this.i(f,h)<c?u.push({R:r,G:f}):e.push(r));return 1===u.length?this.trigger("click",n,t):this.W(u,e)},n.markersNearMarker=function(n,t){var i,e,r,o,s,u,h,f,c,l;if(null==t&&(t=!1),null==this.g.getProjection())throw"Must wait for 'idle' event on map before calling markersNearMarker";for(i=this.nearbyDistance,h=i*i,s=this.f(n.position),u=[],f=this.a,i=0,e=f.length;i<e&&!(r=f[i],r!==n&&null!=r.map&&r.getVisible()&&(o=this.f(null!=(c=null!=(l=r._omsData)?l.v:void 0)?c:r.position),this.i(o,s)<h&&(u.push(r),t)));i++);return u},n.F=function(){var t,n,u,f,e,s,i,c,h,r,l,o;if(null==this.g.getProjection())throw"Must wait for 'idle' event on map before calling markersNearAnyOtherMarker";for(h=this.nearbyDistance,h*=h,e=this.a,o=[],r=0,n=e.length;r<n;r++)f=e[r],o.push({H:this.f(null!=(t=null!=(u=f._omsData)?u.v:void 0)?t:f.position),b:!1});for(r=this.a,t=u=0,f=r.length;u<f;t=++u)if(n=r[t],null!=n.getMap()&&n.getVisible()&&(s=o[t],!s.b))for(l=this.a,n=c=0,e=l.length;c<e;n=++c)if(i=l[n],n!==t&&null!=i.getMap()&&i.getVisible()&&(i=o[n],(!(n<t)||i.b)&&this.i(s.H,i.H)<h)){s.b=i.b=!0;break}return o},n.markersNearAnyOtherMarker=function(){var n,t,u,f,e,i,r;for(e=this.F(),i=this.a,r=[],n=t=0,u=i.length;t<u;n=++t)f=i[n],e[n].b&&r.push(f);return r},n.setImmediate=function(n){return window.setTimeout(n,0)},n.h=function(){if(!this.basicFormatEvents&&null==this.l)return this.l=this.setImmediate(function(n){return function(){return n.l=null,null!=n.g.getProjection()?n.w():null!=n.B?void 0:n.B=t.addListenerOnce(n.map,"idle",function(){return n.w()})}}(this))},n.w=function(){var n,t,r,i,u,f,e;if(this.basicFormatEvents){for(u=[],t=0,r=markers.length;t<r;t++)i=markers[t],n=null!=i._omsData?"SPIDERFIED":"UNSPIDERFIED",u.push(this.trigger("format",i,this.constructor.markerStatus[n]));return u}for(u=this.F(),f=this.a,e=[],n=r=0,t=f.length;r<t;n=++r)i=f[n],n=null!=i._omsData?"SPIDERFIED":u[n].b?"SPIDERFIABLE":"UNSPIDERFIABLE",e.push(this.trigger("format",i,this.constructor.markerStatus[n]));return e},n.P=function(n){return{m:function(t){return function(){return n._omsData.o.setOptions({strokeColor:t.legColors.highlighted[t.map.mapTypeId],zIndex:t.highlightedLegZIndex})}}(this),u:function(t){return function(){return n._omsData.o.setOptions({strokeColor:t.legColors.usual[t.map.mapTypeId],zIndex:t.usualLegZIndex})}}(this)}},n.W=function(n,r){var f,s,e,h,c,l,u,a,v,o;return this.J=!0,o=n.length,f=this.T(function(){var t,r,i;for(i=[],t=0,r=n.length;t<r;t++)a=n[t],i.push(a.G);return i}()),h=o>=this.circleSpiralSwitchover?this.M(o,f).reverse():this.L(o,f),f=function(){var r,o,f;for(f=[],r=0,o=h.length;r<o;r++)e=h[r],s=this.U(e),v=this.S(n,function(n){return function(t){return n.i(t.G,e)}}(this)),u=v.R,l=new i.Polyline({map:this.map,path:[u.position,s],strokeColor:this.legColors.usual[this.map.mapTypeId],strokeWeight:this.legWeight,zIndex:this.usualLegZIndex}),u._omsData={v:u.getPosition(),X:u.getZIndex(),o:l},this.legColors.highlighted[this.map.mapTypeId]!==this.legColors.usual[this.map.mapTypeId]&&(c=this.P(u),u._omsData.O={m:t.addListener(u,"mouseover",c.m),u:t.addListener(u,"mouseout",c.u)}),this.trigger("format",u,this.constructor.markerStatus.SPIDERFIED),u.setPosition(s),u.setZIndex(Math.round(this.spiderfiedZIndex+e.y)),f.push(u);return f}.call(this),delete this.J,this.I=!0,this.trigger("spiderfy",f,r)},n.unspiderfy=function(n){var u,s,r,i,f,e,o;if(null==n&&(n=null),null==this.I)return this;for(this.K=!0,o=[],f=[],e=this.a,u=0,s=e.length;u<s;u++)i=e[u],null!=i._omsData?(i._omsData.o.setMap(null),i!==n&&i.setPosition(i._omsData.v),i.setZIndex(i._omsData.X),r=i._omsData.O,null!=r&&(t.removeListener(r.m),t.removeListener(r.u)),delete i._omsData,i!==n&&(r=this.basicFormatEvents?"UNSPIDERFIED":"SPIDERFIABLE",this.trigger("format",i,this.constructor.markerStatus[r])),o.push(i)):f.push(i);return delete this.K,delete this.I,this.trigger("unspiderfy",o,f),this},n.i=function(n,t){var i,r;return i=n.x-t.x,r=n.y-t.y,i*i+r*r},n.T=function(n){for(var r,u,f,t=u=f=0,e=n.length;t<e;t++)r=n[t],u+=r.x,f+=r.y;return n=n.length,new i.Point(u/n,f/n)},n.f=function(n){return this.g.getProjection().fromLatLngToDivPixel(n)},n.U=function(n){return this.g.getProjection().fromDivPixelToLatLng(n)},n.S=function(n,t){for(var r,e,i,f,u=f=0,o=n.length;f<o;u=++f)(i=n[u],i=t(i),"undefined"==typeof r||null===r||i<e)&&(e=i,r=u);return n.splice(r,1)[0]},n.A=function(n,t){var i,r,u,f;if(null!=n.indexOf)return n.indexOf(t);for(i=r=0,u=n.length;r<u;i=++r)if(f=n[i],f===t)return i;return-1},o}();t=/(\?.*(&|&amp;)|\?)spiderfier_callback=(\w+)/;n=document.currentScript;null==n&&(n=function(){var n,f,r,e,u;for(r=document.getElementsByTagName("script"),u=[],n=0,f=r.length;n<f;n++)i=r[n],null!=(e=i.getAttribute("src"))&&e.match(t)&&u.push(i);return u}()[0]);null!=n&&(n=null!=(r=n.getAttribute("src"))?null!=(u=r.match(t))?u[3]:void 0:void 0)&&"function"==typeof window[n]&&window[n]();"function"==typeof window.spiderfier_callback&&window.spiderfier_callback()}.call(this)