+
    Ni                         ^ RI t ^ RIHtHt ^ RI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
 R ltR R lt ! R R4      tR# )    N)datetimetimezone)format_timestamp)TYPE_CHECKING)Optional)Union)Any)Dict)SessionStatusc                     V ^8  d   QhRRRR/# )   tsr   return )formats   "9/tmp/pip-target-e6j6ikcs/lib/python/sentry_sdk/session.py__annotate__r      s     / /j /Z /    c                 (    V P                  ^ ^ R7      # )r   )secondmicrosecond)replace)r   s   &r   _minute_truncr      s    ::QA:..r   c                     V ^8  d   QhRRRR/# )r   valzUnion[str, uuid.UUID]r   z	uuid.UUIDr   )r   s   "r   r   r      s      	 r   c                 r    \        V \        P                  4      '       d   V # \        P                  ! V 4      # N)
isinstanceuuidUUID)r   s   &r   
_make_uuidr!      s(     #tyy!!
99S>r   c                      a  ] tR t^t o RV 3R lR llt]V 3R lR l4       tRV 3R lR lltRV 3R lR	 lltRV 3R
 lR llt	V 3R lR lt
RtV tR# )SessionNc                T   < 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RRRS[ RR/# )r   sidOptional[Union[str, uuid.UUID]]didOptional[str]	timestampOptional[datetime]starteddurationOptional[float]statusOptional[SessionStatus]releaseenvironment
user_agent
ip_addresserrorsOptional[int]userOptional[Any]session_moder   N)str)r   __classdict__s   "r   r   Session.__annotate__   s     ,
 ,
.,
 ,
 (	,

 &,
 $,
 *,
 !,
 %,
 $,
 $,
  ,
 ,
 ,
 
,
r   c                P   Vf   \         P                  ! 4       pVf%   \        P                  ! \        P
                  4      pVf   RpW`n        R V n        W@n        R V n	        R V n
        R V n        R V n        R V n        Wn        ^ V n        V P!                  VVVVVVV	V
VVR7
       R # )Nok)
r%   r'   r)   r,   r0   r1   r2   r3   r4   r6   )r   uuid4r   nowr   utcr.   r'   r+   r0   r1   r,   r2   r3   r8   r4   update)selfr%   r'   r)   r+   r,   r.   r0   r1   r2   r3   r4   r6   r8   s   &&&&&&&&&&&&&&r   __init__Session.__init__   s      ;**,C?ll8<<0G>F$((,,0+/+/+/!-#!! 	 	
r   c                   < V ^8  d   QhRR/# )r   r   r   r   )r   r:   s   "r   r   r;   M   s     + +: +r   c                ,    \        V P                  4      # r   )r   r+   )rB   s   &r   truncated_startedSession.truncated_startedL   s    T\\**r   c                N   < 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RRRR/# )r   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r   Nr   )r   r:   s   "r   r   r;   P   s     -! -!.-! -! (	-!
 &-! $-! *-! !-! %-! $-! $-!  -! -! 
-!r   c                   V'       d]   V
f   VP                  R4      p
VfD   VP                  R4      ;'       g+    VP                  R4      ;'       g    VP                  R4      pVe   \        V4      V n        Ve   \        V4      V n        Vf%   \
        P                  ! \        P                  4      pW0n	        Ve   W@n
        Ve   WPn        Ve   Wpn        Ve   Wn        V
e   Wn        V	e   Wn        Ve   Wn        Ve	   W`n        R # R # )Nr3   idemailusername)getr!   r%   r9   r'   r   r?   r   r@   r)   r+   r,   r0   r1   r3   r2   r4   r.   )rB   r%   r'   r)   r+   r,   r.   r0   r1   r2   r3   r4   r6   s   &&&&&&&&&&&&&r   rA   Session.updateP   s      !!XXl3
{hhtnQQ(9QQTXXj=Q?!#DH?3xDH X\\2I""L$M"L"*!(O!(O K K r   c                "   < V ^8  d   QhRRRR/# )r   r.   r/   r   r	   r   )r   r:   s   "r   r   r;      s     ' ')' 
'r   c                d    Vf   V P                   R8X  d   RpVe   V P                  VR7       R # R # )Nr=   exited)r.   )r.   rA   )rB   r.   s   &&r   closeSession.close   s2     >dkkT1FKKvK& r   c                "   < V ^8  d   QhRRRR/# )r   with_user_infozOptional[bool]r   r	   r   )r   r:   s   "r   r   r;      s      ( 
r   c                   / pV P                   e   V P                   VR&   V P                  e   V P                  VR&   V'       d;   V P                  e   V P                  VR&   V P                  e   V P                  VR&   V# )Nr0   r1   r3   r2   )r0   r1   r3   r2   )rB   rV   attrss   && r   get_json_attrsSession.get_json_attrs   su     <<##||E)'#'#3#3E- *&*ool#*&*ool#r   c                   < V ^8  d   QhRR/# )r   r   r	   r   )r   r:   s   "r   r   r;      s       r   c           
        R \        V P                  4      RRR\        V P                  4      R\        V P                  4      RV P
                  /pV P                  '       d   V P                  VR&   V P                  e   V P                  VR&   V P                  e   V P                  VR&   V P                  4       pV'       d   W!R	&   V# )
r%   initTr+   r)   r.   r4   r'   r,   rX   )
r9   r%   r   r+   r)   r.   r4   r'   r,   rY   )rB   rvrX   s   &  r   to_jsonSession.to_json   s    3txx=D'5)$..9dkk 
 ;;;;;BxL88BuI==$!]]BzN##%wK	r   )r'   r,   r1   r4   r3   r0   r8   r%   r+   r.   r)   r2   )NNNNNNNNNNNNapplication)NNNNNNNNNNNNr   )T)__name__
__module____qualname____firstlineno__rC   propertyrG   rA   rS   rY   r_   __static_attributes____classdictcell__)r:   s   @r   r#   r#      sM     ,
 ,
\ + +-! -!^' '   r   r#   )r   r   r   sentry_sdk.utilsr   typingr   r   r   r	   r
   sentry_sdk._typesr   r   r!   r#   r   r   r   <module>rl      s9     ' -  //L Lr   