
    bif	                    l    d dl mZ d dlmZ d dlmZmZ d dlmZ d dlm	Z	m
Z
mZmZmZ erd dlmZ d	dZy)
    )annotations)datetime)ROUND_HALF_UPDecimal)TYPE_CHECKING)max_day_in_monthmod2mod3quot2quot3)Durationc                   t        | j                        |j                  j                  z   }t	        |t        d      t        d            }t        |t        d      t        d            }t        | j                        |j                  j                  z   |z   }| j                  }t        | j                        |j                  j                  z   }t        |t        d            }t        |t        d            }t        | j                        |j                  j                  z   |z   }t        |t        d            }t        |t        d            }t        | j                         |j                  j"                  z   |z   }t        |t        d            }	t        |t        d            }t%        ||      }
| j&                  |
kD  r|
}nt        | j&                        }||j                  j(                  z   d|j                  j*                  z  z   |z   }	 |dk  r|t%        ||dz
        z  }t        d      }n+|t%        ||      kD  r|t%        ||      z  }t        d      }nnG||z   }t	        |t        d      t        d            }|t        |t        d      t        d            z   }t-        t/        |j1                  t2                    t/        |j1                  t2                    t/        |j1                  t2                    t/        |	j1                  t2                    t/        |j1                  t2                    t/        |j1                  t2                    |      S )zJ
    https://www.w3.org/TR/xmlschema-2/#adding-durations-to-dateTimes
          6024   )yearmonthdayhourminutesecondtzinfo)r   r   datemonthsr
   r   r   yearsr   r   timesecondsr	   r   r   minutesr   hoursr   r   daysweeksr   intto_integral_valuer   )startdurationtemp	end_monthcarryend_year
end_tzinfo
end_second
end_minuteend_hourend_max_day_in_monthend_days               Z/home/cdr/jupyterlab/.venv/lib/python3.12/site-packages/isoduration/operations/__init__.pyaddr4      s    5;;(--"6"66DT71:wr{3I$
GBK0E uzz"X]]%8%885@H J 5<< 8==#8#88DdGDM*J$&E 5<< 8==#8#885@DdGDM*J$&E 5::!4!44u<DD'$-(H$&E ,Hi@yy''#uyy!X]]'''1x}}/B/B+BCeKG
Q;')a-@@GBKE')<<')<<GAJE5 wqz72;7	eD'!*gbkBB  ++M:;)--m<=))-89++M:;://>?://>?     N)r'   r   r(   r   returnr   )
__future__r   r   decimalr   r   typingr   isoduration.operations.utilr   r	   r
   r   r   isoduration.typesr   r4    r5   r3   <module>r=      s"    "  *   R R*?r5   