ó
    wñ:iE  ã                  óŽ  • S SK Jr  S SKJr  S SKrS SKJr  S SKJ	r	  S SK
JrJrJrJr  S SKJrJrJrJrJr  S SKJrJr  S S	KJrJr  S S
KJrJrJr  S SKJ r   S SK!J"r"  S SK#J$r$  S SK%J&r&J'r'  S SK(J)r)J*r*  S SK+J,r,  \(       a  S SK-J.r.  S SK/J0r0J1r1J2r2  S SK3J4r4  / SQr5\5 H  r6\ H  r7\6 S\7 3r8\\6   \\8'   M     M     S H  r6\ H  r7\6 S\7 3r9\9\\9'   M     M     \ H  r:S\: 3\S\: 3'   M     S)S jr;    S*S jr< " S S5      r= " S S\=5      r>S+S jr?S,S jr@S-S  jrAS-S! jrBS.S" jrCS/S# jrDS0S$ jrES0S% jrFS0S& jrGS0S' jrH/ S(QrIg)1é    )Úannotations)ÚTYPE_CHECKINGN)Úlib)Úunique_deltas)Ú	TimestampÚget_unit_from_dtypeÚperiods_per_dayÚtz_convert_from_utc)ÚDAYSÚMONTH_ALIASESÚMONTH_NUMBERSÚMONTHSÚint_to_weekday)ÚOFFSET_TO_PERIOD_FREQSTRÚfreq_to_period_freqstr)Úbuild_field_sarrayÚmonth_position_check)Ú
DateOffsetÚDayÚ	to_offset)Úget_rule_month)Úcache_readonly)Úis_numeric_dtype)ÚDatetimeTZDtypeÚPeriodDtype)ÚABCIndexÚ	ABCSeries)Úunique)Únpt)ÚDatetimeIndexÚSeriesÚTimedeltaIndex)ÚDatetimeLikeArrayMixin)ÚQSÚBQEÚBQSÚYSÚBYEÚBYSÚ-)ÚYÚQúW-c                ó0   • [         R                  " U S5      $ )z,
Alias to closest period strings BQ->Q etc.
N)r   Úget)Ú
offset_strs    Ú]/srv/projetos/modelo_ml_acdoc/venv/lib/python3.13/site-packages/pandas/tseries/frequencies.pyÚget_period_aliasr2   N   s   € ô $×'Ò'¨
°DÓ9Ð9ó    c                óú  • SSK Jn  [        U [        5      (       a  U R                  n[
        R                  " UR                  S5      (       dK  [        UR                  [        5      (       d,  UR                  [        :X  d  [        SU R                   35      eUn [        U S5      (       d  O�[        U R                  [        5      (       a  [        S5      e[
        R                  " U R                  S5      (       a  [        U 5      nUR                  5       $ [        U R                  5      (       a  [        SU R                   35      e[        X5      (       d  U" U 5      n [!        U 5      nUR                  5       $ )	a  
Infer the most likely frequency given the input index.

Parameters
----------
index : DatetimeIndex, TimedeltaIndex, Series or array-like
  If passed a Series will use the values of the series (NOT THE INDEX).

Returns
-------
str or None
    None if no discernible frequency.

Raises
------
TypeError
    If the index is not datetime-like.
ValueError
    If there are fewer than three values.

Examples
--------
>>> idx = pd.date_range(start='2020/12/01', end='2020/12/30', periods=30)
>>> pd.infer_freq(idx)
'D'
r   )r    ÚmMz>cannot infer freq from a non-convertible dtype on a Series of ÚdtypezJPeriodIndex given. Check the `freq` attribute instead of using infer_freq.Úmz8cannot infer freq from a non-convertible index of dtype )Úpandas.core.apir    Ú
isinstancer   Ú_valuesr   Úis_np_dtyper6   r   ÚobjectÚ	TypeErrorÚhasattrr   Ú_TimedeltaFrequencyInfererÚget_freqr   Ú_FrequencyInferer)Úindexr    ÚvaluesÚinferers       r1   Ú
infer_freqrE   Y   s5  € õ: .ä�%œ×#Ñ#Ø—‘ˆä�OŠO˜FŸL™L¨$×/Ñ/Ü˜&Ÿ,™,¬×8Ñ8Ø�|‰|œvÓ%äð"Ø"'§+¡+ ð0óð ð ˆô �5˜'×"Ñ"ØÜ	�E—K‘K¤×	-Ñ	-Üð+ó
ð 	
ô 
�Š˜Ÿ™ c×	*Ñ	*ä,¨UÓ3ˆØ×ÑÓ!Ð!ä	˜%Ÿ+™+×	&Ñ	&ÜØFÀuÇ{Á{ÀmÐTó
ð 	
ô �e×+Ñ+Ù˜eÓ$ˆä Ó&€GØ×ÑÓÐr3   c                  óD  • \ rS rSrSrSS jr\SS j5       r\SS j5       r\SS j5       r	\SS j5       r
SS jr\SS	 j5       r\SS
 j5       r\SS j5       r\SS j5       rSS jr\SS j5       r\SS j5       rSS jrSS jrSS jrSS jrSS jrSS jrSS jrSrg) rA   éŸ   z0
Not sure if I can avoid the state machine here
c                ó>  • Xl         UR                  U l        [        U[        5      (       a/  [        UR                  R                  R                  5      U l	        O$[        UR                  R                  5      U l	        [        US5      (       a;  UR                  b.  [        U R                  UR                  U R                  S9U l        [        U5      S:  a  [        S5      eU R                   R                  =(       d    U R                   R                   U l        g )NÚtz©Úresoé   z(Need at least 3 dates to infer frequency)rB   Úasi8Úi8valuesr9   r   r   Ú_dataÚ_ndarrayr6   Ú_cresor>   rI   r
   ÚlenÚ
ValueErrorÚ_is_monotonic_increasingÚ_is_monotonic_decreasingÚis_monotonic)ÚselfrB   s     r1   Ú__init__Ú_FrequencyInferer.__init__¤   sÑ   € ØŒ
ØŸ
™
ˆŒô �eœX×&Ñ&ô .Ø—‘×$Ñ$×*Ñ*óˆD�Kô
 .¨e¯n©n×.BÑ.BÓCˆDŒKô �5˜$×ÑØ�x‰xÑ#Ü 3Ø—M‘M 5§8¡8°$·+±+ñ!�”ô ˆu‹:˜‹>ÜÐGÓHÐHð �J‰J×/Ñ/×V°4·:±:×3VÑ3Vð 	Õr3   c                ó,   • [        U R                  5      $ ©N)r   rN   ©rW   s    r1   ÚdeltasÚ_FrequencyInferer.deltasÃ   s   € ä˜TŸ]™]Ó+Ð+r3   c                ó@   • [        U R                  R                  5      $ r[   )r   rB   rM   r\   s    r1   Údeltas_asi8Ú_FrequencyInferer.deltas_asi8Ç   s   € ô ˜TŸZ™ZŸ_™_Ó-Ð-r3   c                ó2   • [        U R                  5      S:H  $ ©Né   )rR   r]   r\   s    r1   Ú	is_uniqueÚ_FrequencyInferer.is_uniqueÍ   s   € ä�4—;‘;Ó 1Ñ$Ð$r3   c                ó2   • [        U R                  5      S:H  $ rc   )rR   r`   r\   s    r1   Úis_unique_asi8Ú _FrequencyInferer.is_unique_asi8Ñ   s   € ä�4×#Ñ#Ó$¨Ñ)Ð)r3   c                óâ  • U R                   (       a  U R                  R                  (       d  gU R                  S   n[	        U R
                  5      nU(       a   [        X5      (       a  U R                  5       $ U R                  SS/SS// SQ4;   a  gU R                  (       d  gU R                  S   nUS-  nUS	-  nUS	-  n[        X5      (       a  [        S
X-  5      $ [        X5      (       a  [        SX-  5      $ [        X5      (       a  [        SX-  5      $ [        XS-  5      (       a  [        SXS-  -  5      $ [        XS-  5      (       a  [        SXS-  -  5      $ [        SU5      $ )zx
Find the appropriate frequency string to describe the inferred
frequency of self.i8values

Returns
-------
str or None
Nr   rd   é   éA   )rd   rk   rl   Úbhé   é<   ÚhÚminÚsiè  Úmsi@B ÚusÚns)rV   rB   Ú
_is_uniquer]   r	   rQ   Ú_is_multipleÚ_infer_daily_ruleÚhour_deltasrh   r`   Ú_maybe_add_count)rW   ÚdeltaÚppdÚpphÚppmÚppss         r1   r@   Ú_FrequencyInferer.get_freqÕ   sS  € ð × × ¨¯
©
×(=×(=Øà—‘˜A‘ˆÜ˜dŸk™kÓ*ˆÞ”\ %×-Ñ-Ø×)Ñ)Ó+Ð+ð ×Ñ  B ¨!¨R¨²+Ð>Ó>Øð
 ×"×"Øà× Ñ  Ñ#ˆØ�R‰iˆØ�R‰iˆØ�R‰iˆÜ˜×#Ñ#ä# C¨©Ó5Ð5Ü˜%×%Ñ%ä# E¨5©;Ó7Ð7Ü˜%×%Ñ%ä# C¨©Ó5Ð5Ü˜%¨¡+×/Ñ/ä# D¨%¸$±;Ñ*?Ó@Ð@Ü˜%¨Ñ"2×4Ñ4ä# D¨%¸)Ñ3CÑ*DÓEÐEô $ D¨%Ó0Ð0r3   c                ót   • [        U R                  5      nU R                   Vs/ s H  o"U-  PM	     sn$ s  snf r[   ©r	   rQ   r]   )rW   r|   Úxs      r1   Ú
day_deltasÚ_FrequencyInferer.day_deltas  s.   € ä˜dŸk™kÓ*ˆØ!%§¢Ó-¢˜A�C”¡Ñ-Ð-ùÒ-s   ¤5c                óz   • [        U R                  5      S-  nU R                   Vs/ s H  o"U-  PM	     sn$ s  snf )Nrn   r‚   )rW   r}   rƒ   s      r1   ry   Ú_FrequencyInferer.hour_deltas  s3   € ä˜dŸk™kÓ*¨bÑ0ˆØ!%§¢Ó-¢˜A�C”¡Ñ-Ð-ùÒ-s   §8c                ó>   • [        U R                  U R                  S9$ )NrJ   )r   rN   rQ   r\   s    r1   ÚfieldsÚ_FrequencyInferer.fields  s   € ä! $§-¡-°d·k±kÑBÐBr3   c                óX   • [        U R                  S   U R                  R                  S9$ )Nr   )Úunit)r   rN   rB   rŒ   r\   s    r1   Ú	rep_stampÚ_FrequencyInferer.rep_stamp  s    € ä˜Ÿ™ qÑ)°·
±
·±Ñ@Ð@r3   c                óV   • [        U R                  U R                  R                  5      $ r[   )r   r‰   rB   Ú	dayofweekr\   s    r1   r   Ú&_FrequencyInferer.month_position_check  s   € Ü# D§K¡K°·±×1EÑ1EÓFÐFr3   c                óz   • U R                   S   S-  U R                   S   -   n[        UR                  S5      5      $ )Nr+   é   ÚMÚi8)r‰   r   Úastype)rW   Únmonthss     r1   ÚmdiffsÚ_FrequencyInferer.mdiffs  s7   € à—+‘+˜cÑ" RÑ'¨$¯+©+°cÑ*:Ñ:ˆÜ˜WŸ^™^¨DÓ1Ó2Ð2r3   c                óP   • [        U R                  S   R                  S5      5      $ )Nr+   r•   )r   r‰   r–   r\   s    r1   ÚydiffsÚ_FrequencyInferer.ydiffs!  s!   € ä˜TŸ[™[¨Ñ-×4Ñ4°TÓ:Ó;Ð;r3   c                ór  • U R                  5       nU(       a>  U R                  S   n[        U R                  R                     nU SU 3n[        XB5      $ U R                  5       nU(       aL  U R                  S   S-  nSSSS.n[        XpR                  R                  S-        nU SU 3n[        XF5      $ U R                  5       nU(       a  [        X€R                  S   5      $ U R                  (       a  U R                  5       $ U R                  5       (       a  gU R                  5       n	U	(       a  U	$ g )	Nr   r*   rL   r“   é   é
   )r   é   rd   ÚB)Ú_get_annual_ruler›   r   r�   Úmonthrz   Ú_get_quarterly_ruler˜   Ú_get_monthly_rulere   Ú_get_daily_ruleÚ_is_business_dailyÚ_get_wom_rule)
rW   Úannual_ruleÚnyearsr£   ÚaliasÚquarterly_ruleÚ	nquartersÚmod_dictÚmonthly_ruleÚwom_rules
             r1   rx   Ú#_FrequencyInferer._infer_daily_rule%  s  € Ø×+Ñ+Ó-ˆÞØ—[‘[ ‘^ˆFÜ! $§.¡.×"6Ñ"6Ñ7ˆEØ"�m 1 U GÐ,ˆEÜ# EÓ2Ð2à×1Ñ1Ó3ˆÞØŸ™ A™¨Ñ*ˆIØ "¨Ñ,ˆHÜ! (¯>©>×+?Ñ+?À!Ñ+CÑ"DÑEˆEØ%Ð& a¨ wÐ/ˆEÜ# EÓ5Ð5à×-Ñ-Ó/ˆÞÜ# L·+±+¸a±.ÓAÐAà�>�>Ø×'Ñ'Ó)Ð)à×"Ñ"×$Ñ$Øà×%Ñ%Ó'ˆÞØˆOàr3   c                óâ   • [        U R                  5      nU R                  S   U-  nUS-  S:X  a4  [        U R                  R                  5          nSU 3n[        XBS-  5      $ [        SU5      $ )Nr   é   r-   ÚD)r	   rQ   r]   r   r�   Úweekdayrz   )rW   r|   ÚdaysÚwdr«   s        r1   r¦   Ú!_FrequencyInferer._get_daily_ruleE  sk   € Ü˜dŸk™kÓ*ˆØ�{‰{˜1‰~ Ñ#ˆØ�!‰8�q‹=ä §¡× 6Ñ 6Ó 8Ñ9ˆBØ˜˜�IˆEÜ# E°!©8Ó4Ð4ä# C¨Ó.Ð.r3   c                óÖ   • [        U R                  5      S:”  a  g [        [        U R                  S   5      5      S:”  a  g U R	                  5       nUc  g SSSSS.R                  U5      $ )Nrd   r”   r'   r)   ÚYEr(   ©ÚcsÚbsÚceÚbe)rR   r›   r   r‰   r   r/   ©rW   Ú	pos_checks     r1   r¢   Ú"_FrequencyInferer._get_annual_ruleP  se   € Üˆt�{‰{Ó˜aÓØäŒv�d—k‘k #Ñ&Ó'Ó(¨1Ó,Øà×-Ñ-Ó/ˆ	àÑØà e°4¸uÑE×IÑIÈ)ÓTÐTr3   c                ó¸   • [        U R                  5      S:”  a  g U R                  S   S-  S:X  d  g U R                  5       nUc  g SSSSS.R                  U5      $ )	Nrd   r   rL   r$   r&   ÚQEr%   r»   ©rR   r˜   r   r/   rÀ   s     r1   r¤   Ú%_FrequencyInferer._get_quarterly_rule^  s_   € Üˆt�{‰{Ó˜aÓØà�{‰{˜1‰~ Ñ! QÓ&Øà×-Ñ-Ó/ˆ	àÑØà e°4¸uÑE×IÑIÈ)ÓTÐTr3   c                óŠ   • [        U R                  5      S:”  a  g U R                  5       nUc  g SSSSS.R                  U5      $ )Nrd   ÚMSÚBMSÚMEÚBMEr»   rÅ   rÀ   s     r1   r¥   Ú#_FrequencyInferer._get_monthly_rulel  sG   € Üˆt�{‰{Ó˜aÓØØ×-Ñ-Ó/ˆ	àÑØà e°4¸uÑE×IÑIÈ)ÓTÐTr3   c                óÈ  • U R                   SS/:w  a  gU R                  S   R                  5       n[        R                  " U R
                  5      n[        U R                  5      n[        R                  " X#5      n[        R                  " U[        R                  " U5      -   S5      n[        [        R                  " US:H  US:H  -  US:„  US:*  -  US:H  -  -  5      5      $ )Nrd   rL   Fr   r³   é   )r„   rB   rµ   ÚnpÚdiffrN   r	   rQ   Úfloor_divideÚmodÚcumsumÚboolÚall)rW   Úfirst_weekdayÚshiftsr|   Úweekdayss        r1   r§   Ú$_FrequencyInferer._is_business_dailyv  sÁ   € à�?‰?˜q !˜fÓ$Øð Ÿ
™
 1™×-Ñ-Ó/ˆÜ—’˜Ÿ™Ó'ˆÜ˜dŸk™kÓ*ˆÜ—’ Ó-ˆÜ—6’6˜-¬"¯)ª)°FÓ*;Ñ;¸QÓ?ˆäÜ�FŠFØ˜a‘- F¨a¡KÑ0Ø˜q‘L X°¡]Ñ3°vÀ±{ÑCñEóó
ð 	
r3   c                ó,  • [        U R                  R                  5      n[        U5      S:”  a  g [        U R                  R                  S-
  S-  5      nX"S:     n[        U5      S:X  d  [        U5      S:”  a  g US   S-   n[
        US      nSU U 3$ )Nrd   r³   rÎ   r   zWOM-)r   rB   rµ   rR   Údayr   )rW   rØ   Úweek_of_monthsÚweekr·   s        r1   r¨   Ú_FrequencyInferer._get_wom_rule‰  sš   € Ü˜$Ÿ*™*×,Ñ,Ó-ˆÜˆx‹=˜1ÓØä §¡§¡°!Ñ!3¸Ñ 9Ó:ˆà'¸Ñ(:Ñ;ˆÜˆ~Ó !Ó#¤s¨>Ó':¸QÓ'>Øð ˜aÑ  1Ñ$ˆÜ˜H Q™KÑ(ˆà�d�V˜B˜4Ð Ð r3   )rQ   rN   rB   rV   N)ÚreturnÚNone)rß   znpt.NDArray[np.int64]©rß   rÔ   )rß   ú
str | None)rß   z	list[int])rß   z
np.ndarray)rß   r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__rX   r   r]   r`   re   rh   r@   r„   ry   r‰   r�   r   r˜   r›   rx   r¦   r¢   r¤   r¥   r§   r¨   Ú__static_attributes__© r3   r1   rA   rA   Ÿ   s  † ñô
ð> ó,ó ð,ð ó.ó ð.ð
 ó%ó ð%ð ó*ó ð*ô01ðd ó.ó ð.ð ó.ó ð.ð óCó ðCð óAó ðAôGð ó3ó ð3ð ó<ó ð<ôô@	/ôUôUôUô
÷&!r3   rA   c                  ó   • \ rS rSrS rSrg)r?   i›  c                óF   • U R                   (       a  U R                  5       $ g r[   )re   r¦   r\   s    r1   rx   Ú,_TimedeltaFrequencyInferer._infer_daily_ruleœ  s   € Ø�>�>Ø×'Ñ'Ó)Ð)ð r3   ré   N)rã   rä   rå   ræ   rx   rè   ré   r3   r1   r?   r?   ›  s   † õ*r3   r?   c                ó   • X-  S:H  $ )Nr   ré   )rt   Úmults     r1   rw   rw   ¡  s   € Ø‰9˜‰>Ðr3   c                óV   • US:w  a"  U[        U5      :X  d   e[        U5      nU U  3$ U $ rc   )Úint)ÚbaseÚcounts     r1   rz   rz   ¥  s8   € Ø�ƒzØœ˜E›
Ó"Ð"Ð"Ü�E“
ˆØ�˜˜ÐÐàˆr3   c                ó  • Ub  U c  g[        U 5      n [        U5      n[        U5      (       a3  [        U 5      (       a  [        [	        U 5      [	        U5      5      $ U S;   $ [        U5      (       a  U S;   $ [        U5      (       a  U S;   $ [        U5      (       a  XSSSSSS	S
SS1
;   $ US:X  a  U S;   $ US:X  a  U S;   $ US:X  a  U S;   $ US:X  a  U S;   $ US:X  a  U S;   $ US	:X  a  U S;   $ US
:X  a  U S;   $ US:X  a  U S;   $ US:X  a  U S;   $ g)zí
Returns True if downsampling is possible between source and target
frequencies

Parameters
----------
source : str or DateOffset
    Frequency converting from
target : str or DateOffset
    Frequency converting to

Returns
-------
bool
F>
   r¡   ÚCr´   r”   rp   rr   rs   ru   rt   rq   >	   r¡   rô   r´   rp   rr   rs   ru   rt   rq   r´   rô   r¡   rp   rq   rr   rs   rt   ru   >   r¡   rp   rr   rs   ru   rt   rq   >   rô   rp   rr   rs   ru   rt   rq   >   r´   rp   rr   rs   ru   rt   rq   >   rp   rr   rs   ru   rt   rq   >   rr   rs   ru   rt   rq   >   rr   rs   ru   rt   >   rs   ru   rt   >   ru   rt   >   ru   )Ú_maybe_coerce_freqÚ
_is_annualÚ_is_quarterlyÚ_quarter_months_conformr   Ú_is_monthlyÚ
_is_weekly)ÚsourceÚtargets     r1   Úis_subperiodrý   ²  sg  € ð  �~˜™ØÜ Ó'€FÜ Ó'€Fä�&×ÑÜ˜× Ñ Ü*Ü˜vÓ&¬°vÓ(>óð ð ÐPÑPÐPÜ	�v×	Ñ	ØÐPÑPÐPÜ	�V×	Ñ	ØÐKÑKÐKÜ	�F×	Ñ	Ø # s¨C°°e¸SÀ$ÈÈdÐSÑSÐSØ	�3‹ØÐAÑAÐAØ	�3‹ØÐAÑAÐAØ	�3‹ØÐAÑAÐAØ	�3‹ØÐ<Ñ<Ð<Ø	�5‹ØÐ7Ñ7Ð7Ø	�3‹ØÐ0Ñ0Ð0Ø	�4‹ØÐ+Ñ+Ð+Ø	�4‹Ø˜Ñ%Ð%Ø	�4‹Ø˜ÑÐàr3   c                ón  • Ub  U c  g[        U 5      n [        U5      n[        U 5      (       a]  [        U5      (       a  [        U 5      [        U5      :H  $ [        U5      (       a!  [        U 5      n[        U5      n[	        X#5      $ US;   $ [        U 5      (       a  US;   $ [        U 5      (       a  US;   $ [        U 5      (       a  XSSSSSS	S
SS1
;   $ U S:X  a  US;   $ U S:X  a  US;   $ U S:X  a  US;   $ U S:X  a  US;   $ U S:X  a  US;   $ U S	:X  a  US;   $ U S
:X  a  US;   $ U S:X  a  US;   $ U S:X  a  US;   $ g)zë
Returns True if upsampling is possible between source and target
frequencies

Parameters
----------
source : str or DateOffset
    Frequency converting from
target : str or DateOffset
    Frequency converting to

Returns
-------
bool
F>
   r¡   rô   r´   r”   rp   rr   rs   ru   rt   rq   >	   r¡   rô   r´   rp   rr   rs   ru   rt   rq   r´   rô   r¡   rp   rq   rr   rs   rt   ru   >   rp   rr   rs   ru   rt   rq   >   rr   rs   ru   rt   rq   >   rr   rs   ru   rt   >   rs   ru   rt   >   ru   rt   >   ru   )rõ   rö   r   r÷   rø   rù   rú   )rû   rü   ÚsmonthÚtmonths       r1   Úis_superperiodr  é  sˆ  € ð  �~˜™ØÜ Ó'€FÜ Ó'€Fä�&×ÑÜ�f×ÑÜ! &Ó)¬^¸FÓ-CÑCÐCä˜× Ñ Ü# FÓ+ˆFÜ# FÓ+ˆFÜ*¨6Ó:Ð:ØÐPÑPÐPÜ	�v×	Ñ	ØÐPÑPÐPÜ	�V×	Ñ	ØÐKÑKÐKÜ	�F×	Ñ	Ø # s¨C°°e¸SÀ$ÈÈdÐSÑSÐSØ	�3‹ØÐKÑKÐKØ	�3‹ØÐKÑKÐKØ	�3‹ØÐKÑKÐKØ	�3‹ØÐ<Ñ<Ð<Ø	�5‹ØÐ7Ñ7Ð7Ø	�3‹ØÐ0Ñ0Ð0Ø	�4‹ØÐ+Ñ+Ð+Ø	�4‹Ø˜Ñ%Ð%Ø	�4‹Ø˜ÑÐàr3   c                ó’   • U c   e[        U [        5      (       a  [        SU R                  5      n U S;   a  U $ U R	                  5       $ )z¤we might need to coerce a code to a rule_code
and uppercase it

Parameters
----------
source : str or DateOffset
    Frequency converting from

Returns
-------
str
rd   >   rp   rr   rs   ru   rt   rq   )r9   r   r   ÚnameÚupper)Úcodes    r1   rõ   rõ   #  sG   € ð ÑÐÐÜ�$œ
×#Ñ#Ü% a¨¯©Ó3ˆØÐ2Ó2Øˆà�z‰z‹|Ðr3   c                ó<   • [         U    n[         U   nUS-  US-  :H  $ )NrL   )r   )rû   rü   ÚsnumÚtnums       r1   rø   rø   9  s)   € Ü˜Ñ €DÜ˜Ñ €DØ�!‰8�t˜a‘xÑÐr3   c                ó\   • U R                  5       n U S:H  =(       d    U R                  S5      $ )Nr+   zY-©r  Ú
startswith©Úrules    r1   rö   rö   ?  ó%   € Ø�:‰:‹<€DØ�3‰;×/˜$Ÿ/™/¨$Ó/Ð/r3   c                ó\   • U R                  5       n U S:H  =(       d    U R                  S5      $ )Nr,   )zQ-ÚBQr
  r  s    r1   r÷   r÷   D  s%   € Ø�:‰:‹<€DØ�3‰;×7˜$Ÿ/™/¨,Ó7Ð7r3   c                ó,   • U R                  5       n U S;   $ )N)r”   ÚBM)r  r  s    r1   rù   rù   I  s   € Ø�:‰:‹<€DØ�;ÑÐr3   c                ó\   • U R                  5       n U S:H  =(       d    U R                  S5      $ )NÚWr-   r
  r  s    r1   rú   rú   N  r  r3   )r   r2   rE   rý   r  r   )r0   Ústrrß   râ   )rB   z@DatetimeIndex | TimedeltaIndex | Series | DatetimeLikeArrayMixinrß   râ   )rî   rð   rß   rÔ   )rñ   r  rò   Úfloatrß   r  rá   )rß   r  )rû   r  rü   r  rß   rÔ   )r  r  rß   rÔ   )JÚ
__future__r   Útypingr   ÚnumpyrÏ   Úpandas._libsr   Úpandas._libs.algosr   Úpandas._libs.tslibsr   r   r	   r
   Úpandas._libs.tslibs.ccalendarr   r   r   r   r   Úpandas._libs.tslibs.dtypesr   r   Úpandas._libs.tslibs.fieldsr   r   Úpandas._libs.tslibs.offsetsr   r   r   Úpandas._libs.tslibs.parsingr   Úpandas.util._decoratorsr   Úpandas.core.dtypes.commonr   Úpandas.core.dtypes.dtypesr   r   Úpandas.core.dtypes.genericr   r   Úpandas.core.algorithmsr   Úpandas._typingr   Úpandasr    r!   r"   Úpandas.core.arrays.datetimeliker#   Ú_need_suffixÚ_prefixÚ_mÚkeyÚ_aliasÚ_dr2   rE   rA   r?   rw   rz   rý   r  rõ   rø   rö   r÷   rù   rú   Ú__all__ré   r3   r1   Ú<module>r1     sn  ðÝ "å  ã å Ý ,÷ó ÷õ ÷÷÷ñ õ
 7Ý 2å 6÷÷õ
 *æÝ"÷ñ õ
 Gò 8€ã€GÛˆØ�	˜˜2˜$ÐˆØ(@ÀÑ(IÐ  Ó%ó ñ ó
 €GÛˆØ�9˜A˜b˜TÐ"ˆØ+1Ð  Ó(ó ñ ó
 €BØ,.¨r¨d¨)Ð˜r " ˜YÓ'ñ ô:ðCØKðCàôC÷Ly!ñ y!ôx*Ð!2ô *ôôô4ôn7ôtô, ô0ô
8ô
ô
0ò
�r3   