+
    i                        a  R t0 t R t^ RIt^ RIt^ RIHt ^ RIHtHt ^ RI	H
t
 ^ RIHt ^ RIHt ^ RIHt ^ RIHt ]P&                  ! ]4      tR	R
R].R]R. /t] ^ k RR ltR tR R ltR# )z%Seed Random: Provide random seed dataN)BytesIO)subputil)Cloud)Config)
MetaSchema)ALL_DISTROS)PER_INSTANCEidcc_seed_randomdistros	frequencyactivate_by_schema_keysc                 R   V '       g   R # V'       d   VP                  4       R9   d   \        P                  ! V 4      # VP                  4       R9   d   \        P                  ! V 4      # VP                  4       R9   d   \        P
                  ! V RRR7      # \        RV,          4      h)    FN)quietdecodez Unknown random_seed encoding: %s)raw)base64b64)gzipgz)lowerr   encode_textr   	b64decodedecomp_gzipIOError)dataencodings   &&A/usr/lib/python3/dist-packages/cloudinit/config/cc_seed_random.py_decoder        s    x~~'72%%		.	.%%		^	+E$??8HEFFr   c                 j   V '       g   V'       d   \        R 4      hV '       g   \        P                  R4       R# V ^ ,          p\        P                  ! V4      '       g<   V'       d   \        RP                  VR7      4      h\        P                  RV4       R# \        P                  ! WRR7       R# )z"no command found but required=truezno command providedNz+command '{cmd}' not found but required=true)cmdz'command '%s' not found for seed_commandF)
update_envcapture)
ValueErrorLOGdebugr   whichformat)commandrequiredr#   r"   s   &&& r   handle_random_seed_commandr,   -   s    x=>>		'(
!*C::c??=DDDM  II?EIIge<r   c          
      L    V ^8  d   QhR\         R\        R\        R\        RR/# )   namecfgcloudargsreturnN)strr   r   list)r)   s   "r   __annotate__r6   @   s/     # # #6 #% #t # #r   c                    VP                  R / 4      pVP                  RR4      pVP                  RR4      p\        4       pV'       d+   VP                  \        WdP                  R4      R7      4       VP                  P
                  pV'       d4   R V9   d-   VP                  \        P                  ! VR ,          4      4       VP                  4       p\        V4      '       d8   \        P                  RV \        V4      V4       \        P                  ! WV4       VP                  RR	4      p	VP                  R
R4      p
 \        V	V
RV/R7       R	#   \         d   p\        P                  RY4       ThR	p?ii ; i)random_seedfilez/dev/urandomr   r   r   )r   z0%s: adding %s bytes of random seed entropy to %sr*   Ncommand_requiredFRANDOM_SEED_FILE)r*   r+   r#   z'handling random command [%s] failed: %s)getr   writer    
datasourcemetadatar   r   getvaluelenr&   r'   append_filer,   r%   warning)r/   r0   r1   r2   mycfg	seed_path	seed_dataseed_bufr?   r*   reqes   &&&&        r   handlerJ   @   s4   GGM2&E		&.1I		&#&IyHwy99Z3HIJ ((HMX-t''(?@A!!#I
9~~		>	N		
 	.ii	4(G
))&
.C"*I6	

  =wJs   E E;E66E;c                @    V ^8  d   Qh/ ^ \         9   d
   \        ;R&   # )r.   meta)__conditional_annotations__r   )r)   s   "r   r6   r6   	   s     + + j  ,r   )N)rM   __doc__r   loggingior   	cloudinitr   r   cloudinit.cloudr   cloudinit.configr   cloudinit.config.schemar   cloudinit.distrosr   cloudinit.settingsr	   	getLogger__name__r&   rL   r    r,   rJ   r6   )rM   s   @r   <module>rY      sk    ,      ! # . ) +! 	
}r	 
G=&#r   