
    $HJj%                         d dl Z ddlmZ ddlmZ ddlmZ ddlmZ dedefd	Z e j                  d
      Z	 e j                  d      Z
defdZ e j                  d      ZdefdZ e j                  d      ZdefdZy)    N   )DIGITS)num2str)verbalize_cardinal)verbalize_digit
num_stringreturnc                 t    t        | j                  d            }| j                  d      rt        d   |z   }|S )z.A special case for verbalizing number in time.0)r   lstrip
startswithr   )r   results     l/Users/ahmed/devFolder/claude-voice/.venv/lib/python3.12/site-packages/misaki/zh_normalization/chronology.py_time_num2strr      s8    Z&&s+,FS!v%M    z1([0-1]?[0-9]|2[0-3]):([0-5][0-9])(:([0-5][0-9]))?zg([0-1]?[0-9]|2[0-3]):([0-5][0-9])(:([0-5][0-9]))?(~|-)([0-1]?[0-9]|2[0-3]):([0-5][0-9])(:([0-5][0-9]))?c                    t        | j                               dkD  }| j                  d      }| j                  d      }| j                  d      }|r3| j                  d      }| j                  d      }| j                  d      }t        |       d}|j	                  d	      r%t        |      d
k(  r|dz  }n|t        |       dz  }|r"|j	                  d	      r|t        |       dz  }|rp|dz  }|t               dz  }j	                  d	      r%t        |      d
k(  r|dz  }n|t        |       dz  }r"|j	                  d	      r|t        |       dz  }|S )A
    Args:
        match (re.Match)
    Returns:
        str
       r               	   u   点r      u   半u   分u   秒u   至)lengroupsgroupr   r   intr   )	matchis_rangehourminutesecondhour_2minute_2second_2r   s	            r   replace_timer'   -   s[    5<<>"Q&H;;q>D[[^F[[^FQ;;q>;;q>c"F}}Sv;"eOFv./s33F&--$]6*+3//%WV_%S))??36{b %]845S99,x0155FMr   uQ   (\d{4}|\d{2})年((0?[1-9]|1[0-2])月)?(((0?[1-9])|((1|2)[0-9])|30|31)([日号]))?c                    | j                  d      }| j                  d      }| j                  d      }d}|r|t        |       dz  }|r|t        |       dz  }|r!|t        |       | j                  d       z  }|S )r   r      r       年   月r   r   r   r   r   yearmonthdayr   s        r   replace_dater2   \   s     ;;q>DKKNE
++a.CF_T*+3//'./s33
',-ekk!n-=>>Mr   z8(\d{4})([- /.])(0[1-9]|1[012])\2(0[1-9]|[12][0-9]|3[01])c                     | j                  d      }| j                  d      }| j                  d      }d}|r|t        |       dz  }|r|t        |       dz  }|r|t        |       dz  }|S )r   r   r)   r   r*   r+   r,   u   日r-   r.   s        r   replace_date2r4   u   s     ;;q>DKKNE
++a.CF_T*+3//'./s33
',-S11Mr   )renumr   r   r   r   strr   compileRE_TIMERE_TIME_RANGEr'   RE_DATEr2   RE_DATE2r4    r   r   <module>r>      s    
   #  c c  "** ) *
 

 / 0'3 'T "** D E
3 * 2::?AC r   