a '¡DgÈã@s€ddlZddlmZmZmZmZddlmZdddddd d œZee ee e ffd œd d „Z e d œdd„Z ee d œdd„Z dS)éN)ÚAnyÚDictÚOptionalÚUnion)ÚdmiZallow_local_stageZallow_init_stageZ allow_dhcpZ allow_ipv4Z allow_ipv6Zpreferred_mac_prefixes)ZalsZaisZdhcpZv4Zv6Úpmp)ÚreturncCsnt d¡}i}|s|St d|¡D]F\}}}|tvr"|dvrJtt|ƒƒ}n|dkr\| d¡}||t|<q"|S)zH Parses flags from dmi data and updates self.ds_cfg accordingly zbaseboard-serial-numberz([a-z0-9]+)=(.*?)(;|$)Z01rú,)rÚ read_dmi_dataÚreÚfindallÚDMI_OVERRIDE_MAPÚboolÚintÚsplit)Z dmi_flagsÚretÚkeyÚvalueÚ_©rúD/usr/lib/python3.9/site-packages/cloudinit/sources/helpers/akamai.pyÚget_dmi_configs  rcCst d¡}|dvS)zo Reads the BIOS vendor from dmi data to determine if we are running in the Akamai Connected Cloud. zsystem-manufacturer)ZLinodeZAkamai©rr )ZvendorrrrÚ is_on_akamai(s rcCs t d¡S)zo Returns the instance id read from dmi data without requiring the metadata service to be reachable zsystem-serial-numberrrrrrÚget_local_instance_id1sr)r ÚtypingrrrrZ cloudinitrr ÚstrrrrrrrrrÚs ú