Ë
    >I¼c2  ã                   ó  — d dl Z d dlZd dlZd dlZd dlmZ d dlZd dlZddlm	Z	m
Z
 ddlmZmZmZmZ ddlmZ d dlZd dlZddlmZ ddlmZ d	„ Z G d
„ deej0                  j2                  j                  «      Z G d„ de«      Z G d„ dej0                  j8                  j:                  «      Z G d„ de«      Ze dk(  �rO e«       Z! e" edd¬«      «        e«       Z! e"e!jG                  ddd«      «        e"e!jG                  ddd«      «        ejH                  d «       e!jK                  «         ejL                  «       Z'e!jQ                  «       Z)e!jU                  e'«      Z+ejX                  dd D ]  Z-e'e-   j]                  «        Œ e'j_                  e)e+«        ejH                  d «       e!ja                  «       jc                  g d¢«       e!je                  ddd«       e!jg                  dg d«        e"e!jG                  dd«      «       yy) é    N)Údgettexté   )Ú
run_apportÚapport_crash)ÚAcquireProgressÚDistUpgradeViewÚENCODINGÚInstallProgress)Úget)Úgettext)Útwrapc                  ó¾   — t         j                  j                  «        	 t        «       } t        | d«      r| j                  t        d«      S | S # t        $ r d} Y Œ1w xY w)z( py2/py3 compatible readline from stdin Ú ÚdecodeÚbackslashreplace)ÚsysÚstdoutÚflushÚinputÚEOFErrorÚhasattrr   r	   )Úss    úA/usr/lib/python3/dist-packages/DistUpgrade/DistUpgradeViewText.pyÚreadliner   /   sW   € ä‡J�J×ÑÔðÜ‹Gˆô ˆq�(ÔØ�x‰xœÐ"4Ó5Ð5Ø€Høô	 ò ØŠðús    
A ÁAÁAc                   ó   — e Zd Zd„ Zd„ Zy)ÚTextAcquireProgressc                 ó”   — t         j                  j                  j                  j	                  | «       t        j                  | «       y ©N)ÚaptÚprogressÚtextr   Ú__init__©Úselfs    r   r"   zTextAcquireProgress.__init__<   s.   € Ü�‰×Ñ×)Ñ)×2Ñ2°4Ô8Ü× Ñ  Õ&ó    c                 ó˜   — t         j                  j                  j                  j	                  | |«       t        j                  | |«       y©NT)r   r    r!   r   Úpulse)r$   Úowners     r   r(   zTextAcquireProgress.pulse?   s5   € Ü�‰×Ñ×)Ñ)×/Ñ/°°eÔ<Ü×Ñ˜d EÔ*Ør%   N)Ú__name__Ú
__module__Ú__qualname__r"   r(   © r%   r   r   r   ;   s   „ ò'ór%   r   c                   ó(   ‡ — e Zd ZdZˆ fd„Zd„ Zˆ xZS )ÚTextInstallProgressé   c                 ó:   •— t        t        | �
  |i |¤Ž d| _        y )Nr   )Úsuperr/   r"   Ú_prev_percent)r$   ÚargsÚkwargsÚ	__class__s      €r   r"   zTextInstallProgress.__init__J   s    ø€ ÜÔ! 4Ñ1°4ÐB¸6ÒBØˆÕr%   c                 óÄ   — | j                   | j                  z   |k  rDd}t        |d«      t        |«      z  }t        j
                  j                  d|z  «       || _         y y )Nzlibapt-pkg4.12zProgress: [%3i%%]z
