<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>

Š¹¼]£  ã               @   s§   d  d l  Z  d  d l Z d  d l Z d g Z Gd d „  d ƒ Z d d „  Z y d  d l Z Wn e k
 rv d Z Yn- Xe j	 e ƒ  j
 ƒ e  j d d „  ƒ d	 Z d S)
é    NÚ	Completerc               @   sO   e  Z d  Z d d d „ Z d d „  Z d d „  Z d d	 „  Z d
 d „  Z d S)r   Nc             C   sP   | r" t  | t ƒ r" t d ƒ ‚ | d  k r: d |  _ n d |  _ | |  _ d  S)Nznamespace must be a dictionaryé   r   )Ú
isinstanceÚdictÚ	TypeErrorÚuse_main_nsÚ	namespace)Úselfr   © r
   ú0/opt/alt/python35/lib64/python3.5/rlcompleter.pyÚ__init__'   s    	zCompleter.__init__c             C   sÄ   |  j  r t j |  _ | j ƒ  sY | d k rU t rN t j d ƒ t j ƒ  d Sd Sn d  S| d k r˜ d | k r† |  j	 | ƒ |  _
 n |  j | ƒ |  _
 y |  j
 | SWn t k
 r¿ d  SYn Xd  S)Nr   ú	Ú Ú.)r   Ú__main__Ú__dict__r   ÚstripÚ_readline_availableÚreadlineZinsert_textZ	redisplayÚattr_matchesÚmatchesÚglobal_matchesÚ
IndexError)r	   ÚtextÚstater
   r
   r   ÚcompleteB   s$    	
zCompleter.completec             C   s   t  | ƒ r | d } | S)Nú()Úcallable)r	   ÚvalÚwordr
   r
   r   Ú_callable_postfixa   s    
zCompleter._callable_postfixc       	      C   sñ   d d  l  } g  } d h } t | ƒ } xA | j D]6 } | d  | … | k r1 | j | ƒ | j | ƒ q1 Wx |  j t j g D]k } xb | j ƒ  D]T \ } } | d  | … | k r‘ | | k r‘ | j | ƒ | j |  j	 | | ƒ ƒ q‘ Wq~ W| S)Nr   Ú__builtins__)
ÚkeywordÚlenÚkwlistÚaddÚappendr   Úbuiltinsr   Úitemsr    )	r	   r   r"   r   ÚseenÚnr   Znspacer   r
   r
   r   r   f   s    	"!zCompleter.global_matchesc             C   s[  d d  l  } | j d | ƒ } | s( g  S| j d d ƒ \ } } y t | |  j ƒ } Wn t k
 rn g  SYn Xt t | ƒ ƒ } | j d ƒ t	 | d ƒ rÀ | j
 d ƒ | j t | j ƒ ƒ g  } t | ƒ }	 xx | D]p }
 |
 d  |	 … | k rÙ y t | |
 ƒ } Wn t k
 rwÙ Yn X|  j | d | |
 f ƒ }
 | j |
 ƒ qÙ W| j ƒ  | S)Nr   z(\w+(\.\w+)*)\.(\w*)r   é   r!   Ú	__class__z%s.%s)ÚreÚmatchÚgroupÚevalr   Ú	ExceptionÚsetÚdirÚdiscardÚhasattrr%   ÚupdateÚget_class_membersr,   r#   Úgetattrr    r&   Úsort)r	   r   r-   ÚmÚexprÚattrZ
thisobjectZwordsr   r*   r   r   r
   r
   r   r   |   s4    	
zCompleter.attr_matches)Ú__name__Ú
__module__Ú__qualname__r   r   r    r   r   r
   r
   r
   r   r   &   s
   c             C   sC   t  |  ƒ } t |  d ƒ r? x! |  j D] } | t | ƒ } q% W| S)NÚ	__bases__)r3   r5   r@   r7   )ÚklassÚretÚbaser
   r
   r   r7   ¦   s
    r7   Fc               C   s   t  j d  ƒ S)N)r   Úset_completerr
   r
   r
   r   Ú<lambda>¶   s    rE   T)Úatexitr'   r   Ú__all__r   r7   r   ÚImportErrorr   rD   r   Úregisterr
   r
   r
   r   Ú<module>    s   	€