eaiovnaovbqoebvqoeavibavo 3 Ö¸VXÖã@s$ddlZGdd„deƒZdd„ZdS)éNc@s6eZdZdZdd„Zdd„Zd dd„Zed d „ƒZdS) ÚExitableÚ _at_exit_cbsc Cs6y |jWntk r$g|_YnX|jj|ƒdS)N)rÚAttributeErrorÚappend)ÚselfÚcb©rú/usr/lib/python3.6/exitable.pyÚ_at_exits   zExitable._at_exitcCs|S)Nr)rrrr Ú __enter__szExitable.__enter__Nc Csr|jr dSx\t|jƒD]N}d}ytj||||ƒWntk rJd}YnX|r^||||ƒq|ƒqWd|_dS)NTF)Ú_exitedÚreversedrÚinspectZ getcallargsÚ TypeError)rÚexc_typeÚ exc_valueÚ tracebackrZ call_with_excrrr Ú__exit__s  zExitable.__exit__c Cs$y |jdkStk rdSXdS)NT)rr)rrrr r #s zExitable._exited)NNN) Ú__name__Ú __module__Ú __qualname__Ú __slots__r r rÚpropertyr rrrr rs  rcGs6Gdd„dtƒ}dd„}x|D]}t|||ƒqW|S)Nc@s eZdZdS)z+ExitableWithAliases..CustomExitableN)rrrrrrr ÚCustomExitable+srcSs |jƒdS)N)r)rrrr Úexit.sz!ExitableWithAliases..exit)rÚsetattr)Z exit_methodsrrZexit_method_namerrr ÚExitableWithAliases*s  r)rÚobjectrrrrrr Ús'