§
   RßÝ�¼ûKã                   ó¦  — d Z ddlZddlZddlZddlZdZdZdZdddd	d
ddddœZdZ	e	f e
e¦  «        z   Zd\  ZZZZZdddddœZd\  ZZddddddddddd œ
Zd!\  ZZd"d#d$d%œZd&Zi d'd(“d)d*“d+d,“dd-“dd.“dd/“dd0“dd1“dd2“d3d4“d5d6“dd7“dd8“dd9“dd:“dd;“dd<“d=d>d?d@dAdBdCœ¥ZdD„ ZdE„ ZdUdG„ZdH„ ZdUdI„ZdJ„ ZdK„ Z dL„ Z!dM„ Z"dNZ#dOZ$dP„ Z%dQ„ Z&dR„ Z'dS„ Z(dT„ Z)dS )Vu   Home rows of the Pro tebe section (docs/plan/pro-tebe/030): ListItems from the stored snapshot, never the network.

Rows `fy_*` go through the main.py fast path (rows.run -> here). Cards are drawn by the same builders as the library
rows (wcs/library2/rows.py), so cards, hero, clicks and the context menu behave the same; the hero gets the match
("94 % shoda") as its badge and the reason ("ProtoÅ¾e jsi vidÄ›l Matrix") next to it. The snapshot is mode-specific
(all / movie / tv), chosen with the hero button "Zobrazit" (wcs/foryou/mode.py).
é    Nzplugin.video.milionarzhttps://image.tmdb.org/t/p/w500z https://image.tmdb.org/t/p/w1280)Úfor_your   )Útop10r   )Úbecauser   )r   é   )r   é   )Útonightr   )Únewr   )Úgemsr   )Ú
fy_for_youÚfy_top10Úfy_because_1Úfy_because_2Úfy_because_3Ú
fy_tonightÚfy_newÚfy_gemsÚfy_continue)éä‰  éå‰  éç‰  éè‰  éé‰  iê‰  ië‰  éì‰  ií‰  )ÚmorningÚ	afternoonÚeveningÚnight)éî‰  éï‰  r   r   ið‰  iñ‰  iò‰  ió‰  iô‰  iõ‰  éö‰  )
Úbecause_watchedÚbecause_likedÚ
similar_toÚbecause_listÚmakerÚactorÚ
collectionÚgenreÚtrendingÚquality)é÷‰  éø‰  éý‰  éþ‰  éÿ‰  )Úcz_dubÚcz_subÚsk_dub)Ú4KÚ1080pr   zPro teber   u   PokraÄ�ovatr   u   Top 10 v ÄŒRu   ProtoÅ¾e jsi vidÄ›l {}u   PodobnÃ© jako {}u   Na rÃ¡nozNa odpoledneu   Na dneÅ¡nÃ­ veÄ�erzNa nocr   u   NovÄ› s CZ dabingemr   u   SkrytÃ© klenotyu!   PodobnÃ© jako {} z tvÃ©ho seznamuu   Od tvÅ¯rce {}zHraje {}zZ kolekce {}u   TvÅ¯j Å¾Ã¡nr: {}u   TeÄ� frÄ�Ã­u   Vysoce hodnocenÃ©z
{} % shodazTOP {}z	CZ dabingz
CZ titulkyz	SK dabing)r    r+   r,   r-   r.   r/   c                 ó�   — t          j        t          ¦  «                             | ¦  «        pt                               | d¦  «        S )NÚ )Ú	xbmcaddonÚAddonÚADDON_IDÚgetLocalizedStringÚFALLBACKÚget)Ú	string_ids    ú`/Users/chudy/Library/Application Support/Kodi/addons/plugin.video.milionar/wcs/foryou/widgets.pyÚ_textr?   *   s5   € ÝŒ?�8Ñ$Ô$×7Ò7¸	ÑBÔBÐaÅhÇlÂlÐS\Ð^`ÑFaÔFaÐaó    c                  óò   — ddl m}  	 |                      ¦   «         S # t          $ rP}t	          j        d                     t          |¦  «        j        |¦  «        t          j	        ¦  «         Y d }~d S d }~ww xY w)Nr   )Úengineu1   [MilionÃ¡Å™ ProTebe] snapshot read failed: {}: {})
Ú
wcs.foryourB   ÚloadÚ	ExceptionÚxbmcÚlogÚformatÚtypeÚ__name__Ú
LOGWARNING)rB   Úexcs     r>   Ú	_snapshotrM   .   s…   € Ø!Ð!Ð!Ð!Ð!Ð!ðØ�{Š{‰}Œ}ÐøÝð ð ð ÝŒÐD×KÒKÍDÐQTÉIÌIÔL^Ð`cÑdÔdÕfjÔfuÑvÔvÐvØˆtˆtˆtˆtˆtøøøøðøøøs   ˆ œ
A6¦AA1Á1A6Úallc                 óÐ   ‡— t           |         \  Š}ˆfd„| pi                      di ¦  «                             |¦  «        pg D ¦   «         }|t          |¦  «        k     r||         nd S )Nc                 ó,   •— g | ]}|d          ‰k    ¯|‘ŒS )Úkind© )Ú.0ÚrrQ   s     €r>   ú
<listcomp>zfind_row.<locals>.<listcomp>9   s(   ø€ Ð_Ð_Ð_�1ÈQÈvÌYÐZ^ÒM^ÐM^ˆQÐM^ÐM^ÐM^r@   Úmodes)ÚROWSr<   Úlen)ÚsnapshotÚrowÚmodeÚnthÚfoundrQ   s        @r>   Úfind_rowr^   7   sn   ø€ Ý�S”	�I€Dˆ#Ø_Ð_Ð_Ð_˜˜ R×,Ò,¨W°bÑ9Ô9×=Ò=¸dÑCÔCÐIÀrÐ_Ñ_Ô_€EØ�s 5™zœzÒ)Ð)ˆ5�Œ:ˆ:¨tÐ3r@   c                 ó8  — |sdS |                      d¦  «        t          v r;t          t                                |                      d¦  «        d¦  «        ¦  «        nd}|sdS |                      d¦  «        p=|                       di ¦  «                              |                      dd¦  «        d¦  «        }|d         dk    r8|                       di ¦  «                              t          |¦  «        ¦  «        pd}d	|v r|sdS d	|v r|                     |¦  «        n|S )
Nr6   rQ   r   ÚargÚseed_titlesÚseedr(   Úgenresz{})r<   ÚREASONSr?   ÚstrrH   )rY   ÚreasonÚtemplater`   s       r>   Úreason_textrh   =   s  € Øð ØˆrØ<B¿JºJÀvÑ<NÔ<NÕRYÐ<YÐ<Y�u•W—[’[ §¢¨FÑ!3Ô!3°QÑ7Ô7Ñ8Ô8Ð8Ð_a€HØð ØˆrØ
�*Š*�UÑ
Ô
Ð
^˜xŸ|š|¨M¸2Ñ>Ô>×BÒBÀ6Ç:Â:ÈfÐVXÑCYÔCYÐ[]Ñ^Ô^€CØˆf„~˜Ò Ð Ø�lŠl˜8 RÑ(Ô(×,Ò,­S°©X¬XÑ6Ô6Ð<¸"ˆØˆxÐÐ ÐØˆrØ#'¨8Ð#3Ð#3ˆ8�?Š?˜3ÑÔÐ¸ÐAr@   c                 óÔ  — |t           k    rt          t          ¦  «        S | rt          | ||¦  «        nd}t          |         d         }|dk    r’|sdS |                      di ¦  «                             |d         d¦  «        }|                     d¦  «        pi                      d¦  «        d	k    }t          |rt          nt          ¦  «                             |¦  «        S |d
k    rVt          t                               |pi                      d¦  «        p| pi                      d¦  «        pdd¦  «        ¦  «        S t          t          t          t          t          dœ|         ¦  «        S )zmHeader of a row; the 'because' and time-of-day rows name their seed / slot, so they change with the snapshot.Nr   r   r6   ra   rb   rf   rQ   r"   r   Úslotr   r   )r   r   r	   r
   )ÚCONTINUEr?   Ú
S_CONTINUEr^   rW   r<   ÚS_LIKEÚ	S_BECAUSErH   ÚS_SLOTSÚ	S_SECTIONÚS_TOPÚS_NEWÚS_GEMS)rY   rZ   r[   r]   rQ   ÚtitleÚlikeds          r>   Ú	row_titlerv   K   sF  € à
�h‚€Ý•ZÑ Ô Ð Ø-5Ð?�H�X˜s DÑ)Ô)Ð)¸4€EÝ�Œ9�QŒ<€DØˆyÒÐØð 	Ø�2Ø—’˜]¨BÑ/Ô/×3Ò3°E¸&´MÀ2ÑFÔFˆØ—’˜8Ñ$Ô$Ð*¨×/Ò/°Ñ7Ô7¸?ÒJˆÝ˜uÐ3•V�V­)Ñ4Ô4×;Ò;¸EÑBÔBÐBØˆyÒÐÝ•W—[’[ % +¨2×!2Ò!2°6Ñ!:Ô!:Ð!g¸x¸~È2×>RÒ>RÐSYÑ>ZÔ>ZÐ!gÐ^gÐinÑoÔoÑpÔpÐpÝ�Yµ½uÍfÐUÐUÐVZÔ[Ñ\Ô\Ð\r@   c                 ó´  — |                       d¦  «        r|                       d¦  «        pdgd         nd}| d         | d         |                       d¦  «        p| d         t          |                       d¦  «        pd¦  «        t          |                       d¦  «        pd¦  «        |                       d	¦  «        pd|                       d
¦  «        rt          | d
         z   nd|                       d¦  «        rt          | d         z   nd|                       d¦  «        pd|dœ
}| d         dk    rC|                     dt          |                       d¦  «        pd¦  «        dddddddddœ
¦  «         ng|                     dt          |                       d¦  «        pd¦  «        |                       d¦  «        pd|                       d¦  «        ddgdœ¦  «         |S )zYA rows.py card from a snapshot item (titles that are not in the library: no watch state).Úgenre_namesr6   r   Úidrt   Úoriginal_titleÚyearÚratingÚoverviewÚposterÚbackdrop)
ry   rt   Úoriginalr{   r|   Úplotr~   Úfanartr   r(   ÚmediaÚmovieÚruntimeg        F)
rQ   r…   Ú	playcountÚresumeÚresume_totalÚtimeÚaddedÚactivityÚhiddenÚplayedÚtvÚseasonsÚend_yearÚended)rQ   r�   r�   r‘   Úcounts)r<   re   ÚfloatÚPOSTERÚBACKDROPÚupdateÚint)Úitemr(   Úbases      r>   Ú_cardrš   \   sû  € à48·H²H¸]Ñ4KÔ4KÐSˆT�XŠX�mÑ$Ô$Ð,¨¨¨aÔ0Ð0ÐQS€EØ�t”* t¨G¤}À$Ç(Â(ÐK[ÑB\ÔB\ÐBmÐ`dÐelÔ`mÝ˜Ÿš Ñ(Ô(Ð.¨BÑ/Ô/½5ÀÇÂÈ(ÑASÔASÐAXÐWXÑ;YÔ;YÐcg×ckÒckÐlvÑcwÔcwÐc}Ð{}Ø15·²¸(Ñ1CÔ1CÐK•f˜t Hœ~Ñ-Ð-ÈØ59·X²X¸jÑ5IÔ5IÐQ•h  jÔ!1Ñ1Ð1ÈrØŸš Ñ,Ô,Ð2°¸Uð	Dð D€Dð
 ˆG„}˜ÒÐØ�Š˜Wµ°T·X²X¸iÑ5HÔ5HÐ5MÈAÑ1NÔ1NÐ]^ÐjmØ%(°!¸aÈQÐZ_Ðkpðrð rñ 	sô 	sð 	sð 	sð 	�Š˜T­c°$·(²(¸9Ñ2EÔ2EÐ2JÈÑ.KÔ.KÐY]×YaÒYaÐblÑYmÔYmÐYsÐqsØ"Ÿhšh wÑ/Ô/¸A¸q¸6ðCð Cñ 	Dô 	Dð 	Dà€Kr@   c                 ó”   ‡— |                       di ¦  «        Št          |ˆfd„|                      d¦  «        pg D ¦   «         ¬¦  «        S )Nrc   c                 ó˜   •— g | ]F}‰                      t          |¦  «        ¦  «        ¯$‰                      t          |¦  «        ¦  «        ‘ŒGS rR   )r<   re   )rS   ÚgÚnamess     €r>   rU   z%_with_genre_names.<locals>.<listcomp>o   sI   ø€ Ð"lÐ"lÐ"l¸ÐZ_×ZcÒZcÕdgÐhiÑdjÔdjÑZkÔZkÐ"l 5§9¢9­S°©V¬VÑ#4Ô#4Ð"lÐ"lÐ"lr@   )rx   )r<   Údict)rY   r˜   rž   s     @r>   Ú_with_genre_namesr    m   sP   ø€ Ø�LŠL˜ 2Ñ&Ô&€EÝ�Ð"lÐ"lÐ"lÐ"l¸d¿hºhÀxÑ>PÔ>PÐ>VÐTVÐ"lÑ"lÔ"lÐmÑmÔmÐmr@   c           
      óJ	  ‡— ddl m}m} ddlm} | t
          k    r:t          |¦  «        }|                     ||                     d¦  «        ¦  «         |S t          ¦   «         Š|                     d¦  «        dv r|                     d¦  «        nd}t          ‰| |¦  «        }|sg S |                     |¦  «        }|                     | |                     d¦  «        pd¦  «        }	|                     d	¦  «        d
