???<!-- GIF89;a -->
123123123123
.....................................................................................................................................???<!-- GIF89;a -->
123123123123
.....................................................................................................................................ž
¬ÿf’,  c               @   sô   d  Z  d Z d d l Z d d l Z d d l Z d d l Z e e d ƒ sZ e d ƒ ‚ n  d d d g Z d a	 d a
 d	 d
 „  Z d d „  Z Gd d „  d e ƒ Z d d „  Z Gd d „  d ƒ Z d d „  Z d d „  Z e d k rð e ƒ  n  d S(   u–  The Tab Nanny despises ambiguous indentation.  She knows no mercy.

tabnanny -- Detection of ambiguous indentation

For the time being this module is intended to be called as a script.
However it is possible to import it into an IDE and use the function
check() described below.

Warning: The API provided by this module is likely to change in future
releases; such changes may not be backward compatible.
u   6i    Nu   NLu4   tokenize.NL doesn't exist -- tokenize module too oldu   checku   NannyNagu   process_tokensc              G   sK   d } x. |  D]& } t  j j | t | ƒ ƒ d } q Wt  j j d ƒ d  S(   Nu    u    u   
(   u   sysu   stderru   writeu   str(   u   argsu   sepu   arg(    (    u-   /opt/alt/python33/lib64/python3.3/tabnanny.pyu   errprint#   s
    
u   errprintc              C   së   y) t  j  t j d d  … d ƒ \ }  } Wn6 t  j k
 ra } z t | ƒ d  SWYd  d  } ~ Xn XxF |  D]> \ } } | d k rŽ t d a n  | d k ri t d a qi qi W| sÌ t d t j d d ƒ d  Sx | D] } t | ƒ qÓ Wd  S(   Ni   u   qvu   -qu   -vu   Usage:i    u   [-v] file_or_directory ...(   u   getoptu   sysu   argvu   erroru   errprintu   filename_onlyu   verboseu   check(   u   optsu   argsu   msgu   ou   au   arg(    (    u-   /opt/alt/python33/lib64/python3.3/tabnanny.pyu   main*   s    )
u   mainc             B   sJ   |  Ee  Z d  Z d Z d d „  Z d d „  Z d d „  Z d d	 „  Z d
 S(   u   NannyNagug   
    Raised by tokeneater() if detecting an ambiguous indent.
    Captured and handled in check().
    c             C   s!   | | | |  _  |  _ |  _ d  S(   N(   u   linenou   msgu   line(   u   selfu   linenou   msgu   line(    (    u-   /opt/alt/python33/lib64/python3.3/tabnanny.pyu   __init__A   s    u   NannyNag.__init__c             C   s   |  j  S(   N(   u   lineno(   u   self(    (    u-   /opt/alt/python33/lib64/python3.3/tabnanny.pyu
   get_linenoC   s    u   NannyNag.get_linenoc             C   s   |  j  S(   N(   u   msg(   u   self(    (    u-   /opt/alt/python33/lib64/python3.3/tabnanny.pyu   get_msgE   s    u   NannyNag.get_msgc             C   s   |  j  S(   N(   u   line(   u   self(    (    u-   /opt/alt/python33/lib64/python3.3/tabnanny.pyu   get_lineG   s    u   NannyNag.get_lineN(   u   __name__u
   __module__u   __qualname__u   __doc__u   __init__u
   get_linenou   get_msgu   get_line(   u
   __locals__(    (    u-   /opt/alt/python33/lib64/python3.3/tabnanny.pyu   NannyNag<   s
   c       	   &   C   sÉ  t  j j |  ƒ rÌ t  j j |  ƒ rÌ t r? t d |  f ƒ n  t  j |  ƒ } xw | D]o } t  j j |  | ƒ } t  j j | ƒ r• t  j j | ƒ s· t  j j | d d … ƒ d k rU t	 | ƒ qU qU Wd Sy t
 j |  ƒ } Wn= t k
 r} z t d |  | f ƒ d SWYd d } ~ Xn Xt d k r<t d |  ƒ n  zay t t
 j | j ƒ ƒ Wn@t
 j k
 r›} z t d |  | f ƒ d SWYd d } ~ Xnt k
 r×} z t d	 |  | f ƒ d SWYd d } ~ XnÅ t k
 r›} z¥ | j ƒ  } | j ƒ  } t r?t d
 |  | f ƒ t d | f ƒ t | j ƒ  ƒ nF d |  k r\d |  d }  n  t rot |  ƒ n t |  | t | ƒ ƒ d SWYd d } ~ Xn XWd | j ƒ  Xt rÅt d |  f ƒ n  d S(   u~  check(file_or_dir)

    If file_or_dir is a directory and not a symbolic link, then recursively
    descend the directory tree named by file_or_dir, checking all .py files
    along the way. If file_or_dir is an ordinary Python source file, it is
    checked for whitespace related problems. The diagnostic messages are
    written to standard output using the print statement.
    u   %r: listing directoryi   Nu   .pyu   %r: I/O Error: %si   u   checking %r ...u   %r: Token Error: %su   %r: Indentation Error: %su)   %r: *** Line %d: trouble in tab city! ***u   offending line: %ru    u   "u   %r: Clean bill of health.iýÿÿÿ(   u   osu   pathu   isdiru   islinku   verboseu   printu   listdiru   joinu   normcaseu   checku   tokenizeu   openu   IOErroru   errprintu   process_tokensu   generate_tokensu   readlineu
   TokenErroru   IndentationErroru   NannyNagu
   get_linenou   get_lineu   get_msgu   filename_onlyu   repru   close(	   u   fileu   namesu   nameu   fullnameu   fu   msgu   nagu   badlineu   line(    (    u-   /opt/alt/python33/lib64/python3.3/tabnanny.pyu   checkJ   sT    
%"  c             B   st   |  Ee  Z d  Z d \ Z Z d d „  Z d d „  Z d d „  Z d d	 „  Z d
 d „  Z	 d d „  Z
 d d „  Z d S(   u
   Whitespaceu    	c       	      C   s  | |  _  t j t j } } g  } d } } } x¤ |  j  D]™ } | | k rc | d } | d } q: | | k rÒ | d } | d } | t | ƒ k r· | d g | t | ƒ d } n  | | d | | <d } q: Pq: W| |  _ | |  _ t | ƒ | f |  _ t | ƒ d k |  _	 d  S(   Ni    i   (
   u   rawu
   Whitespaceu   Su   Tu   lenu   nu   ntu   tupleu   normu	   is_simple(	   u   selfu   wsu   Su   Tu   countu   bu   nu   ntu   ch(    (    u-   /opt/alt/python33/lib64/python3.3/tabnanny.pyu   __init__ž   s(    	


"			u   Whitespace.__init__c             C   s&   |  j  \ } } t t | ƒ d | ƒ S(   Ni   (   u   normu   maxu   len(   u   selfu   countu   trailing(    (    u-   /opt/alt/python33/lib64/python3.3/tabnanny.pyu   longest_run_of_spaces·   s    u    Whitespace.longest_run_of_spacesc             C   s^   |  j  \ } } d } x3 t | t | ƒ ƒ D] } | | | | | } q+ W| | | |  j S(   Ni    (   u   normu   rangeu   lenu   nt(   u   selfu   tabsizeu   countu   trailingu   ilu   i(    (    u-   /opt/alt/python33/lib64/python3.3/tabnanny.pyu   indent_level»   s
    u   Whitespace.indent_levelc             C   s   |  j  | j  k S(   N(   u   norm(   u   selfu   other(    (    u-   /opt/alt/python33/lib64/python3.3/tabnanny.pyu   equalÒ   s    u   Whitespace.equalc             C   s   t  |  j ƒ  | j ƒ  ƒ d } g  } xd t d | d ƒ D]O } |  j | ƒ | j | ƒ k r9 | j | |  j | ƒ | j | ƒ f ƒ q9 q9 W| S(   Ni   (   u   maxu   longest_run_of_spacesu   rangeu   indent_levelu   append(   u   selfu   otheru   nu   au   ts(    (    u-   /opt/alt/python33/lib64/python3.3/tabnanny.pyu   not_equal_witnessÙ   s    	u   Whitespace.not_equal_witnessc             C   s›   |  j  | j  k r d S|  j r8 | j r8 |  j | j k St |  j ƒ  | j ƒ  ƒ d } x= t d | d ƒ D]( } |  j | ƒ | j | ƒ k rk d Sqk Wd S(   Ni   i   FT(	   u   nu   Falseu	   is_simpleu   ntu   maxu   longest_run_of_spacesu   rangeu   indent_levelu   True(   u   selfu   otheru   nu   ts(    (    u-   /opt/alt/python33/lib64/python3.3/tabnanny.pyu   lessñ   s    u   Whitespace.lessc             C   s   t  |  j ƒ  | j ƒ  ƒ d } g  } xd t d | d ƒ D]O } |  j | ƒ | j | ƒ k r9 | j | |  j | ƒ | j | ƒ f ƒ q9 q9 W| S(   Ni   (   u   maxu   longest_run_of_spacesu   rangeu   indent_levelu   append(   u   selfu   otheru   nu   au   ts(    (    u-   /opt/alt/python33/lib64/python3.3/tabnanny.pyu   not_less_witness  s    	u   Whitespace.not_less_witnessN(   u   __name__u
   __module__u   __qualname__u   Su   Tu   __init__u   longest_run_of_spacesu   indent_levelu   equalu   not_equal_witnessu   lessu   not_less_witness(   u
   __locals__(    (    u-   /opt/alt/python33/lib64/python3.3/tabnanny.pyu
   Whitespace‡   s   u
   Whitespacec             C   sM   d d „  |  Dƒ } d } t  |  ƒ d k r8 | d } n  | d d j | ƒ S(   Nc             s   s   |  ] } t  | d  ƒ Vq d S(   i    N(   u   str(   u   .0u   tup(    (    u-   /opt/alt/python33/lib64/python3.3/tabnanny.pyu	   <genexpr>  s    u#   format_witnesses.<locals>.<genexpr>u   at tab sizei   u   su    u   , (   u   lenu   join(   u   wu   firstsu   prefix(    (    u-   /opt/alt/python33/lib64/python3.3/tabnanny.pyu   format_witnesses  s
    u   format_witnessesc             C   sŠ  t  j } t  j } t  j } t  j t  j f } t d ƒ g } d } xA|  D]9\ } } }	 }
 } | | k rs d } qI | | k rð d } t | ƒ } | d j | ƒ sà | d j | ƒ } d t	 | ƒ } t
 |	 d | | ƒ ‚ n  | j | ƒ qI | | k rd } | d =qI | rI | | k rI d } t | ƒ } | d	 j | ƒ s‚| d
 j | ƒ } d t	 | ƒ } t
 |	 d | | ƒ ‚ q‚qI qI Wd  S(   Nu    i    i   u   indent not greater e.g. u   indent not equal e.g. iÿÿÿÿiÿÿÿÿiÿÿÿÿiÿÿÿÿiÿÿÿÿ(   u   tokenizeu   INDENTu   DEDENTu   NEWLINEu   COMMENTu   NLu
   Whitespaceu   lessu   not_less_witnessu   format_witnessesu   NannyNagu   appendu   equalu   not_equal_witness(   u   tokensu   INDENTu   DEDENTu   NEWLINEu   JUNKu   indentsu   check_equalu   typeu   tokenu   startu   endu   lineu   thisguyu   witnessu   msg(    (    u-   /opt/alt/python33/lib64/python3.3/tabnanny.pyu   process_tokens  s6    				

u   __main__(   u   __doc__u   __version__u   osu   sysu   getoptu   tokenizeu   hasattru
   ValueErroru   __all__u   verboseu   filename_onlyu   errprintu   mainu	   Exceptionu   NannyNagu   checku
   Whitespaceu   format_witnessesu   process_tokensu   __name__(    (    (    u-   /opt/alt/python33/lib64/python3.3/tabnanny.pyu   <module>   s&   =†7