U
    G
\0                 
   @   s   d Z ddlZddlmZmZmZmZmZ ddlm	Z	m
Z
mZmZmZmZmZmZmZmZ ddlmZ dddd	d
dddddg
ZG dd deZG dd deZG dd deZG dd	 d	eZG dd
 d
eZG dd deZG dd deZG dd deZG dd deZG dd deZdS )z
    pygments.lexers.lisp
    ~~~~~~~~~~~~~~~~~~~~

    Lexers for Lispy languages.

    :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    N)
RegexLexerincludebygroupswordsdefault)
TextCommentOperatorKeywordNameStringNumberPunctuationLiteralError)PythonLexerSchemeLexerCommonLispLexerHyLexerRacketLexerNewLispLexerEmacsLispLexer	ShenLexer	CPSALexerXtlangLexerFennelLexerc                   @   sJ  e Zd ZdZdZddgZddgZddgZd	Zd
Z	dZ
dejfdejdfdedfdefdefdejfdejfdefde
 ejfdejfdejfdefdddd eD  efde
 ejfde
 ejfd dd!d e	D  ejfd"e
 ejfe
ejfd#efd$efgdejd%fd&ejd'fd(ejfd)ejfgd*ed%fd+ed'fd,efgd-Zd.S )/r   a  
    A Scheme lexer, parsing a stream and outputting the tokens
    needed to highlight scheme code.
    This lexer could be most probably easily subclassed to parse
    other LISP-Dialects like Common Lisp, Emacs Lisp or AutoLisp.

    This parser is checked with pastes from the LISP pastebin
    at http://paste.lisp.org/ to cover as much syntax as possible.

    It supports the full Scheme syntax as defined in R5RS.

    .. versionadded:: 0.6
    ZSchemeschemeZscmz*.scmz*.ssztext/x-schemezapplication/x-scheme)lambdadefineifelsecondandorcaseletlet*letrecbegindodelayset!=>quote
quasiquoteunquoteunquote-splicingdefine-syntax
let-syntaxletrec-syntaxsyntax-rules)*+-/<<==>>=absacosangleappendapplyasinassocassqassvatanboolean?caaaarcaaadrcaaarcaadarcaaddrcaadrcaarcadaarcadadrcadarcaddarcadddrcaddrcadrcall-with-current-continuationcall-with-input-filecall-with-output-filecall-with-valuescall/cccarcdaaarcdaadrcdaarcdadarcdaddrcdadrcdarcddaarcddadrcddarcdddarcddddrcdddrcddrcdrceilingchar->integerchar-alphabetic?
char-ci<=?	char-ci<?	char-ci=?
char-ci>=?	char-ci>?char-downcasechar-lower-case?char-numeric?char-ready?char-upcasechar-upper-case?char-whitespace?char<=?char<?char=?char>=?char>?char?close-input-portclose-output-portcomplex?conscoscurrent-input-portcurrent-output-portdenominatordisplaydynamic-windeof-object?eq?equal?eqv?evaleven?exact->inexactexact?expexptfloorfor-eachforcegcd	imag-partinexact->exactinexact?input-port?integer->charinteger?interaction-environmentlcmlengthlistlist->stringlist->vectorlist-ref	list-taillist?loadlog	magnitude
make-polarmake-rectangularmake-stringmake-vectormapmaxmembermemqmemvminmodulo	negative?newlinenotnull-environmentnull?number->stringnumber?	numeratorodd?open-input-fileopen-output-fileoutput-port?pair?	peek-charport?	positive?
procedure?quotient	rational?rationalizeread	read-char	real-partreal?	remainderreverseroundscheme-report-environmentset-car!set-cdr!sinsqrtstringstring->liststring->numberstring->symbolstring-appendstring-ci<=?string-ci<?string-ci=?string-ci>=?string-ci>?string-copystring-fill!string-length
string-refstring-set!	string<=?string<?string=?	string>=?string>?string?	substringsymbol->stringsymbol?tantranscript-offtranscript-ontruncatevaluesvectorvector->listvector-fill!vector-length
vector-refvector-set!vector?with-input-from-filewith-output-to-filewrite
write-charzero?[\w!$%&*+,/:<=>?@^~|-]+;.*$#\|multiline-commentz#;\s*\(commented-formz#!r6rs\s+
-?\d+\.\d+-?\d+"(\\\\|\\"|[^"])*"''   #\\([()/'\"._!§$%& ?=+-]|[a-zA-Z0-9]+)(#t|#f)('|#|`|,@|,|\.)z(%s)|c                 c   s   | ]}t |d  V  qdS  Nreescape.0entry r  6/usr/lib/python3/dist-packages/pygments/lexers/lisp.py	<genexpr>   s     zSchemeLexer.<genexpr>(?<='\()(?<=#\()z(?<=\()(%s)c                 c   s   | ]}t |d  V  qdS r  r  r  r  r  r  r     s     (?<=\()(\(|\))(\[|\])#push\|##pop[^|#]+[|#]\(\)[^()]+)rootr  r  N)__name__
__module____qualname____doc__namealiases	filenames	mimetypeskeywordsbuiltins
valid_namer   Single	Multiliner   r   FloatIntegerr   SymbolCharr   Constantr	   joinr
   VariableBuiltinFunctionr   tokensr  r  r  r  r      sV   ,
8

c                ,   @   s2  e Zd ZdZdZdddgZddgZdgZej	ej
B Zd	Zed
 ZdZdeef Zdd Zdd Zedgdejdfdejdfdejfdejfgdejdfdejdfdejfgdefdejfdejdfdejfdefd e ejfd!e ejfd"e ejfd#e ejfd#efd$efd%e ejfd&e efd'e ejfd(e ejfd)e ejfd*edfd+e j!fd,e ejfd-efd.e"j#fd/ej$fd0ej%fd1ej&fd2efd3e'ee(dfd4e'e j!e(dfd5e'e j!e(dfd6e j!fd7efd8efd9e d: ejd;fd<efd=efd>e e"j)fd?e d? e"j*j+fee"j*fde(dfde(dfg'd@Z,dAS )Br   z9
    A Common Lisp lexer.

    .. versionadded:: 0.9
    zCommon Lispzcommon-lispZclZlispz*.clz*.lispztext/x-common-lispz\\.|[\w!$%&*+-/<=>?@\[\]^{}~]|[#.:]z(?=[ "()\'\n,;`])z(\|[^|]+\||(?:%s)(?:%s)*)c           	      K   s`   ddl m}m}m}m}m}m}m} || _|| _	|| _
|| _|| _|| _|| _tj| f| d S )Nr   )BUILTIN_FUNCTIONSSPECIAL_FORMSMACROSLAMBDA_LIST_KEYWORDSDECLARATIONSBUILTIN_TYPESBUILTIN_CLASSES)Zpygments.lexers._cl_builtinsr>  r?  r@  rA  rB  rC  rD  builtin_functionspecial_formsmacroslambda_list_keywordsdeclarationsbuiltin_typesbuiltin_classesr   __init__)	selfZoptionsr>  r?  r@  rA  rB  rC  rD  r  r  r  rL     s    $zCommonLispLexer.__init__c                 c   s   dg}t | ||D ]\}}}|tjkr|| jkrB|tj|fV  q|| jkrZ|t|fV  q|| jkrt|tj|fV  q|| j	kr|t|fV  q|| j
kr|t|fV  q|| jkr|tj|fV  q|| jkr|tj|fV  q|||fV  qd S Nr%  )r   get_tokens_unprocessedr   r9  rE  r:  rF  r
   rG  rH  rI  rJ  TyperK  ClassrM  textstackindextokenvaluer  r  r  rO     s2    







z&CommonLispLexer.get_tokens_unprocessedbodyr  r  r  r  r   r!  r"  r#  r$  r  r   r  z#\d*Y.*$z"(\\.|\\\n|[^"\\])*":::z:#r  `[-+]?\d+\.?[-+]?\d+/\d+<[-+]?(\d*\.\d+([defls][-+]?\d+)?|\d+(\.\d*)?[defls][-+]?\d+)z#\\.z#\\#\(z#\d*\*[01]*#:z#[.,]#\'z#b[+-]?[01]+(/[01]+)?z#o[+-]?[0-7]+(/[0-7]+)?z#x[+-]?[0-9a-f]+(/[0-9a-f]+)?z #\d+r[+-]?[0-9a-z]+(/[0-9a-z]+)?z(#c)(\()z(#\d+a)(\()z(#s)(\()z#p?"(\\.|[^"])*"#\d+=#\d+#z#+nilz\s*\(r  z#[+-]z	(,@|,|\.)(t|nil)\*)r%  r  r  rX  N)-r&  r'  r(  r)  r*  r+  r,  r-  r  
IGNORECASE	MULTILINEflagsnonmacroconstituent
terminatedsymbolrL  rO  r   r   r2  Preprocr   r1  Specialr   r5  r	   r   r4  r3  r6  r   ZOtherr   r;  BinOctHexr   r   r7  r9  Globalr<  r  r  r  r  r      s   






c                   @   s6  e Zd ZdZdZdgZdgZddgZdZdZ	d	Z
d
Ze
e ZdZdd Zdejfdefdejfdejfdejfdejfdefde ejfdejfdeeejfdeeejfde ejfdefededeeefee	ejfeee j!fde e j"fee j#fde$fde$fd e$fge%j&d! e%j&d" d#Z&d$d% Z'd&S )'r   zV
    Lexer for `Hy <http://hylang.org/>`_ source code.

    .. versionadded:: 2.0
    ZHyZhylangz*.hyz	text/x-hyzapplication/x-hy)%r!   for->->>r\   rk   firstrestr%   whenunlessimportr)   progngetslicerD   zwith-decorator,Z	list_compZkwapply~isinzis-notznot-inr.   r/   zunquote-splicer-   r  z<<=z>>=Zforeachwhileeval-and-compileeval-when-compile)defdefndefundefmacrodefclassr   fnZsetvr  )cycledecZdistinctdropr   filterincz	instance?z	iterable?Ziteratez	iterator?zneg?znone?nthznumeric?r   zpos?removerepeatZ
