ó
    ÷aÛjQ	  ã                   óö   • S r SSKrSSKrSSKrSSKrSSKr\R                  R                  \R                  R                  \	5      5      r
S r\S:X  a&  \" 5       r\" \" \5      S\" S \ 5       5      S5        gg)zÑmake_gallery.py -- runs/gallery.json for gallery.html: every build, newest first (Ivy, Oct 23 2026: "Show me a collection of past
creations"). Called after every game by imagine.save_run; run by hand any time.é    Nc                  ó2
  • 0 n [         R                  " [        [        R                  R                  [        S5      5      5      n U R                  S5      =(       d    0 R                  5        VVVs0 s H  u  pU  H  o3S   U_M
     M     nnnn/ n[        R                  " [        R                  R                  [        SSS5      5       GHƒ  n[        R                  R                  UR                  S5      5      n[        R                  R                  US5      n[        R                  R                  US	5      n	[        R                  R                  U5      (       a$  [        R                  R                  U	5      (       d  M¼  [         R                  " [        U5      5      n
[        U	5       Vs/ s H  n[         R                  " U5      PM     nnU(       d  GM  [        [        R                  " [        R                  R                  US
5      5      [        R                  R                   S9nU Vs/ s H#  n["        R$                  " SU5      (       a  M!  UPM%     nnU(       d  GM¢  / nU H@  nUR                  S5      nU(       d  M  U(       a  US   U:w  d  M/  UR'                  U5        MB     U
R                  S5      =(       d    0 n[)        S U 5       S 5      nUR'                  U[*        R,                  " S[*        R.                  " [        R                  R!                  U5      5      5      [        R                  R!                  U5      SU S[        R                  R                  US   5       3UR                  S5      =(       d    U(       a  US   OSUSS  [1        U5      UR                  U5      =(       d2    UR3                  S5      (       a  U
R                  S5      =(       d    SOS UR3                  S5      U=(       d    U
R                  S5      S:X  a  SOSUR                  S5      U
R                  S5      S.5        GM†     UR5                  S S9  [        R                  R                  [        SS5      n[         R6                  " U[        US5      5        [        R8                  " U[        R                  R                  [        SS 5      5        U$ ! [         a     GN®f = fs  snnnf s  snf ! [         a     GME  f = fs  snf )!Nz	self.jsonÚfriendsÚrunÚrunsÚ*Ú Ú/z
state.jsonznotebook.jsonlzframe_*.png)Úkeyz_(views|back|top)\.png$Úmight_beéÿÿÿÿÚ
reflectionc              3   ór   #   • U  H-  oR                  S 5      (       d  M  UR                  S5      v •  M/     g7f)ÚdoneÚdone_whyN)Úget)Ú.0Úes     Ú2/home/ivy/projects/brick_reef/reef/make_gallery.pyÚ	<genexpr>Úbuild.<locals>.<genexpr>   s'   é € ÐD²¨1·e±e¸F·mÓ&�Q—U‘U˜:×&Ð&²ùs   ‚7Ÿ7z%b %d %-I:%M %pzruns/Úwe_madeéüÿÿÿÚcoopÚplayerÚIvyÚstageÚstoppedÚlovedÚrequest)r   ÚwhenÚtÚframeÚtitleÚjourneyÚturnsÚwithr   Úendingr   r   c                 ó   • U S   * $ )Nr!   © )Úxs    r   Ú<lambda>Úbuild.<locals>.<lambda>   s
   € ˜A˜c™F™7ó    zgallery.json.tmpÚwzgallery.json)ÚjsonÚloadÚopenÚosÚpathÚjoinÚHEREÚ	Exceptionr   ÚitemsÚglobÚbasenameÚrstripÚexistsÚloadsÚsortedÚgetmtimeÚreÚsearchÚappendÚnextÚtimeÚstrftimeÚ	localtimeÚlenÚ
startswithÚsortÚdumpÚreplace)ÚmeÚnameÚgamesÚgÚwhoÚoutÚdr   ÚspÚnbpÚstÚlÚnbÚframesÚfÚideasr   ÚmbÚreflr   Útmps                        r   Úbuildr]      së  € Ø	€BÜ�iŠiœœRŸW™WŸ\™\¬$°Ó<Ó=Ó>ˆà.0¯f©f°YÓ.?×.EÀ2×-LÑ-LÔ-NÕ
^Ò-N™k˜dÔX]ÐSTˆU‰8�TŠ>ÑX]‰8Ñ-N€CÒ
^Ø
€CÜ�YŠY”r—w‘w—|‘|¤D¨&°#°rÓ:×;ˆÜ�g‰g×Ñ˜qŸx™x¨›}Ó-ˆ´B·G±G·L±LÀÀLÓ4Q¨rÔY[×Y`ÑY`×YeÑYeÐfgÐiyÓYzÐSVÜ�w‰w�~‰~˜b×!Ñ!¬¯©¯©¸×)<Ñ)<¹hÜ—)’)œD ›HÓ%ˆRÄDÈÄIÓ,NÂI¸q¬T¯ZªZ¸®]ÁI rÐ,Næ’8ÜœŸ	š	¤"§'¡'§,¡,¨q°-Ó"@ÓAÄrÇwÁw×GWÑGWÑXˆÙ#ÓTšV˜¬2¯9ª9Ð5OÐQR×+S—!™VˆÐTÞ’xØˆÛˆAØ—‘�zÓ"ˆBßˆrž5 E¨"¡I°¥O°e·l±lÀ2Ö6Fñ ð �v‰v�lÓ#×) rˆÜÑD±ÓDÀdÓKˆØ�
‰
˜3¬¯ªÐ6GÌÏÊÔXZ×X_ÑX_×XhÑXhÐikÓXlÓImÓ(nÔuw×u|Ñu|÷  vFñ  vFð  GIó  vJØ$ S E¨¬2¯7©7×+;Ñ+;¸FÀ2¹JÓ+GÐ*HÐIÐTX×T\ÑT\Ð]fÓTg÷  UHÖy~ÐlqÐrtÒluð  EGØ$ R S˜z´C¸³GÀSÇWÁWÈSÃ\÷  FUÐsv÷  tBñ  tBð  CI÷  tJñ  tJÐVX×V\ÑV\Ð]eÓVf×VoÐjoøð  PTØŸN™N¨6Ó2¸d×>yÐTV×TZÑTZÐ[bÓTcÐgpÓTpÁyÐvxØ!ŸX™X gÓ.¸2¿6¹6À)Ó;Lñ	N÷ 	Oñ <ð( ‡H�HÑ"€HÑ#Ü
�'‰'�,‰,”t˜VÐ%7Ó
8€C¼$¿)º)ÀCÌÈcÐSVËÔ:XÔZ\×ZdÒZdÐehÔjl×jqÑjq×jvÑjvÔw{ð  ~Dð  FTó  kUô  [VØ€Jøô3 Ó’dÐüÜ
^ùò
 -OøÜÓ"›(Ð"üò UsH   ƒAS% Á0S6Æ,TÆ3 S=ÇTÈ7 TÉTÓ%
S3Ó2S3Ó=TÔ
TÔTÚ__main__z
creations;c              #   ó*   #   • U  H	  oS    v •  M     g7f)r   Nr)   )r   r*   s     r   r   r   #   s   é € Ð0FÂA¸q°6¶ÂAùs   ‚zmade together)Ú__doc__r/   r2   r8   r?   rC   r3   ÚdirnameÚabspathÚ__file__r5   r]   Ú__name__rN   ÚprintrF   Úsumr)   r-   r   Ú<module>rg      sj   ðñSç × Ó Ø	‡w�w‡��r—w‘w—‘ xÓ0Ó1€òð: ˆzÓÙ‹€A‘‘s˜1“v˜|©SÑ0FÁAÓ0FÓ-FÈÕXð r-   