hyb
2026-01-09 4cb426cb3ae31e772a09d4ade5b2f0242aaeefa0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
Ë
nñúh”¢ãóÄ—ddlmZddlmZddlZddlmZmZmZm    Z    m
Z
m Z m Z ddl Z ddlZddlmZmZddlmZddlmZmZmZmZmZmZmZmZm Z m!Z!m"Z#m$Z$ddl%m&Z&m'Z'm(Z(dd    l)m*Z*dd
l+m,Z,m-Z-dd l.m/Z/m0Z0m1Z1m2Z2m3Z3dd l4m5Z5m6Z6dd l7m8Z8ddl9m:Z:m;Z;ddl<m=Z=m>Z>ddl?m@Z@mAZAmBZBmCZCddlDmEZEddlFmGZHddlImJcmKZLer(ddlMmNZNddlOmPZPmQZQmRZRmSZSmTZTmUZUmVZVmWZWddlFmXZXmYZYddlZm[Z[e
de¬«Z\ddiZ]d&d'd„Z^Gd„deHj¾e#jÀ«Zad(d„Zb        d)                            d*d„Zce d+d„«Zde d,d „«Zd                d-d!„Zd    d&    d.d"„Zd/d0d#„Ze                                d1    d2d$„Zfd3d%„Zgy)4é)Ú annotations)Ú    timedeltaN)Ú TYPE_CHECKINGÚAnyÚCallableÚLiteralÚTypeVarÚcastÚoverload)ÚalgosÚlib)Ú NDArrayBacked) Ú
BaseOffsetÚNaTÚNaTTypeÚ    TimedeltaÚadd_overflowsafeÚastype_overflowsafeÚdt64arr_to_periodarrÚget_unit_from_dtypeÚiNaTÚparsingÚperiodÚ    to_offset)Ú    FreqGroupÚPeriodDtypeBaseÚfreq_to_period_freqstr)Úisleapyear_arr)ÚTickÚ delta_to_tick)ÚDIFFERENT_FREQÚIncompatibleFrequencyÚPeriodÚget_period_field_arrÚperiod_asfreq_arr)Úcache_readonlyÚdoc)Úfind_stack_level)Ú ensure_objectÚ pandas_dtype)ÚDatetimeTZDtypeÚ PeriodDtype)ÚABCIndexÚABCPeriodIndexÚ    ABCSeriesÚABCTimedeltaArray)Úisna)Ú datetimelike)ÚSequence)Ú AnyArrayLikeÚDtypeÚ FillnaOptionsÚNpDtypeÚ NumpySorterÚNumpyValueArrayLikeÚSelfÚnpt)Ú DatetimeArrayÚTimedeltaArray)ÚExtensionArrayÚ BaseOffsetT)ÚboundÚklassÚ PeriodArraycó@‡—ˆfd„}‰|_||_t|«S)Ncób•—|jj}t‰|j|«}|S©N)ÚdtypeÚ _dtype_coder$Úasi8)ÚselfÚbaseÚresultÚnames   €úLH:\Change_password\venv_build\Lib\site-packages\pandas/core/arrays/period.pyÚfz_field_accessor.<locals>.fms)ø€Øz‰z×%Ñ%ˆÜ% d¨D¯I©I°tÓ<ˆØˆ ó)Ú__name__Ú__doc__Úproperty)rLÚ    docstringrNs`  rMÚ_field_accessorrTls"ø€ôð
€A„JØ€A„IÜ A‹;ÐrOcó‡—eZdZUdZdZdZeje«Z    e
fZ d„Z dZ edRd„«ZgZded<d    gZded
<gd ¢Zded <gd ¢Zded<eezezZded<gd¢Zded<ded<    dS                    dTd„Ze                        dUd„«Zedddœ                    dVd„«Zedddœ                    dVd„«ZedWdXd„«Zed„«ZedYd„«Z                dZd„Zd[d„Z d\d „Z!e"d]d!„«Z#ed^d"„«Z$ed_d#„«Z%    d`                    dad$„Z&dWd%„Z'e(d&d'«Z)e(d(d)«Z*e(d*d+«Z+e(d,d-«Z,e(d.d/«Z-e(d0d1«Z.e(d2d3«Z/e/Z0e(d4d5«Z1e1Z2e2Z3e(d6d7«xZ4Z5e(d8d9«Z6e(d:«Z7e(d;d<«Z8e8Z9edbd=„«Z:dcddd>„Z;ded?„Z<e=dfie>¤d@d@dAœ¤ŽdgdhdB„«Z?didjdC„Z@dDddEœ            dkdF„ZAdldmˆfdH„ ZB        dn                            dodI„ZCdddGdJœ                                    dpdK„ZD    dq                    drˆfdL„ ZE                        dsdM„ZFdtdN„ZGˆfdO„ZH                dudP„ZIdQ„ZJˆxZKS)vrBa 
    Pandas ExtensionArray for storing Period data.
 
    Users should use :func:`~pandas.array` to create new instances.
 
    Parameters
    ----------
    values : Union[PeriodArray, Series[period], ndarray[int], PeriodIndex]
        The data to store. These should be arrays that can be directly
        converted to ordinals without inference or copy (PeriodArray,
        ndarray[int64]), or a box around such an array (Series[period],
        PeriodIndex).
    dtype : PeriodDtype, optional
        A PeriodDtype instance from which to extract a `freq`. If both
        `freq` and `dtype` are specified, then the frequencies must match.
    freq : str or DateOffset
        The `freq` to use for the array. Mostly applicable when `values`
        is an ndarray of integers, when `freq` is required. When `values`
        is a PeriodArray (or box around), it's checked that ``values.freq``
        matches `freq`.
    copy : bool, default False
        Whether to copy the ordinals before storing.
 
    Attributes
    ----------
    None
 
    Methods
    -------
    None
 
    See Also
    --------
    Period: Represents a period of time.
    PeriodIndex : Immutable Index for period data.
    period_range: Create a fixed-frequency PeriodArray.
    array: Construct a pandas array.
 
    Notes
    -----
    There are two components to a PeriodArray
 
    - ordinals : integer ndarray
    - freq : pd.tseries.offsets.Offset
 
    The values are physically stored as a 1-D ndarray of integers. These are
    called "ordinals" and represent some kind of offset from a base.
 
    The `freq` indicates the span covered by each element of the array.
    All elements in the PeriodArray have the same `freq`.
 
    Examples
    --------
    >>> pd.arrays.PeriodArray(pd.PeriodIndex(['2023-01-01',
    ...                                       '2023-01-02'], freq='D'))
    <PeriodArray>
    ['2023-01-01', '2023-01-02']
    Length: 2, dtype: period[D]
    ièÚ periodarraycó"—t|t«SrE)Ú
isinstancer,)Úxs rMú<lambda>zPeriodArray.<lambda>»s€¤ZØ    Œ;ó&€rO)rcó—tSrE)r#©rIs rMÚ _scalar_typezPeriodArray._scalar_typeÀs€äˆ rOz    list[str]Ú
_other_opsÚ is_leap_yearÚ    _bool_ops)Ú
start_timeÚend_timeÚfreqÚ _object_ops)ÚyearÚmonthÚdayÚhourÚminuteÚsecondÚ
weekofyearÚweekdayÚweekÚ    dayofweekÚ day_of_weekÚ    dayofyearÚ day_of_yearÚquarterÚqyearÚ days_in_monthÚ daysinmonthÚ
_field_opsÚ_datetimelike_ops)ÚstrftimeÚ to_timestampÚasfreqÚ_datetimelike_methodsr,Ú_dtypeNFcóú—|;tjdtt«¬«t    ||«}t |«}|*t |«}t|t
«std|›d«‚t|t«r,|j}t|t|««s'td«‚t|t«r |j}t|t|««r?|%||jk7rt||j «‚|j"|j}}|st%j&|d¬«}nt%j(|d|¬«}|€ td    «‚t+t
|«}t-j.|||«y)
Nz}The 'freq' keyword in the PeriodArray constructor is deprecated and will be removed in a future version. Pass 'dtype' instead©Ú
stacklevelzInvalid dtype z for PeriodArrayzIncorrect dtypeÚint64©rF©rFÚcopyz-dtype is not specified and cannot be inferred)ÚwarningsÚwarnÚ FutureWarningr(Úvalidate_dtype_freqr,r*rXÚ
ValueErrorr/Ú_valuesÚtypeÚ    TypeErrorr.rFÚraise_on_incompatiblercÚ_ndarrayÚnpÚasarrayÚarrayr
rÚ__init__)rIÚvaluesrFrcrƒs     rMr‘zPeriodArray.__init__ãsA€ð Ð ä M‰MðPäÜ+Ó-õ     ô ' u¨dÓ3ˆDÜ Ó%ˆEà Ð Ü  Ó'ˆEܘe¤[Ô1Ü  >°%°Ð8HÐ!IÓJÐJä fœiÔ (Ø—^‘^ˆFܘf¤d¨4£jÔ1ÜР1Ó2Ð2ä ˜¤Ô /Ø—^‘^ˆFä fœd 4›jÔ )ØÐ  U¨f¯l©lÒ%:Ü+¨F°E·J±JÓ?Ð?Ø"ŸO™O¨V¯\©\EˆFáÜ—Z‘Z ¨gÔ6‰Fä—X‘X˜f¨G¸$Ô?ˆFØ ˆ=ÜÐLÓMÐ MÜ”[ %Ó(ˆÜ×јt V¨UÕ3rOcóz—d}t|tj«r|jdk(sJ|«‚|||¬«S)Nz Should be numpy array of type i8Úi8r)rXrŽÚndarrayrF)Úclsr’rFÚ assertion_msgs    rMÚ _simple_newzPeriodArray._simple_new s:€ð;ˆ ܘ&¤"§*¡*Ô-°&·,±,À$Ò2FÐUÈ ÓUÐFِ6 Ô'Ð'rOr‚cóˆ—| t|«}|rt|t«r |j}nd}t||«r*t    |j
|«|r|j «}|Stj|t¬«}|xstj|«}tj||«}t|«}|||¬«S)Nr) r*rXr,rcr‡rFrƒrŽrÚobjectÚ    libperiodÚ extract_freqÚextract_ordinals)r–ÚscalarsrFrƒrcÚperiodsÚordinalss       rMÚ_from_sequencezPeriodArray._from_sequences§€ð Ð Ü  Ó'ˆEÙ ”Z ¤{Ô3Ø—:‘:‰DàˆDä g˜sÔ #Ü  § ¡ ¨tÔ 4ÙØ!Ÿ,™,›.ØˆNä—*‘*˜W¬FÔ3ˆàÒ6”y×-Ñ-¨gÓ6ˆÜ×-Ñ-¨g°tÓ<ˆÜ˜DÓ!ˆÙ8 5Ô)Ð)rOcó*—|j|||¬«S)Nr‚)r¡)r–ÚstringsrFrƒs    rMÚ_from_sequence_of_stringsz%PeriodArray._from_sequence_of_strings4s€ð×!Ñ! '°¸TÐ!ÓBÐBrOcó¬—t|t«r t|j|j«}t |||«\}}t |«}|||¬«S)a
        Construct a PeriodArray from a datetime64 array
 
        Parameters
        ----------
        data : ndarray[datetime64[ns], datetime64[ns, tz]]
        freq : str or Tick
        tz : tzinfo, optional
 
        Returns
        -------
        PeriodArray[freq]
        r)rXrrÚnrLrr,)r–ÚdatarcÚtzrFs     rMÚ_from_datetime64zPeriodArray._from_datetime64:sK€ô dœJÔ 'Ü)¨$¯&©&°$·)±)Ó<ˆDÜ)¨$°°bÓ9‰
