+
     BiL                        ^ RI HtHt ^ RIHt ^ RIHt ^ RIt^ RIt^ RI	t	^t
^tR t]! R. R$O4      tR]n        R]P                  n        R	]P                   n        R
]P"                  n        R]P$                  n         ! R R]4      t ! R R]R7      t ! R R]4      t ! R R]4      t ! R R]4      t]! ]R4      '       d    ! R R]4      t]! ]R4      '       d&   ]P4                  ( t]P8                  ( t ! R R]4      t]! ]R4      '       d    ! R R]4      t]! ]R 4      '       d    ! R! R"]4      t R# t!]!! R 4      '       d   ] t"R# ]!! R4      '       d   ]t"R# ]!! R4      '       d   ]t"R# ]!! R4      '       d   ]t"R# ]t"R# )%    )ABCMetaabstractmethod)
namedtuple)MappingNc                    \        V \        4      '       d   T pM \        V P                  4       4      pV^ 8  d   \        RP                  V4      4      hV#   \        \        \
        3 d    \        R P                  T 4      4      Rhi ; i)zInvalid file object: {!r}NzInvalid file descriptor: {})
isinstanceintfilenoAttributeError	TypeError
ValueErrorformat)fileobjfds   &  /usr/lib/python3.14/selectors.py_fileobj_to_fdr      s     '3	?W^^%&B 
Av6==bABBI 	:6 	? $$*F7O5:>?	?s   A 2B	SelectorKeyzSelectorKey(fileobj, fd, events, data)

    Object used to associate a file object to its backing
    file descriptor, selected event mask, and attached data.
zFile object registered.zUnderlying file descriptor.z3Events that must be waited for on this file object.zvOptional opaque data associated to this file object.
For example, this could be used to store a per-client session ID.c                   B   a  ] tR t^<t o R tR tRR ltR tR tRt	V t
R# )	_SelectorMappingc                    Wn         R # N	_selector)selfselectors   &&r   __init___SelectorMapping.__init__?   s    !    c                @    \        V P                  P                  4      # r   )lenr   
_fd_to_keyr   s   &r   __len___SelectorMapping.__len__B   s    4>>,,--r   Nc                    V P                   P                  V4      pV P                   P                  P                  W24      # r   )r   _fileobj_lookupr!   get)r   r   defaultr   s   &&& r   r'   _SelectorMapping.getE   s1    ^^++G4~~((,,R99r   c                    V P                   P                  V4      pV P                   P                  P                  V4      pVf   \	        RP                  V4      4      hV# )N{!r} is not registered)r   r&   r!   r'   KeyErrorr   )r   r   r   keys   &&  r   __getitem___SelectorMapping.__getitem__I   sQ    ^^++G4nn''++B/;3::7CDD
r   c                @    \        V P                  P                  4      # r   )iterr   r!   r"   s   &r   __iter___SelectorMapping.__iter__P   s    DNN--..r   r   r   )__name__
__module____qualname____firstlineno__r   r#   r'   r.   r2   __static_attributes____classdictcell____classdict__s   @r   r   r   <   s#     ".:/ /r   r   c                      a  ] tR t^Tt o ]RR l4       t]R 4       tRR lt]RR l4       tR t	R t
]R 4       tR	 tR
 tRtV tR# )BaseSelectorNc                    \         hr   NotImplementedErrorr   r   eventsdatas   &&&&r   registerBaseSelector.registerc   s
    * "!r   c                    \         hr   r?   )r   r   s   &&r   
