B
    bb                 @   s  d Z ddlZddlZddl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dd	gZd
ZdZdZdZdZdZdZdZdZ dZ!ee e e  e! Z"G dd deZ#defdej$fdej%dfdej&fe	ed ddej'fe	eddej(fe	dddej)fdej*fdej+fd ej,fd!ej-d"fd#ej.fd$ej/fd%eej0ej1fd&eej2ej1fd'ej3d(fd)efd*efd+ej4d,fd-ej.d.fd/efgd0ej3d1fed2gdefd3ej5d4fd5ej6d6fd7ej7d8fd9ej8fd'ej3d(fd:efd;efd+ej4d,fd-ej.d.fg
d<ej4fd'ej3d(fd+ej4d1fgd=ej.fd'ej3d(fd-ej.d1fgd>ej%fd'ej3d(fd?ej%d1fgd9ej5fd'ej3d(fed1gd9ej6fd'ej3d(fed1gd9ej7fd'ej3d(fed1gd@ej,fed2gdA
Z9dBdC Z:dDdE Z;G dFd deZ<G dGd deZ=G dHd	 d	e#Z>dS )Iz
    pygments.lexers.css
    ~~~~~~~~~~~~~~~~~~~

    Lexers for CSS and related stylesheet formats.

    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    N)ExtendedRegexLexer
RegexLexerincludebygroupsdefaultwordsinherit)	TextCommentOperatorKeywordNameStringNumberPunctuation
Whitespace)_css_propertiesCssLexer	SassLexer	ScssLexerLessCssLexer)z-ms-zmso-z-moz-z-o-z-xv-z-atsc-z-wap-z-khtml-z-webkit-zprince-z-ah-z-hp-z-ro-z-rim-z-tc-)Z	aliceblueZantiquewhiteaquaZ
aquamarineZazureZbeigeZbisqueblackZblanchedalmondblueZ
bluevioletZbrownZ	burlywoodZ	cadetblueZ
chartreuseZ	chocolateZcoralZcornflowerblueZcornsilkZcrimsonZcyanZdarkblueZdarkcyanZdarkgoldenrodZdarkgrayZ	darkgreenZdarkgreyZ	darkkhakiZdarkmagentaZdarkolivegreenZ
darkorangeZ
darkorchidZdarkredZ
darksalmonZdarkseagreenZdarkslateblueZdarkslategrayZdarkslategreyZdarkturquoiseZ
darkvioletZdeeppinkZdeepskyblueZdimgrayZdimgreyZ
dodgerblueZ	firebrickZfloralwhiteZforestgreenfuchsiaZ	gainsboroZ
ghostwhiteZgoldZ	goldenrodgraygreenZgreenyellowZgreyZhoneydewZhotpinkZ	indianredZindigoZivoryZkhakiZlavenderZlavenderblushZ	lawngreenZlemonchiffonZ	lightblueZ
lightcoralZ	lightcyanZlightgoldenrodyellowZ	lightgrayZ
lightgreenZ	lightgreyZ	lightpinkZlightsalmonZlightseagreenZlightskyblueZlightslategrayZlightslategreyZlightsteelblueZlightyellowlimeZ	limegreenZlinenZmagentamaroonZmediumaquamarineZ
mediumblueZmediumorchidZmediumpurpleZmediumseagreenZmediumslateblueZmediumspringgreenZmediumturquoiseZmediumvioletredZmidnightblueZ	mintcreamZ	mistyroseZmoccasinZnavajowhitenavyZoldlaceoliveZ	olivedrabZorangeZ	orangeredZorchidZpalegoldenrodZ	palegreenZpaleturquoiseZpalevioletredZ
papayawhipZ	peachpuffZperuZpinkZplumZ
powderbluepurpleZrebeccapurpleredZ	rosybrownZ	royalblueZsaddlebrownZsalmonZ
sandybrownZseagreenZseashellZsiennasilverZskyblueZ	slateblueZ	slategrayZ	slategreyZsnowZspringgreenZ	steelblueZtantealZthistleZtomatoZ	turquoiseZvioletZwheatwhiteZ
whitesmokeyellowZyellowgreentransparent(+  absolutealiasallzall-petite-capsz
all-scrollzall-small-capsz	allow-endZalphaZ	alternatezalternate-reversealwaysarmenianautoavoidzavoid-columnz
avoid-pageZ	backwardsZbalancebaselinebelowblinkblockboldbolderz
border-boxbothZbottomzbox-decorationz
break-word
capitalizeZcellcentercircleZclipZclonezclose-quotez
col-resizecollapseZcolorz
color-burnzcolor-dodgecolumnzcolumn-reverseZcompact	condensedZcontain	containerzcontent-boxzcontext-menucopyZcoverzcrisp-edges	crosshairZcurrentColorcursiveZdarkendasheddecimalzdecimal-leading-zeror   Zdescendants
differencedigitsdiscZ
distributedotdotteddoublezdouble-circleze-resizez	each-lineZeasezease-inzease-in-outzease-outZedgesZellipsisendz	ew-resizeZ	exclusionexpandedzextra-condensedzextra-expandedfantasyfillzfill-boxZfilledfirstfixedZflatZflexzflex-endz
flex-startZflipz	force-endZforwardsz
from-imagez
full-widthZgeometricPrecisiongeorgiangrooveZhangingz
hard-lighthelphiddenhideZ
horizontalhueiconZinfiniter   initialZinkinlinezinline-blockzinline-flexzinline-tableinsetinsidez
inter-wordinvertZisolateitalicjustifylargelargerZlastleftZlightenlighterzline-throughZlinearz	list-itemZlocalZloosezlower-alphazlower-greekzlower-latinzlower-roman	lowercaseltrZ	luminanceZ
luminosityZ	mandatoryZmanipulationZmanualz
margin-boxzmatch-parentmediumZmixed	monospaceZmoveZmultiplyzn-resizez	ne-resizeznesw-resizezno-close-quotezno-dropzno-open-quotez	no-repeatnonenormalznot-allowednowrapz	ns-resizez	nw-resizeznwse-resizeZobjectsobliqueZoffZonopenz
open-quoteZoptimizeLegibilityZoptimizeSpeedoutsetoutsideZoverZoverlayoverlinezpadding-boxZpagezpan-downzpan-leftz	pan-rightzpan-upzpan-xzpan-yZpausedzpetite-capsZ	pixelatedpointerzpreserve-3dZprogressZ	proximityrelativerepeatzrepeat no-repeatzrepeat-xzrepeat-yreverseridgerightroundrowz
row-resizezrow-reverseZrtlZrubyz	ruby-basezruby-base-containerz	ruby-textzruby-text-containerzrun-inZrunningzs-resizez
sans-serif
saturationz
scale-downZscreenscrollz	se-resizezsemi-condensedzsemi-expandedseparateserifZsesameshowZsidewayszsideways-leftzsideways-rightsliceZsmallz
small-capssmallerZsmoothZsnapz
soft-lightsolidZspacezspace-aroundzspace-betweenZspacessquarestartstaticzstep-endz
step-startZstickyZstretchstrictz
stroke-boxZstylez	sw-resizetableztable-captionz
table-cellztable-columnztable-column-groupztable-footer-groupztable-header-groupz	table-rowztable-row-grouptextthickthinztitling-capstotopZtrianglezultra-condensedzultra-expandedZunder	underlineZunicaseZunsetzupper-alphazupper-latinzupper-roman	uppercaseZuprightzuse-glyph-orientationZverticalzvertical-textzview-boxvisiblezw-resizewaitZwavyZweightzweight stylewrapzwrap-reversezx-largezx-smallzxx-largezxx-smallzzoom-inzzoom-out)9aboveauralbehindzbidi-overridezcenter-leftzcenter-rightzcjk-ideographic
continuousZcropcrossembedzfar-leftz	far-rightfastfasterhebrewhighhigherhiraganazhiragana-irohakatakanazkatakana-iroha	landscapez	left-side	leftwardslevelloudlowlowerzmessage-boxmiddlemixnarroweronceportraitz
right-side
rightwardssilentslowslowerzsmall-captionsoftz	spell-outz
status-barsuperztext-bottomztext-topwiderzx-fastzx-highzx-loudzx-lowzx-softyesZprezpre-wrapzpre-line)?attrZ	blacknessZblendZblendaZblurZ
brightnessZcalcr8   z	color-modZcontrastZcounterzcubic-bezierzdevice-cmykzdrop-shadowZellipser   Z	grayscaleZhslZhslarS   z
hue-rotateZhwbZimagerW   rY   Z	lightnesszlinear-gradientZmatrixZmatrix3dZopacityZperspectiveZpolygonzradial-gradientZrectzrepeating-linear-gradientzrepeating-radial-gradientrgbZrgbarotateZrotate3dZrotateXZrotateYZrotateZZsaturatert   ZscaleZscale3dZscaleXZscaleYZscaleZZsepiaZshadeZskewXZskewYZstepsZtintZtoggle	translateZtranslate3dZ
translateXZ
translateYZ
translateZZ	whiteness)ZdegZgradZradZturn)ZHzZkHz)ZemexZchZremZvhZvwZvminZvmaxpxZmmcminptZpcq)ZdpiZdpcmZdppx)smsc               @   s<  e Zd ZdZdZdZdgZdgZdgZe	dgde
fd	efd
edfdeeejfdeeejfdeeejfdeeedfdejfdefdejfdejfgd
edfdedfe	dge	ddedfgde
fdedfdefdejfeeejfdde d eee
edfdeeje
edfd eee
edfd	efg	de
feeejjfe	d!dde  d" eejed#fd$eej!ed#fee"d%d&ej#fee$d%d&ej#fee%d%d&ej#feed%d&efd'ejfd	efe	d(d)efd*efdejfdejfd+efdedfdedfgde
fd,ejfe	d!eeejfee"d%d&ej#fee$d%d&ej#fee%d%d&ej#fdde  d" eejed#fd$eej!ed#fd	efe	d(d-efd.efdejfdejfd/efd0edfgd1eejeejefd2eejeejefd3eejeej&efgd4e'j(fd5e'j)d6fd7e'j*d6fgee+d%d&ej,fd8ej,fe-dgd9
Z.d:S );r   z+
    For CSS (Cascading Style Sheets).
    ZCSSzhttps://www.w3.org/TR/CSS/#cssZcssz*.cssztext/cssbasicsz\s+z/\*(?:.|\n)*?\*/z\{contentz(\:{1,2})([\w-]+)z(\.)([\w-]+)z(\#)([\w-]+)z(@)([\w-]+)atrulez[\w-]+z[~^*!%&$\[\]()<>|+=@:;,./?-]z"(\\\\|\\[^\\]|[^"\\])*"z'(\\\\|\\[^\\]|[^'\\])*'	atcontent;z#popz\}z#pop:2z^@.*?$(|z
)(\s*)(\:)zvalue-startz([-]+[a-zA-Z_][\w-]*)(\s*)(\:)z([a-zA-Z_][\w-]*)(\s*)(\:)urlsz)(\()zfunction-startz([a-zA-Z_][\w-]+)(\()z\b)suffixz\!importantznumeric-valuesz[~^*!%&<>|+=@:./?-]+z
[\[\](),]+z[a-zA-Z_][\w-]*z[-]+([\w+]+[-]*)+z[*+/-],z[a-zA-Z_-]\w*z\)z(url)(\()(".*?")(\))z(url)(\()('.*?')(\))z(url)(\()(.*?)(\))z\#[a-zA-Z0-9]{1,6}z[+\-]?[0-9]*[.][0-9]+znumeric-endz[+\-]?[0-9]+%)
rootr   r   r   r   zvalue-startzfunction-startr   znumeric-valuesznumeric-endN)/__name__
__module____qualname____doc__nameurlaliases	filenames	mimetypesr   r   r
   r   r   r   	DecoratorClass	Namespacer   Tagr   r   DoubleSingleZPreprocr   _vendor_prefixesPseudojoinr   VariableBuiltin#_functional_notation_keyword_valuesFunction_keyword_valuesConstant_other_keyword_values_color_keywordsOtherr   HexFloatInteger
