
    Xi                     x   d dl Z d dlZd dlZd dlZd dlZd dlZd dlmZ d dlmZmZ d dl	m
Z
mZmZmZmZmZmZmZmZmZmZmZmZmZ d dlmZmZ 	 d dlmZ dZg dZd	gZ d
Z!dZ"dZ#dZ$ e%d      Z&dZ' G d d      Z(ed   Z) edi deed   eee*ef      f   de*dee*ee*e+f   f   de*dee,   de*deee*ef      de*deed   eee*ef      f   de)de*d e*d!ee*e*f   d"ee*   d#ed$   d%e+d&e*ee*e+f   e*eee*e+f      ee*e+f   eee*   eed   eee*ef      f   ee   e*ed'   ee*e+f   ee*e+f   d(d)*      Z- ed+d,d,      Z. ej^                  d-      Z0d.Z1d/ Z2d0 Z3dbd1Z4 G d2 d3      Z5e
r ed4      Z6ee5e6f   Z7d5 Z8d6 Z9d7d8d9e:fd:Z;d; Z<	 	 	 dcd<Z=	 dbd=Z>d> Z?d? Z@d@ ZA	 	 dddAZBdB ZCdC ZD	 	 	 	 dedDZE eFeGdE      ZHeHrdF ZIndG ZI	 	 	 	 dfdHZJ	 dbdIZKdJ ZLdK ZMdL ZNdcdMZOdbdNZPdO ZQdP ZRdQ ZSdR ZTdS ZUdT ZVdU ZWdV ZXdW ZYdbdXZZdY Z[dZ Z\d[ Z]dbd\Z^dgd]Z_d^ Z`	 dhd_Zad` Zbda Zcy# e$ r dZY w xY w)i    N)datetime)	FrameTypeTracebackType)TYPE_CHECKINGAnyDictIteratorListLiteralOptionalPatternSetTuple	TypedDictTypeVarUnioncast)ExceptionArgExcInfo)BaseExceptionGroup   )z(?i)passwordz
(?i)secretz
(?i)passwdz(?i)pwdz(?i)api_keyz
(?i)apikeyz(?i)authz(?i)credentialsz(?i)privatekeyz(?i)private_keyz	(?i)tokenz(?i)aws_access_key_idz	(?i)_passz(?i)sk_z(?i)jwtz^__.*z-$$_posthog_redacted_based_on_masking_rules_$$z$$_posthog_value_too_long_$$i  d   z\.^$*+?{}[]|()i P  c                   (    e Zd ZefdZd Zd Zd Zy)VariableSizeLimiterc                      || _         d| _        y )Nr   max_sizecurrent_size)selfr   s     a/mnt/e/genesis-system/.venvs/browser-army/lib/python3.12/site-packages/posthog/exception_utils.py__init__zVariableSizeLimiter.__init__L   s         c                 :    | j                   |z   | j                  k  S N)r   r   r   sizes     r    can_addzVariableSizeLimiter.can_addP   s      4'4==88r"   c                 .    | xj                   |z  c_         y r$   )r   r%   s     r    addzVariableSizeLimiter.addS   s    T!r"   c                 4    | j                   | j                  z
  S r$   r   )r   s    r    get_remaining_spacez'VariableSizeLimiter.get_remaining_spaceV   s    }}t0000r"   N)__name__
