Files
tamigo-cli/venv/lib/python3.12/site-packages/rich/__pycache__/style.cpython-312.pyc

244 lines
33 KiB
Plaintext
Raw Normal View History

<EFBFBD>
<00><16>ini<00><00>(<00>ddlZddlmZddlmZddlmZmZddlm Z ddl
m Z m Z m Z mZmZmZmZmZddlmZdd lmZmZmZmZdd
lmZmZdd lmZmZed d dddd<11>Z ee!dfZ"Gd<13>d<14>Z#eGd<15>d<12><00>Z$e$<24>Z%Gd<16>d<17>Z&y)<18>N)<01> lru_cache)<01>
attrgetter)<02>dumps<70>loads)<01>randint)<08>Any<6E>Dict<63>Iterable<6C>List<73>Optional<61>Type<70>Union<6F>cast<73>)<01>errors)<04>Color<6F>ColorParseError<6F> ColorSystem<65> blend_rgb)<02>Result<6C> rich_repr)<02>DEFAULT_TERMINAL_THEME<4D> TerminalTheme<6D>_color<6F>_bgcolor<6F> _attributes<65>_set_attributes<65>_link<6E>_meta<74>Stylec<00>F<00>eZdZdZdgZdeddfd<06>Zddd eddee fd
<EFBFBD>Z
y) <0B>_Bitz.A descriptor to get/set a style attribute bit.<2E>bit<69>bit_no<6E>returnNc<00><00>d|z|_y)Nr)r#)<02>selfr$s <20>P/home/daniel/Projects/tamigo-cli/venv/lib/python3.12/site-packages/rich/style.py<70>__init__z _Bit.__init__s <00><00><14><06>;<3B><04><08><00>objr <00>objtypec<00>n<00>|j|jzr|j|jzdk7Sy)Nr)rr#r)r'r+r,s r(<00>__get__z _Bit.__get__s/<00><00> <0E> <1E> <1E><14><18><18> )<29><16>?<3F>?<3F>T<EFBFBD>X<EFBFBD>X<EFBFBD>-<2D><11>2<> 2<>r*) <0B>__name__<5F>
__module__<EFBFBD> __qualname__<5F>__doc__<5F> __slots__<5F>intr)r r <00>boolr.<00>r*r(r"r"sA<00><00>8<><16><07>I<EFBFBD><1F>s<EFBFBD><1F>t<EFBFBD><1F><14>7<EFBFBD><14>T<EFBFBD>'<27>]<5D><14>x<EFBFBD><04>~<7E>r*r"c&<00>V<00>eZdZUdZeeed<eeed<eed<eed<eeed<eed<ee ed<gd <09>Z
d
d d d dddddddddd<17> Z idd<18>dd<18>dd<1A>dd<1A>dd<1C>dd<1C>dd<1E>dd<1E>d d <20>d!d!<21>d"d"<22>d#d"<22>d$d$<24>d%d$<24>d&d&<26>d'd&<26>d(d(<28>d(d)d*d+d+d,<2C><05>Z d-d-d-d-d-d-d-d-d-d-d-d-d-d-d-d-d-d.<2E>d/ee eefd0ee eefdeedeedeedeed eed!eed"eed$eed&eed(eed)eed*eed+eed1eed2eeeeff"d3<64>Zedrd5<64><04>Ze dsd/eed0eed4dfd6<64><05>Zed2eeeefd4dfd7<64><04>Zedtd2eeeefd8ed4dfd9<64><05>Zed:<3A>Zed;<3B>Zed<<3C>Zed=<3D>Zed><3E>Zed?<3F>Zed@<40>ZedA<64>ZedB<64>Z edC<64>Z!edD<64>Z"edE<64>Z#edF<64>Z$e%d4efdG<64><04>Z&d4efdH<64>Z'd4efdI<64>Z(dJe)d4efdK<64>Z*ee+dL<64>M<EFBFBD>dNed4efdO<64><04><00>Z,edPee-d4e-fdQ<64><04>Z.d4e/fdR<64>Z0dSed4efdT<64>Z1dSed4efdU<64>Z2d4efdV<64>Z3e%d4eefdW<64><04>Z4e%d4eefdX<64><04>Z5e%d4eefdY<64><04>Z6e%d4efdZ<64><04>Z7e%drd[<5B><04>Z8e%d4eeeffd\<5C><04>Z9e%drd]<5D><04>Z:ee+d^<5E>M<EFBFBD>d_ed4dfd`<60><04><00>Z;e+dL<64>M<EFBFBD>dtdaee<d4efdb<64><05>Z=edce>dd4dfdd<64><04>Z?edude<64><04>Z@drdf<64>ZAe+dg<64>M<EFBFBD>drdh<64><04>ZBdtd1eed4dfdi<64>ZC dve)j<>djdk<64>dledJee)dmed4efdn<64>ZEdtdleed4d-fdo<64>ZFe+dL<64>M<EFBFBD>dNedd4dfdp<64><04>ZGdNedd4dfdq<64>ZHy-)wr a<>A terminal style.
A terminal style consists of a color (`color`), a background color (`bgcolor`), and a number of attributes, such
as bold, italic etc. The attributes have 3 states: they can either be on
(``True``), off (``False``), or not set (``None``).
Args:
color (Union[Color, str], optional): Color of terminal text. Defaults to None.
bgcolor (Union[Color, str], optional): Color of terminal background. Defaults to None.
bold (bool, optional): Enable bold text. Defaults to None.
dim (bool, optional): Enable dim text. Defaults to None.
italic (bool, optional): Enable italic text. Defaults to None.
underline (bool, optional): Enable underlined text. Defaults to None.
blink (bool, optional): Enabled blinking text. Defaults to None.
blink2 (bool, optional): Enable fast blinking text. Defaults to None.
reverse (bool, optional): Enabled reverse text. Defaults to None.
conceal (bool, optional): Enable concealed text. Defaults to None.
strike (bool, optional): Enable strikethrough text. Defaults to None.
underline2 (bool, optional): Enable doubly underlined text. Defaults to None.
frame (bool, optional): Enable framed text. Defaults to None.
encircle (bool, optional): Enable encircled text. Defaults to None.
overline (bool, optional): Enable overlined text. Defaults to None.
link (str, link): Link URL. Defaults to None.
rrrr<00>_hash<73>_nullr) rrrrr<00>_link_id<69>_ansi<73>_style_definitionr8r9r<00>1<>2<>3<>4<>5<>6<>7<>8<>9<>21<32>51<35>52<35>53) rr<00><00><00><00><00><00><00><00> <00>
<00> <00> <00>dim<69>d<>bold<6C>b<>italic<69>i<> underline<6E>u<>blink<6E>blink2<6B>reverse<73>r<>conceal<61>c<>strike<6B>s<>
underline2<EFBFBD>frame<6D>encircle<6C>overline)<05>uurfrgrh<00>oN)<11>color<6F>bgcolorrWrUrYr[r]r^r_rarcrerfrgrh<00>link<6E>metarkrlrmrnc<00>v<00>d|_d|_dtttfdtfd<03>}|<01>dn||<01>|_|<02>dn||<02>|_t|du|duxrd|duxrd|duxrd|duxrd|duxrd| duxrd |
duxrd
| duxrd | duxrd | duxrd |duxrd|duxrdf <0A>|_|jr<>t|xrdxsd|xrdxsd|xrdxsd|xrdxsd|xrdxsd|xrdxsd| xrd xsd|
xrd
xsd| xrd xsd| xrd xsd| xrd xsd|xrdxsd|xrdxsdf <0A>nd|_ ||_
|<11>dn
t|<11>|_ |s|r#tdd<12><00>t|j<00><00><00>nd|_d|_|jxs|xs
|xs|xs| |_y)Nrkr%c<00>P<00>t|t<00>r|Stj|<00>S<00>N)<03>
isinstancer<00>parse)rks r(<00> _make_colorz#Style.__init__.<locals>._make_color<6F>s<00><00>&<26>u<EFBFBD>e<EFBFBD>4<>5<EFBFBD> L<>%<25>+<2B>+<2B>e<EFBFBD>:L<> Lr*rJrLrP<00><00> <00>@<00><><00><00><00><00><00>rr<00>?B<00>)r;r<rr<00>strrr<00>sumrrrrrr<00>hashr:r8r9)r'rkrlrWrUrYr[r]r^r_rarcrerfrgrhrmrnrts r(r)zStyle.__init__sD<00><00>*%)<29><04>
<EFBFBD>04<EFBFBD><04><1E> M<01>u<EFBFBD>U<EFBFBD>C<EFBFBD>Z<EFBFBD>0<> M<01>U<EFBFBD> M<01>$<24>m<EFBFBD>d<EFBFBD><1B>U<EFBFBD>1C<31><04> <0B> '<27><0F><04>[<5B><17>5I<35><04> <0A>"<22><14>D<EFBFBD> <20><13>4<EFBFBD><0F>%<25>A<EFBFBD><16>d<EFBFBD>"<22>(<28>q<EFBFBD><19><14>%<25>+<2B>!<21><15>T<EFBFBD>!<21>(<28>b<EFBFBD><16>d<EFBFBD>"<22>)<29>r<EFBFBD><17>t<EFBFBD>#<23>*<2A><02><17>t<EFBFBD>#<23>+<2B><03><16>d<EFBFBD>"<22>*<2A>s<EFBFBD><1A>$<24>&<26>.<2E>3<EFBFBD><15>T<EFBFBD>!<21>*<2A>d<EFBFBD><18><04>$<24>-<2D><14><18><04>$<24>-<2D><14> <0E>
<EFBFBD><04><1C>F<14>#<23>#<23># <10><18>J<EFBFBD>Q<EFBFBD>O<EFBFBD>!<21><17>I<EFBFBD>A<EFBFBD>N<EFBFBD><11><1A>L<EFBFBD>q<EFBFBD>%<25>A<EFBFBD><1D>O<EFBFBD>!<21>(<28>q<EFBFBD><19>L<EFBFBD>b<EFBFBD>%<25>A<EFBFBD><1A>M<EFBFBD>r<EFBFBD>&<26>Q<EFBFBD><1B>N<EFBFBD><02>'<27>a<EFBFBD><1B>O<EFBFBD><03>(<28>q<EFBFBD><1A>N<EFBFBD>s<EFBFBD>'<27>a<EFBFBD><1E>&<26>3<EFBFBD>+<2B>!<21><19>N<EFBFBD>d<EFBFBD>'<27>a<EFBFBD><1C>%<25><14>*<2A><11><1C>%<25><14>*<2A><11><12> <0E>$<13>' <0A><18>,<1A><04>
<EFBFBD>!<21>\<5C>T<EFBFBD>u<EFBFBD>T<EFBFBD>{<7B><04>
<EFBFBD>:><3E>$<24>w<EFBFBD>q<EFBFBD>&<26>!<21>"<22>4<EFBFBD><04>
<EFBFBD>
<EFBFBD>#3<>"4<> 5<>R<EFBFBD> <0A> <0A>%)<29><04>
<EFBFBD><1E>.<2E>.<2E>R<>%<25>R<>7<EFBFBD>R<>d<EFBFBD>R<>d<EFBFBD>S<><04>
r*r%c<00><00>tS)zCCreate an 'null' style, equivalent to Style(), but more performant.)<01>
NULL_STYLE)<01>clss r(<00>nullz
Style.null<6C>s
<00><00><1A>r*c<00><><00>|jt<00>}d|_d|_||_||_d|_d|_d|_d|_ d|_
|xs| |_ d|_ |S)aCreate a new style with colors and no attributes.
Returns:
color (Optional[Color]): A (foreground) color, or None for no color. Defaults to None.
bgcolor (Optional[Color]): A (background) color, or None for no color. Defaults to None.
Nrr) <0A>__new__r r;r<rrrrrr:rr9r8)r<>rkrl<00>styles r(<00>
from_colorzStyle.from_color<6F>so<00><00><1B>{<7B>{<7B>5<EFBFBD>)<29><05><1A><05> <0B>"&<26><05><1F><1C><05> <0C> <20><05><0E> !<21><05><1D><1D><05><19><1A><05> <0B><1B><05><0E><1A><05> <0B> <20>+<2B>G<EFBFBD>,<2C><05> <0B><1A><05> <0B><14> r*c<00> <00>|jt<00>}d|_d|_d|_d|_d|_d|_d|_t|<01>|_
tdd<03><00>t|j<00><00><00>|_ d|_| |_|S)z<>Create a new style with meta data.
Returns:
meta (Optional[Dict[str, Any]]): A dictionary of meta data. Defaults to None.
Nrr~)r<>r r;r<rrrrrrrrr<>r:r8r9)r<>rnr<>s r(<00> from_metazStyle.from_meta<74>s<><00><00><1B>{<7B>{<7B>5<EFBFBD>)<29><05><1A><05> <0B>"&<26><05><1F><1B><05> <0C><1D><05><0E> !<21><05><1D><1D><05><19><1A><05> <0B><1B>D<EFBFBD>k<EFBFBD><05> <0B>#<23>A<EFBFBD>v<EFBFBD>.<2E>/<2F><04>U<EFBFBD>[<5B>[<5B>0A<30>/B<>C<><05><0E><1A><05> <0B><1F>j<EFBFBD><05> <0B><14> r*<00>handlersc <00><><00>|<01>in|}|j|j<00>D<00><03>cic] \}}d|<03><00>|<04><02> c}}<03>|j|<01>Scc}}w)a<>Create a blank style with meta information.
Example:
style = Style.on(click=self.on_click)
Args:
meta (Optional[Dict[str, Any]], optional): An optional dict of meta information.
**handlers (Any): Keyword arguments are translated in to handlers.
Returns:
Style: A Style with meta information attached.
<20>@)<03>update<74>itemsr<73>)r<>rnr<><00>key<65>values r(<00>onzStyle.on<6F>sQ<00><00><1A>\<5C>r<EFBFBD>t<EFBFBD><04> <0C> <0B> <0B><08><0E><0E>8H<38>I<>*<2A>#<23>u<EFBFBD>q<EFBFBD><13><05>Y<EFBFBD><05>%<25>I<>J<><12>}<7D>}<7D>T<EFBFBD>"<22>"<22><>Js<00>A
rrrJrKrLrMrNrOrPrQrRrSrTc<00><00>|jS)z+Get a link id, used in ansi code for links.)r:<00>r's r(<00>link_idz Style.link_id<00><00><00><14>}<7D>}<7D>r*c<00>t<00>|j<00><02> g}|j}|j}|dzrl|dzr||jrdnd<04>|dzr||jrdnd<07>|dzr||j
rd nd
<EFBFBD>|d zr||j rd nd <0A>|dzr<>|dzr||jrdnd<11>|dzr||jrdnd<14>|dzr||jrdnd<17>|dzr||jrdnd<1A>|dzr||jrdnd<1D>|dzrl|dzr||jrd nd!<21>|d"zr||jrd#nd$<24>|d%zr||jrd&nd'<27>|d(zr||jrd)nd*<2A>|j <00>||j j"<00>|j$<00>$|d+<2B>||j$j"<00>|j&r|d,<2C>||j&<00>d-j)|<01>xsd.|_|jS)/z-Re-generate style definition from attributes.<2E>rrWznot boldrJrUznot dimrLrYz
not italicrPr[z not underline<6E><65>rur]z not blinkrvr^z
not blink2rwr_z not reverserxraz not concealryrcz
not strike<6B>rzreznot underline2r{rfz not framer|rgz not encircler}rhz not overliner<65>rm<00> <20>none)r<<00>appendrrWrUrYr[r]r^r_rarcrerfrgrhr<00>namerr<00>join)r'<00>
attributesr<EFBFBD><00>bitss r(<00>__str__z Style.__str__"s<><00><00> <0F> !<21> !<21> )<29>$&<26>J<EFBFBD><1F>&<26>&<26>F<EFBFBD><17>'<27>'<27>D<EFBFBD><13>o<EFBFBD>%<25><17>!<21>8<EFBFBD><1A>T<EFBFBD>Y<EFBFBD>Y<EFBFBD>6<EFBFBD>J<EFBFBD>?<3F><17>6<EFBFBD>?<3F><1A>D<EFBFBD>H<EFBFBD>H<EFBFBD>5<EFBFBD>)<29><<3C><17>6<EFBFBD>?<3F><1A>t<EFBFBD>{<7B>{<7B>8<EFBFBD> <0C>E<><17>6<EFBFBD>?<3F><1A>$<24>.<2E>.<2E>;<3B>o<EFBFBD>N<><13>o<EFBFBD>%<25><17>6<EFBFBD>?<3F><1A>d<EFBFBD>j<EFBFBD>j<EFBFBD>7<EFBFBD>k<EFBFBD>B<><17>6<EFBFBD>?<3F><1A>t<EFBFBD>{<7B>{<7B>8<EFBFBD> <0C>E<><17>6<EFBFBD>?<3F><1A><04> <0C> <0C>9<EFBFBD>-<2D>H<><17>6<EFBFBD>?<3F><1A><04> <0C> <0C>9<EFBFBD>-<2D>H<><17>6<EFBFBD>?<3F><1A>t<EFBFBD>{<7B>{<7B>8<EFBFBD> <0C>E<><13>o<EFBFBD>%<25><17>6<EFBFBD>?<3F><1A>4<EFBFBD>?<3F>?<3F><<3C>@P<>Q<><17>7<EFBFBD>#<23><1A>d<EFBFBD>j<EFBFBD>j<EFBFBD>7<EFBFBD>k<EFBFBD>B<><17>7<EFBFBD>#<23><1A><14><1D><1D>:<3A>N<EFBFBD>K<><17>7<EFBFBD>#<23><1A><14><1D><1D>:<3A>N<EFBFBD>K<><13>{<7B>{<7B>&<26><16>t<EFBFBD>{<7B>{<7B>'<27>'<27>(<28><13>}<7D>}<7D>(<28><16>t<EFBFBD> <0C><16>t<EFBFBD>}<7D>}<7D>)<29>)<29>*<2A><13>z<EFBFBD>z<EFBFBD><16>v<EFBFBD><0E><16>t<EFBFBD>z<EFBFBD>z<EFBFBD>"<22>%(<28>X<EFBFBD>X<EFBFBD>j<EFBFBD>%9<>%C<>V<EFBFBD>D<EFBFBD> "<22><13>%<25>%<25>%r*c<00><00>|j S)z;A Style is false if it has no attributes, colors, or links.)r9r<>s r(<00>__bool__zStyle.__bool__Ps<00><00><17>:<3A>:<3A>~<7E>r*<00> color_systemc<00><00>|j<00><01>ig}|j}|j}|j|jz}|r<>|dzr ||d<00>|dzr ||d<00>|dzr ||d<00>|dzr ||d<00>|dzr%t dd<08>D]}|d|zzs<01> |||<00><00>|d zr%t dd
<EFBFBD>D]}|d|zzs<01> |||<00><00>|j <00>8|j|j j|<01>j<00><00>|j<00>:|j|jj|<01>jd <0B> <0C><00>d j|<02>|_|jS)z<>Generate ANSI codes for this style.
Args:
color_system (ColorSystem): Color system.
Returns:
str: String containing codes.
rrrJrLrPrKr<>rQr<><00> F<><01>
foreground<EFBFBD>;) r;r<><00>
_style_maprr<00>ranger<00>extend<6E> downgrade<64>get_ansi_codesrr<>)r'r<><00>sgrr<72>r<>r<>r#s r(<00>_make_ansi_codeszStyle._make_ansi_codesTs}<00><00> <10>:<3A>:<3A> <1D><1F>C<EFBFBD><18>Z<EFBFBD>Z<EFBFBD>F<EFBFBD><1D><1F><1F>J<EFBFBD><1D>)<29>)<29>D<EFBFBD>,@<40>,@<40>@<40>J<EFBFBD><19><1D><01>><3E><1A>:<3A>a<EFBFBD>=<3D>)<29><1D><01>><3E><1A>:<3A>a<EFBFBD>=<3D>)<29><1D><01>><3E><1A>:<3A>a<EFBFBD>=<3D>)<29><1D><01>><3E><1A>:<3A>a<EFBFBD>=<3D>)<29><1D><0F>/<2F>$<24>Q<EFBFBD><01>{<7B>4<><03>%<25><11>c<EFBFBD><18>2<>"<22>:<3A>c<EFBFBD>?<3F>3<>4<><1E><0F>/<2F>$<24>Q<EFBFBD><02>|<7C>4<><03>%<25><11>c<EFBFBD><18>2<>"<22>:<3A>c<EFBFBD>?<3F>3<>4<><14>{<7B>{<7B>&<26><13>
<EFBFBD>
<EFBFBD>4<EFBFBD>;<3B>;<3B>0<>0<><1C>><3E>M<>M<>O<>P<><13>}<7D>}<7D>(<28><13>
<EFBFBD>
<EFBFBD><18>M<EFBFBD>M<EFBFBD>+<2B>+<2B>L<EFBFBD>9<>H<>H<>#(<28>I<01><16><12>
<1D><18><18>#<23><1D>D<EFBFBD>J<EFBFBD><13>z<EFBFBD>z<EFBFBD>r*r{)<01>maxsizer<65>c<00><><00> t|j|<01><00>S#tj$r!|j <00>j <00>cYSwxYw)z<>Normalize a style definition so that styles with the same effect have the same string
representation.
Args:
style (str): A style definition.
Returns:
str: Normal form of style definition.
)r<>rsr<00>StyleSyntaxError<6F>strip<69>lower)r<>r<>s r(<00> normalizezStyle.normalizesE<00><00> )<29><16>s<EFBFBD>y<EFBFBD>y<EFBFBD><15>'<27>(<28> (<28><><15>&<26>&<26> )<29><18>;<3B>;<3B>=<3D>&<26>&<26>(<28> (<28> )<29>s<00><00>1A<03>A<03>valuesc<00>2<00>|D]}|<02><01>|cStd<01><00>)zPick first non-None style.z$expected at least one non-None style)<01>
ValueError)r<>r<>r<>s r(<00>
pick_firstzStyle.pick_first<73>s,<00><00><1C> <1D>E<EFBFBD><14> <20><1C> <0C> <1D><19>?<3F>@<40>@r*c#<00>DK<00>d|jdf<03><01>d|jdf<03><01>d|jdf<03><01>d|jdf<03><01>d|jdf<03><01>d|j
df<03><01>d|j df<03><01>d|jdf<03><01>d |jdf<03><01>d
|jdf<03><01>d |jdf<03><01>d |jdf<03><01>d |jdf<03><01>d|jdf<03><01>d|jdf<03><01>|jrd|j f<02><01>yy<00>w)NrkrlrWrUrYr[r]r^r_rarcrerfrgrmrn)rkrlrWrUrYr[r]r^r_rarcrerfrgrmrrnr<>s r(<00> __rich_repr__zStyle.__rich_repr__<5F>s <00><00><><00><15>t<EFBFBD>z<EFBFBD>z<EFBFBD>4<EFBFBD>'<27>'<27><17><14><1C><1C>t<EFBFBD>+<2B>+<2B><14>d<EFBFBD>i<EFBFBD>i<EFBFBD><14>&<26>&<26><13>T<EFBFBD>X<EFBFBD>X<EFBFBD>t<EFBFBD>$<24>$<24><16><04> <0B> <0B>T<EFBFBD>)<29>)<29><19>4<EFBFBD>><3E>><3E>4<EFBFBD>0<>0<><15>t<EFBFBD>z<EFBFBD>z<EFBFBD>4<EFBFBD>'<27>'<27><16><04> <0B> <0B>T<EFBFBD>)<29>)<29><17><14><1C><1C>t<EFBFBD>+<2B>+<2B><17><14><1C><1C>t<EFBFBD>+<2B>+<2B><16><04> <0B> <0B>T<EFBFBD>)<29>)<29><1A>D<EFBFBD>O<EFBFBD>O<EFBFBD>T<EFBFBD>1<>1<><15>t<EFBFBD>z<EFBFBD>z<EFBFBD>4<EFBFBD>'<27>'<27><18>$<24>-<2D>-<2D><14>-<2D>-<2D><14>d<EFBFBD>i<EFBFBD>i<EFBFBD><14>%<25>%<25> <0F>:<3A>:<3A><18>$<24>)<29>)<29>#<23> #<23> <16>s<00>DD <01>otherc<00>p<00>t|t<00>stS|j<00>|j<00>k(Srq<00>rrr <00>NotImplemented<65>__hash__<5F>r'r<>s r(<00>__eq__z Style.__eq__<5F><00>*<00><00><19>%<25><15>'<27>!<21> !<21><13>}<7D>}<7D><EFBFBD>%<25>.<2E>.<2E>"2<>2<>2r*c<00>p<00>t|t<00>stS|j<00>|j<00>k7Srqr<>r<>s r(<00>__ne__z Style.__ne__<5F>r<>r*c<00>|<00>|j<00> |jStt|<00><00>|_|jSrq)r8r<><00> _hash_getterr<72>s r(r<>zStyle.__hash__<5F>s1<00><00> <0F>:<3A>:<3A> !<21><17>:<3A>:<3A> <1D><19>,<2C>t<EFBFBD>,<2C>-<2D><04>
<EFBFBD><13>z<EFBFBD>z<EFBFBD>r*c<00><00>|jS)z.The foreground color or None if it is not set.)rr<>s r(rkz Style.color<6F>s<00><00><14>{<7B>{<7B>r*c<00><00>|jS)z.The background color or None if it is not set.)rr<>s r(rlz Style.bgcolor<6F>r<>r*c<00><00>|jS)zLink text, if set.)rr<>s r(rmz
Style.link<6E>s<00><00><14>z<EFBFBD>z<EFBFBD>r*c<00>N<00>|jduxs|jjS)z6Check if the style specified a transparent background.N)rl<00>
is_defaultr<EFBFBD>s r(<00>transparent_backgroundzStyle.transparent_background<6E>s"<00><00><14>|<7C>|<7C>t<EFBFBD>#<23>><3E>t<EFBFBD>|<7C>|<7C>'><3E>'><3E>>r*c<00>.<00>t|j<00><01>S)zA Style with background only.)rl)r rlr<>s r(<00>background_stylezStyle.background_style<6C>s<00><00><15>T<EFBFBD>\<5C>\<5C>*<2A>*r*c<00>~<00>|j<00>iSttttft |j<00><00>S)z=Get meta information (can not be changed after construction).)rrr r<>rrr<>s r(rnz
Style.meta<74>s0<00><00><1A>Z<EFBFBD>Z<EFBFBD>'<27>r<EFBFBD>T<>T<EFBFBD>$<24>s<EFBFBD>C<EFBFBD>x<EFBFBD>.<2E>%<25><04>
<EFBFBD>
<EFBFBD>BS<EFBFBD>-T<>Tr*c<00>\<00>|jrtS|jt<00>}d|_d|_d|_d|_|j|_|j|_ |j|_
|jr tdd<03><00>nd|_ d|_d|_ d|_|S)z+Get a copy of the style with color removed.Nrr~rF)r9r<>r<>r r;r<rrrrrrr:rr8<00>r'r<>s r(<00> without_colorzStyle.without_color<6F>s<><00><00> <10>:<3A>:<3A><1D> <1D><1B>|<7C>|<7C>E<EFBFBD>*<2A><05><1A><05> <0B>"&<26><05><1F><1B><05> <0C><1D><05><0E> <20>,<2C>,<2C><05><19> $<24> 4<> 4<><05><1D><1A>j<EFBFBD>j<EFBFBD><05> <0B>48<34>J<EFBFBD>J<EFBFBD>G<EFBFBD>A<EFBFBD>v<EFBFBD>.<2E>/<2F>B<EFBFBD><05><0E><1B><05> <0B><1A><05> <0B><1A><05> <0B><14> r*r}<00>style_definitionc<00>P<00>|j<00>dk(s|s|j<00>S|j}d}d}i}d}t|j <00><00>}|D]<5D>}|j <00>} | dk(r<t |d<04>} | stjd<05><00> tj| <09>| }<04>T| dk(r=t |d<04>} |j| <09>} | <0B>tjd | <09><02><02><00>d
|| <<00><>| d k(r&t |d<04>} | stjd <0C><00>| }<06><>| |vr d ||| <<00><> tj| <09>| }<03><>td|||d<0F>|<05><01>} | S#t$r!}
tjd| <09>d|
<EFBFBD><00><04>d<02>d}
~
wwxYw#t$r!}
tjd| <09>d|
<EFBFBD><00><04>d<02>d}
~
wwxYw)a Parse a style definition.
Args:
style_definition (str): A string containing a style.
Raises:
errors.StyleSyntaxError: If the style definition syntax is invalid.
Returns:
`Style`: A Style instance.
r<>Nr<4E>rzcolor expected after 'on'zunable to parse z as background color; <20>notz,expected style attribute after 'not', found FrmzURL expected after 'link'Tz as color; )rkrlrmr6)r<>r<><00>STYLE_ATTRIBUTES<45>iter<65>splitr<74><00>nextrr<>rrsr<00>getr ) r<>r<>r<>rkrlr<>rm<00>words<64> original_word<72>word<72>error<6F> attributer<65>s r(rsz Style.parse<73>s<><00><00> <1C> !<21> !<21> #<23>v<EFBFBD> -<2D>5E<35><16>8<EFBFBD>8<EFBFBD>:<3A> <1D><1E>/<2F>/<2F><18>#<23><05>!%<25><07>/1<>
<EFBFBD>"<22><04><14>%<25>+<2B>+<2B>-<2D>.<2E><05>"<22>' <1D>M<EFBFBD> <20>&<26>&<26>(<28>D<EFBFBD><13>t<EFBFBD>|<7C><1B>E<EFBFBD>2<EFBFBD><EFBFBD><04><1B> <20>1<>1<>2M<32>N<>N<> <20><19>K<EFBFBD>K<EFBFBD><04>%<25>
<1F><07><15><15><1D><1B>E<EFBFBD>2<EFBFBD><EFBFBD><04>,<2C>0<>0<><14>6<> <09><1C>$<24> <20>1<>1<>F<>t<EFBFBD>h<EFBFBD>O<><16><16>).<2E>
<EFBFBD>9<EFBFBD>%<25><15><16><1E><1B>E<EFBFBD>2<EFBFBD><EFBFBD><04><1B> <20>1<>1<>2M<32>N<>N<><1B><04><15>)<29>)<29>59<35>
<EFBFBD>+<2B>D<EFBFBD>1<>2<> <20><19>K<EFBFBD>K<EFBFBD><04>%<25>
<1D><05>O' <1D>P<16>L<>E<EFBFBD>7<EFBFBD><14>L<><1A>L<><05><14> <0C><>C'<27> <20> <20>1<>1<>*<2A>4<EFBFBD>(<28>2H<32><15><07>P<><16><1F> <20><> <20><>6'<27> <20> <20>1<>1<>*<2A>4<EFBFBD>(<28>+<2B>e<EFBFBD>W<EFBFBD>E<><16><1F> <20><> <20>s0<00>E<02>$E;<02> E8<05>E3<05>3E8<05>; F%<05>F <05> F%<05>themec<00><><00>|xst}g}|j}|j}|j}|jr||}}|j
rI|<04> |j n|j|<01>}tjt||jd<01><00>}|<04>;|j|<01>}|d|j<00><00><02>|d|j<00><00><02>|<05>(|j|d<04><05>}|d|j<00><00><02>|jr|d<07>|jr|d<08>|jr|d <09>|j r|d
<EFBFBD>|j"r|d <0B>d j%|<02>S) zGet a CSS style rule.g<00>?zcolor: ztext-decoration-color: Fr<46>zbackground-color: zfont-weight: boldzfont-style: italicztext-decoration: underlineztext-decoration: line-throughztext-decoration: overlinez; )rr<>rkrlr_rU<00>foreground_color<6F> get_truecolorr<00> from_tripletr<00>background_color<6F>hexrWrYr[rcrhr<>)r'r<><00>cssr<73>rkrlr<><00> theme_colors r(<00>get_html_stylezStyle.get_html_style/sZ<00><00><16>/<2F>/<2F><05><1B><03><14><1A><1A><06><14>
<EFBFBD>
<EFBFBD><05><16>,<2C>,<2C><07> <0F><<3C><<3C>$<24>e<EFBFBD>7<EFBFBD>E<EFBFBD> <0F>8<EFBFBD>8<EFBFBD>*/<2F>-<2D><05>&<26>&<26>U<EFBFBD>=P<>=P<>QV<51>=W<> <1D><1A>&<26>&<26><19>*<2A>E<EFBFBD>,B<>,B<>C<EFBFBD>H<><0E>E<EFBFBD> <11> <1C><1F>-<2D>-<2D>e<EFBFBD>4<>K<EFBFBD> <12>W<EFBFBD>[<5B>_<EFBFBD>_<EFBFBD>-<2D>.<2E> /<2F> <12>,<2C>[<5B>_<EFBFBD>_<EFBFBD>,=<3D>><3E> ?<3F> <12> <1E>!<21>/<2F>/<2F><05>%<25>/<2F>H<>K<EFBFBD> <12>'<27> <0B><0F><0F>'8<>9<> :<3A> <0F>9<EFBFBD>9<EFBFBD> <12>&<26> '<27> <0F>;<3B>;<3B> <12>'<27> (<28> <0F>><3E>><3E> <12>/<2F> 0<> <0F>;<3B>;<3B> <12>2<> 3<> <0F>=<3D>=<3D> <12>.<2E> /<2F><13>y<EFBFBD>y<EFBFBD><13>~<7E>r*<00>stylesc<00>B<00>t|<01>}t|t|<02><00>S)z<>Combine styles and get result.
Args:
styles (Iterable[Style]): Styles to combine.
Returns:
Style: A new style instance.
<20>r<>r<>r<><00>r<>r<><00> iter_styless r(<00>combinez Style.combineT<00><00><00><1B>6<EFBFBD>l<EFBFBD> <0B><12>;<3B><04>[<5B> 1<>2<>2r*c<00>B<00>t|<01>}t|t|<02><00>S)z<>Combine styles from positional argument in to a single style.
Args:
*styles (Iterable[Style]): Styles to combine.
Returns:
Style: A new style instance.
r<>r<>s r(<00>chainz Style.chainar<>r*c<00><><00>|jrtS|jt<00>}|j|_|j
|_|j |_|j|_|j|_|j|_ |j|_
|jr tdd<02><00>nd|_ |j|_ d|_|j|_|S)zwGet a copy of this style.
Returns:
Style: A new Style instance with identical attributes.
rr~rF)r9r<>r<>r r;r<rrrrrrr:r8rr<>s r(<00>copyz
Style.copyns<><00><00> <10>:<3A>:<3A><1D> <1D><1B>|<7C>|<7C>E<EFBFBD>*<2A><05><1A>j<EFBFBD>j<EFBFBD><05> <0B>"&<26>"8<>"8<><05><1F><1B>{<7B>{<7B><05> <0C><1D><1D><1D><05><0E> <20>,<2C>,<2C><05><19> $<24> 4<> 4<><05><1D><1A>j<EFBFBD>j<EFBFBD><05> <0B>48<34>J<EFBFBD>J<EFBFBD>G<EFBFBD>A<EFBFBD>v<EFBFBD>.<2E>/<2F>B<EFBFBD><05><0E><1A>j<EFBFBD>j<EFBFBD><05> <0B><1B><05> <0B><1A>j<EFBFBD>j<EFBFBD><05> <0B><14> r*rxc<00>f<00>|jrtS|jt<00>}|j|_|j
|_|j |_|j|_|j|_|j|_ d|_
d|_ d|_ d|_d|_ |S)z<>Get a copy of this style with link and meta information removed.
Returns:
Style: New style object.
NrF)r9r<>r<>r r;r<rrrrrr:r8rr<>s r(<00>clear_meta_and_linkszStyle.clear_meta_and_links<6B>s<><00><00> <10>:<3A>:<3A><1D> <1D><1B>|<7C>|<7C>E<EFBFBD>*<2A><05><1A>j<EFBFBD>j<EFBFBD><05> <0B>"&<26>"8<>"8<><05><1F><1B>{<7B>{<7B><05> <0C><1D><1D><1D><05><0E> <20>,<2C>,<2C><05><19> $<24> 4<> 4<><05><1D><1A><05> <0B><1B><05><0E><1A><05> <0B><1B><05> <0B><1A><05> <0B><14> r*c<00>t<00>|jt<00>}|j|_|j|_|j|_|j
|_|j |_|j|_||_|r tdd<02><00>nd|_
d|_ d|_ |j|_ |S)z<>Get a copy with a different value for link.
Args:
link (str, optional): New value for link. Defaults to None.
Returns:
Style: A new Style instance.
rr~rNF)r<>r r;r<rrrrrrr:r8r9r)r'rmr<>s r(<00> update_linkzStyle.update_link<6E>s<><00><00><1C>|<7C>|<7C>E<EFBFBD>*<2A><05><1A>j<EFBFBD>j<EFBFBD><05> <0B>"&<26>"8<>"8<><05><1F><1B>{<7B>{<7B><05> <0C><1D><1D><1D><05><0E> <20>,<2C>,<2C><05><19> $<24> 4<> 4<><05><1D><1A><05> <0B>48<34>G<EFBFBD>A<EFBFBD>v<EFBFBD>.<2E>/<2F>b<EFBFBD><05><0E><1A><05> <0B><1B><05> <0B><1A>j<EFBFBD>j<EFBFBD><05> <0B><14> r*F)r<><00>legacy_windows<77>textr<74>c<00><><00>|r|<02>|S|jxs|j|<02>}|r d|<04>d|<01>d<03>n|}|jr"|s d|j<00>d|j<00>d|<05>d<07>}|S)aDRender the ANSI codes for the style.
Args:
text (str, optional): A string to style. Defaults to "".
color_system (Optional[ColorSystem], optional): Color system to render to. Defaults to ColorSystem.TRUECOLOR.
Returns:
str: A string containing ANSI style codes.
z[<5B>mzz]8;id=r<>z\z]8;;\)r;r<>rr:)r'r<>r<>r<><00>attrs<72>rendereds r(<00>renderz Style.render<65>sw<00><00> <14>|<7C>+<2B><17>K<EFBFBD><14>
<EFBFBD>
<EFBFBD>A<>d<EFBFBD>3<>3<>L<EFBFBD>A<><05>49<34>U<EFBFBD>5<EFBFBD>'<27><11>4<EFBFBD>&<26><07>0<>t<EFBFBD><08> <0F>:<3A>:<3A>n<EFBFBD><1C>T<EFBFBD>]<5D>]<5D>O<EFBFBD>1<EFBFBD>T<EFBFBD>Z<EFBFBD>Z<EFBFBD>L<EFBFBD><06>x<EFBFBD>j<EFBFBD><0E>W<> <15><18>r*c<00><><00>|xs t|<00>}tjj|j |<01><00>d<01><02>y)z<>Write text with style directly to terminal.
This method is for testing purposes only.
Args:
text (Optional[str], optional): Text to style or None for style name.
<20>
N)r<><00>sys<79>stdout<75>writer)r'r<>s r(<00>testz
Style.test<73>s5<00><00><14> <20>s<EFBFBD>4<EFBFBD>y<EFBFBD><04> <0B>
<EFBFBD>
<EFBFBD><18><18>D<EFBFBD>K<EFBFBD>K<EFBFBD><04>-<2D>.<2E>b<EFBFBD>1<>2r*c<00><00>|<01> |jr|S|jr|S|jt<00>}d|_d|_|j
xs |j
|_|j xs |j |_|j|jz|j|jzz|_|j|jz|_|jxs |j|_ |jxs |j|_
|j|_|jr5|jr)ti|j<00>|j<00><01>|_ n|jxs |j|_ d|_|Srq)r9r<>r r;r<rrrrrr:rrrnr8)r'r<><00> new_styles r(<00>_addz
Style._add<64>s6<00><00> <10>=<3D>E<EFBFBD>K<EFBFBD>K<EFBFBD><17>K<EFBFBD> <0F>:<3A>:<3A><18>L<EFBFBD><1F><<3C><<3C><05>.<2E> <09><1E> <09><0F>&*<2A> <09>#<23> <20><<3C><<3C>6<>4<EFBFBD>;<3B>;<3B> <09><18>"<22>^<5E>^<5E><<3C>t<EFBFBD>}<7D>}<7D> <09><1A>!%<25>!1<>!1<>U<EFBFBD>5J<35>5J<35>4J<34>!J<> <11> <1D> <1D><05> 5<> 5<> 5<>!
<EFBFBD> <09><1D>%)<29>$8<>$8<>5<EFBFBD>;P<>;P<>$P<> <09>!<21><1F>+<2B>+<2B>3<><14><1A><1A> <09><0F>"<22>^<5E>^<5E><<3C>t<EFBFBD>}<7D>}<7D> <09><1A><1F>+<2B>+<2B> <09><0F> <0F>:<3A>:<3A>%<25>+<2B>+<2B>#<23>$?<3F>t<EFBFBD>y<EFBFBD>y<EFBFBD>$?<3F>E<EFBFBD>J<EFBFBD>J<EFBFBD>$?<3F>@<40>I<EFBFBD>O<EFBFBD>"<22>j<EFBFBD>j<EFBFBD>7<>E<EFBFBD>K<EFBFBD>K<EFBFBD>I<EFBFBD>O<EFBFBD><1E> <09><0F><18>r*c<00>`<00>|j|<01>}|jr|j<00>S|Srq)r rmr<>)r'r<><00>combined_styles r(<00>__add__z Style.__add__<5F>s,<00><00><1D><19><19>5<EFBFBD>)<29><0E>(6<>(;<3B>(;<3B>~<7E>"<22>"<22>$<24>O<><1E>Or*)r%r )NNrq)r<>r r%r )r)Ir/r0r1r2r r<00>__annotations__r4r5<00>bytesr3r<>r<>rr<>r rr)<00> classmethodr<64>r<>r<>r<>r"rWrUrYr[r]r^r_rarcrerfrgrh<00>propertyr<79>r<>r<>rr<>rr<><00> StyleTyper<65>rr<>r<>r<>r<>rkrlrmr<>r<>rnr<>rsrr<>r
r<>r<>r<>r<>r<><00> TRUECOLORrr
r rr6r*r(r r #s<00><00><08>4 <15>U<EFBFBD>O<EFBFBD><1B><16>u<EFBFBD>o<EFBFBD><1D><14><14><18><18> <13>C<EFBFBD>=<3D><18> <0F>K<EFBFBD> <13>E<EFBFBD>?<3F><1A> <06>I<EFBFBD> <0F> <0E> <0E> <0E> <0E> <0E> <0E> <0E> <0E> <0F> <10> <10> <10><06>J<EFBFBD> <06> <0A>u<EFBFBD><06> <0B>U<EFBFBD><06> <0F><06><06> <0C>V<EFBFBD> <06>
<11>(<28> <06> <0C>X<EFBFBD> <06> <14>[<5B><06> <0C>[<5B><06> <10><17><06> <11>(<28><06> <12>9<EFBFBD><06> <0C>Y<EFBFBD><06> <12>9<EFBFBD><06> <0C>Y<EFBFBD><06> <11>(<28><06> <0C>X<EFBFBD>!<06>" <15>l<EFBFBD>#<06>$<1B><18><1E><1E> <17>-<06><14>8.2<EFBFBD>/3<>#<23>"<22>!%<25>$(<28> $<24>!%<25>"&<26>"&<26>!%<25>%)<29> $<24>#'<27>#'<27>"<22>)-<2D>'JT<01><18><05>e<EFBFBD>S<EFBFBD>j<EFBFBD>)<29>*<2A>JT<01><1A>%<25><05>s<EFBFBD>
<EFBFBD>+<2B>,<2C> JT<01>
<17>t<EFBFBD>n<EFBFBD> JT<01> <16>d<EFBFBD>^<5E> JT<01><19><14><0E>JT<01><1C>D<EFBFBD>><3E>JT<01><18><04>~<7E>JT<01><19><14><0E>JT<01><1A>$<24><1E>JT<01><1A>$<24><1E>JT<01><19><14><0E>JT<01><1D>T<EFBFBD>N<EFBFBD>JT<01><18><04>~<7E>JT<01> <1B>4<EFBFBD>.<2E>!JT<01>"<1B>4<EFBFBD>.<2E>#JT<01>$<17>s<EFBFBD>m<EFBFBD>%JT<01>&<17>t<EFBFBD>C<EFBFBD><13>H<EFBFBD>~<7E>&<26>'JT<01>X<11><1A><11><1A><11>GK<47><15><1C>U<EFBFBD>O<EFBFBD><15>5=<3D>e<EFBFBD>_<EFBFBD><15> <10><15><11><15>.<11><15>X<EFBFBD>d<EFBFBD>3<EFBFBD><03>8<EFBFBD>n<EFBFBD>5<><15>'<27><15><11><15>(<11>#<23>h<EFBFBD>t<EFBFBD>C<EFBFBD><13>H<EFBFBD>~<7E>.<2E>#<23>3<EFBFBD>#<23>7<EFBFBD>#<23><11>#<23>" <10><01>7<EFBFBD>D<EFBFBD>
<0E>q<EFBFBD>'<27>C<EFBFBD> <11>!<21>W<EFBFBD>F<EFBFBD><14>Q<EFBFBD><07>I<EFBFBD> <10><11>G<EFBFBD>E<EFBFBD> <11>!<21>W<EFBFBD>F<EFBFBD><12>1<EFBFBD>g<EFBFBD>G<EFBFBD><12>1<EFBFBD>g<EFBFBD>G<EFBFBD> <11>!<21>W<EFBFBD>F<EFBFBD><15>a<EFBFBD><17>J<EFBFBD> <10><12>H<EFBFBD>E<EFBFBD><13>B<EFBFBD>x<EFBFBD>H<EFBFBD><13>B<EFBFBD>x<EFBFBD>H<EFBFBD> <0A><1D><13><1D><0E><1D>,&<26><13>,&<26>\<1E>$<24><1E>)<1A>[<5B>)<1A>S<EFBFBD>)<1A>V<11><0E>t<EFBFBD><1C> )<29>c<EFBFBD> )<29>c<EFBFBD> )<29><1D><11> )<29><11>A<01><18>)<29>!4<>A<01><19>A<01><11>A<01>$<24>v<EFBFBD>$<24>&3<>C<EFBFBD>3<>D<EFBFBD>3<>
3<>C<EFBFBD>3<>D<EFBFBD>3<>
<1A>#<23><1A> <0E><1B>x<EFBFBD><05><EFBFBD><1B><0E><1B><0E><1D><18>%<25><1F><1D><0E><1D><0E><1A>h<EFBFBD>s<EFBFBD>m<EFBFBD><1A><0E><1A><0E>?<3F><04>?<3F><0E>?<3F><0E>+<2B><0E>+<2B><0E>U<01>d<EFBFBD>3<EFBFBD><03>8<EFBFBD>n<EFBFBD>U<01><0E>U<01><0E><15><0E><15>$<11><0E>t<EFBFBD><1C>?<15>S<EFBFBD>?<15>W<EFBFBD>?<15><1D><11>?<15>B<0F>t<EFBFBD><1C>"<1E>H<EFBFBD>]<5D>$;<3B>"<1E>s<EFBFBD>"<1E><1D>"<1E>H<11>
3<>X<EFBFBD>g<EFBFBD>.<2E>
3<>7<EFBFBD>
3<><11>
3<><11>
3<><11>
3<><15>,<0F>s<EFBFBD><1B><15><1C><15>,<15><08><13> <0A><15><17><15>2<17><18>/:<3A>.C<>.C<>$<24> <18><11><18><1F>{<7B>+<2B> <18>
<1D> <18>
<0A> <18>4
3<><18>#<23><1D>
3<>$<24>
3<><0F>t<EFBFBD><1C><19>(<28>7<EFBFBD>+<2B><19><07><19><1D><19>0P<01>X<EFBFBD>g<EFBFBD>.<2E>P<01>7<EFBFBD>Pr*c<00>\<00>eZdZdZdgZd d<05>Zdefd<06>Zede fd<07><04>Z
de ddfd <09>Z de fd
<EFBFBD>Z y) <0C>
StyleStackzA stack of styles.<2E>_stackr%Nc<00><00>|g|_yrq<00>r)r'<00> default_styles r(r)zStyleStack.__init__<5F>s <00><00>$1<>?<3F><04> r*c<00>"<00>d|j<00>d<02>S)Nz <stylestack <20>>rr<>s r(<00>__repr__zStyleStack.__repr__s<00><00><1D>d<EFBFBD>k<EFBFBD>k<EFBFBD>_<EFBFBD>A<EFBFBD>.<2E>.r*c<00> <00>|jdS)z&Get the Style at the top of the stack.<2E><><EFBFBD><EFBFBD><EFBFBD>rr<>s r(<00>currentzStyleStack.currents<00><00><14>{<7B>{<7B>2<EFBFBD><EFBFBD>r*r<>c<00>Z<00>|jj|jd|z<00>y)z}Push a new style on to the stack.
Args:
style (Style): New style to combine with current style.
r!N)rr<>r<>s r(<00>pushzStyleStack.push s#<00><00> <0A> <0B> <0B><1A><1A>4<EFBFBD>;<3B>;<3B>r<EFBFBD>?<3F>U<EFBFBD>2<>3r*c<00>T<00>|jj<00>|jdS)z}Pop last style and discard.
Returns:
Style: New current style (also available as stack.current)
r!)r<00>popr<70>s r(r&zStyleStack.pops <00><00> <0A> <0B> <0B><0F><0F><19><13>{<7B>{<7B>2<EFBFBD><EFBFBD>r*)rr r%N) r/r0r1r2r3r)r<>rrr r"r$r&r6r*r(rr<00>sW<00><00><1C><19>
<EFBFBD>I<EFBFBD>3<>/<2F>#<23>/<2F><0E><1F><15><1F><0E><1F>4<>%<25>4<>D<EFBFBD>4<><1F>U<EFBFBD>r*r)'r<00> functoolsr<00>operatorr<00>picklerr<00>randomr<00>typingrr r
r r r rrrrrkrrrr<00>reprrr<00>terminal_themerrr<>r<>rr"r r<>rr6r*r(<00><module>r.s<><00><01>
<EFBFBD><1F><1F><1F><1A>I<>I<>I<><14>A<>A<>#<23>A<><19> <0C>j<EFBFBD>-<2D>):<3A>G<EFBFBD>W<EFBFBD><02> <0C>
<12>#<23>w<EFBFBD>,<2C> <1F> <09> <14> <14> <0B>O P<01>O P<01> <0B>O P<01>d<13>W<EFBFBD>
<EFBFBD><1F>r*