+
    ¾¾j£#  ã                   óÂ   € R t ^ RIt^ RIHtHtHtHt ^ RIHtHt ^ RI	H
t
 ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^R	IHt ]P*                  ! R
4      t ! R R]4      tR.tR# )z$TIME property type from :rfc:`5545`.N)ÚdatetimeÚtimeÚtimezoneÚtzinfo)ÚAnyÚClassVar)ÚSelf)ÚJCalParsingError)Ú
Parameters)Útzp)Úis_utc)ÚTimeBasezJ^(?P<hour>[0-9]{2}):(?P<minute>[0-9]{2}):(?P<second>[0-9]{2})(?P<utc>Z)?\Zc                   óø   a € ] tR t^t o RtRtRR/V 3R lR lltR tV 3R lR	 lt]	RV 3R
 lR ll4       t
]V 3R lR l4       t^ RIHt V 3R lR lt]V 3R lR l4       t]V 3R lR l4       tV 3R ltRtV tR# )ÚvTimea   Time

Value Name:
    TIME

Purpose:
    This value type is used to identify values that contain a
    time of day.

Format Definition:
    This value type is defined by the following notation:

    .. code-block:: text

        time         = time-hour time-minute time-second [time-utc]

        time-hour    = 2DIGIT        ;00-23
        time-minute  = 2DIGIT        ;00-59
        time-second  = 2DIGIT        ;00-60
        ;The "60" value is used to account for positive "leap" seconds.

        time-utc     = "Z"

Description:
    If the property permits, multiple "time" values are
    specified by a COMMA-separated list of values.  No additional
    content value encoding (i.e., BACKSLASH character encoding, see
    vText) is defined for this value type.

    The "TIME" value type is used to identify values that contain a
    time of day.  The format is based on the [ISO.8601.2004] complete
    representation, basic format for a time of day.  The text format
    consists of a two-digit, 24-hour of the day (i.e., values 00-23),
    two-digit minute in the hour (i.e., values 00-59), and two-digit
    seconds in the minute (i.e., values 00-60).  The seconds value of
    60 MUST only be used to account for positive "leap" seconds.
    Fractions of a second are not supported by this format.

    In parallel to the "DATE-TIME" definition above, the "TIME" value
    type expresses time values in three forms:

    The form of time with UTC offset MUST NOT be used.  For example,
    the following is not valid for a time value:

    .. code-block:: ics

        230000-0800        ;Invalid time format

    **FORM #1 LOCAL TIME**

    The local time form is simply a time value that does not contain
    the UTC designator nor does it reference a time zone.  For
    example, 11:00 PM:

    .. code-block:: ics

        230000

    Time values of this type are said to be "floating" and are not
    bound to any time zone in particular.  They are used to represent
    the same hour, minute, and second value regardless of which time
    zone is currently being observed.  For example, an event can be
    defined that indicates that an individual will be busy from 11:00
    AM to 1:00 PM every day, no matter which time zone the person is
    in.  In these cases, a local time can be specified.  The recipient
    of an iCalendar object with a property value consisting of a local
    time, without any relative time zone information, SHOULD interpret
    the value as being fixed to whatever time zone the "ATTENDEE" is
    in at any given moment.  This means that two "Attendees", may
    participate in the same event at different UTC times; floating
    time SHOULD only be used where that is reasonable behavior.

    In most cases, a fixed time is desired.  To properly communicate a
    fixed time in a property value, either UTC time or local time with
    time zone reference MUST be specified.

    The use of local time in a TIME value without the "TZID" property
    parameter is to be interpreted as floating time, regardless of the
    existence of "VTIMEZONE" calendar components in the iCalendar
    object.

    **FORM #2: UTC TIME**

    UTC time, or absolute time, is identified by a LATIN CAPITAL
    LETTER Z suffix character, the UTC designator, appended to the
    time value.  For example, the following represents 07:00 AM UTC:

    .. code-block:: ics

        070000Z

    The "TZID" property parameter MUST NOT be applied to TIME
    properties whose time values are specified in UTC.

    **FORM #3: LOCAL TIME AND TIME ZONE REFERENCE**

    The local time with reference to time zone information form is
    identified by the use the "TZID" property parameter to reference
    the appropriate time zone definition.

    Example:
        The following represents 8:30 AM in New York in winter,
        five hours behind UTC, in each of the three formats:

    .. code-block:: ics

        083000
        133000Z
        TZID=America/New_York:083000
