+
    Ni%                         ^ RI t ^ RIt^ RIt^ RIHt ^ RIHtHt ^ RIH	t	 ]	'       d-   ^ RIH
t
 ^ RIHt ^ RIHt ^ RIHt ^ R	IHt ^ R
IHt ^ RIHtHt R R lt ! R R4      t ! R R4      t ! R R4      tR# )    N)Session)
json_dumpscapture_internal_exceptions)TYPE_CHECKING)Any)Optional)Union)Dict)List)Iterator)EventEventDataCategoryc                     V ^8  d   QhRRRR/# )   datazUnion[bytes, str]returnr    )formats   ":/tmp/pip-target-e6j6ikcs/lib/python/sentry_sdk/envelope.py__annotate__r      s      ( U     c                 ~    \        V \        4      '       d   V P                  R R4      p \        P                  ! V 4      # )utf-8replace)
isinstancebytesdecodejsonloads)r   s   &r   
parse_jsonr       s.    ${{7I.::dr   c                     a  ] tR t^t o RtR(V 3R lR llt]V 3R lR l4       tV 3R lR ltV 3R	 lR
 lt	V 3R lR lt
V 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR  lt]V 3R! lR" l4       t]V 3R# lR$ l4       tV 3R% lR& ltR'tV tR# ))Envelopea  
Represents a Sentry Envelope. The calling code is responsible for adhering to the constraints
documented in the Sentry docs: https://develop.sentry.dev/sdk/envelopes/#data-model. In particular,
each envelope may have at most one Item with type "event" or "transaction" (but not both).
Nc                &   < V ^8  d   QhRRRRRR/# )r   headersOptional[Dict[str, Any]]itemszOptional[List[Item]]r   Nr   )r   __classdict__s   "r   r   Envelope.__annotate__#   s)      + & 
	r   c                v    Ve   \        V4      pT;'       g    / V n        Vf   . pM\        V4      pW n        R # N)dictr$   listr&   )selfr$   r&   s   &&&r   __init__Envelope.__init__#   s8    
 7mG}}"=EKE