ˆˆdܘDÓ!ˆÙ4˜uÔ%Ð%rOcó¢—tj|«}|tj|«}|€|t    ||||«\}}||fSt d«‚)Nz/Not enough parameters to construct Period range)ÚdtlÚvalidate_periodsr#Ú_maybe_convert_freqÚ_get_ordinal_rangerˆ)r–ÚstartÚendrŸrcÚsubarrs      rMÚ_generate_rangezPeriodArray._generate_rangeOs`€ä×&Ñ& wÓ/ˆà Ð Ü×-Ñ-¨dÓ3ˆDà Ð   Ü-¨e°S¸'À4ÓH‰LˆFDðtˆ|ÐôÐNÓOÐ OrOcó^—tdd|i|¤Ž\}}t|«}|j||¬«S)Nrcr©)Ú_range_from_fieldsr,r˜)r–Úfieldsrcr±rFs     rMÚ _from_fieldszPeriodArray._from_fields]s5€ä)Ñ>¨tÐ>°vÑ>‰ ˆÜ˜DÓ!ˆØ‰˜v¨UˆÓ3Ð3rOcóú—|turtj|j«St    ||j
«r0|j |«tj|j«Std|›d«‚)Nz!'value' should be a Period. Got 'z
' instead.)    rrŽr€Ú_valuerXr]Ú_check_compatible_withÚordinalrˆ©rIÚvalues  rMÚ _unbox_scalarzPeriodArray._unbox_scalarisd€ð ”C‰<ä—8‘8˜EŸL™LÓ)Ð )Ü ˜˜t×0Ñ0Ô 1Ø × 'Ñ '¨Ô .Ü—8‘8˜EŸM™MÓ*Ð *äÐ@ÀÀÀzÐRÓSÐ SrOcó0—t||j¬«S)N)rc)r#rcr¼s  rMÚ_scalar_from_stringzPeriodArray._scalar_from_stringvs€Üe $§)¡)Ô,Ð,rOcóL—|tury|j|j«yrE)rÚ_require_matching_freqrc©rIÚothers  rMrºz"PeriodArray._check_compatible_with|s €Ø ”C‰<Ø ð     ×#Ñ# E§J¡JÕ/rOcó—|jSrE)r|r\s rMrFzPeriodArray.dtype†s €à{‰{ÐrOcó.—|jjS)zC
        Return the frequency object for this PeriodArray.
        ©rFrcr\s rMrczPeriodArray.freq‹s€ð
