§
    ÎÐjFH  ã                  óê  — U d dl mZ d dlZd dlZd dlZd dlZd dlmZ dZdZ	dZ
dZdZd	Zd
ZdZdZdZdZdZdZdZdZdZdZdada e¦   «         Zded<    e¦   «         Zded<    e¦   «         Zded<    ee ¦  «         !                    ¦   «         j"        Z#d e$e#¦  «        › �Z%de%› �Z& ej'        d¦  «        Z(h d£Z)d6d „Z*d!„ Z+d"„ Z,d#„ Z-d$„ Z.d6d%„Z/d6d&„Z0d7d*„Z1d7d+„Z2d8d-„Z3d9d/„Z4d:d0„Z5d6d1„Z6d;d<d3„Z7d4d5gZ8dS )=é    )ÚannotationsN)ÚPathFÚ_wangp_output_prop_historya¡  async function pl(S,J){const K=u.find(de=>de.id===J);if(!K)return;const pe=K.outputs,R=S?.map((de,he)=>({id:pe[he],prop:"value_is_output",value:!0}));T(R),await Rn();const oe=[];S?.forEach((de,he)=>{if(typeof de=="object"&&de!==null&&de.__type__==="update")for(const[bt,Qt]of Object.entries(de))bt!=="__type__"&&oe.push({id:pe[he],prop:bt,value:Qt});else oe.push({id:pe[he],prop:"value",value:de})}),T(oe),await Rn()}aô  async function pl(S,J){const K=u.find(de=>de.id===J);if(!K)return;const pe=K.outputs,R=[],oe=[];S?.forEach((de,he)=>{if(typeof de=="object"&&de!==null&&de.__type__==="update"){if("value"in de)R.push({id:pe[he],prop:"value_is_output",value:!0});for(const[bt,Qt]of Object.entries(de))bt!=="__type__"&&oe.push({id:pe[he],prop:bt,value:Qt})}else R.push({id:pe[he],prop:"value_is_output",value:!0}),oe.push({id:pe[he],prop:"value",value:de})});if(R.length){T(R);await Rn()}if(oe.length){T(oe);await Rn()}}a7  async function pl(S,J){const nt=performance.now(),K=u.find(de=>de.id===J);if(!K)return;const pe=K.outputs,R=[],oe=[];S?.forEach((de,he)=>{if(typeof de=="object"&&de!==null&&de.__type__==="update"){if("value"in de)R.push({id:pe[he],prop:"value_is_output",value:!0});for(const[bt,Qt]of Object.entries(de))bt!=="__type__"&&oe.push({id:pe[he],prop:bt,value:Qt})}else R.push({id:pe[he],prop:"value_is_output",value:!0}),oe.push({id:pe[he],prop:"value",value:de})});if(R.length){T(R);await Rn()}const rt=performance.now();if(oe.length){T(oe);await Rn()}const et=Math.round((performance.now()-nt)*10)/10,ot=Math.round((rt-nt)*10)/10;if((S?.length||0)>50||et>20)console.info("[WanGP ui-perf] gradio.output_update fn="+J+" outputs="+(S?.length||0)+" value_marks="+R.length+" prop_updates="+oe.length+" mark_ms="+ot+" total_ms="+et)}zƒfunction Jt(S,J=null,K=null){let pe=()=>{};function R(){pe()}i?pe=Se.subscribe(oe=>{oe||Rn().then(()=>{is(S,J,K),R()})}):is(S,J,K)}zûfunction Jt(S,J=null,K=null){let pe=()=>{};function R(){pe()}const oe=u.find(de=>de.id===S),de=()=>{is(S,J,K)};if(oe?.wangp_fast_chain&&oe.queue===!1){Promise.resolve().then(()=>de());return}i?pe=Se.subscribe(he=>{he||Rn().then(()=>{de(),R()})}):de()}zDs[pe]?.[R]?.forEach(he=>{requestAnimationFrame(()=>{Jt(he,pe,oe)})})z•s[pe]?.[R]?.forEach(he=>{const Qt=u.find(Mt=>Mt.id===he);Qt?.wangp_fast_chain&&Qt.queue===!1?Jt(he,pe,oe):requestAnimationFrame(()=>{Jt(he,pe,oe)})})z†R.pending_request&&R.final_event&&(R.pending_request=!1,Qt(R.final_event,R.connection=="stream")),R.pending_request=!1,pl(Ee,ne),Mn(n)z£R.pending_request&&R.final_event&&(R.pending_request=!1,Qt(R.final_event,R.connection=="stream")),R.pending_request=!1,pl(Ee,ne),R.wangp_skip_loading_status||Mn(n)zhie.update({...ne,time_limit:ne.time_limit,status:ne.stage,progress:ne.progress_data,fn_index:Ee}),Mn(n),zŠ(R.wangp_skip_loading_status?0:(ie.update({...ne,time_limit:ne.time_limit,status:ne.stage,progress:ne.progress_data,fn_index:Ee}),Mn(n))),zBfunction ue(){Oe(()=>{e(26,B=(performance.now()-U)/1e3),K&&ue()})}z“function ue(){Oe(()=>{const d=J&&J.offsetParent!==null&&J.getClientRects().length>0;if(!d){K=!1;return}e(26,B=(performance.now()-U)/1e3),K&&ue()})}z4;(()=>{window.__WANGP_MODEL_SWITCH_PATCH_INIT=1})();z;;console.info("[WanGP] Gradio output update patch active");zset[str]Ú_warned_assetszset[int]Ú_progress_cap_loggedÚ_direct_queue_loggedzwangp-ú__wangp_ui=zR(?P<prefix>\bsrc=["\'])(?P<url>(?:\.?/)?assets/index-[^"\']+\.js)(?P<suffix>["\'])>   Úfill_inputsÚsave_inputsÚgoto_model_typeÚswitch_image_modeÚ_refresh_from_mainÚrefresh_multiplierÚrecord_image_mode_tabÚvalidate_wizard_promptÚchange_model_from_targetÚ_media_visibility_updatesÚgoto_model_type_with_filterÚ$refresh_video_prompt_type_video_maskÚ%refresh_video_prompt_type_video_guideÚreturnÚboolc                ó   — | |u r*t          | t          t          t          t          f¦  «        sdS 	 | |k    }n# t
          $ r Y dS w xY wt          |t          ¦  «        r|S |j        j        dk    rt          |¦  «        S dS )NTFÚbool_)	Ú
