a
    Sicu                  !  @   s  d dl Z d dlmZ dd Zddejjjfdejjjfdejjfd	ejjfd
ejfdej	fdej
fdejfdejfdejfdejfdejfdejjfdejjfdejjfdejfdejjfdejfdejfdejfdejfdejfdejjfdejjfdejjfdejjfd ejjfd!ejjfd"ejjfd#ejfd$ejfd%ejfd&ejfd'ejfd(ejfd)ejjfd*ejjfd+ejfd,ejfd-ejfd.ejfd/ejjfd0ejjfd1ejjfd2efd3ejfd4ejjfd5ejfg0iZe je jB Z d6d7 ed D Zejejejejejejejejejejejejejejejejejejj!ejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejj"ejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejj!ejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejj"ejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejj"ejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejj#ejejejejejejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejejjejjejjejjejjejjejjejjd8 Z$ejj"ejj"ejj"ejj"ejj"ejj"ejj"ejjejjejjejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejd9(Z%ejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejd:VZ&ejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejd;'Z'ejejejejejejejejejejejejejejejejejejejejejejejejejejejejjejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejjejjejejejejjejejejejejejejejejejejejejd<NZ(d=ejiZ)dS )>    N)tokensc                 C   sL   |   }t|pFt|pFt|pFt|pFt|pFt|tj	| fS )zChecks for a keyword.

    If the given value is in one of the KEYWORDS_* dictionary
    it's considered a keyword. Otherwise tokens.Name is returned.
    )
