a DOg@s:ddlZddZddZGdddZGdd d eZdS) Nc Csnddl}|d}ddg|dd}|d}z|j||WStttfyhtd|Yn0dS)Nr/.ztzdata.zoneinfozNo time zone found with key ) Zimportlib.resourcessplitjoinZ resourcesZ open_binary ImportErrorFileNotFoundErrorUnicodeEncodeErrorZoneInfoNotFoundError)key importlib componentsZ package_name resource_namer(/usr/lib64/python3.9/zoneinfo/_common.py load_tzdatas  rcst}|jdkrd}d}nNd}d}|jd|jd|j|jd|j|j} |dt}|j}|j}|j}|rt d|| ||}t d|d  |} nd }d } |rt fd d t|D\} } } n d } d } d } i |fd dtfdd | D} |jdkr|j|j|jd} |d d}|dkstJ|d} d}dkr||7}qx|}nd}| || | | |fS)Nlq>Brc3s |]}tddVqdS)z>lbbrN)structunpackread).0i)fobjrr Hzload_data..cs0|vr(d|}|||<|S)N)finddecode)idxZspan_end) abbr_chars abbr_valsrrget_abbrVs  zload_data..get_abbrc3s|]}|VqdSNr)rr&)r)rrr!gr"  r") _TZifHeader from_fileversiontimecnttypecntcharcntleapcntisstdcntisutcntseekrrrziprangetuple)r headerZ time_sizeZ time_typeZ skip_bytesr2r1r3Ztrans_list_utcZ trans_idxZutcoffZisdstZabbrindZabbrcZtz_bytesZtz_strr)r'r(r r)r load_datash          r=c@s(eZdZgdZddZeddZdS)r.)r0r6r5r4r1r2r3cGs<t|jt|ksJt|j|D]\}}t|||q"dSr*)len __slots__r8setattr)selfargsattrvalrrr__init__sz_TZifHeader.__init__cCsd|ddkrtd|d}|dkr.d}nt|}|d|f}|td|d}||S) NrsTZifz"Invalid TZif file: magic not foundrr#z>6l)r ValueErrorintrr)clsstream_versionr0rBrrrr/s  z_TZifHeader.from_fileN)__name__ __module__ __qualname__r?rE classmethodr/rrrrr.s r.c@seZdZdZdS)r z2Exception raised when a ZoneInfo key is not found.N)rMrNrO__doc__rrrrr sr )rrr=r.KeyErrorr rrrrsd%