
    ܍~c                          d  Z d Zd ZddZdS )c                 F    | |                                  k    sJ | d|dS )z6Return a udev comparison clause, like `ACTION=="add"`.z==""upperkeyvalues     4/usr/lib/python3/dist-packages/cloudinit/net/udev.pycompose_udev_equalityr
      s.    #))++eee$$    c                 H    | |                                  k    sJ d| d|dS )zBReturn a udev attribute comparison clause, like `ATTR{type}=="1"`.zATTR{z}=="r   )lower)	attributer   s     r	   compose_udev_attr_equalityr      s3    	)))))))(yy%%%00r   c                 F    | |                                  k    sJ | d|dS )z4Return a udev assignment clause, like `NAME="eth0"`.z="r   r   r   s     r	   compose_udev_settingr      s.    #))++UUU##r   Nc           
          |sd}d                     t          dd          t          dd          t          d|          t          d|          t          d	|           g          }d
|z  S )zReturn a udev rule to set the name of network interface with `mac`.

    The rule ends up as a single line looking something like:

    SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*",
    ATTR{address}="ff:ee:dd:cc:bb:aa", NAME="eth0"
    z?*z, 	SUBSYSTEMnetACTIONaddDRIVERSaddressNAMEz%s
)joinr
   r   r   )	interfacemacdriverrules       r	   generate_udev_ruler      sv      99!+u55!(E22!)V44&y#66 33	
 D D=r   )N)r
   r   r   r    r   r	   <module>r!      sP   % % %1 1 1$ $ $     r   