+
    €DAiˆ5  ã                   óè   € ^ RI Ht ^ RIHt ^RIHtHt ^RIHtH	t	  ! R R4      t
 ! R R4      t ! R	 R
4      t ! R R4      t ! R R4      t ! R R4      t] ! R R4      4       t ! R R4      tR# )é    )Ú	dataclass)ÚOptional)ÚffiÚlib)Ú_string_realloc_call_no_errorÚNetplanExceptionc                   ó&  a € ] tR t^t o R tV 3R lR ltR<V 3R lR llt]V 3R lR l4       t]V 3R	 lR
 l4       t	]V 3R lR l4       t
]V 3R lR l4       t]V 3R lR l4       t]V 3R lR l4       t]V 3R lR l4       t]V 3R lR l4       t]V 3R lR l4       t]V 3R lR l4       t]V 3R lR l4       t]V 3R lR l4       t]V 3R lR  l4       t]V 3R! lR" l4       t]V 3R# lR$ l4       t]V 3R% lR& l4       t]V 3R' lR( l4       t]V 3R) lR* l4       t]V 3R+ lR, l4       t]V 3R- lR. l4       t]V 3R/ lR0 l4       t]V 3R1 lR2 l4       t]V 3R3 lR4 l4       t]V 3R5 lR6 l4       t]V 3R7 lR8 l4       t ]V 3R9 lR: l4       t!R;t"V t#R# )=ÚNetDefinitionc                ó   € W n         Wn        R # ©N)Ú_ptrÚ_parent)ÚselfÚnp_stateÚptrs   &&&Ú0/usr/lib/python3/dist-packages/netplan/netdef.pyÚ__init__ÚNetDefinition.__init__   s   € ØŒ	ð  Žó    c                ó$   <€ V ^8„  d   QhRRRS[ /# )é   Úotherr
   Úreturn©Úbool)ÚformatÚ__classdict__s   "€r   Ú__annotate__ÚNetDefinition.__annotate__   s   ø€ ÷ 'ñ '˜Oð '±ñ 'r   c                ó\   € \        VR 4      '       g   R# V P                  VP                  8H  # )r   F)Úhasattrr   )r   r   s   &&r   Ú__eq__ÚNetDefinition.__eq__   s%   € Ü�u˜f×%Ò%ÙØ�y‰y˜EŸJ™JÑ&Ð&r   Nc                ó2   <€ V ^8„  d   QhRS[ RS[ RS[ RS[/# )r   Ú
iface_nameÚiface_driverÚ	iface_macr   )Ústrr   )r   r   s   "€r   r   r   #   s1   ø€ ÷ Iñ I©3ð IÁSð IÑ\_ð IÑkoñ Ir   c           
     óT  € \        \        P                  ! V P                  V'       d   VP	                  R 4      M\
        P                  V'       d   VP	                  R 4      M\
        P                  V'       d   VP	                  R 4      4      4      # \
        P                  4      4      # ©úutf-8)r   r   Únetplan_netdef_match_interfacer   Úencoder   ÚNULL)r   r%   r&   r'   s   &&&&r   Ú_match_interfaceÚNetDefinition._match_interface#   s~   € Ü”C×6Ò6Ø�I‰Iß*4ˆJ×Ñ˜gÔ&¼#¿(¹(ß)2ˆI×Ñ˜WÔ%¼¿¹ß,8ˆL×Ñ Ó(ó	Hó Ið 	Iô ?B¿h¹hó	Hó Ið 	Ir   c                ó   <€ V ^8„  d   QhRR/# )r   r   Ú_NetdefAddressIterator© )r   r   s   "€r   r   r   +   s   ø€ ÷ 1ñ 1Ð3ñ 1r   c                ó,   € \        V P                  4      # r   )r2   r   ©r   s   &r   Ú	addressesÚNetDefinition.addresses*   s   € ä% d§i¡iÓ0Ð0r   c                ó    <€ V ^8„  d   QhRS[ /# ©r   r   r   )r   r   s   "€r   r   r   /   ó   ø€ ÷ =ñ =‘tñ =r   c                óT   € \        \        P                  ! V P                  4      4      # r   )r   r   Únetplan_netdef_get_dhcp4r   r5   s   &r   Údhcp4ÚNetDefinition.dhcp4.   ó   € ä”C×0Ò0°·±Ó;Ó<Ð<r   c                ó    <€ V ^8„  d   QhRS[ /# r9   r   )r   r   s   "€r   r   r   3   r:   r   c                óT   € \        \        P                  ! V P                  4      4      # r   )r   r   Únetplan_netdef_get_dhcp6r   r5   s   &r   Údhcp6ÚNetDefinition.dhcp62   r?   r   c                ó    <€ V ^8„  d   QhRS[ /# r9   )Úlist)r   r   s   "€r   r   r   7   s   ø€ ÷ ñ ™Dñ r   c                ó
  € . p\        \        P                  ! V P                  4      4      '       d   VP	                  R 4       \        \        P
                  ! V P                  4      4      '       d   VP	                  R4       V# )Úipv4Úipv6)r   r   Ú"netplan_netdef_get_link_local_ipv4r   ÚappendÚ"netplan_netdef_get_link_local_ipv6)r   Ú	linklocals   & r   Ú
