
vMc           @   s  d  d k  Z  d  d k Z d  d k Z d   Z d e f d     YZ d e f d     YZ d   Z d e f d	     YZ	 d
 e f d     YZ
 d   Z d e f d     YZ d e f d     YZ d   Z d e f d     YZ e e d e i  d e f d     YZ d e f d     YZ d e f d     YZ d e f d     YZ d e f d     YZ d e f d      YZ e d!  Z d d"  Z d# e f d$     YZ d% e f d&     YZ d' e f d(     YZ d) e f d*     YZ d+ e f d,     YZ  d- e f d.     YZ! d/ e f d0     YZ" e e" d e" i  d1 e f d2     YZ# d3 e f d4     YZ$ d5 e f d6     YZ% d7 e f d8     YZ& d9 e f d:     YZ' d; e f d<     YZ( d S(=   iNc         C   s5   x. | d i    D] \ } } t |  | |  q Wd  S(   Ni   (   t	   iteritemst   setattr(   t   nodet   statet   kt   v(    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyt   setstate"   s     t   ParameterInfoc           B   s   e  Z d  Z d   Z RS(   sR   
    This class is used to store information about parameters to a
    label.
    c         C   s(   | |  _  | |  _ | |  _ | |  _ d  S(   N(   t
   parameterst
   positionalt   extrapost   extrakw(   t   selfR   R	   R
   R   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyt   __init__+   s    			(   t   __name__t
   __module__t   __doc__R   (    (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR   &   s   t   ArgumentInfoc           B   s   e  Z d    Z RS(   c         C   s   | |  _  | |  _ | |  _ d  S(   N(   t	   argumentsR
   R   (   R   R   R
   R   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR   >   s    		(   R   R   R   (    (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR   <   s   c         G   s   |  i  |  |  S(   N(   t   __new__(   t   clst   args(    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyt
   __newobj__M   s    t   PyExprc           B   s&   e  Z d  d g Z d   Z d   Z RS(   t   filenamet
   linenumberc         C   s(   t  i |  |  } | | _ | | _ | S(   N(   t   unicodeR   R   R   (   R   t   sR   R   R   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR   X   s    		c         C   s   t  |   |  i |  i f S(   N(   R   R   R   (   R   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyt   __getnewargs__^   s    (   R   R   t	   __slots__R   R   (    (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR   Q   s   		t   PyCodec           B   sA   e  Z d  d d d g Z g  Z d   Z d   Z d
 d d	  Z RS(   t   sourcet   locationt   modet   bytecodec         C   s   d |  i  |  i |  i f S(   Ni   (   R   R    R!   (   R   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyt   __getstate__n   s    c         C   s(   | \ } |  _  |  _ |  _ d  |  _ d  S(   N(   R   R    R!   t   NoneR"   (   R   R   t   _(    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyt   __setstate__q   s    s   <none>i   t   execc         C   s;   | |  _  | t t i    f |  _ | |  _ d  |  _ d  S(   N(   R   t   intt   timeR    R!   R$   R"   (   R   R   t   locR!   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR   u   s    		(   s   <none>i   (   R   R   R   t   extentR#   R&   R   (    (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR   b   s   			c         C   sU   |  p d Sn x. t  |  |  d  D] \ } } | i |  q# W|  d i |  d S(   s   
    This is called to chain together all of the nodes in a block. Node
    n is chained with node n+1, while the last node is chained with
    next.
    Ni   i(   t   zipt   chain(   t   blockt   nextt   at   b(    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyt   chain_block   s     t   Scryc           B   s    e  Z d  Z d   Z d   Z RS(   s   
    This is used to store information about the future, if we know it. Unlike
    predict, this tries to only get things we _know_ will happen.
    c         C   s   d  S(   N(   R$   (   R   t   name(    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyt   __getattr__   s    c         C   s)   |  i  d  j o d  Sn |  i  i   Sd  S(   N(   t   _nextR$   t   scry(   R   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR/      s    (   R   R   R   R5   R/   (    (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR3      s   	t   Nodec           B   sq   e  Z d  Z d d d d g Z d   Z d   Z d   Z d   Z d	   Z d
   Z	 d   Z
 d   Z d   Z RS(   s   
    A node in the abstract syntax tree of the program.

    @ivar name: The name of this node.

    @ivar filename: The filename where this node comes from.
    @ivar linenumber: The line number of the line on which this node is defined.
    R4   R   R   R/   c         C   s(   | \ |  _  |  _ d |  _ d |  _ d S(   s   
        Initializes this Node object.

        @param loc: A (filename, physical line number) tuple giving the
        logical line on which this Node node starts.
        N(   R   R   R$   R4   R/   (   R   R*   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR      s    	c         C   s   t  |   f S(   s   
        Returns a tuple of diff info about ourself. This is used to
        compare Nodes to see if they should be considered the same node. The
        tuple returned must be hashable.
        (   t   id(   R   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyt	   diff_info   s    c         C   s   g  S(   s   
        Returns a list of all of the nodes that are children of this
        node. (That is, all of the nodes in any block associated with
        this node.)
        (    (   R   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyt   get_children   s    c         C   s   d S(   s   
        Returns a node that should be run at init time (that is, before
        the normal start of the script.), or None if this node doesn't
        care to suggest one.

        (The only class that needs to override this is Init.)
        N(   R$   (   R   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyt   get_init   s    	c         C   s   | |  _  d S(   s.  
        This is called with the Node node that should be followed after
        executing this node, and all nodes that this node
        executes. (For example, if this node is a block label, the
        next is the node that should be executed after all nodes in
        the block.)        
        N(   R/   (   R   R/   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR-      s    	c         C   s   d S(   s   
        Causes this node to execute, and any action it entails to be
        performed. The node is then responsible for returning the node
        that should be executed after this one, or None to end the
        program or init block.
        N(    (   R   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyt   execute   s    c         C   s    |  i  o |  i  g Sn g  Sd S(   s8  
        This is called to predictively load images from this node. The
        callback needs to be passed into the predict method of any
        images this ast node will probably load, and the method should
        return a list containing the nodes that this node will
        probably execute next.
        N(   R/   (   R   t   callback(    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyt   predict   s    	
c         C   s   g  S(   s   
        Returns a list of PyCode objects associated with this Node,
        or None if no objects are associated with it.
        (    (   R   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyt
   get_pycode   s    c         C   s   t    } |  i | _ | S(   st   
        Called to return an object with some general, user-definable information
        about the future.
        (   R3   R/   R6   (   R   t   rv(    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR7     s    	(   R   R   R   R   R   R:   R;   R<   R-   R=   R?   R@   R7   (    (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR8      s   									
		c         C   s   |  d j	 o t i i |   } n8 t i i o& t i i i d j o t i i } n d S| p d Sn t i i i o | |  n d S(   sB   
    This handles the with clause of a say or menu statement.
    i   N(	   R$   t   renpyt   pythont   py_evalt   storet   default_transitiont   gamet   preferencest   transitions(   t
   expressionR>   t   what(    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyt   say_menu_with  s    #t   Sayc           B   sM   e  Z d  d d d d g Z d   Z e d  Z d   Z d   Z d	   Z RS(
   t   whot   who_fastRK   t   with_t   interactc         C   s   t  |  i |  i f S(   N(   RM   RN   RK   (   R   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR:   .  s    c         C   s   t  t |   i |  | d  j	 o? | i   |  _ t i d |  i  o t |  _	 qt t
 |  _	 n d  |  _ t
 |  _	 | |  _ | |  _ | |  _ d  S(   Ns   [a-zA-Z_]\w*$(   t   superRM   R   R$   t   stripRN   t   ret   matcht   TrueRO   t   FalseRK   RP   RQ   (   R   R*   RN   RK   RP   RQ   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR   1  s    				c         C   s%  |  i  d  j	 ol |  i oI t t i |  i  d   } | d  j o  t d |  i  i d    qx q t i i	 |  i   } n d  } |  i
 } t i i o t i i |  } n t |  i t i i i  t i i | | d t |  d t  t | d t  o |  i  t i _ | t i _ n |  i S(   Ns   Sayer '%s' is not defined.s   utf-8RQ   t
   record_say(   RN   R$   RO   t   getattrRB   RE   t	   Exceptiont   encodeRC   RD   RK   t   configt   say_menu_text_filterRL   RP   RG   t	   interfacet   set_transitiont   exportst   sayRV   t   _last_say_whot   _last_say_whatR/   (   R   RN   RK   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR=   D  s     
$	%c            s   |  i  d  j	 o< |  i o t t i |  i   } qR t i i |  i   } n d  }   f d   } t |  i	 |  |  i
 } t i i o t i i |  } n x; t i i | |  D]$ } | d  j	 o | i    q q W|  i g S(   Nc            s    |  d d  d d   i    d  S(   Nt
   old_widgett
   new_widget(   R$   R?   (   t   trans(   R>   (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyt   predict_withg  s    (   RN   R$   RO   RY   RB   RE   RC   RD   RL   RP   RK   R\   R]   R`   t   predict_sayR?   R/   (   R   R>   RN   Rg   RK   t   i(    (   R>   s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR?   ]  s    
	 c         C   s   t  i |   } t | _ | S(   N(   R8   R7   RV   t	   interacts(   R   RA   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR7   v  s    	(	   R   R   R   R:   RV   R   R=   R?   R7   (    (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyRM   $  s   				t   witht   Initc           B   sA   e  Z d  d g Z d   Z d   Z d   Z d   Z d   Z RS(   R.   t   priorityc         C   s,   t  t |   i |  | |  _ | |  _ d  S(   N(   RR   Rl   R   R.   Rm   (   R   R*   R.   Rm   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR     s    	c         C   s   |  i  S(   N(   R.   (   R   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR;     s    c         C   s   |  i  |  i d f S(   Ni    (   Rm   R.   (   R   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR<     s    c         C   s   | |  _  t |  i d   d  S(   N(   R/   R2   R.   R$   (   R   R/   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR-     s    	c         C   s   |  i  S(   N(   R/   (   R   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR=     s    (   R   R   R   R   R;   R<   R-   R=   (    (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyRl   ~  s   					t   Labelc           B   sM   e  Z d  d d g Z d   Z d   Z d   Z d   Z d   Z d   Z RS(	   R4   R   R.   c         C   s   d  |  _ t |  |  d  S(   N(   R$   R   R   (   R   R   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR&     s    	c         C   s5   t  t |   i |  | |  _ | |  _ | |  _ d S(   s   
        Constructs a new Label node.

        @param name: The name of this label.
        @param block: A (potentially empty) list of nodes making up the
        block associated with this label.
        N(   RR   Rn   R   R4   R.   R   (   R   R*   R4   R.   R   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR     s    			c         C   s   t  |  i f S(   N(   Rn   R4   (   R   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR:     s    c         C   s   |  i  S(   N(   R.   (   R   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR;     s    c         C   s;   |  i  o$ |  i  d |  _ t |  i  |  n
 | |  _ d  S(   Ni    (   R.   R/   R2   (   R   R/   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR-     s    
c   	      C   sE  t  i i   i   t  i i } t  i i } |  i d  j oh | d  j	 p | d  j	 o t	 d   q t  i
 i o& t  i
 i |  i t  i i   i  n |  i Sn/ | d  j o
 d } n | d  j o
 h  } n h  } |  i } xK t | i |  D]7 \ } } | | j o t	 d |   n | | | <q Wt | t | i   } xE | i   D]7 \ } } | | j o t	 d |   n | | | <qTWx | i D] \ } } | | j o; | d  j o t	 d |   qt  i i |  | | <n t  i i |  t t  i | | |  | | =qW| i o- t  i i | i  t t  i | i |  n1 | o) t	 d t | i  t |  f   n | i o9 t  i i | i  t t  i | i t  i i |   n+ | o# t	 d d i | i      n d  t  i _ d  t  i _ t  i
 i o& t  i
 i |  i t  i i   i  n |  i S(   Ns7   Arguments supplied, but label does not take parameters.s   Parameter %s has two values.s#   Required parameter %s has no value.s1   Too many arguments in call (expected %d, got %d).s   Unknown keyword arguments: %ss   , (    (   RB   RG   t   contextt	   mark_seenRE   t   _argst   _kwargsR   R$   RZ   R\   t   label_callbackR4   t   last_abnormalR/   R,   R	   t   tuplet   lenR    RC   RD   R`   t   dynamicR   R
   R   t   RevertableDictt   joint   keys(	   R   R   t   kwargst   valuest   paramsR4   t   valueR
   t   default(    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR=     sd    &

	  
 
)
&#&(	   R   R   R   R&   R   R:   R;   R-   R=   (    (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyRn     s   						t   Pythonc           B   sD   e  Z d  d g Z e d  Z d   Z d   Z d   Z d   Z RS(   t   hidet   codec         C   s>   t  t |   i |  | |  _ t | d | d d |  _ d S(   s   
        @param code: A PyCode object.

        @param hide: If True, the code will be executed with its
        own local dictionary.
        R*   R!   R'   N(   RR   R   R   R   R   R   (   R   R*   t   python_codeR   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR     s    	c         C   s
   |  i  g S(   N(   R   (   R   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR@   '  s    c         C   s   t  |  i i f S(   N(   R   R   R   (   R   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR:   *  s    c         C   s#   t  i i |  i i |  i  |  i S(   N(   RB   RC   t   py_exec_bytecodeR   R"   R   R/   (   R   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR=   -  s    c         C   s   t  i |   } t | _ | S(   N(   R8   R7   RV   Rj   (   R   RA   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR7   1  s    	(	   R   R   R   RW   R   R@   R:   R=   R7   (    (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR     s   				t   EarlyPythonc           B   sD   e  Z d  d g Z e d  Z d   Z d   Z d   Z d   Z RS(   R   R   c         C   s>   t  t |   i |  | |  _ t | d | d d |  _ d S(   s   
        @param code: A PyCode object.

        @param hide: If True, the code will be executed with its
        own local dictionary.
        R*   R!   R'   N(   RR   R   R   R   R   R   (   R   R*   R   R   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR   =  s    	c         C   s
   |  i  g S(   N(   R   (   R   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR@   J  s    c         C   s   t  |  i i f S(   N(   R   R   R   (   R   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR:   M  s    c         C   s   |  i  S(   N(   R/   (   R   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR=   P  s    c         C   s    t  i i |  i i |  i  d  S(   N(   RB   RC   R   R   R"   R   (   R   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyt   early_executeS  s    (	   R   R   R   RW   R   R@   R:   R=   R   (    (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR   6  s   				t   Imagec           B   sA   e  Z d  d d g Z d d d  Z d   Z d   Z d   Z RS(   t   imgnameR   t   atlc         C   sd   t  t |   i |  | |  _ | o( t | d | d d |  _ d |  _ n d |  _ | |  _ d S(   s   
        @param name: The name of the image being defined.

        @param expr: An expression yielding a Displayable that is
        assigned to the image.
        R*   R!   t   evalN(   RR   R   R   R   R   R   R$   R   (   R   R*   R4   t   exprR   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR   ^  s    		c         C   s   t  t |  i  f S(   N(   R   Ru   R   (   R   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR:   q  s    c         C   s    |  i  o |  i  g Sn g  Sd  S(   N(   R   (   R   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR@   t  s    
c         C   sa   |  i  d  j	 o t i i |  i  i  } n t i i i |  i	  } t i
 i |  i |  |  i S(   N(   R   R$   RB   RC   t   py_eval_bytecodeR"   t   displayt   motiont   ATLTransformR   R`   t   imageR   R/   (   R   t   img(    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR=   z  s
    N(   R   R   R   R$   R   R:   R@   R=   (    (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR   V  s   			t	   Transformc           B   sM   e  Z d  d d g Z e g  g  d d  Z d e d  Z d   Z d   Z RS(   t   varnameR   R   c         C   s5   t  t |   i |  | |  _ | |  _ | |  _ d  S(   N(   RR   R   R   R   R   R   (   R   R*   R4   R   R   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR     s    		c         C   s   t  |  i f S(   N(   R   R   (   R   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR:     s    c         C   s   t  |  d d   } | d  j o t i } n t i i i |  i d | } t i	 i
 |  i i |  i |  i d f  t t i |  i |  |  i S(   NR   t	   transform(   RY   R$   R   t   default_parametersRB   R   R   R   R   R`   t   definitionsR   t   appendR   R   R   RE   R/   (   R   R   Rf   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR=     s    )N(	   R   R   R   R   R$   R   R   R:   R=   (    (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR     s   		c         C   su  t  |   d j o |  \ } } } } } } }	 nV t  |   d j o |  \ } } } } } } n' t  |   d j o |  \ } } } n | o: y( t i i |  }
 t i i |
  }
 Wq d Sq Xn. t i i i | d  }
 |
 d j o d Sn | } | o | f | d } n | o  t i
 i   i i i |  n t i
 i   i i i | p | |  |
 i |  d S(   sW   
    Call this to use the given callback to predict the image named
    in imspec.
    i   i   i   Ni   (   Rv   RB   RC   RD   t   easyt   displayableR`   t   imagest   getR$   RG   Ro   t   predict_infot   predict_scenet   predict_showR?   (   t   imspecR>   t   sceneR4   RJ   t   tagt   at_listt   layert   zordert   behindR   t	   full_name(    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyt   predict_imspec  s,     &c         C   sn  t  |   d j o |  \ } } } } } } } nt t  |   d j o" |  \ } } } } } } g  } n? t  |   d j o+ |  \ } } } d  } d  } d  } g  } n | d  j	 o t i i |  } n d } | d  j	 o( t i i |  } t i i |  } n g  }	 | D] }
 |	 t i i |
  q~	 } t i i | d | d | d | d | d	 | d
 | d | d  S(   Ni   i   i   i    R   R   RK   R   R   R   R   (	   Rv   R$   RB   RC   RD   R   R   R\   t   show(   R   R   R4   RJ   R   R   R   R   R   t   _[1]Ri   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyt   show_imspec  s4    

-t   Showc           B   s;   e  Z d  d g Z d d  Z d   Z d   Z d   Z RS(   R   R   c         C   s,   t  t |   i |  | |  _ | |  _ d S(   s   
        @param imspec: A triple consisting of an image name (itself a
        tuple of strings), a list of at expressions, and a layer.
        N(   RR   R   R   R   R   (   R   R*   R   R   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR     s    	c         C   s   t  t |  i d  f S(   Ni    (   R   Ru   R   (   R   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR:     s    c         C   s&   t  |  i d t |  d d   |  i S(   NR   (   R   R   RY   R$   R/   (   R   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR=     s    c         C   s   t  |  i |  |  i g S(   N(   R   R   R/   (   R   R>   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR?     s    N(   R   R   R   R$   R   R:   R=   R?   (    (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR     s   			t   Scenec           B   s>   e  Z d  d d g Z d d  Z d   Z d   Z d   Z RS(   R   R   R   c         C   s5   t  t |   i |  | |  _ | |  _ | |  _ d S(   s   
        @param imspec: A triple consisting of an image name (itself a
        tuple of strings), a list of at expressions, and a layer, or
        None to not have this scene statement also display an image.
        N(   RR   R   R   R   R   R   (   R   R*   t   imgspecR   R   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR   '  s    		c         C   s1   |  i  o t |  i  d  } n d  } t | f S(   Ni    (   R   Ru   R$   R   (   R   t   data(    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR:   4  s    
c         C   sG   t  i i |  i  |  i o# t |  i d t |  d d   n |  i S(   NR   (	   RB   R\   R   R   R   R   RY   R$   R/   (   R   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR=   =  s    
#c         C   s.   |  i  o t |  i  | d t n |  i g S(   NR   (   R   R   RV   R/   (   R   R>   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR?   F  s    
N(   R   R   R   R$   R   R:   R=   R?   (    (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR     s   					t   Hidec           B   s5   e  Z d  g Z d   Z d   Z d   Z d   Z RS(   R   c         C   s#   t  t |   i |  | |  _ d S(   s   
        @param imspec: A triple consisting of an image name (itself a
        tuple of strings), a list of at expressions, and a list of
        with expressions.
        N(   RR   R   R   R   (   R   R*   R   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR   T  s    c         C   s   t  t |  i d  f S(   Ni    (   R   Ru   R   (   R   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR:   _  s    c   	      C   s   t  |  i  d j o( |  i \ } } } d  } d  } d } nn t  |  i  d j o |  i \ } } } } } } n9 t  |  i  d j o" |  i \ } } } } } } } n | d  j o | d } n t i i   i i i | |  g  S(   Ni   i    i   i   (	   Rv   R   R$   RB   RG   Ro   R   R   t   predict_hide(	   R   R>   R4   R   R   RJ   R   R   R   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR?   b  s    
"c         C   s   t  |  i  d j o( |  i \ } } } d  } d  } d } nn t  |  i  d j o |  i \ } } } } } } n9 t  |  i  d j o" |  i \ } } } } } } } n t i i | p | |  |  i S(   Ni   i    i   i   (   Rv   R   R$   RB   R\   R   R/   (   R   R4   R   R   RJ   R   R   R   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR=   v  s    
"(   R   R   R   R   R:   R?   R=   (    (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR   N  s
   				t   Withc           B   sD   e  Z d  d g Z d   Z d d  Z d   Z d   Z d   Z RS(   R   t   pairedc         C   s   d  |  _ t |  |  d  S(   N(   R$   R   R   (   R   R   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR&     s    	c         C   s,   t  t |   i |  | |  _ | |  _ d S(   sI   
        @param expr: An expression giving a transition or None.
        N(   RR   R   R   R   R   (   R   R*   R   R   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR     s    	c         C   s   t  |  i f S(   N(   R   R   (   R   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR:     s    c         C   s^   t  i i |  i  } |  i d  j	 o t  i i |  i  } n d  } t  i i | |  |  i S(   N(	   RB   RC   RD   R   R   R$   R`   t   with_statementR/   (   R   Rf   R   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR=     s    c         C   sT   y@ t  i i |  i  } | o  | d d  d d   i |  n Wn n X|  i g S(   NRd   Re   (   RB   RC   RD   R   R$   R?   R/   (   R   R>   Rf   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR?     s    $N(	   R   R   R   R&   R$   R   R:   R=   R?   (    (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR     s   					t   Callc           B   sM   e  Z d  d d g Z d   Z d   Z d   Z d   Z d   Z d   Z RS(	   t   labelR   RJ   c         C   s   d  |  _ t |  |  d  S(   N(   R$   R   R   (   R   R   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR&     s    	c         C   s5   t  t |   i |  | |  _ | |  _ | |  _ d  S(   N(   RR   R   R   R   RJ   R   (   R   R*   R   RJ   R   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR     s    		c         C   s   t  |  i |  i f S(   N(   R   R   RJ   (   R   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR:     s    c         C   s  |  i  } |  i o t i i |  } n t i i   i | d |  i i	 } t
 t i i   _ |  i oJg  } t i i   } xu |  i i D]g \ } } t i i |  } | d  j o | i |  q | | j o t d |   n | | | <q W|  i i o# | i t i i |  i i   n |  i i o^ x[ t i i |  i i  i   D]7 \ } } | | j o t d |   n | | | <qRWn t |  t i _ | t i _ n | S(   Nt   return_sites$   The argument named %s appears twice.(   R   RJ   RB   RC   RD   RG   Ro   t   callR/   R4   RV   t   abnormalR   Rx   R$   R   RZ   R
   t   extendR   R    Ru   RE   Rq   Rr   (   R   R   RA   R   R{   R4   R   R~   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR=     s6    	
$
 # c         C   s/   |  i  o g  Sn t i i i |  i  g Sd  S(   N(   RJ   RB   RG   t   scriptt   lookupR   (   R   R>   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR?     s    
c         C   s   t  i |   } d  | _ | S(   N(   R8   R7   R$   R6   (   R   RA   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR7     s    	(	   R   R   R   R&   R   R:   R=   R?   R7   (    (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR     s   					,	t   Returnc           B   sP   e  Z d  g Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 RS(   RJ   c         C   s   d  |  _ t |  |  d  S(   N(   R$   RJ   R   (   R   R   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR&     s    	c         C   s#   t  t |   i |  | |  _ d  S(   N(   RR   R   R   RJ   (   R   R*   RJ   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR     s    c         C   s   t  f S(   N(   R   (   R   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR:     s    c         C   s   d  |  _ d  S(   N(   R$   R/   (   R   R/   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR-     s    	c         C   sa   |  i  o t i i |  i   t i _ n d  t i _ t i i   i	   t i i   i
 d t  S(   Nt   pop(   RJ   RB   RC   RD   RE   t   _returnR$   RG   Ro   t   pop_dynamict   lookup_returnRV   (   R   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR=     s
    
c         C   s5   t  i i   i d t  } | o | g Sn g  Sd  S(   NR   (   RB   RG   Ro   R   RW   (   R   R>   t   site(    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR?   &  s    c         C   s   t  i |   } d  | _ | S(   N(   R8   R7   R$   R6   (   R   RA   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR7   -  s    	(
   R   R   R   R&   R   R:   R-   R=   R?   R7   (    (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR     s   							t   Menuc           B   sV   e  Z d  d d g Z d   Z d   Z d   Z d   Z d   Z d   Z d	   Z	 RS(
   t   itemst   setRP   c         C   s5   t  t |   i |  | |  _ | |  _ | |  _ d  S(   N(   RR   R   R   R   R   RP   (   R   R*   R   R   RP   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR   ;  s    		c         C   s   t  f S(   N(   R   (   R   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR:   B  s    c         C   s?   g  } x2 |  i  D]' \ } } } | o | i |  q q W| S(   N(   R   R   (   R   RA   R   t	   conditionR.   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR;   E  s    
 c         C   sB   | |  _  x2 |  i D]' \ } } } | o t | |  q q Wd  S(   N(   R/   R   R2   (   R   R/   R   R   R.   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR-   O  s
    	
 c         C   s   g  } x t  |  i  D]u \ } \ } } } t i i o t i i |  } n | d  j o | i | | d  f  q | i | | | f  q Wt |  i t i	 i
 i  t i i | |  i  } | d  j o |  i Sn |  i | d d Sd  S(   Ni   i    (   t	   enumerateR   RB   R\   R]   R$   R   RL   RP   RG   R^   R_   R`   t   menuR   R/   (   R   t   choicesRi   R   R   R.   t   choice(    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR=   W  s     c            s   g  }   f d   } t  |  i |  x5 t i i   D]$ } | d  j	 o | i    q5 q5 Wx6 |  i D]+ \ } } } | o | i | d  qg qg W| S(   Nc            s    |  d d  d d   i    d  S(   NRd   Re   (   R$   R?   (   Rf   (   R>   (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyRg   q  s    i    (	   RL   RP   RB   RE   t   predict_menuR$   R?   R   R   (   R   R>   RA   Rg   Ri   R   R   R.   (    (   R>   s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR?   n  s     
 c         C   s%   t  i |   } d  | _ t | _ | S(   N(   R8   R7   R$   R6   RV   Rj   (   R   RA   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR7     s    		(
   R   R   R   R   R:   R;   R-   R=   R?   R7   (    (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR   3  s   				
			t   Jumpc           B   sJ   e  Z d  d g Z d   Z d   Z d   Z d   Z d   Z d   Z RS(   t   targetRJ   c         C   s,   t  t |   i |  | |  _ | |  _ d  S(   N(   RR   R   R   R   RJ   (   R   R*   R   RJ   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR     s    	c         C   s   t  |  i |  i f S(   N(   R   R   RJ   (   R   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR:     s    c         C   s   d  |  _ d  S(   N(   R$   R/   (   R   R/   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR-     s    	c         C   sT   |  i  } |  i o t i i |  } n t i i i |  } t t i i	   _
 | S(   N(   R   RJ   RB   RC   RD   RG   R   R   RV   Ro   R   (   R   R   RA   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR=     s    	
c         C   s/   |  i  o g  Sn t i i i |  i  g Sd  S(   N(   RJ   RB   RG   R   R   R   (   R   R>   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR?     s    
c         C   sE   t  i |   } |  i o d  | _ n t i i i |  i	  | _ | S(   N(
   R8   R7   RJ   R$   R6   RB   RG   R   R   R   (   R   RA   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR7     s
    
(	   R   R   R   R   R:   R-   R=   R?   R7   (    (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR     s   					
	t   Passc           B   s    e  Z g  Z d    Z d   Z RS(   c         C   s   t  f S(   N(   R   (   R   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR:     s    c         C   s   |  i  S(   N(   R/   (   R   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR=     s    (   R   R   R   R:   R=   (    (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR     s   	t   Whilec           B   sS   e  Z d  d g Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 RS(	   R   R.   c         C   s,   t  t |   i |  | |  _ | |  _ d  S(   N(   RR   R   R   R   R.   (   R   R*   R   R.   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR     s    	c         C   s   t  |  i f S(   N(   R   R   (   R   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR:     s    c         C   s   |  i  S(   N(   R.   (   R   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR;     s    c         C   s   | |  _  t |  i |   d  S(   N(   R/   R2   R.   (   R   R/   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR-     s    	c         C   s0   t  i i |  i  o |  i d Sn |  i Sd  S(   Ni    (   RB   RC   RD   R   R.   R/   (   R   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR=     s    c         C   s   |  i  d |  i g S(   Ni    (   R.   R/   (   R   R>   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR?     s    c         C   s   t  i |   } d  | _ | S(   N(   R8   R7   R$   R6   (   R   RA   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR7     s    	(
   R   R   R   R   R:   R;   R-   R=   R?   R7   (    (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR     s   							t   Ifc           B   sP   e  Z d  g Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 RS(   t   entriesc         C   s#   t  t |   i |  | |  _ d S(   sF   
        @param entries: A list of (condition, block) tuples.
        N(   RR   R   R   R   (   R   R*   R   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR     s    c         C   s   t  f S(   N(   R   (   R   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR:     s    c         C   s1   g  } x$ |  i  D] \ } } | i |  q W| S(   N(   R   R   (   R   RA   R   R.   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR;     s
    
 c         C   s4   | |  _  x$ |  i D] \ } } t | |  q Wd  S(   N(   R/   R   R2   (   R   R/   R   R.   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR-     s    	
 c         C   s@   x6 |  i  D]+ \ } } t i i |  o | d Sq
 q
 W|  i S(   Ni    (   R   RB   RC   RD   R/   (   R   R   R.   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR=     s
    
 c         C   s6   g  } |  i  D] \ } } | | d q ~ |  i g S(   Ni    (   R   R/   (   R   R>   R   R   R.   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR?     s    +c         C   s   t  i |   } d  | _ | S(   N(   R8   R7   R$   R6   (   R   RA   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR7     s    	(
   R   R   R   R   R:   R;   R-   R=   R?   R7   (    (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR     s   								t   UserStatementc           B   sS   e  Z d  d g Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 RS(	   t   linet   parsedc         C   sB   t  t |   i |  | |  _ d  |  _ t i i |  |  i  d  S(   N(	   RR   R   R   R   R$   R   RB   t
   statementst   parse(   R   R*   R   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR   "  s    		c         C   s   t  |  i f S(   N(   R   R   (   R   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR:   +  s    c         C   s   |  i  d  |  i   S(   NR=   (   R   t   get_next(   R   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR=   .  s    c         C   s>   |  i  d  p g  } x | D] } | |  q W|  i   g S(   NR?   (   R   R   (   R   R>   t	   predictedRi   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR?   2  s
     c         O   sX   |  i  } | d  j o% t i i |  |  i  } | |  _  n t i i | | | |  d  S(   N(   R   R$   RB   R   R   R   R   (   R   t   methodR   R{   R   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR   :  s
    	c         C   s>   |  i  d  } | d  j	 o t i i i |  Sn |  i Sd  S(   NR/   (   R   R$   RB   RG   R   R   R/   (   R   RA   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR   C  s    c         C   s2   t  i |   } |  i   | _ |  i d |  | S(   NR7   (   R8   R7   R   R6   R   (   R   RA   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR7   J  s    (
   R   R   R   R   R:   R=   R?   R   R   R7   (    (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR     s   								t   Definec           B   s8   e  Z d  d g Z d   Z d   Z d   Z d   Z RS(   R   R   c         C   s>   t  t |   i |  | |  _ t | d | d d |  _ d S(   s   
        @param name: The name of the image being defined.

        @param expr: An expression yielding a Displayable that is
        assigned to the image.
        R*   R!   R   N(   RR   R   R   R   R   R   (   R   R*   R4   R   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR   X  s    	c         C   s   t  t |  i  f S(   N(   R   Ru   R   (   R   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR:   e  s    c         C   s    |  i  o |  i  g Sn g  Sd  S(   N(   R   (   R   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR@   h  s    
c         C   s^   t  i i |  i i  } t  i i |  i i |  i	 |  i
 d f  t t  i |  i |  |  i S(   Nt   define(   RB   RC   R   R   R"   R`   R   R   R   R   R   R   RE   R/   (   R   R~   (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR=   n  s    )(   R   R   R   R   R:   R@   R=   (    (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pyR   Q  s   				()   RB   RT   R)   R   t   objectR   R   R   R   R   R   R2   R3   R8   RL   RM   R   RP   Rl   Rn   R   R   R   R   RW   R   R$   R   R   R   R   R   R   R   R   R   R   R   R   R   R   (    (    (    s1   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\ast.pys   <module>   sH   			o	X u# 4)($ /92N,S1&13