upperKEYWORDS_COMMONgetKEYWORDS_ORACLEKEYWORDS_PLPGSQLKEYWORDS_HQLKEYWORDS_MSACCESSKEYWORDSr   Name)valueval r   M/var/www/html/django/DPS/env/lib/python3.9/site-packages/sqlparse/keywords.py
is_keyword   s    
r   rootz(--|# )\+.*?(\r\n|\r|\n|$)z/\*\+[\s\S]*?\*/z(--|# ).*?(\r\n|\r|\n|$)z/\*[\s\S]*?\*/z(\r\n|\r|\n)z\s+?z:=z::z\*z`(``|[^`])*`u   ´(´´|[^´])*´u*   ((?<!\S)\$(?:[_A-ZÀ-Ü]\w*)?\$)[\s\S]*?\1z\?z%(\(\w+\))?sz(?<!\w)[$:?]\w+z\\\w+z(NOT\s+)?(IN)\bz (CASE|IN|VALUES|USING|FROM|AS)\bu   (@|##|#)[A-ZÀ-Ü]\w+u   [A-ZÀ-Ü]\w*(?=\s*\.)u   (?<=\.)[A-ZÀ-Ü]\w*u   [A-ZÀ-Ü]\w*(?=\()z-?0x[\dA-F]+z-?\d+(\.\d+)?E-?\d+u2   (?![_A-ZÀ-Ü])-?(\d+(\.\d*)|\.\d+)(?![_A-ZÀ-Ü])u#   (?![_A-ZÀ-Ü])-?\d+(?![_A-ZÀ-Ü])z'(''|\\\\|\\'|[^'])*'z"(""|\\\\|\\"|[^"])*"z(""|".*?[^\\]")z(?<![\w\])])(\[[^\]\[]+\])z[((LEFT\s+|RIGHT\s+|FULL\s+)?(INNER\s+|OUTER\s+|STRAIGHT\s+)?|(CROSS\s+|NATURAL\s+)?)?JOIN\bzEND(\s+IF|\s+LOOP|\s+WHILE)?\bzNOT\s+NULL\bzNULLS\s+(FIRST|LAST)\bzUNION\s+ALL\bzCREATE(\s+OR\s+REPLACE)?\bzDOUBLE\s+PRECISION\bzGROUP\s+BY\bzORDER\s+BY\bzHANDLER\s+FOR\bzF(LATERAL\s+VIEW\s+)(EXPLODE|INLINE|PARSE_URL_TUPLE|POSEXPLODE|STACK)\bz"(AT|WITH')\s+TIME\s+ZONE\s+'[^']+'z(NOT\s+)?(LIKE|ILIKE|RLIKE)\bz(NOT\s+)?(REGEXP)\bz[0-9_\w][_$#\w]*z[;:()\[\],\.]z[<>=~!]+z[+/@#%^&|^-]+c                 C   s"   g | ]\}}t |tj|fqS r   )recompileFLAGSmatch).0Zrxttr   r   r   
<listcomp>m       r   (   ZABORTABSZABSOLUTEZACCESSZADAADDZADMINZAFTERZ	AGGREGATEZALIASZALLZALLOCATEZANALYSEZANALYZEANYZARRAYLENZAREASCZ
ASENSITIVEZ	ASSERTIONZ
ASSIGNMENTZ
ASYMMETRICATZATOMICZAUDITZAUTHORIZATIONAUTO_INCREMENTAVGZBACKWARDZBEFOREBEGINZBETWEENZBITVARZ
BIT_LENGTHZBOTHZBREADTHZCACHECALLZCALLEDZCARDINALITYCASCADEZCASCADEDCASTZCATALOGZCATALOG_NAMEZCHAINZCHARACTERISTICSZCHARACTER_LENGTHZCHARACTER_SET_CATALOGZCHARACTER_SET_NAMEZCHARACTER_SET_SCHEMACHAR_LENGTHCHARSETZCHECKZCHECKEDZ
CHECKPOINTZCLASSZCLASS_ORIGINZCLOBZCLOSEZCLUSTERCOALESCEZCOBOLCOLLATE	COLLATIONZCOLLATION_CATALOGZCOLLATION_NAMEZCOLLATION_SCHEMAZCOLLECTZCOLUMNZCOLUMN_NAMECOMPRESSZCOMMAND_FUNCTIONZCOMMAND_FUNCTION_CODECOMMENTZCOMMITZ	COMMITTEDZ
COMPLETIONZCONCURRENTLYZCONDITION_NUMBERZCONNECTZ
CONNECTIONZCONNECTION_NAMEZ
CONSTRAINTZCONSTRAINTSZCONSTRAINT_CATALOGZCONSTRAINT_NAMEZCONSTRAINT_SCHEMAZCONSTRUCTORZCONTAINSCONTINUEZ
CONVERSIONZCONVERTCOPYZCORRESPONDINGCOUNTZCREATEDBZ
CREATEUSERZCROSSZCUBEZCURRENTCURRENT_DATEZCURRENT_PATHZCURRENT_ROLECURRENT_TIMECURRENT_TIMESTAMPZCURRENT_USERCURSORZCURSOR_NAMEZCYCLEZDATAZDATABASEZDATETIME_INTERVAL_CODEZDATETIME_INTERVAL_PRECISIONDAYZ
DEALLOCATEZDECLAREDEFAULTZDEFAULTSZ
DEFERRABLEDEFERREDZDEFINEDZDEFINERZ	DELIMITERZ
DELIMITERSZDEREFDESCZDESCRIBEZ
DESCRIPTORZDESTROYZ
DESTRUCTORZDETERMINISTICZDIAGNOSTICSZ
DICTIONARYZDISABLEZ
DISCONNECTZDISPATCHDIVZDOZDOMAINZDYNAMICZDYNAMIC_FUNCTIONZDYNAMIC_FUNCTION_CODEZEACHZENABLEENCODINGZ	ENCRYPTEDzEND-EXECENGINEZEQUALSESCAPEZEVERYEXCEPTZ	EXCEPTIONZ	EXCLUDINGZ	EXCLUSIVEZEXECZEXECUTEZEXISTINGZEXISTSEXPLAINEXTERNALZEXTRACTFALSEZFETCHFILEZFINALZFIRSTZFORCEFOREACHZFOREIGNZFORTRANZFORWARDFOUNDZFREEZFREEZEFULLZFUNCTIONZGENERALZ	GENERATEDGETGLOBALZGOZGOTOZGRANTZGRANTEDZGROUPINGHAVINGZ	HIERARCHYZHOLDHOURHOSTZ
IDENTIFIEDZIDENTITYIGNOREZILIKE	IMMEDIATEZ	IMMUTABLEZIMPLEMENTATIONZIMPLICITZ	INCLUDINGZ	INCREMENTZINDEX	INDICATORZINFIXZINHERITSZINITIALZ
INITIALIZEZ	INITIALLYZINOUTZINPUTZINSENSITIVEZINSTANTIABLEZINSTEADZ	INTERSECTINTOZINVOKERZISZISNULLZ	ISOLATIONZITERATEZKEYZ
KEY_MEMBERZKEY_TYPEZLANCOMPILERLANGUAGEZLARGEZLASTZLATERALZLEADINGLENGTHLESSZLEVELLIMITZLISTENZLOADZLOCALZ	LOCALTIMEZLOCALTIMESTAMPLOCATIONZLOCATORZLOCKLOWERMAPMATCHZ
MAXEXTENTSZMAXVALUEZMESSAGE_LENGTHZMESSAGE_OCTET_LENGTHZMESSAGE_TEXTZMETHODMINUTEMINUSZMINVALUEMODZMODEZMODIFIESZMODIFYMONTHZMOREZMOVEZMUMPSZNAMESZNATIONALZNATURALZNCHARZNCLOBZNEWZNEXTZNOZNOAUDITZ
NOCOMPRESSZ
NOCREATEDBZNOCREATEUSERNONENOTZNOTFOUNDZNOTHINGZNOTIFYZNOTNULLZNOWAITNULLZNULLABLENULLIFZOBJECTZOCTET_LENGTHZOFZOFFZOFFLINEZOFFSETZOIDSZOLDZONLINEZONLYZOPENZ	OPERATIONZOPERATORZOPTIONOPTIONSZ
ORDINALITYZOUTZOUTPUTZOVERLAPSZOVERLAYZ
OVERRIDINGZOWNERZQUARTERZPADZ	PARAMETERZ
PARAMETERSZPARAMETER_MODEZPARAMETER_NAMEZPARAMETER_ORDINAL_POSITIONZPARAMETER_SPECIFIC_CATALOGZPARAMETER_SPECIFIC_NAMEZPARAMETER_SPECIFIC_SCHEMAZPARTIALZPASCALZPCTFREEZPENDANTZPLACINGZPLIZPOSITIONZPOSTFIXZ	PRECISIONZPREFIXZPREORDERZPREPAREZPRESERVEZPRIMARYZPRIORZ
PRIVILEGESZ
PROCEDURALZ	PROCEDUREZPUBLICZRAISERAWREADZREADSZRECHECKZ	RECURSIVEZREFZ
REFERENCESZREFERENCINGZREINDEXZRELATIVEZRENAMEZ
REPEATABLERESETZRESOURCEZRESTARTRESTRICTZRESULTZRETURNZRETURNED_LENGTHZRETURNED_OCTET_LENGTHZRETURNED_SQLSTATE	RETURNINGZRETURNSZREVOKERIGHTZROLEZROLLBACKZROLLUPZROUTINEZROUTINE_CATALOGZROUTINE_NAMEZROUTINE_SCHEMAZROWROWSZ	ROW_COUNTZRULEZ
SAVE_POINTZSCALEZSCHEMAZSCHEMA_NAMEZSCOPEZSCROLLZSEARCHSECONDZSECURITYZSELFZ	SENSITIVEZSEQUENCEZSERIALIZABLESERVER_NAMEZSESSIONZSESSION_USERZSETOFZSETSZSHAREZSHOWZSIMILARZSIMPLEZSIZEZSOMEZSOURCESPACEZSPECIFICZSPECIFICTYPEZSPECIFIC_NAMEZSQLZSQLBUFZSQLCODEZSQLERRORZSQLEXCEPTIONZSQLSTATEZ
SQLWARNINGZSTABLEZSTARTZ	STATEMENTZSTATICZ
STATISTICSZSTDINSTDOUTZSTORAGEZSTRICTZ	STRUCTUREZSTYPEZSUBCLASS_ORIGINZSUBLIST	SUBSTRINGZ
SUCCESSFULSUMZ	SYMMETRICZSYNONYMZSYSIDZSYSTEMZSYSTEM_USERTABLEZ
TABLE_NAMETEMPTEMPLATEZ	TEMPORARYZ	TERMINATEZTHAN	TIMESTAMPZTIMEZONE_HOURZTIMEZONE_MINUTEZTOZTOASTZTRAILINGZ
TRANSATIONZTRANSACTIONS_COMMITTEDZTRANSACTIONS_ROLLED_BACKZTRANSATION_ACTIVEZ	TRANSFORMZ
TRANSFORMSZ	TRANSLATEZTRANSLATIONZTREATZTRIGGERZTRIGGER_CATALOGZTRIGGER_NAMEZTRIGGER_SCHEMATRIMTRUEZTRUNCATEZTRUSTEDTYPEUIDZUNCOMMITTEDZUNDERZUNENCRYPTEDUNIONUNIQUEUNKNOWNZUNLISTENZUNNAMEDZUNNESTZUNTILUPPERUSAGEZUSEUSERZUSER_DEFINED_TYPE_CATALOGZUSER_DEFINED_TYPE_NAMEZUSER_DEFINED_TYPE_SCHEMAZUSINGZVACUUMZVALIDZVALIDATEZ	VALIDATORVALUESVARIABLEVERBOSEVERSIONVIEWZVOLATILEZWEEKZWHENEVERZWITHZWITHOUTZWORKWRITEYEARZZONEZARRAYZBIGINTBINARYBITBLOBZBOOLEANCHAR	CHARACTERDATEZDECDECIMALZ	FILE_TYPEFLOATINTZINT8ZINTEGERINTERVALLONGZNATURALNZNVARCHARNUMBERZNUMERICZPLS_INTEGERZPOSITIVEZ	POSITIVENZREALROWIDZROWLABELZROWNUMZSERIALZSERIAL8ZSIGNEDZSIGNTYPEZSIMPLE_DOUBLEZSIMPLE_FLOATZSIMPLE_INTEGERZSMALLINTZSYS_REFCURSORZSYSDATETEXTZTINYINTUNSIGNEDZUROWIDZUTL_FILEVARCHARZVARCHAR2ZVARYING)(ZSELECTZINSERTDELETEUPDATEZUPSERTREPLACEZMERGEZDROPCREATEZALTERWHEREZFROMINNERZJOINZSTRAIGHT_JOINANDORZLIKEZONINSETZBYGROUPORDERLEFTZOUTERrB   IFENDTHENLOOPASELSEFORZWHILECASEWHENMINMAXZDISTINCT)VZARCHIVEZ
ARCHIVELOGZBACKUPZBECOMEBLOCKZBODYZCANCELCHANGEZCOMPILEZCONTENTSZCONTROLFILEZDATAFILEZDBAZDISMOUNTDOUBLEZDUMPZELSIFZEVENTSZ
EXCEPTIONSr<   ZEXTENTZ
EXTERNALLYZFLUSHZFREELISTZ	FREELISTSrJ   ZINITRANSINSTANCEZLAYERZLINKZLISTSZLOGFILEZMANAGEZMANUALZMAXDATAFILESZMAXINSTANCESZMAXLOGFILESZMAXLOGHISTORYZMAXLOGMEMBERSZMAXTRANSZ
MINEXTENTSMODULEZMOUNTZNOARCHIVELOGZNOCACHEZNOCYCLEZ
NOMAXVALUEZ
NOMINVALUEZNOORDERZNORESETLOGSZNORMALZNOSORTZOPTIMALZOWNZPACKAGEZPARALLELZPCTINCREASEZPCTUSEDZPLANZPRIVATEZPROFILEZQUOTAZRECOVERZ	RESETLOGSZ
RESTRICTEDZREUSEZROLESZ	SAVEPOINTZSCNZSECTIONZSEGMENTZSHAREDZSNAPSHOTZSORTZSTATEMENT_IDSTOPZSWITCHZTABLESZ
TABLESPACEZTHREADTIMEZTRACINGZTRANSACTIONZTRIGGERSZ	UNLIMITEDZUNLOCK)'CONFLICTZWINDOWZ	PARTITIONZOVERZPERFORMNOTICEZPLPGSQLZINHERITZINDEXESZON_ERROR_STOPZBYTEAZ	BIGSERIALzBIT VARYINGZBOXr   zCHARACTER VARYINGZCIDRZCIRCLEzDOUBLE PRECISIONZINETJSONZJSONBZLINEZLSEGZMACADDRZMONEYPATHZPG_LSNZPOINTZPOLYGONZSMALLSERIALZTSQUERYZTSVECTORZTXID_SNAPSHOTUUIDZXMLr   r   r   )NZEXPLODEZ	DIRECTORYZ
DISTRIBUTEZINCLUDEZLOCATEZ	OVERWRITEZ
POSEXPLODEZARRAY_CONTAINSCMPZCOLLECT_LISTCONCAT	CONDITIONZDATE_ADDZDATE_SUBZDECODEZDBMS_OUTPUTZELEMENTSZEXCHANGEZEXTENDEDFLOOR	FOLLOWINGZFROM_UNIXTIMEZFTPrF   ZINLINEINSTRZLENrR   Z
MAXELEMENTZMAXINDEXZMAX_PART_DATEZMAX_PART_INTZMAX_PART_STRINGZ
MINELEMENTZMININDEXZMIN_PART_DATEZMIN_PART_INTZMIN_PART_STRINGZNOWZNVLZNVL2ZPARSE_URL_TUPLEZPART_LOCZ
PART_COUNTZPART_COUNT_BYZPRINTZPUT_LINERANGEREDUCEZREGEXP_REPLACEZRESIGNALRTRIMSIGNZSIGNALSINZSPLITSQRTZSTACKZSTRSTRINGZSTRUCTSUBSTRZSUMMARYZTBLPROPERTIESrm   ZTIMESTAMP_ISOZTO_CHARZTO_DATEZTO_TIMESTAMPZTRUNCZ	UNBOUNDEDZ
UNIQUEJOINZUNIX_TIMESTAMPUTC_TIMESTAMPZVIEWSZEXITZBREAKZLEAVEZDISTINCTROW)*r   sqlparser   r   CommentSingleZHint	MultilineNewline
Whitespace
AssignmentPunctuationWildcardr   LiteralPlaceholderCommandOperator
ComparisonKeywordNumberZHexadecimalFloatIntegerStringSymbolDDLBuiltinTZCast	SQL_REGEX
IGNORECASEUNICODEr   OrderDMLCTEr
   r   r   r   r   r	   r   r   r   r   <module>   s  

















P        H0n.U