%s
)r3   ÚMIN_REPORTINGr   Úintr   r   Úwrite)r$   ÚpkgÚpercentÚstatusÚdomainÚprogress_strs         r   Ústatus_changez!TextInstallProgress.status_changeN   sZ   € Ø×Ñ × 2Ñ 2Ñ2°WÒ<à%ˆFÜ# FÐ,?Ó@Ä3ÀwÃ<ÑOˆLÜ�J‰J×Ñ˜\¨LÑ8Ô9Ø!(ˆDÕð =r%   )r*   r+   r,   r8   r"   r@   Ú__classcell__©r6   s   @r   r/   r/   E   s   ø„ ð €Môö)r%   r/   c                   ó"   — e Zd ZdZd„ Zd„ Zd„ Zy)ÚTextCdromProgressAdapterz  Report the cdrom add progress  c                 óp   — |r4t        d||j                  t        | j                  «      z  dz  fz  «       yy)z; update is called regularly so that the gui can be redrawn z%s (%f)éd   N)ÚprintÚvalueÚfloatÚ
totalSteps)r$   r!   Ústeps      r   ÚupdatezTextCdromProgressAdapter.updateY   s3   € áÜ
�	˜T 4§:¡:¬e°D·O±OÓ.DÑ#DÀSÑ#HÐIÑIÕ
Jð r%   c                  ó   — y)N)Fr   r-   r#   s    r   Úask_cdrom_namez'TextCdromProgressAdapter.ask_cdrom_name]   s   € Ør%   c                  ó   — y©NFr-   r#   s    r   Úchange_cdromz%TextCdromProgressAdapter.change_cdrom_   s   € Ør%   N)r*   r+   r,   Ú__doc__rL   rN   rQ   r-   r%   r   rD   rD   W   s   „ Ù*òKòór%   rD   c                   ó�   ‡ — e Zd ZdZdd„Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zˆ fd
„Zd„ Zdd„Zdd„Zd„ Z	 dd„Zdd„Zdd„Zd„ Zˆ xZS )ÚDistUpgradeViewTextz' text frontend of the distUpgrade tool c                 ó¦  — d| _         t        «       j                  d«       dt        j                  vrdt        j                  d<   |r|dk(  r3t        j
                  j                  t        j                  «       d«      }nd}	 t        j                  d|«       t        j                  d«       d | _        t        j                   j"                  j%                  «       | _        t)        «       | _        t-        «       | _        t1        «       | _        | j4                  t6        _        y # t        $ r"}t        j                  d	|z  «       Y d }~Œ�d }~ww xY w)
NTÚTextÚDEBIAN_FRONTENDÚdialogú.Úmoz)/usr/share/locale/ubuntu-release-upgraderzubuntu-release-upgraderzError setting locales (%s))Úneeds_screenÚget_telemetryÚset_updater_typeÚosÚenvironÚpathÚjoinÚgetcwdr   ÚbindtextdomainÚ
textdomainÚ	ExceptionÚloggingÚwarningÚ	last_stepr   r    r!   Ú
OpProgressÚ_opCacheProgressr   Ú_acquireProgressrD   Ú_cdromProgressr/   Ú_installProgressÚ_handleExceptionr   Ú
excepthook)r$   ÚdatadirÚlogdirÚ	localedirÚes        r   r"   zDistUpgradeViewText.__init__f   sý   € à ˆÔÜ‹×(Ñ(¨Ô0ð ¤B§J¡JÑ.Ø,4ŒB�J‰JÐ(Ñ)Ù˜' Sš.Ü—G‘G—L‘L¤§¡£¨TÓ2‰)à?ˆ)ð	<Ü
×
 Ñ
 Ð!:¸IÔ
FÜ
×
Ñ
Ð6Ô
7ð ˆŒÜ #§¡× 1Ñ 1× <Ñ <Ó >ˆÔÜ 3Ó 5ˆÔÜ6Ó8ˆÔÜ 3Ó 5ˆÔØ×.Ñ.Œ�øô ò 	<Ü
�/‰/Ð6¸Ñ:×
;Ñ
;ûð	<ús   Â+D% Ä%	EÄ.EÅEc                 óT  — dd l }t        «        |j                  |||«      }t        j                  ddj                  |«      z  «       t        |||«       t        «       s4| j	                  t        d«      t        d«      dj                  |«      «       t        j                  d«       y )Nr   znot handled exception:
%sú
zA fatal error occurredzæPlease report this as a bug and include the files /var/log/dist-upgrade/main.log and /var/log/dist-upgrade/apt.log in your report. The upgrade has aborted.
Your original sources.list was saved in /etc/apt/sources.list.distUpgrade.r   )Ú	tracebackrG   Úformat_exceptionrf   Úerrorra   r   r   Ú_r   Úexit)r$   ÚtyperH   Útbrv   Úliness         r   rn   z$DistUpgradeViewText._handleException�   sˆ   € ó
 	ÜŒØ×*Ñ*¨4°¸Ó;ˆÜ�‰Ð2°T·Y±Y¸uÓ5EÑEÔFÜ�T˜5 "Ô%ÜŒ|Ø�J‰J”qÐ1Ó2Üð >ó ?ð —y‘y Ó'ô)ô 	�‰��r%   c                 ó   — | j                   S r   )rk   r#   s    r   ÚgetAcquireProgressz&DistUpgradeViewText.getAcquireProgress–   ó   € Ø×$Ñ$Ð$r%   c                 ó<   — || j                   _        | j                   S r   )rm   Ú_cache)r$   Úcaches     r   ÚgetInstallProgressz&DistUpgradeViewText.getInstallProgress˜   s   € Ø',ˆ×ÑÔ$Ø×$Ñ$Ð$r%   c                 ó   — | j                   S r   )rj   r#   s    r   ÚgetOpCacheProgressz&DistUpgradeViewText.getOpCacheProgress›   r€   r%   c                 ó   — | j                   S r   )rl   r#   s    r   ÚgetCdromProgressz$DistUpgradeViewText.getCdromProgress�   s   € Ø×"Ñ"Ð"r%   c                 ój   — t        «        t        |«       t        j                  j                  «        y r   )rG   r   r   r   )r$   Úmsgs     r   ÚupdateStatusz DistUpgradeViewText.updateStatusŸ   s   € Ü„gÜˆC„jÜ	‡j�j×ÑÕr%   c                 ó@   — t        «        t        t        d«      «       y )NÚAborting)rG   ry   r#   s    r   ÚabortzDistUpgradeViewText.abort£   s   € Ü„gÜŒAˆj‹MÕr%   c                 ó:   •— t         t        | �  |«       || _        y r   )r2   rT   ÚsetSteprh   )r$   rK   r6   s     €r   r�   zDistUpgradeViewText.setStep¦   s   ø€ ÜÔ Ñ.¨tÔ4Ø€d…nr%   c           
      ór   — | j                  ||t        d«      t        dj                  |«      «      z   «       y )Nz	Demoted:
