+
    PjRN                    |   ^ RI Ht ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	t	^ RI
H
t
 ^ RIHtHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIt^ RIt^ R	IHt ^ R
IHt ^ RIHt ^ RIHtH t H!t! ^ RI"H#t#H$t$H%t%  ! R R4      t& ! R R]&4      t' ! R R]&4      t( ! R R]&4      t) ! R R]&4      t*]PV                  ],]-].3,          t/]P`                  ]/,          t1]Pd                  ]/,          t3]PV                  ]3]13,          t4 ! R R]&4      t5 ! R R]64      t7 ! R R]64      t8]Pr                  ! R4      t: ! R R ]&4      t;R# )!    )annotationsN)datetime)format_datetime
formatdate)partial)
guess_type)	token_hex)quote)md5_hexdigest)BackgroundTask)iterate_in_threadpool)URLHeadersMutableHeaders)ReceiveScopeSendc                      ] tR t^tRtRtRR R lltR R ltRR R llt]	R	 R
 l4       t
RR R lltRR R lltR R ltRtR# )ResponseNutf-8c               0    V ^8  d   QhRRRRRRRRR	R
RR/#    content
typing.Anystatus_codeintheaderstyping.Mapping[str, str] | None
media_type
str | None
backgroundBackgroundTask | NonereturnNone )formats   "l/Users/ahmed/devFolder/Ultron/claude-voice/gateway/.venv/lib/python3.14/site-packages/starlette/responses.py__annotate__Response.__annotate__   sF     # ## # 1	#
 # *# 
#    c                	    W n         Ve   W@n        WPn        V P                  V4      V n        V P                  V4       R # N)r   r    r"   renderbodyinit_headersselfr   r   r   r    r"   s   &&&&&&r(   __init__Response.__init__   s8     '!(O$KK(	'"r+   c                    V ^8  d   QhRRRR/# )r   r   r   r$   zbytes | memoryviewr&   )r'   s   "r(   r)   r*   .   s     , ,j ,-? ,r+   c                	    Vf   R# \        V\        \        34      '       d   V# VP                  V P                  4      # )Nr+   )
isinstancebytes
memoryviewencodecharsetr2   r   s   &&r(   r.   Response.render.   s4    ?gz233N~~dll++r+   c                    V ^8  d   QhRRRR/# )r   r   r   r$   r%   r&   )r'   s   "r(   r)   r*   5   s     ' '$C 't 'r+   c                	   Vf   . pRpRpMrVP                  4        UUu. uF5  w  rVVP                  4       P                  R4      VP                  R4      3NK7  	  pppV Uu. uF  qw^ ,          NK  	  ppRV9  pRV9  p\        V RR 4      p	V	ea   V'       dY   V P                  ^8  gH   V P                  R	9   g7   \        \        V	4      4      p
VP                  RV
P                  R4      34       V P                  pVeq   V'       di   VP                  R4      '       d0   RVP                  4       9  d   VRV P                  ,           ,          pVP                  RVP                  R4      34       W n        R # u uppi u upi )
NTlatin-1s   content-lengths   content-typer/   ztext/zcharset=z
; charset=)   i0  )itemslowerr:   getattrr   strlenappendr    
startswithr;   raw_headers)r2   r   rI   populate_content_lengthpopulate_content_typekvhkeysr/   content_lengthcontent_types   &&          r(   r0   Response.init_headers5   sY   ?57K&*#$(!ZaZgZgZijZiRVRSAGGI,,Y7)9LMZiKj"-.+QaDD+D.&7t&C#$34$?!tVT*'%%+t/?/?:/M T^N 1>3H3H3STU#(=&&w//JlFXFXFZ4Zt|| ;;1D1DY1OPQ&) k.s   ;E7!E=c                   V ^8  d   QhRR/# )r   r$   r   r&   )r'   s   "r(   r)   r*   R   s       r+   c                	t    \        V R 4      '       g   \        V P                  R7      V n        V P                  # )_headers)raw)hasattrr   rI   rU   )r2   s   &r(   r   Response.headersQ   s+    tZ((*t/?/?@DM}}r+   c               @    V ^8  d   QhRRRRRRRRRR	R
R	RRRRRRRR/
# )r   keyrE   valuemax_agez
int | Noneexpireszdatetime | str | int | Nonepathr!   domainsecureboolhttponlysamesite.typing.Literal['lax', 'strict', 'none'] | Noner$   r%   r&   )r'   s   "r(   r)   r*   W   s{     %O %O%O %O 	%O
 -%O %O %O %O %O A%O 
