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

173 lines
20 KiB
Plaintext
Raw Normal View History

<EFBFBD>
<00><16>ix6<00><00><><00>ddlmZmZddlmZddlmZddlmZddl m
Z
m Z m Z m Z mZmZmZmZmZddlmZddlmZdd lmZmZmZmZdd
lmZdd lmZdd l m!Z!dd l"m#Z#ddl$m%Z%m&Z&ddl'm(Z(ddl)m*Z*e
rddl+m,Z,Gd<12>de<0E>Z-e de#fZ.e de-fZ/Gd<15>de0<65>Z1Gd<17>de1<65>Z2Gd<19>d<1A>Z3Gd<1B>de<01>Z4Gd<1D>de4<65>Z5Gd<1F>d e4<65>Z6e&Gd!<21>d<14><00>Z7e8d"k(<00>rdd#l9mZe<18>Ze7<65>Z:e:jwe7d$d%<25>&<26>e7dd'<27>(<28>e7d)d*<2A>+<2B><00>e:d'jye7d,<2C>-<2D>e7d.d/<2F>0<EFBFBD><00>e:d.jye7d1d/<2F>0<EFBFBD>e7d2<64>-<2D><00>e:d2jwe7d3<64>-<2D>e7d4<64>-<2D>e7d5<64>-<2D><00>e:d,jwe7e:jzd6<64>-<2D>e7d7<64>-<2D><00>e:d1j}d8<64>eje:<3A>y9y9):<3A>)<02>ABC<42>abstractmethod)<01>islice)<01>
itemgetter)<01>RLock) <09> TYPE_CHECKING<4E>Dict<63>Iterable<6C>List<73>
NamedTuple<EFBFBD>Optional<61>Sequence<63>Tuple<6C>Union<6F>)<01> ratio_resolve)<01>Align)<04>Console<6C>ConsoleOptions<6E>RenderableType<70> RenderResult)<01>ReprHighlighter)<01>Panel)<01>Pretty)<01>Region)<02>Result<6C> rich_repr)<01>Segment)<01> StyleType<70><01>Treec<00>2<00>eZdZUdZeed<eeeed<y)<05> LayoutRenderzAn individual layout render.<2E>region<6F>renderN)<08>__name__<5F>
__module__<EFBFBD> __qualname__<5F>__doc__r<00>__annotations__r r<00><00><00>Q/home/daniel/Projects/tamigo-cli/venv/lib/python3.12/site-packages/rich/layout.pyr#r# s<00><00>&<26> <12>N<EFBFBD> <10><14>g<EFBFBD><1D> <1F>r,r#<00>Layoutc<00><00>eZdZdZy)<03> LayoutErrorzLayout related error.N<>r&r'r(r)r+r,r-r0r0+s<00><00>r,r0c<00><00>eZdZdZy)<03>
NoSplitterz"Requested splitter does not exist.Nr1r+r,r-r3r3/s<00><00>,r,r3c<00>H<00>eZdZdZe<04>Zd dddeddfd<07>Zded e de
fd
<EFBFBD>Z y) <0C> _Placeholderz4An internal renderable used as a Layout placeholder.<2E>layoutr.<00>style<6C>returnNc<00> <00>||_||_y<00>N)r6r7)<03>selfr6r7s r-<00>__init__z_Placeholder.__init__8s<00><00><1C><04> <0B><1A><04>
r,<00>console<6C>optionsc#<00>jK<00>|j}|jxs|jj}|j}|jr|j<00>d|<03>d|<04>d<03>nd|<03>d|<04>d<03>}t t jt|<05>d<05><06>|j|j|<06>d|<04><08><00><01>y<00>w) Nz (z x <20>)<29>(<28>middle)<01>vertical<61>blue)r7<00>title<6C> border_style<6C>height) <0B> max_widthrG<00>sizer6<00>namerr<00>centerrr7<00> highlighter)r;r=r><00>widthrGr6rEs r-<00>__rich_console__z_Placeholder.__rich_console__<s<><00><00><><00><18>!<21>!<21><05><18><1E><1E>6<>7<EFBFBD><<3C><<3C>#6<>#6<><06><15><1B><1B><06><16>{<7B>{<7B><16>{<7B>{<7B>o<EFBFBD>R<EFBFBD><05>w<EFBFBD>c<EFBFBD>&<26><18><11> 3<><14>U<EFBFBD>G<EFBFBD>3<EFBFBD>v<EFBFBD>h<EFBFBD>a<EFBFBD>(<28> <0E>
<14> <11>L<EFBFBD>L<EFBFBD><16><06><1E>(<28> ;<3B><16>*<2A>*<2A><16>"<22>"<22>5<EFBFBD>)<29><1F><19> 
<EFBFBD>
<EFBFBD>s<00>B1B3)<01>) r&r'r(r)rrLrr<rrrrNr+r,r-r5r53sD<00><00>><3E>!<21>#<23>K<EFBFBD><1B>x<EFBFBD><1B> <09><1B>4<EFBFBD><1B>
<EFBFBD><1E>
<EFBFBD>)7<>
<EFBFBD> <15>
r,r5c
<00>j<00>eZdZUdZdZeed<edefd<05><04>Zede dde
de e de
ffd <09><04>Z y
) <0B>SplitterzBase class for a splitter.rOrJr8c<00><00>y)z(Get the icon (emoji) used in layout.treeNr+<00>r;s r-<00> get_tree_iconzSplitter.get_tree_iconU<00><00>r,<00>childrenr.r$c<00><00>y)z<>Divide a region amongst several child layouts.
Args:
children (Sequence(Layout)): A number of child layouts.
region (Region): A rectangular region to divide.
Nr+)r;rVr$s r-<00>dividezSplitter.divideYrUr,N)r&r'r(r)rJ<00>strr*rrTrrr
rrXr+r,r-rQrQPsg<00><00>$<24><12>D<EFBFBD>#<23>N<EFBFBD><13>7<>s<EFBFBD>7<><14>7<><14> <0C> <20><18>*<2A> <0C>4:<3A> <0C> <11>%<25><08>&<26>(<28>)<29> *<2A> <0C><14> r,rQc <00>J<00>eZdZdZdZdefd<04>Zdeddede e
deffd<08>Z y )
<EFBFBD> RowSplitterz!Split a layout region in to rows.<2E>rowr8c<00><00>y)Nu[layout.tree.row]⬌r+rSs r-rTzRowSplitter.get_tree_iconjs<00><00>%r,rVr.r$c#<00><>K<00>|\}}}}t||<01>}d}t} t||<07>D]\}
} |
| ||z|| |<06>f<02><01>|| z }<08>y<00>w<01>Nr<00>rr<00>zip) r;rVr$<00>x<>yrMrG<00> render_widths<68>offset<65>_Region<6F>child<6C> child_widths r-rXzRowSplitter.dividemsk<00><00><><00>%<25><1B><01>1<EFBFBD>e<EFBFBD>V<EFBFBD>%<25>e<EFBFBD>X<EFBFBD>6<> <0A><12><06><18><07>"%<25>h<EFBFBD> <0A>"><3E> "<22> <1E>E<EFBFBD>;<3B><17><17><11>V<EFBFBD><1A>Q<EFBFBD> <0B>V<EFBFBD>D<>D<> D<> <12>k<EFBFBD> !<21>F<EFBFBD> "<22><><00>AA
N<> r&r'r(r)rJrYrTrrr
rrXr+r,r-r[r[esG<00><00>+<2B> <10>D<EFBFBD>&<26>s<EFBFBD>&<26> "<22> <20><18>*<2A> "<22>4:<3A> "<22> <11>%<25><08>&<26>(<28>)<29> *<2A> "r,r[c <00>J<00>eZdZdZdZdefd<04>Zdeddede e
deffd<08>Z y )
<EFBFBD>ColumnSplitterz$Split a layout region in to columns.<2E>columnr8c<00><00>y)Nu[layout.tree.column]⬍r+rSs r-rTzColumnSplitter.get_tree_icon~s<00><00>(r,rVr.r$c#<00><>K<00>|\}}}}t||<01>}d}t} t||<07>D]\}
} |
| |||z|| <0B>f<02><01>|| z }<08>y<00>wr_r`) r;rVr$rbrcrMrG<00>render_heightsrerfrg<00> child_heights r-rXzColumnSplitter.divide<64>sk<00><00><><00>%<25><1B><01>1<EFBFBD>e<EFBFBD>V<EFBFBD>&<26>v<EFBFBD>x<EFBFBD>8<><0E><12><06><18><07>#&<26>x<EFBFBD><1E>#@<40> #<23> <1F>E<EFBFBD><<3C><17><17><11>A<EFBFBD><06>J<EFBFBD><05>|<7C>D<>D<> D<> <12>l<EFBFBD> "<22>F<EFBFBD> #<23>riNrjr+r,r-rlrlysG<00><00>.<2E> <13>D<EFBFBD>)<29>s<EFBFBD>)<29> #<23> <20><18>*<2A> #<23>4:<3A> #<23> <11>%<25><08>&<26>(<28>)<29> *<2A> #r,rlc<00><><00>eZdZdZeed<02>Z d*dddddd<06>deedee d ee
d
e
d e
d e d dfd<0E>Z d e fd<0F>Zed efd<10><04>Zed edfd<11><04>Zed efd<12><04>Zde d edfd<13>Zde d dfd<14>Zed+d<15><04>Zdd<17>dedefdeee fd dfd<1A>Zdedefd dfd<1B>Zdedefd dfd<1C>Zdedefd dfd<1D>Zd,d<1E>Zded dfd<1F>Zd d!d"e d dfd#<23>Z d$e
d%e
d e!fd&<26>Z"d e#d'e$d efd(<28>Z%d e#d'e$d e&fd)<29>Z'y)-r.aBA renderable to divide a fixed height in to rows or columns.
Args:
renderable (RenderableType, optional): Renderable content, or None for placeholder. Defaults to None.
name (str, optional): Optional identifier for Layout. Defaults to None.
size (int, optional): Optional fixed size of layout. Defaults to None.
minimum_size (int, optional): Minimum size of layout. Defaults to 1.
ratio (int, optional): Optional ratio for flexible layout. Defaults to 1.
visible (bool, optional): Visibility of layout. Defaults to True.
)r\rmNrT)rJrI<00> minimum_size<7A>ratio<69>visible<6C>
renderablerJrIrsrtrur8c<00><><00>|xs t|<00>|_||_||_||_||_||_|jd<00>|_g|_ i|_
t<00>|_ y)Nrm) r5<00> _renderablerIrsrtrJru<00> splitters<72>splitter<65> _children<65> _render_mapr<00>_lock)r;rvrJrIrsrtrus r-r<zLayout.__init__<5F>sg<00><00>&<26>;<3B><1C>d<EFBFBD>);<3B><04><18><18><04> <09>(<28><04><19><1A><04>
<EFBFBD><18><04> <09><1E><04> <0C>":<3A>$<24>.<2E>.<2E><18>":<3A>"<<3C><04> <0A>')<29><04><0E>&(<28><04><18><1A>W<EFBFBD><04>
r,c#<00><>K<00>d|jdf<03><01>d|jdf<03><01>d|jdf<03><01>d|jdf<03><01>y<00>w)NrJrIrsrrt)rJrIrsrtrSs r-<00> __rich_repr__zLayout.__rich_repr__<5F>sL<00><00><><00><14>d<EFBFBD>i<EFBFBD>i<EFBFBD><14>%<25>%<25><14>d<EFBFBD>i<EFBFBD>i<EFBFBD><14>%<25>%<25><1C>d<EFBFBD>/<2F>/<2F><11>2<>2<><15>t<EFBFBD>z<EFBFBD>z<EFBFBD>1<EFBFBD>$<24>$<24>s<00>AAc<00>6<00>|jr|S|jS)zLayout renderable.)r{rxrSs r-rvzLayout.renderable<6C>s<00><00><1C>~<7E>~<7E>t<EFBFBD>;<3B>4<EFBFBD>+;<3B>+;<3B>;r,c<00>Z<00>|jD<00>cgc]}|js<01>|<01><02>c}Scc}w)zGets (visible) layout children.)r{ru)r;rgs r-rVzLayout.children<65>s"<00><00>$(<28>><3E>><3E>C<>%<25>U<EFBFBD>]<5D>]<5D><05>C<>C<><43>Cs<00>(<04>(c<00><00>|jS)zGet a map of the last render.)r|rSs r-<00>mapz
Layout.map<61>s<00><00><14><1F><1F>r,c<00>v<00>|j|k(r|S|jD]}|j|<01>}|<03><01>|cSy)z<>Get a named layout, or None if it doesn't exist.
Args:
name (str): Name of layout.
Returns:
Optional[Layout]: Layout instance or None if no layout was found.
N)rJr{<00>get)r;rJrg<00> named_layouts r-r<>z
Layout.get<65>sF<00><00> <10>9<EFBFBD>9<EFBFBD><04> <1C><17>K<EFBFBD><1D><1E><1E> (<28><05>$<24>y<EFBFBD>y<EFBFBD><14><EFBFBD> <0C><1F>+<2B>'<27>'<27> (<28>r,c<00>H<00>|j|<01>}|<02>td|<01><02><02><00>|S)NzNo layout with name )r<><00>KeyError)r;rJr6s r-<00> __getitem__zLayout.__getitem__<5F>s,<00><00><15><18><18>$<24><1E><06> <11>><3E><1A>1<>$<24><18>:<3A>;<3B> ;<3B><15> r,c<00><><00><04><05><06><07>ddlm<01>ddlm<03>ddlm}ddd<07>f<04><04>fd<08> <0C>|}|<00>|<02>d |j j<00><00>d
<EFBFBD> <0B>}d <0A><06>fd <0C> <0C><00>||<00>|S)z/Get a tree renderable to show layout structure.r)<01>Styled)<01>Tabler r6r.r8c<00><><00><02>|jj<00>}<01>jd<01><02>}|jr t |<00>n<00>t |<00>d<03>}|j ||<03>|}|S)N)rrrr)<01>padding<6E>dim)rzrT<00>gridrur<00>add_row)r6<00>icon<6F>table<6C>text<78>_summaryr<79>r<>s <20><>r-<00>summaryzLayout.tree.<locals>.summary<72>s`<00><><00><19>?<3F>?<3F>0<>0<>2<>D<EFBFBD><19>J<EFBFBD>J<EFBFBD>|<7C>J<EFBFBD>4<>E<EFBFBD>#)<29>.<2E>.<2E><06>v<EFBFBD><0E>f<EFBFBD>V<EFBFBD>F<EFBFBD>^<5E>U<EFBFBD>6S<36> <11> <12>M<EFBFBD>M<EFBFBD>$<24><04> %<25><1C>H<EFBFBD><1B>Or,<00> layout.tree.T)<02> guide_style<6C> highlightc<00><><00><02>|jD]9}<00>|j<00>|<02>d|jj<00><00><02><02>|<02><00>;y)Nr<4E>)r<>)r{<00>addrzrJ)<05>treer6rg<00>recurser<65>s <20><>r-r<>zLayout.tree.<locals>.recurse<73>sR<00><><00><1F>)<29>)<29> <12><05><17><18>H<EFBFBD>H<EFBFBD><1F><05><0E>&2<>5<EFBFBD>><3E>><3E>3F<33>3F<33>2G<32>$H<><1D><16><1A> <12> r,)r<>r!r6r.r8N)<08> rich.styledr<64><00>
rich.tabler<65><00> rich.treer!rzrJ)r;r!r6r<>r<>r<>r<>r<>s @@@@r-r<>z Layout.tree<65>sg<00><><00> '<27>$<24>"<22>
<1C>H<EFBFBD>
<1C><15>
<1C><16><06><13> <13>F<EFBFBD>O<EFBFBD>&<26>v<EFBFBD><EFBFBD><EFBFBD>';<3B>';<3B>&<<3C>=<3D><1A>
<EFBFBD><04>  <12> <10><04>d<EFBFBD><1B><13> r,rm)rz<00>layoutsrzc<00><00>|D<00>cgc]}t|t<00>r|n
t|<03><00><02>!}} t|t<00>r|n|j|<00>|_||jddycc}w#t
$rt d|<01><02><02><00>wxYw)z<>Split the layout in to multiple sub-layouts.
Args:
*layouts (Layout): Positional arguments should be (sub) Layout instances.
splitter (Union[Splitter, str]): Splitter instance or name of splitter.
zNo splitter called N)<08>
isinstancer.rQryrzr<>r3r{)r;rzr<>r6<00>_layoutss r-<00>splitz Layout.splits<><00><00>"<22>
<EFBFBD><16>!<21><16><16>0<>F<EFBFBD>f<EFBFBD>V<EFBFBD>n<EFBFBD> D<>
<EFBFBD><08>
<EFBFBD> A<01><1E>h<EFBFBD><08>1<><19>-<2D>T<EFBFBD>^<5E>^<5E>H<EFBFBD>-<2D>/<2F> <11>M<EFBFBD>%<25><04><0E><0E>q<EFBFBD><19><>
<EFBFBD><EFBFBD><18> A<01><1C>2<>8<EFBFBD>,<2C>?<3F>@<40> @<40> A<01>s<00>$A'<04>+A,<00>,Bc<00>L<00>d<01>|D<00>}|jj|<02>y)z<>Add a new layout(s) to existing split.
Args:
*layouts (Union[Layout, RenderableType]): Positional arguments should be renderables or (sub) Layout instances.
c3<00>VK<00>|]!}t|t<00>r|n
t|<01><00><01><00>#y<00>wr:)r<>r.)<02>.0r6s r-<00> <genexpr>z#Layout.add_split.<locals>.<genexpr>%s*<00><00><><00>
<EFBFBD><16>!<21><16><16>0<>F<EFBFBD>f<EFBFBD>V<EFBFBD>n<EFBFBD> D<>
<EFBFBD>s<00>')N)r{<00>extend)r;r<>r<>s r-<00> add_splitzLayout.add_splits%<00><00>
<EFBFBD>!<21>
<EFBFBD><08> <0A><0E><0E><1D><1D>h<EFBFBD>'r,c<00>(<00>|j|ddi<01>y)z<>Split the layout in to a row (layouts side by side).
Args:
*layouts (Layout): Positional arguments should be (sub) Layout instances.
rzr\N<>r<><00>r;r<>s r-<00> split_rowzLayout.split_row+s<00><00> <13><04>
<EFBFBD>
<EFBFBD>G<EFBFBD>,<2C>e<EFBFBD>,r,c<00>(<00>|j|ddi<01>y)z<>Split the layout in to a column (layouts stacked on top of each other).
Args:
*layouts (Layout): Positional arguments should be (sub) Layout instances.
rzrmNr<4E>r<>s r-<00> split_columnzLayout.split_column3s<00><00> <13><04>
<EFBFBD>
<EFBFBD>G<EFBFBD>/<2F>h<EFBFBD>/r,c<00>"<00>|jdd<01>=y)zReset splits to initial state.N)r{rSs r-<00>unsplitzLayout.unsplit;s<00><00> <10>N<EFBFBD>N<EFBFBD>1<EFBFBD> r,c<00>T<00>|j5||_ddd<01>y#1swYyxYw)zjUpdate renderable.
Args:
renderable (RenderableType): New renderable object.
N)r}rx)r;rvs r-<00>updatez Layout.update?s(<00><00> <12>Z<EFBFBD>Z<EFBFBD> *<2A>)<29>D<EFBFBD> <1C> *<2A> *<2A> *<2A>s<00><03>'r=r<00> layout_namec<00>2<00>|j5||}|j|\}}|\}}}} |j||jj || <09><00>}
t ||
<EFBFBD>|j|<|j |
||<07>ddd<01>y#1swYyxYw)z<>Refresh a sub-layout.
Args:
console (Console): Console instance where Layout is to be rendered.
layout_name (str): Name of layout.
N)r}r|<00> render_linesr><00>update_dimensionsr#<00>update_screen_lines) r;r=r<>r6r$<00>_linesrbrcrMrG<00>liness r-<00>refresh_screenzLayout.refresh_screenHs<><00><00><12>Z<EFBFBD>Z<EFBFBD> 5<><19>+<2B>&<26>F<EFBFBD>!<21>-<2D>-<2D>f<EFBFBD>5<>N<EFBFBD>F<EFBFBD>F<EFBFBD>$*<2A> !<21>Q<EFBFBD><01>5<EFBFBD>&<26><1B>(<28>(<28><16><07><0F><0F>9<>9<>%<25><16>H<><0E>E<EFBFBD>(4<>F<EFBFBD>E<EFBFBD>'B<>D<EFBFBD> <1C> <1C>V<EFBFBD> $<24> <13> '<27> '<27><05>q<EFBFBD>!<21> 4<> 5<> 5<> 5<>s <00>A7B <03> BrMrGc<00>t<00>|tdd||<02>fg}|j}|j}g}|j}|rO||<05><00>|d\}} |j}
|
r)|jj |
| <09>D]
} || <0B><00> |r<01>Ot |td<03><00><04>D<00><08> cic]\}} || <09><02>
} }} | Scc} }w)z,Create a dict that maps layout on to Region.r<00><><EFBFBD><EFBFBD><EFBFBD>r)<01>key)r<00>append<6E>poprVrzrX<00>sortedr) r;rMrG<00>stack<63>pushr<68><00>layout_regions<6E>append_layout_regionr6r$rV<00>child_and_region<6F>
region_maps r-<00>_make_region_mapzLayout._make_region_mapYs<><00><00>/3<>V<EFBFBD>A<EFBFBD>q<EFBFBD>%<25><16>5P<35>.Q<>-R<><05><14>|<7C>|<7C><04><13>i<EFBFBD>i<EFBFBD><03>68<36><0E>-<2D>4<>4<><1C><13> <20><13><15> '<27>+<2B>B<EFBFBD>/<2F>N<EFBFBD>F<EFBFBD>F<EFBFBD><1D><EFBFBD><EFBFBD>H<EFBFBD><17>(.<2E><0F><0F>(><3E>(><3E>x<EFBFBD><16>(P<>+<2B>$<24><18>)<29>*<2A>+<2B> <14>#)<29><1E>Z<EFBFBD><01>]<5D>"K<>
<EFBFBD><1E><06><06> <13>F<EFBFBD>N<EFBFBD>
<EFBFBD>
<EFBFBD>
<EFBFBD><1A><19><> 
s<00>" B4r>c<00><><00>|j}|jxs |j}|j||<04>}|j<00>D<00><06>cgc]\}}|js||f<02><02>}}}i} |j
}
|j } |D]B\}}|
|j| |j|j<00><00>} t|| <0C>| |<<00>D| Scc}}w)z<>Render the sub_layouts.
Args:
console (Console): Console instance.
options (ConsoleOptions): Console options.
Returns:
RenderMap: A dict that maps Layout on to a tuple of Region, lines
)
rHrGr<><00>itemsrVr<>r<>rvrMr#) r;r=r><00> render_width<74> render_heightr<74>r6r$r<><00>
render_mapr<EFBFBD>r<>r<>s r-r%z Layout.renderns<><00><00><1F>(<28>(<28> <0C><1F><0E><0E>8<>'<27>.<2E>.<2E> <0A><19>*<2A>*<2A><<3C><1D>G<>
<EFBFBD>#-<2D>"2<>"2<>"4<>
<EFBFBD><1E><06><06><19>?<3F>?<3F><14>V<EFBFBD> <1C>
<EFBFBD><0E>
<EFBFBD>
68<36>
<EFBFBD><1E>+<2B>+<2B> <0C>#<23>5<>5<><19>,<2C> =<3D>N<EFBFBD>F<EFBFBD>F<EFBFBD> <20><16>!<21>!<21>#4<>V<EFBFBD>\<5C>\<5C>6<EFBFBD>=<3D>=<3D>#Q<><0E>E<EFBFBD>".<2E>f<EFBFBD>e<EFBFBD>!<<3C>J<EFBFBD>v<EFBFBD> <1E>  =<3D>
<1A><19><>
s<00> C c
#<00>DK<00>|j5|jxs |j}|jxs |j}|j ||j ||<04><00>}||_t|<04>D<00>cgc]}g<00><02>}}t}|j<00>D]<\} }
| \} } } }t||| | |z<00>|
<EFBFBD>D]\}}|j|<10><00><00>>tj<00>}|D]}|Ed{<00><03><02>|<11><02><00> ddd<00>ycc}w7<00>#1swYyxYw<01>wr:)r}rHrMrGr%r<>r|<00>ranger<00>valuesrar<>r<00>line)r;r=r>rMrGr<><00>_<> layout_lines<65>_islicer$r<><00>_xrc<00> _layout_width<74> layout_heightr\r<><00>new_line<6E>
layout_rows r-rNzLayout.__rich_console__<5F>s(<00><00><><00><12>Z<EFBFBD>Z<EFBFBD> <1F><1B>%<25>%<25>6<><17><1D><1D>E<EFBFBD><1C>^<5E>^<5E>5<>w<EFBFBD>~<7E>~<7E>F<EFBFBD><1D><1B><1B>W<EFBFBD>g<EFBFBD>.G<>.G<><05>v<EFBFBD>.V<>W<>J<EFBFBD>)<29>D<EFBFBD> <1C>=B<>6<EFBFBD>]<5D>0K<30><01><12>0K<30>L<EFBFBD>0K<30><1C>G<EFBFBD>!+<2B>!2<>!2<>!4<> %<25> <0A><06><05>6<<3C>3<><02>A<EFBFBD>}<7D>m<EFBFBD>!$<24><1B>L<EFBFBD>!<21>Q<EFBFBD><1D>-><3E>?<3F><15>"<12>%<25>I<EFBFBD>C<EFBFBD><14><18>J<EFBFBD>J<EFBFBD>t<EFBFBD>$<24>%<25> %<25><1F>|<7C>|<7C>~<7E>H<EFBFBD>*<2A> <1F>
<EFBFBD>%<25>%<25>%<25><1E><0E> <1F> <1F> <1F><>
1L<01>&<26><>! <1F> <1F>s<<00> D <01>A+D<03>: D <06>A5D<03>8D<08>9
D<03> D <01> D<03>D<07>D r:)r8r!)r8N)(r&r'r(r)r[rlryr rrY<00>int<6E>boolr<rr<00>propertyrvr rV<00> RenderMapr<70>r<>r<>r<>rrQr<>r<>r<>r<>r<>r<>r<><00> RegionMapr<70>rrr%rrNr+r,r-r.r.<00>s;<00><00> <08>$<24>~<7E>><3E>I<EFBFBD>04<30><1D>#<23>"<22><1D><16><1C><1D><1C>^<5E>,<2C><1D><17>s<EFBFBD>m<EFBFBD> <1D>
<17>s<EFBFBD>m<EFBFBD> <1D> <1A> <1D><13><1D><16><1D>
<0E><1D>*%<25>v<EFBFBD>%<25> <0E><<3C>N<EFBFBD><<3C><0E><<3C><0E>D<01>$<24>x<EFBFBD>.<2E>D<01><0E>D<01><0E> <20>Y<EFBFBD> <20><0E> <20><14><03><14><08><18> 2<><14>$<16><03><16><08><16> <0E>$<14><0E>$<14>R*2<>%<25><17><08>.<2E>0<>1<>%<25><18><08>#<23> <0A>&<26>%<25>
<0E> %<25>2 (<28>%<25><08>.<2E>(@<40>"A<> (<28>d<EFBFBD> (<28>-<2D>%<25><08>.<2E>(@<40>"A<>-<2D>d<EFBFBD>-<2D>0<>U<EFBFBD>8<EFBFBD>^<5E>+C<>%D<>0<><14>0<><1E>*<2A><1E>*<2A>D<EFBFBD>*<2A>5<>i<EFBFBD>5<>c<EFBFBD>5<>d<EFBFBD>5<>"<1A>c<EFBFBD><1A>3<EFBFBD><1A>9<EFBFBD><1A>*<1A>g<EFBFBD><1A><0E><1A>9<EFBFBD><1A>:<1F><1E><1F>)7<><1F> <15>r,<00>__main__)r<00>header<65>)rJrI<00>main)rtrJ<00>
<00>footer)rIrJ<00>side)rJ<00>body<64>)rJrt<00>content<6E>s2<73>toprB<00>bottom<6F>left1<74>left2<74>fooN)@<40>abcrr<00> itertoolsr<00>operatorr<00> threadingr<00>typingrr r
r r r rrr<00>_ratior<00>alignrr=rrrrrLr<00>panelr<00>prettyrr$r<00>reprrr<00>segmentrr7rr<>r!r#r<>r<><00> Exceptionr0r3r5rQr[rlr.r&<00> rich.consoler6r<>r<>r<>r<><00>printr+r,r-<00><module>r<>s<><00><01>#<23><1C><1F><1B>
<02>
<02>
<02>"<22><18>J<>J<>(<28><18><1A><1A>#<23><1C><1C><10><1E> <20>:<3A> <20> <11><18>6<EFBFBD>!<21> "<22> <09> <10><18><<3C>'<27> (<28> <09> <20>)<29> <20>-<2D><1B>-<2D>
<EFBFBD>
<EFBFBD>: <0C>s<EFBFBD> <0C>*"<22>(<28>"<22>(#<23>X<EFBFBD>#<23>( <0B>Q<1F>Q<1F> <0B>Q<1F>h <0C>z<EFBFBD><19>$<24><15>i<EFBFBD>G<EFBFBD> <13>X<EFBFBD>F<EFBFBD>
<EFBFBD><17><17><0E>H<EFBFBD>1<EFBFBD>%<25><0E>Q<EFBFBD>V<EFBFBD>$<24><0E>B<EFBFBD>X<EFBFBD>&<26><06>  <0B>6<EFBFBD>N<EFBFBD><1C><1C>V<EFBFBD><16>0<>&<26>f<EFBFBD>A<EFBFBD>2N<32>O<>
<EFBFBD>6<EFBFBD>N<EFBFBD><1C><1C>V<EFBFBD><19>!<21><<3C>f<EFBFBD>$<24>>O<>P<>
<EFBFBD>4<EFBFBD>L<EFBFBD><1D><1D><0E>E<EFBFBD><1A>F<EFBFBD><08>1<>6<EFBFBD>x<EFBFBD>3H<33><06> <0B>6<EFBFBD>N<EFBFBD><1F><1F><06>v<EFBFBD>{<7B>{<7B><17> A<>6<EFBFBD>w<EFBFBD>CW<43>X<>
<EFBFBD>9<EFBFBD><15><1C><1C>U<EFBFBD>#<23> <0B>M<EFBFBD>M<EFBFBD>&<26><19>1r,