Files
ServerSync/lib/rich/__pycache__/live.cpython-314.pyc

122 lines
23 KiB
Plaintext
Raw Normal View History

2026-02-12 02:28:23 +02:00
+
<00> <0C>i<EFBFBD>;<00><01><>a<00>0t$^RIHt^RIt^RIHtHtHt^RIH t ^RI
H t H t H t HtHtHtHtHtHt^RIHt^RIHtHtHtHtHt^RIHt^R IHt^R
I H!t!^R I"H#t#H$t$^R I%H&t&^R I'H(t(] 'd^RI)H*t*!RR]4t+!RR]!]4t,]-R8XEdI^RI.t.^RI/t/^RI0H1t1^RI
H2t2HtH3t3^RI4H5t5^RIHt^RI6H,t,^RI7H8t8^RI9H:t:^RI;H<t<^RI=H>t>]!4t]<!RRRR 7t;]>!R!R"R#4t=]=PR$R%R&4R']8!R(4R)]=R*R+R,R-R./R/];]:!R04. t@]1!]@4tA.R@OtB],!]R17;_uu_4tC/tDR2]ER3&]F!^d4EF<>tG]B]G]H!]B4,,tI]BEF_tJ]J]I8XdK ]/P<>!R44].P<>!^^
4^8d]P<>]N!]A44^<5E>].P\!4R5,^,, ]D]I]J3&]H!]D4]H!]B4^,
8<>d-]DP<44>]P!]DP<44>44^,4]>!R6R77t=]=P<>R84]=P<>R94]=P<>R:4]DP<44>4F/wwtTtUtV]=P]T]U](!]VR; ]VR<8dR=MR>R?74K1 ]CP<43>]5P<35>!]=44EKb EK<> RRR4R#R# +'giR#;i)A<>)<01> annotationsN)<03>Event<6E>RLock<63>Thread)<01> TracebackType) <09>IO<49> TYPE_CHECKING<4E>Any<6E>Callable<6C>List<73>Optional<61>TextIO<49>Type<70>cast)<01> get_console)<05>Console<6C>ConsoleRenderable<6C>Group<75>RenderableType<70>
RenderHook)<01>Control)<01> FileProxy)<01> JupyterMixin)<02>
LiveRender<EFBFBD>VerticalOverflowMethod)<01>Screen)<01>Text)<01>Selfc<01>Ja<00>]tRt^tRtRV3RlltRRltRRltRtV;t #) <09>_RefreshThreadz3A thread that calls refresh() at regular intervals.c<01>$<00>V^8<>dQhRRRRRR/#)<07><00>livez'Live'<27>refresh_per_second<6E>float<61>return<72>None<6E>)<01>formats"<22>0/tmp/pip-target-qd_sq_1j/lib/python/rich/live.py<70> __annotate__<5F>_RefreshThread.__annotate__s!<00><00>&<26>&<26>V<EFBFBD>&<26><15>&<26>4<EFBFBD>&<26>c <09>^<<01>WnW n\4Vn\SV`RR7R#)T)<01>daemonN)r#r$r<00>done<6E>super<65>__init__)<04>selfr#r$<00> __class__s&&&<26>r*r2<00>_RefreshThread.__init__s'<00><><00><18> <09>"4<><1F><19>G<EFBFBD><04> <09> <0A><07><18><04><18>%r-c<01><00>V^8<>dQhRR/#<00>r"r&r'r()r)s"r*r+r,s<00><00><18><18>d<EFBFBD>r-c <09>:<00>VPP4R#<00>N)r0<00>set<65>r3s&r*<00>stop<6F>_RefreshThread.stops<00><00> <0C> <09> <09> <0A> <0A>r-c<01><00>V^8<>dQhRR/#r7r()r)s"r*r+r,"s<00><00>(<28>(<28>T<EFBFBD>(r-c <09>X<00>VPP^VP, 4'gdVPP;_uu_4VPP 4'gVPP 4RRR4K<>R# +'giK<>;i)<02>N)r0<00>waitr$r#<00>_lock<63>is_set<65>refreshr;s&r*<00>run<75>_RefreshThread.run"sd<00><00><16>)<29>)<29>.<2E>.<2E><11>T<EFBFBD>%<<3C>%<<3C>!<<3C>=<3D>=<3D><15><19><19><1F><1F><1F><1B>y<EFBFBD>y<EFBFBD>'<27>'<27>)<29>)<29><18>I<EFBFBD>I<EFBFBD>%<25>%<25>'<27>!<21><1F>><3E> <20><1F><1F>s <00>;B<05> B) )r0r#r$)
<EFBFBD>__name__<5F>
__module__<EFBFBD> __qualname__<5F>__firstlineno__<5F>__doc__r2r<rE<00>__static_attributes__<5F> __classcell__)r4s@r*r r s<00><><00>=<3D>&<26>&<26> <18>(<28>(r-r c<01><00>]tRt^)tRtR+RRRRRRR^R RR
RR RR R RR/ RRlllt]RRl4tRRltR,RRllt RRlt
RRlt RRlt RRlt RR lt]R!R"l4tR#R/R$R%lltR&R'ltR(R)ltR*tR#)-<2D>Livea<65>Renders an auto-updating live display of any given renderable.
Args:
renderable (RenderableType, optional): The renderable to live display. Defaults to displaying nothing.
console (Console, optional): Optional Console instance. Defaults to an internal Console instance writing to stdout.
screen (bool, optional): Enable alternate screen mode. Defaults to False.
auto_refresh (bool, optional): Enable auto refresh. If disabled, you will need to call `refresh()` or `update()` with refresh flag. Defaults to True
refresh_per_second (float, optional): Number of times per second to refresh the live display. Defaults to 4.
transient (bool, optional): Clear the renderable on exit (has no effect when screen=True). Defaults to False.
redirect_stdout (bool, optional): Enable redirection of stdout, so ``print`` may be used. Defaults to True.
redirect_stderr (bool, optional): Enable redirection of stderr. Defaults to True.
vertical_overflow (VerticalOverflowMethod, optional): How to handle renderable when it is too tall for the console. Defaults to "ellipsis".
get_renderable (Callable[[], RenderableType], optional): Optional callable to get renderable. Defaults to None.
N<EFBFBD>console<6C>screenF<6E> auto_refreshTr$<00> transient<6E>redirect_stdout<75>redirect_stderr<72>vertical_overflow<6F>ellipsis<69>get_renderablec<01>D<00>V^8<>dQhRRRRRRRRRR R
RR RR RR RRRRR/ #)r"<00>
renderablezOptional[RenderableType]rPzOptional[Console]rQ<00>boolrRr$r%rSrTrUrVrrXz&Optional[Callable[[], RenderableType]]r&r'r()r)s"r*r+<00>Live.__annotate__9sx<00><00>'<1D>'<1D>,<2C>'<1D>#<23> '<1D>
<15> '<1D> <1B> '<1D>"<22>'<1D><18>'<1D><1E>'<1D><1E>'<1D>2<>'<1D>?<3F>'<1D>
<0E>'r-c  <09><><00>V^8<>gQR4hWnVeTM \4VnW0nRVnWpnW<>nRVnRVn\4Vn
RVn W@n RVn V'dRMTVnRVnWPnW<>nW<>n\'VP)4V R7VnRVnR#)rzrefresh_per_second must be > 0NFT)rV)<17> _renderablerrP<00>_screen<65> _alt_screen<65>_redirect_stdout<75>_redirect_stderr<72>_restore_stdout<75>_restore_stderrrrB<00>
ipy_widgetrR<00>_startedrS<00>_refresh_threadr$rV<00>_get_renderablerrX<00> _live_render<65>_nested) r3rZrPrQrRr$rSrTrUrVrXs &&$$$$$$$$$r*r2<00> Live.__init__9s<><00><00>"<22>A<EFBFBD>%<25>G<>'G<>G<>%<25>%<25><18>")<29>"5<>w<EFBFBD>;<3B>=<3D><04> <0C><1D> <0C> <20><04><18> /<2F><1D> /<2F><1D>26<32><04><1C>26<32><04><1C><1A>W<EFBFBD><04>
<EFBFBD>)-<2D><04><0F>(<28><19>#<23><04> <0A>!'<27><14>Y<EFBFBD><04><0E>9=<3D><04><1C>"4<><1F>!2<><1E>-<2D><1C>&<26> <10> <1F> <1F> !<21>5F<35>
<EFBFBD><04><19><1D><04> r-c<01><00>V^8<>dQhRR/#)r"r&r[r()r)s"r*r+r\cs<00><00><1D><1D>D<EFBFBD>r-c <0A><00>VP#)z'Check if live display has been started.)rfr;s&r*<00>
is_started<EFBFBD>Live.is_startedbs<00><00><14>}<7D>}<7D>r-c<01><00>V^8<>dQhRR/#<00>r"r&rr()r)s"r*r+r\gs<00><00> <20> <20><0E> r-c <09>n<00>VPeVP4M VPpT;'gR#)N<>)rhr^)r3rZs& r*rX<00>Live.get_renderablegs<<00><00><14>#<23>#<23>/<2F> <11> <20> <20> "<22><15>!<21>!<21> <13>
<1A><1F><1F>R<EFBFBD>r-c<01> <00>V^8<>dQhRRRR/#)r"rDr[r&r'r()r)s"r*r+r\os<00><00> -<2D> -<2D>T<EFBFBD> -<2D>d<EFBFBD> -r-c <0A><00>VP;_uu_4VP'd RRR4R#RVnVPPV4'gRVnRRR4R#VP
'd!VPP R4VnVPPR4VP4VPPV4V'dVP4VP'd5\WP 4VnVP"P%4RRR4R# \dTP4hi;i +'giR#;i)zdStart live rendering display.
Args:
refresh (bool, optional): Also refresh. Defaults to False.
NTF)rBrfrP<00>set_liverjr_<00>set_alt_screenr`<00> show_cursor<6F>_enable_redirect_io<69>push_render_hookrD<00> Exceptionr<rRr r$rg<00>start)r3rDs&&r*r}<00>
Live.startos<00><00> <12>Z<EFBFBD>Z<EFBFBD>Z<EFBFBD><13>}<7D>}<7D>}<7D><16><18>Z<EFBFBD>!<21>D<EFBFBD>M<EFBFBD><17><<3C><<3C>(<28>(<28><14>.<2E>.<2E>#<23><04> <0C><16><18>Z<EFBFBD><14>|<7C>|<7C>|<7C>#'<27><<3C><<3C>#><3E>#><3E>t<EFBFBD>#D<><04> <20> <10>L<EFBFBD>L<EFBFBD> $<24> $<24>U<EFBFBD> +<2B> <10> $<24> $<24> &<26> <10>L<EFBFBD>L<EFBFBD> )<29> )<29>$<24> /<2F><16><1A><18>L<EFBFBD>L<EFBFBD>N<EFBFBD><14> <20> <20> <20>'5<>d<EFBFBD><S<><S<>'T<><04>$<24><14>$<24>$<24>*<2A>*<2A>,<2C>5<18>Z<EFBFBD><5A>"!<21><1A>
<19>I<EFBFBD>I<EFBFBD>K<EFBFBD><19> <1A><>#<18>Z<EFBFBD>Z<EFBFBD>sA<00>E.<05>'E.<05>E.<05>-E.<05>?A-E.<05>.E<04>>E.<05>4E.<05>E+<07>+E.<05>. E? c<01><00>V^8<>dQhRR/#r7r()r)s"r*r+r\<00>s<00><00>$0<>$0<>d<EFBFBD>$0r-c
 <0A><><00>VP;_uu_4VP'g RRR4R#RVnVPP4VP'dCVP
'g&VPP VP4RRR4R#VP'd0VPe"VPP4RVn RVn VP;_uu_4VP'g-VPP'gVP4VP4VPP!4VP'gSVPP"'d7VP$P&'dVPP)4VPP+R4VP'dVPP-R4VP
'dFVP'g4VPP/VP$P144VP2e-VP
'dVP2P54RRR4RRR4R# TP4TPP!4TP'gSTPP"'d7TP$P&'dTPP)4TPP+R4TP'dTPP-R4TP
'dFTP'g4TPP/TP$P144TP2e/TP
'dTP2P54iii;i +'giEL<>;i +'giR#;i)zStop live rendering display.NF<4E>visibleT)rBrfrP<00>
clear_liverjrS<00>printrZrRrgr<rVr`<00>
is_jupyterrD<00>_disable_redirect_io<69>pop_render_hook<6F> is_terminalri<00>last_render_height<68>lineryrx<00>control<6F>restore_cursorre<00>closer;s&r*r<<00> Live.stop<6F>s<><00><00> <11>Z<EFBFBD>Z<EFBFBD>Z<EFBFBD><17>=<3D>=<3D>=<3D><16><18>Z<EFBFBD>"<22>D<EFBFBD>M<EFBFBD> <10>L<EFBFBD>L<EFBFBD> #<23> #<23> %<25><13>|<7C>|<7C>|<7C><1B>~<7E>~<7E>~<7E><18>L<EFBFBD>L<EFBFBD>&<26>&<26>t<EFBFBD><EFBFBD><EFBFBD>7<><16><18>Z<EFBFBD><14> <20> <20> <20>T<EFBFBD>%9<>%9<>%E<><14>$<24>$<24>)<29>)<29>+<2B>'+<2B><04>$<24>%.<2E>D<EFBFBD> "<22><15><1C><1C><1C>0<><1F>+<2B>+<2B>+<2B>D<EFBFBD>L<EFBFBD>L<EFBFBD>4K<34>4K<34>4K<34><1C> <0C> <0C><0E><18>-<2D>-<2D>/<2F><18>L<EFBFBD>L<EFBFBD>0<>0<>2<> <20>,<2C>,<2C>,<2C> <20>L<EFBFBD>L<EFBFBD>4<>4<>4<> <20>-<2D>-<2D>@<40>@<40>@<40><1C> <0C> <0C>)<29>)<29>+<2B><18>L<EFBFBD>L<EFBFBD>,<2C>,<2C>T<EFBFBD>2<><1B>'<27>'<27>'<27><1C> <0C> <0C>3<>3<>E<EFBFBD>:<3A><1B>~<7E>~<7E>~<7E>d<EFBFBD>.><3E>.><3E>.><3E><1C> <0C> <0C>,<2C>,<2C>T<EFBFBD>-><3E>-><3E>-M<>-M<>-O<>P<><1B><EFBFBD><EFBFBD>2<>t<EFBFBD>~<7E>~<7E>~<7E><1C><0F><0F>-<2D>-<2D>/<2F>'<1E><18>Z<EFBFBD><5A>(<19>-<2D>-<2D>/<2F><18>L<EFBFBD>L<EFBFBD>0<>0<>2<> <20>,<2C>,<2C>,<2C> <20>L<EFBFBD>L<EFBFBD>4<>4<>4<> <20>-<2D>-<2D>@<40>@<40>@<40><1C> <0C> <0C>)<29>)<29>+<2B><18>L<EFBFBD>L<EFBFBD>,<2C>,<2C>T<EFBFBD>2<><1B>'<27>'<27>'<27><1C> <0C> <0C>3<>3<>E<EFBFBD>:<3A><1B>~<7E>~<7E>~<7E>d<EFBFBD>.><3E>.><3E>.><3E><1C> <0C> <0C>,<2C>,<2C>T<EFBFBD>-><3E>-><3E>-M<>-M<>-O<>P<><1B><EFBFBD><EFBFBD>2<>t<EFBFBD>~<7E>~<7E>~<7E><1C><0F><0F>-<2D>-<2D>/<2F>8F<01>2<><32>%<1E><1C><1C><><18>Z<EFBFBD>Z<EFBFBD>s<EFBFBD><00>P?<05>2P?<05>&P?<05>8&P?<05>(P?<05>:A
P?<05>P+ <09>-J=<08>4J=<08>AP+ <09>P+ <09>8AP+ <09>?,P+ <09>,P+ <09>>AP+ <09>P+ <09>+P?<05>=AP( <0B>P( <0B>2AP( <0B>9,P( <0B>&P( <0B>8AP( <0B> P( <0B>(P+ <09>+ P< <0A>6 P?<05>? Q c<01><00>V^8<>dQhRR/#)r"r&rr()r)s"r*r+r\<00>s<00><00><14><14>4<EFBFBD>r-c <09>B<00>VPVPRJR7V#)N)rD)r}r^r;s&r*<00> __enter__<5F>Live.__enter__<5F>s <00><00> <0C>
<EFBFBD>
<EFBFBD>4<EFBFBD>+<2B>+<2B>4<EFBFBD>7<>
<EFBFBD>8<><13> r-c<01>(<00>V^8<>dQhRRRRRRRR/#) r"<00>exc_typezOptional[Type[BaseException]]<5D>exc_valzOptional[BaseException]<5D>exc_tbzOptional[TracebackType]r&r'r()r)s"r*r+r\<00>s2<00><00><14><14>/<2F><14>)<29><14>(<28> <14>
<0E> r-c <09>&<00>VP4R#r9)r<)r3r<>r<>r<>s&&&&r*<00>__exit__<5F> Live.__exit__<5F>s <00><00> <0A> <09> <09> r-c<01><00>V^8<>dQhRR/#r7r()r)s"r*r+r\<00>s<00><00>Q<01>Q<01>T<EFBFBD>Qr-c <0A><><00>VPP'gVPP'Ed VP'dq\ \
P \4'gM\
P Vn\R\VP\
P 44\
nVP'du\ \
P\4'gO\
PVn \R\VP\
P44\
n R#R#R#R#)z&Enable redirecting of stdout / stderr.rN) rPr<>r<>ra<00>
isinstance<EFBFBD>sys<79>stdoutrrcrrb<00>stderrrdr;s&r*rz<00>Live._enable_redirect_io<69>s<><00><00> <0F><<3C><<3C> #<23> #<23> #<23>t<EFBFBD>|<7C>|<7C>'><3E>'><3E>'><3E><13>$<24>$<24>$<24>Z<EFBFBD><03>
<EFBFBD>
<EFBFBD>I<EFBFBD>-N<>-N<>'*<2A>z<EFBFBD>z<EFBFBD><04>$<24>!<21>(<28>I<EFBFBD>d<EFBFBD>l<EFBFBD>l<EFBFBD>C<EFBFBD>J<EFBFBD>J<EFBFBD>,O<>P<><03>
<EFBFBD><13>$<24>$<24>$<24>Z<EFBFBD><03>
<EFBFBD>
<EFBFBD>I<EFBFBD>-N<>-N<>'*<2A>z<EFBFBD>z<EFBFBD><04>$<24>!<21>(<28>I<EFBFBD>d<EFBFBD>l<EFBFBD>l<EFBFBD>C<EFBFBD>J<EFBFBD>J<EFBFBD>,O<>P<><03>
<EFBFBD>.O<01>$<24> (?r-c<01><00>V^8<>dQhRR/#r7r()r)s"r*r+r\<00>s<00><00>(<28>(<28>d<EFBFBD>(r-c <0A><><00>VP'd'\RVP4\nRVnVP'd)\RVP4\nRVnR#R#)z'Disable redirecting of stdout / stderr.rN)rcrr<>r<>rdr<>r;s&r*r<><00>Live._disable_redirect_io<69>sW<00><00> <0F> <1F> <1F> <1F><1D>h<EFBFBD><04>(<<3C>(<<3C>=<3D>C<EFBFBD>J<EFBFBD>#'<27>D<EFBFBD> <20> <0F> <1F> <1F> <1F><1D>h<EFBFBD><04>(<<3C>(<<3C>=<3D>C<EFBFBD>J<EFBFBD>#'<27>D<EFBFBD> <20> r-c<01><00>V^8<>dQhRR/#rqr()r)s"r*r+r\<00>s<00><00> F<01> F<01>N<EFBFBD> Fr-c <0A> <00>VPPpV'd4W^,Jd(\VUu.uFq"P4NK up!pMVP4pVP'd \ V4#T#uupi)z_Get the renderable that is being displayed
Returns:
RenderableType: Displayed renderable.
)rP<00> _live_stackrrXr`r)r3<00>
live_stackr#rZs& r*rZ<00>Live.renderable<6C>sn<00><00><1A>\<5C>\<5C>-<2D>-<2D>
<EFBFBD> <15>$<24>Q<EFBFBD>-<2D>/<2F><1E>:<3A> N<>:<3A>4<EFBFBD>!4<>!4<>!6<>:<3A> N<>O<>J<EFBFBD><1D>,<2C>,<2C>.<2E>J<EFBFBD>%)<29>%5<>%5<>%5<>v<EFBFBD>j<EFBFBD>!<21>E<>:<3A>E<><45>!Os<00>BrDc<01>$<00>V^8<>dQhRRRRRR/#)r"rZrrDr[r&r'r()r)s"r*r+r\<00>s!<00><00> <1F> <1F><1E> <1F>T<EFBFBD> <1F>d<EFBFBD> r-c <0A><00>\V\4'dVPPV4pVP;_uu_4WnV'dVP 4RRR4R# +'giR#;i)z<>Update the renderable that is being displayed
Args:
renderable (RenderableType): New renderable to use.
refresh (bool, optional): Refresh the display. Defaults to False.
N)r<><00>strrP<00>
render_strrBr^rD)r3rZrDs&&$r*<00>update<74> Live.update<74>sL<00><00> <16>j<EFBFBD>#<23> &<26> &<26><1D><1C><1C>0<>0<><1A><<3C>J<EFBFBD> <11>Z<EFBFBD>Z<EFBFBD>Z<EFBFBD>)<29> <1C><16><14> <0C> <0C><0E><18>Z<EFBFBD>Z<EFBFBD>Z<EFBFBD>s <00>A/<05>/ B c<01><00>V^8<>dQhRR/#r7r()r)s"r*r+r\<00>s<00><00> 2<> 2<><14> 2r-c  <0A>n<00>VP;_uu_4VPPVP4VP'dSVP
P 'd,VP
P ^,P4RRR4R#VP
P'd<>^RI H
p^RI H pVPfV!4Vn V!VP4VP;_uu_4VPPRR7VP
PVPP4RRR4M<>VP
P&'d^VP
P('gBVP
;_uu_4VP
P\+44RRR4MdVP,'gSVP.'gAVP
;_uu_4VP
P\+44RRR4RRR4R# +'giL;i \ d^RIpTP%R4L?i;i +'giLS;i +'giLf;i +'giR#;i)z&Update the display of the Live Render.N)<01>display)<01>OutputT)rAz(install "ipywidgets" for Jupyter support)rBri<00>set_renderablerZrjrPr<>rDr<><00>IPython.displayr<79><00>
ipywidgetsr<EFBFBD>re<00> clear_outputr<74><00> ImportError<6F>warnings<67>warnr<6E><00>is_dumb_terminalrrfrS)r3r<>r<>r<>s& r*rD<00> Live.refresh<73>s<><00><00> <11>Z<EFBFBD>Z<EFBFBD>Z<EFBFBD> <10> <1D> <1D> ,<2C> ,<2C>T<EFBFBD>_<EFBFBD>_<EFBFBD> =<3D><13>|<7C>|<7C>|<7C><17><<3C><<3C>+<2B>+<2B>+<2B><18>L<EFBFBD>L<EFBFBD>,<2C>,<2C>Q<EFBFBD>/<2F>7<>7<>9<><16> <18>Z<EFBFBD><14>|<7C>|<7C>&<26>&<26>&<26>I<01>7<>1<> <1C><EFBFBD><EFBFBD>.<2E>*0<>(<28><04><0F><1F><04><0F><0F>0<><1D><1F><1F><1F><1C><0F><0F>4<>4<>$<24>4<>?<3F><1C> <0C> <0C>*<2A>*<2A>4<EFBFBD>+<<3C>+<<3C>+G<>+G<>H<>)<29><1F><16><1C><1C>)<29>)<29>)<29>$<24>,<2C>,<2C>2O<32>2O<32>2O<32><19>\<5C>\<5C>\<5C><18>L<EFBFBD>L<EFBFBD>&<26>&<26>w<EFBFBD>y<EFBFBD>1<>"<22>\<5C><19>M<EFBFBD>M<EFBFBD>M<EFBFBD>$<24>.<2E>.<2E>.<2E><19>\<5C>\<5C>\<5C><18>L<EFBFBD>L<EFBFBD>&<26>&<26>w<EFBFBD>y<EFBFBD>1<>"<22>;<18>Z<EFBFBD>()<29><1F><>#<23>N<01>#<23><1C>M<EFBFBD>M<EFBFBD>"L<>M<>N<01><>"<22>\<5C><>
"<22>\<5C><>;<18>Z<EFBFBD>Z<EFBFBD>s<EFBFBD><00>AJ#<05>),J#<05>J#<05>< I<04>AJ#<05>A I <09>$J#<05>9J#<05>J#<05>)$I= <09> J#<05>(J#<05>:J#<05>$J <09>2J#<05> I <0A>J#<05> I:<07>7J#<05>9I:<07>:J#<05>= J <0A>J#<05> J <0A>J#<05># J4 c<01> <00>V^8<>dQhRRRR/#)r"<00> renderableszList[ConsoleRenderable]r&r()r)s"r*r+r\s<00><00><1B><1B>2<><1B> <20>r-c <0A><><00>VPVPnVPP'drVP;_uu_4VP
'd\ P!4MVPP4pV.VOVPNpRRR4V#VP'g#VP'g.VOVPNpV# +'giT#;i)z;Process renderables to restore cursor and display progress.N) rVrirP<00>is_interactiverBr`r<00>home<6D>position_cursorrfrS)r3r<><00>resets&& r*<00>process_renderables<65>Live.process_renderabless<><00><00>/3<>.D<>.D<><04><19><19>+<2B> <0F><<3C><<3C> &<26> &<26> &<26><15><1A><1A><1A><1C>'<27>'<27>'<27><1C>L<EFBFBD>L<EFBFBD>N<EFBFBD><1D>*<2A>*<2A>:<3A>:<3A><<3C><16>
%<25>F<>{<7B>F<>D<EFBFBD>4E<34>4E<34>F<> <0B> <1C><1B><1A> <15> <0A> <0A> <0A>d<EFBFBD>n<EFBFBD>n<EFBFBD>n<EFBFBD>;<3B>K<EFBFBD>;<3B><14>):<3A>):<3A>;<3B>K<EFBFBD><1A><1A><1C><1A><1B><1A>s <00> AC<05> C0 )r`rhrirBrjrbrargr^rdrcr_rfrRrPrer$rSrVr9)F)rGrHrIrJrKr2<00>propertyrnrXr}r<r<>r<>rzr<>rZr<>rDr<>rLr(r-r*rOrO)s<><00><00> <08>'<1D>&*<2A> '<1D>
<1D> '<1D> "<22> '<1D>%&<26>'<1D> <20>'<1D>!%<25>'<1D>!%<25>'<1D>5?<3F>'<1D>BF<01>'<1D>'<1D>R<0E><1D><0E><1D> <20> -<2D>D$0<>L<14><14>Q<01>(<28><0E> F<01><0E> F<01> <1F>E<EFBFBD> <1F> 2<>D<1B>r-rO<00>__main__)<01>cycle)<03>Dictr <00>Tuple)<01>Align)r)rO)<01>Panel)<01>Rule)<01>Syntax)<01>Tablea~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_value<75>pythonT)<01> line_numbers<72>foo<6F>bar<61>baz<61>1<>2<>3z<33>You can make the terminal shorter and taller to see the live table hideText may be printed while the progress bars are rendering.z(In fact, [i]any[/i] renderable will workzSuch as [magenta]tables[/]...zPretty printed structures...<2E>type<70>example<6C>textzPretty printedz Syntax...zGive it a try!)rPzDict[Tuple[str, str], float]<5D>exchange_rate_dictg<74><67><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?i@zExchange Rates)<01>titlezSource CurrencyzDestination Currencyz Exchange Ratez.4fg<00>?<3F>red<65>green)<01>style)<13>SGD<47>MYR<59>EUR<55>USD<53>AUD<55>JPY<50>CNH<4E>HKD<4B>CAD<41>INR<4E>DKK<4B>GBP<42>RUB<55>NZD<5A>MXN<58>IDR<44>TWD<57>THB<48>VND)Y<>__conditional_annotations__<5F>
__future__rr<><00> threadingrrr<00>typesr<00>typingrr r
r r r rrrrsrrPrrrrrr<>r<00>
file_proxyr<00>jupyterr<00> live_renderrrrQrr<>r<00>typing_extensionsrr rOrG<00>random<6F>time<6D> itertoolsr<73>r<>r<><00>alignr<6E>r#<00>panelr<6C><00>ruler<65><00>syntaxr<78><00>tabler<65><00>add_row<6F>progress_renderables<65>examples<65> exchanges<65>
live_tabler<EFBFBD><00>__annotations__<5F>range<67>index<65>len<65>select_exchange<67>exchange<67>sleep<65>randint<6E>log<6F>next<78>pop<6F>list<73>keys<79>
add_column<EFBFBD>items<6D>source<63>dest<73> exchange_rater<65><00>center)r<>s@r*<00><module>rs<><00><><01>"<22>"<22>
<EFBFBD>*<2A>*<2A><1F>W<>W<>W<><19>R<>R<><1C>!<21>!<21>;<3B><1A><16><10>&<26>(<28>V<EFBFBD>(<28>&@<1B><<3C><1A>@<1B>F <0C>z<EFBFBD><19><11><0F><1F>(<28>(<28><1C> <20>"<22><1C><1A><1E><1C><15>i<EFBFBD>G<EFBFBD> <13>
"<22> <11><19><06>F<EFBFBD> <12>%<25><15><05> &<26>E<EFBFBD> <09>M<EFBFBD>M<EFBFBD>#<23>s<EFBFBD>C<EFBFBD> <20> E<01> <0A>8<>9<>'<27> <0A>&<26> <0F><19>F<EFBFBD>$4<>5<><13><0E> <0C> <1D><1E> <06><18><15>)<29>*<2A>H<EFBFBD><06>I<EFBFBD>*
<0E>g<EFBFBD> <1E> <1E>*<2A>;=<3D><1A>8<>=<3D><1A>3<EFBFBD>Z<EFBFBD>E<EFBFBD>'<27><05><03>I<EFBFBD><0E>(><3E>?<3F>O<EFBFBD>%<25><08><1B><EFBFBD>.<2E><1C><14>
<EFBFBD>
<EFBFBD>3<EFBFBD><0F><19>><3E>><3E>!<21>R<EFBFBD>(<28>1<EFBFBD>,<2C><1B>K<EFBFBD>K<EFBFBD><04>X<EFBFBD><0E>/<2F>BE<42><1B>]<5D>]<5D>_<EFBFBD>s<EFBFBD>*<2A>a<EFBFBD>/<2F>C<12>"<22>O<EFBFBD>X<EFBFBD>#><3E>?<3F><17>)<29>*<2A>S<EFBFBD><19>^<5E>a<EFBFBD>-?<3F>?<3F>&<26>*<2A>*<2A>4<EFBFBD>0B<30>0G<30>0G<30>0I<30>+J<>1<EFBFBD>+M<>N<><1D>$4<>5<><05><15> <20> <20>!2<>3<><15> <20> <20>!7<>8<><15> <20> <20><1F>1<>5G<35>5M<35>5M<35>5O<35>1<>N<EFBFBD>V<EFBFBD>T<EFBFBD>M<EFBFBD><19>M<EFBFBD>M<EFBFBD><1E><1C><1C>,<2C>S<EFBFBD>1<>+8<>3<EFBFBD>+><3E>%<25>G<EFBFBD><1A><16>6P<01><1B>!<21>!<21>%<25>,<2C>,<2C>u<EFBFBD>"5<>6<>7&<26> <20>
<1F> <1E>O<1A>N
<1F> <1E> <1E>s <00>FK&<05>& K7