%Or+   c
                	V   \         P                  P                  4       p
W*V&   Ve   W:V,          R&   Ve9   \        V\        4      '       d   \        VRR7      W,          R&   MWJV,          R&   Ve   WZV,          R&   Ve   WjV,          R&   V'       d   RW,          R&   V'       d   RW,          R&   V	e(   V	P                  4       R9   g   Q R	4       hWV,          R
&   V
P                  RR7      P                  4       pV P                  P                  RVP                  R4      34       R # )Nzmax-ageTusegmtr]   r^   r_   r`   rb   z1samesite must be either 'strict', 'lax' or 'none'rc    )headers
   set-cookier@   )strictlaxnone)httpcookiesSimpleCookier7   r   r   rC   outputstriprI   rG   r:   )r2   rZ   r[   r\   r]   r^   r_   r`   rb   rc   cookie
cookie_vals   &&&&&&&&&&  r(   
set_cookieResponse.set_cookieW   s    04||/H/H/Js%,3K	"'8,,)8)NI&)0sI&"&3K$*3K!$(FK!&*FK
#>># (  C C	C 
 '/3K
#]]"]-335

0A0A)0L MNr+   c               4    V ^8  d   QhRRRRRRRRRRR	R
RR/# )r   rZ   rE   r^   r_   r!   r`   ra   rb   rc   rd   r$   r%   r&   )r'   s   "r(   r)   r*   ~   sQ     
 

 
 	

 
 
 A
 

r+   c                	8    V P                  V^ ^ VVVVVR7       R# )r   )r\   r]   r^   r_   r`   rb   rc   N)rt   )r2   rZ   r^   r_   r`   rb   rc   s   &&&&&&&r(   delete_cookieResponse.delete_cookie~   s-     	 	 		
r+   c               (    V ^8  d   QhRRRRRRRR/# 	r   scoper   receiver   sendr   r$   r%   r&   )r'   s   "r(   r)   r*      s(     $ $E $G $4 $D $r+   c                	:  "   VR ,          R8X  d   RMRpV! R VR,           RV P                   RV P                  /4      G Rj  xL
  V! R VR,           R	V P                  /4      G Rj  xL
  V P                  e   V P                  4       G Rj  xL
  R# R#  LS L0 L5i)
type	websocketz
websocket.rh   http.response.startstatusr   Nhttp.response.bodyr/   )r   rI   r/   r"   )r2   r|   r}   r~   prefixs   &&&& r(   __call__Response.__call__   s     !&v+!=2!66$**4++
 	
 	
 FF%996499MNNN??&//### '	
 	O $s5   ?BB$B&B'%BB	BBB)rU   r"   r/   r    rI   r   )N   NNNr-   )rh   NN/NFFrk   )r   NFFrk   )__name__