r   c                    < V ^8  d   QhRS[ /# r   r   str)r   r'   s   "r   r   r(   2   s     
 
S 
r   c                ~    R \        V P                  4      : RRP                  R V P                   4       4      : R2# )zenvelope with z items (z, c              3   8   "   T F  qP                   x  K  	  R # 5ir*   )data_category).0xs   & r   	<genexpr>'Envelope.description.<locals>.<genexpr>5   s     :z!oozs   ))lenr&   joinr-   s   &r   descriptionEnvelope.description1   s/     

OII:tzz::
 	
r   c                "   < V ^8  d   QhRRRR/# )r   eventr   r   Nr   )r   r'   s   "r   r   r(   8   s#     J JJ 
Jr   c                R    V P                  \        \        VR 7      RR7      4       R# )r   rB   payloadtypeNadd_itemItem
PayloadRef)r-   rB   s   &&r   	add_eventEnvelope.add_event8   s     	d:5#9HIr   c                "   < V ^8  d   QhRRRR/# )r   transactionr   r   Nr   )r   r'   s   "r   r   r(   >   s#     V VV 
Vr   c                R    V P                  \        \        VR 7      RR7      4       R# )rD   rO   rE   NrH   )r-   rO   s   &&r   add_transactionEnvelope.add_transaction>   s     	d:;#?mTUr   c                "   < V ^8  d   QhRRRR/# )r   profiler   r   Nr   )r   r'   s   "r   r   r(   D   s#     N NN 
Nr   c                R    V P                  \        \        VR 7      RR7      4       R# )rD   rT   rE   NrH   )r-   rT   s   &&r   add_profileEnvelope.add_profileD   s     	d:7#;)LMr   c                "   < V ^8  d   QhRRRR/# )r   profile_chunkr   r   Nr   )r   r'   s   "r   r   r(   J   s     

 



 


r   c                x    V P                  \        \        VR 7      RRVP                  RR4      /R7      4       R# )rD   rY   platformpython)rF   rG   r$   N)rI   rJ   rK   get)r-   rY   s   &&r   add_profile_chunkEnvelope.add_profile_chunkJ   s8     	"6$#]%6%6z8%LM	
r   c                "   < V ^8  d   QhRRRR/# )r   checkinr   r   Nr   )r   r'   s   "r   r   r(   V   s#     O OO 
Or   c                R    V P                  \        \        VR 7      RR7      4       R# )rD   check_inrE   NrH   )r-   ra   s   &&r   add_checkinEnvelope.add_checkinV   s     	d:7#;*MNr   c                "   < V ^8  d   QhRRRR/# )r   sessionzUnion[Session, Any]r   Nr   )r   r'   s   "r   r   r(   \   s#     N N&N 
Nr   c                    \        V\        4      '       d   VP                  4       pV P                  \	        \        VR 7      RR7      4       R# )rD   rg   rE   N)r   r   to_jsonrI   rJ   rK   )r-   rg   s   &&r   add_sessionEnvelope.add_session\   s5     gw''oo'Gd:7#;)LMr   c                "   < V ^8  d   QhRRRR/# )r   sessionsr   r   Nr   )r   r'   s   "r   r   r(   d   s#     P PP 
Pr   c                R    V P                  \        \        VR 7      RR7      4       R# )rD   rm   rE   NrH   )r-   rm   s   &&r   add_sessionsEnvelope.add_sessionsd   s     	d:8#<:NOr   c                "   < V ^8  d   QhRRRR/# )r   itemrJ   r   Nr   )r   r'   s   "r   r   r(   j   s          
 r   c                <    V P                   P                  V4       R # r*   )r&   append)r-   rr   s   &&r   rI   Envelope.add_itemj   s     	

$r   c                   < V ^8  d   QhRR/# r   r   zOptional[Event]r   )r   r'   s   "r   r   r(   p   s      , r   c                \    V P                    F  pVP                  4       pVf   K  Vu # 	  R # r*   )r&   	get_event)r-   r&   rB   s   &  r   ry   Envelope.get_eventp   s,    ZZEOO%E    r   c                   < V ^8  d   QhRR/# rw   r   )r   r'   s   "r   r   r(   w   s      '8 r   c                \    V P                    F  pVP                  4       pVf   K  Vu # 	  R # r*   )r&   get_transaction_event)r-   rr   rB   s   &  r   r}   Envelope.get_transaction_eventw   s.    JJD..0E   r   c                   < V ^8  d   QhRR/# )r   r   zIterator[Item]r   )r   r'   s   "r   r   r(   ~   s        *  r   c                ,    \        V P                  4      # r*   )iterr&   r>   s   &r   __iter__Envelope.__iter__~   s    DJJr   c                "   < V ^8  d   QhRRRR/# r   fr   r   Nr   )r   r'   s   "r   r   r(      s     # ## 
#r   c                    VP                  \        V P                  4      4       VP                  R 4       V P                   F  pVP	                  V4       K  	  R# )   
N)writer   r$   r&   serialize_into)r-   r   rr   s   && r   r   Envelope.serialize_into   s@     	