__module____qualname__"DEFAULT_TOTAL_VARIABLES_SIZE_LIMITr!   r'   r)   r+    r"   r    r   r   K   s     B 9"1r"   r   )fatalcriticalerrorwarninginfodebugEventbreadcrumbsvaluescheck_in_idcontextsdistdurationenvironmenterrorsevent_id	exceptionlevelloggermessagemodulesmonitor_slugplatformpythonprofilerelease)check_intransaction)requestserver_namespans
stacktracestart_timestampstatusthreads	timestamprL   typeuser_metrics_summaryF)totali     z^[a-zA-Z0-9/+=]*$z
[Filtered]c                 0    | t         z
  j                         S r$   )epochtotal_secondsvalues    r    to_timestampr_      s    EM((**r"   c                 $    | j                  d      S )Nz%Y-%m-%dT%H:%M:%S.%fZ)strftimer]   s    r    format_timestamprb      s    >>122r"   c                 \    | t        j                         } nt        |       } | d   d} d| iS )z+Creates a hint with the exc info filled in.Nr   exc_info)sysrd   exc_info_from_errorrd   s    r    event_hint_with_exc_inforh      s9     <<>&x0{!!r"   c                   P    e Zd ZdZdZd Zd Zed        Zed        Z	ed        Z
y)	AnnotatedValuezA
    Meta information for a data field in the event payload.
    r^   metadatac                      || _         || _        y r$   rk   )r   r^   rl   s      r    r!   zAnnotatedValue.__init__   s    
 r"   c                     t        |t              sy| j                  |j                  k(  xr | j                  |j                  k(  S )NF)
isinstancerj   r^   rl   )r   others     r    __eq__zAnnotatedValue.__eq__   s4    %0zzU[[(LT]]enn-LLr"   c                 &    t        ddddggi      S )zxThe value was removed because it could not be parsed. This is done for request body values that are not json nor a form. remz!rawxrk   rj   clss    r    removed_because_raw_dataz'AnnotatedValue.removed_because_raw_data   s,     

 
	
r"   c                 &    t        ddddggi      S )zThe actual value was removed because the size of the field exceeded the configured maximum size (specified with the max_request_body_size sdk option)rs   rt   !configru   rk   rv   rw   s    r    removed_because_over_size_limitz.AnnotatedValue.removed_because_over_size_limit   s,     !

 
	
r"   c                 .    t        t        dddggi      S )zHThe actual value was removed because it contained sensitive information.rt   r{   srk   )rj   SENSITIVE_DATA_SUBSTITUTErw   s    r    +substituted_because_contains_sensitive_dataz:AnnotatedValue.substituted_because_contains_sensitive_data   s,     +!

 
	
r"   N)r,   r-   r.   __doc__	__slots__r!   rq   classmethodry   r|   r   r0   r"   r    rj   rj      sU     &I!
M 
 
 
 
 
 
r"   rj   Tc                 :    t        | dd       xs t        | dd       S )Nr.   r,   getattrrw   s    r    get_type_namer      s    3-Oj$1OOr"   c                 *    t        | dd       }|dvr|S y )Nr-   )Nbuiltins__builtins__r   )rx   mods     r    get_type_moduler      s!    
#|T
*C
44
r"   framer   returnc                     	 | j                   d   }|j                  d      ry	 dD ]  }	 | j                  |   r y y# t        t        f$ r Y +w xY w# t
        $ r Y 8w xY w)Nr,   zsentry_sdk.T)__traceback_hide____tracebackhide__F)	f_globals
startswithAttributeErrorKeyErrorf_locals	Exception)r   r   	flag_names      r    should_hide_framer     s    ooj)>>-( )
 ? 		~~i( )  H%   		s     > AAA	AAc              #   f   K   | }|)t        |j                        s| |j                  }|(y y wr$   )r   tb_frametb_next)tbtb_s     r    iter_stacksr     s1     
C
/ .Ikk /s   ,11c                    d}d }|0t        |d      r$	 |j                  |      }||j	                         }|	 t        j                  |       }|sg d g fS t        d||z
        }t        |dz   |z   t        |            }		 ||| D 
cg c]  }
t        |
j                  d      |        }}
t        ||   j                  d      |      }||dz   |	 D 
cg c]  }
t        |
j                  d      |        }}
|||fS # t        t        f$ r d }Y w xY w# t        t        f$ r g d g fcY S w xY wc c}
w c c}
w # t        $ r g d g fcY S w xY w)N   
get_sourcer   rY   z
)
max_length)hasattrr   ImportErrorIOError
splitlines	linecachegetlinesOSErrormaxminlenstrip_stringstrip
IndexError)filenamelinenor   loadermodulecontext_linessource
source_strlower_boundupper_boundlinepre_contextcontext_linepost_contexts                 r    get_lines_from_filer   "  s    MFgfl;	**62J !**,F~	 ''1F 4|a-/0Kfqj=0#f+>K {62
 F+
