-
b{Cc       s
     d  k  Z  d  k Z d  k Z d  k Z d  k Z d  k Z  d   Z  d   Z . d   Z n d   Z	  d   Z
  d   Z  d   Z d   Z <d	   Z 8d
   Z d d d f g a t d d d f d d d f d d d f g 7a t d d d f g 7a t d d d f d d d f d d d f d d d f d d d f d d d f d d  d f d! d" d f d# d" d f d$ d% d f d& d% d f d' d( d f d) d( d f d* d+ d f d, d+ d f g 7a t d- d d f d. d d f d/ d" d f d0 d1 d f d2 d3 d f d4 d% d f d5 d( d f d6 d7 d f d8 d9 d f d: d; d f d< d+ d f d= d+ d f d> d? d f d@ d? d f g 7a t dA dB dC f dD dE dC f dF dG dC f dH dI dC f g 7a t dJ dK dL f dM dN dL f dO dK dC f g 7a t dP dQ dR f dS dQ dR f dT dU dR f dV dW dR f dX dW dR f g 7a t dY dZ d[ f d\ dG d[ f d] dG d[ f d^ d_ d[ f g 7a t d` dK da f db d dc f dd d dc f de d df f dg dK dh f di d dj f dk dK dl f dm dK dn f do dK dp f g	 7a t dq dK dr f ds dt dr f du dK dv f g 7a t dw dx d f dy dx d f dz dx d f d{ d| d f d} d~ d f d d d f d d d f d d d f d d d f d d d f d d d f d d d f d d d f d d d f d d d f d d d f d d d f d d d f d d d f d d d f d d d f d d d f d d d f g 7a t d d d f d d d f d d d f d d d f d d d f d d d f d d d f d d d f d d d f d d d f d d d f d d d f d d d f d d d f d d d f d d d f g 7a t d d d f d d d f d d d f g 7a t d d d f d d d f g 7a t d d d f d d d f d d d f d d d f d d d f g 7a t d d d f d d d f d d d f d d d f d d d f d d d f d d d f d d d f d d d f g	 7a t d d d f d d d f d d d f d d d f d d d f d d d f d d d f d d d f d d d f d d d f d d d f g 7a t dq d d f ds d d f du d d f g 7a t d d d f d d d f d d d f d d d f d d d f d d d f d d d f d d d f d d d f d d d f d d d f d d d f d d d f d d d f g 7a t d ddv f dddv f ddK d[ f dddv f dddv f dddv f dd	d
f dd	d
f ddd f dddf ddd f ddd f d dd f dF ddC f ddd f dddf f g 7a t dd d f ddd f ddN d f ddK d f d d d f d!d"d f d#d d f d$d%d f d&d d f d'd(d f d)dK d f d*d(d f d&d d f d+d,d f d-d d f d.d dc f d/d d f d0d d f d1d d f d2d3d f g 7a t i d4   d  S(5  Nc  	  s     xL d d d d d d d d d	 g	 D ]& }  t i |  d
 | d |  }  q( W	 t i |  d d
  }  
 t i |  d d  }   |  | j Sd  S(   Ns   1s   2s   3s   4s   5s   6s   7s   8s   9s   ^s   ^+s   ^-(   s   is   strings   replaces   unit1s   unit2(   s   unit1s   unit2s   i(    (    s
   convert.pys   unitinvertcheck s   % 	$c    s    t  |   \ } } }  }
 } }	  | d j o  | | |  |
 d d f Sn  x- | d j o, |  d j o |  d d j p |  d d j o |  d }  t  |  d  \ } } }  } } }  | | j p
 |	 | j o  d d d d d d f Sn  | d j o$ | d j o |	 d j o
 | d j o  |
 d j o t |
 |  o:  | d j o  | d | 8} n  | d | 7} nY  | |
 j o
 |
 d j o  d }
 n   | d j o ! | | 8} n # | | 7} n % x t | |	  D% ]u } & | d j o ' | | | | | | <n ) | | | | | | <* |
 | | | j o + d |
 | <n qWqW W, | | |  |
 | |	 f Sd  S(   Ns    i   i    s   -s   +s6   adding matrix: matrices do not have the same dimensions   W(   s   calcDs   params   errors   results   units   dimxs   dimys   ops   result2s   unit2s   dimx2s   dimy2s   unitinvertchecks   ranges   x(   s   params   xs   dimy2s   result2s   dimx2s   results   errors   unit2s   dimxs   dimys   units   op(    (    s
   convert.pys   calcS s6   ! ?%7  	c  
  s/  . 0 t  |   \ } } }  } } } 1 | d j o 2 | | |  d d d f Sn 4 x4 | d j o, |  d j o |  d d j p |  d d j o{5 |  d } 6 t  |  d  \ } } }  }	 } } 7 | d j o$ | d j o | d j o
 | d j oG 8 t | |	 |  } 9 | d j o : | | :} n < | | 9} n? | d j o A d d d d d d f Sn B | d j o
 | d j o D x t |  DD ]u } E xi t |  DE ]X } F | | | | | | | | | <G t | |	 | | | d  |	 | | | <qWqWH | | |  |	 | | f SnI | d j o
 | d j o K x t |  DK ]u } L xi t |  DL ]X } M | | | | | | | | | <N t |	 | | | | d  | | | | <qWqfWO | | |  | | | f SnP | | j oQ g  } R g  } S | } T | }
 U xt |
  DU ] } V x t |  DV ] } W d } X t | | | |	 | d  } Y x t |  DY ]p } Z | t | | | | |	 | | | d  j o [ d } n \ | | | | | | | | | 7} qW] | | g 7} ^ | | g 7} q\WqCW_ | d j o
 |
 d j o0 ` | d } a | d } b d } c d } n. e | } f | } g | } h | } i |
 } nR k d t |  d	 t |  d
 t |  d	 t |  d d d d d d f SqW Wl | | |  | | | f Sd  S(   Ns    i   i    s   /s   *s    Matrix dividing is not supporteds   Ws   Cannot multiply s   xs    matrix with s    matrix(   s   calcPs   params   errors   results   units   dimxs   dimys   ops   result2s   unit2s   dimx2s   dimy2s
   unifyunitss   ranges   xs   ys   newunits
   newresultss   newdimxs   newdimys
   resultitems   unititems   ts   str(   s   params   result2s   newunits   results   unititems   dimxs   dimys
   resultitems
   newresultss   unit2s   newdimys   newdimxs   dimy2s   dimx2s   ts   units   errors   ys   xs   op(    (    s
   convert.pys   calcD. sx   ! ?%7 	 	%5 	 	%5				 	 		! 	4-					Vc    s  n p | d j o q d }  n r | d j ot |  d j o
 | d j o^u g  } v g  } w g  } x |  d j od y xZ t i |  d  Dy ]C } z t i	 | d  } { | | |  t | | d  f g 7} q Wn | xZ t i | d  D| ]C } } t i	 | d  } ~ | | |  t | | d  f g 7} q W x | D ] \ }
 }	  d }  d }  xA | D ]6 \ } }  |
 | j o  | } n  | d 7} qqW d }  | d j o*  | | \ } }  d d f | | <n  |	 | d j o&  | |
 d t |	 |  g 7} n qFW xJ | D ]? \ } }  | d j o#  | | d t |  g 7} n q9W | i d	     t i | d  }  n  |  d j o  | }  n n |  d j o
 | d j o] g  }  g  }  g  }  |  d j od  xZ t i |  d  D ]C }  t i	 | d  }  | | |  t | | d  f g 7} q*Wn  xZ t i | d  D ]C }  t i	 | d  }  | | |  t | | d  f g 7} qW x | D ] \ }
 }	  d }  d }  xA | D ]6 \ } }  |
 | j o  | } n  | d 7} qW d }  | d j o*  | | \ } }  d d f | | <n  |	 | d j o&  | |
 d t |	 |  g 7} n qW xI | D ]> \ } }  | d j o"  | | d t |  g 7} n qW | i d
     t i | d  }  n  |  d j o  | }  n  |  S t t t |  t t f Sd  S(   Ns   Ws   /s    s   *s   ^i   ii    c    s    t  |  |  S(   N(   s   cmps   xs   y(   s   xs   y(    (    s
   convert.pys   <lambda> s    c    s    t  |  |  S(   N(   s   cmps   xs   y(   s   xs   y(    (    s
   convert.pys   <lambda> s    (   s   unit2s   units   ops	   unitlist1s	   unitlist2s   newunitlists   strings   splits   items   finds   is   ints   unit1s   value1s   ts   value2s   _s   strs   sorts   joins   errors   results   params   dimxs   dimy(   s   units   unit2s   ops   _s   items   is	   unitlist2s	   unitlist1s   ts   value1s   unit1s   newunitlists   value2(    (    s
   convert.pys
   unifyunitsn s   			 	0 	,
 		
 	*
 '			 	0 	,
 		
 	*
 &c    s    t  |   \ } } }  } }	 }
  | d j o  | | |  | d d f Sn  x | d j o |  d j o |  d d j o |	 d j p
 |
 d j o  d d d d d d f Sn  t  |  d  \ } } }  } }	 }
  |	 d j p
 |
 d j o  d d d d d d f Sn  | d j o
 | d j o! | d j o  d } n t	 i
 t |   t |  j o  t i | d  }  x  | d j o  t i | d |  }  | d j  o  t |  } n  t | | d | ! t |  }  | | d  t |  | | }  t i | d | d  } qWn
  d } n  | | C} qW W | | |  | |	 |
 f Sd  S(	   Ns    i   i    s   ^s#   Cannot raise matrix to powers (yet)s&   Cannot raise things to power of matrixs   Ws   *(   s   calcTs   params   errors   results   units   dimxs   dimys   result2s   unit2s   maths   floors   abss   strings   finds   is   ns   lens   ints   values   str(   s   params   values   is   result2s   ns   units   results   errors   unit2s   dimxs   dimy(    (    s
   convert.pys   calcP s4   ! .%% $#%c    sd    t  |   \ } } }  }
 } }  |  d  d j o  |  d }  n  x  |  d  d j o  |  d }   | d j p
 | d j o  g  }  g  }	  xl t	 |  D ][ }  xO t	 |  D ]> }  | | | | | g 7}  |	 |
 | | | g 7}	 q Wq W | }  | }  | }  | }  |	 }
 n qO W | | |  |
 | | f Sd  S(   Ni   s   *ti   s   t(   s   calcMs   params   errors   values   units   dimxs   dimys   newmatrixvaluess   newmatrixunitss   ranges   xs   ys   i(   s   params   is   newmatrixvaluess   values   errors   ys   xs   dimxs   dimys   newmatrixunitss   unit(    (    s
   convert.pys   calcT s*   ! 		 	 	$				c    s0    g  }
  xQt |  D ]@}  |  | | | d | !}  x t |  D ] }  d }  x3  | | j  o | | d j o  | d 7} qi W | | j  o  |
 | | | d j oc  | | |
 | | | }  x< t |  D ]+ }  | |
 | | | | | | | <q Wn n qQ W d }  x3  | | j  o | | d j o | d 7} qBWd } d } x | t |
  j  o
 | d j o d } x7 | | j  o |
 | | d j o | d 7} qW| | j o& 	d } 
|
 |  | |
 | }
 n | | 7} qW| d j o |
 | 7}
 n q Wg  }	 xz t |  D]i } | | } x@ t |  D]/ } | | | | | j o d } n qW|	 | g 7}	 q|Wg  } x$ t |  D] } | |	 7} qW|
 | f Sd  S(   Ni   i    s   W(   s	   newmatrixs   ranges   dimys   ys   values   dimxs   newlines   is   xs   factors   ts   nonzerolines   addeds   lens   nonzeromatrixs   newunits   units   thisunit(   s   values   units   dimxs   dimys   addeds   thisunits   is   nonzeromatrixs   newlines   newunits	   newmatrixs   ts   nonzerolines   factors   ys   x(    (    s
   convert.pys   gauss s`   	 	 		 ! 	5	 !		 #	 %		 	 		 	c 	   s  | d j o |  | f Sn | d j o  |  d |  d |  d |  d }  !t | d | d d  } "| t | d | d d  j o #d } n
 %| } &|  | f Sn (d } )d } *x1t |  D*] } +g  } ,g  } -xs t |  D-]b } .| | j oL /| |  | | d | d | !7} 0| | | | d | d | !7} n qW1t | | | d  \ } } 2| |  | | | 7} 3t | | | | d  } 4| d j o 5| } n 7| | j o 8d } n q W:| | f Sd  S(   Ni   i   i    i   s   *s   Ws	   UNDEFINED(   s   dims   values   units
   unifyunitss   newunits   newvalues   ranges   xs   smallermatrixvalues   smallermatrixunits   ys   det(	   s   values   units   dims   smallermatrixvalues   newunits   ys   xs   smallermatrixunits   newvalue(    (    s
   convert.pys   dets8   %$			 			 	$,c 1 !  s  <=d t  i f d t  i f d t  i f d t  i f d t  i f d t  i f d t  i f d t  i f d	 t  i	 f d
 t  i
 f d t  i f d t  i f d t  i f d t  i f d t  i f d t  i f g } >x| D>]\ }* } ?|* d 7}* @|  t |*   |* j oeAt |  t |*   \ }, }) }  } }  }! B|  d j p
 |! d j o Cd d d d d d f Sn D|, d j o E|, d d d d d f Sn F|  d  d j o Gd d d d d d f Sn Ht i d  } I| i |  d  oO Jt  |  d  \ }, }
 }  } }  }! K|, | i" |)  |
 |  d d d f Sn M|, | i" |)  |  d d d d f Sn q WO|  d  d j oPt  |  d  \ }, }) }  } }  }! Q|, d j o
 |, d j o R|, d d d d d f Sn S|  d j p  |! d j p |) t  i |)  j o Td d d d d d f Sn Ut# |)  }) eg  } fg  } gx t& |)  Dg] }. hg  }/ ig  } jx[ t& |)  Dj]J }- k| d g 7} l|. |- j o m|/ d g 7}/ n o|/ d g 7}/ qWp| |/ 7} q| | 7} qiWrd | |  | |) |) f Sn u|  d  d j o vt |  d  \ }, }) }  } }  }! w|, d j o x|, d d d d d f Sn y|  d  d j o zd d d d d d f Sn {|  |! j o |d d d d d d f Sn }t+ |) | |   \ }) } ~|, |) |  d | d d f Sn |  d  d  j o t |  d  \ }, }) }  } }  }! |, d j o |, d d d d d f Sn |  d  d j o d d d d d d f Sn t, |) | |  |!  \ }) } |, |) |  d | |  |! f Sn |  d!  d" j oOt |  d!  \ }, }) }  } }  }! |, d j o |, d d d d d f Sn |  d  d j o d d d d d d f Sn t, |) | |  |!  \ }) } d } x~ t& |!  D]m }- d }. xX |. |  j  oG |) |. |- |  d j o | d 7} |  }. n |. d 7}. qWqW|, | |  d d d d f Sn t i d#  }$ |$ i |   }" |" o t0 |" i1    }) t2 i3 |  |" i4    }  t i d$  } | i |   oB t  |   \ }, } }0 } }  }! |, |) | |0 | d d f Sn d |) |  d d d f Sn |  d  d% j oK|  d i7 d&  } |  d i7 d%  } | d j  o d' d d d d d f Sn | d j o
 | | j  p
 | d j  o[|  d | d !i: d(  } t |  }  g  } g  } d }, x| | D]q } t |  \ }% }) }0 } }# }# |% d j p
 |0 d j o d) }, n | |) g 7} | | g 7} q$	W|  d j o] |  | d* | d+ !d, j o | d 7} n |, | d |  | d* | d d d f Sn |, | |  | d* | |  d f Sn | d j o
 | | j  o3d }  d }, g  } g  } |  d i7 d-  } | d j  o d) d d d d d f Sn |  d* | d !i: d.  } t |  }! x | D] } | i: d(  } |  d j o t |  }  n4 |  t |  j o d) d d d d d f Sn x| | D]q } t |  \ }% }) }0 } }# }# |% d j p
 |0 d j o |% }, n | |) g 7} | | g 7} qcWq
