xkd TddlmZddlZddlZddlmZmZddlZddlZdZ dZ dZ dS))print_functionN)OptionalTuplec|dz}|dz}|j|z|j|zdzz}|j|zdz}|dkrd}|dz}||fS)z get the (year, month) tuple when the maintenance for the distribution ends. Needs the data of the release and the number of months that its is supported as input r)yearmonth) release_datem_monthsyearsmonthssupport_end_yearsupport_end_months +/usr/lib/python3/dist-packages/apt/utils.pyget_maintenance_end_datersr NE ]F#(50L4F4OTV3VV%+f4:AA / 00cj|rtj|sdStjt j|5}t j|}t|}d|vr ddddS|d}t j|cdddS#1swxYwYdS)zF return the release date as time_t for the given release file NDate) ospathexistsfdopenapt_pkgopen_maybe_clear_signed_fileTagFilenext str_to_time)rdatatagsectiondates r"get_release_date_from_release_filer#1s  rw~~d++t 77== > >)$od##s))   )))))))) v"4(( ))))))))))))))))))s )B(B((B,/B,cj||vrdS||}d}|jjD]<}||j |jD](\}}|j|kr|j|kr |j|kr|})=|sdS|j|jdd} |jjD]} | j D]} | r| j | j kr| j rxtj d} dD]V} tj| jd| jd| z}t$j| |zr | |zcccSWdS)z+get the release file that provides this pkgNrzDir::State::lists) InReleaseReleasedists__)_pkg version_list file_listoriginlabelarchive_list find_indexlist index_filesdescribe is_trustedrconfigfind_diruri_to_filenameuridistrrr)cachepkgnamer-releasepkgveraverver_file_index indexfile metaindexmdirnamerelfilenames rget_release_filename_for_pkgrHBset .C C%   <4>1  $   Hf5((Ne++$//  t &&s}Q'7':;;I[% . . & . .A .Y/1:==)BV=!.112EFF7..G"29=AAA!EDw~~gn55.&~-------. . 4r) __future__rdatetimertypingrraptrrr#rHrrrNs&&%%%%% """""""" 111&)))""""""r