<?xml version="1.0"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">

<channel>
	<title>Planet Python</title>
	<link>http://planet.python.org/</link>
	<language>en</language>
	<description>Planet Python - http://planet.python.org/</description>

<item>
	<title>Simeon Franklin: Higher Order Functions in Python</title>
	<guid>http://simeonfranklin.com/blog/2013/jun/17/higher-order-functions-python/</guid>
	<link>http://simeonfranklin.com/blog/2013/jun/17/higher-order-functions-python/</link>
	<description>&lt;p&gt;I'm teaching a virtual class right now and with a week break thought a refresher video for my students was in order. If you've ever wanted to learn to use sorted/map/filter/reduce and friends in Python - watch on. (20 minute video after the jump).&lt;/p&gt;

&lt;a href=&quot;http://simeonfranklin.com/blog/2013/jun/17/higher-order-functions-python/&quot;&gt;Read More&lt;/a&gt;</description>
	<pubDate>Mon, 17 Jun 2013 21:34:37 +0000</pubDate>
</item>
<item>
	<title>Logilab: PyLint 10th anniversary 1.0 sprint: day 1</title>
	<guid>http://feedproxy.google.com/~r/logilaborg_en/~3/M9tX-Y-lrz8/146924</guid>
	<link>http://feedproxy.google.com/~r/logilaborg_en/~3/M9tX-Y-lrz8/146924</link>
	<description>&lt;p&gt;Today was the first day of the Pylint sprint we organized using
