3 \-]@sddlZddlZddlZddlZddlZddlmZddlZddddddd d d d d ddddddddddddgZ ddZ ddZ y ddl TWnLe k rdZd Zd!ZdZd"Zd#Zd$Zd%ZeZd&d Zdd'dZYnXd ekre Zd ekre ZeZiZejed(d Zd)d*Z dd,d-Z!d.d/Z"ej#d0Z$dd1dZ%dd2d3Z&dd4dZ'dd6dZ(d7d Zd8d9Z)e*fd:d Z+d;dZ,dd?Z/d@dAZ0dBdZ1dCdDZ2dEdFZ3ddIdZ4efdJdZ5ddKdZefdLdZ6ej7j8dMrddNdZ9n8ye:Wn"e;k r2ddOdZ9YnXddPdZ9dQdQdRdSdSdTdUdVdWdXdRdYdZd[dRdRdRd\d]d^d_d[d`dYdadbdZdcdddedfdSdgdhdTdidjdkdldmdndVdWdXdo,ZD]"\Z?Z@e?jAdpdqZ?ed?d@dAdBdCdCdDdDdCdAdAdEdEdFdGdHdHdIdJdKdLdMdMdNdOdPdPdQdQdRdSdTdTdUdUdVdVdWdXdddYdZd[d\d]d^dƐd_ddƐd`d`dadbdadadadadcdcdddddbdbd`dededfdgdhdhdidjdjdkdldmdndodpdodqdqdrdrdrdsdtdQdQdududvdsdtdsdwdxdydydydzdzd{dyd|d}d}d~dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddÐdÐdĐdŐdƐdǐdǐdȐdȐdɐdʐddd̐dddΐdΐdϐdАddddѐdѐdҐLZCdӐdԐdՐd֐dאdؐdِdڐdېdܐdݐdސdߐdddddddddddddddddddddddddddddddddddddddddddd d d d d dddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedddedfdgdhdidjdkdldkdmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~ddddddddddddddddddddddddddddddZDddZEyeWne;k rYnXe jFdeGdkr eHdeHeEeHeHdeHe-dS(N)str getlocalegetdefaultlocalegetpreferredencodingError setlocale resetlocale localeconvstrcollstrxfrmratofatoiformat format_stringcurrency normalizeLC_CTYPE LC_COLLATELC_TIME LC_MONETARY LC_NUMERICLC_ALLCHAR_MAXcCs||k||kS)N)abrr/usr/lib64/python3.6/locale.py_strcoll!srcCs|S)Nr)srrr_strxfrm'sr)*cCs,dgddddgdddddddddddddS)Nr!.)groupingcurrency_symbol n_sign_posn p_cs_precedes n_cs_precedes mon_groupingn_sep_by_space decimal_point negative_sign positive_signp_sep_by_spaceint_curr_symbol p_sign_posn thousands_sepmon_thousands_sep frac_digitsmon_decimal_pointint_frac_digitsrrrrrr ?s$cCs|dkrtddS)Nr(Cz*_locale emulation only supports "C" locale)Nr(r<)r)categoryvaluerrrrWscCst}tr|jt|S)N) _localeconv_override_localeconvupdate)drrrr ls ccsPd}xF|D]>}|tkrdS|dkr>|dkr2tdx |Vq4W|V|}q WdS)Nrzinvalid grouping)r ValueError)r*Z last_intervalintervalrrr_grouping_intervalszs  rEFc Cst}||rdpd}||r dp"d}|s2|dfS|d dkr\|j}|t|d}|}nd}d}g}xNt|D]B} | s|d d kr|}d}P|j|| d|d| }qrW|r|j||j||j||t|t|dfS) Nr8r7r/r*rr& r( 0123456789rH)r rstriplenrEappendreversejoin) rmonetaryconvr7r*strippedZ right_spacesZ left_spacesgroupsrDrrr_groups0  rRcCsld}x$|r(||dkr(|d7}|d8}qWt|d}x$|rZ||dkrZ|d8}|d8}q8W|||dS)NrrFr&)rJ)rZamountZlposZrposrrr_strip_paddings   rSzG%(?:\((?P.*?)\))?(?P[-#0-9 +*.hlL]*?)[eEfFgGdiouxXcrs%]cGsHtj|}| s$t|jt|kr4tdt|t||||f|S)NzHformat() must be given exactly one %%char format specifier, %s not valid) _percent_rematchrJgrouprCrepr_format)percentr>r*rN additionalrUrrrrs   c Gs|r||f|}n||}|d dkr~d}|jd}|rRt|d|d\|d<}t|r^dp`d}|j|}|rt||}n2|d dkrd}|rt||d\}}|rt||}|S) Nr&ZeEfFgGrr))rNr:r1ZdiurHrH)splitrRr rMrS) rYr>r*rNrZZ formattedZsepspartsr1rrrrXs(       rXc Csttj|}tjd|}t|tjrlg}x|D]6}|jddkrP|jdq0|jt |j||q0Wnt|t s||f}g}d}xz|D]r}|jd dkr|jdq|jdj d}|jt |j|||df||d|d||d|7}qWt |}||S) Nz%sr&%rZ modifiersr FrHrH) listrTfinditersub isinstance collectionsMappingrVrKrtuplecountrX) fvalr*ZpercentsZnew_fZnew_valZperciZ starcountrrrrs0        Tc Csft}||rdpd}|dkr&tdtd|t||dd}d|d }|r||rXd pZd }||d krld pnd}||d krdpd} |r|| rdpd|}n|| rdpd|}||d krdpd} ||d krdpd} | d krd|d}n`| dkr| |}nL| dkr|| }n8| dkr2|jd| }n | dkrJ|jd | }n| |}|jddjd dS)Nr;r9r!z9Currency formatting is not possible using the 'C' locale.z%%.%ifT)rN<>r5r+rr.r-r0r4rFr(r,r6r2r3()r&r'r#r%)r rCrabsreplace) rgZsymbolr*Z internationalrOZdigitsrZsmbZprecedesZ separatedZsign_posZsignrrrrs6       cCs td|S)Nz%.12g)r)rgrrrr+scCs:t}|d}|r|j|d}|d}|r6|j|d}|S)Nr7r(r1r))r rn)stringrOtsZddrrr delocalize/s  rqcCs |t|S)N)rq)rofuncrrrr ?scCs tt|S)N)intrq)rorrrr CscCsBttdtddd}t|dt|td}t|dt|dS)Nr(z%di[r&isgQ @)rrrprintr rr )s1rrr_testGs   rwcCsd|kr|d|jd}n|}tj|}tjjj|j|}|}|j}|tkr\t|}n(|jdd}|jdd}|tkrt|}|d|S)Nr)_r(-)index encodingsnormalize_encodingaliasesgetlowerlocale_encoding_aliasrn)codeencodinglangname norm_encodingrrr_replace_encodingYs    rcCsR|dkrFd|kr|dS|jd\}}}|dkr4|S|dkrFt|dS|d|S) Neuror)z .ISO8859-15 ISO8859-15UTF-8z ISO8859-1@)rr) partitionr)rmodifierrxrrrr_append_modifierps rc Cs|j}d|kr|jdd}d|kr6|jdd\}}nd}d|krZ|jddd\}}n|}d}|}|r|jdd}|jdd}|d|7}|}|r|d|7}tj|d}|dk r|S|rtj|d}|dk rd|krt||S|jdddj|kr|S|r|}|r"|d|7}tj|d}|dk rnd|krLt||S|jdd\}}t||d|S|rtj|d}|dk rd|krt||}t||S|jdd\}}|j|krt||d|S|S) N:r)rr&r(r'ryrx)rrnr[ locale_aliasr~rr) localenamerrrrZlang_encrZ lookup_nameZdefmodrrrr{s`                   cCsrt|}d|kr8|jdd\}}|dkr8d|kr8|dfSd|krVt|jdddS|dkrbd Std|dS) Nrr&rr)z iso-8859-15r'r<zunknown locale: %s)NN)rr[rdrC)rrrrrr_parse_localenamesrc CsVy0|\}}|dkrd}|dkr"|S|d|SWn ttfk rPtdYnXdS)Nr<r)zXLocale must be None, a string, or an iterable of two strings -- language code, encoding.) TypeErrorrC)Z localetupleZlanguagerrrr_build_localenamesrLANGLANGUAGEc Csyddl}|j\}}Wnttfk r0Yn8Xtjdkr`|r`|dddkr`tjt|d}||fSddl }|j j}x6|D]*}||d}|r~|dkr|j dd}Pq~Wd}t |S)NrZwin32r'Z0xrrr<) _localeZ_getdefaultlocale ImportErrorAttributeErrorsysplatformwindows_localer~rsosenvironr[r)ZenvvarsrrrrlookupZvariablerrrrrs$  cCs(t|}|tkr d|kr tdt|S)N;z category LC_ALL is not supported) _setlocalerrr)r=rrrrr5s cCs&|rt|t rtt|}t||S)N)ra _builtin_strrrr)r=ZlocalerrrrGs  cCst|ttdS)N)rrr)r=rrrrXswincCsddl}|jdS)NrF) _bootlocaler) do_setlocalerrrrrdscCstd}|dkrd}|S)Nr&ascii)r)rresrrrrns c CsTddl}|r8tt}yttdWntk r6YnX|jd}|rPtt||S)Nrr(F)rrrrr)rrZoldlocresultrrrrws  r<z ISO8859-1ZJIS7ZeucJPzKOI8-CZCP1251ZCP1255ZCP1256z ISO8859-2z ISO8859-5z ISO8859-15z ISO8859-10z ISO8859-11z ISO8859-13z ISO8859-14z ISO8859-16z ISO8859-3z ISO8859-4z ISO8859-6z ISO8859-7z ISO8859-8z ISO8859-9ZSJISZTACTISZeucKRzUTF-8zKOI8-RzKOI8-TzKOI8-UZRK1048),437cenZjisZjis7ZajecZkoi8cZmicrosoftcp1251Zmicrosoftcp1255Zmicrosoftcp1256Z88591Z88592Z88595Z885915rlatin_1 iso8859_1 iso8859_10 iso8859_11 iso8859_13 iso8859_14 iso8859_15 iso8859_16 iso8859_2 iso8859_3 iso8859_4 iso8859_5 iso8859_6 iso8859_7 iso8859_8 iso8859_9 iso2022_jp shift_jistactiseuc_jpeuc_krutf_8koi8_rZkoi8_tZkoi8_ukz1048cp1251cp1255cp1256rxr(z az_AZ.KOI8-Czaa_DJ.ISO8859-1z aa_ER.UTF-8z aa_ET.UTF-8zaf_ZA.ISO8859-1z agr_PE.UTF-8z ak_GH.UTF-8z am_ET.UTF-8zen_US.ISO8859-1zan_ES.ISO8859-15z anp_IN.UTF-8zar_AA.ISO8859-6zar_AE.ISO8859-6zar_BH.ISO8859-6zar_DZ.ISO8859-6zar_EG.ISO8859-6z ar_IN.UTF-8zar_IQ.ISO8859-6zar_JO.ISO8859-6zar_KW.ISO8859-6zar_LB.ISO8859-6zar_LY.ISO8859-6zar_MA.ISO8859-6zar_OM.ISO8859-6zar_QA.ISO8859-6zar_SA.ISO8859-6zar_SD.ISO8859-6z ar_SS.UTF-8zar_SY.ISO8859-6zar_TN.ISO8859-6zar_YE.ISO8859-6z as_IN.UTF-8zast_ES.ISO8859-15z ayc_PE.UTF-8zaz_AZ.ISO8859-9Ez az_IR.UTF-8z be_BY.CP1251zbe_BY.UTF-8@latinz bg_BG.UTF-8z bem_ZM.UTF-8z ber_DZ.UTF-8z ber_MA.UTF-8z bg_BG.CP1251z bhb_IN.UTF-8z bho_IN.UTF-8z bho_NP.UTF-8z bi_VU.UTF-8z bn_BD.UTF-8z bn_IN.UTF-8z bo_CN.UTF-8z bo_IN.UTF-8znb_NO.ISO8859-1zbr_FR.ISO8859-1z brx_IN.UTF-8zbs_BA.ISO8859-2z byn_ER.UTF-8zfr_CA.ISO8859-1z en_US.UTF-8zca_ES.ISO8859-1zca_AD.ISO8859-1zca_ES.UTF-8@valenciazca_FR.ISO8859-1zca_IT.ISO8859-1z ce_RU.UTF-8z zh_CN.eucCNz zh_TW.eucTWz chr_US.UTF-8z ckb_IQ.UTF-8z cmn_TW.UTF-8z crh_UA.UTF-8zhr_HR.ISO8859-2zcs_CZ.ISO8859-2z csb_PL.UTF-8z cv_RU.UTF-8zcy_GB.ISO8859-1zda_DK.ISO8859-1zde_DE.ISO8859-1zde_AT.ISO8859-1zde_BE.ISO8859-1zde_CH.ISO8859-1zde_IT.ISO8859-1z de_LI.UTF-8zde_LU.ISO8859-1z doi_IN.UTF-8znl_NL.ISO8859-1znl_BE.ISO8859-1z dv_MV.UTF-8z dz_BT.UTF-8zee_EE.ISO8859-4zet_EE.ISO8859-1zel_GR.ISO8859-7zel_CY.ISO8859-7zel_GR.ISO8859-15z en_AG.UTF-8zen_AU.ISO8859-1zen_BE.ISO8859-1zen_BW.ISO8859-1zen_CA.ISO8859-1zen_DK.ISO8859-1z en_DL.UTF-8zen_GB.ISO8859-1zen_HK.ISO8859-1zen_IE.ISO8859-1z en_IL.UTF-8zen_IN.ISO8859-1z en_NG.UTF-8zen_NZ.ISO8859-1zen_PH.ISO8859-1z en_SC.UTF-8zen_SG.ISO8859-1zen_US.ISO8859-15zen_ZA.ISO8859-1z en_ZM.UTF-8zen_ZW.ISO8859-1z en_ZS.UTF-8zen_EN.ISO8859-1zeo_XX.ISO8859-3zeo.UTF-8zeo_EO.ISO8859-3z eo_US.UTF-8zes_ES.ISO8859-1zes_AR.ISO8859-1zes_BO.ISO8859-1zes_CL.ISO8859-1zes_CO.ISO8859-1zes_CR.ISO8859-1z es_CU.UTF-8zes_DO.ISO8859-1zes_EC.ISO8859-1zes_GT.ISO8859-1zes_HN.ISO8859-1zes_MX.ISO8859-1zes_NI.ISO8859-1zes_PA.ISO8859-1zes_PE.ISO8859-1zes_PR.ISO8859-1zes_PY.ISO8859-1zes_SV.ISO8859-1zes_US.ISO8859-1zes_UY.ISO8859-1zes_VE.ISO8859-1zet_EE.ISO8859-15zeu_ES.ISO8859-1zeu_FR.ISO8859-1z fa_IR.UTF-8zfa_IR.ISIRI-3342z ff_SN.UTF-8zfi_FI.ISO8859-15z fil_PH.UTF-8zfi_FI.ISO8859-1zfo_FO.ISO8859-1zfr_FR.ISO8859-1zfr_BE.ISO8859-1zfr_CH.ISO8859-1zfr_LU.ISO8859-1z fur_IT.UTF-8z fy_DE.UTF-8z fy_NL.UTF-8zga_IE.ISO8859-1zgl_ES.ISO8859-1zgd_GB.ISO8859-1z gez_ER.UTF-8z gez_ET.UTF-8z gu_IN.UTF-8zgv_GB.ISO8859-1z ha_NG.UTF-8z hak_TW.UTF-8zhe_IL.ISO8859-8zhi_IN.ISCII-DEVz hif_FJ.UTF-8z hne_IN.UTF-8zhsb_DE.ISO8859-2z ht_HT.UTF-8zhu_HU.ISO8859-2z hy_AM.UTF-8zhy_AM.ARMSCII_8zia.UTF-8z ia_FR.UTF-8zis_IS.ISO8859-1zid_ID.ISO8859-1z ig_NG.UTF-8z ik_CA.UTF-8zit_IT.ISO8859-1zit_CH.ISO8859-1ziu_CA.NUNACOM-8z iw_IL.UTF-8z ja_JP.eucJPz ja_JP.SJISzka_GE.GEORGIAN-ACADEMYzka_GE.GEORGIAN-PSz kab_DZ.UTF-8z kk_KZ.ptcp154zkl_GL.ISO8859-1z km_KH.UTF-8z kn_IN.UTF-8z ko_KR.eucKRz kok_IN.UTF-8z ks_IN.UTF-8zks_IN.UTF-8@devanagarizku_TR.ISO8859-9zkw_GB.ISO8859-1z ky_KG.UTF-8z lb_LU.UTF-8zlg_UG.ISO8859-10z li_BE.UTF-8z li_NL.UTF-8z lij_IT.UTF-8zlt_LT.ISO8859-13z ln_CD.UTF-8zlo_LA.MULELAO-1zlo_LA.IBM-CP1133zlv_LV.ISO8859-13z lzh_TW.UTF-8z mag_IN.UTF-8z mai_IN.UTF-8z mai_NP.UTF-8z mfe_MU.UTF-8zmg_MG.ISO8859-15z mhr_RU.UTF-8zmi_NZ.ISO8859-1z miq_NI.UTF-8z mjw_IN.UTF-8zmk_MK.ISO8859-5z ml_IN.UTF-8z mn_MN.UTF-8z mni_IN.UTF-8z mr_IN.UTF-8zms_MY.ISO8859-1zmt_MT.ISO8859-3z my_MM.UTF-8z nan_TW.UTF-8z nds_DE.UTF-8z nds_NL.UTF-8z ne_NP.UTF-8z nhn_MX.UTF-8z niu_NU.UTF-8z niu_NZ.UTF-8z nl_AW.UTF-8znn_NO.ISO8859-1zno_NO.ISO8859-1zny_NO.ISO8859-1znr_ZA.ISO8859-1znso_ZA.ISO8859-15zoc_FR.ISO8859-1z om_ET.UTF-8zom_KE.ISO8859-1z or_IN.UTF-8z os_RU.UTF-8z pa_IN.UTF-8z pa_PK.UTF-8z pap_AN.UTF-8z pap_AW.UTF-8z pap_CW.UTF-8zpd_US.ISO8859-1zpd_DE.ISO8859-1zph_PH.ISO8859-1zpl_PL.ISO8859-2zpt_PT.ISO8859-1zpt_BR.ISO8859-1zpp_AN.ISO8859-1z ps_AF.UTF-8z quz_PE.UTF-8z raj_IN.UTF-8zro_RO.ISO8859-2z ru_RU.UTF-8z ru_UA.KOI8-Uz ru_RU.KOI8-Rzrw_RW.ISO8859-1z sa_IN.UTF-8z sat_IN.UTF-8z sc_IT.UTF-8z sd_IN.UTF-8zsd_IN.UTF-8@devanagariz sd_PK.UTF-8z se_NO.UTF-8zsr_RS.UTF-8@latinz sgs_LT.UTF-8zsr_CS.ISO8859-2zsh_HR.ISO8859-2z shn_MM.UTF-8z shs_CA.UTF-8z si_LK.UTF-8z sid_ET.UTF-8zsk_SK.ISO8859-2zsl_SI.ISO8859-2zsl_CS.ISO8859-2z sm_WS.UTF-8zso_DJ.ISO8859-1z so_ET.UTF-8zso_KE.ISO8859-1zso_SO.ISO8859-1zsr_CS.ISO8859-5zsq_AL.ISO8859-2z sq_MK.UTF-8z sr_RS.UTF-8zsr_CS.UTF-8@latinz sr_CS.UTF-8z sr_ME.UTF-8z sr_CS.CP1251zss_ZA.ISO8859-1zst_ZA.ISO8859-1zsv_SE.ISO8859-1zsv_FI.ISO8859-1z sw_KE.UTF-8z sw_TZ.UTF-8z szl_PL.UTF-8z ta_IN.TSCII-0z ta_LK.UTF-8z tcy_IN.UTF-8z te_IN.UTF-8z tg_TJ.KOI8-Czth_TH.ISO8859-11z th_TH.TIS620z the_NP.UTF-8z ti_ER.UTF-8z ti_ET.UTF-8z tig_ER.UTF-8z tk_TM.UTF-8ztl_PH.ISO8859-1ztn_ZA.ISO8859-15z to_TO.UTF-8z tpi_PG.UTF-8ztr_TR.ISO8859-9ztr_CY.ISO8859-9zts_ZA.ISO8859-1ztt_RU.TATAR-CYRztt_RU.UTF-8@iqtelifz ug_CN.UTF-8z uk_UA.KOI8-Uz en_US.utfz unm_US.UTF-8z ur_PK.CP1256z ur_IN.UTF-8z uz_UZ.UTF-8z ve_ZA.UTF-8z vi_VN.TCVNz vi_VN.VISCIIzwa_BE.ISO8859-1z wae_CH.UTF-8z wal_ET.UTF-8z wo_SN.UTF-8zxh_ZA.ISO8859-1z yi_US.CP1255z yo_NG.UTF-8z yue_HK.UTF-8z yuw_PG.UTF-8z zh_CN.gb2312z zh_TW.big5zzh_HK.big5hkscsz zh_SG.GB2312z zh_SG.GBKzzu_ZA.ISO8859-1(LZa3Za3_azz a3_az.koicZaa_djZaa_erZaa_etZafZaf_zaZagr_peZak_ghZamZam_etZamericanZan_esZanp_inarZar_aaZar_aeZar_bhZar_dzZar_egZar_inZar_iqZar_joZar_kwZar_lbZar_lyZar_maZar_omZar_qaZar_saZar_sdZar_ssZar_syZar_tnZar_yearabicasZas_inZast_esZayc_peZazZaz_azzaz_az.iso88599eZaz_irZbezbe@latinz be_bg.utf8Zbe_byz be_by@latinZbem_zmZber_dzZber_maZbgZbg_bgz bhb_in.utf8Zbho_inZbho_npZbi_vuZbn_bdZbn_inZbo_cnZbo_inZbokmalubokmålbrZbr_frZbrx_inZbsZbs_baZ bulgarianZbyn_errzc-frenchzc.asciizc.enz c.iso88591zc.utf8Zc_czc_c.cZcaZca_adZca_eszca_es@valenciaZca_frZca_itZcatalanZce_ruZcextendz chinese-sz chinese-tZchr_usZckb_iqZcmn_twZcrh_uaZcroatianZcsZcs_csZcs_czZcsb_plZcv_ruZcyZcy_gbZczZcz_czZczechZdaZda_dkZdanishZdanskZdeZde_atZde_beZde_chZde_deZde_itz de_li.utf8Zde_luZdeutschZdoi_inZdutchzdutch.iso88591Zdv_mvZdz_btZeeZee_eeZeestiZelZel_cyZel_grz el_gr@eurorZen_agZen_auZen_beZen_bwZen_caZen_dkz en_dl.utf8Zen_gbZen_hkZen_ieZen_ilZen_inZen_ngZen_nzZen_phz en_sc.utf8Zen_sgZen_ukZen_uszen_us@euro@euroZen_zaZen_zmZen_zwz en_zw.utf8Zeng_gbZenglishzenglish.iso88591Z english_ukzenglish_united-stateszenglish_united-states.437Z english_usZeozeo.utf8Zeo_eoz eo_us.utf8Zeo_xxZesZes_arZes_boZes_clZes_coZes_crZes_cuZes_doZes_ecZes_esZes_gtZes_hnZes_mxZes_niZes_paZes_peZes_prZes_pyZes_svZes_usZes_uyZes_veZestonianZetZet_eeZeuZeu_esZeu_frZfaZfa_irzfa_ir.isiri3342Zff_snZfiZfi_fiZfil_phZfinnishZfoZfo_fofrZfr_beZfr_caZfr_chZfr_frZfr_luu françaisZfre_frZfrenchzfrench.iso88591Z french_franceZfur_itZfy_deZfy_nlZgaZga_ieZgalegoZgalicianZgdZgd_gbZger_deZgermanzgerman.iso88591Zgerman_germanyZgez_erZgez_etZglZgl_esgreekZgu_inZgvZgv_gbZha_ngZhak_twZheZhe_ilhebrewhiZhi_inzhi_in.isciidevZhif_fjZhneZhne_inZhrZhr_hrZhrvatskiZhsb_deZht_htZhuZhu_huZ hungarianZhy_amzhy_am.armscii8ZiaZia_frZ icelandicidZid_idZig_ngZik_cainZin_idrtZis_isz iso-8859-1z iso-8859-15z iso8859-1z iso8859-15 iso_8859_1 iso_8859_15itZit_chZit_itZitalianZiuZiu_caziu_ca.nunacom8ZiwZiw_ilz iw_il.utf8ZjaZja_jpz ja_jp.eucz ja_jp.mscodez ja_jp.pckZjapanZjapanesez japanese-eucz japanese.eucZjp_jpZkaZka_gezka_ge.georgianacademyzka_ge.georgianpszka_ge.georgianrsZkab_dzZkk_kzZklZkl_glZkm_khZknZkn_inZkoZko_krz ko_kr.eucZkok_inkoreanz korean.eucZksZks_inzks_in@devanagari.utf8Zku_trkwZkw_gbZkyZky_kgZlb_luZlg_ugZli_beZli_nlZlij_itZ lithuanianZln_cdloZlo_laz lo_la.cp1133zlo_la.ibmcp1133zlo_la.mulelao1ltZlt_ltZlvZlv_lvZlzh_twZmag_inZmaiZmai_inZmai_npZmfe_muZmg_mgZmhr_ruZmiZmi_nzZmiq_niZmjw_inZmkZmk_mkZmlZml_inZmn_mnZmni_inZmrZmr_inZmsZms_myZmtZmt_mtZmy_mmZnan_twZnbZnb_noZnds_deZnds_nlZne_npZnhn_mxZniu_nuZniu_nznlZnl_awZnl_beZnl_nlZnnZnn_nonoz no@nynorskZno_nozno_no.iso88591@bokmalzno_no.iso88591@nynorskZ norwegianZnrZnr_zaZnsoZnso_zaZnyZny_noZnynorskZocZoc_frZom_etZom_keorZor_inZos_ruZpaZpa_inZpa_pkZpap_anZpap_awZpap_cwZpdZpd_deZpd_usZphZph_phZplZpl_plZpolishZ portugueseZportuguese_brazilposixz posix-utf2ZppZpp_anZps_afZptZpt_brZpt_ptZquz_peZraj_inZroZro_roZromanianZruZru_ruZru_uaZrumanianZrussianZrwZrw_rwZsa_inZsat_inZsc_itZsdZsd_inzsd_in@devanagari.utf8Zsd_pkZse_noZ serbocroatianZsgs_ltZshzsh_ba.iso88592@bosniaZsh_hrzsh_hr.iso88592Zsh_spZsh_yuZshn_mmZshs_caZsiZsi_lkZsid_etZsinhalaZskZsk_skZslZsl_csZsl_siZslovakZsloveneZ slovenianZsm_wsZso_djZso_etZso_keZso_soZspZsp_yuZspanishZ spanish_spainZsqZsq_alZsq_mksrz sr@cyrilliczsr@latnZsr_cszsr_cs.iso88592@latnz sr_cs@latnZsr_meZsr_rsz sr_rs@latnZsr_spZsr_yuzsr_yu.cp1251@cyrilliczsr_yu.iso88592zsr_yu.iso88595zsr_yu.iso88595@cyrilliczsr_yu.microsoftcp1251@cyrillicz sr_yu.utf8zsr_yu.utf8@cyrilliczsr_yu@cyrillicZssZss_zastZst_zaZsvZsv_fiZsv_seZsw_keZsw_tzZswedishZszl_plZtaZta_inz ta_in.tsciiz ta_in.tscii0Zta_lkz tcy_in.utf8ZteZte_inZtgZtg_tjZthZth_thz th_th.tactisz th_th.tis620thaiZthe_npZti_erZti_etZtig_erZtk_tmZtlZtl_phZtnZtn_zaZto_toZtpi_pgZtrZtr_cyZtr_trrpZts_zaZttZtt_ruztt_ru.tatarcyrz tt_ru@iqtelifZturkishZug_cnZukZuk_uaZunivZ universalzuniversal.utf8@ucs4Zunm_usZurZur_inZur_pkZuzZuz_uzzuz_uz@cyrillicZveZve_zaZviZvi_vnz vi_vn.tcvnzvi_vn.tcvn5712z vi_vn.visciizvi_vn.viscii111ZwaZwa_beZwae_chZwal_etZwo_snZxhZxh_zaZyiZyi_usZyo_ngZyue_hkZyuw_pgZzhZzh_cnz zh_cn.big5z zh_cn.eucZzh_hkz zh_hk.big5hkZzh_sgz zh_sg.gbkZzh_twz zh_tw.eucz zh_tw.euctwZzuZzu_zaZaf_ZAZsq_ALZgsw_FRZam_ETZar_SAZar_IQZar_EGZar_LYZar_DZZar_MAZar_TNZar_OMZar_YEZar_SYZar_JOZar_LBZar_KWZar_AEZar_BHZar_QAZhy_AMZas_INZaz_AZZba_RUZeu_ESZbe_BYZbn_INZbs_BAZbr_FRZbg_BGZca_ESZzh_CHSZzh_TWZzh_CNZzh_HKZzh_SGZzh_MOZzh_CHTZco_FRZhr_HRZhr_BAZcs_CZZda_DKZgbz_AFZdiv_MVZnl_NLZnl_BEZen_USZen_GBZen_AUZen_CAZen_NZZen_IEZen_ZAZen_JAZen_CBZen_BZZen_TTZen_ZWZen_PHZen_INZen_MYZet_EEZfo_FOZfil_PHZfi_FIZfr_FRZfr_BEZfr_CAZfr_CHZfr_LUZfr_MCZfy_NLZgl_ESZka_GEZde_DEZde_CHZde_ATZde_LUZde_LIZel_GRZkl_GLZgu_INZha_NGZhe_ILZhi_INZhu_HUZis_ISZid_IDZiu_CAZga_IEZit_ITZit_CHZja_JPZkn_INZkk_KZZkh_KHZqut_GTZrw_RWZkok_INZko_KRZky_KGZlo_LAZlv_LVZlt_LTZdsb_DEZlb_LUZmk_MKZms_MYZms_BNZml_INZmt_MTZmi_NZZarn_CLZmr_INZmoh_CAZmn_MNZmn_CNZne_NPZnb_NOZnn_NOZoc_FRZor_INZps_AFZfa_IRZpl_PLZpt_BRZpt_PTZpa_INZquz_BOZquz_ECZquz_PEZro_ROZrm_CHZru_RUZsmn_FIZsmj_NOZsmj_SEZse_NOZse_SEZse_FIZsms_FIZsma_NOZsma_SEZsa_INZsr_SPZsr_BAZsi_LKZns_ZAZtn_ZAZsk_SKZsl_SIZes_ESZes_MXZes_GTZes_CRZes_PAZes_DOZes_VEZes_COZes_PEZes_ARZes_ECZes_CLZes_URZes_PYZes_BOZes_SVZes_HNZes_NIZes_PRZes_USZsw_KEZsv_SEZsv_FIZsyr_SYZtg_TJZtmz_DZZta_INZtt_RUZte_INZth_THZbo_BTZbo_CNZtr_TRZtk_TMZug_CNZuk_UAZwen_DEZur_PKZur_INZuz_UZZvi_VNZcy_GBZwo_SNZxh_ZAZsah_RUZii_CNZyo_NGZzu_ZA)i6iii^iii iiiii i$i(i,i0i4i8i<i@i+iMi,i,imi-i#iEi ii~iir%iii iii|iiiiiiieiii i i i i i i i i $i (i ,i 0i 4i @i Di Hi%i8idi i i i i i i ibiVi7iii iiiioiGihi i9iii!i]i]i<iiiiKi?iSiiiWii@iTi&i'i.ini/i>i>iLi:iiziNi|iPiPiaiiiiHici)iiiiFikikik iiii;$i;i;i;i;i; i; i;i;iOi iiii[ili2ii$i i i i i i i i i $i (i ,i 0i 4i 8i <i @i Di Hi Li Pi TiAiiiZi(i_iIiDiJiiQiQiiBii"i.i i iCiCi*iRii4iixiji5c Csi}|fdd}||d=tdtddt\}}td|pDdtd |pRdttd tddxL|jD]@\}}t|d t|\}}td |pdtd |pdtqzWttdtddtxP|jD]D\}}t|d t|\}}td |pdtd |p"dtqWyttdWn$tdtdtdYnpXttdtddxR|jD]F\}}t|d t|\}}td |pdtd |pdtqWdS)NcSs4x.tjD] \}}|dddkr |||<q WdS)Nr#ZLC_)globalsitems) categorieskvrrr_init_categoriessz'_print_locale.._init_categoriesrz4Locale defaults as determined by getdefaultlocale():ryHz Language: z (undefined)z Encoding: zLocale settings on startup:z...z Language: z Encoding: z,Locale settings after calling resetlocale():r(zNOTE:z9setlocale(LC_ALL, "") does not support the default localez&given in the OS environment variables.z4Locale settings after calling setlocale(LC_ALL, ""):)rurrrrrr)rrZlangencnamer=rrr _print_locale{sV              r LC_MESSAGES__main__zLocale aliasing:zNumber formatting:)N)F)FF)FF)F)TFFrrrr)r)N)T)T)T)Irr{Zencodings.aliasesrerbbuiltinsrr functools__all__rrrrrrrrrrrrrCrr rrr r r?r@wrapsrErRrScompilerTrrXrrrqfloatr r rwrrrrrrrrrr startswithrCODESET NameErrorrsortedrrrrn setdefaultrrrrK__name__rurrrr s2            " -  S 5    " }  :