§
    €î§iÄ  ã                  óŒ   — d Z ddlmZ ddlmZmZmZ ddlmZ ddl	m
Z
 ddlmZ erddlmZ ddlmZ  G d	„ d
e¦  «        Zd
gZdS )z!Parsing error value preservation.é    )Úannotations)ÚTYPE_CHECKINGÚAnyÚClassVar)ÚBrokenCalendarProperty)ÚDEFAULT_ENCODING)ÚvText)ÚSelf)Ú
Parametersc                  ó„   ‡ — e Zd ZU dZdZded<   dZeddddfdˆ fd„Zd d„Z	d!d„Z
ed"d„¦   «         Zed#d„¦   «         Zˆ xZS )$ÚvBrokenzØProperty that failed to parse, preserving raw value as text.

    Represents property values that failed to parse with their expected
    type. The raw iCalendar string is preserved for round-trip serialization.
    ÚTEXTzClassVar[str]Údefault_value)Úexpected_typeÚparse_errorÚproperty_nameNÚparamsúdict[str, Any] | Noner   ú
str | Noner   r   úBaseException | NoneÚvalueústr | bytesÚencodingÚstrÚreturnr
   c               ó|   •— t          ¦   «                              | |||¬¦  «        }||_        ||_        ||_        |S )N)r   )ÚsuperÚ__new__r   r   r   )	Úclsr   r   r   r   r   r   ÚselfÚ	__class__s	           €úP/root/projects/butler/venv/lib/python3.11/site-packages/icalendar/prop/broken.pyr   zvBroken.__new__   s?   ø€ õ ‰wŒwŠ˜s E¨8¸FˆÑCÔCˆØ*ˆÔØ*ˆÔØ&ˆÔØˆó    Únamec           
     óª   — |                      d¦  «        rt          |¦  «        ‚t          d|›d| j        ›d| j        ›d| j        › ¦  «        | j        ‚)au  Raise BrokenCalendarProperty for attribute access.

        Attributes like ``.dt`` that the expected type would have
        raise :class:`~icalendar.error.BrokenCalendarProperty`
        with the original parse error chained. Private attributes
        (starting with ``_``) raise normal ``AttributeError`` to
        preserve ``getattr(..., default)`` patterns.
        Ú_zCannot access z on broken property z (expected z): )Ú
startswithÚAttributeErrorr   r   r   r   )r    r$   s     r"   Ú__getattr__zvBroken.__getattr__*   s   € ð ?Š?˜3ÑÔð 	'Ý  Ñ&Ô&Ð&Ý$ð"˜Tð "ð "ØÔ!ð"ð "Ø04Ô0Bð"ð "àÔð"ð "ñ
ô 
ð Ôð		 r#   c                ó`   — | j         j        › dt          | ¦  «        ›d| j        ›d| j        ›dS )Nú(z, expected_type=z, property_name=ú))r!   Ú__name__r   r   r   )r    s    r"   Ú__repr__zvBroken.__repr__;   sP   € àŒ~Ô&ð 5ð 5­¨T©¬ð 5ð 5Ø!Ô/ð5ð 5à!Ô/ð5ð 5ð 5ð	
r#   Ú	raw_valuer   ÚerrorÚ	Exceptionc                ó"   —  | |||||¬¦  «        S )z"Create vBroken from parse failure.)r   r   r   r   © )r   r/   r   r   r   r0   s         r"   Úfrom_parse_errorzvBroken.from_parse_errorB   s,   € ð ˆsØØØ'Ø'Øð
ñ 
ô 
ð 	
r#   ú
list[Self]c                ó<   —  | dddt          d¦  «        ¬¦  «        gS )zExamples of vBroken.zINVALID-DATEz	date-timeÚDTSTARTzInvalid date format)r   r   r   )Ú
ValueError)r   s    r"   ÚexampleszvBroken.examplesT   s7   € ð ˆCØØ)Ø'Ý&Ð'<Ñ=Ô=ð	ñ ô ð
ð 	
r#   )r   r   r   r   r   r   r   r   r   r   r   r   r   r
   )r$   r   )r   r   )r/   r   r   r   r   r   r   r   r0   r1   r   r
   )r   r5   )r-   Ú
__module__Ú__qualname__Ú__doc__r   Ú__annotations__Ú	__slots__r   r   r)   r.   Úclassmethodr4   r9   Ú__classcell__)r!   s   @r"   r   r      sß   ø€ € € € € € ðð ð $*€MÐ)Ð)Ð)Ñ)ØA€Ið
 )à(,Ø$(Ø$(Ø,0ðð ð ð ð ð ð ð  ð  ð  ð  ð"
ð 
ð 
ð 
ð ð
ð 
ð 
ñ „[ð
ð" ð	
ð 	
ð 	
ñ „[ð	
ð 	
ð 	
ð 	
ð 	
r#   r   N)r<   Ú
__future__r   Útypingr   r   r   Úicalendar.errorr   Úicalendar.parser_toolsr   Úicalendar.prop.textr	   Úicalendar.compatibilityr
   Úicalendar.parserr   r   Ú__all__r3   r#   r"   ú<module>rI      sÝ   ðØ 'Ð 'à "Ð "Ð "Ð "Ð "Ð "à /Ð /Ð /Ð /Ð /Ð /Ð /Ð /Ð /Ð /à 2Ð 2Ð 2Ð 2Ð 2Ð 2Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø %Ð %Ð %Ð %Ð %Ð %àð ,Ø,Ð,Ð,Ð,Ð,Ð,Ø+Ð+Ð+Ð+Ð+Ð+ðN
ð N
ð N
ð N
ð N
ˆeñ N
ô N
ð N
ðb ˆ+€€€r#   