C
 
 $F6N$8$8$@ZX 
k:
 F+
C
 
 L,667 W% 	J	 ! 	 tR<	 



  4|sR   D  D D; #D1++D; #D69D;  DDD.-D.1
D; ;EEc                    	 | j                   j                  }	 | j                  d   }	 | j                  d   }|dz
  }||rt	        |||||      S g d g fS # t        $ r d }Y Kw xY w# t        $ r g d g fcY S w xY w# t        $ r d }Y Pw xY w)Nr,   
__loader__rY   )r   r   )f_codeco_filenamer   r   r   )r   	tb_linenomax_value_lengthabs_pathr   r   r   s          r    get_source_contextr   P  s    <<++,. ]Fh"f.vf
 	
 tR<    4|  s3   A A' A; A$#A$'A87A8;B	B	c                 N    	 t        |       S # t        $ r t        |       cY S w xY wr$   )strr   	safe_reprr]   s    r    safe_strr   j  s+     5z   s   
 $$c                 8    	 t        |       S # t        $ r Y yw xY w)Nz<broken repr>)reprr   r]   s    r    r   r   r  s#    E{ s   
 	c                    |r| s|S 	 |j                  d      r|d d }| j                  dd      d   }|| k(  rt        j                  j	                  |      S t
        j                  |   j                  }|s|S |j                  |j                  t        j                  d      d   d      d   j                  t        j                        S # t        $ r |cY S w xY w)Nz.pyc.rY   r      )endswithsplitospathbasenamere   rE   __file__rsplitseplstripr   )r   r   base_modulebase_module_paths       r    filename_for_moduler   z  s    6V$}Hll3*1-& 77##H--;;{3<<O~~.55bffa@CQGKRRFF
 	
  s   AC  C 8AC CCc                    t        | dd       }|sd }d }n,| j                  j                  }| j                  j                  }	 | j                  d   }|| j                  }dt        ||      xs d |rt        j                  j                  |      nd |xs d||d}t        | ||      \  |d<   |d<   |d<   |S # t
        $ r d }Y sw xY w)	Nr   r,   rH   z	<unknown>)rG   r   r   functionr   r   r   r   r   )r   r   r   co_namer   r   f_linenor   r   r   abspathr   )r   r   r   r   r   r   r   rvs           r    serialize_framer     s     UHd+F<<++<<'', NN	 '9AT19BGGOOH-t+
B ASy*A=B}r.)2n+= I'  s   B7 7CCc                     t        | dd       S )Nerrnor   )	exc_values    r    	get_errnor     s    9gt,,r"   c                 X    t        | dd      xs t        | dd      xs | }t        |      S )NrD   rs   detail)r   r   )r   rD   s     r    get_error_messager     s;     		9b) 	9h+	  Gr"   c                 ~   i }|r|j                         nddd|d<   |||d   d<   |t        |      }nd}|5|d   j                  di       j                  di       j                  d	|       |||d   d
<   |dk(  }	|	s|||d   d<   d|d   d<   |	rd|d   vrd|d   d<   t        duxr t	        |t              }
|
rd|d   d<   t        |       |d<   t        |       |d<   t        |      |d<   t        }t        |      D cg c]$  }t        |j                  |j                  |      & }}|r|dd|d<   |S c c}w )zJ
    Creates a dict that goes into the events `exception.values` list
    genericT)rU   handled	mechanismNexception_idmetar   numberr   r   	parent_idchainedrU   is_exception_groupr   r^   )r   r   raw)framesrU   rP   )copyr   
setdefaultr   ro   r   r   r   DEFAULT_MAX_VALUE_LENGTHr   r   r   r   )exc_typer   r   r   r   r   r   exception_valuer   is_root_exceptionr   r   r   s                r    !single_exception_from_error_tupler     s    O%	I$+O K  7C$^4)$$//;FFR	