repeatedlytakeZtake_nthZ
take_whiler   z(?!#)[\w!$%*+<=>?/.#-:]+c                 C   s   t | ddS )Nr  suffix)r   )entriesr  r  r  _multi_escape  s    zHyLexer._multi_escaper   [,\s]+r  r  z	0[0-7]+j?z0[xX][a-fA-F0-9]+r  r  z\\(.|[a-z]+)z"^(\s*)([rRuU]{,2}"""(?:.|\n)*?""")z"^(\s*)([rRuU]{,2}'''(?:.|\n)*?''')z::?z~@|[`\'#^~&@]py-keywordspy-builtinsr  r  (\{|\})r  r.  r/  )r%  r  r  c                 C   s   d| ksd| krdS d S )Nz(import z(defn g?r  )rS  r  r  r  analyse_text  s    zHyLexer.analyse_textN)(r&  r'  r(  r)  r*  r+  r,  r-  rF  rI  Zhy_builtinsZhy_corer/  r0  r  r   r1  r   r   r3  r4  rp  rq  r   r5  r6  r   ZDocr	   r   r
   Declarationr   r:  r;  r9  r   r   r<  r  r  r  r  r  r   Z  sP   

;@c                   @   s  e Zd ZdZdZddgZdddgZdd	gZd
ZdZ	dZ
dZdZde ZdZdZdZde Zdeef Zdeef ZdZdeef Zdeef Zeefdedfgdefdejfdejdfdefdeef ejd fd!eef ejd fd"eeeeef ed fd#eeeeeef ejd fd$eef ejd fd%e ejd fd&e ej d fd'e ej!d fd(e ejd fd)e"j#d*fd+e"j$d fd,e"j%d fd-e"j%d fd.e"j&d fd/e'j(d fd0e e)j*d fd1e+e)j,e'j,fd2e)j,d3fd4e e-fd5e
 e-d6fgd7e-fee"j.d fd8efe/d gee0d fge1d9d:e e)d6fd;e-d<fd=e e)d<fe
e0d>fe2ed?d@e dAe)d fe2e	d?d@e dAe'j3d fee'd fe1dBg	e1dCdedfge1d9dDe-dEfdFe e)dEfe
e0dGfe1dBge1dCdedHfge1d9e
e0dIfe1dBge1dCded3fgdejdJfdKejd fdLejfgdMe"j#d fdNe"j4fdOe"j#fgdPZ5dQS )Rr   z
    Lexer for `Racket <http://racket-lang.org/>`_ source code (formerly
    known as PLT Scheme).

    .. versionadded:: 1.6
    ZRacketZracketZrktz*.rktz*.rktdz*.rktlztext/x-racketzapplication/x-racket(~  z#%appz#%datumz	#%declarez#%expressionz#%module-beginz#%plain-appz#%plain-lambdaz#%plain-module-beginz#%printing-module-beginz	#%providez	#%requirez#%stratified-bodyz#%topz#%top-interactionz#%variable-referencert  z->*z->*mz->dz->dmz->iz->m...z:do-in==r,   _ZabsentZabstractzall-defined-outzall-from-outr"   anyZaugmentzaugment*zaugment-finalzaugment-final*Zaugridezaugride*r(   zbegin-for-syntaxZbegin0r$   zcase->zcase->mzcase-lambdaclasszclass*zclass-field-accessorzclass-field-mutatorzclass/czclass/derivedz
combine-inzcombine-outzcommand-linezcompound-unitzcompound-unit/inferr!   zcons/dcZcontractzcontract-outzcontract-structZ
contractedr   zdefine-compound-unitzdefine-compound-unit/inferzdefine-contract-structzdefine-custom-hash-typeszdefine-custom-set-typeszdefine-for-syntaxzdefine-local-member-namezdefine-loggerzdefine-match-expanderzdefine-member-namezdefine-module-boundary-contractzdefine-namespace-anchorzdefine-opt/czdefine-sequence-syntaxzdefine-serializable-classzdefine-serializable-class*zdefine-signaturezdefine-signature-formzdefine-structzdefine-struct/contractzdefine-struct/derivedr1   zdefine-syntax-rulezdefine-syntaxeszdefine-unitzdefine-unit-bindingzdefine-unit-from-contextzdefine-unit/contractzdefine-unit/new-import-exportzdefine-unit/szdefine-valueszdefine-values-for-exportzdefine-values-for-syntaxzdefine-values/invoke-unitzdefine-values/invoke-unit/inferzdefine/augmentzdefine/augment-finalzdefine/augridezdefine/contractzdefine/final-propzdefine/matchzdefine/overmentzdefine/overridezdefine/override-finalzdefine/privatezdefine/publiczdefine/public-finalzdefine/pubmentzdefine/subexpression-pos-propz"define/subexpression-pos-prop/namer*   z
delay/idlez
delay/namezdelay/strictz
delay/synczdelay/threadr)   r    exceptz	except-inz
except-outZexportZextendszfailure-contfalsezfalse/cZfieldzfield-bound?filezflat-murec-contractzflat-rec-contractrs  zfor*zfor*/andz
for*/asyncz
for*/firstz	for*/foldzfor*/fold/derivedz	for*/hashzfor*/hasheqzfor*/hasheqvz	for*/lastz	for*/listz
for*/listszfor*/mutable-setzfor*/mutable-seteqzfor*/mutable-seteqvzfor*/orzfor*/productzfor*/setz
for*/seteqzfor*/seteqvzfor*/streamzfor*/sumzfor*/vectorzfor*/weak-setzfor*/weak-seteqzfor*/weak-seteqvz	for-labelzfor-metaz
for-syntaxzfor-templatezfor/andz	for/asyncz	for/firstzfor/foldzfor/fold/derivedzfor/hashz
for/hasheqzfor/hasheqvzfor/lastzfor/listz	for/listszfor/mutable-setzfor/mutable-seteqzfor/mutable-seteqvzfor/orzfor/productzfor/setz	for/seteqz
for/seteqvz
for/streamzfor/sumz
for/vectorzfor/weak-setzfor/weak-seteqzfor/weak-seteqvzgen:custom-writezgen:dictzgen:equal+hashzgen:setz
gen:streamZgenericz	get-fieldzhash/dcr   Zimpliesrz  r   zinclude-at/relative-tozinclude-at/relative-to/readerzinclude/readerZinheritzinherit-fieldzinherit/innerzinherit/superZinitzinit-dependz
init-fieldz	init-restinnerinspectZinstantiateZ	interfacez
interface*zinvariant-assertionzinvoke-unitzinvoke-unit/inferr   Zlazyr%   r&   zlet*-valuesr2   zlet-syntaxesz
let-valueszlet/cczlet/ecr'   r3   zletrec-syntaxeszletrec-syntaxes+valueszletrec-valuesliblinklocalzlocal-requirez	log-debugz	log-errorz	log-fatalzlog-infozlog-warningmatchzmatch*zmatch*/derivedzmatch-definezmatch-define-valueszmatch-lambdazmatch-lambda*zmatch-lambda**z	match-letz
match-let*zmatch-let*-valueszmatch-let-valueszmatch-letreczmatch-letrec-valueszmatch/derivedzmatch/valueszmember-name-keyZmixinmodulezmodule*zmodule+ZnandnewZnorzobject-contractzobject/cZonlyzonly-inzonly-meta-inopenzopt/cr#   Zovermentz	overment*overridez	override*zoverride-finalzoverride-final*Zparameterizezparameterize*zparameterize-breakzparametric->/cZplacezplace*zplace/contextZplanetprefixz	prefix-inz
prefix-outZprivatezprivate*zprompt-tag/czprotect-outprovidezprovide-signature-elementszprovide/contractZpubliczpublic*zpublic-finalzpublic-final*Zpubmentzpubment*r.   Zquasisyntaxzquasisyntax/locr-   zquote-syntaxzquote-syntax/prunezrecontract-outzrecursive-contractzrelative-inrenamez	rename-inzrename-innerz
rename-outzrename-superrequiresendzsend*zsend+zsend-genericz
send/applyzsend/keyword-applyr+   zset!-valuesz
set-field!Zsharedstreamzstream*zstream-consZstructzstruct*zstruct-copyzstruct-field-indexz
struct-outzstruct/cz
struct/ctcz	struct/dcZsubmodsuperzsuper-instantiatezsuper-make-objectz	super-newZsyntaxzsyntax-casezsyntax-case*zsyntax-id-rulesr4   z
syntax/loctagthiszthis%Zthunkzthunk*timezunconstrained-domain->Zunitzunit-from-contextzunit/czunit/new-import-exportzunit/sry  r/   r0   Zunsyntaxzunsyntax-splicingzvalues/droprx  zwith-continuation-markzwith-contractzwith-contract-continuation-markzwith-handlerszwith-handlers*zwith-methodzwith-syntax   λ(  r5   z*list/cr6   r7   r8   r9   z</cr:   z<=/cr;   z=/cr<   z>/cr=   z>=/czabort-current-continuationr>   zabsolute-path?r?   zadd-betweenZadd1z	alarm-evtz
always-evtzand/cZandmapr@   zany/crA   zappend*z
append-maprB   ZargmaxZargminzarithmetic-shiftzarity-at-leastzarity-at-least-valuezarity-at-least?zarity-checking-wrapperzarity-includes?zarity=?zarrow-contract-infoz#arrow-contract-info-accepts-arglistz'arrow-contract-info-chaperone-procedurez%arrow-contract-info-check-first-orderzarrow-contract-info?rC   ZassfrD   rE   rF   rG   zbad-number-of-resultsZbannerzbase->-doms/czbase->-rngs/czbase->?z	between/czbitwise-andzbitwise-bit-fieldzbitwise-bit-set?zbitwise-iorzbitwise-notzbitwise-xorzblame-add-car-contextzblame-add-cdr-contextzblame-add-contextzblame-add-missing-partyzblame-add-nth-arg-contextzblame-add-range-contextzblame-add-unknown-contextzblame-contextzblame-contractzblame-fmt->-stringzblame-missing-party?zblame-negativezblame-original?zblame-positivezblame-replace-negativezblame-sourcez
blame-swapzblame-swapped?zblame-updatezblame-valuezblame?z	boolean=?rH   zbound-identifier=?Zboxzbox-cas!zbox-immutablezbox-immutable/czbox/czbox?zbreak-enabledzbreak-parameterization?zbreak-threadz!build-chaperone-contract-propertyzbuild-compound-type-namezbuild-contract-propertyzbuild-flat-contract-propertyz
build-listz
build-pathzbuild-path/convention-typezbuild-stringzbuild-vectorzbyte-pregexpzbyte-pregexp?zbyte-ready?zbyte-regexpzbyte-regexp?zbyte?byteszbytes->immutable-byteszbytes->listzbytes->pathzbytes->path-elementzbytes->string/latin-1zbytes->string/localezbytes->string/utf-8zbytes-appendzbytes-append*zbytes-close-converterzbytes-convertzbytes-convert-endzbytes-converter?z
bytes-copyzbytes-copy!z bytes-environment-variable-name?zbytes-fill!z
bytes-joinzbytes-lengthzbytes-no-nuls?zbytes-open-converterz	bytes-refz
bytes-set!zbytes-utf-8-indexzbytes-utf-8-lengthzbytes-utf-8-refzbytes<?zbytes=?zbytes>?zbytes?rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   zcall-in-nested-threadzcall-with-atomic-output-filez call-with-break-parameterizationz!call-with-composable-continuationzcall-with-continuation-barrierzcall-with-continuation-promptrW   z*call-with-default-reading-parameterizationzcall-with-escape-continuationzcall-with-exception-handlerzcall-with-file-lock/timeoutz%call-with-immediate-continuation-markzcall-with-input-bytesrX   zcall-with-input-file*zcall-with-input-stringzcall-with-output-bytesrY   zcall-with-output-file*zcall-with-output-stringzcall-with-parameterizationzcall-with-semaphorez call-with-semaphore/enable-breakrZ   r[   zcall/ecr\   zcartesian-productr]   r^   r_   r`   ra   rb   rc   rd   re   rf   rg   rh   ri   rj   rk   rl   zchannel-getzchannel-putzchannel-put-evtzchannel-put-evt?zchannel-try-getz	channel/czchannel?zchaperone-boxzchaperone-channelzchaperone-continuation-mark-keyzchaperone-contract-property?zchaperone-contract?zchaperone-evtzchaperone-hashzchaperone-hash-setzchaperone-of?zchaperone-procedurezchaperone-procedure*zchaperone-prompt-tagzchaperone-structzchaperone-struct-typezchaperone-vectorz
chaperone?rm   rn   zchar-blank?ro   rp   rq   rr   rs   rt   zchar-foldcasezchar-general-categoryzchar-graphic?zchar-inz	char-in/czchar-iso-control?ru   rv   zchar-punctuation?rw   zchar-symbolic?zchar-title-case?zchar-titlecaserx   ry   zchar-utf-8-lengthrz   r{   r|   r}   r~   r   r   zcheck-duplicate-identifierzcheck-duplicatesz#checked-procedure-check-and-extractz
choice-evtzclass->interfacez
class-infoz
class-sealzclass-unsealzclass?zcleanse-pathr   r   zcoerce-chaperone-contractzcoerce-chaperone-contractszcoerce-contractzcoerce-contract/fzcoerce-contractszcoerce-flat-contractzcoerce-flat-contractszcollect-garbagezcollection-file-pathzcollection-pathcombinationscompilezcompile-allow-set!-undefinedz$compile-context-preservation-enabledz compile-enforce-module-constantszcompile-syntaxzcompiled-expression-recompilezcompiled-expression?zcompiled-module-expression?zcomplete-path?r   ZcomposeZcompose1Zconjoin	conjugater   zcons/ccons?Zconstzcontinuation-mark-key/czcontinuation-mark-key?zcontinuation-mark-set->contextzcontinuation-mark-set->listzcontinuation-mark-set->list*zcontinuation-mark-set-firstzcontinuation-mark-set?zcontinuation-markszcontinuation-prompt-available?zcontinuation-prompt-tag?zcontinuation?zcontract-continuation-mark-keyz#contract-custom-write-property-proczcontract-exercisezcontract-first-orderzcontract-first-order-passes?zcontract-late-neg-projectionzcontract-namezcontract-proczcontract-projectionzcontract-property?zcontract-random-generatezcontract-random-generate-failzcontract-random-generate-fail?z0contract-random-generate-get-current-environmentzcontract-random-generate-stashzcontract-random-generate/choosezcontract-stronger?zcontract-struct-exercisezcontract-struct-generatez#contract-struct-late-neg-projectionzcontract-struct-list-contract?zcontract-val-first-projectionz	contract?zconvert-streamzcopy-directory/files	copy-filez	copy-portr   coshcountzcurrent-blame-formatzcurrent-break-parameterizationzcurrent-code-inspectorzcurrent-command-line-argumentszcurrent-compilezcurrent-compiled-file-rootszcurrent-continuation-markszcurrent-contract-regionzcurrent-custodianzcurrent-directoryzcurrent-directory-for-userzcurrent-drivezcurrent-environment-variableszcurrent-error-portzcurrent-evalz#current-evt-pseudo-random-generatorz current-force-delete-permissionszcurrent-futurezcurrent-gc-millisecondsz"current-get-interaction-input-portzcurrent-inexact-millisecondsr   zcurrent-inspectorz current-library-collection-linksz current-library-collection-pathszcurrent-loadzcurrent-load-extensionzcurrent-load-relative-directoryzcurrent-load/use-compiledzcurrent-localezcurrent-loggerzcurrent-memory-usezcurrent-millisecondszcurrent-module-declare-namezcurrent-module-declare-sourcezcurrent-module-name-resolverzcurrent-module-path-for-loadzcurrent-namespacer   zcurrent-parameterizationzcurrent-plumberz$current-preserved-thread-cell-valueszcurrent-printzcurrent-process-millisecondszcurrent-prompt-readzcurrent-pseudo-random-generatorzcurrent-read-interactionzcurrent-reader-guardzcurrent-readtablezcurrent-secondszcurrent-security-guardz!current-subprocess-custodian-modezcurrent-threadzcurrent-thread-groupz!current-thread-initial-stack-sizez current-write-relative-directorycurryZcurryrzcustodian-box-valuezcustodian-box?zcustodian-limit-memoryzcustodian-managed-listz&custodian-memory-accounting-available?zcustodian-require-memoryzcustodian-shutdown-allz
custodian?zcustom-print-quotable-accessorzcustom-print-quotable?zcustom-write-accessorzcustom-write-property-proczcustom-write?datezdate*zdate*-nanosecondzdate*-time-zone-namezdate*?zdate-dayz	date-dst?z	date-hourzdate-minutez
date-monthzdate-secondzdate-time-zone-offsetzdate-week-dayz	date-yearzdate-year-dayzdate?zdatum->syntaxzdatum-intern-literalzdefault-continuation-prompt-tagzdegrees->radianszdelete-directoryzdelete-directory/filesdelete-filer   z
dict->listzdict-can-functional-set?zdict-can-remove-keys?z
dict-clearzdict-clear!z	dict-copyz
dict-countzdict-empty?zdict-for-eachzdict-has-key?zdict-implements/czdict-implements?zdict-iter-contractzdict-iterate-firstzdict-iterate-keyzdict-iterate-nextzdict-iterate-valuezdict-key-contractz	dict-keyszdict-mapzdict-mutable?zdict-refz	dict-ref!zdict-removezdict-remove!zdict-setz	dict-set!z	dict-set*z
dict-set*!zdict-updatezdict-update!zdict-value-contractzdict-valueszdict?zdirectory-exists?zdirectory-listZdisjoinr   zdisplay-lineszdisplay-lines-to-filezdisplay-to-fileZ	displaylnzdouble-flonum?r  zdrop-common-prefixz
drop-rightZdropfzdropf-rightzdump-memory-statszdup-input-portzdup-output-portz
dynamic->*zdynamic-get-fieldzdynamic-object/czdynamic-placezdynamic-place*zdynamic-requirezdynamic-require-for-syntaxzdynamic-sendzdynamic-set-field!r   Zeighthemptyzempty-sequencezempty-streamempty?zenvironment-variables-copyzenvironment-variables-nameszenvironment-variables-refzenvironment-variables-set!zenvironment-variables?eofzeof-evtr   zephemeron-valuez
ephemeron?Zeprintfzeq-contract-valzeq-contract?zeq-hash-coder   zequal-contract-valzequal-contract?zequal-hash-codezequal-secondary-hash-codezequal<%>r   zequal?/recurzeqv-hash-coder   errorzerror-display-handlerzerror-escape-handlerzerror-print-context-lengthzerror-print-source-locationzerror-print-widthzerror-value->string-handlerr   zeval-jit-enabledzeval-syntaxr   zevt/czevt?r   zexact-ceilingzexact-floorzexact-integer?zexact-nonnegative-integer?zexact-positive-integer?zexact-roundzexact-truncater   zexecutable-yield-handlerexitzexit-handlerZexnzexn-continuation-markszexn-messagez	exn:breakzexn:break-continuationzexn:break:hang-upzexn:break:hang-up?zexn:break:terminatezexn:break:terminate?z
exn:break?zexn:failzexn:fail:contractzexn:fail:contract:arityzexn:fail:contract:arity?zexn:fail:contract:blamezexn:fail:contract:blame-objectzexn:fail:contract:blame?zexn:fail:contract:continuationzexn:fail:contract:continuation?z exn:fail:contract:divide-by-zeroz!exn:fail:contract:divide-by-zero?z#exn:fail:contract:non-fixnum-resultz$exn:fail:contract:non-fixnum-result?zexn:fail:contract:variablezexn:fail:contract:variable-idzexn:fail:contract:variable?zexn:fail:contract?zexn:fail:filesystemzexn:fail:filesystem:errnozexn:fail:filesystem:errno-errnozexn:fail:filesystem:errno?zexn:fail:filesystem:existszexn:fail:filesystem:exists?z"exn:fail:filesystem:missing-modulez'exn:fail:filesystem:missing-module-pathz#exn:fail:filesystem:missing-module?zexn:fail:filesystem:versionzexn:fail:filesystem:version?zexn:fail:filesystem?zexn:fail:networkzexn:fail:network:errnozexn:fail:network:errno-errnozexn:fail:network:errno?zexn:fail:network?zexn:fail:objectzexn:fail:object?zexn:fail:out-of-memoryzexn:fail:out-of-memory?zexn:fail:readzexn:fail:read-srclocszexn:fail:read:eofzexn:fail:read:eof?zexn:fail:read:non-charzexn:fail:read:non-char?zexn:fail:read?zexn:fail:syntaxzexn:fail:syntax-exprszexn:fail:syntax:missing-modulez#exn:fail:syntax:missing-module-pathzexn:fail:syntax:missing-module?zexn:fail:syntax:unboundzexn:fail:syntax:unbound?zexn:fail:syntax?zexn:fail:unsupportedzexn:fail:unsupported?zexn:fail:userzexn:fail:user?z	exn:fail?zexn:misc:match?zexn:missing-module-accessorzexn:missing-module?zexn:srclocs-accessorzexn:srclocs?zexn?r   expandzexpand-oncezexpand-syntaxzexpand-syntax-oncezexpand-syntax-to-top-formzexpand-to-top-formzexpand-user-pathzexplode-pathr   zexternalizable<%>zfailure-result/czfalse?zfield-namesZfifthzfile->byteszfile->bytes-lineszfile->linesz
file->listzfile->stringzfile->valuezfile-exists?zfile-name-from-pathzfile-or-directory-identityz file-or-directory-modify-secondszfile-or-directory-permissionszfile-positionzfile-position*z	file-sizezfile-stream-buffer-modezfile-stream-port?zfile-truncatezfilename-extensionzfilesystem-change-evtzfilesystem-change-evt-cancelzfilesystem-change-evt?zfilesystem-root-listr  z
filter-mapz
filter-notzfilter-read-input-portzfind-executable-pathz
find-fileszfind-library-collection-linkszfind-library-collection-pathszfind-relative-pathzfind-system-pathZfindfrv  z
first-or/czfixnum?zflat-contractzflat-contract-predicatezflat-contract-property?zflat-contract?zflat-named-contractZflattenzfloating-point-bytes->realzflonum?r   zflush-outputz
fold-filesZfoldlZfoldrr   r   formatZfourthZfprintfzfree-identifier=?zfree-label-identifier=?zfree-template-identifier=?zfree-transformer-identifier=?zfsemaphore-countzfsemaphore-postzfsemaphore-try-wait?zfsemaphore-waitzfsemaphore?Zfuturezfuture?zfutures-enabled?r   zgenerate-member-keyzgenerate-temporarieszgeneric-set?zgeneric?gensymzget-output-byteszget-output-stringzget-preferencezget/build-late-neg-projectionzget/build-val-first-projectiongetenvzglobal-port-print-handlerzgroup-byzgroup-execute-bitzgroup-read-bitzgroup-write-bitz	guard-evtz
handle-evtzhandle-evt?z
has-blame?zhas-contract?hashz
hash->listz
hash-clearzhash-clear!z	hash-copyzhash-copy-clearz
hash-countzhash-empty?zhash-eq?zhash-equal?z	hash-eqv?zhash-for-eachzhash-has-key?zhash-iterate-firstzhash-iterate-keyzhash-iterate-key+valuezhash-iterate-nextzhash-iterate-pairzhash-iterate-valuez	hash-keyszhash-mapzhash-placeholder?zhash-refz	hash-ref!zhash-removezhash-remove!zhash-setz	hash-set!z	hash-set*z
hash-set*!zhash-updatezhash-update!zhash-valuesz
hash-weak?zhash/czhash?ZhasheqZhasheqvzidentifier-bindingzidentifier-binding-symbolzidentifier-label-bindingz identifier-prune-lexical-contextz!identifier-prune-to-source-modulez)identifier-remove-from-definition-contextzidentifier-template-bindingzidentifier-transformer-bindingzidentifier?identityzif/cr   z
immutable?zimpersonate-boxzimpersonate-channelz!impersonate-continuation-mark-keyzimpersonate-hashzimpersonate-hash-setzimpersonate-procedurezimpersonate-procedure*zimpersonate-prompt-tagzimpersonate-structzimpersonate-vectorzimpersonator-contract?zimpersonator-ephemeronzimpersonator-of?z"impersonator-prop:application-markzimpersonator-prop:blamezimpersonator-prop:contractedz)impersonator-property-accessor-procedure?zimpersonator-property?zimpersonator?zimplementation?zimplementation?/czin-byteszin-bytes-lineszin-combinationszin-cyclezin-dictzin-dict-keyszin-dict-pairszin-dict-valueszin-directoryzin-hashzin-hash-keyszin-hash-pairszin-hash-valueszin-immutable-hashzin-immutable-hash-keyszin-immutable-hash-pairszin-immutable-hash-valueszin-immutable-setz
in-indexedzin-input-port-byteszin-input-port-charszin-lineszin-listzin-mlistzin-mutable-hashzin-mutable-hash-keyszin-mutable-hash-pairszin-mutable-hash-valueszin-mutable-setzin-naturalszin-parallelzin-permutationszin-portzin-producerzin-rangezin-sequenceszin-setzin-slicez	in-streamz	in-stringz	in-syntaxzin-valuezin-values*-sequencezin-values-sequencez	in-vectorzin-weak-hashzin-weak-hash-keyszin-weak-hash-pairszin-weak-hash-valueszin-weak-setr   zinexact-real?r   z	infinite?zinput-port-appendr   z
inspector?zinstanceof/cr   zinteger->integer-byteszinteger-bytes->integerz
integer-inzinteger-lengthzinteger-sqrtzinteger-sqrt/remainderr   zinterface->method-nameszinterface-extension?z
interface?z/internal-definition-context-binding-identifiersz%internal-definition-context-introducez internal-definition-context-sealzinternal-definition-context?zis-a?zis-a?/czkeyword->stringzkeyword-applyz	keyword<?zkeyword?zkeywords-matchzkill-threadlastz	last-pairr   r   zliberal-define-context?zlink-exists?r   zlist*zlist*ofzlist->byteszlist->mutable-setzlist->mutable-seteqzlist->mutable-seteqvz	list->setzlist->seteqzlist->seteqvr   r   zlist->weak-setzlist->weak-seteqzlist->weak-seteqvzlist-contract?zlist-prefix?r   zlist-setr   zlist-updatezlist/cr   zlisten-port-number?Zlistofr   zload-extensionzload-on-demand-enabledzload-relativezload-relative-extensionzload/cdzload/use-compiledzlocal-expandzlocal-expand/capture-liftszlocal-transformer-expandz&local-transformer-expand/capture-liftszlocale-string-encodingr   zlog-all-levelszlog-level-evtz
log-level?zlog-max-levelzlog-messagezlog-receiver?zlogger-namezlogger?r   zmake-arity-at-leastzmake-base-empty-namespacezmake-base-namespacez
make-byteszmake-channelzmake-chaperone-contractzmake-continuation-mark-keyzmake-continuation-prompt-tagzmake-contractzmake-custodianzmake-custodian-boxzmake-custom-hashzmake-custom-hash-typeszmake-custom-setzmake-custom-set-typesz	make-datez
make-date*zmake-derived-parameterzmake-directoryzmake-directory*zmake-do-sequencezmake-empty-namespacezmake-environment-variableszmake-ephemeronzmake-exnzmake-exn:breakzmake-exn:break:hang-upzmake-exn:break:terminatezmake-exn:failzmake-exn:fail:contractzmake-exn:fail:contract:arityzmake-exn:fail:contract:blamez#make-exn:fail:contract:continuationz%make-exn:fail:contract:divide-by-zeroz(make-exn:fail:contract:non-fixnum-resultzmake-exn:fail:contract:variablezmake-exn:fail:filesystemzmake-exn:fail:filesystem:errnozmake-exn:fail:filesystem:existsz'make-exn:fail:filesystem:missing-modulez make-exn:fail:filesystem:versionzmake-exn:fail:networkzmake-exn:fail:network:errnozmake-exn:fail:objectzmake-exn:fail:out-of-memoryzmake-exn:fail:readzmake-exn:fail:read:eofzmake-exn:fail:read:non-charzmake-exn:fail:syntaxz#make-exn:fail:syntax:missing-modulezmake-exn:fail:syntax:unboundzmake-exn:fail:unsupportedzmake-exn:fail:userzmake-file-or-directory-linkzmake-flat-contractzmake-fsemaphorezmake-genericz!make-handle-get-preference-lockedz	make-hashzmake-hash-placeholderzmake-hasheqzmake-hasheq-placeholderzmake-hasheqvzmake-hasheqv-placeholderzmake-immutable-custom-hashzmake-immutable-hashzmake-immutable-hasheqzmake-immutable-hasheqvzmake-impersonator-propertyzmake-input-portzmake-input-port/read-to-peekzmake-inspectorzmake-keyword-procedurezmake-known-char-range-listzmake-limited-input-port	make-listzmake-lock-file-namezmake-log-receiverzmake-loggerzmake-mixin-contractzmake-mutable-custom-setzmake-none/czmake-objectzmake-output-portzmake-parameterzmake-parent-directory*zmake-phantom-bytesz	make-pipezmake-pipe-with-specialszmake-placeholderzmake-plumberr   zmake-prefab-structzmake-primitive-classzmake-proj-contractzmake-pseudo-random-generatorzmake-reader-graphzmake-readtabler   zmake-rename-transformerzmake-resolved-module-pathzmake-security-guardzmake-semaphorezmake-set!-transformerzmake-shared-byteszmake-sibling-inspectorzmake-special-commentzmake-srclocr   zmake-struct-field-accessorzmake-struct-field-mutatorzmake-struct-typezmake-struct-type-propertyzmake-syntax-delta-introducerzmake-syntax-introducerzmake-temporary-filez'make-tentative-pretty-print-output-portzmake-thread-cellzmake-thread-groupr   zmake-weak-boxzmake-weak-custom-hashzmake-weak-custom-setzmake-weak-hashzmake-weak-hasheqzmake-weak-hasheqvzmake-will-executorr   zmatch-equality-testzmatches-arity-exactly?r   ZmcarZmcdrZmconsr   zmember-name-key-hash-codezmember-name-key=?zmember-name-key?Zmemfr   r   zmerge-inputzmethod-in-interface?r   zmixin-contractzmodule->exportszmodule->importszmodule->language-infozmodule->namespacez'module-compiled-cross-phase-persistent?zmodule-compiled-exportszmodule-compiled-importszmodule-compiled-language-infozmodule-compiled-namezmodule-compiled-submoduleszmodule-declared?zmodule-path-index-joinzmodule-path-index-resolvezmodule-path-index-splitzmodule-path-index-submodulezmodule-path-index?zmodule-path?zmodule-predefined?zmodule-provide-protected?r   zmpair?zmutable-setzmutable-seteqzmutable-seteqvzn->thznack-guard-evtz!namespace-anchor->empty-namespaceznamespace-anchor->namespaceznamespace-anchor?znamespace-attach-modulez#namespace-attach-module-declarationznamespace-base-phaseznamespace-mapped-symbolsznamespace-module-identifierznamespace-module-registryznamespace-requireznamespace-require/constantznamespace-require/copyz namespace-require/expansion-timeznamespace-set-variable-value!znamespace-symbol->identifierznamespace-syntax-introduceznamespace-undefine-variable!znamespace-unprotect-moduleznamespace-variable-valuez
namespace?znan?znatural-number/cnegater   z	never-evtu	   new-∀/cu	   new-∃/cr   Zninthznon-empty-listofznon-empty-string?znone/cznormal-case-pathznormalize-arityznormalize-pathznormalized-arity?r   znot/cnullr   r   r   r   zobject%zobject->vectorzobject-infozobject-interfacezobject-method-arity-includes?zobject-namezobject-or-false=?zobject=?zobject?r   zone-of/czopen-input-bytesr   zopen-input-output-filezopen-input-stringzopen-output-bytesr   zopen-output-nowherezopen-output-stringzor/czorder-of-magnitudeZormapzother-execute-bitzother-read-bitzother-write-bitr   r   zparameter-procedure=?zparameter/cz
parameter?zparameterization?zparse-command-line	partitionzpath->byteszpath->complete-pathzpath->directory-pathzpath->stringzpath-add-suffixzpath-convention-typezpath-element->byteszpath-element->stringzpath-element?zpath-for-some-system?zpath-list-string->path-listz	path-onlyzpath-replace-suffixzpath-string?zpath<?zpath?zpathlist-closurez	peek-bytezpeek-byte-or-specialz
peek-byteszpeek-bytes!zpeek-bytes!-evtzpeek-bytes-avail!zpeek-bytes-avail!*zpeek-bytes-avail!-evtzpeek-bytes-avail!/enable-breakzpeek-bytes-evtr   zpeek-char-or-specialzpeek-stringzpeek-string!zpeek-string!-evtzpeek-string-evtzpeeking-input-portpermutationszphantom-bytes?Zpizpi.fzpipe-content-lengthzplace-breakzplace-channelzplace-channel-getzplace-channel-putzplace-channel-put/getzplace-channel?zplace-dead-evtzplace-enabled?z
place-killzplace-location?zplace-message-allowed?zplace-sleepz
place-waitzplace?zplaceholder-getzplaceholder-set!zplaceholder?zplumber-add-flush!zplumber-flush-allzplumber-flush-handle-remove!zplumber-flush-handle?zplumber?zpoll-guard-evtzport->byteszport->bytes-lineszport->linesz
port->listzport->stringzport-closed-evtzport-closed?zport-commit-peekedzport-count-lines!zport-count-lines-enabledzport-counts-lines?zport-display-handlerzport-file-identityzport-file-unlockzport-next-locationzport-number?zport-print-handlerzport-progress-evtzport-provides-progress-evts?zport-read-handlerzport-try-file-lock?zport-write-handlerzport-writes-atomic?zport-writes-special?r   r   zpredicate/czprefab-key->struct-typezprefab-key?zprefab-struct-keyzpreferences-lock-file-modeZpregexpzpregexp?zpretty-displayzpretty-formatpretty-printz"pretty-print-.-symbol-without-barsz#pretty-print-abbreviate-read-macroszpretty-print-columnsz pretty-print-current-style-tablezpretty-print-depthzpretty-print-exact-as-decimalzpretty-print-extend-style-tablezpretty-print-handlerzpretty-print-newlinezpretty-print-post-print-hookzpretty-print-pre-print-hookzpretty-print-print-hookzpretty-print-print-linezpretty-print-remap-stylablezpretty-print-show-inexactnesszpretty-print-size-hookzpretty-print-style-table?zpretty-printingzpretty-writezprimitive-closure?zprimitive-result-arity
primitive?printzprint-as-expressionzprint-boolean-long-formz	print-boxzprint-graphzprint-hash-tablezprint-mpair-curly-braceszprint-pair-curly-braceszprint-reader-abbreviationszprint-structzprint-syntax-widthzprint-unreadablezprint-vector-lengthzprintable/czprintable<%>printfprintlnzprocedure->methodzprocedure-arityzprocedure-arity-includes/czprocedure-arity-includes?zprocedure-arity?zprocedure-closure-contents-eq?zprocedure-extract-targetzprocedure-keywordszprocedure-reduce-arityzprocedure-reduce-keyword-arityzprocedure-renamezprocedure-result-arityzprocedure-specializezprocedure-struct-type?r   processzprocess*zprocess*/portszprocess/portszprocessor-countzprogress-evt?zpromise-forced?zpromise-running?z	promise/czpromise/name?zpromise?zprop:arity-stringzprop:arrow-contractzprop:arrow-contract-get-infozprop:arrow-contract?z
prop:blamezprop:chaperone-contractzprop:checked-procedurezprop:contractzprop:contractedzprop:custom-print-quotablezprop:custom-writez	prop:dictzprop:dict/contractzprop:equal+hashzprop:evtzprop:exn:missing-modulezprop:exn:srclocszprop:expansion-contextszprop:flat-contractzprop:impersonator-ofzprop:input-portzprop:liberal-define-contextzprop:object-namezprop:opt-chaperone-contractz$prop:opt-chaperone-contract-get-testzprop:opt-chaperone-contract?zprop:orc-contractz"prop:orc-contract-get-subcontractszprop:orc-contract?zprop:output-portzprop:place-locationzprop:procedurezprop:recursive-contractzprop:recursive-contract-unrollzprop:recursive-contract?zprop:rename-transformerzprop:sequencezprop:set!-transformerzprop:streamzproper-subset?zpseudo-random-generator->vectorzpseudo-random-generator-vector?zpseudo-random-generator?zput-preferencesputenvr   zquotient/remainderzradians->degreesraisezraise-argument-errorzraise-arguments-errorzraise-arity-errorzraise-blame-errorzraise-contract-errorzraise-mismatch-errorzraise-not-cons-blame-errorzraise-range-errorzraise-result-errorzraise-syntax-errorzraise-type-errorzraise-user-errorrandomzrandom-seedranger   r   r   zread-accept-bar-quotezread-accept-boxzread-accept-compiledzread-accept-dotzread-accept-graphzread-accept-infix-dotzread-accept-langzread-accept-quasiquotezread-accept-reader	read-bytezread-byte-or-specialz
read-byteszread-bytes!zread-bytes!-evtzread-bytes-avail!zread-bytes-avail!*zread-bytes-avail!-evtzread-bytes-avail!/enable-breakzread-bytes-evtzread-bytes-linezread-bytes-line-evtzread-case-sensitivez	read-cdotr   zread-char-or-specialzread-curly-brace-as-parenzread-curly-brace-with-tagzread-decimal-as-inexactzread-eval-print-loopzread-language	read-linezread-line-evtzread-on-demand-sourcezread-square-bracket-as-parenzread-square-bracket-with-tagread-stringzread-string!zread-string!-evtzread-string-evtzread-syntaxzread-syntax/recursivezread/recursivezreadtable-mappingz
readtable?zreal->decimal-stringzreal->double-flonumzreal->floating-point-byteszreal->single-flonumzreal-inr   r   zreencode-input-portzreencode-output-portZregexpzregexp-matchzregexp-match*zregexp-match-evtzregexp-match-exact?zregexp-match-peekzregexp-match-peek-immediatezregexp-match-peek-positionszregexp-match-peek-positions*z%regexp-match-peek-positions-immediatez)regexp-match-peek-positions-immediate/endzregexp-match-peek-positions/endzregexp-match-positionszregexp-match-positions*zregexp-match-positions/endzregexp-match/endzregexp-match?zregexp-max-lookbehindregexp-quotezregexp-replacezregexp-replace*zregexp-replace-quotezregexp-replaceszregexp-splitzregexp-try-matchzregexp?zrelative-path?zrelocate-input-portzrelocate-output-portr   remfzremf*r  zremove*zremove-duplicatesZremqzremq*Zremvzremv*zrename-contractzrename-file-or-directoryzrename-transformer-targetzrename-transformer?zreplace-evtzreroot-pathzresolve-pathzresolved-module-path-namezresolved-module-path?rw  r   r   secondzseconds->datezsecurity-guard?zsemaphore-peek-evtzsemaphore-peek-evt?zsemaphore-postzsemaphore-try-wait?zsemaphore-waitzsemaphore-wait/enable-breakz
semaphore?zsequence->listzsequence->streamzsequence-add-betweenzsequence-andmapzsequence-appendzsequence-countzsequence-filterzsequence-foldzsequence-for-eachzsequence-generatezsequence-generate*zsequence-lengthzsequence-mapzsequence-ormapzsequence-refzsequence-tailz
sequence/cz	sequence?setzset!-transformer-procedurezset!-transformer?z	set->listzset->streamzset-addzset-add!zset-box!z	set-clearz
set-clear!zset-copyzset-copy-clearz	set-countz
set-empty?zset-eq?z
set-equal?zset-eqv?z	set-firstzset-for-eachzset-implements/czset-implements?zset-intersectzset-intersect!zset-mapz	set-mcar!z	set-mcdr!zset-member?zset-mutable?zset-phantom-bytes!zset-port-next-location!z
set-removezset-remove!zset-restzset-some-basic-contracts!zset-subtractzset-subtract!zset-symmetric-differencezset-symmetric-difference!z	set-unionz
set-union!z	set-weak?zset/czset=?zset?ZseteqZseteqvZseventhsgnzshared-byteszshell-executezshrink-path-wrtZshufflezsimple-form-pathzsimplify-pathr   zsingle-flonum?sinhZsixthzskip-projection-wrapper?sleepzsome-system-path->stringsortzspecial-comment-valuezspecial-comment?zspecial-filter-input-portzsplit-atzsplit-at-rightzsplit-common-prefixz
split-pathz	splitf-atzsplitf-at-rightZsqrr   Zsrcloczsrcloc->stringzsrcloc-columnzsrcloc-linezsrcloc-positionzsrcloc-sourcezsrcloc-spanzsrcloc?z
stop-afterzstop-beforezstream->listzstream-add-betweenzstream-andmapzstream-appendzstream-countzstream-empty?zstream-filterzstream-firstzstream-foldzstream-for-eachzstream-lengthz
stream-mapzstream-ormapz
stream-refzstream-restzstream-tailzstream/czstream?r   zstring->bytes/latin-1zstring->bytes/localezstring->bytes/utf-8zstring->immutable-stringzstring->keywordr   r   zstring->pathzstring->path-elementzstring->some-system-pathr   zstring->uninterned-symbolzstring->unreadable-symbolr   zstring-append*r   r   r   r   r   zstring-contains?r   zstring-copy!zstring-downcasez!string-environment-variable-name?r   zstring-foldcasezstring-joinzstring-len/cr   zstring-locale-ci<?zstring-locale-ci=?zstring-locale-ci>?zstring-locale-downcasezstring-locale-upcasezstring-locale<?zstring-locale=?zstring-locale>?zstring-no-nuls?zstring-normalize-nfczstring-normalize-nfdzstring-normalize-nfkczstring-normalize-nfkdzstring-normalize-spaceszstring-port?zstring-prefix?r   zstring-replacer   zstring-splitzstring-suffix?zstring-titlecasezstring-trimzstring-upcasezstring-utf-8-lengthr   r   r   r   r   r   zstruct->vectorzstruct-accessor-procedure?zstruct-constructor-procedure?zstruct-infozstruct-mutator-procedure?zstruct-predicate-procedure?zstruct-type-infozstruct-type-make-constructorzstruct-type-make-predicatez(struct-type-property-accessor-procedure?zstruct-type-property/czstruct-type-property?zstruct-type?zstruct:arity-at-leastzstruct:arrow-contract-infozstruct:datezstruct:date*z
struct:exnzstruct:exn:breakzstruct:exn:break:hang-upzstruct:exn:break:terminatezstruct:exn:failzstruct:exn:fail:contractzstruct:exn:fail:contract:arityzstruct:exn:fail:contract:blamez%struct:exn:fail:contract:continuationz'struct:exn:fail:contract:divide-by-zeroz*struct:exn:fail:contract:non-fixnum-resultz!struct:exn:fail:contract:variablezstruct:exn:fail:filesystemz struct:exn:fail:filesystem:errnoz!struct:exn:fail:filesystem:existsz)struct:exn:fail:filesystem:missing-modulez"struct:exn:fail:filesystem:versionzstruct:exn:fail:networkzstruct:exn:fail:network:errnozstruct:exn:fail:objectzstruct:exn:fail:out-of-memoryzstruct:exn:fail:readzstruct:exn:fail:read:eofzstruct:exn:fail:read:non-charzstruct:exn:fail:syntaxz%struct:exn:fail:syntax:missing-modulezstruct:exn:fail:syntax:unboundzstruct:exn:fail:unsupportedzstruct:exn:fail:userzstruct:srcloczstruct:wrapped-extra-arg-arrowzstruct?Zsub1Zsubbytesz	subclass?zsubclass?/c
subprocesszsubprocess-group-enabledzsubprocess-killzsubprocess-pidzsubprocess-statuszsubprocess-waitzsubprocess?zsubset?r   z	suggest/cr   zsymbol-interned?zsymbol-unreadable?zsymbol<?zsymbol=?r   symbolssynczsync/enable-breakzsync/timeoutzsync/timeout/enable-breakzsyntax->datumzsyntax->listz
syntax-armzsyntax-columnzsyntax-debug-infozsyntax-disarmzsyntax-ezsyntax-linezsyntax-local-bind-syntaxeszsyntax-local-certifierzsyntax-local-contextzsyntax-local-expand-expressionzsyntax-local-get-shadowerz"syntax-local-identifier-as-bindingzsyntax-local-introducezsyntax-local-lift-contextzsyntax-local-lift-expressionzsyntax-local-lift-modulez(syntax-local-lift-module-end-declarationzsyntax-local-lift-providezsyntax-local-lift-requirez#syntax-local-lift-values-expressionz$syntax-local-make-definition-contextz"syntax-local-make-delta-introducerz'syntax-local-module-defined-identifierszsyntax-local-module-exportsz(syntax-local-module-required-identifierszsyntax-local-namezsyntax-local-phase-levelzsyntax-local-submodulesz*syntax-local-transforming-module-provides?zsyntax-local-valuezsyntax-local-value/immediatezsyntax-original?zsyntax-positionzsyntax-propertyzsyntax-property-preserved?zsyntax-property-symbol-keyszsyntax-protectzsyntax-rearmzsyntax-recertifyzsyntax-shift-phase-levelzsyntax-sourcezsyntax-source-modulezsyntax-spanzsyntax-taintzsyntax-tainted?zsyntax-track-originz&syntax-transforming-module-expression?zsyntax-transforming-with-lifts?zsyntax-transforming?zsyntax/czsyntax?systemzsystem*zsystem*/exit-codezsystem-big-endian?zsystem-idle-evtzsystem-language+countryzsystem-library-subpathzsystem-path-convention-typezsystem-typezsystem/exit-codeztail-marks-match?r  ztake-common-prefixz
take-rightZtakefztakef-rightr   tanhztcp-abandon-portz
tcp-acceptztcp-accept-evtztcp-accept-ready?ztcp-accept/enable-breakztcp-addressesz	tcp-closeztcp-connectztcp-connect/enable-breakz
tcp-listenztcp-listener?z	tcp-port?z"tentative-pretty-print-port-cancelz$tentative-pretty-print-port-transferZtenthzterminal-port?zthe-unsupplied-argZthirdthreadzthread-cell-refzthread-cell-set!zthread-cell-values?zthread-cell?zthread-dead-evtzthread-dead?zthread-group?zthread-receivezthread-receive-evtzthread-resumezthread-resume-evtzthread-rewind-receivezthread-running?zthread-sendzthread-suspendzthread-suspend-evtzthread-try-receivezthread-waitzthread/suspend-to-killzthread?z
time-applyZtouchztransplant-input-portztransplant-output-porttruer   zudp-addressesz	udp-bind!z
udp-bound?z	udp-closezudp-connect!zudp-connected?zudp-multicast-interfacezudp-multicast-join-group!zudp-multicast-leave-group!zudp-multicast-loopback?zudp-multicast-set-interface!zudp-multicast-set-loopback!zudp-multicast-set-ttl!zudp-multicast-ttlzudp-open-socketzudp-receive!zudp-receive!*zudp-receive!-evtzudp-receive!/enable-breakzudp-receive-ready-evtzudp-sendz	udp-send*zudp-send-evtzudp-send-ready-evtzudp-send-tozudp-send-to*zudp-send-to-evtzudp-send-to/enable-breakzudp-send/enable-breakzudp?Zunboxzuncaught-exception-handlerzunit?zunspecified-domzunsupplied-arg?zuse-collection-link-pathszuse-compiled-file-pathszuse-user-specific-search-pathszuser-execute-bitzuser-read-bitzuser-write-bitzvalue-blamezvalue-contractr   z#variable-reference->empty-namespacez%variable-reference->module-base-phasez0variable-reference->module-declaration-inspectorz%variable-reference->module-path-indexz!variable-reference->module-sourcezvariable-reference->namespacezvariable-reference->phasez(variable-reference->resolved-module-pathzvariable-reference-constant?zvariable-reference?r   zvector->immutable-vectorr   zvector->pseudo-random-generatorz vector->pseudo-random-generator!zvector->valueszvector-appendzvector-argmaxzvector-argminzvector-copyzvector-copy!zvector-countzvector-dropzvector-drop-rightr   zvector-filterzvector-filter-notzvector-immutablezvector-immutable/czvector-immutableofr   z
vector-mapzvector-map!zvector-memberzvector-memqzvector-memvr   r   zvector-set*!zvector-set-performance-stats!zvector-split-atzvector-split-at-rightzvector-takezvector-take-rightzvector/cr   Zvectorofversionvoidzvoid?zweak-box-valuez	weak-box?zweak-setz
weak-seteqzweak-seteqvzwill-executezwill-executor?zwill-registerzwill-try-executezwith-input-from-bytesr   zwith-input-from-stringzwith-output-to-bytesr   with-output-to-stringzwould-be-futurezwrap-evtzwrapped-extra-arg-arrowz0wrapped-extra-arg-arrow-extra-neg-party-argumentz!wrapped-extra-arg-arrow-real-funczwrapped-extra-arg-arrow?zwritable<%>r   
write-bytezwrite-byteszwrite-bytes-availzwrite-bytes-avail*zwrite-bytes-avail-evtzwrite-bytes-avail/enable-breakr   zwrite-specialzwrite-special-avail*zwrite-special-evtzwrite-stringwrite-to-fileZwritelnxorr   z~.az~.sz~.vz~az~ez~rz~sz~vz[([{]z[)\]}]z()[\]{}",\'`;\sz!(?:\|[^|]*\||\\[\w\W]|[^|\\%s]+)+z(?:#e)?(?:#d)?(?:#e)?z(?:[defls][-+]?\d+)z(?:\d+(?:/\d+|\.\d*)?|\.\d+)z>(?:%s|(?:\d+#+(?:\.#*|/\d+#*)?|\.\d+#+|\d+(?:\.\d*#+|/\d+#+)))z	(?:%s%s?)z(?:(?:inf|nan)\.[0f])z(?:[-+]?%s|[-+]%s)z	(?:%s|%s)z(?!\Z)unquoted-datumz(?s)#;|#![ /]([^\\\n]|\\.)*u   ;[^\n\r  ]*r  block-commentz(?u)\s+z(?i)%s[-+]?\d+(?=[%s])r  z9(?i)%s[-+]?(\d+(\.\d*)?|\.\d+)([deflst][-+]?\d+)?(?=[%s])z+(?i)%s[-+]?(%s([-+]%s?i)?|[-+]%s?i)(?=[%s])z/(?i)(#d)?(%s([-+]%s?i)?|[-+]%s?i|%s@%s)(?=[%s])z1(?i)(([-+]?%st[-+]?\d+)|[-+](inf|nan)\.t)(?=[%s])z(?iu)(#[ei])?#b%sz(?iu)(#[ei])?#o%sz(?iu)(#[ei])?#x%sz(?iu)(#d)?#i%sz#?")r  r   z#<<(.+)\n(^(?!\1$).*$\n)*^\1$z&#\\(u[\da-fA-F]{1,4}|U[\da-fA-F]{1,8})z(?is)#\\([0-7]{3}|[a-z]+|.)z(?s)#[pr]x#?"(\\?.)*?"z#(true|false|[tTfF])z(?u)#:%sz(#lang |#!)(\S+)z#readerquoted-datumz (?i)\.(?=[%s])|#c[is]|#['`]|#,@?z'|#[s&]|#hash(eqv?)?|#\d*(?=%s))r  r  z`|,@?z[|\\]datumzquote(?=[%s])r[  )r  quasiquoted-datumzquasiquote(?=[%s]))r  unquoted-listz(?u)z(?=[%s])r  r  datum*r   z,@?)r  r  zunquote(-splicing)?(?=[%s]))r  quasiquoted-listr  )r  quoted-listr  r  z[^#|]+|."zG(?s)\\([0-7]{1,3}|x[\da-fA-F]{1,2}|u[\da-fA-F]{1,4}|U[\da-fA-F]{1,8}|.)z[^\\"]+)r%  r  r   r   r  r  r  r  r  r  r  r   N)6r&  r'  r(  r)  r*  r+  r,  r-  	_keywords	_builtinsZ_opening_parenthesisZ_closing_parenthesisZ_delimitersZ_symbolZ_exact_decimal_prefixZ	_exponentZ_inexact_simple_no_hashesZ_inexact_simpleZ_inexact_normal_no_hashesZ_inexact_normalZ_inexact_specialZ_inexact_realZ_inexact_unsignedr   r   r   r1  r2  r   r4  r3  ro  rp  rq  r   DoubleZHeredocr6  ZRegexr   r7  r
   r  r   	Namespacer	   r5  r   r   r   r   r:  Escaper<  r  r  r  r  r     s4  
a     ,

       







 D
  	


c                   @   s   e Zd ZdZdZdgZdddgZddgZej	ej
B ejB Zd	Zd
Zdejfdejfdejfdefdefdedfdedfdefeeddefde ejfeejfdefgdedfdedfdefgdedfgdZdS ) r   zd
    For `newLISP. <www.newlisp.org>`_ source code (version 10.3.0).

    .. versionadded:: 1.5
    ZNewLispZnewlispz*.lspz*.nlz*.kifztext/x-newlispzapplication/x-newlisp(  ^z--r7   rY  !z!=?@r5   r8   &%r6   z++r9   <<r:   r;   r<   r=   >>r  r  $z$0z$1z$10z$11z$12z$13z$14z$15z$2z$3z$4z$5z$6z$7z$8z$9z$argsz$idxz$itz
$main-argsabortr>   r?   ZacoshaddZaddressZambr"   zappend-filerA   rB   argsz
array-listzarray?arrayrC   ZasinhrD   rG   Zatan2Zatanhzatom?z
base64-decz
base64-enczbayes-queryzbayes-trainr(   ZbetaZbetaibindZbinomialbitscallbackr$   catchZceilz
change-dircharZchoprQ  Zcleanclosezcommand-eventr!   r   Zconstantzcontext?contextr  copyr   r  r  ZcpymemZcrc32z	crit-chi2zcrit-zzcurrent-liner  z	date-listz
date-parsez
date-valuer  debugr  zdef-newr   zdefine-macror   r  z
delete-urldeletedestroyZdetZdevice
differencez
directory?Z	directoryZdivzdo-untilzdo-whileZdoargsdolistZdostringdotimesZdotreedumpdupr  Zencryptz	ends-withenvZerfzerror-eventzeval-stringr   execexistsr  r   r  explodeextendZfactorZfftz	file-infozfile?r  zfind-allfindrv  Zflatzfloat?floatr   Zfltr  zfor-allrs  forkr  ZfvZgammaiZgammalnr   zget-charz	get-floatzget-intzget-longz
get-stringzget-urlzglobal?globalzif-notr   Zifftrz  r  rU  zinf?intr   ZintegerZ	intersectinvertZirrr8  zlambda-macrozlambda?r   z
last-errorr  zlegal?r   r%   ZletexZletnr   r   r   r  r   lookupz
lower-casezmacro?z	main-argsZMAINzmake-dirr   Zmatr  r   r   r   modr  mulZmultiplyzNaN?z
net-acceptz	net-closeznet-connectz	net-errorznet-evalznet-interfaceznet-ipvz
net-listenz	net-localz
net-lookupz
net-packetznet-peekznet-peerznet-pingznet-receive-fromznet-receive-udpznet-receivez
net-selectznet-send-toznet-send-udpznet-sendznet-serviceznet-sessionsr  znil?nilZnormalr   nowZnperZnpvr  r   r   r  r#   ZostypeZpackz
parse-dateparsepeekpipeZpmtz	pop-assocpopzpost-urlpowr  r  r  r  r  z	prob-chi2zprob-zr  zprompt-eventz
protected?pushzput-urlZpvzquote?r-   Zrandr  Z	randomizer   r   z	read-expr	read-filezread-keyr  z	read-utf8zreader-eventz	real-pathZreceivezref-allrefz
regex-compZregexz
remove-dirrename-filereplaceresetrw  r   rotater   savesearchZseedseekselectrM  Z	semaphorer  ZsequenceZseriesz
set-localezset-ref-allzset-refr  setfsetqr  ZsharesignalZsilentr   r  r  r}  r  sourceZspawnr   zstarts-withr   r   subZswapZsymr   r  r  z	sys-errorzsys-infor   r  Ztermzthrow-errorthrowztime-of-dayr  Ztimerz
title-caseztrace-highlighttraceZ	transposeZTreeZtrimztrue?r  Zunicodeunifyuniquery  unpackZuntilz
upper-caseutf8Zutf8lenZuuidzwait-pidrx  r  r   r   z
write-filez
write-linez
xfer-eventz	xml-errorz	xml-parsezxml-type-tagsr   z$([\w!$%&*+.,/<=>?@^~|-])+|(\[.*?\])+z#!(.*?)$r   z#.*$r  r  z\{bracestringz	\[text\]*	tagstringz('|:)\br  r  r  r  z\}r  z[^{}]+z(?s)(.*?)(\[/text\]))r%  rQ  rR  N)r&  r'  r(  r)  r*  r+  r,  r-  r  rf  rg  UNICODErh  r/  r0  r   rm  r1  r   r   r	   r   r
   r   r9  r5  r   r<  r  r  r  r  r   y  s<   
>
'c                    @   s  e Zd ZdZdZdddgZdgZddgZej	Z
d	Zed
 ZdZdeef ZedZedZedZedZedZedZdd Zedgdefdejfdedfdejfde ejfde ejfde ejfde fde fde e!j"fd e e!fd!e e!j#fd"e$fd#e ejfd$e fd%ej%fd&e!j&fd'e!j'fd(e!j(fd)e!fd*e fd+e fd,e fd-e ej)fd.e d. ej*j+feej*fd/e dfd0e$dfd1e$d2fgd3efd4e ejfdefd5efd6efded2fgd7Z,d8S )9r   z
    An ELisp lexer, parsing a stream and outputting the tokens
    needed to highlight elisp code.

    .. versionadded:: 2.1
    Z	EmacsLispZemacsZelispz
emacs-lispz*.elztext/x-elispzapplication/x-elispz\\.|[\w!$%&*+-/<=>?@^{}~|]r=  z(?=[ "()\]\'\n,;`])z((?:%s)(?:%s)*))zatomic-change-groupr$   blockzcl-blockzcl-callfz	cl-callf2zcl-casezcl-decfz
cl-declaimz
cl-declarezcl-define-compiler-macrozcl-defmacrozcl-defstructzcl-defsubstz
cl-deftypezcl-defunzcl-destructuring-bindzcl-dozcl-do*zcl-do-all-symbolszcl-do-symbolsz	cl-dolistz
cl-dotimeszcl-ecasezcl-etypecasez	eval-whenzcl-eval-whenzcl-fletzcl-flet*zcl-functionzcl-incfz	cl-labelszcl-letfzcl-letf*zcl-load-time-valuez
cl-locallyzcl-loopzcl-macroletzcl-multiple-value-bindzcl-multiple-value-setqzcl-progvzcl-psetfzcl-psetqz
cl-pushnewzcl-remfz	cl-returnzcl-return-fromz
cl-rotatefz	cl-shiftfzcl-symbol-macroletz
cl-tagbodyzcl-thezcl-typecasezcombine-after-change-callszcondition-case-unless-debugZdecfZdeclaimdeclarezdeclare-functionzdef-edebug-specZ	defadvicer  Z	defcustomZdeffaceZ
defgenericZdefgroupzdefine-advicezdefine-alternativeszdefine-compiler-macrozdefine-derived-modezdefine-generic-modezdefine-global-minor-modezdefine-globalized-minor-modezdefine-minor-modezdefine-modify-macrozdefine-obsolete-face-aliaszdefine-obsolete-function-aliaszdefine-obsolete-variable-aliaszdefine-setf-expanderzdefine-skeletonr  Z	defmethodZdefsetfZ	defstructZdefsubstZdefthemeZdeftyper  zdefvar-localzdelay-mode-hookszdestructuring-bindr)   zdo*zdo-all-symbolsz
do-symbolsr"  zdont-compiler#  zdotimes-with-progress-reporterZecasezert-deftestZ	etypecaser  r  Zfletzignore-errorsZincflabelsr   r'   zlexical-letzlexical-let*Zloopzmultiple-value-bindzmultiple-value-setqZnoreturnZorefzoref-defaultZosetzoset-defaultZpcasezpcase-defmacrozpcase-dolistzpcase-exhaustivez	pcase-letz
pcase-let*r9  ZpsetfZpsetqr;  Zpushnewr  returnZrotatefZrxzsave-match-datazsave-selected-windowzsave-window-excursionrF  z
setq-localZshiftfztrack-mouseZtypecasery  zuse-packagerx  zwhile-no-inputzwith-case-tablezwith-category-tablezwith-coding-priorityzwith-current-bufferzwith-demoted-errorszwith-eval-after-loadzwith-file-modeszwith-local-quitr  zwith-output-to-temp-bufferzwith-parsed-tramp-file-namezwith-selected-framezwith-selected-windowzwith-silent-modificationsz
with-slotszwith-syntax-tablezwith-temp-bufferzwith-temp-filezwith-temp-messagezwith-timeoutzwith-tramp-connection-propertyzwith-tramp-file-propertyzwith-tramp-progress-reporterzwith-wrapper-hookzload-time-valueZlocallyZmacroletZprogvzreturn-from)r"   r  r!   zcondition-caseZdefconstZdefvarfunctionr   interactiver%   r&   r#   Zprog1Zprog2r{  r-   zsave-current-bufferzsave-excursionzsave-restrictionrG  zsetq-defaultz
subr-arityzunwind-protectr  (  r  r5   r6   r7   r8   z/=z1+z1-r9   r:   r;   r<   r=   zSnarf-documentationzabort-recursive-editr>   zaccept-process-outputzaccess-filezaccessible-keymapsr?   zactive-minibuffer-windowzadd-face-text-propertyzadd-name-to-filezadd-text-propertieszall-completionsrA   rB   zapropos-internalarefZarraypZasetZashrC   rD   zassoc-stringrE   rG   ZatomZautoloadzautoload-do-loadZ	backtracezbacktrace--localszbacktrace-debugzbacktrace-evalzbacktrace-framezbackward-charzbackward-prefix-charszbarf-if-buffer-read-onlyzbase64-decode-regionzbase64-decode-stringzbase64-encode-regionzbase64-encode-stringzbeginning-of-linez#bidi-find-overridden-directionalityzbidi-resolved-levelszbitmap-spec-pZbobpZbolpzbool-vectorzbool-vector-count-consecutivezbool-vector-count-populationzbool-vector-exclusive-orzbool-vector-intersectionzbool-vector-notzbool-vector-pzbool-vector-set-differencezbool-vector-subsetpzbool-vector-unionZboundpzbuffer-base-bufferzbuffer-chars-modified-tickzbuffer-enable-undozbuffer-file-namezbuffer-has-markers-atzbuffer-listzbuffer-live-pzbuffer-local-valuezbuffer-local-variableszbuffer-modified-pzbuffer-modified-tickzbuffer-namezbuffer-sizezbuffer-stringzbuffer-substringzbuffer-substring-no-propertieszbuffer-swap-textZbufferpzbury-buffer-internalz	byte-codezbyte-code-function-pzbyte-to-positionzbyte-to-string	byteorderzcall-interactivelyzcall-last-kbd-macrozcall-processzcall-process-regionzcancel-kbd-macro-events
capitalizezcapitalize-regionzcapitalize-wordr\   zcar-less-than-carzcar-safezcase-table-pzcategory-docstringzcategory-set-mnemonicszcategory-tablezcategory-table-pzccl-executezccl-execute-on-stringzccl-program-prk   zcdr-saferl   z
char-afterzchar-beforezchar-category-setzchar-charsetz
char-equalzchar-or-string-pzchar-resolve-modifierszchar-syntaxzchar-table-extra-slotzchar-table-pzchar-table-parentzchar-table-rangezchar-table-subtypezchar-to-stringz
char-widthZ
characterpzcharset-afterzcharset-id-internalzcharset-plistzcharset-priority-listZcharsetpzcheck-coding-systemzcheck-coding-systems-regionzclear-buffer-auto-save-failurezclear-charset-mapszclear-face-cachezclear-font-cachezclear-image-cachezclear-stringzclear-this-command-keysz
close-fontZclrhashzcoding-system-aliaseszcoding-system-basezcoding-system-eol-typezcoding-system-pzcoding-system-plistzcoding-system-priority-listzcoding-system-putzcolor-distancezcolor-gray-pzcolor-supported-pzcombine-after-change-executezcommand-error-default-functionzcommand-remappingZcommandpzcompare-buffer-substringszcompare-stringszcompare-window-configurationszcompleting-readzcompose-region-internalzcompose-string-internalzcomposition-get-gstringzcompute-motionconcatr   Zconspzconstrain-to-fieldzcontinue-processzcontrolling-tty-pzcoordinates-in-window-pz
copy-alistzcopy-category-tabler  zcopy-hash-tablezcopy-keymapzcopy-markerzcopy-sequencezcopy-syntax-tableZcopysignr   zcurrent-active-mapsz current-bidi-paragraph-directionzcurrent-bufferzcurrent-case-tablezcurrent-columnzcurrent-global-mapzcurrent-idle-timezcurrent-indentationzcurrent-input-modezcurrent-local-mapzcurrent-messagezcurrent-minor-mode-mapszcurrent-timezcurrent-time-stringzcurrent-time-zonezcurrent-window-configurationz%cygwin-convert-file-name-from-windowsz#cygwin-convert-file-name-to-windowszdaemon-initializedZdaemonpzdbus--init-buszdbus-get-unique-namezdbus-message-internalzdebug-timer-checkzdeclare-equiv-charsetzdecode-big5-charzdecode-charzdecode-coding-regionzdecode-coding-stringzdecode-sjis-charzdecode-timezdefault-boundpzdefault-file-modeszdefault-printer-namezdefault-toplevel-valuezdefault-valuezdefine-categoryzdefine-charset-aliaszdefine-charset-internalzdefine-coding-system-aliaszdefine-coding-system-internalzdefine-fringe-bitmapzdefine-hash-table-testz
define-keyzdefine-prefix-commandr  zdelete-all-overlayszdelete-and-extract-regionzdelete-charzdelete-directory-internalzdelete-fieldr  zdelete-framezdelete-other-windows-internalzdelete-overlayzdelete-processzdelete-regionzdelete-terminalzdelete-window-internalZdelqzdescribe-buffer-bindingszdescribe-vectorzdestroy-fringe-bitmapzdetect-coding-regionzdetect-coding-stringZdingzdirectory-file-namezdirectory-fileszdirectory-files-and-attributeszdiscard-inputz"display-supports-face-attributes-pzdo-auto-saveZdocumentationzdocumentation-propertyZdowncasezdowncase-regionzdowncase-wordzdraw-stringzdump-colorsz
dump-emacsz	dump-facezdump-frame-glyph-matrixzdump-glyph-matrixzdump-glyph-rowzdump-redisplay-historyzdump-tool-bar-rowZeltz	emacs-pidzencode-big5-charzencode-charzencode-coding-regionzencode-coding-stringzencode-sjis-charzencode-timezend-kbd-macrozend-of-lineZeobpZeolpeqZeqlZequalzequal-including-propertieszerase-bufferzerror-message-stringr   zeval-bufferzeval-regionzevent-convert-listzexecute-kbd-macrozexit-recursive-editr   zexpand-file-namer   zexternal-debugging-outputzface-attribute-relative-pzface-attributes-as-vectorz	face-fontZfboundpZfceilingzfetch-bytecodeZffloorzfield-beginningz	field-endzfield-stringzfield-string-no-propertieszfile-accessible-directory-pzfile-aclzfile-attributeszfile-attributes-lesspzfile-directory-pzfile-executable-pzfile-exists-pzfile-locked-pz
file-modeszfile-name-absolute-pzfile-name-all-completionszfile-name-as-directoryzfile-name-completionzfile-name-directoryzfile-name-nondirectoryzfile-newer-than-file-pzfile-readable-pzfile-regular-pzfile-selinux-contextzfile-symlink-pfile-system-infor`  zfile-writable-pZ	fillarrayzfind-charset-regionzfind-charset-stringz#find-coding-systems-region-internalzfind-composition-internalzfind-file-name-handlerz	find-fontzfind-operation-coding-systemr,  z
float-timeZfloatpr   Zfmakunboundzfollowing-charzfont-atzfont-drive-otfzfont-face-attributeszfont-family-listzfont-getzfont-get-glyphszfont-get-system-fontzfont-get-system-normal-fontz	font-infozfont-match-pzfont-otf-alternateszfont-putzfont-shape-gstringz	font-speczfont-variation-glyphszfont-xlfd-nameZfontpzfontset-fontzfontset-infozfontset-listzfontset-list-allzforce-mode-line-updatezforce-window-updater  zformat-mode-linezformat-network-addresszformat-time-stringzforward-charzforward-commentzforward-linezforward-wordzframe-border-widthzframe-bottom-divider-widthz.frame-can-run-window-configuration-change-hookzframe-char-heightzframe-char-widthzframe-face-alistzframe-first-windowzframe-focuszframe-font-cachezframe-fringe-widthz
frame-listzframe-live-pzframe-or-buffer-changed-pzframe-parameterzframe-parameterszframe-pixel-heightzframe-pixel-widthzframe-pointer-visible-pzframe-right-divider-widthzframe-root-windowzframe-scroll-bar-heightzframe-scroll-bar-widthzframe-selected-windowzframe-terminalzframe-text-colszframe-text-heightzframe-text-lineszframe-text-widthzframe-total-colszframe-total-lineszframe-visible-pZframepZfrexpzfringe-bitmaps-at-posZfroundfset	ftruncateZfuncallzfuncall-interactivelyzfunction-equalZ	functionpzgap-positionzgap-sizezgarbage-collectz	gc-statuszgenerate-new-buffer-namer|  z
get-bufferzget-buffer-createzget-buffer-processzget-buffer-windowzget-bytezget-char-propertyzget-char-property-and-overlayzget-file-bufferzget-file-charzget-internal-run-timezget-load-suffixeszget-pos-propertyzget-processzget-screen-colorzget-text-propertyzget-unicode-property-internalzget-unused-categoryzget-unused-iso-final-charzgetenv-internalZgethashzgfile-add-watchzgfile-rm-watchzglobal-key-bindingzgnutls-available-pzgnutls-bootz
gnutls-byezgnutls-deinitzgnutls-error-fatalpzgnutls-error-stringzgnutls-errorpzgnutls-get-initstagezgnutls-peer-statusz#gnutls-peer-status-warning-describez	goto-charzgpm-mouse-startzgpm-mouse-stopz	group-gidzgroup-real-gidzhandle-save-sessionzhandle-switch-framezhash-table-countzhash-table-pzhash-table-rehash-sizezhash-table-rehash-thresholdzhash-table-sizezhash-table-testzhash-table-weaknessziconify-framer  zimage-flushzimage-mask-pzimage-metadataz
image-sizezimagemagick-typesZimagepz	indent-tozindirect-functionzindirect-variablezinit-image-libraryzinotify-add-watchzinotify-rm-watchzinput-pending-pinsertzinsert-and-inheritzinsert-before-markersz!insert-before-markers-and-inheritzinsert-buffer-substringzinsert-bytezinsert-charzinsert-file-contentszinsert-startup-screenZint86zinteger-or-marker-pZintegerpzinteractive-forminternzintern-softzinternal--track-mousezinternal-char-fontzinternal-complete-bufferzinternal-copy-lisp-facezinternal-default-process-filterz!internal-default-process-sentinelzinternal-describe-syntax-valuez%internal-event-symbol-parse-modifierszinternal-face-x-get-resourcez internal-get-lisp-face-attributez#internal-lisp-face-attribute-valueszinternal-lisp-face-empty-pzinternal-lisp-face-equal-pzinternal-lisp-face-pzinternal-make-lisp-facezinternal-make-var-non-specialzinternal-merge-in-global-facez*internal-set-alternative-font-family-alistz,internal-set-alternative-font-registry-alistz!internal-set-font-selection-orderz internal-set-lisp-face-attributez.internal-set-lisp-face-attribute-from-resourcezinternal-show-cursorzinternal-show-cursor-pzinterrupt-processzinvisible-pzinvocation-directoryzinvocation-nameZisnanziso-charsetzkey-bindingzkey-descriptionzkeyboard-coding-systemzkeymap-parentzkeymap-promptZkeymappZkeywordpzkill-all-local-variableszkill-bufferz
kill-emacszkill-local-variablezkill-processzlast-nonminibuffer-framezlax-plist-getzlax-plist-putZldexpr   zlibxml-parse-html-regionzlibxml-parse-xml-regionzline-beginning-positionzline-end-positionzline-pixel-heightr   z
list-fontszlist-system-processesZlistpr   zload-averagezlocal-key-bindingzlocal-variable-if-set-pzlocal-variable-pzlocale-infozlocate-file-internalzlock-bufferr   ZlogandZlogbZlogiorZlognotZlogxorz
looking-atzlookup-imagezlookup-image-mapz
lookup-keyzlower-frameZlshmacroexpandzmake-bool-vectorzmake-byte-codezmake-category-setzmake-category-tablez	make-charzmake-char-tablezmake-directory-internalzmake-frame-invisiblezmake-frame-visiblezmake-hash-tablezmake-indirect-bufferzmake-keymapr  zmake-local-variablezmake-markerzmake-network-processzmake-overlayzmake-serial-processzmake-sparse-keymapr   zmake-symbolzmake-symbolic-linkzmake-temp-namezmake-terminal-framezmake-variable-buffer-localzmake-variable-frame-localr   Z
makunboundzmap-char-tablezmap-charset-charsz
map-keymapzmap-keymap-internalZmapatomsZmapcZmapcarZ	mapconcatZmaphashzmark-markerzmarker-bufferzmarker-insertion-typezmarker-positionZmarkerpzmatch-beginningz
match-dataz	match-endzmatching-parenr   zmax-charZmd5r   zmemory-infozmemory-limitzmemory-use-countsr   Zmemqlzmenu-bar-menu-at-x-ymenu-or-popup-active-prf  zmerge-face-attributemessagezmessage-boxzmessage-or-boxr   zminibuffer-completion-contentszminibuffer-contentsz!minibuffer-contents-no-propertieszminibuffer-depthzminibuffer-promptzminibuffer-prompt-endzminibuffer-selected-windowzminibuffer-windowZminibufferpzminor-mode-key-bindingr2  zmodify-category-entryzmodify-frame-parameterszmodify-syntax-entryzmouse-pixel-positionzmouse-positionzmove-overlayzmove-point-visuallyzmove-to-columnzmove-to-window-linezmsdos-downcase-filenamezmsdos-long-file-nameszmsdos-memgetzmsdos-memputzmsdos-mouse-disablezmsdos-mouse-enablezmsdos-mouse-initzmsdos-mouse-pzmsdos-remember-default-colorszmsdos-set-keyboardzmsdos-set-mouse-buttonszmultibyte-char-to-unibytezmultibyte-string-pznarrow-to-regionZnatnumpZnconcznetwork-interface-infoznetwork-interface-listznew-fontsetznewline-cache-checkznext-char-property-changez
next-frameznext-overlay-changeznext-property-changeznext-read-file-uses-dialog-pz next-single-char-property-changeznext-single-property-changeznext-windowZnlistpZnreverser  Znthcdrr  znumber-or-marker-pznumber-to-stringZnumberpzopen-dribble-filez	open-fontzopen-termscriptzoptimize-char-tablezother-bufferzother-window-for-scrollingzoverlay-bufferzoverlay-endzoverlay-getzoverlay-listszoverlay-propertieszoverlay-putzoverlay-recenterzoverlay-startZoverlaypzoverlays-atzoverlays-inzparse-partial-sexpzplay-sound-internalz	plist-getzplist-memberz	plist-putZpointzpoint-markerz	point-maxzpoint-max-markerz	point-minzpoint-min-markerzpos-visible-in-window-pzposition-byteszposix-looking-atzposix-search-backwardzposix-search-forwardzposix-string-matchzposn-at-pointzposn-at-x-yzpreceding-charzprefix-numeric-valuezprevious-char-property-changezprevious-framezprevious-overlay-changezprevious-property-changez$previous-single-char-property-changezprevious-single-property-changezprevious-windowZprin1zprin1-to-stringZprincr  zprocess-attributeszprocess-bufferzprocess-coding-systemzprocess-commandzprocess-connectionzprocess-contactzprocess-datagram-addresszprocess-exit-statuszprocess-filterzprocess-filter-multibyte-pz
process-idz"process-inherit-coding-system-flagzprocess-listzprocess-markzprocess-namezprocess-plistzprocess-query-on-exit-flagzprocess-running-child-pzprocess-send-eofzprocess-send-regionzprocess-send-stringzprocess-sentinelzprocess-statuszprocess-tty-namezprocess-typeZprocesspzprofiler-cpu-logzprofiler-cpu-running-pzprofiler-cpu-startzprofiler-cpu-stopzprofiler-memory-logzprofiler-memory-running-pzprofiler-memory-startzprofiler-memory-stopZ
propertizeZpurecopyputzput-text-propertyzput-unicode-property-internalZputhashz
query-fontzquery-fontsetzquit-processzraise-framer  ZrassocZrassqzre-search-backwardzre-search-forwardr   zread-bufferr   zread-char-exclusivezread-coding-systemzread-commandz
read-eventzread-from-minibufferread-from-stringzread-functionzread-key-sequencezread-key-sequence-vectorzread-no-blanks-inputzread-non-nil-coding-systemr  zread-variablezrecent-auto-save-pzrecent-doskeyszrecent-keysZrecenterzrecursion-depthzrecursive-editzredirect-debugging-outputzredirect-frame-focusZ	redisplayzredraw-displayzredraw-framer  zregion-beginningz
region-endzregister-ccl-programzregister-code-conversion-mapZremhashzremove-list-of-text-propertieszremove-text-propertieszrename-bufferr>  zreplace-matchzreset-this-command-lengthszresize-mini-window-internalzrestore-buffer-modified-pz
resume-ttyr   r   zrun-hook-with-argsz run-hook-with-args-until-failurez run-hook-with-args-until-successzrun-hook-wrappedz	run-hooksz$run-window-configuration-change-hookzrun-window-scroll-functionszsafe-lengthz
scan-listsz
scan-sexpszscroll-downzscroll-leftzscroll-other-windowzscroll-rightz	scroll-upzsearch-backwardzsearch-forwardzsecure-hashzselect-framezselect-windowzselected-framezselected-windowzself-insert-commandzsend-string-to-terminalZ	sequencepzserial-process-configurer  z
set-bufferzset-buffer-auto-savedzset-buffer-major-modezset-buffer-modified-pzset-buffer-multibytezset-case-tablezset-category-tablezset-char-table-extra-slotzset-char-table-parentzset-char-table-rangezset-charset-plistzset-charset-priorityzset-coding-system-priorityzset-cursor-sizezset-defaultzset-default-file-modeszset-default-toplevel-valuezset-file-aclzset-file-modeszset-file-selinux-contextzset-file-timeszset-fontset-fontzset-frame-heightzset-frame-positionzset-frame-selected-windowzset-frame-sizezset-frame-widthzset-fringe-bitmap-facezset-input-interrupt-modezset-input-meta-modezset-input-modez#set-keyboard-coding-system-internalzset-keymap-parentz
set-markerzset-marker-insertion-typezset-match-datazset-message-beepzset-minibuffer-windowzset-mouse-pixel-positionzset-mouse-positionzset-network-process-optionzset-output-flow-controlzset-process-bufferzset-process-coding-systemzset-process-datagram-addresszset-process-filterzset-process-filter-multibytez&set-process-inherit-coding-system-flagzset-process-plistzset-process-query-on-exit-flagzset-process-sentinelzset-process-window-sizezset-quit-charz(set-safe-terminal-coding-system-internalzset-screen-colorzset-standard-case-tablezset-syntax-tablez#set-terminal-coding-system-internalzset-terminal-local-valuezset-terminal-parameterzset-text-propertieszset-time-zone-rulezset-visited-file-modtimezset-window-bufferzset-window-combination-limitzset-window-configurationzset-window-dedicated-pzset-window-display-tablezset-window-fringeszset-window-hscrollzset-window-marginszset-window-new-normalzset-window-new-pixelzset-window-new-totalzset-window-next-bufferszset-window-parameterzset-window-pointzset-window-prev-buffersz set-window-redisplay-end-triggerzset-window-scroll-barszset-window-startzset-window-vscrollZsetcarZsetcdrZsetplistzshow-face-resourcesrH  zsignal-processr   zsingle-key-descriptionzskip-chars-backwardzskip-chars-forwardzskip-syntax-backwardzskip-syntax-forwardz	sleep-forr  zsort-charsetszspecial-variable-pz
split-charzsplit-window-internalr   zstandard-case-tablezstandard-category-tablezstandard-syntax-tablezstart-kbd-macrozstart-processzstop-processzstore-kbd-macro-eventr   zstring-as-multibytezstring-as-unibytezstring-byteszstring-collate-equalpzstring-collate-lesspzstring-equalzstring-lesspzstring-make-multibytezstring-make-unibytezstring-matchzstring-to-charzstring-to-multibytezstring-to-numberzstring-to-syntaxzstring-to-unibytezstring-widthZstringpz	subr-nameZsubrpzsubst-char-in-regionzsubstitute-command-keyszsubstitute-in-file-namer   zsubstring-no-propertieszsuspend-emacszsuspend-ttyzsuspicious-objectZsxhashzsymbol-functionzsymbol-namezsymbol-plistzsymbol-valueZsymbolpzsyntax-tablezsyntax-table-pzsystem-groupszsystem-move-file-to-trashzsystem-namezsystem-usersr   zterminal-coding-systemzterminal-listzterminal-live-pzterminal-local-valuezterminal-namezterminal-parameterzterminal-parametersZterpriztest-completionztext-char-descriptionztext-properties-atztext-property-anyztext-property-not-allzthis-command-keyszthis-command-keys-vectorzthis-single-command-keyszthis-single-command-raw-keysztime-addztime-less-pztime-subtractztool-bar-get-system-styleztool-bar-heightztool-bar-pixel-widthz	top-levelztrace-redisplayztrace-to-stderrztranslate-region-internalztranspose-regionsr   ztry-completionztty-display-color-cellsztty-display-color-pztty-no-underlinez(tty-suppress-bold-inverse-default-colorsztty-top-frameztty-typeztype-ofzundo-boundaryzunencodable-char-positionzunhandled-file-name-directoryzunibyte-char-to-multibytezunibyte-stringzunicode-property-table-internalzunify-charsetZuninternz	unix-synczunlock-bufferZupcasezupcase-initialszupcase-initials-regionzupcase-regionzupcase-wordzuse-global-mapzuse-local-mapzuser-full-namezuser-login-namezuser-real-login-namezuser-real-uidzuser-uidzvariable-binding-locusZvconcatr   zvector-or-char-table-pZvectorpzverify-visited-file-modtimezvertical-motionzvisible-frame-listzvisited-file-modtimezw16-get-clipboard-datazw16-selection-exists-pzw16-set-clipboard-datazw32-battery-statuszw32-default-color-mapzw32-define-rgb-colorz#w32-display-monitor-attributes-listzw32-frame-menu-bar-sizezw32-frame-rectzw32-get-clipboard-datazw32-get-codepage-charsetzw32-get-console-codepagezw32-get-console-output-codepagezw32-get-current-locale-idzw32-get-default-locale-idzw32-get-keyboard-layoutzw32-get-locale-infozw32-get-valid-codepageszw32-get-valid-keyboard-layoutszw32-get-valid-locale-idszw32-has-winsockzw32-long-file-namezw32-reconstruct-hot-keyzw32-register-hot-keyzw32-registered-hot-keyszw32-selection-exists-pzw32-send-sys-commandzw32-set-clipboard-datazw32-set-console-codepagezw32-set-console-output-codepagezw32-set-current-localezw32-set-keyboard-layoutzw32-set-process-priorityzw32-shell-executezw32-short-file-namezw32-toggle-lock-keyzw32-unload-winsockzw32-unregister-hot-keyzw32-window-exists-pzw32notify-add-watchzw32notify-rm-watchzwaiting-for-user-input-pzwhere-is-internalZwidenzwidget-applyz
widget-getz
widget-putzwindow-absolute-pixel-edgesz	window-atzwindow-body-heightzwindow-body-widthzwindow-bottom-divider-widthzwindow-bufferzwindow-combination-limitzwindow-configuration-framezwindow-configuration-pzwindow-dedicated-pzwindow-display-tablezwindow-edgesz
window-endzwindow-framezwindow-fringeszwindow-header-line-heightzwindow-hscrollz"window-inside-absolute-pixel-edgeszwindow-inside-edgeszwindow-inside-pixel-edgeszwindow-left-childzwindow-left-columnzwindow-line-heightzwindow-listzwindow-list-1zwindow-live-pzwindow-marginszwindow-minibuffer-pzwindow-mode-line-heightzwindow-new-normalzwindow-new-pixelzwindow-new-totalzwindow-next-bufferszwindow-next-siblingzwindow-normal-sizezwindow-old-pointzwindow-parameterzwindow-parameterszwindow-parentzwindow-pixel-edgeszwindow-pixel-heightzwindow-pixel-leftzwindow-pixel-topzwindow-pixel-widthzwindow-pointzwindow-prev-bufferszwindow-prev-siblingzwindow-redisplay-end-triggerzwindow-resize-applyzwindow-resize-apply-totalzwindow-right-divider-widthzwindow-scroll-bar-heightzwindow-scroll-bar-widthzwindow-scroll-barszwindow-startzwindow-systemzwindow-text-heightzwindow-text-pixel-sizezwindow-text-widthzwindow-top-childzwindow-top-linezwindow-total-heightzwindow-total-widthzwindow-use-timezwindow-valid-pzwindow-vscrollZwindowpr   zwrite-regionzx-backspace-delete-keys-px-change-window-propertyrj  x-close-connectionrk  x-create-framerl  x-delete-window-propertyrm  zx-disown-selection-internalx-display-backing-storern  x-display-color-cellsro  x-display-grayscale-prp  x-display-listrq  x-display-mm-heightrr  x-display-mm-widthrs  z!x-display-monitor-attributes-listx-display-pixel-heightrt  x-display-pixel-widthru  x-display-planesrv  x-display-save-underrw  x-display-screensrx  x-display-visual-classry  zx-family-fontsx-file-dialogrz  rz  zx-focus-framex-frame-geometryr{  zx-get-atom-namezx-get-resourcezx-get-selection-internal
x-hide-tipr|  zx-list-fontszx-load-color-filex-menu-bar-open-internalr}  x-open-connectionr~  zx-own-selection-internalzx-parse-geometryzx-popup-dialogzx-popup-menuzx-register-dnd-atomx-select-fontr  zx-selection-exists-pzx-selection-owner-pzx-send-client-messagex-server-max-request-sizer  x-server-vendorr  x-server-versionr  
x-show-tipr  x-synchronizer  zx-uses-old-gtk-dialogx-window-propertyr  zx-wm-set-size-hintxw-color-defined-pr  xw-color-valuesr  xw-display-color-pr  zyes-or-no-pzzlib-available-pzzlib-decompress-regionzforward-point)	Zdefvaraliasr  r  zwith-no-warningszdefine-widgetzwith-electric-helprK  ZdefaliasZfeaturep)z&allow-other-keysz&auxz&bodyz&environmentz&keyz	&optionalz&restz&whole)z	cl-assertzcl-check-typer  rH  z
user-errorwarnc                 c   s   dg}t | ||D ]\}}}|tjkr|tjkrB|tj|fV  q|tjkrZ|t|fV  q|tj	krt|tj
|fV  q|tjkr|tj|fV  q|tjkr|tj|fV  q|tjkr|tj|fV  q|||fV  qd S rN  )r   rO  r   r9  r   rE  r;  rF  r
   error_keywords	Exceptionbuiltin_function_highlightedr:  rG  rH  PseudorR  r  r  r  rO    s,    






z%EmacsLispLexer.get_tokens_unprocessedrX  r  r   r  r   z\?([^\\]|\\.)rY  rZ  r  r[  r\  r]  r^  z\[|\]r`  z#\^\^?ra  z#[bB][+-]?[01]+(/[01]+)?z#[oO][+-]?[0-7]+(/[0-7]+)?z&#[xX][+-]?[0-9a-fA-F]+(/[0-9a-fA-F]+)?z&#\d+r[+-]?[0-9a-zA-Z]+(/[0-9a-zA-Z]+)?rb  rc  z(,@|,|\.|:)rd  re  r_  r"  r#  r  z[^"\\`]+z`%s\'z\\.z\\\n)r%  rX  r   N)-r&  r'  r(  r)  r*  r+  r,  r-  r  rg  rh  ri  rj  rk  rl  r  rG  rF  rE  r  rH  r  rO  r   r   r   r1  r   r6  r   r:  r5  r	   r   r4  r3  r   r;  ro  rp  rq  r7  r9  rr  r<  r  r  r  r  r     s   
1   <
Cc                   @   sH  e Zd ZdZdZdgZdgZddgZdZdZ	d	Z
d
Zedd eD Zedd e
D  edd e	D  dZde Zde Zde Zdedfdejfdejfdefgdejfdejfdefdefdefdefdefdejfd ejfded!feej fd"e!j"feefd#efgd$Z#d%d& Z$d'd( Z%d)d* Z&d+d, Z'd-d. Z(d/d0 Z)d1S )2r   z^
    Lexer for `Shen <http://shenlanguage.org/>`_ source code.

    .. versionadded:: 2.1
    ZShenZshenz*.shenztext/x-shenzapplication/x-shen)
datatyper   r  Z	defprologZdefccZsynonymsrV  packagetyperY  )r   r|  r%   r   Zcasesr!   rh  r  ZfreezerW  r   r  Zprotectr#   r"   r   r)   outputzprolog?z
trap-errorr  r   z/.r  z@pz@sz@v)r  r;   r5   r6   r7   r8   r9   r<   r=   r:   z	<-addressz<-vectorr  Z	absvectorz
absvector?z	address->ZadjoinrA   ZarityrD   r  rH   zbound?callZcdr  Zcnr  r^  r   r  Zcutr   r!  zelement?r  zenable-type-theoryzerror-to-stringr   zeval-klZ	exceptionr)  ZexternalZfailzfail-ifr  findallZfixZfstZfwhenr  zget-timer  ZhdZhdstrZhdvheadZ	identicalimplementationr  r   zinclude-all-butZ
inferencesinputzinput+r   rd  intersectionr  killZlanguager   limitZlinereadZloadedZmacrore  r   ZmapcanZmaxinferencesmodez	n->stringnlr  r  r   Zoccurrenceszoccurs-checkr  osoutZportZportersposprZprecludezpreclude-all-butr  Zprofilezprofile-resultsZpsquitr   zread+r  r<  zread-file-as-bytelistzread-file-as-stringri  releaser  rX  r   runrB  r  zsimple-errorZsndZ
specialiseZspystepZstinputZstoutputstrz	string->nr   r   Zsubstr   ZsystemftailZtcztc?ZthawZtlZtlstrZtlvZtrackztuple?Z
undefmacrorM  zunify!unionZ	unprofileZunspecialiseZuntrackz	variable?r   zvector->r   Zverifiedr  r  rx  r  r  zy-or-n?)whereskipr  r  r
  z<e>z<!>c                 c   s   | ]}|t fV  qd S Nr
   r  sr  r  r  r    s     zShenLexer.<genexpr>c                 c   s   | ]}|t jfV  qd S r  )r   r:  r  r  r  r  r    s     c                 c   s   | ]}|t fV  qd S r  r  r  r  r  r  r    s     z[\w!$%*+,<=>?/.\'@&#:-]z%s+z[a-z!$%%*+,<=>?/.\'@&#_-]%s*z[A-Z]%s*r  r  z
c#\d{1,3};z~[ARS%]z(?s).z(?s)\\\*.*?\*\\z\\\\.*r  z_{5,}z={5,}z(;|:=|\||--?>|<--?)z(:-|:|\{|\})z[+-]*\d*\.\d+(e[+-]?\d+)?z[+-]*\d+r   z(true|false|<>|\[\])z(\[|\]|\(|\)))r   r%  c                 C   s$   t | |}| |}| |}|S r  )r   rO  _process_symbols_process_declarations)rM  rS  r<  r  r  r  rO    s    

z ShenLexer.get_tokens_unprocessedc                 C   s   |t tjtjfkS r  )r   r   r1  r2  )rM  rV  r  r  r  	_relevant  s    zShenLexer._relevantc                 c   s|   d}|D ]n\}}}|||fV  |  |r|rf|tkrf|| jkrf|}| ||D ]\}}}|||fV  qN|dkot|tk}qd S NF()r  r
   rB  _process_declarationr   )rM  r<  opening_parenrU  rV  rW  declarationr  r  r  r    s    