k    }
ˆfd„|d         D ¦   «         d|…         }g }|D ]M}t          t          ‰‰d         |         ¦  «        ¦  «        }|                     |d         ||	|
dddœ¦  «         ŒN|                     ¦   «         }|                     |                     ||¦  «        ¦  «        }|                     d¦  «        }t'          t)          ||¦  «        d¦  «        D �]r\  }\  }\  }}}‰d         |         }|d         dk    rKt+          t,          ¦  «                             |¦  «        }|                     dt3          |¦  «        ¦  «         nE|                     d¦  «        r.t+          t4          ¦  «                             |d         ¦  «        }nd}t7          ‰|r|                     d¦  «        dk    r|n|                     d¦  «        ¦  «        }|d         dk    rt+          t8          d         ¦  «        }t;          |¦  «        }|rƒddlm} |                      d¦  «        }|j!        dz  dz   |j!        dz  z   }|                     d|r||z   nd| "                    |rd|z   n|¦  «        z   ¦  «         |                     d|¦  «         |                     d¦  «        r|                     d|d         ¦  «         |                     d| #                    ¦   «         ¦  «         |                     d|r|nd¦  «         |                     d t3          |                     d¦  «        pd¦  «        ¦  «         |                     d!|¦  «         �Œt| d"k    r#tI          ‰¦  «        rtK          ‰|¦  «        g|z   }|                     ||                     d¦  «        ¦  «         |S )#z/[(path, ListItem, folder)] of one Pro tebe row.r   )ÚclicksÚrows)r[   r[   ©r„   rŽ   rN   Úclickr6   ÚstyleÚ	landscapec                 ó(   •— g | ]}|‰d          v ¯|‘ŒS )ÚitemsrR   )rS   ÚkrY   s     €r>   rU   zbuild.<locals>.<listcomp>‚   s(   ø€ Ð@Ð@Ð@�!¨¨h°wÔ.?Ð)?Ð)?ˆAÐ)?Ð)?Ð)?r@   r©   NrQ   )rQ   Úcardr¥   r§   ÚepisodeÚepisode_kindrf   r   r   zmilionar.fy.rankÚmatchr)   ©Úherozmilionar.hero.kickeré   ú u   Â· zmilionar.fy.langÚlogozmilionar.hero.title_imagezmilionar.hero.badgezmilionar.hero.nowzmilionar.fy.matchzmilionar.fy.reasonr   )&Úwcs.library2r¢   r£   rC   r[   rk   Ú	_continueÚregisterr<   rM   r^   Ú_limitÚresolverš   r    ÚappendÚDataÚ_renderÚ_prepareÚ	enumerateÚzipr?   ÚS_TOP_NrH   ÚsetPropertyre   ÚS_MATCHrh   rd   Ú	_languageÚwcs.skinr°   ÚgetPropertyÚHAIRÚtrackÚupperÚ
needs_pickÚ
_pick_card)rZ   Úparamsr¢   r£   Úsection_moder©   r[   r]   Úlimitr¥   r§   ÚkeysÚdescriptorsÚkeyr«   ÚdataÚ
row_reasonÚrankÚ_pathr˜   Ú_folderÚentryÚbadgerf   Úlanguager°   ÚkickerÚgaprY   s                               @r>   ÚbuildrÚ   r   sí  ø€ à)Ð)Ð)Ð)Ð)Ð)Ð)Ð)Ø/Ð/Ð/Ð/Ð/Ð/Ø
�h‚€Ý˜&Ñ!Ô!ˆØ×Ò˜e V§Z¢Z°Ñ%7Ô%7Ñ8Ô8Ð8ØˆÝ‰{Œ{€HØ!'§¢¨FÑ!3Ô!3°Ð!FÐ!Fˆ6�:Š:�fÑÔÐÈE€DÝ�X˜s DÑ)Ô)€EØð Øˆ	Ø�KŠK˜ÑÔ€EØ�NŠN˜3 §
¢
¨7Ñ 3Ô 3Ð 9°rÑ:Ô:€EØ—
’
˜7Ñ#Ô# {Ò2€IØ@Ð@Ð@Ð@�u˜W”~Ð@Ñ@Ô@ÀÀ%ÀÔH€DØ€KØð Bð BˆÝÕ& x°¸'Ô1BÀ3Ô1GÑHÔHÑIÔIˆØ×Ò D¨¤L¸$ÈÐ]fØ'+¸RðAð Añ 	Bô 	Bð 	Bð 	Bà�9Š9‰;Œ;€DØ�LŠL˜Ÿš {°DÑ9Ô9Ñ:Ô:€EØ—’˜8Ñ$Ô$€JÝ/8½¸TÀ5Ñ9IÔ9IÈ1Ñ/MÔ/Mð 7ñ 7Ñ+ˆÑ+ˆsÑ*�U˜D 'Ø˜Ô! #Ô&ˆØ�Œ=˜GÒ#Ð#Ý�'‘N”N×)Ò)¨$Ñ/Ô/ˆEØ×ÒÐ/µ°T±´Ñ;Ô;Ð;Ð;Ø�YŠY�wÑÔð 	Ý�'‘N”N×)Ò)¨%°¬.Ñ9Ô9ˆEˆEàˆEÝ˜X°Zð (6ÀJÇNÂNÐSYÑDZÔDZÐ^hÒDhÐDh z zØ"'§)¢)¨HÑ"5Ô"5ñ7ô 7ˆà�Œ=˜GÒ#Ð#Ý�7 :Ô.Ñ/Ô/ˆFÝ˜UÑ#Ô#ˆØð 	;Ø%Ð%Ð%Ð%Ð%Ð%Ø×%Ò%Ð&<Ñ=Ô=ˆFØ”)˜a‘- #Ñ%¨¬	°A©Ñ5ˆCØ×ÒÐ3ÀfÐ6T°f¸s±l°lÐRTÐX\×XbÒXbÐw}ð  dLÐchÐksÑcsÐcsð  DLñ  YMô  YMñ  6Mñ  Nô  Nð  NØ×ÒÐ/°Ñ:Ô:Ð:Ø�9Š9�VÑÔð 	IØ×ÒÐ8¸%À¼-ÑHÔHÐHØ×ÒÐ.°·²±´Ñ>Ô>Ð>Ø×ÒÐ,¸Ð.E¨f¨fÀ2ÑFÔFÐFØ×ÒÐ,­c°%·)²)¸GÑ2DÔ2DÐ2JÈÑ.KÔ.KÑLÔLÐLØ×ÒÐ-¨vÑ6Ô6Ð6Ñ6Ø
ˆlÒÐ�z¨(Ñ3Ô3ÐÝ˜H dÑ+Ô+Ð,¨uÑ4ˆØ×Ò˜% §¢¨FÑ!3Ô!3Ñ4Ô4Ð4Ø€Lr@   c                 óþ   — |                       d¦  «        t          v r t          t          | d                  ¦  «        nd}|r*|                       d¦  «        t          v r|d| d         z   z  }|                     ¦   «         S )NÚlangr6   r*   u    Â· )r<   ÚLANG_LABELSr?   ÚSHOWN_QUALITYrÇ   )rÕ   Úlabels     r>   rÂ   rÂ   «   st   € Ø16·²¸6Ñ1BÔ1BÅkÐ1QÐ1Q�E•+˜e FœmÔ,Ñ-Ô-Ð-ÐWY€EØð +�—’˜9Ñ%Ô%­Ð6Ð6Ø�˜% 	Ô*Ñ*Ñ*ˆØ�;Š;‰=Œ=Ðr@   )ÚwatchedÚlikeÚpickr±   c                 óp   — t          d„ |                      d¦  «        pg D ¦   «         ¦  «        t          k     S )zUToo little taste yet (a new household, a few films opened): offer the first-run pick.c              3   ó†   K  — | ]<}|                      d ¦  «        t          v ¯|                      dd¦  «        dk    ¯8dV — Œ=dS )rQ   Úweightr   r   N)r<   ÚSTRONG)rS   Úss     r>   ú	<genexpr>zneeds_pick.<locals>.<genexpr>¸   sT   è è € ÐlÐl�Q¸¿º¸v¹¼Í&Ð9PÐ9PÐUV×UZÒUZÐ[cÐefÑUgÔUgÐjkÒUkÐUkˆqÐUkÐUkÐUkÐUkÐlÐlr@   Úseeds)Úsumr<   Ú
MIN_STRONG)rY   s    r>   rÈ   rÈ   ¶   s6   € åÐlÐl˜(Ÿ,š, wÑ/Ô/Ð5°2ÐlÑlÔlÑlÔlÕoyÒyÐyr@   c                 óØ  — ddl }ddlm} ddlm} |                     |j        ¦  «        }d                     t          ¦  «        }d                     t          d¦  «        }| 	                    ||d¬	¦  «        }| 
                    d
