§
     ’Þj€  ã                   ó>   — d Z ddlmZ ddlZddlZddlmZ ddœd„ZdS )z8Name and optionally save model-provided companion files.é    )ÚPathN©Úhas_world_file_extensionF)Úreturn_filesc                óŒ  ‡— t          | ¦  «        }i }|                     ¦   «         D ]˜\  }}t          j        d|¦  «        st	          d|›�¦  «        ‚|                     |j        |z   ¦  «        }||k    rt	          d|j        › �¦  «        ‚t          |t          ¦  «        st          d|›d�¦  «        ‚|||j        <   Œ™ddlm}  |¦   «         }	| p+|	d uo'|	d         j                             |	d         ¦  «        d uŠˆfd	„t          ||¦  «        D ¦   «         }
|
D ]V\  }}|j        |z                       ||         ¦  «         t%          d
|j        |z                       ¦   «         › �d¬¦  «         ŒW|
rN|                     |j        dz   ¦  «                             t+          j        d„ |
D ¦   «         ¦  «        d¬¦  «         |S )Nz(?:_[\w.-]+)?\.[A-Za-z0-9]+zInvalid side-file suffix: z*Side file would overwrite the main media: z
Side file z must contain bytesr   )Úcurrent_bindingé   c                 ó@   •— g | ]\  }}‰st          |¦  «        ¯||f‘ŒS © r   )Ú.0ÚsuffixÚfilenameÚpersists      €ú?C:\Users\johnn\OneDrive\Documents\AI\shared\utils\side_files.pyú
<listcomp>z&process_side_files.<locals>.<listcomp>   sP   ø€ ð  Að  Að  AÑ$4 F¨HÐRYð  AÕ]uÐv~Ñ]Ô]ð  Aˆf�hÐð  Að  Að  Aó    zSide file saved to Path: T)Úflushz.wangp-files.jsonc                 ó   — g | ]\  }}|‘ŒS r   r   )r   r   Ú	_filenames      r   r   z&process_side_files.<locals>.<listcomp>   s   € ÐNuÐNuÐNuÑZkÐZ`ÐbkÈvÐNuÐNuÐNur   zutf-8)Úencoding)r   ÚitemsÚreÚ	fullmatchÚ
ValueErrorÚ	with_nameÚstemÚnameÚ
isinstanceÚbytesÚ	TypeErrorÚshared.utils.workspace_storager   Ú
workspacesÚ	media_dirÚzipÚparentÚwrite_bytesÚprintÚresolveÚ
write_textÚjsonÚdumps)Ú
media_pathÚ
side_filesr   ÚpathÚnamedr   ÚcontentÚtargetr   ÚbindingÚsavedÚ_suffixr   r   s                @r   Úprocess_side_filesr5   
   s2  ø€ Ý�
ÑÔ€DØ€EØ%×+Ò+Ñ-Ô-ð %ð %‰ˆ�ÝŒ|Ð:¸FÑCÔCð 	FÝÐD¸&ÐDÐDÑEÔEÐEØ—’ ¤	¨FÑ 2Ñ3Ô3ˆØ�TŠ>ˆ>ÝÐWÈ&Ì+ÐWÐWÑXÔXÐXÝ˜'¥5Ñ)Ô)ð 	HÝÐF¨ÐFÐFÐFÑGÔGÐGØ$ˆˆfŒkÑÐØ>Ð>Ð>Ð>Ð>Ð>ØˆoÑÔ€GØÐÐq '°Ð"5Ð"q¸'À!¼*Ô:O×:YÒ:YÐZaÐbcÔZdÑ:eÔ:eÐmqÐ:q€Gð Að  Að  Að  A½¸JÈÑ8NÔ8Nð  Añ  Aô  A€EØ"ð \ð \Ñˆ�Ø	Œ�xÑ	×,Ò,¨U°8¬_Ñ=Ô=Ð=ÝÐN¨4¬;¸Ñ+A×*JÒ*JÑ*LÔ*LÐNÐNÐVZÐ[Ñ[Ô[Ð[Ð[Øð JØ�Š�t”yÐ#6Ñ6Ñ7Ô7×BÒBÅ4Ä:ÐNuÐNuÐotÐNuÑNuÔNuÑCvÔCvð  BIÐBñ  	Jô  	Jð  	JØ€Lr   )Ú__doc__Úpathlibr   r   r*   Úshared.utils.utilsr   r5   r   r   r   ú<module>r9      sk   ðà >Ð >Ø Ð Ð Ð Ð Ð Ø 	€	€	€	Ø €€€à 7Ð 7Ð 7Ð 7Ð 7Ð 7ð @Eð ð ð ð ð ð ð r   