function sendAnalyticsData(n,t,i,r){var f,e,u;if(typeof __analyticsSuppress!="undefined"&&__analyticsSuppress==!0){__analyticsSuppress=!1;return}if(window._gat&&window._gat._getTracker){setTimeout(sendAnalyticsData(n,t,i,r),1e3);return}f=null;typeof __pageGenerationTime!="undefined"&&(f=__pageGenerationTime);e=null;typeof __loginType!="undefined"&&(e=__loginType);typeof i=="object"&&(r=i,i=window.location.pathname+window.location.search);i[0]!="/"&&(i="/"+i);u={hitType:"pageview",title:document.title.replace(" -","")};i!=null&&(u.page=i);r.clientIp&&(u.dimension1=r.clientIp);e!=null&&(u.dimension2=e);r.election&&(u.dimension3=r.election);r.parish&&(u.dimension4=r.parish);f!=null&&(u.metric1=f);ga("create",n,{cookieDomain:t});ga("send",u)}(function(n,t,i,r,u,f,e){n.GoogleAnalyticsObject=u;n[u]=n[u]||function(){(n[u].q=n[u].q||[]).push(arguments)};n[u].l=1*new Date;f=t.createElement(i);e=t.getElementsByTagName(i)[0];f.async=1;f.src=r;e.parentNode.insertBefore(f,e)})(window,document,"script","//www.google-analytics.com/analytics.js","ga"),function(){"use strict";angular.module("filters",[]).filter("percent",function(){return function(n,t){var r,u,f,i;for((!n||n===Infinity||isNaN(n))&&(n=0),(!t||n===t||isNaN(t))&&(t=0),r=n*100,u=1,f=0;f<t;f++)u=u*10;return r=r*u,i=Math.round(r),i==0&&n!=0&&(i=Math.ceil(r)),i/u==100&&n!=1&&(i=Math.floor(r)),i=i/u,t>0&&(i=i.toFixed(t)),i+"%"}}).filter("commas",["$sce",function(n){return function(t){for(var f=(t||"0")+"",r=f.split("."),i=r[0],e=r.length>1?"."+r[1]:"",u=/(\d+)(\d{3})/;u.test(i);)i=i.replace(u,'$1<span class="hidden-trans">,<\/span>$2');return n.trustAsHtml(i+e)}}]).filter("asHtml",["$sce",function(n){return function(t){return n.trustAsHtml(t)}}])}(),function(){"use strict";angular.module("electionResultsServices",[]);angular.module("electionResultsApp",["ui.router","filters","electionResultsServices","staticViewDataFetcher","staticViewDataProcessor","staticViewModelBuilder","staticGoogleAnalytics","staticPageController","staticViewControllers"])}(),function(){"use strict";angular.module("electionResultsServices").factory("electionHttpResponseInterceptor",["$q","$location","processor","util",function(n,t,i,r){return{response:function(n){var t=n.config.url,u=t.match(/([a-z_]*?)\./i),o=u!==null&&u.length>0,f,e;if(!o)return n;f=u[1];switch(f){case"Configuration":n.data=i.processConfig(n.data);break;case"ElectionDates":n.data=i.processElectionList(n.data);break;case"CurrentVersion":n.data=r.isDefined(n.data.Current)&&r.isDefined(n.data.Current.VersionDateTime)?r.toDate(n.data.Current.VersionDateTime):null;break;case"RacesCandidates_Multiparish":n.data=i.processMultiparish(n.data);break;case"Votes_Multiparish":n.data=n.data.Races;break;case"ParishesInElection":n.data=i.processParishesInElection(n.data);break;case"StatsCategories":n.data=i.processStatsCategories(n.data);break;case"ElectionRaces":n.data=i.processElectionRaces(n.data);break;case"StatsStatewide":e=n.data.Stats;e.Option="Louisiana";n.data=[n.data.Stats];break;case"StatsParish":case"StatsCongressional":case"StatsSenate":case"StatsHouse":n.data=r.ensureArray(n.data.Stats.Parish)}return t.indexOf("RacesCandidates/ByParish_")!==-1?n.data=i.processMultiparish(n.data):t.indexOf("VotesParish/Votes_")!==-1?n.data=n.data.Races:t.indexOf("VotesEarly/Votes_")!==-1?n.data=n.data.EarlyVoting:t.indexOf("StatsRaceParish/Stats_")!==-1?n.data=r.ensureArray(n.data.Stats.Precinct):t.indexOf("VotesRaceByParish/Votes_")!==-1?n.data=n.data.Parishes:t.indexOf("VotesRaceByPrecinct/Votes_")!==-1&&(n.data=n.data.Precincts),n}}}])}(),function(){"use strict";function n(n){function t(t){var i,r,u;if(!t)return n.reject("handleServerError: received no response info.");i="Server error";r=!1;t.status&&(i+=" "+t.status,t.status===-1&&(r=!0));t.statusText&&(i+=" "+t.statusText);t.config&&(i+=" accessing "+t.config.url);u=new Error(i);u.networkError=r;throw u;}return{responseError:t}}angular.module("electionResultsServices").factory("serverError",n);n.$inject=["$q"]}(),function(){"use strict";function n(n,t,i){i.html5Mode(!0);t.otherwise("/");n.state("electionList",{url:"/",templateUrl:"/Areas/ElectionResults/Scripts/StaticViews/electionList.html",controller:"electionListController"}).state("electionHome",{url:"/{electionDate}",templateUrl:"/Areas/ElectionResults/Scripts/StaticViews/electionHome.html",controller:"electionHomeController"}).state("parishList",{url:"/{electionDate}/parishes",templateUrl:"/Areas/ElectionResults/Scripts/StaticViews/parishList.html",controller:"parishListController"}).state("resultsByRace",{url:"/{electionDate}/resultsRace/{raceCategory}",templateUrl:"/Areas/ElectionResults/Scripts/StaticViews/resultsByRace.html",controller:"resultsByRaceController"}).state("resultsByRegionParish",{url:"/{electionDate}/resultsRegion/{raceId}",templateUrl:"/Areas/ElectionResults/Scripts/StaticViews/resultsByRegion.html",controller:"resultsByRegionController"}).state("resultsByRegionPrecinct",{url:"/{electionDate}/resultsRegion/{raceId}/{parishId}",templateUrl:"/Areas/ElectionResults/Scripts/StaticViews/resultsByRegion.html",controller:"resultsByRegionController"})}angular.module("electionResultsApp").config(["$stateProvider","$urlRouterProvider","$locationProvider",n])}(),function(){"use strict";function n(n){n.interceptors.push("serverError");n.interceptors.push("electionHttpResponseInterceptor")}angular.module("electionResultsApp").config(["$httpProvider",n])}(),function(){"use strict";angular.module("electionResultsApp").constant("constants",{category:{PRESIDENTIAL:"Presidential",CONGRESSIONAL:"Congressional",STATEWIDE:"Statewide",LEGISLATIVE:"Legislative",MULTIPARISH:"Multiparish"},mapTypes:{STATE:"stateFeatures",PARISH:"parishFeatures",FEDERALHOUSE:"federalHouseFeatures",STATEHOUSE:"stateHouseFeatures",STATESENATE:"stateSenateFeatures"},mapStyleTypes:{ACTIVEELECTION:"activeElection",STATISTICS:"statistics"},outcomeStyles:{Elected:{color:"#070",icon:"glyphicon glyphicon-ok-sign"},Defeated:{color:"#F00",icon:"glyphicon glyphicon-remove-sign"},Runoff:{color:"#00B",icon:"glyphicon glyphicon-circle-arrow-right"},Approved:{color:"#070",icon:"glyphicon glyphicon-ok-sign"}},outcomeIcons:{Elected:"glyphicon glyphicon-ok-sign",Defeated:"glyphicon glyphicon-remove-sign",Runoff:"glyphicon glyphicon-circle-arrow-right",Approved:"glyphicon glyphicon-ok-sign"},parishList:[{id:"01",name:"Acadia"},{id:"02",name:"Allen"},{id:"03",name:"Ascension"},{id:"04",name:"Assumption"},{id:"05",name:"Avoyelles"},{id:"06",name:"Beauregard"},{id:"07",name:"Bienville"},{id:"08",name:"Bossier"},{id:"09",name:"Caddo"},{id:"10",name:"Calcasieu"},{id:"11",name:"Caldwell"},{id:"12",name:"Cameron"},{id:"13",name:"Catahoula"},{id:"14",name:"Claiborne"},{id:"15",name:"Concordia"},{id:"16",name:"De Soto"},{id:"17",name:"East Baton Rouge"},{id:"18",name:"East Carroll"},{id:"19",name:"East Feliciana"},{id:"20",name:"Evangeline"},{id:"21",name:"Franklin"},{id:"22",name:"Grant"},{id:"23",name:"Iberia"},{id:"24",name:"Iberville"},{id:"25",name:"Jackson"},{id:"26",name:"Jefferson"},{id:"27",name:"Jefferson Davis"},{id:"28",name:"Lafayette"},{id:"29",name:"Lafourche"},{id:"30",name:"Lasalle"},{id:"31",name:"Lincoln"},{id:"32",name:"Livingston"},{id:"33",name:"Madison"},{id:"34",name:"Morehouse"},{id:"35",name:"Natchitoches"},{id:"36",name:"Orleans"},{id:"37",name:"Ouachita"},{id:"38",name:"Plaquemines"},{id:"39",name:"Pointe Coupee"},{id:"40",name:"Rapides"},{id:"41",name:"Red River"},{id:"42",name:"Richland"},{id:"43",name:"Sabine"},{id:"44",name:"St. Bernard"},{id:"45",name:"St. Charles"},{id:"46",name:"St. Helena"},{id:"47",name:"St. James"},{id:"48",name:"St. John The Baptist"},{id:"49",name:"St. Landry"},{id:"50",name:"St. Martin"},{id:"51",name:"St. Mary"},{id:"52",name:"St. Tammany"},{id:"53",name:"Tangipahoa"},{id:"54",name:"Tensas"},{id:"55",name:"Terrebonne"},{id:"56",name:"Union"},{id:"57",name:"Vermilion"},{id:"58",name:"Vernon"},{id:"59",name:"Washington"},{id:"60",name:"Webster"},{id:"61",name:"West Baton Rouge"},{id:"62",name:"West Carroll"},{id:"63",name:"West Feliciana"},{id:"64",name:"Winn"}]})}(),function(){"use strict";angular.module("electionResultsServices").factory("util",["constants","$filter",function(n,t){var i={election:"None",tab:"None",dialog:"None",parish:"None",statFilter:"None",precinct:"None",statTabCategory:"None",statTabCategoryOption:"None"};return{isNullOrWhiteSpace:function(n){return n===null||typeof n=="undefined"||n.match(/^ *$/)!==null},isDefined:function(n){return typeof n!="undefined"&&n!=null},isTrue:function(n){return n==="1"||n===1||n===!0||n==="True"||n==="true"},ensureArray:function(n){return typeof n=="undefined"||n==null?null:angular.isArray(n)?n:[n]},prefixWithDateFolder:function(n,i){return t("date")(n,"yyyyMMdd")+"/"+i},showWait:function(){$(".wait-container").show()},hideWait:function(){$(".wait-container").hide()},getParishName:function(t){return $.grep(n.parishList,function(n){return n.id===t})[0].name},getParishValue:function(t){return $.grep(n.parishList,function(n){return n.name.toLowerCase()===t.toLowerCase()})[0].id},hexToDecimal:function(n){var t,i,r,u,f;return n=n.replace("#",""),u=/([0-9A-F][0-9A-F])([0-9A-F][0-9A-F])([0-9A-F]?[0-9A-F]?)/i,f=/([0-9A-F])([0-9A-F]?)([0-9A-F]?)/i,u.exec(n)?(t=parseInt((RegExp.$1+"00").substr(0,2),16),i=parseInt((RegExp.$2+"00").substr(0,2),16),r=parseInt((RegExp.$3+"00").substr(0,2),16)):f.exec(n)&&(t=parseInt("0"+RegExp.$1+RegExp.$1,16),i=parseInt("0"+RegExp.$2+RegExp.$2,16),r=parseInt("0"+RegExp.$3+RegExp.$3,16)),{r:Math.min(Math.max(0,t),255),g:Math.min(Math.max(0,i),255),b:Math.min(Math.max(0,r),255)}},toDate:function(n){if(!this.isDefined(n))return null;if(n==="1900-01-01T00:00:00")return new Date(n);var t=n.indexOf(".");return t!==-1&&(n=n.substring(0,t)),n+="-0"+-configuration.louisianaUtcOffset+":00",new Date(n)},isToday:function(n){var t=this.getLouisianaTime();return t.getFullYear()===n.getFullYear()&&t.getMonth()===n.getMonth()&&t.getDate()===n.getDate()},getLouisianaTime:function(){var n=(new Date).getTimezoneOffset()/-60,t=configuration.louisianaUtcOffset-n;return new Date(Date.now()+36e5*t)},getDataVersion:function(n){if(n!=null&&n.hasOwnProperty("VersionDateTime")){var t=n.VersionDateTime;return t==null&&(t="1900-01-01T00:00:00"),this.toDate(t)}return null},toMinutes:function(n){return Math.floor(n/60)+":"+("0"+n%60).slice(-2)},getNameWidthClass:function(n){return n<=3?"choice-width-ref":n>52?"choice-width-long":n>33?"choice-width-pres":"choice-width-normal"},synchronizeCollection:function(n,t,i){for(var r=0,u,f;r<t.length;r++)if(n.length>r&&n[r][i]===t[r][i])for(u in t[r])n[r].hasOwnProperty(u)&&(n[r][u]=t[r][u]);else f=$.grep(n,function(n){return n[i]===t[r][i]}),f.length===0?n.splice(r,0,t[r]):(n.splice(r,1),r--);while(n.length>r)n.pop()},log:function(){},isNormalNumber:function(n){return n&&n!==Infinity&&!isNaN(n)},assignObjectProperties:function(n,t){for(var i in t)t.hasOwnProperty(i)&&(n[i]=t[i])},locationInfo:i,locationClearDialog:function(){i.dialog="None";i.parish="None";i.precinct="None";i.statFilter="None"},locationClearStatistics:function(){i.statTabCategory="None";i.statTabCategoryOption="None"}}}])}(),function(){"use strict";angular.module("electionResultsServices").factory("dataManager",["$rootScope","$http","$q","processor","util","constants",function(n,t,i,r,u,f){return n.selected={election:null,tab:null,dialog:null},n.parishesInElectionList=[],n.raceParishResultsList=[],n.racePrecinctResultsList=[],n.configuration={siteMessage:null},n.currentVersion=null,{pendingRequests:[],dataLoaded:{},awaitQueue:function(){function t(){if(n.length>0){var t=n[0];t.running||(t.running=!0,t.deferred.resolveWith(r,[t.complete]))}}var n=this.pendingRequests,r=this,i={deferred:jQuery.Deferred(),complete:function(){n.shift();t()},running:!1};return n.push(i),t(),i.deferred.promise()},loadSettings:function(){var t=this;this.awaitQueue().then(function(r){var u=[this.getData("configuration","Configuration.htm"),this.getData("electionMode","ElectionMode.htm"),this.getData("electionList","ElectionDates.htm")];n.inElectionMode&&u.push(this.getData("currentVersion","CurrentVersion.htm"));i.all(u).then(function(){t.setElectionMode();n.$broadcast("SETTINGS_LOADED");u.length===4&&n.$broadcast("VERSION_LOADED");r()})})},clearElectionData:function(){n.electionInfo=null;n.electionRawResults=null;n.parishRaces=null;n.parishResults=null;n.parishRaceList=null;n.electionRaces=null;n.statsCategories=null;n.statistics=null;n.earlyVoting=null;n.earlyVotesList=null;n.raceParishResults=null;n.raceParishResultsList=[];n.racePrecinctsResults=null;n.racePrecinctsResultsList=[];n.raceStats=null;n.raceParishStats=null;n.parishesInElection=null;n.parishesInElectionList=[];n.currentVersion=null},loadElection:function(){var r=this,t=n.selected.election;t&&this.awaitQueue().then(function(f){i.all([this.getData("electionInfo",u.prefixWithDateFolder(t.date,"RacesCandidates_Multiparish.htm"))]).then(function(){r.initializeElection();n.$broadcast("ELECTION_LOADED");f()})})},loadElectionResults:function(){var t=n.selected.election;t&&this.awaitQueue().then(function(f){i.all([this.getData("electionInfo",u.prefixWithDateFolder(t.date,"RacesCandidates_Multiparish.htm")),this.getData("electionRawResults",u.prefixWithDateFolder(t.date,"Votes_Multiparish.htm"))]).then(function(i){r.mergeRacesAndResults(i[0].races,i[1].Race,null,t);n.$broadcast("RESULTS_LOADED");f()})})},loadParishResults:function(t){var f=n.selected.election,e,o;f&&(e=null,o=null,u.isDefined(t)&&(e=u.prefixWithDateFolder(f.date,"RacesCandidates/ByParish_"+t+".htm"),o=u.prefixWithDateFolder(f.date,"VotesParish/Votes_"+t+".htm")),this.awaitQueue().then(function(t){var u=i.all([this.getData("parishRaces",e),this.getData("parishResults",o)]);u.then(function(i){if(n.electionInfo!=null){var u=r.mergeRacesAndResults(i[0].races,i[1].Race,n.electionInfo.races,f);n.parishRaceList=u;n.$broadcast("PARISH_RESULTS_LOADED")}t()})}))},loadElectionRaces:function(){var t=n.selected.election;t&&this.awaitQueue().then(function(r){i.all([this.getData("electionRaces",u.prefixWithDateFolder(t.date,"ElectionRaces.htm"))]).then(function(){n.$broadcast("RACES_LOADED");r()})})},getCsvFilePath:function(t,i){var f=n.selected.election,r;return f?(r="csv/",r+=i?"ByParish":"ByPrecinct",r+="_"+t+".csv",u.prefixWithDateFolder(f.date,r)):"noelection"},loadStatCategories:function(){var t=n.selected.election;t&&this.awaitQueue().then(function(r){i.all([this.getData("statsCategories",u.prefixWithDateFolder(t.date,"StatsCategories.htm"))]).then(function(){n.$broadcast("STAT_CATEGORIES_LOADED");r()})})},loadStatistics:function(t){var f=n.selected.election,r;if(f){r=null;switch(t){case"Louisiana":r="Statewide";break;case"Parish":r="Parish";break;case"Congressional District":r="Congressional";break;case"Senate District":r="Senate";break;case"House District":r="House";break;default:throw new Error("Unrecognized category: "+t);}r="Stats"+r+".htm";this.awaitQueue().then(function(t){i.all([this.getData("statistics",u.prefixWithDateFolder(f.date,r))]).then(function(){n.$broadcast("STATISTICS_LOADED");t()})})}},loadEarlyVotingResults:function(t){var f=n.selected.election,e;f&&(e=null,u.isDefined(t)&&(e=u.prefixWithDateFolder(f.date,"VotesEarly/Votes_"+t.id+".htm")),this.awaitQueue().then(function(u){i.all([this.getData("earlyVoting",e)]).then(function(i){n.earlyVotesList=r.mergeOneRaceAndResults(t,i[0].Parish,f);n.$broadcast("EARLY_VOTES_LOADED");u()})}))},loadRaceParishResults:function(t){var f=n.selected.election;f&&this.awaitQueue().then(function(e){var o="VotesRaceByParish/Votes_"+t.id+".htm";i.all([this.getData("raceParishResults",u.prefixWithDateFolder(f.date,o))]).then(function(i){var o=r.mergeOneRaceAndResults(t,i[0].Parish,f);u.synchronizeCollection(n.raceParishResultsList,o,"parishValue");n.$broadcast("RACE_PARISH_RESULTS_LOADED");e()})})},loadRacePrecinctResults:function(t,f){var e=n.selected.election;e&&this.awaitQueue().then(function(o){var s="VotesRaceByPrecinct/Votes_"+t.id+"_"+f+".htm";i.all([this.getData("racePrecinctResults",u.prefixWithDateFolder(e.date,s))]).then(function(i){var f=r.mergeOneRaceAndResults(t,i[0].Precinct,e);u.synchronizeCollection(n.racePrecinctResultsList,f,"precinct");n.$broadcast("RACE_PRECINCT_RESULTS_LOADED");o()})})},loadRaceStats:function(t){var r=n.selected.election;r&&this.awaitQueue().then(function(f){var e="StatsRace/Stats_"+t+".htm";i.all([this.getData("raceStats",u.prefixWithDateFolder(r.date,e))]).then(function(){n.$broadcast("RACE_STATS_LOADED");f()})})},loadRaceParishStats:function(t,r){var f=n.selected.election;f&&this.awaitQueue().then(function(e){var o="StatsRaceParish/Stats_"+t+"_"+r+".htm";i.all([this.getData("raceParishStats",u.prefixWithDateFolder(f.date,o))]).then(function(){n.$broadcast("RACE_PARISH_STATS_LOADED");e()})})},loadParishesInElection:function(){var t=n.selected.election;t&&this.awaitQueue().then(function(i){this.getData("parishesInElection",u.prefixWithDateFolder(t.date,"ParishesInElection.htm")).then(function(){u.synchronizeCollection(n.parishesInElectionList,n.parishesInElection.parishes,"value");n.$broadcast("PARISHES_IN_ELECTION_LOADED");i()})})},filterOnCategory:function(t,i){if(i===undefined||i===null){if(n.electionInfo==null)return[];i=n.electionInfo.races}return r.filterOnCategory(t,i)},isDataExpired:function(t){if(!this.dataLoaded.hasOwnProperty(t))return!1;var i=this.dataLoaded[t].version;return i!=null&&i<n.currentVersion},setElectionMode:function(){n.inElectionMode=u.isDefined(n.electionMode)&&n.electionMode.ElectionMode!=null&&n.selected.election&&n.electionMode.ElectionMode.PKElectionID==n.selected.election.id},getData:function(i,r){var o=jQuery.Deferred(),e=this,f=e.dataLoaded[i],s,h;if(r==null){if(f==null)return console.log("getData: tried to reload but loaded["+i+"] is null"),o.resolveWith(e,null),o.promise();r=f.file}return s=!0,i==="configuration"||i==="electionMode"||i==="currentVersion"?s=!1:f!=null&&new Date-f.time>36e5?s=!1:!n.inElectionMode||f==null||f.version==null||f.version>=n.currentVersion||(s=!1),s&&f!=null&&f.file===r&&n[i]!=null?(u.log("getData: resolving '"+i+"' with existing data"),o.resolveWith(e,[n[i]])):(h=configuration.dataUrl+"?blob="+r,t.get(h).then(function(t){n[i]=t.data;e.dataLoaded[i]={file:r,version:u.getDataVersion(t.data),time:new Date};u.log("getData: resolving '"+i+"' with new data, version: "+e.dataLoaded[i].version);o.resolveWith(e,[t.data])}).catch(function(t){u.log("getData: resolving '"+i+"' with null; ERROR");n.bigError=!0;o.rejectWith(e,[t])})),o.promise()},initializeRaceGroups:function(){$.each(n.electionInfo.races,function(t,i){n.electionInfo.hasPresidential|=r.isInRaceGroup(i,f.category.PRESIDENTIAL);n.electionInfo.hasCongressional|=r.isInRaceGroup(i,f.category.CONGRESSIONAL);n.electionInfo.hasLegislative|=r.isInRaceGroup(i,f.category.LEGISLATIVE);n.electionInfo.hasStateWide|=r.isInRaceGroup(i,f.category.STATEWIDE);n.electionInfo.hasMultiparish|=r.isInRaceGroup(i,f.category.MULTIPARISH)})},initializeElection:function(){var t=n.electionInfo,i;t.tabs.length>0||(this.initializeRaceGroups(),t.hasPresidential&&t.tabs.push({title:"Presidential"}),t.hasCongressional&&t.tabs.push({title:"Congressional"}),t.hasStateWide&&t.tabs.push({title:"Statewide"}),t.hasLegislative&&t.tabs.push({title:"Legislative"}),t.hasMultiparish&&t.tabs.push({title:"Multiparish"}),t.tabs.push({title:"Parish"}),i=n.selected.election,i&&(i.hasJurisdictionStats||i.hasPostElectionStats)&&n.configuration.enableJurisdictionStats&&t.tabs.push({title:"Statistics"}))}}}])}(),function(){"use strict";angular.module("electionResultsServices").factory("processor",["$filter","util","constants","percentFilter",function(n,t,i,r){return{processConfig:function(n){var i=function(t){return $.grep(n.Configuration.Config,function(n){return n.Name===t})[0].Value};return{csvElectionDayHour:i("CSVElectionDayHour"),enableJurisdictionStats:t.isTrue(i("EnableJurisdictionStats")),enableRaceStats:t.isTrue(i("EnableRaceStats")),refreshTimerInterval:i("RefreshTimerInterval"),isLive:t.isTrue(i("IsLive")),siteMessage:t.isNullOrWhiteSpace(i("SiteMessage"))?"":i("SiteMessage")}},processElectionList:function(i){var f=i.Dates.DefaultElectionDate,u=[],r=function(n){var t=n.match(/(\d+)/g);return new Date(t[2],t[0]-1,t[1])},e=function(n){var t=r(n),i="";return i+=["Sun","Mon","Tues","Wed","Thur","Fri","Sat"][t.getDay()],i+=" "+["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"][t.getMonth()],i+=" "+t.getDate(),i+(" "+t.getFullYear())};return $.each(i.Dates.Date,function(i,o){var s={id:o.PKElectionID,date:r(o.ElectionDate),dateFormatted:e(o.ElectionDate),shortDateString:o.ElectionDate,iso8601Date:n("date")(r(o.ElectionDate),"yyyy-MM-dd"),isOfficial:t.isTrue(o.ResultsOfficial),isDefault:o.ElectionDate==f,displayTurnoutStats:t.isTrue(o.DisplayTurnoutStats),congressionalMapName:o.CONG_MapName,representativeMapName:o.REP_MapName,senateMapName:o.SEN_MapName,hasPostElectionStats:t.isTrue(o.PostElectionStatsAvailable),hasJurisdictionStats:t.isTrue(o.PWPStatsExist),hasRaceStats:t.isTrue(o.RaceStatsExist),turnoutMessage:o.TurnoutMessage};u.push(s)}),u},processElectionRaces:function(n){var i=[];return $.each(t.ensureArray(n.Races.Race),function(n,t){i.push({id:t.RaceID,name:t.OfficeTitleAndDesc})}),i},processMultiparish:function(n){var u=function(n){var t=[];return $.each(n,function(n,i){t.push({id:i.ID,name:i.Desc,color:"#"+i.Color.substring(2)})}),t},i=t.ensureArray(n.Races.Race),r={hasPresidential:!1,hasCongressional:!1,hasLegislative:!1,hasStateWide:!1,hasMultiparish:!1,races:[],tabs:[]};return i!=null&&$.each(i,function(n,i){var f={id:i.ID,fullText:i.FullText,title:i.GeneralTitle,isClosedParty:t.isTrue(i.IsClosedParty),isMultiparish:t.isTrue(i.IsMultiParish),isPresidentialNominee:t.isTrue(i.IsPresidentialNominee),numberToBeElected:i.NumberToBeElected,level:i.OfficeLevel,specificTitle:i.SpecificTitle,summaryText:i.SummaryText,choices:u(i.Choice)};r.races.push(f)}),r},mergeRacesAndResults:function(n,u,f,e){if(u=t.ensureArray(u),f=t.ensureArray(f),u==null)return[];var o=[],s=this;return $.each(u,function(t,u){var v=0,c=null,l=0,h=null,y,a,p;if(typeof n!="undefined"&&n!=null&&(h=$.grep(n,function(n){return n.id==u.ID})[0]),h==null&&typeof f!="undefined"&&f!=null&&(h=$.grep(f,function(n){return n.id==u.ID})[0]),h==null){y="Race id "+u.ID+" in results but not found in races - election "+e.shortDateString;try{$.post(configuration.errorUrl,{message:y,description:"Try doing a full regeneration of the files from the graphical result file writer tool.",stackTrace:""})}catch(w){}return}for(h.precinctsReporting=u.PrecinctsReporting,h.precinctsExpected=u.PrecinctsExpected,h.reportingPercent=r(h.precinctsReporting/h.precinctsExpected,0),h.absenteeReporting=u.NumAbsenteeReporting,h.absenteeExpected=u.NumAbsenteeExpected,l=0;l<h.choices.length;l++){if(c=h.choices[l],a=$.grep(u.Choice,function(n){return n.ID==c.id})[0],a==null)throw new Error("Missing result for choice ID "+c.ID+", race "+h.id+", election "+e.shortDateString);e.isOfficial&&!h.isClosedParty?(c.outcome=a.Outcome,c.outcomeColor=i.outcomeStyles[c.outcome],c.outcomeIcon=i.outcomeIcons[c.outcome]):c.outcome=null;c.votes=a.VoteTotal;v+=1*c.votes}if(h.totalVotes=v,h.showSubtitle=!1,h.subtitle="",s.normalizeChoices(h.choices),h.showTurnout=u.VoterCountQualified!=-1&&(e.isOfficial||u.PrecinctsReporting==u.PrecinctsExpected),h.turnout=s.getTurnoutText(e,h.showTurnout,u,v,h.numberToBeElected),$.grep(o,function(n){return n.id===h.id}).length>0){p="Race "+h.id+" already found in merged race array - "+e.shortDateString;try{$.post(configuration.errorUrl,{message:p,description:"",stackTrace:""})}catch(w){}}else o.push(h)}),o},getReportingText:function(n){if(!n.hasOwnProperty("PrecinctsReporting"))return null;var t=n.NumAbsenteeReporting!==n.NumAbsenteeExpected?' class="attention" ':"",i=n.PrecinctsReporting!==n.PrecinctsExpected?' class="attention" ':"",r="<span"+t+">Early & Absentee Reporting - "+n.NumAbsenteeReporting+" of "+n.NumAbsenteeExpected+" parishes<\/span>",u="<span"+i+">Election Day Reporting - "+n.PrecinctsReporting+" of "+n.PrecinctsExpected+" precincts<\/span>";return r+"<br />"+u},getTurnoutText:function(n,i,r,u,f){if(!r.hasOwnProperty("VoterCountQualified"))return"";var o=function(n,t){var i=""+Math.round(n/t*1e3)/10;return i!=100&&i.indexOf(".")==-1&&(i+=".0"),i+"%"},e="";return n.displayTurnoutStats?i&&(e=n.isOfficial&&n.hasPostElectionStats?"Turnout: "+o(r.VoterCountVoted,r.VoterCountQualified):"Unofficial Turnout: "+o(u/f,r.VoterCountQualified)):t.isNullOrWhiteSpace(n.turnoutMessage)||(e=n.turnoutMessage),e},mergeOneRaceAndResults:function(n,i,r){i=t.ensureArray(i);var u=this,f=[];return $.each(i,function(i,e){for(var c=0,o=null,s=0,l=[],a,v,h,s=0;s<n.choices.length;s++){if(o=n.choices[s],a=$.grep(e.Choice,function(n){return n.ID==o.id})[0],a==null)throw new Error("Missing result for choice ID "+o.ID+", race "+n.id+", election "+r.shortDateString);v=a.VoteTotal;c+=1*v;l.push({id:o.id,name:o.name,color:o.color,votes:v,outcome:null})}u.normalizeChoices(l);h={hasReported:e.hasOwnProperty("HasReported")?t.isTrue(e.HasReported):!0,totalVotes:c,choices:l,turnout:u.getTurnoutText(r,n.showTurnout,e,c,n.numberToBeElected),reportingText:u.getReportingText(e)};e.hasOwnProperty("ParishValue")&&(h.parishValue=e.ParishValue);e.hasOwnProperty("Precinct")&&(h.precinct=e.Precinct);f.push(h)}),f},processParishesInElection:function(n){var r=t.ensureArray(n.ParishesInElection.Parish),i=[];return $.each(r,function(n,r){var u=t.getParishName(r.ParishValue);i.push({hasAbsentee:r.CompleteWithAbsentee,value:r.ParishValue,name:u,precincts:r.Precincts,precinctsReported:r.PrecinctsReported,display:u+" - "+r.PrecinctsReported+" of "+r.Precincts+" precincts reporting"})}),{VersionDateTime:n.ParishesInElection.VersionDateTime,parishes:i}},filterOnCategory:function(n,t){var i=[],r=this;return $.each(t,function(t,u){r.isInRaceGroup(u,n)&&i.push(u)}),i},processStatsCategories:function(n){var u=t.ensureArray(n.Dropdown.Category),r=[];return $.each(u,function(n,u){if(u.CategoryName==="Parish"){var f=[];$.each(t.ensureArray(u.Option),function(n,t){var r=$.grep(i.parishList,function(n){return n.name.toLowerCase()===t.toLowerCase()})[0];f.push(r.name)});r.push({name:u.CategoryName,options:f})}else r.push({name:u.CategoryName,options:t.ensureArray(u.Option)})}),r},normalizeChoices:function(n){for(var i,f=0,o=0,e,u,r=0;r<n.length;r++)f+=1*n[r].votes,o=Math.max(o,n[r].votes);for(r=0;r<n.length;r++)i=n[r],i.graphStyle={"background-color":i.color},f===0?(i.percent=0,i.graphStyle.width=null):(i.percent=Math.round(i.votes/f*100),i.graphPercent=Math.round(i.votes/o*100),i.graphStyle.width=i.graphPercent+"%"),i.showPercent=f>0,e=t.hexToDecimal(i.color),u=e.r+","+e.g+","+e.b,i.backgroundGraphStyle={width:i.graphPercent+"%",background:"linear-gradient(to top, rgba("+u+",0.8) 0, rgba("+u+",.25) 15%, rgba("+u+",.25) 85%, rgba("+u+",0.8) 100%)"}},isInRaceGroup:function(n,t){var r=n.hasOwnProperty("isPresidentialNominee")?n.isPresidentialNominee:n.level==50||n.level==60||n.level==57;switch(t){case i.category.MULTIPARISH:if(n.isMultiparish==1)return!0;break;case i.category.STATEWIDE:if(n.level>=100&&n.level<=142||n.level==998||n.level==10||r)return!0;break;case i.category.LEGISLATIVE:if(n.level>=200&&n.level<=209)return!0;break;case i.category.CONGRESSIONAL:if(n.level>=140&&n.level<=149)return!0;break;case i.category.PRESIDENTIAL:if(n.level==10)return!0}return!1}}}])}(),function(){"use strict";angular.module("electionResultsServices").factory("raceCategories",["constants",function(n){return n.category}])}(),function(){"use strict";angular.module("electionResultsServices").factory("parishList",["constants",function(n){return n.parishList}])}(),function(){"use strict";angular.module("electionResultsServices").factory("googleAnalytics",[function(){return{submit:function(n,t){typeof submitGoogleAnalytics!="undefined"&&submitGoogleAnalytics(n,t)}}}])}(),function(){"use strict";angular.module("electionResultsServices").factory("siteOfflineRedirect",["dataManager","util",function(n,t){return{start:function(){n.getData("Configuration.htm","Configuration.htm").then(function(n){var i=t.isTrue(n.isLive);i||(document.location="/Maintenance?areaName=ElectionResults")})}}}])}(),function(){"use strict";angular.module("staticPageController",[]).controller("staticPageController",["$scope","$timeout","siteOfflineRedirect",function(n,t,i){i.start();n.isSubViewVisible=!1;n.$on("SUB_VIEW_LOAD_START",function(){n.isSubViewVisible=!1});n.$on("SUB_VIEW_LOAD_FINISH",function(){t(function(){n.isSubViewVisible=!0})})}])}(),function(){"use strict";angular.module("staticViewControllers",[]).controller("electionListController",["$scope","$filter","staticGoogleAnalytics","staticViewDataFetcher","staticViewDataProcessor","staticViewModelBuilder","util",function(n,t,i,r,u,f,e){n.isSubViewVisible=!1;n.$emit("SUB_VIEW_LOAD_START");i.submitAnalytics();var o=r.fetchElectionListData();o.then(function(t){var i=u.processElectionListData(t),r=f.buildElectionListViewModel(i);e.assignObjectProperties(n,r);n.isSubViewVisible=!0;n.$emit("SUB_VIEW_LOAD_FINISH")})}]).controller("electionHomeController",["$scope","$stateParams","staticGoogleAnalytics","staticViewDataFetcher","staticViewDataProcessor","staticViewModelBuilder","util",function(n,t,i,r,u,f,e){var o,s;n.isSubViewVisible=!1;n.$emit("SUB_VIEW_LOAD_START");o=t.electionDate;i.submitAnalytics(o);s=r.fetchElectionHomeData(o);s.then(function(t){var i=t[0],s=t[1],r;angular.forEach(i.races,function(n){n.presentRaceGroups=u.processPresentRaceGroups(n)});r=f.buildElectionHomeViewModel(o,i.races,s);e.assignObjectProperties(n,r);n.isSubViewVisible=!0;n.$emit("SUB_VIEW_LOAD_FINISH")})}]).controller("parishListController",["$scope","$filter","$stateParams","staticGoogleAnalytics","staticViewDataFetcher","staticViewDataProcessor","staticViewModelBuilder","parishList","util",function(n,t,i,r,u,f,e,o,s){var h,c;n.isSubViewVisible=!1;n.$emit("SUB_VIEW_LOAD_START");h=i.electionDate;r.submitAnalytics(h);c=u.fetchParishListData(h);c.then(function(i){var r=i[0],u=i[1],c=f.processParishListData(o),l=function(n){return t("filter")(r.parishes,{value:n},!0).length>0},a=e.buildParishListViewModel(h,c,l,u);s.assignObjectProperties(n,a);n.isSubViewVisible=!0;n.$emit("SUB_VIEW_LOAD_FINISH")})}]).controller("resultsByRaceController",["$scope","$stateParams","staticGoogleAnalytics","staticViewDataFetcher","staticViewDataProcessor","staticViewModelBuilder","util",function(n,t,i,r,u,f,e){var c;n.isSubViewVisible=!1;n.$emit("SUB_VIEW_LOAD_START");var h=t.electionDate,s=t.raceCategory,o=!isNaN(s);i.submitAnalytics(h,o?s:undefined);c=r.fetchRaceResultsData(h,o?s:null);c.then(function(t){var c=o?t[3]:t[2],i=u.processRaceResults(t[0].races,o?t[2].Race:t[1].Race,o?t[1].races:null,h),r;o||(i=u.filterOnCategory(s,i));r=f.buildRaceResultsViewModel(h,i,o,s,c);e.assignObjectProperties(n,r);n.isSubViewVisible=!0;n.$emit("SUB_VIEW_LOAD_FINISH")})}]).controller("resultsByRegionController",["$scope","$stateParams","staticGoogleAnalytics","staticViewDataFetcher","staticViewDataProcessor","staticViewModelBuilder","util",function(n,t,i,r,u,f,e){var c;n.isSubViewVisible=!1;n.$emit("SUB_VIEW_LOAD_START");var h=t.electionDate,o=t.parishId,s=t.raceId;i.submitAnalytics(h,o,s);c=r.fetchRegionResultsData(h,s,o);c.then(function(t){var r=t.length===4?t[2].races:undefined,l=t.length===4?t[3]:t[2],i=u.retrieveRaceObjFromRaceData(t[0].races,s);!i&&r&&(i=u.retrieveRaceObjFromRaceData(r,s));var c=o!==undefined&&o!==null&&!isNaN(o)&&o!=="",a=c?t[1].Precinct:t[1].Parish,v=u.processRegionResults(i,a,h),y=function(t){n.selectedMobileRegion=t===n.selectedMobileRegion?undefined:t},p=f.buildRegionResultsViewModel(h,v,i.specificTitle,c,s,o,y,l);e.assignObjectProperties(n,p);n.isSubViewVisible=!0;n.$emit("SUB_VIEW_LOAD_FINISH")})}])}(),function(){"use strict";angular.module("electionResultsApp").factory("$exceptionHandler",["$injector","util",function(n,t){var i=function(i,r){var f=null,e=null,s=null,h=null,c=null,o;if(typeof i=="undefined"||i==null?f="No message or exception provided":i.hasOwnProperty("message")?(f=i.message,e=i.stack,i.description!=f&&(s=i.description)):f=i,typeof r!="undefined"&&r!=null&&(f+=' (caused by "'+r+'")'),!u()){if(o=n.get("$rootScope"),i&&i.networkError){o.bigError=2;return}t.locationInfo!==undefined&&t.locationInfo!==null&&(h=JSON.stringify(t.locationInfo));o.bigError=!0;c=window.location.href;try{$.post(configuration.errorUrl,{message:f,description:s,stackTrace:e,pageUrl:c,additionalInfo:h})}catch(l){}typeof console!="undefined"&&(e!=null?console.error(f,e):console.error(f))}},r=0,u=function(){return++r>3};return i}])}(),function(){"use strict";function n(){function n(n){var r=configuration.humanReadableExcelUrl,i=n.getDate().toString(),t;i.length===1&&(i="0"+i);t=(n.getMonth()+1).toString();t.length===1&&(t="0"+t);var u=n.getFullYear().toString(),f=u+t+i,e=t+"-"+i+"-"+u;return r=r.replace("{0}",f),r.replace("{1}",e)}return{buildDownloadUrl:n}}angular.module("electionResultsServices").factory("humanReadableElectionResultsService",[n])}(),function(){"use strict";angular.module("staticViewDataProcessor",[]).factory("staticViewDataProcessor",["$filter","$http","processor","util","raceCategories",function(n,t,i,r,u){return{processElectionListData:function(t){var i=[];return angular.forEach(t,function(t){var r=new Date(t.shortDateString).getFullYear(),f=n("filter")(i,{year:r},!0).length>0,u;f||i.push({year:r,electionDates:[]});u=i[i.length-1];u.electionDates.push(t.iso8601Date)}),i},processParishListData:function(n){var t,u,r,i;if(!angular.isArray(n)||n.length===0)return[];for(t=[],u=16,r=0;r<u;r++)t.push([]);return i=0,angular.forEach(n,function(n){t[i].push(n);i++;i>t.length-1&&(i=0)}),t},processRaceResults:function(i,u,f,e){var o=[];return i=r.ensureArray(i),u=r.ensureArray(u),f=r.ensureArray(f),angular.forEach(u,function(r){var u=null,s,h,c,l,a;if(i&&(s=n("filter")(i,{id:r.ID},!0),s.length>0&&(u=s[0])),u==null&&f&&(h=n("filter")(f,{id:r.ID},!0),h.length>0&&(u=h[0])),u===null)throw new Error("Race id "+r.ID+" not found in static results' 'processRaceResults' for election "+e);if(u.precinctsReporting=r.PrecinctsReporting,u.precinctsExpected=r.PrecinctsExpected,u.absenteeReporting=r.NumAbsenteeReporting,u.absenteeExpected=r.NumAbsenteeExpected,c=0,angular.forEach(u.choices,function(t){var i=null,f=n("filter")(r.Choice,{ID:t.id},!0);if(f.length>0&&(i=f[0]),i===null)throw new Error("Choice id "+t.ID+" for race id "+u.id+" not found in static results' 'processRaceResults' for election "+e);t.votes=i.VoteTotal;c+=Number(t.votes)}),u.totalVotes=c,l=n("filter")(o,{id:u.id},!0).length>0,l){a="Race "+u.id+" already found in merged race array - "+e;try{t.post(configuration.errorUrl,{message:a,description:"",stackTrace:""})}catch(v){}}else o.push(u)}),o},processRegionResults:function(t,i,u){var f=[];return i=r.ensureArray(i),angular.forEach(i,function(i){var e=[],o=0,r;angular.forEach(t.choices,function(r){var f=n("filter")(i.Choice,{ID:r.id},!0)[0];if(f==null)throw new Error("Missing result for choice ID "+r.ID+", race "+t.id+", election "+u);o+=Number(f.VoteTotal);e.push({id:r.id,name:r.name,votes:Number(f.VoteTotal)})});r={totalVotes:o,choices:e};i.hasOwnProperty("ParishValue")&&(r.parishId=i.ParishValue,r.precinctsReporting=i.PrecinctsReporting,r.precinctsExpected=i.PrecinctsExpected,r.absenteeReporting=i.NumAbsenteeReporting,r.absenteeExpected=i.NumAbsenteeExpected);i.hasOwnProperty("Precinct")&&(r.precinct=i.Precinct);f.push(r)}),f},retrieveRaceObjFromRaceData:function(t,i){var r=null,u=n("filter")(t,{id:i},!0);return u.length>0&&(r=u[0]),r},processPresentRaceGroups:function(n){var t=[];return t.push({raceCategory:u.PRESIDENTIAL,isPresent:i.isInRaceGroup(n,u.PRESIDENTIAL)}),t.push({raceCategory:u.CONGRESSIONAL,isPresent:i.isInRaceGroup(n,u.CONGRESSIONAL)}),t.push({raceCategory:u.LEGISLATIVE,isPresent:i.isInRaceGroup(n,u.LEGISLATIVE)}),t.push({raceCategory:u.STATEWIDE,isPresent:i.isInRaceGroup(n,u.STATEWIDE)}),t.push({raceCategory:u.MULTIPARISH,isPresent:i.isInRaceGroup(n,u.MULTIPARISH)}),t},filterOnCategory:function(n,t){return i.filterOnCategory(n,t)}}}])}(),function(){"use strict";angular.module("staticViewModelBuilder",[]).factory("staticViewModelBuilder",["$filter","raceCategories","parishList","humanReadableElectionResultsService","util",function(n,t,i,r,u){function f(n){var t=n?"Unofficial":"Official";return t+" Election Results"}return{buildElectionListViewModel:function(n){var t={};return t.electionList=n,t},buildElectionHomeViewModel:function(i,e,o){var s={},h=i.split("-"),c=new Date(h[0],h[1]-1,h[2]);return s.electionDate=i,s.isBeforeElectionDate=u.getLouisianaTime()<c,s.officialUnofficalLabel=f(o),s.isElectionUnofficial=o,s.presidentialRaceCategory=t.PRESIDENTIAL,s.congressionalRaceCategory=t.CONGRESSIONAL,s.statewideRaceCategory=t.STATEWIDE,s.legislativeRaceCategory=t.LEGISLATIVE,s.multiParishRaceCategory=t.MULTIPARISH,angular.forEach(e,function(i){s.hasPresidential|=n("filter")(i.presentRaceGroups,{raceCategory:t.PRESIDENTIAL},!0)[0].isPresent;s.hasCongressional|=n("filter")(i.presentRaceGroups,{raceCategory:t.CONGRESSIONAL},!0)[0].isPresent;s.hasLegislative|=n("filter")(i.presentRaceGroups,{raceCategory:t.LEGISLATIVE},!0)[0].isPresent;s.hasStateWide|=n("filter")(i.presentRaceGroups,{raceCategory:t.STATEWIDE},!0)[0].isPresent;s.hasMultiparish|=n("filter")(i.presentRaceGroups,{raceCategory:t.MULTIPARISH},!0)[0].isPresent}),s.buildExcelUrl=r.buildDownloadUrl(c),s},buildParishListViewModel:function(n,t,r,e){var o={},s=n.split("-"),h=new Date(s[0],s[1]-1,s[2]);return o.electionDate=n,o.isBeforeElectionDate=u.getLouisianaTime()<h,o.officialUnofficalLabel=f(e),o.isElectionUnofficial=e,o.rawParishList=i,o.processedParishList=t,o.isParishInElection=r,o},buildRaceResultsViewModel:function(t,r,e,o,s){var h={},c=t.split("-"),l=new Date(c[0],c[1]-1,c[2]);return h.electionDate=t,h.isBeforeElectionDate=u.getLouisianaTime()<l,h.officialUnofficalLabel=f(s),h.isElectionUnofficial=s,h.raceList=r,h.isSingleParish=e,e&&(h.parishName=n("filter")(i,{id:o},!0)[0].name.toUpperCase(),h.parishId=o),h.pageLoadDateTime=new Date,h},buildRegionResultsViewModel:function(t,r,f,e,o,s,h,c){var l={},a=t.split("-"),v=new Date(a[0],a[1]-1,a[2]);return l.electionDate=t,l.isBeforeElectionDate=u.getLouisianaTime()<v,l.officialText=c?"Unofficial":"Official",l.isElectionUnofficial=c,l.regionList=r,l.raceTitle=f,l.isPrecinctBreakdown=e,l.raceId=o,l.breakdownLabel=e?"Precinct":"Parish",l.totalRegionVotes=0,angular.forEach(l.regionList,function(n){l.totalRegionVotes+=n.totalVotes}),e?l.parishName=n("filter")(i,{id:s},!0)[0].name.toUpperCase():angular.forEach(l.regionList,function(t){t.parishName=n("filter")(i,{id:t.parishId},!0)[0].name}),l.handleRegionClicked=h,l.pageLoadDateTime=new Date,l}}}])}(),function(){"use strict";angular.module("staticViewDataFetcher",[]).factory("staticViewDataFetcher",["$q","$filter","dataManager","util",function(n,t,i,r){function f(n,t){return r.prefixWithDateFolder(n,t)}function u(n){return i.getData("StaticUnusedProperty",n)}function e(i){var r=n.defer();return o().then(function(n){var u=t("filter")(n,{isOfficial:!1},!0).map(function(n){return n.iso8601Date}),f=t("filter")(u,i,!0).length>0;r.resolve(f)}),r.promise}function o(){return u("ElectionDates.htm")}function s(t){var r=f(t,"RacesCandidates_Multiparish.htm"),i=[u(r)];return i.push(e(t)),n.all(i)}function h(t){var r=f(t,"ParishesInElection.htm"),i=[u(r)];return i.push(e(t)),n.all(i)}function c(t,i){var l=f(t,"RacesCandidates_Multiparish.htm"),o=[u(l)],a=r.isNormalNumber(i),s,h,c;return a?(s=f(t,"RacesCandidates/ByParish_"+i+".htm"),h=f(t,"VotesParish/Votes_"+i+".htm"),o.push(u(s)),o.push(u(h))):(c=f(t,"Votes_Multiparish.htm"),o.push(u(c))),o.push(e(t)),n.all(o)}function l(t,i,o){var a=f(t,"RacesCandidates_Multiparish.htm"),s=[u(a)],v=r.isNormalNumber(o),h,c,l;return v?(h=f(t,"VotesRaceByPrecinct/Votes_"+i+"_"+o+".htm"),c=f(t,"RacesCandidates/ByParish_"+o+".htm"),s.push(u(h)),s.push(u(c))):(l=f(t,"VotesRaceByParish/Votes_"+i+".htm"),s.push(u(l))),s.push(e(t)),n.all(s)}return{fetchElectionListData:o,fetchElectionHomeData:s,fetchParishListData:h,fetchRaceResultsData:c,fetchRegionResultsData:l}}])}(),function(){"use strict";function n(n){var t=n.location.pathname,i=n.location.hash==="#/"?"":n.location.hash;return t+i}angular.module("staticGoogleAnalytics",[]).factory("staticGoogleAnalytics",["$window","$filter","googleAnalytics","parishList",function(t,i,r,u){return{submitAnalytics:function(f,e,o){var l=n(t),s={},h,c;f&&(s.election=i("date")(f,"MM/dd/yyyy"));e&&(c=i("filter")(u,{id:e},!0),c.length>0&&(h=i("filter")(u,{id:e},!0)[0].name),h&&(s.parishName=h));o&&(s.raceId=o);r.submit(l,s)}}}])}()