7Reο c @ sf d d l m Z m Z m Z d d l m Z d d l m Z d d l m Z
Gd d d e
Z d S( i ( u absolute_importu divisionu unicode_literals( u text_type( u bisect_lefti ( u Triec B sk | Ee Z d Z d d Z d d Z d d Z d d Z d d
Z d d d Z d
d Z
d S( u Triec C sn t d d | j D s. t d n | | _ t | j | _ d | _ d t | f | _ d S( Nc s s | ] } t | t Vq d S( N( u
isinstanceu text_type( u .0u x( ( u5 /tmp/pip-zej_zi-build/pip/_vendor/html5lib/trie/py.pyu s u Trie.__init__..u All keys must be stringsu i ( u allu keysu TypeErroru _datau sortedu _keysu _cachestru lenu _cachepoints( u selfu data( ( u5 /tmp/pip-zej_zi-build/pip/_vendor/html5lib/trie/py.pyu __init__
s u
Trie.__init__c C s
| | j k S( N( u _data( u selfu key( ( u5 /tmp/pip-zej_zi-build/pip/_vendor/html5lib/trie/py.pyu __contains__ s u Trie.__contains__c C s
t | j S( N( u lenu _data( u self( ( u5 /tmp/pip-zej_zi-build/pip/_vendor/html5lib/trie/py.pyu __len__ s u Trie.__len__c C s
t | j S( N( u iteru _data( u self( ( u5 /tmp/pip-zej_zi-build/pip/_vendor/html5lib/trie/py.pyu __iter__ s u
Trie.__iter__c C s | j | S( N( u _data( u selfu key( ( u5 /tmp/pip-zej_zi-build/pip/_vendor/html5lib/trie/py.pyu __getitem__ s u Trie.__getitem__c C sώ | d k s" | d k s" | j r/ t | j S| j | j ro | j \ } } t | j | | | } } n t | j | } } t } | t | j k r§ | Sx8 | j | j | rα | j | j | | d 7} qͺ W| | _ | | f | _ | S( Nu i ( u Noneu _keysu setu
startswithu _cachestru _cachepointsu bisect_leftu lenu add( u selfu prefixu lou hiu startu iu keys( ( u5 /tmp/pip-zej_zi-build/pip/_vendor/html5lib/trie/py.pyu keys s "
u Trie.keysc C s | | j k r d S| j | j rO | j \ } } t | j | | | } n t | j | } | t | j k rz d S| j | j | S( NTF( u _datau Trueu
startswithu _cachestru _cachepointsu bisect_leftu _keysu lenu False( u selfu prefixu lou hiu i( ( u5 /tmp/pip-zej_zi-build/pip/_vendor/html5lib/trie/py.pyu has_keys_with_prefix6 s u Trie.has_keys_with_prefixN( u __name__u
__module__u __qualname__u __init__u __contains__u __len__u __iter__u __getitem__u Noneu keysu has_keys_with_prefix( u
__locals__( ( u5 /tmp/pip-zej_zi-build/pip/_vendor/html5lib/trie/py.pyu Trie s u TrieN( u
__future__u absolute_importu divisionu unicode_literalsu pip._vendor.sixu text_typeu bisectu bisect_leftu _baseu Trieu ABCTrie( ( ( u5 /tmp/pip-zej_zi-build/pip/_vendor/html5lib/trie/py.pyu s