window.startLocations={"www.findroommate.dk":{coords:{latitude:56.155467,longitude:10.430995},zoom:6},"www.findroommate.se":{coords:{latitude:62.71020270791913,longitude:14.935972520312436},zoom:4},"www.findroommate.com":{coords:{latitude:53.832207083351612,longitude:10.275948124999998},zoom:4},"www.findroommate.fr":{coords:{latitude:47.882679,longitude:1.905871},zoom:6},"www.findroommate.nl":{coords:{latitude:52.308859,longitude:4.814856},zoom:8}};ko.bindingHandlers.slider={init:function(n,t,i){var u=t(),e=i(),r=e.sliderOptions||{},f=$(n),o=frm.utils.debounce(function(){r.onChange&&r.onChange()},200);f.slider({max:r.max,min:r.min,step:r.step||1,value:ko.utils.unwrapObservable(u)}).on("slide",function(n,t){u(t.value);o()});u.subscribe(function(n){f.slider("value",parseInt(n))})}};ko.bindingHandlers.rangeSlider={init:function(n,t,i){function o(n){if(e()){var t=r.max();n!==""&&(n<f&&(r.min(f),n=f),n>=t&&(r.min(t),n=t),u.slider("values",0,n),r.ui.min(n),triggerEvent())}}function s(n){e()&&(u.slider("values",1,n),r.ui.max(n),triggerEvent())}var r=t(),u=$(n),f=u.attr("data-min"),h=u.attr("data-max"),l=i(),c=r.step||500,e=r.isEnabled||!0;triggerEvent=frm.utils.debounce(function(){r.onChange&&r.onChange()},200);u.slider({range:!0,min:parseInt(f),max:parseInt(h),step:c,values:[r.min(),r.max()]}).on("slide",function(n,t){typeof r.ui!="undefined"&&(r.ui.min(t.values[0]),r.ui.max(t.values[1]))}).on("slidechange",function(n,t){r.min(t.values[0]);r.max(t.values[1]);triggerEvent()});r.min.subscribe(o);r.ui.min.subscribe(o);r.max.subscribe(s);r.ui.max.subscribe(s)}};ko.bindingHandlers.rangeSliderV2={init:function(n,t,i){function o(n){if(e()){var t=r.max();n!==""&&(n<f&&(r.min(f),n=f),n>=t&&(r.min(t),n=t),u.slider("values",0,n),r.ui.min(n),triggerEvent())}}function s(n){e()&&(u.slider("values",1,n),r.ui.max(n),triggerEvent())}function l(n){e()&&u.slider("option","max",n)}var r=t(),u=$(n),f=r.settings.min(),h=r.settings.max(),a=i(),c=r.step||500,e=r.isEnabled||!0,v=r.settings;triggerEvent=frm.utils.debounce(function(){r.onChange&&r.onChange()},200);u.slider({range:!0,min:parseInt(f),max:parseInt(h),step:c,values:[r.min(),r.max()]}).on("slide",function(n,t){typeof r.ui!="undefined"&&(r.ui.min(t.values[0]),r.ui.max(t.values[1]))}).on("slidechange",function(n,t){r.min(t.values[0]);r.max(t.values[1]);triggerEvent()});r.min.subscribe(o);r.ui.min.subscribe(o);r.max.subscribe(s);r.ui.max.subscribe(s);r.settings.max.subscribe(l)}},function(n){var t=function(n){var r={DISABLE_FETCH:!1,ENABLE_PAGE_INIT_REDIRECT:!0,DISABLE_REDIRECT:!1,DISABLE_FILTER:!1,DISABLE_PAGEINDEX_UPDATE:!0,CURRENT_QUERY_MODE:undefined,CURRENT_QUERY:undefined,IS_FIRST_SEARCH:!0,DISABLE_MAP_MOVED:!1,PRESERVE_ADDRESS:!1,GENDER_SELECTION_RUNNING:!1,INIT_LOAD_RUNNING:!0,QUERY_CHANGED:!1,PERFORM_SCROLL_TOP:!1,SCROLL_POSITION:undefined},t=this,h=frm.services.StorageService,p=function(){return new frm.models.GenericPopupViewModel(n.popupOptions)},s=0,a,u,c,v,e,o;t.ScrollTopDisplayValue=ko.observable(s);t.IsOverScrollingDisplayValue=ko.observable(!1);a=function(){window.addEventListener("scroll",function(){var n=window.pageYOffset;if(t.ScrollTopDisplayValue(n),t.IsOverScrollingDisplayValue(!1),n<0){t.IsOverScrollingDisplayValue(!0);n=0;s=n;return}var i=Math.round(window.pageYOffset),r=Math.round($(document).height()-$(window).height()),u=i>=r-300,f=n<=100;t.IsMapVisible()||t.IsFilterVisible()||(f||u||n<s||i===r?t.BottomBarSlideVisible(!0):t.BottomBarSlideVisible(!1));s=n})};u={scrollPosition:{saveScrollPosition:function(){t.IsFilterVisible()||t.IsMapVisible()||(r.SCROLL_POSITION=window.pageYOffset)},applyScrollPosition:function(){$(window).scrollTop(r.SCROLL_POSITION);r.SCROLL_POSITION=undefined}},cache:{cacheKey:"ResidenceSearchFilter",hasUserCachedFilter:function(){var n=u.cache.getFilterFromCache(u.cache.cacheKey);return n!==undefined?u.cache.isCacheValid()?!0:!1:!1},isCacheValid:function(){var n=h.read(u.cache.cacheKey),t=Date.parse(n.filterCacheCreationDate),i=Date.parse(JSON.parse(JSON.stringify(new Date))),r=(i-t)/1e3;return r>1728e5?!1:!0},saveFilterToCahce:function(n,t,i,r){var f={filterCacheCreationDate:new Date,petsAllowed:n.PetsAllowed,bedrooms:r,size:n.Size,moveInDate:n.MoveInDate,showOnlyAvailableNow:n.ShowOnlyAvailableNow,hasProfileImage:n.HasProfileImage,hasImageOfRoom:n.HasImageOfRoom,includeExternals:n.IncludeExternals,minRent:n.RentRange.Min,maxRent:n.RentRange.Max,Address:n.Address,query:t||"",gender:i,rentalPeriods:[],residenceType:[]},e;ko.utils.arrayForEach(n.ResidenceType,function(n){n.selected&&f.residenceType.push(n.value)});ko.utils.arrayForEach(n.RentalPeriods,function(n){n.selected&&f.rentalPeriods.push(n.value)});h.create(u.cache.cacheKey,f);e=u.cache.getFilterFromCache()},getFilterFromCache:function(){return h.read(u.cache.cacheKey)},hasUserCachedLocation:function(){if(u.cache.hasUserCachedFilter()){var n=u.cache.getFilterFromCache(),t=n.query.hasOwnProperty("address");return t===!0?!0:!1}return!1}},focusQueryElement:function(){t.IsDesktopMode()?$("#desktop-filter-query-input").focus():$("#mobile-filter-query-input").focus()},invalidateMapSize:function(){},ensureMapSize:function(){if(!t.IsDesktopMode()){var n=$(".search-map-wrapper");n.css("height",n.height()+"px")}},applyEnsuredBounds:function(){},isInt:function(n){return typeof n=="number"&&isFinite(n)},buildPagingString:function(n,r){var u=[],e=!0,o=!0,s=4,f=n,h;for(r<=4?(f=1,e=!1,o=!1,s=s>r?r:s):r>=5&&(e=!0,o=!0,n>=2&&(f=n-1),h=r-2,h<=n&&(o=!1,e=!1,f=r-2,u.push(1),u.push("divider"))),i=1;i<=s;i+=1)f<=r&&(u.push(f),f++);e&&u.push("divider");o&&u.push(r);t.PagingItems(u)},buildCurrencyNumberToString:function(t){var i=n.currencyFormatString,r=n.currencyThousandSeparatorString,u=t.toString().replace(/\B(?=(\d{3})+(?!\d))/g,r);return i.replace("{amount}",u)},setResultViewSrollTop:function(){if(t.IsDesktopMode()){var n=$(".search-filter-result-container");n.scrollTop(0)}else t.IsFilterVisible()||t.IsMapVisible()||(r.PERFORM_SCROLL_TOP?(t.FilterChanged(!1),$(window).scrollTop(0),r.PERFORM_SCROLL_TOP=!1):u.scrollPosition.applyScrollPosition())},handleDeviceWidth:function(){$(window).width()<=768?t.IsDesktopMode(!1):t.IsDesktopMode(!0);t.IsDesktopMode()&&($(window).width()<=1280?t.IsSmallDesktopMode(!0):t.IsSmallDesktopMode(!1))},services:{searchService:new frm.services.SearchService,hashUrlService:new frm.services.HashUrlService,geocoderService:new frm.services.GeocoderService},map:{updateMapByBounds:function(n,i){n.fitBounds(i);var r=n.getBounds();t.Filter.Coords(u.services.geocoderService.getCoordsFromBounds(r))},updateMap:function(n,i,r,f){n.setView([i,r],f);t.Filter.Coords(u.services.geocoderService.getCoordsFromBounds(n.getBounds()))},buildMarkers:function(n){setTimeout(function(){y.clearMarkers(f,l);var t=function(n){return function(){window.open(n.Url)}};ko.utils.arrayForEach(n,function(n){var i=y.createMarker(f,l,n.Type,n.Latitude,n.Longitude,t(n))});f.addLayer(l)},25)}},fetch:function(n){var t=ko.toJS(n);return u.services.searchService.searchResidence(t,t.PageIndex)},buildFilterSubscription:function(n,i){if(n!==undefined&&i.hasOwnProperty(n))if(typeof i[n]=="function")i[n].subscribe(function(){n!=="PageIndex"&&(n==="Sort"&&t.SortOptionsDropDownVisible(!1),e())});else if(typeof i[n]=="object")for(var r in i[n])u.buildFilterSubscription(r,i[n])}};t.FilterChanged=ko.observable(!1);t.SearchResult=ko.observable(undefined);t.Query=ko.observable(undefined);t.QueryHolder=ko.observable(undefined);t.SearchCity=ko.observable(undefined);t.ShowPropertyFilters=ko.observable(!1);t.ShowRoomFilters=ko.observable(!1);t.Query.subscribe(function(){});t.TotalPages=ko.observable(0);t.IsLastPage=ko.observable(!1);t.TotalItems=ko.observable(0);t.RentSliderOptions={MaxRentDefaultString:ko.observable(""),MinRentDefaultString:ko.observable(""),MaxRentDefault:ko.observable(2e4),MinRentDefault:ko.observable(0)};t.Filter={Sort:ko.observable("newest"),PetsAllowed:ko.observable(undefined),Bedrooms:ko.observable(undefined),Size:ko.observable(undefined),Address:ko.observable(undefined),Coords:ko.observable(undefined),PageIndex:ko.observable(0),MoveInDate:ko.observable(undefined),MonthPickerInit:ko.observable(!0),MonthPickerClear:ko.observable(!1),ShowOnlyAvailableNow:ko.observable(!1),HasProfileImage:ko.observable(!1),HasImageOfRoom:ko.observable(!1),IncludeExternals:ko.observable(!1),ResidenceType:[{value:"room",text:n.localization.filter.residenceType.room,selected:ko.observable(n.isRoomSearch||n.showAllResidenceTypes)},{value:"property",text:n.localization.filter.residenceType.property,selected:ko.observable(!n.isRoomSearch||n.showAllResidenceTypes)},{value:"sharedproperty",text:n.localization.filter.residenceType.sharedproperty,selected:ko.observable(!0)}],RentRange:{Min:ko.observable(0),Max:ko.observable(n.settings.defaultFilter.rentRange.max)},RentalPeriods:[{value:0,text:n.localization.filter.rentalPeriod["0to3months"],selected:ko.observable(!0)},{value:1,text:n.localization.filter.rentalPeriod["3to12months"],selected:ko.observable(!0)},{value:2,text:n.localization.filter.rentalPeriod["12to24months"],selected:ko.observable(!0)},{value:3,text:n.localization.filter.rentalPeriod.unlimited,selected:ko.observable(!0)}],Gender:[{value:"male",text:n.localization.filter.gender.male,selected:ko.observable(!1)},{value:"female",text:n.localization.filter.gender.female,selected:ko.observable(!1)}],MonthPicker:{localization:{prevYear:n.localization.filter.monthPicker.prevYear,nextYear:n.localization.filter.monthPicker.nextYear,months:n.localization.filter.monthPicker.months,monthsLong:n.localization.filter.monthPicker.monthsLong}}};t.BedroomsAmountSelectionHolder=ko.observable(undefined);t.BedroomsAmountSelectionFunction=function(n){var u,i;r.DISABLE_FETCH=!0;u=!1;(n==="1room"||n==="2room"||n==="3room"||n==="4room")&&t.BedroomsAmountSelectionHolder()!==n&&(u=!0,i=0,n==="1room"&&(i=1),n==="2room"&&(i=2),n==="3room"&&(i=3),n==="4room"&&(i=4),t.Filter.Bedrooms(i));t.BedroomsAmountSelectionHolder(n);r.DISABLE_FETCH=!1;u&&!r.IS_FIRST_SEARCH&&e()};t.IsBothGenderSelected=ko.observable(!0);t.GenderSelectionHolder=ko.observable("bothGender");t.GenderSelectionFunction=function(n){r.DISABLE_FETCH=!0;r.DISABLE_FILTER=!0;var i=!1;n==="male"&&t.Filter.Gender[0].selected()!==!0&&(t.IsBothGenderSelected(!1),t.Filter.Gender[0].selected(!0),t.Filter.Gender[1].selected(!1),i=!0);n==="female"&&t.Filter.Gender[1].selected()!==!0&&(t.IsBothGenderSelected(!1),t.Filter.Gender[1].selected(!0),t.Filter.Gender[0].selected(!1),i=!0);n==="bothGender"&&t.IsBothGenderSelected()!==!0&&(t.IsBothGenderSelected(!0),t.Filter.Gender[1].selected(!1),t.Filter.Gender[0].selected(!1),i=!0);t.GenderSelectionHolder(n);r.DISABLE_FILTER=!1;r.DISABLE_FETCH=!1;i&&!r.IS_FIRST_SEARCH&&e()};t.UiRentRangeChanged=ko.computed(function(){return n.settings.defaultFilter.rentRange.min!==t.Filter.RentRange.Min()||n.settings.defaultFilter.rentRange.max!==t.Filter.RentRange.Max()});t.UiRentalPeriodsChanged=ko.computed(function(){var i=t.Filter.RentalPeriods,r=n.settings.defaultFilter.rentalPeriod;return i[0].selected()!==r["0to3months"]||i[1].selected()!==r["3to12months"]||i[2].selected()!==r["12to24months"]||i[3].selected()!==r.unlimited?!0:!1});t.UiRentalPeriodsSelectedCount=ko.computed(function(){var n=0;return ko.utils.arrayForEach(t.Filter.RentalPeriods,function(t){t.selected()&&n++}),n});t.UiMoveInDateChanged=ko.computed(function(){return t.Filter.MoveInDate()!==""&&t.Filter.MoveInDate()!==undefined||t.Filter.ShowOnlyAvailableNow()});t.UiResidenceTypeChanged=ko.computed(function(){var i=t.Filter.ResidenceType;return i[0].selected()!==n.settings.defaultFilter.residenceType.room||i[1].selected()!==n.settings.defaultFilter.residenceType.property||i[2].selected()!==n.settings.defaultFilter.residenceType.sharedproperty?!0:!1});t.UiResidenceTypeSelectedCount=ko.computed(function(){var n=0;return ko.utils.arrayForEach(t.Filter.ResidenceType,function(t){t.selected()&&n++}),n});t.UiMoreFiltersChanged=ko.computed(function(){var i=t.Filter.Gender;return i[0].selected()!==n.settings.defaultFilter.gender.male||i[1].selected()!==n.settings.defaultFilter.gender.female||t.Filter.HasProfileImage()!==n.settings.defaultFilter.hasProfileImage||t.Filter.HasImageOfRoom()!==n.settings.defaultFilter.hasImageOfRoom||t.Filter.IncludeExternals()!==n.settings.defaultFilter.includeExternals||t.Filter.Bedrooms()!==0&&t.Filter.Bedrooms()!==""&&t.Filter.Bedrooms()!==undefined||t.Filter.Size()!==0&&t.Filter.Size()!==""&&t.Filter.Size()!==undefined||t.Filter.PetsAllowed()===!0?!0:!1});t.UiMoreFiltersSelectedCount=ko.computed(function(){var n=0;return ko.utils.arrayForEach(t.Filter.Gender,function(t){t.selected()&&n++}),t.Filter.HasProfileImage()&&n++,t.Filter.HasImageOfRoom()&&n++,t.Filter.IncludeExternals()&&n++,t.Filter.Bedrooms()!==0&&t.Filter.Bedrooms()!==""&&t.Filter.Bedrooms()!==undefined&&n++,t.Filter.Size()!==0&&t.Filter.Size()!==""&&t.Filter.Size()!==undefined&&n++,t.Filter.PetsAllowed()&&n++,n});t.Loading=ko.observable(!0);t.UiRentMin=ko.observable(1);t.UiRentMax=ko.observable(1);t.UiRentMinString=ko.observable(0);t.UiRentMaxString=ko.observable(0);t.UiCurrentViewingMoveInDate=ko.observable(0);frm.events.addListener("monthpicker:pickerYearChanged",function(n){t.UiCurrentViewingMoveInDate(n)});t.UiMoveInDate=ko.computed(function(){var r="",n="",i,u,f;return t.Filter.MoveInDate()!==undefined&&t.Filter.MoveInDate()!==""&&t.Filter.MoveInDate()!==null?(i=t.Filter.MoveInDate().split("-"),r=i[0],n=t.Filter.MonthPicker.localization.monthsLong[i[1]-1]+" "+r):(u=new Date,f=u.getFullYear(),n=f),n});t.UiMoveInDateMonth=ko.computed(function(){var n="",i;return t.Filter.MoveInDate()!==undefined&&t.Filter.MoveInDate()!==""&&t.Filter.MoveInDate()!==null&&(i=t.Filter.MoveInDate().split("-"),n=t.Filter.MonthPicker.localization.months[i[1]-1]),n});t.IsDesktopMode=ko.observable(!0);t.IsSmallDesktopMode=ko.observable(!1);t.IsMapVisible=ko.observable(!0);t.IsFilterVisible=ko.observable(!1);t.BottomBarSlideVisible=ko.observable(!0);t.PagingItems=ko.observableArray([]);t.ResidenceTypeDropDownVisible=ko.observable(!1);t.RentDropDownVisible=ko.observable(!1);t.RentalPeriodDropDownVisible=ko.observable(!1);t.MoveInDateDropDownVisible=ko.observable(!1);t.MoreFiltersDropDownVisible=ko.observable(!1);t.SortOptionsDropDownVisible=ko.observable(!1);t.ClearQuery=function(){r.DISABLE_FETCH=!0;r.DISABLE_FILTER=!0;r.DISABLE_MAP_MOVED=!0;t.Query(undefined);t.Query("");t.QueryHolder(undefined);t.SearchCity(undefined);r.DISABLE_MAP_MOVED=!1;r.DISABLE_FILTER=!1;r.DISABLE_FETCH=!1;u.focusQueryElement()};t.OnQueryChanged=function(n){var i,e,o;r.DISABLE_FILTER=!0;r.DISABLE_FETCH=!0;u.invalidateMapSize(f);r.QUERY_CHANGED=!0;t.QueryHolder(n);t.SearchCity(undefined);n.locality!==undefined&&t.SearchCity(n.locality);t.Filter.Address(frm.services.AddressFactory.create(n,!1));i="undefined";n.viewport.south!==""&&(e=L.latLng(n.viewport.south,n.viewport.west),o=L.latLng(n.viewport.north,n.viewport.east),i=L.latLngBounds(e,o));r.PRESERVE_ADDRESS=!0;u.map.updateMapByBounds(f,i);r.DISABLE_FILTER=!1;r.DISABLE_FETCH=!1};t.ToggleMap=function(){r.DISABLE_MAP_MOVED=!0;u.scrollPosition.saveScrollPosition();t.IsFilterVisible(!1);t.IsMapVisible(!t.IsMapVisible());setTimeout(function(){t.IsMapVisible()&&(u.invalidateMapSize(f),r.DISABLE_MAP_MOVED=!1)},25);u.setResultViewSrollTop()};t.ToggleFilter=function(){u.scrollPosition.saveScrollPosition();r.DISABLE_MAP_MOVED=!0;t.IsMapVisible(!1);t.IsFilterVisible(!t.IsFilterVisible());t.IsFilterVisible()&&$(window).scrollTop(0);u.setResultViewSrollTop()};t.ChangePage=function(n){u.isInt(n)&&(t.Filter.PageIndex(n),o())};c=function(){r.DISABLE_FETCH=!0;r.DISABLE_FILTER=!0;t.ShowPropertyFilters()?(t.RentSliderOptions.MinRentDefault(n.settings.minRentProperty),t.RentSliderOptions.MaxRentDefault(n.settings.maxRentProperty),t.RentSliderOptions.MinRentDefaultString(n.settings.minRentPropertyDefaultString),t.RentSliderOptions.MaxRentDefaultString(n.settings.maxRentPropertyDefaultString)):(t.RentSliderOptions.MinRentDefault(n.settings.minRentDefault),t.RentSliderOptions.MaxRentDefault(n.settings.maxRentDefault),t.RentSliderOptions.MinRentDefaultString(n.settings.minRentDefaultString),t.RentSliderOptions.MaxRentDefaultString(n.settings.maxRentDefaultString),t.Filter.RentRange.Min()>n.settings.maxRentDefault&&(t.Filter.RentRange.Min(0),t.UiRentMin(0)),t.Filter.RentRange.Max()>n.settings.maxRentDefault&&(t.Filter.RentRange.Max(n.settings.maxRentDefault),t.UiRentMax(n.settings.maxRentDefault)));r.DISABLE_FILTER=!1;r.DISABLE_FETCH=!1};v=function(){if(u.cache.hasUserCachedFilter()){var i=u.cache.getFilterFromCache();t.Filter.PetsAllowed(i.petsAllowed);t.Filter.Size(i.size);t.Filter.MoveInDate(i.moveInDate);t.Filter.ShowOnlyAvailableNow(i.showOnlyAvailableNow);t.Filter.HasProfileImage(i.hasProfileImage);t.Filter.HasImageOfRoom(i.hasImageOfRoom);t.Filter.IncludeExternals(i.includeExternals);t.Filter.RentRange.Min(i.minRent);t.Filter.RentRange.Max(i.maxRent);i.bedrooms!==undefined&&t.BedroomsAmountSelectionFunction(i.bedrooms);i.gender!==null&&t.GenderSelectionFunction(i.gender);ko.utils.arrayForEach(t.Filter.RentalPeriods,function(n){n.selected(!1)});ko.utils.arrayForEach(i.rentalPeriods,function(n){t.Filter.RentalPeriods[n].selected(!0)});n.showAllResidenceTypes||(ko.utils.arrayForEach(t.Filter.ResidenceType,function(n){n.selected(!1)}),ko.utils.arrayForEach(i.residenceType,function(n){ko.utils.arrayForEach(t.Filter.ResidenceType,function(t){t.value===n&&t.selected(!0)})}))}t.UiRentMin(t.Filter.RentRange.Min());t.UiRentMax(t.Filter.RentRange.Max());n.settings.maxRent!==n.settings.maxRentDefault&&(t.Filter.RentRange.Max(n.settings.maxRent),t.UiRentMin(t.Filter.RentRange.Min()),t.UiRentMax(t.Filter.RentRange.Max()));c()};t.ChangePage=function(n){u.isInt(n)&&(t.Filter.PageIndex(n),r.PERFORM_SCROLL_TOP=!0,u.setResultViewSrollTop(),o())};t.NextPage=function(){t.Filter.PageIndex(t.Filter.PageIndex()+1);r.PERFORM_SCROLL_TOP=!0;u.setResultViewSrollTop();o()};t.PrevPage=function(){t.Filter.PageIndex(t.Filter.PageIndex()-1);r.PERFORM_SCROLL_TOP=!0;u.setResultViewSrollTop();o()};t.ClearMoveInDate=function(){r.DISABLE_FETCH=!0;r.DISABLE_FILTER=!0;t.Filter.MoveInDate(undefined);t.Filter.MonthPickerClear(!0);t.Filter.ShowOnlyAvailableNow(!1);r.DISABLE_FILTER=!1;r.DISABLE_FETCH=!1;t.MoveInDateDropDownVisible(!1);e()};t.ClearFilter=function(){r.DISABLE_FETCH=!0;r.DISABLE_FILTER=!0;var i=n.startLocation;t.Query(undefined);t.Query("");t.QueryHolder(undefined);t.SearchCity(undefined);u.map.updateMap(f,i.coords.latitude,i.coords.longitude,7);t.Filter.Address(undefined);t.Filter.PageIndex(0);t.Filter.MoveInDate(undefined);t.Filter.MonthPickerClear(!0);t.Filter.ShowOnlyAvailableNow(!1);t.Filter.HasProfileImage(!1);t.Filter.HasImageOfRoom(!1);t.Filter.IncludeExternals(!1);t.Filter.RentRange.Min(n.settings.minRentDefault);t.Filter.RentRange.Max(n.settings.maxRentDefault);t.Filter.Bedrooms(0);t.Filter.Size(0);t.Filter.PetsAllowed(undefined);ko.utils.arrayForEach(t.Filter.ResidenceType,function(t){t.selected(!1);n.isRoomSearch?(t.value==="room"&&t.selected(!0),t.value==="sharedproperty"&&t.selected(!0)):t.value==="property"&&t.selected(!0)});ko.utils.arrayForEach(t.Filter.RentalPeriods,function(n){n.selected(!0)});ko.utils.arrayForEach(t.Filter.Gender,function(n){n.selected(!1)});t.BedroomsAmountSelectionFunction(undefined);t.BedroomsAmountSelectionHolder(undefined);t.GenderSelectionHolder("bothGender");t.IsBothGenderSelected(!0);r.DISABLE_FILTER=!1;r.DISABLE_FETCH=!1;t.MoreFiltersDropDownVisible(!1);e()};e=function(){(t.ShowPropertyFilters(!1),t.ShowRoomFilters(!1),t.Filter.ResidenceType[0].selected()&&t.ShowRoomFilters(!0),(t.Filter.ResidenceType[1].selected()||t.Filter.ResidenceType[2].selected())&&t.ShowPropertyFilters(!0),t.ShowRoomFilters()===!1&&t.Filter.IncludeExternals(!1),r.DISABLE_FILTER)||(t.FilterChanged(!0),t.Filter.PageIndex(0),c(),o())};o=function(){r.DISABLE_FETCH||r.IS_FIRST_SEARCH||(r.PERFORM_SCROLL_TOP=!1,u.setResultViewSrollTop(),setTimeout(function(){t.Loading(!0);u.cache.saveFilterToCahce(ko.toJS(t.Filter),t.QueryHolder(),t.GenderSelectionHolder(),t.BedroomsAmountSelectionHolder());u.fetch(t.Filter).then(function(n){var i=1;(function(){ko.utils.arrayForEach(n.data.Items,function(n){n.FavItemInfo&&(n.FavItemInfo.IsFavorite=ko.observable(n.FavItemInfo.IsFavorite));n.Popup=p;n.UseClearMargin=i%2?!1:!0;i++})})();t.SearchResult(n.data.Items);t.Filter.PageIndex(n.data.Number);t.TotalPages(n.data.TotalPages);t.IsLastPage(n.data.IsLastPage);t.TotalItems(n.data.TotalItems);u.buildPagingString(n.data.Number,n.data.TotalPages,n.data.IsLastPage);u.map.buildMarkers(n.data.Markers);u.setResultViewSrollTop();r.PERFORM_SCROLL_TOP=!0;t.Loading(!1)})},25))};t.UiRentMin.subscribe(function(n){var i=u.buildCurrencyNumberToString(n);t.UiRentMinString(i)});t.UiRentMax.subscribe(function(n){var i=u.buildCurrencyNumberToString(n);t.UiRentMaxString(i)});r.DISABLE_FETCH=!0;var y=new frm.services.LeafletMarkerService,l=L.markerClusterGroup({maxClusterRadius:35,disableClusteringAtZoom:14}),f=L.map("map-canvas",{maxZoom:18}),w=L.mapboxGL({attribution:'<a href="https://www.maptiler.com/copyright/" target="_blank">© MapTiler<\/a> <a href="https://www.openstreetmap.org/copyright" target="_blank">© OpenStreetMap contributors<\/a>',accessToken:"not-needed",style:"https://api.maptiler.com/maps/f56a704f-eeab-4235-8a1d-812a65a3a15a/style.json?key=XHKxi50XrAmrHEiGht6R"}).addTo(f);setTimeout(function(){var i,r;n.query!==""?((n.query==="koebenhavn"||n.query==="københavn")&&(n.query="Danmark, København"),t.Query(n.query)):u.cache.hasUserCachedLocation()?(i=u.cache.getFilterFromCache(),t.Filter.Address(i.Address),t.Query(i.query.address),t.QueryHolder(i.query)):(r=n.startLocation,u.map.updateMap(f,r.coords.latitude,r.coords.longitude,7));t.IsMapVisible(!1)},25);f.on("load",function(){u.handleDeviceWidth();u.ensureMapSize();f.on("moveend",function(){var n=!1,i;t.IsDesktopMode()?n=!0:(t.IsMapVisible()&&!r.DISABLE_MAP_MOVED||r.QUERY_CHANGED)&&(n=!0);n&&(r.QUERY_CHANGED=!1,r.DISABLE_FETCH=!0,r.DISABLE_FILTER=!0,i=u.services.geocoderService.getCoordsFromBounds(f.getBounds()),r.PRESERVE_ADDRESS||t.Filter.Address(undefined),t.Filter.Coords(i));r.PRESERVE_ADDRESS=!1;!r.IS_FIRST_SEARCH&&n&&(r.DISABLE_FETCH=!1,r.DISABLE_FILTER=!1,e())});for(var n in t.Filter)u.buildFilterSubscription(n,t.Filter);setTimeout(function(){r.DISABLE_FETCH=!0;v();setTimeout(function(){r.DISABLE_FETCH=!1;r.IS_FIRST_SEARCH=!1;o();t.FilterChanged(!1);r.INIT_LOAD_RUNNING=!1;r.DISABLE_FILTER=!1;t.IsDesktopMode()||a()},500)},25)})};n.ResidenceSearchViewModel=t}(frm.models.search,frm.services);!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t(n.L={})}(this,function(n){"use strict";function s(n){for(var i,r,t=1,u=arguments.length;t<u;t++){r=arguments[t];for(i in r)n[i]=r[i]}return n}function c(n,t){var i=Array.prototype.slice,r;return n.bind?n.bind.apply(n,i.call(arguments,1)):(r=i.call(arguments,2),function(){return n.apply(t,r.length?r.concat(i.call(arguments)):arguments)})}function o(n){return n._leaflet_id=n._leaflet_id||++rh,n._leaflet_id}function ef(n,t,i){var u,r,f,e;return e=function(){u=!1;r&&(f.apply(i,r),r=!1)},f=function(){u?r=arguments:(n.apply(i,arguments),setTimeout(e,t),u=!0)}}function hr(n,t,i){var f=t[1],r=t[0],u=f-r;return n===f&&i?n:((n-r)%u+u)%u+r}function g(){return!1}function lt(n,t){var i=Math.pow(10,void 0===t?6:t);return Math.round(n*i)/i}function of(n){return n.trim?n.trim():n.replace(/^\s+|\s+$/g,"")}function yi(n){return of(n).split(/\s+/)}function l(n,t){n.hasOwnProperty("options")||(n.options=n.options?yu(n.options):{});for(var i in t)n.options[i]=t[i];return n.options}function ts(n,t,i){var u=[],r;for(r in n)u.push(encodeURIComponent(i?r.toUpperCase():r)+"="+encodeURIComponent(n[r]));return(t&&-1!==t.indexOf("?")?"&":"?")+u.join("&")}function is(n,t){return n.replace(kc,function(n,i){var r=t[i];if(void 0===r)throw new Error("No value provided for variable "+n);return"function"==typeof r&&(r=r(t)),r})}function rs(n,t){for(var i=0;i<n.length;i++)if(n[i]===t)return i;return-1}function sf(n){return window["webkit"+n]||window["moz"+n]||window["ms"+n]}function us(n){var t=+new Date,i=Math.max(0,16-(t-uh));return uh=t+i,window.setTimeout(n,i)}function d(n,t,i){if(!i||fe!==us)return fe.call(window,c(n,t));n.call(t)}function nt(n){n&&fh.call(window,n)}function kt(){}function fc(n){if("undefined"!=typeof L&&L&&L.Mixin){n=pt(n)?n:[n];for(var t=0;t<n.length;t++)n[t]===L.Mixin.Events&&console.warn("Deprecated include of L.Mixin.Events: this property will be removed in future releases, please inherit from L.Evented instead.",(new Error).stack)}}function t(n,t,i){this.x=i?Math.round(n):n;this.y=i?Math.round(t):t}function u(n,i,r){return n instanceof t?n:pt(n)?new t(n[0],n[1]):void 0===n||null===n?n:"object"==typeof n&&"x"in n&&"y"in n?new t(n.x,n.y):new t(n,i,r)}function v(n,t){if(n)for(var r=t?[n,t]:n,i=0,u=r.length;i<u;i++)this.extend(r[i])}function at(n,t){return!n||n instanceof v?n:new v(n,t)}function tt(n,t){if(n)for(var r=t?[n,t]:n,i=0,u=r.length;i<u;i++)this.extend(r[i])}function k(n,t){return n instanceof tt?n:new tt(n,t)}function h(n,t,i){if(isNaN(n)||isNaN(t))throw new Error("Invalid LatLng object: ("+n+", "+t+")");this.lat=+n;this.lng=+t;void 0!==i&&(this.alt=+i)}function y(n,t,i){return n instanceof h?n:pt(n)&&"object"!=typeof n[0]?3===n.length?new h(n[0],n[1],n[2]):2===n.length?new h(n[0],n[1]):null:void 0===n||null===n?n:"object"==typeof n&&"lat"in n?new h(n.lat,"lng"in n?n.lng:n.lon,n.alt):void 0===t?null:new h(n,t,i)}function hf(n,t,i,r){if(pt(n))return this._a=n[0],this._b=n[1],this._c=n[2],void(this._d=n[3]);this._a=n;this._b=t;this._c=i;this._d=r}function cr(n,t,i,r){return new hf(n,t,i,r)}function fs(n){return document.createElementNS("http://www.w3.org/2000/svg",n)}function es(n,t){for(var i,o,s,u,f="",r=0,e=n.length;r<e;r++){for(i=0,o=(s=n[r]).length;i<o;i++)u=s[i],f+=(i?"L":"M")+u.x+" "+u.y;f+=t?bu?"z":"x":""}return f||"M0 0"}function vt(n){return navigator.userAgent.toLowerCase().indexOf(n)>=0}function ec(n,t,i,r){return"touchstart"===t?sc(n,i,r):"touchmove"===t?lc(n,i,r):"touchend"===t&&ac(n,i,r),this}function oc(n,t,i){var r=n["_leaflet_"+t+i];return"touchstart"===t?n.removeEventListener(we,r,!1):"touchmove"===t?n.removeEventListener(be,r,!1):"touchend"===t&&(n.removeEventListener(ke,r,!1),n.removeEventListener(de,r,!1)),this}function sc(n,t,i){var r=c(function(n){if("mouse"!==n.pointerType&&n.MSPOINTER_TYPE_MOUSE&&n.pointerType!==n.MSPOINTER_TYPE_MOUSE){if(!(fl.indexOf(n.target.tagName)<0))return;ft(n)}cf(n,t)});n["_leaflet_touchstart"+i]=r;n.addEventListener(we,r,!1);yh||(document.documentElement.addEventListener(we,hc,!0),document.documentElement.addEventListener(be,cc,!0),document.documentElement.addEventListener(ke,os,!0),document.documentElement.addEventListener(de,os,!0),yh=!0)}function hc(n){tr[n.pointerId]=n;ge++}function cc(n){tr[n.pointerId]&&(tr[n.pointerId]=n)}function os(n){delete tr[n.pointerId];ge--}function cf(n,t){n.touches=[];for(var i in tr)n.touches.push(tr[i]);n.changedTouches=[n];t(n)}function lc(n,t,i){var r=function(n){(n.pointerType!==n.MSPOINTER_TYPE_MOUSE&&"mouse"!==n.pointerType||0!==n.buttons)&&cf(n,t)};n["_leaflet_touchmove"+i]=r;n.addEventListener(be,r,!1)}function ac(n,t,i){var r=function(n){cf(n,t)};n["_leaflet_touchend"+i]=r;n.addEventListener(ke,r,!1);n.addEventListener(de,r,!1)}function ss(n,t,i){function f(n){var i,t,f;if(ot){if(!wr||"mouse"===n.pointerType)return;i=ge}else i=n.touches.length;i>1||(t=Date.now(),f=t-(u||t),r=n.touches?n.touches[0]:n,o=f>0&&f<=s,u=t)}function e(n){if(o&&!r.cancelBubble){if(ot){if(!wr||"mouse"===n.pointerType)return;var i,f,e={};for(f in r)i=r[f],e[f]=i&&i.bind?i.bind(r):i;r=e}r.type="dblclick";t(r);u=null}}var u,r,o=!1,s=250;return n[ir+du+i]=f,n[ir+gu+i]=e,n[ir+"dblclick"+i]=t,n.addEventListener(du,f,!1),n.addEventListener(gu,e,!1),n.addEventListener("dblclick",t,!1),this}function hs(n,t){var i=n[ir+du+t],r=n[ir+gu+t],u=n[ir+"dblclick"+t];return n.removeEventListener(du,i,!1),n.removeEventListener(gu,r,!1),wr||n.removeEventListener("dblclick",u,!1),this}function cs(n){return"string"==typeof n?document.getElementById(n):n}function lr(n,t){var i=n.style[t]||n.currentStyle&&n.currentStyle[t],r;return(!i||"auto"===i)&&document.defaultView&&(r=document.defaultView.getComputedStyle(n,null),i=r?r[t]:null),"auto"===i?null:i}function e(n,t,i){var r=document.createElement(n);return r.className=t||"",i&&i.appendChild(r),r}function a(n){var t=n.parentNode;t&&t.removeChild(n)}function lf(n){for(;n.firstChild;)n.removeChild(n.firstChild)}function pi(n){var t=n.parentNode;t.lastChild!==n&&t.appendChild(n)}function wi(n){var t=n.parentNode;t.firstChild!==n&&t.insertBefore(n,t.firstChild)}function af(n,t){if(void 0!==n.classList)return n.classList.contains(t);var i=fu(n);return i.length>0&&new RegExp("(^|\\s)"+t+"(\\s|$)").test(i)}function i(n,t){var r;if(void 0!==n.classList)for(var u=yi(t),i=0,f=u.length;i<f;i++)n.classList.add(u[i]);else af(n,t)||(r=fu(n),vf(n,(r?r+" ":"")+t))}function p(n,t){void 0!==n.classList?n.classList.remove(t):vf(n,of((" "+fu(n)+" ").replace(" "+t+" "," ")))}function vf(n,t){void 0===n.className.baseVal?n.className=t:n.className.baseVal=t}function fu(n){return void 0===n.className.baseVal?n.className:n.className.baseVal}function ut(n,t){"opacity"in n.style?n.style.opacity=t:"filter"in n.style&&vc(n,t)}function vc(n,t){var i=!1,r="DXImageTransform.Microsoft.Alpha";try{i=n.filters.item(r)}catch(n){if(1===t)return}t=Math.round(100*t);i?(i.Enabled=100!==t,i.Opacity=t):n.style.filter+=" progid:"+r+"(opacity="+t+")"}function eu(n){for(var i=document.documentElement.style,t=0;t<n.length;t++)if(n[t]in i)return n[t];return!1}function si(n,i,r){var u=i||new t(0,0);n.style[no]=(ye?"translate("+u.x+"px,"+u.y+"px)":"translate3d("+u.x+"px,"+u.y+"px,0)")+(r?" scale("+r+")":"")}function b(n,t){n._leaflet_pos=t;et?si(n,t):(n.style.left=t.x+"px",n.style.top=t.y+"px")}function ri(n){return n._leaflet_pos||new t(0,0)}function yf(){r(window,"dragstart",ft)}function pf(){w(window,"dragstart",ft)}function wf(n){for(;-1===n.tabIndex;)n=n.parentNode;n.style&&(ou(),nf=n,to=n.style.outline,n.style.outline="none",r(window,"keydown",ou))}function ou(){nf&&(nf.style.outline=to,nf=void 0,to=void 0,w(window,"keydown",ou))}function ls(n){do n=n.parentNode;while(!(n.offsetWidth&&n.offsetHeight||n===document.body));return n}function bf(n){var t=n.getBoundingClientRect();return{x:t.width/n.offsetWidth||1,y:t.height/n.offsetHeight||1,boundingClientRect:t}}function r(n,t,i,r){var f,u,e;if("object"==typeof t)for(f in t)su(n,f,t[f],i);else for(u=0,e=(t=yi(t)).length;u<e;u++)su(n,t[u],i,r);return this}function w(n,t,i,r){var f,u,o,e;if("object"==typeof t)for(f in t)kf(n,f,t[f],i);else if(t)for(u=0,o=(t=yi(t)).length;u<o;u++)kf(n,t[u],i,r);else{for(e in n[st])kf(n,e,n[st][e]);delete n[st]}return this}function su(n,t,i,r){var f=t+o(i)+(r?"_"+o(r):""),u,e;if(n[st]&&n[st][f])return this;u=function(t){return i.call(r||n,t||window.event)};e=u;ot&&0===t.indexOf("touch")?ec(n,t,u,f):!wt||"dblclick"!==t||!ss||ot&&kr?"addEventListener"in n?"mousewheel"===t?n.addEventListener("onwheel"in n?"wheel":"mousewheel",u,!1):"mouseenter"===t||"mouseleave"===t?(u=function(t){t=t||window.event;hu(n,t)&&e(t)},n.addEventListener("mouseenter"===t?"mouseover":"mouseout",u,!1)):("click"===t&&gi&&(u=function(n){yc(n,e)}),n.addEventListener(t,u,!1)):"attachEvent"in n&&n.attachEvent("on"+t,u):ss(n,u,f);n[st]=n[st]||{};n[st][f]=u}function kf(n,t,i,r){var u=t+o(i)+(r?"_"+o(r):""),f=n[st]&&n[st][u];if(!f)return this;ot&&0===t.indexOf("touch")?oc(n,t,u):!wt||"dblclick"!==t||!hs||ot&&kr?"removeEventListener"in n?"mousewheel"===t?n.removeEventListener("onwheel"in n?"wheel":"mousewheel",f,!1):n.removeEventListener("mouseenter"===t?"mouseover":"mouseleave"===t?"mouseout":t,f,!1):"detachEvent"in n&&n.detachEvent("on"+t,f):hs(n,u);n[st][u]=null}function hi(n){return n.stopPropagation?n.stopPropagation():n.originalEvent?n.originalEvent._stopped=!0:n.cancelBubble=!0,ne(n),this}function df(n){return su(n,"mousewheel",hi),this}function ar(n){return r(n,"mousedown touchstart dblclick",hi),su(n,"click",gf),this}function ft(n){return n.preventDefault?n.preventDefault():n.returnValue=!1,this}function yt(n){return ft(n),hi(n),this}function as(n,i){if(!i)return new t(n.clientX,n.clientY);var r=bf(i),u=r.boundingClientRect;return new t((n.clientX-u.left)/r.x-i.clientLeft,(n.clientY-u.top)/r.y-i.clientTop)}function vs(n){return wr?n.wheelDeltaY/2:n.deltaY&&0===n.deltaMode?-n.deltaY/ol:n.deltaY&&1===n.deltaMode?20*-n.deltaY:n.deltaY&&2===n.deltaMode?60*-n.deltaY:n.deltaX||n.deltaZ?0:n.wheelDelta?(n.wheelDeltaY||n.wheelDelta)/2:n.detail&&Math.abs(n.detail)<32765?20*-n.detail:n.detail?n.detail/-32765*60:0}function gf(n){ro[n.type]=!0}function ne(n){var t=ro[n.type];return ro[n.type]=!1,t}function hu(n,t){var i=t.relatedTarget;if(!i)return!0;try{for(;i&&i!==n;)i=i.parentNode}catch(n){return!1}return i!==n}function yc(n,t){var r=n.timeStamp||n.originalEvent&&n.originalEvent.timeStamp,i=io&&r-io;i&&i>100&&i<500||n.target._simulatedClick&&!n._simulated?yt(n):(io=r,t(n))}function ys(n,t){if(!t||!n.length)return n.slice();var i=t*t;return n=wc(n,i),n=pc(n,i)}function ps(n,t,i){return Math.sqrt(vr(n,t,i,!0))}function pc(n,t){var r=n.length,u=new(typeof Uint8Array!=void 0+""?Uint8Array:Array)(r),i,f;for(u[0]=u[r-1]=1,te(n,u,t,0,r-1),f=[],i=0;i<r;i++)u[i]&&f.push(n[i]);return f}function te(n,t,i,r,u){for(var e,s,o=0,f=r+1;f<=u-1;f++)(s=vr(n[f],n[r],n[u],!0))>o&&(e=f,o=s);o>i&&(t[e]=1,te(n,t,i,r,e),te(n,t,i,e,u))}function wc(n,t){for(var r=[n[0]],i=1,u=0,f=n.length;i<f;i++)bc(n[i],n[u])>t&&(r.push(n[i]),u=i);return u<f-1&&r.push(n[f-1]),r}function ws(n,t,i,r,u){var h,o,s,f=r?bh:ci(n,i),e=ci(t,i);for(bh=e;;){if(!(f|e))return[n,t];if(f&e)return!1;s=ci(o=cu(n,t,h=f||e,i,u),i);h===f?(n=o,f=s):(t=o,e=s)}}function cu(n,i,r,u,f){var e,o,s=i.x-n.x,h=i.y-n.y,c=u.min,l=u.max;return 8&r?(e=n.x+s*(l.y-n.y)/h,o=l.y):4&r?(e=n.x+s*(c.y-n.y)/h,o=c.y):2&r?(e=l.x,o=n.y+h*(l.x-n.x)/s):1&r&&(e=c.x,o=n.y+h*(c.x-n.x)/s),new t(e,o,f)}function ci(n,t){var i=0;return n.x<t.min.x?i|=1:n.x>t.max.x&&(i|=2),n.y<t.min.y?i|=4:n.y>t.max.y&&(i|=8),i}function bc(n,t){var i=t.x-n.x,r=t.y-n.y;return i*i+r*r}function vr(n,i,r,u){var h,o=i.x,s=i.y,f=r.x-o,e=r.y-s,c=f*f+e*e;return c>0&&((h=((n.x-o)*f+(n.y-s)*e)/c)>1?(o=r.x,s=r.y):h>0&&(o+=f*h,s+=e*h)),f=n.x-o,e=n.y-s,u?f*f+e*e:new t(o,s)}function dt(n){return!pt(n[0])||"object"!=typeof n[0][0]&&void 0!==n[0][0]}function bs(n){return console.warn("Deprecated use of _flat, please use L.LineUtil.isFlat instead."),dt(n)}function ks(n,t,i){for(var e,l,h,o,s,u,f,a=[1,4,2,8],r=0,c=n.length;r<c;r++)n[r]._code=ci(n[r],t);for(h=0;h<4;h++){for(u=a[h],e=[],r=0,l=(c=n.length)-1;r<c;l=r++)o=n[r],s=n[l],o._code&u?s._code&u||((f=cu(s,o,u,t,i))._code=ci(f,t),e.push(f)):(s._code&u&&((f=cu(s,o,u,t,i))._code=ci(f,t),e.push(f)),e.push(o));n=e}return n}function ie(n,t){var u,e,i,o,r="Feature"===n.type?n.geometry:n,f=r?r.coordinates:null,s=[],h=t&&t.pointToLayer,c=t&&t.coordsToLatLng||re,l;if(!f&&!r)return null;switch(r.type){case"Point":return u=c(f),h?h(n,u):new tu(u);case"MultiPoint":for(i=0,o=f.length;i<o;i++)u=c(f[i]),s.push(h?h(n,u):new tu(u));return new ai(s);case"LineString":case"MultiLineString":return e=lu(f,"LineString"===r.type?0:1,c),new ni(e,t);case"Polygon":case"MultiPolygon":return e=lu(f,"Polygon"===r.type?1:2,c),new er(e,t);case"GeometryCollection":for(i=0,o=r.geometries.length;i<o;i++)l=ie({geometry:r.geometries[i],type:"Feature",properties:n.properties},t),l&&s.push(l);return new ai(s);default:throw new Error("Invalid GeoJSON object.");}}function re(n){return new h(n[1],n[0],n[2])}function lu(n,t,i){for(var u,f=[],r=0,e=n.length;r<e;r++)u=t?lu(n[r],t-1,i):(i||re)(n[r]),f.push(u);return f}function ue(n,t){return t="number"==typeof t?t:6,void 0!==n.alt?[lt(n.lng,t),lt(n.lat,t),lt(n.alt,t)]:[lt(n.lng,t),lt(n.lat,t)]}function au(n,t,i,r){for(var u=[],f=0,e=n.length;f<e;f++)u.push(t?au(n[f],t-1,i,r):ue(n[f],r));return!t&&i&&u.push(u[0]),u}function bi(n,t){return n.feature?s({},n.feature,{geometry:t}):vu(t)}function vu(n){return"Feature"===n.type||"FeatureCollection"===n.type?n:{type:"Feature",properties:{},geometry:n}}function ds(n,t){return new ti(n,t)}function gs(n,t){return new sr(n,t)}function nh(n){return vh?new rc(n):null}function th(n){return bu||ku?new uu(n):null}var ih=Object.freeze,it,ki,ee,rr,uo,tf,fo,rf,ct,rt,vi,ao,vo,yo,po,wo,bo,ko,go,ns,uc;Object.freeze=function(n){return n};var yu=Object.create||function(){function n(){}return function(t){return n.prototype=t,new n}}(),rh=0,kc=/\{ *([\w_-]+) *\}/g,pt=Array.isArray||function(n){return"[object Array]"===Object.prototype.toString.call(n)},pu="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=",uh=0,fe=window.requestAnimationFrame||sf("RequestAnimationFrame")||us,fh=window.cancelAnimationFrame||sf("CancelAnimationFrame")||sf("CancelRequestAnimationFrame")||function(n){window.clearTimeout(n)},dc=(Object.freeze||Object)({freeze:ih,extend:s,create:yu,bind:c,lastId:rh,stamp:o,throttle:ef,wrapNum:hr,falseFn:g,formatNum:lt,trim:of,splitWords:yi,setOptions:l,getParamString:ts,template:is,isArray:pt,indexOf:rs,emptyImageUrl:pu,requestFn:fe,cancelFn:fh,requestAnimFrame:d,cancelAnimFrame:nt});kt.extend=function(n){var i=function(){this.initialize&&this.initialize.apply(this,arguments);this.callInitHooks()},u=i.__super__=this.prototype,t=yu(u),r;t.constructor=i;i.prototype=t;for(r in this)this.hasOwnProperty(r)&&"prototype"!==r&&"__super__"!==r&&(i[r]=this[r]);return n.statics&&(s(i,n.statics),delete n.statics),n.includes&&(fc(n.includes),s.apply(null,[t].concat(n.includes)),delete n.includes),t.options&&(n.options=s(yu(t.options),n.options)),s(t,n),t._initHooks=[],t.callInitHooks=function(){if(!this._initHooksCalled){u.callInitHooks&&u.callInitHooks.call(this);this._initHooksCalled=!0;for(var n=0,i=t._initHooks.length;n<i;n++)t._initHooks[n].call(this)}},i};kt.include=function(n){return s(this.prototype,n),this};kt.mergeOptions=function(n){return s(this.prototype.options,n),this};kt.addInitHook=function(n){var t=Array.prototype.slice.call(arguments,1),i="function"==typeof n?n:function(){this[n].apply(this,t)};return this.prototype._initHooks=this.prototype._initHooks||[],this.prototype._initHooks.push(i),this};it={on:function(n,t,i){var u,r,f;if("object"==typeof n)for(u in n)this._on(u,n[u],t);else for(r=0,f=(n=yi(n)).length;r<f;r++)this._on(n[r],t,i);return this},off:function(n,t,i){var u,r,f;if(n)if("object"==typeof n)for(u in n)this._off(u,n[u],t);else for(r=0,f=(n=yi(n)).length;r<f;r++)this._off(n[r],t,i);else delete this._events;return this},_on:function(n,t,i){var r;this._events=this._events||{};r=this._events[n];r||(r=[],this._events[n]=r);i===this&&(i=void 0);for(var e={fn:t,ctx:i},u=r,f=0,o=u.length;f<o;f++)if(u[f].fn===t&&u[f].ctx===i)return;u.push(e)},_off:function(n,t,i){var r,u,f,e;if(this._events&&(r=this._events[n]))if(t){if(i===this&&(i=void 0),r)for(u=0,f=r.length;u<f;u++)if(e=r[u],e.ctx===i&&e.fn===t)return e.fn=g,this._firingCount&&(this._events[n]=r=r.slice()),void r.splice(u,1)}else{for(u=0,f=r.length;u<f;u++)r[u].fn=g;delete this._events[n]}},fire:function(n,t,i){var f,r,u,o,e;if(!this.listens(n,i))return this;if(f=s({},t,{type:n,target:this,sourceTarget:t&&t.sourceTarget||this}),this._events&&(r=this._events[n],r)){for(this._firingCount=this._firingCount+1||1,u=0,o=r.length;u<o;u++)e=r[u],e.fn.call(e.ctx||this,f);this._firingCount--}return i&&this._propagateEvent(f),this},listens:function(n,t){var i=this._events&&this._events[n],r;if(i&&i.length)return!0;if(t)for(r in this._eventParents)if(this._eventParents[r].listens(n,t))return!0;return!1},once:function(n,t,i){var r,u;if("object"==typeof n){for(r in n)this.once(r,n[r],t);return this}u=c(function(){this.off(n,t,i).off(n,u,i)},this);return this.on(n,t,i).on(n,u,i)},addEventParent:function(n){return this._eventParents=this._eventParents||{},this._eventParents[o(n)]=n,this},removeEventParent:function(n){return this._eventParents&&delete this._eventParents[o(n)],this},_propagateEvent:function(n){for(var t in this._eventParents)this._eventParents[t].fire(n.type,s({layer:n.target,propagatedFrom:n.target},n),!0)}};it.addEventListener=it.on;it.removeEventListener=it.clearAllEventListeners=it.off;it.addOneTimeEventListener=it.once;it.fireEvent=it.fire;it.hasEventListeners=it.listens;ki=kt.extend(it);ee=Math.trunc||function(n){return n>0?Math.floor(n):Math.ceil(n)};t.prototype={clone:function(){return new t(this.x,this.y)},add:function(n){return this.clone()._add(u(n))},_add:function(n){return this.x+=n.x,this.y+=n.y,this},subtract:function(n){return this.clone()._subtract(u(n))},_subtract:function(n){return this.x-=n.x,this.y-=n.y,this},divideBy:function(n){return this.clone()._divideBy(n)},_divideBy:function(n){return this.x/=n,this.y/=n,this},multiplyBy:function(n){return this.clone()._multiplyBy(n)},_multiplyBy:function(n){return this.x*=n,this.y*=n,this},scaleBy:function(n){return new t(this.x*n.x,this.y*n.y)},unscaleBy:function(n){return new t(this.x/n.x,this.y/n.y)},round:function(){return this.clone()._round()},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},floor:function(){return this.clone()._floor()},_floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this},ceil:function(){return this.clone()._ceil()},_ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this},trunc:function(){return this.clone()._trunc()},_trunc:function(){return this.x=ee(this.x),this.y=ee(this.y),this},distanceTo:function(n){var t=(n=u(n)).x-this.x,i=n.y-this.y;return Math.sqrt(t*t+i*i)},equals:function(n){return(n=u(n)).x===this.x&&n.y===this.y},contains:function(n){return n=u(n),Math.abs(n.x)<=Math.abs(this.x)&&Math.abs(n.y)<=Math.abs(this.y)},toString:function(){return"Point("+lt(this.x)+", "+lt(this.y)+")"}};v.prototype={extend:function(n){return n=u(n),this.min||this.max?(this.min.x=Math.min(n.x,this.min.x),this.max.x=Math.max(n.x,this.max.x),this.min.y=Math.min(n.y,this.min.y),this.max.y=Math.max(n.y,this.max.y)):(this.min=n.clone(),this.max=n.clone()),this},getCenter:function(n){return new t((this.min.x+this.max.x)/2,(this.min.y+this.max.y)/2,n)},getBottomLeft:function(){return new t(this.min.x,this.max.y)},getTopRight:function(){return new t(this.max.x,this.min.y)},getTopLeft:function(){return this.min},getBottomRight:function(){return this.max},getSize:function(){return this.max.subtract(this.min)},contains:function(n){var i,r;return(n="number"==typeof n[0]||n instanceof t?u(n):at(n))instanceof v?(i=n.min,r=n.max):i=r=n,i.x>=this.min.x&&r.x<=this.max.x&&i.y>=this.min.y&&r.y<=this.max.y},intersects:function(n){n=at(n);var t=this.min,i=this.max,r=n.min,u=n.max,f=u.x>=t.x&&r.x<=i.x,e=u.y>=t.y&&r.y<=i.y;return f&&e},overlaps:function(n){n=at(n);var t=this.min,i=this.max,r=n.min,u=n.max,f=u.x>t.x&&r.x<i.x,e=u.y>t.y&&r.y<i.y;return f&&e},isValid:function(){return!(!this.min||!this.max)}};tt.prototype={extend:function(n){var t,i,r=this._southWest,u=this._northEast;if(n instanceof h)t=n,i=n;else{if(!(n instanceof tt))return n?this.extend(y(n)||k(n)):this;if(t=n._southWest,i=n._northEast,!t||!i)return this}return r||u?(r.lat=Math.min(t.lat,r.lat),r.lng=Math.min(t.lng,r.lng),u.lat=Math.max(i.lat,u.lat),u.lng=Math.max(i.lng,u.lng)):(this._southWest=new h(t.lat,t.lng),this._northEast=new h(i.lat,i.lng)),this},pad:function(n){var t=this._southWest,i=this._northEast,r=Math.abs(t.lat-i.lat)*n,u=Math.abs(t.lng-i.lng)*n;return new tt(new h(t.lat-r,t.lng-u),new h(i.lat+r,i.lng+u))},getCenter:function(){return new h((this._southWest.lat+this._northEast.lat)/2,(this._southWest.lng+this._northEast.lng)/2)},getSouthWest:function(){return this._southWest},getNorthEast:function(){return this._northEast},getNorthWest:function(){return new h(this.getNorth(),this.getWest())},getSouthEast:function(){return new h(this.getSouth(),this.getEast())},getWest:function(){return this._southWest.lng},getSouth:function(){return this._southWest.lat},getEast:function(){return this._northEast.lng},getNorth:function(){return this._northEast.lat},contains:function(n){n="number"==typeof n[0]||n instanceof h||"lat"in n?y(n):k(n);var t,i,r=this._southWest,u=this._northEast;return n instanceof tt?(t=n.getSouthWest(),i=n.getNorthEast()):t=i=n,t.lat>=r.lat&&i.lat<=u.lat&&t.lng>=r.lng&&i.lng<=u.lng},intersects:function(n){n=k(n);var t=this._southWest,i=this._northEast,r=n.getSouthWest(),u=n.getNorthEast(),f=u.lat>=t.lat&&r.lat<=i.lat,e=u.lng>=t.lng&&r.lng<=i.lng;return f&&e},overlaps:function(n){n=k(n);var t=this._southWest,i=this._northEast,r=n.getSouthWest(),u=n.getNorthEast(),f=u.lat>t.lat&&r.lat<i.lat,e=u.lng>t.lng&&r.lng<i.lng;return f&&e},toBBoxString:function(){return[this.getWest(),this.getSouth(),this.getEast(),this.getNorth()].join(",")},equals:function(n,t){return!!n&&(n=k(n),this._southWest.equals(n.getSouthWest(),t)&&this._northEast.equals(n.getNorthEast(),t))},isValid:function(){return!(!this._southWest||!this._northEast)}};h.prototype={equals:function(n,t){return!!n&&(n=y(n),Math.max(Math.abs(this.lat-n.lat),Math.abs(this.lng-n.lng))<=(void 0===t?1e-9:t))},toString:function(n){return"LatLng("+lt(this.lat,n)+", "+lt(this.lng,n)+")"},distanceTo:function(n){return ui.distance(this,y(n))},wrap:function(){return ui.wrapLatLng(this)},toBounds:function(n){var t=180*n/40075017,i=t/Math.cos(Math.PI/180*this.lat);return k([this.lat-t,this.lng-i],[this.lat+t,this.lng+i])},clone:function(){return new h(this.lat,this.lng,this.alt)}};var gt={latLngToPoint:function(n,t){var i=this.projection.project(n),r=this.scale(t);return this.transformation._transform(i,r)},pointToLatLng:function(n,t){var i=this.scale(t),r=this.transformation.untransform(n,i);return this.projection.unproject(r)},project:function(n){return this.projection.project(n)},unproject:function(n){return this.projection.unproject(n)},scale:function(n){return 256*Math.pow(2,n)},zoom:function(n){return Math.log(n/256)/Math.LN2},getProjectedBounds:function(n){if(this.infinite)return null;var t=this.projection.bounds,i=this.scale(n);return new v(this.transformation.transform(t.min,i),this.transformation.transform(t.max,i))},infinite:!1,wrapLatLng:function(n){var t=this.wrapLng?hr(n.lng,this.wrapLng,!0):n.lng;return new h(this.wrapLat?hr(n.lat,this.wrapLat,!0):n.lat,t,n.alt)},wrapLatLngBounds:function(n){var t=n.getCenter(),e=this.wrapLatLng(t),i=t.lat-e.lat,r=t.lng-e.lng,u,f;return 0===i&&0===r?n:(u=n.getSouthWest(),f=n.getNorthEast(),new tt(new h(u.lat-i,u.lng-r),new h(f.lat-i,f.lng-r)))}},ui=s({},gt,{wrapLng:[-180,180],R:6371e3,distance:function(n,t){var i=Math.PI/180,e=n.lat*i,o=t.lat*i,r=Math.sin((t.lat-n.lat)*i/2),u=Math.sin((t.lng-n.lng)*i/2),f=r*r+Math.cos(e)*Math.cos(o)*u*u,s=2*Math.atan2(Math.sqrt(f),Math.sqrt(1-f));return this.R*s}}),oe={R:6378137,MAX_LATITUDE:85.0511287798,project:function(n){var i=Math.PI/180,r=this.MAX_LATITUDE,f=Math.max(Math.min(r,n.lat),-r),u=Math.sin(f*i);return new t(this.R*n.lng*i,this.R*Math.log((1+u)/(1-u))/2)},unproject:function(n){var t=180/Math.PI;return new h((2*Math.atan(Math.exp(n.y/this.R))-Math.PI/2)*t,n.x*t/this.R)},bounds:function(){var n=6378137*Math.PI;return new v([-n,-n],[n,n])}()};hf.prototype={transform:function(n,t){return this._transform(n.clone(),t)},_transform:function(n,t){return t=t||1,n.x=t*(this._a*n.x+this._b),n.y=t*(this._c*n.y+this._d),n},untransform:function(n,i){return i=i||1,new t((n.x/i-this._b)/this._a,(n.y/i-this._d)/this._c)}};var yr,pr,se,he=s({},ui,{code:"EPSG:3857",projection:oe,transformation:function(){var n=.5/(Math.PI*oe.R);return cr(n,.5,-n,.5)}()}),gc=s({},he,{code:"EPSG:900913"}),ce=document.documentElement.style,wu="ActiveXObject"in window,di=wu&&!document.addEventListener,wr="msLaunchUri"in navigator&&!("documentMode"in document),le=vt("webkit"),gi=vt("android"),br=vt("android 2")||vt("android 3"),nl=parseInt(/WebKit\/([0-9]+)|$/.exec(navigator.userAgent)[1],10),eh=gi&&vt("Google")&&nl<537&&!("AudioNode"in window),ae=!!window.opera,kr=vt("chrome"),ve=vt("gecko")&&!le&&!ae&&!wu,oh=!kr&&vt("safari"),sh=vt("phantom"),hh="OTransition"in ce,ch=0===navigator.platform.indexOf("Win"),ye=wu&&"transition"in ce,pe="WebKitCSSMatrix"in window&&"m11"in new window.WebKitCSSMatrix&&!br,lh="MozPerspective"in ce,et=!window.L_DISABLE_3D&&(ye||pe||lh)&&!hh&&!sh,nr="undefined"!=typeof orientation||vt("mobile"),tl=nr&&le,il=nr&&pe,fi=!window.PointerEvent&&window.MSPointerEvent,ot=!(!window.PointerEvent&&!fi),wt=!window.L_NO_TOUCH&&(ot||"ontouchstart"in window||window.DocumentTouch&&document instanceof window.DocumentTouch),ah=nr&&ae,rl=nr&&ve,ei=(window.devicePixelRatio||window.screen.deviceXDPI/window.screen.logicalXDPI)>1,vh=!!document.createElement("canvas").getContext,bu=!(!document.createElementNS||!fs("svg").createSVGRect),ku=!bu&&function(){var t,n;try{return t=document.createElement("div"),t.innerHTML='<v:shape adj="1"/>',n=t.firstChild,n.style.behavior="url(#default#VML)",n&&"object"==typeof n.adj}catch(t){return!1}}(),ul=(Object.freeze||Object)({ie:wu,ielt9:di,edge:wr,webkit:le,android:gi,android23:br,androidStock:eh,opera:ae,chrome:kr,gecko:ve,safari:oh,phantom:sh,opera12:hh,win:ch,ie3d:ye,webkit3d:pe,gecko3d:lh,any3d:et,mobile:nr,mobileWebkit:tl,mobileWebkit3d:il,msPointer:fi,pointer:ot,touch:wt,mobileOpera:ah,mobileGecko:rl,retina:ei,canvas:vh,svg:bu,vml:ku}),we=fi?"MSPointerDown":"pointerdown",be=fi?"MSPointerMove":"pointermove",ke=fi?"MSPointerUp":"pointerup",de=fi?"MSPointerCancel":"pointercancel",fl=["INPUT","SELECT","OPTION"],tr={},yh=!1,ge=0,du=fi?"MSPointerDown":ot?"pointerdown":"touchstart",gu=fi?"MSPointerUp":ot?"pointerup":"touchend",ir="_leaflet_",no=eu(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),dr=eu(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),ph="webkitTransition"===dr||"OTransition"===dr?dr+"End":"transitionend";"onselectstart"in document?(yr=function(){r(window,"selectstart",ft)},pr=function(){w(window,"selectstart",ft)}):(rr=eu(["userSelect","WebkitUserSelect","OUserSelect","MozUserSelect","msUserSelect"]),yr=function(){if(rr){var n=document.documentElement.style;se=n[rr];n[rr]="none"}},pr=function(){rr&&(document.documentElement.style[rr]=se,se=void 0)});var nf,to,io,el=(Object.freeze||Object)({TRANSFORM:no,TRANSITION:dr,TRANSITION_END:ph,get:cs,getStyle:lr,create:e,remove:a,empty:lf,toFront:pi,toBack:wi,hasClass:af,addClass:i,removeClass:p,setClass:vf,getClass:fu,setOpacity:ut,testProp:eu,setTransform:si,setPosition:b,getPosition:ri,disableTextSelection:yr,enableTextSelection:pr,disableImageDrag:yf,enableImageDrag:pf,preventOutline:wf,restoreOutline:ou,getSizedParentNode:ls,getScale:bf}),st="_leaflet_events",ol=ch&&kr?2*window.devicePixelRatio:ve?window.devicePixelRatio:1,ro={},sl=(Object.freeze||Object)({on:r,off:w,stopPropagation:hi,disableScrollPropagation:df,disableClickPropagation:ar,preventDefault:ft,stop:yt,getMousePosition:as,getWheelDelta:vs,fakeStop:gf,skipped:ne,isExternalTarget:hu,addListener:r,removeListener:w}),wh=ki.extend({run:function(n,t,i,r){this.stop();this._el=n;this._inProgress=!0;this._duration=i||.25;this._easeOutPower=1/Math.max(r||.5,.2);this._startPos=ri(n);this._offset=t.subtract(this._startPos);this._startTime=+new Date;this.fire("start");this._animate()},stop:function(){this._inProgress&&(this._step(!0),this._complete())},_animate:function(){this._animId=d(this._animate,this);this._step()},_step:function(n){var t=+new Date-this._startTime,i=1e3*this._duration;t<i?this._runFrame(this._easeOut(t/i),n):(this._runFrame(1),this._complete())},_runFrame:function(n,t){var i=this._startPos.add(this._offset.multiplyBy(n));t&&i._round();b(this._el,i);this.fire("step")},_complete:function(){nt(this._animId);this._inProgress=!1;this.fire("end")},_easeOut:function(n){return 1-Math.pow(1-n,this._easeOutPower)}}),f=ki.extend({options:{crs:he,center:void 0,zoom:void 0,minZoom:void 0,maxZoom:void 0,layers:[],maxBounds:void 0,renderer:void 0,zoomAnimation:!0,zoomAnimationThreshold:4,fadeAnimation:!0,markerZoomAnimation:!0,transform3DLimit:8388608,zoomSnap:1,zoomDelta:1,trackResize:!0},initialize:function(n,t){t=l(this,t);this._initContainer(n);this._initLayout();this._onResize=c(this._onResize,this);this._initEvents();t.maxBounds&&this.setMaxBounds(t.maxBounds);void 0!==t.zoom&&(this._zoom=this._limitZoom(t.zoom));t.center&&void 0!==t.zoom&&this.setView(y(t.center),t.zoom,{reset:!0});this._handlers=[];this._layers={};this._zoomBoundLayers={};this._sizeChanged=!0;this.callInitHooks();this._zoomAnimated=dr&&et&&!ah&&this.options.zoomAnimation;this._zoomAnimated&&(this._createAnimProxy(),r(this._proxy,ph,this._catchTransitionEnd,this));this._addLayers(this.options.layers)},setView:function(n,t,i){return t=void 0===t?this._zoom:this._limitZoom(t),n=this._limitCenter(y(n),t,this.options.maxBounds),i=i||{},this._stop(),this._loaded&&!i.reset&&!0!==i&&(void 0!==i.animate&&(i.zoom=s({animate:i.animate},i.zoom),i.pan=s({animate:i.animate,duration:i.duration},i.pan)),this._zoom!==t?this._tryAnimatedZoom&&this._tryAnimatedZoom(n,t,i.zoom):this._tryAnimatedPan(n,i.pan))?(clearTimeout(this._sizeTimer),this):(this._resetView(n,t),this)},setZoom:function(n,t){return this._loaded?this.setView(this.getCenter(),n,{zoom:t}):(this._zoom=n,this)},zoomIn:function(n,t){return n=n||(et?this.options.zoomDelta:1),this.setZoom(this._zoom+n,t)},zoomOut:function(n,t){return n=n||(et?this.options.zoomDelta:1),this.setZoom(this._zoom-n,t)},setZoomAround:function(n,i,r){var f=this.getZoomScale(i),u=this.getSize().divideBy(2),e=(n instanceof t?n:this.latLngToContainerPoint(n)).subtract(u).multiplyBy(1-1/f),o=this.containerPointToLatLng(u.add(e));return this.setView(o,i,{zoom:r})},_getBoundsCenterZoom:function(n,t){t=t||{};n=n.getBounds?n.getBounds():k(n);var r=u(t.paddingTopLeft||t.padding||[0,0]),f=u(t.paddingBottomRight||t.padding||[0,0]),i=this.getBoundsZoom(n,!1,r.add(f));if((i="number"==typeof t.maxZoom?Math.min(t.maxZoom,i):i)===1/0)return{center:n.getCenter(),zoom:i};var e=f.subtract(r).divideBy(2),o=this.project(n.getSouthWest(),i),s=this.project(n.getNorthEast(),i);return{center:this.unproject(o.add(s).divideBy(2).add(e),i),zoom:i}},fitBounds:function(n,t){if(!(n=k(n)).isValid())throw new Error("Bounds are not valid.");var i=this._getBoundsCenterZoom(n,t);return this.setView(i.center,i.zoom,t)},fitWorld:function(n){return this.fitBounds([[-90,-180],[90,180]],n)},panTo:function(n,t){return this.setView(n,this._zoom,{pan:t})},panBy:function(n,t){if(n=u(n).round(),t=t||{},!n.x&&!n.y)return this.fire("moveend");if(!0!==t.animate&&!this.getSize().contains(n))return this._resetView(this.unproject(this.project(this.getCenter()).add(n)),this.getZoom()),this;if(this._panAnim||(this._panAnim=new wh,this._panAnim.on({step:this._onPanTransitionStep,end:this._onPanTransitionEnd},this)),t.noMoveStart||this.fire("movestart"),!1!==t.animate){i(this._mapPane,"leaflet-pan-anim");var r=this._getMapPanePos().subtract(n).round();this._panAnim.run(this._mapPane,r,t.duration||.25,t.easeLinearity)}else this._rawPanBy(n),this.fire("move").fire("moveend");return this},flyTo:function(n,t,i){function a(n){var t=(l*l-r*r+(n?-1:1)*h*h*s*s)/(2*(n?l:r)*h*s),i=Math.sqrt(t*t+1)-t;return i<1e-9?-18:Math.log(i)}function v(n){return(Math.exp(n)-Math.exp(-n))/2}function e(n){return(Math.exp(n)+Math.exp(-n))/2}function g(n){return v(n)/e(n)}function nt(n){return r*(e(u)/e(u+f*n))}function tt(n){return r*(e(u)*g(u+f*n)-v(u))/h}function it(n){return 1-Math.pow(1-n,1.5)}function p(){var i=(Date.now()-rt)/ut,u=it(i)*k;i<=1?(this._flyToFrame=d(p,this),this._move(this.unproject(c.add(w.subtract(c).multiplyBy(tt(u)/s)),o),this.getScaleZoom(r/nt(u),o),{flyTo:!0})):this._move(n,t)._moveEnd(!0)}if(!1===(i=i||{}).animate||!et)return this.setView(n,t,i);this._stop();var c=this.project(this.getCenter()),w=this.project(n),b=this.getSize(),o=this._zoom;n=y(n);t=void 0===t?o:t;var r=Math.max(b.x,b.y),l=r*this.getZoomScale(o,t),s=w.distanceTo(c)||1,f=1.42,h=f*f,u=a(0),rt=Date.now(),k=(a(1)-u)/f,ut=i.duration?1e3*i.duration:1e3*k*.8;return this._moveStart(!0,i.noMoveStart),p.call(this),this},flyToBounds:function(n,t){var i=this._getBoundsCenterZoom(n,t);return this.flyTo(i.center,i.zoom,t)},setMaxBounds:function(n){return(n=k(n)).isValid()?(this.options.maxBounds&&this.off("moveend",this._panInsideMaxBounds),this.options.maxBounds=n,this._loaded&&this._panInsideMaxBounds(),this.on("moveend",this._panInsideMaxBounds)):(this.options.maxBounds=null,this.off("moveend",this._panInsideMaxBounds))},setMinZoom:function(n){var t=this.options.minZoom;return this.options.minZoom=n,this._loaded&&t!==n&&(this.fire("zoomlevelschange"),this.getZoom()<this.options.minZoom)?this.setZoom(n):this},setMaxZoom:function(n){var t=this.options.maxZoom;return this.options.maxZoom=n,this._loaded&&t!==n&&(this.fire("zoomlevelschange"),this.getZoom()>this.options.maxZoom)?this.setZoom(n):this},panInsideBounds:function(n,t){this._enforcingBounds=!0;var i=this.getCenter(),r=this._limitCenter(i,this._zoom,k(n));return i.equals(r)||this.panTo(r,t),this._enforcingBounds=!1,this},invalidateSize:function(n){var i;if(!this._loaded)return this;n=s({animate:!1,pan:!0},!0===n?{animate:!0}:n);i=this.getSize();this._sizeChanged=!0;this._lastCenter=null;var r=this.getSize(),u=i.divideBy(2).round(),f=r.divideBy(2).round(),t=u.subtract(f);return t.x||t.y?(n.animate&&n.pan?this.panBy(t):(n.pan&&this._rawPanBy(t),this.fire("move"),n.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(c(this.fire,this,"moveend"),200)):this.fire("moveend")),this.fire("resize",{oldSize:i,newSize:r})):this},stop:function(){return this.setZoom(this._limitZoom(this._zoom)),this.options.zoomSnap||this.fire("viewreset"),this._stop()},locate:function(n){if(n=this._locateOptions=s({timeout:1e4,watch:!1},n),!("geolocation"in navigator))return this._handleGeolocationError({code:0,message:"Geolocation not supported."}),this;var t=c(this._handleGeolocationResponse,this),i=c(this._handleGeolocationError,this);return n.watch?this._locationWatchId=navigator.geolocation.watchPosition(t,i,n):navigator.geolocation.getCurrentPosition(t,i,n),this},stopLocate:function(){return navigator.geolocation&&navigator.geolocation.clearWatch&&navigator.geolocation.clearWatch(this._locationWatchId),this._locateOptions&&(this._locateOptions.setView=!1),this},_handleGeolocationError:function(n){var t=n.code,i=n.message||(1===t?"permission denied":2===t?"position unavailable":"timeout");this._locateOptions.setView&&!this._loaded&&this.fitWorld();this.fire("locationerror",{code:t,message:"Geolocation error: "+i+"."})},_handleGeolocationResponse:function(n){var i=new h(n.coords.latitude,n.coords.longitude),e=i.toBounds(2*n.coords.accuracy),r=this._locateOptions,u,f,t;r.setView&&(u=this.getBoundsZoom(e),this.setView(i,r.maxZoom?Math.min(u,r.maxZoom):u));f={latlng:i,bounds:e,timestamp:n.timestamp};for(t in n.coords)"number"==typeof n.coords[t]&&(f[t]=n.coords[t]);this.fire("locationfound",f)},addHandler:function(n,t){if(!t)return this;var i=this[n]=new t(this);return this._handlers.push(i),this.options[n]&&i.enable(),this},remove:function(){if(this._initEvents(!0),this._containerId!==this._container._leaflet_id)throw new Error("Map container is being reused by another instance");try{delete this._container._leaflet_id;delete this._containerId}catch(n){this._container._leaflet_id=void 0;this._containerId=void 0}void 0!==this._locationWatchId&&this.stopLocate();this._stop();a(this._mapPane);this._clearControlPos&&this._clearControlPos();this._resizeRequest&&(nt(this._resizeRequest),this._resizeRequest=null);this._clearHandlers();this._loaded&&this.fire("unload");var n;for(n in this._layers)this._layers[n].remove();for(n in this._panes)a(this._panes[n]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(n,t){var i=e("div","leaflet-pane"+(n?" leaflet-"+n.replace("Pane","")+"-pane":""),t||this._mapPane);return n&&(this._panes[n]=i),i},getCenter:function(){return this._checkIfLoaded(),this._lastCenter&&!this._moved()?this._lastCenter:this.layerPointToLatLng(this._getCenterLayerPoint())},getZoom:function(){return this._zoom},getBounds:function(){var n=this.getPixelBounds();return new tt(this.unproject(n.getBottomLeft()),this.unproject(n.getTopRight()))},getMinZoom:function(){return void 0===this.options.minZoom?this._layersMinZoom||0:this.options.minZoom},getMaxZoom:function(){return void 0===this.options.maxZoom?void 0===this._layersMaxZoom?1/0:this._layersMaxZoom:this.options.maxZoom},getBoundsZoom:function(n,t,i){n=k(n);i=u(i||[0,0]);var r=this.getZoom()||0,c=this.getMinZoom(),l=this.getMaxZoom(),a=n.getNorthWest(),v=n.getSouthEast(),e=this.getSize().subtract(i),o=at(this.project(v,r),this.project(a,r)).getSize(),f=et?this.options.zoomSnap:1,s=e.x/o.x,h=e.y/o.y,y=t?Math.max(s,h):Math.min(s,h);return r=this.getScaleZoom(y,r),f&&(r=Math.round(r/(f/100))*(f/100),r=t?Math.ceil(r/f)*f:Math.floor(r/f)*f),Math.max(c,Math.min(l,r))},getSize:function(){return this._size&&!this._sizeChanged||(this._size=new t(this._container.clientWidth||0,this._container.clientHeight||0),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(n,t){var i=this._getTopLeftPoint(n,t);return new v(i,i.add(this.getSize()))},getPixelOrigin:function(){return this._checkIfLoaded(),this._pixelOrigin},getPixelWorldBounds:function(n){return this.options.crs.getProjectedBounds(void 0===n?this.getZoom():n)},getPane:function(n){return"string"==typeof n?this._panes[n]:n},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(n,t){var i=this.options.crs;return t=void 0===t?this._zoom:t,i.scale(n)/i.scale(t)},getScaleZoom:function(n,t){var r=this.options.crs,i;return t=void 0===t?this._zoom:t,i=r.zoom(n*r.scale(t)),isNaN(i)?1/0:i},project:function(n,t){return t=void 0===t?this._zoom:t,this.options.crs.latLngToPoint(y(n),t)},unproject:function(n,t){return t=void 0===t?this._zoom:t,this.options.crs.pointToLatLng(u(n),t)},layerPointToLatLng:function(n){var t=u(n).add(this.getPixelOrigin());return this.unproject(t)},latLngToLayerPoint:function(n){return this.project(y(n))._round()._subtract(this.getPixelOrigin())},wrapLatLng:function(n){return this.options.crs.wrapLatLng(y(n))},wrapLatLngBounds:function(n){return this.options.crs.wrapLatLngBounds(k(n))},distance:function(n,t){return this.options.crs.distance(y(n),y(t))},containerPointToLayerPoint:function(n){return u(n).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(n){return u(n).add(this._getMapPanePos())},containerPointToLatLng:function(n){var t=this.containerPointToLayerPoint(u(n));return this.layerPointToLatLng(t)},latLngToContainerPoint:function(n){return this.layerPointToContainerPoint(this.latLngToLayerPoint(y(n)))},mouseEventToContainerPoint:function(n){return as(n,this._container)},mouseEventToLayerPoint:function(n){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(n))},mouseEventToLatLng:function(n){return this.layerPointToLatLng(this.mouseEventToLayerPoint(n))},_initContainer:function(n){var t=this._container=cs(n);if(!t)throw new Error("Map container not found.");if(t._leaflet_id)throw new Error("Map container is already initialized.");r(t,"scroll",this._onScroll,this);this._containerId=o(t)},_initLayout:function(){var t=this._container,n;this._fadeAnimated=this.options.fadeAnimation&&et;i(t,"leaflet-container"+(wt?" leaflet-touch":"")+(ei?" leaflet-retina":"")+(di?" leaflet-oldie":"")+(oh?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":""));n=lr(t,"position");"absolute"!==n&&"relative"!==n&&"fixed"!==n&&(t.style.position="relative");this._initPanes();this._initControlPos&&this._initControlPos()},_initPanes:function(){var n=this._panes={};this._paneRenderers={};this._mapPane=this.createPane("mapPane",this._container);b(this._mapPane,new t(0,0));this.createPane("tilePane");this.createPane("shadowPane");this.createPane("overlayPane");this.createPane("markerPane");this.createPane("tooltipPane");this.createPane("popupPane");this.options.markerZoomAnimation||(i(n.markerPane,"leaflet-zoom-hide"),i(n.shadowPane,"leaflet-zoom-hide"))},_resetView:function(n,i){var u,r;b(this._mapPane,new t(0,0));u=!this._loaded;this._loaded=!0;i=this._limitZoom(i);this.fire("viewprereset");r=this._zoom!==i;this._moveStart(r,!1)._move(n,i)._moveEnd(r);this.fire("viewreset");u&&this.fire("load")},_moveStart:function(n,t){return n&&this.fire("zoomstart"),t||this.fire("movestart"),this},_move:function(n,t,i){void 0===t&&(t=this._zoom);var r=this._zoom!==t;return this._zoom=t,this._lastCenter=n,this._pixelOrigin=this._getNewPixelOrigin(n),(r||i&&i.pinch)&&this.fire("zoom",i),this.fire("move",i)},_moveEnd:function(n){return n&&this.fire("zoomend"),this.fire("moveend")},_stop:function(){return nt(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(n){b(this._mapPane,this._getMapPanePos().subtract(n))},_getZoomSpan:function(){return this.getMaxZoom()-this.getMinZoom()},_panInsideMaxBounds:function(){this._enforcingBounds||this.panInsideBounds(this.options.maxBounds)},_checkIfLoaded:function(){if(!this._loaded)throw new Error("Set map center and zoom first.");},_initEvents:function(n){this._targets={};this._targets[o(this._container)]=this;var t=n?w:r;t(this._container,"click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress",this._handleDOMEvent,this);this.options.trackResize&&t(window,"resize",this._onResize,this);et&&this.options.transform3DLimit&&(n?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){nt(this._resizeRequest);this._resizeRequest=d(function(){this.invalidateSize({debounceMoveend:!0})},this)},_onScroll:function(){this._container.scrollTop=0;this._container.scrollLeft=0},_onMoveEnd:function(){var n=this._getMapPanePos();Math.max(Math.abs(n.x),Math.abs(n.y))>=this.options.transform3DLimit&&this._resetView(this.getCenter(),this.getZoom())},_findEventTargets:function(n,t){for(var r,u=[],f="mouseout"===t||"mouseover"===t,i=n.target||n.srcElement,e=!1;i;){if((r=this._targets[o(i)])&&("click"===t||"preclick"===t)&&!n._simulated&&this._draggableMoved(r)){e=!0;break}if(r&&r.listens(t,!0)){if(f&&!hu(i,n))break;if(u.push(r),f)break}if(i===this._container)break;i=i.parentNode}return u.length||e||f||!hu(i,n)||(u=[this]),u},_handleDOMEvent:function(n){if(this._loaded&&!ne(n)){var t=n.type;"mousedown"!==t&&"keypress"!==t||wf(n.target||n.srcElement);this._fireDOMEvent(n,t)}},_mouseEvents:["click","dblclick","mouseover","mouseout","contextmenu"],_fireDOMEvent:function(n,t,i){var e,u,r,o,f;if("click"===n.type&&(e=s({},n),e.type="preclick",this._fireDOMEvent(e,e.type,i)),!n._stopped&&(i=(i||[]).concat(this._findEventTargets(n,t))).length)for(u=i[0],"contextmenu"===t&&u.listens(t,!0)&&ft(n),r={originalEvent:n},"keypress"!==n.type&&(o=u.getLatLng&&(!u._radius||u._radius<=10),r.containerPoint=o?this.latLngToContainerPoint(u.getLatLng()):this.mouseEventToContainerPoint(n),r.layerPoint=this.containerPointToLayerPoint(r.containerPoint),r.latlng=o?u.getLatLng():this.layerPointToLatLng(r.layerPoint)),f=0;f<i.length;f++)if(i[f].fire(t,r,!0),r.originalEvent._stopped||!1===i[f].options.bubblingMouseEvents&&-1!==rs(this._mouseEvents,t))return},_draggableMoved:function(n){return(n=n.dragging&&n.dragging.enabled()?n:this).dragging&&n.dragging.moved()||this.boxZoom&&this.boxZoom.moved()},_clearHandlers:function(){for(var n=0,t=this._handlers.length;n<t;n++)this._handlers[n].disable()},whenReady:function(n,t){return this._loaded?n.call(t||this,{target:this}):this.on("load",n,t),this},_getMapPanePos:function(){return ri(this._mapPane)||new t(0,0)},_moved:function(){var n=this._getMapPanePos();return n&&!n.equals([0,0])},_getTopLeftPoint:function(n,t){return(n&&void 0!==t?this._getNewPixelOrigin(n,t):this.getPixelOrigin()).subtract(this._getMapPanePos())},_getNewPixelOrigin:function(n,t){var i=this.getSize()._divideBy(2);return this.project(n,t)._subtract(i)._add(this._getMapPanePos())._round()},_latLngToNewLayerPoint:function(n,t,i){var r=this._getNewPixelOrigin(i,t);return this.project(n,t)._subtract(r)},_latLngBoundsToNewLayerBounds:function(n,t,i){var r=this._getNewPixelOrigin(i,t);return at([this.project(n.getSouthWest(),t)._subtract(r),this.project(n.getNorthWest(),t)._subtract(r),this.project(n.getSouthEast(),t)._subtract(r),this.project(n.getNorthEast(),t)._subtract(r)])},_getCenterLayerPoint:function(){return this.containerPointToLayerPoint(this.getSize()._divideBy(2))},_getCenterOffset:function(n){return this.latLngToLayerPoint(n).subtract(this._getCenterLayerPoint())},_limitCenter:function(n,t,i){if(!i)return n;var r=this.project(n,t),u=this.getSize().divideBy(2),e=new v(r.subtract(u),r.add(u)),f=this._getBoundsOffset(e,i,t);return f.round().equals([0,0])?n:this.unproject(r.add(f),t)},_limitOffset:function(n,t){if(!t)return n;var i=this.getPixelBounds(),r=new v(i.min.add(n),i.max.add(n));return n.add(this._getBoundsOffset(r,t))},_getBoundsOffset:function(n,i,r){var u=at(this.project(i.getNorthEast(),r),this.project(i.getSouthWest(),r)),f=u.min.subtract(n.min),e=u.max.subtract(n.max);return new t(this._rebound(f.x,-e.x),this._rebound(f.y,-e.y))},_rebound:function(n,t){return n+t>0?Math.round(n-t)/2:Math.max(0,Math.ceil(n))-Math.max(0,Math.floor(t))},_limitZoom:function(n){var i=this.getMinZoom(),r=this.getMaxZoom(),t=et?this.options.zoomSnap:1;return t&&(n=Math.round(n/t)*t),Math.max(i,Math.min(r,n))},_onPanTransitionStep:function(){this.fire("move")},_onPanTransitionEnd:function(){p(this._mapPane,"leaflet-pan-anim");this.fire("moveend")},_tryAnimatedPan:function(n,t){var i=this._getCenterOffset(n)._trunc();return!(!0!==(t&&t.animate)&&!this.getSize().contains(i))&&(this.panBy(i,t),!0)},_createAnimProxy:function(){var n=this._proxy=e("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(n);this.on("zoomanim",function(n){var t=no,i=this._proxy.style[t];si(this._proxy,this.project(n.center,n.zoom),this.getZoomScale(n.zoom,1));i===this._proxy.style[t]&&this._animatingZoom&&this._onZoomTransitionEnd()},this);this.on("load moveend",function(){var t=this.getCenter(),n=this.getZoom();si(this._proxy,this.project(t,n),this.getZoomScale(n,1))},this);this._on("unload",this._destroyAnimProxy,this)},_destroyAnimProxy:function(){a(this._proxy);delete this._proxy},_catchTransitionEnd:function(n){this._animatingZoom&&n.propertyName.indexOf("transform")>=0&&this._onZoomTransitionEnd()},_nothingToAnimate:function(){return!this._container.getElementsByClassName("leaflet-zoom-animated").length},_tryAnimatedZoom:function(n,t,i){if(this._animatingZoom)return!0;if(i=i||{},!this._zoomAnimated||!1===i.animate||this._nothingToAnimate()||Math.abs(t-this._zoom)>this.options.zoomAnimationThreshold)return!1;var r=this.getZoomScale(t),u=this._getCenterOffset(n)._divideBy(1-1/r);return!(!0!==i.animate&&!this.getSize().contains(u))&&(d(function(){this._moveStart(!0,!1)._animateZoom(n,t,!0)},this),!0)},_animateZoom:function(n,t,r,u){this._mapPane&&(r&&(this._animatingZoom=!0,this._animateToCenter=n,this._animateToZoom=t,i(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:n,zoom:t,noUpdate:u}),setTimeout(c(this._onZoomTransitionEnd,this),250))},_onZoomTransitionEnd:function(){this._animatingZoom&&(this._mapPane&&p(this._mapPane,"leaflet-zoom-anim"),this._animatingZoom=!1,this._move(this._animateToCenter,this._animateToZoom),d(function(){this._moveEnd(!0)},this))}}),ht=kt.extend({options:{position:"topright"},initialize:function(n){l(this,n)},getPosition:function(){return this.options.position},setPosition:function(n){var t=this._map;return t&&t.removeControl(this),this.options.position=n,t&&t.addControl(this),this},getContainer:function(){return this._container},addTo:function(n){this.remove();this._map=n;var t=this._container=this.onAdd(n),u=this.getPosition(),r=n._controlCorners[u];return i(t,"leaflet-control"),-1!==u.indexOf("bottom")?r.insertBefore(t,r.firstChild):r.appendChild(t),this},remove:function(){return this._map?(a(this._container),this.onRemove&&this.onRemove(this._map),this._map=null,this):this},_refocusOnMap:function(n){this._map&&n&&n.screenX>0&&n.screenY>0&&this._map.getContainer().focus()}}),gr=function(n){return new ht(n)};f.include({addControl:function(n){return n.addTo(this),this},removeControl:function(n){return n.remove(),this},_initControlPos:function(){function n(n,u){var f=t+n+" "+t+u;i[n+u]=e("div",f,r)}var i=this._controlCorners={},t="leaflet-",r=this._controlContainer=e("div",t+"control-container",this._container);n("top","left");n("top","right");n("bottom","left");n("bottom","right")},_clearControlPos:function(){for(var n in this._controlCorners)a(this._controlCorners[n]);a(this._controlContainer);delete this._controlCorners;delete this._controlContainer}});uo=ht.extend({options:{collapsed:!0,position:"topright",autoZIndex:!0,hideSingleBase:!1,sortLayers:!1,sortFunction:function(n,t,i,r){return i<r?-1:r<i?1:0}},initialize:function(n,t,i){l(this,i);this._layerControlInputs=[];this._layers=[];this._lastZIndex=0;this._handlingClick=!1;for(var r in n)this._addLayer(n[r],r);for(r in t)this._addLayer(t[r],r,!0)},onAdd:function(n){this._initLayout();this._update();this._map=n;n.on("zoomend",this._checkDisabledLayers,this);for(var t=0;t<this._layers.length;t++)this._layers[t].layer.on("add remove",this._onLayerChange,this);return this._container},addTo:function(n){return ht.prototype.addTo.call(this,n),this._expandIfNotCollapsed()},onRemove:function(){this._map.off("zoomend",this._checkDisabledLayers,this);for(var n=0;n<this._layers.length;n++)this._layers[n].layer.off("add remove",this._onLayerChange,this)},addBaseLayer:function(n,t){return this._addLayer(n,t),this._map?this._update():this},addOverlay:function(n,t){return this._addLayer(n,t,!0),this._map?this._update():this},removeLayer:function(n){n.off("add remove",this._onLayerChange,this);var t=this._getLayer(o(n));return t&&this._layers.splice(this._layers.indexOf(t),1),this._map?this._update():this},expand:function(){i(this._container,"leaflet-control-layers-expanded");this._form.style.height=null;var n=this._map.getSize().y-(this._container.offsetTop+50);return n<this._form.clientHeight?(i(this._form,"leaflet-control-layers-scrollbar"),this._form.style.height=n+"px"):p(this._form,"leaflet-control-layers-scrollbar"),this._checkDisabledLayers(),this},collapse:function(){return p(this._container,"leaflet-control-layers-expanded"),this},_initLayout:function(){var n="leaflet-control-layers",t=this._container=e("div",n),f=this.options.collapsed,u,i;t.setAttribute("aria-haspopup",!0);ar(t);df(t);u=this._form=e("form",n+"-list");f&&(this._map.on("click",this.collapse,this),gi||r(t,{mouseenter:this.expand,mouseleave:this.collapse},this));i=this._layersLink=e("a",n+"-toggle",t);i.href="#";i.title="Layers";wt?(r(i,"click",yt),r(i,"click",this.expand,this)):r(i,"focus",this.expand,this);f||this.expand();this._baseLayersList=e("div",n+"-base",u);this._separator=e("div",n+"-separator",u);this._overlaysList=e("div",n+"-overlays",u);t.appendChild(u)},_getLayer:function(n){for(var t=0;t<this._layers.length;t++)if(this._layers[t]&&o(this._layers[t].layer)===n)return this._layers[t]},_addLayer:function(n,t,i){this._map&&n.on("add remove",this._onLayerChange,this);this._layers.push({layer:n,name:t,overlay:i});this.options.sortLayers&&this._layers.sort(c(function(n,t){return this.options.sortFunction(n.layer,t.layer,n.name,t.name)},this));this.options.autoZIndex&&n.setZIndex&&(this._lastZIndex++,n.setZIndex(this._lastZIndex));this._expandIfNotCollapsed()},_update:function(){if(!this._container)return this;lf(this._baseLayersList);lf(this._overlaysList);this._layerControlInputs=[];for(var n,r,t,u=0,i=0;i<this._layers.length;i++)t=this._layers[i],this._addItem(t),r=r||t.overlay,n=n||!t.overlay,u+=t.overlay?0:1;return this.options.hideSingleBase&&(n=n&&u>1,this._baseLayersList.style.display=n?"":"none"),this._separator.style.display=r&&n?"":"none",this},_onLayerChange:function(n){this._handlingClick||this._update();var t=this._getLayer(o(n.target)),i=t.overlay?"add"===n.type?"overlayadd":"overlayremove":"add"===n.type?"baselayerchange":null;i&&this._map.fire(i,t)},_createRadioElement:function(n,t){var r='<input type="radio" class="leaflet-control-layers-selector" name="'+n+'"'+(t?' checked="checked"':"")+"/>",i=document.createElement("div");return i.innerHTML=r,i.firstChild},_addItem:function(n){var t,u=document.createElement("label"),e=this._map.hasLayer(n.layer),f,i;return n.overlay?((t=document.createElement("input")).type="checkbox",t.className="leaflet-control-layers-selector",t.defaultChecked=e):t=this._createRadioElement("leaflet-base-layers",e),this._layerControlInputs.push(t),t.layerId=o(n.layer),r(t,"click",this._onInputClick,this),f=document.createElement("span"),f.innerHTML=" "+n.name,i=document.createElement("div"),u.appendChild(i),i.appendChild(t),i.appendChild(f),(n.overlay?this._overlaysList:this._baseLayersList).appendChild(u),this._checkDisabledLayers(),u},_onInputClick:function(){var t,u,f=this._layerControlInputs,i=[],r=[],n;for(this._handlingClick=!0,n=f.length-1;n>=0;n--)t=f[n],u=this._getLayer(t.layerId).layer,t.checked?i.push(u):t.checked||r.push(u);for(n=0;n<r.length;n++)this._map.hasLayer(r[n])&&this._map.removeLayer(r[n]);for(n=0;n<i.length;n++)this._map.hasLayer(i[n])||this._map.addLayer(i[n]);this._handlingClick=!1;this._refocusOnMap()},_checkDisabledLayers:function(){for(var t,n,r=this._layerControlInputs,u=this._map.getZoom(),i=r.length-1;i>=0;i--)t=r[i],n=this._getLayer(t.layerId).layer,t.disabled=void 0!==n.options.minZoom&&u<n.options.minZoom||void 0!==n.options.maxZoom&&u>n.options.maxZoom},_expandIfNotCollapsed:function(){return this._map&&!this.options.collapsed&&this.expand(),this},_expand:function(){return this.expand()},_collapse:function(){return this.collapse()}});tf=ht.extend({options:{position:"topleft",zoomInText:"+",zoomInTitle:"Zoom in",zoomOutText:"&#x2212;",zoomOutTitle:"Zoom out"},onAdd:function(n){var i="leaflet-control-zoom",r=e("div",i+" leaflet-bar"),t=this.options;return this._zoomInButton=this._createButton(t.zoomInText,t.zoomInTitle,i+"-in",r,this._zoomIn),this._zoomOutButton=this._createButton(t.zoomOutText,t.zoomOutTitle,i+"-out",r,this._zoomOut),this._updateDisabled(),n.on("zoomend zoomlevelschange",this._updateDisabled,this),r},onRemove:function(n){n.off("zoomend zoomlevelschange",this._updateDisabled,this)},disable:function(){return this._disabled=!0,this._updateDisabled(),this},enable:function(){return this._disabled=!1,this._updateDisabled(),this},_zoomIn:function(n){!this._disabled&&this._map._zoom<this._map.getMaxZoom()&&this._map.zoomIn(this._map.options.zoomDelta*(n.shiftKey?3:1))},_zoomOut:function(n){!this._disabled&&this._map._zoom>this._map.getMinZoom()&&this._map.zoomOut(this._map.options.zoomDelta*(n.shiftKey?3:1))},_createButton:function(n,t,i,u,f){var o=e("a",i,u);return o.innerHTML=n,o.href="#",o.title=t,o.setAttribute("role","button"),o.setAttribute("aria-label",t),ar(o),r(o,"click",yt),r(o,"click",f,this),r(o,"click",this._refocusOnMap,this),o},_updateDisabled:function(){var n=this._map,t="leaflet-disabled";p(this._zoomInButton,t);p(this._zoomOutButton,t);(this._disabled||n._zoom===n.getMinZoom())&&i(this._zoomOutButton,t);(this._disabled||n._zoom===n.getMaxZoom())&&i(this._zoomInButton,t)}});f.mergeOptions({zoomControl:!0});f.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new tf,this.addControl(this.zoomControl))});fo=ht.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(n){var t=e("div","leaflet-control-scale"),i=this.options;return this._addScales(i,"leaflet-control-scale-line",t),n.on(i.updateWhenIdle?"moveend":"move",this._update,this),n.whenReady(this._update,this),t},onRemove:function(n){n.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(n,t,i){n.metric&&(this._mScale=e("div",t,i));n.imperial&&(this._iScale=e("div",t,i))},_update:function(){var n=this._map,t=n.getSize().y/2,i=n.distance(n.containerPointToLatLng([0,t]),n.containerPointToLatLng([this.options.maxWidth,t]));this._updateScales(i)},_updateScales:function(n){this.options.metric&&n&&this._updateMetric(n);this.options.imperial&&n&&this._updateImperial(n)},_updateMetric:function(n){var t=this._getRoundNum(n),i=t<1e3?t+" m":t/1e3+" km";this._updateScale(this._mScale,i,t/n)},_updateImperial:function(n){var i,r,u,t=3.2808399*n;t>5280?(i=t/5280,r=this._getRoundNum(i),this._updateScale(this._iScale,r+" mi",r/i)):(u=this._getRoundNum(t),this._updateScale(this._iScale,u+" ft",u/t))},_updateScale:function(n,t,i){n.style.width=Math.round(this.options.maxWidth*i)+"px";n.innerHTML=t},_getRoundNum:function(n){var i=Math.pow(10,(Math.floor(n)+"").length-1),t=n/i;return t=t>=10?10:t>=5?5:t>=3?3:t>=2?2:1,i*t}});rf=ht.extend({options:{position:"bottomright",prefix:'<a href="http://leafletjs.com" title="A JS library for interactive maps">Leaflet<\/a>'},initialize:function(n){l(this,n);this._attributions={}},onAdd:function(n){n.attributionControl=this;this._container=e("div","leaflet-control-attribution");ar(this._container);for(var t in n._layers)n._layers[t].getAttribution&&this.addAttribution(n._layers[t].getAttribution());return this._update(),this._container},setPrefix:function(n){return this.options.prefix=n,this._update(),this},addAttribution:function(n){return n?(this._attributions[n]||(this._attributions[n]=0),this._attributions[n]++,this._update(),this):this},removeAttribution:function(n){return n?(this._attributions[n]&&(this._attributions[n]--,this._update()),this):this},_update:function(){var n,i,t;if(this._map){n=[];for(i in this._attributions)this._attributions[i]&&n.push(i);t=[];this.options.prefix&&t.push(this.options.prefix);n.length&&t.push(n.join(", "));this._container.innerHTML=t.join(" | ")}}});f.mergeOptions({attributionControl:!0});f.addInitHook(function(){this.options.attributionControl&&(new rf).addTo(this)});ht.Layers=uo;ht.Zoom=tf;ht.Scale=fo;ht.Attribution=rf;gr.layers=function(n,t,i){return new uo(n,t,i)};gr.zoom=function(n){return new tf(n)};gr.scale=function(n){return new fo(n)};gr.attribution=function(n){return new rf(n)};ct=kt.extend({initialize:function(n){this._map=n},enable:function(){return this._enabled?this:(this._enabled=!0,this.addHooks(),this)},disable:function(){return this._enabled?(this._enabled=!1,this.removeHooks(),this):this},enabled:function(){return!!this._enabled}});ct.addTo=function(n,t){return n.addHandler(t,this),this};var bh,hl={Events:it},kh=wt?"touchstart mousedown":"mousedown",dh={mousedown:"mouseup",touchstart:"touchend",pointerdown:"touchend",MSPointerDown:"touchend"},eo={mousedown:"mousemove",touchstart:"touchmove",pointerdown:"touchmove",MSPointerDown:"touchmove"},li=ki.extend({options:{clickTolerance:3},initialize:function(n,t,i,r){l(this,r);this._element=n;this._dragStartTarget=t||n;this._preventOutline=i},enable:function(){this._enabled||(r(this._dragStartTarget,kh,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(li._dragging===this&&this.finishDrag(),w(this._dragStartTarget,kh,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(n){if(!n._simulated&&this._enabled&&(this._moved=!1,!af(this._element,"leaflet-zoom-anim")&&!(li._dragging||n.shiftKey||1!==n.which&&1!==n.button&&!n.touches||(li._dragging=this,this._preventOutline&&wf(this._element),yf(),yr(),this._moving)))){this.fire("down");var i=n.touches?n.touches[0]:n,u=ls(this._element);this._startPoint=new t(i.clientX,i.clientY);this._parentScale=bf(u);r(document,eo[n.type],this._onMove,this);r(document,dh[n.type],this._onUp,this)}},_onMove:function(n){if(!n._simulated&&this._enabled)if(n.touches&&n.touches.length>1)this._moved=!0;else{var u=n.touches&&1===n.touches.length?n.touches[0]:n,r=new t(u.clientX,u.clientY)._subtract(this._startPoint);(r.x||r.y)&&(Math.abs(r.x)+Math.abs(r.y)<this.options.clickTolerance||(r.x/=this._parentScale.x,r.y/=this._parentScale.y,ft(n),this._moved||(this.fire("dragstart"),this._moved=!0,this._startPos=ri(this._element).subtract(r),i(document.body,"leaflet-dragging"),this._lastTarget=n.target||n.srcElement,window.SVGElementInstance&&this._lastTarget instanceof SVGElementInstance&&(this._lastTarget=this._lastTarget.correspondingUseElement),i(this._lastTarget,"leaflet-drag-target")),this._newPos=this._startPos.add(r),this._moving=!0,nt(this._animRequest),this._lastEvent=n,this._animRequest=d(this._updatePosition,this,!0)))}},_updatePosition:function(){var n={originalEvent:this._lastEvent};this.fire("predrag",n);b(this._element,this._newPos);this.fire("drag",n)},_onUp:function(n){!n._simulated&&this._enabled&&this.finishDrag()},finishDrag:function(){p(document.body,"leaflet-dragging");this._lastTarget&&(p(this._lastTarget,"leaflet-drag-target"),this._lastTarget=null);for(var n in eo)w(document,eo[n],this._onMove,this),w(document,dh[n],this._onUp,this);pf();pr();this._moved&&this._moving&&(nt(this._animRequest),this.fire("dragend",{distance:this._newPos.distanceTo(this._startPos)}));this._moving=!1;li._dragging=!1}}),cl=(Object.freeze||Object)({simplify:ys,pointToSegmentDistance:ps,closestPointOnSegment:function(n,t,i){return vr(n,t,i)},clipSegment:ws,_getEdgeIntersection:cu,_getBitCode:ci,_sqClosestPointOnSegment:vr,isFlat:dt,_flat:bs}),ll=(Object.freeze||Object)({clipPolygon:ks}),oo={project:function(n){return new t(n.lng,n.lat)},unproject:function(n){return new h(n.y,n.x)},bounds:new v([-180,-90],[180,90])},so={R:6378137,R_MINOR:6356752.3142451793,bounds:new v([-20037508.34279,-15496570.73972],[20037508.34279,18764656.23138]),project:function(n){var u=Math.PI/180,r=this.R,i=n.lat*u,f=this.R_MINOR/r,e=Math.sqrt(1-f*f),o=e*Math.sin(i),s=Math.tan(Math.PI/4-i/2)/Math.pow((1-o)/(1+o),e/2);return i=-r*Math.log(Math.max(s,1e-10)),new t(n.lng*u*r,i)},unproject:function(n){for(var t,u=180/Math.PI,r=this.R,f=this.R_MINOR/r,e=Math.sqrt(1-f*f),o=Math.exp(-n.y/r),i=Math.PI/2-2*Math.atan(o),s=0,c=.1;s<15&&Math.abs(c)>1e-7;s++)t=e*Math.sin(i),t=Math.pow((1-t)/(1+t),e/2),i+=c=Math.PI/2-2*Math.atan(o*t)-i;return new h(i*u,n.x*u/r)}},al=(Object.freeze||Object)({LonLat:oo,Mercator:so,SphericalMercator:oe}),vl=s({},ui,{code:"EPSG:3395",projection:so,transformation:function(){var n=.5/(Math.PI*so.R);return cr(n,.5,-n,.5)}()}),gh=s({},ui,{code:"EPSG:4326",projection:oo,transformation:cr(1/180,1,-1/180,.5)}),yl=s({},gt,{projection:oo,transformation:cr(1,0,-1,0),scale:function(n){return Math.pow(2,n)},zoom:function(n){return Math.log(n)/Math.LN2},distance:function(n,t){var i=t.lng-n.lng,r=t.lat-n.lat;return Math.sqrt(i*i+r*r)},infinite:!0});gt.Earth=ui;gt.EPSG3395=vl;gt.EPSG3857=he;gt.EPSG900913=gc;gt.EPSG4326=gh;gt.Simple=yl;rt=ki.extend({options:{pane:"overlayPane",attribution:null,bubblingMouseEvents:!0},addTo:function(n){return n.addLayer(this),this},remove:function(){return this.removeFrom(this._map||this._mapToAdd)},removeFrom:function(n){return n&&n.removeLayer(this),this},getPane:function(n){return this._map.getPane(n?this.options[n]||n:this.options.pane)},addInteractiveTarget:function(n){return this._map._targets[o(n)]=this,this},removeInteractiveTarget:function(n){return delete this._map._targets[o(n)],this},getAttribution:function(){return this.options.attribution},_layerAdd:function(n){var t=n.target,i;t.hasLayer(this)&&((this._map=t,this._zoomAnimated=t._zoomAnimated,this.getEvents)&&(i=this.getEvents(),t.on(i,this),this.once("remove",function(){t.off(i,this)},this)),this.onAdd(t),this.getAttribution&&t.attributionControl&&t.attributionControl.addAttribution(this.getAttribution()),this.fire("add"),t.fire("layeradd",{layer:this}))}});f.include({addLayer:function(n){if(!n._layerAdd)throw new Error("The provided object is not a Layer.");var t=o(n);return this._layers[t]?this:(this._layers[t]=n,n._mapToAdd=this,n.beforeAdd&&n.beforeAdd(this),this.whenReady(n._layerAdd,n),this)},removeLayer:function(n){var t=o(n);return this._layers[t]?(this._loaded&&n.onRemove(this),n.getAttribution&&this.attributionControl&&this.attributionControl.removeAttribution(n.getAttribution()),delete this._layers[t],this._loaded&&(this.fire("layerremove",{layer:n}),n.fire("remove")),n._map=n._mapToAdd=null,this):this},hasLayer:function(n){return!!n&&o(n)in this._layers},eachLayer:function(n,t){for(var i in this._layers)n.call(t,this._layers[i]);return this},_addLayers:function(n){for(var t=0,i=(n=n?pt(n)?n:[n]:[]).length;t<i;t++)this.addLayer(n[t])},_addZoomLimit:function(n){!isNaN(n.options.maxZoom)&&isNaN(n.options.minZoom)||(this._zoomBoundLayers[o(n)]=n,this._updateZoomLevels())},_removeZoomLimit:function(n){var t=o(n);this._zoomBoundLayers[t]&&(delete this._zoomBoundLayers[t],this._updateZoomLevels())},_updateZoomLevels:function(){var n=1/0,t=-1/0,u=this._getZoomSpan(),r,i;for(r in this._zoomBoundLayers)i=this._zoomBoundLayers[r].options,n=void 0===i.minZoom?n:Math.min(n,i.minZoom),t=void 0===i.maxZoom?t:Math.max(t,i.maxZoom);this._layersMaxZoom=t===-1/0?void 0:t;this._layersMinZoom=n===1/0?void 0:n;u!==this._getZoomSpan()&&this.fire("zoomlevelschange");void 0===this.options.maxZoom&&this._layersMaxZoom&&this.getZoom()>this._layersMaxZoom&&this.setZoom(this._layersMaxZoom);void 0===this.options.minZoom&&this._layersMinZoom&&this.getZoom()<this._layersMinZoom&&this.setZoom(this._layersMinZoom)}});var ur=rt.extend({initialize:function(n,t){l(this,t);this._layers={};var i,r;if(n)for(i=0,r=n.length;i<r;i++)this.addLayer(n[i])},addLayer:function(n){var t=this.getLayerId(n);return this._layers[t]=n,this._map&&this._map.addLayer(n),this},removeLayer:function(n){var t=n in this._layers?n:this.getLayerId(n);return this._map&&this._layers[t]&&this._map.removeLayer(this._layers[t]),delete this._layers[t],this},hasLayer:function(n){return!!n&&(n in this._layers||this.getLayerId(n)in this._layers)},clearLayers:function(){return this.eachLayer(this.removeLayer,this)},invoke:function(n){var i,t,r=Array.prototype.slice.call(arguments,1);for(i in this._layers)(t=this._layers[i])[n]&&t[n].apply(t,r);return this},onAdd:function(n){this.eachLayer(n.addLayer,n)},onRemove:function(n){this.eachLayer(n.removeLayer,n)},eachLayer:function(n,t){for(var i in this._layers)n.call(t,this._layers[i]);return this},getLayer:function(n){return this._layers[n]},getLayers:function(){var n=[];return this.eachLayer(n.push,n),n},setZIndex:function(n){return this.invoke("setZIndex",n)},getLayerId:function(n){return o(n)}}),ai=ur.extend({addLayer:function(n){return this.hasLayer(n)?this:(n.addEventParent(this),ur.prototype.addLayer.call(this,n),this.fire("layeradd",{layer:n}))},removeLayer:function(n){return this.hasLayer(n)?(n in this._layers&&(n=this._layers[n]),n.removeEventParent(this),ur.prototype.removeLayer.call(this,n),this.fire("layerremove",{layer:n})):this},setStyle:function(n){return this.invoke("setStyle",n)},bringToFront:function(){return this.invoke("bringToFront")},bringToBack:function(){return this.invoke("bringToBack")},getBounds:function(){var t=new tt,i,n;for(i in this._layers)n=this._layers[i],t.extend(n.getBounds?n.getBounds():n.getLatLng());return t}}),fr=kt.extend({options:{popupAnchor:[0,0],tooltipAnchor:[0,0]},initialize:function(n){l(this,n)},createIcon:function(n){return this._createIcon("icon",n)},createShadow:function(n){return this._createIcon("shadow",n)},_createIcon:function(n,t){var r=this._getIconUrl(n),i;if(!r){if("icon"===n)throw new Error("iconUrl not set in Icon options (see the docs).");return null}return i=this._createImg(r,t&&"IMG"===t.tagName?t:null),this._setIconStyles(i,n),i},_setIconStyles:function(n,t){var f=this.options,r=f[t+"Size"],i,e;"number"==typeof r&&(r=[r,r]);i=u(r);e=u("shadow"===t&&f.shadowAnchor||f.iconAnchor||i&&i.divideBy(2,!0));n.className="leaflet-marker-"+t+" "+(f.className||"");e&&(n.style.marginLeft=-e.x+"px",n.style.marginTop=-e.y+"px");i&&(n.style.width=i.x+"px",n.style.height=i.y+"px")},_createImg:function(n,t){return t=t||document.createElement("img"),t.src=n,t},_getIconUrl:function(n){return ei&&this.options[n+"RetinaUrl"]||this.options[n+"Url"]}}),nu=fr.extend({options:{iconUrl:"marker-icon.png",iconRetinaUrl:"marker-icon-2x.png",shadowUrl:"marker-shadow.png",iconSize:[25,41],iconAnchor:[12,41],popupAnchor:[1,-34],tooltipAnchor:[16,-28],shadowSize:[41,41]},_getIconUrl:function(n){return nu.imagePath||(nu.imagePath=this._detectIconPath()),(this.options.imagePath||nu.imagePath)+fr.prototype._getIconUrl.call(this,n)},_detectIconPath:function(){var t=e("div","leaflet-default-icon-path",document.body),n=lr(t,"background-image")||lr(t,"backgroundImage");return document.body.removeChild(t),n=null===n||0!==n.indexOf("url")?"":n.replace(/^url\(["']?/,"").replace(/marker-icon\.png["']?\)$/,"")}}),nc=ct.extend({initialize:function(n){this._marker=n},addHooks:function(){var n=this._marker._icon;this._draggable||(this._draggable=new li(n,n,!0));this._draggable.on({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).enable();i(n,"leaflet-marker-draggable")},removeHooks:function(){this._draggable.off({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).disable();this._marker._icon&&p(this._marker._icon,"leaflet-marker-draggable")},moved:function(){return this._draggable&&this._draggable._moved},_adjustPan:function(n){var e=this._marker,o=e._map,c=this._marker.options.autoPanSpeed,s=this._marker.options.autoPanPadding,r=ri(e._icon),i=o.getPixelBounds(),h=o.getPixelOrigin(),t=at(i.min._subtract(h).add(s),i.max._subtract(h).subtract(s)),f;t.contains(r)||(f=u((Math.max(t.max.x,r.x)-t.max.x)/(i.max.x-t.max.x)-(Math.min(t.min.x,r.x)-t.min.x)/(i.min.x-t.min.x),(Math.max(t.max.y,r.y)-t.max.y)/(i.max.y-t.max.y)-(Math.min(t.min.y,r.y)-t.min.y)/(i.min.y-t.min.y)).multiplyBy(c),o.panBy(f,{animate:!1}),this._draggable._newPos._add(f),this._draggable._startPos._add(f),b(e._icon,this._draggable._newPos),this._onDrag(n),this._panRequest=d(this._adjustPan.bind(this,n)))},_onDragStart:function(){this._oldLatLng=this._marker.getLatLng();this._marker.closePopup().fire("movestart").fire("dragstart")},_onPreDrag:function(n){this._marker.options.autoPan&&(nt(this._panRequest),this._panRequest=d(this._adjustPan.bind(this,n)))},_onDrag:function(n){var t=this._marker,i=t._shadow,r=ri(t._icon),u=t._map.layerPointToLatLng(r);i&&b(i,r);t._latlng=u;n.latlng=u;n.oldLatLng=this._oldLatLng;t.fire("move",n).fire("drag",n)},_onDragEnd:function(n){nt(this._panRequest);delete this._oldLatLng;this._marker.fire("moveend").fire("dragend",n)}}),tu=rt.extend({options:{icon:new nu,interactive:!0,keyboard:!0,title:"",alt:"",zIndexOffset:0,opacity:1,riseOnHover:!1,riseOffset:250,pane:"markerPane",bubblingMouseEvents:!1,draggable:!1,autoPan:!1,autoPanPadding:[50,50],autoPanSpeed:10},initialize:function(n,t){l(this,t);this._latlng=y(n)},onAdd:function(n){this._zoomAnimated=this._zoomAnimated&&n.options.markerZoomAnimation;this._zoomAnimated&&n.on("zoomanim",this._animateZoom,this);this._initIcon();this.update()},onRemove:function(n){this.dragging&&this.dragging.enabled()&&(this.options.draggable=!0,this.dragging.removeHooks());delete this.dragging;this._zoomAnimated&&n.off("zoomanim",this._animateZoom,this);this._removeIcon();this._removeShadow()},getEvents:function(){return{zoom:this.update,viewreset:this.update}},getLatLng:function(){return this._latlng},setLatLng:function(n){var t=this._latlng;return this._latlng=y(n),this.update(),this.fire("move",{oldLatLng:t,latlng:this._latlng})},setZIndexOffset:function(n){return this.options.zIndexOffset=n,this.update()},setIcon:function(n){return this.options.icon=n,this._map&&(this._initIcon(),this.update()),this._popup&&this.bindPopup(this._popup,this._popup.options),this},getElement:function(){return this._icon},update:function(){if(this._icon&&this._map){var n=this._map.latLngToLayerPoint(this._latlng).round();this._setPos(n)}return this},_initIcon:function(){var n=this.options,f="leaflet-zoom-"+(this._zoomAnimated?"animated":"hide"),t=n.icon.createIcon(this._icon),e=!1,r,u;t!==this._icon&&(this._icon&&this._removeIcon(),e=!0,n.title&&(t.title=n.title),"IMG"===t.tagName&&(t.alt=n.alt||""));i(t,f);n.keyboard&&(t.tabIndex="0");this._icon=t;n.riseOnHover&&this.on({mouseover:this._bringToFront,mouseout:this._resetZIndex});r=n.icon.createShadow(this._shadow);u=!1;r!==this._shadow&&(this._removeShadow(),u=!0);r&&(i(r,f),r.alt="");this._shadow=r;n.opacity<1&&this._updateOpacity();e&&this.getPane().appendChild(this._icon);this._initInteraction();r&&u&&this.getPane("shadowPane").appendChild(this._shadow)},_removeIcon:function(){this.options.riseOnHover&&this.off({mouseover:this._bringToFront,mouseout:this._resetZIndex});a(this._icon);this.removeInteractiveTarget(this._icon);this._icon=null},_removeShadow:function(){this._shadow&&a(this._shadow);this._shadow=null},_setPos:function(n){b(this._icon,n);this._shadow&&b(this._shadow,n);this._zIndex=n.y+this.options.zIndexOffset;this._resetZIndex()},_updateZIndex:function(n){this._icon.style.zIndex=this._zIndex+n},_animateZoom:function(n){var t=this._map._latLngToNewLayerPoint(this._latlng,n.zoom,n.center).round();this._setPos(t)},_initInteraction:function(){if(this.options.interactive&&(i(this._icon,"leaflet-interactive"),this.addInteractiveTarget(this._icon),nc)){var n=this.options.draggable;this.dragging&&(n=this.dragging.enabled(),this.dragging.disable());this.dragging=new nc(this);n&&this.dragging.enable()}},setOpacity:function(n){return this.options.opacity=n,this._map&&this._updateOpacity(),this},_updateOpacity:function(){var n=this.options.opacity;ut(this._icon,n);this._shadow&&ut(this._shadow,n)},_bringToFront:function(){this._updateZIndex(this.options.riseOffset)},_resetZIndex:function(){this._updateZIndex(0)},_getPopupAnchor:function(){return this.options.icon.options.popupAnchor},_getTooltipAnchor:function(){return this.options.icon.options.tooltipAnchor}}),oi=rt.extend({options:{stroke:!0,color:"#3388ff",weight:3,opacity:1,lineCap:"round",lineJoin:"round",dashArray:null,dashOffset:null,fill:!1,fillColor:null,fillOpacity:.2,fillRule:"evenodd",interactive:!0,bubblingMouseEvents:!0},beforeAdd:function(n){this._renderer=n.getRenderer(this)},onAdd:function(){this._renderer._initPath(this);this._reset();this._renderer._addPath(this)},onRemove:function(){this._renderer._removePath(this)},redraw:function(){return this._map&&this._renderer._updatePath(this),this},setStyle:function(n){return l(this,n),this._renderer&&this._renderer._updateStyle(this),this},bringToFront:function(){return this._renderer&&this._renderer._bringToFront(this),this},bringToBack:function(){return this._renderer&&this._renderer._bringToBack(this),this},getElement:function(){return this._path},_reset:function(){this._project();this._update()},_clickTolerance:function(){return(this.options.stroke?this.options.weight/2:0)+this._renderer.options.tolerance}}),uf=oi.extend({options:{fill:!0,radius:10},initialize:function(n,t){l(this,t);this._latlng=y(n);this._radius=this.options.radius},setLatLng:function(n){return this._latlng=y(n),this.redraw(),this.fire("move",{latlng:this._latlng})},getLatLng:function(){return this._latlng},setRadius:function(n){return this.options.radius=this._radius=n,this.redraw()},getRadius:function(){return this._radius},setStyle:function(n){var t=n&&n.radius||this._radius;return oi.prototype.setStyle.call(this,n),this.setRadius(t),this},_project:function(){this._point=this._map.latLngToLayerPoint(this._latlng);this._updateBounds()},_updateBounds:function(){var n=this._radius,r=this._radiusY||n,t=this._clickTolerance(),i=[n+t,r+t];this._pxBounds=new v(this._point.subtract(i),this._point.add(i))},_update:function(){this._map&&this._updatePath()},_updatePath:function(){this._renderer._updateCircle(this)},_empty:function(){return this._radius&&!this._renderer._bounds.intersects(this._pxBounds)},_containsPoint:function(n){return n.distanceTo(this._point)<=this._radius+this._clickTolerance()}}),ho=uf.extend({initialize:function(n,t,i){if("number"==typeof t&&(t=s({},i,{radius:t})),l(this,t),this._latlng=y(n),isNaN(this.options.radius))throw new Error("Circle radius cannot be NaN");this._mRadius=this.options.radius},setRadius:function(n){return this._mRadius=n,this.redraw()},getRadius:function(){return this._mRadius},getBounds:function(){var n=[this._radius,this._radiusY||this._radius];return new tt(this._map.layerPointToLatLng(this._point.subtract(n)),this._map.layerPointToLatLng(this._point.add(n)))},setStyle:oi.prototype.setStyle,_project:function(){var e=this._latlng.lng,i=this._latlng.lat,n=this._map,o=n.options.crs,c;if(o.distance===ui.distance){var t=Math.PI/180,u=this._mRadius/ui.R/t,h=n.project([i+u,e]),l=n.project([i-u,e]),f=h.add(l).divideBy(2),s=n.unproject(f).lat,r=Math.acos((Math.cos(u*t)-Math.sin(i*t)*Math.sin(s*t))/(Math.cos(i*t)*Math.cos(s*t)))/t;(isNaN(r)||0===r)&&(r=u/Math.cos(Math.PI/180*i));this._point=f.subtract(n.getPixelOrigin());this._radius=isNaN(r)?0:f.x-n.project([s,e-r]).x;this._radiusY=f.y-h.y}else c=o.unproject(o.project(this._latlng).subtract([this._mRadius,0])),this._point=n.latLngToLayerPoint(this._latlng),this._radius=this._point.x-n.latLngToLayerPoint(c).x;this._updateBounds()}}),ni=oi.extend({options:{smoothFactor:1,noClip:!1},initialize:function(n,t){l(this,t);this._setLatLngs(n)},getLatLngs:function(){return this._latlngs},setLatLngs:function(n){return this._setLatLngs(n),this.redraw()},isEmpty:function(){return!this._latlngs.length},closestLayerPoint:function(n){for(var e,o,s,r=1/0,t=null,h=vr,u=0,c=this._parts.length;u<c;u++)for(var f=this._parts[u],i=1,l=f.length;i<l;i++)e=h(n,o=f[i-1],s=f[i],!0),e<r&&(r=e,t=h(n,o,s));return t&&(t.distance=Math.sqrt(r)),t},getCenter:function(){if(!this._map)throw new Error("Must add layer to map before using getCenter()");var n,r,f,e,u,t,o,i=this._rings[0],s=i.length;if(!s)return null;for(n=0,r=0;n<s-1;n++)r+=i[n].distanceTo(i[n+1])/2;if(0===r)return this._map.layerPointToLatLng(i[0]);for(n=0,e=0;n<s-1;n++)if(u=i[n],t=i[n+1],f=u.distanceTo(t),(e+=f)>r)return o=(e-r)/f,this._map.layerPointToLatLng([t.x-o*(t.x-u.x),t.y-o*(t.y-u.y)])},getBounds:function(){return this._bounds},addLatLng:function(n,t){return t=t||this._defaultShape(),n=y(n),t.push(n),this._bounds.extend(n),this.redraw()},_setLatLngs:function(n){this._bounds=new tt;this._latlngs=this._convertLatLngs(n)},_defaultShape:function(){return dt(this._latlngs)?this._latlngs:this._latlngs[0]},_convertLatLngs:function(n){for(var i=[],r=dt(n),t=0,u=n.length;t<u;t++)r?(i[t]=y(n[t]),this._bounds.extend(i[t])):i[t]=this._convertLatLngs(n[t]);return i},_project:function(){var n=new v,i,r;this._rings=[];this._projectLatlngs(this._latlngs,this._rings,n);i=this._clickTolerance();r=new t(i,i);this._bounds.isValid()&&n.isValid()&&(n.min._subtract(r),n.max._add(r),this._pxBounds=n)},_projectLatlngs:function(n,t,i){var r,u,e=n[0]instanceof h,f=n.length;if(e){for(u=[],r=0;r<f;r++)u[r]=this._map.latLngToLayerPoint(n[r]),i.extend(u[r]);t.push(u)}else for(r=0;r<f;r++)this._projectLatlngs(n[r],t,i)},_clipPoints:function(){var o=this._renderer._bounds,r,n,t,s,e,u,f,i;if(this._parts=[],this._pxBounds&&this._pxBounds.intersects(o))if(this.options.noClip)this._parts=this._rings;else for(i=this._parts,r=0,t=0,s=this._rings.length;r<s;r++)for(n=0,e=(f=this._rings[r]).length;n<e-1;n++)(u=ws(f[n],f[n+1],o,n,!0))&&(i[t]=i[t]||[],i[t].push(u[0]),u[1]===f[n+1]&&n!==e-2||(i[t].push(u[1]),t++))},_simplifyPoints:function(){for(var t=this._parts,i=this.options.smoothFactor,n=0,r=t.length;n<r;n++)t[n]=ys(t[n],i)},_update:function(){this._map&&(this._clipPoints(),this._simplifyPoints(),this._updatePath())},_updatePath:function(){this._renderer._updatePoly(this)},_containsPoint:function(n,t){var r,i,u,e,o,f,s=this._clickTolerance();if(!this._pxBounds||!this._pxBounds.contains(n))return!1;for(r=0,e=this._parts.length;r<e;r++)for(i=0,u=(o=(f=this._parts[r]).length)-1;i<o;u=i++)if((t||0!==i)&&ps(n,f[u],f[i])<=s)return!0;return!1}});ni._flat=bs;var er=ni.extend({options:{fill:!0},isEmpty:function(){return!this._latlngs.length||!this._latlngs[0].length},getCenter:function(){if(!this._map)throw new Error("Must add layer to map before using getCenter()");var r,e,n,t,u,i,o,s,c,f=this._rings[0],h=f.length;if(!h)return null;for(i=o=s=0,r=0,e=h-1;r<h;e=r++)n=f[r],t=f[e],u=n.y*t.x-t.y*n.x,o+=(n.x+t.x)*u,s+=(n.y+t.y)*u,i+=3*u;return c=0===i?f[0]:[o/i,s/i],this._map.layerPointToLatLng(c)},_convertLatLngs:function(n){var t=ni.prototype._convertLatLngs.call(this,n),i=t.length;return i>=2&&t[0]instanceof h&&t[0].equals(t[i-1])&&t.pop(),t},_setLatLngs:function(n){ni.prototype._setLatLngs.call(this,n);dt(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return dt(this._latlngs[0])?this._latlngs[0]:this._latlngs[0][0]},_clipPoints:function(){var n=this._renderer._bounds,r=this.options.weight,u=new t(r,r),f,i,e;if(n=new v(n.min.subtract(u),n.max.add(u)),this._parts=[],this._pxBounds&&this._pxBounds.intersects(n))if(this.options.noClip)this._parts=this._rings;else for(i=0,e=this._rings.length;i<e;i++)(f=ks(this._rings[i],n,!0)).length&&this._parts.push(f)},_updatePath:function(){this._renderer._updatePoly(this,!0)},_containsPoint:function(n){var f,t,i,r,u,e,s,h,o=!1;if(!this._pxBounds||!this._pxBounds.contains(n))return!1;for(r=0,s=this._parts.length;r<s;r++)for(u=0,e=(h=(f=this._parts[r]).length)-1;u<h;e=u++)t=f[u],i=f[e],t.y>n.y!=i.y>n.y&&n.x<(i.x-t.x)*(n.y-t.y)/(i.y-t.y)+t.x&&(o=!o);return o||ni.prototype._containsPoint.call(this,n,!0)}}),ti=ai.extend({initialize:function(n,t){l(this,t);this._layers={};n&&this.addData(n)},addData:function(n){var u,e,r,f=pt(n)?n:n.features,i,t;if(f){for(u=0,e=f.length;u<e;u++)((r=f[u]).geometries||r.geometry||r.features||r.coordinates)&&this.addData(r);return this}return(i=this.options,i.filter&&!i.filter(n))?this:(t=ie(n,i),t?(t.feature=vu(n),t.defaultOptions=t.options,this.resetStyle(t),i.onEachFeature&&i.onEachFeature(n,t),this.addLayer(t)):this)},resetStyle:function(n){return n.options=s({},n.defaultOptions),this._setLayerStyle(n,this.options.style),this},setStyle:function(n){return this.eachLayer(function(t){this._setLayerStyle(t,n)},this)},_setLayerStyle:function(n,t){"function"==typeof t&&(t=t(n.feature));n.setStyle&&n.setStyle(t)}}),co={toGeoJSON:function(n){return bi(this,{type:"Point",coordinates:ue(this.getLatLng(),n)})}};tu.include(co);ho.include(co);uf.include(co);ni.include({toGeoJSON:function(n){var t=!dt(this._latlngs),i=au(this._latlngs,t?1:0,!1,n);return bi(this,{type:(t?"Multi":"")+"LineString",coordinates:i})}});er.include({toGeoJSON:function(n){var t=!dt(this._latlngs),r=t&&!dt(this._latlngs[0]),i=au(this._latlngs,r?2:t?1:0,!0,n);return t||(i=[i]),bi(this,{type:(r?"Multi":"")+"Polygon",coordinates:i})}});ur.include({toMultiPoint:function(n){var t=[];return this.eachLayer(function(i){t.push(i.toGeoJSON(n).geometry.coordinates)}),bi(this,{type:"MultiPoint",coordinates:t})},toGeoJSON:function(n){var r=this.feature&&this.feature.geometry&&this.feature.geometry.type,i,t;return"MultiPoint"===r?this.toMultiPoint(n):(i="GeometryCollection"===r,t=[],this.eachLayer(function(r){var f,u;r.toGeoJSON&&(f=r.toGeoJSON(n),i?t.push(f.geometry):(u=vu(f),"FeatureCollection"===u.type?t.push.apply(t,u.features):t.push(u)))}),i?bi(this,{geometries:t,type:"GeometryCollection"}):{type:"FeatureCollection",features:t})}});var pl=ds,lo=rt.extend({options:{opacity:1,alt:"",interactive:!1,crossOrigin:!1,errorOverlayUrl:"",zIndex:1,className:""},initialize:function(n,t,i){this._url=n;this._bounds=k(t);l(this,i)},onAdd:function(){this._image||(this._initImage(),this.options.opacity<1&&this._updateOpacity());this.options.interactive&&(i(this._image,"leaflet-interactive"),this.addInteractiveTarget(this._image));this.getPane().appendChild(this._image);this._reset()},onRemove:function(){a(this._image);this.options.interactive&&this.removeInteractiveTarget(this._image)},setOpacity:function(n){return this.options.opacity=n,this._image&&this._updateOpacity(),this},setStyle:function(n){return n.opacity&&this.setOpacity(n.opacity),this},bringToFront:function(){return this._map&&pi(this._image),this},bringToBack:function(){return this._map&&wi(this._image),this},setUrl:function(n){return this._url=n,this._image&&(this._image.src=n),this},setBounds:function(n){return this._bounds=k(n),this._map&&this._reset(),this},getEvents:function(){var n={zoom:this._reset,viewreset:this._reset};return this._zoomAnimated&&(n.zoomanim=this._animateZoom),n},setZIndex:function(n){return this.options.zIndex=n,this._updateZIndex(),this},getBounds:function(){return this._bounds},getElement:function(){return this._image},_initImage:function(){var t="IMG"===this._url.tagName,n=this._image=t?this._url:e("img");i(n,"leaflet-image-layer");this._zoomAnimated&&i(n,"leaflet-zoom-animated");this.options.className&&i(n,this.options.className);n.onselectstart=g;n.onmousemove=g;n.onload=c(this.fire,this,"load");n.onerror=c(this._overlayOnError,this,"error");(this.options.crossOrigin||""===this.options.crossOrigin)&&(n.crossOrigin=!0===this.options.crossOrigin?"":this.options.crossOrigin);this.options.zIndex&&this._updateZIndex();t?this._url=n.src:(n.src=this._url,n.alt=this.options.alt)},_animateZoom:function(n){var t=this._map.getZoomScale(n.zoom),i=this._map._latLngBoundsToNewLayerBounds(this._bounds,n.zoom,n.center).min;si(this._image,i,t)},_reset:function(){var n=this._image,t=new v(this._map.latLngToLayerPoint(this._bounds.getNorthWest()),this._map.latLngToLayerPoint(this._bounds.getSouthEast())),i=t.getSize();b(n,t.min);n.style.width=i.x+"px";n.style.height=i.y+"px"},_updateOpacity:function(){ut(this._image,this.options.opacity)},_updateZIndex:function(){this._image&&void 0!==this.options.zIndex&&null!==this.options.zIndex&&(this._image.style.zIndex=this.options.zIndex)},_overlayOnError:function(){this.fire("error");var n=this.options.errorOverlayUrl;n&&this._url!==n&&(this._url=n,this._image.src=n)}}),tc=lo.extend({options:{autoplay:!0,loop:!0},_initImage:function(){var o="VIDEO"===this._url.tagName,n=this._image=o?this._url:e("video"),t,f;if(i(n,"leaflet-image-layer"),this._zoomAnimated&&i(n,"leaflet-zoom-animated"),n.onselectstart=g,n.onmousemove=g,n.onloadeddata=c(this.fire,this,"load"),o){for(var r=n.getElementsByTagName("source"),s=[],u=0;u<r.length;u++)s.push(r[u].src);this._url=r.length>0?s:[n.src]}else for(pt(this._url)||(this._url=[this._url]),n.autoplay=!!this.options.autoplay,n.loop=!!this.options.loop,t=0;t<this._url.length;t++)f=e("source"),f.src=this._url[t],n.appendChild(f)}}),ii=rt.extend({options:{offset:[0,7],className:"",pane:"popupPane"},initialize:function(n,t){l(this,n);this._source=t},onAdd:function(n){this._zoomAnimated=n._zoomAnimated;this._container||this._initLayout();n._fadeAnimated&&ut(this._container,0);clearTimeout(this._removeTimeout);this.getPane().appendChild(this._container);this.update();n._fadeAnimated&&ut(this._container,1);this.bringToFront()},onRemove:function(n){n._fadeAnimated?(ut(this._container,0),this._removeTimeout=setTimeout(c(a,void 0,this._container),200)):a(this._container)},getLatLng:function(){return this._latlng},setLatLng:function(n){return this._latlng=y(n),this._map&&(this._updatePosition(),this._adjustPan()),this},getContent:function(){return this._content},setContent:function(n){return this._content=n,this.update(),this},getElement:function(){return this._container},update:function(){this._map&&(this._container.style.visibility="hidden",this._updateContent(),this._updateLayout(),this._updatePosition(),this._container.style.visibility="",this._adjustPan())},getEvents:function(){var n={zoom:this._updatePosition,viewreset:this._updatePosition};return this._zoomAnimated&&(n.zoomanim=this._animateZoom),n},isOpen:function(){return!!this._map&&this._map.hasLayer(this)},bringToFront:function(){return this._map&&pi(this._container),this},bringToBack:function(){return this._map&&wi(this._container),this},_updateContent:function(){if(this._content){var n=this._contentNode,t="function"==typeof this._content?this._content(this._source||this):this._content;if("string"==typeof t)n.innerHTML=t;else{for(;n.hasChildNodes();)n.removeChild(n.firstChild);n.appendChild(t)}this.fire("contentupdate")}},_updatePosition:function(){var r,f;if(this._map){var t=this._map.latLngToLayerPoint(this._latlng),n=u(this.options.offset),i=this._getAnchor();this._zoomAnimated?b(this._container,t.add(i)):n=n.add(t).add(i);r=this._containerBottom=-n.y;f=this._containerLeft=-Math.round(this._containerWidth/2)+n.x;this._container.style.bottom=r+"px";this._container.style.left=f+"px"}},_getAnchor:function(){return[0,0]}}),or=ii.extend({options:{maxWidth:300,minWidth:50,maxHeight:null,autoPan:!0,autoPanPaddingTopLeft:null,autoPanPaddingBottomRight:null,autoPanPadding:[5,5],keepInView:!1,closeButton:!0,autoClose:!0,closeOnEscapeKey:!0,className:""},openOn:function(n){return n.openPopup(this),this},onAdd:function(n){ii.prototype.onAdd.call(this,n);n.fire("popupopen",{popup:this});this._source&&(this._source.fire("popupopen",{popup:this},!0),this._source instanceof oi||this._source.on("preclick",hi))},onRemove:function(n){ii.prototype.onRemove.call(this,n);n.fire("popupclose",{popup:this});this._source&&(this._source.fire("popupclose",{popup:this},!0),this._source instanceof oi||this._source.off("preclick",hi))},getEvents:function(){var n=ii.prototype.getEvents.call(this);return(void 0!==this.options.closeOnClick?this.options.closeOnClick:this._map.options.closePopupOnClick)&&(n.preclick=this._close),this.options.keepInView&&(n.moveend=this._adjustPan),n},_close:function(){this._map&&this._map.closePopup(this)},_initLayout:function(){var n="leaflet-popup",i=this._container=e("div",n+" "+(this.options.className||"")+" leaflet-zoom-animated"),u=this._wrapper=e("div",n+"-content-wrapper",i),t;(this._contentNode=e("div",n+"-content",u),ar(u),df(this._contentNode),r(u,"contextmenu",hi),this._tipContainer=e("div",n+"-tip-container",i),this._tip=e("div",n+"-tip",this._tipContainer),this.options.closeButton)&&(t=this._closeButton=e("a",n+"-close-button",i),t.href="#close",t.innerHTML="&#215;",r(t,"click",this._onCloseButtonClick,this))},_updateLayout:function(){var r=this._contentNode,n=r.style,t,f,u;n.width="";n.whiteSpace="nowrap";t=r.offsetWidth;t=Math.min(t,this.options.maxWidth);t=Math.max(t,this.options.minWidth);n.width=t+1+"px";n.whiteSpace="";n.height="";f=r.offsetHeight;u=this.options.maxHeight;u&&f>u?(n.height=u+"px",i(r,"leaflet-popup-scrolled")):p(r,"leaflet-popup-scrolled");this._containerWidth=this._container.offsetWidth},_animateZoom:function(n){var t=this._map._latLngToNewLayerPoint(this._latlng,n.zoom,n.center),i=this._getAnchor();b(this._container,t.add(i))},_adjustPan:function(){if(!(!this.options.autoPan||this._map._panAnim&&this._map._panAnim._inProgress)){var s=this._map,v=parseInt(lr(this._container,"marginBottom"),10)||0,h=this._container.offsetHeight+v,c=this._containerWidth,l=new t(this._containerLeft,-h-this._containerBottom);l._add(ri(this._container));var n=s.layerPointToContainerPoint(l),a=u(this.options.autoPanPadding),f=u(this.options.autoPanPaddingTopLeft||a),e=u(this.options.autoPanPaddingBottomRight||a),o=s.getSize(),i=0,r=0;n.x+c+e.x>o.x&&(i=n.x+c-o.x+e.x);n.x-i-f.x<0&&(i=n.x-f.x);n.y+h+e.y>o.y&&(r=n.y+h-o.y+e.y);n.y-r-f.y<0&&(r=n.y-f.y);(i||r)&&s.fire("autopanstart").panBy([i,r])}},_onCloseButtonClick:function(n){this._close();yt(n)},_getAnchor:function(){return u(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}});f.mergeOptions({closePopupOnClick:!0});f.include({openPopup:function(n,t,i){return n instanceof or||(n=new or(i).setContent(n)),t&&n.setLatLng(t),this.hasLayer(n)?this:(this._popup&&this._popup.options.autoClose&&this.closePopup(),this._popup=n,this.addLayer(n))},closePopup:function(n){return n&&n!==this._popup||(n=this._popup,this._popup=null),n&&this.removeLayer(n),this}});rt.include({bindPopup:function(n,t){return n instanceof or?(l(n,t),this._popup=n,n._source=this):(this._popup&&!t||(this._popup=new or(t,this)),this._popup.setContent(n)),this._popupHandlersAdded||(this.on({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!0),this},unbindPopup:function(){return this._popup&&(this.off({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!1,this._popup=null),this},openPopup:function(n,t){if(n instanceof rt||(t=n,n=this),n instanceof ai)for(var i in this._layers){n=this._layers[i];break}return t||(t=n.getCenter?n.getCenter():n.getLatLng()),this._popup&&this._map&&(this._popup._source=n,this._popup.update(),this._map.openPopup(this._popup,t)),this},closePopup:function(){return this._popup&&this._popup._close(),this},togglePopup:function(n){return this._popup&&(this._popup._map?this.closePopup():this.openPopup(n)),this},isPopupOpen:function(){return!!this._popup&&this._popup.isOpen()},setPopupContent:function(n){return this._popup&&this._popup.setContent(n),this},getPopup:function(){return this._popup},_openPopup:function(n){var t=n.layer||n.target;this._popup&&this._map&&(yt(n),t instanceof oi?this.openPopup(n.layer||n.target,n.latlng):this._map.hasLayer(this._popup)&&this._popup._source===t?this.closePopup():this.openPopup(t,n.latlng))},_movePopup:function(n){this._popup.setLatLng(n.latlng)},_onKeyPress:function(n){13===n.originalEvent.keyCode&&this._openPopup(n)}});vi=ii.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,interactive:!1,opacity:.9},onAdd:function(n){ii.prototype.onAdd.call(this,n);this.setOpacity(this.options.opacity);n.fire("tooltipopen",{tooltip:this});this._source&&this._source.fire("tooltipopen",{tooltip:this},!0)},onRemove:function(n){ii.prototype.onRemove.call(this,n);n.fire("tooltipclose",{tooltip:this});this._source&&this._source.fire("tooltipclose",{tooltip:this},!0)},getEvents:function(){var n=ii.prototype.getEvents.call(this);return wt&&!this.options.permanent&&(n.preclick=this._close),n},_close:function(){this._map&&this._map.closeTooltip(this)},_initLayout:function(){var n="leaflet-tooltip "+(this.options.className||"")+" leaflet-zoom-"+(this._zoomAnimated?"animated":"hide");this._contentNode=this._container=e("div",n)},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(n){var h=this._map,r=this._container,c=h.latLngToContainerPoint(h.getCenter()),l=h.layerPointToContainerPoint(n),f=this.options.direction,o=r.offsetWidth,s=r.offsetHeight,t=u(this.options.offset),e=this._getAnchor();"top"===f?n=n.add(u(-o/2+t.x,-s+t.y+e.y,!0)):"bottom"===f?n=n.subtract(u(o/2-t.x,-t.y,!0)):"center"===f?n=n.subtract(u(o/2+t.x,s/2-e.y+t.y,!0)):"right"===f||"auto"===f&&l.x<c.x?(f="right",n=n.add(u(t.x+e.x,e.y-s/2+t.y,!0))):(f="left",n=n.subtract(u(o+e.x-t.x,s/2-e.y-t.y,!0)));p(r,"leaflet-tooltip-right");p(r,"leaflet-tooltip-left");p(r,"leaflet-tooltip-top");p(r,"leaflet-tooltip-bottom");i(r,"leaflet-tooltip-"+f);b(r,n)},_updatePosition:function(){var n=this._map.latLngToLayerPoint(this._latlng);this._setPosition(n)},setOpacity:function(n){this.options.opacity=n;this._container&&ut(this._container,n)},_animateZoom:function(n){var t=this._map._latLngToNewLayerPoint(this._latlng,n.zoom,n.center);this._setPosition(t)},_getAnchor:function(){return u(this._source&&this._source._getTooltipAnchor&&!this.options.sticky?this._source._getTooltipAnchor():[0,0])}});f.include({openTooltip:function(n,t,i){return n instanceof vi||(n=new vi(i).setContent(n)),t&&n.setLatLng(t),this.hasLayer(n)?this:this.addLayer(n)},closeTooltip:function(n){return n&&this.removeLayer(n),this}});rt.include({bindTooltip:function(n,t){return n instanceof vi?(l(n,t),this._tooltip=n,n._source=this):(this._tooltip&&!t||(this._tooltip=new vi(t,this)),this._tooltip.setContent(n)),this._initTooltipInteractions(),this._tooltip.options.permanent&&this._map&&this._map.hasLayer(this)&&this.openTooltip(),this},unbindTooltip:function(){return this._tooltip&&(this._initTooltipInteractions(!0),this.closeTooltip(),this._tooltip=null),this},_initTooltipInteractions:function(n){if(n||!this._tooltipHandlersAdded){var i=n?"off":"on",t={remove:this.closeTooltip,move:this._moveTooltip};this._tooltip.options.permanent?t.add=this._openTooltip:(t.mouseover=this._openTooltip,t.mouseout=this.closeTooltip,this._tooltip.options.sticky&&(t.mousemove=this._moveTooltip),wt&&(t.click=this._openTooltip));this[i](t);this._tooltipHandlersAdded=!n}},openTooltip:function(n,t){if(n instanceof rt||(t=n,n=this),n instanceof ai)for(var r in this._layers){n=this._layers[r];break}return t||(t=n.getCenter?n.getCenter():n.getLatLng()),this._tooltip&&this._map&&(this._tooltip._source=n,this._tooltip.update(),this._map.openTooltip(this._tooltip,t),this._tooltip.options.interactive&&this._tooltip._container&&(i(this._tooltip._container,"leaflet-clickable"),this.addInteractiveTarget(this._tooltip._container))),this},closeTooltip:function(){return this._tooltip&&(this._tooltip._close(),this._tooltip.options.interactive&&this._tooltip._container&&(p(this._tooltip._container,"leaflet-clickable"),this.removeInteractiveTarget(this._tooltip._container))),this},toggleTooltip:function(n){return this._tooltip&&(this._tooltip._map?this.closeTooltip():this.openTooltip(n)),this},isTooltipOpen:function(){return this._tooltip.isOpen()},setTooltipContent:function(n){return this._tooltip&&this._tooltip.setContent(n),this},getTooltip:function(){return this._tooltip},_openTooltip:function(n){var t=n.layer||n.target;this._tooltip&&this._map&&this.openTooltip(t,this._tooltip.options.sticky?n.latlng:void 0)},_moveTooltip:function(n){var t,i,r=n.latlng;this._tooltip.options.sticky&&n.originalEvent&&(t=this._map.mouseEventToContainerPoint(n.originalEvent),i=this._map.containerPointToLayerPoint(t),r=this._map.layerPointToLatLng(i));this._tooltip.setLatLng(r)}});ao=fr.extend({options:{iconSize:[12,12],html:!1,bgPos:null,className:"leaflet-div-icon"},createIcon:function(n){var t=n&&"DIV"===n.tagName?n:document.createElement("div"),i=this.options,r;return(t.innerHTML=!1!==i.html?i.html:"",i.bgPos)&&(r=u(i.bgPos),t.style.backgroundPosition=-r.x+"px "+-r.y+"px"),this._setIconStyles(t,"icon"),t},createShadow:function(){return null}});fr.Default=nu;var iu=rt.extend({options:{tileSize:256,opacity:1,updateWhenIdle:nr,updateWhenZooming:!0,updateInterval:200,zIndex:1,bounds:null,minZoom:0,maxZoom:void 0,maxNativeZoom:void 0,minNativeZoom:void 0,noWrap:!1,pane:"tilePane",className:"",keepBuffer:2},initialize:function(n){l(this,n)},onAdd:function(){this._initContainer();this._levels={};this._tiles={};this._resetView();this._update()},beforeAdd:function(n){n._addZoomLimit(this)},onRemove:function(n){this._removeAllTiles();a(this._container);n._removeZoomLimit(this);this._container=null;this._tileZoom=void 0},bringToFront:function(){return this._map&&(pi(this._container),this._setAutoZIndex(Math.max)),this},bringToBack:function(){return this._map&&(wi(this._container),this._setAutoZIndex(Math.min)),this},getContainer:function(){return this._container},setOpacity:function(n){return this.options.opacity=n,this._updateOpacity(),this},setZIndex:function(n){return this.options.zIndex=n,this._updateZIndex(),this},isLoading:function(){return this._loading},redraw:function(){return this._map&&(this._removeAllTiles(),this._update()),this},getEvents:function(){var n={viewprereset:this._invalidateAll,viewreset:this._resetView,zoom:this._resetView,moveend:this._onMoveEnd};return this.options.updateWhenIdle||(this._onMove||(this._onMove=ef(this._onMoveEnd,this.options.updateInterval,this)),n.move=this._onMove),this._zoomAnimated&&(n.zoomanim=this._animateZoom),n},createTile:function(){return document.createElement("div")},getTileSize:function(){var n=this.options.tileSize;return n instanceof t?n:new t(n,n)},_updateZIndex:function(){this._container&&void 0!==this.options.zIndex&&null!==this.options.zIndex&&(this._container.style.zIndex=this.options.zIndex)},_setAutoZIndex:function(n){for(var r,u=this.getPane().children,t=-n(-1/0,1/0),i=0,f=u.length;i<f;i++)r=u[i].style.zIndex,u[i]!==this._container&&r&&(t=n(t,+r));isFinite(t)&&(this.options.zIndex=t+n(-1,1),this._updateZIndex())},_updateOpacity:function(){var u,n,t;if(this._map&&!di){ut(this._container,this.options.opacity);var f=+new Date,i=!1,r=!1;for(u in this._tiles)n=this._tiles[u],n.current&&n.loaded&&(t=Math.min(1,(f-n.loaded)/200),ut(n.el,t),t<1?i=!0:(n.active?r=!0:this._onOpaqueTile(n),n.active=!0));r&&!this._noPrune&&this._pruneTiles();i&&(nt(this._fadeFrame),this._fadeFrame=d(this._updateOpacity,this))}},_onOpaqueTile:g,_initContainer:function(){this._container||(this._container=e("div","leaflet-layer "+(this.options.className||"")),this._updateZIndex(),this.options.opacity<1&&this._updateOpacity(),this.getPane().appendChild(this._container))},_updateLevels:function(){var i=this._tileZoom,u=this.options.maxZoom,t,n,r;if(void 0!==i){for(t in this._levels)this._levels[t].el.children.length||t===i?(this._levels[t].el.style.zIndex=u-Math.abs(i-t),this._onUpdateLevel(t)):(a(this._levels[t].el),this._removeTilesAtZoom(t),this._onRemoveLevel(t),delete this._levels[t]);return n=this._levels[i],r=this._map,n||((n=this._levels[i]={}).el=e("div","leaflet-tile-container leaflet-zoom-animated",this._container),n.el.style.zIndex=u,n.origin=r.project(r.unproject(r.getPixelOrigin()),i).round(),n.zoom=i,this._setZoomTransform(n,r.getCenter(),r.getZoom()),n.el.offsetWidth,this._onCreateLevel(n)),this._level=n,n}},_onUpdateLevel:g,_onRemoveLevel:g,_onCreateLevel:g,_pruneTiles:function(){var t,i,r,n;if(this._map)if(r=this._map.getZoom(),r>this.options.maxZoom||r<this.options.minZoom)this._removeAllTiles();else{for(t in this._tiles)(i=this._tiles[t]).retain=i.current;for(t in this._tiles)(i=this._tiles[t]).current&&!i.active&&(n=i.coords,this._retainParent(n.x,n.y,n.z,n.z-5)||this._retainChildren(n.x,n.y,n.z,n.z+2));for(t in this._tiles)this._tiles[t].retain||this._removeTile(t)}},_removeTilesAtZoom:function(n){for(var t in this._tiles)this._tiles[t].coords.z===n&&this._removeTile(t)},_removeAllTiles:function(){for(var n in this._tiles)this._removeTile(n)},_invalidateAll:function(){for(var n in this._levels)a(this._levels[n].el),this._onRemoveLevel(n),delete this._levels[n];this._removeAllTiles();this._tileZoom=void 0},_retainParent:function(n,i,r,u){var o=Math.floor(n/2),s=Math.floor(i/2),e=r-1,h=new t(+o,+s),c,f;return h.z=+e,c=this._tileCoordsToKey(h),f=this._tiles[c],f&&f.active?(f.retain=!0,!0):(f&&f.loaded&&(f.retain=!0),e>u&&this._retainParent(o,s,e,u))},_retainChildren:function(n,i,r,u){for(var o,s,h,f,e=2*n;e<2*n+2;e++)for(o=2*i;o<2*i+2;o++)s=new t(e,o),s.z=r+1,h=this._tileCoordsToKey(s),f=this._tiles[h],f&&f.active?f.retain=!0:(f&&f.loaded&&(f.retain=!0),r+1<u&&this._retainChildren(e,o,r+1,u))},_resetView:function(n){var t=n&&(n.pinch||n.flyTo);this._setView(this._map.getCenter(),this._map.getZoom(),t,t)},_animateZoom:function(n){this._setView(n.center,n.zoom,!0,n.noUpdate)},_clampZoom:function(n){var t=this.options;return void 0!==t.minNativeZoom&&n<t.minNativeZoom?t.minNativeZoom:void 0!==t.maxNativeZoom&&t.maxNativeZoom<n?t.maxNativeZoom:n},_setView:function(n,t,i,r){var u=this._clampZoom(Math.round(t)),f;(void 0!==this.options.maxZoom&&u>this.options.maxZoom||void 0!==this.options.minZoom&&u<this.options.minZoom)&&(u=void 0);f=this.options.updateWhenZooming&&u!==this._tileZoom;r&&!f||(this._tileZoom=u,this._abortLoading&&this._abortLoading(),this._updateLevels(),this._resetGrid(),void 0!==u&&this._update(n),i||this._pruneTiles(),this._noPrune=!!i);this._setZoomTransforms(n,t)},_setZoomTransforms:function(n,t){for(var i in this._levels)this._setZoomTransform(this._levels[i],n,t)},_setZoomTransform:function(n,t,i){var r=this._map.getZoomScale(i,n.zoom),u=n.origin.multiplyBy(r).subtract(this._map._getNewPixelOrigin(t,i)).round();et?si(n.el,u,r):b(n.el,u)},_resetGrid:function(){var t=this._map,n=t.options.crs,i=this._tileSize=this.getTileSize(),r=this._tileZoom,u=this._map.getPixelWorldBounds(this._tileZoom);u&&(this._globalTileRange=this._pxBoundsToTileRange(u));this._wrapX=n.wrapLng&&!this.options.noWrap&&[Math.floor(t.project([0,n.wrapLng[0]],r).x/i.x),Math.ceil(t.project([0,n.wrapLng[1]],r).x/i.y)];this._wrapY=n.wrapLat&&!this.options.noWrap&&[Math.floor(t.project([n.wrapLat[0],0],r).y/i.x),Math.ceil(t.project([n.wrapLat[1],0],r).y/i.y)]},_onMoveEnd:function(){this._map&&!this._map._animatingZoom&&this._update()},_getTiledPixelBounds:function(n){var t=this._map,u=t._animatingZoom?Math.max(t._animateToZoom,t.getZoom()):t.getZoom(),f=t.getZoomScale(u,this._tileZoom),i=t.project(n,this._tileZoom).floor(),r=t.getSize().divideBy(2*f);return new v(i.subtract(r),i.add(r))},_update:function(n){var h=this._map,c,l,o,s,r,f,a,y;if(h&&(c=this._clampZoom(h.getZoom()),void 0===n&&(n=h.getCenter()),void 0!==this._tileZoom)){var w=this._getTiledPixelBounds(n),i=this._pxBoundsToTileRange(w),p=i.getCenter(),u=[],e=this.options.keepBuffer,b=new v(i.getBottomLeft().subtract([e,-e]),i.getTopRight().add([e,-e]));if(!(isFinite(i.min.x)&&isFinite(i.min.y)&&isFinite(i.max.x)&&isFinite(i.max.y)))throw new Error("Attempted to load an infinite number of tiles");for(l in this._tiles)o=this._tiles[l].coords,o.z===this._tileZoom&&b.contains(new t(o.x,o.y))||(this._tiles[l].current=!1);if(Math.abs(c-this._tileZoom)>1)this._setView(n,c);else{for(s=i.min.y;s<=i.max.y;s++)for(r=i.min.x;r<=i.max.x;r++)f=new t(r,s),(f.z=this._tileZoom,this._isValidTile(f))&&(a=this._tiles[this._tileCoordsToKey(f)],a?a.current=!0:u.push(f));if(u.sort(function(n,t){return n.distanceTo(p)-t.distanceTo(p)}),0!==u.length){for(this._loading||(this._loading=!0,this.fire("loading")),y=document.createDocumentFragment(),r=0;r<u.length;r++)this._addTile(u[r],y);this._level.el.appendChild(y)}}}},_isValidTile:function(n){var i=this._map.options.crs,t,r;return!i.infinite&&(t=this._globalTileRange,!i.wrapLng&&(n.x<t.min.x||n.x>t.max.x)||!i.wrapLat&&(n.y<t.min.y||n.y>t.max.y))?!1:this.options.bounds?(r=this._tileCoordsToBounds(n),k(this.options.bounds).overlaps(r)):!0},_keyToBounds:function(n){return this._tileCoordsToBounds(this._keyToTileCoords(n))},_tileCoordsToNwSe:function(n){var t=this._map,i=this.getTileSize(),r=n.scaleBy(i),u=r.add(i);return[t.unproject(r,n.z),t.unproject(u,n.z)]},_tileCoordsToBounds:function(n){var i=this._tileCoordsToNwSe(n),t=new tt(i[0],i[1]);return this.options.noWrap||(t=this._map.wrapLatLngBounds(t)),t},_tileCoordsToKey:function(n){return n.x+":"+n.y+":"+n.z},_keyToTileCoords:function(n){var i=n.split(":"),r=new t(+i[0],+i[1]);return r.z=+i[2],r},_removeTile:function(n){var t=this._tiles[n];t&&(a(t.el),delete this._tiles[n],this.fire("tileunload",{tile:t.el,coords:this._keyToTileCoords(n)}))},_initTile:function(n){i(n,"leaflet-tile");var t=this.getTileSize();n.style.width=t.x+"px";n.style.height=t.y+"px";n.onselectstart=g;n.onmousemove=g;di&&this.options.opacity<1&&ut(n,this.options.opacity);gi&&!br&&(n.style.WebkitBackfaceVisibility="hidden")},_addTile:function(n,t){var r=this._getTilePos(n),u=this._tileCoordsToKey(n),i=this.createTile(this._wrapCoords(n),c(this._tileReady,this,n));this._initTile(i);this.createTile.length<2&&d(c(this._tileReady,this,n,null,i));b(i,r);this._tiles[u]={el:i,coords:n,current:!0};t.appendChild(i);this.fire("tileloadstart",{tile:i,coords:n})},_tileReady:function(n,t,r){t&&this.fire("tileerror",{error:t,tile:r,coords:n});var u=this._tileCoordsToKey(n);(r=this._tiles[u])&&(r.loaded=+new Date,this._map._fadeAnimated?(ut(r.el,0),nt(this._fadeFrame),this._fadeFrame=d(this._updateOpacity,this)):(r.active=!0,this._pruneTiles()),t||(i(r.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:r.el,coords:n})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),di||!this._map._fadeAnimated?d(this._pruneTiles,this):setTimeout(c(this._pruneTiles,this),250)))},_getTilePos:function(n){return n.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(n){var i=new t(this._wrapX?hr(n.x,this._wrapX):n.x,this._wrapY?hr(n.y,this._wrapY):n.y);return i.z=n.z,i},_pxBoundsToTileRange:function(n){var t=this.getTileSize();return new v(n.min.unscaleBy(t).floor(),n.max.unscaleBy(t).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var n in this._tiles)if(!this._tiles[n].loaded)return!1;return!0}}),sr=iu.extend({options:{minZoom:0,maxZoom:18,subdomains:"abc",errorTileUrl:"",zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1},initialize:function(n,t){this._url=n;(t=l(this,t)).detectRetina&&ei&&t.maxZoom>0&&(t.tileSize=Math.floor(t.tileSize/2),t.zoomReverse?(t.zoomOffset--,t.minZoom++):(t.zoomOffset++,t.maxZoom--),t.minZoom=Math.max(0,t.minZoom));"string"==typeof t.subdomains&&(t.subdomains=t.subdomains.split(""));gi||this.on("tileunload",this._onTileRemove)},setUrl:function(n,t){return this._url=n,t||this.redraw(),this},createTile:function(n,t){var i=document.createElement("img");return r(i,"load",c(this._tileOnLoad,this,t,i)),r(i,"error",c(this._tileOnError,this,t,i)),(this.options.crossOrigin||""===this.options.crossOrigin)&&(i.crossOrigin=!0===this.options.crossOrigin?"":this.options.crossOrigin),i.alt="",i.setAttribute("role","presentation"),i.src=this.getTileUrl(n),i},getTileUrl:function(n){var t={r:ei?"@2x":"",s:this._getSubdomain(n),x:n.x,y:n.y,z:this._getZoomForUrl()},i;return this._map&&!this._map.options.crs.infinite&&(i=this._globalTileRange.max.y-n.y,this.options.tms&&(t.y=i),t["-y"]=i),is(this._url,s(t,this.options))},_tileOnLoad:function(n,t){di?setTimeout(c(n,this,null,t),0):n(null,t)},_tileOnError:function(n,t,i){var r=this.options.errorTileUrl;r&&t.getAttribute("src")!==r&&(t.src=r);n(i,t)},_onTileRemove:function(n){n.tile.onload=null},_getZoomForUrl:function(){var n=this._tileZoom,t=this.options.maxZoom,i=this.options.zoomReverse,r=this.options.zoomOffset;return i&&(n=t-n),n+r},_getSubdomain:function(n){var t=Math.abs(n.x+n.y)%this.options.subdomains.length;return this.options.subdomains[t]},_abortLoading:function(){var t,n;for(t in this._tiles)this._tiles[t].coords.z!==this._tileZoom&&((n=this._tiles[t].el).onload=g,n.onerror=g,n.complete||(n.src=pu,a(n),delete this._tiles[t]))},_removeTile:function(n){var t=this._tiles[n];if(t)return eh||t.el.setAttribute("src",pu),iu.prototype._removeTile.call(this,n)},_tileReady:function(n,t,i){if(this._map&&(!i||i.getAttribute("src")!==pu))return iu.prototype._tileReady.call(this,n,t,i)}}),ic=sr.extend({defaultWmsParams:{service:"WMS",request:"GetMap",layers:"",styles:"",format:"image/jpeg",transparent:!1,version:"1.1.1"},options:{crs:null,uppercase:!1},initialize:function(n,t){var i,r,u,f;this._url=n;i=s({},this.defaultWmsParams);for(r in t)r in this.options||(i[r]=t[r]);u=(t=l(this,t)).detectRetina&&ei?2:1;f=this.getTileSize();i.width=f.x*u;i.height=f.y*u;this.wmsParams=i},onAdd:function(n){this._crs=this.options.crs||n.options.crs;this._wmsVersion=parseFloat(this.wmsParams.version);var t=this._wmsVersion>=1.3?"crs":"srs";this.wmsParams[t]=this._crs.code;sr.prototype.onAdd.call(this,n)},getTileUrl:function(n){var r=this._tileCoordsToNwSe(n),u=this._crs,f=at(u.project(r[0]),u.project(r[1])),t=f.min,i=f.max,o=(this._wmsVersion>=1.3&&this._crs===gh?[t.y,t.x,i.y,i.x]:[t.x,t.y,i.x,i.y]).join(","),e=sr.prototype.getTileUrl.call(this,n);return e+ts(this.wmsParams,e,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+o},setParams:function(n,t){return s(this.wmsParams,n),t||this.redraw(),this}});sr.WMS=ic;gs.wms=function(n,t){return new ic(n,t)};var bt=rt.extend({options:{padding:.1,tolerance:0},initialize:function(n){l(this,n);o(this);this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),this._zoomAnimated&&i(this._container,"leaflet-zoom-animated"));this.getPane().appendChild(this._container);this._update();this.on("update",this._updatePaths,this)},onRemove:function(){this.off("update",this._updatePaths,this);this._destroyContainer()},getEvents:function(){var n={viewreset:this._reset,zoom:this._onZoom,moveend:this._update,zoomend:this._onZoomEnd};return this._zoomAnimated&&(n.zoomanim=this._onAnimZoom),n},_onAnimZoom:function(n){this._updateTransform(n.center,n.zoom)},_onZoom:function(){this._updateTransform(this._map.getCenter(),this._map.getZoom())},_updateTransform:function(n,t){var i=this._map.getZoomScale(t,this._zoom),f=ri(this._container),r=this._map.getSize().multiplyBy(.5+this.options.padding),e=this._map.project(this._center,t),o=this._map.project(n,t).subtract(e),u=r.multiplyBy(-i).add(f).add(r).subtract(o);et?si(this._container,u,i):b(this._container,u)},_reset:function(){this._update();this._updateTransform(this._center,this._zoom);for(var n in this._layers)this._layers[n]._reset()},_onZoomEnd:function(){for(var n in this._layers)this._layers[n]._project()},_updatePaths:function(){for(var n in this._layers)this._layers[n]._update()},_update:function(){var n=this.options.padding,t=this._map.getSize(),i=this._map.containerPointToLayerPoint(t.multiplyBy(-n)).round();this._bounds=new v(i,i.add(t.multiplyBy(1+2*n)).round());this._center=this._map.getCenter();this._zoom=this._map.getZoom()}}),rc=bt.extend({getEvents:function(){var n=bt.prototype.getEvents.call(this);return n.viewprereset=this._onViewPreReset,n},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){bt.prototype.onAdd.call(this);this._draw()},_initContainer:function(){var n=this._container=document.createElement("canvas");r(n,"mousemove",ef(this._onMouseMove,32,this),this);r(n,"click dblclick mousedown mouseup contextmenu",this._onClick,this);r(n,"mouseout",this._handleMouseOut,this);this._ctx=n.getContext("2d")},_destroyContainer:function(){nt(this._redrawRequest);delete this._ctx;a(this._container);w(this._container);delete this._container},_updatePaths:function(){if(!this._postponeUpdatePaths){this._redrawBounds=null;for(var n in this._layers)this._layers[n]._update();this._redraw()}},_update:function(){if(!this._map._animatingZoom||!this._bounds){this._drawnLayers={};bt.prototype._update.call(this);var t=this._bounds,n=this._container,i=t.getSize(),r=ei?2:1;b(n,t.min);n.width=r*i.x;n.height=r*i.y;n.style.width=i.x+"px";n.style.height=i.y+"px";ei&&this._ctx.scale(2,2);this._ctx.translate(-t.min.x,-t.min.y);this.fire("update")}},_reset:function(){bt.prototype._reset.call(this);this._postponeUpdatePaths&&(this._postponeUpdatePaths=!1,this._updatePaths())},_initPath:function(n){this._updateDashArray(n);this._layers[o(n)]=n;var t=n._order={layer:n,prev:this._drawLast,next:null};this._drawLast&&(this._drawLast.next=t);this._drawLast=t;this._drawFirst=this._drawFirst||this._drawLast},_addPath:function(n){this._requestRedraw(n)},_removePath:function(n){var r=n._order,t=r.next,i=r.prev;t?t.prev=i:this._drawLast=i;i?i.next=t:this._drawFirst=t;delete this._drawnLayers[n._leaflet_id];delete n._order;delete this._layers[o(n)];this._requestRedraw(n)},_updatePath:function(n){this._extendRedrawBounds(n);n._project();n._update();this._requestRedraw(n)},_updateStyle:function(n){this._updateDashArray(n);this._requestRedraw(n)},_updateDashArray:function(n){if("string"==typeof n.options.dashArray){for(var i=n.options.dashArray.split(/[, ]+/),r=[],t=0;t<i.length;t++)r.push(Number(i[t]));n.options._dashArray=r}else n.options._dashArray=n.options.dashArray},_requestRedraw:function(n){this._map&&(this._extendRedrawBounds(n),this._redrawRequest=this._redrawRequest||d(this._redraw,this))},_extendRedrawBounds:function(n){if(n._pxBounds){var t=(n.options.weight||0)+1;this._redrawBounds=this._redrawBounds||new v;this._redrawBounds.extend(n._pxBounds.min.subtract([t,t]));this._redrawBounds.extend(n._pxBounds.max.add([t,t]))}},_redraw:function(){this._redrawRequest=null;this._redrawBounds&&(this._redrawBounds.min._floor(),this._redrawBounds.max._ceil());this._clear();this._draw();this._redrawBounds=null},_clear:function(){var n=this._redrawBounds,t;n?(t=n.getSize(),this._ctx.clearRect(n.min.x,n.min.y,t.x,t.y)):this._ctx.clearRect(0,0,this._container.width,this._container.height)},_draw:function(){var i,n=this._redrawBounds,r,t;for((this._ctx.save(),n)&&(r=n.getSize(),this._ctx.beginPath(),this._ctx.rect(n.min.x,n.min.y,r.x,r.y),this._ctx.clip()),this._drawing=!0,t=this._drawFirst;t;t=t.next)i=t.layer,(!n||i._pxBounds&&i._pxBounds.intersects(n))&&i._updatePath();this._drawing=!1;this._ctx.restore()},_updatePoly:function(n,t){if(this._drawing){var i,r,o,f,e=n._parts,s=e.length,u=this._ctx;if(s){for(this._drawnLayers[n._leaflet_id]=n,u.beginPath(),i=0;i<s;i++){for(r=0,o=e[i].length;r<o;r++)f=e[i][r],u[r?"lineTo":"moveTo"](f.x,f.y);t&&u.closePath()}this._fillStroke(u,n)}}},_updateCircle:function(n){if(this._drawing&&!n._empty()){var u=n._point,t=this._ctx,r=Math.max(Math.round(n._radius),1),i=(Math.max(Math.round(n._radiusY),1)||r)/r;this._drawnLayers[n._leaflet_id]=n;1!==i&&(t.save(),t.scale(1,i));t.beginPath();t.arc(u.x,u.y/i,r,0,2*Math.PI,!1);1!==i&&t.restore();this._fillStroke(t,n)}},_fillStroke:function(n,t){var i=t.options;i.fill&&(n.globalAlpha=i.fillOpacity,n.fillStyle=i.fillColor||i.color,n.fill(i.fillRule||"evenodd"));i.stroke&&0!==i.weight&&(n.setLineDash&&n.setLineDash(t.options&&t.options._dashArray||[]),n.globalAlpha=i.opacity,n.lineWidth=i.weight,n.strokeStyle=i.color,n.lineCap=i.lineCap,n.lineJoin=i.lineJoin,n.stroke())},_onClick:function(n){for(var t,r,u=this._map.mouseEventToLayerPoint(n),i=this._drawFirst;i;i=i.next)(t=i.layer).options.interactive&&t._containsPoint(u)&&!this._map._draggableMoved(t)&&(r=t);r&&(gf(n),this._fireEvent([r],n))},_onMouseMove:function(n){if(this._map&&!this._map.dragging.moving()&&!this._map._animatingZoom){var t=this._map.mouseEventToLayerPoint(n);this._handleMouseHover(n,t)}},_handleMouseOut:function(n){var t=this._hoveredLayer;t&&(p(this._container,"leaflet-interactive"),this._fireEvent([t],n,"mouseout"),this._hoveredLayer=null)},_handleMouseHover:function(n,t){for(var f,r,u=this._drawFirst;u;u=u.next)(f=u.layer).options.interactive&&f._containsPoint(t)&&(r=f);r!==this._hoveredLayer&&(this._handleMouseOut(n),r&&(i(this._container,"leaflet-interactive"),this._fireEvent([r],n,"mouseover"),this._hoveredLayer=r));this._hoveredLayer&&this._fireEvent([this._hoveredLayer],n)},_fireEvent:function(n,t,i){this._map._fireDOMEvent(t,i||t.type,n)},_bringToFront:function(n){var t=n._order,i=t.next,r=t.prev;i&&(i.prev=r,r?r.next=i:i&&(this._drawFirst=i),t.prev=this._drawLast,this._drawLast.next=t,t.next=null,this._drawLast=t,this._requestRedraw(n))},_bringToBack:function(n){var t=n._order,r=t.next,i=t.prev;i&&(i.next=r,r?r.prev=i:i&&(this._drawLast=i),t.prev=null,t.next=this._drawFirst,this._drawFirst.prev=t,this._drawFirst=t,this._requestRedraw(n))}}),ru=function(){try{return document.namespaces.add("lvml","urn:schemas-microsoft-com:vml"),function(n){return document.createElement("<lvml:"+n+' class="lvml">')}}catch(n){return function(n){return document.createElement("<"+n+' xmlns="urn:schemas-microsoft.com:vml" class="lvml">')}}}(),wl={_initContainer:function(){this._container=e("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(bt.prototype._update.call(this),this.fire("update"))},_initPath:function(n){var t=n._container=ru("shape");i(t,"leaflet-vml-shape "+(this.options.className||""));t.coordsize="1 1";n._path=ru("path");t.appendChild(n._path);this._updateStyle(n);this._layers[o(n)]=n},_addPath:function(n){var t=n._container;this._container.appendChild(t);n.options.interactive&&n.addInteractiveTarget(t)},_removePath:function(n){var t=n._container;a(t);n.removeInteractiveTarget(t);delete this._layers[o(n)]},_updateStyle:function(n){var i=n._stroke,r=n._fill,t=n.options,u=n._container;u.stroked=!!t.stroke;u.filled=!!t.fill;t.stroke?(i||(i=n._stroke=ru("stroke")),u.appendChild(i),i.weight=t.weight+"px",i.color=t.color,i.opacity=t.opacity,i.dashStyle=t.dashArray?pt(t.dashArray)?t.dashArray.join(" "):t.dashArray.replace(/( *, *)/g," "):"",i.endcap=t.lineCap.replace("butt","flat"),i.joinstyle=t.lineJoin):i&&(u.removeChild(i),n._stroke=null);t.fill?(r||(r=n._fill=ru("fill")),u.appendChild(r),r.color=t.fillColor||t.color,r.opacity=t.fillOpacity):r&&(u.removeChild(r),n._fill=null)},_updateCircle:function(n){var t=n._point.round(),i=Math.round(n._radius),r=Math.round(n._radiusY||i);this._setPath(n,n._empty()?"M0 0":"AL "+t.x+","+t.y+" "+i+","+r+" 0,23592600")},_setPath:function(n,t){n._path.v=t},_bringToFront:function(n){pi(n._container)},_bringToBack:function(n){wi(n._container)}},ff=ku?ru:fs,uu=bt.extend({getEvents:function(){var n=bt.prototype.getEvents.call(this);return n.zoomstart=this._onZoomStart,n},_initContainer:function(){this._container=ff("svg");this._container.setAttribute("pointer-events","none");this._rootGroup=ff("g");this._container.appendChild(this._rootGroup)},_destroyContainer:function(){a(this._container);w(this._container);delete this._container;delete this._rootGroup;delete this._svgSize},_onZoomStart:function(){this._update()},_update:function(){if(!this._map._animatingZoom||!this._bounds){bt.prototype._update.call(this);var t=this._bounds,n=t.getSize(),i=this._container;this._svgSize&&this._svgSize.equals(n)||(this._svgSize=n,i.setAttribute("width",n.x),i.setAttribute("height",n.y));b(i,t.min);i.setAttribute("viewBox",[t.min.x,t.min.y,n.x,n.y].join(" "));this.fire("update")}},_initPath:function(n){var t=n._path=ff("path");n.options.className&&i(t,n.options.className);n.options.interactive&&i(t,"leaflet-interactive");this._updateStyle(n);this._layers[o(n)]=n},_addPath:function(n){this._rootGroup||this._initContainer();this._rootGroup.appendChild(n._path);n.addInteractiveTarget(n._path)},_removePath:function(n){a(n._path);n.removeInteractiveTarget(n._path);delete this._layers[o(n)]},_updatePath:function(n){n._project();n._update()},_updateStyle:function(n){var t=n._path,i=n.options;t&&(i.stroke?(t.setAttribute("stroke",i.color),t.setAttribute("stroke-opacity",i.opacity),t.setAttribute("stroke-width",i.weight),t.setAttribute("stroke-linecap",i.lineCap),t.setAttribute("stroke-linejoin",i.lineJoin),i.dashArray?t.setAttribute("stroke-dasharray",i.dashArray):t.removeAttribute("stroke-dasharray"),i.dashOffset?t.setAttribute("stroke-dashoffset",i.dashOffset):t.removeAttribute("stroke-dashoffset")):t.setAttribute("stroke","none"),i.fill?(t.setAttribute("fill",i.fillColor||i.color),t.setAttribute("fill-opacity",i.fillOpacity),t.setAttribute("fill-rule",i.fillRule||"evenodd")):t.setAttribute("fill","none"))},_updatePoly:function(n,t){this._setPath(n,es(n._parts,t))},_updateCircle:function(n){var i=n._point,t=Math.max(Math.round(n._radius),1),r="a"+t+","+(Math.max(Math.round(n._radiusY),1)||t)+" 0 1,0 ",u=n._empty()?"M0 0":"M"+(i.x-t)+","+i.y+r+2*t+",0 "+r+2*-t+",0 ";this._setPath(n,u)},_setPath:function(n,t){n._path.setAttribute("d",t)},_bringToFront:function(n){pi(n._path)},_bringToBack:function(n){wi(n._path)}});ku&&uu.include(wl);f.include({getRenderer:function(n){var t=n.options.renderer||this._getPaneRenderer(n.options.pane)||this.options.renderer||this._renderer;return t||(t=this._renderer=this._createRenderer()),this.hasLayer(t)||this.addLayer(t),t},_getPaneRenderer:function(n){if("overlayPane"===n||void 0===n)return!1;var t=this._paneRenderers[n];return void 0===t&&(t=this._createRenderer({pane:n}),this._paneRenderers[n]=t),t},_createRenderer:function(n){return this.options.preferCanvas&&nh(n)||th(n)}});vo=er.extend({initialize:function(n,t){er.prototype.initialize.call(this,this._boundsToLatLngs(n),t)},setBounds:function(n){return this.setLatLngs(this._boundsToLatLngs(n))},_boundsToLatLngs:function(n){return n=k(n),[n.getSouthWest(),n.getNorthWest(),n.getNorthEast(),n.getSouthEast()]}});uu.create=ff;uu.pointsToPath=es;ti.geometryToLayer=ie;ti.coordsToLatLng=re;ti.coordsToLatLngs=lu;ti.latLngToCoords=ue;ti.latLngsToCoords=au;ti.getFeature=bi;ti.asFeature=vu;f.mergeOptions({boxZoom:!0});yo=ct.extend({initialize:function(n){this._map=n;this._container=n._container;this._pane=n._panes.overlayPane;this._resetStateTimeout=0;n.on("unload",this._destroy,this)},addHooks:function(){r(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){w(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){a(this._pane);delete this._pane},_resetState:function(){this._resetStateTimeout=0;this._moved=!1},_clearDeferredResetState:function(){0!==this._resetStateTimeout&&(clearTimeout(this._resetStateTimeout),this._resetStateTimeout=0)},_onMouseDown:function(n){if(!n.shiftKey||1!==n.which&&1!==n.button)return!1;this._clearDeferredResetState();this._resetState();yr();yf();this._startPoint=this._map.mouseEventToContainerPoint(n);r(document,{contextmenu:yt,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(n){this._moved||(this._moved=!0,this._box=e("div","leaflet-zoom-box",this._container),i(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart"));this._point=this._map.mouseEventToContainerPoint(n);var t=new v(this._point,this._startPoint),r=t.getSize();b(this._box,t.min);this._box.style.width=r.x+"px";this._box.style.height=r.y+"px"},_finish:function(){this._moved&&(a(this._box),p(this._container,"leaflet-crosshair"));pr();pf();w(document,{contextmenu:yt,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseUp:function(n){if((1===n.which||1===n.button)&&(this._finish(),this._moved)){this._clearDeferredResetState();this._resetStateTimeout=setTimeout(c(this._resetState,this),0);var t=new tt(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point));this._map.fitBounds(t).fire("boxzoomend",{boxZoomBounds:t})}},_onKeyDown:function(n){27===n.keyCode&&this._finish()}});f.addInitHook("addHandler","boxZoom",yo);f.mergeOptions({doubleClickZoom:!0});po=ct.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick,this)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick,this)},_onDoubleClick:function(n){var t=this._map,i=t.getZoom(),r=t.options.zoomDelta,u=n.originalEvent.shiftKey?i-r:i+r;"center"===t.options.doubleClickZoom?t.setZoom(u):t.setZoomAround(n.containerPoint,u)}});f.addInitHook("addHandler","doubleClickZoom",po);f.mergeOptions({dragging:!0,inertia:!br,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0});wo=ct.extend({addHooks:function(){if(!this._draggable){var n=this._map;this._draggable=new li(n._mapPane,n._container);this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this);this._draggable.on("predrag",this._onPreDragLimit,this);n.options.worldCopyJump&&(this._draggable.on("predrag",this._onPreDragWrap,this),n.on("zoomend",this._onZoomEnd,this),n.whenReady(this._onZoomEnd,this))}i(this._map._container,"leaflet-grab leaflet-touch-drag");this._draggable.enable();this._positions=[];this._times=[]},removeHooks:function(){p(this._map._container,"leaflet-grab");p(this._map._container,"leaflet-touch-drag");this._draggable.disable()},moved:function(){return this._draggable&&this._draggable._moved},moving:function(){return this._draggable&&this._draggable._moving},_onDragStart:function(){var n=this._map,t;(n._stop(),this._map.options.maxBounds&&this._map.options.maxBoundsViscosity)?(t=k(this._map.options.maxBounds),this._offsetLimit=at(this._map.latLngToContainerPoint(t.getNorthWest()).multiplyBy(-1),this._map.latLngToContainerPoint(t.getSouthEast()).multiplyBy(-1).add(this._map.getSize())),this._viscosity=Math.min(1,Math.max(0,this._map.options.maxBoundsViscosity))):this._offsetLimit=null;n.fire("movestart").fire("dragstart");n.options.inertia&&(this._positions=[],this._times=[])},_onDrag:function(n){if(this._map.options.inertia){var t=this._lastTime=+new Date,i=this._lastPos=this._draggable._absPos||this._draggable._newPos;this._positions.push(i);this._times.push(t);this._prunePositions(t)}this._map.fire("move",n).fire("drag",n)},_prunePositions:function(n){for(;this._positions.length>1&&n-this._times[0]>50;)this._positions.shift(),this._times.shift()},_onZoomEnd:function(){var n=this._map.getSize().divideBy(2),t=this._map.latLngToLayerPoint([0,0]);this._initialWorldOffset=t.subtract(n).x;this._worldWidth=this._map.getPixelWorldBounds().getSize().x},_viscousLimit:function(n,t){return n-(n-t)*this._viscosity},_onPreDragLimit:function(){if(this._viscosity&&this._offsetLimit){var n=this._draggable._newPos.subtract(this._draggable._startPos),t=this._offsetLimit;n.x<t.min.x&&(n.x=this._viscousLimit(n.x,t.min.x));n.y<t.min.y&&(n.y=this._viscousLimit(n.y,t.min.y));n.x>t.max.x&&(n.x=this._viscousLimit(n.x,t.max.x));n.y>t.max.y&&(n.y=this._viscousLimit(n.y,t.max.y));this._draggable._newPos=this._draggable._startPos.add(n)}},_onPreDragWrap:function(){var i=this._worldWidth,t=Math.round(i/2),n=this._initialWorldOffset,r=this._draggable._newPos.x,u=(r-t+n)%i+t-n,f=(r+t+n)%i-t-n,e=Math.abs(u+n)<Math.abs(f+n)?u:f;this._draggable._absPos=this._draggable._newPos.clone();this._draggable._newPos.x=e},_onDragEnd:function(n){var t=this._map,r=t.options,h=!r.inertia||this._times.length<2;if(t.fire("dragend",n),h)t.fire("moveend");else{this._prunePositions(+new Date);var c=this._lastPos.subtract(this._positions[0]),l=(this._lastTime-this._times[0])/1e3,u=r.easeLinearity,f=c.multiplyBy(u/l),e=f.distanceTo([0,0]),o=Math.min(r.inertiaMaxSpeed,e),a=f.multiplyBy(o/e),s=o/(r.inertiaDeceleration*u),i=a.multiplyBy(-s/2).round();i.x||i.y?(i=t._limitOffset(i,t.options.maxBounds),d(function(){t.panBy(i,{duration:s,easeLinearity:u,noMoveStart:!0,animate:!0})})):t.fire("moveend")}}});f.addInitHook("addHandler","dragging",wo);f.mergeOptions({keyboard:!0,keyboardPanDelta:80});bo=ct.extend({keyCodes:{left:[37],right:[39],down:[40],up:[38],zoomIn:[187,107,61,171],zoomOut:[189,109,54,173]},initialize:function(n){this._map=n;this._setPanDelta(n.options.keyboardPanDelta);this._setZoomDelta(n.options.zoomDelta)},addHooks:function(){var n=this._map._container;n.tabIndex<=0&&(n.tabIndex="0");r(n,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this);this._map.on({focus:this._addHooks,blur:this._removeHooks},this)},removeHooks:function(){this._removeHooks();w(this._map._container,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this);this._map.off({focus:this._addHooks,blur:this._removeHooks},this)},_onMouseDown:function(){if(!this._focused){var n=document.body,t=document.documentElement,i=n.scrollTop||t.scrollTop,r=n.scrollLeft||t.scrollLeft;this._map._container.focus();window.scrollTo(r,i)}},_onFocus:function(){this._focused=!0;this._map.fire("focus")},_onBlur:function(){this._focused=!1;this._map.fire("blur")},_setPanDelta:function(n){for(var u=this._panKeys={},r=this.keyCodes,t=0,i=r.left.length;t<i;t++)u[r.left[t]]=[-1*n,0];for(t=0,i=r.right.length;t<i;t++)u[r.right[t]]=[n,0];for(t=0,i=r.down.length;t<i;t++)u[r.down[t]]=[0,n];for(t=0,i=r.up.length;t<i;t++)u[r.up[t]]=[0,-1*n]},_setZoomDelta:function(n){for(var u=this._zoomKeys={},r=this.keyCodes,t=0,i=r.zoomIn.length;t<i;t++)u[r.zoomIn[t]]=n;for(t=0,i=r.zoomOut.length;t<i;t++)u[r.zoomOut[t]]=-n},_addHooks:function(){r(document,"keydown",this._onKeyDown,this)},_removeHooks:function(){w(document,"keydown",this._onKeyDown,this)},_onKeyDown:function(n){if(!(n.altKey||n.ctrlKey||n.metaKey)){var r,i=n.keyCode,t=this._map;if(i in this._panKeys)t._panAnim&&t._panAnim._inProgress||(r=this._panKeys[i],n.shiftKey&&(r=u(r).multiplyBy(3)),t.panBy(r),t.options.maxBounds&&t.panInsideBounds(t.options.maxBounds));else if(i in this._zoomKeys)t.setZoom(t.getZoom()+(n.shiftKey?3:1)*this._zoomKeys[i]);else{if(27!==i||!t._popup||!t._popup.options.closeOnEscapeKey)return;t.closePopup()}yt(n)}}});f.addInitHook("addHandler","keyboard",bo);f.mergeOptions({scrollWheelZoom:!0,wheelDebounceTime:40,wheelPxPerZoomLevel:60});ko=ct.extend({addHooks:function(){r(this._map._container,"mousewheel",this._onWheelScroll,this);this._delta=0},removeHooks:function(){w(this._map._container,"mousewheel",this._onWheelScroll,this)},_onWheelScroll:function(n){var i=vs(n),r=this._map.options.wheelDebounceTime,t;this._delta+=i;this._lastMousePos=this._map.mouseEventToContainerPoint(n);this._startTime||(this._startTime=+new Date);t=Math.max(r-(+new Date-this._startTime),0);clearTimeout(this._timer);this._timer=setTimeout(c(this._performZoom,this),t);yt(n)},_performZoom:function(){var n=this._map,t=n.getZoom(),i=this._map.options.zoomSnap||0;n._stop();var e=this._delta/(4*this._map.options.wheelPxPerZoomLevel),u=4*Math.log(2/(1+Math.exp(-Math.abs(e))))/Math.LN2,f=i?Math.ceil(u/i)*i:u,r=n._limitZoom(t+(this._delta>0?f:-f))-t;this._delta=0;this._startTime=null;r&&("center"===n.options.scrollWheelZoom?n.setZoom(t+r):n.setZoomAround(this._lastMousePos,t+r))}});f.addInitHook("addHandler","scrollWheelZoom",ko);f.mergeOptions({tap:!0,tapTolerance:15});go=ct.extend({addHooks:function(){r(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){w(this._map._container,"touchstart",this._onDown,this)},_onDown:function(n){if(n.touches){if(ft(n),this._fireClick=!0,n.touches.length>1)return this._fireClick=!1,void clearTimeout(this._holdTimeout);var u=n.touches[0],f=u.target;this._startPos=this._newPos=new t(u.clientX,u.clientY);f.tagName&&"a"===f.tagName.toLowerCase()&&i(f,"leaflet-active");this._holdTimeout=setTimeout(c(function(){this._isTapValid()&&(this._fireClick=!1,this._onUp(),this._simulateEvent("contextmenu",u))},this),1e3);this._simulateEvent("mousedown",u);r(document,{touchmove:this._onMove,touchend:this._onUp},this)}},_onUp:function(n){if(clearTimeout(this._holdTimeout),w(document,{touchmove:this._onMove,touchend:this._onUp},this),this._fireClick&&n&&n.changedTouches){var i=n.changedTouches[0],t=i.target;t&&t.tagName&&"a"===t.tagName.toLowerCase()&&p(t,"leaflet-active");this._simulateEvent("mouseup",i);this._isTapValid()&&this._simulateEvent("click",i)}},_isTapValid:function(){return this._newPos.distanceTo(this._startPos)<=this._map.options.tapTolerance},_onMove:function(n){var i=n.touches[0];this._newPos=new t(i.clientX,i.clientY);this._simulateEvent("mousemove",i)},_simulateEvent:function(n,t){var i=document.createEvent("MouseEvents");i._simulated=!0;t.target._simulatedClick=!0;i.initMouseEvent(n,!0,!0,window,1,t.screenX,t.screenY,t.clientX,t.clientY,!1,!1,!1,!1,0,null);t.target.dispatchEvent(i)}});wt&&!ot&&f.addInitHook("addHandler","tap",go);f.mergeOptions({touchZoom:wt&&!br,bounceAtZoomLimits:!0});ns=ct.extend({addHooks:function(){i(this._map._container,"leaflet-touch-zoom");r(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){p(this._map._container,"leaflet-touch-zoom");w(this._map._container,"touchstart",this._onTouchStart,this)},_onTouchStart:function(n){var t=this._map,i,u;!n.touches||2!==n.touches.length||t._animatingZoom||this._zooming||(i=t.mouseEventToContainerPoint(n.touches[0]),u=t.mouseEventToContainerPoint(n.touches[1]),this._centerPoint=t.getSize()._divideBy(2),this._startLatLng=t.containerPointToLatLng(this._centerPoint),"center"!==t.options.touchZoom&&(this._pinchStartLatLng=t.containerPointToLatLng(i.add(u)._divideBy(2))),this._startDist=i.distanceTo(u),this._startZoom=t.getZoom(),this._moved=!1,this._zooming=!0,t._stop(),r(document,"touchmove",this._onTouchMove,this),r(document,"touchend",this._onTouchEnd,this),ft(n))},_onTouchMove:function(n){var r,e;if(n.touches&&2===n.touches.length&&this._zooming){var t=this._map,u=t.mouseEventToContainerPoint(n.touches[0]),f=t.mouseEventToContainerPoint(n.touches[1]),i=u.distanceTo(f)/this._startDist;if(this._zoom=t.getScaleZoom(i,this._startZoom),!t.options.bounceAtZoomLimits&&(this._zoom<t.getMinZoom()&&i<1||this._zoom>t.getMaxZoom()&&i>1)&&(this._zoom=t._limitZoom(this._zoom)),"center"===t.options.touchZoom){if(this._center=this._startLatLng,1===i)return}else{if(r=u._add(f)._divideBy(2)._subtract(this._centerPoint),1===i&&0===r.x&&0===r.y)return;this._center=t.unproject(t.project(this._pinchStartLatLng,this._zoom).subtract(r),this._zoom)}this._moved||(t._moveStart(!0,!1),this._moved=!0);nt(this._animRequest);e=c(t._move,t,this._center,this._zoom,{pinch:!0,round:!1});this._animRequest=d(e,this,!0);ft(n)}},_onTouchEnd:function(){this._moved&&this._zooming?(this._zooming=!1,nt(this._animRequest),w(document,"touchmove",this._onTouchMove),w(document,"touchend",this._onTouchEnd),this._map.options.zoomAnimation?this._map._animateZoom(this._center,this._map._limitZoom(this._zoom),!0,this._map.options.zoomSnap):this._map._resetView(this._center,this._map._limitZoom(this._zoom))):this._zooming=!1}});f.addInitHook("addHandler","touchZoom",ns);f.BoxZoom=yo;f.DoubleClickZoom=po;f.Drag=wo;f.Keyboard=bo;f.ScrollWheelZoom=ko;f.Tap=go;f.TouchZoom=ns;Object.freeze=ih;n.version="1.3.4";n.Control=ht;n.control=gr;n.Browser=ul;n.Evented=ki;n.Mixin=hl;n.Util=dc;n.Class=kt;n.Handler=ct;n.extend=s;n.bind=c;n.stamp=o;n.setOptions=l;n.DomEvent=sl;n.DomUtil=el;n.PosAnimation=wh;n.Draggable=li;n.LineUtil=cl;n.PolyUtil=ll;n.Point=t;n.point=u;n.Bounds=v;n.bounds=at;n.Transformation=hf;n.transformation=cr;n.Projection=al;n.LatLng=h;n.latLng=y;n.LatLngBounds=tt;n.latLngBounds=k;n.CRS=gt;n.GeoJSON=ti;n.geoJSON=ds;n.geoJson=pl;n.Layer=rt;n.LayerGroup=ur;n.layerGroup=function(n,t){return new ur(n,t)};n.FeatureGroup=ai;n.featureGroup=function(n){return new ai(n)};n.ImageOverlay=lo;n.imageOverlay=function(n,t,i){return new lo(n,t,i)};n.VideoOverlay=tc;n.videoOverlay=function(n,t,i){return new tc(n,t,i)};n.DivOverlay=ii;n.Popup=or;n.popup=function(n,t){return new or(n,t)};n.Tooltip=vi;n.tooltip=function(n,t){return new vi(n,t)};n.Icon=fr;n.icon=function(n){return new fr(n)};n.DivIcon=ao;n.divIcon=function(n){return new ao(n)};n.Marker=tu;n.marker=function(n,t){return new tu(n,t)};n.TileLayer=sr;n.tileLayer=gs;n.GridLayer=iu;n.gridLayer=function(n){return new iu(n)};n.SVG=uu;n.svg=th;n.Renderer=bt;n.Canvas=rc;n.canvas=nh;n.Path=oi;n.CircleMarker=uf;n.circleMarker=function(n,t){return new uf(n,t)};n.Circle=ho;n.circle=function(n,t,i){return new ho(n,t,i)};n.Polyline=ni;n.polyline=function(n,t){return new ni(n,t)};n.Polygon=er;n.polygon=function(n,t){return new er(n,t)};n.Rectangle=vo;n.rectangle=function(n,t){return new vo(n,t)};n.Map=f;n.map=function(n,t){return new f(n,t)};uc=window.L;n.noConflict=function(){return window.L=uc,this};window.L=n}),function(n,t){typeof define=="function"&&define.amd?define(["leaflet"],t):typeof modules=="object"&&module.exports?module.exports=t(require("leaflet")):t(L)}(this,function(n){"use strict";return n.TileLayer.Provider=n.TileLayer.extend({initialize:function(t,i){var f=n.TileLayer.Provider.providers,h=t.split("."),r=h[0],o=h[1],u,e,c,s,l;if(!f[r])throw"No such provider ("+r+")";if(u={url:f[r].url,options:f[r].options},o&&"variants"in f[r]){if(!(o in f[r].variants))throw"No such variant of "+r+" ("+o+")";e=f[r].variants[o];c=typeof e=="string"?{variant:e}:e.options;u={url:e.url||u.url,options:n.Util.extend({},u.options,c)}}s=function(n){return n.indexOf("{attribution.")===-1?n:n.replace(/\{attribution.(\w*)\}/,function(n,t){return s(f[t].options.attribution)})};u.options.attribution=s(u.options.attribution);l=n.Util.extend({},u.options,i);n.TileLayer.prototype.initialize.call(this,u.url,l)}}),n.TileLayer.Provider.providers={OpenStreetMap:{url:"https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",options:{maxZoom:19,attribution:'&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap<\/a>'},variants:{Mapnik:{},BlackAndWhite:{url:"http://{s}.tiles.wmflabs.org/bw-mapnik/{z}/{x}/{y}.png",options:{maxZoom:18}},DE:{url:"https://{s}.tile.openstreetmap.de/tiles/osmde/{z}/{x}/{y}.png",options:{maxZoom:18}},CH:{url:"https://tile.osm.ch/switzerland/{z}/{x}/{y}.png",options:{maxZoom:18,bounds:[[45,5],[48,11]]}},France:{url:"https://{s}.tile.openstreetmap.fr/osmfr/{z}/{x}/{y}.png",options:{maxZoom:20,attribution:"&copy; Openstreetmap France | {attribution.OpenStreetMap}"}},HOT:{url:"https://{s}.tile.openstreetmap.fr/hot/{z}/{x}/{y}.png",options:{attribution:'{attribution.OpenStreetMap}, Tiles courtesy of <a href="http://hot.openstreetmap.org/" target="_blank">Humanitarian OpenStreetMap Team<\/a>'}},BZH:{url:"https://tile.openstreetmap.bzh/br/{z}/{x}/{y}.png",options:{attribution:'{attribution.OpenStreetMap}, Tiles courtesy of <a href="http://www.openstreetmap.bzh/" target="_blank">Breton OpenStreetMap Team<\/a>',bounds:[[46.2,-5.5],[50,.7]]}}}},OpenInfraMap:{url:"https://tiles-{s}.openinframap.org/{variant}/{z}/{x}/{y}.png",options:{maxZoom:18,attribution:'{attribution.OpenStreetMap}, <a href="http://www.openinframap.org/about.html">About OpenInfraMap<\/a>'},variants:{Power:"power",Telecom:"telecoms",Petroleum:"petroleum",Water:"water"}},OpenSeaMap:{url:"https://tiles.openseamap.org/seamark/{z}/{x}/{y}.png",options:{attribution:'Map data: &copy; <a href="http://www.openseamap.org">OpenSeaMap<\/a> contributors'}},OpenPtMap:{url:"http://openptmap.org/tiles/{z}/{x}/{y}.png",options:{maxZoom:17,attribution:'Map data: &copy; <a href="http://www.openptmap.org">OpenPtMap<\/a> contributors'}},OpenTopoMap:{url:"https://{s}.tile.opentopomap.org/{z}/{x}/{y}.png",options:{maxZoom:17,attribution:'Map data: {attribution.OpenStreetMap}, <a href="http://viewfinderpanoramas.org">SRTM<\/a> | Map style: &copy; <a href="https://opentopomap.org">OpenTopoMap<\/a> (<a href="https://creativecommons.org/licenses/by-sa/3.0/">CC-BY-SA<\/a>)'}},OpenRailwayMap:{url:"https://{s}.tiles.openrailwaymap.org/standard/{z}/{x}/{y}.png",options:{maxZoom:19,attribution:'Map data: {attribution.OpenStreetMap} | Map style: &copy; <a href="https://www.OpenRailwayMap.org">OpenRailwayMap<\/a> (<a href="https://creativecommons.org/licenses/by-sa/3.0/">CC-BY-SA<\/a>)'}},OpenFireMap:{url:"http://openfiremap.org/hytiles/{z}/{x}/{y}.png",options:{maxZoom:19,attribution:'Map data: {attribution.OpenStreetMap} | Map style: &copy; <a href="http://www.openfiremap.org">OpenFireMap<\/a> (<a href="https://creativecommons.org/licenses/by-sa/3.0/">CC-BY-SA<\/a>)'}},SafeCast:{url:"https://s3.amazonaws.com/te512.safecast.org/{z}/{x}/{y}.png",options:{maxZoom:16,attribution:'Map data: {attribution.OpenStreetMap} | Map style: &copy; <a href="https://blog.safecast.org/about/">SafeCast<\/a> (<a href="https://creativecommons.org/licenses/by-sa/3.0/">CC-BY-SA<\/a>)'}},Thunderforest:{url:"https://{s}.tile.thunderforest.com/{variant}/{z}/{x}/{y}.png?apikey={apikey}",options:{attribution:'&copy; <a href="http://www.thunderforest.com/">Thunderforest<\/a>, {attribution.OpenStreetMap}',variant:"cycle",apikey:"<insert your api key here>",maxZoom:22},variants:{OpenCycleMap:"cycle",Transport:{options:{variant:"transport"}},TransportDark:{options:{variant:"transport-dark"}},SpinalMap:{options:{variant:"spinal-map"}},Landscape:"landscape",Outdoors:"outdoors",Pioneer:"pioneer"}},OpenMapSurfer:{url:"https://korona.geog.uni-heidelberg.de/tiles/{variant}/x={x}&y={y}&z={z}",options:{maxZoom:20,variant:"roads",attribution:'Imagery from <a href="http://giscience.uni-hd.de/">GIScience Research Group @ University of Heidelberg<\/a> &mdash; Map data {attribution.OpenStreetMap}'},variants:{Roads:"roads",AdminBounds:{options:{variant:"adminb",maxZoom:19}},Grayscale:{options:{variant:"roadsg",maxZoom:19}}}},Hydda:{url:"https://{s}.tile.openstreetmap.se/hydda/{variant}/{z}/{x}/{y}.png",options:{maxZoom:18,variant:"full",attribution:'Tiles courtesy of <a href="http://openstreetmap.se/" target="_blank">OpenStreetMap Sweden<\/a> &mdash; Map data {attribution.OpenStreetMap}'},variants:{Full:"full",Base:"base",RoadsAndLabels:"roads_and_labels"}},MapBox:{url:"https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}{r}.png?access_token={accessToken}",options:{attribution:'Imagery from <a href="http://mapbox.com/about/maps/">MapBox<\/a> &mdash; Map data {attribution.OpenStreetMap}',subdomains:"abcd",id:"streets",accessToken:"<insert your access token here>"}},Stamen:{url:"https://stamen-tiles-{s}.a.ssl.fastly.net/{variant}/{z}/{x}/{y}{r}.{ext}",options:{attribution:'Map tiles by <a href="http://stamen.com">Stamen Design<\/a>, <a href="http://creativecommons.org/licenses/by/3.0">CC BY 3.0<\/a> &mdash; Map data {attribution.OpenStreetMap}',subdomains:"abcd",minZoom:0,maxZoom:20,variant:"toner",ext:"png"},variants:{Toner:"toner",TonerBackground:"toner-background",TonerHybrid:"toner-hybrid",TonerLines:"toner-lines",TonerLabels:"toner-labels",TonerLite:"toner-lite",Watercolor:{url:"https://stamen-tiles-{s}.a.ssl.fastly.net/{variant}/{z}/{x}/{y}.{ext}",options:{variant:"watercolor",minZoom:1,maxZoom:16}},Terrain:{options:{variant:"terrain",minZoom:0,maxZoom:18}},TerrainBackground:{options:{variant:"terrain-background",minZoom:0,maxZoom:18}},TopOSMRelief:{url:"https://stamen-tiles-{s}.a.ssl.fastly.net/{variant}/{z}/{x}/{y}.{ext}",options:{variant:"toposm-color-relief",ext:"jpg",bounds:[[22,-132],[51,-56]]}},TopOSMFeatures:{options:{variant:"toposm-features",bounds:[[22,-132],[51,-56]],opacity:.9}}}},Esri:{url:"https://server.arcgisonline.com/ArcGIS/rest/services/{variant}/MapServer/tile/{z}/{y}/{x}",options:{variant:"World_Street_Map",attribution:"Tiles &copy; Esri"},variants:{WorldStreetMap:{options:{attribution:"{attribution.Esri} &mdash; Source: Esri, DeLorme, NAVTEQ, USGS, Intermap, iPC, NRCAN, Esri Japan, METI, Esri China (Hong Kong), Esri (Thailand), TomTom, 2012"}},DeLorme:{options:{variant:"Specialty/DeLorme_World_Base_Map",minZoom:1,maxZoom:11,attribution:"{attribution.Esri} &mdash; Copyright: &copy;2012 DeLorme"}},WorldTopoMap:{options:{variant:"World_Topo_Map",attribution:"{attribution.Esri} &mdash; Esri, DeLorme, NAVTEQ, TomTom, Intermap, iPC, USGS, FAO, NPS, NRCAN, GeoBase, Kadaster NL, Ordnance Survey, Esri Japan, METI, Esri China (Hong Kong), and the GIS User Community"}},WorldImagery:{options:{variant:"World_Imagery",attribution:"{attribution.Esri} &mdash; Source: Esri, i-cubed, USDA, USGS, AEX, GeoEye, Getmapping, Aerogrid, IGN, IGP, UPR-EGP, and the GIS User Community"}},WorldTerrain:{options:{variant:"World_Terrain_Base",maxZoom:13,attribution:"{attribution.Esri} &mdash; Source: USGS, Esri, TANA, DeLorme, and NPS"}},WorldShadedRelief:{options:{variant:"World_Shaded_Relief",maxZoom:13,attribution:"{attribution.Esri} &mdash; Source: Esri"}},WorldPhysical:{options:{variant:"World_Physical_Map",maxZoom:8,attribution:"{attribution.Esri} &mdash; Source: US National Park Service"}},OceanBasemap:{options:{variant:"Ocean_Basemap",maxZoom:13,attribution:"{attribution.Esri} &mdash; Sources: GEBCO, NOAA, CHS, OSU, UNH, CSUMB, National Geographic, DeLorme, NAVTEQ, and Esri"}},NatGeoWorldMap:{options:{variant:"NatGeo_World_Map",maxZoom:16,attribution:"{attribution.Esri} &mdash; National Geographic, Esri, DeLorme, NAVTEQ, UNEP-WCMC, USGS, NASA, ESA, METI, NRCAN, GEBCO, NOAA, iPC"}},WorldGrayCanvas:{options:{variant:"Canvas/World_Light_Gray_Base",maxZoom:16,attribution:"{attribution.Esri} &mdash; Esri, DeLorme, NAVTEQ"}}}},OpenWeatherMap:{url:"http://{s}.tile.openweathermap.org/map/{variant}/{z}/{x}/{y}.png?appid={apiKey}",options:{maxZoom:19,attribution:'Map data &copy; <a href="http://openweathermap.org">OpenWeatherMap<\/a>',apiKey:"<insert your api key here>",opacity:.5},variants:{Clouds:"clouds",CloudsClassic:"clouds_cls",Precipitation:"precipitation",PrecipitationClassic:"precipitation_cls",Rain:"rain",RainClassic:"rain_cls",Pressure:"pressure",PressureContour:"pressure_cntr",Wind:"wind",Temperature:"temp",Snow:"snow"}},HERE:{url:"https://{s}.{base}.maps.cit.api.here.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?app_id={app_id}&app_code={app_code}&lg={language}",options:{attribution:'Map &copy; 1987-2014 <a href="http://developer.here.com">HERE<\/a>',subdomains:"1234",mapID:"newest",app_id:"<insert your app_id here>",app_code:"<insert your app_code here>",base:"base",variant:"normal.day",maxZoom:20,type:"maptile",language:"eng",format:"png8",size:"256"},variants:{normalDay:"normal.day",normalDayCustom:"normal.day.custom",normalDayGrey:"normal.day.grey",normalDayMobile:"normal.day.mobile",normalDayGreyMobile:"normal.day.grey.mobile",normalDayTransit:"normal.day.transit",normalDayTransitMobile:"normal.day.transit.mobile",normalNight:"normal.night",normalNightMobile:"normal.night.mobile",normalNightGrey:"normal.night.grey",normalNightGreyMobile:"normal.night.grey.mobile",normalNightTransit:"normal.night.transit",normalNightTransitMobile:"normal.night.transit.mobile",redcuedDay:"reduced.day",redcuedNight:"reduced.night",basicMap:{options:{type:"basetile"}},mapLabels:{options:{type:"labeltile",format:"png"}},trafficFlow:{options:{base:"traffic",type:"flowtile"}},carnavDayGrey:"carnav.day.grey",hybridDay:{options:{base:"aerial",variant:"hybrid.day"}},hybridDayMobile:{options:{base:"aerial",variant:"hybrid.day.mobile"}},hybridDayTransit:{options:{base:"aerial",variant:"hybrid.day.transit"}},hybridDayGrey:{options:{base:"aerial",variant:"hybrid.grey.day"}},pedestrianDay:"pedestrian.day",pedestrianNight:"pedestrian.night",satelliteDay:{options:{base:"aerial",variant:"satellite.day"}},terrainDay:{options:{base:"aerial",variant:"terrain.day"}},terrainDayMobile:{options:{base:"aerial",variant:"terrain.day.mobile"}}}},FreeMapSK:{url:"http://t{s}.freemap.sk/T/{z}/{x}/{y}.jpeg",options:{minZoom:8,maxZoom:16,subdomains:"1234",bounds:[[47.204642,15.996093],[49.830896,22.576904]],attribution:'{attribution.OpenStreetMap}, vizualization CC-By-SA 2.0 <a href="http://freemap.sk">Freemap.sk<\/a>'}},MtbMap:{url:"http://tile.mtbmap.cz/mtbmap_tiles/{z}/{x}/{y}.png",options:{attribution:"{attribution.OpenStreetMap} &amp; USGS"}},CartoDB:{url:"https://cartodb-basemaps-{s}.global.ssl.fastly.net/{variant}/{z}/{x}/{y}{r}.png",options:{attribution:'{attribution.OpenStreetMap} &copy; <a href="http://cartodb.com/attributions">CartoDB<\/a>',subdomains:"abcd",maxZoom:19,variant:"light_all"},variants:{Positron:"light_all",PositronNoLabels:"light_nolabels",PositronOnlyLabels:"light_only_labels",DarkMatter:"dark_all",DarkMatterNoLabels:"dark_nolabels",DarkMatterOnlyLabels:"dark_only_labels",Voyager:"rastertiles/voyager",VoyagerNoLabels:"rastertiles/voyager_nolabels",VoyagerOnlyLabels:"rastertiles/voyager_only_labels",VoyagerLabelsUnder:"rastertiles/voyager_labels_under"}},HikeBike:{url:"http://{s}.tiles.wmflabs.org/{variant}/{z}/{x}/{y}.png",options:{maxZoom:19,attribution:"{attribution.OpenStreetMap}",variant:"hikebike"},variants:{HikeBike:{},HillShading:{options:{maxZoom:15,variant:"hillshading"}}}},BasemapAT:{url:"https://maps{s}.wien.gv.at/basemap/{variant}/normal/google3857/{z}/{y}/{x}.{format}",options:{maxZoom:19,attribution:'Datenquelle: <a href="https://www.basemap.at">basemap.at<\/a>',subdomains:["","1","2","3","4"],format:"png",bounds:[[46.35877,8.782379],[49.037872,17.189532]],variant:"geolandbasemap"},variants:{basemap:{options:{maxZoom:20,variant:"geolandbasemap"}},grau:"bmapgrau",overlay:"bmapoverlay",highdpi:{options:{variant:"bmaphidpi",format:"jpeg"}},orthofoto:{options:{maxZoom:20,variant:"bmaporthofoto30cm",format:"jpeg"}}}},nlmaps:{url:"https://geodata.nationaalgeoregister.nl/tiles/service/wmts/{variant}/EPSG:3857/{z}/{x}/{y}.png",options:{minZoom:6,maxZoom:19,bounds:[[50.5,3.25],[54,7.6]],attribution:'Kaartgegevens &copy; <a href="kadaster.nl">Kadaster<\/a>'},variants:{standaard:"brtachtergrondkaart",pastel:"brtachtergrondkaartpastel",grijs:"brtachtergrondkaartgrijs",luchtfoto:{url:"https://geodata.nationaalgeoregister.nl/luchtfoto/rgb/wmts/1.0.0/2016_ortho25/EPSG:3857/{z}/{x}/{y}.png"}}},NASAGIBS:{url:"https://map1.vis.earthdata.nasa.gov/wmts-webmerc/{variant}/default/{time}/{tilematrixset}{maxZoom}/{z}/{y}/{x}.{format}",options:{attribution:'Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (<a href="https://earthdata.nasa.gov">ESDIS<\/a>) with funding provided by NASA/HQ.',bounds:[[-85.0511287776,-179.999999975],[85.0511287776,179.999999975]],minZoom:1,maxZoom:9,format:"jpg",time:"",tilematrixset:"GoogleMapsCompatible_Level"},variants:{ModisTerraTrueColorCR:"MODIS_Terra_CorrectedReflectance_TrueColor",ModisTerraBands367CR:"MODIS_Terra_CorrectedReflectance_Bands367",ViirsEarthAtNight2012:{options:{variant:"VIIRS_CityLights_2012",maxZoom:8}},ModisTerraLSTDay:{options:{variant:"MODIS_Terra_Land_Surface_Temp_Day",format:"png",maxZoom:7,opacity:.75}},ModisTerraSnowCover:{options:{variant:"MODIS_Terra_Snow_Cover",format:"png",maxZoom:8,opacity:.75}},ModisTerraAOD:{options:{variant:"MODIS_Terra_Aerosol",format:"png",maxZoom:6,opacity:.75}},ModisTerraChlorophyll:{options:{variant:"MODIS_Terra_Chlorophyll_A",format:"png",maxZoom:7,opacity:.75}}}},NLS:{url:"https://nls-{s}.tileserver.com/nls/{z}/{x}/{y}.jpg",options:{attribution:'<a href="http://geo.nls.uk/maps/">National Library of Scotland Historic Maps<\/a>',bounds:[[49.6,-12],[61.7,3]],minZoom:1,maxZoom:18,subdomains:"0123"}},JusticeMap:{url:"http://www.justicemap.org/tile/{size}/{variant}/{z}/{x}/{y}.png",options:{attribution:'<a href="http://www.justicemap.org/terms.php">Justice Map<\/a>',size:"county",bounds:[[14,-180],[72,-56]]},variants:{income:"income",americanIndian:"indian",asian:"asian",black:"black",hispanic:"hispanic",multi:"multi",nonWhite:"nonwhite",white:"white",plurality:"plural"}},Wikimedia:{url:"https://maps.wikimedia.org/osm-intl/{z}/{x}/{y}{r}.png",options:{attribution:'<a href="https://wikimediafoundation.org/wiki/Maps_Terms_of_Use">Wikimedia<\/a>',minZoom:1,maxZoom:19}},GeoportailFrance:{url:"https://wxs.ign.fr/{apikey}/geoportail/wmts?REQUEST=GetTile&SERVICE=WMTS&VERSION=1.0.0&STYLE={style}&TILEMATRIXSET=PM&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}",options:{attribution:'<a target="_blank" href="https://www.geoportail.gouv.fr/">Geoportail France<\/a>',bounds:[[-75,-180],[81,180]],minZoom:2,maxZoom:18,apikey:"choisirgeoportail",format:"image/jpeg",style:"normal",variant:"GEOGRAPHICALGRIDSYSTEMS.MAPS.SCAN-EXPRESS.STANDARD"},variants:{parcels:{options:{variant:"CADASTRALPARCELS.PARCELS",maxZoom:20,style:"bdparcellaire",format:"image/png"}},ignMaps:"GEOGRAPHICALGRIDSYSTEMS.MAPS",maps:"GEOGRAPHICALGRIDSYSTEMS.MAPS.SCAN-EXPRESS.STANDARD",orthos:{options:{maxZoom:19,variant:"ORTHOIMAGERY.ORTHOPHOTOS"}}}},OneMapSG:{url:"https://maps-{s}.onemap.sg/v3/{variant}/{z}/{x}/{y}.png",options:{variant:"Default",minZoom:11,maxZoom:18,bounds:[[1.56073,104.11475],[1.16,103.502]],attribution:'<img src="https://docs.onemap.sg/maps/images/oneMap64-01.png" style="height:20px;width:20px;"/> New OneMap | Map data &copy; contributors, <a href="http://SLA.gov.sg">Singapore Land Authority<\/a>'},variants:{Default:"Default",Night:"Night",Original:"Original",Grey:"Grey",LandLot:"LandLot"}}},n.tileLayer.provider=function(t,i){return new n.TileLayer.Provider(t,i)},n});!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((n.Leaflet=n.Leaflet||{},n.Leaflet.markercluster=n.Leaflet.markercluster||{}))}(this,function(n){"use strict";var i=L.MarkerClusterGroup=L.FeatureGroup.extend({options:{maxClusterRadius:80,iconCreateFunction:null,clusterPane:L.Marker.prototype.options.pane,spiderfyOnMaxZoom:!0,showCoverageOnHover:!0,zoomToBoundsOnClick:!0,singleMarkerMode:!1,disableClusteringAtZoom:null,removeOutsideVisibleBounds:!0,animate:!0,animateAddingMarkers:!1,spiderfyDistanceMultiplier:1,spiderLegPolylineOptions:{weight:1.5,color:"#222",opacity:.5},chunkedLoading:!1,chunkInterval:200,chunkDelay:50,chunkProgress:null,polygonOptions:{}},initialize:function(n){L.Util.setOptions(this,n);this.options.iconCreateFunction||(this.options.iconCreateFunction=this._defaultIconCreateFunction);this._featureGroup=L.featureGroup();this._featureGroup.addEventParent(this);this._nonPointGroup=L.featureGroup();this._nonPointGroup.addEventParent(this);this._inZoomAnimation=0;this._needsClustering=[];this._needsRemoving=[];this._currentShownBounds=null;this._queue=[];this._childMarkerEventHandlers={dragstart:this._childMarkerDragStart,move:this._childMarkerMoved,dragend:this._childMarkerDragEnd};var t=L.DomUtil.TRANSITION&&this.options.animate;L.extend(this,t?this._withAnimation:this._noAnimation);this._markerCluster=t?L.MarkerCluster:L.MarkerClusterNonAnimated},addLayer:function(n){if(n instanceof L.LayerGroup)return this.addLayers([n]);if(!n.getLatLng)return this._nonPointGroup.addLayer(n),this.fire("layeradd",{layer:n}),this;if(!this._map)return this._needsClustering.push(n),this.fire("layeradd",{layer:n}),this;if(this.hasLayer(n))return this;this._unspiderfy&&this._unspiderfy();this._addLayer(n,this._maxZoom);this.fire("layeradd",{layer:n});this._topClusterLevel._recalculateBounds();this._refreshClustersIcons();var t=n,i=this._zoom;if(n.__parent)for(;t.__parent._zoom>=i;)t=t.__parent;return this._currentShownBounds.contains(t.getLatLng())&&(this.options.animateAddingMarkers?this._animationAddLayer(n,t):this._animationAddLayerNonAnimated(n,t)),this},removeLayer:function(n){return n instanceof L.LayerGroup?this.removeLayers([n]):n.getLatLng?this._map?n.__parent?(this._unspiderfy&&(this._unspiderfy(),this._unspiderfyLayer(n)),this._removeLayer(n,!0),this.fire("layerremove",{layer:n}),this._topClusterLevel._recalculateBounds(),this._refreshClustersIcons(),n.off(this._childMarkerEventHandlers,this),this._featureGroup.hasLayer(n)&&(this._featureGroup.removeLayer(n),n.clusterShow&&n.clusterShow()),this):this:(!this._arraySplice(this._needsClustering,n)&&this.hasLayer(n)&&this._needsRemoving.push({layer:n,latlng:n._latlng}),this.fire("layerremove",{layer:n}),this):(this._nonPointGroup.removeLayer(n),this.fire("layerremove",{layer:n}),this)},addLayers:function(n,t){var h,e,c;if(!L.Util.isArray(n))return this.addLayer(n);var i,l=this._featureGroup,o=this._nonPointGroup,a=this.options.chunkedLoading,v=this.options.chunkInterval,s=this.options.chunkProgress,u=n.length,r=0,f=!0;if(this._map)h=(new Date).getTime(),e=L.bind(function(){for(var p,c,w,y=(new Date).getTime();u>r;r++){if(a&&0==r%200&&(p=(new Date).getTime()-y,p>v))break;(i=n[r],i instanceof L.LayerGroup)?(f&&(n=n.slice(),f=!1),this._extractNonGroupLayers(i,n),u=n.length):i.getLatLng?!this.hasLayer(i)&&(this._addLayer(i,this._maxZoom),t||this.fire("layeradd",{layer:i}),i.__parent&&2===i.__parent.getChildCount())&&(c=i.__parent.getAllChildMarkers(),w=c[0]===i?c[1]:c[0],l.removeLayer(w)):(o.addLayer(i),t||this.fire("layeradd",{layer:i}))}s&&s(r,u,(new Date).getTime()-h);r===u?(this._topClusterLevel._recalculateBounds(),this._refreshClustersIcons(),this._topClusterLevel._recursivelyAddChildrenToMap(null,this._zoom,this._currentShownBounds)):setTimeout(e,this.options.chunkDelay)},this),e();else for(c=this._needsClustering;u>r;r++)i=n[r],i instanceof L.LayerGroup?(f&&(n=n.slice(),f=!1),this._extractNonGroupLayers(i,n),u=n.length):i.getLatLng?this.hasLayer(i)||c.push(i):o.addLayer(i);return this},removeLayers:function(n){var i,t,r=n.length,o=this._featureGroup,s=this._nonPointGroup,u=!0,f,e;if(!this._map){for(i=0;r>i;i++)t=n[i],t instanceof L.LayerGroup?(u&&(n=n.slice(),u=!1),this._extractNonGroupLayers(t,n),r=n.length):(this._arraySplice(this._needsClustering,t),s.removeLayer(t),this.hasLayer(t)&&this._needsRemoving.push({layer:t,latlng:t._latlng}),this.fire("layerremove",{layer:t}));return this}if(this._unspiderfy)for(this._unspiderfy(),f=n.slice(),e=r,i=0;e>i;i++)t=f[i],t instanceof L.LayerGroup?(this._extractNonGroupLayers(t,f),e=f.length):this._unspiderfyLayer(t);for(i=0;r>i;i++)t=n[i],t instanceof L.LayerGroup?(u&&(n=n.slice(),u=!1),this._extractNonGroupLayers(t,n),r=n.length):t.__parent?(this._removeLayer(t,!0,!0),this.fire("layerremove",{layer:t}),o.hasLayer(t)&&(o.removeLayer(t),t.clusterShow&&t.clusterShow())):(s.removeLayer(t),this.fire("layerremove",{layer:t}));return this._topClusterLevel._recalculateBounds(),this._refreshClustersIcons(),this._topClusterLevel._recursivelyAddChildrenToMap(null,this._zoom,this._currentShownBounds),this},clearLayers:function(){return this._map||(this._needsClustering=[],this._needsRemoving=[],delete this._gridClusters,delete this._gridUnclustered),this._noanimationUnspiderfy&&this._noanimationUnspiderfy(),this._featureGroup.clearLayers(),this._nonPointGroup.clearLayers(),this.eachLayer(function(n){n.off(this._childMarkerEventHandlers,this);delete n.__parent},this),this._map&&this._generateInitialClusters(),this},getBounds:function(){var n=new L.LatLngBounds,t;for(this._topClusterLevel&&n.extend(this._topClusterLevel._bounds),t=this._needsClustering.length-1;t>=0;t--)n.extend(this._needsClustering[t].getLatLng());return n.extend(this._nonPointGroup.getBounds()),n},eachLayer:function(n,t){var f,i,r,u=this._needsClustering.slice(),e=this._needsRemoving;for(this._topClusterLevel&&this._topClusterLevel.getAllChildMarkers(u),i=u.length-1;i>=0;i--){for(f=!0,r=e.length-1;r>=0;r--)if(e[r].layer===u[i]){f=!1;break}f&&n.call(t,u[i])}this._nonPointGroup.eachLayer(n,t)},getLayers:function(){var n=[];return this.eachLayer(function(t){n.push(t)}),n},getLayer:function(n){var t=null;return n=parseInt(n,10),this.eachLayer(function(i){L.stamp(i)===n&&(t=i)}),t},hasLayer:function(n){if(!n)return!1;for(var i=this._needsClustering,t=i.length-1;t>=0;t--)if(i[t]===n)return!0;for(i=this._needsRemoving,t=i.length-1;t>=0;t--)if(i[t].layer===n)return!1;return!(!n.__parent||n.__parent._group!==this)||this._nonPointGroup.hasLayer(n)},zoomToShowLayer:function(n,t){"function"!=typeof t&&(t=function(){});var i=function(){(n._icon||n.__parent._icon)&&!this._inZoomAnimation&&(this._map.off("moveend",i,this),this.off("animationend",i,this),n._icon?t():n.__parent._icon&&(this.once("spiderfied",t,this),n.__parent.spiderfy()))};n._icon&&this._map.getBounds().contains(n.getLatLng())?t():n.__parent._zoom<Math.round(this._map._zoom)?(this._map.on("moveend",i,this),this._map.panTo(n.getLatLng())):(this._map.on("moveend",i,this),this.on("animationend",i,this),n.__parent.zoomToBounds())},onAdd:function(n){this._map=n;var i,r,t;if(!isFinite(this._map.getMaxZoom()))throw"Map has no maxZoom specified";for(this._featureGroup.addTo(n),this._nonPointGroup.addTo(n),this._gridClusters||this._generateInitialClusters(),this._maxLat=n.options.crs.projection.MAX_LATITUDE,i=0,r=this._needsRemoving.length;r>i;i++)t=this._needsRemoving[i],t.newlatlng=t.layer._latlng,t.layer._latlng=t.latlng;for(i=0,r=this._needsRemoving.length;r>i;i++)t=this._needsRemoving[i],this._removeLayer(t.layer,!0),t.layer._latlng=t.newlatlng;this._needsRemoving=[];this._zoom=Math.round(this._map._zoom);this._currentShownBounds=this._getExpandedVisibleBounds();this._map.on("zoomend",this._zoomEnd,this);this._map.on("moveend",this._moveEnd,this);this._spiderfierOnAdd&&this._spiderfierOnAdd();this._bindEvents();r=this._needsClustering;this._needsClustering=[];this.addLayers(r,!0)},onRemove:function(n){n.off("zoomend",this._zoomEnd,this);n.off("moveend",this._moveEnd,this);this._unbindEvents();this._map._mapPane.className=this._map._mapPane.className.replace(" leaflet-cluster-anim","");this._spiderfierOnRemove&&this._spiderfierOnRemove();delete this._maxLat;this._hideCoverage();this._featureGroup.remove();this._nonPointGroup.remove();this._featureGroup.clearLayers();this._map=null},getVisibleParent:function(n){for(var t=n;t&&!t._icon;)t=t.__parent;return t||null},_arraySplice:function(n,t){for(var i=n.length-1;i>=0;i--)if(n[i]===t)return n.splice(i,1),!0},_removeFromGridUnclustered:function(n,t){for(var i=this._map,r=this._gridUnclustered,u=Math.floor(this._map.getMinZoom());t>=u&&r[t].removeObject(n,i.project(n.getLatLng(),t));t--);},_childMarkerDragStart:function(n){n.target.__dragStart=n.target._latlng},_childMarkerMoved:function(n){if(!this._ignoreMove&&!n.target.__dragStart){var t=n.target._popup&&n.target._popup.isOpen();this._moveChild(n.target,n.oldLatLng,n.latlng);t&&n.target.openPopup()}},_moveChild:function(n,t,i){n._latlng=t;this.removeLayer(n);n._latlng=i;this.addLayer(n)},_childMarkerDragEnd:function(n){var t=n.target.__dragStart;delete n.target.__dragStart;t&&this._moveChild(n.target,t,n.target._latlng)},_removeLayer:function(n,t,i){var s=this._gridClusters,h=this._gridUnclustered,f=this._featureGroup,e=this._map,c=Math.floor(this._map.getMinZoom()),u,r,o;for(t&&this._removeFromGridUnclustered(n,this._maxZoom),r=n.__parent,o=r._markers,this._arraySplice(o,n);r&&(r._childCount--,r._boundsNeedUpdate=!0,!(r._zoom<c));)t&&r._childCount<=1?(u=r._markers[0]===n?r._markers[1]:r._markers[0],s[r._zoom].removeObject(r,e.project(r._cLatLng,r._zoom)),h[r._zoom].addObject(u,e.project(u.getLatLng(),r._zoom)),this._arraySplice(r.__parent._childClusters,r),r.__parent._markers.push(u),u.__parent=r.__parent,r._icon&&(f.removeLayer(r),i||f.addLayer(u))):r._iconNeedsUpdate=!0,r=r.__parent;delete n.__parent},_isOrIsParent:function(n,t){for(;t;){if(n===t)return!0;t=t.parentNode}return!1},fire:function(n,t,i){if(t&&t.layer instanceof L.MarkerCluster){if(t.originalEvent&&this._isOrIsParent(t.layer._icon,t.originalEvent.relatedTarget))return;n="cluster"+n}L.FeatureGroup.prototype.fire.call(this,n,t,i)},listens:function(n,t){return L.FeatureGroup.prototype.listens.call(this,n,t)||L.FeatureGroup.prototype.listens.call(this,"cluster"+n,t)},_defaultIconCreateFunction:function(n){var t=n.getChildCount(),i=" marker-cluster-";return i+=10>t?"small":100>t?"medium":"large",new L.DivIcon({html:"<div><span>"+t+"<\/span><\/div>",className:"marker-cluster"+i,iconSize:new L.Point(40,40)})},_bindEvents:function(){var n=this._map,t=this.options.spiderfyOnMaxZoom,i=this.options.showCoverageOnHover,r=this.options.zoomToBoundsOnClick;(t||r)&&this.on("clusterclick",this._zoomOrSpiderfy,this);i&&(this.on("clustermouseover",this._showCoverage,this),this.on("clustermouseout",this._hideCoverage,this),n.on("zoomend",this._hideCoverage,this))},_zoomOrSpiderfy:function(n){for(var i=n.layer,t=i;1===t._childClusters.length;)t=t._childClusters[0];t._zoom===this._maxZoom&&t._childCount===i._childCount&&this.options.spiderfyOnMaxZoom?i.spiderfy():this.options.zoomToBoundsOnClick&&i.zoomToBounds();n.originalEvent&&13===n.originalEvent.keyCode&&this._map._container.focus()},_showCoverage:function(n){var t=this._map;this._inZoomAnimation||(this._shownPolygon&&t.removeLayer(this._shownPolygon),n.layer.getChildCount()>2&&n.layer!==this._spiderfied&&(this._shownPolygon=new L.Polygon(n.layer.getConvexHull(),this.options.polygonOptions),t.addLayer(this._shownPolygon)))},_hideCoverage:function(){this._shownPolygon&&(this._map.removeLayer(this._shownPolygon),this._shownPolygon=null)},_unbindEvents:function(){var n=this.options.spiderfyOnMaxZoom,t=this.options.showCoverageOnHover,i=this.options.zoomToBoundsOnClick,r=this._map;(n||i)&&this.off("clusterclick",this._zoomOrSpiderfy,this);t&&(this.off("clustermouseover",this._showCoverage,this),this.off("clustermouseout",this._hideCoverage,this),r.off("zoomend",this._hideCoverage,this))},_zoomEnd:function(){this._map&&(this._mergeSplitClusters(),this._zoom=Math.round(this._map._zoom),this._currentShownBounds=this._getExpandedVisibleBounds())},_moveEnd:function(){if(!this._inZoomAnimation){var n=this._getExpandedVisibleBounds();this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds,Math.floor(this._map.getMinZoom()),this._zoom,n);this._topClusterLevel._recursivelyAddChildrenToMap(null,Math.round(this._map._zoom),n);this._currentShownBounds=n}},_generateInitialClusters:function(){var t=Math.ceil(this._map.getMaxZoom()),u=Math.floor(this._map.getMinZoom()),i=this.options.maxClusterRadius,r=i,n;for("function"!=typeof i&&(r=function(){return i}),null!==this.options.disableClusteringAtZoom&&(t=this.options.disableClusteringAtZoom-1),this._maxZoom=t,this._gridClusters={},this._gridUnclustered={},n=t;n>=u;n--)this._gridClusters[n]=new L.DistanceGrid(r(n)),this._gridUnclustered[n]=new L.DistanceGrid(r(n));this._topClusterLevel=new this._markerCluster(this,u-1)},_addLayer:function(n,t){var e,r,s=this._gridClusters,h=this._gridUnclustered,c=Math.floor(this._map.getMinZoom()),i,o,u,f;for(this.options.singleMarkerMode&&this._overrideMarkerIcon(n),n.on(this._childMarkerEventHandlers,this);t>=c;t--){if(e=this._map.project(n.getLatLng(),t),i=s[t].getNearObject(e),i)return i._addChild(n),n.__parent=i,void 0;if(i=h[t].getNearObject(e)){for(o=i.__parent,o&&this._removeLayer(i,!1),u=new this._markerCluster(this,t,i,n),s[t].addObject(u,this._map.project(u._cLatLng,t)),i.__parent=u,n.__parent=u,f=u,r=t-1;r>o._zoom;r--)f=new this._markerCluster(this,r,f),s[r].addObject(f,this._map.project(i.getLatLng(),r));return o._addChild(f),this._removeFromGridUnclustered(i,t),void 0}h[t].addObject(n,e)}this._topClusterLevel._addChild(n);n.__parent=this._topClusterLevel},_refreshClustersIcons:function(){this._featureGroup.eachLayer(function(n){n instanceof L.MarkerCluster&&n._iconNeedsUpdate&&n._updateIcon()})},_enqueue:function(n){this._queue.push(n);this._queueTimeout||(this._queueTimeout=setTimeout(L.bind(this._processQueue,this),300))},_processQueue:function(){for(var n=0;n<this._queue.length;n++)this._queue[n].call(this);this._queue.length=0;clearTimeout(this._queueTimeout);this._queueTimeout=null},_mergeSplitClusters:function(){var n=Math.round(this._map._zoom);this._processQueue();this._zoom<n&&this._currentShownBounds.intersects(this._getExpandedVisibleBounds())?(this._animationStart(),this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds,Math.floor(this._map.getMinZoom()),this._zoom,this._getExpandedVisibleBounds()),this._animationZoomIn(this._zoom,n)):this._zoom>n?(this._animationStart(),this._animationZoomOut(this._zoom,n)):this._moveEnd()},_getExpandedVisibleBounds:function(){return this.options.removeOutsideVisibleBounds?L.Browser.mobile?this._checkBoundsMaxLat(this._map.getBounds()):this._checkBoundsMaxLat(this._map.getBounds().pad(1)):this._mapBoundsInfinite},_checkBoundsMaxLat:function(n){var t=this._maxLat;return void 0!==t&&(n.getNorth()>=t&&(n._northEast.lat=1/0),n.getSouth()<=-t&&(n._southWest.lat=-1/0)),n},_animationAddLayerNonAnimated:function(n,t){if(t===n)this._featureGroup.addLayer(n);else if(2===t._childCount){t._addToMap();var i=t.getAllChildMarkers();this._featureGroup.removeLayer(i[0]);this._featureGroup.removeLayer(i[1])}else t._updateIcon()},_extractNonGroupLayers:function(n,t){var i,u=n.getLayers(),r=0;for(t=t||[];r<u.length;r++)i=u[r],i instanceof L.LayerGroup?this._extractNonGroupLayers(i,t):t.push(i);return t},_overrideMarkerIcon:function(n){return n.options.icon=this.options.iconCreateFunction({getChildCount:function(){return 1},getAllChildMarkers:function(){return[n]}})}}),t;L.MarkerClusterGroup.include({_mapBoundsInfinite:new L.LatLngBounds(new L.LatLng(-1/0,-1/0),new L.LatLng(1/0,1/0))});L.MarkerClusterGroup.include({_noAnimation:{_animationStart:function(){},_animationZoomIn:function(n,t){this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds,Math.floor(this._map.getMinZoom()),n);this._topClusterLevel._recursivelyAddChildrenToMap(null,t,this._getExpandedVisibleBounds());this.fire("animationend")},_animationZoomOut:function(n,t){this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds,Math.floor(this._map.getMinZoom()),n);this._topClusterLevel._recursivelyAddChildrenToMap(null,t,this._getExpandedVisibleBounds());this.fire("animationend")},_animationAddLayer:function(n,t){this._animationAddLayerNonAnimated(n,t)}},_withAnimation:{_animationStart:function(){this._map._mapPane.className+=" leaflet-cluster-anim";this._inZoomAnimation++},_animationZoomIn:function(n,t){var r,i=this._getExpandedVisibleBounds(),u=this._featureGroup,f=Math.floor(this._map.getMinZoom());this._ignoreMove=!0;this._topClusterLevel._recursively(i,n,f,function(f){var e,o=f._latlng,s=f._markers;for(i.contains(o)||(o=null),f._isSingleParent()&&n+1===t?(u.removeLayer(f),f._recursivelyAddChildrenToMap(null,t,i)):(f.clusterHide(),f._recursivelyAddChildrenToMap(o,t,i)),r=s.length-1;r>=0;r--)e=s[r],i.contains(e._latlng)||u.removeLayer(e)});this._forceLayout();this._topClusterLevel._recursivelyBecomeVisible(i,t);u.eachLayer(function(n){n instanceof L.MarkerCluster||!n._icon||n.clusterShow()});this._topClusterLevel._recursively(i,n,t,function(n){n._recursivelyRestoreChildPositions(t)});this._ignoreMove=!1;this._enqueue(function(){this._topClusterLevel._recursively(i,n,f,function(n){u.removeLayer(n);n.clusterShow()});this._animationEnd()})},_animationZoomOut:function(n,t){this._animationZoomOutSingle(this._topClusterLevel,n-1,t);this._topClusterLevel._recursivelyAddChildrenToMap(null,t,this._getExpandedVisibleBounds());this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds,Math.floor(this._map.getMinZoom()),n,this._getExpandedVisibleBounds())},_animationAddLayer:function(n,t){var i=this,r=this._featureGroup;r.addLayer(n);t!==n&&(t._childCount>2?(t._updateIcon(),this._forceLayout(),this._animationStart(),n._setPos(this._map.latLngToLayerPoint(t.getLatLng())),n.clusterHide(),this._enqueue(function(){r.removeLayer(n);n.clusterShow();i._animationEnd()})):(this._forceLayout(),i._animationStart(),i._animationZoomOutSingle(t,this._map.getMaxZoom(),this._zoom)))}},_animationZoomOutSingle:function(n,t,i){var r=this._getExpandedVisibleBounds(),u=Math.floor(this._map.getMinZoom()),f;n._recursivelyAnimateChildrenInAndAddSelfToMap(r,u,t+1,i);f=this;this._forceLayout();n._recursivelyBecomeVisible(r,i);this._enqueue(function(){if(1===n._childCount){var e=n._markers[0];this._ignoreMove=!0;e.setLatLng(e.getLatLng());this._ignoreMove=!1;e.clusterShow&&e.clusterShow()}else n._recursively(r,i,u,function(n){n._recursivelyRemoveChildrenFromMap(r,u,t+1)});f._animationEnd()})},_animationEnd:function(){this._map&&(this._map._mapPane.className=this._map._mapPane.className.replace(" leaflet-cluster-anim",""));this._inZoomAnimation--;this.fire("animationend")},_forceLayout:function(){L.Util.falseFn(document.body.offsetWidth)}});L.markerClusterGroup=function(n){return new L.MarkerClusterGroup(n)};t=L.MarkerCluster=L.Marker.extend({options:L.Icon.prototype.options,initialize:function(n,t,i,r){L.Marker.prototype.initialize.call(this,i?i._cLatLng||i.getLatLng():new L.LatLng(0,0),{icon:this,pane:n.options.clusterPane});this._group=n;this._zoom=t;this._markers=[];this._childClusters=[];this._childCount=0;this._iconNeedsUpdate=!0;this._boundsNeedUpdate=!0;this._bounds=new L.LatLngBounds;i&&this._addChild(i);r&&this._addChild(r)},getAllChildMarkers:function(n,t){var r,i;for(n=n||[],r=this._childClusters.length-1;r>=0;r--)this._childClusters[r].getAllChildMarkers(n);for(i=this._markers.length-1;i>=0;i--)t&&this._markers[i].__dragStart||n.push(this._markers[i]);return n},getChildCount:function(){return this._childCount},zoomToBounds:function(n){for(var u,t,i=this._childClusters.slice(),e=this._group._map,f=e.getBoundsZoom(this._bounds),r=this._zoom+1,o=e.getZoom();i.length>0&&f>r;){for(r++,u=[],t=0;t<i.length;t++)u=u.concat(i[t]._childClusters);i=u}f>r?this._group._map.setView(this._latlng,r):o>=f?this._group._map.setView(this._latlng,o+1):this._group._map.fitBounds(this._bounds,n)},getBounds:function(){var n=new L.LatLngBounds;return n.extend(this._bounds),n},_updateIcon:function(){this._iconNeedsUpdate=!0;this._icon&&this.setIcon(this)},createIcon:function(){return this._iconNeedsUpdate&&(this._iconObj=this._group.options.iconCreateFunction(this),this._iconNeedsUpdate=!1),this._iconObj.createIcon()},createShadow:function(){return this._iconObj.createShadow()},_addChild:function(n,t){this._iconNeedsUpdate=!0;this._boundsNeedUpdate=!0;this._setClusterCenter(n);n instanceof L.MarkerCluster?(t||(this._childClusters.push(n),n.__parent=this),this._childCount+=n._childCount):(t||this._markers.push(n),this._childCount++);this.__parent&&this.__parent._addChild(n,!0)},_setClusterCenter:function(n){this._cLatLng||(this._cLatLng=n._cLatLng||n._latlng)},_resetBounds:function(){var n=this._bounds;n._southWest&&(n._southWest.lat=1/0,n._southWest.lng=1/0);n._northEast&&(n._northEast.lat=-1/0,n._northEast.lng=-1/0)},_recalculateBounds:function(){var n,i,t,r,o=this._markers,s=this._childClusters,u=0,f=0,e=this._childCount;if(0!==e){for(this._resetBounds(),n=0;n<o.length;n++)t=o[n]._latlng,this._bounds.extend(t),u+=t.lat,f+=t.lng;for(n=0;n<s.length;n++)i=s[n],i._boundsNeedUpdate&&i._recalculateBounds(),this._bounds.extend(i._bounds),t=i._wLatLng,r=i._childCount,u+=t.lat*r,f+=t.lng*r;this._latlng=this._wLatLng=new L.LatLng(u/e,f/e);this._boundsNeedUpdate=!1}},_addToMap:function(n){n&&(this._backupLatlng=this._latlng,this.setLatLng(n));this._group._featureGroup.addLayer(this)},_recursivelyAnimateChildrenIn:function(n,t,i){this._recursively(n,this._group._map.getMinZoom(),i-1,function(n){for(var r,u=n._markers,i=u.length-1;i>=0;i--)r=u[i],r._icon&&(r._setPos(t),r.clusterHide())},function(n){for(var r,u=n._childClusters,i=u.length-1;i>=0;i--)r=u[i],r._icon&&(r._setPos(t),r.clusterHide())})},_recursivelyAnimateChildrenInAndAddSelfToMap:function(n,t,i,r){this._recursively(n,r,t,function(u){u._recursivelyAnimateChildrenIn(n,u._group._map.latLngToLayerPoint(u.getLatLng()).round(),i);u._isSingleParent()&&i-1===r?(u.clusterShow(),u._recursivelyRemoveChildrenFromMap(n,t,i)):u.clusterHide();u._addToMap()})},_recursivelyBecomeVisible:function(n,t){this._recursively(n,this._group._map.getMinZoom(),t,null,function(n){n.clusterShow()})},_recursivelyAddChildrenToMap:function(n,t,i){this._recursively(i,this._group._map.getMinZoom()-1,t,function(r){var f,u;if(t!==r._zoom)for(f=r._markers.length-1;f>=0;f--)u=r._markers[f],i.contains(u._latlng)&&(n&&(u._backupLatlng=u.getLatLng(),u.setLatLng(n),u.clusterHide&&u.clusterHide()),r._group._featureGroup.addLayer(u))},function(t){t._addToMap(n)})},_recursivelyRestoreChildPositions:function(n){for(var t,r,u,i=this._markers.length-1;i>=0;i--)t=this._markers[i],t._backupLatlng&&(t.setLatLng(t._backupLatlng),delete t._backupLatlng);if(n-1===this._zoom)for(r=this._childClusters.length-1;r>=0;r--)this._childClusters[r]._restorePosition();else for(u=this._childClusters.length-1;u>=0;u--)this._childClusters[u]._recursivelyRestoreChildPositions(n)},_restorePosition:function(){this._backupLatlng&&(this.setLatLng(this._backupLatlng),delete this._backupLatlng)},_recursivelyRemoveChildrenFromMap:function(n,t,i,r){var u,f;this._recursively(n,t-1,i-1,function(n){for(f=n._markers.length-1;f>=0;f--)u=n._markers[f],r&&r.contains(u._latlng)||(n._group._featureGroup.removeLayer(u),u.clusterShow&&u.clusterShow())},function(n){for(f=n._childClusters.length-1;f>=0;f--)u=n._childClusters[f],r&&r.contains(u._latlng)||(n._group._featureGroup.removeLayer(u),u.clusterShow&&u.clusterShow())})},_recursively:function(n,t,i,r,u){var e,f,s=this._childClusters,o=this._zoom;if(o>=t&&(r&&r(this),u&&o===i&&u(this)),t>o||i>o)for(e=s.length-1;e>=0;e--)f=s[e],f._boundsNeedUpdate&&f._recalculateBounds(),n.intersects(f._bounds)&&f._recursively(n,t,i,r,u)},_isSingleParent:function(){return this._childClusters.length>0&&this._childClusters[0]._childCount===this._childCount}});L.Marker.include({clusterHide:function(){var n=this.options.opacity;return this.setOpacity(0),this.options.opacity=n,this},clusterShow:function(){return this.setOpacity(this.options.opacity)}});L.DistanceGrid=function(n){this._cellSize=n;this._sqCellSize=n*n;this._grid={};this._objectPoint={}};L.DistanceGrid.prototype={addObject:function(n,t){var i=this._getCoord(t.x),r=this._getCoord(t.y),u=this._grid,f=u[r]=u[r]||{},e=f[i]=f[i]||[],o=L.Util.stamp(n);this._objectPoint[o]=t;e.push(n)},updateObject:function(n,t){this.removeObject(n);this.addObject(n,t)},removeObject:function(n,t){var i,r,u=this._getCoord(t.x),o=this._getCoord(t.y),s=this._grid,f=s[o]=s[o]||{},e=f[u]=f[u]||[];for(delete this._objectPoint[L.Util.stamp(n)],i=0,r=e.length;r>i;i++)if(e[i]===n)return e.splice(i,1),1===r&&delete f[u],!0},eachObject:function(n,t){var e,o,i,r,u,f,s,h=this._grid;for(e in h){u=h[e];for(o in u)for(f=u[o],i=0,r=f.length;r>i;i++)s=n.call(t,f[i]),s&&(i--,r--)}},getNearObject:function(n){for(var i,r,h,f,c,e,u,l=this._getCoord(n.x),a=this._getCoord(n.y),v=this._objectPoint,o=this._sqCellSize,s=null,t=a-1;a+1>=t;t++)if(h=this._grid[t])for(i=l-1;l+1>=i;i++)if(f=h[i])for(r=0,c=f.length;c>r;r++)e=f[r],u=this._sqDist(v[L.Util.stamp(e)],n),(o>u||o>=u&&null===s)&&(o=u,s=e);return s},_getCoord:function(n){var t=Math.floor(n/this._cellSize);return isFinite(t)?t:n},_sqDist:function(n,t){var i=t.x-n.x,r=t.y-n.y;return i*i+r*r}},function(){L.QuickHull={getDistant:function(n,t){var i=t[1].lat-t[0].lat,r=t[0].lng-t[1].lng;return r*(n.lat-t[0].lat)+i*(n.lng-t[0].lng)},findMostDistantPointFromBaseLine:function(n,t){for(var r,u,f=0,e=null,o=[],i=t.length-1;i>=0;i--)r=t[i],u=this.getDistant(r,n),u>0&&(o.push(r),u>f&&(f=u,e=r));return{maxPoint:e,newPoints:o}},buildConvexHull:function(n,t){var r=[],i=this.findMostDistantPointFromBaseLine(n,t);return i.maxPoint?(r=r.concat(this.buildConvexHull([n[0],i.maxPoint],i.newPoints)),r=r.concat(this.buildConvexHull([i.maxPoint,n[1]],i.newPoints))):[n[0]]},getConvexHull:function(n){for(var r=!1,u=!1,o=!1,s=!1,h=null,c=null,l=null,a=null,f=null,e=null,t,i=n.length-1;i>=0;i--)t=n[i],(r===!1||t.lat>r)&&(h=t,r=t.lat),(u===!1||t.lat<u)&&(c=t,u=t.lat),(o===!1||t.lng>o)&&(l=t,o=t.lng),(s===!1||t.lng<s)&&(a=t,s=t.lng);return u!==r?(e=c,f=h):(e=a,f=l),[].concat(this.buildConvexHull([e,f],n),this.buildConvexHull([f,e],n))}}}();L.MarkerCluster.include({getConvexHull:function(){for(var t,i=this.getAllChildMarkers(),r=[],n=i.length-1;n>=0;n--)t=i[n].getLatLng(),r.push(t);return L.QuickHull.getConvexHull(r)}});L.MarkerCluster.include({_2PI:2*Math.PI,_circleFootSeparation:25,_circleStartAngle:0,_spiralFootSeparation:28,_spiralLengthStart:11,_spiralLengthFactor:5,_circleSpiralSwitchover:9,spiderfy:function(){if(this._group._spiderfied!==this&&!this._group._inZoomAnimation){var t,n=this.getAllChildMarkers(null,!0),r=this._group,u=r._map,i=u.latLngToLayerPoint(this._latlng);this._group._unspiderfy();this._group._spiderfied=this;n.length>=this._circleSpiralSwitchover?t=this._generatePointsSpiral(n.length,i):(i.y+=10,t=this._generatePointsCircle(n.length,i));this._animationSpiderfy(n,t)}},unspiderfy:function(n){this._group._inZoomAnimation||(this._animationUnspiderfy(n),this._group._spiderfied=null)},_generatePointsCircle:function(n,t){var i,u,e=this._group.options.spiderfyDistanceMultiplier*this._circleFootSeparation*(2+n),r=e/this._2PI,o=this._2PI/n,f=[];for(r=Math.max(r,35),f.length=n,i=0;n>i;i++)u=this._circleStartAngle+i*o,f[i]=new L.Point(t.x+r*Math.cos(u),t.y+r*Math.sin(u))._round();return f},_generatePointsSpiral:function(n,t){var i,f=this._group.options.spiderfyDistanceMultiplier,r=f*this._spiralLengthStart,o=f*this._spiralFootSeparation,s=f*this._spiralLengthFactor*this._2PI,u=0,e=[];for(e.length=n,i=n;i>=0;i--)n>i&&(e[i]=new L.Point(t.x+r*Math.cos(u),t.y+r*Math.sin(u))._round()),u+=o/r+.0005*i,r+=s/u;return e},_noanimationUnspiderfy:function(){var n,i,t=this._group,u=t._map,f=t._featureGroup,r=this.getAllChildMarkers(null,!0);for(t._ignoreMove=!0,this.setOpacity(1),i=r.length-1;i>=0;i--)n=r[i],f.removeLayer(n),n._preSpiderfyLatlng&&(n.setLatLng(n._preSpiderfyLatlng),delete n._preSpiderfyLatlng),n.setZIndexOffset&&n.setZIndexOffset(0),n._spiderLeg&&(u.removeLayer(n._spiderLeg),delete n._spiderLeg);t.fire("unspiderfied",{cluster:this,markers:r});t._ignoreMove=!1;t._spiderfied=null}});L.MarkerClusterNonAnimated=L.MarkerCluster.extend({_animationSpiderfy:function(n,t){var r,i,f,e,u=this._group,o=u._map,s=u._featureGroup,h=this._group.options.spiderLegPolylineOptions;for(u._ignoreMove=!0,r=0;r<n.length;r++)e=o.layerPointToLatLng(t[r]),i=n[r],f=new L.Polyline([this._latlng,e],h),o.addLayer(f),i._spiderLeg=f,i._preSpiderfyLatlng=i._latlng,i.setLatLng(e),i.setZIndexOffset&&i.setZIndexOffset(1e6),s.addLayer(i);this.setOpacity(.3);u._ignoreMove=!1;u.fire("spiderfied",{cluster:this,markers:n})},_animationUnspiderfy:function(){this._noanimationUnspiderfy()}});L.MarkerCluster.include({_animationSpiderfy:function(n,t){var r,i,f,e,l,s,y=this,u=this._group,h=u._map,p=u._featureGroup,v=this._latlng,w=h.latLngToLayerPoint(v),a=L.Path.SVG,o=L.extend({},this._group.options.spiderLegPolylineOptions),c=o.opacity;for(void 0===c&&(c=L.MarkerClusterGroup.prototype.options.spiderLegPolylineOptions.opacity),a?(o.opacity=0,o.className=(o.className||"")+" leaflet-cluster-spider-leg"):o.opacity=c,u._ignoreMove=!0,r=0;r<n.length;r++)i=n[r],s=h.layerPointToLatLng(t[r]),f=new L.Polyline([v,s],o),h.addLayer(f),i._spiderLeg=f,a&&(e=f._path,l=e.getTotalLength()+.1,e.style.strokeDasharray=l,e.style.strokeDashoffset=l),i.setZIndexOffset&&i.setZIndexOffset(1e6),i.clusterHide&&i.clusterHide(),p.addLayer(i),i._setPos&&i._setPos(w);for(u._forceLayout(),u._animationStart(),r=n.length-1;r>=0;r--)s=h.layerPointToLatLng(t[r]),i=n[r],i._preSpiderfyLatlng=i._latlng,i.setLatLng(s),i.clusterShow&&i.clusterShow(),a&&(f=i._spiderLeg,e=f._path,e.style.strokeDashoffset=0,f.setStyle({opacity:c}));this.setOpacity(.3);u._ignoreMove=!1;setTimeout(function(){u._animationEnd();u.fire("spiderfied",{cluster:y,markers:n})},200)},_animationUnspiderfy:function(n){var t,i,e,o,h,f,l=this,r=this._group,s=r._map,c=r._featureGroup,a=n?s._latLngToNewLayerPoint(this._latlng,n.zoom,n.center):s.latLngToLayerPoint(this._latlng),u=this.getAllChildMarkers(null,!0),v=L.Path.SVG;for(r._ignoreMove=!0,r._animationStart(),this.setOpacity(1),i=u.length-1;i>=0;i--)t=u[i],t._preSpiderfyLatlng&&(t.closePopup(),t.setLatLng(t._preSpiderfyLatlng),delete t._preSpiderfyLatlng,f=!0,t._setPos&&(t._setPos(a),f=!1),t.clusterHide&&(t.clusterHide(),f=!1),f&&c.removeLayer(t),v&&(e=t._spiderLeg,o=e._path,h=o.getTotalLength()+.1,o.style.strokeDashoffset=h,e.setStyle({opacity:0})));r._ignoreMove=!1;setTimeout(function(){var n=0;for(i=u.length-1;i>=0;i--)t=u[i],t._spiderLeg&&n++;for(i=u.length-1;i>=0;i--)t=u[i],t._spiderLeg&&(t.clusterShow&&t.clusterShow(),t.setZIndexOffset&&t.setZIndexOffset(0),n>1&&c.removeLayer(t),s.removeLayer(t._spiderLeg),delete t._spiderLeg);r._animationEnd();r.fire("unspiderfied",{cluster:l,markers:u})},200)}});L.MarkerClusterGroup.include({_spiderfied:null,unspiderfy:function(){this._unspiderfy.apply(this,arguments)},_spiderfierOnAdd:function(){this._map.on("click",this._unspiderfyWrapper,this);this._map.options.zoomAnimation&&this._map.on("zoomstart",this._unspiderfyZoomStart,this);this._map.on("zoomend",this._noanimationUnspiderfy,this);L.Browser.touch||this._map.getRenderer(this)},_spiderfierOnRemove:function(){this._map.off("click",this._unspiderfyWrapper,this);this._map.off("zoomstart",this._unspiderfyZoomStart,this);this._map.off("zoomanim",this._unspiderfyZoomAnim,this);this._map.off("zoomend",this._noanimationUnspiderfy,this);this._noanimationUnspiderfy()},_unspiderfyZoomStart:function(){this._map&&this._map.on("zoomanim",this._unspiderfyZoomAnim,this)},_unspiderfyZoomAnim:function(n){L.DomUtil.hasClass(this._map._mapPane,"leaflet-touching")||(this._map.off("zoomanim",this._unspiderfyZoomAnim,this),this._unspiderfy(n))},_unspiderfyWrapper:function(){this._unspiderfy()},_unspiderfy:function(n){this._spiderfied&&this._spiderfied.unspiderfy(n)},_noanimationUnspiderfy:function(){this._spiderfied&&this._spiderfied._noanimationUnspiderfy()},_unspiderfyLayer:function(n){n._spiderLeg&&(this._featureGroup.removeLayer(n),n.clusterShow&&n.clusterShow(),n.setZIndexOffset&&n.setZIndexOffset(0),this._map.removeLayer(n._spiderLeg),delete n._spiderLeg)}});L.MarkerClusterGroup.include({refreshClusters:function(n){return n?n instanceof L.MarkerClusterGroup?n=n._topClusterLevel.getAllChildMarkers():n instanceof L.LayerGroup?n=n._layers:n instanceof L.MarkerCluster?n=n.getAllChildMarkers():n instanceof L.Marker&&(n=[n]):n=this._topClusterLevel.getAllChildMarkers(),this._flagParentsIconsNeedUpdate(n),this._refreshClustersIcons(),this.options.singleMarkerMode&&this._refreshSingleMarkerModeMarkers(n),this},_flagParentsIconsNeedUpdate:function(n){var i,t;for(i in n)for(t=n[i].__parent;t;)t._iconNeedsUpdate=!0,t=t.__parent},_refreshSingleMarkerModeMarkers:function(n){var i,t;for(i in n)t=n[i],this.hasLayer(t)&&t.setIcon(this._overrideMarkerIcon(t))}});L.Marker.include({refreshIconOptions:function(n,t){var i=this.options.icon;return L.setOptions(i,n),this.setIcon(i),t&&this.__parent&&this.__parent._group.refreshClusters(this),this}});n.MarkerClusterGroup=i;n.MarkerCluster=t}),function(n,t){typeof define=="function"&&define.amd?define(["leaflet","mapbox-gl"],t):typeof exports=="object"?module.exports=t(require("leaflet"),require("mapbox-gl")):n.returnExports=t(window.L,window.mapboxgl)}(this,function(n,t){n.MapboxGL=n.Layer.extend({options:{updateInterval:32},initialize:function(i){if(n.setOptions(this,i),i.accessToken)t.accessToken=i.accessToken;else throw new Error("You should provide a Mapbox GL access token as a token option.");var r=function(n,t,i){var u,r,f,e;return e=function(){u=!1;r&&(f.apply(i,r),r=!1)},f=function(){u?r=arguments:(n.apply(i,arguments),setTimeout(e,t),u=!0)}};this._throttledUpdate=r(n.Util.bind(this._update,this),this.options.updateInterval)},onAdd:function(t){if(this._glContainer||this._initContainer(),this.getPane().appendChild(this._glContainer),this._initGL(),this._offset=this._map.containerPointToLayerPoint([0,0]),t.options.zoomAnimation)n.DomEvent.on(t._proxy,n.DomUtil.TRANSITION_END,this._transitionEnd,this)},onRemove:function(){this._map._proxy&&this._map.options.zoomAnimation&&n.DomEvent.off(this._map._proxy,n.DomUtil.TRANSITION_END,this._transitionEnd,this);this.getPane().removeChild(this._glContainer);this._glMap.remove();this._glMap=null},getEvents:function(){return{move:this._throttledUpdate,zoomanim:this._animateZoom,zoom:this._pinchZoom,zoomstart:this._zoomStart,zoomend:this._zoomEnd}},_initContainer:function(){var t=this._glContainer=n.DomUtil.create("div","leaflet-gl-layer"),i=this._map.getSize();t.style.width=i.x+"px";t.style.height=i.y+"px"},_initGL:function(){var i=this._map.getCenter(),r=n.extend({},this.options,{container:this._glContainer,interactive:!1,center:[i.lng,i.lat],zoom:this._map.getZoom()-1,attributionControl:!1});this._glMap=new t.Map(r);this._glMap.transform.latRange=null;this._glMap._actualCanvas=this._glMap._canvas.canvas?this._glMap._canvas.canvas:this._glMap._canvas;n.DomUtil.addClass(this._glMap._actualCanvas,"leaflet-image-layer");n.DomUtil.addClass(this._glMap._actualCanvas,"leaflet-zoom-animated")},_update:function(){var f,e;if(this._offset=this._map.containerPointToLayerPoint([0,0]),!this._zooming){var r=this._map.getSize(),u=this._glContainer,i=this._glMap,o=this._map.containerPointToLayerPoint([0,0]);n.DomUtil.setPosition(u,o);f=this._map.getCenter();e=i.transform;e.center=t.LngLat.convert([f.lng,f.lat]);e.zoom=this._map.getZoom()-1;i.transform.width!==r.x||i.transform.height!==r.y?(u.style.width=r.x+"px",u.style.height=r.y+"px",i._resize!==null&&i._resize!==undefined?i._resize():i.resize()):i._update!==null&&i._update!==undefined?i._update():i.update()}},_pinchZoom:function(){this._glMap.jumpTo({zoom:this._map.getZoom()-1,center:this._map.getCenter()})},_animateZoom:function(t){var i=this._map.getZoomScale(t.zoom),r=this._map._latLngToNewLayerPoint(this._map.getBounds().getNorthWest(),t.zoom,t.center);n.DomUtil.setTransform(this._glMap._actualCanvas,r.subtract(this._offset),i)},_zoomStart:function(){this._zooming=!0},_zoomEnd:function(){var t=this._map.getZoomScale(this._map.getZoom()),i=this._map._latLngToNewLayerPoint(this._map.getBounds().getNorthWest(),this._map.getZoom(),this._map.getCenter());n.DomUtil.setTransform(this._glMap._actualCanvas,i.subtract(this._offset),t);this._zooming=!1},_transitionEnd:function(){n.Util.requestAnimFrame(function(){var t=this._map.getZoom(),i=this._map.getCenter(),r=this._map.latLngToContainerPoint(this._map.getBounds().getNorthWest());n.DomUtil.setTransform(this._glMap._actualCanvas,r,1);this._glMap.once("moveend",n.Util.bind(function(){this._zoomEnd()},this));this._glMap.jumpTo({center:i,zoom:t-1})},this)}});n.mapboxGL=function(t){return new n.MapboxGL(t)}}),function(n){var t={Room:new L.Icon({iconUrl:"/Content/Images/Search/Maps/pin_exact.png"}),RoomStaffPick:new L.Icon({iconUrl:"/Content/Images/Search/Maps/pin_exact.png"}),ExternalRoom:new L.Icon({iconUrl:"/Content/Images/Search/Maps/pin_exact.png"}),Property:new L.Icon({iconUrl:"/Content/Images/Search/Maps/pin_external.png"}),SharedProperty:new L.Icon({iconUrl:"/Content/Images/Search/Maps/pin_external.png"}),ContactedRoom:new L.Icon({iconUrl:"/Content/Images/Search/Maps/pin_exact_contacted.png"}),NewRoom:new L.Icon({iconUrl:"/Content/Images/Search/Maps/pin_exact_new.png"}),Boosted:new L.Icon({iconUrl:"/Content/Images/Search/Maps/pin_exact_active.png"})};LeafletMarkerService=function(){};LeafletMarkerService.prototype.clearMarkers=function(n,t){t.clearLayers()};LeafletMarkerService.prototype.createMarker=function(n,i,r,u,f,e){return marker=L.marker([u,f],{icon:t[r]}).on("click",function(){e(this)}),i.addLayer(marker),marker};n.LeafletMarkerService=LeafletMarkerService}(frm.services),function(){ko.bindingHandlers.map={init:function(n,t){var i=ko.unwrap(t()),u=i.latitude,f=i.longitude,r={mapTypeId:google.maps.MapTypeId.ROADMAP,minZoom:7,center:new google.maps.LatLng(u,f),zoom:13,scrollwheel:!1};this.map=new google.maps.Map(n,r);this.marker=new google.maps.Marker({map:map,position:r.center,icon:"/Content/Images/Search/Maps/pin_exact.png"})}}}(),function(n,t){function r(n){return new t.Icon({iconUrl:"https://cdn.rawgit.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-"+n+".png",shadowUrl:"https://cdnjs.cloudflare.com/ajax/libs/leaflet/0.7.3/images/marker-shadow.png",iconSize:[25,41],iconAnchor:[12,41],popupAnchor:[1,-34],shadowSize:[41,41]})}var i=n.utils.arrayForEach,u=function(i,u){var f=this,h;f.eventHandlers=[];f.centerM=n.computed({read:function(){return[n.unwrap(i.center[0]),n.unwrap(i.center[1])]},write:function(n){i.center[0](n.lat);i.center[1](n.lng)}});var e=n.isObservable(i.title)?i.title:n.observable(i.title),o=n.isObservable(i.text)?i.text:n.observable(i.text),s={title:n.unwrap(e||"----"),draggable:n.unwrap(i.draggable||!1),opacity:n.unwrap(i.opacity||1)};if(i.color&&(s.icon=r(i.color)),f.marker=t.marker(n.unwrap(f.centerM),s),f.marker.addTo(u),f.marker.bindPopup(n.unwrap(o)),h=f.marker.getPopup(),n.unwrap(i.draggable||!1))f.marker.on("dragend",function(n){f.eventHandlers.push({target:n.target,eventName:n.type,handler:arguments.callee});f.centerM(f.marker.getLatLng())});if(f.subscriptions=[f.centerM.subscribe(function(){f.marker.setLatLng(n.unwrap(f.centerM))}),e.subscribe(function(){f.marker.title=n.unwrap(e)}),o.subscribe(function(){h.setContent(n.unwrap(o))})],f.subscriptions.push(f.centerM),i.opened&&n.isObservable(i.opened)){f.subscriptions.push(i.opened.subscribe(function(n){n?f.marker.openPopup():f.marker.closePopup()}));f.marker.on("popupclose",function(){i.opened(!1)})}i.opacity&&n.isObservable(i.opacity)&&f.subscriptions.push(i.opacity.subscribe(function(n){f.marker.setOpacity(n)}));this.map=u};u.prototype.dispose=function(){i(this.eventHandlers,function(n){n.target.removeEventListener(n.eventName,n.handler)});i(this.subscriptions,function(n){n.dispose()});this.map.removeLayer(this.marker)};n.bindingHandlers.leafletMap={init:function(r,u,f){var a=!0,v=f.get("pinType"),y=f.get("scrollWheelZoom")===undefined?!1:f.get("scrollWheelZoom"),o=u(),s=f.get("zoom")||10,l=f.get("invalidateSize"),p=[],b,c,k;if(o[0]!==0&&o[1]!==0){var h=n.computed({read:function(){return[n.unwrap(o[0]),n.unwrap(o[1])]},write:function(n){o[0](n.lat);o[1](n.lng)}},null,{disposeWhenNodeIsRemoved:r}),e=t.map(r,{scrollWheelZoom:y}).setView(n.unwrap(h),n.unwrap(s)),d=t.mapboxGL({attribution:'<a href="https://www.maptiler.com/copyright/" target="_blank">© MapTiler<\/a> <a href="https://www.openstreetmap.org/copyright" target="_blank">© OpenStreetMap contributors<\/a>',accessToken:"not-needed",style:"https://api.maptiler.com/maps/f56a704f-eeab-4235-8a1d-812a65a3a15a/style.json?key=XHKxi50XrAmrHEiGht6R"}).addTo(e),w="pin_exact";if(v=="purple"?w="pin_external":v=="none"&&(a=!1),a===!0&&(b=t.icon({iconUrl:"/Content/Images/Search/Maps/"+w+".png",iconSize:[32,43]}),t.marker(n.unwrap(h),{icon:b}).addTo(e),c=[h.subscribe(function(){e.setView(n.unwrap(h))})]),l&&n.isObservable(l)&&c.push(l.subscribe(function(){e.invalidateSize()})),n.isObservable(s)){k=s.subscribe(function(){e.setZoom(n.unwrap(s))});c.push(k);e.on("zoomend",function(n){p.push({target:n.target,eventName:n.type,handler:arguments.callee});s(e.getZoom())})}if(y===!1){e.on("focus",function(){e.scrollWheelZoom.enable()});e.on("blur",function(){e.scrollWheelZoom.disable()})}n.utils.domNodeDisposal.addDisposeCallback(r,function(){i(p,function(n){n.target.removeEventListener(n.eventName,n.handler)});i(c,function(n){n.dispose()})})}}}}(ko,L);frm.maps.places.PlacesService=function(n,t,i){var r={},u;typeof t!="undefined"&&t.onlyAddress&&(r.types=["address"]);u=new google.maps.places.AutocompleteService(r);this.getPlacePredictions=function(n,t,i){r.input=n;r.componentRestrictions={country:App.settings.currentSiteId!==20?App.settings.countryCode:""};var f=r.componentRestrictions.country+"-"+App.settings.language+"-"+r.input,e=frm.services.AutoCompleteCacheService.getCachedPredictions(f).done(function(n){var o=n.data!==null,e;o?(e=JSON.parse(n.data),t(e)):u.getPlacePredictions(r,function(n){var u,r=$.map(n||[],function(n){var r=n.types[0]=="establishment",t;if(!r)return typeof i=="undefined"?{label:frm.maps.places.getPredictionTitle(n),ref:n.reference}:(t=ko.utils.arrayMap(n.terms,function(n){return n.value}).join(", "),u=t,{ref:n.reference,terms:n.terms,text:t})});frm.services.AutoCompleteCacheService.cachePredictions(f,r);t(r)})})};this.getDetails=function(n,t){var r=App.settings.language+"-"+n.reference,u=frm.services.AutoCompleteCacheService.getCachedDetails(r).done(function(u){var o=u.data!==null,f,e;o?(e=JSON.parse(u.data),t(e)):(f=new google.maps.places.PlacesService(i),f.getDetails(n,function(n){frm.services.AutoCompleteCacheService.cacheDetails(r,n).then(function(){frm.services.AutoCompleteCacheService.getCachedDetails(r).done(function(n){var i=JSON.parse(n.data);t(i)})})}))})}},function(n){n.AutoCompleteCacheService={getCachedPredictions:function(n){return $.ajax({type:"GET",url:"/Api/Web/AutoCompleteCache/GetPredictions",data:{key:n}})},cachePredictions:function(n,t){return $.ajax({type:"POST",url:"/Api/Web/AutoCompleteCache/CachePredictions",data:{Key:n,Predictions:JSON.stringify(t)}})},getCachedDetails:function(n){return $.ajax({type:"GET",url:"/Api/Web/AutoCompleteCache/GetDetails",data:{key:n}})},cacheDetails:function(n,t){return $.ajax({type:"POST",url:"/Api/Web/AutoCompleteCache/CacheDetails",data:{Key:n,Details:JSON.stringify(t)}})}}}(frm.services),function(){frm.services.AddressFactory={create:function(n,t){return(t=typeof t!="undefined"?t:!0,t&&n.type!=="street_address"&&n.type!=="route")?null:{Country:n.country,CountryCode:n.countryCode,Locality:n.locality,SubLocality:n.subLocality,Latitude:n.location.lat,Longitude:n.location.lng,Street:n.street,StreetNumber:n.streetNumber,PostalCode:n.postalCode,DisplayAddress:n.address}}}}(),function(n){function i(n){return n.indexOf("establishment")>=0?"establishment":n.indexOf("street_address")>=0?"street_address":n.indexOf("route")>=0?"route":n.indexOf("sublocality")>=0?"sublocality":n.indexOf("country")>=0?"country":n.indexOf("neighborhood")>=0?"neighborhood":n.indexOf("administrative_area_level_1")>=0?"region":"locality"}function r(n){for(var r={},u=n.address_components,f=n.geometry.location,i,t=0;t<u.length;t++)i=u[t],r[i.types[0]]={long:i.long_name,short:i.short_name};return r.coords={lat:f.lat,lng:f.lng},r}function t(n,t,i){if(typeof t=="undefined")throw new Error("mapItem/Input can not be undefined");this.placesService=new frm.maps.places.PlacesService(n,i,t)}t.prototype.getSuggestions=function(n){var t=new jQuery.Deferred;return this.placesService.getPlacePredictions(n,function(n){t.resolve(n)},"terms"),t};t.prototype.geocode=function(n){var t=new jQuery.Deferred,u={reference:n.ref,fields:["address_component","geometry","types"]};return this.placesService.getDetails(u,function(u){var f,e,o;if(typeof u!="undefined"){f=r(u);e={type:i(u.types),address:n.text,location:f.coords,viewport:u.geometry.viewport};typeof f.country!="undefined"&&(e.country=f.country.long,e.countryCode=f.country.short);switch(e.type){case"street_address":e.streetNumber=f.street_number.long;e.street=f.route.long;e.locality=f.locality.long;typeof f.country!="undefined"&&f.country.short==="US"&&typeof f.administrative_area_level_1!="undefined"&&(e.state=f.administrative_area_level_1.short);typeof f.postal_code!="undefined"&&(e.postalCode=f.postal_code.long);typeof f.sublocality!="undefined"&&(e.subLocality=f.sublocality.long);break;case"route":e.street=f.route.long;e.locality=typeof f.locality!="undefined"?f.locality.long:f.postal_town!=="undefined"?f.postal_town.long:"";break;case"establishment":e.name=u.name;typeof f.locality!="undefined"?e.locality=f.locality.long:e.coords=f.coords;break;case"country":e.country=f.country.long;break;case"sublocality":typeof f.sublocality!="undefined"?e.sublocality=f.sublocality.long:typeof f.sublocality_level_1!="undefined"&&(e.sublocality=f.sublocality_level_1.long);e.locality=f.locality.long;break;case"neighborhood":e.neighborhood=f.neighborhood.long;e.locality=f.locality.long;break;case"region":e.locality=f.administrative_area_level_1.long;break;default:o="";typeof f.locality!="undefined"?o=f.locality.long:typeof f.administrative_area_level_2!="undefined"&&(o=f.administrative_area_level_2.long);e.locality=o}t.resolve(e,u)}}),t};n.FrmSuggestionService=t}(frm.services),function(n){var t={isMsie:function(){return/(msie|trident)/i.test(navigator.userAgent)?navigator.userAgent.match(/(msie |rv:)(\d+(.\d+)?)/i)[2]:!1},isBlankString:function(n){return!n||/^\s*$/.test(n)},escapeRegExChars:function(n){return n.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")},isString:function(n){return typeof n=="string"},isNumber:function(n){return typeof n=="number"},isArray:n.isArray,isFunction:n.isFunction,isObject:n.isPlainObject,isUndefined:function(n){return typeof n=="undefined"},bind:n.proxy,each:function(t,i){function r(n,t){return i(t,n)}n.each(t,r)},map:n.map,filter:n.grep,every:function(t,i){var r=!0;return t?(n.each(t,function(n,u){if(!(r=i.call(null,u,n,t)))return!1}),!!r):r},some:function(t,i){var r=!1;return t?(n.each(t,function(n,u){if(r=i.call(null,u,n,t))return!1}),!!r):r},mixin:n.extend,getUniqueId:function(){var n=0;return function(){return n++}}(),templatify:function(t){function i(){return String(t)}return n.isFunction(t)?t:i},defer:function(n){setTimeout(n,0)},debounce:function(n,t,i){var r,u;return function(){var f=this,e=arguments,o,s;return o=function(){r=null;i||(u=n.apply(f,e))},s=i&&!r,clearTimeout(r),r=setTimeout(o,t),s&&(u=n.apply(f,e)),u}},throttle:function(n,t){var u,f,i,e,r,o;return r=0,o=function(){r=new Date;i=null;e=n.apply(u,f)},function(){var s=new Date,h=t-(s-r);return u=this,f=arguments,h<=0?(clearTimeout(i),i=null,r=s,e=n.apply(u,f)):i||(i=setTimeout(o,h)),e}},noop:function(){}},l="0.10.2",a=function(){function n(n){return n.split(/\s+/)}function t(n){return n.split(/\W+/)}function i(n){return function(t){return function(i){return n(i[t])}}}return{nonword:t,whitespace:n,obj:{nonword:i(t),whitespace:i(n)}}}(),o=function(){function n(n){this.maxSize=n||100;this.size=0;this.hash={};this.list=new i}function i(){this.head=this.tail=null}function r(n,t){this.key=n;this.val=t;this.prev=this.next=null}return t.mixin(n.prototype,{set:function(n,t){var u=this.list.tail,i;this.size>=this.maxSize&&(this.list.remove(u),delete this.hash[u.key]);(i=this.hash[n])?(i.val=t,this.list.moveToFront(i)):(i=new r(n,t),this.list.add(i),this.hash[n]=i,this.size++)},get:function(n){var t=this.hash[n];if(t)return this.list.moveToFront(t),t.val}}),t.mixin(i.prototype,{add:function(n){this.head&&(n.next=this.head,this.head.prev=n);this.head=n;this.tail=this.tail||n},remove:function(n){n.prev?n.prev.next=n.next:this.head=n.next;n.next?n.next.prev=n.prev:this.tail=n.prev},moveToFront:function(n){this.remove(n);this.add(n)}}),n}(),v=function(){function r(n){this.prefix=["__",n,"__"].join("");this.ttlKey="__ttl__";this.keyMatcher=new RegExp("^"+this.prefix)}function u(){return(new Date).getTime()}function f(n){return JSON.stringify(t.isUndefined(n)?null:n)}function e(n){return JSON.parse(n)}var n,i;try{n=window.localStorage;n.setItem("~~~","!");n.removeItem("~~~")}catch(o){n=null}return i=n&&window.JSON?{_prefix:function(n){return this.prefix+n},_ttlKey:function(n){return this._prefix(n)+this.ttlKey},get:function(t){return this.isExpired(t)&&this.remove(t),e(n.getItem(this._prefix(t)))},set:function(i,r,e){return t.isNumber(e)?n.setItem(this._ttlKey(i),f(u()+e)):n.removeItem(this._ttlKey(i)),n.setItem(this._prefix(i),f(r))},remove:function(t){return n.removeItem(this._ttlKey(t)),n.removeItem(this._prefix(t)),this},clear:function(){for(var r,i=[],u=n.length,t=0;t<u;t++)(r=n.key(t)).match(this.keyMatcher)&&i.push(r.replace(this.keyMatcher,""));for(t=i.length;t--;)this.remove(i[t]);return this},isExpired:function(i){var r=e(n.getItem(this._ttlKey(i)));return t.isNumber(r)&&u()>r?!0:!1}}:{get:t.noop,set:t.noop,remove:t.noop,clear:t.noop,isExpired:t.noop},t.mixin(r.prototype,i),r}(),s=function(){function i(t){t=t||{};this._send=t.transport?s(t.transport):n.ajax;this._get=t.rateLimiter?t.rateLimiter(this._get):this._get}function s(i){return function(r,u){function e(n){t.defer(function(){f.resolve(n)})}function o(n){t.defer(function(){f.reject(n)})}var f=n.Deferred();return i(r,u,e,o),f}}var r=0,u={},e=6,f=new o(10);return i.setMaxPendingRequests=function(n){e=n},i.resetCache=function(){f=new o(10)},t.mixin(i.prototype,{_get:function(n,t,i){function h(t){i&&i(null,t);f.set(n,t)}function c(){i&&i(!0)}function l(){r--;delete u[n];o.onDeckRequestArgs&&(o._get.apply(o,o.onDeckRequestArgs),o.onDeckRequestArgs=null)}var o=this,s;(s=u[n])?s.done(h).fail(c):r<e?(r++,u[n]=this._send(n,t).done(h).fail(c).always(l)):this.onDeckRequestArgs=[].slice.call(arguments,0)},get:function(n,i,r){var u;return t.isFunction(i)&&(r=i,i={}),(u=f.get(n))?t.defer(function(){r&&r(null,u)}):this._get(n,i,r),!!u}}),i}(),y=function(){function i(t){t=t||{};t.datumTokenizer&&t.queryTokenizer||n.error("datumTokenizer and queryTokenizer are both required");this.datumTokenizer=t.datumTokenizer;this.queryTokenizer=t.queryTokenizer;this.reset()}function r(n){return n=t.filter(n,function(n){return!!n}),t.map(n,function(n){return n.toLowerCase()})}function u(){return{ids:[],children:{}}}function f(n){for(var i={},r=[],t=0;t<n.length;t++)i[n[t]]||(i[n[t]]=!0,r.push(n[t]));return r}function e(n,t){function f(n,t){return n-t}var i=0,r=0,u=[];for(n=n.sort(f),t=t.sort(f);i<n.length&&r<t.length;)n[i]<t[r]?i++:n[i]>t[r]?r++:(u.push(n[i]),i++,r++);return u}return t.mixin(i.prototype,{bootstrap:function(n){this.datums=n.datums;this.trie=n.trie},add:function(n){var i=this;n=t.isArray(n)?n:[n];t.each(n,function(n){var f,e;f=i.datums.push(n)-1;e=r(i.datumTokenizer(n));t.each(e,function(n){for(var r,t=i.trie,e=n.split("");r=e.shift();)t=t.children[r]||(t.children[r]=u()),t.ids.push(f)})})},get:function(n){var u=this,o,i;return o=r(this.queryTokenizer(n)),t.each(o,function(n){var t,r,o,f;if(i&&i.length===0)return!1;for(t=u.trie,r=n.split("");t&&(o=r.shift());)t=t.children[o];if(t&&r.length===0)f=t.ids.slice(0),i=i?e(i,f):f;else return i=[],!1}),i?t.map(f(i),function(n){return u.datums[n]}):[]},reset:function(){this.datums=[];this.trie=u()},serialize:function(){return{datums:this.datums,trie:this.trie}}}),i}(),f=function(){function i(n){return n.local||null}function r(i){var r,u;return u={url:null,thumbprint:"",ttl:864e5,filter:null,ajax:{}},(r=i.prefetch||null)&&(r=t.isString(r)?{url:r}:r,r=t.mixin(u,r),r.thumbprint=l+r.thumbprint,r.ajax.type=r.ajax.type||"GET",r.ajax.dataType=r.ajax.dataType||"json",r.url||n.error("prefetch requires url to be set")),r}function u(i){function f(n){return function(i){return t.debounce(i,n)}}function e(n){return function(i){return t.throttle(i,n)}}var r,u;return u={url:null,wildcard:"%QUERY",replace:null,rateLimitBy:"debounce",rateLimitWait:300,send:null,filter:null,ajax:{}},(r=i.remote||null)&&(r=t.isString(r)?{url:r}:r,r=t.mixin(u,r),r.rateLimiter=/^throttle$/i.test(r.rateLimitBy)?e(r.rateLimitWait):f(r.rateLimitWait),r.ajax.type=r.ajax.type||"GET",r.ajax.dataType=r.ajax.dataType||"json",delete r.rateLimitBy,delete r.rateLimitWait,r.url||n.error("remote requires url to be set")),r}return{local:i,prefetch:r,remote:u}}(),r,i;(function(i){function u(t){t&&(t.local||t.prefetch||t.remote)||n.error("one of local, prefetch, or remote is required");this.limit=t.limit||5;this.sorter=o(t.sorter);this.dupDetector=t.dupDetector||h;this.local=f.local(t);this.prefetch=f.prefetch(t);this.remote=f.remote(t);this.cacheKey=this.prefetch?this.prefetch.cacheKey||this.prefetch.url:null;this.index=new y({datumTokenizer:t.datumTokenizer,queryTokenizer:t.queryTokenizer});this.storage=this.cacheKey?new v(this.cacheKey):null}function o(n){function i(t){return t.sort(n)}function r(n){return n}return t.isFunction(n)?i:r}function h(){return!1}var e,r;return e=i.Bloodhound,r={data:"data",protocol:"protocol",thumbprint:"thumbprint"},i.Bloodhound=u,u.noConflict=function(){return i.Bloodhound=e,u},u.tokenizers=a,t.mixin(u.prototype,{_loadPrefetch:function(t){function f(n){i.clear();i.add(t.filter?t.filter(n):n);i._saveToStorage(i.index.serialize(),t.thumbprint,t.ttl)}var i=this,u,r;return(u=this._readFromStorage(t.thumbprint))?(this.index.bootstrap(u),r=n.Deferred().resolve()):r=n.ajax(t.url,t.ajax).done(f),r},_getFromRemote:function(n,t){function f(n,r){n?t([]):t(i.remote.filter?i.remote.filter(r):r)}var i=this,r,u;return n=n||"",u=encodeURIComponent(n),r=this.remote.replace?this.remote.replace(this.remote.url,n):this.remote.url.replace(this.remote.wildcard,u),this.transport.get(r,this.remote.ajax,f)},_saveToStorage:function(n,t,i){this.storage&&(this.storage.set(r.data,n,i),this.storage.set(r.protocol,location.protocol,i),this.storage.set(r.thumbprint,t,i))},_readFromStorage:function(n){var t={},i;return this.storage&&(t.data=this.storage.get(r.data),t.protocol=this.storage.get(r.protocol),t.thumbprint=this.storage.get(r.thumbprint)),i=t.thumbprint!==n||t.protocol!==location.protocol,t.data&&!i?t.data:null},_initialize:function(){function f(){u.add(t.isFunction(i)?i():i)}var u=this,i=this.local,r;return r=this.prefetch?this._loadPrefetch(this.prefetch):n.Deferred().resolve(),i&&r.done(f),this.transport=this.remote?new s(this.remote):null,this.initPromise=r.promise()},initialize:function(n){return!this.initPromise||n?this._initialize():this.initPromise},add:function(n){this.index.add(n)},get:function(n,i){function e(n){var f=r.slice(0);t.each(n,function(n){var i;return i=t.some(f,function(t){return u.dupDetector(n,t)}),i||f.push(n),f.length<u.limit});i&&i(u.sorter(f))}var u=this,r=[],f=!1;r=this.index.get(n);r=this.sorter(r).slice(0,this.limit);r.length<this.limit&&this.transport&&(f=this._getFromRemote(n,e));f||(r.length>0||!this.transport)&&i&&i(r)},clear:function(){this.index.reset()},clearPrefetchCache:function(){this.storage&&this.storage.clear()},clearRemoteCache:function(){this.transport&&s.resetCache()},ttAdapter:function(){return t.bind(this.get,this)}}),u})(this);r={wrapper:'<span class="twitter-typeahead"><\/span>',dropdown:'<span class="tt-dropdown-menu"><\/span>',dataset:'<div class="tt-dataset-%CLASS%"><\/div>',suggestions:'<span class="tt-suggestions"><\/span>',suggestion:'<div class="tt-suggestion"><\/div>'};i={wrapper:{position:"relative",display:"inline-block"},hint:{position:"absolute",top:"0",left:"0",borderColor:"transparent",boxShadow:"none"},input:{position:"relative",verticalAlign:"top",backgroundColor:"transparent"},inputWithNoHint:{position:"relative",verticalAlign:"top"},dropdown:{position:"absolute",top:"100%",left:"0",zIndex:"500",display:"none"},suggestions:{display:"block"},suggestion:{whiteSpace:"nowrap",cursor:"pointer"},suggestionChild:{whiteSpace:"normal"},ltr:{left:"0",right:"auto"},rtl:{left:"auto",right:" 0"}};t.isMsie()&&t.mixin(i.input,{backgroundImage:"url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)"});t.isMsie()&&t.isMsie()<=7&&t.mixin(i.input,{marginTop:"-1px"});var h=function(){function i(t){t&&t.el||n.error("EventBus initialized without el");this.$el=n(t.el)}var r="typeahead:";return t.mixin(i.prototype,{trigger:function(n){var t=[].slice.call(arguments,1);this.$el.trigger(r+n,t)}}),i}(),e=function(){function t(t,i,r,u){var f;if(!r)return this;for(i=i.split(n),r=u?h(r,u):r,this._callbacks=this._callbacks||{};f=i.shift();)this._callbacks[f]=this._callbacks[f]||{sync:[],async:[]},this._callbacks[f][t].push(r);return this}function u(n,i,r){return t.call(this,"async",n,i,r)}function f(n,i,r){return t.call(this,"sync",n,i,r)}function e(t){var i;if(!this._callbacks)return this;for(t=t.split(n);i=t.shift();)delete this._callbacks[i];return this}function o(t){var u,f,e,o,s;if(!this._callbacks)return this;for(t=t.split(n),e=[].slice.call(arguments,1);(u=t.shift())&&(f=this._callbacks[u]);)o=i(f.sync,this,[u].concat(e)),s=i(f.async,this,[u].concat(e)),o()&&r(s);return this}function i(n,t,i){function r(){for(var u,r=0;!u&&r<n.length;r+=1)u=n[r].apply(t,i)===!1;return!u}return r}function s(){return window.setImmediate?function(n){setImmediate(function(){n()})}:function(n){setTimeout(function(){n()},0)}}function h(n,t){return n.bind?n.bind(t):function(){n.apply(t,[].slice.call(arguments,0))}}var n=/\s+/,r=s();return{onSync:f,onAsync:u,off:e,trigger:o}}(),p=function(n){function r(n,i,r){for(var f=[],e,u=0;u<n.length;u++)f.push(t.escapeRegExChars(n[u]));return e=r?"\\b("+f.join("|")+")\\b":"("+f.join("|")+")",i?new RegExp(e):new RegExp(e,"i")}var i={node:null,pattern:null,tagName:"strong",className:null,wordsOnly:!1,caseSensitive:!1};return function(u){function o(t){var i,r;return(i=f.exec(t.data))&&(wrapperNode=n.createElement(u.tagName),u.className&&(wrapperNode.className=u.className),r=t.splitText(i.index),r.splitText(i[0].length),wrapperNode.appendChild(r.cloneNode(!0)),t.parentNode.replaceChild(wrapperNode,r)),!!i}function e(n,t){for(var r,i=0;i<n.childNodes.length;i++)r=n.childNodes[i],r.nodeType===3?i+=t(r)?1:0:e(r,t)}var f;(u=t.mixin({},i,u),u.node&&u.pattern)&&(u.pattern=t.isArray(u.pattern)?u.pattern:[u.pattern],f=r(u.pattern,u.caseSensitive,u.wordsOnly),e(u.node,o))}}(window.document),c=function(){function i(i){var u=this,e,o,s,h;if(i=i||{},i.input||n.error("input is missing"),e=t.bind(this._onBlur,this),o=t.bind(this._onFocus,this),s=t.bind(this._onKeydown,this),h=t.bind(this._onInput,this),this.$hint=n(i.hint),this.$input=n(i.input).on("blur.tt",e).on("focus.tt",o).on("keydown.tt",s),this.$hint.length===0&&(this.setHint=this.getHint=this.clearHint=this.clearHintIfInvalid=t.noop),t.isMsie())this.$input.on("keydown.tt keypress.tt cut.tt paste.tt",function(n){r[n.which||n.keyCode]||t.defer(t.bind(u._onInput,u,n))});else this.$input.on("input.tt",h);this.query=this.$input.val();this.$overflowHelper=f(this.$input)}function f(t){return n('<pre aria-hidden="true"><\/pre>').css({position:"absolute",visibility:"hidden",whiteSpace:"pre",fontFamily:t.css("font-family"),fontSize:t.css("font-size"),fontStyle:t.css("font-style"),fontVariant:t.css("font-variant"),fontWeight:t.css("font-weight"),wordSpacing:t.css("word-spacing"),letterSpacing:t.css("letter-spacing"),textIndent:t.css("text-indent"),textRendering:t.css("text-rendering"),textTransform:t.css("text-transform"),margin:0,display:"none"}).insertAfter(t)}function o(n,t){return i.normalizeQuery(n)===i.normalizeQuery(t)}function u(n){return n.altKey||n.ctrlKey||n.metaKey||n.shiftKey}var r;return r={9:"tab",27:"esc",37:"left",39:"right",13:"enter",38:"up",40:"down"},i.normalizeQuery=function(n){return(n||"").replace(/^\s*/g,"").replace(/\s{2,}/g," ")},t.mixin(i.prototype,e,{_onBlur:function(){this.resetInputValue();this.trigger("blurred")},_onFocus:function(){this.trigger("focused")},_onKeydown:function(n){var t=r[n.which||n.keyCode];this._managePreventDefault(t,n);t&&this._shouldTrigger(t,n)&&this.trigger(t+"Keyed",n)},_onInput:function(){this._checkInputValue()},_managePreventDefault:function(n,t){var i,r,f;switch(n){case"tab":r=this.getHint();f=this.getInputValue();i=r&&r!==f&&!u(t);break;case"up":case"down":i=!u(t);break;default:i=!1}i&&t.preventDefault()},_shouldTrigger:function(n,t){var i;switch(n){case"tab":i=!u(t);break;default:i=!0}return i},_checkInputValue:function(){var n,t,i;n=this.getInputValue();t=o(n,this.query);i=t?this.query.length!==n.length:!1;t?i&&this.trigger("whitespaceChanged",this.query):this.trigger("queryChanged",this.query=n)},focus:function(){this.$input.focus()},blur:function(){this.$input.blur()},getQuery:function(){return this.query},setQuery:function(n){this.query=n},getInputValue:function(){return this.$input.val()},setInputValue:function(n,t){this.$input.val(n);t?this.clearHint():this._checkInputValue()},resetInputValue:function(){this.setInputValue(this.query,!0)},getHint:function(){return this.$hint.val()},setHint:function(n){this.$hint.val(n)},clearHint:function(){this.setHint("")},clearHintIfInvalid:function(){var n,t,i,r;n=this.getInputValue();t=this.getHint();i=n!==t&&t.indexOf(n)===0;r=n!==""&&i&&!this.hasOverflow();r||this.clearHint()},getLanguageDirection:function(){return(this.$input.css("direction")||"ltr").toLowerCase()},hasOverflow:function(){var n=this.$input.width()-2;return this.$overflowHelper.text(this.getInputValue()),this.$overflowHelper.width()>=n},isCursorAtEnd:function(){var n,i,r;return(n=this.$input.val().length,i=this.$input[0].selectionStart,t.isNumber(i))?i===n:document.selection?(r=document.selection.createRange(),r.moveStart("character",-n),n===r.text.length):!0},destroy:function(){this.$hint.off(".tt");this.$input.off(".tt");this.$hint=this.$input=this.$overflowHelper=null}}),i}(),u=function(){function u(i){i=i||{};i.templates=i.templates||{};i.source||n.error("missing source");i.name&&!l(i.name)&&n.error("invalid dataset name: "+i.name);this.query=null;this.highlight=!!i.highlight;this.name=i.name||t.getUniqueId();this.source=i.source;this.displayFn=h(i.display||i.displayKey);this.templates=c(i.templates,this.displayFn);this.$el=n(r.dataset.replace("%CLASS%",this.name))}function h(n){function i(t){return t[n]}return n=n||"value",t.isFunction(n)?n:i}function c(n,i){function r(n){return"<p>"+i(n)+"<\/p>"}return{empty:n.empty&&t.templatify(n.empty),header:n.header&&t.templatify(n.header),footer:n.footer&&t.templatify(n.footer),suggestion:n.suggestion||r}}function l(n){return/^[_a-zA-Z0-9-]+$/.test(n)}var f="ttDataset",o="ttValue",s="ttDatum";return u.extractDatasetName=function(t){return n(t).data(f)},u.extractValue=function(t){return n(t).data(o)},u.extractDatum=function(t){return n(t).data(s)},t.mixin(u.prototype,e,{_render:function(u,e){function v(){return h.templates.empty({query:u,isEmpty:!0})}function y(){function a(t){var u;return u=n(r.suggestion).append(h.templates.suggestion(t)).data(f,h.name).data(o,h.displayFn(t)).data(s,t),u.children().each(function(){n(this).css(i.suggestionChild)}),u}var c,l;return c=n(r.suggestions).css(i.suggestions),l=t.map(e,a),c.append.apply(c,l),h.highlight&&p({node:c[0],pattern:u}),c}function l(){return h.templates.header({query:u,isEmpty:!c})}function a(){return h.templates.footer({query:u,isEmpty:!c})}if(this.$el){var h=this,c;this.$el.empty();c=e&&e.length;!c&&this.templates.empty?this.$el.html(v()).prepend(h.templates.header?l():null).append(h.templates.footer?a():null):c&&this.$el.html(y()).prepend(h.templates.header?l():null).append(h.templates.footer?a():null);this.trigger("rendered")}},getRoot:function(){return this.$el},update:function(n){function i(i){t.canceled||n!==t.query||t._render(n,i)}var t=this;this.query=n;this.canceled=!1;this.source(n,i)},cancel:function(){this.canceled=!0},clear:function(){this.cancel();this.$el.empty();this.trigger("rendered")},isEmpty:function(){return this.$el.is(":empty")},destroy:function(){this.$el=null}}),u}(),w=function(){function r(i){var r=this,u,e,o;i=i||{};i.menu||n.error("menu is required");this.isOpen=!1;this.isEmpty=!0;this.datasets=t.map(i.datasets,f);u=t.bind(this._onSuggestionClick,this);e=t.bind(this._onSuggestionMouseEnter,this);o=t.bind(this._onSuggestionMouseLeave,this);this.$menu=n(i.menu).on("click.tt",".tt-suggestion",u).on("mouseenter.tt",".tt-suggestion",e).on("mouseleave.tt",".tt-suggestion",o);t.each(this.datasets,function(n){r.$menu.append(n.getRoot());n.onSync("rendered",r._onRendered,r)})}function f(n){return new u(n)}return t.mixin(r.prototype,e,{_onSuggestionClick:function(t){this._setCursor(n(t.currentTarget),!0);this.trigger("suggestionClicked",n(t.currentTarget))},_onSuggestionMouseEnter:function(t){this._removeCursor();this._setCursor(n(t.currentTarget),!0)},_onSuggestionMouseLeave:function(){this._removeCursor()},_onRendered:function(){function n(n){return n.isEmpty()}this.isEmpty=t.every(this.datasets,n);this.isEmpty?this._hide():this.isOpen&&this._show();this.trigger("datasetRendered")},_hide:function(){this.$menu.hide()},_show:function(){this.$menu.css("display","block")},_getSuggestions:function(){return this.$menu.find(".tt-suggestion")},_getCursor:function(){return this.$menu.find(".tt-cursor").first()},_setCursor:function(n,t){n.first().addClass("tt-cursor");t||this.trigger("cursorMoved")},_removeCursor:function(){this._getCursor().removeClass("tt-cursor")},_moveCursor:function(n){var i,r,t,u;if(this.isOpen){if(r=this._getCursor(),i=this._getSuggestions(),this._removeCursor(),t=i.index(r)+n,t=(t+1)%(i.length+1)-1,t===-1){this.trigger("cursorRemoved");return}t<-1&&(t=i.length-1);this._setCursor(u=i.eq(t));this._ensureVisible(u)}},_ensureVisible:function(n){var t,i,r,u;t=n.position().top;i=t+n.outerHeight(!0);r=this.$menu.scrollTop();u=this.$menu.height()+parseInt(this.$menu.css("paddingTop"),10)+parseInt(this.$menu.css("paddingBottom"),10);t<0?this.$menu.scrollTop(r+t):u<i&&this.$menu.scrollTop(r+(i-u))},close:function(){this.isOpen&&(this.isOpen=!1,this._removeCursor(),this._hide(),this.trigger("closed"))},open:function(){this.isOpen||(this.isOpen=!0,this.isEmpty||this._show(),this.trigger("opened"))},setLanguageDirection:function(n){this.$menu.css(n==="ltr"?i.ltr:i.rtl)},moveCursorUp:function(){this._moveCursor(-1)},moveCursorDown:function(){this._moveCursor(1)},getDatumForSuggestion:function(n){var t=null;return n.length&&(t={raw:u.extractDatum(n),value:u.extractValue(n),datasetName:u.extractDatasetName(n)}),t},getDatumForCursor:function(){return this.getDatumForSuggestion(this._getCursor().first())},getDatumForTopSuggestion:function(){return this.getDatumForSuggestion(this._getSuggestions().first())},update:function(n){function i(t){t.update(n)}t.each(this.datasets,i)},empty:function(){function n(n){n.clear()}t.each(this.datasets,n);this.isEmpty=!0},isVisible:function(){return this.isOpen&&!this.isEmpty},destroy:function(){function n(n){n.destroy()}this.$menu.off(".tt");this.$menu=null;t.each(this.datasets,n)}}),r}(),b=function(){function f(i){var r,u,f;i=i||{};i.input||n.error("missing input");this.isActivated=!1;this.autoselect=!!i.autoselect;this.minLength=t.isNumber(i.minLength)?i.minLength:1;this.$node=e(i.input,i.withHint);r=this.$node.find(".tt-dropdown-menu");u=this.$node.find(".tt-input");f=this.$node.find(".tt-hint");u.on("blur.tt",function(n){var i,f,e;i=document.activeElement;f=r.is(i);e=r.has(i).length>0;t.isMsie()&&(f||e)&&(n.preventDefault(),n.stopImmediatePropagation(),t.defer(function(){u.focus()}))});r.on("mousedown.tt",function(n){n.preventDefault()});this.eventBus=i.eventBus||new h({el:u});this.dropdown=new w({menu:r,datasets:i.datasets}).onSync("suggestionClicked",this._onSuggestionClicked,this).onSync("cursorMoved",this._onCursorMoved,this).onSync("cursorRemoved",this._onCursorRemoved,this).onSync("opened",this._onOpened,this).onSync("closed",this._onClosed,this).onAsync("datasetRendered",this._onDatasetRendered,this);this.input=new c({input:u,hint:f}).onSync("focused",this._onFocused,this).onSync("blurred",this._onBlurred,this).onSync("enterKeyed",this._onEnterKeyed,this).onSync("tabKeyed",this._onTabKeyed,this).onSync("escKeyed",this._onEscKeyed,this).onSync("upKeyed",this._onUpKeyed,this).onSync("downKeyed",this._onDownKeyed,this).onSync("leftKeyed",this._onLeftKeyed,this).onSync("rightKeyed",this._onRightKeyed,this).onSync("queryChanged",this._onQueryChanged,this).onSync("whitespaceChanged",this._onWhitespaceChanged,this);this._setLanguageDirection()}function e(t,f){var e,h,c,s;e=n(t);h=n(r.wrapper).css(i.wrapper);c=n(r.dropdown).css(i.dropdown);s=e.clone().css(i.hint).css(o(e));s.val("").removeData().addClass("tt-hint").removeAttr("id name placeholder").prop("disabled",!0).attr({autocomplete:"off",spellcheck:"false"});e.data(u,{dir:e.attr("dir"),autocomplete:e.attr("autocomplete"),spellcheck:e.attr("spellcheck"),style:e.attr("style")});e.addClass("tt-input").attr({autocomplete:"off",spellcheck:!1}).css(f?i.input:i.inputWithNoHint);try{e.attr("dir")||e.attr("dir","auto")}catch(l){}return e.wrap(h).parent().prepend(f?s:null).append(c)}function o(n){return{backgroundAttachment:n.css("background-attachment"),backgroundClip:n.css("background-clip"),backgroundColor:n.css("background-color"),backgroundImage:n.css("background-image"),backgroundOrigin:n.css("background-origin"),backgroundPosition:n.css("background-position"),backgroundRepeat:n.css("background-repeat"),backgroundSize:n.css("background-size")}}function s(n){var i=n.find(".tt-input");t.each(i.data(u),function(n,r){t.isUndefined(n)?i.removeAttr(r):i.attr(r,n)});i.detach().removeData(u).removeClass("tt-input").insertAfter(n);n.remove()}var u="ttAttrs";return t.mixin(f.prototype,{_onSuggestionClicked:function(n,t){var i;(i=this.dropdown.getDatumForSuggestion(t))&&this._select(i)},_onCursorMoved:function(){var n=this.dropdown.getDatumForCursor();this.input.setInputValue(n.value,!0);this.eventBus.trigger("cursorchanged",n.raw,n.datasetName)},_onCursorRemoved:function(){this.input.resetInputValue();this._updateHint()},_onDatasetRendered:function(){this._updateHint()},_onOpened:function(){this._updateHint();this.eventBus.trigger("opened")},_onClosed:function(){this.input.clearHint();this.eventBus.trigger("closed")},_onFocused:function(){this.isActivated=!0;this.dropdown.open()},_onBlurred:function(){this.isActivated=!1;this.dropdown.empty();this.dropdown.close()},_onEnterKeyed:function(n,t){var i,r;i=this.dropdown.getDatumForCursor();r=this.dropdown.getDatumForTopSuggestion();i?(this._select(i),t.preventDefault()):this.autoselect&&r&&(this._select(r),t.preventDefault())},_onTabKeyed:function(n,t){var i;(i=this.dropdown.getDatumForCursor())?(this._select(i),t.preventDefault()):this._autocomplete(!0)},_onEscKeyed:function(){this.dropdown.close();this.input.resetInputValue()},_onUpKeyed:function(){var n=this.input.getQuery();this.dropdown.isEmpty&&n.length>=this.minLength?this.dropdown.update(n):this.dropdown.moveCursorUp();this.dropdown.open()},_onDownKeyed:function(){var n=this.input.getQuery();this.dropdown.isEmpty&&n.length>=this.minLength?this.dropdown.update(n):this.dropdown.moveCursorDown();this.dropdown.open()},_onLeftKeyed:function(){this.dir==="rtl"&&this._autocomplete()},_onRightKeyed:function(){this.dir==="ltr"&&this._autocomplete()},_onQueryChanged:function(n,t){this.input.clearHintIfInvalid();t.length>=this.minLength?this.dropdown.update(t):this.dropdown.empty();this.dropdown.open();this._setLanguageDirection()},_onWhitespaceChanged:function(){this._updateHint();this.dropdown.open()},_setLanguageDirection:function(){var n;this.dir!==(n=this.input.getLanguageDirection())&&(this.dir=n,this.$node.css("direction",n),this.dropdown.setLanguageDirection(n))},_updateHint:function(){var n,i,u,f,e,r;n=this.dropdown.getDatumForTopSuggestion();n&&this.dropdown.isVisible()&&!this.input.hasOverflow()?(i=this.input.getInputValue(),u=c.normalizeQuery(i),f=t.escapeRegExChars(u),e=new RegExp("^(?:"+f+")(.+$)","i"),r=e.exec(n.value),r?this.input.setHint(i+r[1]):this.input.clearHint()):this.input.clearHint()},_autocomplete:function(n){var i,r,u,t;i=this.input.getHint();r=this.input.getQuery();u=n||this.input.isCursorAtEnd();i&&r!==i&&u&&(t=this.dropdown.getDatumForTopSuggestion(),t&&this.input.setInputValue(t.value),this.eventBus.trigger("autocompleted",t.raw,t.datasetName))},_select:function(n){this.input.setQuery(n.value);this.input.setInputValue(n.value,!0);this._setLanguageDirection();this.eventBus.trigger("selected",n.raw,n.datasetName);this.dropdown.close();t.defer(t.bind(this.dropdown.empty,this.dropdown))},open:function(){this.dropdown.open()},close:function(){this.dropdown.close()},setVal:function(n){this.isActivated?this.input.setInputValue(n):(this.input.setQuery(n),this.input.setInputValue(n,!0));this._setLanguageDirection()},getVal:function(){return this.input.getQuery()},destroy:function(){this.input.destroy();this.dropdown.destroy();s(this.$node);this.$node=null}}),f}();(function(){var u,i,r;u=n.fn.typeahead;i="ttTypeahead";r={initialize:function(r,u){function f(){var f=n(this),o,e;t.each(u,function(n){n.highlight=!!r.highlight});e=new b({input:f,eventBus:o=new h({el:f}),withHint:t.isUndefined(r.hint)?!0:!!r.hint,minLength:r.minLength,autoselect:r.autoselect,datasets:u});f.data(i,e)}return u=t.isArray(u)?u:[].slice.call(arguments,1),r=r||{},this.each(f)},open:function(){function t(){var r=n(this),t;(t=r.data(i))&&t.open()}return this.each(t)},close:function(){function t(){var r=n(this),t;(t=r.data(i))&&t.close()}return this.each(t)},val:function(t){function r(){var u=n(this),r;(r=u.data(i))&&r.setVal(t)}function u(n){var t,r;return(t=n.data(i))&&(r=t.getVal()),r}return arguments.length?this.each(r):u(this.first())},destroy:function(){function t(){var t=n(this),r;(r=t.data(i))&&(r.destroy(),t.removeData(i))}return this.each(t)}};n.fn.typeahead=function(n){return r[n]?r[n].apply(this,[].slice.call(arguments,1)):r.initialize.apply(this,arguments)};n.fn.typeahead.noConflict=function(){return n.fn.typeahead=u,this}})()}(window.jQuery),function(){function n(n){var t=n.terms,r=ko.utils.arrayMap(n.terms,function(n){return n.value}).join(", "),i=t[0].value+" ",u=t.length;return u>1&&(t.splice(0,1),i+="<span class='text-xsmall text-inverted'>",i+=ko.utils.arrayMap(t,function(n){return n.value}).join(", "),i+="<\/span>"),{html:i,key:r,data:n}}ko.bindingHandlers.typeahead={init:function(t,i,r){var u=$(t),f=r(),o=i(),e={source:[],autoselect:!0},s={};f.typeaheadOptions&&(f.typeaheadOptions.onlyAddress==!0&&(s.onlyAddress=!0),$.each(f.typeaheadOptions,function(n,t){e[n]=t}));var c=f.typeaheadOptions.googleMap||t,h=new frm.services.FrmSuggestionService("DK",c,s),l=o.subscribe(function(n){if(typeof n!="undefined"&&n!==null&&n.length>0&&n!==u.typeahead("val")){u.one("custom:typeahead:loaded",function(){var n=$.Event("keydown");n.keyCode=$.ui.keyCode.ENTER;u.trigger(n)});u.typeahead("val",n);var t=$.Event("keydown");t.keyCode=$.ui.keyCode.DOWN;u.trigger(t);u.typeahead("val","");u.typeahead("close")}else typeof n!="undefined"&&n!==null&&n.length==0&&u.typeahead("val","")});u.attr("autocomplete","off").val(o()).typeahead(e,{source:function(t,i){if(typeof t=="undefined"||t.length==0){i([]);return}h.getSuggestions(t).then(function(t){if(t.length===0){e.onSelected(null);return}var r=ko.utils.arrayMap(t,n);i(r);u.trigger("custom:typeahead:loaded")})},displayKey:"key",templates:{suggestion:function(n){return"<p>"+n.html+"<\/p>"}}}).on("typeahead:selected",function(n,t){u.blur();h.geocode(t.data).then(function(n){e.onSelected(n)})}).on("keyup",function(){u.val()===""&&o("")});ko.utils.domNodeDisposal.addDisposeCallback(t,function(){l.dispose()})}}}()