+
    5‹œic@  ã                   ó^  € ^RI Ht ^RI Ht ^RIHt ^ RIt^ RIH	t	 ^ RI
t
^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^RIHt  ]P&                  ! ]P(                  R4       ]P*                  ! 4       w  tt]'       g4   R	t]P2                  ! R
R4        ]P&                  ! ]P4                  R4       ]P8                  ! R]P:                  ! 4       ,          4       R t ! R R]P>                  P@                  PB                  4      t! ! R R]P>                  P@                  PD                  4      t" ! R R]#4      t$ ! R R]#4      t% ! R R]	4      t&]! R4      ]! R4      ]! R4      ]! R4      ]! R4      3  ! R R]#4      t'R#    ]P0                  ! R4       R	t EL$; i  ]P6                   d     Lÿi ; i)é   )Úgettext)Úngettext)ÚgetN)ÚEnum)Úapport_pkgfailureÚ zgetting the encoding failedzutf-8ÚLC_CTYPEzC.UTF-8zlocale: '%s' '%s'c                ó–  € \        V 4      p V R,          pV R,          ^,          pV ^<,          ^<,          pV ^<,          pV^ 8X  d   ^pRRRRRRRR/pV^ 8”  d   \        RRV4      V,          VR&   V^ 8”  d   \        RR	V4      V,          VR&   V^ 8”  d   \        R
RV4      V,          VR&   \        RRV4      V,          VR&   V^ 8”  d*   VR,          R8X  d
   VR,          # \        R4      V,          # V^8”  d
   VR,          # V^ 8”  d*   VR,          R8X  d
   VR,          # \        R4      V,          # V^ 8”  d
   VR,          # VR,          # )z:return the time a bit fuzzy (no seconds if time > 60 secs Ústr_daysr   Ú	str_hoursÚstr_minutesÚstr_secondsz%li dayz%li daysz%li hourz	%li hoursz
%li minutez%li minutesz
%li secondz%li secondsz%(str_days)s %(str_hours)sz%(str_hours)s %(str_minutes)si  i€Q )Úintr   Ú_)ÚsecÚdaysÚhoursÚminutesÚsecondsÚmaps   &     Ú=/usr/lib/python3/dist-packages/DistUpgrade/DistUpgradeView.pyÚFuzzyTimeToStrr   ;   sm  € ô 	ˆC‹€#à	ˆx�€$Ø
��,˜Õ
€%Ø�"�W˜�N€'Ø�"�H€'à�„\Ø€Gð �rØ
˜Ø
˜"Ø
˜"ð	
€#ð 
ˆA„XÜ˜y¨°TÓ:¸TÕA€Cˆ
�OØ
ˆQ„YÜ 
¨;¸Ó>ÀÕF€CˆÑØˆq„[Ü! ,¨}¸gÓFÈÕP€CˆÑÜ ¨]¸GÓDÀwÕN€#€mÑð 
ˆA„Xà
ˆ;Õ˜2ÔØ�:�Ðô Ð)Ó*¨SÕ0Ð0àˆq„yØˆ{ÕÐàˆq„yà
ˆ=Õ˜RÔØ�;ÕÐô Ð,Ó-°Õ3Ð3Ø�„{Øˆ}ÕÐØ	ˆ]Õ	Ðó    c                   ól   a a€ ] tR t^t oV 3R ltV 3R ltV 3R ltR tR	V 3R lltR t	R t
RtVtV ;t# )
ÚAcquireProgressc                ó:   <€ \         \        V `  4        R V n        R# )ç        N)Úsuperr   Ú__init__Ú	est_speed©ÚselfÚ	__class__s   &€r   r   ÚAcquireProgress.__init__�   s   ø€ Ü	Œ/˜4Ñ)Ô+Ø€D†Nr   c                ód   <€ \         \        V `  4        R V n        R V n        R V n        RV n        R# )r   FN)r   r   Ústartr    ÚetaÚpercentÚrelease_file_download_errorr!   s   &€r   r&   ÚAcquireProgress.start„   s-   ø€ Ü	Œ/˜4Ñ&Ô(Ø€D„NØ€D„HØ€D„LØ',€DÖ$r   c                óL  <€ \         \        V `  WW44       V\        P                  8X  dz   \
        P                  ! R V,          4       VP                  R4      '       g   VP                  R4      '       d-   R F$  pVP                  V4      '       g   K  RV n	         R# 	  R# R# R# )z update_status: dlFailed on '%s' zRelease.gpgÚReleaseTN)ÚhttpÚftpÚmirror)
