OwlCyberSecurity - MANAGER
Edit File: stacks.cpython-311.pyc
� ������h4'�����������������������������d�Z�ddlmZmZ�ddlZddlZddlZddlZddlZddl m Z �ddlmZ��ej ��������d������������Z �dd�Zdd�Zd ��Zd ��Zdd�Ze dfd �Zdd�Zdd�Ze ddfd�ZdS�)z� raven.utils.stacks ~~~~~~~~~~~~~~~~~~~~~~~~~~ :copyright: (c) 2010-2012 by the Sentry Team, see AUTHORS for more details. :license: BSD, see LICENSE for more details. �����)�absolute_import�divisionN)� transform)� iteritemszcoding[:=]\s*([-\w.]+)c����������������������d}|�Vt����������|d������������rF �|���������������������|������������}n#�t����������t����������f$�r�d}Y�nw�xY�w|�|�����������������������������������}|�. �t����������j��������|�������������}n#�t����������t����������f$�r�Y�dS�w�xY�w|sdS�t����������d||z ��������������}t����������|dz���|z���t����������|������������������������} �d��|||����������D���������������}||������������������������������d������������} d��||dz���|����������D���������������} n#�t����������$�r�Y�dS�w�xY�wt����������|������������t����������| ������������t����������| ������������fS�) z� Returns context_lines before and after lineno from file. Returns (pre_context_lineno, pre_context, context_line, post_context). N� get_source�NNNr�������c������������������8�����g�|�]}|����������������������d���������������S��� ��strip��.0�lines��� �I/opt/cloudlinux/venv/lib64/python3.11/site-packages/raven/utils/stacks.py� <listcomp>z'get_lines_from_file.<locals>.<listcomp>A���s4������� �� �� ��� �J�J�v��� �� �� �����r ���c������������������8�����g�|�]}|����������������������d���������������S�r���r���r���s��� r���r���z'get_lines_from_file.<locals>.<listcomp>F���s4������� �� �� ��� �J�J�v��� �� �� r���)�hasattrr����ImportError�IOError� splitlines� linecache�getlines�OSError�max�min�lenr���� IndexError�slim_string)�filename�lineno� context_lines�loader�module_name�source�lower_bound�upper_bound�pre_context�context_line�post_contexts��� r����get_lines_from_filer.������s��������F� ��g�f�l�;�;�� ��&�&�{�3�3�F�F���W�%�� �� �� ���F�F�F� ���� ����&�&�(�(�F� �~� $��'��1�1�F�F����!�� $�� $�� $�#�#�#� $������� ����a��-�/�0�0�K��f�q�j�=�0�#�f�+�+�>�>�K� � �� ��{�6�1�2� �� �� ����f�~�+�+�F�3�3�� �� ���� �K�7�8� �� �� ������� �� �� ���� ���� � �K� � ��L�!�!��L�!�!���s4����,��A�A�A3��3B�B�AD �� D�Dc������������������8����� �|�|���������S�#�t�����������$�r�|cY�S�w�xY�w)z� f_locals is not guaranteed to have .get(), but it will always support __getitem__. Even if it doesn't, we return ``default``. )� Exception)�f_locals�key�defaults��� r����_getitem_from_framer4���U���s5������ ���}�����������������s���� ���c��������������������������t������������d������������r��j��������}n't������������d������������r��j��������}nt�������������������������t ������������fd��|��������������D���������������������������S�)zu Given something that closely resembles a dictionary, we attempt to coerce it into a propery dictionary. �iterkeys�keysc��������������3����,����K����|�]}|�|���������fV����d�S��N��)r����k�dictishs��� �r���� <genexpr>zto_dict.<locals>.<genexpr>l���s+�����������-�-�A��G�A�J��-�-�-�-�-�-r���)r���r6���r7���� ValueError�dict)r<����ms���` r����to_dictrA���`���ss������� ��w� �#�#��"����� ��&� !� !��"��L�����!�!�!��-�-�-�-�����-�-�-�-�-�-r���c��������������#��������K����|�rkt����������|�d������������r]t����������|�j��������di�������������}t����������|d������������s|�j��������t����������|�dd������������fV���|�j��������}�|�rt����������|�d�������������YdS�dS�dS�dS�)z� Given a traceback object, it will iterate over all frames that do not contain the ``__traceback_hide__`` local variable. �tb_framer1����__traceback_hide__� tb_linenoN)r����getattrrC���r4����tb_next)�tbr1���s��� r����iter_traceback_framesrI���o���s������������ �����Z�(�(�����2�;� �B�7�7��"�8�-A�B�B�� >��+�w�r�;��=�=�=�=�=�=� �Z�� � �����Z�(�(������������������r���c��������������#��������K����|�st����������j����������������������dd����������}�d��t����������|�������������D���������������D�],\��}}t����������|di�������������}t ����������|d������������s||fV����-dS�)z� Given an optional list of frames (defaults to current stack), iterates over all frames that do not contain the ``__traceback_hide__`` local variable. r ���Nc��������������3����6���K����|�]}|d����������|d���������fV����dS�)r�������Nr:���)r����fs��� r���r=���z$iter_stack_frames.<locals>.<genexpr>����s.����������A�A�1�1�Q�4��1��,�A�A�A�A�A�Ar���r1���rD���)�inspect�stack�reversedrF���r4���)�frames�framer$���r1���s��� r����iter_stack_framesrS�������s��������������%��������$��A�A���0@�0@�A�A�A�� �� � ��v��5�*�b�1�1��"�8�-A�B�B�� ���-����� �� r���i���c������������������D����t����������|�dd�������������}|sd�S�t����������|t����������������������s" �t����������|������������}n#�t����������$�r�Y�d�S�w�xY�wi�}d}t����������|������������D�]?\��}}�||������������}t ����������t����������|������������������������}||z���|k�����r |||<���||z ��}�@|S�)Nr1���r���)rF���� isinstancer?���rA���r0���r���r ����repr) rR����transformer�max_var_sizer1����f_vars�f_sizer;����v�v_sizes ��� r����get_frame_localsr]�������s��������u�j�$�/�/�H�����t��h��%�%��� ��x�(�(�H�H���� �� �� ��4�4� ������F� �F��(�#�#�������1��K��N�N���T�!�W�W�����F�?�\�)�)��F�1�I��f��F���Ms����<�� A � A ����c������������������B����d}g�}g�}|�D�]G}|dz ��}|����������������������d������������r|���������������������|��������������2|���������������������|��������������H||k����r|�S�||z ��}t����������|������������}t����������||z ��d������������}|rht ����������|dz��������������} || | �����������D�]I}|���������������������dd�������������|���������������������dd�������������|���������������������dd�������������|dz��}�JnL|D�]I}|���������������������dd�������������|���������������������dd�������������|���������������������dd�������������|dz��}�J|rg||z ��} t ����������| dz��������������} || | �����������D�]D}|���������������������dd�������������|���������������������dd�������������|���������������������dd��������������E|�S�) z~ Removes various excess metadata from middle frames which go beyond ``frame_allowance``. Returns ``frames``. r���r ����in_apprL����varsNr+���r-���)�get�appendr ���r����int�pop)rQ����frame_allowance� frames_len� app_frames� system_framesrR���� remaining� app_count�system_allowance�half_max� app_allowances��� r����slim_frame_dataro�������s�������J��J��M���(��(���a�� ��9�9�X���� (����e�$�$�$�$�� � ��'�'�'�'��_�$�$�� ��_�,�I��J���I��?�Y�6��:�:������'�!�+�,�,��"�8�X�I�#5�6�� �� �E��I�I�f�d�#�#�#��I�I�m�T�*�*�*��I�I�n�d�+�+�+���N�I�I� ��#�� �� �E��I�I�f�d�#�#�#��I�I�m�T�*�*�*��I�I�n�d�+�+�+���N�I�I���,�!�I�-� ��}�q�(�)�)����(�� 2�3�� ,�� ,�E��I�I�f�d�#�#�#��I�I�m�T�*�*�*��I�I�n�d�+�+�+�+��Mr�������c������������������d�����|�s|�S�t����������|�������������|k����r|�d�|dz ������������dz���S�|�d�|����������S�)N����z...)r ���)�value�lengths��� r���r"���r"�������sF����������� �5�z�z�F����[�f�q�j�[�!�E�)�)���&��>�r���Tc�����������������������d}g�}|�D��]�}t����������|t����������t����������f������������r|\��}}n |}|j��������}t ����������|di�������������} t����������| d������������r�Pt ����������|di�������������} t ����������|dd������������}|r|j��������j��������}|j��������j��������} nd}d} t����������| d������������}t����������| d������������}|r|d z��}|�|rt����������||d ||������������\��}}}nd\��}}} �t����������j��������|���������������������dd ������������d ������������������j ��������}|���������������������|���������������������t����������j��������d������������d ���������d ������������d������������������������������t����������j��������������������}n#�t$����������$�r�|}Y�nw�xY�w|s|}|||pd| pd|d z���d�}|rt'����������||�������������}|r||d<���|�|���������������������|||d��������������|���������������������|����������������dt-����������||�������������i}|S�)a�� Given a list of frames, returns a list of stack information dictionary objects that are JSON-ready. We have to be careful here as certain implementations of the _Frame class do not contain the necessary data to lookup all of the information we want. Tr1���rD���� f_globals�f_codeN� __loader__�__name__r �������r ����.r���rL������z <unknown>)�abs_pathr#����module�functionr$���)rW���ra���)r+���r,���r-���rQ���)rf���)rU����list�tuple�f_linenorF���r4���rw����co_filename�co_namer.����sys�modules�split�__file__�rsplit�os�sep�lstripr0���r]����updaterc���ro���)rQ���rW����capture_localsrf���rD����result� frame_inforR���r$���r1���rv���rw���r}���r���r&���r'���r+���r,���r-���� base_filenamer#����frame_resultrY���� stackinfos��� r����get_stack_infor��������s��������� �F���B$��B$� ��j�4��-�0�0�� )�&�M�E�6�6���E��(�F���5�*�b�1�1���x�)=�>�>�� ���E�;��3�3� ����$�/�/���� ��|�/�H��|�+�H�H��H��H�$�Y��=�=��)�)�Z�@�@���� ��a�K�F���(��#�H�f�a���M�M�� 4�K��|�|��7G�3�K��|� ��K��(9�(9�#�q�(A�(A�!�(D�E�N�M��~�~��$�$�R�V�Q�/�/��2�A�7��7�79�;�;A�6�"�&�>�>�� �H���� �� �� ��H�H�H� ������� ��H��!� �!�)�T� �/�K��q�j� �� ����� .�%�e��E�E�E�F��� .�'-��V�$��#����*� ,� ,�!��!�� �� �� � � � � �l�#�#�#�#�� �/�&�/�J�J�J��I���s����"BE1�1F��?F�)NNr9���)r^���)rp���)�__doc__� __future__r���r���rN���r����rer����r�����raven.utils.serializerr����raven.utils.compatr����compile� _coding_rer.���r4���rA���rI���rS���r]���ro���r"���r����r:���r���r����<module>r�������sc��������1��0��0��0��0��0��0��0��������������� � � � �� � � � �� � � � ��,��,��,��,��,��,��(��(��(��(��(��(���R�Z�1� 2� 2� ��26�;��;��;��;�|�������.��.��.������" �� �� �� ��)2����������00��0��0��0�f��������(1��#%�U��U��U��U��U��Ur���