*Xu
%17$X.$)!64=$[1/8$V,V?;+GG/8$V,+47 J%= =A$%9: / 9OH+H5OF0;OG/ b/  	KKll-	
F  395(I%s   )D:__suppress_context__c              #   h  K   | \  }}}g }t               }||t        |      |vr|||f |j                  |       |j                  t        |             |j                  r|j
                  }n|j                  }|y t        |      }|}t        |dd       }||t        |      |vry y y y y y w)N__traceback__)	setidappendr)   r   	__cause____context__rU   r   )rd   r   r   r   seen_exceptionsseen_exception_idscauses          r    walk_exception_chainr
    s     "*)R U  %9%77Ir))
 ""9-""2i=1--!++!--}E{HI6B)  %9%77 & !7 & !s   B)B2,B2c              #      K   |  y wr$   r0   rg   s    r    r
  r
  /  s     s   c                    t        | ||||||      }|g}|}|dz  }t        |d      xr |j                  }	|	rh|xr t        |d      xr |j                  du}
|
r|j                  }t	        t        |      |t        |dd      ||d      \  }}|j                  |       ng|xr t        |d      xr |j                  du}|rE|j                  }t	        t        |      |t        |dd      ||d      \  }}|j                  |       |xr t        |d	      }|rZt        |j                        D ]B  \  }}t	        t        |      |t        |dd      |||d
|z        \  }}|j                  |       D ||fS )zx
    Creates the list of exceptions.
    This can include chained exceptions and exceptions from an ExceptionGroup.
    )r   r   r   r   r   r   r   rY   r   r  Nr  )r   r   r   r   r   r   r  
exceptionszexceptions[%s])r   r   r   r  exceptions_from_errorrU   r   extendr  	enumerater  )r   r   r   r   r   r   r   parentr  should_supress_contextexception_has_causer	  child_exceptionsexception_has_contentcontextr   idxes                     r    r  r  4  s    /!F JIAL 		12Uy7U7U    0	;/0##4/ 	
 ''E/De5/48#)"0,\+ ./  2	=12%%T1 	
 !++G/Dg!7OT:#)$0,\+ ./ #Gwy,'G	 4 45 
	0FC/Da1ot4#)#'#-0,\+ ./
	0 *%%r"   c           	          | \  }}}t         d uxr t        |t               }|rt        ||||dd      \  }}n3g }t        |       D ]#  \  }}}|j	                  t        ||||             % |j                          |S )Nr   )r   r   r   r   r   r   )r   ro   r  r
  r  r   reverse)rd   r   r   r   r   r   _r  s           r    exceptions_from_error_tupler    s    
 'Hi+47 J%= /
J 
';H'E 	#Hi1(Ir9U	
 r"   c                 T    	 t        |       S # t        $ r t        |       dd cY S w xY w)NrY   r   )r   UnicodeDecodeErrorr   r]   s    r    	to_stringr    s1    !5z !E{1R  !s   
 ''c              #      K   d| v r| d    d| v r)| d   j                  d      xs dD ]  }d|v s|d     d| v r*| d   j                  d      xs dD ]  }d|v s|d     y y w)NrP   rS   r9   r0   rA   )get)eventthreadrA   s      r    iter_event_stacktracesr$    s     uL!!EI&**84: 	+Fv%\**	+ e{+//9?R 	.Iy(--	. s   /A*,A*A*c              #   h   K   t        |       D ]   }|j                  d      xs dD ]  }|  " y w)Nr   r0   )r$  r!  )r"  rP   r   s      r    iter_event_framesr&    s<     ,U3 
^^H-3 	EK	s   02c                 b    t        |       D ]   }t        |j                  d      |||       " | S )Nr   )in_app_excludein_app_includeproject_root)r$  set_in_app_in_framesr!  )r"  r(  r)  r*  rP   s        r    handle_in_appr,    s:    ,U3 