z, )Úinformationry   r   ra   )r$   ÚsummaryrŠ   Ú	demotionss       r   ÚshowDemotionsz!DistUpgradeViewText.showDemotions©   s/   € Ø×Ñ˜ #Ü˜<›¬¨t¯y©y¸Ó/CÓ)DÑDõ	Fr%   c                 óÐ   — t        «        t        t        |«      «       t        t        |«      «       |rt        t        |«      «       t        t        d«      «       t        «        y )Nz To continue please press [ENTER])rG   r   ry   r   ©r$   r“   rŠ   Úextended_msgs       r   r’   zDistUpgradeViewText.information¬   sB   € Ü„gÜŒE�'‹NÔÜŒE�#‹JÔÙ	ÜŒe�LÓ!Ô"ÜŒAÐ0Ó1Ô2Ü…jr%   c                 ó”   — t        «        t        t        |«      «       t        t        |«      «       |rt        t        |«      «       yrP   )rG   r   r—   s       r   rx   zDistUpgradeViewText.error´   s2   € Ü„gÜŒE�'‹NÔÜŒE�#‹JÔÙ	ÜŒe�LÓ!Ô"Ør%   c                 óø  — t        |t        «      s|j                  t        «      }dD ]�  }t        j
                  j                  |«      sŒ#t        j                  |dgt        j                  ¬«      }	 |j                  j                  |«       |j                  j                  «        |j                  «         y t#        |«       y# t        $ r)}|j                  t        j                   k7  r‚ Y d}~ yd}~ww xY w)z" helper to show output in a pager )z/usr/bin/sensible-pagerz	/bin/moreú-)ÚstdinN)Ú