z‰z‰ÐrOcój—t|jj|jj«SrE)rrcr¦rLr\s rMÚfreqstrzPeriodArray.freqstr’s€ä% d§i¡i§k¡k°4·9±9·>±>ÓBÐBrOcóX—|dk(rD|s!tj|j|¬«Stj|j|¬«S|dur$t    j
dt t«¬«|tk(r |jStjt|«t¬«S)Nr”rFaSStarting with NumPy 2.0, the behavior of the 'copy' keyword has changed and passing 'copy=False' raises an error when returning a zero-copy NumPy array is not possible. pandas will follow this behavior starting with pandas 3.0.
This conversion to NumPy requires a copy, but 'copy=False' was passed. Consider using 'np.asarray(..)' instead.r~) rŽrrHrr„r…r†r(ÚboolÚ_isnanÚlistrš)rIrFrƒs   rMÚ    __array__zPeriodArray.__array__–s‰€ð DŠ=ñÜ—z‘z $§)¡)°5Ô9Ð9ä—x‘x §    ¡    °Ô7Ð7à 5‰=Ü M‰Mð2ô Ü+Ó-õ     ð ”DŠ=Ø—K‘K<Ð ôx‰xœ˜T›
¬&Ô1Ð1rOcó—ddl}ddlm}|¡|jj    |«r,|j |j |j«|¬«St||«r?|j|jk7r5td|j›d|j›d«‚td|›d    «‚||j«}|j |j |j«d
¬«}|jj||«S) z6
        Convert myself into a pyarrow Array.
        rN)ÚArrowPeriodType)ÚmaskrŠzENot supported to convert PeriodArray to array with different 'freq' (z vs ú)z)Not supported to convert PeriodArray to 'z' typer€)ÚpyarrowÚ(pandas.core.arrays.arrow.extension_typesrÐÚtypesÚ
is_integerrrr1rXrÉrcr‹r>Ú from_storage)rIrŠrÓrÐÚ period_typeÚ storage_arrays      rMÚ__arrow_array__zPeriodArray.__arrow_array__³sê€ó    åLà Р؏}‰}×'Ñ'¨Ô-Ø—}‘} T§]¡]¸¿¹»È4}ÓPÐPܘD /Ô2à—<‘< 4§9¡9Ò,Ü#ð#Ø#'§<¡< .°°T·Y±Y°K¸qðBóðô
 Ø?À¸vÀVÐLóðñ& d§l¡lÓ3ˆ ØŸ ™  d§m¡m¸$¿)¹)»+ÈG˜ ÓTˆ Ø×%Ñ%×2Ñ2°;À ÓNÐNrOrez×
        The year of the period.
 
        Examples
        --------
        >>> idx = pd.PeriodIndex(["2023", "2024", "2025"], freq="Y")
        >>> idx.year
        Index([2023, 2024, 2025], dtype='int64')
        rfzå
        The month as January=1, December=12.
 
        Examples
        --------
        >>> idx = pd.PeriodIndex(["2023-01", "2023-02", "2023-03"], freq="M")
        >>> idx.month
        Index([1, 2, 3], dtype='int64')
        rgzÐ
        The days of the period.
 
        Examples
        --------
        >>> idx = pd.PeriodIndex(['2020-01-31', '2020-02-28'], freq='D')
        >>> idx.day
        Index([31, 28], dtype='int64')
        rhzÝ
        The hour of the period.
 
        Examples
        --------
        >>> idx = pd.PeriodIndex(["2023-01-01 10:00", "2023-01-01 11:00"], freq='h')
        >>> idx.hour
        Index([10, 11], dtype='int64')
        ria 
        The minute of the period.
 
        Examples
        --------
        >>> idx = pd.PeriodIndex(["2023-01-01 10:30:00",
        ...                       "2023-01-01 11:50:00"], freq='min')
        >>> idx.minute
        Index([30, 50], dtype='int64')
        rja    
        The second of the period.
 
        Examples
        --------
        >>> idx = pd.PeriodIndex(["2023-01-01 10:00:30",
        ...                       "2023-01-01 10:00:31"], freq='s')
        >>> idx.second
        Index([30, 31], dtype='int64')
        rma
        The week ordinal of the year.
 
        Examples
        --------
        >>> idx = pd.PeriodIndex(["2023-01", "2023-02", "2023-03"], freq="M")
        >>> idx.week  # It can be written `weekofyear`
        Index([5, 9, 13], dtype='int64')
        rozø
        The day of the week with Monday=0, Sunday=6.
 
        Examples
        --------
        >>> idx = pd.PeriodIndex(["2023-01-01", "2023-01-02", "2023-01-03"], freq="D")
        >>> idx.weekday
        Index([6, 0, 1], dtype='int64')
        rqaÐ
        The ordinal day of the year.
 
        Examples
        --------
        >>> idx = pd.PeriodIndex(["2023-01-10", "2023-02-01", "2023-03-01"], freq="D")
        >>> idx.dayofyear
        Index([10, 32, 60], dtype='int64')
 
        >>> idx = pd.PeriodIndex(["2023", "2024", "2025"], freq="Y")
        >>> idx
        PeriodIndex(['2023', '2024', '2025'], dtype='period[Y-DEC]')
        >>> idx.dayofyear
        Index([365, 366, 365], dtype='int64')
        rrzÛ
        The quarter of the date.
 
        Examples
        --------
        >>> idx = pd.PeriodIndex(["2023-01", "2023-02", "2023-03"], freq="M")
        >>> idx.quarter
        Index([1, 1, 1], dtype='int64')
        rsrta„
        The number of days in the month.
 
        Examples
        --------
        For Series:
 
        >>> period = pd.period_range('2020-1-1 00:00', '2020-3-1 00:00', freq='M')
        >>> s = pd.Series(period)
        >>> s
        0   2020-01
        1   2020-02
        2   2020-03
        dtype: period[M]
        >>> s.dt.days_in_month
        0    31
        1    29
        2    31
        dtype: int64
 
        For PeriodIndex:
 
        >>> idx = pd.PeriodIndex(["2023-01", "2023-02", "2023-03"], freq="M")
        >>> idx.days_in_month   # It can be also entered as `daysinmonth`
        Index([31, 28, 31], dtype='int64')
        cóR—ttj|j««S)zò
        Logical indicating if the date belongs to a leap year.
 
        Examples
        --------
        >>> idx = pd.PeriodIndex(["2023", "2024", "2025"], freq="Y")
        >>> idx.is_leap_year
        array([False,  True, False])
        )rrŽrrer\s rMr_zPeriodArray.is_leap_yearts€ôœbŸj™j¨¯©Ó3Ó4Ð4rOcó´—ddlm}tj|«}|dk(}|rp|dk(s|jdk(r.t dd«t dd«z
}|j d¬    «|zSt dd«}||jzj d¬    «|z
S|€5|jj«}t|d«}|j}|}n!tj|«}|j}|j||¬    «}    tj|    j |«}
|j"|
«} |jj$dk(r€t'j(|j «} t+| «dk(rQ| d} | |j,j.k(r|j| _| S| dk(r|jj2| _| S| j5d
«S) a“
        Cast to DatetimeArray/Index.
 
        Parameters
        ----------
        freq : str or DateOffset, optional
            Target frequency. The default is 'D' for week or longer,
            's' otherwise.
        how : {'s', 'e', 'start', 'end'}
            Whether to use the start or end of the time period being converted.
 
        Returns
        -------
        DatetimeArray/Index
 
        Examples
        --------
        >>> idx = pd.PeriodIndex(["2023-01", "2023-02", "2023-03"], freq="M")
        >>> idx.to_timestamp()
        DatetimeIndex(['2023-01-01', '2023-02-01', '2023-03-01'],
        dtype='datetime64[ns]', freq='MS')
        r)r<ÚEÚBéÚDÚnsr¯)ÚhowÚinfer)Úpandas.core.arraysr<r›Úvalidate_end_aliasrcrryr|Ú_get_to_timestamp_baserÚ_freqstrr#r­Ú_period_dtype_coderzÚperiodarr_to_dt64arrrHr¡rLÚlibalgosÚ unique_deltasÚlenrFÚ_nÚ_freqrJÚ
