o
    7Di:                     @   s  d Z ddlmZ i ddddddd	d
dddddddddddddddddddddd d!d"d#d$i d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFi dGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhi didjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~ddddddddddddi ddddddddddddddddddddddddddddddddddi ddddddddddddddddddddddddēddƓddȓddʓdd̓ddΓi ddГddғddԓdd֓ddؓddړddܓddޓddddddddddddddddddi dddddddddddddddd ddddddddd	d
ddddddddi dddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4i d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVi dWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxi dydzd{d|d}d~ddddddddddddddddddddddddddddi ddddddddddddddddddddddddddddddddddi dddddddÐdēdŐdƓdǐdȓdɐdʓdːd̓d͐dΓdϐdГdѐdғdӐdԓdՐd֓dאdؓdِdړdېdܓdݐdޓdߐddddZi ddddddd	dddddddddddddddddddddd!dd#dd%di d'dd)dd+dd-dd/dd1dd3dd5dd7dd9dd;dd=d d?ddAddCddEddIdi dKddMddOddQddSd	dUd
dWddYdd[dd]dd_ddaddcddeddgddiddkdi dmddoddqddsdduddwddydd{dd}ddddddd dd!dd"dd#dd$dd%i dd&dd'dd(dd)dd*dd+dd,dd-dd.dd/dd0dd1dd2dd3dd4dd5dd6i dd7dd8dd9dd:dd;dd<dddd=dd>dÐd?dŐd@dǐdAdɐdBdːdCd͐dDdϐdEdѐdFi dӐdGdՐdHdאdIdِdJdېdKdݐdLdߐdMddNddOddPddQddRddSddTddUddVddWi ddXddYddZdd[dd\dd]dd^dd_dd`ddad	dbdd ddcdddddeddfddgi ddhddiddjddkddld!dmd#dnd%dod'dpd)dqd+drd-dsd/dtd1dud3dvd5dwd7dxi d9dyd;dzd=dd?d{dAd|dCd}dEd~dGddIddKddMddOddQddSddUddWddYdi d[dd]dd_ddaddcddeddgddiddkddmddodwdqddsdOduddwddydd{di d}dddddddddddddddddddddddddddddddddi ddddddddddddddddddddddddddddddddddi dÐddŐddǐddɐddːdd͐ddϐddѐddӐddՐddאddِddېddݐdÓdĐdœdƐdǓdȐdɓdʐdiZh ḍZh dͣZh dΣZdefdАdфZ	edefdӐdԄZ
edՐd֐dלdededefdڐdۄZedܐd֐dݜdededefdߐdZdS (  zCountry.    )	validatorABWAWAFGAFAGOAOAIAAIALBALANDADANTANAREAEARGARARMAMASMASATAAQATFTFATGAGAUSAUAUTATAZEAZBDIBIBELBEBENBJBFABFBGDBDBGRBGBHRBHBHSBSBIHBABLRBYBLZBZBMUBMBOLBOBRABRBRBBBBRNBNBTNBTBVTBVBWABWCAFCFCANCACCKCCCHECHCHLCLCHNCNCMRCMCODCDCOGCGCOKCKCOLCOCOMKMCPVCVCRICRCUBCUCXRCXCYMKYCYPCYCZECZDEUDEDJIDJDMADMDNKDKDOMDODZADZECUECEGYEGERIERESHEHESPESESTEEETHETFINFIFJIFJFLKFKFRAFRFROFOFSMFMGABGAGBRGBGEOGEGGYGGGHAGHGIBGIGINGNGLPGPGMBGMGNBGWGNQGQGRCGRGRDGDGRLGLGTMGTGUFGFGUMGUGUYGYHKGHKHMDHMHNDHNHRVHRHTIHTHUNHUIDNIDIMNIMINDINIOTIOIRLIEIRNIRIRQIQISLISISRILITAITJAMJMJEYJEJORJOJPNJPKAZKZKENKEKGZKGKHMKHKIRKIKNAKNKORKRKWTKWLAOLALBNLBLBRLRLBYLYLCALCLIELILKALKLSOLSLTULTLUXLULVALVMACMOMARMAMCOMCMDAMDMDGMGMDVMVMEXMXMHLMHMKDMKMLIMLMLTMTMMRMMMNEMEMNGMNMNPMPMOZMZMRTMRMSRMSMTQMQMUSMUMWIMWMYSMYMYTYTNAMNANCLNCNERNENFKNFNGANGNICNINIUNUNLDNLNORNONPLNPNRUNRNZLNZOMNOMPAKPKPANPAPCNPNPERPEPHLPHPLWPWPNGPGPOLPLPRIPRPRKKPPRTPTPRYPYPSEPSPYFPFQATQAREUREROURORUSRURWARWSAUSASDNSDSENSNSGPSGSGSGSSHNSHSJMSJSLBSBSLESLSLVSVSMRSMSOMSOSPMPMSRBRSSTPSTSURSRSVKSKSVNSISWESESWZSZSYCSCSYRSYTCATCTCDTDTGOTGTHATHTJKTJTKLTKTKMTMTLSTLTONTOTTOTTTUNTNTURTRTUVTVTWNTWTZATZUGAUGUKRUAUMIUMURYUYUSAUSUZBUZVATVAVCTVCVENVEVGBVGVIRVIVNMVNVUTVUWLFWFWSMWSYEZAZMZW)YEMZAFZMBZWEz+297z+93z+244z+1-264z+355z+376z+599z+971z+54z+374z+1-684z+672z+1-268z+61z+43z+994z+257z+32z+229z+226z+880z+359z+973z+1-242z+387z+375z+501z+1-441z+591z+55z+1-246z+673z+975z+267z+236z+1z+41z+56z+86z+237z+243z+242z+682z+57z+269z+238z+506z+53z+1-345z+357z+420z+49z+253z+1-767z+45z+1-809z+213z+593z+20z+291z+212z+34z+372z+251z+358z+679z+500z+33z+298z+691z+241z+44z+995z+44-1481z+233z+350z+224z+590z+220z+245z+240z+30z+1-473z+299z+502z+594z+1-671z+592z+852z+504z+385z+509z+36z+62z+44-1624z+91z+246z+353z+98z+964z+354z+972z+39z+1-876z+44-1534z+962z+81z+7z+254z+996z+855z+686z+1-869z+82z+965z+856z+961z+231z+218z+1-758z+423z+94z+266z+370z+352z+371z+853z+377z+373z+261z+960z+52z+692z+389z+223z+356z+95z+382z+976z+1-670z+258z+222z+1-664z+596z+230z+265z+60z+262z+264z+687z+227z+234z+505z+683z+31z+47z+977z+674z+64z+968z+92z+507z+51z+63z+680z+675z+48z+1-787z+850z+351z+595z+970z+689z+974z+40z+250z+966z+249z+221z+65z+290z+677z+232z+503z+378z+252z+508z+381z+239z+597z+421z+386z+46z+268z+248z+963z+1-649z+235z+228z+66z+992z+690z+993z+670z+676z+1-868z+216z+90z+688z+886z+255z+256z+380z+598z+998z+379z+1-784z+58z+1-284z+1-340z+84z+678z+681z+685r  z+967r  z+27r  z+260r  z+263>   004008010012016020024028031032036040044048050051052056060064068070072074076084086090092096100104108112116120124132136140144148152156158162166170174175178180184188191192196203204208212214218222226231232233234238239242246248250254258260262266268270275276288292296300304308312316320324328332334340344348352356360364368372376380384388392398400404408410414417418422426428430434438440442446450454458462466470474478480484492496498499500504508512516520524528531533534535540548554558562566570574578580581583584585586591598600604608612616620624626630634638642643646652654659660662663666670674678682686688690694702703704705706710716724728729732740744748752756760762764768772776780784788792795796798800804807818826831832833834840850854858860862876882887894>   AEDAFNALLAMDANGAOAARSAUDAWGAZNBAMBBDBDTBGNBHDBIFBMDBNDBOBBOVBRLBSDrE   BWPBYNBZDCADCDFrQ   CHFCHWCKDCLFCLPCNYCOPCRCCUCCUPCVECZKDJFDKKDOPDZDEGPERNETBEURFJDFKPGBPGELGHSGIPGMDGNFGTQGYDHKDHNLHRKHTGHUFIDRIEPILSINRIQDIRRISKJMDJODJPYKESKGSKHRKIDKMFKPWKRWKWDKYDKZTLAKLBPLKRLRDLSLLYDMADMDLMGAr  MMKMNTMOPMRUMURMVRMWKMXNMYRMZNNADNGNNIONOKNPRNZDOMRPABPENPGKPHPPKRPLNPYGQARRONRSDRUBRWFSARSBDSCRSDGSEKSGDSHPSLLSOSSRDSSPSTNSVCSYPSZLTHBTJSTMTTNDTOPTRYTTDTWDTZSUAHUGXUSDUYUUZSVEDVESVNDVUVWSTXAFXCDXDRXOFXPFYERZARZMWZWL>*      ƒ   ֏   ؋   ૱   ௹   ฿   ៛   ₡   ₣   ₦   ₩   ₪   ₫   €   ₭   ₮   ₱   ₲   ₴   ₵   ₸   ₹   ₺   ₼   ₽   ₾   ₿   元   円   圆   圓   ꠸   ﷼   रू   රු   ⃀৳Rs   ¢   £   ¤   ¥$format_typec                 C   s8   |   rdS |  rt| dkrdS t| dkrdS dS )z!Returns the type of country code.numeric   alpha2   alpha3invalid)	isdecimalisalphalen)r   r  K/var/www/Datamplify/venv/lib/python3.10/site-packages/validators/country.py_get_code_type   s   r  valuec                C   s   | sdS | t t v S )a  Validates given calling code.

    This performs country's calling code validation.

    Examples:
        >>> calling_code('+91')
        True
        >>> calling_code('-31')
        ValidationError(func=calling_code, args={'value': '-31'})

    Args:
        value:
            Country's calling code string to validate.

    Returns:
        (Literal[True]): If `value` is a valid calling code.
        (ValidationError): If `value` is an invalid calling code.
    F)set_calling_codesvalues)r  r  r  r  calling_code   s   r  autoF)