isinstanceÚdictÚlistÚsetÚtupleÚ	Exceptionr   Ú	__class__Ú__name__)Ú	old_valueÚ	new_valueÚresults      úOC:\Users\johnn\OneDrive\Documents\AI\shared\gradio\gradio_model_switch_patch.pyÚ_same_valuer'   8   s–   € Ø�IÐÐ¥j°½TÅ4ÍÍeÐ<TÑ&UÔ&UÐØˆtðØ˜iÒ'ˆˆøÝð ð ð Øˆuˆuðøøøå�&�$ÑÔð ØˆØÔÔ  GÒ+Ð+Ý�F‰|Œ|ÐØˆ5s   °7 ·
AÁAc                ó¤   — t          | t          t          t          t          f¦  «        r'	 t          j        | ¦  «        S # t          $ r | cY S w xY w| S ©N)r   r   r   r   r   ÚcopyÚdeepcopyr    )Úvalues    r&   Ú_snapshot_valuer-   F   s[   € Ý�%�$¥¥c­5Ð1Ñ2Ô2ð ð	Ý”= Ñ'Ô'Ð'øÝð 	ð 	ð 	ØˆLˆLˆLð	øøøà€Ls   ª> ¾AÁAc                óf   — t          | t          d ¦  «        }|€i }t          | t          |¦  «         |S r)   )ÚgetattrÚ_OUTPUT_PROP_HISTORY_ATTRÚsetattr)ÚstateÚhistorys     r&   Ú_get_output_prop_historyr4   O   s6   € Ý�eÕ6¸Ñ=Ô=€GØ€ØˆÝ�Õ0°'Ñ:Ô:Ð:Ø€Nó    c                óB  — t          |¦  «        D ]Ž\  }}t          |t          ¦  «        r|                     d¦  «        dk    sŒ4| j        |         }|                     |j        i ¦  «        }|                     ¦   «         D ]\  }}|dk    rt          |¦  «        ||<   ŒŒ�d S )NÚ__type__Úupdate)	Ú	enumerater   r   ÚgetÚoutputsÚ
setdefaultÚ_idÚitemsr-   )	Úblock_fnÚoutputÚprops_by_idÚindexr,   ÚblockÚblock_propsÚkeyÚ
prop_values	            r&   Ú_record_output_propsrG   W   s´   € Ý! &Ñ)Ô)ð ?ð ?‰ˆˆuÝ˜5¥$Ñ'Ô'ð 	¨E¯IªI°jÑ,AÔ,AÀXÒ,MÐ,MØØÔ  Ô'ˆØ!×,Ò,¨U¬Y¸Ñ;Ô;ˆØ$Ÿ{š{™}œ}ð 	?ð 	?‰OˆC�Ø�jÒ Ð Ý#2°:Ñ#>Ô#>�˜CÑ øð	?ð?ð ?r5   c                óà  — d}d}d}t          |¦  «        D ]Ô\  }}t          |t          ¦  «        r|                     d¦  «        dk    sŒ4| j        |         }|                     |j        ¦  «        }	|	€Œ^t          |¦  «        D ]6}
|
dk    rŒ	|dz  }|
|	v r$t          |	|
         ||
         ¦  «        r||