_with_freq)rIrcrâr<r°ÚadjustÚ    freq_coderFrJÚnew_parrÚnew_dataÚdtaÚdiffsÚdiffs              rMryzPeriodArray.to_timestamps¢€õ.    5ä×*Ñ*¨3Ó/ˆàS‰jˆÙ ؐsŠ{˜dŸi™i¨3Ò.ä" 1 cÓ*¬Y°q¸$Ó-?Ñ?Ø×(Ñ(¨WÐ(Ó5¸Ñ>Ð>ä" 1 dÓ+Ø˜tŸy™yÑ(×6Ñ6¸7Ð6ÓCÀfÑLÐLà ˆ<ØŸ ™ ×:Ñ:Ó<ˆIÜ# I¨qÓ1ˆEØ—>‘>ˆD؉Dä×-Ñ-¨dÓ3ˆDØ×*Ñ*ˆDà—;‘;˜t¨;Ó-ˆä×1Ñ1°(·-±-ÀÓFˆØ*ˆm×*Ñ*¨8Ó4ˆà 9‰9>‰>˜SÒ  ô×*Ñ*¨4¯9©9Ó5ˆEܐ5‹z˜QŠØ˜Q‘xØ˜4Ÿ:™:Ÿ=™=Ò(Ø $§    ¡    C”IðˆJð˜Q’YØ $§    ¡    §¡C”IàˆJà—>‘> 'Ó*Ð *rOcóD—tj||j¬«S)N)r»rc)r#Ú _from_ordinalrc)rIrYs  rMÚ    _box_funczPeriodArray._box_funcÅs€Ü×#Ñ#¨A°D·I±IÔ>Ð>rOÚ PeriodIndex)rÄÚ
other_namecóö—tj|«}t|t«r!t    |d«rt |«j }tj|«}|jj}|j}|j}|dk(}|r||jjzdz
}n|}t||||«}|j rt"||j$<t |«}    t'|«||    ¬«S)a²
        Convert the {klass} to the specified frequency `freq`.
 
        Equivalent to applying :meth:`pandas.Period.asfreq` with the given arguments
        to each :class:`~pandas.Period` in this {klass}.
 
        Parameters
        ----------
        freq : str
            A frequency.
        how : str {{'E', 'S'}}, default 'E'
            Whether the elements should be aligned to the end
            or start within pa period.
 
            * 'E', 'END', or 'FINISH' for end,
            * 'S', 'START', or 'BEGIN' for start.
 
            January 31st ('END') vs. January 1st ('START') for example.
 
        Returns
        -------
        {klass}
            The transformed {klass} with the new frequency.
 
        See Also
        --------
        {other}.asfreq: Convert each Period in a {other_name} to the given frequency.
        Period.asfreq : Convert a :class:`~pandas.Period` object to the given frequency.
 
        Examples
        --------
        >>> pidx = pd.period_range('2010-01-01', '2015-01-01', freq='Y')
        >>> pidx
        PeriodIndex(['2010', '2011', '2012', '2013', '2014', '2015'],
        dtype='period[Y-DEC]')
 
        >>> pidx.asfreq('M')
        PeriodIndex(['2010-12', '2011-12', '2012-12', '2013-12', '2014-12',
        '2015-12'], dtype='period[M]')
 
        >>> pidx.asfreq('M', how='S')
        PeriodIndex(['2010-01', '2011-01', '2012-01', '2013-01', '2014-01',
        '2015-01'], dtype='period[M]')
        rèrÝrßr)r›rårXrÚhasattrr,rçr#r­r|rGrèrHrFrír%Ú_hasnarrÌrŠ)
