Your IP : 216.73.216.122


Current Path : /home/ereika83/www/wp-content/plugins/popover/js/
Upload File :
Current File : /home/ereika83/www/wp-content/plugins/popover/js/worker-css.min.js

/*! PopUp - v4.8.01
 * http://premium.wpmudev.org/project/the-pop-over-plugin/
 * Copyright (c) 2017; * Licensed GPLv2+ */
"no use strict";!function(a){if("undefined"==typeof a.window||!a.document){a.console=function(){var a=Array.prototype.slice.call(arguments,0);postMessage({type:"log",data:a})},a.console.error=a.console.warn=a.console.log=a.console.trace=a.console,a.window=a,a.ace=a,a.onerror=function(a,b,c,d,e){postMessage({type:"error",data:{message:a,file:b,line:c,col:d,stack:e.stack}})},a.normalizeModule=function(b,c){if(c.indexOf("!")!==-1){var d=c.split("!");return a.normalizeModule(b,d[0])+"!"+a.normalizeModule(b,d[1])}if("."==c.charAt(0)){var e=b.split("/").slice(0,-1).join("/");for(c=(e?e+"/":"")+c;c.indexOf(".")!==-1&&f!=c;){var f=c;c=c.replace(/^\.\//,"").replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}return c},a.require=function(b,c){if(c||(c=b,b=null),!c.charAt)throw new Error("worker.js require() accepts only (parentId, id) as arguments");c=a.normalizeModule(b,c);var d=a.require.modules[c];if(d)return d.initialized||(d.initialized=!0,d.exports=d.factory().exports),d.exports;var e=c.split("/");if(!a.require.tlns)return console.log("unable to load "+c);e[0]=a.require.tlns[e[0]]||e[0];var f=e.join("/")+".js";return a.require.id=c,importScripts(f),a.require(b,c)},a.require.modules={},a.require.tlns={},a.define=function(b,c,d){if(2==arguments.length?(d=c,"string"!=typeof b&&(c=b,b=a.require.id)):1==arguments.length&&(d=b,c=[],b=a.require.id),"function"!=typeof d)return void(a.require.modules[b]={exports:d,initialized:!0});c.length||(c=["require","exports","module"]);var e=function(c){return a.require(b,c)};a.require.modules[b]={exports:{},factory:function(){var a=this,b=d.apply(this,c.map(function(b){switch(b){case"require":return e;case"exports":return a.exports;case"module":return a;default:return e(b)}}));return b&&(a.exports=b),a}}},a.define.amd={},a.initBaseUrls=function(a){require.tlns=a},a.initSender=function(){var b=a.require("ace/lib/event_emitter").EventEmitter,c=a.require("ace/lib/oop"),d=function(){};return function(){c.implement(this,b),this.callback=function(a,b){postMessage({type:"call",id:b,data:a})},this.emit=function(a,b){postMessage({type:"event",name:a,data:b})}}.call(d.prototype),new d};var b=a.main=null,c=a.sender=null;a.onmessage=function(d){var e=d.data;if(e.command){if(!b[e.command])throw new Error("Unknown command:"+e.command);b[e.command].apply(b,e.args)}else if(e.init){initBaseUrls(e.tlns),require("ace/lib/es5-shim"),c=a.sender=initSender();var f=require(e.module)[e.classname];b=a.main=new f(c)}else e.event&&c&&c._signal(e.event,e.data)}}}(this),ace.define("ace/lib/oop",["require","exports","module"],function(a,b,c){"use strict";b.inherits=function(a,b){a.super_=b,a.prototype=Object.create(b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}})},b.mixin=function(a,b){for(var c in b)a[c]=b[c];return a},b.implement=function(a,c){b.mixin(a,c)}}),ace.define("ace/lib/lang",["require","exports","module"],function(a,b,c){"use strict";b.last=function(a){return a[a.length-1]},b.stringReverse=function(a){return a.split("").reverse().join("")},b.stringRepeat=function(a,b){for(var c="";b>0;)1&b&&(c+=a),(b>>=1)&&(a+=a);return c};var d=/^\s\s*/,e=/\s\s*$/;b.stringTrimLeft=function(a){return a.replace(d,"")},b.stringTrimRight=function(a){return a.replace(e,"")},b.copyObject=function(a){var b={};for(var c in a)b[c]=a[c];return b},b.copyArray=function(a){for(var b=[],c=0,d=a.length;c<d;c++)a[c]&&"object"==typeof a[c]?b[c]=this.copyObject(a[c]):b[c]=a[c];return b},b.deepCopy=function(a){if("object"!=typeof a||!a)return a;var c=a.constructor;if(c===RegExp)return a;var d=c();for(var e in a)"object"==typeof a[e]?d[e]=b.deepCopy(a[e]):d[e]=a[e];return d},b.arrayToMap=function(a){for(var b={},c=0;c<a.length;c++)b[a[c]]=1;return b},b.createMap=function(a){var b=Object.create(null);for(var c in a)b[c]=a[c];return b},b.arrayRemove=function(a,b){for(var c=0;c<=a.length;c++)b===a[c]&&a.splice(c,1)},b.escapeRegExp=function(a){return a.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},b.escapeHTML=function(a){return a.replace(/&/g,"&#38;").replace(/"/g,"&#34;").replace(/'/g,"&#39;").replace(/</g,"&#60;")},b.getMatchOffsets=function(a,b){var c=[];return a.replace(b,function(a){c.push({offset:arguments[arguments.length-2],length:a.length})}),c},b.deferredCall=function(a){var b=null,c=function(){b=null,a()},d=function(a){return d.cancel(),b=setTimeout(c,a||0),d};return d.schedule=d,d.call=function(){return this.cancel(),a(),d},d.cancel=function(){return clearTimeout(b),b=null,d},d.isPending=function(){return b},d},b.delayedCall=function(a,b){var c=null,d=function(){c=null,a()},e=function(a){null==c&&(c=setTimeout(d,a||b))};return e.delay=function(a){c&&clearTimeout(c),c=setTimeout(d,a||b)},e.schedule=e,e.call=function(){this.cancel(),a()},e.cancel=function(){c&&clearTimeout(c),c=null},e.isPending=function(){return c},e}}),ace.define("ace/lib/event_emitter",["require","exports","module"],function(a,b,c){"use strict";var d={},e=function(){this.propagationStopped=!0},f=function(){this.defaultPrevented=!0};d._emit=d._dispatchEvent=function(a,b){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var c=this._eventRegistry[a]||[],d=this._defaultHandlers[a];if(c.length||d){"object"==typeof b&&b||(b={}),b.type||(b.type=a),b.stopPropagation||(b.stopPropagation=e),b.preventDefault||(b.preventDefault=f),c=c.slice();for(var g=0;g<c.length&&(c[g](b,this),!b.propagationStopped);g++);return d&&!b.defaultPrevented?d(b,this):void 0}},d._signal=function(a,b){var c=(this._eventRegistry||{})[a];if(c){c=c.slice();for(var d=0;d<c.length;d++)c[d](b,this)}},d.once=function(a,b){var c=this;b&&this.addEventListener(a,function d(){c.removeEventListener(a,d),b.apply(null,arguments)})},d.setDefaultHandler=function(a,b){var c=this._defaultHandlers;if(c||(c=this._defaultHandlers={_disabled_:{}}),c[a]){var d=c[a],e=c._disabled_[a];e||(c._disabled_[a]=e=[]),e.push(d);var f=e.indexOf(b);f!=-1&&e.splice(f,1)}c[a]=b},d.removeDefaultHandler=function(a,b){var c=this._defaultHandlers;if(c){var d=c._disabled_[a];if(c[a]==b){c[a];d&&this.setDefaultHandler(a,d.pop())}else if(d){var e=d.indexOf(b);e!=-1&&d.splice(e,1)}}},d.on=d.addEventListener=function(a,b,c){this._eventRegistry=this._eventRegistry||{};var d=this._eventRegistry[a];return d||(d=this._eventRegistry[a]=[]),d.indexOf(b)==-1&&d[c?"unshift":"push"](b),b},d.off=d.removeListener=d.removeEventListener=function(a,b){this._eventRegistry=this._eventRegistry||{};var c=this._eventRegistry[a];if(c){var d=c.indexOf(b);d!==-1&&c.splice(d,1)}},d.removeAllListeners=function(a){this._eventRegistry&&(this._eventRegistry[a]=[])},b.EventEmitter=d}),ace.define("ace/range",["require","exports","module"],function(a,b,c){"use strict";var d=function(a,b){return a.row-b.row||a.column-b.column},e=function(a,b,c,d){this.start={row:a,column:b},this.end={row:c,column:d}};(function(){this.isEqual=function(a){return this.start.row===a.start.row&&this.end.row===a.end.row&&this.start.column===a.start.column&&this.end.column===a.end.column},this.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(a,b){return 0==this.compare(a,b)},this.compareRange=function(a){var b,c=a.end,d=a.start;return b=this.compare(c.row,c.column),1==b?(b=this.compare(d.row,d.column),1==b?2:0==b?1:0):b==-1?-2:(b=this.compare(d.row,d.column),b==-1?-1:1==b?42:0)},this.comparePoint=function(a){return this.compare(a.row,a.column)},this.containsRange=function(a){return 0==this.comparePoint(a.start)&&0==this.comparePoint(a.end)},this.intersects=function(a){var b=this.compareRange(a);return b==-1||0==b||1==b},this.isEnd=function(a,b){return this.end.row==a&&this.end.column==b},this.isStart=function(a,b){return this.start.row==a&&this.start.column==b},this.setStart=function(a,b){"object"==typeof a?(this.start.column=a.column,this.start.row=a.row):(this.start.row=a,this.start.column=b)},this.setEnd=function(a,b){"object"==typeof a?(this.end.column=a.column,this.end.row=a.row):(this.end.row=a,this.end.column=b)},this.inside=function(a,b){return 0==this.compare(a,b)&&(!this.isEnd(a,b)&&!this.isStart(a,b))},this.insideStart=function(a,b){return 0==this.compare(a,b)&&!this.isEnd(a,b)},this.insideEnd=function(a,b){return 0==this.compare(a,b)&&!this.isStart(a,b)},this.compare=function(a,b){return this.isMultiLine()||a!==this.start.row?a<this.start.row?-1:a>this.end.row?1:this.start.row===a?b>=this.start.column?0:-1:this.end.row===a?b<=this.end.column?0:1:0:b<this.start.column?-1:b>this.end.column?1:0},this.compareStart=function(a,b){return this.start.row==a&&this.start.column==b?-1:this.compare(a,b)},this.compareEnd=function(a,b){return this.end.row==a&&this.end.column==b?1:this.compare(a,b)},this.compareInside=function(a,b){return this.end.row==a&&this.end.column==b?1:this.start.row==a&&this.start.column==b?-1:this.compare(a,b)},this.clipRows=function(a,b){if(this.end.row>b)var c={row:b+1,column:0};else if(this.end.row<a)var c={row:a,column:0};if(this.start.row>b)var d={row:b+1,column:0};else if(this.start.row<a)var d={row:a,column:0};return e.fromPoints(d||this.start,c||this.end)},this.extend=function(a,b){var c=this.compare(a,b);if(0==c)return this;if(c==-1)var d={row:a,column:b};else var f={row:a,column:b};return e.fromPoints(d||this.start,f||this.end)},this.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},this.isMultiLine=function(){return this.start.row!==this.end.row},this.clone=function(){return e.fromPoints(this.start,this.end)},this.collapseRows=function(){return 0==this.end.column?new e(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new e(this.start.row,0,this.end.row,0)},this.toScreenRange=function(a){var b=a.documentToScreenPosition(this.start),c=a.documentToScreenPosition(this.end);return new e(b.row,b.column,c.row,c.column)},this.moveBy=function(a,b){this.start.row+=a,this.start.column+=b,this.end.row+=a,this.end.column+=b}}).call(e.prototype),e.fromPoints=function(a,b){return new e(a.row,a.column,b.row,b.column)},e.comparePoints=d,e.comparePoints=function(a,b){return a.row-b.row||a.column-b.column},b.Range=e}),ace.define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(a,b,c){"use strict";var d=a("./lib/oop"),e=a("./lib/event_emitter").EventEmitter,f=b.Anchor=function(a,b,c){this.$onChange=this.onChange.bind(this),this.attach(a),"undefined"==typeof c?this.setPosition(b.row,b.column):this.setPosition(b,c)};(function(){d.implement(this,e),this.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},this.getDocument=function(){return this.document},this.$insertRight=!1,this.onChange=function(a){var b=a.data,c=b.range;if((c.start.row!=c.end.row||c.start.row==this.row)&&!(c.start.row>this.row||c.start.row==this.row&&c.start.column>this.column)){var d=this.row,e=this.column,f=c.start,g=c.end;"insertText"===b.action?f.row===d&&f.column<=e?f.column===e&&this.$insertRight||(f.row===g.row?e+=g.column-f.column:(e-=f.column,d+=g.row-f.row)):f.row!==g.row&&f.row<d&&(d+=g.row-f.row):"insertLines"===b.action?f.row===d&&0===e&&this.$insertRight||f.row<=d&&(d+=g.row-f.row):"removeText"===b.action?f.row===d&&f.column<e?e=g.column>=e?f.column:Math.max(0,e-(g.column-f.column)):f.row!==g.row&&f.row<d?(g.row===d&&(e=Math.max(0,e-g.column)+f.column),d-=g.row-f.row):g.row===d&&(d-=g.row-f.row,e=Math.max(0,e-g.column)+f.column):"removeLines"==b.action&&f.row<=d&&(g.row<=d?d-=g.row-f.row:(d=f.row,e=0)),this.setPosition(d,e,!0)}},this.setPosition=function(a,b,c){var d;if(d=c?{row:a,column:b}:this.$clipPositionToDocument(a,b),this.row!=d.row||this.column!=d.column){var e={row:this.row,column:this.column};this.row=d.row,this.column=d.column,this._signal("change",{old:e,value:d})}},this.detach=function(){this.document.removeEventListener("change",this.$onChange)},this.attach=function(a){this.document=a||this.document,this.document.on("change",this.$onChange)},this.$clipPositionToDocument=function(a,b){var c={};return a>=this.document.getLength()?(c.row=Math.max(0,this.document.getLength()-1),c.column=this.document.getLine(c.row).length):a<0?(c.row=0,c.column=0):(c.row=a,c.column=Math.min(this.document.getLine(c.row).length,Math.max(0,b))),b<0&&(c.column=0),c}}).call(f.prototype)}),ace.define("ace/document",["require","exports","module","ace/lib/oop","ace/lib/event_emitter","ace/range","ace/anchor"],function(a,b,c){"use strict";var d=a("./lib/oop"),e=a("./lib/event_emitter").EventEmitter,f=a("./range").Range,g=a("./anchor").Anchor,h=function(a){this.$lines=[],0===a.length?this.$lines=[""]:Array.isArray(a)?this._insertLines(0,a):this.insert({row:0,column:0},a)};(function(){d.implement(this,e),this.setValue=function(a){var b=this.getLength();this.remove(new f(0,0,b,this.getLine(b-1).length)),this.insert({row:0,column:0},a)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(a,b){return new g(this,a,b)},0==="aaa".split(/a/).length?this.$split=function(a){return a.replace(/\r\n|\r/g,"\n").split("\n")}:this.$split=function(a){return a.split(/\r\n|\r|\n/)},this.$detectNewLine=function(a){var b=a.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=b?b[1]:"\n",this._signal("changeNewLineMode")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";default:return this.$autoNewLine||"\n"}},this.$autoNewLine="",this.$newLineMode="auto",this.setNewLineMode=function(a){this.$newLineMode!==a&&(this.$newLineMode=a,this._signal("changeNewLineMode"))},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(a){return"\r\n"==a||"\r"==a||"\n"==a},this.getLine=function(a){return this.$lines[a]||""},this.getLines=function(a,b){return this.$lines.slice(a,b+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(a){if(a.start.row==a.end.row)return this.getLine(a.start.row).substring(a.start.column,a.end.column);var b=this.getLines(a.start.row,a.end.row);b[0]=(b[0]||"").substring(a.start.column);var c=b.length-1;return a.end.row-a.start.row==c&&(b[c]=b[c].substring(0,a.end.column)),b.join(this.getNewLineCharacter())},this.$clipPosition=function(a){var b=this.getLength();return a.row>=b?(a.row=Math.max(0,b-1),a.column=this.getLine(b-1).length):a.row<0&&(a.row=0),a},this.insert=function(a,b){if(!b||0===b.length)return a;a=this.$clipPosition(a),this.getLength()<=1&&this.$detectNewLine(b);var c=this.$split(b),d=c.splice(0,1)[0],e=0==c.length?null:c.splice(c.length-1,1)[0];return a=this.insertInLine(a,d),null!==e&&(a=this.insertNewLine(a),a=this._insertLines(a.row,c),a=this.insertInLine(a,e||"")),a},this.insertLines=function(a,b){return a>=this.getLength()?this.insert({row:a,column:0},"\n"+b.join("\n")):this._insertLines(Math.max(a,0),b)},this._insertLines=function(a,b){if(0==b.length)return{row:a,column:0};for(;b.length>61440;){var c=this._insertLines(a,b.slice(0,61440));b=b.slice(61440),a=c.row}var d=[a,0];d.push.apply(d,b),this.$lines.splice.apply(this.$lines,d);var e=new f(a,0,a+b.length,0),g={action:"insertLines",range:e,lines:b};return this._signal("change",{data:g}),e.end},this.insertNewLine=function(a){a=this.$clipPosition(a);var b=this.$lines[a.row]||"";this.$lines[a.row]=b.substring(0,a.column),this.$lines.splice(a.row+1,0,b.substring(a.column,b.length));var c={row:a.row+1,column:0},d={action:"insertText",range:f.fromPoints(a,c),text:this.getNewLineCharacter()};return this._signal("change",{data:d}),c},this.insertInLine=function(a,b){if(0==b.length)return a;var c=this.$lines[a.row]||"";this.$lines[a.row]=c.substring(0,a.column)+b+c.substring(a.column);var d={row:a.row,column:a.column+b.length},e={action:"insertText",range:f.fromPoints(a,d),text:b};return this._signal("change",{data:e}),d},this.remove=function(a){if(a instanceof f||(a=f.fromPoints(a.start,a.end)),a.start=this.$clipPosition(a.start),a.end=this.$clipPosition(a.end),a.isEmpty())return a.start;var b=a.start.row,c=a.end.row;if(a.isMultiLine()){var d=0==a.start.column?b:b+1,e=c-1;a.end.column>0&&this.removeInLine(c,0,a.end.column),e>=d&&this._removeLines(d,e),d!=b&&(this.removeInLine(b,a.start.column,this.getLine(b).length),this.removeNewLine(a.start.row))}else this.removeInLine(b,a.start.column,a.end.column);return a.start},this.removeInLine=function(a,b,c){if(b!=c){var d=new f(a,b,a,c),e=this.getLine(a),g=e.substring(b,c),h=e.substring(0,b)+e.substring(c,e.length);this.$lines.splice(a,1,h);var i={action:"removeText",range:d,text:g};return this._signal("change",{data:i}),d.start}},this.removeLines=function(a,b){return a<0||b>=this.getLength()?this.remove(new f(a,0,b+1,0)):this._removeLines(a,b)},this._removeLines=function(a,b){var c=new f(a,0,b+1,0),d=this.$lines.splice(a,b-a+1),e={action:"removeLines",range:c,nl:this.getNewLineCharacter(),lines:d};return this._signal("change",{data:e}),d},this.removeNewLine=function(a){var b=this.getLine(a),c=this.getLine(a+1),d=new f(a,b.length,a+1,0),e=b+c;this.$lines.splice(a,2,e);var g={action:"removeText",range:d,text:this.getNewLineCharacter()};this._signal("change",{data:g})},this.replace=function(a,b){if(a instanceof f||(a=f.fromPoints(a.start,a.end)),0==b.length&&a.isEmpty())return a.start;if(b==this.getTextRange(a))return a.end;if(this.remove(a),b)var c=this.insert(a.start,b);else c=a.start;return c},this.applyDeltas=function(a){for(var b=0;b<a.length;b++){var c=a[b],d=f.fromPoints(c.range.start,c.range.end);"insertLines"==c.action?this.insertLines(d.start.row,c.lines):"insertText"==c.action?this.insert(d.start,c.text):"removeLines"==c.action?this._removeLines(d.start.row,d.end.row-1):"removeText"==c.action&&this.remove(d)}},this.revertDeltas=function(a){for(var b=a.length-1;b>=0;b--){var c=a[b],d=f.fromPoints(c.range.start,c.range.end);"insertLines"==c.action?this._removeLines(d.start.row,d.end.row-1):"insertText"==c.action?this.remove(d):"removeLines"==c.action?this._insertLines(d.start.row,c.lines):"removeText"==c.action&&this.insert(d.start,c.text)}},this.indexToPosition=function(a,b){for(var c=this.$lines||this.getAllLines(),d=this.getNewLineCharacter().length,e=b||0,f=c.length;e<f;e++)if(a-=c[e].length+d,a<0)return{row:e,column:a+c[e].length+d};return{row:f-1,column:c[f-1].length}},this.positionToIndex=function(a,b){for(var c=this.$lines||this.getAllLines(),d=this.getNewLineCharacter().length,e=0,f=Math.min(a.row,c.length),g=b||0;g<f;++g)e+=c[g].length+d;return e+a.column}}).call(h.prototype),b.Document=h}),ace.define("ace/worker/mirror",["require","exports","module","ace/document","ace/lib/lang"],function(a,b,c){"use strict";var d=a("../document").Document,e=a("../lib/lang"),f=b.Mirror=function(a){this.sender=a;var b=this.doc=new d(""),c=this.deferredUpdate=e.delayedCall(this.onUpdate.bind(this)),f=this;a.on("change",function(a){return b.applyDeltas(a.data),f.$timeout?c.schedule(f.$timeout):void f.onUpdate()})};(function(){this.$timeout=500,this.setTimeout=function(a){this.$timeout=a},this.setValue=function(a){this.doc.setValue(a),this.deferredUpdate.schedule(this.$timeout)},this.getValue=function(a){this.sender.callback(this.doc.getValue(),a)},this.onUpdate=function(){},this.isPending=function(){return this.deferredUpdate.isPending()}}).call(f.prototype)}),ace.define("ace/mode/css/csslint",["require","exports","module"],function(require,exports,module){function objectToString(a){return Object.prototype.toString.call(a)}function clone(a,b,c,d){function e(a,c){if(null===a)return null;if(0==c)return a;var i;if("object"!=typeof a)return a;if(util.isArray(a))i=[];else if(util.isRegExp(a))i=new RegExp(a.source,util.getRegExpFlags(a)),a.lastIndex&&(i.lastIndex=a.lastIndex);else if(util.isDate(a))i=new Date(a.getTime());else{if(h&&Buffer.isBuffer(a))return i=new Buffer(a.length),a.copy(i),i;i="undefined"==typeof d?Object.create(Object.getPrototypeOf(a)):Object.create(d)}if(b){var j=f.indexOf(a);if(j!=-1)return g[j];f.push(a),g.push(i)}for(var k in a)i[k]=e(a[k],c-1);return i}var f=[],g=[],h="undefined"!=typeof Buffer;return"undefined"==typeof b&&(b=!0),"undefined"==typeof c&&(c=1/0),e(a,c)}function Reporter(a,b){this.messages=[],this.stats=[],this.lines=a,this.ruleset=b}var parserlib={};!function(){function a(){this._listeners={}}function b(a){this._input=a.replace(/\n\r?/g,"\n"),this._line=1,this._col=1,this._cursor=0}function c(a,b,c){this.col=c,this.line=b,this.message=a}function d(a,b,c,d){this.col=c,this.line=b,this.text=a,this.type=d}function e(a,c){this._reader=a?new b(a.toString()):null,this._token=null,this._tokenData=c,this._lt=[],this._ltIndex=0,this._ltIndexCache=[]}a.prototype={constructor:a,addListener:function(a,b){this._listeners[a]||(this._listeners[a]=[]),this._listeners[a].push(b)},fire:function(a){if("string"==typeof a&&(a={type:a}),"undefined"!=typeof a.target&&(a.target=this),"undefined"==typeof a.type)throw new Error("Event object missing 'type' property.");if(this._listeners[a.type])for(var b=this._listeners[a.type].concat(),c=0,d=b.length;c<d;c++)b[c].call(this,a)},removeListener:function(a,b){if(this._listeners[a])for(var c=this._listeners[a],d=0,e=c.length;d<e;d++)if(c[d]===b){c.splice(d,1);break}}},b.prototype={constructor:b,getCol:function(){return this._col},getLine:function(){return this._line},eof:function(){return this._cursor==this._input.length},peek:function(a){var b=null;return a="undefined"==typeof a?1:a,this._cursor<this._input.length&&(b=this._input.charAt(this._cursor+a-1)),b},read:function(){var a=null;return this._cursor<this._input.length&&("\n"==this._input.charAt(this._cursor)?(this._line++,this._col=1):this._col++,a=this._input.charAt(this._cursor++)),a},mark:function(){this._bookmark={cursor:this._cursor,line:this._line,col:this._col}},reset:function(){this._bookmark&&(this._cursor=this._bookmark.cursor,this._line=this._bookmark.line,this._col=this._bookmark.col,delete this._bookmark)},readTo:function(a){for(var b,c="";c.length<a.length||c.lastIndexOf(a)!=c.length-a.length;){if(b=this.read(),!b)throw new Error('Expected "'+a+'" at line '+this._line+", col "+this._col+".");c+=b}return c},readWhile:function(a){for(var b="",c=this.read();null!==c&&a(c);)b+=c,c=this.read();return b},readMatch:function(a){var b=this._input.substring(this._cursor),c=null;return"string"==typeof a?0===b.indexOf(a)&&(c=this.readCount(a.length)):a instanceof RegExp&&a.test(b)&&(c=this.readCount(RegExp.lastMatch.length)),c},readCount:function(a){for(var b="";a--;)b+=this.read();return b}},c.prototype=new Error,d.fromToken=function(a){return new d(a.value,a.startLine,a.startCol)},d.prototype={constructor:d,valueOf:function(){return this.text},toString:function(){return this.text}},e.createTokenData=function(a){var b=[],c={},d=a.concat([]),e=0,f=d.length+1;for(d.UNKNOWN=-1,d.unshift({name:"EOF"});e<f;e++)b.push(d[e].name),d[d[e].name]=e,d[e].text&&(c[d[e].text]=e);return d.name=function(a){return b[a]},d.type=function(a){return c[a]},d},e.prototype={constructor:e,match:function(a,b){a instanceof Array||(a=[a]);for(var c=this.get(b),d=0,e=a.length;d<e;)if(c==a[d++])return!0;return this.unget(),!1},mustMatch:function(a,b){var d;if(a instanceof Array||(a=[a]),!this.match.apply(this,arguments))throw d=this.LT(1),new c("Expected "+this._tokenData[a[0]].name+" at line "+d.startLine+", col "+d.startCol+".",d.startLine,d.startCol)},advance:function(a,b){for(;0!==this.LA(0)&&!this.match(a,b);)this.get();return this.LA(0)},get:function(a){var b,c,d=this._tokenData,e=(this._reader,0);d.length;if(this._lt.length&&this._ltIndex>=0&&this._ltIndex<this._lt.length){for(e++,this._token=this._lt[this._ltIndex++],c=d[this._token.type];void 0!==c.channel&&a!==c.channel&&this._ltIndex<this._lt.length;)this._token=this._lt[this._ltIndex++],c=d[this._token.type],e++;if((void 0===c.channel||a===c.channel)&&this._ltIndex<=this._lt.length)return this._ltIndexCache.push(e),this._token.type}return b=this._getToken(),b.type>-1&&!d[b.type].hide&&(b.channel=d[b.type].channel,this._token=b,this._lt.push(b),this._ltIndexCache.push(this._lt.length-this._ltIndex+e),this._lt.length>5&&this._lt.shift(),this._ltIndexCache.length>5&&this._ltIndexCache.shift(),this._ltIndex=this._lt.length),c=d[b.type],c&&(c.hide||void 0!==c.channel&&a!==c.channel)?this.get(a):b.type},LA:function(a){var b,c=a;if(a>0){if(a>5)throw new Error("Too much lookahead.");for(;c;)b=this.get(),c--;for(;c<a;)this.unget(),c++}else if(a<0){if(!this._lt[this._ltIndex+a])throw new Error("Too much lookbehind.");b=this._lt[this._ltIndex+a].type}else b=this._token.type;return b},LT:function(a){return this.LA(a),this._lt[this._ltIndex+a-1]},peek:function(){return this.LA(1)},token:function(){return this._token},tokenName:function(a){return a<0||a>this._tokenData.length?"UNKNOWN_TOKEN":this._tokenData[a].name},tokenType:function(a){return this._tokenData[a]||-1},unget:function(){if(!this._ltIndexCache.length)throw new Error("Too much lookahead.");this._ltIndex-=this._ltIndexCache.pop(),this._token=this._lt[this._ltIndex-1]}},parserlib.util={StringReader:b,SyntaxError:c,SyntaxUnit:d,EventTarget:a,TokenStreamBase:e}}(),function(){function Combinator(a,b,c){SyntaxUnit.call(this,a,b,c,Parser.COMBINATOR_TYPE),this.type="unknown",/^\s+$/.test(a)?this.type="descendant":">"==a?this.type="child":"+"==a?this.type="adjacent-sibling":"~"==a&&(this.type="sibling")}function MediaFeature(a,b){SyntaxUnit.call(this,"("+a+(null!==b?":"+b:"")+")",a.startLine,a.startCol,Parser.MEDIA_FEATURE_TYPE),this.name=a,this.value=b}function MediaQuery(a,b,c,d,e){SyntaxUnit.call(this,(a?a+" ":"")+(b?b:"")+(b&&c.length>0?" and ":"")+c.join(" and "),d,e,Parser.MEDIA_QUERY_TYPE),this.modifier=a,this.mediaType=b,this.features=c}function Parser(a){EventTarget.call(this),this.options=a||{},this._tokenStream=null}function PropertyName(a,b,c,d){SyntaxUnit.call(this,a,c,d,Parser.PROPERTY_NAME_TYPE),this.hack=b}function PropertyValue(a,b,c){SyntaxUnit.call(this,a.join(" "),b,c,Parser.PROPERTY_VALUE_TYPE),this.parts=a}function PropertyValueIterator(a){this._i=0,this._parts=a.parts,this._marks=[],this.value=a}function PropertyValuePart(text,line,col){SyntaxUnit.call(this,text,line,col,Parser.PROPERTY_VALUE_PART_TYPE),this.type="unknown";var temp;if(/^([+\-]?[\d\.]+)([a-z]+)$/i.test(text))switch(this.type="dimension",this.value=+RegExp.$1,this.units=RegExp.$2,this.units.toLowerCase()){case"em":case"rem":case"ex":case"px":case"cm":case"mm":case"in":case"pt":case"pc":case"ch":case"vh":case"vw":case"vmax":case"vmin":this.type="length";break;case"deg":case"rad":case"grad":this.type="angle";break;case"ms":case"s":this.type="time";break;case"hz":case"khz":this.type="frequency";break;case"dpi":case"dpcm":this.type="resolution"}else/^([+\-]?[\d\.]+)%$/i.test(text)?(this.type="percentage",this.value=+RegExp.$1):/^([+\-]?\d+)$/i.test(text)?(this.type="integer",this.value=+RegExp.$1):/^([+\-]?[\d\.]+)$/i.test(text)?(this.type="number",this.value=+RegExp.$1):/^#([a-f0-9]{3,6})/i.test(text)?(this.type="color",temp=RegExp.$1,3==temp.length?(this.red=parseInt(temp.charAt(0)+temp.charAt(0),16),this.green=parseInt(temp.charAt(1)+temp.charAt(1),16),this.blue=parseInt(temp.charAt(2)+temp.charAt(2),16)):(this.red=parseInt(temp.substring(0,2),16),this.green=parseInt(temp.substring(2,4),16),this.blue=parseInt(temp.substring(4,6),16))):/^rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/i.test(text)?(this.type="color",this.red=+RegExp.$1,this.green=+RegExp.$2,this.blue=+RegExp.$3):/^rgb\(\s*(\d+)%\s*,\s*(\d+)%\s*,\s*(\d+)%\s*\)/i.test(text)?(this.type="color",this.red=255*+RegExp.$1/100,this.green=255*+RegExp.$2/100,this.blue=255*+RegExp.$3/100):/^rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*([\d\.]+)\s*\)/i.test(text)?(this.type="color",this.red=+RegExp.$1,this.green=+RegExp.$2,this.blue=+RegExp.$3,this.alpha=+RegExp.$4):/^rgba\(\s*(\d+)%\s*,\s*(\d+)%\s*,\s*(\d+)%\s*,\s*([\d\.]+)\s*\)/i.test(text)?(this.type="color",this.red=255*+RegExp.$1/100,this.green=255*+RegExp.$2/100,this.blue=255*+RegExp.$3/100,this.alpha=+RegExp.$4):/^hsl\(\s*(\d+)\s*,\s*(\d+)%\s*,\s*(\d+)%\s*\)/i.test(text)?(this.type="color",this.hue=+RegExp.$1,this.saturation=+RegExp.$2/100,this.lightness=+RegExp.$3/100):/^hsla\(\s*(\d+)\s*,\s*(\d+)%\s*,\s*(\d+)%\s*,\s*([\d\.]+)\s*\)/i.test(text)?(this.type="color",this.hue=+RegExp.$1,this.saturation=+RegExp.$2/100,this.lightness=+RegExp.$3/100,this.alpha=+RegExp.$4):/^url\(["']?([^\)"']+)["']?\)/i.test(text)?(this.type="uri",this.uri=RegExp.$1):/^([^\(]+)\(/i.test(text)?(this.type="function",this.name=RegExp.$1,this.value=text):/^["'][^"']*["']/.test(text)?(this.type="string",this.value=eval(text)):Colors[text.toLowerCase()]?(this.type="color",temp=Colors[text.toLowerCase()].substring(1),this.red=parseInt(temp.substring(0,2),16),this.green=parseInt(temp.substring(2,4),16),this.blue=parseInt(temp.substring(4,6),16)):/^[\,\/]$/.test(text)?(this.type="operator",this.value=text):/^[a-z\-_\u0080-\uFFFF][a-z0-9\-_\u0080-\uFFFF]*$/i.test(text)&&(this.type="identifier",this.value=text)}function Selector(a,b,c){SyntaxUnit.call(this,a.join(" "),b,c,Parser.SELECTOR_TYPE),this.parts=a,this.specificity=Specificity.calculate(this)}function SelectorPart(a,b,c,d,e){SyntaxUnit.call(this,c,d,e,Parser.SELECTOR_PART_TYPE),this.elementName=a,this.modifiers=b}function SelectorSubPart(a,b,c,d){SyntaxUnit.call(this,a,c,d,Parser.SELECTOR_SUB_PART_TYPE),this.type=b,this.args=[]}function Specificity(a,b,c,d){this.a=a,this.b=b,this.c=c,this.d=d}function isHexDigit(a){return null!==a&&h.test(a)}function isDigit(a){return null!==a&&/\d/.test(a)}function isWhitespace(a){return null!==a&&/\s/.test(a)}function isNewLine(a){return null!==a&&nl.test(a)}function isNameStart(a){return null!==a&&/[a-z_\u0080-\uFFFF\\]/i.test(a)}function isNameChar(a){return null!==a&&(isNameStart(a)||/[0-9\-\\]/.test(a))}function isIdentStart(a){return null!==a&&(isNameStart(a)||/\-\\/.test(a))}function mix(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c]);return a}function TokenStream(a){TokenStreamBase.call(this,a,Tokens)}function ValidationError(a,b,c){this.col=c,this.line=b,this.message=a}var EventTarget=parserlib.util.EventTarget,TokenStreamBase=parserlib.util.TokenStreamBase,StringReader=parserlib.util.StringReader,SyntaxError=parserlib.util.SyntaxError,SyntaxUnit=parserlib.util.SyntaxUnit,Colors={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgrey:"#a9a9a9",darkgreen:"#006400",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",grey:"#808080",green:"#008000",greenyellow:"#adff2f",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgrey:"#d3d3d3",lightgreen:"#90ee90",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",
limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370d8",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#d87093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32",activeBorder:"Active window border.",activecaption:"Active window caption.",appworkspace:"Background color of multiple document interface.",background:"Desktop background.",buttonface:"The face background color for 3-D elements that appear 3-D due to one layer of surrounding border.",buttonhighlight:"The color of the border facing the light source for 3-D elements that appear 3-D due to one layer of surrounding border.",buttonshadow:"The color of the border away from the light source for 3-D elements that appear 3-D due to one layer of surrounding border.",buttontext:"Text on push buttons.",captiontext:"Text in caption, size box, and scrollbar arrow box.",graytext:"Grayed (disabled) text. This color is set to #000 if the current display driver does not support a solid gray color.",greytext:"Greyed (disabled) text. This color is set to #000 if the current display driver does not support a solid grey color.",highlight:"Item(s) selected in a control.",highlighttext:"Text of item(s) selected in a control.",inactiveborder:"Inactive window border.",inactivecaption:"Inactive window caption.",inactivecaptiontext:"Color of text in an inactive caption.",infobackground:"Background color for tooltip controls.",infotext:"Text color for tooltip controls.",menu:"Menu background.",menutext:"Text in menus.",scrollbar:"Scroll bar gray area.",threeddarkshadow:"The color of the darker (generally outer) of the two borders away from the light source for 3-D elements that appear 3-D due to two concentric layers of surrounding border.",threedface:"The face background color for 3-D elements that appear 3-D due to two concentric layers of surrounding border.",threedhighlight:"The color of the lighter (generally outer) of the two borders facing the light source for 3-D elements that appear 3-D due to two concentric layers of surrounding border.",threedlightshadow:"The color of the darker (generally inner) of the two borders facing the light source for 3-D elements that appear 3-D due to two concentric layers of surrounding border.",threedshadow:"The color of the lighter (generally inner) of the two borders away from the light source for 3-D elements that appear 3-D due to two concentric layers of surrounding border.",window:"Window background.",windowframe:"Window frame.",windowtext:"Text in windows."};Combinator.prototype=new SyntaxUnit,Combinator.prototype.constructor=Combinator,MediaFeature.prototype=new SyntaxUnit,MediaFeature.prototype.constructor=MediaFeature,MediaQuery.prototype=new SyntaxUnit,MediaQuery.prototype.constructor=MediaQuery,Parser.DEFAULT_TYPE=0,Parser.COMBINATOR_TYPE=1,Parser.MEDIA_FEATURE_TYPE=2,Parser.MEDIA_QUERY_TYPE=3,Parser.PROPERTY_NAME_TYPE=4,Parser.PROPERTY_VALUE_TYPE=5,Parser.PROPERTY_VALUE_PART_TYPE=6,Parser.SELECTOR_TYPE=7,Parser.SELECTOR_PART_TYPE=8,Parser.SELECTOR_SUB_PART_TYPE=9,Parser.prototype=function(){var a,b=new EventTarget,c={constructor:Parser,DEFAULT_TYPE:0,COMBINATOR_TYPE:1,MEDIA_FEATURE_TYPE:2,MEDIA_QUERY_TYPE:3,PROPERTY_NAME_TYPE:4,PROPERTY_VALUE_TYPE:5,PROPERTY_VALUE_PART_TYPE:6,SELECTOR_TYPE:7,SELECTOR_PART_TYPE:8,SELECTOR_SUB_PART_TYPE:9,_stylesheet:function(){var a,b,c,d=this._tokenStream;for(this.fire("startstylesheet"),this._charset(),this._skipCruft();d.peek()==Tokens.IMPORT_SYM;)this._import(),this._skipCruft();for(;d.peek()==Tokens.NAMESPACE_SYM;)this._namespace(),this._skipCruft();for(c=d.peek();c>Tokens.EOF;){try{switch(c){case Tokens.MEDIA_SYM:this._media(),this._skipCruft();break;case Tokens.PAGE_SYM:this._page(),this._skipCruft();break;case Tokens.FONT_FACE_SYM:this._font_face(),this._skipCruft();break;case Tokens.KEYFRAMES_SYM:this._keyframes(),this._skipCruft();break;case Tokens.VIEWPORT_SYM:this._viewport(),this._skipCruft();break;case Tokens.UNKNOWN_SYM:if(d.get(),this.options.strict)throw new SyntaxError("Unknown @ rule.",d.LT(0).startLine,d.LT(0).startCol);for(this.fire({type:"error",error:null,message:"Unknown @ rule: "+d.LT(0).value+".",line:d.LT(0).startLine,col:d.LT(0).startCol}),a=0;d.advance([Tokens.LBRACE,Tokens.RBRACE])==Tokens.LBRACE;)a++;for(;a;)d.advance([Tokens.RBRACE]),a--;break;case Tokens.S:this._readWhitespace();break;default:if(!this._ruleset())switch(c){case Tokens.CHARSET_SYM:throw b=d.LT(1),this._charset(!1),new SyntaxError("@charset not allowed here.",b.startLine,b.startCol);case Tokens.IMPORT_SYM:throw b=d.LT(1),this._import(!1),new SyntaxError("@import not allowed here.",b.startLine,b.startCol);case Tokens.NAMESPACE_SYM:throw b=d.LT(1),this._namespace(!1),new SyntaxError("@namespace not allowed here.",b.startLine,b.startCol);default:d.get(),this._unexpectedToken(d.token())}}}catch(e){if(!(e instanceof SyntaxError)||this.options.strict)throw e;this.fire({type:"error",error:e,message:e.message,line:e.line,col:e.col})}c=d.peek()}c!=Tokens.EOF&&this._unexpectedToken(d.token()),this.fire("endstylesheet")},_charset:function(a){var b,c,d,e,f=this._tokenStream;f.match(Tokens.CHARSET_SYM)&&(d=f.token().startLine,e=f.token().startCol,this._readWhitespace(),f.mustMatch(Tokens.STRING),c=f.token(),b=c.value,this._readWhitespace(),f.mustMatch(Tokens.SEMICOLON),a!==!1&&this.fire({type:"charset",charset:b,line:d,col:e}))},_import:function(a){var b,c,d=this._tokenStream,e=[];d.mustMatch(Tokens.IMPORT_SYM),c=d.token(),this._readWhitespace(),d.mustMatch([Tokens.STRING,Tokens.URI]),b=d.token().value.replace(/^(?:url\()?["']?([^"']+?)["']?\)?$/,"$1"),this._readWhitespace(),e=this._media_query_list(),d.mustMatch(Tokens.SEMICOLON),this._readWhitespace(),a!==!1&&this.fire({type:"import",uri:b,media:e,line:c.startLine,col:c.startCol})},_namespace:function(a){var b,c,d,e,f=this._tokenStream;f.mustMatch(Tokens.NAMESPACE_SYM),b=f.token().startLine,c=f.token().startCol,this._readWhitespace(),f.match(Tokens.IDENT)&&(d=f.token().value,this._readWhitespace()),f.mustMatch([Tokens.STRING,Tokens.URI]),e=f.token().value.replace(/(?:url\()?["']([^"']+)["']\)?/,"$1"),this._readWhitespace(),f.mustMatch(Tokens.SEMICOLON),this._readWhitespace(),a!==!1&&this.fire({type:"namespace",prefix:d,uri:e,line:b,col:c})},_media:function(){var a,b,c,d=this._tokenStream;for(d.mustMatch(Tokens.MEDIA_SYM),a=d.token().startLine,b=d.token().startCol,this._readWhitespace(),c=this._media_query_list(),d.mustMatch(Tokens.LBRACE),this._readWhitespace(),this.fire({type:"startmedia",media:c,line:a,col:b});;)if(d.peek()==Tokens.PAGE_SYM)this._page();else if(d.peek()==Tokens.FONT_FACE_SYM)this._font_face();else if(d.peek()==Tokens.VIEWPORT_SYM)this._viewport();else if(!this._ruleset())break;d.mustMatch(Tokens.RBRACE),this._readWhitespace(),this.fire({type:"endmedia",media:c,line:a,col:b})},_media_query_list:function(){var a=this._tokenStream,b=[];for(this._readWhitespace(),a.peek()!=Tokens.IDENT&&a.peek()!=Tokens.LPAREN||b.push(this._media_query());a.match(Tokens.COMMA);)this._readWhitespace(),b.push(this._media_query());return b},_media_query:function(){var a=this._tokenStream,b=null,c=null,d=null,e=[];if(a.match(Tokens.IDENT)&&(c=a.token().value.toLowerCase(),"only"!=c&&"not"!=c?(a.unget(),c=null):d=a.token()),this._readWhitespace(),a.peek()==Tokens.IDENT?(b=this._media_type(),null===d&&(d=a.token())):a.peek()==Tokens.LPAREN&&(null===d&&(d=a.LT(1)),e.push(this._media_expression())),null===b&&0===e.length)return null;for(this._readWhitespace();a.match(Tokens.IDENT);)"and"!=a.token().value.toLowerCase()&&this._unexpectedToken(a.token()),this._readWhitespace(),e.push(this._media_expression());return new MediaQuery(c,b,e,d.startLine,d.startCol)},_media_type:function(){return this._media_feature()},_media_expression:function(){var a,b=this._tokenStream,c=null,d=null;return b.mustMatch(Tokens.LPAREN),c=this._media_feature(),this._readWhitespace(),b.match(Tokens.COLON)&&(this._readWhitespace(),a=b.LT(1),d=this._expression()),b.mustMatch(Tokens.RPAREN),this._readWhitespace(),new MediaFeature(c,d?new SyntaxUnit(d,a.startLine,a.startCol):null)},_media_feature:function(){var a=this._tokenStream;return a.mustMatch(Tokens.IDENT),SyntaxUnit.fromToken(a.token())},_page:function(){var a,b,c=this._tokenStream,d=null,e=null;c.mustMatch(Tokens.PAGE_SYM),a=c.token().startLine,b=c.token().startCol,this._readWhitespace(),c.match(Tokens.IDENT)&&(d=c.token().value,"auto"===d.toLowerCase()&&this._unexpectedToken(c.token())),c.peek()==Tokens.COLON&&(e=this._pseudo_page()),this._readWhitespace(),this.fire({type:"startpage",id:d,pseudo:e,line:a,col:b}),this._readDeclarations(!0,!0),this.fire({type:"endpage",id:d,pseudo:e,line:a,col:b})},_margin:function(){var a,b,c=this._tokenStream,d=this._margin_sym();return!!d&&(a=c.token().startLine,b=c.token().startCol,this.fire({type:"startpagemargin",margin:d,line:a,col:b}),this._readDeclarations(!0),this.fire({type:"endpagemargin",margin:d,line:a,col:b}),!0)},_margin_sym:function(){var a=this._tokenStream;return a.match([Tokens.TOPLEFTCORNER_SYM,Tokens.TOPLEFT_SYM,Tokens.TOPCENTER_SYM,Tokens.TOPRIGHT_SYM,Tokens.TOPRIGHTCORNER_SYM,Tokens.BOTTOMLEFTCORNER_SYM,Tokens.BOTTOMLEFT_SYM,Tokens.BOTTOMCENTER_SYM,Tokens.BOTTOMRIGHT_SYM,Tokens.BOTTOMRIGHTCORNER_SYM,Tokens.LEFTTOP_SYM,Tokens.LEFTMIDDLE_SYM,Tokens.LEFTBOTTOM_SYM,Tokens.RIGHTTOP_SYM,Tokens.RIGHTMIDDLE_SYM,Tokens.RIGHTBOTTOM_SYM])?SyntaxUnit.fromToken(a.token()):null},_pseudo_page:function(){var a=this._tokenStream;return a.mustMatch(Tokens.COLON),a.mustMatch(Tokens.IDENT),a.token().value},_font_face:function(){var a,b,c=this._tokenStream;c.mustMatch(Tokens.FONT_FACE_SYM),a=c.token().startLine,b=c.token().startCol,this._readWhitespace(),this.fire({type:"startfontface",line:a,col:b}),this._readDeclarations(!0),this.fire({type:"endfontface",line:a,col:b})},_viewport:function(){var a,b,c=this._tokenStream;c.mustMatch(Tokens.VIEWPORT_SYM),a=c.token().startLine,b=c.token().startCol,this._readWhitespace(),this.fire({type:"startviewport",line:a,col:b}),this._readDeclarations(!0),this.fire({type:"endviewport",line:a,col:b})},_operator:function(a){var b=this._tokenStream,c=null;return(b.match([Tokens.SLASH,Tokens.COMMA])||a&&b.match([Tokens.PLUS,Tokens.STAR,Tokens.MINUS]))&&(c=b.token(),this._readWhitespace()),c?PropertyValuePart.fromToken(c):null},_combinator:function(){var a,b=this._tokenStream,c=null;return b.match([Tokens.PLUS,Tokens.GREATER,Tokens.TILDE])&&(a=b.token(),c=new Combinator(a.value,a.startLine,a.startCol),this._readWhitespace()),c},_unary_operator:function(){var a=this._tokenStream;return a.match([Tokens.MINUS,Tokens.PLUS])?a.token().value:null},_property:function(){var a,b,c,d,e=this._tokenStream,f=null,g=null;return e.peek()==Tokens.STAR&&this.options.starHack&&(e.get(),b=e.token(),g=b.value,c=b.startLine,d=b.startCol),e.match(Tokens.IDENT)&&(b=e.token(),a=b.value,"_"==a.charAt(0)&&this.options.underscoreHack&&(g="_",a=a.substring(1)),f=new PropertyName(a,g,c||b.startLine,d||b.startCol),this._readWhitespace()),f},_ruleset:function(){var a,b,c=this._tokenStream;try{b=this._selectors_group()}catch(d){if(!(d instanceof SyntaxError)||this.options.strict)throw d;if(this.fire({type:"error",error:d,message:d.message,line:d.line,col:d.col}),a=c.advance([Tokens.RBRACE]),a!=Tokens.RBRACE)throw d;return!0}return b&&(this.fire({type:"startrule",selectors:b,line:b[0].line,col:b[0].col}),this._readDeclarations(!0),this.fire({type:"endrule",selectors:b,line:b[0].line,col:b[0].col})),b},_selectors_group:function(){var a,b=this._tokenStream,c=[];if(a=this._selector(),null!==a)for(c.push(a);b.match(Tokens.COMMA);)this._readWhitespace(),a=this._selector(),null!==a?c.push(a):this._unexpectedToken(b.LT(1));return c.length?c:null},_selector:function(){var a=this._tokenStream,b=[],c=null,d=null,e=null;if(c=this._simple_selector_sequence(),null===c)return null;for(b.push(c);;)if(d=this._combinator(),null!==d)b.push(d),c=this._simple_selector_sequence(),null===c?this._unexpectedToken(a.LT(1)):b.push(c);else{if(!this._readWhitespace())break;e=new Combinator(a.token().value,a.token().startLine,a.token().startCol),d=this._combinator(),c=this._simple_selector_sequence(),null===c?null!==d&&this._unexpectedToken(a.LT(1)):(null!==d?b.push(d):b.push(e),b.push(c))}return new Selector(b,b[0].line,b[0].col)},_simple_selector_sequence:function(){var a,b,c=this._tokenStream,d=null,e=[],f="",g=[function(){return c.match(Tokens.HASH)?new SelectorSubPart(c.token().value,"id",c.token().startLine,c.token().startCol):null},this._class,this._attrib,this._pseudo,this._negation],h=0,i=g.length,j=null;for(a=c.LT(1).startLine,b=c.LT(1).startCol,d=this._type_selector(),d||(d=this._universal()),null!==d&&(f+=d);;){if(c.peek()===Tokens.S)break;for(;h<i&&null===j;)j=g[h++].call(this);if(null===j){if(""===f)return null;break}h=0,e.push(j),f+=j.toString(),j=null}return""!==f?new SelectorPart(d,e,f,a,b):null},_type_selector:function(){var a=this._tokenStream,b=this._namespace_prefix(),c=this._element_name();return c?(b&&(c.text=b+c.text,c.col-=b.length),c):(b&&(a.unget(),b.length>1&&a.unget()),null)},_class:function(){var a,b=this._tokenStream;return b.match(Tokens.DOT)?(b.mustMatch(Tokens.IDENT),a=b.token(),new SelectorSubPart("."+a.value,"class",a.startLine,a.startCol-1)):null},_element_name:function(){var a,b=this._tokenStream;return b.match(Tokens.IDENT)?(a=b.token(),new SelectorSubPart(a.value,"elementName",a.startLine,a.startCol)):null},_namespace_prefix:function(){var a=this._tokenStream,b="";return a.LA(1)!==Tokens.PIPE&&a.LA(2)!==Tokens.PIPE||(a.match([Tokens.IDENT,Tokens.STAR])&&(b+=a.token().value),a.mustMatch(Tokens.PIPE),b+="|"),b.length?b:null},_universal:function(){var a,b=this._tokenStream,c="";return a=this._namespace_prefix(),a&&(c+=a),b.match(Tokens.STAR)&&(c+="*"),c.length?c:null},_attrib:function(){var a,b,c=this._tokenStream,d=null;return c.match(Tokens.LBRACKET)?(b=c.token(),d=b.value,d+=this._readWhitespace(),a=this._namespace_prefix(),a&&(d+=a),c.mustMatch(Tokens.IDENT),d+=c.token().value,d+=this._readWhitespace(),c.match([Tokens.PREFIXMATCH,Tokens.SUFFIXMATCH,Tokens.SUBSTRINGMATCH,Tokens.EQUALS,Tokens.INCLUDES,Tokens.DASHMATCH])&&(d+=c.token().value,d+=this._readWhitespace(),c.mustMatch([Tokens.IDENT,Tokens.STRING]),d+=c.token().value,d+=this._readWhitespace()),c.mustMatch(Tokens.RBRACKET),new SelectorSubPart(d+"]","attribute",b.startLine,b.startCol)):null},_pseudo:function(){var a,b,c=this._tokenStream,d=null,e=":";return c.match(Tokens.COLON)&&(c.match(Tokens.COLON)&&(e+=":"),c.match(Tokens.IDENT)?(d=c.token().value,a=c.token().startLine,b=c.token().startCol-e.length):c.peek()==Tokens.FUNCTION&&(a=c.LT(1).startLine,b=c.LT(1).startCol-e.length,d=this._functional_pseudo()),d&&(d=new SelectorSubPart(e+d,"pseudo",a,b))),d},_functional_pseudo:function(){var a=this._tokenStream,b=null;return a.match(Tokens.FUNCTION)&&(b=a.token().value,b+=this._readWhitespace(),b+=this._expression(),a.mustMatch(Tokens.RPAREN),b+=")"),b},_expression:function(){for(var a=this._tokenStream,b="";a.match([Tokens.PLUS,Tokens.MINUS,Tokens.DIMENSION,Tokens.NUMBER,Tokens.STRING,Tokens.IDENT,Tokens.LENGTH,Tokens.FREQ,Tokens.ANGLE,Tokens.TIME,Tokens.RESOLUTION,Tokens.SLASH]);)b+=a.token().value,b+=this._readWhitespace();return b.length?b:null},_negation:function(){var a,b,c,d=this._tokenStream,e="",f=null;return d.match(Tokens.NOT)&&(e=d.token().value,a=d.token().startLine,b=d.token().startCol,e+=this._readWhitespace(),c=this._negation_arg(),e+=c,e+=this._readWhitespace(),d.match(Tokens.RPAREN),e+=d.token().value,f=new SelectorSubPart(e,"not",a,b),f.args.push(c)),f},_negation_arg:function(){var a,b,c,d=this._tokenStream,e=[this._type_selector,this._universal,function(){return d.match(Tokens.HASH)?new SelectorSubPart(d.token().value,"id",d.token().startLine,d.token().startCol):null},this._class,this._attrib,this._pseudo],f=null,g=0,h=e.length;for(a=d.LT(1).startLine,b=d.LT(1).startCol;g<h&&null===f;)f=e[g].call(this),g++;return null===f&&this._unexpectedToken(d.LT(1)),c="elementName"==f.type?new SelectorPart(f,[],f.toString(),a,b):new SelectorPart(null,[f],f.toString(),a,b)},_declaration:function(){var a=this._tokenStream,b=null,c=null,d=null,e=null,f="";if(b=this._property(),null!==b){a.mustMatch(Tokens.COLON),this._readWhitespace(),c=this._expr(),c&&0!==c.length||this._unexpectedToken(a.LT(1)),d=this._prio(),f=b.toString(),(this.options.starHack&&"*"==b.hack||this.options.underscoreHack&&"_"==b.hack)&&(f=b.text);try{this._validateProperty(f,c)}catch(g){e=g}return this.fire({type:"property",property:b,value:c,important:d,line:b.line,col:b.col,invalid:e}),!0}return!1},_prio:function(){var a=this._tokenStream,b=a.match(Tokens.IMPORTANT_SYM);return this._readWhitespace(),b},_expr:function(a){var b=(this._tokenStream,[]),c=null,d=null;if(c=this._term(a),null!==c)for(b.push(c);;){if(d=this._operator(a),d&&b.push(d),c=this._term(a),null===c)break;b.push(c)}return b.length>0?new PropertyValue(b,b[0].line,b[0].col):null},_term:function(a){var b,c,d,e=this._tokenStream,f=null,g=null,h=null;return f=this._unary_operator(),null!==f&&(c=e.token().startLine,d=e.token().startCol),e.peek()==Tokens.IE_FUNCTION&&this.options.ieFilters?(g=this._ie_function(),null===f&&(c=e.token().startLine,d=e.token().startCol)):a&&e.match([Tokens.LPAREN,Tokens.LBRACE,Tokens.LBRACKET])?(b=e.token(),h=b.endChar,g=b.value+this._expr(a).text,null===f&&(c=e.token().startLine,d=e.token().startCol),e.mustMatch(Tokens.type(h)),g+=h,this._readWhitespace()):e.match([Tokens.NUMBER,Tokens.PERCENTAGE,Tokens.LENGTH,Tokens.ANGLE,Tokens.TIME,Tokens.FREQ,Tokens.STRING,Tokens.IDENT,Tokens.URI,Tokens.UNICODE_RANGE])?(g=e.token().value,null===f&&(c=e.token().startLine,d=e.token().startCol),this._readWhitespace()):(b=this._hexcolor(),null===b?(null===f&&(c=e.LT(1).startLine,d=e.LT(1).startCol),null===g&&(g=e.LA(3)==Tokens.EQUALS&&this.options.ieFilters?this._ie_function():this._function())):(g=b.value,null===f&&(c=b.startLine,d=b.startCol))),null!==g?new PropertyValuePart(null!==f?f+g:g,c,d):null},_function:function(){var a,b=this._tokenStream,c=null,d=null;if(b.match(Tokens.FUNCTION)){if(c=b.token().value,this._readWhitespace(),d=this._expr(!0),c+=d,this.options.ieFilters&&b.peek()==Tokens.EQUALS)do for(this._readWhitespace()&&(c+=b.token().value),b.LA(0)==Tokens.COMMA&&(c+=b.token().value),b.match(Tokens.IDENT),c+=b.token().value,b.match(Tokens.EQUALS),c+=b.token().value,a=b.peek();a!=Tokens.COMMA&&a!=Tokens.S&&a!=Tokens.RPAREN;)b.get(),c+=b.token().value,a=b.peek();while(b.match([Tokens.COMMA,Tokens.S]));b.match(Tokens.RPAREN),c+=")",this._readWhitespace()}return c},_ie_function:function(){var a,b=this._tokenStream,c=null;if(b.match([Tokens.IE_FUNCTION,Tokens.FUNCTION])){c=b.token().value;do for(this._readWhitespace()&&(c+=b.token().value),b.LA(0)==Tokens.COMMA&&(c+=b.token().value),b.match(Tokens.IDENT),c+=b.token().value,b.match(Tokens.EQUALS),c+=b.token().value,a=b.peek();a!=Tokens.COMMA&&a!=Tokens.S&&a!=Tokens.RPAREN;)b.get(),c+=b.token().value,a=b.peek();while(b.match([Tokens.COMMA,Tokens.S]));b.match(Tokens.RPAREN),c+=")",this._readWhitespace()}return c},_hexcolor:function(){var a,b=this._tokenStream,c=null;if(b.match(Tokens.HASH)){if(c=b.token(),a=c.value,!/#[a-f0-9]{3,6}/i.test(a))throw new SyntaxError("Expected a hex color but found '"+a+"' at line "+c.startLine+", col "+c.startCol+".",c.startLine,c.startCol);this._readWhitespace()}return c},_keyframes:function(){var a,b,c,d=this._tokenStream,e="";for(d.mustMatch(Tokens.KEYFRAMES_SYM),a=d.token(),/^@\-([^\-]+)\-/.test(a.value)&&(e=RegExp.$1),this._readWhitespace(),c=this._keyframe_name(),this._readWhitespace(),d.mustMatch(Tokens.LBRACE),this.fire({type:"startkeyframes",name:c,prefix:e,line:a.startLine,col:a.startCol}),this._readWhitespace(),b=d.peek();b==Tokens.IDENT||b==Tokens.PERCENTAGE;)this._keyframe_rule(),this._readWhitespace(),b=d.peek();this.fire({type:"endkeyframes",name:c,prefix:e,line:a.startLine,col:a.startCol}),this._readWhitespace(),d.mustMatch(Tokens.RBRACE)},_keyframe_name:function(){var a=this._tokenStream;return a.mustMatch([Tokens.IDENT,Tokens.STRING]),SyntaxUnit.fromToken(a.token())},_keyframe_rule:function(){var a=(this._tokenStream,this._key_list());this.fire({type:"startkeyframerule",keys:a,line:a[0].line,col:a[0].col}),this._readDeclarations(!0),this.fire({type:"endkeyframerule",keys:a,line:a[0].line,col:a[0].col})},_key_list:function(){var a=this._tokenStream,b=[];for(b.push(this._key()),this._readWhitespace();a.match(Tokens.COMMA);)this._readWhitespace(),b.push(this._key()),this._readWhitespace();return b},_key:function(){var a,b=this._tokenStream;if(b.match(Tokens.PERCENTAGE))return SyntaxUnit.fromToken(b.token());if(b.match(Tokens.IDENT)){if(a=b.token(),/from|to/i.test(a.value))return SyntaxUnit.fromToken(a);b.unget()}this._unexpectedToken(b.LT(1))},_skipCruft:function(){for(;this._tokenStream.match([Tokens.S,Tokens.CDO,Tokens.CDC]););},_readDeclarations:function(a,b){var c,d=this._tokenStream;this._readWhitespace(),a&&d.mustMatch(Tokens.LBRACE),this._readWhitespace();try{for(;;){if(d.match(Tokens.SEMICOLON)||b&&this._margin());else{if(!this._declaration())break;if(!d.match(Tokens.SEMICOLON))break}this._readWhitespace()}d.mustMatch(Tokens.RBRACE),this._readWhitespace()}catch(e){if(!(e instanceof SyntaxError)||this.options.strict)throw e;if(this.fire({type:"error",error:e,message:e.message,line:e.line,col:e.col}),c=d.advance([Tokens.SEMICOLON,Tokens.RBRACE]),c==Tokens.SEMICOLON)this._readDeclarations(!1,b);else if(c!=Tokens.RBRACE)throw e}},_readWhitespace:function(){for(var a=this._tokenStream,b="";a.match(Tokens.S);)b+=a.token().value;return b},_unexpectedToken:function(a){throw new SyntaxError("Unexpected token '"+a.value+"' at line "+a.startLine+", col "+a.startCol+".",a.startLine,a.startCol)},_verifyEnd:function(){this._tokenStream.LA(1)!=Tokens.EOF&&this._unexpectedToken(this._tokenStream.LT(1))},_validateProperty:function(a,b){Validation.validate(a,b)},parse:function(a){this._tokenStream=new TokenStream(a,Tokens),this._stylesheet()},parseStyleSheet:function(a){return this.parse(a)},parseMediaQuery:function(a){this._tokenStream=new TokenStream(a,Tokens);var b=this._media_query();return this._verifyEnd(),b},parsePropertyValue:function(a){this._tokenStream=new TokenStream(a,Tokens),this._readWhitespace();var b=this._expr();return this._readWhitespace(),this._verifyEnd(),b},parseRule:function(a){this._tokenStream=new TokenStream(a,Tokens),this._readWhitespace();var b=this._ruleset();return this._readWhitespace(),this._verifyEnd(),b},parseSelector:function(a){this._tokenStream=new TokenStream(a,Tokens),this._readWhitespace();var b=this._selector();return this._readWhitespace(),this._verifyEnd(),b},parseStyleAttribute:function(a){a+="}",this._tokenStream=new TokenStream(a,Tokens),this._readDeclarations()}};for(a in c)c.hasOwnProperty(a)&&(b[a]=c[a]);return b}();var Properties={"align-items":"flex-start | flex-end | center | baseline | stretch","align-content":"flex-start | flex-end | center | space-between | space-around | stretch","align-self":"auto | flex-start | flex-end | center | baseline | stretch","-webkit-align-items":"flex-start | flex-end | center | baseline | stretch","-webkit-align-content":"flex-start | flex-end | center | space-between | space-around | stretch","-webkit-align-self":"auto | flex-start | flex-end | center | baseline | stretch","alignment-adjust":"auto | baseline | before-edge | text-before-edge | middle | central | after-edge | text-after-edge | ideographic | alphabetic | hanging | mathematical | <percentage> | <length>","alignment-baseline":"baseline | use-script | before-edge | text-before-edge | after-edge | text-after-edge | central | middle | ideographic | alphabetic | hanging | mathematical",animation:1,"animation-delay":{multi:"<time>",comma:!0},"animation-direction":{multi:"normal | alternate",comma:!0},"animation-duration":{multi:"<time>",comma:!0},"animation-fill-mode":{multi:"none | forwards | backwards | both",comma:!0},"animation-iteration-count":{multi:"<number> | infinite",comma:!0},"animation-name":{multi:"none | <ident>",comma:!0},"animation-play-state":{multi:"running | paused",comma:!0},"animation-timing-function":1,"-moz-animation-delay":{multi:"<time>",comma:!0},"-moz-animation-direction":{multi:"normal | alternate",comma:!0},"-moz-animation-duration":{multi:"<time>",comma:!0},"-moz-animation-iteration-count":{multi:"<number> | infinite",comma:!0},"-moz-animation-name":{multi:"none | <ident>",comma:!0},"-moz-animation-play-state":{multi:"running | paused",comma:!0},"-ms-animation-delay":{multi:"<time>",comma:!0},"-ms-animation-direction":{multi:"normal | alternate",comma:!0},"-ms-animation-duration":{multi:"<time>",comma:!0},"-ms-animation-iteration-count":{multi:"<number> | infinite",comma:!0},"-ms-animation-name":{multi:"none | <ident>",comma:!0},"-ms-animation-play-state":{multi:"running | paused",comma:!0},"-webkit-animation-delay":{multi:"<time>",comma:!0},"-webkit-animation-direction":{multi:"normal | alternate",comma:!0},"-webkit-animation-duration":{multi:"<time>",comma:!0},"-webkit-animation-fill-mode":{multi:"none | forwards | backwards | both",comma:!0},"-webkit-animation-iteration-count":{multi:"<number> | infinite",comma:!0},"-webkit-animation-name":{multi:"none | <ident>",comma:!0},"-webkit-animation-play-state":{multi:"running | paused",comma:!0},"-o-animation-delay":{multi:"<time>",comma:!0},"-o-animation-direction":{multi:"normal | alternate",comma:!0},"-o-animation-duration":{multi:"<time>",comma:!0},"-o-animation-iteration-count":{multi:"<number> | infinite",comma:!0},"-o-animation-name":{multi:"none | <ident>",comma:!0},"-o-animation-play-state":{multi:"running | paused",comma:!0},appearance:"icon | window | desktop | workspace | document | tooltip | dialog | button | push-button | hyperlink | radio-button | checkbox | menu-item | tab | menu | menubar | pull-down-menu | pop-up-menu | list-menu | radio-group | checkbox-group | outline-tree | range | field | combo-box | signature | password | normal | none | inherit",azimuth:function(a){var b,c="<angle> | leftwards | rightwards | inherit",d="left-side | far-left | left | center-left | center | center-right | right | far-right | right-side",e=!1,f=!1;if(ValidationTypes.isAny(a,c)||(ValidationTypes.isAny(a,"behind")&&(e=!0,f=!0),ValidationTypes.isAny(a,d)&&(f=!0,e||ValidationTypes.isAny(a,"behind"))),a.hasNext())throw b=a.next(),f?new ValidationError("Expected end of value but found '"+b+"'.",b.line,b.col):new ValidationError("Expected (<'azimuth'>) but found '"+b+"'.",b.line,b.col)},"backface-visibility":"visible | hidden",background:1,"background-attachment":{multi:"<attachment>",comma:!0},"background-clip":{multi:"<box>",comma:!0},"background-color":"<color> | inherit","background-image":{multi:"<bg-image>",comma:!0},"background-origin":{multi:"<box>",comma:!0},"background-position":{multi:"<bg-position>",comma:!0},"background-repeat":{multi:"<repeat-style>"},"background-size":{multi:"<bg-size>",comma:!0},"baseline-shift":"baseline | sub | super | <percentage> | <length>",behavior:1,binding:1,bleed:"<length>","bookmark-label":"<content> | <attr> | <string>","bookmark-level":"none | <integer>","bookmark-state":"open | closed","bookmark-target":"none | <uri> | <attr>",border:"<border-width> || <border-style> || <color>","border-bottom":"<border-width> || <border-style> || <color>","border-bottom-color":"<color> | inherit","border-bottom-left-radius":"<x-one-radius>","border-bottom-right-radius":"<x-one-radius>","border-bottom-style":"<border-style>","border-bottom-width":"<border-width>","border-collapse":"collapse | separate | inherit","border-color":{multi:"<color> | inherit",max:4},"border-image":1,"border-image-outset":{multi:"<length> | <number>",max:4},"border-image-repeat":{multi:"stretch | repeat | round",max:2},"border-image-slice":function(a){var b,c=!1,d="<number> | <percentage>",e=!1,f=0,g=4;for(ValidationTypes.isAny(a,"fill")&&(e=!0,c=!0);a.hasNext()&&f<g&&(c=ValidationTypes.isAny(a,d));)f++;if(e?c=!0:ValidationTypes.isAny(a,"fill"),a.hasNext())throw b=a.next(),c?new ValidationError("Expected end of value but found '"+b+"'.",b.line,b.col):new ValidationError("Expected ([<number> | <percentage>]{1,4} && fill?) but found '"+b+"'.",b.line,b.col)},"border-image-source":"<image> | none","border-image-width":{multi:"<length> | <percentage> | <number> | auto",max:4},"border-left":"<border-width> || <border-style> || <color>","border-left-color":"<color> | inherit","border-left-style":"<border-style>","border-left-width":"<border-width>","border-radius":function(a){for(var b,c=!1,d="<length> | <percentage> | inherit",e=!1,f=0,g=8;a.hasNext()&&f<g;){if(c=ValidationTypes.isAny(a,d),!c){if(!("/"==a.peek()&&f>0)||e)break;e=!0,g=f+5,a.next()}f++}if(a.hasNext())throw b=a.next(),c?new ValidationError("Expected end of value but found '"+b+"'.",b.line,b.col):new ValidationError("Expected (<'border-radius'>) but found '"+b+"'.",b.line,b.col)},"border-right":"<border-width> || <border-style> || <color>","border-right-color":"<color> | inherit","border-right-style":"<border-style>","border-right-width":"<border-width>","border-spacing":{multi:"<length> | inherit",max:2},"border-style":{multi:"<border-style>",max:4},"border-top":"<border-width> || <border-style> || <color>","border-top-color":"<color> | inherit","border-top-left-radius":"<x-one-radius>","border-top-right-radius":"<x-one-radius>","border-top-style":"<border-style>","border-top-width":"<border-width>","border-width":{multi:"<border-width>",max:4},bottom:"<margin-width> | inherit","-moz-box-align":"start | end | center | baseline | stretch","-moz-box-decoration-break":"slice |clone","-moz-box-direction":"normal | reverse | inherit","-moz-box-flex":"<number>","-moz-box-flex-group":"<integer>","-moz-box-lines":"single | multiple","-moz-box-ordinal-group":"<integer>","-moz-box-orient":"horizontal | vertical | inline-axis | block-axis | inherit","-moz-box-pack":"start | end | center | justify","-webkit-box-align":"start | end | center | baseline | stretch","-webkit-box-decoration-break":"slice |clone","-webkit-box-direction":"normal | reverse | inherit","-webkit-box-flex":"<number>","-webkit-box-flex-group":"<integer>","-webkit-box-lines":"single | multiple","-webkit-box-ordinal-group":"<integer>","-webkit-box-orient":"horizontal | vertical | inline-axis | block-axis | inherit","-webkit-box-pack":"start | end | center | justify","box-shadow":function(a){var b;if(ValidationTypes.isAny(a,"none")){if(a.hasNext())throw b=a.next(),new ValidationError("Expected end of value but found '"+b+"'.",b.line,b.col)}else Validation.multiProperty("<shadow>",a,!0,1/0)},"box-sizing":"content-box | border-box | inherit","break-after":"auto | always | avoid | left | right | page | column | avoid-page | avoid-column","break-before":"auto | always | avoid | left | right | page | column | avoid-page | avoid-column","break-inside":"auto | avoid | avoid-page | avoid-column",
"caption-side":"top | bottom | inherit",clear:"none | right | left | both | inherit",clip:1,color:"<color> | inherit","color-profile":1,"column-count":"<integer> | auto","column-fill":"auto | balance","column-gap":"<length> | normal","column-rule":"<border-width> || <border-style> || <color>","column-rule-color":"<color>","column-rule-style":"<border-style>","column-rule-width":"<border-width>","column-span":"none | all","column-width":"<length> | auto",columns:1,content:1,"counter-increment":1,"counter-reset":1,crop:"<shape> | auto",cue:"cue-after | cue-before | inherit","cue-after":1,"cue-before":1,cursor:1,direction:"ltr | rtl | inherit",display:"inline | block | list-item | inline-block | table | inline-table | table-row-group | table-header-group | table-footer-group | table-row | table-column-group | table-column | table-cell | table-caption | grid | inline-grid | none | inherit | -moz-box | -moz-inline-block | -moz-inline-box | -moz-inline-grid | -moz-inline-stack | -moz-inline-table | -moz-grid | -moz-grid-group | -moz-grid-line | -moz-groupbox | -moz-deck | -moz-popup | -moz-stack | -moz-marker | -webkit-box | -webkit-inline-box | -ms-flexbox | -ms-inline-flexbox | flex | -webkit-flex | inline-flex | -webkit-inline-flex","dominant-baseline":1,"drop-initial-after-adjust":"central | middle | after-edge | text-after-edge | ideographic | alphabetic | mathematical | <percentage> | <length>","drop-initial-after-align":"baseline | use-script | before-edge | text-before-edge | after-edge | text-after-edge | central | middle | ideographic | alphabetic | hanging | mathematical","drop-initial-before-adjust":"before-edge | text-before-edge | central | middle | hanging | mathematical | <percentage> | <length>","drop-initial-before-align":"caps-height | baseline | use-script | before-edge | text-before-edge | after-edge | text-after-edge | central | middle | ideographic | alphabetic | hanging | mathematical","drop-initial-size":"auto | line | <length> | <percentage>","drop-initial-value":"initial | <integer>",elevation:"<angle> | below | level | above | higher | lower | inherit","empty-cells":"show | hide | inherit",filter:1,fit:"fill | hidden | meet | slice","fit-position":1,flex:"<flex>","flex-basis":"<width>","flex-direction":"row | row-reverse | column | column-reverse","flex-flow":"<flex-direction> || <flex-wrap>","flex-grow":"<number>","flex-shrink":"<number>","flex-wrap":"nowrap | wrap | wrap-reverse","-webkit-flex":"<flex>","-webkit-flex-basis":"<width>","-webkit-flex-direction":"row | row-reverse | column | column-reverse","-webkit-flex-flow":"<flex-direction> || <flex-wrap>","-webkit-flex-grow":"<number>","-webkit-flex-shrink":"<number>","-webkit-flex-wrap":"nowrap | wrap | wrap-reverse","-ms-flex":"<flex>","-ms-flex-align":"start | end | center | stretch | baseline","-ms-flex-direction":"row | row-reverse | column | column-reverse | inherit","-ms-flex-order":"<number>","-ms-flex-pack":"start | end | center | justify","-ms-flex-wrap":"nowrap | wrap | wrap-reverse","float":"left | right | none | inherit","float-offset":1,font:1,"font-family":1,"font-size":"<absolute-size> | <relative-size> | <length> | <percentage> | inherit","font-size-adjust":"<number> | none | inherit","font-stretch":"normal | ultra-condensed | extra-condensed | condensed | semi-condensed | semi-expanded | expanded | extra-expanded | ultra-expanded | inherit","font-style":"normal | italic | oblique | inherit","font-variant":"normal | small-caps | inherit","font-weight":"normal | bold | bolder | lighter | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | inherit","grid-cell-stacking":"columns | rows | layer","grid-column":1,"grid-columns":1,"grid-column-align":"start | end | center | stretch","grid-column-sizing":1,"grid-column-span":"<integer>","grid-flow":"none | rows | columns","grid-layer":"<integer>","grid-row":1,"grid-rows":1,"grid-row-align":"start | end | center | stretch","grid-row-span":"<integer>","grid-row-sizing":1,"hanging-punctuation":1,height:"<margin-width> | <content-sizing> | inherit","hyphenate-after":"<integer> | auto","hyphenate-before":"<integer> | auto","hyphenate-character":"<string> | auto","hyphenate-lines":"no-limit | <integer>","hyphenate-resource":1,hyphens:"none | manual | auto",icon:1,"image-orientation":"angle | auto","image-rendering":1,"image-resolution":1,"inline-box-align":"initial | last | <integer>","justify-content":"flex-start | flex-end | center | space-between | space-around","-webkit-justify-content":"flex-start | flex-end | center | space-between | space-around",left:"<margin-width> | inherit","letter-spacing":"<length> | normal | inherit","line-height":"<number> | <length> | <percentage> | normal | inherit","line-break":"auto | loose | normal | strict","line-stacking":1,"line-stacking-ruby":"exclude-ruby | include-ruby","line-stacking-shift":"consider-shifts | disregard-shifts","line-stacking-strategy":"inline-line-height | block-line-height | max-height | grid-height","list-style":1,"list-style-image":"<uri> | none | inherit","list-style-position":"inside | outside | inherit","list-style-type":"disc | circle | square | decimal | decimal-leading-zero | lower-roman | upper-roman | lower-greek | lower-latin | upper-latin | armenian | georgian | lower-alpha | upper-alpha | none | inherit",margin:{multi:"<margin-width> | inherit",max:4},"margin-bottom":"<margin-width> | inherit","margin-left":"<margin-width> | inherit","margin-right":"<margin-width> | inherit","margin-top":"<margin-width> | inherit",mark:1,"mark-after":1,"mark-before":1,marks:1,"marquee-direction":1,"marquee-play-count":1,"marquee-speed":1,"marquee-style":1,"max-height":"<length> | <percentage> | <content-sizing> | none | inherit","max-width":"<length> | <percentage> | <content-sizing> | none | inherit","min-height":"<length> | <percentage> | <content-sizing> | contain-floats | -moz-contain-floats | -webkit-contain-floats | inherit","min-width":"<length> | <percentage> | <content-sizing> | contain-floats | -moz-contain-floats | -webkit-contain-floats | inherit","move-to":1,"nav-down":1,"nav-index":1,"nav-left":1,"nav-right":1,"nav-up":1,opacity:"<number> | inherit",order:"<integer>","-webkit-order":"<integer>",orphans:"<integer> | inherit",outline:1,"outline-color":"<color> | invert | inherit","outline-offset":1,"outline-style":"<border-style> | inherit","outline-width":"<border-width> | inherit",overflow:"visible | hidden | scroll | auto | inherit","overflow-style":1,"overflow-wrap":"normal | break-word","overflow-x":1,"overflow-y":1,padding:{multi:"<padding-width> | inherit",max:4},"padding-bottom":"<padding-width> | inherit","padding-left":"<padding-width> | inherit","padding-right":"<padding-width> | inherit","padding-top":"<padding-width> | inherit",page:1,"page-break-after":"auto | always | avoid | left | right | inherit","page-break-before":"auto | always | avoid | left | right | inherit","page-break-inside":"auto | avoid | inherit","page-policy":1,pause:1,"pause-after":1,"pause-before":1,perspective:1,"perspective-origin":1,phonemes:1,pitch:1,"pitch-range":1,"play-during":1,"pointer-events":"auto | none | visiblePainted | visibleFill | visibleStroke | visible | painted | fill | stroke | all | inherit",position:"static | relative | absolute | fixed | inherit","presentation-level":1,"punctuation-trim":1,quotes:1,"rendering-intent":1,resize:1,rest:1,"rest-after":1,"rest-before":1,richness:1,right:"<margin-width> | inherit",rotation:1,"rotation-point":1,"ruby-align":1,"ruby-overhang":1,"ruby-position":1,"ruby-span":1,size:1,speak:"normal | none | spell-out | inherit","speak-header":"once | always | inherit","speak-numeral":"digits | continuous | inherit","speak-punctuation":"code | none | inherit","speech-rate":1,src:1,stress:1,"string-set":1,"table-layout":"auto | fixed | inherit","tab-size":"<integer> | <length>",target:1,"target-name":1,"target-new":1,"target-position":1,"text-align":"left | right | center | justify | inherit","text-align-last":1,"text-decoration":1,"text-emphasis":1,"text-height":1,"text-indent":"<length> | <percentage> | inherit","text-justify":"auto | none | inter-word | inter-ideograph | inter-cluster | distribute | kashida","text-outline":1,"text-overflow":1,"text-rendering":"auto | optimizeSpeed | optimizeLegibility | geometricPrecision | inherit","text-shadow":1,"text-transform":"capitalize | uppercase | lowercase | none | inherit","text-wrap":"normal | none | avoid",top:"<margin-width> | inherit","-ms-touch-action":"auto | none | pan-x | pan-y","touch-action":"auto | none | pan-x | pan-y",transform:1,"transform-origin":1,"transform-style":1,transition:1,"transition-delay":1,"transition-duration":1,"transition-property":1,"transition-timing-function":1,"unicode-bidi":"normal | embed | isolate | bidi-override | isolate-override | plaintext | inherit","user-modify":"read-only | read-write | write-only | inherit","user-select":"none | text | toggle | element | elements | all | inherit","vertical-align":"auto | use-script | baseline | sub | super | top | text-top | central | middle | bottom | text-bottom | <percentage> | <length>",visibility:"visible | hidden | collapse | inherit","voice-balance":1,"voice-duration":1,"voice-family":1,"voice-pitch":1,"voice-pitch-range":1,"voice-rate":1,"voice-stress":1,"voice-volume":1,volume:1,"white-space":"normal | pre | nowrap | pre-wrap | pre-line | inherit | -pre-wrap | -o-pre-wrap | -moz-pre-wrap | -hp-pre-wrap","white-space-collapse":1,widows:"<integer> | inherit",width:"<length> | <percentage> | <content-sizing> | auto | inherit","word-break":"normal | keep-all | break-all","word-spacing":"<length> | normal | inherit","word-wrap":"normal | break-word","writing-mode":"horizontal-tb | vertical-rl | vertical-lr | lr-tb | rl-tb | tb-rl | bt-rl | tb-lr | bt-lr | lr-bt | rl-bt | lr | rl | tb | inherit","z-index":"<integer> | auto | inherit",zoom:"<number> | <percentage> | normal"};PropertyName.prototype=new SyntaxUnit,PropertyName.prototype.constructor=PropertyName,PropertyName.prototype.toString=function(){return(this.hack?this.hack:"")+this.text},PropertyValue.prototype=new SyntaxUnit,PropertyValue.prototype.constructor=PropertyValue,PropertyValueIterator.prototype.count=function(){return this._parts.length},PropertyValueIterator.prototype.isFirst=function(){return 0===this._i},PropertyValueIterator.prototype.hasNext=function(){return this._i<this._parts.length},PropertyValueIterator.prototype.mark=function(){this._marks.push(this._i)},PropertyValueIterator.prototype.peek=function(a){return this.hasNext()?this._parts[this._i+(a||0)]:null},PropertyValueIterator.prototype.next=function(){return this.hasNext()?this._parts[this._i++]:null},PropertyValueIterator.prototype.previous=function(){return this._i>0?this._parts[--this._i]:null},PropertyValueIterator.prototype.restore=function(){this._marks.length&&(this._i=this._marks.pop())},PropertyValuePart.prototype=new SyntaxUnit,PropertyValuePart.prototype.constructor=PropertyValuePart,PropertyValuePart.fromToken=function(a){return new PropertyValuePart(a.value,a.startLine,a.startCol)};var Pseudos={":first-letter":1,":first-line":1,":before":1,":after":1};Pseudos.ELEMENT=1,Pseudos.CLASS=2,Pseudos.isElement=function(a){return 0===a.indexOf("::")||Pseudos[a.toLowerCase()]==Pseudos.ELEMENT},Selector.prototype=new SyntaxUnit,Selector.prototype.constructor=Selector,SelectorPart.prototype=new SyntaxUnit,SelectorPart.prototype.constructor=SelectorPart,SelectorSubPart.prototype=new SyntaxUnit,SelectorSubPart.prototype.constructor=SelectorSubPart,Specificity.prototype={constructor:Specificity,compare:function(a){var b,c,d=["a","b","c","d"];for(b=0,c=d.length;b<c;b++){if(this[d[b]]<a[d[b]])return-1;if(this[d[b]]>a[d[b]])return 1}return 0},valueOf:function(){return 1e3*this.a+100*this.b+10*this.c+this.d},toString:function(){return this.a+","+this.b+","+this.c+","+this.d}},Specificity.calculate=function(a){function b(a){var c,d,e,i,j,k=a.elementName?a.elementName.text:"";for(k&&"*"!=k.charAt(k.length-1)&&h++,c=0,e=a.modifiers.length;c<e;c++)switch(j=a.modifiers[c],j.type){case"class":case"attribute":g++;break;case"id":f++;break;case"pseudo":Pseudos.isElement(j.text)?h++:g++;break;case"not":for(d=0,i=j.args.length;d<i;d++)b(j.args[d])}}var c,d,e,f=0,g=0,h=0;for(c=0,d=a.parts.length;c<d;c++)e=a.parts[c],e instanceof SelectorPart&&b(e);return new Specificity(0,f,g,h)};var h=/^[0-9a-fA-F]$/,nonascii=/^[\u0080-\uFFFF]$/,nl=/\n|\r\n|\r|\f/;TokenStream.prototype=mix(new TokenStreamBase,{_getToken:function(a){var b,c=this._reader,d=null,e=c.getLine(),f=c.getCol();for(b=c.read();b;){switch(b){case"/":d="*"==c.peek()?this.commentToken(b,e,f):this.charToken(b,e,f);break;case"|":case"~":case"^":case"$":case"*":d="="==c.peek()?this.comparisonToken(b,e,f):this.charToken(b,e,f);break;case'"':case"'":d=this.stringToken(b,e,f);break;case"#":d=isNameChar(c.peek())?this.hashToken(b,e,f):this.charToken(b,e,f);break;case".":d=isDigit(c.peek())?this.numberToken(b,e,f):this.charToken(b,e,f);break;case"-":d="-"==c.peek()?this.htmlCommentEndToken(b,e,f):isNameStart(c.peek())?this.identOrFunctionToken(b,e,f):this.charToken(b,e,f);break;case"!":d=this.importantToken(b,e,f);break;case"@":d=this.atRuleToken(b,e,f);break;case":":d=this.notToken(b,e,f);break;case"<":d=this.htmlCommentStartToken(b,e,f);break;case"U":case"u":if("+"==c.peek()){d=this.unicodeRangeToken(b,e,f);break}default:d=isDigit(b)?this.numberToken(b,e,f):isWhitespace(b)?this.whitespaceToken(b,e,f):isIdentStart(b)?this.identOrFunctionToken(b,e,f):this.charToken(b,e,f)}break}return d||null!==b||(d=this.createToken(Tokens.EOF,null,e,f)),d},createToken:function(a,b,c,d,e){var f=this._reader;return e=e||{},{value:b,type:a,channel:e.channel,endChar:e.endChar,hide:e.hide||!1,startLine:c,startCol:d,endLine:f.getLine(),endCol:f.getCol()}},atRuleToken:function(a,b,c){var d,e=a,f=this._reader,g=Tokens.CHAR;return f.mark(),d=this.readName(),e=a+d,g=Tokens.type(e.toLowerCase()),g!=Tokens.CHAR&&g!=Tokens.UNKNOWN||(e.length>1?g=Tokens.UNKNOWN_SYM:(g=Tokens.CHAR,e=a,f.reset())),this.createToken(g,e,b,c)},charToken:function(a,b,c){var d=Tokens.type(a),e={};return d==-1?d=Tokens.CHAR:e.endChar=Tokens[d].endChar,this.createToken(d,a,b,c,e)},commentToken:function(a,b,c){var d=(this._reader,this.readComment(a));return this.createToken(Tokens.COMMENT,d,b,c)},comparisonToken:function(a,b,c){var d=this._reader,e=a+d.read(),f=Tokens.type(e)||Tokens.CHAR;return this.createToken(f,e,b,c)},hashToken:function(a,b,c){var d=(this._reader,this.readName(a));return this.createToken(Tokens.HASH,d,b,c)},htmlCommentStartToken:function(a,b,c){var d=this._reader,e=a;return d.mark(),e+=d.readCount(3),"<!--"==e?this.createToken(Tokens.CDO,e,b,c):(d.reset(),this.charToken(a,b,c))},htmlCommentEndToken:function(a,b,c){var d=this._reader,e=a;return d.mark(),e+=d.readCount(2),"-->"==e?this.createToken(Tokens.CDC,e,b,c):(d.reset(),this.charToken(a,b,c))},identOrFunctionToken:function(a,b,c){var d=this._reader,e=this.readName(a),f=Tokens.IDENT;return"("==d.peek()?(e+=d.read(),"url("==e.toLowerCase()?(f=Tokens.URI,e=this.readURI(e),"url("==e.toLowerCase()&&(f=Tokens.FUNCTION)):f=Tokens.FUNCTION):":"==d.peek()&&"progid"==e.toLowerCase()&&(e+=d.readTo("("),f=Tokens.IE_FUNCTION),this.createToken(f,e,b,c)},importantToken:function(a,b,c){var d,e,f=this._reader,g=a,h=Tokens.CHAR;for(f.mark(),e=f.read();e;){if("/"==e){if("*"!=f.peek())break;if(d=this.readComment(e),""===d)break}else{if(!isWhitespace(e)){if(/i/i.test(e)){d=f.readCount(8),/mportant/i.test(d)&&(g+=e+d,h=Tokens.IMPORTANT_SYM);break}break}g+=e+this.readWhitespace()}e=f.read()}return h==Tokens.CHAR?(f.reset(),this.charToken(a,b,c)):this.createToken(h,g,b,c)},notToken:function(a,b,c){var d=this._reader,e=a;return d.mark(),e+=d.readCount(4),":not("==e.toLowerCase()?this.createToken(Tokens.NOT,e,b,c):(d.reset(),this.charToken(a,b,c))},numberToken:function(a,b,c){var d,e=this._reader,f=this.readNumber(a),g=Tokens.NUMBER,h=e.peek();return isIdentStart(h)?(d=this.readName(e.read()),f+=d,g=/^em$|^ex$|^px$|^gd$|^rem$|^vw$|^vh$|^vmax$|^vmin$|^ch$|^cm$|^mm$|^in$|^pt$|^pc$/i.test(d)?Tokens.LENGTH:/^deg|^rad$|^grad$/i.test(d)?Tokens.ANGLE:/^ms$|^s$/i.test(d)?Tokens.TIME:/^hz$|^khz$/i.test(d)?Tokens.FREQ:/^dpi$|^dpcm$/i.test(d)?Tokens.RESOLUTION:Tokens.DIMENSION):"%"==h&&(f+=e.read(),g=Tokens.PERCENTAGE),this.createToken(g,f,b,c)},stringToken:function(a,b,c){for(var d=a,e=a,f=this._reader,g=a,h=Tokens.STRING,i=f.read();i&&(e+=i,i!=d||"\\"==g);){if(isNewLine(f.peek())&&"\\"!=i){h=Tokens.INVALID;break}g=i,i=f.read()}return null===i&&(h=Tokens.INVALID),this.createToken(h,e,b,c)},unicodeRangeToken:function(a,b,c){var d,e=this._reader,f=a,g=Tokens.CHAR;return"+"==e.peek()&&(e.mark(),f+=e.read(),f+=this.readUnicodeRangePart(!0),2==f.length?e.reset():(g=Tokens.UNICODE_RANGE,f.indexOf("?")==-1&&"-"==e.peek()&&(e.mark(),d=e.read(),d+=this.readUnicodeRangePart(!1),1==d.length?e.reset():f+=d))),this.createToken(g,f,b,c)},whitespaceToken:function(a,b,c){var d=(this._reader,a+this.readWhitespace());return this.createToken(Tokens.S,d,b,c)},readUnicodeRangePart:function(a){for(var b=this._reader,c="",d=b.peek();isHexDigit(d)&&c.length<6;)b.read(),c+=d,d=b.peek();if(a)for(;"?"==d&&c.length<6;)b.read(),c+=d,d=b.peek();return c},readWhitespace:function(){for(var a=this._reader,b="",c=a.peek();isWhitespace(c);)a.read(),b+=c,c=a.peek();return b},readNumber:function(a){for(var b=this._reader,c=a,d="."==a,e=b.peek();e;){if(isDigit(e))c+=b.read();else{if("."!=e)break;if(d)break;d=!0,c+=b.read()}e=b.peek()}return c},readString:function(){for(var a=this._reader,b=a.read(),c=b,d=b,e=a.peek();e&&(e=a.read(),c+=e,e!=b||"\\"==d);){if(isNewLine(a.peek())&&"\\"!=e){c="";break}d=e,e=a.peek()}return null===e&&(c=""),c},readURI:function(a){var b=this._reader,c=a,d="",e=b.peek();for(b.mark();e&&isWhitespace(e);)b.read(),e=b.peek();for(d="'"==e||'"'==e?this.readString():this.readURL(),e=b.peek();e&&isWhitespace(e);)b.read(),e=b.peek();return""===d||")"!=e?(c=a,b.reset()):c+=d+b.read(),c},readURL:function(){for(var a=this._reader,b="",c=a.peek();/^[!#$%&\\*-~]$/.test(c);)b+=a.read(),c=a.peek();return b},readName:function(a){for(var b=this._reader,c=a||"",d=b.peek();;)if("\\"==d)c+=this.readEscape(b.read()),d=b.peek();else{if(!d||!isNameChar(d))break;c+=b.read(),d=b.peek()}return c},readEscape:function(a){var b=this._reader,c=a||"",d=0,e=b.peek();if(isHexDigit(e))do c+=b.read(),e=b.peek();while(e&&isHexDigit(e)&&++d<6);return 3==c.length&&/\s/.test(e)||7==c.length||1==c.length?b.read():e="",c+e},readComment:function(a){var b=this._reader,c=a||"",d=b.read();if("*"==d){for(;d;){if(c+=d,c.length>2&&"*"==d&&"/"==b.peek()){c+=b.read();break}d=b.read()}return c}return""}});var Tokens=[{name:"CDO"},{name:"CDC"},{name:"S",whitespace:!0},{name:"COMMENT",comment:!0,hide:!0,channel:"comment"},{name:"INCLUDES",text:"~="},{name:"DASHMATCH",text:"|="},{name:"PREFIXMATCH",text:"^="},{name:"SUFFIXMATCH",text:"$="},{name:"SUBSTRINGMATCH",text:"*="},{name:"STRING"},{name:"IDENT"},{name:"HASH"},{name:"IMPORT_SYM",text:"@import"},{name:"PAGE_SYM",text:"@page"},{name:"MEDIA_SYM",text:"@media"},{name:"FONT_FACE_SYM",text:"@font-face"},{name:"CHARSET_SYM",text:"@charset"},{name:"NAMESPACE_SYM",text:"@namespace"},{name:"VIEWPORT_SYM",text:["@viewport","@-ms-viewport"]},{name:"UNKNOWN_SYM"},{name:"KEYFRAMES_SYM",text:["@keyframes","@-webkit-keyframes","@-moz-keyframes","@-o-keyframes"]},{name:"IMPORTANT_SYM"},{name:"LENGTH"},{name:"ANGLE"},{name:"TIME"},{name:"FREQ"},{name:"DIMENSION"},{name:"PERCENTAGE"},{name:"NUMBER"},{name:"URI"},{name:"FUNCTION"},{name:"UNICODE_RANGE"},{name:"INVALID"},{name:"PLUS",text:"+"},{name:"GREATER",text:">"},{name:"COMMA",text:","},{name:"TILDE",text:"~"},{name:"NOT"},{name:"TOPLEFTCORNER_SYM",text:"@top-left-corner"},{name:"TOPLEFT_SYM",text:"@top-left"},{name:"TOPCENTER_SYM",text:"@top-center"},{name:"TOPRIGHT_SYM",text:"@top-right"},{name:"TOPRIGHTCORNER_SYM",text:"@top-right-corner"},{name:"BOTTOMLEFTCORNER_SYM",text:"@bottom-left-corner"},{name:"BOTTOMLEFT_SYM",text:"@bottom-left"},{name:"BOTTOMCENTER_SYM",text:"@bottom-center"},{name:"BOTTOMRIGHT_SYM",text:"@bottom-right"},{name:"BOTTOMRIGHTCORNER_SYM",text:"@bottom-right-corner"},{name:"LEFTTOP_SYM",text:"@left-top"},{name:"LEFTMIDDLE_SYM",text:"@left-middle"},{name:"LEFTBOTTOM_SYM",text:"@left-bottom"},{name:"RIGHTTOP_SYM",text:"@right-top"},{name:"RIGHTMIDDLE_SYM",text:"@right-middle"},{name:"RIGHTBOTTOM_SYM",text:"@right-bottom"},{name:"RESOLUTION",state:"media"},{name:"IE_FUNCTION"},{name:"CHAR"},{name:"PIPE",text:"|"},{name:"SLASH",text:"/"},{name:"MINUS",text:"-"},{name:"STAR",text:"*"},{name:"LBRACE",endChar:"}",text:"{"},{name:"RBRACE",text:"}"},{name:"LBRACKET",endChar:"]",text:"["},{name:"RBRACKET",text:"]"},{name:"EQUALS",text:"="},{name:"COLON",text:":"},{name:"SEMICOLON",text:";"},{name:"LPAREN",endChar:")",text:"("},{name:"RPAREN",text:")"},{name:"DOT",text:"."}];!function(){var a=[],b={};Tokens.UNKNOWN=-1,Tokens.unshift({name:"EOF"});for(var c=0,d=Tokens.length;c<d;c++)if(a.push(Tokens[c].name),Tokens[Tokens[c].name]=c,Tokens[c].text)if(Tokens[c].text instanceof Array)for(var e=0;e<Tokens[c].text.length;e++)b[Tokens[c].text[e]]=c;else b[Tokens[c].text]=c;Tokens.name=function(b){return a[b]},Tokens.type=function(a){return b[a]||-1}}();var Validation={validate:function(a,b){var c=a.toString().toLowerCase(),d=(b.parts,new PropertyValueIterator(b)),e=Properties[c];if(e)"number"!=typeof e&&("string"==typeof e?e.indexOf("||")>-1?this.groupProperty(e,d):this.singleProperty(e,d,1):e.multi?this.multiProperty(e.multi,d,e.comma,e.max||1/0):"function"==typeof e&&e(d));else if(0!==c.indexOf("-"))throw new ValidationError("Unknown property '"+a+"'.",a.line,a.col)},singleProperty:function(a,b,c,d){for(var e,f=!1,g=b.value,h=0;b.hasNext()&&h<c&&(f=ValidationTypes.isAny(b,a));)h++;if(!f)throw b.hasNext()&&!b.isFirst()?(e=b.peek(),new ValidationError("Expected end of value but found '"+e+"'.",e.line,e.col)):new ValidationError("Expected ("+a+") but found '"+g+"'.",g.line,g.col);if(b.hasNext())throw e=b.next(),new ValidationError("Expected end of value but found '"+e+"'.",e.line,e.col)},multiProperty:function(a,b,c,d){for(var e,f=!1,g=b.value,h=0;b.hasNext()&&!f&&h<d&&ValidationTypes.isAny(b,a);)if(h++,b.hasNext()){if(c){if(","!=b.peek())break;e=b.next()}}else f=!0;if(!f)throw b.hasNext()&&!b.isFirst()?(e=b.peek(),new ValidationError("Expected end of value but found '"+e+"'.",e.line,e.col)):(e=b.previous(),c&&","==e?new ValidationError("Expected end of value but found '"+e+"'.",e.line,e.col):new ValidationError("Expected ("+a+") but found '"+g+"'.",g.line,g.col));if(b.hasNext())throw e=b.next(),new ValidationError("Expected end of value but found '"+e+"'.",e.line,e.col)},groupProperty:function(a,b,c){for(var d,e,f=!1,g=b.value,h=a.split("||").length,i={count:0},j=!1;b.hasNext()&&!f&&(d=ValidationTypes.isAnyOfGroup(b,a))&&!i[d];)i[d]=1,i.count++,j=!0,i.count!=h&&b.hasNext()||(f=!0);if(!f)throw j&&b.hasNext()?(e=b.peek(),new ValidationError("Expected end of value but found '"+e+"'.",e.line,e.col)):new ValidationError("Expected ("+a+") but found '"+g+"'.",g.line,g.col);if(b.hasNext())throw e=b.next(),new ValidationError("Expected end of value but found '"+e+"'.",e.line,e.col)}};ValidationError.prototype=new Error;var ValidationTypes={isLiteral:function(a,b){var c,d,e=a.text.toString().toLowerCase(),f=b.split(" | "),g=!1;for(c=0,d=f.length;c<d&&!g;c++)e==f[c].toLowerCase()&&(g=!0);return g},isSimple:function(a){return!!this.simple[a]},isComplex:function(a){return!!this.complex[a]},isAny:function(a,b){var c,d,e=b.split(" | "),f=!1;for(c=0,d=e.length;c<d&&!f&&a.hasNext();c++)f=this.isType(a,e[c]);return f},isAnyOfGroup:function(a,b){var c,d,e=b.split(" || "),f=!1;for(c=0,d=e.length;c<d&&!f;c++)f=this.isType(a,e[c]);return!!f&&e[c-1]},isType:function(a,b){var c=a.peek(),d=!1;return"<"!=b.charAt(0)?(d=this.isLiteral(c,b),d&&a.next()):this.simple[b]?(d=this.simple[b](c),d&&a.next()):d=this.complex[b](a),d},simple:{"<absolute-size>":function(a){return ValidationTypes.isLiteral(a,"xx-small | x-small | small | medium | large | x-large | xx-large")},"<attachment>":function(a){return ValidationTypes.isLiteral(a,"scroll | fixed | local")},"<attr>":function(a){return"function"==a.type&&"attr"==a.name},"<bg-image>":function(a){return this["<image>"](a)||this["<gradient>"](a)||"none"==a},"<gradient>":function(a){return"function"==a.type&&/^(?:\-(?:ms|moz|o|webkit)\-)?(?:repeating\-)?(?:radial\-|linear\-)?gradient/i.test(a)},"<box>":function(a){return ValidationTypes.isLiteral(a,"padding-box | border-box | content-box")},"<content>":function(a){return"function"==a.type&&"content"==a.name},"<relative-size>":function(a){return ValidationTypes.isLiteral(a,"smaller | larger")},"<ident>":function(a){return"identifier"==a.type},"<length>":function(a){return!("function"!=a.type||!/^(?:\-(?:ms|moz|o|webkit)\-)?calc/i.test(a))||("length"==a.type||"number"==a.type||"integer"==a.type||"0"==a)},"<color>":function(a){return"color"==a.type||"transparent"==a},"<number>":function(a){return"number"==a.type||this["<integer>"](a)},"<integer>":function(a){return"integer"==a.type},"<line>":function(a){return"integer"==a.type},"<angle>":function(a){return"angle"==a.type},"<uri>":function(a){return"uri"==a.type},"<image>":function(a){return this["<uri>"](a)},"<percentage>":function(a){return"percentage"==a.type||"0"==a},"<border-width>":function(a){return this["<length>"](a)||ValidationTypes.isLiteral(a,"thin | medium | thick")},"<border-style>":function(a){return ValidationTypes.isLiteral(a,"none | hidden | dotted | dashed | solid | double | groove | ridge | inset | outset")},"<content-sizing>":function(a){return ValidationTypes.isLiteral(a,"fill-available | -moz-available | -webkit-fill-available | max-content | -moz-max-content | -webkit-max-content | min-content | -moz-min-content | -webkit-min-content | fit-content | -moz-fit-content | -webkit-fit-content")},"<margin-width>":function(a){return this["<length>"](a)||this["<percentage>"](a)||ValidationTypes.isLiteral(a,"auto")},"<padding-width>":function(a){return this["<length>"](a)||this["<percentage>"](a)},"<shape>":function(a){return"function"==a.type&&("rect"==a.name||"inset-rect"==a.name)},"<time>":function(a){return"time"==a.type},"<flex-grow>":function(a){return this["<number>"](a)},"<flex-shrink>":function(a){return this["<number>"](a)},"<width>":function(a){return this["<margin-width>"](a)},"<flex-basis>":function(a){return this["<width>"](a)},"<flex-direction>":function(a){return ValidationTypes.isLiteral(a,"row | row-reverse | column | column-reverse")},"<flex-wrap>":function(a){return ValidationTypes.isLiteral(a,"nowrap | wrap | wrap-reverse")}},complex:{"<bg-position>":function(a){for(var b=!1,c="<percentage> | <length>",d="left | right",e="top | bottom",f=0;a.peek(f)&&","!=a.peek(f);)f++;return f<3?ValidationTypes.isAny(a,d+" | center | "+c)?(b=!0,ValidationTypes.isAny(a,e+" | center | "+c)):ValidationTypes.isAny(a,e)&&(b=!0,ValidationTypes.isAny(a,d+" | center")):ValidationTypes.isAny(a,d)?ValidationTypes.isAny(a,e)?(b=!0,ValidationTypes.isAny(a,c)):ValidationTypes.isAny(a,c)&&(ValidationTypes.isAny(a,e)?(b=!0,ValidationTypes.isAny(a,c)):ValidationTypes.isAny(a,"center")&&(b=!0)):ValidationTypes.isAny(a,e)?ValidationTypes.isAny(a,d)?(b=!0,ValidationTypes.isAny(a,c)):ValidationTypes.isAny(a,c)&&(ValidationTypes.isAny(a,d)?(b=!0,ValidationTypes.isAny(a,c)):ValidationTypes.isAny(a,"center")&&(b=!0)):ValidationTypes.isAny(a,"center")&&ValidationTypes.isAny(a,d+" | "+e)&&(b=!0,ValidationTypes.isAny(a,c)),b},"<bg-size>":function(a){var b=!1,c="<percentage> | <length> | auto";return ValidationTypes.isAny(a,"cover | contain")?b=!0:ValidationTypes.isAny(a,c)&&(b=!0,ValidationTypes.isAny(a,c)),b},"<repeat-style>":function(a){var b,c=!1,d="repeat | space | round | no-repeat";return a.hasNext()&&(b=a.next(),ValidationTypes.isLiteral(b,"repeat-x | repeat-y")?c=!0:ValidationTypes.isLiteral(b,d)&&(c=!0,a.hasNext()&&ValidationTypes.isLiteral(a.peek(),d)&&a.next())),c},"<shadow>":function(a){var b=!1,c=0,d=!1,e=!1;if(a.hasNext()){for(ValidationTypes.isAny(a,"inset")&&(d=!0),ValidationTypes.isAny(a,"<color>")&&(e=!0);ValidationTypes.isAny(a,"<length>")&&c<4;)c++;a.hasNext()&&(e||ValidationTypes.isAny(a,"<color>"),d||ValidationTypes.isAny(a,"inset")),b=c>=2&&c<=4}return b},"<x-one-radius>":function(a){var b=!1,c="<length> | <percentage> | inherit";return ValidationTypes.isAny(a,c)&&(b=!0,ValidationTypes.isAny(a,c)),b},"<flex>":function(a){var b,c=!1;if(ValidationTypes.isAny(a,"none | inherit")?c=!0:ValidationTypes.isType(a,"<flex-grow>")?a.peek()?ValidationTypes.isType(a,"<flex-shrink>")?c=!a.peek()||ValidationTypes.isType(a,"<flex-basis>"):ValidationTypes.isType(a,"<flex-basis>")&&(c=null===a.peek()):c=!0:ValidationTypes.isType(a,"<flex-basis>")&&(c=!0),!c)throw b=a.peek(),new ValidationError("Expected (none | [ <flex-grow> <flex-shrink>? || <flex-basis> ]) but found '"+a.value.text+"'.",b.line,b.col);return c}}};parserlib.css={Colors:Colors,Combinator:Combinator,Parser:Parser,PropertyName:PropertyName,PropertyValue:PropertyValue,PropertyValuePart:PropertyValuePart,MediaFeature:MediaFeature,MediaQuery:MediaQuery,Selector:Selector,SelectorPart:SelectorPart,SelectorSubPart:SelectorSubPart,Specificity:Specificity,TokenStream:TokenStream,Tokens:Tokens,ValidationError:ValidationError}}(),function(){for(var a in parserlib)exports[a]=parserlib[a]}();var util={isArray:function(a){return Array.isArray(a)||"object"==typeof a&&"[object Array]"===objectToString(a)},isDate:function(a){return"object"==typeof a&&"[object Date]"===objectToString(a)},isRegExp:function(a){return"object"==typeof a&&"[object RegExp]"===objectToString(a)},getRegExpFlags:function(a){var b="";return a.global&&(b+="g"),a.ignoreCase&&(b+="i"),a.multiline&&(b+="m"),b}};"object"==typeof module&&(module.exports=clone),clone.clonePrototype=function(a){if(null===a)return null;var b=function(){};return b.prototype=a,new b};var CSSLint=function(){function a(a,b){var c,e=a&&a.match(d),f=e&&e[1];return f&&(c={"true":2,"":1,"false":0,2:2,1:1,0:0},f.toLowerCase().split(",").forEach(function(a){var d=a.split(":"),e=d[0]||"",f=d[1]||"";b[e.trim()]=c[f.trim()]})),b}var b=[],c=[],d=/\/\*csslint([^\*]*)\*\//,e=new parserlib.util.EventTarget;return e.version="@VERSION@",e.addRule=function(a){b.push(a),b[a.id]=a},e.clearRules=function(){b=[]},e.getRules=function(){return[].concat(b).sort(function(a,b){return a.id>b.id?1:0})},e.getRuleset=function(){for(var a={},c=0,d=b.length;c<d;)a[b[c++].id]=1;return a},e.addFormatter=function(a){c[a.id]=a},e.getFormatter=function(a){return c[a]},e.format=function(a,b,c,d){var e=this.getFormatter(c),f=null;return e&&(f=e.startFormat(),f+=e.formatResults(a,b,d||{}),f+=e.endFormat()),f},e.hasFormat=function(a){return c.hasOwnProperty(a)},e.verify=function(c,e){var f,g,h,i=0,j=new parserlib.css.Parser({starHack:!0,ieFilters:!0,underscoreHack:!0,strict:!1});g=c.replace(/\n\r?/g,"$split$").split("$split$"),e||(e=this.getRuleset()),d.test(c)&&(e=clone(e),e=a(c,e)),f=new Reporter(g,e),e.errors=2;for(i in e)e.hasOwnProperty(i)&&e[i]&&b[i]&&b[i].init(j,f);try{j.parse(c)}catch(k){f.error("Fatal error, cannot continue: "+k.message,k.line,k.col,{})}return h={messages:f.messages,stats:f.stats,ruleset:f.ruleset},h.messages.sort(function(a,b){return a.rollup&&!b.rollup?1:!a.rollup&&b.rollup?-1:a.line-b.line}),h},e}();Reporter.prototype={constructor:Reporter,error:function(a,b,c,d){this.messages.push({type:"error",line:b,col:c,message:a,evidence:this.lines[b-1],rule:d||{}})},warn:function(a,b,c,d){this.report(a,b,c,d)},report:function(a,b,c,d){this.messages.push({type:2===this.ruleset[d.id]?"error":"warning",line:b,col:c,message:a,evidence:this.lines[b-1],rule:d})},info:function(a,b,c,d){this.messages.push({type:"info",line:b,col:c,message:a,evidence:this.lines[b-1],rule:d})},rollupError:function(a,b){this.messages.push({type:"error",rollup:!0,message:a,rule:b})},rollupWarn:function(a,b){
this.messages.push({type:"warning",rollup:!0,message:a,rule:b})},stat:function(a,b){this.stats[a]=b}},CSSLint._Reporter=Reporter,CSSLint.Util={mix:function(a,b){var c;for(c in b)b.hasOwnProperty(c)&&(a[c]=b[c]);return c},indexOf:function(a,b){if(a.indexOf)return a.indexOf(b);for(var c=0,d=a.length;c<d;c++)if(a[c]===b)return c;return-1},forEach:function(a,b){if(a.forEach)return a.forEach(b);for(var c=0,d=a.length;c<d;c++)b(a[c],c,a)}},CSSLint.addRule({id:"adjoining-classes",name:"Disallow adjoining classes",desc:"Don't use adjoining classes.",browsers:"IE6",init:function(a,b){var c=this;a.addListener("startrule",function(d){var e,f,g,h,i,j,k,l=d.selectors;for(i=0;i<l.length;i++)for(e=l[i],j=0;j<e.parts.length;j++)if(f=e.parts[j],f.type===a.SELECTOR_PART_TYPE)for(h=0,k=0;k<f.modifiers.length;k++)g=f.modifiers[k],"class"===g.type&&h++,h>1&&b.report("Don't use adjoining classes.",f.line,f.col,c)})}}),CSSLint.addRule({id:"box-model",name:"Beware of broken box size",desc:"Don't use width or height when using padding or border.",browsers:"All",init:function(a,b){function c(){e={},i=!1}function d(){var a,c;if(!i){if(e.height)for(a in h)h.hasOwnProperty(a)&&e[a]&&(c=e[a].value,"padding"===a&&2===c.parts.length&&0===c.parts[0].value||b.report("Using height with "+a+" can sometimes make elements larger than you expect.",e[a].line,e[a].col,f));if(e.width)for(a in g)g.hasOwnProperty(a)&&e[a]&&(c=e[a].value,"padding"===a&&2===c.parts.length&&0===c.parts[1].value||b.report("Using width with "+a+" can sometimes make elements larger than you expect.",e[a].line,e[a].col,f))}}var e,f=this,g={border:1,"border-left":1,"border-right":1,padding:1,"padding-left":1,"padding-right":1},h={border:1,"border-bottom":1,"border-top":1,padding:1,"padding-bottom":1,"padding-top":1},i=!1;a.addListener("startrule",c),a.addListener("startfontface",c),a.addListener("startpage",c),a.addListener("startpagemargin",c),a.addListener("startkeyframerule",c),a.addListener("property",function(a){var b=a.property.text.toLowerCase();h[b]||g[b]?/^0\S*$/.test(a.value)||"border"===b&&"none"===a.value.toString()||(e[b]={line:a.property.line,col:a.property.col,value:a.value}):/^(width|height)/i.test(b)&&/^(length|percentage)/.test(a.value.parts[0].type)?e[b]=1:"box-sizing"===b&&(i=!0)}),a.addListener("endrule",d),a.addListener("endfontface",d),a.addListener("endpage",d),a.addListener("endpagemargin",d),a.addListener("endkeyframerule",d)}}),CSSLint.addRule({id:"box-sizing",name:"Disallow use of box-sizing",desc:"The box-sizing properties isn't supported in IE6 and IE7.",browsers:"IE6, IE7",tags:["Compatibility"],init:function(a,b){var c=this;a.addListener("property",function(a){var d=a.property.text.toLowerCase();"box-sizing"===d&&b.report("The box-sizing property isn't supported in IE6 and IE7.",a.line,a.col,c)})}}),CSSLint.addRule({id:"bulletproof-font-face",name:"Use the bulletproof @font-face syntax",desc:"Use the bulletproof @font-face syntax to avoid 404's in old IE (http://www.fontspring.com/blog/the-new-bulletproof-font-face-syntax).",browsers:"All",init:function(a,b){var c,d,e=this,f=!1,g=!0,h=!1;a.addListener("startfontface",function(){f=!0}),a.addListener("property",function(a){if(f){var b=a.property.toString().toLowerCase(),e=a.value.toString();if(c=a.line,d=a.col,"src"===b){var i=/^\s?url\(['"].+\.eot\?.*['"]\)\s*format\(['"]embedded-opentype['"]\).*$/i;!e.match(i)&&g?(h=!0,g=!1):e.match(i)&&!g&&(h=!1)}}}),a.addListener("endfontface",function(){f=!1,h&&b.report("@font-face declaration doesn't follow the fontspring bulletproof syntax.",c,d,e)})}}),CSSLint.addRule({id:"compatible-vendor-prefixes",name:"Require compatible vendor prefixes",desc:"Include all compatible vendor prefixes to reach a wider range of users.",browsers:"All",init:function(a,b){var c,d,e,f,g,h,i,j=this,k=!1,l=Array.prototype.push,m=[];c={animation:"webkit moz","animation-delay":"webkit moz","animation-direction":"webkit moz","animation-duration":"webkit moz","animation-fill-mode":"webkit moz","animation-iteration-count":"webkit moz","animation-name":"webkit moz","animation-play-state":"webkit moz","animation-timing-function":"webkit moz",appearance:"webkit moz","border-end":"webkit moz","border-end-color":"webkit moz","border-end-style":"webkit moz","border-end-width":"webkit moz","border-image":"webkit moz o","border-radius":"webkit","border-start":"webkit moz","border-start-color":"webkit moz","border-start-style":"webkit moz","border-start-width":"webkit moz","box-align":"webkit moz ms","box-direction":"webkit moz ms","box-flex":"webkit moz ms","box-lines":"webkit ms","box-ordinal-group":"webkit moz ms","box-orient":"webkit moz ms","box-pack":"webkit moz ms","box-sizing":"webkit moz","box-shadow":"webkit moz","column-count":"webkit moz ms","column-gap":"webkit moz ms","column-rule":"webkit moz ms","column-rule-color":"webkit moz ms","column-rule-style":"webkit moz ms","column-rule-width":"webkit moz ms","column-width":"webkit moz ms",hyphens:"epub moz","line-break":"webkit ms","margin-end":"webkit moz","margin-start":"webkit moz","marquee-speed":"webkit wap","marquee-style":"webkit wap","padding-end":"webkit moz","padding-start":"webkit moz","tab-size":"moz o","text-size-adjust":"webkit ms",transform:"webkit moz ms o","transform-origin":"webkit moz ms o",transition:"webkit moz o","transition-delay":"webkit moz o","transition-duration":"webkit moz o","transition-property":"webkit moz o","transition-timing-function":"webkit moz o","user-modify":"webkit moz","user-select":"webkit moz ms","word-break":"epub ms","writing-mode":"epub ms"};for(e in c)if(c.hasOwnProperty(e)){for(f=[],g=c[e].split(" "),h=0,i=g.length;h<i;h++)f.push("-"+g[h]+"-"+e);c[e]=f,l.apply(m,f)}a.addListener("startrule",function(){d=[]}),a.addListener("startkeyframes",function(a){k=a.prefix||!0}),a.addListener("endkeyframes",function(){k=!1}),a.addListener("property",function(a){var b=a.property;CSSLint.Util.indexOf(m,b.text)>-1&&(k&&"string"==typeof k&&0===b.text.indexOf("-"+k+"-")||d.push(b))}),a.addListener("endrule",function(){if(d.length){var a,e,f,g,h,i,k,l,m,n,o={};for(a=0,e=d.length;a<e;a++){f=d[a];for(g in c)c.hasOwnProperty(g)&&(h=c[g],CSSLint.Util.indexOf(h,f.text)>-1&&(o[g]||(o[g]={full:h.slice(0),actual:[],actualNodes:[]}),CSSLint.Util.indexOf(o[g].actual,f.text)===-1&&(o[g].actual.push(f.text),o[g].actualNodes.push(f))))}for(g in o)if(o.hasOwnProperty(g)&&(i=o[g],k=i.full,l=i.actual,k.length>l.length))for(a=0,e=k.length;a<e;a++)m=k[a],CSSLint.Util.indexOf(l,m)===-1&&(n=1===l.length?l[0]:2===l.length?l.join(" and "):l.join(", "),b.report("The property "+m+" is compatible with "+n+" and should be included as well.",i.actualNodes[0].line,i.actualNodes[0].col,j))}})}}),CSSLint.addRule({id:"display-property-grouping",name:"Require properties appropriate for display",desc:"Certain properties shouldn't be used with certain display property values.",browsers:"All",init:function(a,b){function c(a,c,d){f[a]&&("string"==typeof h[a]&&f[a].value.toLowerCase()===h[a]||b.report(d||a+" can't be used with display: "+c+".",f[a].line,f[a].col,g))}function d(){f={}}function e(){var a=f.display?f.display.value:null;if(a)switch(a){case"inline":c("height",a),c("width",a),c("margin",a),c("margin-top",a),c("margin-bottom",a),c("float",a,"display:inline has no effect on floated elements (but may be used to fix the IE6 double-margin bug).");break;case"block":c("vertical-align",a);break;case"inline-block":c("float",a);break;default:0===a.indexOf("table-")&&(c("margin",a),c("margin-left",a),c("margin-right",a),c("margin-top",a),c("margin-bottom",a),c("float",a))}}var f,g=this,h={display:1,"float":"none",height:1,width:1,margin:1,"margin-left":1,"margin-right":1,"margin-bottom":1,"margin-top":1,padding:1,"padding-left":1,"padding-right":1,"padding-bottom":1,"padding-top":1,"vertical-align":1};a.addListener("startrule",d),a.addListener("startfontface",d),a.addListener("startkeyframerule",d),a.addListener("startpagemargin",d),a.addListener("startpage",d),a.addListener("property",function(a){var b=a.property.text.toLowerCase();h[b]&&(f[b]={value:a.value.text,line:a.property.line,col:a.property.col})}),a.addListener("endrule",e),a.addListener("endfontface",e),a.addListener("endkeyframerule",e),a.addListener("endpagemargin",e),a.addListener("endpage",e)}}),CSSLint.addRule({id:"duplicate-background-images",name:"Disallow duplicate background images",desc:"Every background-image should be unique. Use a common class for e.g. sprites.",browsers:"All",init:function(a,b){var c=this,d={};a.addListener("property",function(a){var e,f,g=a.property.text,h=a.value;if(g.match(/background/i))for(e=0,f=h.parts.length;e<f;e++)"uri"===h.parts[e].type&&("undefined"==typeof d[h.parts[e].uri]?d[h.parts[e].uri]=a:b.report("Background image '"+h.parts[e].uri+"' was used multiple times, first declared at line "+d[h.parts[e].uri].line+", col "+d[h.parts[e].uri].col+".",a.line,a.col,c))})}}),CSSLint.addRule({id:"duplicate-properties",name:"Disallow duplicate properties",desc:"Duplicate properties must appear one after the other.",browsers:"All",init:function(a,b){function c(){d={}}var d,e,f=this;a.addListener("startrule",c),a.addListener("startfontface",c),a.addListener("startpage",c),a.addListener("startpagemargin",c),a.addListener("startkeyframerule",c),a.addListener("property",function(a){var c=a.property,g=c.text.toLowerCase();!d[g]||e===g&&d[g]!==a.value.text||b.report("Duplicate property '"+a.property+"' found.",a.line,a.col,f),d[g]=a.value.text,e=g})}}),CSSLint.addRule({id:"empty-rules",name:"Disallow empty rules",desc:"Rules without any properties specified should be removed.",browsers:"All",init:function(a,b){var c=this,d=0;a.addListener("startrule",function(){d=0}),a.addListener("property",function(){d++}),a.addListener("endrule",function(a){var e=a.selectors;0===d&&b.report("Rule is empty.",e[0].line,e[0].col,c)})}}),CSSLint.addRule({id:"errors",name:"Parsing Errors",desc:"This rule looks for recoverable syntax errors.",browsers:"All",init:function(a,b){var c=this;a.addListener("error",function(a){b.error(a.message,a.line,a.col,c)})}}),CSSLint.addRule({id:"fallback-colors",name:"Require fallback colors",desc:"For older browsers that don't support RGBA, HSL, or HSLA, provide a fallback color.",browsers:"IE6,IE7,IE8",init:function(a,b){function c(){e={},d=null}var d,e,f=this,g={color:1,background:1,"border-color":1,"border-top-color":1,"border-right-color":1,"border-bottom-color":1,"border-left-color":1,border:1,"border-top":1,"border-right":1,"border-bottom":1,"border-left":1,"background-color":1};a.addListener("startrule",c),a.addListener("startfontface",c),a.addListener("startpage",c),a.addListener("startpagemargin",c),a.addListener("startkeyframerule",c),a.addListener("property",function(a){var c=a.property,e=c.text.toLowerCase(),h=a.value.parts,i=0,j="",k=h.length;if(g[e])for(;i<k;)"color"===h[i].type&&("alpha"in h[i]||"hue"in h[i]?(/([^\)]+)\(/.test(h[i])&&(j=RegExp.$1.toUpperCase()),d&&d.property.text.toLowerCase()===e&&"compat"===d.colorType||b.report("Fallback "+e+" (hex or RGB) should precede "+j+" "+e+".",a.line,a.col,f)):a.colorType="compat"),i++;d=a})}}),CSSLint.addRule({id:"floats",name:"Disallow too many floats",desc:"This rule tests if the float property is used too many times",browsers:"All",init:function(a,b){var c=this,d=0;a.addListener("property",function(a){"float"===a.property.text.toLowerCase()&&"none"!==a.value.text.toLowerCase()&&d++}),a.addListener("endstylesheet",function(){b.stat("floats",d),d>=10&&b.rollupWarn("Too many floats ("+d+"), you're probably using them for layout. Consider using a grid system instead.",c)})}}),CSSLint.addRule({id:"font-faces",name:"Don't use too many web fonts",desc:"Too many different web fonts in the same stylesheet.",browsers:"All",init:function(a,b){var c=this,d=0;a.addListener("startfontface",function(){d++}),a.addListener("endstylesheet",function(){d>5&&b.rollupWarn("Too many @font-face declarations ("+d+").",c)})}}),CSSLint.addRule({id:"font-sizes",name:"Disallow too many font sizes",desc:"Checks the number of font-size declarations.",browsers:"All",init:function(a,b){var c=this,d=0;a.addListener("property",function(a){"font-size"===a.property.toString()&&d++}),a.addListener("endstylesheet",function(){b.stat("font-sizes",d),d>=10&&b.rollupWarn("Too many font-size declarations ("+d+"), abstraction needed.",c)})}}),CSSLint.addRule({id:"gradients",name:"Require all gradient definitions",desc:"When using a vendor-prefixed gradient, make sure to use them all.",browsers:"All",init:function(a,b){var c,d=this;a.addListener("startrule",function(){c={moz:0,webkit:0,oldWebkit:0,o:0}}),a.addListener("property",function(a){/\-(moz|o|webkit)(?:\-(?:linear|radial))\-gradient/i.test(a.value)?c[RegExp.$1]=1:/\-webkit\-gradient/i.test(a.value)&&(c.oldWebkit=1)}),a.addListener("endrule",function(a){var e=[];c.moz||e.push("Firefox 3.6+"),c.webkit||e.push("Webkit (Safari 5+, Chrome)"),c.oldWebkit||e.push("Old Webkit (Safari 4+, Chrome)"),c.o||e.push("Opera 11.1+"),e.length&&e.length<4&&b.report("Missing vendor-prefixed CSS gradients for "+e.join(", ")+".",a.selectors[0].line,a.selectors[0].col,d)})}}),CSSLint.addRule({id:"ids",name:"Disallow IDs in selectors",desc:"Selectors should not contain IDs.",browsers:"All",init:function(a,b){var c=this;a.addListener("startrule",function(d){var e,f,g,h,i,j,k,l=d.selectors;for(i=0;i<l.length;i++){for(e=l[i],h=0,j=0;j<e.parts.length;j++)if(f=e.parts[j],f.type===a.SELECTOR_PART_TYPE)for(k=0;k<f.modifiers.length;k++)g=f.modifiers[k],"id"===g.type&&h++;1===h?b.report("Don't use IDs in selectors.",e.line,e.col,c):h>1&&b.report(h+" IDs in the selector, really?",e.line,e.col,c)}})}}),CSSLint.addRule({id:"import",name:"Disallow @import",desc:"Don't use @import, use <link> instead.",browsers:"All",init:function(a,b){var c=this;a.addListener("import",function(a){b.report("@import prevents parallel downloads, use <link> instead.",a.line,a.col,c)})}}),CSSLint.addRule({id:"important",name:"Disallow !important",desc:"Be careful when using !important declaration",browsers:"All",init:function(a,b){var c=this,d=0;a.addListener("property",function(a){a.important===!0&&(d++,b.report("Use of !important",a.line,a.col,c))}),a.addListener("endstylesheet",function(){b.stat("important",d),d>=10&&b.rollupWarn("Too many !important declarations ("+d+"), try to use less than 10 to avoid specificity issues.",c)})}}),CSSLint.addRule({id:"known-properties",name:"Require use of known properties",desc:"Properties should be known (listed in CSS3 specification) or be a vendor-prefixed property.",browsers:"All",init:function(a,b){var c=this;a.addListener("property",function(a){a.invalid&&b.report(a.invalid.message,a.line,a.col,c)})}}),CSSLint.addRule({id:"order-alphabetical",name:"Alphabetical order",desc:"Assure properties are in alphabetical order",browsers:"All",init:function(a,b){var c,d=this,e=function(){c=[]};a.addListener("startrule",e),a.addListener("startfontface",e),a.addListener("startpage",e),a.addListener("startpagemargin",e),a.addListener("startkeyframerule",e),a.addListener("property",function(a){var b=a.property.text,d=b.toLowerCase().replace(/^-.*?-/,"");c.push(d)}),a.addListener("endrule",function(a){var e=c.join(","),f=c.sort().join(",");e!==f&&b.report("Rule doesn't have all its properties in alphabetical ordered.",a.line,a.col,d)})}}),CSSLint.addRule({id:"outline-none",name:"Disallow outline: none",desc:"Use of outline: none or outline: 0 should be limited to :focus rules.",browsers:"All",tags:["Accessibility"],init:function(a,b){function c(a){e=a.selectors?{line:a.line,col:a.col,selectors:a.selectors,propCount:0,outline:!1}:null}function d(){e&&e.outline&&(e.selectors.toString().toLowerCase().indexOf(":focus")===-1?b.report("Outlines should only be modified using :focus.",e.line,e.col,f):1===e.propCount&&b.report("Outlines shouldn't be hidden unless other visual changes are made.",e.line,e.col,f))}var e,f=this;a.addListener("startrule",c),a.addListener("startfontface",c),a.addListener("startpage",c),a.addListener("startpagemargin",c),a.addListener("startkeyframerule",c),a.addListener("property",function(a){var b=a.property.text.toLowerCase(),c=a.value;e&&(e.propCount++,"outline"!==b||"none"!==c.toString()&&"0"!==c.toString()||(e.outline=!0))}),a.addListener("endrule",d),a.addListener("endfontface",d),a.addListener("endpage",d),a.addListener("endpagemargin",d),a.addListener("endkeyframerule",d)}}),CSSLint.addRule({id:"overqualified-elements",name:"Disallow overqualified elements",desc:"Don't use classes or IDs with elements (a.foo or a#foo).",browsers:"All",init:function(a,b){var c=this,d={};a.addListener("startrule",function(e){var f,g,h,i,j,k,l=e.selectors;for(i=0;i<l.length;i++)for(f=l[i],j=0;j<f.parts.length;j++)if(g=f.parts[j],g.type===a.SELECTOR_PART_TYPE)for(k=0;k<g.modifiers.length;k++)h=g.modifiers[k],g.elementName&&"id"===h.type?b.report("Element ("+g+") is overqualified, just use "+h+" without element name.",g.line,g.col,c):"class"===h.type&&(d[h]||(d[h]=[]),d[h].push({modifier:h,part:g}))}),a.addListener("endstylesheet",function(){var a;for(a in d)d.hasOwnProperty(a)&&1===d[a].length&&d[a][0].part.elementName&&b.report("Element ("+d[a][0].part+") is overqualified, just use "+d[a][0].modifier+" without element name.",d[a][0].part.line,d[a][0].part.col,c)})}}),CSSLint.addRule({id:"qualified-headings",name:"Disallow qualified headings",desc:"Headings should not be qualified (namespaced).",browsers:"All",init:function(a,b){var c=this;a.addListener("startrule",function(d){var e,f,g,h,i=d.selectors;for(g=0;g<i.length;g++)for(e=i[g],h=0;h<e.parts.length;h++)f=e.parts[h],f.type===a.SELECTOR_PART_TYPE&&f.elementName&&/h[1-6]/.test(f.elementName.toString())&&h>0&&b.report("Heading ("+f.elementName+") should not be qualified.",f.line,f.col,c)})}}),CSSLint.addRule({id:"regex-selectors",name:"Disallow selectors that look like regexs",desc:"Selectors that look like regular expressions are slow and should be avoided.",browsers:"All",init:function(a,b){var c=this;a.addListener("startrule",function(d){var e,f,g,h,i,j,k=d.selectors;for(h=0;h<k.length;h++)for(e=k[h],i=0;i<e.parts.length;i++)if(f=e.parts[i],f.type===a.SELECTOR_PART_TYPE)for(j=0;j<f.modifiers.length;j++)g=f.modifiers[j],"attribute"===g.type&&/([\~\|\^\$\*]=)/.test(g)&&b.report("Attribute selectors with "+RegExp.$1+" are slow!",g.line,g.col,c)})}}),CSSLint.addRule({id:"rules-count",name:"Rules Count",desc:"Track how many rules there are.",browsers:"All",init:function(a,b){var c=0;a.addListener("startrule",function(){c++}),a.addListener("endstylesheet",function(){b.stat("rule-count",c)})}}),CSSLint.addRule({id:"selector-max-approaching",name:"Warn when approaching the 4095 selector limit for IE",desc:"Will warn when selector count is >= 3800 selectors.",browsers:"IE",init:function(a,b){var c=this,d=0;a.addListener("startrule",function(a){d+=a.selectors.length}),a.addListener("endstylesheet",function(){d>=3800&&b.report("You have "+d+" selectors. Internet Explorer supports a maximum of 4095 selectors per stylesheet. Consider refactoring.",0,0,c)})}}),CSSLint.addRule({id:"selector-max",name:"Error when past the 4095 selector limit for IE",desc:"Will error when selector count is > 4095.",browsers:"IE",init:function(a,b){var c=this,d=0;a.addListener("startrule",function(a){d+=a.selectors.length}),a.addListener("endstylesheet",function(){d>4095&&b.report("You have "+d+" selectors. Internet Explorer supports a maximum of 4095 selectors per stylesheet. Consider refactoring.",0,0,c)})}}),CSSLint.addRule({id:"selector-newline",name:"Disallow new-line characters in selectors",desc:"New-line characters in selectors are usually a forgotten comma and not a descendant combinator.",browsers:"All",init:function(a,b){function c(a){var c,e,f,g,h,i,j,k,l,m,n,o=a.selectors;for(c=0,e=o.length;c<e;c++)for(f=o[c],g=0,i=f.parts.length;g<i;g++)for(h=g+1;h<i;h++)j=f.parts[g],k=f.parts[h],l=j.type,m=j.line,n=k.line,"descendant"===l&&n>m&&b.report("newline character found in selector (forgot a comma?)",m,o[c].parts[0].col,d)}var d=this;a.addListener("startrule",c)}}),CSSLint.addRule({id:"shorthand",name:"Require shorthand properties",desc:"Use shorthand properties where possible.",browsers:"All",init:function(a,b){function c(){h={}}function d(a){var c,d,e,f;for(c in k)if(k.hasOwnProperty(c)){for(f=0,d=0,e=k[c].length;d<e;d++)f+=h[k[c][d]]?1:0;f===k[c].length&&b.report("The properties "+k[c].join(", ")+" can be replaced by "+c+".",a.line,a.col,i)}}var e,f,g,h,i=this,j={},k={margin:["margin-top","margin-bottom","margin-left","margin-right"],padding:["padding-top","padding-bottom","padding-left","padding-right"]};for(e in k)if(k.hasOwnProperty(e))for(f=0,g=k[e].length;f<g;f++)j[k[e][f]]=e;a.addListener("startrule",c),a.addListener("startfontface",c),a.addListener("property",function(a){var b=a.property.toString().toLowerCase();j[b]&&(h[b]=1)}),a.addListener("endrule",d),a.addListener("endfontface",d)}}),CSSLint.addRule({id:"star-property-hack",name:"Disallow properties with a star prefix",desc:"Checks for the star property hack (targets IE6/7)",browsers:"All",init:function(a,b){var c=this;a.addListener("property",function(a){var d=a.property;"*"===d.hack&&b.report("Property with star prefix found.",a.property.line,a.property.col,c)})}}),CSSLint.addRule({id:"text-indent",name:"Disallow negative text-indent",desc:"Checks for text indent less than -99px",browsers:"All",init:function(a,b){function c(){e=!1,f="inherit"}function d(){e&&"ltr"!==f&&b.report("Negative text-indent doesn't work well with RTL. If you use text-indent for image replacement explicitly set direction for that item to ltr.",e.line,e.col,g)}var e,f,g=this;a.addListener("startrule",c),a.addListener("startfontface",c),a.addListener("property",function(a){var b=a.property.toString().toLowerCase(),c=a.value;"text-indent"===b&&c.parts[0].value<-99?e=a.property:"direction"===b&&"ltr"===c.toString()&&(f="ltr")}),a.addListener("endrule",d),a.addListener("endfontface",d)}}),CSSLint.addRule({id:"underscore-property-hack",name:"Disallow properties with an underscore prefix",desc:"Checks for the underscore property hack (targets IE6)",browsers:"All",init:function(a,b){var c=this;a.addListener("property",function(a){var d=a.property;"_"===d.hack&&b.report("Property with underscore prefix found.",a.property.line,a.property.col,c)})}}),CSSLint.addRule({id:"unique-headings",name:"Headings should only be defined once",desc:"Headings should be defined only once.",browsers:"All",init:function(a,b){var c=this,d={h1:0,h2:0,h3:0,h4:0,h5:0,h6:0};a.addListener("startrule",function(a){var e,f,g,h,i,j=a.selectors;for(h=0;h<j.length;h++)if(e=j[h],f=e.parts[e.parts.length-1],f.elementName&&/(h[1-6])/i.test(f.elementName.toString())){for(i=0;i<f.modifiers.length;i++)if("pseudo"===f.modifiers[i].type){g=!0;break}g||(d[RegExp.$1]++,d[RegExp.$1]>1&&b.report("Heading ("+f.elementName+") has already been defined.",f.line,f.col,c))}}),a.addListener("endstylesheet",function(){var a,e=[];for(a in d)d.hasOwnProperty(a)&&d[a]>1&&e.push(d[a]+" "+a+"s");e.length&&b.rollupWarn("You have "+e.join(", ")+" defined in this stylesheet.",c)})}}),CSSLint.addRule({id:"universal-selector",name:"Disallow universal selector",desc:"The universal selector (*) is known to be slow.",browsers:"All",init:function(a,b){var c=this;a.addListener("startrule",function(a){var d,e,f,g=a.selectors;for(f=0;f<g.length;f++)d=g[f],e=d.parts[d.parts.length-1],"*"===e.elementName&&b.report(c.desc,e.line,e.col,c)})}}),CSSLint.addRule({id:"unqualified-attributes",name:"Disallow unqualified attribute selectors",desc:"Unqualified attribute selectors are known to be slow.",browsers:"All",init:function(a,b){var c=this;a.addListener("startrule",function(d){var e,f,g,h,i,j=d.selectors;for(h=0;h<j.length;h++)if(e=j[h],f=e.parts[e.parts.length-1],f.type===a.SELECTOR_PART_TYPE)for(i=0;i<f.modifiers.length;i++)g=f.modifiers[i],"attribute"!==g.type||f.elementName&&"*"!==f.elementName||b.report(c.desc,f.line,f.col,c)})}}),CSSLint.addRule({id:"vendor-prefix",name:"Require standard property with vendor prefix",desc:"When using a vendor-prefixed property, make sure to include the standard one.",browsers:"All",init:function(a,b){function c(){e={},f=1}function d(){var a,c,d,f,i,j=[];for(a in e)h[a]&&j.push({actual:a,needed:h[a]});for(c=0,d=j.length;c<d;c++)f=j[c].needed,i=j[c].actual,e[f]?e[f][0].pos<e[i][0].pos&&b.report("Standard property '"+f+"' should come after vendor-prefixed property '"+i+"'.",e[i][0].name.line,e[i][0].name.col,g):b.report("Missing standard property '"+f+"' to go along with '"+i+"'.",e[i][0].name.line,e[i][0].name.col,g)}var e,f,g=this,h={"-webkit-border-radius":"border-radius","-webkit-border-top-left-radius":"border-top-left-radius","-webkit-border-top-right-radius":"border-top-right-radius","-webkit-border-bottom-left-radius":"border-bottom-left-radius","-webkit-border-bottom-right-radius":"border-bottom-right-radius","-o-border-radius":"border-radius","-o-border-top-left-radius":"border-top-left-radius","-o-border-top-right-radius":"border-top-right-radius","-o-border-bottom-left-radius":"border-bottom-left-radius","-o-border-bottom-right-radius":"border-bottom-right-radius","-moz-border-radius":"border-radius","-moz-border-radius-topleft":"border-top-left-radius","-moz-border-radius-topright":"border-top-right-radius","-moz-border-radius-bottomleft":"border-bottom-left-radius","-moz-border-radius-bottomright":"border-bottom-right-radius","-moz-column-count":"column-count","-webkit-column-count":"column-count","-moz-column-gap":"column-gap","-webkit-column-gap":"column-gap","-moz-column-rule":"column-rule","-webkit-column-rule":"column-rule","-moz-column-rule-style":"column-rule-style","-webkit-column-rule-style":"column-rule-style","-moz-column-rule-color":"column-rule-color","-webkit-column-rule-color":"column-rule-color","-moz-column-rule-width":"column-rule-width","-webkit-column-rule-width":"column-rule-width","-moz-column-width":"column-width","-webkit-column-width":"column-width","-webkit-column-span":"column-span","-webkit-columns":"columns","-moz-box-shadow":"box-shadow","-webkit-box-shadow":"box-shadow","-moz-transform":"transform","-webkit-transform":"transform","-o-transform":"transform","-ms-transform":"transform","-moz-transform-origin":"transform-origin","-webkit-transform-origin":"transform-origin","-o-transform-origin":"transform-origin","-ms-transform-origin":"transform-origin","-moz-box-sizing":"box-sizing","-webkit-box-sizing":"box-sizing"};a.addListener("startrule",c),a.addListener("startfontface",c),a.addListener("startpage",c),a.addListener("startpagemargin",c),a.addListener("startkeyframerule",c),a.addListener("property",function(a){var b=a.property.text.toLowerCase();e[b]||(e[b]=[]),e[b].push({name:a.property,value:a.value,pos:f++})}),a.addListener("endrule",d),a.addListener("endfontface",d),a.addListener("endpage",d),a.addListener("endpagemargin",d),a.addListener("endkeyframerule",d)}}),CSSLint.addRule({id:"zero-units",name:"Disallow units for 0 values",desc:"You don't need to specify units when a value is 0.",browsers:"All",init:function(a,b){var c=this;a.addListener("property",function(a){for(var d=a.value.parts,e=0,f=d.length;e<f;)!d[e].units&&"percentage"!==d[e].type||0!==d[e].value||"time"===d[e].type||b.report("Values of 0 shouldn't have units specified.",d[e].line,d[e].col,c),e++})}}),function(){var a=function(a){return a&&a.constructor===String?a.replace(/[\"&><]/g,function(a){switch(a){case'"':return"&quot;";case"&":return"&amp;";case"<":return"&lt;";case">":return"&gt;"}}):""};CSSLint.addFormatter({id:"checkstyle-xml",name:"Checkstyle XML format",startFormat:function(){return'<?xml version="1.0" encoding="utf-8"?><checkstyle>'},endFormat:function(){return"</checkstyle>"},readError:function(b,c){return'<file name="'+a(b)+'"><error line="0" column="0" severty="error" message="'+a(c)+'"></error></file>'},formatResults:function(b,c){var d=b.messages,e=[],f=function(a){return a&&"name"in a?"net.csslint."+a.name.replace(/\s/g,""):""};return d.length>0&&(e.push('<file name="'+c+'">'),CSSLint.Util.forEach(d,function(b){b.rollup||e.push('<error line="'+b.line+'" column="'+b.col+'" severity="'+b.type+'" message="'+a(b.message)+'" source="'+f(b.rule)+'"/>')}),e.push("</file>")),e.join("")}})}(),CSSLint.addFormatter({id:"compact",name:"Compact, 'porcelain' format",startFormat:function(){return""},endFormat:function(){return""},formatResults:function(a,b,c){var d=a.messages,e="";c=c||{};var f=function(a){return a.charAt(0).toUpperCase()+a.slice(1)};return 0===d.length?c.quiet?"":b+": Lint Free!":(CSSLint.Util.forEach(d,function(a){e+=a.rollup?b+": "+f(a.type)+" - "+a.message+"\n":b+": line "+a.line+", col "+a.col+", "+f(a.type)+" - "+a.message+" ("+a.rule.id+")\n"}),e)}}),CSSLint.addFormatter({id:"csslint-xml",name:"CSSLint XML format",startFormat:function(){return'<?xml version="1.0" encoding="utf-8"?><csslint>'},endFormat:function(){return"</csslint>"},formatResults:function(a,b){var c=a.messages,d=[],e=function(a){return a&&a.constructor===String?a.replace(/\"/g,"'").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;"):""};return c.length>0&&(d.push('<file name="'+b+'">'),CSSLint.Util.forEach(c,function(a){a.rollup?d.push('<issue severity="'+a.type+'" reason="'+e(a.message)+'" evidence="'+e(a.evidence)+'"/>'):d.push('<issue line="'+a.line+'" char="'+a.col+'" severity="'+a.type+'" reason="'+e(a.message)+'" evidence="'+e(a.evidence)+'"/>')}),d.push("</file>")),d.join("")}}),CSSLint.addFormatter({id:"junit-xml",name:"JUNIT XML format",startFormat:function(){return'<?xml version="1.0" encoding="utf-8"?><testsuites>'},endFormat:function(){return"</testsuites>"},formatResults:function(a,b){var c=a.messages,d=[],e={error:0,failure:0},f=function(a){return a&&"name"in a?"net.csslint."+a.name.replace(/\s/g,""):""},g=function(a){return a&&a.constructor===String?a.replace(/\"/g,"'").replace(/</g,"&lt;").replace(/>/g,"&gt;"):""};return c.length>0&&(c.forEach(function(a){var b="warning"===a.type?"error":a.type;a.rollup||(d.push('<testcase time="0" name="'+f(a.rule)+'">'),d.push("<"+b+' message="'+g(a.message)+'"><![CDATA['+a.line+":"+a.col+":"+g(a.evidence)+"]]></"+b+">"),d.push("</testcase>"),e[b]+=1)}),d.unshift('<testsuite time="0" tests="'+c.length+'" skipped="0" errors="'+e.error+'" failures="'+e.failure+'" package="net.csslint" name="'+b+'">'),d.push("</testsuite>")),d.join("")}}),CSSLint.addFormatter({id:"lint-xml",name:"Lint XML format",startFormat:function(){return'<?xml version="1.0" encoding="utf-8"?><lint>'},endFormat:function(){return"</lint>"},formatResults:function(a,b){var c=a.messages,d=[],e=function(a){return a&&a.constructor===String?a.replace(/\"/g,"'").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;"):""};return c.length>0&&(d.push('<file name="'+b+'">'),CSSLint.Util.forEach(c,function(a){a.rollup?d.push('<issue severity="'+a.type+'" reason="'+e(a.message)+'" evidence="'+e(a.evidence)+'"/>'):d.push('<issue line="'+a.line+'" char="'+a.col+'" severity="'+a.type+'" reason="'+e(a.message)+'" evidence="'+e(a.evidence)+'"/>')}),d.push("</file>")),d.join("")}}),CSSLint.addFormatter({id:"text",name:"Plain Text",startFormat:function(){return""},endFormat:function(){return""},formatResults:function(a,b,c){var d=a.messages,e="";if(c=c||{},0===d.length)return c.quiet?"":"\n\ncsslint: No errors in "+b+".";e="\n\ncsslint: There ",e+=1===d.length?"is 1 problem":"are "+d.length+" problems",e+=" in "+b+".";var f=b.lastIndexOf("/"),g=b;return f===-1&&(f=b.lastIndexOf("\\")),f>-1&&(g=b.substring(f+1)),CSSLint.Util.forEach(d,function(a,b){e=e+"\n\n"+g,a.rollup?(e+="\n"+(b+1)+": "+a.type,e+="\n"+a.message):(e+="\n"+(b+1)+": "+a.type+" at line "+a.line+", col "+a.col,e+="\n"+a.message,e+="\n"+a.evidence)}),e}}),module.exports.CSSLint=CSSLint}),ace.define("ace/mode/css_worker",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/worker/mirror","ace/mode/css/csslint"],function(a,b,c){
"use strict";var d=a("../lib/oop"),e=a("../lib/lang"),f=a("../worker/mirror").Mirror,g=a("./css/csslint").CSSLint,h=b.Worker=function(a){f.call(this,a),this.setTimeout(400),this.ruleset=null,this.setDisabledRules("ids|order-alphabetical"),this.setInfoRules("adjoining-classes|qualified-headings|zero-units|gradients|import|outline-none|vendor-prefix")};d.inherits(h,f),function(){this.setInfoRules=function(a){"string"==typeof a&&(a=a.split("|")),this.infoRules=e.arrayToMap(a),this.doc.getValue()&&this.deferredUpdate.schedule(100)},this.setDisabledRules=function(a){if(a){"string"==typeof a&&(a=a.split("|"));var b={};g.getRules().forEach(function(a){b[a.id]=!0}),a.forEach(function(a){delete b[a]}),this.ruleset=b}else this.ruleset=null;this.doc.getValue()&&this.deferredUpdate.schedule(100)},this.onUpdate=function(){var a=this.doc.getValue();if(!a)return this.sender.emit("csslint",[]);var b=this.infoRules,c=g.verify(a,this.ruleset);this.sender.emit("csslint",c.messages.map(function(a){return{row:a.line-1,column:a.col-1,text:a.message,type:b[a.rule.id]?"info":a.type,rule:a.rule.name}}))}}.call(h.prototype)}),ace.define("ace/lib/es5-shim",["require","exports","module"],function(a,b,c){function d(){}function e(a){try{return Object.defineProperty(a,"sentinel",{}),"sentinel"in a}catch(b){}}function f(a){return a=+a,a!==a?a=0:0!==a&&a!==1/0&&a!==-(1/0)&&(a=(a>0||-1)*Math.floor(Math.abs(a))),a}Function.prototype.bind||(Function.prototype.bind=function(a){var b=this;if("function"!=typeof b)throw new TypeError("Function.prototype.bind called on incompatible "+b);var c=o.call(arguments,1),e=function(){if(this instanceof e){var d=b.apply(this,c.concat(o.call(arguments)));return Object(d)===d?d:this}return b.apply(a,c.concat(o.call(arguments)))};return b.prototype&&(d.prototype=b.prototype,e.prototype=new d,d.prototype=null),e});var g,h,i,j,k,l=Function.prototype.call,m=Array.prototype,n=Object.prototype,o=m.slice,p=l.bind(n.toString),q=l.bind(n.hasOwnProperty);if((k=q(n,"__defineGetter__"))&&(g=l.bind(n.__defineGetter__),h=l.bind(n.__defineSetter__),i=l.bind(n.__lookupGetter__),j=l.bind(n.__lookupSetter__)),2!=[1,2].splice(0).length)if(function(){function a(a){var b=new Array(a+2);return b[0]=b[1]=0,b}var b,c=[];if(c.splice.apply(c,a(20)),c.splice.apply(c,a(26)),b=c.length,c.splice(5,0,"XXX"),b+1==c.length,b+1==c.length)return!0}()){var r=Array.prototype.splice;Array.prototype.splice=function(a,b){return arguments.length?r.apply(this,[void 0===a?0:a,void 0===b?this.length-a:b].concat(o.call(arguments,2))):[]}}else Array.prototype.splice=function(a,b){var c=this.length;a>0?a>c&&(a=c):void 0==a?a=0:a<0&&(a=Math.max(c+a,0)),a+b<c||(b=c-a);var d=this.slice(a,a+b),e=o.call(arguments,2),f=e.length;if(a===c)f&&this.push.apply(this,e);else{var g=Math.min(b,c-a),h=a+g,i=h+f-g,j=c-h,k=c-g;if(i<h)for(var l=0;l<j;++l)this[i+l]=this[h+l];else if(i>h)for(l=j;l--;)this[i+l]=this[h+l];if(f&&a===k)this.length=k,this.push.apply(this,e);else for(this.length=k+f,l=0;l<f;++l)this[a+l]=e[l]}return d};Array.isArray||(Array.isArray=function(a){return"[object Array]"==p(a)});var s=Object("a"),t="a"!=s[0]||!(0 in s);if(Array.prototype.forEach||(Array.prototype.forEach=function(a){var b=K(this),c=t&&"[object String]"==p(this)?this.split(""):b,d=arguments[1],e=-1,f=c.length>>>0;if("[object Function]"!=p(a))throw new TypeError;for(;++e<f;)e in c&&a.call(d,c[e],e,b)}),Array.prototype.map||(Array.prototype.map=function(a){var b=K(this),c=t&&"[object String]"==p(this)?this.split(""):b,d=c.length>>>0,e=Array(d),f=arguments[1];if("[object Function]"!=p(a))throw new TypeError(a+" is not a function");for(var g=0;g<d;g++)g in c&&(e[g]=a.call(f,c[g],g,b));return e}),Array.prototype.filter||(Array.prototype.filter=function(a){var b,c=K(this),d=t&&"[object String]"==p(this)?this.split(""):c,e=d.length>>>0,f=[],g=arguments[1];if("[object Function]"!=p(a))throw new TypeError(a+" is not a function");for(var h=0;h<e;h++)h in d&&(b=d[h],a.call(g,b,h,c)&&f.push(b));return f}),Array.prototype.every||(Array.prototype.every=function(a){var b=K(this),c=t&&"[object String]"==p(this)?this.split(""):b,d=c.length>>>0,e=arguments[1];if("[object Function]"!=p(a))throw new TypeError(a+" is not a function");for(var f=0;f<d;f++)if(f in c&&!a.call(e,c[f],f,b))return!1;return!0}),Array.prototype.some||(Array.prototype.some=function(a){var b=K(this),c=t&&"[object String]"==p(this)?this.split(""):b,d=c.length>>>0,e=arguments[1];if("[object Function]"!=p(a))throw new TypeError(a+" is not a function");for(var f=0;f<d;f++)if(f in c&&a.call(e,c[f],f,b))return!0;return!1}),Array.prototype.reduce||(Array.prototype.reduce=function(a){var b=K(this),c=t&&"[object String]"==p(this)?this.split(""):b,d=c.length>>>0;if("[object Function]"!=p(a))throw new TypeError(a+" is not a function");if(!d&&1==arguments.length)throw new TypeError("reduce of empty array with no initial value");var e,f=0;if(arguments.length>=2)e=arguments[1];else for(;;){if(f in c){e=c[f++];break}if(++f>=d)throw new TypeError("reduce of empty array with no initial value")}for(;f<d;f++)f in c&&(e=a.call(void 0,e,c[f],f,b));return e}),Array.prototype.reduceRight||(Array.prototype.reduceRight=function(a){var b=K(this),c=t&&"[object String]"==p(this)?this.split(""):b,d=c.length>>>0;if("[object Function]"!=p(a))throw new TypeError(a+" is not a function");if(!d&&1==arguments.length)throw new TypeError("reduceRight of empty array with no initial value");var e,f=d-1;if(arguments.length>=2)e=arguments[1];else for(;;){if(f in c){e=c[f--];break}if(--f<0)throw new TypeError("reduceRight of empty array with no initial value")}do f in this&&(e=a.call(void 0,e,c[f],f,b));while(f--);return e}),Array.prototype.indexOf&&[0,1].indexOf(1,2)==-1||(Array.prototype.indexOf=function(a){var b=t&&"[object String]"==p(this)?this.split(""):K(this),c=b.length>>>0;if(!c)return-1;var d=0;for(arguments.length>1&&(d=f(arguments[1])),d=d>=0?d:Math.max(0,c+d);d<c;d++)if(d in b&&b[d]===a)return d;return-1}),Array.prototype.lastIndexOf&&[0,1].lastIndexOf(0,-3)==-1||(Array.prototype.lastIndexOf=function(a){var b=t&&"[object String]"==p(this)?this.split(""):K(this),c=b.length>>>0;if(!c)return-1;var d=c-1;for(arguments.length>1&&(d=Math.min(d,f(arguments[1]))),d=d>=0?d:c-Math.abs(d);d>=0;d--)if(d in b&&a===b[d])return d;return-1}),Object.getPrototypeOf||(Object.getPrototypeOf=function(a){return a.__proto__||(a.constructor?a.constructor.prototype:n)}),!Object.getOwnPropertyDescriptor){var u="Object.getOwnPropertyDescriptor called on a non-object: ";Object.getOwnPropertyDescriptor=function(a,b){if("object"!=typeof a&&"function"!=typeof a||null===a)throw new TypeError(u+a);if(q(a,b)){var c,d,e;if(c={enumerable:!0,configurable:!0},k){var f=a.__proto__;a.__proto__=n;var d=i(a,b),e=j(a,b);if(a.__proto__=f,d||e)return d&&(c.get=d),e&&(c.set=e),c}return c.value=a[b],c}}}if(Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(a){return Object.keys(a)}),!Object.create){var v;v=null===Object.prototype.__proto__?function(){return{__proto__:null}}:function(){var a={};for(var b in a)a[b]=null;return a.constructor=a.hasOwnProperty=a.propertyIsEnumerable=a.isPrototypeOf=a.toLocaleString=a.toString=a.valueOf=a.__proto__=null,a},Object.create=function(a,b){var c;if(null===a)c=v();else{if("object"!=typeof a)throw new TypeError("typeof prototype["+typeof a+"] != 'object'");var d=function(){};d.prototype=a,c=new d,c.__proto__=a}return void 0!==b&&Object.defineProperties(c,b),c}}if(Object.defineProperty){var w=e({}),x="undefined"==typeof document||e(document.createElement("div"));if(!w||!x)var y=Object.defineProperty}if(!Object.defineProperty||y){var z="Property description must be an object: ",A="Object.defineProperty called on non-object: ",B="getters & setters can not be defined on this javascript engine";Object.defineProperty=function(a,b,c){if("object"!=typeof a&&"function"!=typeof a||null===a)throw new TypeError(A+a);if("object"!=typeof c&&"function"!=typeof c||null===c)throw new TypeError(z+c);if(y)try{return y.call(Object,a,b,c)}catch(d){}if(q(c,"value"))if(k&&(i(a,b)||j(a,b))){var e=a.__proto__;a.__proto__=n,delete a[b],a[b]=c.value,a.__proto__=e}else a[b]=c.value;else{if(!k)throw new TypeError(B);q(c,"get")&&g(a,b,c.get),q(c,"set")&&h(a,b,c.set)}return a}}Object.defineProperties||(Object.defineProperties=function(a,b){for(var c in b)q(b,c)&&Object.defineProperty(a,c,b[c]);return a}),Object.seal||(Object.seal=function(a){return a}),Object.freeze||(Object.freeze=function(a){return a});try{Object.freeze(function(){})}catch(C){Object.freeze=function(a){return function(b){return"function"==typeof b?b:a(b)}}(Object.freeze)}if(Object.preventExtensions||(Object.preventExtensions=function(a){return a}),Object.isSealed||(Object.isSealed=function(a){return!1}),Object.isFrozen||(Object.isFrozen=function(a){return!1}),Object.isExtensible||(Object.isExtensible=function(a){if(Object(a)===a)throw new TypeError;for(var b="";q(a,b);)b+="?";a[b]=!0;var c=q(a,b);return delete a[b],c}),!Object.keys){var D=!0,E=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],F=E.length;for(var G in{toString:null})D=!1;Object.keys=function L(a){if("object"!=typeof a&&"function"!=typeof a||null===a)throw new TypeError("Object.keys called on a non-object");var L=[];for(var b in a)q(a,b)&&L.push(b);if(D)for(var c=0,d=F;c<d;c++){var e=E[c];q(a,e)&&L.push(e)}return L}}Date.now||(Date.now=function(){return(new Date).getTime()});var H="\t\n\x0B\f\r   ᠎              \u2028\u2029\ufeff";if(!String.prototype.trim||H.trim()){H="["+H+"]";var I=new RegExp("^"+H+H+"*"),J=new RegExp(H+H+"*$");String.prototype.trim=function(){return String(this).replace(I,"").replace(J,"")}}var K=function(a){if(null==a)throw new TypeError("can't convert "+a+" to object");return Object(a)}});