Pylint's 10th years anniversary as an excuse.&lt;/p&gt;
&lt;p&gt;So I (Sylvain) have welcome my fellow Logilab friends David, Anthony
and Julien as well as Torsten from Google into Logilab's new Toulouse
office.&lt;/p&gt;
&lt;p&gt;After a bit of presentation and talk about Pylint development, we
decided to keep discussion for lunch and dinner and to setup
priorities. We ended with the following tasks (picks from the pad at
&lt;a class=&quot;reference&quot; href=&quot;http://piratepad.net/oAvsUoGCAC&quot;&gt;http://piratepad.net/oAvsUoGCAC&lt;/a&gt;):&lt;/p&gt;
&lt;ul class=&quot;simple&quot;&gt;
&lt;li&gt;rename &lt;tt class=&quot;docutils literal&quot;&gt;astng&lt;/tt&gt; to move it outside the &lt;tt class=&quot;docutils literal&quot;&gt;logilab&lt;/tt&gt; package,&lt;/li&gt;
&lt;li&gt;Torsten &lt;tt class=&quot;docutils literal&quot;&gt;gpylint&lt;/tt&gt; (Google Pylint) patches review, as much as
possible (but not all of them, starting by a review of the numberous
internal checks Google has, seeing one by one which one should be
backported upstream),&lt;/li&gt;
&lt;li&gt;&lt;tt class=&quot;docutils literal&quot;&gt;setuptools&lt;/tt&gt; namespace package support
(&lt;a class=&quot;reference&quot; href=&quot;https://www.logilab.org/8796&quot;&gt;https://www.logilab.org/8796&lt;/a&gt;),&lt;/li&gt;
&lt;li&gt;python 3.3 support,&lt;/li&gt;
&lt;li&gt;enhance &lt;tt class=&quot;docutils literal&quot;&gt;astroid&lt;/tt&gt; (former &lt;tt class=&quot;docutils literal&quot;&gt;astng&lt;/tt&gt;) API to allow more ad-hoc
customization for a better grasp of magic occuring in e.g. web
frameworks (&lt;a class=&quot;reference&quot; href=&quot;https://code.google.com/p/protobuf/&quot;&gt;protocol buffer&lt;/a&gt; or &lt;a class=&quot;reference&quot; href=&quot;http://www.sqlalchemy.org/&quot;&gt;SQLAlchemy&lt;/a&gt; may also be an
application of this).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Regarding the &lt;tt class=&quot;docutils literal&quot;&gt;astng&lt;/tt&gt; renaming, we decided to move on with
&lt;tt class=&quot;docutils literal&quot;&gt;astroid&lt;/tt&gt; as pointed out by the &lt;a class=&quot;reference&quot; href=&quot;http://stellarsurvey.com/s.aspx?u=361C2111-FB16-491A-9F2B-862656B29DCD&amp;&quot;&gt;survey on StellarSurvey.com&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In the afternoon, David and Julien tackled this, while Torsten was
extracting patches from Google code and sending them to bitbucket as
pulll request, Sylvain embrassing setuptools namespaces packages and
Anthony discovering the code to spread the &amp;#64;check_message decorator
usage.&lt;/p&gt;
&lt;p&gt;By the end of the day:&lt;/p&gt;
&lt;ul class=&quot;simple&quot;&gt;
&lt;li&gt;David and Julien submitted patches to rename &lt;tt class=&quot;docutils literal&quot;&gt;logilab.astng&lt;/tt&gt; which
were quicly integrated and now &lt;a class=&quot;reference&quot; href=&quot;https://bitbucket.org/logilab/astroid&quot;&gt;https://bitbucket.org/logilab/astroid&lt;/a&gt;
should be used instead of &lt;a class=&quot;reference&quot; href=&quot;https://bitbucket.org/logilab/astng&quot;&gt;https://bitbucket.org/logilab/astng&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Torsten submitted 5 pull-request with code extracted from gpylint,
we reviewed them together and then Torsten used &lt;a class=&quot;reference&quot; href=&quot;http://mercurial.selenic.com/wiki/EvolveExtension&quot;&gt;evolve&lt;/a&gt; to properly
insert those in the pylint history once review comments were
integrated&lt;/li&gt;
&lt;li&gt;Sylvain submitted 2 patches on logilab-common to support both
&lt;tt class=&quot;docutils literal&quot;&gt;setuptools&lt;/tt&gt; namespace packages and &lt;tt class=&quot;docutils literal&quot;&gt;pkgutil.extend_path&lt;/tt&gt; (but
not bare &lt;tt class=&quot;docutils literal&quot;&gt;__path__&lt;/tt&gt; manipulation&lt;/li&gt;
&lt;li&gt;Anthony discovered various checkers and started adding proper
&lt;tt class=&quot;docutils literal&quot;&gt;&amp;#64;check_messages&lt;/tt&gt; on visit methods&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;After doing some review all together, we even had some time to take a
look at Python 3.3 support while writing this summary.&lt;/p&gt;
&lt;p&gt;Hopefuly, forthcoming days will be as efficient as this first day!&lt;/p&gt;</description>
	<pubDate>Mon, 17 Jun 2013 19:39:32 +0000</pubDate>
</item>
<item>
	<title>Ian Ozsvald: Demonstrating the first Brand Disambiguator (a hacky, crappy classifier that does something useful)</title>
	<guid>http://ianozsvald.com/2013/06/17/demonstrating-the-first-brand-disambiguator-a-hacky-crappy-classifier-that-does-something-useful/</guid>
	<link>http://ianozsvald.com/2013/06/17/demonstrating-the-first-brand-disambiguator-a-hacky-crappy-classifier-that-does-something-useful/</link>
	<description>&lt;p&gt;Last week I had the pleasure of talking at both &lt;a href=&quot;http://brightonpy.org/meetings/2013-06-11/&quot;&gt;BrightonPython&lt;/a&gt; and &lt;a href=&quot;http://www.meetup.com/Data-Science-London/events/123032212/&quot;&gt;DataScienceLondon&lt;/a&gt; to about 150 people in total (Robin East &lt;a href=&quot;https://robineast.wordpress.com/2013/06/14/data-science-london-meetup-june-2013/&quot;&gt;wrote-up&lt;/a&gt; the DataScience night). The &lt;a href=&quot;https://github.com/ianozsvald/social_media_brand_disambiguator&quot;&gt;updated code&lt;/a&gt; is in github.&lt;/p&gt;
&lt;p&gt;The goal is to disambiguate the &lt;a href=&quot;https://en.wikipedia.org/wiki/Word_sense&quot;&gt;word-sense&lt;/a&gt; of a token (e.g. &amp;#8220;Apple&amp;#8221;) in a tweet as being either the-brand-I-care-about (in this case &amp;#8211; Apple Inc.) or anything-else (e.g. apple sauce, Shabby Apple clothing, apple juice etc). This is related to named entity recognition, I&amp;#8217;m exploring simple techniques for disambiguation. In both talks people asked if this could classify an arbitrary tweet as being &amp;#8220;about Apple Inc or not&amp;#8221; and whilst this is possible, for this project I&amp;#8217;m restricting myself to the (achievable, I think) goal of robust disambiguation within the 1 month timeline I&amp;#8217;ve set myself.&lt;/p&gt;
&lt;p&gt;Below are the &lt;a href=&quot;https://speakerdeck.com/ianozsvald/detecting-the-right-apples-and-oranges-1-hour-talk-on-python-for-brand-disambiguation-using-scikit-learn-at-brightonpython-june-2013&quot;&gt;slides&lt;/a&gt; from the longer of the two talks at BrightonPython:&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;As noted in the slides for week 1 of the project I built a trivial &lt;a href=&quot;http://scikit-learn.org/stable/modules/linear_model.html#logistic-regression&quot;&gt;LogisticRegression&lt;/a&gt; classifier using the default &lt;a href=&quot;http://scikit-learn.org/stable/modules/generated/sklearn.feature_extraction.text.CountVectorizer.html#sklearn.feature_extraction.text.CountVectorizer&quot;&gt;CountVectorizer&lt;/a&gt;, applied a threshold and tested the resulting model on a held-out validation set. Now I have a few more weeks to build on the project before returning to &lt;a href=&quot;http://morconsulting.com/&quot;&gt;consulting work&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Currently I use a JSON file of tweets filtered on the term &amp;#8216;apple&amp;#8217;, obtained using the free streaming API from Twitter using cURL. I then annotate the tweets as being in-class (apple-the-brand) or out-of-class (any other use of the term &amp;#8220;apple&amp;#8221;). I used the &lt;a href=&quot;https://pypi.python.org/pypi/chromium_compact_language_detector&quot;&gt;Chromium Language Detector&lt;/a&gt; to filter non-English tweets and also discard English tweets that I can&amp;#8217;t disambiguate for this data set. In total I annotated 2014 tweets. This set contains many duplicates (e.g. retweets) which I&amp;#8217;ll probably thin out later, possibly they over-represent the real frequency of important tokens.&lt;/p&gt;
&lt;p&gt;Next I built a validation set using 100 in- and 100 out-of-class tweets at random and created a separate test/train set with 584 tweets of each class (a balanced set from the two classes but ignoring the issue of duplicates due to retweets inside each class).&lt;/p&gt;
&lt;p&gt;To convert the tweets into a dense matrix for learning I used the CountVectorizer with all the defaults (simple tokenizer [which is not great for tweets], minimum document frequency=1, unigrams only).&lt;/p&gt;
&lt;p&gt;Using the simplest possible approach that could work &amp;#8211; I trained a LogisticRegression classifier with all its defaults on the dense matrix of 1168 inputs. I then apply this classifier to the held-out validation set using a confidence threshold (&amp;gt;92% for in-class, anything less is assumed to be out-of-class). It classifies 51 of the 100 in-class examples as in-class and makes no errors (100% precision, 51% recall). This threshold was chosen arbitrarily on the validation set rather than deriving it from the test/train set (poor hackery on my part), but it satisfied me that this basic approach was learning something useful from this first data set.&lt;/p&gt;
&lt;p&gt;The strong (but not generalised at all!) result for the very basic LogisticRegression classifier will be due to token artefacts in the time period I chose (March 13th 2013 around 7pm for the 2014 tweets). Extracting the top features from LogisticRegression shows that it is identifying terms like &amp;#8220;Tim&amp;#8221;, &amp;#8220;Cook&amp;#8221;, &amp;#8220;CEO&amp;#8221; as significant features (along with other features that you&amp;#8217;d expect to see like &amp;#8220;iphone&amp;#8221; and &amp;#8220;sauce&amp;#8221; and &amp;#8220;juice&amp;#8221;) &amp;#8211; this is due to their prevalence in this small dataset (in this set examples like &lt;a href=&quot;https://twitter.com/trendblognet/statuses/311959699010502656&quot;&gt;this&lt;/a&gt; are very frequent). Once a larger dataset is used this advantage will disappear.&lt;/p&gt;
&lt;p&gt;I&amp;#8217;ve added some TODO items to the &lt;a href=&quot;https://github.com/ianozsvald/social_media_brand_disambiguator/blob/master/README.md&quot;&gt;README&lt;/a&gt;, maybe someone wants to tinker with the code? Building an interface to the open source &lt;a href=&quot;http://dbpedia-spotlight.github.io/demo/&quot;&gt;DBPediaSpotlight&lt;/a&gt; (based on WikiPedia data using e.g. this &lt;a href=&quot;https://github.com/newsgrape/pyspotlight&quot;&gt;python wrapper&lt;/a&gt;) would be a great start for validating progress, along with building some naive classifiers (a capital-letter-detecting one and a more complex heuristic-based one, to use as controls against the machine learning approach).&lt;/p&gt;
&lt;p&gt;Looking at the data 6% of the out-of-class examples are retweets and 20% of the in-class examples are retweets. I suspect that the repeated strings are distorting each class so I think they need to be thinned out so we just have one unique example of each tweet.&lt;/p&gt;
&lt;p&gt;Counting the number of capital letters in-class and out-of-class might be useful, in this set a count of &amp;lt;5 capital letters per tweet suggests an out-of-class example:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://ianozsvald.com/wp-content/uploads/2013/06/nbr_capitals_scikit_testtrain_apple.png&quot;&gt;&lt;img class=&quot;aligncenter size-medium wp-image-1869&quot; alt=&quot;nbr_capitals_scikit_testtrain_apple&quot; src=&quot;http://ianozsvald.com/wp-content/uploads/2013/06/nbr_capitals_scikit_testtrain_apple-300x226.png&quot; width=&quot;300&quot; height=&quot;226&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
This histogram of tweet lengths for in-class and out-of-class tweets might also suggest that shorter tweets are more likely to be out-of-class (though the evidence is much weaker):&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://ianozsvald.com/wp-content/uploads/2013/06/histogram_tweet_lengths_scikit_testtrain_apple.png&quot;&gt;&lt;img class=&quot;aligncenter size-medium wp-image-1870&quot; alt=&quot;histogram_tweet_lengths_scikit_testtrain_apple&quot; src=&quot;http://ianozsvald.com/wp-content/uploads/2013/06/histogram_tweet_lengths_scikit_testtrain_apple-300x226.png&quot; width=&quot;300&quot; height=&quot;226&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Next I need to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Update the docs so that a contributor can play with the code, this includes exporting a list of tweet-ids and class annotations so the data can be archived and recreated&lt;/li&gt;
&lt;li&gt;Spend some time looking at the most-important features (I want to properly understand the numbers so I know what is happening), I&amp;#8217;ll probably also use a Decision Tree (and maybe RandomForests) to see what they identify (since they&amp;#8217;re much easier to debug)&lt;/li&gt;
&lt;li&gt;Improve the tokenizer so that it respects some of the structure of tweets (preserving #hashtags and @users would be a start, along with URLs)&lt;/li&gt;
&lt;li&gt;Build a bigger data set that doesn&amp;#8217;t exhibit the easily-fitted unigrams that appear in the current set&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Longer term I&amp;#8217;ve got a set of Homeland tweets (to disambiguate the TV show vs references to the US Department and various sayings related to the term) which I&amp;#8217;d like to play with &amp;#8211; I figure making some progress here opens the door to analysing media commentary in tweets.&lt;/p&gt;
&lt;hr /&gt;
Ian applies Data Science as an AI/Data Scientist for companies in Mor Consulting, founded the image and text annotation API Annotate.io, co-authored SocialTies, programs Python, authored The Screencasting Handbook, lives in London and is a consumer of fine coffees.</description>
	<pubDate>Mon, 17 Jun 2013 19:13:44 +0000</pubDate>
</item>
<item>
	<title>Shannon -jj Behrens: Python: I Like Django</title>
	<guid>http://jjinux.blogspot.com/2013/06/python-i-like-django.html</guid>
	<link>http://jjinux.blogspot.com/2013/06/python-i-like-django.html</link>
	<description>&lt;div dir=&quot;ltr&quot;&gt;&lt;div class=&quot;separator&quot;&gt;&lt;a href=&quot;http://upload.wikimedia.org/wikipedia/en/c/c2/Greenegg.gif&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://upload.wikimedia.org/wikipedia/en/c/c2/Greenegg.gif&quot; /&gt;&lt;/a&gt;&lt;/div&gt;I like Django. I didn't used to. However, it's become more powerful, more flexible, and better documented since the last time I looked at it. I can now see myself really enjoying using it. &lt;br /&gt;&lt;/div&gt;</description>
	<pubDate>Mon, 17 Jun 2013 19:28:35 +0000</pubDate>
</item>
<item>
	<title>Python Piedmont Triad User Group: PYPTUG meeting - June 24th</title>
	<guid>http://www.pyptug.org/2013/06/pyptug-meeting-june-24th.html</guid>
	<link>http://www.pyptug.org/2013/06/pyptug-meeting-june-24th.html</link>
	<description>&lt;div class=&quot;post-header&quot;&gt;&lt;/div&gt;&lt;h3&gt;PYthon Piedmont Triad User Group meeting&lt;/h3&gt;&lt;br /&gt;Come join PYPTUG at out next meeting (&lt;b&gt;June 24th 2013&lt;/b&gt;) to  learn more about the Python programming language, modules and tools.  Python is the perfect language to learn if you've never programmed  before, and at the other end, it is also the perfect tool that no expert  would do without.&lt;br /&gt;&lt;br /&gt;&lt;img height=&quot;135&quot; src=&quot;http://www.python.org/community/logos/python-logo-master-v3-TM.png&quot; width=&quot;400&quot; /&gt;&lt;br /&gt;&lt;h3&gt;What&lt;/h3&gt;Meeting will start at &lt;b&gt;5:30pm&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;We will open on an &lt;b&gt;Intro&lt;/b&gt; to PYPTUG and on how to &lt;b&gt;get started&lt;/b&gt; with Python, PYPTUG activities and members projects, then on to News from the community including a session on SELF:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;SELF 2013 recap&lt;/h3&gt;&lt;br /&gt;This month is a joint meeting with PYPTUG and PLUG (&lt;a href=&quot;http://lists.wfu.edu/mailman/listinfo/plug&quot;&gt;Piedmont Linux User Group&lt;/a&gt;) since we are doing a South East Linux Fest recap. Some members will talk about some of the subjects that were presented at SELF 2013. If you attended, we invite you to speak up and share what you enjoyed there during this recap session.&lt;br /&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot;&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h3&gt;Lightning talks!&lt;/h3&gt;&lt;br /&gt;&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;img src=&quot;http://cdn1.iconfinder.com/data/icons/Futurosoft%20Icons%200.5.2/128x128/apps/soundkonverter_replayagain.png&quot; /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot;&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;Switching the order around this time, we will have some time for extemporaneous &quot;lightning talks&quot; of  5-10 minute duration. If you'd like to do one, some suggestions of talks  were &lt;a href=&quot;http://www.pyptug.org/2012/12/python-lightning-talks-ideas.html&quot;&gt;provided here&lt;/a&gt;, if you are looking for inspiration. Or talk about a project you are working on.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;There might be a lightning talk on the &lt;b&gt;Requests&lt;/b&gt; module, and one of the following (based on a poll):&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;I trace, you trace, dtrace&lt;/li&gt;&lt;li&gt;XKCD stylee&lt;/li&gt;&lt;li&gt;Ping py pong &lt;/li&gt;&lt;/ul&gt;After the lightning talks, we will get everybody involved:&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;&amp;nbsp;&lt;/h3&gt;&lt;h3&gt;Hands On: Raspbian alternative on Raspberry Pi&lt;/h3&gt;&lt;br /&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-PFE7Hdoqn2w/Ub-tm32RANI/AAAAAAAACVI/mG47jjNUfEg/s1600/ArchlinuxLogo2.png&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;59&quot; src=&quot;http://4.bp.blogspot.com/-PFE7Hdoqn2w/Ub-tm32RANI/AAAAAAAACVI/mG47jjNUfEg/s200/ArchlinuxLogo2.png&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-gtKVqBUhwpk/Ub-tm7K2KTI/AAAAAAAACVE/Ee3ptSV6rdc/s1600/freebsd-icon.png&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;141&quot; src=&quot;http://4.bp.blogspot.com/-gtKVqBUhwpk/Ub-tm7K2KTI/AAAAAAAACVE/Ee3ptSV6rdc/s200/freebsd-icon.png&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;We will play around with a Raspberry Pi running FreeBSD and Arch Linux. If you bring a cat 5 cable and your laptop, you'll be able to login and get a feel for it. An SD card reader will be setup for those who want to burn an image on their own SD card.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Main talk:&amp;nbsp; The Lost Art Of Digital Entomology &lt;/h3&gt;&lt;br /&gt;&lt;a href=&quot;http://3.bp.blogspot.com/--C6RyoTa02o/Ub-smPtXfoI/AAAAAAAACU4/ctFsANzCviQ/s1600/mosquito.gif&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/--C6RyoTa02o/Ub-smPtXfoI/AAAAAAAACU4/ctFsANzCviQ/s1600/mosquito.gif&quot; /&gt;&lt;/a&gt;In recent years, the scientific study of &quot;bugs&quot; has been reduced to running a debugger (or perhaps writting a bunch of print statements - you know who you are...). But is it really just that? Do we even need the debugger? Are you one with your logs? Can you quantify the sting?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-rkQgYf6JC_Q/UPhhsFfbXVI/AAAAAAAAB5g/lvk8M6GFx6c/s1600/vis_studio.jpg&quot;&gt;&lt;br /&gt;&lt;/a&gt;&lt;/div&gt;&lt;h3&gt;&lt;/h3&gt;&lt;br /&gt;&lt;b&gt;Francois Dion&lt;/b&gt; will talk about the lost art of finding and (sometimes) correcting bugs encountered in Python development from various angles. This talk will be of interest to developers, system administrators, web designers and power users.&lt;br /&gt;&lt;br /&gt;We'll then wrap up the meeting.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;When&lt;/h3&gt;Monday, &lt;b&gt;June 24th&lt;/b&gt; 2013&lt;br /&gt;Meeting starts at 5:30PM &lt;br /&gt;&lt;h3&gt;&amp;nbsp;&lt;/h3&gt;&lt;h3&gt;Where&lt;/h3&gt;We continue to have the meetings at Wake Forest University, close to Polo Rd and University Parkway:&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;name lname&quot; id=&quot;link_A_1&quot;&gt;&lt;span class=&quot;pp-place-title&quot;&gt;&lt;a href=&quot;https://maps.google.com/maps/place?ftid=0x8853adf8a66abbeb:0x4f3c2974056734e5&amp;q=Manchester+Hall,+Wake+Forest+University,+Winston-Salem,+Forsyth,+North+Carolina+27109&amp;hl=en&amp;ved=0CA0Q-gswAA&amp;sa=X&amp;ei=fIsfUfbaH4jXtwekkoCYDA&amp;sig2=MC3330le_mXYLLbeNvW6FA&quot;&gt;Manchester Hall&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;room: Manchester 241&lt;span class=&quot;pp-place-title&quot;&gt;&amp;nbsp;&lt;/span&gt;      &lt;/div&gt;&lt;span class=&quot;pp-headline-item pp-headline-address&quot; dir=&quot;ltr&quot;&gt;Wake Forest University, Winston-Salem, NC 27109&lt;/span&gt;&lt;br /&gt;&lt;div class=&quot;contactinfo noicon&quot;&gt;&lt;span class=&quot;fax&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;a href=&quot;https://maps.google.com/maps?hl=en&amp;q=wake+forest+university+manchester+hall&amp;bav=on.2,or.r_gc.r_pw.r_cp.r_qf.&amp;bvm=bv.42553238,d.dmQ&amp;biw=2560&amp;bih=1223&amp;um=1&amp;ie=UTF-8&amp;sa=N&amp;tab=wl&quot;&gt;&amp;nbsp;Map this&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;See also this &lt;a href=&quot;http://www.google.com/url?sa=t&amp;rct=j&amp;q=&amp;esrc=s&amp;source=web&amp;cd=3&amp;cad=rja&amp;ved=0CEYQFjAC&amp;url=http%3A%2F%2Fstatic.wfu.edu%2Ffiles%2Fpdf%2Fvisitors%2Fcampusmap.pdf&amp;ei=dIsfUaOrJqrs0QHNv4HACw&amp;usg=AFQjCNHq-Y3F69Sr2sfBFpvWYp2RIyaWcQ&amp;sig2=h5WySkZBe9JMLW_tTA2U8A&amp;bvm=bv.42553238,d.dmQ&quot;&gt;campus map (PDF)&lt;/a&gt; and also the &lt;a href=&quot;http://www.google.com/url?sa=t&amp;rct=j&amp;q=&amp;esrc=s&amp;source=web&amp;cd=4&amp;ved=0CE0QFjAD&amp;url=http%3A%2F%2Fstatic.wfu.edu%2Ffiles%2Fpdf%2Fvisitors%2Freynolda.parkingmap.pdf&amp;ei=dIsfUaOrJqrs0QHNv4HACw&amp;usg=AFQjCNGfb8tz-NfpCdnDO3JSaYJqxvswDQ&amp;sig2=MkplRokwE-AdfpMGh3ebBw&amp;bvm=bv.42553238,d.dmQ&amp;cad=rja&quot;&gt;Parking Map (PDF)  (Manchester hall is #20A on the parking map)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And speaking of parking:&amp;nbsp; Parking after 5pm is on a first-come, first-serve basis. &amp;nbsp;The official parking policy is: &lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&quot;Visitors  can park in any general parking lot on campus. Visitors should avoid  reserved spaces, faculty/staff lots, fire lanes or other restricted area  on campus. Frequent visitors should contact Parking and Transportation  to register for a parking permit.&quot;&lt;/div&gt;&amp;nbsp; &lt;br /&gt;&lt;h3&gt;Mailing List &lt;/h3&gt;&lt;br /&gt;Dont forget to sign up to our user group mailing list:&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://groups.google.com/d/forum/pyptug?hl=en&quot;&gt;https://groups.google.com/d/forum/pyptug?hl=en&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It is the only step required to become a PYPTUG member.</description>
	<pubDate>Mon, 17 Jun 2013 19:05:22 +0000</pubDate>
</item>
<item>
	<title>Brian Okken: What happens when unittest fixtures fail</title>
	<guid>http://feedproxy.google.com/~r/PythonTesting/~3/6W4af7zV1WE/</guid>
	<link>http://feedproxy.google.com/~r/PythonTesting/~3/6W4af7zV1WE/</link>
	<description>&lt;p&gt;In unittest fixture syntax and flow reference, I only presented fixture methods and functions that threw no exceptions. However, in real production code, it is entirely possible for something to go wrong when setting up test fixtures. This post is simply do demonstrate exactly what happens to the flow of your test code when an [...]&lt;/p&gt;&lt;p&gt;The post &lt;a href=&quot;http://pythontesting.net/framework/unittest/when-unittest-fixtures-fail/&quot;&gt;What happens when unittest fixtures fail&lt;/a&gt; appeared first on &lt;a href=&quot;http://pythontesting.net&quot;&gt;Python Testing&lt;/a&gt;.&lt;/p&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/PythonTesting/~4/6W4af7zV1WE&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Mon, 17 Jun 2013 16:50:05 +0000</pubDate>
</item>
<item>
	<title>Continuum Analytics Blog: Parallel Python with IPCluster and Wakari</title>
	<guid>http://continuum.io/blog/ipcluster-wakari-intro</guid>
	<link>http://continuum.io/blog/ipcluster-wakari-intro</link>
	<description>&lt;p&gt;&lt;a href=&quot;http://ipython.org/ipython-doc/dev/parallel/parallel_intro.html&quot;&gt;IPCluster&lt;/a&gt;
provides an easy way to do parallel computing in Python, allowing you to
connect to and control Python processes running on multiple compute cores,
either locally or across a cluster. This introduction should take about 20
minutes and will show you how to start a cluster, access engines, and execute
commands.  We will use our web-based &lt;a href=&quot;http://wakari.io&quot;&gt;Wakari&lt;/a&gt; analytics
environment that will allow you to get started right away, without needing to
install or configure&amp;nbsp;anything.&lt;/p&gt;</description>
	<pubDate>Mon, 17 Jun 2013 12:00:00 +0000</pubDate>
</item>
<item>
	<title>eGenix.com: Python Meeting Düsseldorf - 2013-07-16</title>
	<guid>http://www.egenix.com/company/news/Python-Meeting-Duesseldorf-2013-07-16</guid>
	<link>http://www.egenix.com/company/news/Python-Meeting-Duesseldorf-2013-07-16</link>
	<description>&lt;p&gt;&lt;span&gt;The following text is in German, since we're announcing a regional user group meeting in Düsseldorf, Germany.&lt;/span&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;h2&gt;Ankündigung&lt;/h2&gt;
&lt;p&gt;Das nächste &lt;a href=&quot;http://pyddf.de/&quot;&gt;Python Meeting Düsseldorf&lt;/a&gt; findet an folgendem Termin statt:&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;Dienstag, 16.07.2013, 18:00 Uhr&lt;br /&gt;
  &lt;span&gt;Raum 1, 2.OG im &lt;a href=&quot;http://www.duesseldorf.de/jugendamt/fam/famfoe/bueh/ac/index.shtml&quot;&gt;Bürgerhaus Stadtteilzentrum Bilk&lt;/a&gt;&lt;br /&gt;
    &lt;a href=&quot;http://www.duesseldorf-arcaden.de/anfahrt.html&quot;&gt;Düsseldorfer Arcaden&lt;/a&gt;, &lt;a href=&quot;http://maps.google.com/maps?q=51.209169,6.775339&amp;layer=c&amp;sll=51.209353,6.775272&amp;cbp=11,177.96,,0,0.79&amp;cbll=51.209412,6.77577&amp;ie=UTF8&amp;t=m&amp;vpsrc=0&amp;panoid=0NGUHHHEpGGMCcqpf3Gmbw&amp;z=17&quot;&gt;Bachstr. 145, 40217 Düsseldorf&lt;/a&gt;&lt;br /&gt;
  &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;br /&gt;
  &lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;h2&gt;Neuigkeiten&lt;/h2&gt;
&lt;h3&gt;Sprint-Planung&lt;/h3&gt;
&lt;p&gt;Wir möchten im Sommer/Herbst gerne einen Sprint organisieren und 
suchen dafür Themen. Falls Ihr Themenvorschläge habt, wäre es schön, 
wenn Ihr diese auf dem nächsten Treffen kurz vorstellen könntet.&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;Beispiele:&lt;br /&gt;
&amp;nbsp;- Progammieren eines Add-ons für XBMC&lt;br /&gt;
&amp;nbsp;- Progammieren eines Add-ons für Blender&lt;br /&gt;
&amp;nbsp;- Patch für einen oder mehrere Python Bugs schreiben&lt;br /&gt;
&lt;/p&gt;
&lt;h3&gt;Neuer Veranstaltungsraum&lt;/h3&gt;
&lt;p&gt;Wir treffen uns im Bürgerhaus in den Düsseldorfer Arcaden. Da beim 
letzten Mal einige Teilnehmer Schwierigkeiten hatten, den Raum zu 
finden, hier eine kurze Beschreibung:&lt;br /&gt;
  &lt;br /&gt;
Das Bürgerhaus teilt sich den Eingang mit dem Schwimmbad und befindet 
sich an der Seite der Tiefgarageneinfahrt der Düsseldorfer Arcaden.&lt;br /&gt;
  &lt;br /&gt;
Über dem Eingang steht ein großes “Schwimm’in Bilk” Logo. Hinter der Tür
 direkt links zu den zwei Aufzügen, dann in den 2. Stock hochfahren. Der
 Eingang zum Raum 1 liegt direkt links, wenn man aus dem Aufzug kommt.&lt;br /&gt;
  &lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://bit.ly/11sCfiw&quot;&gt;Eingang in Google Street View&lt;/a&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;h2&gt;Einleitung&lt;/h2&gt;


&lt;p&gt;Das &lt;a href=&quot;http://pyddf.de/&quot;&gt;Python Meeting Düsseldorf&lt;/a&gt; ist eine regelmäßige Veranstaltung in Düsseldorf, die sich an Python Begeisterte aus der Region wendet.&lt;/p&gt;Einen guten Überblick über die Vorträge bietet unser &lt;a href=&quot;http://www.youtube.com/pyddf/&quot;&gt;PyDDF YouTube-Kanal&lt;/a&gt;, auf dem wir Videos der Vorträge nach den Meetings veröffentlichen.&lt;br /&gt;



&lt;p&gt;Veranstaltet wird das Meeting von der &lt;a href=&quot;http://www.egenix.com/&quot;&gt;eGenix.com GmbH&lt;/a&gt;, Langenfeld, in Zusammenarbeit mit &lt;a href=&quot;http://www.clark-consulting.eu/&quot;&gt;Clark Consulting &amp;amp; Research&lt;/a&gt;, Düsseldorf:&lt;br /&gt;
&lt;/p&gt;
&lt;h2&gt;Programm

&lt;/h2&gt;
&lt;p&gt;Das &lt;a href=&quot;http://pyddf.de/&quot;&gt;Python Meeting Düsseldorf&lt;/a&gt; nutzt eine Mischung aus Open Space und Lightning Talks:&lt;/p&gt;Lightning Talks können vorher angemeldet werden, oder auch spontan 
während des Treffens eingebracht werden. Ein Beamer mit XGA Auflösung 
steht zur Verfügung. Folien bitte als PDF auf USB Stick mitbringen.
&lt;p&gt;&lt;span&gt;Lightning Talk Anmeldung&lt;/span&gt; bitte formlos per EMail an &lt;a href=&quot;mailto:info@pyddf.de?subject=Anmeldung&amp;nbsp;Lightning&amp;nbsp;Talk&amp;nbsp;Python&amp;nbsp;Meeting&amp;nbsp;D&amp;uuml;sseldorf&quot;&gt;info@pyddf.de&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Kostenbeteiligung&lt;/h2&gt;

&lt;p&gt;Das &lt;a href=&quot;http://pyddf.de/&quot;&gt;Python Meeting Düsseldorf&lt;/a&gt; wird von Python Nutzern für Python Nutzer veranstaltet.&lt;/p&gt;
&lt;p&gt;Da Tagungsraum, Beamer, Internet und Getränke Kosten produzieren, 
bitten wir die Teilnehmer um einen Beitrag in Höhe von &lt;span&gt;EUR 10,00&lt;/span&gt; inkl. 
19% Mwst. Schüler und Studenten zahlen &lt;span&gt;EUR 5,00&lt;/span&gt; inkl. 
19% Mwst.&lt;/p&gt;
&lt;p&gt;Wir möchten alle Teilnehmer bitten, den Betrag in bar mitzubringen.&lt;/p&gt;
&lt;h2&gt;Anmeldung&lt;/h2&gt;
&lt;p&gt;Da wir nur für ca. 20 Personen Sitzplätze haben, möchten wir bitten, 
sich per EMail anzumelden. Damit wird keine Verpflichtung eingegangen. 
Es erleichtert uns allerdings die Planung.&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Meeting Anmeldung&lt;/b&gt; bitte formlos per EMail an &lt;a href=&quot;mailto:info@pyddf.de?subject=Anmeldung&amp;nbsp;Python&amp;nbsp;Meeting&amp;nbsp;D&amp;uuml;sseldorf&quot;&gt;info@pyddf.de&lt;/a&gt;&lt;br /&gt;
&lt;/p&gt;




&lt;h2&gt;Weitere Informationen&lt;/h2&gt;
&lt;p&gt;Weitere Informationen finden Sie auf der Webseite des Meetings:&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href=&quot;http://pyddf.de/&quot;&gt;http://pyddf.de/&lt;/a&gt;&lt;br /&gt;
&lt;/p&gt;

&lt;p&gt;Viel Spaß !&lt;/p&gt;
&lt;p&gt;Marc-Andre Lemburg, eGenix.com




&lt;/p&gt;
&lt;div class=&quot;egenix-news-date&quot;&gt;
  Published: 2013-03-20
&lt;/div&gt;


	  
        
        &lt;div id=&quot;egenix-content-leadout&quot;&gt;
          
            &lt;div&gt;Please enable JavaScript to make full use of our web-site. Thank you.&lt;/div&gt;
          
        &lt;/div&gt;
      
      
      &lt;div id=&quot;egenix-bottom-line&quot;&gt;
        &lt;span id=&quot;egenix-legal&quot;&gt;
          &lt;a href=&quot;http://www.egenix.com/company/contact/&quot;&gt;Contact&lt;/a&gt; : 
          &lt;a href=&quot;http://www.egenix.com/company/legal/&quot;&gt;Impressum&lt;/a&gt; : 
          &lt;a href=&quot;http://www.egenix.com/company/legal/terms-and-conditions.html&quot;&gt;Terms &amp;amp; Conditions&lt;/a&gt; : 
          &lt;a href=&quot;http://www.egenix.com/company/legal/privacy.html&quot;&gt;Privacy Policy&lt;/a&gt; : 
          &lt;a href=&quot;http://www.egenix.com/company/legal/trademarks.html&quot;&gt;Trademarks&lt;/a&gt;
        &lt;/span&gt;
        &lt;span id=&quot;egenix-date&quot;&gt;
          &lt;a href=&quot;http://www.egenix.com/products/python/mxBase/mxDateTime/&quot;&gt;2013-03-20&lt;/a&gt;
        &lt;/span&gt;
      &lt;/div&gt;
      &lt;div id=&quot;egenix-copyright-line&quot;&gt;
       (c) Copyright 2000-&lt;span&gt;2013&lt;/span&gt;
       eGenix.com Software, Skills and Services GmbH, Langenfeld, Germany. All Rights Reserved.
      &lt;/div&gt;</description>
	<pubDate>Mon, 17 Jun 2013 08:00:00 +0000</pubDate>
</item>
<item>
	<title>Jaime Buelta: These are the times of miracle and wonder</title>
	<guid>http://wrongsideofmemphis.com/2013/06/17/these-are-the-times-of-miracle-and-wonder/</guid>
	<link>http://wrongsideofmemphis.com/2013/06/17/these-are-the-times-of-miracle-and-wonder/</link>
	<description>My first computer was a second hand ZX Spectrum+ This says a lot about my age, I guess. I got it from my uncle, who bought himself a more powerful computer. I really loved that computer, and used it for quite a long time. It seemed so magical that you could play a tape, which [&amp;#8230;]&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=wrongsideofmemphis.com&amp;blog=6419543&amp;post=618&amp;subd=wrongsideofmemphis&amp;ref=&amp;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;</description>
	<pubDate>Mon, 17 Jun 2013 07:55:24 +0000</pubDate>
</item>
<item>
	<title>PyCon: PyCon India 2013 - Registration and Call for Proposals</title>
	<guid>http://pycon.blogspot.com/2013/06/pycon-india-2013-registration-and-call.html</guid>
	<link>http://pycon.blogspot.com/2013/06/pycon-india-2013-registration-and-call.html</link>
	<description>&lt;div dir=&quot;ltr&quot;&gt;We are glad to announce that &lt;a href=&quot;http://in.pycon.org/2013/&quot;&gt;PyCon India&lt;/a&gt; would be held this year during &lt;b&gt;August 30 to September 1&lt;/b&gt; at &lt;a href=&quot;https://maps.google.co.in/maps/place?cid=14143977283967748386&quot; target=&quot;_blank&quot;&gt;&lt;i&gt;NIMHANS Convention Centre&lt;/i&gt;&lt;/a&gt;, Bangalore. &lt;br /&gt;&lt;br /&gt;A purely volunteer effort, it is being hosted for the fifth time in  India. The &lt;a href=&quot;http://in.pycon.org/2012&quot;&gt;last edition&lt;/a&gt; was conducted at Bangalore, India during Sep 2012.&lt;br /&gt;&lt;br /&gt;The &lt;a href=&quot;http://in.pycon.org/funnel/2013/&quot;&gt;Call for proposals (CFP) &lt;/a&gt;is open till July 15. Please &lt;a href=&quot;http://in.pycon.org/funnel/2013/new&quot; target=&quot;_blank&quot;&gt;submit&lt;/a&gt; your talk/workshop proposals and spread the word. &lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://pyconindia2013.doattend.com/&quot; target=&quot;_blank&quot;&gt;Registrations &lt;/a&gt;are also open and early bird registrations at discounted prices are available till 30th June.&lt;br /&gt;&lt;br /&gt;Any questions, email us at &lt;a href=&quot;mailto:contact@in.pycon.org&quot;&gt;(contact AT in DOT pycon DOT org)&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot;&gt;&lt;a href=&quot;http://in.pycon.org/_themes/pyconindia2013/img/pycon-text.png&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;80&quot; src=&quot;http://in.pycon.org/_themes/pyconindia2013/img/pycon-text.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;</description>
	<pubDate>Mon, 17 Jun 2013 08:42:19 +0000</pubDate>
</item>
<item>
	<title>Vasudev Ram: XMLtoPDFBook now supports chapter numbers and names</title>
	<guid>http://jugad2.blogspot.com/2013/06/xmltopdfbook-now-supports-chapter.html</guid>
	<link>http://jugad2.blogspot.com/2013/06/xmltopdfbook-now-supports-chapter.html</link>
	<description>&lt;br /&gt;By &lt;a href=&quot;http://www.dancingbison.com&quot;&gt;Vasudev Ram&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I've added support for &lt;i&gt;chapter numbers and names&lt;/i&gt; to &lt;i&gt;XMLtoPDFBook&lt;/i&gt;, which I &lt;a href=&quot;http://jugad2.blogspot.in/2013/06/create-pdf-books-with-xmltopdfbook.html&quot;&gt;blogged about&lt;/a&gt; recently. XMLtoPDFBook enables you to create &lt;i&gt;simple PDF ebooks&lt;/i&gt; from chapters stored as text in an &lt;i&gt;XML file&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;The chapter numbers and names are printed in the header of the PDF file created. Chapter numbers are added automatically, starting from 1, and incremented by 1 for each chapter. For chapter names, you have to change the chapter elements in the XML file from the earlier format, which had no attributes for the chapter element, to add an attribute called 'name', with its value being the chapter name.&lt;br /&gt;&lt;br /&gt;Earlier format for the chapter element:&lt;br /&gt;&lt;br /&gt;&amp;lt;chapter&amp;gt;&lt;br /&gt;&lt;br /&gt;New format for the chapter element:&lt;br /&gt;&lt;br /&gt;&amp;lt;chapter name=&quot;chapter_name&quot;&amp;gt;&lt;br /&gt;&lt;br /&gt;where you replace &quot;chapter_name&quot; with the name of each chapter, as desired.&lt;br /&gt;&lt;br /&gt;That is the only change needed. The (updated) XMLtoPDFBook program takes care of the rest.&lt;br /&gt;&lt;br /&gt;Chapter names, though supported, are optional. If a chapter element has no name attribute, it is not an error. No chapter name will be printed in the header for that chapter.&lt;br /&gt;&lt;br /&gt;You can run XMLtoPDFBook the same way as I said in my first post about it:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;python XMLtoPDFBook.py vi_quickstart.xml vi_quickstart.pdf&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;For viewing the PDF file, you may want to try using either &lt;a href=&quot;http://www.foxitsoftware.com/Secure_PDF_Reader/&quot;&gt;Foxit PDF Reader&lt;/a&gt; or &lt;a href=&quot;http://www.nitroreader.com/&quot;&gt;NitroReader&lt;/a&gt;. I've used Foxit Reader a lot, and it is fairly good. Just started trying NitroReader (*).&lt;br /&gt;&lt;br /&gt;Here is a screenshot of page 1 of the generated PDF file, vi_quickstart.pdf, in NitroReader (right-click to open in a new tab and view larger size):&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-RGBiAJzi_fE/Ub4-XN8fRLI/AAAAAAAAAJs/vcC1rfJH9TA/s1600/vi_quickstart_pdf_in_nitroreader.png&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-RGBiAJzi_fE/Ub4-XN8fRLI/AAAAAAAAAJs/vcC1rfJH9TA/s200/vi_quickstart_pdf_in_nitroreader.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;And here is a screenshot of page 5 of the same PDF file, vi_quickstart.pdf, in Foxit PDF Reader (right-click to open in a new tab and view larger size):&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-jLPDiz6Y4e8/Ub5AV5QbnzI/AAAAAAAAAJ4/oICSXd41KRE/s1600/vi_quickstart_pdf_in_foxit_reader.png&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-jLPDiz6Y4e8/Ub5AV5QbnzI/AAAAAAAAAJ4/oICSXd41KRE/s200/vi_quickstart_pdf_in_foxit_reader.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;I also added some more error handling to the program.&lt;br /&gt;&lt;br /&gt;I've uploaded XMLtoPDF to my &lt;a href=&quot;https://bitbucket.org/vasudevram/xtopdf&quot;&gt;Bitbucket repository for xtopdf&lt;/a&gt;, since it is now a part of my xtopdf toolkit. You can download it from &lt;a href=&quot;https://bitbucket.org/vasudevram/xtopdf/downloads&quot;&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Incidentally, I saw on the NitroReader site that it was &lt;a href=&quot;http://en.wikipedia.org/wiki/Portable_Document_Format&quot;&gt;PDF&lt;/a&gt;'s birthday this month; the PDF format is now 20 years old.&lt;br /&gt;&lt;br /&gt;(*) And finally, it was a bit interesting to me to remember that &lt;a href=&quot;http://www.nitropdf.com/&quot;&gt;&lt;i&gt;NitroPDF&lt;/i&gt;&lt;/a&gt; (from the same company as &lt;i&gt;NitroReader&lt;/i&gt;) was one of the topics of &lt;a href=&quot;http://jugad.livejournal.com/2005/05/&quot;&gt;&lt;i&gt;my very second blog post&lt;/i&gt;&lt;/a&gt; on my earlier blog, &lt;a href=&quot;http://jugad.livejournal.com&quot;&gt;jugad's Journal&lt;/a&gt; :-). I ran that blog for about 3 years before moving to this one (which you are reading now), on Blogger, due to the takeover of LiveJournal by some other company.&lt;br /&gt;&lt;a href=&quot;http://jugad2.blogspot.co.uk/feeds/posts/default/-/python&quot;&gt;&lt;/a&gt;&lt;br /&gt;- &lt;a href=&quot;http://jugad2.blogspot.in/2013/03/dancing-bison-enterprises-profile.html&quot;&gt;Vasudev Ram - Dancing Bison Enterprises&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://docs.google.com/forms/d/1WKe-AmS2ZgKxAYoETB90chcVy6-J6Pp64lHQ4vEQeLA/viewform&quot; target=&quot;_blank&quot;&gt;Contact me&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;!-- AddThis Button BEGIN --&gt; &lt;div class=&quot;addthis_toolbox addthis_default_style&quot;&gt;&lt;a href=&quot;http://www.addthis.com/bookmark.php?v=250&amp;username=vasudevram&quot; class=&quot;addthis_button_compact&quot;&gt;Share&lt;/a&gt; &lt;span class=&quot;addthis_separator&quot;&gt;|&lt;/span&gt; &lt;a class=&quot;addthis_button_preferred_1&quot;&gt;&lt;/a&gt; &lt;a class=&quot;addthis_button_preferred_2&quot;&gt;&lt;/a&gt; &lt;a class=&quot;addthis_button_preferred_3&quot;&gt;&lt;/a&gt; &lt;a class=&quot;addthis_button_preferred_4&quot;&gt;&lt;/a&gt; &lt;/div&gt;  &lt;!-- AddThis Button END --&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;a href=&quot;http://www.dancingbison.com&quot;&gt;Vasudev Ram&lt;/a&gt;
&lt;br /&gt;&lt;/div&gt;</description>
	<pubDate>Mon, 17 Jun 2013 05:34:42 +0000</pubDate>
</item>
<item>
	<title>Dariusz Suchojad: Use Zato to integrate Django with exchange rate web services in 10 lines of code</title>
	<guid>http://www.gefira.pl/blog/2013/06/16/use-zato-to-integrate-django-with-exchange-rate-web-services-in-10-lines-of-code/</guid>
	<link>http://www.gefira.pl/blog/2013/06/16/use-zato-to-integrate-django-with-exchange-rate-web-services-in-10-lines-of-code/</link>
	<description>&lt;p&gt;&lt;em&gt;(This is a &lt;a href=&quot;https://zato.io/blog/posts/django-web-services-integration.html&quot;&gt;re-post&lt;/a&gt; from &lt;a title=&quot;Zato Blog&quot; href=&quot;https://zato.io/blog/index.html&quot;&gt;Zato Blog&lt;/a&gt; as Planet Python doesn&amp;#8217;t syndicate that one yet)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Summary: The post introduces &lt;a title=&quot;Zato docs&quot; href=&quot;https://zato.io/docs/&quot;&gt;Zato&lt;/a&gt;, an open-source integration platform in Python, and shows you how to integrate Django, or indeed any piece of Python software, with Zato and external web services using nothing but plain Python objects.&lt;/p&gt;
&lt;p&gt;Applications in any programming language can be integrated using Zato but being written in Python itself, Zato offer a convenience client for software in Python and that will be used throughout the text.&lt;/p&gt;
&lt;p&gt;Zato is a lightweight, yet complete, ESB (Enterprise Service Bus). And the project&amp;#8217;s goal is to become a powerful, yet lightweight, one.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://zato.io/docs/intro/esb-soa.html&quot;&gt;Start here&lt;/a&gt; for a gentle introduction to what ESB and SOA (Service-Oriented Architecture) are about, but in short, they let you integrate multiple applications each potentially using different formats, protocols and programming languages with the aim of supporting interesting processes you need to automate. And with Zato this is all in pure Python with as little headaches as possible.&lt;/p&gt;
&lt;h1&gt;How things should stand&lt;/h1&gt;
&lt;p&gt;As a Python programmer, about the only thing I feel I should need in order to invoke web services exposed by any sort of systems is a simple API based on dicts or other dict-like objects, like &lt;a href=&quot;http://pypi.python.org/pypi/bunch&quot;&gt;Bunch&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;It should be always possible to write code like what is below and expect it will just work regardless of the complexity of underlying protocols and data transports.&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;table&gt;&lt;tr&gt;&lt;td class=&quot;code&quot;&gt;&lt;pre class=&quot;python&quot;&gt;request &lt;span&gt;=&lt;/span&gt; &lt;span&gt;&amp;#123;&lt;/span&gt;&lt;span&gt;'from'&lt;/span&gt;:&lt;span&gt;'EUR'&lt;/span&gt;&lt;span&gt;,&lt;/span&gt; &lt;span&gt;'to'&lt;/span&gt;:&lt;span&gt;'HRK'&lt;/span&gt;&lt;span&gt;&amp;#125;&lt;/span&gt;
response &lt;span&gt;=&lt;/span&gt; get_exchange_rate&lt;span&gt;&amp;#40;&lt;/span&gt;request&lt;span&gt;&amp;#41;&lt;/span&gt;
&lt;span&gt;print&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;response.&lt;span&gt;rate&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
&lt;span&gt;# 1 EUR = 7.4680 HRK as of Jun 13, 2013, 5:00PM GMT&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Given that it&amp;#8217;s a blog of the &lt;a href=&quot;https://zato.io/docs/index.html&quot;&gt;Zato project&lt;/a&gt; it won&amp;#8217;t come as a surprise that I am about to tell you that Zato allows you to achieve just that, to think in terms of services and dictionaries without having to worry about how everything is actually implemented underneath.&lt;/p&gt;
&lt;p&gt;You delegate the job of an actual integration to Zato which becomes the component responsible for dealing with protocols and data formats, fetching information, straightening it and returning to you a unified view. This lets you focus on your job only and nicely follows the &lt;a href=&quot;https://en.wikipedia.org/wiki/Unix_philosophy&quot;&gt;UNIX philosophy&lt;/a&gt; of separating software into clearly defined blocks interoperating in order to achieve an interesting result. Not to mention that this what the integrations industry has been using to tackle such scenarios for decades now.&lt;/p&gt;
&lt;p&gt;This way you can focus on your own app, not on data integration. Someone else takes care of it.&lt;/p&gt;
&lt;h1&gt;The overall scheme&lt;/h1&gt;
&lt;p&gt;The diagram depicts what we will achieve:&lt;/p&gt;
&lt;p&gt;&lt;img class=&quot;aligncenter&quot; src=&quot;data:;base64,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&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Users enters a currency code to find EUR exchange rates to in an HTML form&lt;/p&gt;
&lt;p&gt;A Django application invokes a Zato client providing a Python dictionary with currencies selected on input.&lt;/p&gt;
&lt;p&gt;Behind the scenes, the dictionary is converted into an HTTP JSON call but this is completely transparent to you as a Django programmer.&lt;/p&gt;
&lt;p&gt;Zato receives the call already converted to a Bunch instance and invokes 3 web services provided by:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://download.finance.yahoo.com/&quot;&gt;Yahoo! Finance&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.google.com/ig/calculator?q=1EUR=?HRK&quot;&gt;Google Calculator&lt;/a&gt;Pseudo-JSON API&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.ecb.int/stats/exchange/eurofxref/html/index.en.html&quot;&gt;European Central Bank&lt;/a&gt; XML API&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Output from 3 different sources is converted to a clean Pythonic response sent back to Django&lt;/p&gt;
&lt;p&gt;Django app receives a list of dictionaries on output ready to use in a template which is shown to the user&lt;/p&gt;
&lt;h1&gt;Implementation&lt;/h1&gt;
&lt;h2&gt;Django side&lt;/h2&gt;
&lt;p&gt;First, clone &lt;a href=&quot;https://github.com/zatosource/zato-django-integration&quot;&gt;this repository&lt;/a&gt; (we&amp;#8217;ll call the directory you&amp;#8217;ll clone it to DJANGO_APP_DIR) and run DJANGO_APP_DIR/install.sh &amp;#8211; this will use install or upgrade distribute and virtualenv and use pip/buildout to download a couple of dependencies and install everything under &lt;a href=&quot;https://pypi.python.org/pypi/virtualenv&quot;&gt;virtualenv&lt;/a&gt;.&lt;/p&gt;
&lt;pre&gt;DJANGO_APP_DIR$ git clone git://github.com/zatosource/zato-django-integration.git .
DJANGO_APP_DIR$ ./install.sh
[snip]
DJANGO_APP_DIR$ ./bin/py sampleapp/src/run.py&lt;/pre&gt;
&lt;p&gt;You can now go to &lt;a href=&quot;http://127.0.0.1:8188&quot;&gt;http://127.0.0.1:8188&lt;/a&gt; and witness an &amp;#8216;[Errno 111] Connection refused&amp;#8217; error. This is OK. Zato is not running yet.&lt;/p&gt;
&lt;p&gt;What you can already have a look though is the Django code. Basically, a middleware class is used to inject a Zato client and the client is used to invoke a service which will be defined in the next steps.&lt;/p&gt;
&lt;p&gt;Let&amp;#8217;s see, this is how the middleware looks like..&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;table&gt;&lt;tr&gt;&lt;td class=&quot;code&quot;&gt;&lt;pre class=&quot;python&quot;&gt;&lt;span&gt;from&lt;/span&gt; zato.&lt;span&gt;client&lt;/span&gt; &lt;span&gt;import&lt;/span&gt; AnyServiceInvoker
&amp;nbsp;
&lt;span&gt;class&lt;/span&gt; ZatoMiddleware&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;object&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;:
    &lt;span&gt;def&lt;/span&gt; process_request&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;self&lt;/span&gt;&lt;span&gt;,&lt;/span&gt; req&lt;span&gt;&amp;#41;&lt;/span&gt;:
        req.&lt;span&gt;zato_client&lt;/span&gt; &lt;span&gt;=&lt;/span&gt; AnyServiceInvoker&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;'http://localhost:17010'&lt;/span&gt;&lt;span&gt;,&lt;/span&gt; 
            &lt;span&gt;'/django/sample'&lt;/span&gt;&lt;span&gt;,&lt;/span&gt; &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;'django-app'&lt;/span&gt;&lt;span&gt;,&lt;/span&gt; &lt;span&gt;'django-password'&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;


&lt;div class=&quot;wp_syntax&quot;&gt;&lt;table&gt;&lt;tr&gt;&lt;td class=&quot;code&quot;&gt;&lt;pre class=&quot;python&quot;&gt;&lt;span&gt;from&lt;/span&gt; django.&lt;span&gt;template&lt;/span&gt;.&lt;span&gt;response&lt;/span&gt; &lt;span&gt;import&lt;/span&gt; TemplateResponse
&amp;nbsp;
&lt;span&gt;def&lt;/span&gt; home&lt;span&gt;&amp;#40;&lt;/span&gt;req&lt;span&gt;&amp;#41;&lt;/span&gt;:
&amp;nbsp;
    &lt;span&gt;# A dictionary of input data read from HTTP GET. If no input was given&lt;/span&gt;
    &lt;span&gt;# we translate from EUR to HRK.&lt;/span&gt;
    to &lt;span&gt;=&lt;/span&gt; req.&lt;span&gt;GET&lt;/span&gt;.&lt;span&gt;get&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;'to'&lt;/span&gt;&lt;span&gt;,&lt;/span&gt; &lt;span&gt;'HRK'&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;
    request &lt;span&gt;=&lt;/span&gt; &lt;span&gt;&amp;#123;&lt;/span&gt;&lt;span&gt;'from'&lt;/span&gt;:&lt;span&gt;'EUR'&lt;/span&gt;&lt;span&gt;,&lt;/span&gt; &lt;span&gt;'to'&lt;/span&gt;:to&lt;span&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
    &lt;span&gt;# Pass the dictionary into the client's invoke method along with the name&lt;/span&gt;
    &lt;span&gt;# of a service you want to invoke&lt;/span&gt;
    response &lt;span&gt;=&lt;/span&gt; req.&lt;span&gt;zato_client&lt;/span&gt;.&lt;span&gt;invoke&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;'exchangerates.get-exchange-rate-list'&lt;/span&gt;&lt;span&gt;,&lt;/span&gt; request&lt;span&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
    &lt;span&gt;# response.data has a bunch of attributes that can be fed to the template as is&lt;/span&gt;
    &lt;span&gt;return&lt;/span&gt; TemplateResponse&lt;span&gt;&amp;#40;&lt;/span&gt;req&lt;span&gt;,&lt;/span&gt; &lt;span&gt;'rates.html'&lt;/span&gt;&lt;span&gt;,&lt;/span&gt; &lt;span&gt;&amp;#123;&lt;/span&gt;&lt;span&gt;'data'&lt;/span&gt;:response.&lt;span&gt;data&lt;/span&gt;&lt;span&gt;&amp;#91;&lt;/span&gt;&lt;span&gt;'rates'&lt;/span&gt;&lt;span&gt;&amp;#93;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt; &lt;span&gt;'to'&lt;/span&gt;:to&lt;span&gt;&amp;#125;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;If it were a project where you&amp;#8217;d be doing Django programming only then you could congratulate yourself. The code shown above is everything you need to write to invoke a Zato service and fetch the exchange rates.&lt;/p&gt;
&lt;p&gt;This is &lt;strong&gt;10 lines of Python code&lt;/strong&gt;, counting imports or class definitions in. &lt;strong&gt;Without the boilerplate&lt;/strong&gt;, it will be &lt;strong&gt;2 or 3 lines&lt;/strong&gt; of code needed &lt;strong&gt;to invoke web services&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;OK, there&amp;#8217;s also a trivial piece of HTML, the gist of which is &lt;a href=&quot;https://gist.github.com/dsuch/5790223&quot;&gt;here&lt;/a&gt; but that&amp;#8217;s it. There is nothing else on Django side, job well done!&lt;/p&gt;
&lt;h2&gt;Zato side&lt;/h2&gt;
&lt;p&gt;First thing is, read at least the first part of the tutorial. This will install Zato and create a quickstart cluster. Done? OK, let&amp;#8217;s continue. Save the code below as exchangerates.py..&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;table&gt;&lt;tr&gt;&lt;td class=&quot;code&quot;&gt;&lt;pre class=&quot;python&quot;&gt;&lt;span&gt;# -*- coding: utf-8 -*-&lt;/span&gt;
&amp;nbsp;
&lt;span&gt;from&lt;/span&gt; &lt;span&gt;__future__&lt;/span&gt; &lt;span&gt;import&lt;/span&gt; absolute_import&lt;span&gt;,&lt;/span&gt; division&lt;span&gt;,&lt;/span&gt; print_function&lt;span&gt;,&lt;/span&gt; unicode_literals
&amp;nbsp;
&lt;span&gt;# stdlib&lt;/span&gt;
&lt;span&gt;from&lt;/span&gt; &lt;span&gt;datetime&lt;/span&gt; &lt;span&gt;import&lt;/span&gt; &lt;span&gt;datetime&lt;/span&gt;
&lt;span&gt;from&lt;/span&gt; &lt;span&gt;traceback&lt;/span&gt; &lt;span&gt;import&lt;/span&gt; format_exc
&amp;nbsp;
&lt;span&gt;# anyjson&lt;/span&gt;
&lt;span&gt;from&lt;/span&gt; anyjson &lt;span&gt;import&lt;/span&gt; loads
&amp;nbsp;
&lt;span&gt;# lxml&lt;/span&gt;
&lt;span&gt;from&lt;/span&gt; lxml &lt;span&gt;import&lt;/span&gt; etree
&amp;nbsp;
&lt;span&gt;# Zato&lt;/span&gt;
&lt;span&gt;from&lt;/span&gt; zato.&lt;span&gt;server&lt;/span&gt;.&lt;span&gt;service&lt;/span&gt; &lt;span&gt;import&lt;/span&gt; Service
&amp;nbsp;
&lt;span&gt;class&lt;/span&gt; GetExchangeRateList&lt;span&gt;&amp;#40;&lt;/span&gt;Service&lt;span&gt;&amp;#41;&lt;/span&gt;:
    &lt;span&gt;class&lt;/span&gt; SimpleIO:
        response_elem &lt;span&gt;=&lt;/span&gt; &lt;span&gt;'rates'&lt;/span&gt;
        input_required &lt;span&gt;=&lt;/span&gt; &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;'from'&lt;/span&gt;&lt;span&gt;,&lt;/span&gt; &lt;span&gt;'to'&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;
        output_required &lt;span&gt;=&lt;/span&gt; &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;'provider'&lt;/span&gt;&lt;span&gt;,&lt;/span&gt; &lt;span&gt;'rate'&lt;/span&gt;&lt;span&gt;,&lt;/span&gt; &lt;span&gt;'ts'&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;
        output_repeated &lt;span&gt;=&lt;/span&gt; &lt;span&gt;True&lt;/span&gt;
&amp;nbsp;
    &lt;span&gt;def&lt;/span&gt; get_yahoo&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;self&lt;/span&gt;&lt;span&gt;,&lt;/span&gt; from_&lt;span&gt;,&lt;/span&gt; to&lt;span&gt;&amp;#41;&lt;/span&gt;:
&amp;nbsp;
        &lt;span&gt;# Response template&lt;/span&gt;
        out &lt;span&gt;=&lt;/span&gt; &lt;span&gt;&amp;#123;&lt;/span&gt;&lt;span&gt;'provider'&lt;/span&gt;:&lt;span&gt;'Yahoo! Finance'&lt;/span&gt;&lt;span&gt;,&lt;/span&gt; &lt;span&gt;'rate'&lt;/span&gt;:&lt;span&gt;None&lt;/span&gt;&lt;span&gt;,&lt;/span&gt; &lt;span&gt;'ts'&lt;/span&gt;:&lt;span&gt;None&lt;/span&gt;&lt;span&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
        &lt;span&gt;# Grab a connection by its name&lt;/span&gt;
        conn &lt;span&gt;=&lt;/span&gt; &lt;span&gt;self&lt;/span&gt;.&lt;span&gt;outgoing&lt;/span&gt;.&lt;span&gt;plain_http&lt;/span&gt;.&lt;span&gt;get&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;'Yahoo! Finance'&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;.&lt;span&gt;conn&lt;/span&gt;
&amp;nbsp;
        &lt;span&gt;# Y! Finance needs a query string in that format&lt;/span&gt;
        &lt;span&gt;# ?s=HRKEUR=X&amp;amp;amp;f=snl1d1t1ab&lt;/span&gt;
        url_params &lt;span&gt;=&lt;/span&gt; &lt;span&gt;&amp;#123;&lt;/span&gt;&lt;span&gt;'s'&lt;/span&gt;:&lt;span&gt;'{}{}=X'&lt;/span&gt;.&lt;span&gt;format&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;from_&lt;span&gt;,&lt;/span&gt; to&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt; &lt;span&gt;'f'&lt;/span&gt;:&lt;span&gt;'snl1d1t1ab'&lt;/span&gt;&lt;span&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
        &lt;span&gt;# Invoking the .get method issues a GET request&lt;/span&gt;
        response &lt;span&gt;=&lt;/span&gt; conn.&lt;span&gt;get&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;self&lt;/span&gt;.&lt;span&gt;cid&lt;/span&gt;&lt;span&gt;,&lt;/span&gt; url_params&lt;span&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
        &lt;span&gt;# Y! gives us a CSV response&lt;/span&gt;
        response &lt;span&gt;=&lt;/span&gt; response.&lt;span&gt;text&lt;/span&gt;.&lt;span&gt;split&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;','&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
        &lt;span&gt;# The string we receive is something like&lt;/span&gt;
        &lt;span&gt;# u'&amp;quot;EURHRK=X&amp;quot;,&amp;quot;EUR to HRK&amp;quot;,7.4608,&amp;quot;6/14/2013&amp;quot;,&amp;quot;5:55pm&amp;quot;,7.4629,7.4588\r\n'&lt;/span&gt;
        &lt;span&gt;# and we need the 3rd item.&lt;/span&gt;
        out&lt;span&gt;&amp;#91;&lt;/span&gt;&lt;span&gt;'rate'&lt;/span&gt;&lt;span&gt;&amp;#93;&lt;/span&gt; &lt;span&gt;=&lt;/span&gt; response&lt;span&gt;&amp;#91;&lt;/span&gt;&lt;span&gt;2&lt;/span&gt;&lt;span&gt;&amp;#93;&lt;/span&gt;
        out&lt;span&gt;&amp;#91;&lt;/span&gt;&lt;span&gt;'ts'&lt;/span&gt;&lt;span&gt;&amp;#93;&lt;/span&gt; &lt;span&gt;=&lt;/span&gt; &lt;span&gt;datetime&lt;/span&gt;.&lt;span&gt;utcnow&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;.&lt;span&gt;isoformat&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
        &lt;span&gt;return&lt;/span&gt; out
&amp;nbsp;
    &lt;span&gt;def&lt;/span&gt; get_google&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;self&lt;/span&gt;&lt;span&gt;,&lt;/span&gt; from_&lt;span&gt;,&lt;/span&gt; to&lt;span&gt;&amp;#41;&lt;/span&gt;:
        out &lt;span&gt;=&lt;/span&gt; &lt;span&gt;&amp;#123;&lt;/span&gt;&lt;span&gt;'provider'&lt;/span&gt;:&lt;span&gt;'Google'&lt;/span&gt;&lt;span&gt;,&lt;/span&gt; &lt;span&gt;'rate'&lt;/span&gt;:&lt;span&gt;None&lt;/span&gt;&lt;span&gt;,&lt;/span&gt; &lt;span&gt;'ts'&lt;/span&gt;:&lt;span&gt;None&lt;/span&gt;&lt;span&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
        &lt;span&gt;# Grab a connection by its name&lt;/span&gt;
        conn &lt;span&gt;=&lt;/span&gt; &lt;span&gt;self&lt;/span&gt;.&lt;span&gt;outgoing&lt;/span&gt;.&lt;span&gt;plain_http&lt;/span&gt;.&lt;span&gt;get&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;'Google Calculator'&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;.&lt;span&gt;conn&lt;/span&gt;
&amp;nbsp;
        &lt;span&gt;# Google needs a query string in that format&lt;/span&gt;
        &lt;span&gt;# ?q=1EUR=HRK&lt;/span&gt;
        url_params &lt;span&gt;=&lt;/span&gt; &lt;span&gt;&amp;#123;&lt;/span&gt;&lt;span&gt;'q'&lt;/span&gt;: &lt;span&gt;'1{}={}'&lt;/span&gt;.&lt;span&gt;format&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;from_&lt;span&gt;,&lt;/span&gt; to&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
        &lt;span&gt;# Invoking the .get method issues a GET request&lt;/span&gt;
        response &lt;span&gt;=&lt;/span&gt; conn.&lt;span&gt;get&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;self&lt;/span&gt;.&lt;span&gt;cid&lt;/span&gt;&lt;span&gt;,&lt;/span&gt; url_params&lt;span&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
        &lt;span&gt;# Convert the pseudo-JSON from &lt;/span&gt;
        &lt;span&gt;# {lhs: &amp;quot;1 Euro&amp;quot;,rhs: &amp;quot;7.46464923 Croatian kune&amp;quot;,error: &amp;quot;&amp;quot;,icc: true} -&amp;amp;gt;&lt;/span&gt;
        &lt;span&gt;# {&amp;quot;lhs&amp;quot;: &amp;quot;1 Euro&amp;quot;,&amp;quot;rhs&amp;quot;: &amp;quot;7.46464923 Croatian kune&amp;quot;,&amp;quot;error&amp;quot;: &amp;quot;&amp;quot;,&amp;quot;icc&amp;quot;: true}&lt;/span&gt;
        &lt;span&gt;# so it can be parsed as JSON.&lt;/span&gt;
        json &lt;span&gt;=&lt;/span&gt; response.&lt;span&gt;text&lt;/span&gt;
        replace &lt;span&gt;=&lt;/span&gt; &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;'lhs'&lt;/span&gt;&lt;span&gt;,&lt;/span&gt; &lt;span&gt;'rhs'&lt;/span&gt;&lt;span&gt;,&lt;/span&gt; &lt;span&gt;'error'&lt;/span&gt;&lt;span&gt;,&lt;/span&gt; &lt;span&gt;'icc'&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;
        &lt;span&gt;for&lt;/span&gt; name &lt;span&gt;in&lt;/span&gt; replace:
            json &lt;span&gt;=&lt;/span&gt; json.&lt;span&gt;replace&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;name&lt;span&gt;,&lt;/span&gt; &lt;span&gt;'&amp;quot;{}&amp;quot;'&lt;/span&gt;.&lt;span&gt;format&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;name&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
        rate &lt;span&gt;=&lt;/span&gt; loads&lt;span&gt;&amp;#40;&lt;/span&gt;json&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#91;&lt;/span&gt;&lt;span&gt;'rhs'&lt;/span&gt;&lt;span&gt;&amp;#93;&lt;/span&gt;.&lt;span&gt;split&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#91;&lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span&gt;&amp;#93;&lt;/span&gt;
&amp;nbsp;
        out&lt;span&gt;&amp;#91;&lt;/span&gt;&lt;span&gt;'rate'&lt;/span&gt;&lt;span&gt;&amp;#93;&lt;/span&gt; &lt;span&gt;=&lt;/span&gt; rate
        out&lt;span&gt;&amp;#91;&lt;/span&gt;&lt;span&gt;'ts'&lt;/span&gt;&lt;span&gt;&amp;#93;&lt;/span&gt; &lt;span&gt;=&lt;/span&gt; &lt;span&gt;datetime&lt;/span&gt;.&lt;span&gt;utcnow&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;.&lt;span&gt;isoformat&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
        &lt;span&gt;return&lt;/span&gt; out
&amp;nbsp;
    &lt;span&gt;def&lt;/span&gt; get_ecb&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;self&lt;/span&gt;&lt;span&gt;,&lt;/span&gt; from_&lt;span&gt;,&lt;/span&gt; to&lt;span&gt;&amp;#41;&lt;/span&gt;:
        out &lt;span&gt;=&lt;/span&gt; &lt;span&gt;&amp;#123;&lt;/span&gt;&lt;span&gt;'provider'&lt;/span&gt;:&lt;span&gt;'European Central Bank'&lt;/span&gt;&lt;span&gt;,&lt;/span&gt; &lt;span&gt;'rate'&lt;/span&gt;:&lt;span&gt;None&lt;/span&gt;&lt;span&gt;,&lt;/span&gt; &lt;span&gt;'ts'&lt;/span&gt;:&lt;span&gt;None&lt;/span&gt;&lt;span&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
        &lt;span&gt;# Grab a connection by its name&lt;/span&gt;
        conn &lt;span&gt;=&lt;/span&gt; &lt;span&gt;self&lt;/span&gt;.&lt;span&gt;outgoing&lt;/span&gt;.&lt;span&gt;plain_http&lt;/span&gt;.&lt;span&gt;get&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;'European Central Bank'&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;.&lt;span&gt;conn&lt;/span&gt;
&amp;nbsp;
        response &lt;span&gt;=&lt;/span&gt; conn.&lt;span&gt;get&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;self&lt;/span&gt;.&lt;span&gt;cid&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;
        &lt;span&gt;xml&lt;/span&gt; &lt;span&gt;=&lt;/span&gt; etree.&lt;span&gt;fromstring&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;response.&lt;span&gt;text&lt;/span&gt;.&lt;span&gt;encode&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;'utf-8'&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
        ns &lt;span&gt;=&lt;/span&gt; &lt;span&gt;&amp;#123;&lt;/span&gt;&lt;span&gt;'xref'&lt;/span&gt;: &lt;span&gt;'http://www.ecb.int/vocabulary/2002-08-01/eurofxref'&lt;/span&gt;&lt;span&gt;&amp;#125;&lt;/span&gt;
        rate &lt;span&gt;=&lt;/span&gt; &lt;span&gt;xml&lt;/span&gt;.&lt;span&gt;xpath&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;
            &lt;span&gt;&amp;quot;//xref:Cube[@currency='{}']/@rate&amp;quot;&lt;/span&gt;.&lt;span&gt;format&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;to&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt; namespaces&lt;span&gt;=&lt;/span&gt;ns&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#91;&lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span&gt;&amp;#93;&lt;/span&gt;
&amp;nbsp;
        out&lt;span&gt;&amp;#91;&lt;/span&gt;&lt;span&gt;'rate'&lt;/span&gt;&lt;span&gt;&amp;#93;&lt;/span&gt; &lt;span&gt;=&lt;/span&gt; rate
        out&lt;span&gt;&amp;#91;&lt;/span&gt;&lt;span&gt;'ts'&lt;/span&gt;&lt;span&gt;&amp;#93;&lt;/span&gt; &lt;span&gt;=&lt;/span&gt; &lt;span&gt;datetime&lt;/span&gt;.&lt;span&gt;utcnow&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;.&lt;span&gt;isoformat&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
        &lt;span&gt;return&lt;/span&gt; out
&amp;nbsp;
    &lt;span&gt;def&lt;/span&gt; handle&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;self&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;:
        from_ &lt;span&gt;=&lt;/span&gt; &lt;span&gt;self&lt;/span&gt;.&lt;span&gt;request&lt;/span&gt;.&lt;span&gt;input&lt;/span&gt;.&lt;span&gt;get&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;'from'&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;
        to &lt;span&gt;=&lt;/span&gt; &lt;span&gt;self&lt;/span&gt;.&lt;span&gt;request&lt;/span&gt;.&lt;span&gt;input&lt;/span&gt;.&lt;span&gt;to&lt;/span&gt;
&amp;nbsp;
        &lt;span&gt;for&lt;/span&gt; func &lt;span&gt;in&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;self&lt;/span&gt;.&lt;span&gt;get_yahoo&lt;/span&gt;&lt;span&gt;,&lt;/span&gt; &lt;span&gt;self&lt;/span&gt;.&lt;span&gt;get_google&lt;/span&gt;&lt;span&gt;,&lt;/span&gt; &lt;span&gt;self&lt;/span&gt;.&lt;span&gt;get_ecb&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;:
            &lt;span&gt;try&lt;/span&gt;:
                rate &lt;span&gt;=&lt;/span&gt; func&lt;span&gt;&amp;#40;&lt;/span&gt;from_&lt;span&gt;,&lt;/span&gt; to&lt;span&gt;&amp;#41;&lt;/span&gt;
            &lt;span&gt;except&lt;/span&gt; &lt;span&gt;Exception&lt;/span&gt;&lt;span&gt;,&lt;/span&gt; e:
                &lt;span&gt;self&lt;/span&gt;.&lt;span&gt;logger&lt;/span&gt;.&lt;span&gt;warn&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;'Caught an exception {}'&lt;/span&gt;.&lt;span&gt;format&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;format_exc&lt;span&gt;&amp;#40;&lt;/span&gt;e&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;
            &lt;span&gt;else&lt;/span&gt;:
                &lt;span&gt;self&lt;/span&gt;.&lt;span&gt;response&lt;/span&gt;.&lt;span&gt;payload&lt;/span&gt;.&lt;span&gt;append&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;rate&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;and hot-deploy it onto a running server&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;table&gt;&lt;tr&gt;&lt;td class=&quot;code&quot;&gt;&lt;pre class=&quot;bash&quot;&gt;&lt;span&gt;$ &lt;/span&gt;&lt;span&gt;cp&lt;/span&gt; exchangerates.py ~&lt;span&gt;/&lt;/span&gt;tmp&lt;span&gt;/&lt;/span&gt;qs-&lt;span&gt;1&lt;/span&gt;&lt;span&gt;/&lt;/span&gt;server1&lt;span&gt;/&lt;/span&gt;pickup-dir&lt;span&gt;/&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Both servers will now confirm the deployment, each in its own log (~/tmp/qs-1/server1[2]/logs/server.log):&lt;/p&gt;
&lt;pre&gt;INFO - Uploaded package id:[1], payload_name:[exchangerates.py]&lt;/pre&gt;
&lt;p&gt;The service is there but it can&amp;#8217;t be used yet.&lt;/p&gt;
&lt;p&gt;The way Zato is designed, unless you insist on it your services will never need to directly deal with any addresses, they only need to fetch a connection by its name (&amp;#8216;Yahoo Finance&amp;#8217;, &amp;#8216;Google Calculator&amp;#8217; and &amp;#8216;European Central Bank&amp;#8217;) and its Zato&amp;#8217;s job to manage it. You only need to think about overall processes and I/O, not about where an external service to invoke is located. If the location ever changes, you&amp;#8217;ll update it using &lt;a href=&quot;https://zato.io/docs/web-admin/intro.html&quot;&gt;GUI&lt;/a&gt;, &lt;a href=&quot;https://zato.io/docs/admin/cli/index.html&quot;&gt;CLI&lt;/a&gt; &lt;a href=&quot;https://zato.io/docs/admin/guide/enmasse.html&quot;&gt;or&lt;/a&gt; &lt;a href=&quot;https://zato.io/docs/public-api/intro.html&quot;&gt;API&lt;/a&gt; and servers will pick up changes automatically, without any restarts.&lt;/p&gt;
&lt;p&gt;Another point to make is that with Zato your code never exposes your own services over any specific transport (HTTP, AMQP and so on). This is also done via GUI, CLI or API.&lt;/p&gt;
&lt;p&gt;In fact, if you&amp;#8217;re using &lt;a href=&quot;https://zato.io/docs/progguide/sio.html&quot;&gt;SimpleIO (SIO)&lt;/a&gt;, the very same service can be exposed over HTTP/AMQP/JMS WebSphere MQ/ZeroMQ with JSON, XML or SOAP (and CSV is coming soon) without any code changes at all. That depends on what the service does, if it&amp;#8217;s a synchronous or asynchronous one but that&amp;#8217;s the principle.&lt;/p&gt;
&lt;p&gt;Also note that most of the abstractions Zato uses are usually convenience wrappers around best Python libraries out there.&lt;/p&gt;
&lt;p&gt;For instance, you can use Python dicts but you can also always use the underlying &lt;a href=&quot;http://pypi.python.org/pypi/requests/&quot;&gt;requests&lt;/a&gt; library directly for HTTP calls &amp;#8211; you&amp;#8217;re never forced to use what Zato believes will be enough for you, there&amp;#8217;s nothing preventing you from customizing things to your liking with tools Zato doesn&amp;#8217;t offer out of the box.&lt;/p&gt;
&lt;p&gt;Likewise, say Zato doesn&amp;#8217;t have something by default, like SMTP connections. Given that you&amp;#8217;re using Python you can still send out emails in 5 lines of code. (And by the way, SMTP will be added to Zato soon so this will become 1 line of code).&lt;/p&gt;
&lt;h2&gt;Zato GUI&lt;/h2&gt;
&lt;p&gt;Let&amp;#8217;s fill out a couple of forms in Zato&amp;#8217;s GUI to make all the resources need by the service available. Note that it all can be done in JSON and stored in a config repository of your liking but let&amp;#8217;s use a GUI here.&lt;/p&gt;
&lt;p&gt;Log in at &lt;a href=&quot;http://localhost:8183/&quot;&gt;http://localhost:8183&lt;/a&gt; and create a couple of server objects&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;HTTP Basic Auth definition&lt;/li&gt;
&lt;li&gt;Plain HTTP channel for Django to invoke&lt;/li&gt;
&lt;li&gt;3 outgoing plain HTTP connections to
&lt;ul&gt;
&lt;li&gt;Yahoo! Finance&lt;/li&gt;
&lt;li&gt;Google Calculator&lt;/li&gt;
&lt;li&gt;European Central Bank&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You don&amp;#8217;t need to restart server after creating any object.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;HTTP Basic Auth definition&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Create a new definition and update its password to &amp;#8216;django-password&amp;#8217; after it&amp;#8217;s created &amp;#8211; by default passwords are set to randomly generated UUID4s (there are no default passwords in Zato at all).&lt;/p&gt;
&lt;p&gt;&lt;img class=&quot;aligncenter&quot; src=&quot;data:;base64,iVBORw0KGgoAAAANSUhEUgAAAgoAAACQCAIAAADmwdQOAAAAiXpUWHRSYXcgcHJvZmlsZSB0eXBlIGV4aWYAAHjaVY7dDcQwCIPfmeJGMD+BME5VNVI36PhHlJ56/R7AspANHdc56DNhCFmL7umOwtJSthIdCwVYwHPXXNxbuZQ8Nqks4dkD9hza7f9o6t1HWIQ3332XSpdDWaVmFdFMxXwj/1o3rBh9+/nOBn0BR88sSfP1OpwAAAnsaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJYTVAgQ29yZSA0LjQuMC1FeGl2MiI+CiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyIKICAgIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIgogICBleGlmOlBpeGVsWERpbWVuc2lvbj0iNTIyIgogICBleGlmOlBpeGVsWURpbWVuc2lvbj0iMTQ0IgogICB0aWZmOkltYWdlV2lkdGg9IjEiCiAgIHRpZmY6SW1hZ2VIZWlnaHQ9IjE0NCIvPgogPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+Fr3i3QAAAANzQklUCAgI2+FP4AAAIABJREFUeNrt3WdYFNcaB/AzbRu7S1vYpS29NxU1iooaVCyoMVFjNIlpGomKUWNJFLsmxtg1xJZori3GRqxgQewaC4giRar0urDA9pn7AZS2tAQ1ie/vw32ezB2nnPPO+e+Z2R2w7t27I9DRjIyM/kunI5PJoE8BeN3g0AQAAAAgHgAAAEA8AAAAgHgAAAAA8QAAAADiAQAAAMQDeCUwHMOgFRpdGzgObQKt9Dp3kJ54wNjWb05dt/9UVOSZk38cP7B5TrA9B0MG/uvPbg8ybvOOWNIhHwTbs1/ceMZzGb1k98nz5yIjz507tW/VO1Lqb2ytvWfX7qPlOg6fu3nfkcOHDh0+vP+nBcHWZIdun9dt+aG1/Q0xRFkHjh0kbW+zc7xm/7yqB49pxwnpLZKXo35pvbiO43ZaeHhjH4O2r99l2Zkj01xYCCHMwGNi+NljS4Is2lGTuOngzQfneHFeWtFyuyw7f+vGhbNnTp8+e/aPfRvmvO1liNdbfvbs2XPnz+5fNc7dAOuwVmrjZcsPCD8fHsBv5xnxA36M2tyb/+Kvcb1n0eqI18a67djybm8HtRIPuChwyY65jjfm93OylFjauAUtvlKlLC5V0Aghbd6DxyXatl7DQz8cKpIVKeg2fHIl2j2JYTlMWD5FfGy8p5XYzFTi9fbSI7dSCpXMX92RIn5D6IJ9MQltPbt2omxHf/2R6ORHnWzEZqYSr7fC9l2Me1pNd8i2MZzAkPLxtvlLfzl1Kw9ZDRg7QJifU9nujWuybtwrbOPpt1QkLyMe6krrxXactuBRUpmu7evTssT4HFaXkC3rh6SGjXz/u7OJJao2Zi5m2CnIPO7I2T8z2tV17bkk9fX51r6WIrFEbNVpwi+qcVs2T7AlmWfLTc3MzaSDDthMCfHQKXQd00rtuWw1ObGJ7Wn82n+VHZck0/2d5mp9ONJ/FlRrI14b67bjy7u9ZVyn8YdYym7kpDdSV3VbGJEndva255NY6fWzFdUqRlfbh4T5yF17/LaOXXRPgZDwzfBDw//3zsybmNcHS8PediQ1OpzOOjR33knz6VO7CG0t9x6dok3dMW9discnC0OH2PNwQpd7fuPirZcLtfyA8JPTcyPTzW0EVVe/XxRh8N6y+ls4kKFu6bgJgUSoyboVW27q2knMxZFSi0R8EhGmPT5tcUcbdguWrTZZNe7bOAVCuPmI8F/e/P39WefV3l9umngiY2KUihT1mrQwdJgjW63Rya6umL7uvrLpNml+o/Nt7Wj55nxN5pXbZRZdA6QGBGI0fCucwgjjrhNmTQq05eKELj9m++qfbxRrEWna/f1ZkwfasTQaXcWtdfO35fVdt9H358++e6BASNBnza5Bhz4K+xPruWbfZ/mXssws+dW3Nq86bf75d+9JMysrv/jUR2BtvnNvBcq/nOL6tiD887Vx1QgR4uFr1/v9HrL0WjnTAWnXXJGwKechs5Z80d+CZJiSmzuXfh+RqmD4AeEnp2efShHZGJtI+Ol75q88laPRu1Bv96GGPbLym6tB9Upr2dV3azuOZR00sy271rWz79p3OVkGr1j3XfcrXw6fsTeN49z73dnLZtQ/nTLrj3dvtF43fvndKoQIi9HbdvbYO2HuJRmNCX0GWz7adbW629Krv0m+bVyfVdLRixePdhGwWGwm++zasPDrpXWDkN5L8nqV3sZsmvRsibuXDQ9HsduWngpaN95syyrm+XJbcWdbrqq8ICOjzMZdRP399mnmsm1y0aUghBv1/OZA2NiulobVNzbMWtFsebBtg7/+dloPA3lxxu1YI/xZg+xu0iD1jqK1UeL7sH3pGqw9Z2Fm2av+iBd2yHpmw/4qM+g+XU/dnqe8Ji5rfuSsK+/GTbQhxf7FlXGz8cCx9RMXRZ/PYNu4SfhkbQEJzSWIqtdajCozPrXC3lGIEELqrLhk3cRN49hbA722JlQhjqEQU7OlGzfd7jd6Q/+ACCWPazvp1A7riI/9t9/Kp+0+OXp2mufVb2IRQiwReaTfyEhZtUprMuZs4y04S7jN95Ai8eDe5E3H0u7fv5uQGH/z3KnoxxhJiIcunml9tMUdcbp0+np/oEHJ1UpTI6v+b1vF/vC/6Mfs7j0Q0hWnZlR2+XrlYv8/Pw8YFpFWRRqLuQraa/amJttM7Ty5XUerTDn2+5NVR1LvPHiQkvr4zqWoa8kYRZgNmDPF4sSUflsvZ2ltPz58eqLdlW/TLId9M6f7vdABww4nVhDGYo4a79obMdWPr8WX+nqbIIQYdfLVe8U9eyKWCbO/31uX5FXVGtL+Y8Ro8x7cuv7j9tH+Q9f273NCI+DafOJ7fjA/P6ZCYmY/eITJ9QXb/7hn5t/JnPq78+vmioS0fnvZbOeoCV0WnyuxmXQsZsmIy+MPlCKEKCP6t0/euVxJ24ZePDrK6Pe1hXw9C0vsRzftvnjzUY16RH1vw3v9xtaUFmU04m2kK07NqOq2uI27VvRpX9+152KSfnp0d+auCUNnHc0TOnn5jV85q/HpPDi5L3PHCMuKmEShieOIMaLLc/dcShJ6OUs9g6TJB2KKSUHUSdnWJvXpzbrw/UfhdxPyFSz3mVGHxoiitxQ0uI3R5JKs7KGnbmNpstkTxdS5cbmcD72JkkyGkk45mziWZgvNjDXXlg2JkpFiaYcMN/ovW8nwxl1s3xlxbH0z3hvaI7PaMez6gbeMfl+ntzweWo5bMk1y+F2f5TFyj3nRN0dWaBn9DVLu5V87uLdhlCCM7JyaLwp9Z6G9u2XT7f61Ix5FiXwUE8PjHtfvr9ub64bE53WrG7e9hZHz+WpNxyXumFUvqoxbiIealtVQQoP23BxXZFzPcJyxYZPjneT4G1fuZVVoEE6QOJtL8qVu7nYDJ3Szlhiui/iAwyYxkk+VW6tyoimEFImHop4qhV6upixW+a3GW2j5VJUp+0IH/EKIXPwChoybvuv9gPnjF8V6DO5sLTFocUeYKiaicHuIb9icXJugkcY3vjlVwBd71X4wwgSegxwzt405lsV18nbmE4jR8boObbrNq6nX23e0qrQj37z1i4Jj2ylgyPhJG0b3WDrp+wSXN30szDgrDo3lcSmcNGDJLGRPHvbpa/d01+iDaXzfXr5GJMZotfxmprrK5MNRmQpxry4ebIzHff7JhiK4fMrI1bebmJX1x0PvGYG6z5PcRg1gTk08XWrm6EZ1UAXpKRLMwLWfbeauzVHFRq5u/McnH5t95CTfcEmIkCL5aHSO2sTHkV9WynUxLc1LE+lZWDJET/fdd23cIxou+by0TAzFFEIIYXy3tu46Nr2dfdd2utI7p556BAX3cEt8THAMPfVVY96Vvfc/nRFEfXjX672hzPEJ52SGFtakgXuQY9qxS4U8U1H+eX31ybUfMX/VFlcho6YNbKVF1hV5aaYtvtaLr3fvyNakhTkAhjCcYKqVtCbrp0GuMx7oWAaun/5+/qevr31ytINeuqXnsl0c59G0i3GkePTLbw9KDTxcyMw8bk/jZsoj1qmvderOHy+Vi9xcibsnHyl6qVu7NyfwbMMo0e6zWHRZXTfimbCMfd+eseWnhv1lTDSp21ZGzufl3XRcQnk3XlQZtxAPysz7heZ9/Uy2329uWGBoBsNrRiyMIInae5gHvwg+Zmjj22/kJ9tDgha9/+2fdfcwMAzHNUlrg7uHF7FrPrwwWi1u1gUhRqPUckwNWZjeLchb62eMYtGyJ5f3rTx3uTwqItiwJJpufUdIV3j5WObHU3uwtwQO4VyceqFMaN7gOTFGVys4EjGfQAghjKRIfdvUHmj30eIcoQFdcP/4uqs35RGHAonMGBrXpKwP7v5jCY+q3bKG9ByCMF15Fc/W0ZDEag6AYBis9m4ohpN1WcFoFTq+hSm72apgKh8ev/L5jHHSXb26Fh5YfFVt6WNINF6JLQ182yU7BUMYy3bYx8HC6Mjk6tbuP7VUJLoqFUcs5uEIYThOsnXllWqEkE7L8EwEFMbQNCJZSKmhmy5UabGmTU249Gca9ghBEc2ccdt2XZ3RaqWx7Ya855GVhCGMZRs8+S3y9B+Pq9pyT46pvLsyeMnoY4eOfLNoyqZEvWXvUhF78OLMBRNctvXoUbAn6KZK5MgnuK5Bbk+Pz8jliNwJffXJ9/5i6ajyecN6HkmR8wb8Fh/GaBUKbUuXZDMXnQuDmv18wHN4w0b95EG+lqy9ueTmbMMjM28XOwU7y8MvCxt/Nv2rrdT4si2O1jbtYoQYrUrHMzfh4oxOx5Cc5srjTYZWlyo4Yhsuzui0DGJxcP1jVF0GtmE4+gtncSyn7uQ5LfZXg0clmS2MnA132LCJUM4LK+MWHk1rMo7vuOW+9scJLgISIYRxrPt88Im/Sd1qdFV+PmbnbU4ihJt0DnTgIoQwtshOwtaUpV7Z+8P6aNrFrDhTplZXabkiPoEQU/koMlEaOjfY293D09PLL3DMmDf9PCxrP+/WfOsKYzXdQotPYyiJ/8DuNjwcI7mGFp0Ce4oqs/Pz026fbm1HCCG65MbRJM+vZn4+SHdq15VK49oWRwghRv4wMsl2akg3IY4QooQiPq7v4D3tbOzbdbSkebd+Xay4GM7im9p2HdjLrDqvMPvxrXMpNlPnjvDr+kaPHj37jvhw4vD+3USZ0U+kISHdBDhCiBSYGBBMdWEhknqbkQjhRj597LhMvS7G8UYdyGiqtRxTg9ozUqefPqn+bNdit4c7d8eRUkuDphMRrbzSdMzS0G5i77ATy1zl6SlPK1p9DNZMkWBVSZcy7SdNcONgiGU7aJxnaczNfF3dpwTs+QWKGD0LmQo9Te3OfxLVsEcIRD8vrXoDc2Ibd92WStPK5Wbvr53vb9FpycmV7pVZWQVVbX2wR8sf/m/2tONOy36a7pl3Xl81Yuonx44oJ/2y3OvBT3sTcLGIg3GdB3nm/XEhh23KJ/XWJ8E1IsvuXk7BrDz6fDitnymXSzDM80bUd0kycv0XXTNDH2nkNmJOWGDp3u8vVnA4dVVCibv2laqfZhWWyDVMB7RSM5ftmcZd3ObyEKTHPLV9t685gRBh1iPImYMQprdB6kpF3vpw9BfOoqBQrnxelvr7S9e0blseOVHz4xL5Ysu42ZtLdNH5JZ/Kx05ZcfBrKzbDaEriT4UvTc0uFz+rjuq4bduylp2MHJkvl+eXlao4KhrjOo9ZMb+3CGcwUpd9dsWiFFmV8+PDZ+iwq3EzKh9tmrZiwRzejJUnzogwhKOKh/vnzr6jaXDrFOM6jVkxt+EWHK2Nmr9Tikhjv4mhs74zJ7U0psm/vXPawhsq0unkgjmCFneEEEJM+Z3DcQs2Bj1d1u2WytSeV2/M1OWfCFtkODs8cpKQprUlMctCVt/9o8nB31M4jlkxrz1HSxj5jJ00JUxEahlMW3jv15mLrmvYvlGrFnE+XvH7IRGBCCR/fHjJ13eqNVHffsubvOX4JENE68qur5m9MS7+1z3Zc06cHFmsUBTJylSEsoVOVqScuMDMvnYvtCp559drbpYXXD2ZMemTO0t2pwnte+sbHHRlt7bOXFK2ZvWg2DkDPjuYw3XpatH6IKi/SEr4R8NWi+cfvviVAZsoub55yvLbtKErq833ZvJONK2T/LwmPXK/XmnNi6q9FLKPtW3XGNd5zIqvW+47XcnVH6bMl/+4cUjsnMBPD2RTNm4m7bjtVp1ycM509MPmxcSG1afeaFSNhAGly794ODV02v3l+zN5Fj5sjO0wwLf4xJJM0tSF1F+f1XHbdxcsPHUxuECNKmWZMqWywVCg55LU35gawqDB5IGSTotO/0BL4JiqKOHijvFDV19Si/14GCWdFp3xIY0TFCZ7cGjm7HNytm2TOdtfaqVmLtuwRSYNujipzeXx9PiyHTO+PnFAVapQl5UXqzkqnf4GaXk7mnZ9F1zfWXBckurK8qsduwsWNO4vZWKTutVXjc56yrvJuDT1J9boFfP7vMAyrjk+/X/vgVaW5mTmFFeqGQzDKL7ISmplwmHKk+NyTX3cTUlGWZT2JE9Bslkkm6ou1dj6uhhUZiZnlKkRhhiMYyp1tDaiMG1FVlJaiRaj+LZuDgZVuelZhVU6DGMQyZc4Okq4TFlibIG4k5sxgRBC2vKmW2j57ndxZnpuaZUGYRjCWEKJrZ1EQGKMpryVHdW0XfmT2KRSlo2Pl0XNF/Z1dWenkeWkZRVV0xiOUcYOblIB3nSblLylo2369x7o6tzEhPTCChWDYQjnmEjdPOyMKYxRl6Q9Ssou12AYQpShrY+PLR9nVMVPHibmVNI4jrHNvPzcjPHqnIex6VUsHofFZVXkq9z6dBGhwjuXs6QBXc1rIl5bfO9qmoV/dwtKU5p8Lz5fjbOM3Lr5D1sY/tHD4V5zcnx6exgRzbalpjTl9r08gUd3L0tu0ymG/r/3oLdIcEZVkpn6tEzFMIgytHK0N+fiSFev/XXlKQ9yTbzdTTF9C0l93Yc37RGmrrScTQsf5dV0XNt27WZYldWGSmN08uyEpGKunYejiN2mGw66itQH6SxXbxsejpBWnp2UXMKxtmSX5xc1OB1C6L90b8ijYN/5WfY+dgKua+jumU/GBKwrd3ITsZqtT7o6PzW1SMPikDhBaWQKkZe7OYtu6ZI0JPQ2ZsMDjk0sQSSJIYRwloGxuZWVGZ/EapcTJIYxDEPyxXYOVob6r8Z2t1Kzl22jLuZVtLk8aGVRRmq+gmCRBItUlGqlnVyNCH0Ngupd420aJdp7FnUjntTZQpXVpL/qD4m1dau3GrV6y7tRE1nS2S+kjFuPB/D3/BP+HBAhHhz27cduFWfmjPrskK7zGw4GLX+dm2EYrJmfTr++fw6IYVCH/pycsBjx3eYvPMsjQkeGHFc7e9bc7qGrniZksV3czFkYtBL453QQxMN/Nh4QQowiJ+5uSjll5ePnZEz+9QsY/lpcR3aKquhJUnYlKXJytREQ0B7gnwvi4b8cDx0F4gGA1xC8kg8AAADEAwAAAIgHAAAAEA8AAAA6EglNAFr1Cp+05+bmEgSBP4Pq/5QWAACzBwAAABAPAAAAIB4AAAD8I2GHDh2CVuhwO3fuhEboEAMHDuRwOBwOh8VikSRJEASGYfD4AQCYPQAAAIB4AAAA8I+ByeVyaIUO984770AjdIilS5fy+Xwej8flcmvuL+E4DjeXAIDZAwAAAIgHAAAAEA8AAAAgHgAAAPzLwDuXXgquz/xfZhUtmLwrVY0QQmyPL3+ep1y3WzJ7RiceQgSXy0IahUKLkDI7tljUyZrTcGHCj9NW5n/265q+WHmFlqDogpv/W7PpdLqSabiLvWv6YuUVGkSQTMm9g2vXH0+uZtp6hLxuy3ePuzjpq+jy1v8JbjZk7f++tIqcPXH9Q0UL61HWgaM8UiKislQIGfRc8+vbRz+cc6MKqgEAmD2ABnTFd64ny+na/2Lo4ktr3gvqYWcsFPfZmJ63J9CMxxcIzT0CvOzsJEYNF/aYf+RuiU6T/VNfiYnIzOGdCPvJIT6MQtdoDzUrmJmbSYP2Wkz8QFpVqW3z0Skfb5u/9JdTt/LUrX+kkAQMkyRcLPR6g86W6VpYkWU1YOwAYX5OZe1Jq59cvlOohUoAAGYPoFWUeae+ErazDZdi2GxLvx5exs/++HDjhVxTAiGE82y7dXER5DxRWDorUw4z3lJuw6944jzbbl1cLbxdeGp5XuLjQs+utk4j584d7mBAsdhM7sUfv/vlzzIaM3B/d96sYXakRoczORFLlx7Notw//26cNCMvRkeadn9/1uSBdiyNRldxa9388PjqxnOCwcLrC+f98fnJaZ2XL8g1MqEQLhqybqPvz59990CBkKDPml2DDn28WvfZpz4Ca/OdeytQ9r61dxFu2PObfWHvdrUQVt/ZtmjtuTxICgAgHgBClHXIxbQJDEFgCCGKz5ft+KtdZuLzZmdewQ+5crkJjbhE/V1MOvPoHcQ1NDXU3Fo94lw5aY9j2sKYTSHh1+5myknXLyN/CzKI/rVC0vODt1g7hvquj61AHKEApw3de3ZDjDYvPqGs95JNc7rfCx0w7HBiBWEs5qgZ205uxnV1wrYfHEjFTD37ON06c9XUXuovkhhzFkIIMdWPr8WX+nqbIIQYdfKVy6na7W/5D13bv88JjYBlMuZtttQnffxbfbJk0m+u7g+kDu1QG3Nh9goAxMNrT5MdPtB5aqyWwjHE6xn+cHelmkHUXwkYJE+9uCxkexppaYE32sWOIOdpDxg23/XT36I2fX19xjklwji2g0MXrnbiMxqGZyMtEhcsfSpw+DPL7vPV6+0eZibfuRX3tELz7C4jJnDrZ/d01+iDaXzfXr5GJMZo1bp6CYS4rsN7ayM/uFRp6pp0Omn2F4OJD28yYp7+IyYogsunjFx9u4mNrCllwp7f7heKenQxLirm+hvmpOcJPYwIqAwAIB4AzrPr3sVFgCO2hyWbTbMwxLTnn9cLGIwSSDy9LblY013Ydu3iIiDK4sucB0vzd91zGDZz3rCKRaP6HEyQcQMPxC6gNfIq5dNjc987Shi59X3ro7Uf9/s2ZENc3ZEwmK68imfraEhiCCGMZNWrEYzvPaKXmRU6mDaKIAmc4htYjOKeOctwGZrBiJqIwXBS/5yA0SlpgbXEAGdoHUPxsGoljRDEAwD/2BELmuDfFjD9+vfv3693VzcLXrOdR5r79rJW5z4tyC+jOYZk2e1zj3DHbkMmf9lPZGBAIESZ2Ig5hLbo/rEtW2NoB35GYpGmJh8Y+ePoJ9KQkG4CHCFECkwM6o/fmJHfSJ/cH3qKjE1MTU1MjCV9d1DjxxmVVemqCwuR1NuMRAg38uljx2UYhBCjqdZyTBtsAcfrEo1hGOhRAGD2AF6CZ3efSBJVJByf91WUnOehfvTrgaIvT1wILqHx6vKnMkW1lsE4DiO+mdbDhGAwQpd78fulKaVyUe02dIVR337Lm7zl+CRDROvKrq+ZvTFOyyYxhBDCTd8Y6Zb3++R4llvvPlIuhhA7/i53wSTrbVurHv66J3vOiZMjixWKIlmZilDqEFKknLjAzL52L7Qqeefyq9A/APy7wCv5Xgg9r+TTlcZfSWD7+bsIcIQQ0skSrsUTnXq5CnGEEF2RdO2+xqt33TeX9CxstIWmdKXxMXfyGJLCMYZmWEY2bl5OIjaGdPLM+PhsNYdH4RRLVVxp1aO7FVGaeC+hSIUwRGM8C1dvZzO2rvje1TQL/+4WLEZV/ORhYk4ljeMY28zLr+7RNKPM+fN6tkXP7jbPbmzR5YnXYrWevbxM8Oqch7HpVSweh8VlVeSr3Pp0ERGa0uR78flqnGXk5ivOvJklDehqTiKkLYm9liru2d2C1UpLwiv5AIB4+K/HA/hLIB4AeFXg2QMAAACIBwAAABAPAAAAIB4AAAB0JPhiK3gFnv/kAR4yAwCzBwAaxENKSopOp4OfxgEA8QBAg3jIyMhISUnRaDSQEABAPABQFw8IIZVKlZaWptVqISEAgHgAoM7169crKyvT09MhIQCAeACgjoODw9WrV8vKyrKysiAhAPingW8uvRAymQwaoQU6na7mf93d3WNiYnr37q1SqcRiMbwwAwCYPQCAamYMvr6+Fy5cKC0tLSoqomka5hAAQDwAmEPoaqYR3bt3j4yMLC4uLi4uhoQAAOIBwOxBWxMPCKHevXtHREQUFRWVlpZCQgAA8QBe99mDVqvVarU1/zlgwIBDhw4VFBTIZDJICAAgHsDrPnt4PoFACA0bNmz37t15eXnl5eUMw0BCAPAKwTeXwCuePRAEQRAESdaW4pgxYxQKRUhICI7jQqEQEgIAiAfwOsbDcziO+/j4pKam1vxfKpUqPT3dycmp/twCAPAywc0l8MrUPHjIzc3du3cvwzCfffYZm80Wi8WWlpYODg62trY4jkM8AADxAF7H2UNOTk5gYOCMGTPKysomT57MMAyGYUKh0NDQ0NDQkMvlUhQFDQUAxAN4vWRnZw8bNkypVFIUtWnTJjab/eWXX1ZUVCCEah5I4DiO41CiAEA8gNfM6NGjdTqdmZmZmZnZ+vXry8vLZ86cqVQqq6qq4Ik0ABAP/32YYd81p6Kjo6MvXbl169atK5eio6OjT28KNm+17fkB4efDA/ht2IeB//qz24OM2/y2ovau/8KYmZnxeDyhUMhmszdv3iwQCHx8fORyOfzuAQCIh/8+pjxmTlAna2Ohee8N6Xl7BpgZ8IVCca+lkY+L1a0PgJqc2MSyVp/OKuI3hC7YF5NQom37cWnzHjxuz/odGpkYZmVlZW5uzuPxSJLEcdzMzGz16tX9+/ePj49nsVhQNgC8cvDF1pfTzMbOnfzYbmI2SVCUyM3d2c7/04WhQ+x5OKHLPb9x8dbLhVpEinpNWhg6zJGt1uhkV1dMX5eCEG7U85sDYWO7WhpW39gwa8WpHA0/IPzk9OxTKSIbYxMJP33P/JWncjRc7y83TTyRMTFK1WQjj8xGL1482kXAYrGZ7LNrw8Kvl9KvfkaFYRKJBCH0/BWtfD7f2to6OTnZzMxMIBDAq1sBgNnD64gQD1080zriM38PRzvnQTvF06d54lpcMnzlYv+H8wPcHBwc3APnHL2bWUkjjq1vxsKhPdxdgo87f/qWUbWKQQhRRvRvn7wzYmDfMQekn4yqXYh0xakZleZNNlKWc+H7jwI7uzs7uI085jFtjEil+UfctKl57Pw8AzAMMzQ0tLKyMjExYbPZkA0AwOzhdcT3GNzZWmKwLuIDDpvESD5Vbq3Kue86yDFz25hjWVwnb2c+gRidhosjxaNffntQauDhQmbmcXsal+aliRBSJB+NzlGb+Djyy0q5LqaleWmmtWOswLPJRpCB/YgFq7a4Chk1bWArLbKuyEszNXr1s4emSzAMg+8pAQDx8DrDMALXJK0N7h5exCYxhBBitFrCpT+D0dVnpqCCAAALsUlEQVQKjkTMJxBCCCMoAiFGq9LxzE24OKPTMSQHKTU0QkinZXgmAgpjaBqRrNqFz7becCMC36lLR5XPG9bzSIqcN+C3+DBGq1BooRMAAK1O8aEJXjpG/igyURo6N9jb3cPT08svcMyYN/3c+U+ikmynhnQT4gghSiiqGd8bftTGEGJaWsjIH0Y22gjBNSLL7l5Owaw8+nw4rZ8pl0swDILvBAEAYPbwD6TLO7FgDm/GyhNnRBjCUcXD/XNn38nPOxG2yHB2eOQkIU1rS2KWhaxOav+W8xtv5Pt723YXhJ26GFygRpWyTJlSCVMHAECbbnTI5XJohQ4XGBiodzldlRWfrHXwdRDgjKY8Nz2rsEqHYQwi+RJHRwkXZzSynLSsomoawzHK2MFNyqtIjC0Qd3IzJhDSlac8yDXxdjfFyvQtLE+OyzX1cTclm2zEQJWfmlqkYXFInKA0MoXIy92cRT9f/x/dkhs3buTz+Twej8vlslismm/BwoNrACAe/mvxACAeAPi3gGcPAAAAIB5eNyzpkA+C7dnQEAAAiAfQMB6GfjhUJCtS0NAWAID2gW8uvZxh2k7fmy2avADjvqrJEo110MwlX/S3IBmm5ObOpd9HpCows5E7fvbbOnbRPQVCwjfDDw3/3zszr2NNXrZxuqLz9KldhLaWe49O0abuWn7GefbCtx1JjQ6nsw7NnXcgQw0dAwCAeHi1tPkXvv8o/G5CvoLlPjPq0BhR9JYCns3wlYv9//w8YFhEWhVpLOYqaJ952xouYTov+nm2c9SELovPldhMOhazZMTl8QdkCCFGlRmfWmHvKEQIIXVWXHK5d0DtyzYuV9K2oRePjjL6fe2tzZtu9xu9oX9AhJInGn7yAWvrAK+tCVWIYyjE1Gyps4QLj3gBABAPrxTXfsT8hm+2SBcFNXoBBs3zC2q8pHN/28xdm6OKjVzd+I9PPjb7yEm+4bK4mZ00fdmGiCBxNpfkS93cxbr7mU4zNmxyvJMcf+PKvawKDYJsAAA0D549vAwc7y+WjirfPLZnly5dAqael+lq32zR+C0aONZkCUK6KhVHLOLhCGE4TrJ15ZVqmsFqX06EESRRt5+WXrahyTr4RfD4VX88Urt+sn3/192NKEgHAADEwyum780WdOWjRi/AwCsTGi+pSrqUaT9pghsHQyzbQeM8S2Nu5uvo6rx8zM7bnEQIN+kc6MCtv6uGL9ug1VVarohPIISxRHYStqYs9creH9ZH0y5mxZky+P00AKB5cHPpZaiO2767YGGjN1s0fQHG6rt/NFlyNGy1eP7hi18ZsImS65unLL9NG7pqHmzblrXsZOTIfLk8v6xUxVE198UkZeLhM3TY1bgZlY/37JWPmtxbhDMYqcs+u2JRiqzK0dqIhCkEAEA/+NX0C6HnV9N0tZ43W2BNXoAhwJsuUZVkpj4tUzEMogytHO3NuThCjLIo7UmegmSzSDZVXaqx9XUxRPpetkFqK7KS0kq0GMW3siAKs2VqhCEG45hKHa3/BTeY4FfTAEA8/NfjAUA8APCvAs8eAAAAQDwAAACAeAAAAADxAAAAAOIBAAAAxAMAAACIBwAAABAPAAAAIB4AAABAPAAAAIB4AAAAAPEAAAAA4gEAAADEAwAAAADxAAAAAOIBAAAAxAMAAACIBwAAABAPAAAAIB4AAABAPAAAAIB4AAAAAPEAEMs19NiZZX5chBBCAv81MbciprmwEEIINx2y/fyuEeY4xnMZvWT3yfPnIiPPnTu1b9U7UqrhNlpd4W8y8F9/dnuQMYZY0iEfBNuzodcAgHgAL5z66fV45OpYlV2hQxzbXvbF8Uon46K8ahrxXPpKi89FXEgxGrd8ivjYeE8rsZmpxOvtpUdupRQqmXoJ4zCh5RX+BgwncKSI3xC6YF9MQgkuHfrhUJGsSEFDxwEA8QBeMEXqlVTTgb34VSpC0tVLdnhLJH+YH16pYdn2clffPpuETCVWQk3WrdhyU9dOXbxtuUqtkYhP1tsCIZDoW4Ew7TF5/f5jx49HnDgSPiPAnEQIIVLUK2TDbydPHD969MjPszob4GYjd51Y1qVm8iJ8M/zsen8DhPgB4Zd+D/v6+80//rjqXVuK4/3lphVju/kO+nJqF2Gn+XuP7t+2YNyM/RFhfgY1B2AxeuepH/oZQcEAAPEAOg5T8ehKrt3ITpjCwPMN8n7U+chMhxFuGpWZXxduwok4pYBMPbg3OeBY2v0jmxaHvj/Q3YTD5fNIrF7AJOpZgS0ZunimdcRn/h6Ods6DdoqnT/PEtbhk+MrF/g/nB7g5ODi4B845ejerikaMKjM+tUJXO5vJiksu1yHEEpFHPh45ZMBbi04nFKoYpCt+8iBq/abbshuz+nfx6zN+ybINqX4jLCsqdYhlN2KM6PLmPZeSyrTQnwC8FkhogpdBVxx7u/z9t5xYF3uZpuyJK0q/KfMdLOXm+Ztn7LtRZmBkrU7ZFzrgF0Lk4hcwZNz0Xe8HzB+/6HJpvZtHSj0rxHoM7mwtMVgX8QGHTWIknyq3VuXcdx3kmLltzLEsrpO3M59AjE7HxZqZ1CQeinqqFHq5mrIwA3btShhB4mwuyZe6uZtQjw/enzcjiPrwrtd7Q5njE87JDC2soWQAgHgAHUeddeMRPuetfrRd3vlbMhY76S7zzpA+RXZFFy7lsYxcCYQQRrFo2ZPL+1aeu1weFRFsKLvX99d9nzuzkerx1s+/OpGva7xCSTSNa5LWBncPL2LXzDQYrZZw6c9gdLWCIxHziZrhnsIYBsPxZ4M/UTep0Si1HFNDFtbsrEcee/DizAUTXLb16FGwJ+imSuTIJ6AzAXg9wM2ll0SZejlN/NHcgVUXr+ZTRmTh3URxyJyeiutnU5CRgKIk/gO72/BwjOQaWnQK7CmqzM7P+XPXlKDOdhKxtN+yyCesbk1WyE+7fTpRGjo32Nvdw9PTyy9wzJg3/dz5T6KSbKeGdBPiCCFKKOITdHV+PmbnbU4ihJt0DnTgNigAvFE40OoqLVf0LAXUT44dUU76ZbnXg5/2JuBiEQeDrgQAZg+gIzHyhMtPBV/xL51K1BnakaqMa+nCUZ3P/n5PKRCzMEQa+00MnfWdOamlMU3+7Z3TFt5QcZwIjolbJzFCCFHm5n4TZzdagXQ6uWCOYMbKE2dEGMJRxcP9c2ffyc87EbbIcHZ45CQhTWtLYpaFrL4bu21b1rKTkSPz5fL8slIVR9XCt5KUiYfP0GFX42ZUPto0bekVWf7Fw6mh0+4v35/Js/BhQzoA8NrA5HI5tEKHCwwM1BcRqoJHcZlaiaeP1ABHSFuWfD+lwsils7MRgRCjKs5Mzy2t0iAMQxhLKLG1kwjqP51uZgVGU56bnlVYpcMwBpF8iaOjhIszGllOWlZRNY3hGGXs4CYV4MqitCd5CpLNItlUdanG1tfFEJUlxhaIO7kZ10wVdOXJcbmmPu6mpLYiKymtRItRfFv3zkNX7g15FOw7P8vex07w0m8tbdy4kc/n83g8LpfLYrFIksRxHMMgpgCAePgvxcO/DWEx4rvNX3iWR4SODDmudva05L78URniAYBXBW4ugWbp8v74aviuJ0nZlaTIyZULQzIAEA8APJtdss2cfcygHQB4DcE3lwAAAEA8AAAAgHgAAAAA8QAAAADiAbw24DusAEA8AKA/Hp6D1gAA4gGAZwWK45AQAEA8ANAYSZIEQcAvpQF4BXN3eKnGi3D79m1ohL9YkRiGYRiO4xRFsVgszjMURVEURRAETCMAeEkfzqAJXgQejweN8DfjgSTJmoSoSQWYQAAA8fBfwOfzoRH+ZkIQBFGTEPXjAaYOAEA8wOwBJhA4UQ/MHgCAePgv4HK50Ah/Mx5qwgCvB6YOAEA8/OuxWCxohL+ZEKjhjx4gGACAePhPNCsJDduRIYHg59MAQDz8N+A4/KCkg0MCAADxACMaAAD8Az7mQhMAAACAeAAAAADxAAAAAOIBAABAB/o/dYqunQiv2r4AAAAASUVORK5CYII=&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;img class=&quot;aligncenter&quot; src=&quot;data:;base64,iVBORw0KGgoAAAANSUhEUgAAAmoAAADfCAIAAADJKGjHAAAAiXpUWHRSYXcgcHJvZmlsZSB0eXBlIGV4aWYAAHjaVY7LCQMxDETvqiIl6OeRVc6yWUM6SPmR8Qaz7yANg3kyXd/PoNdEWMlbdCTAhaenHhU6L4xZlGXumot7m1TSXZPpCsge7Puh3/2fZugY4RFoOHFq2fUyMa1Zh2haeX4jtwQHL409+/d4yukHTwAssDcHk8QAAAnsaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJYTVAgQ29yZSA0LjQuMC1FeGl2MiI+CiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyIKICAgIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIgogICBleGlmOlBpeGVsWERpbWVuc2lvbj0iNjE4IgogICBleGlmOlBpeGVsWURpbWVuc2lvbj0iMjIzIgogICB0aWZmOkltYWdlV2lkdGg9IjEiCiAgIHRpZmY6SW1hZ2VIZWlnaHQ9IjIyMyIvPgogPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAg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&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img class=&quot;aligncenter&quot; src=&quot;data:;base64,iVBORw0KGgoAAAANSUhEUgAAAmcAAADZCAIAAADqjwBqAAAAiHpUWHRSYXcgcHJvZmlsZSB0eXBlIGV4aWYAAHjaVY7LCcQwDETvqmJL0M8jq5wlm0A6SPmRcRaTd5CGwTyZ9us86DMQVvIWHQlw4emp3wqdJ8YsyjJ2zcmzTSrpqsl0BmQP9vXQn/5PM3Qc4RFo2LBp2XU3Ma1Zh2hYeXwjlwTBU2Pv/pdvOd1FoCxZoQ0RngAACexpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+Cjx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDQuNC4wLUV4aXYyIj4KIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIgogICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgIGV4aWY6UGl4ZWxYRGltZW5zaW9uPSI2MTUiCiAgIGV4aWY6UGl4ZWxZRGltZW5zaW9uPSIyMTciCiAgIHRpZmY6SW1hZ2VXaWR0aD0iMSIKICAgdGlmZjpJbWFnZUhlaWdodD0iMjE3Ii8+CiA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAg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&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Plain HTTP channel&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Create a new &lt;a href=&quot;https://zato.io/docs/progguide/channels.html&quot;&gt;channel object&lt;/a&gt; and assign a newly created security definition to it. Note that this particular Python client requires the service to be &amp;#8216;zato.service.invoke&amp;#8217; and this is the service that invokes the one of yours.&lt;/p&gt;
&lt;p&gt;&lt;img class=&quot;aligncenter&quot; src=&quot;data:;base64,iVBORw0KGgoAAAANSUhEUgAAAgQAAADeCAIAAADNWo+hAAAAiXpUWHRSYXcgcHJvZmlsZSB0eXBlIGV4aWYAAHjaVY7dDcMwCITfmSIjHD8GM06VOlI36PjBcqo03wOcTugOGt/PQduEIWQtuqc7CktLeZXoWCjAAp675uLayqXktkllCc8esPvQLv9HU+9+hEV48913qXQZyio1q4hmKuYb+ddqWDH69N/jGU4nRvIsfJUdXEUAAAnsaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJYTVAgQ29yZSA0LjQuMC1FeGl2MiI+CiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyIKICAgIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIgogICBleGlmOlBpeGVsWERpbWVuc2lvbj0iNTE2IgogICBleGlmOlBpeGVsWURpbWVuc2lvbj0iMjIyIgogICB0aWZmOkltYWdlV2lkdGg9IjEiCiAgIHRpZmY6SW1hZ2VIZWlnaHQ9IjIyMiIvPgogPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAg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&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img class=&quot;aligncenter&quot; src=&quot;data:;base64,iVBORw0KGgoAAAANSUhEUgAAAlQAAAFCCAIAAAC4ndRlAAAAinpUWHRSYXcgcHJvZmlsZSB0eXBlIGV4aWYAAHjaVY7LDQNBCEPvVJESzGdgKCda7UrpIOWHEZuM8g5gWciYzvfroseCIWQjpqc7CktLeZaYaBRgAa9ds7m3cinZNqm08JwB24d2+1+G+vQrLMKHH35IpcuprFKzHtFKxaqRO2QYOkb/fZNfgW7xAUFtLB8ex0dyAAAJ7GlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNC40LjAtRXhpdjIiPgogPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iCiAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIKICAgZXhpZjpQaXhlbFhEaW1lbnNpb249IjU5NiIKICAgZXhpZjpQaXhlbFlEaW1lbnNpb249IjMyMiIKICAgdGlmZjpJbWFnZVdpZHRoPSIxIgogICB0aWZmOkltYWdlSGVpZ2h0PSIzMjIiLz4KIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAg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&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Outgoing plain HTTP connections&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://zato.io/docs/progguide/outconn/overview.html&quot;&gt;An outgoing connection&lt;/a&gt; encapsulates information that is to do with particularities of a given transport method. This is everything that a service shouldn&amp;#8217;t be concerned with in its own code, such as endpoints, queues, URLs, authentication and so on. Zato deals with it itself, you just need to focus on your own functionality.&lt;/p&gt;
&lt;p&gt;&lt;img class=&quot;aligncenter&quot; src=&quot;data:;base64,iVBORw0KGgoAAAANSUhEUgAAAgwAAAFNCAIAAADjCKAMAAAAinpUWHRSYXcgcHJvZmlsZSB0eXBlIGV4aWYAAHjaVY7ZDcQwCET/qSIlcBlMOSsnkbaDLT9Y5Ni8DxiN0Ayw/b47LBNCBm3eLcww0dDgT4qOhSASI82dszi3UCp+bBAuYdEd9TnU079oYt12V3drNmxwpvMmJJwzi2Cm4nwj/loHVoy8fV3vi/riAEsYLHshE9HpAAAJ7GlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNC40LjAtRXhpdjIiPgogPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iCiAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIKICAgZXhpZjpQaXhlbFhEaW1lbnNpb249IjUyNCIKICAgZXhpZjpQaXhlbFlEaW1lbnNpb249IjMzMyIKICAgdGlmZjpJbWFnZVdpZHRoPSIxIgogICB0aWZmOkltYWdlSGVpZ2h0PSIzMzMiLz4KIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAg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&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Yahoo! Finance&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;data:;base64,iVBORw0KGgoAAAANSUhEUgAAAmAAAAEZCAIAAAC/zA4TAAAAinpUWHRSYXcgcHJvZmlsZSB0eXBlIGV4aWYAAHjaVY7LDQNBCEPvVJES+I0ZyolWu1I6SPlhxCajvANYFjKm8/266LEQVvIREwlw4empzxKTG2MWZVm7ZnNvk1K6bTJtgZzBvg/99r8Mw8QVHoGBA4dWup4mpjXrEa1UXjVyh1S9jrF/X/JXoFt8AEEzLCBEztw3AAAJ7GlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNC40LjAtRXhpdjIiPgogPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iCiAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIKICAgZXhpZjpQaXhlbFhEaW1lbnNpb249IjYwOCIKICAgZXhpZjpQaXhlbFlEaW1lbnNpb249IjI4MSIKICAgdGlmZjpJbWFnZVdpZHRoPSIxIgogICB0aWZmOkltYWdlSGVpZ2h0PSIyODEiLz4KIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAKPD94cGFja2V0IGVuZD0idyI/Pg72Xp8AAAADc0JJVAgICNvhT+AAACAASURBVHja7N13XBP3Gwfw5y6XBSSEsKeCA8WtuHDvPXDP1r1HtXYobmutVv25B3W37lX3qqO4FygqDlT2JhDIvtz4/RFFRrC2VSv4vP/gdRx33xzfS/LJ870RQqPRAEIIIYQKIrELEEIIIQxIhBBCCAMSIYQQwoBECCGEMCARQgghDEiEEELoo6P+1tI8z/+t+QghhNB/iCCIvzX/7wVk/vDLm7Y6EyGEEPqUM9JqLhYXltS7RKNlguf5vIniwhIhhBD6NAPSMpH3M2/CkmJFY5J6ezrmD8VCsI5ECCFUsmpHogie5/NP/HVAFg1FjuMKBaRlTtGCEiGEEPp0AjLvJ0mShdLRMidv4UIZSb09HS0pyHFc/on8vxatJjEpEUIIfQqFY/6q0ZKFZD6WRMybXzQjqbenY14WsizLsizHcXkTeX8qbtAVIYQQ+m9rx/zFooVAIBAIBJYJS2xZ0rFoRlqvIAsViyzLMgxj+ckwDMdxll+LxiRmJEIIoU8qHfNHI0VRJElSFEVRlCW8LDFpkZeRVirIQoceLeFnCUWz2Vxo4i0ZiRBCCP23GWk1HS2EQiHLshRFWWKLoigoeDqrpYgsdog1b2TVEoo0TVt+0jTNMIzlZ15BWXSsFSGEEPpv0zEvIPOiUSQSWX6KRCKO4/Ivz3FcodNZrQ+x5h9ZzctFk8lkMpnyJvJXk3kZCTjEihBC6L8OSHh92mpeOgqFQoqixGKxWCy2DH/mpVX+ayLzpsHqSTp5LOfjWILQZDJt2bIF+x0hhFBJ16NHj7zRVMvoqyVK8+KvcAVZ9DLHvAOQlqoRAO7evYs9ixBCqOSqU6eOXq/Pn44WHMflz0h4+1mshYZYsVsRQgiVAgaDIS8aKYrK+1noNJpih1gtAZlXRFoqSIQQQqgUBKQlFIVCoeU0mryjkvkzkiyUjlDwOshCQ6wIIYRQSWc0GvNOOy16OUZeGpJFK0gAyLuTXN7NARiGwT5FCCFUagKy0DX9ltSDfNdikEXXLHQnnbwjkdinCCGESgGTyWQ2my1XKha9403eYmRx6xcdaMU+RQghVApYvY6/6EX8ZNFQhCJ3m7NkJPYpQgihUqBQOha9o3jhY5BFw7NQRmKfIoQQKgWsfi1V0QQs9hhk0fsGYJ8ihBAqHQFZ9C7iRW8nTr69FbwFOUIIoVKmaDRaXYx8ezpCvtFYhBBCqBQoerjRasyRf5mOmJEIIYRKX0AWSse/OIsVfQyiMoO3nVzR3J4oNJ/y6rPp5Np2jrhLEELoU/De340FiipdJy3evP/kuXPnzp0+uGXxVz1qKAT/tlWh94CtJ1e1VpSW8ODpxAdPswpeOcOpw3eu2njs2uNM8+fdOQghVAoDklQETV2/YoTfs1/Gtq7q61WmavvJO1MqNnU36cz5SleCEgmIfxAq5qSHT1Sl94Y+nPb5xRM3tEoXOwF2DkII/eeo99mY2H/Q5LbEgQHdxp+jXbw9/fxshOq722ZcUKVrHJrN3hna+OqemKrN/F1sklaPmhXp3X38hH7NKiqFtCrq7OalG/5IMPEgrTjg2yld6vg5SUla9fj81mVrz8aZJLWn/jjYS0QtuRquJ5gX26bNOpluU7nbuKKr52e1qYKLiMoMDl3X6M+d0VWbBjg7OggTzqxY8MvNbA6AlBVtn5Y1Wvjr2Phvhm54ZhaWH7l1fR9m2/CRO+PN4sqTtv+oXD547i1twdLOueHgKaO6BXrZ8NqEm4fX/m/n3Wz2VVeV7/fzxMndKyshM/zQiiXbbqlYyqvPhtBm+wdPPKMqZgNMPAApr9J97NjezfydhJwh7cGh+Qsjgwt3TiqLT2yEEPqUKkiRV8P6yvRjoRc1TuXLeznaiSmSFAilciev8r4OFIDIrwnx67huzWvX7L4luf7sJYPlp75qUs7No8aI0z4T5vfxAA4IYDOurxrSuIK7a5km30fUmDy9nT3HGcKXf7c5xnRnSkP/iv7VOi0690LSbq611fOz3pSVrS4XRG8f17NV/Rot5me0+6q3G23mKfdOVtpntU/D4uyru6nT9KRLrTqyrGz7avYZ6UbKLbCW7fPfj157kcMWSN++C+d0Mv46sJqXe/luG0zd589saQ+WhBYFjGj6cG7n6mXKt1mi6jBrWiM7y9Fh3pz88EmmGaxvAAeUZ7cFS4Y4Xfq+ZXk3Z89q3WbtuxFxfMG3BTrnSSaNJ1QhhNAnFZCkrbMtZL/MECidbKyNErIvNq869USv9Ktcq934MdWSNk5ddCrN1s/fU3tpx01ZuxZilY41vDh36m4y71Q+oII8/uSBWK8mXuoMAw8CkZAQCUlbn4AaNWrUbta7b4C11fPnH19cU4UwTzetP//CqCxXwTE9PEle08+UbvJo3dNa+5qsh1fTvDsGUnppQEPlg7UrIn26VScM8uoNXZLOXM4QO+T/t4Xerdv5xG74bsVVvXO5skTEjn2pVXrWYbKNPABwidvm/nIxWeztI3y060BajV5VjOp81a3Q0/oGmD3bBPsnb5g890i8pGxAgK9Mn2vjKBMW6JxqFZxEBD6xEULo33qfQ6ycLkMLVT0cRCLG6js0m5uUSzm7yoUEpfRxoMqNOnT/S5IiCQCClEg5vVSjyvao2Gn0mL5Nq7jbkSwLEpk4wZHSFDiCCQDFrp7laGv7OvIJsWfzIVaacpEWzA9Or9KLXNxlFMGzZg5EMoHeLPcupv3Ue3dy+nWranu8sVfS6VNniV4Tg/1trzbyyrx0PkHgUC5/b1JyNxmTeC+ZcvdxlAoIszoph1f62uRkGwGAUUWnE85ezjYCwpybogHHspLsU+a//AdzbDzkTPydOMK9jJtMRAAAJZHJhJiHCCH0aQcknXj9tqp/t/7VNm/XArx51yYIyAs4SkQRAGxOcg4duaRlq98yyNeBxnMs4di886xpTSK/Gzj80IMMPeE94ty1IQzHsTwA8ADEqzaLW11e7k2QUh6dim2qMEJAka83lwDg6ezi2jfF33jITO/bhS6nujgzPtP5jn5E3062FYy3Fz3h7H0KJC+Tm6ahqvs62jynCAAQKn0dSE1ilpEW8QCUYwU3m+sEAQBCBx8FkZusNtKOedtW3D/o3DYxh2pQwcUumioYivk6ByGE0CcXkGB6+tuqk/Xn/baaXP7bn5GxKrONe6WgTj1rPFz6042CURp/9tCT7jOXTsgJvZGo4Si5R+Xq3lm3r6c7yCWgigh7wrhWrOHVYMz4qmL6CAE8sPosLThV8ZZcNr1l9UTTm4cghTLrTb1L0sedPfQk2Gr7xpdXo21nf902ceeGF7yEvPNQsmJqC8PlEZEmmaO4QESZE86fje85ZU7Xx+se6KTlO43u4fps/e+xnCiAACC9vgjp8+eyOzpxmbbDg12frjmVCEJ/4q/6JzH7wpEnfaf+PCR+5eVELSnzrlTW+Dgys0DnIIQQ+vQCErjsaytHj7zTY9CABV/OcaCAy427fWrn+tP3XvCNCizIJB2dMzW3/9D5O2d7SYHWpETfOrTkj5xc09GVe8pPPHt7mCrHaEi4cyOGrm7mAYDLvrH999bTjj8dJTQ9WTdqymGrqxtF9hIyL2OKaepdFLN5RpG9RPv4SgzUdbt6KMIk9+bjrkSZOjaK3H9VbavwKnQ8l47ZM3M2M2rCr6d9bXl94s19X325/LHAKUAMAHTUlqtV5uycU92JVN078O3w1dFC5+rCd9gA+H3214Yvhi/eO8NZyOlT7x+YNeWqkSnUOcn41WQIIfSvERqN5lW4cRzHcSzLMgxD07TBYDAYDBqNRqPRqNVqtVp97969u3fvvkObPKPNSE7OyNYaGR4ISiJXurq5O9oJjMmPnmg8qvkrX6cyq8tITEzN0tIcEJTYVu7sXcbVhmByk1/GZRpJkUggkMilutRcxyoBbmKCZ3KTXsSma808aesd4O8i5qytThbYkGKayr+MocBWMVlPHyTLK1dxlxDWN48E4OnMpw/ijI4Vq5eVkcDmvIh8rrYpW93fUWilL2h1clxieq6JA4HE3sWrjLu9kADekPzocY6jp1Sdlq038yKZi7evp7PfwI0bApfV7PynS0UnYbH9QwLPaNMTEtKy9WaeEIjsXPzKe9gShTsHB1wRQsiaOnXq2NnZKZVKpVKpUCgUCoVMJpPJZFKpVCqVikQiiqIEAgFJkh8iINE/QTo0nrX5q5yh1ce89K1kLWsRQgh9zICksLM+BeKAyVv/1858eekXNwxiLwF2CEII/eeKDUiCIPL/JPAkyQ/JFLWyX6OvHz1VEQ5e5W3xpqoIIfQBEfkUyrt3CshCSxf6HhD89qv3v8NsvavW9sbeRQihDxqNee+w+d9qrRaBbwtIy8p5MYvfCokQQqhEswRZ/sFRy7TVdKOKqz0LJWpxqYsQQgiVrIwkSbLQoUOrxxMpqwVmXgQWCti3ZCSmJkIIoU9K0YFTS7FHkiRJkoUyDooMulJFa8f85WfeT5IkOY6zrIylJEIIoRJRLBYKS57nOY6zVJB5GZn/pyUBLb9SVpsr9NOydKGALBSWCCGE0CdbSubVfizLWtIxryYsLtf++jKPPJaAzBtoxWoSIYTQJ56LhRLNEpCvbpRj7WKP/KhC5WP+mC30ACzL5mUk5DskiRmJEELo009HywTDMHnHIMHa6ah5ZSVVXBFq+dXShKWt/AH5llISIYQQ+nQystCAqCUgLQGXl3H5gy8vB6niIteC47i8ypJlWcvhzbyfhUpJrCMRQgh9OrUjFLxw0RKKDMPkv74/L+mKrm79JJ1CTVuWViqVTZo0wa5HCCFU0hO06L0CiubgX9+sPH9kjho1CnsWIYRQyRUaGgrvdvYMabUyxVFThBBCpZXVdMwLvryCkrS6WqF6M/995hBCCKGSHpD5b8patES0EpCFls6LU8t3KWOfIoQQKgW4fKDIoGleTUharRQLlZ/4ZZAIIYRKU0DmT7dCkZdXK1r5bt6iV3rgF10hhBAqZRWkJdqKu8YDrJ6kU3RYNi9sEUIIoVITkEXTMX8CFj4Gmf8uO/nn4zFIhBBCpYPlxnBFa7+8BCx8DLLo14IUnY8QQgiVdMV9vXGh7CPfsmZxN5NDCCGESq5CJ68WF3bkW5rIf3oPBiRCCKFSU0EW+mn1Yg3yL5soWngihBBCJT0j//JgIvmOAYsVJEIIoVKTju/ypY0k9hRCCCFUFIVdUCLodLrLly9jPyCEPnPt27fHgESFhYSEYCcghD5nYWFhH/PhcIgVIYQQwoBECCGEMCARQgghDEiEEEIIAxIhhBDCgEQIIYRKUUDS0eu6BgYGjTuR/up7snIvjGrcc0usGfv8X2PTDvd3InwnX87Ju+8Dn3P5Kz+h3+SwnKJ3PKKj5le0bXEk558+nP7meHfCc9JtQ6H5mvN9ZEQhzQ5m/9uHQwih0l9BEgBExKbDqQLB6/vdkTIvbwch3tX1XxK4dlu9/Qv9qoEz/lTzAAC8+tKMQRuk3+5d2MT+o/YuKWm5/VH8GwkHOikor96rd86ta4P7CSGEAVksce0pw6V7fvxDKyjwrs1lXVs5rkfLhoGBgUGdx6wMS2cBwBAxt0PXeTtWjO3YMDCw+aAll5Ljz/70ZZt6gYGthq+7m/uqDKVTLq4c17VJYGBgo66TNt7K+ly/xZl06vC/nSO5dYO+v5DNc1l/fPvFVuc5e2fWtQPtg82jGpeRUQRBCN0ajN0TSwMAAJN+bmbbMmKCoNwaTzmazAAAk3J6dmd/OUEQQrd6w0Lva/hiZpJCqQiEUqsfbEgbFy/vN7ycJQSTuH/iwLm39UBHza/i3uar4c0qerspZB6Npx5LYQB4K1tofUlgUs/O617FgSQIkUfjSfst/wqrury4dzXLzEbjdj4z4E2CEUIlMCBB7D9iRuOny0KjiYIRKanQZ+nZqOTU2Ivfu56c+78ImiQAgE6+cLvsjBNRL27+4HF6xqgZVwPmnX0WfWESsXfZaTUlADA9/WXinOuV55x/mZx47QffMyE/Xdd+rt8yQipb/bxzIrVpxLxTx6cP3+u3ePfXVaVgilreZ8KVJr/GGHlGff0rduvkBbd0AAB01DH90FMpmsQzQ7LXjlsUbqCfrewaHCqZGqYy6V9ubx05pc3okyqjtZmcQOYqE8lc7AR/fyvNqReu+P58Oy41LXw6u2Hsj+GG4raw6JJMwo4BPVdz4/7IoA3Rq8odGDJoWzzDxO/o23FRztDTaUb9y62Nro7uOPO2Hl/GCKGSF5AgcGw+4QvF4YUncgVkvvf22p1aBTgwqhSVpF6/9rJH13JkNgIAgUPb70Y38ST0wmptyxHCtt+MauzKGmSBLT1Sbqls5ULT04PHs5vMmtXLj1BnQrUBX3jcPRQrthV8phFJ2DdduOsramWnbnuqrvx1bAURAIjKjzv54MLsJkpWnZKksXWVapNzWAAAUa3v5/QJUNp5Nh7Uq4w6KkUbe3jLg4A5y0bUVIqk3u1mrhosOLb2z/tWZl7LsQSkq8zKbQk5/fEO9nkHIO06HFMX/ohUZ9ywQHsSxD7NWrqrn6TRxW5h4SWNGRc23fCY9NPIOo5CSZnglRcure3oBEkn1lx2nbRsfH1nsdSrXcjitqpdm+5hQiKEPoQPfi9WoW/whGY756562LBB3ruq5tG+5f/bc+V5lpkkOa2G7KinbBwJEMhc7Ql9do6JE4iElK2LPanP0dI8JRZwegMpEbLqxKyciCmNAiiO4wF4sxYqZXM2ElKrYz/PiJQ1mDqj3sqQunP6+lh2JMFlX181KmTr5WShd5Wa5Qx6rgzwAACUvbtcAABAUCIBzzB0Vpxa7OWnfFUVilwrOjF34uNfFp2ZouVtnJRyB6XU2teJipv9ci20qd2r32w95QBMgU9Ito62lo9GAiHJc3zxW1h4SSY7XsU7lXcSWuYpKtVVABjDX2TSLxZUlyx4MxrRJsMEgEc8EUIlLyCBkAeOGOI2eOGhspa3OjBFb5+5MXXQr3+ObeBuw0TOatgnVUCSrwpMjsk7rMjzLJs/+AjK3l3pUm7b3TX1xNybCpjOTCIAPtcDUQKKJEjq9eAnE7tt4ND9AbsenOpRVkLoLg8t2y75dc8UHIsWOvjYm26+zGZBJgAAU8rjDIGLj4+vvelOoZnuMoFA5uHubn2EVSDzKl+xovydt/dtW1jomanwcgDVS5UZXEQATPKJxRsyen3b1FshqTHt8Z2JZSkA4HSJLzMk3gp8HSOEPoCPcR0k5dVlYltV6NpII0EAAG/KpSU+tasqTemxEftW7os3mtl3yjeJf89ONsenLz4a/jQmLuZJ+Pm9vx4Pj0nRMHiaxuva3JitYUQOzgoRYc64unrW3kwjbeaKKeyHVIma/822SLXZkHB24Vc7zR1GN6lhZWYDOWe2azWijZzhPuoWki6tRtRPWj1rx4McxhB3fN6ExReMYol3l1G1ny+ctjkii2FzH2waWKNqv92JDO55hFAJDUggbGsOGVHNDEAKCABJwNDJTZ5OaNi4c79hIRcVge4S6h0PI0oCRq9d2Cjqh95N6wXWb90/ZHekTmgjFuBlI6+JKoxc/Z3vvjYOYpln43kZ/eY3lSWGJ5qsLuo/5ci+ITmLghxENuWHXKyx/NzmLs4SazNJc/yBGeNCDiWYP+4WUj5D9hwcY1jcUCG0rTYtYdCevcPLUkK/0YcOjzOvaOEopOwb/KQfuf/AmHJC3PMIoQ+RXRqN5tVne47jOI5lWYZhaJo2GAwGg0Gj0Wg0GrVarVar7927N2rUqL/Ttkjp5SnOikvRcQBAUHJ3bycJk52QmG0Gys7J1dGGZBmOpY2s1I7IiE8zip19nNnUxCwTD0DauPs46BOTcxgeCEru4WWrjk/RcQAEZevgpJTbCEngWdqgycrI1rOlvobU6XRNmzbF5ytC6HMWFhZma2v7LxsJDQ21s7NTKpVKpVKhUCgUCplMJpPJpFKpVCoViUQURQkEApIkP+QxSJ7OSoh58xuTmxyT+/o3RpuRpH2zqAoAAIwZcQmv53D6lFj9m1WTYnPzftFlpeqy8JmCEELoQ8J7sSKEEEIYkAghhBAGJEIIIYQBiRBCCL1PFHZBiVC2bNn4+HjsB4QQwoBEBWRkZGAnIIQ+c//+Go+/BYdYEUIIIQxIhBBCCAMSIYQQwoBECCGEMCARQgghDEiEEEIIAxIhhBDCgEQIIYQwIBFCCCEMyH/H+HBx5y5LHplw9yCEECqlAckm7x0cGNhkWlgu/9ZEjFzYsfObRBR6tBk7oVegr6OYwD2EEELoP/Fh78VqTjx78IWDr+TusRiqbW3WyL5lWULq5u0ozlCZeBAoa3fuKKU0Oj3uoHyfZXLSpafWkanPgeOK/I3k3Cvo248zkML05499ajXE7kIIoU85IOnYE7+nVP16S7Mtw3+5YtrUGFgWAOik82sXrjp8K0kvkPu1nrJiXsu4ud8cTldBcLXfKUmVqVtXtE7/udd0YvHu3jeGDr078tCatkoSAPQRC3pO5xceml2bSrm4fsH/DtxKNog9gr6YOXdkPeVncCxVeGq9g4Ry6vQFQVEEAA9AAPA8TwDBcYwq5on59pHT9164lKuMAYkQQu+hLPmAbZueHz2eUXlAlyZd2jtFbD6vEwsIAGPU+gmzr/h9dzI6JSPh1raJzcu7ujWdt7SXm9fIo49jYh4dnRDoYScAIKSufjU7dXF7fOKlUCoAAH3U4StEyyHtKstif5k453rlOedfJide+8H3TMhP17XEZzAWa0567lihGpcczcY/YuIesXFRbFwUlxDFxj/islNFDTqfuHJHJLWp3rk/Pq0RQuiTDkj9o4Nn1FUHtvMgnVu0c3245WS2WEAYnx46mdNs/oKBlYXq5BStjbuC0dEc8CzH0iyTkxwXGxufqn01FEt5tuziEbn1ikkkAO2DwzeEbQYG2mTe2X08u8msWb38CHUmVBvwhcfdQ7FiW0Gpj0ia5cBs4m3lHCnkGIZnzCxj5hiGF9lovapuCd3AsGyDQRMEQiE+rRFC6N/7YEOsvOb+gQva6vPauZk1iZ6t23ls3vF7et9BRE6y3iHIz0afmaYz8wDA0kYWijuDh/Jo0c17044/ja3qRB66KW2/q45Em5CWkJUTMaVRAMVxPABv1kKlbM5GQmp1bOkOSJ4gxDYpUleZi9jm5R3eqAMewE6hK1N9y2+7ctQ5zSuXldo74HMaIYQ+6YDkc+/uD9PQxm/reM8AnufNJo7buS9xyBCFh23OizQ9bV8oFAngrcSkwK1pt7Lrf72QSJ24Lev0bQ2hLouzd1e6lNt2d009MfemDqYzkyzH5UovM0+A0n3/tl0EQQzt00P6/BYIKH3ZGlt37lWpVD179mRf3MMnNEIIvS8faIiVy7q+9wbZbNX1yHsR4REREffunZtVNf3Arhjbaj06yP8I+fnPFBPH0VnR957lcACkrZNEExunKRpwpEuT7uWerpy/6raya9+qlE5Di/17drI5Pn3x0fCnMXExT8LP7/31eHhMiobhS/muojngGDMAr1Kptu47qC8XqPers3X3fpVKFVS/fnU3+6yYp/iERgihTzsguYywffflXad0rygnaJPJZDKxymaD62uP7ngirT1u9fygh7O7BdWr17RXyIHntEgsEPt0/rJxwtSqftWajDiUWuAiBtIpKLhSypVoz779K1NarZkHScDotQsbRf3Qu2m9wPqt+4fsjtQJbcSl/xikmSe41Njgzp0kYrFKlbVt/+Ftew+oVFnl/Hxb1a/JPL5p5vGyUYQQem8IjUbzKtQ4juM4lmUZhqFp2mAwGAwGjUaj0WjUarVarb53796oUaPeuWFK5uGtNKXEZxrzSjuBrbuPE5uakG4U2CqdHOVSiuBZWpeVlqEx84RQ5uzmZCckeGNGQopW4OjtyqclqEw8AAhk7j7OUiYrIVFt5l81b+vgpJTbCEngWdqgycrI1rOlu4aM/eHLDjUq8M5eqXZeO/cdMJpMAKB0cBg5uL8g8iLJ0KfuR5eduR2f0wgh9BahoaF2dnZKpVKpVCoUCoVCIZPJZDKZVCqVSqUikYiiKIFAQJLkhztJh9EkxWgKzmN1KTE6SxrrVCk6VcEVzJr0BE3661+ZzPj4NytqUgq1xTO6rFRd1ue0U80EYTbTkPzSzZUd2KfXkZOnAaBvz+6C6FucQcsCMHhnXYQQen8o7IKSQuRZ4Wl6hr+LjE+PcydgXJ8uAMClx3DZ6TwPzzJzRN4VsJcQQggD8rPj3n103OHQhw9f8DwHkABwJe9PBEHa+VTw7jYCewkhhDAgP78KUuHkN3QG9gNCCH0ceNQKIYQQwoBECCGEMCARQgghDEiEEEIIAxIhhBDCgEQIIYQ+PrzMo2TQ6XSXL1/GfkAIfebat2+PAYkKCwkJwU5ACH3OwsLCPubD4RArQgghhAGJEEIIYUAihBBCGJAIIYQQBiQqBpsbF5vDFp1GCCH0yQQkHb2ua9Dws2r+9YzcC6OCOq98Sr9zC8bIhR07L3lkwp1kpXej5le0bXEkp+Bc/c2vardcZuni/NPvxBz9c73AH5/QhafzdkfEN76KLqdz38v2G+9952ff6dQ/bszqxvDqyzOCnAiCsO9x9Lq1/ikp+xEh9Gn4kJd5EEA5+njY6VK0r+sYws7D21GcrjLx79qE1M3bUZzx7it83vWjNi2bdi06/S6YpLO/0+3W+4oKTZcgxmf7f70fsOHhgd4+9oJE8c5m1WzwOYEQ+gQryLfh9c8OzRnYul5gYL1WA2YfeKbnAdj0S8tHdgyqG1i3XqN2Q1dHqa7P/eZwesr24Go1G3WcdDydw31VONLSz81sW0ZMEJRb4ylHk41xm7r32p+VuKZpueBDEb/kTR/NMkXNr+LSZFivepUCAsr71e6/6m4uB2CKDPET+C94bCkT2bQLB3Kad68gLjhNxx2a8bsE7QAAIABJREFU0sxLTBCygP4bHuksH1OYlNOzO/vLCYIQutUbFnpfY3wwq4Ks5Z50DoBL292cIgI3xLMAfPaxrk5V5hyaWcW9zVfDm1X0dlPIPBpPPZbCFPg3CrfGA/DaB5tHNS4jowiCELo1GLsnloZiNuZNTRkS1Hp1ov7ypMYt5z8yJO2fOHDubT3QUfOtPLq19q0vCUzq2XndqziQBCHyaDxpfywNAMCqLi/uXc0ys9G4nc8M+beFzz7VW+nY7+yrsjD3/CA373HX9cX8U0X2I1NMn1ifWaAnrW2qlbXoqPlVPdtPHtLEv4yr3L5iz/+d3DGpeSVvR1v7gME7XtL4ykLovwxI/b0VXy1/2WLtnfjkx7uCk1dO3fDUbHr0y5LzPnMvx2Zkpj49u3xwncqdFi3r5eY18ujjmJhHRycEesgoAndXfnTUMf3QUymaxDNDsteOWxTpMuL3A72VXhPCXhzuUWtk3nRXJQFgzrgaUW3NrUdRj8O+4xZ1n3ophxeWHbTx0No+XhQAAJd5eV9qUK8AaYFp+tnqnoMP+i19pDW+CA2MuphhAgD62cquwaGSqWEqk/7l9taRU9qMPu/QuZPy/v5wDYD2/uFIFh4fuavmQRux57ayexdfkTn1whXfn2/HpaaFT2c3jP0x3PDmnyja2kmVIWp5nwlXmvwaY+QZ9fWv2K2TF9zSWd2YNyS1Fl49N87Tse+phIcrGuQvHYs+usla+1aXZBJ2DOi5mhv3RwZtiF5V7sCQQdviGSZ+R9+Oi3KGnk4z6l9ubXR1dMeZt/X5Rj0cGo3pSJ7bdF0NAJBz/Zez0l7DatoU96CF92O4wWqfGK3NzP+p0eqm0sWsRSefveK/6m5sytP1vienBm/yWxMen/58o++x6Uvu6vGlhdDHCEj67ujKZavWbdCgQYMGDdp8G275cGp4evQS3XLmd+3dzVl6t87jWtFnjqbb2IhJQ1r8y+fPXsRn8kolk6NjOJZjaZbJSY6LjY1P1TA4zFqAqNb3c/oEKO08Gw/qVUYdlfK2g7WErNXMCXXlBAi9uk7tAb+H3tWR8spturX2l5EAwGdf3x1bp0912wLT5tjDmx9WmjGvd3lbsUvjKUuGuIsAzLGHtzwImLNsRE2lSOrdbuaqwYJjayM8e7WW3Po9Sm94fDTCa/ggjwdHHun1jw5ckXYMriAGENcZNyzQngSxT7OW7uonaXlVitXWrhnKjzv54MLsJkpWnZKksXWVapNzjNY25t0UeXSRlfZZa0saMy5suuEx6aeRdRyFkjLBKy9cWtvRCZJOrLnsOmnZ+PrOYqlXu5DFbVW7Nt3LHyvy+qO6is5vuq7m+ewroeflfb+sKoViH7TwftRa65M/71vrqHzHLjlrm8rFFreWqPboQdXtCFJZvb6npM7oAVVsCIGyaqCLJkZlxpcWQh8jIIVVf7xwNyI8PDw8PPzupWW1RQIBAcDmphrs/X1EuqwcI8tTDt5yXUK2rP6kJRPKXJkZ3Lhei75fb7iSrDfhCZhvR9m7ywUAAAQlEvDMWz8/UPZeLhJLBS6Qu9vokzKM+RfPvb37SZV+dWQFp82qmGzKzUchsOSxq7+LEMCcFacWe/kpBa9S2rWiE5Oewlfp19h86dTjp+cuU+2+/KIJcf3MowdHzvOteleWAoDA1tHW8kwTCEmee/PQ1lvTmbOvr+ofIBfJ/ZoMWnDkhZ7jgba2Me+myKMTXNH2eWtLMtnxKt6pvJPloQSKSnVreNkwqheZ9IsF1SUEQRAEoehwWK2OLVjP2gWO7GFzcdPVbFXYxj+VAwdVlkDxD1p4P9LW+iQ+/qWVjtK+eY1Y31Sr3atlASiZi0wAAARJkaTYTkwAAEEKCB4/hSL0kQKSEDu6O0kIjuM4jud5AjiWBxDI3aS5sSqjmeUBwKyKy5G62YtFDlV7fL/+9IOYRweHwZ45oS9AAEAAvmDf1r+FBp0JAMLaNACjjk16ddDOmPRIZVvWTZrvr9qIPffL96uvIApOCx39lExKTDbzKstisxgAoYOPvSnxZfart2ZTyuMMgYu7TFFnQN2s4wcPHVfX7lCjTvcaWcd37Tiqa9q/uu3bP0JZa81Z9evAofvLLH2gNWbFhB+b00BO8LzVjflnmNhtRdu3/rlC4eUAqpeviiom+cTC2dueMgpvhaTGqhgzz/M8z7PahOjHu9orCqxoU2NYH3nY1jNntlx3+7J/RfHbH7TgfrTaJz4+vta6XfD2TWWt7yyBtScPQujjBiQAAM8yr7z+xCz179JMeGb+L/c1HJsTuWvNRUHLfjXg2dkz4fEqVXpGjpEQUgKBzNlZ6STRxMZpMCLfOTCFNqQm5klMup4rMA3Aay/NnHc0zmBMOrtw2hFp79G1bbmcR6cOnnms4UD/YN9Nz76NHQmAAtNC355jA6N/nL7riYZW3V7//aYEE4DQN3hIlaj532yLVJsNCWcXfrXT3GF0AzmhaDCgevTSn5/4d6sms68TXOHxynVJ9QfWlv3FGIO11uqJsjWMyMFZISLMGVdXz9qbaaTNAmsbA8DlRp0+eDoq9++cw8UZrbRvtQHSpdWI+kmrZ+14kMMY4o7Pm7D4glEs8e4yqvbzhdM2R2QxbO6DTQNrVO23O5EpuCXSql8OUP4RMvOy95De5UR/60Gt9kmTGla7/c2DWt1UqfWdha8UhD6RgLTCptaUFVN9jg1vWrd+m68ueE/ZsqiVTJv+8PcfBrdqULdu435rNT0WTg+0EZbp8mXjhKlV/ao1GXEoFc9i/WvSgH493c99WbXDLzHm/NMAICxXP2t+TRtpmcF/1l1z6udGMjDH7RrfZ9KBRMb4+GCYY69mLiQA5J8GEJYbc+DAUNWcWnKxZ98/KvXwswEAkf+UI/uG5CwKchDZlB9yscbyc5u7OJNAOjXpX9Vs9O1S14EQODfq5AfioEH17P9qk6215uk/cvV3vvvaOIhlno3nZfSb31SWGJ7IWdsYMCfsm9hnwp74v3PgTFTBWvtWD+FSPkP2HBxjWNxQIbStNi1h0J69w8tSQr/Rhw6PM69o4Sik7Bv8pB+5/8CYcsJCWyKuNHCQa0ys79CevsK/+aBWe1hitdvzPajVTS1mZyGE3q3o0Gg0rz5XcxzHcSzLMgxD07TBYDAYDBqNRqPRqNVqtVp97969UaNG/Z22RUovT0l2fPLrQyWkrUcZR1NygsrEAymWOzk72IoEBEtr1RmZOSZe7ODmYi8RkgTPm405qvRsPQtCmbObk52Q4I0ZCSmf8Xk6Op2uadOm/2xdOmp+1boXf06+2M0en/AfDZe6s1XVdQMiwkZ6C7A3EHo/wsLCbG1t/2UjoaGhdnZ2SqVSqVQqFAqFQiGTyWQymVQqlUqlIpGIoiiBQECS5Ie8UQBPZyXEFHjP0CXH6F5Pm3LTEwveCcWUnZKQXagNsyY9QZOOTwtUkrJRExf9PGL9wkf15nT1xHREqMTCL0xG6D0zRi1r32AdG7z+QndXHM9ECAMSfbpEAbOf6WZjP3w0NvVXxfCrsB8QKunwAy5CCCGEAYkQQgi9GxxiLRnKli0bHx+P/YAQQhiQqICMjAzsBITQZ+7fX+Pxt+AQK0IIIYQBiRBCCGFAIoQQQhiQCCGEEAYkQgghhAGJEEIIYUAihBBCnwS8DrJk0Ol0ly9fxn5ACH3m2rdvjwGJCgsJCcFOQAh9zsLCwj7mw+EQK0IIIYQBiRBCCGFAIoQQQhiQCCGEEAbkP2CImNsheNUzGnf5P8DmxsXmsNgPCCEMyPdBf2Naszbz7xle/87Eb+8dNPhQOgdAR6/rGvha027jVl5KYwAs84OGn1Xz72UDjJELO3Ze8siUbxZh4+6lFBOlZd+Zo3+uF/jjkwKZb4z4xlfR5XRusQv8k11586vaLZc9xc8WCCEMyPeGkLj5OEvyBZJA6e0howgAQlR73ZO09NS4e7/20e+atSyCFhAAAARQjj4edoL3tQFSN2/H0pOIBTFJZ3+n23X2Ff3jBd61ftSmZWM6IoQwID8WQkAyWSmZrFezNr50bCyvsPnrVDREzO3Q6ftV88cM6t+zU4e+0/c90/MAAFzWtZXjerRsGBgYGNR5zMqwdBZ01+d+czg9ZXtwtZqNOk46ns4BALBZV5cNadcwMDCo27Q90Qa+RO85Nu3CgZzm3SuIAei4Q1OaeYkJQhbQf8MjHW9tganNvW2EYkXlnt9PCHDqcjrXeO87P/tOp3IL1Z1MyunZnf3lBEEI3eoNC72vMcdt6t5rf1bimqblgo9m8cCqLi/uXc2BJAiRR6NxO58ZeABj9I6R9T1tBQRhU6b5VwfiiqYpk3p2XvcqlrUaT9ofS4O1tfjM37sovMbd0AMAAJe+t619+Rn3TfgqRQh9XgFpeQ80poUfOxEnq1rLXSoSvEulZ0q7mtB8xdE/rt0+MZHbNH1HPEcAAEgq9Fl6Nio5Nfbi964n5/4vgpYFzV3ay81r5NHHMTGPjk4I9JAJgE46fkQ8/sCDuKjdHV+uXX7DSJXg2pLLvLwvNahXgBToZ6t7Dj7ot/SR1vgiNDDqYoapyAKreg4+VGHVU60+dnu9a1sea4trlH62smtwqGRqmMqkf7m9deSUNqPP2g37/UBvpdeEsBeHuyrZ+B19Oy7KGXo6zah/ubXR1dEdZ97WZZ2ePOlC413xNKePXOCwa0LI5dxC8ZiwY0DP1dy4PzJoQ/SqcgeGDNoWb7ayFuHYfHxb45GtEToA4NLObrzpOWRwZTG+ShFCn1VA0ndHV/SsVKdRx7FbqVGbl7aW0UbmXSo6gX2r8b0q2xozM8jafRpoT53OthETpLJ2p1YBDowqRSWp16+97NG1HJmNgGc5lmaZnOS42Nj4VA0LAoe2Mya0LktpTR7NmjnGh+fa2ZXYiOSzr++OrdOnui2YYw9vflhpxrze5W3FLo2nLBniLiq0QNzvWx9Vnj67q7dYoKg38eehHsWNuZpjD295EDBn2YiaSpHUu93MVYMFx9Zey8lXtSadWHPZddKy8fWdxVKvdiGL26p2bbpP29oLks5s2bQvLEHZ72Bqym+t5AWzPOPCphsek34aWcdRKCkTvPLCpbUdnSjKylqEotG4ztzxreFaYFNOb7zrO6JfeRG+SBFCpS0gCZLguTeZx3MsB6SAeJVIojobo1WZyVHHQurG79t1LSY508C9S6sCO3cFqVfrzDxQMmeJJj5HbCfiNY/2zB7UOqhh42Yt2o3enZSbpadsit5ETyBzU5C67BwDywvFAkZroiQl9k57ubd3P6nSr44MwKyKyabcfBSWEWqRq7+LsOACjDoxl3LxtrcsIHYLcCuaOTzPA4A5K04t9vJTvhrsFrlWdGLSU7RvTl81q15k0i8WVJcQBEEQhKLDYbU6NkPcau2J/zXL2Dm5pb+jTZlWXx+MLzjGymTHq3in8k5Cy15QVKpbw8uGkFtdS1Z3dLDg5Ja76qQToQ8qje5ZVoivUYRQaQtIgdzNVh+XqOXy3ltj1ZSTiy0J/KvU5I2ZaXr3Lt+Pcjo2b2cy+W4n5jDql6k6M8cDgCkjTmPjZi+izM+3z9yY2mHNn1EvY14+OTbaRywUkCQJQOQ91ptqhskLbR6AKKkFpDZiz/3y/eorCACho5+SSYnJZizdnBWbxRRawKm8I5P8QvVqAVWMigEAgqQIxkhbdg+Tk5LLAAgdfOxNiS+zXyWiKeVxhsDFXUYBvOonSuGtkNRYFWPmeZ7neVabEP14V1thXDQdNP9YZLop+8mRL7XrRn5/tcAgLqXwcgDVS5XZ8ljJJxbO3vZUr7O+lm2t4X2kZzcd3bv5afWxXb3wXsEIodIXkGLfdq2dIn5aciZWY2b0yTd2rDrPNxpQx45lC2YW5dlxRGPV1rX3OSEBAMDTJpOJfoUpUlXyuj9/2hiRy7E593auvW7bumdlEcMac2mJT+2qSlN6bMS+lfvijWaWB9LOSaKJjdPwpXCv6R/su+nZt7EjAQBC355jA6N/nL7riYZW3V7//aYEU8EFKO9u4xu8/PHb7Q9zTNl3N04PjTMCgNC5kicbvuXQ4xxt4qWV845mswBC3+AhVaLmf7MtUm02JJxd+NVOc4fRDeSE0IbUxDyJSdeT3l1G1X6+cNrmiCyGzX2waWCNqv12x6edm9q+47TDMQaB3MPLUUzZOdsJALjcqNMHT0flckC6tBpRP2n1rB0PchhD3PF5ExZfMIpJldW1ACRVhwyU//713MeB4zq4C/AVihAqfQEJkoCxq39oFv1jn+YNGzQNnn217JQtq7s5GTWmQqFHKhoMDbY78/PxHJEAgA6fWM2vRv2goKCgoKDm393SF6rxRJ7dummW9mzasNXEcz5TN84Jkui0ZOWhk5s8ndCwced+w0IuKgLdJZSAAJFP5y8bJ0yt6letyYhDqVxp2mnGxwfDHHs1c7HsPGG5MQcODFXNqSUXe/b9o1IPP5tCC1Blhh049TW/vJmzzG/gKcc6ShEAkG7Bq5d2iPu+ukJWfVpMp8k17QBA5D/lyL4hOYuCHEQ25YdcrLH83OYuzqQ0oF9P93NfVu3wSwz4jT50eJx5RQtHIWXf4Cf9yP0HxviX+2Lbxs6PJ1ayIQXKlls9fzg4v44UwJywb2KfCXvizQCUz5A9B8cYFjdUCG2rTUsYtGfv8LISH6trAYDYf9CQMpnQbFxrF7zPE0LoP0RoNBrLFMdxHMexLMswDE3TBoPBYDBoNBqNRqNWq9Vq9b1790aNGvU3mxfaKZ2UcilFAM+adOrMzBwTBwCESOnlKcmOT351gIsQO3p7SHISkw0yLy+FMH/FmBKX9vrwpCFibo8FXvuuTvdmhPZyiQDMuqz0jBwTB0BQdk6ujjYky3AsbWSldkRGfJoBhDJnNyc7IcEbMxJStJSTjzObmphl4gEIkYOXuzAzPr1kXO2h0+maNm36PsI14pvKLZ6sjz/WXo7PfoRQyRIWFmZra/svGwkNDbWzs1MqlUqlUqFQKBQKmUwmk8mkUqlUKhWJRBRFCQQCkiQ/8DEe3qxVpWhVRefTWQkx+X83qeItv2clvMz6q0ZZQ1aGumCjPKPNSMp35OvVX82a9ARN+uuZTEZcwpstyE6Iw6cbQgihYuAgFkIIIWRFiTpLUFpr7umTzj5iNhV33D8lqfVzjBq7ASGESldAAgBvzDdMihBCCH0oOMSKEEIIYUAihBBC7wbvVFIylC1bNj4+HvsBIYQwIFEBGRkZ2AkIoc/cv78I8m/BIVaEEEIIAxIhhBDCgEQIIYQwIBFCCCEMSIQQQggDEiGEEMKARAghhD4JeB1kyaDT6S5fvoz9gFCJ0759e+wEDEj0YYWEhGAnIFSyhIWFYSeUXDjEihBCCGEFiRBC/4JOp/vLZaKjo2vWrIl9hRUkQgihAum4b98+7AesID8NxoeLe00nFh/4tooYdydC6CNITU0t7k+YjlhBvgsu69bmb/q2qhcYGFivaccBU9bfzeU+xOMIPdqMndAr0NeRj1zYsfOSRybcqQghhD7dCpLLujhv2nbjyNCrE1uUgYzHN85H2rs4SM05Bva9PgzDCZS1O3eUUhodAwCE1M3bUZyhMvG4axFCCH2KFSST/uAFU3nk+A4+oE7PZRVVWrUuL+J4AAA65eLKcV2bBAYGNuo6aeOtLA4AgE46/79x3ZoGBgbWb9kn5FgyA6C9PL75gN3JlkA13F/QsduKJzQAGCLmdug8Y93C0X26duz1Y0T2o8WdOs67EXdx1jeH01O2B1er2ajjpONJL7f2aTHuTNarolUfPr99hwXh+tK3A02RIX4EQbiPCdNYPhRo/xzsXjEk8lMopHNPdbJR9LugBf21UV5lJt4y4OsNlRrnz58vX9D58+exWzAg34nQI7C6JGLh1z9uP33nZZaJYxmTLldjZMH09JeJc65XnnP+ZXLitR98z4T8dF1LmKLWT5h9xe+7k9EpGQm3tk1sXt5VJiQAgJB7etoLCUubhNTdy1FMAIAp9UpM0LLj1yJuh/aoYE8BIXWt1HnRsl5uXiOPPo6JeXR0QsN6wb28nhx9KpAKAED74OAVqs3Q9pWdJUQpHAVwqNFctOu77THmT2zD7BqvuXF5cT0bfJmh0qdVq1YbN27M+3Xjxo2tWrXCbsGAfCeEvNGsHSv62tzaNndEj9ZBbYctOZNIA4Dx6cHj2U1mzerlR6gzodqALzzuHorl4g6fzGk2f8HAykJ1corWxl3B6GjurZHQZlK/avZ0ZmJiXKKaeTWXYzmWZpmc5LjY2PhMebNefk+2XdKLBZAbceCGtNPgQIk2t1SOvYqrTPip/fOF8/9UF/zv+NzwtYNqKgmCoFzrj9r2RF/on2czL/3QrZI9QRBCB78mEw4nMwDGF3snNytjR5GUvX/wkutqDgB4/ZPfxjfxFhMEYe/bZMxvMapTnRSV5kfRlpL1Yn8Xv2nhRgDQXhro6tX/p5k9qzmRRKXZt27Oa9d5aVTGmUEdfkmKX1PfhiBE1X+49+Cnqnb1N8S92m25fwxy9Rp1RYuvRVRiMxLTEQPyb0ek1Cuo/4zQU3dj4iOPTrQ/MXvW6SyCYNSJWTkXpjQKqF6vWZv2Hb9c8xJM2SZ9it4hwM9Gn5mlM/MAPEsbTexbokxg525P6NQa81uWIZ0b9670Yvu5XJHmzv67Dt0HVBdqtXTpPDZJOrVbMM3t4Le/RNP54jHn4ledZyYNPJluMibu6xg5udPM2wXGmPW3Zw1eCdNva836xKuhQyoQZl53c0b7sREd9sYZ2dxb33FL+06/ruVzL3/ddsyNRhsfqzUpV9f1sM/IYYrfFFPS/q2PK41bf+L8tiG+QgAAkLf77dRIT58JN/U8T0fOrFm575jKjzYciDEDAJ/159rTdgPGBtrhaxGV2IzEdMSA/Cd4sy47IzWd9mjVuxYV+0BvL5cq3JUuvX69G/UoKioqKupxdPzzY1/4OHnb5bxI09MFQpEQiAWc+dUsTp9rzPdHAgiOKVpjEsC/WYhUNuhdI/HXY09vHXzg2qtvAFVq8xEARBVHL+mR8vOss6q8XtHdDT1K9Fs0voGzSOzW7OtFXbX7t0bmT0jepDPqUqKfxqkFLgGth0/uXoa+s2YXM2T55AaOFGHj33daR/bCyZeqW2v20n1WzOzoZ2/nVrXDlMVTakrfUs2WnbTrt4Vje3do2cDPzvqzi/IJHl/nRejOZzRw6WdW/ek2fFgVCb4UUcnNSOwEDMi/x5x4cs2GI7dfpmtoszbp5p5tdzm/emXsJHb+PTvZHJ+++Gj405i4mCfh5/f+ejw81alLe/kfIT//mWLiODor+t6zHA5A7FXTJfXclVQGgE44u/N6LksQbzuCSNo5STSxcZq8ECTkdXrVTV/33dJIn349KxK5WnMpPreVUDSfPd331PdrHxtfxZ8xPdHgUM7RUsWB0NnPPjcuK3/tZ9vop+1fux8dVs1ZLPEKGrHpkVafGpseu6aVp1KpVCqV3p33ZbEavSY10ehU2e09XmUqcO84oXHa9m0PtUnH1twpP7Z/eRG+EhFCn01ACmwcpUknFg3v1CKoYfPgkLOyL9ZsHuLDG8ySgNFrFzaK+qF303qB9Vv3D9kdqRPa2Fcbt3p+0MPZ3YLq1WvaK+TAc1okFgi9gqd/QS1v16Jbv+E/R1eu6yQWvvUMG5FP5y8bJ0yt6letyYhDqRwAELIaPRtBdGbVEb3K8Ro9U7qv/RD6DVnSX70y5HgaBwBASFy8pNnRGa/O3KEzXuTIyigLXNZDeXRccCQyw6xPvjLX6+jEsb/nOHo6V/j2ckqWRY7e8HxVAycXd3Hm0zS6wNOGIkxa07tf10oQBM9wef1POree2Eaze+2hHese15wQ7IM3PEQIfYI+1FsTqaw/4sfm0xwd7GwkQhKAZ2lDbnqahuFB6Bo0Ylmbb5yUchshCTxLGzRZGSbPFhPWd57t5CiXUgTP0rqstAyTrPrQ1aenurrIRTzLMAYDbycyp4K01tzTJ519xKzlXhaSqt+dOOPkLeHThJ5dF/4+MNTNyU5I8MaMhBQNI3Iqq5Q1HNbBk8lNZEr7tZGEvNGM2VX8R58z+dUFANs6I7twPaavHnJgSm32+vLpx+z6nKuW74xSPufPBYufNv6ie8MKSg8PR6nUKHeoOzbY1H3cDw1+mdjch0iLuvHHHbvgkXVHd4XgqYv67P++mSLzxt7tDxt81byWc9LOHX8MVfilnFk57fcMdvzbs9vRT565+8LjrCpljEY7d2cJ4dBkfBdzq5Ezbdsd7uguwNchQugzCkgA4FlDdroh2+qfGF1Wqi6r0FyzTpWiUxWcxxmzU+Lz2lC9WoU3ZsQl5GvOlBkf/6oNTXqCJv31fG3kngNZDee1cDR9BvkIAFSZgUtGL2i4igcAIOxbrjyxcOywTi7fZ5POdYetPP5DXdv8eSp0kL3YMLDG6FQabMq2Gr9tWwdHe2r52bUzxk+u98NLLdh61u44YVUf0qHNmjMrpoweUmFhitmubJPBC9vaVJqw/uvz/boErLDxD/6qVwPFzr8obst9sWjo3kGBjiE2QSvuXZpcQQiyemP6um37rcWkFk4EvgxRSfLHH3/cvHkT++FzQGg0mldRxHEcx7EsyzAMTdMGg8FgMGg0Go1Go1ar1Wr1vXv3Ro0aVVL+MS7rzITuIRGKtvP2bB3pm5OYpmdL8n7S6XRNmzYtTc+83AtfVhpie/Dxuoa2+DJEJcaRI0feJR1//PFHy0RYWJitLT7FPy2hoaF2dnaWUy0UCoVCoZDJZDKZTCqVSqVSkUhEUZRAICBJstQe/SGV7dZd7enu4yJhdJmpBhafFJ8YecvtyfHYDaiE6datW7du3bAfPhOl+vQIVpsSgxegI4QQwoAsvcqWLRsfjwUXQghhQKKCMjIysBMQKnHwAGSJRmIXIIRkQdYrAAAMJ0lEQVQQQhiQCCGEEAYkQgghhAGJEEIIYUAihBBCGJAIIYQQBiRCCCH0KcDrIBFC6PN4u6coW1tbkiyRdRHP8zqdzmw2Y0AihBCG0/vMEqFQyPO8o6OjTCYTCErYd8yxLKvRaHQ6nVAo/JgZiQGJEEIf1scMp+KyxGw2Ozg4yOVyAOA4rmR1IEEQcrnczs4uOzsbK0iEECo9PmY4FZclubm5lSpV4vkS/MW4rq6u8fHxMpkMAxIhhEqJ3Nxcf3//j1m3Fc0SlmWFQmGJqx0LFeIMw2AFiRBCpQfLsiKR6GNWb1azpESXj/8JDEiEEPrgPoXSrUSXjxiQCCGEAfmhYAWJAYkQQiUvIHlj/KXtG387fetFthmEDn712g8a/WULHwmXvHf4gPXJjZYe+bGulDclHps3dtlVjUvbOau/beFKvd9tAN6YdGX3LztPXn+SYQKQOFes06LH0KHtykuJD9o5hP7q5I4h96Ds2F2b+3p8QpegYEAihNB/XL0RbNqJmaOW3jEqa3Ud1t+bSLt7/ODu+bejsrcsDSYJAgAIEoBOOjF/3LKrGq/ui9ZODVLwf7cq/avl6fgD34xa94AGAJFzGU9Rdsyzq/t2VuzYys/nw4aWAIAAsPzgef7TqXQxIBFC6D+uIOmo7b/cMYobzNm6tJ0TwRNE/1715/b59o/NWyLbjbQsYk46teDrn69ofPsuXzMxUMYxDPt3g+QvlldfXb/pAQ2gaD0ndGZ7HwnBaaOPbzxgFpNAv9wze+7+BynZBhZA4uwfFDxmYu/qcoH+2tQus+6BY9PgmukXLzxRE86BQ2fP7h9gSwAAk3lz94Ydp+9Ep2pYkWPFxgOmf9Pdh0i/vmvt1qM3XqgZsPVp0GPc14PrKl8HJBBAfFIBifdiRQihjxGQxeF5c1bU4xyASh3ryRnaaDQajbRdtdZVKNA/fZjOAADQEcsn/hSWA+AR1DrAlqVpmmVZ7q3+1jZwHEe/uHiPBoCKw8a2diVog8FAU97tJkzt4EoAp03LFvs17NS7b8/WVUQZTy+Ezt7wwAAEQRAAAKqwP5PtK1VyAC7jzuZlJ1LMPM/l3l09Yca2i0/S7Wq16dS6ujT2yrUUsy5izaSZO66k+XYfP2V4c9v4G7+GzDuRyuYFIsdzf/efwgoSIYRKtrdURQTxqoDiGJZhGJ7jAIBkOP51UQUAoEvjq3Vpk33s3M7Zv9QNHRUgJt73Nphy1CYAELu523I0TfM8/yr+AEhxta9/WZce/TAqJiXLLjDi0QWVJjZRx9eytWyc34QNoQO8jHdmdpt0QZ/2XGUGN3347lMZAPJ2S7fNqW/HA5vz7InRHP7DqQwA/zHfjmznRDS3uXlp4cOHZ+6puzUvsJE4xIoQQp9XBVn8H0nHSv5yiH164lp6w5aOBEcQfOadkw8ZsKlY3ZmKBgAoPyZ05WDPl/ZRI347uDC03obxNWzf5zaQJCmSy0UAtCk1IZuu5sDm/yubfX3VtLlH4jkQyN09xNkAADzH5yUuzzK0ycTaONsC6IHhCYLVpmSyAOAV6COkDQYGQORTjky+lcECwNOl/dstzWtck2lgXicib6moMSARQggD0lIziSsNGlHr4vK7P43/LrJTPQ9B6t1TxyN0VLVxw6pLuKcAIHLzdyRoQbkBIT3Pjjt47KeNDTdMriUj3tsxSI7jxL5NqwquhbPPft1yJXBSQ2eK542Jl3cfNXYcVevm1iPxHJSfvPuX3j7GSxM6zIx41eDr1VmWYbjXRxIBQCD3UJKQwCXfi9E0rypiCF6bEMs4uClJSOBcus0Oaesi4AmCAJamlS4UJGAFiRBCn6m3vOnzPG8mXbou2qz4deP2k2d3RjJAyn0b9B09dnhzD+CSeUttZTabTbwgYOh3XS5+fezsonUNNn3TQEb8nSx5S0gTBME5NJ44tNLwTU+yz8374opLGXdRbmxiNuf1RVtSLBUDACT+sWtbjvj5+fuvqz2+QOXH8W8eCOxq92+vvH8y68T08WlNKttqom8/dPh+/7wB7ZX3T6YfWb46I6iSI6FJiXn4RDJ2+/J6b9rhef7TuaEBBiRCCP2XFSTA/9u7exc5yjiA48/M88zbmoPNoZE7yCJYJWiTVqIpBJtUgoXWEv+Ay3+gRSpLTQ5EFMFC0CKVgqiFAcEiFiaFIheUBGzubleyM/vM84zFwz2OM3OTXMzt7Z7fT7HsTnZnX5T78pudnRFaaxGdOv/m2xfeku6bP2vtbDabFYU89eqH375urc3zXFsbxM9f/uK7y0LkeV6W5YFa0h/pspTPvPHux+ufXPv0yx9++fPObyJ56syFV1576en4ybWNjZ/eef/rn69/9tf5i+dOi9/v+Gmva+XWWjs4t3H1ytp7H3z+/Y/f/CHC4bMvXjytnhhtXL2ydu2j6zdufPWrEGKw9twLL49S8e/1LM4EGUwmk3/ekrXGmLIsZ7PZdDqdTqeTyWQymezs7Ozs7Ny8efPSpUv8jw4AB7K9vX3mzJkH/C0OgjAMpZRBELgpyn0dFwSBlLKqKmNMVVXuPv4vdk9Lbt++ffLkyfprOHv2bP8LkFImSRJFkTtvZVVVWuuiKIIgSJJEKeV6LKU0xkynUyFElmVCiOl0aoxJkiSOY611nudVVcVxHMexf7Vaa621lNIvFEK43Agh0jR169Fa97ypW7du1d/Uo9nc3Dxx4sTq6urq6upwOBwOhysrKysrK1mWZVkWx7FSSkoZhiETJAAc8QTpGGM6zwZcP+y4tfaRz2jRP5m50c1a64roX5J75cYYX02XcGOMf18u3nmeu91f/U2tdRiG/v4+k36hX4+/XKgDxhJIADhcYRhqrZWa39/bsixdzx4h0gdaXq91+z6dj+pcOOfzWBFIAFgIWZbt7u7+922DD293d9dt/PSCIJjNZvOM9HyqTyABYImlabq1tbW9vb22tpYkyaE+V1EU9+7dG4/Ho9Govk11MBiMx+N5RvqxG4/HjeoTSABYbtba9fX1u3fvbm1tHfa2RKXUcDhcX19vfOM4z0jPrfoEEgCWnlJqNBqNRqP/Q6TnVn0CCQA4DpFeOpzNAwAAAgkAAIEEAODxB9IdScFf+gMrAACw1IKaRu8edoKkjgCA4xrIxpUDTJCdmQUAYNm5g8E+MHBhfxS9OR/gBwCAQ+JO1tHOZCOWYb2LnaUM9/CZAgCORyB9I30m2wUM20WsD5H+8Ut9iFsAALwoipRSSqlGIxtfTPbtxeoD6VbEZwoAOAaUUo1Gdg6RYX8a3dmr3br4TAEAx0CSJFEUuUb2bGsN23UUe3v4+DoyQQIAjo00TZMk8XVzjfS7o/pGhu06tjeuxnG8dKdHAQCgJ5BJksRx3Lmh1V2q9gTpA+mi6h7sArm5ucknCwBYalmW1YdI37vGLz2CyWTirlVVVVWVtdZaa4wpy1JrXRRFURTTPffv33dX8jzP87woCnc3Y4wxxlrrVsKnDwA4KvUxT0rpvmtMkiRN0zRNsyzLsmwwGGR73DTZ+EoyCAJVX6No/cBDKWWMiePYxU8I4Z4yiqI4jrXWWuuyLOt1JJAAgCMPZH1PGrdLjgthume/TazevptYgyCQUlprlVK+jm6he7I0TV0dy7J0c6e7D4EEABxtIN1lfWcaP0e6LjamRill+2A6qnPVYRj62vng+Rq78bHc4+vIBAkAWJwJstFIt8+pu4zj2LWsvWXVr6djgqyqyjdSSumD52fVsixdIN2W1UYg+W8DAFiQRjZ+01+fJv0VNz76OnZPkL6Ofl4UQiil/BZXx1rbU0caCQA42jr2NNIPlO5m+8DlYr+feYjasQIaKfZrN8ZEUdS5ZZU6AgAWrZGNTLoo+q8e9zuSzr6bWH0jgyCw1rqb1lo3Qbo01n/X4dNIIwEAR15H0Tr6Tb2F9Zv+X/s2sXY20l13C91N/4vJehrpIgBgMedIsfe9YftUx42dV/smyHYjfX6rf6vvv0MgAQALO0qKro2u7fNbNU7ooXrWW58dfSDbIyNpBAAsfiYbA2Ujiu3TXakHrrS+X2tnFAkkAGCJ5sj9Fh4gkD2PbCykkQCABa/jwyw/WCAf1zMBALBEQj4CAAAIJAAABBIAAAIJAACBBACAQAIAQCABACCQAAAQSAAACCQAAEvtb0ohzXAzqsA6AAAAAElFTkSuQmCC&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Google Calculator&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;data:;base64,iVBORw0KGgoAAAANSUhEUgAAAmgAAAEZCAIAAACsG07nAAAAiXpUWHRSYXcgcHJvZmlsZSB0eXBlIGV4aWYAAHjaVY7LDQNBCEPvU0VK4DcGyolWu1I6SPlhxCajvANYFjIe5/t1jceCSYZNDyRAhaWlPEsENUrEQrx2zebeyqVk20OlBTKcbB/a7X+ZisDl5o6JA4dUupzKKjXr0ViptGrkDkFQx+i/z/kr0C0+QnMsKFkpBsEAAAnsaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJYTVAgQ29yZSA0LjQuMC1FeGl2MiI+CiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyIKICAgIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIgogICBleGlmOlBpeGVsWERpbWVuc2lvbj0iNjE2IgogICBleGlmOlBpeGVsWURpbWVuc2lvbj0iMjgxIgogICB0aWZmOkltYWdlV2lkdGg9IjEiCiAgIHRpZmY6SW1hZ2VIZWlnaHQ9IjI4MSIvPgogPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAg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&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;European Central Bank&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;data:;base64,iVBORw0KGgoAAAANSUhEUgAAAmQAAAEWCAIAAABHcRy8AAAAiXpUWHRSYXcgcHJvZmlsZSB0eXBlIGV4aWYAAHjaVY7LDQNBCEPvVJES+I0ZyolWu1I6SPlhxCajvANYFjKm8/266LEQVvIREwlw4empzxKTG2MWZVm7ZnNvk1K6bTJtgZzBvg/99r8Mw8QVHoGBA4dWup4mpjXrEa1UXjVyh8C5Y+zfF/wKdIsPQaMsIaTbXXkAAAnsaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJYTVAgQ29yZSA0LjQuMC1FeGl2MiI+CiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyIKICAgIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIgogICBleGlmOlBpeGVsWERpbWVuc2lvbj0iNjEyIgogICBleGlmOlBpeGVsWURpbWVuc2lvbj0iMjc4IgogICB0aWZmOkltYWdlV2lkdGg9IjEiCiAgIHRpZmY6SW1hZ2VIZWlnaHQ9IjI3OCIvPgogPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAg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&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;h1&gt;Running it all&lt;/h1&gt;
&lt;p&gt;Now that everything has been created you can visit the Django app at &lt;a href=&quot;http://127.0.0.1:8188/&quot;&gt;http://127.0.0.1:8188/&lt;/a&gt; and play around with various currencies &amp;#8211; this will fetch everything from backend web services and display in an HTML table.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;data:;base64,iVBORw0KGgoAAAANSUhEUgAAAncAAAFdCAIAAADud9z4AAAAinpUWHRSYXcgcHJvZmlsZSB0eXBlIGV4aWYAAHjaVY7JDcUwCETvVJES2AymnK8sUjpI+cEi+VbeAUYjNAzs13nAMiBk0ObdwgwTDQ3+pehYCCIx0tg5i2cLpeJpg3AJi+6o81Af/6WJdTtc3a3ZaitnOu9CwjnzEYxUHDVihrhjxcjXb9u/QLW4AUVoLFebTcAtAAAJ7GlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNC40LjAtRXhpdjIiPgogPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iCiAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIKICAgZXhpZjpQaXhlbFhEaW1lbnNpb249IjYzMSIKICAgZXhpZjpQaXhlbFlEaW1lbnNpb249IjM0OSIKICAgdGlmZjpJbWFnZVdpZHRoPSIxIgogICB0aWZmOkltYWdlSGVpZ2h0PSIzNDkiLz4KIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAg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&quot; alt=&quot;&quot; /&gt;&lt;img src=&quot;data:;base64,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&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1&gt;What else is there?&lt;/h1&gt;
&lt;p&gt;Naturally, this isn&amp;#8217;t everything. If you&amp;#8217;ve already read the &lt;a href=&quot;https://zato.io/docs/intro/esb-soa.html&quot;&gt;intro to ESB/SOA&lt;/a&gt;, you know the first question will be, is the service IRA? Is it &lt;span&gt;&lt;strong&gt;I&lt;/strong&gt;&lt;/span&gt;nteresting&lt;strong&gt;, &lt;span&gt;R&lt;/span&gt;&lt;/strong&gt;eusable and  &lt;strong&gt;&lt;span&gt;A&lt;/span&gt;&lt;/strong&gt;tomic&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Interesting&lt;/strong&gt;- sure, if you need exchange rates in your projects such information will be certainly interesting on more than one occasion&lt;strong&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reusable&lt;/strong&gt; &amp;#8211; almost, the list of providers is hard-coded but ultimately, there should be one or more default provider and client applications should be able to specify which ones they&amp;#8217;re interested in&lt;strong&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Atomic&lt;/strong&gt; &amp;#8211; yes, as long as it will be given the feature mentioned above (default providers, client apps say which one to use)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;It also makes sense to use Zato&amp;#8217;s built-in scheduler and Redis to pre-fetch the rates periodically instead of accessing remote resources for each client request.&lt;/p&gt;
&lt;p&gt;The good news is, such things are trivial to add with Zato and once you complete it, you&amp;#8217;ll have a truly IRA service that can be reused across a wide range of projects without any code changes. And your client apps will be always able to use plain dicts only.&lt;/p&gt;
&lt;h1&gt;Can Zato do more?&lt;/h1&gt;
&lt;p&gt;There&amp;#8217;s a whole lot more Zato can do &amp;#8211; JSON, SOAP, AMQP, JMS WebSphere MQ, ZeroMQ, Redis, SQL, FTP, load-balancing, scheduling, statistics, hooks, GUI, CLI, API &amp;#8211; the features &lt;a href=&quot;https://zato.io/docs/index.html&quot;&gt;are there&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Note that Django was used in the text but the client is completely framework-agnostic, the same code will work with any Python application.&lt;/p&gt;
&lt;p&gt;Also, Zato is in Python but it&amp;#8217;s not for integrating Python apps only. As long as your application can speak any of the protocols mentioned (this is 99% of apps out there), you&amp;#8217;re good to go.&lt;/p&gt;
&lt;h1&gt;What next?&lt;/h1&gt;
&lt;p&gt;If you still haven&amp;#8217;t done it yet, read the &lt;a href=&quot;https://zato.io/docs/intro/esb-soa.html&quot;&gt;no-nonsense intro to ESB/SOA&lt;/a&gt; and &lt;a href=&quot;https://zato.io/docs/tutorial/01.html&quot;&gt;visit the tutorial&lt;/a&gt;. This will explain all the core concepts so you can get started quickly.&lt;/p&gt;
&lt;p&gt;Thanks for your time! &lt;img src=&quot;http://www.gefira.pl/blog/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:-)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a class=&quot;a2a_dd a2a_target addtoany_share_save&quot; href=&quot;http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.gefira.pl%2Fblog%2F2013%2F06%2F16%2Fuse-zato-to-integrate-django-with-exchange-rate-web-services-in-10-lines-of-code%2F&amp;title=Use%20Zato%20to%20integrate%20Django%20with%20exchange%20rate%20web%20services%20in%2010%20lines%20of%20code&quot; id=&quot;wpa2a_2&quot;&gt;&lt;img src=&quot;http://www.gefira.pl/blog/wp-content/plugins/add-to-any/share_save_171_16.png&quot; width=&quot;171&quot; height=&quot;16&quot; alt=&quot;Share&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description>
	<pubDate>Sun, 16 Jun 2013 17:11:13 +0000</pubDate>
</item>
<item>
	<title>Ned Batchelder: 51 at MoMath</title>
	<guid>http://nedbatchelder.com/blog/201306/51_at_momath.html</guid>
	<link>http://nedbatchelder.com/blog/201306/51_at_momath.html</link>
	<description>&lt;p&gt;For my birthday (today), we visited the &lt;a class=&quot;offsite&quot; href=&quot;http://momath.org/&quot;&gt;Museum of Math&lt;/a&gt;
        in New York (yesterday).  I've been looking forward to getting there
        since it opened six months ago, and my reluctant family had to accede
        to my birthday destination, so all five of us spent the afternoon.&lt;/p&gt;&lt;p align=&quot;center&quot;&gt;&lt;a href=&quot;http://momath.org/&quot;&gt;&lt;img src=&quot;http://nedbatchelder.com/pix/momath.png&quot; alt=&quot;Museum of Math&quot; width=&quot;200&quot; height=&quot;211&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;The museum is a fun place, with lots of interactive exhibits.  Some were
        intriguing but baffling, like a polyhedron exploration device which
        looked great, but was impossible to control.  We rode square-wheeled
        tricycles, made ourselves into fractal trees, explored cross-sections
        in the wall of fire, rolled weird shapes to make weird paths, looked
        at &lt;a class=&quot;offsite&quot; href=&quot;http://www.zintaglio.com&quot;&gt;specular holography&lt;/a&gt;, and so
        on.&lt;/p&gt;&lt;p&gt;As is typical with these kinds of high-traffic interactive displays, a
        number of them were not working, which was disappointing.  But overall,
        it was a lot of fun, and not the same feel as math class at all.  One
        helpful museum worker kept popping up to tell us how to better use the
        exhibits, and Susan said, &quot;if I had her as a math teacher, I might have
        learned something in high school!&quot;&lt;/p&gt;&lt;p&gt;It was a great day.  If you enjoy mathematical thinking, I heartily
        recommend the Museum of Math.&lt;/p&gt;&lt;p&gt;A few blocks north, we found the Museum of Sex, but decided not to go in
        with the kids....&lt;/p&gt;</description>
	<pubDate>Sun, 16 Jun 2013 12:42:16 +0000</pubDate>
</item>
<item>
	<title>Go Deh: Greedy Ranking Algorithm in Python</title>
	<guid>http://feedproxy.google.com/~r/GoDeh/~3/UuWRvt9T9VE/greedy-ranking-algorithm-in-python.html</guid>
	<link>http://feedproxy.google.com/~r/GoDeh/~3/UuWRvt9T9VE/greedy-ranking-algorithm-in-python.html</link>
	<description>&lt;br /&gt;I mentioned in &lt;a href=&quot;http://paddy3118.blogspot.co.uk/2008/07/ranking-modelsim-coverage-results-using.html&quot; target=&quot;_blank&quot;&gt;an earlier post&lt;/a&gt; that I had written my own ranker and thought I'd revisit this with some code.&lt;br /&gt;&lt;br /&gt;I verify and ensure the safety of microprocessors for my day job. One way that very complex CPU's are tested is to create another model of the chip which can be used to generate pseudo-random instruction streams to run on CPU. The so-called ISG can create thousands (millions!) of these tests in very little time, and the ISG is written in such a way that it can be 'tweaked' to give some control or steering to what the instruction streams will exercise on the CPU.&lt;br /&gt;&lt;br /&gt;Now simulating these instruction streams and gathering information on just what parts of the CPU are exercised, called covered, by each individual test takes time, and multiple ISG generated tests may cover the same regions of the CPU. To increase the overall coverage of of the CPU we run what is called a regression - all the tests are run and their coverage and the time they take to simulate are stored. at the end of the regression run you may have several thousands of tests that cover only part of the CPU.&lt;br /&gt;&lt;br /&gt;If you take the regression results and &lt;b&gt;&lt;i&gt;rank &lt;/i&gt;&lt;/b&gt;them you can find that subset of the tests that give all the coverage. Usually thousands of pseudo-random tests might be ranked and generate a sub-list of only hundreds of tests that when run would give the same coverage. What we then usually do is look at what isn't covered and generate some more tests by the ISG or other methods to try and fill the gaps; run the new regression and rank again in a loop to fully exercise the CPU and hit some target coverage goal.&lt;br /&gt;&lt;br /&gt;Ranking tests is an important part of the regression flow described above, and when it works well you forget about it. Unfortunately sometimes I want to to rank other data, for which the stock ranking program from the CAD tool vendors does not fit. So here is the guts of a ranking program that will scale to handling hundreds of thousands of tests and coverage points.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Input&lt;/h3&gt;Normally I have to parse my input from text or HTML files of results generated by other CAD programs - it is tedious work that I will skip by providing idealised inputs in the form of a Python dict. (Sometimes the code for parsing input files can be as large or larger than the ranking algorithm).&lt;br /&gt;&lt;br /&gt;Let us assume that each ISG test has a name, runs for a certain 'time' and when simulated is shown to 'cover' a set of numbered features of the design. after the parsing, the gathered input data is represented by the &lt;span&gt;results &lt;/span&gt;dict in the program.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class=&quot;lnr&quot;&gt;  1 &lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt;  2 &lt;/span&gt;results = {&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt;  3 &lt;/span&gt;&lt;span class=&quot;Comment&quot;&gt;#    'TEST': (  TIME, set([COVERED_POINT ...])),&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt;  4 &lt;/span&gt;  &lt;span class=&quot;Constant&quot;&gt;'test_00'&lt;/span&gt;: (  &lt;span class=&quot;Constant&quot;&gt;2.08&lt;/span&gt;, &lt;span class=&quot;Identifier&quot;&gt;set&lt;/span&gt;([&lt;span class=&quot;Constant&quot;&gt;2&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;3&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;5&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;11&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;12&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;16&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;19&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;23&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;25&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;26&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;29&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;36&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;38&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;40&lt;/span&gt;])),&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt;  5 &lt;/span&gt;  &lt;span class=&quot;Constant&quot;&gt;'test_01'&lt;/span&gt;: ( &lt;span class=&quot;Constant&quot;&gt;58.04&lt;/span&gt;, &lt;span class=&quot;Identifier&quot;&gt;set&lt;/span&gt;([&lt;span class=&quot;Constant&quot;&gt;0&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;10&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;13&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;15&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;17&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;19&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;20&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;22&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;27&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;30&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;31&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;33&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;34&lt;/span&gt;])),&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt;  6 &lt;/span&gt;  &lt;span class=&quot;Constant&quot;&gt;'test_02'&lt;/span&gt;: ( &lt;span class=&quot;Constant&quot;&gt;34.82&lt;/span&gt;, &lt;span class=&quot;Identifier&quot;&gt;set&lt;/span&gt;([&lt;span class=&quot;Constant&quot;&gt;3&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;4&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;6&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;12&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;15&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;21&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;23&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;25&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;26&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;33&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;34&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;40&lt;/span&gt;])),&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt;  7 &lt;/span&gt;  &lt;span class=&quot;Constant&quot;&gt;'test_03'&lt;/span&gt;: ( &lt;span class=&quot;Constant&quot;&gt;32.74&lt;/span&gt;, &lt;span class=&quot;Identifier&quot;&gt;set&lt;/span&gt;([&lt;span class=&quot;Constant&quot;&gt;4&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;5&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;10&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;16&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;21&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;22&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;26&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;39&lt;/span&gt;])),&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt;  8 &lt;/span&gt;  &lt;span class=&quot;Constant&quot;&gt;'test_04'&lt;/span&gt;: (&lt;span class=&quot;Constant&quot;&gt;100.00&lt;/span&gt;, &lt;span class=&quot;Identifier&quot;&gt;set&lt;/span&gt;([&lt;span class=&quot;Constant&quot;&gt;0&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;1&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;4&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;6&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;7&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;8&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;9&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;11&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;12&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;18&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;26&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;27&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;31&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;36&lt;/span&gt;])),&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt;  9 &lt;/span&gt;  &lt;span class=&quot;Constant&quot;&gt;'test_05'&lt;/span&gt;: (  &lt;span class=&quot;Constant&quot;&gt;4.46&lt;/span&gt;, &lt;span class=&quot;Identifier&quot;&gt;set&lt;/span&gt;([&lt;span class=&quot;Constant&quot;&gt;1&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;2&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;6&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;11&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;14&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;16&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;17&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;21&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;22&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;23&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;30&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;31&lt;/span&gt;])),&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt; 10 &lt;/span&gt;  &lt;span class=&quot;Constant&quot;&gt;'test_06'&lt;/span&gt;: ( &lt;span class=&quot;Constant&quot;&gt;69.57&lt;/span&gt;, &lt;span class=&quot;Identifier&quot;&gt;set&lt;/span&gt;([&lt;span class=&quot;Constant&quot;&gt;10&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;11&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;15&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;17&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;19&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;22&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;26&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;27&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;30&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;32&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;38&lt;/span&gt;])),&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt; 11 &lt;/span&gt;  &lt;span class=&quot;Constant&quot;&gt;'test_07'&lt;/span&gt;: ( &lt;span class=&quot;Constant&quot;&gt;85.71&lt;/span&gt;, &lt;span class=&quot;Identifier&quot;&gt;set&lt;/span&gt;([&lt;span class=&quot;Constant&quot;&gt;0&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;2&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;4&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;5&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;9&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;10&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;14&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;17&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;24&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;34&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;36&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;39&lt;/span&gt;])),&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt; 12 &lt;/span&gt;  &lt;span class=&quot;Constant&quot;&gt;'test_08'&lt;/span&gt;: (  &lt;span class=&quot;Constant&quot;&gt;5.73&lt;/span&gt;, &lt;span class=&quot;Identifier&quot;&gt;set&lt;/span&gt;([&lt;span class=&quot;Constant&quot;&gt;0&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;3&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;8&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;9&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;13&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;19&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;23&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;25&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;28&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;36&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;38&lt;/span&gt;])),&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt; 13 &lt;/span&gt;  &lt;span class=&quot;Constant&quot;&gt;'test_09'&lt;/span&gt;: ( &lt;span class=&quot;Constant&quot;&gt;15.55&lt;/span&gt;, &lt;span class=&quot;Identifier&quot;&gt;set&lt;/span&gt;([&lt;span class=&quot;Constant&quot;&gt;7&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;15&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;17&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;25&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;26&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;30&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;31&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;33&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;36&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;38&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;39&lt;/span&gt;])),&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt; 14 &lt;/span&gt;  &lt;span class=&quot;Constant&quot;&gt;'test_10'&lt;/span&gt;: ( &lt;span class=&quot;Constant&quot;&gt;12.05&lt;/span&gt;, &lt;span class=&quot;Identifier&quot;&gt;set&lt;/span&gt;([&lt;span class=&quot;Constant&quot;&gt;0&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;4&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;13&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;14&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;15&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;24&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;31&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;35&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;39&lt;/span&gt;])),&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt; 15 &lt;/span&gt;  &lt;span class=&quot;Constant&quot;&gt;'test_11'&lt;/span&gt;: ( &lt;span class=&quot;Constant&quot;&gt;52.23&lt;/span&gt;, &lt;span class=&quot;Identifier&quot;&gt;set&lt;/span&gt;([&lt;span class=&quot;Constant&quot;&gt;0&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;3&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;6&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;10&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;11&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;13&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;23&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;34&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;40&lt;/span&gt;])),&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt; 16 &lt;/span&gt;  &lt;span class=&quot;Constant&quot;&gt;'test_12'&lt;/span&gt;: ( &lt;span class=&quot;Constant&quot;&gt;26.79&lt;/span&gt;, &lt;span class=&quot;Identifier&quot;&gt;set&lt;/span&gt;([&lt;span class=&quot;Constant&quot;&gt;0&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;1&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;4&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;5&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;7&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;8&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;10&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;12&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;13&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;31&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;32&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;40&lt;/span&gt;])),&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt; 17 &lt;/span&gt;  &lt;span class=&quot;Constant&quot;&gt;'test_13'&lt;/span&gt;: ( &lt;span class=&quot;Constant&quot;&gt;16.07&lt;/span&gt;, &lt;span class=&quot;Identifier&quot;&gt;set&lt;/span&gt;([&lt;span class=&quot;Constant&quot;&gt;2&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;6&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;9&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;11&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;13&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;15&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;17&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;18&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;34&lt;/span&gt;])),&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt; 18 &lt;/span&gt;  &lt;span class=&quot;Constant&quot;&gt;'test_14'&lt;/span&gt;: ( &lt;span class=&quot;Constant&quot;&gt;40.62&lt;/span&gt;, &lt;span class=&quot;Identifier&quot;&gt;set&lt;/span&gt;([&lt;span class=&quot;Constant&quot;&gt;1&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;2&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;8&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;15&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;16&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;19&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;22&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;26&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;29&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;31&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;33&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;34&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;38&lt;/span&gt;])),&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt; 19 &lt;/span&gt; }&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt; 20 &lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div&gt;&lt;span class=&quot;lnr&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;h3&gt;Greedy ranking algorithm&lt;/h3&gt;The object of the algorithm is to select and order a subset of the tests that:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Cover as many of the coverage points as possible by at least one test.&lt;/li&gt;&lt;li&gt;After the above, reduce the number of tests needed to achieve that maximum coverage by as much as is possible.&lt;/li&gt;&lt;li&gt;Generate a ranking of the tests selected to allow an even smaller set of tests to be selected if necessary.&lt;/li&gt;&lt;li&gt;After all the above having increasing importance, it would be good to also reduce the total 'time' accrued by the ranking tests .&lt;/li&gt;&lt;li&gt;Of course it needs to work for large sets of tests and points to cover.&lt;/li&gt;&lt;/ol&gt;The greedy algorithm works by first choosing the test giving most coverage to be the test of highest rank, then the test giving the most incremental additional coverage as the next highest ranking test, and so on...&lt;br /&gt;If there are more than one test giving the same incremental additional coverage at any stage then the test taking the least 'time' is picked.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;The following function implements the algorithm:&lt;/h4&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class=&quot;lnr&quot;&gt; 21 &lt;/span&gt;&lt;span class=&quot;Statement&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;Identifier&quot;&gt;greedyranker&lt;/span&gt;(results):&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt; 22 &lt;/span&gt;    results = results.copy()&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt; 23 &lt;/span&gt;    ranked, coveredsofar, costsofar, &lt;span class=&quot;Identifier&quot;&gt;round&lt;/span&gt; = [], &lt;span class=&quot;Identifier&quot;&gt;set&lt;/span&gt;(), &lt;span class=&quot;Constant&quot;&gt;0&lt;/span&gt;, &lt;span class=&quot;Constant&quot;&gt;0&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt; 24 &lt;/span&gt;    noncontributing = []&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt; 25 &lt;/span&gt;    &lt;span class=&quot;Statement&quot;&gt;while&lt;/span&gt; results:&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt; 26 &lt;/span&gt;        &lt;span class=&quot;Identifier&quot;&gt;round&lt;/span&gt; += &lt;span class=&quot;Constant&quot;&gt;1&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt; 27 &lt;/span&gt;        &lt;span class=&quot;Comment&quot;&gt;# What each test can contribute to the pool of what is covered so far&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt; 28 &lt;/span&gt;        contributions = [(&lt;span class=&quot;Identifier&quot;&gt;len&lt;/span&gt;(cover - coveredsofar), -cost, test)&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt; 29 &lt;/span&gt;                         &lt;span class=&quot;Statement&quot;&gt;for&lt;/span&gt; test, (cost, cover) &lt;span class=&quot;Statement&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;Identifier&quot;&gt;sorted&lt;/span&gt;(results.items()) ]&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt; 30 &lt;/span&gt;        &lt;span class=&quot;Comment&quot;&gt;# Greedy ranking by taking the next greatest contributor                 &lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt; 31 &lt;/span&gt;        delta_cover, benefit, test = &lt;span class=&quot;Identifier&quot;&gt;max&lt;/span&gt;( contributions )&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt; 32 &lt;/span&gt;        &lt;span class=&quot;Statement&quot;&gt;if&lt;/span&gt; delta_cover &amp;gt; &lt;span class=&quot;Constant&quot;&gt;0&lt;/span&gt;:&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt; 33 &lt;/span&gt;            ranked.append((test, delta_cover))&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt; 34 &lt;/span&gt;            cost, cover = results.pop(test)&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt; 35 &lt;/span&gt;            coveredsofar.update(cover)&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt; 36 &lt;/span&gt;            costsofar += cost&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt; 37 &lt;/span&gt;        &lt;span class=&quot;Statement&quot;&gt;for&lt;/span&gt; delta_cover, benefit, test &lt;span class=&quot;Statement&quot;&gt;in&lt;/span&gt; contributions:&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt; 38 &lt;/span&gt;            &lt;span class=&quot;Statement&quot;&gt;if&lt;/span&gt; delta_cover == &lt;span class=&quot;Constant&quot;&gt;0&lt;/span&gt;:&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt; 39 &lt;/span&gt;                &lt;span class=&quot;Comment&quot;&gt;# this test cannot contribute anything&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt; 40 &lt;/span&gt;                noncontributing.append( (test, &lt;span class=&quot;Identifier&quot;&gt;round&lt;/span&gt;) )&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt; 41 &lt;/span&gt;                results.pop(test)&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt; 42 &lt;/span&gt;    &lt;span class=&quot;Statement&quot;&gt;return&lt;/span&gt; coveredsofar, ranked, costsofar, noncontributing&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt; 43 &lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div&gt;&lt;span class=&quot;lnr&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;Each time through the while loop (line 25), the next best test is appended to the ranking and tests that can nolonger contribute any extra coverage are discarded (lines 37-41)&lt;br /&gt;&lt;br /&gt;The function above is a bit dry so I took a bit of time to annotate it with a tutor capability that when run prints out just what it is doing along the way:&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;The function with tutor&lt;/h4&gt;It implements the same thing but does it noisily:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class=&quot;lnr&quot;&gt; 44 &lt;/span&gt;&lt;span class=&quot;Statement&quot;&gt;def&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class=&quot;Identifier&quot;&gt;greedyranker&lt;/span&gt;&lt;span&gt;(results, tutor=&lt;/span&gt;&lt;span class=&quot;Identifier&quot;&gt;True&lt;/span&gt;&lt;span&gt;):&lt;br /&gt;&lt;/span&gt;&lt;span class=&quot;lnr&quot;&gt; 45 &lt;/span&gt;&lt;span&gt;    results = results.copy()&lt;br /&gt;&lt;/span&gt;&lt;span class=&quot;lnr&quot;&gt; 46 &lt;/span&gt;&lt;span&gt;    ranked, coveredsofar, costsofar, &lt;/span&gt;&lt;span class=&quot;Identifier&quot;&gt;round&lt;/span&gt;&lt;span&gt; = [], &lt;/span&gt;&lt;span class=&quot;Identifier&quot;&gt;set&lt;/span&gt;&lt;span&gt;(), &lt;/span&gt;&lt;span class=&quot;Constant&quot;&gt;0&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span class=&quot;Constant&quot;&gt;0&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class=&quot;lnr&quot;&gt; 47 &lt;/span&gt;&lt;span&gt;    noncontributing = []&lt;br /&gt;&lt;/span&gt;&lt;span class=&quot;lnr&quot;&gt; 48 &lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span class=&quot;Statement&quot;&gt;while&lt;/span&gt;&lt;span&gt; results:&lt;br /&gt;&lt;/span&gt;&lt;span class=&quot;lnr&quot;&gt; 49 &lt;/span&gt;&lt;span&gt;        &lt;/span&gt;&lt;span class=&quot;Identifier&quot;&gt;round&lt;/span&gt;&lt;span&gt; += &lt;/span&gt;&lt;span class=&quot;Constant&quot;&gt;1&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class=&quot;lnr&quot;&gt; 50 &lt;/span&gt;&lt;span&gt;        &lt;/span&gt;&lt;span class=&quot;Comment&quot;&gt;# What each test can contribute to the pool of what is covered so far&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class=&quot;lnr&quot;&gt; 51 &lt;/span&gt;&lt;span&gt;        contributions = [(&lt;/span&gt;&lt;span class=&quot;Identifier&quot;&gt;len&lt;/span&gt;&lt;span&gt;(cover - coveredsofar), -cost, test)&lt;br /&gt;&lt;/span&gt;&lt;span class=&quot;lnr&quot;&gt; 52 &lt;/span&gt;&lt;span&gt;                         &lt;/span&gt;&lt;span class=&quot;Statement&quot;&gt;for&lt;/span&gt;&lt;span&gt; test, (cost, cover) &lt;/span&gt;&lt;span class=&quot;Statement&quot;&gt;in&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class=&quot;Identifier&quot;&gt;sorted&lt;/span&gt;&lt;span&gt;(results.items()) ]&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;lnr&quot;&gt; 53 &lt;/span&gt;        &lt;span class=&quot;Statement&quot;&gt;if&lt;/span&gt; tutor:&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt; 54 &lt;/span&gt;            &lt;span class=&quot;Identifier&quot;&gt;print&lt;/span&gt;(&lt;span class=&quot;Constant&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;Special&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;Constant&quot;&gt;## Round %i'&lt;/span&gt; % &lt;span class=&quot;Identifier&quot;&gt;round&lt;/span&gt;)&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt; 55 &lt;/span&gt;            &lt;span class=&quot;Identifier&quot;&gt;print&lt;/span&gt;(&lt;span class=&quot;Constant&quot;&gt;'  Covered so far: %2i points: '&lt;/span&gt; % &lt;span class=&quot;Identifier&quot;&gt;len&lt;/span&gt;(coveredsofar))&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt; 56 &lt;/span&gt;            &lt;span class=&quot;Identifier&quot;&gt;print&lt;/span&gt;(&lt;span class=&quot;Constant&quot;&gt;'  Ranked so far: '&lt;/span&gt; + &lt;span class=&quot;Identifier&quot;&gt;repr&lt;/span&gt;([t &lt;span class=&quot;Statement&quot;&gt;for&lt;/span&gt; t, d &lt;span class=&quot;Statement&quot;&gt;in&lt;/span&gt; ranked]))&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt; 57 &lt;/span&gt;            &lt;span class=&quot;Identifier&quot;&gt;print&lt;/span&gt;(&lt;span class=&quot;Constant&quot;&gt;'  What the remaining tests can contribute, largest contributors first:'&lt;/span&gt;)&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt; 58 &lt;/span&gt;            &lt;span class=&quot;Identifier&quot;&gt;print&lt;/span&gt;(&lt;span class=&quot;Constant&quot;&gt;'    # DELTA, BENEFIT, TEST'&lt;/span&gt;)&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt; 59 &lt;/span&gt;            deltas = &lt;span class=&quot;Identifier&quot;&gt;sorted&lt;/span&gt;(contributions, reverse=&lt;span class=&quot;Identifier&quot;&gt;True&lt;/span&gt;)&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt; 60 &lt;/span&gt;            &lt;span class=&quot;Statement&quot;&gt;for&lt;/span&gt; delta_cover, benefit, test &lt;span class=&quot;Statement&quot;&gt;in&lt;/span&gt; deltas:&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt; 61 &lt;/span&gt;                &lt;span class=&quot;Identifier&quot;&gt;print&lt;/span&gt;(&lt;span class=&quot;Constant&quot;&gt;'     %2i,    %7.2f,    %s'&lt;/span&gt; % (delta_cover, benefit, test))&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt; 62 &lt;/span&gt;            &lt;span class=&quot;Statement&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;Identifier&quot;&gt;len&lt;/span&gt;(deltas)&amp;gt;=&lt;span class=&quot;Constant&quot;&gt;2&lt;/span&gt; &lt;span class=&quot;Statement&quot;&gt;and&lt;/span&gt; deltas[&lt;span class=&quot;Constant&quot;&gt;0&lt;/span&gt;][&lt;span class=&quot;Constant&quot;&gt;0&lt;/span&gt;] == deltas[&lt;span class=&quot;Constant&quot;&gt;1&lt;/span&gt;][&lt;span class=&quot;Constant&quot;&gt;0&lt;/span&gt;]:&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt; 63 &lt;/span&gt;                &lt;span class=&quot;Identifier&quot;&gt;print&lt;/span&gt;(&lt;span class=&quot;Constant&quot;&gt;'  Note: This time around, more than one test gives the same'&lt;/span&gt;)&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt; 64 &lt;/span&gt;                &lt;span class=&quot;Identifier&quot;&gt;print&lt;/span&gt;(&lt;span class=&quot;Constant&quot;&gt;'        maximum delta contribution of %i to the coverage so far'&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt; 65 &lt;/span&gt;                       % deltas[&lt;span class=&quot;Constant&quot;&gt;0&lt;/span&gt;][&lt;span class=&quot;Constant&quot;&gt;0&lt;/span&gt;])&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt; 66 &lt;/span&gt;                &lt;span class=&quot;Statement&quot;&gt;if&lt;/span&gt; deltas[&lt;span class=&quot;Constant&quot;&gt;0&lt;/span&gt;][&lt;span class=&quot;Constant&quot;&gt;1&lt;/span&gt;] != deltas[&lt;span class=&quot;Constant&quot;&gt;1&lt;/span&gt;][&lt;span class=&quot;Constant&quot;&gt;1&lt;/span&gt;]:&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt; 67 &lt;/span&gt;                    &lt;span class=&quot;Identifier&quot;&gt;print&lt;/span&gt;(&lt;span class=&quot;Constant&quot;&gt;'        we order based on the next field of minimum cost'&lt;/span&gt;)&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt; 68 &lt;/span&gt;                    &lt;span class=&quot;Identifier&quot;&gt;print&lt;/span&gt;(&lt;span class=&quot;Constant&quot;&gt;'        (equivalent to maximum negative cost).'&lt;/span&gt;)&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt; 69 &lt;/span&gt;                &lt;span class=&quot;Statement&quot;&gt;else&lt;/span&gt;:&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt; 70 &lt;/span&gt;                    &lt;span class=&quot;Identifier&quot;&gt;print&lt;/span&gt;(&lt;span class=&quot;Constant&quot;&gt;'        the next field of minimum cost is the same so'&lt;/span&gt;)&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt; 71 &lt;/span&gt;                    &lt;span class=&quot;Identifier&quot;&gt;print&lt;/span&gt;(&lt;span class=&quot;Constant&quot;&gt;'        we arbitrarily order by test name.'&lt;/span&gt;)&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt; 72 &lt;/span&gt;            zeroes = [test &lt;span class=&quot;Statement&quot;&gt;for&lt;/span&gt; delta_cover, benefit, test &lt;span class=&quot;Statement&quot;&gt;in&lt;/span&gt; deltas&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt; 73 &lt;/span&gt;                     &lt;span class=&quot;Statement&quot;&gt;if&lt;/span&gt; delta_cover == &lt;span class=&quot;Constant&quot;&gt;0&lt;/span&gt;]&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt; 74 &lt;/span&gt;            &lt;span class=&quot;Statement&quot;&gt;if&lt;/span&gt; zeroes:&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt; 75 &lt;/span&gt;                &lt;span class=&quot;Identifier&quot;&gt;print&lt;/span&gt;(&lt;span class=&quot;Constant&quot;&gt;'  The following test(s) cannot contribute more to coverage'&lt;/span&gt;)&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt; 76 &lt;/span&gt;                &lt;span class=&quot;Identifier&quot;&gt;print&lt;/span&gt;(&lt;span class=&quot;Constant&quot;&gt;'  and will be dropped:'&lt;/span&gt;)&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt; 77 &lt;/span&gt;                &lt;span class=&quot;Identifier&quot;&gt;print&lt;/span&gt;(&lt;span class=&quot;Constant&quot;&gt;'    '&lt;/span&gt; + &lt;span class=&quot;Constant&quot;&gt;', '&lt;/span&gt;.join(zeroes))&lt;br /&gt;&lt;/span&gt;&lt;span class=&quot;lnr&quot;&gt; 78 &lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class=&quot;lnr&quot;&gt; 79 &lt;/span&gt;&lt;span&gt;        &lt;/span&gt;&lt;span class=&quot;Comment&quot;&gt;# Greedy ranking by taking the next greatest contributor                 &lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class=&quot;lnr&quot;&gt; 80 &lt;/span&gt;&lt;span&gt;        delta_cover, benefit, test = &lt;/span&gt;&lt;span class=&quot;Identifier&quot;&gt;max&lt;/span&gt;&lt;span&gt;( contributions )&lt;br /&gt;&lt;/span&gt;&lt;span class=&quot;lnr&quot;&gt; 81 &lt;/span&gt;&lt;span&gt;        &lt;/span&gt;&lt;span class=&quot;Statement&quot;&gt;if&lt;/span&gt;&lt;span&gt; delta_cover &amp;gt; &lt;/span&gt;&lt;span class=&quot;Constant&quot;&gt;0&lt;/span&gt;&lt;span&gt;:&lt;br /&gt;&lt;/span&gt;&lt;span class=&quot;lnr&quot;&gt; 82 &lt;/span&gt;&lt;span&gt;            ranked.append((test, delta_cover))&lt;br /&gt;&lt;/span&gt;&lt;span class=&quot;lnr&quot;&gt; 83 &lt;/span&gt;&lt;span&gt;            cost, cover = results.pop(test)&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;lnr&quot;&gt; 84 &lt;/span&gt;            &lt;span class=&quot;Statement&quot;&gt;if&lt;/span&gt; tutor:&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt; 85 &lt;/span&gt;                &lt;span class=&quot;Identifier&quot;&gt;print&lt;/span&gt;(&lt;span class=&quot;Constant&quot;&gt;'  Ranking %s in round %2i giving extra coverage of: %r'&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt; 86 &lt;/span&gt;                       % (test, &lt;span class=&quot;Identifier&quot;&gt;round&lt;/span&gt;, &lt;span class=&quot;Identifier&quot;&gt;sorted&lt;/span&gt;(cover - coveredsofar)))&lt;br /&gt;&lt;/span&gt;&lt;span class=&quot;lnr&quot;&gt; 87 &lt;/span&gt;&lt;span&gt;            coveredsofar.update(cover)&lt;br /&gt;&lt;/span&gt;&lt;span class=&quot;lnr&quot;&gt; 88 &lt;/span&gt;&lt;span&gt;            costsofar += cost&lt;br /&gt;&lt;/span&gt;&lt;span class=&quot;lnr&quot;&gt; 89 &lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class=&quot;lnr&quot;&gt; 90 &lt;/span&gt;&lt;span&gt;        &lt;/span&gt;&lt;span class=&quot;Statement&quot;&gt;for&lt;/span&gt;&lt;span&gt; delta_cover, benefit, test &lt;/span&gt;&lt;span class=&quot;Statement&quot;&gt;in&lt;/span&gt;&lt;span&gt; contributions:&lt;br /&gt;&lt;/span&gt;&lt;span class=&quot;lnr&quot;&gt; 91 &lt;/span&gt;&lt;span&gt;            &lt;/span&gt;&lt;span class=&quot;Statement&quot;&gt;if&lt;/span&gt;&lt;span&gt; delta_cover == &lt;/span&gt;&lt;span class=&quot;Constant&quot;&gt;0&lt;/span&gt;&lt;span&gt;:&lt;br /&gt;&lt;/span&gt;&lt;span class=&quot;lnr&quot;&gt; 92 &lt;/span&gt;&lt;span&gt;                &lt;/span&gt;&lt;span class=&quot;Comment&quot;&gt;# this test cannot contribute anything&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class=&quot;lnr&quot;&gt; 93 &lt;/span&gt;&lt;span&gt;                noncontributing.append( (test, &lt;/span&gt;&lt;span class=&quot;Identifier&quot;&gt;round&lt;/span&gt;&lt;span&gt;) )&lt;br /&gt;&lt;/span&gt;&lt;span class=&quot;lnr&quot;&gt; 94 &lt;/span&gt;&lt;span&gt;                results.pop(test)&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;lnr&quot;&gt; 95 &lt;/span&gt;    &lt;span class=&quot;Statement&quot;&gt;if&lt;/span&gt; tutor:&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt; 96 &lt;/span&gt;        &lt;span class=&quot;Identifier&quot;&gt;print&lt;/span&gt;(&lt;span class=&quot;Constant&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;Special&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;Constant&quot;&gt;## ALL TESTS NOW RANKED OR DISCARDED&lt;/span&gt;&lt;span class=&quot;Special&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;Constant&quot;&gt;'&lt;/span&gt;)&lt;br /&gt;&lt;/span&gt;&lt;span class=&quot;lnr&quot;&gt; 97 &lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span class=&quot;Statement&quot;&gt;return&lt;/span&gt;&lt;span&gt; coveredsofar, ranked, costsofar, noncontributing&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;Every block starting &lt;span&gt;if tutor:&lt;/span&gt;&amp;nbsp;above has the added code.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Sample output&lt;/h3&gt;The code to call the ranker and print the results is:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class=&quot;lnr&quot;&gt; 98 &lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt; 99 &lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt;100 &lt;/span&gt;totalcoverage, ranking, totalcost, nonranked = greedyranker(results)&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt;101 &lt;/span&gt;&lt;span class=&quot;Identifier&quot;&gt;print&lt;/span&gt;(&lt;span class=&quot;Constant&quot;&gt;'''&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt;102 &lt;/span&gt;&lt;span class=&quot;Constant&quot;&gt;A total of %i points were covered, &lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt;103 &lt;/span&gt;&lt;span class=&quot;Constant&quot;&gt;using only %i of the initial %i tests,&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt;104 &lt;/span&gt;&lt;span class=&quot;Constant&quot;&gt;and should take %g time units to run.&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt;105 &lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt;106 &lt;/span&gt;&lt;span class=&quot;Constant&quot;&gt;The tests in order of coverage added:&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt;107 &lt;/span&gt;&lt;span class=&quot;Constant&quot;&gt;    &lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt;108 &lt;/span&gt;&lt;span class=&quot;Constant&quot;&gt;    TEST  DELTA-COVERAGE'''&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt;109 &lt;/span&gt; % (&lt;span class=&quot;Identifier&quot;&gt;len&lt;/span&gt;(totalcoverage), &lt;span class=&quot;Identifier&quot;&gt;len&lt;/span&gt;(ranking), &lt;span class=&quot;Identifier&quot;&gt;len&lt;/span&gt;(results), totalcost))&lt;br /&gt;&lt;span class=&quot;lnr&quot;&gt;110 &lt;/span&gt;&lt;span class=&quot;Identifier&quot;&gt;print&lt;/span&gt;(&lt;span class=&quot;Constant&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;Special&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;Constant&quot;&gt;'&lt;/span&gt;.join(&lt;span class=&quot;Constant&quot;&gt;'  %6s  %i'&lt;/span&gt; % r &lt;span class=&quot;Statement&quot;&gt;for&lt;/span&gt; r &lt;span class=&quot;Statement&quot;&gt;in&lt;/span&gt; ranking))&lt;/pre&gt;&lt;br /&gt;The output has a lot of stuff from the tutor followed by the &lt;span&gt;result at the end&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;For this pseudo randomly generate test case of 15 tests it shows that only seven are needed to generate the maximum total coverage. (And if you were willing to loose the coverage of three tests that each cover only one additional point then 4 out of 15 tests would give 92.5% of the maximum coverage possible).&lt;br /&gt;&lt;br /&gt;&lt;span&gt;## Round 1&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; Covered so far: &amp;nbsp;0 points:&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; Ranked so far: []&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; What the remaining tests can contribute, largest contributors first:&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; # DELTA, BENEFIT, TEST&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;14, &amp;nbsp; &amp;nbsp; &amp;nbsp;-2.08, &amp;nbsp; &amp;nbsp;test_00&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;14, &amp;nbsp; &amp;nbsp;-100.00, &amp;nbsp; &amp;nbsp;test_04&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;13, &amp;nbsp; &amp;nbsp; -40.62, &amp;nbsp; &amp;nbsp;test_14&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;13, &amp;nbsp; &amp;nbsp; -58.04, &amp;nbsp; &amp;nbsp;test_01&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;12, &amp;nbsp; &amp;nbsp; &amp;nbsp;-4.46, &amp;nbsp; &amp;nbsp;test_05&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;12, &amp;nbsp; &amp;nbsp; -26.79, &amp;nbsp; &amp;nbsp;test_12&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;12, &amp;nbsp; &amp;nbsp; -34.82, &amp;nbsp; &amp;nbsp;test_02&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;12, &amp;nbsp; &amp;nbsp; -85.71, &amp;nbsp; &amp;nbsp;test_07&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;11, &amp;nbsp; &amp;nbsp; &amp;nbsp;-5.73, &amp;nbsp; &amp;nbsp;test_08&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;11, &amp;nbsp; &amp;nbsp; -15.55, &amp;nbsp; &amp;nbsp;test_09&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;11, &amp;nbsp; &amp;nbsp; -69.57, &amp;nbsp; &amp;nbsp;test_06&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 9, &amp;nbsp; &amp;nbsp; -12.05, &amp;nbsp; &amp;nbsp;test_10&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 9, &amp;nbsp; &amp;nbsp; -16.07, &amp;nbsp; &amp;nbsp;test_13&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 9, &amp;nbsp; &amp;nbsp; -52.23, &amp;nbsp; &amp;nbsp;test_11&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 8, &amp;nbsp; &amp;nbsp; -32.74, &amp;nbsp; &amp;nbsp;test_03&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; Note: This time around, more than one test gives the same&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; maximum delta contribution of 14 to the coverage so far&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; we order based on the next field of minimum cost&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (equivalent to maximum negative cost).&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; Ranking test_00 in round &amp;nbsp;1 giving extra coverage of: [2, 3, 5, 11, 12, 16, 19, 23, 25, 26, 29, 36, 38, 40]&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt; &lt;span&gt;## Round 2&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; Covered so far: 14 points:&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; Ranked so far: ['test_00']&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; What the remaining tests can contribute, largest contributors first:&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; # DELTA, BENEFIT, TEST&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;12, &amp;nbsp; &amp;nbsp; -58.04, &amp;nbsp; &amp;nbsp;test_01&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;10, &amp;nbsp; &amp;nbsp;-100.00, &amp;nbsp; &amp;nbsp;test_04&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 9, &amp;nbsp; &amp;nbsp; -12.05, &amp;nbsp; &amp;nbsp;test_10&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 9, &amp;nbsp; &amp;nbsp; -26.79, &amp;nbsp; &amp;nbsp;test_12&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 9, &amp;nbsp; &amp;nbsp; -85.71, &amp;nbsp; &amp;nbsp;test_07&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 8, &amp;nbsp; &amp;nbsp; &amp;nbsp;-4.46, &amp;nbsp; &amp;nbsp;test_05&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 7, &amp;nbsp; &amp;nbsp; -15.55, &amp;nbsp; &amp;nbsp;test_09&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 7, &amp;nbsp; &amp;nbsp; -16.07, &amp;nbsp; &amp;nbsp;test_13&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 7, &amp;nbsp; &amp;nbsp; -40.62, &amp;nbsp; &amp;nbsp;test_14&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 7, &amp;nbsp; &amp;nbsp; -69.57, &amp;nbsp; &amp;nbsp;test_06&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 6, &amp;nbsp; &amp;nbsp; -34.82, &amp;nbsp; &amp;nbsp;test_02&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 5, &amp;nbsp; &amp;nbsp; &amp;nbsp;-5.73, &amp;nbsp; &amp;nbsp;test_08&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 5, &amp;nbsp; &amp;nbsp; -32.74, &amp;nbsp; &amp;nbsp;test_03&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 5, &amp;nbsp; &amp;nbsp; -52.23, &amp;nbsp; &amp;nbsp;test_11&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; Ranking test_01 in round &amp;nbsp;2 giving extra coverage of: [0, 10, 13, 15, 17, 20, 22, 27, 30, 31, 33, 34]&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt; &lt;span&gt;## Round 3&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; Covered so far: 26 points:&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; Ranked so far: ['test_00', 'test_01']&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; What the remaining tests can contribute, largest contributors first:&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; # DELTA, BENEFIT, TEST&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 7, &amp;nbsp; &amp;nbsp;-100.00, &amp;nbsp; &amp;nbsp;test_04&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 5, &amp;nbsp; &amp;nbsp; -12.05, &amp;nbsp; &amp;nbsp;test_10&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 5, &amp;nbsp; &amp;nbsp; -26.79, &amp;nbsp; &amp;nbsp;test_12&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 5, &amp;nbsp; &amp;nbsp; -85.71, &amp;nbsp; &amp;nbsp;test_07&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 4, &amp;nbsp; &amp;nbsp; &amp;nbsp;-4.46, &amp;nbsp; &amp;nbsp;test_05&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 3, &amp;nbsp; &amp;nbsp; &amp;nbsp;-5.73, &amp;nbsp; &amp;nbsp;test_08&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 3, &amp;nbsp; &amp;nbsp; -16.07, &amp;nbsp; &amp;nbsp;test_13&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 3, &amp;nbsp; &amp;nbsp; -32.74, &amp;nbsp; &amp;nbsp;test_03&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 3, &amp;nbsp; &amp;nbsp; -34.82, &amp;nbsp; &amp;nbsp;test_02&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 2, &amp;nbsp; &amp;nbsp; -15.55, &amp;nbsp; &amp;nbsp;test_09&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 2, &amp;nbsp; &amp;nbsp; -40.62, &amp;nbsp; &amp;nbsp;test_14&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 1, &amp;nbsp; &amp;nbsp; -52.23, &amp;nbsp; &amp;nbsp;test_11&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 1, &amp;nbsp; &amp;nbsp; -69.57, &amp;nbsp; &amp;nbsp;test_06&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; Ranking test_04 in round &amp;nbsp;3 giving extra coverage of: [1, 4, 6, 7, 8, 9, 18]&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt; &lt;span&gt;## Round 4&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; Covered so far: 33 points:&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; Ranked so far: ['test_00', 'test_01', 'test_04']&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; What the remaining tests can contribute, largest contributors first:&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; # DELTA, BENEFIT, TEST&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 4, &amp;nbsp; &amp;nbsp; -12.05, &amp;nbsp; &amp;nbsp;test_10&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 3, &amp;nbsp; &amp;nbsp; -85.71, &amp;nbsp; &amp;nbsp;test_07&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 2, &amp;nbsp; &amp;nbsp; &amp;nbsp;-4.46, &amp;nbsp; &amp;nbsp;test_05&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 2, &amp;nbsp; &amp;nbsp; -32.74, &amp;nbsp; &amp;nbsp;test_03&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 1, &amp;nbsp; &amp;nbsp; &amp;nbsp;-5.73, &amp;nbsp; &amp;nbsp;test_08&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 1, &amp;nbsp; &amp;nbsp; -15.55, &amp;nbsp; &amp;nbsp;test_09&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 1, &amp;nbsp; &amp;nbsp; -26.79, &amp;nbsp; &amp;nbsp;test_12&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 1, &amp;nbsp; &amp;nbsp; -34.82, &amp;nbsp; &amp;nbsp;test_02&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 1, &amp;nbsp; &amp;nbsp; -69.57, &amp;nbsp; &amp;nbsp;test_06&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 0, &amp;nbsp; &amp;nbsp; -16.07, &amp;nbsp; &amp;nbsp;test_13&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 0, &amp;nbsp; &amp;nbsp; -40.62, &amp;nbsp; &amp;nbsp;test_14&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 0, &amp;nbsp; &amp;nbsp; -52.23, &amp;nbsp; &amp;nbsp;test_11&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; The following test(s) cannot contribute more to coverage&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; and will be dropped:&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; test_13, test_14, test_11&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; Ranking test_10 in round &amp;nbsp;4 giving extra coverage of: [14, 24, 35, 39]&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt; &lt;span&gt;## Round 5&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; Covered so far: 37 points:&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; Ranked so far: ['test_00', 'test_01', 'test_04', 'test_10']&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; What the remaining tests can contribute, largest contributors first:&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; # DELTA, BENEFIT, TEST&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 1, &amp;nbsp; &amp;nbsp; &amp;nbsp;-4.46, &amp;nbsp; &amp;nbsp;test_05&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 1, &amp;nbsp; &amp;nbsp; &amp;nbsp;-5.73, &amp;nbsp; &amp;nbsp;test_08&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 1, &amp;nbsp; &amp;nbsp; -26.79, &amp;nbsp; &amp;nbsp;test_12&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 1, &amp;nbsp; &amp;nbsp; -32.74, &amp;nbsp; &amp;nbsp;test_03&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 1, &amp;nbsp; &amp;nbsp; -34.82, &amp;nbsp; &amp;nbsp;test_02&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 1, &amp;nbsp; &amp;nbsp; -69.57, &amp;nbsp; &amp;nbsp;test_06&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 0, &amp;nbsp; &amp;nbsp; -15.55, &amp;nbsp; &amp;nbsp;test_09&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 0, &amp;nbsp; &amp;nbsp; -85.71, &amp;nbsp; &amp;nbsp;test_07&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; Note: This time around, more than one test gives the same&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; maximum delta contribution of 1 to the coverage so far&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; we order based on the next field of minimum cost&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (equivalent to maximum negative cost).&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; The following test(s) cannot contribute more to coverage&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; and will be dropped:&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; test_09, test_07&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; Ranking test_05 in round &amp;nbsp;5 giving extra coverage of: [21]&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt; &lt;span&gt;## Round 6&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; Covered so far: 38 points:&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; Ranked so far: ['test_00', 'test_01', 'test_04', 'test_10', 'test_05']&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; What the remaining tests can contribute, largest contributors first:&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; # DELTA, BENEFIT, TEST&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 1, &amp;nbsp; &amp;nbsp; &amp;nbsp;-5.73, &amp;nbsp; &amp;nbsp;test_08&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 1, &amp;nbsp; &amp;nbsp; -26.79, &amp;nbsp; &amp;nbsp;test_12&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 1, &amp;nbsp; &amp;nbsp; -69.57, &amp;nbsp; &amp;nbsp;test_06&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 0, &amp;nbsp; &amp;nbsp; -32.74, &amp;nbsp; &amp;nbsp;test_03&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 0, &amp;nbsp; &amp;nbsp; -34.82, &amp;nbsp; &amp;nbsp;test_02&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; Note: This time around, more than one test gives the same&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; maximum delta contribution of 1 to the coverage so far&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; we order based on the next field of minimum cost&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (equivalent to maximum negative cost).&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; The following test(s) cannot contribute more to coverage&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; and will be dropped:&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; test_03, test_02&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; Ranking test_08 in round &amp;nbsp;6 giving extra coverage of: [28]&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt; &lt;span&gt;## Round 7&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; Covered so far: 39 points:&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; Ranked so far: ['test_00', 'test_01', 'test_04', 'test_10', 'test_05', 'test_08']&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; What the remaining tests can contribute, largest contributors first:&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; # DELTA, BENEFIT, TEST&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 1, &amp;nbsp; &amp;nbsp; -26.79, &amp;nbsp; &amp;nbsp;test_12&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 1, &amp;nbsp; &amp;nbsp; -69.57, &amp;nbsp; &amp;nbsp;test_06&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; Note: This time around, more than one test gives the same&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; maximum delta contribution of 1 to the coverage so far&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; we order based on the next field of minimum cost&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (equivalent to maximum negative cost).&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; Ranking test_12 in round &amp;nbsp;7 giving extra coverage of: [32]&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt; &lt;span&gt;## Round 8&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; Covered so far: 40 points:&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; Ranked so far: ['test_00', 'test_01', 'test_04', 'test_10', 'test_05', 'test_08', 'test_12']&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; What the remaining tests can contribute, largest contributors first:&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; # DELTA, BENEFIT, TEST&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 0, &amp;nbsp; &amp;nbsp; -69.57, &amp;nbsp; &amp;nbsp;test_06&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; The following test(s) cannot contribute more to coverage&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; and will be dropped:&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; test_06&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt; &lt;span&gt;## ALL TESTS NOW RANKED OR DISCARDED&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt; &lt;span&gt;&lt;br /&gt;&lt;/span&gt; &lt;span&gt;&lt;b&gt;A total of 40 points were covered,&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&lt;b&gt;using only 7 of the initial 15 tests,&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&lt;b&gt;and should take 209.15 time units to run.&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt; &lt;span&gt;&lt;b&gt;The tests in order of coverage added:&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; TEST &amp;nbsp;DELTA-COVERAGE&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&lt;b&gt;&amp;nbsp; test_00 &amp;nbsp;14&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&lt;b&gt;&amp;nbsp; test_01 &amp;nbsp;12&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&lt;b&gt;&amp;nbsp; test_04 &amp;nbsp;7&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&lt;b&gt;&amp;nbsp; test_10 &amp;nbsp;4&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&lt;b&gt;&amp;nbsp; test_05 &amp;nbsp;1&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&lt;b&gt;&amp;nbsp; test_08 &amp;nbsp;1&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&lt;b&gt;&amp;nbsp; test_12 &amp;nbsp;1&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;What should be next&lt;/h3&gt;There is a new&amp;nbsp;&lt;a href=&quot;http://www.accellera.org/resources/videos/ucisintro/&quot; target=&quot;_blank&quot;&gt;Unified Coverage Interoperability Standard&lt;/a&gt; for a database for storing test coverage data ideally the greedy ranker should be hooked up to that UCIS DB to get its inputs via its C-interface or maybe its XML output instead of parsing text files.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Addendum&lt;/h2&gt;&lt;h3&gt;Random results dict creator&lt;/h3&gt;As used for testing:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;def cover_creator(ntests=25, maxcoverpoints=100):&lt;br /&gt;    import random&lt;br /&gt;    results = {}&lt;br /&gt;    coveredrange = (maxcoverpoints * 1 // 6, &lt;br /&gt;                    1 + maxcoverpoints * 2 // 6)&lt;br /&gt;    print coveredrange&lt;br /&gt;    for test in range(ntests):&lt;br /&gt;        name = 'test_%02i' % test&lt;br /&gt;        covered = sorted(set(random.randint(0, maxcoverpoints-1)&lt;br /&gt;                         for i in range(random.randint(*coveredrange))))&lt;br /&gt;        time = len(covered) * (100 + (random.random() - 0.5) * 40) / 100.0&lt;br /&gt;        results[name] = ( float('%6.2f' % time), set(covered))&lt;br /&gt;    return results&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;END.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/GoDeh/~4/UuWRvt9T9VE&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Sun, 16 Jun 2013 08:04:05 +0000</pubDate>
</item>
<item>
	<title>Tomer Filiba: TTYs: Never gets boring</title>
	<guid>http://tomerfiliba.com/blog/TTYs</guid>
	<link>http://tomerfiliba.com/blog/TTYs</link>
	<description>&lt;p&gt;&lt;img src=&quot;http://tomerfiliba.com/static/res/2013-06-15-ttys.jpg&quot; title=&quot;TTY&quot; class=&quot;blog-post-image&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Just a short rant: I'm working on an interactive console used for debugging a computer cluster. It connects
to all nodes in the cluster and provides you with a single place to run queries. It uses the new (not yet
officially-released) &lt;a href=&quot;https://rpyc.readthedocs.org/en/latest/api/utils_zerodeploy.html#api-zerodeploy&quot;&gt;zero-deploy&lt;/a&gt;
feature of RPyC, which sets up a secure, single-use RPyC server on a machine, requiring only SSH access.
Once the client connection closes, the zero-deployed server will shut down and delete itself from the file system.&lt;/p&gt;

&lt;p&gt;It's a cool feature on its own (and I'll blog about it soon), but there's a reason I'm getting you through all
of the details here. You see, the debugging console fires up SSH subprocesses in the background, over which RPyC
connections are tunneled... and then the strangest thing happened. I was running a query which was taking too
long and hit Ctrl+C to kill it and return to the interpreter. The query indeed stopped, but all of my RPyC
connections have died with it. Huh?&lt;/p&gt;

&lt;p&gt;Here's a really short way to reproduce this scenario:&lt;/p&gt;

&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;pycon&quot;&gt;&lt;span class=&quot;gp&quot;&gt;&amp;gt;&amp;gt;&amp;gt; &lt;/span&gt;&lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;subprocess&lt;/span&gt; &lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Popen&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;PIPE&lt;/span&gt;
&lt;span class=&quot;gp&quot;&gt;&amp;gt;&amp;gt;&amp;gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;p&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Popen&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;([&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&amp;quot;sleep&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&amp;quot;60&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;stdin&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;PIPE&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;stdout&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;PIPE&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;stderr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;PIPE&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;go&quot;&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt;
&lt;span class=&quot;gp&quot;&gt;&amp;gt;&amp;gt;&amp;gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;p&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;poll&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;      &lt;span class=&quot;c&quot;&gt;# poll() returns None as the process is still running in the background&lt;/span&gt;
&lt;span class=&quot;gp&quot;&gt;&amp;gt;&amp;gt;&amp;gt; &lt;/span&gt;
&lt;span class=&quot;gp&quot;&gt;&amp;gt;&amp;gt;&amp;gt; &lt;/span&gt;              &lt;span class=&quot;c&quot;&gt;# now hit Ctrl+C in the interactive prompt&lt;/span&gt;
&lt;span class=&quot;nc&quot;&gt;KeyboardInterrupt&lt;/span&gt;
&lt;span class=&quot;go&quot;&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt;
&lt;span class=&quot;gp&quot;&gt;&amp;gt;&amp;gt;&amp;gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;p&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;poll&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;      &lt;span class=&quot;c&quot;&gt;# and voila, `sleep` was killed by SIGINT&lt;/span&gt;
&lt;span class=&quot;go&quot;&gt;-2&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;It's terribly confusing at first, but it happens because child processes inherit their paren't session ID.
Terminal events, such as &lt;code&gt;SIGINT&lt;/code&gt; and &lt;code&gt;SIGHUP&lt;/code&gt;, are dispatched to all processes belonging to the terminal's
process group, so it's not just the Python interpreter to receive the signal -- every child process it spawned
will also suffer. In my case, it killed all of the SSH tunnels I had set up.&lt;/p&gt;

&lt;p&gt;The solution is to &lt;a href=&quot;http://linux.die.net/man/2/setsid&quot;&gt;setsid&lt;/a&gt; before &lt;code&gt;exec&lt;/code&gt;ing the child:&lt;/p&gt;

&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;pycon&quot;&gt;&lt;span class=&quot;gp&quot;&gt;&amp;gt;&amp;gt;&amp;gt; &lt;/span&gt;&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;os&lt;/span&gt;
&lt;span class=&quot;gp&quot;&gt;&amp;gt;&amp;gt;&amp;gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;p&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Popen&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;([&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&amp;quot;sleep&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&amp;quot;60&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;stdin&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;PIPE&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;stdout&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;PIPE&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;stderr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;PIPE&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;preexec_fn&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;os&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;setsid&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;gp&quot;&gt;&amp;gt;&amp;gt;&amp;gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;p&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;poll&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;span class=&quot;go&quot;&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt;
&lt;span class=&quot;nc&quot;&gt;KeyboardInterrupt&lt;/span&gt;
&lt;span class=&quot;gp&quot;&gt;&amp;gt;&amp;gt;&amp;gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;p&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;poll&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;span class=&quot;go&quot;&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;So I had to add this feature to &lt;a href=&quot;http://plumbum.readthedocs.org/&quot;&gt;plumbum&lt;/a&gt;, and while I was at it, I also added
&lt;a href=&quot;https://github.com/tomerfiliba/plumbum/blob/master/plumbum/daemons.py&quot;&gt;daemonization&lt;/a&gt; support. In other words,
I'll have to release 1.3 soon -- even though I released 1.2 not two weeks ago. Life's a bitch and TTYs are the
mother of all monsters :)&lt;/p&gt;</description>
	<pubDate>Sun, 16 Jun 2013 07:00:00 +0000</pubDate>
</item>
<item>
	<title>Mark Dufour: Shed Skin 0.9.4</title>
	<guid>http://shed-skin.blogspot.com/2013/06/shed-skin-094.html</guid>
	<link>http://shed-skin.blogspot.com/2013/06/shed-skin-094.html</link>
	<description>I have just released Shed Skin 0.9.4, a (restricted-)Python-(2.x)-to-C++ compiler. The full release notes can be found &lt;a href=&quot;https://code.google.com/p/shedskin/wiki/releasenotes&quot;&gt;here&lt;/a&gt;, as usual.  &lt;p&gt;Major thanks go to Ernesto Ferro, who has been making many large refactorings in the code to improve maintainability. He also found a nice new example, called Gh0stenstein (see picture below). Paul Haeberli has also triggered several very useful improvements.  &lt;p&gt;&lt;div class=&quot;separator&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-R25EUIlAAX8/Ub2EwDGE2bI/AAAAAAAAADI/CD8rOb7ucbA/s1600/Gh0stenstein.png&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://4.bp.blogspot.com/-R25EUIlAAX8/Ub2EwDGE2bI/AAAAAAAAADI/CD8rOb7ucbA/s320/Gh0stenstein.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt; &lt;p&gt;Besides refactoring, most changes are minor fixes or improved tests. But there are quite a few of them. There are also 3 new examples, meaning there are now &lt;a href=&quot;https://shedskin.googlecode.com/files/shedskin-examples-0.9.4.tgz&quot;&gt;75 examples&lt;/a&gt; in total, which I think is a milestone in itself.&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;</description>
	<pubDate>Sun, 16 Jun 2013 03:41:58 +0000</pubDate>
</item>
<item>
	<title>Brian Okken: unittest fixture syntax and flow reference</title>
	<guid>http://feedproxy.google.com/~r/PythonTesting/~3/Xwdok2jtnNQ/</guid>
	<link>http://feedproxy.google.com/~r/PythonTesting/~3/Xwdok2jtnNQ/</link>
	<description>&lt;p&gt;This post contains examples of how unittest test fixture functions and methods are written, and in what order they run. It may seem like a long post, but it&amp;#8217;s mostly code examples and example output. I want this to be a useful reference for both the syntax and flow of unittest fixtures. If I missed [...]&lt;/p&gt;&lt;p&gt;The post &lt;a href=&quot;http://pythontesting.net/framework/unittest/unittest-fixtures/&quot;&gt;unittest fixture syntax and flow reference&lt;/a&gt; appeared first on &lt;a href=&quot;http://pythontesting.net&quot;&gt;Python Testing&lt;/a&gt;.&lt;/p&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/PythonTesting/~4/Xwdok2jtnNQ&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Sun, 16 Jun 2013 00:15:33 +0000</pubDate>
</item>
<item>
	<title>Vasudev Ram: Create PDF books with XMLtoPDFBook</title>
	<guid>http://jugad2.blogspot.com/2013/06/create-pdf-books-with-xmltopdfbook.html</guid>
	<link>http://jugad2.blogspot.com/2013/06/create-pdf-books-with-xmltopdfbook.html</link>
	<description>By &lt;a href=&quot;http://www.dancingbison.com&quot;&gt;Vasudev Ram&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://jugad2.blogspot.co.uk/feeds/posts/default/-/python&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;XMLtoPDFBook&lt;/i&gt; is a program that lets you &lt;i&gt;create simple PDF books&lt;/i&gt; from &lt;i&gt;XML text content&lt;/i&gt;. It requires &lt;i&gt;Python&lt;/i&gt;, &lt;a href=&quot;http://www.reportlab.com/ftp&quot;&gt;ReportLab&lt;/a&gt; and my &lt;a href=&quot;https://bitbucket.org/vasudevram/xtopdf&quot;&gt;xtopdf toolkit&lt;/a&gt; for &lt;a href=&quot;http://www.packtpub.com/article/Using_xtopdf&quot;&gt;PDF creation&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;(Use ReportLab v1.21, not the 2.x series; though 2.x has more features, xtopdf has not been tested with it; also, those additional features are not required for xtopdf.)&lt;br /&gt;&lt;br /&gt;XMLtoPDFBook.py is released as open source software under the BSD license, and I'll be adding it to the tools in my xtopdf toolkit.&lt;br /&gt;&lt;br /&gt;Here's how to use XMLtoPDFBook:&lt;br /&gt;&lt;br /&gt;In a text editor, create a simple &lt;i&gt;XML template&lt;/i&gt; for the book, like this:&lt;br /&gt;&lt;pre&gt;&amp;lt;?xml version=&quot;1.0&quot;?&amp;gt;&lt;br /&gt;&amp;lt;book&amp;gt;&lt;br /&gt;        &amp;lt;chapter&amp;gt;&lt;br /&gt;        Chapter 1 content here.&lt;br /&gt;        &amp;lt;/chapter&amp;gt;&lt;br /&gt;&lt;br /&gt;        &amp;lt;chapter&amp;gt;&lt;br /&gt;        Chapter 2 content here.&lt;br /&gt;        &amp;lt;/chapter&amp;gt;&lt;br /&gt;&amp;lt;/book&amp;gt;&lt;br /&gt;&lt;/pre&gt;Add as many chapter elements as you need.&lt;br /&gt;&lt;br /&gt;Then write or paste the text of one chapter inside each chapter element, in sequence.&lt;br /&gt;&lt;br /&gt;Now you can convert the book content to PDF using this program, XMLtoPDFBook:&lt;br /&gt;&lt;pre&gt;#--------------------------------------------------&lt;br /&gt;# XMLtoPDFBook.py&lt;br /&gt;&lt;br /&gt;# A program to convert a book in XML text format to a PDF book.&lt;br /&gt;# Uses xtopdf and ReportLab.&lt;br /&gt;&lt;br /&gt;# Author: Vasudev Ram - http://www.dancingbison.com&lt;br /&gt;# Version: v0.1&lt;br /&gt;&lt;br /&gt;#--------------------------------------------------&lt;br /&gt;&lt;br /&gt;# imports&lt;br /&gt;&lt;br /&gt;import sys&lt;br /&gt;import os&lt;br /&gt;import string&lt;br /&gt;import time&lt;br /&gt;&lt;br /&gt;from PDFWriter import PDFWriter&lt;br /&gt;&lt;br /&gt;try:&lt;br /&gt;    import xml.etree.cElementTree as ET&lt;br /&gt;except ImportError:&lt;br /&gt;    import xml.etree.ElementTree as ET&lt;br /&gt;&lt;br /&gt;#--------------------------------------------------&lt;br /&gt;&lt;br /&gt;# global variables&lt;br /&gt;&lt;br /&gt;sysargv = None&lt;br /&gt;&lt;br /&gt;#--------------------------------------------------&lt;br /&gt;&lt;br /&gt;def debug(message):&lt;br /&gt;    sys.stderr.write(message + &quot;\n&quot;)&lt;br /&gt;&lt;br /&gt;#--------------------------------------------------&lt;br /&gt;&lt;br /&gt;def get_xml_filename(sysargv):&lt;br /&gt;    return sysargv[1]&lt;br /&gt;&lt;br /&gt;#--------------------------------------------------&lt;br /&gt;&lt;br /&gt;def get_pdf_filename(sysargv):&lt;br /&gt;    return sysargv[2]&lt;br /&gt;&lt;br /&gt;#--------------------------------------------------&lt;br /&gt;&lt;br /&gt;def XMLtoPDFBook():&lt;br /&gt;&lt;br /&gt;    debug(&quot;Entered XMLtoPDFBook()&quot;)&lt;br /&gt;&lt;br /&gt;    global sysargv&lt;br /&gt;&lt;br /&gt;    xml_filename = get_xml_filename(sysargv)&lt;br /&gt;    debug(&quot;xml_filename: &quot; + xml_filename)&lt;br /&gt;    pdf_filename = get_pdf_filename(sysargv)&lt;br /&gt;    debug(&quot;pdf_filename: &quot; + pdf_filename)&lt;br /&gt;&lt;br /&gt;    pw = PDFWriter(pdf_filename)&lt;br /&gt;    pw.setFont(&quot;Courier&quot;, 12)&lt;br /&gt;    pw.setHeader(xml_filename + &quot; to &quot; + pdf_filename)&lt;br /&gt;    pw.setFooter(&quot;Generated by ElementTree and xtopdf&quot;)&lt;br /&gt;&lt;br /&gt;    tree = ET.ElementTree(file=xml_filename)&lt;br /&gt;    debug(&quot;tree = &quot; + repr(tree))&lt;br /&gt;&lt;br /&gt;    root = tree.getroot()&lt;br /&gt;    debug(&quot;root.tag = &quot; + root.tag)&lt;br /&gt;    if root.tag != &quot;book&quot;:&lt;br /&gt;        debug(&quot;Error: Root tag is not 'book'&quot;)&lt;br /&gt;        sys.exit(2)&lt;br /&gt;&lt;br /&gt;    debug(&quot;=&quot; * 60)&lt;br /&gt;    for root_child in root:&lt;br /&gt;        if root_child.tag != &quot;chapter&quot;:&lt;br /&gt;            debug(&quot;Error: root_child tag is not 'chapter'&quot;)&lt;br /&gt;            sys.exit(3)&lt;br /&gt;        debug(root_child.text)&lt;br /&gt;        lines = root_child.text.split(&quot;\n&quot;)&lt;br /&gt;        for line in lines:&lt;br /&gt;            pw.writeLine(line)&lt;br /&gt;        pw.savePage()&lt;br /&gt;        debug(&quot;-&quot; * 60)&lt;br /&gt;    debug(&quot;=&quot; * 60)&lt;br /&gt;    pw.close()&lt;br /&gt;&lt;br /&gt;    debug(&quot;Exiting XMLtoPDFBook()&quot;)&lt;br /&gt;&lt;br /&gt;#--------------------------------------------------&lt;br /&gt;&lt;br /&gt;def main():&lt;br /&gt;&lt;br /&gt;    debug(&quot;Entered main()&quot;)&lt;br /&gt;&lt;br /&gt;    global sysargv&lt;br /&gt;    sysargv = sys.argv&lt;br /&gt;&lt;br /&gt;    # Check for right number of arguments.&lt;br /&gt;    if len(sysargv) != 3:&lt;br /&gt;        sys.exit(1)&lt;br /&gt;&lt;br /&gt;    XMLtoPDFBook()&lt;br /&gt;&lt;br /&gt;    debug(&quot;Exiting main()&quot;)&lt;br /&gt;&lt;br /&gt;#--------------------------------------------------&lt;br /&gt;&lt;br /&gt;if __name__ == &quot;__main__&quot;:&lt;br /&gt;    main()&lt;br /&gt;&lt;br /&gt;#--------------------------------------------------&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Here is an example run of XMLtoPDFBook, using my &lt;a href=&quot;http://www.dancingbison.com/writings/vi_quickstart.txt&quot;&gt;vi quickstart article&lt;/a&gt; earlier published in Linux For You magazine:&lt;br /&gt;&lt;br /&gt;python XMLtoPDFBook.py vi_quickstart.xml vi_quickstart.pdf&lt;br /&gt;&lt;br /&gt;This results in the contents of the article being published to PDF in the file vi_quickstart.pdf.&lt;br /&gt;&lt;br /&gt;- &lt;a href=&quot;http://jugad2.blogspot.in/2013/03/dancing-bison-enterprises-profile.html&quot;&gt;Vasudev Ram - Dancing Bison Enterprises&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://docs.google.com/forms/d/1WKe-AmS2ZgKxAYoETB90chcVy6-J6Pp64lHQ4vEQeLA/viewform&quot; target=&quot;_blank&quot;&gt;Contact me&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;!-- AddThis Button BEGIN --&gt; &lt;div class=&quot;addthis_toolbox addthis_default_style&quot;&gt;&lt;a href=&quot;http://www.addthis.com/bookmark.php?v=250&amp;username=vasudevram&quot; class=&quot;addthis_button_compact&quot;&gt;Share&lt;/a&gt; &lt;span class=&quot;addthis_separator&quot;&gt;|&lt;/span&gt; &lt;a class=&quot;addthis_button_preferred_1&quot;&gt;&lt;/a&gt; &lt;a class=&quot;addthis_button_preferred_2&quot;&gt;&lt;/a&gt; &lt;a class=&quot;addthis_button_preferred_3&quot;&gt;&lt;/a&gt; &lt;a class=&quot;addthis_button_preferred_4&quot;&gt;&lt;/a&gt; &lt;/div&gt;  &lt;!-- AddThis Button END --&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;a href=&quot;http://www.dancingbison.com&quot;&gt;Vasudev Ram&lt;/a&gt;
&lt;br /&gt;&lt;/div&gt;</description>
	<pubDate>Sat, 15 Jun 2013 06:13:51 +0000</pubDate>
</item>
<item>
	<title>Ed Crewe: IT Megameet</title>
	<guid>http://edcrewe.blogspot.com/2013/06/it-megameet.html</guid>
	<link>http://edcrewe.blogspot.com/2013/06/it-megameet.html</link>
	<description>Yes MegaMeet may have a slightly cheesey ring to it, but the Bristol &lt;a href=&quot;http://bristol.itmegameet.co.uk/&quot;&gt;IT MegaMeet&lt;/a&gt; was a lot of fun, and a great idea for a regional software community event. So unlike most conferences this one is not for a particular company, language, platform or area of software expertise. Instead it brings together all the voluntary community software and technology groups within the region of Bristol, UK.&lt;br /&gt;&lt;br /&gt;There are quite a number as it turns out, and so squeezing the conference into a single day resulted in 5 tracks. For a conference organised for the first time last year by a student to save his course - thanks Lyle Hopkins, it rather put our local University's official efforts in software community engagement to shame - however perhaps it might encourage them to rise to the challenge. (Lyle is a student at one, and I work at the other.)&lt;br /&gt;&lt;br /&gt;So of the perhaps 30-40 software groups that are based in and around Bristol, over 20 were represented, a good turnout partly due to the efforts of one of Lyle's fellow volunteers, Indu Kaila, to do the leg work of attending all the local events and getting various members (like myself) to volunteer to represent their group at the event. So I am one of the hundred odd members of Bristol and Bath's Django User Group (DBBUG), started by Dan Fairs, and &lt;a href=&quot;http://bit.ly/megadj2013&quot;&gt;did a presentation&lt;/a&gt; about Python, Django, our group, and the process of contributing to open source - so rather a lot to pack into 40 minutes, but it seemed to go down OK.&lt;br /&gt;&lt;br /&gt;There was the full range of enthusiast groups present, so I started the day finding out how the four colour theorem from map making applies to optimisation algorithms used in compilers, from the ACCU, who have been around for a very long time, starting out as a C programming community group. Then near the finish saw a good talk from Bristol Web folk reminding me about the core important issues to remember concerning front end web development - as more of a back end developer &amp;nbsp;it can be easy to label this stuff somebody else's job, but with an ever increasing slice of the stack being client side in web development, these days, that is clearly a bad attitude.&lt;br /&gt;&lt;br /&gt;There was more than a smattering of javascript related talks going on, from big data CouchDB and node.js back end use, through to more client side, and a very popular session, flying helicopters via javascript code.&lt;br /&gt;&lt;br /&gt;The talks were rounded off with some talks about the charity cause that the day was helping to raise funds for, a &lt;a href=&quot;http://www.insfriends.org.uk/&quot;&gt;cross atlantic row&lt;/a&gt; in aid of cervical cancer charity (plus an appeal for graphic design work for another member of the volunteer team from the Ukraine, who is in need of health care).&lt;br /&gt;&lt;br /&gt;I then found myself in the rather comical position of receiving two awards from the extensive award ceremony for community involvement, etc. Both really on behalf of other people, but it was fun and lead on to the free bar and barbecue, always a popular way to round off a conference.&lt;br /&gt;&lt;br /&gt;So thanks to the Megameet team, if nobody else comes forward, I can always represent &lt;a href=&quot;https://groups.google.com/forum/?fromgroups=#!forum/dbug&quot;&gt;DBBUG&lt;/a&gt;, &lt;a href=&quot;http://www.meetup.com/south-west-big-data/&quot;&gt;South West Big Data&lt;/a&gt; or perhaps another new local group, again next year!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</description>
	<pubDate>Sat, 15 Jun 2013 04:48:57 +0000</pubDate>
</item>
<item>
	<title>Reinout van Rees: Water software and python</title>
	<guid>http://reinout.vanrees.org/weblog/2013/06/15/water-and-python.html</guid>
	<link>http://reinout.vanrees.org/weblog/2013/06/15/water-and-python.html</link>
	<description>&lt;div class=&quot;document&quot;&gt;
&lt;p&gt;Weird link I got from a colleague this evening: &lt;a class=&quot;reference external&quot; href=&quot;http://www.nederlandict.nl/index.shtml?id=12854&amp;ch=ICT&amp;refID=10303&quot;&gt;some Dutch ICT awards&lt;/a&gt;
were awarded this week. The link is in Dutch, but trust me if I say
that the two (to me) relevant awards were awarded to Python (as a
fantastic computer language) and to &lt;a class=&quot;reference external&quot; href=&quot;http://www.hydrologic.com&quot;&gt;hydrologic&lt;/a&gt; (a Dutch water+ict company, for their
water software).&lt;/p&gt;
&lt;p&gt;For me, the weirdness is three-step process:&lt;/p&gt;
&lt;ul class=&quot;simple&quot;&gt;
&lt;li&gt;Ok, an award for Python is nice! Almost all our (&lt;a class=&quot;reference external&quot; href=&quot;http://www.nelen-schuurmans.nl&quot;&gt;Nelen &amp;amp; Schuurmans&lt;/a&gt;) software is written in Python.
And virtually all of it is open source. Just look at github:
&lt;a class=&quot;reference external&quot; href=&quot;https://github.com/nens/&quot;&gt;https://github.com/nens/&lt;/a&gt; and especially
&lt;a class=&quot;reference external&quot; href=&quot;https://github.com/lizardsystem/&quot;&gt;https://github.com/lizardsystem/&lt;/a&gt; . Lots of Python and Django.&lt;/li&gt;
&lt;li&gt;The water software award goes to a closed source Microsoft shop.&lt;/li&gt;
&lt;li&gt;We (&lt;a class=&quot;reference external&quot; href=&quot;http://www.nelen-schuurmans.nl&quot;&gt;Nelen &amp;amp; Schuurmans&lt;/a&gt;) are the
perfect combination of water software and open source Python.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We're a water consultancy company. And a successful one, too. Lots of
great projects. Most of them centered around something called Lizard
(&lt;a class=&quot;reference external&quot; href=&quot;http://lizard.net&quot;&gt;http://lizard.net&lt;/a&gt; for the mostly-Dutch business language stuff,
&lt;a class=&quot;reference external&quot; href=&quot;http://lizard.org&quot;&gt;http://lizard.org&lt;/a&gt; for the English IT stuff). Lots of partners working
on and with it. It is a real platform with every partner putting in
ideas and expertise. Most of the actual &lt;em&gt;programming&lt;/em&gt; happens at our
place, to be fair, at the moment. But... I've now personally been
involved with already three partner companies that have been working
with the Python code.&lt;/p&gt;
&lt;p&gt;Ok, &lt;strong&gt;now what's the weird thing?&lt;/strong&gt; Well, the things being said in the
other company's award text are actually the things I'd use to describe
the Lizard products :-) The core tenet of Lizard is &amp;quot;combining data&amp;quot;
and that's literally what's in the award text. I have got the videos
and screenshots to prove it. I can show you the lines in lizard-map's
&lt;tt class=&quot;docutils literal&quot;&gt;models.py&lt;/tt&gt; that are the core of our information-combination
structure.&lt;/p&gt;
&lt;p&gt;Well, let them have fun. If you're looking for water-related software,
Lizard is the one you want. Combining data, friendly visualization,
big data, flood calculations, a lot. And... most of it is open source.
And &lt;strong&gt;our software combines water with the other award winner:
Python!&lt;/strong&gt; Open source Python water software. That's much better than
the current water software award winner: I can hardly find a
screenshot on their webpage. And not a lot of specifics. &lt;em&gt;We&lt;/em&gt; have got
all our stuff on github and a bunch of demo videos on
&lt;a class=&quot;reference external&quot; href=&quot;http://video.nelen-schuurmans.nl/&quot;&gt;http://video.nelen-schuurmans.nl/&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I'm very happy working where I work now. Water + open source + python:
it can hardly get better. I notice the same mindset in my colleagues:
we're a big force that's pushing forwards and putting out lots of very
good software. Including source code, screen shots and videos. To me,
that's pretty different from working for a company without open
source, with microsoft-only software and with hardly a screenshot on
their website. (Perhaps weird that I'm hammering on the lack of
screenshots, but I still haven't managed to see one of &amp;quot;their&amp;quot;
websites in real life, so I'm personally (probably unfairly) thinking
about it as brochure-ware instead of as a potential threat...)&lt;/p&gt;
&lt;p&gt;Wanna work on great Python water software in Utrecht? Mail us
(provided you speak Dutch, that's pretty much a necessity). A nice
working location dead smack in the center of Utrecht next to the &lt;em&gt;oude
gracht&lt;/em&gt;. Especially nice now that the weather is good!&lt;/p&gt;
&lt;/div&gt;</description>
	<pubDate>Sat, 15 Jun 2013 00:37:00 +0000</pubDate>
</item>
<item>
	<title>Go Deh: Filtering an iterator into N parts lazily</title>
	<guid>http://feedproxy.google.com/~r/GoDeh/~3/J37IkIkSM-s/filtering-iterator-into-n-parts-lazily.html</guid>
	<link>http://feedproxy.google.com/~r/GoDeh/~3/J37IkIkSM-s/filtering-iterator-into-n-parts-lazily.html</link>
	<description>I read &quot;&lt;a href=&quot;http://nedbatchelder.com/blog/201306/filter_a_list_into_two_parts.html&quot; target=&quot;_blank&quot;&gt;Filter a list into two parts&lt;/a&gt;&quot; by Ned Batchelder where he mentions this solution by Peter Otten for a split into two based on the result of a boolean function (or predicate):&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;k&quot;&gt;def&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;partition&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;items&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;predicate&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;bool&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;itertools&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;tee&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;((&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;predicate&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;item&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;),&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;item&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;for&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;item&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;items&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;return&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;((&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;item&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;for&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;pred&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;item&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;ow&quot;&gt;not&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;pred&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;),&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;item&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;for&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;pred&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;item&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;pred&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now it works, but the use of a and b seemed clumsy. I decided to make the function more functional and generalize to a split into more than three ways as a means of getting the technique to stick.&lt;br /&gt;&lt;br /&gt;The above function uses a boolean predicate and in the return statement tests '...&lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;ow&quot;&gt;not&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;pred&lt;/span&gt;' and '...&lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;pred&lt;/span&gt;'. This is the same as a test of pred==False then pred==True which because of the duality between False/True and integers 0/1 we could check pred==0 in the first case then pred==1 in the second.&lt;br /&gt;&lt;br /&gt;So, to split an iterator into n parts we need to pass n as an argument and we swap to a predicate function that returns 0 to n-1 as the filter for each of the returned n iterators. itertools.tee takes an optional second integer argument &amp;nbsp;to allow it to tee the input iterator into n parts so, as I wrote in my comment on Neds blog post, you can do the following:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;def partitionn(items, predicate=int, n=2):&lt;br /&gt;    tees = itertools.tee( ((predicate(item), item)&lt;br /&gt;                          for item in items), n )&lt;br /&gt;    return ( (lambda i:(item for pred, item in tees[i] if pred==i))(x)&lt;br /&gt;              for x in range(n) )&lt;br /&gt;&lt;/pre&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;I left it there on Neds blog, but looking at it tonight I wanted to see if I could rid myself of the tees name it is an iterator of n iterators, but maybe I could make it even more functional?&lt;br /&gt;&lt;br /&gt;A bit of refactoring left me with the solution below which has no names outside the generator expression, runs the predicate once on each item, and lazily works on the input iterator as well as returning lazy iterators:&lt;br /&gt;&lt;br /&gt;</description>
	<pubDate>Sat, 15 Jun 2013 00:44:02 +0000</pubDate>
</item>
<item>
	<title>François Dion: dtrace: Python instrumentation</title>
	<guid>http://raspberry-python.blogspot.com/2013/06/dtrace-python-instrumentation.html</guid>
	<link>http://raspberry-python.blogspot.com/2013/06/dtrace-python-instrumentation.html</link>
	<description>&lt;h3&gt;...where time becomes a loop&lt;/h3&gt;Last year, I &lt;a href=&quot;http://raspberry-python.blogspot.com/2012/12/python-and-raspberrypi-in-2012.html&quot;&gt;mentionned&lt;/a&gt; that it was time for the Python community to embrace &lt;a href=&quot;http://dtrace.org/&quot;&gt;dtrace&lt;/a&gt;. I've gotten questions left and right, at user groups, through email etc as to what is dtrace and how it ties in with Python.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot;&gt;&lt;a href=&quot;http://dev.mysql.com/img/Dtrace-architecture.gif&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;262&quot; src=&quot;http://dev.mysql.com/img/Dtrace-architecture.gif&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;This week, a few posts on the Argentinian and Venezuelan Python lists on debugging Python and a total absence of a mention of dtrace and I knew I had to do a writeup. But before we get into the details, let's step back a bit.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Party like it's &lt;strike&gt;1999&lt;/strike&gt; 2004&lt;/h3&gt;Back in the 1990s I was using &lt;a href=&quot;http://povray.org/&quot;&gt;Povray&lt;/a&gt; (there is a Python API) to do photo quality rendering of &lt;b&gt;made to order products&lt;/b&gt;. Eventually, I had to switch to OpenGL, C++, Sun Studio and hardware acceleration in order to keep up with the demand (over &lt;b&gt;20,000&lt;/b&gt; during normal business hours and there are less than 30,000 seconds during that period of time). A few years later, at peak hours I was serving on the web over &lt;b&gt;100 renders per second&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;Even if I had switched to OpenGL on that particular system, I continued working with Povray in other areas, particularly to design optical systems and build stuff that required visual quality over quantity. While Povray under Windows was fast enough, it felt much slower under Solaris and Linux (&lt;i&gt;whereas my own code ran much faster on Solaris than Windows&lt;/i&gt;).&lt;br /&gt;&lt;h3&gt;&amp;nbsp;&lt;/h3&gt;&lt;h3&gt;dtrace: First Contact&lt;/h3&gt;&lt;br /&gt;I posted the following to the solaris-x86 Yahoo group in November of 2004:&lt;br /&gt;&lt;br /&gt;&lt;blockquote class=&quot;tr_bq&quot;&gt;I finally ran Povray 3.5 benchmark 1.02 on the exact same hardware and here are the results:&lt;br /&gt;&lt;br /&gt;Hardware:&lt;br /&gt;Dell GX260&lt;br /&gt;Pentium 4 2.4GHz&lt;br /&gt;512MB ram&lt;br /&gt;Hitachi 40 GB 7200 rpm&lt;br /&gt;ATI Radeo 7500&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Under Windows 2000 SP4, official Povray 3.5 win32 release:&lt;br /&gt;Time for Parse: 2 seconds&lt;br /&gt;Time for Photon: 54 seconds&lt;br /&gt;Time for Trace: 36 min 47 seconds&lt;br /&gt;Total time: 37 min 43 seconds&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Under Solaris 10 B69, Blastwave Povray 3.5 x86&lt;br /&gt;Time for Parse: 7 seconds&lt;br /&gt;Time for Photon: 1 min 12 seconds&lt;br /&gt;Time for Trace: 53 min 14 seconds&lt;br /&gt;Total time: 54 min 33 seconds&lt;/blockquote&gt;&lt;br /&gt;Al Hopper suggested &lt;a href=&quot;http://dtrace.org/&quot;&gt;dtrace&lt;/a&gt;. I knew what it was (&lt;i&gt;at the time, a Solaris only feature, now also available on Mac OS/X, FreeBSD, SmartOS, OpenIndiana and other IllumOS based OSes, and now Linux with dtrace4linux&lt;/i&gt;), but I hadn't taken the time to use it in real world cases. So I looked into it.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Instrumentation TNG&lt;/h3&gt;&lt;h3&gt;&amp;nbsp;&lt;/h3&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-AEEcdNTEVxE/UbuYZ0FkDzI/AAAAAAAACUQ/1kl8lLncnN8/s1600/instrum.jpg&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; src=&quot;http://2.bp.blogspot.com/-AEEcdNTEVxE/UbuYZ0FkDzI/AAAAAAAACUQ/1kl8lLncnN8/s320/instrum.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot;&gt;Which one is my blood pressure??&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;Here is what I posted back then:&lt;br /&gt;&lt;blockquote class=&quot;tr_bq&quot;&gt;I finally had a few minutes to play around with povray and dtrace this afternoon. I followed the suggestion made by Adam Leventhal on his Blog to run:&lt;br /&gt;&lt;br /&gt;&lt;span&gt;&lt;span&gt;#&lt;/span&gt; dtrace -n 'pid$target:::entry{ @[probefunc] = count() }' -p &amp;lt;process-id&amp;gt;&lt;/span&gt;&lt;br /&gt;(replace &amp;lt;process-id&amp;gt; by the pid of povray)&lt;br /&gt;&lt;br /&gt;So what I did is run povray, get its process id with ps, then run the above. Once it rendered line 1, I ctrl-c. dtrace then spit out what I needed to know. I dont have any reference to compare as to what optimisation was done exactly on the windows build. However, running the above dtrace command on that process does reveal something:&lt;br /&gt;&lt;br /&gt;I know it is spending a lot of time in DNoise / Noise, because it's called a bazillion times. Actually almost 10million times for the pair - the only other call that is called as much is memcpy, haven't investigated yet from where, but there might be an opportunity to combine memcpy. It also points out that a fast FSB and faster memory will definitely pull in front for equal cpu.&lt;br /&gt;&lt;br /&gt;Anyway, back to Povray, looking at texture.cpp (line 169 and following):&lt;br /&gt;&lt;br /&gt;&lt;span&gt;/*****************************************************************************/&lt;br /&gt;/* Platform specific faster noise functions&lt;br /&gt;support */&lt;br /&gt;/* (Profiling revealed that the noise functions can take up to 50%&lt;br /&gt;of */&lt;br /&gt;/* all the time required when rendering and current compilers&lt;br /&gt;cannot */&lt;br /&gt;/* easily optimise them efficiently without some help from&lt;br /&gt;programmers!) */&lt;br /&gt;/*****************************************************************************/&lt;br /&gt;&lt;br /&gt;#if USE_FASTER_NOISE&lt;/span&gt;&lt;span&gt;&lt;br /&gt;#include &quot;fasternoise.h&quot;&lt;br /&gt;#ifndef FASTER_NOISE_INIT&lt;br /&gt;#define FASTER_NOISE_INIT()&lt;br /&gt;#endif&lt;br /&gt;#else&lt;br /&gt;#define OriNoise Noise&lt;br /&gt;#define OriDNoise DNoise&lt;br /&gt;#define FASTER_NOISE_INIT()&lt;br /&gt;#endif&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Haha! Fasternoise.h (only found in the Windows source, not the Unix source) includes&lt;br /&gt;&lt;br /&gt;&lt;span&gt;/*****************************************************************************/&lt;br /&gt;/* Intel SSE2&lt;br /&gt;support */&lt;br /&gt;/*****************************************************************************/&lt;br /&gt;&lt;br /&gt;#ifndef WIN_FASTERNOISE_H &lt;/span&gt;&lt;span&gt;&lt;br /&gt;#define WIN_FASTERNOISE_H&lt;br /&gt;&lt;br /&gt;#ifdef USE_INTEL_SSE2 &lt;/span&gt;&lt;span&gt;&lt;br /&gt;int SSE2ALREADYDETECTED = 0 ;&lt;br /&gt;DBL OriNoise(VECTOR EPoint, TPATTERN *TPat) ;&lt;br /&gt;void OriDNoise(VECTOR result, VECTOR EPoint) ;&lt;br /&gt;#include &quot;emmintrin.h&quot;&lt;br /&gt;#include &quot;intelsse2.h&quot;&lt;br /&gt;#undef ALIGN16&lt;br /&gt;#define ALIGN16 __declspec(align(16))&lt;br /&gt;#endif&lt;br /&gt;&lt;br /&gt;#endif &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;BTW, with DTrace it only took me a few minutes total (including running povray for 3 minutes) to identify the culprit. Under windows it would have taken me hours.&lt;br /&gt;&lt;br /&gt;So on Solaris x86, need to add USE_INTEL_SSE2 and USE_FASTER_NOISE as compile switches and add fasternoise and the various other includes from the windows source to the unix source.&lt;/blockquote&gt;And that is how a one liner dtrace script helped in debugging my performance problem with Povray. The nice thing is that you didn't even need the source to know what exactly what was going on in the code, in real time, without step by step debugging.&lt;br /&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot;&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h3&gt;&lt;/h3&gt;&lt;h3&gt;Instrumenting Python&lt;/h3&gt;&lt;br /&gt;So, what is the Python connection? When running a dtrace equipped version of Python, you can use dtrace on your Python scripts. On Solaris, this has been available &lt;a href=&quot;https://blogs.oracle.com/levon/entry/python_and_dtrace_in_build&quot;&gt;since 2007&lt;/a&gt; (in OpenSolaris).&lt;br /&gt;&lt;br /&gt;Unfortunately on other OSes, it hasn't been &lt;a href=&quot;https://plus.google.com/111762523070732924160/posts/Mn1f8p2DrvM&quot;&gt;the case&lt;/a&gt;. Jesus Cea has been &lt;a href=&quot;http://comments.gmane.org/gmane.comp.sysutils.dtrace.user/4614&quot;&gt;trying&lt;/a&gt; to get John Levon's patches integrated with CPython since before 2.7 and 3.2 came out. Not sure what is needed to make this happen, but it is &lt;b&gt;long overdue&lt;/b&gt;. At least some distro builders should have the patched Python available, but it really needs to be incorporated into the official build.&lt;br /&gt;&lt;br /&gt;Anyway if you look at a Solaris 11 system, it has Python 2.6 as the default, and it is ready for dtrace:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt; $ dtrace -lP python*  &lt;br /&gt;   ID  PROVIDER      MODULE             FUNCTION NAME  &lt;br /&gt;  1044 python1905 libpython2.6.so.1.0        PyEval_EvalFrameEx function-return  &lt;br /&gt;  1045 python1905 libpython2.6.so.1.0           dtrace_return function-return  &lt;br /&gt;  1046 python1939 libpython2.6.so.1.0        PyEval_EvalFrameEx function-entry  &lt;br /&gt;  1047 python1939 libpython2.6.so.1.0           dtrace_entry function-entry  &lt;br /&gt;  1048 python1939 libpython2.6.so.1.0        PyEval_EvalFrameEx function-return  &lt;br /&gt;  1049 python1939 libpython2.6.so.1.0           dtrace_return function-return  &lt;br /&gt;  1050 python1945 libpython2.6.so.1.0        PyEval_EvalFrameEx function-entry  &lt;br /&gt;  1083 python7640 libpython2.6.so.1.0        PyEval_EvalFrameEx function-return  &lt;br /&gt;  1084 python7640 libpython2.6.so.1.0           dtrace_return function-return  &lt;br /&gt;  1100 python11695 libpython2.6.so.1.0           dtrace_entry function-entry  &lt;br /&gt;  1101 python11695 libpython2.6.so.1.0        PyEval_EvalFrameEx function-return  &lt;br /&gt;  1102 python11695 libpython2.6.so.1.0           dtrace_return function-return  &lt;br /&gt;  1103 python11699 libpython2.6.so.1.0        PyEval_EvalFrameEx function-entry  &lt;br /&gt;  1214 python11693 libpython2.6.so.1.0        PyEval_EvalFrameEx function-entry  &lt;br /&gt;  1215 python11693 libpython2.6.so.1.0           dtrace_entry function-entry  &lt;br /&gt;  1219 python11699 libpython2.6.so.1.0           dtrace_entry function-entry  &lt;br /&gt;  1220 python11699 libpython2.6.so.1.0        PyEval_EvalFrameEx function-return  &lt;br /&gt;  1221 python11699 libpython2.6.so.1.0           dtrace_return function-return  &lt;br /&gt;  1226 python11693 libpython2.6.so.1.0        PyEval_EvalFrameEx function-return  &lt;br /&gt;  1227 python11693 libpython2.6.so.1.0           dtrace_return function-return  &lt;br /&gt;  1228 python11695 libpython2.6.so.1.0        PyEval_EvalFrameEx function-entry  &lt;br /&gt;  2248 python1905 libpython2.6.so.1.0        PyEval_EvalFrameEx function-entry  &lt;br /&gt;  2249 python1905 libpython2.6.so.1.0           dtrace_entry function-entry  &lt;br /&gt;  2250 python23832 libpython2.6.so.1.0        PyEval_EvalFrameEx function-entry  &lt;br /&gt;  2251 python23832 libpython2.6.so.1.0           dtrace_entry function-entry  &lt;br /&gt;  2260 python7640 libpython2.6.so.1.0        PyEval_EvalFrameEx function-entry  &lt;br /&gt;  2261 python7640 libpython2.6.so.1.0           dtrace_entry function-entry  &lt;br /&gt;  2315 python23832 libpython2.6.so.1.0        PyEval_EvalFrameEx function-return  &lt;br /&gt;  2316 python23832 libpython2.6.so.1.0           dtrace_return function-return  &lt;br /&gt;  7670 python2936 libpython2.6.so.1.0           dtrace_entry function-entry  &lt;br /&gt;  7671 python2936 libpython2.6.so.1.0        PyEval_EvalFrameEx function-return  &lt;br /&gt;  7672 python2936 libpython2.6.so.1.0           dtrace_return function-return  &lt;br /&gt;  7750 python14523 libpython2.6.so.1.0        PyEval_EvalFrameEx function-entry  &lt;br /&gt;  7751 python14523 libpython2.6.so.1.0           dtrace_entry function-entry  &lt;br /&gt;  7752 python14523 libpython2.6.so.1.0        PyEval_EvalFrameEx function-return  &lt;br /&gt;  7753 python14523 libpython2.6.so.1.0           dtrace_return function-return  &lt;br /&gt; 12339 python1945 libpython2.6.so.1.0           dtrace_entry function-entry  &lt;br /&gt; 12340 python1945 libpython2.6.so.1.0        PyEval_EvalFrameEx function-return  &lt;br /&gt; 12341 python1945 libpython2.6.so.1.0           dtrace_return function-return  &lt;br /&gt; 12345 python2936 libpython2.6.so.1.0        PyEval_EvalFrameEx function-entry  &lt;br /&gt; 12347 python1219 libpython2.6.so.1.0        PyEval_EvalFrameEx function-entry  &lt;br /&gt; 12348 python1219 libpython2.6.so.1.0           dtrace_entry function-entry  &lt;br /&gt; 12349 python1219 libpython2.6.so.1.0        PyEval_EvalFrameEx function-return  &lt;br /&gt; 12350 python1219 libpython2.6.so.1.0           dtrace_return function-return  &lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;The probes are specific to Python. In the original dtrace call I had used for debugging a C++ binary (Povray), I was using the &lt;a href=&quot;http://dtrace.org/blogs/brendan/2011/02/09/dtrace-pid-provider/&quot;&gt;pid provider&lt;/a&gt; and &lt;b&gt;entry probe&lt;/b&gt;:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt; # dtrace -n 'pid$target:::entry{ @[probefunc] = count() }' -p &amp;lt;process-id&amp;gt;  &lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot;&gt;&lt;a href=&quot;http://derek.trideja.com/media/bmc_ahl_dtrace-caption.png&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;213&quot; src=&quot;http://derek.trideja.com/media/bmc_ahl_dtrace-caption.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;But we are no longer in 2004 and I'm not interested in the performance of Povray right now, I just want to figure out how many checksums my &lt;i&gt;pingpong.py&lt;/i&gt; script is doing (a little module to keep a tab on my machines and their latencies), and what else is going on at the top.&lt;br /&gt;&lt;br /&gt;So, this time I'll modify it to use the &lt;b&gt;python provider&lt;/b&gt; instead of the &lt;b&gt;pid provider&lt;/b&gt; and using the &lt;b&gt;function-entry probe&lt;/b&gt; (still doing a count):&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt; # dtrace -qZn 'python$target:::function-entry{ @[copyinstr ( arg1 )] = count() }' -c ./pingpong.py  &lt;br /&gt; [...]  &lt;br /&gt;  register                                                         10&lt;br /&gt;  abstractmethod                                                   15&lt;br /&gt;  __new__                                                          17&lt;br /&gt;  &amp;lt;genexpr&amp;gt;                                                        35&lt;br /&gt;  &amp;lt;module&amp;gt;                                                         48&lt;br /&gt;  exists                                                           49&lt;br /&gt;  S_IFMT                                                           53&lt;br /&gt;  S_ISDIR                                                          53&lt;br /&gt;  isdir                                                            56&lt;br /&gt;  makepath                                                        100&lt;br /&gt;  normcase                                                        100&lt;br /&gt;  abspath                                                         113&lt;br /&gt;  isabs                                                           113&lt;br /&gt;  join                                                            113&lt;br /&gt;  normpath                                                        113&lt;br /&gt;  ping_pong                                                      1000&lt;br /&gt;  checksum                                                       4000&lt;br /&gt;  close                                                          4000&lt;br /&gt;  do_one                                                         4000&lt;br /&gt;  fileno                                                         4000&lt;br /&gt;  receive_one_ping                                               4000&lt;br /&gt;  send_one_ping                                                  4000&lt;br /&gt;  __init__                                                       4007&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;With 1000 ping_pong() I was expecting 3000 checksums. Ah, I see I'm sending 4000 pings, so apparently I have a &lt;i&gt;for&lt;/i&gt; that is not properly bounded (on purpose, to illustrate an example of what even something as simple as this can tell us).&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;To infinity and beyond&lt;/h3&gt;&lt;br /&gt;But that is not even touching the tip of the iceberg. How about creating &lt;a href=&quot;https://github.com/jclulow/terminal-heatmap&quot;&gt;heatmaps&lt;/a&gt; (node.js and dtrace in this case)? To do something like that with Python and dtrace, a good starting point is Brian Cantrill's &lt;a href=&quot;https://pypi.python.org/pypi/python-dtrace&quot;&gt;python-dtrace&lt;/a&gt; on Pypi.&lt;br /&gt;&lt;br /&gt;You should also check out the following tutorial &lt;a href=&quot;http://dtracehol.com/#Exercise_11&quot;&gt;http://dtracehol.com/#Exercise_11&lt;/a&gt; that was part of a tutorial session on dtrace at Java One last year (yep, Python at Java One).&lt;br /&gt;&lt;br /&gt;François&lt;br /&gt;&lt;a href=&quot;http://www.twitter.com/f_dion&quot;&gt;@f_dion&lt;/a&gt;&lt;br /&gt;</description>
	<pubDate>Fri, 14 Jun 2013 19:52:48 +0000</pubDate>
</item>
<item>
	<title>Twisted Matrix Labs: Announcing twisted-dev-tools</title>
	<guid>http://feedproxy.google.com/~r/TwistedMatrixLaboratories/~3/1wWd7WYHBp0/announcing-twisted-dev-tools.html</guid>
	<link>http://feedproxy.google.com/~r/TwistedMatrixLaboratories/~3/1wWd7WYHBp0/announcing-twisted-dev-tools.html</link>
	<description>&lt;p&gt;I'd like to announce the release of twisted-dev-tools. It is a project that
collects various python scripts useful for developer working on twisted itself.&lt;/p&gt;
&lt;p&gt;Right now, it contains the following tools.&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;force-build:&lt;/dt&gt;
&lt;dd&gt;&lt;p&gt;This is an updated version of force-builds.py from
twisted-trac-integration.  It has a different (more flexible) syntax.&lt;/p&gt;
&lt;p&gt;If run from a git repository, where the current commit has been pushed to
svn, running it with no arguments  will automatically build the
corresponding branch.&lt;/p&gt;
&lt;/dd&gt;
&lt;dt&gt;mkbranch&lt;/dt&gt;
&lt;dd&gt;&lt;p&gt;A helper for those using git: it creates a branch in svn, with a standard
commit message.&lt;/p&gt;
&lt;p&gt;Eventually, this should be enhanced to automatically fetch that commit,
and switch to the branch locally.&lt;/p&gt;
&lt;/dd&gt;
&lt;dt&gt;review-tickets&lt;/dt&gt;
&lt;dd&gt;Command-line list of tickets currently in review&lt;/dd&gt;
&lt;dt&gt;fetch-ticket:&lt;/dt&gt;
&lt;dd&gt;Command-line tool to view a ticket&lt;/dd&gt;
&lt;dt&gt;get-attachemnt&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;Tool for interacting with trac attachments.&lt;/p&gt;
&lt;dl&gt;
 &lt;dt&gt;list&lt;/dt&gt;&lt;dd&gt;list all attachments on a given ticket&lt;/dd&gt;
 &lt;dt&gt;get&lt;/dt&gt;&lt;dd&gt;gets a gien ticket (defaults to the lat)&lt;/dd&gt;
 &lt;dt&gt;apply&lt;/dt&gt;&lt;dd&gt;applies that last attachment to the current git repository, and
  commits it with an appropriate message&lt;/dd&gt;
&lt;/dl&gt;
&lt;/dd&gt;&lt;/dl&gt;
&lt;p&gt;Most of the functionality is also exposed as a python library, so custom scripts
are possible as well.&lt;/p&gt;
&lt;p&gt;The code is available at &lt;a class=&quot;reference external&quot; href=&quot;https://github.com/twisted/twisted-dev-tools&quot;&gt;https://github.com/twisted/twisted-dev-tools&lt;/a&gt; and on
pypi &lt;a class=&quot;reference external&quot; href=&quot;https://pypi.python.org/pypi/twisted-dev-tools&quot;&gt;https://pypi.python.org/pypi/twisted-dev-tools&lt;/a&gt;&lt;/p&gt;
&lt;img src=&quot;http://feeds.feedburner.com/~r/TwistedMatrixLaboratories/~4/1wWd7WYHBp0&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Fri, 14 Jun 2013 16:53:55 +0000</pubDate>
</item>
<item>
	<title>PyCharm: Vim as a Python IDE, or Python IDE as Vim</title>
	<guid>http://feedproxy.google.com/~r/Pycharm/~3/qxdXdurVvkI/</guid>
	<link>http://feedproxy.google.com/~r/Pycharm/~3/qxdXdurVvkI/</link>
	<description>&lt;p&gt;&amp;#8220;Vim as a Python IDE&amp;#8221; is a hot topic. Everybody knows Vim is an incredible text editor for typing and editing text very quickly and efficiently (if you are an experienced Vim user, that is). Moreover, it is highly customizable, reliable, works in almost any environment and is praised by experienced developers as well. Naturally, lots of people choose Vim as their editor for coding in Python and other languages.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://blog.jetbrains.com/pycharm/files/2013/06/TiredProgrammer.jpg&quot;&gt;&lt;img class=&quot;alignleft size-medium wp-image-2039&quot; src=&quot;http://blog.jetbrains.com/pycharm/files/2013/06/TiredProgrammer-274x300.jpg&quot; alt=&quot;&quot; width=&quot;274&quot; height=&quot;300&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
While Vim is a great choice indeed, as soon as you try to use it for anything it wasn’t designed for, you run into problems. For example, if you use it as an IDE. Clearly, many Python developers want it to be an IDE simply because productive Python development requires more than just a great editor. While this may work for some languages, it just doesn’t for Python, which is really hard to maintain on large and complex projects.&lt;/p&gt;
&lt;p&gt;With Python, there is a real need to get rid of routine tasks and use supplementary tools like code inspections, error highlighting on the fly, dependency checks, quick-fixes, refactorings, a debugger, frameworks support, testing assistance, Version control, search and navigation, project management, remote development assistance, PEP-8 compliance checks. That’s quite a list. And all these features must work together in a reliable, efficient and robust fashion.&lt;/p&gt;
&lt;p&gt;That’s what IDEs are designed for. They provide the necessary level of efficiency and comfort for using many tools and features in one place.&lt;/p&gt;
&lt;p&gt;For better or worse, Vim is not an IDE. Sure, it is customizable and supports many things, with lots of plugins and add-ons and other bells and whistles. Yet it’s really far off from being a real IDE.&lt;/p&gt;
&lt;p&gt;Here is a poignant example of Vim being overloaded. The result of many sophisticated &lt;del&gt;hacks&lt;/del&gt; modifications, which are not clear even for experienced Vim users, is the following cramped editor window:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://blog.jetbrains.com/pycharm/files/2013/06/vim3.gif&quot;&gt;&lt;img class=&quot;aligncenter size-large wp-image-2038&quot; src=&quot;http://blog.jetbrains.com/pycharm/files/2013/06/vim3-1024x748.gif&quot; alt=&quot;&quot; width=&quot;640&quot; height=&quot;467&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;If you wanted an IDE to begin with, this is definitely the hard way to get one.&lt;/p&gt;
&lt;p&gt;&lt;span&gt;PyCharm has an upside-down approach to this problem. PyCharm is a complete IDE with a highly customizable and powerful editor inherited from the IntelliJ Platform. But you don’t have to choose between an IDE or Vim: thanks to the &lt;strong&gt;IdeaVim plugin&lt;/strong&gt; (available for all IntelliJ-based products), you really can get the best of both worlds. IdeaVim supports many Vim features including shortcuts, motion keys, many types of commands, registers, macros, modes  and &lt;/span&gt;&lt;a href=&quot;http://plugins.jetbrains.com/plugin/?id=164&quot;&gt;a lot more&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;But don’t take our word for it. “&lt;em&gt;Nothing can replace Vim, but IdeaVim feels closer than any other editor’s attempts&lt;/em&gt;,” says Andrew Brookins, an experienced developer who has tried different text editors and tools for Python and Web development, in his amazingly comprehensive review &lt;a href=&quot;http://andrewbrookins.com/tech/one-year-later-an-epic-review-of-pycharm-2-7-from-a-vim-users-perspective/&quot;&gt;One Year Later: An Epic Review of PyCharm 2.7 from a Vim User’s Perspective&lt;/a&gt;. We strongly recommend reading it if you haven’t already.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;To enjoy VIM emulation inside PyCharm, download and install PyCharm, go to File | Settings | Plugins and search for IdeaVim. Install it, restart the IDE and that’s it!&lt;br /&gt;
Give it a try, and while you’re at it feel free to vote for new features and report any issues in &lt;a href=&quot;http://youtrack.jetbrains.com/issues/VIM&quot;&gt;YouTrack&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Develop with pleasure!&lt;/em&gt;&lt;br /&gt;
&lt;em&gt; PyCharm Team&lt;/em&gt;&lt;/p&gt;
&lt;img src=&quot;http://feeds.feedburner.com/~r/Pycharm/~4/qxdXdurVvkI&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Fri, 14 Jun 2013 13:40:33 +0000</pubDate>
</item>
<item>
	<title>Mike C. Fletcher: Single Artefact Deployment</title>
	<guid>http://blog.vrplumber.com/b/2013/06/13/single-artefact-deployment/</guid>
	<link>http://blog.vrplumber.com/b/2013/06/13/single-artefact-deployment/</link>
	<description>&lt;p&gt;The first talk at Django Toronto was on Wave's single artefact deployment mechanism. &amp;#160;Basically it's the &lt;a href=&quot;https://launchpad.net/fussy&quot;&gt;Fussy Firmware Packager&lt;/a&gt;, but without the signatures. &amp;#160;We use Fussy to be able to send/provide customers with (signed) images that can be loaded on (potentially disconnected) machines (through their web interfaces).&lt;/p&gt;&lt;p&gt;The images include a built virtualenv including all of the code installed as packages, along with binaries, libraries and the like which are to be updated. Fussy does the verification, unpacking and symlink swaps, then calls a script in the firmware to fixate the it (e.g. hooking it into /etc/ directories and the like), perform migrations, restart services, and perform basic &quot;is it up&quot; verification.&lt;/p&gt;&lt;p&gt;Our build system actually builds the firmware in the &quot;current&quot; directory (instead of the hashed/timestamped one), but other than that, the build process we use seems extremely similar (our web GUI is Django + Gunicorn too). Esky too has a slightly different focus (automatic updates of GUI-ish apps), but the same basic mechanisms.&amp;#160;It doesn't really seem like there's much point collaborating on this stuff, though.&lt;/p&gt;&lt;p&gt;The systems do the same basic operations to get the software up-to-date, but the tough stuff is all in the higher levels (the migration operations, verification of success, safe rollbacks, etc), and that's all pretty specific to what you are managing.&lt;/p&gt;</description>
	<pubDate>Fri, 14 Jun 2013 04:25:23 +0000</pubDate>
</item>

</channel>
</rss>
