
    1iIP                     6   S r SSKrSSKrSSKrSSKrSSKJr  SSKJr  Sr	Sr
SrS	r/ S
Qr\" S5      S 5       rSrSr/ / SQP/ SQP/ SQP/ SQP/ SQP/ SQP/ SQP/ SQP/ SQP/ SQP/ SQP/ SQP/ SQP/ SQP/ SQP/ SQP/ SQP/ S QP/ S!QP/ S"QP/ S#QP/ S$QP/ S%QP/ S&QP/ S'QP/ S(QP/ S)QP/ S*QP/ S+QP/ S,QP/ S-QP/ S.QP/ S/QP/ S0QP/ S1QP/ S2QP/ S3QP/ S4QP/ S5QP/ S6QP/ S7QP/ S8QPr\" S5      S9 5       r\" S5      S: 5       r\" S5      S; 5       rS< rS= rS> rg)?z9This file contains functions related to time conversion.
    N   )seconds_per_day)check_aware_dtg   PD:Ai;
 gd;O@@i  )6)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   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   r   r   r   r   whenc                 >   U R                  5       n Sn[        n X R                  :  a   U$ U[        -
  [        [        5      :  a  U R                  [        -
  [        [        5      :  d4  U R                  [        -
  [        [        5      :X  a@  U R
                  S:  a0  [        R                  " S[        [        [        5      -   S-
  -  5         U$ [        U[        -
     nX R                  :X  a  U R
                  S:  a  XS   -  n U$ XS   US   -   -  nUS-  nGM  )zOreturns adjustment to be added to UTC at the specified datetime to produce TAI.
      zOLeap seconds for year %d are not available for the installed version of pysolarr   r   )utctimetupleleap_seconds_base_yeartm_yearlenleap_seconds_adjustmentstm_monwarningswarn)r	   adjyearentrys       T/var/www/html/motor_solar_iot/venv/lib/python3.13/site-packages/pysolar/solartime.pyget_leap_secondsr   b   s#    D
C!D
,,: 	7 ((C0H,IILL#99C@X<YY'==E]A^^ai/#6N2OORSSU  	 )0F)FG<<{{QQx 	 	Qx%(""	9     i     )gPkwE@gc]KE@gX5;E@g߾E@g0*E@g7dE@gy&1F@glV}F@g^F@g%F@gQ|a2F@)g.!=F@g*DHF@g
ףp=RF@giq^F@gB`"kF@g^)wF@gF@gyF@g8gDioF@g|PkF@g/$F@g'F@)gDF@g6F@g(\F@gfffffF@g 	F@g鷯F@gV-F@g48G@g=yXG@g(\G@g]m#G@g&/G@)g
F%u:G@gV-EG@g@PG@gŏ1w]G@g 	jG@g<Nё\vG@gV-G@gN@G@g&SG@gX5;G@g鷯G@g:HG@)g46<G@gڬ\mG@g:#J{G@gAǘG@g*DG@gNё\G@gMStH@g@߾H@g1*H@gsh|H@gJ,H@g9v7H@)g}8gDH@g)\PH@g٬\]H@gPnkH@grwH@g_LH@gۊeH@gec]H@gBH@gKH@g3ı.nH@gKH@)g%uH@gvH@g5;NH@g:MH@gS!uH@gꕲqI@g0'I@g7I@grhI@gڊ%I@g~k	1I@g :I@)gw-!DI@gfc]NI@g@WI@gnbI@g46lI@gj+uI@gD|I@gjMI@gWʊI@g鷯I@g1殝I@ga4I@)g(I@gI@g5^II@gS㥛I@gW/'I@gb4I@g6I@g>yX5I@gN@aI@g,CI@gW2J@gS㥛J@)g|гYJ@gvJ@gK=%J@gv/J@gx&9J@gMBJ@gaTR'IJ@gOJ@g|гYUJ@gˡE]J@g,ԚgJ@gTR'pJ@)gOnzJ@gV-J@g ~:J@g2w-!J@g'J@gj+J@gsh|J@g(J@gp=
J@gA`J@g$~J@g"uJ@)gZӼJ@gHPJ@g/$J@gpΈJ@gTR' K@gfc]K@gD
K@gvqK@gгYK@g*:K@gV}bK@g?%K@)gk++K@g2K@gK7K@gX2ı>K@gKY8EK@gh oLK@gMbXQK@g߾SK@gǘVK@g@a[K@gscK@gı.niK@)g&oK@gBuK@g&SzK@gj+K@gK@gqK@glV}K@gTt$K@g߾K@gc]KK@gW[K@gjMSK@)gb=K@g?K@g.nK@gN@K@g(~kK@g'K@g7dK@g[B>K@g`TR'K@g|a2K@g6K@g:pΈK@)gCK@gʡEK@g/K@g鷯K@gA`L@g)\L@gJL@g/$L@gXL@g[L@g
h"lxL@gEGr!L@)gfffff&L@gׁ+L@gn0L@g;pΈ6L@gH}=L@gh oDL@gCHL@g1*LL@gTt$PL@g cZBVL@gb]L@g/L
fL@)gh"lxzmL@g[tL@g/|L@g o_L@giqL@g?L@gx$(~L@gb=L@g=UL@gfaL@gyL@g9m4L@)g6[L@gEGrL@g[ AL@g	gL@g߾L@g[ AL@g&SL@gHzL@ggsM@g|гYM@gH}M@g؁sFM@)g+ݓ'M@gEGr1M@gs:M@gH.!EM@grOM@gTR'XM@g+^M@g:MdM@gAǘkM@g&SsM@gΪV|M@gK=M@)gSt$M@gı.nM@g	^)M@gHM@gTM@gHPM@g{GM@gJ4M@gUM@g7[ M@gz6>WM@g[M@)gtM@gH}8N@gN@g9#N@g2%#N@gw/-N@gޓZ3N@gF8N@gQ>N@gڊeGN@g{PN@gcZZN@)g?ܵdN@g1nN@g`TR'xN@gqN@g_vON@g-N@g8gDiN@g"uN@g^K=N@g2U0*N@grhN@gQN@)gc=yN@gk	N@gSt$N@gN@gb4N@goŏN@gPkN@g\ AcO@gw#	O@gV}bO@gI+O@glV}O@)g(\%O@g"u,O@gB`"3O@g[B><O@g(EO@giqNO@gQTO@gqXO@gQI^O@ggseO@g=yXmO@guuO@)gkw{O@g_)ǂO@gd`TO@gmV}O@g58EGO@g~8gDO@g}8gO@g=,ԚO@gd]FO@gyX5ͫO@g$(~O@g	O@)gݵ|лO@gV/O@g_LO@g{O@g<R!O@gm{O@gi oO@g cZBO@gԚO@g9#J{O@g ~:O@gŏ1wO@)g5^IO@gݓO@g{O@g\(O@g ~:O@gFxO@gڬ\mO@g?O@ga4O@g_ P@g(\P@g?5^IP@)gͪP@gͪP@g9m4P@g9#
P@gV/P@gAfP@g$(~P@g~8gDP@gZڊP@gy):P@g     P@g=UP@)gV/P@g8mP@gGzP@gClP@g46<P@gt$P@gCiqP@gcZP@gJY8P@gB>٬P@g3P@gpΈP@)gJ{/LP@g{PP@gΪV P@gǺ!P@g鷯#P@g#P@gc]F#P@g_"P@gJ{/L"P@g-"P@g9#J{#P@g#J{/$P@)g?ܵ$P@g|г%P@g"~&P@g&'P@g^)(P@g)P@go)P@gZ(P@g@(P@g)\(P@gvq)P@gtF+P@)g.n,P@gH.!-P@g&䃞.P@gGz0P@gڊ1P@ga43P@gI+3P@g	h2P@g_vO2P@gX2ı2P@gݵ|3P@g)05P@)g6P@g&S7P@gq=
ף8P@gQ:P@g&1<P@glV}>P@gS?P@gq-@P@g+e@P@g_BP@g{DP@gH.GP@)g^IP@gV/KP@g}?5^MP@gj+OP@gX2ıRP@gHPTP@gUP@gVP@g_VP@g6WP@g(~kYP@g$~[P@)g~8gD]P@gW/'_P@gk	`P@g{GbP@gTt$dP@gz6gP@gcZB>hP@gT㥛hP@gR!iP@g%CkP@g(~kmP@g6oP@)gXqP@g(\sP@gm4tP@g^IwP@gڬ\myP@g䃞ͪ{P@gq|P@gi o}P@g%䃞}P@g47~P@gDP@g P@)gc=yP@gRI&P@gMbP@g\mŊP@gBP@gP@gfjP@gmP@g%uP@g=UP@gK=P@gqP@)g?ƔP@g Ac̕P@gŏ1P@g&SP@gHPsP@goŏP@g7dP@g	hP@gBfP@g6[P@gׁsP@g?ܵP@)g;OP@gjtP@g/L
P@gQP@g{/LP@gh oP@goTP@gK7P@gC6P@g۳P@g(\µP@g#J{/P@)g/L
P@g8gDioP@gm{P@g(P@g1*P@gףp=
P@g6P@g?ܵP@goTP@g\mP@geaP@g9vP@)gDlP@gP@gP@g7A`P@c                    U R                  5       n U R                  U R                  p!U[        :  a	  [        nSnOTU[        :X  a  [	        SU[
        -
  5      S-   nO3U[        [        [        5      -   :  a  [        [        [        5      -   S-
  nU[        [        [        5      -   S-
  :X  a#  [        U[        [        U[        -
     5      5      n[        U[        -
     US-
     $ )z<returns a suitable value for delta_t for the given datetime.r   r   )	r   r   r   delta_t_base_yearmaxdelta_t_base_monthr   delta_tmin)r	   r   months      r   get_delta_tr#     s     D,,% 	"	"Au112Q6	"S\1	1 3w</!3 3w</!33E3wt.?'?@AB 	(()%!)45r   c                     U R                  5       [        U 5      -   [        -   [        U 5      -
  [        -  [
        -   [        -   $ )a0  returns the UT Julian day number (including fraction of a day) corresponding to the specified date/time. This version assumes the proleptic Gregorian calendar; trying to adjust for pre-Gregorian dates/times seems pointless when the changeover happened over such wildly varying times in different regions.)	timestampr   	tt_offsetr#   r   gregorian_day_offsetjulian_day_offsetr	   s    r   get_julian_solar_dayr*     sJ     !$4T$::YFUYIZZ  !	! 	
r   c                 r    U R                  5       [        U 5      -   [        -   [        -  [        -   [
        -   $ )a0  returns the TT Julian day number (including fraction of a day) corresponding to the specified date/time. This version assumes the proleptic Gregorian calendar; trying to adjust for pre-Gregorian dates/times seems pointless when the changeover happened over such wildly varying times in different regions.)r%   r   r&   r   r'   r(   r)   s    r   get_julian_ephemeris_dayr,     s?     !$4T$::YF  !	! 	
r   c                     U S-
  S-  $ Ng   ,BAg    @ )
julian_days    r   get_julian_centuryr1     s    "g--r   c                     U S-
  S-  $ r.   r/   )julian_ephemeris_days    r   get_julian_ephemeris_centuryr4     s     9,77r   c                     U S-  $ )Ng      $@r/   )julian_ephemeris_centurys    r   get_julian_ephemeris_millenniumr7     s    $t+,r   )__doc__r   sysdatetimetime	constantsr   pysolar.tzinfo_checkr   r(   r'   r&   r   r   r   r   r   r    r#   r*   r,   r1   r4   r7   r/   r   r   <module>r>      s  $  
   /!  	  : z $ $P   D		
D		
D	8	
9D	T	
UD	p	
qD	L	
MD	h	
iD	D	
ED	`	
aD	|	
}D	X	
YD	t	
uD	P	
QD	l	
mD	H	
ID	d	
eD	@	
AD	\	
]D	x	
yD	T	
UD	p	
qD	L		
M	D	h		
i	D	D
	
E
D	`
	
a
D	|
	
}
D	X	
YD	t	
uD	P	
QD	l	
mD	H	
ID	d	
eD	@	
AD	\	
]D	x	
yD	T	
UD	p	
qD	L	
MD	h	
iD	D	
ED	`	
aD	|	
}D	 N 5 5( 
 
" 
 
".8-r   