2bi:+ SSKrSSKrSSKrSSKrSSKJrJr SSKJr SSK J r J r SSK J r SSKJrJr SSKJr SSKJr SS KJr SS KJrJr SS KJrJrJr SS KJr SS KJrJrJ r J!r!J"r"J#r#J$r$J%r%J&r&J'r'J(r(J)r)J*r*J+r+J,r,J-r-J.r.J/r/ \R`S:aSSKJ1r1 OSSK2J1r1 SSK3J4r4J5r5 SSK6J7r7J8r8J9r9J:r: SSK;Jr> SSK?J@r@ SSKAJBrB SSKCJDrD SSKEJFrF SSKGJHrHJIrI SSKJJKrKJLrL \("S\M5rN\."S5rO\ /\P4rQ\R\"S\+\5rR"SS\5rSSS'\/\*\O\%\O4S(\TS)\)\PS*\US+\)\7S,\US-\)\ /\P4S.\PS/\FS0\FS1\FS2\FS3\PS4\US5\US6\%\O4 S7jjrV"S8S9\\5rW"S:S;\!\R\$\R5rXS\S)\MS(\TS*\US+\)\7S,\US-\)\ /\P4S.\PS/\FS0\FS1\FS2\FS4\US6\!\4S?jjrY\RSSS\/\TSA\[4SB\/\1SC\1SD4SE\MSF\)\TSG\)\TSH\)\TS)\)\MS(\TS*\US+\)\7S,\US-\)\ /\P4S.\PS/\FS0\FS1\FS2\FS4\US6\!\+4&SIjjj5r\\RSSS\/\TSA\[4SB\1SJSE\MSF\)\TSG\)\TSH\)\TS)\)\MS(\TS*\US+\)\7S,\US-\)\ /\P4S.\PS/\FS0\FS1\FS2\FS4\US6\!\4&SKjjj5r\SSS\/\TSA\[4SB\/\1SJ\1SC\1SD4SE\MSF\)\TSG\)\TSH\)\TS)\)\MS(\TS*\US+\)\7S,\US-\)\ /\P4S.\PS/\FS0\FS1\FS2\FS4\US6\/\!\\!\+44&SLjjjr\"SMSN\5r]"SOSP\]5r^"SQSR\]5r_"SSST\]5r`"SUSV\]5ra"SWSX\]5rb"SYSZ\`5rc"S[S\\]5rd"S]S^\]5re"S_S`\]5rf"SaSb\]5rg"ScSd\]5rh"SeSf\]5ri"SgSh\'5rj\ "SiSj55rk"SkSl\>5rl\mSm:XGa_SSKnrnSSKoroSSnKpJqrq SSoKrJsrs SSpKtJuru SSqKGJIrI \u"SrSsS St9rt\I"SuSvSw5rG\GRSxSySz5 S{\q"S|5S}\GS~SSS.S\t\s"S5/ rwSSKxJyry \y"\w5rz\7"S S9r6\l"\_"5/\lR5Q\b"5P7\6S!S.6r|\|RSSS9r~\|RSSS9r\|RSSS9r\|GR(dy\|GR\~SS9 \|GR\SS9 \oGR"S5 \nGR"SS5S:a\|GR \"\z55 \|GR(dMySSS5 gg!,(df  g=f)N)ABCabstractmethoddeque) dataclassfield) timedelta) RawIOBaseUnsupportedOperation)ceil)mmap) length_hint)PathLikestat)EventRLockThread) TracebackType)AnyBinaryIOCallableContextManagerDequeDictGenericIterableList NamedTupleNewTypeOptionalSequenceTextIOTupleTypeTypeVarUnion))Literal)filesize get_console)ConsoleGroup JustifyMethodRenderableType) Highlighter) JupyterMixin)Live) ProgressBar)Spinner) StyleType)ColumnTable)TextTextTypeTaskID ProgressType_Ic^\rSrSrSrSSSSS\4U4SjjrSS jrSS jrS \ \ \ S\ \ S\ \ S S 4Sjr SrU=r$) _TrackThread?z)A thread to periodically update progress.progressProgresstask_idr; update_periodcr>XlX lX0l[5UlSUl[ TU]5 g)Nr)rArCrDrdone completedsuper__init__)selfrArCrD __class__s ڋ/builddir/build/BUILDROOT/alt-python313-pip-23.3.1-3.el8.x86_64/opt/alt/python313/lib/python3.13/site-packages/pip/_vendor/rich/progress.pyrI_TrackThread.__init__Bs.  *G  returnNcbURnURRnURnSnURR nU"U5(d-UR nXF:wa U"XU- 5 UnU"U5(dM-URRURUR SS9 g)NrT)rGrefresh)rCrAadvancerDrFwaitrGupdate)rJrCrRrDlast_completedrSrGs rLrun_TrackThread.runKs,,--''** yy~~}%%I*^!; ?@UW  NN --'   * 5 d ;   !-3H >> {"      s0ABB3B4B8 BB B Bc \rSrSrSrS)S\SSS\S\SS 4 S jjrS*S jr S \ \ \ S \ \ S\ \ SS 4SjrS\4SjrS\4Sjr\S\4Sj5rS\4SjrS\4Sjr\S\4Sj5r\S\4Sj5rS\4SjrS\4SjrS\4SjrS+S\S\4SjjrS\\\ \!44Sjr"S+S\S\4Sjjr#S+S\S\$\4S jjr%S,S!jr&S-S"\S#\S\4S$jjr'S\4S%jr(S&\)S\4S'jr*S(r+g )._Readerz9A reader that tracks progress while it's being read from.handlerArBtask close_handlerONcBXlX lX0lX@lSUlgNF)rrArr_closed)rJrrArrs rLrI_Reader.__init__s    ( rNc:URR5 U$rY)rr]r\s rLr]_Reader.__enter__s  rNr`rarbc$UR5 grY)closerfs rLrg_Reader.__exit__s rNcU$rYr\s rL__iter___Reader.__iter__s rNc[UR5nURRUR[ U5S9 U$NrR)nextrrArRrlen)rJlines rL__next___Reader.__next__s4DKK  diiT; rNcUR$rY)rr\s rLclosed_Reader.closeds ||rNc6URR5$rY)rfilenor\s rLr_Reader.fileno{{!!##rNc6URR5$rY)risattyr\s rLr_Reader.isattyrrNc.URR$rY)rmoder\s rLr _Reader.mode{{rNc.URR$rY)rnamer\s rLr _Reader.namerrNc6URR5$rY)rreadabler\s rLr_Reader.readable{{##%%rNc6URR5$rY)rseekabler\s rLr_Reader.seekablerrNcgrrr\s rLwritable_Reader.writablesrNsizecURRU5nURRUR[ U5S9 U$r)rreadrArRrr)rJrblocks rLr _Reader.reads:   & diiU< rNbcURRU5nURRURUS9 U$r)rreadintorArRr)rJrns rLr_Reader.readintos6 KK  # dii3rNcURRU5nURRUR[ U5S9 U$r)rreadlinerArRrr)rJrrs rLr_Reader.readlines:{{##D) diiT; rNhintc URRU5nURRUR[ [ [U55S9 U$r)r readlinesrArRrsummapr)rJrliness rLr_Reader.readlinessA %%d+ diiSe_1EF rNchUR(aURR5 SUlg)NT)rrrrr\s rLr _Reader.closes"    KK    rNoffsetwhencecURRX5nURRURUS9 U$)NrG)rseekrArTr)rJrrposs rLr _Reader.seeks6kkv. TYY#6 rNc6URR5$rY)rtellr\s rLr _Reader.tell s{{!!rNsc[S5e)Nwrite)r )rJrs rLr _Reader.write s "7++rN)rrrrAr)T)rOr)ri)r),rjrkrlrmrnrr;boolrIr]r r$rprrgrbytesrpropertyrintrrstrrrrrrrr& bytearray memoryviewr rrrrrrrrrrqrrNrLrrsC"        4 ./-('   (% $$$$ c   c  &$&&$&$e % :t ;< S% c4;  3C "c",s,s,rNrcn\rSrSrSrSSS\SS4SjrS\4S jrS \\ \ S \\ S \\ SS4S jr Sr g) _ReadContextizEA utility class to handle a context for both a reader and a progress.rArBreaderrONcXlX lgrYrAr)rJrArs rLrI_ReadContext.__init__s   rNcjURR5 URR5$rY)rAr[rr]r\s rLr]_ReadContext.__enter__s% {{$$&&rNr`rarbcpURR5 URRXU5 grY)rAstoprrgrfs rLrg_ReadContext.__exit__s(  X7rNr)rjrkrlrmrnr=rIr]r r$rprrgrqrrNrLrrsjO!!R!D!'2'84 ./8-(8' 8  8rNr Reading...) rzr|r}r~rrrrrrrfilec U(a [S5/O/n U R[UU U U S9[5[ 545 [ U UUUUU=(d SU S.6nUR XUS9n[X5$)aRead bytes from a file while tracking progress. Args: file (Union[str, PathLike[str], BinaryIO]): The path to the file to read, or a file-like object in binary mode. total (int): Total number of bytes to read. description (str, optional): Description of task show next to progress bar. Defaults to "Reading". auto_refresh (bool, optional): Automatic refresh, disable to force a refresh after each iteration. Default is True. transient: (bool, optional): Clear the progress on exit. Defaults to False. console (Console, optional): Console to write to. Default creates internal Console instance. refresh_per_second (float): Number of times per second to refresh the progress information. Defaults to 10. style (StyleType, optional): Style for the bar background. Defaults to "bar.back". complete_style (StyleType, optional): Style for the completed bar. Defaults to "bar.complete". finished_style (StyleType, optional): Style for a finished bar. Defaults to "bar.finished". pulse_style (StyleType, optional): Style for pulsing bars. Defaults to "bar.pulse". disable (bool, optional): Disable display of progress. Returns: ContextManager[BinaryIO]: A context manager yielding a progress reader. rrrtr)r{rz)rrrDownloadColumnrrB wrap_filer)rr{rzr|r}r~rrrrrrrrrArs rLrr&sJEP> ?@UW  NN --'      !   !-3H  {  KF  ))rN) r{rzr|r}r~rrrrrrr PathLike[str]rrtr bufferingencodingerrorsnewlinec grYrrrrr r r r{rzr|r}r~rrrrrrrs rLopenrg, rNrbc grYrr s rLrrrrNc U(a [S5/O/nUR[U UUUS9[5[ 545 [ UUU U U U =(d SUS.6nUR UUUUUUUUS9n[UU5$)aVRead bytes from a file while tracking progress. Args: path (Union[str, PathLike[str], BinaryIO]): The path to the file to read, or a file-like object in binary mode. mode (str): The mode to use to open the file. Only supports "r", "rb" or "rt". buffering (int): The buffering strategy to use, see :func:`io.open`. encoding (str, optional): The encoding to use when reading in text mode, see :func:`io.open`. errors (str, optional): The error handling strategy for decoding errors, see :func:`io.open`. newline (str, optional): The strategy for handling newlines in text mode, see :func:`io.open` total: (int, optional): Total number of bytes to read. Must be provided if reading from a file handle. Default for a path is os.stat(file).st_size. description (str, optional): Description of task show next to progress bar. Defaults to "Reading". auto_refresh (bool, optional): Automatic refresh, disable to force a refresh after each iteration. Default is True. transient: (bool, optional): Clear the progress on exit. Defaults to False. console (Console, optional): Console to write to. Default creates internal Console instance. refresh_per_second (float): Number of times per second to refresh the progress information. Defaults to 10. style (StyleType, optional): Style for the bar background. Defaults to "bar.back". complete_style (StyleType, optional): Style for the completed bar. Defaults to "bar.complete". finished_style (StyleType, optional): Style for a finished bar. Defaults to "bar.finished". pulse_style (StyleType, optional): Style for pulsing bars. Defaults to "bar.pulse". disable (bool, optional): Disable display of progress. encoding (str, optional): The encoding to use when reading in text mode. Returns: ContextManager[BinaryIO]: A context manager yielding a progress reader. rrrtr)rrr r r r{rz)rrrrrrBrr)rrrr r r r{rzr|r}r~rrrrrrrrrArs rLrrsbEP> ?@UW  NN --'      !   !-3H]]  F & ))rNc\rSrSr%SrSr\\\S'SS\\ SS4Sjjr S\ 4Sjr S S S\ 4S jr \S S S\ 4S j5rS rg)ProgressColumniz3Base class for a widget to use in progress display.N max_refresh table_columnrOc,Xl0UlSUlgrY) _table_column_renderable_cache _update_time)rJrs rLrIProgressColumn.__init__s)MO-1rNc<UR=(d [5$)z.Get a table column, used to build tasks table.)rr7r\s rLget_table_columnProgressColumn.get_table_columns!!-VX-rNrTaskc:UR5nURbBUR(d1URURup4X0R-U:aU$UR U5nX$4URUR'U$![ a N9f=f)zCalled by the Progress object to return a renderable for the given task. Args: task (Task): An object containing information regarding the task. Returns: RenderableType: Anything renderable (including str). )rrrGridKeyErrorrender)rJr current_time timestamp renderables rL__call__ProgressColumn.__call__s}}    ' &(,(>(>tww(G% ///,>%%?[[& +7*Dtww'  sB BBcg)z"Should return a renderable object.NrrJrs rLr#ProgressColumn.rendersrN)rrrrY)rjrkrlrmrnrr ro__annotations__r7rIrr0r'rr#rqrrNrLrrsl=#'K%'2Xf%522 .&.V.161n11rNrc^^\rSrSrSrS SS.S\S\\4U4SjjjjrSS S \4S jr S r U=r $)RenderableColumnizA column to insert an arbitrary column. Args: renderable (RenderableType, optional): Any renderable. Defaults to empty string. Nrr&rc,>Xl[TU] US9 gNr/)r&rHrI)rJr&rrKs rLrIRenderableColumn.__init__ s% l3rNrrrOcUR$rYr&r*s rLr#RenderableColumn.render&s rNr4)) rjrkrlrmrnr0r r7rIr#rqrrrss@rLr.r.sL,.4SW4(4@H@P44 6nrNr.c ^\rSrSrSrSS\S\\S\S\ S\\ 4 U4S jjjr SS\S \\S\S S4S jjr S SS \ 4SjrSrU=r$) SpinnerColumni*aqA column with a 'spinner' animation. Args: spinner_name (str, optional): Name of spinner animation. Defaults to "dots". style (StyleType, optional): Style of spinner. Defaults to "progress.spinner". speed (float, optional): Speed factor of spinner. Defaults to 1.0. finished_text (TextType, optional): Text used when task is finished. Defaults to " ". N spinner_namerspeed finished_textrc>[XUS9Ul[U[5(a[R "U5OUUl[TU]!US9 g)Nrr:r/) r5spinner isinstancerr9 from_markupr;rHrI)rJr9rr:r;rrKs rLrISpinnerColumn.__init__4sO|F ---   ] +  l3rN spinner_stylerOc"[XUS9Ulg)aSet a new spinner. Args: spinner_name (str): Spinner name, see python -m rich.spinner. spinner_style (Optional[StyleType], optional): Spinner style. Defaults to "progress.spinner". speed (float, optional): Speed factor of spinner. Defaults to 1.0. r=N)r5r>)rJr9rBr:s rL set_spinnerSpinnerColumn.set_spinnerDs|N rNrrcUR(aURnU$URRUR 55nU$rY)finishedr;r>r#r)rJrtexts rLr#SpinnerColumn.renderSsH}}     $$T]]_5  rN)r;r>)dotsprogress.spinner? N)rKrL)rjrkrlrmrnrr r6ror:r7rIrDr0r#rqrrrss@rLr8r8*s#%7"%)- 44 "4 4  4 v& 44&.@ O O * O O  O6nrNr8cx^\rSrSrSrSS\S\S\S\S\ \ S \ \ S S4U4S jjjr S S S \ 4SjrSrU=r$)ri\zA column containing text.N text_formatrjustifymarkup highlighterrrOc|>XlX0lX lX@lXPl[ TU]U=(d [SS9S9 g)NTno_wrapr/)rOrPrrQrRrHrIr7)rJrOrrPrQrRrrKs rLrITextColumn.__init___s:'&-   & l&JfT6JKrNrrcBURRUS9nUR(a*[R"X R UR S9nO[X R UR S9nUR(aURRU5 U$Nr)rrP) rOformatrQr9r@rrPrR highlight)rJr_textrHs rLr#TextColumn.renderosr  ''T'2 ;;##ET\\RDZZFD       & &t , rN)rRrPrQrrO)noneleftTNN)rjrkrlrmrnrr6r/rr r1r7rIr9r#rqrrrss@rLrr\s# "!'-1)-LLL L  L k* Lv&L LL 6drNrcz^\rSrSrSrSS\\S\S\S\S\S \\S S4U4S jjjr S S S \ 4Sjr Sr U=r $)rizaRenders a visual progress bar. Args: bar_width (Optional[int], optional): Width of bar or None for full width. Defaults to 40. style (StyleType, optional): Style for the bar background. Defaults to "bar.back". complete_style (StyleType, optional): Style for the completed bar. Defaults to "bar.complete". finished_style (StyleType, optional): Style for a finished bar. Defaults to "bar.finished". pulse_style (StyleType, optional): Style for pulsing bars. Defaults to "bar.pulse". N bar_widthrrrrrrOc\>XlX lX0lX@lXPl[ TU]US9 gr1)rarrrrrHrI)rJrarrrrrrKs rLrIBarColumn.__init__s1# ,,& l3rNrrc b[URb[SUR5OS[SUR5URcSO[SUR5UR (+UR 5URURURURS9 $)z&Gets a progress bar widget for a task.Nrr*) r{rGwidthpulseanimation_timerrrr) r4r{maxrGrastartedrrrrrr*s rLr#BarColumn.renders(, (>#a$D!T^^,..0$c!T^^6Lll"==?**....((  rN)rarrrr)(rurvrwrxN)rjrkrlrmrnr rr6r7rIr4r#rqrrrss@rLrrzs$&%$2$2!,)-4C=44" 4 " 4  4v&4 44  6  k   rNrc*\rSrSrSrSSS\4SjrSrg) TimeElapsedColumnizRenders time elapsed.rrrOcUR(a URO URnUc [SSS9$[ [ U5S9n[[ U5SS9$)zShow time elapsed.-:--:--progress.elapsedr)seconds)rG finished_timeelapsedr9r rr)rJrrtdeltas rLr#TimeElapsedColumn.rendersL(, $$$4<< ? );< <#g,/CJ&899rNrNrjrkrlrmrnr9r#rqrrNrLrmrms:6:d:rNrmc^\rSrSrSrSS\S\S\S\S\S \ \ S \ \ S \S S4U4S jjjr \ S\ \S \4Sj5rSSS \4SjrSrU=r$)riaShow task progress as a percentage. Args: text_format (str, optional): Format for percentage display. Defaults to "[progress.percentage]{task.percentage:>3.0f}%". text_format_no_percentage (str, optional): Format if percentage is unknown. Defaults to "". style (StyleType, optional): Style of output. Defaults to "none". justify (JustifyMethod, optional): Text justification. Defaults to "left". markup (bool, optional): Enable markup. Defaults to True. highlighter (Optional[Highlighter], optional): Highlighter to apply to output. Defaults to None. table_column (Optional[Column], optional): Table Column to use. Defaults to None. show_speed (bool, optional): Show speed if total is unknown. Defaults to False. NrOtext_format_no_percentagerrPrQrRrrrOc B>X lXl[T U] UUUUUUS9 g)N)rOrrPrQrRr)ryrrHrI) rJrOryrrPrQrRrrrKs rLrITaskProgressColumn.__init__s5*C&$ ##%  rNr:cUc [SSS9$[R"[U5/SQS5up#X- n[USUS3SS9$)zRender the speed in iterations per second. Args: task (Task): A Task object. Returns: Text: Text object containing the task speed. r6zprogress.percentagerq)r6u×10³u×10⁶u×10⁹u×10¹²z.1fz it/s)r9r+pick_unit_and_suffixr)clsr:unitsuffix data_speeds rL render_speedTaskProgressColumn.render_speeds[ ="78 844 J <   \ z#&vhe43.0f}%r6r^r_TNNF)rjrkrlrmrnrr6r/rr r1r7rI classmethodror9rr#rqrrrss@rLrrs K)+!!'-1)-   $'       k* v&     .S%STSS& 6 d  rNrcb^\rSrSrSrSrS S\S\S\\4U4Sjjjr SS S \ 4S jr S r U=r $)rizRenders estimated time remaining. Args: compact (bool, optional): Render MM:SS when time remaining is less than an hour. Defaults to False. elapsed_when_finished (bool, optional): Render time elapsed when the task is finished. Defaults to False. ?compactrrc8>XlX l[TU] US9 gr1)rrrHrI)rJrrrrKs rLrITimeRemainingColumn.__init__s  %:" l3rNrrrOcUR(a UR(aURnSnOURnSnURc [ SUS9$Uc [ UR (aSUS9$SUS9$[[U5S5upE[US5updUR (aU(d USS US3nO US S USS US3n[ XsS9$) zShow time remaining.rpzprogress.remainingr6rqz--:--ro<02d:d) rrGrstime_remainingr{r9rdivmodr)rJr task_timerminutesrrhours formatteds rLr#TimeRemainingColumn.renders  % %$--**I&E++I(E :: %( (  4<<eL LYeL L"#i."5, <<"3-q 6I )1WSM73-@II++rN)rr)FFN)rjrkrlrmrnrrr r7rIr9r#rqrrrss@rLrrs]K&+)- 44 $4v& 44,6,d,,rNrc*\rSrSrSrSSS\4SjrSrg) FileSizeColumni)zRenders completed filesize.rrrOch[R"[UR55n[ USS9$)Show data completed.zprogress.filesizerq)r+decimalrrGr9rJr data_sizes rLr#FileSizeColumn.render,s)$$S%89 I%899rNrNrwrrNrLrr)s%:6:d:rNrc*\rSrSrSrSSS\4SjrSrg) TotalFileSizeColumni2zRenders total filesize.rrrOcURb)[R"[UR55OSn[ USS9$)rr6zprogress.filesize.totalrq)r{r+rrr9rs rLr#TotalFileSizeColumn.render5s49=9OH$$S_5UW I%>??rNrNrwrrNrLrr2s!@6@d@rNrcT^\rSrSrSrS S\S\\4U4SjjjrSSS\ 4S jr S r U=r $) MofNCompleteColumni;a0Renders completed count/total, e.g. ' 10/1000'. Best for bounded tasks with int quantities. Space pads the completed count so that progress length does not change as task progresses past powers of 10. Args: separator (str, optional): Text to separate completed and total values. Defaults to "/". separatorrc,>Xl[TU] US9 gr1)rrHrI)rJrrrKs rLrIMofNCompleteColumn.__init__Gs" l3rNrrrOc[UR5nURb[UR5OSn[[ U55n[ X$S3UR U3SS9$)zShow completed/total.?rprogress.downloadrq)rrGr{rrr9r)rJrrGr{ total_widths rLr#MofNCompleteColumn.renderKsa' #'::#9DJJs#e*o a((8 @%  rN)r)/N) rjrkrlrmrnrr r7rIr9r#rqrrrss@rLrr;s= 4#48F;K44 6 d  rNrcZ^\rSrSrSrS S\S\\SS4U4SjjjrSS S\ 4S jr S r U=r $) riVzRenders file size downloaded and total, e.g. '0.5/2.3 GB'. Args: binary_units (bool, optional): Use binary units, KiB, MiB etc. Defaults to False. N binary_unitsrrOc,>Xl[TU] US9 gr1)rrHrI)rJrrrKs rLrIDownloadColumn.__init__]s) l3rNrrc[UR5nURb[UR5OUnUR(a[R "U/SQS5upEO[R "U/SQS5upEUS:XaSOSnX$- nUSUS3nURb"[UR5n X- n U SUS3n OS n US U S U3n [ U S S 9n U $)z.Calculate common unit for completed and total.) rKiBMiBGiBTiBPiBEiBZiBYiBi) rkBMBGBTBPBEBZBYBr}r*rz,.frrrMrrq)rrGr{rr+r~r9)rJrrG unit_and_suffix_calculation_baserr precisioncompleted_ratio completed_strr{ total_ratio total_strdownload_status download_texts rLr#DownloadColumn.rendercs'  $zz5C O9 )   #880QLD& $880ILD A #**2i[/: :: ! OE,K&r)Ao6II*O1YKqA_4GH rN)r)FN) rjrkrlrmrnrr r7rIr9r#rqrrrss@rLrrVsNLP4 48@8H4 44 !6!d!!rNrc*\rSrSrSrSSS\4SjrSrg) TransferSpeedColumniz&Renders human readable transfer speed.rrrOcUR=(d URnUc [SSS9$[R"[ U55n[US3SS9$)zShow data transfer speed.rzprogress.data.speedrqz/s)rr:r9r+rr)rJrr:rs rLr#TransferSpeedColumn.rendersR##1tzz =#89 9%%c%j1 zl"%-BCCrNrNrwrrNrLrrs0D6DdDrNrc0\rSrSr%Sr\\S'\\S'Srg)ProgressSampleiz$Sample of progress for a given time.r%rGrN)rjrkrlrmrnror,rqrrNrLrrs.$rNrc\rSrSr%Sr\\S'\\S'\\ \S'\ \S'\ \S'Sr \\ \S 'S r \ \S '\"\S 9r\\\4\S '\"SSSS9r\\ \S'\"SSSS9r\\ \S'Sr\\ \S'\"SSSS9r\\\S'\"S\S9r\\S'S\ 4Sjr\S\ 4Sj5r\S\\ 4Sj5r\S\\ 4Sj5r\S\ 4Sj5r \S\ 4Sj5r!\S\\ 4Sj5r"\S\\ 4S j5r#S#S!jr$S"r%g)$riz}Information regarding a progress task. This object should be considered read-only outside of the :class:`~Progress` class. r!rzr{rG _get_timeNrsTvisible)default_factoryfieldsF)defaultinitrepr start_time stop_timerc[SS9$)Nr})maxlenrrrNrL Task.s T 2rN)rrr _progress)rr_lockrOc"UR5$)z(float: Get the current time, in seconds.)rr\s rLr Task.get_times~~rNcURSL$)z#bool: Check if the task as started.N)rr\s rLri Task.startedsd**rNcPURcgURUR- $)zPOptional[float]: Get the number of steps remaining, if a non-None total was set.N)r{rGr\s rL remainingTask.remainings$ :: zzDNN**rNcURcgURbURUR- $UR5UR- $)z]Optional[float]: Time elapsed since task was started, or ``None`` if the task hasn't started.N)rrrr\s rLrt Task.elapsedsC ?? " >> %>>DOO3 3}}00rNcURSL$)zCheck if the task has finished.N)rsr\s rLrG Task.finisheds!!--rNcUR(dgURUR- S-n[S[SU55nU$)zOfloat: Get progress of task as a percentage. If a None total was set, returns 0Y@)r{rGminrh)rJrGs rL percentageTask.percentages>zz^^djj0E9 s3 23 rNc`URcgUR URnU(d SSS5 gUSRUSR- nUS:Xa SSS5 g[ U5n[ U5 [ SU55nXB- nUsSSS5 $!,(df  g=f)z=Optional[float]: Get the estimated speed in steps per second.Nrrc38# UHoRv M g7frYr).0samples rL Task.speed..s!Ov"2"2)rrrr%iterrr)rJrA total_time iter_progresstotal_completedr:s rLr: Task.speeds ?? " ZZ~~HZ""//(1+2G2GGJQ Z!NM  !!O!OOO#0EZZsB&B(-B B-cUR(agURnU(dgURnUcg[X!- 5nU$)zJOptional[float]: Get estimated time to completion, or ``None`` if no data.rN)rGr:rr )rJr:restimates rLrTask.time_remainingsA == NN   )*rNcTURR5 SUlSUlg)zReset progress.N)rclearrsrr\s rL_reset Task._resets" !"rN)rrsri)&rjrkrlrmrnr;r,rr roGetTimeCallablersrrrdictrrrrrrrrrrrrrrirrtrGrr:rrrqrrNrLrrs JG' E?>*+%)M8E?)(GTJ"48FDcN8?"'5u"MJMN!&t%e!LIxLN&*NHUO*>',2U(Iu^$eU;E5; % ++++8E?++ 1%11.$..Ex"   #rNrcR\rSrSrSrSSSSSSSSSSS. S \\\4S \\ S \ S \ S \ S\ S\ S\ S\\ S\ S\ SS4Sjjr \S\\S44Sj5r\S\ 4Sj5r\S\\4Sj5r\S\\4Sj5r\S\ 4Sj5rSQSjrSQSjrSRSjrS\\\S \\S!\\SS4S"jrSSS#\\ \!\"\!4S$\\ S%\\S&\S'\ S\ \!4 S(jjr#STSS)S*.S+\$S$\\%S%\\S&\S\$4 S,jjjr&\'RPSUSSS)S-.S+\\S.\)4S/\*S0S1\%S2\\S3\\S4\\S$\\%S%\\S&\S\$4S5jjj5r+\'RPSUSSS)S-.S+\\S.\)4S/\\*S6\*S74S1\%S2\\S3\\S4\\S$\\%S%\\S&\S\,4S8jjj5r+SVSSS)S-.S+\\S.\)4S/\\*S0\*S7\*S64S1\%S2\\S3\\S4\\S$\\%S%\\S&\S\\$\,44S9jjjr+S%\SS4S:jr-S%\SS4S;jr.SSSSSSS<.S%\S$\\ S=\\ S>\\ S&\\S?\\ S@\ SA\/SS4SBjjr0SSSCSSSD.S%\SE\ S$\\ S=\%S?\\ S&\\SA\/SS4SFjjr1SWS%\S>\ SS4SGjjr2SQSHjr3S\44SIjr5S\ \44SJjr6SK\ \S\74SLjr8S\44SMjr9SXS&\SE\ S$\\ S=\%S?\ SA\/S\4SNjjr:S%\SS4SOjr;SPr@F) r}r|rspeed_estimate_periodr~redirect_stdoutredirect_stderrrrexpandrr}r|rr r~rrrrrrOc US:dS5e[5UlU =(d UR5UlX@lXlXl0Ul[S5Ul [U=(d [5UUUUUURS9Ul U=(d URRUlURR UlURR"Ulg)Nrzrefresh_per_second must be > 0)r}r|rr~rrget_renderable)rrget_default_columnsrr rr_tasksr; _task_indexr3r,rliver}rprintlog) rJr}r|rr r~rrrrrrs rLrIProgress.__init__*s"A%G'GG%W <$":":"< %:"  *, #)!9,{}%1++..  !9DLL$9$9 \\'' <<##rN.cP[S5[5[5[54$)aGet the default columns used for a new Progress instance: - a text column for the description (TextColumn) - the bar itself (BarColumn) - a text column showing completion percentage (TextColumn) - an estimated-time-remaining column (TimeRemainingColumn) If the Progress instance is created without passing a columns argument, the default columns defined here will be used. You can also create a Progress instance using custom columns before and/or after the defaults, as in this example: progress = Progress( SpinnerColumn(), *Progress.default_columns(), "Elapsed:", TimeElapsedColumn(), ) This code shows the creation of a Progress display, containing a spinner to the left, the default columns, and a labeled elapsed time column. r)rrrr)rs rLrProgress.get_default_columnsNs(2 A B K   !   rNc.URR$rY)rr}r\s rLr}Progress.consolemsyy   rNcUR [URR55sSSS5 $!,(df  g=f)zGet a list of Task instances.N)rlistrvaluesr\s rLtasksProgress.tasksqs*ZZ **,-ZZ #: AcUR [URR55sSSS5 $!,(df  g=f)zA list of task IDs.N)rrrkeysr\s rLtask_idsProgress.task_idsws*ZZ ((*+ZZr#cUR UR(d SSS5 g[SURR555sSSS5 $!,(df  g=f)z'Check if all tasks have been completed.NTc38# UHoRv M g7frY)rG)rrs rLr$Progress.finished..sF1E}}1Er)rrallr r\s rLrGProgress.finished}sCZZ;;ZF1C1C1EFFZZsA)A A*cZUR(dURRSS9 gg)zStart the progress display.T)rQN)rrr[r\s rLr[Progress.starts || IIOODO )rNcURR5 URR(dURR 5 gg)zStop the progress display.N)rrr}is_interactiverr\s rLr Progress.stops2 ||** LL   +rNc&UR5 U$rYrZr\s rLr]Progress.__enter__r_rNr`rarbc$UR5 grY)rrfs rLrgProgress.__exit__s rNryr{rCrzrDc## Uc[[U55=(d SnUcURXBS9nOURX2S9 URR (a8[ XU5nUHnUv U=RS- slM SSS5 gURnURn UHnUv U"US5 U "5 M g!,(df  g=f7f)a?Track progress by iterating over a sequence. Args: sequence (Sequence[ProgressType]): A sequence of values you want to iterate over and track progress. total: (float, optional): Total number of steps. Default is len(sequence). task_id: (TaskID): Task to track. Default is new task. description: (str, optional): Description of task, if new task is created. update_period (float, optional): Minimum time (in seconds) between calls to update(). Defaults to 0.1. Returns: Iterable[ProgressType]: An iterable of values taken from the provided sequence. Nr{r*) roradd_taskrTrr|r?rGrRrQ) rJryr{rCrzrD track_threadvaluerRrQs rLrProgress.tracks( =+h/08DE ?mmKm=G KKK - 99 ! !d];|%EK **a/*&<; llGllG! # "<;sA*C,#C?C CCr)rCrzrc SnUbUnO1Ub.UR URURnSSS5 Uc [S5eUcUR XES9nOUR X5S9 [ XUSS9$!,(df  NI=f)aTrack progress file reading from a binary file. Args: file (BinaryIO): A file-like object opened in binary mode. total (int, optional): Total number of bytes to read. This must be provided unless a task with a total is also given. task_id (TaskID): Task to track. Default is new task. description (str, optional): Description of task, if new task is created. Returns: BinaryIO: A readable file-like object in binary mode. Raises: ValueError: When no total value can be extracted from the arguments or the task. Nz?unable to get the total number of bytes, please specify 'total'r7Fr)rrr{ ValueErrorr8rTr)rJrr{rCrz total_bytess rLrProgress.wrap_files.(,  K  "kk'288   Q  ?mmKmCG KKK 3t7??s A55 B)r{rCrzrrrrr r r cgrYr rJrrrr r r r{rCrzs rLr Progress.open rNrrcgrYrrBs rLrrCrDrNcSR[USS95n U S;a[SRU55eUS:Hn U S:Xa$US:Xa[R "S[ 5 S nOU S ;aUS :Xa [S 5eUS:XaS nUc[U5RnUcURXS 9nOURXS 9 [R"USUS9n [XUSS9n US;a[R"U UUUU S9$U $)aTrack progress while reading from a binary file. Args: path (Union[str, PathLike[str]]): The path to the file to read. mode (str): The mode to use to open the file. Only supports "r", "rb" or "rt". buffering (int): The buffering strategy to use, see :func:`io.open`. encoding (str, optional): The encoding to use when reading in text mode, see :func:`io.open`. errors (str, optional): The error handling strategy for decoding errors, see :func:`io.open`. newline (str, optional): The strategy for handling newlines in text mode, see :func:`io.open`. total (int, optional): Total number of bytes to read. If none given, os.stat(path).st_size is used. task_id (TaskID): Task to track. Default is new task. description (str, optional): Description of task, if new task is created. Returns: BinaryIO: A readable file-like object in binary mode. Raises: ValueError: When an invalid mode is given. r6F)reverse)brrrzinvalid mode {!r}r*rHzaline buffering (buffering=1) isn't supported in binary mode, the default buffer size will be usedr)rrrzcan't have unbuffered text I/Or7r)rTr=)rr)r r r line_buffering)resortedr>rZwarningswarnRuntimeWarningrst_sizer8rTiorr TextIOWrapper)rJrrrr r r r{rCrz_moderIrrs rLrrCs"BtU34 ) )077=> >#a D=Y!^ MMs I k !A~ !ABBa  =J&&E ?mmKm=G KKK -ty9wTB ; ##!-   rNcUR URUnURcUR5UlSSS5 g!,(df  g=f)zStart a task. Starts a task (used when calculating elapsed time). You may need to call this manually, if you called ``add_task`` with ``start=False``. Args: task_id (TaskID): ID of task. N)rrrr)rJrCrs rL start_taskProgress.start_task\s:ZZ;;w'D&"&--/ZZs 2A AcUR URUnUR5nURcX2lX2lSSS5 g!,(df  g=f)zfStop a task. This will freeze the elapsed time on the task. Args: task_id (TaskID): ID of task. N)rrrrr)rJrCrr$s rL stop_taskProgress.stop_taskjsBZZ;;w'D==?L&".)N ZZs 9A A)r{rGrRrzrrQrGrRrrQrc pUR URUn U Rn Ub%X)R:waX)lU R 5 UbU =RU- slUbX9lUbXYlUbXilU RRU5 U RU - n UR5n XR- n U RnURnU(a6USRU :a#U"5 U(aUSRU :aM#U S:aUR[X55 U Rb8U RU R:aU R cU R"U lSSS5 U(aUR%5 gg!,(df  N'=f)aHUpdate information associated with a task. Args: task_id (TaskID): Task id (returned by add_task). total (float, optional): Updates task.total if not None. completed (float, optional): Updates task.completed if not None. advance (float, optional): Add a value to task.completed if not None. description (str, optional): Change task description if not None. visible (bool, optional): Set visible flag if not None. refresh (bool): Force a refresh of progress information. Default is False. **fields (Any): Additional data fields required for rendering. Nr)rrrGr{rrzrrrTrr rpopleftr%appendrrsrtrQ)rJrCr{rGrRrzrrQrrcompleted_startupdate_completedr$old_sample_timerrYs rLrTProgress.updateysb0ZZ;;w'D"nnO Ujj%8"  "')$!*&#. "& KK  v &#~~? ==?L*-G-GGOI''G ! 6 6 H  ! 6 6 H!#   !OP &NNdjj0&&.%)\\"AD  LLN EZsDF'!A%F'' F5r)r[r{rGrrzr[c XUR5nUR URUn U R5 U(aUOSU lUbX9lXIlUbXYlU(aXylUbXil SU l SSS5 UR5 g!,(df  N=f)a@Reset a task so completed is 0 and the clock is reset. Args: task_id (TaskID): ID of task. start (bool, optional): Start the task after reset. Defaults to True. total (float, optional): New total steps in task, or None to use current total. Defaults to None. completed (int, optional): Number of steps completed. Defaults to 0. visible (bool, optional): Enable display of the task. Defaults to True. description (str, optional): Change task description if not None. Defaults to None. **fields (str): Additional data fields required for rendering. N) rrrrrr{rGrrrzrsrQ) rJrCr[r{rGrrzrr$rs rLresetProgress.resets,}} ZZ;;w'D KKM.3lDO " &N"& $ &#. !%D  Zs A%B B)cUR5nUR URUnURnU=RU- slURU- nX0R- nUR nUR n U(a6USRU:a#U "5 U(aUSRU:aM#[U5S:aU "5 [U5S:aMUR[X655 URbIURUR:a/URc"URUl URUlSSS5 g!,(df  g=f)zAdvance task by a number of steps. Args: task_id (TaskID): ID of task. advance (float): Number of steps to advance. Default is 1. rr}N)rrrrGr rrYr%rrZrr{rsrtr:r) rJrCrRr$rr[r\r]rrYs rLrRProgress.advances}} ZZ;;w'D"nnO NNg %N#~~? *-G-GGOI''G ! 6 6 H  ! 6 6 Hi.4' i.4'   ^LK L &NNdjj0&&.%)\\"&*jj#)ZZsB!E %E 'A0E  E.cUR(d7URR(aURR5 ggg)z*Refresh (render) the progress information.N)rr is_startedrQr\s rLrQProgress.refreshs,|| 4 4 II   !5|rNc2[UR56nU$)z*Get a renderable for the progress display.)r.get_renderables)rJr&s rLrProgress.get_renderablesD0023 rNc#J# URUR5nUv g7f)z5Get a number of renderables for the progress display.N)make_tasks_tabler!)rJtables rLrhProgress.get_renderabless%%djj1 s!#r!c^SUR5n[R"USURS.6nUH9mTR(dMUR "U4SjUR56 M; U$)zGet a table to render the Progress display. Args: tasks (Iterable[Task]): An iterable of Task instances, one per row of the table. Returns: Table: A table instance. c3# UHAn[U[5(a [SS9OUR5R 5v MC g7f)TrTN)r?rr7rcopy)r_columns rLr,Progress.make_tasks_table..sI (gs++t$--/4467(sA A )rr*)paddingrc3|># UH1n[U[5(aURTS9OU"T5v M3 g7f)rYN)r?rrZ)rcolumnrs rLrrr sB '3F *&#66#MMtM4!'.'3s9<)rr8gridrradd_row)rJr! table_columnsrlrs @rLrkProgress.make_tasks_table si  <<   M6$++ND|||  '+ll   rNcpUR UR5sSSS5 $!,(df  g=f)z+Makes the Progress class itself renderable.N)rrr\s rL__rich__Progress.__rich__+s ZZ&&(ZZs' 5c UR [URUUUUUURURS9nXpRUR'U(aUR UR5 URn[ [UR5S-5UlSSS5 UR5 W$!,(df  N =f)aAdd a new 'task' to the Progress display. Args: description (str): A description of the task. start (bool, optional): Start the task immediately (to calculate elapsed time). If set to False, you will need to call `start` manually. Defaults to True. total (float, optional): Number of total steps in the progress if known. Set to None to render a pulsing animation. Defaults to 100. completed (int, optional): Number of steps completed so far. Defaults to 0. visible (bool, optional): Enable display of the task. Defaults to True. **fields (str): Additional data fields required for rendering. Returns: TaskID: An ID you can use when calling `update`. )rrrrr*N) rrrrrrSr;rrQ) rJrzr[r{rGrrrnew_task_indexs rLr8Progress.add_task0s0ZZ  --jj D-1KK(( ) 0 01!--N%c$*:*:&;a&?@D  #Zs BC CcjUR URU SSS5 g!,(df  g=f)zEDelete a task if it exists. Args: task_id (TaskID): A task ID. N)rr)rJrCs rL remove_taskProgress.remove_task[s!ZZ G$ZZs$ 2) rrrrrrrrrrr ri)rOrB)NN Working...皙?rYrNNNrrNNN)r*)TrrT)=rjrkrlrmrnr&rrr r-rror rIrr#rrr}rrr!r;r&rGr[rr]r$rprrgrr<r!rrrrtypingoverloadrr)rr"rSrVrrTr`rRrQr0rrhr8rkr{r8rrqrrNrLrBrBs $&*!$&'+ $ $.2"$^+,"$'""$ "$ " "$ % "$"$"$"$?+"$"$"$ "$H E.#*=$>  <!!!.tDz.. ,$v,,, G$GG* ! 4 ./-('   "&$('" '.0FFG''&! '  '  ' , 'X $(@ %)' (@(@}(@ &! (@  (@ (@T __ "& $!%   $$('  C%/0  dm    3-    #  }  &!          __ "& $!%   $$('  C%/0  GCL'$-/0    3-    #  }  &!         $CF"& $!%K $$('KC%/0KGDM74='#,>?K K 3- K  K#K}K&!KK x KZ 2& 2T 2 * *D *&"&%)#'%)"&;; ; E? ; % ;c];$;;; ;B!%"&%)%% %  %  %$%c]%% %N1v11d1<  .!9 htnB).)!& ))) )  )  )) )V%6%d%rNrB__main__)Panel)Rule)Syntax)r8a~def loop_last(values: Iterable[T]) -> Iterable[Tuple[bool, T]]: """Iterate and generate a tuple with a flag for last value.""" iter_values = iter(values) try: previous_value = next(iter_values) except StopIteration: return for value in iter_values: yield False, previous_value previous_value = value yield True, previous_valuepython) line_numbersfoobarbaz123z:Text may be printed while the progress bars are rendering.z(In fact, [i]any[/i] renderable will workzSuch as [magenta]tables[/]...zPretty printed structures...examplezPretty printed)typerHz Syntax...zGive it a try!)cycle)record)r}r~z[red]Downloadingr}r7z[green]Processingz[yellow]Thinkingrrg333333?g{Gz?d)rNTNFNrtrurvrwrxrFTrr)rOsysrrKabcrr collectionsr dataclassesrrdatetimer r r mathr r operatorrosrr threadingrrrtypesrrrrrrrrrrrrr r!r"r#r$r%r& version_infor)pip._vendor.typing_extensionsr6r+r,r}r-r.r/r0rRr1jupyterr2rr3 progress_barr4r>r5rr6rlr7r8rHr9r:rr;r<ror r=r?rrrrrrrrrrr.r8rrrmrrrrrrrrrrBrjrandomtimepanelrrulersyntaxrrwprogress_renderables itertoolsrexamplesrrAr8task1task2task3rGrTsleeprandintrrrrNrLrsT  #(. ***v5#BB$!% 3 ~& 2u9% ^^D&(+%6%T$!!%.2 "! . .(C H\*H\,BBCC C  E?C  C g  C  C xE *+C C  C C C C C C C l!C La,ia,H8>"%wr{82$!%.2 "! . .(>* >* >* >*  >* g  >*>*xE *+>*>* >*>*>*>*>*H>*B" !   #!%.2 "! . .(' _e+ ,  ws|+ ,  sm  SM  c]   C=   g   xE *+    ! "# $% &' (F)  0" !   #!%.2 "! . .(' _e+ , $-  sm  SM  c]   C=   g   xE *+    ! "# $% &' (H)  4?B" ! S* #!%.2 "! . .('S* _e+ ,S*  wt}gcl: ;S*S*sm S* SM S* c] S* C=S*S*S*g S*S*xE *+S*S* S* !S*"#S*$%S*&'S*( >( #^F%; ;<)S*l'1S'1T~"/N/d<' ' T : :FFR-,.-,`:^:@.@  6.^.b D. D%Z% z#z# z#zI %|I %X z  " F % &E MM#sC  E 89' &$45   )*HT"G    % % '      !!"4D!A!!"5T!B!!"4D!A### OOE3O / OOE3O / JJt ~~a%) T(^, ###  _^  s B:U U