1app.addModule(function(){head.js('/assets/vendor/smartphoto/smartphoto.css','/assets/vendor/smartphoto/smartphoto.js',function(){new SmartPhoto(".company__photo-wrap")})});app.addModule(function(){var showMap=function(params){var timer;head.js('/assets/vendor/leaflet/leaflet.css','/assets/vendor/leaflet/popup.css','/assets/vendor/leaflet/leaflet.js','/assets/vendor/leaflet/leaflet_fullscreen.js','/assets/vendor/leaflet/leaflet_cluster/leaflet_cluster.js',function(){var center={lat:55.1904,lng:30.2049};if(params.markers){center.lat=params.markers[0].lat;center.lng=params.markers[0].lng} 2var map=L.map(params.mapContainer,{crs:L.CRS.EPSG3395,zoomControl:!1,scrollWheelZoom:!1,attributionControl:!1,fadeAnimation:!0,markerZoomAnimation:!0,zoomAnimation:!0});map.setView([center.lat,center.lng],11);map.addControl(new L.Control.Fullscreen());L.control.zoom({position:'topright'}).addTo(map);var myMarker=L.divIcon({html:"<i class='marker__ico'></i>",iconSize:[14,14],iconAnchor:[8,8]});L.tileLayer('https://core-renderer-tiles.maps.yandex.net/tiles?l=map&x={x}&y={y}&z={z}&scale=2&lang=ru_RU',{subdomains:['01','02','03','04'],reuseTiles:!0,updateWhenIdle:!1}).addTo(map);var addedMarkers=[];var markers=L.markerClusterGroup();var allMarkers=[];Array.from(params.markers).forEach(function(marker){var popup=new L.Popup({autoPan:!0,keepInView:!1});popup.setContent('<div class="popup">'+'<div class="popup__rating">'+marker.ratingSvg+'</div>'+' <div class="popup__type">'+marker.rubric.name+'</div>'+' <div class="popup__name">'+marker.name+'</div>'+' <div class="popup__address">'+marker.address+'</div>'+'</div>',);addedMarkers.push({id:marker.id,marker:L.marker([marker.lat,marker.lng],{icon:myMarker}).bindPopup(popup).addTo(map)});allMarkers.push(L.marker([marker.lat,marker.lng],{icon:myMarker}).bindPopup(popup))});var showPopup=function(args){if(timer){clearTimeout(timer)} 3timer=setTimeout(function(){var boundsGroup=[];Array.from(addedMarkers).forEach(function(marker){if(marker.id===parseInt(args.id)){if(!args.zoom){marker.marker.openPopup();var markersGroup=new L.featureGroup(allMarkers);if(markersGroup._leaflet_id){map.fitBounds(markersGroup.getBounds())} 4map.panTo(new L.LatLng(marker.marker._latlng.lat,marker.marker._latlng.lng))} 5if(args.zoom&&marker.marker._latlng.lat===parseFloat(args.lat)&&marker.marker._latlng.lng===parseFloat(args.lng)){map.setView([marker.marker._latlng.lat,marker.marker._latlng.lng],15);marker.marker.openPopup()}}else{marker.marker.closePopup()}})},500)};PubSub.subscribe('SHOW_LEAFLET_POPUP',function(msg,args){showPopup(args)})})};PubSub.subscribe('SHOW_MAP',function(msg,args){showMap(args)});var clickHandler=function(event){var companyId;if(event.target.closest('.company__address')){companyId=event.target.closest('.company').dataset.id;PubSub.publish('SHOW_LEAFLET_POPUP',{id:companyId,zoom:1,lat:event.target.dataset.lat,lng:event.target.dataset.lng})}};document.addEventListener('click',clickHandler)});app.addModule(function(){PubSub.publish('SHOW_MAP',{mapContainer:'companies__map',markers:JSON.parse(document.querySelector('.markers').innerHTML)});Array.from(document.querySelectorAll('.company')).forEach(function(elem){elem.addEventListener('mouseenter',function(event){PubSub.publish('SHOW_LEAFLET_POPUP',{id:event.target.dataset.id})})});var moreContacts=function(event){Array.from(event.target.parentElement.querySelectorAll('.company__contact-row')).forEach(function(elem){elem.classList.add('company__contact-row--visible')});event.target.classList.add('company__contacts-more--hidden')};Array.from(document.querySelectorAll('.company__contacts-more')).forEac
5h(function(button){button.addEventListener('click',moreContacts)});tippy('[data-tippy-content]',{theme:'tooltip',appendTo:document.querySelector('body'),duration:150,maxWidth:230,arrow:!1,interactive:!1,allowHTML:!0,})})
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.