+
    Tj;                     T   ^ RI t^ RIt^ RIt^ RIHt ^ RIHtHt ^ RI	H
t
 ^ RIHt ^ RIHt ^ RIHt  ! R R	]4      t ! R
 R]4      t ! R R]4      t ! R R]4      t ! R R4      t ! R R]4      t ! R R]4      t ! R R]P6                  P8                  4      t ! R R4      tR# )    N)ceil)iscoroutinefunctionsync_to_async)RemovedInDjango70Warning)cached_property)method_has_no_args)gettext_lazyc                       ] tR t^tRtR# )UnorderedObjectListWarning N__name__
__module____qualname____firstlineno____static_attributes__r       J/var/www/idalgo/venv/lib/python3.14/site-packages/django/core/paginator.pyr   r          r   r   c                       ] tR t^tRtR# )InvalidPager   Nr   r   r   r   r   r      r   r   r   c                       ] tR t^tRtR# )PageNotAnIntegerr   Nr   r   r   r   r   r      r   r   r   c                       ] tR t^tRtR# )	EmptyPager   Nr   r   r   r   r   r      r   r   r   c                      a  ] tR t^t o ]! R4      tR]! R4      R]! R4      R]! R4      /tRR	 ltR
 tRR lt	R t
R tRtV tR# )BasePaginatoru   …invalid_pagez"That page number is not an integermin_pagezThat page number is less than 1
no_resultszThat page contains no resultsNc                F   Wn         V P                  4        \        V4      V n        \        V4      V n        W@n        Vf   V P                  MV P                  V,          V n        V P                  V P                  8:  d"   Rp\        P                  ! V\        ^R7       R # R # )NzSupport for the orphans argument being larger than or equal to the per_page argument is deprecated. This will raise a ValueError in Django 7.0.)category
stacklevel)object_list_check_object_list_is_orderedintper_pageorphansallow_empty_first_pagedefault_error_messageserror_messageswarningswarnr   )selfr$   r'   r(   r)   r+   msgs   &&&&&& r   __init__BasePaginator.__init__(   s     '**,H7|&<# % '',,~= 	
 ==DLL( 
 MM#(@QO )r   c                   \        V P                  RR4      pVe   V'       g   \        V P                  R4      '       dE   RP                  V P                  P                  V P                  P
                  P                  4      MRP                  V P                  4      p\        P                  ! RP                  V4      \        ^R7       R# R# R# )z?
Warn if self.object_list is unordered (typically a QuerySet).
orderedNmodelz{} {}z{!r}zLPagination may yield inconsistent results with an unordered object_list: {}.)r#   )
getattrr$   hasattrformatr4   	__class__r   r,   r-   r   )r.   r3   obj_list_reprs   &  r   r%   +BasePaginator._check_object_list_is_orderedH   s     $**It<w
 4++W55 $$**D,<,<,F,F,O,O ]]4#3#34  MM##)6-#8*	 (/r   c              #    "   W$V,           ^,          8:  d   V F  pVx  K	  	  R# V^V,           V,           ^,           8  dR   \        ^V^,           4       F  pVx  K	  	  V P                  x  \        W,
          V^,           4       F  pVx  K	  	  M\        ^V^,           4       F  pVx  K	  	  WV,
          V,
          ^,
          8  dg   \        V^,           W,           ^,           4       F  pVx  K	  	  V P                  x  \        W%,
          ^,           V^,           4       F  pVx  K	  	  R# \        V^,           V^,           4       F  pVx  K	  	  R# 5i)uc  
Return a 1-based range of pages with some values elided.

If the page range is larger than a given size, the whole range is not
provided and a compact form is returned instead, e.g. for a paginator
with 50 pages, if page 43 were the current page, the output, with the
default arguments, would be:

    1, 2, …, 40, 41, 42, 43, 44, 45, 46, …, 49, 50.