unregisterBaseSelector.unregisterz   
    " "!r   c                H    V P                  V4       V P                  WV4      # r   )rG   rD   rA   s   &&&&r   modifyBaseSelector.modify   s!     	 }}Wd33r   c                    \         hr   r?   )r   timeouts   &&r   selectBaseSelector.select   rI   r   c                    R # r    r"   s   &r   closeBaseSelector.close   s    
 	r   c                    V P                  4       pVf   \        R4      h W!,          #   \         d    \        RP                  T4      4      R hi ; i)NzSelector is closedr+   )get_mapRuntimeErrorr,   r   )r   r   mappings   && r   get_keyBaseSelector.get_key   sY     ,,.?344	O## 	O3::7CD$N	Os	   ) 'Ac                    \         hr   r?   r"   s   &r   rV   BaseSelector.get_map   s
     "!r   c                    V # r   rR   r"   s   &r   	__enter__BaseSelector.__enter__   s    r   c                &    V P                  4        R # r   )rS   )r   argss   &*r   __exit__BaseSelector.__exit__   s    

r   rR   r   )r4   r5   r6   r7   r   rD   rG   rK   rO   rS   rY   rV   r^   rb   r8   r9   r:   s   @r   r=   r=   T   st      " ", " "$4" " "$O " " r   r=   )	metaclassc                   R   a  ] tR t^t o R tR tR
R ltR tR
R ltR t	R t
R	tV tR# )_BaseSelectorImplc                4    / V n         \        V 4      V n        R # r   )r!   r   _mapr"   s   &r   r   _BaseSelectorImpl.__init__   s    $T*	r   c                     \        V4      #   \         dD    T P                  P                  4        F#  pTP                  TJ g   K  TP
                  u u # 	  h i ; ir   )r   r   r!   valuesr   r   r   r   r-   s   && r   r&   !_BaseSelectorImpl._fileobj_lookup   sR    	!'** 	--/;;')66M 0 	s   
 5AAANc                l   V'       d    V\         \        ,          ( ,          '       d   \        R P                  V4      4      h\	        WP                  V4      W#4      pVP                  V P                  9   d%   \        RP                  WP                  4      4      hW@P                  VP                  &   V# )zInvalid events: {!r}z"{!r} (FD {}) is already registered)	
EVENT_READEVENT_WRITEr   r   r   r&   r   r!   r,   r   r   rB   rC   r-   s   &&&& r   rD   _BaseSelectorImpl.register   s    FzK'?%@@@3::6BCC'#7#7#@&O66T__$?"F7FF35 5 #&
r   c                     V P                   P                  V P                  V4      4      pV#   \         d    \        R P	                  T4      4      Rhi ; i)r+   N)r!   popr&   r,   r   rl   s   && r   rG   _BaseSelectorImpl.unregister   sZ    	O//%%d&:&:7&CDC 
  	O3::7CD$N	Os	   *. 'Ac                ~    V P                   V P                  V4      ,          pY$P                  8w  d&   T P                  T4       T P                  YT4      pT# Y4P                  8w  d+   TP                  TR7      pY@P                   TP                  &   T#   \         d    \        R P                  T4      4      Rhi ; i)r+   N)rC   )
r!   r&   r,   r   rB   rG   rD   rC   _replacer   rq   s   &&&& r   rK   _BaseSelectorImpl.modify  s    	O//$"6"6w"?@C ZZOOG$--6C
 
	 XX,,D,)C&)OOCFF#
  	O3::7CD$N	Os   "B 'B<c                H    V P                   P                  4        R V n        R # r   )r!   clearrh   r"   s   &r   rS   _BaseSelectorImpl.close  s    	r   c                    V P                   # r   )rh   r"   s   &r   rV   _BaseSelectorImpl.get_map  s    yyr   )r!   rh   r   )r4   r5   r6   r7   r   r&   rD   rG   rK   rS   rV   r8   r9   r:   s   @r   rf   rf      s-     +& r   rf   c                      a a ] tR tRt oV 3R ltR	V 3R lltV 3R lt]P                  R8X  d   R	R lt	M]
