+
    i
                        a  R t0 t R t^ RIt^ RIHtHtHt ^ RIHt ^ RI	H
t
 ^ RIHt ^ RIHt ^ RIHt ^ RIHt ]tR	R
R].R]R. /t] ^ k ]P*                  ! ]4      tRtR R ltR# )z@Final Message: Output final message when cloud-init has finishedN)	templaterutilversion)Cloud)Config)
MetaSchema)ALL_DISTROS)log_util)
PER_ALWAYSidcc_final_messagedistros	frequencyactivate_by_schema_keyszy## template: jinja
Cloud-init v. {{version}} finished at {{timestamp}}. Datasource {{datasource}}.  Up {{uptime}} secondsc          
      L    V ^8  d   QhR\         R\        R\        R\        RR/# )   namecfgcloudargsreturnN)strr   r   list)formats   "C/usr/lib/python3/dist-packages/cloudinit/config/cc_final_message.py__annotate__r   &   s/     -4 -4 -46 -4% -4t -4 -4    c           
         R pV'       d   \        V^ ,          4      pM\        P                  ! VRR 4      pVP                  4       pV'       g   \        p\        P
                  ! 4       p\        P                  ! 4       p\        P                  ! 4       p RVRVRVR\        VP                  4      /pTP                  \        VP                  4        U	U
u. uF  w  rV	P                  4       V
3NK  	  up
p	4      4       \        P                  ! R\         P"                  ! WH4      ,          RR\$        R	7       VP,                  P.                  p V: RV: RV: R2p\        P0                  ! WRR7       VP                  P2                  R8X  dE   VP                  P4                  P7                  R4      R.8w  d   \$        P9                  R4       R# R# R# u up
p	i   \         P&                   d0   p\        P(                  ! \$        R
\        T4      4        Rp?LRp?i\*         d     \        P(                  ! \$        R4        ELi ; i  \*         d     \        P(                  ! \$        RT4        Li ; i) final_messageuptime	timestampr   
datasourcez%s
FT)consolestderrlogz,Failed to render templated final message: %sNz'Failed to render final message templatez - z - v. 
)ensure_dir_existsz%Failed to write boot finished file %sNonedatasource_listzUsed fallback datasource)r   r   get_cfg_option_strstripFINAL_MESSAGE_DEFr    time_rfc2822r   version_stringr"   updatedictitemsupperr	   	multi_logr   render_stringLOGJinjaSyntaxParsingExceptionlogexc	Exceptionpathsboot_finished
write_filedsnamesys_cfggetwarning)r   r   r   r   msg_inr    tscversubskveboot_fin_fncontentss   &&&&          r   handlerI   &   s   FT!W((orB\\^F"[[]F				B!!#DDft#e../	
 	DTZZ\B\TQ1779a.\BCDi--f;<		
 ++++KO*0"d;G &(##''(9:vhFKK23 G )+ C 00 
?Q	
 	
  DCBCD  OC@+NOsJ   A G G1AG &I	 G I/%HI&II	'I32I3c                @    V ^8  d   Qh/ ^ \         9   d
   \        ;R&   # )r   meta)__conditional_annotations__r   )r   s   "r   r   r      s     F F j  Gr   )rL   __doc__logging	cloudinitr   r   r   cloudinit.cloudr   cloudinit.configr   cloudinit.config.schemar   cloudinit.distrosr   cloudinit.logr	   cloudinit.settingsr
   r   rK   	getLogger__name__r5   r,   rI   r   )rL   s   @r   <module>rX      sp    G  . . ! # . ) " )	
}r	  !9 -4r   