�
�xkd�e � � � d dl mZmZ d dlZd dlZd dlZd dlZd dlZd dl Z d dl
Z
d dlmZm
Z
mZmZmZmZmZmZmZmZ d dlZddlmZmZ ddlmZ ed� � Zg d�Zd ed
edefd�Z d
ee dee fd�Z! G d� de"� � Z# G d� de"� � Z$dedefd�Z% G d� d� � Z& G d� d� � Z'ee'e&f Z( G d� de)� � Z* G d� de)� � Z+ G d� de)� � Z,e-dk r� ej. � � e+� � Z/e/D ]'Z0 ej1 d e0� � � z � � �( e d!d"� � Z2 ej1 d#e2z � � ej1 e d$d"� � � � ej1 e d!d%� � � � dS dS )&� )�absolute_import�print_functionN)
�Any�Dict�Callable�Iterable�Iterator�List�Optional�Tuple�TypeVar�Union� )�DistInfo�Template)�_deb822�T)� is_mirror�Deb822SourceEntry�SourceEntry�NullMatcher�SourcesList�SourceEntryMatcher�
master_uri�compare_uri�returnc �P � |� d� � }| � d� � } || k rdS |� d� � d }| � d� � d }n# t $ r Y dS w xY wd|v r&||� d� � dz d� |k rdS dS )z�check if the given add_url is idential or a mirror of orig_uri e.g.:
master_uri = archive.ubuntu.com
compare_uri = de.archive.ubuntu.com
-> True
z/ Tz//r F�.N)�rstrip�split�
IndexError�index)r r �compare_srv�
master_srvs �8/usr/lib/python3/dist-packages/aptsources/sourceslist.pyr r D s� � � �$�$�T�*�*�K��"�"�4�(�(�J��j� � ��t��!�'�'��-�-�a�0���%�%�d�+�+�A�.�
�
��� � � ��u�u����� �k���k�+�*;�*;�C�*@�*@�1�*D�*F�*F�G�:�U�U��t��5s �6A+ �+
A9�8A9�sc �: � t t | � � � � S )a- simple and efficient way to return uniq collection
This is not intended for use with a SourceList. It is provided
for internal use only. It does not have a leading underscore to
not break any old code that uses it; but it should not be used
in new code (and is not listed in __all__).)�list�set)r& |