+
    Tj                         ^ RI H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 ^ RIHt ^ RIHt ^ R	IHt ]! R
4      t ! R R]4      t ! R R]	4      t ! R R]P.                  4      tR tR tR tR tR# )    )IOBase)settings)signals)base)HttpRequest	QueryDictparse_cookie)set_script_prefix)repercent_broken_unicode)cached_property)_lazy_re_compiles   /+c                   >   a  ] tR t^t o RtR tRR ltRR ltRtV t	R# )LimitedStreamz
Wrap another stream to disallow reading it past a number of bytes.

Based on the implementation from werkzeug.wsgi.LimitedStream. See:
https://github.com/pallets/werkzeug/blob/dbf78f67/src/werkzeug/wsgi.py#L828
c                d    VP                   V n        VP                  V n        ^ V n        W n        R# )r   N)read_readreadline	_readline_poslimit)selfstreamr   s   &&&N/var/www/idalgo/venv/lib/python3.14/site-packages/django/core/handlers/wsgi.py__init__LimitedStream.__init__   s$    [[
	
    c                   V P                   pV P                  pW#8  d   R # VR8X  g   Vf
   W2,
          pM\        WV,
          4      pV P                  V4      pV ;P                   \	        V4      ,          un         V# r   )r   r   minr   len)r   sizer   r   datas   ""   r   r   LimitedStream.read   sa    yy

=2:<DtT\*Dzz$		SY	r   c                   V P                   pV P                  pW#8  d   R # VR8X  g   Vf
   W2,
          pM\        WV,
          4      pV P                  V4      pV ;P                   \	        V4      ,          un         V# r   )r   r   r    r   r!   )r   r"   r   r   lines   ""   r   r   LimitedStream.readline*   sa    yy

=2:<DtT\*D~~d#		SY	r   )r   r   r   r   N)r   )
__name__
__module____qualname____firstlineno____doc__r   r   r   __static_attributes____classdictcell____classdict__s   @r   r   r      s      r   r   c                   z   a  ] tR t^8t o R tR t]R 4       tR tR t	]R 4       t
]R 4       t]! ]]	4      tRtV tR	# )
WSGIRequestc                    \        V4      p\        V4      ;'       g    R pWn        W0n        VP	                  R 4      : R VP                  R R^4      : 2V n        Wn        W0P                  R&   W P                  R&   VR,          P                  4       V n	        V P                  V4        \        VP                  R4      4      p\        V P                  R,          V4      V n        RV n        RV n        R#   \        \        3 d    ^ p LGi ; i)	/ 	PATH_INFOSCRIPT_NAMEREQUEST_METHODCONTENT_LENGTHz
wsgi.inputFN)get_script_nameget_path_infoenviron	path_inforstripreplacepathMETAuppermethod_set_content_type_paramsintget
ValueError	TypeErrorr   _stream_read_startedresolver_match)r   r<   script_namer=   content_lengths   &&   r   r   WSGIRequest.__init__9   s    %g. "'*11c	"  +11#6	8I8I#rST8UV		!*		+#.		- ./557%%g.	 -=!>?N %T\\,%?P""	 I& 	N	s   +C7 7DDc                8    V P                   P                  R 4      # )zwsgi.url_scheme)r<   rF   r   s   &r   _get_schemeWSGIRequest._get_schemeR   s    || 122r   c                \    \        V P                  R R4      p\        WP                  R7      # )QUERY_STRINGr5   )encoding)get_bytes_from_wsgir<   r   	_encoding)r   raw_query_strings   & r   GETWSGIRequest.GETU   s'     /t||^RP)NNCCr   c                ^    \        V R 4      '       g   V P                  4        V P                  # _post)hasattr_load_post_and_filesr]   rP   s   &r   	_get_postWSGIRequest._get_post[   s%    tW%%%%'zzr   c                    Wn         R # Nr\   )r   posts   &&r   	_set_postWSGIRequest._set_post`   s    
r   c                F    \        V P                  R R4      p\        V4      # )HTTP_COOKIEr5   )get_str_from_wsgir<   r	   )r   
raw_cookies   & r   COOKIESWSGIRequest.COOKIESc   s    &t||]BG
J''r   c                ^    \        V R 4      '       g   V P                  4        V P                  # )_files)r^   r_   rn   rP   s   &r   FILESWSGIRequest.FILESh   s%    tX&&%%'{{r   )	rA   r]   rJ   rI   r<   rC   r@   r=   rK   N)r(   r)   r*   r+   r   rQ   r   rY   r`   re   rk   propertyro   POSTr-   r.   r/   s   @r   r2   r2   8   se     #23 D D

 ( (  
 Iy)Dr   r2   c                   <   a a ] tR t^qt o]tV 3R ltR tRtVt	V ;t
# )WSGIHandlerc                H   < \         SV `  ! V/ VB  V P                  4        R # rc   )superr   load_middleware)r   argskwargs	__class__s   &*,r   r   WSGIHandler.__init__t   s!    $)&)r   c                h   \        \        V4      4       \        P                  P	                  V P
                  VR 7       V P                  V4      pV P                  V4      pV P
                  Vn        RVP                  VP                  3,          p. VP                  4       OR VP                  P                  4        4       OpV! WV4       \        VRR4      eW   VP                  R4      '       d@   VP                   VP"                  n        VR,          ! VP"                  VP$                  4      pV# ))senderr<   z%d %sc              3   F   "   T F  pR VP                  4       3x  K  	  R# 5i)z
