function updateChildSponsorshipPreview(){updatingPreview=!0;__doPostBack("ctl00_sponsoredChildren_SponsoredChildrenListUpdatePnl")}function setupAutoTaxReceipt(){var t="div#confirm_provide_details select.sponsorship_title_field",i="div#confirm_provide_details input.sponsorship_first_name_field",r="div#confirm_provide_details input.sponsorship_last_name_field",f="div#confirm_provide_details select.sponsorship_spouse_title_field",o="div#confirm_provide_details input.sponsorship_spouse_first_name_field",s="div#confirm_provide_details input.sponsorship_spouse_last_name_field",h="div#confirm_provide_details input.sponsorship_family_name_field",c="div#confirm_provide_details input.sponsorship_business_name_field",l="div#confirm_provide_details input.supporter_church_name",e="div#confirm_provide_details select.sponsorship_supporter_type",a="div#confirm_provide_details input.sponsorship_tax_receipt_name_field",u=function(){var u=$(t+" option:selected").val(),n=u!=""?$(t+" option:selected").text():"",f=$(i).val(),e=$(r).val();return(n!=""?n+" ":"")+f+" "+e},n=function(){var e=$(t+" option:selected").val(),n=e!=""?$(t+" option:selected").text():"",h=$(i).val(),c=$(r).val(),l=$(f+" option:selected").val(),u=l!=""?$(f+" option:selected").text():"",a=$(o).val(),v=$(s).val();return(n!=""?n+" ":"")+h+" "+c+" and "+(u!=""?u+" ":"")+a+" "+v},v=function(){return $(h).val()},y=function(){return $(c).val()},p=function(){return $(l).val()},w=function(){var b=$(e),k=$(a),w;if(k.length>0)if(w=function(n){k.data("is-auto")!=="N"&&k.val(n)},b.val().toUpperCase()=="INDIVIDUAL"){$(t).on("change",function(){w(u())});$(i).on("blur",function(){w(u())});$(r).on("blur",function(){w(u())})}else if(b.val().toUpperCase()=="MARRIED"){$(t).on("change",function(){w(n())});$(i).on("blur",function(){w(n())});$(r).on("blur",function(){w(n())});$(f).on("change",function(){w(n())});$(o).on("blur",function(){w(n())});$(s).on("blur",function(){w(n())})}else if(b.val().toUpperCase()=="FAMILY")$(h).on("blur",function(){w(v())});else if(b.val().toUpperCase()=="BUSINESS")$(c).on("blur",function(){w(y())});else if(b.val().toUpperCase()=="CHURCH")$(l).on("blur",function(){w(p())})};w();$(e).on("change",w);$(a).on("blur",function(){var i=$(e),t="",r;i.val().toUpperCase()=="INDIVIDUAL"?t=u():i.val().toUpperCase()=="MARRIED"?t=n():i.val().toUpperCase()=="FAMILY"?t=v():i.val().toUpperCase()=="BUSINESS"?t=y():i.val().toUpperCase()=="CHURCH"&&(t=p());r=$(this).val().replace(/ /g,"");t=t.replace(/ /g,"");r==t||r==""?$(this).data("is-auto","Y"):$(this).data("is-auto","N")})}function setupOptionRadioFields(){if($("label.option_radio").length!=0)$("label.option_radio").on("click",function(){if(!$(this).hasClass("r_on")){var t=$(this).data("option-group"),n=$(this).data("associated-detail");t!=null&&t!=""&&n!=null&&n!=""&&($("label.option_radio[data-option-group="+t+"]").removeClass("r_on"),$(this).addClass("r_on"),$("."+n).hide(),$("."+n).html("<p class='stronger centre_text'>Please wait, loading...<\/p>"),$("."+n).delay(500).fadeIn("fast"))}})}function setupSponsorshipAddressLookup(){$(document).ready(function(){if($("div#confirm_provide_details input.address_line_one_field").length!=0){var n,t=function(){$("div#confirm_provide_details select.country_field option:selected").text().toUpperCase()!="NEW ZEALAND"?n.disable():n.enable()};initAF=function(){n=new AddressFinder.Widget(document.getElementById($("div#confirm_provide_details input.address_line_one_field").attr("id")),"8f10f110-e0c1-012e-0c1b-000c2987bf2e","NZ",{show_locations:!1});n.on("result:select",function(n,t){$addressLineOneField=$("div#confirm_provide_details input.address_line_one_field");$addressLineTwoField=$("div#confirm_provide_details input.address_line_two_field");$suburbField=$("div#confirm_provide_details input.suburb_field");$cityField=$("div#confirm_provide_details input.city_field");$postcodeField=$("div#confirm_provide_details input.postcode_field");$countryField=$("div#confirm_provide_details select.country_field");$addressLineOneField.val("");$addressLineTwoField.val("");$suburbField.val("");$cityField.val("");$postcodeField.val("");t.box_type?($addressLineOneField.val(t.box_type&&t.number?t.box_type+" "+t.number:t.a),$suburbField.val(t.lobby_name||"")):t.unit_identifier?($addressLineOneField.val(t.unit_type+" "+t.unit_identifier),$addressLineTwoField.val(t.number+(t.alpha||"")+" "+t.street),$suburbField.val(t.suburb||"")):($addressLineOneField.val(t.number+(t.alpha||"")+" "+t.street),$suburbField.val(t.suburb||""));$cityField.val(t.mailtown||t.city);$postcodeField.val(t.postcode)});$("div#confirm_provide_details select.country_field").on("change",function(){t()});t()};$.getScript("https://api.addressfinder.io/assets/v3/widget.js",initAF)}})}function setupChurchLookup(){var n=$("div.personal_details_content input.supporter_church_name"),t=$("div.personal_details_content div.supporter_church_details > input[type='hidden']"),i=$("div.personal_details_content select.supporter_church_denomination"),u=$("div.personal_details_content div.supporter_church_details").data("church-endpoint-url"),r;if(n.length>0){r=function(r,u,f){n.val(r);u!==null&&typeof u!="undefined"?i.val(u):i.val("");t.val(f)};n.autocomplete({source:u,minLength:3,response:function(n,t){for(var i,u,r=0;r<=t.content.length-1;r++)i=t.content[r],u={label:i.Denomination!==null?i.Name+" - "+i.Denomination.Name:i.Name,value:i.Name,id:i.Id,denominationId:i.Denomination!==null?i.Denomination.Id:""},t.content[r]=u},select:function(n,t){r(t.item.value,t.item.denominationId,t.item.id)}});n.on("keydown",function(n){n.keyCode!=13&&(n.keyCode<37||n.keyCode>40)&&t.val("")})}}function setupSponsorshipDatePicker(){$(".datepicker").datepicker("destroy").datepicker({changeMonth:!0,changeYear:!0,yearRange:"c-100:c",minDate:"-120Y",maxDate:"+0D",dateFormat:"dd/mm/yy"})}function getCountries(n){if(countryLocations.length>0){n(countryLocations);return}$.ajax({url:"/api/countries",cache:!1,dataType:"json"}).done(function(t){t!=null?(countryLocations=t.sort(function(n,t){return n.Name>t.Name?1:-1}),n(countryLocations)):n([])}).fail(function(){n([])})}function setupFindChildrenForm(){var n,t,i,r;$("section#child_results").length!=0&&($("div.find_children_results_list img.lazy").lazyload(),n=null,t=function(){var i=Modernizr.mq("only screen and (max-width: 1024px)")?{zoomControl:!1,tap:!1}:{zoomControl:!1},t;n=L.map("find_children_map",i);L.tileLayer.provider("Esri.WorldPhysical").addTo(n);n.touchZoom.disable();n.doubleClickZoom.disable();n.scrollWheelZoom.disable();Modernizr.mq("only screen and (min-width: 768px)")?(t=L.icon({iconUrl:"/CMSTemplates/TEARFund/img/maps/marker-sponsorship.png",iconRetinaUrl:"/CMSTemplates/TEARFund/img/maps/marker-sponsorship@2x.png",iconSize:[26,36],iconAnchor:[13,40],popupAnchor:[0,-40]}),getCountries(function(i){for(var r,u=0;u<i.length;u++)if(r=i[u],r.GPSCoordinatesFixed!=null&&r.GPSCoordinatesFixed!=""){var f=r.GPSCoordinatesFixed.split("|")[1],e=r.GPSCoordinatesFixed.split("|")[0],o=L.marker([f,e],{icon:t,countryName:r.Name,countryCode:r.CrmId}).on("click",function(n){return $("#find_children fieldset select.find_children_countries_list").val(n.target.options.countryCode),!1}),s="<h4>"+r.Name+"<\/h4><p>"+r.Description+"<\/p>";o.addTo(n).bindPopup(s)}})):getCountries(function(n){for(var i,t=0;t<n.length;t++)i=n[t]});n.setView([-10,-55],3)},Modernizr.mq("(min-width: 600px)")&&$("div#find_children_map").length>0&&!$("div#find_children_map").hasClass("leaflet-container")&&t(),i=function(){$(document).off("click","#child_results .find_children_results_list > div > div.child").on("click","#child_results .find_children_results_list > div > div.child",function(){var l=$(this).attr("id"),t=$(this),s=t.data("childadded"),o=t.data("child-id"),h=t.hasClass("active"),u,n,c,e,i,r,f;return h?(u=$("#child_results .find_children_results_list > div > section.child_detail"),u.hide(),$("#child_results .find_children_results_list > div > div.child").removeClass("active"),$("#child_results .find_children_results_list > div > div.child span.arrow").remove(),u.appendTo($("#child_results .find_children_results_list > div > div.child[data-child-id="+u.data("child-id")+"] div.detail"))):s||($("#child_results .find_children_results_list > div > section.child_detail").appendTo($("#child_results .find_children_results_list > div > div.child[data-child-id="+$("#child_results .find_children_results_list > div > section.child_detail").data("child-id")+"] div.detail")),$("#child_results .find_children_results_list > div > div.child").removeClass("active"),$("#child_results .find_children_results_list > div > div.child span.arrow").remove(),n=$("div.detail > section",t),n.addClass("child_detail").hide(),c=$("div.photo",n),$("div.child_map",n).remove(),$(".child_information",n).after("<div class='child_map'><\/div>"),e=$("div.child_map",n),e.attr("id","child_map"+o),e.html(""),i=2,Modernizr.mq("only screen and (min-width: 1080px)")?i=5:Modernizr.mq("only screen and (min-width: 768px)")&&(i=4),i==1?t.after(n):(r=t.index("#child_results .find_children_results_list > div > div.child")+1,f=r%i==0?r-1:i-r%i+(r-1),f+1>$("#child_results .find_children_results_list > div > div.child").length&&(f=$("#child_results .find_children_results_list > div > div.child").length-1),$($("#child_results .find_children_results_list > div > div.child")[f]).after(n)),$.ajax({url:"/api/child/detail?needKey="+n.attr("data-child-id"),cache:!1,dataType:"json"}).done(function(i){var s=n.find("div.desc > p"),r=i.BeneficiaryHouseholdList&&i.BeneficiaryHouseholdList.length>0?i.BeneficiaryHouseholdList[0]:null,l,a,u,p,w;if(r){var e="guardian",h=r.IsNaturalFatherLivingWithChild&&r.IsNaturalFatherLivingWithChild.length>0?r.IsNaturalFatherLivingWithChild.toLowerCase()=="true":!1,c=r.IsNaturalMotherLivingWithChild&&r.IsNaturalMotherLivingWithChild.length>0?r.IsNaturalMotherLivingWithChild.toLowerCase()=="true":!1;h&c?e="mother and father":h?e="father":c&&(e="mother")}if(l=s.text().replace("[language]",i.CorrespondenceLanguage).replace("[livingwith]",e),s.text(l),n.show(),Modernizr.mq("only screen and (min-width: 600px)")&&$("div.child_map",n).length>0)if(a=Modernizr.mq("only screen and (max-width: 767px)")?2:3,u=n.data("country-gps-coordinates"),u!=null&&u!=""){var v=u!=null?u.split("|")[1]:-40,y=u!=null?u.split("|")[0]:-60,b=Modernizr.mq("only screen and (max-width: 1024px)")?{zoomControl:!1,tap:!1}:{zoomControl:!1},f=L.map("child_map"+o,b).setView([v,y],a);L.tileLayer.provider("Esri.WorldPhysical").addTo(f);f.touchZoom.disable();f.doubleClickZoom.disable();f.scrollWheelZoom.disable();Modernizr.mq("only screen and (max-width: 1024px)")&&f.dragging.disable();p=L.icon({iconUrl:"/CMSTemplates/TEARFund/img/maps/map_marker.png",iconRetinaUrl:"/CMSTemplates/TEARFund/img/maps/map_marker@2x.png",iconSize:[26,40],iconAnchor:[26,40],popupAnchor:[-3,-76]});L.marker([v,y],{icon:p}).addTo(f)}else $("div.child_map",n).remove();t.addClass("active");t.append("<span class='arrow'>&nbsp;<\/span>");w=t.offset().top-80;$("html, body").animate({scrollTop:w},600);$("div.child_info_items > ul > li > a",n).off("click tap").on("click tap",function(n){n.preventDefault();var t=$(this).parents("li").first(),i=$(this).siblings("div"),r=$(this).parents("div.child_info_items");t.hasClass("active")?i.slideUp("fast",function(){t.removeClass("active")}):($("li.item div",r).hide(),$("li.item",r).removeClass("active"),t.addClass("active"),i.hide(),i.slideDown("fast"))});$("html,body").trigger("scroll")}).fail(function(){console.log("Child detail failed");n.show()})),!1});$(window).off("resize.child_sponsorship").on("resize.child_sponsorship",function(){if($("#child_results .find_children_results_list > div > div.child").length){$("#child_results .find_children_results_list > div > div.child").css("height","auto");var n=0;$("#child_results .find_children_results_list > div > div.child").each(function(){$(this).height()>=n&&(n=$(this).height())});$("#child_results .find_children_results_list > div > div.child").height(n)}});$(window).trigger("resize.child_sponsorship");var n=function(){var n=$("#child_results .find_children_results_list").data("child-paging")*1;$("#child_results .find_children_results_list > div > div.child.hidden:lt("+n+")").removeClass("hidden");$("#child_results .find_children_results_list > div > div.child.hidden").length==0&&$("#child_results .find_children_results_list div.find_children_show_more_pnl").hide()};$("#child_results .find_children_results_list > div > div.child").addClass("hidden");n();$("#child_results .find_children_results_list a.show_more_children").on("click",function(t){t.preventDefault();n();$("html,body").trigger("scroll")});$("section#child_results div.find_children_results_list.new_search").length>0?$("html, body").animate({scrollTop:$("section#child_results").offset().top-50},500):$("section#child_results div.no_results.new_search").length>0&&$("html, body").animate({scrollTop:$("section#child_results").offset().top-50},500)},i(),r=function(){$("a.find_children_submit_btn").on("click",function(){$("section#child_results div.find_children_results_list").hide();$("section#child_results div.no_results").hide();$("section#child_results h3.number_children_found").hide();$("section#child_results div.find_children_loading_text").removeClass("hidden");$("html, body").animate({scrollTop:$("section#find_children").offset().top-20},500)})},r(),setupSelectedChildrenInfo(),$("header.main div.banner_photo").removeClass("minimised"))}function setupOtherScreens(){($("div.sponsorship_options_content").length!=0||$("div.personal_details_content").length!=0||$("div.sponsorship_payment_summary_content").length!=0)&&setupSelectedChildrenInfo()}var updatingPreview,setupSelectedChildrenInfo,countryLocations,prm;!function(n,t,i){var e=n.L,r={},u,f;r.version="0.6.4";"object"==typeof module&&"object"==typeof module.exports?module.exports=r:"function"==typeof define&&define.amd&&define(r);r.noConflict=function(){return n.L=e,this};n.L=r;r.Util={extend:function(n){for(var t,r,f=Array.prototype.slice.call(arguments,1),i=0,u=f.length;u>i;i++){r=f[i]||{};for(t in r)r.hasOwnProperty(t)&&(n[t]=r[t])}return n},bind:function(n,t){var i=arguments.length>2?Array.prototype.slice.call(arguments,2):null;return function(){return n.apply(t,i||arguments)}},stamp:function(){var t=0,n="_leaflet_id";return function(i){return i[n]=i[n]||++t,i[n]}}(),invokeEach:function(n,t,i){var r,u;if("object"==typeof n){u=Array.prototype.slice.call(arguments,3);for(r in n)t.apply(i,[r,n[r]].concat(u));return!0}return!1},limitExecByInterval:function(n,t,i){var r,u;return function f(){var e=arguments;return r?(u=!0,void 0):(r=!0,setTimeout(function(){r=!1;u&&(f.apply(i,e),u=!1)},t),n.apply(i,e),void 0)}},falseFn:function(){return!1},formatNum:function(n,t){var i=Math.pow(10,t||5);return Math.round(n*i)/i},trim:function(n){return n.trim?n.trim():n.replace(/^\s+|\s+$/g,"")},splitWords:function(n){return r.Util.trim(n).split(/\s+/)},setOptions:function(n,t){return n.options=r.extend({},n.options,t),n.options},getParamString:function(n,t,i){var u=[];for(var r in n)u.push(encodeURIComponent(i?r.toUpperCase():r)+"="+encodeURIComponent(n[r]));return(t&&-1!==t.indexOf("?")?"&":"?")+u.join("&")},template:function(n,t){return n.replace(/\{ *([\w_]+) *\}/g,function(n,r){var u=t[r];if(u===i)throw new Error("No value provided for variable "+n);return"function"==typeof u&&(u=u(t)),u})},isArray:function(n){return"[object Array]"===Object.prototype.toString.call(n)},emptyImageUrl:"data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs="},function(){function t(t){for(var r,u=["webkit","moz","o","ms"],i=0;i<u.length&&!r;i++)r=n[u[i]+t];return r}function i(t){var i=+new Date,r=Math.max(0,16-(i-u));return u=i+r,n.setTimeout(t,r)}var u=0,f=n.requestAnimationFrame||t("RequestAnimationFrame")||i,e=n.cancelAnimationFrame||t("CancelAnimationFrame")||t("CancelRequestAnimationFrame")||function(t){n.clearTimeout(t)};r.Util.requestAnimFrame=function(t,u,e,o){return t=r.bind(t,u),e&&f===i?(t(),void 0):f.call(n,t,o)};r.Util.cancelAnimFrame=function(t){t&&e.call(n,t)}}();r.extend=r.Util.extend;r.bind=r.Util.bind;r.stamp=r.Util.stamp;r.setOptions=r.Util.setOptions;r.Class=function(){};r.Class.extend=function(n){var i=function(){this.initialize&&this.initialize.apply(this,arguments);this._initHooks&&this.callInitHooks()},e=function(){},t,u,f;e.prototype=this.prototype;t=new e;t.constructor=i;i.prototype=t;for(u in this)this.hasOwnProperty(u)&&"prototype"!==u&&(i[u]=this[u]);return n.statics&&(r.extend(i,n.statics),delete n.statics),n.includes&&(r.Util.extend.apply(null,[t].concat(n.includes)),delete n.includes),n.options&&t.options&&(n.options=r.extend({},t.options,n.options)),r.extend(t,n),t._initHooks=[],f=this,i.__super__=f.prototype,t.callInitHooks=function(){if(!this._initHooksCalled){f.prototype.callInitHooks&&f.prototype.callInitHooks.call(this);this._initHooksCalled=!0;for(var n=0,i=t._initHooks.length;i>n;n++)t._initHooks[n].call(this)}},i};r.Class.include=function(n){r.extend(this.prototype,n)};r.Class.mergeOptions=function(n){r.extend(this.prototype.options,n)};r.Class.addInitHook=function(n){var t=Array.prototype.slice.call(arguments,1),i="function"==typeof n?n:function(){this[n].apply(this,t)};this.prototype._initHooks=this.prototype._initHooks||[];this.prototype._initHooks.push(i)};u="_leaflet_events";r.Mixin={};r.Mixin.Events={addEventListener:function(n,t,i){if(r.Util.invokeEach(n,this.addEventListener,this,t,i))return this;var o,v,c,e,s,l,h,f=this[u]=this[u]||{},a=i&&r.stamp(i);for(n=r.Util.splitWords(n),o=0,v=n.length;v>o;o++)c={action:t,context:i||this},e=n[o],i?(s=e+"_idx",l=s+"_len",h=f[s]=f[s]||{},h[a]||(h[a]=[],f[l]=(f[l]||0)+1),h[a].push(c)):(f[e]=f[e]||[],f[e].push(c));return this},hasEventListeners:function(n){var t=this[u];return!!t&&(n in t&&t[n].length>0||n+"_idx"in t&&t[n+"_idx_len"]>0)},removeEventListener:function(n,t,i){if(!this[u])return this;if(!n)return this.clearAllEventListeners();if(r.Util.invokeEach(n,this.removeEventListener,this,t,i))return this;var h,a,c,f,e,l,v,o,y,s=this[u],p=i&&r.stamp(i);for(n=r.Util.splitWords(n),h=0,a=n.length;a>h;h++)if(c=n[h],l=c+"_idx",v=l+"_len",o=s[l],t){if(f=i&&o?o[p]:s[c]){for(e=f.length-1;e>=0;e--)f[e].action!==t||i&&f[e].context!==i||(y=f.splice(e,1),y[0].action=r.Util.falseFn);i&&o&&0===f.length&&(delete o[p],s[v]--)}}else delete s[c],delete s[l];return this},clearAllEventListeners:function(){return delete this[u],this},fireEvent:function(n,t){if(!this.hasEventListeners(n))return this;var f,i,e,o,h,c=r.Util.extend({},t,{type:n,target:this}),s=this[u];if(s[n])for(f=s[n].slice(),i=0,e=f.length;e>i;i++)f[i].action.call(f[i].context||this,c);o=s[n+"_idx"];for(h in o)if(f=o[h].slice())for(i=0,e=f.length;e>i;i++)f[i].action.call(f[i].context||this,c);return this},addOneTimeEventListener:function(n,t,i){if(r.Util.invokeEach(n,this.addOneTimeEventListener,this,t,i))return this;var u=r.bind(function(){this.removeEventListener(n,t,i).removeEventListener(n,u,i)},this);return this.addEventListener(n,t,i).addEventListener(n,u,i)}};r.Mixin.Events.on=r.Mixin.Events.addEventListener;r.Mixin.Events.off=r.Mixin.Events.removeEventListener;r.Mixin.Events.once=r.Mixin.Events.addOneTimeEventListener;r.Mixin.Events.fire=r.Mixin.Events.fireEvent,function(){var u=!!n.ActiveXObject,p=u&&!n.XMLHttpRequest,w=u&&!t.querySelector,b=u&&!t.addEventListener,f=navigator.userAgent.toLowerCase(),h=-1!==f.indexOf("webkit"),k=-1!==f.indexOf("chrome"),c=-1!==f.indexOf("phantom"),d=-1!==f.indexOf("android"),g=-1!==f.search("android [23]"),e=typeof orientation!=i+"",l=n.navigator&&n.navigator.msPointerEnabled&&n.navigator.msMaxTouchPoints,nt="devicePixelRatio"in n&&n.devicePixelRatio>1||"matchMedia"in n&&n.matchMedia("(min-resolution:144dpi)")&&n.matchMedia("(min-resolution:144dpi)").matches,o=t.documentElement,a=u&&"transition"in o.style,s="WebKitCSSMatrix"in n&&"m11"in new n.WebKitCSSMatrix,v="MozPerspective"in o.style,y="OTransition"in o.style,tt=!n.L_DISABLE_3D&&(a||s||v||y)&&!c,it=!n.L_NO_TOUCH&&!c&&function(){var i="ontouchstart",n,r;return l||i in o?!0:(n=t.createElement("div"),r=!1,n.setAttribute?(n.setAttribute(i,"return;"),"function"==typeof n[i]&&(r=!0),n.removeAttribute(i),n=null,r):!1)}();r.Browser={ie:u,ie6:p,ie7:w,ielt9:b,webkit:h,android:d,android23:g,chrome:k,ie3d:a,webkit3d:s,gecko3d:v,opera3d:y,any3d:tt,mobile:e,mobileWebkit:e&&h,mobileWebkit3d:e&&s,mobileOpera:e&&n.opera,touch:it,msTouch:l,retina:nt}}();r.Point=function(n,t,i){this.x=i?Math.round(n):n;this.y=i?Math.round(t):t};r.Point.prototype={clone:function(){return new r.Point(this.x,this.y)},add:function(n){return this.clone()._add(r.point(n))},_add:function(n){return this.x+=n.x,this.y+=n.y,this},subtract:function(n){return this.clone()._subtract(r.point(n))},_subtract:function(n){return this.x-=n.x,this.y-=n.y,this},divideBy:function(n){return this.clone()._divideBy(n)},_divideBy:function(n){return this.x/=n,this.y/=n,this},multiplyBy:function(n){return this.clone()._multiplyBy(n)},_multiplyBy:function(n){return this.x*=n,this.y*=n,this},round:function(){return this.clone()._round()},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},floor:function(){return this.clone()._floor()},_floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this},distanceTo:function(n){n=r.point(n);var t=n.x-this.x,i=n.y-this.y;return Math.sqrt(t*t+i*i)},equals:function(n){return n=r.point(n),n.x===this.x&&n.y===this.y},contains:function(n){return n=r.point(n),Math.abs(n.x)<=Math.abs(this.x)&&Math.abs(n.y)<=Math.abs(this.y)},toString:function(){return"Point("+r.Util.formatNum(this.x)+", "+r.Util.formatNum(this.y)+")"}};r.point=function(n,t,u){return n instanceof r.Point?n:r.Util.isArray(n)?new r.Point(n[0],n[1]):n===i||null===n?n:new r.Point(n,t,u)};r.Bounds=function(n,t){if(n)for(var r=t?[n,t]:n,i=0,u=r.length;u>i;i++)this.extend(r[i])};r.Bounds.prototype={extend:function(n){return n=r.point(n),this.min||this.max?(this.min.x=Math.min(n.x,this.min.x),this.max.x=Math.max(n.x,this.max.x),this.min.y=Math.min(n.y,this.min.y),this.max.y=Math.max(n.y,this.max.y)):(this.min=n.clone(),this.max=n.clone()),this},getCenter:function(n){return new r.Point((this.min.x+this.max.x)/2,(this.min.y+this.max.y)/2,n)},getBottomLeft:function(){return new r.Point(this.min.x,this.max.y)},getTopRight:function(){return new r.Point(this.max.x,this.min.y)},getSize:function(){return this.max.subtract(this.min)},contains:function(n){var t,i;return n="number"==typeof n[0]||n instanceof r.Point?r.point(n):r.bounds(n),n instanceof r.Bounds?(t=n.min,i=n.max):t=i=n,t.x>=this.min.x&&i.x<=this.max.x&&t.y>=this.min.y&&i.y<=this.max.y},intersects:function(n){n=r.bounds(n);var t=this.min,i=this.max,u=n.min,f=n.max,e=f.x>=t.x&&u.x<=i.x,o=f.y>=t.y&&u.y<=i.y;return e&&o},isValid:function(){return!(!this.min||!this.max)}};r.bounds=function(n,t){return!n||n instanceof r.Bounds?n:new r.Bounds(n,t)};r.Transformation=function(n,t,i,r){this._a=n;this._b=t;this._c=i;this._d=r};r.Transformation.prototype={transform:function(n,t){return this._transform(n.clone(),t)},_transform:function(n,t){return t=t||1,n.x=t*(this._a*n.x+this._b),n.y=t*(this._c*n.y+this._d),n},untransform:function(n,t){return t=t||1,new r.Point((n.x/t-this._b)/this._a,(n.y/t-this._d)/this._c)}};r.DomUtil={get:function(n){return"string"==typeof n?t.getElementById(n):n},getStyle:function(n,i){var r=n.style[i],u;return(!r&&n.currentStyle&&(r=n.currentStyle[i]),(!r||"auto"===r)&&t.defaultView)&&(u=t.defaultView.getComputedStyle(n,null),r=u?u[i]:null),"auto"===r?null:r},getViewportOffset:function(n){var o,f=0,u=0,i=n,e=t.body,s=t.documentElement,h=r.Browser.ie7;do{if(f+=i.offsetTop||0,u+=i.offsetLeft||0,f+=parseInt(r.DomUtil.getStyle(i,"borderTopWidth"),10)||0,u+=parseInt(r.DomUtil.getStyle(i,"borderLeftWidth"),10)||0,o=r.DomUtil.getStyle(i,"position"),i.offsetParent===e&&"absolute"===o)break;if("fixed"===o){f+=e.scrollTop||s.scrollTop||0;u+=e.scrollLeft||s.scrollLeft||0;break}if("relative"===o&&!i.offsetLeft){var l=r.DomUtil.getStyle(i,"width"),a=r.DomUtil.getStyle(i,"max-width"),c=i.getBoundingClientRect();("none"!==l||"none"!==a)&&(u+=c.left+i.clientLeft);f+=c.top+(e.scrollTop||s.scrollTop||0);break}i=i.offsetParent}while(i);i=n;do{if(i===e)break;f-=i.scrollTop||0;u-=i.scrollLeft||0;r.DomUtil.documentIsLtr()||!r.Browser.webkit&&!h||(u+=i.scrollWidth-i.clientWidth,h&&"hidden"!==r.DomUtil.getStyle(i,"overflow-y")&&"hidden"!==r.DomUtil.getStyle(i,"overflow")&&(u+=17));i=i.parentNode}while(i);return new r.Point(u,f)},documentIsLtr:function(){return r.DomUtil._docIsLtrCached||(r.DomUtil._docIsLtrCached=!0,r.DomUtil._docIsLtr="ltr"===r.DomUtil.getStyle(t.body,"direction")),r.DomUtil._docIsLtr},create:function(n,i,r){var u=t.createElement(n);return u.className=i,r&&r.appendChild(u),u},hasClass:function(n,t){return n.className.length>0&&new RegExp("(^|\\s)"+t+"(\\s|$)").test(n.className)},addClass:function(n,t){r.DomUtil.hasClass(n,t)||(n.className+=(n.className?" ":"")+t)},removeClass:function(n,t){n.className=r.Util.trim((" "+n.className+" ").replace(" "+t+" "," "))},setOpacity:function(n,t){if("opacity"in n.style)n.style.opacity=t;else if("filter"in n.style){var i=!1,r="DXImageTransform.Microsoft.Alpha";try{i=n.filters.item(r)}catch(u){if(1===t)return}t=Math.round(100*t);i?(i.Enabled=100!==t,i.Opacity=t):n.style.filter+=" progid:"+r+"(opacity="+t+")"}},testProp:function(n){for(var r=t.documentElement.style,i=0;i<n.length;i++)if(n[i]in r)return n[i];return!1},getTranslateString:function(n){var t=r.Browser.webkit3d,i="translate"+(t?"3d":"")+"(",u=(t?",0":"")+")";return i+n.x+"px,"+n.y+"px"+u},getScaleString:function(n,t){var i=r.DomUtil.getTranslateString(t.add(t.multiplyBy(-1*n))),u=" scale("+n+") ";return i+u},setPosition:function(n,t,i){n._leaflet_pos=t;!i&&r.Browser.any3d?(n.style[r.DomUtil.TRANSFORM]=r.DomUtil.getTranslateString(t),r.Browser.mobileWebkit3d&&(n.style.WebkitBackfaceVisibility="hidden")):(n.style.left=t.x+"px",n.style.top=t.y+"px")},getPosition:function(n){return n._leaflet_pos}};r.DomUtil.TRANSFORM=r.DomUtil.testProp(["transform","WebkitTransform","OTransform","MozTransform","msTransform"]);r.DomUtil.TRANSITION=r.DomUtil.testProp(["webkitTransition","transition","OTransition","MozTransition","msTransition"]);r.DomUtil.TRANSITION_END="webkitTransition"===r.DomUtil.TRANSITION||"OTransition"===r.DomUtil.TRANSITION?r.DomUtil.TRANSITION+"End":"transitionend",function(){var i=r.DomUtil.testProp(["userSelect","WebkitUserSelect","OUserSelect","MozUserSelect","msUserSelect"]);r.extend(r.DomUtil,{disableTextSelection:function(){if(r.DomEvent.on(n,"selectstart",r.DomEvent.preventDefault),i){var u=t.documentElement.style;this._userSelect=u[i];u[i]="none"}},enableTextSelection:function(){r.DomEvent.off(n,"selectstart",r.DomEvent.preventDefault);i&&(t.documentElement.style[i]=this._userSelect,delete this._userSelect)},disableImageDrag:function(){r.DomEvent.on(n,"dragstart",r.DomEvent.preventDefault)},enableImageDrag:function(){r.DomEvent.off(n,"dragstart",r.DomEvent.preventDefault)}})}();r.LatLng=function(n,t){var i=parseFloat(n),r=parseFloat(t);if(isNaN(i)||isNaN(r))throw new Error("Invalid LatLng object: ("+n+", "+t+")");this.lat=i;this.lng=r};r.extend(r.LatLng,{DEG_TO_RAD:Math.PI/180,RAD_TO_DEG:180/Math.PI,MAX_MARGIN:1e-9});r.LatLng.prototype={equals:function(n){if(!n)return!1;n=r.latLng(n);var t=Math.max(Math.abs(this.lat-n.lat),Math.abs(this.lng-n.lng));return t<=r.LatLng.MAX_MARGIN},toString:function(n){return"LatLng("+r.Util.formatNum(this.lat,n)+", "+r.Util.formatNum(this.lng,n)+")"},distanceTo:function(n){n=r.latLng(n);var t=r.LatLng.DEG_TO_RAD,e=(n.lat-this.lat)*t,o=(n.lng-this.lng)*t,s=this.lat*t,h=n.lat*t,i=Math.sin(e/2),u=Math.sin(o/2),f=i*i+u*u*Math.cos(s)*Math.cos(h);return 12756274*Math.atan2(Math.sqrt(f),Math.sqrt(1-f))},wrap:function(n,t){var i=this.lng;return n=n||-180,t=t||180,i=(i+t)%(t-n)+(n>i||i===t?t:n),new r.LatLng(this.lat,i)}};r.latLng=function(n,t){return n instanceof r.LatLng?n:r.Util.isArray(n)?new r.LatLng(n[0],n[1]):n===i||null===n?n:"object"==typeof n&&"lat"in n?new r.LatLng(n.lat,"lng"in n?n.lng:n.lon):new r.LatLng(n,t)};r.LatLngBounds=function(n,t){if(n)for(var r=t?[n,t]:n,i=0,u=r.length;u>i;i++)this.extend(r[i])};r.LatLngBounds.prototype={extend:function(n){return n?(n="number"==typeof n[0]||"string"==typeof n[0]||n instanceof r.LatLng?r.latLng(n):r.latLngBounds(n),n instanceof r.LatLng?this._southWest||this._northEast?(this._southWest.lat=Math.min(n.lat,this._southWest.lat),this._southWest.lng=Math.min(n.lng,this._southWest.lng),this._northEast.lat=Math.max(n.lat,this._northEast.lat),this._northEast.lng=Math.max(n.lng,this._northEast.lng)):(this._southWest=new r.LatLng(n.lat,n.lng),this._northEast=new r.LatLng(n.lat,n.lng)):n instanceof r.LatLngBounds&&(this.extend(n._southWest),this.extend(n._northEast)),this):this},pad:function(n){var t=this._southWest,i=this._northEast,u=Math.abs(t.lat-i.lat)*n,f=Math.abs(t.lng-i.lng)*n;return new r.LatLngBounds(new r.LatLng(t.lat-u,t.lng-f),new r.LatLng(i.lat+u,i.lng+f))},getCenter:function(){return new r.LatLng((this._southWest.lat+this._northEast.lat)/2,(this._southWest.lng+this._northEast.lng)/2)},getSouthWest:function(){return this._southWest},getNorthEast:function(){return this._northEast},getNorthWest:function(){return new r.LatLng(this.getNorth(),this.getWest())},getSouthEast:function(){return new r.LatLng(this.getSouth(),this.getEast())},getWest:function(){return this._southWest.lng},getSouth:function(){return this._southWest.lat},getEast:function(){return this._northEast.lng},getNorth:function(){return this._northEast.lat},contains:function(n){n="number"==typeof n[0]||n instanceof r.LatLng?r.latLng(n):r.latLngBounds(n);var t,i,u=this._southWest,f=this._northEast;return n instanceof r.LatLngBounds?(t=n.getSouthWest(),i=n.getNorthEast()):t=i=n,t.lat>=u.lat&&i.lat<=f.lat&&t.lng>=u.lng&&i.lng<=f.lng},intersects:function(n){n=r.latLngBounds(n);var t=this._southWest,i=this._northEast,u=n.getSouthWest(),f=n.getNorthEast(),e=f.lat>=t.lat&&u.lat<=i.lat,o=f.lng>=t.lng&&u.lng<=i.lng;return e&&o},toBBoxString:function(){return[this.getWest(),this.getSouth(),this.getEast(),this.getNorth()].join(",")},equals:function(n){return n?(n=r.latLngBounds(n),this._southWest.equals(n.getSouthWest())&&this._northEast.equals(n.getNorthEast())):!1},isValid:function(){return!(!this._southWest||!this._northEast)}};r.latLngBounds=function(n,t){return!n||n instanceof r.LatLngBounds?n:new r.LatLngBounds(n,t)};r.Projection={};r.Projection.SphericalMercator={MAX_LATITUDE:85.0511287798,project:function(n){var i=r.LatLng.DEG_TO_RAD,u=this.MAX_LATITUDE,f=Math.max(Math.min(u,n.lat),-u),e=n.lng*i,t=f*i;return t=Math.log(Math.tan(Math.PI/4+t/2)),new r.Point(e,t)},unproject:function(n){var t=r.LatLng.RAD_TO_DEG,i=n.x*t,u=(2*Math.atan(Math.exp(n.y))-Math.PI/2)*t;return new r.LatLng(u,i)}};r.Projection.LonLat={project:function(n){return new r.Point(n.lng,n.lat)},unproject:function(n){return new r.LatLng(n.y,n.x)}};r.CRS={latLngToPoint:function(n,t){var i=this.projection.project(n),r=this.scale(t);return this.transformation._transform(i,r)},pointToLatLng:function(n,t){var i=this.scale(t),r=this.transformation.untransform(n,i);return this.projection.unproject(r)},project:function(n){return this.projection.project(n)},scale:function(n){return 256*Math.pow(2,n)}};r.CRS.Simple=r.extend({},r.CRS,{projection:r.Projection.LonLat,transformation:new r.Transformation(1,0,-1,0),scale:function(n){return Math.pow(2,n)}});r.CRS.EPSG3857=r.extend({},r.CRS,{code:"EPSG:3857",projection:r.Projection.SphericalMercator,transformation:new r.Transformation(.5/Math.PI,.5,-.5/Math.PI,.5),project:function(n){var t=this.projection.project(n);return t.multiplyBy(6378137)}});r.CRS.EPSG900913=r.extend({},r.CRS.EPSG3857,{code:"EPSG:900913"});r.CRS.EPSG4326=r.extend({},r.CRS,{code:"EPSG:4326",projection:r.Projection.LonLat,transformation:new r.Transformation(1/360,.5,-1/360,.5)});r.Map=r.Class.extend({includes:r.Mixin.Events,options:{crs:r.CRS.EPSG3857,fadeAnimation:r.DomUtil.TRANSITION&&!r.Browser.android23,trackResize:!0,markerZoomAnimation:r.DomUtil.TRANSITION&&r.Browser.any3d},initialize:function(n,t){t=r.setOptions(this,t);this._initContainer(n);this._initLayout();this._initEvents();t.maxBounds&&this.setMaxBounds(t.maxBounds);t.center&&t.zoom!==i&&this.setView(r.latLng(t.center),t.zoom,{reset:!0});this._handlers=[];this._layers={};this._zoomBoundLayers={};this._tileLayersNum=0;this.callInitHooks();this._addLayers(t.layers)},setView:function(n,t){return this._resetView(r.latLng(n),this._limitZoom(t)),this},setZoom:function(n,t){return this.setView(this.getCenter(),n,{zoom:t})},zoomIn:function(n,t){return this.setZoom(this._zoom+(n||1),t)},zoomOut:function(n,t){return this.setZoom(this._zoom-(n||1),t)},setZoomAround:function(n,t,i){var f=this.getZoomScale(t),u=this.getSize().divideBy(2),e=n instanceof r.Point?n:this.latLngToContainerPoint(n),o=e.subtract(u).multiplyBy(1-1/f),s=this.containerPointToLatLng(u.add(o));return this.setView(s,t,{zoom:i})},fitBounds:function(n,t){t=t||{};n=n.getBounds?n.getBounds():r.latLngBounds(n);var u=r.point(t.paddingTopLeft||t.padding||[0,0]),f=r.point(t.paddingBottomRight||t.padding||[0,0]),i=this.getBoundsZoom(n,!1,u.add(f)),e=f.subtract(u).divideBy(2),o=this.project(n.getSouthWest(),i),s=this.project(n.getNorthEast(),i),h=this.unproject(o.add(s).divideBy(2).add(e),i);return this.setView(h,i,t)},fitWorld:function(n){return this.fitBounds([[-90,-180],[90,180]],n)},panTo:function(n,t){return this.setView(n,this._zoom,{pan:t})},panBy:function(n){return this.fire("movestart"),this._rawPanBy(r.point(n)),this.fire("move"),this.fire("moveend")},setMaxBounds:function(n,t){if(n=r.latLngBounds(n),this.options.maxBounds=n,!n)return this._boundsMinZoom=null,this.off("moveend",this._panInsideMaxBounds,this),this;var i=this.getBoundsZoom(n,!0);return this._boundsMinZoom=i,this._loaded&&(this._zoom<i?this.setView(n.getCenter(),i,t):this.panInsideBounds(n)),this.on("moveend",this._panInsideMaxBounds,this),this},panInsideBounds:function(n){n=r.latLngBounds(n);var s=this.getPixelBounds(),t=s.getBottomLeft(),i=s.getTopRight(),u=this.project(n.getSouthWest()),f=this.project(n.getNorthEast()),e=0,o=0;return i.y<f.y&&(o=Math.ceil(f.y-i.y)),i.x>f.x&&(e=Math.floor(f.x-i.x)),t.y>u.y&&(o=Math.floor(u.y-t.y)),t.x<u.x&&(e=Math.ceil(u.x-t.x)),e||o?this.panBy([e,o]):this},addLayer:function(n){var t=r.stamp(n);return this._layers[t]?this:(this._layers[t]=n,!n.options||isNaN(n.options.maxZoom)&&isNaN(n.options.minZoom)||(this._zoomBoundLayers[t]=n,this._updateZoomLevels()),this.options.zoomAnimation&&r.TileLayer&&n instanceof r.TileLayer&&(this._tileLayersNum++,this._tileLayersToLoad++,n.on("load",this._onTileLayerLoad,this)),this._loaded&&this._layerAdd(n),this)},removeLayer:function(n){var t=r.stamp(n);if(this._layers[t])return this._loaded&&n.onRemove(this),delete this._layers[t],this._loaded&&this.fire("layerremove",{layer:n}),this._zoomBoundLayers[t]&&(delete this._zoomBoundLayers[t],this._updateZoomLevels()),this.options.zoomAnimation&&r.TileLayer&&n instanceof r.TileLayer&&(this._tileLayersNum--,this._tileLayersToLoad--,n.off("load",this._onTileLayerLoad,this)),this},hasLayer:function(n){return n?r.stamp(n)in this._layers:!1},eachLayer:function(n,t){for(var i in this._layers)n.call(t,this._layers[i]);return this},invalidateSize:function(n){var i,u,t;return(n=r.extend({animate:!1,pan:!0},n===!0?{animate:!0}:n),i=this.getSize(),this._sizeChanged=!0,this.options.maxBounds&&this.setMaxBounds(this.options.maxBounds),!this._loaded)?this:(u=this.getSize(),t=i.subtract(u).divideBy(2).round(),t.x||t.y?(n.animate&&n.pan?this.panBy(t):(n.pan&&this._rawPanBy(t),this.fire("move"),clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(r.bind(this.fire,this,"moveend"),200)),this.fire("resize",{oldSize:i,newSize:u})):this)},addHandler:function(n,t){if(t){var i=this[n]=new t(this);return this._handlers.push(i),this.options[n]&&i.enable(),this}},remove:function(){return this._loaded&&this.fire("unload"),this._initEvents("off"),delete this._container._leaflet,this._clearPanes(),this._clearControlPos&&this._clearControlPos(),this._clearHandlers(),this},getCenter:function(){return this._checkIfLoaded(),this._moved()?this.layerPointToLatLng(this._getCenterLayerPoint()):this._initialCenter},getZoom:function(){return this._zoom},getBounds:function(){var n=this.getPixelBounds(),t=this.unproject(n.getBottomLeft()),i=this.unproject(n.getTopRight());return new r.LatLngBounds(t,i)},getMinZoom:function(){var n=this._layersMinZoom===i?0:this._layersMinZoom,t=this._boundsMinZoom===i?0:this._boundsMinZoom;return this.options.minZoom===i?Math.max(n,t):this.options.minZoom},getMaxZoom:function(){return this.options.maxZoom===i?this._layersMaxZoom===i?1/0:this._layersMaxZoom:this.options.maxZoom},getBoundsZoom:function(n,t,i){n=r.latLngBounds(n);var f,u=this.getMinZoom()-(t?1:0),s=this.getMaxZoom(),e=this.getSize(),h=n.getNorthWest(),c=n.getSouthEast(),o=!0;i=r.point(i||[0,0]);do u++,f=this.project(c,u).subtract(this.project(h,u)).add(i),o=t?f.x<e.x||f.y<e.y:e.contains(f);while(o&&s>=u);return o&&t?null:t?u:u-1},getSize:function(){return(!this._size||this._sizeChanged)&&(this._size=new r.Point(this._container.clientWidth,this._container.clientHeight),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(){var n=this._getTopLeftPoint();return new r.Bounds(n,n.add(this.getSize()))},getPixelOrigin:function(){return this._checkIfLoaded(),this._initialTopLeftPoint},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(n){var t=this.options.crs;return t.scale(n)/t.scale(this._zoom)},getScaleZoom:function(n){return this._zoom+Math.log(n)/Math.LN2},project:function(n,t){return t=t===i?this._zoom:t,this.options.crs.latLngToPoint(r.latLng(n),t)},unproject:function(n,t){return t=t===i?this._zoom:t,this.options.crs.pointToLatLng(r.point(n),t)},layerPointToLatLng:function(n){var t=r.point(n).add(this.getPixelOrigin());return this.unproject(t)},latLngToLayerPoint:function(n){var t=this.project(r.latLng(n))._round();return t._subtract(this.getPixelOrigin())},containerPointToLayerPoint:function(n){return r.point(n).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(n){return r.point(n).add(this._getMapPanePos())},containerPointToLatLng:function(n){var t=this.containerPointToLayerPoint(r.point(n));return this.layerPointToLatLng(t)},latLngToContainerPoint:function(n){return this.layerPointToContainerPoint(this.latLngToLayerPoint(r.latLng(n)))},mouseEventToContainerPoint:function(n){return r.DomEvent.getMousePosition(n,this._container)},mouseEventToLayerPoint:function(n){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(n))},mouseEventToLatLng:function(n){return this.layerPointToLatLng(this.mouseEventToLayerPoint(n))},_initContainer:function(n){var t=this._container=r.DomUtil.get(n);if(!t)throw new Error("Map container not found.");if(t._leaflet)throw new Error("Map container is already initialized.");t._leaflet=!0},_initLayout:function(){var t=this._container,n;r.DomUtil.addClass(t,"leaflet-container"+(r.Browser.touch?" leaflet-touch":"")+(r.Browser.retina?" leaflet-retina":"")+(this.options.fadeAnimation?" leaflet-fade-anim":""));n=r.DomUtil.getStyle(t,"position");"absolute"!==n&&"relative"!==n&&"fixed"!==n&&(t.style.position="relative");this._initPanes();this._initControlPos&&this._initControlPos()},_initPanes:function(){var n=this._panes={},t;this._mapPane=n.mapPane=this._createPane("leaflet-map-pane",this._container);this._tilePane=n.tilePane=this._createPane("leaflet-tile-pane",this._mapPane);n.objectsPane=this._createPane("leaflet-objects-pane",this._mapPane);n.shadowPane=this._createPane("leaflet-shadow-pane");n.overlayPane=this._createPane("leaflet-overlay-pane");n.markerPane=this._createPane("leaflet-marker-pane");n.popupPane=this._createPane("leaflet-popup-pane");t=" leaflet-zoom-hide";this.options.markerZoomAnimation||(r.DomUtil.addClass(n.markerPane,t),r.DomUtil.addClass(n.shadowPane,t),r.DomUtil.addClass(n.popupPane,t))},_createPane:function(n,t){return r.DomUtil.create("div",n,t||this._panes.objectsPane)},_clearPanes:function(){this._container.removeChild(this._mapPane)},_addLayers:function(n){n=n?r.Util.isArray(n)?n:[n]:[];for(var t=0,i=n.length;i>t;t++)this.addLayer(n[t])},_resetView:function(n,t,i,u){var f=this._zoom!==t,e;u||(this.fire("movestart"),f&&this.fire("zoomstart"));this._zoom=t;this._initialCenter=n;this._initialTopLeftPoint=this._getNewTopLeftPoint(n);i?this._initialTopLeftPoint._add(this._getMapPanePos()):r.DomUtil.setPosition(this._mapPane,new r.Point(0,0));this._tileLayersToLoad=this._tileLayersNum;e=!this._loaded;this._loaded=!0;e&&(this.fire("load"),this.eachLayer(this._layerAdd,this));this.fire("viewreset",{hard:!i});this.fire("move");(f||u)&&this.fire("zoomend");this.fire("moveend",{hard:!i})},_rawPanBy:function(n){r.DomUtil.setPosition(this._mapPane,this._getMapPanePos().subtract(n))},_getZoomSpan:function(){return this.getMaxZoom()-this.getMinZoom()},_updateZoomLevels:function(){var t,r=1/0,u=-1/0,f=this._getZoomSpan(),n;for(t in this._zoomBoundLayers)n=this._zoomBoundLayers[t],isNaN(n.options.minZoom)||(r=Math.min(r,n.options.minZoom)),isNaN(n.options.maxZoom)||(u=Math.max(u,n.options.maxZoom));t===i?this._layersMaxZoom=this._layersMinZoom=i:(this._layersMaxZoom=u,this._layersMinZoom=r);f!==this._getZoomSpan()&&this.fire("zoomlevelschange")},_panInsideMaxBounds:function(){this.panInsideBounds(this.options.maxBounds)},_checkIfLoaded:function(){if(!this._loaded)throw new Error("Set map center and zoom first.");},_initEvents:function(t){if(r.DomEvent){t=t||"on";r.DomEvent[t](this._container,"click",this._onMouseClick,this);for(var f=["dblclick","mousedown","mouseup","mouseenter","mouseleave","mousemove","contextmenu"],i=0,u=f.length;u>i;i++)r.DomEvent[t](this._container,f[i],this._fireMouseEvent,this);this.options.trackResize&&r.DomEvent[t](n,"resize",this._onResize,this)}},_onResize:function(){r.Util.cancelAnimFrame(this._resizeRequest);this._resizeRequest=r.Util.requestAnimFrame(this.invalidateSize,this,!1,this._container)},_onMouseClick:function(n){!this._loaded||!n._simulated&&this.dragging&&this.dragging.moved()||r.DomEvent._skipped(n)||(this.fire("preclick"),this._fireMouseEvent(n))},_fireMouseEvent:function(n){var t;if(this._loaded&&!r.DomEvent._skipped(n)&&(t=n.type,t="mouseenter"===t?"mouseover":"mouseleave"===t?"mouseout":t,this.hasEventListeners(t))){"contextmenu"===t&&r.DomEvent.preventDefault(n);var i=this.mouseEventToContainerPoint(n),u=this.containerPointToLayerPoint(i),f=this.layerPointToLatLng(u);this.fire(t,{latlng:f,layerPoint:u,containerPoint:i,originalEvent:n})}},_onTileLayerLoad:function(){this._tileLayersToLoad--;this._tileLayersNum&&!this._tileLayersToLoad&&this.fire("tilelayersload")},_clearHandlers:function(){for(var n=0,t=this._handlers.length;t>n;n++)this._handlers[n].disable()},whenReady:function(n,t){return this._loaded?n.call(t||this,this):this.on("load",n,t),this},_layerAdd:function(n){n.onAdd(this);this.fire("layeradd",{layer:n})},_getMapPanePos:function(){return r.DomUtil.getPosition(this._mapPane)},_moved:function(){var n=this._getMapPanePos();return n&&!n.equals([0,0])},_getTopLeftPoint:function(){return this.getPixelOrigin().subtract(this._getMapPanePos())},_getNewTopLeftPoint:function(n,t){var i=this.getSize()._divideBy(2);return this.project(n,t)._subtract(i)._round()},_latLngToNewLayerPoint:function(n,t,i){var r=this._getNewTopLeftPoint(i,t).add(this._getMapPanePos());return this.project(n,t)._subtract(r)},_getCenterLayerPoint:function(){return this.containerPointToLayerPoint(this.getSize()._divideBy(2))},_getCenterOffset:function(n){return this.latLngToLayerPoint(n).subtract(this._getCenterLayerPoint())},_limitZoom:function(n){var t=this.getMinZoom(),i=this.getMaxZoom();return Math.max(t,Math.min(i,n))}});r.map=function(n,t){return new r.Map(n,t)};r.Projection.Mercator={MAX_LATITUDE:85.0840591556,R_MINOR:6356752.3142451793,R_MAJOR:6378137,project:function(n){var f=r.LatLng.DEG_TO_RAD,e=this.MAX_LATITUDE,c=Math.max(Math.min(e,n.lat),-e),u=this.R_MAJOR,l=this.R_MINOR,a=n.lng*f*u,t=c*f,o=l/u,s=Math.sqrt(1-o*o),i=s*Math.sin(t),h;return i=Math.pow((1-i)/(1+i),.5*s),h=Math.tan(.5*(.5*Math.PI-t))/i,t=-u*Math.log(h),new r.Point(a,t)},unproject:function(n){for(var i,e=r.LatLng.RAD_TO_DEG,u=this.R_MAJOR,c=this.R_MINOR,l=n.x*e/u,o=c/u,s=Math.sqrt(1-o*o),h=Math.exp(-n.y/u),t=Math.PI/2-2*Math.atan(h),a=15,f=.1;Math.abs(f)>1e-7&&--a>0;)i=s*Math.sin(t),f=Math.PI/2-2*Math.atan(h*Math.pow((1-i)/(1+i),.5*s))-t,t+=f;return new r.LatLng(t*e,l)}};r.CRS.EPSG3395=r.extend({},r.CRS,{code:"EPSG:3395",projection:r.Projection.Mercator,transformation:function(){var n=r.Projection.Mercator,t=n.R_MAJOR,i=n.R_MINOR;return new r.Transformation(.5/(Math.PI*t),.5,-.5/(Math.PI*i),.5)}()});r.TileLayer=r.Class.extend({includes:r.Mixin.Events,options:{minZoom:0,maxZoom:18,tileSize:256,subdomains:"abc",errorTileUrl:"",attribution:"",zoomOffset:0,opacity:1,unloadInvisibleTiles:r.Browser.mobile,updateWhenIdle:r.Browser.mobile},initialize:function(n,t){t=r.setOptions(this,t);t.detectRetina&&r.Browser.retina&&t.maxZoom>0&&(t.tileSize=Math.floor(t.tileSize/2),t.zoomOffset++,t.minZoom>0&&t.minZoom--,this.options.maxZoom--);t.bounds&&(t.bounds=r.latLngBounds(t.bounds));this._url=n;var i=this.options.subdomains;"string"==typeof i&&(this.options.subdomains=i.split(""))},onAdd:function(n){this._map=n;this._animated=n._zoomAnimated;this._initContainer();this._createTileProto();n.on({viewreset:this._reset,moveend:this._update},this);this._animated&&n.on({zoomanim:this._animateZoom,zoomend:this._endZoomAnim},this);this.options.updateWhenIdle||(this._limitedUpdate=r.Util.limitExecByInterval(this._update,150,this),n.on("move",this._limitedUpdate,this));this._reset();this._update()},addTo:function(n){return n.addLayer(this),this},onRemove:function(n){this._container.parentNode.removeChild(this._container);n.off({viewreset:this._reset,moveend:this._update},this);this._animated&&n.off({zoomanim:this._animateZoom,zoomend:this._endZoomAnim},this);this.options.updateWhenIdle||n.off("move",this._limitedUpdate,this);this._container=null;this._map=null},bringToFront:function(){var n=this._map._panes.tilePane;return this._container&&(n.appendChild(this._container),this._setAutoZIndex(n,Math.max)),this},bringToBack:function(){var n=this._map._panes.tilePane;return this._container&&(n.insertBefore(this._container,n.firstChild),this._setAutoZIndex(n,Math.min)),this},getAttribution:function(){return this.options.attribution},getContainer:function(){return this._container},setOpacity:function(n){return this.options.opacity=n,this._map&&this._updateOpacity(),this},setZIndex:function(n){return this.options.zIndex=n,this._updateZIndex(),this},setUrl:function(n,t){return this._url=n,t||this.redraw(),this},redraw:function(){return this._map&&(this._reset({hard:!0}),this._update()),this},_updateZIndex:function(){this._container&&this.options.zIndex!==i&&(this._container.style.zIndex=this.options.zIndex)},_setAutoZIndex:function(n,t){for(var u,f=n.children,r=-t(1/0,-1/0),i=0,e=f.length;e>i;i++)f[i]!==this._container&&(u=parseInt(f[i].style.zIndex,10),isNaN(u)||(r=t(r,u)));this.options.zIndex=this._container.style.zIndex=(isFinite(r)?r:0)+t(1,-1)},_updateOpacity:function(){var n,t=this._tiles;if(r.Browser.ielt9)for(n in t)r.DomUtil.setOpacity(t[n],this.options.opacity);else r.DomUtil.setOpacity(this._container,this.options.opacity)},_initContainer:function(){var t=this._map._panes.tilePane,n;this._container||((this._container=r.DomUtil.create("div","leaflet-layer"),this._updateZIndex(),this._animated)?(n="leaflet-tile-container leaflet-zoom-animated",this._bgBuffer=r.DomUtil.create("div",n,this._container),this._tileContainer=r.DomUtil.create("div",n,this._container)):this._tileContainer=this._container,t.appendChild(this._container),this.options.opacity<1&&this._updateOpacity())},_reset:function(n){for(var t in this._tiles)this.fire("tileunload",{tile:this._tiles[t]});this._tiles={};this._tilesToLoad=0;this.options.reuseTiles&&(this._unusedTiles=[]);this._tileContainer.innerHTML="";this._animated&&n&&n.hard&&this._clearBgBuffer();this._initContainer()},_update:function(){var n;if(this._map){var t=this._map.getPixelBounds(),i=this._map.getZoom(),u=this.options.tileSize;i>this.options.maxZoom||i<this.options.minZoom||(n=r.bounds(t.min.divideBy(u)._floor(),t.max.divideBy(u)._floor()),this._addTilesFromCenterOut(n),(this.options.unloadInvisibleTiles||this.options.reuseTiles)&&this._removeOtherTiles(n))}},_addTilesFromCenterOut:function(n){for(var i,o,f=[],h=n.getCenter(),e,s,u=n.min.y;u<=n.max.y;u++)for(i=n.min.x;i<=n.max.x;i++)o=new r.Point(i,u),this._tileShouldBeLoaded(o)&&f.push(o);if(e=f.length,0!==e){for(f.sort(function(n,t){return n.distanceTo(h)-t.distanceTo(h)}),s=t.createDocumentFragment(),this._tilesToLoad||this.fire("loading"),this._tilesToLoad+=e,i=0;e>i;i++)this._addTile(f[i],s);this._tileContainer.appendChild(s)}},_tileShouldBeLoaded:function(n){var t,i;if(n.x+":"+n.y in this._tiles||(t=this.options,!t.continuousWorld&&(i=this._getWrapTileNum(),t.noWrap&&(n.x<0||n.x>=i)||n.y<0||n.y>=i)))return!1;if(t.bounds){var r=t.tileSize,e=n.multiplyBy(r),o=e.add([r,r]),u=this._map.unproject(e),f=this._map.unproject(o);if(t.continuousWorld||t.noWrap||(u=u.wrap(),f=f.wrap()),!t.bounds.intersects([u,f]))return!1}return!0},_removeOtherTiles:function(n){var t,i,r;for(var u in this._tiles)t=u.split(":"),i=parseInt(t[0],10),r=parseInt(t[1],10),(i<n.min.x||i>n.max.x||r<n.min.y||r>n.max.y)&&this._removeTile(u)},_removeTile:function(n){var t=this._tiles[n];this.fire("tileunload",{tile:t,url:t.src});this.options.reuseTiles?(r.DomUtil.removeClass(t,"leaflet-tile-loaded"),this._unusedTiles.push(t)):t.parentNode===this._tileContainer&&this._tileContainer.removeChild(t);r.Browser.android||(t.onload=null,t.src=r.Util.emptyImageUrl);delete this._tiles[n]},_addTile:function(n,t){var u=this._getTilePos(n),i=this._getTile();r.DomUtil.setPosition(i,u,r.Browser.chrome||r.Browser.android23);this._tiles[n.x+":"+n.y]=i;this._loadTile(i,n);i.parentNode!==this._tileContainer&&t.appendChild(i)},_getZoomForUrl:function(){var n=this.options,t=this._map.getZoom();return n.zoomReverse&&(t=n.maxZoom-t),t+n.zoomOffset},_getTilePos:function(n){var t=this._map.getPixelOrigin(),i=this.options.tileSize;return n.multiplyBy(i).subtract(t)},getTileUrl:function(n){return r.Util.template(this._url,r.extend({s:this._getSubdomain(n),z:n.z,x:n.x,y:n.y},this.options))},_getWrapTileNum:function(){return Math.pow(2,this._getZoomForUrl())},_adjustTilePoint:function(n){var t=this._getWrapTileNum();this.options.continuousWorld||this.options.noWrap||(n.x=(n.x%t+t)%t);this.options.tms&&(n.y=t-n.y-1);n.z=this._getZoomForUrl()},_getSubdomain:function(n){var t=Math.abs(n.x+n.y)%this.options.subdomains.length;return this.options.subdomains[t]},_createTileProto:function(){var n=this._tileImg=r.DomUtil.create("img","leaflet-tile");n.style.width=n.style.height=this.options.tileSize+"px";n.galleryimg="no"},_getTile:function(){if(this.options.reuseTiles&&this._unusedTiles.length>0){var n=this._unusedTiles.pop();return this._resetTile(n),n}return this._createTile()},_resetTile:function(){},_createTile:function(){var n=this._tileImg.cloneNode(!1);return n.onselectstart=n.onmousemove=r.Util.falseFn,r.Browser.ielt9&&this.options.opacity!==i&&r.DomUtil.setOpacity(n,this.options.opacity),n},_loadTile:function(n,t){n._layer=this;n.onload=this._tileOnLoad;n.onerror=this._tileOnError;this._adjustTilePoint(t);n.src=this.getTileUrl(t)},_tileLoaded:function(){this._tilesToLoad--;this._tilesToLoad||(this.fire("load"),this._animated&&(clearTimeout(this._clearBgBufferTimer),this._clearBgBufferTimer=setTimeout(r.bind(this._clearBgBuffer,this),500)))},_tileOnLoad:function(){var n=this._layer;this.src!==r.Util.emptyImageUrl&&(r.DomUtil.addClass(this,"leaflet-tile-loaded"),n.fire("tileload",{tile:this,url:this.src}));n._tileLoaded()},_tileOnError:function(){var n=this._layer,t;n.fire("tileerror",{tile:this,url:this.src});t=n.options.errorTileUrl;t&&(this.src=t);n._tileLoaded()}});r.tileLayer=function(n,t){return new r.TileLayer(n,t)};r.TileLayer.WMS=r.TileLayer.extend({defaultWmsParams:{service:"WMS",request:"GetMap",version:"1.1.1",layers:"",styles:"",format:"image/jpeg",transparent:!1},initialize:function(n,t){var i,f,u;this._url=n;i=r.extend({},this.defaultWmsParams);f=t.tileSize||this.options.tileSize;i.width=i.height=t.detectRetina&&r.Browser.retina?2*f:f;for(u in t)this.options.hasOwnProperty(u)||"crs"===u||(i[u]=t[u]);this.wmsParams=i;r.setOptions(this,t)},onAdd:function(n){this._crs=this.options.crs||n.options.crs;var t=parseFloat(this.wmsParams.version)>=1.3?"crs":"srs";this.wmsParams[t]=this._crs.code;r.TileLayer.prototype.onAdd.call(this,n)},getTileUrl:function(n,t){var u=this._map,i=this.options.tileSize,f=n.multiplyBy(i),h=f.add([i,i]),e=this._crs.project(u.unproject(f,t)),o=this._crs.project(u.unproject(h,t)),c=[e.x,o.y,o.x,e.y].join(","),s=r.Util.template(this._url,{s:this._getSubdomain(n)});return s+r.Util.getParamString(this.wmsParams,s,!0)+"&BBOX="+c},setParams:function(n,t){return r.extend(this.wmsParams,n),t||this.redraw(),this}});r.tileLayer.wms=function(n,t){return new r.TileLayer.WMS(n,t)};r.TileLayer.Canvas=r.TileLayer.extend({options:{async:!1},initialize:function(n){r.setOptions(this,n)},redraw:function(){this._map&&(this._reset({hard:!0}),this._update());for(var n in this._tiles)this._redrawTile(this._tiles[n]);return this},_redrawTile:function(n){this.drawTile(n,n._tilePoint,this._map._zoom)},_createTileProto:function(){var n=this._canvasProto=r.DomUtil.create("canvas","leaflet-tile");n.width=n.height=this.options.tileSize},_createTile:function(){var n=this._canvasProto.cloneNode(!1);return n.onselectstart=n.onmousemove=r.Util.falseFn,n},_loadTile:function(n,t){n._layer=this;n._tilePoint=t;this._redrawTile(n);this.options.async||this.tileDrawn(n)},drawTile:function(){},tileDrawn:function(n){this._tileOnLoad.call(n)}});r.tileLayer.canvas=function(n){return new r.TileLayer.Canvas(n)};r.ImageOverlay=r.Class.extend({includes:r.Mixin.Events,options:{opacity:1},initialize:function(n,t,i){this._url=n;this._bounds=r.latLngBounds(t);r.setOptions(this,i)},onAdd:function(n){this._map=n;this._image||this._initImage();n._panes.overlayPane.appendChild(this._image);n.on("viewreset",this._reset,this);n.options.zoomAnimation&&r.Browser.any3d&&n.on("zoomanim",this._animateZoom,this);this._reset()},onRemove:function(n){n.getPanes().overlayPane.removeChild(this._image);n.off("viewreset",this._reset,this);n.options.zoomAnimation&&n.off("zoomanim",this._animateZoom,this)},addTo:function(n){return n.addLayer(this),this},setOpacity:function(n){return this.options.opacity=n,this._updateOpacity(),this},bringToFront:function(){return this._image&&this._map._panes.overlayPane.appendChild(this._image),this},bringToBack:function(){var n=this._map._panes.overlayPane;return this._image&&n.insertBefore(this._image,n.firstChild),this},_initImage:function(){this._image=r.DomUtil.create("img","leaflet-image-layer");this._map.options.zoomAnimation&&r.Browser.any3d?r.DomUtil.addClass(this._image,"leaflet-zoom-animated"):r.DomUtil.addClass(this._image,"leaflet-zoom-hide");this._updateOpacity();r.extend(this._image,{galleryimg:"no",onselectstart:r.Util.falseFn,onmousemove:r.Util.falseFn,onload:r.bind(this._onImageLoad,this),src:this._url})},_animateZoom:function(n){var t=this._map,f=this._image,i=t.getZoomScale(n.zoom),e=this._bounds.getNorthWest(),o=this._bounds.getSouthEast(),u=t._latLngToNewLayerPoint(e,n.zoom,n.center),s=t._latLngToNewLayerPoint(o,n.zoom,n.center)._subtract(u),h=u._add(s._multiplyBy(.5*(1-1/i)));f.style[r.DomUtil.TRANSFORM]=r.DomUtil.getTranslateString(h)+" scale("+i+") "},_reset:function(){var n=this._image,t=this._map.latLngToLayerPoint(this._bounds.getNorthWest()),i=this._map.latLngToLayerPoint(this._bounds.getSouthEast())._subtract(t);r.DomUtil.setPosition(n,t);n.style.width=i.x+"px";n.style.height=i.y+"px"},_onImageLoad:function(){this.fire("load")},_updateOpacity:function(){r.DomUtil.setOpacity(this._image,this.options.opacity)}});r.imageOverlay=function(n,t,i){return new r.ImageOverlay(n,t,i)};r.Icon=r.Class.extend({options:{className:""},initialize:function(n){r.setOptions(this,n)},createIcon:function(n){return this._createIcon("icon",n)},createShadow:function(n){return this._createIcon("shadow",n)},_createIcon:function(n,t){var i=this._getIconUrl(n),r;if(!i){if("icon"===n)throw new Error("iconUrl not set in Icon options (see the docs).");return null}return r=t&&"IMG"===t.tagName?this._createImg(i,t):this._createImg(i),this._setIconStyles(r,n),r},_setIconStyles:function(n,t){var i,u=this.options,f=r.point(u[t+"Size"]);i="shadow"===t?r.point(u.shadowAnchor||u.iconAnchor):r.point(u.iconAnchor);!i&&f&&(i=f.divideBy(2,!0));n.className="leaflet-marker-"+t+" "+u.className;i&&(n.style.marginLeft=-i.x+"px",n.style.marginTop=-i.y+"px");f&&(n.style.width=f.x+"px",n.style.height=f.y+"px")},_createImg:function(n,i){return r.Browser.ie6?(i||(i=t.createElement("div")),i.style.filter='progid:DXImageTransform.Microsoft.AlphaImageLoader(src="'+n+'")'):(i||(i=t.createElement("img")),i.src=n),i},_getIconUrl:function(n){return r.Browser.retina&&this.options[n+"RetinaUrl"]?this.options[n+"RetinaUrl"]:this.options[n+"Url"]}});r.icon=function(n){return new r.Icon(n)};r.Icon.Default=r.Icon.extend({options:{iconSize:[25,41],iconAnchor:[12,41],popupAnchor:[1,-34],shadowSize:[41,41]},_getIconUrl:function(n){var i=n+"Url",t;if(this.options[i])return this.options[i];if(r.Browser.retina&&"icon"===n&&(n+="-2x"),t=r.Icon.Default.imagePath,!t)throw new Error("Couldn't autodetect L.Icon.Default.imagePath, set it manually.");return t+"/marker-"+n+".png"}});r.Icon.Default.imagePath=function(){for(var i,o,r,f=t.getElementsByTagName("script"),e=/[\/^]leaflet[\-\._]?([\w\-\._]*)\.js\??/,n=0,u=f.length;u>n;n++)if(i=f[n].src,o=i.match(e))return r=i.split(e)[0],(r?r+"/":"")+"images"}();r.Marker=r.Class.extend({includes:r.Mixin.Events,options:{icon:new r.Icon.Default,title:"",clickable:!0,draggable:!1,keyboard:!0,zIndexOffset:0,opacity:1,riseOnHover:!1,riseOffset:250},initialize:function(n,t){r.setOptions(this,t);this._latlng=r.latLng(n)},onAdd:function(n){this._map=n;n.on("viewreset",this.update,this);this._initIcon();this.update();n.options.zoomAnimation&&n.options.markerZoomAnimation&&n.on("zoomanim",this._animateZoom,this)},addTo:function(n){return n.addLayer(this),this},onRemove:function(n){this.dragging&&this.dragging.disable();this._removeIcon();this._removeShadow();this.fire("remove");n.off({viewreset:this.update,zoomanim:this._animateZoom},this);this._map=null},getLatLng:function(){return this._latlng},setLatLng:function(n){return this._latlng=r.latLng(n),this.update(),this.fire("move",{latlng:this._latlng})},setZIndexOffset:function(n){return this.options.zIndexOffset=n,this.update(),this},setIcon:function(n){return this.options.icon=n,this._map&&(this._initIcon(),this.update()),this},update:function(){if(this._icon){var n=this._map.latLngToLayerPoint(this._latlng).round();this._setPos(n)}return this},_initIcon:function(){var n=this.options,e=this._map,h=e.options.zoomAnimation&&e.options.markerZoomAnimation,o=h?"leaflet-zoom-animated":"leaflet-zoom-hide",t=n.icon.createIcon(this._icon),s=!1,i,u,f;t!==this._icon&&(this._icon&&this._removeIcon(),s=!0,n.title&&(t.title=n.title));r.DomUtil.addClass(t,o);n.keyboard&&(t.tabIndex="0");this._icon=t;this._initInteraction();n.riseOnHover&&r.DomEvent.on(t,"mouseover",this._bringToFront,this).on(t,"mouseout",this._resetZIndex,this);i=n.icon.createShadow(this._shadow);u=!1;i!==this._shadow&&(this._removeShadow(),u=!0);i&&r.DomUtil.addClass(i,o);this._shadow=i;n.opacity<1&&this._updateOpacity();f=this._map._panes;s&&f.markerPane.appendChild(this._icon);i&&u&&f.shadowPane.appendChild(this._shadow)},_removeIcon:function(){this.options.riseOnHover&&r.DomEvent.off(this._icon,"mouseover",this._bringToFront).off(this._icon,"mouseout",this._resetZIndex);this._map._panes.markerPane.removeChild(this._icon);this._icon=null},_removeShadow:function(){this._shadow&&this._map._panes.shadowPane.removeChild(this._shadow);this._shadow=null},_setPos:function(n){r.DomUtil.setPosition(this._icon,n);this._shadow&&r.DomUtil.setPosition(this._shadow,n);this._zIndex=n.y+this.options.zIndexOffset;this._resetZIndex()},_updateZIndex:function(n){this._icon.style.zIndex=this._zIndex+n},_animateZoom:function(n){var t=this._map._latLngToNewLayerPoint(this._latlng,n.zoom,n.center);this._setPos(t)},_initInteraction:function(){var n,i,t;if(this.options.clickable){for(n=this._icon,i=["dblclick","mousedown","mouseover","mouseout","contextmenu"],r.DomUtil.addClass(n,"leaflet-clickable"),r.DomEvent.on(n,"click",this._onMouseClick,this),r.DomEvent.on(n,"keypress",this._onKeyPress,this),t=0;t<i.length;t++)r.DomEvent.on(n,i[t],this._fireMouseEvent,this);r.Handler.MarkerDrag&&(this.dragging=new r.Handler.MarkerDrag(this),this.options.draggable&&this.dragging.enable())}},_onMouseClick:function(n){var t=this.dragging&&this.dragging.moved();(this.hasEventListeners(n.type)||t)&&r.DomEvent.stopPropagation(n);t||(this.dragging&&this.dragging._enabled||!this._map.dragging||!this._map.dragging.moved())&&this.fire(n.type,{originalEvent:n,latlng:this._latlng})},_onKeyPress:function(n){13===n.keyCode&&this.fire("click",{originalEvent:n,latlng:this._latlng})},_fireMouseEvent:function(n){this.fire(n.type,{originalEvent:n,latlng:this._latlng});"contextmenu"===n.type&&this.hasEventListeners(n.type)&&r.DomEvent.preventDefault(n);"mousedown"!==n.type?r.DomEvent.stopPropagation(n):r.DomEvent.preventDefault(n)},setOpacity:function(n){return this.options.opacity=n,this._map&&this._updateOpacity(),this},_updateOpacity:function(){r.DomUtil.setOpacity(this._icon,this.options.opacity);this._shadow&&r.DomUtil.setOpacity(this._shadow,this.options.opacity)},_bringToFront:function(){this._updateZIndex(this.options.riseOffset)},_resetZIndex:function(){this._updateZIndex(0)}});r.marker=function(n,t){return new r.Marker(n,t)};r.DivIcon=r.Icon.extend({options:{iconSize:[12,12],className:"leaflet-div-icon",html:!1},createIcon:function(n){var r=n&&"DIV"===n.tagName?n:t.createElement("div"),i=this.options;return r.innerHTML=i.html!==!1?i.html:"",i.bgPos&&(r.style.backgroundPosition=-i.bgPos.x+"px "+-i.bgPos.y+"px"),this._setIconStyles(r,"icon"),r},createShadow:function(){return null}});r.divIcon=function(n){return new r.DivIcon(n)};r.Map.mergeOptions({closePopupOnClick:!0});r.Popup=r.Class.extend({includes:r.Mixin.Events,options:{minWidth:50,maxWidth:300,maxHeight:null,autoPan:!0,closeButton:!0,offset:[0,7],autoPanPadding:[5,5],keepInView:!1,className:"",zoomAnimation:!0},initialize:function(n,t){r.setOptions(this,n);this._source=t;this._animated=r.Browser.any3d&&this.options.zoomAnimation;this._isOpen=!1},onAdd:function(n){this._map=n;this._container||this._initLayout();this._updateContent();var t=n.options.fadeAnimation;t&&r.DomUtil.setOpacity(this._container,0);n._panes.popupPane.appendChild(this._container);n.on(this._getEvents(),this);this._update();t&&r.DomUtil.setOpacity(this._container,1);this.fire("open");n.fire("popupopen",{popup:this});this._source&&this._source.fire("popupopen",{popup:this})},addTo:function(n){return n.addLayer(this),this},openOn:function(n){return n.openPopup(this),this},onRemove:function(n){n._panes.popupPane.removeChild(this._container);r.Util.falseFn(this._container.offsetWidth);n.off(this._getEvents(),this);n.options.fadeAnimation&&r.DomUtil.setOpacity(this._container,0);this._map=null;this.fire("close");n.fire("popupclose",{popup:this});this._source&&this._source.fire("popupclose",{popup:this})},setLatLng:function(n){return this._latlng=r.latLng(n),this._update(),this},setContent:function(n){return this._content=n,this._update(),this},_getEvents:function(){var n={viewreset:this._updatePosition};return this._animated&&(n.zoomanim=this._zoomAnimation),("closeOnClick"in this.options?this.options.closeOnClick:this._map.options.closePopupOnClick)&&(n.preclick=this._close),this.options.keepInView&&(n.moveend=this._adjustPan),n},_close:function(){this._map&&this._map.closePopup(this)},_initLayout:function(){var t,n="leaflet-popup",f=n+" "+this.options.className+" leaflet-zoom-"+(this._animated?"animated":"hide"),u=this._container=r.DomUtil.create("div",f),i;this.options.closeButton&&(t=this._closeButton=r.DomUtil.create("a",n+"-close-button",u),t.href="#close",t.innerHTML="&#215;",r.DomEvent.disableClickPropagation(t),r.DomEvent.on(t,"click",this._onCloseButtonClick,this));i=this._wrapper=r.DomUtil.create("div",n+"-content-wrapper",u);r.DomEvent.disableClickPropagation(i);this._contentNode=r.DomUtil.create("div",n+"-content",i);r.DomEvent.on(this._contentNode,"mousewheel",r.DomEvent.stopPropagation);r.DomEvent.on(this._contentNode,"MozMousePixelScroll",r.DomEvent.stopPropagation);r.DomEvent.on(i,"contextmenu",r.DomEvent.stopPropagation);this._tipContainer=r.DomUtil.create("div",n+"-tip-container",u);this._tip=r.DomUtil.create("div",n+"-tip",this._tipContainer)},_update:function(){this._map&&(this._container.style.visibility="hidden",this._updateContent(),this._updateLayout(),this._updatePosition(),this._container.style.visibility="",this._adjustPan())},_updateContent:function(){if(this._content){if("string"==typeof this._content)this._contentNode.innerHTML=this._content;else{for(;this._contentNode.hasChildNodes();)this._contentNode.removeChild(this._contentNode.firstChild);this._contentNode.appendChild(this._content)}this.fire("contentupdate")}},_updateLayout:function(){var i=this._contentNode,n=i.style,t;n.width="";n.whiteSpace="nowrap";t=i.offsetWidth;t=Math.min(t,this.options.maxWidth);t=Math.max(t,this.options.minWidth);n.width=t+1+"px";n.whiteSpace="";n.height="";var e=i.offsetHeight,u=this.options.maxHeight,f="leaflet-popup-scrolled";u&&e>u?(n.height=u+"px",r.DomUtil.addClass(i,f)):r.DomUtil.removeClass(i,f);this._containerWidth=this._container.offsetWidth},_updatePosition:function(){if(this._map){var n=this._map.latLngToLayerPoint(this._latlng),t=this._animated,i=r.point(this.options.offset);t&&r.DomUtil.setPosition(this._container,n);this._containerBottom=-i.y-(t?0:n.y);this._containerLeft=-Math.round(this._containerWidth/2)+i.x+(t?0:n.x);this._container.style.bottom=this._containerBottom+"px";this._container.style.left=this._containerLeft+"px"}},_zoomAnimation:function(n){var t=this._map._latLngToNewLayerPoint(this._latlng,n.zoom,n.center);r.DomUtil.setPosition(this._container,t)},_adjustPan:function(){if(this.options.autoPan){var e=this._map,o=this._container.offsetHeight,s=this._containerWidth,h=new r.Point(this._containerLeft,-o-this._containerBottom);this._animated&&h._add(r.DomUtil.getPosition(this._container));var n=e.layerPointToContainerPoint(h),u=r.point(this.options.autoPanPadding),f=e.getSize(),t=0,i=0;n.x+s>f.x&&(t=n.x+s-f.x+u.x);n.x-t<0&&(t=n.x-u.x);n.y+o>f.y&&(i=n.y+o-f.y+u.y);n.y-i<0&&(i=n.y-u.y);(t||i)&&e.fire("autopanstart").panBy([t,i])}},_onCloseButtonClick:function(n){this._close();r.DomEvent.stop(n)}});r.popup=function(n,t){return new r.Popup(n,t)};r.Map.include({openPopup:function(n,t,i){if(this.closePopup(),!(n instanceof r.Popup)){var u=n;n=new r.Popup(i).setLatLng(t).setContent(u)}return n._isOpen=!0,this._popup=n,this.addLayer(n)},closePopup:function(n){return n&&n!==this._popup||(n=this._popup,this._popup=null),n&&(this.removeLayer(n),n._isOpen=!1),this}});r.Marker.include({openPopup:function(){return this._popup&&this._map&&!this._map.hasLayer(this._popup)&&(this._popup.setLatLng(this._latlng),this._map.openPopup(this._popup)),this},closePopup:function(){return this._popup&&this._popup._close(),this},togglePopup:function(){return this._popup&&(this._popup._isOpen?this.closePopup():this.openPopup()),this},bindPopup:function(n,t){var i=r.point(this.options.icon.options.popupAnchor||[0,0]);return i=i.add(r.Popup.prototype.options.offset),t&&t.offset&&(i=i.add(t.offset)),t=r.extend({offset:i},t),this._popup||this.on("click",this.togglePopup,this).on("remove",this.closePopup,this).on("move",this._movePopup,this),n instanceof r.Popup?(r.setOptions(n,t),this._popup=n):this._popup=new r.Popup(t,this).setContent(n),this},setPopupContent:function(n){return this._popup&&this._popup.setContent(n),this},unbindPopup:function(){return this._popup&&(this._popup=null,this.off("click",this.togglePopup).off("remove",this.closePopup).off("move",this._movePopup)),this},_movePopup:function(n){this._popup.setLatLng(n.latlng)}});r.LayerGroup=r.Class.extend({initialize:function(n){this._layers={};var t,i;if(n)for(t=0,i=n.length;i>t;t++)this.addLayer(n[t])},addLayer:function(n){var t=this.getLayerId(n);return this._layers[t]=n,this._map&&this._map.addLayer(n),this},removeLayer:function(n){var t=n in this._layers?n:this.getLayerId(n);return this._map&&this._layers[t]&&this._map.removeLayer(this._layers[t]),delete this._layers[t],this},hasLayer:function(n){return n?n in this._layers||this.getLayerId(n)in this._layers:!1},clearLayers:function(){return this.eachLayer(this.removeLayer,this),this},invoke:function(n){var i,t,r=Array.prototype.slice.call(arguments,1);for(i in this._layers)t=this._layers[i],t[n]&&t[n].apply(t,r);return this},onAdd:function(n){this._map=n;this.eachLayer(n.addLayer,n)},onRemove:function(n){this.eachLayer(n.removeLayer,n);this._map=null},addTo:function(n){return n.addLayer(this),this},eachLayer:function(n,t){for(var i in this._layers)n.call(t,this._layers[i]);return this},getLayer:function(n){return this._layers[n]},getLayers:function(){var n=[];for(var t in this._layers)n.push(this._layers[t]);return n},setZIndex:function(n){return this.invoke("setZIndex",n)},getLayerId:function(n){return r.stamp(n)}});r.layerGroup=function(n){return new r.LayerGroup(n)};r.FeatureGroup=r.LayerGroup.extend({includes:r.Mixin.Events,statics:{EVENTS:"click dblclick mouseover mouseout mousemove contextmenu popupopen popupclose"},addLayer:function(n){return this.hasLayer(n)?this:(n.on(r.FeatureGroup.EVENTS,this._propagateEvent,this),r.LayerGroup.prototype.addLayer.call(this,n),this._popupContent&&n.bindPopup&&n.bindPopup(this._popupContent,this._popupOptions),this.fire("layeradd",{layer:n}))},removeLayer:function(n){return this.hasLayer(n)?(n in this._layers&&(n=this._layers[n]),n.off(r.FeatureGroup.EVENTS,this._propagateEvent,this),r.LayerGroup.prototype.removeLayer.call(this,n),this._popupContent&&this.invoke("unbindPopup"),this.fire("layerremove",{layer:n})):this},bindPopup:function(n,t){return this._popupContent=n,this._popupOptions=t,this.invoke("bindPopup",n,t)},setStyle:function(n){return this.invoke("setStyle",n)},bringToFront:function(){return this.invoke("bringToFront")},bringToBack:function(){return this.invoke("bringToBack")},getBounds:function(){var n=new r.LatLngBounds;return this.eachLayer(function(t){n.extend(t instanceof r.Marker?t.getLatLng():t.getBounds())}),n},_propagateEvent:function(n){n.layer||(n.layer=n.target);n.target=this;this.fire(n.type,n)}});r.featureGroup=function(n){return new r.FeatureGroup(n)};r.Path=r.Class.extend({includes:[r.Mixin.Events],statics:{CLIP_PADDING:function(){var t=r.Browser.mobile?1280:2e3,i=(t/Math.max(n.outerWidth,n.outerHeight)-1)/2;return Math.max(0,Math.min(.5,i))}()},options:{stroke:!0,color:"#0033ff",dashArray:null,weight:5,opacity:.5,fill:!1,fillColor:null,fillOpacity:.2,clickable:!0},initialize:function(n){r.setOptions(this,n)},onAdd:function(n){this._map=n;this._container||(this._initElements(),this._initEvents());this.projectLatlngs();this._updatePath();this._container&&this._map._pathRoot.appendChild(this._container);this.fire("add");n.on({viewreset:this.projectLatlngs,moveend:this._updatePath},this)},addTo:function(n){return n.addLayer(this),this},onRemove:function(n){n._pathRoot.removeChild(this._container);this.fire("remove");this._map=null;r.Browser.vml&&(this._container=null,this._stroke=null,this._fill=null);n.off({viewreset:this.projectLatlngs,moveend:this._updatePath},this)},projectLatlngs:function(){},setStyle:function(n){return r.setOptions(this,n),this._container&&this._updateStyle(),this},redraw:function(){return this._map&&(this.projectLatlngs(),this._updatePath()),this}});r.Map.include({_updatePathViewport:function(){var n=r.Path.CLIP_PADDING,t=this.getSize(),u=r.DomUtil.getPosition(this._mapPane),i=u.multiplyBy(-1)._subtract(t.multiplyBy(n)._round()),f=i.add(t.multiplyBy(1+2*n)._round());this._pathViewport=new r.Bounds(i,f)}});r.Path.SVG_NS="http://www.w3.org/2000/svg";r.Browser.svg=!(!t.createElementNS||!t.createElementNS(r.Path.SVG_NS,"svg").createSVGRect);r.Path=r.Path.extend({statics:{SVG:r.Browser.svg},bringToFront:function(){var t=this._map._pathRoot,n=this._container;return n&&t.lastChild!==n&&t.appendChild(n),this},bringToBack:function(){var t=this._map._pathRoot,n=this._container,i=t.firstChild;return n&&i!==n&&t.insertBefore(n,i),this},getPathString:function(){},_createElement:function(n){return t.createElementNS(r.Path.SVG_NS,n)},_initElements:function(){this._map._initPathRoot();this._initPath();this._initStyle()},_initPath:function(){this._container=this._createElement("g");this._path=this._createElement("path");this._container.appendChild(this._path)},_initStyle:function(){this.options.stroke&&(this._path.setAttribute("stroke-linejoin","round"),this._path.setAttribute("stroke-linecap","round"));this.options.fill&&this._path.setAttribute("fill-rule","evenodd");this.options.pointerEvents&&this._path.setAttribute("pointer-events",this.options.pointerEvents);this.options.clickable||this.options.pointerEvents||this._path.setAttribute("pointer-events","none");this._updateStyle()},_updateStyle:function(){this.options.stroke?(this._path.setAttribute("stroke",this.options.color),this._path.setAttribute("stroke-opacity",this.options.opacity),this._path.setAttribute("stroke-width",this.options.weight),this.options.dashArray?this._path.setAttribute("stroke-dasharray",this.options.dashArray):this._path.removeAttribute("stroke-dasharray")):this._path.setAttribute("stroke","none");this.options.fill?(this._path.setAttribute("fill",this.options.fillColor||this.options.color),this._path.setAttribute("fill-opacity",this.options.fillOpacity)):this._path.setAttribute("fill","none")},_updatePath:function(){var n=this.getPathString();n||(n="M0 0");this._path.setAttribute("d",n)},_initEvents:function(){if(this.options.clickable){(r.Browser.svg||!r.Browser.vml)&&this._path.setAttribute("class","leaflet-clickable");r.DomEvent.on(this._container,"click",this._onMouseClick,this);for(var t=["dblclick","mousedown","mouseover","mouseout","mousemove","contextmenu"],n=0;n<t.length;n++)r.DomEvent.on(this._container,t[n],this._fireMouseEvent,this)}},_onMouseClick:function(n){this._map.dragging&&this._map.dragging.moved()||this._fireMouseEvent(n)},_fireMouseEvent:function(n){if(this.hasEventListeners(n.type)){var t=this._map,i=t.mouseEventToContainerPoint(n),u=t.containerPointToLayerPoint(i),f=t.layerPointToLatLng(u);this.fire(n.type,{latlng:f,layerPoint:u,containerPoint:i,originalEvent:n});"contextmenu"===n.type&&r.DomEvent.preventDefault(n);"mousemove"!==n.type&&r.DomEvent.stopPropagation(n)}}});r.Map.include({_initPathRoot:function(){this._pathRoot||(this._pathRoot=r.Path.prototype._createElement("svg"),this._panes.overlayPane.appendChild(this._pathRoot),this.options.zoomAnimation&&r.Browser.any3d?(this._pathRoot.setAttribute("class"," leaflet-zoom-animated"),this.on({zoomanim:this._animatePathZoom,zoomend:this._endPathZoom})):this._pathRoot.setAttribute("class"," leaflet-zoom-hide"),this.on("moveend",this._updateSvgViewport),this._updateSvgViewport())},_animatePathZoom:function(n){var t=this.getZoomScale(n.zoom),i=this._getCenterOffset(n.center)._multiplyBy(-t)._add(this._pathViewport.min);this._pathRoot.style[r.DomUtil.TRANSFORM]=r.DomUtil.getTranslateString(i)+" scale("+t+") ";this._pathZooming=!0},_endPathZoom:function(){this._pathZooming=!1},_updateSvgViewport:function(){if(!this._pathZooming){this._updatePathViewport();var i=this._pathViewport,t=i.min,u=i.max,f=u.x-t.x,e=u.y-t.y,n=this._pathRoot,o=this._panes.overlayPane;r.Browser.mobileWebkit&&o.removeChild(n);r.DomUtil.setPosition(n,t);n.setAttribute("width",f);n.setAttribute("height",e);n.setAttribute("viewBox",[t.x,t.y,f,e].join(" "));r.Browser.mobileWebkit&&o.appendChild(n)}}});r.Path.include({bindPopup:function(n,t){return n instanceof r.Popup?this._popup=n:((!this._popup||t)&&(this._popup=new r.Popup(t,this)),this._popup.setContent(n)),this._popupHandlersAdded||(this.on("click",this._openPopup,this).on("remove",this.closePopup,this),this._popupHandlersAdded=!0),this},unbindPopup:function(){return this._popup&&(this._popup=null,this.off("click",this._openPopup).off("remove",this.closePopup),this._popupHandlersAdded=!1),this},openPopup:function(n){return this._popup&&(n=n||this._latlng||this._latlngs[Math.floor(this._latlngs.length/2)],this._openPopup({latlng:n})),this},closePopup:function(){return this._popup&&this._popup._close(),this},_openPopup:function(n){this._popup.setLatLng(n.latlng);this._map.openPopup(this._popup)}});r.Browser.vml=!r.Browser.svg&&function(){var i,n;try{return i=t.createElement("div"),i.innerHTML='<v:shape adj="1"/>',n=i.firstChild,n.style.behavior="url(#default#VML)",n&&"object"==typeof n.adj}catch(r){return!1}}();r.Path=r.Browser.svg||!r.Browser.vml?r.Path:r.Path.extend({statics:{VML:!0,CLIP_PADDING:.02},_createElement:function(){try{return t.namespaces.add("lvml","urn:schemas-microsoft-com:vml"),function(n){return t.createElement("<lvml:"+n+' class="lvml">')}}catch(n){return function(n){return t.createElement("<"+n+' xmlns="urn:schemas-microsoft.com:vml" class="lvml">')}}}(),_initPath:function(){var n=this._container=this._createElement("shape");r.DomUtil.addClass(n,"leaflet-vml-shape");this.options.clickable&&r.DomUtil.addClass(n,"leaflet-clickable");n.coordsize="1 1";this._path=this._createElement("path");n.appendChild(this._path);this._map._pathRoot.appendChild(n)},_initStyle:function(){this._updateStyle()},_updateStyle:function(){var t=this._stroke,i=this._fill,n=this.options,r=this._container;r.stroked=n.stroke;r.filled=n.fill;n.stroke?(t||(t=this._stroke=this._createElement("stroke"),t.endcap="round",r.appendChild(t)),t.weight=n.weight+"px",t.color=n.color,t.opacity=n.opacity,t.dashStyle=n.dashArray?n.dashArray instanceof Array?n.dashArray.join(" "):n.dashArray.replace(/( *, *)/g," "):""):t&&(r.removeChild(t),this._stroke=null);n.fill?(i||(i=this._fill=this._createElement("fill"),r.appendChild(i)),i.color=n.fillColor||n.color,i.opacity=n.fillOpacity):i&&(r.removeChild(i),this._fill=null)},_updatePath:function(){var n=this._container.style;n.display="none";this._path.v=this.getPathString()+" ";n.display=""}});r.Map.include(r.Browser.svg||!r.Browser.vml?{}:{_initPathRoot:function(){if(!this._pathRoot){var n=this._pathRoot=t.createElement("div");n.className="leaflet-vml-container";this._panes.overlayPane.appendChild(n);this.on("moveend",this._updatePathViewport);this._updatePathViewport()}}});r.Browser.canvas=function(){return!!t.createElement("canvas").getContext}();r.Path=r.Path.SVG&&!n.L_PREFER_CANVAS||!r.Browser.canvas?r.Path:r.Path.extend({statics:{CANVAS:!0,SVG:!1},redraw:function(){return this._map&&(this.projectLatlngs(),this._requestUpdate()),this},setStyle:function(n){return r.setOptions(this,n),this._map&&(this._updateStyle(),this._requestUpdate()),this},onRemove:function(n){n.off("viewreset",this.projectLatlngs,this).off("moveend",this._updatePath,this);this.options.clickable&&(this._map.off("click",this._onClick,this),this._map.off("mousemove",this._onMouseMove,this));this._requestUpdate();this._map=null},_requestUpdate:function(){this._map&&!r.Path._updateRequest&&(r.Path._updateRequest=r.Util.requestAnimFrame(this._fireMapMoveEnd,this._map))},_fireMapMoveEnd:function(){r.Path._updateRequest=null;this.fire("moveend")},_initElements:function(){this._map._initPathRoot();this._ctx=this._map._canvasCtx},_updateStyle:function(){var n=this.options;n.stroke&&(this._ctx.lineWidth=n.weight,this._ctx.strokeStyle=n.color);n.fill&&(this._ctx.fillStyle=n.fillColor||n.color)},_drawPath:function(){var n,t,u,f,i,e;for(this._ctx.beginPath(),n=0,u=this._parts.length;u>n;n++){for(t=0,f=this._parts[n].length;f>t;t++)i=this._parts[n][t],e=(0===t?"move":"line")+"To",this._ctx[e](i.x,i.y);this instanceof r.Polygon&&this._ctx.closePath()}},_checkIfEmpty:function(){return!this._parts.length},_updatePath:function(){if(!this._checkIfEmpty()){var n=this._ctx,t=this.options;this._drawPath();n.save();this._updateStyle();t.fill&&(n.globalAlpha=t.fillOpacity,n.fill());t.stroke&&(n.globalAlpha=t.opacity,n.stroke());n.restore()}},_initEvents:function(){this.options.clickable&&(this._map.on("mousemove",this._onMouseMove,this),this._map.on("click",this._onClick,this))},_onClick:function(n){this._containsPoint(n.layerPoint)&&this.fire("click",n)},_onMouseMove:function(n){this._map&&!this._map._animatingZoom&&(this._containsPoint(n.layerPoint)?(this._ctx.canvas.style.cursor="pointer",this._mouseInside=!0,this.fire("mouseover",n)):this._mouseInside&&(this._ctx.canvas.style.cursor="",this._mouseInside=!1,this.fire("mouseout",n)))}});r.Map.include(r.Path.SVG&&!n.L_PREFER_CANVAS||!r.Browser.canvas?{}:{_initPathRoot:function(){var i,n=this._pathRoot;n||(n=this._pathRoot=t.createElement("canvas"),n.style.position="absolute",i=this._canvasCtx=n.getContext("2d"),i.lineCap="round",i.lineJoin="round",this._panes.overlayPane.appendChild(n),this.options.zoomAnimation&&(this._pathRoot.className="leaflet-zoom-animated",this.on("zoomanim",this._animatePathZoom),this.on("zoomend",this._endPathZoom)),this.on("moveend",this._updateCanvasViewport),this._updateCanvasViewport())},_updateCanvasViewport:function(){if(!this._pathZooming){this._updatePathViewport();var i=this._pathViewport,n=i.min,u=i.max.subtract(n),t=this._pathRoot;r.DomUtil.setPosition(t,n);t.width=u.x;t.height=u.y;t.getContext("2d").translate(-n.x,-n.y)}}});r.LineUtil={simplify:function(n,t){if(!t||!n.length)return n.slice();var i=t*t;return n=this._reducePoints(n,i),n=this._simplifyDP(n,i)},pointToSegmentDistance:function(n,t,i){return Math.sqrt(this._sqClosestPointOnSegment(n,t,i,!0))},closestPointOnSegment:function(n,t,i){return this._sqClosestPointOnSegment(n,t,i)},_simplifyDP:function(n,t){var u=n.length,o=typeof Uint8Array!=i+""?Uint8Array:Array,f=new o(u),r,e;for(f[0]=f[u-1]=1,this._simplifyDPStep(n,f,t,0,u-1),e=[],r=0;u>r;r++)f[r]&&e.push(n[r]);return e},_simplifyDPStep:function(n,t,i,r,u){for(var e,o,s=0,f=r+1;u-1>=f;f++)o=this._sqClosestPointOnSegment(n[f],n[r],n[u],!0),o>s&&(e=f,s=o);s>i&&(t[e]=1,this._simplifyDPStep(n,t,i,r,e),this._simplifyDPStep(n,t,i,e,u))},_reducePoints:function(n,t){for(var r=[n[0]],i=1,u=0,f=n.length;f>i;i++)this._sqDist(n[i],n[u])>t&&(r.push(n[i]),u=i);return f-1>u&&r.push(n[f-1]),r},clipSegment:function(n,t,i,r){var o,e,s,u=r?this._lastCode:this._getBitCode(n,i),f=this._getBitCode(t,i);for(this._lastCode=f;;){if(!(u|f))return[n,t];if(u&f)return!1;o=u||f;e=this._getEdgeIntersection(n,t,o,i);s=this._getBitCode(e,i);o===u?(n=e,u=s):(t=e,f=s)}},_getEdgeIntersection:function(n,t,i,u){var f=t.x-n.x,e=t.y-n.y,o=u.min,s=u.max;return 8&i?new r.Point(n.x+f*(s.y-n.y)/e,s.y):4&i?new r.Point(n.x+f*(o.y-n.y)/e,o.y):2&i?new r.Point(s.x,n.y+e*(s.x-n.x)/f):1&i?new r.Point(o.x,n.y+e*(o.x-n.x)/f):void 0},_getBitCode:function(n,t){var i=0;return n.x<t.min.x?i|=1:n.x>t.max.x&&(i|=2),n.y<t.min.y?i|=4:n.y>t.max.y&&(i|=8),i},_sqDist:function(n,t){var i=t.x-n.x,r=t.y-n.y;return i*i+r*r},_sqClosestPointOnSegment:function(n,t,i,u){var h,o=t.x,s=t.y,f=i.x-o,e=i.y-s,c=f*f+e*e;return c>0&&(h=((n.x-o)*f+(n.y-s)*e)/c,h>1?(o=i.x,s=i.y):h>0&&(o+=f*h,s+=e*h)),f=n.x-o,e=n.y-s,u?f*f+e*e:new r.Point(o,s)}};r.Polyline=r.Path.extend({initialize:function(n,t){r.Path.prototype.initialize.call(this,t);this._latlngs=this._convertLatLngs(n)},options:{smoothFactor:1,noClip:!1},projectLatlngs:function(){this._originalPoints=[];for(var n=0,t=this._latlngs.length;t>n;n++)this._originalPoints[n]=this._map.latLngToLayerPoint(this._latlngs[n])},getPathString:function(){for(var n=0,i=this._parts.length,t="";i>n;n++)t+=this._getPathPartStr(this._parts[n]);return t},getLatLngs:function(){return this._latlngs},setLatLngs:function(n){return this._latlngs=this._convertLatLngs(n),this.redraw()},addLatLng:function(n){return this._latlngs.push(r.latLng(n)),this.redraw()},spliceLatLngs:function(){var n=[].splice.apply(this._latlngs,arguments);return this._convertLatLngs(this._latlngs,!0),this.redraw(),n},closestLayerPoint:function(n){for(var h,u,f,e=1/0,c=this._parts,t=null,o=0,l=c.length;l>o;o++)for(var s=c[o],i=1,a=s.length;a>i;i++)u=s[i-1],f=s[i],h=r.LineUtil._sqClosestPointOnSegment(n,u,f,!0),e>h&&(e=h,t=r.LineUtil._sqClosestPointOnSegment(n,u,f));return t&&(t.distance=Math.sqrt(e)),t},getBounds:function(){return new r.LatLngBounds(this.getLatLngs())},_convertLatLngs:function(n,t){for(var f=t?n:[],i=0,u=n.length;u>i;i++){if(r.Util.isArray(n[i])&&"number"!=typeof n[i][0])return;f[i]=r.latLng(n[i])}return f},_initEvents:function(){r.Path.prototype._initEvents.call(this)},_getPathPartStr:function(n){for(var t,f=r.Path.VML,i=0,e=n.length,u="";e>i;i++)t=n[i],f&&t._round(),u+=(i?"L":"M")+t.x+" "+t.y;return u},_clipPoints:function(){var n,t,i,u=this._originalPoints,e=u.length;if(this.options.noClip)return this._parts=[u],void 0;this._parts=[];var f=this._parts,o=this._map._pathViewport,s=r.LineUtil;for(n=0,t=0;e-1>n;n++)i=s.clipSegment(u[n],u[n+1],o,n),i&&(f[t]=f[t]||[],f[t].push(i[0]),(i[1]!==u[n+1]||n===e-2)&&(f[t].push(i[1]),t++))},_simplifyPoints:function(){for(var t=this._parts,i=r.LineUtil,n=0,u=t.length;u>n;n++)t[n]=i.simplify(t[n],this.options.smoothFactor)},_updatePath:function(){this._map&&(this._clipPoints(),this._simplifyPoints(),r.Path.prototype._updatePath.call(this))}});r.polyline=function(n,t){return new r.Polyline(n,t)};r.PolyUtil={};r.PolyUtil.clipPolygon=function(n,t){for(var e,a,l,o,s,f,u,v=[1,4,2,8],c=r.LineUtil,i=0,h=n.length;h>i;i++)n[i]._code=c._getBitCode(n[i],t);for(l=0;4>l;l++){for(f=v[l],e=[],i=0,h=n.length,a=h-1;h>i;a=i++)o=n[i],s=n[a],o._code&f?s._code&f||(u=c._getEdgeIntersection(s,o,f,t),u._code=c._getBitCode(u,t),e.push(u)):(s._code&f&&(u=c._getEdgeIntersection(s,o,f,t),u._code=c._getBitCode(u,t),e.push(u)),e.push(o));n=e}return n};r.Polygon=r.Polyline.extend({options:{fill:!0},initialize:function(n,t){var i,f,u;if(r.Polyline.prototype.initialize.call(this,n,t),n&&r.Util.isArray(n[0])&&"number"!=typeof n[0][0])for(this._latlngs=this._convertLatLngs(n[0]),this._holes=n.slice(1),i=0,f=this._holes.length;f>i;i++)u=this._holes[i]=this._convertLatLngs(this._holes[i]),u[0].equals(u[u.length-1])&&u.pop();n=this._latlngs;n.length>=2&&n[0].equals(n[n.length-1])&&n.pop()},projectLatlngs:function(){if(r.Polyline.prototype.projectLatlngs.call(this),this._holePoints=[],this._holes)for(var t,u,n=0,i=this._holes.length;i>n;n++)for(this._holePoints[n]=[],t=0,u=this._holes[n].length;u>t;t++)this._holePoints[n][t]=this._map.latLngToLayerPoint(this._holes[n][t])},_clipPoints:function(){var f=this._originalPoints,i=[],n,u,t;if(this._parts=[f].concat(this._holePoints),!this.options.noClip){for(n=0,u=this._parts.length;u>n;n++)t=r.PolyUtil.clipPolygon(this._parts[n],this._map._pathViewport),t.length&&i.push(t);this._parts=i}},_getPathPartStr:function(n){var t=r.Polyline.prototype._getPathPartStr.call(this,n);return t+(r.Browser.svg?"z":"x")}});r.polygon=function(n,t){return new r.Polygon(n,t)},function(){function n(n){return r.FeatureGroup.extend({initialize:function(n,t){this._layers={};this._options=t;this.setLatLngs(n)},setLatLngs:function(t){var i=0,r=t.length;for(this.eachLayer(function(n){r>i?n.setLatLngs(t[i++]):this.removeLayer(n)},this);r>i;)this.addLayer(new n(t[i++],this._options));return this},getLatLngs:function(){var n=[];return this.eachLayer(function(t){n.push(t.getLatLngs())}),n}})}r.MultiPolyline=n(r.Polyline);r.MultiPolygon=n(r.Polygon);r.multiPolyline=function(n,t){return new r.MultiPolyline(n,t)};r.multiPolygon=function(n,t){return new r.MultiPolygon(n,t)}}();r.Rectangle=r.Polygon.extend({initialize:function(n,t){r.Polygon.prototype.initialize.call(this,this._boundsToLatLngs(n),t)},setBounds:function(n){this.setLatLngs(this._boundsToLatLngs(n))},_boundsToLatLngs:function(n){return n=r.latLngBounds(n),[n.getSouthWest(),n.getNorthWest(),n.getNorthEast(),n.getSouthEast()]}});r.rectangle=function(n,t){return new r.Rectangle(n,t)};r.Circle=r.Path.extend({initialize:function(n,t,i){r.Path.prototype.initialize.call(this,i);this._latlng=r.latLng(n);this._mRadius=t},options:{fill:!0},setLatLng:function(n){return this._latlng=r.latLng(n),this.redraw()},setRadius:function(n){return this._mRadius=n,this.redraw()},projectLatlngs:function(){var t=this._getLngRadius(),n=this._latlng,i=this._map.latLngToLayerPoint([n.lat,n.lng-t]);this._point=this._map.latLngToLayerPoint(n);this._radius=Math.max(this._point.x-i.x,1)},getBounds:function(){var t=this._getLngRadius(),i=360*(this._mRadius/40075017),n=this._latlng;return new r.LatLngBounds([n.lat-i,n.lng-t],[n.lat+i,n.lng+t])},getLatLng:function(){return this._latlng},getPathString:function(){var t=this._point,n=this._radius;return this._checkIfEmpty()?"":r.Browser.svg?"M"+t.x+","+(t.y-n)+"A"+n+","+n+",0,1,1,"+(t.x-.1)+","+(t.y-n)+" z":(t._round(),n=Math.round(n),"AL "+t.x+","+t.y+" "+n+","+n+" 0,23592600")},getRadius:function(){return this._mRadius},_getLatRadius:function(){return 360*(this._mRadius/40075017)},_getLngRadius:function(){return this._getLatRadius()/Math.cos(r.LatLng.DEG_TO_RAD*this._latlng.lat)},_checkIfEmpty:function(){if(!this._map)return!1;var n=this._map._pathViewport,t=this._radius,i=this._point;return i.x-t>n.max.x||i.y-t>n.max.y||i.x+t<n.min.x||i.y+t<n.min.y}});r.circle=function(n,t,i){return new r.Circle(n,t,i)};r.CircleMarker=r.Circle.extend({options:{radius:10,weight:2},initialize:function(n,t){r.Circle.prototype.initialize.call(this,n,null,t);this._radius=this.options.radius},projectLatlngs:function(){this._point=this._map.latLngToLayerPoint(this._latlng)},_updateStyle:function(){r.Circle.prototype._updateStyle.call(this);this.setRadius(this.options.radius)},setRadius:function(n){return this.options.radius=this._radius=n,this.redraw()}});r.circleMarker=function(n,t){return new r.CircleMarker(n,t)};r.Polyline.include(r.Path.CANVAS?{_containsPoint:function(n,t){var u,i,e,s,o,h,f,c=this.options.weight/2;for(r.Browser.touch&&(c+=10),u=0,s=this._parts.length;s>u;u++)for(f=this._parts[u],i=0,o=f.length,e=o-1;o>i;e=i++)if((t||0!==i)&&(h=r.LineUtil.pointToSegmentDistance(n,f[e],f[i]),c>=h))return!0;return!1}}:{});r.Polygon.include(r.Path.CANVAS?{_containsPoint:function(n){var i,t,u,f,e,o,c,s,h=!1;if(r.Polyline.prototype._containsPoint.call(this,n,!0))return!0;for(f=0,c=this._parts.length;c>f;f++)for(i=this._parts[f],e=0,s=i.length,o=s-1;s>e;o=e++)t=i[e],u=i[o],t.y>n.y!=u.y>n.y&&n.x<(u.x-t.x)*(n.y-t.y)/(u.y-t.y)+t.x&&(h=!h);return h}}:{});r.Circle.include(r.Path.CANVAS?{_drawPath:function(){var n=this._point;this._ctx.beginPath();this._ctx.arc(n.x,n.y,this._radius,0,2*Math.PI,!1)},_containsPoint:function(n){var t=this._point,i=this.options.stroke?this.options.weight/2:0;return n.distanceTo(t)<=this._radius+i}}:{});r.CircleMarker.include(r.Path.CANVAS?{_updateStyle:function(){r.Path.prototype._updateStyle.call(this)}}:{});r.GeoJSON=r.FeatureGroup.extend({initialize:function(n,t){r.setOptions(this,t);this._layers={};n&&this.addData(n)},addData:function(n){var u,o,f,e=r.Util.isArray(n)?n:n.features,t,i;if(e){for(u=0,o=e.length;o>u;u++)f=e[u],(f.geometries||f.geometry||f.features||f.coordinates)&&this.addData(e[u]);return this}return t=this.options,!t.filter||t.filter(n)?(i=r.GeoJSON.geometryToLayer(n,t.pointToLayer,t.coordsToLatLng),i.feature=r.GeoJSON.asFeature(n),i.defaultOptions=i.options,this.resetStyle(i),t.onEachFeature&&t.onEachFeature(n,i),this.addLayer(i)):void 0},resetStyle:function(n){var t=this.options.style;t&&(r.Util.extend(n.options,n.defaultOptions),this._setLayerStyle(n,t))},setStyle:function(n){this.eachLayer(function(t){this._setLayerStyle(t,n)},this)},_setLayerStyle:function(n,t){"function"==typeof t&&(t=t(n.feature));n.setStyle&&n.setStyle(t)}});r.extend(r.GeoJSON,{geometryToLayer:function(n,t,i){var o,u,f,s,h,c="Feature"===n.type?n.geometry:n,e=c.coordinates,l=[];switch(i=i||this.coordsToLatLng,c.type){case"Point":return o=i(e),t?t(n,o):new r.Marker(o);case"MultiPoint":for(f=0,s=e.length;s>f;f++)o=i(e[f]),h=t?t(n,o):new r.Marker(o),l.push(h);return new r.FeatureGroup(l);case"LineString":return u=this.coordsToLatLngs(e,0,i),new r.Polyline(u);case"Polygon":return u=this.coordsToLatLngs(e,1,i),new r.Polygon(u);case"MultiLineString":return u=this.coordsToLatLngs(e,1,i),new r.MultiPolyline(u);case"MultiPolygon":return u=this.coordsToLatLngs(e,2,i),new r.MultiPolygon(u);case"GeometryCollection":for(f=0,s=c.geometries.length;s>f;f++)h=this.geometryToLayer({geometry:c.geometries[f],type:"Feature",properties:n.properties},t,i),l.push(h);return new r.FeatureGroup(l);default:throw new Error("Invalid GeoJSON object.");}},coordsToLatLng:function(n){return new r.LatLng(n[1],n[0])},coordsToLatLngs:function(n,t,i){for(var u,e=[],r=0,f=n.length;f>r;r++)u=t?this.coordsToLatLngs(n[r],t-1,i):(i||this.coordsToLatLng)(n[r]),e.push(u);return e},latLngToCoords:function(n){return[n.lng,n.lat]},latLngsToCoords:function(n){for(var i=[],t=0,u=n.length;u>t;t++)i.push(r.GeoJSON.latLngToCoords(n[t]));return i},getFeature:function(n,t){return n.feature?r.extend({},n.feature,{geometry:t}):r.GeoJSON.asFeature(t)},asFeature:function(n){return"Feature"===n.type?n:{type:"Feature",properties:{},geometry:n}}});f={toGeoJSON:function(){return r.GeoJSON.getFeature(this,{type:"Point",coordinates:r.GeoJSON.latLngToCoords(this.getLatLng())})}};r.Marker.include(f);r.Circle.include(f);r.CircleMarker.include(f);r.Polyline.include({toGeoJSON:function(){return r.GeoJSON.getFeature(this,{type:"LineString",coordinates:r.GeoJSON.latLngsToCoords(this.getLatLngs())})}});r.Polygon.include({toGeoJSON:function(){var n,u,t,i=[r.GeoJSON.latLngsToCoords(this.getLatLngs())];if(i[0].push(i[0][0]),this._holes)for(n=0,u=this._holes.length;u>n;n++)t=r.GeoJSON.latLngsToCoords(this._holes[n]),t.push(t[0]),i.push(t);return r.GeoJSON.getFeature(this,{type:"Polygon",coordinates:i})}}),function(){function n(n,t){n.include({toGeoJSON:function(){var n=[];return this.eachLayer(function(t){n.push(t.toGeoJSON().geometry.coordinates)}),r.GeoJSON.getFeature(this,{type:t,coordinates:n})}})}n(r.MultiPolyline,"MultiLineString");n(r.MultiPolygon,"MultiPolygon")}();r.LayerGroup.include({toGeoJSON:function(){var n=[];return this.eachLayer(function(t){t.toGeoJSON&&n.push(r.GeoJSON.asFeature(t.toGeoJSON()))}),{type:"FeatureCollection",features:n}}});r.geoJson=function(n,t){return new r.GeoJSON(n,t)};r.DomEvent={addListener:function(n,t,i,u){var f,e,s,o=r.stamp(i),h="_leaflet_"+t+o;return n[h]?this:(f=function(t){return i.call(u||n,t||r.DomEvent._getEvent())},r.Browser.msTouch&&0===t.indexOf("touch")?this.addMsTouchListener(n,t,f,o):(r.Browser.touch&&"dblclick"===t&&this.addDoubleTapListener&&this.addDoubleTapListener(n,f,o),"addEventListener"in n?"mousewheel"===t?(n.addEventListener("DOMMouseScroll",f,!1),n.addEventListener(t,f,!1)):"mouseenter"===t||"mouseleave"===t?(e=f,s="mouseenter"===t?"mouseover":"mouseout",f=function(t){if(r.DomEvent._checkMouse(n,t))return e(t)},n.addEventListener(s,f,!1)):"click"===t&&r.Browser.android?(e=f,f=function(n){return r.DomEvent._filterClick(n,e)},n.addEventListener(t,f,!1)):n.addEventListener(t,f,!1):"attachEvent"in n&&n.attachEvent("on"+t,f),n[h]=f,this))},removeListener:function(n,t,i){var f=r.stamp(i),e="_leaflet_"+t+f,u=n[e];return u?(r.Browser.msTouch&&0===t.indexOf("touch")?this.removeMsTouchListener(n,t,f):r.Browser.touch&&"dblclick"===t&&this.removeDoubleTapListener?this.removeDoubleTapListener(n,f):"removeEventListener"in n?"mousewheel"===t?(n.removeEventListener("DOMMouseScroll",u,!1),n.removeEventListener(t,u,!1)):"mouseenter"===t||"mouseleave"===t?n.removeEventListener("mouseenter"===t?"mouseover":"mouseout",u,!1):n.removeEventListener(t,u,!1):"detachEvent"in n&&n.detachEvent("on"+t,u),n[e]=null,this):this},stopPropagation:function(n){return n.stopPropagation?n.stopPropagation():n.cancelBubble=!0,this},disableClickPropagation:function(n){for(var i=r.DomEvent.stopPropagation,t=r.Draggable.START.length-1;t>=0;t--)r.DomEvent.addListener(n,r.Draggable.START[t],i);return r.DomEvent.addListener(n,"click",r.DomEvent._fakeStop).addListener(n,"dblclick",i)},preventDefault:function(n){return n.preventDefault?n.preventDefault():n.returnValue=!1,this},stop:function(n){return r.DomEvent.preventDefault(n).stopPropagation(n)},getMousePosition:function(n,i){var f=r.Browser.ie7,e=t.body,o=t.documentElement,h=n.pageX?n.pageX-e.scrollLeft-o.scrollLeft:n.clientX,c=n.pageY?n.pageY-e.scrollTop-o.scrollTop:n.clientY,l=new r.Point(h,c),s=i.getBoundingClientRect(),u=s.left-i.clientLeft,a=s.top-i.clientTop;return r.DomUtil.documentIsLtr()||!r.Browser.webkit&&!f||(u+=i.scrollWidth-i.clientWidth,f&&"hidden"!==r.DomUtil.getStyle(i,"overflow-y")&&"hidden"!==r.DomUtil.getStyle(i,"overflow")&&(u+=17)),l._subtract(new r.Point(u,a))},getWheelDelta:function(n){var t=0;return n.wheelDelta&&(t=n.wheelDelta/120),n.detail&&(t=-n.detail/3),t},_skipEvents:{},_fakeStop:function(n){r.DomEvent._skipEvents[n.type]=!0},_skipped:function(n){var t=this._skipEvents[n.type];return this._skipEvents[n.type]=!1,t},_checkMouse:function(n,t){var i=t.relatedTarget;if(!i)return!0;try{for(;i&&i!==n;)i=i.parentNode}catch(r){return!1}return i!==n},_getEvent:function(){var t=n.event,i;if(!t)for(i=arguments.callee.caller;i&&(t=i.arguments[0],!t||n.Event!==t.constructor);)i=i.caller;return t},_filterClick:function(n,t){var u=n.timeStamp||n.originalEvent.timeStamp,i=r.DomEvent._lastClick&&u-r.DomEvent._lastClick;return i&&i>100&&1e3>i||n.target._simulatedClick&&!n._simulated?(r.DomEvent.stop(n),void 0):(r.DomEvent._lastClick=u,t(n))}};r.DomEvent.on=r.DomEvent.addListener;r.DomEvent.off=r.DomEvent.removeListener;r.Draggable=r.Class.extend({includes:r.Mixin.Events,statics:{START:r.Browser.touch?["touchstart","mousedown"]:["mousedown"],END:{mousedown:"mouseup",touchstart:"touchend",MSPointerDown:"touchend"},MOVE:{mousedown:"mousemove",touchstart:"touchmove",MSPointerDown:"touchmove"}},initialize:function(n,t){this._element=n;this._dragStartTarget=t||n},enable:function(){if(!this._enabled){for(var n=r.Draggable.START.length-1;n>=0;n--)r.DomEvent.on(this._dragStartTarget,r.Draggable.START[n],this._onDown,this);this._enabled=!0}},disable:function(){if(this._enabled){for(var n=r.Draggable.START.length-1;n>=0;n--)r.DomEvent.off(this._dragStartTarget,r.Draggable.START[n],this._onDown,this);this._enabled=!1;this._moved=!1}},_onDown:function(n){if(!n.shiftKey&&(1===n.which||1===n.button||n.touches)&&(r.DomEvent.stopPropagation(n),!r.Draggable._disabled)){r.DomUtil.disableImageDrag();r.DomUtil.disableTextSelection();var i=n.touches?n.touches[0]:n,u=i.target;r.Browser.touch&&"a"===u.tagName.toLowerCase()&&r.DomUtil.addClass(u,"leaflet-active");this._moved=!1;this._moving||(this._startPoint=new r.Point(i.clientX,i.clientY),this._startPos=this._newPos=r.DomUtil.getPosition(this._element),r.DomEvent.on(t,r.Draggable.MOVE[n.type],this._onMove,this).on(t,r.Draggable.END[n.type],this._onUp,this))}},_onMove:function(n){if(!(n.touches&&n.touches.length>1)){var u=n.touches&&1===n.touches.length?n.touches[0]:n,f=new r.Point(u.clientX,u.clientY),i=f.subtract(this._startPoint);(i.x||i.y)&&(r.DomEvent.preventDefault(n),this._moved||(this.fire("dragstart"),this._moved=!0,this._startPos=r.DomUtil.getPosition(this._element).subtract(i),r.Browser.touch||r.DomUtil.addClass(t.body,"leaflet-dragging")),this._newPos=this._startPos.add(i),this._moving=!0,r.Util.cancelAnimFrame(this._animRequest),this._animRequest=r.Util.requestAnimFrame(this._updatePosition,this,!0,this._dragStartTarget))}},_updatePosition:function(){this.fire("predrag");r.DomUtil.setPosition(this._element,this._newPos);this.fire("drag")},_onUp:function(){r.Browser.touch||r.DomUtil.removeClass(t.body,"leaflet-dragging");for(var n in r.Draggable.MOVE)r.DomEvent.off(t,r.Draggable.MOVE[n],this._onMove).off(t,r.Draggable.END[n],this._onUp);r.DomUtil.enableImageDrag();r.DomUtil.enableTextSelection();this._moved&&(r.Util.cancelAnimFrame(this._animRequest),this.fire("dragend"));this._moving=!1}});r.Handler=r.Class.extend({initialize:function(n){this._map=n},enable:function(){this._enabled||(this._enabled=!0,this.addHooks())},disable:function(){this._enabled&&(this._enabled=!1,this.removeHooks())},enabled:function(){return!!this._enabled}});r.Map.mergeOptions({dragging:!0,inertia:!r.Browser.android23,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,inertiaThreshold:r.Browser.touch?32:18,easeLinearity:.25,worldCopyJump:!1});r.Map.Drag=r.Handler.extend({addHooks:function(){if(!this._draggable){var n=this._map;this._draggable=new r.Draggable(n._mapPane,n._container);this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this);n.options.worldCopyJump&&(this._draggable.on("predrag",this._onPreDrag,this),n.on("viewreset",this._onViewReset,this),this._onViewReset())}this._draggable.enable()},removeHooks:function(){this._draggable.disable()},moved:function(){return this._draggable&&this._draggable._moved},_onDragStart:function(){var n=this._map;n._panAnim&&n._panAnim.stop();n.fire("movestart").fire("dragstart");n.options.inertia&&(this._positions=[],this._times=[])},_onDrag:function(){if(this._map.options.inertia){var n=this._lastTime=+new Date,t=this._lastPos=this._draggable._newPos;this._positions.push(t);this._times.push(n);n-this._times[0]>200&&(this._positions.shift(),this._times.shift())}this._map.fire("move").fire("drag")},_onViewReset:function(){var n=this._map.getSize()._divideBy(2),t=this._map.latLngToLayerPoint([0,0]);this._initialWorldOffset=t.subtract(n).x;this._worldWidth=this._map.project([0,180]).x},_onPreDrag:function(){var i=this._worldWidth,t=Math.round(i/2),n=this._initialWorldOffset,r=this._draggable._newPos.x,u=(r-t+n)%i+t-n,f=(r+t+n)%i-t-n,e=Math.abs(u+n)<Math.abs(f+n)?u:f;this._draggable._newPos.x=e},_onDragEnd:function(){var n=this._map,t=n.options,f=+new Date-this._lastTime,c=!t.inertia||f>t.inertiaThreshold||!this._positions[0];if(n.fire("dragend"),c)n.fire("moveend");else{var l=this._lastPos.subtract(this._positions[0]),a=(this._lastTime+f-this._times[0])/1e3,i=t.easeLinearity,e=l.multiplyBy(i/a),o=e.distanceTo([0,0]),s=Math.min(t.inertiaMaxSpeed,o),v=e.multiplyBy(s/o),h=s/(t.inertiaDeceleration*i),u=v.multiplyBy(-h/2).round();u.x&&u.y?r.Util.requestAnimFrame(function(){n.panBy(u,{duration:h,easeLinearity:i,noMoveStart:!0})}):n.fire("moveend")}}});r.Map.addInitHook("addHandler","dragging",r.Map.Drag);r.Map.mergeOptions({doubleClickZoom:!0});r.Map.DoubleClickZoom=r.Handler.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick)},_onDoubleClick:function(n){this.setZoomAround(n.containerPoint,this._zoom+1)}});r.Map.addInitHook("addHandler","doubleClickZoom",r.Map.DoubleClickZoom);r.Map.mergeOptions({scrollWheelZoom:!0});r.Map.ScrollWheelZoom=r.Handler.extend({addHooks:function(){r.DomEvent.on(this._map._container,"mousewheel",this._onWheelScroll,this);r.DomEvent.on(this._map._container,"MozMousePixelScroll",r.DomEvent.preventDefault);this._delta=0},removeHooks:function(){r.DomEvent.off(this._map._container,"mousewheel",this._onWheelScroll);r.DomEvent.off(this._map._container,"MozMousePixelScroll",r.DomEvent.preventDefault)},_onWheelScroll:function(n){var i=r.DomEvent.getWheelDelta(n),t;this._delta+=i;this._lastMousePos=this._map.mouseEventToContainerPoint(n);this._startTime||(this._startTime=+new Date);t=Math.max(40-(+new Date-this._startTime),0);clearTimeout(this._timer);this._timer=setTimeout(r.bind(this._performZoom,this),t);r.DomEvent.preventDefault(n);r.DomEvent.stopPropagation(n)},_performZoom:function(){var t=this._map,n=this._delta,i=t.getZoom();n=n>0?Math.ceil(n):Math.floor(n);n=Math.max(Math.min(n,4),-4);n=t._limitZoom(i+n)-i;this._delta=0;this._startTime=null;n&&t.setZoomAround(this._lastMousePos,i+n)}});r.Map.addInitHook("addHandler","scrollWheelZoom",r.Map.ScrollWheelZoom);r.extend(r.DomEvent,{_touchstart:r.Browser.msTouch?"MSPointerDown":"touchstart",_touchend:r.Browser.msTouch?"MSPointerUp":"touchend",addDoubleTapListener:function(n,i,u){function c(n){var i,t,u;(r.Browser.msTouch?(e.push(n.pointerId),i=e.length):i=n.touches.length,i>1)||(t=Date.now(),u=t-(s||t),f=n.touches?n.touches[0]:n,l=u>0&&p>=u,s=t)}function o(n){var u,t,o,h;if(r.Browser.msTouch){if(u=e.indexOf(n.pointerId),-1===u)return;e.splice(u,1)}if(l){if(r.Browser.msTouch){o={};for(h in f)t=f[h],o[h]="function"==typeof t?t.bind(f):t;f=o}f.type="dblclick";i(f);s=null}}var s,f,l=!1,p=250,a="_leaflet_",v=this._touchstart,y=this._touchend,e=[],h;return n[a+v+u]=c,n[a+y+u]=o,h=r.Browser.msTouch?t.documentElement:n,n.addEventListener(v,c,!1),h.addEventListener(y,o,!1),r.Browser.msTouch&&h.addEventListener("MSPointerCancel",o,!1),this},removeDoubleTapListener:function(n,i){var u="_leaflet_";return n.removeEventListener(this._touchstart,n[u+this._touchstart+i],!1),(r.Browser.msTouch?t.documentElement:n).removeEventListener(this._touchend,n[u+this._touchend+i],!1),r.Browser.msTouch&&t.documentElement.removeEventListener("MSPointerCancel",n[u+this._touchend+i],!1),this}});r.extend(r.DomEvent,{_msTouches:[],_msDocumentListener:!1,addMsTouchListener:function(n,t,i,r){switch(t){case"touchstart":return this.addMsTouchListenerStart(n,t,i,r);case"touchend":return this.addMsTouchListenerEnd(n,t,i,r);case"touchmove":return this.addMsTouchListenerMove(n,t,i,r);default:throw"Unknown touch event type";}},addMsTouchListenerStart:function(n,i,r,u){var f=this._msTouches,o=function(n){for(var i=!1,t=0;t<f.length;t++)if(f[t].pointerId===n.pointerId){i=!0;break}i||f.push(n);n.touches=f.slice();n.changedTouches=[n];r(n)},e;return(n["_leaflet_touchstart"+u]=o,n.addEventListener("MSPointerDown",o,!1),this._msDocumentListener)||(e=function(n){for(var t=0;t<f.length;t++)if(f[t].pointerId===n.pointerId){f.splice(t,1);break}},t.documentElement.addEventListener("MSPointerUp",e,!1),t.documentElement.addEventListener("MSPointerCancel",e,!1),this._msDocumentListener=!0),this},addMsTouchListenerMove:function(n,t,i,r){function f(n){if(n.pointerType!==n.MSPOINTER_TYPE_MOUSE||0!==n.buttons){for(var t=0;t<u.length;t++)if(u[t].pointerId===n.pointerId){u[t]=n;break}n.touches=u.slice();n.changedTouches=[n];i(n)}}var u=this._msTouches;return n["_leaflet_touchmove"+r]=f,n.addEventListener("MSPointerMove",f,!1),this},addMsTouchListenerEnd:function(n,t,i,r){var u=this._msTouches,f=function(n){for(var t=0;t<u.length;t++)if(u[t].pointerId===n.pointerId){u.splice(t,1);break}n.touches=u.slice();n.changedTouches=[n];i(n)};return n["_leaflet_touchend"+r]=f,n.addEventListener("MSPointerUp",f,!1),n.addEventListener("MSPointerCancel",f,!1),this},removeMsTouchListener:function(n,t,i){var r=n["_leaflet_"+t+i];switch(t){case"touchstart":n.removeEventListener("MSPointerDown",r,!1);break;case"touchmove":n.removeEventListener("MSPointerMove",r,!1);break;case"touchend":n.removeEventListener("MSPointerUp",r,!1);n.removeEventListener("MSPointerCancel",r,!1)}return this}});r.Map.mergeOptions({touchZoom:r.Browser.touch&&!r.Browser.android23});r.Map.TouchZoom=r.Handler.extend({addHooks:function(){r.DomEvent.on(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){r.DomEvent.off(this._map._container,"touchstart",this._onTouchStart,this)},_onTouchStart:function(n){var i=this._map;if(n.touches&&2===n.touches.length&&!i._animatingZoom&&!this._zooming){var u=i.mouseEventToLayerPoint(n.touches[0]),f=i.mouseEventToLayerPoint(n.touches[1]),e=i._getCenterLayerPoint();this._startCenter=u.add(f)._divideBy(2);this._startDist=u.distanceTo(f);this._moved=!1;this._zooming=!0;this._centerOffset=e.subtract(this._startCenter);i._panAnim&&i._panAnim.stop();r.DomEvent.on(t,"touchmove",this._onTouchMove,this).on(t,"touchend",this._onTouchEnd,this);r.DomEvent.preventDefault(n)}},_onTouchMove:function(n){var t=this._map,i,u;n.touches&&2===n.touches.length&&this._zooming&&(i=t.mouseEventToLayerPoint(n.touches[0]),u=t.mouseEventToLayerPoint(n.touches[1]),this._scale=i.distanceTo(u)/this._startDist,this._delta=i._add(u)._divideBy(2)._subtract(this._startCenter),1!==this._scale&&(this._moved||(r.DomUtil.addClass(t._mapPane,"leaflet-touching"),t.fire("movestart").fire("zoomstart"),this._moved=!0),r.Util.cancelAnimFrame(this._animRequest),this._animRequest=r.Util.requestAnimFrame(this._updateOnMove,this,!0,this._map._container),r.DomEvent.preventDefault(n)))},_updateOnMove:function(){var n=this._map,t=this._getScaleOrigin(),i=n.layerPointToLatLng(t),r=n.getScaleZoom(this._scale);n._animateZoom(i,r,this._startCenter,this._scale,this._delta)},_onTouchEnd:function(){var n;if(!this._moved||!this._zooming)return this._zooming=!1,void 0;n=this._map;this._zooming=!1;r.DomUtil.removeClass(n._mapPane,"leaflet-touching");r.Util.cancelAnimFrame(this._animRequest);r.DomEvent.off(t,"touchmove",this._onTouchMove).off(t,"touchend",this._onTouchEnd);var u=this._getScaleOrigin(),o=n.layerPointToLatLng(u),f=n.getZoom(),i=n.getScaleZoom(this._scale)-f,s=i>0?Math.ceil(i):Math.floor(i),e=n._limitZoom(f+s),h=n.getZoomScale(e)/this._scale;n._animateZoom(o,e,u,h)},_getScaleOrigin:function(){var n=this._centerOffset.subtract(this._delta).divideBy(this._scale);return this._startCenter.add(n)}});r.Map.addInitHook("addHandler","touchZoom",r.Map.TouchZoom);r.Map.mergeOptions({tap:!0,tapTolerance:15});r.Map.Tap=r.Handler.extend({addHooks:function(){r.DomEvent.on(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){r.DomEvent.off(this._map._container,"touchstart",this._onDown,this)},_onDown:function(n){if(n.touches){if(r.DomEvent.preventDefault(n),this._fireClick=!0,n.touches.length>1)return this._fireClick=!1,clearTimeout(this._holdTimeout),void 0;var i=n.touches[0],u=i.target;this._startPos=this._newPos=new r.Point(i.clientX,i.clientY);"a"===u.tagName.toLowerCase()&&r.DomUtil.addClass(u,"leaflet-active");this._holdTimeout=setTimeout(r.bind(function(){this._isTapValid()&&(this._fireClick=!1,this._onUp(),this._simulateEvent("contextmenu",i))},this),1e3);r.DomEvent.on(t,"touchmove",this._onMove,this).on(t,"touchend",this._onUp,this)}},_onUp:function(n){if(clearTimeout(this._holdTimeout),r.DomEvent.off(t,"touchmove",this._onMove,this).off(t,"touchend",this._onUp,this),this._fireClick&&n&&n.changedTouches){var i=n.changedTouches[0],u=i.target;"a"===u.tagName.toLowerCase()&&r.DomUtil.removeClass(u,"leaflet-active");this._isTapValid()&&this._simulateEvent("click",i)}},_isTapValid:function(){return this._newPos.distanceTo(this._startPos)<=this._map.options.tapTolerance},_onMove:function(n){var t=n.touches[0];this._newPos=new r.Point(t.clientX,t.clientY)},_simulateEvent:function(i,r){var u=t.createEvent("MouseEvents");u._simulated=!0;r.target._simulatedClick=!0;u.initMouseEvent(i,!0,!0,n,1,r.screenX,r.screenY,r.clientX,r.clientY,!1,!1,!1,!1,0,null);r.target.dispatchEvent(u)}});r.Browser.touch&&!r.Browser.msTouch&&r.Map.addInitHook("addHandler","tap",r.Map.Tap);r.Map.mergeOptions({boxZoom:!0});r.Map.BoxZoom=r.Handler.extend({initialize:function(n){this._map=n;this._container=n._container;this._pane=n._panes.overlayPane},addHooks:function(){r.DomEvent.on(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){r.DomEvent.off(this._container,"mousedown",this._onMouseDown)},_onMouseDown:function(n){return!n.shiftKey||1!==n.which&&1!==n.button?!1:(r.DomUtil.disableTextSelection(),r.DomUtil.disableImageDrag(),this._startLayerPoint=this._map.mouseEventToLayerPoint(n),this._box=r.DomUtil.create("div","leaflet-zoom-box",this._pane),r.DomUtil.setPosition(this._box,this._startLayerPoint),this._container.style.cursor="crosshair",r.DomEvent.on(t,"mousemove",this._onMouseMove,this).on(t,"mouseup",this._onMouseUp,this).on(t,"keydown",this._onKeyDown,this),this._map.fire("boxzoomstart"),void 0)},_onMouseMove:function(n){var t=this._startLayerPoint,i=this._box,u=this._map.mouseEventToLayerPoint(n),f=u.subtract(t),e=new r.Point(Math.min(u.x,t.x),Math.min(u.y,t.y));r.DomUtil.setPosition(i,e);i.style.width=Math.max(0,Math.abs(f.x)-4)+"px";i.style.height=Math.max(0,Math.abs(f.y)-4)+"px"},_finish:function(){this._pane.removeChild(this._box);this._container.style.cursor="";r.DomUtil.enableTextSelection();r.DomUtil.enableImageDrag();r.DomEvent.off(t,"mousemove",this._onMouseMove).off(t,"mouseup",this._onMouseUp).off(t,"keydown",this._onKeyDown)},_onMouseUp:function(n){var t,i,u;this._finish();t=this._map;i=t.mouseEventToLayerPoint(n);this._startLayerPoint.equals(i)||(u=new r.LatLngBounds(t.layerPointToLatLng(this._startLayerPoint),t.layerPointToLatLng(i)),t.fitBounds(u),t.fire("boxzoomend",{boxZoomBounds:u}))},_onKeyDown:function(n){27===n.keyCode&&this._finish()}});r.Map.addInitHook("addHandler","boxZoom",r.Map.BoxZoom);r.Map.mergeOptions({keyboard:!0,keyboardPanOffset:80,keyboardZoomOffset:1});r.Map.Keyboard=r.Handler.extend({keyCodes:{left:[37],right:[39],down:[40],up:[38],zoomIn:[187,107,61],zoomOut:[189,109,173]},initialize:function(n){this._map=n;this._setPanOffset(n.options.keyboardPanOffset);this._setZoomOffset(n.options.keyboardZoomOffset)},addHooks:function(){var n=this._map._container;-1===n.tabIndex&&(n.tabIndex="0");r.DomEvent.on(n,"focus",this._onFocus,this).on(n,"blur",this._onBlur,this).on(n,"mousedown",this._onMouseDown,this);this._map.on("focus",this._addHooks,this).on("blur",this._removeHooks,this)},removeHooks:function(){this._removeHooks();var n=this._map._container;r.DomEvent.off(n,"focus",this._onFocus,this).off(n,"blur",this._onBlur,this).off(n,"mousedown",this._onMouseDown,this);this._map.off("focus",this._addHooks,this).off("blur",this._removeHooks,this)},_onMouseDown:function(){if(!this._focused){var i=t.body,r=t.documentElement,u=i.scrollTop||r.scrollTop,f=i.scrollLeft||r.scrollLeft;this._map._container.focus();n.scrollTo(f,u)}},_onFocus:function(){this._focused=!0;this._map.fire("focus")},_onBlur:function(){this._focused=!1;this._map.fire("blur")},_setPanOffset:function(n){for(var u=this._panKeys={},r=this.keyCodes,t=0,i=r.left.length;i>t;t++)u[r.left[t]]=[-1*n,0];for(t=0,i=r.right.length;i>t;t++)u[r.right[t]]=[n,0];for(t=0,i=r.down.length;i>t;t++)u[r.down[t]]=[0,n];for(t=0,i=r.up.length;i>t;t++)u[r.up[t]]=[0,-1*n]},_setZoomOffset:function(n){for(var u=this._zoomKeys={},r=this.keyCodes,t=0,i=r.zoomIn.length;i>t;t++)u[r.zoomIn[t]]=n;for(t=0,i=r.zoomOut.length;i>t;t++)u[r.zoomOut[t]]=-n},_addHooks:function(){r.DomEvent.on(t,"keydown",this._onKeyDown,this)},_removeHooks:function(){r.DomEvent.off(t,"keydown",this._onKeyDown,this)},_onKeyDown:function(n){var i=n.keyCode,t=this._map;if(i in this._panKeys){if(t._panAnim&&t._panAnim._inProgress)return;t.panBy(this._panKeys[i]);t.options.maxBounds&&t.panInsideBounds(t.options.maxBounds)}else{if(!(i in this._zoomKeys))return;t.setZoom(t.getZoom()+this._zoomKeys[i])}r.DomEvent.stop(n)}});r.Map.addInitHook("addHandler","keyboard",r.Map.Keyboard);r.Handler.MarkerDrag=r.Handler.extend({initialize:function(n){this._marker=n},addHooks:function(){var n=this._marker._icon;this._draggable||(this._draggable=new r.Draggable(n,n));this._draggable.on("dragstart",this._onDragStart,this).on("drag",this._onDrag,this).on("dragend",this._onDragEnd,this);this._draggable.enable()},removeHooks:function(){this._draggable.off("dragstart",this._onDragStart,this).off("drag",this._onDrag,this).off("dragend",this._onDragEnd,this);this._draggable.disable()},moved:function(){return this._draggable&&this._draggable._moved},_onDragStart:function(){this._marker.closePopup().fire("movestart").fire("dragstart")},_onDrag:function(){var n=this._marker,t=n._shadow,i=r.DomUtil.getPosition(n._icon),u=n._map.layerPointToLatLng(i);t&&r.DomUtil.setPosition(t,i);n._latlng=u;n.fire("move",{latlng:u}).fire("drag")},_onDragEnd:function(){this._marker.fire("moveend").fire("dragend")}});r.Control=r.Class.extend({options:{position:"topright"},initialize:function(n){r.setOptions(this,n)},getPosition:function(){return this.options.position},setPosition:function(n){var t=this._map;return t&&t.removeControl(this),this.options.position=n,t&&t.addControl(this),this},getContainer:function(){return this._container},addTo:function(n){this._map=n;var t=this._container=this.onAdd(n),u=this.getPosition(),i=n._controlCorners[u];return r.DomUtil.addClass(t,"leaflet-control"),-1!==u.indexOf("bottom")?i.insertBefore(t,i.firstChild):i.appendChild(t),this},removeFrom:function(n){var t=this.getPosition(),i=n._controlCorners[t];return i.removeChild(this._container),this._map=null,this.onRemove&&this.onRemove(n),this}});r.control=function(n){return new r.Control(n)};r.Map.include({addControl:function(n){return n.addTo(this),this},removeControl:function(n){return n.removeFrom(this),this},_initControlPos:function(){function n(n,f){var e=t+n+" "+t+f;i[n+f]=r.DomUtil.create("div",e,u)}var i=this._controlCorners={},t="leaflet-",u=this._controlContainer=r.DomUtil.create("div",t+"control-container",this._container);n("top","left");n("top","right");n("bottom","left");n("bottom","right")},_clearControlPos:function(){this._container.removeChild(this._controlContainer)}});r.Control.Zoom=r.Control.extend({options:{position:"topleft"},onAdd:function(n){var t="leaflet-control-zoom",i=r.DomUtil.create("div",t+" leaflet-bar");return this._map=n,this._zoomInButton=this._createButton("+","Zoom in",t+"-in",i,this._zoomIn,this),this._zoomOutButton=this._createButton("-","Zoom out",t+"-out",i,this._zoomOut,this),n.on("zoomend zoomlevelschange",this._updateDisabled,this),i},onRemove:function(n){n.off("zoomend zoomlevelschange",this._updateDisabled,this)},_zoomIn:function(n){this._map.zoomIn(n.shiftKey?3:1)},_zoomOut:function(n){this._map.zoomOut(n.shiftKey?3:1)},_createButton:function(n,t,i,u,f,e){var o=r.DomUtil.create("a",i,u),s;return o.innerHTML=n,o.href="#",o.title=t,s=r.DomEvent.stopPropagation,r.DomEvent.on(o,"click",s).on(o,"mousedown",s).on(o,"dblclick",s).on(o,"click",r.DomEvent.preventDefault).on(o,"click",f,e),o},_updateDisabled:function(){var n=this._map,t="leaflet-disabled";r.DomUtil.removeClass(this._zoomInButton,t);r.DomUtil.removeClass(this._zoomOutButton,t);n._zoom===n.getMinZoom()&&r.DomUtil.addClass(this._zoomOutButton,t);n._zoom===n.getMaxZoom()&&r.DomUtil.addClass(this._zoomInButton,t)}});r.Map.mergeOptions({zoomControl:!0});r.Map.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new r.Control.Zoom,this.addControl(this.zoomControl))});r.control.zoom=function(n){return new r.Control.Zoom(n)};r.Control.Attribution=r.Control.extend({options:{position:"bottomright",prefix:'<a href="http://leafletjs.com" title="A JS library for interactive maps">Leaflet<\/a>'},initialize:function(n){r.setOptions(this,n);this._attributions={}},onAdd:function(n){return this._container=r.DomUtil.create("div","leaflet-control-attribution"),r.DomEvent.disableClickPropagation(this._container),n.on("layeradd",this._onLayerAdd,this).on("layerremove",this._onLayerRemove,this),this._update(),this._container},onRemove:function(n){n.off("layeradd",this._onLayerAdd).off("layerremove",this._onLayerRemove)},setPrefix:function(n){return this.options.prefix=n,this._update(),this},addAttribution:function(n){if(n)return(this._attributions[n]||(this._attributions[n]=0),this._attributions[n]++,this._update(),this)},removeAttribution:function(n){if(n)return(this._attributions[n]&&(this._attributions[n]--,this._update()),this)},_update:function(){var n,i,t;if(this._map){n=[];for(i in this._attributions)this._attributions[i]&&n.push(i);t=[];this.options.prefix&&t.push(this.options.prefix);n.length&&t.push(n.join(", "));this._container.innerHTML=t.join(" | ")}},_onLayerAdd:function(n){n.layer.getAttribution&&this.addAttribution(n.layer.getAttribution())},_onLayerRemove:function(n){n.layer.getAttribution&&this.removeAttribution(n.layer.getAttribution())}});r.Map.mergeOptions({attributionControl:!0});r.Map.addInitHook(function(){this.options.attributionControl&&(this.attributionControl=(new r.Control.Attribution).addTo(this))});r.control.attribution=function(n){return new r.Control.Attribution(n)};r.Control.Scale=r.Control.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0,updateWhenIdle:!1},onAdd:function(n){this._map=n;var t="leaflet-control-scale",i=r.DomUtil.create("div",t),u=this.options;return this._addScales(u,t,i),n.on(u.updateWhenIdle?"moveend":"move",this._update,this),n.whenReady(this._update,this),i},onRemove:function(n){n.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(n,t,i){n.metric&&(this._mScale=r.DomUtil.create("div",t+"-line",i));n.imperial&&(this._iScale=r.DomUtil.create("div",t+"-line",i))},_update:function(){var n=this._map.getBounds(),u=n.getCenter().lat,f=6378137*Math.PI*Math.cos(u*Math.PI/180),e=f*(n.getNorthEast().lng-n.getSouthWest().lng)/180,t=this._map.getSize(),i=this.options,r=0;t.x>0&&(r=e*(i.maxWidth/t.x));this._updateScales(i,r)},_updateScales:function(n,t){n.metric&&t&&this._updateMetric(t);n.imperial&&t&&this._updateImperial(t)},_updateMetric:function(n){var t=this._getRoundNum(n);this._mScale.style.width=this._getScaleWidth(t/n)+"px";this._mScale.innerHTML=1e3>t?t+" m":t/1e3+" km"},_updateImperial:function(n){var r,u,f,t=3.2808399*n,i=this._iScale;t>5280?(r=t/5280,u=this._getRoundNum(r),i.style.width=this._getScaleWidth(u/r)+"px",i.innerHTML=u+" mi"):(f=this._getRoundNum(t),i.style.width=this._getScaleWidth(f/t)+"px",i.innerHTML=f+" ft")},_getScaleWidth:function(n){return Math.round(this.options.maxWidth*n)-10},_getRoundNum:function(n){var i=Math.pow(10,(Math.floor(n)+"").length-1),t=n/i;return t=t>=10?10:t>=5?5:t>=3?3:t>=2?2:1,i*t}});r.control.scale=function(n){return new r.Control.Scale(n)};r.Control.Layers=r.Control.extend({options:{collapsed:!0,position:"topright",autoZIndex:!0},initialize:function(n,t,i){r.setOptions(this,i);this._layers={};this._lastZIndex=0;this._handlingClick=!1;for(var u in n)this._addLayer(n[u],u);for(u in t)this._addLayer(t[u],u,!0)},onAdd:function(n){return this._initLayout(),this._update(),n.on("layeradd",this._onLayerChange,this).on("layerremove",this._onLayerChange,this),this._container},onRemove:function(n){n.off("layeradd",this._onLayerChange).off("layerremove",this._onLayerChange)},addBaseLayer:function(n,t){return this._addLayer(n,t),this._update(),this},addOverlay:function(n,t){return this._addLayer(n,t,!0),this._update(),this},removeLayer:function(n){var t=r.stamp(n);return delete this._layers[t],this._update(),this},_initLayout:function(){var t="leaflet-control-layers",n=this._container=r.DomUtil.create("div",t),u,i;n.setAttribute("aria-haspopup",!0);r.Browser.touch?r.DomEvent.on(n,"click",r.DomEvent.stopPropagation):(r.DomEvent.disableClickPropagation(n),r.DomEvent.on(n,"mousewheel",r.DomEvent.stopPropagation));u=this._form=r.DomUtil.create("form",t+"-list");this.options.collapsed?(r.Browser.android||r.DomEvent.on(n,"mouseover",this._expand,this).on(n,"mouseout",this._collapse,this),i=this._layersLink=r.DomUtil.create("a",t+"-toggle",n),i.href="#",i.title="Layers",r.Browser.touch?r.DomEvent.on(i,"click",r.DomEvent.stop).on(i,"click",this._expand,this):r.DomEvent.on(i,"focus",this._expand,this),this._map.on("click",this._collapse,this)):this._expand();this._baseLayersList=r.DomUtil.create("div",t+"-base",u);this._separator=r.DomUtil.create("div",t+"-separator",u);this._overlaysList=r.DomUtil.create("div",t+"-overlays",u);n.appendChild(u)},_addLayer:function(n,t,i){var u=r.stamp(n);this._layers[u]={layer:n,name:t,overlay:i};this.options.autoZIndex&&n.setZIndex&&(this._lastZIndex++,n.setZIndex(this._lastZIndex))},_update:function(){if(this._container){this._baseLayersList.innerHTML="";this._overlaysList.innerHTML="";var r,n,t=!1,i=!1;for(r in this._layers)n=this._layers[r],this._addItem(n),i=i||n.overlay,t=t||!n.overlay;this._separator.style.display=i&&t?"":"none"}},_onLayerChange:function(n){var t=this._layers[r.stamp(n.layer)],i;t&&(this._handlingClick||this._update(),i=t.overlay?"layeradd"===n.type?"overlayadd":"overlayremove":"layeradd"===n.type?"baselayerchange":null,i&&this._map.fire(i,t))},_createRadioElement:function(n,i){var r='<input type="radio" class="leaflet-control-layers-selector" name="'+n+'"',u;return i&&(r+=' checked="checked"'),r+="/>",u=t.createElement("div"),u.innerHTML=r,u.firstChild},_addItem:function(n){var i,u=t.createElement("label"),e=this._map.hasLayer(n.layer),f,o;return n.overlay?(i=t.createElement("input"),i.type="checkbox",i.className="leaflet-control-layers-selector",i.defaultChecked=e):i=this._createRadioElement("leaflet-base-layers",e),i.layerId=r.stamp(n.layer),r.DomEvent.on(i,"click",this._onInputClick,this),f=t.createElement("span"),f.innerHTML=" "+n.name,u.appendChild(i),u.appendChild(f),o=n.overlay?this._overlaysList:this._baseLayersList,o.appendChild(u),u},_onInputClick:function(){var t,i,n,r=this._form.getElementsByTagName("input"),u=r.length;for(this._handlingClick=!0,t=0;u>t;t++)i=r[t],n=this._layers[i.layerId],i.checked&&!this._map.hasLayer(n.layer)?this._map.addLayer(n.layer):!i.checked&&this._map.hasLayer(n.layer)&&this._map.removeLayer(n.layer);this._handlingClick=!1},_expand:function(){r.DomUtil.addClass(this._container,"leaflet-control-layers-expanded")},_collapse:function(){this._container.className=this._container.className.replace(" leaflet-control-layers-expanded","")}});r.control.layers=function(n,t,i){return new r.Control.Layers(n,t,i)};r.PosAnimation=r.Class.extend({includes:r.Mixin.Events,run:function(n,t,i,u){this.stop();this._el=n;this._inProgress=!0;this._newPos=t;this.fire("start");n.style[r.DomUtil.TRANSITION]="all "+(i||.25)+"s cubic-bezier(0,0,"+(u||.5)+",1)";r.DomEvent.on(n,r.DomUtil.TRANSITION_END,this._onTransitionEnd,this);r.DomUtil.setPosition(n,t);r.Util.falseFn(n.offsetWidth);this._stepTimer=setInterval(r.bind(this._onStep,this),50)},stop:function(){this._inProgress&&(r.DomUtil.setPosition(this._el,this._getPos()),this._onTransitionEnd(),r.Util.falseFn(this._el.offsetWidth))},_onStep:function(){var n=this._getPos();return n?(this._el._leaflet_pos=n,this.fire("step"),void 0):(this._onTransitionEnd(),void 0)},_transformRe:/([-+]?(?:\d*\.)?\d+)\D*, ([-+]?(?:\d*\.)?\d+)\D*\)/,_getPos:function(){var i,u,t,e=this._el,f=n.getComputedStyle(e);if(r.Browser.any3d){if(t=f[r.DomUtil.TRANSFORM].match(this._transformRe),!t)return;i=parseFloat(t[1]);u=parseFloat(t[2])}else i=parseFloat(f.left),u=parseFloat(f.top);return new r.Point(i,u,!0)},_onTransitionEnd:function(){r.DomEvent.off(this._el,r.DomUtil.TRANSITION_END,this._onTransitionEnd,this);this._inProgress&&(this._inProgress=!1,this._el.style[r.DomUtil.TRANSITION]="",this._el._leaflet_pos=this._newPos,clearInterval(this._stepTimer),this.fire("step").fire("end"))}});r.Map.include({setView:function(n,t,u){if(t=this._limitZoom(t),n=r.latLng(n),u=u||{},this._panAnim&&this._panAnim.stop(),this._loaded&&!u.reset&&u!==!0){u.animate!==i&&(u.zoom=r.extend({animate:u.animate},u.zoom),u.pan=r.extend({animate:u.animate},u.pan));var f=this._zoom!==t?this._tryAnimatedZoom&&this._tryAnimatedZoom(n,t,u.zoom):this._tryAnimatedPan(n,u.pan);if(f)return clearTimeout(this._sizeTimer),this}return this._resetView(n,t),this},panBy:function(n,t){if(n=r.point(n).round(),t=t||{},!n.x&&!n.y)return this;if(this._panAnim||(this._panAnim=new r.PosAnimation,this._panAnim.on({step:this._onPanTransitionStep,end:this._onPanTransitionEnd},this)),t.noMoveStart||this.fire("movestart"),t.animate!==!1){r.DomUtil.addClass(this._mapPane,"leaflet-pan-anim");var i=this._getMapPanePos().subtract(n);this._panAnim.run(this._mapPane,i,t.duration||.25,t.easeLinearity)}else this._rawPanBy(n),this.fire("move").fire("moveend");return this},_onPanTransitionStep:function(){this.fire("move")},_onPanTransitionEnd:function(){r.DomUtil.removeClass(this._mapPane,"leaflet-pan-anim");this.fire("moveend")},_tryAnimatedPan:function(n,t){var i=this._getCenterOffset(n)._floor();return(t&&t.animate)===!0||this.getSize().contains(i)?(this.panBy(i,t),!0):!1}});r.PosAnimation=r.DomUtil.TRANSITION?r.PosAnimation:r.PosAnimation.extend({run:function(n,t,i,u){this.stop();this._el=n;this._inProgress=!0;this._duration=i||.25;this._easeOutPower=1/Math.max(u||.5,.2);this._startPos=r.DomUtil.getPosition(n);this._offset=t.subtract(this._startPos);this._startTime=+new Date;this.fire("start");this._animate()},stop:function(){this._inProgress&&(this._step(),this._complete())},_animate:function(){this._animId=r.Util.requestAnimFrame(this._animate,this);this._step()},_step:function(){var n=+new Date-this._startTime,t=1e3*this._duration;t>n?this._runFrame(this._easeOut(n/t)):(this._runFrame(1),this._complete())},_runFrame:function(n){var t=this._startPos.add(this._offset.multiplyBy(n));r.DomUtil.setPosition(this._el,t);this.fire("step")},_complete:function(){r.Util.cancelAnimFrame(this._animId);this._inProgress=!1;this.fire("end")},_easeOut:function(n){return 1-Math.pow(1-n,this._easeOutPower)}});r.Map.mergeOptions({zoomAnimation:!0,zoomAnimationThreshold:4});r.DomUtil.TRANSITION&&r.Map.addInitHook(function(){this._zoomAnimated=this.options.zoomAnimation&&r.DomUtil.TRANSITION&&r.Browser.any3d&&!r.Browser.android23&&!r.Browser.mobileOpera;this._zoomAnimated&&r.DomEvent.on(this._mapPane,r.DomUtil.TRANSITION_END,this._catchTransitionEnd,this)});r.Map.include(r.DomUtil.TRANSITION?{_catchTransitionEnd:function(){this._animatingZoom&&this._onZoomTransitionEnd()},_nothingToAnimate:function(){return!this._container.getElementsByClassName("leaflet-zoom-animated").length},_tryAnimatedZoom:function(n,t,i){if(this._animatingZoom)return!0;if(i=i||{},!this._zoomAnimated||i.animate===!1||this._nothingToAnimate()||Math.abs(t-this._zoom)>this.options.zoomAnimationThreshold)return!1;var r=this.getZoomScale(t),u=this._getCenterOffset(n)._divideBy(1-1/r),f=this._getCenterLayerPoint()._add(u);return i.animate===!0||this.getSize().contains(u)?(this.fire("movestart").fire("zoomstart"),this._animateZoom(n,t,f,r,null,!0),!0):!1},_animateZoom:function(n,t,i,u,f,e){this._animatingZoom=!0;r.DomUtil.addClass(this._mapPane,"leaflet-zoom-anim");this._animateToCenter=n;this._animateToZoom=t;r.Draggable&&(r.Draggable._disabled=!0);this.fire("zoomanim",{center:n,zoom:t,origin:i,scale:u,delta:f,backwards:e})},_onZoomTransitionEnd:function(){this._animatingZoom=!1;r.DomUtil.removeClass(this._mapPane,"leaflet-zoom-anim");this._resetView(this._animateToCenter,this._animateToZoom,!0,!0);r.Draggable&&(r.Draggable._disabled=!1)}}:{});r.TileLayer.include({_animateZoom:function(n){this._animating||(this._animating=!0,this._prepareBgBuffer());var t=this._bgBuffer,i=r.DomUtil.TRANSFORM,u=n.delta?r.DomUtil.getTranslateString(n.delta):t.style[i],f=r.DomUtil.getScaleString(n.scale,n.origin);t.style[i]=n.backwards?f+" "+u:u+" "+f},_endZoomAnim:function(){var n=this._tileContainer,t=this._bgBuffer;n.style.visibility="";n.parentNode.appendChild(n);r.Util.falseFn(t.offsetWidth);this._animating=!1},_clearBgBuffer:function(){var n=this._map;!n||n._animatingZoom||n.touchZoom._zooming||(this._bgBuffer.innerHTML="",this._bgBuffer.style[r.DomUtil.TRANSFORM]="")},_prepareBgBuffer:function(){var t=this._tileContainer,n=this._bgBuffer,i=this._getLoadedTilesPercentage(n),u=this._getLoadedTilesPercentage(t);return n&&i>.5&&.5>u?(t.style.visibility="hidden",this._stopLoadingImages(t),void 0):(n.style.visibility="hidden",n.style[r.DomUtil.TRANSFORM]="",this._tileContainer=n,n=this._bgBuffer=t,this._stopLoadingImages(n),clearTimeout(this._clearBgBufferTimer),void 0)},_getLoadedTilesPercentage:function(n){for(var r=n.getElementsByTagName("img"),u=0,t=0,i=r.length;i>t;t++)r[t].complete&&u++;return u/i},_stopLoadingImages:function(n){for(var t,f=Array.prototype.slice.call(n.getElementsByTagName("img")),i=0,u=f.length;u>i;i++)t=f[i],t.complete||(t.onload=r.Util.falseFn,t.onerror=r.Util.falseFn,t.src=r.Util.emptyImageUrl,t.parentNode.removeChild(t))}});r.Map.include({_defaultLocateOptions:{watch:!1,setView:!1,maxZoom:1/0,timeout:1e4,maximumAge:0,enableHighAccuracy:!1},locate:function(n){if(n=this._locateOptions=r.extend(this._defaultLocateOptions,n),!navigator.geolocation)return this._handleGeolocationError({code:0,message:"Geolocation not supported."}),this;var t=r.bind(this._handleGeolocationResponse,this),i=r.bind(this._handleGeolocationError,this);return n.watch?this._locationWatchId=navigator.geolocation.watchPosition(t,i,n):navigator.geolocation.getCurrentPosition(t,i,n),this},stopLocate:function(){return navigator.geolocation&&navigator.geolocation.clearWatch(this._locationWatchId),this._locateOptions&&(this._locateOptions.setView=!1),this},_handleGeolocationError:function(n){var t=n.code,i=n.message||(1===t?"permission denied":2===t?"position unavailable":"timeout");this._locateOptions.setView&&!this._loaded&&this.fitWorld();this.fire("locationerror",{code:t,message:"Geolocation error: "+i+"."})},_handleGeolocationResponse:function(n){var t=n.coords.latitude,u=n.coords.longitude,o=new r.LatLng(t,u),f=180*n.coords.accuracy/40075017,s=f/Math.cos(r.LatLng.DEG_TO_RAD*t),h=r.latLngBounds([t-f,u-s],[t+f,u+s]),c=this._locateOptions,l,e,i;c.setView&&(l=Math.min(this.getBoundsZoom(h),c.maxZoom),this.setView(o,l));e={latlng:o,bounds:h};for(i in n.coords)"number"==typeof n.coords[i]&&(e[i]=n.coords[i]);this.fire("locationfound",e)}})}(window,document),function(){"use strict";L.TileLayer.Provider=L.TileLayer.extend({initialize:function(n,t){var u=L.TileLayer.Provider.providers,e=n.split("."),r=e[0],o=e[1],i,f,h,s,c;if(!u[r])throw"No such provider ("+r+")";if(i={url:u[r].url,options:u[r].options},o&&"variants"in u[r]){if(!(o in u[r].variants))throw"No such variant of "+r+" ("+o+")";f=u[r].variants[o];h=typeof f=="string"?{variant:f}:f.options;i={url:f.url||i.url,options:L.Util.extend({},i.options,h)}}else typeof i.url=="function"&&(i.url=i.url(e.splice(1,e.length-1).join(".")));s=function(n){return n.indexOf("{attribution.")===-1?n:n.replace(/\{attribution.(\w*)\}/,function(n,t){return s(u[t].options.attribution)})};i.options.attribution=s(i.options.attribution);c=L.Util.extend({},i.options,t);L.TileLayer.prototype.initialize.call(this,i.url,c)}});L.TileLayer.Provider.providers={OpenStreetMap:{url:"http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",options:{attribution:'&copy; <a href="http://openstreetmap.org">OpenStreetMap<\/a> contributors, <a href="http://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA<\/a>'},variants:{Mapnik:{},BlackAndWhite:{url:"http://{s}.www.toolserver.org/tiles/bw-mapnik/{z}/{x}/{y}.png"},DE:{url:"http://{s}.tile.openstreetmap.de/tiles/osmde/{z}/{x}/{y}.png"},HOT:{url:"http://{s}.tile.openstreetmap.fr/hot/{z}/{x}/{y}.png",options:{attribution:'{attribution.OpenStreetMap}, Tiles courtesy of <a href="http://hot.openstreetmap.org/" target="_blank">Humanitarian OpenStreetMap Team<\/a>'}}}},OpenSeaMap:{url:"http://tiles.openseamap.org/seamark/{z}/{x}/{y}.png",options:{attribution:'Map data: &copy; <a href="http://www.openseamap.org">OpenSeaMap<\/a> contributors'}},Thunderforest:{url:"http://{s}.tile.thunderforest.com/{variant}/{z}/{x}/{y}.png",options:{attribution:'&copy; <a href="http://www.opencyclemap.org">OpenCycleMap<\/a>, {attribution.OpenStreetMap}',variant:"cycle"},variants:{OpenCycleMap:"cycle",Transport:"transport",Landscape:"landscape",Outdoors:"outdoors"}},OpenMapSurfer:{url:"http://openmapsurfer.uni-hd.de/tiles/{variant}/x={x}&y={y}&z={z}",options:{variant:"roads",attribution:'Imagery from <a href="http://giscience.uni-hd.de/">GIScience Research Group @ University of Heidelberg<\/a> &mdash; Map data {attribution.OpenStreetMap}'},variants:{Roads:"roads",AdminBounds:"adminb",Grayscale:"roadsg"}},MapQuestOpen:{url:"http://otile{s}.mqcdn.com/tiles/1.0.0/map/{z}/{x}/{y}.jpeg",options:{attribution:'Tiles Courtesy of <a href="http://www.mapquest.com/">MapQuest<\/a> &mdash; Map data {attribution.OpenStreetMap}',subdomains:"1234"},variants:{OSM:{},Aerial:{url:"http://oatile{s}.mqcdn.com/tiles/1.0.0/sat/{z}/{x}/{y}.jpg",options:{attribution:'Tiles Courtesy of <a href="http://www.mapquest.com/">MapQuest<\/a> &mdash; Portions Courtesy NASA/JPL-Caltech and U.S. Depart. of Agriculture, Farm Service Agency'}}}},MapBox:{url:function(n){return"http://{s}.tiles.mapbox.com/v3/"+n+"/{z}/{x}/{y}.png"},options:{attribution:'Imagery from <a href="http://mapbox.com/about/maps/">MapBox<\/a> &mdash; Map data {attribution.OpenStreetMap}',subdomains:"abcd"}},Stamen:{url:"http://{s}.tile.stamen.com/{variant}/{z}/{x}/{y}.png",options:{attribution:'Map tiles by <a href="http://stamen.com">Stamen Design<\/a>, <a href="http://creativecommons.org/licenses/by/3.0">CC BY 3.0<\/a> &mdash; Map data {attribution.OpenStreetMap}',subdomains:"abcd",minZoom:0,maxZoom:20,variant:"toner"},variants:{Toner:"toner",TonerBackground:"toner-background",TonerHybrid:"toner-hybrid",TonerLines:"toner-lines",TonerLabels:"toner-labels",TonerLite:"toner-lite",Terrain:{options:{variant:"terrain",minZoom:4,maxZoom:18}},TerrainBackground:{options:{variant:"terrain-background",minZoom:4,maxZoom:18}},Watercolor:{options:{variant:"watercolor",minZoom:3,maxZoom:16}}}},Esri:{url:"https://server.arcgisonline.com/ArcGIS/rest/services/{variant}/MapServer/tile/{z}/{y}/{x}",options:{variant:"World_Street_Map",attribution:"Tiles &copy; Esri"},variants:{WorldStreetMap:{options:{attribution:"{attribution.Esri} &mdash; Source: Esri, DeLorme, NAVTEQ, USGS, Intermap, iPC, NRCAN, Esri Japan, METI, Esri China (Hong Kong), Esri (Thailand), TomTom, 2012"}},DeLorme:{options:{variant:"Specialty/DeLorme_World_Base_Map",minZoom:1,maxZoom:11,attribution:"{attribution.Esri} &mdash; Copyright: &copy;2012 DeLorme"}},WorldTopoMap:{options:{variant:"World_Topo_Map",attribution:"{attribution.Esri} &mdash; Esri, DeLorme, NAVTEQ, TomTom, Intermap, iPC, USGS, FAO, NPS, NRCAN, GeoBase, Kadaster NL, Ordnance Survey, Esri Japan, METI, Esri China (Hong Kong), and the GIS User Community"}},WorldImagery:{options:{variant:"World_Imagery",attribution:"{attribution.Esri} &mdash; Source: Esri, i-cubed, USDA, USGS, AEX, GeoEye, Getmapping, Aerogrid, IGN, IGP, UPR-EGP, and the GIS User Community"}},WorldTerrain:{options:{variant:"World_Terrain_Base",maxZoom:13,attribution:"{attribution.Esri} &mdash; Source: USGS, Esri, TANA, DeLorme, and NPS"}},WorldShadedRelief:{options:{variant:"World_Shaded_Relief",maxZoom:13,attribution:"{attribution.Esri} &mdash; Source: Esri"}},WorldPhysical:{options:{variant:"World_Physical_Map",maxZoom:8,attribution:"{attribution.Esri} &mdash; Source: US National Park Service"}},OceanBasemap:{options:{variant:"Ocean_Basemap",maxZoom:13,attribution:"{attribution.Esri} &mdash; Sources: GEBCO, NOAA, CHS, OSU, UNH, CSUMB, National Geographic, DeLorme, NAVTEQ, and Esri"}},NatGeoWorldMap:{options:{variant:"NatGeo_World_Map",maxZoom:16,attribution:"{attribution.Esri} &mdash; National Geographic, Esri, DeLorme, NAVTEQ, UNEP-WCMC, USGS, NASA, ESA, METI, NRCAN, GEBCO, NOAA, iPC"}},WorldGrayCanvas:{options:{variant:"Canvas/World_Light_Gray_Base",maxZoom:16,attribution:"{attribution.Esri} &mdash; Esri, DeLorme, NAVTEQ"}}}},OpenWeatherMap:{url:"http://{s}.tile.openweathermap.org/map/{variant}/{z}/{x}/{y}.png",options:{attribution:'Map data &copy; <a href="http://openweathermap.org">OpenWeatherMap<\/a>',opacity:.5},variants:{Clouds:"clouds",CloudsClassic:"clouds_cls",Precipitation:"precipitation",PrecipitationClassic:"precipitation_cls",Rain:"rain",RainClassic:"rain_cls",Pressure:"pressure",PressureContour:"pressure_cntr",Wind:"wind",Temperature:"temp",Snow:"snow"}},HERE:{url:"http://{s}.{base}.maps.cit.api.here.com/maptile/2.1/maptile/{mapID}/{variant}/{z}/{x}/{y}/256/png8?app_id={app_id}&app_code={app_code}",options:{attribution:'Map &copy; 1987-2014 <a href="http://developer.here.com">HERE<\/a>',subdomains:"1234",mapID:"newest",app_id:"<insert your app_id here>",app_code:"<insert your app_code here>",base:"base",variant:"normal.day",minZoom:0,maxZoom:20},variants:{normalDay:"normal.day",normalDayCustom:"normal.day.custom",normalDayGrey:"normal.day.grey",normalDayMobile:"normal.day.mobile",normalDayGreyMobile:"normal.day.grey.mobile",normalDayTransit:"normal.day.transit",normalDayTransitMobile:"normal.day.transit.mobile",normalNight:"normal.night",normalNightMobile:"normal.night.mobile",normalNightGrey:"normal.night.grey",normalNightGreyMobile:"normal.night.grey.mobile",carnavDayGrey:"carnav.day.grey",hybridDay:{options:{base:"aerial",variant:"hybrid.day"}},hybridDayMobile:{options:{base:"aerial",variant:"hybrid.day.mobile"}},pedestrianDay:"pedestrian.day",pedestrianNight:"pedestrian.night",satelliteDay:{options:{base:"aerial",variant:"satellite.day"}},terrainDay:{options:{base:"aerial",variant:"terrain.day"}},terrainDayMobile:{options:{base:"aerial",variant:"terrain.day.mobile"}}}},Acetate:{url:"http://a{s}.acetate.geoiq.com/tiles/{variant}/{z}/{x}/{y}.png",options:{attribution:"&copy;2012 Esri & Stamen, Data from OSM and Natural Earth",subdomains:"0123",minZoom:2,maxZoom:18,variant:"acetate-base"},variants:{basemap:"acetate-base",terrain:"terrain",all:"acetate-hillshading",foreground:"acetate-fg",roads:"acetate-roads",labels:"acetate-labels",hillshading:"hillshading"}}};L.tileLayer.provider=function(n,t){return new L.TileLayer.Provider(n,t)};L.Control.Layers.Provided=L.Control.Layers.extend({initialize:function(n,t,i){var r,u=function(n){return n.replace(/\./g,": ").replace(/([a-z])([A-Z])/g,"$1 $2")};n.length&&(function(){for(var i={},f=n.length,t=0;t<f;)typeof n[t]=="string"&&(t===0?(r=L.tileLayer.provider(n[0]),i[u(n[t])]=r):i[u(n[t])]=L.tileLayer.provider(n[t])),t++;n=i}(),this._first=r);t&&t.length&&function(){for(var i={},r=t.length,n=0;n<r;)typeof t[n]=="string"&&(i[u(t[n])]=L.tileLayer.provider(t[n])),n++;t=i}();L.Control.Layers.prototype.initialize.call(this,n,t,i)},onAdd:function(n){return this._first.addTo(n),L.Control.Layers.prototype.onAdd.call(this,n)}});L.control.layers.provided=function(n,t,i){return new L.Control.Layers.Provided(n,t,i)}}();
/*!
 handlebars v4.0.2
Copyright (C) 2011-2015 by Yehuda Katz
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
@license
*/
(function(n,t){typeof exports=="object"&&typeof module=="object"?module.exports=t():typeof define=="function"&&define.amd?define([],t):typeof exports=="object"?exports.Handlebars=t():n.Handlebars=t()})(this,function(){return function(n){function t(r){if(i[r])return i[r].exports;var u=i[r]={exports:{},id:r,loaded:!1};return n[r].call(u.exports,u,u.exports,t),u.loaded=!0,u.exports}var i={};return t.m=n,t.c=i,t.p="",t(0)}([function(n,t,i){"use strict";function o(){var n=k();return n.compile=function(t,i){return f.compile(t,i,n)},n.precompile=function(t,i){return f.precompile(t,i,n)},n.AST=l["default"],n.Compiler=f.Compiler,n.JavaScriptCompiler=v["default"],n.Parser=e.parser,n.parse=e.parse,n}var u=i(1)["default"],r;t.__esModule=!0;var s=i(2),h=u(s),c=i(21),l=u(c),e=i(22),f=i(27),a=i(28),v=u(a),y=i(25),p=u(y),w=i(20),b=u(w),k=h["default"].create;r=o();r.create=o;b["default"](r);r.Visitor=p["default"];r["default"]=r;t["default"]=r;n.exports=t["default"]},function(n,t){"use strict";t["default"]=function(n){return n&&n.__esModule?n:{"default":n}};t.__esModule=!0},function(n,t,i){"use strict";function h(){var n=new o.HandlebarsEnvironment;return e.extend(n,o),n.SafeString=a["default"],n.Exception=y["default"],n.Utils=e,n.escapeExpression=e.escapeExpression,n.VM=s,n.template=function(t){return s.template(t,n)},n}var u=i(3)["default"],f=i(1)["default"],r;t.__esModule=!0;var c=i(4),o=u(c),l=i(18),a=f(l),v=i(6),y=f(v),p=i(5),e=u(p),w=i(19),s=u(w),b=i(20),k=f(b);r=h();r.create=h;k["default"](r);r["default"]=r;t["default"]=r;n.exports=t["default"]},function(n,t){"use strict";t["default"]=function(n){var t,i;if(n&&n.__esModule)return n;if(t={},n!=null)for(i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i]);return t["default"]=n,t};t.__esModule=!0},function(n,t,i){"use strict";function o(n,t,i){this.helpers=n||{};this.partials=t||{};this.decorators=i||{};v.registerDefaultHelpers(this);y.registerDefaultDecorators(this)}var s=i(1)["default"],h,c,f,l;t.__esModule=!0;t.HandlebarsEnvironment=o;var r=i(5),a=i(6),e=s(a),v=i(7),y=i(15),p=i(17),u=s(p);t.VERSION="4.0.2";h=7;t.COMPILER_REVISION=h;c={1:"<= 1.0.rc.2",2:"== 1.0.0-rc.3",3:"== 1.0.0-rc.4",4:"== 1.x.x",5:"== 2.0.0-alpha.x",6:">= 2.0.0-beta.1",7:">= 4.0.0"};t.REVISION_CHANGES=c;f="[object Object]";o.prototype={constructor:o,logger:u["default"],log:u["default"].log,registerHelper:function(n,t){if(r.toString.call(n)===f){if(t)throw new e["default"]("Arg not supported with multiple helpers");r.extend(this.helpers,n)}else this.helpers[n]=t},unregisterHelper:function(n){delete this.helpers[n]},registerPartial:function(n,t){if(r.toString.call(n)===f)r.extend(this.partials,n);else{if(typeof t=="undefined")throw new e["default"]("Attempting to register a partial as undefined");this.partials[n]=t}},unregisterPartial:function(n){delete this.partials[n]},registerDecorator:function(n,t){if(r.toString.call(n)===f){if(t)throw new e["default"]("Arg not supported with multiple decorators");r.extend(this.decorators,n)}else this.decorators[n]=t},unregisterDecorator:function(n){delete this.decorators[n]}};l=u["default"].log;t.log=l;t.createFrame=r.createFrame;t.logger=u["default"]},function(n,t){"use strict";function h(n){return e[n]}function f(n){for(var i,t=1;t<arguments.length;t++)for(i in arguments[t])Object.prototype.hasOwnProperty.call(arguments[t],i)&&(n[i]=arguments[t][i]);return n}function c(n,t){for(var i=0,r=n.length;i<r;i++)if(n[i]===t)return i;return-1}function l(n){if(typeof n!="string"){if(n&&n.toHTML)return n.toHTML();if(n==null)return"";if(!n)return n+"";n=""+n}return s.test(n)?n.replace(o,h):n}function a(n){return n||n===0?u(n)&&n.length===0?!0:!1:!0}function v(n){var t=f({},n);return t._parent=n,t}function y(n,t){return n.path=t,n}function p(n,t){return(n?n+".":"")+t}var i,r,u;t.__esModule=!0;t.extend=f;t.indexOf=c;t.escapeExpression=l;t.isEmpty=a;t.createFrame=v;t.blockParams=y;t.appendContextPath=p;var e={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;","=":"&#x3D;"},o=/[&<>"'`=]/g,s=/[&<>"'`=]/;i=Object.prototype.toString;t.toString=i;r=function(n){return typeof n=="function"};r(/x/)&&(t.isFunction=r=function(n){return typeof n=="function"&&i.call(n)==="[object Function]"});t.isFunction=r;u=Array.isArray||function(n){return n&&typeof n=="object"?i.call(n)==="[object Array]":!1};t.isArray=u},function(n,t){"use strict";function r(n,t){var f=t&&t.loc,e=undefined,o=undefined,s,u;for(f&&(e=f.start.line,o=f.start.column,n+=" - "+e+":"+o),s=Error.prototype.constructor.call(this,n),u=0;u<i.length;u++)this[i[u]]=s[i[u]];Error.captureStackTrace&&Error.captureStackTrace(this,r);f&&(this.lineNumber=e,this.column=o)}t.__esModule=!0;var i=["description","fileName","lineNumber","message","name","number","stack"];r.prototype=new Error;t["default"]=r;n.exports=t["default"]},function(n,t,i){"use strict";function k(n){f["default"](n);o["default"](n);h["default"](n);l["default"](n);v["default"](n);p["default"](n);b["default"](n)}var r=i(1)["default"];t.__esModule=!0;t.registerDefaultHelpers=k;var u=i(8),f=r(u),e=i(9),o=r(e),s=i(10),h=r(s),c=i(11),l=r(c),a=i(12),v=r(a),y=i(13),p=r(y),w=i(14),b=r(w)},function(n,t,i){"use strict";t.__esModule=!0;var r=i(5);t["default"]=function(n){n.registerHelper("blockHelperMissing",function(t,i){var f=i.inverse,e=i.fn,u;return t===!0?e(this):t===!1||t==null?f(this):r.isArray(t)?t.length>0?(i.ids&&(i.ids=[i.name]),n.helpers.each(t,i)):f(this):(i.data&&i.ids&&(u=r.createFrame(i.data),u.contextPath=r.appendContextPath(i.data.contextPath,i.name),i={data:u}),e(t,i))})};n.exports=t["default"]},function(n,t,i){"use strict";var u=i(1)["default"];t.__esModule=!0;var r=i(5),f=i(6),e=u(f);t["default"]=function(n){n.registerHelper("each",function(n,t){function h(t,i,f){n[t]!=null&&(u&&(u.key=t,u.index=i,u.first=i===0,u.last=!!f,s&&(u.contextPath=s+t)),o=o+a(n[t],{data:u,blockParams:r.blockParams([n[t],t],[s+t,null])}))}var l,f,c;if(!t)throw new e["default"]("Must pass iterator to #each");var a=t.fn,v=t.inverse,i=0,o="",u=undefined,s=undefined;if(t.data&&t.ids&&(s=r.appendContextPath(t.data.contextPath,t.ids[0])+"."),r.isFunction(n)&&(n=n.call(this)),t.data&&(u=r.createFrame(t.data)),n&&typeof n=="object")if(r.isArray(n))for(l=n.length;i<l;i++)h(i,i,i===n.length-1);else{f=undefined;for(c in n)n.hasOwnProperty(c)&&(f!==undefined&&h(f,i-1),f=c,i++);f!==undefined&&h(f,i-1,!0)}return i===0&&(o=v(this)),o})};n.exports=t["default"]},function(n,t,i){"use strict";var f=i(1)["default"],r,u;t.__esModule=!0;r=i(6);u=f(r);t["default"]=function(n){n.registerHelper("helperMissing",function(){if(arguments.length===1)return undefined;throw new u["default"]('Missing helper: "'+arguments[arguments.length-1].name+'"');})};n.exports=t["default"]},function(n,t,i){"use strict";t.__esModule=!0;var r=i(5);t["default"]=function(n){n.registerHelper("if",function(n,t){return r.isFunction(n)&&(n=n.call(this)),(t.hash.includeZero||n)&&!r.isEmpty(n)?t.fn(this):t.inverse(this)});n.registerHelper("unless",function(t,i){return n.helpers["if"].call(this,t,{fn:i.inverse,inverse:i.fn,hash:i.hash})})};n.exports=t["default"]},function(n,t){"use strict";t.__esModule=!0;t["default"]=function(n){n.registerHelper("log",function(){for(var i,r=[undefined],t=arguments[arguments.length-1],u=0;u<arguments.length-1;u++)r.push(arguments[u]);i=1;t.hash.level!=null?i=t.hash.level:t.data&&t.data.level!=null&&(i=t.data.level);r[0]=i;n.log.apply(n,r)})};n.exports=t["default"]},function(n,t){"use strict";t.__esModule=!0;t["default"]=function(n){n.registerHelper("lookup",function(n,t){return n&&n[t]})};n.exports=t["default"]},function(n,t,i){"use strict";t.__esModule=!0;var r=i(5);t["default"]=function(n){n.registerHelper("with",function(n,t){var u,i;return r.isFunction(n)&&(n=n.call(this)),u=t.fn,r.isEmpty(n)?t.inverse(this):(i=t.data,t.data&&t.ids&&(i=r.createFrame(t.data),i.contextPath=r.appendContextPath(t.data.contextPath,t.ids[0])),u(n,{data:i,blockParams:r.blockParams([n],[i&&i.contextPath])}))})};n.exports=t["default"]},function(n,t,i){"use strict";function e(n){u["default"](n)}var f=i(1)["default"],r,u;t.__esModule=!0;t.registerDefaultDecorators=e;r=i(16);u=f(r)},function(n,t,i){"use strict";t.__esModule=!0;var r=i(5);t["default"]=function(n){n.registerDecorator("inline",function(n,t,i,u){var f=n;return t.partials||(t.partials={},f=function(u,f){var e=i.partials,o;return i.partials=r.extend({},e,t.partials),o=n(u,f),i.partials=e,o}),t.partials[u.args[0]]=u.fn,f})};n.exports=t["default"]},function(n,t){"use strict";t.__esModule=!0;var i={methodMap:["debug","info","warn","error"],level:"info",lookupLevel:function(n){if(typeof n=="string"){var t=i.methodMap.indexOf(n.toLowerCase());n=t>=0?t:parseInt(n,10)}return n},log:function(n){var t;if(n=i.lookupLevel(n),typeof console!="undefined"&&i.lookupLevel(i.level)<=n){t=i.methodMap[n];console[t]||(t="log");for(var u=arguments.length,f=Array(u>1?u-1:0),r=1;r<u;r++)f[r-1]=arguments[r];console[t].apply(console,f)}}};t["default"]=i;n.exports=t["default"]},function(n,t){"use strict";function i(n){this.string=n}t.__esModule=!0;i.prototype.toString=i.prototype.toHTML=function(){return""+this.string};t["default"]=i;n.exports=t["default"]},function(n,t,i){"use strict";function v(n){var t=n&&n[0]||1,i=f.COMPILER_REVISION,u,e;if(t!==i)if(t<i){u=f.REVISION_CHANGES[i];e=f.REVISION_CHANGES[t];throw new r["default"]("Template was precompiled with an older version of Handlebars than the current runtime. Please update your precompiler to a newer version ("+u+") or downgrade your runtime to an older version ("+e+").");}else throw new r["default"]("Template was precompiled with a newer version of Handlebars than the current runtime. Please update your runtime to a newer version ("+n[1]+").");}function y(n,t){function o(i,f,e){var o,h,s,c;if(e.hash&&(f=u.extend({},f,e.hash),e.ids&&(e.ids[0]=!0)),i=t.VM.resolvePartial.call(this,i,f,e),o=t.VM.invokePartial.call(this,i,f,e),o==null&&t.compile&&(e.partials[e.name]=t.compile(i,n.compilerOptions,t),o=e.partials[e.name](f,e)),o!=null){if(e.indent){for(h=o.split("\n"),s=0,c=h.length;s<c;s++){if(!h[s]&&s+1===c)break;h[s]=e.indent+h[s]}o=h.join("\n")}return o}throw new r["default"]("The partial "+e.name+" could not be compiled when running in runtime-only mode");}function f(t){function h(t){return""+n.main(i,t,i.helpers,i.partials,u,o,e)}var r=arguments.length<=1||arguments[1]===undefined?{}:arguments[1],u=r.data,e,o;return f._setup(r),!r.partial&&n.useData&&(u=b(t,u)),e=undefined,o=n.useBlockParams?[]:undefined,n.useDepths&&(e=r.depths?t!==r.depths[0]?[t].concat(r.depths):r.depths:[t]),h=s(n.main,h,i,r.depths||[],u,o),h(t,r)}if(!t)throw new r["default"]("No environment passed to template");if(!n||!n.main)throw new r["default"]("Unknown template object: "+typeof n);n.main.decorator=n.main_d;t.VM.checkRevision(n.compiler);var i={strict:function(n,t){if(!(t in n))throw new r["default"]('"'+t+'" not defined in '+n);return n[t]},lookup:function(n,t){for(var r=n.length,i=0;i<r;i++)if(n[i]&&n[i][t]!=null)return n[i][t]},lambda:function(n,t){return typeof n=="function"?n.call(t):n},escapeExpression:u.escapeExpression,invokePartial:o,fn:function(t){var i=n[t];return i.decorator=n[t+"_d"],i},programs:[],program:function(n,t,i,r,u){var f=this.programs[n],o=this.fn(n);return t||u||r||i?f=e(this,n,o,t,i,r,u):f||(f=this.programs[n]=e(this,n,o)),f},data:function(n,t){while(n&&t--)n=n._parent;return n},merge:function(n,t){var i=n||t;return n&&t&&n!==t&&(i=u.extend({},t,n)),i},noop:t.VM.noop,compilerInfo:n.compiler};return f.isTop=!0,f._setup=function(r){r.partial?(i.helpers=r.helpers,i.partials=r.partials,i.decorators=r.decorators):(i.helpers=i.merge(r.helpers,t.helpers),n.usePartial&&(i.partials=i.merge(r.partials,t.partials)),(n.usePartial||n.useDecorators)&&(i.decorators=i.merge(r.decorators,t.decorators)))},f._child=function(t,u,f,o){if(n.useBlockParams&&!f)throw new r["default"]("must pass block params");if(n.useDepths&&!o)throw new r["default"]("must pass parent depths");return e(i,t,n[t],u,0,f,o)},f}function e(n,t,i,r,u,f,e){function o(t){var u=arguments.length<=1||arguments[1]===undefined?{}:arguments[1],o=e;return e&&t!==e[0]&&(o=[t].concat(e)),i(n,t,n.helpers,n.partials,u.data||r,f&&[u.blockParams].concat(f),o)}return o=s(i,o,n,e,r,f),o.program=t,o.depth=e?e.length:0,o.blockParams=u||0,o}function p(n,t,i){return n?n.call||i.name||(i.name=n,n=i.partials[n]):n=i.name==="@partial-block"?i.data["partial-block"]:i.partials[i.name],n}function w(n,t,i){i.partial=!0;i.ids&&(i.data.contextPath=i.ids[0]||i.data.contextPath);var f=undefined;if(i.fn&&i.fn!==o&&(f=i.data["partial-block"]=i.fn,f.partials&&(i.partials=u.extend({},i.partials,f.partials))),n===undefined&&f&&(n=f),n===undefined)throw new r["default"]("The partial "+i.name+" could not be found");else if(n instanceof Function)return n(t,i)}function o(){return""}function b(n,t){return t&&"root"in t||(t=t?f.createFrame(t):{},t.root=n),t}function s(n,t,i,r,f,e){if(n.decorator){var o={};t=n.decorator(t,o,i,r&&r[0],f,e,r);u.extend(t,o)}return t}var h=i(3)["default"],c=i(1)["default"];t.__esModule=!0;t.checkRevision=v;t.template=y;t.wrapProgram=e;t.resolvePartial=p;t.invokePartial=w;t.noop=o;var l=i(5),u=h(l),a=i(6),r=c(a),f=i(4)},function(n,t){(function(i){"use strict";t.__esModule=!0;t["default"]=function(n){var t=typeof i!="undefined"?i:window,r=t.Handlebars;n.noConflict=function(){t.Handlebars===n&&(t.Handlebars=r)}};n.exports=t["default"]}).call(t,function(){return this}())},function(n,t){"use strict";t.__esModule=!0;var i={helpers:{helperExpression:function(n){return n.type==="SubExpression"||(n.type==="MustacheStatement"||n.type==="BlockStatement")&&!!(n.params&&n.params.length||n.hash)},scopedId:function(n){return/^\.|this\b/.test(n.original)},simpleId:function(n){return n.parts.length===1&&!i.helpers.scopedId(n)&&!n.depth}}};t["default"]=i;n.exports=t["default"]},function(n,t,i){"use strict";function v(n,t){if(n.type==="Program")return n;u["default"].yy=r;r.locInfo=function(n){return new r.SourceLocation(t&&t.srcName,n)};var i=new h["default"](t);return i.accept(u["default"].parse(n))}var f=i(1)["default"],e=i(3)["default"],r;t.__esModule=!0;t.parse=v;var o=i(23),u=f(o),s=i(24),h=f(s),c=i(26),l=e(c),a=i(5);t.parser=u["default"];r={};a.extend(r,l)},function(n,t){"use strict";var i=function(){function t(){this.yy={}}var n={trace:function(){},yy:{},symbols_:{error:2,root:3,program:4,EOF:5,program_repetition0:6,statement:7,mustache:8,block:9,rawBlock:10,partial:11,partialBlock:12,content:13,COMMENT:14,CONTENT:15,openRawBlock:16,rawBlock_repetition_plus0:17,END_RAW_BLOCK:18,OPEN_RAW_BLOCK:19,helperName:20,openRawBlock_repetition0:21,openRawBlock_option0:22,CLOSE_RAW_BLOCK:23,openBlock:24,block_option0:25,closeBlock:26,openInverse:27,block_option1:28,OPEN_BLOCK:29,openBlock_repetition0:30,openBlock_option0:31,openBlock_option1:32,CLOSE:33,OPEN_INVERSE:34,openInverse_repetition0:35,openInverse_option0:36,openInverse_option1:37,openInverseChain:38,OPEN_INVERSE_CHAIN:39,openInverseChain_repetition0:40,openInverseChain_option0:41,openInverseChain_option1:42,inverseAndProgram:43,INVERSE:44,inverseChain:45,inverseChain_option0:46,OPEN_ENDBLOCK:47,OPEN:48,mustache_repetition0:49,mustache_option0:50,OPEN_UNESCAPED:51,mustache_repetition1:52,mustache_option1:53,CLOSE_UNESCAPED:54,OPEN_PARTIAL:55,partialName:56,partial_repetition0:57,partial_option0:58,openPartialBlock:59,OPEN_PARTIAL_BLOCK:60,openPartialBlock_repetition0:61,openPartialBlock_option0:62,param:63,sexpr:64,OPEN_SEXPR:65,sexpr_repetition0:66,sexpr_option0:67,CLOSE_SEXPR:68,hash:69,hash_repetition_plus0:70,hashSegment:71,ID:72,EQUALS:73,blockParams:74,OPEN_BLOCK_PARAMS:75,blockParams_repetition_plus0:76,CLOSE_BLOCK_PARAMS:77,path:78,dataName:79,STRING:80,NUMBER:81,BOOLEAN:82,UNDEFINED:83,NULL:84,DATA:85,pathSegments:86,SEP:87,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",14:"COMMENT",15:"CONTENT",18:"END_RAW_BLOCK",19:"OPEN_RAW_BLOCK",23:"CLOSE_RAW_BLOCK",29:"OPEN_BLOCK",33:"CLOSE",34:"OPEN_INVERSE",39:"OPEN_INVERSE_CHAIN",44:"INVERSE",47:"OPEN_ENDBLOCK",48:"OPEN",51:"OPEN_UNESCAPED",54:"CLOSE_UNESCAPED",55:"OPEN_PARTIAL",60:"OPEN_PARTIAL_BLOCK",65:"OPEN_SEXPR",68:"CLOSE_SEXPR",72:"ID",73:"EQUALS",75:"OPEN_BLOCK_PARAMS",77:"CLOSE_BLOCK_PARAMS",80:"STRING",81:"NUMBER",82:"BOOLEAN",83:"UNDEFINED",84:"NULL",85:"DATA",87:"SEP"},productions_:[0,[3,2],[4,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[13,1],[10,3],[16,5],[9,4],[9,4],[24,6],[27,6],[38,6],[43,2],[45,3],[45,1],[26,3],[8,5],[8,5],[11,5],[12,3],[59,5],[63,1],[63,1],[64,5],[69,1],[71,3],[74,3],[20,1],[20,1],[20,1],[20,1],[20,1],[20,1],[20,1],[56,1],[56,1],[79,2],[78,1],[86,3],[86,1],[6,0],[6,2],[17,1],[17,2],[21,0],[21,2],[22,0],[22,1],[25,0],[25,1],[28,0],[28,1],[30,0],[30,2],[31,0],[31,1],[32,0],[32,1],[35,0],[35,2],[36,0],[36,1],[37,0],[37,1],[40,0],[40,2],[41,0],[41,1],[42,0],[42,1],[46,0],[46,1],[49,0],[49,2],[50,0],[50,1],[52,0],[52,2],[53,0],[53,1],[57,0],[57,2],[58,0],[58,1],[61,0],[61,2],[62,0],[62,1],[66,0],[66,2],[67,0],[67,1],[70,1],[70,2],[76,1],[76,2]],performAction:function(n,t,i,r,u,f){var e=f.length-1,s,o;switch(u){case 1:return f[e-1];case 2:this.$=r.prepareProgram(f[e]);break;case 3:this.$=f[e];break;case 4:this.$=f[e];break;case 5:this.$=f[e];break;case 6:this.$=f[e];break;case 7:this.$=f[e];break;case 8:this.$=f[e];break;case 9:this.$={type:"CommentStatement",value:r.stripComment(f[e]),strip:r.stripFlags(f[e],f[e]),loc:r.locInfo(this._$)};break;case 10:this.$={type:"ContentStatement",original:f[e],value:f[e],loc:r.locInfo(this._$)};break;case 11:this.$=r.prepareRawBlock(f[e-2],f[e-1],f[e],this._$);break;case 12:this.$={path:f[e-3],params:f[e-2],hash:f[e-1]};break;case 13:this.$=r.prepareBlock(f[e-3],f[e-2],f[e-1],f[e],!1,this._$);break;case 14:this.$=r.prepareBlock(f[e-3],f[e-2],f[e-1],f[e],!0,this._$);break;case 15:this.$={open:f[e-5],path:f[e-4],params:f[e-3],hash:f[e-2],blockParams:f[e-1],strip:r.stripFlags(f[e-5],f[e])};break;case 16:this.$={path:f[e-4],params:f[e-3],hash:f[e-2],blockParams:f[e-1],strip:r.stripFlags(f[e-5],f[e])};break;case 17:this.$={path:f[e-4],params:f[e-3],hash:f[e-2],blockParams:f[e-1],strip:r.stripFlags(f[e-5],f[e])};break;case 18:this.$={strip:r.stripFlags(f[e-1],f[e-1]),program:f[e]};break;case 19:s=r.prepareBlock(f[e-2],f[e-1],f[e],f[e],!1,this._$);o=r.prepareProgram([s],f[e-1].loc);o.chained=!0;this.$={strip:f[e-2].strip,program:o,chain:!0};break;case 20:this.$=f[e];break;case 21:this.$={path:f[e-1],strip:r.stripFlags(f[e-2],f[e])};break;case 22:this.$=r.prepareMustache(f[e-3],f[e-2],f[e-1],f[e-4],r.stripFlags(f[e-4],f[e]),this._$);break;case 23:this.$=r.prepareMustache(f[e-3],f[e-2],f[e-1],f[e-4],r.stripFlags(f[e-4],f[e]),this._$);break;case 24:this.$={type:"PartialStatement",name:f[e-3],params:f[e-2],hash:f[e-1],indent:"",strip:r.stripFlags(f[e-4],f[e]),loc:r.locInfo(this._$)};break;case 25:this.$=r.preparePartialBlock(f[e-2],f[e-1],f[e],this._$);break;case 26:this.$={path:f[e-3],params:f[e-2],hash:f[e-1],strip:r.stripFlags(f[e-4],f[e])};break;case 27:this.$=f[e];break;case 28:this.$=f[e];break;case 29:this.$={type:"SubExpression",path:f[e-3],params:f[e-2],hash:f[e-1],loc:r.locInfo(this._$)};break;case 30:this.$={type:"Hash",pairs:f[e],loc:r.locInfo(this._$)};break;case 31:this.$={type:"HashPair",key:r.id(f[e-2]),value:f[e],loc:r.locInfo(this._$)};break;case 32:this.$=r.id(f[e-1]);break;case 33:this.$=f[e];break;case 34:this.$=f[e];break;case 35:this.$={type:"StringLiteral",value:f[e],original:f[e],loc:r.locInfo(this._$)};break;case 36:this.$={type:"NumberLiteral",value:Number(f[e]),original:Number(f[e]),loc:r.locInfo(this._$)};break;case 37:this.$={type:"BooleanLiteral",value:f[e]==="true",original:f[e]==="true",loc:r.locInfo(this._$)};break;case 38:this.$={type:"UndefinedLiteral",original:undefined,value:undefined,loc:r.locInfo(this._$)};break;case 39:this.$={type:"NullLiteral",original:null,value:null,loc:r.locInfo(this._$)};break;case 40:this.$=f[e];break;case 41:this.$=f[e];break;case 42:this.$=r.preparePath(!0,f[e],this._$);break;case 43:this.$=r.preparePath(!1,f[e],this._$);break;case 44:f[e-2].push({part:r.id(f[e]),original:f[e],separator:f[e-1]});this.$=f[e-2];break;case 45:this.$=[{part:r.id(f[e]),original:f[e]}];break;case 46:this.$=[];break;case 47:f[e-1].push(f[e]);break;case 48:this.$=[f[e]];break;case 49:f[e-1].push(f[e]);break;case 50:this.$=[];break;case 51:f[e-1].push(f[e]);break;case 58:this.$=[];break;case 59:f[e-1].push(f[e]);break;case 64:this.$=[];break;case 65:f[e-1].push(f[e]);break;case 70:this.$=[];break;case 71:f[e-1].push(f[e]);break;case 78:this.$=[];break;case 79:f[e-1].push(f[e]);break;case 82:this.$=[];break;case 83:f[e-1].push(f[e]);break;case 86:this.$=[];break;case 87:f[e-1].push(f[e]);break;case 90:this.$=[];break;case 91:f[e-1].push(f[e]);break;case 94:this.$=[];break;case 95:f[e-1].push(f[e]);break;case 98:this.$=[f[e]];break;case 99:f[e-1].push(f[e]);break;case 100:this.$=[f[e]];break;case 101:f[e-1].push(f[e])}},table:[{3:1,4:2,5:[2,46],6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{1:[3]},{5:[1,4]},{5:[2,2],7:5,8:6,9:7,10:8,11:9,12:10,13:11,14:[1,12],15:[1,20],16:17,19:[1,23],24:15,27:16,29:[1,21],34:[1,22],39:[2,2],44:[2,2],47:[2,2],48:[1,13],51:[1,14],55:[1,18],59:19,60:[1,24]},{1:[2,1]},{5:[2,47],14:[2,47],15:[2,47],19:[2,47],29:[2,47],34:[2,47],39:[2,47],44:[2,47],47:[2,47],48:[2,47],51:[2,47],55:[2,47],60:[2,47]},{5:[2,3],14:[2,3],15:[2,3],19:[2,3],29:[2,3],34:[2,3],39:[2,3],44:[2,3],47:[2,3],48:[2,3],51:[2,3],55:[2,3],60:[2,3]},{5:[2,4],14:[2,4],15:[2,4],19:[2,4],29:[2,4],34:[2,4],39:[2,4],44:[2,4],47:[2,4],48:[2,4],51:[2,4],55:[2,4],60:[2,4]},{5:[2,5],14:[2,5],15:[2,5],19:[2,5],29:[2,5],34:[2,5],39:[2,5],44:[2,5],47:[2,5],48:[2,5],51:[2,5],55:[2,5],60:[2,5]},{5:[2,6],14:[2,6],15:[2,6],19:[2,6],29:[2,6],34:[2,6],39:[2,6],44:[2,6],47:[2,6],48:[2,6],51:[2,6],55:[2,6],60:[2,6]},{5:[2,7],14:[2,7],15:[2,7],19:[2,7],29:[2,7],34:[2,7],39:[2,7],44:[2,7],47:[2,7],48:[2,7],51:[2,7],55:[2,7],60:[2,7]},{5:[2,8],14:[2,8],15:[2,8],19:[2,8],29:[2,8],34:[2,8],39:[2,8],44:[2,8],47:[2,8],48:[2,8],51:[2,8],55:[2,8],60:[2,8]},{5:[2,9],14:[2,9],15:[2,9],19:[2,9],29:[2,9],34:[2,9],39:[2,9],44:[2,9],47:[2,9],48:[2,9],51:[2,9],55:[2,9],60:[2,9]},{20:25,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:36,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{4:37,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],39:[2,46],44:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{4:38,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],44:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{13:40,15:[1,20],17:39},{20:42,56:41,64:43,65:[1,44],72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{4:45,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{5:[2,10],14:[2,10],15:[2,10],18:[2,10],19:[2,10],29:[2,10],34:[2,10],39:[2,10],44:[2,10],47:[2,10],48:[2,10],51:[2,10],55:[2,10],60:[2,10]},{20:46,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:47,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:48,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:42,56:49,64:43,65:[1,44],72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{33:[2,78],49:50,65:[2,78],72:[2,78],80:[2,78],81:[2,78],82:[2,78],83:[2,78],84:[2,78],85:[2,78]},{23:[2,33],33:[2,33],54:[2,33],65:[2,33],68:[2,33],72:[2,33],75:[2,33],80:[2,33],81:[2,33],82:[2,33],83:[2,33],84:[2,33],85:[2,33]},{23:[2,34],33:[2,34],54:[2,34],65:[2,34],68:[2,34],72:[2,34],75:[2,34],80:[2,34],81:[2,34],82:[2,34],83:[2,34],84:[2,34],85:[2,34]},{23:[2,35],33:[2,35],54:[2,35],65:[2,35],68:[2,35],72:[2,35],75:[2,35],80:[2,35],81:[2,35],82:[2,35],83:[2,35],84:[2,35],85:[2,35]},{23:[2,36],33:[2,36],54:[2,36],65:[2,36],68:[2,36],72:[2,36],75:[2,36],80:[2,36],81:[2,36],82:[2,36],83:[2,36],84:[2,36],85:[2,36]},{23:[2,37],33:[2,37],54:[2,37],65:[2,37],68:[2,37],72:[2,37],75:[2,37],80:[2,37],81:[2,37],82:[2,37],83:[2,37],84:[2,37],85:[2,37]},{23:[2,38],33:[2,38],54:[2,38],65:[2,38],68:[2,38],72:[2,38],75:[2,38],80:[2,38],81:[2,38],82:[2,38],83:[2,38],84:[2,38],85:[2,38]},{23:[2,39],33:[2,39],54:[2,39],65:[2,39],68:[2,39],72:[2,39],75:[2,39],80:[2,39],81:[2,39],82:[2,39],83:[2,39],84:[2,39],85:[2,39]},{23:[2,43],33:[2,43],54:[2,43],65:[2,43],68:[2,43],72:[2,43],75:[2,43],80:[2,43],81:[2,43],82:[2,43],83:[2,43],84:[2,43],85:[2,43],87:[1,51]},{72:[1,35],86:52},{23:[2,45],33:[2,45],54:[2,45],65:[2,45],68:[2,45],72:[2,45],75:[2,45],80:[2,45],81:[2,45],82:[2,45],83:[2,45],84:[2,45],85:[2,45],87:[2,45]},{52:53,54:[2,82],65:[2,82],72:[2,82],80:[2,82],81:[2,82],82:[2,82],83:[2,82],84:[2,82],85:[2,82]},{25:54,38:56,39:[1,58],43:57,44:[1,59],45:55,47:[2,54]},{28:60,43:61,44:[1,59],47:[2,56]},{13:63,15:[1,20],18:[1,62]},{15:[2,48],18:[2,48]},{33:[2,86],57:64,65:[2,86],72:[2,86],80:[2,86],81:[2,86],82:[2,86],83:[2,86],84:[2,86],85:[2,86]},{33:[2,40],65:[2,40],72:[2,40],80:[2,40],81:[2,40],82:[2,40],83:[2,40],84:[2,40],85:[2,40]},{33:[2,41],65:[2,41],72:[2,41],80:[2,41],81:[2,41],82:[2,41],83:[2,41],84:[2,41],85:[2,41]},{20:65,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{26:66,47:[1,67]},{30:68,33:[2,58],65:[2,58],72:[2,58],75:[2,58],80:[2,58],81:[2,58],82:[2,58],83:[2,58],84:[2,58],85:[2,58]},{33:[2,64],35:69,65:[2,64],72:[2,64],75:[2,64],80:[2,64],81:[2,64],82:[2,64],83:[2,64],84:[2,64],85:[2,64]},{21:70,23:[2,50],65:[2,50],72:[2,50],80:[2,50],81:[2,50],82:[2,50],83:[2,50],84:[2,50],85:[2,50]},{33:[2,90],61:71,65:[2,90],72:[2,90],80:[2,90],81:[2,90],82:[2,90],83:[2,90],84:[2,90],85:[2,90]},{20:75,33:[2,80],50:72,63:73,64:76,65:[1,44],69:74,70:77,71:78,72:[1,79],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{72:[1,80]},{23:[2,42],33:[2,42],54:[2,42],65:[2,42],68:[2,42],72:[2,42],75:[2,42],80:[2,42],81:[2,42],82:[2,42],83:[2,42],84:[2,42],85:[2,42],87:[1,51]},{20:75,53:81,54:[2,84],63:82,64:76,65:[1,44],69:83,70:77,71:78,72:[1,79],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{26:84,47:[1,67]},{47:[2,55]},{4:85,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],39:[2,46],44:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{47:[2,20]},{20:86,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{4:87,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{26:88,47:[1,67]},{47:[2,57]},{5:[2,11],14:[2,11],15:[2,11],19:[2,11],29:[2,11],34:[2,11],39:[2,11],44:[2,11],47:[2,11],48:[2,11],51:[2,11],55:[2,11],60:[2,11]},{15:[2,49],18:[2,49]},{20:75,33:[2,88],58:89,63:90,64:76,65:[1,44],69:91,70:77,71:78,72:[1,79],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{65:[2,94],66:92,68:[2,94],72:[2,94],80:[2,94],81:[2,94],82:[2,94],83:[2,94],84:[2,94],85:[2,94]},{5:[2,25],14:[2,25],15:[2,25],19:[2,25],29:[2,25],34:[2,25],39:[2,25],44:[2,25],47:[2,25],48:[2,25],51:[2,25],55:[2,25],60:[2,25]},{20:93,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:75,31:94,33:[2,60],63:95,64:76,65:[1,44],69:96,70:77,71:78,72:[1,79],75:[2,60],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:75,33:[2,66],36:97,63:98,64:76,65:[1,44],69:99,70:77,71:78,72:[1,79],75:[2,66],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:75,22:100,23:[2,52],63:101,64:76,65:[1,44],69:102,70:77,71:78,72:[1,79],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:75,33:[2,92],62:103,63:104,64:76,65:[1,44],69:105,70:77,71:78,72:[1,79],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{33:[1,106]},{33:[2,79],65:[2,79],72:[2,79],80:[2,79],81:[2,79],82:[2,79],83:[2,79],84:[2,79],85:[2,79]},{33:[2,81]},{23:[2,27],33:[2,27],54:[2,27],65:[2,27],68:[2,27],72:[2,27],75:[2,27],80:[2,27],81:[2,27],82:[2,27],83:[2,27],84:[2,27],85:[2,27]},{23:[2,28],33:[2,28],54:[2,28],65:[2,28],68:[2,28],72:[2,28],75:[2,28],80:[2,28],81:[2,28],82:[2,28],83:[2,28],84:[2,28],85:[2,28]},{23:[2,30],33:[2,30],54:[2,30],68:[2,30],71:107,72:[1,108],75:[2,30]},{23:[2,98],33:[2,98],54:[2,98],68:[2,98],72:[2,98],75:[2,98]},{23:[2,45],33:[2,45],54:[2,45],65:[2,45],68:[2,45],72:[2,45],73:[1,109],75:[2,45],80:[2,45],81:[2,45],82:[2,45],83:[2,45],84:[2,45],85:[2,45],87:[2,45]},{23:[2,44],33:[2,44],54:[2,44],65:[2,44],68:[2,44],72:[2,44],75:[2,44],80:[2,44],81:[2,44],82:[2,44],83:[2,44],84:[2,44],85:[2,44],87:[2,44]},{54:[1,110]},{54:[2,83],65:[2,83],72:[2,83],80:[2,83],81:[2,83],82:[2,83],83:[2,83],84:[2,83],85:[2,83]},{54:[2,85]},{5:[2,13],14:[2,13],15:[2,13],19:[2,13],29:[2,13],34:[2,13],39:[2,13],44:[2,13],47:[2,13],48:[2,13],51:[2,13],55:[2,13],60:[2,13]},{38:56,39:[1,58],43:57,44:[1,59],45:112,46:111,47:[2,76]},{33:[2,70],40:113,65:[2,70],72:[2,70],75:[2,70],80:[2,70],81:[2,70],82:[2,70],83:[2,70],84:[2,70],85:[2,70]},{47:[2,18]},{5:[2,14],14:[2,14],15:[2,14],19:[2,14],29:[2,14],34:[2,14],39:[2,14],44:[2,14],47:[2,14],48:[2,14],51:[2,14],55:[2,14],60:[2,14]},{33:[1,114]},{33:[2,87],65:[2,87],72:[2,87],80:[2,87],81:[2,87],82:[2,87],83:[2,87],84:[2,87],85:[2,87]},{33:[2,89]},{20:75,63:116,64:76,65:[1,44],67:115,68:[2,96],69:117,70:77,71:78,72:[1,79],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{33:[1,118]},{32:119,33:[2,62],74:120,75:[1,121]},{33:[2,59],65:[2,59],72:[2,59],75:[2,59],80:[2,59],81:[2,59],82:[2,59],83:[2,59],84:[2,59],85:[2,59]},{33:[2,61],75:[2,61]},{33:[2,68],37:122,74:123,75:[1,121]},{33:[2,65],65:[2,65],72:[2,65],75:[2,65],80:[2,65],81:[2,65],82:[2,65],83:[2,65],84:[2,65],85:[2,65]},{33:[2,67],75:[2,67]},{23:[1,124]},{23:[2,51],65:[2,51],72:[2,51],80:[2,51],81:[2,51],82:[2,51],83:[2,51],84:[2,51],85:[2,51]},{23:[2,53]},{33:[1,125]},{33:[2,91],65:[2,91],72:[2,91],80:[2,91],81:[2,91],82:[2,91],83:[2,91],84:[2,91],85:[2,91]},{33:[2,93]},{5:[2,22],14:[2,22],15:[2,22],19:[2,22],29:[2,22],34:[2,22],39:[2,22],44:[2,22],47:[2,22],48:[2,22],51:[2,22],55:[2,22],60:[2,22]},{23:[2,99],33:[2,99],54:[2,99],68:[2,99],72:[2,99],75:[2,99]},{73:[1,109]},{20:75,63:126,64:76,65:[1,44],72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{5:[2,23],14:[2,23],15:[2,23],19:[2,23],29:[2,23],34:[2,23],39:[2,23],44:[2,23],47:[2,23],48:[2,23],51:[2,23],55:[2,23],60:[2,23]},{47:[2,19]},{47:[2,77]},{20:75,33:[2,72],41:127,63:128,64:76,65:[1,44],69:129,70:77,71:78,72:[1,79],75:[2,72],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{5:[2,24],14:[2,24],15:[2,24],19:[2,24],29:[2,24],34:[2,24],39:[2,24],44:[2,24],47:[2,24],48:[2,24],51:[2,24],55:[2,24],60:[2,24]},{68:[1,130]},{65:[2,95],68:[2,95],72:[2,95],80:[2,95],81:[2,95],82:[2,95],83:[2,95],84:[2,95],85:[2,95]},{68:[2,97]},{5:[2,21],14:[2,21],15:[2,21],19:[2,21],29:[2,21],34:[2,21],39:[2,21],44:[2,21],47:[2,21],48:[2,21],51:[2,21],55:[2,21],60:[2,21]},{33:[1,131]},{33:[2,63]},{72:[1,133],76:132},{33:[1,134]},{33:[2,69]},{15:[2,12]},{14:[2,26],15:[2,26],19:[2,26],29:[2,26],34:[2,26],47:[2,26],48:[2,26],51:[2,26],55:[2,26],60:[2,26]},{23:[2,31],33:[2,31],54:[2,31],68:[2,31],72:[2,31],75:[2,31]},{33:[2,74],42:135,74:136,75:[1,121]},{33:[2,71],65:[2,71],72:[2,71],75:[2,71],80:[2,71],81:[2,71],82:[2,71],83:[2,71],84:[2,71],85:[2,71]},{33:[2,73],75:[2,73]},{23:[2,29],33:[2,29],54:[2,29],65:[2,29],68:[2,29],72:[2,29],75:[2,29],80:[2,29],81:[2,29],82:[2,29],83:[2,29],84:[2,29],85:[2,29]},{14:[2,15],15:[2,15],19:[2,15],29:[2,15],34:[2,15],39:[2,15],44:[2,15],47:[2,15],48:[2,15],51:[2,15],55:[2,15],60:[2,15]},{72:[1,138],77:[1,137]},{72:[2,100],77:[2,100]},{14:[2,16],15:[2,16],19:[2,16],29:[2,16],34:[2,16],44:[2,16],47:[2,16],48:[2,16],51:[2,16],55:[2,16],60:[2,16]},{33:[1,139]},{33:[2,75]},{33:[2,32]},{72:[2,101],77:[2,101]},{14:[2,17],15:[2,17],19:[2,17],29:[2,17],34:[2,17],39:[2,17],44:[2,17],47:[2,17],48:[2,17],51:[2,17],55:[2,17],60:[2,17]}],defaultActions:{4:[2,1],55:[2,55],57:[2,20],61:[2,57],74:[2,81],83:[2,85],87:[2,18],91:[2,89],102:[2,53],105:[2,93],111:[2,19],112:[2,77],117:[2,97],120:[2,63],123:[2,69],124:[2,12],136:[2,75],137:[2,32]},parseError:function(n){throw new Error(n);},parse:function(n){function it(){var n;return n=k.lexer.lex()||1,typeof n!="number"&&(n=k.symbols_[n]||n),n}var k=this,r=[0],f=[null],t=[],h=this.table,d="",c=0,g=0,y=0,l,nt,i,p,o,u,w,s,a,e,tt,v,b;for(this.lexer.setInput(n),this.lexer.yy=this.yy,this.yy.lexer=this.lexer,this.yy.parser=this,typeof this.lexer.yylloc=="undefined"&&(this.lexer.yylloc={}),l=this.lexer.yylloc,t.push(l),nt=this.lexer.options&&this.lexer.options.ranges,typeof this.yy.parseError=="function"&&(this.parseError=this.yy.parseError),s={};;){if(o=r[r.length-1],this.defaultActions[o]?u=this.defaultActions[o]:((i===null||typeof i=="undefined")&&(i=it()),u=h[o]&&h[o][i]),(typeof u=="undefined"||!u.length||!u[0])&&(b="",!y)){v=[];for(a in h[o])this.terminals_[a]&&a>2&&v.push("'"+this.terminals_[a]+"'");b=this.lexer.showPosition?"Parse error on line "+(c+1)+":\n"+this.lexer.showPosition()+"\nExpecting "+v.join(", ")+", got '"+(this.terminals_[i]||i)+"'":"Parse error on line "+(c+1)+": Unexpected "+(i==1?"end of input":"'"+(this.terminals_[i]||i)+"'");this.parseError(b,{text:this.lexer.match,token:this.terminals_[i]||i,line:this.lexer.yylineno,loc:l,expected:v})}if(u[0]instanceof Array&&u.length>1)throw new Error("Parse Error: multiple actions possible at state: "+o+", token: "+i);switch(u[0]){case 1:r.push(i);f.push(this.lexer.yytext);t.push(this.lexer.yylloc);r.push(u[1]);i=null;p?(i=p,p=null):(g=this.lexer.yyleng,d=this.lexer.yytext,c=this.lexer.yylineno,l=this.lexer.yylloc,y>0&&y--);break;case 2:if(e=this.productions_[u[1]][1],s.$=f[f.length-e],s._$={first_line:t[t.length-(e||1)].first_line,last_line:t[t.length-1].last_line,first_column:t[t.length-(e||1)].first_column,last_column:t[t.length-1].last_column},nt&&(s._$.range=[t[t.length-(e||1)].range[0],t[t.length-1].range[1]]),w=this.performAction.call(s,d,g,c,this.yy,u[1],f,t),typeof w!="undefined")return w;e&&(r=r.slice(0,-2*e),f=f.slice(0,-1*e),t=t.slice(0,-1*e));r.push(this.productions_[u[1]][0]);f.push(s.$);t.push(s._$);tt=h[r[r.length-2]][r[r.length-1]];r.push(tt);break;case 3:return!0}}return!0}},i=function(){var n={EOF:1,parseError:function(n,t){if(this.yy.parser)this.yy.parser.parseError(n,t);else throw new Error(n);},setInput:function(n){return this._input=n,this._more=this._less=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var n=this._input[0],t;return this.yytext+=n,this.yyleng++,this.offset++,this.match+=n,this.matched+=n,t=n.match(/(?:\r\n?|\n).*/g),t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),n},unput:function(n){var i=n.length,t=n.split(/(?:\r\n?|\n)/g),r,u;return this._input=n+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-i-1),this.offset-=i,r=this.match.split(/(?:\r\n?|\n)/g),this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),t.length-1&&(this.yylineno-=t.length-1),u=this.yylloc.range,this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:t?(t.length===r.length?this.yylloc.first_column:0)+r[r.length-t.length].length-t[0].length:this.yylloc.first_column-i},this.options.ranges&&(this.yylloc.range=[u[0],u[0]+this.yyleng-i]),this},more:function(){return this._more=!0,this},less:function(n){this.unput(this.match.slice(n))},pastInput:function(){var n=this.matched.substr(0,this.matched.length-this.match.length);return(n.length>20?"...":"")+n.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var n=this.match;return n.length<20&&(n+=this._input.substr(0,20-n.length)),(n.substr(0,20)+(n.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var n=this.pastInput(),t=new Array(n.length+1).join("-");return n+this.upcomingInput()+"\n"+t+"^"},next:function(){var f,n,r,e,t,u,i;if(this.done)return this.EOF;for(this._input||(this.done=!0),this._more||(this.yytext="",this.match=""),u=this._currentRules(),i=0;i<u.length;i++)if(r=this._input.match(this.rules[u[i]]),r&&(!n||r[0].length>n[0].length)&&(n=r,e=i,!this.options.flex))break;return n?(t=n[0].match(/(?:\r\n?|\n).*/g),t&&(this.yylineno+=t.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:t?t[t.length-1].length-t[t.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+n[0].length},this.yytext+=n[0],this.match+=n[0],this.matches=n,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._input=this._input.slice(n[0].length),this.matched+=n[0],f=this.performAction.call(this,this.yy,this,u[e],this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),f)?f:void 0:this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var n=this.next();return typeof n!="undefined"?n:this.lex()},begin:function(n){this.conditionStack.push(n)},popState:function(){return this.conditionStack.pop()},_currentRules:function(){return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules},topState:function(){return this.conditionStack[this.conditionStack.length-2]},pushState:function(n){this.begin(n)}};return n.options={},n.performAction=function(n,t,i,r){function u(n,i){return t.yytext=t.yytext.substr(n,t.yyleng-i)}var f=r;switch(i){case 0:if(t.yytext.slice(-2)==="\\\\"?(u(0,1),this.begin("mu")):t.yytext.slice(-1)==="\\"?(u(0,1),this.begin("emu")):this.begin("mu"),t.yytext)return 15;break;case 1:return 15;case 2:return this.popState(),15;case 3:return this.begin("raw"),15;case 4:return this.popState(),this.conditionStack[this.conditionStack.length-1]==="raw"?15:(t.yytext=t.yytext.substr(5,t.yyleng-9),"END_RAW_BLOCK");case 5:return 15;case 6:return this.popState(),14;case 7:return 65;case 8:return 68;case 9:return 19;case 10:return this.popState(),this.begin("raw"),23;case 11:return 55;case 12:return 60;case 13:return 29;case 14:return 47;case 15:return this.popState(),44;case 16:return this.popState(),44;case 17:return 34;case 18:return 39;case 19:return 51;case 20:return 48;case 21:this.unput(t.yytext);this.popState();this.begin("com");break;case 22:return this.popState(),14;case 23:return 48;case 24:return 73;case 25:return 72;case 26:return 72;case 27:return 87;case 29:return this.popState(),54;case 30:return this.popState(),33;case 31:return t.yytext=u(1,2).replace(/\\"/g,'"'),80;case 32:return t.yytext=u(1,2).replace(/\\'/g,"'"),80;case 33:return 85;case 34:return 82;case 35:return 82;case 36:return 83;case 37:return 84;case 38:return 81;case 39:return 75;case 40:return 77;case 41:return 72;case 42:return 72;case 43:return"INVALID";case 44:return 5}},n.rules=[/^(?:[^\x00]*?(?=(\{\{)))/,/^(?:[^\x00]+)/,/^(?:[^\x00]{2,}?(?=(\{\{|\\\{\{|\\\\\{\{|$)))/,/^(?:\{\{\{\{(?=[^/]))/,/^(?:\{\{\{\{\/[^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=[=}\s\/.])\}\}\}\})/,/^(?:[^\x00]*?(?=(\{\{\{\{)))/,/^(?:[\s\S]*?--(~)?\}\})/,/^(?:\()/,/^(?:\))/,/^(?:\{\{\{\{)/,/^(?:\}\}\}\})/,/^(?:\{\{(~)?>)/,/^(?:\{\{(~)?#>)/,/^(?:\{\{(~)?#\*?)/,/^(?:\{\{(~)?\/)/,/^(?:\{\{(~)?\^\s*(~)?\}\})/,/^(?:\{\{(~)?\s*else\s*(~)?\}\})/,/^(?:\{\{(~)?\^)/,/^(?:\{\{(~)?\s*else\b)/,/^(?:\{\{(~)?\{)/,/^(?:\{\{(~)?&)/,/^(?:\{\{(~)?!--)/,/^(?:\{\{(~)?![\s\S]*?\}\})/,/^(?:\{\{(~)?\*?)/,/^(?:=)/,/^(?:\.\.)/,/^(?:\.(?=([=~}\s\/.)|])))/,/^(?:[\/.])/,/^(?:\s+)/,/^(?:\}(~)?\}\})/,/^(?:(~)?\}\})/,/^(?:"(\\["]|[^"])*")/,/^(?:'(\\[']|[^'])*')/,/^(?:@)/,/^(?:true(?=([~}\s)])))/,/^(?:false(?=([~}\s)])))/,/^(?:undefined(?=([~}\s)])))/,/^(?:null(?=([~}\s)])))/,/^(?:-?[0-9]+(?:\.[0-9]+)?(?=([~}\s)])))/,/^(?:as\s+\|)/,/^(?:\|)/,/^(?:([^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=([=~}\s\/.)|]))))/,/^(?:\[[^\]]*\])/,/^(?:.)/,/^(?:$)/],n.conditions={mu:{rules:[7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44],inclusive:!1},emu:{rules:[2],inclusive:!1},com:{rules:[6],inclusive:!1},raw:{rules:[3,4,5],inclusive:!1},INITIAL:{rules:[0,1,44],inclusive:!0}},n}();return n.lexer=i,t.prototype=n,n.Parser=t,new t}();t.__esModule=!0;t["default"]=i},function(n,t,i){"use strict";function r(){var n=arguments.length<=0||arguments[0]===undefined?{}:arguments[0];this.options=n}function e(n,t,i){t===undefined&&(t=n.length);var r=n[t-1],u=n[t-2];return r?r.type==="ContentStatement"?(u||!i?/\r?\n\s*?$/:/(^|\r?\n)\s*?$/).test(r.original):void 0:i}function o(n,t,i){t===undefined&&(t=-1);var r=n[t+1],u=n[t+2];return r?r.type==="ContentStatement"?(u||!i?/^\s*?\r?\n/:/^\s*?(\r?\n|$)/).test(r.original):void 0:i}function f(n,t,i){var r=n[t==null?0:t+1],u;r&&r.type==="ContentStatement"&&(i||!r.rightStripped)&&(u=r.value,r.value=r.value.replace(i?/^\s+/:/^[ \t]*\r?\n?/,""),r.rightStripped=r.value!==u)}function u(n,t,i){var r=n[t==null?n.length-1:t-1],u;if(r&&r.type==="ContentStatement"&&(i||!r.leftStripped))return u=r.value,r.value=r.value.replace(i?/\s+$/:/[ \t]+$/,""),r.leftStripped=r.value!==u,r.leftStripped}var c=i(1)["default"],s,h;t.__esModule=!0;s=i(25);h=c(s);r.prototype=new h["default"];r.prototype.Program=function(n){var h=!this.options.ignoreStandalone,c=!this.isRootSeen,i,t,l,r,s;for(this.isRootSeen=!0,i=n.body,t=0,l=i.length;t<l;t++)if(r=i[t],s=this.accept(r),s){var a=e(i,t,c),v=o(i,t,c),y=s.openStandalone&&a,p=s.closeStandalone&&v,w=s.inlineStandalone&&a&&v;s.close&&f(i,t,!0);s.open&&u(i,t,!0);h&&w&&(f(i,t),u(i,t)&&r.type==="PartialStatement"&&(r.indent=/([ \t]+$)/.exec(i[t-1].original)[1]));h&&y&&(f((r.program||r.inverse).body),u(i,t));h&&p&&(f(i,t),u((r.inverse||r.program).body))}return n};r.prototype.BlockStatement=r.prototype.DecoratorBlock=r.prototype.PartialBlockStatement=function(n){var c,h;this.accept(n.program);this.accept(n.inverse);var t=n.program||n.inverse,i=n.program&&n.inverse,r=i,s=i;if(i&&i.chained)for(r=i.body[0].program;s.chained;)s=s.body[s.body.length-1].program;return c={open:n.openStrip.open,close:n.closeStrip.close,openStandalone:o(t.body),closeStandalone:e((r||t).body)},n.openStrip.close&&f(t.body,null,!0),i?(h=n.inverseStrip,h.open&&u(t.body,null,!0),h.close&&f(r.body,null,!0),n.closeStrip.open&&u(s.body,null,!0),!this.options.ignoreStandalone&&e(t.body)&&o(r.body)&&(u(t.body),f(r.body))):n.closeStrip.open&&u(t.body,null,!0),c};r.prototype.Decorator=r.prototype.MustacheStatement=function(n){return n.strip};r.prototype.PartialStatement=r.prototype.CommentStatement=function(n){var t=n.strip||{};return{inlineStandalone:!0,open:t.open,close:t.close}};t["default"]=r;n.exports=t["default"]},function(n,t,i){"use strict";function u(){this.parents=[]}function f(n){this.acceptRequired(n,"path");this.acceptArray(n.params);this.acceptKey(n,"hash")}function o(n){f.call(this,n);this.acceptKey(n,"program");this.acceptKey(n,"inverse")}function s(n){this.acceptRequired(n,"name");this.acceptArray(n.params);this.acceptKey(n,"hash")}var h=i(1)["default"],e,r;t.__esModule=!0;e=i(6);r=h(e);u.prototype={constructor:u,mutating:!1,acceptKey:function(n,t){var i=this.accept(n[t]);if(this.mutating){if(i&&!u.prototype[i.type])throw new r["default"]('Unexpected node type "'+i.type+'" found when accepting '+t+" on "+n.type);n[t]=i}},acceptRequired:function(n,t){if(this.acceptKey(n,t),!n[t])throw new r["default"](n.type+" requires "+t);},acceptArray:function(n){for(var t=0,i=n.length;t<i;t++)this.acceptKey(n,t),n[t]||(n.splice(t,1),t--,i--)},accept:function(n){if(n){if(!this[n.type])throw new r["default"]("Unknown type: "+n.type,n);this.current&&this.parents.unshift(this.current);this.current=n;var t=this[n.type](n);return(this.current=this.parents.shift(),!this.mutating||t)?t:t!==!1?n:void 0}},Program:function(n){this.acceptArray(n.body)},MustacheStatement:f,Decorator:f,BlockStatement:o,DecoratorBlock:o,PartialStatement:s,PartialBlockStatement:function(n){s.call(this,n);this.acceptKey(n,"program")},ContentStatement:function(){},CommentStatement:function(){},SubExpression:f,PathExpression:function(){},StringLiteral:function(){},NumberLiteral:function(){},BooleanLiteral:function(){},UndefinedLiteral:function(){},NullLiteral:function(){},Hash:function(n){this.acceptArray(n.pairs)},HashPair:function(n){this.acceptRequired(n,"value")}};t["default"]=u;n.exports=t["default"]},function(n,t,i){"use strict";function u(n,t){if(t=t.path?t.path.original:t,n.path.original!==t){var i={loc:n.path.loc};throw new r["default"](n.path.original+" doesn't match "+t,i);}}function o(n,t){this.source=n;this.start={line:t.first_line,column:t.first_column};this.end={line:t.last_line,column:t.last_column}}function s(n){return/^\[.*\]$/.test(n)?n.substr(1,n.length-2):n}function h(n,t){return{open:n.charAt(2)==="~",close:t.charAt(t.length-3)==="~"}}function c(n){return n.replace(/^\{\{~?\!-?-?/,"").replace(/-?-?~?\}\}$/,"")}function l(n,t,i){var f,h,u,c;i=this.locInfo(i);var e=n?"@":"",o=[],s=0,l="";for(f=0,h=t.length;f<h;f++)if(u=t[f].part,c=t[f].original!==u,e+=(t[f].separator||"")+u,c||u!==".."&&u!=="."&&u!=="this")o.push(u);else if(o.length>0)throw new r["default"]("Invalid path: "+e,{loc:i});else u===".."&&(s++,l+="../");return{type:"PathExpression",data:n,depth:s,parts:o,original:e,loc:i}}function a(n,t,i,r,u,f){var e=r.charAt(3)||r.charAt(2),o=e!=="{"&&e!=="&",s=/\*/.test(r);return{type:s?"Decorator":"MustacheStatement",path:n,params:t,hash:i,escaped:o,strip:u,loc:this.locInfo(f)}}function v(n,t,i,r){u(n,i);r=this.locInfo(r);var f={type:"Program",body:t,strip:{},loc:r};return{type:"BlockStatement",path:n.path,params:n.params,hash:n.hash,program:f,openStrip:{},inverseStrip:{},closeStrip:{},loc:r}}function y(n,t,i,f,e,o){var h,s,c;if(f&&f.path&&u(n,f),h=/\*/.test(n.open),t.blockParams=n.blockParams,s=undefined,c=undefined,i){if(h)throw new r["default"]("Unexpected inverse block on decorator",i);i.chain&&(i.program.body[0].closeStrip=f.strip);c=i.strip;s=i.program}return e&&(e=s,s=t,t=e),{type:h?"DecoratorBlock":"BlockStatement",path:n.path,params:n.params,hash:n.hash,program:t,inverse:s,openStrip:n.strip,inverseStrip:c,closeStrip:f&&f.strip,loc:this.locInfo(o)}}function p(n,t){if(!t&&n.length){var i=n[0].loc,r=n[n.length-1].loc;i&&r&&(t={source:i.source,start:{line:i.start.line,column:i.start.column},end:{line:r.end.line,column:r.end.column}})}return{type:"Program",body:n,strip:{},loc:t}}function w(n,t,i,r){return u(n,i),{type:"PartialBlockStatement",name:n.path,params:n.params,hash:n.hash,program:t,openStrip:n.strip,closeStrip:i&&i.strip,loc:this.locInfo(r)}}var e=i(1)["default"],f,r;t.__esModule=!0;t.SourceLocation=o;t.id=s;t.stripFlags=h;t.stripComment=c;t.preparePath=l;t.prepareMustache=a;t.prepareRawBlock=v;t.prepareBlock=y;t.prepareProgram=p;t.preparePartialBlock=w;f=i(6);r=e(f)},function(n,t,i){"use strict";function e(){}function v(n,t,i){if(n==null||typeof n!="string"&&n.type!=="Program")throw new r["default"]("You must pass a string or Handlebars AST to Handlebars.precompile. You passed "+n);t=t||{};"data"in t||(t.data=!0);t.compat&&(t.useDepths=!0);var u=i.parse(n,t),f=(new i.Compiler).compile(u,t);return(new i.JavaScriptCompiler).compile(f,t)}function y(n,t,i){function f(){var r=i.parse(n,t),u=(new i.Compiler).compile(r,t),f=(new i.JavaScriptCompiler).compile(u,t,undefined,!0);return i.template(f)}function e(n,t){return u||(u=f()),u.call(this,n,t)}if(t===undefined&&(t={}),n==null||typeof n!="string"&&n.type!=="Program")throw new r["default"]("You must pass a string or Handlebars AST to Handlebars.compile. You passed "+n);"data"in t||(t.data=!0);t.compat&&(t.useDepths=!0);var u=undefined;return e._setup=function(n){return u||(u=f()),u._setup(n)},e._child=function(n,t,i,r){return u||(u=f()),u._child(n,t,i,r)},e}function s(n,t){if(n===t)return!0;if(f.isArray(n)&&f.isArray(t)&&n.length===t.length){for(var i=0;i<n.length;i++)if(!s(n[i],t[i]))return!1;return!0}}function h(n){if(!n.path.parts){var t=n.path;n.path={type:"PathExpression",data:!1,depth:0,parts:[t.original+""],original:t.original+"",loc:t.loc}}}var o=i(1)["default"];t.__esModule=!0;t.Compiler=e;t.precompile=v;t.compile=y;var c=i(6),r=o(c),f=i(5),l=i(21),u=o(l),a=[].slice;e.prototype={compiler:e,equals:function(n){var i=this.opcodes.length,r,u,t;if(n.opcodes.length!==i)return!1;for(t=0;t<i;t++)if(r=this.opcodes[t],u=n.opcodes[t],r.opcode!==u.opcode||!s(r.args,u.args))return!1;for(i=this.children.length,t=0;t<i;t++)if(!this.children[t].equals(n.children[t]))return!1;return!0},guid:0,compile:function(n,t){var i,r;if(this.sourceNode=[],this.opcodes=[],this.children=[],this.options=t,this.stringParams=t.stringParams,this.trackIds=t.trackIds,t.blockParams=t.blockParams||[],i=t.knownHelpers,t.knownHelpers={helperMissing:!0,blockHelperMissing:!0,each:!0,"if":!0,unless:!0,"with":!0,log:!0,lookup:!0},i)for(r in i)r in i&&(t.knownHelpers[r]=i[r]);return this.accept(n)},compileProgram:function(n){var r=new this.compiler,t=r.compile(n,this.options),i=this.guid++;return this.usePartial=this.usePartial||t.usePartial,this.children[i]=t,this.useDepths=this.useDepths||t.useDepths,i},accept:function(n){if(!this[n.type])throw new r["default"]("Unknown type: "+n.type,n);this.sourceNode.unshift(n);var t=this[n.type](n);return this.sourceNode.shift(),t},Program:function(n){var i,r,t;for(this.options.blockParams.unshift(n.blockParams),i=n.body,r=i.length,t=0;t<r;t++)this.accept(i[t]);return this.options.blockParams.shift(),this.isSimple=r===1,this.blockParams=n.blockParams?n.blockParams.length:0,this},BlockStatement:function(n){var t,i,r;h(n);t=n.program;i=n.inverse;t=t&&this.compileProgram(t);i=i&&this.compileProgram(i);r=this.classifySexpr(n);r==="helper"?this.helperSexpr(n,t,i):r==="simple"?(this.simpleSexpr(n),this.opcode("pushProgram",t),this.opcode("pushProgram",i),this.opcode("emptyHash"),this.opcode("blockValue",n.path.original)):(this.ambiguousSexpr(n,t,i),this.opcode("pushProgram",t),this.opcode("pushProgram",i),this.opcode("emptyHash"),this.opcode("ambiguousBlockValue"));this.opcode("append")},DecoratorBlock:function(n){var t=n.program&&this.compileProgram(n.program),i=this.setupFullMustacheParams(n,t,undefined),r=n.path;this.useDecorators=!0;this.opcode("registerDecorator",i.length,r.original)},PartialStatement:function(n){var u,t,e,f,i;if(this.usePartial=!0,u=n.program,u&&(u=this.compileProgram(n.program)),t=n.params,t.length>1)throw new r["default"]("Unsupported number of partial arguments: "+t.length,n);else t.length||(this.options.explicitPartialContext?this.opcode("pushLiteral","undefined"):t.push({type:"PathExpression",parts:[],depth:0}));e=n.name.original;f=n.name.type==="SubExpression";f&&this.accept(n.name);this.setupFullMustacheParams(n,u,undefined,!0);i=n.indent||"";this.options.preventIndent&&i&&(this.opcode("appendContent",i),i="");this.opcode("invokePartial",f,e,i);this.opcode("append")},PartialBlockStatement:function(n){this.PartialStatement(n)},MustacheStatement:function(n){this.SubExpression(n);n.escaped&&!this.options.noEscape?this.opcode("appendEscaped"):this.opcode("append")},Decorator:function(n){this.DecoratorBlock(n)},ContentStatement:function(n){n.value&&this.opcode("appendContent",n.value)},CommentStatement:function(){},SubExpression:function(n){h(n);var t=this.classifySexpr(n);t==="simple"?this.simpleSexpr(n):t==="helper"?this.helperSexpr(n):this.ambiguousSexpr(n)},ambiguousSexpr:function(n,t,i){var r=n.path,u=r.parts[0],f=t!=null||i!=null;this.opcode("getContext",r.depth);this.opcode("pushProgram",t);this.opcode("pushProgram",i);r.strict=!0;this.accept(r);this.opcode("invokeAmbiguous",u,f)},simpleSexpr:function(n){var t=n.path;t.strict=!0;this.accept(t);this.opcode("resolvePossibleLambda")},helperSexpr:function(n,t,i){var o=this.setupFullMustacheParams(n,t,i),f=n.path,e=f.parts[0];if(this.options.knownHelpers[e])this.opcode("invokeKnownHelper",o.length,e);else if(this.options.knownHelpersOnly)throw new r["default"]("You specified knownHelpersOnly, but used the unknown helper "+e,n);else f.strict=!0,f.falsy=!0,this.accept(f),this.opcode("invokeHelper",o.length,f.original,u["default"].helpers.simpleId(f))},PathExpression:function(n){this.addDepth(n.depth);this.opcode("getContext",n.depth);var t=n.parts[0],i=u["default"].helpers.scopedId(n),r=!n.depth&&!i&&this.blockParamIndex(t);r?this.opcode("lookupBlockParam",r,n.parts):t?n.data?(this.options.data=!0,this.opcode("lookupData",n.depth,n.parts,n.strict)):this.opcode("lookupOnContext",n.parts,n.falsy,n.strict,i):this.opcode("pushContext")},StringLiteral:function(n){this.opcode("pushString",n.value)},NumberLiteral:function(n){this.opcode("pushLiteral",n.value)},BooleanLiteral:function(n){this.opcode("pushLiteral",n.value)},UndefinedLiteral:function(){this.opcode("pushLiteral","undefined")},NullLiteral:function(){this.opcode("pushLiteral","null")},Hash:function(n){var i=n.pairs,t=0,r=i.length;for(this.opcode("pushHash");t<r;t++)this.pushParam(i[t].value);while(t--)this.opcode("assignToHash",i[t].key);this.opcode("popHash")},opcode:function(n){this.opcodes.push({opcode:n,args:a.call(arguments,1),loc:this.sourceNode[0].loc})},addDepth:function(n){n&&(this.useDepths=!0)},classifySexpr:function(n){var f=u["default"].helpers.simpleId(n.path),e=f&&!!this.blockParamIndex(n.path.parts[0]),t=!e&&u["default"].helpers.helperExpression(n),i=!e&&(t||f),o,r;return i&&!t&&(o=n.path.parts[0],r=this.options,r.knownHelpers[o]?t=!0:r.knownHelpersOnly&&(i=!1)),t?"helper":i?"ambiguous":"simple"},pushParams:function(n){for(var t=0,i=n.length;t<i;t++)this.pushParam(n[t])},pushParam:function(n){var t=n.value!=null?n.value:n.original||"",i,r;this.stringParams?(t.replace&&(t=t.replace(/^(\.?\.\/)*/g,"").replace(/\//g,".")),n.depth&&this.addDepth(n.depth),this.opcode("getContext",n.depth||0),this.opcode("pushStringParam",t,n.type),n.type==="SubExpression"&&this.accept(n)):(this.trackIds&&(i=undefined,!n.parts||u["default"].helpers.scopedId(n)||n.depth||(i=this.blockParamIndex(n.parts[0])),i?(r=n.parts.slice(1).join("."),this.opcode("pushId","BlockParam",i,r)):(t=n.original||t,t.replace&&(t=t.replace(/^this(?:\.|$)/,"").replace(/^\.\//,"").replace(/^\.$/,"")),this.opcode("pushId",n.type,t))),this.accept(n))},setupFullMustacheParams:function(n,t,i,r){var u=n.params;return this.pushParams(u),this.opcode("pushProgram",t),this.opcode("pushProgram",i),n.hash?this.accept(n.hash):this.opcode("emptyHash",r),u},blockParamIndex:function(n){for(var i,r,t=0,u=this.options.blockParams.length;t<u;t++)if(i=this.options.blockParams[t],r=i&&f.indexOf(i,n),i&&r>=0)return[t,r]}}},function(n,t,i){"use strict";function u(n){this.value=n}function r(){}function a(n,t,i,r){var u=t.popStack(),f=0,e=i.length;for(n&&e--;f<e;f++)u=t.nameLookup(u,i[f],r);return n?[t.aliasable("container.strict"),"(",u,", ",t.quotedString(i[f]),")"]:u}var e=i(1)["default"];t.__esModule=!0;var o=i(4),h=i(6),f=e(h),c=i(5),l=i(29),s=e(l);r.prototype={nameLookup:function(n,t){return r.isValidJavaScriptVariableName(t)?[n,".",t]:[n,"[",JSON.stringify(t),"]"]},depthedLookup:function(n){return[this.aliasable("container.lookup"),'(depths, "',n,'")']},compilerInfo:function(){var n=o.COMPILER_REVISION,t=o.REVISION_CHANGES[n];return[n,t]},appendToBuffer:function(n,t,i){return c.isArray(n)||(n=[n]),n=this.source.wrap(n,t),this.environment.isSimple?["return ",n,";"]:i?["buffer += ",n,";"]:(n.appendToBuffer=!0,n)},initializeBuffer:function(){return this.quotedString("")},compile:function(n,t,i,r){var c,u;this.environment=n;this.options=t;this.stringParams=this.options.stringParams;this.trackIds=this.options.trackIds;this.precompile=!r;this.name=this.environment.name;this.isChild=!!i;this.context=i||{decorators:[],programs:[],environments:[]};this.preamble();this.stackSlot=0;this.stackVars=[];this.aliases={};this.registers={list:[]};this.hashes=[];this.compileStack=[];this.inlineStack=[];this.blockParams=[];this.compileChildren(n,t);this.useDepths=this.useDepths||n.useDepths||n.useDecorators||this.options.compat;this.useBlockParams=this.useBlockParams||n.useBlockParams;for(var a=n.opcodes,o=undefined,h=undefined,e=undefined,s=undefined,e=0,s=a.length;e<s;e++)o=a[e],this.source.currentLocation=o.loc,h=h||o.loc,this[o.opcode].apply(this,o.args);if(this.source.currentLocation=h,this.pushSource(""),this.stackSlot||this.inlineStack.length||this.compileStack.length)throw new f["default"]("Compile completed with content left on stack");if(this.decorators.isEmpty()?this.decorators=undefined:(this.useDecorators=!0,this.decorators.prepend("var decorators = container.decorators;\n"),this.decorators.push("return fn;"),r?this.decorators=Function.apply(this,["fn","props","container","depth0","data","blockParams","depths",this.decorators.merge()]):(this.decorators.prepend("function(fn, props, container, depth0, data, blockParams, depths) {\n"),this.decorators.push("}\n"),this.decorators=this.decorators.merge())),c=this.createFunctionContext(r),this.isChild)return c;u={compiler:this.compilerInfo(),main:c};this.decorators&&(u.main_d=this.decorators,u.useDecorators=!0);var v=this.context,l=v.programs,y=v.decorators;for(e=0,s=l.length;e<s;e++)l[e]&&(u[e]=l[e],y[e]&&(u[e+"_d"]=y[e],u.useDecorators=!0));return this.environment.usePartial&&(u.usePartial=!0),this.options.data&&(u.useData=!0),this.useDepths&&(u.useDepths=!0),this.useBlockParams&&(u.useBlockParams=!0),this.options.compat&&(u.compat=!0),r?u.compilerOptions=this.options:(u.compiler=JSON.stringify(u.compiler),this.source.currentLocation={start:{line:1,column:0}},u=this.objectLiteral(u),t.srcName?(u=u.toStringWithSourceMap({file:t.destName}),u.map=u.map&&u.map.toString()):u=u.toString()),u},preamble:function(){this.lastContext=0;this.source=new s["default"](this.options.srcName);this.decorators=new s["default"](this.options.srcName)},createFunctionContext:function(n){var u="",o=this.stackVars.concat(this.registers.list),f,i,r,t,e;o.length>0&&(u+=", "+o.join(", "));f=0;for(i in this.aliases)r=this.aliases[i],this.aliases.hasOwnProperty(i)&&r.children&&r.referenceCount>1&&(u+=", alias"+ ++f+"="+i,r.children[0]="alias"+f);return t=["container","depth0","helpers","partials","data"],(this.useBlockParams||this.useDepths)&&t.push("blockParams"),this.useDepths&&t.push("depths"),e=this.mergeSource(u),n?(t.push(e),Function.apply(this,t)):this.source.wrap(["function(",t.join(","),") {\n  ",e,"}"])},mergeSource:function(n){var e=this.environment.isSimple,f=!this.forceBuffer,r=undefined,u=undefined,t=undefined,i=undefined;return this.source.each(function(n){n.appendToBuffer?(t?n.prepend("  + "):t=n,i=n):(t&&(u?t.prepend("buffer += "):r=!0,i.add(";"),t=i=undefined),u=!0,e||(f=!1))}),f?t?(t.prepend("return "),i.add(";")):u||this.source.push('return "";'):(n+=", buffer = "+(r?"":this.initializeBuffer()),t?(t.prepend("return buffer + "),i.add(";")):this.source.push("return buffer;")),n&&this.source.prepend("var "+n.substring(2)+(r?"":";\n")),this.source.merge()},blockValue:function(n){var r=this.aliasable("helpers.blockHelperMissing"),t=[this.contextName(0)],i;this.setupHelperArgs(n,0,t);i=this.popStack();t.splice(1,0,i);this.push(this.source.functionCall(r,"call",t))},ambiguousBlockValue:function(){var i=this.aliasable("helpers.blockHelperMissing"),n=[this.contextName(0)],t;this.setupHelperArgs("",0,n,!0);this.flushInline();t=this.topStack();n.splice(1,0,t);this.pushSource(["if (!",this.lastHelper,") { ",t," = ",this.source.functionCall(i,"call",n),"}"])},appendContent:function(n){this.pendingContent?n=this.pendingContent+n:this.pendingLocation=this.source.currentLocation;this.pendingContent=n},append:function(){if(this.isInline())this.replaceStack(function(n){return[" != null ? ",n,' : ""']}),this.pushSource(this.appendToBuffer(this.popStack()));else{var n=this.popStack();this.pushSource(["if (",n," != null) { ",this.appendToBuffer(n,undefined,!0)," }"]);this.environment.isSimple&&this.pushSource(["else { ",this.appendToBuffer("''",undefined,!0)," }"])}},appendEscaped:function(){this.pushSource(this.appendToBuffer([this.aliasable("container.escapeExpression"),"(",this.popStack(),")"]))},getContext:function(n){this.lastContext=n},pushContext:function(){this.pushStackLiteral(this.contextName(this.lastContext))},lookupOnContext:function(n,t,i,r){var u=0;r||!this.options.compat||this.lastContext?this.pushContext():this.push(this.depthedLookup(n[u++]));this.resolvePath("context",n,u,t,i)},lookupBlockParam:function(n,t){this.useBlockParams=!0;this.push(["blockParams[",n[0],"][",n[1],"]"]);this.resolvePath("context",t,1)},lookupData:function(n,t,i){n?this.pushStackLiteral("container.data(data, "+n+")"):this.pushStackLiteral("data");this.resolvePath("data",t,0,!0,i)},resolvePath:function(n,t,i,r,u){var e=this,f;if(this.options.strict||this.options.assumeObjects){this.push(a(this.options.strict&&u,this,t,n));return}for(f=t.length;i<f;i++)this.replaceStack(function(u){var f=e.nameLookup(u,t[i],n);return r?[" && ",f]:[" != null ? ",f," : ",u]})},resolvePossibleLambda:function(){this.push([this.aliasable("container.lambda"),"(",this.popStack(),", ",this.contextName(0),")"])},pushStringParam:function(n,t){this.pushContext();this.pushString(t);t!=="SubExpression"&&(typeof n=="string"?this.pushString(n):this.pushStackLiteral(n))},emptyHash:function(n){this.trackIds&&this.push("{}");this.stringParams&&(this.push("{}"),this.push("{}"));this.pushStackLiteral(n?"undefined":"{}")},pushHash:function(){this.hash&&this.hashes.push(this.hash);this.hash={values:[],types:[],contexts:[],ids:[]}},popHash:function(){var n=this.hash;this.hash=this.hashes.pop();this.trackIds&&this.push(this.objectLiteral(n.ids));this.stringParams&&(this.push(this.objectLiteral(n.contexts)),this.push(this.objectLiteral(n.types)));this.push(this.objectLiteral(n.values))},pushString:function(n){this.pushStackLiteral(this.quotedString(n))},pushLiteral:function(n){this.pushStackLiteral(n)},pushProgram:function(n){n!=null?this.pushStackLiteral(this.programExpression(n)):this.pushStackLiteral(null)},registerDecorator:function(n,t){var i=this.nameLookup("decorators",t,"decorator"),r=this.setupHelperArgs(t,n);this.decorators.push(["fn = ",this.decorators.functionCall(i,"",["fn","props","container",r])," || fn;"])},invokeHelper:function(n,t,i){var f=this.popStack(),u=this.setupHelper(n,t),e=i?[u.name," || "]:"",r=["("].concat(e,f);this.options.strict||r.push(" || ",this.aliasable("helpers.helperMissing"));r.push(")");this.push(this.source.functionCall(r,"call",u.callParams))},invokeKnownHelper:function(n,t){var i=this.setupHelper(n,t);this.push(this.source.functionCall(i.name,"call",i.callParams))},invokeAmbiguous:function(n,t){var u;this.useRegister("helper");u=this.popStack();this.emptyHash();var i=this.setupHelper(0,n,t),f=this.lastHelper=this.nameLookup("helpers",n,"helper"),r=["(","(helper = ",f," || ",u,")"];this.options.strict||(r[0]="(helper = ",r.push(" != null ? helper : ",this.aliasable("helpers.helperMissing")));this.push(["(",r,i.paramsInit?["),(",i.paramsInit]:[],"),","(typeof helper === ",this.aliasable('"function"')," ? ",this.source.functionCall("helper","call",i.callParams)," : helper))"])},invokePartial:function(n,t,i){var u=[],r=this.setupParams(t,1,u);n&&(t=this.popStack(),delete r.name);i&&(r.indent=JSON.stringify(i));r.helpers="helpers";r.partials="partials";r.decorators="container.decorators";n?u.unshift(t):u.unshift(this.nameLookup("partials",t,"partial"));this.options.compat&&(r.depths="depths");r=this.objectLiteral(r);u.push(r);this.push(this.source.functionCall("container.invokePartial","",u))},assignToHash:function(n){var f=this.popStack(),i=undefined,r=undefined,u=undefined,t;this.trackIds&&(u=this.popStack());this.stringParams&&(r=this.popStack(),i=this.popStack());t=this.hash;i&&(t.contexts[n]=i);r&&(t.types[n]=r);u&&(t.ids[n]=u);t.values[n]=f},pushId:function(n,t,i){n==="BlockParam"?this.pushStackLiteral("blockParams["+t[0]+"].path["+t[1]+"]"+(i?" + "+JSON.stringify("."+i):"")):n==="PathExpression"?this.pushString(t):n==="SubExpression"?this.pushStackLiteral("true"):this.pushStackLiteral("null")},compiler:r,compileChildren:function(n,t){for(var r,e=n.children,i=undefined,u=undefined,f=0,o=e.length;f<o;f++)i=e[f],u=new this.compiler,r=this.matchExistingProgram(i),r==null?(this.context.programs.push(""),r=this.context.programs.length,i.index=r,i.name="program"+r,this.context.programs[r]=u.compile(i,t,this.context,!this.precompile),this.context.decorators[r]=u.decorators,this.context.environments[r]=i,this.useDepths=this.useDepths||u.useDepths,this.useBlockParams=this.useBlockParams||u.useBlockParams):(i.index=r,i.name="program"+r,this.useDepths=this.useDepths||i.useDepths,this.useBlockParams=this.useBlockParams||i.useBlockParams)},matchExistingProgram:function(n){for(var i,t=0,r=this.context.environments.length;t<r;t++)if(i=this.context.environments[t],i&&i.equals(n))return t},programExpression:function(n){var i=this.environment.children[n],t=[i.index,"data",i.blockParams];return(this.useBlockParams||this.useDepths)&&t.push("blockParams"),this.useDepths&&t.push("depths"),"container.program("+t.join(", ")+")"},useRegister:function(n){this.registers[n]||(this.registers[n]=!0,this.registers.list.push(n))},push:function(n){return n instanceof u||(n=this.source.wrap(n)),this.inlineStack.push(n),n},pushStackLiteral:function(n){this.push(new u(n))},pushSource:function(n){this.pendingContent&&(this.source.push(this.appendToBuffer(this.source.quotedString(this.pendingContent),this.pendingLocation)),this.pendingContent=undefined);n&&this.source.push(n)},replaceStack:function(n){var r=["("],t=undefined,e=undefined,o=undefined,i,s,h;if(!this.isInline())throw new f["default"]("replaceStack on non-inline");i=this.popStack(!0);i instanceof u?(t=[i.value],r=["(",t],o=!0):(e=!0,s=this.incrStack(),r=["((",this.push(s)," = ",i,")"],t=this.topStack());h=n.call(this,t);o||this.popStack();e&&this.stackSlot--;this.push(r.concat(h,")"))},incrStack:function(){return this.stackSlot++,this.stackSlot>this.stackVars.length&&this.stackVars.push("stack"+this.stackSlot),this.topStackName()},topStackName:function(){return"stack"+this.stackSlot},flushInline:function(){var r=this.inlineStack,n,f,t,i;for(this.inlineStack=[],n=0,f=r.length;n<f;n++)t=r[n],t instanceof u?this.compileStack.push(t):(i=this.incrStack(),this.pushSource([i," = ",t,";"]),this.compileStack.push(i))},isInline:function(){return this.inlineStack.length},popStack:function(n){var i=this.isInline(),t=(i?this.inlineStack:this.compileStack).pop();if(!n&&t instanceof u)return t.value;if(!i){if(!this.stackSlot)throw new f["default"]("Invalid stack pop");this.stackSlot--}return t},topStack:function(){var t=this.isInline()?this.inlineStack:this.compileStack,n=t[t.length-1];return n instanceof u?n.value:n},contextName:function(n){return this.useDepths&&n?"depths["+n+"]":"depth"+n},quotedString:function(n){return this.source.quotedString(n)},objectLiteral:function(n){return this.source.objectLiteral(n)},aliasable:function(n){var t=this.aliases[n];return t?(t.referenceCount++,t):(t=this.aliases[n]=this.source.wrap(n),t.aliasable=!0,t.referenceCount=1,t)},setupHelper:function(n,t,i){var r=[],u=this.setupHelperArgs(t,n,r,i),f=this.nameLookup("helpers",t,"helper");return{params:r,paramsInit:u,name:f,callParams:[this.contextName(0)].concat(r)}},setupParams:function(n,t,i){var r={},o=[],s=[],h=[],c=!i,l=undefined,f,e,u;for(c&&(i=[]),r.name=this.quotedString(n),r.hash=this.popStack(),this.trackIds&&(r.hashIds=this.popStack()),this.stringParams&&(r.hashTypes=this.popStack(),r.hashContexts=this.popStack()),f=this.popStack(),e=this.popStack(),(e||f)&&(r.fn=e||"container.noop",r.inverse=f||"container.noop"),u=t;u--;)l=this.popStack(),i[u]=l,this.trackIds&&(h[u]=this.popStack()),this.stringParams&&(s[u]=this.popStack(),o[u]=this.popStack());return c&&(r.args=this.source.generateArray(i)),this.trackIds&&(r.ids=this.source.generateArray(h)),this.stringParams&&(r.types=this.source.generateArray(s),r.contexts=this.source.generateArray(o)),this.options.data&&(r.data="data"),this.useBlockParams&&(r.blockParams="blockParams"),r},setupHelperArgs:function(n,t,i,r){var u=this.setupParams(n,t,i);return u=this.objectLiteral(u),r?(this.useRegister("options"),i.push("options"),["options=",u]):i?(i.push(u),""):u}},function(){for(var t="break else new var case finally return void catch for switch while continue function this with default if throw delete in try do instanceof typeof abstract enum int short boolean export interface static byte extends long super char final native synchronized class float package throws const goto private transient debugger implements protected volatile double import public let yield await null true false".split(" "),i=r.RESERVED_WORDS={},n=0,u=t.length;n<u;n++)i[t[n]]=!0}();r.isValidJavaScriptVariableName=function(n){return!r.RESERVED_WORDS[n]&&/^[a-zA-Z_$][0-9a-zA-Z_$]*$/.test(n)};t["default"]=r;n.exports=t["default"]},function(n,t,i){"use strict";function f(n,t,i){var f,r,e;if(u.isArray(n)){for(f=[],r=0,e=n.length;r<e;r++)f.push(t.wrap(n[r],i));return f}return typeof n=="boolean"||typeof n=="number"?n+"":n}function o(n){this.srcFile=n;this.source=[]}var u,r,e;t.__esModule=!0;u=i(5);r=undefined;try{!1&&(e=require("source-map"),r=e.SourceNode)}catch(s){}r||(r=function(n,t,i,r){this.src="";r&&this.add(r)},r.prototype={add:function(n){u.isArray(n)&&(n=n.join(""));this.src+=n},prepend:function(n){u.isArray(n)&&(n=n.join(""));this.src=n+this.src},toStringWithSourceMap:function(){return{code:this.toString()}},toString:function(){return this.src}});o.prototype={isEmpty:function(){return!this.source.length},prepend:function(n,t){this.source.unshift(this.wrap(n,t))},push:function(n,t){this.source.push(this.wrap(n,t))},merge:function(){var n=this.empty();return this.each(function(t){n.add(["  ",t,"\n"])}),n},each:function(n){for(var t=0,i=this.source.length;t<i;t++)n(this.source[t])},empty:function(){var n=this.currentLocation||{start:{}};return new r(n.start.line,n.start.column,this.srcFile)},wrap:function(n){var t=arguments.length<=1||arguments[1]===undefined?this.currentLocation||{start:{}}:arguments[1];return n instanceof r?n:(n=f(n,this,t),new r(t.start.line,t.start.column,this.srcFile,n))},functionCall:function(n,t,i){return i=this.generateList(i),this.wrap([n,t?"."+t+"(":"(",i,")"])},quotedString:function(n){return'"'+(n+"").replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")+'"'},objectLiteral:function(n){var u=[],t,r,i;for(t in n)n.hasOwnProperty(t)&&(r=f(n[t],this),r!=="undefined"&&u.push([this.quotedString(t),":",r]));return i=this.generateList(u),i.prepend("{"),i.add("}"),i},generateList:function(n){for(var i=this.empty(),t=0,r=n.length;t<r;t++)t&&i.add(","),i.add(f(n[t],this));return i},generateArray:function(n){var t=this.generateList(n);return t.prepend("["),t.add("]"),t}};t["default"]=o;n.exports=t["default"]}])});
/*!
 * typeahead.js 0.10.1
 * https://github.com/twitter/typeahead.js
 * Copyright 2013 Twitter, Inc. and other contributors; Licensed MIT
 */
(function(n){var t={isMsie:function(){return/(msie|trident)/i.test(navigator.userAgent)?navigator.userAgent.match(/(msie |rv:)(\d+(.\d+)?)/i)[2]:!1},isBlankString:function(n){return!n||/^\s*$/.test(n)},escapeRegExChars:function(n){return n.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")},isString:function(n){return typeof n=="string"},isNumber:function(n){return typeof n=="number"},isArray:n.isArray,isFunction:n.isFunction,isObject:n.isPlainObject,isUndefined:function(n){return typeof n=="undefined"},bind:n.proxy,each:function(t,i){function r(n,t){return i(t,n)}n.each(t,r)},map:n.map,filter:n.grep,every:function(t,i){var r=!0;return t?(n.each(t,function(n,u){if(!(r=i.call(null,u,n,t)))return!1}),!!r):r},some:function(t,i){var r=!1;return t?(n.each(t,function(n,u){if(r=i.call(null,u,n,t))return!1}),!!r):r},mixin:n.extend,getUniqueId:function(){var n=0;return function(){return n++}}(),templatify:function(t){function i(){return String(t)}return n.isFunction(t)?t:i},defer:function(n){setTimeout(n,0)},debounce:function(n,t,i){var r,u;return function(){var f=this,e=arguments,o,s;return o=function(){r=null;i||(u=n.apply(f,e))},s=i&&!r,clearTimeout(r),r=setTimeout(o,t),s&&(u=n.apply(f,e)),u}},throttle:function(n,t){var u,f,i,e,r,o;return r=0,o=function(){r=new Date;i=null;e=n.apply(u,f)},function(){var s=new Date,h=t-(s-r);return u=this,f=arguments,h<=0?(clearTimeout(i),i=null,r=s,e=n.apply(u,f)):i||(i=setTimeout(o,h)),e}},noop:function(){}},c="0.10.1",o=function(){function n(n){this.maxSize=n||100;this.size=0;this.hash={};this.list=new i}function i(){this.head=this.tail=null}function r(n,t){this.key=n;this.val=t;this.prev=this.next=null}return t.mixin(n.prototype,{set:function(n,t){var u=this.list.tail,i;this.size>=this.maxSize&&(this.list.remove(u),delete this.hash[u.key]);(i=this.hash[n])?(i.val=t,this.list.moveToFront(i)):(i=new r(n,t),this.list.add(i),this.hash[n]=i,this.size++)},get:function(n){var t=this.hash[n];if(t)return this.list.moveToFront(t),t.val}}),t.mixin(i.prototype,{add:function(n){this.head&&(n.next=this.head,this.head.prev=n);this.head=n;this.tail=this.tail||n},remove:function(n){n.prev?n.prev.next=n.next:this.head=n.next;n.next?n.next.prev=n.prev:this.tail=n.prev},moveToFront:function(n){this.remove(n);this.add(n)}}),n}(this),l=function(){function r(n){this.prefix=["__",n,"__"].join("");this.ttlKey="__ttl__";this.keyMatcher=new RegExp("^"+this.prefix)}function u(){return(new Date).getTime()}function f(n){return JSON.stringify(t.isUndefined(n)?null:n)}function e(n){return JSON.parse(n)}var n,i;try{n=window.localStorage;n.setItem("~~~","!");n.removeItem("~~~")}catch(o){n=null}return i=n&&window.JSON?{_prefix:function(n){return this.prefix+n},_ttlKey:function(n){return this._prefix(n)+this.ttlKey},get:function(t){return this.isExpired(t)&&this.remove(t),e(n.getItem(this._prefix(t)))},set:function(i,r,e){return t.isNumber(e)?n.setItem(this._ttlKey(i),f(u()+e)):n.removeItem(this._ttlKey(i)),n.setItem(this._prefix(i),f(r))},remove:function(t){return n.removeItem(this._ttlKey(t)),n.removeItem(this._prefix(t)),this},clear:function(){for(var r,i=[],u=n.length,t=0;t<u;t++)(r=n.key(t)).match(this.keyMatcher)&&i.push(r.replace(this.keyMatcher,""));for(t=i.length;t--;)this.remove(i[t]);return this},isExpired:function(i){var r=e(n.getItem(this._ttlKey(i)));return t.isNumber(r)&&u()>r?!0:!1}}:{get:t.noop,set:t.noop,remove:t.noop,clear:t.noop,isExpired:t.noop},t.mixin(r.prototype,i),r}(),a=function(){function i(t){t=t||{};this._send=t.transport?s(t.transport):n.ajax;this._get=t.rateLimiter?t.rateLimiter(this._get):this._get}function s(i){return function(r,u){function e(n){t.defer(function(){f.resolve(n)})}function o(n){t.defer(function(){f.reject(n)})}var f=n.Deferred();return i(r,u,e,o),f}}var r=0,u={},e=6,f=new o(10);return i.setMaxPendingRequests=function(n){e=n},i.resetCache=function(){f=new o(10)},t.mixin(i.prototype,{_get:function(n,t,i){function h(t){i&&i(t);f.set(n,t)}function c(){r--;delete u[n];o.onDeckRequestArgs&&(o._get.apply(o,o.onDeckRequestArgs),o.onDeckRequestArgs=null)}var o=this,s;(s=u[n])?s.done(h):r<e?(r++,u[n]=this._send(n,t).done(h).always(c)):this.onDeckRequestArgs=[].slice.call(arguments,0)},get:function(n,i,r){var e=this,u;return t.isFunction(i)&&(r=i,i={}),(u=f.get(n))?t.defer(function(){r&&r(u)}):this._get(n,i,r),!!u}}),i}(),v=function(){function i(t){t=t||{};t.datumTokenizer&&t.queryTokenizer||n.error("datumTokenizer and queryTokenizer are both required");this.datumTokenizer=t.datumTokenizer;this.queryTokenizer=t.queryTokenizer;this.datums=[];this.trie=u()}function r(n){return n=t.filter(n,function(n){return!!n}),t.map(n,function(n){return n.toLowerCase()})}function u(){return{ids:[],children:{}}}function f(n){for(var i={},r=[],t=0;t<n.length;t++)i[n[t]]||(i[n[t]]=!0,r.push(n[t]));return r}function e(n,t){function f(n,t){return n-t}var i=0,r=0,u=[];for(n=n.sort(f),t=t.sort(f);i<n.length&&r<t.length;)n[i]<t[r]?i++:n[i]>t[r]?r++:(u.push(n[i]),i++,r++);return u}return t.mixin(i.prototype,{bootstrap:function(n){this.datums=n.datums;this.trie=n.trie},add:function(n){var i=this;n=t.isArray(n)?n:[n];t.each(n,function(n){var f,e;f=i.datums.push(n)-1;e=r(i.datumTokenizer(n));t.each(e,function(n){for(var r,t=i.trie,e=n.split("");r=e.shift();)t=t.children[r]||(t.children[r]=u()),t.ids.push(f)})})},get:function(n){var u=this,o,i;return o=r(this.queryTokenizer(n)),t.each(o,function(n){var t,r,o,f;if(i&&i.length===0)return!1;for(t=u.trie,r=n.split("");t&&(o=r.shift());)t=t.children[o];if(t&&r.length===0)f=t.ids.slice(0),i=i?e(i,f):f;else return i=[],!1}),i?t.map(f(i),function(n){return u.datums[n]}):[]},serialize:function(){return{datums:this.datums,trie:this.trie}}}),i}(),f=function(){function i(n){var i=n.local||null;return t.isFunction(i)&&(i=i.call(null)),i}function r(i){var r,u;return u={url:null,thumbprint:"",ttl:864e5,filter:null,ajax:{}},(r=i.prefetch||null)&&(r=t.isString(r)?{url:r}:r,r=t.mixin(u,r),r.thumbprint=c+r.thumbprint,r.ajax.type=r.ajax.type||"GET",r.ajax.dataType=r.ajax.dataType||"json",r.url||n.error("prefetch requires url to be set")),r}function u(i){function f(n){return function(i){return t.debounce(i,n)}}function e(n){return function(i){return t.throttle(i,n)}}var r,u;return u={url:null,wildcard:"%QUERY",replace:null,rateLimitBy:"debounce",rateLimitWait:300,send:null,filter:null,ajax:{}},(r=i.remote||null)&&(r=t.isString(r)?{url:r}:r,r=t.mixin(u,r),r.rateLimiter=/^throttle$/i.test(r.rateLimitBy)?e(r.rateLimitWait):f(r.rateLimitWait),r.ajax.type=r.ajax.type||"GET",r.ajax.dataType=r.ajax.dataType||"json",delete r.rateLimitBy,delete r.rateLimitWait,r.url||n.error("remote requires url to be set")),r}return{local:i,prefetch:r,remote:u}}(),k=window.Bloodhound=function(){function r(t){t&&(t.local||t.prefetch||t.remote)||n.error("one of local, prefetch, or remote is required");this.limit=t.limit||5;this.sorter=u(t.sorter);this.dupDetector=t.dupDetector||e;this.local=f.local(t);this.prefetch=f.prefetch(t);this.remote=f.remote(t);this.cacheKey=this.prefetch?this.prefetch.cacheKey||this.prefetch.url:null;this.index=new v({datumTokenizer:t.datumTokenizer,queryTokenizer:t.queryTokenizer});this.storage=this.cacheKey?new l(this.cacheKey):null}function u(n){function i(t){return t.sort(n)}function r(n){return n}return t.isFunction(n)?i:r}function e(){return!1}var i;return i={data:"data",protocol:"protocol",thumbprint:"thumbprint"},r.tokenizers={whitespace:function(n){return n.split(/\s+/)},nonword:function(n){return n.split(/\W+/)}},t.mixin(r.prototype,{_loadPrefetch:function(t){function f(n){var r;r=t.filter?t.filter(n):n;i.add(r);i._saveToStorage(i.index.serialize(),t.thumbprint,t.ttl)}var i=this,u,r;return(u=this._readFromStorage(t.thumbprint))?(this.index.bootstrap(u),r=n.Deferred().resolve()):r=n.ajax(t.url,t.ajax).done(f),r},_getFromRemote:function(n,t){function f(n){var r=i.remote.filter?i.remote.filter(n):n;t(r)}var i=this,r,u;return n=n||"",u=encodeURIComponent(n),r=this.remote.replace?this.remote.replace(this.remote.url,n):this.remote.url.replace(this.remote.wildcard,u),this.transport.get(r,this.remote.ajax,f)},_saveToStorage:function(n,t,r){this.storage&&(this.storage.set(i.data,n,r),this.storage.set(i.protocol,location.protocol,r),this.storage.set(i.thumbprint,t,r))},_readFromStorage:function(n){var t={},r;return this.storage&&(t.data=this.storage.get(i.data),t.protocol=this.storage.get(i.protocol),t.thumbprint=this.storage.get(i.thumbprint)),r=t.thumbprint!==n||t.protocol!==location.protocol,t.data&&!r?t.data:null},initialize:function(){function r(){i.add(i.local)}var i=this,t;return t=this.prefetch?this._loadPrefetch(this.prefetch):n.Deferred().resolve(),this.local&&t.done(r),this.transport=this.remote?new a(this.remote):null,this.initialize=function(){return t.promise()},t.promise()},add:function(n){this.index.add(n)},get:function(n,i){function e(n){var f=r.slice(0);t.each(n,function(n){var i;return i=t.some(f,function(t){return u.dupDetector(n,t)}),i||f.push(n),f.length<u.limit});i&&i(u.sorter(f))}var u=this,r,f=!1;r=this.index.get(n);r=this.sorter(r).slice(0,this.limit);r.length<this.limit&&this.transport&&(f=this._getFromRemote(n,e));!f&&i&&i(r)},ttAdapter:function(){return t.bind(this.get,this)}}),r}(),r={wrapper:'<span class="twitter-typeahead"><\/span>',dropdown:'<span class="tt-dropdown-menu"><\/span>',dataset:'<div class="tt-dataset-%CLASS%"><\/div>',suggestions:'<span class="tt-suggestions"><\/span>',suggestion:'<div class="tt-suggestion">%BODY%<\/div>'},i={wrapper:{position:"relative",display:"inline-block"},hint:{position:"absolute",top:"0",left:"0",borderColor:"transparent",boxShadow:"none"},input:{position:"relative",verticalAlign:"top",backgroundColor:"transparent"},inputWithNoHint:{position:"relative",verticalAlign:"top"},dropdown:{position:"absolute",top:"100%",left:"0",zIndex:"100",display:"none"},suggestions:{display:"block"},suggestion:{whiteSpace:"nowrap",cursor:"pointer"},suggestionChild:{whiteSpace:"normal"},ltr:{left:"0",right:"auto"},rtl:{left:"auto",right:" 0"}};t.isMsie()&&t.mixin(i.input,{backgroundImage:"url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)"});t.isMsie()&&t.isMsie()<=7&&t.mixin(i.input,{marginTop:"-1px"});var s=function(){function i(t){t&&t.el||n.error("EventBus initialized without el");this.$el=n(t.el)}var r="typeahead:";return t.mixin(i.prototype,{trigger:function(n){var t=[].slice.call(arguments,1);this.$el.trigger(r+n,t)}}),i}(),e=function(){function t(t,i,r,u){var f;if(!r)return this;for(i=i.split(n),r=u?h(r,u):r,this._callbacks=this._callbacks||{};f=i.shift();)this._callbacks[f]=this._callbacks[f]||{sync:[],async:[]},this._callbacks[f][t].push(r);return this}function u(n,i,r){return t.call(this,"async",n,i,r)}function f(n,i,r){return t.call(this,"sync",n,i,r)}function e(t){var i;if(!this._callbacks)return this;for(t=t.split(n);i=t.shift();)delete this._callbacks[i];return this}function o(t){var h=this,u,f,e,o,s;if(!this._callbacks)return this;for(t=t.split(n),e=[].slice.call(arguments,1);(u=t.shift())&&(f=this._callbacks[u]);)o=i(f.sync,this,[u].concat(e)),s=i(f.async,this,[u].concat(e)),o()&&r(s);return this}function i(n,t,i){function r(){for(var r,u=0;!r&&u<n.length;u+=1)r=n[u].apply(t,i)===!1;return!r}return r}function s(){return window.setImmediate?function(n){setImmediate(function(){n()})}:function(n){setTimeout(function(){n()},0)}}function h(n,t){return n.bind?n.bind(t):function(){n.apply(t,[].slice.call(arguments,0))}}var n=/\s+/,r=s();return{onSync:f,onAsync:u,off:e,trigger:o}}(),y=function(n){function r(n,i,r){for(var u=[],f,e=0;e<n.length;e++)u.push(t.escapeRegExChars(n[e]));return f=r?"\\b("+u.join("|")+")\\b":"("+u.join("|")+")",i?new RegExp(f):new RegExp(f,"i")}var i={node:null,pattern:null,tagName:"strong",className:null,wordsOnly:!1,caseSensitive:!1};return function(u){function o(t){var i,r;return(i=f.exec(t.data))&&(wrapperNode=n.createElement(u.tagName),u.className&&(wrapperNode.className=u.className),r=t.splitText(i.index),r.splitText(i[0].length),wrapperNode.appendChild(r.cloneNode(!0)),t.parentNode.replaceChild(wrapperNode,r)),!!i}function e(n,t){for(var i,r=0;r<n.childNodes.length;r++)i=n.childNodes[r],i.nodeType===3?r+=t(i)?1:0:e(i,t)}var f;(u=t.mixin({},i,u),u.node&&u.pattern)&&(u.pattern=t.isArray(u.pattern)?u.pattern:[u.pattern],f=r(u.pattern,u.caseSensitive,u.wordsOnly),e(u.node,o))}}(window.document),h=function(){function i(i){var u=this,e,o,s,h;if(i=i||{},i.input||n.error("input is missing"),e=t.bind(this._onBlur,this),o=t.bind(this._onFocus,this),s=t.bind(this._onKeydown,this),h=t.bind(this._onInput,this),this.$hint=n(i.hint),this.$input=n(i.input).on("blur.tt",e).on("focus.tt",o).on("keydown.tt",s),this.$hint.length===0&&(this.setHintValue=this.getHintValue=this.clearHint=t.noop),t.isMsie())this.$input.on("keydown.tt keypress.tt cut.tt paste.tt",function(n){r[n.which||n.keyCode]||t.defer(t.bind(u._onInput,u,n))});else this.$input.on("input.tt",h);this.query=this.$input.val();this.$overflowHelper=f(this.$input)}function f(t){return n('<pre aria-hidden="true"><\/pre>').css({position:"absolute",visibility:"hidden",whiteSpace:"nowrap",fontFamily:t.css("font-family"),fontSize:t.css("font-size"),fontStyle:t.css("font-style"),fontVariant:t.css("font-variant"),fontWeight:t.css("font-weight"),wordSpacing:t.css("word-spacing"),letterSpacing:t.css("letter-spacing"),textIndent:t.css("text-indent"),textRendering:t.css("text-rendering"),textTransform:t.css("text-transform")}).insertAfter(t)}function o(n,t){return i.normalizeQuery(n)===i.normalizeQuery(t)}function u(n){return n.altKey||n.ctrlKey||n.metaKey||n.shiftKey}var r;return r={9:"tab",27:"esc",37:"left",39:"right",13:"enter",38:"up",40:"down"},i.normalizeQuery=function(n){return(n||"").replace(/^\s*/g,"").replace(/\s{2,}/g," ")},t.mixin(i.prototype,e,{_onBlur:function(){this.resetInputValue();this.trigger("blurred")},_onFocus:function(){this.trigger("focused")},_onKeydown:function(n){var t=r[n.which||n.keyCode];this._managePreventDefault(t,n);t&&this._shouldTrigger(t,n)&&this.trigger(t+"Keyed",n)},_onInput:function(){this._checkInputValue()},_managePreventDefault:function(n,t){var i,r,f;switch(n){case"tab":r=this.getHintValue();f=this.getInputValue();i=r&&r!==f&&!u(t);break;case"up":case"down":i=!u(t);break;default:i=!1}i&&t.preventDefault()},_shouldTrigger:function(n,t){var i;switch(n){case"tab":i=!u(t);break;default:i=!0}return i},_checkInputValue:function(){var n,t,i;n=this.getInputValue();t=o(n,this.query);i=t?this.query.length!==n.length:!1;t?i&&this.trigger("whitespaceChanged",this.query):this.trigger("queryChanged",this.query=n)},focus:function(){this.$input.focus()},blur:function(){this.$input.blur()},getQuery:function(){return this.query},setQuery:function(n){this.query=n},getInputValue:function(){return this.$input.val()},setInputValue:function(n,t){this.$input.val(n);t||this._checkInputValue()},getHintValue:function(){return this.$hint.val()},setHintValue:function(n){this.$hint.val(n)},resetInputValue:function(){this.$input.val(this.query)},clearHint:function(){this.$hint.val("")},getLanguageDirection:function(){return(this.$input.css("direction")||"ltr").toLowerCase()},hasOverflow:function(){var n=this.$input.width()-2;return this.$overflowHelper.text(this.getInputValue()),this.$overflowHelper.width()>=n},isCursorAtEnd:function(){var n,i,r;return(n=this.$input.val().length,i=this.$input[0].selectionStart,t.isNumber(i))?i===n:document.selection?(r=document.selection.createRange(),r.moveStart("character",-n),n===r.text.length):!0},destroy:function(){this.$hint.off(".tt");this.$input.off(".tt");this.$hint=this.$input=this.$overflowHelper=null}}),i}(),u=function(){function u(i){i=i||{};i.templates=i.templates||{};i.source||n.error("missing source");i.name&&!l(i.name)&&n.error("invalid dataset name: "+i.name);this.query=null;this.highlight=!!i.highlight;this.name=i.name||t.getUniqueId();this.source=i.source;this.displayFn=h(i.display||i.displayKey);this.templates=c(i.templates,this.displayFn);this.$el=n(r.dataset.replace("%CLASS%",this.name))}function h(n){function i(t){return t[n]}return n=n||"value",t.isFunction(n)?n:i}function c(n,i){function r(n){return"<p>"+i(n)+"<\/p>"}return{empty:n.empty&&t.templatify(n.empty),header:n.header&&t.templatify(n.header),footer:n.footer&&t.templatify(n.footer),suggestion:n.suggestion||r}}function l(n){return/^[_a-zA-Z0-9-]+$/.test(n)}var f="ttDataset",o="ttValue",s="ttDatum";return u.extractDatasetName=function(t){return n(t).data(f)},u.extractValue=function(t){return n(t).data(o)},u.extractDatum=function(t){return n(t).data(s)},t.mixin(u.prototype,e,{_render:function(u,e){function v(){return h.templates.empty({query:u,isEmpty:!0})}function p(){function a(t){var u,e,c;return e=h.templates.suggestion(t),c=r.suggestion.replace("%BODY%",e),u=n(c).data(f,h.name).data(o,h.displayFn(t)).data(s,t),u.children().each(function(){n(this).css(i.suggestionChild)}),u}var c,l;return c=n(r.suggestions).css(i.suggestions),l=t.map(e,a),c.append.apply(c,l),h.highlight&&y({node:c[0],pattern:u}),c}function l(){return h.templates.header({query:u,isEmpty:!c})}function a(){return h.templates.footer({query:u,isEmpty:!c})}if(this.$el){var h=this,c;this.$el.empty();c=e&&e.length;!c&&this.templates.empty?this.$el.html(v()).prepend(h.templates.header?l():null).append(h.templates.footer?a():null):c&&this.$el.html(p()).prepend(h.templates.header?l():null).append(h.templates.footer?a():null);this.trigger("rendered")}},getRoot:function(){return this.$el},update:function(n){function i(i){n===t.query&&t._render(n,i)}var t=this;this.query=n;this.source(n,i)},clear:function(){this._render(this.query||"")},isEmpty:function(){return this.$el.is(":empty")},destroy:function(){this.$el=null}}),u}(),p=function(){function r(i){var r=this,u,e,o;i=i||{};i.menu||n.error("menu is required");this.isOpen=!1;this.isEmpty=!0;this.datasets=t.map(i.datasets,f);u=t.bind(this._onSuggestionClick,this);e=t.bind(this._onSuggestionMouseEnter,this);o=t.bind(this._onSuggestionMouseLeave,this);this.$menu=n(i.menu).on("click.tt",".tt-suggestion",u).on("mouseenter.tt",".tt-suggestion",e).on("mouseleave.tt",".tt-suggestion",o);t.each(this.datasets,function(n){r.$menu.append(n.getRoot());n.onSync("rendered",r._onRendered,r)})}function f(n){return new u(n)}return t.mixin(r.prototype,e,{_onSuggestionClick:function(t){this.trigger("suggestionClicked",n(t.currentTarget))},_onSuggestionMouseEnter:function(t){this._removeCursor();this._setCursor(n(t.currentTarget),!0)},_onSuggestionMouseLeave:function(){this._removeCursor()},_onRendered:function(){function n(n){return n.isEmpty()}this.isEmpty=t.every(this.datasets,n);this.isEmpty?this._hide():this.isOpen&&this._show();this.trigger("datasetRendered")},_hide:function(){this.$menu.hide()},_show:function(){this.$menu.css("display","block")},_getSuggestions:function(){return this.$menu.find(".tt-suggestion")},_getCursor:function(){return this.$menu.find(".tt-cursor").first()},_setCursor:function(n,t){n.first().addClass("tt-cursor");t||this.trigger("cursorMoved")},_removeCursor:function(){this._getCursor().removeClass("tt-cursor")},_moveCursor:function(n){var i,r,t,u;if(this.isOpen){if(r=this._getCursor(),i=this._getSuggestions(),this._removeCursor(),t=i.index(r)+n,t=(t+1)%(i.length+1)-1,t===-1){this.trigger("cursorRemoved");return}t<-1&&(t=i.length-1);this._setCursor(u=i.eq(t));this._ensureVisible(u)}},_ensureVisible:function(n){var t,i,r,u;t=n.position().top;i=t+n.outerHeight(!0);r=this.$menu.scrollTop();u=this.$menu.height()+parseInt(this.$menu.css("paddingTop"),10)+parseInt(this.$menu.css("paddingBottom"),10);t<0?this.$menu.scrollTop(r+t):u<i&&this.$menu.scrollTop(r+(i-u))},close:function(){this.isOpen&&(this.isOpen=!1,this._removeCursor(),this._hide(),this.trigger("closed"))},open:function(){this.isOpen||(this.isOpen=!0,this.isEmpty||this._show(),this.trigger("opened"))},setLanguageDirection:function(n){this.$menu.css(n==="ltr"?i.ltr:i.rtl)},moveCursorUp:function(){this._moveCursor(-1)},moveCursorDown:function(){this._moveCursor(1)},getDatumForSuggestion:function(n){var t=null;return n.length&&(t={raw:u.extractDatum(n),value:u.extractValue(n),datasetName:u.extractDatasetName(n)}),t},getDatumForCursor:function(){return this.getDatumForSuggestion(this._getCursor().first())},getDatumForTopSuggestion:function(){return this.getDatumForSuggestion(this._getSuggestions().first())},update:function(n){function i(t){t.update(n)}t.each(this.datasets,i)},empty:function(){function n(n){n.clear()}t.each(this.datasets,n);this.isEmpty=!0},isVisible:function(){return this.isOpen&&!this.isEmpty},destroy:function(){function n(n){n.destroy()}this.$menu.off(".tt");this.$menu=null;t.each(this.datasets,n)}}),r}(),w=function(){function f(i){var u,r,f;i=i||{};i.input||n.error("missing input");this.autoselect=!!i.autoselect;this.minLength=t.isNumber(i.minLength)?i.minLength:1;this.$node=e(i.input,i.withHint);u=this.$node.find(".tt-dropdown-menu");r=this.$node.find(".tt-input");f=this.$node.find(".tt-hint");this.eventBus=i.eventBus||new s({el:r});this.dropdown=new p({menu:u,datasets:i.datasets}).onSync("suggestionClicked",this._onSuggestionClicked,this).onSync("cursorMoved",this._onCursorMoved,this).onSync("cursorRemoved",this._onCursorRemoved,this).onSync("opened",this._onOpened,this).onSync("closed",this._onClosed,this).onAsync("datasetRendered",this._onDatasetRendered,this);this.input=new h({input:r,hint:f}).onSync("focused",this._onFocused,this).onSync("blurred",this._onBlurred,this).onSync("enterKeyed",this._onEnterKeyed,this).onSync("tabKeyed",this._onTabKeyed,this).onSync("escKeyed",this._onEscKeyed,this).onSync("upKeyed",this._onUpKeyed,this).onSync("downKeyed",this._onDownKeyed,this).onSync("leftKeyed",this._onLeftKeyed,this).onSync("rightKeyed",this._onRightKeyed,this).onSync("queryChanged",this._onQueryChanged,this).onSync("whitespaceChanged",this._onWhitespaceChanged,this);u.on("mousedown.tt",function(n){t.isMsie()&&t.isMsie()<9&&(r[0].onbeforedeactivate=function(){window.event.returnValue=!1;r[0].onbeforedeactivate=null});n.preventDefault()})}function e(t,f){var e,h,c,s;e=n(t);h=n(r.wrapper).css(i.wrapper);c=n(r.dropdown).css(i.dropdown);s=e.clone().css(i.hint).css(o(e));s.val("").removeData().addClass("tt-hint").removeAttr("id name placeholder").prop("disabled",!0).attr({autocomplete:"off",spellcheck:"false"});e.data(u,{dir:e.attr("dir"),autocomplete:e.attr("autocomplete"),spellcheck:e.attr("spellcheck"),style:e.attr("style")});e.addClass("tt-input").attr({autocomplete:"off",spellcheck:!1}).css(f?i.input:i.inputWithNoHint);try{e.attr("dir")||e.attr("dir","auto")}catch(l){}return e.wrap(h).parent().prepend(f?s:null).append(c)}function o(n){return{backgroundAttachment:n.css("background-attachment"),backgroundClip:n.css("background-clip"),backgroundColor:n.css("background-color"),backgroundImage:n.css("background-image"),backgroundOrigin:n.css("background-origin"),backgroundPosition:n.css("background-position"),backgroundRepeat:n.css("background-repeat"),backgroundSize:n.css("background-size")}}function c(n){var i=n.find(".tt-input");t.each(i.data(u),function(n,r){t.isUndefined(n)?i.removeAttr(r):i.attr(r,n)});i.detach().removeData(u).removeClass("tt-input").insertAfter(n);n.remove()}var u="ttAttrs";return t.mixin(f.prototype,{_onSuggestionClicked:function(n,t){var i;(i=this.dropdown.getDatumForSuggestion(t))&&this._select(i)},_onCursorMoved:function(){var n=this.dropdown.getDatumForCursor();this.input.clearHint();this.input.setInputValue(n.value,!0);this.eventBus.trigger("cursorchanged",n.raw,n.datasetName)},_onCursorRemoved:function(){this.input.resetInputValue();this._updateHint()},_onDatasetRendered:function(){this._updateHint()},_onOpened:function(){this._updateHint();this.eventBus.trigger("opened")},_onClosed:function(){this.input.clearHint();this.eventBus.trigger("closed")},_onFocused:function(){this.dropdown.empty();this.dropdown.open()},_onBlurred:function(){this.dropdown.close()},_onEnterKeyed:function(n,t){var i,r;i=this.dropdown.getDatumForCursor();r=this.dropdown.getDatumForTopSuggestion();i?(this._select(i),t.preventDefault()):this.autoselect&&r&&(this._select(r),t.preventDefault())},_onTabKeyed:function(n,t){var i;(i=this.dropdown.getDatumForCursor())?(this._select(i),t.preventDefault()):this._autocomplete()},_onEscKeyed:function(){this.dropdown.close();this.input.resetInputValue()},_onUpKeyed:function(){var n=this.input.getQuery();!this.dropdown.isOpen&&n.length>=this.minLength&&this.dropdown.update(n);this.dropdown.open();this.dropdown.moveCursorUp()},_onDownKeyed:function(){var n=this.input.getQuery();!this.dropdown.isOpen&&n.length>=this.minLength&&this.dropdown.update(n);this.dropdown.open();this.dropdown.moveCursorDown()},_onLeftKeyed:function(){this.dir==="rtl"&&this._autocomplete()},_onRightKeyed:function(){this.dir==="ltr"&&this._autocomplete()},_onQueryChanged:function(n,t){this.input.clearHint();this.dropdown.empty();t.length>=this.minLength&&this.dropdown.update(t);this.dropdown.open();this._setLanguageDirection()},_onWhitespaceChanged:function(){this._updateHint();this.dropdown.open()},_setLanguageDirection:function(){var n;this.dir!==(n=this.input.getLanguageDirection())&&(this.dir=n,this.$node.css("direction",n),this.dropdown.setLanguageDirection(n))},_updateHint:function(){var n,i,u,f,e,r;n=this.dropdown.getDatumForTopSuggestion();n&&this.dropdown.isVisible()&&!this.input.hasOverflow()&&(i=this.input.getInputValue(),u=h.normalizeQuery(i),f=t.escapeRegExChars(u),e=new RegExp("^(?:"+f+")(.*$)","i"),r=e.exec(n.value),this.input.setHintValue(i+(r?r[1]:"")))},_autocomplete:function(){var t,i,n;t=this.input.getHintValue();i=this.input.getQuery();t&&i!==t&&this.input.isCursorAtEnd()&&(n=this.dropdown.getDatumForTopSuggestion(),n&&this.input.setInputValue(n.value),this.eventBus.trigger("autocompleted",n.raw,n.datasetName))},_select:function(n){this.input.clearHint();this.input.setQuery(n.value);this.input.setInputValue(n.value,!0);this._setLanguageDirection();this.eventBus.trigger("selected",n.raw,n.datasetName);this.dropdown.close();t.defer(t.bind(this.dropdown.empty,this.dropdown))},open:function(){this.dropdown.open()},close:function(){this.dropdown.close()},getQuery:function(){return this.input.getQuery()},setQuery:function(n){this.input.setInputValue(n)},destroy:function(){this.input.destroy();this.dropdown.destroy();c(this.$node);this.$node=null}}),f}();(function(){var u,i,r;u=n.fn.typeahead;i="ttTypeahead";r={initialize:function(r,u){function f(){var f=n(this),o,e;t.each(u,function(n){n.highlight=!!r.highlight});e=new w({input:f,eventBus:o=new s({el:f}),withHint:t.isUndefined(r.hint)?!0:!!r.hint,minLength:r.minLength,autoselect:r.autoselect,datasets:u});f.data(i,e)}return u=t.isArray(u)?u:[].slice.call(arguments,1),r=r||{},this.each(f)},open:function(){function t(){var r=n(this),t;(t=r.data(i))&&t.open()}return this.each(t)},close:function(){function t(){var r=n(this),t;(t=r.data(i))&&t.close()}return this.each(t)},val:function(t){function r(){var u=n(this),r;(r=u.data(i))&&r.setQuery(t)}function u(n){var t,r;return(t=n.data(i))&&(r=t.getQuery()),r}return arguments.length?this.each(r):u(this.first())},destroy:function(){function t(){var t=n(this),r;(r=t.data(i))&&(r.destroy(),t.removeData(i))}return this.each(t)}};n.fn.typeahead=function(n){return r[n]?r[n].apply(this,[].slice.call(arguments,1)):r.initialize.apply(this,arguments)};n.fn.typeahead.noConflict=function(){return n.fn.typeahead=u,this}})()})(window.jQuery);
/*!
 * imagesLoaded PACKAGED v3.1.8
 * JavaScript is all like "You images are done yet or what?"
 * MIT License
 */
(function(){function t(){}function r(n,t){for(var i=n.length;i--;)if(n[i].listener===t)return i;return-1}function i(n){return function(){return this[n].apply(this,arguments)}}var n=t.prototype,u=this,f=u.EventEmitter;n.getListeners=function(n){var r,t,i=this._getEvents();if("object"==typeof n){r={};for(t in i)i.hasOwnProperty(t)&&n.test(t)&&(r[t]=i[t])}else r=i[n]||(i[n]=[]);return r};n.flattenListeners=function(n){for(var i=[],t=0;n.length>t;t+=1)i.push(n[t].listener);return i};n.getListenersAsObject=function(n){var t,i=this.getListeners(n);return i instanceof Array&&(t={},t[n]=i),t||i};n.addListener=function(n,t){var i,u=this.getListenersAsObject(n),f="object"==typeof t;for(i in u)u.hasOwnProperty(i)&&-1===r(u[i],t)&&u[i].push(f?t:{listener:t,once:!1});return this};n.on=i("addListener");n.addOnceListener=function(n,t){return this.addListener(n,{listener:t,once:!0})};n.once=i("addOnceListener");n.defineEvent=function(n){return this.getListeners(n),this};n.defineEvents=function(n){for(var t=0;n.length>t;t+=1)this.defineEvent(n[t]);return this};n.removeListener=function(n,t){var f,i,u=this.getListenersAsObject(n);for(i in u)u.hasOwnProperty(i)&&(f=r(u[i],t),-1!==f&&u[i].splice(f,1));return this};n.off=i("removeListener");n.addListeners=function(n,t){return this.manipulateListeners(!1,n,t)};n.removeListeners=function(n,t){return this.manipulateListeners(!0,n,t)};n.manipulateListeners=function(n,t,i){var r,u,f=n?this.removeListener:this.addListener,e=n?this.removeListeners:this.addListeners;if("object"!=typeof t||t instanceof RegExp)for(r=i.length;r--;)f.call(this,t,i[r]);else for(r in t)t.hasOwnProperty(r)&&(u=t[r])&&("function"==typeof u?f.call(this,r,u):e.call(this,r,u));return this};n.removeEvent=function(n){var t,r=typeof n,i=this._getEvents();if("string"===r)delete i[n];else if("object"===r)for(t in i)i.hasOwnProperty(t)&&n.test(t)&&delete i[t];else delete this._events;return this};n.removeAllListeners=i("removeEvent");n.emitEvent=function(n,t){var i,f,r,e,u=this.getListenersAsObject(n);for(r in u)if(u.hasOwnProperty(r))for(f=u[r].length;f--;)i=u[r][f],i.once===!0&&this.removeListener(n,i.listener),e=i.listener.apply(this,t||[]),e===this._getOnceReturnValue()&&this.removeListener(n,i.listener);return this};n.trigger=i("emitEvent");n.emit=function(n){var t=Array.prototype.slice.call(arguments,1);return this.emitEvent(n,t)};n.setOnceReturnValue=function(n){return this._onceReturnValue=n,this};n._getOnceReturnValue=function(){return this.hasOwnProperty("_onceReturnValue")?this._onceReturnValue:!0};n._getEvents=function(){return this._events||(this._events={})};t.noConflict=function(){return u.EventEmitter=f,t};"function"==typeof define&&define.amd?define("eventEmitter/EventEmitter",[],function(){return t}):"object"==typeof module&&module.exports?module.exports=t:this.EventEmitter=t}).call(this),function(n){function f(t){var i=n.event;return i.target=i.target||i.srcElement||t,i}var t=document.documentElement,r=function(){},i,u;t.addEventListener?r=function(n,t,i){n.addEventListener(t,i,!1)}:t.attachEvent&&(r=function(n,t,i){n[t+i]=i.handleEvent?function(){var t=f(n);i.handleEvent.call(i,t)}:function(){var t=f(n);i.call(n,t)};n.attachEvent("on"+t,n[t+i])});i=function(){};t.removeEventListener?i=function(n,t,i){n.removeEventListener(t,i,!1)}:t.detachEvent&&(i=function(n,t,i){n.detachEvent("on"+t,n[t+i]);try{delete n[t+i]}catch(r){n[t+i]=void 0}});u={bind:r,unbind:i};"function"==typeof define&&define.amd?define("eventie/eventie",u):n.eventie=u}(this),function(n,t){"function"==typeof define&&define.amd?define(["eventEmitter/EventEmitter","eventie/eventie"],function(i,r){return t(n,i,r)}):"object"==typeof exports?module.exports=t(n,require("wolfy87-eventemitter"),require("eventie")):n.imagesLoaded=t(n,n.EventEmitter,n.eventie)}(window,function(n,t,i){function s(n,t){for(var i in t)n[i]=t[i];return n}function c(n){return"[object Array]"===v.call(n)}function l(n){var t=[],i,r;if(c(n))t=n;else if("number"==typeof n.length)for(i=0,r=n.length;r>i;i++)t.push(n[i]);else t.push(n);return t}function r(n,t,i){if(!(this instanceof r))return new r(n,t);"string"==typeof n&&(n=document.querySelectorAll(n));this.elements=l(n);this.options=s({},this.options);"function"==typeof t?i=t:s(this.options,t);i&&this.on("always",i);this.getImages();f&&(this.jqDeferred=new f.Deferred);var u=this;setTimeout(function(){u.check()})}function e(n){this.img=n}function u(n){this.src=n;o[n]=this}var f=n.jQuery,h=n.console,a=h!==void 0,v=Object.prototype.toString,o;return r.prototype=new t,r.prototype.options={},r.prototype.getImages=function(){var i,u,n,t,e;for(this.images=[],i=0,u=this.elements.length;u>i;i++)if(n=this.elements[i],"IMG"===n.nodeName&&this.addImage(n),t=n.nodeType,t&&(1===t||9===t||11===t))for(var f=n.querySelectorAll("img"),r=0,o=f.length;o>r;r++)e=f[r],this.addImage(e)},r.prototype.addImage=function(n){var t=new e(n);this.images.push(t)},r.prototype.check=function(){function f(n,r){return t.options.debug&&a&&h.log("confirm",n,r),t.progress(n),u++,u===i&&t.complete(),!0}var t=this,u=0,i=this.images.length,n,r;if(this.hasAnyBroken=!1,!i)return this.complete(),void 0;for(n=0;i>n;n++)r=this.images[n],r.on("confirm",f),r.check()},r.prototype.progress=function(n){this.hasAnyBroken=this.hasAnyBroken||!n.isLoaded;var t=this;setTimeout(function(){t.emit("progress",t,n);t.jqDeferred&&t.jqDeferred.notify&&t.jqDeferred.notify(t,n)})},r.prototype.complete=function(){var t=this.hasAnyBroken?"fail":"done",n;this.isComplete=!0;n=this;setTimeout(function(){if(n.emit(t,n),n.emit("always",n),n.jqDeferred){var i=n.hasAnyBroken?"reject":"resolve";n.jqDeferred[i](n)}})},f&&(f.fn.imagesLoaded=function(n,t){var i=new r(this,n,t);return i.jqDeferred.promise(f(this))}),e.prototype=new t,e.prototype.check=function(){var n=o[this.img.src]||new u(this.img.src),t;if(n.isConfirmed)return this.confirm(n.isLoaded,"cached was confirmed"),void 0;if(this.img.complete&&void 0!==this.img.naturalWidth)return this.confirm(0!==this.img.naturalWidth,"naturalWidth"),void 0;t=this;n.on("confirm",function(n,i){return t.confirm(n.isLoaded,i),!0});n.check()},e.prototype.confirm=function(n,t){this.isLoaded=n;this.emit("confirm",this,t)},o={},u.prototype=new t,u.prototype.check=function(){if(!this.isChecked){var n=new Image;i.bind(n,"load",this);i.bind(n,"error",this);n.src=this.src;this.isChecked=!0}},u.prototype.handleEvent=function(n){var t="on"+n.type;this[t]&&this[t](n)},u.prototype.onload=function(n){this.confirm(!0,"onload");this.unbindProxyEvents(n)},u.prototype.onerror=function(n){this.confirm(!1,"onerror");this.unbindProxyEvents(n)},u.prototype.confirm=function(n,t){this.isConfirmed=!0;this.isLoaded=n;this.emit("confirm",this,t)},u.prototype.unbindProxyEvents=function(n){i.unbind(n.target,"load",this);i.unbind(n.target,"error",this)},r});updatingPreview=!1;setupSelectedChildrenInfo=function(){if($("section.selected_children").length!=0){var n=null;$("div.sponsor_page_content section.selected_children > ul > li").off("click tap").on("click tap",function(t){if($(t.target).hasClass("remove_child"))return!0;n&&n.stop(!0,!0);$("div.sponsor_page_content section.selected_children .detail").hide();n=$(".detail",$(this));n.show();$(document).on("click tap",function(){n&&n.hide()});n.on("click tap",function(n){n.stopPropagation()});return!1});$("div.sponsor_page_content section.selected_children > ul > li, div.sponsor_page_content section.selected_children .detail").off("mouseleave").on("mouseleave",function(){n&&n.delay(1e3).slideUp("fast",function(){n=null})});$("div.sponsor_page_content section.selected_children > ul > li").off("mouseover").on("mouseover",function(){n&&(n.stop(!0,!0),n.show())});$("div.sponsor_page_content section.selected_children a[id*='SponsorAnotherChildBtn']").on("click",function(){})}};countryLocations=[];prm=Sys.WebForms.PageRequestManager.getInstance();prm.add_beginRequest(function(){prm._scrollPosition=null});prm.add_pageLoaded(function(){$(document).ready(function(){setupSponsorshipDatePicker();setupSponsorshipAddressLookup();setupChurchLookup();setupOptionRadioFields();setupAutoTaxReceipt();setupFindChildrenForm();setupOtherScreens()})});$(document).ready(function(){var n=function(){var u=$("div.sponsorship_options_content"),t,i,n,r;if(u.length>0){$("div.supporting_sponsorship_info").hide();$("header.main div.banner_photo").addClass("minimised");$("html, body").animate({scrollTop:$("div#child_sponsorship_process").offset().top-40},200);return}if(t=$("div.personal_details_content"),t.length>0){$("div.supporting_sponsorship_info").hide();$("header.main div.banner_photo").addClass("minimised");$("html, body").animate({scrollTop:$("div#child_sponsorship_process").offset().top-40},200);return}if(i=$("div.sponsorship_payment_summary_content"),i.length>0){$("div.supporting_sponsorship_info").hide();$("header.main div.banner_photo").addClass("minimised");$("html, body").animate({scrollTop:$("div#child_sponsorship_process").offset().top-40},200);return}if(n=$("div.thankyou"),n.length>0){$("div.supporting_sponsorship_info").hide();$("header.main div.page_intro").hide();$("header.main div.banner_photo").addClass("minimised");$("header.main div.banner_photo").addClass("minimised");$("header.main div.banner_photo").length>0&&n.data("header-bg")!=null&&n.data("header-bg")!=""&&$("header.main div.banner_photo").css({"background-image":"url("+n.data("header-bg")+")"});return}if(r=$("div.inprogress_payment"),r.length>0){$("div.supporting_sponsorship_info").hide();$("header.main div.page_intro").hide();$("header.main div.banner_photo").addClass("minimised");$("html, body").animate({scrollTop:$("div#child_sponsorship_process").offset().top-40},200);return}},t=function(){var i=$("ul.error_list"),n,t;if(i.length>0){$("html, body").animate({scrollTop:i.offset().top-20},200);n=$("fieldset.tearfund_web input.has_error, fieldset.tearfund_web select.has_error").first();n!=null&&n.focus();return}if(t=$("div#child_sponsorship_process > p.error_message"),t.length>0){$("html, body").animate({scrollTop:t.offset().top-20},200);return}};imagesLoaded("header.main",function(){n();t()})})