= |dz  }Œ7|t          |¦  «        |                     d¦  «        dk    rdndz
  z  }ŒÕ|||fS )Nr   r7   r8   é   )	r9   r   r   r:   r;   r=   r   r'   Úlen)r?   r@   rA   Úprops_beforeÚprops_afterÚprunedrB   r,   rC   Úprevious_propsrE   s              r&   Ú_prune_unchanged_output_propsrO   b   s#  € Ø€LØ€KØ€FÝ! &Ñ)Ô)ð Tð T‰ˆˆuÝ˜5¥$Ñ'Ô'ð 	¨E¯IªI°jÑ,AÔ,AÀXÒ,MÐ,MØØÔ  Ô'ˆØ$Ÿš¨¬Ñ3Ô3ˆØÐ!ØÝ˜‘;”;ð 	ð 	ˆCØ�jÒ Ð ØØ˜AÑˆLØ�nÐ$Ð$­°^ÀCÔ5HÈ%ÐPSÌ*Ñ)UÔ)UÐ$Ø˜#�JØ˜!‘�øØ•s˜5‘z”z¨%¯)ª)°JÑ*?Ô*?À8Ò*KÐ*K Q QÐQRÑSÑSˆˆØ˜ fÐ,Ð,r5   c                 ó”   ‡‡— dd l mŠ ‰j        j        Št	          ‰dd¦  «        rdS ˆˆfd„} d| _        ‰| _        | ‰j        _        dS )Nr   Ú#_wangp_model_switch_patch_installedFTc              “  ó`  •K  — |p‰                      | ¦  «        }t          |¦  «        }t          j        ¦   «         } ‰| |||¦  «        ƒ d {V —†}t	          |t
          ¦  «        r¢|r t          |||¦  «        \  }}	}
t          |||¦  «         t          rr|
dk    s|dk    rft          t          j        ¦   «         |z
  dz  d¦  «        }t          dt          |dd¦  «        › dt          |¦  «        › d	|› d
|	› d|
› d|› �d¬¦  «         n&t	          |t
          ¦  «        rt          |||¦  «         |S )Nr   éÈ   iè  rI   z,[WanGP ui-perf] gradio.postprocess_prune fn=ÚnameÚ ú	 outputs=z props_before=z props_after=z pruned=z elapsed_ms=T©Úflush)ÚSessionStater4   ÚtimeÚperf_counterr   r   rO   rG   Ú_verboseÚroundÚprintr/   rJ   )Úselfr?   Úpredictionsr2   Úsession_staterA   Ú