iso_formatignore_caser  r  c               C   s   | sdS dt |   k rdk sdS  dS |dkr"t|  }dkr"dS |dkr:|r2|  tt v S | tt v S |dkrJ|rF|  tv S | tv S |dkrR| tv S dS )	a#  Validates given country code.

    This performs a case-sensitive [ISO 3166][1] country code validation.

    [1]: https://www.iso.org/iso-3166-country-codes.html

    Examples:
        >>> country_code('GB', iso_format='alpha3')
        ValidationError(func=country_code, args={'value': 'GB', 'iso_format': 'alpha3'})
        >>> country_code('USA')
        True
        >>> country_code('840', iso_format='numeric')
        True
        >>> country_code('iN', iso_format='alpha2')
        ValidationError(func=country_code, args={'value': 'iN', 'iso_format': 'alpha2'})
        >>> country_code('ZWE', iso_format='alpha3')
        True

    Args:
        value:
            Country code string to validate.
        iso_format:
            ISO format to be used. Available options are:
            `auto`, `alpha2`, `alpha3` and `numeric`.
        ignore_case:
            Enable/Disable case-sensitive matching.

    Returns:
        (Literal[True]): If `value` is a valid country code.
        (ValidationError): If `value` is an invalid country code.
    F      r  r  r  r  r  )r  r  upperr  _alpha3_to_alpha2r  _numeric)r  r  r  r  r  r  country_code
  s"   !r  T)skip_symbolsr  r  c               C   s@   | sdS |s| t v rdS t| dkrdS |r|  tv S | tv S )a  Validates given currency code.

    This performs [ISO 4217][1] currency code/symbol validation.

    [1]: https://www.iso.org/iso-4217-currency-codes.html

    Examples:
        >>> currency('USD')
        True
        >>> currency('ZWX')
        ValidationError(func=currency, args={'value': 'ZWX'})

    Args:
        value:
            Currency code/symbol string to validate.
        skip_symbols:
            Skip currency symbol validation.
        ignore_case:
            Enable/Disable case-sensitive matching.

    Returns:
        (Literal[True]): If `value` is a valid currency code.
        (ValidationError): If `value` is an invalid currency code.
    FTr  )_currency_symbolsr  r  _currency_iso4217)r  r  r  r  r  r  currency@  s   r  N)__doc__validators.utilsr   r  r  r  r  r  strr  r  boolr  r  r  r  r  r  <module>   s   






 """""""####%%%%%%%&&&&&&&'''''''((*******+++++-///////0000000244446666666777777788888889;;;;;;;<<<<<<<=??????AAAAAAACCE
I	!!!!######$$&&&&&&'''''))))))******+++++,,,,,,......//////13333334444445579999;;;;;;<<<<<<======>>>@@@@@@AAAAAABBBDDDDDDFFFFFGGIIKMMM
O

!	056