P                  t	R	R lt
RtVtV ;t# )
SelectSelectori  c                `   < \         SV `  4        \        4       V n        \        4       V n        R # r   )superr   set_readers_writersr   	__class__s   &r   r   SelectSelector.__init__  s     r   c                  < \         SV `  WV4      pV\        ,          '       d&   V P                  P	                  VP
                  4       V\        ,          '       d&   V P                  P	                  VP
                  4       V# r   )r   rD   ro   r   addr   rp   r   )r   r   rB   rC   r-   r   s   &&&& r   rD   SelectSelector.register!  s[    gw5JMMcff%KMMcff%
r   c                   < \         SV `  V4      pV P                  P                  VP                  4       V P
                  P                  VP                  4       V# r   )r   rG   r   discardr   r   r   r   r-   r   s   && r   rG   SelectSelector.unregister)  sC    g )cff%cff%
r   win32c                L    \         P                   ! WW$4      w  rpWV,           . 3# r   )rO   )r   rw_rN   xs   &&&&& r   _selectSelectSelector._select0  s$    mmA!5GA!!eR<r   c                   Vf   R M\        V^ 4      p. p V P                  V P                  V P                  . V4      w  r4p\        T4      p\        T4      pY4,          pT P                  P                  pT Fa  pT! T4      p	T	'       g   K  Y9   ;'       d    \        Y9   ;'       d    \        ,          p
TP                  YT	P                  ,          34       Kc  	  T#   \         d    Tu # i ; ir   )maxr   r   r   InterruptedError	frozensetr!   r'   ro   rp   appendrB   )r   rN   readyr   r   r   rwfd_to_key_getr   r-   rB   s   &&         r   rO   SelectSelector.select6  s    !/$s7A	ll4==$--WMGA! aLaLU++B#Cs711zW446cCJJ#678     	L	s   +C C.-C.)r   r   r   )r4   r5   r6   r7   r   rD   rG   sysplatformr   rO   r8   r9   __classcell__r   r;   s   @@r   r   r     s<     
 ||w	  -- r   r   c                   t   a a ] tR tRt oRtRtRtV 3R ltR	V 3R lltV 3R lt	R	V 3R llt
R	R ltRtVtV ;t# )
_PollLikeSelectoriJ  Nc                N   < \         SV `  4        V P                  4       V n        R # r   )r   r   _selector_clsr   r   s   &r   r   _PollLikeSelector.__init__P  s    ++-r   c                .  < \         SV `  WV4      pV\        ,          ;'       d    V P                  V\        ,          ;'       d    V P
                  ,          p V P                  P                  VP                  V4       V#    \         ST `!  T4       h ; ir   )	r   rD   ro   _EVENT_READrp   _EVENT_WRITEr   r   rG   )r   r   rB   rC   r-   poller_eventsr   s   &&&&  r   rD   _PollLikeSelector.registerT  s    gw5 :-BB$2B2B"[0FFT5F5FH	NN##CFFM: 
	Gw's   &B Bc                   < \         SV `  V4      p V P                  P                  VP                  4       V#   \         d     T# i ; ir   )r   rG   r   r   OSErrorr   s   && r   rG   _PollLikeSelector.unregister_  sO    g )	NN%%cff-
 
	  	 
		s   %9 AAc                B  <  V P                   V P                  V4      ,          pRpY$P                  8w  dq   T\        ,          ;'       d    T P
                  T\        ,          ;'       d    T P                  ,          p T P                  P                  TP                  T4       RpY4P                  8w  d   RpT'       d+   TP                  Y#R7      pY@P                   TP                  &   T#   \         d    \        T: R 24      Rhi ; i   \        ST `1  T4       h ; i)z is not registeredNFT)rB   rC   )r!   r&   r,   rB   ro   r   rp   r   r   rK   r   r   rG   rC   rw   )r   r   rB   rC   r-   changedselector_eventsr   s   &&&&   r   rK   _PollLikeSelector.modifyi  s    	G//$"6"6w"?@C ZZ & 3 H H8H8H"(;"6"L"L4;L;L NO%%cffo> G88G,,f,8C&)OOCFF#
