§
    xÅjv=  ã                   ó<  — d dl mZ d dlmZ d dlZd dlmZmZ d dlm	Z	 d dl
mZmZmZ d dlmZ d dlmZ d d	lmZ d d
lmZmZ d dlmZ d dlmZmZmZmZ 	 d dlmZm Z  d dl!m"Z" d dl#m$Z$ d dl%m&Z& d dl'm(Z( d dl)m*Z* n# e+$ r  ed¦  «        ‚w xY wd dl,m-Z- e-r6d dl,m.Z.m/Z/m0Z0 d dl'm1Z1 d dl2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9 d dl2m:Z; d dl<m=Z= d dl>m?Z?m@Z@ dZA G d„ de¦  «        ZB G d„ de¦  «        ZCd-d!„ZDd-d"„ZEd.d%„ZFd-d&„ZGd/d*„ZH eeB¦  «        d+eId'd(d dfd,„¦   «         ZJdS )0é    )ÚSet)ÚdeepcopyN)ÚOPÚSPANDATA)Ú%_apply_key_value_collection_filtering)Ú$_DEFAULT_FAILED_REQUEST_STATUS_CODESÚDidNotEnableÚIntegration)ÚSentryAsgiMiddleware)Úignore_logger)Úshould_send_default_pii)ÚSOURCE_FOR_STYLEÚTransactionSource)Úhas_span_streaming_enabled)Úensure_integration_enabledÚevent_from_exceptionÚhas_data_collection_enabledÚtransaction_from_function)ÚLitestarÚRequest)ÚConnectionDataExtractor)ÚHTTPException)ÚBaseRouteHandler)ÚDefineMiddleware)Ú	HTTPRoutezLitestar is not installed)ÚTYPE_CHECKING)ÚAnyÚOptionalÚUnion)ÚMiddlewareProtocol)ÚHTTPReceiveMessageÚ	HTTPScopeÚMessageÚ
MiddlewareÚReceiveÚSendÚWebSocketReceiveMessage)ÚScope)ÚASGIApp)ÚEventÚHintzgeneric Litestar requestc                   óF   — e Zd ZdZde› �Zef	 	 	 d	d„Zed
d„¦   «         ZdS )ÚLitestarIntegrationÚlitestarz
auto.http.Úfailed_request_status_codesúSet[int]ÚreturnNc                 ó   — || _         d S )N)r/   )Úselfr/   s     úQC:\Projects\Historical\venv\Lib\site-packages\sentry_sdk/integrations/litestar.pyÚ__init__zLitestarIntegration.__init__?   s   € ð ,GˆÔ(Ð(Ð(ó    c                  óx   — t          ¦   «          t          ¦   «          t          ¦   «          t          d¦  «         d S )Nr.   )Úpatch_app_initÚpatch_middlewaresÚpatch_http_route_handler   © r6   r4   Ú
setup_oncezLitestarIntegration.setup_onceE   s<   € åÑÔÐÝÑÔÐÝÑ!Ô!Ð!õ 	�jÑ!Ô!Ð!Ð!Ð!r6   )r/   r0   r1   N©r1   N)	Ú__name__Ú
__module__Ú__qualname__Ú
identifierÚoriginr   r5   Ústaticmethodr<   r;   r6   r4   r-   r-   ;   sx   € € € € € Ø€JØ&˜*Ð&Ð&€Fð 3WðGà%/ðGð 
ðGð Gð Gð Gð ð"ð "ð "ñ „\ð"ð "ð "r6   r-   c                   óJ   ‡ — e Zd Zej        fdddeddfˆ fd„Zdeddfd„Zˆ xZ	S )	ÚSentryLitestarASGIMiddlewareÚappr)   Úspan_originr1   Nc                 óV   •— t          ¦   «                              |ddd|d¬¦  «         d S )NFÚendpointÚasgié   )rF   Úunsafe_context_dataÚtransaction_styleÚmechanism_typerG   Úasgi_version)Úsuperr5   )r3   rF   rG   Ú	__class__s      €r4   r5   z%SentryLitestarASGIMiddleware.__init__W   sB   ø€ õ 	‰Œ×ÒØØ %Ø(Ø!Ø#Øð 	ñ 	
ô 	
ð 	
ð 	
ð 	
r6   Úexcc                 ó   — dS )zÒAvoid catching exceptions from request handlers.

        Those exceptions are already handled in Litestar.after_exception handler.
        We still catch exceptions from application lifespan handlers.
        Nr;   )r3   rR   s     r4   Ú_capture_request_exceptionz7SentryLitestarASGIMiddleware._capture_request_exceptionc   s	   € ð 	ˆr6   )