isinstanceÚbytesÚencoder	   r^   r`   ÚexistsÚ
subprocessÚPopenÚPIPErœ   r:   ÚcloseÚwaitÚIOErrorÚerrnoÚEPIPErG   )r$   ÚoutputÚpagerÚprs   s        r   ÚshowInPagerzDistUpgradeViewText.showInPager»   s»   € ô ˜¤Ô&Ø—=‘=¤Ó*ˆ&Ø;ò ˆ%Ü�W‰W�^‰^˜EÕ"Ü×"Ñ" E¨# ;´Z·_±_ÔEˆaðØ—'‘'—-‘- Ô'Ø—'‘'—-‘-”/Ø—&‘&”(ñ ðô ˆF…møô ò Ø—W‘W¤§¡Ò+Øó ,áûðús   Á3ACÃ	C9ÃC4Ã4C9c           
      ó´  — t        j                  | |||||«       t        «        t        t        |«      «       t        t        | j                  «      «       t        dt        d«      ›dt        d«      ›�d¬«       	 t        «       j                  «       j                  «       }|j                  t        d«      «      ry|r|j                  t        d«      «      ry	|j                  t        d
«      «      �r%d}t        | j                  «      dkD  rR|dz  }|t        t        d«      dj                  | j                  D �	cg c]  }	|	j                  ‘Œ c}	«      z  d¬«      z  }t        | j                  «      dkD  rR|dz  }|t        t        d«      dj                  | j                  D �	cg c]  }	|	j                  ‘Œ c}	«      z  d¬«      z  }t        | j                  «      dkD  rR|t        t        d«      dj                  | j                  D �	cg c]  }	|	j                  ‘Œ c}	«      z  d¬«      z  }|dz  }t        | j                   «      dkD  rR|dz  }|t        t        d«      dj                  | j                   D �	cg c]  }	|	j                  ‘Œ c}	«      z  d¬«      z  }t        | j"                  «      dkD  rR|dz  }|t        t        d«      dj                  | j"                  D �	cg c]  }	|	j                  ‘Œ c}	«      z  d¬«      z  }| j%                  |«       t        t        d«      ›dt        d«      ›�d¬«       �ŒÄc c}	w c c}	w c c}	w c c}	w c c}	w )Nú úContinue [yN] zDetails [d]r   ©ÚendTÚyÚnFÚdr   ru   zNo longer supported: %s
z  ©Úsubsequent_indentzRemove: %s
zRemove (was auto installed) %szInstall: %s
zUpgrade: %s
)r   ÚconfirmChangesrG   r   ÚconfirmChangesMessagery   r   ÚstripÚlowerÚ
startswithÚlenr”   ra   ÚnameÚtoRemoveÚtoRemoveAutoÚ	toInstallÚ	toUpgrader¬   )
r$   r“   Úchangesr”   ÚdownloadSizeÚactionsÚremoval_boldÚresr©   r«   s
             r   r·   z"DistUpgradeViewText.confirmChangesÐ   sÅ  € ä×$Ñ$ T¨7°G¸YØ%1°7ô<ä„gÜŒE�'‹NÔÜŒE�$×,Ñ,Ó-Ô.ÝœÐ*Õ+¬Q¨}Ô-=Ð>ÀBÕGØÜ‹j×ÑÓ ×&Ñ&Ó(ˆà�>‰>œ!˜C›&Ô!Øá˜Ÿ™¤q¨£vÔ.Øà�^‰^œA˜c›FÕ#Øˆ&Ü�—‘Ó  1Ò$Ø˜‰nˆfØœÜÐ/Ó0°3·8±8ÈTÏ^É^Ö<\È¸Q¿V»VÒ<\Ó3]Ñ]Ø$(ô*ñ *ˆfô �—‘Ó !Ò#Ø˜‰nˆfØœÜ�NÓ# c§h¡hÀÇÁÖ/N¸1°·³Ò/NÓ&OÑOØ$(ô*ñ *ˆfô �×"Ñ"Ó# aÒ'ØœÜÐ4Ó5¸¿¹ÐRV×RcÑRcÖAdÈQÀ!Ç&Ã&ÒAdÓ8eÑeØ$(ô*ñ *ˆfð ˜‰nˆfÜ�—‘Ó  1Ò$Ø˜‰nˆfØœÜ�OÓ$ s§x¡xÀÇÁÖ0P¸A°·³Ò0PÓ'QÑQØ$(ô*ñ *ˆfô �—‘Ó  1Ò$Ø˜‰nˆfØœÜ�OÓ$ s§x¡xÀÇÁÖ0P¸A°·³Ò0PÓ'QÑQØ$(ô*ñ *ˆfð ×
Ñ
˜6Ô
"ÜœÐ+Õ,¬a°Ô.>Ð?ÀRÕHñK ùò =]ùò
 0Oùò Beùò 1Qùò
 1Qs   Ä>MÆ(MÈMÉ<MË&Mc                 óÔ  — t        «        |rt        t        |«      «       t        t        |«      «       |dk(  rXt        t        d«      d¬«       t        «       }|j	                  «       j                  «       j                  t        d«      «      ryyt        t        d«      d¬«       t        «       }|j	                  «       j                  «       j                  t        d	«      «      ryy)
NÚNor¯   r   r°   r²   TFzContinue [Yn] r³   )rG   r   ry   r   r¹   rº   r»   )r$   r“   rŠ   ÚdefaultrÆ   s        r   ÚaskYesNoQuestionz$DistUpgradeViewText.askYesNoQuestionÿ   s¥   € Ü„gÙ	ÜŒe�G‹nÔÜŒE�#‹JÔØ	�DŠÜ
”Ð"Ó#¨Õ
,Ü“
ˆ#à�Y‰Y‹[×ÑÓ ×+Ñ+¬A¨c«FÔ3ØØä
”Ð"Ó#¨Õ
,Ü“
ˆ#à�Y‰Y‹[×ÑÓ ×+Ñ+¬A¨c«FÔ3ØØr%   c                 óB   — | j                  |||dk(  rd¬«      S d¬«      S )NÚCancelrÈ   ÚYes©rÉ   )rÊ   )r$   r“   rŠ   rÉ   s       r   ÚaskCancelContinueQuestionz-DistUpgradeViewText.askCancelContinueQuestion  s:   € Ø×"Ñ" 7¨CØ 8Ò+�ð #ó 8ð 8Ø16ð #ó 8ð 8r%   c                 óN   — | j                  t        d«      t        d«      d¬«      S )NzRestart requiredz]To finish the upgrade, a restart is required.
If you select 'y' the system will be restarted.rÈ   rÎ   )rÊ   ry   r#   s    r   ÚconfirmRestartz"DistUpgradeViewText.confirmRestart#  s8   € Ø×"Ñ"¤1Ð%7Ó#8Ü#$ð &:ó $;ð EIð	 #ó Jð Jr%   )NNr   r'   )rÈ   )rÌ   )r*   r+   r,   rR   r"   rn   r   r„   r†   rˆ   r‹   rŽ   r�   r•   r’   rx   r¬   r·   rÊ   rÏ   rÑ   rA   rB   s   @r   rT   rT   c   sd   ø„ Ù1ó/ò6ò*%ò%ò%ò#òòôòFóóòð, 37ó-Ió^ó(8ö Jr%   rT   Ú__main__zÀ89 packages are going to be upgraded.
You have to download a total of 82.7M.
This download will take about 10 minutes with a 1Mbit DSL connection and about 3 hours 12 minutes with a 56k modem.r®   rµ   Úhelloz	Icecream?rÈ   rÍ   )z/usr/bin/dpkgz--configurez-aÚshortÚlonga²  asfds afsdj af asdf asdf asf dsa fadsf asdf as fasf sextended
asfds afsdj af asdf asdf asf dsa fadsf asdf as fasf sextended
asfds afsdj af asdf asdf asf dsa fadsf asdf as fasf sextended
asfds afsdj af asdf asdf asf dsa fadsf asdf as fasf sextended
asfds afsdj af asdf asdf asf dsa fadsf asdf as fasf sextended
asfds afsdj af asdf asdf asf dsa fadsf asdf as fasf sextended
asfds afsdj af asdf asdf asf dsa fadsf asdf as fasf sextended
ÚxxrF   )4r§   r   rf   r¡   r   r   r   r^   ÚDistUpgradeApportr   r   r   r   r	   r
   Ú	telemetryr   r\   Úapt.progressÚDistUpgradeGettextry   Úutilsr   r   r    r!   r   r/   ÚbaseÚCdromProgressrD   rT   r*   ÚviewrG   rÊ   rz   rÑ   ÚCacherƒ   r   Úfpr„   ÚipÚargvr;   Úmark_installÚcommitÚgetTerminalÚcallrx   r·   r-   r%   r   ú<module>rç      sé  ðó, Û 
Û Û Ý ã 
Û 	ç 7÷ó õ ,Û ã Ý ,Ý ò	ô˜/¨3¯<©<×+<Ñ+<×+LÑ+Lô ô)˜/ô )ô$	˜sŸ|™|×0Ñ0×>Ñ>ô 	ôEJ˜/ô EJðP ˆzÓÙ	Ó	€$ñ
 ‰ð  Sð  gjô  	kô  lñ 
Ó	€$Ùˆ×Ñ˜g {°DÓ9Ô:Ùˆ×Ñ˜g {°EÓ:Ô;ð
 €#‡(�(ˆ1„+à×ÑÔà
ˆ#�)‰)‹+€%Ø×ÑÓ €"Ø×Ñ˜uÓ%€"ð �X‰X�a�bˆ\ò €cØ	ˆ#�J×ÑÕðà‡,�,ˆr�"Ôà
€#‡(�(ˆ1„+Ø×ÑÓ×ÑÒ>Ô?à‡*�*ˆW�VðOôð ×Ñ�d˜2˜sÔ#Ùˆ×Ñ˜g {Ó3Õ4ðU r%   