+
    ˜qgjÌ  ã                   ó  € ^ RI t ^ RIt^ RIt^ RIHt ^ RIHt ^ RIHtH	t	H
t
HtHt ^ RIHt ^ RIHt ]P"                  ! ]4      t]! 4       RR l4       tR tR	 tR
 tR tR tR t]! 4       R 4       tR tR tRR ltR tR t R t!R# )é    N)Ú	lru_cache)Ú
exceptions)ÚdmiÚnetÚsubpÚ
url_helperÚutil)ÚNoDHCPLeaseError)ÚEphemeralDHCPv4c           
      óº  € \        R 4      p\        4        FX  p \        V VRV/.R7      ;_uu_ 4        \        WW4V4      p	\        P
                  ! V	4      p
\        V
4       V
uuRRR4       u # 	  Vh  + '       g   i     Ko  ; i  \        \        P                  \         \        P                  3 d$   p\        P                  RT4       Tp Rp?K¿  Rp?ii ; i)zFailed to DHCPÚurl)ÚifaceÚconnectivity_urls_dataNzDHCP Exception: %s)ÚRuntimeErrorÚget_interface_listr   Úread_metadataÚjsonÚloadsÚrefactor_metadatar
   r   ÚProcessExecutionErrorr   ÚRequestExceptionÚLOGÚerror)Údistror   ÚtimeoutÚretriesÚsec_betweenÚagentÚtmp_dirÚ	exceptionr   Úv1ÚmetadataÚexcs   &&&&&&&     ÚA/usr/lib/python3/dist-packages/cloudinit/sources/helpers/vultr.pyÚget_metadatar%      sÉ   € ô
 Ð-Ó.€Iô $Ö%ˆð	Ü ØØØ).°¨ ~÷ö ô # 3°ÀuÓM�äŸ:š: b›>�Ü! (Ô+Ø÷ô ñ &ð* €O÷'÷ ð ûô Ü×&Ñ&ÜÜ×'Ñ'ð	
