<?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>Softcore software development &#187; hugs</title>
	<atom:link href="http://tea.cesaroliveira.net/archives/category/hugs/feed" rel="self" type="application/rss+xml" />
	<link>http://tea.cesaroliveira.net</link>
	<description>It&#039;s all about the cycles</description>
	<lastBuildDate>Sun, 01 Aug 2010 02:04:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Update</title>
		<link>http://tea.cesaroliveira.net/archives/176</link>
		<comments>http://tea.cesaroliveira.net/archives/176#comments</comments>
		<pubDate>Sat, 27 Feb 2010 03:08:22 +0000</pubDate>
		<dc:creator>Cesar</dc:creator>
				<category><![CDATA[hugs]]></category>

		<guid isPermaLink="false">http://tea.cesaroliveira.net/?p=176</guid>
		<description><![CDATA[I have been suspiciously absent from my blog, even though I don&#8217;t blog very much. Truthfully, I have been getting a lot of nothing done. Socially, the experiment is a failure, as I haven&#8217;t been able to make new friends. Relationship with my ex is still in a wild state of flux (we almost went [...]]]></description>
			<content:encoded><![CDATA[<p>I have been suspiciously absent from my blog, even though I don&#8217;t blog very much. Truthfully, I have been getting a lot of nothing done. Socially, the experiment is a failure, as I haven&#8217;t been able to make new friends. Relationship with my ex is still in a wild state of flux (we almost went a whole month without a fight!), and I have gone completely <acronym title="Absent Without Official Leave">AWOL</acronym> on any contributing to <a href="https://addons.mozilla.org/" onclick="pageTracker._trackPageview('/outgoing/addons.mozilla.org/?referer=');">AMO</a>.</p>
<p>On the positive notes, I have and continue to learn more about cryptography even though I haven&#8217;t finished (hell, you can say I barely started) reading the <a href="http://www.cacr.math.uwaterloo.ca/hac/" onclick="pageTracker._trackPageview('/outgoing/www.cacr.math.uwaterloo.ca/hac/?referer=');">Handbook of Applied Cryptography</a> which is a fascinating book that is low level. I have finished, and testing, a working implementation of SHA-1 and MD5 hash. It&#8217;s for a slightly bigger project that I had in mind.</p>
<p>My work is going very well. Since being assigned Tester/Release Manager (it&#8217;s not quite as involved as Mozilla release manager, believe me) I have been learning about NSIS installers and C++ testing frameworks, which is always fun and exciting and strange.</p>
<p>Moving on, I hope to have a working implementation of AES in March, even though I am mathematically challenged and will have no practical solution for it (it will be a solution without a problem). There are still several bugs assigned to me in <a href="https://wiki.mozilla.org/Update:Remora" onclick="pageTracker._trackPageview('/outgoing/wiki.mozilla.org/Update_Remora?referer=');">Remora</a> that I plan on finishing. I will still need to make a actual effort to get socially involved. I still have two goals that really should have started in January that includes:</p>
<ul>
<li>Getting my gun licence</li>
<li>Going to the gym</li>
</ul>
<p>My work will also be evolving soon to tackle our next release of the SmartSwipe. Totally not sure how much to give away, but it&#8217;s a tight deadline.</p>
<p>Ah, it feels good to reflect back on the last few months and have a plan for the future.</p>
]]></content:encoded>
			<wfw:commentRss>http://tea.cesaroliveira.net/archives/176/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Destination Regina</title>
		<link>http://tea.cesaroliveira.net/archives/133</link>
		<comments>http://tea.cesaroliveira.net/archives/133#comments</comments>
		<pubDate>Mon, 26 Oct 2009 05:17:40 +0000</pubDate>
		<dc:creator>Cesar</dc:creator>
				<category><![CDATA[hugs]]></category>
		<category><![CDATA[personal]]></category>
		<category><![CDATA[microblog]]></category>
		<category><![CDATA[regina]]></category>
		<category><![CDATA[toronto]]></category>

		<guid isPermaLink="false">http://tea.cesaroliveira.net/?p=133</guid>
		<description><![CDATA[Yesterday, I accepted an offer to work at NetSecure Technologies which is a company based in Regina doing Firefox extension and C# work (mainly the former. I never worked with the latter, and they are aware of that). This also means I have to relocate to a city who I know nothing about. In fact, [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday, I accepted an offer to work at NetSecure Technologies which is a company based in Regina doing Firefox extension and C# work (mainly the former. I never worked with the latter, and they are aware of that). This also means I have to relocate to a city who I know nothing about. In fact, I will likely be a typical snobby Torontoian for the year contract that it is for.</p>
<p>Unfortunately I will be leaving my current employer PPX. Good people. But I am excited about my new job responsibilities, and think it will be a better fit for me.</p>
]]></content:encoded>
			<wfw:commentRss>http://tea.cesaroliveira.net/archives/133/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Protected: Whazzup!?</title>
		<link>http://tea.cesaroliveira.net/archives/109</link>
		<comments>http://tea.cesaroliveira.net/archives/109#comments</comments>
		<pubDate>Sat, 03 Oct 2009 20:17:21 +0000</pubDate>
		<dc:creator>Cesar</dc:creator>
				<category><![CDATA[hugs]]></category>

		<guid isPermaLink="false">http://tea.cdolivei.webfactional.com/?p=109</guid>
		<description><![CDATA[There is no excerpt because this is a protected post.]]></description>
			<content:encoded><![CDATA[<form action="http://tea.cesaroliveira.net/wp-pass.php" method="post">
<p>This post is password protected. To view it please enter your password below:</p>
<p><label for="pwbox-109">Password:<br />
<input name="post_password" id="pwbox-109" type="password" size="20" /></label><br />
<input type="submit" name="Submit" value="Submit" /></p></form>
]]></content:encoded>
			<wfw:commentRss>http://tea.cesaroliveira.net/archives/109/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Maps and geolocation</title>
		<link>http://tea.cesaroliveira.net/archives/61</link>
		<comments>http://tea.cesaroliveira.net/archives/61#comments</comments>
		<pubDate>Fri, 10 Jul 2009 05:37:34 +0000</pubDate>
		<dc:creator>Cesar</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[hugs]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[browser compatibility]]></category>
		<category><![CDATA[google chrome]]></category>

		<guid isPermaLink="false">http://tea.cesaroliveira.net/?p=61</guid>
		<description><![CDATA[I was first made aware of the fact that maps.google.com now uses geolocation by sdwilsh, which is new in Firefox 3.5. But when I loaded maps, I was surprised to see that it didn&#8217;t work when I visited the site. And I was using something even more recent than Firefox 3.5, Minefield. Surely, it has [...]]]></description>
			<content:encoded><![CDATA[<p>I was first made aware of the fact that <a href="http://maps.google.com" onclick="pageTracker._trackPageview('/outgoing/maps.google.com?referer=');">maps.google.com</a> now uses <a href="https://developer.mozilla.org/En/Using_geolocation" onclick="pageTracker._trackPageview('/outgoing/developer.mozilla.org/En/Using_geolocation?referer=');">geolocation</a> by <a href="http://twitter.com/sdwilsh/status/2553543365" onclick="pageTracker._trackPageview('/outgoing/twitter.com/sdwilsh/status/2553543365?referer=');">sdwilsh</a>, which is new in <a href="http://www.spreadfirefox.com" onclick="pageTracker._trackPageview('/outgoing/www.spreadfirefox.com?referer=');">Firefox 3.5</a>. But when I loaded maps, I was surprised to see that it didn&#8217;t work when I visited the site. And I was using something even more recent than Firefox 3.5, Minefield. Surely, it has geolocation, so what is going on?</p>
<p>The reason maps doesn&#8217;t support Minefield is because of  *<a href="http://www.youtube.com/watch?v=NNaZedAWmlE" onclick="pageTracker._trackPageview('/outgoing/www.youtube.com/watch?v=NNaZedAWmlE&amp;referer=');">drumrolls</a>* &#8230; browser sniffing. Developers&#8230; no wait&#8230; GOOGLE web developers, I thought we moved on?</p>
<p>The actual bit of code is here unminimized and tidied up ;<br />
<code>
<pre>
function isBrowserGeolocationSupported(){
    if (window.navigator &#038;&#038;
        navigator.userAgent.search("Firefox") != -1 &#038;&#038;
        navigator.geolocation)
        return true;
    if (window.navigator &#038;&#038;
        navigator.userAgent.search("Chrome") != -1)
        return Number(String(/Chrome\/[0-9]+/.exec(navigator.userAgent)).substr(7))>=2;
    var gearsFactory=null;
</pre>
<p></code></p>
<p>The hell? Ok, so I understand they do a bit of browser sniffing because it looks like Chrome had a old/broken implementation of geolocation. But I wish there was a more graceful way of doing this (maybe something like navigator.geolocation.version < 1). One that didn't break every application that may implement geolocation that isn't named Firefox. Because, those <a href="http://flock.com/" onclick="pageTracker._trackPageview('/outgoing/flock.com/?referer=');">exist</a> <a href="http://www.getsongbird.com/" onclick="pageTracker._trackPageview('/outgoing/www.getsongbird.com/?referer=');">too</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://tea.cesaroliveira.net/archives/61/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oh Windows</title>
		<link>http://tea.cesaroliveira.net/archives/60</link>
		<comments>http://tea.cesaroliveira.net/archives/60#comments</comments>
		<pubDate>Thu, 12 Feb 2009 02:07:09 +0000</pubDate>
		<dc:creator>Cesar</dc:creator>
				<category><![CDATA[hugs]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[windows error]]></category>

		<guid isPermaLink="false">http://www.cesaroliveira.net/?p=60</guid>
		<description><![CDATA[You are an endless source of joy in my otherwise frustrating Linux life.]]></description>
			<content:encoded><![CDATA[<p>You are an endless source of joy in my otherwise frustrating Linux life.<br />
<a href="/files/2009-02-11/dsc02814.jpg"><img src="/files/2009-02-11/dsc02814-crop.jpg" alt="Microsoft Windows Operating System has encountered a problem and needs to close." /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://tea.cesaroliveira.net/archives/60/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Uncovering the underlying metadata</title>
		<link>http://tea.cesaroliveira.net/archives/54</link>
		<comments>http://tea.cesaroliveira.net/archives/54#comments</comments>
		<pubDate>Thu, 22 Jan 2009 18:28:43 +0000</pubDate>
		<dc:creator>Cesar</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[hugs]]></category>
		<category><![CDATA[audio]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[extension]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[seneca]]></category>
		<category><![CDATA[sleep]]></category>

		<guid isPermaLink="false">http://www.cesaroliveira.net/?p=53</guid>
		<description><![CDATA[A few weeks ago, I wanted to do some C++ Mozilla coding to make sure I wasn&#8217;t going soft. But I didn&#8217;t really know what to do. I left it for a bit until I found something weird about the HTML5 spec &#8211; there was a method of testing whether metadata has been loaded, but [...]]]></description>
			<content:encoded><![CDATA[<p>A few weeks ago, I wanted to do some C++ Mozilla coding to make sure I wasn&#8217;t going soft. But I didn&#8217;t really know what to do. I left it for a bit until I found something <a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/video.html#dom-media-have_metadata" onclick="pageTracker._trackPageview('/outgoing/www.whatwg.org/specs/web-apps/current-work/multipage/video.html_dom-media-have_metadata?referer=');">weird about the HTML5 spec</a> &#8211; there was a method of testing whether metadata has been loaded, but no way to expose the metadata (eg. song title, artist, album, etc) to the user such as through page info.</p>
<p>I think this will be useful. As media starts being embedded into the web browser, it would make sense to start exposing this to the user. I know there have been a few instances where I was listening to something on the radio, but there was little hint of what the song was called (I usually tried to remember a few lyrics and did a Google search. Mixed success).</p>
<p>I brought this up in the whatwg irc channel, and apparently this is being considered for the next version of the spec. Which is understandable, because the server can always display the metadata. But often, media may not be central to the website. For example, background music.</p>
<p>I started look at the Audio/Video backend stuff that moz uses. It got confusing real quick (it doesn&#8217;t help that the <a href="http://mxr.mozilla.org/mozilla-central/source/content/html/content/src/nsHTMLAudioElement.cpp" onclick="pageTracker._trackPageview('/outgoing/mxr.mozilla.org/mozilla-central/source/content/html/content/src/nsHTMLAudioElement.cpp?referer=');">audio code</a> itself is completely empty). Plus I was in a hurry. So I decided to implement it as an extension.</p>
<p>It was a lovely experience. I had a few problems, including finding out that audio/video wasn&#8217;t actually being saved to the cache (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=469446" onclick="pageTracker._trackPageview('/outgoing/bugzilla.mozilla.org/show_bug.cgi?id=469446&amp;referer=');">bug 469446</a>). It was checked-in like 2 days after I found it out. Also, I hate string very much. The string guide helped, but it is still awful. And I made firefox crash a few times because I&#8217;m a nsCOMPtr n00b.</p>
<p>Right now, this extension is working only with ogg vorbis files. Which is stupid because &lt;audio /&gt; is rarely used anywhere, and if it is used, only with certain conditions (wikimedia commons uses the audio tag, but not really. Apparently, the video/audio tags start automatically downloading the media even if it isn&#8217;t under autoplay. This is a mess if you have dozens of audio tags in one page. <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=464272" onclick="pageTracker._trackPageview('/outgoing/bugzilla.mozilla.org/show_bug.cgi?id=464272&amp;referer=');">bug 464272</a>). It is so rarely used, that I had to create a <a href="/files/2009-01-22/audio">audio demo page</a> for testing purposes.</p>
<p>Using it is very simple. Right-clicking on a audio tag brings up the context menu. I decided to use the context menu over Page Info because the media tab of the Page info dialog is very much geared towards images, and that code has to be changed in the firefox source (it&#8217;s not easy/pretty to overlay).</p>
<div style="text-align:center;"><img src="/files/2009-01-22/context.png" alt="audio context menu"/></div>
<p>Which brings up the audio&#8217;s metadata</p>
<div style="text-align:center"><img src="/files/2009-01-22/properties.png" alt="audio properties"/></div>
<p>While a lot of metadata is displayed, some isn&#8217;t. For example, iTunes has support for cover art as a COVERART header. While you can put that in vorbis, it should be noted that it isn&#8217;t <a href="http://wiki.xiph.org/index.php/VorbisComment#Unofficial_.22COVERART.22_field" onclick="pageTracker._trackPageview('/outgoing/wiki.xiph.org/index.php/VorbisComment_Unofficial_.22COVERART.22_field?referer=');">widely supported</a>. So I decided to put in only the <a href="http://www.xiph.org/vorbis/doc/v-comment.html" onclick="pageTracker._trackPageview('/outgoing/www.xiph.org/vorbis/doc/v-comment.html?referer=');">standard headers</a> for now.</p>
<p>This is dealing with C++ code. Which is much more dangerous than javascript code because NS_ERROR_OMGWTF doesn&#8217;t appear in your error console when I try to free an uninitialized pointer. I made basic checks so hopefully nothing bad will happen. But I didn&#8217;t do extensive checking in case we have a bad ogg file or something.</p>
<p>Well, to be fair to me, I always save the function&#8217;s return value. I just didn&#8217;t check whether it passed nor did anything about it. And this won&#8217;t just crash at any time. It&#8217;ll crash if you try to load the metadata (I&#8217;m very nice like that).</p>
<p>The name of the <a href="https://addons.mozilla.org/en-US/firefox/addon/10465" onclick="pageTracker._trackPageview('/outgoing/addons.mozilla.org/en-US/firefox/addon/10465?referer=');">extension is saraswati</a>, named after the <a href="http://en.wikipedia.org/wiki/Saraswati" onclick="pageTracker._trackPageview('/outgoing/en.wikipedia.org/wiki/Saraswati?referer=');">hindu God of music and knowledge</a> (really, a Google search helped out a lot here). Please enjoy! (Linux x86, x86-64 and Windows x86 only right now)</p>
]]></content:encoded>
			<wfw:commentRss>http://tea.cesaroliveira.net/archives/54/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NSILHNFHDwxyz</title>
		<link>http://tea.cesaroliveira.net/archives/47</link>
		<comments>http://tea.cesaroliveira.net/archives/47#comments</comments>
		<pubDate>Mon, 05 Jan 2009 05:09:33 +0000</pubDate>
		<dc:creator>Cesar</dc:creator>
				<category><![CDATA[hugs]]></category>
		<category><![CDATA[personal]]></category>
		<category><![CDATA[nsid]]></category>
		<category><![CDATA[shaving]]></category>

		<guid isPermaLink="false">http://www.cesaroliveira.net/?p=47</guid>
		<description><![CDATA[This has sorta turned out to be a mashup of NSID. But because I started mid-November, it&#8217;s No Shaving In the Last Half of November and First Half of December. wxyz for the more obtuse title name. I wasn&#8217;t sure when I started. At the very latest, it was November 14th. So yesterday marked the [...]]]></description>
			<content:encoded><![CDATA[<p>This has sorta turned out to be a mashup of <a href="http://www.noshavingindecember.org/" onclick="pageTracker._trackPageview('/outgoing/www.noshavingindecember.org/?referer=');">NSID</a>. But because I started mid-November, it&#8217;s</p>
<p><b>No</b> <b>Shaving</b> <b>In</b> the <b>Last</b> <b>Half</b> of <b>November</b> and <b>First</b> <b>Half</b> of <b>December</b>. wxyz for the more obtuse title name.</p>
<p>I wasn&#8217;t sure when I started. At the very latest, it was November 14th. So yesterday marked the 31st day, and today is the day I can shave it off <img src='http://tea.cesaroliveira.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Happy New Years!<br />
It wasn&#8217;t easy, and I hate the end result. But I enjoy the not shaving for 31 days part.</p>
<p>I&#8217;m covering up my beard here. I wouldn&#8217;t look too bad with some facial hair :<br />
<img src="/files/2008-12-17/dsc02787-min.jpg" alt="In deep thought"/></p>
<p>A comparison :<br />
<img src="/files/2008-12-17/me_vs_waluigi.jpg" alt="Me vs. Waluigi"/></p>
<p>UPDATE : I originally wrote this mid-December, but kept it in draft until the beginning of January so not to spoil the other participants and for them to get all jealous. Thanks to one of my bank statements, I figured out I most likely started on the 19th, not the 14th. So I shaved 5 days too early. fail</p>
]]></content:encoded>
			<wfw:commentRss>http://tea.cesaroliveira.net/archives/47/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A (Use) Case for self-signed certs</title>
		<link>http://tea.cesaroliveira.net/archives/43</link>
		<comments>http://tea.cesaroliveira.net/archives/43#comments</comments>
		<pubDate>Fri, 14 Nov 2008 08:21:02 +0000</pubDate>
		<dc:creator>Cesar</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[hugs]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://www.cesaroliveira.net/?p=43</guid>
		<description><![CDATA[There was a bunch of GPG tinkering trying to get GPG to generate a ssh-compatible (ie. one you get from id_rsa.pub) key using my private key. While it turned into a epic fail costing me a good chunk of the day. I dived a bit into the security stuff that everyone hates. While going about [...]]]></description>
			<content:encoded><![CDATA[<p>There was a bunch of <acronym title="GNU Privacy Guard"><a href="http://www.gnupg.org/" onclick="pageTracker._trackPageview('/outgoing/www.gnupg.org/?referer=');">GPG</a></acronym> tinkering trying to get GPG to generate a ssh-compatible (ie. one you get from id_rsa.pub) key using my private key. While it turned into a epic fail costing me a good chunk of the day. I dived a bit into the security stuff that everyone hates.</p>
<p>While going about my day, I wondering if self-signed certs can be used in a way that wouldn&#8217;t get you ostracized from a security conscious community. Johnathon has <a href="http://blog.johnath.com/2008/08/05/ssl-question-corner/" onclick="pageTracker._trackPageview('/outgoing/blog.johnath.com/2008/08/05/ssl-question-corner/?referer=');">warned the blogosphere</a> at large why self-signed certs are bad and why Firefox makes you jump through hoops to allow a self-signed cert to get through. But I thought of a good use case for why you may want to use it :</p>
<ol>
<li>Self-signed certs provide little value for your users (fe. blog comments are public anyways)</li>
<li> You may not have the means (eg. credit card, unique ip if your with Dreamhost) to buy one</li>
<li> You only <em>really</em> need them for some basic stuff that users shouldn&#8217;t interact with at all. Like logging in to wordpress.</li>
</ol>
<p>In which case, you can generate a self-signed cert and configure a web server to serve you it on some uncommon port such as port 43034. The benefit is that its transparent to users. It will not interfere with their browsing. And you get the benefit of encryption and authorization, and knowing for certain that the certificate is yours (you have access to the certificate&#8217;s fingerprints).</p>
<p>I tried this on <a href="http://www.dreamhost.com/" onclick="pageTracker._trackPageview('/outgoing/www.dreamhost.com/?referer=');">Dreamhost</a> and I failed. Or, rather, Apache doesn&#8217;t you set up a &lt;VirtualHost&gt; in a <a href="http://httpd.apache.org/docs/2.0/howto/htaccess.html" onclick="pageTracker._trackPageview('/outgoing/httpd.apache.org/docs/2.0/howto/htaccess.html?referer=');">.htaccess</a> file. Dreamhost didn&#8217;t have anything in their web panel that would fix this. You can enable SSL for a site, but they force you into port 443 and don&#8217;t let you have both HTTP and HTTPS.</p>
<p>Another excellent educational learning opportunity <strong>ruined</strong> by over-zealous security zealots.</p>
]]></content:encoded>
			<wfw:commentRss>http://tea.cesaroliveira.net/archives/43/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Now for something completely different</title>
		<link>http://tea.cesaroliveira.net/archives/42</link>
		<comments>http://tea.cesaroliveira.net/archives/42#comments</comments>
		<pubDate>Fri, 31 Oct 2008 05:41:31 +0000</pubDate>
		<dc:creator>Cesar</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[hugs]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[ria]]></category>

		<guid isPermaLink="false">http://www.cesaroliveira.net/?p=42</guid>
		<description><![CDATA[This post is a mashup of a few things I have been tinkering with over the last week that I think is fun to share. So if it seems I have been unfocused or whatever, this is pretty much why. The first project I started doing for fun was working on canvas. This was different [...]]]></description>
			<content:encoded><![CDATA[<p>This post is a mashup of a few things I have been tinkering with over the last week that I think is fun to share. So if it seems I have been unfocused or whatever, this is pretty much why.</p>
<p>The first project I started doing for fun was working on canvas. This was different then some canvas stuff I have done <a href="http://www.cesaroliveira.net/tea/archives/37" onclick="pageTracker._trackPageview('/outgoing/www.cesaroliveira.net/tea/archives/37?referer=');">in the past</a>, The interesting people at <a href="http://www.nihilogic.dk/" onclick="pageTracker._trackPageview('/outgoing/www.nihilogic.dk/?referer=');">nihilogic</a> did a <a href="http://www.nihilogic.dk/labs/imagefx/" onclick="pageTracker._trackPageview('/outgoing/www.nihilogic.dk/labs/imagefx/?referer=');">sepia filter</a> using canvas. I wondered if it was possible to do filter so you can see an image with a red-green colour blindness. After some substandard research, I finally managed to do it. Though the quality is poor because it tends to be inaccurate. YMMV.</p>
<p>I wondered if you can do something like this for an entire webpage. So I moved the Javascript to an extension so I can use canvas&#8217; drawWindow() method and take a picture of the entire website. Though I noticed that doing this on large image was computationally expensive and locking up the UI for an unreasonable amount of time.</p>
<p>I then tried to move all the calculations out of the main thread into a <a href="http://www.whatwg.org/specs/web-workers/current-work/" onclick="pageTracker._trackPageview('/outgoing/www.whatwg.org/specs/web-workers/current-work/?referer=');">DOM worker thread</a>. It was an interesting experience. I noticed though that while the main thread (and therefore, the UI) did not lock up, it was still sluggish and impractical to use. So I decided not to develop the extension further.</p>
<p><img src="/files/2008-10-29/firefox-transfer.png" alt="Image under Deuteranopia colour-blindness" /><br />
You can see the full demo <a href="http://www.cesaroliveira.net/samples/blindness/" onclick="pageTracker._trackPageview('/outgoing/www.cesaroliveira.net/samples/blindness/?referer=');">here</a>.</p>
<p>I then thought about what this would look like on other browsers. I didn&#8217;t expect anything requiring DOM worker threads to work on Safari/Opera. And sure enough, it didn&#8217;t. But I found out that DOM worker threads was based off of <a href="http://code.google.com/apis/gears/api_summary.html" onclick="pageTracker._trackPageview('/outgoing/code.google.com/apis/gears/api_summary.html?referer=');">Google gears</a>! So I looked into that and made a separate webpage that uses gears. Unfortunately, I found out that my efforts were largely wasted, as it only increased support to Firefox 2 and Mac Safari (Gears isn&#8217;t compatible with Windows Safari or Opera, and IE doesn&#8217;t have canvas support).</p>
<p>Either way, I made the Gears version available <a href="http://www.cesaroliveira.net/samples/blindness-gears/" onclick="pageTracker._trackPageview('/outgoing/www.cesaroliveira.net/samples/blindness-gears/?referer=');">here</a>.</p>
<p>Going away from canvas, I spent most of another day working on <a href="http://code.google.com/apis/maps/documentation/introduction.html" onclick="pageTracker._trackPageview('/outgoing/code.google.com/apis/maps/documentation/introduction.html?referer=');">Google Maps API</a>. The problem I was trying to solve was to see if I can highlight a 1 square kilometre radius from a pinpoint. This was difficult, as points on a map had a latitude, longitude co-ordinate, and I had to blindly figure out how much to reposition for a half-kilometre. Finding the distance between two points was also helpful, but hard getting a <a href="http://www.movable-type.co.uk/scripts/latlong.html" onclick="pageTracker._trackPageview('/outgoing/www.movable-type.co.uk/scripts/latlong.html?referer=');">good formula</a> for.</p>
<p><iframe src="/samples/gmaps-distance/" width="600px" height="410px"></iframe><br />
Of course, I am highlighting all the accomplishments and not mentioning the frustrating obstacles. There were  several lessons learn on the way. Including a lot about incompatibility and how much I still don&#8217;t know how to do the kind of algorithmic research that you sometimes need. I&#8217;m starting to wonder if the BSD course taught me more than just to be a code monkey with a business touch, and made me wonder whether the theoretical/mathematical part will ever stop me doing something because “I just won&#8217;t get it”. Though, at the same time, I wasn&#8217;t willing to put the time and effort of research into pet projects. So this will probably be a problem for almost everyone, and not just me (honestly, mapping out longitude and latitude to distance is not something you learn anywhere).</p>
]]></content:encoded>
			<wfw:commentRss>http://tea.cesaroliveira.net/archives/42/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Calvin and Hobbes</title>
		<link>http://tea.cesaroliveira.net/archives/40</link>
		<comments>http://tea.cesaroliveira.net/archives/40#comments</comments>
		<pubDate>Thu, 09 Oct 2008 08:52:50 +0000</pubDate>
		<dc:creator>Cesar</dc:creator>
				<category><![CDATA[hugs]]></category>
		<category><![CDATA[lazy]]></category>

		<guid isPermaLink="false">http://www.cesaroliveira.net/?p=40</guid>
		<description><![CDATA[Someone on digg made a post to a collection of Calvin and Hobbes comics. Which was a bad idea, cause I spent at least two hours looking through it.]]></description>
			<content:encoded><![CDATA[<p>Someone on digg made a post to a collection of <a href="http://www.marcellosendos.ch/comics/ch/" onclick="pageTracker._trackPageview('/outgoing/www.marcellosendos.ch/comics/ch/?referer=');">Calvin and Hobbes comics</a>. Which was a bad idea, cause I spent at least two hours looking through it.</p>
<p><!--start_raw--><br />
<img src="data:img/gif;base64,R0lGODlhWAK/APMAMf////j4+NLS0p2dnXNzcz09PQ8PDwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA<br />
AAAAACwAAAAAWAK/AEAE/zAEQKu9OOvNu/+dJAEjKZ6BoK6sMKhD/MrxZAnFiopgn9kWIMcmJPmO<br />
SA0qyWw6n9CodEqtWjUEQuAgqBAGJAOgQFCNC4PD61Bod7FiQHpCEKMD9rLhcNCWMAJxaBRiWWcu<br />
gxYGQHYBAwQUjz9qFHwkbISOBWNgGgZvFASbGQIHAIaBp32iAilsBUVbfnWnkIsAXKIURQClkGNc<br />
qbwXtFdQA3EcBVxjOG+pHqyjOYYWicbY2FuxmI8Dm3jDFbAWkrq7AdNv5B8GoxSlt9kgBJj0OQfi<br />
SQG/TfodZki9mOfkU7l3BBN2MNBJ4QdoT/44nEgxSL6KUEr9w6gM4QU3yf8C7flGMtSyA4LcsctQ<br />
T5UBdwAWFXh5g82WlzAfeiSUhdKrizPFfNsAkZAKMb5iosSExxMoOTs/TcgRqc3UVnyeKgK1sumy<br />
VptU9gqrtVyyD005kjqrgWo4tic7rcTQZtenTfXYWikqR0shPnhR7pmQVmFheP3GAKFKtQKesgL6<br />
sWuDdxOanBu2te1koJjBmPrSBnrBMFwzx2IB7jx1eRxKWDi+tPqVTg7nCQMkBKVaaqneDaKylJWT<br />
DBnKLsjGCdnSKV8agwO1XEiThUyaUclP/c7wueqFeAx3lXtTj5KSxCSk87sRRB6sETiIu4MU34M8<br />
tRXq/5i5dJp2dw1pJxj/JGWY9I1Q/dThwiPoSYEDTl0E1RkniOEhmEo4dWfFYZGQUNIF6byEhltj<br />
jPEFfaPUls5jKQzkgWYsvQLbGzaY0dky91lQTC9sqFFHGxOitZooQ+3STxp8BEMEGA0NBJs7e6wm<br />
C0CizIWOYxPEZkOA4uSmBFrDRUPWQQIBsZwXCTboAjxEZOCid2yKF4QRknRwDX69bPdDmxvJiWWf<br />
c16RQpatAOqYVmEWVMQoP3ZpaBUwUvQoBnViEJxHdwRCxF2hQHIhL8tU98kXdiEjQUt3CmklniFE<br />
1kd4FWRH142P4ECEG2REtgVlXSRFVxc3VQCrNZMq0iCr+enZRKrINptE/44zSRcIDPyU0QqaWDTZ<br />
0GAUwLJMrWNxMKydgvERBzMioiTHa3MFBMKq05GxmrMbpJrCtSDwgh6O7DxDBhCP8Jkfg411GyBf<br />
WCIWCS8pbGgmK+0E+GKxGAzDQmbKMoEwvUeQgV+O8FwrUUQeerzsO8yxWo/ElIJR4KWuFUgvDsdt<br />
nGfBisirBkK3WLlSIFysF2KemOSVFY+gJsZhEFsO6gUYlDz30rGS/QJxt7iZsstFAGkNSFh0FBLH<br />
Hu6EmBM5MRiBw0knhtELJHjgBITNHOMpa0UgRwJGWncAlqsYDeuX39FGGPwQM1GU0oW5STYu2B1T<br />
ZFHGJt/syN28alWDgf9BS7uZjy6jgSNPZw/GlNvItYQxVQwMeYmtY+rWzcQyG5UCDh+O2JKlRw/2<br />
ih169eD8Q8ayYxTpRCPRmwbLe8WOH0nEE9M4Q+4Sxd9rrvtwzg9vVqyPVsceSkKi97RXLJKOJ5mD<br />
EJU3jkb2TkUPonnF25UE+knaMb1UZOzBB/P1w9N9tuA1UqTvfxwwDkpeQDFjzERS3sBNDvSEuBsE<br />
xwm0S8L2KMWGCSUCFvgLH42aRB4vQCVfWRARcjySt3odMEnh288ryBcZQT3iJbhz2IEa1DklmIt8<br />
aLFEAJuloen8zwZsA6K4SDVEY7QibVDRVGb+JaaKneE74/IB1zIAiyL/OmaHeguFShjzjfeMooap<br />
e9FvBAcaENDNBxJ4SQOzsQyKtNB63EPEGBfYIzMxY4tNpIjw2uMDZkUCe5GRTiAhJTlImOqOkQgS<br />
FL6iRA5oji5GwQXgkJIi0skEOSmkDCRmooIJLCJlCwEgX7zogUG68Wgp2EMlF3kESNYENw3ZhkYq<br />
1pnSXIs6RaKlHZX4QDei4ShtQCA8MCfMJKigGsnxn/p01KSwdAJJWRTWSVzJBFZybA4AYQsrqyfL<br />
DWrsCy+gGSCb2QRb5kwDbIzJsUrRCct9sw/B4k4f6DeFQSTFf4/JRDBP0T27qGFT60SWLLZQlutM<br />
IZG6SoU3p/MIPoyy/1vMVMiP+IMG2RgKDwPdmj046M7hXQBWBHwNYLAIol/IkZ0m4YUkleLIAhJi<br />
pAt5FD8sakmLholbSCBb+jI6vB/e4IbS5OcXy3EVXMzRkBYhDOOAVYfXzFEh3wLEStvTh0zAo4I+<br />
0BVVoglAJSSqHrMUIFiJRr8UXqQ2xIECh5ZB1MwoDqbzi6GtDJgMzNjGE/9w6Abu5qu8xKoYgj3C<br />
iuC5vuIcZT5z+x78muCCtELVgOzLx1rxFJlksqGsJcCXG7NQ0ATWIK4eM5liTZAnemnCf50pKxNC<br />
qli4yHYDmEmk/FhlpV1KYQR329w/bIBTL5zljSAqpLkYVCUg3aKGYP+9CS+CmzhRbLVjdUVdcuhZ<br />
N2ScUrRhPdY3rposVUwKWKAwTwroKjOV7TYz8+uqP+ASww6UJ0RAuy1BOlvfWHEzCsYB4ETpqgHn<br />
weO9hwQYAKniP/1uDT3chd1UYEVKfxT3XQ4OnhMu6ZDyZAWuT8hgWJMaS9bQNBo9AWA6+lBajgQ0<br />
uRtWalCFgArCXfaLZagqXhz8gZVdoKttEIVQwLCm8VG1vUisq33yVxs0cmc4g1QnL+LBhMVaYzi9<br />
eUYOrXHczcYrP8NwGilIm9a2QAknQAqyVcQDziurom54AIeQk7S3N+tIyUH0EVLsMK/IkI1LNAkB<br />
OIiSPIWsbUlVkoH/9LpqIR6/CJAcDgQaeFoxZsRTZmkoS4uuR7raraFXjgSqfSK0ul1MQyrCcvRC<br />
hgPNoMnXcxW4cA9Mk8ACUuW+3ULwVxdYvcF1BjCESdGCZjIpJiKhLhjw8m8rFzz6/KShlBOdCk7S<br />
Bwn5TzoPpG4HXJelG/zlheAOd/4mazpViPvc6E43uCOEMh+qG9w0fvf0VMvUmOjFEUlVd38/Iu9+<br />
+3vd5fi3wAcO7oAf8AvUJrjCHQe+hTtc3d94uMQH/u2Jy9sPulHmJcC9Ph69MN8WX3i8Q+7wG5L8<br />
5P0+GMrV/Qb8idNxAQI5uLvTm5WHu+E2T5IQTvIJ1n08BlXd4nVA/+66hOcv5+iuONKXznSHP8Xo<br />
TY+61NGdmJpP3d8yv7rCca71rnv9h8rGKzsZymWxP3rfz9O12cee0OJletYyEJWIMpS+MaJzBqKa<br />
t6o/AgtAMk4PayLgL4KsyP34IgbxUFcawiUiPyhjbz8Bw1zsqRSgTTstPTyRKRYRvNatNJ7Ceoo5<br />
GxaTVggiMfWQoJuEYq7W8miT4nLEQfNAeg6EXS3IDRcw8AA3SKJVMzLh0kVKunY4/oYctPvMZQda<br />
nwmVQjEn1P3hZDyzV7dlgjWKQ0uAgZR9auFCPuvP2iiz5qHUw7ouENF/FWEuIUDDIHcNT1M6c6/N<br />
laFhQ6Fn7nQRDv8cIV4IGhJSxqYUQ+Y277NZ/gQgZRcfxcRg6YB6ahd6M5NRcFUGleI2Z3CBliI2<br />
5QZ9dKQVY6UGndVG+Ud/qCMobEEqj/EOKigUsQUvKyFk3tItYGE4CfQbaVE5RMYQ6KeBnRIKe4MX<br />
d1EZ18JhT8ZFreEY7BECRuYmriM51vEMNIIvlRUwflIxMoAobcIxGmJOxYdizpJ7Xyh2PVQ/zwdT<br />
IHZnsvIc3vI+cbSCuRNnlYELAxIE1NEDA/hjBJYeKJE1GVU57zA10cd+7rBFn+A/s3RX/kVNC8UO<br />
PjYWdcJNpVFGXLEbyDYOzzEU4EAGkhEUH7B+E5F7yNc/j5ADrEb/Hv0TLnHmgfL0BeSFMYuiEnTg<br />
KZHBJDuhiChYBKcUFFjGgvlAOytShFyhC3kYMUogFSAWZAZIOLNSVRt3O+hkKO2lhgjhDOBFaCq2<br />
hBVzjScwhrGSRQG4Hf2yGqCQG4l0OjbgRY/4ItTiBMgAilWgR1PzDBHojU0EMmIGIiuQHzMBL3mS<br />
TUr4HSswWcfjAXdFQJEALOSALo0Tc2llZW4iLyCCEMbRSfXUchIjOKn1Euz2VdY1TZk0DmjXRHdi<br />
M9XDG+TWCpVVShjYUgECLiASJY42UWFYj8CBZ0NUhgpxH3UgIt1yIcbxEp1Aa8DxXOX4C3UCf+Sz<br />
B/01jS1HGERA/yg84Ey351/P0UyslIb81hA5tklK9Q2lhB1tEAO/eBS98imqw0UHoye5QguueAsG<br />
sQhS0WuREBwrgjIdRR3tFSp9MlOxkhvHYRm1wUTUUY5ykQuswIOVZ0ahsEAsZY9XQHzG0ELkgApg<br />
oyM00Y+/QgjrcmPiIltAU3gbQldldgMSRHnjQG/IQlsbRj41clXXso/WoDQ2WTeXyFlKpJOQWRB7<br />
NwWSyRF+RQUMgZO/1Y+n+Yes5jiwVVU45D5j2QRGuEzdUjVYsAmJNxUjdQ6pJ1RR0SuCADSOaRKE<br />
9EWcZh3pJFoWQnV0iQSvBRhP4Vsm1RfVMCEMUUTk4BWf9TglpP9GchVx4laaHHObDnEfPAhsPQVx<br />
+FKKKsQRbzcR/HBa0BMCPblTDfkipzUOEeiFJIAyveQjesBaqzcTMDmf6ZgbvxmRUaVcHycbn7hv<br />
tuMEQAOPDqEpurk5dAais8aMuymc4DMvHnajHvB/8gSJrEKTVgBGUbQdTmaQODQfDMQSIxmfGqBt<br />
FjQ56leKQbY3/RBnUROSdgIZLAQoBHRedkkpr0gFvBelUvCbABUFX7GjPLoB1qcaIjEfkGFTcDpY<br />
zwkVRIlbGeVkcbM83gUKaPUslSRZAHqFHdJKzLNKidpiD1GfsgORBFFSyPB2/3Igczo4YVJHMpqn<br />
ylBJ5DaRH1H/B8kBPwUJqrswbZFUerGiPu7xkNSXT/MlDsbGXreQFpaDDEdBlGT3qjZxgxzgqGhR<br />
IAA5SbUJU8S3eE4VBAjRIuTDaG1HS9PiQN5pJtTGY+shLsS5m+kQEENhpE6mERE2kdNKBQ0qBaN6<br />
BKmXL+IkYF01Gs5amizZRNNYEzraTY8SaAZUZqGCP+7Jb4n6BIX2eutACRBRlZ8ImskwikEAXkYa<br />
irijJTUBCp8BTgrrRnUiUaomYsmGpzMadlbnSmfDFaZApfN1UmT5mwxoVFbETlLznqEZay7TVe1q<br />
H//Ac9ywqTdViEipLsXUn/4JGGSzZn5Gf0Z0HFdQHv64mduW/xVZUUxt2iwtQmZmUjjsaTU0I5qC<br />
5gxxdaxU2SwuIDmIVygniASSkFi19RG9WURCBFPjpaaWVIgTQH1tNKx224E0qEYNxE0aNhTbakT9<br />
AyVy1SX+g5PUQDy9hrG9mRC/eijrCUeQOqxolAp3sFt7U4k6ArL40RJT+VtiBKB9qpr54jVp86nI<br />
IqBHOkrb4U1kQ2bgtX2xVmaA1pOFxxtbVlTs4F0JBRN+eSUZkbHWwGO7RGyOAGYpwJyNi644lDVy<br />
Gw/leKKmRmnJURdUZpC90BBStDnLawUF2gU/ggQQO7B2sXNya2aGha6vNkgF0mY/2ErnKmhFcLo/<br />
dVbX9ZM7gf+6sMNPXOsFLCJq3CExHstvshZWeYthVVAM+IYS/ZsQUnS83WQdMOo3IshnmdZZx1Qs<br />
5mtfSpsQ7nCNOdqtHgBpYNUbWkBsLkQYvOs+czS103kDqBhspvQOnVWzUxF0FjUMiDdn+GSolpIY<br />
O8OzN+V6zsRj/EoaWsN7xjVbEqKchRgllBGsoZConqkIjepq5AtHkVFKl2pkxqEFUuRQVQKVU8kD<br />
LwWjtps2livC1tB2pkqaQwxn+6N+wGKFYVCbkEZUe9hagbuEfRoCEVca2yZk81El+fo1MtkvSSZK<br />
Zdu0CAwIG3pt5qVP56cbn1AoOrADLQB0jURmNNA6WciUCYf/E9MjbjQBH1B3NLmaHCnlPjTQyVmw<br />
KAgXHLBcy9VhUVAYSrZcHeTXy6LUXL5MfurnWcFczMJsLvwhVXXrZ9dhzMU8dxdCNub2dT8EsCdF<br />
zRMnegMXhSWQAwokbzSSnhfnAsr5Pt/8dSqHzUnncy9ktln3Qu+QyiTHdU0nD1Ynxesyx0KVPk0y<br />
c+zcdUqnzgKdc9r8dchIoSfXxl2XzgPd0PNMwA7tB+cMcwrt0DMHDBad0Rb3dBrd0Qv3kh4d0v9G<br />
zyJd0ulWiOZMAwtyni3Q0i790iwgAaUk0zO9A5qMyfdC02YrAqUE0y2g0zYd1EIt1LioHYNy1Jks<br />
00O91EzN/9Q73dTkHDQq6dNUXdUsbdXnGbSqilc3kSHO/NVgHda93FxMS8u7TLZnfdY0EHektdZk<br />
y1xtndaNdBzCmw0gHAKfq6hDwB7A8prsCMlygMmVdVKix8YOc9eUArxFWT8o6797C8c9JtMbuqoD<br />
AQN7utUhsE58wyQRWyW/IFqN0gsdImlAUlblikX4bBg4UppWsUVoRA1NAjdddDhdNAiU4RLE0Y8R<br />
O1bq0BRxw2pf8IsPWh+gV3lC1hephTimWoxdOC/bMJ8qEJ42yLaWYp2LYAqaQpdyGBuXaR/nmxCN<br />
DYTIUB2Eum9bcBpDMajSidmlWwS2MoQWqw8btTugIaJxxP8665BWMLGOYWhg9dJFOwcs140TxOgj<br />
ppigv7I7xG0HXdAzyLxmdMEZ3kkhjDC/WgMT3nJmgrEcDQuWBoOKhDeNARgVGx4G9gAeuXpH3+IZ<br />
nXCGOMKR1H0tByiIeFs3YmgmUQkne2Ka+WFsZ2qPqco06SEdxag3LvKeXoIvivQo8BlA/IqETc7e<br />
U/rjMCYuT0FbC9InoeEGHuKKAOEnOpAel+1GyRqPGRNauBQQjrAplKFiDUXlmXGecK4NenE1IYYT<br />
2agdjkyzLCGU90O2I1B7eC0OqotREJEyuDMIcohRzATjXiVSpgcMisSa9sUym30GcXkUrFF/pVoC<br />
81coB5b/SZQ+4t8Rz+tQDbB9RaXOe7YCXHJknepCKm/ZhG9zxnho2FeQe6QjCo8REGLZ1VYCYjhw<br />
ldFJBYZQArKRv76z3oaRI+/YM/yINfFQVs8xOXZxC0PRQUR1rLCVRpyjLPXBRN5iA7IRrLEs6MRA<br />
NUmoOoVgC6m4CJk2XsPwGbHMM8jBDPBRli+LW6CyQjGRaldEQC58CThEOS7FlHFlGhra3E47BpIa<br />
N71HND3qBZ8yVoWQJUAxzS/FILlUVxE7o8QDRbnx4vA+eD0BIQKxDumYxY+mEihyCVqweNBwDlU8<br />
BUuDEHSFCaFyYDQOIgHCi2GAlCVKFJzLffJXsDemHsJ2/2AKKSJxIzeewBLrLuXeg65lRupUX6Mg<br />
T/VjV+b70EBnOHZDsu6J8LYbZ0q4bdt+cc33+omJQmA3Ow5YgWWAgeoQkyoQASvBcEYZi/Xv+8L/<br />
smen8cfCkuas963/8qyWgFaSkEj9IBR1pb92TTyM2QzMxA5x0yld7GQ+mMAQhilM8Z12Ifn7wBYr<br />
Ig86/Nn4YH4/T+4vYBkY1wPKBkWnwYnL/g5YjnDSmQ6dTyVSH0z6MYCVKYKig912IDErUzogQOlF<br />
kn/Akg/hcH7HeAaydwh4ajLgRAse8xz/kGVkUnamk+nh4THBVy97wxCWlg8YDmm5AQaQn97MYAgl<br />
RfpORP9UBcIbk+MC0zV43nFrlQEBhARyyhUAiKD9B0MRKIxMGwotYI31cAGjA4YzHXNdjL+C1hQG<br />
oYDKcxgWCDLCJTCAGX7IDUz52yxzzdwMhTQMB1KxSmDweopqF2EApSgHwB021MTt9Ht+3/8HDPSo<br />
oDH5GBNMVFz8YBG4QLuQlHgTEBhoQtOUgoyctGHROWMkLTU9JU1DXQW5YH0FWBtJ4VIz2pCy2DCa<br />
efwCCTjQMjjoMGg6wK2hEu5godN7lJSrtORwfH6ODbC2fvsGf5MYH5fUPLAgOPEoWFfmMUKvEiBw<br />
Ie5ox/yQCOj5cAn2SBO0WKoCQdEC688ZGAodPoS4R1X/vwyPmnDjcKvRE38rVF0xMSHWFHwa3Gzp<br />
uIMYB3RikgVDwqXEiDB+7My6AoKeyVtuJAD42Q4NQQkCip0ZFaRJARgdjFYiCMxQxFdCDqU0aUMF<br />
JkQ1hCwxWuwmTxE4wtRTemfIH1dUAyU99dPt3LkGBy25udNPvULDfPn6EUzLWGBUdsCBAiXDTMUA<br />
mJ2VWyNqDiV6aGmkq2hqZlRWPcDl/Gpz6D2gS3UlbWr03H6TU+9x1fb1i7UiLrnpcHn2nzw6MbOb<br />
kMeomTYJg6xT0hrLmcq4UmjzOsKzBtO2UIAdSmKtEBPQQcABij3FjBkUgLrTsDoEah9zXNDT50aT<br />
inqS/8bIkRLrwO0XLLaq6GcODj6ojhGjXNutj94ysyuIFsRQR5iiSIhBsBDaKaiGIQqUyDiPDHOr<br />
gtr0CAWFnIRJUId+kpEOQaDE2tCLWqwLYoh+KjDMEChkgGZGH4zj8LwM+aGIBJnQ862KZJrDgSlu<br />
QLSEj/3KmkAFJ5nbhRsCATJCqCV7+0FEHltJKMgUU6uJswZJyAAKJZK5KBR+GlrNl37eAQStPh5B<br />
Bx0yXBThCabCAHSHEmnB6olkpFiKGDT6jEKKTR71M9JNSpj0UlC2PJOR5qjDqlMFQxU1w1ITDKZQ<br />
VtY88xhUUvBlLg4mRDQHhM5c8J8WLCghqoDM0kWd6P/aKQYoSR0ZkLr7xnNwun2Mu/NUQNjroqLB<br />
LPkhvxBcBWo79JwpNodopZ2NWqpYfU02Vpaiqx1BvTK3kXADxRFSSI9BUpHIWlkL3X+0UgrDqdpp<br />
K1cCuzymV6x8VK6ZRAQlxk+RHrqVW8owlWGZrZYY1yQYio0h1kb26PiUN8j9I826uCGGMD6eWIoS<br />
IJ7I14Mx1FPonrnUOZS7aYWJ+IIR93HUUTeS/cNHlPdgmNQ67IW6UqmpsUGcC2JmVphKSptSkBIf<br />
KtmPsOxlqk83yLZE1aUd2iwFO+JA44QV+1R5o7HRwXA3C916Qh94nV4v6on5MEruOfpQGrga2phy<br />
hp//vPvMniRoELg8REQWZMHWxI7agm5crEXLEdgFZMWay20oZajrCfm3z/pUe23R3DlwhLshHXoE<br />
QS2YI/ZXwnZojMO9MrPlNxxFx8OkWczTdRlqg0RRe1xkzLBo/dYHZz7cBMFfnTqH1OVA5+3C+dLL<br />
HpzvXj2yCZ3TXwZRdgbfnzvq9wMdg3n5TaFAWOJD1ZO4mCI+ceniIIDjzP1qtB7MeM9myfsOU95g<br />
Hz04KzVKeIQlMGGOiEWqE5MSwvBUoiqYxM9rBtxfXU6HQnqhIX076FoKSfEI0Y3hDJM5Gfxy9xw3<br />
2ECBKkIXU2qmLgcFgYFayCEm+kHELhAEc2Pagwl5/8NCXFHxIQ58oPlCYIkmMEQO9YDBC2UIi7zx<br />
QHkqQdJFUJC7MXrtG23Klotg8r4ybgBWSAjGiJgSCFZRBCm284AXjJDBaiBRBSbojcFsg5UnxhA2<br />
WNQBBVOUR7c40CjlweAh8IaCS1HGHj9so2buRw8xSmWLxsjdE0O5kMqMYXMqcuQWeogxmKzlDAik<br />
DBs/gyAR6m4VHDKN9nTgPz6WwIqr5GOhxBQLdcChdiKQorGcgEwyKjAgJEpIBSYwA7f944zU1MEG<br />
jeBKVTyFOh9TWw5por+3kEoJaFGiESpAnFZUhFhgzGAronkH8wUTlK9TRL4CCE4+YLF2Y8mDur7m<br />
Tf9QEXRVp0Mk+RJRN4f6gWZrQUQH+3RIf1SGmMSUCh7PicsKfjMyqjDEp/J3yA5QIlLOMCZLcSGj<br />
MgHOnyQzW1VI6lAsXjOWdZTB6WpnlFNFzGkR++YiMFTCCbQkPf8E6uuSypl+CPOXdoyOIZBGoJoC<br />
5RbDgc8gtMgIbZVqJiTqCEW/YC8ggFRcx1BiIP/ZKSjEUhCQLJx0sJI/us3MqQcjm+9KIcGC2GUl<br />
eT1F2az4yvKoAhP5JJBWokoVN5WSBCxiWEx2epgJKcOqa/xCK/EmgQEKNqDEUMdct3jMPjjJomnV<br />
o70S8spB4EOXbQzQhSyQqkVAUmPDDMltjtYjfyz/dHxT/UNVNeWOWgKjXkaQBVEdo1p23K8t4yLG<br />
iFi22XPFkBYdSJ1HFJWBGSF2WnEdxWcHgYQp2YANyGWbXWNxG3NEyl4ZsAIkWjKpMFK3EbBdBor0<br />
cJIg7PYLYcjfbTu1xAuZ4a+yGU5j9OC9utINjAou4UaXcgYFH6aXFSACJS5hu6CZtg6Sgm89K3gB<br />
uqFoRSmezaBMK4vp1kC133DKJ23izn1CJHGBAwvrRAJiE6UHZHIbK8k6UrYki2CPaACneT9TQAhS<br />
qKAIahksG4gORWnHMbvqsKHcOrIyRumBEuBEmN1iQVHowpywK5XoVmANE7ODu8cZECLYbChbSfRU<br />
/2WzJmFREJ35em3J3IVGc9sYLyKE2VXBCIOfodgFSaflLpp0hyJbe1vGjPN+TyACN+q8JQPzwSp7<br />
fBoIUCTg1DyBDhb7pdD8wBVOGik8BmJnRUdXaSXzCxDP1A9rRWXMKMgg14IYYHrM50BUE4F8vuWD<br />
NjERKgsFIwurdeRZF2HcYFOXKSneIYvk+5raLTHRYt5zQwUBmCWMGxgrAAIOEqO3ePN6Edcw82t9<br />
Pa0eRKnJ5cIMt1PhlHytKcM5VbU7PhUNFzFkCXX9TREwKAwhsiOaFbhzJD1U1j6o9yl0WJES4jbq<br />
dRX33m1CkZoDVREXfAXGQHFEII3T7N1oexU2T/+uQRbe2q7J5NilGvOeCjWKIhCEVXVNtA9ZrZ/k<br />
asQ8Tm6psCOrjmUyVD8o79JAkf3zSKpZMFAWG6z5lgt7EtCi7rZd2Vw4Co/CGEIvuEQaue6WGxqG<br />
idiEwfFITltbK6Kuv2WFwAP5tlsqE+2jC7qpqpWDsBD71LHcl4LckfiH0y2KQ5OwvDIA6gWqDgb+<br />
9bI3xiOHZBeUVyOSckTsfZCmTEuCe/QFF3AUu9EjiU8kN0WFNxTeRGj6ZToHS6jtljZouGnEp6Gi<br />
WodjG/OpXCLQ44YWtffj2UvFtKq0LMYPTBOn9xjYicCSUp2/g5N8/zXmKkL47m5+ZNvABO1I7xT/<br />
GOm2xEs1u5NUL4k2uJKBv3e9EZuZ4Qqcj5mSycoT3tsRGzMW6sCYy3IUuckEvEk/tSIRgXAuNLoD<br />
aIkJ1rqkjDOJb6EH+6ABVtO+yNEkEtImNcAEEVuHSxigiiiInds0+PGchUoV/jsTbqgwidkqeEMK<br />
sztAAxsFLrCmEMy/qruDE6g//pmIvnGbdEOfVTCIn5AGJdyoyaACGmMHypk7YEiBYzIPQREWGoiM<br />
XuqejSG05+GrSEksJKExoqq4WWARMxEziWAe81iJzcA5kzEBP2ExC9AEZBg/L9sTF2oHMWk8hZAg<br />
GrClodFBVwo9F3CTAUqt7wADKPBAxmsD6MKR/yW0OIJQJ3zxIdzjnzW0lLbAED7ZvR7rA/KRwXPy<br />
k23ZEOUxs1+JAiEAPTUYiR4qCrWRkSLCKjZhoFTQJdnThczTp/SIkDrzG9vRnxA8m5b7txfYqPCI<br />
Ok3aj2/DBAmhIvbLJUFAi+NrqUxcCI6Zp1csiI1yB9QKpP0YDkjrIFAqgl6IkHVAhHoBn3xcnR24<br />
HX30x38EyNXJt7W6F0oJSPChA3z8R07QMZ04AQoErHy0LPI7yIq0SH0cEYWEmjDAoM/ZwYsEyZD0<br />
R2R4D5GsyKHRSJNUyZVkyUrJhY9RrJZknJbMx7zhk85BpJj0E43yk8M5OJPMgPvrR5p0pJRcSP/x<br />
0YLw4UmTJBQG9Md3WkqivEjUk8qQ7LfOARCjxEo10EeDrEr7AQGt/MrwuYSojJq0Gsu0xMkXUcuQ<br />
dL+RJK22TMvJk0uL9Eo4UxKBzI26XEmq5MuLPIeAZEic3LyP/Ms+QQ+xPMx7ORqthD+zzMd1XMyN<br />
ZMvJxJ35ksrtsMyApMvNRLj1oh2ALBOdhBTF/Eu/9EyAXEqN0MkWTE19TMzXdBjD9BPkgJoriEnW<br />
DB/ZvJfK5M3fXMzOBM7hlEvjoE3ihBQgIE3k9MfYZM7Po698hMzn7E3TpM7rrEiFw87tNEkg4c7v<br />
tEjnBM/xVM3FmYbznIR3Iof1ZE9yWEFe7KH/b6CEcBAH+rTP+8TPS3ijbuDP/uxPH/LPAA3QN0g0<br />
/bTPblgWDRLQBWXQBcWIBoVQAcUGUaPQbLDQC8XQDH2GfEmba9BQNSiREN0GyOkDDO1BXVMR2wFQ<br />
EkXRSrKXTIHRGJXRGaXRGrXRG41RujGqu6TJhNzIgsTRIBXSId1RSyHSI5VRsGxRalqiSSCt9hwH<br />
rmDP93zP9ZTPKLVSKK1SKCWt9MRN9ETPpQDTMSXTMZ3Rlji8JU2QoiRHaWEwaWE0NZUf3iKX9MtF<br />
ktHBcsCUqxExU8CANJXT1yjKaZSh1EuROC0LuQnU2aDTkdmGQ2XFXZiPT6hPOhM8FdGgshnE/yCY<br />
AnvcvCU4x1lxlkvdACQjuFhID5YRhg68v++JgnApDzK8GpDzB/KggLUgMGCwAyJbqhiYgQHCgO6Z<br />
POcBtSh5uhB0P7jKl3mUgopwig/EuOzglHOSHoi8ulJBVGVzEHkDVFzkhRaQBD7BRVJEpkbtD2sU<br />
BlbMoxzyjGa9iG+tgk0JJ4lKv5cLPHZsLWKxx+2ggHUov/fbg8aoOEIIkDawEXmooJb6VsDgNA6w<br />
BzbJg2ZUtfeAsrCwLUG6rdH4sSq4NR4Ru0nbh9+QiXZLQ2xrAULBJXNNkGwlgZlwg5swwC2RhaJw<br />
JN9bVGeDhlvClryx2ToyC5DrkocEpWe6lf8EuSRTIwlb8I834JXouxEZeCfXkAZGWYI+xK+SbIho<br />
TapUXNWa6IH7yFkWuwglCplQ6YQb4oolCZdJRBKNNZ9iSCgkktbIqxGjqMSEmgl4JAyKWDt7iIL3<br />
YdnMoMMaAFWtuYV0KzQekbevysI2rSiVXYPKSgjEtaETiD36oBMWw9WXsyFAFVyp41Rz1ZEfuAWJ<br />
k5EfshKfkAWv9Q+PCTOr2JzsQY/VgL1msIce6g4GArX3i5GLyC5OkDW5ClmdiIECrNrNO4Ep4RBt<br />
QYtXQjUkgAphdYwhgJFoI9SIGFyRSSk0sKVdMyBMdIaEiYGYvVl5IQg7cEeKe48zGg4noLH/AWq5<br />
GGEf+LnezACPizHXmTGSShAJemDVLlmPeMu33LjaZj2LuBK+vjMDMUAx24A3VB0ZOdNF6rgGPso0<br />
1xnIDWgE97IZqQ3WDdDf0uGGZlIgaIOIwWUaey1fRlDZ0rjTVKhfqnK3PyXXFUaF0bDZitrY0EBh<br />
G8a/GvalzohhHq60LpqIFfiqzyDfRjhRYLDcDy6dExWdieleDcjGQNyiTeCPxeFeLRkFcSqBEcFh<br />
zJinR0sf88DEgjsGzeoiIWFYB7kTTOxiMqiHueI7crMpeboEXqkcKNMHUXMyLiOBQgBiHuAVV7ED<br />
acCQQSqDPYWIkhkDbdILCH66/mGjzQkF/785gcAIidWTrsLY42+IBRvo0lyNnK+oDL3AOEZ0BeXC<br />
GW/EgDSoHWJYnP0FiGOxhu+BKWnjIjdTga75BkQy5a5LNF/Fulpmu4bllLrBgc2h26c6BMxoxiah<br />
uvRw45T443faByqQxAJcDBf8L88JBHRMIATygkpwusOV2G2hHKbFhxeuIJSkXmgYXZNQ4W3riJN5<br />
V5sZjCKJJCRTxqzLGEK8GJowhrAqN6fJgzG0kkL4ow8sKREwYhoIBu54PyXMD76Aq2JsPZUp2KRw<br />
ODxRkDPC2KBa3C++xcCJm1QNoT4RHg4r2X+44MKQgqLjiaC9JJeBiaSMhF0AW2jUB33Yyf/YnKse<br />
xl4EGiD34ZVhiB4e4TYtdDmODJ6UJlwc4JnFYOD5jYiSMSdglIWlGg82Qq/DpQJgaTLtuRrDhWbg<br />
YQNOYrFbzQpmQoIOJCBFMmJbgIOjGd/7KEA1C6HAMAbwIp+AwJcmDhSscKFVEzkHIw4KNaVnkYFN<br />
tLWkwJkxvhBWrpGT4JJ5uxDkUDjwqlr94BIvizeGJNQ7Jo3BJbBfTUgbaAohyIYLyQW8KDCHgOSq<br />
1QJ4CtpUpYqSgeqjWRxMFtot6gl6ErlvhlpYmoxUFguhEN4murboEB6AOJz68FDdWRif0eqkaGMM<br />
6dzPHKmKyy9By49LQhG1MwTUBpW/qi7/XHi6YKSBAeE2EXOitRAdii64YT2laL6BW6gNDgZRFczl<br />
ZBmaG7Cj2BYX2NhUWDBqENUGG1yIQYBnD3usFUDilea8WFEnsLkz9DBsVvjkQDm3tyAZC4fgw5Zo<br />
+fDhTnFbG1YlHnbcFe/tGKe7LjwVLRSrwJ0heSUFUkUQ5Xw5mMmk7gHAgprpLfqhQi7RCWYmtDJa<br />
LSI+SjZxJxa8JpiYePuECX+ZS7VUilbyx1YEkGOmk7jvTZYs2OYaxqsGfsQNcWGu4aEZtcFxnkCN<br />
5GCyeogQG2Gcgw4qu+2ivTnxAVtqiZ6SCpgVPd9LZ3O/p5gJq1iN3iic/OgNa5XpaP4v/8sNOY9p<br />
nCf5putZjI6m0O5zMP3MkvR+j7PWcgNJsh9IijhiUcB2jGvJkGYc5lW4JhsLpmJZXUZkEYyABd+2<br />
B6FQHok7dB6xknWgMUwa5OQqYtdsCAwJCptBbGAmDsRlPNfBgx74ierziJlwHDwYWWv7jogZP8Q1<br />
AUPAOH8N4wKSA1CxishrDXoIF6SIFJWz7EEQY8rhFp/YDl3yAmQ1Ee7Ixlb4irkGkODNmBfv7N0Y<br />
XCzQ4xKA4i1co5NwE12gsSWy8nX5jTAwMyFw9JYyjgtTCL67k2mahcnthCoogcWIb4K5rHU3cmfE<br />
gMOFXY6CeKIYgvS2EvcI12g7o2w3wf8gkJSgnClwnqesCiFFPSfE6fRDVjisFSak6IEwoFhZTI/a<br />
4F0kpIya1YghTAckErAMAhAec5RPibQpYCeCId1BLro0uOsBW3AQRyBhERoEuy12XePFYJ8yAkJS<br />
0DpnsRMXUryr+PWUcCw/E5kDSRUtJPMqeLhhnyp0fN/wjXf6kIBokoMzwIvW6/uF5ydI/1pWT4KH<br />
7MNzwi/pAW5j6WjkqisxOilFQQZToSQewIe/yrLvyKaPIS/7tnaqP3IfAERccDFHiTotkGBLMwHz<br />
HoLHKcqESClg5t6dr6BUvzcEGhCGrqqVTxIaW34ryI2EIWU8eO7c0wTXhkkSaGtCvBn/HGRrzaBn<br />
Ar4h2pfwYQmhmAuFZOFFM5wFdwICyFpACABBgGptIHeAoYcBFuFVXkFhVkQxpCpAwTNtBjWe6zuv<br />
D8fNIKuAesYj5oaktU6CJ3TgYREIA4FSEthmjQLDMiwek8u5gKFrXqsOQzbcQnhvWq84Pq8voe8A<br />
4QbY3tZeD4jBnBoOId/TlhTLiEGL4lfhJWZmSZpmWVEPVsXTTOgEpJjHDIvLhcCBgcFBQQaHFpGE<br />
bCxdgBsRUAzsDe9Bb0Ys8avi4pNHgfMzLKxzNDX1c1UB9nN2VXeV1NWWQLYKoMWnifmILydixSzB<br />
AcGk5Z8a2k9tkwrv5CwSCnOdMAiY/3fgiqCBCheO8QNM1xd/rp4pETAgoAoQFi8WONhB1Idb8SYR<br />
UERiRzwK8VLw4tARy4EYsrB0qedDwwwXrC78A2ClQggU7ziuSGgh1hZiAXY6EyoThTIcLgrQYWij<br />
4AhZTQR2cHgUSERa71jA8nnFobRyN34Imqd2STCrM9axCSX3rhlORPykstDzwkpFP0W9+NIzhSwA<br />
//ry+5XDlZuOvyb5JDaPwisWb9DlYAzDBYsSbEdkyfavyp9XMKro+oZTscFXFNhGW8QV744tJ0UZ<br />
BQwippU5freGDhEO6GvfMvWiLkH1iDvcKmyaaS79uhG9FsZN9rc0V60OyVslHOf3ZP8KqrA4OF3d<br />
GwYvK8g0uEpKNTFdMeZrgHa4XzEggMjSy3MdhUfYR/aMYBEQBcqDRlTpVIVdDvvw9tkd5o3wklP5<br />
xEMMIDuVENELsMQj2Hg41EfhiO+NERqLXqTYiXaJoKDBcxVAGGFGsuhmok/rmVXZCgemE1MNZXnA<br />
C2Y4IkkCMsTccRsNX/C4F4wb2HAEIzoq0qUWWFiUhXAXxtiDhcAUcqVULZSJQ5ZnqsmGiHLqoJ1C<br />
eF4FhZd2QTXQFytex+QMEyjRn50w/JcoDmlSx2hnLrL4KBmUQqpCmgPpCSmh8eHmyozbWfEcopfq<br />
qOcPxBj5UHSESjHnUVfUEgsH/nj/FM1BrsSShmTZXMTTgZbGgFNfiXWgRDfRzNhcmSgsptw7zjhW<br />
6LTnZDHmDVVY5KeszljhCBHfucPBtlL6E9d2kobhiqk1xKmpGgbBUswTvv7a5ZtJxJCCZpRxWa2u<br />
bOKBxqY2XBGKTh6ZmimCmPbmAifcjDeYPYq5MBssmzmEBgyOqltYCpDQ9wJVXomWWCrqaMbum82o<br />
O5wKVjBZkFDwyFDnkKnJFJwF8vzRFawtxiEwpMJiUvBpH8zSW0od+OwcBRxfHJ0hSMacDCY//GUE<br />
aGlxWi1PVcqm2CseuWKkruoJMwnWLAyThnFD5OhcckZviBRbxIhnSUckTaeBPEtj/7B0C7rIYXI5<br />
q4pHS1mjLpeGMb30ZVrJuro0z3MJfecHx+1qOuHRypxWMhh9k2MHCJytgBMYOPPgTGcg/lrGUrFs<br />
vcM483CAKC+I44YCiKqAfgEiPYXG7gmauxFoCMmAWp+9CLtIDgbqDpbGYPX9oIHbzNggyA8UmAjI<br />
im71wIsy4wjlqWrtLQXUDS/MUQQ2SmReei3IZviy53jAvlDBfrKTNNSJFWWhHvEmIAi9gIkGqsuN<br />
RWLzgilIgSZciOCuSjKGJ2imK+YjjLKG1Q2RHawZkfgGFLhwQXFsJAobcZmUZCAsaWwKKxp8Q4S+<br />
pINKYKpu/JOKEoiWm1bEDj5rEf8GEkXBJ1voqFBckIAT+fDD/tXFavCqQRBvgAUPYGE86RveInph<br />
hmy4z1BPHNo8ONG1GYTAdw3kRxLH4Doq+iU5naNjCd5lpzvisRBivKKc/LWGQPkuD90wzxrdEyqG<br />
zBGKSwFHVFjBsQw0sQNYSA+IfhSNIaTtGe/gziS6YB0JTPFSepyOCUKhu89UpJXOicUiT9VHTPwP<br />
kCxCIBxMA6hDelBdvcNOI8kniAhB5glgMA59hpmQELzsJ52jyijlYMeCURF5NGiJTDggM5KtSjXi<br />
KVIjPgifUs5SP1bUBNWkg4ZYkuEQA8lAFdZSOBqIEz4Qk4bM4uAZnsiAmiVww2D/dFmx1PioMkIS<br />
TYmyEUrwAMaOIAIjpOYF0VFhgZmoeQ4fO3AWCYBMNFPMaDnx8Ed0duR2CjmEEMMwjJSSAZ4CVGiS<br />
EJeqKNE0SvQgQzQP98kKIUZ8UpiFY7YCFiGAaxNr0QCEqBSnzn1BSrNbhAdqGiWTtrQgGVtBIf9Q<br />
OBRQoCNqwhkZTyeMrBaKnI/xwK6sms7+rfVoMlyeP0/wG6m+4hjGGlHfIBqHl3TiW1foygNz8CFk<br />
RE0GE+Cot2D5xh008n0a9UtUGJEBTnbhHkzI3wZkNYSlqiuC23DGzexKV6meJBK+2pZnu3oukjx1<br />
E4WkrAxdMtJKQtGzLSiIYc9g/9arjdam+WrXYgshENMoMDO7EO2DUjcBul5SW3I5WyciSKx58uBt<br />
yAiKA2XxIeca4ZR4rBNIKzRa0/wKMtfVruKSByE07XYh4Y0dTbGHDPV8IEoaDOkeBKIrOL6Dpp78<br />
DElk4YH0aoqsdYnnXgJLranCMje2kwaBY4a4PkhOBiGra1Ocw553IKurdVXNoo4A3riWg7Tza+12<br />
wFHXm3ZMwe46J4t+4AWpAm9exprAJZERYfySAU8diZBkarpjgiICwXJx8cAqmGCzBlnH0DFwRhCn<br />
F1+pRgg53URTFYMs9iiTo6jgHNheLFUrXCS4GAizCUSwhJGw9BLMq9pDJ+ECov9JRq88hgsddpNH<br />
qQ75BIGjUp7arJ8yTe2aouWOqlREFYsABsY6OCUfn2EYxGwSBsm46r6G0l/DLQFnJPbzeH9Liine<br />
dQlNBXQnQLA2IZrXzjmZ7Z3zsgs6zNW/j46GJDBwF0GH4QqDKfRqRjoSVytKKUfwriv6OQ6VxISM<br />
dknlL2rJif3wrc98wFwtcSHEwdL107GCU3uvKa/bPntgIzjQe2Fguw2WOtaypoFd401sGzzN3cso<br />
yF6EJaiMIELQ7WZsIZcyvCAqZB758rQQ7doCF0z1r1Jxw2HvAghJ+CN6V1oKWXANuvXqwMliaJq9<br />
392x2aZuBKLGgcJC7sBuEEH/CJK6sg06UhILis3aqXyZYwdWbqA1qioIv9O/aSsBKgyPYnfRSSxN<br />
wYyDnbG63sZFoscQC5WXAdUAqHeVbGeoa6KZ6ueAZsuFRUkelPqR6eC1tlXRdYJRJFAWEYIpyOUY<br />
1DCJEqWsIVoE9ksjLCXDZzK5JjguXnKuhZNS+I7Nva7u4WFdsCyZwCoCofhCkXk2S4vQfR/esTlA<br />
AbdwAXK2yZOmMt32iSVZDE7WF/TvTSfvOsAll9bhcHV6MxNPxwXhCyKlP8YDrZM/wtxM4F0MuUej<br />
O/99lAUfbD2bIFNuoYwaBMkDf14Xi5TB92OJJy0c7ZTn1m+9UXeQn3VlBpiw/9aDt/sm6mG8Ih/F<br />
5Gi1KGN15JcDjNjPAarHvy+04xEqH4Abm3gVPR2ICQEH1exdD1DT2DXS3ZDM2nDDwvlFZfyF0QCG<br />
yTzK/PEbw+xA88zb0YTb5z2cAsVb4WCd+shY8QUf/dWACiqKbZyMGxTM7YXUI9WCqn1a48XMELRR<br />
6aTc1bETG3kgbhRMiGVgRqDdCa3gW1ifv0zWr4TemU3IMOyTEs6FnfngagwBxOiEp5yDo3kdF7Wc<br />
8k3HF/IDOLxBwIAc8BGYJOgDuUSNdkxFDGgRv3BeRSxIxYyh8CEOBgrhBt7JQj1IFQ4UFonRYaQA<br />
8/VM5h1FGw1ihejVDwgM9v+lgjxwhxaCYB/FnRjiSWURgxDCx+oB3FzEz0VclU6UyBugXp28i3oM<br />
Wbr14fmc3xlgYfgoobetSPCdjlfQ3T21X9A44uIVCi4k3rD0BHSJAv/h0TgcXgekwbQMA46UDpQB<br />
xfAghUpZT7/5BFDNChgoH+YEg4B11Xj8GP4RU28YoXNMI9kRYznd4pNI0df9VKh0ShkCY/dBm5TQ<br />
jiz+3k8txjGJCcPNR7rcQhjtIhZCR3plifGgYn8ZFsksYys8CBcIgcx9HfFEGCziXy74Tz3amzve<br />
wGx5RYRhE/qcyckRT+2xAUYl2ttYFUqAUUraY6YhV1DdwY7cQUV+xu55YqX/SEqXVJaX8EESEcJG<br />
RBZgmAQ7ZRQ6xsMqwQFTruDTeQSKRdPwCSAKsggsocuRGJtKysCH2c4EpYCdrdP3dB1DTEQixsG2<br />
NIUlFI9A8kRpVNThSMY4qiMPIBleYFMNZOSekcrTUKEhsM18JGMmRFyPEU08FNs9rAcX/EZ4SN+I<br />
GNk7KUU/lNg4YOJc5MIvYASMpEx4bM8i+gJNfeIloMx7RAM7ksJxFEEGZt5PHCRgYOYskmYhnIhu<br />
bYLiQEZWOEQL6uDQzQFktotuHuYO5KAiwkdReeG6WdV1lQQamGUesIVf+KDhRAejNYR6TAj1pAJn<br />
XGbKVaAmmBcZCV9QvUay/1nToBHaPzZKEKmG1kQfdK4BUxKm09BmfwmRUhpJYt3VbZSJfU4KoK1E<br />
PUFHwpllJDoLivmZDcYQG8kmfNBTTLJZTgaU/PDaHx7FzcyK70Dhkf3leOLCa6DBbPRCWh5BvWjR<br />
esIJUBQZezAcIvznEniLcepAwPwNj5Cj0+GmF9JUsOiJBpUoo7wRWfKEz7SVmZ3dXYYi2RgjNgwB<br />
oYCCR5hC5BmBZKQBVhwDIsgWrGUAV2KfgJDmhfqCjqCMQcmKZcTIRCCUZFRWVpBLeewjf+xDW7qa<br />
7XiEBjkLjJJfL2DFNICIt7gGCj1Bg5BLBY1EtQRkapKSjpLN05idaNTN0/8YSGwWTSIKEq3gwmYg<br />
g8B8Wu3wqJjB3eDwJN/ZVZnMKAu+ZSphg7VpUVIcSkr1po7uStQxkZ1ARvqEZgzIwGA86fmMSsgc<br />
k7Uto2N0Yp4igRryg9vMgM+sIhBcBjOOQX6mxjT+w37hFda0S1NKE2Qs6Fd8h53FFfvNxFcMT9rI<br />
AwsYi6mK2CtAQ69gaW8GWaI6EAWICZ0NGWQcA1kARUxaRQ1GgjRkxbX2QJnAXT4CXC3MaW7s67gy<br />
RFvVgaqYSCoOE04CgR5eI91c6l3KHKfNUi3e3+DcgdtgjQDiQFwRVuth2o5KQZEBA2h0pA98pn9e<br />
xB/h2BS0SLoiwcW8qp3/NYVSWOMx0GeQbsfN2sAHrEWK0uiGwiYmGCaEhocxVAHvaYA1Ngd43iaR<br />
wikTfAEQMsoxpmNmOkZwqtuNpit6As9PfcIskMNKAQRVSYA2maeYmBbUJigbjMTTwSoZ5s9yHet1<br />
7FsMTMG3uO28zdn5SFoz/kHimVkkcq2oEoTR1RkR7I5d8kNv4CgSpGkfNewJyNSUpN4xTAi4KqxO<br />
eSFKZkEthkt2bNw/5Mjs7SXg/tWYrAvdZq3bah5PgIHSdkJAZGkf5EEWEA0twA5rxmuauezSSuln<br />
/SkV0Cit4QRfjaqGJaCRaA0eoePrSW0Piu2LDU+aZMooXICSVsmENU2I/0xIs0iqIVFF67IgTEBU<br />
BvDFLwztQuQu7SzJGbAGxiCuGfAC8h2W6FqtX7DjUs0qo2yPYugefdKl00SFEYYiV8zgYwSRulSn<br />
NlWCn2KDbGZAVMjcsonfZUgFtFUA1i7EvuUs5OlVcI0D3ioabCjG5IYwi0wWIwBuPkHH1pYV3RzB<br />
d+ZaAePEMnYhtEbpPn5aspGhn8WBwumk0VoMHwRsUaRnVawplcanBPicINDvQvwG2zioMF5u6Ugt<br />
MQqDNv4BF7fTdTFcsabZM7Cj8oWpKpQHQkCKCgJmQ0QYNcUbV2qfBeLODpUECa5xSUXk7yoswQyS<br />
cV2mDturyTDFDfdVGf83MQGbKP4QorxW8ej2XRqXgW2qpea+IE80ckRuR1cBbSEQrh7sR9gC2tvo<br />
yHUKbRcA6VXAB+a8HSmF4kxh7HZB2+IakvFGLxYxyM2UzU9NFa6e1LquABXH3LqOhIlmRYjgT4g5<br />
0FrAzHRiR0mN0Bi9wJGCYhfA3g45Rip485lYLz9A4hV0HaqNRAVF0OxIX0niTsRWQolgcapICw8L<br />
cpCAxJiO8MN5oBvDTFlAFcoCikQ1o10yrZiiyXXN6xevMB9YMlAciP7dxUTznRprMEBUbmquRH+d<br />
aybrAVcBxOuJi0lsXOOSB8D0MvEkRzHj2yqjBIwFdLSQ0nNYFf/p5ev/9NlwAt8L4xTGWu4S8KoP<br />
nFYllo6cMRZEXx2hvp0xEa8Z4GV1nWsyG1o3g7LNuqf8+o80FCwW+Z0h2zG5Kqx01gHfcU6oqE+Q<br />
CUxibsJ7hMbe5YMXLNdU+3J2QdmHhl8nyEZymlN70aVX8Q1L8DP3pJ63OExeuoE35SRj1VvVWl9V<br />
yxEQUC+dZAbd7oQoGdgweMFPpU/b/sHw3DIkREnzbbQfeGwrlOK5stNVjini6A6M/u/rcQS7ekPY<br />
spH8kABbkLL45WmtJepUCGq9uLDTzHX1mAxOy4WbSKVMr5lVI2kdndXxfYUTj4HeuDIfZMN0d/YJ<br />
rMtpTnP9gSL2vHIO/0KwprXCWS9vjRrxBqxdVp9qMv7zDq3FOW1zfsmDkW4L5vU0XrWsMY0xR7su<br />
MMDqhzj1GuSNhTkohybsY2Ps0DnREg2jlmly40Gf1jExptDt8KEJ2LHChQJaNEOdVxw3Dxjd3xZb<br />
UOXgO78DzpF3Kq0v8KWeCl3caC8wdriDd9oXNV9kGUDTYPNN2cApn87uver2BjV3o7Q3Gz32cCMe<br />
H1QQjjGDTWWaGYNZV41ptsxJr+jIublwEPAztRwIzGFozEmRx41IJDPWePxH32Vpym2sCB9IbeeR<br />
rZiuVEfyc87CZIVBEygD8koLVx9FUjxy3YZA59mWMwSLl8c2X1lCPP/VG8Z5i6ux7g8h9Cnngn7b<br />
bRrjCdbNlBwooGywH2h87+WedBMaBCd10B+UhAjkz67I6kNVyX09Z7gplR8sSB7vmf5yyYy80V1J<br />
QcqJExbH3F/8LlbM1yXZzhwkeKPY3Iz2TbDDwaukKsBiN1JdVzWwVrYYuaLIGUNro9Ykgj4WElXA<br />
0yVkOMmq9PRdNqrLhMnq5GxM70EwOExnCh1PALVKgg6tg1AESmysK3kRe3Tfic+FaIPs41rDdxbi<br />
HxyDiiWdmVM/eZeASpsfbFQF/FzYXKA0sTY9e6/NV08sSVH9ySfIme7MgqGbBoP4CNpFO3mM8TVB<br />
jGk8+4Cp7hZo91P/g2yQTcKuNJ/sEPg/iZJ54qFdmW9b0MH9xTkrDxaLCR+Xnp4pWDjJapM4AnqQ<br />
AC6SJ4l2Hkpk5+5VwnKS7FhmS2Crjeknung6lITCIF43eyCJP8Z2WcS5oWcuFZb5tIQx2IsCkVL8<br />
IJXLOS0hwPVK2DwogMG7XKacbbBPisoiDIQEWfxl5k9qQ5EY4MmV1ZoVr8AuvIZkdEurl57AerbL<br />
07eYr65hOa/OnwtxWyHlZotH/O9av9/lZhV6xhPkFjFjVdROcpd0+1dJbQg3LPeyIwFdvLK2U6l4<br />
BBnikJFmzsRMlZfsSEsphm8rNMUjfac0FoU/w1rufEjxoCZ2wL2Q/13UP8DTWAd1tYizjnwI56gR<br />
D2EV39kZ3HPb2OxlJTqgEqk4mVm94LMggQnBWEPAKYBWWgwYh55hwVAMApEKMkswJuIQPJA8Z4B0<br />
j5z8KLekDC+AgVARBjGFQrHAM4GWTykARiheBIHDb9r1EoiD0iBlIghEm5SWJ3zBgk4vLxujkAHg<br />
LGlP4gsAAwUBc9CeViQ2zgYZGx0fIR8LClUMDASUCAYGlJQOLiMZNwd8LFxIR1NHcSaoJjZDAgzB<br />
vALAcj5xDL1CXAQIOoMtWYJwWTCOJYKXk5iFlYaj4yyQPy1xDzSzRYqxvb/Bw8XHycslhna7vycK<br />
spAAJs29d3vk7f/v8fP1v9GU8rbU7QOXAYfAb5cOETG4UB6wCVkq2BoAsUJBg1z+6btURkUJFBgt<br />
2Ao4DmQXLQxRmqO3gRyRkSNT5lvCKWbNcvQy2tS5k6fADCx7ivllgAdQhk5gpExBy0auVFY4xRNI<br />
z+I9Fjh7aMhR4Acmhu1ACNp0q6dOOUbLmgOF1ts1bO1mvKzANq1KEFXrLlyChm5engT9DitXFNsZ<br />
CknzSt2UlqpPM00PqpXaUvA4A1xQ+JUnB7FmyxMzH6wwuZwmsuFS9OWJE69fOSO5IsJF7xM4uF49<br />
O1adu+We1rx3No7pNhtMcmJOkI4tjmsF48CPq4Bedhdptc+D353/bu0gRuzhkP8u03k64O2oqZG0<br />
8P08OeHt5RGtI449fGyc4dvqPncgtHtyftOMNc/ayWI3c7gg76CA4AKiPfO2w8goYtQKh4ASrLMP<br />
F4wCzG0R3HZRkDINB5MOvgK9mclBbDhMUYBNYAqjw7wG1KyJiQpqRStwdgmtE5rWsWBCEj/J6bz6<br />
9nGJSH5Mge+ykLbKAjdzmpAyHDQCyJA3/Ja8x5N1SDmtyxqdJKed1riY7BgkyzOyyzezqwjOsqo8<br />
0DUT54wsz3vIHLNJ236w800I9yzUIHq0NFTR6CoQcU4sZVuUR+0krVQtNy3NlMnRNO3UmysO81TU<br />
PkXVlNBSNUUUWNVOuVy1UlJdXTSDRGPdU9VaF9XxjrrUCaLX66yJJlhpiC3W2GORHaaZaKAhxlkW<br />
QJItIGnoS5ZZZ7DNVttOrHCo2yWW6FbccYEh14pwx0XX3HXRDVeACAAAOw==<br />
" alt="1990/09/18's comic"/><!--end_raw--></p>
]]></content:encoded>
			<wfw:commentRss>http://tea.cesaroliveira.net/archives/40/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