ÚTIMEÚparamsNc                óN   <€ V ^8„  d   QhRS[ RS[S[S[ 3,          R,          RR/# )é   Úargsr   NÚreturn)r   ÚdictÚstr)ÚformatÚ__classdict__s   "€ÚU/home/ralf/ical-fahrzeuge/venv/lib/python3.14/site-packages/icalendar/prop/dt/time.pyÚ__annotate__ÚvTime.__annotate__‡   s/   ø€ ÷ .ñ .™cð .©4±±S°­>¸DÕ+@ð .ÈDñ .ó    c               óN  € \        V4      ^8X  dH   \        V^ ,          \        \        34      '       g   \	        RV^ ,           24      hV^ ,          V n        M\        V!  V n        \        T;'       g    / 4      V n        V P                  P                  V P
                  4       R# )é   zExpected a datetime.time, got: N)	ÚlenÚ
isinstancer   r   Ú
ValueErrorÚdtr
   r   Úupdate_tzid_from)Úselfr   r   s   &$*r   Ú__init__ÚvTime.__init__‡   sx   € Üˆt‹9˜Œ>Ü˜d 1�g¬¬hÐ'7×8Ò8Ü Ð#BÀ4ÈÅ7À)Ð!LÓMÐMØ˜1•gˆD�Gä˜D‘kˆDŒGÜ  § ¨2Ó.ˆŒØ�‰×$Ñ$ T§W¡WÖ-r   c                óz   € V P                   P                  R 4      pV P                  4       '       d
   VR,          pV# )z%H%M%SÚZ)r#   Ústrftimer   )r%   Úvalues   & r   Úto_icalÚvTime.to_ical‘   s/   € Ø—‘× Ñ  Ó*ˆØ�;‰;�=Š=Ø�S�LˆEØˆr   c                ó    <€ V ^8„  d   QhRS[ /# ©r   r   )Úbool)r   r   s   "€r   r   r   —   s   ø€ ÷ 7ñ 7™ñ 7r   c                óp   € V P                   P                  4       ;'       g    \        V P                  4      # )zWhether this time is UTC.)r   r   r#   )r%   s   &r   r   ÚvTime.is_utc—   s%   € à�{‰{×!Ñ!Ó#×6Ð6¤v¨d¯g©g£Ð6r   c                óJ   <€ V ^8„  d   QhRS[ RS[ R,          S[,          RS[/# )r   Úicalr   Nr   )r   r   r   )r   r   s   "€r   r   r   œ   s0   ø€ ÷ (Cñ (C™ð (C¡s¨T¥z±FÕ':ð (CÁdñ (Cr   c                ó  € Rp\        V\        4      '       d   \        P                  ! V4      pMVe   Tp\        V \        4      '       d   V P                  4       p V P                  R4      ^,          p V P                  R4      ;p'       d   V RR p \        V 4      ^8w  g-   V P                  4       '       d   V P                  4       '       g   \        RV  24      h \        V R,          4      \        V R,          4      \        V R,          4      3pV'       d   \        P                  ! \        V!  V4      # V'       d   \        P                  ! \        V!  4      # \        V!  #   \          d   p\        RT  24      ThRp?ii ; i)	až  Convert an ical string into a time.

This method supports parsing the three forms of time values defined in :rfc:`5545#section-3.3.12`:
    - Local time (floating)
    - UTC time
    - Local time with time zone reference

Returns:
    A :class:`datetime.time` object representing the parsed time, with timezone information if applicable.

Raises:
    ValueError: if the provided string cannot be parsed as a time.
NÚ:r)   zExpected time, got: :Nr   N:r   é   N:r7   é   Néÿÿÿÿ)r!   r   r   r   ÚbytesÚdecodeÚ
rpartitionÚendswithr    ÚisasciiÚisdigitr"   ÚintÚlocalizer   Úlocalize_utcÚ	Exception)r4   r   r   ÚutcÚ	timetupleÚes   &&    r   Ú	from_icalÚvTime.from_ical›   s=  € ð ˆÜ�h¤×$Ò$Ü—\’\ (Ó+‰FØÒ!ØˆFä�dœE×"Ò"Ø—;‘;“=ˆDð �‰˜sÓ# AÕ&ˆØ—-‘- Ó$Ð$ˆ3Ö$Ø˜˜�9ˆDô ˆt‹9˜Œ> §¡§¢°t·|±|·~²~ÜÐ3°D°6Ð:Ó;Ð;ð	CÜ˜T "�X›¬¨D°­I«¼¸DÀ½I»ÐGˆIßÜ—|’|¤D¨)Ñ$4°fÓ=Ð=ßÜ×'Ò'¬¨iÑ(8Ó9Ð9Ü˜Ñ#Ð#øÜô 	CÜÐ3°D°6Ð:Ó;ÀÐBûð	Cús+   ÃAE& Ä8E& Å E& ÅE& Å&FÅ1F Æ Fc                ó0   <€ V ^8„  d   QhRS[ S[,          /# r/   ©Úlistr   )r   r   s   "€r   r   r   Ç   s   ø€ ÷ #ñ #™™d�ñ #r   c                ó(   € V ! \        ^^4      4      .# )zExamples of vTime.)r   )Úclss   &r   ÚexamplesÚvTime.examplesÆ   s   € ñ ”D˜˜R“LÓ!Ð"Ð"r   )ÚVALUEc                ó&   <€ V ^8„  d   QhRS[ RS[/# )r   Únamer   )r   rK   )r   r   s   "€r   r   r   Í   s   ø€ ÷ Xñ X™Cð X¡Dñ Xr   c                óä   € V P                   P                  R4      pV P                  4       '       d
   VR,          pWP                  P	                  RR7      V P
                  P                  4       V.# )zBThe jCal representation of this property according to :rfc:`7265`.z%H:%M:%Sr)   T)Úexclude_utc)r#   r*   r   r   Úto_jcalrP   Úlower)r%   rR   r+   s   && r   rU   ÚvTime.to_jcalÍ   sW   € à—‘× Ñ  Ó,ˆØ�;‰;�=Š=Ø�S�LˆEØ—k‘k×)Ñ)°dÐ)Ó;¸T¿Z¹Z×=MÑ=MÓ=OÐQVÐWÐWr   c                ó&   <€ V ^8„  d   QhRS[ RS[/# )r   Újcalr   )r   r   )r   r   s   "€r   r   r   Õ   s   ø€ ÷ Pñ P¡Cð P©Dñ Pr   c                óª  € \         P                  ! V\        V 4       \        P	                  V4      pVf   \        RWR7      h\        VP                  R4      4      p\        VP                  R4      4      p\        VP                  R4      4      p\        VP                  R4      4      p\        Y4YV'       d   \        P                  R7      # RR7      # )	zqParse a jCal string to a :class:`datetime.time`.

Raises:
    ~error.JCalParsingError: If it can't parse a time.
NzCannot parse time.)r+   ÚhourÚminuteÚsecondrD   )r   )r	   Úvalidate_value_typer   ÚTIME_JCAL_REGEXÚmatchr@   Úgroupr0   r   r   rD   )rM   rY   r`   r[   r\   r]   rD   s   &&     r   Úparse_jcal_valueÚvTime.parse_jcal_valueÔ   s¢   € ô 	×,Ò,¨T´3¸Ô<Ü×%Ñ% dÓ+ˆØŠ=Ü"Ð#7¸ÔIÐIÜ�5—;‘;˜vÓ&Ó'ˆÜ�U—[‘[ Ó*Ó+ˆÜ�U—[‘[ Ó*Ó+ˆÜ�5—;‘;˜uÓ%Ó&ˆÜ�D &Æ´·±ÔOÐOÈ$ÔOÐOr   c                ó&   <€ V ^8„  d   QhRS[ RS[/# )r   Újcal_propertyr   rJ   )r   r   s   "€r   r   r   æ   s   ø€ ÷ 
ñ 
¡dð 
©tñ 
r   c                ó  € \         P                  ! W4       \         P                  ! ^4      ;_uu_ 4        V P                  V^,          4      pRRR4       V ! X\        P
                  ! V4      R7      #   + '       g   i     L.; i)z Parse jCal from :rfc:`7265`.

Parameters:
    jcal_property: The jCal property to parse.

Raises:
    ~error.JCalParsingError: If the provided jCal is invalid.
N)r   )r	   Úvalidate_propertyÚreraise_with_path_addedrb   r
   Úfrom_jcal_property)rM   re   r+   s   && r   Ú	from_jcalÚvTime.from_jcalå   sd   € ô 	×*Ò*¨=Ô>Ü×5Ò5°a×8Õ8Ø×(Ñ(¨°qÕ)9Ó:ˆE÷ 9áØÜ×0Ò0°Ó?ô
ð 	
÷ 9×8ús   µA4Á4B	c                óB   <€ V ^8„  d   Qh/ S[ S[,          ;R&   S[;R&   # )r   Údefault_valuer   )r   r   r
   )r   r   s   "€r   r   r      s'   ø‡ ‚ ñ` ™C•=Ñ)ña ñb Ñòc r   )r#   r   )N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__rm   r&   r,   r   ÚstaticmethodrG   ÚclassmethodrN   Úicalendar.paramrP   rU   rb   rj   Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__)r   s   @r   r   r      s§   ø‡ € ñmð^ $*€Mð.À4÷ .ò .ò÷7ð 7ð ÷(Cñ (Có ð(CðT ÷#ó ð#õ &÷Xð Xð ÷Pó ðPð  ÷
ó ð
÷e ƒ r   r   )rr   Úrer   r   r   r   Útypingr   r   Úicalendar.compatibilityr   Úicalendar.errorr	   Úicalendar.parserr
   Úicalendar.timezoner   Úicalendar.timezone.tzidr   Úbaser   Úcompiler_   r   Ú__all__© r   r   Ú<module>r„      sO   ðÙ *ã 	ß 5Ó 5ß  å (Ý ,Ý 'Ý "Ý *å à—*’*ØQó€ô
a
ˆHô a
ðH ˆ)‚r   