rIrcrâÚbase1Úbase2rHr°r»rórFs
          rMrzzPeriodArray.asfreqÈsրô\×*Ñ*¨3Ó/ˆÜ dœJÔ '¬G°DÐ:NÔ,OܘtÓ$×-Ñ-ˆDÜ×)Ñ)¨$Ó/ˆà— ‘ ×'Ñ'ˆØ×'Ñ'ˆày‰yˆàS‰jˆÙ ؘTŸZ™ZŸ]™]Ñ*¨QÑ.‰GàˆGä$ W¨e°U¸CÓ@ˆà ;Š;Ü$(ˆHT—[‘[Ñ !ä˜DÓ!ˆØŒtD‹z˜(¨%Ô0Ð0rOcó*—|rtSdjS)Nz'{}')ÚstrÚformat)rIÚboxeds  rMÚ
_formatterzPeriodArray._formatters€Ù ܈J؏}‰}ÐrOr)Úna_repÚ date_formatc ón—tj|j|jj||«S)z3
        actually format my specific types
        )r›Úperiod_array_strftimerHrFrG)rIrrÚkwargss    rMÚ_format_native_typesz PeriodArray._format_native_typess.€ô ×.Ñ.Ø I‰It—z‘z×-Ñ-¨v°{ó
ð    
rOTcóÄ•—t|«}||jk(r|s|S|j«St|t«r|j |j «Stj|d«st|t«rPt|dd«}tj|«}|j«j|«j|«St ‰|E||¬«S)NÚMr¨©rƒ)r*r|rƒrXr,rzrcr Ú is_np_dtyper+Úgetattrr«Ú dtype_to_unitryÚ tz_localizeÚas_unitÚsuperÚastype)rIrFrƒr¨ÚunitÚ    __class__s     €rMrzPeriodArray.astype"s¹ø€ô˜UÓ#ˆØ D—K‘KÒ ÙØ à—y‘y“{Ð"Ü eœ[Ô )Ø—;‘;˜uŸz™zÓ*Ð *ä ?‰?˜5 #Ô &¬*°U¼OÔ*L䘠 dÓ+ˆBÜ×$Ñ$ UÓ+ˆDØ×$Ñ$Ó&×2Ñ2°2Ó6×>Ñ>¸tÓDÐ Dä‰w‰~˜e¨$ˆ~Ó/Ð/rOcó —|j|«jd«}|jjd«}|j|||¬«S)NúM8[ns])ÚsideÚsorter)Ú_validate_setitem_valueÚviewrÚ searchsorted)rIr½rrÚnpvalueÚm8arrs      rMrzPeriodArray.searchsorted6sM€ð ×.Ñ.¨uÓ5×:Ñ:¸8ÓDˆð— ‘ ×"Ñ" 8Ó,ˆØ×!Ñ! '°¸VÐ!ÓDÐDrO)ÚlimitÚ
limit_arearƒcó —|jd«}|j||||¬«}|r%td|j|j««S|S)Nr)Úmethodr!r"rƒr:)rÚ_pad_or_backfillr
rF)rIr$r!r"rƒrôrKs       rMr%zPeriodArray._pad_or_backfillCsT€ði‰i˜Ó!ˆØ×%Ñ%Ø °:ÀDð&ó
ˆñ ܘ § ¡ ¨D¯J©JÓ 7Ó8Ð 8àˆKrOcó°•—|A|jd«}|j||||¬«}|j|j«St‰|||||¬«S)Nr)r½r$r!rƒ)rÚfillnarFr)rIr½r$r!rƒrôrKrs       €rMr'zPeriodArray.fillnaVs]ø€ð Ð ð—)‘)˜HÓ%ˆCØ—Z‘Z e°FÀ%ÈdZÓSˆFð—;‘;˜tŸz™zÓ*Ð *܉w‰~ E°&ÀÈDˆ~ÓQÐQrOcó—|tjtjfvsJ‚|tjur| }t|jt j |d¬««}t|«||j¬«S)zì
        Add or subtract array of integers.
 
        Parameters
        ----------
        other : np.ndarray[int64] or int
        op : {operator.add, operator.sub}
 
        Returns
        -------
        result : PeriodArray
        r”r)    ÚoperatorÚaddÚsubrrHrŽrrŠrF)rIrÄÚopÚ
res_valuess    rMÚ_addsub_int_array_or_scalarz'PeriodArray._addsub_int_array_or_scalarfsd€ð”h—l‘l¤H§L¡LÐ1Ñ1Ð1Ð1Ø ”—‘Ñ ØFˆEÜ% d§i¡i´·±¸EÈÔ1NÓOˆ
ØŒtD‹z˜*¨D¯J©JÔ7Ð7rOcó —t|t«rJ‚|j|d¬«|j|jt
j «S)NT)rJ)rXrrÂr.r¦r)r*rÃs  rMÚ _add_offsetzPeriodArray._add_offset{s@€Ü˜e¤TÔ*Ð*Ð*à ×#Ñ# E°Ð#Ô5Ø×/Ñ/°·±¼¿¹ÓFÐFrOcóö•—t|jt«s t||«‚t    |«rt
‰||«Stjt|«j«}|j|«S)z”
        Parameters
        ----------
        other : timedelta, Tick, np.timedelta64
 
        Returns
        -------
        PeriodArray
        ) rXrcrrŒr1rÚ_add_timedeltalike_scalarrŽrrÚasm8Ú_add_timedelta_arraylike)rIrÄÚtdrs   €rMr2z%PeriodArray._add_timedeltalike_scalar‚saø€ô˜$Ÿ)™)¤TÔ*ä'¨¨eÓ4Ð 4ä Œ;ä‘7Ñ4°UÓ;Ð ;ä Z‰Zœ     %Ó(×-Ñ-Ó .ˆØ×,Ñ,¨RÓ0Ð0rOcóê—|jj«std|j›«‚tjd|jj›d«}    t tj |«|dd¬«}t|jtj |jd«««}t|«||j¬    «S#t$r}td«|‚d}~wwxYw)
        Parameters
        ----------
        other : TimedeltaArray or ndarray[timedelta64]
 
        Returns
        -------
        PeriodArray
        z2Cannot add or subtract timedelta64[ns] dtype from úm8[ú]F©rFrƒÚround_okznCannot add/subtract timedelta-like from PeriodArray that is not an integer multiple of the PeriodArray's freq.Nr”r) rFÚ _is_tick_liker‹rŽÚ
_td64_unitrrrˆr"rrHrrŠ)rIrÄrFÚdeltaÚerrr-s      rMr4z$PeriodArray._add_timedelta_arraylike—sۀðz‰z×'Ñ'Ô)äØDÀTÇZÁZÀLÐQóð ô—‘˜3˜tŸz™z×4Ñ4Ð5°QÐ7Ó8ˆð
    Ü'Ü—
