Server : nginx/1.24.0 System : Linux ip-172-31-33-48 6.14.0-1011-aws #11~24.04.1-Ubuntu SMP Fri Aug 1 02:07:25 UTC 2025 x86_64 User : www-data ( 33) PHP Version : 8.3.6 Disable Function : NONE Directory : /lib/python3/dist-packages/cloudinit/__pycache__/ |
Upload File : |
� x[hm( � � � d dl Z d dlmZ d dlmZ d dlmZmZmZm Z d dl Z d dlmZ e j e� Z G d� d� Zd� Zd ee fd �Zdedee d ee fd�Z G d� de j( � Z G d� de j, j. � Z ej2 d� d e eeeef f fd�� Z ej2 d� dd�� Zy)� N)�defaultdict)�chain)�Any�Dict�List�Tuple)�performancec �T � e Zd Zdedej dej fd�Zd� Zd� Zy)�SchemaPathMarks�path� start_mark�end_markc �. � || _ || _ || _ y �N)r r r )�selfr r r s �4/usr/lib/python3/dist-packages/cloudinit/safeyaml.py�__init__zSchemaPathMarks.__init__ s � ��� �$��� �� � c �& � |j j | j j k s-|j j | j j kD ry|j j | j j k( r.|j j | j j k ry|j j | j j k( r.|j j | j j kD ryy)z;Return whether other start/end marks are within self marks.FT)r �liner �column�r �others r �__contains__zSchemaPathMarks.__contains__ s� � � ���!�!�D�O�O�$8�$8�8��~�~�"�"�T�]�]�%7�%7�7�����!�!�T�_�_�%9�%9�9�� � �'�'�$�/�/�*@�*@�@���N�N���4�=�=�#5�#5�5����%�%�� � �(<�(<�<��r c �v � | j j |j j k( xr� | j j |j j k( xr\ | j j |j j k( xr- | j j |j j k( S r )r r r r r s r �__eq__zSchemaPathMarks.__eq__/ s� � ��O�O� � �E�$4�$4�$9�$9�9� >����&�&�%�*:�*:�*A�*A�A� >�� � �"�"�e�n�n�&9�&9�9� >� � � �$�$����(=�(=�=� r N) �__name__� __module__�__qualname__�str�yaml�Markr r r � r r r r s. � �!�S� !�d�i�i� !�4�9�9� !� �& r r c �: � |d d d� D ] }| |v s�| |k( r�|c S y )N���r# )� child_mark�marks�marks r �_find_closest_parentr) 8 s2 � ��d��d�� �����j�D�&8��K�� r � line_marksc �D � | D ]� }t || � }|s�|j j dd� \ }}|j |j k( s&|j j |j � r�p|j j ||j d� |_ �� y)zP Update any SchemaPathMarks.path for items not under the proper parent. �.� N)r) r �rsplit� startswith�replace)r* r( �parent�path_prefix� _path_idxs r �_reparent_schema_mark_childrenr4 ? s� � � � K��%�d�J�7���%)�Y�Y�%5�%5�c�1�%=�"�K���y�y�F�K�K�'�t�y�y�/C�/C����0� !�I�I�-�-�k�6�;�;��J�� �Kr �new_markr'