-í
ç¶<c       sU     d  Z    d k Z  e i ƒ  Z 	 d g Z  d „  Z  e e d „ Z d S(   s{   Routine to "compile" a .py file to a .pyc (or .pyo) file.

This module has intimate knowledge of the format of .pyc files.
Ns   compilec    s~      |  i t | d @ƒ ƒ  |  i t | d ?d @ƒ ƒ  |  i t | d ?d @ƒ ƒ  |  i t | d ?d @ƒ ƒ d S(   s>   Internal; write a 32-bit int to a file in little-endian order.iÿ   i   i   i   N(   s   fs   writes   chrs   x(   s   fs   x(    (    s    /usr/lib/python2.2/py_compile.pys   wr_long s
   c    s¨   - . d k  } d k } d k } / t |  ƒ }	 0 y& 1 t | i |	 i ƒ  ƒ d ƒ } Wn2 2 t
 j
 o# 3 t | i |  ƒ d ƒ } n X4 |	 i ƒ  } 8 | i d d ƒ } 9 | i d d ƒ } : |	 i ƒ  ; | o | d d j o < | d } n = y# > | i | | p |  d ƒ } Wn ? t j
 o~ } @ d k }
 d k } A |
 i t | ƒ } B x> | DB ]3 } C | i i | i d D d	 | p |  ƒ ƒ qsWE d Sn XF | o G |  t o d
 p d } n H t | d ƒ } I | i d ƒ J t | | ƒ K | i  | | ƒ L | i! ƒ  M | i" d d ƒ N | i t# ƒ O | i ƒ  P | i$ d j o, Q d k% } R | i& | ƒ i' d d ƒ n d S(   sˆ  Byte-compile one Python source file to Python bytecode.

    Arguments:

    file:  source filename
    cfile: target filename; defaults to source with 'c' or 'o' appended
           ('c' normally, 'o' in optimizing mode, giving .pyc or .pyo)
    dfile: purported filename; defaults to source (this is the filename
           that will show up in error messages)

    Note that it isn't necessary to byte-compile Python modules for
    execution efficiency -- Python itself byte-compiles a module when
    it is loaded, and if it can, writes out the bytecode to the
    corresponding .pyc (or .pyo) file.

    However, if a Python installation is shared between users, it is a
    good idea to byte-compile all modules upon installation, since
    other users may not be able to write in the source directories,
    and thus they won't be able to write the .pyc/.pyo file, and then
    they would be byte-compiling every module each time it is loaded.
    This can slow down program start-up considerably.

    See compileall.py for a script/module that uses this module to
    byte-compile all installed files (or all files in selected
    directories).

    Ni   s   
s   
s   iÿÿÿÿs   execs   File "<string>"s	   File "%s"s   cs   os   wbs       i    s   macs   Pyths   PYC ((   s   oss   marshals   __builtin__s   opens   files   fs   longs   fstats   filenos	   timestamps   AttributeErrors   stats   reads
   codestrings   replaces   closes   compiles   dfiles
   codeobjects   SyntaxErrors   details	   tracebacks   syss   format_exception_onlys   liness   lines   stderrs   writes   cfiles	   __debug__s   fcs   wr_longs   dumps   flushs   seeks   MAGICs   names   macfss   FSSpecs   SetCreatorType(   s   files   cfiles   dfiles	   timestamps   __builtin__s   syss   fcs
   codeobjects   lines   fs	   tracebacks   liness   details
   codestrings   macfss   oss   marshal(    (    s    /usr/lib/python2.2/py_compile.pys   compile sH   &!#
 	(   s   __doc__s   imps	   get_magics   MAGICs   __all__s   wr_longs   Nones   compile(   s   compiles   imps   MAGICs   __all__s   wr_long(    (    s    /usr/lib/python2.2/py_compile.pys   ? s
   