start_timer@   rK   rL   rM   Ú
elapsed_msÚgradio_blocksÚoriginal_postprocess_datas               €€r&   Úpatched_postprocess_datazB_install_postprocess_prune_patch.<locals>.patched_postprocess_data   s¹  øè è € ØÐA ×!;Ò!;¸DÑ!AÔ!AˆÝ.¨}Ñ=Ô=ˆÝÔ&Ñ(Ô(ˆ
Ø0Ð0°°xÀÈmÑ\Ô\Ð\Ð\Ð\Ð\Ð\Ð\ˆÝ�f�dÑ#Ô#ð 	@¨ð 	@Ý0MÈhÐX^Ð`kÑ0lÔ0lÑ-ˆL˜+ vÝ  ¨6°;Ñ?Ô?Ð?Ýð f˜V ašZ˜Z¨<¸#Ò+=Ð+=Ý"¥DÔ$5Ñ$7Ô$7¸*Ñ$DÈÑ#LÈaÑPÔP�
Ýð  YÅWÈXÐW]Ð_aÑEbÔEbð  Yð  YÕmpÐqwÑmxÔmxð  Yð  Yð  IUð  Yð  Yð  doð  Yð  Yð  yð  Yð  Yð  MWð  Yð  Yð  aeð  fñ  fô  fð  føÝ˜¥Ñ%Ô%ð 	@Ý  ¨6°;Ñ?Ô?Ð?Øˆr5   )Úgradio.blocksÚblocksÚBlocksÚpostprocess_datar/   rQ   Ú _wangp_original_postprocess_data)rf   rd   re   s    @@r&   Ú _install_postprocess_prune_patchrl   x   s‚   øø€ Ø)Ð)Ð)Ð)Ð)Ð)à -Ô 4Ô EÐÝÐ(Ð*OÐQVÑWÔWð Øˆtðð ð ð ð ð ð DHÐÔ@Ø@YÐÔ=Ø,D€MÔÔ)Øˆ4r5   c                 ó�   ‡— dd l m}  | j        j        Št	          ‰dd¦  «        rdS ˆfd„}d|_        ‰|_        || j        _        dS )Nr   rQ   FTc                óÂ  •—  ‰| ¦  «        }| j         pd}|                     d¦  «        r½|                     d¦  «        dur¦|t          v r�| j        s–| j        dk    r‹d|d<   d|d<   d|d<   t
          rs| j        t          vret                               | j        ¦  «         t          d	| j         › d
