Dd*IUddlZddlZddlZddlZddlZddlZddlmZejjdZ ejjdZ dZ ejejej gej fed<ej$dZ dNdej(dejed ejed ed ed ej f d Zded efdZdej2ej4d efdZGddej8ZGddZdOdej2ej4ded efdZdOdej2ej4ded efdZ dej2ej4d ejej(fdZ!dej2ej4d ejej(fdZ"dej d efdZ#dej dedejed efdZ$dej dejed ejed efdZ% dNdej2ej4dejed ejedejej2ej4egefd ejej2ej4gejej(fd ed ed ej fd!Z& dOd"ej2ej4dejed ejed ed ej f d#Z' dOd$ej2ej4dejed ejed ed ej f d%Z(d ej(fd&Z)d ej(fd'Z*d ej(fd(Z+ dPdejed ejed ej fd)Z, dPdejed ejed ej fd*Z- dPdejed ejed ej fd+Z.d,ej^ed-e0fd.edejed ejed ej2ej4f d/Z1 dQd0d1d.edejed ejed2ed ejdej2ej4eff d3Z3Gd4d5Z4ded efd6Z5dej2ej4d efd7Z6 dPdejej2ej4d8ejed efd9Z7ejjdrke rid:d;l8m9Z9d efd<Z:eZ;ejxej ej fed=< dRdej d8ejed ej fd>Z nMd efd?Z:d@ej dejed ejed ejej fdAZ9dBed e0fdCZ=dej2ej4d efdDZ>dEejgejej fdFejgej fd ejgejej ffdGZ?e?dHe,Z@e?dIe-ZAe?dJe.ZBe)e*e+dKZCejeejgej(ffedL<e,e-e.dKZEejeejejeejegej ffedM<y)SN)WeakKeyDictionarycygwinwinauto_wrap_for_ansiz\033\[[;?0-9]*[a-zA-Z]streamencodingerrorsforce_readableforce_writablereturncF| t|}|d}t|||d||S)NreplaceT)line_bufferingr r )get_best_encoding_NonClosingTextIOWrapper)rrr r r s //usr/lib/python3/dist-packages/click/_compat.py_make_text_streamrs=$V, ~ #%%  cf tj|jdk(S#t$rYywxYw)z$Checks if a given encoding is ascii.asciiF)codecslookupname LookupError)rs ris_ascii_encodingr$s3}}X&++w66 s !$ 00cdt|ddxstj}t|ry|S)z1Returns the default stream encoding if not found.rNzutf-8)getattrsysgetdefaultencodingr)rrvs rrr,s. T * Fc.D.D.FB IrceZdZ d dejdej edej edededejddffd Z d d Z defd Z xZ S)rrrr r r extrar Nc tjtjt|||x|_}t ||||fi|yN)tcastBinaryIO _FixupStream_streamsuper__init__)selfrrr r r r" __class__s rr+z!_NonClosingTextIOWrapper.__init__5sF!" JJ V^^L!   v 6;U;rcD |jy#t$rYywxYwr$)detach Exceptionr,s r__del__z _NonClosingTextIOWrapper.__del__Cs"  KKM   s  c6|jjSr$)r)isattyr1s rr4z_NonClosingTextIOWrapper.isattyIs||""$$rFF)r N) __name__ __module__ __qualname__r%r'OptionalstrboolAnyr+r2r4 __classcell__)r-s@rrr4s} %$ <  <**S/ < 3 <  <  < <  < %%rrceZdZdZ ddej dedefdZdedejfdZ d e de fd Z defd Zdefd Zdefd Zy)r(aQThe new io interface needs more from streams than streams traditionally implement. As such, this fix-up code is necessary in some circumstances. The forcing of readable and writable flags are there because some tools put badly patched objects on sys (one such offender are certain version of jupyter notebook). rr r c.||_||_||_yr$)r)_force_readable_force_writable)r,rr r s rr+z_FixupStream.__init__Xs  --rrr c.t|j|Sr$)rr)r,rs r __getattr__z_FixupStream.__getattr__bst||T**rsizect|jdd}| tjt||S|jj |S)Nread1)rr)r%r&bytesread)r,rEfs rrGz_FixupStream.read1esC DLL'4 0 =66%4) )||  &&rc|jryt|jdd}|tjt |S |jj dy#t$rYywxYw)NTreadablerF)r@rr)r%r&r;rIr0r,xs rrLz_FixupStream.readablemsh    DLL*d 3 =66$$ $  LL  a   sA## A/.A/c<|jryt|jdd}|tjt |S |jj dy#t$r/ |jj dYy#t$rYYywxYwwxYw)NTwritablerF)rArr)r%r&r;writer0rMs rrPz_FixupStream.writableys    DLL*d 3 =66$$ $  LL  r "     ""3'   s*A## B-B  BBBBct|jdd}|tjt|S |jj |jj y#t$rYywxYw)NseekableFT)rr)r%r&r;seektellr0rMs rrTz_FixupStream.seekablesi DLL*d 3 =66$$ $  LL  dll//1 2  s3A.. A:9A:Nr5)r6r7r8__doc__r%r'r;r+r:r<rDintrHrGrLrPrTrrr(r(Ns %$ . .. .+++'#'%' $  $ $rr(defaultcd t|jdtS#t$r|cYSwxYwNr) isinstancerIrHr0rrZs r_is_binary_readerr_s0&++a.%00 s ! //c |jdy#t$r( |jdYy#t$rYnwxYw|cYSwxYw)NrrQFT)rRr0r^s r_is_binary_writerrasT S    LL     s% A1 =A=AAct|dr$tjtj|St |dd}|0t|dr$tjtj|SyNFbufferT)r_r%r&r'rrbufs r_find_binary_readerrgZ 'vvajj&)) &(D )C ,S$7vvajj#&& rct|dr$tjtj|St |dd}|0t|dr$tjtj|Syrc)rar%r&r'rres r_find_binary_writerrjrhrc6tt|ddxsdS)z3A stream is misconfigured if its encoding is ASCII.rNr)rrrs r_stream_is_misconfiguredrms WVZ>I' JJrattrvaluec>t||d}||k(xs |duxr|duS)zA stream attribute is compatible if it is equal to the desired value or the desired value is unset and the attribute has a value. N)r)rrnro stream_values r_is_compat_stream_attrrrs0 64.L 5 PUd]%O|47OPrc:t|d|xr t|d|S)zcCheck if a stream's encoding and errors attributes are compatible with the desired values. rr )rr)rrr s r_is_compatible_text_streamrts) " H  ; 6 :;r text_stream is_binary find_binaryc"||dr%tjtj|}nNtjtj|}t |||r| t |s|S||}||S|}|d}t |||||S)NFr)r r )r%r&r'TextIOrtrmr) rurr rvrwr r binary_readerpossible_binary_readers r_force_correct_text_streamr|se$qzz;7 ffQXX{3  &k8V D  !9+!F "-[!9 " ) . ~ %%  r text_readerc4t|||tt|S)Nr )r|r_rg)r}rr r s r_force_correct_text_readerr# &%  r text_writerc4t|||tt|S)Nr )r|rarj)rrr r s r_force_correct_text_writerr(rrcRttj}| td|S)Nz6Was not able to determine binary stream for sys.stdin.)rgrstdin RuntimeError)readers rget_binary_stdinr8s&  +F ~STT MrcRttj}| td|S)Nz7Was not able to determine binary stream for sys.stdout.)rjrstdoutrwriters rget_binary_stdoutr?&  ,F ~TUU MrcRttj}| td|S)Nz7Was not able to determine binary stream for sys.stderr.)rjrstderrrrs rget_binary_stderrrFrrczttj||}||Sttj||dS)NTr)_get_windows_console_streamrrrrr r s rget_text_stdinrMs6 %SYY& AB ~ %cii6RV WWrczttj||}||Sttj||dSNTr)rrrrrs rget_text_stdoutrV6 %SZZ6 BB ~ %cjj(FSW XXrczttj||}||Sttj||dSr)rrrrrs rget_text_stderrr_rrfilezos.PathLike[str]modec@d|vr t||St||||S)z?Handles not passing ``encoding`` and ``errors`` in binary mode.brr )open)rrrr s r _wrap_io_openrhs) d{D$ dXf ==rfilenamezt.Union[str, os.PathLike[str]]atomiccdv}tj|}tj|dk(rNtfddDr|r t dfSt ||dfS|r t dfSt||dfS|st|||dfSdvr td d vr td d vr td ddl }ddl } tj|j}tjtj ztj"z} |r| t%tddz} tj&j)tj&j+|d|j-dd} tj.| | |dn|} |tj>| |t| ||} tA| | tj&jC|}tEjFtDjHtDjJ|dfS#t$rd}YKwxYw#t$r} | j|j0k(stj2dk(rv| j|j4k(r]tj&j7| j8r4tj:| j8tj<rYd} ~ d} ~ wwxYw)Nr-c3&K|]}|v ywr$rY).0mrs r zopen_stream..s2QqDy2s)warNFrTrzAppending to an existing file is not supported, because that would involve an expensive `copy`-operation to a temporary file. Open the file in normal `w`-mode and copy explicitly if that's what you're after.rNz&Use the `overwrite`-parameter instead.rz,Atomic writes only make sense with `w`-mode.rO_BINARYz.__atomic-writel08xint)&osfspathfsdecodeanyrrrrr ValueErrorerrnorandomstatst_modeOSErrorO_RDWRO_CREATO_EXCLrpathjoindirname randrangerEEXISTrEACCESisdirraccessW_OKchmod _AtomicFilerealpathr%r&IOr<)rrrr rbinaryrrpermflags tmp_filenamefderJafs ` r open_streamrusyD[Fyy"H {{8# 2/2 2(*E11"HVDeK K #%u, ,x?FF XtXv>DD d{ ,   d{ABB $GHH  " 1 9 9 II "RYY .E  Z++ ww|| GGOOH %f..w7< =  ut|eNB   t$b$&1A Q bgg&6&6x&@ AB 66!$$quu+r "D ((?   ww%,,&4GGu||+GGMM!**-IIajj"''2  s1 H%H7% H43H47 K(BK#"K##K(ceZdZdejej dededdfdZedefdZ dde ddfd Z d edej fd Z dd Z d ejejedej ddfdZdefdZy)rrJr real_filenamer Nc<||_||_||_d|_yNF)_f _tmp_filename_real_filenameclosed)r,rJrrs rr+z_AtomicFile.__init__s )+ rc|jSr$)rr1s rrz_AtomicFile.names"""rdeletec|jry|jjtj|j |j d|_y)NT)rrcloserrrr)r,rs rrz_AtomicFile.closes: ;;    4%%t':':; rrc.t|j|Sr$)rrrCs rrDz_AtomicFile.__getattr__stww%%rc|Sr$rYr1s r __enter__z_AtomicFile.__enter__s rexc_type_c,|j|duy)N)r)r)r,rrs r__exit__z_AtomicFile.__exit__s ($. /rc,t|jSr$)reprrr1s r__repr__z_AtomicFile.__repr__sDGG}rF)r r)r6r7r8r%rr<r:r+propertyrr;rrDrr9Type BaseExceptionrrrYrrrrs!$$quu+SQU #c##DT&&&0AFF=,A!B00RV0#rrc.tjd|S)NrQ)_ansi_resub)ros r strip_ansirs <<E ""rct|ttfr#|j}t|ttfr#|jj j dS)Nz ipykernel.)r]r(rr)r-r7 startswithrls r_is_jupyter_kernel_outputrsL Vl,DE F Vl,DE F    & & 1 1, ??rcolorcd|,|tj}t| xr t| S| Sr$)rrr4r)rrs rshould_strip_ansirs: } >YYF&>!K*CF*K&KK9r)rc*ddl}|jSr\)localegetpreferredencoding)rs r_get_argv_encodingrs**,,r_ansi_stream_wrappersch tj|}||Sddl}t ||}|j ||t jt jj}|jfd}||_ |t|<|S#t$rd}YwxYw#t$rY|SwxYw)zbSupport ANSI color and style codes on Windows by wrapping a stream with colorama. Nr)stripcR |S#t$rjwxYwr$)r reset_all)s_write ansi_wrappers r _safe_writez'auto_wrap_for_ansi.._safe_writes0 ay   &&( s &) rgetr0coloramar AnsiToWin32r%r&ryrrR) rrcachedrrr rrrs @@rrrs  *..v6F  M!&%0++F%+@ VVAHHl11 2  ,. !& ) 7 F 0    s#B B$ B! B!$ B10B1cdttjddxstjS)Nr)rrrgetfilesystemencodingrYrrrr.s#syy*d3Rs7P7P7RRrrJcyr$rY)rJrr s rrr1srrNc*tt|Sr$)lenr)rNs rterm_lenr7s z!} rcB |jS#t$rYywxYwr)r4r0rls rr4r4;s%}} s  src_func wrapper_funccrtdtjtjffd }|S)Nr c}|y j|}||S} ||<|S#t$rd}Y wxYw#t$rY|SwxYwr$)rr0)rr cacherrs rfuncz&_make_cached_stream_func..funcHs{ > 6"B >I ^ E&M  B     s1A ?? AA)rr%r9ry)rrrrs`` @r_make_cached_stream_funcrBs.3D2EE!**QXX&& Krc"tjSr$)rrrYrrr^s syyrc"tjSr$)rrrYrrrr_  rc"tjSr$)rrrYrrrr`rr)rrrbinary_streams text_streamsr5r)NN)rNstrictFr$)Friorrertypingr%weakrefrplatformrCYGWINWINrr9Callablery__annotations__compilerr'r:r;rrrr<r TextIOWrapperrr(r_rargrjrmrrrtr|rrrrrrrrUnionrXrTuplerrrrr _winconsolerrrMutableMappingrr4r_default_text_stdin_default_text_stdout_default_text_stderrrMappingrrYrrr4s2 %   * lle$CGAJJqzz188*ahh*>?@G 2::/ 0!  JJjjo JJsO    XX *add155kc%r//%4BBJadd155kDT add155k D T QUU  1::0F$QUU  1::0F$KQXXK$KQ188Q3Qqzz#QSWQ; HH; ! 3;9:C; ;"! +aee+jjo+ JJsO+zz144;-t34 + QTT!%%[M1::ajj+AAB +  ++XX+d! aee jjo  JJsO   XX (! aee jjo  JJsO   XX  !**1::1::AEXjjoX./jjoXXXXAEYjjoY./jjoYXXYAEYjjoY./jjoYXXY > ''#)3. / >  >jjo > JJsO > TT!%%[ > $& N).N) N)jjoN) JJsO N)  N) WWQTT!%%[$  N)b>#c#c#@add155k@d@GK JJqttAEE{ #34::d3C <<5!c8-- CTBU1++AHHahh,>?U59##!"D!1# #NSS 88 zz#89 3 AHH  144;4jjQZZ112**R\*ZZAJJqxx(()8//@.Q/0BOT/0BOT> #qzz"ajj.99: aiiQZZ_ajjo6@ AAr