�
�S�gY � � � d Z ddlZddlZddlZddlZddlZddlmZ ddlmZ ddlm Z ddlm
Z
ddlmZ ddlmZ dd lm
Z
dd
lmZ ddlmZ ddlmZ dd
lmZ ddlZddlmZ ddlmZ ddlZddlmZ ddlmZ ej: e� Z edd�� Z G d� dejB � Z" G d� dejB � Z# G d� de"� Z$ G d� de"� Z% G d� de#� Z& G d� de%ejN � � Z(e#jR G d!� d"e&� � Z*e"jR G d#� d$e(� � Z+e#jR G d%� d&e&� � Z,e"jR G d'� d(e(� � Z-e#jR G d)� d*e&� � Z.e"jR G d+� d,e(� � Z/e"jR G d-� d.e%� � Z0e#jR G d/� d0e#� � Z1y)1z&ACME Identifier Validation Challenges.� N)�Any)�cast)�Dict)�Mapping)�Optional)�Tuple)�Type)�TypeVar)�Union)�x509)�hashes)�crypto)�SSL)�crypto_util)�errors�GenericChallenge� Challenge)�boundc �t � � e Zd ZU dZi Zeeed f ed< |