4<<()	JJD" r   c                    < V ^8  d   QhRS[ /# r1   r   )r   r'   s   "r   r   r(            5 r   c                n    \         P                  ! 4       pV P                  V4       VP                  4       # r*   ioBytesIOr   getvaluer-   outs   & r   	serializeEnvelope.serialize   '    jjlC ||~r   c                "   < V ^8  d   QhRRRR/# )r   r   r   r   r"   r   )r   r'   s   "r   r   r(      s     1 11 
1r   c                    \        VP                  4       4      p. p \        P                  V4      pVf   MVP	                  V4       K.  V ! W#R7      # )   r$   r&   )r    readlinerJ   deserialize_fromrt   )clsr   r$   r&   rr   s   &&   r   r   Envelope.deserialize_from   sK    
 QZZ\*((+D|LL700r   c                $   < V ^8  d   QhRS[ RR/# )r   r   r   r"   r   )r   r'   s   "r   r   r(      s     7 77 
7r   c                L    V P                  \        P                  ! V4      4      # r*   r   r   r   r   r   s   &&r   deserializeEnvelope.deserialize       
 ##BJJu$566r   c                    < V ^8  d   QhRS[ /# r1   r2   )r   r'   s   "r   r   r(      s     M M# Mr   c                @    R V P                   : RV P                  : R2# )z<Envelope headers=z items=>r   r>   s   &r   __repr__Envelope.__repr__   s    37<<LLr   r   )NN)__name__
__module____qualname____firstlineno____doc__r.   propertyr?   rL   rQ   rV   r^   rd   rj   ro   rI   ry   r}   r   r   r   classmethodr   r   r   __static_attributes____classdictcell__r'   s   @r   r"   r"      s       
 
J JV VN N

 

O ON NP P        # # 
 1 1 7 7M Mr   r"   c                   v   a  ] tR t^t o RV 3R lR lltV 3R lR lt]V 3R lR l4       tV 3R lR	 ltR
t	V t
R# )rK   Nc                *   < V ^8  d   QhRRRRRRRR/# )	r   r   zOptional[bytes]pathzOptional[Union[bytes, str]]r   zOptional[Any]r   Nr   )r   r'   s   "r   r   PayloadRef.__annotate__   s3        , 	
 
r   c                *    W0n         Wn        W n        R # r*   )r   r   r   )r-   r   r   r   s   &&&&r   r.   PayloadRef.__init__   s     	
	r   c                    < V ^8  d   QhRS[ /# r1   r   )r   r'   s   "r   r   r      s     ! !5 !r   c           	        V P                   f   V P                  eY   \        4       ;_uu_ 4        \        V P                  R4      ;_uu_ 4       pVP	                  4       V n         R R R 4       R R R 4       M(V P
                  e   \        V P
                  4      V n         V P                   ;'       g    R#   + '       g   i     LW; i  + '       g   i     L9; i)Nrbr   )r   r   r   openreadr   r   )r-   r   s   & r   	get_bytesPayloadRef.get_bytes   s    ::yy$022dii..!%&VVX
 / 32 &'		2
zz  S 	 /. 32s#   CB3	$C3C>CC	c                    < V ^8  d   QhRS[ /# r1   r2   )r   r'   s   "r   r   r      s     
* 
*s 
*r   c                    V P                   e   R# V P                  e\   V P                  p\        V\        4      '       d   VP	                  RR4      p\
        P                  ! V4      ^ ,          pV'       d   V# R# )Nzapplication/jsonr   r   zapplication/octet-stream)r   r   r   r   r   	mimetypes
guess_type)r-   r   tys   &  r   inferred_content_type PayloadRef.inferred_content_type   s_    99 %YY"99D$&&{{7I6%%d+A.B	)r   c                    < V ^8  d   QhRS[ /# r1   r2   )r   r'   s   "r   r   r      s     > ># >r   c                $    R V P                   : R2# )z	<Payload r   )r   r>   s   &r   r   PayloadRef.__repr__   s    !%!;!;==r   )r   r   r   )NNN)r   r   r   r   r.   r   r   r   r   r   r   r   s   @r   rK   rK      s7      ! ! 
* 
*> >r   rK   c                     a  ] tR t^t o RV 3R lR lltV 3R lR lt]V 3R lR l4       t]V 3R lR	 l4       tV 3R
 lR lt	V 3R lR lt
V 3R lR ltV 3R lR ltV 3R lR lt]V 3R lR l4       t]V 3R lR l4       tRtV tR# )rJ   Nc          
      .   < V ^8  d   QhRRRRRRRRRR/# )	r   rF   zUnion[bytes, str, PayloadRef]r$   r%   rG   Optional[str]content_typefilenamer   )r   r'   s   "r   r   Item.__annotate__   s=      0 , 	
 & "r   c                V   Ve   \        V4      pMVf   / pW n        \        V\        4      '       d   \	        VR7      pM4\        V\
        4      '       d   \	        VP                  R4      R7      pMTpVe   WRR&   Ve   W2R&   Ve   WBR&   MRV9  d   VP                  VR&   Wn        R # )Nr   r   r   rG   r   )	r+   r$   r   r   rK   r3   encoder   rF   )r-   rF   r$   rG   r   r   s   &&&&&&r   r.   Item.__init__   s     7mG_Ggu%% w/G%% w~~g'>?GG"*J"FO#&2N#7*&-&C&CGN#r   c                    < V ^8  d   QhRS[ /# r1   r2   )r   r'   s   "r   r   r      s     
 
# 
r   c                \    R V P                   : RV P                  : RV P                  : R2# )z<Item headers=z	 payload=z data_category=r   )r$   rF   r6   r>   s   &r   r   Item.__repr__   s#    LLLL
 	
