
    *CeJ                         d dl mZ d dlZd dlZd dlmZmZmZ ddlm	Z	 ddl
mZmZ ddlmZ ddlmZ dd	lmZ dd
lmZmZmZmZmZmZmZ dee   dedefdZdee   deeef   defdZeeeeeeeeeeeeegZy)    )StringION)UnionListIO   )lib)NetDefinitionNetDefinitionIterator)Parser)State)_checked_lib_call)NetplanExceptionNetplanBackendExceptionNetplanEmitterExceptionNetplanFileExceptionNetplanFormatExceptionNetplanParserExceptionNetplanValidationExceptionprefix
input_fileoutput_filec                    t        |t              rqt        j                  d      }|j	                         }t        j
                  ||j                  d             t        j                  |dt        j                         n|j                         }t        |t              rt        j                  d      }n|j                         }t        t        j                  dj                  |       j                  d      ||       t        |t              rt        j                  |       t        |t              rt        j                  |dt        j                        }t        j                  |dt        j                         t        j                   ||      }|j                  |j#                  d             t        j                  |       y y )Nnetplan_temp_input_file)nameutf-8r   netplan_temp_output_file	)
isinstancer   osmemfd_creategetvaluewriteencodelseekSEEK_SETfilenor   r   netplan_util_dump_yaml_subtreejoincloseSEEK_CURreaddecode)r   r   r   input_fddata	output_fdsizes          2/usr/lib/python3/dist-packages/netplan/__init__.py_dump_yaml_subtreer2       s6   *h'??(AB""$
4;;w/0
1bkk*$$&+x(OO)CD	&&(	c88$))F:K:R:RSZ:[]egpq*h'
+x(xx	1bkk2
Ar{{+wwy$'$++g./
 )    patch_object_pathpatch_payloadpatch_outputc                     t        |t              rt        j                  |      }t	        t
        j                  dj                  |       j                  d      |j                  d      |j                                y )Nr   r   )
r   dictjsondumpsr   r   netplan_util_create_yaml_patchr(   r#   r&   )r4   r5   r6   s      r1   _create_yaml_patchr<   ;   s\    -&

=1c88ii 1299'B#**73"))+-r3   )ior   r9   r   typingr   r   r   _netplan_cffir   netdefr	   r
   parserr   stater   _utilsr   r   r   r   r   r   r   r   strr2   r8   r<   __all__ r3   r1   <module>rG      s       	 " "  8   %1 1 1tCy b r 6-$s) -E#t)DT -df - 5-)>146M!79O%	'r3   