d
d
dœ¦  «         ||                     |¦  «        |                     |                     d¦  «                             ¦   «         ¦  «        d|                     d¦  «        ddd|                     d¦  «                             ¦   «         |                     d¦  «        dœ
}	|                     ||	|dd|df¬¦  «         |                     d|¦  «         ||dfS )ug   The first card of Pro tebe for a household without taste: 'Vyber, co mÃ¡Å¡ rÃ¡d' opens the pick dialog.r   N)Úfeedbackr¯   z*RunPlugin(plugin://{}/?action=foryou_pick)z#plugin://{}/?action=skin_run&run={}zaction%3Dforyou_pickT)rß   ÚpathÚ	offscreenzDefaultFavourites.png)r~   ÚthumbÚiconiŠ  r6   iŠ  iŠ  iŠ  )
rt   ÚsizerØ   r|   r�   ÚleftÚnoter‚   rÖ   Únow)Úplayr6   )ÚidsÚlabelszmilionar.execF)ÚxbmcguirC   rí   rÃ   r°   ÚtextÚS_PICK_CARDrH   r9   ÚListItemÚsetArtrò   rÆ   rÇ   ÚapplyrÀ   )
rY   rÍ   rù   rí   r°   rt   Úrunrî   r˜   Útextss
             r>   rÉ   rÉ   »   ss  € à€N€N€NØ#Ð#Ð#Ð#Ð#Ð#ØÐÐÐÐÐØ�MŠM˜(Ô.Ñ/Ô/€EØ