'  	Gg[(:;<$F	G"7+s   "C- ?&D -D	Dc                   Vf   R pM'V^ 8:  d   ^ pM\         P                  ! VR,          4      p. p V P                  P                  V4      pT P
                  P                  pT F  w  rVT! T4      pT'       g   K  Y`P                  ( ,          ;'       d    \        Y`P                  ( ,          ;'       d    \        ,          pTP                  YxTP                  ,          34       K  	  T#   \         d    Tu # i ; i)N     @@)mathceilr   pollr   r!   r'   r   rp   r   ro   r   rB   )	r   rN   r   fd_event_listr   r   eventr-   rB   s	   &&       r   rO   _PollLikeSelector.select  s     ?G\G ii#.G	 NN//8M ++&IB#Cs $4$4#44DD#'8'8&88GGZIcCJJ#678 '    	L	s   C, ,C<;C<r   r   )r4   r5   r6   r7   r   r   r   r   rD   rG   rK   rO   r8   r9   r   r   s   @@r   r   r   J  s2     MKL.	0 r   r   r   c                   ^    ] tR tRt]P
                  t]P                  t]P                  t
RtR# )PollSelectori  rR   N)r4   r5   r6   r7   rO   r   r   POLLINr   POLLOUTr   r8   rR   r   r   r   r     s    mm~~r   r   epollc                      a a ] tR tRt o]P
                  t]P                  t]P                  t
R tRR ltV 3R ltRtVtV ;t# )EpollSelectori  c                6    V P                   P                  4       # r   r   r
   r"   s   &r   r
   EpollSelector.fileno      >>((**r   c                0   Vf   RpM.V^ 8:  d   ^ pM$\         P                  ! VR,          4      R,          p\        V P                  4      ;'       g    ^p. p V P                  P                  W4      pT P                  pT F~  w  rgTP                  T4      pT'       g   K   T\        ,          ;'       d    \        T\        ,          ;'       d    \        ,          p	TP                  YTP                  ,          34       K  	  T#   \         d    Tu # i ; i)Nr   gMbP?)r   r   r    r!   r   r   r   r'   _NOT_EPOLLINrp   _NOT_EPOLLOUTro   r   rB   )
r   rN   max_evr   r   	fd_to_keyr   r   r-   rB   s
   &&        r   rO   EpollSelector.select  s    A ))GcM2T9
 )..QFE $ 3 3G D I*	mmB'3$|3CC!&!6!E!E:GFLL#

':!;< + L $ s   D DDc                X   < V P                   P                  4        \        SV `  4        R # r   r   rS   r   r   s   &r   rS   EpollSelector.close      NN  "GMOr   rR   r   )r4   r5   r6   r7   rO   r   r   EPOLLINr   EPOLLOUTr   r
   rS   r8   r9   r   r   s   @@r   r   r     s4     nn	+	<	 	r   r   devpollc                      a a ] tR tRt o]P
                  t]P                  t]P                  t