r>   r?   r@   r-   rB   Ústrr5   Ú	ExceptionrT   Ú__classcell__)rQ   s   @r4   rE   rE   V   s‚   ø€ € € € € à1DÔ1Kð

ð 

Øð

Ø+.ð

à	ð

ð 

ð 

ð 

ð 

ð 

ð¨ið ¸Dð ð ð ð ð ð ð ð r6   rE   r1   c                  óz   ‡— t           j        Št          t          ‰¦  «        d	ˆfd„¦   «         } | t           _        dS )
a\  
    Replaces the Litestar class's `__init__` function in order to inject `after_exception` handlers and set the
    `SentryLitestarASGIMiddleware` as the outmost middleware in the stack.
    See:
    - https://docs.litestar.dev/2/usage/applications.html#after-exception
    - https://docs.litestar.dev/2/usage/middleware/using-middleware.html
    r3   r   Úargsr   Úkwargsr1   Nc                 ó¬   •— t           g|                     d¦  «        pg ¢|d<   |                     d¦  «        pg }t          g|¢|d<    ‰| g|¢R i |¤Ž d S )NÚafter_exceptionÚ
middleware)Úexception_handlerÚgetrE   )r3   rY   rZ   r]   Úold__init__s       €r4   Úinjection_wrapperz)patch_app_init.<locals>.injection_wrapperv   s   ø€ õ ð%
à�jŠjÐ*Ñ+Ô+Ð1¨rð%
ˆÐ Ñ!ð
 —Z’Z Ñ-Ô-Ð3°ˆ
