
    g	                     f    S SK Jr  S SKJrJr  SSKJrJr  SSKJ	r	   " S S\5      r
 " S S	5      rg
)    )IntEnum)UnionIO   )ffilib)_checked_lib_callc                       \ rS rSrSrSrg)Flags   r    N)__name__
__module____qualname____firstlineno__IGNORE_ERRORS__static_attributes__r       0/usr/lib/python3/dist-packages/netplan/parser.pyr   r      s    Mr   r   c                       \ rS rSrS rS rS\\\4   4S jr	SS\4S jjr
S\4S	 jrS\4S
 jrS\S\4S jr\S\4S j5       r\R"                  S\4S j5       r\S\4S j5       rSrg)Parser   c                 8    [         R                  " 5       U l        g N)r   netplan_parser_new_ptrselfs    r   __init__Parser.__init__   s    **,	r   c                 r    [         R                  " SU R                  5      n[        R                  " U5        g )NzNetplanParser **)r   newr   r   netplan_parser_clear)r   refs     r   __del__Parser.__del__   s%    gg($))4  %r   
input_filec                     [        U[        5      (       a4  [        [        R                  U R
                  UR                  S5      5      $ [        [        R                  U R
                  UR                  5       5      $ Nzutf-8)	
isinstancestrr	   r   netplan_parser_load_yamlr   encode netplan_parser_load_yaml_from_fdfilenor   r'   s     r   	load_yamlParser.load_yaml#   sW    j#&&$S%A%A499jN_N_`gNhii$S%I%I499V`VgVgVijjr   Nrootdirc                     U(       a  UR                  S5      O[        R                  n[        [        R
                  U R                  U5      $ r)   )r-   r   NULLr	   r   "netplan_parser_load_yaml_hierarchyr   )r   r3   roots      r   load_yaml_hierarchyParser.load_yaml_hierarchy)   s2    *1w~~g&sxx !G!GTXYYr   c                 j    [        [        R                  U R                  UR	                  S5      5      $ r)   )r	   r   netplan_parser_load_keyfiler   r-   r0   s     r   load_keyfileParser.load_keyfile-   s'     !@!@$))ZM^M^_fMghhr   c                 h    [        [        R                  U R                  UR	                  5       5      $ r   )r	   r   #netplan_parser_load_nullable_fieldsr   r/   r0   s     r   load_nullable_fieldsParser.load_nullable_fields0   s%     !H!H$))U_UfUfUhiir   
constraintc                     [        [        R                  U R                  UR	                  5       UR                  S5      5      $ r)   )r	   r   &netplan_parser_load_nullable_overridesr   r/   r-   )r   r'   rB   s      r   _load_nullable_overridesParser._load_nullable_overrides3   s9     !K!K!%J,=,=,?ARARSZA[] 	]r   returnc                 B    [         R                  " U R                  5      $ r   )r   netplan_parser_get_flagsr   r   s    r   flagsParser.flags7   s    ++DII66r   rJ   c                 N    [        [        R                  U R                  U5      ng r   )r	   r   netplan_parser_set_flagsr   )r   rJ   _s      r   rJ   rK   ;   s    c::DIIuMr   c                 B    [         R                  " U R                  5      $ r   )r   netplan_parser_get_error_countr   r   s    r   error_countParser.error_count?   s    11$))<<r   )r   r   )r   r   r   r   r   r%   r   r+   r   r1   r8   r<   r@   rE   propertyintrJ   setterrQ   r   r   r   r   r   r      s    -&kE#r'N kZ3 Zis ijr j]2 ]3 ] 7s 7 7 \\N3 N N =S = =r   r   N)enumr   typingr   r   _netplan_cffir   r   _utilsr	   r   r   r   r   r   <module>rZ      s)       # %G &= &=r   