__module____qualname____firstlineno__r    r;   r3   r.   r0   propertyr   rt   rx   r   __static_attributes__r&   r+   r(   r   r      sE    JG#,'8  
%ON
($ $r+   r   c                      ] tR t^tRtRtR# )HTMLResponsez	text/htmlr&   Nr   r   r   r   r    r   r&   r+   r(   r   r      s    Jr+   r   c                      ] tR t^tRtRtR# )PlainTextResponse
text/plainr&   Nr   r&   r+   r(   r   r      s    Jr+   r   c                  B   a  ] tR t^tRtRR V 3R llltR R ltRtV ;t# )JSONResponsezapplication/jsonc               0    V ^8  d   QhRRRRRRRRR	R
RR/# r   r&   )r'   s   "r(   r)   JSONResponse.__annotate__   sN     P PP P 1	P
 P *P 
Pr+   c                	*   < \         SV `  WW4V4       R # r-   )superr3   )r2   r   r   r   r    r"   	__class__s   &&&&&&r(   r3   JSONResponse.__init__   s     	wJOr+   c                    V ^8  d   QhRRRR/# )r   r   r   r$   r8   r&   )r'   s   "r(   r)   r      s      j U r+   c                	V    \         P                  ! VR R RRR7      P                  R4      # )FN)ensure_ascii	allow_nanindent
separatorsr   ),:)jsondumpsr:   r<   s   &&r(   r.   JSONResponse.render   s-    zz!
 &/	r+   r&   r   NNN)	r   r   r   r   r    r3   r.   r   __classcell__r   s   @r(   r   r      s    #JP P r+   r   c                  2   a  ] tR t^tRR V 3R llltRtV ;t# )RedirectResponsec          
     ,    V ^8  d   QhRRRRRRRRR	R
/# )r   urlz	str | URLr   r   r   r   r"   r#   r$   r%   r&   )r'   s   "r(   r)   RedirectResponse.__annotate__   sC     O OO O 1	O
 *O 
Or+   c                	r   < \         SV `  R W#VR7       \        \        V4      RR7      V P                  R&   R# )r+   )r   r   r   r"   z:/%#?=@[]!$&'()*+,;)safelocationN)r   r3   r
   rE   r   )r2   r   r   r   r"   r   s   &&&&&r(   r3   RedirectResponse.__init__   s4     	+[ef#(S8M#NZ r+   r&   )i3  NN)r   r   r   r   r3   r   r   r   s   @r(   r   r      s    O O Or+   r   c                  V    ] tR t^t$ R]R&   RR R lltR R ltR R	 ltR
 R ltRt	R# )StreamingResponseAsyncContentStreambody_iteratorNc               0    V ^8  d   QhRRRRRRRRR	R
RR/# )r   r   ContentStreamr   r   r   r   r    r!   r"   r#   r$   r%   r&   )r'   s   "r(   r)   StreamingResponse.__annotate__   sF     # ## # 1	#
 # *# 
#r+   c                	    \        V\        P                  4      '       d   Wn        M\	        V4      V n        W n        Vf   V P                  MTV n        WPn        V P                  V4       R # r-   )	r7   typingAsyncIterabler   r   r   r    r"   r0   r1   s   &&&&&&r(   r3   StreamingResponse.__init__   sU     gv3344!(!6w!?D&-7-?$//Z$'"r+   c                    V ^8  d   QhRRRR/# )r   r}   r   r$   r%   r&   )r'   s   "r(   r)   r      s      7 t r+   c                	R   "    V! 4       G Rj  xL
 pVR,          R8X  g   K   R#  L5i)TNr   zhttp.disconnectr&   )r2   r}   messages   && r(   listen_for_disconnect'StreamingResponse.listen_for_disconnect   s&     #IoGv"33 &s   '%''c                    V ^8  d   QhRRRR/# )r   r~   r   r$   r%   r&   )r'   s   "r(   r)   r      s     T T$ T4 Tr+   c           	     	h  "   V! R RRV P                   RV P                  /4      G Rj  xL
  V P                    Rj  xL
  p\        V\        \
        34      '       g   VP                  V P                  4      pV! R RRVRR/4      G Rj  xL
  KY   Li LV L
