�&ǐk�@'bJ�h�ۊL'}T� :��'2�Z#$��n�a��� �>a��`��_3d�Qpt�/�P -��#5�,�M��� �pA:©�q�����NW��ډ�A���� �9nʺج���� �TSM��{J6?7��r�@�\����D��� �׶���s�f�TJj?"��D��`?��̒� b�#�%�C*v�$�{�$����5Ծ�F�s��y�e/8��h-�f�̰&(����Gj�L:U� 2�� ����v�_k����Y��gp,�k�WF�R������_C�R��N@���R�@�ߔ?A�w9���F("iNa-S���Q�o�3tDMLh*�#4k�T/iQ��Y*�G��m����)��8�hBm/�I�,g�ﯖ���Z��}�Cz�q@´��d.����L�ŕ�,��1�Z�܌�: ̪���F+J-'��c�tvJ8��]Q-��b��y �6;*J`r_�d ��'�G ~p��)'�C,�%F��E(��2�k�����lР�z�!�=t ��_�0��f7��� ;�p�|�U �%?@[\]^_`{|}~cCs|pdjdd|j|DS)N css|]}|jVqdS)N) capitalize).0xr/usr/lib64/python3.6/string.py 0szcapwords..)joinsplit)sseprrrr%s )ChainMapcs eZdZdZfddZZS)_TemplateMetaclassa/ %(delim)s(?: (?P%(delim)s) | # Escape sequence of two delimiters (?P%(id)s) | # delimiter and a Python identifier {(?P%(id)s)} | # delimiter and a braced identifier (?P) # Other ill-formed delimiter exprs ) csXtt|j|||d|kr$|j}ntjtj|j|jd}tj||j tj B|_dS)Npattern)Zdelimid) superr__init__r_reescape delimiter idpatterncompileflagsVERBOSE)clsnamebasesZdctr) __class__rrrAs  z_TemplateMetaclass.__init__)__name__ __module__ __qualname__rr __classcell__rr)r*rr7src@s:eZdZdZdZejZddZddZ ddZ d d Z d S) r $z(?-i:[_a-zA-Z][_a-zA-Z0-9]*)cCs ||_dS)N)template)selfr0rrrrXszTemplate.__init__cCsd|jd}|jd|jdd}|s.d}d}n"|tdj|dd}t|}td||fdS)NinvalidT)keependsz.Invalid placeholder in string: line %d, col %d)startr0 splitlineslenr ValueError)r1moilinescolnolinenorrr_invalid]s zTemplate._invalidcsl|s td|^}t|dkr(td|s2|n|rFt||dn|dfdd}jj|jS)Nz>descriptor 'substitute' of 'Template' object needs an argumentr4zToo many positional argumentsr csd|jdp|jd}|dk r(t|S|jddk r<jS|jddk rTj|tdjdS)Nnamedbracedescapedr2z#Unrecognized named group in pattern)groupstrr"r@r:r)r;rA)mappingr1rrconvertws  z$Template.substitute..convert) TypeErrorr9 _ChainMaprsubr0)argskwsrGr)rFr1r substituteis  zTemplate.substitutecsl|s td|^}t|dkr(td|s2|n|rFt||dn|dfdd}jj|jS)NzCdescriptor 'safe_substitute' of 'Template' object needs an argumentr4zToo many positional argumentsr c s||jdp|jd}|dk rBy t|Stk r@|jSX|jddk rVjS|jddk rl|jStdjdS)NrArBrCr2z#Unrecognized named group in pattern)rDrEKeyErrorr"r:r)r;rA)rFr1rrrGs  z)Template.safe_substitute..convert)rHr9rIrrJr0)rKrLrGr)rFr1rsafe_substitutes  zTemplate.safe_substituteN) r+r,r-r"r#r IGNORECASEr%rr@rMrOrrrrr Ms ) metaclassc@sVeZdZddZddZdddZdd Zd d Zd d ZddZ ddZ ddZ dS)r c Osz|s td|^}}y |^}}WnJtk rjd|kr\|jd}ddl}|jdtddn tddYnX|j|||S)Nz;descriptor 'format' of 'Formatter' object needs an argument format_stringr z9Passing 'format_string' as keyword argument is deprecated) stacklevelz@format() missing 1 required positional argument: 'format_string')rHr:popwarningswarnDeprecationWarningvformat)rKkwargsr1rRrVrrrformats    zFormatter.formatcCs.t}|j||||d\}}|j||||S)NrS)set_vformatcheck_unused_args)r1rRrKrZ used_argsresult_rrrrYszFormatter.vformatr c Cs|dkrtdg}x|j|D]\}} } } |r:|j|| dk r | dkrl|dkrZtdt|} |d7}n| jr|rtdd}|j| ||\} } |j| |j| | } |j| ||||d|d\} }|j|j | | q Wdj ||fS)Nr zMax string recursion exceededr5FzJcannot switch from manual field specification to automatic field numberingr4)auto_arg_index) r:parseappendrEisdigit get_fieldadd convert_fieldr] format_fieldr)r1rRrKrZr_Zrecursion_depthrbr`Z literal_text field_name format_spec conversionobjZarg_usedrrrr]s4     zFormatter._vformatcCst|tr||S||SdS)N) isinstanceint)r1keyrKrZrrr get_values zFormatter.get_valuecCsdS)Nr)r1r_rKrZrrrr^szFormatter.check_unused_argscCs t||S)N)r[)r1valuerkrrrriszFormatter.format_fieldcCsN|dkr |S|dkrt|S|dkr,t|S|dkrs$     `