
\c           @  s  d  d l  m Z d  d l Z d  d l Z d  d l Z d  d l Z e j   pO d Z e j	 Z
 e j Z e e  e j e  e
 e _	 e e _ d  d l a d   Z d e j f d     YZ d   Z e   d a d a d   Z d	   Z d
   Z d   Z d   Z d S(   i(   t   print_functionNs   utf-8c    !      C  s4  d d  l  }  |  d d  l } | j d d  l } | j d d  l } | j d d  l } | j d d  l	 } | j
 d d  l } | j d d  l } | j d d  l } | j d d  l } | j d d  l } | j d d  l } | j d d  l } | j d d  l } | j d d  l } | j d d  l } | j d d  l } | d d  l  } | d d  l! } | d d  l" } | d d  l# } | d d  l$ } | d d  l% } | d d  l& }	 |	 d d  l' }
 |
 d d  l( } | d d  l) } | j* d d  l+ } | d d  l, } | d d  l- } | d d  l. } | d d  l/ } | d d  l0 } | d d  l1 } | d d  l2 } | d d  l3 } | d d  l4 } | d d  l5 } | d d  l6 } | d d  l7 } | d d  l8 } | d d  l9 } | d d  l: } | d d  l; } | d d  l< } | d d  l= } | d d  l> } | d d  l? }  |  d  S(   Ni(@   t   datetimet   encodings.asciit   asciit   encodings.utf_8t   utf_8t   encodings.zlib_codect
   zlib_codect   encodings.unicode_escapet   unicode_escapet   encodings.string_escapet   string_escapet   encodings.raw_unicode_escapet   raw_unicode_escapet   encodings.mbcst   mbcst   encodings.utf_16t   utf_16t   encodings.utf_16_bet	   utf_16_bet   encodings.utf_16_let	   utf_16_let   encodings.utf_32_bet	   utf_32_bet   encodings.latin_1t   latin_1t   encodings.hex_codect	   hex_codect   encodings.base64_codect   base64_codect   encodings.idnat   idnat   matht   globt   picklet   difflibt   shutilt   tarfilet   bz2t
   webbrowsert	   posixpatht   ctypest   ctypes.wintypest   wintypest   argparset   compilert   textwrapt   copyt   urllibt   urllib2t   codecst   rsat   decimalt   plistlibt   _renpysteamt
   compileallt   cProfilet   pstatst   _sslt   SimpleHTTPServert   cgit   Cookiet   hmact   Queuet   uuid(!   R   t	   encodingsR    R!   R"   R#   R$   R%   R&   R'   R(   R)   R,   R-   R.   R/   R0   R1   R2   R3   R4   R5   R6   R7   R8   R9   R:   R;   R<   R=   R>   R?   R@   (    (    s   renpy/bootstrap.pyt   extra_imports.   s                                                    t   NullFilec           B  s#   e  Z d  Z d   Z d d  Z RS(   sB   
    This file raises an error on input, and IOError on read.
    c         C  s   d  S(   N(    (   t   selft   s(    (    s   renpy/bootstrap.pyt   writeh   s    c         C  s   t  d   d  S(   Ns   Not implemented.(   t   IOError(   RD   t   length(    (    s   renpy/bootstrap.pyt   readk   s    N(   t   __name__t
   __module__t   __doc__RF   t   NoneRI   (    (    (    s   renpy/bootstrap.pyRC   c   s   	c           C  sZ   yL t  j j   d k  r' t   t  _ n  t  j j   d k  rK t   t  _ n  Wn n Xd  S(   Ni    (   t   syst   stderrt   filenoRC   t   stdout(    (    (    s   renpy/bootstrap.pyt
   null_fileso   s    c         C  s>   t  j j |  j j  } t | |  j |  j j | d t t	 S(   Nt   file(
   t   ost   patht   basenamet   f_codet   co_filenamet   printt   f_linenot   co_namet
   trace_filet   trace_local(   t   framet   eventt   argt   fn(    (    s   renpy/bootstrap.pyt   trace_function   s    "c         C  s>   t  d d d  a |  d k r' t a n d  a t j t  d  S(   Ns	   trace.txtt   wi   (   RS   R\   Rb   R]   RM   RN   t   settrace(   t   level(    (    s   renpy/bootstrap.pyt   enable_trace   s
    	c         C  s   t  j d |   d  S(   Ns   open (   RT   t   system(   Ra   (    (    s   renpy/bootstrap.pyt	   mac_start   s    c         O  s   d  S(   N(    (   RD   t   argst   kwargs(    (    s   renpy/bootstrap.pyt	   popen_del   s    c         C  s  d d  l  a t j j d d  d k r4 t j d =n  t |  t d  }  t j j |  d  r i  } t	 |  d |  xB | j
   D]1 \ } } | t j k r t |  t j | <q q Wn  t j j d  } d | k rb| | j d  d	  } t j j | d  rbi  } t	 | d |  xB | j
   D]1 \ } } | t j k r't |  t j | <q'q'Wqbn  t j j t j d
  } | j d  d k r| | j d   } n  d d  l a t j j   } | j rt | j  n  | j rt j j | j  j t  } n |  } t j j |  sCt j j d | f  t j d  n  | g } | }	 xF |	 r|	 d
 }
 |	 d }	 |
 d k s|
 d k rU| j |	  qUqUW| j d d d g  xJ | D]< } | d k rqn  | d | } t j j |  rPqqW| } t j j d
 |  t j rAt  t _! | j" d  rAt# t _$ qAn  y, d d  l% } d t j& k rl| j'   n  Wn& t( d j) |  d t j   n X| j* d k rt j+ rd d  l, a t j- j. j/ | |  n  y d d  l0 } | Wn& t( d j) |  d t j   n Xd d  l a t j1   t j2 j3   d  } zx| d  k rd } y | t j5 _6 |  t j7 _8 | t j7 _ | t j7 _9 g  t j7 _6 t j: rt j d t j7 _; n | t j7 _; t j j t j7 j;  st j< t j7 j; d  n  t j= j=   d
 } Wq@t> k
 r  q@t j5 j? k
 r=t j@   d  } q@t j5 jA k
 r} | jB } | jC rtD t d  rtE jF t jG g t j d  qtE jF t jH d g t j  qq@t j5 jI k
 rq@tJ k
 r} t jK jL |  q@Xq@Wt j |  Wd  d t j k r.t tM t j d   n  t j- jN jO jP   t j- jQ r`t j- jQ jP   n  t jR jR jP   t jS stT tE jF _U n  Xd  S(    Nit   SDL_VIDEODRIVERt    t   windibt   replaces   /environment.txtt
   renpy_bases   .appi   i    t   .s-   Base directory %r does not exist. Giving up.
i   t    t   _t   gamet   datas   launcher/gamet   renpyt   /s   Contents/Resources/autorunt   pygames%  Could not import pygame_sdl2. Please ensure that this program has been built
and unpacked properly. Also, make sure that the directories containing
this program do not contain : or ; in their names.

You may be using a system install of python. Please run {0}.sh,
{0}.exe, or {0}.app instead.
RS   t   runs   Could not import _renpy. Please ensure that this program has been built
and unpacked properly.

You may be using a system install of python. Please run {0}.sh,
{0}.exe, or {0}.app instead.
t   ANDROID_PUBLICi  t   renpy_executables   -EOt   RENPY_SHUTDOWN_TRACE(V   t	   renpy.logRv   RT   t   environt   gett   unicodet
   FSENCODINGRU   t   existst   execfilet	   iteritemst   strt   abspatht   findRV   RN   t   argvt   renpy.argumentst	   argumentst	   bootstrapt   traceRf   t   basedirt   decodeRO   RF   t   exitt   appendt   extendt   isdirt   insertt	   macintoshRh   t	   startfilet   endswitht   Truet   macappt   pygame_sdl2t   modulest   import_as_pygameRY   t   formatt   commandt   mobilet   renpy.display.presplasht   displayt	   presplasht   startt   _renpyt
   import_allt   loadert   init_importerRM   Rt   Ri   t   configRp   t   gamedirt   androidt   logdirt   makedirst   maint   KeyboardInterruptt   UtterRestartExceptiont
   reload_allt   QuitExceptiont   statust   relauncht   hasattrt
   subprocesst   PopenR{   t
   executablet   ParseErrorExceptiont	   Exceptiont   errort   report_exceptiont   intt   imt   cachet   quitt   drawt   audiot
   emscriptenRk   t   __del__(   Rp   t   evarst   kt   vt   alt_patht   nameRi   R   t   gamedirst	   game_namet   prefixt   iR   R   R   t   exit_statust   e(    (    s   renpy/bootstrap.pyR      s     		!		

		 
	

			!#	(   t
   __future__R    t   os.pathRT   RN   R   t   iot   getfilesystemencodingR   RQ   t
   old_stdoutRO   t
   old_stderrt   reloadt   setdefaultencodingt   renpy.errorRv   RB   t   IOBaseRC   RR   RM   R\   R]   Rb   Rf   Rh   Rk   R   (    (    (    s   renpy/bootstrap.pyt   <module>   s.   		
			5					