// Map variables
var map;
var geoxml;
var geocoder;
var markers = new Array();
var markerIndex = 0;
var MARKER_LIMIT = 100;
var ofaIcon;

// Twitter variables
var tweetArray = new Array();
var tweetIndex = 0;
var TWEET_ARRAY_SIZE = 200;
var hash;
var targetState;
var newState;
var page;
var minTime;
var loadID;


var tweetList = ["Please read the facts about the F136 before you vote!",
"Competition creates better, more efficient engines. Review the real facts.",
"Make national defense a top priority. Learn the facts about the F136 engine.",
"Keep the F136 engine.",
"The American people deserve the highest quality defense. Keep the F136.",
"Our future defense force needs the best possible support. Keep the F136.",
"Don’t let the F-35 become the next F-16. Make sure there are engine options.",
"We can’t afford for our defense to be grounded by a faulty engine. Keep the F136."];


var linkList = ['http://f136.com'];

var stateLookup = new Array();
stateLookup[0] = new Array('AL','Richard Shelby','Jeff Sessions','@RichardShelby','Sen. Jeff Sessions','http://shelby.senate.gov/public/index.cfm?FuseAction=ContactSenatorShelby.EmailSenatorShelby','http://sessions.senate.gov/public/index.cfm?FuseAction=ConstituentServices.ContactMe',33.75,-86.5,7);
stateLookup[1] = new Array('AK','Lisa Murkowski','Mark Begich','@lisamurkowski','Sen. Mark Begich','http://murkowski.senate.gov/public/index.cfm?FuseAction=ContactMe.EMailLisa','http://begich.senate.gov/contact/contact.cfm',63,-150,4);
stateLookup[2] = new Array('AZ','John McCain','John Kyl','@SenJohnMcCain','Sen. Jon Kyl','http://mccain.senate.gov/public/index.cfm?FuseAction=Contact.ContactForm','http://kyl.senate.gov/contact.cfm',34.5,-112,6);
stateLookup[3] = new Array('AR','Blanche Lincoln','Mark Pryor','Sen. Blanche Lincoln','Sen. Mark Pryor','http://lincoln.senate.gov/contact/email.cfm','http://pryor.senate.gov/contact/',34.75,-92,7);
stateLookup[4] = new Array('CA','Barbara Boxer','Dianne Feinstein','@Barbara_Boxer','Sen. Dianne Feinstein','http://boxer.senate.gov/contact/email/policy.cfm','http://feinstein.senate.gov/public/index.cfm?FuseAction=ContactUs.EmailMe',37,-120,5);
stateLookup[5] = new Array('CO','Mark Udall','Michael Bennet','@MarkUdall','Sen. Michael Bennet','http://markudall.senate.gov/?p=contact','http://bennet.senate.gov/contact/',40,-105.5,6);
stateLookup[6] = new Array('CT','Chris Dodd','Joe Lieberman','@SenChrisDodd','Sen. Joe Lieberman','http://dodd.senate.gov/index.php?q=node/3130','http://lieberman.senate.gov/contact/',41.75,-72.75,8);
stateLookup[7] = new Array('DE','Thomas Carper','Edward Kaufman','Sen. Thomas Carper','Sen. Edward Kaufman','http://carper.senate.gov/contact/','http://kaufman.senate.gov/services/contact/',39.25,-75.5,8);
stateLookup[8] = new Array('FL','Bill Nelson','', '@SenBillNelson', '', 'http://billnelson.senate.gov/contact/email.cfm',28,-83.75,6);
stateLookup[9] = new Array('GA','Saxby Chambliss','Johnny Isakson','Sen. Saxby Chambliss','Sen. Johnny Isakson','http://chambliss.senate.gov/public/index.cfm?p=Email','http://isakson.senate.gov/contact.cfm',33.75,-83.75,6);
stateLookup[10] = new Array('HI','Daniel Akaka','Daniel Inouye','Sen. Daniel Akaka','Sen. Daniel Inouye','http://akaka.senate.gov/public/index.cfm?FuseAction=Contact.Home','http://inouye.senate.gov/Contact/Email-Form.cfm',20.75,-157.5,7);
stateLookup[11] = new Array('ID','Mike Crapo','James Risch','Sen. Mike Crapo','Sen. James Risch','http://crapo.senate.gov/contact/email.cfm','http://risch.senate.gov/public/index.cfm?p=Email',47,-114,5);
stateLookup[12] = new Array('IL','Dick Durbin','Roland Burris','@DickDurbin','Sen. Roland Burris','http://durbin.senate.gov/contact.cfm','http://burris.senate.gov/contact/contact.cfm',40,-88.5,6);
stateLookup[13] = new Array('IN','Evan Bayh','Richard Lugar','@EvanBayh','Sen. Richard Lugar','http://bayh.senate.gov/contact/email/','http://lugar.senate.gov/contact/contactform.cfm',41,-86.25,6);
stateLookup[14] = new Array('IA','Chuck Grassley','Tom Harkin','@ChuckGrassley','Sen. Tom Harkin','http://grassley.senate.gov/contact.cfm','http://harkin.senate.gov/c/index.cfm',42,-93.4,7);
stateLookup[15] = new Array('KS','Sam Brownback','Pat Roberts','@SenSamBrownback','Sen. Pat Roberts','http://brownback.senate.gov/public/contact/emailsam.cfm','http://roberts.senate.gov/public/index.cfm?FuseAction=ContactInformation.EmailPat',41,-98.5,6);
stateLookup[16] = new Array('KY','Mitch McConnell','Jim Bunning','Sen. Mitch McConnell','Sen. Jim Bunning','http://mcconnell.senate.gov/public/index.cfm?p=ContactForm','http://bunning.senate.gov/public/index.cfm?FuseAction=Contact.ContactForm',39,-85,6);
stateLookup[17] = new Array('LA','David Vitter','Mary Landrieu','@DavidVitter','Sen. Mary Landrieu','http://vitter.senate.gov/public/index.cfm?FuseAction=Contact.ContactForm','http://landrieu.senate.gov/contact/index.cfm',31.15,-92,7);
stateLookup[18] = new Array('ME','Susan Collins','Olympia Snowe','@SenatorCollins','Sen. Olympia Snowe','http://collins.senate.gov/public/continue.cfm?FuseAction=ContactSenatorCollins.EmailIssue','http://snowe.senate.gov/public/index.cfm?FuseAction=ContactSenatorSnowe.Email',45.9,-69,6);
stateLookup[19] = new Array('MD','Benjamin Cardin','Barbara Mikulski','Sen. Benjamin Cardin','Sen. Barbara Mikulski','http://cardin.senate.gov/contact/email.cfm','http://mikulski.senate.gov/Contact/contact.cfm',39.4,-77.5,7);
stateLookup[20] = new Array('MA','John Kerry','Paul Kirk','@JohnKerry','Sen. Paul Kirk','http://kerry.senate.gov/contact/email.cfm','http://www.senate.gov/pagelayout/senators/one_item_and_teasers/kirk.htm',42.75,-72,7);
stateLookup[21] = new Array('MI','Carl Levin','Debbie Stabenow','Sen. Carl Levin','Sen. Debbie Stabenow','http://levin.senate.gov/contact/','http://stabenow.senate.gov/email.cfm',44.75,-86.25,6);
stateLookup[22] = new Array('MN','Al Franken','Amy Klobuchar','Sen. Al Franken','Sen. Amy Klobuchar','mailto:info@franken.senate.gov','http://klobuchar.senate.gov/emailamy.cfm',46.5,-94.5,6);
stateLookup[23] = new Array('MS','Roger Wicker','Thad Cochran','@RogerWicker','Sen. Thad Cochran','http://wicker.senate.gov/public/index.cfm?FuseAction=Contact.EMailSenatorWicker','http://cochran.senate.gov/email.html',33.75,-90,6);
stateLookup[24] = new Array('MO','Claire McCaskill','Christopher Bond','@clairecmc','Sen. Christopher Bond','http://mccaskill.senate.gov/contact/','http://bond.senate.gov/public/index.cfm?FuseAction=ContactUs.ContactForm',39,-92.75,6);
stateLookup[25] = new Array('MT','Max Baucus','Jon Tester','Sen. Max Baucus','Sen. Jon Tester','http://baucus.senate.gov/contact/emailForm.cfm?subj=issue','http://tester.senate.gov/Contact/index.cfm',47,-110,6);
stateLookup[26] = new Array('NE','Ben Nelson','Mike Johanns','@SenBenNelson','Sen. Mike Johanns','http://bennelson.senate.gov/contact-me.cfm','http://johanns.senate.gov/public/?p=ContactSenatorJohanns',43,-100,6);
stateLookup[27] = new Array('NV','John Ensign','Harry Reid','@JohnEnsign','@SenatorReid','http://ensign.senate.gov/public/index.cfm?FuseAction=Contact.ContactForm','http://reid.senate.gov/contact/index.cfm',38.6,-117,6);
stateLookup[28] = new Array('NH','Judd Gregg','Jeanne Shaheen','Sen. Judd Gregg','Sen. Jeanne Shaheen','http://gregg.senate.gov/public/index.cfm?FuseAction=Contact.ContactForm','http://shaheen.senate.gov/contact/',44.25,-71.5,7);
stateLookup[29] = new Array('NJ','Robert Menendez','Frank Lautenberg','@SenatorMenendez','Sen. Frank Lautenberg','http://menendez.senate.gov/contact/','http://lautenberg.senate.gov/contact/index1.cfm',40.5,-74.7,7);
stateLookup[30] = new Array('NM','Tom Udall','Jeff Bingaman','@TomUdall','Sen. Jeff Bingaman','http://tomudall.senate.gov/contact/contact.cfm','http://bingaman.senate.gov/contact/',34.5,-106,6);
stateLookup[31] = new Array('NY','Charles Schumer','Kirsten Gillibrand','Sen. Charles Schumer','Sen. Kirsten Gillibrand','http://schumer.senate.gov/new_website/contact.cfm','http://gillibrand.senate.gov/contact/',43.5,-76,6);
stateLookup[32] = new Array('NC','Kay Hagan','Richard Burr','Sen. Kay Hagan','Sen. Richard Burr','http://hagan.senate.gov/?p=contact','http://burr.senate.gov/public/index.cfm?FuseAction=Contact.ContactForm',37,-80,6);
stateLookup[33] = new Array('ND','Kentt Conrad','Byron Dorgan','Sen. Kent Conrad','Sen. Byron Dorgan','http://conrad.senate.gov/contact/webform.cfm','http://dorgan.senate.gov/contact/contact_form.cfm',48.5,-100,6);
stateLookup[34] = new Array('OH','Sherrod Brown','George Voinovich','Sen. Sherrod Brown','Sen. George Voinovich','http://brown.senate.gov/contact/','http://voinovich.senate.gov/public/index.cfm?FuseAction=Contact.ContactForm',41.6,-83,6);
stateLookup[35] = new Array('OK','Tom Coburn','Jim Inhofe','@TomCoburn','@jiminhofe','http://coburn.senate.gov/public/index.cfm?FuseAction=ContactSenatorCoburn.Home','http://inhofe.senate.gov/public/index.cfm?FuseAction=Contact.ContactForm',36.5,-98.5,6);
stateLookup[36] = new Array('OR','Jeff Merkley','Ron Wyden','@SenJeffMerkley','Sen. Ron Wyden','http://merkley.senate.gov/contact/','http://wyden.senate.gov/contact/',45,-121,6);
stateLookup[37] = new Array('PA','Arlen Specter','Robert Casey','@SenArlenSpecter','Sen. Robert Casey','http://specter.senate.gov/public/index.cfm?FuseAction=Contact.ContactForm','http://casey.senate.gov/contact/',41,-77.5,7);
stateLookup[38] = new Array('RI','Jack Reed','Sheldon Whitehouse','Sen. Jack Reed','Sen. Sheldon Whitehouse','http://reed.senate.gov/contact/contact-share.cfm','http://whitehouse.senate.gov/contact/',41.72,-71.5,9);
stateLookup[39] = new Array('SC','Jim DeMint','Lindsey Graham','@JimDeMint','Sen. Lindsey Graham','http://demint.senate.gov/public/index.cfm?FuseAction=Contact.Home','http://lgraham.senate.gov/public/index.cfm?FuseAction=Contact.EmailSenatorGraham',33.75,-81.5,7);
stateLookup[40] = new Array('SD','John Thune','Tim Johnson','@JohnThune','Sen. Tim Johnson','http://thune.senate.gov/public/index.cfm?FuseAction=Contact.Email','http://johnson.senate.gov/contact/',45.5,-100,6);
stateLookup[41] = new Array('TN','Lamar Alexander','Bob Corker','Sen. Lamar Alexander','Sen. Bob Corker','http://alexander.senate.gov/public/index.cfm?FuseAction=Contact.Home','http://corker.senate.gov/public/index.cfm?FuseAction=ContactInformation.ContactMe',37,-85,6);
stateLookup[42] = new Array('TX','John Cornyn','Kay B. Hutchison','@JohnCornyn','Sen. Kay B. Hutchison','http://cornyn.senate.gov/public/index.cfm?FuseAction=Contact.ContactForm','http://hutchison.senate.gov/contact.cfm',33,-99,5);
stateLookup[43] = new Array('UT','Orrin Hatch','Robert Bennett','@OrrinHatch','Sen. Robert Bennett','http://hatch.senate.gov/public/index.cfm?FuseAction=Offices.Contact','http://bennett.senate.gov/public/index.cfm?p=Email',40,-112,6);
stateLookup[44] = new Array('VT','Patrick Leahy','Bernard Sanders','Sen. Patrick Leahy','Sen. Bernard Sanders','http://leahy.senate.gov/contact.cfm','http://sanders.senate.gov/contact/',44.25,-72.5,7);
stateLookup[45] = new Array('VA','Mark Warner','Jim Webb','@MarkWarner','Sen. Jim Webb','http://warner.senate.gov/public/index.cfm?p=Contact','http://webb.senate.gov/contact/',39,-79.5,6);
stateLookup[46] = new Array('WA','Maria Cantwell','Patty Murray','Sen. Maria Cantwell','Sen. Patty Murray','http://cantwell.senate.gov/contact/','http://murray.senate.gov/email/index.cfm',48,-121,6);
stateLookup[47] = new Array('WV','Robert Byrd','Jay Rockefeller','Sen. Robert Byrd','Sen. Jay Rockefeller','http://byrd.senate.gov/contacts/','http://rockefeller.senate.gov/contact/email.cfm',38.9,-80.5,7);
stateLookup[48] = new Array('WI','Russ Feingold','Herb Kohl','@russfeingold','Sen. Herb Kohl','http://feingold.senate.gov/contact_opinion.html','http://kohl.senate.gov/contact.cfm',45.2,-90,6);
stateLookup[49] = new Array('WY','John Barrasso','Michael Enzi','Sen. John Barrasso','Sen. Michael Enzi','http://barrasso.senate.gov/public/index.cfm?FuseAction=ContactUs.ContactForm','http://enzi.senate.gov/public/index.cfm?FuseAction=ContactInformation.EmailSenatorEnzi',44,-107.5,6);
//stateLookup[50] = new Array('DC','Eleanor H. Norton','Eleanor H. Norton','Rep. Eleanor H. Norton','Rep. Eleanor H. Norton','http://www.norton.house.gov/index.php?option=com_content&task=view&id=649&Itemid=','http://www.norton.house.gov/index.php?option=com_content&task=view&id=649&Itemid=',38.9,-77,10);