NN8$))%		

 Lr"   c                    | sy | D ]  }|j                  d      }||j                  d      }t        ||      rd|d<   :t        ||      rd|d<   L|j                  d      }|`t        |      rd|d<   qt        ||      s~d|d<    | S )Nin_appr   TFr   )r!  _module_in_list_is_external_source_is_in_project_root)r   r(  r)  r*  r   current_in_appr   r   s           r    r+  r+    s     8,%8$ 6>2"E(O 6>2#E(O 99Z(x(#E(Ox6"E(O;> Mr"   c                     t        | t              rt        | d      S t        | t              r&t	        |       dkD  r| d   d uxr t        | d   d      S y)N__posthog_exception_capturedrY   F)ro   BaseExceptionr   tupler   )r3   s    r    exception_is_already_capturedr7     s\    %'u<== 
E5	!c%j1nQxt# 
!H4)
 	
 r"   c                     t        | t              rt        | dd       t        | d|       y t        | t              r6t	        |       dkD  r'| d   !t        | d   dd       t        | d   d|       y y y y )Nr4  T__posthog_exception_uuidrY   )ro   r5  setattrr6  r   )r3   uuids     r    mark_exception_as_capturedr<    su    %'5t<148 
E5	!c%j1n8E!H<dCE!H8$?   '5	!r"   c                    t        | t              rt        |       dk(  r| \  }}}n|t        | t              rU	 t	        |        t        | dd       }|t        |       }| }nCt        j                         \  }}}|| ur'd }| }t        |       }nt        dt        |       z        |||f}t        rt        t        |      }|S # t
        $ r Y w xY w)N   r  z,Expected Exception object to report, got %s!)ro   r6  r   r5  construct_artificial_tracebackr   r   rU   re   rd   
ValueErrorr   r   r   )r3   r   r   r   rd   s        r    rf   rf     s    %CJ!O"')R	E=	)	*51 UOT2>E{HI&)lln#Hi%!	; G$u+UVV)R(H *O/  		s   B? ?	C
Cc                 F   t        | dd       y d}g }	 	 t        j                  |      }|dz  }|j	                  |       -# t        $ r Y nw xY w|j                          d }|D ].  }t        j                  |||j                  |j                        }0 t        | d|       y )Nr  r   rY   )r   re   	_getframer@  r  r  typesr   f_lastir   r:  )r  depthr   r   r   s        r    r?  r?  <  s    q/4(4EF
	MM%(EQJE 	e   		
 NN	B K  UEMM5>>JK A#s   A 	AAc                 T    | y|sy|D ]  }|| k(  s| j                  |dz         s y y)NFr   Tr   )nameitemsitems      r    r/  r/  U  s=    | 4<4??4#:6 r"   c                 6    t        j                  d|       d u}|S )Nz [\\/](?:dist|site)-packages[\\/])research)r   external_sources     r    r0  r0  d  s%     			5x@L  r"   c                 .    |y| j                  |      ryyNFTrG  )r   r*  s     r    r1  r1  m  s!     <(r"   c                 \    | j                  d      d|dz
   j                  dd      }|dz   S )zd
    Truncate a UTF-8-encodable string to the last full codepoint so that it fits in max_bytes.
    utf-8Nr>  ignore)r?   ...)encodedecode)string	max_bytes	truncateds      r    _truncate_by_bytesrZ  y  s8    
 g&Q7>>wx>XIur"   c                 b    	 t        | j                  d            S # t        t        f$ r Y y w xY w)NrR  )r   rU  UnicodeEncodeErrorr  r]   s    r    _get_size_in_bytesr]    s3    5<<()) 23 s    ..c                     | s| S |t         }t        |       }t        |       }|||kD  rt        | |      }n|||kD  r| d |dz
   dz   }n| S t	        ||xs |dd|dz
  |ggd      S )Nr>  rT  z!limitru   )r   rt   rk   )r   r]  r   rZ  rj   )r^   r   	byte_size	text_sizetruncated_values        r    r   r     s    -