_all_unitsTyper   tokens r   r   2lib/python3.7/site-packages/pygments/lexers/css.pyr      s   









z[ \t]+z
[!$][\w-]+zurl\(z
string-urlz[a-z_-][\w-]*(?=\())r   r(   r+   r,   r   r-   r.   r/   r   r0   zbidi-overrider1   r2   r3   r4   r5   r6   zcenter-leftzcenter-rightr7   r8   zcjk-ideographiczclose-quoter9   r;   r   r>   r   r?   r@   zdecimal-leading-zerorA   r   rC   rD   rF   rG   ze-resizer   zextra-condensedzextra-expandedrI   rJ   zfar-leftz	far-rightr   r   rM   rN   rO   r   rP   rQ   rR   r   r   zhiragana-irohar   rT   r   zinline-tablerV   rW   rX   rY   rZ   r[   zkatakana-irohar   r   r]   r\   z	left-sider   r   r_   zline-throughz	list-itemr   zlower-alphazlower-greekzlower-romanr`   ra   r   r   rb   zmessage-boxr   r   rc   zn-resizer   z	ne-resizezno-close-quotezno-open-quotez	no-repeatrd   re   rf   z	nw-resizerg   r   z
open-quoteri   rj   rk   rl   r   r   rm   zrepeat-xzrepeat-yrn   r   rp   z
right-sider   zs-resizez
sans-serifru   z	se-resizezsemi-condensedzsemi-expandedrv   rw   rx   r   r   r   z
small-capszsmall-captionrz   r   r{   z	spell-outr|   r~   z
status-barr   z	sw-resizeztable-captionz
table-cellztable-columnztable-column-groupztable-footer-groupztable-header-groupz	table-rowztable-row-groupr   ztext-bottomztext-topr   r   r'   zultra-condensedzultra-expandedr   zupper-alphazupper-latinzupper-romanr   r   r   zw-resizer   r   zx-fastzx-highzx-largezx-loudzx-lowzx-smallzx-softzxx-largezxx-smallr   z\b)r   )r   r#   r   r%   r   r"   r!   r   r   r   r    r&   r   r   r$   r   z\!(important|default)z(true|false)z(and|or|not)z/\*zinline-commentz//[^\n]*z\#[a-z0-9]{1,6}z(-?\d+)(\%|[a-z]+)?z(-?\d*\.\d+)(\%|[a-z]+)?z#\{interpolationz[~^*!&%<>|+=@:,./?-]+z	[\[\]()]+"zstring-double'zstring-singlez[a-z_-][\w-]*z\}z#popvaluez\:zpseudo-classz\.classz\#idz[\w-]+&z[~^*!&\[\]()<>|+=@:;,./?-]z(\\.|#(?=[^\n{])|[^\n"#])+z(\\.|#(?=[^\n{])|[^\n'#])+z(\\#|#(?=[^\n{])|[^\n#)])+z\)z(from|to|through))
r   r   selectorzstring-doublezstring-singlez
string-urlzpseudo-classr   r   forc             c   s|   | d}| t|fV  ||_| |_t|dr`|jr`||j	r`||j	kr`|j
|j nd |_d |_	|j
d d S )Nr   block_stater   )groupr}   r   last_indentationrH   poshasattrr   
startswithblock_indentationstackappend)lexermatchctxZindentationr   r   r   _indentation  s    


r   c                s    fdd}|S )Nc             3   sD   |  |dfV  t|dr*|j|_nd|_ |_| |_d S )Nr   r    )r}   r   r   r   r   r   rH   r   )r   r   r   )statetokenr   r   callback  s    

z_starts_block.<locals>.callbackr   )r   r   r   r   )r   r   r   _starts_block  s    r   c               @   s  e Zd ZdZdZdZdgZdgZdgZe	j
e	jB Zdefdefgd	eejd
dfdeejddfdedfdedfdedfdeeeejdfdeeeejdfdedfdedfdejdfdejdfdeejedfdejdfdejdfedgd ejfd!edfgd ejfd!edfgd"efd#efd!edfgd$ejfd%ejd&fd'eeedfedgd$ejfd%ejd&fd(eeedfgd)ejfd%ejd&fd*ed+fgd,Zx$e  D ]\Z!Z"e##e"ee!< qW ed $d!edf ed $d!edf d-S ).r   z:
    For Sass stylesheets.

    .. versionadded:: 1.3
    ZSasszhttps://sass-lang.com/Zsassz*.sassztext/x-sassz[ \t]*\nz[ \t]*z//[^\n]*zsingle-commentr   z	/\*[^\n]*zmulti-commentz@importimportz@forr   z@(debug|warn|if|while)r   z(@mixin)( )([\w-]+)z(@include)( )([\w-]+)z@extendr   z@[\w-]+z=[\w-]+z\+[\w-]+z&([!$][\w-]\w*)([ \t]*(?:(?:\|\|)?=|:)):zold-style-attrz(?=.+?[=:]([^a-z]|$))znew-style-attrz.+z\nz[ \t]+z\S+z[^\s:="\[]+z#\{r   z([ \t]*)(=)z([ \t]*)([=:])z'(\\#|#(?=[^\n{])|\*(?=[^\n/])|[^\n#*])+z\*/z#pop)r   r   zsingle-commentzmulti-commentr  zold-style-attrznew-style-attrzinline-commentN)%r   r   r   r   r   r   r   r   r   re
IGNORECASE	MULTILINEflagsr   r   r   r
   r   	Multiliner   r   r   r   r   r   r   	Attributer   r   Interpolr   common_sass_tokensitemsr   commonr=   r   r   r   r   r   r     s`   









c               @   s\  e Zd ZdZdZdZdgZdgZdgZe	j
e	jB Zdefdejfd	ejfd
edfdedfdedfdeeejdfdeeejdfdedfdeeedfdedfdeejedfedgdejfdejdfdedfedgdejfdejdfdedfgdZx$e D ]\ZZ e!!e ee< qW ed "defde#dfg ed "defde#dfg d S )!r   z
    For SCSS stylesheets.
    ZSCSSzhttps://sass-lang.com/Zscssz*.scssztext/x-scssz\s+z//.*?\nz	/\*.*?\*/z@importr   z@forr   z@(debug|warn|if|while)z(@mixin)( [\w-]+)z(@include)( [\w-]+)z@extendr   z(@media)(\s+)z@[\w-]+z(\$[\w-]*\w)([ \t]*:)z[^\s:="\[]+z#\{r   z[ \t]*:z#popz!(\\#|#(?=[^{])|\*(?=[^/])|[^#*])+z\*/)r   r   zinline-commentz\nz[;{}]N)$r   r   r   r   r   r   r   r   r   r  r  DOTALLr  r   r
   r   r  r   r   r   r   r   r   r   r   r  r   r	  r   r
  r  r   r  r=   extendr   r   r   r   r   r     s>   

c               @   sP   e Zd ZdZdZdZdgZdgZdgZde	j
fegded	fd
ejfegdZdS )r   z9
    For LESS styleshets.

    .. versionadded:: 2.1
    ZLessCsszhttp://lesscss.org/Zlessz*.lessztext/x-less-cssz@\w+z\{z#pushz//.*\n)r   r   N)r   r   r   r   r   r   r   r   r   r   r   r   r   r
   r   r   r   r   r   r   r   C  s   )?r   r  r=   Zpygments.lexerr   r   r   r   r   r   r   Zpygments.tokenr	   r
   r   r   r   r   r   r   r   Zpygments.lexers._css_builtinsr   __all__r   r   r   r   r   Z_angle_unitsZ_frequency_unitsZ_length_unitsZ_resolution_unitsZ_time_unitsr   r   r   r   r   r   ZEntityr   	Exceptionr   ZWordr  r   r   r   r   r   r	  r   r   r   r   r   r
  r   r   r   r   r   r   r   r   r   <module>	   s   $,"7~
















S3