+
    DAi5                         ^ 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%    uf%%yyEJJ&&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II*4Jg&#(()2IW%,8L(	H I 	I ?Bhh	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    %dii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6tyyABBV$66tyy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     
 
8D> 
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:aZ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    *499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    #DII..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   #    s7W7WX\XaXacdfijkfl7mr   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   #    s7X7XY]YbYbdegjklgm7nr   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   #    s7V7VW[W`W`bcehijek7lr   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4TYY?@@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::499EE:E&t||Z@AgJ88CC9C%dllI>AfI<<TYYGG;G'kBAhK88CC9C%dllI>AfI66tyyAA8A$T\\8<AeH 88CC9C%dllI>AfI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$))<cll"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==dii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:    zz#2233Q3QRVR[R[3\]^eefm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:    zz#33C4O4OPTPYPY4Z[\ccdk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#    s7P7PQUQZQZ\]_bcd_e7fr   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#    s7c7cdhdmdmopruvwrx7yr   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J499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:STWYZ\_`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`    gg'(778I8I499VYZ19a&C/0cdC"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(//'*CHHBB8==RYZr   c                F    \         P                  ! V P                  4       R # r   )r   !_netplan_netdef_pertype_iter_freer  r5   s   &r   __del__NetDefinitionIterator.__del__   s    --dmm<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3DMMB
 BI#**W__-44W=VZCJCSCSCS3::g../66w?Y]=D]]]

7==)009PT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6t}}E
zz*%,,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B6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
zz*%,,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    777GGOE888eDHH:..E999fTYYK00E:::gdjj\22E>>>eDNN#344E;;---ht{{m44E::+++gdjj\22E{{}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    ;;!"kkE(O777''E$K88888E%L>>> NNE&M;;---"kkE(O::+++!ZZE'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    WWdhh^^TZZ[[$++YY

$% 	%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    GGuxx & &HH		!& &NNeoo-& & JJ%++%& & KK5<<'	& &
 KK5<<'& & II#& & JJ%++%		
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|     llO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27;RV3::jnn-44W=UY)I.55g>QU:???CJJz/66w?X\ZEUEUEUSZZ
 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 806 6$6 6$ J
 J
 J
Z$% $%r   