§ <ˆjå3ãóÌ—ddlZddlZddlmZddlmZmZmZmZmZm Z ddl m Z m Z m Z mZmZmZddlmZernddlmZddlmZddlmZdd lmZdd lmZdd lmZdd lmZdd lmZddlmZddlmZmZee efZ!eeee efgeee ffZ"ee e#fZ$e rddl%m&Z&m'Z'm(Z(e ezZ)nddl*m&Z&m'Z'm(Z(e ezZ)dZ+dZ,dZ-dZ.gZ/d„Z0Gd„de1¦«Z2d„Z3dS)éN)Údatetime)ÚAnnotatedValueÚcapture_internal_exceptionÚdisable_capture_eventÚformat_timestampÚ safe_reprÚ strip_string)Ú text_typeÚPY2Ú string_typesÚ number_typesÚ iteritemsÚbinary_sequence_types)Ú TYPE_CHECKING)Ú TracebackType)ÚAny)ÚCallable)ÚContextManager)ÚDict)ÚList)ÚOptional)ÚType)ÚUnion)ÚNotImplementedTypeÚEvent)ÚMappingÚSequenceÚSeti@Béé zcó:—t |¦«dS©N)Úglobal_repr_processorsÚappend)Ú processors úL/opt/cloudlinux/venv/lib64/python3.11/site-packages/sentry_sdk/serializer.pyÚadd_global_repr_processorr'Ps€å×!Ò! )Ñ,Ô,Ð,Ð,Ð,ócó*—eZdZdZd„Zd„Zd„Zd„ZdS)ÚMemo©Ú_idsÚ_objscó"—i|_g|_dSr"r+)Úselfs r&Ú__init__z Memo.__init__Xs€àˆŒ ؈Œ ˆ ˆ r(có:—|j |¦«|Sr")r-r$©r/Úobjs r&Úmemoizez Memo.memoize]s€à Œ ×Ò˜#ÑÔÐØˆ r(có~—|jd}t|¦«|jvrdS||jt|¦«<dS)NéÿÿÿÿTF)r-Úidr,r2s r&Ú __enter__zMemo.__enter__bs<€àŒj˜ŒnˆÝ ˆc‰7Œ7�d”iÐ Ð Ø�4à!$ˆDŒI•b˜‘g”gÑ Ø�5r(có„—|j t|j ¦«¦«d¦«dSr")r,Úpopr7r-)r/ÚtyÚvalueÚtbs r&Ú__exit__z Memo.__exit__ks4€ð Œ � Š •b˜œŸšÑ)Ô)Ñ*Ô*¨DÑ1Ô1Ð1Ð1Ð1r(N)Ú__name__Ú __module__Ú __qualname__Ú __slots__r0r4r8r>©r(r&r*r*UsU€€€€€Ø!€Iðððð ððð ððð2ð2ð2ð2ð2r(r*c ó‡‡‡‡‡ ‡ ‡ ‡ ‡ ‡—t¦«Š gŠgŠ | dd¦«dkŠ | dd¦«Š ˆ ˆfd„Šˆfd„Š ˆˆ ˆfd„Šˆfd„Š dˆˆ ˆ ˆfd„ Šˆfd „Šˆˆˆˆˆˆ ˆ ˆ ˆ ˆf d „Štjd ¦« ‰|fi|¤Ž}‰ r t |t ¦«r ‰ d |d <|tjd¦«S#tjd¦«wxYw)NÚmax_request_body_sizeÚalwaysÚmax_value_lengthc󺕗t‰¦«t‰¦«krŠ ‰t‰¦«dz }‰d t|¦«i¦«}n#t$ri}YnwxYw‰ |¦«t‰¦«t‰¦«k°Š‰d di¦« |¦«dS)Nér6Ú)ÚlenÚ setdefaultr Ú IndexErrorr$Úupdate)ÚmetaÚsegmentÚnodeÚ meta_stackÚpaths €€r&Ú _annotatezserialize.._annotate€sÚø€å�*‰oŒo¥ T¡¤Ò*Ð*ð Ø�s :™œ°Ñ2Ô3�Ø! "”~×0Ò0µ¸7Ñ1CÔ1CÀRÑHÔH��øÝð ð ð Ø���ð øøøð × Ò ˜dÑ #Ô #Ð #õ�*‰oŒo¥ T¡¤Ò*Ð*ð �2Œ×!Ò! " bÑ)Ô)×0Ò0°Ñ6Ô6Ð6Ð6Ð6s£AA%Á% A4Á3A4cóê•— ‰d}|dkr‰ddkr‰ddkrdS|dvr2‰dd kr&‰ddkr‰d dkr‰d dkrdSn#t$rYd SwxYwd S)a§ By default non-serializable objects are going through safe_repr(). For certain places in the event (local vars) we want to repr() even things that are JSON-serializable to make their type more apparent. For example, it's useful to see the difference between a unicode-string and a bytestring when viewing a stacktrace. For container-types we still don't do anything different. Generally we just try to make the Sentry UI present exactly what a pretty-printed repr would look like. :returns: `True` if we are somewhere in frame variables, and `False` if we are in a position where we will never encounter frame variables when recursing (for example, we're in `event.extra`). `None` if we are not (yet) in frame variables, but might encounter them when recursing (e.g. we're in `event.exception`) rÚ stacktracerIÚframeséÚvarsT)ÚthreadsÚ exceptionÚvaluesééNF©rM)Úp0rSs €r&Ú_should_repr_stringsz'serialize.._should_repr_strings�s¶ø€ð( Ø�a”ˆBØ�\Ò!Ð! d¨1¤g°Ò&9Ð&9¸dÀ1¼gÈÒ>OÐ>OØ�tðÐ.Ð.Ð.ؘ”G˜xÒ'Ð'ؘ”G˜|Ò+Ð+ؘ”G˜xÒ'Ð'ؘ”G˜vÒ%Ð%à�tøøÝð ð ð Ø�4�4ð øøøðˆusƒ&A"«4A"Á" A0Á/A0cóÆ•— ‰¦«}|dvr|S‰¦«}|dvr|S‰d}|dkr‰ddkr ‰ddS|dkrdSn#t$rYd SwxYwd S) zÀ A databag is any value that we need to trim. :returns: Works like `_should_repr_strings()`. `True` for "yes", `False` for :"no", `None` for "maybe soon". )TNrÚ breadcrumbsrIr\éTÚextraNFr_)ÚrvÚis_request_bodyr`Ú_is_request_bodyrarSs €€€r&Ú _is_databagzserialize.._is_databag³s³ø€ð Ø%Ð%Ñ'Ô'ˆBØ�\Ð!Ð!Ø� à.Ð.Ñ0Ô0ˆOØ ,Ð.Ð.Ø&Ð&à�a”ˆBØ�]Ò"Ð" t¨A¤w°(Ò':Ð':Ø�Q”�Ø�tà�WŠ}ˆ}Ø�tðøõð ð ð Ø�4�4ð øøøðˆus!ƒA“A£"AÁAÁ AÁAcób•— ‰ddkr‰ddkrdSn#t$rYdSwxYwdS)NrÚrequestrIÚdataTFr_)rSs€r&rhz#serialize.._is_request_bodyÑsTø€ð Ø�AŒw˜)Ò#Ð#¨¨Q¬°6Ò(9Ð(9Ø�tøøÝð ð ð Ø�4�4ð øøøðˆus ƒž ,«,c ól•—|�‰  |¦« ‰  |¦«5}|r?tcddd¦«|�*‰  ¦«‰ t ‰ ¦«dzd…=SS‰||||||¬¦«cddd¦«|�*‰  ¦«‰ t ‰ ¦«dzd…=SS#1swxYwYn�#t $rƒt tj¦«¦«|r0Y|�+‰  ¦«‰ t ‰ ¦«dzd…=dSdSY|�+‰  ¦«‰ t ‰ ¦«dzd…=dSdSwxYw |�+‰  ¦«‰ t ‰ ¦«dzd…=dSdS#|�)‰  ¦«‰ t ‰ ¦«dzd…=wxYw)NrI)Ú is_databagrgÚshould_repr_stringsÚremaining_depthÚremaining_breadthz=) r$r4Ú CYCLE_MARKERr:rKÚ BaseExceptionrÚsysÚexc_info) r3rnrgrorPrqrpÚresultÚ_serialize_node_implÚmemorRrSs €€€€r&Ú_serialize_nodez"serialize.._serialize_nodeÛsmø€ð Ð Ø �KŠK˜Ñ Ô Ð ð 0Ø—’˜cÑ"Ô"ð  fØð(Ý'ð ð ð ð ñ ô ð ð(Ð"Ø—’‘ ” � Ø�s 4™yœy¨1™}˜˜Ð/Ð/ð#ð!,Ð+ØØ)Ø$3Ø(;Ø$3Ø&7ð ñôð ð ð ð ñ ô ð ð(Ð"Ø—’‘ ” � Ø�s 4™yœy¨1™}˜˜Ð/Ð/ð#ð) ð ð ð øøøð ð ð ð ð øõð ð ð Ý &¥s¤|¡~¤~Ñ 6Ô 6Ð 6àð WØVðÐ"Ø—’‘ ” � Ø�s 4™yœy¨1™}˜˜Ð/Ð/Ð/ð#Ð"ðàÐ"Ø—’‘ ” � Ø�s 4™yœy¨1™}˜˜Ð/Ð/Ð/ð#Ð"ð øøøð ð(Ð"Ø—’‘ ” � Ø�s 4™yœy¨1™}˜˜Ð/Ð/Ð/ð#Ð"øˆwÐ"Ø—’‘ ” � Ø�s 4™yœy¨1™}˜˜Ð/Ð/Ð/Ð/Ð/s]šC¯ B:¸ CÁ1B: CÂ:B>Â>CÃB>ÃCÃFÃ,EÃ2FÄ"FÅEÅFÆ-F3cóZ•—t|t¦«r‰di|j¤Ž|j}|S)NrC)Ú isinstancerÚmetadatar<)r3rTs €r&Ú_flatten_annotatedz%serialize.._flatten_annotateds9ø€å �c�>Ñ *Ô *ð Ø ˆIÐ %Ð %˜œ Ð %Ð %Ð %Ø”)ˆC؈ r(c ó¸• —t|t¦«rd}|€ ‰¦«}|€ ‰¦«}|€ ‰¦«}|r5|r!‰rtd¦«}td¦«}n|€t}|€t}‰|¦«}|�@|dkr:‰ddgg¬¦«|r'‰t t |¦«‰¬¦«¦«SdS|r8tr1‰|dœ}tD]$}|||¦«}|tur ‰|¦«cSŒ%tt|¦«d d¦«} |�t|ttf¦«rP|s=t|t¦«r7tj|¦«stj|¦«rt |¦«S|St!| ¦«r | |¦«St|t"¦«r-|st%t'|¦«¦«nt |¦«St|t(¦«rŒt+t-|¦«¦«}i} d} t-|¦«D]Z\} } |�!| |kr‰t/|¦«¬ ¦«n3t%| ¦«}‰| |||||�|d z nd|¬ ¦«} | | |<| d z } Œ[| St|t0¦«s„t|t2t4f¦«rhg}t7|¦«D]T\} } |�!| |kr‰t/|¦«¬ ¦«n-| ‰| | ||||�|d z nd|¬ ¦«¦«ŒU|S|rt |¦«}ndt|t:¦«st|t<¦«r| d d¦«}t|t@¦«st |¦«}t/‰¦«dko‰ddko ‰ddk}|r|S‰t |‰¬¦«¦«S)NFÚinfrz!limitÚx)Úrem)Ú max_length)rxrpÚ__sentry_repr__)rKrI)rPrornrgrprqzutf-8ÚreplacerXÚspansr6Ú description)!r{rÚfloatÚMAX_DATABAG_DEPTHÚMAX_DATABAG_BREADTHr rr#ÚNotImplementedÚgetattrÚtypeÚboolr ÚmathÚisinfÚisnanÚcallablerr rrÚdictrrKÚserializable_str_typesrrÚ enumerater$ÚbytesÚ bytearrayÚdecoder )r3rnrgrorprqÚhintsr%rvÚ sentry_reprÚrv_dictÚiÚkÚvÚstr_kÚrv_listÚis_span_descriptionrTr}rirhryraÚkeep_request_bodiesrGrxrSs €€€€€€€€€€r&rwz'serialize.._serialize_node_implsØø€õ �c�>Ñ *Ô *ð (Ø"'Ð Ø Ð &Ø"6Ð"6Ñ"8Ô"8Ð à Ð Ø$˜™œˆJà Ð "Ø.Ð.Ñ0Ô0ˆOà ð <Øð <Ð#6ð <Ý"'¨¡,¤,�Ý$)¨%¡L¤LÐ!Ð!à"Ð*Ý&7�OØ$Ð,Ý(;Ð%à Ð  Ñ%Ô%ˆà Ð &¨?¸aÒ+?Ð+?Ø ˆI˜H c˜?Ð+Ð ,Ñ ,Ô ,Ð ,Øð Ø)Ð)Ý ¥¨3¡¤ÐÑ?Ô?ˆ;Ø"ð ݘ3¥Ñ&Ô&ð Ý,0¬J°s©O¬Oð Ý?C¼zÈ#¹¼ð õ! ‘~”~Ð%à� å �kÑ "Ô "ð@ Ø�;˜sÑ#Ô#Ð #å ˜�XÑ &Ô &ð= ð+ð$• Õ*¨3Ñ/Ô/Ñ0Ô0Ð0å˜s‘^”^ð õ ˜�WÑ %Ô %ð6 õ•y ‘~”~Ñ&Ô&ˆCàˆG؈Aå! #™œð ð ‘��1Ø$Ð0°QÐ:KÒ5KÐ5KØ�I¥# c¡(¤(Ð+Ñ+Ô+Ð+Ø�Eå! !™ œ �Ø#�OØØ!Ø(;Ø)Ø$3à&Ð2ð%4°aÑ$7Ð$7àØ&7ð ñ ô �ð"#�˜‘Ø�Q‘��àˆNå˜CÕ!7Ñ8Ô8ð ½ZØ •#•x�ñ> ô> ð ðˆGå! #™œð ð ‘��1Ø$Ð0°QÐ:KÒ5KÐ5KØ�I¥# c¡(¤(Ð+Ñ+Ô+Ð+Ø�Eà—’Ø#�OØØ !Ø,?Ø#-Ø(7à*Ð6ð)8¸!Ñ(;Ð(;à!Ø*;ð ñ ô ñ ô ð ð ðˆNà ð %ݘC‘.”.ˆCˆCå˜#�uÑ%Ô%ð 5­°C½Ñ)CÔ)Cð 5Ø—j’j ¨)Ñ4Ô4�å˜c¥<Ñ0Ô0ð %Ý ‘n”n�õ �‰IŒI˜ŠNÐ O˜t Aœw¨'Ò1Ð O°d¸2´hÀ-Ò6Oð ð ð ØˆJà!Ð!¥,¨sÐ?OÐ"PÑ"PÔ"PÑQÔQÐQr(TrÚ_metaF)NNNNNN)r*r:rÚsetr{r’)ÚeventÚkwargsÚserialized_eventrTr}rirhryrwrar¡rGrxrRrSs @@@@@@@@@@@@r&Ú serializer§usøøøøøøøøøøøø€å ‰6Œ6€DØ €DØ€Jð � Š Ð*¨DÑ1Ô1°XÒ=ðð—z’zÐ"4°dÑ;Ô;Ðð 7ð 7ð 7ð 7ð 7ð 7ð$ð$ð$ð$ð$ðLððððððð<ðððððØØ ØØØð$0ð$0ð$0ð$0ð$0ð$0ð$0ð$0ð$0ðLðððððJRðJRðJRðJRðJRðJRðJRðJRðJRðJRðJRðJRðJRðJRõ^Ô˜dÑ#Ô#Ð#ð)Ø*˜?¨5Ð;Ð;°FÐ;Ð;ÐØ ð 6�*Ð%5µtÑ<Ô<ð 6Ø(2°1¬ Ð ˜WÑ %àåÔ! %Ñ(Ô(Ð(Ð(øÕÔ! %Ñ(Ô(Ð(Ð(øøøs Â,CÃC4)4rtrŽrÚsentry_sdk.utilsrrrrrr Úsentry_sdk._compatr r r r rrÚsentry_sdk._typesrÚtypesrÚtypingrrrrrrrrrrÚstrÚSpanÚ ReprProcessorÚintÚSegmentÚ collectionsrrrr“Úcollections.abcÚMAX_EVENT_BYTESrˆr‰rrr#r'Úobjectr*r§rCr(r&úr¶sÂðØ € € € Ø € € € àÐÐÐÐÐððððððððððððððððððððððððððððððððð,Ð+Ð+Ð+Ð+Ð+àðØ#Ð#Ð#Ð#Ð#Ð#àÐÐÐÐÐØÐÐÐÐÐØ%Ð%Ð%Ð%Ð%Ð%ØÐÐÐÐÐØÐÐÐÐÐØÐÐÐÐÐØÐÐÐÐÐØÐÐÐÐÐà;Ð;Ð;Ð;Ð;Ð;Ð;Ð;à ��S�Œ>€Dà˜c 4¨¨S¨¤>Ð2°EÐ:LÈcÐ:QÔ4RÐRÔS€MØ�C˜�HŒo€Gðð Bð3Ð2Ð2Ð2Ð2Ð2Ð2Ð2Ð2Ð2à)Ð,AÑAÐÐð 7Ð6Ð6Ð6Ð6Ð6Ð6Ð6Ð6Ð6ð*Ð,AÑAÐð€ðÐØÐØ€ ðÐð-ð-ð-ð 2ð2ð2ð2ð2ˆ6ñ2ô2ð2ð@j)ðj)ðj)ðj)ðj)r(