DYT! R RRR	RR
/4      G Rj  xL 
  R# 5i)r   r   r   r   Nr   r/   	more_bodyTr+   F)r   rI   r   r7   r8   r9   r:   r;   )r2   r~   chunks   && r(   stream_response!StreamingResponse.stream_response   s     -$**4++
 	
 	
  -- 	Y 	Y%eeZ%899T\\2 4fe[RVWXXX	
	Y Y .
 F0&#{ERSSSsO   &B2BB2BBBA
B2BB2BB2B2*B-+B2c               (    V ^8  d   QhRRRRRRRR/# r{   r&   )r'   s   "r(   r)   r      s(     $ $E $G $4 $D $r+   c           	     	  a"   \         P                  ! 4       ;_uu_4       GR j  xL
 oR V3R llpSP                  V\        V P                  V4      4       V! \        V P
                  V4      4      G R j  xL
  R R R 4      GR j  xL
  V P                  e   V P                  4       G R j  xL
  R # R #  L L@ L2  + GR j  xL 
 '       g   i     LI; i L*5i)Nc                    V ^8  d   QhRRRR/# )r   funcz+typing.Callable[[], typing.Awaitable[None]]r$   r%   r&   )r'   s   "r(   r)   0StreamingResponse.__call__.<locals>.__annotate__   s     1 1!L 1QU 1r+   c                f   <"   V ! 4       G R j  xL
  SP                   P                  4        R #  L 5ir-   )cancel_scopecancel)r   
task_groups   &r(   wrap(StreamingResponse.__call__.<locals>.wrap   s&     f''..0 s   1/!1)anyiocreate_task_group
start_soonr   r   r   r"   )r2   r|   r}   r~   r   r   s   &&&& @r(   r   StreamingResponse.__call__   s     **,,,
1 1 !!$0D0Dd(KLwt997CDDD -, ??&//### ' - E -,,, $si   "CB7CAB=8B99B==CB;	%C.C/	C9B=;C=C	C
C	C		C)r"   r   r    r   r   )
r   r   r   r   __annotations__r3   r   r   r   r   r&   r+   r(   r   r      s"    %%#"T$ $r+   r   c                  &    ] tR tRtRR R lltRtR# )MalformedRangeHeaderi	  c                    V ^8  d   QhRRRR/# )r   r   rE   r$   r%   r&   )r'   s   "r(   r)   !MalformedRangeHeader.__annotate__
  s       D r+   c                	    Wn         R # r-   r   r<   s   &&r(   r3   MalformedRangeHeader.__init__
  s    r+   r   N)zMalformed range header.r   r   r   r   r3   r   r&   r+   r(   r   r   	  s     r+   r   c                  "    ] tR tRtR R ltRtR# )RangeNotSatisfiablei  c                    V ^8  d   QhRRRR/# )r   max_sizer   r$   r%   r&   )r'   s   "r(   r)    RangeNotSatisfiable.__annotate__  s     ! ! ! !r+   c                	    Wn         R # r-   r   )r2   r   s   &&r(   r3   RangeNotSatisfiable.__init__  s     r+   r   Nr   r&   r+   r(   r   r     s    ! !r+   r   z(\d*)-(\d*)c                      ] tR tRtRtRR R lltR R ltR R ltR	 R
 ltR R lt	R R lt
]R R l4       t]R R l4       tR R ltRtR# )FileResponsei  Nc               @    V ^8  d   QhRRRRRRRRR	R
RRRRRRRRRR/
# )r   r^   zstr | os.PathLike[str]r   r   r   r   r    r!   r"   r#   filenamestat_resultzos.stat_result | Nonemethodcontent_disposition_typerE   r$   r%   r&   )r'   s   "r(   r)   FileResponse.__annotate__  sn     #/ #/$#/ #/ 1	#/
 #/ *#/ #/ +#/ #/ #&#/ 
#/r+   c
                	:   Wn         W n        W`n        Ve   \        P                  ! R\
        4       Vf'   \        T;'       g    T4      ^ ,          ;'       g    RpW@n        WPn        V P                  V4       V P                  P                  RR4       V P                  e\   \        V P                  4      p
WP                  8w  d	   V	 RV
 2pMV	 RV P                   R2pV P                  P                  RV4       Wpn        Ve   V P                  V4       R # R # )	Nz;The 'method' parameter is not used, and it will be removed.r   zaccept-rangesr8   z; filename*=utf-8''z; filename=""zcontent-disposition)r^   r   r   warningswarnDeprecationWarningr   r    r"   r0   r   
setdefaultr
   r   set_stat_headers)r2   r^   r   r   r    r"   r   r   r   r   content_disposition_filenamecontent_dispositions   &&&&&&&&&&  r(   r3   FileResponse.__init__  s    	& MMM" #H$4$45a8HHLJ$$'"9==$+0+?(+}}<)A(BBUVrUs&t#)A(B,t}}o]^&_#LL##$9;NO&"!!+. #r+   c                    V ^8  d   QhRRRR/# )r   r   os.stat_resultr$   r%   r&   )r'   s   "r(   r)   r   >  s     . .N .t .r+   c                	   \        VP                  4      p\        VP                  R R7      p\        VP                  4      R,           \        VP                  4      ,           pR\	        VP                  4       RR7       R2pV P                  P                  RV4       V P                  P                  RV4       V P                  P                  RV4       R	# )
Trf   -r   Fusedforsecuritycontent-lengthzlast-modifiedetagN)rE   st_sizer   st_mtimer   r:   r   r   )r2   r   rP   last_modified	etag_baser  s   &&    r(   r   FileResponse.set_stat_headers>  s    [001";#7#7E,,-3c+:M:M6NN	=!1!1!3UKLAN 0.A?-r+   c               (    V ^8  d   QhRRRRRRRR/# r{   r&   )r'   s   "r(   r)   r   H  s(     %$ %$E %$G %$4 %$D %$r+   c                	(  "   VR ,          P                  4       R8H  pV P                  f    \        P                  P	                  \
        P                  V P                  4      G Rj  xL
 pV P                  V4       VP                  p\        P                  ! V4      '       g   \        RV P                   R24      hMV P                  p\        VR7      pVP                  R4      pVP                  R4      p	Ve   V	e2   V P                  W4      '       g   V P!                  W44      G Rj  xL
  M V P#                  WP$                  4      p
\1        T
4      ^8X  d2   T
^ ,          w  rT P3                  Y=YP$                  T4      G Rj  xL
  M%T P5                  Y:TP$                  T4      G Rj  xL
  V P6                  e   V P7                  4       G Rj  xL
  R# R#  ELw  \         d    \        RT P                   R24      hi ; i L  \&         d2   p\)        TP*                  R	R
7      ! YT4      G Rj  xL 
 u Rp?# Rp?i\,         d9   p\)        RRRTP.                   2/R7      pT! YT4      G Rj  xL 
 u Rp?# Rp?ii ; i EL L L5i)r   HEADNzFile at path z is not a file.z does not exist.)r|   rangezif-rangei  )r   i  zContent-Rangez*/)r   r   )upperr   r   	to_threadrun_syncosstatr^   r   st_modeS_ISREGRuntimeErrorFileNotFoundErrorr   get_should_use_range_handle_simple_parse_range_headerr  r   r   r   r   r   rF   _handle_single_range_handle_multiple_rangesr"   )r2   r|   r}   r~   send_header_onlyr   moder   
http_rangehttp_if_rangerangesexcresponsestartends   &&&&           r(   r   FileResponse.__call__H  s>    !&x!6!6!8F!B#S$)OO$<$<RWWdii$PP%%k2 #**||D))&tyyk'QRR * **K&[[)
J/-";DDZDZ[hDvDv%%d===<11*>Q>QR 6{a#AY
//SBUBUWghhh224ATATVfggg??&//### 'A Q$ P"]499+=M#NOOP > ( c.s{{LU]abbbb& <,Z\]`]i]i\jXkFlm%ed;;;;< ig $s   )J;G! 'G(G! =B/J,H	-J3H ;J	J
%J/J0%JJJG! !%HJJ!I7H:8I<J=JJJ(J8I;9J=J>JJJJJc               $    V ^8  d   QhRRRRRR/# )r   r~   r   r  ra   r$   r%   r&   )r'   s   "r(   r)   r   o  s&     
f 
f 
f 
f$ 
fr+   c           
     	H  "   V! R RRV P                   RV P                  /4      G Rj  xL
  V'       d   V! R RRRRR	/4      G Rj  xL
  R# \        P                  ! V P                  R
R7      G Rj  xL
 ;_uu_4       GRj  xL
 pRpV'       dT   VP                  V P                  4      G Rj  xL
 p\        V4      V P                  8H  pV! R RRVRV/4      G Rj  xL
  K[  RRR4      GRj  xL
  R#  L L L Ly LN L" L  + GRj  xL 
 '       g   i     R# ; i5i)r   r   r   r   Nr   r/   r+   r   Frbr  T)r   rI   r   	open_filer^   read
chunk_sizerF   )r2   r~   r  filer   r   s   &&&   r(   r  FileResponse._handle_simpleo  s     F18T=M=MyZ^ZjZjklll 4fc;PUVWWW"__TYYTBBBBBd 	"&))DOO"<<E #E
doo =I(<fe[Zcdeee CBB	 	mWB =e CBBBs   &D"C7D"D"C9+D"2C;3D"C=D"
DD0C?1-DDD%D"0D1D"9D";D"=D"?DDD"D	D
D	D		D"c               0    V ^8  d   QhRRRRRRRRRRR	R
/# )r   r~   r   r$  r   r%  	file_sizer  ra   r$   r%   r&   )r'   s   "r(   r)   r   {  sD     f ff!$f+.f;>fRVf	fr+   c           
     	B  "   R V RV^,
           RV 2V P                   R&   \        W2,
          4      V P                   R&   V! RRR^RV P                  /4      G R	j  xL
  V'       d   V! RR
RRRR/4      G R	j  xL
  R	# \        P                  ! V P
                  RR7      G R	j  xL
 ;_uu_4       GR	j  xL
 pVP                  V4      G R	j  xL
  RpV'       d   VP                  \        V P                  W2,
          4      4      G R	j  xL
 pV\        V4      ,          p\        V4      V P                  8H  ;'       d    W#8  pV! RR
RVRV/4      G R	j  xL
  K  R	R	R	4      GR	j  xL
  R	#  EL L L L L Lo L% L  + GR	j  xL 
 '       g   i     R	# ; i5i)zbytes r   r   content-ranger  r   r   r   r   Nr   r/   r+   r   Fr)  r*  T)r   rE   rI   r   r+  r^   seekr,  minr-  rF   )	r2   r~   r$  r%  r1  r  r.  r   r   s	   &&&&&&   r(   r  !FileResponse._handle_single_range{  sY     +1qq	9+(N_%),S[)9%&F18S)TM]M]^___ 4fc;PUVWWW"__TYYTBBBBBdii&&& 	"&))C,M"NNESZ'E #E
doo = M M%+I(<fe[Zcdeee CBB	 	`WB& O f CBBBs   AFE1F(F9E4:+F%E6&F6E87F:FE:F.FE<4FFE>FF*F +F4F6F8F:F<F>F FF	F	
F	F		Fc          
     ,    V ^8  d   QhRRRRRRRRR	R
/# )r   r~   r   r!  list[tuple[int, int]]r1  r   r  ra   r$   r%   r&   )r'   s   "r(   r)   r     s<     ! !! &! 	!
 ! 
!r+   c                	
  "   \        ^4      pV P                  W%W0P                  R,          4      w  rgRV 2V P                  R&   \        V4      V P                  R&   V! RRR^RV P                  /4      G R	j  xL
  V'       d   V! RR
RRRR/4      G R	j  xL
  R	# \
        P                  ! V P                  RR7      G R	j  xL
 ;_uu_4       GR	j  xL
 pV F  w  rV! RR
RV! W4      RR/4      G R	j  xL
  VP                  V	4      G R	j  xL
  W8  d^   VP                  \        V P                  W,
          4      4      G R	j  xL
 pV	\        V4      ,          p	V! RR
RVRR/4      G R	j  xL
  Kc  V! RR
RRRR/4      G R	j  xL
  K  	  V! RR
RRV R2P                  R4      RR/4      G R	j  xL
  R	R	R	4      GR	j  xL
  R	#  ELT EL9 EL EL L L L Lm LW L, L  + GR	j  xL 
 '       g   i     R	# ; i5i)   zcontent-typezmultipart/byteranges; boundary=r3  r  r   r   r   r   Nr   r/   r+   r   Fr)  r*  T   
z
--z--
r@   )r	   generate_multipartr   rE   rI   r   r+  r^   r4  r,  r5  r-  rF   r:   )r2   r~   r!  r1  r  boundaryrP   header_generatorr.  r$  r%  r   s   &&&&&       r(   r  $FileResponse._handle_multiple_ranges  s     R=+/+B+Bin)E,
( +J((T_%),^)<%&F18S)TM]M]^___ 4fc;PUVWWW"__TYYTBBBBBd"(JE(<fFVW\Fbdoquvwww))E***+&*iiDOOS[0Q&R RU+"F,@&%Q\^b#cddd(<fe[Z^_``` #)  4$xj 5 < <Y G#U   CBB	 	`WBw* Rd` CBBBs   A6H8G9HHG+HGHGHG&6G
7G&G
8G&G
	'G&0G
1G&G 
	,G&5G"6G&:HG$HHHHG&G&G&G& G&"G&$H&H 	,G/-
H 	8H 	:	Hc               $    V ^8  d   QhRRRRRR/# )r   r   rE   r   r   r$   ra   r&   )r'   s   "r(   r)   r     s'     g gc g gSW gr+   c                	    \        VP                  4      R ,           \        VP                  4      ,           pR\        VP	                  4       RR7       R2pV\        VP                  RR7      8H  ;'       g    W8H  # )r   r   Fr  Trf   )rE   r  r  r   r:   r   )clsr   r   r  r  s   &&&  r(   r  FileResponse._should_use_range  sj    ,,-3c+:M:M6NN	=!1!1!3UKLAN
;+?+? MMffQ^Qffr+   c               $    V ^8  d   QhRRRRRR/# )r   r  rE   r1  r   r$   r8  r&   )r'   s   "r(   r)   r     s"     1 1 1 1@U 1r+   c                	  a . p V P                  R ^4      w  r4TP                  4       P	                  4       pTR8w  d   \        R4      h\
        P                  T4       Uu. uF  pTR	8w  g   K  T^ ,          '       d   \        T^ ,          4      MS\        T^,          4      ,
          T^ ,          '       d@   T^,          '       d1   \        T^,          4      S8  d   \        T^,          4      ^,           MS3NK  	  pp\        T4      ^ 8X  d   \        R4      h\        ;QJ d    T3R lT 4       F  '       g   K   RM	  RM! T3R lT 4       4      '       d   \        S4      h\        ;QJ d    R T 4       F  '       g   K   RM	  RM! R T 4       4      '       d   \        R4      h\        T4      ^8X  d   T# . pT Fy  w  rx\        \        T4      4       FJ  p	Yi,          w  rY{8  d   K  Y8  d   TP                  YT34        KJ  \        Yz4      \        Y4      3Yi&    Ke  	  TP                  Yx34       K{  	  T#   \         d    \        4       hi ; iu upi )
=r8   zOnly support bytes rangez%Range header: range must be requestedc              3  ^   <"   T F"  w  r^ Tu;8*  ;'       d    S8  Mu '       * x  K$  	  R# 5i)r   Nr&   ).0r$  _r1  s   &  r(   	<genexpr>3FileResponse._parse_range_header.<locals>.<genexpr>  s&     CFA***++Fs   *-TFc              3  .   "   T F  w  rW8  x  K  	  R # 5ir-   r&   )rH  r$  r%  s   &  r(   rJ  rK    s     4Vzuu{Vs   z)Range header: start must be less than end)rh   rh   )split
ValueErrorr   rq   rC   _RANGE_PATTERNfindallr   rF   anyr   r  insertr5  maxrG   )r  r1  r!  unitsrange_rI  resultr$  r%  pp_startp_ends   &f          r(   r   FileResponse._parse_range_header  s   (*	)&,,S!4ME ##%G&'ABB $++F3

 4H}qTTAaD	y3qt9'<!"1!A$$3qt9y3HAaD	Ai 4 	 
 v;!&'NOO3CFC333CFCCC%i0034V43334V444&'RSSv;!M )+ JE3v;'!'=]MM!S\2!$U!4c#o FFI ( ul+ ! [  	)&((	)
s)   H>  	I.I=8I6I7I>Ic          
     ,    V ^8  d   QhRRRRRRRRRR	/# )