var congressConvert = new Array();
congressConvert[0] = new Array('Sen. Alexander Lamar','Sen. Lamar Alexander');
congressConvert[1] = new Array('Sen. Russell Feingold','@russfeingold');
congressConvert[2] = new Array('@Richard Shelby','@RichardShelby');
congressConvert[3] = new Array('Sen. Jon Kyl,','Sen. Jon Kyl');
congressConvert[4] = new Array('@Jeffrey Merkley','@SenJeffMerkley');
congressConvert[5] = new Array('Sen. John Cornyn','@JohnCornyn');
congressConvert[6] = new Array('Sen. Mel Martinez','@MelMartinez');
congressConvert[7] = new Array('Sen. Orrin Hatch','@OrrinHatch');
congressConvert[8] = new Array('Sen. Joe Lieberman,','Sen. Joe Lieberman');


// Get state from zip
function zip2state(zip,callback,failback) {
  if (zip.length < 5) {
    failback();
    return false;
  }
  if (!geocoder) {
    failback();
    return false;
  }
  geocoder.getLatLng(
    zip,
    function(point) {
      if (!point) {
        failback();
        return false;
      } //!point
      geocoder.getLocations(
        point,
        function(addr) {

          if (!addr || addr.Status.code != 200) {
            failback();
            return false;
          }
            var state;

            //Loop through all returned placemarks until we find one that has a valid AdministrativeArea
            for(var i=0; i<addr.Placemark.length; i++) {
                var placemark = addr.Placemark[i];

                if(typeof placemark.AddressDetails.Country.AdministrativeArea == 'object') {
                    state = placemark.AddressDetails.Country.AdministrativeArea.AdministrativeAreaName;
                    break;
                }
            }

          callback(state);
        } //function(addr)
      ); //getLocations
    } //function point
  ); //getLatLng
}

