£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyÊ¦•êŽ…È®FÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~èŠ©ÊÇí`ÔÑ©úë™µ'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶ê×Ó¼ãžªéUWŸÈË%DÒÕ¬ï‘]/Åcx  ‰ï2ß]ä6G[]S£ÔÏ¯rs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ                  ¯¹ægƒÛowÐø^d™ý½ßB7áyMä9ÜÖUã
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<html>
U
    .e                     @   sZ   d dl mZmZmZ zd dlmZ W n  ek
rD   d dlmZ Y nX G dd deZdS )    )absolute_importdivisionunicode_literals)Mappingc                       s:   e Zd ZdZd fdd	Zdd Zdd Zd	d
 Z  ZS )TriezAbstract base class for triesNc                    s0   t t|  } d krt|S  fdd|D S )Nc                    s   h | ]}|  r|qS  )
startswith).0xprefixr   D/usr/lib/python3.8/site-packages/pip/_vendor/html5lib/_trie/_base.py	<setcomp>   s     
 zTrie.keys.<locals>.<setcomp>)superr   keysset)selfr   r   	__class__r   r   r      s    z	Trie.keysc                 C   s"   |   D ]}||r dS qdS )NTF)r   r   )r   r   keyr   r   r   has_keys_with_prefix   s    
zTrie.has_keys_with_prefixc                 C   sT   || kr|S t dt|d D ](}|d |  | kr|d |    S qt|d S )N   )rangelenKeyError)r   r   ir   r   r   longest_prefix   s    zTrie.longest_prefixc                 C   s   |  |}|| | fS )N)r   )r   r   Zlprefixr   r   r   longest_prefix_item&   s    
zTrie.longest_prefix_item)N)	__name__
__module____qualname____doc__r   r   r   r   __classcell__r   r   r   r   r   	   s
   	
r   N)	Z
__future__r   r   r   Zcollections.abcr   ImportErrorcollectionsr   r   r   r   r   <module>   s
   