
    L&i                         d Z ddlZddlmZmZmZ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 ddlmZ ddgZ G d de          Z G d	 de          ZdS )
z
    pygments.lexers.perl
    ~~~~~~~~~~~~~~~~~~~~

    Lexers for Perl, Raku and related languages.

    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    N)
RegexLexerExtendedRegexLexerincludebygroupsusingthisdefaultwords)	TextCommentOperatorKeywordNameStringNumberPunctuation
Whitespace)shebang_matches	PerlLexer
Perl6Lexerc                   j   e Zd ZdZdZdZddgZg dZddgZe	j
        e	j        z  Z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dej        d
fdej        d
fdej        d
fdej        d
fg
g dej        fdej        fdej        f edd          efd eeeeeee          dfdej        fdej        fdej        fdej        fd ej        fd!ej        fd"ej        d#fd$ej        d#fd%ej        d#fd&ej        d#fd'ej        fd(ej        d#fd)ej        fd*ef ed+d          ej        fd,ej        j        fd- eeeej        eej        e          fd.ej        d/fd0ej        j         fd1ej        j         fd2ej        d3fd4e!j"        fd5e!j#        fd6e!j$        fd7e!j%        fd8e!j%        fd9e!j&        fd:efd;efd<ej'        fd=ej        fd>ej(        d?fd@ej(        dAfdBej(        dCfdDej(        dEfdFej(        fdG eeeej)                  fdH eeeej)                  fdI eee          dJf edKd          efdLefdMefdNefdOedPfdQej*        d
fdRej*        fgd*efdSed
fdTed
fdUej)        fdVej        d
fgdWej)        d
fdXej)        d
fdVed
fdYej+        d
fdZe,d
fgd[ej-        fd*efd\ eee          fd]ed
fd^ed
fgd_ej(        fd`ej(        fdSej(        d?fdaej(        d
fdbej(        fgdcej(        fd`ej(        fddej(        dAfdeej(        d
fdfej(        fgdgej(        fd`ej(        fdhej(        dCfdiej(        d
fdjej(        fgdkej(        fd`ej(        fdlej(        dEfdmej(        d
fdnej(        fgdoej        d
fgdpZ.dq Z/drS )sr   z
    For Perl source code.
    Perlzhttps://www.perl.orgperlpl)*.pl*.pm*.tz*.perlztext/x-perlzapplication/x-perlz"/(\\\\|\\[^\\]|[^\\/])*/[egimosx]*#popz"!(\\\\|\\[^\\]|[^\\!])*![egimosx]*z\\(\\\\|[^\\])*\\[egimosx]*z$\{(\\\\|\\[^\\]|[^\\}])*\}[egimosx]*z"<(\\\\|\\[^\\]|[^\\>])*>[egimosx]*z%\[(\\\\|\\[^\\]|[^\\\]])*\][egimosx]*z$\((\\\\|\\[^\\]|[^\\)])*\)[egimosx]*z"@(\\\\|\\[^\\]|[^\\@])*@[egimosx]*z"%(\\\\|\\[^\\]|[^\\%])*%[egimosx]*z$\$(\\\\|\\[^\\]|[^\\$])*\$[egimosx]*z	\A\#!.+?$z\#.*?$z^=[a-zA-Z0-9]+\s+.*?\n=cut)casecontinuedoelseelsifforforeachiflastmynextourredoresetthenunlessuntilwhileprintnewBEGINCHECKINITENDreturnz\bsuffixz!(format)(\s+)(\w+)(\s*)(=)(\s*\n)formatz$(eq|lt|gt|le|ge|ne|not|and|or|cmp)\bz:s/(\\\\|\\[^\\]|[^\\/])*/(\\\\|\\[^\\]|[^\\/])*/[egimosx]*z.s!(\\\\|\\!|[^!])*!(\\\\|\\!|[^!])*![egimosx]*z+s\\(\\\\|[^\\])*\\(\\\\|[^\\])*\\[egimosx]*z:s@(\\\\|\\[^\\]|[^\\@])*@(\\\\|\\[^\\]|[^\\@])*@[egimosx]*z:s%(\\\\|\\[^\\]|[^\\%])*%(\\\\|\\[^\\]|[^\\%])*%[egimosx]*zs\{(\\\\|\\[^\\]|[^\\}])*\}\s*balanced-regexzs<(\\\\|\\[^\\]|[^\\>])*>\s*zs\[(\\\\|\\[^\\]|[^\\\]])*\]\s*zs\((\\\\|\\[^\\]|[^\\)])*\)\s*z&m?/(\\\\|\\[^\\]|[^\\/\n])*/[gcimosx]*zm(?=[/!\\{<\[(@%$])z6((?<==~)|(?<=\())\s*/(\\\\|\\[^\\]|[^\\/])*/[gcimosx]*z\s+)absacceptalarmatan2bindbinmodeblesscallerchdirchmodchompchopchownchrchrootcloseclosedirconnectr    coscryptdbmclosedbmopendefineddeletediedumpeachendgrent
endhostent	endnetentendprotoentendpwent
endserventeofevalexecexistsexitexpfcntlfilenoflockforkr:   formlinegetcgetgrentgetgrgidgetgrnamgethostbyaddrgethostbyname
gethostentgetlogingetnetbyaddrgetnetbyname	getnetentgetpeernamegetpgrpgetppidgetprioritygetprotobynamegetprotobynumbergetprotoentgetpwentgetpwnamgetpwuidgetservbynamegetservbyport
getserventgetsockname
getsockoptglobgmtimegotogrepheximportindexintioctljoinkeyskillr'   lclcfirstlengthlinklistenlocal	localtimeloglstatmapmkdirmsgctlmsggetmsgrcvmsgsndr(   r)   octopenopendirordr*   packpipepopposprintf	prototypepush	quotemetarandreadreaddirreadlinereadlinkreadpiperecvr+   refrenamereverse	rewinddirrindexrmdirscalarseekseekdirselectsemctlsemgetsemopsendsetgrent
sethostent	setnetentsetpgrpsetprioritysetprotoentsetpwent
setservent
setsockoptshiftshmctlshmgetshmreadshmwriteshutdownsinsleepsocket
socketpairsortsplicesplitsprintfsqrtsrandstatstudysubstrsymlinksyscallsysopensysreadsysseeksystemsyswritetelltelldirtietiedtimetimestrtruncateucucfirstumaskundefunlinkunpackunshiftuntieutimevaluesvecwaitwaitpid	wantarraywarnwritez+((__(DATA|DIE|WARN)__)|(STD(IN|OUT|ERR)))\bz/(<<)([\'"]?)([a-zA-Z_]\w*)(\2;?\n.*?\n)(\3)(\n)__END__end-partz\$\^[ADEFHILMOPSTWX]z(\$[\\\"\[\]'&`+*.,;=%~?@$!<>(^|/-](?!\w)z[$@%#]+varname0_?[0-7]+(_[0-7]+)*0x[0-9A-Fa-f]+(_[0-9A-Fa-f]+)*0b[01]+(_[01]+)*?(?i)(\d*(_\d*)*\.\d+(_\d*)*|\d+(_\d*)*\.\d+(_\d*)*)(e[+-]?\d+)?(?i)\d+(_\d*)*e[+-]?\d+(_\d*)*
\d+(_\d+)*'(\\\\|\\[^\\]|[^'\\])*'"(\\\\|\\[^\\]|[^"\\])*"z`(\\\\|\\[^\\]|[^`\\])*`z<([^\s>]+)>z(q|qq|qw|qr|qx)\{	cb-stringz(q|qq|qw|qr|qx)\(	rb-stringz(q|qq|qw|qr|qx)\[	sb-stringz(q|qq|qw|qr|qx)\<	lt-stringz (q|qq|qw|qr|qx)([\W_])(.|\n)*?\2z/(package)(\s+)([a-zA-Z_]\w*(?:::[a-zA-Z_]\w*)*)z6(use|require|no)(\s+)([a-zA-Z_]\w*(?:::[a-zA-Z_]\w*)*)z
(sub)(\s+)funcname)nopackagerequireusez=(\[\]|\*\*|::|<<|>>|>=|<=>|<=|={3}|!=|=~|!~|&&?|\|\||\.{1,3})z[-+/*%=<>&^|!\\~]=?z[()\[\]:;,<>/?{}]z(?=\w)namez\.\nz[^\n]*\n\{z\)|,z\w+::z[\w:]+z+[a-zA-Z_]\w*(::[a-zA-Z_]\w*)*(::)?(?=\s*->)z[a-zA-Z_]\w*(::[a-zA-Z_]\w*)*::z[A-Z_]+(?=\W)z(?=\W)z[a-zA-Z_]\w*[!?]?z(\([$@%]*\))(\s*);z.*?\{z\\[{}\\]z\\\}z[^{}\\]+z\\[()\\]z\(z\)z[^()]+z
\\[\[\]\\]z\[z\]z[^\[\]]+z\\[<>\\]z\<z\>z[^<>]+z.+)r;   rootr:   r   r  r  r  r  r  r  r   c                 t    t          | d          rdS d}t          j        d|           r|dz  }d| v r|dz  }|S )Nr   Tr   z(?:my|our)\s+[$@%(]g?:=   )r   research)textresults     a/home/geonatureadmin/si_en_reseau/tutos/venv/lib/python3.11/site-packages/pygments/lexers/perl.pyanalyse_textzPerlLexer.analyse_text   sU    4)) 	49+T22 	cMF4<< aKF    N)0__name__
__module____qualname____doc__r  urlaliases	filenames	mimetypesr  DOTALL	MULTILINEflagsr   Regexr   HashbangSingle	Multiliner
   r   r   r   r   r   r   WordBuiltinPseudo	DelimiterPreprocVariableGlobalr   OctHexBinFloatIntegerBacktickOther	NamespaceInterpolConstantr   Functiontokensr   r  r  r   r      s         D
 CtnG111I 45II$E 3FL&I2FL&I+V\6B4flFK2FL&I5v|VL4flFK2FL&I2FL&I4flFK
d
7+,d
'd
 +G,=>d
 U 2 ;@	A A A
 	d
 2Xgz4[*UUW_ad
 5hmDd
 Kd
  ?M!d
" <V\J#d
$ K%d
( K)d
. />NO/d
0 -fl<LM1d
2 0 "3d
6 / "7d
< 7E=d
> $V\3CD?d
@ GAd
D Z Ed
F U [4 di5j j j6 \7Gd
~ <T\=PQd
@ @Xfff&6@PR\]]_Ad
D *5Ed
F %dm&:;Gd
H 9$-:NOId
J 	2Kd
L $VZ0Md
N /
;Od
P !&*-Qd
R P\Sd
V /=Wd
X FN+Yd
Z )&1[d
\ )&1]d
^ )&/:_d
` V\*ad
b "6<=cd
d "6<=ed
f "6<=gd
h "6<=id
j 1&,?kd
l @Xgz4>::<md
p GXgz4>::<qd
t HHWj99:Fud
v U 3;@B B Bwd
|%&.0}d
@ $X.Ad
B ";/Cd
F f%Gd
L fov.&/*

 Z K(k6*t~&v.
 <T^VT/Hf%t}f5f%
 "4=1Z !88K#D#DE;'{F+
 &,'FL!FL+.FL&)&,'
 &,'FL!FL+.FL&)%
 FL)FL!FL+.FL&)&,'
 &,'FL!FL+.FL&)%
 GOV,
Qk kFZ    r  c                   H    e Zd ZdZdZdZg dZg dZddgZe	j
        e	j        z  ZdZd	Zd
ZdZdZi ddddddddddddddddddddd dd!d"d#d"d$d"d%d&d'd(d)d*i d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLi dMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdni dodpdqdrdsdtdudvdwdxdydzd{d|d}d~ddddddddddddddddddi ddddddddddddddddddddddddddddddddddi ddddddddddddddddddēddƓddȓddʓdd̓ddΓddГddғddԓi dd֓ddؓddړddܓddޓddddddddddddddddddddddddi dddddddddd ddddddddd	d
ddddddddddddddi dddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:i d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\i d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~ddddddZdÐdZd Zd Zd Zd Zg dd                    e          z   dz    eej                  fdej        fdej        fdej        fdej        fdez   dz    eee          dfdez   dz   ez   dz    eee          dfd eeeee          f eee          ef eeed          ej         f eee          ej         fdez   dz   ej!        fdej!        j"        fdej!        j"        fdez   dz   ej!        j"        fdej!        fd ee#          fde$j%        fde$j&        fde$j'        fde$j(        fde$j(        fde$j)        fde#j*        fde#j*        fdefd ee#j*                  fde#j*        fde#f ee          e+fdez   dz   efde#fde#f e,d          defdefde-fg e,d          de-dfde-fgdd                    e          z   dz    ee          df e.d          gde-dfd e/e0          fde#j*        fde#j*        fde#j*        fdej        fdefde#j*        fgdZ1d Z2 fdZ3 xZ4S (  r   zJ
    For Raku (a.k.a. Perl 6) source code.

    .. versionadded:: 2.0
    Perl6zhttps://www.raku.org)perl6pl6raku)r   r   z*.nqpz*.p6z*.6plz*.p6lz*.pl6z*.6pmz*.p6mz*.pm6r   z*.rakuz	*.rakumodz
*.rakutestz	*.rakudocztext/x-perl6zapplication/x-perl6z['\w:-])Nr3   CATCHr4   CLOSECONTROLDOCr6   ENTERFIRSTr5   KEEPLASTLEAVENEXTPOSTPREQUITUNDOanonaugmentbutclassconstantr	   doesr"   r#   enumr$   gathergivengrammarhasr&   r   isletloopmademakemethodmodulemultir(   needorwithr*   proceedprotorepeatr  r7   z	return-rwreturnsrolerulestatesub	submethodsubsetsucceed	supersedetokentryunitr.   r/   r  whenr0   withwithoutexportnativereprrequiredrwsymbol(  ACCEPTSr<   abs2relabsoluter=   accessedacosacosecacosechacoshacotanacotanhacquireactactionactionsaddadd_attributeadd_enum_valueadd_fallback
add_method
add_parentadd_private_methodadd_roleadd_trusteeadverbafterallallocateallofallowedzalternative-namesannotationsantipair	antipairsanyanyofapp_lifetimeappendarcharchnameargsarityArrayasecasechasinasinhz
ASSIGN-KEYz
ASSIGN-POSassumingastatatanr?   atanhzAT-KEYzatomic-assignzatomic-dec-fetchzatomic-fetchzatomic-fetch-addzatomic-fetch-deczatomic-fetch-inczatomic-fetch-subzatomic-inc-fetchzAT-POS
attributesauthawait	backtraceBagBagHashzbail-outbasebasenamezbase-repeatingbatchzBIND-KEYzBIND-POSzbind-stderrz
bind-stdinzbind-stdoutzbind-udpbitsrB   blockBoolz	bool-onlyboundsbreakBridgebrokenBUILDz
build-datebytescache	callframezcalling-packagezCALL-MEcallsamecallwithcancancel
candidatescandozcan-ok	canonpathcapscaptionCapturecascatdir
categorizezcategorize-listcatfilecatpathcauseceilingcglobalchangedChannelcharsrD   childz
child-namezchild-typenamerE   rF   rG   rI   chrschunkscisclassifyzclassify-listcleanupclonerK   closedzclose-stdinzcmp-okcodecodescollatecolumncombcombinationscommandcommentcompilerComplexcomposecompose_typecomposer	conditionconfigconfigure_destroyconfigure_type_checkingconjrM   constraints	constructcontainscontentscopyrN   coseccosechcoshcotancotanhcountz
count-onlyz	cpu-coresz	cpu-usageCREATEcreate_typecrosscuecurdircurupdirdDateDateTimedaydaycountzday-of-monthzday-of-weekzday-of-yearzdays-in-monthdeclarationdecodedecoderdeepmapr	   rR   DEFINITEdelayedz
DELETE-KEYz
DELETE-POSdenominatordescDESTROY
destroyersdevnulldiagzdid-you-meanrT   zdies-okdirdirnamezdir-sepDISTROnamesr!   rW  zdoes-okdonezdone-testingduckmapdynamiceeagerearlierelemsemit	enclosingencodeencoderencodingendz	ends-withenum_from_valueenum_value_listenum_valuesenumsr]   EVALzeval-dies-okEVALFILEzeval-lives-ok	exceptionzexcludes-maxzexcludes-minz
EXISTS-KEYz
EXISTS-POSra   exitcoderb   expectedzexplicitly-manageexpmod	extensionffailz
fails-likefcfeaturefilefilenamefind_methodfind_method_qualifiedfinishfirstflatflatmapflipfloorflunkflushfmtr:   	formatterfreezefromz	from-listz	from-loopz
from-posixfullzfull-barrierget	get_valuerh   gistgotgrab	grabpairsr   handlehandledhandleshardwarehas_accessorHashheadheaderszhh-mm-sshiddenhideshourhowhyperidillegaliminindentr   indicesindirinfiniteinfixz	infix:<+>z	infix:<->install_method_cacheInstantinsteadIntz
int-boundsintervalzin-timezonezinvalid-strinvertinvocantIOzIO::Notification.watch-path
is_trustedis_typeisazis-absolutezisa-okz	is-approxz	is-deeplyz	is-hiddenzis-initial-threadzis-intzis-lazyzis-leap-yearisNaNisntzis-primezis-relativez
is-routinez
is-settingzis-winitemiteratorr   keepkeptKERNELnameskeykeyofr   r   kvkxxvllangr'   lastcalllaterlazyr   leadinglevellikelinelinesr   Listr   livezlives-okr   lockr   log10lookuplsbr`  MAINra  Mapmatchmaxmaxpairsmergemessagerb  method_tablemethodsmigrateminminmaxminpairsminute	misplacedMixMixHashr   modemodifiedmonthmovemromsbrd  	multinessr(   r  namednamed_namesnarrow
nativecastznative-descriptornativesizeofr2   new_typeznew-from-daycountznew-from-pairsr)   
nextcalleeznext-handlenextsamenextwithNFCNFDNFKCNFKDznl-inznl-outnodemapnoknonenormnotnotenownudeNum	numeratorNumericofoffsetzoffset-in-hourszoffset-in-minutesokoldzon-closeonez	on-switchr   opened	operationoptionalr   ordsorigzos-errorosnamez
out-bufferr   r
  zpackage-kindzpackage-namepackagespairpairspairup	parameterparamsparentzparent-nameparentsparsez
parse-base	parsefilezparse-namespartspasspathzpath-seppayloadz	peer-hostz	peer-portperiodsr   permutationsphaserpick	pickpairspidplaceholderplanpluspolarpollpolymodr   r   
positionalposixpostfix	postmatchzprecomp-extzprecomp-targetpredprefixprematchprependr1   r   zprint-nlzprint-toprivateprivate_method_tableprocproducePromisepromptprotectzpull-oner   zpush-allzpush-at-leastzpush-exactlyzpush-until-lazyputzqualifier-typequitrraceradixr   rangeRatrawr  r   	readcharsreadonlyreadyReal
reallocaterealsreasonreblessreceiver   redispatcherr+   reducerel2absrelativereleaser   repeatedreplacementreportreservedresolverestorer  resumerethrowr   rightr   r   rk  roles_to_composerolishrollrootdirrootsrotaterotorround
roundrobinzroutine-typerunrwxssamecasesamemarksamewithsayzschedule-on	schedulerscopesecsechsecondr   selfr   Set
set_hiddenset_nameset_packageset_rw	set_valueSetHashzset-instrumentssetup_finalizationshapeshareshellr   siblingsigilsignsignalsignals	signaturer   sinhsinkzsink-allskipzskip-at-leastzskip-at-least-pull-onezskip-onez	skip-restr   zsleep-timerzsleep-untilSlipslurpz
slurp-restslurpysnapsnappersozsocket-hostzsocket-portr   sourcezsource-packagespawnSPECr   r   splitdir	splitpathr   spurtr   squishr   stablestartstartedzstarts-withstatusstderrstdoutStrsub_signaturesubbufz	subbuf-rwsubnamesubparsesubstzsubst-mutater   z	substr-eqz	substr-rwsubtestsuccsumSupplyr   ttailtakeztake-rwtantanhtaptargetztarget-nametctclcr   r-   throttlethrowzthrows-liketimezonetmpdirtotodaytodotogglezto-posixtotaltrailingtranstreetrimztrim-leadingztrim-trailingr   ztruncated-totruststry_acquiretryingtwigiltypetype_capturestypenamer   udpuncaught_handlerunimatchuninameuninamesuniparseunipropunipropsuniqueunivalunivalsunliker   unlockr   unpolarr   unwrapupdirUSAGEzuse-okutcvalvaluer   VARvariablezverbose-configversionVMnamesvolumevowwr   r   watchz
watch-pathweekzweekday-of-monthzweek-numberz	week-yearWHATrv  WHERE	WHEREFOREWHICHWHOzwhole-secondWHYwordcaser
   
workaroundwrapr   zwrite-toxyadayearyieldz
yyyy-mm-ddzzipz
zip-latest)FalseTrueAnyr  AssociativeAST	atomicint	Attribute	BacktracezBacktrace::Framer  Baggyr  BlobBlockr  BufCallable	CallFrameCancellationr  CArrayr  Coder  r  
ComplexStrCoolCurrentThreadSchedulerCursorr  Dateishr  DistroDurationEncoding	ExceptionFailureFatRatGrammarrQ  HyperWhateverrc  re  int16int32int64int8IntStrri  zIO::ArgFileszIO::CatHandlez
IO::HandlezIO::NotificationzIO::PathzIO::Path::CygwinzIO::Path::QNXzIO::Path::UnixzIO::Path::Win32zIO::Pipez
IO::SocketzIO::Socket::AsynczIO::Socket::INETzIO::SpeczIO::Spec::CygwinzIO::Spec::QNXzIO::Spec::UnixzIO::Spec::Win32zIO::SpecialIterableIteratorJunctionKernelLabelr  LockzLock::AsynclonglonglongMacror  MatchzMetamodel::AttributeContainerzMetamodel::C3MROzMetamodel::ClassHOWzMetamodel::EnumHOWzMetamodel::FinalizationzMetamodel::MethodContainerz!Metamodel::MROBasedMethodDispatchzMetamodel::MultipleInheritancezMetamodel::NamingzMetamodel::Primitivesz!Metamodel::PrivateMethodContainerzMetamodel::RoleContainerzMetamodel::TrustingMethodr  r  MixyMur  r  r  r  Nilr  num32num64r  NumStrObjAtOrderPair	Parameterr   z
Pod::BlockzPod::Block::CodezPod::Block::CommentzPod::Block::DeclaratorzPod::Block::NamedzPod::Block::ParazPod::Block::TablezPod::Headingz	Pod::ItemPointer
PositionalPositionalBindFailoverProczProc::Asyncr  ProxyPseudoStash	QuantHashRanger  RationalRatStrr  r'  RoutineScalar	Scheduler	SemaphoreSeqr!  r'  Setty	Signaturesize_tr5  StashrH  StrDistanceStringySub	SubmethodSupplierzSupplier::PreservingrQ  SystemicTap	TelemetryzTelemetry::Instrument::ThreadzTelemetry::Instrument::UsagezTelemetry::PeriodzTelemetry::SamplerThreadThreadPoolSchedulerUIntuint16uint32uint64uint8Uniutf8r0  VersionVMWhateverWhateverCode
WrapHandle)fXZr  alsoandandthenbeforecmpdiveqeqvextrafffffgegtlelegltmmmmodneororelserxr  r   r  xorxxz++z--z**!+-~?|||+^~^?^^*/%z%%z+&z+<z+>z~&z~<z~>z?&gcdlcmr  r  z+|r  z~|r  z?|r   r  &r!  rT  rW  z<=>z..z..^z^..z^..^z!=z==<z<=>z>=z~~z===z!eqvz&&r  z^^z//r  r  z??z!!r  r  r:  r  z<==z==>z<<==z==>>unicmp()r(  r)  []{}   «   »u   ༺u   ༻u   ༼u   ༽u   ᚛u   ᚜u   ‘u   ’u   ‚u   ‛u   “u   ”u   „u   ‟u   ‹u   ›u   ⁅u   ⁆u   ⁽u   ⁾u   ₍u   ₎u   ∈u   ∋u   ∉u   ∌u   ∊u   ∍u   ∕u   ⧵u   ∼u   ∽u   ≃u   ⋍u   ≒u   ≓u   ≔u   ≕u   ≤u   ≥u   ≦u   ≧u   ≨u   ≩u   ≪u   ≫u   ≮u   ≯u   ≰u   ≱u   ≲u   ≳u   ≴u   ≵u   ≶u   ≷u   ≸u   ≹u   ≺u   ≻u   ≼u   ≽u   ≾u   ≿u   ⊀u   ⊁u   ⊂u   ⊃u   ⊄u   ⊅u   ⊆u   ⊇u   ⊈u   ⊉u   ⊊u   ⊋u   ⊏u   ⊐u   ⊑u   ⊒u   ⊘u   ⦸u   ⊢u   ⊣u   ⊦u   ⫞u   ⊨u   ⫤u   ⊩u   ⫣u   ⊫u   ⫥u   ⊰u   ⊱u   ⊲u   ⊳u   ⊴u   ⊵u   ⊶u   ⊷u   ⋉u   ⋊u   ⋋u   ⋌u   ⋐u   ⋑u   ⋖u   ⋗u   ⋘u   ⋙u   ⋚u   ⋛u   ⋜u   ⋝u   ⋞u   ⋟u   ⋠u   ⋡u   ⋢u   ⋣u   ⋤u   ⋥u   ⋦u   ⋧u   ⋨u   ⋩u   ⋪u   ⋫u   ⋬u   ⋭u   ⋰u   ⋱u   ⋲u   ⋺u   ⋳u   ⋻u   ⋴u   ⋼u   ⋶u   ⋽u   ⋷u   ⋾u   ⌈u   ⌉u   ⌊u   ⌋u   〈u   〉u   ⎴u   ⎵u   ❨u   ❩u   ❪u   ❫u   ❬u   ❭u   ❮u   ❯u   ❰u   ❱u   ❲u   ❳u   ❴u   ❵u   ⟃u   ⟄u   ⟅u   ⟆u   ⟕u   ⟖u   ⟝u   ⟞u   ⟢u   ⟣u   ⟤u   ⟥u   ⟦u   ⟧u   ⟨u   ⟩u   ⟪u   ⟫u   ⦃u   ⦄u   ⦅u   ⦆u   ⦇u   ⦈u   ⦉u   ⦊u   ⦋u   ⦌u   ⦍u   ⦎u   ⦏u   ⦐u   ⦑u   ⦒u   ⦓u   ⦔u   ⦕u   ⦖u   ⦗u   ⦘u   ⧀u   ⧁u   ⧄u   ⧅u   ⧏u   ⧐u   ⧑u   ⧒u   ⧔u   ⧕u   ⧘u   ⧙u   ⧚u   ⧛u   ⧸u   ⧹u   ⧼u   ⧽u   ⨫u   ⨬u   ⨭u   ⨮u   ⨴u   ⨵u   ⨼u   ⨽u   ⩤u   ⩥u   ⩹u   ⩺u   ⩽u   ⩾u   ⩿u   ⪀u   ⪁u   ⪂u   ⪃u   ⪄u   ⪋u   ⪌u   ⪑u   ⪒u   ⪓u   ⪔u   ⪕u   ⪖u   ⪗u   ⪘u   ⪙u   ⪚u   ⪛u   ⪜u   ⪡u   ⪢u   ⪦u   ⪧u   ⪨u   ⪩u   ⪪u   ⪫u   ⪬u   ⪭u   ⪯u   ⪰u   ⪳u   ⪴u   ⪻u   ⪼u   ⪽u   ⪾u   ⪿u   ⫀u   ⫁u   ⫂u   ⫃u   ⫄u   ⫅u   ⫆u   ⫍u   ⫎u   ⫏u   ⫐u   ⫑u   ⫒u   ⫓u   ⫔u   ⫕u   ⫖u   ⫬u   ⫭u   ⫷u   ⫸u   ⫹u   ⫺u   ⸂u   ⸃u   ⸄u   ⸅u   ⸉u   ⸊u   ⸌u   ⸍u   ⸜u   ⸝u   ⸠u   ⸡u   〈u   〉u   《u   》u   「u   」u   『u   』u   【u   】u   〔u   〕u   〖u   〗u   〘u   〙u   〚u   〛u   〝u   〞u   ﴾u   ﴿u   ︗u   ︘u   ︵u   ︶u   ︷u   ︸u   ︹u   ︺u   ︻u   ︼u   ︽u   ︾u   ︿u   ﹀u   ﹁u   ﹂u   ﹃u   ﹄u   ﹇u   ﹈u   ﹙u   ﹚u   ﹛u   ﹜u   ﹝u   ﹞u   （u   ）u   ＞u   ］u   ｝u   ｠u   ｣)u   ＜u   ［u   ｛u   ｟u   ｢N c                     |+d|z   d                     d | D                       z   |z   dz   S d|z   dz   |z   dz   d                     d | D                       z   dz   |z   d	z   |z   dz   S )
Nz\b(r  c              3   >   K   | ]}t          j        |          V  d S Nr  escape.0r  s     r  	<genexpr>z/Perl6Lexer._build_word_match.<locals>.<genexpr>  s*      .K.Kry||.K.K.K.K.K.Kr  z)\bz(?<!r,  r+  c              3   >   K   | ]}t          j        |          V  d S r6  r7  r9  s     r  r;  z/Perl6Lexer._build_word_match.<locals>.<genexpr>  s*      661")A,,666666r  z(?!)r   )r
   boundary_regex_fragmentr  r9   s       r  _build_word_matchzPerl6Lexer._build_word_match  s    "*F?TYY.K.KU.K.K.K%K%KK    44t;fDtK		666666679=>@FGIOP'(*./ /r  c                       fd}|S )Nc              3   J  K   |                                 }|d         }t          |          }|                    d          }t          j                            |d                   }|j        }|-|                    ||                    d          |z             }	n||z  }
d}|                    d          }|dk    rk|                    |||z             }|                    |
||z             }|dk    rt          |          }d}n|dk    r||k     r|dz  }|}n|dz  }|}|dk    k|}	|	dk     rt          |          }	|t          j	        d|          r||                    d          |z   |	         }t          j	        dt          j
        |          z   dz   ||	d          t          j                  }|r|	|                                z  }	nt          |          }	|                                ||                                |	|z            fV  |	|z   |_        d S )	N	delimiteradverbsr      z:to\bz^\s*z\s*$)	groupdictlenrF  r   PERL6_BRACKETSr  findrC  r  r  r8  r%  r%  r   )lexerr  contextgroupsopening_charsn_charsrB  closerr  end_posclosing_charsnesting_level
