1/* Generated by re2c 0.13.5 on Fri Sep  7 17:09:30 2012 */
2/*
3 * Copyright (C) 2009 Google Inc. All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met:
8 *
9 *     * Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11 *     * Redistributions in binary form must reproduce the above
12 * copyright notice, this list of conditions and the following disclaimer
13 * in the documentation and/or other materials provided with the
14 * distribution.
15 *     * Neither the name of Google Inc. nor the names of its
16 * contributors may be used to endorse or promote products derived from
17 * this software without specific prior written permission.
18 *
19 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
22 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
23 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
25 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30 */
31
32// Generate js file as follows:
33
34/*
35re2c -isc Source/WebCore/inspector/front-end/SourceCSSTokenizer.re2js \
36  | sed 's|^yy\([^:]*\)*\:|case \1:|' \
37  | sed 's|[*]cursor[+][+]|this._charAt(cursor++)|' \
38  | sed 's|[[*][+][+]cursor|this._charAt(++cursor)|' \
39  | sed 's|[*]cursor|this._charAt(cursor)|' \
40  | sed 's|yych = \*\([^;]*\)|yych = this._charAt\1|' \
41  | sed 's|{ gotoCase = \([^; continue; };]*\)|{ gotoCase = \1; continue; }|' \
42  | sed 's|yych <= \(0x[0-9a-fA-F]*\)|yych \<\= String.fromCharCode(\1)|' \
43  | sed 's|unsigned\ int|var|' \
44  | sed 's|var\ yych|case 1: case 1: var yych|' > Source/WebCore/inspector/front-end/SourceCSSTokenizer.js
45*/
46
47/**
48 * @constructor
49 * @extends {WebInspector.SourceTokenizer}
50 */
51WebInspector.SourceCSSTokenizer = function()
52{
53    WebInspector.SourceTokenizer.call(this);
54
55    this._propertyKeywords = WebInspector.CSSMetadata.cssPropertiesMetainfoKeySet();
56    this._colorKeywords = WebInspector.CSSMetadata.colors();
57
58    this._valueKeywords = [
59        "above", "absolute", "activeborder", "activecaption", "afar", "after-white-space", "ahead", "alias", "all", "all-scroll",
60        "alternate", "always", "amharic", "amharic-abegede", "antialiased", "appworkspace", "arabic-indic", "armenian", "asterisks",
61        "auto", "avoid", "background", "backwards", "baseline", "below", "bidi-override", "binary", "bengali", "blink",
62        "block", "block-axis", "bold", "bolder", "border", "border-box", "both", "bottom", "break-all", "break-word", "button",
63        "button-bevel", "buttonface", "buttonhighlight", "buttonshadow", "buttontext", "cambodian", "capitalize", "caps-lock-indicator",
64        "caption", "captiontext", "caret", "cell", "center", "checkbox", "circle", "cjk-earthly-branch", "cjk-heavenly-stem", "cjk-ideographic",
65        "clear", "clip", "close-quote", "col-resize", "collapse", "compact", "condensed", "contain", "content", "content-box", "context-menu",
66        "continuous", "copy", "cover", "crop", "cross", "crosshair", "currentcolor", "cursive", "dashed", "decimal", "decimal-leading-zero", "default",
67        "default-button", "destination-atop", "destination-in", "destination-out", "destination-over", "devanagari", "disc", "discard", "document",
68        "dot-dash", "dot-dot-dash", "dotted", "double", "down", "e-resize", "ease", "ease-in", "ease-in-out", "ease-out", "element",
69        "ellipsis", "embed", "end", "ethiopic", "ethiopic-abegede", "ethiopic-abegede-am-et", "ethiopic-abegede-gez",
70        "ethiopic-abegede-ti-er", "ethiopic-abegede-ti-et", "ethiopic-halehame-aa-er", "ethiopic-halehame-aa-et",
71        "ethiopic-halehame-am-et", "ethiopic-halehame-gez", "ethiopic-halehame-om-et", "ethiopic-halehame-sid-et",
72        "ethiopic-halehame-so-et", "ethiopic-halehame-ti-er", "ethiopic-halehame-ti-et", "ethiopic-halehame-tig", "ew-resize", "expanded",
73        "extra-condensed", "extra-expanded", "fantasy", "fast", "fill", "fixed", "flat", "footnotes", "forwards", "from", "geometricPrecision",
74        "georgian", "graytext", "groove", "gujarati", "gurmukhi", "hand", "hangul", "hangul-consonant", "hebrew", "help",
75        "hidden", "hide", "higher", "highlight", "highlighttext", "hiragana", "hiragana-iroha", "horizontal", "hsl", "hsla", "icon", "ignore",
76        "inactiveborder", "inactivecaption", "inactivecaptiontext", "infinite", "infobackground", "infotext", "inherit", "initial", "inline",
77        "inline-axis", "inline-block", "inline-table", "inset", "inside", "intrinsic", "invert", "italic", "justify", "kannada", "katakana",
78        "katakana-iroha", "khmer", "landscape", "lao", "large", "larger", "left", "level", "lighter", "line-through", "linear", "lines",
79        "list-item", "listbox", "listitem", "local", "logical", "loud", "lower", "lower-alpha", "lower-armenian", "lower-greek",
80        "lower-hexadecimal", "lower-latin", "lower-norwegian", "lower-roman", "lowercase", "ltr", "malayalam", "match", "media-controls-background",
81        "media-current-time-display", "media-fullscreen-button", "media-mute-button", "media-play-button", "media-return-to-realtime-button",
82        "media-rewind-button", "media-seek-back-button", "media-seek-forward-button", "media-slider", "media-sliderthumb", "media-time-remaining-display",
83        "media-volume-slider", "media-volume-slider-container", "media-volume-sliderthumb", "medium", "menu", "menulist", "menulist-button",
84        "menulist-text", "menulist-textfield", "menutext", "message-box", "middle", "min-intrinsic", "mix", "mongolian", "monospace", "move", "multiple",
85        "myanmar", "n-resize", "narrower", "navy", "ne-resize", "nesw-resize", "no-close-quote", "no-drop", "no-open-quote", "no-repeat", "none",
86        "normal", "not-allowed", "nowrap", "ns-resize", "nw-resize", "nwse-resize", "oblique", "octal", "open-quote", "optimizeLegibility",
87        "optimizeSpeed", "oriya", "oromo", "outset", "outside", "overlay", "overline", "padding", "padding-box", "painted", "paused",
88        "persian", "plus-darker", "plus-lighter", "pointer", "portrait", "pre", "pre-line", "pre-wrap", "preserve-3d", "progress",
89        "push-button", "radio", "read-only", "read-write", "read-write-plaintext-only", "relative", "repeat", "repeat-x",
90        "repeat-y", "reset", "reverse", "rgb", "rgba", "ridge", "right", "round", "row-resize", "rtl", "run-in", "running", "s-resize", "sans-serif",
91        "scroll", "scrollbar", "se-resize", "searchfield", "searchfield-cancel-button", "searchfield-decoration", "searchfield-results-button",
92        "searchfield-results-decoration", "semi-condensed", "semi-expanded", "separate", "serif", "show", "sidama", "single",
93        "skip-white-space", "slide", "slider-horizontal", "slider-vertical", "sliderthumb-horizontal", "sliderthumb-vertical", "slow",
94        "small", "small-caps", "small-caption", "smaller", "solid", "somali", "source-atop", "source-in", "source-out", "source-over",
95        "space", "square", "square-button", "start", "static", "status-bar", "stretch", "stroke", "sub", "subpixel-antialiased", "super",
96        "sw-resize", "table", "table-caption", "table-cell", "table-column", "table-column-group", "table-footer-group", "table-header-group",
97        "table-row", "table-row-group", "telugu", "text", "text-bottom", "text-top", "textarea", "textfield", "thai", "thick", "thin",
98        "threeddarkshadow", "threedface", "threedhighlight", "threedlightshadow", "threedshadow", "tibetan", "tigre", "tigrinya-er", "tigrinya-er-abegede",
99        "tigrinya-et", "tigrinya-et-abegede", "to", "top", "transparent", "ultra-condensed", "ultra-expanded", "underline", "up", "upper-alpha", "upper-armenian",
100        "upper-greek", "upper-hexadecimal", "upper-latin", "upper-norwegian", "upper-roman", "uppercase", "urdu", "url", "vertical", "vertical-text", "visible",
101        "visibleFill", "visiblePainted", "visibleStroke", "visual", "w-resize", "wait", "wave", "white", "wider", "window", "windowframe", "windowtext",
102        "x-large", "x-small", "xor", "xx-large", "xx-small", "yellow", "-wap-marquee", "-webkit-activelink", "-webkit-auto", "-webkit-baseline-middle",
103        "-webkit-body", "-webkit-box", "-webkit-center", "-webkit-control", "-webkit-focus-ring-color", "-webkit-grab", "-webkit-grabbing",
104        "-webkit-gradient", "-webkit-inline-box", "-webkit-left", "-webkit-link", "-webkit-marquee", "-webkit-mini-control", "-webkit-nowrap", "-webkit-pictograph",
105        "-webkit-right", "-webkit-small-control", "-webkit-text", "-webkit-xxx-large", "-webkit-zoom-in", "-webkit-zoom-out",
106    ].keySet();
107
108    this._scssValueKeywords = [
109        "abs", "adjust-color", "adjust-hue", "alpha", "append", "ceil", "change-color", "comparable", "complement", "darken", "desaturate",
110        "fade-in", "fade-out", "floor", "grayscale", "hue", "ie-hex-str", "invert", "join", "length", "lighten",
111        "lightness", "max", "min", "mix", "nth", "opacify", "opacity", "percentage", "quote", "round", "saturate",
112        "saturation", "scale-color", "transparentize", "type-of", "unit", "unitless", "unquote", "zip"
113    ].keySet();
114
115    this._lexConditions = {
116        INITIAL: 0,
117        COMMENT: 1,
118        DSTRING: 2,
119        SSTRING: 3
120    };
121
122    this._parseConditions = {
123        INITIAL: 0,
124        PROPERTY: 1,
125        PROPERTY_VALUE: 2,
126        AT_RULE: 3,
127        AT_MEDIA_RULE: 4
128    };
129
130    this.case_INITIAL = 1000;
131    this.case_COMMENT = 1002;
132    this.case_DSTRING = 1003;
133    this.case_SSTRING = 1004;
134
135    this.condition = this.createInitialCondition();
136}
137
138WebInspector.SourceCSSTokenizer.SCSSAtRelatedKeywords = ["from", "if", "in", "through"].keySet();
139
140WebInspector.SourceCSSTokenizer.MediaTypes = ["all", "aural", "braille", "embossed", "handheld", "import", "print", "projection", "screen", "tty", "tv"].keySet();
141
142WebInspector.SourceCSSTokenizer.prototype = {
143    createInitialCondition: function()
144    {
145        return { lexCondition: this._lexConditions.INITIAL, parseCondition: this._parseConditions.INITIAL };
146    },
147
148    /**
149     * @param {boolean=} stringEnds
150     */
151    _stringToken: function(cursor, stringEnds)
152    {
153        if (this._isPropertyValue())
154            this.tokenType = "css-string";
155        else
156            this.tokenType = null;
157        return cursor;
158    },
159
160    _isPropertyValue: function()
161    {
162        return this._condition.parseCondition === this._parseConditions.PROPERTY_VALUE || this._condition.parseCondition === this._parseConditions.AT_RULE;
163    },
164
165    _setParseCondition: function(condition)
166    {
167        this._condition.parseCondition = condition;
168    },
169
170    nextToken: function(cursor)
171    {
172        var cursorOnEnter = cursor;
173        var gotoCase = 1;
174        var YYMARKER;
175        while (1) {
176            switch (gotoCase)
177            // Following comment is replaced with generated state machine.
178
179        {
180            case 1: var yych;
181            var yyaccept = 0;
182            if (this.getLexCondition() < 2) {
183                if (this.getLexCondition() < 1) {
184                    { gotoCase = this.case_INITIAL; continue; };
185                } else {
186                    { gotoCase = this.case_COMMENT; continue; };
187                }
188            } else {
189                if (this.getLexCondition() < 3) {
190                    { gotoCase = this.case_DSTRING; continue; };
191                } else {
192                    { gotoCase = this.case_SSTRING; continue; };
193                }
194            }
195/* *********************************** */
196case this.case_COMMENT:
197
198            yych = this._charAt(cursor);
199            if (yych <= '\f') {
200                if (yych == '\n') { gotoCase = 4; continue; };
201                { gotoCase = 3; continue; };
202            } else {
203                if (yych <= '\r') { gotoCase = 4; continue; };
204                if (yych == '*') { gotoCase = 6; continue; };
205                { gotoCase = 3; continue; };
206            }
207case 2:
208            { this.tokenType = "css-comment"; return cursor; }
209case 3:
210            yyaccept = 0;
211            yych = this._charAt(YYMARKER = ++cursor);
212            { gotoCase = 12; continue; };
213case 4:
214            ++cursor;
215            { this.tokenType = null; return cursor; }
216case 6:
217            yyaccept = 1;
218            yych = this._charAt(YYMARKER = ++cursor);
219            if (yych == '*') { gotoCase = 9; continue; };
220            if (yych != '/') { gotoCase = 11; continue; };
221case 7:
222            ++cursor;
223            this.setLexCondition(this._lexConditions.INITIAL);
224            { this.tokenType = "css-comment"; return cursor; }
225case 9:
226            ++cursor;
227            yych = this._charAt(cursor);
228            if (yych == '*') { gotoCase = 9; continue; };
229            if (yych == '/') { gotoCase = 7; continue; };
230case 11:
231            yyaccept = 0;
232            YYMARKER = ++cursor;
233            yych = this._charAt(cursor);
234case 12:
235            if (yych <= '\f') {
236                if (yych == '\n') { gotoCase = 2; continue; };
237                { gotoCase = 11; continue; };
238            } else {
239                if (yych <= '\r') { gotoCase = 2; continue; };
240                if (yych == '*') { gotoCase = 9; continue; };
241                { gotoCase = 11; continue; };
242            }
243/* *********************************** */
244case this.case_DSTRING:
245            yych = this._charAt(cursor);
246            if (yych <= '\r') {
247                if (yych == '\n') { gotoCase = 17; continue; };
248                if (yych <= '\f') { gotoCase = 16; continue; };
249                { gotoCase = 17; continue; };
250            } else {
251                if (yych <= '"') {
252                    if (yych <= '!') { gotoCase = 16; continue; };
253                    { gotoCase = 19; continue; };
254                } else {
255                    if (yych == '\\') { gotoCase = 21; continue; };
256                    { gotoCase = 16; continue; };
257                }
258            }
259case 15:
260            { return this._stringToken(cursor); }
261case 16:
262            yyaccept = 0;
263            yych = this._charAt(YYMARKER = ++cursor);
264            { gotoCase = 23; continue; };
265case 17:
266            ++cursor;
267case 18:
268            { this.tokenType = null; return cursor; }
269case 19:
270            ++cursor;
271case 20:
272            this.setLexCondition(this._lexConditions.INITIAL);
273            { return this._stringToken(cursor, true); }
274case 21:
275            yych = this._charAt(++cursor);
276            if (yych <= 'e') {
277                if (yych <= '\'') {
278                    if (yych == '"') { gotoCase = 22; continue; };
279                    if (yych <= '&') { gotoCase = 18; continue; };
280                } else {
281                    if (yych <= '\\') {
282                        if (yych <= '[') { gotoCase = 18; continue; };
283                    } else {
284                        if (yych != 'b') { gotoCase = 18; continue; };
285                    }
286                }
287            } else {
288                if (yych <= 'r') {
289                    if (yych <= 'm') {
290                        if (yych >= 'g') { gotoCase = 18; continue; };
291                    } else {
292                        if (yych <= 'n') { gotoCase = 22; continue; };
293                        if (yych <= 'q') { gotoCase = 18; continue; };
294                    }
295                } else {
296                    if (yych <= 't') {
297                        if (yych <= 's') { gotoCase = 18; continue; };
298                    } else {
299                        if (yych != 'v') { gotoCase = 18; continue; };
300                    }
301                }
302            }
303case 22:
304            yyaccept = 0;
305            YYMARKER = ++cursor;
306            yych = this._charAt(cursor);
307case 23:
308            if (yych <= '\r') {
309                if (yych == '\n') { gotoCase = 15; continue; };
310                if (yych <= '\f') { gotoCase = 22; continue; };
311                { gotoCase = 15; continue; };
312            } else {
313                if (yych <= '"') {
314                    if (yych <= '!') { gotoCase = 22; continue; };
315                    { gotoCase = 26; continue; };
316                } else {
317                    if (yych != '\\') { gotoCase = 22; continue; };
318                }
319            }
320            ++cursor;
321            yych = this._charAt(cursor);
322            if (yych <= 'e') {
323                if (yych <= '\'') {
324                    if (yych == '"') { gotoCase = 22; continue; };
325                    if (yych >= '\'') { gotoCase = 22; continue; };
326                } else {
327                    if (yych <= '\\') {
328                        if (yych >= '\\') { gotoCase = 22; continue; };
329                    } else {
330                        if (yych == 'b') { gotoCase = 22; continue; };
331                    }
332                }
333            } else {
334                if (yych <= 'r') {
335                    if (yych <= 'm') {
336                        if (yych <= 'f') { gotoCase = 22; continue; };
337                    } else {
338                        if (yych <= 'n') { gotoCase = 22; continue; };
339                        if (yych >= 'r') { gotoCase = 22; continue; };
340                    }
341                } else {
342                    if (yych <= 't') {
343                        if (yych >= 't') { gotoCase = 22; continue; };
344                    } else {
345                        if (yych == 'v') { gotoCase = 22; continue; };
346                    }
347                }
348            }
349            cursor = YYMARKER;
350            { gotoCase = 15; continue; };
351case 26:
352            ++cursor;
353            yych = this._charAt(cursor);
354            { gotoCase = 20; continue; };
355/* *********************************** */
356case this.case_INITIAL:
357            yych = this._charAt(cursor);
358            if (yych <= ':') {
359                if (yych <= '&') {
360                    if (yych <= '"') {
361                        if (yych <= ' ') { gotoCase = 29; continue; };
362                        if (yych <= '!') { gotoCase = 31; continue; };
363                        { gotoCase = 33; continue; };
364                    } else {
365                        if (yych <= '#') { gotoCase = 34; continue; };
366                        if (yych <= '$') { gotoCase = 35; continue; };
367                        if (yych >= '&') { gotoCase = 31; continue; };
368                    }
369                } else {
370                    if (yych <= '-') {
371                        if (yych <= '\'') { gotoCase = 36; continue; };
372                        if (yych >= '-') { gotoCase = 37; continue; };
373                    } else {
374                        if (yych <= '.') { gotoCase = 38; continue; };
375                        if (yych <= '/') { gotoCase = 39; continue; };
376                        if (yych <= '9') { gotoCase = 40; continue; };
377                        { gotoCase = 42; continue; };
378                    }
379                }
380            } else {
381                if (yych <= ']') {
382                    if (yych <= '=') {
383                        if (yych <= ';') { gotoCase = 44; continue; };
384                        if (yych >= '=') { gotoCase = 31; continue; };
385                    } else {
386                        if (yych <= '?') { gotoCase = 29; continue; };
387                        if (yych != '\\') { gotoCase = 31; continue; };
388                    }
389                } else {
390                    if (yych <= 'z') {
391                        if (yych == '_') { gotoCase = 31; continue; };
392                        if (yych >= 'a') { gotoCase = 31; continue; };
393                    } else {
394                        if (yych <= '{') { gotoCase = 46; continue; };
395                        if (yych == '}') { gotoCase = 48; continue; };
396                    }
397                }
398            }
399case 29:
400            ++cursor;
401case 30:
402            { this.tokenType = null; return cursor; }
403case 31:
404            ++cursor;
405            yych = this._charAt(cursor);
406            { gotoCase = 51; continue; };
407case 32:
408            {
409                    var token = this._line.substring(cursorOnEnter, cursor);
410                    this.tokenType = null;
411                    if (this._condition.parseCondition === this._parseConditions.INITIAL || this._condition.parseCondition === this._parseConditions.PROPERTY) {
412                        if (token.charAt(0) === "@") {
413                            this.tokenType = "css-at-rule";
414                            this._setParseCondition(token === "@media" ? this._parseConditions.AT_MEDIA_RULE : this._parseConditions.AT_RULE);
415                            this._condition.atKeyword = token;
416                        } else if (this._condition.parseCondition === this._parseConditions.INITIAL)
417                            this.tokenType = "css-selector";
418                        else if (this._propertyKeywords.hasOwnProperty(token))
419                            this.tokenType = "css-property";
420                    } else if (this._condition.parseCondition === this._parseConditions.AT_MEDIA_RULE || this._condition.parseCondition === this._parseConditions.AT_RULE) {
421                        if (WebInspector.SourceCSSTokenizer.SCSSAtRelatedKeywords.hasOwnProperty(token))
422                            this.tokenType = "css-at-rule";
423                        else if (WebInspector.SourceCSSTokenizer.MediaTypes.hasOwnProperty(token))
424                            this.tokenType = "css-keyword";
425                    }
426                    if (this.tokenType)
427                        return cursor;
428
429                    if (this._isPropertyValue()) {
430                        var firstChar = token.charAt(0);
431                        if (firstChar === "$")
432                            this.tokenType = "scss-variable";
433                        else if (firstChar === "!")
434                            this.tokenType = "css-bang-keyword";
435                        else if (this._condition.atKeyword === "@extend")
436                            this.tokenType = "css-selector";
437                        else if (this._valueKeywords.hasOwnProperty(token) || this._scssValueKeywords.hasOwnProperty(token))
438                            this.tokenType = "css-keyword";
439                        else if (this._colorKeywords.hasOwnProperty(token)) {
440                            // FIXME: this does not convert tokens toLowerCase() for the sake of speed.
441                            this.tokenType = "css-color";
442                        }
443                    } else if (this._condition.parseCondition !== this._parseConditions.PROPERTY_VALUE)
444                        this.tokenType = "css-selector";
445                    return cursor;
446                }
447case 33:
448            yyaccept = 0;
449            yych = this._charAt(YYMARKER = ++cursor);
450            if (yych <= '.') {
451                if (yych <= '!') {
452                    if (yych <= '\f') {
453                        if (yych == '\n') { gotoCase = 32; continue; };
454                        { gotoCase = 132; continue; };
455                    } else {
456                        if (yych <= '\r') { gotoCase = 32; continue; };
457                        if (yych <= ' ') { gotoCase = 132; continue; };
458                        { gotoCase = 130; continue; };
459                    }
460                } else {
461                    if (yych <= '\'') {
462                        if (yych <= '"') { gotoCase = 116; continue; };
463                        if (yych <= '%') { gotoCase = 132; continue; };
464                        { gotoCase = 130; continue; };
465                    } else {
466                        if (yych == '-') { gotoCase = 130; continue; };
467                        { gotoCase = 132; continue; };
468                    }
469                }
470            } else {
471                if (yych <= '\\') {
472                    if (yych <= '=') {
473                        if (yych <= '9') { gotoCase = 130; continue; };
474                        if (yych <= '<') { gotoCase = 132; continue; };
475                        { gotoCase = 130; continue; };
476                    } else {
477                        if (yych <= '?') { gotoCase = 132; continue; };
478                        if (yych <= '[') { gotoCase = 130; continue; };
479                        { gotoCase = 134; continue; };
480                    }
481                } else {
482                    if (yych <= '_') {
483                        if (yych == '^') { gotoCase = 132; continue; };
484                        { gotoCase = 130; continue; };
485                    } else {
486                        if (yych <= '`') { gotoCase = 132; continue; };
487                        if (yych <= 'z') { gotoCase = 130; continue; };
488                        { gotoCase = 132; continue; };
489                    }
490                }
491            }
492case 34:
493            yych = this._charAt(++cursor);
494            if (yych <= '@') {
495                if (yych <= '/') { gotoCase = 30; continue; };
496                if (yych <= '9') { gotoCase = 127; continue; };
497                { gotoCase = 30; continue; };
498            } else {
499                if (yych <= 'Z') { gotoCase = 127; continue; };
500                if (yych <= '`') { gotoCase = 30; continue; };
501                if (yych <= 'z') { gotoCase = 127; continue; };
502                { gotoCase = 30; continue; };
503            }
504case 35:
505            yych = this._charAt(++cursor);
506            if (yych <= '<') {
507                if (yych <= '\'') {
508                    if (yych <= ' ') { gotoCase = 30; continue; };
509                    if (yych <= '"') { gotoCase = 124; continue; };
510                    if (yych <= '%') { gotoCase = 30; continue; };
511                    { gotoCase = 124; continue; };
512                } else {
513                    if (yych <= '-') {
514                        if (yych <= ',') { gotoCase = 30; continue; };
515                        { gotoCase = 124; continue; };
516                    } else {
517                        if (yych <= '.') { gotoCase = 30; continue; };
518                        if (yych <= '9') { gotoCase = 124; continue; };
519                        { gotoCase = 30; continue; };
520                    }
521                }
522            } else {
523                if (yych <= ']') {
524                    if (yych <= '?') {
525                        if (yych <= '=') { gotoCase = 124; continue; };
526                        { gotoCase = 30; continue; };
527                    } else {
528                        if (yych == '\\') { gotoCase = 30; continue; };
529                        { gotoCase = 124; continue; };
530                    }
531                } else {
532                    if (yych <= '_') {
533                        if (yych <= '^') { gotoCase = 30; continue; };
534                        { gotoCase = 124; continue; };
535                    } else {
536                        if (yych <= '`') { gotoCase = 30; continue; };
537                        if (yych <= 'z') { gotoCase = 124; continue; };
538                        { gotoCase = 30; continue; };
539                    }
540                }
541            }
542case 36:
543            yyaccept = 0;
544            yych = this._charAt(YYMARKER = ++cursor);
545            if (yych <= '.') {
546                if (yych <= '"') {
547                    if (yych <= '\f') {
548                        if (yych == '\n') { gotoCase = 32; continue; };
549                        { gotoCase = 118; continue; };
550                    } else {
551                        if (yych <= '\r') { gotoCase = 32; continue; };
552                        if (yych <= ' ') { gotoCase = 118; continue; };
553                        { gotoCase = 114; continue; };
554                    }
555                } else {
556                    if (yych <= '\'') {
557                        if (yych <= '%') { gotoCase = 118; continue; };
558                        if (yych <= '&') { gotoCase = 114; continue; };
559                        { gotoCase = 116; continue; };
560                    } else {
561                        if (yych == '-') { gotoCase = 114; continue; };
562                        { gotoCase = 118; continue; };
563                    }
564                }
565            } else {
566                if (yych <= '\\') {
567                    if (yych <= '=') {
568                        if (yych <= '9') { gotoCase = 114; continue; };
569                        if (yych <= '<') { gotoCase = 118; continue; };
570                        { gotoCase = 114; continue; };
571                    } else {
572                        if (yych <= '?') { gotoCase = 118; continue; };
573                        if (yych <= '[') { gotoCase = 114; continue; };
574                        { gotoCase = 120; continue; };
575                    }
576                } else {
577                    if (yych <= '_') {
578                        if (yych == '^') { gotoCase = 118; continue; };
579                        { gotoCase = 114; continue; };
580                    } else {
581                        if (yych <= '`') { gotoCase = 118; continue; };
582                        if (yych <= 'z') { gotoCase = 114; continue; };
583                        { gotoCase = 118; continue; };
584                    }
585                }
586            }
587case 37:
588            yyaccept = 0;
589            yych = this._charAt(YYMARKER = ++cursor);
590            if (yych == '.') { gotoCase = 67; continue; };
591            if (yych <= '/') { gotoCase = 51; continue; };
592            if (yych <= '9') { gotoCase = 52; continue; };
593            { gotoCase = 51; continue; };
594case 38:
595            yych = this._charAt(++cursor);
596            if (yych <= '/') { gotoCase = 30; continue; };
597            if (yych <= '9') { gotoCase = 70; continue; };
598            { gotoCase = 30; continue; };
599case 39:
600            yyaccept = 0;
601            yych = this._charAt(YYMARKER = ++cursor);
602            if (yych == '*') { gotoCase = 106; continue; };
603            { gotoCase = 51; continue; };
604case 40:
605            yyaccept = 1;
606            yych = this._charAt(YYMARKER = ++cursor);
607            switch (yych) {
608            case '!':
609            case '"':
610            case '&':
611            case '\'':
612            case '-':
613            case '/':
614            case '=':
615            case '@':
616            case 'A':
617            case 'B':
618            case 'C':
619            case 'D':
620            case 'E':
621            case 'F':
622            case 'G':
623            case 'I':
624            case 'J':
625            case 'K':
626            case 'L':
627            case 'M':
628            case 'N':
629            case 'O':
630            case 'P':
631            case 'Q':
632            case 'R':
633            case 'S':
634            case 'T':
635            case 'U':
636            case 'V':
637            case 'W':
638            case 'X':
639            case 'Y':
640            case 'Z':
641            case '[':
642            case ']':
643            case 'a':
644            case 'b':
645            case 'f':
646            case 'h':
647            case 'j':
648            case 'l':
649            case 'n':
650            case 'o':
651            case 'q':
652            case 'u':
653            case 'v':
654            case 'w':
655            case 'x':
656            case 'y':
657            case 'z':    { gotoCase = 50; continue; };
658            case '%':    { gotoCase = 69; continue; };
659            case '.':    { gotoCase = 67; continue; };
660            case '0':
661            case '1':
662            case '2':
663            case '3':
664            case '4':
665            case '5':
666            case '6':
667            case '7':
668            case '8':
669            case '9':    { gotoCase = 52; continue; };
670            case 'H':    { gotoCase = 54; continue; };
671            case '_':    { gotoCase = 55; continue; };
672            case 'c':    { gotoCase = 56; continue; };
673            case 'd':    { gotoCase = 57; continue; };
674            case 'e':    { gotoCase = 58; continue; };
675            case 'g':    { gotoCase = 59; continue; };
676            case 'i':    { gotoCase = 60; continue; };
677            case 'k':    { gotoCase = 61; continue; };
678            case 'm':    { gotoCase = 62; continue; };
679            case 'p':    { gotoCase = 63; continue; };
680            case 'r':    { gotoCase = 64; continue; };
681            case 's':    { gotoCase = 65; continue; };
682            case 't':    { gotoCase = 66; continue; };
683            default:    { gotoCase = 41; continue; };
684            }
685case 41:
686            {
687                    if (this._isPropertyValue())
688                        this.tokenType = "css-number";
689                    else
690                        this.tokenType = null;
691                    return cursor;
692                }
693case 42:
694            ++cursor;
695            {
696                    this.tokenType = null;
697                    if (this._condition.parseCondition === this._parseConditions.PROPERTY || this._condition.parseCondition === this._parseConditions.INITIAL)
698                        this._setParseCondition(this._parseConditions.PROPERTY_VALUE);
699                    return cursor;
700                }
701case 44:
702            ++cursor;
703            {
704                    this.tokenType = null;
705                    this._setParseCondition(this._condition.openBraces ? this._parseConditions.PROPERTY : this._parseConditions.INITIAL);
706                    delete this._condition.atKeyword;
707                    return cursor;
708                }
709case 46:
710            ++cursor;
711            {
712                    this.tokenType = "block-start";
713                    this._condition.openBraces = (this._condition.openBraces || 0) + 1;
714                    if (this._condition.parseCondition === this._parseConditions.AT_MEDIA_RULE)
715                        this._setParseCondition(this._parseConditions.INITIAL);
716                    else
717                        this._setParseCondition(this._parseConditions.PROPERTY);
718                    return cursor;
719                }
720case 48:
721            ++cursor;
722            {
723                    this.tokenType = "block-end";
724                    if (this._condition.openBraces > 0)
725                        --this._condition.openBraces;
726                    this._setParseCondition(this._condition.openBraces ? this._parseConditions.PROPERTY : this._parseConditions.INITIAL);
727                    delete this._condition.atKeyword;
728                    return cursor;
729                }
730case 50:
731            ++cursor;
732            yych = this._charAt(cursor);
733case 51:
734            if (yych <= '<') {
735                if (yych <= '\'') {
736                    if (yych <= ' ') { gotoCase = 32; continue; };
737                    if (yych <= '"') { gotoCase = 50; continue; };
738                    if (yych <= '%') { gotoCase = 32; continue; };
739                    { gotoCase = 50; continue; };
740                } else {
741                    if (yych <= '-') {
742                        if (yych <= ',') { gotoCase = 32; continue; };
743                        { gotoCase = 50; continue; };
744                    } else {
745                        if (yych <= '.') { gotoCase = 32; continue; };
746                        if (yych <= '9') { gotoCase = 50; continue; };
747                        { gotoCase = 32; continue; };
748                    }
749                }
750            } else {
751                if (yych <= ']') {
752                    if (yych <= '?') {
753                        if (yych <= '=') { gotoCase = 50; continue; };
754                        { gotoCase = 32; continue; };
755                    } else {
756                        if (yych == '\\') { gotoCase = 32; continue; };
757                        { gotoCase = 50; continue; };
758                    }
759                } else {
760                    if (yych <= '_') {
761                        if (yych <= '^') { gotoCase = 32; continue; };
762                        { gotoCase = 50; continue; };
763                    } else {
764                        if (yych <= '`') { gotoCase = 32; continue; };
765                        if (yych <= 'z') { gotoCase = 50; continue; };
766                        { gotoCase = 32; continue; };
767                    }
768                }
769            }
770case 52:
771            yyaccept = 1;
772            YYMARKER = ++cursor;
773            yych = this._charAt(cursor);
774            switch (yych) {
775            case '!':
776            case '"':
777            case '&':
778            case '\'':
779            case '-':
780            case '/':
781            case '=':
782            case '@':
783            case 'A':
784            case 'B':
785            case 'C':
786            case 'D':
787            case 'E':
788            case 'F':
789            case 'G':
790            case 'I':
791            case 'J':
792            case 'K':
793            case 'L':
794            case 'M':
795            case 'N':
796            case 'O':
797            case 'P':
798            case 'Q':
799            case 'R':
800            case 'S':
801            case 'T':
802            case 'U':
803            case 'V':
804            case 'W':
805            case 'X':
806            case 'Y':
807            case 'Z':
808            case '[':
809            case ']':
810            case 'a':
811            case 'b':
812            case 'f':
813            case 'h':
814            case 'j':
815            case 'l':
816            case 'n':
817            case 'o':
818            case 'q':
819            case 'u':
820            case 'v':
821            case 'w':
822            case 'x':
823            case 'y':
824            case 'z':    { gotoCase = 50; continue; };
825            case '%':    { gotoCase = 69; continue; };
826            case '.':    { gotoCase = 67; continue; };
827            case '0':
828            case '1':
829            case '2':
830            case '3':
831            case '4':
832            case '5':
833            case '6':
834            case '7':
835            case '8':
836            case '9':    { gotoCase = 52; continue; };
837            case 'H':    { gotoCase = 54; continue; };
838            case '_':    { gotoCase = 55; continue; };
839            case 'c':    { gotoCase = 56; continue; };
840            case 'd':    { gotoCase = 57; continue; };
841            case 'e':    { gotoCase = 58; continue; };
842            case 'g':    { gotoCase = 59; continue; };
843            case 'i':    { gotoCase = 60; continue; };
844            case 'k':    { gotoCase = 61; continue; };
845            case 'm':    { gotoCase = 62; continue; };
846            case 'p':    { gotoCase = 63; continue; };
847            case 'r':    { gotoCase = 64; continue; };
848            case 's':    { gotoCase = 65; continue; };
849            case 't':    { gotoCase = 66; continue; };
850            default:    { gotoCase = 41; continue; };
851            }
852case 54:
853            yych = this._charAt(++cursor);
854            if (yych == 'z') { gotoCase = 65; continue; };
855            { gotoCase = 51; continue; };
856case 55:
857            yych = this._charAt(++cursor);
858            if (yych == '_') { gotoCase = 103; continue; };
859            { gotoCase = 51; continue; };
860case 56:
861            yych = this._charAt(++cursor);
862            if (yych == 'm') { gotoCase = 65; continue; };
863            { gotoCase = 51; continue; };
864case 57:
865            yych = this._charAt(++cursor);
866            if (yych == 'e') { gotoCase = 102; continue; };
867            { gotoCase = 51; continue; };
868case 58:
869            yych = this._charAt(++cursor);
870            if (yych == 'm') { gotoCase = 65; continue; };
871            if (yych == 'x') { gotoCase = 65; continue; };
872            { gotoCase = 51; continue; };
873case 59:
874            yych = this._charAt(++cursor);
875            if (yych == 'r') { gotoCase = 100; continue; };
876            { gotoCase = 51; continue; };
877case 60:
878            yych = this._charAt(++cursor);
879            if (yych == 'n') { gotoCase = 65; continue; };
880            { gotoCase = 51; continue; };
881case 61:
882            yych = this._charAt(++cursor);
883            if (yych == 'H') { gotoCase = 99; continue; };
884            { gotoCase = 51; continue; };
885case 62:
886            yych = this._charAt(++cursor);
887            if (yych == 'm') { gotoCase = 65; continue; };
888            if (yych == 's') { gotoCase = 65; continue; };
889            { gotoCase = 51; continue; };
890case 63:
891            yych = this._charAt(++cursor);
892            if (yych <= 's') {
893                if (yych == 'c') { gotoCase = 65; continue; };
894                { gotoCase = 51; continue; };
895            } else {
896                if (yych <= 't') { gotoCase = 65; continue; };
897                if (yych == 'x') { gotoCase = 65; continue; };
898                { gotoCase = 51; continue; };
899            }
900case 64:
901            yych = this._charAt(++cursor);
902            if (yych == 'a') { gotoCase = 97; continue; };
903            if (yych == 'e') { gotoCase = 98; continue; };
904            { gotoCase = 51; continue; };
905case 65:
906            yych = this._charAt(++cursor);
907            if (yych <= '<') {
908                if (yych <= '\'') {
909                    if (yych <= ' ') { gotoCase = 41; continue; };
910                    if (yych <= '"') { gotoCase = 50; continue; };
911                    if (yych <= '%') { gotoCase = 41; continue; };
912                    { gotoCase = 50; continue; };
913                } else {
914                    if (yych <= '-') {
915                        if (yych <= ',') { gotoCase = 41; continue; };
916                        { gotoCase = 50; continue; };
917                    } else {
918                        if (yych <= '.') { gotoCase = 41; continue; };
919                        if (yych <= '9') { gotoCase = 50; continue; };
920                        { gotoCase = 41; continue; };
921                    }
922                }
923            } else {
924                if (yych <= ']') {
925                    if (yych <= '?') {
926                        if (yych <= '=') { gotoCase = 50; continue; };
927                        { gotoCase = 41; continue; };
928                    } else {
929                        if (yych == '\\') { gotoCase = 41; continue; };
930                        { gotoCase = 50; continue; };
931                    }
932                } else {
933                    if (yych <= '_') {
934                        if (yych <= '^') { gotoCase = 41; continue; };
935                        { gotoCase = 50; continue; };
936                    } else {
937                        if (yych <= '`') { gotoCase = 41; continue; };
938                        if (yych <= 'z') { gotoCase = 50; continue; };
939                        { gotoCase = 41; continue; };
940                    }
941                }
942            }
943case 66:
944            yych = this._charAt(++cursor);
945            if (yych == 'u') { gotoCase = 95; continue; };
946            { gotoCase = 51; continue; };
947case 67:
948            yych = this._charAt(++cursor);
949            if (yych <= '/') { gotoCase = 68; continue; };
950            if (yych <= '9') { gotoCase = 70; continue; };
951case 68:
952            cursor = YYMARKER;
953            if (yyaccept <= 0) {
954                { gotoCase = 32; continue; };
955            } else {
956                { gotoCase = 41; continue; };
957            }
958case 69:
959            yych = this._charAt(++cursor);
960            { gotoCase = 41; continue; };
961case 70:
962            yyaccept = 1;
963            YYMARKER = ++cursor;
964            yych = this._charAt(cursor);
965            if (yych <= 'f') {
966                if (yych <= 'H') {
967                    if (yych <= '/') {
968                        if (yych == '%') { gotoCase = 69; continue; };
969                        { gotoCase = 41; continue; };
970                    } else {
971                        if (yych <= '9') { gotoCase = 70; continue; };
972                        if (yych <= 'G') { gotoCase = 41; continue; };
973                        { gotoCase = 82; continue; };
974                    }
975                } else {
976                    if (yych <= 'b') {
977                        if (yych == '_') { gotoCase = 74; continue; };
978                        { gotoCase = 41; continue; };
979                    } else {
980                        if (yych <= 'c') { gotoCase = 76; continue; };
981                        if (yych <= 'd') { gotoCase = 79; continue; };
982                        if (yych >= 'f') { gotoCase = 41; continue; };
983                    }
984                }
985            } else {
986                if (yych <= 'm') {
987                    if (yych <= 'i') {
988                        if (yych <= 'g') { gotoCase = 80; continue; };
989                        if (yych <= 'h') { gotoCase = 41; continue; };
990                        { gotoCase = 78; continue; };
991                    } else {
992                        if (yych == 'k') { gotoCase = 83; continue; };
993                        if (yych <= 'l') { gotoCase = 41; continue; };
994                        { gotoCase = 77; continue; };
995                    }
996                } else {
997                    if (yych <= 'q') {
998                        if (yych == 'p') { gotoCase = 75; continue; };
999                        { gotoCase = 41; continue; };
1000                    } else {
1001                        if (yych <= 'r') { gotoCase = 73; continue; };
1002                        if (yych <= 's') { gotoCase = 69; continue; };
1003                        if (yych <= 't') { gotoCase = 81; continue; };
1004                        { gotoCase = 41; continue; };
1005                    }
1006                }
1007            }
1008            yych = this._charAt(++cursor);
1009            if (yych == 'm') { gotoCase = 69; continue; };
1010            if (yych == 'x') { gotoCase = 69; continue; };
1011            { gotoCase = 68; continue; };
1012case 73:
1013            yych = this._charAt(++cursor);
1014            if (yych == 'a') { gotoCase = 93; continue; };
1015            if (yych == 'e') { gotoCase = 94; continue; };
1016            { gotoCase = 68; continue; };
1017case 74:
1018            yych = this._charAt(++cursor);
1019            if (yych == '_') { gotoCase = 90; continue; };
1020            { gotoCase = 68; continue; };
1021case 75:
1022            yych = this._charAt(++cursor);
1023            if (yych <= 's') {
1024                if (yych == 'c') { gotoCase = 69; continue; };
1025                { gotoCase = 68; continue; };
1026            } else {
1027                if (yych <= 't') { gotoCase = 69; continue; };
1028                if (yych == 'x') { gotoCase = 69; continue; };
1029                { gotoCase = 68; continue; };
1030            }
1031case 76:
1032            yych = this._charAt(++cursor);
1033            if (yych == 'm') { gotoCase = 69; continue; };
1034            { gotoCase = 68; continue; };
1035case 77:
1036            yych = this._charAt(++cursor);
1037            if (yych == 'm') { gotoCase = 69; continue; };
1038            if (yych == 's') { gotoCase = 69; continue; };
1039            { gotoCase = 68; continue; };
1040case 78:
1041            yych = this._charAt(++cursor);
1042            if (yych == 'n') { gotoCase = 69; continue; };
1043            { gotoCase = 68; continue; };
1044case 79:
1045            yych = this._charAt(++cursor);
1046            if (yych == 'e') { gotoCase = 89; continue; };
1047            { gotoCase = 68; continue; };
1048case 80:
1049            yych = this._charAt(++cursor);
1050            if (yych == 'r') { gotoCase = 87; continue; };
1051            { gotoCase = 68; continue; };
1052case 81:
1053            yych = this._charAt(++cursor);
1054            if (yych == 'u') { gotoCase = 85; continue; };
1055            { gotoCase = 68; continue; };
1056case 82:
1057            yych = this._charAt(++cursor);
1058            if (yych == 'z') { gotoCase = 69; continue; };
1059            { gotoCase = 68; continue; };
1060case 83:
1061            yych = this._charAt(++cursor);
1062            if (yych != 'H') { gotoCase = 68; continue; };
1063            yych = this._charAt(++cursor);
1064            if (yych == 'z') { gotoCase = 69; continue; };
1065            { gotoCase = 68; continue; };
1066case 85:
1067            yych = this._charAt(++cursor);
1068            if (yych != 'r') { gotoCase = 68; continue; };
1069            yych = this._charAt(++cursor);
1070            if (yych == 'n') { gotoCase = 69; continue; };
1071            { gotoCase = 68; continue; };
1072case 87:
1073            yych = this._charAt(++cursor);
1074            if (yych != 'a') { gotoCase = 68; continue; };
1075            yych = this._charAt(++cursor);
1076            if (yych == 'd') { gotoCase = 69; continue; };
1077            { gotoCase = 68; continue; };
1078case 89:
1079            yych = this._charAt(++cursor);
1080            if (yych == 'g') { gotoCase = 69; continue; };
1081            { gotoCase = 68; continue; };
1082case 90:
1083            yych = this._charAt(++cursor);
1084            if (yych != 'q') { gotoCase = 68; continue; };
1085            yych = this._charAt(++cursor);
1086            if (yych != 'e') { gotoCase = 68; continue; };
1087            yych = this._charAt(++cursor);
1088            if (yych == 'm') { gotoCase = 69; continue; };
1089            { gotoCase = 68; continue; };
1090case 93:
1091            yych = this._charAt(++cursor);
1092            if (yych == 'd') { gotoCase = 69; continue; };
1093            { gotoCase = 68; continue; };
1094case 94:
1095            yych = this._charAt(++cursor);
1096            if (yych == 'm') { gotoCase = 69; continue; };
1097            { gotoCase = 68; continue; };
1098case 95:
1099            yych = this._charAt(++cursor);
1100            if (yych != 'r') { gotoCase = 51; continue; };
1101            yych = this._charAt(++cursor);
1102            if (yych == 'n') { gotoCase = 65; continue; };
1103            { gotoCase = 51; continue; };
1104case 97:
1105            yych = this._charAt(++cursor);
1106            if (yych == 'd') { gotoCase = 65; continue; };
1107            { gotoCase = 51; continue; };
1108case 98:
1109            yych = this._charAt(++cursor);
1110            if (yych == 'm') { gotoCase = 65; continue; };
1111            { gotoCase = 51; continue; };
1112case 99:
1113            yych = this._charAt(++cursor);
1114            if (yych == 'z') { gotoCase = 65; continue; };
1115            { gotoCase = 51; continue; };
1116case 100:
1117            yych = this._charAt(++cursor);
1118            if (yych != 'a') { gotoCase = 51; continue; };
1119            yych = this._charAt(++cursor);
1120            if (yych == 'd') { gotoCase = 65; continue; };
1121            { gotoCase = 51; continue; };
1122case 102:
1123            yych = this._charAt(++cursor);
1124            if (yych == 'g') { gotoCase = 65; continue; };
1125            { gotoCase = 51; continue; };
1126case 103:
1127            yych = this._charAt(++cursor);
1128            if (yych != 'q') { gotoCase = 51; continue; };
1129            yych = this._charAt(++cursor);
1130            if (yych != 'e') { gotoCase = 51; continue; };
1131            yych = this._charAt(++cursor);
1132            if (yych == 'm') { gotoCase = 65; continue; };
1133            { gotoCase = 51; continue; };
1134case 106:
1135            ++cursor;
1136            yych = this._charAt(cursor);
1137            if (yych <= '\f') {
1138                if (yych == '\n') { gotoCase = 110; continue; };
1139                { gotoCase = 106; continue; };
1140            } else {
1141                if (yych <= '\r') { gotoCase = 110; continue; };
1142                if (yych != '*') { gotoCase = 106; continue; };
1143            }
1144case 108:
1145            ++cursor;
1146            yych = this._charAt(cursor);
1147            if (yych == '*') { gotoCase = 108; continue; };
1148            if (yych == '/') { gotoCase = 112; continue; };
1149            { gotoCase = 106; continue; };
1150case 110:
1151            ++cursor;
1152            this.setLexCondition(this._lexConditions.COMMENT);
1153            { this.tokenType = "css-comment"; return cursor; }
1154case 112:
1155            ++cursor;
1156            { this.tokenType = "css-comment"; return cursor; }
1157case 114:
1158            yyaccept = 0;
1159            YYMARKER = ++cursor;
1160            yych = this._charAt(cursor);
1161            if (yych <= '.') {
1162                if (yych <= '"') {
1163                    if (yych <= '\f') {
1164                        if (yych == '\n') { gotoCase = 32; continue; };
1165                        { gotoCase = 118; continue; };
1166                    } else {
1167                        if (yych <= '\r') { gotoCase = 32; continue; };
1168                        if (yych <= ' ') { gotoCase = 118; continue; };
1169                        { gotoCase = 114; continue; };
1170                    }
1171                } else {
1172                    if (yych <= '\'') {
1173                        if (yych <= '%') { gotoCase = 118; continue; };
1174                        if (yych <= '&') { gotoCase = 114; continue; };
1175                    } else {
1176                        if (yych == '-') { gotoCase = 114; continue; };
1177                        { gotoCase = 118; continue; };
1178                    }
1179                }
1180            } else {
1181                if (yych <= '\\') {
1182                    if (yych <= '=') {
1183                        if (yych <= '9') { gotoCase = 114; continue; };
1184                        if (yych <= '<') { gotoCase = 118; continue; };
1185                        { gotoCase = 114; continue; };
1186                    } else {
1187                        if (yych <= '?') { gotoCase = 118; continue; };
1188                        if (yych <= '[') { gotoCase = 114; continue; };
1189                        { gotoCase = 120; continue; };
1190                    }
1191                } else {
1192                    if (yych <= '_') {
1193                        if (yych == '^') { gotoCase = 118; continue; };
1194                        { gotoCase = 114; continue; };
1195                    } else {
1196                        if (yych <= '`') { gotoCase = 118; continue; };
1197                        if (yych <= 'z') { gotoCase = 114; continue; };
1198                        { gotoCase = 118; continue; };
1199                    }
1200                }
1201            }
1202case 116:
1203            ++cursor;
1204            if ((yych = this._charAt(cursor)) <= '<') {
1205                if (yych <= '\'') {
1206                    if (yych <= ' ') { gotoCase = 117; continue; };
1207                    if (yych <= '"') { gotoCase = 50; continue; };
1208                    if (yych >= '&') { gotoCase = 50; continue; };
1209                } else {
1210                    if (yych <= '-') {
1211                        if (yych >= '-') { gotoCase = 50; continue; };
1212                    } else {
1213                        if (yych <= '.') { gotoCase = 117; continue; };
1214                        if (yych <= '9') { gotoCase = 50; continue; };
1215                    }
1216                }
1217            } else {
1218                if (yych <= ']') {
1219                    if (yych <= '?') {
1220                        if (yych <= '=') { gotoCase = 50; continue; };
1221                    } else {
1222                        if (yych != '\\') { gotoCase = 50; continue; };
1223                    }
1224                } else {
1225                    if (yych <= '_') {
1226                        if (yych >= '_') { gotoCase = 50; continue; };
1227                    } else {
1228                        if (yych <= '`') { gotoCase = 117; continue; };
1229                        if (yych <= 'z') { gotoCase = 50; continue; };
1230                    }
1231                }
1232            }
1233case 117:
1234            { return this._stringToken(cursor, true); }
1235case 118:
1236            ++cursor;
1237            yych = this._charAt(cursor);
1238            if (yych <= '\r') {
1239                if (yych == '\n') { gotoCase = 68; continue; };
1240                if (yych <= '\f') { gotoCase = 118; continue; };
1241                { gotoCase = 68; continue; };
1242            } else {
1243                if (yych <= '\'') {
1244                    if (yych <= '&') { gotoCase = 118; continue; };
1245                    { gotoCase = 123; continue; };
1246                } else {
1247                    if (yych != '\\') { gotoCase = 118; continue; };
1248                }
1249            }
1250case 120:
1251            ++cursor;
1252            yych = this._charAt(cursor);
1253            if (yych <= 'a') {
1254                if (yych <= '!') {
1255                    if (yych <= '\n') {
1256                        if (yych <= '\t') { gotoCase = 68; continue; };
1257                    } else {
1258                        if (yych != '\r') { gotoCase = 68; continue; };
1259                    }
1260                } else {
1261                    if (yych <= '\'') {
1262                        if (yych <= '"') { gotoCase = 118; continue; };
1263                        if (yych <= '&') { gotoCase = 68; continue; };
1264                        { gotoCase = 118; continue; };
1265                    } else {
1266                        if (yych == '\\') { gotoCase = 118; continue; };
1267                        { gotoCase = 68; continue; };
1268                    }
1269                }
1270            } else {
1271                if (yych <= 'q') {
1272                    if (yych <= 'f') {
1273                        if (yych <= 'b') { gotoCase = 118; continue; };
1274                        if (yych <= 'e') { gotoCase = 68; continue; };
1275                        { gotoCase = 118; continue; };
1276                    } else {
1277                        if (yych == 'n') { gotoCase = 118; continue; };
1278                        { gotoCase = 68; continue; };
1279                    }
1280                } else {
1281                    if (yych <= 't') {
1282                        if (yych == 's') { gotoCase = 68; continue; };
1283                        { gotoCase = 118; continue; };
1284                    } else {
1285                        if (yych == 'v') { gotoCase = 118; continue; };
1286                        { gotoCase = 68; continue; };
1287                    }
1288                }
1289            }
1290            ++cursor;
1291            this.setLexCondition(this._lexConditions.SSTRING);
1292            { return this._stringToken(cursor); }
1293case 123:
1294            yych = this._charAt(++cursor);
1295            { gotoCase = 117; continue; };
1296case 124:
1297            ++cursor;
1298            yych = this._charAt(cursor);
1299            if (yych <= '<') {
1300                if (yych <= '\'') {
1301                    if (yych <= ' ') { gotoCase = 126; continue; };
1302                    if (yych <= '"') { gotoCase = 124; continue; };
1303                    if (yych >= '&') { gotoCase = 124; continue; };
1304                } else {
1305                    if (yych <= '-') {
1306                        if (yych >= '-') { gotoCase = 124; continue; };
1307                    } else {
1308                        if (yych <= '.') { gotoCase = 126; continue; };
1309                        if (yych <= '9') { gotoCase = 124; continue; };
1310                    }
1311                }
1312            } else {
1313                if (yych <= ']') {
1314                    if (yych <= '?') {
1315                        if (yych <= '=') { gotoCase = 124; continue; };
1316                    } else {
1317                        if (yych != '\\') { gotoCase = 124; continue; };
1318                    }
1319                } else {
1320                    if (yych <= '_') {
1321                        if (yych >= '_') { gotoCase = 124; continue; };
1322                    } else {
1323                        if (yych <= '`') { gotoCase = 126; continue; };
1324                        if (yych <= 'z') { gotoCase = 124; continue; };
1325                    }
1326                }
1327            }
1328case 126:
1329            {
1330                    if (this._condition.parseCondition === this._condition.parseCondition.INITIAL || this._condition.parseCondition === this._condition.parseCondition.AT_RULE)
1331                        this._setParseCondition(this._parseConditions.PROPERTY);
1332                    this.tokenType = "scss-variable";
1333                    return cursor;
1334                }
1335case 127:
1336            ++cursor;
1337            yych = this._charAt(cursor);
1338            if (yych <= '@') {
1339                if (yych <= '/') { gotoCase = 129; continue; };
1340                if (yych <= '9') { gotoCase = 127; continue; };
1341            } else {
1342                if (yych <= 'Z') { gotoCase = 127; continue; };
1343                if (yych <= '`') { gotoCase = 129; continue; };
1344                if (yych <= 'z') { gotoCase = 127; continue; };
1345            }
1346case 129:
1347            {
1348                    if (this._isPropertyValue())
1349                        this.tokenType = "css-color";
1350                    else if (this._condition.parseCondition === this._parseConditions.INITIAL)
1351                        this.tokenType = "css-selector";
1352                    else
1353                        this.tokenType = null;
1354                    return cursor;
1355                }
1356case 130:
1357            yyaccept = 0;
1358            YYMARKER = ++cursor;
1359            yych = this._charAt(cursor);
1360            if (yych <= '.') {
1361                if (yych <= '!') {
1362                    if (yych <= '\f') {
1363                        if (yych == '\n') { gotoCase = 32; continue; };
1364                    } else {
1365                        if (yych <= '\r') { gotoCase = 32; continue; };
1366                        if (yych >= '!') { gotoCase = 130; continue; };
1367                    }
1368                } else {
1369                    if (yych <= '\'') {
1370                        if (yych <= '"') { gotoCase = 116; continue; };
1371                        if (yych >= '&') { gotoCase = 130; continue; };
1372                    } else {
1373                        if (yych == '-') { gotoCase = 130; continue; };
1374                    }
1375                }
1376            } else {
1377                if (yych <= '\\') {
1378                    if (yych <= '=') {
1379                        if (yych <= '9') { gotoCase = 130; continue; };
1380                        if (yych >= '=') { gotoCase = 130; continue; };
1381                    } else {
1382                        if (yych <= '?') { gotoCase = 132; continue; };
1383                        if (yych <= '[') { gotoCase = 130; continue; };
1384                        { gotoCase = 134; continue; };
1385                    }
1386                } else {
1387                    if (yych <= '_') {
1388                        if (yych != '^') { gotoCase = 130; continue; };
1389                    } else {
1390                        if (yych <= '`') { gotoCase = 132; continue; };
1391                        if (yych <= 'z') { gotoCase = 130; continue; };
1392                    }
1393                }
1394            }
1395case 132:
1396            ++cursor;
1397            yych = this._charAt(cursor);
1398            if (yych <= '\r') {
1399                if (yych == '\n') { gotoCase = 68; continue; };
1400                if (yych <= '\f') { gotoCase = 132; continue; };
1401                { gotoCase = 68; continue; };
1402            } else {
1403                if (yych <= '"') {
1404                    if (yych <= '!') { gotoCase = 132; continue; };
1405                    { gotoCase = 123; continue; };
1406                } else {
1407                    if (yych != '\\') { gotoCase = 132; continue; };
1408                }
1409            }
1410case 134:
1411            ++cursor;
1412            yych = this._charAt(cursor);
1413            if (yych <= 'a') {
1414                if (yych <= '!') {
1415                    if (yych <= '\n') {
1416                        if (yych <= '\t') { gotoCase = 68; continue; };
1417                    } else {
1418                        if (yych != '\r') { gotoCase = 68; continue; };
1419                    }
1420                } else {
1421                    if (yych <= '\'') {
1422                        if (yych <= '"') { gotoCase = 132; continue; };
1423                        if (yych <= '&') { gotoCase = 68; continue; };
1424                        { gotoCase = 132; continue; };
1425                    } else {
1426                        if (yych == '\\') { gotoCase = 132; continue; };
1427                        { gotoCase = 68; continue; };
1428                    }
1429                }
1430            } else {
1431                if (yych <= 'q') {
1432                    if (yych <= 'f') {
1433                        if (yych <= 'b') { gotoCase = 132; continue; };
1434                        if (yych <= 'e') { gotoCase = 68; continue; };
1435                        { gotoCase = 132; continue; };
1436                    } else {
1437                        if (yych == 'n') { gotoCase = 132; continue; };
1438                        { gotoCase = 68; continue; };
1439                    }
1440                } else {
1441                    if (yych <= 't') {
1442                        if (yych == 's') { gotoCase = 68; continue; };
1443                        { gotoCase = 132; continue; };
1444                    } else {
1445                        if (yych == 'v') { gotoCase = 132; continue; };
1446                        { gotoCase = 68; continue; };
1447                    }
1448                }
1449            }
1450            ++cursor;
1451            this.setLexCondition(this._lexConditions.DSTRING);
1452            { return this._stringToken(cursor); }
1453/* *********************************** */
1454case this.case_SSTRING:
1455            yych = this._charAt(cursor);
1456            if (yych <= '\r') {
1457                if (yych == '\n') { gotoCase = 141; continue; };
1458                if (yych <= '\f') { gotoCase = 140; continue; };
1459                { gotoCase = 141; continue; };
1460            } else {
1461                if (yych <= '\'') {
1462                    if (yych <= '&') { gotoCase = 140; continue; };
1463                    { gotoCase = 143; continue; };
1464                } else {
1465                    if (yych == '\\') { gotoCase = 145; continue; };
1466                    { gotoCase = 140; continue; };
1467                }
1468            }
1469case 139:
1470            { return this._stringToken(cursor); }
1471case 140:
1472            yyaccept = 0;
1473            yych = this._charAt(YYMARKER = ++cursor);
1474            { gotoCase = 147; continue; };
1475case 141:
1476            ++cursor;
1477case 142:
1478            { this.tokenType = null; return cursor; }
1479case 143:
1480            ++cursor;
1481case 144:
1482            this.setLexCondition(this._lexConditions.INITIAL);
1483            { return this._stringToken(cursor, true); }
1484case 145:
1485            yych = this._charAt(++cursor);
1486            if (yych <= 'e') {
1487                if (yych <= '\'') {
1488                    if (yych == '"') { gotoCase = 146; continue; };
1489                    if (yych <= '&') { gotoCase = 142; continue; };
1490                } else {
1491                    if (yych <= '\\') {
1492                        if (yych <= '[') { gotoCase = 142; continue; };
1493                    } else {
1494                        if (yych != 'b') { gotoCase = 142; continue; };
1495                    }
1496                }
1497            } else {
1498                if (yych <= 'r') {
1499                    if (yych <= 'm') {
1500                        if (yych >= 'g') { gotoCase = 142; continue; };
1501                    } else {
1502                        if (yych <= 'n') { gotoCase = 146; continue; };
1503                        if (yych <= 'q') { gotoCase = 142; continue; };
1504                    }
1505                } else {
1506                    if (yych <= 't') {
1507                        if (yych <= 's') { gotoCase = 142; continue; };
1508                    } else {
1509                        if (yych != 'v') { gotoCase = 142; continue; };
1510                    }
1511                }
1512            }
1513case 146:
1514            yyaccept = 0;
1515            YYMARKER = ++cursor;
1516            yych = this._charAt(cursor);
1517case 147:
1518            if (yych <= '\r') {
1519                if (yych == '\n') { gotoCase = 139; continue; };
1520                if (yych <= '\f') { gotoCase = 146; continue; };
1521                { gotoCase = 139; continue; };
1522            } else {
1523                if (yych <= '\'') {
1524                    if (yych <= '&') { gotoCase = 146; continue; };
1525                    { gotoCase = 150; continue; };
1526                } else {
1527                    if (yych != '\\') { gotoCase = 146; continue; };
1528                }
1529            }
1530            ++cursor;
1531            yych = this._charAt(cursor);
1532            if (yych <= 'e') {
1533                if (yych <= '\'') {
1534                    if (yych == '"') { gotoCase = 146; continue; };
1535                    if (yych >= '\'') { gotoCase = 146; continue; };
1536                } else {
1537                    if (yych <= '\\') {
1538                        if (yych >= '\\') { gotoCase = 146; continue; };
1539                    } else {
1540                        if (yych == 'b') { gotoCase = 146; continue; };
1541                    }
1542                }
1543            } else {
1544                if (yych <= 'r') {
1545                    if (yych <= 'm') {
1546                        if (yych <= 'f') { gotoCase = 146; continue; };
1547                    } else {
1548                        if (yych <= 'n') { gotoCase = 146; continue; };
1549                        if (yych >= 'r') { gotoCase = 146; continue; };
1550                    }
1551                } else {
1552                    if (yych <= 't') {
1553                        if (yych >= 't') { gotoCase = 146; continue; };
1554                    } else {
1555                        if (yych == 'v') { gotoCase = 146; continue; };
1556                    }
1557                }
1558            }
1559            cursor = YYMARKER;
1560            { gotoCase = 139; continue; };
1561case 150:
1562            ++cursor;
1563            yych = this._charAt(cursor);
1564            { gotoCase = 144; continue; };
1565        }
1566
1567        }
1568    },
1569
1570    __proto__: WebInspector.SourceTokenizer.prototype
1571}
1572