N)rangeELLIPSIS)r.   number	num_pages
page_rangeon_each_sideon_endspages   &&&&&& r   _get_elided_page_range$BasePaginator._get_elided_page_range\   s%     /144"
 #Q%/144a1-
 .--f3VaZ@
 A a!,
 - -71<<fqj&*?!*CD
 E--i1A5y1}E
 F fqj)a-8
 9s   EEc                    \        V/ VB # )z
Return an instance of a single page.

This hook can be used by subclasses to use an alternative to the
standard :cls:`Page` object.
)Pager.   argskwargss   &*,r   	_get_pageBasePaginator._get_page   s     T$V$$r   c                n    \        V\        4      '       d   VP                  4       '       g   \        h\	        V4      pT^8  d   \        T P                  R,          4      hY8  d   \        T P                  R,          4      hT#   \
        \        3 d    \        T P                  R,          4      hi ; i)z'Validate the given 1-based page number.r   r   r    )	
isinstancefloat
is_integer
ValueErrorr&   	TypeErrorr   r+   r   r.   r>   r?   s   &&&r   _validate_numberBasePaginator._validate_number   s    	H&%((1B1B1D1D  [F A:D//
;<<D//=>> :& 	H"4#6#6~#FGG	Hs   +B B .B4)r)   r+   r$   r(   r'   r   TN)      )r   r   r   r   _r=   r*   r0   r%   rD   rK   rT   r   __classdictcell____classdict__s   @r   r   r      sZ      xH>?A78a78P@($L% r   r   c                   ~   a  ] tR t^t o R tR tR tR t]R 4       t	]R 4       t
]R 4       tRR^R	^/R
 lltRtV tR# )	Paginatorc              #  Z   "   V P                    F  pV P                  V4      x  K  	  R # 5iN)r@   rC   )r.   page_numbers   & r   __iter__Paginator.__iter__   s"     ??K))K(( +s   )+c                8    V P                  WP                  4      # r`   )rT   r?   r.   r>   s   &&r   validate_numberPaginator.validate_number   s    $$V^^<<r   c                     V P                  V4      pV P	                  V4      #   \         d    ^p L \         d    T P                  p L8i ; i)zR
Return a valid page, even if the page argument isn't a number or isn't
in range.
)rf   r   r   r?   rC   re   s   &&r   get_pagePaginator.get_page   sO    
	$))&1F
 yy  	   	F 	$^^F	$s   $ AAAAc                   V P                  V4      pV^,
          V P                  ,          pW P                  ,           pW0P                  ,           V P                  8  d   V P                  pV P	                  V P
                  W# W4      # )z7Return a Page object for the given 1-based page number.)rf   r'   r(   countrK   r$   )r.   r>   bottomtops   &&  r   rC   Paginator.page   sh    %%f-1*-}}$+**C~~d..v:FIIr   c                    \        V P                  RR4      p\        V4      '       d5   \        P                  ! V4      '       g   \        V4      '       d   V! 4       # \        V P                  4      # )z5Return the total number of objects, across all pages.rl   N)r5   r$   callableinspect	isbuiltinr   len)r.   cs   & r   rl   Paginator.count   sT     D$$gt4A;;w00338J18M8M3J4##$$r   c                    V P                   ^ 8X  d   V P                  '       g   ^ # \        ^V P                   V P                  ,
          4      p\	        WP
                  ,          4      # )z!Return the total number of pages.)rl   r)   maxr(   r   r'   )r.   hitss   & r   r?   Paginator.num_pages   sH     ::?4#>#>#>1djj4<</0D==())r   c                <    \        ^V P                  ^,           4      # )zS
Return a 1-based range of pages for iterating through within
a template for loop.
)r<   r?   r.   s   &r   r@   Paginator.page_range   s     Q*++r   rA   rB   c             #     "   V P                  V4      pV P                  WP                  V P                  W#4       R j  xL
  R #  L5ir`   )rf   rD   r?   r@   )r.   r>   rA   rB   s   &&$$r   get_elided_page_rangePaginator.get_elided_page_range   s<     %%f-..NNDOO\
 	
 	
