1import{p as T}from"./index.cbf1c61b.js";import{x as E}from"./xy2LngLat.09a23a2c.js";import{u as x}from"./vendor.f93e2a7c.js";const P=n=>{var o,g,t;const i={...n==null?void 0:n.properties},d=((o=n==null?void 0:n._geometry)==null?void 0:o.coordinates)||((g=n==null?void 0:n.geometry)==null?void 0:g.coordinates);return((t=n==null?void 0:n.properties)==null?void 0:t.poi_type_name_en)==="user-point"&&(i.isCustom=!0),n?{data:i,coordinates:d}:null},w=(n,i)=>{if(n.length!==i.length)throw new Error("UUIDs must be of the same length");const d=n.replace(/-/g,""),o=i.replace(/-/g,""),g=Array.from(d).map((t,e)=>{const _=parseInt(t,16),r=parseInt(o[e],16);return(_^r).toString(16)}).join("");return`${g.slice(0,8)}-${g.slice(8,12)}-${g.slice(12,16)}-${g.slice(16,20)}-${g.slice(20)}`},v=(n,i)=>{if(!n||!i)return!1;const d=/^(-?[1-8]?\d(?:\.\d{1,18})?|90(?:\.0{1,18})?)$/,o=/^(-?(?:1[0-7]|[1-9])?\d(?:\.\d{1,18})?|180(?:\.0{1,18})?)$/;return d.test(n)&&o.test(i)},W=({lng:n,lat:i,byDefault:d,floor:o})=>!i||!n?d:v(i,n)?{lng:c(n,o),lat:c(i,o)}:d,N=n=>!isNaN(parseFloat(n))&&!isNaN(+n),S=(n,{min:i,max:d,byDefault:o,floor:g})=>n&&N(n)&&Number(n)<=d&&Number(n)>=i?c(n,g):o,V=({lng:n,lat:i,z:d,byDefault:o,floor:g,minZoom:t,maxZoom:e})=>{const{z:_,...r}=o;return{...W({lat:i,lng:n,byDefault:r,floor:g}),z:S(d,{byDefault:_,min:t,max:e,floor:g})}},H=({lat:n,lng:i,z:d})=>({lng:c(String(i),5),lat:c(String(n),5),z:c(String(d),5)}),c=(n,i)=>String(parseFloat(Number(n).toFixed(i)));function A(n,i=!0,d=!0){const o=Math.round(n/60);let g=Math.floor(o/60),t=o%60;return d&&(t===0?t=0:t<=30?t=30:(t=0,g+=1)),g>=16&&i?`${g}\u0447`:i?`${g?`${g}\u0447 `:""}${t?t.toString().padStart(2,"0"):""}${t?"\u043C":""}`:`${g}:${t.toString().padStart(2,"0")}`}function j(n){const i=Math.round(n/60);let d=Math.floor(i/60),o=i%60;return o==0?o=0:o<16?o=15:o<31?o=30:o<46?o=45:(o=0,d+=1),`${d%24}:${o.toString().padStart(2,"0")}`}function k(n){const i=Math.round(n/60);let d=Math.floor(i/60),o=i%60;return d>=10?`${d}\u0447`:`${d?`${d}\u0447 `:""}${o}\u043C`}const z=(n,i=!0)=>{const d=n&&`${Math.round(n.distance/1e3)} \u043A\u043C`,o=n&&`${i?A(n.duration):k(n.duration)}`;return{km:d,hourMinutes:o}},B=n=>{let i="/images/plug-popup.png";return n&&n.startsWith("/img/int")&&(i=n),i},O=(n,i)=>{var t,e,_,r,m;const{lng:d,lat:o}=n,g=((t=i==null?void 0:i.poiType)==null?void 0:t.nameEn)||n.poiType.nameEn;return{geometry:{coordinates:[d,o]},properties:{rideByCar:n.rideByCar,accessWithoutExcursion:n.accessWithoutExcursion,price:n.price,id:(i==null?void 0:i.id)||n.id,address:n.address,city_name:(i==null?void 0:i.cityName)||n.city.name,city_name_en:(i==null?void 0:i.cityNameEn)||n.city.name_en,city_id:n.city.id,country_name:(i==null?void 0:i.countryName)||((e=n.region.country)==null?void 0:e.name),photo_link:(i==null?void 0:i.image)||n.image,photo_links:i!=null&&i.image?JSON.stringify([i.image]):n.photoLinks||n.image,name:n.name,nameEn:n.nameEn,name_en:n.nameEn,icon_link:n.image,poi_type_name:((_=i==null?void 0:i.poiType)==null?void 0:_.name)||n.poiType.name,poi_type_name_en:g,rate_count:n.rateCount,rate_avr:n.rateAverage,region_name:(i==null?void 0:i.regionName)||n.region.name,region_name_en:(i==null?void 0:i.regionNameEn)||n.region.nameEn,scale_name:(r=n==null?void 0:n.scale)==null?void 0:r.name,scale_name_en:(m=n==null?void 0:n.scale)==null?void 0:m.nameEn,subtype_name:(i==null?void 0:i.subtype)||n.subtype,subtype_name_en:(i==null?void 0:i.subtype)||n.subtype,type_name:n.type,type_name_en:n.type,date_start:n.startDate,date_end:n.endDate,duration:n.duration?n.duration:g==="user-point"||g==="locality"?30*60:0,geoContext:(i==null?void 0:i.geoContext)||n.geoContext,experienceCount:n.experienceCount||(i==null?void 0:i.experiencesCount)||null,localityFeatureData:i}}},Z=n=>{var C,M;if(!n)return null;const i=((n==null?void 0:n.features)||[]).find(s=>s.id.startsWith("address"));let d="";i!=null&&i.text_ru&&(d+=i.text_ru),i!=null&&i.address&&(d+=", "+i.address);const o=((n==null?void 0:n.features)||[]).find(s=>s.id.startsWith("locality"));o==null||o.text_ru;const g=((n==null?void 0:n.features)||[]).find(s=>s.id.startsWith("poi"));g==null||g.text_ru;const t=((n==null?void 0:n.features)||[]).find(s=>s.id.startsWith("place")),e=t==null?void 0:t.text_ru,_=((n==null?void 0:n.features)||[]).find(s=>s.id.startsWith("district"));_==null||_.text_ru;const r=((n==null?void 0:n.features)||[]).find(s=>s.id.startsWith("region"));r==null||r.text_ru;const m=n.features.find(s=>s==null?void 0:s.place_type.includes("place"))||n.features.find(s=>s==null?void 0:s.place_type.includes("district"))||n.features.find(s=>s==null?void 0:s.place_type.includes("region")),$=!(n.features.find(s=>s==null?void 0:s.place_type.includes("place"))||n.features.find(s=>s==null?void 0:s.place_type.includes("district")))||!n.features.find(s=>s==null?void 0:s.place_type.includes("region"))||(m==null?void 0:m.text)===((C=n.features.find(s=>s==null?void 0:s.place_type.includes("region")))==null?void 0:C.text)&&!n.features.find(s=>s==null?void 0:s.place_type.includes("address"))?n.features.find(s=>s==null?void 0:s.place_type.includes("country")):n.features.find(s=>s==null?void 0:s.place_type.includes("region")),b=(m==null?void 0:m.text)!==($==null?void 0:$.text)?`${m==null?void 0:m.text}, ${$==null?void 0:$.text}`:`${((M=n.features.find(s=>s==null?void 0:s.place_type.includes("address")))==null?void 0:M.text)||(m==null?void 0:m.text)}, ${$==null?void 0:$.text}`;return[b.split(", ")[0],b.split(", ")[1],e]},J=n=>{const i=x();return{navigateToMapPage:g=>{const t=g?n:P(n);if(t){const[e,_]=t.coordinates,r=E(e,_,10,document.body.clientWidth>640&&document.body.clientWidth<1200?-340/2:0,document.body.clientWidth>=1200?-132:-52);i(`/map?lng=${r.lng}&lat=${r.lat}&z=10`,{state:{route:t}})}},getNavigationData:(g,t)=>{const e=t?n:P(n);if(!e)return{};const[_,r]=e.coordinates,m=E(_,r,g,document.body.clientWidth>640&&document.body.clientWidth<1200?-340/2:0,document.body.clientWidth>=1200?-132:-52);
1return{url:`/map?lng=${m.lng}&lat=${m.lat}&z=${g}`,state:{route:e}}}}},X=()=>{const n=x();return{navigateToExtraordinaryPage:()=>{n(T.EXTRA)}}},q=()=>({navigateToPlacePage:i=>{const{id:d,type:o,region:g,lng:t="",lat:e="",z:_="",t:r="",openInNewPage:m,nameEn:p,cityName:$=null}=i;setTimeout(()=>{window.open(`/places/${p}${$?`/${$}`:""}/${g}/${o}/${d}${t?"?lng=":""}${t}${e?"&lat=":""}${e}${_?"&z=":""}${_}${r?"&t=":""}${r}`,m?"_blank":"_self")},0)}}),G=()=>{const n=x();return{addRoute:(d,o=10)=>{const[g,t]=d.coordinates;n(`/map?lng=${g}&lat=${t}&z=${o}`,{state:{route:d}})}}};export{X as a,G as b,w as c,z as d,j as e,A as f,B as g,H as h,O as i,V as j,J as k,P as l,Z as t,q as u};
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.