| j        › dt          |                     d¦  «        pg ¦  «        › �d¬¦  «         �n$|                     d¦  «        �r|                     d¦  «        dur÷|dk    rñ| j        dk    ræt          |                     d¦  «        pg ¦  «        dk    r¾t          |                     d¦  «        pg ¦  «        dk    r–| j        s�| j        dk    r„d|d<   d|d<   d|d<   t
          rn| j        t          vr`t                               | j        ¦  «         t          d	|› d
| j        › dt          |                     d¦  «        pg ¦  «        › �d¬¦  «         |                     d¦  «        pg }|                     d¦  «        dk    r£|                     d¦  «        €Žt          |¦  «        dk    r{|d d…         |d<   t
          rg| j        t          vrYt                               | j        ¦  «         t          d| j         › d
| j        › dt          |¦  «        › d|d         › �d¬¦  «         |S )NrU   Ú
backend_fnÚqueueFÚsseTÚwangp_fast_chainÚwangp_skip_loading_statusz'[WanGP ui-perf] gradio.direct_queue fn=z id=rV   r;   rW   z<lambda>ÚhiddenÚinputsrI   Úshow_progressÚfullÚshow_progress_oné@   z'[WanGP ui-perf] gradio.progress_cap fn=z show_progress_on=)rT   r:   Ú_MODEL_SWITCH_DIRECT_FN_NAMESÚtypes_generatorÚ
connectionr\   r=   r   Úaddr^   rJ   rv   r   )r_   ÚconfigrT   r;   Úoriginal_get_configs       €r&   Úpatched_get_configz9_install_large_progress_patch.<locals>.patched_get_config›   s¦  ø€ Ø$Ð$ TÑ*Ô*ˆØŒyˆ˜Bˆà�JŠJ�|Ñ$Ô$ð	Mà—
’
˜7Ñ#Ô#¨5Ð0Ð0ØÕ5Ð5Ð5ØÔ(ð 6à” 5Ò(Ð(à#ˆF�7‰OØ)-ˆFÐ%Ñ&Ø26ˆFÐ.Ñ/Ýð R˜DœHÕ,@Ð@Ð@Ý$×(Ò(¨¬Ñ2Ô2Ð2Ýð  EÀÄ	ð  Eð  EÈtÌxð  Eð  EÕbeÐfl×fpÒfpÐqzÑf{Ôf{ð  gBð  @Bñ  cCô  cCð  Eð  Eð  MQð  Rñ  Rô  Rð  Rùà�JŠJ�|Ñ$Ô$ñ	Mà—
’
˜7Ñ#Ô#¨5Ð0Ð0Ø˜
Ò"Ð"ØÔ" hÒ.Ð.Ý�F—J’J˜xÑ(Ô(Ð.¨BÑ/Ô/°1Ò4Ð4Ý�F—J’J˜yÑ)Ô)Ð/¨RÑ0Ô0°AÒ5Ð5ØÔ(ð 6à” 5Ò(Ð(à#ˆF�7‰OØ)-ˆFÐ%Ñ&Ø26ˆFÐ.Ñ/Ýð M˜DœHÕ,@Ð@Ð@Ý$×(Ò(¨¬Ñ2Ô2Ð2ÝÐÀÐÐÈ$Ì(ÐÐÕ]`Ðag×akÒakÐluÑavÔavÐa|Ðz|Ñ]}Ô]}ÐÐð  HLð  Mñ  Mô  Mð  MØ—*’*˜YÑ'Ô'Ð-¨2ˆØ�:Š:�oÑ&Ô&¨&Ò0Ð0°V·Z²ZÐ@RÑ5SÔ5SÐ5[Õ`cÐdkÑ`lÔ`lÐoqÒ`qÐ`qØ)0°°!°¬ˆFÐ%Ñ&Ýð l˜DœHÕ,@Ð@Ð@Ý$×(Ò(¨¬Ñ2Ô2Ð2Ýð  _ÀÄ	ð  _ð  _ÈtÌxð  _ð  _ÕbeÐfmÑbnÔbnð  _ð  _ð  CIð  J\ô  C]ð  _ð  _ð  gkð  lñ  lô  lð  lØˆr5   )rg   rh   ÚBlockFunctionÚ
get_configr/   rQ   Ú_wangp_original_get_config)rd   r€   r   s     @r&   Ú_install_large_progress_patchr„   ”   s{   ø€ Ø)Ð)Ð)Ð)Ð)Ð)à'Ô5Ô@ÐÝÐ"Ð$IÈ5ÑQÔQð Øˆtð&ð &ð &ð &ð &ðP >BÐÔ:Ø4GÐÔ1Ø-?€MÔÔ*Øˆ4r5   Ú	path_textÚstrú
str | Nonec                ó–  — t          | ¦  «                             d¬¦  «        }d}t          |vr8| t          vr.t                               | ¦  «         t          d| › �d¬¦  «         nNt          rt          nt          }t          rt          nd}| 
                    t          |t          z   |z   d¦  «        }d}t          |v r$| 
                    t          t          d¦  «        }d}n7| t          vr.t                               | ¦  «         t          d	| › �d¬¦  «         t          |v r$| 
                    t          t          d¦  «        }d}n7| t          vr.t                               | ¦  «         t          d
| › �d¬¦  «         t           |v r$| 
                    t           t"          d¦  «        }d}n7| t          vr.t                               | ¦  «         t          d| › �d¬¦  «         t$          |v r$| 
                    t$          t&          d¦  «        }d}n7| t          vr.t                               | ¦  «         t          d| › �d¬¦  «         |r|nd S )Núutf-8©ÚencodingFzK[WanGP] Gradio output update patch skipped; updater signature not found in TrW   rU   rI   zH[WanGP] Gradio fast-chain patch skipped; trigger signature not found in zK[WanGP] Gradio event-trigger patch skipped; trigger signature not found in zH[WanGP] Gradio data-status patch skipped; status signature not found in zC[WanGP] Gradio status patch skipped; status signature not found in )r   Ú	read_textÚ_ORIGINAL_OUTPUT_UPDATERr   r}   r^   r\   Ú_DEBUG_OUTPUT_UPDATERÚ_PATCHED_OUTPUT_UPDATERÚ_PATCH_ACTIVE_LOGÚreplaceÚ_PATCH_INITÚ_ORIGINAL_WAIT_THEN_TRIGGERÚ_PATCHED_WAIT_THEN_TRIGGERÚ_ORIGINAL_EVENT_TRIGGERÚ_PATCHED_EVENT_TRIGGERÚ_ORIGINAL_DATA_STATUS_UPDATEÚ_PATCHED_DATA_STATUS_UPDATEÚ_ORIGINAL_STATUS_UPDATEÚ_PATCHED_STATUS_UPDATE)r…   ÚsourceÚpatchedÚupdaterÚ
active_logs        r&   Ú_patched_asset_textrŸ   É   s_  € Ý�)‰_Œ_×&Ò&°Ð&Ñ8Ô8€FØ€GÝ vÐ-Ð-Ø�NÐ*Ð*Ý×Ò˜yÑ)Ô)Ð)ÝÐkÐ`iÐkÐkÐswÐxÑxÔxÐxøå+3ÐPÕ'Ð'Õ9PˆÝ*2Ð:Õ&Ð&¸ˆ
Ø—’Õ 8¸'ÅKÑ:OÐR\Ñ:\Ð^_Ñ`Ô`ˆØˆÝ" fÐ,Ð,Ø—’Õ ;Õ=WÐYZÑ[Ô[ˆØˆˆØ	�.Ð	(Ð	(Ý×Ò˜9Ñ%Ô%Ð%ÝÐdÐYbÐdÐdÐlpÐqÑqÔqÐqÝ &Ð(Ð(Ø—’Õ 7Õ9OÐQRÑSÔSˆØˆˆØ	�.Ð	(Ð	(Ý×Ò˜9Ñ%Ô%Ð%ÝÐgÐ\eÐgÐgÐosÐtÑtÔtÐtÝ# vÐ-Ð-Ø—’Õ <Õ>YÐ[\Ñ]Ô]ˆØˆˆØ	�.Ð	(Ð	(Ý×Ò˜9Ñ%Ô%Ð%ÝÐdÐYbÐdÐdÐlpÐqÑqÔqÐqÝ &Ð(Ð(Ø—’Õ 7Õ9OÐQRÑSÔSˆØˆˆØ	�.Ð	(Ð	(Ý×Ò˜9Ñ%Ô%Ð%ÝÐ_ÐT]Ð_Ð_ÐgkÐlÑlÔlÐlØÐ&ˆ6ˆ6 $Ð&r5   c                óf   — t          | ¦  «                             d¬¦  «        }t          |¦  «        S )Nr‰   rŠ   )r   rŒ   Ú_patch_progress_timer_source)r…   r›   s     r&   Ú"_patched_progress_timer_asset_textr¢   ð   s,   € Ý�)‰_Œ_×&Ò&°Ð&Ñ8Ô8€FÝ'¨Ñ/Ô/Ð/r5   r›   c                óZ   — t           | v r!|                      t           t          d¦  «        S d S )NrI   )Ú_ORIGINAL_PROGRESS_TIMERr‘   Ú_PATCHED_PROGRESS_TIMER©r›   s    r&   r¡   r¡   õ   s+   € Ý 6Ð)Ð)Ø�~Š~Õ6Õ8OÐQRÑSÔSÐSØˆ4r5   Úurlc                ó8   — d| v r| S d| v rdnd}| › |› t           › �S )Nr	   Ú?ú&)Ú_ASSET_CACHE_BUST_PARAM)r§   Ú	separators     r&   Ú_cache_bust_urlr­   û   s:   € Ø˜ÐÐØˆ
Ø˜c�z�z�� s€IØÐ7�9Ð7Õ5Ð7Ð7Ð7r5   c                ó:   — t                                d„ | ¦  «        S )Nc                óž   — |                       d¦  «        › t          |                       d¦  «        ¦  «        › |                       d¦  «        › �S )NÚprefixr§   Úsuffix)Úgroupr­   )Úmatchs    r&   ú<lambda>z)_cache_bust_html_assets.<locals>.<lambda>  sb   € °·²¸XÑ1FÔ1Fð  /EÍÐX]×XcÒXcÐdiÑXjÔXjÑHkÔHkð  /EÐmr×mxÒmxð  zBñ  nCô  nCð  /Eð  /E€ r5   )Ú_HTML_BOOT_JS_REÚsubr¦   s    r&   Ú_cache_bust_html_assetsr·     s0   € Ý×Òð  !Eð  !Eð  GMñ  Nô  Nð  Nr5   c                ó„   ‡— | j         j        Št          ‰dd¦  «        rdS ˆfd„}d|_        ‰|_        || j         _        dS )NrQ   FTc                 óh  •—  ‰| i |¤Ž}t          |dd ¦  «        }|r•	 |                     d¦  «        }n# t          $ r |cY S w xY wt          |¦  «        }||k    rW|                     d¦  «        |_        t          t          |j        ¦  «        ¦  «        |j        d<   d|j        d<   d|j        d<   |S )NÚbodyr‰   zcontent-lengthúno-storezcache-controlzhtml-asset-cache-bustzx-wangp-gradio-patch)	r/   ÚdecodeÚUnicodeDecodeErrorr·   Úencoderº   r†   rJ   Úheaders)ÚargsÚkwargsÚresponserº   r›   rœ   Úoriginal_template_responses         €r&   Úpatched_template_responsezE_install_template_cache_bust_patch.<locals>.patched_template_response  sÙ   ø€ Ø-Ð-¨tÐ>°vÐ>Ð>ˆÝ�x ¨Ñ.Ô.ˆØð 
	Sð ØŸš WÑ-Ô-��øÝ%ð  ð  ð  Ø���ð øøøå-¨fÑ5Ô5ˆGØ˜&Ò Ð Ø '§¢¨wÑ 7Ô 7�”Ý58½¸X¼]Ñ9KÔ9KÑ5LÔ5L�Ô Ð!1Ñ2Ø4>�Ô  Ñ1Ø;R�Ô Ð!7Ñ8Øˆs   ž4 ´AÁA)Ú	templatesÚTemplateResponser/   rQ   Ú!_wangp_original_template_response)Úgradio_routesrÄ   rÃ   s     @r&   Ú"_install_template_cache_bust_patchrÉ     sj   ø€ Ø!.Ô!8Ô!IÐÝÐ)Ð+PÐRWÑXÔXð Øˆtðð ð ð ð ð  EIÐÔAØB\ÐÔ?Ø/H€MÔÔ,Øˆ4r5   Úverbosec                ó‚  ‡‡— ddl m} t          j        dd¦  «                             ¦   «                              ¦   «         dvr|                     ¦   «          | at          j        dd¦  «                             ¦   «                              ¦   «         dv r| rt          dd¬	¦  «         d