ô 	ô �I‰IÐ*¨CÔ0ØŽIûð	ús4   šB³0A4Á#
BÁ4BÁ?BÂBÂ/CÂ7CÃCc                 ó¸   € V R ,          V R&   V R,          V R&   V R,          R,          pRV R,          9   d   V R,          R,          pVP                  4       V R&   R# )zinstance-v2-idzinstance-idÚhostnamezlocal-hostnameÚregionÚ
regioncodeÚcountrycodeN)Úlower)r"   r(   s   & r$   r   r   5   s]   € Ø&Ð'7Õ8€Hˆ]ÑØ!)¨*Õ!5€HÐÑØ�hÕ Õ-€FØ˜ Õ*Ô*Ø˜(Õ# MÕ2ˆØŸ™›€HˆXÓó    c                  ó  € . p  R p\         P                  P                  V4      '       dn   \        P                  ! VRRR7      pVP                  P                  4        F6  pVP                  4       p\        V4      ^ 8”  g   K%  V P                  V4       K8  	  T '       g7   \        P                  ! 4        F  pRT9   d   K  T P                  T4       K  	  T #   \         d!   p\        P                  RT4        Rp?LfRp?ii ; i)z!/opt/vultr/find_candidate_nics.shT)ÚcaptureÚshellz(find_candidate_nics script exception: %sNÚdummy)ÚosÚpathÚexistsr   ÚstdoutÚ
splitlinesÚstripÚlenÚappendÚ	Exceptionr   r   r   Úfind_candidate_nics)ÚifacesÚ
nic_scriptÚoutÚliner   Úes         r$   r   r   ?   sÎ   € ð €Fð	AØ8ˆ
Ü�7‰7�>‰>˜*×%Ò%Ü—)’)˜J°¸DÔAˆCØŸ
™
×-Ñ-Ö/�ØŸ
™
›�Ü�u“: –>Ø—M‘M %Ö(ñ 0÷ Ü×,Ò,Ö.ˆEà˜%ÔÙØ�M‰M˜%Ö ñ	 /ð €Møô ô AÜ�	‰	Ð<¸a×@Ñ@ûðAús#   „&C «AC ÂC ÃDÃ#C>Ã>Dc                  ó^   € R \         P                  ! R4      R\         P                  ! R4      /# )Úmanufacturerzsystem-manufacturerÚsubidzsystem-serial-number)r   Úread_dmi_data© r,   r$   Úget_sysinforE   \   s.   € àœ×)Ò)Ð*?Ó@Ø”×"Ò"Ð#9Ó:ðð r,   c                  ó6   € \        4       R ,          R8w  d   R# R# )rA   ÚVultrTF)rE   rD   r,   r$   Úis_baremetalrH   d   s   € Üƒ}�^Õ$¨Ô/ÙÙr,   c                  óŽ   € \        4       p V R ,          R8X  d   R# R\        P                  ! 4       P                  4       9   d   R# R# )rA   rG   TÚvultrF)rE   r	   Úget_cmdlineÚsplit)Úsysinfos    r$   Úis_vultrrN   k   s;   € ä‹m€Gàˆ~Õ 'Ô)Ùð ”$×"Ò"Ó$×*Ñ*Ó,Ô,Ùár,   c                 óð   € R V ,          p RRRV/p\         P                  ! V VVVVR7      pVP                  4       '       g   \        RV ,          VP                  4      hVP
                  P                  4       # )z
%s/v1.jsonzMetadata-TokenÚ	cloudinitz
User-Agent)r   r   Úheadersr   z!Failed to connect to %s: Code: %s)r   ÚreadurlÚokr   ÚcodeÚcontentsÚdecode)r   r   r   r   r   rQ   Úresponses   &&&&&  r$   r   r   z   sz   € Ø
˜Õ
€Cð   ¨l¸EÐB€Gä×!Ò!ØØØØØô€Hð �;‰;�=Š=ÜØ/°#Õ5°x·}±}ó
ð 	
ð ×Ñ×#Ñ#Ó%Ð%r,   c                  ó,   € \         P                  ! 4       # ©N)r   Úget_interfaces_by_macrD   r,   r$   Úget_interface_mapr[   ’   s   € ä×$Ò$Ó&Ð&r,   c                 óH   € \        4       pW9  d   R # VP                  V 4      # rY   )r[   Úget)ÚmacÚmacs_to_nics   & r$   Úget_interface_namer`   ˜   s"   € Ü#Ó%€Kà
ÔÙà�?‰?˜3ÓÐr,   c                 óX  € R ^RRRRRR././p\        V 4      ^ 8”  d-   \        V ^ ,          RR7      pVR,          P                  V4       \        ^\        V 4      4       FG  pW,          pVP	                  R	4      '       d   K$  \        V4      pVR,          P                  V4       KI  	  V# )
ÚversionÚconfigÚtypeÚ
nameserverÚaddressz108.61.10.10z2001:19f0:300:1704::6T)ÚprimaryÚunconfigured)r7   Úgenerate_interfacer8   Úranger]   )Ú
interfacesÚnetworkÚpublicÚiÚ	interfaceÚprivates   &     r$   Úgenerate_network_configrq   ¢   s²   € à�1Øà˜Ø˜NÐ,CÐDðð
ð€Gô ˆ:ƒ˜ÔÜ# J¨q¥M¸4Ô@ˆØ�Õ× Ñ  Ô(ô �1”c˜*“oÖ&ˆØ•Mˆ	ð �=‰=˜×(Ò(Ùä$ YÓ/ˆØ�Õ× Ñ  Ö)ñ 'ð €Nr,   c           	      óR  € \        V R ,          4      pV'       g   \        RV R ,          ,          4      hRVRRRV R ,          /pV'       d   ^VR&   RRRR	/RR
RR	/.VR&   V'       g+   RRRR	RV R,          R,          RV R,          R,          /.VR&   \        W4       \        W4       V# )r^   ú.Interface: %s could not be found on the systemÚnamerd   ÚphysicalÚmac_addressú	accept-raÚdhcpÚcontrolÚautoÚ
ipv6_slaacÚsubnetsÚstaticrf   Úipv4Únetmask)r`   r   Úgenerate_interface_routesÚ'generate_interface_additional_addresses)ro   rg   Úinterface_nameÚnetcfgs   &&  r$   ri   ri   À   s×   € Ü'¨	°%Õ(8Ó9€NßÜØ<¸yÈÕ?OÕOó
ð 	
ð
 	�Ø�
Ø�y Õ'ð€F÷ Øˆˆ{Ñà�V˜Y¨Ð/Ø�\ 9¨fÐ5ð
ˆˆyÑ÷
 ð ˜Ø˜6Ø˜9 VÕ,¨YÕ7Ø˜9 VÕ,¨YÕ7ð	ð
ˆˆyÑô ˜iÔ0Ü+¨IÔ>ð €Mr,   c                 ó˜   € R V 9   d   V R ,          VR &   RV 9   d   V R,          VR&   RV 9   d   V R,          VR,          ^ ,          R&   R# R# )Úmturw   Úroutesr|   NrD   )ro   rƒ   s   &&r$   r€   r€   å   sU   € à�	ÔØ! %Õ(ˆˆu‰à�iÔØ'¨Õ4ˆˆ{Ñà�9ÔØ)2°8Õ)<ˆˆyÕ˜!Õ˜XÓ&ñ r,   c           
      ó  € \        V R ,          R,          4      pR V 9   db   V^ 8”  d[   V R ,          R,           FF  pRRRRRVR,          RVR,          /pRV9   d   VR,          VR&   VR	,          P                  V4       KH  	  \        V R
,          R,          4      pR
V 9   dk   V^ 8”  db   V R
,          R,           FK  pRRRRRVR,          : RVR,          : 2/pRV9   d   VR,          VR&   VR	,          P                  V4       KM  	  R# R# R# )r~   Ú
additionalrd   r}   ry   rz   rf   r   r†   r|   Úipv6Ústatic6rl   Ú/ÚprefixN)r7   r8   )ro   rƒ   Úadditional_countrˆ   Úadds   &&   r$   r�   r�   ñ   s+  € ä˜9 VÕ,¨\Õ:Ó;ÐØ�ÔÐ/°!Ô3Ø# FÕ+¨L×9Ð9ˆJà˜Ø˜6Ø˜: iÕ0Ø˜: iÕ0ð	ˆCð ˜:Ô%Ø *¨8Õ 4��H‘à�9Õ×$Ñ$ SÖ)ñ :ô ˜9 VÕ,¨\Õ:Ó;ÐØ�ÔÐ/°!Ô3Ø# FÕ+¨L×9Ð9ˆJà˜	Ø˜6ØØ˜i×(Ð(¨*°X×*>ð@ðˆCð ˜:Ô%Ø *¨8Õ 4��H‘à�9Õ×$Ñ$ SÖ)ó :ñ  4Ñr,   c                 ó´   € V R ,           FJ  pVR,          R8w  d   K  \        VR,          4      pV'       g   \        RVR,          ,          4      hW!R&   KL  	  R# )rc   rd   ru   rv   rs   rt   N)r`   r   )rƒ   ro   r‚   s   &  r$   Úadd_interface_namesr�     s]   € Ø˜H×%Ð%ˆ	Ø�VÕ 
Ô*ÙÜ+¨I°mÕ,DÓEˆßÜØ@Ø˜MÕ*õ+óð ð +�&Óó &r,   rY   )F)"r   Úloggingr1   Ú	functoolsr   Úrequestsr   rP   r   r   r   r   r	   Úcloudinit.net.dhcpr
   Úcloudinit.net.ephemeralr   Ú	getLoggerÚ__name__r   r%   r   r   rE   rH   rN   r   r[   r`   rq   ri   r€   r�   r�   rD   r,   r$   Ú<module>r˜      sŸ   ðó
 Û Û 	Ý å ç 6Õ 6Ý /Ý 3ð ×Ò˜Ó!€ñ ƒóó ðò@(òò:òòò&ñ0 ƒñ'ó ð'ò
 òô<"òJ	=ò*ôF
+r,   