zShenLexer._process_declarationsc                 c   sp   d}|D ]b\}}}|r6|t tjfkr6| j|tj}n|t krN|| jkrNtj}|dko\|tk}|||fV  qd S r  )	r   r   r9  MAPPINGSr|  r;  BUILTINS_ANYWHEREr:  r   )rM  r<  r  rU  rV  rW  r  r  r  r    s    zShenLexer._process_symbolsc                 c   s  |D ]$\}}}|  |r q*|||fV  q|dkrd}|tkrDtjn|}|||fV  |D ]B\}}}|rt|tkrttj}|||fV  |  |rX|tko|dk}qXn|dkr|tkrtjn|}|||fV  n|dkrp|tkrtjn|}|||fV  |D ](\}}}|  |r q|||fV  q|dkrb|tkrb|t|fV  | |D ]\}}}|||fV  qFn|||fV  n |tkrtjn|}|||fV  d S )Nr  FrY  r  r   {)	r  r   r
   rP  r   r  r;  r   _process_signature)rM  r  r<  rU  rV  rW  Zprev_was_colonr  r  r  r    s@    


zShenLexer._process_declarationc                 c   sd   |D ]Z\}}}|t kr0|dkr0|t|fV   d S |t tjfkrR| rLtjntj}|||fV  qd S )N})r   r   r   r;  istitler9  r
   rP  )rM  r<  rU  rV  rW  r  r  r  r  	  s    zShenLexer._process_signatureN)*r&  r'  r(  r)  r*  r+  r,  r-  rB  r?  ZBUILTINSr  dictr  updateZvalid_symbol_charsr0  Zsymbol_nameZvariabler   r  ZInterpolr   r2  r1  r   r   r   r   r3  r4  r   r9  r
   r  r<  rO  r  r  r  r  r  r  r  r  r  r     sV   