r   r   Úupdate_statusÚapt_pkgÚSTAT_FAILEDÚloggingÚwarningÚendswithÚ
startswithr)   )r"   ÚuriÚdescrÚ
shortDescrÚstatusÚnetr#   s   &&&&& €r   r0   ÚAcquireProgress.update_statusŠ   s„   ø€ Ü	Œ/˜4Ñ.¨s¸:ÔNð ”×$Ñ$Ô$Ü‡o‚oÐ8¸3Õ>Ô?Ø	�‰�m×	$Ò	$¨¯©°Y×(?Ò(?ó +ˆCØ�^‰^˜C× Ô Ø/3ˆDÔ,Úó +ñ )@ñ %r   c                ó   € R # )T© )r"   Úargs   &&r   Úpulse_itemsÚAcquireProgress.pulse_items™   s   € Ùr   c                óø  <€ \         \        V `  V4       V P                  V P                  ,           R ,          \        V P                  V P                  ,           4      ,          V n        V P                  V P                  8”  d*   V P                  V P                  ,           R,          V n
        V P                  ^ 8”  d=   V P                  V P                  ,
          \        V P                  4      ,          V n        R# )g      Y@g       @T)r   r   ÚpulseÚcurrent_bytesÚcurrent_itemsÚfloatÚtotal_bytesÚtotal_itemsr(   Úcurrent_cpsr    r'   )r"   Úownerr#   s   &&€r   rC   ÚAcquireProgress.pulse›   s¶   ø€ Ü	Œ/˜4Ñ& uÔ-Ø×(Ñ(¨4×+=Ñ+=Õ=ÀÕFÜ˜$×*Ñ*¨T×-=Ñ-=Õ=Ó>õ?€D„Là×Ñ˜$Ÿ.™.Ô(ØŸ™ t×'7Ñ'7Õ7¸Õ<€d„nØ×Ñ˜!ÔØ×#Ñ# d×&8Ñ&8Õ8Ü˜×(Ñ(Ó)õ*€d„hár   c                ó    € V P                   ^ 8g  # )é    )r    ©r"   s   &r   ÚisDownloadSpeedEstimatedÚ(AcquireProgress.isDownloadSpeedEstimated¥   s   € Ø�N‰N˜aÑÐ r   c                óò   € V P                   ^ 8X  d;   VR,          pVR,          p\        R4      \        V4      \        V4      3,          pV# \        R4      \        WP                   ,          4      ,          pV# )z get the estimated download time z_This download will take about %s with a 40Mbit connection and about %s with a 5Mbit connection.z7This download will take about %s with your connection. g    Ð#Ag    ÐSA)r    r   r   )r"   Úrequired_downloadÚ	time5MbitÚ