W|  d j o
 |! d j o] |  | d+ | d !d, j o | d 7} n |, | d |  | d+ | d d d f Sn |, | |  | d+ | |  |! f Sn d/ d d d d d f Sn |  d  d j o t |  d  \ }, }) }  } }  }! |  d  d j o d d d d d d f Sn t i d$  } | i |  d  o% |, |) d0 |  d | |  |! f Sn |, |) |  d | |  |! f Sn d1 d2 f d3 d4 f d5 d6 f d7 d8 f d9 d: f d; d< f d= d> f d? d@ f dA dB f dC dD f dE dF f dG dH f dI dJ f dK dL f dM dN f dO dP f dQ dR f dS dT f dU dV f dW dX f g }	 x} |	 D]r \ } } |  t |   | j oL t  |  t |   \ }, }) }  } }  }! |, |) | |  | d d f Sn q;Wx tF D] \ } } } |  t |   | j o t |  }' |  |' |' d !dY j o |' d 7}' n |  |' |' d* !dZ j o |' d 7}' n d | |  |' | d d f Sn qWd[ d\ f d] d^ f d_ d` f da d` f db d` f dc d\ f dd dd f de d` f df dg f dh dg f di dg f dj dg f dk dl f dm dl f dn dl f do dl f dp dl f dq d` f dr ds f dt ds f du dv f dw dv f dx dv f dy dv f dz dv f d{ dv f d| d} f d~ d} f d d} f d d} f d d} f d d^ f g  } xo| D]d\ } }& |  t |   | j o>t |  }' |  |' |' d !dY j o |' d 7}' n |& d\ j o! d d |  |' d d d f Sn d |& d }( |( d 7}(  tO iP |(  \ } } }+ | iT   }
 | iU   | iU   |+ iU   t2 i7 |
 d  d } t2 i7 |
 d |  } d d t0 |
 | | ! |  |' d d d f Sn qW	d } |  d*  d j o t i d  } | i |  d*  oF t  |  d*  \ }, }
 }  } }  }! |, d |
 |  | d d f Sn d d |  d* d d d f Sn |  d  d j o t i d  } | i |  d  oF t  |  d  \ }, }
 }  } }  }! |, d |
 |  | d d f Sn d d |  d d d d f Sn |  d!  d j o t i d  } | i |  d!  oF t  |  d!  \ }, }
 }  } }  }! |, d |
 |  | d d f Sn d d |  d! | d d f Sn !|  d  d j o "t i d  } #| i |  d  oF $t  |  d  \ }, }
 }  } }  }! %|, d |
 |  | d d f Sn 'd d |  d | d d f Sn )|  d!  d j o *t i d  } +| i |  d!  oF ,t  |  d!  \ }, }
 }  } }  }! -|, d |
 |  | d d f Sn /d d |  d! | d d f Sn 1t i d  } 2| i |   } 3| i1   } 4| d j o 5d d d d d d f Sn 6| d d |  | d d f Sd  S(   Ns   ceils   abss   floors   exps   logs   log10s   sqrts   acoss   asins   atans   coss   sins   tans   coshs   sinhs   (i   s"   Function does not work on a matrixi    s    s   )s	   Missing )s   [a-z]s   is	   t unknowns'   identity matrix must have simply numberi   s   det(s	   missing )s   det() expects a square matrixi   s   gauss(i   s   rank(s0   (\-)?[0-9]+(\.[0-9]+)?((e\+[0-9]+)|(e\-[0-9]+))?s   [a-z]|\(|[0-9]|\$s   [s   ]s	   Missing ]s   ,s   Error reading matrix elementsi   i   s   ts   ]]s   ],[s   Matrix format errors   *s   yottaf9.9999999999999998e+23s   zettaf1e+21s   exaf1e+18s   petaf1000000000000000.0s   teraf1000000000000.0s   gigaf1000000000.0s   megaf	1000000.0s   kilof1000.0s   hectof100.0s   decaf10.0s   decif0.10000000000000001s   centif0.01s   millif0.001s   microf9.9999999999999995e-07s   nanof1.0000000000000001e-09s   picof9.9999999999999998e-13s   femtof1.0000000000000001e-15s   attof1.0000000000000001e-18s   zeptof9.9999999999999991e-22s   yoctof9.9999999999999992e-25s   ss   ess   euros   EURs   dollars   USDs   ponds   GBPs
   britseponds   britishpounds   eurs   usds   gbps   a$s   AUDs   $as   auds   australischedollars   $cs   CADs   c$s   canadiandollars   canadeesedollars   cads   ukps   yens   JPYs   jpys   $nzs   NZDs   nz$s   newzealanddollars   nieuwzeeuwsedollars   nieuwzeelandsedollars   nzds   chfs   CHFs   zwitsersefranks   switzerlandfrancs
   swissfrancs   francs   $s   $^1s   echo -e "Amount=1&From=EUR&To=s   "s4    | lynx -post_data http://www.xe.com/ucc/convert.cgis   Euro = i   s    s   pif3.1415926535897931s   ef2.7182818284590451s   dozeni   s   dozijns   grossi   s   [a-z]*s   Parse Errors    unknown(Y   s   maths   ceils   fabss   floors   exps   logs   log10s   sqrts   acoss   asins   atans   coss   sins   tans   coshs   sinhs   tanhs	   functionss   funcnames   funcs   params   lens   calcSs   errors   values   units   dimxs   dimys   res   compiles   charss   matchs   calcMs   results   __call__s   ints   matrixvalues
   matrixunits   ranges   xs
   matrixlines   unitlines   ys   dets   gausss   ranks   digitss   digitschecks   floats   groups   strings   strips   ends   value2s   lefts   finds   x1s   x2s   splits   matrixelementss   matrixvaluess   matrixunitss   matrixels   error1s   _s   rowss   rows   prefixs
   thisprefixs   powers   unitss   thisunits   convertrates   siunits   endposs   moneys   currencys   names   cmds   oss   popen3s   inps   outps   stderrs   reads   closes   i1s   i2s   nametype(1   s   params   matrixels
   matrixunits   matrixelementss   matrixvaluess   x1s   inps   ranks   currencys   prefixs   results   units   rows   outps	   functionss   rowss   unitlines   thisunits   matrixunitss   convertrates   moneys
   thisprefixs   value2s   powers   nametypes   i1s   charss   i2s   siunits   funcs   x2s   matrixvalues   dimxs   dimys   digitschecks   _s   digitss   error1s   names   endposs   cmds   values   funcnames   stderrs   errors   ys   xs
   matrixlines   left(    (    s
   convert.pys   calcM<s  
 +%*.%3		 			 	%!%!%	 		 !
!!*			
 	!-%				
 	
 	!-%%%!
 +%
 % *
 !6	%!!%!!%!!%!!%!!c  	  s.
  89|  d  d j o :|  d i d  } ;| d j  o <d Sn =|  | d }  >|  d j o ?d Sn @|  d	 j o Ad
 Sn B|  d j o Cd Sn D|  d j o Ed Sn F|  d j o Gd Sn Hd Sn I|  d  d j o J|  d }  n: K|  t |   d d j o L|  t |   d  }  n Mt i |   }  Nt i t i |  d d   }  Ot i |  d d  }  Pt i |  d d  }  Qt i |  d d  }  Rt i |  d d  }  S|  t |   d d j o T|  t |   d  d }  n Ut |   \ } } } } } }	 V| d j o
 |	 d j o]W| d   d! j o X| d  } Y| d" 7} n{ Z| d#  d$ j o [| d# } nV \| d%  d& j o& ]| d% } ^| d' d( d) } n _| d j o `| Sn a| d*  d+ j o b| d" 8} c| d* } n` d| d,  d- j o& e| d. d d' } f| d, } n& g| d%  d/ j o h| d% } n i| d  d j oj| d } kt | d  \ } } } } } }	 l| d j o m| Sn n| d j o od0 | Sn p| d j o#qt | |  ou rd | | } s| } tt |  } u| t |  d1 d2 j o v| t |  d1  } n w| d | Sn x| | j oq y| } z| | :} {t |  } || t |  d1 d2 j o }| t |  d1  } n ~| d | Sn d3 } | | :} n n | d j o d0 | Sn t |  } | t |  d1 d2 j o | t |  d1  } n | d3 j o. t i d4 d5 d6 d7 d8 d9 d: d; g  } n t i | d< d=  } t i | d> d?  } t i | d@ dA  } t i | dB dC  } t i | dD dE  } t i | dF dG  } t i | dH d  } | d | 7} | Snw| d j o d0 | Sn g  } xwt |  D]f} d } x=t |	  D],} | | | | d3 j o dI | | | | <nQt i | | | | d< d=  | | | | <t i | | | | d> d?  | | | | <t i | | | | d@ dA  | | | | <t i | | | | dB dC  | | | | <t i | | | | dD dE  | | | | <t i | | | | dF dG  | | | | <t i | | | | dH d  | | | | <t t | | | |  d i dJ d   d t | | | |  | j oO t t | | | |  d i dJ d   d t | | | |  } n qW| | d1 g 7} qWd } x t |	  D] } | dK 7} x~ t |  D]m } t | | | |  }
 |
 d | | | | 7}
 |
 i dJ d  i | |  }
 | |
 7} q	W| dL 7} qr	W| i   Sd  S(M   Ni   s   helps    i    s>   help available on arithmetic, convert, currency, matrix, unitsi   s
   arithmetics  supported operators: * / - + ^
supported functions: abs,ceil,exp,floor,log,log10,sqrt
supported goniometric functions acos,asin,atan,cos,sin,tan,cosh,sinh,tanh
syntax <expression> <operator> <expression> or <function>(<expression>) for example: 1+2, ceil(sin(3))s   currencys8  syntax: <value> <currency> for example 2.5 euro
currencies are known my their full name, their 3 letter abbreviation, or a shorthand ($a for australian dollar)
known currencies: (American, Australian, Canadian, New Zealand)dollar, Britisch Pound, Euro, Swiss Franc, Japanese Yen
conversion example: 1 euro in yens   converts   converts one unit in another
syntax: <expression> <unit> in <expression> <unit>
for example: 1 feet*1 acre in liter
conversion only supported on simple expression i.e. not on matricess   matrixsb  syntax: [[<e>,<e>,....,<e>],[<e>,<e>,....,<e>],....,[<e>,<e>,....,<e>]]
for example [[1,2,3],[4,5,6],[7,8,9]] is a 3x3 matrix
special matrix: I<n> (for example I7) indicates the identity matrix of nxn
supported matrix suffix: T (transposes the matrix [[1],[2],[3]]T = [1,2,3]T)
supported matrix operators: * - +
supported matrix functions: det gauss ranks   unitssK  each expression is allowed to be followed by a unit of physics, most units are supported and are by default calculated back to SI units
syntax: <expression> <unit>
for example: 10 mile
units can be prefixed by the SI prefixes ranging from yotta till yocto in steps of 1e3 and kilo till milli in steps of 10
for example: 1 nanometers   topic not founds   uit s    uits    in s   _in_s    per s   /s    s   kilo)s   kg)s   kilo_s   kg_s   kilos   kgi   i   s   celsiusf273.14999999999998i   s   kelvini
   s
   fahrenheitf459.67000000000002f5.0f9.0i   s   _in_celsiusi   s   _in_fahrenheiti	   s
   _in_kelvins&   Reached end of line, could not parse: i   s   .0s   Ws   Quantum fluctuationss   Random distortionss   Hyper Wave-entanglementss   Chrono particle inductionss   Parallel Chis   meta Universe inhibitorss   Semi Nuclear Helicess   Thaume bubbless   s^s   sec^s   m^s   meter^s   g^s   gram^s   $^s   Euro^s   a^s   Ampere^s   cd^s   candela^s   ^1s   Weirds   .0 s   [ s   ]
