
    $g                     d   g d Z ddlZg dZdZdZdZdZde d	Zd
ez   ZdZ	de de e dZ
de de e dZde de e dZde de e dZe de e dZd Zd Z e e                      Zd Z e e                      ZdZdZdZe dZdZd Zd Zd Z e e                      ZdS ))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                 :    t          j        |           fd}|S )Nc                 H    t                              |                     S )N)bool	fullmatch)termregs    W/var/www/html/netbox-4.1.3/venv/lib/python3.11/site-packages/svgwrite/data/svgparser.pyfzis_valid.<locals>.f'   s    CMM$''(((    )recompile)regexr,   r*   s     @r+   is_validr1   $   s2    
*U

C) ) ) ) ) Hr-   c            	      h   dt            d} dt           dt           t           d}dt           dt           t           d}dt           dt           t           t           t           d}dt           d}d	t           d}d
                    d | |||||fD                       }d| dt           d| dS )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   "   K   | ]
}d | dV  dS z(\s*z\s*)N .0cmds     r+   	<genexpr>z,build_transferlist_parser.<locals>.<genexpr>5   s>       9 9C'c''' 9 9 9 9 9 9r-   )(z))*)six_comma_delimited_numbersnumbercjoin)matrix	translatescalerotateskewXskewYtl_res          r+   build_transferlist_parserrH   -   s    A:AAAF@V@@a@@@@I8V88a8888EEvEEE6E1EfEEEF*V***E*V***EHH 9 9	5&%48 9 9 9 : :E'''''U''''r-   c                  ,   dt            } dt            }dt           }dt           }dt           dt           t           d}dt           d	t           t           d}d
t           d	t           t           d}dt            }t                               t           t           t           t           t           t           t           f          }d|z   dz   }d| dt           | d}	d                    d | |||d|||||	f
D                       }
|  d	|
 dS )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](r4   c              3   "   K   | ]
}d | dV  dS r6   r7   r8   s     r+   r;   z(build_pathdata_parser.<locals>.<genexpr>R   s>       : :S0s000 : : : : : :r-   z[zZ])	 comma_delimited_coordinate_pairscomma_delimited_coordinatesr=   r?   four_comma_delimited_numbersr@   nonnegative_numberr>   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[   =   s}   :8::F:8::F@#>@@>!<>>O[5[[[<W[[[G_9__A_?[___Ni'CiiaiIeiii&S1Q&S&S#"#gll  

,   %'>>GW5WWW<SWWWNXX : :)?F!9'=9 : : : ; ;N
 ))~))))r-   z\d{2}z\d{4}z\d+(\.\d+)?z(\.\d+)?z(h|min|s|ms)c                  j    t            dt           d} t           dt           dt           }d|  d| dS )Nr#   )?z:(z:)?r"   r4   ))secondsmetricdigit2seconds2)timecount_val	clock_vals     r+   clock_val_rere   c   sL    //V///M33f3333I,,,	,,,,r-   c                      t            dt            dt           d} |  dt            dt            d}t           dt            dt            }| d| d}dd                    ||f          z   d	z   S )
N:z(:r]   z(Z|[+-]?-z(Tr"   r4   r^   )ra   rb   digit4r@   )hhmmsswalltimedatedatetimes       r+   wall_clock_val_rern   i   s    00&00H000F66666F666H))))))D''8'''H8X.///#55r-   c                  P   t                      } t                      }dd                    t                    z   dz   }d}d| d}d|  d}d| d	|  d}d| d
| d|  d}d|  }| d| d}	dd                    d ||	||||dfD                       z   dz   }
|
 dt           |
 dS )Nr"   r4   r^   z#?[-_a-zA-Z0-9]+zwallclock\(\s*r3   z$accessKey\(\s*[a-zA-Z]\s*\)\s*([+-]?r]   z#\.)?repeat\s*\(\s*\d+\s*\)\s*([+-?]z\.)?z([+-]?z[-+]?z\.(begin|end)(c              3   "   K   | ]
}d | dV  dS )r"   r^   Nr7   )r9   r*   s     r+   r;   z0build_animation_timing_parser.<locals>.<genexpr>~   s:       "> ">*c*** "> "> "> "> "> ">r-   
indefiniter$   )re   rn   r@   event_namess)rd   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A]AAAKiKKKORRRYRRRLCxCCYCCiCCCK'I''L!AAAAAN "> ">nk<-|9= "> "> "> ? ? ?ADEK //Q/////r-   )__all__r.   rr   r?   rs   integer_constantexponentrN   r>   rO   rL   two_comma_delimited_numbersrM   r=   rK   r1   rH   r   r[   r   ra   ri   r_   rb   r`   re   rn   r~   r   r7   r-   r+   <module>r      s   V
U
U 				    5(555 	&	&>V>>a>>>> CVCCaCCCC GfGG!GVGGG FVFFFFFFF 'B#g#gQ#gHc#g#g#g    
( 
( 
( !!:!:!<!<== * * *: H224455 		
	- - -6 6 60 0 0& %H%B%B%D%DEE   r-   