6×
=Ò
=½hÑ
GÔ
G€CØ0×7Ò7½ÐBXÑYÔY€DØ×Ò %¨d¸dÐÑCÔC€DØ‡K‚KÐ2Ð=TÐ^uÐvÐvÑwÔwÐwØ T§Y¢Y¨uÑ%5Ô%5ÀÇÂÈHÏMÊMÐZ_ÑL`ÔL`×LfÒLfÑLhÔLhÑAiÔAiÐuwØ—]’] 5Ñ)Ô)°2¸rÈRØ—m’m EÑ*Ô*×0Ò0Ñ2Ô2¸8¿=º=ÈÑ;OÔ;OðQð Q€Eð 	‡J‚Jˆt�U˜C ¨¸uÀb¸k€JÑJÔJÐJØ×Ò�_ cÑ*Ô*Ð*Ø��uÐÐr@   c           	      ó  — ddl m} |                     | ¦  «        }|                     ¦   «         }|                      d¦  «        }|dk    rg n4|                     dt          | t          |¦  «        dd¬¦  «        |¦  «        }|d	k    rg n3|                     d
t          | t          |¦  «        d¬¦  «        |¦  «        }t          ||z   d„ ¬¦  «        d|…         }| 	                    | 
                    ||¦  «        ¦  «        S )uc   PokraÄ�ovat: the films in progress and the next episodes, the latest activity first, as wide cards.r   )r£   r[   rŽ   Úcont_moviesr§   r‹   )rÌ   r¦   Úsortr„   Úcont_series)rÌ   r  c                 ót   — | d                               d¦  «        p| d                               d¦  «        pd S )Nr«   r‹   r‰   r   )r<   )Úds    r>   ú<lambda>z_continue.<locals>.<lambda>Ö   s:   € °A°f´I·M²MÀ*Ñ4MÔ4MÐ4kÐQRÐSYÔQZ×Q^ÒQ^Ð_eÑQfÔQfÐ4kÐjkÐ2l€ r@   )rÏ   N)r´   r£   r·   rº   r<   Ú_buildrŸ   re   Úsortedr»   r¼   )rÊ   r£   rÌ   rÐ   r[   ÚfilmsÚseriesÚmergeds           r>   rµ   rµ   Í   s  € à!Ð!Ð!Ð!Ð!Ð!Ø�KŠK˜ÑÔ€EØ�9Š9‰;Œ;€DØ�:Š:�fÑÔ€DØ˜$’,�,ˆBˆB D§K¢K°½tÀFÕRUÐV[ÑR\ÔR\ÐdoØLVð@Xñ @Xô @XØY]ñ%_ô %_€Eà˜7’?�?ˆRˆR¨¯ª°MÅ4ÈÕVYÐZ_ÑV`ÔV`ÐgqÐCrÑCrÔCrÐtxÑ(yÔ(y€FÝ�E˜F‘NÐ(lÐ(lÐmÑmÔmÐntÐotÐntÔu€FØ�<Š<˜Ÿš f¨dÑ3Ô3Ñ4Ô4Ð4r@   c                 óÊ   — |                       d¦  «        |                       d¦  «        }}|r|r|sdS ddlm} |                     d                     ||¦  «        |¦  «         dS )zaThe row header is the slot's skin string: keep it in step with the snapshot (seed / time of day).Úsecrj   Nr   )Úslotszmil.{}.{}.title)r<   rÃ   r  Ú_setrH   )rÊ   rt   r  rj   r  s        r>   Ú
_set_titler  Ú   s{   € à—
’
˜5Ñ!Ô! 6§:¢:¨fÑ#5Ô#5ˆ€CØð �dð  %ð ØˆØÐÐÐÐÐØ	‡J‚JÐ ×'Ò'¨¨TÑ2Ô2°EÑ:Ô:Ð:Ð:Ð:r@   c           	      ó.  — t          j        ¦   «         }|                     dd¦  «        }g }	 t          ||¦  «        }|t          k    rt          ¦   «         nd }|                     d¦  «        dv r|                     d¦  «        nd}t          |t          |||¦  «        ¦  «         n]# t          $ rP}t          j
        d                     |t          |¦  «        j        |¦  «        t          j        ¦  «         Y d }~nd }~ww xY wt          j        | |t#          |¦  «        ¦  «         t          j        | dd¬	¦  «         t          j
        d
                     |t#          |¦  «        t          j        ¦   «         |z
  dz  ¦  «        t          j        ¦  «         d S )NrZ   r6   r[   r¤   rN   u*   [MilionÃ¡Å™ ProTebe] row {} failed: {}: {}TF)Ú	succeededÚcacheToDiscu;   [MilionÃ¡Å™ ProTebe] widget_row {} -> {} items in {:.0f} msiè  )r‰   Úperf_counterr<   rÚ   rk   rM   r  rv   rE   rF   rG   rH   rI   rJ   ÚLOGERRORÚ