&c                   @   s   e Zd ZdZdZdgZdgZg ZdZdZ	dZ
dd	ejfd
efdejfdejfdefde
 ejfdejfdejfdefeeddefde
 ejfde
 ejfee	dddejfde
 ejfe
ejfdefdefgiZdS )r   za
    A CPSA lexer based on the CPSA language as of version 2.2.12

    .. versionadded:: 2.1
    ZCPSAZcpsaz*.cpsa)Zheraldvarsr  r   ZdefprotocolZdefroleZdefskeletonZ	defstrandZdeflistenerznon-origz	uniq-origzpen-non-origZprecedesrL  r  Zrecvr*  rS  ZskeyZakeydataZmesg)	catencr  ZprivkZpubkZinvkZltkgenr   r   r%  r   r  r  r  r  r  r	  r
  r  rS  r  r  r  r  r  r  r  N)r&  r'  r(  r)  r*  r+  r,  r-  r  r  r0  r   r1  r   r   r3  r4  r   r5  r6  r   r7  r	   r   r
   r9  r:  r;  r   r<  r  r  r  r  r   &	  s8   c                   @   s  e Zd ZdZdZdgZdgZg ZdZdZ	dZ
dZd	Zd
ZdZdZdZdZdedfdedfde ejfde ejfde ejfde ejfde ejfde ejfde ejfde ejfde ejfde ejfde d e d e d  e d! ejfeed"d#efeed"d#ejfed$eejfgd%e ejfd&ejfd'efee	d"d#efeed"d#ejfed$eejfgd(ejfd)e fd*e!j"fd+e!j#fd,e!fd-efd.ej$feed"d#efeed"d#ejfd/efg
ee
d"d0d1edfed2gd3Z%d4S )5r   a+  An xtlang lexer for the `Extempore programming environment
    <http://extempore.moso.com.au>`_.

    This is a mixture of Scheme and xtlang, really. Keyword lists are
    taken from the Extempore Emacs mode
    (https://github.com/extemporelang/extempore-emacs-mode)

    .. versionadded:: 2.2
    xtlangZ	extemporez*.xtm)r   r   r   r    r!   r"   r#   r%   r(   r+   r   r   )