S t          rdS t          sd
S dd lm} ddlmŠ |j        Št!          ‰dd
¦  «        rda	dS ˆˆfd„}d|_        ‰|_        ||_        t'          |¦  «         t)          ¦   «          t+          ¦   «          da	| rt          dd¬	¦  «         dS )Nr   )Úgradio_engine_patchÚ!WANGP_DISABLE_GRADIO_ENGINE_PATCHrU   >   Ú1ÚonÚyesÚtrueÚ'WANGP_DISABLE_GRADIO_MODEL_SWITCH_PATCHzW[WanGP] Gradio model switch patches disabled by WANGP_DISABLE_GRADIO_MODEL_SWITCH_PATCHTrW   F)ÚResponserQ   c                óÒ  •— t          | ¦  «        }t          |¦  «        j        }g }d }|                     d¦  «        r;|                     d¦  «        r&t          |¦  «        }|�|                     d¦  «         |                     d¦  «        r9|�t          |¦  «        nt          |¦  «        }|�|}|                     d¦  «         |�Pt          | 
                    dd ¦  «        pi ¦  «        }d|d<   d                     |¦  «        |d	<    ‰	|d
|¬¦  «        S |                     d¦  «        r/t          | 
                    dd ¦  «        pi ¦  «        }d|d<   ||d<    ‰
