
    ^h #                     ^   S SK r S SKrS SKJrJr  S SKJrJr  S SKJrJ	r	  S SK
Jr   S SKJr  S SKJr  SS	KJr  S SKrS SKrS SKJr  S SKJr  S SKJr  \ R:                  " 5       rSrSr Sr!Sr"Sr#Sr$Sr%Sr&Sr'Sr(Sr)\\ \!\"\#\$\%\&\'\(\)/r*Sr+ " S S\,5      r- " S S \,5      r.\R^                  " S!S"S#/0S$9\R`                  " S%\1S&S'S(S)9\R`                  " S*\2S+S,S(S)9\Rf                  " \R0                  S9S-\1S.\2S/S4S0 j5       5       5       5       r4\S/\4S1 j5       r5S/\Rl                  4S2 jr7S3\Rp                  S4\S/\Rr                  4S5 jr:S6\\1   S/\Rv                  4S7 jr<S8\1S/\=\>\?\R                     4   4S9 jrAS<S: jrB\CS;:X  a  \B" 5         gg! \ a  r\" S
\ S3S-   S-   5      SeSrCff = f)=    N)ExecutorProcessPoolExecutor)datetimetimezone)cachepartial)freeze_support)web)MultiMapping   )corsz%aiohttp dependency is not installed: z. z5Please re-install black with the '[d]' extra install z.to obtain aiohttp_cors: `pip install black[d]`)version)maybe_install_uvloop)PreviewzX-Protocol-VersionzX-Line-LengthzX-Python-VariantzX-Skip-Source-First-LinezX-Skip-String-NormalizationzX-Skip-Magic-Trailing-Commaz	X-Previewz
X-UnstablezX-Enable-Unstable-FeaturezX-Fast-Or-SafezX-DiffzX-Black-Versionc                       \ rS rSrSrg)HeaderError=    N__name__
__module____qualname____firstlineno____static_attributes__r       I/home/james-whalen/.local/lib/python3.13/site-packages/blackd/__init__.pyr   r   =       r   r   c                       \ rS rSrSrg)InvalidVariantHeaderA   r   Nr   r   r   r   r   r   A   r   r   r   help_option_namesz-hz--help)context_settingsz--bind-hostzAddress to bind the server to.	localhostT)typehelpdefaultshow_defaultz--bind-portzPort to listen oni  	bind_host	bind_portreturnc                     [         R                  " [         R                  S9  [        5       n[        R
                  n[        R                  " SU SU  SU 35        [        R                  " X USS S9  g )N)levelzblackd version z listening on z port T)hostporthandle_signalsprint)	loggingbasicConfigINFOmake_appblack__version__outr
   run_app)r(   r)   appvers       r   mainr;   E   sZ     gll+
*C