r)   r*   r.   r/   r0   r   r$   r&   r'   r-   )	z	bind-funczbind-valzbind-libz	bind-typez
bind-aliasz	bind-polyz
bind-dylibzbind-lib-funczbind-lib-val)ZletzmemzonecastZconvertr#  Zdoloop)Jr5   r6   r7   r8   r9   r:   r;   r<   r=   r  r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   r\   r]   r^   r_   r`   ra   rb   rc   rd   re   rf   rg   rh   ri   rj   rk   rl   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r   r  r5  )rW   rX   rY   rZ   r[   rm   rn   ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   r|   r}   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )oZtoStringzafill!zpfill!ztfill!Ztbindzvfill!zarray-fill!zpointer-fill!ztuple-fill!r   Zfreer  tupler   r  zcset!Zcrefr  Zborz	ang-namesr  r  r4  r  Zsprintfr  r5  zpset!zpref-ptrzvset!Zvrefzaset!r[  zaref-ptrztset!Ztrefztref-ptrZsallocZhallocZzallocZallocZscheduler   r   r   r   r   rC   r?   rG   r   r   r   rl   r   r   Zllvm_printfZ	push_zoneZpop_zoner  r  Zllvm_sprintfz
make-arrayz
array-set!z	array-refzarray-ref-ptrzpointer-set!zpointer-refzpointer-ref-ptrzstack-allocz
heap-allocz
zone-allocz
make-tuplez
tuple-set!z	tuple-refztuple-ref-ptrzclosure-set!zclosure-refZprefZpdrefZ	impc_nullZbitcastr  Zifretzret->zclrun->zmake-env-zonezmake-envz<>ZdtofZftodZi1tofZi1todZi1toi8Zi1toi32Zi1toi64Zi8tofZi8todZi8toi1Zi8toi32Zi8toi64Zi32tofZi32todZi32toi1Zi32toi8Zi32toi64Zi64tofZi64todZi64toi1Zi64toi8Zi64toi32r   z[\w.!-]+z[]{}[\w<>,*/|!-]+r"  r  r#  r  z(?<=bind-func\s)z(?<=bind-val\s)z(?<=bind-type\s)z(?<=bind-alias\s)z(?<=bind-poly\s)z(?<=bind-lib\s)z(?<=bind-dylib\s)z(?<=bind-lib-func\s)z(?<=bind-lib-val\s)rY  z(<z>|\|z\||/z/|z\*)\**r  )r  commonr  r	  r  r   r  r  r  z(#b|#o|#x)[\d.]+r  r
  r  rS  r  r   )r  r   r  r%  N)&r&  r'  r(  r)  r*  r+  r,  r-  Zcommon_keywordsZscheme_keywordsZxtlang_bind_keywordsZxtlang_keywordsZcommon_functionsZscheme_functionsZxtlang_functionsZvalid_scheme_nameZvalid_xtlang_nameZvalid_xtlang_typer   r   r;  r
   rP  r   r   r9  r   r5  r6  r	   r   r1  r   r   r3  r4  r7  r<  r  r  r  r  r   t	  s   	## c                   @   s   e Zd ZdZdZddgZdgZdZdZdZ	d	d