link_localÚNetDefinition.link_local6   s]   € àˆ	Ü”×6Ò6°t·y±yÓA×BÒBØ×Ñ˜VÔ$Ü”×6Ò6°t·y±yÓA×BÒBØ×Ñ˜VÔ$ØÐr   c                ó0   <€ V ^8„  d   QhRS[ S[,          /# r9   )r   r   )r   r   s   "€r   r   r   @   s   ø€ ÷ 
ñ 
™8¡D�>ñ 
r   c                ój   € \         P                  ! V P                  4      pV^8X  d   R# V^8X  d   R# R# )é   TFN)r   Únetplan_netdef_get_accept_rar   )r   Úvalues   & r   Ú	accept_raÚNetDefinition.accept_ra?   s/   € ô
 ×0Ò0°·±Ó;ˆØ�AŒ:ÙØ�aŒZÙár   c                ó   <€ V ^8„  d   QhRR/# )r   r   Ú_NetdefNameserverIteratorr3   )r   r   s   "€r   r   r   M   s   ø€ ÷ 4ñ 4Ð&Añ 4r   c                ó,   € \        V P                  4      # r   )rX   r   r5   s   &r   Únameserver_addressesÚ"NetDefinition.nameserver_addressesL   s   € ä(¨¯©Ó3Ð3r   c                ó   <€ V ^8„  d   QhRR/# )r   r   Ú_NetdefSearchDomainIteratorr3   )r   r   s   "€r   r   r   Q   s   ø€ ÷ 6ñ 6Ð#@ñ 6r   c                ó,   € \        V P                  4      # r   )r]   r   r5   s   &r   Únameserver_searchÚNetDefinition.nameserver_searchP   s   € ä*¨4¯9©9Ó5Ð5r   c                ó   <€ V ^8„  d   QhRR/# )r   r   Ú_NetdefRouteIteratorr3   )r   r   s   "€r   r   r   U   s   ø€ ÷ /ñ /Ð.ñ /r   c                ó,   € \        V P                  4      # r   )rb   r   r5   s   &r   ÚroutesÚNetDefinition.routesT   s   € ä# D§I¡IÓ.Ð.r   c                ó    <€ V ^8„  d   QhRS[ /# r9   ©r(   )r   r   s   "€r   r   r   Y   ó   ø€ ÷ oñ o™3ñ or   c                ó"   a € \        V 3R  l4      # )c                 óZ   <€ \         P                  ! SP                  V \        V 4      4      # r   )r   Ú_netplan_netdef_get_gateway4r   Úlen©Úbr   s   &€r   Ú<lambda>Ú)NetDefinition._gateway4.<locals>.<lambda>Z   ó#   ø€ ´s×7WÒ7WÐX\×XaÑXaÐcdÔfiÐjkÓflÔ7mr   ©r   r5   s   fr   Ú	_gateway4ÚNetDefinition._gateway4X   ó   ø€ ä,Ô-mÓnÐnr   c                ó    <€ V ^8„  d   QhRS[ /# r9   rg   )r   r   s   "€r   r   r   ]   rh   r   c                ó"   a € \        V 3R  l4      # )c                 óZ   <€ \         P                  ! SP                  V \        V 4      4      # r   )r   Ú_netplan_netdef_get_gateway6r   rl   rm   s   &€r   ro   Ú)NetDefinition._gateway6.<locals>.<lambda>^   rq   r   rr   r5   s   fr   Ú	_gateway6ÚNetDefinition._gateway6\   ru   r   c                ó    <€ V ^8„  d   QhRS[ /# r9   rg   )r   r   s   "€r   r   r   a   ó   ø€ ÷ pñ p™Cñ pr   c                ó"   a € \        V 3R  l4      # )c                 óZ   <€ \         P                  ! SP                  V \        V 4      4      # r   )r   Únetplan_netdef_get_macaddressr   rl   rm   s   &€r   ro   Ú*NetDefinition.macaddress.<locals>.<lambda>b   ó#   ø€ ´s×7XÒ7XÐY]×YbÑYbÐdeÔgjÐklÓgmÔ7nr   rr   r5   s   fr   Ú
macaddressÚNetDefinition.macaddress`   ó   ø€ ä,Ô-nÓoÐor   c                ó    <€ V ^8„  d   QhRS[ /# r9   r   )r   r   s   "€r   r   r   e   s   ø€ ÷ =ñ =™Dñ =r   c                óT   € \        \        P                  ! V P                  4      4      # r   )r   r   Únetplan_netdef_has_matchr   r5   s   &r   Ú
_has_matchÚNetDefinition._has_matchd   r?   r   c                ó    <€ V ^8„  d   QhRS[ /# r9   rg   )r   r   s   "€r   r   r   i   ó   ø€ ÷ nñ n™#ñ nr   c                ó"   a € \        V 3R  l4      # )c                 óZ   <€ \         P                  ! SP                  V \        V 4      4      # r   )r   Únetplan_netdef_get_set_namer   rl   rm   s   &€r   ro   Ú(NetDefinition.set_name.<locals>.<lambda>j   ó#   ø€ ´s×7VÒ7VÐW[×W`ÑW`ÐbcÔehÐijÓekÔ7lr   rr   r5   s   fr   Úset_nameÚNetDefinition.set_nameh   ó   ø€ ä,Ô-lÓmÐmr   c                ó    <€ V ^8„  d   QhRS[ /# r9   r   )r   r   s   "€r   r   r   m   s   ø€ ÷ Añ A™$ñ Ar   c                óT   € \        \        P                  ! V P                  4      4      # r   )r   r   Ú_netplan_netdef_get_criticalr   r5   s   &r   ÚcriticalÚNetDefinition.criticall   s   € ä”C×4Ò4°T·Y±YÓ?Ó@Ð@r   c                ó    <€ V ^8„  d   QhRS[ /# r9   )Údict)r   r   s   "€r   r   r   q   s   ø€ ÷ ñ ‘tñ r   c                ó&  € \        4       p\        P                  ! V P                  4      ;p'       d   \	        V P
                  V4      VR &   \        P                  ! V P                  4      ;p'       d   \	        V P
                  V4      VR&   \        P                  ! V P                  4      ;p'       d   \	        V P
                  V4      VR&   \        P                  ! V P                  4      ;p'       d   \	        V P
                  V4      VR&   \        P                  ! V P                  4      ;p'       d   \	        V P
                  V4      VR&   \        P                  ! V P                  4      ;p'       d   \	        V P
                  V4      VR&   V# )ÚsriovÚvlanÚbridgeÚbondÚvrfÚpeer)rœ   r   Únetplan_netdef_get_sriov_linkr   r
   r   Únetplan_netdef_get_vlan_linkÚnetplan_netdef_get_bridge_linkÚnetplan_netdef_get_bond_linkÚnetplan_netdef_get_vrf_linkÚnetplan_netdef_get_peer_link)r   ÚdÚ
sriov_linkÚ	vlan_linkÚbridge_linkÚ	bond_linkÚvrf_linkÚ	peer_links   &       r   ÚlinksÚNetDefinition.linksp   s$  € ä‹FˆÜ×:Ò:¸4¿9¹9ÓEÐEˆ:ÖEÜ& t§|¡|°ZÓ@ˆAˆg‰Jä×8Ò8¸¿¹ÓCÐCˆ9ÖCÜ% d§l¡l°IÓ>ˆAˆf‰Iä×<Ò<¸T¿Y¹YÓGÐGˆ;ÖGÜ'¨¯©°kÓBˆAˆh‰Kä×8Ò8¸¿¹ÓCÐCˆ9ÖCÜ% d§l¡l°IÓ>ˆAˆf‰Iä×6Ò6°t·y±yÓAÐAˆ8ÖAÜ$ T§\¡\°8Ó<ˆAˆe‰Hô ×8Ò8¸¿¹ÓCÐCˆ9ÖCÜ% d§l¡l°IÓ>ˆAˆf‰IØˆr   c                ó    <€ V ^8„  d   QhRS[ /# r9   ©Úint)r   r   s   "€r   r   r   ˆ   s   ø€ ÷ ñ ™#ñ r   c                ót   € \         P                  ! V P                  4      pV\         P                  8X  d   R # V# r   )r   Ú_netplan_netdef_get_vlan_idr   ÚUINT_MAX)r   Úvlan_ids   & r   Ú_vlan_idÚNetDefinition._vlan_id‡   s*   € ä×1Ò1°$·)±)Ó<ˆØ”c—l‘lÔ"ÙØˆr   c                ó    <€ V ^8„  d   QhRS[ /# r9   r   )r   r   s   "€r   r   r   �   s   ø€ ÷ Jñ J©ñ Jr   c                óT   € \        \        P                  ! V P                  4      4      # r   )r   r   Ú%_netplan_netdef_get_sriov_vlan_filterr   r5   s   &r   Ú_has_sriov_vlan_filterÚ$NetDefinition._has_sriov_vlan_filterŽ   s   € ä”C×=Ò=¸d¿i¹iÓHÓIÐIr   c                ó    <€ V ^8„  d   QhRS[ /# r9   rg   )r   r   s   "€r   r   r   “   s   ø€ ÷ oñ o™ñ or   c                ó°   € \         P                  ! \        P                  ! \        P                  ! V P
                  4      4      4      P                  R 4      # r*   )r   Ústringr   Únetplan_backend_nameÚnetplan_netdef_get_backendr   Údecoder5   s   &r   ÚbackendÚNetDefinition.backend’   s:   € ä�zŠzœ#×2Ò2´3×3QÒ3QÐRV×R[ÑR[Ó3\Ó]Ó^×eÑeÐfmÓnÐnr   c                ó    <€ V ^8„  d   QhRS[ /# r9   rg   )r   r   s   "€r   r   r   —   s   ø€ ÷ mñ m‘cñ mr   c                ó°   € \         P                  ! \        P                  ! \        P                  ! V P
                  4      4      4      P                  R 4      # r*   )r   rÃ   r   Únetplan_def_type_nameÚnetplan_netdef_get_typer   rÆ   r5   s   &r   ÚtypeÚNetDefinition.type–   s:   € ä�zŠzœ#×3Ò3´C×4OÒ4OÐPT×PYÑPYÓ4ZÓ[Ó\×cÑcÐdkÓlÐlr   c                ó    <€ V ^8„  d   QhRS[ /# r9   rg   )r   r   s   "€r   r   r   ›   s   ø€ ÷ hñ h‘Cñ hr   c                ó"   a € \        V 3R  l4      # )c                 óZ   <€ \         P                  ! SP                  V \        V 4      4      # r   )r   Únetplan_netdef_get_idr   rl   rm   s   &€r   ro   Ú"NetDefinition.id.<locals>.<lambda>œ   s#   ø€ ´s×7PÒ7PÐQU×QZÑQZÐ\]Ô_bÐcdÓ_eÔ7fr   rr   r5   s   fr   ÚidÚNetDefinition.idš   s   ø€ ä,Ô-fÓgÐgr   c                ó    <€ V ^8„  d   QhRS[ /# r9   rg   )r   r   s   "€r   r   r   Ÿ   r�   r   c                ó"   a € \        V 3R  l4      # )c                 óZ   <€ \         P                  ! SP                  V \        V 4      4      # r   )r   Únetplan_netdef_get_filepathr   rl   rm   s   &€r   ro   Ú(NetDefinition.filepath.<locals>.<lambda>    r’   r   rr   r5   s   fr   ÚfilepathÚNetDefinition.filepathž   r•   r   c                ó    <€ V ^8„  d   QhRS[ /# r9   rg   )r   r   s   "€r   r   r   £   s   ø€ ÷ {ñ {¡sñ {r   c                ó"   a € \        V 3R  l4      # )c                 óZ   <€ \         P                  ! SP                  V \        V 4      4      # r   )r   Ú(_netplan_netdef_get_embedded_switch_moder   rl   rm   s   &€r   ro   Ú5NetDefinition._embedded_switch_mode.<locals>.<lambda>¤   s#   ø€ ´s×7cÒ7cÐdh×dmÑdmÐopÔruÐvwÓrxÔ7yr   rr   r5   s   fr   Ú_embedded_switch_modeÚ#NetDefinition._embedded_switch_mode¢   s   ø€ ä,Ô-yÓzÐzr   c                ó    <€ V ^8„  d   QhRS[ /# r9   r   )r   r   s   "€r   r   r   §   s   ø€ ÷ Wñ W±ñ Wr   c                óT   € \        \        P                  ! V P                  4      4      # r   )r   r   Ú2_netplan_netdef_get_delay_virtual_functions_rebindr   r5   s   &r   Ú_delay_virtual_functions_rebindÚ-NetDefinition._delay_virtual_functions_rebind¦   s   € ä”C×JÒJÈ4Ï9É9ÓUÓVÐVr   c                ó    <€ V ^8„  d   QhRS[ /# r9   r´   )r   r   s   "€r   r   r   «   s   ø€ ÷ ñ ™3ñ r   c                óô   a€ \         P                  ! R 4      p\        P                  ! V P                  P
                  V P
                  V4      pV^ 8  d$   V^ ,          o\        V3R l4      p\        V4      hV# )zNetplanError **c                 óF   <€ \         P                  ! SV \        V 4      4      # r   )r   Únetplan_error_messagerl   )rn   Úerrs   &€r   ro   Ú)NetDefinition._vf_count.<locals>.<lambda>°   s   ø€ ¼#×:SÒ:SÐTWÐYZÔ\_Ð`aÓ\bÔ:cr   )r   Únewr   Ú#_netplan_state_get_vf_count_for_defr   r   r   r   )r   ÚrefÚcountÚmsgrí   s   &   @r   Ú	_vf_countÚNetDefinition._vf_countª   s`   ø€ ä�gŠgÐ'Ó(ˆÜ×7Ò7¸¿¹×8IÑ8IÈ4Ï9É9ÐVYÓZˆØ�1Œ9Ø�a•&ˆCÜ/Ô0cÓdˆCÜ" 3Ó'Ð'Øˆr   c                ó    <€ V ^8„  d   QhRS[ /# r9   rg   )r   r   s   "€r   r   r   µ   r~   r   c                ó"   a € \        V 3R  l4      # )c                 óZ   <€ \         P                  ! SP                  V \        V 4      4      # r   )r   Ú_netplan_netdef_get_bond_moder   rl   rm   s   &€r   ro   Ú*NetDefinition._bond_mode.<locals>.<lambda>¶   rƒ   r   rr   r5   s   fr   Ú
_bond_modeÚNetDefinition._bond_mode´   r†   r   c                ó    <€ V ^8„  d   QhRS[ /# r9   r   )r   r   s   "€r   r   r   ¹   s   ø€ ÷ Lñ L©$ñ Lr   c                óT   € \        \        P                  ! V P                  4      4      # )z”
Returns True if the interface is a compound interface (bond or bridge),
and its configuration is trivial, without any variation from the defaults.
)r   r   Ú'_netplan_netdef_is_trivial_compound_itfr   r5   s   &r   Ú_is_trivial_compound_itfÚ&NetDefinition._is_trivial_compound_itf¸   s   € ô ”C×?Ò?ÀÇ	Á	ÓJÓKÐKr   )r   r   )NNN)$Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r"   r/   Úpropertyr6   r=   rC   rN   rU   rZ   r_   rd   rs   r{   r„   rŠ   r“   r™   r±   rº   r¿   rÇ   rÍ   rÔ   rÛ   râ   rç   rô   rû   r   Ú__static_attributes__Ú__classdictcell__©r   s   @r   r
   r
      sD  ø‡ € ò ÷'ð '÷
Iò Ið ÷1ó ð1ð ÷=ó ð=ð ÷=ó ð=ð ÷ó ðð ÷
ó ð
ð ÷4ó ð4ð ÷6ó ð6ð ÷/ó ð/ð ÷oó ðoð ÷oó ðoð ÷pó ðpð ÷=ó ð=ð ÷nó ðnð ÷Aó ðAð ÷ó ðð, ÷ó ðð ÷Jó ðJð ÷oó ðoð ÷mó ðmð ÷hó ðhð ÷nó ðnð ÷{ó ð{ð ÷Wó ðWð ÷ó ðð ÷pó ðpð ÷Ló öLr   r
   c                   óH   a € ] tR t^Át o RV 3R lR lltR tR tR tRtV t	R# )	ÚNetDefinitionIteratorNc                ó    <€ V ^8„  d   QhRS[ /# )r   Údev_typerg   )r   r   s   "€r   r   Ú"NetDefinitionIterator.__annotate__Â   s   ø€ ÷ [ñ [©3ñ [r   c                ó°   € Wn         V'       d   VP                  R 4      M\        P                  p\        P
                  ! VP                  V4      V n        R# ©r+   N)r   r-   r   r.   r   Ú&_netplan_state_new_netdef_pertype_iterr   Úiterator)r   r   r  Únp_types   &&& r   r   ÚNetDefinitionIterator.__init__Â   s6   € à Œß.6�(—/‘/ 'Ô*¼C¿H¹HˆÜ×BÒBÀ8Ç=Á=ÐRYÓZˆŽr   c                óF   € \         P                  ! V P                  4       R # r   )r   Ú!_netplan_netdef_pertype_iter_freer  r5   s   &r   Ú__del__ÚNetDefinitionIterator.__del__È   s   € Ü×-Ò-¨d¯m©mÖ<r   c                ó   € V # r   r3   r5   s   &r   Ú__iter__ÚNetDefinitionIterator.__iter__Ë   ó   € Øˆr   c                óŠ   € \         P                  ! V P                  4      pV'       g   \        h\	        V P
                  V4      # r   )r   Ú!_netplan_netdef_pertype_iter_nextr  ÚStopIterationr
   r   ©r   Ú
next_values   & r   Ú__next__ÚNetDefinitionIterator.__next__Î   s0   € Ü×:Ò:¸4¿=¹=ÓIˆ
ßÜÐÜ˜TŸ]™]¨JÓ7Ð7r   )r  r   r   ©
r  r  r  r  r   r  r  r"  r  r  r	  s   @r   r  r  Á   s%   ø‡ € ÷[ò [ò=ò÷8ð 8r   r  c                   óD   a € ] tR t^Õt o V 3R lR ltV 3R lR ltRtV tR# )ÚNetplanAddressc                ó,   <€ V ^8„  d   QhRS[ RS[ RS[ /# )r   ÚaddressÚlifetimeÚlabelrg   )r   r   s   "€r   r   ÚNetplanAddress.__annotate__Ö   s"   ø€ ÷ ñ ¡ð ©sð ¹3ñ r   c                ó*   € Wn         W n        W0n        R # r   )r(  r)  r*  )r   r(  r)  r*  s   &&&&r   r   ÚNetplanAddress.__init__Ö   s   € ØŒØ ŒØŽ
r   c                ó    <€ V ^8„  d   QhRS[ /# r9   rg   )r   r   s   "€r   r   r+  Û   s   ø€ ÷ ñ ™ñ r   c                ó   € V P                   # r   )r(  r5   s   &r   Ú__str__ÚNetplanAddress.__str__Û   s   € Ø�|‰|Ðr   )r(  r*  r)  N)r  r  r  r  r   r0  r  r  r	  s   @r   r&  r&  Õ   s   ø‡ € ÷ð ÷
ö r   r&  c                   óD   a € ] tR t^ßt o V 3R lR ltR tR tR tRtV t	R# )r2   c                ó    <€ V ^8„  d   QhRS[ /# ©r   Únetdef©r
   )r   r   s   "€r   r   Ú#_NetdefAddressIterator.__annotate__à   s   ø€ ÷ Eñ E™}ñ Er   c                óH   € Wn         \        P                  ! V4      V n        R # r   )r5  r   Ú _netplan_netdef_new_address_iterr  ©r   r5  s   &&r   r   Ú_NetdefAddressIterator.__init__à   s   € ØŒÜ×<Ò<¸VÓDˆŽr   c                óF   € \         P                  ! V P                  4       R # r   )r   Ú_netplan_address_iter_freer  r5   s   &r   r  Ú_NetdefAddressIterator.__del__ä   s   € Ü×&Ò& t§}¡}Ö5r   c                ó   € V # r   r3   r5   s   &r   r  Ú_NetdefAddressIterator.__iter__ç   r  r   c                ó  € \         P                  ! V P                  4      pV'       g   \        hTpVP                  '       d0   \
        P                  ! VP                  4      P                  R 4      MRpVP                  '       d0   \
        P                  ! VP                  4      P                  R 4      MRpVP                  '       d0   \
        P                  ! VP                  4      P                  R 4      MRp\        W4V4      # r  )r   Ú_netplan_address_iter_nextr  r  r(  r   rÃ   rÆ   r)  r*  r&  )r   r!  Úcontentr(  r)  r*  s   &     r   r"  Ú_NetdefAddressIterator.__next__ê   s²   € Ü×3Ò3°D·M±MÓBˆ