r   r!  z typing.Sequence[tuple[int, int]]r=  rE   r   r   rQ   r$   z.tuple[int, typing.Callable[[int, int], bytes]]r&   )r'   s   "r(   r)   r     s<     )
 )
0)
 )
 	)

 )
 
8)
r+   c                   aaaa \        S4      p^,V,           \        S4      ,           \        \        S4      4      ,           o\        V3R lV 4       4      ^V,           ,           pVVVV3R l3# )aE  
Multipart response headers generator.

```
--{boundary}\n
Content-Type: {content_type}\n
Content-Range: bytes {start}-{end-1}/{max_size}\n
\n
..........content...........\n
--{boundary}\n
Content-Type: {content_type}\n
Content-Range: bytes {start}-{end-1}/{max_size}\n
\n
..........content...........\n
--{boundary}--\n
```
c              3     <"   T FO  w  r\        \        V4      4      \        \        V^,
          4      4      ,           S,           W!,
          ,           x  KQ  	  R# 5i)   N)rF   rE   )rH  r$  r%  static_header_part_lens   &  r(   rJ  2FileResponse.generate_multipart.<locals>.<genexpr>  sK      
 %
 U_s3sQw<003II{ $s   AAc                T   < R S RS RV  RV^,
           RS R2P                  R4      # )z--z
Content-Type: z
Content-Range: bytes r   r   z

r@   )r:   )r$  r%  r=  rQ   r   s   &&r(   <lambda>1FileResponse.generate_multipart.<locals>.<lambda>  sJ    XJ !!- /((-waAwaz B fY  r+   )rF   rE   sum)r2   r!  r=  r   rQ   boundary_lenrP   r_  s   &&fff  @r(   r<  FileResponse.generate_multipart  sn    0 8}!#l!2S5F!FSQY]I[![ 
 %
 

 
  
 	
r+   )r"   r   r    r^   r   r   i   )r   NNNNNN
attachment)r   r   r   r   r-  r3   r   r   r  r  r  classmethodr  staticmethodr  r<  r   r&   r+   r(   r   r     s_    J#/J.%$N
ff$!F g g
 1 1f)
 )
r+   r   )<
__future__r   http.cookiesrm   r   r  rer  r   r   r   email.utilsr   r   	functoolsr   	mimetypesr   secretsr	   urllib.parser
   r   anyio.to_threadstarlette._compatr   starlette.backgroundr   starlette.concurrencyr   starlette.datastructuresr   r   r   starlette.typesr   r   r   r   r   r   r   r   UnionrE   r8   r9   ContentIterableSyncContentStreamr   r   r   r   	Exceptionr   r   compilerO  r   r&   r+   r(   <module>r~     s   "   	 	     3        + / 7 A A 0 0C$ C$L8  8 .	Ox 	O ,,sE:-
.OOG, ))'2 /1BBC4$ 4$n9 
!) !
 N+}
8 }
r+   