"5)IE
IZ!7,UJ?		9z#9 0*q.1E9)	sJNJ?@
 r"   c                     t        j                  d|       }|sy | |j                         d  }|rt        d |D              ry |j	                         S )Nz^\(\?[aiLmsux]*i[aiLmsux]*\)c              3   ,   K   | ]  }|t         v   y wr$   )_REGEX_METACHARACTERS).0cs     r    	<genexpr>z+_extract_plain_substring.<locals>.<genexpr>  s     J1A!66Js   )rL  matchendanylower)patterninline_flags	remainders      r    _extract_plain_substringro    sQ     88;WEL((*,-IJ	JJ??r"   c                     | sy g }g }| D ]F  }t        |      }||j                  |       "	 |j                  t        j                  |             H |s|sy ||fS # t        $ r Y ]w xY wr$   )ro  r  rL  compiler   )patterns
substringsregexesrl  simples        r    _compile_patternsrv    s    JG )'2f%rzz'23 g  	  s   $A	A('A(c                     |y|\  }}|r| j                         }|D ]  }||v s y |D ]  }|j                  |       s y yrP  )rk  rM  )rH  rr  rs  rt  
name_lowerr~   rl  s          r    _pattern_matchesry    sa    "JZZ\
 	AJ	  >>$ r"   c                    |s| S t        | t        t        t        f      r-|
t	               }t        |       }||v ry|j                  |       t        | t              rt        |       t        kD  rt        S i }| j                         D ]d  \  }}t        |t              st        |      n|}t        |      t        kD  r
t        ||<   ?t        ||      r
t        ||<   Ut        |||      ||<   f |S t        | t        t        f      rCt        |       t        kD  rt        S | D cg c]  }t        |||       }	} t!        |       |	      S t        | t              r,t        |       t        kD  rt        S t        | |      rt        S | S | S c c}w )Nz<circular ref>)ro   dictlistr6  r  r  r)   r   _MAX_COLLECTION_ITEMS_TO_SCANCODE_VARIABLES_TOO_LONG_VALUErI  r   #_MAX_VALUE_LENGTH_FOR_PATTERN_MATCHry  CODE_VARIABLES_REDACTED_VALUE_mask_sensitive_datarU   )
r^   compiled_mask_seenobj_idresultkvkey_strrJ  masked_itemss
             r    r  r    sm   %$e,-=EEEU?#		&%u:5500KKM 	JDAq$.q#$6c!fAG7|AA9q	!'=99q	0M5Iq		J 	ED%=	)u:5500IN
AE }e<
 
 tE{<((	E3	u:;;00E=100
s   "Fc                 N   	 | d}nt        | t              rt        |       }nt        | t        t        f      r9t        t        |             }|j                  |      sy |j                  |       | S t        | t              r1t        |       t        kD  rt        }n9|rt        | |      rt        }n$| }n!t        | |      }t        j                  |      }t        |      |kD  r|d |dz
   dz   }t        |      }|j                  |      sy |j                  |       |S # t        $ r 	 t!        |       }t        |      |kD  r|d |dz
   dz   }t        |      }|j                  |      sY y |j                  |       |cY S # t        $ r 	 dt#        |       j$                   d}t        |      }|j                  |      sY Y y |j                  |       |cY cY S # t        $ r< d}t        |      }|j                  |      sY Y Y y |j                  |       |cY cY cY S w xY ww xY ww xY w)NNoner>  rT  <>z<unserializable object>)ro   boolr   intfloatr   r'   r)   r  r~  ry  r  r  jsondumpsr   r   rU   r,   )	r^   limiterr   r  r  result_sizemasked_valuefallbackfallback_sizes	            r    _serialize_variable_valuer     s   8 =Ft$ZFU|,c%j/K??;/KK$Ls#5z??6#3E=#I6/}ELZZ-Fv;#,j1n-5F&k{+K   	 %[F6{Z' 0*q.1E9f+K??;/KK$M 	  tE{334A6 #H}5M*  4 #H}5M* 	  s   AD D 2BD 