e
jfdefdejfdejfdefdefde	 ejfeeddefeeddejfdejfe	ejfdefdefdefgiZdS )r   zA lexer for the `Fennel programming language <https://fennel-lang.org>`_.

    Fennel compiles to Lua, so all the Lua builtins are recognized as well
    as the special forms that are particular to the Fennel compiler.

    .. versionadded:: 2.3
    ZFennelZfennelZfnlz*.fnl).zrequire-macroszeval-compilerr)   r   r   rx  Zeachrs  r  r   r  r  r.  varr  r%   ZtsetZdotozset-forcibly!r  partialr  r#   r"   r  r  r4  .r6   z..r	  r7   r5   r  r8   r<   r9   r=   r:   r;   z~=#r  rY  rt  ru  )'Z_GZ_VERSIONargassertZbit32Zcollectgarbage	coroutiner  Zdofiler  ZgetfenvZgetmetatableioZipairsr   ZloadfileZ
loadstringZmathnextr  r  ZpairsZpcallr  ZrawequalZrawgetZrawlenZrawsetr  rE  ZsetfenvZsetmetatabler   tableZtonumberZtostringr  rO  Zxpcallz2[a-zA-Z_!$%&*+/:<=>?@^~|-][\w!$%&*+/:<=>?@^~|\.-]*r%  r   r  r  r  r  z'(\\\\|\\'|[^'])*'rY  r  r  z\.\.\.r  r  r  N)r&  r'  r(  r)  r*  r+  r,  rF  r/  r0  r   r1  r   r   r3  r4  r   r5  r   r
   r   r:  r9  r   r<  r  r  r  r  r   @
  s0   
) r)  r  Zpygments.lexerr   r   r   r   r   Zpygments.tokenr   r   r	   r
   r   r   r   r   r   r   Zpygments.lexers.pythonr   __all__r   r   r   r   r   r   r   r   r   r   r  r  r  r  <module>   sN   
0      3q       5      	 'N M