‘
˜5Ó!¨°UÀUôˆEô& d§i¡i´·±¸E¿J¹JÀtÓ<LÓ1MÓNˆ
ØŒtD‹z˜*¨D¯J©JÔ7Ð7øôò    ô(ðEóðð ûð    úsÁ!"Cà   C2Ã! C-Ã-C2có—|jj«sJ‚tjd|jj›d«}t    |t
tj tf«r)tjt|«j«}ntj|«}    t||dd¬«}|jd«}tj |«S#t$r}t||«|‚d}~wwxYw)a<
        Arithmetic operations with timedelta-like scalars or array `other`
        are only valid if `other` is an integer multiple of `self.freq`.
        If the operation is valid, find that integer multiple.  Otherwise,
        raise because the operation is invalid.
 
        Parameters
        ----------
        other : timedelta, np.timedelta64, Tick,
                ndarray[timedelta64], TimedeltaArray, TimedeltaIndex
 
        Returns
        -------
        multiple : int or ndarray[int64]
 
        Raises
        ------
        IncompatibleFrequency
        r7r8Fr9Nr”)rFr;rŽr<rXrÚ timedelta64rrrr3rrˆrŒrr Úitem_from_zerodim)rIrÄrFr5r=r>s      rMÚ _check_timedeltalike_freq_compatz,PeriodArray._check_timedeltalike_freq_compat¼sπð(z‰z×'Ñ'Ô)Ð)Ð)ä—‘˜3˜tŸz™z×4Ñ4Ð5°QÐ7Ó8ˆä eœi¬¯©¼Ð>Ô ?Ü—‘œI eÓ,×1Ñ1Ó2‰Bä—‘˜EÓ"ˆBð    >Ü'¨°%¸eÈeÔTˆEð—
‘
˜4Ó ˆÜ×$Ñ$ UÓ+Ð+øô    ò    >Ü'¨¨eÓ4¸#Ð =ûð    >úsÂ.C#Ã#    C>Ã, C9Ã9C>)Úreturnz type[Period])NNF)rFú Dtype | NonerƒrËrCÚNone)r’znpt.NDArray[np.int64]rFr,rCr:)rFrDrƒrËrCr:rE)rCr:)r¶ÚdictrCr:)r½úPeriod | NaTTyperCznp.int64)r½rrCr#)rÄzPeriod | NaTType | PeriodArrayrCrE)rCr,)rCr)rCr)NN)rFzNpDtype | Nonerƒz bool | NonerCz
np.ndarray)rCznpt.NDArray[np.bool_])Nr¯)rârrCr<)rCrGr´)NrÝ)rârrCr:)F)rrË)rz str | floatrCznpt.NDArray[np.object_])T)rƒrË)ÚleftN)r½z$NumpyValueArrayLike | ExtensionArrayrzLiteral['left', 'right']rzNumpySorter | NonerCznpt.NDArray[np.intp] | np.intp)
r$r6r!ú
int | Noner"z#Literal['inside', 'outside'] | NonerƒrËrCr:)NNNT)r!rIrƒrËrCr:)rÄznp.ndarray | intr,zCallable[[Any, Any], Any]rCr:)rÄr)rÄz,TimedeltaArray | npt.NDArray[np.timedelta64]rCr:)LrPÚ
__module__Ú __qualname__rQÚ__array_priority__Ú_typrŽr€rÚ_internal_fill_valuer#Ú_recognized_scalarsÚ_is_recognized_dtypeÚ_infer_matchesrRr]r^Ú__annotations__r`rdrvrwr{r‘Ú classmethodr˜r¡r¤r©r²r·r¾rÀrºr&rFrcrÉrÎrÚrTrerfrgrhrirjrkrmrornrlrprqrrrsrtrur_ryrùr'Ú_shared_doc_kwargsrzrr rrr%r'r.r0r2r4rBÚ __classcell__)rs@rMrBrBys‰ø…ñ:ðzÐØ €DØ#˜2Ÿ8™8 D›>ÐØ!˜)ÐñÐð!€Nà òóðð€J    ÓØ*Ð+€IˆyÓ+Ú?€KÓ?ò€J    óð&$.° Ñ#;¸iÑ#GАyÓGÚ'MИ9ÓMà Óð KPð'4Ø)ð'4ØCGð'4à     ó'4ðTð(à%ð(ðð(ð
ò    (óð(ðð
#Øñ *ðð    *ð
ð *ð
ò *óð*ð6à/3À%ñCØ ,ðCØ;?ðCà     òCóðCð
ó&óð&ð(ñ óð ðò4óð4ð Tàð Tð
ó Tó-ó 0ðòóððòóðð òCóðCðAEð2Ø#ð2Ø2=ð2à    ó2ó:Oñ< Øð     ó €Dñ Øð     ó €Eñ Ø ð     ó €Cñ Øð     ó €DñØð         ó €FñØð         ó €Fñ!Øð     ó €Jð €DÙ!Øð     ó €Kð€IØ€GÙ-Øð     óð€I ñ$Øð     ó €Gñ ˜GÓ $€EÙ#Øð     ó€Mð: €Kà ò
5óð
5ô@+óH?ñ    ÑMÐ ÐM ]¸}ÓMóC1óNðC1ôPð (-¸$ñ
Ø$ð
à     ó
ö0ð.*0Ø%)ð     Eà3ð Eð'ð Eð#ð     Eð
 
(ó Eð"!Ø:>Øñ ðððð    ð
8ð ð ð ð
óð(OSð RØ.8ð RØGKð Rà     õ Rð 8Ø%ð8Ø+Dð8à     ó8ó*Gô1ð*#8ØAð#8à     ó#8öJ#,rOcó—t|tjtf«s|€d}nwt|t«r!t |j |j«}nFt|tttf«r |j}ntt|««j}t |jj |jj«}tj t#|«j$||¬«}t'|«S)a>
    Helper function to render a consistent error message when raising
    IncompatibleFrequency.
 
    Parameters
    ----------
    left : PeriodArray
    right : None, DateOffset, Period, ndarray, or timedelta-like
 
    Returns
    -------
    IncompatibleFrequency
        Exception to be raised by the caller.
    N)r–Úown_freqÚ
other_freq)rXrŽr•r0rrr¦rLr.rBr#rÉr rrcr!rrŠrPr")rHÚrightrXrWÚmsgs     rMrŒrŒâs¸€ô %œ"Ÿ*™*Ô&7Ð8Ô9¸U¸]؉
Ü    Eœ:Ô    &Ü+¨E¯G©G°U·Z±ZÓ@‰
Ü    EœN¬K¼Ð@Ô    AØ—]‘]‰
ä"¤9¨UÓ#3Ó4×<Ñ<ˆ
ä% d§i¡i§k¡k°4·9±9·>±>ÓB€HÜ
Ü ‹J× Ñ ¨(¸zô €Cô ! Ó %Ð%rOcóN—t|dd«}tj|d«rtj    ||«St |t «r1t|«}|"||jk(r|S|j|«S|St |tjtttf«s t|«}tj|«}|r t |«}nd}|jj dk(rt#|«dkDr t%d«‚|jj dvrD|j'tj(d¬    «}t+j,||«}t||¬
«St/|«}|€t+j0|«}t |«}tj3||¬
«S) aÚ
    Construct a new PeriodArray from a sequence of Period scalars.
 
    Parameters
    ----------
    data : Sequence of Period objects
        A sequence of Period objects. These are required to all have
        the same ``freq.`` Missing values can be indicated by ``None``
        or ``pandas.NaT``.
    freq : str, Tick, or Offset
        The frequency of every element of the array. This can be specified
        to avoid inferring the `freq` from `data`.
    copy : bool, default False
        Whether to ensure a copy of the data is made.
 
    Returns
    -------
    PeriodArray
 
    See Also
    --------
    PeriodArray
    pandas.PeriodIndex
 
    Examples
    --------
    >>> period_array([pd.Period('2017', freq='Y'),
    ...               pd.Period('2018', freq='Y')])
    <PeriodArray>
    ['2017', '2018']
    Length: 2, dtype: period[Y-DEC]
 
    >>> period_array([pd.Period('2017', freq='Y'),
    ...               pd.Period('2018', freq='Y'),
    ...               pd.NaT])
    <PeriodArray>
    ['2017', '2018', 'NaT']
    Length: 3, dtype: period[Y-DEC]
 
    Integers that look like years are handled
 
    >>> period_array([2000, 2001, 2002], freq='D')
    <PeriodArray>
    ['2000-01-01', '2001-01-01', '2002-01-01']
    Length: 3, dtype: period[D]
 
    Datetime-like strings may also be passed
 
    >>> period_array(['2000-Q1', '2000-Q2', '2000-Q3', '2000-Q4'], freq='Q')
    <PeriodArray>
    ['2000Q1', '2000Q2', '2000Q3', '2000Q4']
    Length: 4, dtype: period[Q-DEC]
    rFNr rNrz9PeriodIndex does not allow floating point in constructionÚiuFrr)rr rrBr©rXr,rcrzrŽr•rÍÚtupler/rrFÚkindrìr‹rr€r›Ú from_ordinalsr)rœr¡)    r§rcrƒÚ