s   <AAAr   N   )r   r   r   r   rb   rf   ri   rC   r   rl   r?   propertyr@   r   r   rZ   r[   s   @r   r^   r^      sn     )=!J % % * * , ,
a 
 
 
r   r^   c                   |   a a ] tR t^t oRV 3R lltR tR tR tR tR t	R t
R tR	 tRR
^R^/R lltRtVtV ;t# )AsyncPaginatorc                F   < \         SV `  WW4V4       R V n        R V n        R # r`   )superr0   _cache_acount_cache_anum_pages)r.   r$   r'   r(   r)   r+   r8   s   &&&&&&r   r0   AsyncPaginator.__init__   s+     	7N	
 "!%r   c                  "   V P                  4       G R j  xL
 pV F  pV P                  V4      G R j  xL
 5x  K!  	  R #  L+ L5ir`   )apage_rangeapage)r.   r@   ra   s   &  r   	__aiter__AsyncPaginator.__aiter__   s:     ++--
%K

;/// & ./s   AAAAAAc                `   "   V P                  4       G R j  xL
 pV P                  W4      #  L5ir`   )
anum_pagesrT   rS   s   && r   avalidate_numberAsyncPaginator.avalidate_number   s*     //++	$$V77 ,s   .,.c                   "    V P                  V4      G Rj  xL
 pV P	                  V4      G Rj  xL
 #  L  \         d    ^p L*\         d    T P                  4       G Rj  xL 
 p LOi ; i L>5i)zSee Paginator.get_page().N)r   r   r   r   r   re   s   &&r   	aget_pageAsyncPaginator.aget_page   sg     	-0088F
 ZZ''' 9 	F 	-??,,,F	-'sY   A28 68 A2A0A28 A-A2A-A-$A'%A-*A2,A--A2c                :  "   V P                  V4      G Rj  xL
 pV^,
          V P                  ,          pW P                  ,           pV P                  4       G Rj  xL
 pW0P                  ,           V8  d   TpV P	                  V P
                  W# W4      #  L L=5i)zSee Paginator.page().N)r   r'   acountr(   rK   r$   )r.   r>   rm   rn   rl   s   &&   r   r   AsyncPaginator.apage   s~     ,,V441*-}}$kkm#&C~~d..v:FII 5 $s"   BBABB<BBc                    \        V/ VB # r`   )	AsyncPagerH   s   &*,r   rK   AsyncPaginator._get_page  s    $)&))r   c                F  "   V P                   e   V P                   # \        V P                  RR4      p\        V4      '       d>   \        P
                  ! V4      '       g"   \        V4      '       d   V! 4       G Rj  xL
 pM\        V P                  4      pW n         V#  L"5i)zSee Paginator.count().Nr   )r   r5   r$   r   rr   rs   r   rt   )r.   ru   rl   s   &  r   r   AsyncPaginator.acount  s     )%%%D$$h5""%%a(("1%%#IE(()E" s   AB!!B!<B=#B!c                H  "   V P                   e   V P                   # V P                  4       G Rj  xL
 pV^ 8X  d&   V P                  '       g   ^ V n         V P                   # \        ^WP                  ,
          4      p\        W P                  ,          4      pW0n         V#  Lo5i)zSee Paginator.num_pages().N)r   r   r)   rx   r(   r   r'   )r.   rl   ry   r?   s   &   r   r   AsyncPaginator.anum_pages  s     !!-)))kkm#A:d999%&D")))1ell*+-.	!* $s   .B"B B"AB"c                d   "   V P                  4       G Rj  xL
 p\        ^V^,           4      #  L5i)zSee Paginator.page_range()N)r   r<   r.   r?   s   & r   r   AsyncPaginator.apage_range&  s*     //++	Q	A&& ,s   0.0rA   rB   c                 "   V P                  V4      G R j  xL
 pV P                  4       G R j  xL
 pV P                  4       G R j  xL
 pV P                  WWRV4       F  pV5x  K
  	  R #  LU L? L)5ir`   )r   r   r   rD   )r.   r>   rA   rB   r?   r@   rC   s   &&$$   r   aget_elided_page_range%AsyncPaginator.aget_elided_page_range+  sf     ,,V44//++	++--
//z
D J
 5+-s1   A3A-A3A/A3A1&A3/A31A3)r   r   rV   r   )r   r   r   r   r0   r   r   r   r   rK   r   r   r   r   r   rZ   __classcell__)r8   r\   s   @@r   r   r      sL     &0
8(	J*"'
Q PQ  r   r   c                   b   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tR tRtV tR# )rG   i5  c                *    Wn         W n        W0n        R # r`   r$   r>   	paginatorr.   r$   r>   r   s   &&&&r   r0   Page.__init__6      &"r   c                T    R V P                   : RV P                  P                  : R2# )z<Page z of >r>   r   r?   r|   s   &r   __repr__Page.__repr__;  s    $(KK1I1IJJr   c                ,    \        V P                  4      # r`   )rt   r$   r|   s   &r   __len__Page.__len__>  s    4##$$r   c                   \        V\        \        34      '       g&   \        R \	        V4      P
                  ,          4      h\        V P                  \        4      '       g   \        V P                  4      V n        V P                  V,          # )z0Page indices must be integers or slices, not %s.rN   r&   slicerR   typer   r$   listr.   indexs   &&r   __getitem__Page.__getitem__A  sn    %#u..Bu+&&'  $**D11#D$4$45D&&r   c                H    V P                   V P                  P                  8  # r`   r   r|   s   &r   has_nextPage.has_nextM  s    {{T^^5555r   c                     V P                   ^8  # r   r>   r|   s   &r   has_previousPage.has_previousP  s    {{Qr   c                R    V P                  4       ;'       g    V P                  4       # r`   )r   r   r|   s   &r   has_other_pagesPage.has_other_pagesS  s      "55dmmo5r   c                Z    V P                   P                  V P                  ^,           4      # r   r   rf   r>   r|   s   &r   next_page_numberPage.next_page_numberV      ~~--dkkAo>>r   c                Z    V P                   P                  V P                  ^,
          4      # r   r   r|   s   &r   previous_page_numberPage.previous_page_numberY  r   r   c                    V P                   P                  ^ 8X  d   ^ # V P                   P                  V P                  ^,
          ,          ^,           # )zh
Return the 1-based index of the first object on this page,
relative to total objects in the paginator.
)r   rl   r'   r>   r|   s   &r   start_indexPage.start_index\  s;     >>1$''4;;?;q@@r   c                    V P                   V P                  P                  8X  d   V P                  P                  # V P                   V P                  P                  ,          # )zc
Return the 1-based index of the last object on this page,
relative to total objects found (hits).
)r>   r   r?   rl   r'   r|   s   &r   	end_indexPage.end_indexf  sC     ;;$..222>>'''{{T^^4444r   r>   r$   r   N)r   r   r   r   r0   r   r   r   r   r   r   r   r   r   r   r   rZ   r[   s   @r   rG   rG   5  sC     #
K%
'66??A5 5r   rG   c                   t   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tR tR tR tR tRtV tR# )r   iq  c                *    Wn         W n        W0n        R # r`   r   r   s   &&&&r   r0   AsyncPage.__init__r  r   r   c                (    R V P                   ,          # )z<Async Page %s>r   r|   s   &r   r   AsyncPage.__repr__w  s     4;;..r   c                  "   \        V P                  R 4      '       d   V P                    Rj  xL
  pV5x  K  V P                   F  pV5x  K
  	  R#  L&D'R# 5i)r   N)r6   r$   r.   objs   & r   r   AsyncPage.__aiter__z  sO     4##[11!--  c	''	 (-s%   )AAAA#AAAc                    \        V P                  \        4      '       g   \        R 4      h\	        V P                  4      # )zBAsyncPage.aget_object_list() must be awaited before calling len().)rN   r$   r   rR   rt   r|   s   &r   r   AsyncPage.__len__  s8    $**D11T  4##$$r   c                    \        V P                  \        4      '       g   \        R 4      h\	        V P                  4      # )zGAsyncPage.aget_object_list() must be awaited before calling reversed().)rN   r$   r   rR   reversedr|   s   &r   __reversed__AsyncPage.__reversed__  s:    $**D11= 
 (())r   c                    \        V\        \        34      '       g&   \        R \	        V4      P
                  ,          4      h\        V P                  \        4      '       g   \        R4      hV P                  V,          # )z5AsyncPage indices must be integers or slices, not %s.zCAsyncPage.aget_object_list() must be awaited before using indexing.r   r   s   &&r   r   AsyncPage.__getitem__  sm    %#u..Gu+&&' 
 $**D11U  &&r   c                h  "   \        V P                  \        4      '       ge   \        V P                  R4      '       d   V P                   Uu. u Rj  xL
 qNK  \	        \        4      ! V P                  4      G Rj  xL
 V n        V P                  #  L?D@Mu upi upT n        T P                  #  L25i)z
Returns self.object_list as a list.

This method must be awaited before AsyncPage can be
treated as a sequence of self.object_list.
r   N)rN   r$   r   r6   r   r   s   & r   aget_object_listAsyncPage.aget_object_list  s      $**D11t''559=9I9I#J#J#C)6t)<T=M=M)N#N  $K#J   $OsH   AB2BBB
BB"B2=B0>B2BBB2c                p   "   V P                   P                  4       G R j  xL
 pV P                  V8  #  L5ir`   )r   r   r>   r   s   & r   	ahas_nextAsyncPage.ahas_next  s.     ..3355	{{Y&& 6s   646c                (   "   V P                   ^8  # 5ir   r   r|   s   &r   ahas_previousAsyncPage.ahas_previous  s     {{Qs   c                   "   V P                  4       G R j  xL
 pV P                  4       G R j  xL
 pT;'       g    T#  L( L5ir`   )r   r   )r.   r   r   s   &  r   ahas_other_pagesAsyncPage.ahas_other_pages  s;     !//11))''x' 2)s#   A?AAAAAc                v   "   V P                   P                  V P                  ^,           4      G Rj  xL
 #  L5ir   Nr   r   r>   r|   s   &r   anext_page_numberAsyncPage.anext_page_number  (     ^^44T[[1_EEEE   0979c                v   "   V P                   P                  V P                  ^,
          4      G Rj  xL
 #  L5ir   r   r|   s   &r   aprevious_page_numberAsyncPage.aprevious_page_number  r   r   c                   "   V P                   P                  4       G Rj  xL
 pV^ 8X  d   ^ # V P                   P                  V P                  ^,
          ,          ^,           #  LB5i)zSee Page.start_index().N)r   r   r'   r>   )r.   rl   s   & r   astart_indexAsyncPage.astart_index  sK     nn++--A:''4;;?;q@@ .s   A%A#AA%c                
  "   V P                   P                  4       G Rj  xL
 pV P                  V8X  d#   V P                   P                  4       G Rj  xL
 # V P                  V P                   P                  ,          #  L^ L-5i)zSee Page.end_index().N)r   r   r>   r   r'   r   s   & r   
aend_indexAsyncPage.aend_index  s]     ..3355	;;)#..000{{T^^4444 60s!   BA?2BB,BBr   N)r   r   r   r   r0   r   r   r   r   r   r   r   r   r   r   r   r  r  r   rZ   r[   s   @r   r   r   q  sS     #
/%*' '(
FFA5 5r   r   )collections.abccollectionsrr   r,   mathr   asgiref.syncr   r   django.utils.deprecationr   django.utils.functionalr   django.utils.inspectr   django.utils.translationr	   rY   RuntimeWarningr   	Exceptionr   r   r   r   r^   r   abcSequencerG   r   r   r   r   <module>r     s        ; = 3 3 6	 		) 		{ 		 	y yx:
 :
z[] [|95;??## 95xZ5 Z5r   