
    p"h                     >   / S Qr SSKr/ SQrSrSrSrSrS\ S	3rS
\-   rSr	S\ S\ \ S3r
S\ S\ \ S3rS\ S\ \ S3rS\ S\ \ S3r\ S\ \ S3rS rS r\" \" 5       5      rS r\" \" 5       5      rSrSrSr\ S3rSrS rS rS r\" \" 5       5      rg))is_valid_transferlistis_valid_pathdatais_valid_animation_timing    N)focusinfocusoutactivateclick	mousedownmouseup	mouseover	mousemovemouseoutDOMSubtreeModifiedDOMNodeInsertedDOMNodeRemovedDOMNodeRemovedFromDocumentDOMNodeInsertedtoDocumentDOMAttrModifiedDOMCharacterDataModifiedSVGLoad	SVGUnloadSVGAbortSVGError	SVGResize	SVGScrollSVGZoom
beginEventendEventrepeatEventz
\s*[, ]\s*z
\s*[; ]\s*z\d+z([eE][+-]?\d+)z(\d+\.?\d*|\.\d+)?z[+-]?z[01]\s*(z)*\s*z\s*){1}\s*(z\s*){3}z\s*){5})*c                 @   ^ [         R                  " U 5      mU4S jnU$ )Nc                 8   > [        TR                  U 5      5      $ )N)bool	fullmatch)termregs    I/var/www/html/env/lib/python3.13/site-packages/svgwrite/data/svgparser.pyfis_valid.<locals>.f'   s    CMM$'((    )recompile)regexr,   r*   s     @r+   is_validr2   $   s    
**U
C) Hr.   c            	      6   S[          S3n S[         S[         [         S3nS[         S[         [         S3nS[         S[         [         [         [         S3nS[         S3nS	[         S3nS
R                  S XX#XE4 5       5      nSU S[         SU S3$ )Nzmatrix\s*\(\s*\s*\)ztranslate\s*\(\s*r"   z)?\s*\)zscale\s*\(\s*zrotate\s*\(\s*zskewX\s*\(\s*zskewY\s*\(\s*|c              3   .   #    U  H  nS U S3v   M     g7fz(\s*z\s*)N .0cmds     r+   	<genexpr>,build_transferlist_parser.<locals>.<genexpr>5   s!      9 48CcU$' 48   )(z))*)six_comma_delimited_numbersnumbercjoin)matrix	translatescalerotateskewXskewYtl_res          r+   build_transferlist_parserrK   -   s    :;5AF$VHAaS@IVHAaS8Evhas6(1#fXWEFVHE*EVHE*EHH 95%48 9 :Ewb1UG3''r.   c                     S[          3n S[          3nS[         3nS[         3nS[         S[         [         S3nS[         S	[         [         S3nS
[         S	[         [         S3nS[          3n[         R                  [         [         [         [         [         [         [         45      nSU-   S-   nSU S[         U S3n	SR                  S XX#SXEUXy4
 5       5      n
U  S	U
 S3$ )Nz[mM]\s*z[lL]\s*z[hH]\s*z[vV]\s*z[cC]\s*(r?   r$   z[sS]r"   z[qQ]z[tT]\s*r!   z[aA](r5   c              3   .   #    U  H  nS U S3v   M     g7fr7   r8   r9   s     r+   r<   (build_pathdata_parser.<locals>.<genexpr>R   s!      : =9S$se40 =9r>   z[zZ])	 comma_delimited_coordinate_pairscomma_delimited_coordinatesr@   rB   four_comma_delimited_numbersrC   nonnegative_numberrA   flag)movetolinetohorizontal_linetovertical_linetocurvetosmooth_curvetoquadratic_bezier_curvetosmooth_quadratic_bezier_curvetoelliptical_arc_argumentelliptical_arcdrawto_commands              r+   build_pathdata_parserr_   =   sQ   89:F89:F"#>"?@ !< =>O56b<W;XXZ[G9:!A3?[>\\^_N"&'C&DAaSIeHffhi)01Q0R&S#"#ll86688,  %'>>G56b<S;TTVWNXX :)F!9'=9 : ;N
 XQ~&b))r.   z\d{2}z\d{4}z\d+(\.\d+)?z(\.\d+)?z(h|min|s|ms)c                  `    [          S[         S3n [         S[         S[         3nSU  SU S3$ )Nr#   )?z:(z:)?r"   r5   ))secondsmetricdigit2seconds2)timecount_val	clock_vals     r+   clock_val_reri   c   s?    yVHB/M82fXS
3Ia	{!,,r.   c                      [          S[          S[         S3n U  S[          S[          S3n[         S[          S[          3nU SU S3nSSR                  X45      -   S	-   $ )
N:z(:ra   z(Z|[+-]?-z(Tr"   r5   rb   )re   rf   digit4rC   )hhmmsswalltimedatedatetimes       r+   wall_clock_val_rerr   i   sv    &H:R0F((6(!F826Hhaxq)D&8*B'H8.//#55r.   c                      [        5       n [        5       nSSR                  [        5      -   S-   nSnSU S3nSU  S3nSU S	U  S3nSU S
U SU  S3nSU  3nU SU S3n	SSR                  S XXvXTS4 5       5      -   S-   n
U
 S[         U
 S3$ )Nr"   r5   rb   z#?[-_a-zA-Z0-9]+zwallclock\(\s*r4   z$accessKey\(\s*[a-zA-Z]\s*\)\s*([+-]?ra   z#\.)?repeat\s*\(\s*\d+\s*\)\s*([+-?]z\.)?z([+-]?z[-+]?z\.(begin|end)(c              3   .   #    U  H  nS U S3v   M     g7f)r"   rb   Nr8   )r:   r*   s     r+   r<   0build_animation_timing_parser.<locals>.<genexpr>~   s       "> 9=AcU!* 9=r>   
indefiniter$   )ri   rr   rC   event_namess)rh   wallclock_val	event_refid_valuewallclock_sync_valueaccesskey_valuerepeat_valueevent_valueoffset_valuesyncbase_valuebegin_values              r+   build_animation_timing_parserr   q   s    I%'Mchh{++c1I!H,]O5A=i[KOz!DYKrRLxjYKvi[CKI;'L!
.bAN ">k|9= "> ? ?ADEK m1QC}B//r.   )__all__r/   rw   rB   rx   integer_constantexponentrR   rA   rS   rP   two_comma_delimited_numbersrQ   r@   rO   r2   rK   r   r_   r   re   rm   rc   rf   rd   ri   rr   r   r   r8   r.   r+   <module>r      s=   V 	  )(15 	&	&!$VHAaS> !$VHAaSC "%fXT!VHKG !$VHDF8;F 'B&C1QCHcGddf#g  
( !!:!<= *: 245 		hh	-60& %%B%DE r.   