ó
    ‚¤jÜ.  ã                   óÔ   • S SK r S SKrS SKrS SKrS SKrS SKJr  \R                  R                  S5      =(       d     \	" \" \R                  " 5       5      S-  5      rS r    SS jrg)é    N)ÚPathÚGRADIO_TEMP_DIRÚgradioc              ƒ   ó4  #   • SSK Jn  U nU /n UR                  S5      (       Gaã  UR                  S5      (       GaÌ  [        US   5      n[        US   5      nXg:  Gaª  [        R
                  " S[        S9S   n[        R
                  " S[        S9S   n	[        R
                  " S	[        S9S   n
UR                  X‰U
/5        US:”  a�  U" US 0U	S
U S30S9n[        R                  " UR                  R                  5       [        R                  R                  [        R                  R                  S.6I S h  v•N nUR                  5       I S h  v•N u  pÞU" US 0U
SU S30S9n[        R                  " UR                  R                  5       [        R                  R                  [        R                  R                  S.6I S h  v•N nUR                  5       I S h  v•N u  pÞ[        R
                  " S[        S9S   nUR                  U5        [!        US5       nUS:”  a\  ["        R$                  R'                  U	5      (       a8  ["        R$                  R)                  U	5      S:”  a  UR+                  SU	 S35        ["        R$                  R'                  U
5      (       a8  ["        R$                  R)                  U
5      S:”  a  UR+                  SU
 S35        S S S 5        ["        R$                  R'                  U5      (       a±  ["        R$                  R)                  U5      S:”  aŽ  U" US0US0S9n[        R                  " UR                  R                  5       [        R                  R                  [        R                  R                  S.6I S h  v•N nUR                  5       I S h  v•N u  pÞUnXšU4 H@  n ["        R$                  R'                  U5      (       a  ["        R,                  " U5        M@  MB     SU;   Ga.  US   (       Ga#  US   n[1        U5       GH  u  nnUR                  S5      (       d  M  US   R                  S5      (       d  M:  US   R                  S5      (       d  MU  US   S   nUS   S   nUR                  S5      nUR                  SS5      n[        R
                  " SU S3[        S9S   nUR                  U5        [3        UUUUU5      I S h  v•N u  nnUR                  U5        U(       d  Mí  UU:w  d  Mõ  X@4;  a  UR                  U5        UnGM     U" US 0US0S9n[        R                  " UR                  R                  5       [        R                  R                  [        R                  R                  S.6I S h  v•N nUR                  5       I S h  v•N u  pÞUR4                  S:w  a  [6        R8                  " XA5        Un[        R
                  " S[        S9S   nUR                  U5        U" US 0US 0S9n[        R                  " UR                  R                  5       [        R                  R                  [        R                  R                  S.6I S h  v•N nUR                  5       I S h  v•N u  pÞUR4                  S:X  ao  ["        R$                  R'                  U5      (       aK  ["        R$                  R)                  U5      S:”  a(  [6        R8                  " UU5        UR                  U5        X4$  GNð GNÛ GNf GNQ! , (       d  f       GN\= f GN« GN–! [.         a     GMš  f = f GNm GN» GN¦ Nß NÉ! [:         a    [<        R>                  " 5         X4s $ f = f7f)!Nr   ©ÚFFmpegÚremove_segment_startÚremove_segment_endz_trimmed.mp4©ÚsuffixÚdiré   z_before.mp4z
_after.mp4z-t z4 -c:v libx264 -preset fast -crf 22 -c:a aac -r 30 -y©ÚinputsÚoutputs©ÚstdoutÚstderrz-ss z_concat.txtÚwzfile 'z'
z-f concat -safe 0z
-c copy -yÚzoom_effectsÚboundingBoxÚtopLeftÚbottomRightÚstart_frameÚdurationç       @Ú_zoom_z.mp4z>-c:v libx264 -preset fast -crf 22 -c:a aac -r 30 -vsync cfr -yz_final_trimmed.mp4z;-ss 0.5 -c:v libx264 -preset fast -crf 22 -c:a aac -r 30 -y) Úgradio._vendor.ffmpyr   ÚgetÚfloatÚtempfileÚmkstempÚDEFAULT_TEMP_DIRÚextendÚasyncioÚcreate_subprocess_execÚcmdÚsplitÚ
subprocessÚPIPEÚcommunicateÚappendÚopenÚosÚpathÚexistsÚgetsizeÚwriteÚunlinkÚOSErrorÚ	enumerateÚzoom_inÚ
returncodeÚshutilÚcopyÚ	ExceptionÚ	tracebackÚ	print_exc)Ú
input_pathÚoutput_pathÚparamsr   Úcurrent_inputÚ
temp_filesÚstartÚendÚsegment_outputÚbefore_segmentÚafter_segmentÚffÚprocessr   r   Úconcat_fileÚfÚfiler   ÚiÚeffectÚtop_leftÚbottom_rightr   r   Úzoom_outputÚzoom_temp_filesÚfinal_trimmed_outputs                               Ú«C:\Users\johnn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.13_qbz5n2kfra8p0\LocalCache\local-packages\Python313\site-packages\gradio/screen_recording_utils.pyÚprocess_video_with_ffmpegrT      s·  é € Ý+à€MØ�€Jð_&Ø�:‰:Ð,×-Ò-°&·*±*Ð=Q×2RÒ2RÜ˜&Ð!7Ñ8Ó9ˆEÜ˜Ð3Ñ4Ó5ˆCàŒ{Ü!)×!1Ò!1Ø)Ô/?ñ"àñ"�ô "*×!1Ò!1Ø(Ô.>ñ"àñ"�ô !)× 0Ò 0Ø'Ô-=ñ!àñ!�ð ×!Ñ! >À=Ð"QÔRà˜1“9ÙØ -¨tÐ4à*¨c°%°Ð8lÐ,mð!ñ�Bô %,×$BÒ$BØŸ™Ÿ™›Ü&×1Ñ1×6Ñ6Ü&×1Ñ1×6Ñ6ò%÷ �Gð
 ,3×+>Ñ+>Ó+@×%@‘N�FáØ)¨4Ð0à%¨¨c¨UÐ2fÐ'gðñ�ô !(× >Ò >Ø—V‘V—\‘\“^Ü"×-Ñ-×2Ñ2Ü"×-Ñ-×2Ñ2ò!÷ �ð
 (/×':Ñ':Ó'<×!<‘�ä&×.Ò.Ø(Ô.>ñàñ�ð ×!Ñ! +Ô.ä˜+ sÔ+¨qà ›	ÜŸG™GŸN™N¨>×:Ñ:ÜŸG™GŸO™O¨NÓ;¸aÓ?àŸ™ &¨Ð(8¸Ð <Ô=äŸ™Ÿ™ }×5Ñ5ÜŸG™GŸO™O¨MÓ:¸QÓ>àŸ™ &¨¨°sÐ ;Ô<÷ ,ô —7‘7—>‘> +×.Ñ.´2·7±7·?±?À;Ó3OÐRSÓ3SÙØ +Ð-@ÐAØ!/°Ð >ñ�Bô %,×$BÒ$BØŸ™Ÿ™›Ü&×1Ñ1×6Ñ6Ü&×1Ñ1×6Ñ6ò%÷ �Gð
 ,3×+>Ñ+>Ó+@×%@‘N�Fà$2�Mà+¸KÓH�DðÜŸ7™7Ÿ>™>¨$×/Ñ/ÜŸIšI džOñ 0ñ Ið ˜VÔ#¨¨~×(>Ð(>Ø! .Ñ1ˆLÜ& |×4‘	��6à—J‘J˜}×-Ó-Ø˜}Ñ-×1Ñ1°)×<Ó<Ø˜}Ñ-×1Ñ1°-×@Ó@à% mÑ4°YÑ?�HØ#)¨-Ñ#8¸Ñ#G�LØ"(§*¡*¨]Ó";�KØ%Ÿz™z¨*°cÓ:�Hä"*×"2Ò"2Ø!'¨ s¨$Ð/Ô5Eñ#àñ#�Kð ×%Ñ% kÔ2ä9@Ø% x°¸xÈó:÷ 4Ñ0�K ð ×%Ñ% oÔ6ß"�{ {°mÕ'CØ(°Ó<Ø&×-Ñ-¨mÔ<Ø(3›ñ1 5ñ4 Ø! 4Ð(àÐ]ðñ
ˆô  ×6Ò6Ø�V‰V�\‰\‹^Ü×%Ñ%×*Ñ*Ü×%Ñ%×*Ñ*ò
÷ 
ˆð
  '×2Ñ2Ó4×4‰ˆà×Ñ Ó"Ü�KŠK˜Ô3à#ˆÜ'×/Ò/Ø'Ô-=ñ 
à
ñ Ðð 	×ÑÐ.Ô/áØ! 4Ð(à$Ð&cðñ
ˆô  ×6Ò6Ø�V‰V�\‰\‹^Ü×%Ñ%×*Ñ*Ü×%Ñ%×*Ñ*ò
÷ 
ˆð
  '×2Ñ2Ó4×4‰ˆð ×Ñ !Ó#Ü—‘—‘Ð3×4Ñ4Ü—‘—‘Ð 4Ó5¸Ó9ä�KŠKÐ,¨kÔ:Ø×ÑÐ2Ô3àÐ&Ð&òEò
 &Aòò
 "=÷ ,Ö+úò$ò
 &Aøô #ó Ûðúò*4ò 
ò
 5ñ"
ñ
 5øô ó &Ü×ÒÔØÐ%Ò%ð&üsE  ‚^�D.]0 Ä=\-Ä>]0 Å\0ÅA7]0 Ç\3Ç]0 Ç%\6Ç&?]0 È%B?\9Ë$B<]0 Î ]Î!]0 Î8]Î9]0 Ï	:]ÐA]0 Ñ
]0 Ñ%]0 Ò A6]0 Ó6]#Ó7]0 Ô]0 Ô B]0 Ö+]&Ö,]0 ×])×C]0 Ú],Ú]0 Ú$].Ú%B]0 Ü,^Ü-]0 Ü0]0 Ü3]0 Ü6]0 Ü9
]Ý	]0 Ý]0 Ý
] Ý]0 Ý] Ý ]0 Ý&]0 Ý)]0 Ý,]0 Ý.]0 Ý0"^Þ^Þ^Þ^c              ƒ   óR  #   • SSK Jn  / n U (       a$  [        R                  R	                  U 5      (       d  X4$ Uc  SnO [        U5      nUc  SS/nUc  SS/n [        US   5      [        US   5      p‡[        US   5      [        US   5      p©[        S	[        S
U5      5      n[        S	[        S
U5      5      n[        S[        SU	5      5      n	[        S[        SU
5      5      n
X—::  a  Su  pyX¨::  a  Su  pŠX—-
  nX¨-
  nXy-   S-  nXŠ-   S-  nS nU" XÛ5      nU" Xì5      nSn[        SU-  SU-  5      nS
nUU-  n[        UU5      n[        US5      nSU  S3n[        R                  " U[        R                  R                  [        R                  R                  S9I S h  v•N nUR                  5       I S h  v•N u  nn UR!                  5       R#                  5       n[        U5      nSn[        [        U5      U5      n[$        R&                  " S[(        S9S   nUR+                  U5        [-        US-  5      n[-        US-  5      n[-        UU-  5      n Su  n!n"SR/                  / SPU PSPUU-   U -   U-    PSPU PSPU PSPU PSPU PS PU PSPU PSPUU -    PS!PU PSPU PS"PU PS#PU PS$PU PS$PU  PS%PU PS&PU PS'PU PS(PU PS)PU PS*PU PS+PU! PS,PU" PS-P5      n#U" U S 0US.U# S/30S09n$U$R0                  R3                  5       n%[        R4                  " U%[        R                  R                  [        R                  R                  S.6I S h  v•N nUR                  5       I S h  v•N u  nnUR6                  S:w  a  X4$ UU4$ ! [        [        4 a    Sn GNhf = f! [        [        [        4 a    Su  pxSu  pš GNGf = f GN6 GN!! [        [        4 a    Sn GNf = f N’ N|! [8         a    [:        R<                  " 5         X4s $ f = f7f)1Nr   r   é<   ç      Ð?ç      è?r   )rW   rW   )rX   rX   g        gÍÌÌÌÌÌì?gš™™™™™¹?g      ð?)rW   rX   é   c                 óZ   • U S:  a  SU -
  nXUS-  -  -
  $ U S:”  a  U S-
  nXUS-  -  -   $ U $ )Ng      à?© )ÚcenterÚsizeÚdistance_from_centers      rS   Úcalculate_proportional_offsetÚ.zoom_in.<locals>.calculate_proportional_offseté   sQ   € Ø˜‹|Ø'*¨V¡|Ð$ØÐ)=ÀÑ)CÑ!DÑEÐEØ˜#“Ø'-°¡|Ð$ØÐ)=ÀÑ)CÑ!DÑEÐEØˆMó    g      @gÍÌÌÌÌÌô?zWffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 "Ú"r   g      $@g      >@z_zoomed.mp4r   )i€  i8  Ú z[0:v]zoompan=z='if(between(on,Ú,z),if(lt(on-z),1+((z-1)*(on-z)/z),z-((z	-1)*((on-Ú-z))/z))),1)':x='iw*z	-iw/zoom*z':y='ih*z	-ih/zoom*z
':d=1:fps=z:s=Úxz[outv]z-filter_complex "zk" -map "[outv]" -map 0:a? -c:v libx264 -pix_fmt yuv420p -movflags +faststart -preset fast -r 30 -c:a aac -yr   )r   r   r.   r/   r0   r    Ú
ValueErrorÚ	TypeErrorÚ
IndexErrorÚmaxÚminr%   Úcreate_subprocess_shellr)   r*   r+   ÚdecodeÚstripr!   r"   r#   r,   ÚintÚjoinr'   r(   r&   r7   r:   r;   r<   )&r=   rN   rO   Úzoom_durationÚzoom_start_framer   rA   Úx1Úy1Úx2Úy2Ú	box_widthÚ
box_heightÚbox_center_xÚbox_center_yr_   Úzoom_center_xÚzoom_center_yÚtarget_zoomÚmax_zoom_by_sizeÚsafety_marginÚdynamic_max_zoomÚduration_cmdrH   r   r   ÚoutputÚvideo_durationÚfpsrP   Úzoom_in_framesÚzoom_out_framesÚhold_framesÚwidthÚheightÚcomplex_filterrG   Ú	cmd_partss&                                         rS   r6   r6   µ   s  é € õ ,à€JðH&Þ¤§¡§¡°
×!;Ñ!;ØÐ)Ð)àÑ#Ø!Ñð&Ü#(Ð)9Ó#:Ð ð ÑØ˜d�|ˆHàÑØ  $˜<ˆLð	 Ü˜8 A™;Ó'¬¨x¸©{Ó);�Ü˜<¨™?Ó+¬U°<À±?Ó-C�ô
 �”c˜#˜r“lÓ#ˆÜ�”c˜#˜r“lÓ#ˆÜ�”c˜#˜r“lÓ#ˆÜ�”c˜#˜r“lÓ#ˆà‹8Ø‰FˆBØ‹8Ø‰FˆBà‘Gˆ	Ø‘Wˆ
à™ 1‘}ˆØ™ 1‘}ˆò	ñ 6°lÓNˆÙ5°lÓOˆàˆÜ˜s Y™°°jÑ0@ÓAÐàˆØ+¨mÑ;ÐäÐ/°Ó=ÐÜÐ/°Ó5ÐàpÐq{Ðp|Ð|}Ð~ˆä×7Ò7ØÜ×%Ñ%×*Ñ*Ü×%Ñ%×*Ñ*ñ
÷ 
ˆð
  '×2Ñ2Ó4×4‰ˆ�ð	"Ø—]‘]“_×*Ñ*Ó,ˆFÜ" 6›]ˆNð ˆÜœE -Ó0°.ÓAˆÜ×&Ò&¨mÔAQÑRÐSTÑUˆØ×Ñ˜+Ô&Ü˜S 1™W›ˆÜ˜c A™g›,ˆÜ˜-¨#Ñ-Ó.ˆà"‰ˆˆv÷(ó (ð  ð (Ø 0Ð1ð(Ø12ð(Ø3CÀnÑ3TÐWbÑ3bÐetÑ3tÐ2uð(ðvð(à(Ð)ð(à)*ð(à+9Ð*:ð(ð;ð(ð $Ð$ð(ð %-ð(ð .>Ð,>ð(ð ?Að(ð BPÐ@Pð(ðQð(ð )Ð)ð	(ð *+ð	(ð ,:¸KÑ+GÐ*Hð	(ð IKð	(ð
  Ð ð(ð
 !"ð(ð  Ð ð(ð !$ð(ð %5Ð#5ð(ð 6?ð(ð @PÐ>Pð(ð QRð(ð SaÐQað(ð bcð(ð doÐboð(ð psð(ð tCð  sDð(ðDð(ð #�Oð(ð $-ð(ð .;¨Oð(ð<ð(ð #�Oð(ð $-ð(ð .;¨Oð(ð<ð(ð �%ð(ðð(ð �ð(ð ð(ð  ˜ð(ð !'ô(ð 	ñ  Ø Ð%àØ'¨Ð'7ð 	8ð 	ðñ
ˆð$ —F‘F—L‘L“Nˆ	Ü×6Ò6ØÜ×%Ñ%×*Ñ*Ü×%Ñ%×*Ñ*ò
÷ 
ˆð
  '×2Ñ2Ó4×4‰ˆ�à×Ñ Ó"ØÐ)Ð)à˜JÐ&Ð&øôw ¤	Ð*ó &Ø#%Ó ð&ûô œ:¤zÐ2ó 	 Ø‰FˆBØ‰FˆB’ð	 úòV
ò
 5øô
 œIÐ&ó 	"Ø!‹Nð	"úñ`
ñ
 5øô ó &Ü×ÒÔØÐ%Ò%ð&üsè   ‚	P'Œ-O? ¹P'ºO? ÁN ÁO? Á6N8 ÂDO? Æ&OÆ'O? Æ>OÆ?O? Ç)O" Ç0E8O? Í(O;Í)O? Î O=ÎO? ÎP'ÎO? ÎP'ÎN5Î1O? Î4N5Î5O? Î8OÏO? ÏOÏO? ÏO? Ï"O8Ï4O? Ï7O8Ï8O? Ï=O? Ï?"P$Ð!P'Ð#P$Ð$P')NNr   N)r%   r.   r8   r!   r;   Úpathlibr   Úenvironr   ÚstrÚ
gettempdirr#   rT   r6   r[   ra   rS   Ú<module>r�      sh   ðÛ Û 	Û Û Û Ý à—:‘:—>‘>Ð"3Ó4÷ ¹Ùˆ×	Ò	Ó	Ó (Ñ*ó9Ð ò
e&ðT ØØØõS&ra   