Ý <ÐJ¸zÐJˆˆ|ÑØˆ�DÐ*˜4Ð*Ð*Ð* 6Ð*Ð*Ð*Ð*Ð*r6   )r3   r   rY   r   rZ   r   r1   N)r   r5   r   r-   )ra   r`   s    @r4   r8   r8   l   sR   ø€ õ Ô#€KåÕ 3°[ÑAÔAð+ð +ð +ð +ð +ñ BÔAð+ð *…HÔÐÐr6   c                  óz   ‡— t           j        Št          t          ‰¦  «        dˆfd„¦   «         } | t           _        d S )Nr3   r   r1   úlist[Middleware]c                 ó.   •— d„  ‰| ¦  «        D ¦   «         S )Nc                 ó,   — g | ]}t          |¦  «        ‘ŒS r;   )Úenable_span_for_middleware)Ú.0r]   s     r4   ú
<listcomp>zIpatch_middlewares.<locals>.resolve_middleware_wrapper.<locals>.<listcomp>‰   s0   € ð 
ð 
ð 
àõ ' zÑ2Ô2ð
ð 
ð 
r6   r;   )r3   Úold_resolve_middleware_stacks    €r4   Úresolve_middleware_wrapperz5patch_middlewares.<locals>.resolve_middleware_wrapper‡   s/   ø€ ð
ð 
à:Ð:¸4Ñ@Ô@ð
ñ 
ô 
ð 	
r6   )r3   r   r1   rc   )r   Úresolve_middlewarer   r-   )rj   ri   s    @r4   r9   r9   „   sT   ø€ Ý#3Ô#FÐ åÕ 3Ð5QÑRÔRð
ð 
ð 
ð 
ð 
ñ SÔRð
ð +EÕÔ'Ð'Ð'r6   r]   r$   c                 ó  ‡— t          | d¦  «        r	| t          u r| S t          | t          ¦  «        r| j        j        Šn| j        Š	 	 	 	 	 	 	 	 	 	 dˆfd„}‰j        dv}|r)t          | t          ¦  «        r|| j        _        n|| _        | S )NÚ__call__r3   r    ÚscopeÚLitestarScopeÚreceiver%   Úsendr&   r1   c              “   óÊ  •‡‡‡‡K  — t          j        ¦   «         Š‰                     t          ¦  «        € ‰| |‰‰¦  «        ƒ d {V —†S | j        j        Št          ‰j        ¦  «        �r"t           j         	                    ¦   «         € ‰| |‰‰¦  «        ƒ d {V —†S t           j         
                    ‰t          j        t          j        dœ¬¦  «        5 }|                     t          j        ‰¦  «         	 	 	 	 	 	 dˆˆˆfd„}t#          ‰d	t%          ‰¦  «        ¦  «        }|d
k    }|s|n‰}dˆˆˆfd„}	t#          ‰d	t%          ‰¦  «        ¦  «        }
|
dk    }|s|	n‰} ‰| |||¦  «        ƒ d {V —†cd d d ¦  «         S # 1 swxY w Y   d S t          j
        t          j        ‰t          j        ¬¦  «        5 }|                     d‰¦  «         	 	 	 	 	 	 dˆˆˆfd„}t#          ‰d	t%          ‰¦  «        ¦  «        }|d
k    }|s|n‰}dˆˆˆfd„}	t#          ‰d	t%          ‰¦  «        ¦  «        }
|
dk    }|s|	n‰} ‰| |||¦  «        ƒ d {V —†cd d d ¦  «         S # 1 swxY w Y   d S )N©z	sentry.opzsentry.origin©ÚnameÚ
attributesrY   r   rZ   r1   ú2Union[HTTPReceiveMessage, WebSocketReceiveMessage]c            	   Ÿ   óè  •K  — ‰                      t          ¦  «        € ‰| i |¤Žƒ d {V —†S t          j                             ¦   «         € ‰| i |¤Žƒ d {V —†S t          j                             t          ‰dt          ‰¦  «        ¦  «        t          j	        t          j
        dœ¬¦  «        5 }|                     t          j        ‰¦  «          ‰| i |¤Žƒ d {V —†cd d d ¦  «         S # 1 swxY w Y   d S ©Nr@   rs   rt   )Úget_integrationr-   Ú
sentry_sdkÚtracesÚget_current_spanÚ
start_spanÚgetattrrU   r   ÚMIDDLEWARE_LITESTAR_RECEIVErB   Úset_attributer   ÚMIDDLEWARE_NAME©rY   rZ   ÚspanÚclientÚmiddleware_namerp   s      €€€r4   Ú_sentry_receivezNenable_span_for_middleware.<locals>._create_span_call.<locals>._sentry_receiveµ   sk  øè è € ð ×-Ò-Õ.AÑBÔBÐJØ%, W¨dÐ%=°fÐ%=Ð%=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ý!Ô(×9Ò9Ñ;Ô;ÐCØ%, W¨dÐ%=°fÐ%=Ð%=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ý#Ô*×5Ò5Ý$ W¨n½cÀ'¹l¼lÑKÔKå)+Ô)GÝ-@Ô-Gð$ð $ð 6ñ ô ð >ð Ø×*Ò*­8Ô+CÀ_ÑUÔUÐUØ%, W¨dÐ%=°fÐ%=Ð%=Ð=Ð=Ð=Ð=Ð=Ð=ð>ð >ð >ð >ñ >ô >ð >ð >ð >ð >ð >ð >øøøð >ð >ð >ð >ð >ð >s   Â,.C'Ã'C+Ã.C+r>   r‡   Úmessager#   c           	   “   óú  •K  — ‰                      t          ¦  «        € ‰| ¦  «        ƒ d {V —†S t          j                             ¦   «         € ‰| ¦  «        ƒ d {V —†S t          j                             t          ‰dt          ‰¦  «        ¦  «        t          j	        t          j
        dœ¬¦  «        5 }|                     t          j        ‰¦  «          ‰| ¦  «        ƒ d {V —†cd d d ¦  «         S # 1 swxY w Y   d S ry   )rz   r-   r{   r|   r}   r~   r   rU   r   ÚMIDDLEWARE_LITESTAR_SENDrB   r�   r   r‚   ©rˆ   r„   r…   r†   rq   s     €€€r4   Ú_sentry_sendzKenable_span_for_middleware.<locals>._create_span_call.<locals>._sentry_sendË   sT  øè è € Ø×-Ò-Õ.AÑBÔBÐJØ%) T¨'¡]¤]Ð2Ð2Ð2Ð2Ð2Ð2Ð2Ý!Ô(×9Ò9Ñ;Ô;ÐCØ%) T¨'¡]¤]Ð2Ð2Ð2Ð2Ð2Ð2Ð2Ý#Ô*×5Ò5Ý$ T¨>½3¸t¹9¼9ÑEÔEå)+Ô)DÝ-@Ô-Gð$ð $ð 6ñ ô ð 3ð Ø×*Ò*­8Ô+CÀ_ÑUÔUÐUØ%) T¨'¡]¤]Ð2Ð2Ð2Ð2Ð2Ð2ð3ð 3ð 3ð 3ñ 3ô 3ð 3ð 3ð 3ð 3ð 3ð 3øøøð 3ð 3ð 3ð 3ð 3ð 3s   Â21C0Ã0C4Ã7C4rŒ   ©Úopru   rB   úlitestar.middleware_namec            
   Ÿ   ób  •K  — ‰                      t          ¦  «        € ‰| i |¤Žƒ d {V —†S t          j        t          j        t          ‰dt          ‰¦  «        ¦  «        t          j        ¬¦  «        5 }| 	                    d‰¦  «          ‰| i |¤Žƒ d {V —†cd d d ¦  «         S # 1 swxY w Y   d S ©Nr@   r�   r�   )
rz   r-   r{   r~   r   r€   r   rU   rB   Úset_tagrƒ   s      €€€r4   r‡   zNenable_span_for_middleware.<locals>._create_span_call.<locals>._sentry_receiveè   s  øè è € ð ×-Ò-Õ.AÑBÔBÐJØ%, W¨dÐ%=°fÐ%=Ð%=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ý#Ô.ÝÔ9Ý$ W¨n½cÀ'¹l¼lÑKÔKÝ2Ô9ðñ ô ð >ð ØŸšÐ%?ÀÑQÔQÐQØ%, W¨dÐ%=°fÐ%=Ð%=Ð=Ð=Ð=Ð=Ð=Ð=ð>ð >ð >ð >ñ >ô >ð >ð >ð >ð >ð >ð >øøøð >ð >ð >ð >ð >ð >s   Á3$B$Â$B(Â+B(c           
   “   ón  •K  — ‰                      t          ¦  «        € ‰| ¦  «        ƒ d {V —†S t          j        t          j        t          ‰dt          ‰¦  «        ¦  «        t          j        ¬¦  «        5 }| 	                    d‰¦  «          ‰| ¦  «        ƒ d {V —†cd d d ¦  «         S # 1 swxY w Y   d S r‘   )
rz   r-   r{   r~   r   rŠ   r   rU   rB   r’   r‹   s     €€€r4   rŒ   zKenable_span_for_middleware.<locals>._create_span_call.<locals>._sentry_sendú   s  øè è € Ø×-Ò-Õ.AÑBÔBÐJØ%) T¨'¡]¤]Ð2Ð2Ð2Ð2Ð2Ð2Ð2Ý#Ô.ÝÔ6Ý$ T¨>½3¸t¹9¼9ÑEÔEÝ2Ô9ðñ ô ð 3ð ØŸšÐ%?ÀÑQÔQÐQØ%) T¨'¡]¤]Ð2Ð2Ð2Ð2Ð2Ð2ð3ð 3ð 3ð 3ñ 3ô 3ð 3ð 3ð 3ð 3ð 3ð 3øøøð 3ð 3ð 3ð 3ð 3ð 3s   Á6'B*Â*B.Â1B.)rY   r   rZ   r   r1   rw   )rˆ   r#   r1   N)r{   Ú
get_clientrz   r-   rQ   r>   r   Úoptionsr|   r}   r~   r   ÚMIDDLEWARE_LITESTARrB   r�   r   r‚   r   rU   r’   )r3   rn   rp   rq   Úmiddleware_spanr‡   Úreceive_nameÚreceive_patchedÚnew_receiverŒ   Ú	send_nameÚsend_patchedÚnew_sendr…   r†   Úold_calls     ``         @@€r4   Ú_create_span_callz5enable_span_for_middleware.<locals>._create_span_call�   s  øøøøøè è € õ Ô&Ñ(Ô(ˆØ×!Ò!Õ"5Ñ6Ô6Ð>Ø!˜ $¨¨w¸Ñ=Ô=Ð=Ð=Ð=Ð=Ð=Ð=Ð=àœ.Ô1ˆÝ% f¤nÑ5Ô5ñ a	JÝÔ ×1Ò1Ñ3Ô3Ð;Ø%˜X d¨E°7¸DÑAÔAÐAÐAÐAÐAÐAÐAÐAÝÔ"×-Ò-Ø$å!#Ô!7Ý%8Ô%?ðð ð .ñ ô ð 3Jð !Ø×-Ò-­hÔ.FÈÑXÔXÐXð>Ø ð>Ø,1ð>àIð>ð >ð >ð >ð >ð >ð >ð >õ"  ' w°
½CÀ¹L¼LÑIÔI�Ø".Ð2CÒ"C�Ø5DÐQ˜o˜oÈ'�ð3ð 3ð 3ð 3ð 3ð 3ð 3ð 3õ $ D¨*µc¸$±i´iÑ@Ô@�	Ø(¨NÒ:�Ø/;ÐE˜<˜<À�à%˜X d¨E°;ÀÑIÔIÐIÐIÐIÐIÐIÐIðg3Jð 3Jð 3Jð 3Jñ 3Jô 3Jð 3Jð 3Jð 3Jð 3Jð 3Jð 3Jøøøð 3Jð 3Jð 3Jð 3Jð 3Jð 3Jõj Ô&ÝÔ)Ø$Ý*Ô1ðñ ô ð )Jð !Ø×'Ò'Ð(BÀOÑTÔTÐTð>Ø ð>Ø,1ð>àIð>ð >ð >ð >ð >ð >ð >ð >õ  ' w°
½CÀ¹L¼LÑIÔI�Ø".Ð2CÒ"C�Ø5DÐQ˜o˜oÈ'�ð	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3õ $ D¨*µc¸$±i´iÑ@Ô@�	Ø(¨NÒ:�Ø/;ÐE˜<˜<À�à%˜X d¨E°;ÀÑIÔIÐIÐIÐIÐIÐIÐIðS)Jð )Jð )Jð )Jñ )Jô )Jð )Jð )Jð )Jð )Jð )Jð )Jøøøð )Jð )Jð )Jð )Jð )Jð )Js&   ÃBE?Å?FÆFÆ7BIÉIÉI)rŸ   )
r3   r    rn   ro   rp   r%   rq   r&   r1   N)ÚhasattrrE   Ú
isinstancer   r]   rm   r>   )r]   rŸ   Únot_yet_patchedrž   s      @r4   rf   rf   ‘   sù   ø€ å�J 
Ñ+Ô+ðàÕ5Ð5Ð5àÐå�*Õ.Ñ/Ô/ð 'Ø(Ô3Ô<ˆˆàÔ&ˆðlJØ"ðlJàðlJð ðlJð ð	lJð
 
ðlJð lJð lJð lJð lJð lJð\ Ô'Ð/DÐD€Oàð 4Ý�jÕ"2Ñ3Ô3ð 	4Ø->ˆJÔ!Ô*Ð*à"3ˆJÔàÐr6   c                  óX   ‡— t           j        Š	 	 	 	 	 	 	 	 	 	 dˆfd
„} | t           _        d S )Nr3   r   rn   r"   rp   r%   rq   r&   r1   c              “   óB  •‡‡‡‡K  — t          j        ¦   «         Š‰                     t          ¦  «        € ‰| ‰||¦  «        ƒ d {V —†S t          j        ¦   «         }‰d                              ‰||¬¦  «        } t          dd¬¦  «        |¦  «        Š‰                     d¦  «        }|ƒ d {V —†Š‰                     d¦  «        }d }|j	        �|j	        }	n)t          |j        d¦  «        r|j        j        }n|j        }|�t          |¦  «        }	t          d         }
|	st          }	t           j        }
t          j        |	|
¦  «         |                     |	|
¦  «         dˆˆˆˆfd„}t          j        |_        |                     |¦  «          ‰| ‰||¦  «        ƒ d {V —†S )NrF   )rn   rp   rq   T)Ú
parse_bodyÚparse_queryÚbodyÚroute_handlerÚvaluerI   Úeventr*   Ú_r+   r1   c                 óž  •— |                       di ¦  «        }t          ‰                      dd¦  «        ¦  «        |d<   d}t          ‰j        ¦  «        rEt	          ‰d         ‰j        d         d         ¬¦  «        }|r||d<   d	‰j        d         d
         v }nt          ¦   «         r‰d         |d<   ‰�|r‰|d<   t          |¦  «        | d<   | S )NÚrequestÚ_bodyr6   Úcontent_lengthTÚcookiesÚdata_collection)ÚitemsÚ	behaviourÚincoming_requestÚhttp_bodiesÚdata)r_   Úlenr   r•   r   r   r   )	rª   r«   Úrequest_infoÚshould_attach_request_bodyr°   r…   Úextracted_request_dataÚrequest_datarn   s	        €€€€r4   Úevent_processorzHpatch_http_route_handle.<locals>.handle_wrapper.<locals>.event_processorA  s   ø€ Ø Ÿ9š9 Y°Ñ3Ô3ˆLÝ-0°·²¸7ÀCÑ1HÔ1HÑ-IÔ-IˆLÐ)Ñ*Ø)-Ð&å*¨6¬>Ñ:Ô:ð LÝ?Ø0°Ô;Ø$œnÐ->Ô?À	ÔJðñ ô �ð ð 6Ø.5�L Ñ+ð 'Ø”~Ð&7Ô8¸ÔGðHð +Ð*õ )Ñ*Ô*ð LØ*@ÀÔ*K�˜YÑ'àÐ'Ð,FÐ'Ø'3�˜VÑ$å'¨Ñ5Ô5ˆE�)ÑØˆLr6   )rª   r*   r«   r+   r1   r*   )r{   r”   rz   r-   Úget_isolation_scopeÚrequest_classr   Úpopr_   ru   r    Úfnr©   r   r   Ú_DEFAULT_TRANSACTION_NAMEr   ÚROUTEÚset_transaction_namerA   Ú_nameÚadd_event_processor)r3   rn   rp   rq   Úsentry_scoper­   r§   r¨   Úfuncru   Úsourcer¼   r…   rº   r»   Ú
old_handles    `          @@@€r4   Úhandle_wrapperz/patch_http_route_handle.<locals>.handle_wrapper  s  øøøøøè è € õ Ô&Ñ(Ô(ˆØ×!Ò!Õ"5Ñ6Ô6Ð>Ø#˜ D¨%°¸$Ñ?Ô?Ð?Ð?Ð?Ð?Ð?Ð?Ð?å!Ô5Ñ7Ô7ˆØ',¨U¤|×'AÒ'AØ ¨tð (Bñ (
ô (
ˆð"
Õ!8Ø¨ð"
ñ "
ô "
à
ñ"ô "Ðð &×)Ò)¨&Ñ1Ô1ˆà!�z�z�z�z�z�zˆàŸ	š	 /Ñ2Ô2ˆàˆØÔÐ)Ø Ô%ˆDˆDå�]Ô% wÑ/Ô/ð 	$Ø Ô#Ô)ˆDˆDà Ô#ˆDØÐÝ,¨TÑ2Ô2ˆDå! *Ô-ˆàð 	-Ý,ˆDÝ&Ô,ˆFåÔ'¨¨fÑ5Ô5Ð5Ø×)Ò)¨$°Ñ7Ô7Ð7ð	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	õ4 1Ô;ˆÔØ×(Ò(¨Ñ9Ô9Ð9à�Z  e¨W°dÑ;Ô;Ð;Ð;Ð;Ð;Ð;Ð;Ð;r6   )
r3   r   rn   r"   rp   r%   rq   r&   r1   N)r   Úhandle)rÊ   rÉ   s    @r4   r:   r:     sm   ø€ ÝÔ!€JðE<ØðE<Ø"-ðE<Ø8AðE<ØIOðE<à	ðE<ð E<ð E<ð E<ð E<ð E<ðN &…IÔÐÐr6   rn   ro   úOptional[dict[str, Any]]c                 ó¦   — |                       d¦  «        }t          |t          ¦  «        r|S t          |d¦  «        r|                     ¦   «         S d S )NÚuserÚasdict)r_   r¡   Údictr    rÏ   )rn   Ú
scope_users     r4   Úretrieve_user_from_scoperÒ   c  sT   € Ø—’˜6Ñ"Ô"€JÝ�*�dÑ#Ô#ð ØÐÝˆz˜8Ñ$Ô$ð #Ø× Ò Ñ"Ô"Ð"àˆ4r6   rR   c                 óŒ  — d }t          j        ¦   «         j        }t          |¦  «        r|d         d         rt	          |¦  «        }nt          ¦   «         rt	          |¦  «        }|r=t          |t          ¦  «        r(t          j        ¦   «         }| 	                    |¦  «         t          | t          ¦  «        r=t          j        ¦   «                              t          ¦  «        }|�| j        |j        vrd S t          | t          j        ¦   «         j        t          j        ddœ¬¦  «        \  }}t          j        ||¬¦  «         d S )Nr±   Ú	user_infoF)ÚtypeÚhandled)Úclient_optionsÚ	mechanism)Úhint)r{   r”   r•   r   rÒ   r   r¡   rÐ   r½   Úset_userr   rz   r-   Ústatus_coder/   r   rA   Úcapture_event)rR   rn   rÔ   r×   rÆ   Úintegrationrª   rÙ   s           r4   r^   r^   m  s?  € à,0€IÝÔ*Ñ,Ô,Ô4€Nå" >Ñ2Ô2ð 4ØÐ+Ô,¨[Ô9ð 	8Ý0°Ñ7Ô7ˆIøÝ	 Ñ	"Ô	"ð 4Ý,¨UÑ3Ô3ˆ	àð )•Z 	­4Ñ0Ô0ð )Ý!Ô5Ñ7Ô7ˆØ×Ò˜iÑ(Ô(Ð(å�#•}Ñ%Ô%ð Ý Ô+Ñ-Ô-×=Ò=Õ>QÑRÔRˆàÐ#Ø” {Ô'NÐNÐNàˆFå&ØÝ!Ô,Ñ.Ô.Ô6Ý.Ô9ÀeÐLÐLðñ ô �K€Eˆ4õ Ô˜U¨Ð.Ñ.Ô.Ð.Ð.Ð.r6   r=   )r]   r$   r1   r$   )rn   ro   r1   rÌ   )KÚcollections.abcr   Úcopyr   r{   Úsentry_sdk.constsr   r   Úsentry_sdk.data_collectionr   Úsentry_sdk.integrationsr   r	   r
   Úsentry_sdk.integrations.asgir   Úsentry_sdk.integrations.loggingr   Úsentry_sdk.scoper   Úsentry_sdk.tracingr   r   Úsentry_sdk.tracing_utilsr   Úsentry_sdk.utilsr   r   r   r   r.   r   r   Úlitestar.data_extractorsr   Úlitestar.exceptionsr   Úlitestar.handlers.baser   Úlitestar.middlewarer   Úlitestar.routes.httpr   ÚImportErrorÚtypingr   r   r   r   r    Úlitestar.typesr!   r"   r#   r$   r%   r&   r'   r(   ro   Úlitestar.types.asgi_typesr)   Úsentry_sdk._typesr*   r+   rÁ   r-   rE   r8   r9   rf   r:   rÒ   rV   r^   r;   r6   r4   ú<module>ró      sÞ  ðØ Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ø *Ð *Ð *Ð *Ð *Ð *Ð *Ð *Ø LÐ LÐ LÐ LÐ LÐ Lðð ð ð ð ð ð ð ð ð ð
 >Ð =Ð =Ð =Ð =Ð =Ø 9Ð 9Ð 9Ð 9Ð 9Ð 9Ø 4Ð 4Ð 4Ð 4Ð 4Ð 4Ø BÐ BÐ BÐ BÐ BÐ BÐ BÐ BØ ?Ð ?Ð ?Ð ?Ð ?Ð ?ðð ð ð ð ð ð ð ð ð ð ð ð4Ø*Ð*Ð*Ð*Ð*Ð*Ð*Ð*Ø@Ð@Ð@Ð@Ð@Ð@Ø1Ð1Ð1Ð1Ð1Ð1Ø7Ð7Ð7Ð7Ð7Ð7Ø4Ð4Ð4Ð4Ð4Ð4Ø.Ð.Ð.Ð.Ð.Ð.Ð.øØð 4ð 4ð 4Ø
ˆ,Ð2Ñ
3Ô
3Ð3ð4øøøð !Ð  Ð  Ð  Ð  Ð  àð .Ø+Ð+Ð+Ð+Ð+Ð+Ð+Ð+Ð+Ð+à6Ð6Ð6Ð6Ð6Ð6ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ðð ð ð ð ð ð 2Ð1Ð1Ð1Ð1Ð1à-Ð-Ð-Ð-Ð-Ð-Ð-Ð-à6Ð ð"ð "ð "ð "ð "˜+ñ "ô "ð "ð6ð ð ð ð Ð#7ñ ô ð ð,*ð *ð *ð *ð0
Eð 
Eð 
Eð 
EðBð Bð Bð BðJJ&ð J&ð J&ð J&ðZð ð ð ð ÐÐ/Ñ0Ô0ð/˜9ð /¨_ð /Àð /ð /ð /ñ 1Ô0ð/ð /ð /s   Á&A= Á=B