Set-CookieN)OutputString).0cs   & r   	<genexpr>'WSGIHandler.__call__.<locals>.<genexpr>   s     R8Q1|Q^^-.8Qs   !file_to_streamNzwsgi.file_wrapper)r
   r:   r   request_startedsendrz   request_classget_response_handler_classstatus_codereason_phraseitemscookiesvaluesgetattrrF   closer   
block_size)r   r<   start_responserequestresponsestatusresponse_headerss   &&&    r   __call__WSGIHandler.__call__x   s   /'23$$DNNG$L$$W-$$W-"&..H00(2H2HII
^^
R8H8H8O8O8QR
 	v08-t4@W[[F
 F
 -5NNH##)23'')<)<H r    )r(   r)   r*   r+   r2   r   r   r   r-   r.   __classcell__)rz   r0   s   @@r   rt   rt   q   s     M r   rt   c                N    \        V RR4      p\        V4      P                  4       # )z0Return the HTTP request's PATH_INFO as a string.r6   r4   )rV   r   decode)r<   r=   s   & r   r;   r;      s$    #G[#>I#I.5577r   c                j   \         P                  e   \         P                  # \        V RR4      ;'       g    \        V RR4      pV'       dL   RV9   d   \        P	                  RV4      p\        V RR4      pVP                  V4      pVP                  4       # \        V RR4      pVP                  4       # )a-  
Return the equivalent of the HTTP request's SCRIPT_NAME environment
variable. If Apache mod_rewrite is used, return what would have been
the script name prior to any rewriting (so it's the script name as seen
from the client's perspective), unless the FORCE_SCRIPT_NAME setting is
set (to anything).

SCRIPT_URLr5   REDIRECT_URLs   //   /r6   r7   )r   FORCE_SCRIPT_NAMErV   _slashes_resubremovesuffixr   )r<   
script_urlr=   rL   s   &   r   r:   r:      s     !!-))) %WlB?  CVDJ J %z:J'bA	 --i8  *'="Er   c                F    V P                  W4      pVP                  R4      # )z\
Get a value from the WSGI environ dictionary as bytes.

key and default should be strings.
z
iso-8859-1)rF   encoder<   keydefaultvalues   &&& r   rV   rV      s#     KK%E <<%%r   c                >    \        WV4      pVP                  RR7      # )z^
Get a value from the WSGI environ dictionary as str.

key and default should be str objects.
r?   )errors)rV   r   r   s   &&& r   ri   ri      s!      g6E<<y<))r   N)ior   django.confr   django.corer   django.core.handlersr   django.httpr   r   r	   django.urlsr
   django.utils.encodingr   django.utils.functionalr   django.utils.regex_helperr   r   r   r2   BaseHandlerrt   r;   r:   rV   ri   r   r   r   <module>r      so        % < < ) : 3 6v&&F &R6*+ 6*r$"" D8 B
&*r   