§
    ÎÐjÐ  ã                   óº   — d Z ddlmZ ddlmZ ddlmZ ddlmZ  G d„ de	¦  «        Z
e G d„ d	¦  «        ¦   «         Zd
„ Z G d„ d¦  «        Z G d„ d¦  «        ZdS )zHVersioned application forms; no dependency on Gradio or the LLM runtime.é    )Údeepcopy)Ú	dataclass)ÚRLock)Úuuid4c                   ó   — e Zd ZdS )ÚFormConflictN)Ú__name__Ú
__module__Ú__qualname__© ó    ú>C:\Users\johnn\OneDrive\Documents\AI\shared\utils\form_sync.pyr   r   	   s   € € € € € Ø€Dr   r   c                   ó   — e Zd ZU eed<   dS )ÚSavedÚoutputN)r	   r
   r   ÚobjectÚ__annotations__r   r   r   r   r      s   € € € € € € à€N€N�N€N€Nr   r   c                 óÊ   — i g }}|                      ¦   «         D ]G\  }}| |         ||         }}||k    s||k    r|||<   Œ'|||<   ||k    r|                     |¦  «         ŒH||fS ©N)ÚitemsÚappend)	ÚbaseÚlocalÚremoteÚmergedÚ	conflictsÚkeyÚcurrentÚoriginalÚediteds	            r   Úmerge_valuesr!      s‹   € Ø˜BˆI€FØŸš™œð &ð &‰ˆˆWØ œ9 e¨C¤j�&ˆØ�XÒÐ ¨7Ò!2Ð!2Ø!ˆF�3‰KˆKà ˆF�3‰KØ˜(Ò"Ð"Ø× Ò  Ñ%Ô%Ð%øØ�9ÐÐr   c                   ó4   — e Zd Zdd„ dddœd„Zd„ Zd„ Zd„ ZdS )Ú
SharedFormNc                  ó   — dS )NÚapplicationr   r   r   r   ú<lambda>zSharedForm.<lambda>    s   € È-€ r   )ÚreadÚscopeÚlabelsÚlockc                ó  — |t          |¦  «        c| _        | _        |||c| _        | _        | _        |pd„ |D ¦   «         | _        |�|nt          ¦   «         | _        d| _	        t          ¦   «         j        | _         |¦   «         | _        d S )Nc                 ó   — i | ]}||“ŒS r   r   )Ú.0r   s     r   ú
<dictcomp>z'SharedForm.__init__.<locals>.<dictcomp>#   s   € Ð <Ð <Ð <¨c  cÐ <Ð <Ð <r   r   )r   ÚnameÚ_valuesÚ_readÚ_scopeÚ_publishr)   r   r*   Úrevisionr   ÚhexÚinstanceÚ	_scope_id)Úselfr/   ÚvaluesÚpublishr'   r(   r)   r*   s           r   Ú__init__zSharedForm.__init__    s„   € Ø"&­°Ñ(8Ô(8ÐˆŒ	�4”<Ø15°u¸gÐ.ˆŒ
�D”K ¤ØÐ<Ð <Ð <°VÐ <Ñ <Ô <ˆŒØ Ð,�D�Dµ%±'´'ˆŒ	ØˆŒÝ™œœˆŒØ˜™œˆŒˆˆr   c                 ó>  — | j         r|                       ¦   «         n| j        }|                      ¦   «         }|| j        k    s|| j        k    rPt	          |¦  «        |c| _        | _        | xj        dz  c_        |                      d| j        | j        i¦  «         d S d S )Né   Úforms)r1   r0   r2   r7   r   r4   r3   r/   )r8   r9   r(   s      r   Ú_refreshzSharedForm._refresh)   s•   € Ø!%¤Ð=�—’‘”�°´ˆØ—’‘”ˆØ�T”\Ò!Ð! U¨d¬nÒ%<Ð%<Ý+3°FÑ+;Ô+;¸UÐ(ˆDŒL˜$œ.ØˆMŒM˜QÑˆMŒMØ�MŠM˜' D¤I¨t¬}Ð#=Ñ>Ô>Ð>Ð>Ð>ð &=Ð%<r   c                 ó¼   — | j         5  |                      ¦   «          | j        | j        | j        t          | j        ¦  «        dœcd d d ¦  «         S # 1 swxY w Y   d S )N)r6   r(   r4   r9   )r*   r?   r6   r7   r4   r   r0   ©r8   s    r   ÚsnapshotzSharedForm.snapshot1   sÅ   € ØŒYð 	Eð 	EØ�MŠM‰OŒOˆOØ $¤¸¼ÐTXÔTaÕmuÐvzô  wCñ  nDô  nDð  Eð  Eð	Eð 	Eð 	Eð 	Eñ 	Eô 	Eð 	Eð 	Eð 	Eð 	Eð 	Eð 	Eøøøð 	Eð 	Eð 	Eð 	Eð 	Eð 	Es   ˆ<AÁAÁAc                 ó
  ‡ — ‰ j         5  ‰                      ¦   «         }t          |t          ¦  «        r=t          |                     d¦  «        t          ¦  «        rt          |t          ¦  «        st          d¦  «        ‚|                     d¦  «        |d         k    rt          d¦  «        ‚t          |¦  «        t          |d         ¦  «        k    s&t          |d         ¦  «        t          |¦  «        k    rt          d¦  «        ‚t          |d         ||d         ¦  «        \  }}|r4d 	                    ˆ fd„|D ¦   «         ¦  «        }t          d|› d	�¦  «        ‚ ||¦  «        }t          |t          ¦  «        rl‰ j        €Q|‰ j        k    rFt          |¦  «        ‰ _        ‰ xj        d