C	IIuN9+VI;OPKK)DPTUr   c                      [        5       $ N)r   r   r   r   executorr>   Y   s      r   c            
          [         R                  " [        / [        QSP7S9/S9n U R	                  [         R
                  " S[        [        [        5       S95      /5        U $ )NzContent-Type)allow_headers)middlewares/)r>   )	r
   Applicationr   BLACK_HEADERS
add_routespostr   handler>   )r9   s    r   r4   r4   ^   sP    
//(H-(H(HIJC NNCHHS'&8:"FGHIJr   requestr>   c           
         #    [         [        0n U R                  R                  [        S5      S:w  a  [
        R                  " SSS9$ SnU R                  R                  [        S5      S:X  a  Sn [        U R                  5      nU R                  R                  5       I S h  vN nU R                  b  U R                  OSnUR                  U5      n[        R                   " ["        R$                  5      n	Sn
UR&                  (       a  UR)                  S5      S-   nUS U n
XS  n[*        R,                  " 5       nUR/                  U[1        [2        R4                  XUS95      I S h  vN n[6        R8                  U;  aI  UR)                  S5      nUS
:  a2  XS-
     S:X  a'  UR;                  SS5      nX:X  a  [2        R<                  eX-   nX-   n[?        U R                  R                  [@        S5      5      nU(       aw  [        R                   " ["        R$                  5      nSU	 3nSU 3n[*        R,                  " 5       nUR/                  U[1        [2        RB                  XUU5      5      I S h  vN n[
        R                  " U RD                  UUUS9$ ! [         a,  n[
        R                  " S	UR                  S
   S9s S nA$ S nAff = f GN1 GNn Nd! [2        R<                   a    [
        R                  " SUS9s $ [2        RF                   a)  n[
        R                  " S	U[I        U5      S9s S nA$ S nAf[J         a?  n[L        RN                  " S5        [
        R                  " SU[I        U5      S9s S nA$ S nAff = f7f)N1i  z,This server only supports protocol version 1)statustextFsafefastTi  r   utf8 
r   )rN   modez
zIn	zOut	)content_typecharsetheadersrL      )rK   rV   )rK   rV   rL   z#Exception during handling a requesti  )(BLACK_VERSION_HEADERr6   rV   getPROTOCOL_VERSION_HEADERr
   ResponseFAST_OR_SAFE_HEADER
parse_moder   argscontentreadrU   decoder   nowr   utcskip_source_first_linefindasyncioget_event_looprun_in_executorr   r5   format_file_contentsr   normalize_cr_newlinesreplaceNothingChangedboolDIFF_HEADERdiffrT   InvalidInputstr	Exceptionr1   	exception)rH   r>   rV   rN   rR   e	req_bytesrU   req_strthenheaderfirst_newline_positionloopformatted_strnl	only_diffrb   src_namedst_names                      r   rG   rG   f   s    #[1GBF??6<C<<!O  ??2F;vED	<goo.D "//..00	%,__%@'//f""7+||HLL)&&*1,,t*<q*@"445F56G%%'"22ge88'SWX
 
 ((4d#BAv'q&/T1 - 5 5dF C +... ". ,,[%@A	,,x||,CdV}Hse}H))+D"&"6"6

GHhO# M
 || --	
 	
W  	<<<s;;	<0
0  9||388 F||3c!fEE F?@||3c!fEEFs   N8K N	(K 2J K $K%CK *K+DK 6K7$K N
K&!KKK NKK K K )NNNL?9N:N?N4N NNNNrV   c                 
    [        U R                  [        [        R                  5      5      n[        U ;   a  U [           n [        U5      u  p4OSn[        5       n[        U R                  [        S5      5      n[        U R                  [        S5      5      n[        U R                  [        S5      5      n[        U R                  [         S5      5      n	[        U R                  ["        S5      5      n
[        5       nU R                  [$        S5      R'                  S5      nU H?  nUR)                  5       nU(       d  M   UR+                  [        R,                  U   5        MA     [        R0                  " UUUUU(       + U(       + U	U
US9	$ ! [
         a    [        S5      S ef = f! [         a(  n[        S[         SUR                  S    35      S eS nAff = f! [.         a    [        S[$         SU 35      S ef = f)	Nz Invalid line length header valuezInvalid value for z: r   FrP   ,)	target_versionsis_pyiline_lengthrd   string_normalizationmagic_trailing_commapreviewunstableenabled_features)intrY   LINE_LENGTH_HEADERr5   DEFAULT_LINE_LENGTH
ValueErrorr   PYTHON_VARIANT_HEADERparse_python_variant_headerr   r^   setrm    SKIP_STRING_NORMALIZATION_HEADERSKIP_MAGIC_TRAILING_COMMASKIP_SOURCE_FIRST_LINEPREVIEWUNSTABLEENABLE_UNSTABLE_FEATUREsplitstripaddr   KeyErrorFileMode)rV   r   valuepyiversionsrt   skip_string_normalizationskip_magic_trailing_commard   r   r   enable_featuresenable_unstable_featurespieces                 r   r]   r]      s   H'++&8%:S:STU '-.	7>MC 5 $4e<! !%W[[1JE%R S!'++.De"LM7;;w./GGKK%01H*-%O&{{+BBGMMcR)5##EMM%$89	 * >> 5!::!::(
 
G  H<=4GH $ 	$%:$;2affQi[I	.  !()@(AE7Ks/   -F F, "G!F),
G6#GG!!Hr   c                    U S:X  a  S[        5       4$ [        5       nU R                  S5       GH  nUR                  S5      (       a  U[        S5      S  nSU;   a  UR                  S5      tp4OUS   n[        U5      S:  a  USS  /O/ n [	        U5      nUS;  a  [        S	5      e[        U5      S:  a   [	        US   5      nUS
:X  a  [        S5      eO
US
:X  a  SOSnSU U 3nUS:X  a.  [        [        R                  U5      (       d  [        SU S35      eUR                  [        R                  U   5        GM     SU4$ ! [        [        4 a    [        S5      S ef = f)Nr   Tr   py.r   r   )      zmajor version must be 2 or 3r   zPython 2 is not supported   r   PYz3.z is not supportedzexpected e.g. '3.7', 'py3.5'F)r   r   
startswithlenr   r   hasattrr5   TargetVersionr   r   r   )r   r   r   	major_strrestmajorminorversion_strs           r   r   r      sw   ~SU{5{{3'G!!$''!#d)+.g~#*==#5 	D#AJ	(+Gq(8}bUI&./MNNt9q=QLEz23NOO " "'!AE "5'%1A:ge.A.A;&O&O.E7:K/LMMU00=>- (2 h j) U*+IJPTTUs   B2EE$c                  @    [        5         [        5         [        5         g r=   )r   r	   r;   r   r   r   patched_mainr     s    Fr   __main__)r*   N)Drf   r1   concurrent.futuresr   r   r   r   	functoolsr   r   multiprocessingr	   aiohttpr
   	multidictr   rA   r   ImportErrorieclickr5   _black_versionr   r6   black.concurrencyr   
black.moder   Event_stop_signalrZ   r   r   r   r   r   r   r   r   r\   rn   rD   rX   rr   r   r   commandoptionrq   r   version_optionr;   r>   rC   r4   Requestr[   rG   Moder]   tuplerm   r   r   r   r   r   r   r   r   <module>r      sc     < ' $ *
&!   1 2  }} / $ * 3 #@  9 
5 &  $ ) 	) 		9 	 !4tX6F GH		) "5uSW e//0VC VC VD V 1 IV !( ! !#// DF#++ DF DFcll DFN0S) 0ejj 0fs uT3u?R?R;S5S/T B zN u  

/t26
A	B
:	; 	s   F F,F''F,