JFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3RbrJFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr gW ddlZddlZddlmZddlZddlZddlmZddlmZdZ dZ dZ ddeee fd e d e d efd Zdd ZdZdZej$ddZy)N)Path)Union)mockcLtjdd|jS)Nz [\s\r\n]+ )resubstrip)results C/opt/hc_python/lib/python3.12/site-packages/mako/testing/helpers.pyflatten_resultr s 66,V , 2 2 44ctjdtjdd|Dcgc]%}|jdk7r|j'c}Scc}w)N\r?\nz +r)rsplitr r r xs r result_linesrsT(BFF5#v$>? ?A 779?  ?  s*Ac|tjd|Dcgc]}|jdk7s|c}Scc}w)Nrr)rrr rs r result_raw_linesrs3xx&1 E1!QWWY"_A1 EE Es99filespec make_absolute check_existsreturnct|}|r|j|}|r|jstd||S)N)strictzNo file or directory at )rresolveexistsFileNotFoundError)rrrpaths r make_pathr"sC >D||<|0T[[]":8* EFF Krctj}|rtjt}|5|j dddy#1swYyxYw)N) contextlib nullcontextsuppressr unlink)r! missing_okcms r _unlink_pathr*'s:    !B  !2 3   s A  Acntj|}t|d|jd|S)NT)r()exist_ok)pathlibrr*mkdir)pathspecr!s r replace_file_with_dirr01s- << !D$'JJJ Krclt|d5}|jdddd|S#1swY|SxYw)Nwz* i am an artificial template just for you )openwrite)rfs r file_with_template_coder68s8 h      O  Os)3c#Ktj|dzz }tjd5}||j_ddddy#1swYyxYww)Nizmako.codegen.time)timerpatch return_value)hoursrewound codegen_times r rewind_compile_timer>BsEiikUU]+G ' (L)0 &  ) ( (s0AA AAA)TF)F))r$r-rrr8typingrunittestrr rrstrboolr"r*r0r6contextmanagerr>rr rFs 5F  D#I     r