z  c_        ‰                      d‰ j        ‰ j        i¦  «         ‰                      ¦   «          |cd d d ¦  «         S # 1 swxY w Y   d S )Nr9   zInvalid form submission.r(   z>The conversation changed. Reload these settings before saving.z8The form fields changed. Reload this page before saving.z, c              3   ó2   •K  — | ]}‰j         |         V — Œd S r   )r)   )r-   r   r8   s     €r   ú	<genexpr>z$SharedForm.submit.<locals>.<genexpr>A   s*   øè è € Ð"IÐ"I¸ 4¤;¨sÔ#3Ð"IÐ"IÐ"IÐ"IÐ"IÐ"Ir   zChanged in another window: z=. Choose whether to load the saved values or keep your edits.r=   r>   )r*   rB   Ú
isinstanceÚdictÚgetÚ
ValueErrorr   Úsetr!   Újoinr   r1   r0   r   r4   r3   r/   r?   )	r8   Úbaseliner   Úsaver   r   r   r)   Úresults	   `        r   ÚsubmitzSharedForm.submit6   sF  ø€ ØŒYð 	ð 	Ø—m’m‘o”oˆGÝ˜h­Ñ-Ô-ð =µZÀÇÂÈXÑ@VÔ@VÕX\Ñ5]Ô5]ð =ÕeoÐpuÕw{Ñe|Ôe|ð =Ý Ð!;Ñ<Ô<Ð<Ø�|Š|˜GÑ$Ô$¨°Ô(8Ò8Ð8Ý"Ð#cÑdÔdÐdÝ�5‰zŒz�S ¨Ô!2Ñ3Ô3Ò3Ð3µs¸8ÀHÔ;MÑ7NÔ7NÕRUÐV[ÑR\ÔR\Ò7\Ð7\Ý Ð![Ñ\Ô\Ð\Ý ,¨X°hÔ-?ÀÈÐPXÔHYÑ ZÔ ZÑˆF�IØð HØŸšÐ"IÐ"IÐ"IÐ"I¸yÐ"IÑ"IÔ"IÑIÔI�Ý"ð  $GÀð  $Gð  $Gð  $Gñ  Hô  Hð  HØ�T˜&‘\”\ˆFÝ˜&¥%Ñ(Ô(ð  Ø”:Ð%¨&°D´LÒ*@Ð*@Ý#+¨FÑ#3Ô#3�D”LØ�M”M QÑ&�M”MØ—M’M '¨D¬I°t´}Ð+EÑFÔFÐFØ—’‘”�Øð'	ð 	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   ‰G"G8Ç8G<Ç?G<)r	   r
   r   r;   r?   rB   rO   r   r   r   r#   r#      sl   € € € € € Ø6:ÐBWÐBWÐ`dÐkoð !ð !ð !ð !ð !ð?ð ?ð ?ðEð Eð Eð
ð ð ð ð r   r#   c                   ó&   — e Zd Zd„ Zd„ Zd„ Zd„ ZdS )ÚFormRegistryc                 ó$   — |i c| _         | _        d S r   )r:   r>   )r8   r:   s     r   r;   zFormRegistry.__init__N   s   € Ø#*¨BÐ ˆŒ�d”j�j�jr   c                 óz   — || j         v rt          d|› �¦  «        ‚t          ||fd| j        i|¤Ž}|| j         |<   |S )NzForm already registered: r:   )r>   rI   r#   r:   )r8   r/   r9   ÚkwargsÚforms        r   ÚregisterzFormRegistry.registerQ   sU   € Ø�4”:ÐÐÝÐ?¸Ð?Ð?Ñ@Ô@Ð@Ý˜$ ÐGÐG°´ÐGÀÐGÐGˆØˆŒ
�4ÑØˆr   c                 óH   — d„ | j                              ¦   «         D ¦   «         S )Nc                 ó$   — i | ]\  }}||j         “ŒS r   )r4   )r-   r/   rU   s      r   r.   z*FormRegistry.revisions.<locals>.<dictcomp>Y   s    € ÐIÐIÐI©
¨¨d��d”mÐIÐIÐIr   )r>   r   rA   s    r   Ú	revisionszFormRegistry.revisionsX   s$   € ØIÐI°d´j×6FÒ6FÑ6HÔ6HÐIÑIÔIÐIr   c                 óZ   — || j         v r!| j         |                              ¦   «          d S d S r   )r>   rB   )r8   r/   s     r   ÚrefreshzFormRegistry.refresh[   s6   € Ø�4”:ÐÐØŒJ�tÔ×%Ò%Ñ'Ô'Ð'Ð'Ð'ð Ðr   N)r	   r
   r   r;   rV   rY   r[   r   r   r   rQ   rQ   M   sS   € € € € € ð/ð /ð /ðð ð ðJð Jð Jð(ð (ð (ð (ð (r   rQ   N)Ú__doc__Úcopyr   Údataclassesr   Ú	threadingr   Úuuidr   rI   r   r   r!   r#   rQ   r   r   r   ú<module>ra      s  ðà NÐ NØ Ð Ð Ð Ð Ð Ø !Ð !Ð !Ð !Ð !Ð !Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð ð	ð 	ð 	ð 	ð 	�:ñ 	ô 	ð 	ð ðð ð ð ð ñ ô ñ „ðð
ð 
ð 
ð+ð +ð +ð +ð +ñ +ô +ð +ð\(ð (ð (ð (ð (ñ (ô (ð (ð (ð (r   