� ���g�m���ddlZddlZddlZddlZddlmZddlmZ ddlmZn #e $rdZYnwxYwdZ e�rqddl m Z m Z ddlmZmZmZmZmZmZmZmZmZmZmZmZmZmZeeeeeee fedfZed Zed id eed eeeeff�d e�deeeee ff�de�dee!�de�deeeef�de�deed eeeeff�de�de�de�deeef�dee�ded�de �de�eee feeeee feee feeeeed eeeeffeeeedeee feee fd� �d �!��Z"ed"d#d#��Z#ej$d$��Z%d%Z&d&�Z'd'�Z(dPd(�Z)Gd)�d*��Z*ered+��Z+ee*e+fZ,d,�Z-d-�Z.d.d/d0e/fd1�Z0d2�Z1 dd3�Z2 dPd4�Z3d5�Z4d6�Z5d7�Z6 dQd9�Z7 dRd:�Z8d;�Z9d<�Z: dSd=�Z;e<e=d>��Z>e>rd?�Z?nd@�Z? dTdA�Z@ dUdB�ZAdC�ZBdD�ZCdE�ZDddF�ZEdPdG�ZFdH�ZG dUdI�ZHdJ�ZIdK�ZJdL�ZKdM�ZLdN�ZMdPdO�ZNdS)V�N)�datetime)� TYPE_CHECKING)�BaseExceptionGroupi)� FrameType� TracebackType)�Any�Callable�Dict�Iterator�List�Literal�Optional�Set�Tuple�Type� TypedDict�TypeVar�Union�cast)NNN)�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� timestampr1�type�user�_metrics_summaryF)�totali��z^[a-zA-Z0-9/+=]*$z [Filtered]c�:�|tz ���S�N)�epoch� total_seconds��values �g/home/asafur/pinokio/api/open-webui.git/app/env/lib/python3.11/site-packages/posthog/exception_utils.py� to_timestamprFks�� �E�M� (� (� *� *�*�c�,�|�d��S)Nz%Y-%m-%dT%H:%M:%S.%fZ)�strftimerCs rE�format_timestamprJps�� �>�>�1� 2� 2�2rGc�h�|�tj��}nt|��}|d�d}d|iS)z+Creates a hint with the exc info filled in.Nr�exc_info)�sysrL�exc_info_from_error�rLs rE�event_hint_with_exc_inforPus>�����<�>�>���&�x�0�0����{���� �� !�!rGc�d�eZdZdZdZd�Zd�Zed���Zed���Z ed���Z dS) �AnnotatedValuea Meta information for a data field in the event payload. This is to tell Relay that we have tampered with the fields value. See: https://github.com/getsentry/relay/blob/be12cd49a0f06ea932ed9b9f93a655de5d6ad6d1/relay-general/src/types/meta.rs#L407-L423 �rD�metadatac�"�||_||_dSr@rS)�selfrDrTs rE�__init__zAnnotatedValue.__init__�s���� � �� � � rGc�p�t|t��sdS|j|jko|j|jkS)NF)� isinstancerRrDrT)rV�others rE�__eq__zAnnotatedValue.__eq__�s6���%��0�0� ��5��z�U�[�(�L�T�]�e�n�-L�LrGc�.�tddddggi���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�xrS�rR��clss rE�removed_because_raw_dataz'AnnotatedValue.removed_because_raw_data�s6����������  �  �  � rGc�.�tddddggi���S)z�The actual value was removed because the size of the field exceeded the configured maximum size (specified with the max_request_body_size sdk option)r]r^�!configr_rSr`ras rE�removed_because_over_size_limitz.AnnotatedValue.removed_because_over_size_limit�s6�����!�����  �  �  � rGc�8�ttdddggi���S)zHThe actual value was removed because it contained sensitive information.r^re�srS)rR�SENSITIVE_DATA_SUBSTITUTEras rE�+substituted_because_contains_sensitive_dataz:AnnotatedValue.substituted_because_contains_sensitive_data�s6���+��!�����  �  �  � rGN) �__name__� __module__� __qualname__�__doc__� __slots__rWr[� classmethodrcrfrj�rGrErRrR�s���������&�I�!�!�!� M�M�M��  �  ��[�  ��  �  ��[�  ��  �  ��[�  �  �  rGrR�Tc�F�t|dd��pt|dd��S)Nrmrk��getattrras rE� get_type_namerv�s%�� �3��� -� -� O���j�$�1O�1O�OrGc�4�t|dd��}|dvr|SdS)Nrl)N�builtins� __builtins__rt)rb�mods rE�get_type_moduler{�s)�� �#�|�T� *� *�C� �4�4�4�� � �4rG�framer�returnc��� |jd}|�d��rdSn#ttf$rYnwxYwdD]#} |j|rdS�#t $rY� wxYwdS)Nrkz sentry_sdk.T)�__traceback_hide__�__tracebackhide__F)� f_globals� startswith�AttributeError�KeyError�f_locals� Exception)r|rz� flag_names rE�should_hide_framer��s��� ��o�j�)�� �>�>�-� (� (� ��4� �� �H� %� � � � �� ����?��� � ��~�i�(� ��t�t� ��� � � � �D� ���� �5s�"'�;�;� A� A!� A!c#�XK�|}|�#t|j��s|V�|j}|�!dSdSr@)r��tb_frame�tb_next)�tb�tb_s rE� iter_stacksr��sA���� �C� �/� ���.�.� ��I�I�I��k�� �/�/�/�/�/rGc���d}d}|�Vt|d��rF |�|��}n#ttf$rd}YnwxYw|�|���}|�2 t j|��}n#ttf$rgdgfcYSwxYw|sgdgfStd||z ��}t|dz|zt|����} �fd�|||�D��} t||� d������} �fd�||dz| �D��} | | | fS#t$rgdgfcYSwxYw) N�� get_sourcerr>c�X��g|]&}t|�d��������'S�� �� max_length�� strip_string�strip��.0�liner�s �rE� <listcomp>z'get_lines_from_file.<locals>.<listcomp>s3���v�v�v�SW�|�D�J�J�v�$6�$6�:�N�N�N�v�v�vrGr�r�c�X��g|]&}t|�d��������'Sr�r�r�s �rEr�z'get_lines_from_file.<locals>.<listcomp>sB��� � � �� ����F�+�+� � C� C� C� � � rG)�hasattrr�� ImportError�IOError� splitlines� linecache�getlines�OSError�max�min�lenr�r�� IndexError) �filename�linenor��loader�module� context_lines�source� source_str� lower_bound� upper_bound� pre_context� context_line� post_contexts ` rE�get_lines_from_filer��s�����M� �F� ��g�f�l�;�;�� ��*�*�6�2�2�J�J���W�%� � � ��J�J�J� ���� � !��*�*�,�,�F� �~� ��'��1�1�F�F����!� � � ��t�R�<� � � � ���� ���4��|���a��-�/�0�0�K��f�q�j�=�0�#�f�+�+�>�>�K� �v�v�v�v�[a�bm�nt�bt�[u�v�v�v� �#�F�6�N�$8�$8��$@�$@�Z�X�X�X� � � � � ���� �k�9�:� � � � ��L�,�6�6�� �����4��|�������s4�/�A�A�!A6�6B�B�AD.�.E�?Ec�� |jj}n#t$rd}YnwxYw |jd}n#t$rgdgfcYSwxYw |jd}n#t$rd}YnwxYw|dz }|�|rt |||||���SgdgfS)Nrk� __loader__r>)r�r�)�f_code� co_filenamer�r�r�)r|� tb_lineno�max_value_length�abs_pathr�r�r�s rE�get_source_contextr� s��� ��<�+���� ����������������,���� �����4��|������������.���� ������������ ��]�F� ��h��"�8�V�5E�f�]c�d�d�d�d� �t�R�<�s-� � �� 0�A�A� A� A#�"A#c�`� t|��S#t$rt|��cYSwxYwr@)�strr�� safe_reprrCs rE�safe_strr�8sB�� ��5�z�z��� � � � �������� ���s ��-�-c�D� t|��S#t$rYdSwxYw)Nz <broken repr>)�reprr�rCs rEr�r�@s5����E�{�{��� ����������s �� �c���|r|s|S |�d��r |dd�}|�dd��d}||krtj�|��St j|j}|s|S|�|�tj d��dd��d� tj ��S#t$r|cYSwxYw)Nz.pyc������.r>r�) �endswith�split�os�path�basenamerMr*�__file__�rsplit�sep�lstripr�)r�r�� base_module�base_module_paths rE�filename_for_moduler�Hs��� ��6����� � � �V� $� $� %�����}�H��l�l�3��*�*�1�-� � �&� � ��7�#�#�H�-�-� -��;�{�3�<��� ��O��~�~�.�5�5�b�f�a�@�@��C�Q�G�G��K�R�R�SU�SY�Z�Z�Z�� �����������s�AC �(C �AC � C/�.C/Tc�x�t|dd��}|sd}d}n|jj}|jj} |jd} n#t $rd} YnwxYw|�|j}dt| |��pd|rtj � |��nd|pd| |d�} |rt|||��\| d<| d<| d<|r | S) Nr�rkr-z <unknown>)r,r�r��functionr�r�r�r�r�) rur�r��co_namer�r��f_linenor�r�r��abspathr�) r|r��include_local_variables�include_source_contextr�� custom_reprr�r�r�r��rvs rE�serialize_framer�^s���U�H�d� +� +�F� �(�������<�+���<�'������,���� ���������������N� ��'���9�9�A�T�19�C�B�G�O�O�H�-�-�-�t��+� ���  � �B�� �DV� �9�.�E �E �A��=��2�n�-�r�.�/A�� � � �Is� A� A�Ac���d}g}tj��}|�>t|��s&|�t ||||�����|j}|�>|���|dd�S)NT)r�r�r��raw��framesr:)rM� _getframer��appendr��f_back�reverse)r�r�r�r�r��fs rE�current_stacktracer��s��� �� �F� � ���A� �-� ��#�#� � �M�M���,C�+A�%5� ��� � � � �H�� �-� �N�N�����e� ,� ,�,rGc�$�t|dd��S)N�errnort�� exc_values rE� get_errnor��s�� �9�g�t� ,� ,�,rGc�d�t|dd��pt|dd��pt|��S)Nr)r]�detail)rur�r�s rE�get_error_messager��s4�� �9�i�� ,� ,� g�� �8�R�0P�0P� g�T\�]f�Tg�Tg�grGc�0� ����i}|r|���nddd�|d<|� ||dd<|�t|��} nd} | �D|d�di���di���d | ��|� ||dd <|d k} | s|�||dd <d |dd<| rd|dvr d|dd<tduot |t��} | r d|dd<t |��|d<t |��|d<t|��|d<|�d�d�t�d� n-|d�|d�|d�|� d��� � ���fd�t|��D��} | r| dd�|d<|S)z� Creates a dict that goes into the events `exception.values` list and is ingestible by Sentry. See the Exception Interface documentation for more details: https://develop.sentry.dev/sdk/event-payloads/exception/ �genericT)r:�handled� mechanismN� exception_id�metar��numberr�r� parent_id�chainedr:�is_exception_groupr�rDr�r�r�r�c �N��g|]!}t|j|j���������"S))r�r�r�r�r�)r�r�r�)r�r�r�r�r�r�s ����rEr�z5single_exception_from_error_tuple.<locals>.<listcomp>�sP��� � � � � � �K��l�$;�#9�-�#�  � � � � � rGr�r�r5) �copyr�� setdefaultrrYr{rvr��DEFAULT_MAX_VALUE_LENGTH�getr�)�exc_typer�r��client_optionsr�r�r�r��exception_valuer��is_root_exceptionr�r�r�r�r�r�s @@@@rE�!single_exception_from_error_tupler�s:������"�O�7@�#j�9�>�>�#3�#3�#3�y�ei�Fj�Fj�O�K� ���7C�� �$�^�4����)�$�$����� ��� �$�/�/���;�;�F�F�w�PR�S�S�^�^�_g�in�o�o�o� ��17�� �$�X�.�$��)�� �9��!6�4=�� �$�[�1�/8�� �$�V�,��9�V�?�;�+G�G�G�/8�� �$�V�,�+�4�7�e�J�y�Rd�<e�<e���B�=A�� �$�%9�:� /�� 9� 9�O�H��+�H�5�5�O�F��0��;�;�O�G����"&��!%��3��� � �"0�1J�"K��!/�0H�!I��)�*<�=��$�(�(��7�7� � � � � � � � ��b�/�/� � � �F��J�39�5�(I�(I�� �%� �rG�__suppress_context__c#�K�|\}}}g}t��}|��|��t|��|vr�|||fV�|�|��|�t|����|jr|j}n|j}|�dSt|��}|}t|dd��}|�|�t|��|v��dSdSdSdSdSdS)N� __traceback__) �set�idr��addr� __cause__� __context__r:ru)rLrr�r��seen_exceptions�seen_exception_ids�causes rE�walk_exception_chainrs ����"*���)�R��� �U�U���"�y�'<��I���Vh�Ah�Ah��I�r�)� )� )� )� � "� "�9� -� -� -� � "� "�2�i�=�=� 1� 1� 1��-� .�!�+���!�-���}����E�{�{�H��I�����6�6�B�#�"�y�'<��I���Vh�Ah�Ah�Ah�Ah�"�"�'<�'<�Ah�Ah�"�"�'<�'<rGc#�K�|V�dSr@rqrOs rErr#s���������rGc �0�t||||||||���}|g} |}|dz }t|d��o|j} | ro|ot|d��o|jdu} | rQ|j} t t | ��| t | dd��|||d���\}} | �| ��nn|ot|d��o|jdu}|rQ|j}t t |��|t |dd��|||d���\}} | �| ��|ot|d ��}|rht|j ��D]S\}}t t |��|t |dd��||||d |z���\}} | �| ���T|| fS) z� Creates the list of exceptions. This can include chained exceptions and exceptions from an ExceptionGroup. See the Exception Interface documentation for more details: https://develop.sentry.dev/sdk/event-payloads/exception/ )rr�r�rr�r�r�r�r>rr Nr)rr�r�rr�r�r�r � exceptionszexceptions[%s]) rr�rr �exceptions_from_errorr:ru�extendr � enumerater)rr�r�rr�r�r�r��parentr�should_supress_context�exception_has_causer�child_exceptions�exception_has_content�contextr��idx�es rErr(s1��&/��� �%��!��� � � �F���J��I��A��L�$�Y�0F�G�G�j�I�Lj��� 0�(�o�G�I�{�,K�,K�o�PY�Pc�ko�Po�� � 0��'�E�/D��e�����5�/�4�8�8�-�#�)�"�0�0�0� ,�\�+� � � �.� /� /� /�� !*� u�g�i��.O�.O� u�T]�Ti�qu�Tu�� � 0��+�G�/D��g���!��7�O�T�:�:�-�#�)�$�0�0�0� ,�\�+� � � �.� /� /� /�#�G�w�y�,�'G�'G��� 0�� � 4�5�5� 0� 0�F�C��/D��a�����1�o�t�4�4�-�#�)�#�'�#�-� 0� 0� 0� ,�\�+� � � �.� /� /� /� /� �*� %�%rGc �*�|\}}}tduot|t��}|rt|||||dd���\}}n>g}t|��D],\}}}|�t |||||�����-|���|S)Nr)rr�r�rr�r�r�)rrYrrr�rr�) rLrr�rr�r�r��_rs rE�exceptions_from_error_tupler!�s��� '��H�i��+�4�7�e�J�y�Rd�<e�<e���u�/����)���� � � ���J�J�� �';�H�'E�'E� u� u� #�H�i�� � � �?��)�UW�Yg�ir�s�s� t� t� t� t������� �rGc�p� t|��S#t$rt|��dd�cYSwxYw)Nr>r�)r��UnicodeDecodeErrorr�rCs rE� to_stringr$�sI��!��5�z�z��� �!�!�!��E�{�{�1�R�4� � � � �!���s ��!5�5c#��K�d|vr |dV�d|vr.|d�d��pdD]}d|vr |dV��d|vr.|d�d��pdD]}d|vr |dV��dSdS)Nr5r8rrqr&)r�)�event�threadr&s rE�iter_event_stacktracesr(�s������u����L�!�!�!�!��E����I�&�*�*�8�4�4�:�� +� +�F��v�%�%��\�*�*�*�*���e����{�+�/�/��9�9�?�R� .� .�I��y�(�(�� �-�-�-�-���� .� .rGc#�jK�t|��D] }|�d��pdD]}|V���!dS)Nr�rq)r(r�)r&r5r|s rE�iter_event_framesr*�sW����,�U�3�3��� ��^�^�H�-�-�3�� � �E��K�K�K�K� ��rGc�v�t|��D](}t|�d��|||����)|S)Nr�)�in_app_exclude�in_app_include� project_root)r(�set_in_app_in_framesr�)r&r,r-r.r5s rE� handle_in_appr0�sT��,�U�3�3� � � �� �N�N�8� $� $�)�)�%�  � � � � � �LrGc�P�|sdS|D]�}|�d��}|��|�d��}t||��rd|d<�Et||��rd|d<�[|�d��}|��st|��rd|d<��t||��rd|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 rEr/r/�s��� ���t��������8�,�,�� � %� ����8�$�$�� �6�>� 2� 2� �"�E�(�O� � �6�>� 2� 2� �#�E�(�O� ��9�9�Z�(�(�� � � � �x� (� (� �#�E�(�O� � �x�� 6� 6� �"�E�(�O� � � �MrGc��t|t��rt|��dkr|\}}}n�t|t��rTt |dd��}|�t |��}|}nNt j��\}}}||urd}|}t |��}ntdt |��z���|||f}trtt|��}|S)N�rz,Expected Exception object to report, got %s!) rY�tupler�� BaseExceptionrur:rMrL� ValueErrorrr�ExcInfo)rrr�r�rLs rErNrN�s����%����W�C��J�J�!�O�O�"'���)�R�R� �E�=� )� )� W� �U�O�T� 2� 2�� �>��E�{�{�H��I�I�&)�l�n�n� #�H�i����%�%���!� ���;�;����G�$�u�+�+�U�V�V�V��)�R�(�H��+����*�*�� �OrGc�n�t|��}t|��}ddt|||��id�|fS)Nrr)r'r&)rNrPr!)rLrr��hints rE�event_from_exceptionr? sR�� #�8�,�,�H� #�H� -� -�D��"�$?��.�Zc�$d�$d�e� � � �  �rGc�b�|�dS|sdS|D]#}||ks|�|dz��rdS�$dS)NFr�T�r�)�name�items�items rEr3r3sX�� �|��u� ���u����� �4�<�<�4�?�?�4�#�:�6�6�<��4�4� � �5rGc�4�tjd|��du}|S)Nz [\\/](?:dist|site)-packages[\\/])�re�search)r��external_sources rEr4r4-s"���i� C�X�N�N�VZ�Z�O� �rGc�<�|�dS|�|��rdSdS)NFTrA)r�r.s rEr5r54s/�����u����<�(�(���t� �5rGc�v�|�d��d|dz ��dd���}|dzS)zd Truncate a UTF-8-encodable string to the last full codepoint so that it fits in max_bytes. �utf-8Nr8�ignore)r$�...)�encode�decode)�string� max_bytes� truncateds rE�_truncate_by_bytesrS@s@�� � � �g�&�&���Q���7�>�>�w�x�>�X�X�I� �u� �rGc�x� t|�d����S#ttf$rYdSwxYw)NrK)r�rN�UnicodeEncodeErrorr#rCs rE�_get_size_in_bytesrVJsI����5�<�<��(�(�)�)�)�� � 2� 3�����t�t����s �!$�9�9c���|s|S|�t}t|��}t|��}|�||krt||��}n|�||kr|d|dz �dz}n|St ||p|dd|dz |ggd����S)Nr8rMz!limitr_)r�r^rS)r�rVr�rSrR)rDr�� byte_size� text_size�truncated_values rEr�r�Rs��� ��� ���-� �"�5�)�)�I��E� � �I����Z�!7�!7�,�U�J�?�?��� � �9�z�#9�#9�� 0�*�q�.� 0�1�E�9���� � ���)� ��s�J��N�J�?�@� � � � � �rGr@)NTTNN)TTN)NNNNN)NNrrN)NN)Or�r�rFrMr�typingrrxrr�r��typesrrrr r r r r rrrrrrrrr:r<� LogLevelStrr��object�floatrrA�compile�BASE64_ALPHABETrirFrJrPrRrr� Annotatedrvr{�boolr�r�r�r�r�r�r�r�r�r�r�rr�r��HAS_CHAINED_EXCEPTIONSrrr!r$r(r*r0r/rNr?r3r4r5rSrVr�rqrGrE�<module>res������� � � � � � � � � � � � ������� � � � � � ��+�+�+�+�+�+�+��������������  ���F�.�.�.�.�.�.�.�.���������������������������������"� �d�=�!�=�(�=�2I�I�J� ��� !��G��R�S�K� �I��( � �4��� 1�4��S�#�X��3G� G�H�( � �3�( � ��S�$�s�F�{�"3�3�4�( � �C� ( � ���� ( � �3� ( � �d�4��S��>�*�( � ��( � ��g�h�/��d�3��8�n�1E�E�F�( � �[�( � �c�( � �s�!( �" �t�C��H�~�#( �& �H�S�M�'( �( ���)�)( �* �v�+( �, �s�-( �.�C��K�(���$�s�F�{�+�,��s�F�{�+�'��s�m��G�H�-�t�D��c��N�/C�C�D�!�(�+���5�6���f��%� $�S�&�[� 1�O( �( �( �R�W, �, �, �E�^ ���q�!�����"�*�1�2�2��(��+�+�+� 3�3�3� "� "� "� "�D �D �D �D �D �D �D �D �N�)���� � �A��n�a�'�(�I�P�P�P� ����[��T�����$���� � � (�(�(�(�\�����0 � � �������0� ���� /�/�/�/�f!���-�-�-�-�6-�-�-� h�h�h����� �K�K�K�K�\!���,B�C�C��� �7�7�7�7�8������� �U&�U&�U&�U&�t������>!�!�!� .� .� .���� � � � �$�$�$�$�N���>������" � � ���� � � ������������s �%�/�/
Memory