@bmlt-enabled/croutonjs 4.1.2 → 4.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/crouton-gmaps.js +16 -11
- package/crouton-gmaps.min.js +4 -4
- package/crouton-gmaps.min.js.map +1 -1
- package/crouton-map.js +4 -1
- package/crouton-map.min.js +1 -1
- package/crouton-map.min.js.map +1 -1
- package/crouton.js +16 -11
- package/crouton.min.js +4 -4
- package/crouton.min.js.map +1 -1
- package/crouton.nojquery.js +12 -10
- package/crouton.nojquery.min.js +4 -4
- package/crouton.nojquery.min.js.map +1 -1
- package/package.json +1 -1
package/crouton-gmaps.min.js
CHANGED
|
@@ -148,7 +148,7 @@ if(!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.
|
|
|
148
148
|
{{/if}}
|
|
149
149
|
</div>
|
|
150
150
|
</div>
|
|
151
|
-
</div>`};!function(e){var t="object"==typeof exports&&exports&&!exports.nodeType&&exports,n="object"==typeof module&&module&&!module.nodeType&&module,i="object"==typeof global&&global;i.global!==i&&i.window!==i&&i.self!==i||(e=i);var r,a,g=2147483647,y=36,v=26,o=38,s=700,l=/^xn--/,c=/[^\x20-\x7E]/,u=/[\x2E\u3002\uFF0E\uFF61]/g,d={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},p=y-1,_=Math.floor,b=String.fromCharCode;function A(e){throw new RangeError(d[e])}function h(e,t){for(var n=e.length,i=[];n--;)i[n]=t(e[n]);return i}function m(e,t){var n=e.split("@"),i="";return 1<n.length&&(i=n[0]+"@",e=n[1]),i+h((e=e.replace(u,".")).split("."),t).join(".")}function w(e){for(var t,n,i=[],r=0,a=e.length;r<a;)55296<=(t=e.charCodeAt(r++))&&t<=56319&&r<a?56320==(64512&(n=e.charCodeAt(r++)))?i.push(((1023&t)<<10)+(1023&n)+65536):(i.push(t),r--):i.push(t);return i}function f(e){return h(e,function(e){var t="";return 65535<e&&(t+=b((e-=65536)>>>10&1023|55296),e=56320|1023&e),t+=b(e)}).join("")}function k(e,t){return e+22+75*(e<26)-((0!=t)<<5)}function S(e,t,n){var i=0;for(e=n?_(e/s):e>>1,e+=_(e/t);p*v>>1<e;i+=y)e=_(e/p);return _(i+(p+1)*e/(e+o))}function M(e){var t,n,i,r,a,o,s,l=[],c=e.length,u=0,d=128,p=72,h=e.lastIndexOf("-");for(h<0&&(h=0),n=0;n<h;++n)128<=e.charCodeAt(n)&&A("not-basic"),l.push(e.charCodeAt(n));for(i=0<h?h+1:0;i<c;){for(r=u,a=1,o=y;c<=i&&A("invalid-input"),s=e.charCodeAt(i++),(y<=(s=s-48<10?s-22:s-65<26?s-65:s-97<26?s-97:y)||s>_((g-u)/a))&&A("overflow"),u+=s*a,!(s<(s=o<=p?1:p+v<=o?v:o-p));o+=y)a>_(g/(s=y-s))&&A("overflow"),a*=s;p=S(u-r,t=l.length+1,0==r),_(u/t)>g-d&&A("overflow"),d+=_(u/t),u%=t,l.splice(u++,0,d)}return f(l)}function P(e){for(var t,n,i,r,a,o,s,l,c,u,d=[],p=(e=w(e)).length,h=128,m=72,f=t=0;f<p;++f)(s=e[f])<128&&d.push(b(s));for(n=i=d.length,i&&d.push("-");n<p;){for(r=g,f=0;f<p;++f)h<=(s=e[f])&&s<r&&(r=s);for(r-h>_((g-t)/(l=n+1))&&A("overflow"),t+=(r-h)*l,h=r,f=0;f<p;++f)if((s=e[f])<h&&++t>g&&A("overflow"),s==h){for(a=t,o=y;!(a<(c=o<=m?1:m+v<=o?v:o-m));o+=y)d.push(b(k(c+(u=a-c)%(c=y-c),0))),a=_(u/c);d.push(b(k(a,0))),m=S(t,l,n==i),t=0,++n}++t,++h}return d.join("")}if(r={version:"1.4.1",ucs2:{decode:w,encode:f},decode:M,encode:P,toASCII:function(e){return m(e,function(e){return c.test(e)?"xn--"+P(e):e})},toUnicode:function(e){return m(e,function(e){return l.test(e)?M(e.slice(4).toLowerCase()):e})}},"function"==typeof define&&"object"==typeof define.amd&&define.amd)define("punycode",function(){return r});else if(t&&n)if(module.exports==t)n.exports=r;else for(a in r)r.hasOwnProperty(a)&&(t[a]=r[a]);else e.punycode=r}(this);var defaultOptions={timeout:3e5,jsonpCallback:"callback",jsonpCallbackFunction:null};function generateCallbackFunction(){return"jsonp_"+Date.now().toString()+"_"+Math.ceil(1e5*Math.random()).toString()}function clearFunction(t){try{delete window[t]}catch(e){window[t]=void 0}}function removeScript(e){e=document.getElementById(e);e&&document.getElementsByTagName("head")[0].removeChild(e)}function fetchJsonp(a,o){var s,l=a,c=(o=o||{}).timeout||defaultOptions.timeout,u=o.jsonpCallback||defaultOptions.jsonpCallback;return new Promise(function(t,e){var n=o.jsonpCallbackFunction||generateCallbackFunction(),i=u+"_"+n;window[n]=function(e){t({ok:!0,json:function(){return Promise.resolve(e)}}),s&&clearTimeout(s),removeScript(i),clearFunction(n)},l+=-1===l.indexOf("?")?"?":"&";var r=document.createElement("script");r.setAttribute("src",l+u+"="+n),o.charset&&r.setAttribute("charset",o.charset),o.nonce&&r.setAttribute("nonce",o.nonce),o.referrerPolicy&&r.setAttribute("referrerPolicy",o.referrerPolicy),r.id=i,document.getElementsByTagName("head")[0].appendChild(r),s=setTimeout(function(){e(new Error("JSONP request to "+a+" timed out")),clearFunction(n),removeScript(i),window[n]=function(){clearFunction(n)}},c),r.onerror=function(){e(new Error("JSONP request to "+a+" failed")),clearFunction(n),removeScript(i),s&&clearTimeout(s)}})}!function(e){("object"!=typeof exports||"undefined"==typeof module)&&"function"==typeof define&&define.amd?define(e):e()}(function(){"use strict";function e(t){var n=this.constructor;return this.then(function(e){return n.resolve(t()).then(function(){return e})},function(e){return n.resolve(t()).then(function(){return n.reject(e)})})}function t(n){return new this(function(r,e){if(!n||void 0===n.length)return e(new TypeError(typeof n+" "+n+" is not iterable(cannot read property Symbol(Symbol.iterator))"));var a=Array.prototype.slice.call(n);if(0===a.length)return r([]);var o=a.length;for(var t=0;t<a.length;t++)!function t(n,e){if(e&&("object"==typeof e||"function"==typeof e)){var i=e.then;if("function"==typeof i)return void i.call(e,function(e){t(n,e)},function(e){a[n]={status:"rejected",reason:e},0==--o&&r(a)})}a[n]={status:"fulfilled",value:e},0==--o&&r(a)}(t,a[t])})}var n=setTimeout,i="undefined"!=typeof setImmediate?setImmediate:null;function l(e){return Boolean(e&&void 0!==e.length)}function r(){}function a(e){if(!(this instanceof a))throw new TypeError("Promises must be constructed via new");if("function"!=typeof e)throw new TypeError("not a function");this._state=0,this._handled=!1,this._value=void 0,this._deferreds=[],p(e,this)}function o(n,i){for(;3===n._state;)n=n._value;0!==n._state?(n._handled=!0,a._immediateFn(function(){var e,t=1===n._state?i.onFulfilled:i.onRejected;if(null!==t){try{e=t(n._value)}catch(e){return void c(i.promise,e)}s(i.promise,e)}else(1===n._state?s:c)(i.promise,n._value)})):n._deferreds.push(i)}function s(t,e){try{if(e===t)throw new TypeError("A promise cannot be resolved with itself.");if(e&&("object"==typeof e||"function"==typeof e)){var n=e.then;if(e instanceof a)return t._state=3,t._value=e,void u(t);if("function"==typeof n)return void p((i=n,r=e,function(){i.apply(r,arguments)}),t)}t._state=1,t._value=e,u(t)}catch(e){c(t,e)}var i,r}function c(e,t){e._state=2,e._value=t,u(e)}function u(e){2===e._state&&0===e._deferreds.length&&a._immediateFn(function(){e._handled||a._unhandledRejectionFn(e._value)});for(var t=0,n=e._deferreds.length;t<n;t++)o(e,e._deferreds[t]);e._deferreds=null}function d(e,t,n){this.onFulfilled="function"==typeof e?e:null,this.onRejected="function"==typeof t?t:null,this.promise=n}function p(e,t){var n=!1;try{e(function(e){n||(n=!0,s(t,e))},function(e){n||(n=!0,c(t,e))})}catch(e){if(n)return;n=!0,c(t,e)}}a.prototype.catch=function(e){return this.then(null,e)},a.prototype.then=function(e,t){var n=new this.constructor(r);return o(this,new d(e,t,n)),n},a.prototype.finally=e,a.all=function(t){return new a(function(r,a){if(!l(t))return a(new TypeError("Promise.all accepts an array"));var o=Array.prototype.slice.call(t);if(0===o.length)return r([]);var s=o.length;for(var e=0;e<o.length;e++)!function t(n,e){try{if(e&&("object"==typeof e||"function"==typeof e)){var i=e.then;if("function"==typeof i)return void i.call(e,function(e){t(n,e)},a)}o[n]=e,0==--s&&r(o)}catch(e){a(e)}}(e,o[e])})},a.allSettled=t,a.resolve=function(t){return t&&"object"==typeof t&&t.constructor===a?t:new a(function(e){e(t)})},a.reject=function(n){return new a(function(e,t){t(n)})},a.race=function(r){return new a(function(e,t){if(!l(r))return t(new TypeError("Promise.race accepts an array"));for(var n=0,i=r.length;n<i;n++)a.resolve(r[n]).then(e,t)})},a._immediateFn="function"==typeof i?function(e){i(e)}:function(e){n(e,0)},a._unhandledRejectionFn=function(e){"undefined"!=typeof console&&console&&console.warn("Possible Unhandled Promise Rejection:",e)};var h=function(){if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if("undefined"!=typeof global)return global;throw new Error("unable to locate global object")}();"function"!=typeof h.Promise?h.Promise=a:(h.Promise.prototype.finally||(h.Promise.prototype.finally=e),h.Promise.allSettled||(h.Promise.allSettled=t))});var crouton_Handlebars=Handlebars.noConflict();function Crouton(e){var h=this;h.mutex=!1,h.filtering=!1,h.masterFormatCodes=[],h.currentView="weekday",h.distanceTabAllowed=!1,h.config={version:"4.1.2",on_complete:null,root_server:null,placeholder_id:"bmlt-tabs",map_max_zoom:15,time_format:"h:mm a",language:"en-US",has_tabs:!0,filter_tabs:20,filter_visible:0,header:!0,include_weekday_button:!0,int_include_unpublished:0,grouping_buttons:[{title:"City",field:"location_municipality"},{title:"Distance",field:"distance_in_km"}],formattype_grouping_buttons:[],default_filter_dropdown:"",show_map:"embed",map_search:null,has_days:!1,has_cities:!0,has_formats:!0,has_groups:!1,has_locations:!0,has_zip_codes:!1,has_areas:!1,has_regions:!1,has_states:!1,has_sub_province:!1,has_neighborhoods:!1,has_languages:!1,has_common_needs:!1,has_venues:!0,has_meeting_count:!1,recurse_service_bodies:!1,service_body:[],formats:"",venue_types:[],meeting_details_href:"",virtual_meeting_details_href:"",bmlt2ics:"",exclude_zip_codes:[],extra_meetings:[],native_lang:"",auto_tz_adjust:!1,base_tz:null,custom_query:null,sort_keys:"start_time",int_start_day_id:1,view_by:"weekday",show_qrcode:!1,force_rootserver_in_querystring:!0,force_timeformat_in_querystring:!0,force_language_in_querystring:!0,theme:"jack",report_update_url:"",meeting_data_template:croutonDefaultTemplates.meeting_data_template,metadata_template:croutonDefaultTemplates.metadata_template,observer_template:croutonDefaultTemplates.observer_template,meeting_count_template:croutonDefaultTemplates.meeting_count_template,meetingpage_title_template:croutonDefaultTemplates.meetingpage_title_template,meetingdetails_contents_template:croutonDefaultTemplates.meetingdetails_contents_template,meeting_times_template:croutonDefaultTemplates.meeting_times_template,group_data_template:croutonDefaultTemplates.group_data_template,group_title_template:croutonDefaultTemplates.group_title_template,group_details_template:croutonDefaultTemplates.group_details_contents_template,member_details_template:croutonDefaultTemplates.member_details_template,lat:0,lng:0,zoom:10,clustering:12,nominatimUrl:"https://nominatim.openstreetmap.org/",tileUrl:"https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",tileOptions:{attribution:'Map data © <a href="https://www.openstreetmap.org/">OpenStreetMap</a> contributors, <a href="https://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>',maxZoom:18},minZoom:6,maxZoom:17,distance_units:"miles",noMap:!1,maxTomatoWidth:160,caption:!1,groups:!1,details_table:!1},h.setConfig(e),Crouton.prototype.searchByCoordinates=function(e,t,n,i=!0){var r=h.config.custom_query;h.config.custom_query=(null!==h.config.custom_query?h.config.custom_query:"")+"&lat_val="+e+"&long_val="+t+("km"===h.config.distance_units?"&geo_width_km=":"&geo_width=")+n,h.meetingSearch(function(){h.config.refresh_map=1,h.config.show_map=1,h.reset(),h.render(!1,i)}),h.config.custom_query=r},h.getMeetings=function(r,a=null){var e=[fetchJsonp(this.config.root_server+r).then(function(e){return e.json()})];if(0<h.config.extra_meetings.length){for(var t="",n=0;n<h.config.extra_meetings.length;n++)t+="&meeting_ids[]="+h.config.extra_meetings[n];r=r.replace(/&services\[\]=\d+/,""),e.push(fetchJsonp(h.config.root_server+r+t).then(function(e){return e.json()}))}return Promise.all(e).then(function(e){var t,n=e[0],i=JSON.stringify(n.meetings);if(2===e.length&&(t=e[1]),"{}"===i||"[]"===i){i=h.config.root_server+r;return console.log('Could not find any meetings for the criteria specified with the query <a href="'+i+'" target=_blank>'+i+"</a>"),jQuery("#"+h.config.placeholder_id).html("No meetings found."),h.meetingData=[],h.formatsData=[],h.mutex=!1,void(a&&a())}0<h.config.exclude_zip_codes.length&&(n.meetings=n.meetings.filter(function(e){return!inArray(e.location_postal_code_1,h.config.exclude_zip_codes)})),h.meetingData=n.meetings,h.formatsData=n.formats,t&&(h.meetingData=h.meetingData.concat(t.meetings)),a&&a(),h.mutex=!1})},h.mutex=!0,h.meetingSearch=function(e=null){var t="/client_interface/jsonp/?switcher=GetSearchResults&get_used_formats&lang_enum="+h.config.short_language;if(h.config.formats&&(t+=h.config.formats.reduce(function(e,t){return e+"&formats[]="+t},"")),h.config.map_search&&!Array.isArray(h.config.venue_types)&&(h.config.venue_types=[]),h.config.map_search&&0===h.config.venue_types.length&&h.config.venue_types.push("-2"),h.config.venue_types&&(t+=h.config.venue_types.reduce(function(e,t){return e+"&venue_types[]="+t},"")),1===h.config.int_include_unpublished?t+="&advanced_published=0":-1===h.config.int_include_unpublished&&(t+="&advanced_published=-1"),null!=h.config.custom_query)return t+=h.config.custom_query+"&sort_keys="+h.config.sort_keys,h.getMeetings(t,e);if(0<h.config.service_body.length){for(var n=0;n<h.config.service_body.length;n++)t+="&services[]="+h.config.service_body[n];return h.config.recurse_service_bodies&&(t+="&recursive=1"),t+="&sort_keys="+h.config.sort_keys,h.getMeetings(t,e)}return new Promise(function(e,t){e()})},h.lock=function(e){var t=this,n=setInterval(function(){t.mutex||(clearInterval(n),e())},100)},h.dayTab=function(e){h.hideAllPages(),jQuery('.nav-tabs a[href="#tab'+e+'"]').tab("show"),jQuery("#"+e).removeClass("hide").addClass("show")},h.dayTabFromId=function(t){day_id=h.meetingData.find(e=>e.id_bigint==t).weekday_tinyint,h.dayTab(day_id)},h.showPage=function(e){jQuery(e+" .bmlt-data-row-placeholder").each(function(){var e=this.dataset.meetingid;const t=jQuery(this);var n=this.outerHTML;const i=jQuery("#"+e);i.before(n),t.replaceWith(i)}),h.addStripes(),jQuery(e).removeClass("hide").addClass("show")},h.showView=function(t,e=0){h.currentView=t,0<e?h.showingNow=e:e=h.showingNow||h.meetingData.length,t.endsWith("day")?!h.config.has_tabs||h.config.filter_tabs&&h.config.filter_tabs>=e?(h.byDayView(),jQuery("#byday").find(".meeting-group").each(function(e){jQuery(this).find(".bmlt-data-row.hide").length===jQuery(this).find(".bmlt-data-row").length?jQuery(this).addClass("hide"):jQuery(this).removeClass("hide")})):h.dayView():"map"==t?h.mapView():0==jQuery("#groupingButton_"+t.toUpperCase()).length?h.groupedView(h.config.grouping_buttons.find(e=>e.title.toLowerCase()===t).field):h.groupedView(t.toUpperCase())},h.byDayView=function(){h.lowlightButton(".groupingButton"),h.highlightButton("#day"),jQuery(".bmlt-page").each(function(e){h.hidePage("#"+this.id)}),h.hidePage("#days"),h.showPage("#byday"),h.hidePage("#nav-days"),h.hidePage("#tabs-content")},h.dayView=function(){h.lowlightButton(".groupingButton"),h.highlightButton("#day"),jQuery(".bmlt-page").each(function(e){h.hidePage("#"+this.id)}),jQuery("#days").removeClass("hide").addClass("show"),jQuery("#nav-days").removeClass("hide").addClass("show"),h.showPage("#tabs-content")},h.groupedView=function(t){!t.includes("distance")||h.distanceTabAllowed?(h.lowlightButton("#day"),h.lowlightButton(".groupingButton"),h.highlightButton("#groupingButton_"+t),jQuery(".bmlt-page").each(function(e){h.hidePage("#"+this.id),h.showPage("#byfield_"+t),jQuery("#byfield_"+t).find(".meeting-group").each(function(e){jQuery(this).find(".bmlt-data-row.hide").length===jQuery(this).find(".bmlt-data-row").length?jQuery(this).addClass("hide"):jQuery(this).removeClass("hide")})})):h.dayView()},h.mapView=function(){h.lowlightButton("#day"),h.lowlightButton(".groupingButton"),h.highlightButton("#groupingButton_embeddedMapPage"),h.groupedView("embeddedMapPage",!1),croutonMap.showMap(!1,!1)},h.lowlightButton=function(e){jQuery(e).removeClass("buttonHighlight").addClass("buttonLowlight")},h.highlightButton=function(e){jQuery(e).removeClass("buttonLowlight").addClass("buttonHighlight")},h.hidePage=function(e){jQuery(e).removeClass("show").addClass("hide")},h.hideAllPages=function(e){jQuery("#tab-pane").removeClass("show").addClass("hide")},h.addStripes=function(){jQuery(".bmlt-data-row").removeClass("evenRow"),jQuery(".bmlt-data-row").removeClass("oddRow"),jQuery(".bmlt-data-row:not(.hide)").each(function(e,t){jQuery(t).addClass(e%2?"oddRow":"evenRow")})},h.calcShowingNow=function(){var n=[];return jQuery(".bmlt-data-row:not(.hide)").each(function(e,t){t=t.id.split("-");n.push(t[t.length-1])}),n=[...new Set(n)]},h.filterMeetingsFromView=function(){jQuery(".group-header").removeClass("hide"),jQuery(".meeting-group").removeClass("hide"),jQuery(".bmlt-data-row").removeClass("hide"),jQuery(".filter-dropdown").each(function(e,t){var n=t.value.replace("a-","");""!==n&&("formats"!==(t=t.getAttribute("data-pointer").toLowerCase())&&"languages"!==t&&"venues"!==t&&"common_needs"!==t?jQuery(".bmlt-data-row").not("[data-"+t+"='"+n+"']"):jQuery(".bmlt-data-row").not("[data-"+t+"~='"+n+"']")).addClass("hide")}),this.addStripes();var e=this.calcShowingNow();h.updateMeetingCount(e),h.updateFilters(),croutonMap&&croutonMap.fillMap(e),h.showView(h.currentView,e.length)},h.resetFilter=function(){croutonMap.filterVisible(!1),(h.config.map_page&&h.filtering||h.config.show_map)&&croutonMap.fillMap(),h.filtering=!1,h.updateFilters(),h.updateMeetingCount(),jQuery(".filter-dropdown").val(null).trigger("change"),jQuery(".group-header").removeClass("hide"),jQuery(".meeting-group").removeClass("hide"),jQuery(".bmlt-data-row").removeClass("hide"),jQuery(".evenRow").removeClass("evenRow"),jQuery(".oddRow").removeClass("oddRow")},h.updateFilters=function(){if(h.dropdownData){const a=function(e){return e.id.replace("meeting-data-row-","")};h.dropdownData.forEach(function(i,e){let r=[];jQuery(".filter-dropdown").each(function(e,t){var n;t.id===i.elementId||""!==(n=t.value.replace("a-",""))&&(filteringDropdown=!0,"formats"!==(t=t.getAttribute("data-pointer").toLowerCase())&&"languages"!==t&&"venues"!==t&&"common_needs"!==t?jQuery(".bmlt-data-row").not("[data-"+t+"='"+n+"']").each((e,t)=>r.push(a(t))):jQuery(".bmlt-data-row").not("[data-"+t+"~='"+n+"']").each((e,t)=>r.push(a(t))))}),r=[...new Set(r)];var t=h.meetingData.filter(e=>!r.includes(e.id_bigint));i.optionsShowing=i.uniqueData(t).map(e=>i.optionName(e))})}},h.renderStandaloneMap=function(e,t,n=null,i=!0){hbs_Crouton.localization=h.localization,(window.crouton=h).setUpPartials(),croutonMap.initialize(h.createBmltMapElement(),h.meetingData,t,null,i,n,h.config.noMap)},h.retrieveGeolocation=function(){return new Promise((t,n)=>{window.storedGeolocation?t(window.storedGeolocation):navigator.geolocation?navigator.geolocation.getCurrentPosition(e=>{window.storedGeolocation={latitude:e.coords.latitude,longitude:e.coords.longitude},t(window.storedGeolocation)},e=>{n(new Error("Error getting geolocation: "+e.message))}):n(new Error("Geolocation is not supported by this browser."))})},h.getCurrentLocation=function(t){h.gretrieveGeolocation().then(e=>{t(e)}).catch(e=>{jQuery(".geo").removeClass("hide").addClass("show").html(`<p>${e.message}</p>`)})},h.renderView=function(e,t,n,i){hbs_Crouton.localization=h.localization;var r=hbs_Crouton.templates.main;jQuery(e).html(r(t)),n()},h.updateMeetingCount=function(t=null){var i=this;let e=i.meetingData.length;i.meetingCountCallback&&i.meetingCountCallback(e),i.groupCountCallback&&i.groupCountCallback((i.config.groups?i.config.meetingData:i.convertToGroups(i.config.meetingData)).length),addLive=function(e){return e+", "+e+"-live"},null!==t&&(e=t.length,addLive=function(e){return e+"-live"}),i.showingNowCount=e,jQuery(".crouton_root_service_body").each(function(){var e,t="",n="name";this.dataset.field&&(n=this.dataset.field),0<i.config.service_body.length&&((e=i.getServiceBodyDetails(i.config.service_body[0]))&&(t=e[n]||"")),jQuery(this).text(t)}),jQuery(addLive("#bmlt_tabs_meeting_count")).text(e),jQuery(addLive("#bmlt_tabs_group_count")).each(function(){var e=i.meetingData;null!==t&&(e=i.meetingData.filter(e=>t.includes(e.id_bigint)));e=i.config.groups?e:i.convertToGroups([...e]);jQuery(this).text(arrayUnique(e).length)}),jQuery(addLive("#bmlt_tabs_service_body_names")).each(function(){var e=i.meetingData,e=getUniqueValuesOfKey(e=null!==t?i.meetingData.filter(e=>t.includes(e.id_bigint)):e,"service_body_bigint"),a=this;i.getServiceBodies(e,!1).then(function(e){var t=e.length,n=e.map(e=>e.name);n.sort();var i="";if(1===t)i=n[0];else{for(var i=n[0],r=1;r<t-1;r++)i+=", ",i+=n[r];i+=" and "+n[t-1]}jQuery(a).text(i)})})},h.getServiceBodies=function(e,t=!0){return fetchJsonp(this.config.root_server+"/client_interface/jsonp/?switcher=GetServiceBodies"+(t?"&parents=1":"")+getServiceBodiesQueryString(e)).then(function(e){return e.json()})},h.getMasterFormats=function(){return fetchJsonp(this.config.root_server+"/client_interface/jsonp/?switcher=GetFormats&lang_enum=en&key_strings[]=TC&key_strings[]=VM&key_strings[]=HY").then(function(e){return e.json()})},h.errorHandler=function(e){jQuery(".geo").removeClass("hide").addClass("show").html("")},h.handlebars=function(t,e){var n=!1;handlebarMapOptions=[],crouton_Handlebars.registerHelper("crouton_map",function(e){return n=!0,h.handlebarMapOptions=e.hash,h.handlebarMapOptions.zoom||(h.handlebarMapOptions.zoom=14),h.handlebarMapOptions.lat=parseFloat(t.latitude),h.handlebarMapOptions.lng=parseFloat(t.longitude),"<div id='bmlt-handlebars-map' class='bmlt-map'></div>"});for(var i=new DOMParser;0<e.length;){var r=e.item(0);if(r.firstChild){var a="";if(1===r.firstChild.nodeType){if(!r.firstChild.firstChild||3!==r.firstChild.firstChild.nodeType){console.log("<bmlt-handlebar> tag: cannot find textnode"),r.remove();continue}a=r.firstChild.firstChild.textContent}else 3===r.firstChild.nodeType&&(a=r.firstChild.textContent);try{var o=crouton_Handlebars.compile(a)(t)}catch(e){console.log(e),o=e.message}a=i.parseFromString("<body>"+o+"</body>","text/html");if(a.body&&a.body.firstChild){for(var s,a=a.body.firstChild,l=[],c=a;s=c.nextSibling;)l.push(c=s);r.replaceWith(a),l&&a.after(...l)}else console.log("<bmlt-handlebar> tag: could not parse the Handlebars result"),r.replaceWith("<bmlt-handlebar> tag: could not parse the Handlebars result")}else console.log("<bmlt-handlebar> tag must have at least one child"),r.remove()}n&&croutonMap.loadPopupMap("bmlt-handlebars-map",t,h.handlebarMapOptions)},h.meetingCountCallback=null,h.grouoCountCallback=null,Crouton.prototype.meetingCount=function(e){h.meetingCountCallback=e},Crouton.prototype.groupCount=function(e){h.groupCountCallback=e},Crouton.prototype.filterNext24=function(e=!0){if(!e)return jQuery("#filter-dropdown-next24").val("a-"),void h.filterMeetingsFromView();const t=new Date,i=t.getDay(),r=t.getHours(),a=t.getMinutes(),n=h.meetingData.filter(function(e){var t=e.weekday_tinyint-1;if(t==i){var n=e.start_time.toString().split(":"),e=parseInt(n[0]);if(e>r)return!0;if(e==r&&parseInt(n[1])>a)return!0}else if(t==(i+1)%7)return!0;return!1}).map(e=>e.id_bigint);jQuery(".bmlt-data-row").each(function(e,t){t.dataset.next24=n.includes(t.id.split("-").pop())?"1":"0"}),jQuery("#filter-dropdown-next24").val("a-1"),h.filterMeetingsFromView()},h.toFarsinNumber=function(e){const t=["۰","۱","۲","۳","۴","۵","۶","۷","۸","۹"],n={AM:"صبح",PM:"بعدازظهر"};return e=(e=(e=e.replace(/\d/g,e=>t[e])).replace(/AM|am/g,n.AM)).replace(/PM|pm/g,e=>n.PM)},h.enrichMeetings=function(t){var e=[];let n="?";h.config.meeting_details_href&&0<=h.config.meeting_details_href.indexOf("?")&&(n="&");for(var i=0;i<t.length;i++){t[i].formatted_comments=t[i].comments;var r=t[i].duration_time.split(":");t[i].start_time_raw=this.getAdjustedDateTime(1===parseInt(t[i].weekday_tinyint)?7:parseInt(t[i].weekday_tinyint)-1,t[i].start_time,t[i].time_zone),t[i].start_time_formatted=t[i].start_time_raw.format(h.config.time_format),t[i].end_time_formatted=t[i].start_time_raw.clone().add(r[0],"hours").add(r[1],"minutes").format(h.config.time_format),"fa-IR"===h.config.language&&(t[i].start_time_formatted=h.toFarsinNumber(t[i].start_time_formatted),t[i].end_time_formatted=h.toFarsinNumber(t[i].end_time_formatted)),t[i].day_of_the_week=7===t[i].start_time_raw.isoWeekday()?1:t[i].start_time_raw.isoWeekday()+1,t[i].formatted_day=h.localization.getDayOfTheWeekWord(t[i].day_of_the_week);var a=t[i].formats.split(","),o=[],s=h.formatsData.filter(e=>e.root_server_uri==t[i].root_server_uri);t[i].wheelchair=!1;for(var l=0;l<a.length;l++)for(var c=0;c<s.length;c++)a[l]===s[c].key_string&&("WCHR"==s[c].world_id&&(t[i].wheelchair=!0),o.push({id:s[c].id,key:a[l],name:s[c].name_string,description:s[c].description_string,type:s[c].format_type_enum}));t[i].venue_type=parseInt(t[i].venue_type),t[i].venue_type_name=getVenueTypeName(t[i]),t[i].formats_expanded=o;var u,d,p=[t[i].location_street,t[i].location_municipality.trim(),t[i].location_province.trim(),t[i].location_postal_code_1.trim()];for(u in p.clean(),t[i].formatted_address=p.join(", "),t[i].formatted_location_info=null!=t[i].location_info?t[i].location_info.replace("/(http|https)://([A-Za-z0-9._-/?=&;%,]+)/i",'<a style="text-decoration: underline;" href="$1://$2" target="_blank">$1://$2</a>'):"",t[i].map_word=h.localization.getWord("map"),t[i].share_word=h.localization.getWord("share"),t[i].report_update_word=h.localization.getWord("report update"),t[i].show_qrcode=h.config.show_qrcode,t[i])t[i].hasOwnProperty(u)&&"string"==typeof t[i][u]&&-1!==t[i][u].indexOf("#@-@#")&&(d=t[i][u].split("#@-@#"),t[i][u]=d[d.length-1]);r=h.getServiceBodyDetails(t[i].service_body_bigint);t[i].serviceBodyUrl=r.url,t[i].serviceBodyPhone=r.helpline,t[i].serviceBodyName=r.name,t[i].serviceBodyDescription=r.description,t[i].serviceBodyContactEmail=r.contact_email,t[i].serviceBodyType=h.localization.getServiceBodyType(r.type);p=h.getServiceBodyDetails(r.parent_id);void 0!==p&&(t[i].parentServiceBodyId=r.parent_id,t[i].parentServiceBodyUrl=p.url,t[i].parentServiceBodyPhone=p.helpline,t[i].parentServiceBodyName=p.name,t[i].parentServiceBodyDescription=p.description,t[i].parentServiceBodyType=h.localization.getServiceBodyType(p.type)),t[i].meeting_details_url="",h.config.meeting_details_href&&(t[i].meeting_details_url=h.config.meeting_details_href,2===t[i].venue_type&&h.config.virtual_meeting_details_href&&(t[i].meeting_details_url=h.config.virtual_meeting_details_href),t[i].meeting_details_url+=n+("meeting-id="+t[i].id_bigint+"&language="+h.config.language+"&time_format="+encodeURIComponent(h.config.time_format)+(h.config.force_rootserver_in_querystring?"&root_server="+encodeURIComponent(h.config.root_server):""))),this.calculateDistance(t[i]),e.push(t[i])}return h.config.groups?h.convertToGroups(e):e},h.convertToGroups=function(e){if(!e||!e.length)return[];if(e[0].hasOwnProperty("membersOfGroup"))return e;e[0].hasOwnProperty("group_id")||e.forEach(e=>e.group_id=e.service_body_bigint+"|"+e.meeting_name+(2!=e.venue_type?"|"+parseFloat(e.latitude).toFixed(6)+"|"+parseFloat(e.longitude).toFixed(6):e.virtual_meeting_link+"|"+e.virtual_meeting_additional_info));const t=e.sort((e,t)=>e.group_id<t.group_id?-1:e.group_id>t.group_id?1:0),n=[];let i=null;return t.forEach(function(e){e.group_id?i&&e.group_id==i.group_id?i.membersOfGroup.push(e):(n.push(e),i=e,i.membersOfGroup=[Object.assign({},i)]):(n.push(e),e.membersOfGroup=[e])}),n.forEach(function(e){if(1<e.membersOfGroup.length){let n=e.formats.split(",");e.membersOfGroup.forEach(function(e){const t=e.formats.split(",");n=n.filter(e=>t.includes(e))}),e.formats=n.join(","),e.formats_expanded&&(e.formats_expanded=e.formats_expanded.filter(e=>n.includes(e.key))),e.membersOfGroup.forEach(function(e){e.formats=e.formats.split(",").filter(e=>!n.includes(e)).join(","),e.formats_expanded&&(e.formats_expanded=e.formats_expanded.filter(e=>!n.includes(e.key)))})}}),n},Crouton.prototype.updateDistances=function(){const r=this;var e,a=0;jQuery(".meeting-distance").each(function(e){const t=jQuery(this),n=jQuery(this).data("id");var i;n&&(a++,i=r.meetingData.find(e=>e.id_bigint==n),r.calculateDistance(i),""==i.distance?t.hasClass("hide")||t.addClass("hide"):(t.removeClass("hide"),jQuery(this).html(r.localization.getWord("Distance")+": "+i.distance),jQuery(this).closest("tr").data("distance",i.distance_in_km)))});const t=jQuery("#byfield_distance_in_km tbody");0!=t.length&&(0===a&&t.children().each(function(e){if(this.id){const n=this.id.replace("meeting-data-row-","");var t=r.meetingData.find(e=>e.id_bigint==n);t&&(r.calculateDistance(t),""!=t.distance&&(jQuery(this).data("distance",t.distance_in_km),a++))}}),e=t.children().sort(function(e,t){e=parseFloat(jQuery(e).data("distance")),t=parseFloat(jQuery(t).data("distance"));return e<t?-1:t<e?1:0}),t.html(e),jQuery("#byfield_distance_in_km tbody .bmlt-data-row").css({cursor:"pointer"}),jQuery("#byfield_distance_in_km tbody .bmlt-data-row").click(function(e){"A"!==e.target.tagName&&croutonMap.rowClick(parseInt(this.id.replace("meeting-data-row-","")))}),0<a&&(jQuery("#groupingButton_distance_in_km").removeClass("hide"),r.distanceTabAllowed=!0))},h.registerPartial=function(e,t){crouton_Handlebars.registerPartial(e,crouton_Handlebars.compile(t))},h.setUpPartials=function(){crouton_Handlebars.registerPartial("tableDataRow",h.config.groups?h.config.details_table?"<td>{{> groupStackedRow}}</td>":hbs_Crouton.templates.group3ColumnRow:h.config.details_table?"<td>{{> meetingStackedRow}}</td>":hbs_Crouton.templates.meeting3ColumnRow),h.registerPartial("meetingDataTemplate",h.config.meeting_data_template),h.registerPartial("meetingDataTemplate",h.config.meeting_data_template),h.registerPartial("metaDataTemplate",h.config.metadata_template),h.registerPartial("observerTemplate",h.config.observer_template),h.registerPartial("meetingpageTitleTemplate",h.config.meetingpage_title_template),h.registerPartial("meetingDetailsContentsTemplate",h.config.meetingdetails_contents_template),h.registerPartial("meetingCountTemplate",h.config.meeting_count_template),h.registerPartial("meetingTimesTemplate",h.config.meeting_times_template),h.registerPartial("groupData",h.config.group_data_template),h.registerPartial("groupDetailsContents",h.config.group_details_template),h.registerPartial("memberDetails",h.config.member_details_template),h.registerPartial("groupTitle",h.config.group_title_template);const e=new CroutonHandlebarsExtensions;e.registerHelpers(),e.registerPartials(h.config.groups)},h.calculateDistance=function(e){var t,n;e.distance="",2!=e.venue_type&&(t={lat:e.latitude,lng:e.longitude},(t=croutonMap.getDistanceFromSearch(t))&&(e.distance_in_km=t.km,e.distance_in_miles=t.miles,"km"===h.config.distance_units?e.distance_in_km&&(n=e.distance_in_km,e.distance=n<1?Math.round(1e3*n)+"m":(Math.round(10*n)/10).toFixed(1)+"km"):e.distance_in_miles&&(n=e.distance_in_miles,e.distance=(Math.round(100*n)/100).toFixed(2)+" miles")))},h.showMessage=function(e){jQuery("#"+h.config.placeholder_id).html("crouton: "+e),jQuery("#"+h.config.placeholder_id).removeClass("hide")},h.getUsedVenueType=function(e){let t=getUniqueValuesOfKey(e,"venue_type");return t.includes(3)||2===t.length?Object.values(h.localization.getWord("venue_type_choices")):1===t[0]?[h.localization.getWord("venue_type_choices").IN_PERSON]:[h.localization.getWord("venue_type_choices").VIRTUAL]},h.getUsedVisibility=function(e){return[{name:"Visible",value:1}]},h.getUsedNext24=function(e){return[{name:"Next24",value:1}]},h.isEmpty=function(e){for(var t in e)if(e.hasOwnProperty(t))return!1;return!0},h.createBmltMapElement=function(){return document.getElementById("bmlt-map")||jQuery("#bmlt-tabs").before("<div id='bmlt-map' class='bootstrap-bmlt bmlt-map "+h.localization.getWord("css-direction")+" bmlt_map_container_div'></div>"),"bmlt-map"},void 0===window.croutonMap?(window.croutonMap=new MeetingMap(h.config),h.config.map_search?h.searchMap():h.meetingSearch()):window.croutonMap.hasMapSearch()||h.meetingSearch()}function getMasterFormatId(e,t){for(var n=0;n<crouton.masterFormatCodes.length;n++){var i=crouton.masterFormatCodes[n];if(i.key_string===e&&i.root_server_uri===t.root_server_uri)return i.id}}crouton_Handlebars.registerHelper("startup",()=>""),crouton_Handlebars.registerHelper("enrich",()=>""),crouton_Handlebars.registerHelper("log",e=>console.log(e)),crouton_Handlebars.registerHelper("selectFormatPopup",()=>"formatPopup"),crouton_Handlebars.registerHelper("selectObserver",()=>"observerTemplate"),Crouton.prototype.setConfig=function(e){var t,n=this,i={button_filters:"grouping_buttons",button_format_filters:"formattype_grouping_buttons"};for(t in i)e.hasOwnProperty(t)&&(e[i[t]]=e[t],delete e[i[t]]);for(t in e)0<t.indexOf("_template")&&""===e[t].trim()||(-1===t.indexOf("int_")?"1"===e[t]||1===e[t]?n.config[t]=!0:"0"===e[t]||0===e[t]?n.config[t]=!1:n.config[t]=e[t]:n.config[t]=parseInt(e[t]||0));"embed"===n.config.show_map&&(n.config.show_map=!1,n.config.map_page=!0),n.config.day_sequence=[],n.config.day_sequence.push(n.config.int_start_day_id);for(var r=1;r<7;r++){var a=n.config.day_sequence[r-1]+1;7<a?n.config.day_sequence.push(a-7):n.config.day_sequence.push(a)}if(n.config.groups&&(n.config.view_by="city",n.config.include_weekday_button=!1,n.config.has_tabs=!1),n.config.view_by.endsWith("day")&&(n.config.include_weekday_button=!0),n.currentView=n.config.view_by,n.config.short_language="da-DK"===n.config.language?"dk":n.config.language.substring(0,2),n.localization=new CroutonLocalization(n.config.language),e.custom_translations&&""!==e.custom_translations.trim())try{n.localization.customizeTranslations(JSON.parse(e.custom_translations))}catch(e){console.log("Error parsing custom translations: "+e.message)}},Crouton.prototype.reset=function(){jQuery("#custom-css").remove(),jQuery("#"+this.config.placeholder_id).html("")},Crouton.prototype.doFilters=function(){return this.filterMeetingsFromView()},Crouton.prototype.getServiceBodyDetails=function(e){for(var t=0;t<this.all_service_bodies.length;t++){var n=this.all_service_bodies[t];if(n.id===e)return n}},Crouton.prototype.doHandlebars=function(){var i,r=document.getElementsByTagName("bmlt-handlebar");0!==r.length?(i=this).lock(function(){if(i.isEmpty(i.meetingData))for(let e=0;e<r.length;e++)r.item(e).innerHTML="Meeting not found!";else{var e=[i.getServiceBodies([i.meetingData[0].service_body_bigint])];Promise.all(e).then(function(e){hbs_Crouton.localization=i.localization,i.all_service_bodies=[];for(var t=e[0],n=0;n<t.length;n++)i.all_service_bodies.push(t[n]);e=i.enrichMeetings(i.meetingData);i.setUpPartials(),crouton_Handlebars.compile("{{startup}}")(e),crouton_Handlebars.compile("{{enrich this}}")(e[0]),i.handlebars(e[0],r),jQuery(".get-directions-modal").on("click",openDirectionsModal)})}}):console.log("No <bmlt-handlebar> tags found")},Crouton.prototype.meetingModal=function(t){this.openMeetingModal(this.meetingData.find(e=>e.id_bigint==t))},Crouton.prototype.openMeetingModal=function(e){let n=this;crouton_Handlebars.registerHelper("crouton_map",function(){return"<div id='bmlt-handlebars-map' class='bmlt-map'></div>"});let t=hbs_Crouton.templates.meetingModal;const i=document.getElementById("bmlt-tabs");let r=document.createElement("div");i.appendChild(r),r.innerHTML=t(e),[...i.getElementsByClassName("modal-close")].forEach(e=>e.addEventListener("click",e=>{croutonMap.closeModalWindow(e.target),document.getElementById("meeting_modal").remove()}));let a=document.getElementById("meeting_modal");document.body.appendChild(a),jQuery("#meeting_modal .get-directions-modal").on("click",openDirectionsModal),croutonMap.openModalWindow(a,!0),croutonMap.loadPopupMap("bmlt-handlebars-map",e,{lat:parseFloat(e.latitude),lng:parseFloat(e.longitude),zoom:14});let o=jQuery(".bmlt-data-row:visible"),s=-1;const l="meeting-data-row-";for(k=0;k<o.length;k++)if(o[k].id===l+e.id_bigint){s=k;break}function c(e){switch(e){case"left":s+=1;break;case"right":s-=1;break;default:s=-1}if(0<=s&&s<o.length){const t=o[s];meetingId=t.id.substring(l.length),a.getElementsByClassName("modal-close").item(0).dispatchEvent(new MouseEvent("click")),n.meetingModal(meetingId)}}swipedetect(a,c),s<=0?jQuery(".modal-left").addClass("hide"):a.getElementsByClassName("modal-left").item(0).addEventListener("click",e=>c("right")),s>=o.length-1?jQuery(".modal-right").addClass("hide"):a.getElementsByClassName("modal-right").item(0).addEventListener("click",e=>c("left"))},Crouton.prototype.searchMap=function(){var e=this;e.distanceTabAllowed=!0,e.config.map_search&&"object"==typeof e.config.map_search?(e.config.map_search.width||(e.config.map_search.width=-50),e.config.map_search.location||e.config.map_search.coordinates_search||(e.config.map_search.auto=!0),e.config.map_search.zoom||(e.config.map_search.zoom=14)):e.config.map_search={width:-50,auto:!0,zoom:14},e.config.map_page=!1,e.config.show_map=!1;var t=jQuery("body");""!==e.config.theme&&t.append("<div id='custom-css'><link rel='stylesheet' type='text/css' href='"+e.config.template_path+"/themes/"+e.config.theme+".css'>"),t.append("<div id='custom-css'><style type='text/css'>"+e.config.custom_css+"</style></div>"),e.meetingData=null,e.renderStandaloneMap("#"+e.config.placeholder_id,{config:e.config,meetings:{weekdays:[],groupingButtons:[],formattypeGroupingButtons:[],bydays:[],meetingCount:0,meetingData:[]},dropdownData:[],location:{latitude:0,longitude:0,zoom:10}})},Crouton.prototype.render=function(k=!1,S=!0){var M=this;M.lock(function(){var e=jQuery("body");if(""!==M.config.theme&&e.append("<div id='custom-css'><link rel='stylesheet' type='text/css' href='"+M.config.template_path+"/themes/"+M.config.theme+".css'>"),e.append("<div id='custom-css'><style type='text/css'>"+M.config.custom_css+"</style></div>"),M.isEmpty(M.meetingData))return M.showMessage("No meetings found for parameters specified."),void(M.config.refresh_map&&croutonMap.refreshMeetings(M.meetingData,S,!0));M.unique_service_bodies_ids=getUniqueValuesOfKey(M.meetingData,"service_body_bigint").sort();e=[M.getMasterFormats(),M.getServiceBodies(M.unique_service_bodies_ids)];Promise.all(e).then(function(e){M.all_service_bodies=[],M.masterFormatCodes=e[0];for(var t=e[1],n=0;n<t.length;n++)M.all_service_bodies.push(t[n]);jQuery.isEmptyObject(M.formatsData)||(M.formatsData=M.formatsData.sortByKey("name_string"));var i=M.enrichMeetings(M.meetingData);M.config.groups&&(M.meetingData=i),M.setUpPartials(),i.sort(function(e,t){return e.start_time_raw<t.start_time_raw?-1:e.start_time_raw>t.start_time_raw?1:0});for(var r=0,a=[],o={},s={},l=[];r<7;){var c=M.config.day_sequence[r],u=i.filterByObjectKeyValue("day_of_the_week",c);l.push({day:c,meetings:u}),a.push({day:M.localization.getDayOfTheWeekWord(c),meetings:u});for(var d=0;d<M.config.grouping_buttons.length;d++){var p=M.config.grouping_buttons[d].field;if(!p.startsWith("distance"))for(var h=getUniqueValuesOfKey(u,p).sort(),n=0;n<h.length;n++){var m=u.filterByObjectKeyValue(p,h[n]);o.hasOwnProperty(p)&&o[p].hasOwnProperty(h[n])?o[p][h[n]]=o[p][h[n]].concat(m):(o.hasOwnProperty(p)||(o[p]={}),o[p][h[n]]=m)}}for(d=0;d<M.config.formattype_grouping_buttons.length;d++){const p=M.config.formattype_grouping_buttons[d].field;var f=M.config.formattype_grouping_buttons[d].hasOwnProperty("accordionState")?M.config.grouping_buttons[y].accordionState:"",h=getUniqueFormatsOfType(u,p);"LANG"==p&&M.config.native_lang&&0<M.config.native_lang.length&&(h=h.filter(e=>e.key!=M.config.native_lang));for(n=0;n<h.length;n++){m=u.filter(e=>0<=e.formats_expanded.map(e=>e.key).indexOf(h[n].key));s.hasOwnProperty(p)&&s[p].hasOwnProperty(h[n].description)?s[p][h[n].description].group=s[p][h[n].description].group.concat(m):(s.hasOwnProperty(p)||(s[p]={}),s[p][h[n].description]={},s[p][h[n].description].accordionState=f,s[p][h[n].description].group=m)}}r++}for(var g={},y=0;y<M.config.grouping_buttons.length;y++){const p=M.config.grouping_buttons[y].field;var v=M.config.grouping_buttons[y].hasOwnProperty("accordionState")?M.config.grouping_buttons[y].accordionState:"";if(g[p]={},p.startsWith("distance"))g[p][M.localization.getWord("Sorted by Distance")]={},M.config.map_search?g[p][M.localization.getWord("Sorted by Distance")].group=[...M.meetingData].sort((e,t)=>e.distance_in_km-t.distance_in_km):g[p][M.localization.getWord("Sorted by Distance")].group=[...M.meetingData].filter(e=>2!=e.venue_type),g[p][M.localization.getWord("Sorted by Distance")].accordionState="non-collapsable";else{var _,b=[];for(_ in o[p])b.push(_);b.sort();for(var A=0;A<b.length;A++)g[p][b[A]]={},g[p][b[A]].group=o[p][b[A]],g[p][b[A]].accordionState=v}}M.dayNamesSequenced=M.config.day_sequence.map(e=>M.localization.getDayOfTheWeekWord(e)),M.dropdownData=[],M.config.has_days&&M.dropdownData.push({placeholder:M.localization.getWord("weekday"),pointer:"weekdays",elementId:"filter-dropdown-weekdays",uniqueData:e=>sortListByList(getUniqueValuesOfKey(e,"formatted_day"),M.dayNamesSequenced),objectPointer:convertToPunyCode,optionName:e=>e}),M.config.has_states&&M.dropdownData.push({placeholder:M.localization.getWord("states"),pointer:"States",elementId:"filter-dropdown-states",uniqueData:e=>getUniqueValuesOfKey(e,"location_province").sort(),objectPointer:convertToPunyCode,optionName:e=>e}),M.config.has_sub_province&&M.dropdownData.push({placeholder:M.localization.getWord("counties"),pointer:"Counties",elementId:"filter-dropdown-sub_province",uniqueData:e=>getUniqueValuesOfKey(e,"location_sub_province").sort(),objectPointer:convertToPunyCode,optionName:e=>e}),M.config.has_cities&&M.dropdownData.push({placeholder:M.localization.getWord("cities"),pointer:"Cities",elementId:"filter-dropdown-cities",uniqueData:e=>getUniqueValuesOfKey(e,"location_municipality").sort(),objectPointer:convertToPunyCode,optionName:e=>e}),M.config.has_neighborhoods&&M.dropdownData.push({placeholder:M.localization.getWord("neighborhood"),pointer:"Neighborhoods",elementId:"filter-dropdown-neighborhoods",uniqueData:e=>getUniqueValuesOfKey(e,"location_neighborhood").sort(),objectPointer:convertToPunyCode,optionName:e=>e}),M.config.has_zip_codes&&M.dropdownData.push({placeholder:M.localization.getWord("postal_codes"),pointer:"Zips",elementId:"filter-dropdown-zipcodes",uniqueData:e=>getUniqueValuesOfKey(e,"location_postal_code_1").sort(),objectPointer:convertToPunyCode,optionName:e=>e}),M.config.has_locations&&M.dropdownData.push({placeholder:M.localization.getWord("locations"),pointer:"Locations",elementId:"filter-dropdown-locations",uniqueData:e=>getUniqueValuesOfKey(e,"location_text").map(e=>e.replace(/(<([^>]+)>)/gi,"")).sort(),objectPointer:convertToPunyCode,optionName:e=>e}),M.config.has_regions&&M.dropdownData.push({placeholder:M.localization.getWord("regions"),pointer:"Regions",elementId:"filter-dropdown-regions",uniqueData:t=>M.all_service_bodies.filter(e=>getUniqueValuesOfKey(t,"parentServiceBodyId").includes(e.id)).sortByKey("name"),objectPointer:e=>convertToPunyCode(e.name),optionName:e=>e.name}),M.config.has_areas&&M.dropdownData.push({placeholder:M.localization.getWord("areas"),pointer:"Areas",elementId:"filter-dropdown-areas",uniqueData:t=>M.all_service_bodies.filter(e=>getUniqueValuesOfKey(t,"service_body_bigint").includes(e.id)).sortByKey("name"),objectPointer:e=>e.id,optionName:e=>e.name}),M.config.has_groups&&M.dropdownData.push({placeholder:M.localization.getWord("groups"),pointer:"Groups",elementId:"filter-dropdown-groups",uniqueData:e=>getUniqueValuesOfKey(e,"meeting_name").sort(),objectPointer:convertToPunyCode,optionName:e=>e}),M.config.has_venues&&M.dropdownData.push({placeholder:M.localization.getWord("venue_types"),pointer:"Venues",elementId:"filter-dropdown-venues",uniqueData:e=>M.getUsedVenueType(e),objectPointer:convertToPunyCode,optionName:e=>e}),M.config.has_formats&&M.dropdownData.push({placeholder:M.localization.getWord("formats"),pointer:"Formats",elementId:"filter-dropdown-formats",uniqueData:e=>getUniqueFormats(e),objectPointer:e=>convertToPunyCode(e.name),optionName:e=>e.name}),M.config.has_languages&&M.dropdownData.push({placeholder:M.localization.getWord("languages"),pointer:"Formats",elementId:"filter-dropdown-languages",uniqueData:e=>getUniqueFormatsOfType(e,"LANG").filter(e=>e.key!==M.config.native_lang),objectPointer:e=>convertToPunyCode(e.name),optionName:e=>e.name}),M.config.has_common_needs&&M.dropdownData.push({placeholder:M.localization.getWord("common_needs"),pointer:"Formats",elementId:"filter-dropdown-commonneeds",uniqueData:e=>getUniqueFormatsOfType(e,"FC3"),objectPointer:e=>convertToPunyCode(e.name),optionName:e=>e.name}),(k||M.config.show_map||M.config.map_page)&&M.dropdownData.push({placeholder:"",pointer:"visible",elementId:"filter-dropdown-visibile",uniqueData:e=>M.getUsedVisibility(e),objectPointer:e=>e.value,optionName:e=>e.name}),k&&M.dropdownData.push({placeholder:"",pointer:"next24",elementId:"filter-dropdown-next24",uniqueData:e=>M.getUsedNext24(e),objectPointer:e=>e.value,optionName:e=>e.name});let w=k?M.renderStandaloneMap:M.renderView;w("#"+M.config.placeholder_id,{config:M.config,meetings:{allMeetings:M.meetingData,weekdays:l,groupingButtons:g,formattypeGroupingButtons:s,bydays:a,meetingCount:M.meetingData.length,meetingData:M.meetingData},dropdownData:M.dropdownData},function(){var e;M.config.map_search||jQuery("#groupingButton_distance_in_km").addClass("hide"),M.addStripes(),M.calcShowingNow(),M.updateMeetingCount(),jQuery("#please-wait").remove(),null==M.config.map_search&&!M.config.show_map||(jQuery(".bmlt-data-row").css({cursor:"pointer"}),jQuery(".bmlt-data-row").click(function(e){"A"!==e.target.tagName&&croutonMap.rowClick(parseInt(this.id.replace("meeting-data-row-","")))})),jQuery("#"+M.config.placeholder_id).addClass("bootstrap-bmlt"),jQuery("#filter-dropdown-visibile").removeClass("crouton-select").addClass("hide"),jQuery("#filter-dropdown-next24").removeClass("crouton-select").addClass("hide"),jQuery(".crouton-select").select2({dropdownAutoWidth:!0,allowClear:!1,width:"resolve",minimumResultsForSearch:1,dropdownCssClass:"bmlt-drop",matcher:function(e,t){return"a-"===t.id?t:(elementId=t.element.parentElement.id,e.hasOwnProperty("term")&&t.text.toUpperCase().indexOf(e.term.toUpperCase())<0?null:(dropdown=M.dropdownData.find(e=>e.elementId===elementId),"undefined"==typeof dropdown||void 0===dropdown.optionsShowing||dropdown.optionsShowing.includes(t.text)?t:null))}}),jQuery('[data-toggle="popover"]').popover().click(function(e){e.preventDefault(),e.stopPropagation()}),jQuery("html").on("click",function(e){"popover"!==jQuery(e.target).data("toggle")&&jQuery('[data-toggle="popover"]').popover("hide")}),jQuery(".filter-dropdown").on("select2:select",function(e){M.filterMeetingsFromView()}),jQuery("#day").on("click",function(){M.showView("day")}),jQuery(".groupingButtonLogic").on("click",function(e){M.showView(e.target.attributes["data-field"].value.toLowerCase())}),jQuery("#groupingButton_embeddedMapPage").on("click",function(e){M.showView("map")}),jQuery(".meeting-group:not(.non-collapsable) .group-header").on("click",function(e){jQuery(e.target.parentElement).toggleClass("closed")}),jQuery(".get-directions-modal").on("click",openDirectionsModal),jQuery(".directions-map-modal-close").on("click",function(e){closeDirectionsMapModal()}),M.config.has_tabs&&(jQuery(".nav-tabs a").on("click",function(e){e.preventDefault(),jQuery(this).tab("show")}),e=(new Date).getDay(),e++,jQuery('.nav-tabs a[href="#tab'+e+'"]').tab("show"),jQuery("#tab"+e).show()),jQuery(".bmlt-header").removeClass("hide").addClass("show"),jQuery(".bmlt-tabs").removeClass("hide").addClass("show"),""!==M.config.default_filter_dropdown&&(e=M.config.default_filter_dropdown.toLowerCase().split("="),jQuery("#filter-dropdown-"+e[0]).val("a-"+e[1]).trigger("change").trigger("select2:select")),!M.config.show_map||M.config.refresh_map||k||(croutonMap.initialize(M.createBmltMapElement(),M.meetingData),jQuery("#bmlt-map").removeClass("hide")),M.config.map_page&&!k&&(0==M.meetingData.filter(e=>2!=e.venue_type).length?jQuery("#groupingButton_embeddedMapPage").addClass("hide"):croutonMap.initialize("byfield_embeddedMapPage",M.meetingData)),M.config.refresh_map&&croutonMap.refreshMeetings(M.meetingData,S,!0),"map"!=M.config.view_by||M.config.map_page||(M.config.view_by="day"),M.showView(M.config.view_by,M.meetingData.length),null!=M.config.on_complete&&isFunction(M.config.on_complete)&&M.config.on_complete()},!k)})}),Crouton.prototype.forceShowMap=function(){this.config.map_page&&jQuery("#byfield_embeddedMapPage").hasClass("hide")&&this.mapView()}};var masterFormatVenueType={IN_PERSON:"IN_PERSON",VIRTUAL:"VIRTUAL"},venueType={IN_PERSON:1,VIRTUAL:2,HYBRID:3};function getVenueTypeName(e){return e.venue_type===venueType.HYBRID||inArray(getMasterFormatId("HY",e),getFormats(e))?[crouton.localization.getVenueType(masterFormatVenueType.VIRTUAL),crouton.localization.getVenueType(masterFormatVenueType.IN_PERSON)]:e.venue_type===venueType.VIRTUAL||inArray(getMasterFormatId("VM",e),getFormats(e))?[crouton.localization.getVenueType(masterFormatVenueType.VIRTUAL)]:[crouton.localization.getVenueType(masterFormatVenueType.IN_PERSON)]}function getFormats(e){return""!==e.formats?e.format_shared_id_list.split(","):[]}function convertToPunyCode(e){return void 0!==e?punycode.toASCII(e.toLowerCase()).replace(/\W|_/g,"-"):""}function getUniqueValuesOfKey(e,n){return e.reduce(function(e,t){return t[n]&&!~e.indexOf(t[n])&&e.push(t[n]),e},[])}function getValuesFromObject(e){var t=[];for(key in e)e.hasOwnProperty(key)&&t.push(e[key]);return t}function getUniqueFormats(e){return e.reduce(function(t,e){return e.formats_expanded?t.concat(e.formats_expanded.filter(e=>t.map(e=>e.key).indexOf(e.key)<0)):t},[]).sortByKey("name")}function getUniqueFormatsOfType(e,n){return e.reduce(function(t,e){if(!e.formats_expanded)return t;e=e.formats_expanded.filter(e=>e.type===n);return t=e?t.concat(e.filter(e=>t.map(e=>e.key).indexOf(e.key)<0)):t},[]).sortByKey("name")}function arrayUnique(e,t,n){for(t=e.length;n=--t;)for(;n--;)e[t]!==e[n]||e.splice(n,1);return e}function sortListByList(e,t){for(var n=[],i=0;i<t.length;i++)for(var r=0;r<e.length;r++)t[i]===e[r]&&n.push(e[r]);return n}function inArray(e,t){return-1!==t.indexOf(e)}function isFunction(e){return e&&"[object Function]"==={}.toString.call(e)}function getServiceBodiesQueryString(e){for(var t="",n=0;n<e.length;n++)t+="&services[]="+e[n];return t}function swipedetect(e,t){var n,i,r,a,e=e,o=t||function(e){};e.addEventListener("touchstart",function(e){e=e.changedTouches[0];n=e.pageX,i=e.pageY},!1),e.addEventListener("touchend",function(e){var t;e.cancelable&&(t=e.changedTouches[0],r=t.pageX-n,a=t.pageY-i,150<=Math.abs(r)&&Math.abs(a)<=100&&(o(r<0?"left":"right"),e.preventDefault()))},!1)}function isIOSDevice(){if(navigator.userAgentData&&navigator.userAgentData.platform&&"iOS"===navigator.userAgentData.platform)return!0;var e=navigator.userAgent||navigator.vendor||window.opera,t=/iPad|iPhone|iPod/.test(e)&&!window.MSStream,e="MacIntel"===navigator.platform&&1<navigator.maxTouchPoints&&!window.MSStream;return t||e}function isAndroidDevice(){return/Android/i.test(navigator.userAgent)}function isMobileDevice(){return isIOSDevice()||isAndroidDevice()||/Mobi|Android/i.test(navigator.userAgent)}function createDirectionsOptions(){const e=[];return isIOSDevice()&&e.push({name:crouton.localization.getWord("apple_maps"),description:crouton.localization.getWord("apple_maps_desc"),icon:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23007AFF'%3E%3Cpath d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z'/%3E%3C/svg%3E",url:"https://maps.apple.com/?daddr=${latitude},${longitude}"}),e.push({name:crouton.localization.getWord("google_maps"),description:crouton.localization.getWord("google_maps_desc_mobile"),icon:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%234285f4'%3E%3Cpath d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z'/%3E%3C/svg%3E",url:"https://www.google.com/maps/dir/?api=1&destination=${latitude},${longitude}"}),e.push({name:crouton.localization.getWord("waze"),description:crouton.localization.getWord("waze_desc"),icon:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2300D4FF'%3E%3Cpath d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z'/%3E%3C/svg%3E",url:"https://waze.com/ul?ll=${latitude},${longitude}&navigate=yes"}),e}function openDirectionsModal(e){const n=jQuery(this).data("latitude"),i=jQuery(this).data("longitude");var t=localStorage.getItem("croutonDirectionsURL");if(t&&null!=t)openDirections(t,n,i,!1);else{document.getElementById("directionsMapModal")||(r=crouton.localization.getWord("select_map_app"),e.target.insertAdjacentHTML("afterend",`<div id="directionsMapModal" class="directions-map-modal remove-after-use">
|
|
151
|
+
</div>`};!function(e){var t="object"==typeof exports&&exports&&!exports.nodeType&&exports,n="object"==typeof module&&module&&!module.nodeType&&module,i="object"==typeof global&&global;i.global!==i&&i.window!==i&&i.self!==i||(e=i);var r,a,g=2147483647,y=36,v=26,o=38,s=700,l=/^xn--/,c=/[^\x20-\x7E]/,u=/[\x2E\u3002\uFF0E\uFF61]/g,d={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},p=y-1,_=Math.floor,b=String.fromCharCode;function A(e){throw new RangeError(d[e])}function h(e,t){for(var n=e.length,i=[];n--;)i[n]=t(e[n]);return i}function m(e,t){var n=e.split("@"),i="";return 1<n.length&&(i=n[0]+"@",e=n[1]),i+h((e=e.replace(u,".")).split("."),t).join(".")}function w(e){for(var t,n,i=[],r=0,a=e.length;r<a;)55296<=(t=e.charCodeAt(r++))&&t<=56319&&r<a?56320==(64512&(n=e.charCodeAt(r++)))?i.push(((1023&t)<<10)+(1023&n)+65536):(i.push(t),r--):i.push(t);return i}function f(e){return h(e,function(e){var t="";return 65535<e&&(t+=b((e-=65536)>>>10&1023|55296),e=56320|1023&e),t+=b(e)}).join("")}function k(e,t){return e+22+75*(e<26)-((0!=t)<<5)}function S(e,t,n){var i=0;for(e=n?_(e/s):e>>1,e+=_(e/t);p*v>>1<e;i+=y)e=_(e/p);return _(i+(p+1)*e/(e+o))}function M(e){var t,n,i,r,a,o,s,l=[],c=e.length,u=0,d=128,p=72,h=e.lastIndexOf("-");for(h<0&&(h=0),n=0;n<h;++n)128<=e.charCodeAt(n)&&A("not-basic"),l.push(e.charCodeAt(n));for(i=0<h?h+1:0;i<c;){for(r=u,a=1,o=y;c<=i&&A("invalid-input"),s=e.charCodeAt(i++),(y<=(s=s-48<10?s-22:s-65<26?s-65:s-97<26?s-97:y)||s>_((g-u)/a))&&A("overflow"),u+=s*a,!(s<(s=o<=p?1:p+v<=o?v:o-p));o+=y)a>_(g/(s=y-s))&&A("overflow"),a*=s;p=S(u-r,t=l.length+1,0==r),_(u/t)>g-d&&A("overflow"),d+=_(u/t),u%=t,l.splice(u++,0,d)}return f(l)}function P(e){for(var t,n,i,r,a,o,s,l,c,u,d=[],p=(e=w(e)).length,h=128,m=72,f=t=0;f<p;++f)(s=e[f])<128&&d.push(b(s));for(n=i=d.length,i&&d.push("-");n<p;){for(r=g,f=0;f<p;++f)h<=(s=e[f])&&s<r&&(r=s);for(r-h>_((g-t)/(l=n+1))&&A("overflow"),t+=(r-h)*l,h=r,f=0;f<p;++f)if((s=e[f])<h&&++t>g&&A("overflow"),s==h){for(a=t,o=y;!(a<(c=o<=m?1:m+v<=o?v:o-m));o+=y)d.push(b(k(c+(u=a-c)%(c=y-c),0))),a=_(u/c);d.push(b(k(a,0))),m=S(t,l,n==i),t=0,++n}++t,++h}return d.join("")}if(r={version:"1.4.1",ucs2:{decode:w,encode:f},decode:M,encode:P,toASCII:function(e){return m(e,function(e){return c.test(e)?"xn--"+P(e):e})},toUnicode:function(e){return m(e,function(e){return l.test(e)?M(e.slice(4).toLowerCase()):e})}},"function"==typeof define&&"object"==typeof define.amd&&define.amd)define("punycode",function(){return r});else if(t&&n)if(module.exports==t)n.exports=r;else for(a in r)r.hasOwnProperty(a)&&(t[a]=r[a]);else e.punycode=r}(this);var defaultOptions={timeout:3e5,jsonpCallback:"callback",jsonpCallbackFunction:null};function generateCallbackFunction(){return"jsonp_"+Date.now().toString()+"_"+Math.ceil(1e5*Math.random()).toString()}function clearFunction(t){try{delete window[t]}catch(e){window[t]=void 0}}function removeScript(e){e=document.getElementById(e);e&&document.getElementsByTagName("head")[0].removeChild(e)}function fetchJsonp(a,o){var s,l=a,c=(o=o||{}).timeout||defaultOptions.timeout,u=o.jsonpCallback||defaultOptions.jsonpCallback;return new Promise(function(t,e){var n=o.jsonpCallbackFunction||generateCallbackFunction(),i=u+"_"+n;window[n]=function(e){t({ok:!0,json:function(){return Promise.resolve(e)}}),s&&clearTimeout(s),removeScript(i),clearFunction(n)},l+=-1===l.indexOf("?")?"?":"&";var r=document.createElement("script");r.setAttribute("src",l+u+"="+n),o.charset&&r.setAttribute("charset",o.charset),o.nonce&&r.setAttribute("nonce",o.nonce),o.referrerPolicy&&r.setAttribute("referrerPolicy",o.referrerPolicy),r.id=i,document.getElementsByTagName("head")[0].appendChild(r),s=setTimeout(function(){e(new Error("JSONP request to "+a+" timed out")),clearFunction(n),removeScript(i),window[n]=function(){clearFunction(n)}},c),r.onerror=function(){e(new Error("JSONP request to "+a+" failed")),clearFunction(n),removeScript(i),s&&clearTimeout(s)}})}!function(e){("object"!=typeof exports||"undefined"==typeof module)&&"function"==typeof define&&define.amd?define(e):e()}(function(){"use strict";function e(t){var n=this.constructor;return this.then(function(e){return n.resolve(t()).then(function(){return e})},function(e){return n.resolve(t()).then(function(){return n.reject(e)})})}function t(n){return new this(function(r,e){if(!n||void 0===n.length)return e(new TypeError(typeof n+" "+n+" is not iterable(cannot read property Symbol(Symbol.iterator))"));var a=Array.prototype.slice.call(n);if(0===a.length)return r([]);var o=a.length;for(var t=0;t<a.length;t++)!function t(n,e){if(e&&("object"==typeof e||"function"==typeof e)){var i=e.then;if("function"==typeof i)return void i.call(e,function(e){t(n,e)},function(e){a[n]={status:"rejected",reason:e},0==--o&&r(a)})}a[n]={status:"fulfilled",value:e},0==--o&&r(a)}(t,a[t])})}var n=setTimeout,i="undefined"!=typeof setImmediate?setImmediate:null;function l(e){return Boolean(e&&void 0!==e.length)}function r(){}function a(e){if(!(this instanceof a))throw new TypeError("Promises must be constructed via new");if("function"!=typeof e)throw new TypeError("not a function");this._state=0,this._handled=!1,this._value=void 0,this._deferreds=[],p(e,this)}function o(n,i){for(;3===n._state;)n=n._value;0!==n._state?(n._handled=!0,a._immediateFn(function(){var e,t=1===n._state?i.onFulfilled:i.onRejected;if(null!==t){try{e=t(n._value)}catch(e){return void c(i.promise,e)}s(i.promise,e)}else(1===n._state?s:c)(i.promise,n._value)})):n._deferreds.push(i)}function s(t,e){try{if(e===t)throw new TypeError("A promise cannot be resolved with itself.");if(e&&("object"==typeof e||"function"==typeof e)){var n=e.then;if(e instanceof a)return t._state=3,t._value=e,void u(t);if("function"==typeof n)return void p((i=n,r=e,function(){i.apply(r,arguments)}),t)}t._state=1,t._value=e,u(t)}catch(e){c(t,e)}var i,r}function c(e,t){e._state=2,e._value=t,u(e)}function u(e){2===e._state&&0===e._deferreds.length&&a._immediateFn(function(){e._handled||a._unhandledRejectionFn(e._value)});for(var t=0,n=e._deferreds.length;t<n;t++)o(e,e._deferreds[t]);e._deferreds=null}function d(e,t,n){this.onFulfilled="function"==typeof e?e:null,this.onRejected="function"==typeof t?t:null,this.promise=n}function p(e,t){var n=!1;try{e(function(e){n||(n=!0,s(t,e))},function(e){n||(n=!0,c(t,e))})}catch(e){if(n)return;n=!0,c(t,e)}}a.prototype.catch=function(e){return this.then(null,e)},a.prototype.then=function(e,t){var n=new this.constructor(r);return o(this,new d(e,t,n)),n},a.prototype.finally=e,a.all=function(t){return new a(function(r,a){if(!l(t))return a(new TypeError("Promise.all accepts an array"));var o=Array.prototype.slice.call(t);if(0===o.length)return r([]);var s=o.length;for(var e=0;e<o.length;e++)!function t(n,e){try{if(e&&("object"==typeof e||"function"==typeof e)){var i=e.then;if("function"==typeof i)return void i.call(e,function(e){t(n,e)},a)}o[n]=e,0==--s&&r(o)}catch(e){a(e)}}(e,o[e])})},a.allSettled=t,a.resolve=function(t){return t&&"object"==typeof t&&t.constructor===a?t:new a(function(e){e(t)})},a.reject=function(n){return new a(function(e,t){t(n)})},a.race=function(r){return new a(function(e,t){if(!l(r))return t(new TypeError("Promise.race accepts an array"));for(var n=0,i=r.length;n<i;n++)a.resolve(r[n]).then(e,t)})},a._immediateFn="function"==typeof i?function(e){i(e)}:function(e){n(e,0)},a._unhandledRejectionFn=function(e){"undefined"!=typeof console&&console&&console.warn("Possible Unhandled Promise Rejection:",e)};var h=function(){if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if("undefined"!=typeof global)return global;throw new Error("unable to locate global object")}();"function"!=typeof h.Promise?h.Promise=a:(h.Promise.prototype.finally||(h.Promise.prototype.finally=e),h.Promise.allSettled||(h.Promise.allSettled=t))});var crouton_Handlebars=Handlebars.noConflict();function Crouton(e){var h=this;h.mutex=!1,h.filtering=!1,h.masterFormatCodes=[],h.currentView="weekday",h.distanceTabAllowed=!1,h.config={version:"4.1.3",on_complete:null,root_server:null,placeholder_id:"bmlt-tabs",map_max_zoom:15,time_format:"h:mm a",language:"en-US",has_tabs:!0,filter_tabs:20,filter_visible:0,header:!0,include_weekday_button:!0,int_include_unpublished:0,grouping_buttons:[{title:"City",field:"location_municipality"},{title:"Distance",field:"distance_in_km"}],formattype_grouping_buttons:[],default_filter_dropdown:"",show_map:"embed",map_search:null,has_days:!1,has_cities:!0,has_formats:!0,has_groups:!1,has_locations:!0,has_zip_codes:!1,has_areas:!1,has_regions:!1,has_states:!1,has_sub_province:!1,has_neighborhoods:!1,has_languages:!1,has_common_needs:!1,has_venues:!0,has_meeting_count:!1,recurse_service_bodies:!1,service_body:[],formats:"",venue_types:[],meeting_details_href:"",virtual_meeting_details_href:"",bmlt2ics:"",exclude_zip_codes:[],extra_meetings:[],native_lang:"",auto_tz_adjust:!1,base_tz:null,custom_query:null,sort_keys:"start_time",int_start_day_id:1,view_by:"weekday",show_qrcode:!1,force_rootserver_in_querystring:!0,force_timeformat_in_querystring:!0,force_language_in_querystring:!0,theme:"jack",report_update_url:"",meeting_data_template:croutonDefaultTemplates.meeting_data_template,metadata_template:croutonDefaultTemplates.metadata_template,observer_template:croutonDefaultTemplates.observer_template,meeting_count_template:croutonDefaultTemplates.meeting_count_template,meetingpage_title_template:croutonDefaultTemplates.meetingpage_title_template,meetingdetails_contents_template:croutonDefaultTemplates.meetingdetails_contents_template,meeting_times_template:croutonDefaultTemplates.meeting_times_template,group_data_template:croutonDefaultTemplates.group_data_template,group_title_template:croutonDefaultTemplates.group_title_template,group_details_template:croutonDefaultTemplates.group_details_contents_template,member_details_template:croutonDefaultTemplates.member_details_template,lat:0,lng:0,zoom:10,clustering:12,nominatimUrl:"https://nominatim.openstreetmap.org/",tileUrl:"https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",tileOptions:{attribution:'Map data © <a href="https://www.openstreetmap.org/">OpenStreetMap</a> contributors, <a href="https://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>',maxZoom:18},minZoom:6,maxZoom:17,distance_units:"miles",noMap:!1,maxTomatoWidth:160,caption:!1,groups:!1,details_table:!1},h.setConfig(e),Crouton.prototype.searchByCoordinates=function(e,t,n,i=!0){var r=h.config.custom_query;h.config.custom_query=(null!==h.config.custom_query?h.config.custom_query:"")+"&lat_val="+e+"&long_val="+t+("km"===h.config.distance_units?"&geo_width_km=":"&geo_width=")+n,h.meetingSearch(function(){h.config.refresh_map=1,h.config.show_map=1,h.reset(),h.render(!1,i)}),h.config.custom_query=r},h.getMeetings=function(r,a=null){var e=[fetchJsonp(this.config.root_server+r).then(function(e){return e.json()})];if(0<h.config.extra_meetings.length){for(var t="",n=0;n<h.config.extra_meetings.length;n++)t+="&meeting_ids[]="+h.config.extra_meetings[n];r=r.replace(/&services\[\]=\d+/,""),e.push(fetchJsonp(h.config.root_server+r+t).then(function(e){return e.json()}))}return Promise.all(e).then(function(e){var t,n=e[0],i=JSON.stringify(n.meetings);if(2===e.length&&(t=e[1]),"{}"===i||"[]"===i){i=h.config.root_server+r;return console.log('Could not find any meetings for the criteria specified with the query <a href="'+i+'" target=_blank>'+i+"</a>"),jQuery("#"+h.config.placeholder_id).html("No meetings found."),h.meetingData=[],h.formatsData=[],h.mutex=!1,void(a&&a())}0<h.config.exclude_zip_codes.length&&(n.meetings=n.meetings.filter(function(e){return!inArray(e.location_postal_code_1,h.config.exclude_zip_codes)})),h.meetingData=n.meetings,h.formatsData=n.formats,t&&(h.meetingData=h.meetingData.concat(t.meetings)),a&&a(),h.mutex=!1})},h.mutex=!0,h.meetingSearch=function(e=null){var t="/client_interface/jsonp/?switcher=GetSearchResults&get_used_formats&lang_enum="+h.config.short_language;if(h.config.formats&&(t+=h.config.formats.reduce(function(e,t){return e+"&formats[]="+t},"")),h.config.map_search&&!Array.isArray(h.config.venue_types)&&(h.config.venue_types=[]),h.config.map_search&&0===h.config.venue_types.length&&h.config.venue_types.push("-2"),h.config.venue_types&&(t+=h.config.venue_types.reduce(function(e,t){return e+"&venue_types[]="+t},"")),1===h.config.int_include_unpublished?t+="&advanced_published=0":-1===h.config.int_include_unpublished&&(t+="&advanced_published=-1"),null!=h.config.custom_query)return t+=h.config.custom_query+"&sort_keys="+h.config.sort_keys,h.getMeetings(t,e);if(0<h.config.service_body.length){for(var n=0;n<h.config.service_body.length;n++)t+="&services[]="+h.config.service_body[n];return h.config.recurse_service_bodies&&(t+="&recursive=1"),t+="&sort_keys="+h.config.sort_keys,h.getMeetings(t,e)}return new Promise(function(e,t){e()})},h.lock=function(e){var t=this,n=setInterval(function(){t.mutex||(clearInterval(n),e())},100)},h.dayTab=function(e){h.hideAllPages(),jQuery('.nav-tabs a[href="#tab'+e+'"]').tab("show"),jQuery("#"+e).removeClass("hide").addClass("show")},h.dayTabFromId=function(t){day_id=h.meetingData.find(e=>e.id_bigint==t).weekday_tinyint,h.dayTab(day_id)},h.showPage=function(e){jQuery(e+" .bmlt-data-row-placeholder").each(function(){var e=this.dataset.meetingid;const t=jQuery(this);var n=this.outerHTML;const i=jQuery("#"+e);i.before(n),t.replaceWith(i)}),h.addStripes(),jQuery(e).removeClass("hide").addClass("show")},h.showView=function(t,e=0){h.currentView=t,0<e?h.showingNow=e:e=h.showingNow||h.meetingData.length,t.endsWith("day")?!h.config.has_tabs||h.config.filter_tabs&&h.config.filter_tabs>=e?(h.byDayView(),jQuery("#byday").find(".meeting-group").each(function(e){jQuery(this).find(".bmlt-data-row.hide").length===jQuery(this).find(".bmlt-data-row").length?jQuery(this).addClass("hide"):jQuery(this).removeClass("hide")})):h.dayView():"map"==t?h.mapView():0==jQuery("#groupingButton_"+t.toUpperCase()).length?h.groupedView(h.config.grouping_buttons.find(e=>e.title.toLowerCase()===t).field):h.groupedView(t.toUpperCase())},h.byDayView=function(){h.lowlightButton(".groupingButton"),h.highlightButton("#day"),jQuery(".bmlt-page").each(function(e){h.hidePage("#"+this.id)}),h.hidePage("#days"),h.showPage("#byday"),h.hidePage("#nav-days"),h.hidePage("#tabs-content")},h.dayView=function(){h.lowlightButton(".groupingButton"),h.highlightButton("#day"),jQuery(".bmlt-page").each(function(e){h.hidePage("#"+this.id)}),jQuery("#days").removeClass("hide").addClass("show"),jQuery("#nav-days").removeClass("hide").addClass("show"),h.showPage("#tabs-content")},h.groupedView=function(t){!t.includes("distance")||h.distanceTabAllowed?(h.lowlightButton("#day"),h.lowlightButton(".groupingButton"),h.highlightButton("#groupingButton_"+t),jQuery(".bmlt-page").each(function(e){h.hidePage("#"+this.id),h.showPage("#byfield_"+t),jQuery("#byfield_"+t).find(".meeting-group").each(function(e){jQuery(this).find(".bmlt-data-row.hide").length===jQuery(this).find(".bmlt-data-row").length?jQuery(this).addClass("hide"):jQuery(this).removeClass("hide")})})):h.dayView()},h.mapView=function(){h.lowlightButton("#day"),h.lowlightButton(".groupingButton"),h.highlightButton("#groupingButton_embeddedMapPage"),h.groupedView("embeddedMapPage",!1),croutonMap.showMap(!1,!1)},h.lowlightButton=function(e){jQuery(e).removeClass("buttonHighlight").addClass("buttonLowlight")},h.highlightButton=function(e){jQuery(e).removeClass("buttonLowlight").addClass("buttonHighlight")},h.hidePage=function(e){jQuery(e).removeClass("show").addClass("hide")},h.hideAllPages=function(e){jQuery("#tab-pane").removeClass("show").addClass("hide")},h.addStripes=function(){jQuery(".bmlt-data-row").removeClass("evenRow"),jQuery(".bmlt-data-row").removeClass("oddRow"),jQuery(".bmlt-data-row:not(.hide)").each(function(e,t){jQuery(t).addClass(e%2?"oddRow":"evenRow")})},h.calcShowingNow=function(){var n=[];return jQuery(".bmlt-data-row:not(.hide)").each(function(e,t){t=t.id.split("-");n.push(t[t.length-1])}),n=[...new Set(n)]},h.filterMeetingsFromView=function(){jQuery(".group-header").removeClass("hide"),jQuery(".meeting-group").removeClass("hide"),jQuery(".bmlt-data-row").removeClass("hide"),jQuery(".filter-dropdown").each(function(e,t){var n=t.value.replace("a-","");""!==n&&("formats"!==(t=t.getAttribute("data-pointer").toLowerCase())&&"languages"!==t&&"venues"!==t&&"common_needs"!==t?jQuery(".bmlt-data-row").not("[data-"+t+"='"+n+"']"):jQuery(".bmlt-data-row").not("[data-"+t+"~='"+n+"']")).addClass("hide")}),this.addStripes();var e=this.calcShowingNow();h.updateMeetingCount(e),h.updateFilters(),croutonMap&&croutonMap.fillMap(e),h.showView(h.currentView,e.length)},h.resetFilter=function(){croutonMap.filterVisible(!1),(h.config.map_page&&h.filtering||h.config.show_map)&&croutonMap.fillMap(),h.filtering=!1,h.updateFilters(),h.updateMeetingCount(),jQuery(".filter-dropdown").val(null).trigger("change"),jQuery(".group-header").removeClass("hide"),jQuery(".meeting-group").removeClass("hide"),jQuery(".bmlt-data-row").removeClass("hide"),jQuery(".evenRow").removeClass("evenRow"),jQuery(".oddRow").removeClass("oddRow")},h.updateFilters=function(){if(h.dropdownData){const a=function(e){return e.id.replace("meeting-data-row-","")};h.dropdownData.forEach(function(i,e){let r=[];jQuery(".filter-dropdown").each(function(e,t){var n;t.id===i.elementId||""!==(n=t.value.replace("a-",""))&&(filteringDropdown=!0,"formats"!==(t=t.getAttribute("data-pointer").toLowerCase())&&"languages"!==t&&"venues"!==t&&"common_needs"!==t?jQuery(".bmlt-data-row").not("[data-"+t+"='"+n+"']").each((e,t)=>r.push(a(t))):jQuery(".bmlt-data-row").not("[data-"+t+"~='"+n+"']").each((e,t)=>r.push(a(t))))}),r=[...new Set(r)];var t=h.meetingData.filter(e=>!r.includes(e.id_bigint));i.optionsShowing=i.uniqueData(t).map(e=>i.optionName(e))})}},h.renderStandaloneMap=function(e,t,n=null,i=!0){hbs_Crouton.localization=h.localization,(window.crouton=h).setUpPartials(),croutonMap.initialize(h.createBmltMapElement(),h.meetingData,t,null,i,n,h.config.noMap)},h.retrieveGeolocation=function(){return new Promise((t,n)=>{window.storedGeolocation?t(window.storedGeolocation):navigator.geolocation?navigator.geolocation.getCurrentPosition(e=>{window.storedGeolocation={latitude:e.coords.latitude,longitude:e.coords.longitude},t(window.storedGeolocation)},e=>{n(new Error("Error getting geolocation: "+e.message))}):n(new Error("Geolocation is not supported by this browser."))})},h.getCurrentLocation=function(t){h.gretrieveGeolocation().then(e=>{t(e)}).catch(e=>{jQuery(".geo").removeClass("hide").addClass("show").html(`<p>${e.message}</p>`)})},h.renderView=function(e,t,n,i){hbs_Crouton.localization=h.localization;var r=hbs_Crouton.templates.main;jQuery(e).html(r(t)),n()},h.updateMeetingCount=function(t=null){var i=this;let e=i.meetingData.length;i.meetingCountCallback&&i.meetingCountCallback(e),i.groupCountCallback&&i.groupCountCallback((i.config.groups?i.config.meetingData:i.convertToGroups(i.config.meetingData)).length),addLive=function(e){return e+", "+e+"-live"},null!==t&&(e=t.length,addLive=function(e){return e+"-live"}),i.showingNowCount=e,jQuery(".crouton_root_service_body").each(function(){var e,t="",n="name";this.dataset.field&&(n=this.dataset.field),0<i.config.service_body.length&&((e=i.getServiceBodyDetails(i.config.service_body[0]))&&(t=e[n]||"")),jQuery(this).text(t)}),jQuery(addLive("#bmlt_tabs_meeting_count")).text(e),jQuery(addLive("#bmlt_tabs_group_count")).each(function(){var e=i.meetingData;null!==t&&(e=i.meetingData.filter(e=>t.includes(e.id_bigint)));e=i.config.groups?e:i.convertToGroups([...e]);jQuery(this).text(arrayUnique(e).length)}),jQuery(addLive("#bmlt_tabs_service_body_names")).each(function(){var e=i.meetingData,e=getUniqueValuesOfKey(e=null!==t?i.meetingData.filter(e=>t.includes(e.id_bigint)):e,"service_body_bigint"),a=this;i.getServiceBodies(e,!1).then(function(e){var t=e.length,n=e.map(e=>e.name);n.sort();var i="";if(1===t)i=n[0];else{for(var i=n[0],r=1;r<t-1;r++)i+=", ",i+=n[r];i+=" and "+n[t-1]}jQuery(a).text(i)})})},h.getServiceBodies=function(e,t=!0){return fetchJsonp(this.config.root_server+"/client_interface/jsonp/?switcher=GetServiceBodies"+(t?"&parents=1":"")+getServiceBodiesQueryString(e)).then(function(e){return e.json()})},h.getMasterFormats=function(){return fetchJsonp(this.config.root_server+"/client_interface/jsonp/?switcher=GetFormats&lang_enum=en&key_strings[]=TC&key_strings[]=VM&key_strings[]=HY").then(function(e){return e.json()})},h.errorHandler=function(e){jQuery(".geo").removeClass("hide").addClass("show").html("")},h.handlebars=function(t,e){var n=!1;handlebarMapOptions=[],crouton_Handlebars.registerHelper("crouton_map",function(e){return n=!0,h.handlebarMapOptions=e.hash,h.handlebarMapOptions.zoom||(h.handlebarMapOptions.zoom=14),h.handlebarMapOptions.lat=parseFloat(t.latitude),h.handlebarMapOptions.lng=parseFloat(t.longitude),"<div id='bmlt-handlebars-map' class='bmlt-map'></div>"});for(var i=new DOMParser;0<e.length;){var r=e.item(0);if(r.firstChild){var a="";if(1===r.firstChild.nodeType){if(!r.firstChild.firstChild||3!==r.firstChild.firstChild.nodeType){console.log("<bmlt-handlebar> tag: cannot find textnode"),r.remove();continue}a=r.firstChild.firstChild.textContent}else 3===r.firstChild.nodeType&&(a=r.firstChild.textContent);try{var o=crouton_Handlebars.compile(a)(t)}catch(e){console.log(e),o=e.message}a=i.parseFromString("<body>"+o+"</body>","text/html");if(a.body&&a.body.firstChild){for(var s,a=a.body.firstChild,l=[],c=a;s=c.nextSibling;)l.push(c=s);r.replaceWith(a),l&&a.after(...l)}else console.log("<bmlt-handlebar> tag: could not parse the Handlebars result"),r.replaceWith("<bmlt-handlebar> tag: could not parse the Handlebars result")}else console.log("<bmlt-handlebar> tag must have at least one child"),r.remove()}n&&croutonMap.loadPopupMap("bmlt-handlebars-map",t,h.handlebarMapOptions)},h.meetingCountCallback=null,h.grouoCountCallback=null,Crouton.prototype.meetingCount=function(e){h.meetingCountCallback=e},Crouton.prototype.groupCount=function(e){h.groupCountCallback=e},Crouton.prototype.filterNext24=function(e=!0){if(!e)return jQuery("#filter-dropdown-next24").val("a-"),void h.filterMeetingsFromView();const t=new Date,i=t.getDay(),r=t.getHours(),a=t.getMinutes(),n=h.meetingData.filter(function(e){var t=e.weekday_tinyint-1;if(t==i){var n=e.start_time.toString().split(":"),e=parseInt(n[0]);if(e>r)return!0;if(e==r&&parseInt(n[1])>a)return!0}else if(t==(i+1)%7)return!0;return!1}).map(e=>e.id_bigint);jQuery(".bmlt-data-row").each(function(e,t){t.dataset.next24=n.includes(t.id.split("-").pop())?"1":"0"}),jQuery("#filter-dropdown-next24").val("a-1"),h.filterMeetingsFromView()},h.toFarsinNumber=function(e){const t=["۰","۱","۲","۳","۴","۵","۶","۷","۸","۹"],n={AM:"صبح",PM:"بعدازظهر"};return e=(e=(e=e.replace(/\d/g,e=>t[e])).replace(/AM|am/g,n.AM)).replace(/PM|pm/g,e=>n.PM)},h.enrichMeetings=function(t){var e=[];let n="?";h.config.meeting_details_href&&0<=h.config.meeting_details_href.indexOf("?")&&(n="&");for(var i=0;i<t.length;i++){t[i].formatted_comments=t[i].comments;var r=t[i].duration_time.split(":");t[i].start_time_raw=this.getAdjustedDateTime(1===parseInt(t[i].weekday_tinyint)?7:parseInt(t[i].weekday_tinyint)-1,t[i].start_time,t[i].time_zone),t[i].start_time_formatted=t[i].start_time_raw.format(h.config.time_format),t[i].end_time_formatted=t[i].start_time_raw.clone().add(r[0],"hours").add(r[1],"minutes").format(h.config.time_format),"fa-IR"===h.config.language&&(t[i].start_time_formatted=h.toFarsinNumber(t[i].start_time_formatted),t[i].end_time_formatted=h.toFarsinNumber(t[i].end_time_formatted)),t[i].day_of_the_week=7===t[i].start_time_raw.isoWeekday()?1:t[i].start_time_raw.isoWeekday()+1,t[i].formatted_day=h.localization.getDayOfTheWeekWord(t[i].day_of_the_week);var a=t[i].formats.split(","),o=[],s=h.formatsData.filter(e=>e.root_server_uri==t[i].root_server_uri);t[i].wheelchair=!1;for(var l=0;l<a.length;l++)for(var c=0;c<s.length;c++)a[l]===s[c].key_string&&("WCHR"==s[c].world_id&&(t[i].wheelchair=!0),o.push({id:s[c].id,key:a[l],name:s[c].name_string,description:s[c].description_string,type:s[c].format_type_enum}));t[i].venue_type=parseInt(t[i].venue_type),t[i].venue_type_name=getVenueTypeName(t[i]),t[i].formats_expanded=o;var u,d,p=[t[i].location_street,t[i].location_municipality.trim(),t[i].location_province.trim(),t[i].location_postal_code_1.trim()];for(u in p.clean(),t[i].formatted_address=p.join(", "),t[i].formatted_location_info=null!=t[i].location_info?t[i].location_info.replace("/(http|https)://([A-Za-z0-9._-/?=&;%,]+)/i",'<a style="text-decoration: underline;" href="$1://$2" target="_blank">$1://$2</a>'):"",t[i].map_word=h.localization.getWord("map"),t[i].share_word=h.localization.getWord("share"),t[i].report_update_word=h.localization.getWord("report update"),t[i].show_qrcode=h.config.show_qrcode,t[i])t[i].hasOwnProperty(u)&&"string"==typeof t[i][u]&&-1!==t[i][u].indexOf("#@-@#")&&(d=t[i][u].split("#@-@#"),t[i][u]=d[d.length-1]);r=h.getServiceBodyDetails(t[i].service_body_bigint);t[i].serviceBodyUrl=r.url,t[i].serviceBodyPhone=r.helpline,t[i].serviceBodyName=r.name,t[i].serviceBodyDescription=r.description,t[i].serviceBodyContactEmail=r.contact_email,t[i].serviceBodyType=h.localization.getServiceBodyType(r.type);p=h.getServiceBodyDetails(r.parent_id);void 0!==p&&(t[i].parentServiceBodyId=r.parent_id,t[i].parentServiceBodyUrl=p.url,t[i].parentServiceBodyPhone=p.helpline,t[i].parentServiceBodyName=p.name,t[i].parentServiceBodyDescription=p.description,t[i].parentServiceBodyType=h.localization.getServiceBodyType(p.type)),t[i].meeting_details_url="",h.config.meeting_details_href&&(t[i].meeting_details_url=h.config.meeting_details_href,2===t[i].venue_type&&h.config.virtual_meeting_details_href&&(t[i].meeting_details_url=h.config.virtual_meeting_details_href),t[i].meeting_details_url+=n+("meeting-id="+t[i].id_bigint+"&language="+h.config.language+"&time_format="+encodeURIComponent(h.config.time_format)+(h.config.force_rootserver_in_querystring?"&root_server="+encodeURIComponent(h.config.root_server):""))),this.calculateDistance(t[i]),e.push(t[i])}return h.config.groups?h.convertToGroups(e):e},h.convertToGroups=function(e){if(!e||!e.length)return[];if(e[0].hasOwnProperty("membersOfGroup"))return e;e[0].hasOwnProperty("group_id")||e.forEach(e=>e.group_id=e.service_body_bigint+"|"+e.meeting_name+(2!=e.venue_type?"|"+parseFloat(e.latitude).toFixed(6)+"|"+parseFloat(e.longitude).toFixed(6):e.virtual_meeting_link+"|"+e.virtual_meeting_additional_info));const t=e.sort((e,t)=>e.group_id<t.group_id?-1:e.group_id>t.group_id?1:0),n=[];let i=null;return t.forEach(function(e){e.group_id?i&&e.group_id==i.group_id?i.membersOfGroup.push(e):(n.push(e),i=e,i.membersOfGroup=[Object.assign({},i)]):(n.push(e),e.membersOfGroup=[e])}),n.forEach(function(e){if(1<e.membersOfGroup.length){let n=e.formats.split(",");e.membersOfGroup.forEach(function(e){const t=e.formats.split(",");n=n.filter(e=>t.includes(e))}),e.formats=n.join(","),e.formats_expanded&&(e.formats_expanded=e.formats_expanded.filter(e=>n.includes(e.key))),e.membersOfGroup.forEach(function(e){e.formats=e.formats.split(",").filter(e=>!n.includes(e)).join(","),e.formats_expanded&&(e.formats_expanded=e.formats_expanded.filter(e=>!n.includes(e.key)))})}}),n},Crouton.prototype.updateDistances=function(){const r=this;var e,a=0;jQuery(".meeting-distance").each(function(e){const t=jQuery(this),n=jQuery(this).data("id");var i;n&&(a++,i=r.meetingData.find(e=>e.id_bigint==n),r.calculateDistance(i),""==i.distance?t.hasClass("hide")||t.addClass("hide"):(t.removeClass("hide"),jQuery(this).html(r.localization.getWord("Distance")+": "+i.distance),jQuery(this).closest("tr").data("distance",i.distance_in_km)))});const t=jQuery("#byfield_distance_in_km tbody");0!=t.length&&(0===a&&t.children().each(function(e){if(this.id){const n=this.id.replace("meeting-data-row-","");var t=r.meetingData.find(e=>e.id_bigint==n);t&&(r.calculateDistance(t),""!=t.distance&&(jQuery(this).data("distance",t.distance_in_km),a++))}}),e=t.children().sort(function(e,t){e=parseFloat(jQuery(e).data("distance")),t=parseFloat(jQuery(t).data("distance"));return e<t?-1:t<e?1:0}),t.html(e),jQuery("#byfield_distance_in_km tbody .bmlt-data-row").css({cursor:"pointer"}),jQuery("#byfield_distance_in_km tbody .bmlt-data-row").click(function(e){"A"!==e.target.tagName&&croutonMap.rowClick(parseInt(this.id.replace("meeting-data-row-","")))}),0<a&&(jQuery("#groupingButton_distance_in_km").removeClass("hide"),r.distanceTabAllowed=!0))},h.registerPartial=function(e,t){crouton_Handlebars.registerPartial(e,crouton_Handlebars.compile(t))},h.setUpPartials=function(){crouton_Handlebars.registerPartial("tableDataRow",h.config.groups?h.config.details_table?"<td>{{> groupStackedRow}}</td>":hbs_Crouton.templates.group3ColumnRow:h.config.details_table?"<td>{{> meetingStackedRow}}</td>":hbs_Crouton.templates.meeting3ColumnRow),h.registerPartial("meetingDataTemplate",h.config.meeting_data_template),h.registerPartial("meetingDataTemplate",h.config.meeting_data_template),h.registerPartial("metaDataTemplate",h.config.metadata_template),h.registerPartial("observerTemplate",h.config.observer_template),h.registerPartial("meetingpageTitleTemplate",h.config.meetingpage_title_template),h.registerPartial("meetingDetailsContentsTemplate",h.config.meetingdetails_contents_template),h.registerPartial("meetingCountTemplate",h.config.meeting_count_template),h.registerPartial("meetingTimesTemplate",h.config.meeting_times_template),h.registerPartial("groupData",h.config.group_data_template),h.registerPartial("groupDetailsContents",h.config.group_details_template),h.registerPartial("memberDetails",h.config.member_details_template),h.registerPartial("groupTitle",h.config.group_title_template);const e=new CroutonHandlebarsExtensions;e.registerHelpers(),e.registerPartials(h.config.groups)},h.calculateDistance=function(e){var t,n;e.distance="",2!=e.venue_type&&(t={lat:e.latitude,lng:e.longitude},(t=croutonMap.getDistanceFromSearch(t))&&(e.distance_in_km=t.km,e.distance_in_miles=t.miles,"km"===h.config.distance_units?e.distance_in_km&&(n=e.distance_in_km,e.distance=n<1?Math.round(1e3*n)+"m":(Math.round(10*n)/10).toFixed(1)+"km"):e.distance_in_miles&&(n=e.distance_in_miles,e.distance=(Math.round(100*n)/100).toFixed(2)+" miles")))},h.showMessage=function(e){jQuery("#"+h.config.placeholder_id).html("crouton: "+e),jQuery("#"+h.config.placeholder_id).removeClass("hide")},h.getUsedVenueType=function(e){let t=getUniqueValuesOfKey(e,"venue_type");return t.includes(3)||2===t.length?Object.values(h.localization.getWord("venue_type_choices")):1===t[0]?[h.localization.getWord("venue_type_choices").IN_PERSON]:[h.localization.getWord("venue_type_choices").VIRTUAL]},h.getUsedVisibility=function(e){return[{name:"Visible",value:1}]},h.getUsedNext24=function(e){return[{name:"Next24",value:1}]},h.isEmpty=function(e){for(var t in e)if(e.hasOwnProperty(t))return!1;return!0},h.createBmltMapElement=function(){return document.getElementById("bmlt-map")||jQuery("#bmlt-tabs").before("<div id='bmlt-map' class='bootstrap-bmlt bmlt-map "+h.localization.getWord("css-direction")+" bmlt_map_container_div'></div>"),"bmlt-map"},void 0===window.croutonMap?(window.croutonMap=new MeetingMap(h.config),h.config.map_search?h.searchMap():h.meetingSearch()):window.croutonMap.hasMapSearch()||h.meetingSearch()}function getMasterFormatId(e,t){for(var n=0;n<crouton.masterFormatCodes.length;n++){var i=crouton.masterFormatCodes[n];if(i.key_string===e&&i.root_server_uri===t.root_server_uri)return i.id}}crouton_Handlebars.registerHelper("startup",()=>""),crouton_Handlebars.registerHelper("enrich",()=>""),crouton_Handlebars.registerHelper("log",e=>console.log(e)),crouton_Handlebars.registerHelper("selectFormatPopup",()=>"formatPopup"),crouton_Handlebars.registerHelper("selectObserver",()=>"observerTemplate"),Crouton.prototype.setConfig=function(e){var t,n=this,i={button_filters:"grouping_buttons",button_format_filters:"formattype_grouping_buttons"};for(t in i)e.hasOwnProperty(t)&&(e[i[t]]=e[t],delete e[i[t]]);for(t in e)0<t.indexOf("_template")&&""===e[t].trim()||(-1===t.indexOf("int_")?"1"===e[t]||1===e[t]?n.config[t]=!0:"0"===e[t]||0===e[t]?n.config[t]=!1:n.config[t]=e[t]:n.config[t]=parseInt(e[t]||0));"embed"===n.config.show_map&&(n.config.show_map=!1,n.config.map_page=!0),n.config.day_sequence=[],n.config.day_sequence.push(n.config.int_start_day_id);for(var r=1;r<7;r++){var a=n.config.day_sequence[r-1]+1;7<a?n.config.day_sequence.push(a-7):n.config.day_sequence.push(a)}if(n.config.groups&&(n.config.view_by="city",n.config.include_weekday_button=!1,n.config.has_tabs=!1),n.config.view_by.endsWith("day")&&(n.config.include_weekday_button=!0),n.currentView=n.config.view_by,n.config.short_language="da-DK"===n.config.language?"dk":n.config.language.substring(0,2),n.localization=new CroutonLocalization(n.config.language),e.custom_translations&&""!==e.custom_translations.trim())try{n.localization.customizeTranslations(JSON.parse(e.custom_translations))}catch(e){console.log("Error parsing custom translations: "+e.message)}},Crouton.prototype.reset=function(){jQuery("#custom-css").remove(),jQuery("#"+this.config.placeholder_id).html("")},Crouton.prototype.doFilters=function(){return this.filterMeetingsFromView()},Crouton.prototype.getServiceBodyDetails=function(e){for(var t=0;t<this.all_service_bodies.length;t++){var n=this.all_service_bodies[t];if(n.id===e)return n}},Crouton.prototype.doHandlebars=function(){var i,r=document.getElementsByTagName("bmlt-handlebar");0!==r.length?(i=this).lock(function(){if(i.isEmpty(i.meetingData))for(let e=0;e<r.length;e++)r.item(e).innerHTML="Meeting not found!";else{var e=[i.getServiceBodies([i.meetingData[0].service_body_bigint])];Promise.all(e).then(function(e){hbs_Crouton.localization=i.localization,i.all_service_bodies=[];for(var t=e[0],n=0;n<t.length;n++)i.all_service_bodies.push(t[n]);e=i.enrichMeetings(i.meetingData);i.setUpPartials(),crouton_Handlebars.compile("{{startup}}")(e),crouton_Handlebars.compile("{{enrich this}}")(e[0]),i.handlebars(e[0],r),jQuery(".get-directions-modal").on("click",openDirectionsModal)})}}):console.log("No <bmlt-handlebar> tags found")},Crouton.prototype.meetingModal=function(t){this.openMeetingModal(this.meetingData.find(e=>e.id_bigint==t))},Crouton.prototype.openMeetingModal=function(e){let n=this;crouton_Handlebars.registerHelper("crouton_map",function(){return"<div id='bmlt-handlebars-map' class='bmlt-map'></div>"});let t=hbs_Crouton.templates.meetingModal;const i=document.getElementById("bmlt-tabs");let r=document.createElement("div");i.appendChild(r),r.innerHTML=t(e),[...i.getElementsByClassName("modal-close")].forEach(e=>e.addEventListener("click",e=>{croutonMap.closeModalWindow(e.target),document.getElementById("meeting_modal").remove()}));let a=document.getElementById("meeting_modal");document.body.appendChild(a),jQuery("#meeting_modal .get-directions-modal").on("click",openDirectionsModal),croutonMap.openModalWindow(a,!0),croutonMap.loadPopupMap("bmlt-handlebars-map",e,{lat:parseFloat(e.latitude),lng:parseFloat(e.longitude),zoom:14});let o=jQuery(".bmlt-data-row:visible"),s=-1;const l="meeting-data-row-";for(k=0;k<o.length;k++)if(o[k].id===l+e.id_bigint){s=k;break}function c(e){switch(e){case"left":s+=1;break;case"right":s-=1;break;default:s=-1}if(0<=s&&s<o.length){const t=o[s];meetingId=t.id.substring(l.length),a.getElementsByClassName("modal-close").item(0).dispatchEvent(new MouseEvent("click")),n.meetingModal(meetingId)}}swipedetect(a,c),s<=0?jQuery(".modal-left").addClass("hide"):a.getElementsByClassName("modal-left").item(0).addEventListener("click",e=>c("right")),s>=o.length-1?jQuery(".modal-right").addClass("hide"):a.getElementsByClassName("modal-right").item(0).addEventListener("click",e=>c("left"))},Crouton.prototype.searchMap=function(){var e=this;e.distanceTabAllowed=!0,e.config.map_search&&"object"==typeof e.config.map_search?(e.config.map_search.width||(e.config.map_search.width=-50),e.config.map_search.location||e.config.map_search.coordinates_search||(e.config.map_search.auto=!0),e.config.map_search.zoom||(e.config.map_search.zoom=14)):e.config.map_search={width:-50,auto:!0,zoom:14},e.config.map_page=!1,e.config.show_map=!1;var t=jQuery("body");""!==e.config.theme&&t.append("<div id='custom-css'><link rel='stylesheet' type='text/css' href='"+e.config.template_path+"/themes/"+e.config.theme+".css'>"),t.append("<div id='custom-css'><style type='text/css'>"+e.config.custom_css+"</style></div>"),e.meetingData=null,e.renderStandaloneMap("#"+e.config.placeholder_id,{config:e.config,meetings:{weekdays:[],groupingButtons:[],formattypeGroupingButtons:[],bydays:[],meetingCount:0,meetingData:[]},dropdownData:[],location:{latitude:0,longitude:0,zoom:10}})},Crouton.prototype.render=function(k=!1,S=!0){var M=this;M.lock(function(){var e=jQuery("body");if(""!==M.config.theme&&e.append("<div id='custom-css'><link rel='stylesheet' type='text/css' href='"+M.config.template_path+"/themes/"+M.config.theme+".css'>"),e.append("<div id='custom-css'><style type='text/css'>"+M.config.custom_css+"</style></div>"),M.isEmpty(M.meetingData))return M.showMessage("No meetings found for parameters specified."),void(M.config.refresh_map&&croutonMap.refreshMeetings(M.meetingData,S,!0));M.unique_service_bodies_ids=getUniqueValuesOfKey(M.meetingData,"service_body_bigint").sort();e=[M.getMasterFormats(),M.getServiceBodies(M.unique_service_bodies_ids)];Promise.all(e).then(function(e){M.all_service_bodies=[],M.masterFormatCodes=e[0];for(var t=e[1],n=0;n<t.length;n++)M.all_service_bodies.push(t[n]);jQuery.isEmptyObject(M.formatsData)||(M.formatsData=M.formatsData.sortByKey("name_string"));var i=M.enrichMeetings(M.meetingData);M.config.groups&&(M.meetingData=i),M.setUpPartials(),i.sort(function(e,t){return e.start_time_raw<t.start_time_raw?-1:e.start_time_raw>t.start_time_raw?1:0});for(var r=0,a=[],o={},s={},l=[];r<7;){var c=M.config.day_sequence[r],u=i.filterByObjectKeyValue("day_of_the_week",c);l.push({day:c,meetings:u}),a.push({day:M.localization.getDayOfTheWeekWord(c),meetings:u});for(var d=0;d<M.config.grouping_buttons.length;d++){var p=M.config.grouping_buttons[d].field;if(!p.startsWith("distance"))for(var h=getUniqueValuesOfKey(u,p).sort(),n=0;n<h.length;n++){var m=u.filterByObjectKeyValue(p,h[n]);o.hasOwnProperty(p)&&o[p].hasOwnProperty(h[n])?o[p][h[n]]=o[p][h[n]].concat(m):(o.hasOwnProperty(p)||(o[p]={}),o[p][h[n]]=m)}}for(d=0;d<M.config.formattype_grouping_buttons.length;d++){const p=M.config.formattype_grouping_buttons[d].field;var f=M.config.formattype_grouping_buttons[d].hasOwnProperty("accordionState")?M.config.grouping_buttons[y].accordionState:"",h=getUniqueFormatsOfType(u,p);"LANG"==p&&M.config.native_lang&&0<M.config.native_lang.length&&(h=h.filter(e=>e.key!=M.config.native_lang));for(n=0;n<h.length;n++){m=u.filter(e=>0<=e.formats_expanded.map(e=>e.key).indexOf(h[n].key));s.hasOwnProperty(p)&&s[p].hasOwnProperty(h[n].description)?s[p][h[n].description].group=s[p][h[n].description].group.concat(m):(s.hasOwnProperty(p)||(s[p]={}),s[p][h[n].description]={},s[p][h[n].description].accordionState=f,s[p][h[n].description].group=m)}}r++}for(var g={},y=0;y<M.config.grouping_buttons.length;y++){const p=M.config.grouping_buttons[y].field;var v=M.config.grouping_buttons[y].hasOwnProperty("accordionState")?M.config.grouping_buttons[y].accordionState:"";if(g[p]={},p.startsWith("distance"))g[p][M.localization.getWord("Sorted by Distance")]={},M.config.map_search?g[p][M.localization.getWord("Sorted by Distance")].group=[...M.meetingData].sort((e,t)=>e.distance_in_km-t.distance_in_km):g[p][M.localization.getWord("Sorted by Distance")].group=[...M.meetingData].filter(e=>2!=e.venue_type),g[p][M.localization.getWord("Sorted by Distance")].accordionState="non-collapsable";else{var _,b=[];for(_ in o[p])b.push(_);b.sort();for(var A=0;A<b.length;A++)g[p][b[A]]={},g[p][b[A]].group=o[p][b[A]],g[p][b[A]].accordionState=v}}M.dayNamesSequenced=M.config.day_sequence.map(e=>M.localization.getDayOfTheWeekWord(e)),M.dropdownData=[],M.config.has_days&&M.dropdownData.push({placeholder:M.localization.getWord("weekday"),pointer:"weekdays",elementId:"filter-dropdown-weekdays",uniqueData:e=>sortListByList(getUniqueValuesOfKey(e,"formatted_day"),M.dayNamesSequenced),objectPointer:convertToPunyCode,optionName:e=>e}),M.config.has_states&&M.dropdownData.push({placeholder:M.localization.getWord("states"),pointer:"States",elementId:"filter-dropdown-states",uniqueData:e=>getUniqueValuesOfKey(e,"location_province").sort(),objectPointer:convertToPunyCode,optionName:e=>e}),M.config.has_sub_province&&M.dropdownData.push({placeholder:M.localization.getWord("counties"),pointer:"Counties",elementId:"filter-dropdown-sub_province",uniqueData:e=>getUniqueValuesOfKey(e,"location_sub_province").sort(),objectPointer:convertToPunyCode,optionName:e=>e}),M.config.has_cities&&M.dropdownData.push({placeholder:M.localization.getWord("cities"),pointer:"Cities",elementId:"filter-dropdown-cities",uniqueData:e=>getUniqueValuesOfKey(e,"location_municipality").sort(),objectPointer:convertToPunyCode,optionName:e=>e}),M.config.has_neighborhoods&&M.dropdownData.push({placeholder:M.localization.getWord("neighborhood"),pointer:"Neighborhoods",elementId:"filter-dropdown-neighborhoods",uniqueData:e=>getUniqueValuesOfKey(e,"location_neighborhood").sort(),objectPointer:convertToPunyCode,optionName:e=>e}),M.config.has_zip_codes&&M.dropdownData.push({placeholder:M.localization.getWord("postal_codes"),pointer:"Zips",elementId:"filter-dropdown-zipcodes",uniqueData:e=>getUniqueValuesOfKey(e,"location_postal_code_1").sort(),objectPointer:convertToPunyCode,optionName:e=>e}),M.config.has_locations&&M.dropdownData.push({placeholder:M.localization.getWord("locations"),pointer:"Locations",elementId:"filter-dropdown-locations",uniqueData:e=>getUniqueValuesOfKey(e,"location_text").map(e=>e.replace(/(<([^>]+)>)/gi,"")).sort(),objectPointer:convertToPunyCode,optionName:e=>e}),M.config.has_regions&&M.dropdownData.push({placeholder:M.localization.getWord("regions"),pointer:"Regions",elementId:"filter-dropdown-regions",uniqueData:t=>M.all_service_bodies.filter(e=>getUniqueValuesOfKey(t,"parentServiceBodyId").includes(e.id)).sortByKey("name"),objectPointer:e=>convertToPunyCode(e.name),optionName:e=>e.name}),M.config.has_areas&&M.dropdownData.push({placeholder:M.localization.getWord("areas"),pointer:"Areas",elementId:"filter-dropdown-areas",uniqueData:t=>M.all_service_bodies.filter(e=>getUniqueValuesOfKey(t,"service_body_bigint").includes(e.id)).sortByKey("name"),objectPointer:e=>e.id,optionName:e=>e.name}),M.config.has_groups&&M.dropdownData.push({placeholder:M.localization.getWord("groups"),pointer:"Groups",elementId:"filter-dropdown-groups",uniqueData:e=>getUniqueValuesOfKey(e,"meeting_name").sort(),objectPointer:convertToPunyCode,optionName:e=>e}),M.config.has_venues&&M.dropdownData.push({placeholder:M.localization.getWord("venue_types"),pointer:"Venues",elementId:"filter-dropdown-venues",uniqueData:e=>M.getUsedVenueType(e),objectPointer:convertToPunyCode,optionName:e=>e}),M.config.has_formats&&M.dropdownData.push({placeholder:M.localization.getWord("formats"),pointer:"Formats",elementId:"filter-dropdown-formats",uniqueData:e=>getUniqueFormats(e),objectPointer:e=>convertToPunyCode(e.name),optionName:e=>e.name}),M.config.has_languages&&M.dropdownData.push({placeholder:M.localization.getWord("languages"),pointer:"Formats",elementId:"filter-dropdown-languages",uniqueData:e=>getUniqueFormatsOfType(e,"LANG").filter(e=>e.key!==M.config.native_lang),objectPointer:e=>convertToPunyCode(e.name),optionName:e=>e.name}),M.config.has_common_needs&&M.dropdownData.push({placeholder:M.localization.getWord("common_needs"),pointer:"Formats",elementId:"filter-dropdown-commonneeds",uniqueData:e=>getUniqueFormatsOfType(e,"FC3"),objectPointer:e=>convertToPunyCode(e.name),optionName:e=>e.name}),(k||M.config.show_map||M.config.map_page)&&M.dropdownData.push({placeholder:"",pointer:"visible",elementId:"filter-dropdown-visibile",uniqueData:e=>M.getUsedVisibility(e),objectPointer:e=>e.value,optionName:e=>e.name}),k&&M.dropdownData.push({placeholder:"",pointer:"next24",elementId:"filter-dropdown-next24",uniqueData:e=>M.getUsedNext24(e),objectPointer:e=>e.value,optionName:e=>e.name});let w=k?M.renderStandaloneMap:M.renderView;w("#"+M.config.placeholder_id,{config:M.config,meetings:{allMeetings:M.meetingData,weekdays:l,groupingButtons:g,formattypeGroupingButtons:s,bydays:a,meetingCount:M.meetingData.length,meetingData:M.meetingData},dropdownData:M.dropdownData},function(){var e;M.config.map_search||jQuery("#groupingButton_distance_in_km").addClass("hide"),M.addStripes(),M.calcShowingNow(),M.updateMeetingCount(),jQuery("#please-wait").remove(),null==M.config.map_search&&!M.config.show_map||(jQuery(".bmlt-data-row").css({cursor:"pointer"}),jQuery(".bmlt-data-row").click(function(e){"A"!==e.target.tagName&&croutonMap.rowClick(parseInt(this.id.replace("meeting-data-row-","")))})),jQuery("#"+M.config.placeholder_id).addClass("bootstrap-bmlt"),jQuery("#filter-dropdown-visibile").removeClass("crouton-select").addClass("hide"),jQuery("#filter-dropdown-next24").removeClass("crouton-select").addClass("hide"),jQuery(".crouton-select").select2({dropdownAutoWidth:!0,allowClear:!1,width:"resolve",minimumResultsForSearch:1,dropdownCssClass:"bmlt-drop",matcher:function(e,t){return"a-"===t.id?t:(elementId=t.element.parentElement.id,e.hasOwnProperty("term")&&t.text.toUpperCase().indexOf(e.term.toUpperCase())<0?null:(dropdown=M.dropdownData.find(e=>e.elementId===elementId),"undefined"==typeof dropdown||void 0===dropdown.optionsShowing||dropdown.optionsShowing.includes(t.text)?t:null))}}),jQuery('[data-toggle="popover"]').popover().click(function(e){e.preventDefault(),e.stopPropagation()}),jQuery("html").on("click",function(e){"popover"!==jQuery(e.target).data("toggle")&&jQuery('[data-toggle="popover"]').popover("hide")}),jQuery(".filter-dropdown").on("select2:select",function(e){M.filterMeetingsFromView()}),jQuery("#day").on("click",function(){M.showView("day")}),jQuery(".groupingButtonLogic").on("click",function(e){M.showView(e.target.attributes["data-field"].value.toLowerCase())}),jQuery("#groupingButton_embeddedMapPage").on("click",function(e){M.showView("map")}),jQuery(".meeting-group:not(.non-collapsable) .group-header").on("click",function(e){jQuery(e.target.parentElement).toggleClass("closed")}),jQuery(".get-directions-modal").on("click",openDirectionsModal),jQuery(".directions-map-modal-close").on("click",function(e){closeDirectionsMapModal()}),M.config.has_tabs&&(jQuery(".nav-tabs a").on("click",function(e){e.preventDefault(),jQuery(this).tab("show")}),e=(new Date).getDay(),e++,jQuery('.nav-tabs a[href="#tab'+e+'"]').tab("show"),jQuery("#tab"+e).show()),jQuery(".bmlt-header").removeClass("hide").addClass("show"),jQuery(".bmlt-tabs").removeClass("hide").addClass("show"),""!==M.config.default_filter_dropdown&&(e=M.config.default_filter_dropdown.toLowerCase().split("="),jQuery("#filter-dropdown-"+e[0]).val("a-"+e[1]).trigger("change").trigger("select2:select")),!M.config.show_map||M.config.refresh_map||k||(croutonMap.initialize(M.createBmltMapElement(),M.meetingData),jQuery("#bmlt-map").removeClass("hide")),M.config.map_page&&!k&&(0==M.meetingData.filter(e=>2!=e.venue_type).length?jQuery("#groupingButton_embeddedMapPage").addClass("hide"):croutonMap.initialize("byfield_embeddedMapPage",M.meetingData)),M.config.refresh_map&&croutonMap.refreshMeetings(M.meetingData,S,!0),"map"!=M.config.view_by||M.config.map_page||(M.config.view_by="day"),M.showView(M.config.view_by,M.meetingData.length),null!=M.config.on_complete&&isFunction(M.config.on_complete)&&M.config.on_complete()},!k)})}),Crouton.prototype.forceShowMap=function(){this.config.map_page&&jQuery("#byfield_embeddedMapPage").hasClass("hide")&&this.mapView()}};var masterFormatVenueType={IN_PERSON:"IN_PERSON",VIRTUAL:"VIRTUAL"},venueType={IN_PERSON:1,VIRTUAL:2,HYBRID:3};function getVenueTypeName(e){return e.venue_type===venueType.HYBRID||inArray(getMasterFormatId("HY",e),getFormats(e))?[crouton.localization.getVenueType(masterFormatVenueType.VIRTUAL),crouton.localization.getVenueType(masterFormatVenueType.IN_PERSON)]:e.venue_type===venueType.VIRTUAL||inArray(getMasterFormatId("VM",e),getFormats(e))?[crouton.localization.getVenueType(masterFormatVenueType.VIRTUAL)]:[crouton.localization.getVenueType(masterFormatVenueType.IN_PERSON)]}function getFormats(e){return""!==e.formats?e.format_shared_id_list.split(","):[]}function convertToPunyCode(e){return void 0!==e?punycode.toASCII(e.toLowerCase()).replace(/\W|_/g,"-"):""}function getUniqueValuesOfKey(e,n){return e.reduce(function(e,t){return t[n]&&!~e.indexOf(t[n])&&e.push(t[n]),e},[])}function getValuesFromObject(e){var t=[];for(key in e)e.hasOwnProperty(key)&&t.push(e[key]);return t}function getUniqueFormats(e){return e.reduce(function(t,e){return e.formats_expanded?t.concat(e.formats_expanded.filter(e=>t.map(e=>e.key).indexOf(e.key)<0)):t},[]).sortByKey("name")}function getUniqueFormatsOfType(e,n){return e.reduce(function(t,e){if(!e.formats_expanded)return t;e=e.formats_expanded.filter(e=>e.type===n);return t=e?t.concat(e.filter(e=>t.map(e=>e.key).indexOf(e.key)<0)):t},[]).sortByKey("name")}function arrayUnique(e,t,n){for(t=e.length;n=--t;)for(;n--;)e[t]!==e[n]||e.splice(n,1);return e}function sortListByList(e,t){for(var n=[],i=0;i<t.length;i++)for(var r=0;r<e.length;r++)t[i]===e[r]&&n.push(e[r]);return n}function inArray(e,t){return-1!==t.indexOf(e)}function isFunction(e){return e&&"[object Function]"==={}.toString.call(e)}function getServiceBodiesQueryString(e){for(var t="",n=0;n<e.length;n++)t+="&services[]="+e[n];return t}function swipedetect(e,t){var n,i,r,a,e=e,o=t||function(e){};e.addEventListener("touchstart",function(e){e=e.changedTouches[0];n=e.pageX,i=e.pageY},!1),e.addEventListener("touchend",function(e){var t;e.cancelable&&(t=e.changedTouches[0],r=t.pageX-n,a=t.pageY-i,150<=Math.abs(r)&&Math.abs(a)<=100&&(o(r<0?"left":"right"),e.preventDefault()))},!1)}function isIOSDevice(){if(navigator.userAgentData&&navigator.userAgentData.platform&&"iOS"===navigator.userAgentData.platform)return!0;var e=navigator.userAgent||navigator.vendor||window.opera,t=/iPad|iPhone|iPod/.test(e)&&!window.MSStream,e="MacIntel"===navigator.platform&&1<navigator.maxTouchPoints&&!window.MSStream;return t||e}function isAndroidDevice(){return/Android/i.test(navigator.userAgent)}function isMobileDevice(){return isIOSDevice()||isAndroidDevice()||/Mobi|Android/i.test(navigator.userAgent)}function createDirectionsOptions(){const e=[];return isIOSDevice()&&e.push({name:crouton.localization.getWord("apple_maps"),description:crouton.localization.getWord("apple_maps_desc"),icon:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23007AFF'%3E%3Cpath d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z'/%3E%3C/svg%3E",url:"https://maps.apple.com/?daddr=${latitude},${longitude}"}),e.push({name:crouton.localization.getWord("google_maps"),description:crouton.localization.getWord("google_maps_desc_mobile"),icon:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%234285f4'%3E%3Cpath d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z'/%3E%3C/svg%3E",url:"https://www.google.com/maps/dir/?api=1&destination=${latitude},${longitude}"}),e.push({name:crouton.localization.getWord("waze"),description:crouton.localization.getWord("waze_desc"),icon:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2300D4FF'%3E%3Cpath d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z'/%3E%3C/svg%3E",url:"https://waze.com/ul?ll=${latitude},${longitude}&navigate=yes"}),e}function openDirectionsModal(e){const n=jQuery(this).data("latitude"),i=jQuery(this).data("longitude");var t=localStorage.getItem("croutonDirectionsURL");if(t&&null!=t)openDirections(t,n,i,!1);else{document.getElementById("directionsMapModal")||(r=crouton.localization.getWord("select_map_app"),e.target.insertAdjacentHTML("afterend",`<div id="directionsMapModal" class="directions-map-modal remove-after-use">
|
|
152
152
|
<div class="directions-map-modal-content">
|
|
153
153
|
<span class="directions-map-modal-close">×</span>
|
|
154
154
|
<h3>`+r+`</h3>
|
|
@@ -161,7 +161,7 @@ if(!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.
|
|
|
161
161
|
<div class="directions-map-option-desc">${e.description}</div>
|
|
162
162
|
</div>
|
|
163
163
|
`,o.appendChild(t)});var r=crouton.localization.getWord("Remember my choice");const l=document.createElement("div");l.className="directions-remember-choice-div",l.innerHTML=`<input type="checkbox" id="rememberDirectionsChoice" name="rememberDirectionsChoice" value="1">
|
|
164
|
-
<label for="rememberDirectionsChoice">`+r+"</label>",o.appendChild(l),jQuery("html").on("click",".directions-map-modal-close",closeDirectionsModal),a.style.display="block"}else window.open(`https://www.google.com/maps/dir/?api=1&destination=${n},`+i,"_blank")}}function closeDirectionsModal(){const e=document.getElementById("directionsMapModal");e.style.display="none",e.className.includes("remove-after-use")&&e.remove()}function openDirections(e,t,n,i=!0){const r=jQuery("#rememberDirectionsChoice");i&&r.length&&r.is(":checked")&&localStorage.setItem("croutonDirectionsURL",e),e=(e=e.replaceAll("${latitude}",t)).replaceAll("${longitude}",n),window.open(e,"_blank"),i&&closeDirectionsModal()}function MeetingMap(e){var l=new MapDelegate(e),r=null,s=null;const c=e;c.maxZoom||(c.maxZoom=17),c.minZoom||(c.minZoom=6),c.marker_contents_template||(c.marker_contents_template=croutonDefaultTemplates.marker_contents_template);var u,d=[],n=null,a=!1,i=null,o=[],t=!1,p=!1;function h(e,t){i=e,o=t}function m(){return new Promise((t,n)=>{window.storedGeolocation?t(window.storedGeolocation):navigator.geolocation?navigator.geolocation.getCurrentPosition(e=>{window.storedGeolocation={latitude:e.coords.latitude,longitude:e.coords.longitude},t(window.storedGeolocation)},e=>{n(new Error("Error getting geolocation: "+e.message))}):n(new Error("Geolocation is not supported by this browser."))})}function f(t,n,i=null,r=null,a=!1){if(t){crouton_Handlebars.registerPartial("markerContentsTemplate",crouton_Handlebars.compile(c.marker_contents_template)),function(e){{var t;e.myThrobber||(e.myThrobber=document.createElement("div"),e.myThrobber&&(e.myThrobber.id=e.id+"Throbber_div",e.myThrobber.className="bmlt_map_throbber_div",e.myThrobber.style.display="none",e.appendChild(e.myThrobber),(t=document.createElement("img"))?(t.src=c.BMLTPlugin_images+"/Throbber.gif",t.className="bmlt_mapThrobber_img",t.id=e.id+"Throbber_img",t.alt="AJAX Throbber",e.myThrobber.appendChild(t)):e.myThrobber=null))}}(s=t),c.map_search?(c.map_search.width||(c.map_search.width=-50),c.map_search.location||c.map_search.coordinates_search||(c.map_search.auto=!0),(c.map_search.latitude||c.map_search.longitude)&&(c.lat=c.map_search.latitude,c.lng=c.map_search.longitude),c.map_search.zoom&&(c.zoom=c.map_search.zoom)):
|
|
164
|
+
<label for="rememberDirectionsChoice">`+r+"</label>",o.appendChild(l),jQuery("html").on("click",".directions-map-modal-close",closeDirectionsModal),a.style.display="block"}else window.open(`https://www.google.com/maps/dir/?api=1&destination=${n},`+i,"_blank")}}function closeDirectionsModal(){const e=document.getElementById("directionsMapModal");e.style.display="none",e.className.includes("remove-after-use")&&e.remove()}function openDirections(e,t,n,i=!0){const r=jQuery("#rememberDirectionsChoice");i&&r.length&&r.is(":checked")&&localStorage.setItem("croutonDirectionsURL",e),e=(e=e.replaceAll("${latitude}",t)).replaceAll("${longitude}",n),window.open(e,"_blank"),i&&closeDirectionsModal()}function MeetingMap(e){var l=new MapDelegate(e),r=null,s=null;const c=e;c.maxZoom||(c.maxZoom=17),c.minZoom||(c.minZoom=6),c.marker_contents_template||(c.marker_contents_template=croutonDefaultTemplates.marker_contents_template);var u,d=[],n=null,a=!1,i=null,o=[],t=!1,p=!1;function h(e,t){i=e,o=t}function m(){return new Promise((t,n)=>{window.storedGeolocation?t(window.storedGeolocation):navigator.geolocation?navigator.geolocation.getCurrentPosition(e=>{window.storedGeolocation={latitude:e.coords.latitude,longitude:e.coords.longitude},t(window.storedGeolocation)},e=>{n(new Error("Error getting geolocation: "+e.message))}):n(new Error("Geolocation is not supported by this browser."))})}function f(){return c.filter_visible&&1==c.filter_visible}function g(t,n,i=null,r=null,a=!1){if(t){crouton_Handlebars.registerPartial("markerContentsTemplate",crouton_Handlebars.compile(c.marker_contents_template)),function(e){{var t;e.myThrobber||(e.myThrobber=document.createElement("div"),e.myThrobber&&(e.myThrobber.id=e.id+"Throbber_div",e.myThrobber.className="bmlt_map_throbber_div",e.myThrobber.style.display="none",e.appendChild(e.myThrobber),(t=document.createElement("img"))?(t.src=c.BMLTPlugin_images+"/Throbber.gif",t.className="bmlt_mapThrobber_img",t.id=e.id+"Throbber_img",t.alt="AJAX Throbber",e.myThrobber.appendChild(t)):e.myThrobber=null))}}(s=t),c.map_search?(c.map_search.width||(c.map_search.width=-50),c.map_search.location||c.map_search.coordinates_search||(c.map_search.auto=!0),(c.map_search.latitude||c.map_search.longitude)&&(c.lat=c.map_search.latitude,c.lng=c.map_search.longitude),c.map_search.zoom&&(c.zoom=c.map_search.zoom)):k();let e={latitude:c.lat,longitude:c.lng,zoom:c.zoom};if(i&&(e={latitude:i.lat,longitude:i.lng}),l.createMap(t,e,a)&&(c.map_search&&f()?l.addListener("idle",te,!1):l.addListener("zoomend",function(e){var t;(void 0===C||(C===$()?!1===$():(C=$(),1)))&&d&&(K?(t=ne(!1),q(),ne(t)):q())},!1),c.map_search?l.addControl(function(){const e=hbs_Crouton.templates.mapSearch,t=document.createElement("div");return t.innerHTML=e({}),t.querySelector("#map-search-button").addEventListener("click",z),t.querySelector("#bmltsearch-nearbyMeetings").addEventListener("click",A),t.querySelector("#bmltsearch-goto-text").addEventListener("keypress",function(e){"Enter"===e.key&&(e.preventDefault(),document.getElementById("bmltsearch-text-button").click())}),t.querySelector("#bmltsearch-text-button").addEventListener("click",function(){var e=document.getElementById("bmltsearch-goto-text").value.trim();""!==e&&(k(),l.callGeocoder(e,null,M),b(u))}),t.querySelector("#modal-seach-parameters").style.display="none",t.querySelector("#show-search-parameters").addEventListener("click",function(e){const t=e.target.parentElement.parentElement;let n=c.map_search.width,i="#search_radius";n<0&&(n=-n,i="#search_count"),t.querySelector(i).checked=!0,t.querySelector("#search_parameter").value=n,t.querySelector("#modal-seach-parameters").style.display="block",t.querySelector("#modal-search-page").style.display="none",t.querySelector("#search_radius_label").innerHTML=crouton.localization.getWord("Radius of search in $$").replace("$$",crouton.config.distance_units)}),t.querySelector("#show-search-page").addEventListener("click",function(e){const t=e.target.parentElement.parentElement;let n=t.querySelector("#search_parameter").value;t.querySelector("#search_count")&&(n=-Math.round(n),0==n&&(n=-1)),c.map_search.width=n,t.querySelector("#modal-seach-parameters").style.display="none",t.querySelector("#modal-search-page").style.display="block"}),t.querySelector("#bmltsearch-clicksearch").addEventListener("click",w),[...t.getElementsByClassName("modal-close")].forEach(e=>e.addEventListener("click",e=>b(e.target))),(u=t.querySelector("#bmltsearch_modal")).parentElement.removeChild(u),t}(),"topleft",r):(n?(n.imageDir=c.BMLTPlugin_images,l.addControl(function(){rules=[`.onoffswitch-inner:before {
|
|
165
165
|
content: "__text__";
|
|
166
166
|
padding-left: 10px;
|
|
167
167
|
background-color: #2d5c88; color: #FFFFFF;
|
|
@@ -179,7 +179,7 @@ if(!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.
|
|
|
179
179
|
<span class="onoffswitch-switch"></span>
|
|
180
180
|
</label>
|
|
181
181
|
</div>
|
|
182
|
-
</div>`,e.querySelector(".onoffswitch").addEventListener("click",function(e){e.pointerId<0||(
|
|
182
|
+
</div>`,e.querySelector(".onoffswitch").addEventListener("click",function(e){e.pointerId<0||(y=!y,_=!1,crouton.filterNext24(y),_=!0)}),document.styleSheets[0].insertRule(rules[0]),document.styleSheets[0].insertRule(rules[1]),e}(),"topleft")):n={imageDir:c.BMLTPlugin_images,config:c,dropdownData:!1},l.addControl(v(n),"topright",r)),c.caption)){const o=document.createElement("div");o.innerHTML='<div class="map-caption">'+c.caption.replace("\n","<br/>")+"</div>",l.addControl(o.firstChild,"bottomleft",r)}}}var y=!1;function v(e){var t=hbs_Crouton.templates.mapMenu,n=document.createElement("div");return n.innerHTML=t(e),n.querySelector("#nearbyMeetings").addEventListener("click",function(e){m().then(e=>{ne(!1),l.setViewToPosition(e,re,ne),a={lat:e.latitude,lng:e.longitude},crouton.updateDistances()}).catch(e=>{console.log(e.message),jQuery(".geo").removeClass("hide").addClass("show").html(`<p>${e.message}</p>`)}),dropdownContent=document.getElementById("map-menu-dropdown").style.display="none"}),n.querySelector("#lookupLocation").addEventListener("click",N),e&&e.dropdownData?(n.querySelector("#filterMeetings").addEventListener("click",j),n.querySelector("#showAsTable").addEventListener("click",R)):n.querySelector("#filterTable").addEventListener("click",ie),n.querySelector("#fullscreenMode").addEventListener("click",le),n.querySelector("#map-menu-button").addEventListener("click",function(e){let t=document.getElementById("map-menu-dropdown");"inline-block"==t.style.display?t.style.display="none":(jQuery("#filteringByVisibility").html(K?"✔":""),t.style.display="inline-block")}),[...n.getElementsByClassName("modal-close")].forEach(e=>e.addEventListener("click",e=>O(e.target))),n.querySelector("#close_table").addEventListener("click",W),n.querySelector("#goto-text").addEventListener("keydown",function(e){e&&"Enter"==e.key&&(O(e.target),F(E))}),n.querySelector("#goto-button").addEventListener("click",function(e){O(e.target),F(E)}),n}var _=!0;function b(e){jQuery("#zoomed-out-message").not(".hide").addClass("hide"),O(e)}function A(){m().then(e=>{k(),a={lat:e.latitude,lng:e.longitude},crouton.searchByCoordinates(e.latitude,e.longitude,c.map_search.width),T==u&&b(u)}).catch(e=>{console.log(e.message),T!=u&&z()})}function w(e){croutonMap.showMap(!1,!1),l.clickSearch(e,function(e,t){k(),a={lat:e,lng:t},crouton.searchByCoordinates(e,t,c.map_search.width)}),b(u)}function k(){s.myThrobber&&(s.myThrobber.style.display="block")}function S(){s.myThrobber&&(s.myThrobber.style.display="none")}function M(e){k(),document.getElementById("bmltsearch-goto-text")&&(document.getElementById("bmltsearch-goto-text").value="");e=l.getGeocodeCenter(e);e?(a={lat:e.lat,lng:e.lng},crouton.searchByCoordinates(e.lat,e.lng,c.map_search.width)):S()}function P(e,t=!0,n=!1){if(null===e&&c.map_search)c.map_search.auto?A():c.map_search.coordinates_search?(k(),c.map_search.coordinates_search=!1,a={lat:c.map_search.latitude,lng:c.map_search.longitude},crouton.searchByCoordinates(c.map_search.latitude,c.map_search.longitude,c.map_search.width)):c.map_search.location?l.callGeocoder(c.map_search.location,null,M):z();else{if(d=e.filter(e=>2!=e.venue_type),t){let e=d.reduce(function(e,t){return e.push([t.latitude,t.longitude]),e},[]);var i=c.maxTomatoWidth/2;if(a&&e.push([a.lat,a.lng]),c.map_search&&f()){for(e.sort((e,t)=>de({lat:e[0],lng:e[1]},a)-de({lat:t[0],lng:t[1]},a));me(e)>i&&3<e.length;)e=e.slice(0,e.length/2);me(e)>i&&(e=e.slice(1,1))}0<e.length&&l.fitBounds(e)}q(),S(),(f()||c.centerMe||c.goto)&&crouton.forceShowMap(),c.centerMe?navigator.geolocation?navigator.geolocation.getCurrentPosition(function(e){ne(!(coords={latitude:e.coords.latitude,longitude:e.coords.longitude})),c.zoom&&l.setZoom(!1,c.zoom),l.setViewToPosition(coords,re,()=>{ne(f())}),a={lat:e.coords.latitude,lng:e.coords.longitude},crouton.updateDistances()},N):n&&N():(c.centerMe||c.goto||c.map_search&&f()||l.afterInit(()=>ne(f())),c.goto&&l.callGeocoder(c.goto,f()?B:H))}}var x,C,E=!1,T=null,D=!1;function O(e){if(l.modalOff(),T=null,!e.classList.contains("modal"))return O(e.parentNode);if(e.style.display="none",E&&(E=!1,se()||le()),D){const t=document.body;e=t.style.top;t.style.overflowX=x,t.style.position="",t.style.top="",window.scrollTo(0,-1*parseInt(e||"0"))}}function I(e,t=!1){if(se()&&(E=!0,le()),e&&(e.style.display="block",D=t,e.focus(),T=e,dd=document.getElementById("map-menu-dropdown"),dd&&(dd.style.display="none"),l.modalOn(),D)){const n=document.body;x=n.style.overflowX;e=-window.scrollY+"px";n.style.overflowX="hidden",n.style.position="fixed",n.style.width="100%",n.style.setProperty("top",e,"important")}}function j(e){I(document.getElementById("filter_modal"))}function z(e){document.getElementById("bmltsearch_modal")||s.appendChild(u),l.isMapDefined()?jQuery("#bmltsearch-clicksearch").parent().show():jQuery("#bmltsearch-clicksearch").parent().hide(),I(u)}function N(e=0){I(document.getElementById("geocoding_modal"))}function R(e=0){ne(),jQuery("#bmlt-tabs").append(jQuery("#table_page")),jQuery("#table_page").removeClass("hide"),jQuery("#bmlt-map").css("display","none"),jQuery("#table_page").css("max-height",jQuery("#bmlt-map").height()),jQuery("#bmlt-maptable-div").css("height",jQuery("#bmlt-map").height()-jQuery("#bmlt-maptable-header").height()),document.getElementById("map-menu-dropdown").style.display="none"}function W(e=0){ne(!1),jQuery("#table_page").addClass("hide"),jQuery("#bmlt-map").css("display","block")}function B(e,t=null){ne(!1);e=re(e);return ne(!0),a.lat==t.lat&&a.lng==t.lng||(a=t,crouton.updateDistances()),e}function H(e,t=null){ne(!1);e=re(e);return a.lat==t.lat&&a.lng==t.lng||(a=t,crouton.updateDistances()),e}function F(e){return""!=document.getElementById("goto-text").value?e?l.addListener("idle",function(){l.callGeocoder(document.getElementById("goto-text").value,B)},!0):l.callGeocoder(document.getElementById("goto-text").value,B):alert(""),1}function q(t=!1){if(d&&d.length)try{V(t),a&&l.markSearchPoint([a.lat,a.lng])}catch(e){console.log(e),l.addListener("projection_changed",function(e){V(t),a&&l.markSearchPoint([a.lat,a.lng])},!0)}}function $(){return!!c.groups||(void 0===l.getZoom()||void 0!==c.clustering&&l.getZoom()<c.clustering)}function V(e=!1){if(l.isMapDefined()){const t=l.getOpenMarker();l.clearAllMarkers(),l.removeClusterLayer();const n=ae(d),i=c.groups?n:$()||1==n.length?n.map(e=>[e]):function(e){var t=new Array;for(const[n,u]of Object.entries(function(e){return e.reduce(function(e,t){return e.hasOwnProperty(t.location_municipality)?e[t.location_municipality].push(t):e[t.location_municipality]=[t],e},{})}(e))){var c=u.map(e=>(item=new Object,item.matched=!1,item.meeting=e,item.coords=l.fromLatLngToPoint(e.latitude,e.longitude),item));c.reduce(function(e,t,n){if(t.matched)return e;matches=[t.meeting];var i,r,a,o,s,l=t.coords;for(c2=n+1;c2<u.length;c2++)c[c2].matched||(i=c[c2].coords,r=l.x-8,a=l.x+8,o=l.y-8,s=l.y+8,i.x>=r&&i.x<=a&&i.y>=o&&i.y<=s&&(matches.push(c[c2].meeting),c[c2].matched=!0));return matches.sort(G),e.push(matches),e},t)}return t}(n);$()&&l.createClusterLayer(),markerCreator=c.groups?Z:Y,i.forEach(function(e){markerCreator(e,t)}),l.addClusterLayer(),e&&(e=n.reduce(function(e,t){return e.push([t.latitude,t.longitude]),e},[]),l.fitBounds(e))}}function G(e,t){var n=parseInt(e.weekday_tinyint,10),i=parseInt(t.weekday_tinyint,10);if(n<c.start_week&&(n+=7),i<c.start_week&&(i+=7),n<i)return-1;if(i<n)return 1;e=e.start_time.toString().split(":"),t=t.start_time.toString().split(":");return parseInt(e[0])<parseInt(t[0])?-1:parseInt(e[0])>parseInt(t[0])?1:parseInt(e[1])<parseInt(t[1])?-1:parseInt(e[1])>parseInt(t[1])?1:0}document.addEventListener("keydown",function(e){T&&"Escape"==e.key&&O(T)},!0);const U=crouton_Handlebars.compile(`
|
|
183
183
|
<div class="accordion">
|
|
184
184
|
{{#each this}}<div>
|
|
185
185
|
<input type="radio" name="panel" id="panel-{{this.id_bigint}}" {{#unless @index}}checked{{/unless}}/>
|
|
@@ -189,7 +189,7 @@ if(!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.
|
|
|
189
189
|
</div>
|
|
190
190
|
</div>{{/each}}
|
|
191
191
|
</div>
|
|
192
|
-
`);function U(e,t){var n=[e[0].latitude,e[0].longitude],i=G(e),n=l.createMarker(n,1<e.length,null);l.bindPopup(n,i,e.map(e=>parseInt(e.id_bigint)),t)}function Y(e,t){var n=[e.latitude,e.longitude],n=l.createMarker(n,1<e.membersOfGroup.length,null);l.addMarkerCallback(n,function(){crouton.openMeetingModal(e)})}var Z=!1,K=null;function Q(t){return d.filter(e=>l.contains(t,e.latitude,e.longitude))}function J(){p=!0,c.map_search||te(!1),l.addListener("dragend",X,!0)}function X(){p=!1,c.map_search&&c.filter_visible?ee():te(!0)}function ee(e){p||(n=null,corners=l.getCorners(),t&&l.contains(t,corners.ne.lat,corners.ne.lng)&&l.contains(t,corners.sw.lat,corners.sw.lng)?te():de("km")>c.maxTomatoWidth?(jQuery("#zoomed-out-message").removeClass("hide"),j()):(t=l.getBounds(),w(),crouton.searchByCoordinates(l.getCenter().lat,l.getCenter().lng,de(),!1)))}function te(e=!0){if(e==Z&&!c.map_search)return e;let t=e?Q(l.getBounds()):d,n=t.map(e=>e.id_bigint);return jQuery(".bmlt-data-row").each(function(e,t){t.dataset.visible=n.includes(t.id.split("-").pop())?"1":"0"}),jQuery("#byday").removeClass("hide"),jQuery("#filter-dropdown-visibile").val(e?"a-1":""),v=!1,crouton.simulateFilterDropdown(),v=!0,jQuery("#filteringByVisibility").html(e?"✔":""),(Z=e)?K=l.addListener("dragstart",J,!0):K&&(l.removeListener(K),K=null),!e}function ne(){te(!Z)}function Q(t){return d.filter(e=>l.contains(t,e.latitude,e.longitude))}function ie(e){return re(Q(e))}function re(e){e=e.filter(e=>2!=e.venue_type);return null!=n?e.filter(e=>n.includes(e.id_bigint)):e}var ae=!1;function oe(){return(document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement)===s||ae}function se(e){var t=s;oe()?e&&e.pseudoFullscreen?le(!1):document.exitFullscreen?document.exitFullscreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitCancelFullScreen?document.webkitCancelFullScreen():document.msExitFullscreen?document.msExitFullscreen():_disablePseudoFullscreen(t):e&&e.pseudoFullscreen?le(!0):t.requestFullscreen?t.requestFullscreen():t.mozRequestFullScreen?t.mozRequestFullScreen():t.webkitRequestFullscreen?t.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT):t.msRequestFullscreen?t.msRequestFullscreen():_enablePseudoFullscreen(t)}ae=!1;function le(e){var t=s;(ae=e)?L.DomUtil.addClass(t,"leaflet-pseudo-fullscreen"):L.DomUtil.removeClass(t,"leaflet-pseudo-fullscreen"),l.invalidateSize()}function ce(e){return e*Math.PI/180}function ue(e,t){var n=ce(t.lat-e.lat),i=ce(t.lng-e.lng),i=Math.sin(n/2)*Math.sin(n/2)+Math.cos(ce(e.lat))*Math.cos(ce(t.lat))*Math.sin(i/2)*Math.sin(i/2);return 6378137*(2*Math.atan2(Math.sqrt(i),Math.sqrt(1-i)))}function de(e=!1){return e=e||crouton.config.distance_units,pe(l.getCorners(),e)}function pe(e,t="km"){return ue(e.ne,e.sw)/2e3*("km"==t?1:.62137119)}function he(e){return pe(l.getCorners(e),"km")}this.initialize=function e(t,n,i=null,r=null,a=!0,o,s){if(!l.isApiLoaded())return h(e,[t,n,i,r,a,o,s]),void l.loadApi();f(document.getElementById(t),i,r,o,s),M(n,a,!0)},this.showMap=function(e=!1,t=!0){e&&r?r.invalidateSize():(l.invalidateSize(),d&&t&&l.fitBounds((n?d.filter(e=>n.includes(e.id_bigint)):d).reduce(function(e,t){return e.push([t.latitude,t.longitude]),e},[])))},this.fillMap=function(e){n=e,d&&F(v&&!Z)},this.rowClick=function(t){var e=d.find(e=>e.id_bigint==t);e&&(14<=l.getZoom()&&l.contains(l.getBounds(),e.latitude,e.longitude)?l.openMarker(t):l.setViewToPosition({latitude:e.latitude,longitude:e.longitude},ie,function(){l.openMarker(t)}))},this.apiLoadedCallback=function(){i(...o)},this.refreshMeetings=M,this.getDistanceFromSearch=function(e){return!!a&&{km:(e=ue(e,a))/1e3,miles:.00062137119*e}},this.openModalWindow=O,this.closeModalWindow=D,this.loadPopupMap=function e(t,n,i=null){if(!l.isApiLoaded())return h(e,[t,n,i]),void l.loadApi();t=document.getElementById(t);if(t){let e=new MapDelegate(c);i&&(loc={latitude:i.lat,longitude:i.lng,zoom:i.zoom}),e.createMap(t,loc)&&(t=e.createMarker([n.latitude,n.longitude],!1,null),e.bindPopup(t,null,n.id_bigint,!1),e.addClusterLayer(),r=e)}},this.filterVisible=te,this.hasMapSearch=function(){return"map_search"in c}}function MapDelegate(e){const u=e;var d,r,a=null,o=null,s=null,l=null,p=null,n=null,t=null,h=!1,i=!1,m=[],f=!1,g=!1;function y(e,t,n){if(d){e="zoomend"===e?"zoom_changed":e;return n?google.maps.event.addListenerOnce(d,e,t):google.maps.event.addListener(d,e,t)}}function v(e,t){if(!d)return 12;var n=d.getZoom();if(u.map_search&&u.filter_visible)return n;for(var i=d.getCenter(),r=d.getBounds(),a=!1;0==t(r,{lat:i.lat(),lng:i.lng()}).length&&6<n;){a=!0,--n;var o=new google.maps.LatLng({lat:2*r.getNorthEast().lat()-i.lat(),lng:2*r.getNorthEast().lng()-i.lng()}),s=new google.maps.LatLng({lat:2*r.getSouthWest().lat()-i.lat(),lng:2*r.getSouthWest().lng()-i.lng()}),r=new google.maps.LatLngBounds(s,o)}if(!e&&!a&&n<12){for(var l=t(r).length;n<12&&0<l;){n+=1;o=new google.maps.LatLng({lat:.5*(r.getNorthEast().lat()+i.lat()),lng:.5*(r.getNorthEast().lng()+i.lng())}),s=new google.maps.LatLng({lat:.5*(r.getSouthWest().lat()+i.lat()),lng:.5*(r.getSouthWest().lng()+i.lng())}),l=t(r=new google.maps.LatLngBounds(s,o)).length}0==l&&--n}return n}function _(e){e=e.id.split("-")[1];g=e,jQuery(".bmlt-data-row > td").removeClass("rowHighlight"),jQuery("#meeting-data-row-"+e+" > td").addClass("rowHighlight"),"undefined"==typeof crouton&&crouton.dayTabFromId(e)}function b(e){e.setZIndex(google.maps.Marker.MAX_ZINDEX+1),r.setContent(e.desc),r.open(d,e),r.addListener("visible",function(){jQuery("input[type=radio][name=panel]:checked").each(function(e,t){_(t)}),jQuery("input[type=radio][name=panel]").change(function(){_(this)})})}function A(t){var e;!d||(e=m.find(e=>e.ids.includes(t)))&&(jQuery("#panel-"+t).prop("checked",!0),b(e.marker))}function w(e){var t=function(e){d&&(d.fitBounds(this.response[0].geometry.viewport),d.setZoom(v(!0,this.filterMeetings)))}.bind({filterMeetings:this.filterMeetings,response:e});e&&e[0]&&e[0].geometry&&e[0].geometry.location?(d.panTo(e[0].geometry.location),google.maps.event.addListenerOnce(d,"idle",t)):alert(crouton.localization.getWord("address_lookup_fail"))}this.createMap=function(e,t,n=!1){if(n)return gDiv=e,gDiv.style.height="auto",gDiv.style.marginBottom="10px",d=null,gDiv;a=new google.maps.MarkerImage(u.BMLTPlugin_images+"/NAMarker.png",new google.maps.Size(23,32),new google.maps.Point(0,0),new google.maps.Point(12,32)),o=new google.maps.MarkerImage(u.BMLTPlugin_images+"/NAMarkerG.png",new google.maps.Size(23,32),new google.maps.Point(0,0),new google.maps.Point(12,32)),s=new google.maps.MarkerImage(u.BMLTPlugin_images+"/NAMarkerSel.png",new google.maps.Size(23,32),new google.maps.Point(0,0),new google.maps.Point(12,32)),g_icon_image_searchpoint=new google.maps.MarkerImage(u.BMLTPlugin_images+"/SearchPoint.png",new google.maps.Size(23,32),new google.maps.Point(0,0),new google.maps.Point(12,32)),l=new google.maps.MarkerImage(u.BMLTPlugin_images+"/NAMarkerS.png",new google.maps.Size(43,32),new google.maps.Point(0,0),new google.maps.Point(12,32)),p={coord:[16,0,18,1,19,2,20,3,21,4,21,5,22,6,22,7,22,8,22,9,22,10,22,11,22,12,22,13,22,14,22,15,22,16,21,17,21,18,22,19,20,20,19,21,20,22,18,23,17,24,18,25,17,26,15,27,14,28,15,29,12,30,12,31,10,31,10,30,9,29,8,28,8,27,7,26,6,25,5,24,5,23,4,22,3,21,3,20,2,19,1,18,1,17,1,16,0,15,0,14,0,13,0,12,0,11,0,10,0,9,0,8,0,7,1,6,1,5,2,4,2,3,3,2,5,1,6,0,16,0],type:"poly"};var i={mapTypeId:google.maps.MapTypeId.ROADMAP,zoomControl:!0,minZoom:u.minZoom,maxZoom:u.maxZoom,mapTypeControl:!1,streetViewControl:!0,disableDoubleClickZoom:!0,draggableCursor:"pointer",scaleControl:!0,fullscreenControl:!!u.map_search};return t&&(i=Object.assign(i,{center:new google.maps.LatLng(t.latitude,t.longitude),zoom:parseInt(t.zoom)})),n=e.offsetWidth,t=e.offsetHeight,n<640||t<640?(i.scrollwheel=!0,i.zoomControlOptions={style:google.maps.ZoomControlStyle.SMALL}):i.zoomControlOptions={style:google.maps.ZoomControlStyle.LARGE},r=new google.maps.InfoWindow,d=new google.maps.Map(e,i)},this.addListener=y,this.addControl=function(t,e,n){if(d){var i=e;switch(e){case"topright":i=google.maps.ControlPosition.TOP_RIGHT,t.style.margin="10px 10px 0 0";break;case"topleft":i=google.maps.ControlPosition.TOP_LEFT,t.style.margin="10px 0 0 10px";break;case"bottomleft":i=google.maps.ControlPosition.LEFT_BOTTOM,t.style.margin="0 0 0px 10px"}if(t.index=1,n){const r=new MutationObserver(function(e){e.forEach(e=>{e.addedNodes.forEach(e=>{e===t&&(r.disconnect(),n())})})});r.observe(document,{childList:!0,subtree:!0})}d.controls[i].push(t)}else gDiv.appendChild(t)},this.setViewToPosition=function(e,t,n){d&&(e=new google.maps.LatLng(e.latitude,e.longitude),d.setCenter(e),d.setZoom(v(!1,t)),n&&n())},this.clearAllMarkers=function(){d&&(m&&m.forEach(function(e){e&&e.marker.info_win&&m[c].marker.info_win_.close(),e.marker.setMap(null)}),g=!(m=[]))},this.fromLatLngToPoint=function(e,t){return d?(e=new google.maps.LatLng(e,t),t=1<<d.getZoom(),e=d.getProjection().fromLatLngToPoint(e),new google.maps.Point(e.x*t,e.y*t)):null},this.callGeocoder=function(e,t,n=w){var i=new google.maps.Geocoder;i?(e={address:e},u.region&&""!==u.region.trim()&&(e.region=u.region),u.bounds&&u.bounds.north&&""!==u.bounds.north.trim()&&u.bounds.east&&""!==u.bounds.east.trim()&&u.bounds.south&&""!==u.bounds.south.trim()&&u.bounds.west&&""!==u.bounds.west.trim()&&(e.bounds=new google.maps.LatLngBounds(new google.maps.LatLng(u.bounds.south,u.bounds.west),new google.maps.LatLng(u.bounds.north,u.bounds.east))),t&&(n=n.bind({filterMeetings:t})),i.geocode(e,n)):alert(crouton.localization.getWord("address_lookup_fail"))},this.setZoom=function(e){d&&d.setZoom(v(!1,e))},this.getZoom=function(){return d?d.getZoom():12},this.createMarker=function(e,t,n){if(d){var i=t?o:a,t=null;return(t=new google.maps.Marker({position:new google.maps.LatLng(...e),shadow:l,icon:i,shape:p,cursor:"default",title:n,draggable:!1})).zIndex=999,t.old_image=t.getIcon(),t}},this.bindPopup=function(e,t,n,i){t&&(e.desc=t,google.maps.event.addListener(e,"click",function(){m.forEach(e=>e.marker.setIcon(e.marker.old_image)),e.old_image&&e.setIcon(s),b(e)}),n.includes(parseInt(A))&&b(e),r.addListener("closeclick",function(){g=!1,m.forEach(e=>e.marker.setIcon(e.marker.old_image)),jQuery(".bmlt-data-row > td").removeClass("rowHighlight")})),m[m.length]={ids:n,marker:e}},this.addMarkerCallback=function(e,t,n){t&&e.addListener("click",()=>{t(n)}),m.push({ids:n,marker:e})},this.contains=function(e,t,n){return!d||e.contains(new google.maps.LatLng(t,n))},this.getBounds=function(){return d?d.getBounds():null},this.invalidateSize=function(){},this.zoomOut=function(e){d&&d.setZoom(v(!0,e))},this.fitBounds=function(e){if(d){google.maps.event.addListenerOnce(d,"bounds_changed",function(){d.setZoom(parseInt(Math.min(d.getZoom(),u.maxZoom)))});let n=new google.maps.LatLngBounds;n&&(e=e.reduce(function(e,t){return null===e?n:e.extend(new google.maps.LatLng(t[0],t[1]))},n),d.fitBounds(e))}},this.openMarker=A,this.isApiLoaded=function(){return h},this.loadApi=function(e,t){var n=document.createElement("script");h=!0,void 0===u.api_key&&(u.api_key=""),n.src="https://maps.googleapis.com/maps/api/js?key="+u.api_key+"&callback=croutonMap.apiLoadedCallback",n.defer=!0,n.async=!0;var i=document.getElementsByTagName("script")[0];i.parentNode.insertBefore(n,i)},this.createClusterLayer=function(){i=!0},this.addClusterLayer=function(){if(d){let e=m.map(e=>e.marker);i?(t=new markerClusterer.MarkerClusterer({map:d,markers:e,imagePath:"https://developers.google.com/maps/documentation/javascript/examples/markerclusterer/m"}),(n=new OverlappingMarkerSpiderfier(d,{markersWontMove:!0,markersWontHide:!0})).addListener("format",function(e,t){t=t===OverlappingMarkerSpiderfier.markerStatus.SPIDERFIED||t===OverlappingMarkerSpiderfier.markerStatus.SPIDERFIABLE||t===OverlappingMarkerSpiderfier.markerStatus.UNSPIDERFIED?o:t===OverlappingMarkerSpiderfier.markerStatus.UNSPIDERFIABLE?a:null;e.setIcon(t)}),google.maps.event.addListener(d,"zoom_changed",function(){"undefined"!=d.getProjection()&&google.maps.event.addListenerOnce(d,"idle",function(){if("undefined"!=d.getProjection()&&null!=n)for(var e=n.markersNearAnyOtherMarker(),t=0;t<e.length;t++)e[t].icon=o})}),n.addListener("click",function(e){e.zIndex=999,r.setContent(e.desc),r.open(d,e)}),e.forEach(e=>n.addMarker(e))):e.forEach(e=>e.setMap(d))}},this.removeClusterLayer=function(){d&&(i=!1,t&&t.setMap(null),t=null,n&&(n.removeAllMarkers(),n.clearListeners("click"),n=null))},this.clickSearch=function(e,t){d&&(d.setOptions({draggableCursor:"crosshair",zoomControl:!1,gestureHandling:"none"}),google.maps.event.addListenerOnce(d,"click",function(e){d.setOptions({draggableCursor:"default",zoomControl:!0,gestureHandling:"auto"}),t(e.latLng.lat(),e.latLng.lng())}))},this.getGeocodeCenter=function(e){if(e&&e[0]&&e[0].geometry&&e[0].geometry.location)return{lat:e[0].geometry.location.lat(),lng:e[0].geometry.location.lng()};alert(crouton.localization.getWord("address_lookup_fail"))},this.modalOn=function(){},this.modalOff=function(){},this.removeListener=function(e){d&&e.remove()},this.afterInit=function(e){d&&(void 0!==d.getBounds()?e():y("idle",e,!0))},this.isMapDefined=function(){return null!=d},this.getCorners=function(e=!1){return{ne:{lat:(e=e?e.reduce(function(e,t){return e.extend(new google.maps.LatLng(t[0],t[1]))},new google.maps.LatLngBounds):d.getBounds()).getNorthEast().lat(),lng:e.getNorthEast().lng()},sw:{lat:e.getSouthWest().lat(),lng:e.getSouthWest().lng()}}},this.getCenter=function(){var e=d.getCenter();return{lat:e.lat(),lng:e.lng()}},this.markSearchPoint=function(e){d&&(f&&f.setMap(null),(f=new google.maps.Marker({position:new google.maps.LatLng(...e)})).setIcon(g_icon_image_searchpoint),f.setMap(d))},this.getOpenMarker=function(){return g}}Crouton.prototype.renderMeetingCount=function(){var e=this;e.lock(function(){e.updateMeetingCount()})},Crouton.prototype.simulateFilterDropdown=function(){self=this,jQuery(".bmlt-page:not(#byfield_embeddedMapPage)").each(function(){self.hidePage(this)}),self.filterMeetingsFromView()},Crouton.prototype.getAdjustedDateTime=function(e,t,n){var i=!0===this.config.auto_tz_adjust||"true"===this.config.auto_tz_adjust,r=i?(n=n||"UTC",(r=moment.tz(n).set({hour:t.split(":")[0],minute:t.split(":")[1],second:0}).isoWeekday(e)).clone().tz(moment.tz.guess())):moment().set({hour:t.split(":")[0],minute:t.split(":")[1],second:0}).isoWeekday(e),i=i?moment.tz(moment.tz.guess()):moment();return(r<i||i.isoWeekday()==r.isoWeekday()&&0==r.diff(i,"days"))&&r.add(1,"weeks"),r},Array.prototype.clone=function(){return this.slice()},Array.prototype.filterByObjectKeyValue=function(e,t){for(var n=[],i=0;i<this.length;i++)this[i][e]===t&&n.push(this[i]);return n},Array.prototype.getArrayItemByObjectKeyValue=function(e,t){for(var n=0;n<this.length;n++)if(this[n][e]===t)return this[n]},Array.prototype.clean=function(){for(var e=0;e<this.length;e++)""===this[e]&&(this.splice(e,1),e--);return this},Array.prototype.sortByKey=function(n){return this.sort(function(e,t){return e[n]<t[n]?-1:e[n]>t[n]?1:0}),this},MeetingMap.prototype.initialize=null,MeetingMap.prototype.showMap=null,MeetingMap.prototype.fillMap=null,MeetingMap.prototype.rowClick=null,MeetingMap.prototype.apiLoadedCallback=null,MeetingMap.prototype.refreshMeetings=null,MeetingMap.prototype.getDistanceFromSearch=null,MeetingMap.prototype.openModalWindow=null,MeetingMap.prototype.closeModalWindow=null,MeetingMap.prototype.loadPopupMap=null,MeetingMap.prototype.filterVisible=null,MeetingMap.prototype.hasMapSearch=null,MapDelegate.prototype.createMap=null,MapDelegate.prototype.addListener=null,MapDelegate.prototype.removeListener=null,MapDelegate.prototype.addControl=null,MapDelegate.prototype.setViewToPosition=null,MapDelegate.prototype.clearAllMarkers=null,MapDelegate.prototype.fromLatLngToPoint=null,MapDelegate.prototype.callGeocoder=null,MapDelegate.prototype.setZoom=null,MapDelegate.prototype.getZoom=null,MapDelegate.prototype.createMarker=null,MapDelegate.prototype.bindPopup=null,MapDelegate.prototype.addMarkerCallback=null,MapDelegate.prototype.contains=null,MapDelegate.prototype.getBounds=null,MapDelegate.prototype.invalidateSize=null,MapDelegate.prototype.zoomOut=null,MapDelegate.prototype.fitBounds=null,MapDelegate.prototype.isApiLoaded=null,MapDelegate.prototype.loadApi=null,MapDelegate.prototype.openMarker=null,MapDelegate.prototype.createClusterLayer=null,MapDelegate.prototype.addClusterLayer=null,MapDelegate.prototype.removeClusterLayer=null,MapDelegate.prototype.clickSearch=null,MapDelegate.prototype.getGeocodeCenter=null,MapDelegate.prototype.modalOn=null,MapDelegate.prototype.modalOff=null,MapDelegate.prototype.afterInit=null,MapDelegate.prototype.isMapDefined=null,MapDelegate.prototype.getCorners=null,MapDelegate.prototype.getCenter=null,MapDelegate.prototype.markSearchPoint=null,MapDelegate.prototype.getOpenMarker=null;var markerClusterer=function(r){"use strict";function a(e,t){var n={};for(r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n}class s{static isAdvancedMarkerAvailable(e){return google.maps.marker&&!0===e.getMapCapabilities().isAdvancedMarkersAvailable}static isAdvancedMarker(e){return google.maps.marker&&e instanceof google.maps.marker.AdvancedMarkerElement}static setMap(e,t){this.isAdvancedMarker(e)?e.map=t:e.setMap(t)}static getPosition(e){if(this.isAdvancedMarker(e)){if(e.position){if(e.position instanceof google.maps.LatLng)return e.position;if(e.position.lat&&e.position.lng)return new google.maps.LatLng(e.position.lat,e.position.lng)}return new google.maps.LatLng(null)}return e.getPosition()}static getVisible(e){return!!this.isAdvancedMarker(e)||e.getVisible()}}class o{constructor(e){var{markers:t,position:e}=e;this.markers=t,e&&(e instanceof google.maps.LatLng?this._position=e:this._position=new google.maps.LatLng(e))}get bounds(){if(0!==this.markers.length||this._position){const e=new google.maps.LatLngBounds(this._position,this._position);for(const t of this.markers)e.extend(s.getPosition(t));return e}}get position(){return this._position||this.bounds.getCenter()}get count(){return this.markers.filter(e=>s.getVisible(e)).length}push(e){this.markers.push(e)}delete(){this.marker&&(s.setMap(this.marker,null),this.marker=void 0),this.markers.length=0}}const l=(e,t,n,i)=>{const r=c(e.getBounds(),t,i);return n.filter(e=>r.contains(s.getPosition(e)))},c=(e,t,n)=>{var{northEast:i,southWest:e}=d(e,t),n=p({northEast:i,southWest:e},n);return h(n,t)},i=(e,t,n)=>{const i=c(e,t,n),r=i.getNorthEast(),a=i.getSouthWest();return[a.lng(),a.lat(),r.lng(),r.lat()]},u=(e,t)=>{var n=(t.lat-e.lat)*Math.PI/180,i=(t.lng-e.lng)*Math.PI/180,n=Math.sin(n/2),i=Math.sin(i/2),i=n*n+Math.cos(e.lat*Math.PI/180)*Math.cos(t.lat*Math.PI/180)*i*i;return 2*Math.atan2(Math.sqrt(i),Math.sqrt(1-i))*6371},d=(e,t)=>({northEast:t.fromLatLngToDivPixel(e.getNorthEast()),southWest:t.fromLatLngToDivPixel(e.getSouthWest())}),p=(e,t)=>{let{northEast:n,southWest:i}=e;return n.x+=t,n.y-=t,i.x-=t,i.y+=t,{northEast:n,southWest:i}},h=(e,t)=>{var{northEast:n,southWest:e}=e,e=t.fromDivPixelToLatLng(e),n=t.fromDivPixelToLatLng(n);return new google.maps.LatLngBounds(e,n)};class e{constructor(e){var{maxZoom:e=16}=e;this.maxZoom=e}noop(e){var e=e["markers"];return n(e)}}class t extends e{constructor(e){var{viewportPadding:t=60}=e;super(a(e,["viewportPadding"])),this.viewportPadding=60,this.viewportPadding=t}calculate(e){let{markers:t,map:n,mapCanvasProjection:i}=e;return n.getZoom()>=this.maxZoom?{clusters:this.noop({markers:t}),changed:!1}:{clusters:this.cluster({markers:l(n,i,t,this.viewportPadding),map:n,mapCanvasProjection:i})}}}const n=e=>e.map(e=>new o({position:s.getPosition(e),markers:[e]}));var m,f,g,y=(m=function e(t,n){if(t===n)return!0;if(t&&n&&"object"==typeof t&&"object"==typeof n){if(t.constructor!==n.constructor)return!1;var i,r,a;if(Array.isArray(t)){if((i=t.length)!=n.length)return!1;for(r=i;0!=r--;)if(!e(t[r],n[r]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if((i=(a=Object.keys(t)).length)!==Object.keys(n).length)return!1;for(r=i;0!=r--;)if(!Object.prototype.hasOwnProperty.call(n,a[r]))return!1;for(r=i;0!=r--;){var o=a[r];if(!e(t[o],n[o]))return!1}return!0}return t!=t&&n!=n})&&m.__esModule&&Object.prototype.hasOwnProperty.call(m,"default")?m.default:m;const v=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];class _{static from(e){if(!(e instanceof ArrayBuffer))throw new Error("Data must be an instance of ArrayBuffer.");var[t,n]=new Uint8Array(e,0,2);if(219!==t)throw new Error("Data does not appear to be in a KDBush format.");var i=n>>4;if(1!=i)throw new Error(`Got v${i} data when expected v1.`);t=v[15&n];if(!t)throw new Error("Unrecognized array type.");var[i]=new Uint16Array(e,2,1),[n]=new Uint32Array(e,4,1);return new _(n,i,t,e)}constructor(e,t=64,n=Float64Array,i){if(isNaN(e)||e<0)throw new Error(`Unpexpected numItems value: ${e}.`);this.numItems=+e,this.nodeSize=Math.min(Math.max(+t,2),65535),this.ArrayType=n,this.IndexArrayType=e<65536?Uint16Array:Uint32Array;var r=v.indexOf(this.ArrayType),a=2*e*this.ArrayType.BYTES_PER_ELEMENT,o=e*this.IndexArrayType.BYTES_PER_ELEMENT,s=(8-o%8)%8;if(r<0)throw new Error(`Unexpected typed array class: ${n}.`);i&&i instanceof ArrayBuffer?(this.data=i,this.ids=new this.IndexArrayType(this.data,8,e),this.coords=new this.ArrayType(this.data,8+o+s,2*e),this._pos=2*e,this._finished=!0):(this.data=new ArrayBuffer(8+a+o+s),this.ids=new this.IndexArrayType(this.data,8,e),this.coords=new this.ArrayType(this.data,8+o+s,2*e),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,16+r]),new Uint16Array(this.data,2,1)[0]=t,new Uint32Array(this.data,4,1)[0]=e)}add(e,t){var n=this._pos>>1;return this.ids[n]=n,this.coords[this._pos++]=e,this.coords[this._pos++]=t,n}finish(){var e=this._pos>>1;if(e!==this.numItems)throw new Error(`Added ${e} items when expected ${this.numItems}.`);return function e(t,n,i,r,a,o){if(a-r<=i)return;const s=r+a>>1;b(t,n,s,r,a,o),e(t,n,i,r,s-1,1-o),e(t,n,i,1+s,a,1-o)}(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(t,n,i,r){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");const{ids:a,coords:o,nodeSize:e}=this,s=[0,a.length-1,0],l=[];for(;s.length;){var c=s.pop()||0,u=s.pop()||0,d=s.pop()||0;if(u-d<=e)for(let e=d;e<=u;e++){const s=o[2*e],f=o[2*e+1];s>=t&&s<=i&&n<=f&&f<=r&&l.push(a[e])}else{var p=d+u>>1,h=o[2*p],m=o[2*p+1];t<=h&&h<=i&&n<=m&&m<=r&&l.push(a[p]),(0===c?t<=h:n<=m)&&(s.push(d),s.push(p-1),s.push(1-c)),(0===c?h<=i:m<=r)&&(s.push(1+p),s.push(u),s.push(1-c))}}return l}within(t,n,e){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");const{ids:i,coords:r,nodeSize:a}=this,o=[0,i.length-1,0],s=[],l=e*e;for(;o.length;){var c=o.pop()||0,u=o.pop()||0,d=o.pop()||0;if(u-d<=a)for(let e=d;e<=u;e++)k(r[2*e],r[2*e+1],t,n)<=l&&s.push(i[e]);else{var p=d+u>>1,h=r[2*p],m=r[2*p+1];k(h,m,t,n)<=l&&s.push(i[p]),(0===c?t-e<=h:n-e<=m)&&(o.push(d),o.push(p-1),o.push(1-c)),(0===c?h<=t+e:m<=n+e)&&(o.push(1+p),o.push(u),o.push(1-c))}}return s}}function b(n,i,r,a,o,s){for(;a<o;){var l,c,u,d;600<o-a&&(l=o-a+1,c=r-a+1,d=Math.log(l),u=.5*Math.exp(2*d/3),d=.5*Math.sqrt(d*u*(l-u)/l)*(c-l/2<0?-1:1),b(n,i,r,Math.max(a,Math.floor(r-c*u/l+d)),Math.min(o,Math.floor(r+(l-c)*u/l+d)),s));var p=i[2*r+s];let e=a,t=o;for(A(n,i,a,r),i[2*o+s]>p&&A(n,i,a,o);e<t;){for(A(n,i,e,t),e++,t--;i[2*e+s]<p;)e++;for(;i[2*t+s]>p;)t--}i[2*a+s]===p?A(n,i,a,t):(t++,A(n,i,t,o)),t<=r&&(a=t+1),r<=t&&(o=t-1)}}function A(e,t,n,i){w(e,n,i),w(t,2*n,2*i),w(t,2*n+1,2*i+1)}function w(e,t,n){var i=e[t];e[t]=e[n],e[n]=i}function k(e,t,n,i){n=e-n,i=t-i;return n*n+i*i}const S={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:e=>e},M=Math.fround||(f=new Float32Array(1),e=>(f[0]=+e,f[0])),P=3,x=5,C=6;class E{constructor(e){this.options=Object.assign(Object.create(S),e),this.trees=new Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[]}load(t){const{log:n,minZoom:i,maxZoom:r}=this.options;n&&console.time("total time");const a=`prepare ${t.length} points`;n&&console.time(a),this.points=t;const o=[];for(let e=0;e<t.length;e++){const i=t[e];if(i.geometry){const[r,a]=i.geometry.coordinates,s=M(O(r)),l=M(L(a));o.push(s,l,1/0,e,-1,1),this.options.reduce&&o.push(0)}}let s=this.trees[r+1]=this._createTree(o);n&&console.timeEnd(a);for(let e=r;e>=i;e--){const i=+Date.now();s=this.trees[e]=this._createTree(this._cluster(s,e)),n&&console.log("z%d: %d clusters in %dms",e,s.numItems,+Date.now()-i)}return n&&console.timeEnd("total time"),this}getClusters(e,t){let n=((e[0]+180)%360+360)%360-180;var i=Math.max(-90,Math.min(90,e[1]));let r=180===e[2]?180:((e[2]+180)%360+360)%360-180;var a=Math.max(-90,Math.min(90,e[3]));if(360<=e[2]-e[0])n=-180,r=180;else if(n>r){const e=this.getClusters([n,i,180,a],t),o=this.getClusters([-180,i,r,a],t);return e.concat(o)}const o=this.trees[this._limitZoom(t)],s=o.range(O(n),L(a),O(r),L(i)),l=o.data,c=[];for(const e of s){const t=this.stride*e;c.push(1<l[t+x]?T(l,t,this.clusterProps):this.points[l[t+P]])}return c}getChildren(e){const t=this._getOriginId(e),n=this._getOriginZoom(e),i="No cluster with the specified id.",r=this.trees[n];if(!r)throw new Error(i);var a=r.data;if(t*this.stride>=a.length)throw new Error(i);const o=this.options.radius/(this.options.extent*Math.pow(2,n-1)),s=a[t*this.stride],l=a[t*this.stride+1],c=r.within(s,l,o),u=[];for(const t of c){const n=t*this.stride;a[4+n]===e&&u.push(1<a[n+x]?T(a,n,this.clusterProps):this.points[a[n+P]])}if(0===u.length)throw new Error(i);return u}getLeaves(e,t,n){var i=[];return this._appendLeaves(i,e,t=t||10,n=n||0,0),i}getTile(e,t,n){const i=this.trees[this._limitZoom(e)],r=Math.pow(2,e),{extent:a,radius:o}=this.options,s=o/a,l=(n-s)/r,c=(n+1+s)/r,u={features:[]};return this._addTileFeatures(i.range((t-s)/r,l,(t+1+s)/r,c),i.data,t,n,r,u),0===t&&this._addTileFeatures(i.range(1-s/r,l,1,c),i.data,r,n,r,u),t===r-1&&this._addTileFeatures(i.range(0,l,s/r,c),i.data,-1,n,r,u),u.features.length?u:null}getClusterExpansionZoom(e){let t=this._getOriginZoom(e)-1;for(;t<=this.options.maxZoom;){var n=this.getChildren(e);if(t++,1!==n.length)break;e=n[0].properties.cluster_id}return t}_appendLeaves(e,t,n,i,r){const a=this.getChildren(t);for(const t of a){const a=t.properties;if(a&&a.cluster?r+a.point_count<=i?r+=a.point_count:r=this._appendLeaves(e,a.cluster_id,n,i,r):r<i?r++:e.push(t),e.length===n)break}return r}_createTree(t){const n=new _(t.length/this.stride|0,this.options.nodeSize,Float32Array);for(let e=0;e<t.length;e+=this.stride)n.add(t[e],t[e+1]);return n.finish(),n.data=t,n}_addTileFeatures(i,r,a,o,s,l){for(const u of i){const i=u*this.stride,d=1<r[i+x];let e,t,n;if(d)e=D(r,i,this.clusterProps),t=r[i],n=r[1+i];else{const a=this.points[r[i+P]];e=a.properties;const[o,s]=a.geometry.coordinates;t=O(o),n=L(s)}const p={type:1,geometry:[[Math.round(this.options.extent*(t*s-a)),Math.round(this.options.extent*(n*s-o))]],tags:e};var c=d||this.options.generateId?r[i+P]:this.points[r[i+P]].id;void 0!==c&&(p.id=c),l.features.push(p)}}_limitZoom(e){return Math.max(this.options.minZoom,Math.min(Math.floor(+e),this.options.maxZoom+1))}_cluster(e,o){const{radius:t,extent:s,reduce:l,minPoints:n}=this.options,i=t/(s*Math.pow(2,o)),c=e.data,u=[],d=this.stride;for(let a=0;a<c.length;a+=d)if(!(c[a+2]<=o)){c[a+2]=o;const s=c[a],m=c[a+1],f=e.within(c[a],c[a+1],i),g=c[a+x];let r=g;for(const e of f){const t=e*d;c[2+t]>o&&(r+=c[t+x])}if(r>g&&r>=n){let e,t=s*g,n=m*g,i=-1;var p,h=((a/d|0)<<5)+(o+1)+this.points.length;for(const s of f){const u=s*d;c[2+u]<=o||(c[2+u]=o,p=c[u+x],t+=c[u]*p,n+=c[1+u]*p,c[4+u]=h,l&&(e||(e=this._map(c,a,!0),i=this.clusterProps.length,this.clusterProps.push(e)),l(e,this._map(c,u))))}c[a+4]=h,u.push(t/r,n/r,1/0,h,-1,r),l&&u.push(i)}else{for(let e=0;e<d;e++)u.push(c[a+e]);if(1<r)for(const e of f){const t=e*d;if(!(c[2+t]<=o)){c[2+t]=o;for(let e=0;e<d;e++)u.push(c[t+e])}}}}return u}_getOriginId(e){return e-this.points.length>>5}_getOriginZoom(e){return(e-this.points.length)%32}_map(e,t,n){if(1<e[t+x]){const i=this.clusterProps[e[t+C]];return n?Object.assign({},i):i}const i=this.points[e[t+P]].properties,r=this.options.map(i);return n&&r===i?Object.assign({},r):r}}function T(e,t,n){return{type:"Feature",id:e[t+P],properties:D(e,t,n),geometry:{type:"Point",coordinates:[360*(e[t]-.5),function(e){e=(180-360*e)*Math.PI/180;return 360*Math.atan(Math.exp(e))/Math.PI-90}(e[t+1])]}}}function D(e,t,n){var i=e[t+x],r=1e4<=i?Math.round(i/1e3)+"k":1e3<=i?Math.round(i/100)/10+"k":i,a=e[t+C],a=-1===a?{}:Object.assign({},n[a]);return Object.assign(a,{cluster:!0,cluster_id:e[t+P],point_count:i,point_count_abbreviated:r})}function O(e){return e/360+.5}function L(e){e=Math.sin(e*Math.PI/180),e=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return e<0?0:1<e?1:e}class I extends e{constructor(e){var{maxZoom:t,radius:n=60}=e,e=a(e,["maxZoom","radius"]);super({maxZoom:t}),this.state={zoom:-1},this.superCluster=new E(Object.assign({maxZoom:this.maxZoom,radius:n},e))}calculate(e){let t=!1;const n={zoom:e.map.getZoom()};if(!y(e.markers,this.markers)){t=!0,this.markers=[...e.markers];const n=this.markers.map(e=>{const t=s.getPosition(e);return{type:"Feature",geometry:{type:"Point",coordinates:[t.lng(),t.lat()]},properties:{marker:e}}});this.superCluster.load(n)}return t||(this.state.zoom<=this.maxZoom||n.zoom<=this.maxZoom)&&(t=!y(this.state,n)),this.state=n,t&&(this.clusters=this.cluster(e)),{clusters:this.clusters,changed:t}}cluster(e){let t=e["map"];return this.superCluster.getClusters([-180,-90,180,90],Math.round(t.getZoom())).map(e=>this.transformCluster(e))}transformCluster(e){var{geometry:{coordinates:[t,n]},properties:e}=e;if(e.cluster)return new o({markers:this.superCluster.getLeaves(e.cluster_id,1/0).map(e=>e.properties.marker),position:{lat:n,lng:t}});e=e.marker;return new o({markers:[e],position:s.getPosition(e)})}}class j{constructor(e,t){this.markers={sum:e.length};const n=t.map(e=>e.count),i=n.reduce((e,t)=>e+t,0);this.clusters={count:t.length,markers:{mean:i/t.length,sum:i,min:Math.min(...n),max:Math.max(...n)}}}}class z{render(e,t,n){var{count:i,position:r}=e,e=`<svg fill="${i>Math.max(10,t.clusters.markers.mean)?"#ff0000":"#0000ff"}" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 240 240" width="50" height="50">
|
|
192
|
+
`);function Y(e,t){var n=[e[0].latitude,e[0].longitude],i=U(e),n=l.createMarker(n,1<e.length,null);l.bindPopup(n,i,e.map(e=>parseInt(e.id_bigint)),t)}function Z(e,t){var n=[e.latitude,e.longitude],n=l.createMarker(n,1<e.membersOfGroup.length,null);l.addMarkerCallback(n,function(){crouton.openMeetingModal(e)})}var K=!1,Q=null;function J(t){return d.filter(e=>l.contains(t,e.latitude,e.longitude))}function X(){p=!0,c.map_search||ne(!1),l.addListener("dragend",ee,!0)}function ee(){p=!1,c.map_search&&f()?te():ne(!0)}function te(e){p||(n=null,corners=l.getCorners(),t&&l.contains(t,corners.ne.lat,corners.ne.lng)&&l.contains(t,corners.sw.lat,corners.sw.lng)?ne():pe("km")>c.maxTomatoWidth?(jQuery("#zoomed-out-message").removeClass("hide"),z()):(t=l.getBounds(),k(),crouton.searchByCoordinates(l.getCenter().lat,l.getCenter().lng,pe(),!1)))}function ne(e=!0){if(e==K&&!c.map_search)return e;let t=e?J(l.getBounds()):d,n=t.map(e=>e.id_bigint);return jQuery(".bmlt-data-row").each(function(e,t){t.dataset.visible=n.includes(t.id.split("-").pop())?"1":"0"}),jQuery("#byday").removeClass("hide"),jQuery("#filter-dropdown-visibile").val(e?"a-1":""),_=!1,crouton.simulateFilterDropdown(),_=!0,jQuery("#filteringByVisibility").html(e?"✔":""),(K=e)?Q=l.addListener("dragstart",X,!0):Q&&(l.removeListener(Q),Q=null),!e}function ie(){ne(!K)}function J(t){return d.filter(e=>l.contains(t,e.latitude,e.longitude))}function re(e){return ae(J(e))}function ae(e){e=e.filter(e=>2!=e.venue_type);return null!=n?e.filter(e=>n.includes(e.id_bigint)):e}var oe=!1;function se(){return(document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement)===s||oe}function le(e){var t=s;se()?e&&e.pseudoFullscreen?ce(!1):document.exitFullscreen?document.exitFullscreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitCancelFullScreen?document.webkitCancelFullScreen():document.msExitFullscreen?document.msExitFullscreen():_disablePseudoFullscreen(t):e&&e.pseudoFullscreen?ce(!0):t.requestFullscreen?t.requestFullscreen():t.mozRequestFullScreen?t.mozRequestFullScreen():t.webkitRequestFullscreen?t.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT):t.msRequestFullscreen?t.msRequestFullscreen():_enablePseudoFullscreen(t)}oe=!1;function ce(e){var t=s;(oe=e)?L.DomUtil.addClass(t,"leaflet-pseudo-fullscreen"):L.DomUtil.removeClass(t,"leaflet-pseudo-fullscreen"),l.invalidateSize()}function ue(e){return e*Math.PI/180}function de(e,t){var n=ue(t.lat-e.lat),i=ue(t.lng-e.lng),i=Math.sin(n/2)*Math.sin(n/2)+Math.cos(ue(e.lat))*Math.cos(ue(t.lat))*Math.sin(i/2)*Math.sin(i/2);return 6378137*(2*Math.atan2(Math.sqrt(i),Math.sqrt(1-i)))}function pe(e=!1){return e=e||crouton.config.distance_units,he(l.getCorners(),e)}function he(e,t="km"){return de(e.ne,e.sw)/2e3*("km"==t?1:.62137119)}function me(e){return he(l.getCorners(e),"km")}this.initialize=function e(t,n,i=null,r=null,a=!0,o,s){if(!l.isApiLoaded())return h(e,[t,n,i,r,a,o,s]),void l.loadApi();g(document.getElementById(t),i,r,o,s),P(n,a,!0)},this.showMap=function(e=!1,t=!0){e&&r?r.invalidateSize():(l.invalidateSize(),d&&t&&l.fitBounds((n?d.filter(e=>n.includes(e.id_bigint)):d).reduce(function(e,t){return e.push([t.latitude,t.longitude]),e},[])))},this.fillMap=function(e){n=e,d&&q(_&&!K)},this.rowClick=function(t){var e=d.find(e=>e.id_bigint==t);e&&(14<=l.getZoom()&&l.contains(l.getBounds(),e.latitude,e.longitude)?l.openMarker(t):l.setViewToPosition({latitude:e.latitude,longitude:e.longitude},re,function(){l.openMarker(t)}))},this.apiLoadedCallback=function(){i(...o)},this.refreshMeetings=P,this.getDistanceFromSearch=function(e){return!!a&&{km:(e=de(e,a))/1e3,miles:.00062137119*e}},this.openModalWindow=I,this.closeModalWindow=O,this.loadPopupMap=function e(t,n,i=null){if(!l.isApiLoaded())return h(e,[t,n,i]),void l.loadApi();t=document.getElementById(t);if(t){let e=new MapDelegate(c);i&&(loc={latitude:i.lat,longitude:i.lng,zoom:i.zoom}),e.createMap(t,loc)&&(t=e.createMarker([n.latitude,n.longitude],!1,null),e.bindPopup(t,null,n.id_bigint,!1),e.addClusterLayer(),r=e)}},this.filterVisible=ne,this.hasMapSearch=function(){return"map_search"in c}}function MapDelegate(e){const u=e;var d,r,a=null,o=null,s=null,l=null,p=null,n=null,t=null,h=!1,i=!1,m=[],f=!1,g=!1;function y(e,t,n){if(d){e="zoomend"===e?"zoom_changed":e;return n?google.maps.event.addListenerOnce(d,e,t):google.maps.event.addListener(d,e,t)}}function v(e,t){if(!d)return 12;var n=d.getZoom();if(u.map_search&&u.filter_visible&&1==u.filter_visible)return n;for(var i=d.getCenter(),r=d.getBounds(),a=!1;0==t(r,{lat:i.lat(),lng:i.lng()}).length&&6<n;){a=!0,--n;var o=new google.maps.LatLng({lat:2*r.getNorthEast().lat()-i.lat(),lng:2*r.getNorthEast().lng()-i.lng()}),s=new google.maps.LatLng({lat:2*r.getSouthWest().lat()-i.lat(),lng:2*r.getSouthWest().lng()-i.lng()}),r=new google.maps.LatLngBounds(s,o)}if(!e&&!a&&n<12){for(var l=t(r).length;n<12&&0<l;){n+=1;o=new google.maps.LatLng({lat:.5*(r.getNorthEast().lat()+i.lat()),lng:.5*(r.getNorthEast().lng()+i.lng())}),s=new google.maps.LatLng({lat:.5*(r.getSouthWest().lat()+i.lat()),lng:.5*(r.getSouthWest().lng()+i.lng())}),l=t(r=new google.maps.LatLngBounds(s,o)).length}0==l&&--n}return n}function _(e){e=e.id.split("-")[1];g=e,jQuery(".bmlt-data-row > td").removeClass("rowHighlight"),jQuery("#meeting-data-row-"+e+" > td").addClass("rowHighlight"),"undefined"==typeof crouton&&crouton.dayTabFromId(e)}function b(e){e.setZIndex(google.maps.Marker.MAX_ZINDEX+1),r.setContent(e.desc),r.open(d,e),r.addListener("visible",function(){jQuery("input[type=radio][name=panel]:checked").each(function(e,t){_(t)}),jQuery("input[type=radio][name=panel]").change(function(){_(this)})})}function A(t){var e;!d||(e=m.find(e=>e.ids.includes(t)))&&(jQuery("#panel-"+t).prop("checked",!0),b(e.marker))}function w(e){var t=function(e){d&&(d.fitBounds(this.response[0].geometry.viewport),d.setZoom(v(!0,this.filterMeetings)))}.bind({filterMeetings:this.filterMeetings,response:e});e&&e[0]&&e[0].geometry&&e[0].geometry.location?(d.panTo(e[0].geometry.location),google.maps.event.addListenerOnce(d,"idle",t)):alert(crouton.localization.getWord("address_lookup_fail"))}this.createMap=function(e,t,n=!1){if(n)return gDiv=e,gDiv.style.height="auto",gDiv.style.marginBottom="10px",d=null,gDiv;a=new google.maps.MarkerImage(u.BMLTPlugin_images+"/NAMarker.png",new google.maps.Size(23,32),new google.maps.Point(0,0),new google.maps.Point(12,32)),o=new google.maps.MarkerImage(u.BMLTPlugin_images+"/NAMarkerG.png",new google.maps.Size(23,32),new google.maps.Point(0,0),new google.maps.Point(12,32)),s=new google.maps.MarkerImage(u.BMLTPlugin_images+"/NAMarkerSel.png",new google.maps.Size(23,32),new google.maps.Point(0,0),new google.maps.Point(12,32)),g_icon_image_searchpoint=new google.maps.MarkerImage(u.BMLTPlugin_images+"/SearchPoint.png",new google.maps.Size(23,32),new google.maps.Point(0,0),new google.maps.Point(12,32)),l=new google.maps.MarkerImage(u.BMLTPlugin_images+"/NAMarkerS.png",new google.maps.Size(43,32),new google.maps.Point(0,0),new google.maps.Point(12,32)),p={coord:[16,0,18,1,19,2,20,3,21,4,21,5,22,6,22,7,22,8,22,9,22,10,22,11,22,12,22,13,22,14,22,15,22,16,21,17,21,18,22,19,20,20,19,21,20,22,18,23,17,24,18,25,17,26,15,27,14,28,15,29,12,30,12,31,10,31,10,30,9,29,8,28,8,27,7,26,6,25,5,24,5,23,4,22,3,21,3,20,2,19,1,18,1,17,1,16,0,15,0,14,0,13,0,12,0,11,0,10,0,9,0,8,0,7,1,6,1,5,2,4,2,3,3,2,5,1,6,0,16,0],type:"poly"};var i={mapTypeId:google.maps.MapTypeId.ROADMAP,zoomControl:!0,minZoom:u.minZoom,maxZoom:u.maxZoom,mapTypeControl:!1,streetViewControl:!0,disableDoubleClickZoom:!0,draggableCursor:"pointer",scaleControl:!0,fullscreenControl:!!u.map_search};return t&&(i=Object.assign(i,{center:new google.maps.LatLng(t.latitude,t.longitude),zoom:parseInt(t.zoom)})),n=e.offsetWidth,t=e.offsetHeight,n<640||t<640?(i.scrollwheel=!0,i.zoomControlOptions={style:google.maps.ZoomControlStyle.SMALL}):i.zoomControlOptions={style:google.maps.ZoomControlStyle.LARGE},r=new google.maps.InfoWindow,d=new google.maps.Map(e,i)},this.addListener=y,this.addControl=function(t,e,n){if(d){var i=e;switch(e){case"topright":i=google.maps.ControlPosition.TOP_RIGHT,t.style.margin="10px 10px 0 0";break;case"topleft":i=google.maps.ControlPosition.TOP_LEFT,t.style.margin="10px 0 0 10px";break;case"bottomleft":i=google.maps.ControlPosition.LEFT_BOTTOM,t.style.margin="0 0 0px 10px"}if(t.index=1,n){const r=new MutationObserver(function(e){e.forEach(e=>{e.addedNodes.forEach(e=>{e===t&&(r.disconnect(),n())})})});r.observe(document,{childList:!0,subtree:!0})}d.controls[i].push(t)}else gDiv.appendChild(t)},this.setViewToPosition=function(e,t,n){d&&(e=new google.maps.LatLng(e.latitude,e.longitude),d.setCenter(e),d.setZoom(v(!1,t)),n&&n())},this.clearAllMarkers=function(){d&&(m&&m.forEach(function(e){e&&e.marker.info_win&&m[c].marker.info_win_.close(),e.marker.setMap(null)}),g=!(m=[]))},this.fromLatLngToPoint=function(e,t){return d?(e=new google.maps.LatLng(e,t),t=1<<d.getZoom(),e=d.getProjection().fromLatLngToPoint(e),new google.maps.Point(e.x*t,e.y*t)):null},this.callGeocoder=function(e,t,n=w){var i=new google.maps.Geocoder;i?(e={address:e},u.region&&""!==u.region.trim()&&(e.region=u.region),u.bounds&&u.bounds.north&&""!==u.bounds.north.trim()&&u.bounds.east&&""!==u.bounds.east.trim()&&u.bounds.south&&""!==u.bounds.south.trim()&&u.bounds.west&&""!==u.bounds.west.trim()&&(e.bounds=new google.maps.LatLngBounds(new google.maps.LatLng(u.bounds.south,u.bounds.west),new google.maps.LatLng(u.bounds.north,u.bounds.east))),t&&(n=n.bind({filterMeetings:t})),i.geocode(e,n)):alert(crouton.localization.getWord("address_lookup_fail"))},this.setZoom=function(e){d&&d.setZoom(v(!1,e))},this.getZoom=function(){return d?d.getZoom():12},this.createMarker=function(e,t,n){if(d){var i=t?o:a,t=null;return(t=new google.maps.Marker({position:new google.maps.LatLng(...e),shadow:l,icon:i,shape:p,cursor:"default",title:n,draggable:!1})).zIndex=999,t.old_image=t.getIcon(),t}},this.bindPopup=function(e,t,n,i){t&&(e.desc=t,google.maps.event.addListener(e,"click",function(){m.forEach(e=>e.marker.setIcon(e.marker.old_image)),e.old_image&&e.setIcon(s),b(e)}),n.includes(parseInt(A))&&b(e),r.addListener("closeclick",function(){g=!1,m.forEach(e=>e.marker.setIcon(e.marker.old_image)),jQuery(".bmlt-data-row > td").removeClass("rowHighlight")})),m[m.length]={ids:n,marker:e}},this.addMarkerCallback=function(e,t,n){t&&e.addListener("click",()=>{t(n)}),m.push({ids:n,marker:e})},this.contains=function(e,t,n){return!d||e.contains(new google.maps.LatLng(t,n))},this.getBounds=function(){return d?d.getBounds():null},this.invalidateSize=function(){},this.zoomOut=function(e){d&&d.setZoom(v(!0,e))},this.fitBounds=function(e){if(d){google.maps.event.addListenerOnce(d,"bounds_changed",function(){d.setZoom(parseInt(Math.min(d.getZoom(),u.maxZoom)))});let n=new google.maps.LatLngBounds;n&&(e=e.reduce(function(e,t){return null===e?n:e.extend(new google.maps.LatLng(t[0],t[1]))},n),d.fitBounds(e))}},this.openMarker=A,this.isApiLoaded=function(){return h},this.loadApi=function(e,t){var n=document.createElement("script");h=!0,void 0===u.api_key&&(u.api_key=""),n.src="https://maps.googleapis.com/maps/api/js?key="+u.api_key+"&callback=croutonMap.apiLoadedCallback",n.defer=!0,n.async=!0;var i=document.getElementsByTagName("script")[0];i.parentNode.insertBefore(n,i)},this.createClusterLayer=function(){i=!0},this.addClusterLayer=function(){if(d){let e=m.map(e=>e.marker);i?(t=new markerClusterer.MarkerClusterer({map:d,markers:e,imagePath:"https://developers.google.com/maps/documentation/javascript/examples/markerclusterer/m"}),(n=new OverlappingMarkerSpiderfier(d,{markersWontMove:!0,markersWontHide:!0})).addListener("format",function(e,t){t=t===OverlappingMarkerSpiderfier.markerStatus.SPIDERFIED||t===OverlappingMarkerSpiderfier.markerStatus.SPIDERFIABLE||t===OverlappingMarkerSpiderfier.markerStatus.UNSPIDERFIED?o:t===OverlappingMarkerSpiderfier.markerStatus.UNSPIDERFIABLE?a:null;e.setIcon(t)}),google.maps.event.addListener(d,"zoom_changed",function(){"undefined"!=d.getProjection()&&google.maps.event.addListenerOnce(d,"idle",function(){if("undefined"!=d.getProjection()&&null!=n)for(var e=n.markersNearAnyOtherMarker(),t=0;t<e.length;t++)e[t].icon=o})}),n.addListener("click",function(e){e.zIndex=999,r.setContent(e.desc),r.open(d,e)}),e.forEach(e=>n.addMarker(e))):e.forEach(e=>e.setMap(d))}},this.removeClusterLayer=function(){d&&(i=!1,t&&t.setMap(null),t=null,n&&(n.removeAllMarkers(),n.clearListeners("click"),n=null))},this.clickSearch=function(e,t){d&&(d.setOptions({draggableCursor:"crosshair",zoomControl:!1,gestureHandling:"none"}),google.maps.event.addListenerOnce(d,"click",function(e){d.setOptions({draggableCursor:"default",zoomControl:!0,gestureHandling:"auto"}),t(e.latLng.lat(),e.latLng.lng())}))},this.getGeocodeCenter=function(e){if(e&&e[0]&&e[0].geometry&&e[0].geometry.location)return{lat:e[0].geometry.location.lat(),lng:e[0].geometry.location.lng()};alert(crouton.localization.getWord("address_lookup_fail"))},this.modalOn=function(){},this.modalOff=function(){},this.removeListener=function(e){d&&e.remove()},this.afterInit=function(e){d&&(void 0!==d.getBounds()?e():y("idle",e,!0))},this.isMapDefined=function(){return null!=d},this.getCorners=function(e=!1){return{ne:{lat:(e=e?e.reduce(function(e,t){return e.extend(new google.maps.LatLng(t[0],t[1]))},new google.maps.LatLngBounds):d.getBounds()).getNorthEast().lat(),lng:e.getNorthEast().lng()},sw:{lat:e.getSouthWest().lat(),lng:e.getSouthWest().lng()}}},this.getCenter=function(){var e=d.getCenter();return{lat:e.lat(),lng:e.lng()}},this.markSearchPoint=function(e){d&&(f&&f.setMap(null),(f=new google.maps.Marker({position:new google.maps.LatLng(...e)})).setIcon(g_icon_image_searchpoint),f.setMap(d))},this.getOpenMarker=function(){return g}}Crouton.prototype.renderMeetingCount=function(){var e=this;e.lock(function(){e.updateMeetingCount()})},Crouton.prototype.simulateFilterDropdown=function(){self=this,jQuery(".bmlt-page:not(#byfield_embeddedMapPage)").each(function(){self.hidePage(this)}),self.filterMeetingsFromView()},Crouton.prototype.getAdjustedDateTime=function(e,t,n){var i=!0===this.config.auto_tz_adjust||"true"===this.config.auto_tz_adjust,r=i?(n=n||"UTC",(r=moment.tz(n).set({hour:t.split(":")[0],minute:t.split(":")[1],second:0}).isoWeekday(e)).clone().tz(moment.tz.guess())):moment().set({hour:t.split(":")[0],minute:t.split(":")[1],second:0}).isoWeekday(e),i=i?moment.tz(moment.tz.guess()):moment();return(r<i||i.isoWeekday()==r.isoWeekday()&&0==r.diff(i,"days"))&&r.add(1,"weeks"),r},Array.prototype.clone=function(){return this.slice()},Array.prototype.filterByObjectKeyValue=function(e,t){for(var n=[],i=0;i<this.length;i++)this[i][e]===t&&n.push(this[i]);return n},Array.prototype.getArrayItemByObjectKeyValue=function(e,t){for(var n=0;n<this.length;n++)if(this[n][e]===t)return this[n]},Array.prototype.clean=function(){for(var e=0;e<this.length;e++)""===this[e]&&(this.splice(e,1),e--);return this},Array.prototype.sortByKey=function(n){return this.sort(function(e,t){return e[n]<t[n]?-1:e[n]>t[n]?1:0}),this},MeetingMap.prototype.initialize=null,MeetingMap.prototype.showMap=null,MeetingMap.prototype.fillMap=null,MeetingMap.prototype.rowClick=null,MeetingMap.prototype.apiLoadedCallback=null,MeetingMap.prototype.refreshMeetings=null,MeetingMap.prototype.getDistanceFromSearch=null,MeetingMap.prototype.openModalWindow=null,MeetingMap.prototype.closeModalWindow=null,MeetingMap.prototype.loadPopupMap=null,MeetingMap.prototype.filterVisible=null,MeetingMap.prototype.hasMapSearch=null,MapDelegate.prototype.createMap=null,MapDelegate.prototype.addListener=null,MapDelegate.prototype.removeListener=null,MapDelegate.prototype.addControl=null,MapDelegate.prototype.setViewToPosition=null,MapDelegate.prototype.clearAllMarkers=null,MapDelegate.prototype.fromLatLngToPoint=null,MapDelegate.prototype.callGeocoder=null,MapDelegate.prototype.setZoom=null,MapDelegate.prototype.getZoom=null,MapDelegate.prototype.createMarker=null,MapDelegate.prototype.bindPopup=null,MapDelegate.prototype.addMarkerCallback=null,MapDelegate.prototype.contains=null,MapDelegate.prototype.getBounds=null,MapDelegate.prototype.invalidateSize=null,MapDelegate.prototype.zoomOut=null,MapDelegate.prototype.fitBounds=null,MapDelegate.prototype.isApiLoaded=null,MapDelegate.prototype.loadApi=null,MapDelegate.prototype.openMarker=null,MapDelegate.prototype.createClusterLayer=null,MapDelegate.prototype.addClusterLayer=null,MapDelegate.prototype.removeClusterLayer=null,MapDelegate.prototype.clickSearch=null,MapDelegate.prototype.getGeocodeCenter=null,MapDelegate.prototype.modalOn=null,MapDelegate.prototype.modalOff=null,MapDelegate.prototype.afterInit=null,MapDelegate.prototype.isMapDefined=null,MapDelegate.prototype.getCorners=null,MapDelegate.prototype.getCenter=null,MapDelegate.prototype.markSearchPoint=null,MapDelegate.prototype.getOpenMarker=null;var markerClusterer=function(r){"use strict";function a(e,t){var n={};for(r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n}class s{static isAdvancedMarkerAvailable(e){return google.maps.marker&&!0===e.getMapCapabilities().isAdvancedMarkersAvailable}static isAdvancedMarker(e){return google.maps.marker&&e instanceof google.maps.marker.AdvancedMarkerElement}static setMap(e,t){this.isAdvancedMarker(e)?e.map=t:e.setMap(t)}static getPosition(e){if(this.isAdvancedMarker(e)){if(e.position){if(e.position instanceof google.maps.LatLng)return e.position;if(e.position.lat&&e.position.lng)return new google.maps.LatLng(e.position.lat,e.position.lng)}return new google.maps.LatLng(null)}return e.getPosition()}static getVisible(e){return!!this.isAdvancedMarker(e)||e.getVisible()}}class o{constructor(e){var{markers:t,position:e}=e;this.markers=t,e&&(e instanceof google.maps.LatLng?this._position=e:this._position=new google.maps.LatLng(e))}get bounds(){if(0!==this.markers.length||this._position){const e=new google.maps.LatLngBounds(this._position,this._position);for(const t of this.markers)e.extend(s.getPosition(t));return e}}get position(){return this._position||this.bounds.getCenter()}get count(){return this.markers.filter(e=>s.getVisible(e)).length}push(e){this.markers.push(e)}delete(){this.marker&&(s.setMap(this.marker,null),this.marker=void 0),this.markers.length=0}}const l=(e,t,n,i)=>{const r=c(e.getBounds(),t,i);return n.filter(e=>r.contains(s.getPosition(e)))},c=(e,t,n)=>{var{northEast:i,southWest:e}=d(e,t),n=p({northEast:i,southWest:e},n);return h(n,t)},i=(e,t,n)=>{const i=c(e,t,n),r=i.getNorthEast(),a=i.getSouthWest();return[a.lng(),a.lat(),r.lng(),r.lat()]},u=(e,t)=>{var n=(t.lat-e.lat)*Math.PI/180,i=(t.lng-e.lng)*Math.PI/180,n=Math.sin(n/2),i=Math.sin(i/2),i=n*n+Math.cos(e.lat*Math.PI/180)*Math.cos(t.lat*Math.PI/180)*i*i;return 2*Math.atan2(Math.sqrt(i),Math.sqrt(1-i))*6371},d=(e,t)=>({northEast:t.fromLatLngToDivPixel(e.getNorthEast()),southWest:t.fromLatLngToDivPixel(e.getSouthWest())}),p=(e,t)=>{let{northEast:n,southWest:i}=e;return n.x+=t,n.y-=t,i.x-=t,i.y+=t,{northEast:n,southWest:i}},h=(e,t)=>{var{northEast:n,southWest:e}=e,e=t.fromDivPixelToLatLng(e),n=t.fromDivPixelToLatLng(n);return new google.maps.LatLngBounds(e,n)};class e{constructor(e){var{maxZoom:e=16}=e;this.maxZoom=e}noop(e){var e=e["markers"];return n(e)}}class t extends e{constructor(e){var{viewportPadding:t=60}=e;super(a(e,["viewportPadding"])),this.viewportPadding=60,this.viewportPadding=t}calculate(e){let{markers:t,map:n,mapCanvasProjection:i}=e;return n.getZoom()>=this.maxZoom?{clusters:this.noop({markers:t}),changed:!1}:{clusters:this.cluster({markers:l(n,i,t,this.viewportPadding),map:n,mapCanvasProjection:i})}}}const n=e=>e.map(e=>new o({position:s.getPosition(e),markers:[e]}));var m,f,g,y=(m=function e(t,n){if(t===n)return!0;if(t&&n&&"object"==typeof t&&"object"==typeof n){if(t.constructor!==n.constructor)return!1;var i,r,a;if(Array.isArray(t)){if((i=t.length)!=n.length)return!1;for(r=i;0!=r--;)if(!e(t[r],n[r]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if((i=(a=Object.keys(t)).length)!==Object.keys(n).length)return!1;for(r=i;0!=r--;)if(!Object.prototype.hasOwnProperty.call(n,a[r]))return!1;for(r=i;0!=r--;){var o=a[r];if(!e(t[o],n[o]))return!1}return!0}return t!=t&&n!=n})&&m.__esModule&&Object.prototype.hasOwnProperty.call(m,"default")?m.default:m;const v=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];class _{static from(e){if(!(e instanceof ArrayBuffer))throw new Error("Data must be an instance of ArrayBuffer.");var[t,n]=new Uint8Array(e,0,2);if(219!==t)throw new Error("Data does not appear to be in a KDBush format.");var i=n>>4;if(1!=i)throw new Error(`Got v${i} data when expected v1.`);t=v[15&n];if(!t)throw new Error("Unrecognized array type.");var[i]=new Uint16Array(e,2,1),[n]=new Uint32Array(e,4,1);return new _(n,i,t,e)}constructor(e,t=64,n=Float64Array,i){if(isNaN(e)||e<0)throw new Error(`Unpexpected numItems value: ${e}.`);this.numItems=+e,this.nodeSize=Math.min(Math.max(+t,2),65535),this.ArrayType=n,this.IndexArrayType=e<65536?Uint16Array:Uint32Array;var r=v.indexOf(this.ArrayType),a=2*e*this.ArrayType.BYTES_PER_ELEMENT,o=e*this.IndexArrayType.BYTES_PER_ELEMENT,s=(8-o%8)%8;if(r<0)throw new Error(`Unexpected typed array class: ${n}.`);i&&i instanceof ArrayBuffer?(this.data=i,this.ids=new this.IndexArrayType(this.data,8,e),this.coords=new this.ArrayType(this.data,8+o+s,2*e),this._pos=2*e,this._finished=!0):(this.data=new ArrayBuffer(8+a+o+s),this.ids=new this.IndexArrayType(this.data,8,e),this.coords=new this.ArrayType(this.data,8+o+s,2*e),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,16+r]),new Uint16Array(this.data,2,1)[0]=t,new Uint32Array(this.data,4,1)[0]=e)}add(e,t){var n=this._pos>>1;return this.ids[n]=n,this.coords[this._pos++]=e,this.coords[this._pos++]=t,n}finish(){var e=this._pos>>1;if(e!==this.numItems)throw new Error(`Added ${e} items when expected ${this.numItems}.`);return function e(t,n,i,r,a,o){if(a-r<=i)return;const s=r+a>>1;b(t,n,s,r,a,o),e(t,n,i,r,s-1,1-o),e(t,n,i,1+s,a,1-o)}(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(t,n,i,r){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");const{ids:a,coords:o,nodeSize:e}=this,s=[0,a.length-1,0],l=[];for(;s.length;){var c=s.pop()||0,u=s.pop()||0,d=s.pop()||0;if(u-d<=e)for(let e=d;e<=u;e++){const s=o[2*e],f=o[2*e+1];s>=t&&s<=i&&n<=f&&f<=r&&l.push(a[e])}else{var p=d+u>>1,h=o[2*p],m=o[2*p+1];t<=h&&h<=i&&n<=m&&m<=r&&l.push(a[p]),(0===c?t<=h:n<=m)&&(s.push(d),s.push(p-1),s.push(1-c)),(0===c?h<=i:m<=r)&&(s.push(1+p),s.push(u),s.push(1-c))}}return l}within(t,n,e){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");const{ids:i,coords:r,nodeSize:a}=this,o=[0,i.length-1,0],s=[],l=e*e;for(;o.length;){var c=o.pop()||0,u=o.pop()||0,d=o.pop()||0;if(u-d<=a)for(let e=d;e<=u;e++)k(r[2*e],r[2*e+1],t,n)<=l&&s.push(i[e]);else{var p=d+u>>1,h=r[2*p],m=r[2*p+1];k(h,m,t,n)<=l&&s.push(i[p]),(0===c?t-e<=h:n-e<=m)&&(o.push(d),o.push(p-1),o.push(1-c)),(0===c?h<=t+e:m<=n+e)&&(o.push(1+p),o.push(u),o.push(1-c))}}return s}}function b(n,i,r,a,o,s){for(;a<o;){var l,c,u,d;600<o-a&&(l=o-a+1,c=r-a+1,d=Math.log(l),u=.5*Math.exp(2*d/3),d=.5*Math.sqrt(d*u*(l-u)/l)*(c-l/2<0?-1:1),b(n,i,r,Math.max(a,Math.floor(r-c*u/l+d)),Math.min(o,Math.floor(r+(l-c)*u/l+d)),s));var p=i[2*r+s];let e=a,t=o;for(A(n,i,a,r),i[2*o+s]>p&&A(n,i,a,o);e<t;){for(A(n,i,e,t),e++,t--;i[2*e+s]<p;)e++;for(;i[2*t+s]>p;)t--}i[2*a+s]===p?A(n,i,a,t):(t++,A(n,i,t,o)),t<=r&&(a=t+1),r<=t&&(o=t-1)}}function A(e,t,n,i){w(e,n,i),w(t,2*n,2*i),w(t,2*n+1,2*i+1)}function w(e,t,n){var i=e[t];e[t]=e[n],e[n]=i}function k(e,t,n,i){n=e-n,i=t-i;return n*n+i*i}const S={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:e=>e},M=Math.fround||(f=new Float32Array(1),e=>(f[0]=+e,f[0])),P=3,x=5,C=6;class E{constructor(e){this.options=Object.assign(Object.create(S),e),this.trees=new Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[]}load(t){const{log:n,minZoom:i,maxZoom:r}=this.options;n&&console.time("total time");const a=`prepare ${t.length} points`;n&&console.time(a),this.points=t;const o=[];for(let e=0;e<t.length;e++){const i=t[e];if(i.geometry){const[r,a]=i.geometry.coordinates,s=M(O(r)),l=M(L(a));o.push(s,l,1/0,e,-1,1),this.options.reduce&&o.push(0)}}let s=this.trees[r+1]=this._createTree(o);n&&console.timeEnd(a);for(let e=r;e>=i;e--){const i=+Date.now();s=this.trees[e]=this._createTree(this._cluster(s,e)),n&&console.log("z%d: %d clusters in %dms",e,s.numItems,+Date.now()-i)}return n&&console.timeEnd("total time"),this}getClusters(e,t){let n=((e[0]+180)%360+360)%360-180;var i=Math.max(-90,Math.min(90,e[1]));let r=180===e[2]?180:((e[2]+180)%360+360)%360-180;var a=Math.max(-90,Math.min(90,e[3]));if(360<=e[2]-e[0])n=-180,r=180;else if(n>r){const e=this.getClusters([n,i,180,a],t),o=this.getClusters([-180,i,r,a],t);return e.concat(o)}const o=this.trees[this._limitZoom(t)],s=o.range(O(n),L(a),O(r),L(i)),l=o.data,c=[];for(const e of s){const t=this.stride*e;c.push(1<l[t+x]?T(l,t,this.clusterProps):this.points[l[t+P]])}return c}getChildren(e){const t=this._getOriginId(e),n=this._getOriginZoom(e),i="No cluster with the specified id.",r=this.trees[n];if(!r)throw new Error(i);var a=r.data;if(t*this.stride>=a.length)throw new Error(i);const o=this.options.radius/(this.options.extent*Math.pow(2,n-1)),s=a[t*this.stride],l=a[t*this.stride+1],c=r.within(s,l,o),u=[];for(const t of c){const n=t*this.stride;a[4+n]===e&&u.push(1<a[n+x]?T(a,n,this.clusterProps):this.points[a[n+P]])}if(0===u.length)throw new Error(i);return u}getLeaves(e,t,n){var i=[];return this._appendLeaves(i,e,t=t||10,n=n||0,0),i}getTile(e,t,n){const i=this.trees[this._limitZoom(e)],r=Math.pow(2,e),{extent:a,radius:o}=this.options,s=o/a,l=(n-s)/r,c=(n+1+s)/r,u={features:[]};return this._addTileFeatures(i.range((t-s)/r,l,(t+1+s)/r,c),i.data,t,n,r,u),0===t&&this._addTileFeatures(i.range(1-s/r,l,1,c),i.data,r,n,r,u),t===r-1&&this._addTileFeatures(i.range(0,l,s/r,c),i.data,-1,n,r,u),u.features.length?u:null}getClusterExpansionZoom(e){let t=this._getOriginZoom(e)-1;for(;t<=this.options.maxZoom;){var n=this.getChildren(e);if(t++,1!==n.length)break;e=n[0].properties.cluster_id}return t}_appendLeaves(e,t,n,i,r){const a=this.getChildren(t);for(const t of a){const a=t.properties;if(a&&a.cluster?r+a.point_count<=i?r+=a.point_count:r=this._appendLeaves(e,a.cluster_id,n,i,r):r<i?r++:e.push(t),e.length===n)break}return r}_createTree(t){const n=new _(t.length/this.stride|0,this.options.nodeSize,Float32Array);for(let e=0;e<t.length;e+=this.stride)n.add(t[e],t[e+1]);return n.finish(),n.data=t,n}_addTileFeatures(i,r,a,o,s,l){for(const u of i){const i=u*this.stride,d=1<r[i+x];let e,t,n;if(d)e=D(r,i,this.clusterProps),t=r[i],n=r[1+i];else{const a=this.points[r[i+P]];e=a.properties;const[o,s]=a.geometry.coordinates;t=O(o),n=L(s)}const p={type:1,geometry:[[Math.round(this.options.extent*(t*s-a)),Math.round(this.options.extent*(n*s-o))]],tags:e};var c=d||this.options.generateId?r[i+P]:this.points[r[i+P]].id;void 0!==c&&(p.id=c),l.features.push(p)}}_limitZoom(e){return Math.max(this.options.minZoom,Math.min(Math.floor(+e),this.options.maxZoom+1))}_cluster(e,o){const{radius:t,extent:s,reduce:l,minPoints:n}=this.options,i=t/(s*Math.pow(2,o)),c=e.data,u=[],d=this.stride;for(let a=0;a<c.length;a+=d)if(!(c[a+2]<=o)){c[a+2]=o;const s=c[a],m=c[a+1],f=e.within(c[a],c[a+1],i),g=c[a+x];let r=g;for(const e of f){const t=e*d;c[2+t]>o&&(r+=c[t+x])}if(r>g&&r>=n){let e,t=s*g,n=m*g,i=-1;var p,h=((a/d|0)<<5)+(o+1)+this.points.length;for(const s of f){const u=s*d;c[2+u]<=o||(c[2+u]=o,p=c[u+x],t+=c[u]*p,n+=c[1+u]*p,c[4+u]=h,l&&(e||(e=this._map(c,a,!0),i=this.clusterProps.length,this.clusterProps.push(e)),l(e,this._map(c,u))))}c[a+4]=h,u.push(t/r,n/r,1/0,h,-1,r),l&&u.push(i)}else{for(let e=0;e<d;e++)u.push(c[a+e]);if(1<r)for(const e of f){const t=e*d;if(!(c[2+t]<=o)){c[2+t]=o;for(let e=0;e<d;e++)u.push(c[t+e])}}}}return u}_getOriginId(e){return e-this.points.length>>5}_getOriginZoom(e){return(e-this.points.length)%32}_map(e,t,n){if(1<e[t+x]){const i=this.clusterProps[e[t+C]];return n?Object.assign({},i):i}const i=this.points[e[t+P]].properties,r=this.options.map(i);return n&&r===i?Object.assign({},r):r}}function T(e,t,n){return{type:"Feature",id:e[t+P],properties:D(e,t,n),geometry:{type:"Point",coordinates:[360*(e[t]-.5),function(e){e=(180-360*e)*Math.PI/180;return 360*Math.atan(Math.exp(e))/Math.PI-90}(e[t+1])]}}}function D(e,t,n){var i=e[t+x],r=1e4<=i?Math.round(i/1e3)+"k":1e3<=i?Math.round(i/100)/10+"k":i,a=e[t+C],a=-1===a?{}:Object.assign({},n[a]);return Object.assign(a,{cluster:!0,cluster_id:e[t+P],point_count:i,point_count_abbreviated:r})}function O(e){return e/360+.5}function L(e){e=Math.sin(e*Math.PI/180),e=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return e<0?0:1<e?1:e}class I extends e{constructor(e){var{maxZoom:t,radius:n=60}=e,e=a(e,["maxZoom","radius"]);super({maxZoom:t}),this.state={zoom:-1},this.superCluster=new E(Object.assign({maxZoom:this.maxZoom,radius:n},e))}calculate(e){let t=!1;const n={zoom:e.map.getZoom()};if(!y(e.markers,this.markers)){t=!0,this.markers=[...e.markers];const n=this.markers.map(e=>{const t=s.getPosition(e);return{type:"Feature",geometry:{type:"Point",coordinates:[t.lng(),t.lat()]},properties:{marker:e}}});this.superCluster.load(n)}return t||(this.state.zoom<=this.maxZoom||n.zoom<=this.maxZoom)&&(t=!y(this.state,n)),this.state=n,t&&(this.clusters=this.cluster(e)),{clusters:this.clusters,changed:t}}cluster(e){let t=e["map"];return this.superCluster.getClusters([-180,-90,180,90],Math.round(t.getZoom())).map(e=>this.transformCluster(e))}transformCluster(e){var{geometry:{coordinates:[t,n]},properties:e}=e;if(e.cluster)return new o({markers:this.superCluster.getLeaves(e.cluster_id,1/0).map(e=>e.properties.marker),position:{lat:n,lng:t}});e=e.marker;return new o({markers:[e],position:s.getPosition(e)})}}class j{constructor(e,t){this.markers={sum:e.length};const n=t.map(e=>e.count),i=n.reduce((e,t)=>e+t,0);this.clusters={count:t.length,markers:{mean:i/t.length,sum:i,min:Math.min(...n),max:Math.max(...n)}}}}class z{render(e,t,n){var{count:i,position:r}=e,e=`<svg fill="${i>Math.max(10,t.clusters.markers.mean)?"#ff0000":"#0000ff"}" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 240 240" width="50" height="50">
|
|
193
193
|
<circle cx="120" cy="120" opacity=".6" r="70" />
|
|
194
194
|
<circle cx="120" cy="120" opacity=".3" r="90" />
|
|
195
195
|
<circle cx="120" cy="120" opacity=".2" r="110" />
|