// Get member of congress handle from state
function getCongress(state,select) {
  for (var i = 0; i < stateLookup.length; i++) {
    if (stateLookup[i][0] == state) {
	  if (select == 0) {
        if (Math.random() < 0.5)
          return stateLookup[i][3];
        else
          return stateLookup[i][4];
      } else if (select == 3 || select == 4) {
        return stateLookup[i][select];
      }
    }
  }
  return 'Congress';
}

// Convert names from older versions to newer versions
function updateCongress(name) {
  for (var i = 0; i < congressConvert.length; i++) {
    if (congressConvert[i][0] == name) {
      return congressConvert[i][1];
    }
  }
  return name;
}

// Generate Tweet to congress
function generateTweet(zip,state) {
  var congress = getCongress(state.toUpperCase(),0);
  if (congress.length > 0) congress = congress + ': ';
  var tweetIndex = Math.floor(Math.random()*tweetList.length);
  var tweetText = tweetList[tweetIndex];
  var linkIndex = Math.floor(Math.random()*linkList.length);
  var linkText = linkList[linkIndex];
  var tweet = congress + tweetText + ' ' + linkText + ' %23' + hash;
  return tweet;
}

/********* begin CONTACT SENATOR FORM FUNCTIONS ********************/
function actNowPopup() {
  popupWindow("/actnow/",'ActNow',1024,screen.height);
  popupWin.moveTo(screen.width/2-100,100);
}

