??????????????
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@`sddlmZmZmZeZddlZddlZddlZddl Z ddl Z ddl Z ddl Z ddl mZddlmZyddlmZWn!ek rddlmZnXddlmZmZddlmZdd lmZmZdd lmZdd l m!Z!m"Z"m#Z#m$Z$dd l%m&Z&m'Z'm(Z(dd l)m*Z*m+Z+m,Z,ddl-m.Z.m/Z/m0Z0ddl1m2Z2ddl3m4Z4ddl5m6Z6m7Z7m8Z8ddl9m:Z:ddl;m<Z<ddl=m>Z>ddl?m@Z@ddlAmBZBddlCmDZDeBZEddgZFeGefZHdZIddlJmKZLeMZNejOry*ddlPmQZRddlSmTZUeVZNWqek rddlJmRZRddlWmXZUeEjYd eLqXn ddlJmRZRddlWmXZUeZd7Z[eZd8Z\dd)Z^d*Z_d+Z`d,Zad-Zbd.efd/YZcd0efd1YZdd2e0fd3YZed4eRfd5YZfdd9d6YZgdS(:i(tabsolute_importtdivisiontprint_functionN(t LooseVersion(tNumber(tsha1(tsha(tTemplateSyntaxErrortUndefinedError(tFileSystemLoader(tContexttStrictUndefined(t constants(t AnsibleErrortAnsibleFilterErrortAnsibleUndefinedVariabletAnsibleAssertionError(t iteritemst string_typest text_type(t to_nativetto_texttto_bytes(tSequencetMappingtMutableMapping(t is_sequence(t import_module(t filter_loadert lookup_loadert test_loader(t safe_eval(tAnsibleJ2Template(t AnsibleJ2Vars(tAnsibleCollectionRef(tDisplay(twrap_vartTemplartgenerate_ansible_template_varss#jinja2:(t __version__(tNativeEnvironment(tansible_native_concat(t Environment(tconcats[jinja2_native requires Jinja 2.10 and above. Version detected: %s. Falling back to default.tvariable_begint block_begint comment_begint raw_begint variable_endt block_endt comment_endtraw_endcC`sTt|}y"tjtj|jj}Wn)ttfk rYtj|j}nXit tj dd6|d6t j j tj j|d6t |d6tj j|d6t j jd6|rt|ndd6}tj}|jd |dd |dd |d}t tjt|tjtj j||d <|S( Nit template_hostt template_pathttemplate_mtimet template_uidttemplate_fullpathttemplate_run_datettemplate_destpaththosttuidtfiletansible_managed(Rtpwdtgetpwuidtoststattst_uidtpw_nametKeyErrort TypeErrorRtunametdatetimet fromtimestamptpathtgetmtimetabspathtnowRtNonetCtDEFAULT_MANAGED_STRtformatttimetstrftimet localtime(RJt dest_pathtb_pathR7t temp_varstmanaged_defaultt managed_str((s=/usr/lib/python2.7/site-packages/ansible/template/__init__.pyR&^s( "      7cC`sd|krd|krg}|j|}t}x|j|D]}|ddkrst}|j|dqC|ddkrt}|j|dqC|r|ddkr|j|djddqC|j|dqCWd j|}n|S( sDouble backslashes within jinja2 expressions A user may enter something like this in a playbook:: debug: msg: "Test Case 1\3; {{ test1_name | regex_replace('^(.*)_name$', '\1')}}" The string inside of the {{ gets interpreted multiple times First by yaml. Then by python. And finally by jinja2 as part of it's variable. Because it is processed by both python and jinja2, the backslash escaped characters get unescaped twice. This means that we'd normally have to use four backslashes to escape that. This is painful for playbook authors as they have to remember different rules for inside vs outside of a jinja2 expression (The backslashes outside of the "{{ }}" only get processed by yaml and python. So they only need to be escaped once). The following code fixes this by automatically performing the extra quoting of backslashes inside of a jinja2 expression. s\s{{iR,iR0tstrings\\t(t preprocesstFalsetlextTruetappendtreplacetjoin(tdatat jinja_envtnew_datatd2tin_varttoken((s=/usr/lib/python2.7/site-packages/ansible/template/__init__.pyt_escape_backslasheszs  cC`sd}t}t}|j|}yx|j|D]}|dtkr|ri|ddkrit}nt}|djdd}q4|dtkr4|djdd|krtS|rq4ntSq4WWntk rtSXtS(sThis function attempts to quickly detect whether a value is a jinja2 template. To do so, we look for the first 2 matching jinja2 tokens for start and end delimiters. iR.t_iN( RNR_R]R\R^tJINJA2_BEGIN_TOKENStsplittJINJA2_END_TOKENSR(RcRdtfoundtstarttcommentRfRh((s=/usr/lib/python2.7/site-packages/ansible/template/__init__.pyt is_templates(   cC`s`yGt|}|d}x||dkr9|d8}qW|d|SWntk r[|SXdS(s Counts the number of newlines at the end of a string. This is used during the jinja2 templating to ensure the count matches the input, since some newlines may be thrown away during the templating. is N(tlent IndexError(tin_strtitj((s=/usr/lib/python2.7/site-packages/ansible/template/__init__.pyt_count_newlines_from_ends   cC`sddlm}t|trAxs|D]}t||q&WnTt|trnxB|D]}t|qWWn't||rtdj|ndS(Ni(t Undefineds{0} is undefined(tjinja2.runtimeRxt isinstanceRtrecursive_check_definedtlistRRQ(titemRxtkeyRu((s=/usr/lib/python2.7/site-packages/ansible/template/__init__.pyR{s  tAnsibleUndefinedcB`s2eZdZdZdZdZdZRS(s} A custom Undefined class, which returns further Undefined objects on access, rather than throwing an exception. cC`s|dkrt|n|S(Nt __UNSAFE__(tAttributeError(tselftname((s=/usr/lib/python2.7/site-packages/ansible/template/__init__.pyt __getattr__s cC`s|S(N((RR~((s=/usr/lib/python2.7/site-packages/ansible/template/__init__.pyt __getitem__scC`sdS(NR((R((s=/usr/lib/python2.7/site-packages/ansible/template/__init__.pyt__repr__scC`s|S(N((RR}((s=/usr/lib/python2.7/site-packages/ansible/template/__init__.pyt __contains__s(t__name__t __module__t__doc__RRRR(((s=/usr/lib/python2.7/site-packages/ansible/template/__init__.pyRs    tAnsibleContextcB`sDeZdZdZdZdZdZdZdZRS(s A custom context, which intercepts resolve() calls and sets a flag internally if any variable lookup returns an AnsibleUnsafe value. This flag is checked post-templating, and (when set) will result in the final templated result being wrapped in AnsibleUnsafe. cO`s&tt|j||t|_dS(N(tsuperRt__init__R]tunsafe(Rtargstkwargs((s=/usr/lib/python2.7/site-packages/ansible/template/__init__.pyRscC`st|tr@x|jD]}|j||rtSqWnRt|trvx@|D]}|j|rVtSqVWnt|dttkrtStS(s Our helper function, which will also recursively check dict and list entries due to the fact that they may be repr'd and contain a key or value which contains jinja2 syntax and would otherwise lose the AnsibleUnsafe value. R(Rztdicttkeyst _is_unsafeR_R|tgetattrR](RtvalR~R}((s=/usr/lib/python2.7/site-packages/ansible/template/__init__.pyR s   cC`s5|dk r1|j r1|j|r1t|_ndS(N(RNRRR_(RR((s=/usr/lib/python2.7/site-packages/ansible/template/__init__.pyt_update_unsafes%cC`s)tt|j|}|j||S(s The intercepted resolve(), which uses the helper above to set the internal flag whenever an unsafe variable value is returned. (RRtresolveR(RR~R((s=/usr/lib/python2.7/site-packages/ansible/template/__init__.pyR!s cC`s)tt|j|}|j||S(N(RRtresolve_or_missingR(RR~R((s=/usr/lib/python2.7/site-packages/ansible/template/__init__.pyR*s cC`swtttdkr;|js(|jS|js;|jSnt|jtr`|jj|jSt|j|jSdS(sReturn the complete context as a dict including the exported variables. For optimizations reasons this might not return an actual copy so be careful with using it. This is to prevent from running ``AnsibleJ2Vars`` through dict(): ``dict(self.parent, **self.vars)`` In Ansible this means that ALL variables would be templated in the process of re-creating the parent because ``AnsibleJ2Vars`` templates each variable in its ``__getitem__`` method. Instead we re-create the parent via ``AnsibleJ2Vars.add_locals`` that creates a new ``AnsibleJ2Vars`` copy without templating each variable. This will prevent unnecessarily templating unused variables in cases like setting a local variable and passing it to {% include %} in a template. Also see ``AnsibleJ2Template``and https://github.com/pallets/jinja/commit/d67f0fd4cc2a4af08f51f4466150d49da7798729 s2.9N(Rt j2_versiontvarstparentRzR!t add_localsR(R((s=/usr/lib/python2.7/site-packages/ansible/template/__init__.pytget_all/s   ( RRRRRRRRR(((s=/usr/lib/python2.7/site-packages/ansible/template/__init__.pyRs    tJinjaPluginInterceptcB`s>eZdZdZdZdZdZdZRS(cO`stt|j||||_||_|jjdkrRd|_d|_n'|jjdkryd|_d|_ni|_dS(Nt FilterModuletfilterstfiltert TestModuletteststtest( RRRt _delegateet _pluginloadert class_namet_method_map_namet_dirnamet_collection_jinja_func_cache(Rt delegateet pluginloaderRR((s=/usr/lib/python2.7/site-packages/ansible/template/__init__.pyRSs      cC`st|tstdnt|}d|krF|jj|S|jj|}|rb|Stj ||j }|st dj |nyt |j}Wntk rt nX|j}|jrdj ||j}nxtj|jd|dD]\}}}|r'q ny|jj|} Wn(tk rg} tt| dnXt| |j} xAt| D]0} dj|| df} | d|j|       , cC`s|jj||S(N(Rt __setitem__(RR~tvalue((s=/usr/lib/python2.7/site-packages/ansible/template/__init__.pyRscC`s tdS(N(tNotImplementedError(RR~((s=/usr/lib/python2.7/site-packages/ansible/template/__init__.pyt __delitem__scC`s t|jS(N(titerR(R((s=/usr/lib/python2.7/site-packages/ansible/template/__init__.pyt__iter__scC`s t|jS(N(RrR(R((s=/usr/lib/python2.7/site-packages/ansible/template/__init__.pyt__len__s(RRRRRRRR(((s=/usr/lib/python2.7/site-packages/ansible/template/__init__.pyRRs   0   tAnsibleEnvironmentcB`s#eZdZeZeZdZRS(s Our custom environment, which simply allows us to override the class-level values for the Template and Context classes used by jinja2 internally. cO`sGtt|j||t|jt|_t|jt|_dS(N(RRRRRRRR(RRR((s=/usr/lib/python2.7/site-packages/ansible/template/__init__.pyRs(RRRRt context_classR ttemplate_classR(((s=/usr/lib/python2.7/site-packages/ansible/template/__init__.pyRsc B`seZdZdddZdZdZdZedZ e j dZ dZ e e e dde de e d Zd ZeZd Zd Zd Zd Ze ddZdZdZe e dde dZeZRS(sQ The main class for templating, with the main entry-point of template(). c C`s|dkrin|}||_d|_d|_||_i|_|r]|j|_n d|_|rt|d|_ t|d|_ t|d|_ nt |_ t |_ t|_ t|_t|_tj|_tdtdtd|jd|jd t|j|_d|_tjd |jj|jjf|_ tjd |jj|jj!|jj"|jjf|_#tjd d j$tj%|jjf|_&dS(Ns./RRRt trim_blockst undefinedt extensionstfinalizetloaders^%s\s*(\w*)\s*%s$s(?:%s|%s|%s|%s)s,.*?\|\s*(?:%s)(?:\([^\|]*\))?\s*\)?\s*(?:%s)t|('RNt_loadert_filterst_testst_available_variablest_cached_resultt get_basedirt_basedirRt_filter_loadert _test_loadert_lookup_loaderRRRR_t_fail_on_lookup_errorst_fail_on_filter_errorsROtDEFAULT_UNDEFINED_VAR_BEHAVIORt_fail_on_undefined_errorsRRt_get_extensionst _finalizeR t environmentt cur_contexttretcompiletvariable_start_stringtvariable_end_stringt SINGLE_VARtblock_start_stringtblock_end_stringt _clean_regexRbtSTRING_TYPE_FILTERSt_no_type_regex(RRtshared_loader_objt variables((s=/usr/lib/python2.7/site-packages/ansible/template/__init__.pyRsD               (     cC`se|jdk r|jjSt|_x-|jjD]}|jj|jq8W|jjS(sS Returns filter plugins, after loading and caching them if need be N(RRNtcopyRRtalltupdateR(Rtfp((s=/usr/lib/python2.7/site-packages/ansible/template/__init__.pyt _get_filterss   cC`se|jdk r|jjSt|_x-|jjD]}|jj|jq8W|jjS(sR Returns tests plugins, after loading and caching them if need be N(RRNRRRRRR(RR((s=/usr/lib/python2.7/site-packages/ansible/template/__init__.pyt _get_testss   cC`s4g}tjr0tjjddjd}n|S(s Return jinja2 extensions to load. If some extensions are set via jinja_extensions in ansible.cfg, we try to load them with the jinja environment. t R[t,(ROtDEFAULT_JINJA2_EXTENSIONSRaRl(Rt jinja_exts((s=/usr/lib/python2.7/site-packages/ansible/template/__init__.pyRs !cC`s|jS(N(R(R((s=/usr/lib/python2.7/site-packages/ansible/template/__init__.pytavailable_variablesscC`s>t|ts(tdt|n||_i|_dS(s  Sets the list of template variables this Templar instance will use to template things, so we don't have to pass them around between internal methods. We also clear the template cache here, as the variables are being changed. s5the type of 'variables' should be a dict but was a %sN(RzRRttypeRR(RR((s=/usr/lib/python2.7/site-packages/ansible/template/__init__.pyRs  cC`s tjddd||_dS(NsWset_available_variables is being deprecated. Use "@available_variables.setter" instead.tversions2.13(tdisplayt deprecatedR(RR((s=/usr/lib/python2.7/site-packages/ansible/template/__init__.pytset_available_variables(sc  C`s|dkrdgn|}t|dr.|S|dkrF|j}ny|ra|j|}nt|tr|} |j|r|jj|} | r| j d} | |j kr|j | }t|t r|S|dkrt j Sqnd}| rmtt|jd}tt|t|t|t|jd}|j|j}n| r||jkr|j|} q|j|d|d|d|d|d | } tszt| d}|rz|jj| rz| jd r| j|jj s-| jd s-| dkrwt| dt}|ddkrt|d} |rqt| } qqqtqwqzn| r| r| |j||rtjj}ntjj}|r:|j|S|S(sUjinja2 global function to return current datetime, potentially formatted via strftime(RHtutcnowRMRS(RtutctfmtRM((s=/usr/lib/python2.7/site-packages/ansible/template/__init__.pyt _now_datetimes  cO`st|d<|j|||S(s( wrapper for lookup, force wantlist truetwantlist(R_t_lookup(RRRR((s=/usr/lib/python2.7/site-packages/ansible/template/__init__.pyt _query_lookups c O`sa|jj|jd|jd|}|dk rM|jdt}|jdtj}|jdd}ddl m }|d |d|d|jd t d t} y|j | d |j |} Wnttfk r} t| ntk r} |jrvd |t| t| f} |dkr?tj| qv|dkratj| dt qvtt| n|rgnd} nX| rI| rI|rt| } nytdj| } Wndtk r-t| tstd|nt| dkrt| d} q.t| } nX|jrIt |j_qIn| Std|dS(NRttemplarR6t allow_unsafeterrorststricti(tlistify_lookup_plugin_termsttermsRRRujAn unhandled exception occurred while running the lookup plugin '%s'. Error was a %s, original message: %stwarntignoretlog_onlyRs-The lookup plugin '%s' did not return a list.islookup plugin (%s) not found( RRtlowerRRNtpopR]ROtDEFAULT_ALLOW_UNSAFE_LOOKUPStansible.utils.listifyR=R_trunRRRRRRRRtwarningR RR$RbRFRzRRrRR( RRRRtinstanceR6R:R;R=t loop_termstranRtmsg((s=/usr/lib/python2.7/site-packages/ansible/template/__init__.pyR7sJ' *       cC`s;trt|t r|St|}|dkr>|j}ny|dkr_|jj}n|jj|}t|dr|j t r|j d} |t t | !} || d}xZ| j dD]F} | j d\} } | j} t|| tj| jqWn|jj|j|jj|j|r`t||}ny|j|}Wnvtk r}tdt|t|fnBtk r}dt|krtdt|q|SnXt|jd <|r(|j|jd <|jd <|jd dt|}|dt|7}t.|q{t/j0dt1|tdt|t|fnXtrt|t r|S|rt|}||kr||jj2||7}|rt,|}qqn|SWnIt3t.fk r6}|rt.|q7t/j0dt1||SnXdS(NRs iRt:s6template error while templating string: %s. String: %st recursions.recursive loop detected in template string: %sRtquerytqtlookupRMRtsharedRRsIUnable to look up a name or access an attribute in template string (%s). sMMake sure your variable name does not contain invalid characters like '-': %ss5failing because of a type error, template data is: %ss5Unexpected templating type error occurred on (%s): %ssIgnoring undefined failure: %s(4RRzRRwRNRRtoverlayR RtJINJA2_OVERRIDEtfindRrRltstriptsetattrtastt literal_evalRRRRRRit from_stringRR RRRtglobalsR1R7R8R5RR!t new_contextR_Rtroot_render_funct j2_concatRR]R$RFRRtdebugRtnewline_sequenceR(RRcRRRRR t data_newlinestmyenvteoltlinetpairR~RttRtjvarsR[trftresRtteterrmsgt res_newlines((s=/usr/lib/python2.7/site-packages/ansible/template/__init__.pyR,s     &% ) &  N(RRRRNRRRRtpropertyRtsetterRR]R_RRqt templatableRRRR1R5R8R7Rt _do_template(((s=/usr/lib/python2.7/site-packages/ansible/template/__init__.pyR%s*3    u      5l(svariable_beginR-s comment_beginR/(s variable_endR1R2R3((ht __future__RRRRt __metaclass__RWRHRARR?RRRtdistutils.versionRtnumbersRthashlibRRRtjinja2.exceptionsRRtjinja2.loadersR RyR R tansibleR ROtansible.errorsR RRRtansible.module_utils.sixRRRtansible.module_utils._textRRRt/ansible.module_utils.common._collections_compatRRRt'ansible.module_utils.common.collectionsRt%ansible.module_utils.compat.importlibRtansible.plugins.loaderRRRtansible.template.safe_evalRtansible.template.templateR tansible.template.varsR!tansible.utils.collection_loaderR"tansible.utils.displayR#tansible.utils.unsafe_proxyR$Rt__all__tboolRRStjinja2R'RR]RtDEFAULT_JINJA2_NATIVEtjinja2.nativetypesR(R*tansible.template.native_helpersR)R]R_t jinja2.utilsR+RGt frozensetRkRmRNR&RiRqRwR{RRRRR%(((s=/usr/lib/python2.7/site-packages/ansible/template/__init__.pyts|        "          + !  SP