ßÜÐØˆð BIÇÇÀ”#—*’*˜WŸ_™_Ó-×4Ñ4°WÔ=ÐVZˆØCJ×CS×CSÐCS”3—:’:˜g×.Ñ.Ó/×6Ñ6°wÔ?ÐY]ˆØ=D¿]¿]¸]”—
’
˜7Ÿ=™=Ó)×0Ñ0°Ô9ÐPTˆÜ˜g°Ó7Ð7r   ©r  r5  Nr$  r	  s   @r   r2   r2   ß   s%   ø‡ € ÷Eð Eò6ò÷
8ð 
8r   r2   c                   óD   a € ] tR t^÷t o V 3R lR ltR tR tR tRtV t	R# )rX   c                ó    <€ V ^8„  d   QhRS[ /# r4  r6  )r   r   s   "€r   r   Ú&_NetdefNameserverIterator.__annotate__ø   s   ø€ ÷ Hñ H™}ñ Hr   c                óH   € Wn         \        P                  ! V4      V n        R # r   )r5  r   Ú#_netplan_netdef_new_nameserver_iterr  r:  s   &&r   r   Ú"_NetdefNameserverIterator.__init__ø   s   € ØŒÜ×?Ò?ÀÓGˆŽr   c                óF   € \         P                  ! V P                  4       R # r   )r   Ú_netplan_nameserver_iter_freer  r5   s   &r   r  Ú!_NetdefNameserverIterator.__del__ü   s   € Ü×)Ò)¨$¯-©-Ö8r   c                ó   € V # r   r3   r5   s   &r   r  Ú"_NetdefNameserverIterator.__iter__ÿ   r  r   c                ó¨   € \         P                  ! V P                  4      pV'       g   \        h\        P
                  ! V4      P                  R 4      # r*   )r   Ú_netplan_nameserver_iter_nextr  r  r   rÃ   rÆ   r   s   & r   r"  Ú"_NetdefNameserverIterator.__next__  s9   € Ü×6Ò6°t·}±}ÓEˆ
