0{Y[A@sdZddlZddlZddlZdZdZejddkZejddkZere fZ e fZ e fZe ZeZejZnefZ e efZ e ejfZeZe Zejjdre d:ZnWGd d d eZyeeWnek r-e d<ZYn Xe d>Z[d dZddZGdddeZ Gddde Z!Gdddej"Z#Gddde Z$Gddde#Z%e$dddde$ddd d!de$d"ddd#d"e$d$d%d d&d$e$d'dd d(d'e$d)d%d d*d)e$d+d%d,d-e$d.d%d/e$ddde$d0d0d1e$d*d%d d*d)e$d2dd d3d2e$d4ddd5d4e!d d%e!d6d7e!d8d9e!d:d;d<e!d=d>d?e!d@dAdBe!dCdDdEe!dFdGdHe!dIdJdKe!dLdMdNe!dOdPdQe!dRdSdTe!dUdUdVe!dWdWdVe!dXdXdVe!dYdYdZe!d[d\e!d]d^e!d_d`e!dadbdae!dcdde!dedfdge!dhdidje!dkdldme!dndodpe!dqdrdse!dtdudve!dwdxdye!dzd{d|e!d}d~de!ddde!dddje!ddde!ddde!dddpe!de&dde!de&dde!de&de&de!ddde!ddde!ddde!ddg7Z'xKe'D]CZ(e)e%e(j*e(e+e(e!r:e(ej,e&de(j*dZ?dZ@dZAdZBdZCdZDn<dZ;dZ<dZ=dZ>dZ?dZ@dZAdZBdZCdZDy eEZFWneGk rH d d ZFYnXeFZEy eHZHWneGk ry d d ZHYnXer d dZIejJZKeZLn4ddZIddZKGdddeZLeHZHeeIdejMe;ZNejMe<ZOejMe=ZPejMe>ZQejMe?ZRejMe@ZSddZTddZUddZVddZWerddZXddZYeZZ[ejddkr ddZ\nej]ddd Z\ej^dZ_ej`ZaebZcddldZdedjeZeedjfZfnad!dZXd"dZYe[Z[eZZ\d#d$Z_d%d&Zad'd(ZcddleZeeejeZeZfeeXd)eeYd*erege-jhd+Zidd,d-Zjnddd.d/Zieid0ege-jhd1dZkekdkrd2d3Zkneejd4d5d6Zld7d8ZmdS(?z6Utilities for writing code that runs on Python 2 and 3Nz'Benjamin Peterson z1.6.1javac@seZdZddZdS)XcCsdS)Nrrl)selfrr*/tmp/pip-ok8sy_ze-build/pip/_vendor/six.py__len__8sz X.__len__N)__name__ __module__ __qualname__r rrrr r7s r?cCs ||_dS)z Add documentation to a function.N)__doc__)funcdocrrr _add_docEsrcCst|tj|S)z7Import module, returning the module after the last dot.) __import__sysmodules)namerrr _import_moduleJs rc@s(eZdZddZddZdS) _LazyDescrcCs ||_dS)N)r)r rrrr __init__Rsz_LazyDescr.__init__c Csby|j}Wn%tk r7td|jYnXt||j|t|j|j|S)Nz%s could not be imported )_resolve ImportErrorAttributeErrorrsetattrdelattr __class__)r objtpresultrrr __get__Us z_LazyDescr.__get__N)r r rrr$rrrr rPs  rcs=eZdZdfddZddZddZS) MovedModuleNcsJtt|j|tr=|dkr1|}n||_n ||_dS)N)superr%rPY3mod)r roldnew)r rr rcs    zMovedModule.__init__cCs t|jS)N)rr()r rrr rlszMovedModule._resolvec Cs|dkr-|jtjkr-t|ny|j}Wntk r]t|YnXt||}t||||S)N__file__r __path__)z__file__z__name__z__path__)r(rrrrrgetattrr)r attr_modulevaluerrr __getattr__os  zMovedModule.__getattr__)r r rrrr1rr)r r r%as  r%cs4eZdZfddZddZgZS) _LazyModulecs)tt|j||jj|_dS)N)r&r2rr r)r r)r rr rsz_LazyModule.__init__cCs*ddg}|dd|jD7}|S)Nrr cSsg|]}|jqSr)r).0r.rrr s z'_LazyModule.__dir__..)_moved_attributes)r attrsrrr __dir__s z_LazyModule.__dir__)r r rrr7r5rr)r r r2s  r2cs4eZdZddfddZddZS)MovedAttributeNcstt|j|trp|dkr1|}n||_|dkrd|dkr[|}qd|}n||_n'||_|dkr|}n||_dS)N)r&r8rr'r(r.)r rold_modnew_modold_attrnew_attr)r rr rs           zMovedAttribute.__init__cCst|j}t||jS)N)rr(r-r.)r modulerrr rszMovedAttribute._resolve)r r rrrrr)r r r8s r8c@seZdZdZdS) _MovedItemszLazy loading of moved objectsN)r r rrrrrr r>s r> cStringIOioStringIOfilter itertoolsbuiltinsifilter filterfalse ifilterfalseinput __builtin__ raw_inputmapimaprangexrange reload_moduleimpreloadreduce functools UserString collectionszipizip zip_longest izip_longest configparser ConfigParsercopyregcopy_regdbm_gnugdbmzdbm.gnuhttp_cookiejar cookielibzhttp.cookiejar http_cookiesCookiez http.cookies html_entitieshtmlentitydefsz html.entities html_parser HTMLParserz html.parser http_clienthttplibz http.clientemail_mime_multipartzemail.MIMEMultipartzemail.mime.multipartemail_mime_textzemail.MIMETextzemail.mime.textemail_mime_basezemail.MIMEBasezemail.mime.baseBaseHTTPServerz http.server CGIHTTPServerSimpleHTTPServercPicklepicklequeueQueuereprlibrepr socketserver SocketServer_threadthreadtkinterTkintertkinter_dialogDialogztkinter.dialogtkinter_filedialog FileDialogztkinter.filedialogtkinter_scrolledtext ScrolledTextztkinter.scrolledtexttkinter_simpledialog SimpleDialogztkinter.simpledialog tkinter_tixTixz tkinter.tix tkinter_ttkttkz tkinter.ttktkinter_constants Tkconstantsztkinter.constants tkinter_dndTkdndz tkinter.dndtkinter_colorchoosertkColorChooserztkinter.colorchoosertkinter_commondialogtkCommonDialogztkinter.commondialogtkinter_tkfiledialog tkFileDialog tkinter_fonttkFontz tkinter.fonttkinter_messagebox tkMessageBoxztkinter.messageboxtkinter_tksimpledialogtkSimpleDialog urllib_parsez.moves.urllib_parsez urllib.parse urllib_errorz.moves.urllib_errorz urllib.errorurllibz .moves.urlliburllib_robotparser robotparserzurllib.robotparser xmlrpc_client xmlrpclibz xmlrpc.client xmlrpc_serverz xmlrpc.serverwinreg_winregz.moves.z.movesc@seZdZdZdS)Module_six_moves_urllib_parsez7Lazy loading of moved objects in six.moves.urllib_parseN)r r rrrrrr rs r ParseResulturlparse SplitResultparse_qs parse_qsl urldefragurljoinurlsplit urlunparse urlunsplitquote quote_plusunquote unquote_plus urlencode splitqueryz.moves.urllib.parsec@seZdZdZdS)Module_six_moves_urllib_errorz7Lazy loading of moved objects in six.moves.urllib_errorN)r r rrrrrr rs rURLErrorurllib2 HTTPErrorContentTooShortErrorz.moves.urllib.errorc@seZdZdZdS)Module_six_moves_urllib_requestz9Lazy loading of moved objects in six.moves.urllib_requestN)r r rrrrrr r+s rurlopenzurllib.requestinstall_opener build_opener pathname2url url2pathname getproxiesRequestOpenerDirectorHTTPDefaultErrorHandlerHTTPRedirectHandlerHTTPCookieProcessor ProxyHandler BaseHandlerHTTPPasswordMgrHTTPPasswordMgrWithDefaultRealmAbstractBasicAuthHandlerHTTPBasicAuthHandlerProxyBasicAuthHandlerAbstractDigestAuthHandlerHTTPDigestAuthHandlerProxyDigestAuthHandler HTTPHandler HTTPSHandler FileHandler FTPHandlerCacheFTPHandlerUnknownHandlerHTTPErrorProcessor urlretrieve urlcleanup URLopenerFancyURLopener proxy_bypassz.moves.urllib.requestz.moves.urllib_requestc@seZdZdZdS) Module_six_moves_urllib_responsez:Lazy loading of moved objects in six.moves.urllib_responseN)r r rrrrrr r[s raddbasezurllib.response addclosehookaddinfo addinfourlz.moves.urllib.responsez.moves.urllib_responsec@seZdZdZdS)#Module_six_moves_urllib_robotparserz=Lazy loading of moved objects in six.moves.urllib_robotparserN)r r rrrrrr rns rRobotFileParserz.moves.urllib.robotparserz.moves.urllib_robotparserc@sweZdZdZejedZejedZejedZejedZ ejedZ ddZ d S) Module_six_moves_urllibzICreate a six.moves.urllib namespace that resembles the Python 3 namespacez.moves.urllib_parsez.moves.urllib_errorz.moves.urllib_requestz.moves.urllib_responsez.moves.urllib_robotparsercCsdddddgS)Nparseerrorrequestresponserr)r rrr r7szModule_six_moves_urllib.__dir__N) r r rrrrrrrrrr7rrrr r~s rcCstt|j|dS)zAdd an item to six.moves.N)rr>r)moverrr add_movesrcCs`ytt|WnHtk r[ytj|=Wn%tk rVtd|fYnXYnXdS)zRemove item from six.moves.zno such move, %rN)rr>rmoves__dict__KeyError)rrrr remove_moves  r__func____self__ __closure____code__ __defaults__ __globals__keysvaluesitemslistsim_funcZim_selfZ func_closureZ func_codeZ func_defaultsZ func_globalsiterkeys itervalues iteritems iterlistscCs |jS)N)next)itrrr advance_iteratorsrcCs tddt|jDS)Ncss|]}d|jkVqdS)__call__N)r)r3klassrrr szcallable..)anytype__mro__)r!rrr callablesrcCs|S)Nr)unboundrrr get_unbound_functionsrcCs|jS)N)r)rrrr rscCstj|||jS)N)types MethodTyper )rr!rrr create_bound_methodsr c@seZdZddZdS)IteratorcCst|j|S)N)r__next__)r rrr rsz Iterator.nextN)r r rrrrrr r s r z3Get the function out of a possibly unbound functioncKstt|t|S)z1Return an iterator over the keys of a dictionary.)iterr- _iterkeys)dkwrrr rscKstt|t|S)z3Return an iterator over the values of a dictionary.)r r- _itervalues)rrrrr rscKstt|t|S)z?Return an iterator over the (key, value) pairs of a dictionary.)r r- _iteritems)rrrrr rscKstt|t|S)zBReturn an iterator over the (key, [values]) pairs of a dictionary.)r r- _iterlists)rrrrr rscCs |jdS)Nzlatin-1)encode)srrr bsrcCs|S)Nr)rrrr usrcCs t|fS)N)bytes)irrr int2bytesrto_bytesbigcCs|S)Nr)rrrr r scCst|jdddS)Nz\\z\\\\Zunicode_escape)unicodereplace)rrrr rscCst|dS)Nr)ord)bsrrr byte2intsr cCst||S)N)r)bufrrrr indexbytessr"cCsdd|DS)Ncss|]}t|VqdS)N)r)r3byterrr rsziterbytes..r)r!rrr iterbytessr$z Byte literalz Text literalexeccCs+|j|k r!|j|n|dS)N) __traceback__with_traceback)r"r0tbrrr reraise#sr)cCse|dkrBtjd}|j}|dkr<|j}n~n|dkrW|}ntddS)zExecute code in a namespace.Nrzexec _code_ in _globs_, _locs_)r _getframe f_globalsf_localsr%)Z_code_Z_globs_Z_locs_framerrr exec_)s      r.z9def reraise(tp, value, tb=None): raise tp, value, tb printc s|jdtjdkr%dSfdd}d}|jdd}|dk rt|trsd}qt|tstdqn|jd d}|dk rt|trd}qt|tstd qn|rtd n|s3x*|D]}t|tr d}Pq q Wn|rTtd }td }n d }d }|dkru|}n|dkr|}nx7t|D])\} }| r||n||qW||dS)z4The new-style print function for Python 2.4 and 2.5.fileNcst|tst|}nttrt|trjdk rtdd}|dkrrd}n|jj|}nj|dS)Nerrorsstrict) isinstance basestringstrr0rencodingr-rwrite)datar1)fprr r7Bs  zprint_..writeFsepTzsep must be None or a stringendzend must be None or a stringz$invalid keyword arguments to print()  )poprstdoutr3rr5 TypeError enumerate) argskwargsr7Z want_unicoder:r;argnewlinespacerr)r9r print_=sL              rGzReraise an exception.cGs|d|iS)z%Create a base class with a metaclass.NewBaser)metabasesrrr with_metaclassusrKcsfdd}|S)z6Class decorator for creating a class with a metaclass.cs|jj}|jdd|jdd|jd}|dk rt|tre|g}nx|D]}|j|qlWn|j|j|S)Nr __weakref__ __slots__)rcopyr>getr3r5r __bases__)cls orig_varsslots slots_var) metaclassrr wrapper{s   zadd_metaclass..wrapperr)rUrVr)rUr add_metaclassys rWlilill)nroperatorrr __author__ __version__ version_infoPY2r'r5 string_typesint integer_typesr class_types text_typer binary_typemaxsizeMAXSIZEr4longZ ClassTyperplatform startswithobjectrlen OverflowErrorrrrr% ModuleTyper2r8r>r r5r.rrr3rrr_urllib_parse_moved_attributesr_urllib_error_moved_attributesr _urllib_request_moved_attributesr!_urllib_response_moved_attributesr$_urllib_robotparser_moved_attributesrrr _meth_func _meth_self _func_closure _func_code_func_defaults _func_globalsr rrrrr NameErrorrrrr r  attrgetterget_method_functionget_method_selfget_function_closureget_function_codeget_function_defaultsget_function_globalsrrrrrrchrunichrr methodcaller itemgetterr getitemr"r r$r@rABytesIOr-rDr.r)rGrKrWrrrr s*             $              *  *  *  *  *                                  5