function contactSenator() {
	if (/(^\d{5}$)|(^\d{5}-\d{4}$)/.test(jQuery('#search_term').val())) {
	  popupWindow("/popup.php",'ContactSenate',800,screen.height);
	  popupWin.moveTo(screen.width/2-100,100);

	} else {
		alert("I'm sorry the Zip Code you entered is not recognized, please try again.");
		return false;
	}
}

function popup_callback() {
	zip2state(jQuery('#search_term').val(),displayContact,closePopup);
	if (isdefined("pageTracker")) {
		//pageTracker._trackPageview('/senator_contact/'+jQuery('#search_term').val());
		pageTracker._trackEvent('Contact Your Senator', 'Contact Form', jQuery('#search_term').val());
	}
}

function displayContact(state) {
  var senatorOneName = getCongressContact(state.toUpperCase(),1);
  var senatorTwoName = getCongressContact(state.toUpperCase(),2);
  var senatorOneURL = getCongressContact(state.toUpperCase(),5);
  var senatorTwoURL = getCongressContact(state.toUpperCase(),6);

  if (senatorOneURL != 0) {

	var senatorFrame = popupWin.document.getElementById('senatorframe');
	senatorFrame.src = senatorOneURL;
	popupWin.document.senatorOneURL = senatorOneURL;

	var senatorOneNameDiv = popupWin.document.getElementById('senator1name');
	senatorOneNameDiv.innerHTML = senatorOneName;

	var senatorTwoNameDiv = popupWin.document.getElementById('senator2name');
	senatorTwoNameDiv.innerHTML = senatorTwoName;
	popupWin.document.senatorTwoURL = senatorTwoURL;

        //Hide the button for the 2nd senator if the name is blank
        if(!senatorTwoName) {
            senatorTwoNameDiv.style.display = 'none';
        }
  } else {
	alert("I'm sorry the Zip Code you entered is not recognized, please try again.");
	closePopup();
  }
}