D 	H$'A E>)E>;H$>	H 5G=H$ GH H$'H>H ?H$HH H$HH  H$c                 V    t        | t        d       t        t        t        t
        f      S r$   )ro   rU   r  r  r  r   r]   s    r    _is_simple_typer  <  s    ed4j$UC@AAr"   c                    |g }|g }t        |      }t        |      }	 | j                  j                         }i }i }	|j	                         D ](  \  }
}t        |
|      rt        |      r|||
<   $||	|
<   * i }i ||	}t        t        |j                                     t        t        |	j                                     z   }|D ]g  }
||
   }t        |
|      r<t        }t        |      }|j                  |      s |S |j                  |       |||
<   Pt        ||||      }| |S |||
<   i |S # t        $ r i cY S w xY wr$   )rv  r   r   r   rI  ry  r  r|  sortedkeysr  r   r'   r)   r  )r   r  mask_patternsignore_patternsr   r  compiled_ignore
local_varssimple_varscomplex_varsrH  r^   r  all_varsordered_namesredacted_valueredacted_size
serializeds                     r    serialize_code_variablesr  @  s    %m4M'8O^^((*
 KL!'') 'eD/25! %K!&L' F.+..H 0 0 234tF<CTCTCV<W7XXM &D-0:N/M??=1 M KK&)F4L2w
MJ ! M &F4L!&$ MM  	s   D4 4EEc                 @    	 t        | |||       y # t        $ r Y y w xY wr$   )attach_code_variables_to_framesr   )all_exceptionsrd   r  r  s       r    #try_attach_code_variables_to_framesr  v  s,    'Hm_	
  s    	c           	      0   |\  }}}|y t        t        |            }|sy t               }| D ]g  }	|	j                  d      }
|
rd|
vr|
d   }t	        ||      D ]9  \  }}|j                  d      st        |j                  |||d      }|s5||d<   ; i y )NrP   r   r.  r   )r  r  r   code_variables)r|  r   r   r!  zipr  r   )r  rd   r  r  r   r   	traceback	tb_framesr  rA   rP   serialized_framesserialized_frametb_item	variabless                  r    r  r    s     &."Hi[+,I!#G# ?	]]<0
XZ7&x0),->	)J 	?%g#''10  + /I 5> !12	??r"   r$   )NNN)NN)NNNN)Nr   r   N)r   N)NNr   )dr  r   r   rL  re   rC  r   r   r   typingr   r   r   r	   r
   r   r   r   r   r   r   r   r   r   posthog.argsr   r   r   r   r   r   $DEFAULT_CODE_VARIABLES_MASK_PATTERNS&DEFAULT_CODE_VARIABLES_IGNORE_PATTERNSr  r~  r  r}  	frozensetrd  r/   r   LogLevelStrr   objectr  r7   r[   rq  BASE64_ALPHABETr   r_   rb   rh   rj   r   	Annotatedr   r   r  r   r   r   r   r   r   r   r   r   r   r   r   r   HAS_CHAINED_EXCEPTIONSr
  r  r  r  r$  r&  r,  r+  r7  r<  rf   r?  r/  r0  r1  rZ  r]  r   ro  rv  ry  r  r  r  r  r  r  r0   r"   r    <module>r     s?     	 	 
   *   " /+   ( $$ +3 & O  > &+ # # !"34 %. "1 1 NO0tHtDcN33
0 	s	0
 	Dd3;//00 	0 	HUO0 	s0 	$tCH~&0 	C0 	THtDcN33
0  	!0$ 	#%0( 	3)0* 	4S>+0. 	/00 	GH%102 	6304 	3506 V$d3;'(K
 $3- HtDcN33
 h'12S&[! f-_0b g4	n 	q! "**12( +
3
	"A
 A
H Ana'(IP
[ T $ +b 4 4 "J-
 AH !,BC 7@ W&x B!.
$N
@B$2	:	!&'T9 xB
 JN3l#?w"  s   H. .H98H9