time40MbitÚss   &&   r   ÚestimatedDownloadTimeÚ%AcquireProgress.estimatedDownloadTime§   st   € à‡~�~˜ÔØ# ]Õ3€iØ$ nÕ5€jÜ	
ð 3ó 
4Ü7EÀjÓ7QÔSaÐbkÓSlÐ6mõ
n€aà€hä	Ð
CÓDÄ~ÐVg×hvÑhvÕVvÓGwÕw€AØ€Hr   )r    r'   r(   r)   ©N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r&   r0   r@   rC   rO   rV   Ú__static_attributes__Ú__classdictcell__Ú__classcell__)r#   Ú__classdict__s   @@r   r   r      s-   ù‡ € õõ-õò÷	ò!÷
ò 
r   r   c                   ó<   a € ] tR t^µt o RtR tR tR tR tRt	V t
R# )ÚInstallProgresszVBase class for InstallProgress that supports some fancy
stuff like apport integration
c                óz   € \         P                  P                  P                  P	                  V 4       R V n        R # rX   )ÚaptÚprogressÚbaserb   r   Ú	master_fdrN   s   &r   r   ÚInstallProgress.__init__¹   s'   € Ü‡L�L×Ñ×%Ñ%×.Ñ.¨tÔ4Ø€D†Nr   c                ó`  €   \         P                   ! V P                  .. . V P                  4       V P                  4         \        P                  ! V P                  \        P                  4      w  r#W P                  8X  d    V# K‡    \         P                   d2   pTP                  ^ ,          \
        P                  8w  d   h  Rp?L˜Rp?ii ; i  \         dR   pTP
                  \
        P                  8w  d   h TP
                  \
        P                  8X  d    Rp?X#  Rp?EK'  Rp?ii ; i)z~Wait for child progress to exit.

The return values is the full status returned from os.waitpid()
(not only the return code).
N)ÚselectÚstatusfdÚselect_timeoutÚerrorÚargsÚerrnoÚEINTRÚupdate_interfaceÚosÚwaitpidÚ	child_pidÚWNOHANGÚOSErrorÚECHILD)r"   ÚeÚpidÚress   &   r   Ú
wait_childÚInstallProgress.wait_child½   sã   € ð ðÜ�mŠm˜TŸ]™]˜O¨R°°T×5HÑ5HÔIð ×
Ñ
Ô
!ðÜŸ:š: d§n¡n´b·j±jÓA‰jˆsØŸ™Ô&Øð €jñ 'øô —‘ô Ø—‘˜•œeŸk™kÔ)Øô *ûðûô ô Ø—‘œEŸK™KÔ'ØØ—‘œEŸL™LÔ(ÛØ€jö )ûðús0   ƒ.B ÁAC ÂCÂ'C	Ã	CÃD-Ã?D(Ä(D-c                óœ  € V P                  4       pV^ 8X  df   \        P                  ! \        P                  \        P                  4        VP	                  V P
                  4      p\        P                  ! X4       W n        \        P"                  ! V P%                  4       4      pV#   \         d˜   p\        RT4       \        P                  ! R4       \        RR4      ;_uu_ 4       pTP                  \        T4      4       RRR4       M  + '       g   i     M; i\        P                  ! TP                  4        Rp?LßRp?ii ; i)rM   z!Exception during pm.DoInstall(): zException during pm.DoInstall()z./var/run/ubuntu-release-upgrader-apt-exceptionÚwN)ÚforkÚsignalÚSIGPIPEÚSIG_IGNÚ
do_installÚwritefdÚ	ExceptionÚprintr3   Ú	exceptionÚopenÚwriteÚstrrr   Ú_exitÚRESULT_FAILEDrt   ÚWEXITSTATUSr{   )r"   Úpmry   rz   rx   Úfs   &&    r   ÚrunÚInstallProgress.runÕ   sß   € Ø
�)‰)‹+€CØ
ˆa„xô ‡m‚m”F—N‘N¤6§>¡>Ô2ð#Ø�m‰m˜DŸL™LÓ)ˆô 	‡h‚hˆs„mØ„NÜ
�.Š.˜Ÿ™Ó*Ó
+€CØ€Jøô ô #ÜÐ1°1Ô5Ü×ÒÐ;Ô<ÜÐBÀ3×GÔGÈ1Ø�G‰G”C˜“FŒO÷ H×G×GÐGúä
�Š�×!Ñ!×"Ñ"ûð#ús0   ÁB) Â)EÂ46EÃ*DÄ	EÄDÄ(EÅEc                óò  € \         P                  P                  P                  P	                  WV4       \
        P                  ! RV: RV: R24       RV9   d    \        P                  P                  V4      pVP                  R4      ^ ,          P                  4       '       d(   RP                  VP                  R4      R,          4      pRV9   d   VP                  R4      ^ ,          p\        W4       R# )	zinstall error from a package z!got an error from dpkg for pkg: 'z': 'Ú'Ú/Ú-:r   NNr   N)rd   re   rf   rb   rm   r3   rr   ÚpathÚbasenameÚsplitÚisdigitÚjoinr   )r"   ÚpkgÚerrormsgs   &&&r   rm   ÚInstallProgress.errorè   s¦   € ä‡L�L×Ñ×%Ñ%×+Ñ+¨D°xÔ@Ü‡MƒMÃ#ÃxÐPÔQØ