ßÜÐÜ�zŠz˜*Ó%×,Ñ,¨WÓ5Ð5r   rE  Nr$  r	  s   @r   rX   rX   ÷   s%   ø‡ € ÷Hð Hò9ò÷6ð 6r   rX   c                   ó8   a € ] tR tRt o R tR tR tR tRtV t	R# )r]   i	  c                óH   € Wn         \        P                  ! V4      V n        R # r   )r5  r   Ú&_netplan_netdef_new_search_domain_iterr  r:  s   &&r   r   Ú$_NetdefSearchDomainIterator.__init__
  s   € ØŒÜ×BÒBÀ6ÓJˆŽr   c                óF   € \         P                  ! V P                  4       R # r   )r   Ú _netplan_search_domain_iter_freer  r5   s   &r   r  Ú#_NetdefSearchDomainIterator.__del__  s   € Ü×,Ò,¨T¯]©]Ö;r   c                ó   € V # r   r3   r5   s   &r   r  Ú$_NetdefSearchDomainIterator.__iter__  r  r   c                ó¨   € \         P                  ! V P                  4      pV'       g   \        h\        P
                  ! V4      P                  R 4      # r*   )r   Ú _netplan_search_domain_iter_nextr  r  r   rÃ   rÆ   r   s   & r   r"  Ú$_NetdefSearchDomainIterator.__next__  s9   € Ü×9Ò9¸$¿-¹-ÓHˆ