// Get member of congress handle from state
function getCongressContact(state,select) {
  for (var i = 0; i < stateLookup.length; i++) {
    if (stateLookup[i][0] == state) {
	  if (select == 0) {
         if (Math.random() < 0.5)
          return stateLookup[i][5];
        else
          return stateLookup[i][6];
      } else if (select != "") {
        return stateLookup[i][select];
      }
    }
  }
  return 0;
}
/********* end CONTACT SENATOR FORM FUNCTIONS ********************/


function tweetSenator() {
	if (/(^\d{5}$)|(^\d{5}-\d{4}$)/.test(jQuery('#search_term').val())) {
		popupWindow('/twitter_popup.php','TweetSenate',800,600);
		popupWin.moveTo(screen.width/2-100,100);
		zip2state(jQuery('#search_term').val(),displayTweet,closePopup);

		if (isdefined("pageTracker")) {
			//pageTracker._trackPageview('/senator_tweet/'+jQuery('#search_term').val());

			pageTracker._trackEvent('Contact Your Senator', 'Twitter', jQuery('#search_term').val());
		}
	} else {
		alert("I'm sorry the Zip Code you entered is not recognized, please try again.");
		return false;
	}
}

function displayTweet(state) {
  var zip = jQuery('#search_term').val();
  var tweet = generateTweet(zip,state);
  var url = 'http://twitter.com/home?status=' + tweet.replace(/ /g,'+');
  popupWin.location = url;
}