xbmcpluginÚaddDirectoryItemsrX   ÚendOfDirectoryÚLOGDEBUG)ÚhandlerÊ   ÚstartedrZ   r©   rY   r[   rL   s           r>   rÿ   rÿ   ã   s“  € ÝÔÑ!Ô!€GØ
�*Š*�U˜BÑ
Ô
€CØ€EðsÝ�c˜6Ñ"Ô"ˆØ"%­¢/ /•9‘;”;�;°tˆØ%+§Z¢Z°Ñ%7Ô%7¸?Ð%JÐ%Jˆv�zŠz˜&Ñ!Ô!Ð!ÐPUˆÝ�6�9 X¨s°DÑ9Ô9Ñ:Ô:Ð:Ð:øÝð sð sð sÝŒÐ=×DÒDÀSÍ$ÈsÉ)Ì)ÔJ\Ð^aÑbÔbÕdhÔdqÑrÔrÐrÐrÐrÐrÐrÐrøøøøðsøøøåÔ  ¨µ°E±
´
Ñ;Ô;Ð;ÝÔ˜f°À%ÐHÑHÔHÐHÝ„HÐJ×QÒQØ�S�‰ZŒZ�$Ô+Ñ-Ô-°Ñ7¸4Ñ?ñAô AÝBFÄ-ñQô Qð Qð Qð Qs   ­A8B& Â&
D Â0AC;Ã;D )rN   )*Ú__doc__r‰   rF   r7   r  r9   r”   r•   rW   rk   ÚtupleÚALL_ROWSrp   rl   rq   rn   rm   ro   rr   rs   rd   rÁ   r¿   rÝ   rÞ   r;   r?   rM   r^   rh   rv   rš   r    rÚ   rÂ   ræ   rë   rÈ   rÉ   rµ   r  rÿ   rR   r@   r>   ú<module>r      sâ  ððð ð €€€à €€€Ø Ð Ð Ð Ø Ð Ð Ð à"€Ø	*€Ø-€ð %°,ÐP^Ø&¸ÐVdØ¨ð6ð 6€ð €Øˆ;˜˜˜t™œÑ$€à2SÑ /€	ˆ:�u˜i¨Ø¨%¸EÈEÐ
RÐ
R€Ø�€€vØ#°eÈ5ÐbgØ E¸ÈÐ\aÐnsðuð u€àÑ €ˆØ¨%¸5ÐAÐA€Ø€ð5ˆE�:ð 5˜u mð 5°U¸Nð 5ÈEÐSkð 5ØÐ%ð5Ø',¨jð5Ø:?Àð5ØQVÐXlð5à�8ð5à"Ð$9ð5à;@ÐBSð5àUZÐ\ð5ð �?ð5ð %*¨:ð5ð 8=¸nð5ð OTÐUgð5ð joÐp}ð5ð '¨|ÀHÐU`Ø¨ð5ð 5ð 5€ðbð bð bðð ð ð4ð 4ð 4ð 4ðBð Bð Bð]ð ]ð ]ð ]ð"ð ð ð"nð nð nð
6ð 6ð 6ðrð ð ð 
%€Ø€
ðzð zð zð
ð ð ð$
5ð 
5ð 
5ð;ð ;ð ;ðQð Qð Qð Qð Qr@   