R tV 3R ltRtVtV ;t# )DevpollSelectori  c                6    V P                   P                  4       # r   r   r"   s   &r   r
   DevpollSelector.fileno  r   r   c                X   < V P                   P                  4        \        SV `  4        R # r   r   r   s   &r   rS   DevpollSelector.close  r   r   rR   )r4   r5   r6   r7   rO   r   r   r   r   r   r   r
   rS   r8   r9   r   r   s   @@r   r   r     s/     mm~~	+	 	r   r   kqueuec                   j   a a ] tR tRt oV 3R ltR tR	V 3R lltV 3R ltR	R ltV 3R lt	Rt
VtV ;t# )
KqueueSelectori  c                f   < \         SV `  4        \        P                  ! 4       V n        ^ V n        R# )r   N)r   r   rO   r   r   _max_eventsr   s   &r   r   KqueueSelector.__init__  s#    G#]]_DN Dr   c                6    V P                   P                  4       # r   r   r"   s   &r   r
   KqueueSelector.fileno  r   r   c                t  < \         SV `  WV4      p V\        ,          '       dv   \        P                  ! VP
                  \        P                  \        P                  4      pV P                  P                  V.^ ^ 4       V ;P                  ^,          un
        V\        ,          '       dv   \        P                  ! VP
                  \        P                  \        P                  4      pV P                  P                  V.^ ^ 4       V ;P                  ^,          un
        V#    \         ST `5  T4       h ; i)r   )r   rD   ro   rO   keventr   KQ_FILTER_READ	KQ_EV_ADDr   controlr   rp   KQ_FILTER_WRITErG   )r   r   rB   rC   r-   kevr   s   &&&&  r   rD   KqueueSelector.register  s    '"7D9CJ&& --0E0E(.(8(8:CNN**C5!Q7$$)$K'' --0F0F(.(8(8:CNN**C5!Q7$$)$ J"7+s   BD% .A5D% %D7c                  < \         SV `  V4      pVP                  \        ,          '       dw   \        P
                  ! VP                  \        P                  \        P                  4      pV ;P                  ^,          un	         V P                  P                  V.^ ^ 4       VP                  \        ,          '       dy   \        P
                  ! VP                  \        P                  \        P                  4      pV ;P                  ^,          un	         V P                  P                  V.^ ^ 4       V# V#   \         d     Li ; i  \         d     T# i ; i)   )r   rG   rB   ro   rO   r   r   r   KQ_EV_DELETEr   r   r   r   rp   r   )r   r   r-   r   r   s   &&  r   rG   KqueueSelector.unregister  s   '$W-CzzJ&&mmCFFF,A,A$*$7$79  A% NN**C5!Q7
 zzK''mmCFFF,B,B$*$7$79  A% NN**C5!Q7 J3J     Js$   D; E ;E	E	EEc                    Vf   R M\        V^ 4      pV P                  ;'       g    ^p. p V P                  P                  R W!4      pT P
                  P                  pT F  pTP                  pTP                  pT! T4      p	T	'       g   K-  T\        P                  8H  ;'       d    \        T\        P                  8H  ;'       d    \        ,          p
TP                  YT	P                  ,          34       K  	  T#   \         d    Tu # i ; ir   )r   r   r   r   r   r!   r'   identfilterrO   r   ro   r   rp   r   rB   )r   rN   r   r   kev_listr   r   r   flagr-   rB   s   &&         r   rO   KqueueSelector.select  s    %od3w?G %%**FE>>11$H !OO//MYYzz#B'3#v'<'<<KK!%)?)?!?!O!OKQFLL#

':!;<   L $ s   C= =DDc                X   < V P                   P                  4        \        SV `  4        R # r   r   r   s   &r   rS   KqueueSelector.close3  r   r   )r   r   r   )r4   r5   r6   r7   r   r
   rD   rG   rO   rS   r8   r9   r   r   s   @@r   r   r     s(     	!
	+	$	.	.	 	r   r   c                     \        \        V R 4      pVf   R#  V! 4       pV R8X  d   VP                  ^ 4       R# VP                  4        R#   \         d     R# i ; i)NFr   T)getattrrO   r   rS   r   )methodr   selector_objs   &  r   _can_user   8  se     vvt,H
zVa     s   A A AA)r   r   rB   rC   )#abcr   r   collectionsr   collections.abcr   r   rO   r   ro   rp   r   r   __doc__r   r   rB   rC   r   r=   rf   r   r   hasattrr   r   r   r   r   r   r   r   r   DefaultSelectorrR   r   r   <module>r     s   ( " #   
 
2 (KL 
 8   6 R   E   /w /0{W {|C CN.& .bO) Od 66&( & 67NN?L__$M)) )X 69+  68M* M`4 H$Og#Oi%Of"O$Or   