??????????????
Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 173

Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 174

Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 175

Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 176

Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 177

Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 178
ó àUdac@`s¤ddlmZmZmZeZddlmZmZddl Z ddl m Z ddl m Z ddlmZmZddlmZdefd „ƒYZdS( i(tabsolute_importtdivisiontprint_function(tpathtwalkN(t AnsibleError(t string_types(t to_nativetto_text(t ActionBaset ActionModulecB`s¤eZeZdddgZddddddgZd d gZd gZd „Zd „Z ddd„Z d„Z d„Z d„Zd„Zed„Zd„ZRS(tyamltymltjsontdirtdepthtfiles_matchingt ignore_filest extensionstignore_unknown_extensionstfilet _raw_paramstnamecC`s»|jsd|_n|jr?tjdj|jƒƒ|_n d|_|js`tƒ|_nt |jt ƒr‡|jj ƒ|_n0t |jt ƒr·it d6dj|jƒd6SdS(Nis{0}tfaileds{0} must be a listtmessage(RRtretcompiletformattmatchertNoneRtlistt isinstanceRtsplittdicttTrue(tself((sG/usr/lib/python2.7/site-packages/ansible/plugins/action/include_vars.pyt_set_dir_defaultss   !  cC`sw|jjjdd ƒ|_|jjjdd ƒ|_|jjjdd ƒ|_|j r¡|j r¡|jjjdƒ|_|jr¡|jjdƒ|_q¡n|jjjdd ƒ|_|jjjdd ƒ|_ |jjjdt ƒ|_ |jjjd d ƒ|_ |jjjd |j ƒ|_t|jtƒrRt|jƒ|_nt|jtƒsstd ƒ‚nd S( s@ Set instance variables based on the arguments that were passed RRRRs RRRRRs7Invalid type for "extensions" option, it must be a listN(t_tasktargstgetRtreturn_results_as_namet source_dirt source_filetrstripRRtFalseRRtVALID_FILE_EXTENSIONStvalid_extensionsRRRR(R#((sG/usr/lib/python2.7/site-packages/ansible/plugins/action/include_vars.pyt _set_args.s  cC`s¶~|dkrtƒ}nt|_g|_d}d}xy|jjD]k}||jkrh|d7}qF||jkr„|d7}qF||j kr–qFt dj t |ƒƒƒ‚qFW|rÐ|rÐt dƒ‚n|j ƒtƒ}|jr¸|jƒ|jƒtj|jƒs3t}dj t |jƒƒ}q-tj|jƒsft}dj t |jƒƒ}q-xÄ|jƒD]>\} } |j| | ƒ\}}} |r¤Pn|j| ƒqsWnuyM|jd|jƒ|_|j|jƒ\}}} |s|j| ƒnWn%t k r,} t}t | ƒ}nX|jrUtƒ} || |j<| }ntt|ƒjd|ƒ}|r||d <||d ®siN(RRR)tsortR(R#t current_deptht sorted_walkt current_rootRXt current_files((sG/usr/lib/python2.7/site-packages/ansible/plugins/action/include_vars.pyR=§s  cC`sjxc|jD]X}y#tjdj|ƒ|ƒr2tSWq tk radj|ƒ}t|ƒ‚q Xq WtS(s½ Return True if a file matches the list of ignore_files. Args: filename (str): The filename that is being matched against. Returns: Boolean s{0}$sInvalid regular expression: {0}(RRtsearchRR"t ExceptionRR,(R#tfilenamet file_typeRI((sG/usr/lib/python2.7/site-packages/ansible/plugins/action/include_vars.pyt _ignore_file·s cC`s<tj|ƒ}tt|ƒdko8|dd|jkƒS(s± Verify if source file has a valid extension Args: source_file (str): The full path of source file or source file. Returns: Bool iiÿÿÿÿ(RtsplitexttbooltlenR.(R#R*tfile_ext((sG/usr/lib/python2.7/site-packages/ansible/plugins/action/include_vars.pyt_is_valid_file_extÈsc C`stƒ}t}d}|rX|j|ƒ rXt}djt|ƒdj|jƒƒ}n­|jj |ƒ\}}t |ddƒ}||_ |jj |d|d|ƒ}|s»tƒ}nt |tƒsèt}djt|ƒƒ}n|jj|ƒ|j|ƒ|||fS( s¹ Loads a file and converts the output into a valid Python dict. Args: filename (str): The source file. Returns: Tuple (bool, str, dict) ts({0} does not have a valid extension: {1}s, terrorstsurrogate_or_strictt file_nameR5s'{0} must be stored as a dictionary/hash(R!R,RjR"RRRSR.t_loadert_get_file_contentsRR5tloadRR6tappendR?( R#Rctvalidate_extensionsRHRRItb_dataR5tdata((sG/usr/lib/python2.7/site-packages/ansible/plugins/action/include_vars.pyRAÒs$ '   c C`s•tƒ}t}d}xp|D]h}t}|jjrstj|jjj|ƒtj|ddƒkrst}qqsntj||ƒ}|jr¬|j j |ƒs¬t}q¬n| r| r|j r+tj |ƒr|j |ƒ r|j|ƒr|j|dtƒ\}}} |s(|j| ƒq(qq„tj |ƒr„|j |ƒ r„|j|dtƒ\}}} |s|j| ƒqq„qqW|||fS(s> Load the found yml files and update/overwrite the dictionary. Args: root_dir (str): The base directory of the list of files that is being passed. var_files: (list): List of files to iterate over and load into a dictionary. Returns: Tuple (bool, str, dict) RkR0smain.ymlRs(R!R,R%RRRRSRTR"RRRaRR;ReRjRAR?( R#RJt var_filesRHRRIRct stop_itertfilepatht loaded_data((sG/usr/lib/python2.7/site-packages/ansible/plugins/action/include_vars.pyR>ñs0   0    .N(t__name__t __module__R,tTRANSFERS_FILESR-R7R8R9R$R/RRCR:R=ReRjRAR>(((sG/usr/lib/python2.7/site-packages/ansible/plugins/action/include_vars.pyR s    L    (t __future__RRRttypet __metaclass__tosRRRtansible.errorsRtansible.module_utils.sixRtansible.module_utils._textRRtansible.plugins.actionR R (((sG/usr/lib/python2.7/site-packages/ansible/plugins/action/include_vars.pyts