function twitter_callback ()
{
	return true;
}

function tweet_timeout() {
	if(!tweets_are_loaded) { $("#twitter_loading").css("display","none"); $("#twitter_error").css("display","block"); }
}


String.prototype.linkify = function() {
		return this.replace(/[A-Za-z]+:\/\/[A-Za-z0-9-_]+\.[A-Za-z0-9-_:%&\?\/.=]+/, function(m) {
    return m.link(m);
  });
};

function relative_time(time_value) {
	  var values = time_value.split(" ");
	  time_value = values[1] + " " + values[2] + ", " + values[5] + " " + values[3];
	  var parsed_date = Date.parse(time_value);
	  var relative_to = (arguments.length > 1) ? arguments[1] : new Date();
	  var delta = parseInt((relative_to.getTime() - parsed_date) / 1000);
	  delta = delta + (relative_to.getTimezoneOffset() * 60);

	  var r = '';
	  if (delta < 60) {
	    r = 'a minute ago';
	  } else if(delta < 120) {
	    r = 'couple of minutes ago';
	  } else if(delta < (45*60)) {
	    r = (parseInt(delta / 60)).toString() + ' minutes ago';
	  } else if(delta < (90*60)) {
	    r = 'an hour ago';
	  } else if(delta < (24*60*60)) {
	    r = '' + (parseInt(delta / 3600)).toString() + ' hours ago';
	  } else if(delta < (48*60*60)) {
	    r = '1 day ago';
	  } else {
	    r = (parseInt(delta / 86400)).toString() + ' days ago';
	  }

	  return r;
}


// Function to trim white space from string
function trim(str) {
  return str.replace(/^\s+|\s+$/g, '');
}

function isdefined( variable)
{
    return (typeof(window[variable]) == "undefined")?  false: true;
}


function submitenter(e) {
  var keycode;
  if (window.event) keycode = window.event.keyCode;
  else if (e) keycode = e.which;
  else return true;

  if (keycode == 13) {
    contactSenator();
    return false;
  } else {
    return true;
  }
}

var popupWin;
function popupWindow(link,name,width,height) {
  if(typeof(popupWin) == 'object') { closePopup() };
  if (typeof(link) != 'string') {
    href=link.href;
  } else {
    href=link;
  }
  popupWin = window.open(link,name,'width='+width+',height='+height+',scrollbars=yes,resizable=yes');
  if (window.focus) {
    popupWin.focus();
  }
  return false;
}

function closePopup() {
  popupWin.close();
}



jQuery(document).ready(function() {
	hash = "F136";
	geocoder = new GClientGeocoder();
	tweets_are_loaded = false;

	var tweet_timeout = setTimeout('tweet_timeout()',15000);

	var url = "http://twitter.com/status/user_timeline/F136.json?count=3&callback=?";
	$.getJSON(
		url,
		function(data,textStatus){
			$("#twitter_loading").css("display","none");
			$.each(data, function(i, item) {
				tweets_are_loaded = true;
				$("img#twitter_profile").attr("src", item.user["profile_image_url"]);
				$("#TwitterBox").append("<div class=\"tweet\">" + item.text.linkify() + " <span class='created_at'>" + relative_time(item.created_at) + " via " + item.source + "</span></div>");
			});

			}
		);


});



