




from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_tf_available,
    is_tokenizers_available,
    is_torch_available,
)


UpperCamelCase__						=		{
    'configuration_openai': ['OPENAI_GPT_PRETRAINED_CONFIG_ARCHIVE_MAP', 'OpenAIGPTConfig'],
    'tokenization_openai': ['OpenAIGPTTokenizer'],
}

try:
							if not is_tokenizers_available():
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							pass
else:
							UpperCamelCase__						=		['OpenAIGPTTokenizerFast']

try:
							if not is_torch_available():
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							pass
else:
							UpperCamelCase__						=		[
							    'OPENAI_GPT_PRETRAINED_MODEL_ARCHIVE_LIST',
							    'OpenAIGPTDoubleHeadsModel',
							    'OpenAIGPTForSequenceClassification',
							    'OpenAIGPTLMHeadModel',
							    'OpenAIGPTModel',
							    'OpenAIGPTPreTrainedModel',
							    'load_tf_weights_in_openai_gpt',
							]

try:
							if not is_tf_available():
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							pass
else:
							UpperCamelCase__						=		[
							    'TF_OPENAI_GPT_PRETRAINED_MODEL_ARCHIVE_LIST',
							    'TFOpenAIGPTDoubleHeadsModel',
							    'TFOpenAIGPTForSequenceClassification',
							    'TFOpenAIGPTLMHeadModel',
							    'TFOpenAIGPTMainLayer',
							    'TFOpenAIGPTModel',
							    'TFOpenAIGPTPreTrainedModel',
							]


if TYPE_CHECKING:
							from .configuration_openai import OPENAI_GPT_PRETRAINED_CONFIG_ARCHIVE_MAP, OpenAIGPTConfig
							from .tokenization_openai import OpenAIGPTTokenizer

							try:
														if not is_tokenizers_available():
																					raise OptionalDependencyNotAvailable()
							except OptionalDependencyNotAvailable:
														pass
							else:
														from .tokenization_openai_fast import OpenAIGPTTokenizerFast

							try:
														if not is_torch_available():
																					raise OptionalDependencyNotAvailable()
							except OptionalDependencyNotAvailable:
														pass
							else:
														from .modeling_openai import (
														    OPENAI_GPT_PRETRAINED_MODEL_ARCHIVE_LIST,
														    OpenAIGPTDoubleHeadsModel,
														    OpenAIGPTForSequenceClassification,
														    OpenAIGPTLMHeadModel,
														    OpenAIGPTModel,
														    OpenAIGPTPreTrainedModel,
														    load_tf_weights_in_openai_gpt,
														)

							try:
														if not is_tf_available():
																					raise OptionalDependencyNotAvailable()
							except OptionalDependencyNotAvailable:
														pass
							else:
														from .modeling_tf_openai import (
														    TF_OPENAI_GPT_PRETRAINED_MODEL_ARCHIVE_LIST,
														    TFOpenAIGPTDoubleHeadsModel,
														    TFOpenAIGPTForSequenceClassification,
														    TFOpenAIGPTLMHeadModel,
														    TFOpenAIGPTMainLayer,
														    TFOpenAIGPTModel,
														    TFOpenAIGPTPreTrainedModel,
														)

else:
							import sys

							UpperCamelCase__						=		_LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)






import requests

try:
							from django.contrib.auth import authenticate, login
							from django.shortcuts import redirect, render
except ImportError:
							UpperCamelCase__						=		UpperCamelCase__						=		UpperCamelCase__						=		UpperCamelCase__						=		print






def    snake_case   (				A     )				->				List[str]:




	'''simple docstring'''


	lowerCamelCase_				:						Optional[int]				  =				'secretKey'
	lowerCamelCase_				:						str				  =				'https://www.google.com/recaptcha/api/siteverify'

	# when method is not POST, direct user to login page
	if request.method != "POST":
		return render(A		,  'login.html'     )

	# from the frontend, get username, password, and client_key
	lowerCamelCase_				:						int				  =				request.POST.get('username'     )
	lowerCamelCase_				:						str				  =				request.POST.get('password'     )
	lowerCamelCase_				:						List[Any]				  =				request.POST.get('g-recaptcha-response'     )

	# post recaptcha response to Google's recaptcha api
	lowerCamelCase_				:						Union[str, Any]				  =				requests.post(A		,  data={'secret': secret_key, 'response': client_key}     )
	# if the recaptcha api verified our keys
	if response.json().get('success'		,  A     ):
		# authenticate the user
		lowerCamelCase_				:						int				  =				authenticate(A		,  username=A		,  password=A     )
		if user_in_database:
			login(A		,  A     )
			return redirect('/your-webpage'     )
	return render(A		,  'login.html'     )