r   c                   < V ^8  d   QhRR/# )r   r   r   r   )r   r'   s   "r   r   r      s     ( (o (r   c                8    V P                   P                  R 4      # )rG   r$   r]   r>   s   &r   rG   	Item.type   s    ||''r   c                   < V ^8  d   QhRR/# )r   r   r   r   )r   r'   s   "r   r   r      s      2 r   c                    V P                   P                  R 4      pVR8X  g   VR8X  d   R# VR8X  d   R# VR8X  d   R# VR8X  d   R# VR8X  d   R# VR	8X  d   R	# VR
8X  d   R# VR8X  d   R# VR8X  d   R# VR8X  d   R# R# )rG   rg   rm   
attachmentrO   rB   errorloglog_itemtrace_metricclient_reportinternalrT   rY   rc   monitordefaultr   )r-   r   s   & r   r6   Item.data_category   s    \\f%?bJ.<=  7]5[>!!?"9_?"":r   c                    < V ^8  d   QhRS[ /# r1   r   )r   r'   s   "r   r   r     s     ( (5 (r   c                6    V P                   P                  4       # r*   )rF   r   r>   s   &r   r   Item.get_bytes  s    ||%%''r   c                   < V ^8  d   QhRR/# rw   r   )r   r'   s   "r   r   r     s      , r   c                    V P                   R8X  d/   V P                  P                  e   V P                  P                  # R# )z)
Returns an error event if there is one.
rB   NrG   rF   r   r>   s   &r   ry   Item.get_event  s2     99DLL$5$5$A<<$$$r   c                   < V ^8  d   QhRR/# rw   r   )r   r'   s   "r   r   r     s      '8 r   c                    V P                   R 8X  d/   V P                  P                  e   V P                  P                  # R# )rO   Nr   r>   s   &r   r}   Item.get_transaction_event  s0    99%$,,*;*;*G<<$$$r   c                "   < V ^8  d   QhRRRR/# r   r   )r   r'   s   "r   r   r   #  s     
 

 

r   c                   \        V P                  4      pV P                  4       p\        V4      VR &   VP	                  \        V4      4       VP	                  R4       VP	                  V4       VP	                  R4       R# )lengthr   N)r+   r$   r   r<   r   r   )r-   r   r$   r   s   &&  r   r   Item.serialize_into#  s^     t||$ J	
7#$			r   c                    < V ^8  d   QhRS[ /# r1   r   )r   r'   s   "r   r   r   /  r   r   c                n    \         P                  ! 4       pV P                  V4       VP                  4       # r*   r   r   s   & r   r   Item.serialize/  r   r   c                "   < V ^8  d   QhRRRR/# )r   r   r   r   Optional[Item]r   )r   r'   s   "r   r   r   5  s       
r   c                   VP                  4       P                  4       pV'       g   R # \        V4      pVP                  R4      pVe#   VP	                  V4      pVP                  4        MVP                  4       P                  R4      pVP                  R4      R9   d    V ! V\        \        V4      R7      R7      pV# V ! W5R7      pV# )Nr   r   rG   rD   r$   rF   )rB   rO   )r   rstripr    r]   r   rK   )r   r   liner$   r   rF   rvs   &&     r   r   Item.deserialize_from4  s    
 zz|""$T"X&ffVnGJJL jjl))%0G;;v"::Wjj>Q.RSB 	 W6B	r   c                $   < V ^8  d   QhRS[ RR/# )r   r   r   r   r   )r   r'   s   "r   r   r   L  s     7 77 
7r   c                L    V P                  \        P                  ! V4      4      # r*   r   r   s   &&r   r   Item.deserializeK  r   r   r   )NNNN)r   r   r   r   r.   r   r   rG   r6   r   ry   r}   r   r   r   r   r   r   r   r   s   @r   rJ   rJ      s      >
 
 ( (  2( (  

 
 
  , 7 7r   rJ   )r   r   r   sentry_sdk.sessionr   sentry_sdk.utilsr   r   typingr   r   r   r	   r
   r   r   sentry_sdk._typesr   r   r    r"   rK   rJ   r   r   r   <module>r
     sZ    	   & D  :IM IMX#> #>LB7 B7r   