(   s   toparses   finds   x1s   lens   strings   lowers   strips   replaces   calcSs   errors   results   lefts   units   dimxs   dimys
   backupunits   result2s   unit2s   unitinvertchecks   strs   randoms   choices   lenss   ranges   xs   maxlens   ys
   returnlines   items   ljust(   s   toparses
   backupunits   result2s   lenss   results   unit2s   dimxs   x1s   units   dimys   items
   returnlines   maxlens   errors   ys   xs   left(    (    s
   convert.pys	   supercalc8s   !!%			.	 		 	0000000RS	 	 	"s   meterf1.0s   m^1s   gs   g^1s   grams   tonf	1000000.0s   literf0.001s   m^3s   secondes   s^1s   seconds   secs   minuutf60.0s   minutens   uurf3600.0s   urenf360.0s   dagf86400.0s   dagens   maandf	2629800.0s   maandens   jaarf
31557600.0s   jarens   eeuwf3155760000.0s   eeuwens   minutes   hours   days   weekf604800.0s	   fortnightf	1209600.0s   months   years   lustrumf157788000.0s   lustraf115576000.0s   decadef315576000.0s   centurys	   centuriess	   milleniumf31557600000.0s   millenias   barf100000000.0s   g^1*m^-1*s^-2s   psif6894752.9000000004s   baryef100.0s
   atmospheref101325000.0s   newtonf1000.0s   g^1*m^1*s^-2s   dynef0.01s   pascals   degreef0.017453292519943289s   r^1s   graads   gradenf0.017453292519943299s   radiani   s   rads   acref4046.8564224000002s   m^2s   ares   hectares   roodf1011.714105s   volts   g^1*m^2*s^-3*a^-1s   amperes   a^1s   as   coulombs   a^1*s^1s   ohms   g^1*m^2*s^-3*a^-2s   farads   a^2*g^-1*m^-2*s^4s   teslas   a^-1*g^1*s^-2s   webers   a^-1*g^1*m^2*s^-2s   henrys   a^-2*g^1*m^2*s^-2s   joules   g^1*m^2*s^-2s   calorief4184.0s   watts   g^1*m^2*s^-3s   gallonf0.0037854117840000001s   usgallons   fluidgallons	   drygallonf0.0044048428032000004s   imperialgallonf
0.00454609s
   fluidouncef2.8413062500000002e-05s   ozs   fl.ozs   gillf0.0001420653125s   pintf0.00056826125s   peckf0.0090921800000000001s   kenningf
0.01818436s   buckets   bushelf
0.03636872s   strikef
0.07273744s   quarterf
0.29094976s   pailf0.29094969999999998s   chaldronf
1.16379904s   lastf2.9094975999999999s   firkinf0.040914810000000003s	   kilderkinf0.081829620000000006s   barrelf0.16365924000000001s   hogsheadf
0.24548886s   inchf0.025399999999999999s   footf0.30480000000000002s   feets   yardf0.91439999999999999s   rodf5.0292000000000003s   poles   perchs   chainf20.116800000000001s   furlongf201.16800000000001s   milef1609.3440000000001s   mijls   mijlens   leaguef4828.0320000000002s   nauticalmilef1852.0s   zeemijls	   zeemijlens   knotf5.1444444444400004s   m^1*s^-1s   knoops   knopens   herzs   s^-1s   hzs   candelas   cd^1s   cds   lumens   luxs	   cd^1*s^-2s
   iluminances   parsecf30856800000000000.0s	   lightyearf9460730472580800.0s
   light-years	   lichtjaars
   licht-jaars
   lightspeedf299792458.0s   light-speeds   lichtsnelheids   licht-snelheids   mitef0.0032399454999999999s   grainf0.064798910000000001s   drachmf1.7718451953125001s   ouncef28.349523123000001s   poundf453.59237000000002s   stonef6350.2931799999997f12700.586359999999s   hundredweightf50802.345439999997s   imperialtonf1016046.9088s
   britishtons   slugf14593.9s   j^1f4.1840000000000002s   j^1*s^-1s   teaspoonf5.0000000000000004e-06s	   theelepels   dessertspoonf1.0000000000000001e-05s
   tablespoonf1.5e-05s   eetlepels   lepels   cupf0.00025000000000000001s   kopjes   mugf0.00029999999999999997s   moks   mokkens   jiggerf4.4360000000000002e-05s   dropf8.3333333333333338e-08s   druppels   btuhf293.07100000000003s   btus   bunders
   horsepowerf735400.0s   paardekrachts   pks   electronvoltf1.6021765313999999e-16s
   g*m^2*s^-2s   evs   angstromf1e-10s   molef6.02214199e+23s    s   bagf0.010910616s
   barleycornf0.0084666666666667004f0.15898729492800001f9.9973917050000001s   boxf0.058189952000000003s   faradayf96485.300000000003s   mms   dmf0.10000000000000001s   cms   kms   fts   lbf4535.9237000000003s   ls   dlf0.0001s   cls   mlf9.9999999999999995e-07s   kgs   ccs   nmf1.0000000000000001e-09s   ss   amps   mins   hs   ms   elf1.143c    s:   |  \ } } } | \ } } } t t |  t |   S(   N(   s   x1s   x2s   x3s   y1s   y2s   y3s   cmps   len(   s   .0s   .2s   x1s   x2s   x3s   y1s   y2s   y3(    (    s
   convert.pys   <lambda>s    (   s   strings   randoms   oss   maths   res   syss   unitinvertchecks   calcSs   calcDs
   unifyunitss   calcPs   calcTs   gausss   dets   calcMs	   supercalcs   unitss   sort(   s
   unifyunitss   randoms   strings   calcPs   oss   calcSs   calcTs   unitinvertchecks   gausss   syss   res   calcMs   dets   calcDs   maths	   supercalc(    (    s
   convert.pys   ? sF   <!@J +!|1=1I=y1 "1%Iy1