ßÜÐÜ�zŠz˜*Ó%×,Ñ,¨WÓ5Ð5r   rE  Nr$  r	  s   @r   r]   r]   	  s   ø‡ € òKò<ò÷6ð 6r   r]   c                   óœ   a € ] tR tRt o ]P
                  t^ t^ tRt	Rt
RtRtRtRt]tRt]t^ t^ t^ tRt]tR tR tR tR	 tV 3R
 ltRtV tR# )ÚNetplanRoutei  NÚunicastÚglobalFc                ór  € R pV P                   '       d   WP                   ,           pV P                  '       d   VRV P                   2,           pV P                  '       d   VRV P                   2,           pV P                  '       d   VRV P                   2,           pV P                  '       d   VRV P                   2,           pV P
                  V P                  8  d   VRV P
                   2,           pV P                  V P                  8”  d   VRV P                   2,           pVP                  4       # )Ú z via z type z scope z src z metric z table )
ÚtoÚviarÍ   ÚscopeÚ	from_addrÚmetricÚ_METRIC_UNSPEC_ÚtableÚ_TABLE_UNSPEC_Ústrip©r   Úroutes   & r   r0  ÚNetplanRoute.__str__0  sî   € ØˆØ�7�7ˆ7ØŸG™G•OˆEØ�8�8ˆ8Ø˜e D§H¡H :Ð.Õ.ˆEØ�9�9ˆ9Ø˜f T§Y¡Y KÐ0Õ0ˆEØ�:�:ˆ:Ø˜g d§j¡j \Ð2Õ2ˆEØ�>�>ˆ>Ø˜e D§N¡NÐ#3Ð4Õ4ˆEØ�;‰;˜×-Ñ-Ô-Ø˜h t§{¡{ mÐ4Õ4ˆEØ�:‰:˜×+Ñ+Ô+Ø˜g d§j¡j \Ð2Õ2ˆEØ�{‰{‹}Ðr   c                óÖ  € / pV P                   ^ 8¼  d   V P                   VR&   V P                  '       d   V P                  VR&   V P                  '       d   V P                  VR&   V P                  '       d   V P                  VR&   V P                  V P
                  8  d   V P                  VR&   V P                  V P                  8”  d   V P                  VR&   V P                  VR&   V# )r   Úfamilyrf  rg  Úfromrj  rl  rÍ   )	rs  rf  rg  ri  rj  rk  rl  rm  rÍ   ro  s   & r   Úto_dictÚNetplanRoute.to_dictB  s²   € ØˆØ�;‰;˜!ÔØ"Ÿk™kˆE�(‰OØ�7�7ˆ7ØŸ'™'ˆE�$‰KØ�8�8ˆ8ØŸ8™8ˆE�%‰LØ�>�>ˆ>Ø ŸN™NˆE�&‰MØ�;‰;˜×-Ñ-Ô-Ø"Ÿk™kˆE�(‰OØ�:‰:˜×+Ñ+Ô+Ø!ŸZ™ZˆE�'‰NàŸ	™	ˆˆf‰àˆr   c           
     óÈ   € \        V P                  V P                  V P                  V P                  V P
                  V P                  V P                  V P                  34      # r   )	Úhashrf  rg  ri  rl  rs  rj  rÍ   rh  r5   s   &r   Ú__hash__ÚNetplanRoute.__hash__U  sH   € ÜØ�W‰W�d—h‘hØ�^‰^˜TŸZ™ZØ�[‰[˜$Ÿ+™+Ø�Y‰Y˜Ÿ