search_posnext_open_posnext_close_posheredoc_terminatorend_heredoctoken_classs                    r  callbackz.Perl6Lexer.brackets_callback.<locals>.callback  sE     __&&F";/M-((Gjj++G.22=3CDDF<D~ ))M5;;{3K3Kg3UVV !' 0 !"[[55
#a''$(IImZ'=Q$R$RM%)YY}j7>R%S%SN%++),T()&",,1O1O%*%2

%*%3
 $a'' ){{d))"ry7'C'C"%)%++k*B*BW*LW*T%U" i")<N2O2O(O(/)015ghhO O  ({000GG!$iiG++--d5;;==7AR3R.SSSSS!G+GKKKr  r>  )rW  rX  s   ` r  brackets_callbackzPerl6Lexer.brackets_callback  s$    3	, 3	, 3	, 3	, 3	,j r  c              #   N  K   |j         }|                                t          |j        |                                |                                         fV  |                                |_        t          |          dk    r|d         dk    r|xj        dz  c_        d S d S d S )Nr  rs  rC  )stackrC  r   r  r%  r   rF  perl6_token_nesting_levelrI  r  rJ  r\  s       r  opening_brace_callbackz!Perl6Lexer.opening_brace_callback0  s      kkmmT7<eiikk0I#JJJJJiikk u::>>eBi722--2---- >22r  c              #     K   |j         }|                                t          |j        |                                |                                         fV  |                                |_        t          |          dk    r=|d         dk    r3|xj        dz  c_        |j        dk    r|                                 d S d S d S d S )Nr  r[  rs  rC  r   )	r\  rC  r   r  r%  r   rF  r]  r   r^  s       r  closing_brace_callbackz!Perl6Lexer.closing_brace_callback=  s      kkmmT7<eiikk0I#JJJJJiikk
 u::>>eBi722--2--0A55		 >2255r  c              #     K   d|_         |                                t          |j        |                                |                                         fV  |                                |_        |j                            d           d S )NrC  r  )r]  rC  r   r  r%  r   r\  r  )rI  r  rJ  s      r  embedded_perl6_callbackz"Perl6Lexer.embedded_perl6_callbackK  sp      ,-)kkmmT7<eiikk0I#JJJJJiikkV$$$$$r  z$#[`|=](?P<delimiter>(?P<first_char>[z])(?P=first_char)*)z#[^\n]*$z%^(\s*)=begin\s+(\w+)\b.*?^\1=end\s+\2z^(\s*)=for.*?\n\s*?\nz^=.*?\n\s*?\nz(regex|token|rule)(\s*z+:sym)token-sym-bracketsz(regex|token|rule)(?!z)(\s*z+)?	pre-tokenz(role)(\s+)(q)(\s*)z
(?::[UD])?r8   z[$@%&][.^:?=!~]?u   +(?:<<.*?>>|<.*?>|«.*?»)*u    \$[!/](?:<<.*?>>|<.*?>|«.*?»)*z::\?\w+z[$@%&]\*z\$(?:<.*?>)+zn(?:q|qq|Q)[a-zA-Z]?\s*(?P<adverbs>:[\w\s:]+)?\s*(?P<delimiter>(?P<first_char>[^0-9a-zA-Z:\s])(?P=first_char)*)r   r   r   r   r   r  z(?<=~~)\s*/(?:\\\\|\\/|.)*?/z(?<=[=(,])\s*/(?:\\\\|\\/|.)*?/z
m\w+(?=\()z_(?:m|ms|rx)\s*(?P<adverbs>:[\w\s:]+)?\s*(?P<delimiter>(?P<first_char>[^\w:\s])(?P=first_char)*)zB(?:s|ss|tr)\s*(?::[\w\s:]+)?\s*/(?:\\\\|\\/|.)*?/(?:\\\\|\\/|.)*?/z<[^\s=].*?\S>z\wr"  r  r  commonr  r  z.+?)r   rs  z(?P<delimiter>(?P<first_char>[)r   re  r   z,(?<=:)(?:my|our|state|constant|temp|let).*?;z<(?:[-!?+.]\s*)?\[.*?\]>z(?<!\\)'(\\\\|\\[^\\]|[^'\\])*'z(?<!\\)"(\\\\|\\[^\\]|[^"\\])*"z#.*?$)rf  r  re  rd  rs  c                    d }|                                  } ||          }d                    |          } t          | d          rdS d}d}t          j        dt
          j        z   dz   |           rd}d}|D ]z}t          j        d	d
|          }t          j        d|          r.t          j        d|          r dS t          j        d|          }|r|s|	                    d           dS d}z d| v r|dz  }|S )Nc                     d}g }| D ]I}t          j        d|          rd}t          j        d|          rd}2|s|                    |           J|S )NFz^=(?:end|cut)z^=\w+T)r  r  r  )r  in_podstripped_linesr  s       r  	strip_podz*Perl6Lexer.analyse_text.<locals>.strip_pod  su    FN 0 08,d33 0"FFXh-- 0!FF 0"))$///!!r  
zperl6|rakudo|niecza|pugsTFz(?:my|our|has)\s+(?:z+\s+)?[$@%&(]g?z#.*r3  z^\s*$z$^\s*(?:use\s+)?v6(?:\.\d(?:\.\d)?)?;z?^\s*(?:(?P<scope>my|our)\s+)?(?:module|class|role|enum|grammar)r  g?r  r  )

splitlinesr   r   r  r  r   PERL6_IDENTIFIER_RANGErn  r  group)r  rk  r  saw_perl_declratingr  
class_decls          r  r  zPerl6Lexer.analyse_text  sP   	" 	" 	" !!	%  yy4!<== 	4 9,z/PP%&'+- - 	!F M 	 	D6%T**Dx$''  x?FF tt"dfjkkJ    J$4$4W$=$=$I444<<aKFr  c                 p     t                      j        di | |                    dd          | _        d S )Nr$  zutf-8r>  )super__init__rF  r$  )r   options	__class__s     r  ru  zPerl6Lexer.__init__  s9    ##7###J88r  )Nr3  r3  )5r  r  r  r  r  r   r!  r"  r#  r  r%  r$  r&  rn  PERL6_KEYWORDSPERL6_BUILTINSPERL6_BUILTIN_CLASSESPERL6_OPERATORSrG  r>  rY  r_  ra  rc  r   r   r*  r)  r   r   r   r   r,  r0  r1  r   r   r2  r3  r4  r5  r6  r'  r   r   r   r	   r   r   r=  r  ru  __classcell__)rw  s   @r  r   r      s-         D
 C&&&G, , ,I  !67IL29$E'N rNh$LOA(A$hA08(A(A$hA08(A 	(A %hA 19(A 	(	A %h	A 19(	A
 	(A
 %hA
 19(A 	(A %hA A 19(A 	(A %hA 19(A 	(A %hA 19(A 	(A %hA 19(A 	(A %hA 19(A 	(A %hA 19(A 	(A A A %hA 19(A 	(A %hA 19(A 	(A %hA 19(A 	(A %hA 19(A  	(!A  %h!A  19(!A" 	(#A" %h#A" 19(#A A A$ 	(%A$ %h%A$ 19(%A& 	('A& %h'A& 19('A( 	()A( %h)A( 19()A* 	(+A* %h+A* 19(+A, 	(-A, %h-A, 19(-A. 	(/A. %h/A A A. 19(/A0 	(1A0 %h1A0 19(1A2 	(3A2 %h3A2 19(3A4 	(5A4 %h5A4 19(5A6 	(7A6 %h7A6 19(7A8 	(9A8 %h9A8 19(9A: 	(;A A A: %h;A: 19(;A< 	(=A< %h=A< 19(=A> 	(?A> %h?A> 19(?A@ 	(AA@ %hAA@ 19(AAB 	(CAB %hCAB 19(CAD 	(EAD %hEAD 19(EA A AF 	(GAF %hGAF 19(GAH 	(IAH %hIAH 19(IAJ 	(KAJ %hKAJ 19(KAL 	(MAL %hMAL 19(MAN 	(OAN %hOAN 19(OAP 	(QAP %hQA A AP 19(QAR 	(SAR %hSAR 19(SAT 	(UAT %hUAT 19(UAV 	(WAV %hWAV 19(WAX 	(YAX %hYAX 19(YAZ 	([AZ %h[AZ 19([A\ 	(]A A A\ %h]A\ 19(]A^ 	(_A^ %h_A^ 19(_A` 	(aA` %haA` 19(aAb 	(cAb %hcAb 19(cAd 	(eAd %heAd 19(eAf 	(gAf %hgAf 19(gA A Ah 	(iAh %hiAh 19(iAj 	(kAj %hkAj 19(kAl 	(mAl %hmAl 19(mAn 	(oAn %hoAn 19(oAp 	(qAp %hqAp 19(qAr 	(sAr %hsA A Ar 19(sAt 	(uAt %huAt 19(uAv 	(wAv %hwAv 19(wAx 	(yAx %hyAx 19(yAz 	({Az %h{Az 19({A| 	(}A| %h}A| 19(}A~ 	(A A~ '/(h(AA A ANF/ / / /6 6 6p3 3 3  % % %/
4rww~7N7NNQggw0113/
 '.)/
 6w7HI	/

 &w'89/
 w01/
 ')??(JXgt$$&:</
 &(>>ILbbejjXgt$$k3/
 $XXgz4%T%TU/
 ~/EFFP/
 46LUabbb\/
  ~/EFFU!/
$ !#99<YY]%/
( 1$-2FG)/
* -.+/
, 114QQ]!#-/
0 dm,1/
2"#4#4V#<#<>3/
8 $VZ09/
: /
;;/
< !&*-=/
> P\?/
B /=C/
D FN+E/
F -fl;G/
H 0>I/
J D!K/
L"#4#4V\#B#BDM/
P S\Q/
T v&U/
V //:W/
X ++c148Y/
Z )&1[/
\ )&1]/
b GH*+*+TN	
 GHD+,TN
 /1H1HHK``t$$&;=G)**
 D&!<eeDkkJ(&,7/>/>w~&+,FL!
CM MF^5 5 5n9 9 9 9 9 9 9 9 9r  )r  r  pygments.lexerr   r   r   r   r   r   r	   r
   pygments.tokenr   r   r   r   r   r   r   r   r   pygments.utilr   __all__r   r   r>  r  r  <module>r     sz    
			                                       $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ) ) ) ) ) )
%H H H H H
 H H HV|9 |9 |9 |9 |9# |9 |9 |9 |9 |9r  