(function(){var g,r,w,z,u,A={}.hasOwnProperty,B=[].slice;this.OverlappingMarkerSpiderfier=function(){function t(a,d){var b,f,e;this.map=a;null==d&&(d={});null==this.constructor.N&&(this.constructor.N=!0,k=google.maps,m=k.event,p=k.MapTypeId,c.keepSpiderfied=!1,c.ignoreMapClick=!1,c.markersWontHide=!1,c.markersWontMove=!1,c.basicFormatEvents=!1,c.nearbyDistance=20,c.circleSpiralSwitchover=9,c.circleFootSeparation=23,c.circleStartAngle=x/12,c.spiralFootSeparation=26,c.spiralLengthStart=11,c.spiralLengthFactor=4,c.spiderfiedZIndex=k.Marker.MAX_ZINDEX+2e4,c.highlightedLegZIndex=k.Marker.MAX_ZINDEX+1e4,c.usualLegZIndex=k.Marker.MAX_ZINDEX+1,c.legWeight=1.5,c.legColors={usual:{},highlighted:{}},e=c.legColors.usual,f=c.legColors.highlighted,e[p.HYBRID]=e[p.SATELLITE]="#fff",f[p.HYBRID]=f[p.SATELLITE]="#f00",e[p.TERRAIN]=e[p.ROADMAP]="#444",f[p.TERRAIN]=f[p.ROADMAP]="#f00",this.constructor.j=function(a){return this.setMap(a)},this.constructor.j.prototype=new k.OverlayView,this.constructor.j.prototype.draw=function(){});for(b in d)A.call(d,b)&&(f=d[b],this[b]=f);this.g=new this.constructor.j(this.map);this.C();this.c={};this.B=this.l=null;this.addListener("click",function(a,b){return m.trigger(a,"spider_click",b)});this.addListener("format",function(a,b){return m.trigger(a,"spider_format",b)});this.ignoreMapClick||m.addListener(this.map,"click",function(a){return function(){return a.unspiderfy()}}(this));m.addListener(this.map,"maptypeid_changed",function(a){return function(){return a.unspiderfy()}}(this));m.addListener(this.map,"zoom_changed",function(a){return function(){a.unspiderfy();if(!a.basicFormatEvents)return a.h()}}(this))}var m,k,g,v,p,c,r,x,u;c=t.prototype;r=[t,c];g=0;for(v=r.length;g<v;g++)u=r[g],u.VERSION="1.0.1";x=2*Math.PI;k=m=p=null;t.markerStatus={SPIDERFIED:"SPIDERFIED",SPIDERFIABLE:"SPIDERFIABLE",UNSPIDERFIABLE:"UNSPIDERFIABLE",UNSPIDERFIED:"UNSPIDERFIED"};c.C=function(){this.a=[];this.s=[]};c.addMarker=function(a,d){a.setMap(this.map);return this.trackMarker(a,d)};c.trackMarker=function(a,d){var b;if(null!=a._oms)return this;a._oms=!0;b=[m.addListener(a,"click",function(b){return function(d){return b.V(a,d)}}(this))];this.markersWontHide||b.push(m.addListener(a,"visible_changed",function(b){return function(){return b.D(a,!1)}}(this)));this.markersWontMove||b.push(m.addListener(a,"position_changed",function(b){return function(){return b.D(a,!0)}}(this)));null!=d&&b.push(m.addListener(a,"spider_click",d));this.s.push(b);this.a.push(a);this.basicFormatEvents?this.trigger("format",a,this.constructor.markerStatus.UNSPIDERFIED):this.h();return this};c.D=function(a,d){if(!this.J&&!this.K)return null==a._omsData||!d&&a.getVisible()||this.unspiderfy(d?a:null),this.h()};c.getMarkers=function(){return this.a.slice(0)};c.removeMarker=function(a){this.forgetMarker(a);return a.setMap(null)};c.forgetMarker=function(a){var d,b,f,e,h;null!=a._omsData&&this.unspiderfy();d=this.A(this.a,a);if(0>d)return this;h=this.s.splice(d,1)[0];b=0;for(f=h.length;b<f;b++)e=h[b],m.removeListener(e);delete a._oms;this.a.splice(d,1);this.h();return this};c.removeAllMarkers=c.clearMarkers=function(){var a,d,b,f;f=this.getMarkers();this[forgetAllMarkers]();a=0;for(d=f.length;a<d;a++)b=f[a],b.setMap(null);return this};c.forgetAllMarkers=function(){var a,d,b,f,e,h,c,n;this.unspiderfy();n=this.a;a=d=0;for(b=n.length;d<b;a=++d){h=n[a];e=this.s[a];c=0;for(a=e.length;c<a;c++)f=e[c],m.removeListener(f);delete h._oms}this.C();return this};c.addListener=function(a,d){var b;(null!=(b=this.c)[a]?b[a]:b[a]=[]).push(d);return this};c.removeListener=function(a,d){var b;b=this.A(this.c[a],d);0>b||this.c[a].splice(b,1);return this};c.clearListeners=function(a){this.c[a]=[];return this};c.trigger=function(){var a,d,b,f,e,h;d=arguments[0];a=2<=arguments.length?B.call(arguments,1):[];d=null!=(b=this.c[d])?b:[];h=[];f=0;for(e=d.length;f<e;f++)b=d[f],h.push(b.apply(null,a));return h};c.L=function(a,d){var b,f,e,h,c;h=this.circleFootSeparation*(2+a)/x;f=x/a;c=[];for(b=e=0;0<=a?e<a:e>a;b=0<=a?++e:--e)b=this.circleStartAngle+b*f,c.push(new k.Point(d.x+h*Math.cos(b),d.y+h*Math.sin(b)));return c};c.M=function(a,d){var b,f,e,c,l;c=this.spiralLengthStart;b=0;l=[];for(f=e=0;0<=a?e<a:e>a;f=0<=a?++e:--e)b+=this.spiralFootSeparation/c+5e-4*f,f=new k.Point(d.x+c*Math.cos(b),d.y+c*Math.sin(b)),c+=x*this.spiralLengthFactor/b,l.push(f);return l};c.V=function(a,d){var b,f,e,c,l,n,y,m,k;(n=null!=a._omsData)&&this.keepSpiderfied||this.unspiderfy();if(n||this.map.getStreetView().getVisible()||"GoogleEarthAPI"===this.map.getMapTypeId())return this.trigger("click",a,d);n=[];y=[];b=this.nearbyDistance;m=b*b;l=this.f(a.position);k=this.a;b=0;for(f=k.length;b<f;b++)e=k[b],null!=e.map&&e.getVisible()&&(c=this.f(e.position),this.i(c,l)<m?n.push({R:e,G:c}):y.push(e));return 1===n.length?this.trigger("click",a,d):this.W(n,y)};c.markersNearMarker=function(a,d){var b,f,e,c,l,n,m,k,g,q;null==d&&(d=!1);if(null==this.g.getProjection())throw"Must wait for 'idle' event on map before calling markersNearMarker";b=this.nearbyDistance;m=b*b;l=this.f(a.position);n=[];k=this.a;b=0;for(f=k.length;b<f&&!(e=k[b],e!==a&&null!=e.map&&e.getVisible()&&(c=this.f(null!=(g=null!=(q=e._omsData)?q.v:void 0)?g:e.position),this.i(c,l)<m&&(n.push(e),d)));b++);return n};c.F=function(){var a,d,b,f,e,c,l,n,m,k,g;if(null==this.g.getProjection())throw"Must wait for 'idle' event on map before calling markersNearAnyOtherMarker";m=this.nearbyDistance;m*=m;var q;e=this.a;q=[];k=0;for(d=e.length;k<d;k++)f=e[k],q.push({H:this.f(null!=(a=null!=(b=f._omsData)?b.v:void 0)?a:f.position),b:!1});k=this.a;a=b=0;for(f=k.length;b<f;a=++b)if(d=k[a],null!=d.getMap()&&d.getVisible()&&(c=q[a],!c.b))for(g=this.a,d=n=0,e=g.length;n<e;d=++n)if(l=g[d],d!==a&&null!=l.getMap()&&l.getVisible()&&(l=q[d],(!(d<a)||l.b)&&this.i(c.H,l.H)<m)){c.b=l.b=!0;break}return q};c.markersNearAnyOtherMarker=function(){var a,d,b,c,e,h,l;e=this.F();h=this.a;l=[];a=d=0;for(b=h.length;d<b;a=++d)c=h[a],e[a].b&&l.push(c);return l};c.setImmediate=function(a){return window.setTimeout(a,0)};c.h=function(){if(!this.basicFormatEvents&&null==this.l)return this.l=this.setImmediate(function(a){return function(){a.l=null;return null!=a.g.getProjection()?a.w():null!=a.B?void 0:a.B=m.addListenerOnce(a.map,"idle",function(){return a.w()})}}(this))};c.w=function(){var a,d,b,c,e,h,l;if(this.basicFormatEvents){e=[];d=0;for(b=markers.length;d<b;d++)c=markers[d],a=null!=c._omsData?"SPIDERFIED":"UNSPIDERFIED",e.push(this.trigger("format",c,this.constructor.markerStatus[a]));return e}e=this.F();h=this.a;l=[];a=b=0;for(d=h.length;b<d;a=++b)c=h[a],a=null!=c._omsData?"SPIDERFIED":e[a].b?"SPIDERFIABLE":"UNSPIDERFIABLE",l.push(this.trigger("format",c,this.constructor.markerStatus[a]));return l};c.P=function(a){return{m:function(d){return function(){return a._omsData.o.setOptions({strokeColor:d.legColors.highlighted[d.map.mapTypeId],zIndex:d.highlightedLegZIndex})}}(this),u:function(d){return function(){return a._omsData.o.setOptions({strokeColor:d.legColors.usual[d.map.mapTypeId],zIndex:d.usualLegZIndex})}}(this)}};c.W=function(a,d){var b,c,e,h,l,n,g,p,t,q;this.J=!0;q=a.length;b=this.T(function(){var b,d,c;c=[];b=0;for(d=a.length;b<d;b++)p=a[b],c.push(p.G);return c}());h=q>=this.circleSpiralSwitchover?this.M(q,b).reverse():this.L(q,b);b=function(){var b,d,f;f=[];b=0;for(d=h.length;b<d;b++)e=h[b],c=this.U(e),t=this.S(a,function(a){return function(b){return a.i(b.G,e)}}(this)),g=t.R,n=new k.Polyline({map:this.map,path:[g.position,c],strokeColor:this.legColors.usual[this.map.mapTypeId],strokeWeight:this.legWeight,zIndex:this.usualLegZIndex}),g._omsData={v:g.position,o:n},this.legColors.highlighted[this.map.mapTypeId]!==this.legColors.usual[this.map.mapTypeId]&&(l=this.P(g),g._omsData.O={m:m.addListener(g,"mouseover",l.m),u:m.addListener(g,"mouseout",l.u)}),this.trigger("format",g,this.constructor.markerStatus.SPIDERFIED),g.setPosition(c),g.setZIndex(Math.round(this.spiderfiedZIndex+e.y)),f.push(g);return f}.call(this);delete this.J;this.I=!0;return this.trigger("spiderfy",b,d)};c.unspiderfy=function(a){var d,b,c,e,h,l,g;null==a&&(a=null);if(null==this.I)return this;this.K=!0;g=[];h=[];l=this.a;d=0;for(b=l.length;d<b;d++)e=l[d],null!=e._omsData?(e._omsData.o.setMap(null),e!==a&&e.setPosition(e._omsData.v),e.setZIndex(null),c=e._omsData.O,null!=c&&(m.removeListener(c.m),m.removeListener(c.u)),delete e._omsData,e!==a&&(c=this.basicFormatEvents?"UNSPIDERFIED":"SPIDERFIABLE",this.trigger("format",e,this.constructor.markerStatus[c])),g.push(e)):h.push(e);delete this.K;delete this.I;this.trigger("unspiderfy",g,h);return this};c.i=function(a,d){var b,c;b=a.x-d.x;c=a.y-d.y;return b*b+c*c};c.T=function(a){var c,b,f,e,h;c=e=h=0;for(b=a.length;c<b;c++)f=a[c],e+=f.x,h+=f.y;a=a.length;return new k.Point(e/a,h/a)};c.f=function(a){return this.g.getProjection().fromLatLngToDivPixel(a)};c.U=function(a){return this.g.getProjection().fromDivPixelToLatLng(a)};c.S=function(a,c){var b,d,e,h,g,k;e=g=0;for(k=a.length;g<k;e=++g)if(h=a[e],h=c(h),"undefined"===typeof b||null===b||h<d)d=h,b=e;return a.splice(b,1)[0]};c.A=function(a,c){var b,d,e,h;if(null!=a.indexOf)return a.indexOf(c);b=d=0;for(e=a.length;d<e;b=++d)if(h=a[b],h===c)return b;return-1};return t}();r=/(\?.*(&|&amp;)|\?)spiderfier_callback=(\w+)/;g=document.currentScript;null==g&&(g=function(){var g,m,k,w,v;k=document.getElementsByTagName("script");v=[];g=0;for(m=k.length;g<m;g++)u=k[g],null!=(w=u.getAttribute("src"))&&w.match(r)&&v.push(u);return v}()[0]);if(null!=g&&(g=null!=(w=g.getAttribute("src"))?null!=(z=w.match(r))?z[3]:void 0:void 0)&&"function"===typeof window[g])window[g]();"function"===typeof window.spiderfier_callback&&window.spiderfier_callback()}).call(this);
window.geodirJSGoMap=true;function geodirGoMapInit(){(function($){if((window.gdSetMap=="google"||window.gdSetMap=="auto")&&window.google&&typeof google.maps!=="undefined"){gdMaps="google"}else if((window.gdSetMap=="osm"||window.gdSetMap=="auto")&&typeof L!=="undefined"&&typeof L.version!=="undefined"){gdMaps="osm"}else{gdMaps=null}window.gdMaps=window.gdMaps||gdMaps;if(window.gdMaps==="google"){console.log("Google Maps API Loaded :)");jQuery("body").addClass("gd-google-maps")}else if(window.gdMaps==="osm"){console.log("Leaflet | OpenStreetMap API Loaded :)");jQuery("body").addClass("gd-osm-gmaps")}else{console.log("Maps API Not Loaded :(");jQuery("body").addClass("gd-no-gmaps")}console.log(window.gdSetMap);console.log(gdMaps);var geocoder=window.gdMaps=="google"&&(typeof google!=="undefined"&&typeof google.maps!=="undefined"&&typeof google.maps.Geocoder!=="undefined")?new google.maps.Geocoder:{};function MyOverlay(map,$this){if(typeof $this!=="undefined"){$this.setMap(map)}else{this.setMap(map)}}MyOverlay.prototype=window.gdMaps=="google"&&(typeof google!=="undefined"&&typeof google.maps!=="undefined"&&typeof google.maps.OverlayView!=="undefined")?new google.maps.OverlayView:{};MyOverlay.prototype.onAdd=function(){};MyOverlay.prototype.onRemove=function(){};MyOverlay.prototype.draw=function(){};$.goMap={};$.fn.goMap=function(options){return this.each(function(){var goMap=$(this).data("goMap");if(!goMap&&window.gdMaps=="google"){var goMapBase=$.extend(true,{},$.goMapBase);$(this).data("goMap",goMapBase.init(this,options));$.goMap=goMapBase}else if(!goMap&&window.gdMaps=="osm"){var osmMapBase=$.extend(true,{},$.osmMapBase);$(this).data("goMap",osmMapBase.init(this,options));$.goMap=osmMapBase}else{$.goMap=goMap}})};$.osmMapBase={defaults:{address:"",latitude:window.gdBaseLat?window.gdBaseLat:56.9,longitude:window.gdBaseLng?window.gdBaseLng:24.1,zoom:parseInt(window.gdBaseZoom)>0?parseInt(window.gdBaseZoom):4,delay:200,hideByClick:true,oneInfoWindow:true,prefixId:"gomarker",polyId:"gopoly",groupId:"gogroup",navigationControl:true,navigationControlOptions:{position:"topleft",style:"DEFAULT"},mapTypeControl:true,mapTypeControlOptions:{position:"topright",style:"DEFAULT"},zoomControl:true,zoomControlOptions:{position:"topleft"},scaleControl:false,scrollwheel:true,fullscreenControl:false,directions:false,directionsResult:null,disableDoubleClickZoom:false,touchZoom:"*",streetViewControl:true,maxClusterRadius:80,streetViewControlOptions:{position:"bottomleft"},markers:[],overlays:[],polyline:{color:"#FF0000",opacity:1,weight:2},polygon:{color:"#FF0000",opacity:1,weight:2,fillColor:"#FF0000",fillOpacity:.2},circle:{color:"#FF0000",opacity:1,weight:2,fillColor:"#FF0000",fillOpacity:.2},rectangle:{color:"#FF0000",opacity:1,weight:2,fillColor:"#FF0000",fillOpacity:.2},maptype:"ROADMAP",html_prepend:"<div class=gomapMarker>",html_append:"</div>",addMarker:false,osmBaseLayer:null,osmOverlays:[]},map:null,count:0,markers:[],polylines:[],polygons:[],circles:[],rectangles:[],tmpMarkers:[],geoMarkers:[],lockGeocode:false,bounds:null,overlays:null,overlay:null,mapId:null,plId:null,pgId:null,cId:null,rId:null,opts:null,centerLatLng:null,init:function(el,options){var opts=$.extend(true,{},$.osmMapBase.defaults,options),baseLayer,customMap;this.mapId=$(el);this.opts=opts;if(opts.address)this.geocode({address:opts.address,center:true});else if(Array.isArray(opts.markers)&&opts.markers.length>0){if(opts.markers[0].address)this.geocode({address:opts.markers[0].address,center:true});else this.centerLatLng=L.latLng(opts.markers[0].latitude,opts.markers[0].longitude)}else this.centerLatLng=L.latLng(opts.latitude,opts.longitude);var myOptions={center:this.centerLatLng,zoom:parseInt(opts.zoom),minZoom:opts.minZoom?opts.minZoom:1,maxZoom:opts.maxZoom>18?18:opts.maxZoom,zoomControl:opts.zoomControl==="0"||!opts.zoomControl?false:true,touchZoom:opts.touchZoom,doubleClickZoom:opts.disableDoubleClickZoom==="0"||!opts.disableDoubleClickZoom?true:false,dragging:typeof opts.dragging!=="undefined"?opts.dragging:!L.Browser.mobile,tap:typeof opts.dragging!=="undefined"?opts.dragging:!L.Browser.mobile,worldCopyJump:true,scrollWheelZoom:opts.scrollwheel==="0"||!opts.scrollwheel?false:opts.scrollwheel,attributionControl:typeof opts.attributionControl!=="undefined"?opts.attributionControl:true,defaultBaseLayer:typeof opts.osmBaseLayer!=="undefined"&&opts.osmBaseLayer?opts.osmBaseLayer:null,defaultOverlays:typeof opts.osmOverlays!=="undefined"&&opts.osmOverlays?opts.osmOverlays:[]};if(myOptions.defaultBaseLayer){try{baseLayer=L.tileLayer.provider(myOptions.defaultBaseLayer);if(baseLayer&&baseLayer._url&&baseLayer._url.indexOf("apikey=")===-1&&!(baseLayer.options&&baseLayer.options.apiKey)){var apikey=typeof opts.osmApiKey!=="undefined"&&opts.osmApiKey?opts.osmApiKey:"5e8a41b90fc240c09f61eb6bbbfb8395";baseLayer._url+=(baseLayer._url.indexOf("?")===-1?"?":"&")+"apikey="+apikey}customMap=true}catch(e){console.log(e)}}if(!baseLayer){var osmUrl="//{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",osmAttrib='Map data &copy; <a href="https://openstreetmap.org/copyright">OpenStreetMap</a> contributors',baseLayer=L.tileLayer(osmUrl,{maxZoom:opts.maxZoom,attribution:osmAttrib})}this.map=new L.Map(el,myOptions).addLayer(baseLayer);if(customMap&&myOptions.defaultOverlays&&myOptions.defaultOverlays.length>0){for(var i in myOptions.defaultOverlays){if(myOptions.defaultOverlays[i]){try{L.tileLayer.provider(myOptions.defaultOverlays[i]).addTo(this.map)}catch(e){console.log(e)}}}}if(myOptions.zoomControl&&(zoomPosition=this.parsePosition(opts.zoomControlOptions.position,"topleft"))!=="topleft"){this.map.zoomControl.setPosition(zoomPosition)}if(parseInt(options.marker_cluster)===1&&!options.marker_cluster_server){jQuery("#gdOSMprogress").remove();jQuery("#gdOSMprogressBar").remove();jQuery(el).before('<div id="gdOSMprogress"><div id="gdOSMprogressBar"></div></div>');function gdOSMUpdateProgressBar(processed,total,elapsed,layersArray){processed=Math.min(processed,total);if(elapsed>1e3){jQuery("#gdOSMprogress").show();jQuery("#gdOSMprogressBar").width(Math.round(processed/total*100)+"%")}if(processed===total){jQuery("#gdOSMprogress").hide()}}this.gdlayers=new L.markerClusterGroup({spiderfyOnMaxZoom:true,showCoverageOnHover:false,zoomToBoundsOnClick:true,chunkedLoading:true,maxClusterRadius:parseInt(opts.maxClusterRadius)>0?parseInt(opts.maxClusterRadius):80,chunkProgress:gdOSMUpdateProgressBar})}else{this.gdlayers=new L.featureGroup([])}try{this.oms=new OverlappingMarkerSpiderfier(this.map)}catch(e){}for(var j=0,l=opts.markers.length;j<l;j++)this.createMarker(opts.markers[j]);var goMap=this;if(opts.addMarker==true||opts.addMarker=="multi"){L.DomEvent.addListener(goMap.map,"click",function(event){var options={position:event.latLng,draggable:true};var marker=goMap.createMarker(options);L.DomEvent.addListener(marker,"dblclick",function(event){marker.setMap(null);goMap.removeMarker(marker.id)})})}else if(opts.addMarker=="single"){L.DomEvent.addListener(goMap.map,"click",function(event){if(!goMap.singleMarker){var options={position:event.latLng,draggable:true};var marker=goMap.createMarker(options);goMap.singleMarker=true;L.DomEvent.addListener(marker,"dblclick",function(event){marker.setMap(null);goMap.removeMarker(marker.id);goMap.singleMarker=false})}})}delete opts.markers;delete opts.overlays;return this},ready:function(f){this.map.addOneTimeEventListener("moveend",function(){return f()})},Geocoder:function(options){return new L.Control.gdGeoCode({provider:new L.gdGeoCode.Provider.OpenStreetMap})},geocode:function(address,options){var gdcoder=new L.Control.gdGeoCode({provider:new L.gdGeoCode.Provider.OpenStreetMap});var results=gdcoder.geosearch(address)},parsePosition:function(position,$default){var parsed=position;if(position&&typeof position=="string"){switch(position.toUpperCase()){case"TOP":case"LEFT":case"TOP_LEFT":case"topleft":parsed="topleft";break;case"RIGHT":case"TOP_RIGHT":case"topright":parsed="topright";break;case"BOTTOM":case"BOTTOM_LEFT":case"bottomleft":parsed="bottomleft";break;case"BOTTOM_RIGHT":case"bottomright":parsed="bottomright";break;default:parsed=typeof $default!=="undefined"?$default:parsed;break}}else if(typeof $default!=="undefined"){parsed=$default}return parsed},geoMarker:function(){if(this.geoMarkers.length>0&&!this.lockGeocode){this.lockGeocode=true;var current=this.geoMarkers.splice(0,1);this.geocode({address:current[0].address},current[0])}else if(this.lockGeocode){var goMap=this;setTimeout(function(){goMap.geoMarker()},this.opts.delay)}},setMap:function(options){delete options.mapTypeId;if(options.address){this.geocode({address:options.address,center:true});delete options.address}else if(options.latitude&&options.longitude){options.center=L.latLng(options.latitude,options.longitude);delete options.longitude;delete options.latitude}if(options.mapTypeControlOptions&&options.mapTypeControlOptions.position)options.mapTypeControlOptions.position=options.mapTypeControlOptions.position.toLowerCase();if(options.navigationControlOptions&&options.navigationControlOptions.position)options.navigationControlOptions.position=options.navigationControlOptions.position.toLowerCase();L.Util.setOptions(this.map,options)},getMap:function(){return this.map},setInfoWindow:function(marker,html){var goMap=this;html.content=goMap.opts.html_prepend+html.content+goMap.opts.html_append;var infowindow=marker.bindPopup(html);infowindow.show=false;$(goMap.mapId).data(marker.id+"info",infowindow);if(html.popup){goMap.openWindow(infowindow,marker,html);infowindow.show=true}L.DomEvent.addListener(marker,"click",function(){if(infowindow.show&&goMap.opts.hideByClick){infowindow.close();infowindow.show=false}else{goMap.openWindow(infowindow,marker,html);infowindow.show=true}})},openWindow:function(infowindow,marker,html){if(this.opts.oneInfoWindow)this.clearInfo();if(html.ajax){infowindow.openPopup();$.ajax({url:html.ajax,success:function(html){infowindow.setContent(html)}})}else if(html.id){infowindow.setContent($(html.id).html());infowindow.openPopup()}else{infowindow.openPopup()}},setInfo:function(id,text){var info=$(this.mapId).data(id+"info");if(typeof text=="object")info.setOptions(text);else info.setContent(text)},getInfo:function(id,hideDiv){var info=$(this.mapId).data(id+"info").getContent();if(hideDiv)return $(info).html();else return info},clearInfo:function(){for(var i=0,l=this.markers.length;i<l;i++){var info=$(this.mapId).data(this.markers[i]+"info");if(info){info.popupclose();info.show=false}}},fitBounds:function(type,markers){var goMap=this;if(this.getMarkerCount()!=this.getTmpMarkerCount())setTimeout(function(){goMap.fitBounds(type,markers)},this.opts.delay);else{this.bounds=new L.LatLngBounds([]);if(!type||type&&type=="all"){for(var i=0,l=this.markers.length;i<l;i++){this.bounds.extend($(this.mapId).data(this.markers[i]).position)}}else if(type&&type=="visible"){for(var i=0,l=this.markers.length;i<l;i++){if(this.getVisibleMarker(this.markers[i]))this.bounds.extend($(this.mapId).data(this.markers[i]).position)}}else if(type&&type=="markers"&&Array.isArray(markers)){for(var i=0,l=markers.length;i<l;i++){this.bounds.extend($(this.mapId).data(markers[i]).position)}}this.map.fitBounds(this.bounds)}},getBounds:function(){return this.map.getBounds()},getGDMarkers:function(){return this.gdlayers},getMarkerCount:function(){return this.markers.length},getTmpMarkerCount:function(){return this.tmpMarkers.length},getMarkers:function(type,name){var array=[];switch(type){case"markers":for(var i=0,l=this.markers.length;i<l;i++){var temp=$(this.mapId).data(this.markers[i]);array.push(temp)}break;default:for(var i=0,l=this.markers.length;i<l;i++){var temp=$(this.mapId).data(this.markers[i]).getPosition().toUrlValue();array.push(temp)}break}return array},createMarker:function(marker){if(!marker.geocode){this.count++;if(!marker.id)marker.id=this.opts.prefixId+this.count;this.tmpMarkers.push(marker.id)}if(marker.address&&!marker.geocode){this.geoMarkers.push(marker);this.geoMarker()}else if(marker.latitude&&marker.longitude||marker.position){var options={map:this.map};options.id=marker.id;options.group=marker.group?marker.group:this.opts.groupId;options.zIndex=marker.zIndex?marker.zIndex:0;options.zIndexOrg=marker.zIndexOrg?marker.zIndexOrg:0;if(marker.visible==false)options.visible=marker.visible;if(marker.title)options.title=marker.title;if(marker.alt)options.alt=marker.alt;if(marker.label)options.label=marker.label;if(marker.draggable)options.draggable=marker.draggable;if(marker.icon&&marker.icon.image){options.icon=marker.icon.image;if(marker.icon.shadow)options.shadow=marker.icon.shadow}else if(marker.icon)options.icon=marker.icon;else if(this.opts.icon&&this.opts.icon.image){options.icon=this.opts.icon.image;if(this.opts.icon.shadow)options.shadow=this.opts.icon.shadow}else if(this.opts.icon)options.icon=this.opts.icon;if(options.icon){iconOptions={iconUrl:options.icon,iconSize:null,iconAnchor:[17,0],popupAnchor:null};if(marker.iconSize){iconOptions.iconSize=marker.iconSize}if(marker.iconAnchor){iconOptions.iconAnchor=marker.iconAnchor}if(marker.popupAnchor){iconOptions.popupAnchor=marker.popupAnchor}if(marker.iconRetinaUrl){iconOptions.iconRetinaUrl=marker.iconRetinaUrl}if(marker.shadowUrl){iconOptions.shadowUrl=marker.shadowUrl}if(marker.shadowRetinaUrl){iconOptions.shadowRetinaUrl=marker.shadowRetinaUrl}if(marker.shadowSize){iconOptions.shadowSize=marker.shadowSize}if(marker.shadowAnchor){iconOptions.shadowAnchor=marker.shadowAnchor}if(marker.className){iconOptions.className=marker.className}if(marker.clustered){options.clustered=true;var c="marker-cluster marker-cluster-";if(marker.title<10){c+="small"}else if(marker.title<100){c+="medium"}else{c+="large"}iconOptions.className=c;iconOptions.html="<div><span>"+marker.title+"</span></div>";marker.w=40;marker.h=40}if(!iconOptions.iconSize&&marker.w&&marker.h&&parseInt(marker.w)>0&&parseInt(marker.h)>0){var w=parseFloat(marker.w);var h=parseFloat(marker.h);iconOptions.iconSize=[w,h];iconOptions.iconAnchor=[w/2-1,h];iconOptions.popupAnchor=[0,h*-1+h*.05]}if(marker.clustered){options.icon=new L.DivIcon(iconOptions)}else{options.icon=L.icon(iconOptions)}}else{options.icon=new L.Icon.Default}options.position=marker.position?marker.position:L.latLng(marker.latitude,marker.longitude);var cmarker=new L.Marker(options.position,options);if(marker.html&&!marker.clustered){if(!marker.html.content&&!marker.html.ajax&&!marker.html.id)marker.html={content:marker.html};else if(!marker.html.content)marker.html.content=null;this.setInfoWindow(cmarker,marker.html)}if(marker.addToMap){cmarker.addTo(this.map);return cmarker}this.addMarker(cmarker);return cmarker}},addMarker:function(marker){this.gdlayers.addLayer(marker)},removeMarker:function(marker){if(marker=="map_me"){if(jQuery.goMap.gdUmarker){this.map.removeLayer(jQuery.goMap.gdUmarker);jQuery.goMap.gdUmarker=null}return true}var index=$.inArray(marker,this.markers),current;if(index>-1){this.tmpMarkers.splice(index,1);current=this.markers.splice(index,1);var markerId=current[0];var marker=$(this.mapId).data(markerId);var info=$(this.mapId).data(markerId+"info");marker.setVisible(false);marker.setMap(null);$(this.mapId).removeData(markerId);if(info){info.close();info.show=false;$(this.mapId).removeData(markerId+"info")}return true}return false},clearMarkers:function(){var allMarkers=this.gdlayers;this.gdlayers.eachLayer(function(marker){allMarkers.removeLayer(marker)});this.gdlayers=allMarkers;this.singleMarker=false;this.lockGeocode=false;this.markers=[];this.tmpMarkers=[];this.geoMarkers=[]},isVisible:function(latlng){return this.map.getBounds().contains(latlng)}};$.goMapBase={defaults:{address:"",latitude:window.gdBaseLat?window.gdBaseLat:56.9,longitude:window.gdBaseLng?window.gdBaseLng:24.1,zoom:parseInt(window.gdBaseZoom)>0?parseInt(window.gdBaseZoom):4,delay:200,hideByClick:true,oneInfoWindow:true,prefixId:"gomarker",polyId:"gopoly",groupId:"gogroup",navigationControl:true,navigationControlOptions:{position:"TOP_LEFT",style:"DEFAULT"},mapTypeControl:true,mapTypeControlOptions:{position:"TOP_RIGHT",style:"DEFAULT"},zoomControl:true,zoomControlOptions:{position:"LEFT_CENTER"},cameraControl:false,cameraControlOptions:{position:"LEFT_CENTER"},scaleControl:false,scrollwheel:true,fullscreenControl:false,directions:false,directionsResult:null,disableDoubleClickZoom:false,streetViewControl:true,clickableIcons:true,streetViewControlOptions:{position:"LEFT_CENTER"},markers:[],overlays:[],polyline:{color:"#FF0000",opacity:1,weight:2},polygon:{color:"#FF0000",opacity:1,weight:2,fillColor:"#FF0000",fillOpacity:.2},circle:{color:"#FF0000",opacity:1,weight:2,fillColor:"#FF0000",fillOpacity:.2},rectangle:{color:"#FF0000",opacity:1,weight:2,fillColor:"#FF0000",fillOpacity:.2},maptype:"ROADMAP",html_prepend:"<div class=gomapMarker>",html_append:"</div>",addMarker:false},map:null,count:0,markers:[],polylines:[],polygons:[],circles:[],rectangles:[],tmpMarkers:[],geoMarkers:[],lockGeocode:false,bounds:null,overlays:null,overlay:null,mapId:null,plId:null,pgId:null,cId:null,rId:null,opts:null,centerLatLng:null,init:function(el,options){var opts=$.extend(true,{},$.goMapBase.defaults,options);this.mapId=$(el);this.opts=opts;if(opts.address)this.geocode({address:opts.address,center:true});else if(Array.isArray(opts.markers)&&opts.markers.length>0){if(opts.markers[0].address)this.geocode({address:opts.markers[0].address,center:true});else this.centerLatLng=new google.maps.LatLng(opts.markers[0].latitude,opts.markers[0].longitude)}else this.centerLatLng=new google.maps.LatLng(opts.latitude,opts.longitude);var myOptions={center:this.centerLatLng,disableDoubleClickZoom:opts.disableDoubleClickZoom==="0"||!opts.disableDoubleClickZoom?false:true,mapTypeControl:opts.mapTypeControl==="0"||!opts.mapTypeControl?false:true,streetViewControl:opts.streetViewControl==="0"||!opts.streetViewControl?false:true,streetViewControlOptions:{position:google.maps.ControlPosition[opts.streetViewControlOptions.position.toUpperCase()]},mapTypeControlOptions:{position:google.maps.ControlPosition[opts.mapTypeControlOptions.position.toUpperCase()],style:google.maps.MapTypeControlStyle[opts.mapTypeControlOptions.style.toUpperCase()]},mapTypeId:google.maps.MapTypeId[opts.maptype.toUpperCase()],navigationControl:opts.navigationControl,navigationControlOptions:{position:google.maps.ControlPosition[opts.navigationControlOptions.position.toUpperCase()],style:google.maps.NavigationControlStyle[opts.navigationControlOptions.style.toUpperCase()]},zoomControl:opts.zoomControl==="0"||!opts.zoomControl?false:true,zoomControlOptions:{position:google.maps.ControlPosition[opts.zoomControlOptions.position.toUpperCase()]},cameraControl:opts.cameraControl==="0"||!opts.cameraControl?false:true,cameraControlOptions:{position:google.maps.ControlPosition[opts.cameraControlOptions.position.toUpperCase()]},scaleControl:opts.scaleControl==="0"||!opts.scaleControl?false:true,scrollwheel:opts.scrollwheel==="0"||!opts.scrollwheel?false:true,fullscreenControl:opts.fullscreenControl==="0"||!opts.fullscreenControl?false:true,zoom:parseInt(opts.zoom),minZoom:opts.minZoom?parseInt(opts.minZoom):0,maxZoom:parseInt(opts.maxZoom),clickableIcons:opts.clickableIcons==="0"||!opts.clickableIcons?false:true};this.map=new google.maps.Map(el,myOptions);this.overlay=new MyOverlay(this.map);try{this.oms=new OverlappingMarkerSpiderfier(this.map,{markersWontMove:true,markersWontHide:true,basicFormatEvents:true})}catch(e){}this.overlays={polyline:{id:"plId",array:"polylines",create:"createPolyline"},polygon:{id:"pgId",array:"polygons",create:"createPolygon"},circle:{id:"cId",array:"circles",create:"createCircle"},rectangle:{id:"rId",array:"rectangles",create:"createRectangle"}};this.plId=$('<div style="display:none;"/>').appendTo(this.mapId);this.pgId=$('<div style="display:none;"/>').appendTo(this.mapId);this.cId=$('<div style="display:none;"/>').appendTo(this.mapId);this.rId=$('<div style="display:none;"/>').appendTo(this.mapId);for(var j=0,l=opts.markers.length;j<l;j++)this.createMarker(opts.markers[j]);for(var j=0,l=opts.overlays.length;j<l;j++)this[this.overlays[opts.overlays[j].type].create](opts.overlays[j]);var goMap=this;if(opts.addMarker==true||opts.addMarker=="multi"){google.maps.event.addListener(goMap.map,"click",function(event){var options={position:event.latLng,draggable:true};var marker=goMap.createMarker(options);google.maps.event.addListener(marker,"dblclick",function(event){marker.setMap(null);goMap.removeMarker(marker.id)})})}else if(opts.addMarker=="single"){google.maps.event.addListener(goMap.map,"click",function(event){if(!goMap.singleMarker){var options={position:event.latLng,draggable:true};var marker=goMap.createMarker(options);goMap.singleMarker=true;google.maps.event.addListener(marker,"dblclick",function(event){marker.setMap(null);goMap.removeMarker(marker.id);goMap.singleMarker=false})}})}delete opts.markers;delete opts.overlays;return this},ready:function(f){google.maps.event.addListenerOnce(this.map,"bounds_changed",function(){return f()})},geocode:function(address,options){var goMap=this;setTimeout(function(){geocoder.geocode({address:address.address},function(results,status){if(status==google.maps.GeocoderStatus.OK&&address.center)goMap.map.setCenter(results[0].geometry.location);if(status==google.maps.GeocoderStatus.OK&&options&&options.markerId)options.markerId.setPosition(results[0].geometry.location);else if(status==google.maps.GeocoderStatus.OK&&options){if(goMap.lockGeocode){goMap.lockGeocode=false;options.position=results[0].geometry.location;options.geocode=true;goMap.createMarker(options)}}else if(status==google.maps.GeocoderStatus.OVER_QUERY_LIMIT){goMap.geocode(address,options)}})},this.opts.delay)},geoMarker:function(){if(this.geoMarkers.length>0&&!this.lockGeocode){this.lockGeocode=true;var current=this.geoMarkers.splice(0,1);this.geocode({address:current[0].address},current[0])}else if(this.lockGeocode){var goMap=this;setTimeout(function(){goMap.geoMarker()},this.opts.delay)}},setMap:function(options){delete options.mapTypeId;if(options.address){this.geocode({address:options.address,center:true});delete options.address}else if(options.latitude&&options.longitude){options.center=new google.maps.LatLng(options.latitude,options.longitude);delete options.longitude;delete options.latitude}if(options.mapTypeControlOptions&&options.mapTypeControlOptions.position)options.mapTypeControlOptions.position=google.maps.ControlPosition[options.mapTypeControlOptions.position.toUpperCase()];if(options.mapTypeControlOptions&&options.mapTypeControlOptions.style)options.mapTypeControlOptions.style=google.maps.MapTypeControlStyle[options.mapTypeControlOptions.style.toUpperCase()];if(options.navigationControlOptions&&options.navigationControlOptions.position)options.navigationControlOptions.position=google.maps.ControlPosition[options.navigationControlOptions.position.toUpperCase()];if(options.navigationControlOptions&&options.navigationControlOptions.style)options.navigationControlOptions.style=google.maps.NavigationControlStyle[options.navigationControlOptions.style.toUpperCase()];this.map.setOptions(options)},getMap:function(){return this.map},createListener:function(type,event,data){var target;if(typeof type!="object")type={type:type};if(type.type=="map")target=this.map;else if(type.type=="marker"&&type.marker)target=$(this.mapId).data(type.marker);else if(type.type=="info"&&type.marker)target=$(this.mapId).data(type.marker+"info");if(target)return google.maps.event.addListener(target,event,data);else if((type.type=="marker"||type.type=="info")&&this.getMarkerCount()!=this.getTmpMarkerCount())var goMap=this;setTimeout(function(){goMap.createListener(type,event,data)},this.opts.delay)},removeListener:function(listener){google.maps.event.removeListener(listener)},setInfoWindow:function(marker,html){var goMap=this;html.content=goMap.opts.html_prepend+html.content+goMap.opts.html_append;var infowindow=new google.maps.InfoWindow(html);infowindow.show=false;$(goMap.mapId).data(marker.id+"info",infowindow);if(html.popup){goMap.openWindow(infowindow,marker,html);infowindow.show=true}google.maps.event.addListener(marker,"click",function(){if(infowindow.show&&goMap.opts.hideByClick){infowindow.close();infowindow.show=false}else{goMap.openWindow(infowindow,marker,html);infowindow.show=true}})},openWindow:function(infowindow,marker,html){if(this.opts.oneInfoWindow)this.clearInfo();if(html.ajax){infowindow.open(this.map,marker);$.ajax({url:html.ajax,success:function(html){infowindow.setContent(html)}})}else if(html.id){infowindow.setContent($(html.id).html());infowindow.open(this.map,marker)}else infowindow.open(this.map,marker)},setInfo:function(id,text){var info=$(this.mapId).data(id+"info");if(typeof text=="object")info.setOptions(text);else info.setContent(text)},getInfo:function(id,hideDiv){var info=$(this.mapId).data(id+"info").getContent();if(hideDiv)return $(info).html();else return info},clearInfo:function(){for(var i=0,l=this.markers.length;i<l;i++){var info=$(this.mapId).data(this.markers[i]+"info");if(info){info.close();info.show=false}}},fitBounds:function(type,markers){var goMap=this;if(this.getMarkerCount()!=this.getTmpMarkerCount())setTimeout(function(){goMap.fitBounds(type,markers)},this.opts.delay);else{this.bounds=new google.maps.LatLngBounds;if(!type||type&&type=="all"){for(var i=0,l=this.markers.length;i<l;i++){this.bounds.extend($(this.mapId).data(this.markers[i]).position)}}else if(type&&type=="visible"){for(var i=0,l=this.markers.length;i<l;i++){if(this.getVisibleMarker(this.markers[i]))this.bounds.extend($(this.mapId).data(this.markers[i]).position)}}else if(type&&type=="markers"&&Array.isArray(markers)){for(var i=0,l=markers.length;i<l;i++){this.bounds.extend($(this.mapId).data(markers[i]).position)}}this.map.fitBounds(this.bounds)}},getBounds:function(){return this.map.getBounds()},createPolyline:function(poly){poly.type="polyline";return this.createOverlay(poly)},createPolygon:function(poly){poly.type="polygon";return this.createOverlay(poly)},createCircle:function(poly){poly.type="circle";return this.createOverlay(poly)},createRectangle:function(poly){poly.type="rectangle";return this.createOverlay(poly)},createOverlay:function(poly){var overlay=[];if(!poly.id){this.count++;poly.id=this.opts.polyId+this.count}switch(poly.type){case"polyline":if(poly.coords.length>0){for(var j=0,l=poly.coords.length;j<l;j++)overlay.push(new google.maps.LatLng(poly.coords[j].latitude,poly.coords[j].longitude));overlay=new google.maps.Polyline({map:this.map,path:overlay,strokeColor:poly.color?poly.color:this.opts.polyline.color,strokeOpacity:poly.opacity?poly.opacity:this.opts.polyline.opacity,strokeWeight:poly.weight?poly.weight:this.opts.polyline.weight})}else return false;break;case"polygon":if(poly.coords.length>0){for(var j=0,l=poly.coords.length;j<l;j++)overlay.push(new google.maps.LatLng(poly.coords[j].latitude,poly.coords[j].longitude));overlay=new google.maps.Polygon({map:this.map,path:overlay,strokeColor:poly.color?poly.color:this.opts.polygon.color,strokeOpacity:poly.opacity?poly.opacity:this.opts.polygon.opacity,strokeWeight:poly.weight?poly.weight:this.opts.polygon.weight,fillColor:poly.fillColor?poly.fillColor:this.opts.polygon.fillColor,fillOpacity:poly.fillOpacity?poly.fillOpacity:this.opts.polygon.fillOpacity})}else return false;break;case"circle":overlay=new google.maps.Circle({map:this.map,center:new google.maps.LatLng(poly.latitude,poly.longitude),radius:poly.radius,strokeColor:poly.color?poly.color:this.opts.circle.color,strokeOpacity:poly.opacity?poly.opacity:this.opts.circle.opacity,strokeWeight:poly.weight?poly.weight:this.opts.circle.weight,fillColor:poly.fillColor?poly.fillColor:this.opts.circle.fillColor,fillOpacity:poly.fillOpacity?poly.fillOpacity:this.opts.circle.fillOpacity});break;case"rectangle":overlay=new google.maps.Rectangle({map:this.map,bounds:new google.maps.LatLngBounds(new google.maps.LatLng(poly.sw.latitude,poly.sw.longitude),new google.maps.LatLng(poly.ne.latitude,poly.ne.longitude)),strokeColor:poly.color?poly.color:this.opts.circle.color,strokeOpacity:poly.opacity?poly.opacity:this.opts.circle.opacity,strokeWeight:poly.weight?poly.weight:this.opts.circle.weight,fillColor:poly.fillColor?poly.fillColor:this.opts.circle.fillColor,fillOpacity:poly.fillOpacity?poly.fillOpacity:this.opts.circle.fillOpacity});break;default:return false;break}this.addOverlay(poly,overlay);return overlay},addOverlay:function(poly,overlay){$(this[this.overlays[poly.type].id]).data(poly.id,overlay);this[this.overlays[poly.type].array].push(poly.id)},setOverlay:function(type,overlay,options){overlay=$(this[this.overlays[type].id]).data(overlay);if(options.coords&&options.coords.length>0){var array=[];for(var j=0,l=options.coords.length;j<l;j++)array.push(new google.maps.LatLng(options.coords[j].latitude,options.coords[j].longitude));options.path=array;delete options.coords}else if(options.ne&&options.sw){options.bounds=new google.maps.LatLngBounds(new google.maps.LatLng(options.sw.latitude,options.sw.longitude),new google.maps.LatLng(options.ne.latitude,options.ne.longitude));delete options.ne;delete options.sw}else if(options.latitude&&options.longitude){options.center=new google.maps.LatLng(options.latitude,options.longitude);delete options.latitude;delete options.longitude}overlay.setOptions(options)},showHideOverlay:function(type,overlay,display){if(typeof display==="undefined"){if(this.getVisibleOverlay(type,overlay))display=false;else display=true}if(display)$(this[this.overlays[type].id]).data(overlay).setMap(this.map);else $(this[this.overlays[type].id]).data(overlay).setMap(null)},getVisibleOverlay:function(type,overlay){if($(this[this.overlays[type].id]).data(overlay).getMap())return true;else return false},getOverlaysCount:function(type){return this[this.overlays[type].array].length},removeOverlay:function(type,overlay){var index=$.inArray(overlay,this[this.overlays[type].array]),current;if(index>-1){current=this[this.overlays[type].array].splice(index,1);var markerId=current[0];$(this[this.overlays[type].id]).data(markerId).setMap(null);$(this[this.overlays[type].id]).removeData(markerId);return true}return false},clearOverlays:function(type){for(var i=0,l=this[this.overlays[type].array].length;i<l;i++){var markerId=this[this.overlays[type].array][i];$(this[this.overlays[type].id]).data(markerId).setMap(null);$(this[this.overlays[type].id]).removeData(markerId)}this[this.overlays[type].array]=[]},showHideMarker:function(marker,display){if(typeof display==="undefined"){if(this.getVisibleMarker(marker)){$(this.mapId).data(marker).setVisible(false);var info=$(this.mapId).data(marker+"info");if(info&&info.show){info.close();info.show=false}}else $(this.mapId).data(marker).setVisible(true)}else $(this.mapId).data(marker).setVisible(display)},showHideMarkerByGroup:function(group,display){for(var i=0,l=this.markers.length;i<l;i++){var markerId=this.markers[i];var marker=$(this.mapId).data(markerId);if(marker.group==group){if(typeof display==="undefined"){if(this.getVisibleMarker(markerId)){marker.setVisible(false);var info=$(this.mapId).data(markerId+"info");if(info&&info.show){info.close();info.show=false}}else{marker.setVisible(true)}}else marker.setVisible(display)}}},getVisibleMarker:function(marker){return $(this.mapId).data(marker).getVisible()},getMarkerCount:function(){return this.markers.length},getTmpMarkerCount:function(){return this.tmpMarkers.length},getVisibleMarkerCount:function(){return this.getMarkers("visiblesInMap").length},getMarkerByGroupCount:function(group){return this.getMarkers("group",group).length},getMarkers:function(type,name){var array=[];switch(type){case"json":for(var i=0,l=this.markers.length;i<l;i++){var temp="'"+i+"': '"+$(this.mapId).data(this.markers[i]).getPosition().toUrlValue()+"'";array.push(temp)}array="{'markers':{"+array.join(",")+"}}";break;case"data":for(var i=0,l=this.markers.length;i<l;i++){var temp="marker["+i+"]="+$(this.mapId).data(this.markers[i]).getPosition().toUrlValue();array.push(temp)}array=array.join("&");break;case"visiblesInBounds":for(var i=0,l=this.markers.length;i<l;i++){if(this.isVisible($(this.mapId).data(this.markers[i]).getPosition()))array.push(this.markers[i])}break;case"visiblesInMap":for(var i=0,l=this.markers.length;i<l;i++){if(this.getVisibleMarker(this.markers[i]))array.push(this.markers[i])}break;case"group":if(name)for(var i=0,l=this.markers.length;i<l;i++){if($(this.mapId).data(this.markers[i]).group==name)array.push(this.markers[i])}break;case"markers":for(var i=0,l=this.markers.length;i<l;i++){var temp=$(this.mapId).data(this.markers[i]);array.push(temp)}break;default:for(var i=0,l=this.markers.length;i<l;i++){var temp=$(this.mapId).data(this.markers[i]).getPosition().toUrlValue();array.push(temp)}break}return array},getVisibleMarkers:function(){return this.getMarkers("visiblesInBounds")},createMarker:function(marker){if(!marker.geocode){this.count++;if(!marker.id)marker.id=this.opts.prefixId+this.count;this.tmpMarkers.push(marker.id)}if(marker.address&&!marker.geocode){this.geoMarkers.push(marker);this.geoMarker()}else if(marker.latitude&&marker.longitude||marker.position){var options={map:this.map};options.id=marker.id;options.group=marker.group?marker.group:this.opts.groupId;options.zIndex=marker.zIndex?marker.zIndex:0;options.zIndexOrg=marker.zIndexOrg?marker.zIndexOrg:0;options.optimized=false;if(marker.visible==false)options.visible=marker.visible;if(marker.title)options.title=marker.title;if(marker.label)options.label=marker.label;if(marker.draggable)options.draggable=marker.draggable;if(marker.icon&&marker.icon.image){options.icon=marker.icon.image;if(marker.icon.shadow)options.shadow=marker.icon.shadow}else if(marker.icon)options.icon=marker.icon;else if(this.opts.icon&&this.opts.icon.image){options.icon=this.opts.icon.image;if(this.opts.icon.shadow)options.shadow=this.opts.icon.shadow}else if(this.opts.icon)options.icon=this.opts.icon;options.position=marker.position?marker.position:new google.maps.LatLng(marker.latitude,marker.longitude);if(marker.animation){options.animation=marker.animation}var cmarker=new google.maps.Marker(options);if(marker.html){if(!marker.html.content&&!marker.html.ajax&&!marker.html.id)marker.html={content:marker.html};else if(!marker.html.content)marker.html.content=null;this.setInfoWindow(cmarker,marker.html)}this.addMarker(cmarker);return cmarker}},addMarker:function(marker){$(this.mapId).data(marker.id,marker);this.markers.push(marker.id)},setMarker:function(marker,options){var tmarker=$(this.mapId).data(marker);delete options.id;delete options.visible;if(options.icon){var toption=options.icon;delete options.icon;if(toption&&toption=="default"){if(this.opts.icon&&this.opts.icon.image){options.icon=this.opts.icon.image;if(this.opts.icon.shadow)options.shadow=this.opts.icon.shadow}else if(this.opts.icon)options.icon=this.opts.icon}else if(toption&&toption.image){options.icon=toption.image;if(toption.shadow)options.shadow=toption.shadow}else if(toption)options.icon=toption}if(options.address){this.geocode({address:options.address},{markerId:tmarker});delete options.address;delete options.latitude;delete options.longitude;delete options.position}else if(options.latitude&&options.longitude||options.position){if(!options.position)options.position=new google.maps.LatLng(options.latitude,options.longitude)}tmarker.setOptions(options)},removeMarker:function(marker){var index=$.inArray(marker,this.markers),current;if(index>-1){this.tmpMarkers.splice(index,1);current=this.markers.splice(index,1);var markerId=current[0];var marker=$(this.mapId).data(markerId);var info=$(this.mapId).data(markerId+"info");marker.setVisible(false);marker.setMap(null);$(this.mapId).removeData(markerId);if(info){info.close();info.show=false;$(this.mapId).removeData(markerId+"info")}return true}return false},clearMarkers:function(){for(var i=0,l=this.markers.length;i<l;i++){var markerId=this.markers[i];var marker=$(this.mapId).data(markerId);var info=$(this.mapId).data(markerId+"info");marker.setVisible(false);marker.setMap(null);$(this.mapId).removeData(markerId);if(info){info.close();info.show=false;$(this.mapId).removeData(markerId+"info")}}this.singleMarker=false;this.lockGeocode=false;this.markers=[];this.tmpMarkers=[];this.geoMarkers=[]},clearMarkersDelay:function(){var old_markers=this.markers;setTimeout(function(){for(var i=0,l=old_markers.length;i<l;i++){var markerId=old_markers[i];var marker=$(this.mapId).data(markerId);var info=$(this.mapId).data(markerId+"info");marker.setVisible(false);marker.setMap(null);$(this.mapId).removeData(markerId);if(info){info.close();info.show=false;$(this.mapId).removeData(markerId+"info")}}this.singleMarker=false;this.lockGeocode=false;this.markers=[];this.tmpMarkers=[];this.geoMarkers=[]},3e3)},isVisible:function(latlng){return this.map.getBounds().contains(latlng)}}})(jQuery)}if(!window.gdLoadMap){geodirGoMapInit()}function gdGeoLocateMe(el,type){window.gdLocate="";if(typeof type!="undefined"){window.gdLocate=type}if(navigator.geolocation){navigator.geolocation.getCurrentPosition(gdGeoLocateMeSuccess,gdGeoLocateMeError,{enableHighAccuracy:true,timeout:1e4,maximumAge:0})}else{gdGeoLocateMeError(-1)}}function gdGeoLocateMeSuccess(position){var coords=position.coords||position.coordinate||position;if(coords&&coords.latitude&&coords.longitude){var myLat=coords.latitude,myLng=coords.longitude;var geoAddress=myLat+", "+myLng;if(window.gdMaps=="google"||window.gdMaps=="osm"){if(window.gdLocate&&window.gdLocate=="add-listing"){if(typeof geocodePosition!="undefined"){jQuery("#postmap").goMap();user_address=false;if(window.gdMaps=="google"){jQuery.goMap.map.setCenter(new google.maps.LatLng(myLat,myLng));baseMarker.setPosition(new google.maps.LatLng(myLat,myLng));updateMarkerPosition(baseMarker.getPosition());geocodePosition(baseMarker.getPosition())}else if(window.gdMaps=="osm"){centerMap(new L.latLng(myLat,myLng));baseMarker.setLatLng(new L.latLng(myLat,myLng));updateMarkerPositionOSM(baseMarker.getLatLng());geocodePositionOSM(baseMarker.getLatLng())}}}else{}}}}function gdGeoLocateMeError(err){var msg;switch(err.code){case err.UNKNOWN_ERROR:msg=geodir_params.geoErrUNKNOWN_ERROR;break;case err.PERMISSION_DENINED:msg=geodir_params.geoErrPERMISSION_DENINED;break;case err.POSITION_UNAVAILABLE:msg=geodir_params.geoErrPOSITION_UNAVAILABLE;break;case err.BREAK:msg=geodir_params.geoErrBREAK;break;default:msg=geodir_params.geoErrDEFAULT}alert(msg)};
window.gdJSMap=true;var is_zooming=false;var zoom_listener="";var gd_current_query="";var gd_map_first_load=true;var gd_fullscreen_parent="";var gd_toggle_bsui=true;function initMap(map_options){if(jQuery("html").hasClass("bsui")){gd_toggle_bsui=false}if(window.gdMaps=="osm"){initMapOSM(map_options);return}map_options=eval(map_options);map_options.zoom=parseInt(map_options.zoom);var options=map_options;var pscaleFactor;var pstartmin;var ajax_url=options.ajax_url;var token=options.token;var search_string=options.token;var mm=0;var maptype=options.maptype;var zoom=options.zoom;var latitude=options.latitude;var longitude=options.longitude;var maxZoom=options.maxZoom;var etype=options.etype;var autozoom=options.autozoom;var scrollwheel=options.scrollwheel;var fullscreenControl=options.fullscreenControl;var streetview=options.streetViewControl;var bubble_size=options.bubble_size;var map_canvas=options.map_canvas;var enable_map_direction=options.enable_map_direction;var enable_cat_filters=options.enable_cat_filters;var marker_cluster=options.marker_cluster;options.token="68f48005e256696074e1da9bf9f67f06";options.navigationControlOptions={position:"TOP_LEFT",style:"ZOOM_PAN"};jQuery("#"+map_canvas).goMap(options);var styles=[{featureType:"poi.business",elementType:"labels",stylers:[{visibility:"off"}]}];if(!(typeof geodir_custom_map_style==="undefined"))styles=geodir_custom_map_style;if(typeof options.mapStyles!="undefined"){try{var mapStyles=JSON.parse(options.mapStyles);if(typeof mapStyles=="object"&&mapStyles){styles=mapStyles}}catch(err){console.log(err.message)}}jQuery.goMap.map.setOptions({styles:styles});google.maps.event.addListenerOnce(jQuery.goMap.map,"idle",function(){jQuery("#"+map_canvas).goMap();for(var i in google.maps.MapTypeId){jQuery.goMap.map.mapTypes[google.maps.MapTypeId[i]].maxZoom=options.maxZoom}});google.maps.event.addListener(jQuery.goMap.map,"idle",function(){if(eval(map_canvas).marker_cluster_server){if(gd_map_first_load){gd_map_first_load=false;eval(map_canvas).enable_marker_cluster_no_reposition=true}else{if(is_zooming){}else{is_zooming=true;build_map_ajax_search_param(map_canvas,false,false,true);is_zooming=false}}}});var maxMap=document.getElementById(map_canvas+"_triggermap");if(!jQuery(maxMap).hasClass("gd-triggered-map")){jQuery(maxMap).addClass("gd-triggered-map");maxMap.addEventListener("click",gdMaxMap)}function gdMaxMap(){if(jQuery("body").hasClass("body_fullscreen")){jQuery("#catcher_"+map_canvas+"").removeClass("position-fixed");jQuery(window).scroll();jQuery("#placeholder_"+map_canvas).after(jQuery(gd_fullscreen_parent));jQuery("#placeholder_"+map_canvas).remove()}else{jQuery("#catcher_"+map_canvas+"").addClass("position-fixed");jQuery(window).scroll();gd_fullscreen_parent=jQuery("#"+map_canvas).parents(".stick_trigger_container");jQuery(gd_fullscreen_parent).before('<div id="placeholder_'+map_canvas+'"></div>');jQuery(gd_fullscreen_parent).prependTo("body")}if(gd_toggle_bsui){jQuery("html").toggleClass("bsui")}jQuery("html").attr("style",function(index,attr){return attr=="margin-top:0 !important;"?"":"margin-top:0 !important;"});jQuery("body").toggleClass("body_fullscreen overflow-hidden");jQuery("#"+map_canvas+", #sticky_map_"+map_canvas+",#"+map_canvas+"_wrapper").toggleClass("vw-100 vh-100");jQuery("#"+map_canvas+"_triggermap i, .geodir-map-directions-wrap, #wpadminbar").toggleClass("d-none");window.setTimeout(function(){var center=jQuery.goMap.map.getCenter();jQuery("#"+map_canvas).goMap();google.maps.event.trigger(jQuery.goMap.map,"resize");jQuery.goMap.map.setCenter(center);setGeodirMapSize(true)},100)}window.oms=jQuery.goMap.oms}function geodir_build_static_map(map_canvas){var width,height,width_raw,height_raw,wrapWi,wrapHe,maptype;if(window.gdMaps!="google"){build_map_ajax_search_param(map_canvas,false);return}options=eval(map_canvas);width_raw=options.width?options.width:0;wrapWi=jQuery("#"+map_canvas).width();if(wrapWi<10){wrapWi=jQuery("#"+map_canvas).closest(".geodir-map-wrap").width()}if(width_raw.indexOf("%")!==-1){width=parseInt(parseInt(width_raw)*wrapWi/100)}else{width=parseInt(width_raw.replace(/\D/g,""))}if(width<10){width=parseInt(wrapWi)}height_raw=options.height?options.height:0;wrapHe=jQuery("#"+map_canvas).height();if(wrapHe<10){wrapHe=jQuery("#"+map_canvas).closest(".geodir-map-wrap").height()}if(height_raw.indexOf("%")!==-1){height=parseInt(parseInt(height_raw)*wrapHe/100)}else{height=parseInt(height_raw.replace(/\D/g,""))}if(height<10){height=parseInt(wrapHe)}maptype=options.maptype?options.maptype.toLowerCase():"roadmap";var img_url="https://maps.googleapis.com/maps/api/staticmap?"+"size="+width+"x"+height+"&maptype="+maptype+"&language="+geodir_params.mapLanguage+"&zoom="+options.zoom+"&center="+options.latitude+","+options.longitude+"&markers=icon:"+options.icon_url+"|"+options.latitude+","+options.longitude+"&key="+geodir_params.google_api_key;var img="<img class='geodir-static-map-image' src='"+img_url+"' onclick='build_map_ajax_search_param(\""+map_canvas+"\",false);' />";jQuery("#"+map_canvas).html(img);jQuery("."+map_canvas+"_TopLeft").hide();jQuery("#"+map_canvas+"_loading_div").hide()}function geodir_no_map_api(map_canvas){jQuery("#"+map_canvas+"_loading_div").hide();jQuery("#"+map_canvas+"_map_notloaded").show();jQuery("#sticky_map_"+map_canvas).find(".map-category-listing-main").hide();jQuery("#sticky_map_"+map_canvas).find("#"+map_canvas+"_posttype_menu").hide();jQuery("#sticky_map_"+map_canvas).find("."+map_canvas+"_TopLeft").hide();jQuery("#sticky_map_"+map_canvas).find("."+map_canvas+"_TopRight").hide()}function build_map_ajax_search_param(map_canvas,reload_cat_list,catObj,hide_loading){if(!window.gdMaps){geodir_no_map_api(map_canvas);return false}var $container,options,map_type,post_type,query_string="",search,custom_loop;$container=jQuery("#sticky_map_"+map_canvas).closest(".stick_trigger_container");options=eval(map_canvas);map_type=options.map_type;post_type=options.post_type;post_type_filter=jQuery("#"+map_canvas+"_posttype").val();if(post_type_filter){post_type=post_type_filter}jQuery("."+map_canvas+"_TopLeft").show();query_string+="post_type="+post_type;query_string+="&_wpnonce="+options._wpnonce;if(options.map_page){query_string+="&_mp="+options.map_page}if(options.all_posts){query_string+="&_ap=1"}if(options.country){query_string+="&country="+options.country}if(options.region){query_string+="&region="+options.region}if(options.city){query_string+="&city="+options.city}if(options.neighbourhood){query_string+="&neighbourhood="+options.neighbourhood}if(options.lat){query_string+="&lat="+options.lat}if(options.lon){query_string+="&lon="+options.lon}if(options.dist){query_string+="&dist="+options.dist}if(reload_cat_list){return geodir_map_post_type_terms(options,post_type,query_string)}var map_info="";if(jQuery.goMap.map&&options.marker_cluster_server){bounds=jQuery.goMap.map.getBounds();gd_zl=jQuery.goMap.map.getZoom();if(bounds){if(window.gdMaps=="osm"){gd_lat_ne=bounds.getNorthEast().lat;gd_lon_ne=bounds.getNorthEast().lng;gd_lat_sw=bounds.getSouthWest().lat;gd_lon_sw=bounds.getSouthWest().lng}else{gd_lat_ne=bounds.getNorthEast().lat();gd_lon_ne=bounds.getNorthEast().lng();gd_lat_sw=bounds.getSouthWest().lat();gd_lon_sw=bounds.getSouthWest().lng()}map_info="&zl="+gd_zl+"&lat_ne="+gd_lat_ne+"&lon_ne="+gd_lon_ne+"&lat_sw="+gd_lat_sw+"&lon_sw="+gd_lon_sw}}else if(options.marker_cluster_server&&!options.autozoom){gd_zl=options.zoom;gd_map_h=jQuery("#"+map_canvas).height();gd_map_w=jQuery("#"+map_canvas).width();map_info="&zl="+gd_zl+"&gd_map_h="+gd_map_h+"&gd_map_w="+gd_map_w}else if(options.marker_cluster_server&&options.autozoom){gd_zl=options.zoom;gd_map_h=jQuery("#"+map_canvas).height();gd_map_w=jQuery("#"+map_canvas).width();map_info="&zl="+gd_zl+"&gd_map_h="+gd_map_h+"&gd_map_w="+gd_map_w}query_string+=map_info;search=jQuery("#"+map_canvas+"_search_string").val();if(!search&&options.searchKeyword){search=options.searchKeyword}var terms_filters=false;jQuery('[name="'+map_canvas+'_cat[]"]:checked').each(function(){terms_filters=true;if(jQuery(this).val()){query_string+="&term[]="+jQuery(this).val()}});terms=options.terms;if(!terms_filters&&terms){if(typeof terms=="object"||typeof terms=="array"){}else{terms=terms.split(",")}if(terms.length>0){query_string+="&term[]="+terms.join("&term[]=")}}var tags=options.tags;if(tags){if(typeof tags=="object"||typeof tags=="array"){}else{tags=tags.split(",")}if(tags.length>0){custom_loop=tags[0]&&tags[0].indexOf(".")===0||tags[0].indexOf("#")===0?tags[0]:false;if(custom_loop&&jQuery(custom_loop+" .geodir-category-list-view").length){var loopIds=jQuery(custom_loop+" .geodir-category-list-view").find(".geodir-post.type-"+post_type).map(function(){return jQuery(this).data("post-id")}).get();if((typeof loopIds=="object"||typeof loopIds=="array")&&loopIds.length>0){query_string+="&post[]="+loopIds.join("&post[]=")}else{query_string+="&post[]=-1"}}else if(custom_loop&&jQuery(custom_loop+" .elementor-posts").length){var loopIds=jQuery(custom_loop+" .elementor-posts").find(".elementor-post.type-"+post_type).map(function(){return jQuery(this).attr("id").match(/post-\d+/)[0].replace("post-","")}).get();if((typeof loopIds=="object"||typeof loopIds=="array")&&loopIds.length>0){query_string+="&post[]="+loopIds.join("&post[]=")}else{query_string+="&post[]=-1"}}else{query_string+="&tag[]="+tags.join("&tag[]=")}}}posts=options.posts;if(posts){if(posts=="geodir-loop-container"){var idarray=jQuery(".geodir-loop-container").find(".geodir-post").map(function(){return jQuery(this).data("post-id")}).get();if(!idarray.length&&jQuery(".elementor-posts-container").length){$containerClass=jQuery(".geodir-loop-container").length?jQuery(".geodir-loop-container"):jQuery(".elementor-widget-archive-posts .elementor-posts-container:visible").length?jQuery(".elementor-widget-archive-posts .elementor-posts-container:visible"):jQuery(".elementor-posts-container");idarray=$containerClass.find(".elementor-post ").map(function(){return jQuery(this).attr("class").match(/post-\d+/)[0].replace("post-","")}).get()}if(idarray.length){posts=idarray}else{posts="-1"}}if(typeof posts=="object"||typeof posts=="array"){}else{posts=posts.split(",")}if(posts.length>0){query_string+="&post[]="+posts.join("&post[]=")}}search=search?search.trim():"";if(search&&search!=options.inputText){query_string+="&search="+search}if(options.customQueryArgs){query_string+=options.customQueryArgs}map_ajax_search(map_canvas,query_string,"",hide_loading)}function geodir_show_sub_cat_collapse_button(){setTimeout(function(){jQuery("ul.main_list li").each(function(i){var sub_cat_list=jQuery(this).find("ul.sub_list");if(!(typeof sub_cat_list.attr("class")==="undefined")){jQuery(sub_cat_list).parent("li").find("> .custom-checkbox label, > .form-check label").after('<span class="gd-map-cat-toggle ml-2 ms-2 c-pointer"><i class="fas fa-caret-down" aria-hidden="true" style="display:none"></i></span>');if(sub_cat_list.is(":visible")){jQuery(this).find("i,svg").removeClass("fa-caret-down");jQuery(this).find("i,svg").addClass("fa-caret-up")}else{jQuery(this).find("i,svg").removeClass("fa-caret-up");jQuery(this).find("i,svg").addClass("fa-caret-down")}jQuery(this).find("i,svg").show()}else{jQuery(this).find("i,svg").hide()}});geodir_activate_collapse_pan()},100)}function geodir_activate_collapse_pan(){jQuery("ul.main_list").find(".gd-map-cat-toggle").off("click").on("click",function(){jQuery(this).parent().parent("li").find("ul.sub_list").toggle(200,function(){if(jQuery(this).is(":visible")){jQuery(this).parent("li").find("i,svg").removeClass("fa-caret-down");jQuery(this).parent("li").find("i,svg").addClass("fa-caret-up")}else{jQuery(this).parent("li").find("i,svg").removeClass("fa-caret-up");jQuery(this).parent("li").find("i,svg").addClass("fa-caret-down")}})})}function map_ajax_search(map_canvas_var,query_string,marker_jason,hide_loading,keep_markers){if(!window.gdMaps){jQuery("#"+map_canvas_var+"_loading_div").hide();jQuery("#"+map_canvas_var+"_map_notloaded").show();jQuery("#sticky_map_"+map_canvas_var).find(".map-category-listing-main").hide();jQuery("#sticky_map_"+map_canvas_var).find("#"+map_canvas_var+"_posttype_menu").hide();jQuery("#sticky_map_"+map_canvas_var).find("."+map_canvas_var+"_TopLeft").hide();jQuery("#sticky_map_"+map_canvas_var).find("."+map_canvas_var+"_TopRight").hide();return false}if(hide_loading){}else{jQuery("#"+map_canvas_var+"_loading_div").show()}if(marker_jason!=""){parse_marker_jason(marker_jason,map_canvas_var,keep_markers);jQuery("#"+map_canvas_var+"_loading_div").hide();return}var query_url=eval(map_canvas_var).map_markers_ajax_url;if(query_string){u=query_url.indexOf("?")===-1?"?":"&";query_url+=u+query_string}if(gd_current_query==map_canvas_var+"-"+query_url){jQuery("#"+map_canvas_var+"_loading_div").hide()}else{gd_current_query=map_canvas_var+"-"+query_url;jQuery.ajax({type:"GET",url:query_url,dataType:"json",success:function(data){jQuery("#"+map_canvas_var+"_loading_div").hide();parse_marker_jason(data,map_canvas_var,keep_markers)},error:function(xhr,textStatus,errorThrown){console.log(errorThrown)}})}return}var bounds="";function parse_marker_jason(json,map_canvas_var,keep_markers){if(window.gdMaps=="osm"){parse_marker_jason_osm(json,map_canvas_var,keep_markers);return}var options=eval(map_canvas_var);if(jQuery("#"+map_canvas_var).val()==""){initMap(map_canvas_var)}jQuery("#"+map_canvas_var).goMap();bounds=new google.maps.LatLngBounds;if(options.marker_cluster){if(typeof remove_cluster_markers=="function"){remove_cluster_markers(map_canvas_var)}}var markerReposition=options.enable_marker_cluster_no_reposition;var animation=geodir_params.gMarkerAnimation?geodir_params.gMarkerAnimation:null;if(animation===true){animation=google.maps.Animation.DROP}if(keep_markers){gd_map_first_load=true;markerReposition=false;if(typeof keepBounds!="undefined"&&keepBounds){bounds=keepBounds}}else{jQuery.goMap.clearMarkers();keepBounds=""}if(geodir_params.gMarkerReposition){markerReposition=true}if(json.total&&parseInt(json.total)>0){document.getElementById(map_canvas_var+"_map_nofound").style.display="none";var mapcenter=new google.maps.LatLng(options.latitude,options.longitude);list_markers(json,map_canvas_var,animation);var center=bounds.getCenter();if(options.autozoom&&parseInt(json.total)>1){if(markerReposition){}else{jQuery.goMap.map.fitBounds(bounds)}}else{if(markerReposition){}else{if(options.autozoom&&parseInt(json.total)==1){jQuery.goMap.map.setZoom(13)}jQuery.goMap.map.setCenter(center)}}if(jQuery.goMap.map.getZoom()>parseInt(options.maxZoom)){jQuery.goMap.map.setZoom(parseInt(options.maxZoom))}if(!(typeof keepBounds!="undefined"&&keepBounds)){keepBounds=bounds}}else{document.getElementById(map_canvas_var+"_map_nofound").style.display="flex";var nLat=options.nomap_lat?options.nomap_lat:options.default_lat?options.default_lat:"39.952484";var nLng=options.nomap_lng?options.nomap_lng:options.default_lng?options.default_lng:"-75.163786";var nZoom=parseInt(options.nomap_zoom)>0?parseInt(options.nomap_zoom):parseInt(options.zoom)>0?parseInt(options.zoom):11;var mapcenter=new google.maps.LatLng(nLat,nLng);list_markers(json,map_canvas_var);if(markerReposition){}else{jQuery.goMap.map.setCenter(mapcenter);jQuery.goMap.map.setZoom(nZoom)}}if(options.marker_cluster){if(typeof create_marker_cluster=="function"){create_marker_cluster(map_canvas_var)}}geodir_map_show_near_me(options);jQuery("#"+map_canvas_var+"_loading_div").hide();jQuery("body").trigger("map_show",map_canvas_var)}function list_markers(json,map_canvas_var,animation){var map_options=eval(map_canvas_var);var total=parseInt(json.total);if(total>0&&json.items){var baseurl,content_url,icons,icon,icon_url;baseurl=json.baseurl;content_url=json.content_url;icons=json.icons;for(var i=0;i<total;i++){marker=json.items[i];if(marker["i"]&&icons&&icons[marker["i"]]["i"]){icon=icons[marker["i"]];if(icon["i"]){icon_url=icon["i"];if(!(icon_url.indexOf("http://")===0||icon_url.indexOf("https://")===0)){icon_url=icon_url.indexOf("plugins/")===0||icon_url.indexOf("plugins/")>0?content_url+icon_url:baseurl+"/"+icon_url}marker["icon"]=icon_url;marker["w"]=icon["w"];marker["h"]=icon["h"];if(icon["a"]){marker["alt"]=icon["a"]}}}if(marker&&!marker.animation&&animation){marker["animation"]=animation}if(map_options.map_type=="post"&&i==0){jQuery("#"+map_canvas_var).data("lat",marker.lt);jQuery("#"+map_canvas_var).data("lng",marker.ln)}var marker=create_marker(marker,map_canvas_var)}if(window.gdMaps=="osm"){jQuery.goMap.map.addLayer(jQuery.goMap.gdlayers);try{if(jQuery.goMap.gdUmarker){bounds.extend(jQuery.goMap.gdUmarker.getLatLng())}}catch(e){}}}}function geodir_htmlEscape(str){return String(str).replace(/&prime;/g,"'").replace(/&frasl;/g,"/").replace(/&ndash;/g,"-").replace(/&ldquo;/g,'"').replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&apos;/g,"'").replace(/&amp;quot;/g,'"').replace(/&amp;apos;/g,"'")}function create_marker(item,map_canvas){if(window.gdMaps=="osm"){return create_marker_osm(item,map_canvas)}var map_options=eval(map_canvas);jQuery("#"+map_canvas).goMap();gd_infowindow=typeof google!=="undefined"&&typeof google.maps!=="undefined"?new google.maps.InfoWindow({maxWidth:200}):null;if(item.lt&&item.ln){var marker_id,title,icon,cs,isSvg,resize=false;marker_id=item["m"];title=geodir_htmlEscape(item["t"]);cs=item["cs"];icon=item["icon"]?item["icon"]:geodir_params.default_marker_icon;iconW=item["w"]?parseFloat(item["w"]):0;iconH=item["h"]?parseFloat(item["h"]):0;iconMW=geodir_params.marker_max_width?parseFloat(geodir_params.marker_max_width):0;iconMH=geodir_params.marker_max_height?parseFloat(geodir_params.marker_max_height):0;isSvg=icon&&icon.substr(icon.lastIndexOf(".")+1).toLowerCase()=="svg"?true:false;if(geodir_params.resize_marker&&(iconW<iconMW||iconH<iconMH)&&isSvg){iconW=iconW*10;iconH=iconH*10}if(geodir_params.resize_marker&&iconW>5&&iconH>5&&(iconMW>5&&iconW>iconMW||iconMH>5&&iconH>iconMH)){resizeW=iconW;resizeH=iconH;if(iconMH>5&&resizeH>iconMH){_resizeH=iconMH;_resizeW=Math.round(_resizeH*resizeW/resizeH*10)/10;resizeW=_resizeW;resizeH=_resizeH;resize=true}if(iconMW>5&&resizeW>iconMW){_resizeW=iconMW;_resizeH=Math.round(_resizeW*resizeH/resizeW*10)/10;resizeW=_resizeW;resizeH=_resizeH;resize=true}if(resize&&resizeW>5&&resizeH>5){icon={url:icon,scaledSize:new google.maps.Size(resizeW,resizeH),origin:new google.maps.Point(0,0),anchor:new google.maps.Point(Math.round(resizeW/2),resizeH)}}}if(isSvg&&!resize&&iconW>5&&iconH>5){icon={url:icon,scaledSize:new google.maps.Size(iconW,iconH),origin:new google.maps.Point(0,0),anchor:new google.maps.Point(Math.round(iconW/2),iconH)}}var latlng=new google.maps.LatLng(item.lt,item.ln);var marker=jQuery.goMap.createMarker({id:marker_id,title:title,position:latlng,visible:true,clickable:true,icon:icon,label:cs,zIndex:item.zIndex?item.zIndex:0,zIndexOrg:item.zIndexOrg?item.zIndexOrg:0,animation:item.animation?item.animation:null});bounds.extend(latlng);google.maps.event.addListener(marker,"spider_click",function(){var marker_url=map_options.map_marker_ajax_url;is_zooming=true;jQuery("#"+map_canvas).goMap();var preview_query_str="";if(item.post_preview){preview_query_str="&post_preview="+item.post_preview}marker_url=marker_url+""+item.m;post_data=marker_url.indexOf("?")===-1?"?":"&";post_data+="_wpnonce="+map_options._wpnonce;if(map_options.bubble_size){post_data+="&small=1"}if(map_options.map_marker_url_params){post_data+=map_options.map_marker_url_params}post_data+="&_gdmap=google";var loading='<div id="map_loading" class="p-2 text-center"><i class="fas fa-spinner fa-spin" aria-hidden="true"></i></div>';gd_infowindow.open(jQuery.goMap.map,marker);gd_infowindow.setContent(loading);jQuery.ajax({type:"GET",url:marker_url+post_data,cache:false,dataType:"json",error:function(xhr,error){alert(error)},success:function(response){jQuery("#"+map_canvas).goMap();html=typeof response=="object"&&response.html?geodir_htmlEscape(response.html):"";gd_infowindow.setContent(html);gd_infowindow.open(jQuery.goMap.map,marker);setTimeout(function(){jQuery(document.body).trigger("geodir_map_infowindow_open",[{map:"google",canvas:map_canvas,content:html}])},100);setTimeout(function(){is_zooming=false},1e3)}});return});jQuery.goMap.oms.addMarker(marker);google.maps.event.addListener(marker,"visible_changed",function(){gd_infowindow.close(jQuery.goMap.map,marker)});return true}else{return false}}function geodir_fix_marker_pos(map_canvas_var){if(window.gdMaps=="osm"){var iwOuter=jQuery("#"+map_canvas_var+" .leaflet-popup-content-wrapper")}else{var iwOuter=jQuery("#"+map_canvas_var+" .gm-style-iw")}var iwBackground=iwOuter.parent();org_height=iwBackground.height();if(window.gdMaps=="osm"){var mainH=jQuery("#"+map_canvas_var).height();org_height=mainH<org_height?mainH:org_height;org_height-=org_height*.1}}function openMarker(map_canvas,id){if(!window.gdMaps){return}jQuery("#"+map_canvas).goMap();if(jQuery(".stickymap").legnth){}else{mTag=false;if(jQuery(".geodir-sidebar-wrap .stick_trigger_container").offset()){mTag=jQuery(".geodir-sidebar-wrap .stick_trigger_container").offset().top}else if(jQuery(".stick_trigger_container").offset()){mTag=jQuery(".stick_trigger_container").offset().top}if(mTag){jQuery("html,body").animate({scrollTop:mTag},"slow")}}try{if(window.gdMaps=="google"){google.maps.event.trigger(jQuery.goMap.mapId.data(id),"spider_click")}else if(window.gdMaps=="osm"){jQuery.goMap.gdlayers.eachLayer(function(marker){if(id&&marker.options.id==id){marker.fireEvent("spider_click")}})}}catch(e){console.log(e.message)}}function animate_marker(map_canvas,id){jQuery("#"+map_canvas).goMap();try{if(window.gdMaps=="google"){if(jQuery.goMap.mapId.data(id)!=null){var anim=geodir_params.markerAnimation;if(anim=="drop"||anim=="DROP"){_anim=google.maps.Animation.DROP}else if(anim=="null"||anim=="none"||anim==null||anim==""){_anim=null}else{_anim=google.maps.Animation.BOUNCE}jQuery.goMap.mapId.data(id).setAnimation(_anim)}}else if(window.gdMaps=="osm"){jQuery.goMap.gdlayers.eachLayer(function(marker){if(id&&marker.options.id==id){if(!jQuery(marker._icon).hasClass("gd-osm-marker-bounce")){jQuery(marker._icon).addClass("gd-osm-marker-bounce")}}})}}catch(e){console.log(e.message)}}function stop_marker_animation(map_canvas,id){jQuery("#"+map_canvas).goMap();try{if(window.gdMaps=="google"){if(jQuery.goMap.mapId.data(id)!=null){jQuery.goMap.mapId.data(id).setAnimation(null)}}else if(window.gdMaps=="osm"){jQuery.goMap.gdlayers.eachLayer(function(marker){if(id&&marker.options.id==id){jQuery(marker._icon).removeClass("gd-osm-marker-bounce")}})}}catch(e){console.log(e.message)}}function geodir_map_sticky(map_options){if(!window.gdMaps){return}var cstatus="";var optionsname=map_options;map_options=eval(map_options);if(geodir_is_localstorage()){cstatus=localStorage.getItem("gd_sticky_map");if(cstatus=="shide"){jQuery("body").addClass("stickymap_hide")}}if(map_options.sticky&&jQuery(window).width()>1250){jQuery.fn.scrollBottom=function(){return this.scrollTop()+this.height()};var content=jQuery(".geodir-sidebar-wrap").scrollBottom();var stickymap=jQuery("#sticky_map_"+optionsname+"").scrollBottom();var catcher=jQuery("#catcher_"+optionsname+"");var sticky=jQuery("#sticky_map_"+optionsname+"");var map_parent=sticky.parent();var sticky_show_hide_trigger=sticky.closest(".stick_trigger_container").find(".trigger_sticky");var mapheight=jQuery("#sticky_map_"+optionsname+"").height();var widthpx=sticky.width();var widthmap=map_options.width;if(widthmap.indexOf("%")!=-1){jQuery(".main_map_wrapper",sticky).width("100%");jQuery(".geodir_marker_cluster",sticky).width("100%")}jQuery(window).scroll(function(){jQuery("#"+optionsname+"").goMap(map_options);if(window.gdMaps=="osm"){bounds=new L.LatLngBounds([])}else{bounds=new google.maps.LatLngBounds}var wheight=jQuery(window).height();var wScrTop=jQuery(window).scrollTop();var maxScr=0;if(jQuery(".geodir-category-list-view").length){maxScr=parseFloat(jQuery(".geodir-category-list-view:last").offset().top)+parseFloat(jQuery(".geodir-category-list-view:last").innerHeight())-50}if(jQuery(".elementor-posts").length){var _maxScr=parseFloat(jQuery(".elementor-posts:last").offset().top)+parseFloat(jQuery(".elementor-posts:last").innerHeight())-50;if(_maxScr>maxScr){maxScr=_maxScr}}if(maxScr<catcher.offset().top){maxScr=0}var noSticky=maxScr>0&&wScrTop>maxScr&&wScrTop>catcher.offset().top?true:false;if(wScrTop>=catcher.offset().top&&!noSticky){if(!sticky.hasClass("stickymap")){sticky.addClass("stickymap");sticky.appendTo("body");sticky.removeClass("position-relative").addClass("position-fixed");sticky.css({position:"fixed",right:"0",border:"1px solid red"});sticky.css({top:"25%",width:widthpx+2});catcher.css({height:mapheight});if(geodir_is_localstorage()){cstatus=localStorage.getItem("gd_sticky_map")}window.dispatchEvent(new Event("resize"))}sticky_show_hide_trigger.removeClass("position-relative").addClass("position-fixed");sticky_show_hide_trigger.css({top:"25%",position:"fixed",right:"0"});sticky_show_hide_trigger.show()}if(wScrTop<catcher.offset().top||noSticky){if(sticky.hasClass("stickymap")){sticky.appendTo(map_parent);sticky.hide();sticky.removeClass("stickymap");sticky.removeClass("position-fixed").addClass("position-relative");sticky.css({position:"relative",border:"none",top:"0",width:widthmap});sticky.fadeIn("slow");catcher.css({height:"0"});sticky_show_hide_trigger.removeClass("triggeroff_sticky");sticky_show_hide_trigger.addClass("triggeron_sticky");sticky_show_hide_trigger.removeClass("position-fixed").addClass("position-relative");window.dispatchEvent(new Event("resize"))}sticky_show_hide_trigger.hide()}});jQuery(window).on("resize",function(){jQuery(window).scroll()})}}var rendererOptions={draggable:true};var directionsDisplay=typeof google!=="undefined"&&typeof google.maps!=="undefined"&&typeof google.maps.DirectionsRenderer!=="undefined"?new google.maps.DirectionsRenderer(rendererOptions):{};var directionsService=typeof google!=="undefined"&&typeof google.maps!=="undefined"&&typeof google.maps.DirectionsService!=="undefined"?new google.maps.DirectionsService:{};var renderedDirections=[];function geodirFindRoute(map_canvas){var map_options,destLat,destLng,$wrap;initMap(map_canvas);map_options=eval(map_canvas);destLat=jQuery("#"+map_canvas).data("lat");destLng=jQuery("#"+map_canvas).data("lng");$wrap=jQuery("#"+map_canvas).closest(".geodir-map-wrap");if(window.gdMaps=="osm"){try{var control=L.Routing.control({waypoints:[L.latLng(destLat,destLng)],routeWhileDragging:true,geocoder:L.Control.Geocoder.nominatim(),language:geodir_params.osmRouteLanguage,units:geodir_params.osmRouteUnits,waypointNameFallback:function(latLng){function zeroPad(n){n=Math.round(n);return n<10?"0"+n:n}function hexagecimal(p,pos,neg){var n=Math.abs(p),degs=Math.floor(n),mins=(n-degs)*60,secs=(mins-Math.floor(mins))*60,frac=Math.round((secs-Math.floor(secs))*100);return(n>=0?pos:neg)+degs+"°"+zeroPad(mins)+"'"+zeroPad(secs)+"."+zeroPad(frac)+'"'}return hexagecimal(latLng.lat,"N","S")+" "+hexagecimal(latLng.lng,"E","W")}});var cExists=typeof jQuery.goMap.map._container!="undefined"&&jQuery(".leaflet-control.leaflet-routing-container",jQuery.goMap.map._container).length?true:false;if(!cExists){control.addTo(jQuery.goMap.map)}L.Routing.errorControl(control).addTo(jQuery.goMap.map);var $routing=jQuery("#"+map_canvas+" .leaflet-routing-geocoders .leaflet-routing-search-info");if(!$routing.find("#"+map_canvas+"_mylocation").length){$routing.append('<span title="'+geodir_params.geoMyLocation+'" onclick="gdMyGeoDirection('+map_canvas+');" id="'+map_canvas+'_mylocation" class="gd-map-mylocation c-pointer ml-1 ms-1"><i class="fas fa-crosshairs" aria-hidden="true"></i></span>')}}catch(e){console.log(e.message)}}else if(window.gdMaps=="google"){var rendererOptions={draggable:true};if(renderedDirections.length){for(var i in renderedDirections){renderedDirections[i].setMap(null)}}var directionsDisplay=typeof google!=="undefined"&&typeof google.maps!=="undefined"?new google.maps.DirectionsRenderer(rendererOptions):{};var directionsService=typeof google!=="undefined"&&typeof google.maps!=="undefined"?new google.maps.DirectionsService:{};directionsDisplay.setMap(jQuery.goMap.map);directionsDisplay.setPanel(document.getElementById(map_canvas+"_directionsPanel"));renderedDirections.push(directionsDisplay);google.maps.event.addListener(directionsDisplay,"directions_changed",function(){geodirComputeTotalDistance(directionsDisplay.directions,map_canvas)});jQuery("#directions-options",$wrap).show();var from_address=document.getElementById(map_canvas+"_fromAddress").value;var request={origin:from_address,destination:destLat+","+destLng,travelMode:gdGetTravelMode($wrap),unitSystem:gdGetTravelUnits($wrap)};directionsService.route(request,function(response,status){if(status==google.maps.DirectionsStatus.OK){jQuery("#"+map_canvas+"_directionsPanel",$wrap).html("");directionsDisplay.setDirections(response)}else{alert(geodir_params.address_not_found_on_map_msg+from_address)}})}}function gdGetTravelMode($wrap){var mode=jQuery("#travel-mode",$wrap).val();if(mode=="driving"){return google.maps.DirectionsTravelMode.DRIVING}else if(mode=="walking"){return google.maps.DirectionsTravelMode.WALKING}else if(mode=="bicycling"){return google.maps.DirectionsTravelMode.BICYCLING}else if(mode=="transit"){return google.maps.DirectionsTravelMode.TRANSIT}else{return google.maps.DirectionsTravelMode.DRIVING}}function gdGetTravelUnits($wrap){var mode=jQuery("#travel-units",$wrap).val();if(mode=="kilometers"){return google.maps.DirectionsUnitSystem.METRIC}else{return google.maps.DirectionsUnitSystem.IMPERIAL}}function geodirComputeTotalDistance(result,map_canvas){var total=0;var myroute=result.routes[0];for(i=0;i<myroute.legs.length;i++){total+=myroute.legs[i].distance.value}totalk=total/1e3;totalk_round=Math.round(totalk*100)/100;totalm=total/1609.344;totalm_round=Math.round(totalm*100)/100}jQuery(function($){setGeodirMapSize(false);$(window).on("resize",function(){setGeodirMapSize(true)})});function setGeodirMapSize(resize){var isAndroid=navigator.userAgent.toLowerCase().indexOf("android")>-1?true:false;var dW=parseInt(jQuery(window).width());var dH=parseInt(jQuery(window).height());if(GeodirIsiPhone()||isAndroid&&(dW>dH&&dW==640&&dH==360||dH>dW&&dW==360&&dH==640||(dW>dH&&dW==533&&dH==320||dH>dW&&dW==320&&dH==533)||(dW>dH&&dW==960&&dH==540||dH>dW&&dW==540&&dH==960))){jQuery(document).find(".geodir_map_container").each(function(){jQuery(this).addClass("geodir-map-iphone")})}else{jQuery(document).find(".geodir_map_container").each(function(){var $this=this;var gmcW=parseInt(jQuery($this).width());var gmcH=parseInt(jQuery($this).height());if(gmcW>=400&&gmcH>=350){jQuery($this).removeClass("geodir-map-small").addClass("geodir-map-full")}else{jQuery($this).removeClass("geodir-map-full").addClass("geodir-map-small")}});if(resize){jQuery(document).find(".geodir_map_container_fullscreen").each(function(){var $this=this;var gmcW=parseInt(jQuery(this).find(".gm-style").width());var gmcH=parseInt(jQuery(this).find(".gm-style").height());if(gmcW>=400&&gmcH>=370){jQuery($this).removeClass("geodir-map-small").addClass("geodir-map-full")}else{jQuery($this).removeClass("geodir-map-full").addClass("geodir-map-small")}})}}}function GeodirIsiPhone(){if(navigator.userAgent.toLowerCase().indexOf("iphone")>-1||navigator.userAgent.toLowerCase().indexOf("ipod")>-1||navigator.userAgent.toLowerCase().indexOf("ipad")>-1){return true}else{return false}}function initMapOSM(map_options){map_options=eval(map_options);map_options.zoom=parseInt(map_options.zoom);var options=map_options;var pscaleFactor;var pstartmin;var ajax_url=options.ajax_url;var token=options.token;var search_string=options.token;var mm=0;var maptype=options.maptype;var zoom=options.zoom;var latitude=options.latitude;var longitude=options.longitude;var maxZoom=options.maxZoom;var etype=options.etype;var autozoom=options.autozoom;var scrollwheel=options.scrollwheel;var fullscreenControl=options.fullscreenControl;var streetview=options.streetViewControl;var bubble_size=options.bubble_size;var map_canvas=options.map_canvas;var enable_map_direction=options.enable_map_direction;var enable_cat_filters=options.enable_cat_filters;var marker_cluster=options.marker_cluster;options.token="68f48005e256696074e1da9bf9f67f06";options.navigationControlOptions={position:"topleft"};jQuery("#"+map_canvas).goMap(options);var styles=[{featureType:"poi.business",elementType:"labels",stylers:[{visibility:"off"}]}];if(typeof geodir_custom_map_style!=="undefined"){styles=geodir_custom_map_style}if(typeof options.mapStyles!="undefined"){try{var mapStyles=JSON.parse(options.mapStyles);if(typeof mapStyles=="object"&&mapStyles){styles=mapStyles}}catch(err){console.log(err.message)}}L.DomEvent.addListener(jQuery.goMap.map,"moveend",function(){if(eval(map_canvas).marker_cluster_server){if(gd_map_first_load){gd_map_first_load=false;eval(map_canvas).enable_marker_cluster_no_reposition=true}else{if(is_zooming){}else{is_zooming=true;build_map_ajax_search_param(map_canvas,false,false,true);is_zooming=false}}}});var btnCSS=jQuery("."+map_canvas+"_TopLeft").attr("style");jQuery("."+map_canvas+"_TopLeft").attr("style","margin-top: 85px !important;"+btnCSS);var maxMap=document.getElementById(map_canvas+"_triggermap");if(!jQuery(maxMap).hasClass("gd-triggered-map")){jQuery(maxMap).addClass("gd-triggered-map");L.DomEvent.addListener(maxMap,"click",gdMaxMapOSM)}function gdMaxMapOSM(){if(jQuery("body").hasClass("body_fullscreen")){jQuery("#catcher_"+map_canvas+"").removeClass("position-fixed");jQuery(window).scroll();jQuery("#placeholder_"+map_canvas).after(jQuery(gd_fullscreen_parent));jQuery("#placeholder_"+map_canvas).remove()}else{jQuery("#catcher_"+map_canvas+"").addClass("position-fixed");jQuery(window).scroll();gd_fullscreen_parent=jQuery("#"+map_canvas).parents(".stick_trigger_container");jQuery(gd_fullscreen_parent).before('<div id="placeholder_'+map_canvas+'"></div>');jQuery(gd_fullscreen_parent).prependTo("body")}if(gd_toggle_bsui){jQuery("html").toggleClass("bsui")}jQuery("html").attr("style",function(index,attr){return attr=="margin-top:0 !important;"?"":"margin-top:0 !important;"});jQuery("body").toggleClass("body_fullscreen overflow-hidden");jQuery("#"+map_canvas+", #sticky_map_"+map_canvas+",#"+map_canvas+"_wrapper,#"+map_canvas+"_loading_div,#"+map_canvas+"_map_nofound,#"+map_canvas+"_map_notloaded").toggleClass("vw-100 vh-100");jQuery("#"+map_canvas+"_triggermap i, .geodir-map-directions-wrap, #wpadminbar").toggleClass("d-none");window.setTimeout(function(){setGeodirMapSize(true);jQuery.goMap.map._onResize();jQuery.goMap.map.invalidateSize();window.dispatchEvent(new Event("resize"))},100)}jQuery.goMap.oms.addListener("spiderfy",function(markers){jQuery.goMap.map.closePopup()});window.oms=jQuery.goMap.oms}function parse_marker_jason_osm(json,map_canvas_var,keep_markers){var options=eval(map_canvas_var);if(jQuery("#"+map_canvas_var).val()==""){initMapOSM(map_canvas_var)}else{jQuery("#"+map_canvas_var).goMap()}bounds=new L.LatLngBounds([]);var markerReposition=options.enable_marker_cluster_no_reposition;if(keep_markers){gd_map_first_load=true;markerReposition=false;if(typeof keepBounds!="undefined"&&keepBounds){bounds=keepBounds}}else{jQuery.goMap.clearMarkers();keepBounds=""}if(geodir_params.gMarkerReposition){markerReposition=true}if(json.total&&parseInt(json.total)>0){document.getElementById(map_canvas_var+"_map_nofound").style.display="none";list_markers(json,map_canvas_var);var center=bounds.getCenter();if(options.autozoom&&parseInt(json.total)>1){if(markerReposition){}else{jQuery.goMap.map.fitBounds(bounds)}}else{if(markerReposition){}else{setZoom=jQuery.goMap.map.getZoom();if(options.autozoom&&parseInt(json.total)==1){setZoom=13}jQuery.goMap.map.setView(center,setZoom)}}if(jQuery.goMap.map.getZoom()>parseInt(options.maxZoom)){jQuery.goMap.map.setZoom(parseInt(options.maxZoom))}if(!(typeof keepBounds!="undefined"&&keepBounds)){keepBounds=bounds}}else{document.getElementById(map_canvas_var+"_map_nofound").style.display="flex";var nLat=options.nomap_lat?options.nomap_lat:options.default_lat?options.default_lat:"39.952484";var nLng=options.nomap_lng?options.nomap_lng:options.default_lng?options.default_lng:"-75.163786";var nZoom=parseInt(options.nomap_zoom)>0?parseInt(options.nomap_zoom):parseInt(options.zoom)>0?parseInt(options.zoom):11;var mapcenter=new L.latLng(nLat,nLng);list_markers(json,map_canvas_var);if(markerReposition){}else{jQuery.goMap.map.setView(mapcenter,nZoom)}}geodir_map_show_near_me_osm(options);jQuery("#"+map_canvas_var+"_loading_div").hide();jQuery("body").trigger("map_show",map_canvas_var)}function create_marker_osm(item,map_canvas){var options=eval(map_canvas);jQuery("#"+map_canvas).goMap();if(item.lt&&item.ln){var marker_id,title,icon,iconW,iconH,cs;marker_id=item["m"];title=geodir_htmlEscape(item["t"]);cs=item["cs"];icon=item["icon"]?item["icon"]:geodir_params.default_marker_icon;iconW=item["w"]?item["w"]:geodir_params.default_marker_w;iconH=item["h"]?item["h"]:geodir_params.default_marker_h;iconMW=geodir_params.marker_max_width?parseFloat(geodir_params.marker_max_width):0;iconMH=geodir_params.marker_max_height?parseFloat(geodir_params.marker_max_height):0;if(geodir_params.resize_marker&&(iconW<iconMW||iconH<iconMH)&&icon.substr(icon.lastIndexOf(".")+1).toLowerCase()=="svg"){iconW=iconW*10;iconH=iconH*10}if(geodir_params.resize_marker&&iconW>5&&iconH>5&&(iconMW>5&&iconW>iconMW||iconMH>5&&iconH>iconMH)){resizeW=iconW;resizeH=iconH;resize=false;if(iconMH>5&&resizeH>iconMH){_resizeH=iconMH;_resizeW=Math.round(_resizeH*resizeW/resizeH*10)/10;resizeW=_resizeW;resizeH=_resizeH;resize=true}if(iconMW>5&&resizeW>iconMW){_resizeW=iconMW;_resizeH=Math.round(_resizeW*resizeH/resizeW*10)/10;resizeW=_resizeW;resizeH=_resizeH;resize=true}if(resize&&resizeW>5&&resizeH>5){iconW=resizeW;iconH=resizeH}}var coord=new L.latLng(item.lt,item.ln);var marker=jQuery.goMap.createMarker({id:marker_id,title:title,alt:item.alt?geodir_htmlEscape(item.alt):"marker "+marker_id,position:coord,visible:true,clickable:true,icon:icon,label:cs,w:iconW,h:iconH,clustered:parseInt(options.marker_cluster)===1&&typeof item.cs!=="undefined"?true:false,zIndex:item.zIndex?item.zIndex:0,zIndexOrg:item.zIndexOrg?item.zIndexOrg:0});if(parseInt(options.marker_cluster)===1&&cs){var labels=cs.split("_");bounds.extend(new L.latLng(labels[1],labels[2]));if(labels[1]!=labels[3]&&labels[2]!=labels[4]){bounds.extend(new L.latLng(labels[3],labels[4]))}}else{bounds.extend(coord)}L.DomEvent.addListener(marker,"click",function(){marker.fireEvent("spider_click")});L.DomEvent.addListener(marker,"spider_click",function(){var marker_url=options.map_marker_ajax_url;if(marker.options.clustered){jQuery("#"+map_canvas).goMap();marker.closePopup().unbindPopup();var fitBounds=false;if(marker.options.label){var labels=marker.options.label.split("_");var newBounds=new L.LatLngBounds([]);var lat1=labels[1];var lng1=labels[2];var lat2=labels[3];var lng2=labels[4];newBounds.extend(new L.latLng(lat1,lng1));if(lat1==lat2&&lng1==lng2){var lat2=lat2*1.00000001;var lng2=lng2*1.00000001}newBounds.extend(new L.latLng(lat2,lng2));jQuery.goMap.map.fitBounds(newBounds);bounds=newBounds;if(jQuery.goMap.map.getZoom()>parseInt(options.maxZoom)){jQuery.goMap.map.setZoom(parseInt(options.maxZoom))}}else{zoom=parseInt(jQuery.goMap.map.getZoom())+1>parseInt(options.maxZoom)&&parseInt(options.maxZoom)>0?parseInt(options.maxZoom):parseInt(jQuery.goMap.map.getZoom())+1;jQuery.goMap.map.setView(marker.getLatLng(),zoom)}return}else{is_zooming=true;jQuery("#"+map_canvas).goMap()}marker_url=marker_url+""+item.m;post_data=marker_url.indexOf("?")===-1?"?":"&";post_data+="_wpnonce="+options._wpnonce;if(options.bubble_size){post_data+="&small=1"}if(options.map_marker_url_params){post_data+=options.map_marker_url_params}post_data+="&_gdmap=osm";var loading='<div id="map_loading" class="p-2 text-center"><i class="fas fa-spinner fa-spin" aria-hidden="true"></i></div>';var maxH=jQuery("#"+map_canvas).height();maxH-=maxH*.1+jQuery(marker._icon).outerHeight()+20;marker.closePopup().unbindPopup().bindPopup(loading,{className:"gd-osm-bubble",maxHeight:maxH}).openPopup();jQuery.ajax({type:"GET",url:marker_url+post_data,cache:false,dataType:"json",error:function(xhr,error){alert(error)},success:function(response){jQuery("#"+map_canvas).goMap();html=typeof response=="object"&&response.html?geodir_htmlEscape(response.html):"";marker.bindPopup(html);setTimeout(function(){jQuery(document.body).trigger("geodir_map_infowindow_open",[{map:"osm",canvas:map_canvas,content:html}])},100);setTimeout(function(){is_zooming=false},1e3)}});return});jQuery.goMap.oms.addMarker(marker);L.DomEvent.addListener(marker,"visible_changed",function(){marker.closePopup()});return true}else{return false}}function gdMyGeoDirection(map_canvas){window.currentMapCanvas=map_canvas;gd_get_user_position(gdMyGeoPositionSuccess)}function gdMyGeoPositionSuccess(myLat,myLng){if(myLat&&myLng){var geoAddress=myLat+", "+myLng;if(window.gdMaps=="google"||window.gdMaps=="osm"){gdMyGeoGetDirections(geoAddress)}}}function gdMyGeoGetDirections(address){var map_canvas=window.currentMapCanvas;if(!address){return false}window.gdMyGeo=true;if(window.gdMaps=="google"){jQuery("#"+map_canvas+"_fromAddress").val(address);geodirFindRoute(map_canvas)}else if(window.gdMaps=="osm"){jQuery(".leaflet-routing-geocoders .leaflet-routing-geocoder:last input").val(address).focus();setTimeout(function(){jQuery(".leaflet-routing-geocoders .leaflet-routing-geocoder:last input").trigger({type:"keypress",which:13,keyCode:13})},1e3)}}function geodir_map_directions_init(map_canvas){if(window.gdMaps=="google"){try{autocomplete=new google.maps.places.Autocomplete(document.getElementById(map_canvas+"_fromAddress"),{types:["geocode"]});google.maps.event.addListener(autocomplete,"place_changed",function(){geodirFindRoute(map_canvas)})}catch(e){console.log(e.message)}}else{jQuery("#"+map_canvas+"_fromAddress, .geodir-map-directions-wrap").hide();jQuery(".gd-get-directions").hide();jQuery("."+map_canvas+"_getdirection").hide();if(window.gdMaps=="osm"){window.setTimeout(function(){geodirFindRoute(map_canvas)},1e3)}}}function geodir_map_post_type_terms(options,post_type,query_string){var terms_query_url,map_canvas,tick_terms;terms_query_url=options.map_terms_ajax_url;map_canvas=options.map_canvas;jQuery("#"+map_canvas+"_posttype_menu li").removeClass("gd-map-search-pt");jQuery("#"+map_canvas+"_posttype_menu li#"+post_type).addClass("gd-map-search-pt");query_string+="&output=terms";query_string+="&map_canvas="+map_canvas;query_string+="&child_collapse="+jQuery("#"+map_canvas+"_child_collapse").val();terms=options.terms;if(terms){query_string+="&terms="+terms}tick_terms=options.tick_terms;if(tick_terms){query_string+="&tick_terms="+tick_terms}u=terms_query_url.indexOf("?")===-1?"?":"&";terms_query_url+=u+query_string;jQuery("#"+map_canvas+"_loading_div").show();jQuery.ajax({type:"GET",url:terms_query_url,dataType:"json",success:function(data){jQuery("#"+map_canvas+"_loading_div").hide();if(data&&data.terms_filter){jQuery("#"+map_canvas+"_cat .geodir_toggle").html(data.terms_filter);geodir_show_sub_cat_collapse_button();build_map_ajax_search_param(map_canvas,false)}return false},error:function(xhr,textStatus,errorThrown){jQuery("#"+map_canvas+"_loading_div").hide();console.log(errorThrown)}});return false}function geodir_map_show_near_me(options){var iMarker,oMarker,bDrag;if(options.nearLat&&options.nearLng&&options.nearIcon){bDrag=options.nearDraggable?true:false;iMarker={url:options.nearIcon,size:null,origin:new google.maps.Point(0,0),anchor:new google.maps.Point(8,8),scaledSize:new google.maps.Size(17,17)};oMarker=jQuery.goMap.createMarker({optimized:true,flat:true,draggable:bDrag,id:"nearme",title:options.nearTitle,position:new google.maps.LatLng(options.nearLat,options.nearLng),visible:true,clickable:false,icon:iMarker});jQuery.goMap.gdUmarker=oMarker}}function geodir_map_show_near_me_osm(options){var oMarker,bDrag;if(options.nearLat&&options.nearLng&&options.nearIcon&&!jQuery.goMap.gdUmarker){bDrag=options.nearDraggable?true:false;oMarker=jQuery.goMap.createMarker({optimized:false,flat:true,draggable:bDrag,id:"mapme",title:options.nearTitle,position:new L.latLng(options.nearLat,options.nearLng),visible:true,clickable:false,addToMap:true,zIndex:0});oMarker.setIcon(L.divIcon({iconSize:[17,17],iconAnchor:[8.5,8.5],className:"geodir-near-marker",html:'<div class="geodir-near-marker-wrap"><div class="geodir-near-marker-animate"></div><img class="geodir-near-marker-img" src="'+options.nearIcon+'" /></div>'}));jQuery.goMap.gdUmarker=oMarker}};
!function(n,t){var r,e;"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define("underscore",t):(n="undefined"!=typeof globalThis?globalThis:n||self,r=n._,(e=n._=t()).noConflict=function(){return n._=r,e})}(this,function(){var n="1.13.7",t="object"==typeof self&&self.self===self&&self||"object"==typeof global&&global.global===global&&global||Function("return this")()||{},e=Array.prototype,V=Object.prototype,F="undefined"!=typeof Symbol?Symbol.prototype:null,P=e.push,f=e.slice,s=V.toString,q=V.hasOwnProperty,r="undefined"!=typeof ArrayBuffer,u="undefined"!=typeof DataView,U=Array.isArray,W=Object.keys,z=Object.create,L=r&&ArrayBuffer.isView,$=isNaN,C=isFinite,K=!{toString:null}.propertyIsEnumerable("toString"),J=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],G=Math.pow(2,53)-1;function l(u,o){return o=null==o?u.length-1:+o,function(){for(var n=Math.max(arguments.length-o,0),t=Array(n),r=0;r<n;r++)t[r]=arguments[r+o];switch(o){case 0:return u.call(this,t);case 1:return u.call(this,arguments[0],t);case 2:return u.call(this,arguments[0],arguments[1],t)}for(var e=Array(o+1),r=0;r<o;r++)e[r]=arguments[r];return e[o]=t,u.apply(this,e)}}function o(n){var t=typeof n;return"function"==t||"object"==t&&!!n}function H(n){return void 0===n}function Q(n){return!0===n||!1===n||"[object Boolean]"===s.call(n)}function i(n){var t="[object "+n+"]";return function(n){return s.call(n)===t}}var X=i("String"),Y=i("Number"),Z=i("Date"),nn=i("RegExp"),tn=i("Error"),rn=i("Symbol"),en=i("ArrayBuffer"),a=i("Function"),t=t.document&&t.document.childNodes,p=a="function"!=typeof/./&&"object"!=typeof Int8Array&&"function"!=typeof t?function(n){return"function"==typeof n||!1}:a,t=i("Object"),un=u&&(!/\[native code\]/.test(String(DataView))||t(new DataView(new ArrayBuffer(8)))),a="undefined"!=typeof Map&&t(new Map),u=i("DataView");var h=un?function(n){return null!=n&&p(n.getInt8)&&en(n.buffer)}:u,v=U||i("Array");function y(n,t){return null!=n&&q.call(n,t)}var on=i("Arguments"),an=(!function(){on(arguments)||(on=function(n){return y(n,"callee")})}(),on);function fn(n){return Y(n)&&$(n)}function cn(n){return function(){return n}}function ln(t){return function(n){n=t(n);return"number"==typeof n&&0<=n&&n<=G}}function sn(t){return function(n){return null==n?void 0:n[t]}}var d=sn("byteLength"),pn=ln(d),hn=/\[object ((I|Ui)nt(8|16|32)|Float(32|64)|Uint8Clamped|Big(I|Ui)nt64)Array\]/;var vn=r?function(n){return L?L(n)&&!h(n):pn(n)&&hn.test(s.call(n))}:cn(!1),g=sn("length");function yn(n,t){t=function(t){for(var r={},n=t.length,e=0;e<n;++e)r[t[e]]=!0;return{contains:function(n){return!0===r[n]},push:function(n){return r[n]=!0,t.push(n)}}}(t);var r=J.length,e=n.constructor,u=p(e)&&e.prototype||V,o="constructor";for(y(n,o)&&!t.contains(o)&&t.push(o);r--;)(o=J[r])in n&&n[o]!==u[o]&&!t.contains(o)&&t.push(o)}function b(n){if(!o(n))return[];if(W)return W(n);var t,r=[];for(t in n)y(n,t)&&r.push(t);return K&&yn(n,r),r}function dn(n,t){var r=b(t),e=r.length;if(null==n)return!e;for(var u=Object(n),o=0;o<e;o++){var i=r[o];if(t[i]!==u[i]||!(i in u))return!1}return!0}function m(n){return n instanceof m?n:this instanceof m?void(this._wrapped=n):new m(n)}function gn(n){return new Uint8Array(n.buffer||n,n.byteOffset||0,d(n))}m.VERSION=n,m.prototype.valueOf=m.prototype.toJSON=m.prototype.value=function(){return this._wrapped},m.prototype.toString=function(){return String(this._wrapped)};var bn="[object DataView]";function mn(n,t,r,e){var u;return n===t?0!==n||1/n==1/t:null!=n&&null!=t&&(n!=n?t!=t:("function"==(u=typeof n)||"object"==u||"object"==typeof t)&&function n(t,r,e,u){t instanceof m&&(t=t._wrapped);r instanceof m&&(r=r._wrapped);var o=s.call(t);if(o!==s.call(r))return!1;if(un&&"[object Object]"==o&&h(t)){if(!h(r))return!1;o=bn}switch(o){case"[object RegExp]":case"[object String]":return""+t==""+r;case"[object Number]":return+t!=+t?+r!=+r:0==+t?1/+t==1/r:+t==+r;case"[object Date]":case"[object Boolean]":return+t==+r;case"[object Symbol]":return F.valueOf.call(t)===F.valueOf.call(r);case"[object ArrayBuffer]":case bn:return n(gn(t),gn(r),e,u)}o="[object Array]"===o;if(!o&&vn(t)){var i=d(t);if(i!==d(r))return!1;if(t.buffer===r.buffer&&t.byteOffset===r.byteOffset)return!0;o=!0}if(!o){if("object"!=typeof t||"object"!=typeof r)return!1;var i=t.constructor,a=r.constructor;if(i!==a&&!(p(i)&&i instanceof i&&p(a)&&a instanceof a)&&"constructor"in t&&"constructor"in r)return!1}e=e||[];u=u||[];var f=e.length;for(;f--;)if(e[f]===t)return u[f]===r;e.push(t);u.push(r);if(o){if((f=t.length)!==r.length)return!1;for(;f--;)if(!mn(t[f],r[f],e,u))return!1}else{var c,l=b(t);if(f=l.length,b(r).length!==f)return!1;for(;f--;)if(c=l[f],!y(r,c)||!mn(t[c],r[c],e,u))return!1}e.pop();u.pop();return!0}(n,t,r,e))}function c(n){if(!o(n))return[];var t,r=[];for(t in n)r.push(t);return K&&yn(n,r),r}function jn(e){var u=g(e);return function(n){if(null==n)return!1;var t=c(n);if(g(t))return!1;for(var r=0;r<u;r++)if(!p(n[e[r]]))return!1;return e!==_n||!p(n[wn])}}var wn="forEach",t=["clear","delete"],u=["get","has","set"],U=t.concat(wn,u),_n=t.concat(u),r=["add"].concat(t,wn,"has"),u=a?jn(U):i("Map"),t=a?jn(_n):i("WeakMap"),U=a?jn(r):i("Set"),a=i("WeakSet");function j(n){for(var t=b(n),r=t.length,e=Array(r),u=0;u<r;u++)e[u]=n[t[u]];return e}function An(n){for(var t={},r=b(n),e=0,u=r.length;e<u;e++)t[n[r[e]]]=r[e];return t}function xn(n){var t,r=[];for(t in n)p(n[t])&&r.push(t);return r.sort()}function Sn(f,c){return function(n){var t=arguments.length;if(c&&(n=Object(n)),!(t<2||null==n))for(var r=1;r<t;r++)for(var e=arguments[r],u=f(e),o=u.length,i=0;i<o;i++){var a=u[i];c&&void 0!==n[a]||(n[a]=e[a])}return n}}var On=Sn(c),w=Sn(b),Mn=Sn(c,!0);function En(n){var t;return o(n)?z?z(n):((t=function(){}).prototype=n,n=new t,t.prototype=null,n):{}}function Bn(n){return v(n)?n:[n]}function _(n){return m.toPath(n)}function Nn(n,t){for(var r=t.length,e=0;e<r;e++){if(null==n)return;n=n[t[e]]}return r?n:void 0}function In(n,t,r){n=Nn(n,_(t));return H(n)?r:n}function Tn(n){return n}function A(t){return t=w({},t),function(n){return dn(n,t)}}function kn(t){return t=_(t),function(n){return Nn(n,t)}}function x(u,o,n){if(void 0===o)return u;switch(null==n?3:n){case 1:return function(n){return u.call(o,n)};case 3:return function(n,t,r){return u.call(o,n,t,r)};case 4:return function(n,t,r,e){return u.call(o,n,t,r,e)}}return function(){return u.apply(o,arguments)}}function Dn(n,t,r){return null==n?Tn:p(n)?x(n,t,r):(o(n)&&!v(n)?A:kn)(n)}function Rn(n,t){return Dn(n,t,1/0)}function S(n,t,r){return m.iteratee!==Rn?m.iteratee(n,t):Dn(n,t,r)}function Vn(){}function Fn(n,t){return null==t&&(t=n,n=0),n+Math.floor(Math.random()*(t-n+1))}m.toPath=Bn,m.iteratee=Rn;var O=Date.now||function(){return(new Date).getTime()};function Pn(t){function r(n){return t[n]}var n="(?:"+b(t).join("|")+")",e=RegExp(n),u=RegExp(n,"g");return function(n){return e.test(n=null==n?"":""+n)?n.replace(u,r):n}}var r={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},qn=Pn(r),r=Pn(An(r)),Un=m.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g},Wn=/(.)^/,zn={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},Ln=/\\|'|\r|\n|\u2028|\u2029/g;function $n(n){return"\\"+zn[n]}var Cn=/^\s*(\w|\$)+\s*$/;var Kn=0;function Jn(n,t,r,e,u){return e instanceof t?(e=En(n.prototype),o(t=n.apply(e,u))?t:e):n.apply(r,u)}var M=l(function(u,o){function i(){for(var n=0,t=o.length,r=Array(t),e=0;e<t;e++)r[e]=o[e]===a?arguments[n++]:o[e];for(;n<arguments.length;)r.push(arguments[n++]);return Jn(u,i,this,this,r)}var a=M.placeholder;return i}),Gn=(M.placeholder=m,l(function(t,r,e){var u;if(p(t))return u=l(function(n){return Jn(t,u,r,this,e.concat(n))});throw new TypeError("Bind must be called on a function")})),E=ln(g);function B(n,t,r,e){if(e=e||[],t||0===t){if(t<=0)return e.concat(n)}else t=1/0;for(var u=e.length,o=0,i=g(n);o<i;o++){var a=n[o];if(E(a)&&(v(a)||an(a)))if(1<t)B(a,t-1,r,e),u=e.length;else for(var f=0,c=a.length;f<c;)e[u++]=a[f++];else r||(e[u++]=a)}return e}var Hn=l(function(n,t){var r=(t=B(t,!1,!1)).length;if(r<1)throw new Error("bindAll must be passed function names");for(;r--;){var e=t[r];n[e]=Gn(n[e],n)}return n});var Qn=l(function(n,t,r){return setTimeout(function(){return n.apply(null,r)},t)}),Xn=M(Qn,m,1);function Yn(n){return function(){return!n.apply(this,arguments)}}function Zn(n,t){var r;return function(){return 0<--n&&(r=t.apply(this,arguments)),n<=1&&(t=null),r}}var nt=M(Zn,2);function tt(n,t,r){t=S(t,r);for(var e,u=b(n),o=0,i=u.length;o<i;o++)if(t(n[e=u[o]],e,n))return e}function rt(o){return function(n,t,r){t=S(t,r);for(var e=g(n),u=0<o?0:e-1;0<=u&&u<e;u+=o)if(t(n[u],u,n))return u;return-1}}var et=rt(1),ut=rt(-1);function ot(n,t,r,e){for(var u=(r=S(r,e,1))(t),o=0,i=g(n);o<i;){var a=Math.floor((o+i)/2);r(n[a])<u?o=a+1:i=a}return o}function it(o,i,a){return function(n,t,r){var e=0,u=g(n);if("number"==typeof r)0<o?e=0<=r?r:Math.max(r+u,e):u=0<=r?Math.min(r+1,u):r+u+1;else if(a&&r&&u)return n[r=a(n,t)]===t?r:-1;if(t!=t)return 0<=(r=i(f.call(n,e,u),fn))?r+e:-1;for(r=0<o?e:u-1;0<=r&&r<u;r+=o)if(n[r]===t)return r;return-1}}var at=it(1,et,ot),ft=it(-1,ut);function ct(n,t,r){t=(E(n)?et:tt)(n,t,r);if(void 0!==t&&-1!==t)return n[t]}function N(n,t,r){if(t=x(t,r),E(n))for(u=0,o=n.length;u<o;u++)t(n[u],u,n);else for(var e=b(n),u=0,o=e.length;u<o;u++)t(n[e[u]],e[u],n);return n}function I(n,t,r){t=S(t,r);for(var e=!E(n)&&b(n),u=(e||n).length,o=Array(u),i=0;i<u;i++){var a=e?e[i]:i;o[i]=t(n[a],a,n)}return o}function lt(f){return function(n,t,r,e){var u=3<=arguments.length;return function(n,t,r,e){var u=!E(n)&&b(n),o=(u||n).length,i=0<f?0:o-1;for(e||(r=n[u?u[i]:i],i+=f);0<=i&&i<o;i+=f){var a=u?u[i]:i;r=t(r,n[a],a,n)}return r}(n,x(t,e,4),r,u)}}var st=lt(1),pt=lt(-1);function T(n,e,t){var u=[];return e=S(e,t),N(n,function(n,t,r){e(n,t,r)&&u.push(n)}),u}function ht(n,t,r){t=S(t,r);for(var e=!E(n)&&b(n),u=(e||n).length,o=0;o<u;o++){var i=e?e[o]:o;if(!t(n[i],i,n))return!1}return!0}function vt(n,t,r){t=S(t,r);for(var e=!E(n)&&b(n),u=(e||n).length,o=0;o<u;o++){var i=e?e[o]:o;if(t(n[i],i,n))return!0}return!1}function k(n,t,r,e){return E(n)||(n=j(n)),0<=at(n,t,r="number"==typeof r&&!e?r:0)}var yt=l(function(n,r,e){var u,o;return p(r)?o=r:(r=_(r),u=r.slice(0,-1),r=r[r.length-1]),I(n,function(n){var t=o;if(!t){if(null==(n=u&&u.length?Nn(n,u):n))return;t=n[r]}return null==t?t:t.apply(n,e)})});function dt(n,t){return I(n,kn(t))}function gt(n,e,t){var r,u,o=-1/0,i=-1/0;if(null==e||"number"==typeof e&&"object"!=typeof n[0]&&null!=n)for(var a=0,f=(n=E(n)?n:j(n)).length;a<f;a++)null!=(r=n[a])&&o<r&&(o=r);else e=S(e,t),N(n,function(n,t,r){u=e(n,t,r),(i<u||u===-1/0&&o===-1/0)&&(o=n,i=u)});return o}var bt=/[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g;function mt(n){return n?v(n)?f.call(n):X(n)?n.match(bt):E(n)?I(n,Tn):j(n):[]}function jt(n,t,r){if(null==t||r)return(n=E(n)?n:j(n))[Fn(n.length-1)];for(var e=mt(n),r=g(e),u=(t=Math.max(Math.min(t,r),0),r-1),o=0;o<t;o++){var i=Fn(o,u),a=e[o];e[o]=e[i],e[i]=a}return e.slice(0,t)}function D(o,t){return function(r,e,n){var u=t?[[],[]]:{};return e=S(e,n),N(r,function(n,t){t=e(n,t,r);o(u,n,t)}),u}}var wt=D(function(n,t,r){y(n,r)?n[r].push(t):n[r]=[t]}),_t=D(function(n,t,r){n[r]=t}),At=D(function(n,t,r){y(n,r)?n[r]++:n[r]=1}),xt=D(function(n,t,r){n[r?0:1].push(t)},!0);function St(n,t,r){return t in r}var Ot=l(function(n,t){var r={},e=t[0];if(null!=n){p(e)?(1<t.length&&(e=x(e,t[1])),t=c(n)):(e=St,t=B(t,!1,!1),n=Object(n));for(var u=0,o=t.length;u<o;u++){var i=t[u],a=n[i];e(a,i,n)&&(r[i]=a)}}return r}),Mt=l(function(n,r){var t,e=r[0];return p(e)?(e=Yn(e),1<r.length&&(t=r[1])):(r=I(B(r,!1,!1),String),e=function(n,t){return!k(r,t)}),Ot(n,e,t)});function Et(n,t,r){return f.call(n,0,Math.max(0,n.length-(null==t||r?1:t)))}function Bt(n,t,r){return null==n||n.length<1?null==t||r?void 0:[]:null==t||r?n[0]:Et(n,n.length-t)}function R(n,t,r){return f.call(n,null==t||r?1:t)}var Nt=l(function(n,t){return t=B(t,!0,!0),T(n,function(n){return!k(t,n)})}),It=l(function(n,t){return Nt(n,t)});function Tt(n,t,r,e){Q(t)||(e=r,r=t,t=!1),null!=r&&(r=S(r,e));for(var u=[],o=[],i=0,a=g(n);i<a;i++){var f=n[i],c=r?r(f,i,n):f;t&&!r?(i&&o===c||u.push(f),o=c):r?k(o,c)||(o.push(c),u.push(f)):k(u,f)||u.push(f)}return u}var kt=l(function(n){return Tt(B(n,!0,!0))});function Dt(n){for(var t=n&&gt(n,g).length||0,r=Array(t),e=0;e<t;e++)r[e]=dt(n,e);return r}var Rt=l(Dt);function Vt(n,t){return n._chain?m(t).chain():t}function Ft(r){return N(xn(r),function(n){var t=m[n]=r[n];m.prototype[n]=function(){var n=[this._wrapped];return P.apply(n,arguments),Vt(this,t.apply(m,n))}}),m}N(["pop","push","reverse","shift","sort","splice","unshift"],function(t){var r=e[t];m.prototype[t]=function(){var n=this._wrapped;return null!=n&&(r.apply(n,arguments),"shift"!==t&&"splice"!==t||0!==n.length||delete n[0]),Vt(this,n)}}),N(["concat","join","slice"],function(n){var t=e[n];m.prototype[n]=function(){var n=this._wrapped;return Vt(this,n=null!=n?t.apply(n,arguments):n)}});n=Ft({__proto__:null,VERSION:n,restArguments:l,isObject:o,isNull:function(n){return null===n},isUndefined:H,isBoolean:Q,isElement:function(n){return!(!n||1!==n.nodeType)},isString:X,isNumber:Y,isDate:Z,isRegExp:nn,isError:tn,isSymbol:rn,isArrayBuffer:en,isDataView:h,isArray:v,isFunction:p,isArguments:an,isFinite:function(n){return!rn(n)&&C(n)&&!isNaN(parseFloat(n))},isNaN:fn,isTypedArray:vn,isEmpty:function(n){var t;return null==n||("number"==typeof(t=g(n))&&(v(n)||X(n)||an(n))?0===t:0===g(b(n)))},isMatch:dn,isEqual:function(n,t){return mn(n,t)},isMap:u,isWeakMap:t,isSet:U,isWeakSet:a,keys:b,allKeys:c,values:j,pairs:function(n){for(var t=b(n),r=t.length,e=Array(r),u=0;u<r;u++)e[u]=[t[u],n[t[u]]];return e},invert:An,functions:xn,methods:xn,extend:On,extendOwn:w,assign:w,defaults:Mn,create:function(n,t){return n=En(n),t&&w(n,t),n},clone:function(n){return o(n)?v(n)?n.slice():On({},n):n},tap:function(n,t){return t(n),n},get:In,has:function(n,t){for(var r=(t=_(t)).length,e=0;e<r;e++){var u=t[e];if(!y(n,u))return!1;n=n[u]}return!!r},mapObject:function(n,t,r){t=S(t,r);for(var e=b(n),u=e.length,o={},i=0;i<u;i++){var a=e[i];o[a]=t(n[a],a,n)}return o},identity:Tn,constant:cn,noop:Vn,toPath:Bn,property:kn,propertyOf:function(t){return null==t?Vn:function(n){return In(t,n)}},matcher:A,matches:A,times:function(n,t,r){var e=Array(Math.max(0,n));t=x(t,r,1);for(var u=0;u<n;u++)e[u]=t(u);return e},random:Fn,now:O,escape:qn,unescape:r,templateSettings:Un,template:function(o,n,t){n=Mn({},n=!n&&t?t:n,m.templateSettings);var r,t=RegExp([(n.escape||Wn).source,(n.interpolate||Wn).source,(n.evaluate||Wn).source].join("|")+"|$","g"),i=0,a="__p+='";if(o.replace(t,function(n,t,r,e,u){return a+=o.slice(i,u).replace(Ln,$n),i=u+n.length,t?a+="'+\n((__t=("+t+"))==null?'':_.escape(__t))+\n'":r?a+="'+\n((__t=("+r+"))==null?'':__t)+\n'":e&&(a+="';\n"+e+"\n__p+='"),n}),a+="';\n",t=n.variable){if(!Cn.test(t))throw new Error("variable is not a bare identifier: "+t)}else a="with(obj||{}){\n"+a+"}\n",t="obj";a="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+a+"return __p;\n";try{r=new Function(t,"_",a)}catch(n){throw n.source=a,n}function e(n){return r.call(this,n,m)}return e.source="function("+t+"){\n"+a+"}",e},result:function(n,t,r){var e=(t=_(t)).length;if(!e)return p(r)?r.call(n):r;for(var u=0;u<e;u++){var o=null==n?void 0:n[t[u]];void 0===o&&(o=r,u=e),n=p(o)?o.call(n):o}return n},uniqueId:function(n){var t=++Kn+"";return n?n+t:t},chain:function(n){return(n=m(n))._chain=!0,n},iteratee:Rn,partial:M,bind:Gn,bindAll:Hn,memoize:function(e,u){function o(n){var t=o.cache,r=""+(u?u.apply(this,arguments):n);return y(t,r)||(t[r]=e.apply(this,arguments)),t[r]}return o.cache={},o},delay:Qn,defer:Xn,throttle:function(r,e,u){function o(){l=!1===u.leading?0:O(),i=null,c=r.apply(a,f),i||(a=f=null)}function n(){var n=O(),t=(l||!1!==u.leading||(l=n),e-(n-l));return a=this,f=arguments,t<=0||e<t?(i&&(clearTimeout(i),i=null),l=n,c=r.apply(a,f),i||(a=f=null)):i||!1===u.trailing||(i=setTimeout(o,t)),c}var i,a,f,c,l=0;return u=u||{},n.cancel=function(){clearTimeout(i),l=0,i=a=f=null},n},debounce:function(t,r,e){function u(){var n=O()-i;n<r?o=setTimeout(u,r-n):(o=null,e||(f=t.apply(c,a)),o||(a=c=null))}var o,i,a,f,c,n=l(function(n){return c=this,a=n,i=O(),o||(o=setTimeout(u,r),e&&(f=t.apply(c,a))),f});return n.cancel=function(){clearTimeout(o),o=a=c=null},n},wrap:function(n,t){return M(t,n)},negate:Yn,compose:function(){var r=arguments,e=r.length-1;return function(){for(var n=e,t=r[e].apply(this,arguments);n--;)t=r[n].call(this,t);return t}},after:function(n,t){return function(){if(--n<1)return t.apply(this,arguments)}},before:Zn,once:nt,findKey:tt,findIndex:et,findLastIndex:ut,sortedIndex:ot,indexOf:at,lastIndexOf:ft,find:ct,detect:ct,findWhere:function(n,t){return ct(n,A(t))},each:N,forEach:N,map:I,collect:I,reduce:st,foldl:st,inject:st,reduceRight:pt,foldr:pt,filter:T,select:T,reject:function(n,t,r){return T(n,Yn(S(t)),r)},every:ht,all:ht,some:vt,any:vt,contains:k,includes:k,include:k,invoke:yt,pluck:dt,where:function(n,t){return T(n,A(t))},max:gt,min:function(n,e,t){var r,u,o=1/0,i=1/0;if(null==e||"number"==typeof e&&"object"!=typeof n[0]&&null!=n)for(var a=0,f=(n=E(n)?n:j(n)).length;a<f;a++)null!=(r=n[a])&&r<o&&(o=r);else e=S(e,t),N(n,function(n,t,r){((u=e(n,t,r))<i||u===1/0&&o===1/0)&&(o=n,i=u)});return o},shuffle:function(n){return jt(n,1/0)},sample:jt,sortBy:function(n,e,t){var u=0;return e=S(e,t),dt(I(n,function(n,t,r){return{value:n,index:u++,criteria:e(n,t,r)}}).sort(function(n,t){var r=n.criteria,e=t.criteria;if(r!==e){if(e<r||void 0===r)return 1;if(r<e||void 0===e)return-1}return n.index-t.index}),"value")},groupBy:wt,indexBy:_t,countBy:At,partition:xt,toArray:mt,size:function(n){return null==n?0:(E(n)?n:b(n)).length},pick:Ot,omit:Mt,first:Bt,head:Bt,take:Bt,initial:Et,last:function(n,t,r){return null==n||n.length<1?null==t||r?void 0:[]:null==t||r?n[n.length-1]:R(n,Math.max(0,n.length-t))},rest:R,tail:R,drop:R,compact:function(n){return T(n,Boolean)},flatten:function(n,t){return B(n,t,!1)},without:It,uniq:Tt,unique:Tt,union:kt,intersection:function(n){for(var t=[],r=arguments.length,e=0,u=g(n);e<u;e++){var o=n[e];if(!k(t,o)){for(var i=1;i<r&&k(arguments[i],o);i++);i===r&&t.push(o)}}return t},difference:Nt,unzip:Dt,transpose:Dt,zip:Rt,object:function(n,t){for(var r={},e=0,u=g(n);e<u;e++)t?r[n[e]]=t[e]:r[n[e][0]]=n[e][1];return r},range:function(n,t,r){null==t&&(t=n||0,n=0),r=r||(t<n?-1:1);for(var e=Math.max(Math.ceil((t-n)/r),0),u=Array(e),o=0;o<e;o++,n+=r)u[o]=n;return u},chunk:function(n,t){if(null==t||t<1)return[];for(var r=[],e=0,u=n.length;e<u;)r.push(f.call(n,e,e+=t));return r},mixin:Ft,default:m});return n._=n});
!function(n){var s="object"==typeof self&&self.self===self&&self||"object"==typeof global&&global.global===global&&global;if("function"==typeof define&&define.amd)define(["underscore","jquery","exports"],function(t,e,i){s.Backbone=n(s,i,t,e)});else if("undefined"!=typeof exports){var t,e=require("underscore");try{t=require("jquery")}catch(t){}n(s,exports,e,t)}else s.Backbone=n(s,{},s._,s.jQuery||s.Zepto||s.ender||s.$)}(function(t,h,b,e){function a(t,e,i,n,s){var r,o=0;if(i&&"object"==typeof i){void 0!==n&&"context"in s&&void 0===s.context&&(s.context=n);for(r=b.keys(i);o<r.length;o++)e=a(t,e,r[o],i[r[o]],s)}else if(i&&l.test(i))for(r=i.split(l);o<r.length;o++)e=t(e,r[o],n,s);else e=t(e,i,n,s);return e}function x(t,e,i){i=Math.min(Math.max(i,0),t.length);for(var n=Array(t.length-i),s=e.length,r=0;r<n.length;r++)n[r]=t[r+i];for(r=0;r<s;r++)t[r+i]=e[r];for(r=0;r<n.length;r++)t[r+s+i]=n[r]}function s(i,n,t,s){b.each(t,function(t,e){n[e]&&(i.prototype[e]=function(n,t,s,r){switch(t){case 1:return function(){return n[s](this[r])};case 2:return function(t){return n[s](this[r],t)};case 3:return function(t,e){return n[s](this[r],T(t,this),e)};case 4:return function(t,e,i){return n[s](this[r],T(t,this),e,i)};default:return function(){var t=u.call(arguments);return t.unshift(this[r]),n[s].apply(n,t)}}}(n,t,e,s))})}var o,i=t.Backbone,u=Array.prototype.slice,e=(h.VERSION="1.6.0",h.$=e,h.noConflict=function(){return t.Backbone=i,this},h.emulateHTTP=!1,h.emulateJSON=!1,h.Events={}),l=/\s+/,n=(e.on=function(t,e,i){return this._events=a(n,this._events||{},t,e,{context:i,ctx:this,listening:o}),o&&(((this._listeners||(this._listeners={}))[o.id]=o).interop=!1),this},e.listenTo=function(t,e,i){if(t){var n=t._listenId||(t._listenId=b.uniqueId("l")),s=this._listeningTo||(this._listeningTo={}),r=o=s[n],s=(r||(this._listenId||(this._listenId=b.uniqueId("l")),r=o=s[n]=new g(this,t)),c(t,e,i,this));if(o=void 0,s)throw s;r.interop&&r.on(e,i)}return this},function(t,e,i,n){var s,r;return i&&(e=t[e]||(t[e]=[]),s=n.context,r=n.ctx,(n=n.listening)&&n.count++,e.push({callback:i,context:s,ctx:s||r,listening:n})),t}),c=function(t,e,i,n){try{t.on(e,i,n)}catch(t){return t}},r=(e.off=function(t,e,i){return this._events&&(this._events=a(r,this._events,t,e,{context:i,listeners:this._listeners})),this},e.stopListening=function(t,e,i){var n=this._listeningTo;if(n){for(var s=t?[t._listenId]:b.keys(n),r=0;r<s.length;r++){var o=n[s[r]];if(!o)break;o.obj.off(e,i,this),o.interop&&o.off(e,i)}b.isEmpty(n)&&(this._listeningTo=void 0)}return this},function(t,e,i,n){if(t){var s,r=n.context,o=n.listeners,h=0;if(e||r||i){for(s=e?[e]:b.keys(t);h<s.length;h++){var a=t[e=s[h]];if(!a)break;for(var u=[],l=0;l<a.length;l++){var c=a[l];i&&i!==c.callback&&i!==c.callback._callback||r&&r!==c.context?u.push(c):(c=c.listening)&&c.off(e,i)}u.length?t[e]=u:delete t[e]}return t}for(s=b.keys(o);h<s.length;h++)o[s[h]].cleanup()}}),d=(e.once=function(t,e,i){var n=a(d,{},t,e,this.off.bind(this));return this.on(n,e="string"==typeof t&&null==i?void 0:e,i)},e.listenToOnce=function(t,e,i){e=a(d,{},e,i,this.stopListening.bind(this,t));return this.listenTo(t,e)},function(t,e,i,n){var s;return i&&((s=t[e]=b.once(function(){n(e,s),i.apply(this,arguments)}))._callback=i),t}),f=(e.trigger=function(t){if(this._events){for(var e=Math.max(0,arguments.length-1),i=Array(e),n=0;n<e;n++)i[n]=arguments[n+1];a(f,this._events,t,void 0,i)}return this},function(t,e,i,n){var s,r;return t&&(s=t[e],r=t.all,s&&(r=r&&r.slice()),s&&p(s,n),r)&&p(r,[e].concat(n)),t}),p=function(t,e){var i,n=-1,s=t.length,r=e[0],o=e[1],h=e[2];switch(e.length){case 0:for(;++n<s;)(i=t[n]).callback.call(i.ctx);return;case 1:for(;++n<s;)(i=t[n]).callback.call(i.ctx,r);return;case 2:for(;++n<s;)(i=t[n]).callback.call(i.ctx,r,o);return;case 3:for(;++n<s;)(i=t[n]).callback.call(i.ctx,r,o,h);return;default:for(;++n<s;)(i=t[n]).callback.apply(i.ctx,e);return}},g=function(t,e){this.id=t._listenId,this.listener=t,this.obj=e,this.interop=!0,this.count=0,this._events=void 0},v=(g.prototype.on=e.on,g.prototype.off=function(t,e){t=this.interop?(this._events=a(r,this._events,t,e,{context:void 0,listeners:void 0}),!this._events):(this.count--,0===this.count);t&&this.cleanup()},g.prototype.cleanup=function(){delete this.listener._listeningTo[this.obj._listenId],this.interop||delete this.obj._listeners[this.id]},e.bind=e.on,e.unbind=e.off,b.extend(h,e),h.Model=function(t,e){var i=t||{},n=(e=e||{},this.preinitialize.apply(this,arguments),this.cid=b.uniqueId(this.cidPrefix),this.attributes={},e.collection&&(this.collection=e.collection),e.parse&&(i=this.parse(i,e)||{}),b.result(this,"defaults")),i=b.defaults(b.extend({},n,i),n);this.set(i,e),this.changed={},this.initialize.apply(this,arguments)}),m=(b.extend(v.prototype,e,{changed:null,validationError:null,idAttribute:"id",cidPrefix:"c",preinitialize:function(){},initialize:function(){},toJSON:function(t){return b.clone(this.attributes)},sync:function(){return h.sync.apply(this,arguments)},get:function(t){return this.attributes[t]},escape:function(t){return b.escape(this.get(t))},has:function(t){return null!=this.get(t)},matches:function(t){return!!b.iteratee(t,this)(this.attributes)},set:function(t,e,i){if(null!=t){var n;if("object"==typeof t?(n=t,i=e):(n={})[t]=e,!this._validate(n,i=i||{}))return!1;var s,r,o=i.unset,t=i.silent,h=[],a=this._changing,u=(this._changing=!0,a||(this._previousAttributes=b.clone(this.attributes),this.changed={}),this.attributes),l=this.changed,c=this._previousAttributes;for(s in n)e=n[s],b.isEqual(u[s],e)||h.push(s),b.isEqual(c[s],e)?delete l[s]:l[s]=e,o?delete u[s]:u[s]=e;if(this.idAttribute in n&&(r=this.id,this.id=this.get(this.idAttribute),this.trigger("changeId",this,r,i)),!t){h.length&&(this._pending=i);for(var d=0;d<h.length;d++)this.trigger("change:"+h[d],this,u[h[d]],i)}if(!a){if(!t)for(;this._pending;)i=this._pending,this._pending=!1,this.trigger("change",this,i);this._pending=!1,this._changing=!1}}return this},unset:function(t,e){return this.set(t,void 0,b.extend({},e,{unset:!0}))},clear:function(t){var e,i={};for(e in this.attributes)i[e]=void 0;return this.set(i,b.extend({},t,{unset:!0}))},hasChanged:function(t){return null==t?!b.isEmpty(this.changed):b.has(this.changed,t)},changedAttributes:function(t){if(!t)return!!this.hasChanged()&&b.clone(this.changed);var e,i,n=this._changing?this._previousAttributes:this.attributes,s={};for(i in t){var r=t[i];b.isEqual(n[i],r)||(s[i]=r,e=!0)}return!!e&&s},previous:function(t){return null!=t&&this._previousAttributes?this._previousAttributes[t]:null},previousAttributes:function(){return b.clone(this._previousAttributes)},fetch:function(i){i=b.extend({parse:!0},i);var n=this,s=i.success;return i.success=function(t){var e=i.parse?n.parse(t,i):t;if(!n.set(e,i))return!1;s&&s.call(i.context,n,t,i),n.trigger("sync",n,t,i)},N(this,i),this.sync("read",this,i)},save:function(t,e,i){null==t||"object"==typeof t?(n=t,i=e):(n={})[t]=e;var n,s=(i=b.extend({validate:!0,parse:!0},i)).wait;if(n&&!s){if(!this.set(n,i))return!1}else if(!this._validate(n,i))return!1;var r=this,o=i.success,h=this.attributes,t=(i.success=function(t){r.attributes=h;var e=i.parse?r.parse(t,i):t;if((e=s?b.extend({},n,e):e)&&!r.set(e,i))return!1;o&&o.call(i.context,r,t,i),r.trigger("sync",r,t,i)},N(this,i),n&&s&&(this.attributes=b.extend({},h,n)),this.isNew()?"create":i.patch?"patch":"update"),e=("patch"!=t||i.attrs||(i.attrs=n),this.sync(t,this,i));return this.attributes=h,e},destroy:function(e){e=e?b.clone(e):{};function i(){n.stopListening(),n.trigger("destroy",n,n.collection,e)}var n=this,s=e.success,r=e.wait,t=!(e.success=function(t){r&&i(),s&&s.call(e.context,n,t,e),n.isNew()||n.trigger("sync",n,t,e)});return this.isNew()?b.defer(e.success):(N(this,e),t=this.sync("delete",this,e)),r||i(),t},url:function(){var t,e=b.result(this,"urlRoot")||b.result(this.collection,"url")||M();return this.isNew()?e:(t=this.get(this.idAttribute),e.replace(/[^\/]$/,"$&/")+encodeURIComponent(t))},parse:function(t,e){return t},clone:function(){return new this.constructor(this.attributes)},isNew:function(){return!this.has(this.idAttribute)},isValid:function(t){return this._validate({},b.extend({},t,{validate:!0}))},_validate:function(t,e){if(!e.validate||!this.validate)return!0;t=b.extend({},this.attributes,t);t=this.validationError=this.validate(t,e)||null;return!t||(this.trigger("invalid",this,t,b.extend(e,{validationError:t})),!1)}}),h.Collection=function(t,e){e=e||{},this.preinitialize.apply(this,arguments),e.model&&(this.model=e.model),void 0!==e.comparator&&(this.comparator=e.comparator),this._reset(),this.initialize.apply(this,arguments),t&&this.reset(t,b.extend({silent:!0},e))}),w={add:!0,remove:!0,merge:!0},_={add:!0,remove:!1},y=(b.extend(m.prototype,e,{model:v,preinitialize:function(){},initialize:function(){},toJSON:function(e){return this.map(function(t){return t.toJSON(e)})},sync:function(){return h.sync.apply(this,arguments)},add:function(t,e){return this.set(t,b.extend({merge:!1},e,_))},remove:function(t,e){e=b.extend({},e);var i=!b.isArray(t),t=(t=i?[t]:t.slice(),this._removeModels(t,e));return!e.silent&&t.length&&(e.changes={added:[],merged:[],removed:t},this.trigger("update",this,e)),i?t[0]:t},set:function(t,e){if(null!=t){(e=b.extend({},w,e)).parse&&!this._isModel(t)&&(t=this.parse(t,e)||[]);for(var i=!b.isArray(t),n=(t=i?[t]:t.slice(),e.at),s=((n=(n=null!=n?+n:n)>this.length?this.length:n)<0&&(n+=this.length+1),[]),r=[],o=[],h=[],a={},u=e.add,l=e.merge,c=e.remove,d=!1,f=this.comparator&&null==n&&!1!==e.sort,p=b.isString(this.comparator)?this.comparator:null,g=0;g<t.length;g++){var v,m=t[g],_=this.get(m);_?(l&&m!==_&&(v=this._isModel(m)?m.attributes:m,e.parse&&(v=_.parse(v,e)),_.set(v,e),o.push(_),f)&&!d&&(d=_.hasChanged(p)),a[_.cid]||(a[_.cid]=!0,s.push(_)),t[g]=_):u&&(m=t[g]=this._prepareModel(m,e))&&(r.push(m),this._addReference(m,e),a[m.cid]=!0,s.push(m))}if(c){for(g=0;g<this.length;g++)a[(m=this.models[g]).cid]||h.push(m);h.length&&this._removeModels(h,e)}var y=!1;if(s.length&&(!f&&u&&c)?(y=this.length!==s.length||b.some(this.models,function(t,e){return t!==s[e]}),this.models.length=0,x(this.models,s,0),this.length=this.models.length):r.length&&(f&&(d=!0),x(this.models,r,null==n?this.length:n),this.length=this.models.length),d&&this.sort({silent:!0}),!e.silent){for(g=0;g<r.length;g++)null!=n&&(e.index=n+g),(m=r[g]).trigger("add",m,this,e);(d||y)&&this.trigger("sort",this,e),(r.length||h.length||o.length)&&(e.changes={added:r,removed:h,merged:o},this.trigger("update",this,e))}return i?t[0]:t}},reset:function(t,e){e=e?b.clone(e):{};for(var i=0;i<this.models.length;i++)this._removeReference(this.models[i],e);return e.previousModels=this.models,this._reset(),t=this.add(t,b.extend({silent:!0},e)),e.silent||this.trigger("reset",this,e),t},push:function(t,e){return this.add(t,b.extend({at:this.length},e))},pop:function(t){var e=this.at(this.length-1);return this.remove(e,t)},unshift:function(t,e){return this.add(t,b.extend({at:0},e))},shift:function(t){var e=this.at(0);return this.remove(e,t)},slice:function(){return u.apply(this.models,arguments)},get:function(t){if(null!=t)return this._byId[t]||this._byId[this.modelId(this._isModel(t)?t.attributes:t,t.idAttribute)]||t.cid&&this._byId[t.cid]},has:function(t){return null!=this.get(t)},at:function(t){return t<0&&(t+=this.length),this.models[t]},where:function(t,e){return this[e?"find":"filter"](t)},findWhere:function(t){return this.where(t,!0)},sort:function(t){var e=this.comparator;if(!e)throw new Error("Cannot sort a set without a comparator");t=t||{};var i=e.length;return b.isFunction(e)&&(e=e.bind(this)),1===i||b.isString(e)?this.models=this.sortBy(e):this.models.sort(e),t.silent||this.trigger("sort",this,t),this},pluck:function(t){return this.map(t+"")},fetch:function(i){var n=(i=b.extend({parse:!0},i)).success,s=this;return i.success=function(t){var e=i.reset?"reset":"set";s[e](t,i),n&&n.call(i.context,s,t,i),s.trigger("sync",s,t,i)},N(this,i),this.sync("read",this,i)},create:function(t,e){var n=(e=e?b.clone(e):{}).wait;if(!(t=this._prepareModel(t,e)))return!1;n||this.add(t,e);var s=this,r=e.success;return e.success=function(t,e,i){n&&(t.off("error",s._forwardPristineError,s),s.add(t,i)),r&&r.call(i.context,t,e,i)},n&&t.once("error",this._forwardPristineError,this),t.save(null,e),t},parse:function(t,e){return t},clone:function(){return new this.constructor(this.models,{model:this.model,comparator:this.comparator})},modelId:function(t,e){return t[e||this.model.prototype.idAttribute||"id"]},values:function(){return new E(this,S)},keys:function(){return new E(this,I)},entries:function(){return new E(this,k)},_reset:function(){this.length=0,this.models=[],this._byId={}},_prepareModel:function(t,e){return this._isModel(t)?(t.collection||(t.collection=this),t):(t=((e=e?b.clone(e):{}).collection=this).model.prototype?new this.model(t,e):this.model(t,e)).validationError?(this.trigger("invalid",this,t.validationError,e),!1):t},_removeModels:function(t,e){for(var i=[],n=0;n<t.length;n++){var s,r,o=this.get(t[n]);o&&(s=this.indexOf(o),this.models.splice(s,1),this.length--,delete this._byId[o.cid],null!=(r=this.modelId(o.attributes,o.idAttribute))&&delete this._byId[r],e.silent||(e.index=s,o.trigger("remove",o,this,e)),i.push(o),this._removeReference(o,e))}return 0<t.length&&!e.silent&&delete e.index,i},_isModel:function(t){return t instanceof v},_addReference:function(t,e){this._byId[t.cid]=t;var i=this.modelId(t.attributes,t.idAttribute);null!=i&&(this._byId[i]=t),t.on("all",this._onModelEvent,this)},_removeReference:function(t,e){delete this._byId[t.cid];var i=this.modelId(t.attributes,t.idAttribute);null!=i&&delete this._byId[i],this===t.collection&&delete t.collection,t.off("all",this._onModelEvent,this)},_onModelEvent:function(t,e,i,n){if(e){if(("add"===t||"remove"===t)&&i!==this)return;var s,r;"destroy"===t&&this.remove(e,n),"changeId"===t&&(s=this.modelId(e.previousAttributes(),e.idAttribute),r=this.modelId(e.attributes,e.idAttribute),null!=s&&delete this._byId[s],null!=r)&&(this._byId[r]=e)}this.trigger.apply(this,arguments)},_forwardPristineError:function(t,e,i){this.has(t)||this._onModelEvent("error",t,e,i)}}),"function"==typeof Symbol&&Symbol.iterator),E=(y&&(m.prototype[y]=m.prototype.values),function(t,e){this._collection=t,this._kind=e,this._index=0}),S=1,I=2,k=3,y=(y&&(E.prototype[y]=function(){return this}),E.prototype.next=function(){if(this._collection){var t,e;if(this._index<this._collection.length)return t=this._collection.at(this._index),this._index++,{value:this._kind===S?t:(e=this._collection.modelId(t.attributes,t.idAttribute),this._kind===I?e:[e,t]),done:!1};this._collection=void 0}return{value:void 0,done:!0}},h.View=function(t){this.cid=b.uniqueId("view"),this.preinitialize.apply(this,arguments),b.extend(this,b.pick(t,P)),this._ensureElement(),this.initialize.apply(this,arguments)}),A=/^(\S+)\s*(.*)$/,P=["model","collection","el","id","attributes","className","tagName","events"],T=(b.extend(y.prototype,e,{tagName:"div",$:function(t){return this.$el.find(t)},preinitialize:function(){},initialize:function(){},render:function(){return this},remove:function(){return this._removeElement(),this.stopListening(),this},_removeElement:function(){this.$el.remove()},setElement:function(t){return this.undelegateEvents(),this._setElement(t),this.delegateEvents(),this},_setElement:function(t){this.$el=t instanceof h.$?t:h.$(t),this.el=this.$el[0]},delegateEvents:function(t){if(t=t||b.result(this,"events"))for(var e in this.undelegateEvents(),t){var i=t[e];(i=b.isFunction(i)?i:this[i])&&(e=e.match(A),this.delegate(e[1],e[2],i.bind(this)))}return this},delegate:function(t,e,i){return this.$el.on(t+".delegateEvents"+this.cid,e,i),this},undelegateEvents:function(){return this.$el&&this.$el.off(".delegateEvents"+this.cid),this},undelegate:function(t,e,i){return this.$el.off(t+".delegateEvents"+this.cid,e,i),this},_createElement:function(t){return document.createElement(t)},_ensureElement:function(){var t;this.el?this.setElement(b.result(this,"el")):(t=b.extend({},b.result(this,"attributes")),this.id&&(t.id=b.result(this,"id")),this.className&&(t.class=b.result(this,"className")),this.setElement(this._createElement(b.result(this,"tagName"))),this._setAttributes(t))},_setAttributes:function(t){this.$el.attr(t)}}),function(e,t){return b.isFunction(e)?e:b.isObject(e)&&!t._isModel(e)?H(e):b.isString(e)?function(t){return t.get(e)}:e}),H=function(t){var e=b.matches(t);return function(t){return e(t.attributes)}},$=(b.each([[m,{forEach:3,each:3,map:3,collect:3,reduce:0,foldl:0,inject:0,reduceRight:0,foldr:0,find:3,detect:3,filter:3,select:3,reject:3,every:3,all:3,some:3,any:3,include:3,includes:3,contains:3,invoke:0,max:3,min:3,toArray:1,size:1,first:3,head:3,take:3,initial:3,rest:3,tail:3,drop:3,last:3,without:0,difference:0,indexOf:3,shuffle:1,lastIndexOf:3,isEmpty:1,chain:1,sample:3,partition:3,groupBy:3,countBy:3,sortBy:3,indexBy:3,findIndex:3,findLastIndex:3},"models"],[v,{keys:1,values:1,pairs:1,invert:1,pick:0,omit:0,chain:1,isEmpty:1},"attributes"]],function(t){var i=t[0],e=t[1],n=t[2];i.mixin=function(t){var e=b.reduce(b.functions(t),function(t,e){return t[e]=0,t},{});s(i,t,e,n)},s(i,b,e,n)}),h.sync=function(t,e,n){var i,s=$[t],r=(b.defaults(n=n||{},{emulateHTTP:h.emulateHTTP,emulateJSON:h.emulateJSON}),{type:s,dataType:"json"}),o=(n.url||(r.url=b.result(e,"url")||M()),null!=n.data||!e||"create"!==t&&"update"!==t&&"patch"!==t||(r.contentType="application/json",r.data=JSON.stringify(n.attrs||e.toJSON(n))),n.emulateJSON&&(r.contentType="application/x-www-form-urlencoded",r.data=r.data?{model:r.data}:{}),!n.emulateHTTP||"PUT"!==s&&"DELETE"!==s&&"PATCH"!==s||(r.type="POST",n.emulateJSON&&(r.data._method=s),i=n.beforeSend,n.beforeSend=function(t){if(t.setRequestHeader("X-HTTP-Method-Override",s),i)return i.apply(this,arguments)}),"GET"===r.type||n.emulateJSON||(r.processData=!1),n.error),t=(n.error=function(t,e,i){n.textStatus=e,n.errorThrown=i,o&&o.call(n.context,t,e,i)},n.xhr=h.ajax(b.extend(r,n)));return e.trigger("request",e,t,n),t},{create:"POST",update:"PUT",patch:"PATCH",delete:"DELETE",read:"GET"}),C=(h.ajax=function(){return h.$.ajax.apply(h.$,arguments)},h.Router=function(t){t=t||{},this.preinitialize.apply(this,arguments),t.routes&&(this.routes=t.routes),this._bindRoutes(),this.initialize.apply(this,arguments)}),j=/\((.*?)\)/g,O=/(\(\?)?:\w+/g,U=/\*\w+/g,z=/[\-{}\[\]+?.,\\\^$|#\s]/g,R=(b.extend(C.prototype,e,{preinitialize:function(){},initialize:function(){},route:function(e,i,n){b.isRegExp(e)||(e=this._routeToRegExp(e)),b.isFunction(i)&&(n=i,i=""),n=n||this[i];var s=this;return h.history.route(e,function(t){t=s._extractParameters(e,t);!1!==s.execute(n,t,i)&&(s.trigger.apply(s,["route:"+i].concat(t)),s.trigger("route",i,t),h.history.trigger("route",s,i,t))}),this},execute:function(t,e,i){t&&t.apply(this,e)},navigate:function(t,e){return h.history.navigate(t,e),this},_bindRoutes:function(){if(this.routes){this.routes=b.result(this,"routes");for(var t,e=b.keys(this.routes);null!=(t=e.pop());)this.route(t,this.routes[t])}},_routeToRegExp:function(t){return t=t.replace(z,"\\$&").replace(j,"(?:$1)?").replace(O,function(t,e){return e?t:"([^/?]+)"}).replace(U,"([^?]*?)"),new RegExp("^"+t+"(?:\\?([\\s\\S]*))?$")},_extractParameters:function(t,e){var i=t.exec(e).slice(1);return b.map(i,function(t,e){return e===i.length-1?t||null:t?decodeURIComponent(t):null})}}),h.History=function(){this.handlers=[],this.checkUrl=this.checkUrl.bind(this),"undefined"!=typeof window&&(this.location=window.location,this.history=window.history)}),q=/^[#\/]|\s+$/g,F=/^\/+|\/+$/g,B=/#.*$/,M=(R.started=!1,b.extend(R.prototype,e,{interval:50,atRoot:function(){return this.location.pathname.replace(/[^\/]$/,"$&/")===this.root&&!this.getSearch()},matchRoot:function(){return this.decodeFragment(this.location.pathname).slice(0,this.root.length-1)+"/"===this.root},decodeFragment:function(t){return decodeURI(t.replace(/%25/g,"%2525"))},getSearch:function(){var t=this.location.href.replace(/#.*/,"").match(/\?.+/);return t?t[0]:""},getHash:function(t){t=(t||this).location.href.match(/#(.*)$/);return t?t[1]:""},getPath:function(){var t=this.decodeFragment(this.location.pathname+this.getSearch()).slice(this.root.length-1);return"/"===t.charAt(0)?t.slice(1):t},getFragment:function(t){return(t=null==t?this._usePushState||!this._wantsHashChange?this.getPath():this.getHash():t).replace(q,"")},start:function(t){if(R.started)throw new Error("Backbone.history has already been started");if(R.started=!0,this.options=b.extend({root:"/"},this.options,t),this.root=this.options.root,this._trailingSlash=this.options.trailingSlash,this._wantsHashChange=!1!==this.options.hashChange,this._hasHashChange="onhashchange"in window&&(void 0===document.documentMode||7<document.documentMode),this._useHashChange=this._wantsHashChange&&this._hasHashChange,this._wantsPushState=!!this.options.pushState,this._hasPushState=!(!this.history||!this.history.pushState),this._usePushState=this._wantsPushState&&this._hasPushState,this.fragment=this.getFragment(),this.root=("/"+this.root+"/").replace(F,"/"),this._wantsHashChange&&this._wantsPushState){if(!this._hasPushState&&!this.atRoot())return t=this.root.slice(0,-1)||"/",this.location.replace(t+"#"+this.getPath()),!0;this._hasPushState&&this.atRoot()&&this.navigate(this.getHash(),{replace:!0})}this._hasHashChange||!this._wantsHashChange||this._usePushState||(this.iframe=document.createElement("iframe"),this.iframe.src="javascript:0",this.iframe.style.display="none",this.iframe.tabIndex=-1,(t=(t=document.body).insertBefore(this.iframe,t.firstChild).contentWindow).document.open(),t.document.close(),t.location.hash="#"+this.fragment);t=window.addEventListener||function(t,e){return attachEvent("on"+t,e)};if(this._usePushState?t("popstate",this.checkUrl,!1):this._useHashChange&&!this.iframe?t("hashchange",this.checkUrl,!1):this._wantsHashChange&&(this._checkUrlInterval=setInterval(this.checkUrl,this.interval)),!this.options.silent)return this.loadUrl()},stop:function(){var t=window.removeEventListener||function(t,e){return detachEvent("on"+t,e)};this._usePushState?t("popstate",this.checkUrl,!1):this._useHashChange&&!this.iframe&&t("hashchange",this.checkUrl,!1),this.iframe&&(document.body.removeChild(this.iframe),this.iframe=null),this._checkUrlInterval&&clearInterval(this._checkUrlInterval),R.started=!1},route:function(t,e){this.handlers.unshift({route:t,callback:e})},checkUrl:function(t){var e=this.getFragment();if((e=e===this.fragment&&this.iframe?this.getHash(this.iframe.contentWindow):e)===this.fragment)return!this.matchRoot()&&this.notfound();this.iframe&&this.navigate(e),this.loadUrl()},loadUrl:function(e){return this.matchRoot()&&(e=this.fragment=this.getFragment(e),b.some(this.handlers,function(t){if(t.route.test(e))return t.callback(e),!0}))||this.notfound()},notfound:function(){return this.trigger("notfound"),!1},navigate:function(t,e){if(!R.started)return!1;e&&!0!==e||(e={trigger:!!e}),t=this.getFragment(t||"");var i=this.root,i=(i=this._trailingSlash||""!==t&&"?"!==t.charAt(0)?i:i.slice(0,-1)||"/")+t,n=(t=t.replace(B,""),this.decodeFragment(t));if(this.fragment!==n){if(this.fragment=n,this._usePushState)this.history[e.replace?"replaceState":"pushState"]({},document.title,i);else{if(!this._wantsHashChange)return this.location.assign(i);this._updateHash(this.location,t,e.replace),this.iframe&&t!==this.getHash(this.iframe.contentWindow)&&(n=this.iframe.contentWindow,e.replace||(n.document.open(),n.document.close()),this._updateHash(n.location,t,e.replace))}return e.trigger?this.loadUrl(t):void 0}},_updateHash:function(t,e,i){i?(i=t.href.replace(/(javascript:|#).*$/,""),t.replace(i+"#"+e)):t.hash="#"+e}}),h.history=new R,v.extend=m.extend=C.extend=y.extend=R.extend=function(t,e){var i=this,n=t&&b.has(t,"constructor")?t.constructor:function(){return i.apply(this,arguments)};return b.extend(n,i,e),n.prototype=b.create(i.prototype,t),(n.prototype.constructor=n).__super__=i.prototype,n},function(){throw new Error('A "url" property or function must be specified')}),N=function(e,i){var n=i.error;i.error=function(t){n&&n.call(i.context,e,t,i),e.trigger("error",e,t,i)}};return h._debug=function(){return{root:t,_:b}},h});
(function(t,e){if("function"==typeof define&&define.amd)define(["backbone","underscore"],function(i,n){return t.Marionette=t.Mn=e(t,i,n)});else if("undefined"!=typeof exports){var i=require("backbone"),n=require("underscore");module.exports=e(t,i,n)}else t.Marionette=t.Mn=e(t,t.Backbone,t._)})(this,function(t,e,i){"use strict";(function(t,e){var i=t.ChildViewContainer;return t.ChildViewContainer=function(t,e){var i=function(t){this._views={},this._indexByModel={},this._indexByCustom={},this._updateLength(),e.each(t,this.add,this)};e.extend(i.prototype,{add:function(t,e){var i=t.cid;return this._views[i]=t,t.model&&(this._indexByModel[t.model.cid]=i),e&&(this._indexByCustom[e]=i),this._updateLength(),this},findByModel:function(t){return this.findByModelCid(t.cid)},findByModelCid:function(t){var e=this._indexByModel[t];return this.findByCid(e)},findByCustom:function(t){var e=this._indexByCustom[t];return this.findByCid(e)},findByIndex:function(t){return e.values(this._views)[t]},findByCid:function(t){return this._views[t]},remove:function(t){var i=t.cid;return t.model&&delete this._indexByModel[t.model.cid],e.any(this._indexByCustom,function(t,e){return t===i?(delete this._indexByCustom[e],!0):void 0},this),delete this._views[i],this._updateLength(),this},call:function(t){this.apply(t,e.tail(arguments))},apply:function(t,i){e.each(this._views,function(n){e.isFunction(n[t])&&n[t].apply(n,i||[])})},_updateLength:function(){this.length=e.size(this._views)}});var n=["forEach","each","map","find","detect","filter","select","reject","every","all","some","any","include","contains","invoke","toArray","first","initial","rest","last","without","isEmpty","pluck","reduce"];return e.each(n,function(t){i.prototype[t]=function(){var i=e.values(this._views),n=[i].concat(e.toArray(arguments));return e[t].apply(e,n)}}),i}(t,e),t.ChildViewContainer.VERSION="0.1.7",t.ChildViewContainer.noConflict=function(){return t.ChildViewContainer=i,this},t.ChildViewContainer})(e,i),function(t,e){var i=t.Wreqr,n=t.Wreqr={};return t.Wreqr.VERSION="1.3.3",t.Wreqr.noConflict=function(){return t.Wreqr=i,this},n.Handlers=function(t,e){var i=function(t){this.options=t,this._wreqrHandlers={},e.isFunction(this.initialize)&&this.initialize(t)};return i.extend=t.Model.extend,e.extend(i.prototype,t.Events,{setHandlers:function(t){e.each(t,function(t,i){var n=null;e.isObject(t)&&!e.isFunction(t)&&(n=t.context,t=t.callback),this.setHandler(i,t,n)},this)},setHandler:function(t,e,i){var n={callback:e,context:i};this._wreqrHandlers[t]=n,this.trigger("handler:add",t,e,i)},hasHandler:function(t){return!!this._wreqrHandlers[t]},getHandler:function(t){var e=this._wreqrHandlers[t];if(e)return function(){return e.callback.apply(e.context,arguments)}},removeHandler:function(t){delete this._wreqrHandlers[t]},removeAllHandlers:function(){this._wreqrHandlers={}}}),i}(t,e),n.CommandStorage=function(){var i=function(t){this.options=t,this._commands={},e.isFunction(this.initialize)&&this.initialize(t)};return e.extend(i.prototype,t.Events,{getCommands:function(t){var e=this._commands[t];return e||(e={command:t,instances:[]},this._commands[t]=e),e},addCommand:function(t,e){var i=this.getCommands(t);i.instances.push(e)},clearCommands:function(t){var e=this.getCommands(t);e.instances=[]}}),i}(),n.Commands=function(t,e){return t.Handlers.extend({storageType:t.CommandStorage,constructor:function(e){this.options=e||{},this._initializeStorage(this.options),this.on("handler:add",this._executeCommands,this),t.Handlers.prototype.constructor.apply(this,arguments)},execute:function(t){t=arguments[0];var i=e.rest(arguments);this.hasHandler(t)?this.getHandler(t).apply(this,i):this.storage.addCommand (t,i)},_executeCommands:function(t,i,n){var r=this.storage.getCommands(t);e.each(r.instances,function(t){i.apply(n,t)}),this.storage.clearCommands(t)},_initializeStorage:function(t){var i,n=t.storageType||this.storageType;i=e.isFunction(n)?new n:n,this.storage=i}})}(n,e),n.RequestResponse=function(t,e){return t.Handlers.extend({request:function(t){return this.hasHandler(t)?this.getHandler(t).apply(this,e.rest(arguments)):void 0}})}(n,e),n.EventAggregator=function(t,e){var i=function(){};return i.extend=t.Model.extend,e.extend(i.prototype,t.Events),i}(t,e),n.Channel=function(){var i=function(e){this.vent=new t.Wreqr.EventAggregator,this.reqres=new t.Wreqr.RequestResponse,this.commands=new t.Wreqr.Commands,this.channelName=e};return e.extend(i.prototype,{reset:function(){return this.vent.off(),this.vent.stopListening(),this.reqres.removeAllHandlers(),this.commands.removeAllHandlers(),this},connectEvents:function(t,e){return this._connect("vent",t,e),this},connectCommands:function(t,e){return this._connect("commands",t,e),this},connectRequests:function(t,e){return this._connect("reqres",t,e),this},_connect:function(t,i,n){if(i){n=n||this;var r="vent"===t?"on":"setHandler";e.each(i,function(i,s){this[t][r](s,e.bind(i,n))},this)}}}),i}(n),n.radio=function(t,e){var i=function(){this._channels={},this.vent={},this.commands={},this.reqres={},this._proxyMethods()};e.extend(i.prototype,{channel:function(t){if(!t)throw Error("Channel must receive a name");return this._getChannel(t)},_getChannel:function(e){var i=this._channels[e];return i||(i=new t.Channel(e),this._channels[e]=i),i},_proxyMethods:function(){e.each(["vent","commands","reqres"],function(t){e.each(n[t],function(e){this[t][e]=r(this,t,e)},this)},this)}});var n={vent:["on","off","trigger","once","stopListening","listenTo","listenToOnce"],commands:["execute","setHandler","setHandlers","removeHandler","removeAllHandlers"],reqres:["request","setHandler","setHandlers","removeHandler","removeAllHandlers"]},r=function(t,i,n){return function(r){var s=t._getChannel(r)[i];return s[n].apply(s,e.rest(arguments))}};return new i}(n,e),t.Wreqr}(e,i);var n=t.Marionette,r=t.Mn,s=e.Marionette={};s.VERSION="2.4.2",s.noConflict=function(){return t.Marionette=n,t.Mn=r,this},e.Marionette=s,s.Deferred=e.$.Deferred,s.extend=e.Model.extend,s.isNodeAttached=function(t){return e.$.contains(document.documentElement,t)},s.mergeOptions=function(t,e){t&&i.extend(this,i.pick(t,e))},s.getOption=function(t,e){return t&&e?t.options&&void 0!==t.options[e]?t.options[e]:t[e]:void 0},s.proxyGetOption=function(t){return s.getOption(this,t)},s._getValue=function(t,e,n){return i.isFunction(t)&&(t=n?t.apply(e,n):t.call(e)),t},s.normalizeMethods=function(t){return i.reduce(t,function(t,e,n){return i.isFunction(e)||(e=this[e]),e&&(t[n]=e),t},{},this)},s.normalizeUIString=function(t,e){return t.replace(/@ui\.[a-zA-Z_$0-9]*/g,function(t){return e[t.slice(4)]})},s.normalizeUIKeys=function(t,e){return i.reduce(t,function(t,i,n){var r=s.normalizeUIString(n,e);return t[r]=i,t},{})},s.normalizeUIValues=function(t,e,n){return i.each(t,function(r,o){i.isString(r)?t[o]=s.normalizeUIString(r,e):i.isObject(r)&&i.isArray(n)&&(i.extend(r,s.normalizeUIValues(i.pick(r,n),e)),i.each(n,function(t){var n=r[t];i.isString(n)&&(r[t]=s.normalizeUIString(n,e))}))}),t},s.actAsCollection=function(t,e){var n=["forEach","each","map","find","detect","filter","select","reject","every","all","some","any","include","contains","invoke","toArray","first","initial","rest","last","without","isEmpty","pluck"];i.each(n,function(n){t[n]=function(){var t=i.values(i.result(this,e)),r=[t].concat(i.toArray(arguments));return i[n].apply(i,r)}})};var o=s.deprecate=function(t,e){i.isObject(t)&&(t=t.prev+" is going to be removed in the future. "+"Please use "+t.next+" instead."+(t.url?" See: "+t.url:"")),void 0!==e&&e||o._cache[t]||(o._warn("Deprecation warning: "+t),o._cache[t]=!0)};o._warn="undefined"!=typeof console&&(console.warn||console.log)||function(){},o._cache={},s._triggerMethod=function(){function t(t,e,i){return i.toUpperCase()}var e=/(^|:)(\w)/gi;return function(n,r,s){var o=3>arguments.length;o&&(s=r,r=s[0]);var h,a="on"+r.replace(e,t),d=n[a];return i.isFunction(d)&&(h=d.apply(n,o?i.rest(s):s)),i.isFunction(n.trigger)&&(o+s.length>1?n.trigger.apply(n,o?s:[r].concat(i.drop(s,0))):n.trigger(r)),h}}(),s.triggerMethod=function(){return s._triggerMethod(this,arguments)},s.triggerMethodOn=function(t){var e=i.isFunction(t.triggerMethod)?t.triggerMethod:s.triggerMethod;return e.apply(t,i.rest(arguments))},s.MonitorDOMRefresh=function(t){function e(){t._isShown=!0,r()}function n(){t._isRendered=!0,r()}function r(){t._isShown&&t._isRendered&&s.isNodeAttached(t.el)&&i.isFunction(t.triggerMethod)&&t.triggerMethod("dom:refresh")}t.on({show:e,render:n})},function(t){function e(e,n,r,s){var o=s.split(/\s+/);i.each(o,function(i){var s=e[i];if(!s)throw new t.Error('Method "'+i+'" was configured as an event handler, but does not exist.');e.listenTo(n,r,s)})}function n(t,e,i,n){t.listenTo(e,i,n)}function r(t,e,n,r){var s=r.split(/\s+/);i.each(s,function(i){var r=t[i];t.stopListening(e,n,r)})}function s(t,e,i,n){t.stopListening(e,i,n)}function o(e,n,r,s,o){if(n&&r){if(!i.isObject(r))throw new t.Error({message:"Bindings must be an object or function.",url:"marionette.functions.html#marionettebindentityevents"});r=t._getValue(r,e),i.each(r,function(t,r){i.isFunction(t)?s(e,n,r,t):o(e,n,r,t)})}}t.bindEntityEvents=function(t,i,r){o(t,i,r,n,e)},t.unbindEntityEvents=function(t,e,i){o(t,e,i,s,r)},t.proxyBindEntityEvents=function(e,i){return t.bindEntityEvents(this,e,i)},t.proxyUnbindEntityEvents=function(e,i){return t.unbindEntityEvents(this,e,i)}}(s);var h=["description","fileName","lineNumber","name","message","number"];return s.Error=s.extend.call(Error,{urlRoot:"http://marionettejs.com/docs/v"+s.VERSION+"/",constructor:function(t,e){i.isObject(t)?(e=t,t=e.message):e||(e={});var n=Error.call(this,t);i.extend(this,i.pick(n,h),i.pick(e,h)),this.captureStackTrace(),e.url&&(this.url=this.urlRoot+e.url)},captureStackTrace:function(){Error.captureStackTrace&&Error.captureStackTrace(this,s.Error)},toString:function(){return this.name+": "+this.message+(this.url?" See: "+this.url:"")}}),s.Error.extend=s.extend,s.Callbacks=function(){this._deferred=s.Deferred(),this._callbacks=[]},i.extend(s.Callbacks.prototype,{add:function(t,e){var n=i.result(this._deferred,"promise");this._callbacks.push({cb:t,ctx:e}),n.then(function(i){e&&(i.context=e),t.call(i.context,i.options)})},run:function(t,e){this._deferred.resolve({options:t,context:e})},reset:function(){var t=this._callbacks;this._deferred=s.Deferred(),this._callbacks=[],i.each(t,function(t){this.add(t.cb,t.ctx)},this)}}),s.Controller=function(t){this.options=t||{},i.isFunction(this.initialize)&&this.initialize(this.options)},s.Controller.extend=s.extend,i.extend(s.Controller.prototype,e.Events,{destroy:function(){return s._triggerMethod(this,"before:destroy",arguments),s._triggerMethod(this,"destroy",arguments),this.stopListening(),this.off(),this},triggerMethod:s.triggerMethod,mergeOptions:s.mergeOptions,getOption:s.proxyGetOption}),s.Object=function(t){this.options=i.extend({},i.result(this,"options"),t),this.initialize.apply(this,arguments)},s.Object.extend=s.extend,i.extend(s.Object.prototype,e.Events,{initialize:function(){},destroy:function(){return this.triggerMethod("before:destroy"),this.triggerMethod("destroy"),this.stopListening(),this},triggerMethod:s.triggerMethod,mergeOptions:s.mergeOptions,getOption:s.proxyGetOption,bindEntityEvents:s.proxyBindEntityEvents,unbindEntityEvents:s.proxyUnbindEntityEvents}),s.Region=s.Object.extend({constructor:function(t){if(this.options=t||{},this.el=this.getOption("el"),this.el=this.el instanceof e.$?this.el[0]:this.el,!this.el)throw new s.Error({name:"NoElError",message:'An "el" must be specified for a region.'});this.$el=this.getEl(this.el),s.Object.call(this,t)},show:function(t,e){if(this._ensureElement()){this._ensureViewIsIntact(t);var n=e||{},r=t!==this.currentView,o=!!n.preventDestroy,h=!!n.forceShow,a=!!this.currentView,d=r&&!o,l=r||h;if(a&&this.triggerMethod("before:swapOut",this.currentView,this,e),this.currentView&&delete this.currentView._parent,d?this.empty():a&&l&&this.currentView.off("destroy",this.empty,this),l){t.once("destroy",this.empty,this),t.render(),t._parent=this,a&&this.triggerMethod("before:swap",t,this,e),this.triggerMethod("before:show",t,this,e),s.triggerMethodOn(t,"before:show",t,this,e),a&&this.triggerMethod("swapOut",this.currentView,this,e);var c=s.isNodeAttached(this.el),u=[],g=i.extend({triggerBeforeAttach:this.triggerBeforeAttach,triggerAttach:this.triggerAttach},n);return c&&g.triggerBeforeAttach&&(u=this._displayedViews(t),this._triggerAttach(u,"before:")),this.attachHtml(t),this.currentView=t,c&&g.triggerAttach&&(u=this._displayedViews(t),this._triggerAttach(u)),a&&this.triggerMethod("swap",t,this,e),this.triggerMethod("show",t,this,e),s.triggerMethodOn(t,"show",t,this,e),this}return this}},triggerBeforeAttach:!0,triggerAttach:!0,_triggerAttach:function(t,e){var n=(e||"")+"attach";i.each(t,function(t){s.triggerMethodOn(t,n,t,this)},this)},_displayedViews:function(t){return i.union([t],i.result(t,"_getNestedViews")||[])},_ensureElement:function(){if(i.isObject(this.el)||(this.$el=this.getEl(this.el),this.el=this.$el[0]),!this.$el||0===this.$el.length){if(this.getOption("allowMissingEl"))return!1;throw new s.Error('An "el" '+this.$el.selector+" must exist in DOM")}return!0},_ensureViewIsIntact:function(t){if(!t)throw new s.Error({name:"ViewNotValid",message:"The view passed is undefined and therefore invalid. You must pass a view instance to show."});if(t.isDestroyed)throw new s.Error({name:"ViewDestroyedError",message:'View (cid: "'+t.cid+'") has already been destroyed and cannot be used.'})},getEl:function(t){return e.$(t,s._getValue(this.options.parentEl,this))},attachHtml:function(t){this.$el.contents().detach(),this.el.appendChild(t.el)},empty:function(t){var e=this.currentView,i=s._getValue(t,"preventDestroy",this);return e?(e.off("destroy",this.empty,this),this.triggerMethod("before:empty",e),i||this._destroyView(),this.triggerMethod("empty",e),delete this.currentView,i&&this.$el.contents().detach(),this):void 0},_destroyView:function(){var t=this.currentView;t.destroy&&!t.isDestroyed?t.destroy():t.remove&&(t.remove(),t.isDestroyed=!0)},attachView:function(t){return this.currentView=t,this},hasView:function(){return!!this.currentView},reset:function(){return this.empty(),this.$el&&(this.el=this.getOption('el')),delete this.$el,this}},{buildRegion:function(t,e){if(i.isString(t))return this._buildRegionFromSelector(t,e);if(t.selector||t.el||t.regionClass)return this._buildRegionFromObject(t,e);if(i.isFunction(t))return this._buildRegionFromRegionClass(t);throw new s.Error({message:"Improper region configuration type.",url:"marionette.region.html#region-configuration-types"})},_buildRegionFromSelector:function(t,e){return new e({el:t})},_buildRegionFromObject:function(t,e){var n=t.regionClass||e,r=i.omit(t,"selector","regionClass");return t.selector&&!r.el&&(r.el=t.selector),new n(r)},_buildRegionFromRegionClass:function(t){return new t}}),s.RegionManager=s.Controller.extend({constructor:function(t){this._regions={},this.length=0,s.Controller.call(this,t),this.addRegions(this.getOption("regions"))},addRegions:function(t,e){return t=s._getValue(t,this,arguments),i.reduce(t,function(t,n,r){return i.isString(n)&&(n={selector:n}),n.selector&&(n=i.defaults({},n,e)),t[r]=this.addRegion(r,n),t},{},this)},addRegion:function(t,e){var i;return i=e instanceof s.Region?e:s.Region.buildRegion(e,s.Region),this.triggerMethod("before:add:region",t,i),i._parent=this,this._store(t,i),this.triggerMethod("add:region",t,i),i},get:function(t){return this._regions[t]},getRegions:function(){return i.clone(this._regions)},removeRegion:function(t){var e=this._regions[t];return this._remove(t,e),e},removeRegions:function(){var t=this.getRegions();return i.each(this._regions,function(t,e){this._remove(e,t)},this),t},emptyRegions:function(){var t=this.getRegions();return i.invoke(t,"empty"),t},destroy:function(){return this.removeRegions(),s.Controller.prototype.destroy.apply(this,arguments)},_store:function(t,e){this._regions[t]||this.length++,this._regions[t]=e},_remove:function(t,e){this.triggerMethod("before:remove:region",t,e),e.empty(),e.stopListening(),delete e._parent,delete this._regions[t],this.length--,this.triggerMethod("remove:region",t,e)}}),s.actAsCollection(s.RegionManager.prototype,"_regions"),s.TemplateCache=function(t){this.templateId=t},i.extend(s.TemplateCache,{templateCaches:{},get:function(t,e){var i=this.templateCaches[t];return i||(i=new s.TemplateCache(t),this.templateCaches[t]=i),i.load(e)},clear:function(){var t,e=i.toArray(arguments),n=e.length;if(n>0)for(t=0;n>t;t++)delete this.templateCaches[e[t]];else this.templateCaches={}}}),i.extend(s.TemplateCache.prototype,{load:function(t){if(this.compiledTemplate)return this.compiledTemplate;var e=this.loadTemplate(this.templateId,t);return this.compiledTemplate=this.compileTemplate(e,t),this.compiledTemplate},loadTemplate:function(t){var i=e.$(t).html();if(!i||0===i.length)throw new s.Error({name:"NoTemplateError",message:'Could not find template: "'+t+'"'});return i},compileTemplate:function(t,e){return i.template(t,e)}}),s.Renderer={render:function(t,e){if(!t)throw new s.Error({name:"TemplateNotFoundError",message:"Cannot render the template since its false, null or undefined."});var n=i.isFunction(t)?t:s.TemplateCache.get(t);return n(e)}},s.View=e.View.extend({isDestroyed:!1,constructor:function(t){i.bindAll(this,"render"),t=s._getValue(t,this),this.options=i.extend({},i.result(this,"options"),t),this._behaviors=s.Behaviors(this),e.View.call(this,this.options),s.MonitorDOMRefresh(this)},getTemplate:function(){return this.getOption("template")},serializeModel:function(t){return t.toJSON.apply(t,i.rest(arguments))},mixinTemplateHelpers:function(t){t=t||{};var e=this.getOption("templateHelpers");return e=s._getValue(e,this),i.extend(t,e)},normalizeUIKeys:function(t){var e=i.result(this,"_uiBindings");return s.normalizeUIKeys(t,e||i.result(this,"ui"))},normalizeUIValues:function(t,e){var n=i.result(this,"ui"),r=i.result(this,"_uiBindings");return s.normalizeUIValues(t,r||n,e)},configureTriggers:function(){if(this.triggers){var t=this.normalizeUIKeys(i.result(this,"triggers"));return i.reduce(t,function(t,e,i){return t[i]=this._buildViewTrigger(e),t},{},this)}},delegateEvents:function(t){return this._delegateDOMEvents(t),this.bindEntityEvents(this.model,this.getOption("modelEvents")),this.bindEntityEvents(this.collection,this.getOption("collectionEvents")),i.each(this._behaviors,function(t){t.bindEntityEvents(this.model,t.getOption("modelEvents")),t.bindEntityEvents(this.collection,t.getOption("collectionEvents"))},this),this},_delegateDOMEvents:function(t){var n=s._getValue(t||this.events,this);n=this.normalizeUIKeys(n),i.isUndefined(t)&&(this.events=n);var r={},o=i.result(this,"behaviorEvents")||{},h=this.configureTriggers(),a=i.result(this,"behaviorTriggers")||{};i.extend(r,o,n,h,a),e.View.prototype.delegateEvents.call(this,r)},undelegateEvents:function(){return e.View.prototype.undelegateEvents.apply(this,arguments),this.unbindEntityEvents(this.model,this.getOption("modelEvents")),this.unbindEntityEvents(this.collection,this.getOption("collectionEvents")),i.each(this._behaviors,function(t){t.unbindEntityEvents(this.model,t.getOption("modelEvents")),t.unbindEntityEvents(this.collection,t.getOption("collectionEvents"))},this),this},_ensureViewIsIntact:function(){if(this.isDestroyed)throw new s.Error({name:"ViewDestroyedError",message:'View (cid: "'+this.cid+'") has already been destroyed and cannot be used.'})},destroy:function(){if(this.isDestroyed)return this;var t=i.toArray(arguments);return this.triggerMethod.apply(this,["before:destroy"].concat(t)),this.isDestroyed=!0,this.triggerMethod.apply(this,["destroy"].concat(t)),this.unbindUIElements(),this.isRendered=!1,this.remove(),i.invoke(this._behaviors,"destroy",t),this},bindUIElements:function(){this._bindUIElements(),i.invoke(this._behaviors,this._bindUIElements)},_bindUIElements:function(){if(this.ui){this._uiBindings||(this._uiBindings=this.ui);var t=i.result(this,"_uiBindings");this.ui={},i.each(t,function(t,e){this.ui[e]=this.$(t)},this)}},unbindUIElements:function(){this._unbindUIElements(),i.invoke(this._behaviors,this._unbindUIElements)},_unbindUIElements:function(){this.ui&&this._uiBindings&&(i.each(this.ui,function(t,e){delete this.ui[e]},this),this.ui=this._uiBindings,delete this._uiBindings)},_buildViewTrigger:function(t){var e=i.isObject(t),n=i.defaults({},e?t:{},{preventDefault:!0,stopPropagation:!0}),r=e?n.event:t;return function(t){t&&(t.preventDefault&&n.preventDefault&&t.preventDefault(),t.stopPropagation&&n.stopPropagation&&t.stopPropagation());var e={view:this,model:this.model,collection:this.collection};this.triggerMethod(r,e)}},setElement:function(){var t=e.View.prototype.setElement.apply(this,arguments);return i.invoke(this._behaviors,"proxyViewProperties",this),t},triggerMethod:function(){var t=s._triggerMethod(this,arguments);return this._triggerEventOnBehaviors(arguments),this._triggerEventOnParentLayout(arguments[0],i.rest(arguments)),t},_triggerEventOnBehaviors:function(t){for(var e=s._triggerMethod,i=this._behaviors,n=0,r=i&&i.length;r>n;n++)e(i[n],t)},_triggerEventOnParentLayout:function(t,e){var n=this._parentLayoutView();if(n){var r=s.getOption(n,"childViewEventPrefix"),o=r+":"+t;s._triggerMethod(n,[o,this].concat(e));var h=s.getOption(n,"childEvents"),a=n.normalizeMethods(h);a&&i.isFunction(a[t])&&a[t].apply(n,[this].concat(e))}},_getImmediateChildren:function(){return[]},_getNestedViews:function(){var t=this._getImmediateChildren();return t.length?i.reduce(t,function(t,e){return e._getNestedViews?t.concat(e._getNestedViews()):t},t):t},_getAncestors:function(){for(var t=[],e=this._parent;e;)t.push(e),e=e._parent;return t},_parentLayoutView:function(){var t=this._getAncestors();return i.find(t,function(t){return t instanceof s.LayoutView})},normalizeMethods:s.normalizeMethods,mergeOptions:s.mergeOptions,getOption:s.proxyGetOption,bindEntityEvents:s.proxyBindEntityEvents,unbindEntityEvents:s.proxyUnbindEntityEvents}),s.ItemView=s.View.extend({constructor:function(){s.View.apply(this,arguments)},serializeData:function(){if(!this.model&&!this.collection)return{};var t=[this.model||this.collection];return arguments.length&&t.push.apply(t,arguments),this.model?this.serializeModel.apply(this,t):{items:this.serializeCollection.apply(this,t)}},serializeCollection:function(t){return t.toJSON.apply(t,i.rest(arguments))},render:function(){return this._ensureViewIsIntact(),this.triggerMethod("before:render",this),this._renderTemplate(),this.isRendered=!0,this.bindUIElements(),this.triggerMethod("render",this),this},_renderTemplate:function(){var t=this.getTemplate();if(t!==!1){if(!t)throw new s.Error({name:"UndefinedTemplateError",message:"Cannot render the template since it is null or undefined."});var e=this.mixinTemplateHelpers(this.serializeData()),i=s.Renderer.render(t,e,this);return this.attachElContent(i),this}},attachElContent:function(t){return this.$el.html(t),this}}),s.CollectionView=s.View.extend({childViewEventPrefix:"childview",sort:!0,constructor:function(){this.once("render",this._initialEvents),this._initChildViewStorage(),s.View.apply(this,arguments),this.on({"before:show":this._onBeforeShowCalled,show:this._onShowCalled,"before:attach":this._onBeforeAttachCalled,attach:this._onAttachCalled}),this.initRenderBuffer()},initRenderBuffer:function(){this._bufferedChildren=[]},startBuffering:function(){this.initRenderBuffer(),this.isBuffering=!0},endBuffering:function(){var t,e=this._isShown&&s.isNodeAttached(this.el);this.isBuffering=!1,this._isShown&&this._triggerMethodMany(this._bufferedChildren,this,"before:show"),e&&this._triggerBeforeAttach&&(t=this._getNestedViews(),this._triggerMethodMany(t,this,"before:attach")),this.attachBuffer(this,this._createBuffer()),e&&this._triggerAttach&&(t=this._getNestedViews(),this._triggerMethodMany(t,this,"attach")),this._isShown&&this._triggerMethodMany(this._bufferedChildren,this,"show"),this.initRenderBuffer()},_triggerMethodMany:function(t,e,n){var r=i.drop(arguments,3);i.each(t,function(t){s.triggerMethodOn.apply(t,[t,n,t,e].concat(r))})},_initialEvents:function(){this.collection&&(this.listenTo(this.collection,"add",this._onCollectionAdd),this.listenTo(this.collection,"remove",this._onCollectionRemove),this.listenTo(this.collection,"reset",this.render),this.getOption("sort")&&this.listenTo(this.collection,"sort",this._sortViews))},_onCollectionAdd:function(t,e,n){var r;if(r=void 0!==n.at?n.at:i.indexOf(this._filteredSortedModels(),t),this._shouldAddChild(t,r)){this.destroyEmptyView();var s=this.getChildView(t);this.addChild(t,s,r)}},_onCollectionRemove:function(t){var e=this.children.findByModel(t);this.removeChildView(e),this.checkEmpty()},_onBeforeShowCalled:function(){this._triggerBeforeAttach=this._triggerAttach=!1,this.children.each(function(t){s.triggerMethodOn(t,"before:show",t)})},_onShowCalled:function(){this.children.each(function(t){s.triggerMethodOn(t,"show",t)})},_onBeforeAttachCalled:function(){this._triggerBeforeAttach=!0},_onAttachCalled:function(){this._triggerAttach=!0},render:function(){return this._ensureViewIsIntact(),this.triggerMethod("before:render",this),this._renderChildren(),this.isRendered=!0,this.triggerMethod("render",this),this},reorder:function(){var t=this.children,e=this._filteredSortedModels(),n=i.find(e,function(e){return!t.findByModel(e)});if(n)this.render();else{var r=i.map(e,function(e,i){var n=t.findByModel(e);return n._index=i,n.el});this.triggerMethod("before:reorder"),this._appendReorderedChildren(r),this.triggerMethod("reorder")}},resortView:function(){s.getOption(this,"reorderOnSort")?this.reorder():this.render()},_sortViews:function(){var t=this._filteredSortedModels(),e=i.find(t,function(t,e){var i=this.children.findByModel(t);return!i||i._index!==e},this);e&&this.resortView()},_emptyViewIndex:-1,_appendReorderedChildren:function(t){this.$el.append(t)},_renderChildren:function(){this.destroyEmptyView(),this.destroyChildren({checkEmpty:!1}),this.isEmpty(this.collection)?this.showEmptyView():(this.triggerMethod("before:render:collection",this),this.startBuffering(),this.showCollection(),this.endBuffering(),this.triggerMethod("render:collection",this),this.children.isEmpty()&&this.showEmptyView())},showCollection:function(){var t,e=this._filteredSortedModels();i.each(e,function(e,i){t=this.getChildView(e),this.addChild(e,t,i)},this)},_filteredSortedModels:function(){var t,e=this.getViewComparator();return t=e?i.isString(e)||1===e.length?this.collection.sortBy(e,this):i.clone(this.collection.models).sort(i.bind(e,this)):this.collection.models,this.getOption("filter")&&(t=i.filter(t,function(t,e){return this._shouldAddChild(t,e)},this)),t},showEmptyView:function(){var t=this.getEmptyView();if(t&&!this._showingEmptyView){this.triggerMethod("before:render:empty"),this._showingEmptyView=!0;var i=new e.Model;this.addEmptyView(i,t),this.triggerMethod("render:empty")}},destroyEmptyView:function(){this._showingEmptyView&&(this.triggerMethod("before:remove:empty"),this.destroyChildren(),delete this._showingEmptyView,this.triggerMethod("remove:empty"))},getEmptyView:function(){return this.getOption("emptyView")},addEmptyView:function(t,e){var n,r=this._isShown&&!this.isBuffering&&s.isNodeAttached(this.el),o=this.getOption("emptyViewOptions")||this.getOption("childViewOptions");i.isFunction(o)&&(o=o.call(this,t,this._emptyViewIndex));var h=this.buildChildView(t,e,o);h._parent=this,this.proxyChildEvents(h),this._isShown&&s.triggerMethodOn(h,"before:show",h),this.children.add(h),r&&this._triggerBeforeAttach&&(n=[h].concat(h._getNestedViews()),h.once("render",function(){this._triggerMethodMany(n,this,"before:attach")},this)),this.renderChildView(h,this._emptyViewIndex),r&&this._triggerAttach&&(n=[h].concat(h._getNestedViews()),this._triggerMethodMany(n,this,"attach")),this._isShown&&s.triggerMethodOn(h,"show",h)},getChildView:function(){var t=this.getOption("childView");if(!t)throw new s.Error({name:"NoChildViewError",message:'A "childView" must be specified'});return t},addChild:function(t,e,i){var n=this.getOption("childViewOptions");n=s._getValue(n,this,[t,i]);var r=this.buildChildView(t,e,n);return this._updateIndices(r,!0,i),this.triggerMethod("before:add:child",r),this._addChildView(r,i),this.triggerMethod("add:child",r),r._parent=this,r},_updateIndices:function(t,e,i){this.getOption("sort")&&(e&&(t._index=i),this.children.each(function(i){i._index>=t._index&&(i._index+=e?1:-1)}))},_addChildView:function(t,e){var i,n=this._isShown&&!this.isBuffering&&s.isNodeAttached(this.el);this.proxyChildEvents(t),this._isShown&&!this.isBuffering&&s.triggerMethodOn(t,"before:show",t),this.children.add(t),n&&this._triggerBeforeAttach&&(i=[t].concat(t._getNestedViews()),t.once("render",function(){this._triggerMethodMany(i,this,"before:attach")},this)),this.renderChildView(t,e),n&&this._triggerAttach&&(i=[t].concat(t._getNestedViews()),this._triggerMethodMany(i,this,"attach")),this._isShown&&!this.isBuffering&&s.triggerMethodOn(t,"show",t)},renderChildView:function(t,e){return t.render(),this.attachHtml(this,t,e),t},buildChildView:function(t,e,n){var r=i.extend({model:t},n);return new e(r)},removeChildView:function(t){return t&&(this.triggerMethod("before:remove:child",t),t.destroy?t.destroy():t.remove&&t.remove(),delete t._parent,this.stopListening(t),this.children.remove(t),this.triggerMethod("remove:child",t),this._updateIndices(t,!1)),t},isEmpty:function(){return!this.collection||0===this.collection.length},checkEmpty:function(){this.isEmpty(this.collection)&&this.showEmptyView()},attachBuffer:function(t,e){t.$el.append(e)},_createBuffer:function(){var t=document.createDocumentFragment();return i.each(this._bufferedChildren,function(e){t.appendChild(e.el)}),t},attachHtml:function(t,e,i){t.isBuffering?t._bufferedChildren.splice(i,0,e):t._insertBefore(e,i)||t._insertAfter(e)},_insertBefore:function(t,e){var i,n=this.getOption("sort")&&this.children.length-1>e;return n&&(i=this.children.find(function(t){return t._index===e+1})),i?(i.$el.before(t.el),!0):!1},_insertAfter:function(t){this.$el.append(t.el)},_initChildViewStorage:function(){this.children=new e.ChildViewContainer},destroy:function(){return this.isDestroyed?this:(this.triggerMethod("before:destroy:collection"),this.destroyChildren({checkEmpty:!1}),this.triggerMethod("destroy:collection"),s.View.prototype.destroy.apply(this,arguments))},destroyChildren:function(t){var e=t||{},n=!0,r=this.children.map(i.identity);return i.isUndefined(e.checkEmpty)||(n=e.checkEmpty),this.children.each(this.removeChildView,this),n&&this.checkEmpty(),r},_shouldAddChild:function(t,e){var n=this.getOption("filter");return!i.isFunction(n)||n.call(this,t,e,this.collection)},proxyChildEvents:function(t){var e=this.getOption("childViewEventPrefix");this.listenTo(t,"all",function(){var n=i.toArray(arguments),r=n[0],s=this.normalizeMethods(i.result(this,"childEvents"));n[0]=e+":"+r,n.splice(1,0,t),s!==void 0&&i.isFunction(s[r])&&s[r].apply(this,n.slice(1)),this.triggerMethod.apply(this,n)})},_getImmediateChildren:function(){return i.values(this.children._views)},getViewComparator:function(){return this.getOption("viewComparator")}}),s.CompositeView=s.CollectionView.extend({constructor:function(){s.CollectionView.apply(this,arguments)},_initialEvents:function(){this.collection&&(this.listenTo(this.collection,"add",this._onCollectionAdd),this.listenTo(this.collection,"remove",this._onCollectionRemove),this.listenTo(this.collection,"reset",this._renderChildren),this.getOption("sort")&&this.listenTo(this.collection,"sort",this._sortViews))},getChildView:function(){var t=this.getOption("childView")||this.constructor;return t},serializeData:function(){var t={};return this.model&&(t=i.partial(this.serializeModel,this.model).apply(this,arguments)),t},render:function(){return this._ensureViewIsIntact(),this._isRendering=!0,this.resetChildViewContainer(),this.triggerMethod("before:render",this),this._renderTemplate(),this._renderChildren(),this._isRendering=!1,this.isRendered=!0,this.triggerMethod("render",this),this
},_renderChildren:function(){(this.isRendered||this._isRendering)&&s.CollectionView.prototype._renderChildren.call(this)},_renderTemplate:function(){var t={};t=this.serializeData(),t=this.mixinTemplateHelpers(t),this.triggerMethod("before:render:template");var e=this.getTemplate(),i=s.Renderer.render(e,t,this);this.attachElContent(i),this.bindUIElements(),this.triggerMethod("render:template")},attachElContent:function(t){return this.$el.html(t),this},attachBuffer:function(t,e){var i=this.getChildViewContainer(t);i.append(e)},_insertAfter:function(t){var e=this.getChildViewContainer(this,t);e.append(t.el)},_appendReorderedChildren:function(t){var e=this.getChildViewContainer(this);e.append(t)},getChildViewContainer:function(t){if(t.$childViewContainer)return t.$childViewContainer;var e,i=s.getOption(t,"childViewContainer");if(i){var n=s._getValue(i,t);if(e="@"===n.charAt(0)&&t.ui?t.ui[n.substr(4)]:t.$(n),0>=e.length)throw new s.Error({name:"ChildViewContainerMissingError",message:'The specified "childViewContainer" was not found: '+t.childViewContainer})}else e=t.$el;return t.$childViewContainer=e,e},resetChildViewContainer:function(){this.$childViewContainer&&(this.$childViewContainer=void 0)}}),s.LayoutView=s.ItemView.extend({regionClass:s.Region,options:{destroyImmediate:!1},childViewEventPrefix:"childview",constructor:function(t){t=t||{},this._firstRender=!0,this._initializeRegions(t),s.ItemView.call(this,t)},render:function(){return this._ensureViewIsIntact(),this._firstRender?this._firstRender=!1:this._reInitializeRegions(),s.ItemView.prototype.render.apply(this,arguments)},destroy:function(){return this.isDestroyed?this:(this.getOption("destroyImmediate")===!0&&this.$el.remove(),this.regionManager.destroy(),s.ItemView.prototype.destroy.apply(this,arguments))},showChildView:function(t,e){return this.getRegion(t).show(e)},getChildView:function(t){return this.getRegion(t).currentView},addRegion:function(t,e){var i={};return i[t]=e,this._buildRegions(i)[t]},addRegions:function(t){return this.regions=i.extend({},this.regions,t),this._buildRegions(t)},removeRegion:function(t){return delete this.regions[t],this.regionManager.removeRegion(t)},getRegion:function(t){return this.regionManager.get(t)},getRegions:function(){return this.regionManager.getRegions()},_buildRegions:function(t){var e={regionClass:this.getOption("regionClass"),parentEl:i.partial(i.result,this,"el")};return this.regionManager.addRegions(t,e)},_initializeRegions:function(t){var e;this._initRegionManager(),e=s._getValue(this.regions,this,[t])||{};var n=this.getOption.call(t,"regions");n=s._getValue(n,this,[t]),i.extend(e,n),e=this.normalizeUIValues(e,["selector","el"]),this.addRegions(e)},_reInitializeRegions:function(){this.regionManager.invoke("reset")},getRegionManager:function(){return new s.RegionManager},_initRegionManager:function(){this.regionManager=this.getRegionManager(),this.regionManager._parent=this,this.listenTo(this.regionManager,"before:add:region",function(t){this.triggerMethod("before:add:region",t)}),this.listenTo(this.regionManager,"add:region",function(t,e){this[t]=e,this.triggerMethod("add:region",t,e)}),this.listenTo(this.regionManager,"before:remove:region",function(t){this.triggerMethod("before:remove:region",t)}),this.listenTo(this.regionManager,"remove:region",function(t,e){delete this[t],this.triggerMethod("remove:region",t,e)})},_getImmediateChildren:function(){return i.chain(this.regionManager.getRegions()).pluck("currentView").compact().value()}}),s.Behavior=s.Object.extend({constructor:function(t,e){this.view=e,this.defaults=i.result(this,"defaults")||{},this.options=i.extend({},this.defaults,t),this.ui=i.extend({},i.result(e,"ui"),i.result(this,"ui")),s.Object.apply(this,arguments)},$:function(){return this.view.$.apply(this.view,arguments)},destroy:function(){return this.stopListening(),this},proxyViewProperties:function(t){this.$el=t.$el,this.el=t.el}}),s.Behaviors=function(t,e){function i(t,n){return e.isObject(t.behaviors)?(n=i.parseBehaviors(t,n||e.result(t,"behaviors")),i.wrap(t,n,e.keys(o)),n):{}}function n(t,e){this._view=t,this._behaviors=e,this._triggers={}}function r(t){return t._uiBindings||t.ui}var s=/^(\S+)\s*(.*)$/,o={behaviorTriggers:function(t,e){var i=new n(this,e);return i.buildBehaviorTriggers()},behaviorEvents:function(i,n){var o={};return e.each(n,function(i,n){var h={},a=e.clone(e.result(i,"events"))||{};a=t.normalizeUIKeys(a,r(i));var d=0;e.each(a,function(t,r){var o=r.match(s),a=o[1]+"."+[this.cid,n,d++," "].join(""),l=o[2],c=a+l,u=e.isFunction(t)?t:i[t];h[c]=e.bind(u,i)},this),o=e.extend(o,h)},this),o}};return e.extend(i,{behaviorsLookup:function(){throw new t.Error({message:"You must define where your behaviors are stored.",url:"marionette.behaviors.html#behaviorslookup"})},getBehaviorClass:function(e,n){return e.behaviorClass?e.behaviorClass:t._getValue(i.behaviorsLookup,this,[e,n])[n]},parseBehaviors:function(t,n){return e.chain(n).map(function(n,r){var s=i.getBehaviorClass(n,r),o=new s(n,t),h=i.parseBehaviors(t,e.result(o,"behaviors"));return[o].concat(h)}).flatten().value()},wrap:function(t,i,n){e.each(n,function(n){t[n]=e.partial(o[n],t[n],i)})}}),e.extend(n.prototype,{buildBehaviorTriggers:function(){return e.each(this._behaviors,this._buildTriggerHandlersForBehavior,this),this._triggers},_buildTriggerHandlersForBehavior:function(i,n){var s=e.clone(e.result(i,"triggers"))||{};s=t.normalizeUIKeys(s,r(i)),e.each(s,e.bind(this._setHandlerForBehavior,this,i,n))},_setHandlerForBehavior:function(t,e,i,n){var r=n.replace(/^\S+/,function(t){return t+"."+"behaviortriggers"+e});this._triggers[r]=this._view._buildViewTrigger(i)}}),i}(s,i),s.AppRouter=e.Router.extend({constructor:function(t){this.options=t||{},e.Router.apply(this,arguments);var i=this.getOption("appRoutes"),n=this._getController();this.processAppRoutes(n,i),this.on("route",this._processOnRoute,this)},appRoute:function(t,e){var i=this._getController();this._addAppRoute(i,t,e)},_processOnRoute:function(t,e){if(i.isFunction(this.onRoute)){var n=i.invert(this.getOption("appRoutes"))[t];this.onRoute(t,n,e)}},processAppRoutes:function(t,e){if(e){var n=i.keys(e).reverse();i.each(n,function(i){this._addAppRoute(t,i,e[i])},this)}},_getController:function(){return this.getOption("controller")},_addAppRoute:function(t,e,n){var r=t[n];if(!r)throw new s.Error('Method "'+n+'" was not found on the controller');this.route(e,n,i.bind(r,t))},mergeOptions:s.mergeOptions,getOption:s.proxyGetOption,triggerMethod:s.triggerMethod,bindEntityEvents:s.proxyBindEntityEvents,unbindEntityEvents:s.proxyUnbindEntityEvents}),s.Application=s.Object.extend({constructor:function(t){this._initializeRegions(t),this._initCallbacks=new s.Callbacks,this.submodules={},i.extend(this,t),this._initChannel(),s.Object.call(this,t)},execute:function(){this.commands.execute.apply(this.commands,arguments)},request:function(){return this.reqres.request.apply(this.reqres,arguments)},addInitializer:function(t){this._initCallbacks.add(t)},start:function(t){this.triggerMethod("before:start",t),this._initCallbacks.run(t,this),this.triggerMethod("start",t)},addRegions:function(t){return this._regionManager.addRegions(t)},emptyRegions:function(){return this._regionManager.emptyRegions()},removeRegion:function(t){return this._regionManager.removeRegion(t)},getRegion:function(t){return this._regionManager.get(t)},getRegions:function(){return this._regionManager.getRegions()},module:function(t,e){var n=s.Module.getClass(e),r=i.toArray(arguments);return r.unshift(this),n.create.apply(n,r)},getRegionManager:function(){return new s.RegionManager},_initializeRegions:function(t){var e=i.isFunction(this.regions)?this.regions(t):this.regions||{};this._initRegionManager();var n=s.getOption(t,"regions");return i.isFunction(n)&&(n=n.call(this,t)),i.extend(e,n),this.addRegions(e),this},_initRegionManager:function(){this._regionManager=this.getRegionManager(),this._regionManager._parent=this,this.listenTo(this._regionManager,"before:add:region",function(){s._triggerMethod(this,"before:add:region",arguments)}),this.listenTo(this._regionManager,"add:region",function(t,e){this[t]=e,s._triggerMethod(this,"add:region",arguments)}),this.listenTo(this._regionManager,"before:remove:region",function(){s._triggerMethod(this,"before:remove:region",arguments)}),this.listenTo(this._regionManager,"remove:region",function(t){delete this[t],s._triggerMethod(this,"remove:region",arguments)})},_initChannel:function(){this.channelName=i.result(this,"channelName")||"global",this.channel=i.result(this,"channel")||e.Wreqr.radio.channel(this.channelName),this.vent=i.result(this,"vent")||this.channel.vent,this.commands=i.result(this,"commands")||this.channel.commands,this.reqres=i.result(this,"reqres")||this.channel.reqres}}),s.Module=function(t,e,n){this.moduleName=t,this.options=i.extend({},this.options,n),this.initialize=n.initialize||this.initialize,this.submodules={},this._setupInitializersAndFinalizers(),this.app=e,i.isFunction(this.initialize)&&this.initialize(t,e,this.options)},s.Module.extend=s.extend,i.extend(s.Module.prototype,e.Events,{startWithParent:!0,initialize:function(){},addInitializer:function(t){this._initializerCallbacks.add(t)},addFinalizer:function(t){this._finalizerCallbacks.add(t)},start:function(t){this._isInitialized||(i.each(this.submodules,function(e){e.startWithParent&&e.start(t)}),this.triggerMethod("before:start",t),this._initializerCallbacks.run(t,this),this._isInitialized=!0,this.triggerMethod("start",t))},stop:function(){this._isInitialized&&(this._isInitialized=!1,this.triggerMethod("before:stop"),i.invoke(this.submodules,"stop"),this._finalizerCallbacks.run(void 0,this),this._initializerCallbacks.reset(),this._finalizerCallbacks.reset(),this.triggerMethod("stop"))},addDefinition:function(t,e){this._runModuleDefinition(t,e)},_runModuleDefinition:function(t,n){if(t){var r=i.flatten([this,this.app,e,s,e.$,i,n]);t.apply(this,r)}},_setupInitializersAndFinalizers:function(){this._initializerCallbacks=new s.Callbacks,this._finalizerCallbacks=new s.Callbacks},triggerMethod:s.triggerMethod}),i.extend(s.Module,{create:function(t,e,n){var r=t,s=i.drop(arguments,3);e=e.split(".");var o=e.length,h=[];return h[o-1]=n,i.each(e,function(e,i){var o=r;r=this._getModule(o,e,t,n),this._addModuleDefinition(o,r,h[i],s)},this),r},_getModule:function(t,e,n,r){var s=i.extend({},r),o=this.getClass(r),h=t[e];return h||(h=new o(e,n,s),t[e]=h,t.submodules[e]=h),h},getClass:function(t){var e=s.Module;return t?t.prototype instanceof e?t:t.moduleClass||e:e},_addModuleDefinition:function(t,e,i,n){var r=this._getDefine(i),s=this._getStartWithParent(i,e);r&&e.addDefinition(r,n),this._addStartWithParent(t,e,s)},_getStartWithParent:function(t,e){var n;return i.isFunction(t)&&t.prototype instanceof s.Module?(n=e.constructor.prototype.startWithParent,i.isUndefined(n)?!0:n):i.isObject(t)?(n=t.startWithParent,i.isUndefined(n)?!0:n):!0},_getDefine:function(t){return!i.isFunction(t)||t.prototype instanceof s.Module?i.isObject(t)?t.define:null:t},_addStartWithParent:function(t,e,i){e.startWithParent=e.startWithParent&&i,e.startWithParent&&!e.startWithParentIsConfigured&&(e.startWithParentIsConfigured=!0,t.addInitializer(function(t){e.startWithParent&&e.start(t)}))}}),s});
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n(require("underscore"),require("backbone")):"function"==typeof define&&define.amd?define(["underscore","backbone"],n):e.Backbone.Radio=n(e._,e.Backbone)}(this,function(e,n){"use strict";function t(e,n,t,r){var s=e[n];return t&&t!==s.callback&&t!==s.callback._callback||r&&r!==s.context?void 0:(delete e[n],!0)}function r(n,r,s,i){n||(n={});for(var a=r?[r]:e.keys(n),u=!1,o=0,c=a.length;c>o;o++)r=a[o],n[r]&&t(n,r,s,i)&&(u=!0);return u}function s(n){return c[n]||(c[n]=e.partial(u.log,n))}function i(n){return e.isFunction(n)?n:function(){return n}}var a=n.Radio,u=n.Radio={};u.VERSION="1.0.1",u.noConflict=function(){return n.Radio=a,this},u.DEBUG=!1,u._debugText=function(e,n,t){return e+(t?" on the "+t+" channel":"")+': "'+n+'"'},u.debugLog=function(e,n,t){u.DEBUG&&console&&console.warn&&console.warn(u._debugText(e,n,t))};var o=/\s+/;u._eventsApi=function(n,t,r,s){if(!r)return!1;var i={};if("object"==typeof r){for(var a in r){var u=n[t].apply(n,[a,r[a]].concat(s));o.test(a)?e.extend(i,u):i[a]=u}return i}if(o.test(r)){for(var c=r.split(o),l=0,h=c.length;h>l;l++)i[c[l]]=n[t].apply(n,[c[l]].concat(s));return i}return!1},u._callHandler=function(e,n,t){var r=t[0],s=t[1],i=t[2];switch(t.length){case 0:return e.call(n);case 1:return e.call(n,r);case 2:return e.call(n,r,s);case 3:return e.call(n,r,s,i);default:return e.apply(n,t)}};var c={};e.extend(u,{log:function(n,t){var r=e.rest(arguments,2);console.log("["+n+'] "'+t+'"',r)},tuneIn:function(e){var n=u.channel(e);return n._tunedIn=!0,n.on("all",s(e)),this},tuneOut:function(e){var n=u.channel(e);return n._tunedIn=!1,n.off("all",s(e)),delete c[e],this}}),u.Requests={request:function(n){var t=e.rest(arguments),r=u._eventsApi(this,"request",n,t);if(r)return r;var s=this.channelName,i=this._requests;if(s&&this._tunedIn&&u.log.apply(this,[s,n].concat(t)),i&&(i[n]||i["default"])){var a=i[n]||i["default"];return t=i[n]?t:arguments,u._callHandler(a.callback,a.context,t)}u.debugLog("An unhandled request was fired",n,s)},reply:function(e,n,t){return u._eventsApi(this,"reply",e,[n,t])?this:(this._requests||(this._requests={}),this._requests[e]&&u.debugLog("A request was overwritten",e,this.channelName),this._requests[e]={callback:i(n),context:t||this},this)},replyOnce:function(n,t,r){if(u._eventsApi(this,"replyOnce",n,[t,r]))return this;var s=this,a=e.once(function(){return s.stopReplying(n),i(t).apply(this,arguments)});return this.reply(n,a,r)},stopReplying:function(e,n,t){return u._eventsApi(this,"stopReplying",e)?this:(e||n||t?r(this._requests,e,n,t)||u.debugLog("Attempted to remove the unregistered request",e,this.channelName):delete this._requests,this)}},u._channels={},u.channel=function(e){if(!e)throw new Error("You must provide a name for the channel.");return u._channels[e]?u._channels[e]:u._channels[e]=new u.Channel(e)},u.Channel=function(e){this.channelName=e},e.extend(u.Channel.prototype,n.Events,u.Requests,{reset:function(){return this.off(),this.stopListening(),this.stopReplying(),this}});var l,h,f=[n.Events,u.Commands,u.Requests];e.each(f,function(n){e.each(n,function(n,t){u[t]=function(n){return h=e.rest(arguments),l=this.channel(n),l[t].apply(l,h)}})}),u.reset=function(n){var t=n?[this._channels[n]]:this._channels;e.invoke(t,"reset")};var p=u;return p});
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).Mexp=t()}(this,(function(){"use strict";function e(){return e=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},e.apply(this,arguments)}var t,n={0:11,1:0,2:3,3:0,4:0,5:0,6:0,7:11,8:11,9:1,10:10,11:0,12:11,13:0,14:-1};function a(e,t){for(var n=0;n<e.length;n++)e[n]+=t;return e}!function(e){e[e.FUNCTION_WITH_ONE_ARG=0]="FUNCTION_WITH_ONE_ARG",e[e.NUMBER=1]="NUMBER",e[e.BINARY_OPERATOR_HIGH_PRECENDENCE=2]="BINARY_OPERATOR_HIGH_PRECENDENCE",e[e.CONSTANT=3]="CONSTANT",e[e.OPENING_PARENTHESIS=4]="OPENING_PARENTHESIS",e[e.CLOSING_PARENTHESIS=5]="CLOSING_PARENTHESIS",e[e.DECIMAL=6]="DECIMAL",e[e.POSTFIX_FUNCTION_WITH_ONE_ARG=7]="POSTFIX_FUNCTION_WITH_ONE_ARG",e[e.FUNCTION_WITH_N_ARGS=8]="FUNCTION_WITH_N_ARGS",e[e.BINARY_OPERATOR_LOW_PRECENDENCE=9]="BINARY_OPERATOR_LOW_PRECENDENCE",e[e.BINARY_OPERATOR_PERMUTATION=10]="BINARY_OPERATOR_PERMUTATION",e[e.COMMA=11]="COMMA",e[e.EVALUATED_FUNCTION=12]="EVALUATED_FUNCTION",e[e.EVALUATED_FUNCTION_PARAMETER=13]="EVALUATED_FUNCTION_PARAMETER",e[e.SPACE=14]="SPACE"}(t||(t={}));var o={0:!0,1:!0,3:!0,4:!0,6:!0,8:!0,9:!0,12:!0,13:!0,14:!0},h={0:!0,1:!0,2:!0,3:!0,4:!0,5:!0,6:!0,7:!0,8:!0,9:!0,10:!0,11:!0,12:!0,13:!0},r={0:!0,3:!0,4:!0,8:!0,12:!0,13:!0},u={},s={0:!0,1:!0,3:!0,4:!0,6:!0,8:!0,12:!0,13:!0},p={1:!0},i=[[],["1","2","3","7","8","9","4","5","6","+","-","*","/","(",")","^","!","P","C","e","0",".",",","n"," ","&"],["pi","ln","Pi"],["sin","cos","tan","Del","int","Mod","log","pow"],["asin","acos","atan","cosh","root","tanh","sinh"],["acosh","atanh","asinh","Sigma"]];function l(e,t,n,a){for(var o=0;o<a;o++)if(e[n+o]!==t[o])return!1;return!0}function E(e){for(var a=0;a<e.length;a++){var o=e[a].token.length,h=-1;e[a].type===t.FUNCTION_WITH_N_ARGS&&void 0===e[a].numberOfArguments&&(e[a].numberOfArguments=2),i[o]=i[o]||[];for(var r=0;r<i[o].length;r++)if(e[a].token===i[o][r]){h=N(i[o][r],this.tokens);break}-1===h?(this.tokens.push(e[a]),e[a].precedence=n[e[a].type],i.length<=e[a].token.length&&(i[e[a].token.length]=[]),i[e[a].token.length].push(e[a].token)):(this.tokens[h]=e[a],e[a].precedence=n[e[a].type])}}function N(e,t){for(var n=0;n<t.length;n++)if(t[n].token===e)return n;return-1}var v=function(e,n){var E,v={value:this.math.changeSign,type:t.FUNCTION_WITH_ONE_ARG,precedence:4,show:"-"},f={value:")",show:")",type:t.CLOSING_PARENTHESIS,precedence:0},y={value:"(",type:t.OPENING_PARENTHESIS,precedence:0,show:"("},A=[y],c=[],_=e,O=o,T=0,R=u,I="";void 0!==n&&this.addToken(n);var w=function(e,t){for(var n,a,o,h=[],r=t.length,u=0;u<r;u++)if(!(u<r-1&&" "===t[u]&&" "===t[u+1])){for(n="",a=t.length-u>i.length-2?i.length-1:t.length-u;a>0;a--)if(void 0!==i[a])for(o=0;o<i[a].length;o++)l(t,i[a][o],u,a)&&(n=i[a][o],o=i[a].length,a=0);if(u+=n.length-1,""===n)throw new Error("Can't understand after "+t.slice(u));h.push(e.tokens[N(n,e.tokens)])}return h}(this,_);for(E=0;E<w.length;E++){var P=w[E];if(14!==P.type){var m,M=P.token,g=P.type,C=P.value,d=P.precedence,k=P.show,S=A[A.length-1];for(m=c.length;m--&&0===c[m];)if(-1!==[t.FUNCTION_WITH_ONE_ARG,t.BINARY_OPERATOR_HIGH_PRECENDENCE,t.CONSTANT,t.OPENING_PARENTHESIS,t.CLOSING_PARENTHESIS,t.BINARY_OPERATOR_LOW_PRECENDENCE,t.BINARY_OPERATOR_PERMUTATION,t.COMMA,t.EVALUATED_FUNCTION,t.EVALUATED_FUNCTION_PARAMETER].indexOf(g)){if(!0!==O[g])throw new Error(M+" is not allowed after "+I);A.push(f),O=h,R=s,c.pop()}if(!0!==O[g])throw new Error(M+" is not allowed after "+I);!0===R[g]&&(g=t.BINARY_OPERATOR_HIGH_PRECENDENCE,C=this.math.mul,k="&times;",d=3,E-=1);var U={value:C,type:g,precedence:d,show:k,numberOfArguments:P.numberOfArguments};if(g===t.FUNCTION_WITH_ONE_ARG)O=o,R=u,a(c,1),A.push(U),w[E+1].type!==t.OPENING_PARENTHESIS&&(A.push(y),c.push(2));else if(g===t.NUMBER)S.type===t.NUMBER?(S.value+=C,a(c,1)):A.push(U),O=h,R=r;else if(g===t.BINARY_OPERATOR_HIGH_PRECENDENCE)O=o,R=u,a(c,2),A.push(U);else if(g===t.CONSTANT)A.push(U),O=h,R=s;else if(g===t.OPENING_PARENTHESIS)a(c,1),T++,O=o,R=u,A.push(U);else if(g===t.CLOSING_PARENTHESIS){if(!T)throw new Error("Closing parenthesis are more than opening one, wait What!!!");T--,O=h,R=s,A.push(U),a(c,1)}else if(g===t.DECIMAL){if(S.hasDec)throw new Error("Two decimals are not allowed in one number");S.type!==t.NUMBER&&(S={show:"0",value:0,type:t.NUMBER,precedence:0},A.push(S)),O=p,a(c,1),R=u,S.value+=C,S.hasDec=!0}else g===t.POSTFIX_FUNCTION_WITH_ONE_ARG&&(O=h,R=s,a(c,1),A.push(U));g===t.FUNCTION_WITH_N_ARGS?(O=o,R=u,a(c,P.numberOfArguments+2),A.push(U),w[E+1].type!==t.OPENING_PARENTHESIS&&(A.push(y),c.push(P.numberOfArguments+2))):g===t.BINARY_OPERATOR_LOW_PRECENDENCE?(S.type===t.BINARY_OPERATOR_LOW_PRECENDENCE?S.value===this.math.add?(S.value=C,S.show=k,a(c,1)):S.value===this.math.sub&&"-"===k&&(S.value=this.math.add,S.show="+",a(c,1)):S.type!==t.CLOSING_PARENTHESIS&&S.type!==t.POSTFIX_FUNCTION_WITH_ONE_ARG&&S.type!==t.NUMBER&&S.type!==t.CONSTANT&&S.type!==t.EVALUATED_FUNCTION_PARAMETER?"-"===M&&(O=o,R=u,a(c,1).push(2),A.push(v),A.push(y)):(A.push(U),a(c,2)),O=o,R=u):g===t.BINARY_OPERATOR_PERMUTATION?(O=o,R=u,a(c,2),A.push(U)):g===t.COMMA?(O=o,R=u,A.push(U)):g===t.EVALUATED_FUNCTION?(O=o,R=u,a(c,6),A.push(U),w[E+1].type!==t.OPENING_PARENTHESIS&&(A.push(y),c.push(6))):g===t.EVALUATED_FUNCTION_PARAMETER&&(O=h,R=s,A.push(U)),a(c,-1),I=M}else if(E>0&&E<w.length-1&&1===w[E+1].type&&(1===w[E-1].type||6===w[E-1].type))throw new Error("Unexpected Space")}for(m=c.length;m--;)A.push(f);if(!0!==O[5])throw new Error("complete the expression");for(;T--;)A.push(f);return A.push(f),A};function f(e){for(var t,n,a,o=[],h=-1,r=-1,u=[{value:"(",type:4,precedence:0,show:"("}],s=1;s<e.length;s++)if(1===e[s].type||3===e[s].type||13===e[s].type)1===e[s].type&&(e[s].value=Number(e[s].value)),o.push(e[s]);else if(4===e[s].type)u.push(e[s]);else if(5===e[s].type)for(;4!==(null==(p=n=u.pop())?void 0:p.type);){var p;n&&o.push(n)}else if(11===e[s].type){for(;4!==(null==(i=n=u.pop())?void 0:i.type);){var i;n&&o.push(n)}u.push(n)}else{r=(t=e[s]).precedence,h=(a=u[u.length-1]).precedence;var l="Math.pow"==a.value&&"Math.pow"==t.value;if(r>h)u.push(t);else{for(;h>=r&&!l||l&&r<h;)n=u.pop(),a=u[u.length-1],n&&o.push(n),h=a.precedence,l="Math.pow"==t.value&&"Math.pow"==a.value;u.push(t)}}return o}function y(e,t){(t=t||{}).PI=Math.PI,t.E=Math.E;for(var n,a,o,h=[],r=void 0!==t.n,u=0;u<e.length;u++)if(1===e[u].type)h.push({value:e[u].value,type:1});else if(3===e[u].type)h.push({value:t[e[u].value],type:1});else if(0===e[u].type){var s=h[h.length-1];Array.isArray(s)?s.push(e[u]):s.value=e[u].value(s.value)}else if(7===e[u].type){var p=h[h.length-1];Array.isArray(p)?p.push(e[u]):p.value=e[u].value(p.value)}else if(8===e[u].type){for(var i=[],l=0;l<e[u].numberOfArguments;l++){var E=h.pop();E&&i.push(E.value)}h.push({type:1,value:e[u].value.apply(e[u],i.reverse())})}else if(10===e[u].type)n=h.pop(),a=h.pop(),Array.isArray(a)?((a=a.concat(n)).push(e[u]),h.push(a)):Array.isArray(n)?(n.unshift(a),n.push(e[u]),h.push(n)):h.push({type:1,value:e[u].value(a.value,n.value)});else if(2===e[u].type||9===e[u].type)n=h.pop(),a=h.pop(),Array.isArray(a)?((a=a.concat(n)).push(e[u]),h.push(a)):Array.isArray(n)?(n.unshift(a),n.push(e[u]),h.push(n)):h.push({type:1,value:e[u].value(a.value,n.value)});else if(12===e[u].type){n=h.pop();var N=void 0;N=!Array.isArray(n)&&n?[n]:n||[],a=h.pop(),o=h.pop(),h.push({type:1,value:e[u].value(o.value,a.value,N)})}else 13===e[u].type&&(r?h.push({value:t[e[u].value],type:3}):h.push([e[u]]));if(h.length>1)throw new Error("Uncaught Syntax error");return parseFloat(h[0].value.toFixed(15))}var A=function(){function t(){var t;this.toPostfix=f,this.addToken=E,this.lex=v,this.postfixEval=y,this.math=(t=this,{isDegree:!0,acos:function(e){return t.math.isDegree?180/Math.PI*Math.acos(e):Math.acos(e)},add:function(e,t){return e+t},asin:function(e){return t.math.isDegree?180/Math.PI*Math.asin(e):Math.asin(e)},atan:function(e){return t.math.isDegree?180/Math.PI*Math.atan(e):Math.atan(e)},acosh:function(e){return Math.log(e+Math.sqrt(e*e-1))},asinh:function(e){return Math.log(e+Math.sqrt(e*e+1))},atanh:function(e){return Math.log((1+e)/(1-e))},C:function(e,n){var a=1,o=e-n,h=n;h<o&&(h=o,o=n);for(var r=h+1;r<=e;r++)a*=r;var u=t.math.fact(o);return"NaN"===u?"NaN":a/u},changeSign:function(e){return-e},cos:function(e){return t.math.isDegree&&(e=t.math.toRadian(e)),Math.cos(e)},cosh:function(e){return(Math.pow(Math.E,e)+Math.pow(Math.E,-1*e))/2},div:function(e,t){return e/t},fact:function(e){if(e%1!=0)return"NaN";for(var t=1,n=2;n<=e;n++)t*=n;return t},inverse:function(e){return 1/e},log:function(e){return Math.log(e)/Math.log(10)},mod:function(e,t){return e%t},mul:function(e,t){return e*t},P:function(e,t){for(var n=1,a=Math.floor(e)-Math.floor(t)+1;a<=Math.floor(e);a++)n*=a;return n},Pi:function(e,n,a){for(var o=1,h=e;h<=n;h++)o*=Number(t.postfixEval(a,{n:h}));return o},pow10x:function(e){for(var t=1;e--;)t*=10;return t},sigma:function(e,n,a){for(var o=0,h=e;h<=n;h++)o+=Number(t.postfixEval(a,{n:h}));return o},sin:function(e){return t.math.isDegree&&(e=t.math.toRadian(e)),Math.sin(e)},sinh:function(e){return(Math.pow(Math.E,e)-Math.pow(Math.E,-1*e))/2},sub:function(e,t){return e-t},tan:function(e){return t.math.isDegree&&(e=t.math.toRadian(e)),Math.tan(e)},tanh:function(e){return t.math.sinh(e)/t.math.cosh(e)},toRadian:function(e){return e*Math.PI/180},and:function(e,t){return e&t}}),this.tokens=function(t){return[{token:"sin",show:"sin",type:0,value:t.math.sin},{token:"cos",show:"cos",type:0,value:t.math.cos},{token:"tan",show:"tan",type:0,value:t.math.tan},{token:"pi",show:"&pi;",type:3,value:"PI"},{token:"(",show:"(",type:4,value:"("},{token:")",show:")",type:5,value:")"},{token:"P",show:"P",type:10,value:t.math.P},{token:"C",show:"C",type:10,value:t.math.C},{token:" ",show:" ",type:14,value:" ".anchor},{token:"asin",show:"asin",type:0,value:t.math.asin},{token:"acos",show:"acos",type:0,value:t.math.acos},{token:"atan",show:"atan",type:0,value:t.math.atan},{token:"7",show:"7",type:1,value:"7"},{token:"8",show:"8",type:1,value:"8"},{token:"9",show:"9",type:1,value:"9"},{token:"int",show:"Int",type:0,value:Math.floor},{token:"cosh",show:"cosh",type:0,value:t.math.cosh},{token:"acosh",show:"acosh",type:0,value:t.math.acosh},{token:"ln",show:" ln",type:0,value:Math.log},{token:"^",show:"^",type:10,value:Math.pow},{token:"root",show:"root",type:0,value:Math.sqrt},{token:"4",show:"4",type:1,value:"4"},{token:"5",show:"5",type:1,value:"5"},{token:"6",show:"6",type:1,value:"6"},{token:"/",show:"&divide;",type:2,value:t.math.div},{token:"!",show:"!",type:7,value:t.math.fact},{token:"tanh",show:"tanh",type:0,value:t.math.tanh},{token:"atanh",show:"atanh",type:0,value:t.math.atanh},{token:"Mod",show:" Mod ",type:2,value:t.math.mod},{token:"1",show:"1",type:1,value:"1"},{token:"2",show:"2",type:1,value:"2"},{token:"3",show:"3",type:1,value:"3"},{token:"*",show:"&times;",type:2,value:t.math.mul},{token:"sinh",show:"sinh",type:0,value:t.math.sinh},{token:"asinh",show:"asinh",type:0,value:t.math.asinh},{token:"e",show:"e",type:3,value:"E"},{token:"log",show:" log",type:0,value:t.math.log},{token:"0",show:"0",type:1,value:"0"},{token:".",show:".",type:6,value:"."},{token:"+",show:"+",type:9,value:t.math.add},{token:"-",show:"-",type:9,value:t.math.sub},{token:",",show:",",type:11,value:","},{token:"Sigma",show:"&Sigma;",type:12,value:t.math.sigma},{token:"n",show:"n",type:13,value:"n"},{token:"Pi",show:"&Pi;",type:12,value:t.math.Pi},{token:"pow",show:"pow",type:8,value:Math.pow,numberOfArguments:2},{token:"&",show:"&",type:9,value:t.math.and}].map((function(t){return e({},t,{precedence:n[t.type]})}))}(this)}return t.prototype.eval=function(e,t,n){return this.postfixEval(this.toPostfix(this.lex(e,t)),n)},t}();return A.TOKEN_TYPES=t,A.tokenTypes=t,A}));
var nfRadio=Backbone.Radio;
nfRadio.channel('form').on('render:view', function(){
jQuery('.g-recaptcha').each(function(){
var callback=jQuery(this).data('callback');
var fieldID=jQuery(this).data('fieldid');
if(typeof window[ callback ]!=='function'){
window[ callback ]=function(response){
nfRadio.channel('recaptcha').request('update:response', response, fieldID);
};}});
jQuery('.cf-turnstile').each(function(){
var callback=jQuery(this).data('callback');
var fieldID=jQuery(this).data('fieldid');
if(typeof window[ callback ]!=='function'){
window[ callback ]=function(response){
nfRadio.channel('turnstile').request('update:response', response, fieldID);
};}});
});
var nfRecaptcha=Marionette.Object.extend({
initialize: function(){
if(0!=jQuery('.g-recaptcha').length){
this.renderCaptcha();
}
this.listenTo(nfRadio.channel('form'), 'render:view', this.renderCaptcha);
this.listenTo(nfRadio.channel('captcha'), 'reset', this.renderCaptcha);
},
renderCaptcha: function(){
jQuery('.g-recaptcha:empty').each(function(){
var opts={
fieldid: jQuery(this).data('fieldid'),
size: jQuery(this).data('size'),
theme: jQuery(this).data('theme'),
sitekey: jQuery(this).data('sitekey'),
callback: jQuery(this).data('callback')
};
var grecaptchaID=grecaptcha.render(jQuery(this)[0], opts);
if(opts.size==='invisible'){
try {
nf_reprocess_recaptcha(grecaptchaID);
setInterval(nf_reprocess_recaptcha, 110000, grecaptchaID);
} catch(e){
console.log('Notice: Error trying to execute grecaptcha.');
}}
});
}});
var nfRenderRecaptcha=function(){
new nfRecaptcha();
}
var nfTurnstile=Marionette.Object.extend({
initialize: function(){
if(0!=jQuery('.cf-turnstile').length){
this.renderTurnstile();
}
this.listenTo(nfRadio.channel('form'), 'render:view', this.renderTurnstile);
this.listenTo(nfRadio.channel('captcha'), 'reset', this.renderTurnstile);
},
renderTurnstile: function(){
if(typeof turnstile==='undefined'){
return;
}
jQuery('.cf-turnstile:empty').each(function(){
var opts={
'theme': jQuery(this).data('theme'),
'size': jQuery(this).data('size'),
'sitekey': jQuery(this).data('sitekey'),
'callback': jQuery(this).data('callback')
};
try {
turnstile.render(jQuery(this)[0], opts);
} catch(e){
}});
}});
var nfRenderTurnstile=function(){
new nfTurnstile();
}
if(typeof nf_reprocess_recaptcha==='undefined'){
const nf_reprocess_recaptcha=(grecaptchaID)=> {
grecaptcha.execute(grecaptchaID);
}}
const nf_check_recaptcha_consent=()=> {
let stored_responses=[], services=[];
if(!nf_check_data_for_recaptcha_consent()){
stored_responses.push(false);
services.push("missing_cookie");
}
const response={
"consent_state": stored_responses,
"services":services
};
nfFrontEnd.nf_consent_status_response=response;
let nf_consent_status_extra_check=new CustomEvent('nf_consent_status_check', {detail: response});
document.dispatchEvent(nf_consent_status_extra_check);
return nfFrontEnd.nf_consent_status_response;
}
const nf_check_data_for_recaptcha_consent=()=> {
return nf_get_cookie_by_name("_grecaptcha")!=="";
}
const nf_get_cookie_by_name=(cname)=> {
let name=cname + "=";
let decodedCookie=decodeURIComponent(document.cookie);
let ca=decodedCookie.split(';');
for(let i=0; i <ca.length; i++){
let c=ca[i];
while (c.charAt(0)==' '){
c=c.substring(1);
}
if(c.indexOf(name)==0){
return c.substring(name.length, c.length);
}}
return "";
}
const nf_reload_after_cookie_consent=(submitFieldID, layoutView)=> {
if(typeof submitFieldID!=="undefined"&&typeof layoutView!=="undefined"){
nfRadio.channel('fields').request("remove:error", submitFieldID, "recaptcha-v3-missing");
nfRadio.channel('fields').request("remove:error", submitFieldID, "recaptcha-v3-consent");
nfRadio.channel('form').trigger('render:view', layoutView);
}}
const nf_add_reCaptcha_aria=()=> {
const nf_act_on_inserted_node=(mutationList, observer)=> {
for (const mutation of mutationList){
if(mutation.type==='childList'&&mutation.target.className==="g-recaptcha"){
let nf_recaptchaTextarea=document.getElementById("g-recaptcha-response");
if(typeof nf_recaptchaTextarea!=="undefined"){
nf_recaptchaTextarea.setAttribute("aria-hidden", "true");
nf_recaptchaTextarea.setAttribute("aria-label", "Silent reCaptcha security check");
nf_recaptchaTextarea.setAttribute("aria-readonly", "true");
observer.disconnect();
}}
}
observer.disconnect();
};
const nf_forms_listed=document.querySelectorAll(".ninja-forms-form-wrap");
if(nf_forms_listed.length > 0){
let nf_recaptcha_observers=[];
nf_forms_listed.forEach((nf_form)=> {
nf_recaptcha_observers.push({"class": new MutationObserver(nf_act_on_inserted_node), "element": nf_form});
});
if(nf_recaptcha_observers.length > 0){
nf_recaptcha_observers.forEach((object)=> {
object.class.observe(object.element,
{ childList: true, subtree: true }
);
});
}}
}
const nf_remove_noscript_tags_as_needed=()=> {
const noscripts=document.getElementsByClassName('ninja-forms-noscript-message')
for (let i=0; i < noscripts.length; i++){
noscripts[i].parentNode.removeChild(noscripts[i])
}}
jQuery(document).on('nfFormReady', ()=> {
nf_remove_noscript_tags_as_needed();
nf_add_reCaptcha_aria();
});
!function(){var e,t,i;!function(n){var r,a,o,l,s={},d={},c={},f={},u=Object.prototype.hasOwnProperty,h=[].slice,m=/\.js$/;function g(e,t){return u.call(e,t)}function p(e,t){var i,n,r,a,o,l,s,d,f,u,h,g=t&&t.split("/"),p=c.map,v=p&&p["*"]||{};if(e){for(o=(e=e.split("/")).length-1,c.nodeIdCompat&&m.test(e[o])&&(e[o]=e[o].replace(m,"")),"."===e[0].charAt(0)&&g&&(e=g.slice(0,g.length-1).concat(e)),f=0;f<e.length;f++)if("."===(h=e[f]))e.splice(f,1),f-=1;else if(".."===h){if(0===f||1===f&&".."===e[2]||".."===e[f-1])continue;f>0&&(e.splice(f-1,2),f-=2)}e=e.join("/")}if((g||v)&&p){for(f=(i=e.split("/")).length;f>0;f-=1){if(n=i.slice(0,f).join("/"),g)for(u=g.length;u>0;u-=1)if((r=p[g.slice(0,u).join("/")])&&(r=r[n])){a=r,l=f;break}if(a)break;!s&&v&&v[n]&&(s=v[n],d=f)}!a&&s&&(a=s,l=d),a&&(i.splice(0,l,a),e=i.join("/"))}return e}function v(e,t){return function(){var i=h.call(arguments,0);return"string"!=typeof i[0]&&1===i.length&&i.push(null),a.apply(n,i.concat([e,t]))}}function y(e){return function(t){s[e]=t}}function b(e){if(g(d,e)){var t=d[e];delete d[e],f[e]=!0,r.apply(n,t)}if(!g(s,e)&&!g(f,e))throw new Error("No "+e);return s[e]}function R(e){var t,i=e?e.indexOf("!"):-1;return i>-1&&(t=e.substring(0,i),e=e.substring(i+1,e.length)),[t,e]}function _(e){return e?R(e):[]}function w(e){return function(){return c&&c.config&&c.config[e]||{}}}o=function(e,t){var i,n,r=R(e),a=r[0],o=t[1];return e=r[1],a&&(i=b(a=p(a,o))),a?e=i&&i.normalize?i.normalize(e,(n=o,function(e){return p(e,n)})):p(e,o):(a=(r=R(e=p(e,o)))[0],e=r[1],a&&(i=b(a))),{f:a?a+"!"+e:e,n:e,pr:a,p:i}},l={require:function(e){return v(e)},exports:function(e){var t=s[e];return void 0!==t?t:s[e]={}},module:function(e){return{id:e,uri:"",exports:s[e],config:w(e)}}},r=function(e,t,i,r){var a,c,u,h,m,p,R,w=[],x=typeof i;if(p=_(r=r||e),"undefined"===x||"function"===x){for(t=!t.length&&i.length?["require","exports","module"]:t,m=0;m<t.length;m+=1)if("require"===(c=(h=o(t[m],p)).f))w[m]=l.require(e);else if("exports"===c)w[m]=l.exports(e),R=!0;else if("module"===c)a=w[m]=l.module(e);else if(g(s,c)||g(d,c)||g(f,c))w[m]=b(c);else{if(!h.p)throw new Error(e+" missing "+c);h.p.load(h.n,v(r,!0),y(c),{}),w[m]=s[c]}u=i?i.apply(s[e],w):void 0,e&&(a&&a.exports!==n&&a.exports!==s[e]?s[e]=a.exports:u===n&&R||(s[e]=u))}else e&&(s[e]=i)},e=t=a=function(e,t,i,s,d){if("string"==typeof e)return l[e]?l[e](t):b(o(e,_(t)).f);if(!e.splice){if((c=e).deps&&a(c.deps,c.callback),!t)return;t.splice?(e=t,t=i,i=null):e=n}return t=t||function(){},"function"==typeof i&&(i=s,s=d),s?r(n,e,t,i):setTimeout(function(){r(n,e,t,i)},4),a},a.config=function(e){return a(e)},e._defined=s,(i=function(e,t,i){if("string"!=typeof e)throw new Error("See almond README: incorrect module build, no module name");t.splice||(i=t,t=[]),g(s,e)||g(d,e)||(d[e]=[e,t,i])}).amd={jQuery:!0}}(),i("../../../node_modules/almond/almond",function(){}),i("models/fieldErrorModel",[],function(){return Backbone.Model.extend({})}),i("models/fieldErrorCollection",["models/fieldErrorModel"],function(e){return Backbone.Collection.extend({model:e})}),i("models/fieldModel",["models/fieldErrorCollection"],function(e){return Backbone.Model.extend({defaults:{placeholder:"",value:"",label_pos:"",classes:"ninja-forms-field",reRender:!1,mirror_field:!1,confirm_field:!1,clean:!0,disabled:"",visible:!0,invalid:!1},initialize:function(){var t=this.get("type");this.set("formID",this.collection.options.formModel.get("id")),this.listenTo(nfRadio.channel("form-"+this.get("formID")),"reset",this.resetModel),this.bind("change",this.changeModel,this),this.bind("change:value",this.changeValue,this),this.set("errors",new e),"listimage"===t&&(this.get=this.listimageGet,this.set=this.listimageSet),nfRadio.channel("fields").trigger("init:model",this),nfRadio.channel(this.get("type")).trigger("init:model",this),nfRadio.channel("fields-"+this.get("type")).trigger("init:model",this),void 0!==this.get("parentType")&&nfRadio.channel(this.get("parentType")).trigger("init:model",this),this.listenTo(nfRadio.channel("form-"+this.get("formID")),"loaded",this.formLoaded),this.listenTo(nfRadio.channel("form-"+this.get("formID")),"before:submit",this.beforeSubmit)},listimageGet:function(e){return"options"===e&&(e="image_options"),Backbone.Model.prototype.get.call(this,e)},listimageSet:function(e,t){return"options"===e&&(e="image_options"),Backbone.Model.prototype.set.call(this,e,t)},changeModel:function(){nfRadio.channel("field-"+this.get("id")).trigger("change:model",this),nfRadio.channel(this.get("type")).trigger("change:model",this),nfRadio.channel("fields").trigger("change:model",this)},changeValue:function(){nfRadio.channel("field-"+this.get("id")).trigger("change:modelValue",this),nfRadio.channel(this.get("type")).trigger("change:modelValue",this),nfRadio.channel("fields").trigger("change:modelValue",this)},addWrapperClass:function(e){this.set("addWrapperClass",e)},removeWrapperClass:function(e){this.set("removeWrapperClass",e)},setInvalid:function(e){this.set("invalid",e)},formLoaded:function(){nfRadio.channel("fields").trigger("formLoaded",this),nfRadio.channel("fields-"+this.get("type")).trigger("formLoaded",this)},beforeSubmit:function(e){nfRadio.channel(this.get("type")).trigger("before:submit",this),nfRadio.channel("fields").trigger("before:submit",this)},getValue:function(){return this.get("value")}})}),i("models/fieldCollection",["models/fieldModel"],function(e){var t=Backbone.Collection.extend({model:e,comparator:"order",initialize:function(e,t){this.options=t,this.on("reset",function(e){nfRadio.channel("fields").trigger("reset:collection",e)},this),nfRadio.channel("fields").reply("get:firstFieldByOrder",this.getFirstFieldByOrder)},validateFields:function(){_.each(this.models,function(e){if("repeater"===e.get("type")){const t=nfRadio.channel("field-repeater").request("get:repeaterFieldsModelsArrayByForm",e.get("formID"));_.each(t,function(e){e.set("clean",!1),nfRadio.channel("submit").trigger("validate:field",e)})}else e.set("clean",!1),nfRadio.channel("submit").trigger("validate:field",e)},this);var e=nfRadio.channel("form-"+this.models[0].get("formID")).request("get:form");_.size(e.get("fieldErrors"))>0&&nfRadio.channel("submit").request("focus:firstInvalidInput",Object.keys(e.get("fieldErrors")))},showFields:function(){this.invoke("set",{visible:!0}),this.invoke(function(){this.trigger("change:value",this)})},hideFields:function(){this.invoke("set",{visible:!1}),this.invoke(function(){this.trigger("change:value",this)})},getFirstFieldByOrder:function(e){let t=0;return _.each(e,function(e){const i=nfRadio.channel("fields").request("get:field",e).get("order");t=0===t||i<t?e:t}),t}});return t}),i("models/formErrorModel",[],function(){return Backbone.Model.extend({})}),i("models/formErrorCollection",["models/formErrorModel"],function(e){return Backbone.Collection.extend({model:e})}),i("models/formModel",["models/fieldCollection","models/formErrorCollection"],function(e,t){return Backbone.Model.extend({defaults:{beforeForm:"",afterForm:"",beforeFields:"",afterFields:"",wrapper_class:"",element_class:"",hp:"",fieldErrors:{},extra:{}},initialize:function(){this.set("fieldErrors",{}),this.set("extra",{}),_.each(this.get("settings"),function(e,t){this.set(t,e)},this),this.set("loadedFields",this.get("fields")),this.set("fields",new e(this.get("fields"),{formModel:this})),this.set("errors",new t),nfRadio.channel("form").trigger("before:filterData",this);var i=this.get("formContentData");i||(i=this.get("fieldContentsData"));var n=nfRadio.channel("formContent").request("get:loadFilters"),r=_.without(n,void 0);i=_.first(r)(i,this,this),this.set("formContentData",i),nfRadio.channel("forms").trigger("init:model",this),nfRadio.channel("form-"+this.get("id")).trigger("init:model",this),nfRadio.channel("form-"+this.get("id")).reply("get:fieldByKey",this.getFieldByKey,this),nfRadio.channel("form-"+this.get("id")).reply("add:error",this.addError,this),nfRadio.channel("form-"+this.get("id")).reply("remove:error",this.removeError,this),nfRadio.channel("form-"+this.get("id")).reply("get:extra",this.getExtra,this),nfRadio.channel("form-"+this.get("id")).reply("add:extra",this.addExtra,this),nfRadio.channel("form-"+this.get("id")).reply("remove:extra",this.removeExtra,this),nfRadio.channel("form-"+this.get("id")).reply("get:form",this.getForm,this),nfRadio.channel("form").trigger("loaded",this),nfRadio.channel("form").trigger("after:loaded",this),nfRadio.channel("form-"+this.get("id")).trigger("loaded",this)},getFieldByKey:function(e){return this.get("fields").findWhere({key:e})},addError:function(e,t){this.get("errors").add({id:e,msg:t}),nfRadio.channel("form-"+this.get("id")).trigger("add:error",this,e,t)},removeError:function(e){var t=this.get("errors"),i=t.get(e);t.remove(i),nfRadio.channel("form-"+this.get("id")).trigger("remove:error",this,e)},getExtra:function(e){var t=this.get("extra");return void 0===e?t:t[e]},addExtra:function(e,t){this.get("extra")[e]=t,nfRadio.channel("form-"+this.get("id")).trigger("add:extra",this,e,t)},removeExtra:function(e){delete this.get("extra")[e],nfRadio.channel("form-"+this.get("id")).trigger("remove:extra",this,e)},getForm:function(){return this}})}),i("models/formCollection",["models/formModel"],function(e){return Backbone.Collection.extend({model:e})}),i("controllers/formData",["models/formModel","models/formCollection","models/fieldCollection","models/formErrorCollection"],function(e,t,i,n){return Marionette.Object.extend({initialize:function(){this.collection=new t(nfForms),nfRadio.channel("forms").trigger("loaded",this.collection),nfRadio.channel("app").trigger("forms:loaded",this.collection),nfRadio.channel("app").reply("get:form",this.getForm,this),nfRadio.channel("app").reply("get:forms",this.getForms,this),nfRadio.channel("fields").reply("get:field",this.getField,this)},getForm:function(e){return this.collection.get(e)},getForms:function(){return this.collection},getField:function(e){var t=!1;return _.each(this.collection.models,function(i){t||(t=i.get("fields").get(e))}),void 0===t&&-1!==String(e).indexOf(".")&&(t=nfRadio.channel("field-repeater").request("get:repeaterFieldById",e)),t}})}),i("controllers/fieldError",["models/fieldErrorModel"],function(e){return Marionette.Object.extend({initialize:function(){nfRadio.channel("fields").reply("add:error",this.addError),nfRadio.channel("fields").reply("remove:error",this.removeError),nfRadio.channel("fields").reply("get:error",this.getError)},addError:function(e,t,i){var n=nfRadio.channel("fields").request("get:field",e);if(void 0!==n){var r=n.get("errors");r.add({id:t,msg:i}),n.set("errors",r),n.trigger("change:errors",n),n.set("clean",!1),nfRadio.channel("fields").trigger("add:error",n,t,i)}},removeError:function(e,t){var i=nfRadio.channel("fields").request("get:field",e);if(void 0!==i){var n=i.get("errors"),r=n.get(t);void 0!==r&&(n.remove(r),i.set("errors",n),i.trigger("change:errors",i),nfRadio.channel("fields").trigger("remove:error",i,t))}},getError:function(e,t){var i=nfRadio.channel("fields").request("get:field",e).get("errors").get(t);return"undefined"!=i&&i}})}),i("controllers/changeField",[],function(){return Marionette.Object.extend({initialize:function(){nfRadio.channel("nfAdmin").reply("change:field",this.changeField),this.listenTo(nfRadio.channel("fields"),"blur:field",this.blurField)},changeField:function(e,t){var i=nfRadio.channel(t.get("type")).request("before:updateField",e,t);i=void 0!==(i=void 0!==i?i:nfRadio.channel(t.get("parentType")).request("before:updateField",e,t))?i:jQuery(e).val(),t.set("isUpdated",!1),t.set("clean",!1),nfRadio.channel("field-"+t.get("id")).trigger("change:field",e,t),nfRadio.channel(t.get("type")).trigger("change:field",e,t),nfRadio.channel("fields").trigger("change:field",e,t),nfRadio.channel("nfAdmin").request("update:field",t,i),t.get("repeaterField")&&nfRadio.channel("field-repeater").trigger("set:value")},blurField:function(e,t){t.set("clean",!1)}})}),i("controllers/changeEmail",[],function(){var e=nfRadio.channel("email"),t=/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,i="invalid-email";return Marionette.Object.extend({initialize:function(){this.listenTo(e,"change:modelValue",this.onChangeModelValue),this.listenTo(e,"keyup:field",this.emailKeyup),this.listenTo(e,"blur:field",this.onBlurField)},onChangeModelValue:function(e){var t=e.get("value"),i=e.get("id");this.emailChange(t,i)},onBlurField:function(e,t){var i=jQuery(e).val(),n=t.get("id");this.emailChange(i,n)},emailChange:function(e,n){if(0<e.length)if(t.test(e))nfRadio.channel("fields").request("remove:error",n,i);else{var r=nfRadio.channel("fields").request("get:field",n),a=nfRadio.channel("app").request("get:form",r.get("formID"));nfRadio.channel("fields").request("add:error",n,i,a.get("settings").changeEmailErrorMsg)}else nfRadio.channel("fields").request("remove:error",n,i)},emailKeyup:function(e,n,r){if(9==r)return!1;var a=jQuery(e).val(),o=n.get("id");if(0==a.length)nfRadio.channel("fields").request("remove:error",o,i);else if(t.test(a)||n.get("clean"))t.test(a)&&(nfRadio.channel("fields").request("remove:error",o,i),n.addWrapperClass("nf-pass"),n.set("clean",!1));else{var l=nfRadio.channel("fields").request("get:field",o),s=nfRadio.channel("app").request("get:form",l.get("formID"));nfRadio.channel("fields").request("add:error",o,i,s.get("settings").changeEmailErrorMsg),n.removeWrapperClass("nf-pass")}}})}),i("controllers/changeDate",[],function(){var e=nfRadio.channel("date"),t="invalid-date";return Marionette.Object.extend({initialize:function(){this.listenTo(e,"change:modelValue",this.onChangeModelValue),this.listenTo(e,"keyup:field",this.dateKeyup),this.listenTo(e,"blur:field",this.onBlurField),this.listenTo(e,"change:extra",this.changeHoursMinutes,this)},onChangeModelValue:function(e){var t=moment.locale();moment.locale("ninja-forms"),this.dateChange(e),moment.locale(t)},onBlurField:function(e,t){var i=moment.locale();moment.locale("ninja-forms"),this.dateChange(t),moment.locale(i)},dateChange:function(e){var i=e.get("id"),n=e.get("value"),r=e.get("date_format");if("time_only"==e.get("date_mode"))return!1;if(0<n.length)if(this.isDateValid(n,r,i))nfRadio.channel("fields").request("remove:error",i,t);else{var a=nfRadio.channel("fields").request("get:field",i),o=nfRadio.channel("app").request("get:form",a.get("formID"));nfRadio.channel("fields").request("add:error",i,t,o.get("settings").changeDateErrorMsg)}else nfRadio.channel("fields").request("remove:error",i,t)},dateKeyup:function(e,i,n){if(9==n)return!1;var r=jQuery(e).val(),a=i.get("id"),o=i.get("date_format"),l=moment.locale();if(moment.locale("ninja-forms"),0==r.length)nfRadio.channel("fields").request("remove:error",a,t);else if(this.isDateValid(r,o,a)||i.get("clean"))this.isDateValid(r,o,a)&&(nfRadio.channel("fields").request("remove:error",a,t),i.addWrapperClass("nf-pass"),i.set("clean",!1));else{var s=nfRadio.channel("fields").request("get:field",a),d=nfRadio.channel("app").request("get:form",s.get("formID"));nfRadio.channel("fields").request("add:error",a,t,d.get("settings").changeDateErrorMsg),i.removeWrapperClass("nf-pass")}moment.locale(l)},changeHoursMinutes:function(e,t){let i=jQuery(e.target).closest(".nf-field-element"),n=jQuery(i).find(".hour").val(),r=jQuery(i).find(".minute").val(),a=jQuery(i).find(".ampm").val();if(t.set("selected_hour",n),t.set("selected_minute",r),t.set("selected_ampm",a),"time_only"===t.get("date_mode")){const e=void 0!==a?n+":"+r+" "+a:n+":"+r;t.set("value",e)}const o=t.get("id");"string"==typeof o&&-1!==o.search(".")&&nfRadio.channel("field-repeater").trigger("set:value")},isDateValid:function(e,t,i){if(null===document.querySelector("[name='nf-field-"+i+"']"))return;const n=document.querySelector("[name='nf-field-"+i+"']")._flatpickr.parseDate(e,t);if(!n)return!1;const r=n.getTime();if(isNaN(r))return!1;const a=new Date(r);return document.querySelector("[name='nf-field-"+i+"']")._flatpickr.formatDate(a,t)===e}})}),i("controllers/fieldCheckbox",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(nfRadio.channel("checkbox"),"init:model",this.registerRenderClasses),nfRadio.channel("checkbox").reply("validate:required",this.validateRequired),nfRadio.channel("checkbox").reply("validate:modelData",this.validateModelData),nfRadio.channel("checkbox").reply("before:updateField",this.beforeUpdateField,this),nfRadio.channel("checkbox").reply("get:calcValue",this.getCalcValue,this)},beforeUpdateField:function(e,t){if(jQuery(e).prop("checked")){var i=1;jQuery(e).addClass("nf-checked"),jQuery(e).closest(".field-wrap").find('label[for="'+jQuery(e).prop("id")+'"]').addClass("nf-checked-label")}else{i=0;jQuery(e).removeClass("nf-checked"),jQuery(e).closest(".field-wrap").find('label[for="'+jQuery(e).prop("id")+'"]').removeClass("nf-checked-label")}return i},validateRequired:function(e,t){return e[0].checked},validateModelData:function(e){return 0!=e.get("value")},getCalcValue:function(e){return 1==e.get("value")?calcValue=e.get("checked_calc_value"):calcValue=e.get("unchecked_calc_value"),calcValue},registerRenderClasses:function(e){"checked"==e.get("default_value")?e.set("value",1):e.set("value",0),e.set("customClasses",this.customClasses),e.set("customLabelClasses",this.customLabelClasses),e.set("maybeChecked",this.maybeChecked)},customClasses:function(e){return 1==this.value||this.clean&&void 0!==this.default_value&&"checked"==this.default_value?e+=" nf-checked":e.replace("nf-checked",""),e},customLabelClasses:function(e){return 1==this.value||this.clean&&void 0!==this.default_value&&"checked"==this.default_value?e+=" nf-checked-label":e.replace("nf-checked-label",""),e},maybeChecked:function(){return 1==this.value||this.clean&&void 0!==this.default_value&&"checked"==this.default_value?" checked":""}})}),i("controllers/fieldCheckboxList",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(nfRadio.channel("listcheckbox"),"init:model",this.register),this.listenTo(nfRadio.channel("terms"),"init:model",this.register),nfRadio.channel("listcheckbox").reply("before:updateField",this.beforeUpdateField,this),nfRadio.channel("terms").reply("before:updateField",this.beforeUpdateField,this),nfRadio.channel("listcheckbox").reply("get:calcValue",this.getCalcValue,this),nfRadio.channel("terms").reply("get:calcValue",this.getCalcValue,this)},register:function(e){if(e.set("renderOptions",this.renderOptions),e.set("renderOtherText",this.renderOtherText),e.set("selected",[]),0!=e.get("options").length){var t=_.filter(e.get("options"),function(e){return 1==e.selected});t=_.map(t,function(e){return e.value})}var i=e.get("value");void 0!==i&&Array.isArray(i)?e.set("value",i):void 0!==t&&e.set("value",t)},renderOptions:function(){var e="";if(""==this.value||Array.isArray(this.value)&&0<this.value.length||0<this.value.length)var t=!0;else t=!1;if(_.each(this.options,function(i,n){Array.isArray(this.value)&&(Array.isArray(this.value[0])&&-1!==_.indexOf(this.value[0],i.value)||_.indexOf(this.value,i.value))&&(t=!0),i.value==this.value&&(t=!0),void 0===i.visible&&(i.visible=!0),i.fieldID=this.id,i.classes=this.classes,i.index=n,i.label=void 0!==nfFrontEnd.filter_esc_status&&"true"===nfFrontEnd.filter_esc_status?_.escape(i.label):i.label;var r=!1;Array.isArray(this.value)&&0<this.value.length?-1===_.indexOf(this.value[0].split(","),i.value)&&-1===_.indexOf(this.value,i.value)||(r=!0):_.isArray(this.value)||i.value!=this.value?1==i.selected&&this.clean&&void 0===this.value&&(r=!0):r=!0,i.selected=r,i.isSelected=r,i.required=this.required,i.maybeFilterHTML=this.maybeFilterHTML;var a=nfRadio.channel("app").request("get:template","#tmpl-nf-field-listcheckbox-option");e+=a(i)},this),1==this.show_other){"nf-other"==this.value&&(t=!1);var i={fieldID:this.id,classes:this.classes,currentValue:this.value,renderOtherText:this.renderOtherText,valueFound:t},n=nfRadio.channel("app").request("get:template","#tmpl-nf-field-listcheckbox-other");e+=n(i)}return e},renderOtherText:function(){if("nf-other"==this.currentValue||!this.valueFound){"nf-other"==this.currentValue&&(this.currentValue="");var e={fieldID:this.fieldID,classes:this.classes,currentValue:this.currentValue};return nfRadio.channel("app").request("get:template","#tmpl-nf-field-listcheckbox-other-text")(e)}},getCalcValue:function(e){var t=0,i=e.get("options");return 0!=i.length&&_.each(e.get("value"),function(e){var n=_.find(i,function(t){return t.value==e});t=Number(t)+Number(n.calc)}),t},beforeUpdateField:function(e,t){var i=t.get("value")||[];"string"==typeof i&&(i=[i]);var n=jQuery(e).val();if(jQuery(e).prop("checked"))i.push(n),jQuery(e).addClass("nf-checked"),jQuery(e).parent().find('label[for="'+jQuery(e).prop("id")+'"]').addClass("nf-checked-label");else{jQuery(e).removeClass("nf-checked"),jQuery(e).parent().find('label[for="'+jQuery(e).prop("id")+'"]').removeClass("nf-checked-label");var r=i.indexOf(n);if(-1!=r)i.splice(r,1);else if(Array.isArray(i)){var a=void 0!==i[0]?i[0].split(","):[],o=a.indexOf(n);-1!==o&&a.splice(o,1),i=a.join(",")}}return _.clone(i)}})}),i("controllers/fieldImageList",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(nfRadio.channel("listimage"),"init:model",this.register),nfRadio.channel("listimage").reply("before:updateField",this.beforeUpdateField,this),nfRadio.channel("listimage").reply("get:calcValue",this.getCalcValue,this)},register:function(e){if(e.set("renderOptions",this.renderOptions),e.set("renderOtherText",this.renderOtherText),e.set("selected",[]),0!=e.get("image_options").length){var t=_.filter(e.get("image_options"),function(e){return 1==e.selected});t=_.map(t,function(e){return e.value})}var i=e.get("value");void 0!==i&&Array.isArray(i)?e.set("value",i):void 0!==t&&e.set("value",t)},renderOptions:function(){var e="";if(""==this.value||Array.isArray(this.value)&&0<this.value.length||0<this.value.length)var t=!0;else t=!1;1===this.allow_multi_select?(this.old_classname="list-checkbox",this.image_type="checkbox"):this.image_type="radio","horizontal"===this.list_orientation?this.flex_direction="row":this.flex_direction="column";var i=this,n=parseInt(this.num_columns)||1,r=1,a=1;if(_.each(this.image_options,function(o,l){this.show_option_labels?o.label=void 0!==nfFrontEnd.filter_esc_status&&"true"===nfFrontEnd.filter_esc_status?_.escape(o.label):o.label:o.label="",Array.isArray(this.value)&&(Array.isArray(this.value[0])&&-1!==_.indexOf(this.value[0],o.value)||_.indexOf(this.value,o.value))&&(t=!0),o.value==this.value&&(t=!0),void 0===o.visible&&(o.visible=!0),"horizontal"===i.list_orientation&&r<=n&&(o.styles="margin:auto;grid-column: "+r+"; grid-row="+a,r===n?(r=1,a+=1):r+=1),o.image_type=i.image_type,o.fieldID=this.id,o.classes=this.classes,o.index=l;var s=!1;Array.isArray(this.value)&&0<this.value.length?-1===_.indexOf(this.value[0].split(","),o.value)&&-1===_.indexOf(this.value,o.value)||(s=!0):(_.isArray(this.value)||o.value!=this.value)&&(1!=o.selected||!this.clean||void 0!==this.value&&""!==this.value)||(s=!0),o.selected=s,o.isSelected=s,o.required=this.required,o.maybeFilterHTML=this.maybeFilterHTML;var d=nfRadio.channel("app").request("get:template","#tmpl-nf-field-listimage-option");e+=d(o)},this),1==this.show_other){"nf-other"==this.value&&(t=!1);var o={fieldID:this.id,classes:this.classes,value:this.value,currentValue:this.value,renderOtherText:this.renderOtherText,valueFound:t},l=nfRadio.channel("app").request("get:template","#tmpl-nf-field-listimage-other");e+=l(o)}return e},renderOtherText:function(){if("nf-other"==this.currentValue||!this.valueFound){"nf-other"==this.currentValue&&(this.currentValue="");var e={fieldID:this.fieldID,classes:this.classes,currentValue:this.currentValue};return nfRadio.channel("app").request("get:template","#tmpl-nf-field-listimage-other-text")(e)}},getCalcValue:function(e){var t=0,i=e.get("options");if(0!=i.length)if(1==parseInt(e.get("allow_multi_select")))_.each(e.get("value"),function(e){var n=_.find(i,function(t){return t.value==e});t+=Number(n.calc)});else{var n=_.find(i,function(t){return e.get("value")==t.value});void 0!==n&&(t=n.calc)}return t},beforeUpdateField:function(e,t){if(1!==t.get("allow_multi_select")){var i=jQuery(e).val(),n=t.get("image_options");_.each(n,function(e,t){e.value===i?(e.isSelected=!0,e.selected=!0):(e.isSelected=!1,e.selected=!1),e.isSelected?(jQuery("#nf-field-"+e.fieldID+"-"+t).addClass("nf-checked"),jQuery("#nf-label-field-"+e.fieldID+"-"+t).addClass("nf-checked-label")):(e.selected=!1,jQuery("#nf-field-"+e.fieldID+"-"+t).removeClass("nf-checked"),jQuery("#nf-label-field-"+e.fieldID+"-"+t).removeClass("nf-checked-label"))})}else{"string"==typeof(i=t.get("value")||[])&&(i=[i]);var r=jQuery(e).val();if(jQuery(e).prop("checked"))i.push(r),jQuery(e).addClass("nf-checked"),jQuery(e).parent().find('label[for="'+jQuery(e).prop("id")+'"]').addClass("nf-checked-label");else{jQuery(e).removeClass("nf-checked"),jQuery(e).parent().find('label[for="'+jQuery(e).prop("id")+'"]').removeClass("nf-checked-label");var a=i.indexOf(r);if(-1!=a)i.splice(a,1);else if(Array.isArray(i)){var o=i[0].split(","),l=o.indexOf(r);-1!==l&&o.splice(l,1),i=o.join(",")}}}return _.clone(i)}})}),i("controllers/fieldRadio",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(nfRadio.channel("listradio"),"change:modelValue",this.changeModelValue),this.listenTo(nfRadio.channel("listradio"),"init:model",this.register),nfRadio.channel("listradio").reply("get:calcValue",this.getCalcValue,this),this.listenTo(nfRadio.channel("listradio"),"change:field",this.updateCheckedClass,this)},register:function(e){if(e.set("renderOptions",this.renderOptions),e.set("renderOtherText",this.renderOtherText),0!=e.get("options").length){var t=_.find(e.get("options"),function(e){return 1==e.selected});void 0!==t&&e.set("value",t.value)}},changeModelValue:function(e){1==e.get("show_other")&&e.trigger("reRender")},renderOptions:function(){var e="";if(""==this.value)var t=!0;else t=!1;if(_.each(this.options,function(i,n){i.value==this.value&&(t=!0),void 0===i.visible&&(i.visible=!0),i.selected=!1,i.fieldID=this.id,i.classes=this.classes,i.currentValue=this.value,i.index=n,i.label=void 0!==nfFrontEnd.filter_esc_status&&"true"===nfFrontEnd.filter_esc_status?_.escape(i.label):i.label,i.required=this.required,this.clean&&1==this.selected||this.value==i.value?i.selected=!0:i.selected=!1,i.maybeFilterHTML=this.maybeFilterHTML;var r=nfRadio.channel("app").request("get:template","#tmpl-nf-field-listradio-option");e+=r(i)},this),1==this.show_other){"nf-other"==this.value&&(t=!1);var i={fieldID:this.id,classes:this.classes,currentValue:this.value,renderOtherText:this.renderOtherText,valueFound:t},n=nfRadio.channel("app").request("get:template","#tmpl-nf-field-listradio-other");e+=n(i)}return e},renderOtherText:function(){if("nf-other"==this.currentValue||!this.valueFound){"nf-other"==this.currentValue&&(this.currentValue="");var e={fieldID:this.fieldID,classes:this.classes,currentValue:this.currentValue};return nfRadio.channel("app").request("get:template","#tmpl-nf-field-listradio-other-text")(e)}},getCalcValue:function(e){var t=0;if(0!=e.get("options").length){var i=_.find(e.get("options"),function(t){return e.get("value")==t.value});void 0!==i&&(t=i.calc)}return t},updateCheckedClass:function(e,t){jQuery('[name="'+jQuery(e).attr("name")+'"]').removeClass("nf-checked"),jQuery(e).closest("ul").find("label").removeClass("nf-checked-label"),jQuery(e).addClass("nf-checked"),jQuery(e).closest("li").find('label[for="'+jQuery(e).prop("id")+'"]').addClass("nf-checked-label")}})}),i("controllers/fieldNumber",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(nfRadio.channel("number"),"init:model",this.maybeMinDefault),this.listenTo(nfRadio.channel("number"),"keyup:field",this.validateEntry)},maybeMinDefault:function(e){if(""==e.get("value")&&""==e.get("placeholder")){var t=e.get("num_min");e.set("placeholder",t)}},validateEntry:function(e,t){var i=jQuery(e),n=i.val(),r=parseFloat(n),a=i.attr("min"),o=i.attr("max"),l=i.attr("step")?i.attr("step"):"1";if(a&&r<a){var s=nfRadio.channel("fields").request("get:field",t.get("id")),d=nfRadio.channel("app").request("get:form",s.get("formID"));nfRadio.channel("fields").request("add:error",t.get("id"),"number-min",d.get("settings").fieldNumberNumMinError)}else nfRadio.channel("fields").request("remove:error",t.get("id"),"number-min");if(o&&r>o){s=nfRadio.channel("fields").request("get:field",t.get("id")),d=nfRadio.channel("app").request("get:form",s.get("formID"));nfRadio.channel("fields").request("add:error",t.get("id"),"number-max",d.get("settings").fieldNumberNumMaxError)}else nfRadio.channel("fields").request("remove:error",t.get("id"),"number-max");let c=n.split(".");c=void 0!==c[1]?c[1].length:0;let f=l.split(".");f=void 0!==f[1]?f[1].length:0;let u=Math.pow(10,f);if(l&&n&&(c>f||0!==parseInt((u*r).toFixed())%parseInt((u*parseFloat(l)).toFixed()))){s=nfRadio.channel("fields").request("get:field",t.get("id")),d=nfRadio.channel("app").request("get:form",s.get("formID"));nfRadio.channel("fields").request("add:error",t.get("id"),"number-step",d.get("settings").fieldNumberIncrementBy+l)}else nfRadio.channel("fields").request("remove:error",t.get("id"),"number-step")}})}),i("controllers/mirrorField",[],function(){var e=nfRadio.channel("fields");return Marionette.Object.extend({listeningModel:"",initialize:function(){this.listenTo(e,"init:model",this.registerMirror)},registerMirror:function(e){if(e.get("mirror_field")){this.listeningModel=e;var t=e.get("mirror_field");this.listenTo(nfRadio.channel("field-"+t),"change:modelValue",this.changeValue)}},changeValue:function(e){this.listeningModel.set("value",e.get("value")),this.listeningModel.trigger("reRender")}})}),i("controllers/confirmField",[],function(){var e=nfRadio.channel("fields"),t="confirm-mismatch";return Marionette.Object.extend({initialize:function(){this.listenTo(e,"init:model",this.registerConfirm),this.listenTo(e,"keyup:field",this.confirmKeyup)},registerConfirm:function(e){e.get("confirm_field")&&this.listenTo(nfRadio.channel("form"),"loaded",function(t){this.registerConfirmListeners(e)})},registerConfirmListeners:function(e){var t=nfRadio.channel("form-"+e.get("formID")).request("get:fieldByKey",e.get("confirm_field"));void 0!==t&&(t.set("confirm_with",e.get("id")),this.listenTo(nfRadio.channel("field-"+t.get("id")),"change:modelValue",this.changeValue),this.listenTo(nfRadio.channel("field-"+e.get("id")),"change:modelValue",this.changeValue))},changeValue:function(i){if(void 0===i.get("confirm_with"))var n=i,r=nfRadio.channel("form-"+i.get("formID")).request("get:fieldByKey",n.get("confirm_field"));else r=i,n=e.request("get:field",r.get("confirm_with"));r.get("id");var a=n.get("id");if(""==n.get("value")||n.get("value")==r.get("value"))nfRadio.channel("fields").request("remove:error",a,t);else{var o=nfRadio.channel("fields").request("get:field",a),l=nfRadio.channel("app").request("get:form",o.get("formID"));nfRadio.channel("fields").request("add:error",a,t,l.get("settings").confirmFieldErrorMsg)}},confirmKeyup:function(e,i,n){var r=jQuery(e).val();if(i.get("confirm_field"))var a=i,o=i.get("id"),l=nfRadio.channel("form-"+i.get("formID")).request("get:fieldByKey",a.get("confirm_field")).get("value"),s=r;else if(i.get("confirm_with"))o=(a=nfRadio.channel("fields").request("get:field",i.get("confirm_with"))).get("id"),l=s=a.get("value");if(void 0!==a)if(""==s)nfRadio.channel("fields").request("remove:error",o,t);else if(r==l)nfRadio.channel("fields").request("remove:error",o,t);else{var d=nfRadio.channel("fields").request("get:field",o),c=nfRadio.channel("app").request("get:form",d.get("formID"));nfRadio.channel("fields").request("add:error",o,t,c.get("settings").confirmFieldErrorMsg)}}})}),i("controllers/updateFieldModel",[],function(){return Marionette.Object.extend({initialize:function(){nfRadio.channel("nfAdmin").reply("update:field",this.updateField)},updateField:function(e,t){e.get("isUpdated")||(e.set("value",t),e.set("isUpdated",!0),_.isArray(t)&&e.trigger("change:value",e))}})}),i("controllers/submitButton",["controllers/submitButton"],function(e){return Marionette.Object.extend({bound:{},initialize:function(){this.listenTo(nfRadio.channel("submit"),"init:model",this.registerHandlers)},registerHandlers:function(e){if(void 0!==this.bound[e.get("id")])return!1;this.listenTo(nfRadio.channel("field-"+e.get("id")),"click:field",this.click,this),e.listenTo(nfRadio.channel("form-"+e.get("formID")),"before:submit",this.beforeSubmit,e),e.listenTo(nfRadio.channel("form-"+e.get("formID")),"submit:failed",this.resetLabel,e),e.listenTo(nfRadio.channel("form-"+e.get("formID")),"submit:response",this.resetLabel,e),e.listenTo(nfRadio.channel("form-"+e.get("formID")),"enable:submit",this.maybeEnable,e),e.listenTo(nfRadio.channel("form-"+e.get("formID")),"disable:submit",this.maybeDisable,e),e.listenTo(nfRadio.channel("form-"+e.get("formID")),"processingLabel",this.processingLabel,e),e.listenTo(nfRadio.channel("fields"),"add:error",this.maybeDisable,e),e.listenTo(nfRadio.channel("fields"),"remove:error",this.maybeEnable,e),this.bound[e.get("id")]=!0},click:function(e,t){var i=nfRadio.channel("app").request("get:form",t.get("formID"));_.size(i.get("fieldErrors"))>0&&nfRadio.channel("submit").request("focus:firstInvalidInput",Object.keys(i.get("fieldErrors"))),nfRadio.channel("form-"+t.get("formID")).request("submit",i)},beforeSubmit:function(){this.get("disabled")||(this.set("disabled",!0),nfRadio.channel("form-"+this.get("formID")).trigger("processingLabel",this))},maybeDisable:function(e){void 0!==e&&e.get("formID")!=this.get("formID")||(this.set("disabled",!0),this.trigger("reRender"))},maybeEnable:function(e){if(void 0!==e&&e.get("formID")!=this.get("formID"))return!1;var t=nfRadio.channel("app").request("get:form",this.get("formID"));0==_.size(t.get("fieldErrors"))&&(this.set("disabled",!1),this.trigger("reRender"))},processingLabel:function(){this.set("oldLabel",this.get("label")),this.set("label",this.get("processing_label")),this.set("disabled",!0),this.trigger("reRender")},resetLabel:function(e){void 0!==e.errors&&void 0!==e.errors.nonce&&_.size(e.errors.nonce)>0&&void 0!==e.errors.nonce.new_nonce&&void 0!==e.errors.nonce.nonce_ts||(void 0!==this.get("oldLabel")&&this.set("label",this.get("oldLabel")),this.set("disabled",!1),this.trigger("reRender"))}})}),i("controllers/submitDebug",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(nfRadio.channel("forms"),"submit:response",this.submitDebug)},submitDebug:function(e,t,i,n){if(void 0!==e.debug){if(void 0!==e.debug.form){var r=document.createElement("span");_.each(e.debug.form,function(e,t){var i=document.createTextNode(e);r.appendChild(i),r.appendChild(document.createElement("br"))}),jQuery(".nf-debug-msg").html(r)}if(void 0!==e.debug.console){console.log("%c%s","","NINJA SUPPORT"),_.each(e.debug.console,function(e,t){console.log(e)}),console.log("%c%s","","END NINJA SUPPORT")}}}})}),i("controllers/getFormErrors",[],function(){nfRadio.channel("fields");return Marionette.Object.extend({initialize:function(e){nfRadio.channel("form").reply("get:errors",this.getFormErrors)},getFormErrors:function(e){var t=nfRadio.channel("app").request("get:form",e),i=!1;return t&&(0!==t.get("errors").length&&_.each(t.get("errors").models,function(e){(i=i||{})[e.get("id")]=e.get("msg")}),_.each(t.get("fields").models,function(e){"submit"!=e.get("type")&&e.get("errors").length>0&&((i=i||{})[e.get("id")]=e.get("errors"))})),i}})}),i("controllers/validateRequired",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(nfRadio.channel("fields"),"blur:field",this.validateRequired),this.listenTo(nfRadio.channel("fields"),"change:field",this.validateRequired),this.listenTo(nfRadio.channel("fields"),"keyup:field",this.validateKeyup),this.listenTo(nfRadio.channel("fields"),"change:modelValue",this.validateModelData),this.listenTo(nfRadio.channel("submit"),"validate:field",this.validateModelData)},validateKeyup:function(e,t,i){if(1!=t.get("required"))return!1;t.get("clean")||this.validateRequired(e,t)},validateRequired:function(e,t){if(1!=t.get("required")||!t.get("visible"))return!1;var i=jQuery(e).val(),n=nfRadio.channel(t.get("type")).request("validate:required",e,t),r=!0,a=this.getMask(t);if(a&&i===a&&(0<t.get("errors").length||!t.get("clean"))&&(r=!1),String(i).trim()||(r=!1),void 0!==n)var o=n;else o=r;this.maybeError(o,t)},getMask:function(e){var t=e.get("mask");if(void 0!==t){switch(t){case"":break;case"currency":t=nfi18n.currencySymbol;break;case"custom":t=e.get("custom_mask");default:t=(t=(t=t.replace(/9/g,"_")).replace(/a/g,"_")).replace(/\*/g,"_")}return t}},validateModelData:function(e){if(1!=e.get("required")||!e.get("visible")||e.get("clean"))return!1;if(e.get("errors").get("required-error"))return!1;currentValue=e.get("value");var t=!0;String(currentValue).trim()||(t=!1);var i=nfRadio.channel(e.get("type")).request("validate:modelData",e);if(void 0!==i)var n=i;else n=t;this.maybeError(n,e)},maybeError:function(e,t){if(e)nfRadio.channel("fields").request("remove:error",t.get("id"),"required-error");else{var i=nfRadio.channel("form-"+t.get("formID")).request("get:form");void 0!==i&&nfRadio.channel("fields").request("add:error",t.get("id"),"required-error",i.get("settings").validateRequiredField)}}})}),i("controllers/submitError",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(nfRadio.channel("forms"),"submit:response",this.submitErrors),nfRadio.channel("submit").reply("focus:firstInvalidInput",this.focusFirstInvalidInput)},submitErrors:function(e,t,i,n){if(_.size(e.errors.nonce)>0&&void 0!==e.errors.nonce.new_nonce&&void 0!==e.errors.nonce.nonce_ts){nfFrontEnd.ajaxNonce=e.errors.nonce.new_nonce,nfFrontEnd.nonce_ts=e.errors.nonce.nonce_ts;var r=nfRadio.channel("app").request("get:form",n);nfRadio.channel("form-"+n).request("submit",r)}if(_.size(e.errors.fields)>0&&_.each(e.errors.fields,function(e,t){"object"==typeof e?nfRadio.channel("fields").request("add:error",t,e.slug,e.message):nfRadio.channel("fields").request("add:error",t,"required-error",e)}),_.size(e.errors.form)>0&&_.each(e.errors.form,function(e,t){nfRadio.channel("form-"+n).request("remove:error",t),nfRadio.channel("form-"+n).request("add:error",t,e)}),void 0!==e.errors.last&&void 0!==e.errors.last.message){var a="background: rgba(255, 207, 115, .5); color: #FFA700; display: block;";console.log("%c NINJA FORMS SUPPORT: SERVER ERROR",a),console.log(e.errors.last.message),console.log("%c END SERVER ERROR MESSAGE",a)}jQuery("#nf-form-"+n+"-cont .nf-field-container").show()},focusFirstInvalidInput:function(e){const t=nfRadio.channel("fields").request("get:firstFieldByOrder",e);null!==document.getElementById("nf-field-"+t)&&document.getElementById("nf-field-"+t).focus()}})}),i("controllers/actionRedirect",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(nfRadio.channel("forms"),"submit:response",this.actionRedirect)},actionRedirect:function(e){void 0!==e.data.halt&&void 0!==e.data.halt.redirect&&""!=e.data.halt.redirect&&(window.location=e.data.halt.redirect),0==_.size(e.errors)&&void 0!==e.data.actions&&void 0!==e.data.actions.redirect&&""!=e.data.actions.redirect&&(window.location=e.data.actions.redirect)}})}),i("controllers/actionSuccess",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(nfRadio.channel("forms"),"submit:response",this.actionSubmit)},actionSubmit:function(e){if(0==_.size(e.errors)&&void 0!==e.data.actions&&void 0!==e.data.actions.success_message&&""!=e.data.actions.success_message){var t=e.data.form_id,i=jQuery("#nf-form-"+t+"-cont .nf-response-msg");const l=e.data.actions.success_message.replace(/(<([^>]+)>)/gi,"");i.attr("tabindex","0"),i.attr("aria-live","assertive"),i.attr("aria-label",l),i.html(e.data.actions.success_message).show(),i.focus();var n=i.offset().top,r=i.offset().top+i.outerHeight(),a=jQuery(window).scrollTop()+jQuery(window).height(),o=jQuery(window).scrollTop();a>r&&o<n||jQuery("html, body").animate({scrollTop:i.offset().top-50},300)}}})}),i("controllers/fieldSelect",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(nfRadio.channel("fields"),"init:model",function(e){"list"==e.get("parentType")&&this.register(e)},this),nfRadio.channel("listselect").reply("get:calcValue",this.getCalcValue,this),nfRadio.channel("listmultiselect").reply("get:calcValue",this.getCalcValue,this)},register:function(e){if(e.set("renderOptions",this.renderOptions),e.set("renderOtherAttributes",this.renderOtherAttributes),0!=e.get("options").length){var t=e.get("value");if("listmultiselect"==e.get("type"))var i=_.filter(e.get("options"),function(e){return 1==e.selected}),n=i=_.map(i,function(e){return e.value});else if("listradio"!==e.get("type")){if(void 0===(i=_.find(e.get("options"),function(e){return 1==e.selected}))&&(i=_.first(e.get("options"))),void 0!==i&&void 0!==i.value)n=i.value;else if(void 0!==i)n=i.label}void 0!==t&&""!==t&&Array.isArray(t)?e.set("value",t):void 0!==i&&e.set("value",n)}},renderOptions:function(){var e="";return _.each(this.options,function(t){if(_.isArray(this.value)){if("listmultiselect"===this.type&&0<this.value.length&&-1!=_.indexOf(this.value[0].split(","),t.value))var i=!0;else if(-1!=_.indexOf(this.value,t.value))i=!0}else if(_.isArray(this.value)||t.value!=this.value)if(1==t.selected&&this.clean&&void 0===this.value)i=!0;else i=!1;else var i=!0;void 0===t.visible&&(t.visible=!0),t.selected=i,t.fieldID=this.id,t.classes=this.classes,t.currentValue=this.value,t.label=void 0!==nfFrontEnd.filter_esc_status&&"true"===nfFrontEnd.filter_esc_status?_.escape(t.label):t.label,t.maybeFilterHTML=this.maybeFilterHTML;var n=nfRadio.channel("app").request("get:template","#tmpl-nf-field-listselect-option");e+=n(t)},this),e},renderOtherAttributes:function(){var e="";"listmultiselect"==this.type&&(e=(e+=" multiple")+' size="'+(this.multi_size||5)+'"');return e},getCalcValue:function(e){var t=0,i=e.get("options");if(0!=i.length)if("listmultiselect"==e.get("type"))_.each(e.get("value"),function(e){var n=_.find(i,function(t){return t.value==e});t+=Number(n.calc)});else{var n=_.find(i,function(t){return e.get("value")==t.value});void 0===n&&(n=e.get("options")[0]),t=n.calc}return t}})}),i("controllers/coreSubmitResponse",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(nfRadio.channel("forms"),"submit:response",this.actionSubmit)},actionSubmit:function(e){var t=nfRadio.channel("app").request("get:form",e.data.form_id);if(0!=_.size(e.errors))return!1;1==e.data.settings.clear_complete&&(t.get("fields").reset(t.get("loadedFields")),1!=e.data.settings.hide_complete&&nfRadio.channel("captcha").trigger("reset")),1==e.data.settings.hide_complete&&t.trigger("hide")}})}),i("controllers/fieldProduct",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(nfRadio.channel("product"),"init:model",this.register),nfRadio.channel("product").reply("get:calcValue",this.getCalcValue,this)},register:function(e){e.set("renderProductQuantity",this.renderProductQuantity),e.set("renderProduct",this.renderProduct),e.set("renderOptions",this.renderOptions)},renderProduct:function(){switch(this.product_type){case"user":return nfRadio.channel("app").request("get:template","#tmpl-nf-field-textbox")(this);case"hidden":return nfRadio.channel("app").request("get:template","#tmpl-nf-field-hidden")(this);case"dropdown":return nfRadio.channel("app").request("get:template","#tmpl-nf-product-dropdown")(this);default:return nfRadio.channel("app").request("get:template","#tmpl-nf-product-single")(this)}},renderProductQuantity:function(){if(1==this.product_use_quantity)return nfRadio.channel("app").request("get:template","#tmpl-nf-product-quantity")(this)},renderOptions:function(){var e=this,t="";return _.each(this.options,function(i){if(1==i.selected)var n=!0;else n=!1;i.selected=n,i.fieldID=e.id,i.classes=e.classes,i.currentValue=e.value;var r=nfRadio.channel("app").request("get:template","#tmpl-nf-product-"+e.product_type+"-option");t+=r(i)}),t},getCalcValue:function(e){return e.get("product_price")*e.get("value")}})}),i("controllers/fieldTotal",[],function(){return Marionette.Object.extend({totalModel:{},productTotals:{},initialize:function(){this.listenTo(nfRadio.channel("total"),"init:model",this.register),this.listenTo(nfRadio.channel("shipping"),"init:model",this.registerShipping)},register:function(e){this.totalModel=e;var t=e.get("formID");this.listenTo(nfRadio.channel("form-"+t),"loaded",this.onFormLoaded),this.listenTo(nfRadio.channel("product"),"change:modelValue",this.onChangeProduct),this.listenTo(nfRadio.channel("quantity"),"change:modelValue",this.onChangeQuantity)},registerShipping:function(e){this.shippingCost=e.get("shipping_cost")},onFormLoaded:function(e){var t=e.get("fields").models,i={},n={};for(var r in t){var a=t[r],o=a.get("id");if("product"==a.get("type"))i[o]=a;else if("quantity"==a.get("type")){n[l=a.get("product_assignment")]=a}}for(var l in i){var s=i[l],d=Number(s.get("product_price"));n[l]?d*=n[l].get("value"):1==s.get("product_use_quantity")&&(d*=s.get("value")),this.productTotals[l]=d}this.updateTotal()},onChangeProduct:function(e){var t=e.get("id"),i=Number(e.get("product_price")),n=Number(e.get("value"))*i;this.productTotals[t]=n,this.updateTotal()},onChangeQuantity:function(e){var t=e.get("product_assignment"),i=nfRadio.channel("fields").request("get:field",t),n=Number(i.get("product_price")),r=Number(e.get("value"))*n;this.productTotals[t]=r,this.updateTotal()},updateTotal:function(){var e=0;for(var t in this.productTotals)e+=Number(this.productTotals[t]);e&&this.shippingCost&&(e+=Number(this.shippingCost)),this.totalModel.set("value",e.toFixed(2)),this.totalModel.trigger("reRender")}})}),i("controllers/fieldQuantity",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(nfRadio.channel("quantity"),"init:model",this.registerQuantity)},registerQuantity:function(e){var t=e.get("product_assignment"),i=nfRadio.channel("fields").request("get:field",t);i&&i.set("product_use_quantity",0)}})}),i("models/calcModel",[],function(){return Backbone.Model.extend({initialize:function(){this.set("formID",this.collection.options.formModel.get("id")),this.set("fields",{}),nfRadio.channel("calc").trigger("init:model",this),this.on("change:value",this.changeValue,this)},changeField:function(e){nfRadio.channel("calc").trigger("change:field",this,e)},changeCalc:function(e){nfRadio.channel("calc").trigger("change:calc",this,e)},changeValue:function(){nfRadio.channel("calc").trigger("change:value",this)}})}),i("models/calcCollection",["models/calcModel"],function(e){return Backbone.Collection.extend({model:e,comparator:"order",initialize:function(e,t){this.options=t,_.each(e,function(e){void 0!==e.dec&&(""===e.dec.toString().trim()&&(e.dec=2),e.dec=parseInt(e.dec))}),nfRadio.channel("form-"+t.formModel.get("id")).reply("get:calc",this.getCalc,this)},getCalc:function(e){return this.findWhere({name:e})}})}),i("controllers/calculations",["models/calcCollection"],function(e){return Marionette.Object.extend({initialize:function(){this.calcs={},this.displayFields={},this.listenTo(nfRadio.channel("form"),"loaded",this.registerCalcs),this.listenTo(nfRadio.channel("fields"),"reset:collection",this.resetCalcs),this.listenTo(nfRadio.channel("calc"),"change:field",this.changeField),this.listenTo(nfRadio.channel("calc"),"change:calc",this.changeCalc);var e=this;_.each(nfFrontEnd.use_merge_tags.calculations,function(t){e.listenTo(nfRadio.channel("fields-"+t),"init:model",e.initDisplayField)}),this.listenTo(nfRadio.channel("calc"),"change:value",this.updateDisplayFields),this.init={}},resetCalcs:function(e){void 0!==e.options.formModel&&this.registerCalcs(e.options.formModel)},registerCalcs:function(t){var i=new e(t.get("settings").calculations,{formModel:t});this.calcs[t.get("id")]=i;var n=this;_.each(i.models,function(e){n.init[e.get("name")]=!0,n.setupCalc(e)})},setupCalc:function(e){var t=this,i=e.get("eq"),n=i,r=(e.get("name"),i.match(new RegExp(/{field:(.*?)}/g)));r&&(r=r.map(function(i){var r=i.replace(":calc}","").replace("}","").replace("{field:","");if(fieldModel=nfRadio.channel("form-"+e.get("formID")).request("get:fieldByKey",r),"undefined"!=typeof fieldModel){fieldModel.set("clean",!1),fieldModel.on("change:value",e.changeField,e);var a=t.getCalcValue(fieldModel);t.updateCalcFields(e,r,a),n=t.replaceKey("field",r,a,n)}}));var a=i.match(new RegExp(/{calc:(.*?)}/g));a&&(a=a.map(function(i){var r=i.replace("}","").replace("{calc:",""),a=e.collection.findWhere({name:r});if(void 0!==a){a.on("change:value",e.changeCalc,e);var o=a.get("value");n=t.replaceKey("calc",r,o,n)}})),n=(n=n.replace(/{([a-zA-Z0-9]|:|_|-)*}/g,0)).replace(/\r?\n|\r/g,"");try{this.debug("Calculation Decoder "+n+" -> "+this.localeDecodeEquation(n)+" (Setup)");const t=new Mexp;e.set("value",Number(t.eval(this.localeDecodeEquation(n))).toFixed(e.get("dec")))}catch(e){console.log(e)}"NaN"===e.get("value")&&e.set("value","0")},updateCalcFields:function(e,t,i){var n=e.get("fields");n[t]=i,e.set("fields",n)},getCalcValue:function(e){var t=nfRadio.channel(e.get("type")).request("get:calcValue",e),i=e.get("value");void 0!==t&&(t||0===t)&&(i=t);var n=new r(nfi18n.siteLocale,nfi18n.thousands_sep,nfi18n.decimal_point),a=n.numberDecoder(i),o=n.numberEncoder(i);return t=void 0!==a&&jQuery.isNumeric(a)?o:0,e.get("visible")||(t=0),t},replaceKey:function(e,t,i,n){n=n||calcModel.get("eq"),tag="{"+e+":"+t+"}";var r=new RegExp(tag,"g");calcTag="{"+e+":"+t+":calc}";var a=new RegExp(calcTag,"g");return n=(n=n.replace(r,i)).replace(a,i)},replaceAllKeys:function(e){var t=e.get("eq"),i=this;_.each(e.get("fields"),function(e,n){t=i.replaceKey("field",n,e,t)});var n=t.match(new RegExp(/{calc:(.*?)}/g));return n&&_.each(n,function(i){var n=i.replace("}","").replace("{calc:",""),r=e.collection.findWhere({name:n});if(void 0!==r){var a=new RegExp(i,"g");t=t.replace(a,r.get("value"))}}),t},changeField:function(e,t){var i=t.get("key"),n=this.getCalcValue(t);this.updateCalcFields(e,i,n);var r=this.replaceAllKeys(e);r=(r=r.replace(/{([a-zA-Z0-9]|:|_|-)*}/g,"0")).replace(/\r?\n|\r/g,"");try{this.debug("Calculation Decoder "+r+" -> "+this.localeDecodeEquation(r)+" (Change Field)");const t=new Mexp;e.set("value",Number(t.eval(this.localeDecodeEquation(r))).toFixed(e.get("dec")))}catch(e){this.debug()&&console.log(e)}"NaN"===e.get("value")&&e.set("value","0")},initDisplayField:function(e){if(e.get("default")&&"string"==typeof e.get("default")){var t=e.get("default").match(new RegExp(/{calc:(.*?)}/g));t&&_.each(t,function(t){t=t.replace("{calc:","").replace("}","").replace(":2",""),this.displayFields[t]=this.displayFields[t]||[],this.displayFields[t].push(e)},this)}},updateDisplayFields:function(e){var t=this;void 0!==this.displayFields[e.get("name")]&&_.each(this.displayFields[e.get("name")],function(i){var n="",r=(n="html"===i.get("type")?i.get("value"):i.get("default")).match(new RegExp(/<span data-key="calc:(.*?)<\/span>/g));_.each(r,function(e){var t="{"+e.replace('<span data-key="',"").replace(/">(.*?)<\/span>/,"")+"}";n=n.replace(e,t)});var a=n.match(new RegExp(/{calc:(.*?)}/g));_.each(a,function(e){var r=e.replace("}","").replace("{calc:","").replace(":2",""),a=t.calcs[i.get("formID")].findWhere({name:r}),o=new RegExp(e,"g"),l=a.get("value");void 0!==l&&(l=t.applyLocaleFormatting(l,a)),n="html"===i.get("type")?n.replace(o,'<span data-key="calc:'+r+'">'+l+"</span>"):n.replace(o,l)}),i.set("value",n),t.init[e.get("name")]||i.trigger("reRender"),t.init[e.get("name")]=!1})},getCalc:function(e,t){return this.calcs[t].findWhere({name:e})},changeCalc:function(e,t){var i=this.replaceAllKeys(e);i=(i=i.replace("[","").replace("]","")).replace(/\r?\n|\r/g,"");try{this.debug("Calculation Decoder "+i+" -> "+this.localeDecodeEquation(i)+" (Change Calc)");const t=new Mexp;e.set("value",Number(t.eval(this.localeDecodeEquation(i))).toFixed(e.get("dec")))}catch(e){console.log(e)}"NaN"===e.get("value")&&e.set("value","0")},applyLocaleFormatting:function(e,t){return new r(nfi18n.siteLocale,nfi18n.thousands_sep,nfi18n.decimal_point).numberEncoder(e,t.get("dec"))},localeDecodeEquation:function(e){var t="",i="",n=/[0-9.,]/,a=new r(nfi18n.siteLocale,nfi18n.thousands_sep,nfi18n.decimal_point);return(e=(e=e.replace(/\s/g,"")).replace(/&nbsp;/g,"")).split("").forEach(function(e){n.test(e)?i+=e:(0<i.length&&(t+=a.numberDecoder(i),i=""),t+=e)}),0<i.length&&(t+=a.numberDecoder(i)),t},debug:function(e){window.nfCalculationsDebug&&console.log(e)}})}),i("controllers/dateBackwardsCompat",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(Backbone.Radio.channel("pikaday-bc"),"init",this.dateBackwardsCompat)},dateBackwardsCompat:function(e,t){if(e.pikaday={},e.pikaday._o={},nfRadio.channel("pikaday").trigger("init",e,t),void 0!==e.pikaday._o.disableDayFn&&e.set("disable",[e.pikaday._o.disableDayFn]),void 0!==e.pikaday._o.i18n||void 0!==e.pikaday._o.firstDay){let t=e.config.locale;void 0!==e.pikaday._o.firstDay&&(t.firstDayOfWeek=e.pikaday._o.firstDay),void 0!==e.pikaday._o.i18n&&(void 0!==e.pikaday._o.i18n.weekdays&&(t.weekdays.longhand=e.pikaday._o.i18n.weekdays),void 0!==e.pikaday._o.i18n.weekdaysShort&&(t.weekdays.shorthand=e.pikaday._o.i18n.weekdaysShort),void 0!==e.pikaday._o.i18n.months&&jQuery(".flatpickr-monthDropdown-months > option").each(function(){this.text=e.pikaday._o.i18n.months[this.value]})),e.set("locale",t)}Object.keys(e.pikaday._o).length>0&&(console.log("%cDeprecated Ninja Forms Pikaday custom code detected.","color: Red; font-size: large"),console.log("You are using deprecated Ninja Forms Pikaday custom code. Support for this custom code will be removed in a future version of Ninja Forms. Please contact Ninja Forms support for more details."))}})}),i("controllers/fieldDate",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(nfRadio.channel("date"),"init:model",this.initModel),this.listenTo(nfRadio.channel("date"),"render:view",this.initDatepicker)},initModel:function(e){this.registerFunctions(e)},registerFunctions:function(e){e.set("renderHourOptions",this.renderHourOptions),e.set("renderMinuteOptions",this.renderMinuteOptions),e.set("maybeRenderAMPM",this.maybeRenderAMPM),e.set("customClasses",this.customClasses),e.getValue=this.getValue},renderHourOptions:function(){return this.hours_options},renderMinuteOptions:function(){return this.minutes_options},maybeRenderAMPM:function(){if(void 0!==this.hours_24&&1!=this.hours_24)return`<div style="float:left;" class="time-wrap"><select id="ampm-select" class="ampm extra" aria-label="am-pm-select" ${1==this.required?'aria-required="true" required':""}><option value="am">AM</option><option value="pm">PM</option></select></div>`},initDatepicker:function(e){e.model.set("el",e.el);var t=jQuery(e.el).find(".nf-element")[0];if(e.listenTo(nfRadio.channel("form-"+e.model.get("formID")),"before:submit",this.beforeSubmit,e),void 0!==e.model.get("date_mode")&&"time_only"==e.model.get("date_mode"))return jQuery(t).hide(),!1;var i=this.convertDateFormat(e.model.get("date_format"));e.model.set("date_format",i);var n={onReady:(e,i,n)=>{n.altInput.setAttribute("aria-labelledby",jQuery(t).attr("aria-labelledby")),n.altInput.setAttribute("aria-invalid",!1)},dateFormat:i,altFormat:i,altInput:!0,ariaDateFormat:i,mode:"single",allowInput:!0,disableMobile:"true",minDate:this.getMinDate(e.model),maxDate:this.getMaxDate(e.model)};const r=this.checkCustomLocale();r&&(n.locale=r);let a=nfRadio.channel("flatpickr").request("filter:settings",n,e);void 0!==a&&(n=a);var o=flatpickr(t,n);1!=e.model.get("date_default")||e.model.get("value")||(o.defaultDate=new Date,o.setDate(o.defaultDate),e.model.set("value",o.defaultDate)),1==e.model.get("date_default")&&"string"==typeof e.model.get("id")&&e.model.get("id").includes(".")&&"object"==typeof e.model.get("value")&&this.isSameDay(e.model.get("value"),new Date)&&(o.defaultDate=new Date,o.setDate(o.defaultDate,!0),e.model.set("value",o.defaultDate)),nfRadio.channel("pikaday-bc").trigger("init",o,e.model,e),nfRadio.channel("flatpickr").trigger("init",o,e.model,e)},beforeSubmit:function(e){if(_.isObject(this.model.get("value"))){const e=this.el.querySelector("input[type='hidden']").value;this.model.set("value",e)}if(-1!==this.el.dataset.fieldId.search(".")&&(nfRadio.channel("field-repeater").trigger("set:value"),"time_only"===this.model.get("date_mode")))return;if("date_only"==this.model.get("date_mode"))return!1;let t=jQuery(this.el).find(".hour").val(),i=jQuery(this.el).find(".minute").val(),n=jQuery(this.el).find(".ampm").val(),r=this.model.get("value"),a=!1;a=_.isObject(r)?r.date:r;let o={date:a,hour:t,minute:i,ampm:n};this.model.set("value",o)},getMinDate:function(e){let t=null;if(void 0!==e.get("year_range_start")){const i=e.get("year_range_start");i&&(t=flatpickr.formatDate(new Date(String(i)),e.get("date_format")))}return t},getMaxDate:function(e){let t=null;if(void 0!==e.get("year_range_end")){const i=e.get("year_range_end");i&&(t=flatpickr.formatDate(new Date(String(i)),e.get("date_format")))}return t},convertDateFormat:function(e){!e&&this.model&&(e=this.model.get("date_format")),e||(e="default");const t={"MM/DD/YYYY":"m/d/Y","MM-DD-YYYY":"m-d-Y","MM.DD.YYYY":"m.d.Y","DD/MM/YYYY":"d/m/Y","DD-MM-YYYY":"d-m-Y","DD.MM.YYYY":"d.m.Y","YYYY-MM-DD":"Y-m-d","YYYY/MM/DD":"Y/m/d","YYYY.MM.DD":"Y.m.d","dddd, MMMM D YYYY":"l, F d Y",default:nfi18n.dateFormat?nfi18n.dateFormat:"default"};return Object.keys(t).includes(e)?t[e]:e},customClasses:function(e){return"date_and_time"==this.date_mode&&(e+=" date-and-time"),e},checkCustomLocale:function(){let e={};return nfi18n&&((nfi18n.months||nfi18n.monthsShort)&&(e.months={},nfi18n.months&&(e.months.longhand=nfi18n.months),nfi18n.monthsShort&&(e.months.shorthand=nfi18n.monthsShort)),(nfi18n.weekdays||nfi18n.weekdaysShort)&&(e.weekdays={},nfi18n.weekdays&&(e.weekdays.longhand=nfi18n.weekdays),nfi18n.weekdaysShort&&(e.weekdays.shorthand=nfi18n.weekdaysShort)),nfi18n.startOfWeek&&(e.firstDayOfWeek=nfi18n.startOfWeek)),!_.isEmpty(e)&&e},getValue:function(){if("date_only"==this.get("date_mode"))return this.get("value");let e=this.get("el"),t=jQuery(e).find(".hour").val(),i=jQuery(e).find(".minute").val(),n=jQuery(e).find(".ampm").val(),r=this.get("value"),a=!1;a=_.isObject(r)?r.date:r;let o="";return void 0!==a&&(o+=a),void 0!==t&&void 0!==i&&(o+=" "+t+":"+i),void 0!==n&&(o+=" "+n),o},isSameDay:function(e,t){const i=new Date(e),n=new Date(t);return i.setHours(0,0,0,0),n.setHours(0,0,0,0),i.getTime()===n.getTime()}})}),i("controllers/fieldRecaptcha",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(nfRadio.channel("recaptcha"),"init:model",this.initRecaptcha),this.listenTo(nfRadio.channel("forms"),"submit:response",this.resetRecaptcha)},initRecaptcha:function(e){nfRadio.channel("recaptcha").reply("update:response",this.updateResponse,this,e.id)},updateResponse:function(e,t){var i=nfRadio.channel("fields").request("get:field",t);i.set("value",e),nfRadio.channel("fields").request("remove:error",i.get("id"),"required-error")},resetRecaptcha:function(){var e=0;jQuery(".g-recaptcha").each(function(){try{grecaptcha.reset(e)}catch(e){console.log("Notice: Error trying to reset grecaptcha.")}e++})}})}),i("controllers/fieldRecaptchaV3",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(nfRadio.channel("recaptcha_v3"),"init:model",this.initRecaptcha)},initRecaptcha:function(e){const t=e.get("formID");this.processRecaptcha(t,e),setInterval(this.processRecaptcha,11e4,t,e)},processRecaptcha:function(e,t){try{nfRadio.channel("form-"+e).trigger("disable:submit",t),grecaptcha.ready(function(){grecaptcha.execute(t.get("site_key"),{action:"register"}).then(function(i){t.set("value",i),nfRadio.channel("form-"+e).trigger("enable:submit",t)})})}catch(e){jQuery(document).on("nfFormReady",e=>{let i,n=nf_check_recaptcha_consent();t.collection.models.forEach(e=>{"submit"===e.get("type")&&(i=e.get("id"))}),nfRadio.channel("fields").request("add:error",i,"recaptcha-v3-missing",t.collection.options.formModel.get("settings").recaptchaConsentMissing),this.nf_build_default_consent_action(t,n.services,i,e)})}},nf_build_default_consent_action:function(e,t,i,n){if(!(t.length<=1&&t.includes("missing_cookie")||t.length<=0)){let r=document.createElement("div");r.setAttribute("id","nf_recaptcha_consent_event"),r.innerText+=e.collection.options.formModel.get("settings").recaptchaConsentEvent;let a=new CustomEvent("nf_consent_link",{detail:{services:t,element:r,submitFieldID:i,layoutView:n}});document.dispatchEvent(a);const o=document.getElementsByClassName("nf-error-recaptcha-v3-missing");Array.prototype.slice.call(o).forEach(e=>{e.append(r)})}}})}),i("controllers/fieldTurnstile",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(nfRadio.channel("turnstile"),"init:model",this.initTurnstile),this.listenTo(nfRadio.channel("forms"),"submit:response",this.resetTurnstile),this.setupTurnstileGlobals(),this.bindTurnstileEvents()},initTurnstile:function(e){nfRadio.channel("turnstile").reply("update:response",this.updateResponse,this,e.id)},updateResponse:function(e,t){var i=nfRadio.channel("fields").request("get:field",t);i.set("value",e),nfRadio.channel("fields").request("remove:error",i.get("id"),"required-error")},resetTurnstile:function(){var e=0;jQuery(".cf-turnstile, .nf-cf-turnstile").each(function(){try{turnstile.reset(e)}catch(e){}e++})},setupTurnstileGlobals:function(){window.nfTurnstileCallback=function(e){var t=null;if(jQuery(".cf-turnstile, .nf-cf-turnstile").each(function(){if(this.querySelector("iframe"))return t=this,!1}),t&&e){var i=jQuery(t).data("fieldid"),n=document.getElementById("nf-field-"+i);if(n&&(n.value=e,jQuery(n).trigger("change"),jQuery(n).closest(".field-wrap").removeClass("nf-error"),jQuery(n).closest(".field-wrap").find(".nf-error-msg").remove()),"undefined"!=typeof nfRadio&&nfRadio.channel)try{nfRadio.channel("turnstile").request("update:response",e,i)}catch(e){}}},window.nfRenderTurnstile=function(){"undefined"!=typeof turnstile?0!==jQuery(".cf-turnstile, .nf-cf-turnstile").length?jQuery(".cf-turnstile:empty, .nf-cf-turnstile:empty").each(function(){var e=this,t=jQuery(e).data("sitekey");jQuery(e).data("fieldid");if(t)try{turnstile.render(e,{sitekey:t,theme:jQuery(e).data("theme")||"auto",size:jQuery(e).data("size")||"normal",callback:function(t){var i=jQuery(e).data("fieldid"),n=document.getElementById("nf-field-"+i);if(n&&(n.value=t,jQuery(n).trigger("change"),jQuery(n).closest(".field-wrap").removeClass("nf-error"),jQuery(n).closest(".field-wrap").find(".nf-error-msg").remove()),"undefined"!=typeof nfRadio&&nfRadio.channel)try{nfRadio.channel("turnstile").request("update:response",t,i)}catch(e){}}})}catch(e){}}):setTimeout(function(){window.nfRenderTurnstile()},200):setTimeout(window.nfRenderTurnstile,100)}},bindTurnstileEvents:function(){if("function"==typeof window.nfRenderTurnstile&&window.nfRenderTurnstile(),jQuery(document).ready(function(){setTimeout(window.nfRenderTurnstile,100)}),jQuery(document).on("nfFormReady",function(){setTimeout(window.nfRenderTurnstile,100)}),"undefined"!=typeof nfRadio)try{nfRadio.channel("form").on("render:view",function(){setTimeout(window.nfRenderTurnstile,100)})}catch(e){}var e=0,t=setInterval(function(){++e>=10?clearInterval(t):jQuery(".cf-turnstile, .nf-cf-turnstile").length>0&&(window.nfRenderTurnstile(),clearInterval(t))},500)}})}),i("controllers/fieldHcaptcha",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(nfRadio.channel("hcaptcha"),"init:model",this.initHcaptcha),this.listenTo(nfRadio.channel("forms"),"submit:response",this.resetHcaptcha),this.setupHcaptchaGlobals(),this.bindHcaptchaEvents()},initHcaptcha:function(e){nfRadio.channel("hcaptcha").reply("update:response",this.updateResponse,this,e.id)},updateResponse:function(e,t){var i=nfRadio.channel("fields").request("get:field",t);i.set("value",e),nfRadio.channel("fields").request("remove:error",i.get("id"),"required-error")},resetHcaptcha:function(){var e=0;jQuery(".h-captcha, .nf-h-captcha").each(function(){try{hcaptcha.reset(e)}catch(e){}e++})},setupHcaptchaGlobals:function(){window.nfHcaptchaCallback=function(e){var t=null;if(jQuery(".h-captcha, .nf-h-captcha").each(function(){if(this.querySelector("iframe"))return t=this,!1}),t&&e){var i=jQuery(t).data("fieldid"),n=document.getElementById("nf-field-"+i);if(n&&(n.value=e,jQuery(n).trigger("change"),jQuery(n).closest(".field-wrap").removeClass("nf-error"),jQuery(n).closest(".field-wrap").find(".nf-error-msg").remove()),"undefined"!=typeof nfRadio&&nfRadio.channel)try{nfRadio.channel("hcaptcha").request("update:response",e,i)}catch(e){}}},window.nfRenderHcaptcha=function(){"undefined"!=typeof hcaptcha?0!==jQuery(".h-captcha, .nf-h-captcha").length?jQuery(".h-captcha, .nf-h-captcha").each(function(){if(""===this.innerHTML.trim()){var e=this,t=jQuery(e).data("sitekey");jQuery(e).data("fieldid");if(t)try{hcaptcha.render(e,{sitekey:t,theme:jQuery(e).data("theme")||"light",size:jQuery(e).data("size")||"normal",callback:function(t){var i=jQuery(e).data("fieldid"),n=document.getElementById("nf-field-"+i);if(n&&(n.value=t,jQuery(n).trigger("change"),jQuery(n).closest(".field-wrap").removeClass("nf-error"),jQuery(n).closest(".field-wrap").find(".nf-error-msg").remove()),"undefined"!=typeof nfRadio&&nfRadio.channel)try{nfRadio.channel("hcaptcha").request("update:response",t,i)}catch(e){}}})}catch(e){console.error("hCaptcha render error:",e)}}}):setTimeout(function(){window.nfRenderHcaptcha()},200):setTimeout(window.nfRenderHcaptcha,100)}},bindHcaptchaEvents:function(){if("function"==typeof window.nfRenderHcaptcha&&window.nfRenderHcaptcha(),jQuery(document).ready(function(){setTimeout(window.nfRenderHcaptcha,100)}),jQuery(document).on("nfFormReady",function(){setTimeout(window.nfRenderHcaptcha,100)}),"undefined"!=typeof nfRadio)try{nfRadio.channel("form").on("render:view",function(){setTimeout(window.nfRenderHcaptcha,100)})}catch(e){}var e=0,t=setInterval(function(){++e>=10?clearInterval(t):jQuery(".h-captcha, .nf-h-captcha").length>0&&(window.nfRenderHcaptcha(),clearInterval(t))},500)}})}),i("controllers/fieldHTML",[],function(){return Marionette.Object.extend({htmlFields:[],trackedMergeTags:[],initialize:function(){this.listenTo(Backbone.Radio.channel("fields-html"),"init:model",this.setupFieldMergeTagTracking)},setupFieldMergeTagTracking:function(e){this.htmlFields.push(e);var t=e.get("formID"),i=this;this.listenTo(nfRadio.channel("form-"+t),"init:model",function(t){var n=e.get("default").match(new RegExp(/{field:(.*?)}/g));n&&(_.each(n,function(e){var n=e.replace("{field:","").replace("}",""),r=t.get("fields").findWhere({key:n});void 0!==r&&(this.trackedMergeTags.push(r),this.listenTo(nfRadio.channel("field-"+r.get("id")),"change:modelValue",this.updateFieldMergeTags),"repeater"===r.get("type")&&this.listenTo(nfRadio.channel("fields"),"change:modelValue",function(e){var t=e.get("key");t&&0===t.indexOf(n+"_")&&i.updateFieldMergeTags(r)}))},this),this.updateFieldMergeTags())},this)},updateFieldMergeTags:function(e){var t=this;_.each(this.htmlFields,function(e){var i=e.get("value")||e.get("default")||"";_.each(t.trackedMergeTags,function(e){var n=i.match(new RegExp(/<span data-key="field:(.*?)<\/span>/g));_.each(n,function(t){-1<t.indexOf('data-key="field:'+e.get("key"))&&(i=i.replace(t,"{field:"+e.get("key")+"}"))});var r="{field:"+e.get("key")+"}";let a;a="repeater"===e.get("type")?t.displayRepeaterData(e):"signature"===e.get("type")?t.displaySignatureData(e):"checkbox"===e.get("type")?1==e.getValue()||"on"==e.getValue()?e.get("checked_value")||"Checked":e.get("unchecked_value")||"Unchecked":e.getValue(),i=i.replace(r,'<span data-key="field:'+e.get("key")+'">'+a+"</span>")}),e.set("value",i),e.trigger("reRender")})},displayRepeaterData:function(e){var t=e.getValue();if(!t||"object"!=typeof t)return"";const i=Object.keys(t);let n="",r=[];return _.each(i,function(e){if(-1===r.indexOf(e)){const t=nfRadio.channel("fields").request("get:field",e);if(void 0!==t){if(-1===["submit","html","hidden","password","passwordconfirm","divider","hr","note","unknown","button","confirm","creditcard","creditcardcvc","creditcardexpiration","creditcardfullname","creditcardnumber","creditcardzip","recaptcha","recaptcha_v3"].indexOf(t.get("type"))&&t.getValue().toString().length>0){const i=Number(e.split("_").pop())+1;let a;a="signature"===t.get("type")?this.displaySignatureData(t):t.getValue(),n+="<p>"+t.get("label")+" "+i+":"+a+"</p>",r.push(e)}}}},this),n},displaySignatureData:function(e){var t,i=e.getValue();if(!i||""===i)return"";try{if("object"==typeof i)t=i;else{if("string"!=typeof i||"{"!==i.charAt(0))return i;t=JSON.parse(i)}}catch(e){return console.warn("Failed to parse signature data:",e),i}if(!t||!t.signature_type)return i;if("typed"===t.signature_type&&t.typed_name){var n=e.get("signature_font")||t.signature_font||"dancing-script";return'<div class="nf-signature-typed" style="font-family: '+this.getSignatureFontFamily(n)+'; font-size: 28px; color: #000000; padding: 10px 0;">'+_.escape(t.typed_name)+"</div>"}return"drawn"===t.signature_type&&t.signature_data&&0===t.signature_data.indexOf("data:image")?'<img class="nf-signature-drawn" src="'+_.escape(t.signature_data)+'" alt="Signature" style="max-width: 400px; height: auto; display: block;" />':""},getSignatureFontFamily:function(e){var t={"dancing-script":"'Dancing Script', cursive",satisfy:"'Satisfy', cursive",cursive:"cursive"};return t[e]||t["dancing-script"]}})}),i("controllers/helpText",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(nfRadio.channel("form"),"render:view",this.initHelpText),this.listenTo(nfRadio.channel("field-repeater"),"fieldset:added",this.initHelpText),nfRadio.channel("form").reply("init:help",this.initHelpText)},initHelpText:function(e){e&&!e.el&&"function"==typeof e.get&&"repeater"===e.get("type")&&(e.el="#nf-form-"+e.get("formID")+"-cont"),jQuery(e.el).find(".nf-help").each(function(e){var t=jQuery(this).jBox("Tooltip",{theme:"TooltipBorder",content:jQuery(this).data("text"),trigger:"mouseenter focus",closeOnMouseleave:!0,closeOnClick:!0});jQuery(this).on("keydown mouseleave",function(){t.close()})})}})}),i("controllers/fieldTextbox",[],function(){return Marionette.Object.extend({initialize:function(){nfRadio.channel("textbox").reply("get:calcValue",this.getCalcValue,this)},getCalcValue:function(e){if("currency"==e.get("mask")){var t=nfRadio.channel("app").request("get:form",e.get("formID")),i=void 0!==t?t.get("currencySymbol"):"",n=jQuery("<textarea />").html(i).text();return e.get("value").replace(n,"")}return e.get("value")}})}),i("controllers/fieldTextareaRTE",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(nfRadio.channel("textarea"),"render:view",this.initTextareaRTEs),this.listenTo(nfRadio.channel("textarea"),"click:extra",this.clickExtra),this.meta_image_frame,this.currentContext={},this.quillInstances={}},initTextareaRTEs:function(e){if(1!=e.model.get("textarea_rte"))return!1;var t=this,i=jQuery(e.el).find(".nf-element");i.hide();var n="quill-frontend-"+e.model.get("id")+"-"+Date.now(),r=jQuery('<div class="nf-quill-wrapper" style="clear: both;"></div>'),a=jQuery('<div id="'+n+'"></div>');r.append(a),i.after(r),requestAnimationFrame(function(){if(jQuery.contains(document,a[0])){var o=[[{header:[1,2,3,!1]}],["bold","italic","underline","clean"],[{list:"ordered"},{list:"bullet"}],[{align:["","center","right","justify"]}],["nf-link","nf-unlink"],[{table:"table"}],["nf-undo","nf-redo"]];1==e.model.get("textarea_media")&&0!=userSettings.uid&&o.push(["nf-media"]);var l=new Quill("#"+n,{theme:"snow",modules:{toolbar:{container:o,handlers:{"nf-link":function(){t.showLinkDialog(l,e)},"nf-unlink":function(){t.removeLink(l)},"nf-media":function(){t.openMediaManager(l,e)},"nf-undo":function(){l.history.undo()},"nf-redo":function(){l.history.redo()},table:function(){t.showTablePicker(l,e)}}},history:{delay:1e3,maxStack:50,userOnly:!0},table:!0},placeholder:e.model.get("placeholder")||""}),s=e.model.get("value")||"",d=t.hasLegacyTables(s),c=!0;l.root.innerHTML=t.normalizeTableHtml(s),d&&t.showLegacyTableNotice(e,r,l),t.quillInstances[n]={quill:l,model:e.model,view:e},t.addDashicons(e,r),l.on("text-change",function(t,n,r){if(c)c=!1;else{var a=l.root.innerHTML;e.model.set("value",a),i.val(a),i.trigger("change")}}),jQuery(l.root).on("contextmenu",function(e){t.showTableContextMenu(l,e)}),a.data("quill-instance",n)}})},addDashicons:function(e,t){var i=t.find(".ql-toolbar");i.find(".ql-bold").html('<span class="dashicons dashicons-editor-bold"></span>'),i.find(".ql-italic").html('<span class="dashicons dashicons-editor-italic"></span>'),i.find(".ql-underline").html('<span class="dashicons dashicons-editor-underline"></span>'),i.find('.ql-list[value="ordered"]').html('<span class="dashicons dashicons-editor-ol"></span>'),i.find('.ql-list[value="bullet"]').html('<span class="dashicons dashicons-editor-ul"></span>'),i.find(".ql-clean").html('<span class="dashicons dashicons-editor-removeformatting"></span>'),i.find("button.ql-nf-link").html('<span class="dashicons dashicons-admin-links"></span>'),i.find("button.ql-nf-unlink").html('<span class="dashicons dashicons-editor-unlink"></span>'),i.find("button.ql-nf-media").html('<span class="dashicons dashicons-admin-media"></span>'),i.find(".ql-table").html('<span class="dashicons dashicons-editor-table"></span>'),i.find("button.ql-nf-undo").html('<span class="dashicons dashicons-undo"></span>'),i.find("button.ql-nf-redo").html('<span class="dashicons dashicons-redo"></span>')},showLinkDialog:function(e,t){var i=e.getSelection(!0),n=i?e.getText(i.index,i.length):"",r=nfRadio.channel("app").request("get:template","#tmpl-nf-rte-link-dropdown")({}),a=jQuery(t.el).find(".ql-toolbar"),o=a.find(".nf-link-dropdown");if(o.length)o.remove();else{var l=jQuery('<div class="nf-link-dropdown" role="dialog"></div>').attr("aria-label",nfi18n.insertLink||"Insert Link").html(r);a.append(l),l.find(".link-text").val(n),l.find(".link-url").focus(),l.on("keydown",function(t){27===t.keyCode&&(t.preventDefault(),l.remove(),e.focus())}),l.find(".insert-link").on("click",function(){var t=l.find(".link-text").val(),n=l.find(".link-url").val(),r=l.find(".link-new-window").prop("checked");if(n){var a={link:n};r&&(a.target="_blank"),i&&i.length>0?e.formatText(i.index,i.length,a):t&&(e.insertText(i.index,t,a),e.setSelection(i.index+t.length))}l.remove()}),l.find(".cancel-link").on("click",function(){l.remove()}),this.currentContext={quill:e,range:i}}},removeLink:function(e){var t=e.getSelection();t&&e.formatText(t.index,t.length,{link:!1})},openMediaManager:function(e,t){var i=this,n=e.getSelection(!0);this.currentContext={quill:e,range:n},this.meta_image_frame||(this.meta_image_frame=wp.media.frames.meta_image_frame=wp.media({title:nfi18n.fieldTextareaRTESelectAFile,button:{text:"insert"}}),this.meta_image_frame.on("select",function(){var e=i.meta_image_frame.state().get("selection").first().toJSON();i.insertMedia(e)})),this.meta_image_frame.open()},insertMedia:function(e){var t=this.currentContext.quill,i=this.currentContext.range||t.getSelection(!0)||{index:0};if("image"==e.type)t.insertEmbed(i.index,"image",e.url),t.setSelection(i.index+1);else{var n=e.title||e.filename;t.insertText(i.index,n,{link:e.url}),t.setSelection(i.index+n.length)}},hasLegacyTables:function(e){if(-1===e.toLowerCase().indexOf("<table"))return!1;var t=document.createElement("div");if(t.innerHTML=e,t.querySelectorAll("th").length>0)return!0;for(var i=t.querySelectorAll("td"),n=0;n<i.length;n++)if(!i[n].hasAttribute("data-row"))return!0;return!1},showLegacyTableNotice:function(e,t,i){var n=t.find(".ql-toolbar"),r=jQuery(e.el).find(".nf-element"),a=jQuery('<div class="nf-legacy-table-notice" role="alert"></div>');a.append(jQuery('<span class="nf-legacy-table-text"></span>').text(nfi18n.tableLegacyNotice)),a.append(jQuery('<button type="button" class="nf-convert-table-btn"></button>').text(nfi18n.tableLegacyConvert)),a.append(jQuery('<button type="button" class="nf-dismiss-notice"></button>').attr("aria-label",nfi18n.dismiss||"Dismiss").html("&times;")),n.after(a),a.find(".nf-convert-table-btn").on("click",function(){var t=i.root.innerHTML;e.model.set("value",t),r.val(t),r.trigger("change"),a.slideUp(function(){a.remove()})}),a.find(".nf-dismiss-notice").on("click",function(){a.slideUp(function(){a.remove()})})},normalizeTableHtml:function(e){if(-1===e.toLowerCase().indexOf("<table"))return e;var t=document.createElement("div");t.innerHTML=e;for(var i=t.querySelectorAll("th"),n=0;n<i.length;n++){var r=document.createElement("td");r.innerHTML=i[n].innerHTML;for(var a=0;a<i[n].attributes.length;a++)r.setAttribute(i[n].attributes[a].name,i[n].attributes[a].value);i[n].parentNode.replaceChild(r,i[n])}var o=t.querySelectorAll("thead, tfoot");for(n=0;n<o.length;n++){var l=o[n].parentNode;(u=l.querySelector("tbody"))||(u=document.createElement("tbody"),l.appendChild(u));for(var s=o[n].querySelectorAll("tr"),d="THEAD"===o[n].tagName,c=0;c<s.length;c++)d?u.insertBefore(s[c],u.firstChild):u.appendChild(s[c]);o[n].parentNode.removeChild(o[n])}var f=t.querySelectorAll("table");for(n=0;n<f.length;n++)if(!f[n].querySelector("tbody")){for(var u=document.createElement("tbody"),h=f[n].children,m=[],g=0;g<h.length;g++)"TR"===h[g].tagName&&m.push(h[g]);for(g=0;g<m.length;g++)u.appendChild(m[g]);f[n].appendChild(u)}var p=t.querySelectorAll("caption, colgroup, col");for(n=0;n<p.length;n++)p[n].parentNode.removeChild(p[n]);var v=t.querySelectorAll("tr");for(n=0;n<v.length;n++){var y=v[n].querySelectorAll("td"),b=null,R=!1;for(c=0;c<y.length;c++)y[c].hasAttribute("data-row")?b=y[c].getAttribute("data-row"):R=!0;if(R){var _=b||"row-"+Math.random().toString(36).slice(2,6);for(c=0;c<y.length;c++)y[c].hasAttribute("data-row")||y[c].setAttribute("data-row",_)}}return t.innerHTML},showTablePicker:function(e,t){var i=e.getSelection(!0),n=jQuery(t.el).find(".ql-toolbar"),r=jQuery(".nf-table-picker"),a=n.find(".nf-table-picker").length>0;if(r.remove(),jQuery(document).off("mousedown.nfTablePicker keydown.nfTablePicker"),!a){for(var o=jQuery('<div class="nf-table-picker" role="dialog"></div>').attr("aria-label",nfi18n.tableInsertTable||"Insert Table"),l=jQuery('<div class="nf-table-grid" role="grid"></div>'),s=jQuery('<div class="nf-table-label" aria-live="polite">0 × 0</div>'),d="",c=1;c<=10;c++)for(var f=1;f<=10;f++){d+='<div class="nf-table-cell" role="gridcell" tabindex="'+(1===c&&1===f?"0":"-1")+'" data-row="'+c+'" data-col="'+f+'" aria-label="'+c+" × "+f+'"></div>'}l.html(d),o.append(l),o.append(s),n.append(o),l.find('.nf-table-cell[data-row="1"][data-col="1"]').focus();var u=l[0].querySelectorAll(".nf-table-cell");l.on("mouseover",".nf-table-cell",function(){var e=parseInt(this.dataset.row,10),t=parseInt(this.dataset.col,10);s.text(e+" × "+t);for(var i=0;i<u.length;i++){var n=parseInt(u[i].dataset.row,10),r=parseInt(u[i].dataset.col,10);u[i].classList.toggle("highlight",n<=e&&r<=t)}}),l.on("click",".nf-table-cell",function(){var t=parseInt(this.dataset.row,10),n=parseInt(this.dataset.col,10);e.focus(),i&&e.setSelection(i.index,0);var r=e.getModule("table");r&&r.insertTable(t,n),o.remove(),jQuery(document).off("mousedown.nfTablePicker keydown.nfTablePicker")}),l.on("keydown",".nf-table-cell",function(e){var t=jQuery(this),i=parseInt(t.data("row"),10),n=parseInt(t.data("col"),10),r=i,a=n;switch(e.keyCode){case 37:a=Math.max(1,n-1);break;case 38:r=Math.max(1,i-1);break;case 39:a=Math.min(10,n+1);break;case 40:r=Math.min(10,i+1);break;case 13:return void t.trigger("click");default:return}e.preventDefault();var o=l.find('.nf-table-cell[data-row="'+r+'"][data-col="'+a+'"]');o.length&&(t.attr("tabindex","-1"),o.attr("tabindex","0").focus(),o.trigger("mouseover"))}),setTimeout(function(){jQuery(document).on("mousedown.nfTablePicker",function(e){jQuery(e.target).closest(".nf-table-picker, .ql-table").length||(o.remove(),jQuery(document).off("mousedown.nfTablePicker keydown.nfTablePicker"))})},0),jQuery(document).on("keydown.nfTablePicker",function(t){27===t.keyCode&&(o.remove(),jQuery(document).off("mousedown.nfTablePicker keydown.nfTablePicker"),e.focus())})}},showTableContextMenu:function(e,t){if(jQuery(".nf-table-context-menu").remove(),jQuery(document).off("mousedown.nfTableContext"),jQuery(t.target).closest("td, th").length){var i=e.getModule("table");if(i){t.preventDefault();var n=[{label:nfi18n.tableInsertRowAbove,action:"insertRowAbove"},{label:nfi18n.tableInsertRowBelow,action:"insertRowBelow"},{separator:!0},{label:nfi18n.tableInsertColumnLeft,action:"insertColumnLeft"},{label:nfi18n.tableInsertColumnRight,action:"insertColumnRight"},{separator:!0},{label:nfi18n.tableDeleteRow,action:"deleteRow"},{label:nfi18n.tableDeleteColumn,action:"deleteColumn"},{label:nfi18n.tableDeleteTable,action:"deleteTable"}],r=jQuery('<div class="nf-table-context-menu" role="menu"></div>');n.forEach(function(t,n){if(t.separator)r.append(jQuery('<div class="nf-table-context-separator" role="separator"></div>'));else{var a=jQuery('<div class="nf-table-context-item" role="menuitem" tabindex="-1"></div>').text(t.label);a.on("click",function(){"function"==typeof i[t.action]&&i[t.action](),r.remove(),jQuery(document).off("mousedown.nfTableContext keydown.nfTableContext"),e.focus()}),r.append(a)}}),r.css({left:t.clientX+"px",top:t.clientY+"px"}),jQuery("body").append(r),r.find(".nf-table-context-item").first().focus(),jQuery(document).on("keydown.nfTableContext",function(t){var i=r.find(".nf-table-context-item"),n=r.find(".nf-table-context-item:focus"),a=i.index(n);switch(t.keyCode){case 40:t.preventDefault(),a=(a+1)%i.length,i.eq(a).focus();break;case 38:t.preventDefault(),a=(a-1+i.length)%i.length,i.eq(a).focus();break;case 13:t.preventDefault(),n.length&&n.trigger("click");break;case 27:t.preventDefault(),r.remove(),jQuery(document).off("mousedown.nfTableContext keydown.nfTableContext"),e.focus()}}),setTimeout(function(){jQuery(document).on("mousedown.nfTableContext",function(e){jQuery(e.target).closest(".nf-table-context-menu").length||(r.remove(),jQuery(document).off("mousedown.nfTableContext keydown.nfTableContext"))})},0)}}},clickExtra:function(e){var t=jQuery(e.target).parent().find(".link-text"),i=jQuery(e.target).parent().find(".link-url"),n=jQuery(e.target).parent().find(".link-new-window");if(jQuery(e.target).hasClass("insert-link")){var r=t.val(),a=i.val(),o=!!n.prop("checked");if(0!=r.length&&0!=a.length&&this.currentContext.quill){var l=this.currentContext.quill,s=this.currentContext.range||l.getSelection(!0)||{index:0},d={link:a};o&&(d.target="_blank"),l.insertText(s.index,r,d),l.setSelection(s.index+r.length)}}t.val(""),i.val(""),n.prop("checked",!1),jQuery(e.target).closest(".nf-link-dropdown").remove()}})}),i("controllers/fieldStarRating",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(nfRadio.channel("starrating"),"init:model",this.register),this.listenTo(nfRadio.channel("starrating"),"render:view",this.initRating)},register:function(e){e.set("renderRatings",this.renderRatings)},initRating:function(e){jQuery(e.el).find(".starrating").rating()},renderRatings:function(){for(var e=document.createElement("span"),t=0;t<=this.number_of_stars-1;t++){var i=nfRadio.channel("app").request("get:template","#tmpl-nf-field-starrating-star"),n=t+1,r="";this.value==n&&(r="checked");var a=i({id:this.id,classes:this.classes,num:n,checked:r,required:this.required});e.appendChild(document.createRange().createContextualFragment(a))}return e.innerHTML}})}),i("controllers/fieldTerms",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(nfRadio.channel("terms"),"init:model",this.register)},register:function(e){this.listenTo(nfRadio.channel("field-"+e.get("id")),"click:extra",this.clickExtra),this.listenTo(nfRadio.channel("field-"+e.get("id")),"keyup:field",this.keyUpExtra)},clickExtra:function(e,t){var i=jQuery(e.currentTarget).parent().find(".extra-value").val();this.addOption(t,i)},keyUpExtra:function(e,t,i){13==i&&this.addOption(t,e.val())},addOption:function(e,t){if(t){var i={label:t,value:t,selected:0};e.get("options").push(i),e.get("value").push(t),e.trigger("reRender")}}})}),i("controllers/formContentFilters",[],function(){return Marionette.Object.extend({initialize:function(){this.viewFilters=[],this.loadFilters=[],nfRadio.channel("formContent").reply("add:viewFilter",this.addViewFilter,this),nfRadio.channel("formContent").reply("add:loadFilter",this.addLoadFilter,this),nfRadio.channel("formContent").reply("get:viewFilters",this.getViewFilters,this),nfRadio.channel("formContent").reply("get:loadFilters",this.getLoadFilters,this),nfRadio.channel("fieldContents").reply("add:viewFilter",this.addViewFilter,this),nfRadio.channel("fieldContents").reply("add:loadFilter",this.addLoadFilter,this),nfRadio.channel("fieldContents").reply("get:viewFilters",this.getViewFilters,this),nfRadio.channel("fieldContents").reply("get:loadFilters",this.getLoadFilters,this)},addViewFilter:function(e,t){this.viewFilters[t]=e},getViewFilters:function(){return this.viewFilters},addLoadFilter:function(e,t){this.loadFilters[t]=e},getLoadFilters:function(){return this.loadFilters}})}),i("views/fieldItem",[],function(){return Marionette.ItemView.extend({tagName:"div",initialize:function(){this.listenTo(this.model,"reRender",this.render,this),this.listenTo(this.model,"change:addWrapperClass",this.addWrapperClass,this),this.listenTo(this.model,"change:removeWrapperClass",this.removeWrapperClass,this),this.listenTo(this.model,"change:invalid",this.toggleAriaInvalid,this),this.template="#tmpl-nf-field-"+this.model.get("wrap_template")},test:function(e){console.log("firing from trigger 1")},addWrapperClass:function(){var e=this.model.get("addWrapperClass");""!=e&&(jQuery(this.el).addClass(e),this.model.set("addWrapperClass",""))},removeWrapperClass:function(){var e=this.model.get("removeWrapperClass");""!=e&&(jQuery(this.el).removeClass(e),this.model.set("removeWrapperClass",""))},toggleAriaInvalid:function(){var e=this.model.get("invalid");jQuery("[aria-invalid]",this.el).attr("aria-invalid",JSON.stringify(e))},onRender:function(){if(this.$el=this.$el.children(),this.$el.unwrap(),this.setElement(this.$el),void 0!==this.model.get("mask")&&""!=String(this.model.get("mask")).trim()){if("custom"==this.model.get("mask"))var e=this.model.get("custom_mask");else e=this.model.get("mask");if(Number.isInteger=Number.isInteger||function(e){return"number"==typeof e&&isFinite(e)&&Math.floor(e)===e},Number.isInteger(e)&&(e=e.toString()),"currency"==e){var t=nfRadio.channel("app").request("get:form",this.model.get("formID")),i=t.get("thousands_sep");"&nbsp;"!=i&&160!=i.charCodeAt(0)||(i=" ");var n=jQuery("<div/>").html(t.get("currencySymbol")).text(),r={digitGroupSeparator:i=jQuery("<div/>").html(i).text(),decimalCharacter:jQuery("<div/>").html(t.get("decimal_point")).text(),currencySymbol:n,modifyValueOnWheel:!1},a=jQuery(jQuery(this.el).find(".nf-element")[0]);new AutoNumeric(jQuery(this.el).find(".nf-element")[0],r);var o=this;a.on("change",function(e){o.model.set("value",e.target.value)})}else jQuery(this.el).find(".nf-element").mask(e)}nfRadio.channel(this.model.get("type")).trigger("render:view",this),nfRadio.channel("fields").trigger("render:view",this)},templateHelpers:function(){var e=this;return{renderElement:function(){this.clean&&!this.value&&0===this.default&&(this.value="0");var e=_.find(this.element_templates,function(e){if(0<jQuery("#tmpl-nf-field-"+e).length)return!0});return nfRadio.channel("app").request("get:template","#tmpl-nf-field-"+e)(this)},renderLabel:function(){return nfRadio.channel("app").request("get:template","#tmpl-nf-field-label")(this)},renderLabelClasses:function(){var e="";return void 0!==this.customLabelClasses&&(e=this.customLabelClasses(e)),e},renderPlaceholder:function(){var e=this.placeholder;return void 0!==this.customPlaceholder&&(e=this.customPlaceholder(e)),""!=String(e).trim()?'placeholder="'+_.escape(e)+'"':""},renderWrapClass:function(){var e="field-wrap "+this.type+"-wrap";return this.type!==this.parentType&&(e=e+" "+this.parentType+"-wrap"),void 0!==this.old_classname&&0<String(this.old_classname).trim().length&&(e+=" "+this.old_classname+"-wrap"),"undefined"!=typeof customWrapClass&&(e=customWrapClass(e)),e},renderClasses:function(){var e=this.classes;return this.error?e+=" nf-error":e=e.replace("nf-error",""),void 0!==this.element_class&&0<String(this.element_class).trim().length&&(e+=" "+this.element_class),void 0!==this.customClasses&&(e=this.customClasses(e)),e},maybeFilterHTML:function(){return void 0!==nfFrontEnd.filter_esc_status?nfFrontEnd.filter_esc_status:"false"},maybeDisabled:function(){return 1==this.disable_input?"disabled":""},maybeRequired:function(){return 1==this.required?'aria-required="true" required':""},maybeDisableAutocomplete:function(){if(1==this.disable_browser_autocomplete)return'autocomplete="off"';if(this.custom_autocomplete&&""!==this.custom_autocomplete.trim())return'autocomplete="'+this.custom_autocomplete.trim()+'"';return'autocomplete="'+this.translateAutoCompletionType(this.type)+'"'},translateAutoCompletionType:function(e){switch(e){case"address":return"street-address";case"address2":return"address-line2";case"city":return"address-level2";case"email":return"email";case"firstname":return"given-name";case"lastname":return"family-name";case"zip":return"postal-code";case"phone":return"tel";default:return"on"}},maybeInputLimit:function(){return"characters"==this.input_limit_type&&""!=String(this.input_limit).trim()?'maxlength="'+this.input_limit+'"':""},getHelpText:function(){return void 0!==this.help_text?this.help_text:""},maybeRenderHelp:function(){var e=document.createElement("p");e.innerHTML=this.help_text;var t=!1;if((0!=String(jQuery(e).text()).trim().length||0<jQuery(e).find("img").length)&&(t=!0),void 0!==this.help_text&&t){var i=document.createElement("span");i.classList.add("fa","fa-info-circle","nf-help"),i.setAttribute("data-text",this.getHelpText()),i.setAttribute("tabindex","0"),i.setAttribute("aria-describedby","hidden-help-text-"+this.id);var n=document.createElement("span");return n.textContent=this.help_text.replace(/<\/?[^>]+(>|$)/g,"").trim(),n.id="hidden-help-text-"+this.id,n.classList.add("nf-sr-only"),n.setAttribute("role","tooltip"),i.appendChild(n),i.outerHTML}return""},renderDescText:function(){if(void 0===this.desc_text)return"";var e,t,i,n,r=document.createElement("p");return r.innerHTML=this.desc_text,0==String(r.innerText).trim().length?"":(t=document.createTextNode(this.desc_text),(e=document.createElement("p")).appendChild(t),0!=String(jQuery(e).text()).trim().length?(i=document.createRange().createContextualFragment(this.desc_text),(n=document.createElement("div")).classList.add("nf-field-description"),n.setAttribute("aria-hidden","true"),n.setAttribute("id","nf-description-"+this.id),n.appendChild(i),n.outerHTML):"")},renderNumberDefault:function(){return this.clean?0===this.default||this.default?this.default:this.placeholder?"":this.value:this.value},renderCurrencyFormatting:function(t){var i=t.toString().replace(".","||").replace(/\B(?=(\d{3})+(?!\d))/g,nfi18n.thousands_sep).replace("||",nfi18n.decimal_point);return nfRadio.channel("app").request("get:form",e.model.get("formID")).get("settings").currency_symbol+i},maybeRenderTime:function(){return"time_only"==this.date_mode||"date_and_time"==this.date_mode}}},events:{"change .nf-element":"fieldChange","keyup .nf-element":"fieldKeyup","click .nf-element":"fieldClick","click .extra":"extraClick","change .extra":"extraChange","blur .nf-element":"fieldBlur"},fieldChange:function(e){var t=jQuery(e.currentTarget);if(!t.attr("data-react-managed"))nfRadio.channel("nfAdmin").request("change:field",t,this.model)},fieldKeyup:function(e){var t=jQuery(e.currentTarget),i=e.keyCode;nfRadio.channel("field-"+this.model.get("id")).trigger("keyup:field",t,this.model,i),nfRadio.channel(this.model.get("type")).trigger("keyup:field",t,this.model,i),nfRadio.channel("fields").trigger("keyup:field",t,this.model,i)},fieldClick:function(e){var t=jQuery(e.currentTarget);nfRadio.channel("field-"+this.model.get("id")).trigger("click:field",t,this.model),nfRadio.channel(this.model.get("type")).trigger("click:field",t,this.model),nfRadio.channel("fields").trigger("click:field",t,this.model)},extraClick:function(e){nfRadio.channel("field-"+this.model.get("id")).trigger("click:extra",e,this.model),nfRadio.channel(this.model.get("type")).trigger("click:extra",e,this.model),nfRadio.channel("fields").trigger("click:extra",e,this.model)},extraChange:function(e){nfRadio.channel("field-"+this.model.get("id")).trigger("change:extra",e,this.model),nfRadio.channel(this.model.get("type")).trigger("change:extra",e,this.model),nfRadio.channel("fields").trigger("change:extra",e,this.model)},fieldBlur:function(e){var t=jQuery(e.currentTarget);nfRadio.channel("field-"+this.model.get("id")).trigger("blur:field",t,this.model),nfRadio.channel(this.model.get("type")).trigger("blur:field",t,this.model),nfRadio.channel("fields").trigger("blur:field",t,this.model)},onAttach:function(){nfRadio.channel(this.model.get("type")).trigger("attach:view",this)}})}),i("views/beforeField",[],function(){return Marionette.ItemView.extend({tagName:"nf-section",template:"#tmpl-nf-field-before"})}),i("views/fieldErrorItem",[],function(){return Marionette.ItemView.extend({tagName:"nf-section",template:"#tmpl-nf-field-error",onRender:function(){this.$el=this.$el.children(),this.$el.unwrap(),this.setElement(this.$el)}})}),i("views/fieldErrorCollection",["views/fieldErrorItem"],function(e){return Marionette.CollectionView.extend({tagName:"nf-errors",childView:e,initialize:function(e){this.fieldModel=e.fieldModel},onRender:function(){0==this.fieldModel.get("errors").models.length?(this.fieldModel.removeWrapperClass("nf-error"),this.fieldModel.removeWrapperClass("nf-fail"),this.fieldModel.addWrapperClass("nf-pass"),this.fieldModel.setInvalid(!1)):(this.fieldModel.removeWrapperClass("nf-pass"),this.fieldModel.addWrapperClass("nf-fail"),this.fieldModel.addWrapperClass("nf-error"),this.fieldModel.setInvalid(!0))}})}),i("views/inputLimit",[],function(){return Marionette.ItemView.extend({tagName:"nf-section",template:"#tmpl-nf-field-input-limit",initialize:function(){this.listenTo(nfRadio.channel("field-"+this.model.get("id")),"keyup:field",this.updateCount),this.count=this.model.get("input_limit"),this.render()},updateCount:function(e,t){var i=jQuery(e).val(),n=String(i).trim().replace(/\s+/gi," ").split(" "),r=n.length,a=i.length;if("characters"==this.model.get("input_limit_type")||"char"==this.model.get("input_limit_type"))jQuery(e).attr("maxlength",this.model.get("input_limit")),this.count=this.model.get("input_limit")-a;else{this.count=this.model.get("input_limit")-r;var o=this.model.get("input_limit");r>o&&jQuery(e).val(n.slice(0,o).join(" "))}this.render()},templateHelpers:function(){var e=this;return{currentCount:function(){return e.count}}}})}),i("views/afterField",["views/fieldErrorCollection","views/inputLimit"],function(e,t){return Marionette.ItemView.extend({tagName:"nf-section",template:"#tmpl-nf-field-after",initialize:function(){this.model.on("change:errors",this.changeError,this)},onRender:function(){var i=jQuery(this.el).children(".nf-error-wrap");if(this.errorCollectionView=new e({el:i,collection:this.model.get("errors"),fieldModel:this.model}),0<this.model.get("errors").length&&this.errorCollectionView.render(),void 0!==this.model.get("input_limit")&&""!=String(this.model.get("input_limit")).trim()){var n=jQuery(this.el).children(".nf-input-limit");this.inputLimitView=new t({el:n,model:this.model}),n.attr("aria-live","polite"),n.attr("role","status"),n.attr("aria-relevant","additions"),n.attr("aria-atomic",!0)}},changeError:function(){this.errorCollectionView.render()}})}),i("views/fieldRepeaterFieldLayout",["views/fieldItem","views/beforeField","views/afterField"],function(e,t,i){return Marionette.LayoutView.extend({tagName:"nf-field",regions:{beforeField:".nf-before-field",field:".nf-field",afterField:".nf-after-field"},initialize:function(){this.listenTo(this.model,"change:visible",this.render,this)},getTemplate:function(){return this.model.get("visible")?"#tmpl-nf-field-layout":"#tmpl-nf-empty"},onRender:function(){this.model.get("visible")&&(this.beforeField.show(new t({model:this.model})),this.field.show(new e({model:this.model})),this.afterField.show(new i({model:this.model})))},templateHelpers:function(){return{renderContainerClass:function(){var e=" label-"+this.label_pos+" ";return void 0!==this.desc_pos&&(e+="desc-"+this.desc_pos+" "),void 0!==this.container_class&&0<String(this.container_class).trim().length&&(e+=this.container_class+" "),this.type!==this.parentType&&(e+=" "+this.parentType+"-container"),e}}}})}),i("views/fieldRepeaterFieldCollection",["views/fieldRepeaterFieldLayout"],function(e){return Marionette.CollectionView.extend({tagName:"nf-fields-wrap",childView:e})}),i("views/fieldRepeaterSetLayout",["views/fieldRepeaterFieldCollection"],function(e){return Marionette.LayoutView.extend({tagName:"fieldset",template:"#tmpl-nf-field-repeater-set",regions:{fields:".nf-repeater-fieldset"},onRender:function(){this.fields.show(new e({collection:this.model.get("fields")}))},templateHelpers:function(){return{maybeFilterHTML:function(){return void 0!==nfFrontEnd.filter_esc_status?nfFrontEnd.filter_esc_status:"false"}}},events:{"click .nf-remove-fieldset":"removeSet"},removeSet:function(){nfRadio.channel("field-repeater").trigger("remove:fieldset",this.model)}})}),i("views/fieldRepeaterSetCollection",["views/fieldRepeaterSetLayout"],function(e){return Marionette.CollectionView.extend({tagName:"div",childView:e})}),i("views/fieldRepeaterLayout",["views/fieldRepeaterSetCollection"],function(e){return Marionette.LayoutView.extend({tagName:"div",template:"#tmpl-nf-field-repeater",regions:{sets:".nf-repeater-fieldsets"},initialize:function(){this.collection=this.model.get("sets"),this.listenTo(nfRadio.channel("field-repeater"),"rerender:fieldsets",this.render)},onRender:function(){this.sets.show(new e({collection:this.collection}))},templateHelpers:function(){return{maybeFilterHTML:function(){return void 0!==nfFrontEnd.filter_esc_status?nfFrontEnd.filter_esc_status:"false"},renderDescText:function(){if(void 0===this.desc_text)return"";var e,t,i,n,r=document.createElement("p");return r.innerHTML=this.desc_text,0==String(r.innerText).trim().length?"":(t=document.createTextNode(this.desc_text),(e=document.createElement("p")).appendChild(t),0!=String(jQuery(e).text()).trim().length?(i=document.createRange().createContextualFragment(this.desc_text),(n=document.createElement("div")).classList.add("nf-field-description"),n.appendChild(i),n.outerHTML):"")}}},events:{"click .nf-add-fieldset":"addSet"},addSet:function(){nfRadio.channel("field-repeater").trigger("add:fieldset",this.model.id)},beforeSubmit:function(){this.collection.beforeSubmit(this.model.get("sets"))}})}),i("views/fieldLayout",["views/fieldItem","views/beforeField","views/afterField","views/fieldRepeaterLayout"],function(e,t,i,n){return Marionette.LayoutView.extend({tagName:"nf-field",regions:{beforeField:".nf-before-field",field:".nf-field",afterField:".nf-after-field"},initialize:function(){this.listenTo(this.model,"change:visible",this.render,this)},getTemplate:function(){return this.model.get("visible")?"#tmpl-nf-field-layout":"#tmpl-nf-empty"},onRender:function(){this.model.get("visible")&&("repeater"==this.model.get("type")?this.field.show(new n({model:this.model})):(this.beforeField.show(new t({model:this.model})),this.field.show(new e({model:this.model})),this.afterField.show(new i({model:this.model}))))},templateHelpers:function(){return{renderContainerClass:function(){var e=" label-"+this.label_pos+" ";return void 0!==this.desc_pos&&(e+="desc-"+this.desc_pos+" "),void 0!==this.container_class&&0<String(this.container_class).trim().length&&(e+=this.container_class+" "),this.type!==this.parentType&&(e+=" "+this.parentType+"-container"),e}}}})}),i("controllers/loadViews",["views/fieldItem","views/fieldLayout"],function(e,t){return Marionette.Object.extend({initialize:function(){nfRadio.channel("views").reply("get:fieldItem",this.getFieldItem),nfRadio.channel("views").reply("get:fieldLayout",this.getFieldLayout)},getFieldItem:function(t){return e},getFieldLayout:function(){return t}})}),i("controllers/formErrors",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(nfRadio.channel("fields"),"add:error",this.addError),this.listenTo(nfRadio.channel("fields"),"remove:error",this.removeError),nfRadio.channel("form").reply("get:errors",this.getFormErrors)},addError:function(e,t,i){var n=nfRadio.channel("app").request("get:form",e.get("formID"));void 0===n.get("fieldErrors")[e.get("id")]&&(n.get("fieldErrors")[e.get("id")]={}),n.get("fieldErrors")[e.get("id")][t]=i,nfRadio.channel("form-"+e.get("formID")).request("add:error","field-errors",n.get("settings").formErrorsCorrectErrors)},removeError:function(e,t){var i=nfRadio.channel("app").request("get:form",e.get("formID"));i.get("fieldErrors")[e.get("id")]=_.omit(i.get("fieldErrors")[e.get("id")],t),0==_.size(i.get("fieldErrors")[e.get("id")])&&delete i.get("fieldErrors")[e.get("id")],0==_.size(i.get("fieldErrors"))&&nfRadio.channel("form-"+e.get("formID")).request("remove:error","field-errors")},getFormErrors:function(e){var t=nfRadio.channel("app").request("get:form",e),i=!1;return t&&0!==t.get("errors").length&&_.each(t.get("errors").models,function(e){(i=i||{})[e.get("id")]=e.get("msg")}),i}})}),i("controllers/submit",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(nfRadio.channel("forms"),"init:model",this.registerSubmitHandler)},registerSubmitHandler:function(e){nfRadio.channel("form-"+e.get("id")).reply("submit",this.submit)},submit:function(e){nfRadio.channel("forms").trigger("before:submit",e),nfRadio.channel("form-"+e.get("id")).trigger("before:submit",e);var t=nfRadio.channel("forms").request("maybe:validate",e);if(!1!==t&&(_.each(e.get("fields").models,function(e){e.set("clean",!1)}),e.get("formContentData").validateFields()),0==nfRadio.channel("form-"+e.get("id")).request("maybe:submit",e))return nfRadio.channel("forms").trigger("submit:cancel",e),void nfRadio.channel("form-"+e.get("id")).trigger("submit:cancel",e);if(!1!==t){var i=_.filter(e.get("errors").models,function(e){return"invalid_email"!=e.get("id")&&"email_not_sent"!=e.get("id")});if(0!=_.size(i))return nfRadio.channel("forms").trigger("submit:failed",e),nfRadio.channel("form-"+e.get("id")).trigger("submit:failed",e),!1}nfRadio.channel("forms").trigger("after:submitValidation",e),nfRadio.channel("form-"+e.get("id")).trigger("after:submitValidation",e);var n=e.get("id"),r={};_.each(e.get("fields").models,function(e){var t={value:e.get("value"),id:e.get("id")};r[e.get("id")]=nfRadio.channel(e.get("type")).request("get:submitData",t,e)||t});var a=e.get("extra"),o=e.get("settings");delete o.formContentData;var l=JSON.stringify({id:n,fields:r,settings:o,extra:a}),s={action:"nf_ajax_submit",security:nfFrontEnd.ajaxNonce,nonce_ts:nfFrontEnd.nonce_ts,formData:l};jQuery.ajax({url:nfFrontEnd.adminAjax,type:"POST",data:s,cache:!1,success:function(t,i,n){try{var r=t;nfRadio.channel("forms").trigger("submit:response",r,i,n,e.get("id")),nfRadio.channel("form-"+e.get("id")).trigger("submit:response",r,i,n),jQuery(document).trigger("nfFormSubmitResponse",{response:r,id:e.get("id")})}catch(e){console.log(e),console.log("Parse Error"),console.log(e)}},error:function(t,i,n){console.log("ERRORS: "+n),console.log(t);try{var r=jQuery.parseJSON(t.responseText);nfRadio.channel("forms").trigger("submit:response",r,i,t,e.get("id")),nfRadio.channel("form-"+e.get("id")).trigger("submit:response",r,i,t)}catch(i){console.log("Parse Error: "+t.responseText),nfRadio.channel("form-"+e.get("id")).request("add:error","parse-response-ERROR",n)}}})}})}),i("views/fieldCollection",["views/fieldLayout"],function(e){return Marionette.CollectionView.extend({tagName:"nf-fields-wrap",childView:e})}),i("controllers/defaultFilters",["views/fieldCollection","models/fieldCollection"],function(e,t){return Marionette.Object.extend({initialize:function(){this.listenTo(nfRadio.channel("form"),"before:filterData",this.registerDefaultDataFilter)},registerDefaultDataFilter:function(e){nfRadio.channel("formContent").request("add:loadFilter",this.defaultFormContentLoad,10,this),nfRadio.channel("formContent").request("add:viewFilter",this.defaultFormContentView,10,this)},defaultFormContentLoad:function(e,i,n){var r=i.get("fields"),a=nfRadio.channel("formContent").request("get:loadFilters");if(1==_.without(a,void 0).length||void 0===e||!0==e instanceof Backbone.Collection)return i.get("fields");var o=_.map(e,function(e){return i.get("fields").findWhere({key:e})},this),l=new t(o);return r.on("reset",function(e){var t=[];l.each(function(i){"submit"!=i.get("type")?t.push(e.findWhere({key:i.get("key")})):t.push(i)}),l.options={formModel:i},l.reset(t)}),l},defaultFormContentView:function(){return e}})}),i("controllers/uniqueFieldError",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(nfRadio.channel("fields"),"change:modelValue",this.removeError),this.listenTo(nfRadio.channel("fields"),"keyup:field",this.removeError),this.listenTo(nfRadio.channel("fields"),"blur:field",this.removeError)},removeError:function(e,t){t=t||e,nfRadio.channel("fields").request("remove:error",t.get("id"),"unique_field")}})});let n=[];i("models/fieldRepeaterSetModel",[],function(){return Backbone.Model.extend({initialize:function(e,t){this.repeaterFieldModel=t.repeaterFieldModel,this.set("label",this.repeaterFieldModel.get("label")),e&&t&&this.initAllRepeaterFieldsModels(e,t),nfRadio.channel("field-repeater").reply("get:repeaterFields",this.getRepeaterFields,this),nfRadio.channel("field-repeater").reply("get:repeaterFieldById",this.getRepeaterFieldById,this),nfRadio.channel("field-repeater").reply("get:repeaterModels",this.getAllRepeaterFieldsModels,this),nfRadio.channel("field-repeater").reply("get:repeaterFieldsetsByForm",this.getAllFieldsetsByForm,this),nfRadio.channel("field-repeater").reply("get:repeaterFieldsModelsArrayByForm",this.getAllFieldsModelsArrayByForm,this),this.listenTo(nfRadio.channel("field-repeater"),"set:repeaterModels",this.setAllRepeaterFieldsModels),this.listenTo(nfRadio.channel("field-repeater"),"set:value",this.setAllRepeatersValues)},setAllRepeaterFieldsModels:function(){this.set("repeaterFieldsetsModels",n),this.allRepeatersFieldsetsModels=n},initAllRepeaterFieldsModels:function(e,t){const i=t.repeaterFieldModel.get("formID"),r=t.repeaterFieldModel.get("id"),a=e.fields.models;let o=n.find(e=>e.id===r&&e.form===i);o?o.fields=o.fields.concat(a):n.push({form:i,id:r,fields:a}),this.setAllRepeaterFieldsModels()},getAllRepeaterFieldsModels:function(){return n},getAllFieldsetsByForm:function(e){const t=this.getAllRepeaterFieldsModels().filter(t=>t.form===e);return t},getAllFieldsModelsArrayByForm:function(e){const t=this.getAllFieldsetsByForm(e);let i=[];return t.map(e=>{i=i.concat(e.fields)}),i},getRepeaterFields:function(e){const t=this.getAllRepeaterFieldsModels();let i=t.find(t=>String(t.id)===String(e));return void 0===i&&(i=this.reverseResearchFieldsetModel(e,t)),i},reverseResearchFieldsetModel:function(e,t){let i;return _.each(t,function(t){_.each(t.fields,function(n){String(n.id).startsWith(e)&&(i=t)})}),i},getRepeaterFieldById:function(e){const t=String(e).split(".")[0],i=this.getRepeaterFields(t);if(void 0===i)return;return i.fields.find(t=>t.id===e)},setAllRepeatersValues:function(){const e=this.getAllRepeaterFieldsModels();e.length>0&&_.each(e,function(e){let t=e.fields,i=nfRadio.channel("fields").request("get:field",e.id);if(t.length>0){let e={};_.each(t,function(t){let i=t.get("value"),n=t.get("id");if(n.split("_").length>2){let t=n.split("_");t[1]=t[1].split(".")[1];let i=t[0]+"."+t[1]+"_"+t[2];delete e[n],n=i}e[n]={value:i,id:n},"date"!==t.get("type")||"string"!=typeof i||"date_and_time"!==t.get("date_mode")&&"time_only"!==t.get("date_mode")||(e[n].value={date:i,hour:t.attributes.selected_hour,minute:t.attributes.selected_minute,ampm:t.attributes.selected_ampm}),"file_upload"===t.get("type")&&t.get("value")&&(e[n].files=t.attributes.files)}),i.set("isUpdated",!1),nfRadio.channel("nfAdmin").request("update:field",i,e)}})}})}),i("models/fieldRepeaterSetCollection",["models/fieldRepeaterSetModel","models/fieldCollection"],function(e,t){return Backbone.Collection.extend({model:e,initialize:function(e,t){this.options=t,this.listenTo(nfRadio.channel("field-repeater"),"sort:fieldsets",this.sortIDs),this.listenTo(nfRadio.channel("field-repeater"),"remove:fieldset",this.removeSet),this.listenTo(nfRadio.channel("field-repeater"),"add:fieldset",this.addSet),nfRadio.channel("field-repeater").reply("get:fieldsets",this.getFieldSets,this)},addSet:function(e=!1){let i;if(e){const n=this.options.repeaterFieldModel.id===e&&this.options.repeaterFieldModel;if(i=n,n){let e=new t(this.options.templateFields,{formModel:this.options.formModel,repeaterFieldModel:n});this.add({fields:e},{repeaterFieldModel:n})}}this.sortIDs(),nfRadio.channel("field-repeater").trigger("fieldset:added",i)},removeSet:function(e){this.removeRequiredFieldsErrors(e);const t=e.repeaterFieldModel.get("formID"),i=e.repeaterFieldModel.get("id"),r=n.find(e=>e.id===i&&e.form===t);if(r){let t=[];_.each(r.fields,(i,n)=>{void 0!==i&&_.each(e.get("fields").models,n=>{const r=void 0!==i.id?i.id:i.get("id");n.id===r&&(delete e.repeaterFieldModel.get("value")[n.id],t.push(r))})}),r.fields=_.reject(r.fields,e=>void 0===e||!!t.includes(e.id)),nfRadio.channel("field-repeater").trigger("set:repeaterModels")}this.remove(e),e.destroy(),this.sortIDs(),nfRadio.channel("field-repeater").trigger("set:value")},removeRequiredFieldsErrors:function(e){let t=e.get("fields");_.each(t.models,function(e){nfRadio.channel("fields").request("remove:error",e.get("id"),"required-error")})},getFieldsets:function(){return this.models},checkTimeField:function(e){const t=e.get("id"),i=document.getElementById("hour-select-"+t),n=document.getElementById("minute-select-"+t),r=0===e.attributes.hours_24?"12":"00";if(!i||!n)return;n.value=void 0!==e.attributes.selected_minute?e.attributes.selected_minute:"00",i.value=void 0!==e.attributes.selected_hour?e.attributes.selected_hour:r;const a=document.getElementById("nf-field-"+t+"-wrap").querySelector("#ampm-select");a&&(a.value=void 0!==e.attributes.selected_ampm?e.attributes.selected_ampm:"am")},sortIDs:function(){const e=this.getFieldsets(),t=[];_.each(e,function(e,i){let n=e.get("fields");e.set("index",i+1),_.each(n.models,function(e){const n=String(e.id).split("_")[0],r=String(n).split(".").length>1&&String(n).split(".").pop();if(!r)return;const a=e.collection.options.repeaterFieldModel.id+"."+r+"_"+i;e.set("id",a),"date"!==e.get("type")||"date_and_time"!==e.get("date_mode")&&"time_only"!==e.get("date_mode")||t.push(e)})}),nfRadio.channel("field-repeater").trigger("rerender:fieldsets"),t.forEach(e=>{this.checkTimeField(e)})}})}),i("controllers/fieldRepeater",["models/fieldRepeaterSetCollection","models/fieldCollection"],function(e,t){return Marionette.Object.extend({initialize:function(){this.listenTo(nfRadio.channel("repeater"),"init:model",this.initRepeater)},initRepeater:function(i){if(void 0===i.collection.options.formModel)return!1;let n=new t(i.get("fields"),{formModel:i.collection.options.formModel,repeaterFieldModel:i});i.set("sets",new e([{fields:n}],{templateFields:i.get("fields"),formModel:i.collection.options.formModel,repeaterFieldModel:i})),nfRadio.channel("field-repeater").trigger("sort:fieldsets")}})}),i("controllers/actionGA",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(nfRadio.channel("forms"),"submit:response",this.actionSendGaEvent)},actionSendGaEvent:function(e){void 0!==e.data.actions&&void 0!==e.data.actions.googleanalytics&&e.data.actions.googleanalytics.forEach(t=>{const i=t.event_name;if(void 0!==i)if(void 0!==t.method_type&&"ga4"===t.method_type)if("function"==typeof gtag){const t={event_category:"form_submit",event_label:"ninja_forms_submit",form_id:e.data.form_id};gtag("event",i,t)}else"object"==typeof dataLayer?console.warn("gtag isn't defined. But GTM was detected, did you mean to use GTM in the action settings?"):console.warn("gtag isn't defined. Please make sure you have GA4 installed on your site.");else if(void 0!==t.method_type&&"gtm"===t.method_type)if("object"==typeof dataLayer){const t={event:i,event_category:"form_submit",event_label:"ninja_forms_submit",form_id:e.data.form_id};dataLayer.push(t)}else"function"==typeof gtag?console.warn("GTM isn't defined. But GA4 was detected, did you mean to use GA4 in the action settings?"):console.warn("GTM isn't defined. Please make sure you have GTM installed on your site.");else console.warn("GTM and gtag aren't defined. Please make sure you have GTM or GA4 installed on your site.");else console.warn("No event name defined in the GA4 action settings. Please define an event name.")})}})}),i("controllers/loadControllers",["controllers/formData","controllers/fieldError","controllers/changeField","controllers/changeEmail","controllers/changeDate","controllers/fieldCheckbox","controllers/fieldCheckboxList","controllers/fieldImageList","controllers/fieldRadio","controllers/fieldNumber","controllers/mirrorField","controllers/confirmField","controllers/updateFieldModel","controllers/submitButton","controllers/submitDebug","controllers/getFormErrors","controllers/validateRequired","controllers/submitError","controllers/actionRedirect","controllers/actionSuccess","controllers/fieldSelect","controllers/coreSubmitResponse","controllers/fieldProduct","controllers/fieldTotal","controllers/fieldQuantity","controllers/calculations","controllers/dateBackwardsCompat","controllers/fieldDate","controllers/fieldRecaptcha","controllers/fieldRecaptchaV3","controllers/fieldTurnstile","controllers/fieldHcaptcha","controllers/fieldHTML","controllers/helpText","controllers/fieldTextbox","controllers/fieldTextareaRTE","controllers/fieldStarRating","controllers/fieldTerms","controllers/formContentFilters","controllers/loadViews","controllers/formErrors","controllers/submit","controllers/defaultFilters","controllers/uniqueFieldError","controllers/fieldRepeater","controllers/actionGA"],function(e,t,i,n,r,a,o,l,s,d,c,f,u,h,m,g,p,v,y,b,R,_,w,x,k,F,C,T,M,j,q,E,D,Q,I,S,V,O,L,A,N,z,H,B,P,Y){return Marionette.Object.extend({initialize:function(){new A,new N,new z,new a,new o,new l,new s,new d,new R,new w,new x,new k,new M,new j,new q,new E,new D,new Q,new I,new S,new V,new O,new L,new B,new P,new t,new i,new n,new r,new c,new f,new u,new h,new m,new g,new p,new v,new y,new b,new Y,new _,new F,new H,new C,new T,new e}})}),i("views/beforeForm",[],function(){return Marionette.ItemView.extend({tagName:"nf-section",template:"#tmpl-nf-before-form"})}),i("views/formErrorItem",[],function(){return Marionette.ItemView.extend({tagName:"nf-section",template:"#tmpl-nf-form-error",onRender:function(){}})}),i("views/formErrorCollection",["views/formErrorItem"],function(e){return Marionette.CollectionView.extend({tagName:"nf-errors",childView:e})}),i("views/honeyPot",[],function(){return Marionette.ItemView.extend({tagName:"nf-section",template:"#tmpl-nf-form-hp",events:{"keyup .nf-field-hp":"maybeError","change .nf-field-hp":"maybeError"},maybeError:function(e){if(0==jQuery(e.target).val().length)nfRadio.channel("form-"+this.model.get("id")).request("remove:error","honeyPot");else{var t=nfRadio.channel("app").request("get:form",this.model.get("id"));nfRadio.channel("form-"+this.model.get("id")).request("add:error","honeyPot",t.get("settings").honeypotHoneypotError)}}})}),i("views/afterFormContent",["views/formErrorCollection","views/honeyPot"],function(e,t){return Marionette.LayoutView.extend({tagName:"nf-section",template:"#tmpl-nf-after-fields",regions:{errors:".nf-form-errors",hp:".nf-form-hp"},onShow:function(){this.errors.show(new e({collection:this.model.get("errors")})),this.hp.show(new t({model:this.model}))}})}),i("views/beforeFormContent",[],function(){return Marionette.ItemView.extend({tagName:"nf-section",template:"#tmpl-nf-before-fields",templateHelpers:function(){return{renderFieldsMarkedRequired:function(){return this.fields.filter({required:1}).length?this.fieldsMarkedRequired:""}}}})}),i("views/formLayout",["views/afterFormContent","views/beforeFormContent","models/fieldCollection"],function(e,t,i){return Marionette.LayoutView.extend({tagName:"nf-section",template:"#tmpl-nf-form-layout",regions:{beforeFormContent:".nf-before-form-content",formContent:".nf-form-content",afterFormContent:".nf-after-form-content"},initialize:function(){nfRadio.channel("form-"+this.model.get("id")).reply("get:el",this.getEl,this),this.listenTo(this.model,"hide",this.hide)},onRender:function(){this.$el=this.$el.children(),this.$el.unwrap(),this.setElement(this.$el)},onShow:function(){this.beforeFormContent.show(new t({model:this.model}));var i=this.model.get("formContentData"),n=nfRadio.channel("formContent").request("get:viewFilters"),r=_.without(n,void 0),a=_.first(r);formContentView=a();var o={data:i,formModel:this.model};!1!=i instanceof Backbone.Collection?o.collection=i:!1!=i instanceof Backbone.Model&&(o.model=i),this.formContent.show(new formContentView(o)),this.afterFormContent.show(new e({model:this.model}))},getEl:function(){return this.el},templateHelpers:function(){return{renderClasses:function(){return""}}},hide:function(){jQuery(this.el).hide()}})}),i("views/afterForm",[],function(){return Marionette.ItemView.extend({tagName:"nf-section",template:"#tmpl-nf-after-form"})}),i("views/mainLayout",["views/beforeForm","views/formLayout","views/afterForm"],function(e,t,i){return Marionette.LayoutView.extend({template:"#tmpl-nf-layout",regions:{responseMsg:".nf-response-msg",beforeForm:".nf-before-form",formLayout:".nf-form-layout",afterForm:".nf-after-form"},initialize:function(){this.$el=jQuery("#nf-form-"+this.model.id+"-cont"),this.el="#nf-form-"+this.model.id+"-cont",this.render(),this.beforeForm.show(new e({model:this.model})),this.formLayout.show(new t({model:this.model,fieldCollection:this.options.fieldCollection})),this.afterForm.show(new i({model:this.model})),this.listenTo(this.model,"hide",this.hide)},hide:function(){jQuery(this.el).find(".nf-form-title").hide()}})});var r=function(e,t,i){void 0!==e&&0<e.length?this.locale=e.split("_").join("-"):this.locale="en-US",this.thousands_sep=t||",",this.decimal_sep=i||".",this.uniqueElememts=function(e,t,i){return i.indexOf(e)===t},this.numberDecoder=function(e){var t="",i=!1;"-"===(e=e.toString()).charAt(0)&&(i=!0,e=e.replace("-",""));var n=(e=(e=e.replace(/\s/g,"")).replace(/&nbsp;/g,"")).split("").filter(function(e){return!e.match(/[0-9]/)}),r=n.filter(this.uniqueElememts);switch(r.length){case 0:t=e;break;case 1:var a="";if(1==n.length)separator=n.pop(),a=3==e.split(separator).pop().length&&separator==this.thousands_sep?"":".";else separator=r.pop();t=e.split(separator).join(a);break;case 2:var o,l=r[0];o="."===l?new RegExp("[.]","g"):new RegExp(l,"g"),t=e.replace(o,"");var s,d=r[1];s="."===d?new RegExp("[.]","g"):new RegExp(d,"g"),t=t.replace(s,".");break;default:return"NaN"}return i&&(t="-"+t),this.debug("Number Decoder "+e+" -> "+t),t},this.numberEncoder=function(e,t){return e=this.numberDecoder(e),Intl.NumberFormat(this.locale,{minimumFractionDigits:t,maximumFractionDigits:t}).format(e)},this.debug=function(e){window.nfLocaleConverterDebug&&console.log(e)}};i("../nfLocaleConverter",function(){}),void 0!==nfInlineVars.nfForms&&(window.nfForms=nfInlineVars.nfForms),function(e){var t=e.fn.val;e.fn.val=function(){var i;arguments.length>0&&(i=t.apply(this,[]));var n=t.apply(this,arguments);return arguments.length>0&&i!=t.apply(this,[])&&e(this).hasClass("nf-element")&&!e(this).attr("data-react-managed")&&e(this).change(),n}}(jQuery),document.addEventListener("DOMContentLoaded",function(){t(["models/formCollection","models/formModel","models/fieldCollection","controllers/loadControllers","views/mainLayout","../nfLocaleConverter"],function(e,t,i,n,a){if("undefined"!=typeof nfForms){var o=Marionette.Application.extend({forms:{},initialize:function(e){var t=this;Marionette.Renderer.render=function(e,i){return(e=t.template(e))(i)},this.urlParameters=_.object(_.compact(_.map(location.search.slice(1).split("&"),function(e){if(e)return e.split("=")}))),void 0!==this.urlParameters.nf_resume&&this.listenTo(nfRadio.channel("form-"+this.urlParameters.nf_resume),"loaded",this.restart),nfRadio.channel("app").reply("locale:decodeNumber",this.decodeNumber),nfRadio.channel("app").reply("locale:encodeNumber",this.encodeNumber);new n;nfRadio.channel("app").trigger("after:loadControllers"),nfRadio.channel("app").reply("get:template",this.template)},onStart:function(){var e=nfRadio.channel("app").request("get:forms");_.each(e.models,function(e,t){var i=new a({model:e,fieldCollection:e.get("fields")});nfRadio.channel("form").trigger("render:view",i),jQuery(document).trigger("nfFormReady",i)})},restart:function(e){if(void 0!==this.urlParameters.nf_resume){var t={action:"nf_ajax_submit",security:nfFrontEnd.ajaxNonce,nf_resume:this.urlParameters};nfRadio.channel("form-"+e.get("id")).trigger("disable:submit"),nfRadio.channel("form-"+e.get("id")).trigger("processingLabel"),this.listenTo(nfRadio.channel("form"),"render:view",function(){jQuery("#nf-form-"+e.get("id")+"-cont .nf-field-container:not(.submit-container)").hide()}),jQuery.ajax({url:nfFrontEnd.adminAjax,type:"POST",data:t,cache:!1,success:function(t,i,n){try{var r=t;nfRadio.channel("forms").trigger("submit:response",r,i,n,e.get("id")),nfRadio.channel("form-"+e.get("id")).trigger("submit:response",r,i,n)}catch(e){console.log("Parse Error")}},error:function(e,t,i){console.log("ERRORS: "+t),nfRadio.channel("forms").trigger("submit:response","error",t,e,i)}})}},template:function(e){return e.startsWith("script")||(e="script"+e),_.template(jQuery(e).html(),{evaluate:/<#([\s\S]+?)#>/g,interpolate:/\{\{\{([\s\S]+?)\}\}\}/g,escape:/\{\{([^\}]+?)\}\}(?!\})/g,variable:"data"})},encodeNumber:function(e){return new r(nfi18n.siteLocale,nfi18n.thousands_sep,nfi18n.decimal_point).numberEncoder(e)},decodeNumber:function(e){return new r(nfi18n.siteLocale,nfi18n.thousands_sep,nfi18n.decimal_point).numberDecoder(e)}});(new o).start()}else jQuery(".nf-form-cont").empty()})}),i("main",function(){})}();
(function (){
var requirejs, require, define;
(function (undef){
var main, req, makeMap, handlers,
defined={},
waiting={},
config={},
defining={},
hasOwn=Object.prototype.hasOwnProperty,
aps=[].slice,
jsSuffixRegExp=/\.js$/;
function hasProp(obj, prop){
return hasOwn.call(obj, prop);
}
function normalize(name, baseName){
var nameParts, nameSegment, mapValue, foundMap, lastIndex,
foundI, foundStarMap, starI, i, j, part,
baseParts=baseName&&baseName.split("/"),
map=config.map,
starMap=(map&&map['*'])||{};
if(name&&name.charAt(0)==="."){
if(baseName){
name=name.split('/');
lastIndex=name.length - 1;
if(config.nodeIdCompat&&jsSuffixRegExp.test(name[lastIndex])){
name[lastIndex]=name[lastIndex].replace(jsSuffixRegExp, '');
}
name=baseParts.slice(0, baseParts.length - 1).concat(name);
for (i=0; i < name.length; i +=1){
part=name[i];
if(part==="."){
name.splice(i, 1);
i -=1;
}else if(part===".."){
if(i===1&&(name[2]==='..'||name[0]==='..')){
break;
}else if(i > 0){
name.splice(i - 1, 2);
i -=2;
}}
}
name=name.join("/");
}else if(name.indexOf('./')===0){
name=name.substring(2);
}}
if((baseParts||starMap)&&map){
nameParts=name.split('/');
for (i=nameParts.length; i > 0; i -=1){
nameSegment=nameParts.slice(0, i).join("/");
if(baseParts){
for (j=baseParts.length; j > 0; j -=1){
mapValue=map[baseParts.slice(0, j).join('/')];
if(mapValue){
mapValue=mapValue[nameSegment];
if(mapValue){
foundMap=mapValue;
foundI=i;
break;
}}
}}
if(foundMap){
break;
}
if(!foundStarMap&&starMap&&starMap[nameSegment]){
foundStarMap=starMap[nameSegment];
starI=i;
}}
if(!foundMap&&foundStarMap){
foundMap=foundStarMap;
foundI=starI;
}
if(foundMap){
nameParts.splice(0, foundI, foundMap);
name=nameParts.join('/');
}}
return name;
}
function makeRequire(relName, forceSync){
return function (){
var args=aps.call(arguments, 0);
if(typeof args[0]!=='string'&&args.length===1){
args.push(null);
}
return req.apply(undef, args.concat([relName, forceSync]));
};}
function makeNormalize(relName){
return function (name){
return normalize(name, relName);
};}
function makeLoad(depName){
return function (value){
defined[depName]=value;
};}
function callDep(name){
if(hasProp(waiting, name)){
var args=waiting[name];
delete waiting[name];
defining[name]=true;
main.apply(undef, args);
}
if(!hasProp(defined, name)&&!hasProp(defining, name)){
throw new Error('No ' + name);
}
return defined[name];
}
function splitPrefix(name){
var prefix,
index=name ? name.indexOf('!'):-1;
if(index > -1){
prefix=name.substring(0, index);
name=name.substring(index + 1, name.length);
}
return [prefix, name];
}
makeMap=function (name, relName){
var plugin,
parts=splitPrefix(name),
prefix=parts[0];
name=parts[1];
if(prefix){
prefix=normalize(prefix, relName);
plugin=callDep(prefix);
}
if(prefix){
if(plugin&&plugin.normalize){
name=plugin.normalize(name, makeNormalize(relName));
}else{
name=normalize(name, relName);
}}else{
name=normalize(name, relName);
parts=splitPrefix(name);
prefix=parts[0];
name=parts[1];
if(prefix){
plugin=callDep(prefix);
}}
return {
f: prefix ? prefix + '!' + name:name,
n: name,
pr: prefix,
p: plugin
};};
function makeConfig(name){
return function (){
return (config&&config.config&&config.config[name])||{};};
}
handlers={
require: function (name){
return makeRequire(name);
},
exports: function (name){
var e=defined[name];
if(typeof e!=='undefined'){
return e;
}else{
return (defined[name]={});
}},
module: function (name){
return {
id: name,
uri: '',
exports: defined[name],
config: makeConfig(name)
};}};
main=function (name, deps, callback, relName){
var cjsModule, depName, ret, map, i,
args=[],
callbackType=typeof callback,
usingExports;
relName=relName||name;
if(callbackType==='undefined'||callbackType==='function'){
deps = !deps.length&&callback.length ? ['require', 'exports', 'module']:deps;
for (i=0; i < deps.length; i +=1){
map=makeMap(deps[i], relName);
depName=map.f;
if(depName==="require"){
args[i]=handlers.require(name);
}else if(depName==="exports"){
args[i]=handlers.exports(name);
usingExports=true;
}else if(depName==="module"){
cjsModule=args[i]=handlers.module(name);
}else if(hasProp(defined, depName) ||
hasProp(waiting, depName) ||
hasProp(defining, depName)){
args[i]=callDep(depName);
}else if(map.p){
map.p.load(map.n, makeRequire(relName, true), makeLoad(depName), {});
args[i]=defined[depName];
}else{
throw new Error(name + ' missing ' + depName);
}}
ret=callback ? callback.apply(defined[name], args):undefined;
if(name){
if(cjsModule&&cjsModule.exports!==undef &&
cjsModule.exports!==defined[name]){
defined[name]=cjsModule.exports;
}else if(ret!==undef||!usingExports){
defined[name]=ret;
}}
}else if(name){
defined[name]=callback;
}};
requirejs=require=req=function (deps, callback, relName, forceSync, alt){
if(typeof deps==="string"){
if(handlers[deps]){
return handlers[deps](callback);
}
return callDep(makeMap(deps, callback).f);
}else if(!deps.splice){
config=deps;
if(config.deps){
req(config.deps, config.callback);
}
if(!callback){
return;
}
if(callback.splice){
deps=callback;
callback=relName;
relName=null;
}else{
deps=undef;
}}
callback=callback||function (){};
if(typeof relName==='function'){
relName=forceSync;
forceSync=alt;
}
if(forceSync){
main(undef, deps, callback, relName);
}else{
setTimeout(function (){
main(undef, deps, callback, relName);
}, 4);
}
return req;
};
req.config=function (cfg){
return req(cfg);
};
requirejs._defined=defined;
define=function (name, deps, callback){
if(typeof name!=='string'){
throw new Error('See almond README: incorrect module build, no module name');
}
if(!deps.splice){
callback=deps;
deps=[];
}
if(!hasProp(defined, name)&&!hasProp(waiting, name)){
waiting[name]=[name, deps, callback];
}};
define.amd={
jQuery: true
};}());
define("../lib/almond", function(){});
define('models/whenModel',[], function(){
var model=Backbone.Model.extend({
initialize: function(models, options){
if(! this.get('key')||! this.get('comparator') ) return;
if('calc'==this.get('type') ){
var calcModel=nfRadio.channel('form-' + this.collection.options.condition.collection.formModel.get('id') ).request('get:calc', this.get('key') );
if('undefined'==typeof calcModel) return;
this.listenTo(calcModel, 'change:value', this.updateCalcCompare);
this.updateCalcCompare(calcModel);
}else{
var fieldModel=nfRadio.channel('form-' + options.condition.collection.formModel.get('id') ).request('get:fieldByKey', this.get('key') );
if('undefined'==typeof fieldModel) return;
fieldModel.on('change:value', this.updateFieldCompare, this);
this.listenTo(nfRadio.channel('field-' + fieldModel.get('id') ), 'keyup:field', this.maybeupdateFieldCompare);
this.updateFieldCompare(fieldModel);
fieldModel.on('change:visible', this.updateFieldCompare, this);
}},
updateCalcCompare: function(calcModel){
this.updateCompare(calcModel.get('value') );
},
maybeupdateFieldCompare: function(el, fieldModel, keyCode){
if('checkbox'==fieldModel.get('type') ){
var fieldValue=('checked'==jQuery(el).attr('checked') ) ? 1:0;
}else if('listcheckbox'==fieldModel.get('type') ){
var fieldValue=fieldModel.get('value').join();
}else if('listradio'==fieldModel.get('type') ){
var fieldValue=fieldModel.get('value');
}else if('date'==fieldModel.get ('type') ){
var fieldValue=fieldModel.get('value');
if(_.isEmpty(fieldValue) ){
fieldValue='1970/01/01';
}
let date_mode=fieldModel.get('date_mode');
if('undefined'==typeof date_mode){
date_mode='date_only';
}
let date=0;
if('time_only'==fieldModel.get('date_mode') ){
date='1970/01/01';
}else{
date=fieldValue;
}
let hour=fieldModel.get('selected_hour');
if('undefined'==typeof hour){
hour='00';
}
let minute=fieldModel.get('selected_minute');
if('undefined'==typeof minute){
minute='00';
}
if('date_and_time'==date_mode&&'1970/01/01'==date){
fieldValue=false;
}else{
fieldValue=date + ' ' + hour + ':' + minute + ' UT';
let dateObject=new Date(fieldValue);
fieldValue=Math.floor(dateObject.getTime() / 1000);
}}else{
var fieldValue=jQuery(el).val();
}
this.updateFieldCompare(fieldModel, null, fieldValue);
},
updateCompare: function(value){
var this_val=this.get('value');
if('calc'===this.get('type') ){
this_val=Number(this_val);
value=Number(value);
}
var status=this.compareValues[ this.get('comparator') ](value, this_val);
this.set('status', status);
},
updateFieldCompare: function(fieldModel, val, fieldValue){
if(_.isEmpty(fieldValue) ){
fieldValue=fieldModel.get('value');
}
if('checkbox'==fieldModel.get('type') ){
if(0==fieldValue){
fieldValue='unchecked';
}else{
fieldValue='checked';
}}else if('date'==fieldModel.get('type') ){
if(_.isEmpty(fieldValue) ){
fieldValue='1970/01/01';
}
let date_mode=fieldModel.get('date_mode');
if('undefined'==typeof date_mode){
date_mode='date_only';
}
let date=0;
if('time_only'==fieldModel.get('date_mode') ){
date='1970/01/01';
}else{
date=fieldValue;
}
let hour=fieldModel.get('selected_hour');
if('undefined'==typeof hour){
hour='00';
}
let ampm=fieldModel.get('selected_ampm');
if('undefined'!=typeof ampm){
if('pm'==ampm&&'12'!=hour){
hour=parseInt(hour) + 12;
}else if('am'==ampm&&'12'==hour){
hour='00';
}}
let minute=fieldModel.get('selected_minute');
if('undefined'==typeof minute){
minute='00';
}
if('date_and_time'==date_mode&&'1970/01/01'==date){
fieldValue=false;
}else{
fieldValue=date + ' ' + hour + ':' + minute + ' UT';
let dateObject=new Date(fieldValue);
fieldValue=Math.floor(dateObject.getTime() / 1000);
}}
this.updateCompare(fieldValue);
if(! fieldModel.get('visible') ){
this.set('status', false);
}},
compareValues: {
'equal': function(a, b){
return a==b;
},
'notequal': function(a, b){
return a!=b;
},
'contains': function(a, b){
if(jQuery.isArray(a) ){
return a.indexOf(b) >=0;
}else{
if(b.indexOf('"') >=0){
b=b.replace(/['"]+/g, '');
return new RegExp("\\b" + b + "\\b").test(a);
}
return a.toLowerCase().indexOf(b.toLowerCase()) >=0;
}},
'notcontains': function(a, b){
return ! this.contains(a, b);
},
'greater': function(a, b){
if(jQuery.isNumeric(b) ){
return parseFloat(a) > parseFloat(b);
}else if('string'==typeof a){
return 0 < a.length;
}},
'less': function(a, b){
if(jQuery.isNumeric(b) ){
return parseFloat(a) < parseFloat(b);
}else if('string'==typeof a){
return 0 >=a.length;
}},
'greaterequal': function(a, b){
return parseFloat(a) > parseFloat(b)||parseFloat(a)==parseFloat(b);
},
'lessequal': function(a, b){
return parseFloat(a) < parseFloat(b)||parseFloat(a)==parseFloat(b);
}}
});
return model;
});
define('models/whenCollection',['models/whenModel'], function(WhenModel){
var collection=Backbone.Collection.extend({
model: WhenModel,
initialize: function(models, options){
this.options=options;
}});
return collection;
});
define('models/conditionModel',[ 'models/whenCollection' ], function(WhenCollection){
var model=Backbone.Model.extend({
initialize: function(options){
this.set('when', new WhenCollection(this.get('when'), { condition: this }) );
this.get('when').on('change:status', this.checkWhen, this);
setTimeout(function(){
this.checkWhen();
}.bind(this), 0);
},
checkWhen: function(){
var statusResults=this.get('when').pluck('status');
var connectors=this.get('when').pluck('connector');
var allAND=_.every(_.values(connectors), function(v){ return v=='AND' }, this);
if(allAND){
var status=_.every(_.values(statusResults), function(v){ return v; }, this);
}else{
var status=_.some(_.values(statusResults), function(v){ return v; }, this);
}
if(status){
_.each(this.get('then'), function(then, index){
nfRadio.channel('condition:trigger').request(then.trigger, this, then);
}, this);
}else{
_.each(this.get('else'), function(elseData, index){
nfRadio.channel('condition:trigger').request(elseData.trigger, this, elseData);
}, this);
}}
});
return model;
});
define('models/conditionCollection',['models/conditionModel'], function(ConditionModel){
var collection=Backbone.Collection.extend({
model: ConditionModel,
initialize: function(models, options){
this.formModel=options.formModel;
}});
return collection;
});
define('controllers/initCollection',[ 'models/conditionCollection' ], function(ConditionCollection){
var controller=Marionette.Object.extend({
initialize: function(formModel){
this.collection=new ConditionCollection(formModel.get('conditions'), { formModel: formModel });
this.listenTo(nfRadio.channel('fields'), 'reset:collection', this.resetCollection);
},
resetCollection: function(fieldsCollection){
var formModel=fieldsCollection.options.formModel;
this.collection=new ConditionCollection(formModel.get('conditions'), { formModel: formModel });
}});
return controller;
});
define('controllers/showHide',[], function(){
var controller=Marionette.Object.extend({
initialize: function(){
nfRadio.channel('condition:trigger').reply('hide_field', this.hideField, this);
nfRadio.channel('condition:trigger').reply('show_field', this.showField, this);
},
hideField: function(conditionModel, then){
var formId=conditionModel.collection.formModel.get('id');
var targetFieldModel=nfRadio.channel('form-' + formId).request('get:fieldByKey', then.key);
if('undefined'==typeof targetFieldModel) return;
targetFieldModel.set('visible', false);
if(! targetFieldModel.get('clean') ){
targetFieldModel.trigger('change:value', targetFieldModel);
}
nfRadio.channel('fields').request('remove:error', targetFieldModel.get('id'), 'required-error');
if('repeater'===targetFieldModel.get('type') ){
this.setRepeaterChildrenVisible(targetFieldModel, false);
}},
setRepeaterChildrenVisible: function(repeaterModel, visible){
var sets=repeaterModel.get('sets');
if(! sets) return;
sets.each(function(set){
var fields=set.get('fields');
if(! fields) return;
fields.each(function(fieldModel){
fieldModel.set('visible', visible);
if(! visible){
nfRadio.channel('fields').request('remove:error', fieldModel.get('id'), 'required-error');
}});
});
},
showField: function(conditionModel, then){
var targetFieldModel=nfRadio.channel('form-' + conditionModel.collection.formModel.get('id') ).request('get:fieldByKey', then.key);
if('undefined'==typeof targetFieldModel) return;
targetFieldModel.set('visible', true);
if(! targetFieldModel.get('clean') ){
targetFieldModel.trigger('change:value', targetFieldModel);
}
if('repeater'===targetFieldModel.get('type') ){
this.setRepeaterChildrenVisible(targetFieldModel, true);
}
if('recaptcha'===targetFieldModel.get('type') ){
this.renderRecaptcha();
}
if('turnstile'===targetFieldModel.get('type') ){
this.renderTurnstile();
}
var viewEl={ el: nfRadio.channel('form-' + conditionModel.collection.formModel.get('id') ).request('get:el') };
nfRadio.channel('form').request('init:help', viewEl);
},
renderRecaptcha: function(){
jQuery('.g-recaptcha').each(function(){
var callback=jQuery(this).data('callback');
var fieldID=jQuery(this).data('fieldid');
if(typeof window[ callback ]!=='function'){
window[ callback ]=function(response){
nfRadio.channel('recaptcha').request('update:response', response, fieldID);
};}
var opts={
theme: jQuery(this).data('theme'),
sitekey: jQuery(this).data('sitekey'),
callback: callback
};
grecaptcha.render(jQuery(this)[0], opts);
});
},
renderTurnstile: function(){
if(typeof turnstile==='undefined'){
return;
}
jQuery('.cf-turnstile, .nf-cf-turnstile').each(function(){
var element=this;
var sitekey=jQuery(element).data('sitekey');
var fieldID=jQuery(element).data('fieldid');
if(! sitekey||jQuery(element).children().length > 0){
return;
}
try {
var callbackName='nfTurnstileCallback_' + fieldID;
window[ callbackName ]=function(token){
var input=document.getElementById('nf-field-' + fieldID);
if(input){
input.value=token;
jQuery(input).trigger('change');
jQuery(input).closest('.field-wrap').removeClass('nf-error');
jQuery(input).closest('.field-wrap').find('.nf-error-msg').remove();
}
if(typeof nfRadio!=='undefined'&&nfRadio.channel){
try {
nfRadio.channel('turnstile').request('update:response', token, fieldID);
} catch(e){
}}
};
turnstile.render(element, {
sitekey: sitekey,
theme: jQuery(element).data('theme')||'auto',
size: jQuery(element).data('size')||'normal',
callback: callbackName
});
} catch(e){
}});
}});
return controller;
});
define('controllers/changeRequired',[], function(){
var controller=Marionette.Object.extend({
initialize: function(){
nfRadio.channel('condition:trigger').reply('set_required', this.setRequired, this);
nfRadio.channel('condition:trigger').reply('unset_required', this.unsetRequired, this);
},
setRequired: function(conditionModel, then){
var targetFieldModel=nfRadio.channel('form-' + conditionModel.collection.formModel.get('id') ).request('get:fieldByKey', then.key);
if('undefined'==typeof targetFieldModel) return;
targetFieldModel.set('required', 1);
targetFieldModel.trigger('reRender', targetFieldModel);
},
unsetRequired: function(conditionModel, then){
var targetFieldModel=nfRadio.channel('form-' + conditionModel.collection.formModel.get('id') ).request('get:fieldByKey', then.key);
if('undefined'==typeof targetFieldModel) return;
targetFieldModel.set('required', 0);
targetFieldModel.trigger('reRender', targetFieldModel);
nfRadio.channel('fields').request('remove:error', targetFieldModel.get('id'), 'required-error');
}});
return controller;
});
define('controllers/showHideOption',[], function(){
var controller=Marionette.Object.extend({
initialize: function(){
nfRadio.channel('condition:trigger').reply('show_option', this.showOption, this);
nfRadio.channel('condition:trigger').reply('hide_option', this.hideOption, this);
},
showOption: function(conditionModel, then){
var option=this.getOption(conditionModel, then);
option.visible=true;
this.updateFieldModel(conditionModel, then);
},
hideOption: function(conditionModel, then){
var option=this.getOption(conditionModel, then);
option.visible=false;
this.updateFieldModel(conditionModel, then);
},
getFieldModel: function(conditionModel, then){
return nfRadio.channel('form-' + conditionModel.collection.formModel.get('id') ).request('get:fieldByKey', then.key);
},
getOption: function(conditionModel, then){
var targetFieldModel=this.getFieldModel(conditionModel, then);
var options=targetFieldModel.get('options');
return _.find(options, function(option){ return option.value==then.value });
},
updateFieldModel: function(conditionModel, then){
var targetFieldModel=this.getFieldModel(conditionModel, then);
var options=targetFieldModel.get('options');
targetFieldModel.set('options', options);
targetFieldModel.trigger('reRender');
}});
return controller;
});
define('controllers/changeValue',[], function(){
var controller=Marionette.Object.extend({
initialize: function(){
nfRadio.channel('condition:trigger').reply('change_value', this.changeValue, this);
},
changeValue: function(conditionModel, then){
var targetFieldModel=nfRadio.channel('form-' + conditionModel.collection.formModel.get('id') ).request('get:fieldByKey', then.key);
if('checkbox'==targetFieldModel.get('type') ){
if('unchecked'==targetFieldModel.changed.value){
then.value=1;
}else if('checked'==targetFieldModel){
then.value=0;
}}
targetFieldModel.set('value', then.value);
targetFieldModel.trigger('reRender', targetFieldModel);
},
});
return controller;
});
define('controllers/selectDeselect',[], function(){
var controller=Marionette.Object.extend({
initialize: function(){
nfRadio.channel('condition:trigger').reply('select_option', this.selectOption, this);
nfRadio.channel('condition:trigger').reply('deselect_option', this.deselectOption, this);
},
selectOption: function(conditionModel, then){
var targetFieldModel=nfRadio.channel('form-' + conditionModel.collection.formModel.get('id') ).request('get:fieldByKey', then.key);
if(_.contains([ 'listselect', 'listcountry', 'liststate' ], targetFieldModel.get('type') )){
targetFieldModel.set('clean', false);
}
var options=targetFieldModel.get('options');
var option=_.find(options, { value: then.value });
option.selected=1;
targetFieldModel.set('options', options);
if(_.contains([ 'listselect', 'listcountry', 'liststate' ], targetFieldModel.get('type') )){
targetFieldModel.set('value', option.value);
}else{
var value=targetFieldModel.get('value');
if(_.isArray(value) ){
if(0 > value.indexOf(option.value) ){
value.push(option.value);
targetFieldModel.set('value', '');
}}else{
value=option.value;
}
targetFieldModel.set('value', value);
}
targetFieldModel.trigger('reRender', targetFieldModel);
},
deselectOption: function(conditionModel, then){
var targetFieldModel=nfRadio.channel('form-' + conditionModel.collection.formModel.get('id') ).request('get:fieldByKey', then.key);
var options=targetFieldModel.get('options');
var option=_.find(options, { value: then.value });
option.selected=0;
targetFieldModel.set('options', options);
var currentValue=targetFieldModel.get('value');
if(_.isArray(currentValue) ){
currentValue=_.without(currentValue, then.value);
}else{
currentValue='';
}
targetFieldModel.set('value', currentValue);
targetFieldModel.trigger('reRender', targetFieldModel);
},
});
return controller;
});
define('controllers/actions',[], function(){
var controller=Marionette.Object.extend({
actions: {},
initialize: function(){
nfRadio.channel('condition:trigger').reply('activate_action', this.activateAction, this);
nfRadio.channel('condition:trigger').reply('deactivate_action', this.deactivateAction, this);
nfRadio.channel('actions').reply('get:status', this.getStatus, this);
},
activateAction: function(conditionModel, thenObject){
this.actions[ thenObject.key ]=true;
console.log('activate action');
},
deactivateAction: function(conditionModel, thenObject){
console.log('deactivate action');
this.actions[ thenObject.key ]=false;
},
getStatus: function($id){
return this.actions[ $id ];
}});
return controller;
});
var nfRadio=Backbone.Radio;
require([ 'controllers/initCollection', 'controllers/showHide', 'controllers/changeRequired', 'controllers/showHideOption', 'controllers/changeValue', 'controllers/selectDeselect', 'controllers/actions' ], function(InitCollection, ShowHide, ChangeRequired, ShowHideOption, ChangeValue, SelectDeselect, Actions){
var NFConditionalLogic=Marionette.Application.extend({
initialize: function(options){
this.listenTo(nfRadio.channel('form'), 'after:loaded', this.loadControllers);
},
loadControllers: function(formModel){
new ShowHide();
new ChangeRequired();
new ShowHideOption();
new ChangeValue();
new SelectDeselect();
new Actions();
new InitCollection(formModel);
},
onStart: function(){
}});
var nfConditionalLogic=new NFConditionalLogic();
nfConditionalLogic.start();
});
define("main", function(){});
}());
(function (){
var requirejs, require, define;
(function (undef){
var main, req, makeMap, handlers,
defined={},
waiting={},
config={},
defining={},
hasOwn=Object.prototype.hasOwnProperty,
aps=[].slice,
jsSuffixRegExp=/\.js$/;
function hasProp(obj, prop){
return hasOwn.call(obj, prop);
}
function normalize(name, baseName){
var nameParts, nameSegment, mapValue, foundMap, lastIndex,
foundI, foundStarMap, starI, i, j, part,
baseParts=baseName&&baseName.split("/"),
map=config.map,
starMap=(map&&map['*'])||{};
if(name&&name.charAt(0)==="."){
if(baseName){
name=name.split('/');
lastIndex=name.length - 1;
if(config.nodeIdCompat&&jsSuffixRegExp.test(name[lastIndex])){
name[lastIndex]=name[lastIndex].replace(jsSuffixRegExp, '');
}
name=baseParts.slice(0, baseParts.length - 1).concat(name);
for (i=0; i < name.length; i +=1){
part=name[i];
if(part==="."){
name.splice(i, 1);
i -=1;
}else if(part===".."){
if(i===1&&(name[2]==='..'||name[0]==='..')){
break;
}else if(i > 0){
name.splice(i - 1, 2);
i -=2;
}}
}
name=name.join("/");
}else if(name.indexOf('./')===0){
name=name.substring(2);
}}
if((baseParts||starMap)&&map){
nameParts=name.split('/');
for (i=nameParts.length; i > 0; i -=1){
nameSegment=nameParts.slice(0, i).join("/");
if(baseParts){
for (j=baseParts.length; j > 0; j -=1){
mapValue=map[baseParts.slice(0, j).join('/')];
if(mapValue){
mapValue=mapValue[nameSegment];
if(mapValue){
foundMap=mapValue;
foundI=i;
break;
}}
}}
if(foundMap){
break;
}
if(!foundStarMap&&starMap&&starMap[nameSegment]){
foundStarMap=starMap[nameSegment];
starI=i;
}}
if(!foundMap&&foundStarMap){
foundMap=foundStarMap;
foundI=starI;
}
if(foundMap){
nameParts.splice(0, foundI, foundMap);
name=nameParts.join('/');
}}
return name;
}
function makeRequire(relName, forceSync){
return function (){
var args=aps.call(arguments, 0);
if(typeof args[0]!=='string'&&args.length===1){
args.push(null);
}
return req.apply(undef, args.concat([relName, forceSync]));
};}
function makeNormalize(relName){
return function (name){
return normalize(name, relName);
};}
function makeLoad(depName){
return function (value){
defined[depName]=value;
};}
function callDep(name){
if(hasProp(waiting, name)){
var args=waiting[name];
delete waiting[name];
defining[name]=true;
main.apply(undef, args);
}
if(!hasProp(defined, name)&&!hasProp(defining, name)){
throw new Error('No ' + name);
}
return defined[name];
}
function splitPrefix(name){
var prefix,
index=name ? name.indexOf('!'):-1;
if(index > -1){
prefix=name.substring(0, index);
name=name.substring(index + 1, name.length);
}
return [prefix, name];
}
makeMap=function (name, relName){
var plugin,
parts=splitPrefix(name),
prefix=parts[0];
name=parts[1];
if(prefix){
prefix=normalize(prefix, relName);
plugin=callDep(prefix);
}
if(prefix){
if(plugin&&plugin.normalize){
name=plugin.normalize(name, makeNormalize(relName));
}else{
name=normalize(name, relName);
}}else{
name=normalize(name, relName);
parts=splitPrefix(name);
prefix=parts[0];
name=parts[1];
if(prefix){
plugin=callDep(prefix);
}}
return {
f: prefix ? prefix + '!' + name:name,
n: name,
pr: prefix,
p: plugin
};};
function makeConfig(name){
return function (){
return (config&&config.config&&config.config[name])||{};};
}
handlers={
require: function (name){
return makeRequire(name);
},
exports: function (name){
var e=defined[name];
if(typeof e!=='undefined'){
return e;
}else{
return (defined[name]={});
}},
module: function (name){
return {
id: name,
uri: '',
exports: defined[name],
config: makeConfig(name)
};}};
main=function (name, deps, callback, relName){
var cjsModule, depName, ret, map, i,
args=[],
callbackType=typeof callback,
usingExports;
relName=relName||name;
if(callbackType==='undefined'||callbackType==='function'){
deps = !deps.length&&callback.length ? ['require', 'exports', 'module']:deps;
for (i=0; i < deps.length; i +=1){
map=makeMap(deps[i], relName);
depName=map.f;
if(depName==="require"){
args[i]=handlers.require(name);
}else if(depName==="exports"){
args[i]=handlers.exports(name);
usingExports=true;
}else if(depName==="module"){
cjsModule=args[i]=handlers.module(name);
}else if(hasProp(defined, depName) ||
hasProp(waiting, depName) ||
hasProp(defining, depName)){
args[i]=callDep(depName);
}else if(map.p){
map.p.load(map.n, makeRequire(relName, true), makeLoad(depName), {});
args[i]=defined[depName];
}else{
throw new Error(name + ' missing ' + depName);
}}
ret=callback ? callback.apply(defined[name], args):undefined;
if(name){
if(cjsModule&&cjsModule.exports!==undef &&
cjsModule.exports!==defined[name]){
defined[name]=cjsModule.exports;
}else if(ret!==undef||!usingExports){
defined[name]=ret;
}}
}else if(name){
defined[name]=callback;
}};
requirejs=require=req=function (deps, callback, relName, forceSync, alt){
if(typeof deps==="string"){
if(handlers[deps]){
return handlers[deps](callback);
}
return callDep(makeMap(deps, callback).f);
}else if(!deps.splice){
config=deps;
if(config.deps){
req(config.deps, config.callback);
}
if(!callback){
return;
}
if(callback.splice){
deps=callback;
callback=relName;
relName=null;
}else{
deps=undef;
}}
callback=callback||function (){};
if(typeof relName==='function'){
relName=forceSync;
forceSync=alt;
}
if(forceSync){
main(undef, deps, callback, relName);
}else{
setTimeout(function (){
main(undef, deps, callback, relName);
}, 4);
}
return req;
};
req.config=function (cfg){
return req(cfg);
};
requirejs._defined=defined;
define=function (name, deps, callback){
if(typeof name!=='string'){
throw new Error('See almond README: incorrect module build, no module name');
}
if(!deps.splice){
callback=deps;
deps=[];
}
if(!hasProp(defined, name)&&!hasProp(waiting, name)){
waiting[name]=[name, deps, callback];
}};
define.amd={
jQuery: true
};}());
define("../lib/almond", function(){});
define('views/header',[], function(){
var view=Marionette.ItemView.extend({
template: "#tmpl-nf-mp-header",
fullProgressBar: false,
initialize: function(options){
this.listenTo(this.collection, 'change:part', this.reRender);
this.listenTo(this.collection, 'change:errors', this.reRender);
this.listenTo(nfRadio.channel('forms'), 'before:submit', this.fillProgressBar);
},
reRender: function(){
this.model=this.collection.getElement();
this.render();
},
templateHelpers: function(){
var that=this;
return {
renderPartTitle: function(){
if('undefined'==typeof that.collection.formModel.get('settings').mp_display_titles||0==that.collection.formModel.get('settings').mp_display_titles) return '';
var template=Backbone.Radio.channel('app').request('get:template', '#tmpl-nf-mp-part-title');
var parts=_.invoke(that.collection.getVisibleParts(), 'pick', [ 'title', 'errors', 'visible' ])
if(1 < parts.length){
return template( { title: this.title });
}else{
return '';
}},
renderBreadcrumbs: function(){
if('undefined'==typeof that.collection.formModel.get('settings').mp_breadcrumb||0==that.collection.formModel.get('settings').mp_breadcrumb) return '';
var template=Backbone.Radio.channel('app').request('get:template', '#tmpl-nf-mp-breadcrumbs');
var parts=_.invoke(that.collection.getVisibleParts(), 'pick', [ 'title', 'errors', 'visible' ])
if(1 < parts.length){
return template( { parts: parts, currentIndex: that.collection.getVisibleParts().indexOf(that.model) });
}else{
return '';
}},
renderProgressBar: function(){
if('undefined'==typeof that.collection.formModel.get('settings').mp_progress_bar||0==that.collection.formModel.get('settings').mp_progress_bar) return '';
var template=Backbone.Radio.channel('app').request('get:template', '#tmpl-nf-mp-progress-bar');
var currentIndex=that.collection.getVisibleParts().indexOf(that.model);
var percent=(that.fullProgressBar) ? 100:currentIndex / that.collection.getVisibleParts().length * 100;
if(1 < that.collection.getVisibleParts().length){
return template( { percent: percent });
}else{
return '';
}}
}},
events: {
'click .nf-breadcrumb': 'clickBreadcrumb'
},
clickBreadcrumb: function(e){
e.preventDefault();
this.collection.setElement(this.collection.getVisibleParts()[ jQuery(e.target).data('index') ]);
},
fillProgressBar: function(formModel){
this.fullProgressBar=true;
this.render();
this.fullProgressBar=false;
}});
return view;
});
define('views/footer',[], function(){
var view=Marionette.ItemView.extend({
template: "#tmpl-nf-mp-footer",
initialize: function(options){
this.listenTo(this.collection, 'change:part', this.reRender);
},
reRender: function(){
this.model=this.collection.getElement();
this.render();
},
templateHelpers: function(){
var that=this;
return {
renderNextPrevious: function(){
var template=Backbone.Radio.channel('app').request('get:template', '#tmpl-nf-mp-next-previous');
var showNext=false;
var showPrevious=false;
var visibleParts=that.collection.where({ visible: true });
if(visibleParts.indexOf(that.model)!=visibleParts.length - 1){
showNext=true;
}
if(visibleParts.indexOf(that.model)!=0){
showPrevious=true;
}
if(! showNext&&! showPrevious) return '';
var prevLabel=that.collection.formModel.get('mp_prev_label')||nfMPSettings.prevLabel;
var nextLabel=that.collection.formModel.get('mp_next_label')||nfMPSettings.nextLabel;
return template( { showNext: showNext, showPrevious: showPrevious, prevLabel: prevLabel, nextLabel: nextLabel });
},
}}
});
return view;
});
define('views/formContent',[ 'views/header', 'views/footer' ], function(HeaderView, FooterView){
var view=Marionette.LayoutView.extend({
template: "#tmpl-nf-mp-form-content",
regions: {
header: '.nf-mp-header',
body: '.nf-mp-body',
footer: '.nf-mp-footer'
},
initialize: function(options){
this.formModel=options.formModel;
this.collection=options.data;
this.listenTo(this.collection, 'change:part', this.changePart);
this.listenTo(this.collection, 'change:visible', this.renderHeaderFooter);
},
onRender: function(){
this.header.show(new HeaderView( { collection: this.collection, model: this.collection.getElement() }) );
var formContentViewFilters=nfRadio.channel('formContent').request('get:viewFilters');
var sortedArray=_.without(formContentViewFilters, undefined);
var callback=sortedArray[1];
this.formContentView=callback();
this.body.show(new this.formContentView({ collection: this.collection.getElement().get('formContentData') }) );
this.footer.show(new FooterView( { collection: this.collection, model: this.collection.getElement() }) );
},
renderHeaderFooter: function(){
this.header.show(new HeaderView( { collection: this.collection, model: this.collection.getElement() }) );
this.footer.show(new FooterView( { collection: this.collection, model: this.collection.getElement() }) );
},
changePart: function(){
this.body.show(new this.formContentView({ collection: this.collection.getElement().get('formContentData') }) );
var formTop=jQuery(this.body.el).closest('.nf-form-cont').offset().top;
if(jQuery(window).scrollTop() > formTop - 50){
jQuery(window).scrollTop(formTop - 50);
}},
events: {
'click .nf-next': 'clickNext',
'click .nf-previous': 'clickPrevious'
},
clickNext: function(e){
e.preventDefault();
this.collection.next();
},
clickPrevious: function(e){
e.preventDefault();
this.collection.previous();
}});
return view;
});
define('models/partModel',[], function(){
var model=Backbone.Model.extend({
fieldErrors: {},
defaults: {
errors: false,
visible: true,
title: ''
},
initialize: function(){
this.filterFormContentData();
this.listenTo(this.get('formContentData'), 'change:errors', this.maybeChangeActivePart);
this.fieldErrors[ this.cid ]=[];
this.on('change:visible', this.changeVisible, this);
this.set('order', Number(this.get('order') ));
},
filterFormContentData: function(){
if(! this.get('formContentData') ) return;
var formContentData=this.get('formContentData');
var formContentLoadFilters=nfRadio.channel('formContent').request('get:loadFilters');
var sortedArray=_.without(formContentLoadFilters, undefined);
var callback=sortedArray[ 1 ];
var empty=(0==formContentData.length) ? true:false;
if('undefined'==typeof formContentLoadFilters[4]&&_.isArray(formContentData)&&0!=formContentData.length&&'undefined'!=typeof formContentData[0].cells){
var partFields=[];
var cells=_.pluck(formContentData, 'cells');
_.each(cells, function(cell){
var fields=_.flatten(_.pluck(cell, 'fields') );
partFields=_.union(partFields, fields);
});
formContentData=partFields;
this.set('formContentData', formContentData);
}
this.set('formContentData', callback(formContentData, this.collection.formModel, empty, formContentData) );
},
maybeChangeActivePart: function(fieldModel){
if(0 < fieldModel.get('errors').length){
this.set('errors', true);
this.fieldErrors[ this.cid ].push(fieldModel.get('key') );
if(this.collection.getElement()!=this &&
this.collection.indexOf(this.collection.getElement()) > this.collection.indexOf(this)
){
this.collection.setElement(this);
}}else{
this.fieldErrors[ this.cid ]=_.without(this.fieldErrors[ this.cid ], fieldModel.get('key') );
if(0==this.fieldErrors[ this.cid ].length){
this.set('errors', false);
}}
},
validateFields: function(){
this.get('formContentData').validateFields();
},
changeVisible: function(){
if(this.get('visible') ){
this.get('formContentData').showFields();
}else{
this.get('formContentData').hideFields();
}}
});
return model;
});
define('models/partCollection',[ 'models/partModel' ], function(PartModel){
var collection=Backbone.Collection.extend({
model: PartModel,
currentElement: false,
initialize: function(models, options){
this.formModel=options.formModel;
},
getElement: function(){
if(! this.currentElement){
this.setElement(this.at(0), true);
}
return this.currentElement;
},
setElement: function(model, silent){
silent=silent||false;
if(! silent){
if(this.partErrors()) return;
}
this.currentElement=model;
if(! silent){
this.trigger('change:part', this);
nfRadio.channel('nfMP').trigger('change:part', this);
}},
setNextElement: function(model, silent){
silent=silent||false;
if(! silent){
if(this.partErrors()) return;
}
this.currentElement=model;
if(! silent){
this.trigger('change:part', this);
nfRadio.channel('nfMP').trigger('change:part', this);
}},
setPreviousElement: function(model, silent){
silent=silent||false;
this.currentElement=model;
if(! silent){
this.trigger('change:part', this);
nfRadio.channel('nfMP').trigger('change:part', this);
}},
next: function (){
if(this.getVisibleParts().length - 1!=this.getVisibleParts().indexOf(this.getElement()) ){
this.setNextElement(this.getVisibleParts()[ this.getVisibleParts().indexOf(this.getElement()) + 1 ]);
}
return this;
},
previous: function(){
if(0!=this.getVisibleParts().indexOf(this.getElement()) ){
this.setPreviousElement(this.getVisibleParts()[ this.getVisibleParts().indexOf(this.getElement()) - 1 ]);
}
return this;
},
partErrors: function(){
if('undefined'==typeof this.formModel.get('settings').mp_validate||0==this.formModel.get('settings').mp_validate) return false;
this.currentElement.validateFields();
return this.currentElement.get('errors');
},
validateFields: function(){
_.each(this.getVisibleParts(), function(partModel){ partModel.validateFields(); });
},
getVisibleParts: function(){
return this.where({ visible: true });
}});
return collection;
});
define('controllers/loadFilters',[ 'views/formContent', 'models/partCollection' ], function(FormContentView, PartCollection){
var controller=Marionette.Object.extend({
initialize: function(){
nfRadio.channel('formContent').request('add:viewFilter', this.getformContentView, 1);
nfRadio.channel('formContent').request('add:loadFilter', this.formContentLoad, 1);
},
getformContentView: function(formContentData){
return FormContentView;
},
formContentLoad: function(formContentData, formModel){
if(true===formContentData instanceof PartCollection) return formContentData;
if(_.isArray(formContentData)&&0!=_.isArray(formContentData).length&&'undefined'!=typeof _.first(formContentData)&&'part'==_.first(formContentData).type){
var partCollection=new PartCollection(formContentData, { formModel: formModel });
}else{
var partCollection=new PartCollection( { formContentData: formContentData }, { formModel: formModel });
}
return partCollection;
}});
return controller;
});
define('controllers/conditionalLogic',[], function(){
var controller=Marionette.Object.extend({
initialize: function(){
nfRadio.channel('condition:trigger').reply('show_part', this.showPart, this);
nfRadio.channel('condition:trigger').reply('hide_part', this.hidePart, this);
},
showPart: function(conditionModel, then){
conditionModel.set('alreadyTriggered', true);
this.changePartVisibility(conditionModel, then, true);
conditionModel.set('alreadyTriggered', false);
},
hidePart: function(conditionModel, then){
conditionModel.set('alreadyTriggered', true);
this.changePartVisibility(conditionModel, then, false);
conditionModel.set('alreadyTriggered', false);
},
changePartVisibility: function(conditionModel, then, visible){
var mpResetFlag=Date.now();
if(! conditionModel.collection.mpResetFlag){
conditionModel.collection.mpResetFlag=mpResetFlag;
}
var partCollection=conditionModel.collection.formModel.get('formContentData');
partCollection.findWhere({ key: then.key }).set('visible', visible);
conditionModel.collection.each(function(model){
if(model==conditionModel) return;
if(model.get('alreadyTriggered') ) return;
model.checkWhen();
model.set('alreadyTriggered', true);
});
if(mpResetFlag==conditionModel.collection.mpResetFlag){
conditionModel.collection.invoke('set', { 'alreadyTriggered': false });
conditionModel.collection.mpResetFlag=false;
}}
});
return controller;
});
define('controllers/renderRecaptcha',[], function(){
var controller=Marionette.Object.extend({
initialize: function(){
this.listenTo(nfRadio.channel('nfMP'), 'change:part', this.changePart, this);
},
changePart: function(conditionModel, then){
jQuery('.g-recaptcha').each(function(){
var callback=jQuery(this).data('callback');
var fieldID=jQuery(this).data('fieldid');
if(typeof window[ callback ]!=='function'){
window[ callback ]=function(response){
nfRadio.channel('recaptcha').request('update:response', response, fieldID);
};}
var opts={
theme: jQuery(this).data('theme'),
sitekey: jQuery(this).data('sitekey'),
callback: callback
};
grecaptcha.render(jQuery(this)[0], opts);
});
},
});
return controller;
});
define('controllers/renderTurnstile',[], function(){
var controller=Marionette.Object.extend({
initialize: function(){
this.listenTo(nfRadio.channel('nfMP'), 'change:part', this.changePart, this);
},
changePart: function(conditionModel, then){
setTimeout(function(){
jQuery('.cf-turnstile, .nf-cf-turnstile').each(function(){
var element=this;
var sitekey=jQuery(element).data('sitekey');
var fieldID=jQuery(element).data('fieldid');
if(! sitekey||jQuery(element).children().length > 0){
return;
}
if(typeof turnstile==='undefined'){
return;
}
try {
var callbackName='nfTurnstileCallback_' + fieldID;
window[ callbackName ]=function(token){
var input=document.getElementById('nf-field-' + fieldID);
if(input){
input.value=token;
jQuery(input).trigger('change');
jQuery(input).closest('.field-wrap').removeClass('nf-error');
jQuery(input).closest('.field-wrap').find('.nf-error-msg').remove();
}
if(typeof nfRadio!=='undefined'&&nfRadio.channel){
try {
nfRadio.channel('turnstile').request('update:response', token, fieldID);
} catch(e){
}}
};
turnstile.render(element, {
sitekey: sitekey,
theme: jQuery(element).data('theme')||'auto',
size: jQuery(element).data('size')||'normal',
callback: callbackName
});
} catch(e){
console.warn('Turnstile render error:', e);
}});
}, 100);
}});
return controller;
});
define('controllers/renderHelpText',[], function(){
var controller=Marionette.Object.extend({
initialize: function(){
this.listenTo(nfRadio.channel('nfMP'), 'change:part', this.changePart, this);
},
changePart: function(conditionModel, then){
jQuery('.nf-help').each(function(){
var jBox=jQuery(this).jBox('Tooltip', {
theme: 'TooltipBorder',
content: jQuery(this).data('text')
});
});
},
});
return controller;
});
define(
'controllers/loadControllers',[
'controllers/conditionalLogic',
'controllers/renderRecaptcha',
'controllers/renderTurnstile',
'controllers/renderHelpText'
],
function
(
ConditionalLogic,
RenderRecaptcha,
RenderTurnstile,
RenderHelpText
){
var controller=Marionette.Object.extend({
initialize: function(){
new ConditionalLogic();
new RenderRecaptcha();
new RenderTurnstile();
new RenderHelpText();
}});
return controller;
});
var nfRadio=Backbone.Radio;
require([ 'controllers/loadFilters', 'controllers/loadControllers' ], function(LoadFilters, LoadControllers){
var NFMultiPart=Marionette.Application.extend({
initialize: function(options){
this.listenTo(nfRadio.channel('form'), 'before:filterData', this.loadFilters);
this.listenTo(nfRadio.channel('form'), 'loaded', this.loadControllers);
},
loadFilters: function(formModel){
new LoadFilters();
},
loadControllers: function(formModel){
new LoadControllers();
},
onStart: function(){
}});
var nfMultiPart=new NFMultiPart();
nfMultiPart.start();
});
define("main", function(){});
}());
!function(){var e,t,i;!function(n){function o(e,t){return M.call(e,t)}function l(e,t){var i,n,o,l,r,s,c,f,d,a,u,h=t&&t.split("/"),m=v.map,g=m&&m["*"]||{};if(e&&"."===e.charAt(0))if(t){for(e=e.split("/"),r=e.length-1,v.nodeIdCompat&&b.test(e[r])&&(e[r]=e[r].replace(b,"")),e=h.slice(0,h.length-1).concat(e),d=0;d<e.length;d+=1)if("."===(u=e[d]))e.splice(d,1),d-=1;else if(".."===u){if(1===d&&(".."===e[2]||".."===e[0]))break;d>0&&(e.splice(d-1,2),d-=2)}e=e.join("/")}else 0===e.indexOf("./")&&(e=e.substring(2));if((h||g)&&m){for(i=e.split("/"),d=i.length;d>0;d-=1){if(n=i.slice(0,d).join("/"),h)for(a=h.length;a>0;a-=1)if((o=m[h.slice(0,a).join("/")])&&(o=o[n])){l=o,s=d;break}if(l)break;!c&&g&&g[n]&&(c=g[n],f=d)}!l&&c&&(l=c,s=f),l&&(i.splice(0,s,l),e=i.join("/"))}return e}function r(e,t){return function(){var i=y.call(arguments,0);return"string"!=typeof i[0]&&1===i.length&&i.push(null),h.apply(n,i.concat([e,t]))}}function s(e){return function(t){return l(t,e)}}function c(e){return function(t){p[e]=t}}function f(e){if(o(w,e)){var t=w[e];delete w[e],C[e]=!0,u.apply(n,t)}if(!o(p,e)&&!o(C,e))throw new Error("No "+e);return p[e]}function d(e){var t,i=e?e.indexOf("!"):-1;return i>-1&&(t=e.substring(0,i),e=e.substring(i+1,e.length)),[t,e]}function a(e){return function(){return v&&v.config&&v.config[e]||{}}}var u,h,m,g,p={},w={},v={},C={},M=Object.prototype.hasOwnProperty,y=[].slice,b=/\.js$/;m=function(e,t){var i,n=d(e),o=n[0];return e=n[1],o&&(o=l(o,t),i=f(o)),o?e=i&&i.normalize?i.normalize(e,s(t)):l(e,t):(e=l(e,t),n=d(e),o=n[0],e=n[1],o&&(i=f(o))),{f:o?o+"!"+e:e,n:e,pr:o,p:i}},g={require:function(e){return r(e)},exports:function(e){var t=p[e];return void 0!==t?t:p[e]={}},module:function(e){return{id:e,uri:"",exports:p[e],config:a(e)}}},u=function(e,t,i,l){var s,d,a,u,h,v,M=[],y=typeof i;if(l=l||e,"undefined"===y||"function"===y){for(t=!t.length&&i.length?["require","exports","module"]:t,h=0;h<t.length;h+=1)if(u=m(t[h],l),"require"===(d=u.f))M[h]=g.require(e);else if("exports"===d)M[h]=g.exports(e),v=!0;else if("module"===d)s=M[h]=g.module(e);else if(o(p,d)||o(w,d)||o(C,d))M[h]=f(d);else{if(!u.p)throw new Error(e+" missing "+d);u.p.load(u.n,r(l,!0),c(d),{}),M[h]=p[d]}a=i?i.apply(p[e],M):void 0,e&&(s&&s.exports!==n&&s.exports!==p[e]?p[e]=s.exports:a===n&&v||(p[e]=a))}else e&&(p[e]=i)},e=t=h=function(e,t,i,o,l){if("string"==typeof e)return g[e]?g[e](t):f(m(e,t).f);if(!e.splice){if(v=e,v.deps&&h(v.deps,v.callback),!t)return;t.splice?(e=t,t=i,i=null):e=n}return t=t||function(){},"function"==typeof i&&(i=o,o=l),o?u(n,e,t,i):setTimeout(function(){u(n,e,t,i)},4),h},h.config=function(e){return h(e)},e._defined=p,i=function(e,t,i){if("string"!=typeof e)throw new Error("See almond README: incorrect module build, no module name");t.splice||(i=t,t=[]),o(p,e)||o(w,e)||(w[e]=[e,t,i])},i.amd={jQuery:!0}}(),i("../lib/almond",function(){}),i("views/cellComposite",[],function(){return Marionette.CompositeView.extend({template:"#nf-tmpl-cell",className:"nf-cell",getChildView:function(){return n.channel("views").request("get:fieldLayout")},initialize:function(){this.collection=this.model.get("fields"),jQuery(this.el).css("width",this.model.get("width")+"%")},onRender:function(){0==this.collection.length&&jQuery(this.el).html("&nbsp;")},attachHtml:function(e,t){jQuery(e.el).find("nf-fields").append(t.el)}})}),i("views/rowComposite",["views/cellComposite"],function(e){return Marionette.CompositeView.extend({template:"#nf-tmpl-row",childView:e,className:"nf-row",initialize:function(){this.collection=this.model.get("cells")},onAttach:function(){1<this.collection.length&&jQuery(this.el).closest(".nf-form-wrap").addClass("nf-multi-cell")},attachHtml:function(e,t){jQuery(e.el).find("nf-cells").append(t.el)}})}),i("views/rowCollection",["views/rowComposite"],function(e){return Marionette.CollectionView.extend({tagName:"nf-rows-wrap",childView:e})}),i("models/cellFieldCollection",[],function(){return Backbone.Collection.extend({comparator:"order",initialize:function(e,t){this.cellModel=t.cellModel,_.each(e,function(e){e.set("cellcid",this.cellModel.cid,{silent:!0})},this),this.listenTo(this.cellModel.collection.rowModel.collection,"validate:fields",this.validateFields),this.listenTo(this.cellModel.collection.rowModel.collection,"show:fields",this.showFields),this.listenTo(this.cellModel.collection.rowModel.collection,"hide:fields",this.hideFields),this.cellModel.collection.formModel.get("fields").on("reset",this.resetCollection,this)},validateFields:function(){_.each(this.models,function(e){if("repeater"===e.get("type")){const t=n.channel("field-repeater").request("get:repeaterFieldsModelsArrayByForm",e.get("formID"));_.each(t,function(e){e.set("clean",!1),n.channel("submit").trigger("validate:field",e)})}else e.set("clean",!1),n.channel("submit").trigger("validate:field",e)},this)},showFields:function(){this.invoke("set",{visible:!0}),this.invoke(function(){this.trigger("change:value",this)})},hideFields:function(){this.invoke("set",{visible:!1}),this.invoke(function(){this.trigger("change:value",this)})},resetCollection:function(e){var t=[];_.each(this.models,function(i){"submit"!=i.get("type")?t.push(e.findWhere({key:i.get("key")})):t.push(i)}),this.reset(t)}})}),i("models/cellModel",["models/cellFieldCollection"],function(e){return Backbone.Model.extend({initialize:function(){var t=this.collection.formModel.get("fields"),i=[];_.each(this.get("fields"),function(e){if(void 0===t.get(e)){var n=t.findWhere({key:e});void 0!==n&&i.push(n)}else i.push(t.get(e))}),this.set("fields",new e(i,{cellModel:this})),this.set("order",Number(this.get("order"))),this.listenTo(this.get("fields"),"change:errors",this.triggerErrors)},triggerErrors:function(e){this.collection.trigger("change:errors",e)}})}),i("models/cellCollection",["models/cellModel"],function(e){return Backbone.Collection.extend({model:e,comparator:"order",initialize:function(e,t){this.rowModel=t.rowModel,this.formModel=t.formModel}})}),i("models/rowModel",["models/cellCollection"],function(e){return Backbone.Model.extend({initialize:function(){this.set("cells",new e(this.get("cells"),{rowModel:this,formModel:this.collection.formModel})),this.set("order",Number(this.get("order"))),this.listenTo(this.get("cells"),"change:errors",this.triggerErrors)},triggerErrors:function(e){this.collection.trigger("change:errors",e)}})}),i("models/rowCollection",["models/rowModel"],function(e){return Backbone.Collection.extend({model:e,comparator:"order",initialize:function(e,t){this.formModel=t.formModel},validateFields:function(){this.trigger("validate:fields",this)},showFields:function(){this.trigger("show:fields",this)},hideFields:function(){this.trigger("hide:fields",this)}})}),i("controllers/formContentFilters",["views/rowCollection","models/rowCollection"],function(e,t){return Marionette.Object.extend({initialize:function(){n.channel("formContent").request("add:viewFilter",this.getFormContentView,4),n.channel("formContent").request("add:loadFilter",this.formContentLoad,4),n.channel("fieldContents").request("add:viewFilter",this.getFormContentView,4),n.channel("fieldContents").request("add:loadFilter",this.formContentLoad,4)},getFormContentView:function(t){return e},formContentLoad:function(e,i,o,l){if(!0==e instanceof t)return e;var r=n.channel("formContent").request("get:loadFilters"),s=void 0!==r[1];!s&&_.isArray(e)&&0!=_.isArray(e).length&&void 0!==_.first(e)&&"part"==_.first(e).type&&(e=_.flatten(_.pluck(e,"formContentData"))),o=o||!1,l=l||!1;var c=[];return _.isArray(e)&&0!=e.length&&void 0===e[0].cells?_.each(e,function(e,t){c.push({order:t,cells:[{order:0,fields:[e],width:"100"}]})}):c=_.isEmpty(c)&&"undefined"!=typeof nfLayouts&&!s?nfLayouts.rows:e,new t(c,{formModel:i})}})}),i("controllers/loadControllers",["controllers/formContentFilters"],function(e){return Marionette.Object.extend({initialize:function(){new e}})});var n=Backbone.Radio;t(["controllers/loadControllers"],function(e){(new(Marionette.Application.extend({initialize:function(e){this.listenTo(n.channel("form"),"before:filterData",this.loadControllers)},loadControllers:function(t){new e}}))).start()}),i("main",function(){})}();