| g|¢R i |¤ŽS )NzBlocks-z.jszoutput-updatezprogress-timerr¿   r»   zCache-Controlú,zX-WanGP-Gradio-Patchzapplication/javascript)Ú
media_typer¿   )r†   r   rT   Ú
startswithÚendswithrŸ   Úappendr¡   r¢   r   ÚpopÚjoin)ÚpathrÀ   rÁ   r…   ÚfilenameÚpatch_namesÚpatched_textÚprogress_timer_textr¿   rÓ   Úoriginal_file_responses            €€r&   Úpatched_file_responsez&install.<locals>.patched_file_response:  s®  ø€ Ý˜‘I”Iˆ	Ý˜	‘?”?Ô'ˆØˆØˆØ×Ò˜yÑ)Ô)ð 	4¨h×.?Ò.?ÀÑ.FÔ.Fð 	4Ý.¨yÑ9Ô9ˆLØÐ'Ø×"Ò" ?Ñ3Ô3Ð3ð ×Ò˜UÑ#Ô#ð 	5ØP\ÐPhÕ">¸|Ñ"LÔ"LÐ"Lõ  oQð  R[ñ  o\ô  o\ÐØ"Ð.Ø2�Ø×"Ò"Ð#3Ñ4Ô4Ð4ØÐ#Ý˜6Ÿ:š: i°Ñ6Ô6Ð<¸"Ñ=Ô=ˆGØ'1ˆG�OÑ$Ø.1¯hªh°{Ñ.CÔ.CˆGÐ*Ñ+Ø�8˜LÐ5MÐW^Ð_Ñ_Ô_Ð_Ø×Ò˜UÑ#Ô#ð 	(Ý˜6Ÿ:š: i°Ñ6Ô6Ð<¸"Ñ=Ô=ˆGØ'1ˆG�OÑ$Ø 'ˆF�9ÑØ%Ð% dÐ<¨TÐ<Ð<Ð<°VÐ<Ð<Ð<r5   z.[WanGP] Gradio output update patches installed)Úshared.gradiorÌ   ÚosÚgetenvÚstripÚlowerÚinstallr\   r^   Ú
_installedÚ&ENABLE_GRADIO_MODEL_SWITCH_MONKEYPATCHÚgradio.routesÚroutesÚfastapi.responsesrÓ   ÚFileResponser/   rQ   Ú_wangp_original_file_responserÉ   r„   rl   )rÊ   rÌ   rÈ   râ   rÓ   rá   s       @@r&   rè   rè   "  s¢  øø€ à1Ð1Ð1Ð1Ð1Ð1å	„yÐ4°bÑ9Ô9×?Ò?ÑAÔA×GÒGÑIÔIÐQkÐkÐkØ×#Ò#Ñ%Ô%Ð%Ø€HÝ	„yÐ:¸BÑ?Ô?×EÒEÑGÔG×MÒMÑOÔOÐSmÐmÐmØð 	yÝÐkÐswÐxÑxÔxÐxØˆuÝð ØˆtÝ1ð Øˆuà)Ð)Ð)Ð)Ð)Ð)Ø*Ð*Ð*Ð*Ð*Ð*à*Ô7ÐÝÐ%Ð'LÈeÑTÔTð Øˆ
Øˆtð=ð =ð =ð =ð =ð =ð8 AEÐÔ=Ø:PÐÔ7Ø!6€MÔÝ& }Ñ5Ô5Ð5Ý!Ñ#Ô#Ð#Ý$Ñ&Ô&Ð&Ø€JØð LÝÐ>ÀdÐKÑKÔKÐKØˆ4r5   rê   rè   )r   r   )r…   r†   r   r‡   )r›   r†   r   r‡   )r§   r†   r   r†   )r›   r†   r   r†   )F)rÊ   r   r   r   )9Ú
__future__r   rä   ÚrerZ   r*   Úpathlibr   rê   r0   r�   r�   rŽ   r“   r”   r•   r–   r—   r˜   r™   rš   r¤   r¥   r’   r�   ré   r\   r   r   Ú__annotations__r   r   Ú__file__ÚstatÚst_mtimeÚ_ASSET_CACHE_BUST_MTIMEÚintÚ_ASSET_CACHE_BUST_TOKENr«   Úcompilerµ   rz   r'   r-   r4   rG   rO   rl   r„   rŸ   r¢   r¡   r­   r·   rÉ   rè   Ú__all__© r5   r&   ú<module>rý      s´  ðà "Ð "Ð "Ð "Ð "Ð "Ð "à 	€	€	€	Ø 	€	€	€	Ø €€€Ø €€€Ø Ð Ð Ð Ð Ð à).Ð &Ø8Ð ð Ð ð QÐ ð RÐ ð dÐ ð [Ð Ø`Ð ð qÐ ð  hÐ ð DÐ ð EÐ ð fÐ Ø_Ð ð pÐ ØI€ØQÐ à€
Ø€Ø˜3™5œ5€Ð  Ð  Ð  Ñ  Ø!$ ¡¤Ð Ð &Ð &Ð &Ñ &Ø!$ ¡¤Ð Ð &Ð &Ð &Ñ &Ø˜$˜x™.œ.×-Ò-Ñ/Ô/Ô8Ð ØA 3 3Ð'>Ñ#?Ô#?ÐAÐAÐ ØAÐ(?ÐAÐAÐ Ø�2”:ÐsÑtÔtÐ ð!ð !ð !Ð ð"ð ð ð ðð ð ðð ð ð?ð ?ð ?ð-ð -ð -ð,ð ð ð ð82ð 2ð 2ð 2ðj$'ð $'ð $'ð $'ðN0ð 0ð 0ð 0ð
ð ð ð ð8ð 8ð 8ð 8ðNð Nð Nð Nðð ð ð ð8=ð =ð =ð =ð =ðB -Øð€€€r5   