data_dtypeÚoutÚarrdatarFÚarrr s             rMÚ period_arrayrdsh€ôt˜˜w¨Ó-€Jä
‡z 3Ô'Ü×+Ñ+¨D°$Ó7Ð7ܐ*œkÔ*ܘ$ÓˆØ Ð Øz—‘Ò&ؐ
Ø—:‘:˜dÓ#Ð #؈
ô dœRŸZ™Z¬¬u´iÐ@Ô AܐD‹zˆäj‰j˜Ó€Gñ ܘDÓ!‰àˆà‡}}×јSÒ ¤S¨£\°AÒ%5ÜÐSÓTÐTà‡}}×јTÑ!؏n‰nœRŸX™X¨EˆnÓ2ˆô×*Ñ*¨3°Ó5ˆÜ˜8¨5Ô1Ð1ä ˜Ó !€DØ €|Ü×%Ñ% dÓ+ˆÜ ˜Ó €EÜ × %Ñ % d°%Ð %Ó 8Ð8rOcó—yrEr´rÇs  rMr‡r‡ió€àrOcó—yrEr´rÇs  rMr‡r‡nrfrOcóȗ| t|d¬«}|Pt|«}t|t«s t    d«‚|€|j
}|S||j
k7r t d«‚|S)at
    If both a dtype and a freq are available, ensure they match.  If only
    dtype is available, extract the implied freq.
 
    Parameters
    ----------
    dtype : dtype
    freq : DateOffset or None
 
    Returns
    -------
    freq : DateOffset
 
    Raises
    ------
    ValueError : non-period dtype
    IncompatibleFrequency : mismatch between dtype and freq
    T©Ú    is_periodzdtype must be PeriodDtypez&specified freq and dtype are different)rr*rXr,rˆrcr"rÇs  rMr‡r‡ssr€ð* Ðܘ¨Ô.ˆà ÐܘUÓ#ˆÜ˜%¤Ô-ÜÐ8Ó9Ð 9Ø ˆ<Ø—:‘:ˆDð
€Kð    U—Z‘ZÒ Ü'Ð(PÓQÐ Qð €KrOcóX—t|jtj«r|jjdk7rt    d|j›«‚|€\t|t
«r|j |j}}nUt|t«rE|j |jj}}n"t|t
tf«r |j }t|j«}tj|«}|j}t|jd«|||¬«|fS)aî
    Convert an datetime-like array to values Period ordinals.
 
    Parameters
    ----------
    data : Union[Series[datetime64[ns]], DatetimeIndex, ndarray[datetime64ns]]
    freq : Optional[Union[str, Tick]]
        Must match the `freq` on the `data` if `data` is a DatetimeIndex
        or Series.
    tz : Optional[tzinfo]
 
    Returns
    -------
    ordinals : ndarray[int64]
    freq : Tick
        The frequency extracted from the Series or DatetimeIndex if that's
        used.
 
    r z Wrong dtype: r”)Úreso)rXrFrŽr^rˆr-r‰rcr/Údtrr#r­rèÚc_dt64arr_to_periodarrr)r§rcr¨rlrJs     rMrr˜sـô, d—j‘j¤"§(¡(Ô +¨t¯z©z¯©À#Ò/Eܘ=¨¯©¨ Ð5Ó6Ð6à €|Ü dœHÔ %ØŸ™ t§y¡y$‰DÜ ˜œiÔ (ØŸ™ t§w¡w§|¡|$‰Dä    Dœ8¤YÐ/Ô    0؏|‰|ˆä ˜tŸz™zÓ *€DÜ × %Ñ % dÓ +€DØ × "Ñ "€DÜ ! $§)¡)¨D£/°4¸À$Ô GÈÐ MÐMrOcó˜—tj|||«dk7r td«‚|t|d¬«}|j}| t ||«}| t ||«}t |t
