Changeset 3614

Show
Ignore:
Timestamp:
03/29/07 15:47:40 (2 years ago)
Author:
wfspotz@sandia.gov
Message:

Updated examples in the documentation

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/numpy/doc/swig/numpy_swig.html

    r3597 r3614  
    66<title>numpy.i: a SWIG Interface File for NumPy</title> 
    77<meta name="author" content="Bill Spotz" /> 
    8 <meta name="date" content="18 March, 2007" /> 
     8<meta name="date" content="29 March, 2007" /> 
    99<style type="text/css"> 
    1010 
     
    303303</tr> 
    304304<tr><th class="docinfo-name">Date:</th> 
    305 <td>18 March, 2007</td></tr> 
     305<td>29 March, 2007</td></tr> 
    306306</tbody> 
    307307</table> 
     
    315315<li><a class="reference" href="#in-place-arrays" id="id5" name="id5">In-Place Arrays</a></li> 
    316316<li><a class="reference" href="#argout-arrays" id="id6" name="id6">Argout Arrays</a></li> 
    317 <li><a class="reference" href="#other-common-types-bool" id="id7" name="id7">Other Common Types: bool</a></li> 
    318 <li><a class="reference" href="#other-common-types-complex" id="id8" name="id8">Other Common Types: complex</a></li> 
     317<li><a class="reference" href="#output-arrays" id="id7" name="id7">Output Arrays</a></li> 
     318<li><a class="reference" href="#other-common-types-bool" id="id8" name="id8">Other Common Types: bool</a></li> 
     319<li><a class="reference" href="#other-common-types-complex" id="id9" name="id9">Other Common Types: complex</a></li> 
    319320</ul> 
    320321</li> 
    321 <li><a class="reference" href="#helper-functions" id="id9" name="id9">Helper Functions</a><ul> 
    322 <li><a class="reference" href="#macros" id="id10" name="id10">Macros</a></li> 
    323 <li><a class="reference" href="#routines" id="id11" name="id11">Routines</a></li> 
     322<li><a class="reference" href="#helper-functions" id="id10" name="id10">Helper Functions</a><ul> 
     323<li><a class="reference" href="#macros" id="id11" name="id11">Macros</a></li> 
     324<li><a class="reference" href="#routines" id="id12" name="id12">Routines</a></li> 
    324325</ul> 
    325326</li> 
    326 <li><a class="reference" href="#beyond-the-provided-typemaps" id="id12" name="id12">Beyond the Provided Typemaps</a></li> 
    327 <li><a class="reference" href="#acknowledgements" id="id13" name="id13">Acknowledgements</a></li> 
     327<li><a class="reference" href="#beyond-the-provided-typemaps" id="id13" name="id13">Beyond the Provided Typemaps</a><ul> 
     328<li><a class="reference" href="#a-common-example" id="id14" name="id14">A Common Example</a></li> 
     329<li><a class="reference" href="#other-situations" id="id15" name="id15">Other Situations</a></li> 
     330<li><a class="reference" href="#a-final-note" id="id16" name="id16">A Final Note</a></li> 
     331</ul> 
     332</li> 
     333<li><a class="reference" href="#acknowledgements" id="id17" name="id17">Acknowledgements</a></li> 
    328334</ul> 
    329335</div> 
     
    495501</blockquote> 
    496502<p>The first signature listed, <tt class="docutils literal"><span class="pre">(DATA_TYPE</span> <span class="pre">IN_ARRAY[ANY])</span></tt> is for 
    497 hard-coded one-dimensional arrays.  Likewise, <tt class="docutils literal"><span class="pre">(DATA_TYPE</span> 
    498 <span class="pre">IN_ARRAY2[ANY][ANY])</span></tt> is for two-dimensional arrays.</p> 
     503one-dimensional arrays with hard-coded dimensions.  Likewise, 
     504<tt class="docutils literal"><span class="pre">(DATA_TYPE</span> <span class="pre">IN_ARRAY2[ANY][ANY])</span></tt> is for two-dimensional arrays with 
     505hard-coded dimensions.</p> 
    499506</div> 
    500507<div class="section"> 
     
    535542</div> 
    536543<div class="section"> 
    537 <h2><a class="toc-backref" href="#id7" id="other-common-types-bool" name="other-common-types-bool">Other Common Types: bool</a></h2> 
     544<h2><a class="toc-backref" href="#id7" id="output-arrays" name="output-arrays">Output Arrays</a></h2> 
     545<p>The <tt class="docutils literal"><span class="pre">numpy.i</span></tt> interface file does not support typemaps for output 
     546arrays, for several reasons.  First, C/C++ function return arguments 
     547do not have names, so signatures for <tt class="docutils literal"><span class="pre">%typemap(out)</span></tt> do not include 
     548names.  This means that if <tt class="docutils literal"><span class="pre">numpy.i</span></tt> supported them, they would 
     549apply to all pointer return arguments for the supported numeric 
     550types.  This seems too dangerous.  Second, C/C++ return arguments are 
     551limited to a single value.  This prevents obtaining dimension 
     552information in a general way.  Third, arrays with hard-coded lengths 
     553are not permitted as return arguments.  In other words:</p> 
     554<pre class="literal-block"> 
     555double[3] newVector(double x, double y, double z); 
     556</pre> 
     557<p>is not legal C/C++ syntax.  Therefore, we cannot provide typemaps of 
     558the form:</p> 
     559<pre class="literal-block"> 
     560%typemap(out) (TYPE[ANY]); 
     561</pre> 
     562<p>If you run into a situation where a function or method is returning a 
     563pointer to an array, your best bet is to write your own version of the 
     564function to be wrapped, either with <tt class="docutils literal"><span class="pre">%extend</span></tt> for the case of class 
     565methods or <tt class="docutils literal"><span class="pre">%ignore</span></tt> and <tt class="docutils literal"><span class="pre">%rename</span></tt> for the case of functions.</p> 
     566</div> 
     567<div class="section"> 
     568<h2><a class="toc-backref" href="#id8" id="other-common-types-bool" name="other-common-types-bool">Other Common Types: bool</a></h2> 
    538569<p>Note that C++ type <tt class="docutils literal"><span class="pre">bool</span></tt> is not supported in the list in the 
    539570<a class="reference" href="#available-typemaps">Available Typemaps</a> section.  NumPy bools are a single byte, while 
     
    552583</div> 
    553584<div class="section"> 
    554 <h2><a class="toc-backref" href="#id8" id="other-common-types-complex" name="other-common-types-complex">Other Common Types: complex</a></h2> 
     585<h2><a class="toc-backref" href="#id9" id="other-common-types-complex" name="other-common-types-complex">Other Common Types: complex</a></h2> 
    555586<p>Typemap conversions for complex floating-point types is also not 
    556587supported automatically.  This is because <a class="reference" href="http://www.python.org">python</a> and <a class="reference" href="http://numpy.scipy.org">NumPy</a> are 
     
    586617</div> 
    587618<div class="section"> 
    588 <h1><a class="toc-backref" href="#id9" id="helper-functions" name="helper-functions">Helper Functions</a></h1> 
     619<h1><a class="toc-backref" href="#id10" id="helper-functions" name="helper-functions">Helper Functions</a></h1> 
    589620<p>The <tt class="docutils literal"><span class="pre">numpy.i</span></tt> file containes several macros and routines that it 
    590621uses internally to build its typemaps.  However, these functions may 
    591622be useful elsewhere in your interface file.</p> 
    592623<div class="section"> 
    593 <h2><a class="toc-backref" href="#id10" id="macros" name="macros">Macros</a></h2> 
     624<h2><a class="toc-backref" href="#id11" id="macros" name="macros">Macros</a></h2> 
    594625<blockquote> 
    595626<dl class="docutils"> 
     
    613644</div> 
    614645<div class="section"> 
    615 <h2><a class="toc-backref" href="#id11" id="routines" name="routines">Routines</a></h2> 
     646<h2><a class="toc-backref" href="#id12" id="routines" name="routines">Routines</a></h2> 
    616647<blockquote> 
    617648<dl class="docutils"> 
     
    665696</div> 
    666697<div class="section"> 
    667 <h1><a class="toc-backref" href="#id12" id="beyond-the-provided-typemaps" name="beyond-the-provided-typemaps">Beyond the Provided Typemaps</a></h1> 
     698<h1><a class="toc-backref" href="#id13" id="beyond-the-provided-typemaps" name="beyond-the-provided-typemaps">Beyond the Provided Typemaps</a></h1> 
    668699<p>There are many C or C++ array/<a class="reference" href="http://numpy.scipy.org">NumPy</a> array situations not covered by 
    669 a simple <tt class="docutils literal"><span class="pre">%include</span> <span class="pre">&quot;numpy.i&quot;</span></tt> and subsequent <tt class="docutils literal"><span class="pre">%apply</span></tt> directives. 
    670 Nevertheless, <tt class="docutils literal"><span class="pre">numpy.i</span></tt> may still be helpful when you encounter 
    671 them.</p> 
     700a simple <tt class="docutils literal"><span class="pre">%include</span> <span class="pre">&quot;numpy.i&quot;</span></tt> and subsequent <tt class="docutils literal"><span class="pre">%apply</span></tt> directives.</p> 
     701<div class="section"> 
     702<h2><a class="toc-backref" href="#id14" id="a-common-example" name="a-common-example">A Common Example</a></h2> 
     703<p>Consider a reasonable prototype for a dot product function:</p> 
     704<pre class="literal-block"> 
     705double dot(int len, double* vec1, double* vec2); 
     706</pre> 
     707<p>The python interface that we want is:</p> 
     708<pre class="literal-block"> 
     709def dot(vec1, vec2): 
     710</pre> 
     711<p>The problem here is that there is one dimension argument and two array 
     712arguments, and our typemaps are set up for dimensions that apply to a 
     713single array (in fact, <a class="reference" href="http://www.swig.org">SWIG</a> does not provide a mechanism for 
     714associating <tt class="docutils literal"><span class="pre">len</span></tt> with <tt class="docutils literal"><span class="pre">vec2</span></tt> that takes two python input 
     715arguments).  The recommended solution is the following:</p> 
     716<pre class="literal-block"> 
     717%apply (int DIM1, double* IN_ARRAY1) {(int len1, double* vec1), 
     718                                      (int len2, double* vec2)} 
     719%rename (dot) my_dot; 
     720%inline %{ 
     721double my_dot(int len1, double* vec1, int len2, double* vec2) { 
     722    if (len1 != len2) { 
     723        PyErr_Format(PyExc_ValueError, 
     724                     &quot;Arrays of lengths (%d,%d) given&quot;, 
     725                     len1, len2); 
     726        return 0.0; 
     727    } 
     728    return dot(len1, vec1, vec2); 
     729
     730%} 
     731</pre> 
     732<p>If the header file that contains the prototype for <tt class="docutils literal"><span class="pre">dot()</span></tt> also 
     733contains other prototypes that you want to wrap, so that you need to 
     734<tt class="docutils literal"><span class="pre">%include</span></tt> this header file, then you will also need a <tt class="docutils literal"><span class="pre">%ignore</span> 
     735<span class="pre">dot;</span></tt> directive, placed after the <tt class="docutils literal"><span class="pre">%rename</span></tt> and before the 
     736<tt class="docutils literal"><span class="pre">%include</span></tt> directives.</p> 
     737</div> 
     738<div class="section"> 
     739<h2><a class="toc-backref" href="#id15" id="other-situations" name="other-situations">Other Situations</a></h2> 
     740<p>There are other wrapping situations in which <tt class="docutils literal"><span class="pre">numpy.i</span></tt> may be 
     741helpful when you encounter them.</p> 
    672742<blockquote> 
    673743<ul> 
     
    685755For example, if you had a three-dimensional array as a function 
    686756argument, you could cut-and-paste the appropriate two-dimensional 
    687 typemap into your interface file.  The modification for the third 
     757typemap into your interface file.  The modifications for the third 
    688758dimension would be trivial.</p> 
    689759</li> 
     
    704774</div> 
    705775<div class="section"> 
    706 <h1><a class="toc-backref" href="#id13" id="acknowledgements" name="acknowledgements">Acknowledgements</a></h1> 
    707 <p>Many people have worked to glue <a class="reference" href="http://www.swig.org">SWIG</a> and <a class="reference" href="http://numpy.scipy.org">NumPy</a> (and its 
    708 predecessors Numeric and numarray) together.  The effort to 
    709 standardize this work into <tt class="docutils literal"><span class="pre">numpy.i</span></tt> began at the 2005 SciPy 
    710 Conference with a conversation between Fernando Perez and myself. 
    711 Fernando collected helper functions and typemaps from Michael Hunter, 
    712 Anna Omelchenko and Michael Sanner.  Their work has made this end 
    713 result possible.</p> 
     776<h2><a class="toc-backref" href="#id16" id="a-final-note" name="a-final-note">A Final Note</a></h2> 
     777<p>When you use the <tt class="docutils literal"><span class="pre">%apply</span></tt> directive, as is usually necessary to use 
     778<tt class="docutils literal"><span class="pre">numpy.i</span></tt>, it will remain in effect until you tell <a class="reference" href="http://www.swig.org">SWIG</a> that it 
     779shouldn't be.  If the arguments to the functions or methods that you 
     780are wrapping have common names, such as <tt class="docutils literal"><span class="pre">length</span></tt> or <tt class="docutils literal"><span class="pre">vector</span></tt>, 
     781these typemaps may get applied in situations you do not expect or 
     782want.  Therefore, it is always a good idea to add a <tt class="docutils literal"><span class="pre">%clear</span></tt> 
     783directive after you are done with a specific typemap:</p> 
     784<pre class="literal-block"> 
     785%apply (double* IN_ARRAY1, int DIM1) {(double* vector, int length)} 
     786%include &quot;my_header.h&quot; 
     787%clear (double* vector, int length); 
     788</pre> 
     789<p>In general, you should target these typemap signatures specifically 
     790where you want them, and then clear them after you are done.</p> 
     791</div> 
     792</div> 
     793<div class="section"> 
     794<h1><a class="toc-backref" href="#id17" id="acknowledgements" name="acknowledgements">Acknowledgements</a></h1> 
     795<p>Many people have worked to glue <a class="reference" href="http://www.swig.org">SWIG</a> and <a class="reference" href="http://numpy.scipy.org">NumPy</a> together (as well 
     796as <a class="reference" href="http://www.swig.org">SWIG</a> and the predecessors of <a class="reference" href="http://numpy.scipy.org">NumPy</a>, Numeric and numarray). 
     797The effort to standardize this work into <tt class="docutils literal"><span class="pre">numpy.i</span></tt> began at the 2005 
     798<a class="reference" href="http://scipy.org">SciPy</a> Conference with a conversation between 
     799Fernando Perez and myself.  Fernando collected helper functions and 
     800typemaps from Michael Hunter, Anna Omelchenko and Michael Sanner. 
     801Their work has made this end result possible.</p> 
    714802</div> 
    715803</div> 
    716804<div class="footer"> 
    717805<hr class="footer" /> 
    718 Generated on: 2007-03-25 03:02 UTC. 
     806Generated on: 2007-03-29 20:45 UTC. 
    719807Generated by <a class="reference" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source. 
    720808 
  • trunk/numpy/doc/swig/numpy_swig.pdf

    r3597 r3614  
    4343endobj 
    444433 0 obj 
     45<< /S /GoTo /D (output-arrays.1) >> 
     46endobj 
     4736 0 obj 
     48(Output Arrays) 
     49endobj 
     5037 0 obj 
    4551<< /S /GoTo /D (other-common-types-bool.1) >> 
    4652endobj 
    47 36 0 obj 
     5340 0 obj 
    4854(Other Common Types: bool) 
    4955endobj 
    50 37 0 obj 
     5641 0 obj 
    5157<< /S /GoTo /D (other-common-types-complex.1) >> 
    5258endobj 
    53 40 0 obj 
     5944 0 obj 
    5460(Other Common Types: complex) 
    5561endobj 
    56 41 0 obj 
     6245 0 obj 
    5763<< /S /GoTo /D (helper-functions.0) >> 
    5864endobj 
    59 44 0 obj 
     6548 0 obj 
    6066(Helper Functions) 
    6167endobj 
    62 45 0 obj 
     6849 0 obj 
    6369<< /S /GoTo /D (macros.1) >> 
    6470endobj 
    65 48 0 obj 
     7152 0 obj 
    6672(Macros) 
    6773endobj 
    68 49 0 obj 
     7453 0 obj 
    6975<< /S /GoTo /D (routines.1) >> 
    7076endobj 
    71 52 0 obj 
     7756 0 obj 
    7278(Routines) 
    7379endobj 
    74 53 0 obj 
     8057 0 obj 
    7581<< /S /GoTo /D (beyond-the-provided-typemaps.0) >> 
    7682endobj 
    77 56 0 obj 
     8360 0 obj 
    7884(Beyond the Provided Typemaps) 
    7985endobj 
    80 57 0 obj 
     8661 0 obj 
     87<< /S /GoTo /D (a-common-example.1) >> 
     88endobj 
     8964 0 obj 
     90(A Common Example) 
     91endobj 
     9265 0 obj 
     93<< /S /GoTo /D (other-situations.1) >> 
     94endobj 
     9568 0 obj 
     96(Other Situations) 
     97endobj 
     9869 0 obj 
     99<< /S /GoTo /D (a-final-note.1) >> 
     100endobj 
     10172 0 obj 
     102(A Final Note) 
     103endobj 
     10473 0 obj 
    81105<< /S /GoTo /D (acknowledgements.0) >> 
    82106endobj 
    83 60 0 obj 
     10776 0 obj 
    84108(Acknowledgements) 
    85109endobj 
    86 61 0 obj 
    87 << /S /GoTo /D [62 0 R  /Fit ] >> 
    88 endobj 
    89 64 0 obj << 
    90 /Length 2919       
     11077 0 obj 
     111<< /S /GoTo /D [78 0 R  /Fit ] >> 
     112endobj 
     11380 0 obj << 
     114/Length 1904       
    91115/Filter /FlateDecode 
    92116>> 
    93117stream 
    94 xÚœÉr×ñ®¯ÀLižßŸ8—¥DŠ\‰­r˜ò!ÎÀ%šJQŸ>Ýý–y3oÈå 
    95 ‹b–žÞ÷Xpø §™æÁ,œÌZ#ëý Ÿž†{o_ˆ£µeÚX'3w;å<S<èEgsʛªZ2c¬_tN€µþêòÅWo48& 
    96 Ñ‹Ë« 
    97 ÐŽåÅ w¹ùçòîBºåã 
    98 Xîïñèó 
    99  K§·ðùú¢Ó\/Wâ|ùwžò|ÞÁç-^Ї„àž}ž‚ã|ÖÛxï 
    100 bØÁ'ãý| 
    101 âé÷Dóýç‹]~÷âϗEž ˜3R/¬†ÂIÙ3pWCGÑÍ„ŽÒ’ä\Â]¡Öhæœ Á¿EŽ7 
    102 +àã«7ŸzJY&²@   ÁA2»|•Åځ 
    103 J’Vîáž] 
    104 ŽpøßˆgDŸË˜:¡XÐÎÂwwÞ#·Gbåö@Úlø0Š)ÄÀ‡A‰î 
    105 Ql’±ÐJJ-¿_ 
    106 Ó 
    107 Þ]%6ÿºú™|À‹BG·íçxÎTG<ÿ‰ 
    108 Þ¶<JÍž•®ŽÐb)|äéoø’[£¯ Ê_F®$çn†ž0 
    109 ƒǙ³àڈôu²ÔÝ<xÜÆ¯~ê>9üŒsÌIççŒÜßšùèÓ,xQîᕇëtëÇÚóSÂÂAMˆ<¯VK†*@ÉðÒ/ät(R:A#¢¬+ãM$`ÏA+§Dë 
    110 P "B@±Êýÿå7páwZþ „òÿ£¿%3ŠåutÒGNA 
    111 R×)MU`Ÿ ‹šh£ï˜ðò9Uɇs®O« Qîùxaìr•S       Äæ*A!—1çIJݯî)WLÕá=JVžgÕá™öŽ6, ʚߥ 
    112 !“JAÐ)™UÖͪ£€š’ ïS  
    113 cnøö!EÈ*k£Uæj’mHxŠ•‘X)”Vû à 
    114 Ÿg4¡Šº÷Ù!ÖÉŸD      Ðhî䢊ÚVJÎD"+áÜ@ÈW.èÓJHP&†Jz}øNà!åK«T³Q`˜\=§üíÂýù3Êÿ        .šBn¢^ö{(t<Í =Z­–©ŽS%9슠
    115 ’Z3ÀïkŽfÚH̗æÃD[0Š”òŒ†2ÔïÑÐú°¿Ï9ö?‚ ¬8è#5C­‚ ®€ìîùê 
    116 Ž       ÎÄöÿɺR€P=ÙîٓzÞ`9}Lw=jgªbVXµšI·    
    117 „sùŒ%EK ô¹XÊPš 
    118 ê9×Ôaµb™,*¯Âۈ        ýÖÏ!$PâhÒÓBf(òǔ+£MïJ3?¢ÞAo^ãŸÍŽ‹çsn ³8»rÚ~Æöð‡ 
    119 ò풠
    120 bµ|_zjÈ“V°µÞnæÓÍ•T 2Þ_3Ù&Ì.<£Ê Ý‘Þ»Ó*Ë@TPiàú%ù©åÓ.ê 
    121 ív¿-£ÈLY 
    122 ^[@[QSIŠ       ªeò)†Ž¶ÙËs™Rž̵ÔôÄq<øŠ|o 
    123 ×0ÏÌÀ|ÑAøT'/“Í¥W4ßÆÙ¡ôÐxý'L{Ô9܏R"ÞKs3 
    124 ËjÛ"ôUîŸî-^œË·òÔLýÌ 
    125 §S߁vŒË JÀ 
    126 b<cÝßÕ4æmÑ¢"ÊJæí” 
    127 ðhøÐ|#6ЛРušx‹ ‰ƒ 
    128 DTÆ-9PT-~éŒ!‡ÃE·qs‚O 
    129 Ëô{HW®*_O_͌HàÓ¬i%ú2OӚŒ«!ï°n LrœTHš[/šI^ø 
    130 ÃUüúTòK<S]Ù« 
    131 ã4K4Wñ»_çÛ÷“ÌMTP92úç5ªjuœíYk[ŌT~¡žaRœó°ÞUð36ž =ã_š3„ó0u¯ tš²ʘkÊkÐ)ì>ïŽú€dŠýÕ&5€ò3:ÿ¡|â|®Ÿ“ª>‘ì3T’è46@n>;M,·#ç‚#GÜQÅ9Ædð¡ûDfŒ[’Í·äÆé9’ÎÙ']/•qu©Ë§€–kp3BµË Áì8 Z_©—¯b‹0µŸtjƒ[@N6džsN”á»úÖ– 
    132 Ú3n#   WÎNØhâ ê q(FÐèØ1ñœœ@iwÑH€®Ãþ®bÙÞõ0)šgÊðL Ø¡ÐŒŒŸ¢8 މq‚¹ 
    133 †Ø5™%Ç+㊠
    134 ›—«ìJûx>émN{Ú×OíAa0f:û››“.@ñVÐw5ŠXÙÝLßQ PøMÚÕ¢ëU»-È/$Ã>mŸS‡Ë?Ä'útúkÜ㥠
    135 ÌÇxzq  øúcÛ;ttˆùßB!c(º‰ 
    136 
    137 Û¡a!éÒlSበ  M4Œˆ*-ž–j T)UÞ֓ó/AŽ|×GjÙ3àp¿†ä”—€Æ§b²KzÙFȔð~ 
    138 úÓu‚+9„ÚÝD‰öJ÷Ã^雚?0c)'®ÉÎ"×õV–€šq_ÅûÄQ¥S›Ãn ‘zL0ŸPj 
    139 .»Üj]g¿Fµ 
    140 ‘Q1hM b 
    141  C±JèåÙ*€³ÀïZ”sÏ~3WaV05æP°óå˜à»úÙz<F{® Æ 
    142 Ôï1MENPgˆk 
    143 •ØË1ñI 
    144 ©·Û—!4Þ-¬§ ~/›o¬J„Á³ÒXh·ýP¡÷ŸŽpuB¥ÚJŒìï‡Ä›£Òçf8ìÔQát4Þu‰§µÁ/Ó~Sł 
    145 ýå¶Œ©‰åœZŒTs·}ì>$Hßh¬î†Þx‘¬ÉÿÖ9¶7ÃԒU†Q”{ä›ÄMß4Û¥&|š_"|Žp«C÷›-ÁÓÔ@xà}›ˆeŽgC.g¢Æh›ºœÂàšæºˆ=±VŸ‰ý6ûâfח׋3óa`–K™îÞ„“°>£˜/9í+`ð~®s֟dä 
    146 W‹ 
    147 ¬ºË6ó 
    148 #X˜[ÏÉÙ@*Ǫé!GÍcÒar)$^5      4TÇxe¿EâQÿkBA¶ÀîÐYUFiDF~Hýçc’è˜âOIЬ7c§t“­š.±] 
    149 É £‚4øÚÎ/p—€°gwc      Ÿ«˜ÙMўN•ŽþSЌ٘®62Ôâ 
    150 2$þ2ªàfèñ0}€Ðzˆ}L wy$æCMǓÜüÃád€ð"F7Ÿƒp 
    151 µ§;߄XVaÏórüv<Cq 
    152 Œô.q–ÄÃc!?*   ‡ç- 5Ó=µ4£È¢q\iœp« 
    153 ý˜ŠŒ/è†OŽÑÐLCñr„šÛ 
    154 ’ 
    155 rvš¹ÿ:~=•N}M)OvwÃ"g‹™òc*ÏSå–ãÃBXÜáŠs=FïêZßmÐ"÷y¶È˜ù-‚²,8m&üL#(Cá¢AVEP=öÚaÞŠ4µÍE 
    156 ª°µcâÚºÀ÷Mýc™Ý€ºZ,ÈÉT·ÙgÈÊ}Œ?lû 
    157 ™Žü–%ϑC!H=s,ãŸÉ@¡ÂŠnšÇìțí 
    158 ‘ËÍLa€æÇ»\¹ÒÖ 
    159 žÈÑ~Ùô&–kÑûCZ§%¡âܪ%jšÕ7yá†Æéa|V1[EƒÐùh%¡—ûñOYJà_0¬ršÒ&7ùeÄӎœá»úÖ 
    160 Ž(Jú‰YžèF[ZAMLø˜8p:MœE– 
    161 Ø›8Ý¿}É¡qk^TôQ—W•wQÛÐäuF/ÿMŸ瓲i 
    162 Í&X­×ЍF\e‰€›6,™VGoq²²~Z€\ޔ¡ò*ÿh,/>„‚ŠgŒmz•7÷‡>uãä«×9RŠŽ¡a8ÇݍМ    ~Ö/2xWÁ·n1Eú¥éÍ9Š„”cfŠÙ-fÁsfep#Nlýrí;<L«PÛZ:É 
    163 z[L Ãb¥ÝIà;ïà“œÒ£zÈ®—^›}8³d 
    164 øÃžzYL0]ÔFP0Lh' &äSLÉh‘œµrŽÞÿ=„Õendstream 
    165 endobj 
    166 62 0 obj << 
     118xÚœYKsEŸûWìqMe'ÓóžpJ()b*à äµqaYÆR¯§{^í®µ@@咵žéî¯{º¿AÃñ«˜â^7ÖyfŒ†f¹:áÍ5Ÿ;?$£”aJ‹7o;i 
     119“Ü«Š3žYét-5’%˜ÖÆ5ÏŒ0†Ä_\œ<=“ŸËhÕ\\5 ,ÓÒ¡‰YîâòÇöîTØöí)Ž«{ºúpj}Ëðö?ÏN;ÅU»8í$çík|ò?_á眠
     120ÅË0Á¶žÂë~–}|wF3Üâ'ÝÓû5~ 
     121âíË óՇӟ/Ÿ>ùâ¢øãY-Tc^€÷}ÏÂ]- 
     122\WªA'0Ás.ð-ÈÆhŬ 
     123àøs2`ûk± 
     124íxzæªQÒ0¡¥AM$ŽXŠ}‘ݺE?€šÜã;Ó®·xùgœgO}—gê@2¯¬ 
     125~u‡â²áfL¹Y4GvhÉ€ö°³ÐÑ wAS\Š`Q”€l_.¶éÁšÞ.’™ß,~‰F>ÐC        W$×oŠlÎZ÷lþ< îÇ6 
     126ÅžòV 
     127ŽÂG›Ÿ¥a€nI¹B?‰V       Îí„rМ§™TB„I?K‘º;ŁÛ>~m†é“—Ÿ¶’¥ÆÄ é¯åôêSÌ;(ïèÉÃuzõ}yžI0xQ+ 
     128™WÒ¥ŠP 
     129Œpí6$ 
     130¹Ô!&DJ‚eŒg€q 
     131Q9äZgQ£\ÙÉÿÝ4K ‡ýÏBäÿ››Fh¯cz<r   rX‚œJ%h†9é›Zég8qL$®î0Y(Ԟw§ÚŽ‹\JpmîJ%r+q.,ýjqjÅçHQÍ=    ‡cLFCL¢a˜—F €       ‰ 
     132§ÓX1€­ÚP 
     133G+R¥Þ§5°µáùCZ!‹ŒÆk±þ£qµÊñ’pLItŒ•ŒËÿå-ª4ò0Eª Мʠ      ±L™ðw@@¢¡¹M­uÜ)9A8B( [̀¥Â² O¯×ÿ0        
     134–|aTS+ 
     135¯Í0öGôßhäeÚÏøŸ¥ÈÿïÊ 
     136øW«}Žc\k 
     137ÔSéc⠐ƒ¶38d©Œa@L¡ˆ|¶^­°)†ëa}ÜáP²M'tÔõí¡sÞ™Š¶h‚N#xN 
     138!,߯j=ƒP–ú„–ëÕ}î5ŒÂöj‘O7µAc€°¿¢ïöxýUau·:FâÑþZ„ž/ûÛï       ž3¢oóXî‘䉯‚–ÒZõž±(ìº\ 
     139â?Íé‘ 
     1405SSŠAž÷20ͱ›·ŽÁ«ç 
     141¹I\ë˜ËAbWwNÍŒ"EN~¿Îe3SË~ÂYì“÷(õü“}Âr8^rKm™×þðþ¡‘³/úD“×qór»”‚È^•œVw      Úbô—Óåá‚)$Bæœnj#'*&gÂÎîÿ6E€c\ªnQ€·ˆÐÔEò ôùZ 
     142»š8B3Š«ŠÖ8F€è§PÇdRÆœœ«Y걞ñ:%Ç6±ÅL]Ä:a%wM­~Ì5‘²ÇDƒÜ˹’‘¥ª|8«jF>+yNrúqSpÌpM­mœ \!ÓvæxD ¥ 
     143® E(ø 
     144Îa~Kn‡*ñþ6–äßýª/'$·à€»ZëGHRcã4΁}SAæåã\< CÉM<U”˜•Èåðûòír{³ž8㚘£ ÐÀ‹T 
     145“%³«µ 
     146ž¿!ˆôý 
     147E wé< 
     148¯EuJӓôUޕ‘Ü9=œË¯òiZö×<Þ+    nÓžð²h±– fÂ[ä»zÀ(Ÿãi   ˆrT{>4“Ó“â·gÆð:K 
     149V>žŒ”#Áž      ¡¥/•OJCÆÑ¿‚íÛx¢J£¶åTlž\U_€¯Î’HÁûÉР
     150$Ÿåœ-,lôŒŽŒ¥2ØÜtdŽ;U>M=΂Z¥çÅ^Œ\į÷¥ßÆûxÚSÎ[·ñ”+èX_ÅïÍ2¿Ÿ0™  
     151À1?¯CŸî7l 
     152[ÉŽ®œšŽ3)Vä»zÀD”‡Ó΀òãÁÌŠX–šQŽ 
     153AS9ÜSŸD$l÷ùdy“ `q™Z 
     154‰üÄAå°yBR®Zè>dÞfÒÐýhDŠÒŽ_ÅÔ1 
     155Y"žœ:±úì¥^Ù`]àaÛø/„}·'#cœmCäûÅv7.xgÍ£  ˜ÄÊB±5Ì·–kL¶0Õmþ¹ §à
     156¡Pí‹Hœ‡!ÔXU·Øš,3`.“²|Ws4íL&Y,nҚ£ŸË’ÔŒrìIHÿÍŸò\¢Ž»€×zuW–cùmg×xaKªéTòIÌÉq»ì,엙›ÝÉÎ2„%+§'û9ò”«œJ«x?`ü‡3íÙc¿’€ÑÌ*nþ1G!Ž'¥¢PMŒ™ EŠœ¿L¿äPêU'ßXc‚«ô»Xj¥ÓÒÐ~GlÒíïñW%z”ó6ÞÞŹ¿>} ïpkýcÛü ÓUBã>ìqãš°f!r†êŽàžŒ˜Ò÷í×eªendstream 
     157endobj 
     15878 0 obj << 
    167159/Type /Page 
    168 /Contents 64 0 R 
    169 /Resources 63 0 R 
     160/Contents 80 0 R 
     161/Resources 79 0 R 
    170162/MediaBox [0 0 595.2757 841.8898] 
    171 /Parent 110 0 R 
    172 /Annots [ 78 0 R 79 0 R 80 0 R 81 0 R 82 0 R 83 0 R 84 0 R 85 0 R 86 0 R 87 0 R 88 0 R 89 0 R 90 0 R 96 0 R 97 0 R 98 0 R 102 0 R 103 0 R 104 0 R 108 0 R 109 0 R ] 
    173 >> endobj 
    174 78 0 obj << 
     163/Parent 122 0 R 
     164/Annots [ 94 0 R 95 0 R 96 0 R 97 0 R 98 0 R 99 0 R 100 0 R 101 0 R 102 0 R 103 0 R 104 0 R 105 0 R 106 0 R 107 0 R 108 0 R 109 0 R 110 0 R 116 0 R 117 0 R 118 0 R ] 
     165>> endobj 
     16694 0 obj << 
    175167/Type /Annot 
    176168/Border[0 0 0]/H/I/C[1 0 0] 
    177 /Rect [98.3198 576.7316 154.7972 585.6381
     169/Rect [98.3198 572.1561 154.7972 581.0627
    178170/Subtype /Link 
    179171/A << /S /GoTo /D (introduction) >> 
    180172>> endobj 
    181 79 0 obj << 
     17395 0 obj << 
    182174/Type /Annot 
    183175/Border[0 0 0]/H/I/C[1 0 0] 
    184 /Rect [98.3198 556.4352 162.5882 567.0851] 
     176/Rect [98.3198 550.2982 162.5882 560.9481] 
    185177/Subtype /Link 
    186178/A << /S /GoTo /D (using-numpy-i) >> 
    187179>> endobj 
    188 80 0 obj << 
     18096 0 obj << 
    189181/Type /Annot 
    190182/Border[0 0 0]/H/I/C[1 0 0] 
    191 /Rect [98.3198 538.0715 189.1283 548.9107
     183/Rect [98.3198 530.3729 189.1283 541.2121
    192184/Subtype /Link 
    193185/A << /S /GoTo /D (available-typemaps) >> 
    194186>> endobj 
    195 81 0 obj << 
     18797 0 obj << 
    196188/Type /Annot 
    197189/Border[0 0 0]/H/I/C[1 0 0] 
    198 /Rect [120.2376 519.7078 178.7476 530.3577
     190/Rect [120.2376 510.4476 178.7476 521.0976
    199191/Subtype /Link 
    200192/A << /S /GoTo /D (input-arrays) >> 
    201193>> endobj 
    202 82 0 obj << 
     19498 0 obj << 
    203195/Type /Annot 
    204196/Border[0 0 0]/H/I/C[1 0 0] 
    205 /Rect [120.2376 505.3291 190.5034 516.1684
     197/Rect [120.2376 494.5074 190.5034 505.3466
    206198/Subtype /Link 
    207199/A << /S /GoTo /D (in-place-arrays) >> 
    208200>> endobj 
    209 83 0 obj << 
     20199 0 obj << 
    210202/Type /Annot 
    211203/Border[0 0 0]/H/I/C[1 0 0] 
    212 /Rect [120.2376 490.9505 185.4226 501.6004
     204/Rect [120.2376 478.5672 185.4226 489.2171
    213205/Subtype /Link 
    214206/A << /S /GoTo /D (argout-arrays) >> 
    215207>> endobj 
    216 84 0 obj << 
     208100 0 obj << 
    217209/Type /Annot 
    218210/Border[0 0 0]/H/I/C[1 0 0] 
    219 /Rect [120.2376 476.5719 245.8948 487.4111] 
     211/Rect [120.2376 462.6269 186.7573 473.2769] 
     212/Subtype /Link 
     213/A << /S /GoTo /D (output-arrays) >> 
     214>> endobj 
     215101 0 obj << 
     216/Type /Annot 
     217/Border[0 0 0]/H/I/C[1 0 0] 
     218/Rect [120.2376 446.6867 245.8948 457.5259] 
    220219/Subtype /Link 
    221220/A << /S /GoTo /D (other-common-types-bool) >> 
    222221>> endobj 
    223 85 0 obj << 
     222102 0 obj << 
    224223/Type /Annot 
    225224/Border[0 0 0]/H/I/C[1 0 0] 
    226 /Rect [120.2376 462.1932 262.7715 473.0324
     225/Rect [120.2376 430.7465 262.7715 441.5857
    227226/Subtype /Link 
    228227/A << /S /GoTo /D (other-common-types-complex) >> 
    229228>> endobj 
    230 86 0 obj << 
     229103 0 obj << 
    231230/Type /Annot 
    232231/Border[0 0 0]/H/I/C[1 0 0] 
    233 /Rect [98.3198 443.8295 174.6126 454.6688
     232/Rect [98.3198 410.8212 174.6126 421.6604
    234233/Subtype /Link 
    235234/A << /S /GoTo /D (helper-functions) >> 
    236235>> endobj 
    237 87 0 obj << 
     236104 0 obj << 
    238237/Type /Annot 
    239238/Border[0 0 0]/H/I/C[1 0 0] 
    240 /Rect [120.2376 427.3985 153.5624 436.1158
     239/Rect [120.2376 392.8286 153.5624 401.5459
    241240/Subtype /Link 
    242241/A << /S /GoTo /D (macros) >> 
    243242>> endobj 
    244 88 0 obj << 
     243105 0 obj << 
    245244/Type /Annot 
    246245/Border[0 0 0]/H/I/C[1 0 0] 
    247 /Rect [120.2376 413.0199 160.5759 421.7371
     246/Rect [120.2376 376.8884 160.5759 385.6056
    248247/Subtype /Link 
    249248/A << /S /GoTo /D (routines) >> 
    250249>> endobj 
    251 89 0 obj << 
     250106 0 obj << 
    252251/Type /Annot 
    253252/Border[0 0 0]/H/I/C[1 0 0] 
    254 /Rect [98.3198 392.7235 240.5847 403.5627] 
     253/Rect [98.3198 355.0304 240.5847 365.8697] 
    255254/Subtype /Link 
    256255/A << /S /GoTo /D (beyond-the-provided-typemaps) >> 
    257256>> endobj 
    258 90 0 obj << 
     257107 0 obj << 
    259258/Type /Annot 
    260259/Border[0 0 0]/H/I/C[1 0 0] 
    261 /Rect [98.3198 374.3598 182.5135 385.199] 
     260/Rect [120.2376 335.1051 213.6367 345.9444] 
     261/Subtype /Link 
     262/A << /S /GoTo /D (a-common-example) >> 
     263>> endobj 
     264108 0 obj << 
     265/Type /Annot 
     266/Border[0 0 0]/H/I/C[1 0 0] 
     267/Rect [120.2376 321.0976 194.7271 330.0042] 
     268/Subtype /Link 
     269/A << /S /GoTo /D (other-situations) >> 
     270>> endobj 
     271109 0 obj << 
     272/Type /Annot 
     273/Border[0 0 0]/H/I/C[1 0 0] 
     274/Rect [120.2376 305.1574 179.6044 314.0639] 
     275/Subtype /Link 
     276/A << /S /GoTo /D (a-final-note) >> 
     277>> endobj 
     278110 0 obj << 
     279/Type /Annot 
     280/Border[0 0 0]/H/I/C[1 0 0] 
     281/Rect [98.3198 283.2994 182.5135 294.1386] 
    262282/Subtype /Link 
    263283/A << /S /GoTo /D (acknowledgements) >> 
    264284>> endobj 
    265 96 0 obj << 
    266 /Type /Annot 
    267 /Border[0 0 0]/H/I/C[0 1 1] 
    268 /Rect [288.033 313.6803 317.1934 325.5408
     285116 0 obj << 
     286/Type /Annot 
     287/Border[0 0 0]/H/I/C[0 1 1] 
     288/Rect [288.033 218.0445 317.1934 229.905
    269289/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.swig.org)>> 
    270290>> endobj 
    271 97 0 obj << 
    272 /Type /Annot 
    273 /Border[0 0 0]/H/I/C[0 1 1] 
    274 /Rect [312.5275 302.2831 341.6879 313.1223
     291117 0 obj << 
     292/Type /Annot 
     293/Border[0 0 0]/H/I/C[0 1 1] 
     294/Rect [312.5275 206.6473 341.6879 217.4865
    275295/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.swig.org)>> 
    276296>> endobj 
    277 98 0 obj << 
    278 /Type /Annot 
    279 /Border[0 0 0]/H/I/C[0 1 1] 
    280 /Rect [350.8735 290.3279 380.0339 301.1671
     297118 0 obj << 
     298/Type /Annot 
     299/Border[0 0 0]/H/I/C[0 1 1] 
     300/Rect [350.8735 194.6921 380.0339 205.5314
    281301/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.swig.org)>> 
    282302>> endobj 
    283 102 0 obj << 
    284 /Type /Annot 
    285 /Border[0 0 0]/H/I/C[0 1 1] 
    286 /Rect [312.8897 232.8134 342.0501 243.6526] 
    287 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.swig.org)>> 
    288 >> endobj 
    289 103 0 obj << 
    290 /Type /Annot 
    291 /Border[0 0 0]/H/I/C[0 1 1] 
    292 /Rect [124.3686 184.9927 153.529 195.8319] 
    293 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.swig.org)>> 
    294 >> endobj 
    295 104 0 obj << 
    296 /Type /Annot 
    297 /Border[0 0 0]/H/I/C[0 1 1] 
    298 /Rect [105.5626 160.5244 137.9707 172.3849] 
    299 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.python.org)>> 
    300 >> endobj 
    301 108 0 obj << 
    302 /Type /Annot 
    303 /Border[0 0 0]/H/I/C[0 1 1] 
    304 /Rect [178.0471 149.1272 213.3644 159.9664] 
    305 /Subtype/Link/A<</Type/Action/S/URI/URI(http://numpy.scipy.org)>> 
    306 >> endobj 
    307 109 0 obj << 
    308 /Type /Annot 
    309 /Border[0 0 0]/H/I/C[0 1 1] 
    310 /Rect [145.9004 137.172 178.3085 148.0112] 
    311 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.python.org)>> 
    312 >> endobj 
    313 65 0 obj << 
    314 /D [62 0 R /XYZ 74.4095 789.6651 null] 
    315 >> endobj 
    316 66 0 obj << 
    317 /D [62 0 R /XYZ 74.4095 771.7323 null] 
    318 >> endobj 
    319 76 0 obj << 
    320 /D [62 0 R /XYZ 74.4095 617.2303 null] 
     30381 0 obj << 
     304/D [78 0 R /XYZ 74.4095 789.6651 null] 
     305>> endobj 
     30682 0 obj << 
     307/D [78 0 R /XYZ 74.4095 771.7323 null] 
     308>> endobj 
     30992 0 obj << 
     310/D [78 0 R /XYZ 74.4095 613.3264 null] 
    321311>> endobj 
    3223126 0 obj << 
    323 /D [62 0 R /XYZ 74.4095 617.2303 null] 
    324 >> endobj 
    325 77 0 obj << 
    326 /D [62 0 R /XYZ 74.4095 589.683 null] 
    327 >> endobj 
    328 91 0 obj << 
    329 /D [62 0 R /XYZ 74.4095 369.2974 null] 
     313/D [78 0 R /XYZ 74.4095 613.3264 null] 
     314>> endobj 
     31593 0 obj << 
     316/D [78 0 R /XYZ 74.4095 585.1076 null] 
     317>> endobj 
     318111 0 obj << 
     319/D [78 0 R /XYZ 74.4095 274.333 null] 
    330320>> endobj 
    33132110 0 obj << 
    332 /D [62 0 R /XYZ 74.4095 369.2974 null] 
    333 >> endobj 
    334 95 0 obj << 
    335 /D [62 0 R /XYZ 74.4095 329.1224 null] 
    336 >> endobj 
    337 63 0 obj << 
    338 /Font << /F40 69 0 R /F45 72 0 R /F8 75 0 R /F52 94 0 R /F57 101 0 R /F58 107 0 R >> 
     322/D [78 0 R /XYZ 74.4095 274.333 null] 
     323>> endobj 
     324115 0 obj << 
     325/D [78 0 R /XYZ 74.4095 233.4866 null] 
     326>> endobj 
     32779 0 obj << 
     328/Font << /F39 85 0 R /F44 88 0 R /F8 91 0 R /F51 114 0 R /F56 121 0 R >> 
    339329/ProcSet [ /PDF /Text ] 
    340330>> endobj 
    341 125 0 obj << 
    342 /Length 3654       
     331141 0 obj << 
     332/Length 4182       
    343333/Filter /FlateDecode 
    344334>> 
    345335stream 
    346 xÚœÙn#Çñ}¿BH€ <œÓÇôá<9Ž×v8##⠘¥(‰°HÊ¢ŽŠ`øßSÕ×ô5$µ‚Å,çšîª®»ª[ô¢‡ôB       "z3\(mˆ”œXmßô7ðíË7ÔÃ!‰€‚‡Æ×.~î˜"Ú ¢E 
    347 1là3SA8ú¢S’%Bšß_ŸyûnP0R2yqy}a áTÑêòꟋ«%]¬áº^v㋞ÝÂu€ëû~èý-Büè^Qøùtù¯Ë?Ÿ}§“É;{ «€âäÏ·8öÁN`Gdô0Mž±‹BØ  M57Õd0LxÀç%S‹ý€ÞÁuµì˜á‹÷ð#a<<ˆÅˆSŒùârbŸ–€—=ÈIP¢ 
    348 ð<ÆO7 
    349 æÛ„¡ŸKXŽæt•Ó"}ß iÛ¿Â/% 
    350  ˜ÃõÀ 
    351 
    352 qFšãØc(Ožc‘ÛxÈŠǝýuƒý\.=WQöp!ñï=o×µ(ž  Ü0èÃr‹ñÎ[>YvŒÔ»I0ž}ŽZdEc§ÅÏ7øò¶A(óæßÕhB:œ­ 
    353 ëÿxü–%+Œ[_¹O×þí~Û ‚ö sâŽjv‚÷D™T 
    354 R¿ÌŽÀUï–L[ÔÖp͖SwV1:ÑÓ@)²wF¯Yxœñ£nÜÛ{œàp@êqì㒁ŒìÇÉ8üs÷c—öäWæZ“e'‡~ñÜ@ú@)) 
    355 Þ’ ÒT/aðj]ê3W’ð¬^1CŽ6ü„]Eø. 
    356 Piv=í   »L€RCAGéiÔqì‚r"5•9öb¿·rÊÊËë5r{µG 
    357 ‚Š!ð*0~ïy쬞À 
    358 aŠÑ\eJÃõ&cR=ëê 
    359 à{?wTí‡_šLZ‰ E1\ÐS~/Àwé€ÚïUÓâîQŸ^<M·nÝ%=‚TÏ r 
    360 1 ã4°ž”€Îi8¬ ÎÈi,ž€Úž 
    361 ‚`͆³.z²õ‹—Ìh{æ}Lê} ˆÒJÌZž•7~ 
    362 yLŒvpµ÷:D圛ûÎ1Úº      ‹òàÞ¯ÇêÑ­S9Š^UcАªœ]Èz»öžªƒ 
    363 b±ç 
    364 7jZƪ7À8—T]B>ÚÐaáÆ–+åé‡ÁŒ2ÐPÂY”‘Í;,}!¶ÄÞñ!ògËÁÉFP ¶â€W        d7ìŽÏ¶ü©9G{F~è:ZA\ŠúHOXd„ïҵϪŠ=á1Ö 
    365 FPÐQ˜b„:Ž=dÁެg\·ÎY+âqÎ[Q:‰~‘€øˆ² 
    366 íäö9jà(S º åê![çR3HàŽ<!„Þ¥ðªI‘ ô‡ëë/+_H%å¥3 PÇqSæÒó 
    367 wTÝ=Jà#•î'£9¬Ã ï·œÕx8ˆVP 
    368 Ó?l‚ËIfÄTD»4b°‰ˆŠÎàŸï©ÉǕ›ñƒïè†ûŸíÚ;,Ÿ?"Äa럭âR 
    369 %Ñ[k÷HoŽ‹ËÛ0sPbA 
    370 /r4çˆÐ3¬¬LnPséëÁvAš€"ègTåí˜Æ{q¿ÜÅB+÷>øž}²ñ€Uõ›1vs듐«Õˆ®vœ 0‚o‹¹‘µ£!TBñ UO(å§*¢ߥêÌ­šöžpÙcéÊ 
    371 
    372 #ˆP'Kȩʑ×nýÚ:™µ“€×Ï;xn±Ï•{ 
    373 ÝÏÁιI>„<GPc¹ÚÍh. •º vt=›œ-ÜnǬAºai Ž9 
    374 ÷ 
    375 ‡Ö‰fg]ñ]ð©<aù8¥3ˆU`€÷îžÚÑ=z šˆÍ‘mb%‚,`¶ˆ¶÷‰\d«ÈÙ>p”F       OÀюÑBºA³Å»% 
    376 “p 
    377 6Ԍž5ŸJïÑ9rëgeP)§‰Ž‚\€˜éM­”:¯4D¯œqïÊ¢FGôèþ«$ î±åhqlSoÓ›( 
    378 Ê9x÷Ù®oŒræb?dFât Ž¹nۄi èÝ 
    379 µ¯yãüØmÍ#&     í<H|Úâr       îtï{ï}J0ú0Csñd— 
    380 Êt¥À1a"È      á»t@£ 
    381 )§=³bÀÐSÐSv‚Ô       *à#í¡Êš8âø˜aVilˆŽÑÏ5 
    382 µÒ|â*Š|°IóCíÆÈóÏån„?Ÿ®zÚÑÄ(Òk*Ž35B@eš1Œ¿Š©y4Á7sFžé,Ç(ÕXQªÙ4#Ïçb†üiɇ˜C žxø 
    383 åtŠùŽr„BR4ý”ûi·†_‡pæ¹›R®õ 
    384 å 
    385 ×—pý®wþùOp}áߘKžŸòïðù›ø~wìcy6>Ez,þ_yO›û% 
    386 ï1ùsøÀ8ši/â‡3Í't    B7/¯æõµ&Î5ËìM2ùÞ¯ìÑskôÏþþejöûÿï^œæ1ÆÏX.#}~ÚvÑO¿uPA|HÜgp}ë/Œÿ\Ôu#4ðÀ¯ÿ^èöP®Q€_~šu{ºÁÑÆ²›8óó1îü 
    387 ;c;å2$leê(šo ®ÝœË 
    388 ­Ãvýb³Øƒkâîvt@w!<zˆkÿ»›&¬     ßm§þŽ™ÏWìäx“T€[ÉHÌ&  Šk?÷{-í}ß€TLzÒ÷\ÏK#žif(˜O®2C߃°þÔyXxv‚² 
    389 ›q³o€µÙ¢/WcÏaÀŸG1úÄoÈ2¿AÅbŽxðãnã£ ®³êØÈ‡S¥I,â/“EŽ6Íç4«     àõvÜyî¹µÌ!Ÿ¹R¥“¶yc5_¥ ÞÒê#ŠUCô EÒaõ4žÂØKRPˆØÂ ¹Á5³[žt¹ï& 
    390 Ü}Æ¿­q³ uȓ·Ífb!ÙôRNÍÈÿ¿O«kˆnR]”k|>ԖhùàMà@ùGªO.“ú«c pfŽÌmËZÅÍÍ 
    391  
    392 f9ií”>·X¬VDühYÛÒ ÓZ1"ބÍÛ(ŽIW`ùœÇâ!»§ÌZ”ýÝMi]Ȟ·–M¡0vsìŠDï5,` Pð :1§Íýp¥yRK­C™ž>$^×-9¡Á%˜J7ÎDÝ 
    393 «Dƒ“I:j±ëo#êÕ&L.3ñA÷Áؒ» 
    394 ÛL·G9ÔDòž-{¬ÀÖØ­¬<^C¯Óvw°g¹“AÜ[ 
    395 V<zù’~°b?»ÐOŸ 
    396 ýä¶ìÐã$ 
    397 Ü°Çi†i  
    398 ª 
    399 Ô.ؐ 
    400 Hnƒâw&õ2°€µlDñÉ+4Jw°1nh°²ÓŽ­Ž[†šØî˜btéf5QR 
    401 Îeîëö@OŽŠ*º?( @J£ŠŽÛåcÃÕªã1U[pï§o'ž­ÃRÈôDÅ&ÚFÞërÄ$ÅXäÎ9} 
    402 ºŽÙÖd| ÚE룺9k 
    403 ïRƒËܟ¥¢µž]RQç 
    404 ÍF$šõ¯?W’°.    5‚+"iÙBT7 
    405 sk§›f8*dvÀ|j¡ŸÎp9à›$Mã1 
    406 ß 
    407 Š}¬«¡:îqŸ.mêYܘÆ\—–y'9€Y7M7àüg{ö›£Ö 
    408  
    409 «~ðk(úîãsŒoBÏæ•Ÿg(HßSY€qÉ> w^xš(ž¶ñ}Ò.vú"ê,pøØcÏù 
    410 f%ðUŽÂ„É6n‡¿Ã>w?ó=[2›ZºB#v_9O#ß8eß›õP\"’7æ„vä8Ûùá°R‰õÇw~Ò)æ;?jÞÖçÎ6jlŸ¿¢^OûgTÐy.”oÇBVÄ$¿€ì P@:*à»t@œ1[M{bW˜k¢`å®p€: 
    411 Âaþ%Ã]5$õ¹ ö(÷™¡ºÅ¯é3:ŽŽœ×{ 
    412 v³ÉÁŒ­ 
    413 !ÁÅ»káo¥0–54(q±áw(X¶Sççda—Ée·Á7ž 
    414 µÄ7R 
    415 (.ùžÚYÆEL•.žä°NãúŒªÿyêÍŽü^yâÂýp;4—t菌¶92ë²ELþ—•N1ï²"Ôy­ËÅùy.ëœf@³uù¿t’?OŽt‚"á¢«dÂõ7:Yµ‘ΛçÝõf‡gpÔÈ9 ÛÞãÏË҈ih%¶†)Ñœ;t9¿W 
    416 %¬¡õXÙQ[1Ù~‹±Ö‡ÛÕSÒçžÊâpO0¿™b€Äo&bTÆÛ£ŸL’)åk-âmÒ'Zy~Ÿõ¿Ï±÷Wrî¡BŸNÆwuI±>'ìܞ$¿ç`8MM]tiˆ#” 
    417  
    418 k×ñ„Nz ÆõŒ‚º®gí~Cµð’˜<s¶» 
    419 ì*9Œç2[Ί}IÈXTÞÅÅg›lÅ ŠN‡((žå»=Q:àËaR7Hõ<Ù[ò÷öEF[Ìtý<ë)SßßGÞšÎö[ÝìõùF{䩱ñ5z|ÚOkšš74"~p0àÐQg˜#" 
    420 ¡4©Š²EIҋ~€H/øÉÍÞߥêd¥šöxŠÄ@{Y™gNF¹ƒ 
    421  Ž#ÇãV 
    422 ·³2䵐&¶£òÑ€¬Ú ï U€ÉZJglÇ1ŸUuá–ž`Ýãƒ/‚èµÜ‰&xQüÑMvúTa>ÃĹ¢‹ðǹWO{\tCψÆãŠGE¡Ž#ðd*g<GŽÇ˜}ÿr_Vn§'»WSÅ÷Ί¶+ÆÏ|ZU 
    423 NÂí•éŒñSþ¥,-m&鑺>D‘¹EWp×<Ì"%Qj@Š!” 
    424  
    425 þùÃ,ŸKÔFPM{ 
    426 G. 
    427 ¥šÈ!J0ÈÎ2ÜÇÎîq^žÝCÆÝ†¿z¹ËEkëôbK¶ê±ñ;fa4a̘.j¬} ÷õ®Í 
    428 Ùnàû/jCɂendstream 
    429 endobj 
    430 124 0 obj << 
     336xÚœ[mo#·þ~¿Bh@.N›å;™~(Ú4IS4I‘º(ŠŠ(Ö²ìsϲ.^_.‡ ÿœ3$‡K.)­Ü+ŠƒÎ«Ýápv8óÌ )¶êá[ÙÉÞ©•±®ÓZ±Õvÿ¢_ݳ/^°H#¥î€ÒŸ4žnï;«5_mr&¿»|ññçvå:§¹^]Þ¬à™PB®ŒfÑά.¯ÿ±~÷ꂭ‡§‹Pfœûñ‚¯‡íܺ‡Ïû‹^þñãϕΘ(×£LŒ£G ÚÁçû@™ÏÆ\ǹ`‘ðˆÆîb£˜Y9†Ùð^œxFŒõŸÛ{ÏnÚõJ¯Œñ–nš5Šxϯ.6\Ó}O‡wøßõ4²ÝŒ‰o6lw¿É 
     337±“00×Cä 
     338,ð3\pʰrýžhŽlñŸ     Ç(QŠS 
     339Þ<Ÿ¿‚¶V':'¹XmëœRÜ+Ê¿žWR"#T 
     340e“ÖØôZo¢npÄæðV/ý&#X$þ²fÙû|‰Ÿ]&3LtÖ*í:Ë€ 
     341¶Š 
     342o#Í·™Õ&úM> ²Úš-ªé/ Áßàóå•’uœv&ÆÌeÕÂäRvœY^NŸõ돟C\‰k\µdv{Z˜]xJ+¹ý 
     343;‘wQÿ#Zs“eEŠ`Q`{»h1\ƒœ5d2̋“ 
     344­.ÚÿþM4žKÞ"1ÅËñÐy¶L‚ 
     345 
     346WÚáW(Ýkø/¹$Hb 
     347wn9ºV° 
     348­Ÿ=[ ò>:âëpÇá­¹õT{ÿbcà±%&[o[òíë 2$!•¡!%}¿#.|ºÞ.Qñ‡+ 
     349r•lÚÓ 
     350Æ?'ãÍèØlðò û.NF7].,NS™ƒyçšcŠ¿yžÁ¿¶òý} 
     351ú‚ÓTjÔøï9ÏoÍ܉iK,‚9„w!œíj¶BuŠ—„ú3DIÙêÞƒëvàpº·Ë‚Ù4ùªé‘ŒæmÔa4)œ<¹ØD\ 
     352ïìwž„x5~YøµØAP2Z¬/i40óvxƒoã=EÿŒÚªÒÿbzE«úC4°Ã#Jàâ2äÅž>0ª>Œæ4T&úM> B«šíišdŠwJp3c•‰jaòŠNþ2šà•_ÐÍ;üo÷ƒw-T¿Ç‰~ýŽpð 
     353ݬŸb:~‰è 
     354—[¿dqà áÁ;ïSoŒgú¡Q÷7q­=ΐç 
     355ˆ1ÏÜ 
     356ž<h’,»1Jw•œÝóLÀÓ ñv”§÷Ï÷AŒÃèSšÂ³0Kë˜R‰Fã\>TÀõ 
     357AÛ>|Ï Ýcž×È]D€§¯‘Àg;þ»7ùÛ8.P¥àqô+DèÔxþiøs N'c>¬÷¡Ûu€¶>~>Çl  
     358hn±œî”²n¥A‡œK9F¢ßäjÛ­Ø¢ oPê÷ñ_»™Ë#tç €¥<s"ª)*f™e«ÀµIÏÃԎ‚ŠÂZ—kˆ70ÂàßWd 
     359×Ñ"óèl1 Ç¥º#›ñ«<†çßõª'dv~I·8Ï«ÈçÎg÷É!|Π
     360‚AñNiLêŠhðD†|œ»P|}Ý üXC‘ DaA 
     361ò®ø^œ×“Èù«ö‡[o‚»øRÞ 
     362 
     363ä 
     364ªó=Р™ŒÞˆ€VaAü÷|m€r¡)9~a8Æa”“+­5€•K†Lô›|@mB[|•¯}ögªèr98óÍä˜p¢:={͌ تPyóö*âSâ–ÇÍë˜T .o2%ÞmC’·Qrýoo{¡>!ÓÙM@s 
     365&¶[ÈF/Š#p9OÃâÒÊ`-†g«ùä2æÉåü”»—1óìrª 
     366Ð3ÜÜƘ{[œ%O™”úáé•V²c¢Ä‚aý&PFÅö\„3Š RÊRž9ÂՂ¶ï4wŠ”¢ŒŸžö%úpÊXT'˜†wFij8ø:Œ||.À¬5‘ðh†€óy =^‡›19ùd®*êähÀqÅt3›b ÷퓖ì„À4/gáµXV” 
     367ošš¯v¡¡žÈޟjO97 èÉ֟ÔÚÙøK,1M§•S—(XCóÜvÕ²r\FÂJ¹Ü‰,ósàŠ•5ZÝõº 
     368+«{œä 
     369D¿É4ìrÎv6a    ,8z)G›‘êôìœs\OQÎ^UŠšfEè#¬xnE';°C}€¢ÃnDŸR?õÔŒòKsF­*;u¢R 
     370 
     371X1u¶)ì~Œó{•lÆ;™§Èr·›“ËŠ      ¥aßïÄklÂw̍ìI:Œ€"˱ð.ÆŒa 
     372Qz 
     373‹EÈ!<ɋXøúiøÓÎŽ!,iÕ¯?ƒëPM=¢<åmPXMÉìÔ]ÝVéˆ0º 
     374Œ 
     375¬¯sœZJGý&P·Ï*¶ ~øÙicÔLŽ™_%ªÓ³K& Édºœ}|‹¥X¡=NvÚ-©‘,íí<* Žƒ‚„ë Y`e; [8W–r}¯"ïdڏ-œÈwܹRàUNõb ÷ˆ~“šq¯b{nVy)Î<)ˆD§eà=‡UÒ¶”aÜQ—f,v|Ùpn    !JsuVàÑRe{~Åw÷!^rgaÝ ôq9ú8¿?Ñ·Ê}yjýàê]ÂmŠÊ‡Àû>(:”b8åî0‡TQÕbА£”‘ÝžÒ_šhlh² 
     376i²ýéšÀ›0€HI-éBä­:‡ªëU*ÚΠ
     3774¬<­QšÚPŸÔ閩H•aòV3ɶSaE”U~&͘íõSk"Ž*Lú°u&"­žLYÞ9GûvG=2Ñoò5fUl3íý•r 
     378Ý!<9;e°Ê°®ε‘,Î# 
     379æê(=ëGeimGP•ß“UÄ:©Ü 
     380ëæoO[š`•]nqzˆ|“ÓÝ'MD ]TY8gb&Ä 
     381 ‰êô܌ƒ»ô¢œ;™nh¡b€²}¹«nD܎^éüî‚ižþxG“qÄTĆ4BùDÄÆ‚ü»žIJ>®G*؇0<þÙO 
     382¡ZBã><+ö<¹Ð{ï÷žUlm¬ºïŠV¯bE£S{?ÞO&Ì·†Z 
     383ae²ÏdÊû¡š±ùxe]lŸð.c˶QAî¡­“)€¹IÈ{oÕ8] 
     384œ`0’ÚbFîtCà4 
     385ÓP<(†Œ»¥Š(ÑoòuæV±]ØuÕ=–®|&Æ|וš&×&gМüT›V Ú' 
     386 
     387ˆË“vâá{eÆÑ†ðgÜ¥6R|@y 
     388D0ŠW 
     389ûŠåâ    {Œë 
     390O§@ —ûžÏ†åÐ-§wÑ¡qhhn<ßІéô‚ç#Ëài/!¢{”v_£M–“Ý¥J„‚,Ì<Æœi]4 
     391UÔl_fÎ%ñ~êæáÁËÓŠ”.„ša"÷ÒWéœßGÉúçÞŒ=ÙIb 
     392r©ø­$×IÉøb+    &L@ôþ«VÖöM Å±ÍÀ]¯ŽÑ·¥â\CxìßožîâNlÀX-KÛö        ÓŸ¹ ùœÆÎÝ\7Ç^5Úöºc=Ñûnª[_^œ 
     393bOã*ŠC|îX¹<E祇2Ý&—k¹”w%úM> Q 
     394ÌٞY    qÐ؋›É3ïՂ€¯‡‡ 
     395'€ÏX\SˆôÑ/4P 
     396µÑŒ Å{ür›èŒƒ0çŸ«ÝDúœj¶ ÑÄÈ~˜<­ÔDµ09”¡Îqñ,¥–Ñï4ZT<8))Œ°Y+(Õø¬TóiF™Ï¥ ùhG’°N+®? £œ³8ÞQNT(êG ÓO-œþe:«Ž–mÿbë9­+|Ÿ€Ï¿àóyüþ'ø|ïÍ%|þïá÷¯ÓýbnžæN}¬šÆììÎÿ‹ˆŽ%.1žßà‡/ù3=àÌ4v >:o¢ã        ]6á1Ÿ±ÖD^ 
     397eO 
     398Hb~ˆoöµ5ÄïñúýÔ쏠
     399þ_?û‡?S¹ŒòE¶í¢Ÿ­šhùPžßÂçÛøÁë¿Ã‡ 
     400n$’’âûÿ>.úW‘*4 
     401ðÉOÓK-̞opŽgy˜4óó)í|ˆ 
     402±rI   Û<u”,¶wá:䆠
     403°C¿Ø­M"\ˆöñqÑSÜÄ¿#̚ðÞ~êOŸ8 
     404ã™?Ҁ,͉ÂÜeAqy_ 
     405hé¯ëü&—b¢ŽG(c u°Žå 
     406æR”@fH§O²³DB”Ç$æ§!}¶HÒÔsž£pìQ cãSº3<åˆ#˜@uO!ž*îͱ‘7J   ŠÉ“"x‰oÊS4>ͬÚG 
     407 
     408¢ö» 
     409+Bbs¥J'}óÆj$Ÿê-–¶FŸS¬ºÎ*+óÓÞùYŠž’œ —nV¿7³[‘uEì&ŒáºPHÜÖž} :„6{É®×Ù’ÿ?ŠÕ5„bp¹-(“Ž#z=Ԟèõ]`ÌšâˆÕ§ÐYýµá°àÜÍO.x¯žœÝ! `–S 
     410u‹»ðP‰“=bTm˂$-Lëqb:ƒãâ9dÇr=ec÷”‡Ã 
     411ø÷aJë({Þ{5éx ãÙîçóTÀaAlæ t†ŽÞ7VdµÔ. 
     412ì3Ô 
     413¯œÉLHÖ “%0¶_ˆÈd 
     414µÔ—iêí]Ú 
     415iŸ|CΖuØ=]óXa«)Š:-Ò¶ìâY 
     416Rå麋6íw{^Ÿg÷'pð¡üë¬_~ÝÁáÏCvNhK2ÄÓG§EšOMÛHð¥Ú؈§”Šã¯&4‡ 
     417‰ivʬé#FLšÐ(ÝÁDŽcäeËÀVÇ-יÔî˜bô 
     418fmgŽ¡Îe‰‚­ãÞÖ2“à/ 
     419Ú™ÙNQ^gdO™ø¢„ëÈŸà¶Gh©ówÉ7Ê^W&Ë(†Yî\Ù•͘í]f:é$"FmŽyópŸ;\^ŠÖ 
     4204Π
     421’Š:oh6ztgyÿüs%™ê²P#$À³­òÜ€qÓ±ô6¹Ü4ÃQ”aøÇSý 4pä6i–ÇcŠÖ~šÖR•ì˜M{œÏK›zž6Š1Ws +ÐI«<랝Eôý5í7'« 
     422ƒª^ÓÏ–ÊŸCx˜~µÆ¥=šWƞ¡ìúžÍ²†!ÛŒà 
     423‡Šچ«¬ <Ûé›~0—Ž{Œá8*þõáiâZŽy£ܜ:Ç~òøßÑÔòØ1÷ð¬)ûŸóY,êcv:ÕùE»Šu<ÚùaNuÜ2õŸœÅñÎO¢:îëÇÎ6jì˜?£^ÏûgTÐe.TnÇBVā ‹ÚÂQ¢ßäêÙŠí®°°u’ÏÄš~©&‡pØŸsW 
     424IÉdú- €àq#“ª[|š0cª 
     425ˆpäq»Ça·wÅ¡3àÛªà †ü®5+ 
     426A²¢¡ÁÒ  àî*(x6š‹s² Úe 
     427Ù-aCØP«~ÔP€P\:÷ßÕÎ:œÄTé 
     428B’qG qsF՟ÿ:¡{óqŸlÞ÷C˕ŠþÈà›#Ç!KÚ Ï~de,N@Q×º\(Îσ¬sšÍÖåÿ$Së²¥~g¡ø4íŸòÍ&#ª7¡ 0lNª—=wԘï?n.²endstream 
     429endobj 
     430140 0 obj << 
    431431/Type /Page 
    432 /Contents 125 0 R 
    433 /Resources 123 0 R 
     432/Contents 141 0 R 
     433/Resources 139 0 R 
    434434/MediaBox [0 0 595.2757 841.8898] 
    435 /Parent 110 0 R 
    436 /Annots [ 127 0 R 128 0 R 129 0 R 130 0 R 131 0 R 132 0 R 133 0 R 134 0 R 135 0 R 137 0 R 138 0 R 139 0 R ] 
    437 >> endobj 
    438 127 0 obj << 
    439 /Type /Annot 
    440 /Border[0 0 0]/H/I/C[0 1 1] 
    441 /Rect [185.0642 738.6365 220.3815 749.7547] 
     435/Parent 122 0 R 
     436/Annots [ 143 0 R 144 0 R 145 0 R 149 0 R 150 0 R 151 0 R 152 0 R 153 0 R 154 0 R 155 0 R 156 0 R 157 0 R 158 0 R 159 0 R ] 
     437>> endobj 
     438143 0 obj << 
     439/Type /Annot 
     440/Border[0 0 0]/H/I/C[0 1 1] 
     441/Rect [312.8897 746.8856 342.0501 757.7248] 
     442/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.swig.org)>> 
     443>> endobj 
     444144 0 obj << 
     445/Type /Annot 
     446/Border[0 0 0]/H/I/C[0 1 1] 
     447/Rect [124.3686 699.0649 153.529 709.9041] 
     448/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.swig.org)>> 
     449>> endobj 
     450145 0 obj << 
     451/Type /Annot 
     452/Border[0 0 0]/H/I/C[0 1 1] 
     453/Rect [105.5626 674.5966 137.9707 686.4571] 
     454/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.python.org)>> 
     455>> endobj 
     456149 0 obj << 
     457/Type /Annot 
     458/Border[0 0 0]/H/I/C[0 1 1] 
     459/Rect [178.0471 663.1994 213.3644 674.0386] 
    442460/Subtype/Link/A<</Type/Action/S/URI/URI(http://numpy.scipy.org)>> 
    443461>> endobj 
    444 128 0 obj << 
    445 /Type /Annot 
    446 /Border[0 0 0]/H/I/C[0 1 1] 
    447 /Rect [375.3565 726.9603 410.6737 737.7995] 
     462150 0 obj << 
     463/Type /Annot 
     464/Border[0 0 0]/H/I/C[0 1 1] 
     465/Rect [145.9004 651.2442 178.3085 662.0835] 
     466/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.python.org)>> 
     467>> endobj 
     468151 0 obj << 
     469/Type /Annot 
     470/Border[0 0 0]/H/I/C[0 1 1] 
     471/Rect [185.0642 615.6527 220.3815 626.7709] 
    448472/Subtype/Link/A<</Type/Action/S/URI/URI(http://numpy.scipy.org)>> 
    449473>> endobj 
    450 129 0 obj << 
    451 /Type /Annot 
    452 /Border[0 0 0]/H/I/C[0 1 1] 
    453 /Rect [168.2912 714.4472 200.6993 726.3076] 
     474152 0 obj << 
     475/Type /Annot 
     476/Border[0 0 0]/H/I/C[0 1 1] 
     477/Rect [375.3565 603.9765 410.6737 614.8157] 
     478/Subtype/Link/A<</Type/Action/S/URI/URI(http://numpy.scipy.org)>> 
     479>> endobj 
     480153 0 obj << 
     481/Type /Annot 
     482/Border[0 0 0]/H/I/C[0 1 1] 
     483/Rect [168.2912 591.4633 200.6993 603.3238] 
    454484/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.python.org)>> 
    455485>> endobj 
    456 130 0 obj << 
    457 /Type /Annot 
    458 /Border[0 0 0]/H/I/C[0 1 1] 
    459 /Rect [486.5452 702.492 521.8625 714.3525
     486154 0 obj << 
     487/Type /Annot 
     488/Border[0 0 0]/H/I/C[0 1 1] 
     489/Rect [486.5452 579.5082 521.8625 591.3687
    460490/Subtype/Link/A<</Type/Action/S/URI/URI(http://numpy.scipy.org)>> 
    461491>> endobj 
    462 131 0 obj << 
    463 /Type /Annot 
    464 /Border[0 0 0]/H/I/C[0 1 1] 
    465 /Rect [88.3572 679.1396 117.5176 689.9789
     492155 0 obj << 
     493/Type /Annot 
     494/Border[0 0 0]/H/I/C[0 1 1] 
     495/Rect [88.3572 556.1558 117.5176 566.995
    466496/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.swig.org)>> 
    467497>> endobj 
    468 132 0 obj << 
    469 /Type /Annot 
    470 /Border[0 0 0]/H/I/C[0 1 1] 
    471 /Rect [332.17 666.9055 361.3304 678.0237
     498156 0 obj << 
     499/Type /Annot 
     500/Border[0 0 0]/H/I/C[0 1 1] 
     501/Rect [332.17 543.9217 361.3304 555.0399
    472502/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.swig.org)>> 
    473503>> endobj 
    474 133 0 obj << 
    475 /Type /Annot 
    476 /Border[0 0 0]/H/I/C[0 1 1] 
    477 /Rect [199.781 631.319 232.1891 642.1582
     504157 0 obj << 
     505/Type /Annot 
     506/Border[0 0 0]/H/I/C[0 1 1] 
     507/Rect [199.781 508.3351 232.1891 519.1744
    478508/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.python.org)>> 
    479509>> endobj 
    480 134 0 obj << 
    481 /Type /Annot 
    482 /Border[0 0 0]/H/I/C[0 1 1] 
    483 /Rect [368.9173 631.319 398.0777 642.1582
     510158 0 obj << 
     511/Type /Annot 
     512/Border[0 0 0]/H/I/C[0 1 1] 
     513/Rect [368.9173 508.3351 398.0777 519.1744
    484514/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.swig.org)>> 
    485515>> endobj 
    486 135 0 obj << 
    487 /Type /Annot 
    488 /Border[0 0 0]/H/I/C[0 1 1] 
    489 /Rect [110.73 288.6041 139.8904 299.4434
     516159 0 obj << 
     517/Type /Annot 
     518/Border[0 0 0]/H/I/C[0 1 1] 
     519/Rect [110.73 174.6963 139.8904 185.5355
    490520/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.swig.org)>> 
    491521>> endobj 
    492 137 0 obj << 
    493 /Type /Annot 
    494 /Border[0 0 0]/H/I/C[0 1 1] 
    495 /Rect [175.0442 170.1089 204.2046 180.9482] 
    496 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.swig.org)>> 
    497 >> endobj 
    498 138 0 obj << 
    499 /Type /Annot 
    500 /Border[0 0 0]/H/I/C[0 1 1] 
    501 /Rect [474.6661 170.1089 503.8266 180.9482] 
    502 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.swig.org)>> 
     522</