™
ð$ó%ð 	%r   c                ó  € V P                   VP                   8H  ;'       dà    V P                  VP                  8H  ;'       d¿    V P                  VP                  8H  ;'       dž    V P                  VP                  8H  ;'       d}    V P                  VP                  8H  ;'       d\    V P
                  VP
                  8H  ;'       d;    V P                  VP                  8H  ;'       d    V P                  VP                  8H  # r   )rf  rg  ri  rl  rs  rj  rÍ   rh  ro  s   &&r   r"   ÚNetplanRoute.__eq__\  s×   € à�G‰G�u—x‘xÑ÷ &ð &Ø�H‰H˜Ÿ	™	Ñ!÷&ð &à�N‰N˜eŸo™oÑ-÷&ð &ð �J‰J˜%Ÿ+™+Ñ%÷&ð &ð �K‰K˜5Ÿ<™<Ñ'÷	&ð &ð
 �K‰K˜5Ÿ<™<Ñ'÷&ð &ð �I‰I˜Ÿ™Ñ#÷&ð &ð �J‰J˜%Ÿ+™+Ñ%ð		
r   c                óÂ   <€ V ^8„  d   Qh/ S[ ;R&   S[ ;R&   S[ ;R&   S[ ;R&   S[ ;R&   S[ ;R&   S[;R&   S[;R&   S[;R	&   S[;R
&   S[;R&   S[;R&   S[;R&   S[;R&   # )r   rf  rg  ri  rÍ   rh  Úprotocolrl  rs  rj  ÚmtubytesÚcongestion_windowÚadvertised_receive_windowÚonlinkÚadvertised_mss)r(   rµ   r   )r   r   s   "€r   r   ÚNetplanRoute.__annotate__  s¹   ø‡ ‚ ñ 	�Nñ ñ 
�Oñ ñ Ññ ñ Ññ ñ Ññ ñ Ññ ñ Ññ ñ Ññ ñ Ñ!ñ ñ Ññ ñ  Ññ! ñ"  #Ñ&ñ# ñ$ Ññ% ñ& Ñ)ò' r   r3   éÿÿÿÿ)r  r  r  r  r   r¸   rk  Ú_ADVMSS_UNSPEC_rm  rf  rg  ri  rÍ   rh  r~  rl  rs  rj  r  r€  r�  r‚  rƒ  r0  ru  ry  r"   Ú__annotate_func__r  r  r	  s   @r   ra  ra    s|   ø‡ € à—l‘l€OØ€OØ€Nà€BØ€CØ€IØ€DØ€EØ€HØ€EØ€FØ!€FØ€HØÐØ%&ÐØ€FØ)€Nòò$ò&%ò

÷C ƒ r   ra  c                   ó8   a € ] tR tRt o R tR tR tR tRtV t	R# )rb   ii  c                óH   € Wn         \        P                  ! V4      V n        R # r   )r5  r   Ú_netplan_netdef_new_route_iterr  r:  s   &&r   r   Ú_NetdefRouteIterator.__init__j  s   € ØŒÜ×:Ò:¸6ÓBˆŽr   c                óF   € \         P                  ! V P                  4       R # r   )r   Ú_netplan_route_iter_freer  r5   s   &r   r  Ú_NetdefRouteIterator.__del__n  s   € Ü×$Ò$ T§]¡]Ö3r   c                ó   € V # r   r3   r5   s   &r   r  Ú_NetdefRouteIterator.__iter__q  r  r   c                óÊ  € \         P                  ! V P                  4      pV'       g   \        h\	        VR 4      pRVP
                  '       d0   \        P                  ! VP
                  4      P                  R4      MRRVP                  '       d0   \        P                  ! VP                  4      P                  R4      MRRV'       d&   \        P                  ! V4      P                  R4      MRRVP                  '       d0   \        P                  ! VP                  4      P                  R4      MRRVP                  '       d0   \        P                  ! VP                  4      P                  R4      MRRRR	VP                  R
VP                  RVP                  RVP                  RVP                   RVP"                  RVP$                  RVP&                  /p\)        R/ VB # )rt  rf  r+   Nrg  ri  rÍ   rh  r~  rl  rs  rj  r  r€  r�  r‚  rƒ  r3   )r   Ú_netplan_route_iter_nextr  r  Úgetattrrf  r   rÃ   rÆ   rg  rÍ   rh  rl  rs  rj  r  r€  r�  r‚  Úadvmssra  )r   r!  ri  rp  s   &   r   r"  Ú_NetdefRouteIterator.__next__t  sf  € Ü×1Ò1°$·-±-Ó@ˆ
ßÜÐô ˜J¨Ó/ˆ	ð ¸z¿}¿}¸}”#—*’*˜ZŸ]™]Ó+×2Ñ2°7Ô;ÐRVØÀÇÇÀ”3—:’:˜jŸn™nÓ-×4Ñ4°WÔ=ÐUYØÇ)œŸš IÓ.×5Ñ5°gÔ>ÐQUØÀ:Ç?Ç?À?”C—J’J˜zŸ™Ó/×6Ñ6°wÔ?ÐX\ØÀZ×EU×EUÐEU”S—Z’Z 
× 0Ñ 0Ó1×8Ñ8¸ÔAÐ[_Ø˜Ø�Z×%Ñ%Ø�j×'Ñ'Ø�j×'Ñ'Ø˜
×+Ñ+Ø ×!=Ñ!=Ø'¨×)MÑ)MØ�j×'Ñ'Ø˜j×/Ñ/ð
ˆô" Ñ$˜eÑ$Ð$r   rE  Nr$  r	  s   @r   rb   rb   i  s   ø‡ € òCò4ò÷%ð %r   rb   N)Údataclassesr   Útypingr   Ú_netplan_cffir   r   Ú_utilsr   r   r
   r  r&  r2   rX   r]   ra  rb   r3   r   r   Ú<module>rš     s{   ðõ  "Ý ç #ß C÷gLñ gL÷T8ñ 8÷(ñ ÷8ñ 8÷06ñ 6÷$6ñ 6ð$ ÷J
ð J
ó ðJ
÷Z$%ó $%r   