«}t |t
«}|r&|r$|j|jk7r td«‚|tus|tur td«‚|€5|r |j}n|r |j}n td«‚|j}|‘||z}|€Htj|j|z
|z|jdz|tj¬    «}||fStj|j|j|z|tj¬    «}||fStj|j|jdz|tj¬    «}||fS)
NézOOf the three parameters: start, end, and periods, exactly two must be specifiedTriz!start and end must have same freqzstart and end must not be NaTz#Could not infer freq from start/endrßr) ÚcomÚcount_not_nonerˆrr¦r#rXrcrrŽÚaranger»r€)r¯r°rŸrcÚmultÚ is_start_perÚ
is_end_perr§s        rMr®r®Às¥€Ü
×ј%  gÓ.°!Ò3Üð ,ó
ð    
ð
 Ðܘ¨Ô.ˆØv‰vˆà Ðܐu˜dÓ#ˆØ
€ÜS˜$Óˆä˜e¤VÓ,€LܘC¤Ó(€Já™
 u§z¡z°S·X±XÒ'=ÜÐ<Ó=Ð=Ø ”|sœc‘zÜÐ8Ó9Ð9à €|Ù Ø—:‘:‰DÙ Ø—8‘8‰DäÐBÓCÐ C؏v‰vˆàÐØ˜D‘.ˆØ ˆ=Ü—9‘9Ø— ‘ ˜gÑ%¨Ñ,¨c¯k©k¸A©o¸tÌ2Ï8É8ôˆD𠐈:Ðô —9‘9Ø— ‘ ˜uŸ}™}¨wÑ6¸ÄBÇHÁHôˆD𠐈:Ðôy‰y˜Ÿ™¨¯ © °a©¸ÄRÇXÁXÔNˆà ˆ:ÐrOcó4—|€d}|€d}|€d}|€d}g}|ì|€(tdd¬«}tjj}    nJt|d¬«}t    j
|«}    |    tjjk7r t d«‚|j}
t||«\}}t||«D]M\} } tj| | |
«\} }t    j| |dddddd|    «    }|j|«ŒOnrt|d¬«}t    j
|«}    t||||||«}t|ŽD]5\} }}}}}|jt    j| |||||dd|    «    «Œ7tj|tj ¬«|fS)NrrßÚQTrizbase must equal FR_QTRr)rrÚFR_QTRr½r›Úfreq_to_dtype_codeÚAssertionErrorrÉÚ_make_field_arraysÚziprÚquarter_to_myearÚperiod_ordinalÚappendrŽrr€)rerfrrrgrhrirjrcr rJrÉÚyÚqÚ calendar_yearÚcalendar_monthÚvalÚarraysÚmthÚdÚhÚmnÚss                      rMrµrµñsª€ð €|ØˆØ €~ØˆØ €~؈Ø
€{؈à€HàÐØ ˆ<ܘS¨DÔ1ˆDÜ×#Ñ#×)Ñ)‰Dä˜T¨TÔ2ˆDÜ×/Ñ/°Ó5ˆDØ”y×'Ñ'×-Ñ-Ò-Ü$Ð%=Ó>Ð>à—,‘,ˆÜ*¨4°Ó9‰ ˆˆgܘ˜gÓ&ò    !‰DˆAˆqÜ,3×,DÑ,DÀQÈÈ7Ó,SÑ )ˆM˜>Ü×*Ñ*ؘ~¨q°!°Q¸¸1¸aÀóˆCð O‰O˜CÕ  ñ     !ô˜¨Ô.ˆÜ×+Ñ+¨DÓ1ˆÜ# D¨%°°d¸FÀFÓKˆÜ#&¨ <ò    WÑ ˆAˆsAq˜"˜aØ O‰OœI×4Ñ4°Q¸¸QÀÀ2ÀqÈ!ÈQÐPTÓUÕ Vð    Wô 8‰8H¤B§H¡HÔ -¨tÐ 3Ð3rOc    óx—d}|D]Q}t|ttjtf«sŒ)|t |«|k7r t d«‚|ŒGt |«}ŒS|Dcgc]R}t|tjttf«rtj|«ntj||«‘ŒTc}Scc}w)NzMismatched Period array lengths)    rXrÍrŽr•r/rìrˆrÚrepeat)r¶ÚlengthrYs   rMr|r|"s¬€Ø €FØ ò ˆÜ aœ$¤§
¡
¬IÐ6Õ 7ØÐ!¤c¨!£f°Ò&6Ü Ð!BÓCÐC؉~ܘQ›‘ð  ðö     ð ô aœ"Ÿ*™*¤d¬IÐ6Ô 7ô     
‰
1Œ ä Y‰Yq˜&Ó !ñ    "ò ðùò sÁAB7rE)rLrrSz
str | None)rCr")NF)r§z,Sequence[Period | str | None] | AnyArrayLikerczstr | Tick | BaseOffset | NonerƒrËrCrB)rcr?rCr?)rcztimedelta | str | NonerCr)rcz1BaseOffsetT | BaseOffset | timedelta | str | NonerCr?)rCz(tuple[npt.NDArray[np.int64], BaseOffset])rß)rtÚint)NNNNNNNN)rCztuple[np.ndarray, BaseOffset])rCzlist[np.ndarray])hÚ
__future__rÚdatetimerr)Útypingrrrrr    r
r r„ÚnumpyrŽÚ pandas._libsr rêr Úpandas._libs.arraysrÚpandas._libs.tslibsrrrrrrrrnrrrrr›rÚpandas._libs.tslibs.dtypesrrrÚpandas._libs.tslibs.fieldsrÚpandas._libs.tslibs.offsetsrr Úpandas._libs.tslibs.periodr!r"r#r$r%Úpandas.util._decoratorsr&r'Úpandas.util._exceptionsr(Úpandas.core.dtypes.commonr)r*Úpandas.core.dtypes.dtypesr+r,Úpandas.core.dtypes.genericr-r.r/r0Úpandas.core.dtypes.missingr1rär2r«Úpandas.core.commonÚcoreÚcommonrqÚcollections.abcr3Úpandas._typingr4r5r6r7r8r9r:r;r<r=Úpandas.core.arrays.baser>r?rTrTÚ DatelikeOpsÚ PeriodMixinrBrŒrdr‡r®rµr|r´rOrMú<module>r©s®ðÝ"åÛ÷÷ñóã÷õ.÷ ÷ ÷ ó ÷ñõ
6÷÷õ÷õ5÷÷÷óõ ,å2ߠРáÝ(÷    ÷    ó    ÷õ7ñm¨:Ô6€ ð ˆ]ðÐô
ôf ,#—/‘/ 9×#8Ñ#8ôf ,óR&ðL,0Øð`9Ø
6ð`9à
(ð`9ð ð`9ðó    `9ðF
òó
ðð
òó
ðð"ØBð"àó"ðLð%Nà-ó%NôP.ðd
Ø Ø Ø     Ø Ø Ø     ð.4ð#ó.4ôbrO