ˆc„zÜ�G‰G×Ñ˜SÓ!€cØ
‡y�y�ƒ~�aÕ× Ñ ×"Ò"Ø�J‰J�s—y‘y “~ bÕ)Ó*€cØ
ˆc„zØ�I‰I�c‹N˜1Õ€cä�cÖ$r   )rt   rg   N)rY   rZ   r[   r\   Ú__doc__r   r{   r�   rm   r]   r^   ©r`   s   @r   rb   rb   µ   s#   ø‡ € ñòòò0÷&%ð %r   rb   c                   ó*   a € ] tR t^õt o RR ltRtV tR# )ÚDumbTerminalc                ó0   € ^ RI pVP                  V4       R# )z6expects a command in the subprocess style (as a list) N)Ú
subprocessÚcall)r"   ÚcmdÚhiddenr£   s   &&& r   r¤   ÚDumbTerminal.callö   s   € ãØ�‰˜Ör   r>   N©F)rY   rZ   r[   r\   r¤   r]   r^   rŸ   s   @r   r¡   r¡   õ   s   ø‡ € ÷ò r   r¡   c                   ó2   a € ] tR t^ût o R tR tR tRtV tR# )ÚSampleHtmlViewc                ó   € R # rX   r>   )r"   Úurls   &&r   rˆ   ÚSampleHtmlView.openü   s   € Ùr   c                ó   € R # rX   r>   rN   s   &r   ÚshowÚSampleHtmlView.showþ   ó   € Ù
r   c                ó   € R # rX   r>   rN   s   &r   ÚhideÚSampleHtmlView.hide   r±   r   r>   N)	rY   rZ   r[   r\   rˆ   r¯   r³   r]   r^   rŸ   s   @r   rª   rª   û   s   ø‡ € òò÷ð r   rª   c                   ó2   € ] tR tRt^t^t^t^t^t^t	^t
RtR# )ÚStepi  r>   N)rY   rZ   r[   r\   ÚPREPAREÚMODIFY_SOURCESÚFETCHÚINSTALLÚCLEANUPÚREBOOTÚNr]   r>   r   r   r¶   r¶     s%   † Ø€GØ€NØ€EØ€GØ€GØ€FØ	„Ar   r¶   zPreparing to upgradezGetting new software channelszGetting new packageszInstalling the upgradeszCleaning upc                   ó¾   a € ] tR tRt o RtR tR tR tRR ltR t	R	 t
R
 tR tR tR tR tRR ltRR ltRR ltR tR tR tRR ltRR ltR tRR ltRtV tR# )ÚDistUpgradeViewi  z!abstraction for the upgrade view c                ó   € R V n         R# )FN)Úneeds_screenrN   s   &r   r   ÚDistUpgradeView.__init__  s   € Ø!ˆÔÙr   c                óR   € \         P                  P                  P                  4       # )z4return a OpProgress() subclass for the given graphic)rd   re   rf   Ú
OpProgressrN   s   &r   ÚgetOpCacheProgressÚ"DistUpgradeView.getOpCacheProgress  s   € ä�|‰|× Ñ ×+Ñ+Ó-Ð-r   c                ó   € \        4       # )z"return an acquire progress object )r   rN   s   &r   ÚgetAcquireProgressÚ"DistUpgradeView.getAcquireProgress  ó   € äÓ Ð r   Nc                ó   € \        4       # )z!return a install progress object )rb   )r"   Úcaches   &&r   ÚgetInstallProgressÚ"DistUpgradeView.getInstallProgress   rÊ   r   c                ó   € \        4       # rX   )r¡   rN   s   &r   ÚgetTerminalÚDistUpgradeView.getTerminal#  s
   € Ü‹~Ðr   c                ó   € \        4       # rX   )rª   rN   s   &r   ÚgetHtmlViewÚDistUpgradeView.getHtmlView%  s   € ÜÓÐr   c                ó   € R# )zGupdate the current status of the distUpgrade based
on the current view
Nr>   )r"   Úmsgs   &&r   ÚupdateStatusÚDistUpgradeView.updateStatus'  s   € ñ 	r   c                ó   € R# )z7provide a visual feedback that the upgrade was aborted Nr>   rN   s   &r   ÚabortÚDistUpgradeView.abort,  ó   € ár   c                óL   € \        4       P                  VP                  4       R# )z°we have 6 steps current for a upgrade:
1. Analyzing the system
2. Updating repository information
3. fetch packages
3. Performing the upgrade
4. Post upgrade stuff
5. Complete
N)Úget_telemetryÚ	add_stageÚname©r"   Ústeps   &&r   ÚsetStepÚDistUpgradeView.setStep/  s   € ô 	‹×!Ñ! $§)¡)Ô,Ùr   c                ó   € R# )z!hide a certain step from the GUI Nr>   rá   s   &&r   ÚhideStepÚDistUpgradeView.hideStep:  rÜ   r   c                ó   € R# )z!show a certain step from the GUI Nr>   rá   s   &&r   ÚshowStepÚDistUpgradeView.showStep=  rÜ   r   c                óô  € RV n         . V n        . V n        . V n        . V n        . V n        . V n        V EFC  pVP                  '       d   V P                  P                  V4       K3  VP                  '       d   V P                  P                  V4       Kb  VP                  '       d   V P                  P                  V4       K‘  VP                  '       dq   VP                  P                  P                  VP                  4      '       d   V P
                  P                  V4       Kõ  V P                  P                  V4       EK  VP                   '       g   EK(  V P                  P                  V4       EKF  	  V P                  V P                  ,           V n        V P                  P#                  4        V P                  P#                  4        V P                  P#                  4        V P
                  P#                  4        V P                  P#                  4        Rp\%        V P                  4      \%        V P
                  4      ,           p\%        V P                  4      \%        V P                  4      ,           p	\%        V P                  4      p
V^ 8”  d%   V\'        RRV4      V,          ,          pVR,          pV	^ 8”  d%   V\'        RRV	4      V	,          ,          pVR,          pV
^ 8”  d%   V\'        RR	V
4      V
,          ,          pVR,          pV^ 8”  d€   \(        P*                  ! V4      p\-        V\.        4      '       d   VP1                  \2        4      pV\5        R
4      V,          ,          pWpP7                  4       P9                  V4      ,          pW©,           ^ 8”  dm   W©,           V,           ^d8”  dY   V P7                  4       P;                  4       '       d   VR\5        R4      ,          ,          pM:VR\5        R4      ,          ,          pM V^d8”  d   VR\5        R4      ,          ,          pW©,           V,           ^8  d*   \5        R4      p\5        R4      pV P=                  W4       R# Wpn         R# )zXdisplay the list of changed packages (apt.Package) and
return if the user confirms them
r   Ú
z"%d package is going to be removed.z$%d packages are going to be removed.Ú z(%d new package is going to be installed.z*%d new packages are going to be installed.z#%d package is going to be upgraded.z%%d packages are going to be upgraded.z&

You have to download a total of %s. z

%sznInstalling the upgrade can take several hours. Once the download has finished, the process cannot be canceled.z{Fetching and installing the upgrade can take several hours. Once the download has finished, the process cannot be canceled.z.Removing the packages can take several hours. z,The software on this computer is up to date.zRThere are no upgrades available for your system. The upgrade will now be canceled.FT)ÚconfirmChangesMessageÚ	toInstallÚtoReinstallÚ	toUpgradeÚtoRemoveÚtoRemoveAutoÚtoDowngradeÚmarked_installÚappendÚmarked_upgradeÚmarked_reinstallÚmarked_deleteÚ_pcacheÚ	_depcacheÚis_auto_installedÚ_pkgÚmarked_downgradeÚsortÚlenr   r1   Úsize_to_strÚ
isinstanceÚbytesÚdecodeÚENCODINGr   rÈ   rV   rO   rm   )r"   ÚsummaryÚchangesÚdownloadSizeÚactionsÚremoval_boldr›   rÖ   Úpkgs_removeÚ	pkgs_instÚpkgs_upgradeÚdownloadSizeStrs   &&&&&&      r   ÚconfirmChangesÚDistUpgradeView.confirmChanges@  s½  € ð
 &(ˆÔ"ØˆŒØˆÔØˆŒØˆŒØˆÔØˆÔÜˆCØ×!×!Ð!Ø�n‰n×#Ñ# CÖ(Ø×#×#Ð#Ø�n‰n×#Ñ# CÖ(Ø×%×%Ð%Ø×Ñ×%Ñ% cÖ*Ø×"×"Ð"Ø—‘×&Ñ&×8Ñ8¸¿¹×BÒBØ×!Ñ!×(Ñ(¨Ö-à—‘×$Ñ$ S×)Ø×%×%Ó%Ø×Ñ×%Ñ% c×*ñ ð Ÿ™¨$×*:Ñ*:Õ:ˆŒà�‰×ÑÔØ�‰×ÑÔØ�‰×ÑÔØ×Ñ×ÑÔ Ø×Ñ×ÑÔàˆÜ˜$Ÿ-™-Ó(¬3¨t×/@Ñ/@Ó+AÕAˆÜ˜Ÿ™Ó'¬#¨d×.>Ñ.>Ó*?Õ?ˆ	Ü˜4Ÿ>™>Ó*ˆØ˜Œ?ð ”Ð>Ø@Ø%ó'à)4õ5õ 5ˆ#ð ��*ˆ#Ø�qŒ=Ø
”ð 'ð'Ø'0ó2ð 5>õ>õ >ˆ#ð ��*ˆ#Ø˜!ÔØ
”Ð?ØAØ&ó(à*6õ7õ 7ˆ#ð ��)ˆ#Ø˜!ÔÜ#×/Ò/°Ó=ˆ/Ü˜¬×/Ò/Ø /× 6Ñ 6´xÓ @ˆoØ
”Ð=Ó>Øõõ ˆ#à
×(Ñ(Ó*×@Ñ@ÀÓNÕ
Nˆ#ØÕ%¨Ô*°,Õ2JÈ[Õ2XÐ\_Ô1_Ø×$Ñ$Ó&×?Ñ?×AÒAØ�8œað "Qó Rõ Rõ R‰Cð �8œað "Qó Rõ Rõ R‰Cð ˜3ÔØ�8œað "<ó =õ =õ =ˆCð Õ$ {Õ2°aÔ7äÐDÓEˆ'Üð 6ó 7ˆ#à
�*‰*�WÔ
"Ùà%(Ô"Ùr   c                ó   € R# )z/ask a Yes/No question and return True on 'Yes' Nr>   ©r"   r  rÖ   Údefaults   &&&&r   ÚaskYesNoQuestionÚ DistUpgradeView.askYesNoQuestion™  rÜ   r   c                ó   € R# )z<ask a Cancel/Continue question and return True on 'Continue'Nr>   r  s   &&&&r   ÚaskCancelContinueQuestionÚ)DistUpgradeView.askCancelContinueQuestionœ  rÜ   r   c                óP   € \        R4      p\        R4      pV P                  W4      # )z1generic ask about the restart, can be overridden zReboot requiredzMThe upgrade is finished and a reboot is required. Do you want to do this now?)r   r  )r"   r  rÖ   s   &  r   ÚconfirmRestartÚDistUpgradeView.confirmRestartŸ  s/   € äÐ%Ó&ˆÜð ó ˆð ×$Ñ$ WÓ2Ð2r   c                óh   € \        R 4      p\        R4      p\        R4      pV P                  WV4      # )zAction requiredz9Exit all other instances of Ubuntu WSL before continuing.z'Unsaved progress may otherwise be lost.©r   Úinformation©r"   r  rÖ   Úextendeds   &   r   ÚadviseExitOtherWSLÚ"DistUpgradeView.adviseExitOtherWSL§  s6   € ÜÐ%Ó&ˆÜÐKÓLˆÜÐ>Ó?ˆØ×Ñ ¨hÓ7Ð7r   c                óh   € \        R 4      p\        R4      p\        R4      pV P                  WV4      # )zWSL restart requiredz!Exit this instance of Ubuntu WSL.z"The upgrade will then be complete.r  r  s   &   r   ÚadviseRestartWSLÚ DistUpgradeView.adviseRestartWSL¬  s6   € ÜÐ*Ó+ˆÜÐ3Ó4ˆÜÐ9Ó:ˆØ×Ñ ¨hÓ7Ð7r   c                ó   € R# )zdisplay a error Nr>   ©r"   r  rÖ   Úextended_msgs   &&&&r   rm   ÚDistUpgradeView.error±  rÜ   r   c                ó   € R# )zdisplay a information msgNr>   r'  s   &&&&r   r  ÚDistUpgradeView.information´  rÜ   r   c                ó   € R# )zDprocess gui events (to keep the gui alive during a long
computation Nr>   rN   s   &r   ÚprocessEventsÚDistUpgradeView.processEvents·  s   € ñ 	r   c                ó   € R# )zGdo a progress pulse (e.g. bounce a bar back and forth, show
a spinner)
Nr>   )r"   Úfinisheds   &&r   ÚpulseProgressÚDistUpgradeView.pulseProgress»  s   € ñ r   )rî   rÁ   rô   rï   rð   rò   ró   rñ   rX   )NT)ÚNo)ÚCancelr¨   )rY   rZ   r[   r\   rž   r   rÅ   rÈ   rÍ   rÐ   rÓ   r×   rÚ   rã   ræ   ré   r  r  r  r  r!  r$  rm   r  r-  r1  r]   r^   rŸ   s   @r   r¿   r¿     sx   ø‡ € Ù(òò.ò!ô!òò òò
ò
òòôWôrôò3ò8ò
8ô
ôò÷ò r   r¿   )(ÚDistUpgradeGettextr   r   r   Ú	telemetryr   rÞ   rd   Úenumr   ro   rr   r1   Úlocaler3   r€   rj   ÚDistUpgradeApportr   Ú	setlocaleÚLC_ALLÚgetdefaultlocaleÚcoder  r‡   Úputenvr	   rm   ÚinfoÚ	getlocaler   re   rf   r   rb   Úobjectr¡   rª   r¶   r¿   r>   r   r   Ú<module>rB     s�  ðõ, -Ý (Ý +Û 
Ý Û Û 	Û Û Û Û Û å 0ðØ
×Ò�V—]‘] BÔ'Ø×.Ò.Ó0Ñ€Tˆ8÷ Ø€HØ‡I‚Iˆj˜)Ô$ðØ×Ò˜Ÿ™¨)Ô4ð ‡‚Ð  6×#3Ò#3Ó#5Õ5Ô 6òAôH2�c—l‘l×'Ñ'×7Ñ7ô 2ôl>%�c—l‘l×'Ñ'×7Ñ7ô >%ô@�6ô ô�Vô ô
ˆ4ô 
ñ ÐÓÙÐ#Ó$ÙÐÓÙÐÓÙ€MÓñ	ôj�fö jøðYØ×ÒÐ3Ô4ØƒHûð �<‰<ô Ùðús   Á 1E< ÂF Å<FÆF,Æ+F,