|
|
var commonjsGlobal=typeof globalThis!=="undefined"?globalThis:typeof window!=="undefined"?window:typeof global!=="undefined"?global:typeof self!=="undefined"?self:{};function getAugmentedNamespace(n){var f=n.default;if(typeof f=="function"){var a=function(){return f.apply(this,arguments)};a.prototype=f.prototype}else a={};Object.defineProperty(a,"__esModule",{value:true});Object.keys(n).forEach((function(k){var d=Object.getOwnPropertyDescriptor(n,k);Object.defineProperty(a,k,d.get?d:{enumerable:true,get:function(){return n[k]}})}));return a}var svgo={};var parser$2={};var sax={};(function(exports){(function(sax){sax.parser=function(strict,opt){return new SAXParser(strict,opt)};sax.SAXParser=SAXParser;sax.MAX_BUFFER_LENGTH=64*1024;var buffers=["comment","sgmlDecl","textNode","tagName","doctype","procInstName","procInstBody","entity","attribName","attribValue","cdata","script"];sax.EVENTS=["text","processinginstruction","sgmldeclaration","doctype","comment","opentagstart","attribute","opentag","closetag","opencdata","cdata","closecdata","error","end","ready","script","opennamespace","closenamespace"];function SAXParser(strict,opt){if(!(this instanceof SAXParser)){return new SAXParser(strict,opt)}var parser=this;clearBuffers(parser);parser.q=parser.c="";parser.bufferCheckPosition=sax.MAX_BUFFER_LENGTH;parser.opt=opt||{};parser.opt.lowercase=parser.opt.lowercase||parser.opt.lowercasetags;parser.looseCase=parser.opt.lowercase?"toLowerCase":"toUpperCase";parser.tags=[];parser.closed=parser.closedRoot=parser.sawRoot=false;parser.tag=parser.error=null;parser.strict=!!strict;parser.noscript=!!(strict||parser.opt.noscript);parser.state=S.BEGIN;parser.strictEntities=parser.opt.strictEntities;parser.ENTITIES=parser.strictEntities?Object.create(sax.XML_ENTITIES):Object.create(sax.ENTITIES);parser.attribList=[];if(parser.opt.xmlns){parser.ns=Object.create(rootNS)}parser.trackPosition=parser.opt.position!==false;if(parser.trackPosition){parser.position=parser.line=parser.column=0}emit(parser,"onready")}if(!Object.create){Object.create=function(o){function F(){}F.prototype=o;var newf=new F;return newf}}if(!Object.keys){Object.keys=function(o){var a=[];for(var i in o)if(o.hasOwnProperty(i))a.push(i);return a}}function checkBufferLength(parser){var maxAllowed=Math.max(sax.MAX_BUFFER_LENGTH,10);var maxActual=0;for(var i=0,l=buffers.length;i<l;i++){var len=parser[buffers[i]].length;if(len>maxAllowed){switch(buffers[i]){case"textNode":closeText(parser);break;case"cdata":emitNode(parser,"oncdata",parser.cdata);parser.cdata="";break;case"script":emitNode(parser,"onscript",parser.script);parser.script="";break;default:error(parser,"Max buffer length exceeded: "+buffers[i])}}maxActual=Math.max(maxActual,len)}var m=sax.MAX_BUFFER_LENGTH-maxActual;parser.bufferCheckPosition=m+parser.position}function clearBuffers(parser){for(var i=0,l=buffers.length;i<l;i++){parser[buffers[i]]=""}}function flushBuffers(parser){closeText(parser);if(parser.cdata!==""){emitNode(parser,"oncdata",parser.cdata);parser.cdata=""}if(parser.script!==""){emitNode(parser,"onscript",parser.script);parser.script=""}}SAXParser.prototype={end:function(){end(this)},write:write,resume:function(){this.error=null;return this},close:function(){return this.write(null)},flush:function(){flushBuffers(this)}};var CDATA="[CDATA[";var DOCTYPE="DOCTYPE";var XML_NAMESPACE="http://www.w3.org/XML/1998/namespace";var XMLNS_NAMESPACE="http://www.w3.org/2000/xmlns/";var rootNS={xml:XML_NAMESPACE,xmlns:XMLNS_NAMESPACE};var nameStart=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/;var nameBody=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/;var entityStart=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/;var entityBody=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/;function isWhitespace(c){return c===" "||c==="\n"||c==="\r"||c==="\t"}function isQuote(c){return c==='"'||c==="'"}function isAttribEnd(c){return c===">"||isWhitespace(c)}function isMatch(regex,c){return regex.test(c)}function notMatch(regex,c){return!isMatch(regex,c)}var S=0;sax.STATE={BEGIN:S++,BEGIN_WHITESPACE:S++,TEXT:S++,TEXT_ENTITY:S++,OPEN_WAKA:S++,SGML_DECL:S++,SGML_DECL_QUOTED:S++,DOCTYPE:S++,DOCTYPE_QUOTED:S++,DOCTYPE_DTD:S++,DOCTYPE_DTD_QUOTED:S++,COMMENT_STARTING:S++,COMMENT:S++,COMMENT_ENDING:S++,COMMENT_ENDED:S++,CDATA:S++,CDATA_ENDING:S++,CDATA_ENDING_2:S++,PROC_INST:S++,PROC_INST_BODY:S++,PROC_INST_ENDING:S++,OPEN_TAG:S++,OPEN_TAG_SLASH:S++,ATTRIB:S++,ATTRIB_NAME:S++,ATTRIB_NAME_SAW_WHITE:S++,ATTRIB_VALUE:S++,ATTRIB_VALUE_QUOTED:S++,ATTRIB_VALUE_CLOSED:S++,ATTRIB_VALUE_UNQUOTED:S++,ATTRIB_VALUE_ENTITY_Q:S++,ATTRIB_VALUE_ENTITY_U:S++,CLOSE_TAG:S++,CLOSE_TAG_SAW_WHITE:S++,SCRIPT:S++,SCRIPT_ENDING:S++};sax.XML_ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'"};sax.ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830};Object.keys(sax.ENTITIES).forEach((function(key){var e=sax.ENTITIES[key];var s=typeof e==="number"?String.fromCharCode(e):e;sax.ENTITIES[key]=s}));for(var s in sax.STATE){sax.STATE[sax.STATE[s]]=s}S=sax.STATE;function emit(parser,event,data){parser[event]&&parser[event](data)}function emitNode(parser,nodeType,data){if(parser.textNode)closeText(parser);emit(parser,nodeType,data)}function closeText(parser){parser.textNode=textopts(parser.opt,parser.textNode);if(parser.textNode)emit(parser,"ontext",parser.textNode);parser.textNode=""}function textopts(opt,text){if(opt.trim)text=text.trim();if(opt.normalize)text=text.replace(/\s+/g," ");return text}function error(parser,reason){closeText(parser);const message=reason+"\nLine: "+parser.line+"\nColumn: "+parser.column+"\nChar: "+parser.c;const error=new Error(message);error.reason=reason;error.line=parser.line;error.column=parser.column;parser.error=error;emit(parser,"onerror",error);return parser}function end(parser){if(parser.sawRoot&&!parser.closedRoot)strictFail(parser,"Unclosed root tag");if(parser.state!==S.BEGIN&&parser.state!==S.BEGIN_WHITESPACE&&parser.state!==S.TEXT){error(parser,"Unexpected end")}closeText(parser);parser.c="";parser.closed=true;emit(parser,"onend");SAXParser.call(parser,parser.strict,parser.opt);return parser}function strictFail(parser,message){if(typeof parser!=="object"||!(parser instanceof SAXParser)){throw new Error("bad call to strictFail")}if(parser.strict){error(parser,message)}}function newTag(parser){if(!parser.strict)parser.tagName=parser.tagName[parser.looseCase]();var parent=parser.tags[parser.tags.length-1]||parser;var tag=parser.tag={name:parser.tagName,attributes:{}};if(parser.opt.xmlns){tag.ns=parent.ns}parser.attribList.length=0;emitNode(parser,"onopentagstart",tag)}function qname(name,attribute){var i=name.indexOf(":");var qualName=i<0?["",name]:name.split(":");var prefix=qualName[0];var local=qualName[1];if(attribute&&name==="xmlns"){prefix="xmlns";local=""}return{prefix:prefix,local:local}}function attrib(parser){if(!parser.strict){parser.attribName=parser.attribName[parser.looseCase]()}if(parser.attribList.indexOf(parser.attribName)!==-1||parser.tag.attributes.hasOwnProperty(parser.attribName)){parser.attribName=parser.attribValue="";return}if(parser.opt.xmlns){var qn=qname(parser.attribName,true);var prefix=qn.prefix;var local=qn.local;if(prefix==="xmlns"){if(local==="xml"&&parser.attribValue!==XML_NAMESPACE){strictFail(parser,"xml: prefix must be bound to "+XML_NAMESPACE+"\n"+"Actual: "+parser.attribValue)}else if(local==="xmlns"&&parser.attribValue!==XMLNS_NAMESPACE){strictFail(parser,"xmlns: prefix must be bound to "+XMLNS_NAMESPACE+"\n"+"Actual: "+parser.attribValue)}else{var tag=parser.tag;var parent=parser.tags[parser.tags.length-1]||parser;if(tag.ns===parent.ns){tag.ns=Object.create(parent.ns)}tag.ns[local]=parser.attribValue}}parser.attribList.push([parser.attribName,parser.attribValue])}else{parser.tag.attributes[parser.attribName]=parser.attribValue;emitNode(parser,"onattribute",{name:parser.attribName,value:parser.attribValue})}parser.attribName=parser.attribValue=""}function openTag(parser,selfClosing){if(parser.opt.xmlns){var tag=parser.tag;var qn=qname(parser.tagName);tag.prefix=qn.prefix;tag.local=qn.local;tag.uri=tag.ns[qn.prefix]||"";if(tag.prefix&&!tag.uri){strictFail(parser,"Unbound namespace prefix: "+JSON.stringify(parser.tagName));tag.uri=qn.prefix}var parent=parser.tags[parser.tags.length-1]||parser;if(tag.ns&&parent.ns!==tag.ns){Object.keys(tag.ns).forEach((function(p){emitNode(parser,"onopennamespace",{prefix:p,uri:tag.ns[p]})}))}for(var i=0,l=parser.attribList.length;i<l;i++){var nv=parser.attribList[i];var name=nv[0];var value=nv[1];var qualName=qname(name,true);var prefix=qualName.prefix;var local=qualName.local;var uri=prefix===""?"":tag.ns[prefix]||"";var a={name:name,value:value,prefix:prefix,local:local,uri:uri};if(prefix&&prefix!=="xmlns"&&!uri){strictFail(parser,"Unbound namespace prefix: "+JSON.stringify(prefix));a.uri=prefix}parser.tag.attributes[name]=a;emitNode(parser,"onattribute",a)}parser.attribList.length=0}parser.tag.isSelfClosing=!!selfClosing;parser.sawRoot=true;parser.tags.push(parser.tag);emitNode(parser,"onopentag",parser.tag);if(!selfClosing){if(!parser.noscript&&parser.tagName.toLowerCase()==="script"){parser.state=S.SCRIPT}else{parser.state=S.TEXT}parser.tag=null;parser.tagName=""}parser.attribName=parser.attribValue="";parser.attribList.length=0}function closeTag(parser){if(!parser.tagName){strictFail(parser,"Weird empty close tag.");parser.textNode+="</>";parser.state=S.TEXT;return}if(parser.script){if(parser.tagName!=="script"){parser.script+="</"+parser.tagName+">";parser.tagName="";parser.state=S.SCRIPT;return}emitNode(parser,"onscript",parser.script);parser.script=""}var t=parser.tags.length;var tagName=parser.tagName;if(!parser.strict){tagName=tagName[parser.looseCase]()}var closeTo=tagName;while(t--){var close=parser.tags[t];if(close.name!==closeTo){strictFail(parser,"Unexpected close tag")}else{break}}if(t<0){strictFail(parser,"Unmatched closing tag: "+parser.tagName);parser.textNode+="</"+parser.tagName+">";parser.state=S.TEXT;return}parser.tagName=tagName;var s=parser.tags.length;while(s-- >t){var tag=parser.tag=parser.tags.pop();parser.tagName=parser.tag.name;emitNode(parser,"onclosetag",parser.tagName);var x={};for(var i in tag.ns){x[i]=tag.ns[i]}var parent=parser.tags[parser.tags.length-1]||parser;if(parser.opt.xmlns&&tag.ns!==parent.ns){Object.keys(tag.ns).forEach((function(p){var n=tag.ns[p];emitNode(parser,"onclosenamespace",{prefix:p,uri:n})}))}}if(t===0)parser.closedRoot=true;parser.tagName=parser.attribValue=parser.attribName="";parser.attribList.length=0;parser.state=S.TEXT}function parseEntity(parser){var entity=parser.entity;var entityLC=entity.toLowerCase();var num;var numStr="";if(parser.ENTITIES[entity]){return parser.ENTITIES[entity]}if(parser.ENTITIES[entityLC]){return parser.ENTITIES[entityLC]}entity=entityLC;if(entity.charAt(0)==="#"){if(entity.charAt(1)==="x"){entity=entity.slice(2);num=parseInt(entity,16);numStr=num.toString(16)}else{entity=entity.slice(1);num=parseInt(entity,10);numStr=num.toString(10)}}entity=entity.replace(/^0+/,"");if(isNaN(num)||numStr.toLowerCase()!==entity){strictFail(parser,"Invalid character entity");return"&"+parser.entity+";"}return String.fromCodePoint(num)}function beginWhiteSpace(parser,c){if(c==="<"){parser.state=S.OPEN_WAKA;parser.startTagPosition=parser.position}else if(!isWhitespace(c)){strictFail(parser,"Non-whitespace before first tag.");parser.textNode=c;parser.state=S.TEXT}}function charAt(chunk,i){var result="";if(i<chunk.length){result=chunk.charAt(i)}return result}function write(chunk){var parser=this;if(this.error){throw this.error}if(parser.closed){return error(parser,"Cannot write after close. Assign an onready handler.")}if(chunk===null){return end(parser)}if(typeof chunk==="object"){chunk=chunk.toString()}var i=0;var c="";while(true){c=charAt(chunk,i++);parser.c=c;if(!c){break}if(parser.trackPosition){parser.position++;if(c==="\n"){parser.line++;parser.column=0}else{parser.column++}}switch(parser.state){case S.BEGIN:parser.state=S.BEGIN_WHITESPACE;if(c==="\ufeff"){continue}beginWhiteSpace(parser,c);continue;case S.BEGIN_WHITESPACE:beginWhiteSpace(parser,c);continue;case S.TEXT:if(parser.sawRoot&&!parser.closedRoot){var starti=i-1;while(c&&c!=="<"&&c!=="&"){c=charAt(chunk,i++);if(c&&parser.trackPosition){parser.position++;if(c==="\n"){parser.line++;parser.column=0}else{parser.column++}}}parser.textNode+=chunk.substring(starti,i-1)}if(c==="<"&&!(parser.sawRoot&&parser.closedRoot&&!parser.strict)){parser.state=S.OPEN_WAKA;parser.startTagPosition=parser.position}else{if(!isWhitespace(c)&&(!parser.sawRoot||parser.closedRoot)){strictFail(parser,"Text data outside of root node.")}if(c==="&"){parser.state=S.TEXT_ENTITY}else{parser.textNode+=c}}continue;case S.SCRIPT:if(c==="<"){parser.state=S.SCRIPT_ENDING}else{parser.script+=c}continue;case S.SCRIPT_ENDING:if(c==="/"){parser.state=S.CLOSE_TAG}else{parser.script+="<"+c;parser.state=S.SCRIPT}continue;case S.OPEN_WAKA:if(c==="!"){parser.state=S.SGML_DECL;parser.sgmlDecl=""}else if(isWhitespace(c));else if(isMatch(nameStart,c)){parser.state=S.OPEN_TAG;parser.tagName=c}else if(c==="/"){parser.state=S.CLOSE_TAG;parser.tagName=""}else if(c==="?"){parser.state=S.PROC_INST;parser.procInstName=parser.procInstBody=""}else{strictFail(parser,"Unencoded <");if(parser.startTagPosition+1<parser.position){var pad=parser.position-parser.startTagPosition;c=new Array(pad).join(" ")+c}parser.textNode+="<"+c;parser.state=S.TEXT}continue;case S.SGML_DECL:if((parser.sgmlDecl+c).toUpperCase()===CDATA){emitNode(parser,"onopencdata");parser.state=S.CDATA;parser.sgmlDecl="";parser.cdata=""}else if(parser.sgmlDecl+c==="--"){parser.state=S.COMMENT;parser.comment="";parser.sgmlDecl=""}else if((parser.sgmlDecl+c).toUpperCase()===DOCTYPE){parser.state=S.DOCTYPE;if(parser.doctype||parser.sawRoot){strictFail(parser,"Inappropriately located doctype declaration")}parser.doctype="";parser.sgmlDecl=""}else if(c===">"){emitNode(parser,"onsgmldeclaration",parser.sgmlDecl);parser.sgmlDecl="";parser.state=S.TEXT}else if(isQuote(c)){parser.state=S.SGML_DECL_QUOTED;parser.sgmlDecl+=c}else{parser.sgmlDecl+=c}continue;case S.SGML_DECL_QUOTED:if(c===parser.q){parser.state=S.SGML_DECL;parser.q=""}parser.sgmlDecl+=c;continue;case S.DOCTYPE:if(c===">"){parser.state=S.TEXT;emitNode(parser,"ondoctype",parser.doctype);parser.doctype=true}else{parser.doctype+=c;if(c==="["){parser.state=S.DOCTYPE_DTD}else if(isQuote(c)){parser.state=S.DOCTYPE_QUOTED;parser.q=c}}continue;case S.DOCTYPE_QUOTED:parser.doctype+=c;if(c===parser.q){parser.q="";parser.state=S.DOCTYPE}continue;case S.DOCTYPE_DTD:parser.doctype+=c;if(c==="]"){parser.state=S.DOCTYPE}else if(isQuote(c)){parser.state=S.DOCTYPE_DTD_QUOTED;parser.q=c}continue;case S.DOCTYPE_DTD_QUOTED:parser.doctype+=c;if(c===parser.q){parser.state=S.DOCTYPE_DTD;parser.q=""}continue;case S.COMMENT:if(c==="-"){parser.state=S.COMMENT_ENDING}else{parser.comment+=c}continue;case S.COMMENT_ENDING:if(c==="-"){parser.state=S.COMMENT_ENDED;parser.comment=textopts(parser.opt,parser.comment);if(parser.comment){emitNode(parser,"oncomment",parser.comment)}parser.comment=""}else{parser.comment+="-"+c;parser.state=S.COMMENT}continue;case S.COMMENT_ENDED:if(c!==">"){strictFail(parser,"Malformed comment");parser.comment+="--"+c;parser.state=S.COMMENT}else{parser.state=S.TEXT}continue;case S.CDATA:if(c==="]"){parser.state=S.CDATA_ENDING}else{parser.cdata+=c}continue;case S.CDATA_ENDING:if(c==="]"){parser.state=S.CDATA_ENDING_2}else{parser.cdata+="]"+c;parser.state=S.CDATA}continue;case S.CDATA_ENDING_2:if(c===">"){if(parser.cdata){emitNode(parser,"oncdata",parser.cdata)}emitNode(parser,"onclosecdata");parser.cdata="";parser.state=S.TEXT}else if(c==="]"){parser.cdata+="]"}else{parser.cdata+="]]"+c;parser.state=S.CDATA}continue;case S.PROC_INST:if(c==="?"){parser.state=S.PROC_INST_ENDING}else if(isWhitespace(c)){parser.state=S.PROC_INST_BODY}else{parser.procInstName+=c}continue;case S.PROC_INST_BODY:if(!parser.procInstBody&&isWhitespace(c)){continue}else if(c==="?"){parser.state=S.PROC_INST_ENDING}else{parser.procInstBody+=c}continue;case S.PROC_INST_ENDING:if(c===">"){emitNode(parser,"onprocessinginstruction",{name:parser.procInstName,body:parser.procInstBody});parser.procInstName=parser.procInstBody="";parser.state=S.TEXT}else{parser.procInstBody+="?"+c;parser.state=S.PROC_INST_BODY}continue;case S.OPEN_TAG:if(isMatch(nameBody,c)){parser.tagName+=c}else{newTag(parser);if(c===">"){openTag(parser)}else if(c==="/"){parser.state=S.OPEN_TAG_SLASH}else{if(!isWhitespace(c)){strictFail(parser,"Invalid character in tag name")}parser.state=S.ATTRIB}}continue;case S.OPEN_TAG_SLASH:if(c===">"){openTag(parser,true);closeTag(parser)}else{strictFail(parser,"Forward-slash in opening tag not followed by >");parser.state=S.ATTRIB}continue;case S.ATTRIB:if(isWhitespace(c)){continue}else if(c===">"){openTag(parser)}else if(c==="/"){parser.state=S.OPEN_TAG_SLASH}else if(isMatch(nameStart,c)){parser.attribName=c;parser.attribValue="";parser.state=S.ATTRIB_NAME}else{strictFail(parser,"Invalid attribute name")}continue;case S.ATTRIB_NAME:if(c==="="){parser.state=S.ATTRIB_VALUE}else if(c===">"){strictFail(parser,"Attribute without value");parser.attribValue=parser.attribName;attrib(parser);openTag(parser)}else if(isWhitespace(c)){parser.state=S.ATTRIB_NAME_SAW_WHITE}else if(isMatch(nameBody,c)){parser.attribName+=c}else{strictFail(parser,"Invalid attribute name")}continue;case S.ATTRIB_NAME_SAW_WHITE:if(c==="="){parser.state=S.ATTRIB_VALUE}else if(isWhitespace(c)){continue}else{strictFail(parser,"Attribute without value");parser.tag.attributes[parser.attribName]="";parser.attribValue="";emitNode(parser,"onattribute",{name:parser.attribName,value:""});parser.attribName="";if(c===">"){openTag(parser)}else if(isMatch(nameStart,c)){parser.attribName=c;parser.state=S.ATTRIB_NAME}else{strictFail(parser,"Invalid attribute name");parser.state=S.ATTRIB}}continue;case S.ATTRIB_VALUE:if(isWhitespace(c)){continue}else if(isQuote(c)){parser.q=c;parser.state=S.ATTRIB_VALUE_QUOTED}else{strictFail(parser,"Unquoted attribute value");parser.state=S.ATTRIB_VALUE_UNQUOTED;parser.attribValue=c}continue;case S.ATTRIB_VALUE_QUOTED:if(c!==parser.q){if(c==="&"){parser.state=S.ATTRIB_VALUE_ENTITY_Q}else{parser.attribValue+=c}continue}attrib(parser);parser.q="";parser.state=S.ATTRIB_VALUE_CLOSED;continue;case S.ATTRIB_VALUE_CLOSED:if(isWhitespace(c)){parser.state=S.ATTRIB}else if(c===">"){openTag(parser)}else if(c==="/"){parser.state=S.OPEN_TAG_SLASH}else if(isMatch(nameStart,c)){strictFail(parser,"No whitespace between attributes");parser.attribName=c;parser.attribValue="";parser.state=S.ATTRIB_NAME}else{strictFail(parser,"Invalid attribute name")}continue;case S.ATTRIB_VALUE_UNQUOTED:if(!isAttribEnd(c)){if(c==="&"){parser.state=S.ATTRIB_VALUE_ENTITY_U}else{parser.attribValue+=c}continue}attrib(parser);if(c===">"){openTag(parser)}else{parser.state=S.ATTRIB}continue;case S.CLOSE_TAG:if(!parser.tagName){if(isWhitespace(c)){continue}else if(notMatch(nameStart,c)){if(parser.script){parser.script+="</"+c;parser.state=S.SCRIPT}else{strictFail(parser,"Invalid tagname in closing tag.")}}else{parser.tagName=c}}else if(c===">"){closeTag(parser)}else if(isMatch(nameBody,c)){parser.tagName+=c}else if(parser.script){parser.script+="</"+parser.tagName;parser.tagName="";parser.state=S.SCRIPT}else{if(!isWhitespace(c)){strictFail(parser,"Invalid tagname in closing tag")}parser.state=S.CLOSE_TAG_SAW_WHITE}continue;case S.CLOSE_TAG_SAW_WHITE:if(isWhitespace(c)){continue}if(c===">"){closeTag(parser)}else{strictFail(parser,"Invalid characters in closing tag")}continue;case S.TEXT_ENTITY:case S.ATTRIB_VALUE_ENTITY_Q:case S.ATTRIB_VALUE_ENTITY_U:var returnState;var buffer;switch(parser.state){case S.TEXT_ENTITY:returnState=S.TEXT;buffer="textNode";break;case S.ATTRIB_VALUE_ENTITY_Q:returnState=S.ATTRIB_VALUE_QUOTED;buffer="attribValue";break;case S.ATTRIB_VALUE_ENTITY_U:returnState=S.ATTRIB_VALUE_UNQUOTED;buffer="attribValue";break}if(c===";"){var parsedEntity=parseEntity(parser);if(parser.state===S.TEXT_ENTITY&&!sax.ENTITIES[parser.entity]&&parsedEntity!=="&"+parser.entity+";"){chunk=chunk.slice(0,i)+parsedEntity+chunk.slice(i)}else{parser[buffer]+=parsedEntity}parser.entity="";parser.state=returnState}else if(isMatch(parser.entity.length?entityBody:entityStart,c)){parser.entity+=c}else{strictFail(parser,"Invalid character in entity name");parser[buffer]+="&"+parser.entity+c;parser.entity="";parser.state=returnState}continue;default:throw new Error(parser,"Unknown state: "+parser.state)}}if(parser.position>=parser.bufferCheckPosition){checkBufferLength(parser)}return parser}})(exports)})(sax);var _collections={};(function(exports){exports.elemsGroups={animation:["animate","animateColor","animateMotion","animateTransform","set"],descriptive:["desc","metadata","title"],shape:["circle","ellipse","line","path","polygon","polyline","rect"],structural:["defs","g","svg","symbol","use"],paintServer:["solidColor","linearGradient","radialGradient","meshGradient","pattern","hatch"],nonRendering:["linearGradient","radialGradient","pattern","clipPath","mask","marker","symbol","filter","solidColor"],container:["a","defs","g","marker","mask","missing-glyph","pattern","svg","switch","symbol","foreignObject"],textContent:["altGlyph","altGlyphDef","altGlyphItem","glyph","glyphRef","textPath","text","tref","tspan"],textContentChild:["altGlyph","textPath","tref","tspan"],lightSource:["feDiffuseLighting","feSpecularLighting","feDistantLight","fePointLight","feSpotLight"],filterPrimitive:["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence"]};exports.textElems=exports.elemsGroups.textContent.concat("title");exports.pathElems=["path","glyph","missing-glyph"];exports.attrsGroups={animationAddition:["additive","accumulate"],animationAttributeTarget:["attributeType","attributeName"],animationEvent:["onbegin","onend","onrepeat","onload"],animationTiming:["begin","dur","end","min","max","restart","repeatCount","repeatDur","fill"],animationValue:["calcMode","values","keyTimes","keySplines","from","to","by"],conditionalProcessing:["requiredFeatures","requiredExtensions","systemLanguage"],core:["id","tabindex","xml:base","xml:lang","xml:space"],graphicalEvent:["onfocusin","onfocusout","onactivate","onclick","onmousedown","onmouseup","onmouseover","onmousemove","onmouseout","onload"],presentation:["alignment-baseline","baseline-shift","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cursor","direction","display","dominant-baseline","enable-background","fill","fill-opacity","fill-rule","filter","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","glyph-orientation-horizontal","glyph-orientation-vertical","image-rendering","letter-spacing","lighting-color","marker-end","marker-mid","marker-start","mask","opacity","overflow","paint-order","pointer-events","shape-rendering","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","text-anchor","text-decoration","text-overflow","text-rendering","transform","transform-origin","unicode-bidi","vector-effect","visibility","word-spacing","writing-mode"],xlink:["xlink:href","xlink:show","xlink:actuate","xlink:type","xlink:role","xlink:arcrole","xlink:title"],documentEvent:["onunload","onabort","onerror","onresize","onscroll","onzoom"],filterPrimitive:["x","y","width","height","result"],transferFunction:["type","tableValues","slope","intercept","amplitude","exponent","offset"]};exports.attrsGroupsDefaults={core:{"xml:space":"default"},presentation:{clip:"auto","clip-path":"none","clip-rule":"nonzero",mask:"none",opacity:"1","stop-color":"#000","stop-opacity":"1","fill-opacity":"1","fill-rule":"nonzero",fill:"#000",stroke:"none","stroke-width":"1","stroke-linecap":"butt","stroke-linejoin":"miter","stroke-miterlimit":"4","stroke-dasharray":"none","stroke-dashoffset":"0","stroke-opacity":"1","paint-order":"normal","vector-effect":"none",display:"inline",visibility:"visible","marker-start":"none","marker-mid":"none","marker-end":"none","color-interpolation":"sRGB","color-interpolation-filters":"linearRGB","color-rendering":"auto","shape-rendering":"auto","text-rendering":"auto","image-rendering":"auto","font-style":"normal","font-variant":"normal","font-weight":"normal","font-stretch":"normal","font-size":"medium","font-size-adjust":"none",kerning:"auto","letter-spacing":"normal","word-spacing":"normal","text-decoration":"none","text-anchor":"start","text-overflow":"clip","writing-mode":"lr-tb","glyph-orientation-vertical":"auto","glyph-orientation-horizontal":"0deg",direction:"ltr","unicode-bidi":"normal","dominant-baseline":"auto","alignment-baseline":"baseline","baseline-shift":"baseline"},transferFunction:{slope:"1",intercept:"0",amplitude:"1",exponent:"1",offset:"0"}};exports.elems={a:{attrsGroups:["conditionalProcessing","core","graphicalEvent","presentation","xlink"],attrs:["class","style","externalResourcesRequired","transform","target"],defaults:{target:"_self"},contentGroups:["animation","descriptive","shape","structural","paintServer"],content:["a","altGlyphDef","clipPath","color-profile","cursor","filter","font","font-face","foreignObject","image","marker","mask","pattern","script","style","switch","text","view","tspan"]},altGlyph:{attrsGroups:["conditionalProcessing","core","graphicalEvent","presentation","xlink"],attrs:["class","style","externalResourcesRequired","x","y","dx","dy","glyphRef","format","rotate"]},altGlyphDef:{attrsGroups:["core"],content:["glyphRef"]},altGlyphItem:{attrsGroups:["core"],content:["glyphRef","altGlyphItem"]},animate:{attrsGroups:["conditionalProcessing","core","animationAddition","animationAttributeTarget","animationEvent","animationTiming","animationValue","presentation","xlink"],attrs:["externalResourcesRequired"],contentGroups:["descriptive"]},animateColor:{attrsGroups:["conditionalProcessing","core","animationEvent","xlink","animationAttributeTarget","animationTiming","animationValue","animationAddition","presentation"],attrs:["externalResourcesRequired"],contentGroups:["descriptive"]},animateMotion:{attrsGroups:["conditionalProcessing","core","animationEvent","xlink","animationTiming","animationValue","animationAddition"],attrs:["externalResourcesRequired","path","keyPoints","rotate","origin"],defaults:{rotate:"0"},contentGroups:["descriptive"],content:["mpath"]},animateTransform:{attrsGroups:["conditionalProcessing","core","animationEvent","xlink","animationAttributeTarget","animationTiming","animationValue","animationAddition"],attrs:["externalResourcesRequired","type"],contentGroups:["descriptive"]},circle:{attrsGroups:["conditionalProcessing","core","graphicalEvent","presentation"],attrs:["class","style","externalResourcesRequired","transform","cx","cy","r"],defaults:{cx:"0",cy:"0"},contentGroups:["animation","descriptive"]},clipPath:{attrsGroups:["conditionalProcessing","core","presentation"],attrs:["class","style","externalResourcesRequired","transform","clipPathUnits"],defaults:{clipPathUnits:"userSpaceOnUse"},contentGroups:["animation","descriptive","shape"],content:["text","use"]},"color-profile":{attrsGroups:["core","xlink"],attrs:["local","name","rendering-intent"],defaults:{name:"sRGB","rendering-intent":"auto"},contentGroups:["descriptive"]},cursor:{attrsGroups:["core","conditionalProcessing","xlink"],attrs:["externalResourcesRequired","x","y"],defaults:{x:"0",y:"0"},contentGroups:["descriptive"]},defs:{attrsGroups:["conditionalProcessing","core","graphicalEvent","presentation"],attrs:["class","style","externalResourcesRequired","transform"],contentGroups:["animation","descriptive","shape","structural","paintServer"],content:["a","altGlyphDef","clipPath","color-profile","cursor","filter","font","font-face","foreignObject","image","marker","mask","pattern","script","style","switch","text","view"]},desc:{attrsGroups:["core"],attrs:["class","style"]},ellipse:{attrsGroups:["conditionalProcessing","core","graphicalEvent","presentation"],attrs:["class","style","externalResourcesRequired","transform","cx","cy","rx","ry"],defaults:{cx:"0",cy:"0"},contentGroups:["animation","descriptive"]},feBlend:{attrsGroups:["core","presentation","filterPrimitive"],attrs:["class","style","in","in2","mode"],defaults:{mode:"normal"},content:["animate","set"]},feColorMatrix:{attrsGroups:["core","presentation","filterPrimitive"],attrs:["class","style","in","type","values"],defaults:{type:"matrix"},content:["animate","set"]},feComponentTransfer:{attrsGroups:["core","presentation","filterPrimitive"],attrs:["class","style","in"],content:["feFuncA","feFuncB","feFuncG","feFuncR"]},feComposite:{attrsGroups:["core","presentation","filterPrimitive"],attrs:["class","style","in","in2","operator","k1","k2","k3","k4"],defaults:{operator:"over",k1:"0",k2:"0",k3:"0",k4:"0"},content:["animate","set"]},feConvolveMatrix:{attrsGroups:["core","presentation","filterPrimitive"],attrs:["class","style","in","order","kernelMatrix","divisor","bias","targetX","targetY","edgeMode","kernelUnitLength","preserveAlpha"],defaults:{order:"3",bias:"0",edgeMode:"duplicate",preserveAlpha:"false"},content:["animate","set"]},feDiffuseLighting:{attrsGroups:["core","presentation","filterPrimitive"],attrs:["class","style","in","surfaceScale","diffuseConstant","kernelUnitLength"],defaults:{surfaceScale:"1",diffuseConstant:"1"},contentGroups:["descriptive"],content:["feDistantLight","fePointLight","feSpotLight"]},feDisplacementMap:{attrsGroups:["core","presentation","filterPrimitive"],attrs:["class","style","in","in2","scale","xChannelSelector","yChannelSelector"],defaults:{scale:"0",xChannelSelector:"A",yChannelSelector:"A"},content:["animate","set"]},feDistantLight:{attrsGroups:["core"],attrs:["azimuth","elevation"],defaults:{azimuth:"0",elevation:"0"},content:["animate","set"]},feFlood:{attrsGroups:["core","presentation","filterPrimitive"],attrs:["class","style"],content:["animate","animateColor","set"]},feFuncA:{attrsGroups:["core","transferFunction"],content:["set","animate"]},feFuncB:{attrsGroups:["core","transferFunction"],content:["set","animate"]},feFuncG:{attrsGroups:["core","transferFunction"],content:["set","animate"]},feFuncR:{attrsGroups:["core","transferFunction"],content:["set","animate"]},feGaussianBlur:{attrsGroups:["core","presentation","filterPrimitive"],attrs:["class","style","in","stdDeviation"],defaults:{stdDeviation:"0"},content:["set","animate"]},feImage:{attrsGroups:["core","presentation","filterPrimitive","xlink"],attrs:["class","style","externalResourcesRequired","preserveAspectRatio","href","xlink:href"],defaults:{preserveAspectRatio:"xMidYMid meet"},content:["animate","animateTransform","set"]},feMerge:{attrsGroups:["core","presentation","filterPrimitive"],attrs:["class","style"],content:["feMergeNode"]},feMergeNode:{attrsGroups:["core"],attrs:["in"],content:["animate","set"]},feMorphology:{attrsGroups:["core","presentation","filterPrimitive"],attrs:["class","style","in","operator","radius"],defaults:{operator:"erode",radius:"0"},content:["animate","set"]},feOffset:{attrsGroups:["core","presentation","filterPrimitive"],attrs:["class","style","in","dx","dy"],defaults:{dx:"0",dy:"0"},content:["animate","set"]},fePointLight:{attrsGroups:["core"],attrs:["x","y","z"],defaults:{x:"0",y:"0",z:"0"},content:["animate","set"]},feSpecularLighting:{attrsGroups:["core","presentation","filterPrimitive"],attrs:["class","style","in","surfaceScale","specularConstant","specularExponent","kernelUnitLength"],defaults:{surfaceScale:"1",specularConstant:"1",specularExponent:"1"},contentGroups:["descriptive","lightSource"]},feSpotLight:{attrsGroups:["core"],attrs:["x","y","z","pointsAtX","pointsAtY","pointsAtZ","specularExponent","limitingConeAngle"],defaults:{x:"0",y:"0",z:"0",pointsAtX:"0",pointsAtY:"0",pointsAtZ:"0",specularExponent:"1"},content:["animate","set"]},feTile:{attrsGroups:["core","presentation","filterPrimitive"],attrs:["class","style","in"],content:["animate","set"]},feTurbulence:{attrsGroups:["core","presentation","filterPrimitive"],attrs:["class","style","baseFrequency","numOctaves","seed","stitchTiles","type"],defaults:{baseFrequency:"0",numOctaves:"1",seed:"0",stitchTiles:"noStitch",type:"turbulence"},content:["animate","set"]},filter:{attrsGroups:["core","presentation","xlink"],attrs:["class","style","externalResourcesRequired","x","y","width","height","filterRes","filterUnits","primitiveUnits","href","xlink:href"],defaults:{primitiveUnits:"userSpaceOnUse",x:"-10%",y:"-10%",width:"120%",height:"120%"},contentGroups:["descriptive","filterPrimitive"],content:["animate","set"]},font:{attrsGroups:["core","presentation"],attrs:["class","style","externalResourcesRequired","horiz-origin-x","horiz-origin-y","horiz-adv-x","vert-origin-x","vert-origin-y","vert-adv-y"],defaults:{"horiz-origin-x":"0","horiz-origin-y":"0"},contentGroups:["descriptive"],content:["font-face","glyph","hkern","missing-glyph","vkern"]},"font-face":{attrsGroups:["core"],attrs:["font-family","font-style","font-variant","font-weight","font-stretch","font-size","unicode-range","units-per-em","panose-1","stemv","stemh","slope","cap-height","x-height","accent-height","ascent","descent","widths","bbox","ideographic","alphabetic","mathematical","hanging","v-ideographic","v-alphabetic","v-mathematical","v-hanging","underline-position","underline-thickness","strikethrough-position","strikethrough-thickness","overline-position","overline-thickness"],defaults:{"font-style":"all","font-variant":"normal","font-weight":"all","font-stretch":"normal","unicode-range":"U+0-10FFFF","units-per-em":"1000","panose-1":"0 0 0 0 0 0 0 0 0 0",slope:"0"},contentGroups:["descriptive"],content:["font-face-src"]},"font-face-format":{attrsGroups:["core"],attrs:["string"]},"font-face-name":{attrsGroups:["core"],attrs:["name"]},"font-face-src":{attrsGroups:["core"],content:["font-face-name","font-face-uri"]},"font-face-uri":{attrsGroups:["core","xlink"],attrs:["href","xlink:href"],content:["font-face-format"]},foreignObject:{attrsGroups:["core","conditionalProcessing","graphicalEvent","presentation"],attrs:["class","style","externalResourcesRequired","transform","x","y","width","height"],defaults:{x:"0",y:"0"}},g:{attrsGroups:["conditionalProcessing","core","graphicalEvent","presentation"],attrs:["class","style","externalResourcesRequired","transform"],contentGroups:["animation","descriptive","shape","structural","paintServer"],content:["a","altGlyphDef","clipPath","color-profile","cursor","filter","font","font-face","foreignObject","image","marker","mask","pattern","script","style","switch","text","view"]},glyph:{attrsGroups:["core","presentation"],attrs:["class","style","d","horiz-adv-x","vert-origin-x","vert-origin-y","vert-adv-y","unicode","glyph-name","orientation","arabic-form","lang"],defaults:{"arabic-form":"initial"},contentGroups:["animation","descriptive","shape","structural","paintServer"],content:["a","altGlyphDef","clipPath","color-profile","cursor","filter","font","font-face","foreignObject","image","marker","mask","pattern","script","style","switch","text","view"]},glyphRef:{attrsGroups:["core","presentation"],attrs:["class","style","d","horiz-adv-x","vert-origin-x","vert-origin-y","vert-adv-y"],contentGroups:["animation","descriptive","shape","structural","paintServer"],content:["a","altGlyphDef","clipPath","color-profile","cursor","filter","font","font-face","foreignObject","image","marker","mask","pattern","script","style","switch","text","view"]},hatch:{attrsGroups:["core","presentation","xlink"],attrs:["class","style","x","y","pitch","rotate","hatchUnits","hatchContentUnits","transform"],defaults:{hatchUnits:"objectBoundingBox",hatchContentUnits:"userSpaceOnUse",x:"0",y:"0",pitch:"0",rotate:"0"},contentGroups:["animation","descriptive"],content:["hatchPath"]},hatchPath:{attrsGroups:["core","presentation","xlink"],attrs:["class","style","d","offset"],defaults:{offset:"0"},contentGroups:["animation","descriptive"]},hkern:{attrsGroups:["core"],attrs:["u1","g1","u2","g2","k"]},image:{attrsGroups:["core","conditionalProcessing","graphicalEvent","xlink","presentation"],attrs:["class","style","externalResourcesRequired","preserveAspectRatio","transform","x","y","width","height","href","xlink:href"],defaults:{x:"0",y:"0",preserveAspectRatio:"xMidYMid meet"},contentGroups:["animation","descriptive"]},line:{attrsGroups:["conditionalProcessing","core","graphicalEvent","presentation"],attrs:["class","style","externalResourcesRequired","transform","x1","y1","x2","y2"],defaults:{x1:"0",y1:"0",x2:"0",y2:"0"},contentGroups:["animation","descriptive"]},linearGradient:{attrsGroups:["core","presentation","xlink"],attrs:["class","style","externalResourcesRequired","x1","y1","x2","y2","gradientUnits","gradientTransform","spreadMethod","href","xlink:href"],defaults:{x1:"0",y1:"0",x2:"100%",y2:"0",spreadMethod:"pad"},contentGroups:["descriptive"],content:["animate","animateTransform","set","stop"]},marker:{attrsGroups:["core","presentation"],attrs:["class","style","externalResourcesRequired","viewBox","preserveAspectRatio","refX","refY","markerUnits","markerWidth","markerHeight","orient"],defaults:{markerUnits:"strokeWidth",refX:"0",refY:"0",markerWidth:"3",markerHeight:"3"},contentGroups:["animation","descriptive","shape","structural","paintServer"],content:["a","altGlyphDef","clipPath","color-profile","cursor","filter","font","font-face","foreignObject","image","marker","mask","pattern","script","style","switch","text","view"]},mask:{attrsGroups:["conditionalProcessing","core","presentation"],attrs:["class","style","externalResourcesRequired","x","y","width","height","mask-type","maskUnits","maskContentUnits"],defaults:{maskUnits:"objectBoundingBox",maskContentUnits:"userSpaceOnUse",x:"-10%",y:"-10%",width:"120%",height:"120%"},contentGroups:["animation","descriptive","shape","structural","paintServer"],content:["a","altGlyphDef","clipPath","color-profile","cursor","filter","font","font-face","foreignObject","image","marker","mask","pattern","script","style","switch","text","view"]},metadata:{attrsGroups:["core"]},"missing-glyph":{attrsGroups:["core","presentation"],attrs:["class","style","d","horiz-adv-x","vert-origin-x","vert-origin-y","vert-adv-y"],contentGroups:["animation","descriptive","shape","structural","paintServer"],content:["a","altGlyphDef","clipPath","color-profile","cursor","filter","font","font-face","foreignObject","image","marker","mask","pattern","script","style","switch","text","view"]},mpath:{attrsGroups:["core","xlink"],attrs:["externalResourcesRequired","href","xlink:href"],contentGroups:["descriptive"]},path:{attrsGroups:["conditionalProcessing","core","graphicalEvent","presentation"],attrs:["class","style","externalResourcesRequired","transform","d","pathLength"],contentGroups:["animation","descriptive"]},pattern:{attrsGroups:["conditionalProcessing","core","presentation","xlink"],attrs:["class","style","externalResourcesRequired","viewBox","preserveAspectRatio","x","y","width","height","patternUnits","patternContentUnits","patternTransform","href","xlink:href"],defaults:{patternUnits:"objectBoundingBox",patternContentUnits:"userSpaceOnUse",x:"0",y:"0",width:"0",height:"0",preserveAspectRatio:"xMidYMid meet"},contentGroups:["animation","descriptive","paintServer","shape","structural"],content:["a","altGlyphDef","clipPath","color-profile","cursor","filter","font","font-face","foreignObject","image","marker","mask","pattern","script","style","switch","text","view"]},polygon:{attrsGroups:["conditionalProcessing","core","graphicalEvent","presentation"],attrs:["class","style","externalResourcesRequired","transform","points"],contentGroups:["animation","descriptive"]},polyline:{attrsGroups:["conditionalProcessing","core","graphicalEvent","presentation"],attrs:["class","style","externalResourcesRequired","transform","points"],contentGroups:["animation","descriptive"]},radialGradient:{attrsGroups:["core","presentation","xlink"],attrs:["class","style","externalResourcesRequired","cx","cy","r","fx","fy","fr","gradientUnits","gradientTransform","spreadMethod","href","xlink:href"],defaults:{gradientUnits:"objectBoundingBox",cx:"50%",cy:"50%",r:"50%"},contentGroups:["descriptive"],content:["animate","animateTransform","set","stop"]},meshGradient:{attrsGroups:["core","presentation","xlink"],attrs:["class","style","x","y","gradientUnits","transform"],contentGroups:["descriptive","paintServer","animation"],content:["meshRow"]},meshRow:{attrsGroups:["core","presentation"],attrs:["class","style"],contentGroups:["descriptive"],content:["meshPatch"]},meshPatch:{attrsGroups:["core","presentation"],attrs:["class","style"],contentGroups:["descriptive"],content:["stop"]},rect:{attrsGroups:["conditionalProcessing","core","graphicalEvent","presentation"],attrs:["class","style","externalResourcesRequired","transform","x","y","width","height","rx","ry"],defaults:{x:"0",y:"0"},contentGroups:["animation","descriptive"]},script:{attrsGroups:["core","xlink"],attrs:["externalResourcesRequired","type","href","xlink:href"]},set:{attrsGroups:["conditionalProcessing","core","animation","xlink","animationAttributeTarget","animationTiming"],attrs:["externalResourcesRequired","to"],contentGroups:["descriptive"]},solidColor:{attrsGroups:["core","presentation"],attrs:["class","style"],contentGroups:["paintServer"]},stop:{attrsGroups:["core","presentation"],attrs:["class","style","offset","path"],content:["animate","animateColor","set"]},style:{attrsGroups:["core"],attrs:["type","media","title"],defaults:{type:"text/css"}},svg:{attrsGroups:["conditionalProcessing","core","documentEvent","graphicalEvent","presentation"],attrs:["class","style","x","y","width","height","viewBox","preserveAspectRatio","zoomAndPan","version","baseProfile","contentScriptType","contentStyleType"],defaults:{x:"0",y:"0",width:"100%",height:"100%",preserveAspectRatio:"xMidYMid meet",zoomAndPan:"magnify",version:"1.1",baseProfile:"none",contentScriptType:"application/ecmascript",contentStyleType:"text/css"},contentGroups:["animation","descriptive","shape","structural","paintServer"],content:["a","altGlyphDef","clipPath","color-profile","cursor","filter","font","font-face","foreignObject","image","marker","mask","pattern","script","style","switch","text","view"]},switch:{attrsGroups:["conditionalProcessing","core","graphicalEvent","presentation"],attrs:["class","style","externalResourcesRequired","transform"],contentGroups:["animation","descriptive","shape"],content:["a","foreignObject","g","image","svg","switch","text","use"]},symbol:{attrsGroups:["core","graphicalEvent","presentation"],attrs:["class","style","externalResourcesRequired","preserveAspectRatio","viewBox","refX","refY"],defaults:{refX:"0",refY:"0"},contentGroups:["animation","descriptive","shape","structural","paintServer"],content:["a","altGlyphDef","clipPath","color-profile","cursor","filter","font","font-face","foreignObject","image","marker","mask","pattern","script","style","switch","text","view"]},text:{attrsGroups:["conditionalProcessing","core","graphicalEvent","presentation"],attrs:["class","style","externalResourcesRequired","transform","lengthAdjust","x","y","dx","dy","rotate","textLength"],defaults:{x:"0",y:"0",lengthAdjust:"spacing"},contentGroups:["animation","descriptive","textContentChild"],content:["a"]},textPath:{attrsGroups:["conditionalProcessing","core","graphicalEvent","presentation","xlink"],attrs:["class","style","externalResourcesRequired","href","xlink:href","startOffset","method","spacing","d"],defaults:{startOffset:"0",method:"align",spacing:"exact"},contentGroups:["descriptive"],content:["a","altGlyph","animate","animateColor","set","tref","tspan"]},title:{attrsGroups:["core"],attrs:["class","style"]},tref:{attrsGroups:["conditionalProcessing","core","graphicalEvent","presentation","xlink"],attrs:["class","style","externalResourcesRequired","href","xlink:href"],contentGroups:["descriptive"],content:["animate","animateColor","set"]},tspan:{attrsGroups:["conditionalProcessing","core","graphicalEvent","presentation"],attrs:["class","style","externalResourcesRequired","x","y","dx","dy","rotate","textLength","lengthAdjust"],contentGroups:["descriptive"],content:["a","altGlyph","animate","animateColor","set","tref","tspan"]},use:{attrsGroups:["core","conditionalProcessing","graphicalEvent","presentation","xlink"],attrs:["class","style","externalResourcesRequired","transform","x","y","width","height","href","xlink:href"],defaults:{x:"0",y:"0"},contentGroups:["animation","descriptive"]},view:{attrsGroups:["core"],attrs:["externalResourcesRequired","viewBox","preserveAspectRatio","zoomAndPan","viewTarget"],contentGroups:["descriptive"]},vkern:{attrsGroups:["core"],attrs:["u1","g1","u2","g2","k"]}};exports.editorNamespaces=["http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd","http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd","http://www.inkscape.org/namespaces/inkscape","http://www.bohemiancoding.com/sketch/ns","http://ns.adobe.com/AdobeIllustrator/10.0/","http://ns.adobe.com/Graphs/1.0/","http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/","http://ns.adobe.com/Variables/1.0/","http://ns.adobe.com/SaveForWeb/1.0/","http://ns.adobe.com/Extensibility/1.0/","http://ns.adobe.com/Flows/1.0/","http://ns.adobe.com/ImageReplacement/1.0/","http://ns.adobe.com/GenericCustomNamespace/1.0/","http://ns.adobe.com/XPath/1.0/","http://schemas.microsoft.com/visio/2003/SVGExtensions/","http://taptrix.com/vectorillustrator/svg_extensions","http://www.figma.com/figma/ns","http://purl.org/dc/elements/1.1/","http://creativecommons.org/ns#","http://www.w3.org/1999/02/22-rdf-syntax-ns#","http://www.serif.com/","http://www.vector.evaxdesign.sk"];exports.referencesProps=["clip-path","color-profile","fill","filter","marker-start","marker-mid","marker-end","mask","stroke","style"];exports.inheritableAttrs=["clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cursor","direction","dominant-baseline","fill","fill-opacity","fill-rule","font","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","glyph-orientation-horizontal","glyph-orientation-vertical","image-rendering","letter-spacing","marker","marker-end","marker-mid","marker-start","paint-order","pointer-events","shape-rendering","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","text-anchor","text-rendering","transform","visibility","word-spacing","writing-mode"];exports.presentationNonInheritableGroupAttrs=["display","clip-path","filter","mask","opacity","text-decoration","transform","unicode-bidi"];exports.colorsNames={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#0ff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000",blanchedalmond:"#ffebcd",blue:"#00f",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#0ff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",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:"#f0f",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",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",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#789",lightslategrey:"#789",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#0f0",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#f0f",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",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:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#639",red:"#f00",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:"#fff",whitesmoke:"#f5f5f5",yellow:"#ff0",yellowgreen:"#9acd32"};exports.colorsShortNames={"#f0ffff":"azure","#f5f5dc":"beige","#ffe4c4":"bisque","#a52a2a":"brown","#ff7f50":"coral","#ffd700":"gold","#808080":"gray","#008000":"green","#4b0082":"indigo","#fffff0":"ivory","#f0e68c":"khaki","#faf0e6":"linen","#800000":"maroon","#000080":"navy","#808000":"olive","#ffa500":"orange","#da70d6":"orchid","#cd853f":"peru","#ffc0cb":"pink","#dda0dd":"plum","#800080":"purple","#f00":"red","#ff0000":"red","#fa8072":"salmon","#a0522d":"sienna","#c0c0c0":"silver","#fffafa":"snow","#d2b48c":"tan","#008080":"teal","#ff6347":"tomato","#ee82ee":"violet","#f5deb3":"wheat"};exports.colorsProps=["color","fill","stroke","stop-color","flood-color","lighting-color"]})(_collections);const SAX=sax;const{textElems:textElems$1}=_collections;class SvgoParserError extends Error{constructor(message,line,column,source,file){super(message);this.name="SvgoParserError";this.message=`${file||"<input>"}:${line}:${column}: ${message}`;this.reason=message;this.line=line;this.column=column;this.source=source;if(Error.captureStackTrace){Error.captureStackTrace(this,SvgoParserError)}}toString(){const lines=this.source.split(/\r?\n/);const startLine=Math.max(this.line-3,0);const endLine=Math.min(this.line+2,lines.length);const lineNumberWidth=String(endLine).length;const startColumn=Math.max(this.column-54,0);const endColumn=Math.max(this.column+20,80);const code=lines.slice(startLine,endLine).map(((line,index)=>{const lineSlice=line.slice(startColumn,endColumn);let ellipsisPrefix="";let ellipsisSuffix="";if(startColumn!==0){ellipsisPrefix=startColumn>line.length-1?" ":"…"}if(endColumn<line.length-1){ellipsisSuffix="…"}const number=startLine+1+index;const gutter=` ${number.toString().padStart(lineNumberWidth)} | `;if(number===this.line){const gutterSpacing=gutter.replace(/[^|]/g," ");const lineSpacing=(ellipsisPrefix+line.slice(startColumn,this.column-1)).replace(/[^\t]/g," ");const spacing=gutterSpacing+lineSpacing;return`>${gutter}${ellipsisPrefix}${lineSlice}${ellipsisSuffix}\n ${spacing}^`}return` ${gutter}${ellipsisPrefix}${lineSlice}${ellipsisSuffix}`})).join("\n");return`${this.name}: ${this.message}\n\n${code}\n`}}const entityDeclaration=/<!ENTITY\s+(\S+)\s+(?:'([^']+)'|"([^"]+)")\s*>/g;const config$2={strict:true,trim:false,normalize:false,lowercase:true,xmlns:true,position:true};const parseSvg$1=(data,from)=>{const sax=SAX.parser(config$2.strict,config$2);const root={type:"root",children:[]};let current=root;const stack=[root];const pushToContent=node=>{Object.defineProperty(node,"parentNode",{writable:true,value:current});current.children.push(node)};sax.ondoctype=doctype=>{const node={type:"doctype",name:"svg",data:{doctype:doctype}};pushToContent(node);const subsetStart=doctype.indexOf("[");if(subsetStart>=0){entityDeclaration.lastIndex=subsetStart;let entityMatch=entityDeclaration.exec(data);while(entityMatch!=null){sax.ENTITIES[entityMatch[1]]=entityMatch[2]||entityMatch[3];entityMatch=entityDeclaration.exec(data)}}};sax.onprocessinginstruction=data=>{const node={type:"instruction",name:data.name,value:data.body};pushToContent(node)};sax.oncomment=comment=>{const node={type:"comment",value:comment.trim()};pushToContent(node)};sax.oncdata=cdata=>{const node={type:"cdata",value:cdata};pushToContent(node)};sax.onopentag=data=>{let element={type:"element",name:data.name,attributes:{},children:[]};for(const[name,attr]of Object.entries(data.attributes)){element.attributes[name]=attr.value}pushToContent(element);current=element;stack.push(element)};sax.ontext=text=>{if(current.type==="element"){if(textElems$1.includes(current.name)){const node={type:"text",value:text};pushToContent(node)}else if(/\S/.test(text)){const node={type:"text",value:text.trim()};pushToContent(node)}}};sax.onclosetag=()=>{stack.pop();current=stack[stack.length-1]};sax.onerror=e=>{const error=new SvgoParserError(e.reason,e.line+1,e.column,data,from);if(e.message.indexOf("Unexpected end")===-1){throw error}};sax.write(data).close();return root};parser$2.parseSvg=parseSvg$1;var stringifier={};const{textElems:textElems}=_collections;const encodeEntity=char=>entities[char];const defaults={doctypeStart:"<!DOCTYPE",doctypeEnd:">",procInstStart:"<?",procInstEnd:"?>",tagOpenStart:"<",tagOpenEnd:">",tagCloseStart:"</",tagCloseEnd:">",tagShortStart:"<",tagShortEnd:"/>",attrStart:'="',attrEnd:'"',commentStart:"\x3c!--",commentEnd:"--\x3e",cdataStart:"<![CDATA[",cdataEnd:"]]>",textStart:"",textEnd:"",indent:4,regEntities:/[&'"<>]/g,regValEntities:/[&"<>]/g,encodeEntity:encodeEntity,pretty:false,useShortTags:true,eol:"lf",finalNewline:false};const entities={"&":"&","'":"'",'"':""",">":">","<":"<"};const stringifySvg$1=(data,userOptions={})=>{const config={...defaults,...userOptions};const indent=config.indent;let newIndent=" ";if(typeof indent==="number"&&Number.isNaN(indent)===false){newIndent=indent<0?"\t":" ".repeat(indent)}else if(typeof indent==="string"){newIndent=indent}const state={indent:newIndent,textContext:null,indentLevel:0};const eol=config.eol==="crlf"?"\r\n":"\n";if(config.pretty){config.doctypeEnd+=eol;config.procInstEnd+=eol;config.commentEnd+=eol;config.cdataEnd+=eol;config.tagShortEnd+=eol;config.tagOpenEnd+=eol;config.tagCloseEnd+=eol;config.textEnd+=eol}let svg=stringifyNode(data,config,state);if(config.finalNewline&&svg.length>0&&svg[svg.length-1]!=="\n"){svg+=eol}return svg};stringifier.stringifySvg=stringifySvg$1;const stringifyNode=(data,config,state)=>{let svg="";state.indentLevel+=1;for(const item of data.children){if(item.type==="element"){svg+=stringifyElement(item,config,state)}if(item.type==="text"){svg+=stringifyText(item,config,state)}if(item.type==="doctype"){svg+=stringifyDoctype(item,config)}if(item.type==="instruction"){svg+=stringifyInstruction(item,config)}if(item.type==="comment"){svg+=stringifyComment(item,config)}if(item.type==="cdata"){svg+=stringifyCdata(item,config,state)}}state.indentLevel-=1;return svg};const createIndent=(config,state)=>{let indent="";if(config.pretty&&state.textContext==null){indent=state.indent.repeat(state.indentLevel-1)}return indent};const stringifyDoctype=(node,config)=>config.doctypeStart+node.data.doctype+config.doctypeEnd;const stringifyInstruction=(node,config)=>config.procInstStart+node.name+" "+node.value+config.procInstEnd;const stringifyComment=(node,config)=>config.commentStart+node.value+config.commentEnd;const stringifyCdata=(node,config,state)=>createIndent(config,state)+config.cdataStart+node.value+config.cdataEnd;const stringifyElement=(node,config,state)=>{if(node.children.length===0){if(config.useShortTags){return createIndent(config,state)+config.tagShortStart+node.name+stringifyAttributes(node,config)+config.tagShortEnd}else{return createIndent(config,state)+config.tagShortStart+node.name+stringifyAttributes(node,config)+config.tagOpenEnd+config.tagCloseStart+node.name+config.tagCloseEnd}}else{let tagOpenStart=config.tagOpenStart;let tagOpenEnd=config.tagOpenEnd;let tagCloseStart=config.tagCloseStart;let tagCloseEnd=config.tagCloseEnd;let openIndent=createIndent(config,state);let closeIndent=createIndent(config,state);if(state.textContext){tagOpenStart=defaults.tagOpenStart;tagOpenEnd=defaults.tagOpenEnd;tagCloseStart=defaults.tagCloseStart;tagCloseEnd=defaults.tagCloseEnd;openIndent=""}else if(textElems.includes(node.name)){tagOpenEnd=defaults.tagOpenEnd;tagCloseStart=defaults.tagCloseStart;closeIndent="";state.textContext=node}const children=stringifyNode(node,config,state);if(state.textContext===node){state.textContext=null}return openIndent+tagOpenStart+node.name+stringifyAttributes(node,config)+tagOpenEnd+children+closeIndent+tagCloseStart+node.name+tagCloseEnd}};const stringifyAttributes=(node,config)=>{let attrs="";for(const[name,value]of Object.entries(node.attributes)){if(value!==undefined){const encodedValue=value.toString().replace(config.regValEntities,config.encodeEntity);attrs+=" "+name+config.attrStart+encodedValue+config.attrEnd}else{attrs+=" "+name}}return attrs};const stringifyText=(node,config,state)=>createIndent(config,state)+config.textStart+node.value.replace(config.regEntities,config.encodeEntity)+(state.textContext?"":config.textEnd);var builtin$1={};var plugins={};var xast={};var lib$6={};var lib$5={};var stringify$1={};var lib$4={};var lib$3={};(function(exports){Object.defineProperty(exports,"__esModule",{value:true});exports.Doctype=exports.CDATA=exports.Tag=exports.Style=exports.Script=exports.Comment=exports.Directive=exports.Text=exports.Root=exports.isTag=exports.ElementType=void 0;var ElementType;(function(ElementType){ElementType["Root"]="root";ElementType["Text"]="text";ElementType["Directive"]="directive";ElementType["Comment"]="comment";ElementType["Script"]="script";ElementType["Style"]="style";ElementType["Tag"]="tag";ElementType["CDATA"]="cdata";ElementType["Doctype"]="doctype"})(ElementType=exports.ElementType||(exports.ElementType={}));function isTag(elem){return elem.type===ElementType.Tag||elem.type===ElementType.Script||elem.type===ElementType.Style}exports.isTag=isTag;exports.Root=ElementType.Root;exports.Text=ElementType.Text;exports.Directive=ElementType.Directive;exports.Comment=ElementType.Comment;exports.Script=ElementType.Script;exports.Style=ElementType.Style;exports.Tag=ElementType.Tag;exports.CDATA=ElementType.CDATA;exports.Doctype=ElementType.Doctype})(lib$3);var node$1={};var __extends=commonjsGlobal&&commonjsGlobal.__extends||function(){var extendStatics=function(d,b){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)if(Object.prototype.hasOwnProperty.call(b,p))d[p]=b[p]};return extendStatics(d,b)};return function(d,b){if(typeof b!=="function"&&b!==null)throw new TypeError("Class extends value "+String(b)+" is not a constructor or null");extendStatics(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)}}();var __assign$1=commonjsGlobal&&commonjsGlobal.__assign||function(){__assign$1=Object.assign||function(t){for(var s,i=1,n=arguments.length;i<n;i++){s=arguments[i];for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p))t[p]=s[p]}return t};return __assign$1.apply(this,arguments)};Object.defineProperty(node$1,"__esModule",{value:true});node$1.cloneNode=node$1.hasChildren=node$1.isDocument=node$1.isDirective=node$1.isComment=node$1.isText=node$1.isCDATA=node$1.isTag=node$1.Element=node$1.Document=node$1.CDATA=node$1.NodeWithChildren=node$1.ProcessingInstruction=node$1.Comment=node$1.Text=node$1.DataNode=node$1.Node=void 0;var domelementtype_1$1=lib$3;var Node=function(){function Node(){this.parent=null;this.prev=null;this.next=null;this.startIndex=null;this.endIndex=null}Object.defineProperty(Node.prototype,"parentNode",{get:function(){return this.parent},set:function(parent){this.parent=parent},enumerable:false,configurable:true});Object.defineProperty(Node.prototype,"previousSibling",{get:function(){return this.prev},set:function(prev){this.prev=prev},enumerable:false,configurable:true});Object.defineProperty(Node.prototype,"nextSibling",{get:function(){return this.next},set:function(next){this.next=next},enumerable:false,configurable:true});Node.prototype.cloneNode=function(recursive){if(recursive===void 0){recursive=false}return cloneNode(this,recursive)};return Node}();node$1.Node=Node;var DataNode=function(_super){__extends(DataNode,_super);function DataNode(data){var _this=_super.call(this)||this;_this.data=data;return _this}Object.defineProperty(DataNode.prototype,"nodeValue",{get:function(){return this.data},set:function(data){this.data=data},enumerable:false,configurable:true});return DataNode}(Node);node$1.DataNode=DataNode;var Text=function(_super){__extends(Text,_super);function Text(){var _this=_super!==null&&_super.apply(this,arguments)||this;_this.type=domelementtype_1$1.ElementType.Text;return _this}Object.defineProperty(Text.prototype,"nodeType",{get:function(){return 3},enumerable:false,configurable:true});return Text}(DataNode);node$1.Text=Text;var Comment$6=function(_super){__extends(Comment,_super);function Comment(){var _this=_super!==null&&_super.apply(this,arguments)||this;_this.type=domelementtype_1$1.ElementType.Comment;return _this}Object.defineProperty(Comment.prototype,"nodeType",{get:function(){return 8},enumerable:false,configurable:true});return Comment}(DataNode);node$1.Comment=Comment$6;var ProcessingInstruction=function(_super){__extends(ProcessingInstruction,_super);function ProcessingInstruction(name,data){var _this=_super.call(this,data)||this;_this.name=name;_this.type=domelementtype_1$1.ElementType.Directive;return _this}Object.defineProperty(ProcessingInstruction.prototype,"nodeType",{get:function(){return 1},enumerable:false,configurable:true});return ProcessingInstruction}(DataNode);node$1.ProcessingInstruction=ProcessingInstruction;var NodeWithChildren=function(_super){__extends(NodeWithChildren,_super);function NodeWithChildren(children){var _this=_super.call(this)||this;_this.children=children;return _this}Object.defineProperty(NodeWithChildren.prototype,"firstChild",{get:function(){var _a;return(_a=this.children[0])!==null&&_a!==void 0?_a:null},enumerable:false,configurable:true});Object.defineProperty(NodeWithChildren.prototype,"lastChild",{get:function(){return this.children.length>0?this.children[this.children.length-1]:null},enumerable:false,configurable:true});Object.defineProperty(NodeWithChildren.prototype,"childNodes",{get:function(){return this.children},set:function(children){this.children=children},enumerable:false,configurable:true});return NodeWithChildren}(Node);node$1.NodeWithChildren=NodeWithChildren;var CDATA=function(_super){__extends(CDATA,_super);function CDATA(){var _this=_super!==null&&_super.apply(this,arguments)||this;_this.type=domelementtype_1$1.ElementType.CDATA;return _this}Object.defineProperty(CDATA.prototype,"nodeType",{get:function(){return 4},enumerable:false,configurable:true});return CDATA}(NodeWithChildren);node$1.CDATA=CDATA;var Document=function(_super){__extends(Document,_super);function Document(){var _this=_super!==null&&_super.apply(this,arguments)||this;_this.type=domelementtype_1$1.ElementType.Root;return _this}Object.defineProperty(Document.prototype,"nodeType",{get:function(){return 9},enumerable:false,configurable:true});return Document}(NodeWithChildren);node$1.Document=Document;var Element=function(_super){__extends(Element,_super);function Element(name,attribs,children,type){if(children===void 0){children=[]}if(type===void 0){type=name==="script"?domelementtype_1$1.ElementType.Script:name==="style"?domelementtype_1$1.ElementType.Style:domelementtype_1$1.ElementType.Tag}var _this=_super.call(this,children)||this;_this.name=name;_this.attribs=attribs;_this.type=type;return _this}Object.defineProperty(Element.prototype,"nodeType",{get:function(){return 1},enumerable:false,configurable:true});Object.defineProperty(Element.prototype,"tagName",{get:function(){return this.name},set:function(name){this.name=name},enumerable:false,configurable:true});Object.defineProperty(Element.prototype,"attributes",{get:function(){var _this=this;return Object.keys(this.attribs).map((function(name){var _a,_b;return{name:name,value:_this.attribs[name],namespace:(_a=_this["x-attribsNamespace"])===null||_a===void 0?void 0:_a[name],prefix:(_b=_this["x-attribsPrefix"])===null||_b===void 0?void 0:_b[name]}}))},enumerable:false,configurable:true});return Element}(NodeWithChildren);node$1.Element=Element;function isTag$1(node){return(0,domelementtype_1$1.isTag)(node)}node$1.isTag=isTag$1;function isCDATA(node){return node.type===domelementtype_1$1.ElementType.CDATA}node$1.isCDATA=isCDATA;function isText(node){return node.type===domelementtype_1$1.ElementType.Text}node$1.isText=isText;function isComment(node){return node.type===domelementtype_1$1.ElementType.Comment}node$1.isComment=isComment;function isDirective(node){return node.type===domelementtype_1$1.ElementType.Directive}node$1.isDirective=isDirective;function isDocument(node){return node.type===domelementtype_1$1.ElementType.Root}node$1.isDocument=isDocument;function hasChildren(node){return Object.prototype.hasOwnProperty.call(node,"children")}node$1.hasChildren=hasChildren;function cloneNode(node,recursive){if(recursive===void 0){recursive=false}var result;if(isText(node)){result=new Text(node.data)}else if(isComment(node)){result=new Comment$6(node.data)}else if(isTag$1(node)){var children=recursive?cloneChildren(node.children):[];var clone_1=new Element(node.name,__assign$1({},node.attribs),children);children.forEach((function(child){return child.parent=clone_1}));if(node.namespace!=null){clone_1.namespace=node.namespace}if(node["x-attribsNamespace"]){clone_1["x-attribsNamespace"]=__assign$1({},node["x-attribsNamespace"])}if(node["x-attribsPrefix"]){clone_1["x-attribsPrefix"]=__assign$1({},node["x-attribsPrefix"])}result=clone_1}else if(isCDATA(node)){var children=recursive?cloneChildren(node.children):[];var clone_2=new CDATA(children);children.forEach((function(child){return child.parent=clone_2}));result=clone_2}else if(isDocument(node)){var children=recursive?cloneChildren(node.children):[];var clone_3=new Document(children);children.forEach((function(child){return child.parent=clone_3}));if(node["x-mode"]){clone_3["x-mode"]=node["x-mode"]}result=clone_3}else if(isDirective(node)){var instruction=new ProcessingInstruction(node.name,node.data);if(node["x-name"]!=null){instruction["x-name"]=node["x-name"];instruction["x-publicId"]=node["x-publicId"];instruction["x-systemId"]=node["x-systemId"]}result=instruction}else{throw new Error("Not implemented yet: ".concat(node.type))}result.startIndex=node.startIndex;result.endIndex=node.endIndex;if(node.sourceCodeLocation!=null){result.sourceCodeLocation=node.sourceCodeLocation}return result}node$1.cloneNode=cloneNode;function cloneChildren(childs){var children=childs.map((function(child){return cloneNode(child,true)}));for(var i=1;i<children.length;i++){children[i].prev=children[i-1];children[i-1].next=children[i]}return children}(function(exports){var __createBinding=commonjsGlobal&&commonjsGlobal.__createBinding||(Object.create?function(o,m,k,k2){if(k2===undefined)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable)){desc={enumerable:true,get:function(){return m[k]}}}Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===undefined)k2=k;o[k2]=m[k]});var __exportStar=commonjsGlobal&&commonjsGlobal.__exportStar||function(m,exports){for(var p in m)if(p!=="default"&&!Object.prototype.hasOwnProperty.call(exports,p))__createBinding(exports,m,p)};Object.defineProperty(exports,"__esModule",{value:true});exports.DomHandler=void 0;var domelementtype_1=lib$3;var node_js_1=node$1;__exportStar(node$1,exports);var defaultOpts={withStartIndices:false,withEndIndices:false,xmlMode:false};var DomHandler=function(){function DomHandler(callback,options,elementCB){this.dom=[];this.root=new node_js_1.Document(this.dom);this.done=false;this.tagStack=[this.root];this.lastNode=null;this.parser=null;if(typeof options==="function"){elementCB=options;options=defaultOpts}if(typeof callback==="object"){options=callback;callback=undefined}this.callback=callback!==null&&callback!==void 0?callback:null;this.options=options!==null&&options!==void 0?options:defaultOpts;this.elementCB=elementCB!==null&&elementCB!==void 0?elementCB:null}DomHandler.prototype.onparserinit=function(parser){this.parser=parser};DomHandler.prototype.onreset=function(){this.dom=[];this.root=new node_js_1.Document(this.dom);this.done=false;this.tagStack=[this.root];this.lastNode=null;this.parser=null};DomHandler.prototype.onend=function(){if(this.done)return;this.done=true;this.parser=null;this.handleCallback(null)};DomHandler.prototype.onerror=function(error){this.handleCallback(error)};DomHandler.prototype.onclosetag=function(){this.lastNode=null;var elem=this.tagStack.pop();if(this.options.withEndIndices){elem.endIndex=this.parser.endIndex}if(this.elementCB)this.elementCB(elem)};DomHandler.prototype.onopentag=function(name,attribs){var type=this.options.xmlMode?domelementtype_1.ElementType.Tag:undefined;var element=new node_js_1.Element(name,attribs,undefined,type);this.addNode(element);this.tagStack.push(element)};DomHandler.prototype.ontext=function(data){var lastNode=this.lastNode;if(lastNode&&lastNode.type===domelementtype_1.ElementType.Text){lastNode.data+=data;if(this.options.withEndIndices){lastNode.endIndex=this.parser.endIndex}}else{var node=new node_js_1.Text(data);this.addNode(node);this.lastNode=node}};DomHandler.prototype.oncomment=function(data){if(this.lastNode&&this.lastNode.type===domelementtype_1.ElementType.Comment){this.lastNode.data+=data;return}var node=new node_js_1.Comment(data);this.addNode(node);this.lastNode=node};DomHandler.prototype.oncommentend=function(){this.lastNode=null};DomHandler.prototype.oncdatastart=function(){var text=new node_js_1.Text("");var node=new node_js_1.CDATA([text]);this.addNode(node);text.parent=node;this.lastNode=text};DomHandler.prototype.oncdataend=function(){this.lastNode=null};DomHandler.prototype.onprocessinginstruction=function(name,data){var node=new node_js_1.ProcessingInstruction(name,data);this.addNode(node)};DomHandler.prototype.handleCallback=function(error){if(typeof this.callback==="function"){this.callback(error,this.dom)}else if(error){throw error}};DomHandler.prototype.addNode=function(node){var parent=this.tagStack[this.tagStack.length-1];var previousSibling=parent.children[parent.children.length-1];if(this.options.withStartIndices){node.startIndex=this.parser.startIndex}if(this.options.withEndIndices){node.endIndex=this.parser.endIndex}parent.children.push(node);if(previousSibling){node.prev=previousSibling;previousSibling.next=node}node.parent=parent;this.lastNode=null};return DomHandler}();exports.DomHandler=DomHandler;exports.default=DomHandler})(lib$4);var lib$2={};var lib$1={};var decode$3={};var decodeDataHtml={};Object.defineProperty(decodeDataHtml,"__esModule",{value:true});decodeDataHtml.default=new Uint16Array('ᵁ<Õıʊҝջאٵ۞ޢߖࠏઑඡ༉༦ረዡᐕᒝᓃᓟᔥ\0\0\0\0\0\0ᕫᛍᦍᰒᷝ↰⊍⏀⏻⑂⠤⤒ⴈ⹈⿎〖㊺㘹㞬㣾㨨㩱㫠㬮ࠀEMabcfglmnoprstu\\bfms¦³¹ÈÏlig耻Æ䃆P耻&䀦cute耻Á䃁reve;䄂Āiyx}rc耻Â䃂;䐐r;쀀𝔄rave耻À䃀pha;䎑acr;䄀d;橓Āgp¡on;䄄f;쀀𝔸plyFunction;恡ing耻Å䃅Ācs¾Ãr;쀀𝒜ign;扔ilde耻Ã䃃ml耻Ä䃄ЀaceforsuåûþėĜĢħĪĀcrêòkslash;或Ŷöø;櫧ed;挆y;䐑ƀcrtąċĔause;戵noullis;愬a;䎒r;쀀𝔅pf;쀀𝔹eve;䋘còēmpeq;扎܀HOacdefhilorsuōőŖƀƞƢƵƷƺǜȕɳɸɾcy;䐧PY耻©䂩ƀcpyŝŢźute;䄆Ā;iŧŨ拒talDifferentialD;慅leys;愭ȀaeioƉƎƔƘron;䄌dil耻Ç䃇rc;䄈nint;戰ot;䄊ĀdnƧƭilla;䂸terDot;䂷òſi;䎧rcleȀDMPTLJNjǑǖot;抙inus;抖lus;投imes;抗oĀcsǢǸkwiseContourIntegral;戲eCurlyĀDQȃȏoubleQuote;思uote;怙ȀlnpuȞȨɇɕonĀ;eȥȦ户;橴ƀgitȯȶȺruent;扡nt;戯ourIntegral;戮ĀfrɌɎ;愂oduct;成nterClockwiseContourIntegral;戳oss;樯cr;쀀𝒞pĀ;Cʄʅ拓ap;才րDJSZacefiosʠʬʰʴʸˋ˗ˡ˦̳ҍĀ;oŹʥtrahd;椑cy;䐂cy;䐅cy;䐏ƀgrsʿ˄ˇger;怡r;憡hv;櫤Āayː˕ron;䄎;䐔lĀ;t˝˞戇a;䎔r;쀀𝔇Āaf˫̧Ācm˰̢riticalȀADGT̖̜̀̆cute;䂴oŴ̋̍;䋙bleAcute;䋝rave;䁠ilde;䋜ond;拄ferentialD;慆Ѱ̽\0\0\0͔͂\0Ѕf;쀀𝔻ƀ;DE͈͉͍䂨ot;惜qual;扐blèCDLRUVͣͲϏϢϸontourIntegraìȹoɴ\0\0ͻ»͉nArrow;懓Āeo·ΤftƀARTΐΖΡrrow;懐ightArrow;懔eåˊngĀLRΫτeftĀARγιrrow;柸ightArrow;柺ightArrow;柹ightĀATϘϞrrow;懒ee;抨pɁϩ\0\0ϯrrow;懑ownArrow;懕erticalBar;戥ǹABLRTaВЪаўѿͼrrowƀ;BUНОТ憓ar;椓pArrow;懵reve;䌑eft˒к\0ц\0ѐightVector;楐eeVector;楞ectorĀ;Bљњ憽ar;楖ightǔѧ\0ѱeeVector;楟ectorĀ;BѺѻ懁ar;楗eeĀ;A҆҇护rrow;憧ĀctҒҗr;쀀𝒟rok;䄐ࠀNTacdfglmopqstuxҽӀӄӋӞӢӧӮӵԡԯԶՒ՝ՠեG;䅊H耻Ð䃐cute耻É䃉ƀaiyӒӗӜron;䄚rc耻Ê䃊;䐭ot;䄖r;쀀𝔈rave耻È䃈ement;戈ĀapӺӾcr;䄒tyɓԆ\0\0ԒmallSquare;旻erySmallSquare;斫ĀgpԦԪon;䄘f;쀀𝔼silon;䎕uĀaiԼՉlĀ;TՂՃ橵ilde;扂librium;懌Āci՚r;愰m;橳a;䎗ml耻Ë䃋Āipժկsts;戃onentialE;慇ʀcfiosօֈ֍ֲy;䐤r;쀀𝔉lledɓ֗\0\0֣mallSquare;旼erySmallSquare;斪Ͱֺ\0ֿ\0\0ׄf;쀀𝔽All;戀riertrf;愱còJTabcdfgorstרׯؒؖ؛؝أ٬ٲcy;䐃耻>䀾mmaĀ;d䎓;䏜reve;䄞ƀeiy؇،ؐdil;䄢rc;䄜;䐓ot;䄠r;쀀𝔊;拙pf;쀀𝔾eater̀EFGLSTصلَٖٛ٦qualĀ;Lؾؿ扥ess;招ullEqual;执reater;檢ess;扷lantEqual;橾ilde;扳cr;쀀𝒢;扫ЀAacfiosuڅڋږڛڞڪھۊRDcy;䐪Āctڐڔek;䋇;䁞irc;䄤r;愌lbertSpace;愋ǰگ\0ڲf;愍izontalLine;攀Āctۃۅòکrok;䄦mpńېۘownHumðįqual;扏܀EJOacdfgmnostuۺ۾܃܇ܚܞܡܨ݄ݸދޏޕcy;䐕lig;䄲cy;䐁cute耻Í䃍Āiyܓܘrc耻Î䃎;䐘ot;䄰r;愑rave耻Ì䃌ƀ;apܠܯܿĀcgܴܷr;䄪inaryI;慈lieóϝǴ݉\0ݢĀ;eݍݎ戬Āgrݓݘral;戫section;拂isibleĀCTݬݲomma;恣imes;恢ƀgptݿރވon;䄮f;쀀𝕀a;䎙cr;愐ilde;䄨ǫޚ\0ޞcy;䐆l耻Ï䃏ʀcfosuެ߂ߐĀiyޱrc;䄴;䐙r;쀀𝔍pf;쀀𝕁ǣ߇\0ߌr;쀀𝒥rcy;䐈kcy;䐄HJacfosߤߨ߽߬߱ࠂࠈcy;䐥cy;䐌ppa;䎚Āey߶dil;䄶;䐚r;쀀𝔎pf;쀀𝕂cr;쀀𝒦րJTaceflmostࠥࠩࠬࡐࡣসে্ੇcy;䐉耻<䀼ʀcmnpr࠷࠼ࡁࡄࡍute;䄹bda;䎛g;柪lacetrf;愒r;憞ƀaeyࡗࡡron;䄽dil;䄻;䐛Āfsࡨ॰tԀACDFRTUVarࡾࢩࢱࣦ࣠ࣼयज़ΐ४ĀnrࢃgleBracket;柨rowƀ;BR࢙࢚࢞憐ar;懤ightArrow;懆eiling;挈oǵࢷ\0ࣃbleBracket;柦nǔࣈ\0࣒eeVector;楡ectorĀ;Bࣛࣜ懃ar;楙loor;挊ightĀAV࣯ࣵrrow;憔ector;楎Āerँगeƀ;AVउऊऐ抣rrow;憤ector;楚iangleƀ;BEतथऩ抲ar;槏qual;抴pƀDTVषूौownVector;楑eeVector;楠ectorĀ;Bॖॗ憿ar;楘ectorĀ;B॥०憼ar;楒ightáΜs̀EFGLSTॾঋকঝঢভqualGreater;拚ullEqual;扦reater;扶ess;檡lantEqual;橽ilde;扲r;쀀𝔏Ā;eঽা拘ftarrow;懚idot;䄿ƀnpwਖਛgȀLRlr৷ਂਐeftĀAR০৬rrow;柵ightArrow;柷ightArrow;柶eftĀarγਊightáοightáϊf;쀀𝕃erĀLRਢਬeftArrow;憙ightArrow;憘ƀchtਾੀੂòࡌ;憰rok;䅁;扪Ѐacefiosuਗ਼અઋp;椅y;䐜Ādl੯iumSpace;恟lintrf;愳r;쀀𝔐nusPlus;戓pf;쀀𝕄cò੶;䎜ҀJacefostuણધભીଔଙඑඞcy;䐊cute;䅃ƀaeyહાron;䅇dil;䅅;䐝ƀgswે૰ativeƀMTV૨ediumSpace;怋hiĀcn૦ëeryThiîtedĀGLଆreaterGreateòٳessLesóੈLine;䀊r;쀀𝔑ȀBnptଢନଷreak;恠BreakingSpace;䂠f;愕ڀ;CDEGHLNPRSTV୕ୖ୪௫ఄ಄ದൡඅ櫬Āoungruent;扢pCap;扭oubleVerticalBar;戦ƀlqxஃஊement;戉ualĀ;Tஒஓ扠ilde;쀀≂̸ists;戄reater;EFGLSTஶஷ扯qual;扱ullEqual;쀀≧̸reater;쀀≫̸ess;批lantEqual;쀀⩾̸ilde;扵umpń௲ownHump;쀀≎̸qual;쀀≏̸eĀfsఊధtTriangleƀ;BEచఛడ拪ar;쀀⧏̸qual;括s̀;EGLSTవశ఼ౄోౘ扮qual;扰reater;扸ess;쀀≪̸lantEqual;쀀⩽̸ilde;扴estedĀGL౨౹reaterGreater;쀀⪢̸essLess;쀀⪡̸recedesƀ;ESಒಓಛ技qual;쀀⪯̸lantEqual;拠ĀeiಫಹverseElement;戌ghtTriangleƀ;BEೋೌ拫ar;쀀⧐̸qual;拭ĀquೝഌuareSuĀbp೨setĀ;Eೳ쀀⊏̸qual;拢ersetĀ;Eഃആ쀀⊐̸qual;拣ƀbcpഓതൎsetĀ;Eഛഞ쀀⊂⃒qual;抈ceedsȀ;ESTലള഻െ抁qual;쀀⪰̸lantEqual;拡ilde;쀀≿̸ersetĀ;E൘൛쀀⊃⃒qual;抉ildeȀ;EFT൮൯൵ൿ扁qual;扄ullEqual;扇ilde;扉erticalBar;戤cr;쀀𝒩ilde耻Ñ䃑;䎝܀Eacdfgmoprstuvලෂෛ෧ขภยา฿ไlig;䅒cute耻Ó䃓Āiyීrc耻Ô䃔;䐞blac;䅐r;쀀𝔒rave耻Ò䃒ƀaei෮ෲcr;䅌ga;䎩cron;䎟pf;쀀𝕆enCurlyĀDQฎบoubleQuote;怜uote;怘;橔Āclวฬr;쀀𝒪ash耻Ø䃘iŬืde耻Õ䃕es;樷ml耻Ö䃖erĀBP๋Āar๐๓r;怾acĀek๚;揞et;掴arenthesis;揜ҀacfhilorsງຊຏຒດຝະrtialD;戂y;䐟r;쀀𝔓i;䎦;䎠usMinus;䂱Āipຢອncareplanåڝf;愙Ȁ;eio຺ູ檻cedesȀ;EST່້扺qual;檯lantEqual;扼ilde;找me;怳Ādpuct;戏ortionĀ;aȥl;戝Āci༁༆r;쀀𝒫;䎨ȀUfos༑༖༛༟OT耻"䀢r;쀀𝔔pf;愚cr;쀀𝒬BEacefhiorsu༾གྷཇའཱིྦྷྪྭ႖ႩႴႾarr;椐G耻®䂮ƀcnrཎནབute;䅔g;柫rĀ;tཛྷཝ憠l;椖ƀaeyཧཬཱron;䅘dil;䅖;䐠Ā;vླྀཹ愜erseĀEUྂྙĀlq྇ྎement;戋uilibrium;懋pEquilibrium;楯r»ཹo;䎡ghtЀACDFTUVa࿁ဢဨၛႇϘĀnr࿆࿒gleBracket;柩rowƀ;BL憒ar;懥eftArrow;懄eiling;按oǵ\0စbleBracket;柧nǔည\0နeeVector;楝ectorĀ;Bဝသ懂ar;楕loor;挋Āerိ၃eƀ;AVဵံြ抢rrow;憦ector;楛iangleƀ;BEၐၑၕ抳ar;槐qual;抵pƀDTVၣၮၸownVector;楏eeVector;楜ectorĀ;Bႂႃ憾ar;楔ectorĀ;B႑႒懀ar;楓Āpuႛ႞f;愝ndImplies;楰ightarrow;懛ĀchႹႼr;愛;憱leDelayed;槴ڀHOacfhimoqstuფჱჷჽᄙᄞᅑᅖᅡᅧᆵᆻᆿĀCcჩხHcy;䐩y;䐨FTcy;䐬cute;䅚ʀ;aeiyᄈᄉᄎᄓᄗ檼ron;䅠dil;䅞rc;䅜;䐡r;쀀𝔖ortȀDLRUᄪᄴᄾᅉownArrow»ОeftArrow»࢚ightArrow»pArrow;憑gma;䎣allCircle;战pf;쀀𝕊ɲᅭ\0\0ᅰt;戚areȀ;ISUᅻᅼᆉᆯ斡ntersection;抓uĀbpᆏᆞsetĀ;Eᆗᆘ抏qual;抑ersetĀ;Eᆨᆩ抐qual;抒nion;抔cr;쀀𝒮ar;拆ȀbcmpᇈᇛሉላĀ;sᇍᇎ拐etĀ;Eᇍᇕqual;抆ĀchᇠህeedsȀ;ESTᇭᇮᇴᇿ扻qual;檰lantEqual;扽ilde;承Tháྌ;我ƀ;esሒሓሣ拑rsetĀ;Eሜም抃qual;抇et»ሓրHRSacfhiorsሾቄቕቱቶኟዂወዑORN耻Þ䃞ADE;愢ĀHcቒcy;䐋y;䐦Ābuቚቜ;䀉;䎤ƀaeyብቪቯron;䅤dil;䅢;䐢r;쀀𝔗ĀeiቻDzኀ\0ኇefore;戴a;䎘ĀcnኘkSpace;쀀 Space;怉ldeȀ;EFTካኬኲኼ戼qual;扃ullEqual;扅ilde;扈pf;쀀𝕋ipleDot;惛Āctዖዛr;쀀𝒯rok;䅦ૡዷጎጚጦ\0ጬጱ\0\0\0\0\0ጸጽ፷ᎅ\0ᐄᐊᐐĀcrዻጁute耻Ú䃚rĀ;oጇገ憟cir;楉rǣጓ\0y;䐎ve;䅬Āiyጞጣrc耻Û䃛;䐣blac;䅰r;쀀𝔘rave耻Ù䃙acr;䅪Ādiፁ፩erĀBPፈ፝Āarፍፐr;䁟acĀekፗፙ;揟et;掵arenthesis;揝onĀ;P፰፱拃lus;抎Āgp፻on;䅲f;쀀𝕌ЀADETadps᎕ᎮᎸᏄϨᏒᏗᏳrrowƀ;BDᅐᎠᎤar;椒ownArrow;懅ownArrow;憕quilibrium;楮eeĀ;AᏋᏌ报rrow;憥ownáϳerĀLRᏞᏨeftArrow;憖ightArrow;憗iĀ;lᏹᏺ䏒on;䎥ing;䅮cr;쀀𝒰ilde;䅨ml耻Ü䃜ҀDbcdefosvᐧᐬᐰᐳᐾᒅᒊᒐᒖash;披ar;櫫y;䐒ashĀ;lᐻᐼ抩;櫦Āerᑃᑅ;拁ƀbtyᑌᑐᑺar;怖Ā;iᑏᑕcalȀBLSTᑡᑥᑪᑴar;戣ine;䁼eparator;杘ilde;所ThinSpace;怊r;쀀𝔙pf;쀀𝕍cr;쀀𝒱dash;抪ʀcefosᒧᒬᒱᒶᒼirc;䅴dge;拀r;쀀𝔚pf;쀀𝕎cr;쀀𝒲Ȁfiosᓋᓐᓒᓘr;쀀𝔛;䎞pf;쀀𝕏cr;쀀𝒳ҀAIUacfosuᓱᓵᓹᓽᔄᔏᔔᔚᔠcy;䐯cy;䐇cy;䐮cute耻Ý䃝Āiyᔉᔍrc;䅶;䐫r;쀀𝔜pf;쀀𝕐cr;쀀𝒴ml;䅸ЀHacdefosᔵᔹᔿᕋᕏᕝᕠᕤcy;䐖cute;䅹Āayᕄᕉron;䅽;䐗ot;䅻Dzᕔ\0ᕛoWidtèa;䎖r;愨pf;愤cr;쀀𝒵ᖃᖊᖐ\0ᖰᖶᖿ\0\0\0\0ᗆᗛᗫᙟ᙭\0ᚕ᚛ᚲᚹ\0ᚾcute耻á䃡reve;䄃̀;Ediuyᖜᖝᖡᖣᖨᖭ戾;쀀∾̳;房rc耻â䃢te肻´̆;䐰lig耻æ䃦Ā;r²ᖺ;쀀𝔞rave耻à䃠ĀepᗊᗖĀfpᗏᗔsym;愵èᗓha;䎱ĀapᗟcĀclᗤᗧr;䄁g;樿ɤᗰ\0\0ᘊʀ;adsvᗺᗻᗿᘁᘇ戧nd;橕;橜lope;橘;橚;elmrszᘘᘙᘛᘞᘿᙏᙙ戠;榤e»ᘙsdĀ;aᘥᘦ戡ѡᘰᘲᘴᘶᘸᘺᘼᘾ;榨;榩;榪;榫;榬;榭;榮;榯tĀ;vᙅᙆ戟bĀ;dᙌᙍ抾;榝Āptᙔᙗh;戢»¹arr;捼Āgpᙣᙧon;䄅f;쀀𝕒;Eaeiopᙻᙽᚂᚄᚇᚊ;橰cir;橯;扊d;手s;䀧roxĀ;eᚒñᚃing耻å䃥ƀctyᚡᚦᚨr;쀀𝒶;䀪mpĀ;eᚯñʈilde耻ã䃣ml耻ä䃤Āciᛂᛈoninôɲnt;樑ࠀNabcdefiklnoprsu᛭ᛱᜰᝃᝈ០៦ᠹᡐᜍ᥈ᥰot;櫭ĀcrᛶkȀcepsᜀᜅᜍᜓong;扌psilon;䏶rime;怵imĀ;e戽q;拍Ŷᜢᜦee;抽edĀ;gᜬᜭ挅e»ᜭrkĀ;tbrk;掶Āoyᜁᝁ;䐱quo;怞ʀcmprtᝓᝡᝤᝨausĀ;eĊĉptyv;榰séᜌnoõēƀahwᝯᝳ;䎲;愶een;扬r;쀀𝔟gcostuvwឍឝឳេ៕៛ƀaiuបពរðݠrc;旯p»፱ƀdptឤឨឭot;樀lus;樁imes;樂ɱឹ\0\0ើcup;樆ar;昅riangleĀdu៍្own;施p;斳plus;樄eåᑄåᒭarow;植ƀakoᠦᠵĀcn៲ᠣkƀlst֫᠂ozenge;槫riangleȀ;dlr᠒᠓᠘斴own;斾eft;旂ight;斸k;搣Ʊᠫ\0ᠳƲᠯ\0ᠱ;斒;斑4;斓ck;斈ĀeoᠾᡍĀ;qᡃᡆ쀀=⃥uiv;쀀≡⃥t;挐Ȁptwxᡙᡞᡧᡬf;쀀𝕓Ā;tᏋᡣom»Ꮜtie;拈DHUVbdhmptuvᢅᢖᢪᢻᣗᣛᣬᤅᤊᤐᤡȀLRlrᢎᢐᢒᢔ;敗;敔;敖;敓ʀ;DUduᢡᢢᢤᢦᢨ敐;敦;敩;敤;敧ȀLRlrᢳᢵᢷᢹ;敝;敚;敜;教;HLRhlrᣊᣋᣍᣏᣑᣓᣕ救;敬;散;敠;敫;敢;敟ox;槉ȀLRlrᣤᣦᣨᣪ;敕;敒;攐;攌ʀ;DUduڽ;敥;敨;攬;攴inus;抟lus;択imes;抠ȀLRlrᤙᤛᤝ;敛;敘;攘;攔;HLRhlrᤰᤱᤳᤵᤷ᤻᤹攂;敪;敡;敞;攼;攤;攜Āevģbar耻¦䂦Ȁceioᥑᥖᥚᥠr;쀀𝒷mi;恏mĀ;elƀ;bhᥨᥩᥫ䁜;槅sub;柈ŬᥴlĀ;e怢t»pƀ;Eeįᦅᦇ;檮Ā;qۜۛೡᦧ\0᧨ᨑᨕᨲ\0ᨷᩐ\0\0᪴\0\0᫁\0\0ᬡᬮ᭒\0᯽\0ᰌƀcprᦲute;䄇̀;abcdsᦿᧀᧄ᧕᧙戩nd;橄rcup;橉Āau᧒p;橋p;橇ot;橀;쀀∩︀Āeo᧢᧥t;恁îړȀaeiu᧰᧻ᨁᨅǰ᧵\0᧸s;橍on;䄍dil耻ç䃧rc;䄉psĀ;sᨌᨍ橌m;橐ot;䄋ƀdmnᨛᨠᨦil肻¸ƭptyv;榲t脀¢;eᨭᨮ䂢räƲr;쀀𝔠ƀceiᨽᩀᩍy;䑇ckĀ;mᩇᩈ朓ark»ᩈ;䏇r;Ecefms᩠ᩢᩫ᪤᪪旋;槃ƀ;elᩩᩪᩭ䋆q;扗eɡᩴ\0\0᪈rrowĀlr᩼᪁eft;憺ight;憻ʀRSacd᪒᪔᪖»ཇ;擈st;抛irc;抚ash;抝nint;樐id;櫯cir;槂ubsĀ;u᪻᪼晣it»᪼ˬ᫇\0ᬊonĀ;eᫍᫎ䀺Ā;qÇÆɭ\0\0aĀ;t䀬;䁀ƀ;fl戁îᅠeĀmxent»eóɍǧ\0ᬇĀ;dኻᬂot;橭nôɆƀfryᬐᬔᬗ;쀀𝕔oäɔ脀©;sŕᬝr;愗Āaoᬥᬩrr;憵ss;朗Ācuᬲᬷr;쀀𝒸Ābpᬼ᭄Ā;eᭁᭂ櫏;櫑Ā;eᭉᭊ櫐;櫒dot;拯delprvw᭠᭬᭷ᮂᮬᯔarrĀlr᭨᭪;椸;椵ɰ᭲\0\0᭵r;拞c;拟arrĀ;pᮀ憶;椽̀;bcdosᮏᮐᮖᮡᮥᮨ截rcap;橈Āauᮛᮞp;橆p;橊ot;抍r;橅;쀀∪︀Ȁalrv᮵ᮿᯞᯣrrĀ;mᮼᮽ憷;椼yƀevwᯇᯔᯘqɰᯎ\0\0ᯒreã᭳uã᭵ee;拎edge;拏en耻¤䂤earrowĀlrᯮ᯳eft»ᮀight»ᮽeäᯝĀciᰁᰇoninôǷnt;戱lcty;挭ঀAHabcdefhijlorstuwz᰻᰿ᱝᱩᱵᲞᲬᲷᴍᵻᶑᶫᶻ᷆᷍ròar;楥Ȁglrs᱈ᱍ᱒᱔ger;怠eth;愸òᄳhĀ;vᱚᱛ怐»ऊūᱡᱧarow;椏aã̕Āayᱮᱳron;䄏;䐴ƀ;ao̲ᱼᲄĀgrʿᲁr;懊tseq;橷ƀglmᲑᲔᲘ耻°䂰ta;䎴ptyv;榱ĀirᲣᲨsht;楿;쀀𝔡arĀlrᲳᲵ»ࣜ»သʀaegsv᳂᳖᳜᳠mƀ;oș᳔ndĀ;ș᳑uit;晦amma;䏝in;拲ƀ;io᳧᳨᳸䃷de脀÷;o᳧ᳰntimes;拇nø᳷cy;䑒cɯᴆ\0\0ᴊrn;挞op;挍ʀlptuwᴘᴝᴢᵉᵕlar;䀤f;쀀𝕕ʀ;emps̋ᴭᴷᴽᵂqĀ;d͒ᴳot;扑inus;戸lus;戔quare;抡blebarwedgåúnƀadhᄮᵝᵧownarrowóᲃarpoonĀlrᵲᵶefôᲴighôᲶŢᵿᶅkaro÷གɯᶊ\0\0ᶎrn;挟op;挌ƀcotᶘᶣᶦĀryᶝᶡ;쀀𝒹;䑕l;槶rok;䄑Ādrᶰᶴot;拱iĀ;fᶺ᠖斿Āah᷀᷃ròЩaòྦangle;榦Āci᷒ᷕy;䑟grarr;柿ऀDacdefglmnopqrstuxḁḉḙḸոḼṉṡṾấắẽỡἪἷὄĀDoḆᴴoôĀcsḎḔute耻é䃩ter;橮ȀaioyḢḧḱḶron;䄛rĀ;cḭḮ扖耻ê䃪lon;払;䑍ot;䄗ĀDrṁṅot;扒;쀀𝔢ƀ;rsṐṑṗ檚ave耻è䃨Ā;dṜṝ檖ot;檘Ȁ;ilsṪṫṲṴ檙nters;揧;愓Ā;dṹṺ檕ot;檗ƀapsẅẉẗcr;䄓tyƀ;svẒẓẕ戅et»ẓpĀ1;ẝẤijạả;怄;怅怃ĀgsẪẬ;䅋p;怂ĀgpẴẸon;䄙f;쀀𝕖ƀalsỄỎỒrĀ;sỊị拕l;槣us;橱iƀ;lvỚớở䎵on»ớ;䏵ȀcsuvỪỳἋἣĀioữḱrc»Ḯɩỹ\0\0ỻíՈantĀglἂἆtr»ṝess»ṺƀaeiἒἚls;䀽st;扟vĀ;DȵἠD;橸parsl;槥ĀDaἯἳot;打rr;楱ƀcdiἾὁỸr;愯oô͒ĀahὉὋ;䎷耻ð䃰Āmrὓὗl耻ë䃫o;悬ƀcipὡὤὧl;䀡sôծĀeoὬὴctatioîՙnentialåչৡᾒ\0ᾞ\0ᾡᾧ\0\0ῆῌ\0ΐ\0ῦῪ \0 ⁚llingdotseñṄy;䑄male;晀ƀilrᾭᾳ῁lig;耀ffiɩᾹ\0\0᾽g;耀ffig;耀ffl;쀀𝔣lig;耀filig;쀀fjƀaltῙῡt;晭ig;耀flns;斱of;䆒ǰ΅\0ῳf;쀀𝕗ĀakֿῷĀ;vῼ´拔;櫙artint;樍Āao⁕Ācs‑⁒ႉ‸⁅⁈\0⁐β•‥‧\0耻½䂽;慓耻¼䂼;慕;慙;慛Ƴ‴\0‶;慔;慖ʴ‾⁁\0\0⁃耻¾䂾;慗;慜5;慘ƶ⁌\0⁎;慚;慝8;慞l;恄wn;挢cr;쀀𝒻ࢀEabcdefgijlnorstv₂₉₥₰₴⃰℃ℒℸ̗ℾ⅒↞Ā;lٍ₇;檌ƀcmpₐₕute;䇵maĀ;dₜ᳚䎳;檆reve;䄟Āiy₪₮rc;䄝;䐳ot;䄡Ȁ;lqsؾق₽ƀ;qsؾٌlanô٥Ȁ;cdl٥⃒⃥⃕c;檩otĀ;o⃜⃝檀Ā;l⃢⃣檂;檄Ā;e⃪⃭쀀⋛︀s;檔r;쀀𝔤Ā;gٳ؛mel;愷cy;䑓Ȁ;Eajٚℌℎℐ;檒;檥;檤ȀEaesℛℝ℩ℴ;扩pĀ;p℣ℤ檊rox»ℤĀ;q℮ℯ檈Ā;q℮ℛim;拧pf;쀀𝕘Āci⅃ⅆr;愊mƀ;el٫ⅎ⅐;檎;檐茀>;cdlqrⅠⅪⅮⅳⅹĀciⅥⅧ;檧r;橺ot;拗Par;榕uest;橼ʀadelsↄⅪ←ٖ↛ǰ↉\0proør;楸qĀlqؿ↖lesó₈ií٫Āen↣↭rtneqq;쀀≩︀Å↪ԀAabcefkosy⇄⇇⇱⇵⇺∘∝∯≨≽ròΠȀilmr⇐⇔⇗⇛rsðᒄf»․ilôکĀdr⇠⇤cy;䑊ƀ;cwࣴ⇫⇯ir;楈;憭ar;意irc;䄥ƀalr∁∎∓rtsĀ;u∉∊晥it»∊lip;怦con;抹r;쀀𝔥sĀew∣∩arow;椥arow;椦ʀamopr∺∾≃≞≣rr;懿tht;戻kĀlr≉≓eftarrow;憩ightarrow;憪f;쀀𝕙bar;怕ƀclt≯≴≸r;쀀𝒽asè⇴rok;䄧Ābp⊂⊇ull;恃hen»ᱛૡ⊣\0⊪\0⊸⋅⋎\0⋕⋳\0\0⋸⌢⍧⍢⍿\0⎆⎪⎴cute耻í䃭ƀ;iyݱ⊰⊵rc耻î䃮;䐸Ācx⊼⊿y;䐵cl耻¡䂡ĀfrΟ⋉;쀀𝔦rave耻ì䃬Ȁ;inoܾ⋝⋩⋮Āin⋢⋦nt;樌t;戭fin;槜ta;愩lig;䄳ƀaop⋾⌚⌝ƀcgt⌅⌈⌗r;䄫ƀelpܟ⌏⌓inåގarôܠh;䄱f;抷ed;䆵ʀ;cfotӴ⌬⌱⌽⍁are;愅inĀ;t⌸⌹戞ie;槝doô⌙ʀ;celpݗ⍌⍐⍛⍡al;抺Āgr⍕⍙eróᕣã⍍arhk;樗rod;樼Ȁcgpt⍯⍲⍶⍻y;䑑on;䄯f;쀀𝕚a;䎹uest耻¿䂿Āci⎊⎏r;쀀𝒾nʀ;EdsvӴ⎛⎝⎡ӳ;拹ot;拵Ā;v⎦⎧拴;拳Ā;iݷ⎮lde;䄩ǫ⎸\0⎼cy;䑖l耻ï䃯̀cfmosu⏌⏗⏜⏡⏧⏵Āiy⏑⏕rc;䄵;䐹r;쀀𝔧ath;䈷pf;쀀𝕛ǣ⏬\0⏱r;쀀𝒿rcy;䑘kcy;䑔Ѐacfghjos␋␖␢ppaĀ;v␓␔䎺;䏰Āey␛␠dil;䄷;䐺r;쀀𝔨reen;䄸cy;䑅cy;䑜pf;쀀𝕜cr;쀀𝓀ABEHabcdefghjlmnoprstuv⑰⒁⒆⒍⒑┎┽╚▀♎♞♥♹♽⚚⚲⛘❝❨➋⟀⠁⠒ƀart⑷⑺⑼ròòΕail;椛arr;椎Ā;gঔ⒋;檋ar;楢ॣ⒥\0⒪\0⒱\0\0\0\0\0⒵Ⓔ\0ⓆⓈⓍ\0⓹ute;䄺mptyv;榴raîࡌbda;䎻gƀ;dlࢎⓁⓃ;榑åࢎ;檅uo耻«䂫rЀ;bfhlpst࢙ⓞⓦⓩ⓫⓮⓱⓵Ā;f࢝ⓣs;椟s;椝ë≒p;憫l;椹im;楳l;憢ƀ;ae⓿─┄檫il;椙Ā;s┉┊檭;쀀⪭︀ƀabr┕┙┝rr;椌rk;杲Āak┢┬cĀek┨┪;䁻;䁛Āes┱┳;榋lĀdu┹┻;榏;榍Ȁaeuy╆╋╖╘ron;䄾Ādi═╔il;䄼ìࢰâ┩;䐻Ȁcqrs╣╦╭╽a;椶uoĀ;rนᝆĀdu╲╷har;楧shar;楋h;憲ʀ;fgqs▋▌উ◳◿扤tʀahlrt▘▤▷◂◨rrowĀ;t࢙□aé⓶arpoonĀdu▯▴own»њp»०eftarrows;懇ightƀahs◍◖◞rrowĀ;sࣴࢧarpoonóquigarro÷⇰hreetimes;拋ƀ;qs▋ও◺lanôবʀ;cdgsব☊☍☝☨c;檨otĀ;o☔☕橿Ā;r☚☛檁;檃Ā;e☢☥쀀⋚︀s;檓ʀadegs☳☹☽♉♋pproøⓆot;拖qĀgq♃♅ôউgtò⒌ôছiíলƀilr♕࣡♚sht;楼;쀀𝔩Ā;Eজ♣;檑š♩♶rĀdu▲♮Ā;l॥♳;楪lk;斄cy;䑙ʀ;achtੈ⚈⚋⚑⚖rò◁orneòᴈard;楫ri;旺Āio⚟⚤dot;䅀ustĀ;a⚬⚭掰che»⚭ȀEaes⚻⚽⛉⛔;扨pĀ;p⛃⛄檉rox»⛄Ā;q⛎⛏檇Ā;q⛎⚻im;拦Ѐabnoptwz⛩⛴⛷✚✯❁❇❐Ānr⛮⛱g;柬r;懽rëࣁgƀlmr⛿✍✔eftĀar০✇ightá৲apsto;柼ightá৽parrowĀlr✥✩efô⓭ight;憬ƀafl✶✹✽r;榅;쀀𝕝us;樭imes;樴š❋❏st;戗áፎƀ;ef❗❘᠀旊nge»❘arĀ;l❤❥䀨t;榓ʀachmt❳❶❼➅➇ròࢨorneòᶌarĀ;d➃;業;怎ri;抿̀achiqt➘➝ੀ➢➮➻quo;怹r;쀀𝓁mƀ;egল➪➬;檍;檏Ābu┪➳oĀ;rฟ➹;怚rok;䅂萀<;cdhilqrࠫ⟒☹⟜⟠⟥⟪⟰Āci⟗⟙;檦r;橹reå◲mes;拉arr;楶uest;橻ĀPi⟵⟹ar;榖ƀ;ef⠀भ旃rĀdu⠇⠍shar;楊har;楦Āen⠗⠡rtneqq;쀀≨︀Å⠞܀Dacdefhilnopsu⡀⡅⢂⢎⢓⢠⢥⢨⣚⣢⣤ઃ⣳⤂Dot;戺Ȁclpr⡎⡒⡣⡽r耻¯䂯Āet⡗⡙;時Ā;e⡞⡟朠se»⡟Ā;sျ⡨toȀ;dluျ⡳⡷⡻owîҌefôएðᏑker;斮Āoy⢇⢌mma;権;䐼ash;怔asuredangle»ᘦr;쀀𝔪o;愧ƀcdn⢯⢴⣉ro耻µ䂵Ȁ;acdᑤ⢽⣀⣄sôᚧir;櫰ot肻·Ƶusƀ;bd⣒ᤃ⣓戒Ā;uᴼ⣘;横ţ⣞⣡p;櫛ò−ðઁĀdp⣩⣮els;抧f;쀀𝕞Āct⣸⣽r;쀀𝓂pos»ᖝƀ;lm⤉⤊⤍䎼timap;抸ఀGLRVabcdefghijlmoprstuvw⥂⥓⥾⦉⦘⧚⧩⨕⨚⩘⩝⪃⪕⪤⪨⬄⬇⭄⭿⮮ⰴⱧⱼ⳩Āgt⥇⥋;쀀⋙̸Ā;v⥐쀀≫⃒ƀelt⥚⥲⥶ftĀar⥡⥧rrow;懍ightarrow;懎;쀀⋘̸Ā;v⥻ే쀀≪⃒ightarrow;懏ĀDd⦎⦓ash;抯ash;抮ʀbcnpt⦣⦧⦬⦱⧌la»˞ute;䅄g;쀀∠⃒ʀ;Eiop⦼⧀⧅⧈;쀀⩰̸d;쀀≋̸s;䅉roøurĀ;a⧓⧔普lĀ;s⧓ସdz⧟\0⧣p肻 ଷmpĀ;e௹ఀʀaeouy⧴⧾⨃⨐⨓ǰ⧹\0⧻;橃on;䅈dil;䅆ngĀ;dൾ⨊ot;쀀⩭̸p;橂;䐽ash;怓;Aadqsxஒ⨩⨭⨻⩁⩅⩐rr;懗rĀhr⨳⨶k;椤Ā;oᏲᏰot;쀀≐̸uiöୣĀei⩊⩎ar;椨íistĀ;sடr;쀀𝔫ȀEest⩦⩹⩼ƀ;qs⩭ƀ;qs⩴lanôií௪Ā;rஶ⪁»ஷƀAap⪊⪍⪑rò⥱rr;憮ar;櫲ƀ;svྍ⪜ྌĀ;d⪡⪢拼;拺cy;䑚AEadest⪷⪺⪾⫂⫅⫶⫹rò⥦;쀀≦̸rr;憚r;急Ȁ;fqs⫎⫣⫯tĀar⫔⫙rro÷⫁ightarro÷⪐ƀ;qs⪺⫪lanôౕĀ;sౕ⫴»శiíౝĀ;rవ⫾iĀ;eచథiäඐĀpt⬌⬑f;쀀𝕟膀¬;in⬙⬚⬶䂬nȀ;Edvஉ⬤⬨⬮;쀀⋹̸ot;쀀⋵̸ǡஉ⬳⬵;拷;拶iĀ;vಸ⬼ǡಸ⭁⭃;拾;拽ƀaor⭋⭣⭩rȀ;ast⭕⭚⭟lleìl;쀀⫽⃥;쀀∂̸lint;樔ƀ;ceಒ⭰⭳uåಥĀ;cಘ⭸Ā;eಒ⭽ñಘȀAait⮈⮋⮝⮧rò⦈rrƀ;cw⮔⮕⮙憛;쀀⤳̸;쀀↝̸ghtarrow»⮕riĀ;eೋೖchimpqu⮽⯍⯙⬄⯤⯯Ȁ;cerല⯆ഷ⯉uå;쀀𝓃ortɭ⬅\0\0⯖ará⭖mĀ;e൮⯟Ā;q൴൳suĀbp⯫⯭ååഋƀbcp⯶ⰑⰙȀ;Ees⯿ⰀഢⰄ抄;쀀⫅̸etĀ;eഛⰋqĀ;qണⰀcĀ;eലⰗñസȀ;EesⰢⰣൟⰧ抅;쀀⫆̸etĀ;e൘ⰮqĀ;qൠⰣȀgilrⰽⰿⱅⱇìௗlde耻ñ䃱çృiangleĀlrⱒⱜeftĀ;eచⱚñదightĀ;eೋⱥñĀ;mⱬⱭ䎽ƀ;esⱴⱵⱹ䀣ro;愖p;怇ҀDHadgilrsⲏⲔⲙⲞⲣⲰⲶⳓⳣash;抭arr;椄p;쀀≍⃒ash;抬ĀetⲨⲬ;쀀≥⃒;쀀>⃒nfin;槞ƀAetⲽⳁⳅrr;椂;쀀≤⃒Ā;rⳊⳍ쀀<⃒ie;쀀⊴⃒ĀAtⳘⳜrr;椃rie;쀀⊵⃒im;쀀∼⃒ƀAan⳰ⴂrr;懖rĀhr⳺⳽k;椣Ā;oᏧᏥear;椧ቓ᪕\0\0\0\0\0\0\0\0\0\0\0\0\0ⴭ\0ⴸⵈⵠⵥⶄᬇ\0\0ⶍⶫ\0ⷈⷎ\0ⷜ⸙⸫⸾⹃Ācsⴱ᪗ute耻ó䃳ĀiyⴼⵅrĀ;cⵂ耻ô䃴;䐾ʀabios᪠ⵒⵗLjⵚlac;䅑v;樸old;榼lig;䅓Ācrir;榿;쀀𝔬ͯ\0\0\0ⶂn;䋛ave耻ò䃲;槁Ābmⶈ෴ar;榵Ȁacitⶕⶥⶨrò᪀Āirⶠr;榾oss;榻nå๒;槀ƀaeiⶱⶵⶹcr;䅍ga;䏉ƀcdnⷀⷅǍron;䎿;榶pf;쀀𝕠ƀaelⷔǒr;榷rp;榹;adiosvⷪⷫⷮ⸈⸍⸐⸖戨rò᪆Ȁ;efmⷷⷸ⸂⸅橝rĀ;oⷾⷿ愴f»ⷿ耻ª䂪耻º䂺gof;抶r;橖lope;橗;橛ƀclo⸟⸡⸧ò⸁ash耻ø䃸l;折iŬⸯ⸴de耻õ䃵esĀ;aǛ⸺s;樶ml耻ö䃶bar;挽ૡ\0\0⺀⺝\0⺢⺹\0\0⻋ຜ\0⼓\0\0⼫⾼\0⿈rȀ;astЃ脀¶;l䂶leìЃɩ\0\0m;櫳;櫽y;䐿rʀcimpt⺋⺏⺓ᡥ⺗nt;䀥od;䀮il;怰enk;怱r;쀀𝔭ƀimo⺨⺰⺴Ā;v⺭⺮䏆;䏕maô੶ne;明ƀ;tv⺿⻀⻈䏀chfork»´;䏖Āau⻏⻟nĀck⻕⻝kĀ;h⇴⻛;愎ö⇴sҀ;abcdemst⻳ᤈ⼄⼆⼊⼎䀫cir;樣ir;樢Āouᵀ⼂;樥;橲n肻±ຝim;樦wo;樧ƀipu⼙⼠⼥ntint;樕f;쀀𝕡nd耻£䂣Ԁ;Eaceinosu່⼿⽁⽄⽇⾁⾉⾒⽾⾶;檳p;檷uå໙Ā;c໎⽌̀;acens່⽙⽟⽦⽨⽾pproø⽃urlyeñ໙ñ໎ƀaes⽯⽶⽺pprox;檹qq;檵im;拨iíໟmeĀ;s⾈ຮ怲ƀEas⽸⾐⽺ð⽵ƀdfp⾙⾯ƀals⾠⾥⾪lar;挮ine;挒urf;挓Ā;t⾴ïrel;抰Āci⿀⿅r;쀀𝓅;䏈ncsp;怈̀fiopsu⋢⿱r;쀀𝔮pf;쀀𝕢rime;恗cr;쀀𝓆ƀaeo⿸〉〓tĀei々rnionóڰnt;樖stĀ;e【】䀿ñἙô༔ABHabcdefhilmnoprstuxけさすムㄎㄫㅇㅢㅲㆎ㈆㈕㈤㈩㉘㉮㉲㊐㊰㊷ƀartぇおがròႳòϝail;検aròᱥar;楤cdenqrtとふへみわゔヌĀeuねぱ;쀀∽̱te;䅕iãᅮmptyv;榳gȀ;del࿑らるろ;榒;榥å࿑uo耻»䂻rր;abcfhlpstwガクシスゼゾダッデナp;極Ā;fゴs;椠;椳s;椞ë≝ð✮l;楅im;楴l;憣;憝Āaiパフil;椚oĀ;nホボ戶aló༞ƀabrョリヮrò៥rk;杳ĀakンヽcĀekヹ・;䁽;䁝Āes;榌lĀduㄊㄌ;榎;榐Ȁaeuyㄗㄜㄧㄩron;䅙Ādiㄡㄥil;䅗ìâヺ;䑀Ȁclqsㄴㄷㄽㅄa;椷dhar;楩uoĀ;rȎȍh;憳ƀacgㅎㅟངlȀ;ipsླྀㅘㅛႜnåႻarôྩt;断ƀilrㅩဣㅮsht;楽;쀀𝔯ĀaoㅷㆆrĀduㅽㅿ»ѻĀ;l႑ㆄ;楬Ā;vㆋㆌ䏁;䏱ƀgns㆕ㇹㇼht̀ahlrstㆤㆰ㇂㇘rrowĀ;tㆭaéトarpoonĀduㆻㆿowîㅾp»႒eftĀah㇊㇐rrowóarpoonóՑightarrows;應quigarro÷ニhreetimes;拌g;䋚ingdotseñἲƀahm㈍㈐㈓ròaòՑ;怏oustĀ;a㈞掱che»mid;櫮Ȁabpt㈲㈽㉀㉒Ānr㈷㈺g;柭r;懾rëဃƀafl㉇㉊㉎r;榆;쀀𝕣us;樮imes;樵Āap㉝㉧rĀ;g㉣㉤䀩t;榔olint;樒arò㇣Ȁachq㉻㊀Ⴜ㊅quo;怺r;쀀𝓇Ābu・㊊oĀ;rȔȓƀhir㊗㊛㊠reåㇸmes;拊iȀ;efl㊪ၙᠡ㊫方tri;槎luhar;楨;愞ൡ㋕㋛㋟㌬㌸㍱\0㍺㎤\0\0㏬㏰\0㐨㑈㑚㒭㒱㓊㓱\0㘖\0\0㘳cute;䅛quï➺Ԁ;Eaceinpsyᇭ㋳㋵㋿㌂㌋㌏㌟㌦㌩;檴ǰ㋺\0㋼;檸on;䅡uåᇾĀ;dᇳ㌇il;䅟rc;䅝ƀEas㌖㌘㌛;檶p;檺im;择olint;樓iíሄ;䑁otƀ;be㌴ᵇ㌵担;橦Aacmstx㍆㍊㍗㍛㍞㍣㍭rr;懘rĀhr㍐㍒ë∨Ā;oਸ਼t耻§䂧i;䀻war;椩mĀin㍩ðnuóñt;朶rĀ;o㍶⁕쀀𝔰Ȁacoy㎂㎆㎑㎠rp;景Āhy㎋㎏cy;䑉;䑈rtɭ㎙\0\0㎜iäᑤaraì耻䂭Āgm㎨㎴maƀ;fv㎱㎲㎲䏃;䏂Ѐ;deglnprካ㏅㏉㏎㏖㏞㏡㏦ot;橪Ā;qኰĀ;E㏓㏔檞;檠Ā;E㏛㏜檝;檟e;扆lus;樤arr;楲aròᄽȀaeit㏸㐈㐏㐗Āls㏽㐄lsetmé㍪hp;樳parsl;槤Ādlᑣ㐔e;挣Ā;e㐜㐝檪Ā;s㐢㐣檬;쀀⪬︀ƀflp㐮㐳㑂tcy;䑌Ā;b㐸㐹䀯Ā;a㐾㐿槄r;挿f;쀀𝕤aĀdr㑍ЂesĀ;u㑔㑕晠it»㑕ƀcsu㑠㑹㒟Āau㑥㑯pĀ;sᆈ㑫;쀀⊓︀pĀ;sᆴ㑵;쀀⊔︀uĀbp㑿㒏ƀ;esᆗᆜ㒆etĀ;eᆗ㒍ñᆝƀ;esᆨᆭ㒖etĀ;eᆨ㒝ñᆮƀ;afᅻ㒦ְrť㒫ֱ»ᅼaròᅈȀcemt㒹㒾㓂㓅r;쀀𝓈tmîñiì㐕aræᆾĀar㓎㓕rĀ;f㓔ឿ昆Āan㓚㓭ightĀep㓣㓪psiloîỠhé⺯s»⡒ʀbcmnp㓻㕞ሉ㖋㖎Ҁ;Edemnprs㔎㔏㔑㔕㔞㔣㔬㔱㔶抂;櫅ot;檽Ā;dᇚ㔚ot;櫃ult;櫁ĀEe㔨㔪;櫋;把lus;檿arr;楹ƀeiu㔽㕒㕕tƀ;en㔎㕅㕋qĀ;qᇚ㔏eqĀ;q㔫㔨m;櫇Ābp㕚㕜;櫕;櫓c̀;acensᇭ㕬㕲㕹㕻㌦pproø㋺urlyeñᇾñᇳƀaes㖂㖈㌛pproø㌚qñ㌗g;晪ڀ123;Edehlmnps㖩㖬㖯ሜ㖲㖴㗀㗉㗕㗚㗟㗨㗭耻¹䂹耻²䂲耻³䂳;櫆Āos㖹㖼t;檾ub;櫘Ā;dሢ㗅ot;櫄sĀou㗏㗒l;柉b;櫗arr;楻ult;櫂ĀEe㗤㗦;櫌;抋lus;櫀ƀeiu㗴㘉㘌tƀ;enሜ㗼㘂qĀ;qሢ㖲eqĀ;q㗧㗤m;櫈Ābp㘑㘓;櫔;櫖ƀAan㘜㘠㘭rr;懙rĀhr㘦㘨ë∮Ā;oਫwar;椪lig耻ß䃟㙑㙝㙠ዎ㙳㙹\0㙾㛂\0\0\0\0\0㛛㜃\0㜉㝬\0\0\0㞇ɲ㙖\0\0㙛get;挖;䏄rëƀaey㙦㙫㙰ron;䅥dil;䅣;䑂lrec;挕r;쀀𝔱Ȁeiko㚆㚝㚵㚼Dz㚋\0㚑eĀ4fኄኁaƀ;sv㚘㚙㚛䎸ym;䏑Ācn㚢㚲kĀas㚨㚮pproøim»ኬsðኞĀas㚺㚮ðrn耻þ䃾Ǭ̟㛆⋧es膀×;bd㛏㛐㛘䃗Ā;aᤏ㛕r;樱;樰ƀeps㛡㛣㜀á⩍Ȁ;bcf҆㛬㛰㛴ot;挶ir;櫱Ā;o㛹㛼쀀𝕥rk;櫚á㍢rime;怴ƀaip㜏㜒㝤dåቈadempst㜡㝍㝀㝑㝗㝜㝟ngleʀ;dlqr㜰㜱㜶㝀㝂斵own»ᶻeftĀ;e⠀㜾ñम;扜ightĀ;e㊪㝋ñၚot;旬inus;樺lus;樹b;槍ime;樻ezium;揢ƀcht㝲㝽㞁Āry㝷㝻;쀀𝓉;䑆cy;䑛rok;䅧Āio㞋㞎xôheadĀlr㞗㞠eftarro÷ࡏightarrow»ཝऀAHabcdfghlmoprstuw㟐㟓㟗㟤㟰㟼㠎㠜㠣㠴㡑㡝㡫㢩㣌㣒㣪㣶ròϭar;楣Ācr㟜㟢ute耻ú䃺òᅐrǣ㟪\0㟭y;䑞ve;䅭Āiy㟵㟺rc耻û䃻;䑃ƀabh㠃㠆㠋ròᎭlac;䅱aòᏃĀir㠓㠘sht;楾;쀀𝔲rave耻ù䃹š㠧㠱rĀlr㠬㠮»ॗ»ႃlk;斀Āct㠹㡍ɯ㠿\0\0㡊rnĀ;e㡅㡆挜r»㡆op;挏ri;旸Āal㡖㡚cr;䅫肻¨͉Āgp㡢㡦on;䅳f;쀀𝕦̀adhlsuᅋ㡸㡽፲㢑㢠ownáᎳarpoonĀlr㢈㢌efô㠭ighô㠯iƀ;hl㢙㢚㢜䏅»ᏺon»㢚parrows;懈ƀcit㢰㣄㣈ɯ㢶\0\0㣁rnĀ;e㢼㢽挝r»㢽op;挎ng;䅯ri;旹cr;쀀𝓊ƀdir㣙㣝㣢ot;拰lde;䅩iĀ;f㜰㣨»᠓Āam㣯㣲rò㢨l耻ü䃼angle;榧ހABDacdeflnoprsz㤜㤟㤩㤭㦵㦸㦽㧟㧤㧨㧳㧹㧽㨁㨠ròϷarĀ;v㤦㤧櫨;櫩asèϡĀnr㤲㤷grt;榜eknprst㓣㥆㥋㥒㥝㥤㦖appá␕othinçẖƀhir㓫⻈㥙opô⾵Ā;hᎷ㥢ïㆍĀiu㥩㥭gmá㎳Ābp㥲㦄setneqĀ;q㥽㦀쀀⊊︀;쀀⫋︀setneqĀ;q㦏㦒쀀⊋︀;쀀⫌︀Āhr㦛㦟etá㚜iangleĀlr㦪㦯eft»थight»ၑy;䐲ash»ံƀelr㧄㧒㧗ƀ;beⷪ㧋㧏ar;抻q;扚lip;拮Ābt㧜ᑨaòᑩr;쀀𝔳tré㦮suĀbp㧯㧱»ജ»൙pf;쀀𝕧roðtré㦴Ācu㨆㨋r;쀀𝓋Ābp㨐㨘nĀEe㦀㨖»㥾nĀEe㦒㨞»㦐igzag;榚cefoprs㨶㨻㩖㩛㩔㩡㩪irc;䅵Ādi㩀㩑Ābg㩅㩉ar;機eĀ;qᗺ㩏;扙erp;愘r;쀀𝔴pf;쀀𝕨Ā;eᑹ㩦atèᑹcr;쀀𝓌ૣណ㪇\0㪋\0㪐㪛\0\0㪝㪨㪫㪯\0\0㫃㫎\0㫘ៜtré៑r;쀀𝔵ĀAa㪔㪗ròσrò৶;䎾ĀAa㪡㪤ròθrò৫að✓is;拻ƀdptឤ㪵㪾Āfl㪺ឩ;쀀𝕩imåឲĀAa㫇㫊ròώròਁĀcq㫒ីr;쀀𝓍Āpt៖㫜ré។Ѐacefiosu㫰㫽㬈㬌㬑㬕㬛㬡cĀuy㫶㫻te耻ý䃽;䑏Āiy㬂㬆rc;䅷;䑋n耻¥䂥r;쀀𝔶cy;䑗pf;쀀𝕪cr;쀀𝓎Ācm㬦㬩y;䑎l耻ÿ䃿Ԁacdefhiosw㭂㭈㭔㭘㭤㭩㭭㭴㭺㮀cute;䅺Āay㭍㭒ron;䅾;䐷ot;䅼Āet㭝㭡træᕟa;䎶r;쀀𝔷cy;䐶grarr;懝pf;쀀𝕫cr;쀀𝓏Ājn㮅㮇;怍j;怌'.split("").map((function(c){return c.charCodeAt(0)})));var decodeDataXml={};Object.defineProperty(decodeDataXml,"__esModule",{value:true});decodeDataXml.default=new Uint16Array("Ȁaglq\tɭ\0\0p;䀦os;䀧t;䀾t;䀼uot;䀢".split("").map((function(c){return c.charCodeAt(0)})));var decode_codepoint={};(function(exports){var _a;Object.defineProperty(exports,"__esModule",{value:true});exports.replaceCodePoint=exports.fromCodePoint=void 0;var decodeMap=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]);exports.fromCodePoint=(_a=String.fromCodePoint)!==null&&_a!==void 0?_a:function(codePoint){var output="";if(codePoint>65535){codePoint-=65536;output+=String.fromCharCode(codePoint>>>10&1023|55296);codePoint=56320|codePoint&1023}output+=String.fromCharCode(codePoint);return output};function replaceCodePoint(codePoint){var _a;if(codePoint>=55296&&codePoint<=57343||codePoint>1114111){return 65533}return(_a=decodeMap.get(codePoint))!==null&&_a!==void 0?_a:codePoint}exports.replaceCodePoint=replaceCodePoint;function decodeCodePoint(codePoint){return(0,exports.fromCodePoint)(replaceCodePoint(codePoint))}exports.default=decodeCodePoint})(decode_codepoint);(function(exports){var __importDefault=commonjsGlobal&&commonjsGlobal.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:true});exports.decodeXML=exports.decodeHTMLStrict=exports.decodeHTML=exports.determineBranch=exports.BinTrieFlags=exports.fromCodePoint=exports.replaceCodePoint=exports.decodeCodePoint=exports.xmlDecodeTree=exports.htmlDecodeTree=void 0;var decode_data_html_js_1=__importDefault(decodeDataHtml);exports.htmlDecodeTree=decode_data_html_js_1.default;var decode_data_xml_js_1=__importDefault(decodeDataXml);exports.xmlDecodeTree=decode_data_xml_js_1.default;var decode_codepoint_js_1=__importDefault(decode_codepoint);exports.decodeCodePoint=decode_codepoint_js_1.default;var decode_codepoint_js_2=decode_codepoint;Object.defineProperty(exports,"replaceCodePoint",{enumerable:true,get:function(){return decode_codepoint_js_2.replaceCodePoint}});Object.defineProperty(exports,"fromCodePoint",{enumerable:true,get:function(){return decode_codepoint_js_2.fromCodePoint}});var CharCodes;(function(CharCodes){CharCodes[CharCodes["NUM"]=35]="NUM";CharCodes[CharCodes["SEMI"]=59]="SEMI";CharCodes[CharCodes["ZERO"]=48]="ZERO";CharCodes[CharCodes["NINE"]=57]="NINE";CharCodes[CharCodes["LOWER_A"]=97]="LOWER_A";CharCodes[CharCodes["LOWER_F"]=102]="LOWER_F";CharCodes[CharCodes["LOWER_X"]=120]="LOWER_X";CharCodes[CharCodes["To_LOWER_BIT"]=32]="To_LOWER_BIT"})(CharCodes||(CharCodes={}));var BinTrieFlags;(function(BinTrieFlags){BinTrieFlags[BinTrieFlags["VALUE_LENGTH"]=49152]="VALUE_LENGTH";BinTrieFlags[BinTrieFlags["BRANCH_LENGTH"]=16256]="BRANCH_LENGTH";BinTrieFlags[BinTrieFlags["JUMP_TABLE"]=127]="JUMP_TABLE"})(BinTrieFlags=exports.BinTrieFlags||(exports.BinTrieFlags={}));function getDecoder(decodeTree){return function decodeHTMLBinary(str,strict){var ret="";var lastIdx=0;var strIdx=0;while((strIdx=str.indexOf("&",strIdx))>=0){ret+=str.slice(lastIdx,strIdx);lastIdx=strIdx;strIdx+=1;if(str.charCodeAt(strIdx)===CharCodes.NUM){var start=strIdx+1;var base=10;var cp=str.charCodeAt(start);if((cp|CharCodes.To_LOWER_BIT)===CharCodes.LOWER_X){base=16;strIdx+=1;start+=1}do{cp=str.charCodeAt(++strIdx)}while(cp>=CharCodes.ZERO&&cp<=CharCodes.NINE||base===16&&(cp|CharCodes.To_LOWER_BIT)>=CharCodes.LOWER_A&&(cp|CharCodes.To_LOWER_BIT)<=CharCodes.LOWER_F);if(start!==strIdx){var entity=str.substring(start,strIdx);var parsed=parseInt(entity,base);if(str.charCodeAt(strIdx)===CharCodes.SEMI){strIdx+=1}else if(strict){continue}ret+=(0,decode_codepoint_js_1.default)(parsed);lastIdx=strIdx}continue}var resultIdx=0;var excess=1;var treeIdx=0;var current=decodeTree[treeIdx];for(;strIdx<str.length;strIdx++,excess++){treeIdx=determineBranch(decodeTree,current,treeIdx+1,str.charCodeAt(strIdx));if(treeIdx<0)break;current=decodeTree[treeIdx];var masked=current&BinTrieFlags.VALUE_LENGTH;if(masked){if(!strict||str.charCodeAt(strIdx)===CharCodes.SEMI){resultIdx=treeIdx;excess=0}var valueLength=(masked>>14)-1;if(valueLength===0)break;treeIdx+=valueLength}}if(resultIdx!==0){var valueLength=(decodeTree[resultIdx]&BinTrieFlags.VALUE_LENGTH)>>14;ret+=valueLength===1?String.fromCharCode(decodeTree[resultIdx]&~BinTrieFlags.VALUE_LENGTH):valueLength===2?String.fromCharCode(decodeTree[resultIdx+1]):String.fromCharCode(decodeTree[resultIdx+1],decodeTree[resultIdx+2]);lastIdx=strIdx-excess+1}}return ret+str.slice(lastIdx)}}function determineBranch(decodeTree,current,nodeIdx,char){var branchCount=(current&BinTrieFlags.BRANCH_LENGTH)>>7;var jumpOffset=current&BinTrieFlags.JUMP_TABLE;if(branchCount===0){return jumpOffset!==0&&char===jumpOffset?nodeIdx:-1}if(jumpOffset){var value=char-jumpOffset;return value<0||value>=branchCount?-1:decodeTree[nodeIdx+value]-1}var lo=nodeIdx;var hi=lo+branchCount-1;while(lo<=hi){var mid=lo+hi>>>1;var midVal=decodeTree[mid];if(midVal<char){lo=mid+1}else if(midVal>char){hi=mid-1}else{return decodeTree[mid+branchCount]}}return-1}exports.determineBranch=determineBranch;var htmlDecoder=getDecoder(decode_data_html_js_1.default);var xmlDecoder=getDecoder(decode_data_xml_js_1.default);function decodeHTML(str){return htmlDecoder(str,false)}exports.decodeHTML=decodeHTML;function decodeHTMLStrict(str){return htmlDecoder(str,true)}exports.decodeHTMLStrict=decodeHTMLStrict;function decodeXML(str){return xmlDecoder(str,true)}exports.decodeXML=decodeXML})(decode$3);var encode$3={};var encodeHtml={};Object.defineProperty(encodeHtml,"__esModule",{value:true});function restoreDiff(arr){for(var i=1;i<arr.length;i++){arr[i][0]+=arr[i-1][0]+1}return arr}encodeHtml.default=new Map(restoreDiff([[9,"	"],[0,"
"],[22,"!"],[0,"""],[0,"#"],[0,"$"],[0,"%"],[0,"&"],[0,"'"],[0,"("],[0,")"],[0,"*"],[0,"+"],[0,","],[1,"."],[0,"/"],[10,":"],[0,";"],[0,{v:"<",n:8402,o:"<⃒"}],[0,{v:"=",n:8421,o:"=⃥"}],[0,{v:">",n:8402,o:">⃒"}],[0,"?"],[0,"@"],[26,"["],[0,"\"],[0,"]"],[0,"^"],[0,"_"],[0,"`"],[5,{n:106,o:"fj"}],[20,"{"],[0,"|"],[0,"}"],[34," "],[0,"¡"],[0,"¢"],[0,"£"],[0,"¤"],[0,"¥"],[0,"¦"],[0,"§"],[0,"¨"],[0,"©"],[0,"ª"],[0,"«"],[0,"¬"],[0,"­"],[0,"®"],[0,"¯"],[0,"°"],[0,"±"],[0,"²"],[0,"³"],[0,"´"],[0,"µ"],[0,"¶"],[0,"·"],[0,"¸"],[0,"¹"],[0,"º"],[0,"»"],[0,"¼"],[0,"½"],[0,"¾"],[0,"¿"],[0,"À"],[0,"Á"],[0,"Â"],[0,"Ã"],[0,"Ä"],[0,"Å"],[0,"Æ"],[0,"Ç"],[0,"È"],[0,"É"],[0,"Ê"],[0,"Ë"],[0,"Ì"],[0,"Í"],[0,"Î"],[0,"Ï"],[0,"Ð"],[0,"Ñ"],[0,"Ò"],[0,"Ó"],[0,"Ô"],[0,"Õ"],[0,"Ö"],[0,"×"],[0,"Ø"],[0,"Ù"],[0,"Ú"],[0,"Û"],[0,"Ü"],[0,"Ý"],[0,"Þ"],[0,"ß"],[0,"à"],[0,"á"],[0,"â"],[0,"ã"],[0,"ä"],[0,"å"],[0,"æ"],[0,"ç"],[0,"è"],[0,"é"],[0,"ê"],[0,"ë"],[0,"ì"],[0,"í"],[0,"î"],[0,"ï"],[0,"ð"],[0,"ñ"],[0,"ò"],[0,"ó"],[0,"ô"],[0,"õ"],[0,"ö"],[0,"÷"],[0,"ø"],[0,"ù"],[0,"ú"],[0,"û"],[0,"ü"],[0,"ý"],[0,"þ"],[0,"ÿ"],[0,"Ā"],[0,"ā"],[0,"Ă"],[0,"ă"],[0,"Ą"],[0,"ą"],[0,"Ć"],[0,"ć"],[0,"Ĉ"],[0,"ĉ"],[0,"Ċ"],[0,"ċ"],[0,"Č"],[0,"č"],[0,"Ď"],[0,"ď"],[0,"Đ"],[0,"đ"],[0,"Ē"],[0,"ē"],[2,"Ė"],[0,"ė"],[0,"Ę"],[0,"ę"],[0,"Ě"],[0,"ě"],[0,"Ĝ"],[0,"ĝ"],[0,"Ğ"],[0,"ğ"],[0,"Ġ"],[0,"ġ"],[0,"Ģ"],[1,"Ĥ"],[0,"ĥ"],[0,"Ħ"],[0,"ħ"],[0,"Ĩ"],[0,"ĩ"],[0,"Ī"],[0,"ī"],[2,"Į"],[0,"į"],[0,"İ"],[0,"ı"],[0,"IJ"],[0,"ij"],[0,"Ĵ"],[0,"ĵ"],[0,"Ķ"],[0,"ķ"],[0,"ĸ"],[0,"Ĺ"],[0,"ĺ"],[0,"Ļ"],[0,"ļ"],[0,"Ľ"],[0,"ľ"],[0,"Ŀ"],[0,"ŀ"],[0,"Ł"],[0,"ł"],[0,"Ń"],[0,"ń"],[0,"Ņ"],[0,"ņ"],[0,"Ň"],[0,"ň"],[0,"ʼn"],[0,"Ŋ"],[0,"ŋ"],[0,"Ō"],[0,"ō"],[2,"Ő"],[0,"ő"],[0,"Œ"],[0,"œ"],[0,"Ŕ"],[0,"ŕ"],[0,"Ŗ"],[0,"ŗ"],[0,"Ř"],[0,"ř"],[0,"Ś"],[0,"ś"],[0,"Ŝ"],[0,"ŝ"],[0,"Ş"],[0,"ş"],[0,"Š"],[0,"š"],[0,"Ţ"],[0,"ţ"],[0,"Ť"],[0,"ť"],[0,"Ŧ"],[0,"ŧ"],[0,"Ũ"],[0,"ũ"],[0,"Ū"],[0,"ū"],[0,"Ŭ"],[0,"ŭ"],[0,"Ů"],[0,"ů"],[0,"Ű"],[0,"ű"],[0,"Ų"],[0,"ų"],[0,"Ŵ"],[0,"ŵ"],[0,"Ŷ"],[0,"ŷ"],[0,"Ÿ"],[0,"Ź"],[0,"ź"],[0,"Ż"],[0,"ż"],[0,"Ž"],[0,"ž"],[19,"ƒ"],[34,"Ƶ"],[63,"ǵ"],[65,"ȷ"],[142,"ˆ"],[0,"ˇ"],[16,"˘"],[0,"˙"],[0,"˚"],[0,"˛"],[0,"˜"],[0,"˝"],[51,"̑"],[127,"Α"],[0,"Β"],[0,"Γ"],[0,"Δ"],[0,"Ε"],[0,"Ζ"],[0,"Η"],[0,"Θ"],[0,"Ι"],[0,"Κ"],[0,"Λ"],[0,"Μ"],[0,"Ν"],[0,"Ξ"],[0,"Ο"],[0,"Π"],[0,"Ρ"],[1,"Σ"],[0,"Τ"],[0,"Υ"],[0,"Φ"],[0,"Χ"],[0,"Ψ"],[0,"Ω"],[7,"α"],[0,"β"],[0,"γ"],[0,"δ"],[0,"ε"],[0,"ζ"],[0,"η"],[0,"θ"],[0,"ι"],[0,"κ"],[0,"λ"],[0,"μ"],[0,"ν"],[0,"ξ"],[0,"ο"],[0,"π"],[0,"ρ"],[0,"ς"],[0,"σ"],[0,"τ"],[0,"υ"],[0,"φ"],[0,"χ"],[0,"ψ"],[0,"ω"],[7,"ϑ"],[0,"ϒ"],[2,"ϕ"],[0,"ϖ"],[5,"Ϝ"],[0,"ϝ"],[18,"ϰ"],[0,"ϱ"],[3,"ϵ"],[0,"϶"],[10,"Ё"],[0,"Ђ"],[0,"Ѓ"],[0,"Є"],[0,"Ѕ"],[0,"І"],[0,"Ї"],[0,"Ј"],[0,"Љ"],[0,"Њ"],[0,"Ћ"],[0,"Ќ"],[1,"Ў"],[0,"Џ"],[0,"А"],[0,"Б"],[0,"В"],[0,"Г"],[0,"Д"],[0,"Е"],[0,"Ж"],[0,"З"],[0,"И"],[0,"Й"],[0,"К"],[0,"Л"],[0,"М"],[0,"Н"],[0,"О"],[0,"П"],[0,"Р"],[0,"С"],[0,"Т"],[0,"У"],[0,"Ф"],[0,"Х"],[0,"Ц"],[0,"Ч"],[0,"Ш"],[0,"Щ"],[0,"Ъ"],[0,"Ы"],[0,"Ь"],[0,"Э"],[0,"Ю"],[0,"Я"],[0,"а"],[0,"б"],[0,"в"],[0,"г"],[0,"д"],[0,"е"],[0,"ж"],[0,"з"],[0,"и"],[0,"й"],[0,"к"],[0,"л"],[0,"м"],[0,"н"],[0,"о"],[0,"п"],[0,"р"],[0,"с"],[0,"т"],[0,"у"],[0,"ф"],[0,"х"],[0,"ц"],[0,"ч"],[0,"ш"],[0,"щ"],[0,"ъ"],[0,"ы"],[0,"ь"],[0,"э"],[0,"ю"],[0,"я"],[1,"ё"],[0,"ђ"],[0,"ѓ"],[0,"є"],[0,"ѕ"],[0,"і"],[0,"ї"],[0,"ј"],[0,"љ"],[0,"њ"],[0,"ћ"],[0,"ќ"],[1,"ў"],[0,"џ"],[7074," "],[0," "],[0," "],[0," "],[1," "],[0," "],[0," "],[0," "],[0,"​"],[0,"‌"],[0,"‍"],[0,"‎"],[0,"‏"],[0,"‐"],[2,"–"],[0,"—"],[0,"―"],[0,"‖"],[1,"‘"],[0,"’"],[0,"‚"],[1,"“"],[0,"”"],[0,"„"],[1,"†"],[0,"‡"],[0,"•"],[2,"‥"],[0,"…"],[9,"‰"],[0,"‱"],[0,"′"],[0,"″"],[0,"‴"],[0,"‵"],[3,"‹"],[0,"›"],[3,"‾"],[2,"⁁"],[1,"⁃"],[0,"⁄"],[10,"⁏"],[7,"⁗"],[7,{v:" ",n:8202,o:"  "}],[0,"⁠"],[0,"⁡"],[0,"⁢"],[0,"⁣"],[72,"€"],[46,"⃛"],[0,"⃜"],[37,"ℂ"],[2,"℅"],[4,"ℊ"],[0,"ℋ"],[0,"ℌ"],[0,"ℍ"],[0,"ℎ"],[0,"ℏ"],[0,"ℐ"],[0,"ℑ"],[0,"ℒ"],[0,"ℓ"],[1,"ℕ"],[0,"№"],[0,"℗"],[0,"℘"],[0,"ℙ"],[0,"ℚ"],[0,"ℛ"],[0,"ℜ"],[0,"ℝ"],[0,"℞"],[3,"™"],[1,"ℤ"],[2,"℧"],[0,"ℨ"],[0,"℩"],[2,"ℬ"],[0,"ℭ"],[1,"ℯ"],[0,"ℰ"],[0,"ℱ"],[1,"ℳ"],[0,"ℴ"],[0,"ℵ"],[0,"ℶ"],[0,"ℷ"],[0,"ℸ"],[12,"ⅅ"],[0,"ⅆ"],[0,"ⅇ"],[0,"ⅈ"],[10,"⅓"],[0,"⅔"],[0,"⅕"],[0,"⅖"],[0,"⅗"],[0,"⅘"],[0,"⅙"],[0,"⅚"],[0,"⅛"],[0,"⅜"],[0,"⅝"],[0,"⅞"],[49,"←"],[0,"↑"],[0,"→"],[0,"↓"],[0,"↔"],[0,"↕"],[0,"↖"],[0,"↗"],[0,"↘"],[0,"↙"],[0,"↚"],[0,"↛"],[1,{v:"↝",n:824,o:"↝̸"}],[0,"↞"],[0,"↟"],[0,"↠"],[0,"↡"],[0,"↢"],[0,"↣"],[0,"↤"],[0,"↥"],[0,"↦"],[0,"↧"],[1,"↩"],[0,"↪"],[0,"↫"],[0,"↬"],[0,"↭"],[0,"↮"],[1,"↰"],[0,"↱"],[0,"↲"],[0,"↳"],[1,"↵"],[0,"↶"],[0,"↷"],[2,"↺"],[0,"↻"],[0,"↼"],[0,"↽"],[0,"↾"],[0,"↿"],[0,"⇀"],[0,"⇁"],[0,"⇂"],[0,"⇃"],[0,"⇄"],[0,"⇅"],[0,"⇆"],[0,"⇇"],[0,"⇈"],[0,"⇉"],[0,"⇊"],[0,"⇋"],[0,"⇌"],[0,"⇍"],[0,"⇎"],[0,"⇏"],[0,"⇐"],[0,"⇑"],[0,"⇒"],[0,"⇓"],[0,"⇔"],[0,"⇕"],[0,"⇖"],[0,"⇗"],[0,"⇘"],[0,"⇙"],[0,"⇚"],[0,"⇛"],[1,"⇝"],[6,"⇤"],[0,"⇥"],[15,"⇵"],[7,"⇽"],[0,"⇾"],[0,"⇿"],[0,"∀"],[0,"∁"],[0,{v:"∂",n:824,o:"∂̸"}],[0,"∃"],[0,"∄"],[0,"∅"],[1,"∇"],[0,"∈"],[0,"∉"],[1,"∋"],[0,"∌"],[2,"∏"],[0,"∐"],[0,"∑"],[0,"−"],[0,"∓"],[0,"∔"],[1,"∖"],[0,"∗"],[0,"∘"],[1,"√"],[2,"∝"],[0,"∞"],[0,"∟"],[0,{v:"∠",n:8402,o:"∠⃒"}],[0,"∡"],[0,"∢"],[0,"∣"],[0,"∤"],[0,"∥"],[0,"∦"],[0,"∧"],[0,"∨"],[0,{v:"∩",n:65024,o:"∩︀"}],[0,{v:"∪",n:65024,o:"∪︀"}],[0,"∫"],[0,"∬"],[0,"∭"],[0,"∮"],[0,"∯"],[0,"∰"],[0,"∱"],[0,"∲"],[0,"∳"],[0,"∴"],[0,"∵"],[0,"∶"],[0,"∷"],[0,"∸"],[1,"∺"],[0,"∻"],[0,{v:"∼",n:8402,o:"∼⃒"}],[0,{v:"∽",n:817,o:"∽̱"}],[0,{v:"∾",n:819,o:"∾̳"}],[0,"∿"],[0,"≀"],[0,"≁"],[0,{v:"≂",n:824,o:"≂̸"}],[0,"≃"],[0,"≄"],[0,"≅"],[0,"≆"],[0,"≇"],[0,"≈"],[0,"≉"],[0,"≊"],[0,{v:"≋",n:824,o:"≋̸"}],[0,"≌"],[0,{v:"≍",n:8402,o:"≍⃒"}],[0,{v:"≎",n:824,o:"≎̸"}],[0,{v:"≏",n:824,o:"≏̸"}],[0,{v:"≐",n:824,o:"≐̸"}],[0,"≑"],[0,"≒"],[0,"≓"],[0,"≔"],[0,"≕"],[0,"≖"],[0,"≗"],[1,"≙"],[0,"≚"],[1,"≜"],[2,"≟"],[0,"≠"],[0,{v:"≡",n:8421,o:"≡⃥"}],[0,"≢"],[1,{v:"≤",n:8402,o:"≤⃒"}],[0,{v:"≥",n:8402,o:"≥⃒"}],[0,{v:"≦",n:824,o:"≦̸"}],[0,{v:"≧",n:824,o:"≧̸"}],[0,{v:"≨",n:65024,o:"≨︀"}],[0,{v:"≩",n:65024,o:"≩︀"}],[0,{v:"≪",n:new Map(restoreDiff([[824,"≪̸"],[7577,"≪⃒"]]))}],[0,{v:"≫",n:new Map(restoreDiff([[824,"≫̸"],[7577,"≫⃒"]]))}],[0,"≬"],[0,"≭"],[0,"≮"],[0,"≯"],[0,"≰"],[0,"≱"],[0,"≲"],[0,"≳"],[0,"≴"],[0,"≵"],[0,"≶"],[0,"≷"],[0,"≸"],[0,"≹"],[0,"≺"],[0,"≻"],[0,"≼"],[0,"≽"],[0,"≾"],[0,{v:"≿",n:824,o:"≿̸"}],[0,"⊀"],[0,"⊁"],[0,{v:"⊂",n:8402,o:"⊂⃒"}],[0,{v:"⊃",n:8402,o:"⊃⃒"}],[0,"⊄"],[0,"⊅"],[0,"⊆"],[0,"⊇"],[0,"⊈"],[0,"⊉"],[0,{v:"⊊",n:65024,o:"⊊︀"}],[0,{v:"⊋",n:65024,o:"⊋︀"}],[1,"⊍"],[0,"⊎"],[0,{v:"⊏",n:824,o:"⊏̸"}],[0,{v:"⊐",n:824,o:"⊐̸"}],[0,"⊑"],[0,"⊒"],[0,{v:"⊓",n:65024,o:"⊓︀"}],[0,{v:"⊔",n:65024,o:"⊔︀"}],[0,"⊕"],[0,"⊖"],[0,"⊗"],[0,"⊘"],[0,"⊙"],[0,"⊚"],[0,"⊛"],[1,"⊝"],[0,"⊞"],[0,"⊟"],[0,"⊠"],[0,"⊡"],[0,"⊢"],[0,"⊣"],[0,"⊤"],[0,"⊥"],[1,"⊧"],[0,"⊨"],[0,"⊩"],[0,"⊪"],[0,"⊫"],[0,"⊬"],[0,"⊭"],[0,"⊮"],[0,"⊯"],[0,"⊰"],[1,"⊲"],[0,"⊳"],[0,{v:"⊴",n:8402,o:"⊴⃒"}],[0,{v:"⊵",n:8402,o:"⊵⃒"}],[0,"⊶"],[0,"⊷"],[0,"⊸"],[0,"⊹"],[0,"⊺"],[0,"⊻"],[1,"⊽"],[0,"⊾"],[0,"⊿"],[0,"⋀"],[0,"⋁"],[0,"⋂"],[0,"⋃"],[0,"⋄"],[0,"⋅"],[0,"⋆"],[0,"⋇"],[0,"⋈"],[0,"⋉"],[0,"⋊"],[0,"⋋"],[0,"⋌"],[0,"⋍"],[0,"⋎"],[0,"⋏"],[0,"⋐"],[0,"⋑"],[0,"⋒"],[0,"⋓"],[0,"⋔"],[0,"⋕"],[0,"⋖"],[0,"⋗"],[0,{v:"⋘",n:824,o:"⋘̸"}],[0,{v:"⋙",n:824,o:"⋙̸"}],[0,{v:"⋚",n:65024,o:"⋚︀"}],[0,{v:"⋛",n:65024,o:"⋛︀"}],[2,"⋞"],[0,"⋟"],[0,"⋠"],[0,"⋡"],[0,"⋢"],[0,"⋣"],[2,"⋦"],[0,"⋧"],[0,"⋨"],[0,"⋩"],[0,"⋪"],[0,"⋫"],[0,"⋬"],[0,"⋭"],[0,"⋮"],[0,"⋯"],[0,"⋰"],[0,"⋱"],[0,"⋲"],[0,"⋳"],[0,"⋴"],[0,{v:"⋵",n:824,o:"⋵̸"}],[0,"⋶"],[0,"⋷"],[1,{v:"⋹",n:824,o:"⋹̸"}],[0,"⋺"],[0,"⋻"],[0,"⋼"],[0,"⋽"],[0,"⋾"],[6,"⌅"],[0,"⌆"],[1,"⌈"],[0,"⌉"],[0,"⌊"],[0,"⌋"],[0,"⌌"],[0,"⌍"],[0,"⌎"],[0,"⌏"],[0,"⌐"],[1,"⌒"],[0,"⌓"],[1,"⌕"],[0,"⌖"],[5,"⌜"],[0,"⌝"],[0,"⌞"],[0,"⌟"],[2,"⌢"],[0,"⌣"],[9,"⌭"],[0,"⌮"],[7,"⌶"],[6,"⌽"],[1,"⌿"],[60,"⍼"],[51,"⎰"],[0,"⎱"],[2,"⎴"],[0,"⎵"],[0,"⎶"],[37,"⏜"],[0,"⏝"],[0,"⏞"],[0,"⏟"],[2,"⏢"],[4,"⏧"],[59,"␣"],[164,"Ⓢ"],[55,"─"],[1,"│"],[9,"┌"],[3,"┐"],[3,"└"],[3,"┘"],[3,"├"],[7,"┤"],[7,"┬"],[7,"┴"],[7,"┼"],[19,"═"],[0,"║"],[0,"╒"],[0,"╓"],[0,"╔"],[0,"╕"],[0,"╖"],[0,"╗"],[0,"╘"],[0,"╙"],[0,"╚"],[0,"╛"],[0,"╜"],[0,"╝"],[0,"╞"],[0,"╟"],[0,"╠"],[0,"╡"],[0,"╢"],[0,"╣"],[0,"╤"],[0,"╥"],[0,"╦"],[0,"╧"],[0,"╨"],[0,"╩"],[0,"╪"],[0,"╫"],[0,"╬"],[19,"▀"],[3,"▄"],[3,"█"],[8,"░"],[0,"▒"],[0,"▓"],[13,"□"],[8,"▪"],[0,"▫"],[1,"▭"],[0,"▮"],[2,"▱"],[1,"△"],[0,"▴"],[0,"▵"],[2,"▸"],[0,"▹"],[3,"▽"],[0,"▾"],[0,"▿"],[2,"◂"],[0,"◃"],[6,"◊"],[0,"○"],[32,"◬"],[2,"◯"],[8,"◸"],[0,"◹"],[0,"◺"],[0,"◻"],[0,"◼"],[8,"★"],[0,"☆"],[7,"☎"],[49,"♀"],[1,"♂"],[29,"♠"],[2,"♣"],[1,"♥"],[0,"♦"],[3,"♪"],[2,"♭"],[0,"♮"],[0,"♯"],[163,"✓"],[3,"✗"],[8,"✠"],[21,"✶"],[33,"❘"],[25,"❲"],[0,"❳"],[84,"⟈"],[0,"⟉"],[28,"⟦"],[0,"⟧"],[0,"⟨"],[0,"⟩"],[0,"⟪"],[0,"⟫"],[0,"⟬"],[0,"⟭"],[7,"⟵"],[0,"⟶"],[0,"⟷"],[0,"⟸"],[0,"⟹"],[0,"⟺"],[1,"⟼"],[2,"⟿"],[258,"⤂"],[0,"⤃"],[0,"⤄"],[0,"⤅"],[6,"⤌"],[0,"⤍"],[0,"⤎"],[0,"⤏"],[0,"⤐"],[0,"⤑"],[0,"⤒"],[0,"⤓"],[2,"⤖"],[2,"⤙"],[0,"⤚"],[0,"⤛"],[0,"⤜"],[0,"⤝"],[0,"⤞"],[0,"⤟"],[0,"⤠"],[2,"⤣"],[0,"⤤"],[0,"⤥"],[0,"⤦"],[0,"⤧"],[0,"⤨"],[0,"⤩"],[0,"⤪"],[8,{v:"⤳",n:824,o:"⤳̸"}],[1,"⤵"],[0,"⤶"],[0,"⤷"],[0,"⤸"],[0,"⤹"],[2,"⤼"],[0,"⤽"],[7,"⥅"],[2,"⥈"],[0,"⥉"],[0,"⥊"],[0,"⥋"],[2,"⥎"],[0,"⥏"],[0,"⥐"],[0,"⥑"],[0,"⥒"],[0,"⥓"],[0,"⥔"],[0,"⥕"],[0,"⥖"],[0,"⥗"],[0,"⥘"],[0,"⥙"],[0,"⥚"],[0,"⥛"],[0,"⥜"],[0,"⥝"],[0,"⥞"],[0,"⥟"],[0,"⥠"],[0,"⥡"],[0,"⥢"],[0,"⥣"],[0,"⥤"],[0,"⥥"],[0,"⥦"],[0,"⥧"],[0,"⥨"],[0,"⥩"],[0,"⥪"],[0,"⥫"],[0,"⥬"],[0,"⥭"],[0,"⥮"],[0,"⥯"],[0,"⥰"],[0,"⥱"],[0,"⥲"],[0,"⥳"],[0,"⥴"],[0,"⥵"],[0,"⥶"],[1,"⥸"],[0,"⥹"],[1,"⥻"],[0,"⥼"],[0,"⥽"],[0,"⥾"],[0,"⥿"],[5,"⦅"],[0,"⦆"],[4,"⦋"],[0,"⦌"],[0,"⦍"],[0,"⦎"],[0,"⦏"],[0,"⦐"],[0,"⦑"],[0,"⦒"],[0,"⦓"],[0,"⦔"],[0,"⦕"],[0,"⦖"],[3,"⦚"],[1,"⦜"],[0,"⦝"],[6,"⦤"],[0,"⦥"],[0,"⦦"],[0,"⦧"],[0,"⦨"],[0,"⦩"],[0,"⦪"],[0,"⦫"],[0,"⦬"],[0,"⦭"],[0,"⦮"],[0,"⦯"],[0,"⦰"],[0,"⦱"],[0,"⦲"],[0,"⦳"],[0,"⦴"],[0,"⦵"],[0,"⦶"],[0,"⦷"],[1,"⦹"],[1,"⦻"],[0,"⦼"],[1,"⦾"],[0,"⦿"],[0,"⧀"],[0,"⧁"],[0,"⧂"],[0,"⧃"],[0,"⧄"],[0,"⧅"],[3,"⧉"],[3,"⧍"],[0,"⧎"],[0,{v:"⧏",n:824,o:"⧏̸"}],[0,{v:"⧐",n:824,o:"⧐̸"}],[11,"⧜"],[0,"⧝"],[0,"⧞"],[4,"⧣"],[0,"⧤"],[0,"⧥"],[5,"⧫"],[8,"⧴"],[1,"⧶"],[9,"⨀"],[0,"⨁"],[0,"⨂"],[1,"⨄"],[1,"⨆"],[5,"⨌"],[0,"⨍"],[2,"⨐"],[0,"⨑"],[0,"⨒"],[0,"⨓"],[0,"⨔"],[0,"⨕"],[0,"⨖"],[0,"⨗"],[10,"⨢"],[0,"⨣"],[0,"⨤"],[0,"⨥"],[0,"⨦"],[0,"⨧"],[1,"⨩"],[0,"⨪"],[2,"⨭"],[0,"⨮"],[0,"⨯"],[0,"⨰"],[0,"⨱"],[1,"⨳"],[0,"⨴"],[0,"⨵"],[0,"⨶"],[0,"⨷"],[0,"⨸"],[0,"⨹"],[0,"⨺"],[0,"⨻"],[0,"⨼"],[2,"⨿"],[0,"⩀"],[1,"⩂"],[0,"⩃"],[0,"⩄"],[0,"⩅"],[0,"⩆"],[0,"⩇"],[0,"⩈"],[0,"⩉"],[0,"⩊"],[0,"⩋"],[0,"⩌"],[0,"⩍"],[2,"⩐"],[2,"⩓"],[0,"⩔"],[0,"⩕"],[0,"⩖"],[0,"⩗"],[0,"⩘"],[1,"⩚"],[0,"⩛"],[0,"⩜"],[0,"⩝"],[1,"⩟"],[6,"⩦"],[3,"⩪"],[2,{v:"⩭",n:824,o:"⩭̸"}],[0,"⩮"],[0,"⩯"],[0,{v:"⩰",n:824,o:"⩰̸"}],[0,"⩱"],[0,"⩲"],[0,"⩳"],[0,"⩴"],[0,"⩵"],[1,"⩷"],[0,"⩸"],[0,"⩹"],[0,"⩺"],[0,"⩻"],[0,"⩼"],[0,{v:"⩽",n:824,o:"⩽̸"}],[0,{v:"⩾",n:824,o:"⩾̸"}],[0,"⩿"],[0,"⪀"],[0,"⪁"],[0,"⪂"],[0,"⪃"],[0,"⪄"],[0,"⪅"],[0,"⪆"],[0,"⪇"],[0,"⪈"],[0,"⪉"],[0,"⪊"],[0,"⪋"],[0,"⪌"],[0,"⪍"],[0,"⪎"],[0,"⪏"],[0,"⪐"],[0,"⪑"],[0,"⪒"],[0,"⪓"],[0,"⪔"],[0,"⪕"],[0,"⪖"],[0,"⪗"],[0,"⪘"],[0,"⪙"],[0,"⪚"],[2,"⪝"],[0,"⪞"],[0,"⪟"],[0,"⪠"],[0,{v:"⪡",n:824,o:"⪡̸"}],[0,{v:"⪢",n:824,o:"⪢̸"}],[1,"⪤"],[0,"⪥"],[0,"⪦"],[0,"⪧"],[0,"⪨"],[0,"⪩"],[0,"⪪"],[0,"⪫"],[0,{v:"⪬",n:65024,o:"⪬︀"}],[0,{v:"⪭",n:65024,o:"⪭︀"}],[0,"⪮"],[0,{v:"⪯",n:824,o:"⪯̸"}],[0,{v:"⪰",n:824,o:"⪰̸"}],[2,"⪳"],[0,"⪴"],[0,"⪵"],[0,"⪶"],[0,"⪷"],[0,"⪸"],[0,"⪹"],[0,"⪺"],[0,"⪻"],[0,"⪼"],[0,"⪽"],[0,"⪾"],[0,"⪿"],[0,"⫀"],[0,"⫁"],[0,"⫂"],[0,"⫃"],[0,"⫄"],[0,{v:"⫅",n:824,o:"⫅̸"}],[0,{v:"⫆",n:824,o:"⫆̸"}],[0,"⫇"],[0,"⫈"],[2,{v:"⫋",n:65024,o:"⫋︀"}],[0,{v:"⫌",n:65024,o:"⫌︀"}],[2,"⫏"],[0,"⫐"],[0,"⫑"],[0,"⫒"],[0,"⫓"],[0,"⫔"],[0,"⫕"],[0,"⫖"],[0,"⫗"],[0,"⫘"],[0,"⫙"],[0,"⫚"],[0,"⫛"],[8,"⫤"],[1,"⫦"],[0,"⫧"],[0,"⫨"],[0,"⫩"],[1,"⫫"],[0,"⫬"],[0,"⫭"],[0,"⫮"],[0,"⫯"],[0,"⫰"],[0,"⫱"],[0,"⫲"],[0,"⫳"],[9,{v:"⫽",n:8421,o:"⫽⃥"}],[44343,{n:new Map(restoreDiff([[56476,"𝒜"],[1,"𝒞"],[0,"𝒟"],[2,"𝒢"],[2,"𝒥"],[0,"𝒦"],[2,"𝒩"],[0,"𝒪"],[0,"𝒫"],[0,"𝒬"],[1,"𝒮"],[0,"𝒯"],[0,"𝒰"],[0,"𝒱"],[0,"𝒲"],[0,"𝒳"],[0,"𝒴"],[0,"𝒵"],[0,"𝒶"],[0,"𝒷"],[0,"𝒸"],[0,"𝒹"],[1,"𝒻"],[1,"𝒽"],[0,"𝒾"],[0,"𝒿"],[0,"𝓀"],[0,"𝓁"],[0,"𝓂"],[0,"𝓃"],[1,"𝓅"],[0,"𝓆"],[0,"𝓇"],[0,"𝓈"],[0,"𝓉"],[0,"𝓊"],[0,"𝓋"],[0,"𝓌"],[0,"𝓍"],[0,"𝓎"],[0,"𝓏"],[52,"𝔄"],[0,"𝔅"],[1,"𝔇"],[0,"𝔈"],[0,"𝔉"],[0,"𝔊"],[2,"𝔍"],[0,"𝔎"],[0,"𝔏"],[0,"𝔐"],[0,"𝔑"],[0,"𝔒"],[0,"𝔓"],[0,"𝔔"],[1,"𝔖"],[0,"𝔗"],[0,"𝔘"],[0,"𝔙"],[0,"𝔚"],[0,"𝔛"],[0,"𝔜"],[1,"𝔞"],[0,"𝔟"],[0,"𝔠"],[0,"𝔡"],[0,"𝔢"],[0,"𝔣"],[0,"𝔤"],[0,"𝔥"],[0,"𝔦"],[0,"𝔧"],[0,"𝔨"],[0,"𝔩"],[0,"𝔪"],[0,"𝔫"],[0,"𝔬"],[0,"𝔭"],[0,"𝔮"],[0,"𝔯"],[0,"𝔰"],[0,"𝔱"],[0,"𝔲"],[0,"𝔳"],[0,"𝔴"],[0,"𝔵"],[0,"𝔶"],[0,"𝔷"],[0,"𝔸"],[0,"𝔹"],[1,"𝔻"],[0,"𝔼"],[0,"𝔽"],[0,"𝔾"],[1,"𝕀"],[0,"𝕁"],[0,"𝕂"],[0,"𝕃"],[0,"𝕄"],[1,"𝕆"],[3,"𝕊"],[0,"𝕋"],[0,"𝕌"],[0,"𝕍"],[0,"𝕎"],[0,"𝕏"],[0,"𝕐"],[1,"𝕒"],[0,"𝕓"],[0,"𝕔"],[0,"𝕕"],[0,"𝕖"],[0,"𝕗"],[0,"𝕘"],[0,"𝕙"],[0,"𝕚"],[0,"𝕛"],[0,"𝕜"],[0,"𝕝"],[0,"𝕞"],[0,"𝕟"],[0,"𝕠"],[0,"𝕡"],[0,"𝕢"],[0,"𝕣"],[0,"𝕤"],[0,"𝕥"],[0,"𝕦"],[0,"𝕧"],[0,"𝕨"],[0,"𝕩"],[0,"𝕪"],[0,"𝕫"]]))}],[8906,"ff"],[0,"fi"],[0,"fl"],[0,"ffi"],[0,"ffl"]]));var _escape={};(function(exports){Object.defineProperty(exports,"__esModule",{value:true});exports.escapeText=exports.escapeAttribute=exports.escapeUTF8=exports.escape=exports.encodeXML=exports.getCodePoint=exports.xmlReplacer=void 0;exports.xmlReplacer=/["&'<>$\x80-\uFFFF]/g;var xmlCodeMap=new Map([[34,"""],[38,"&"],[39,"'"],[60,"<"],[62,">"]]);exports.getCodePoint=String.prototype.codePointAt!=null?function(str,index){return str.codePointAt(index)}:function(c,index){return(c.charCodeAt(index)&64512)===55296?(c.charCodeAt(index)-55296)*1024+c.charCodeAt(index+1)-56320+65536:c.charCodeAt(index)};function encodeXML(str){var ret="";var lastIdx=0;var match;while((match=exports.xmlReplacer.exec(str))!==null){var i=match.index;var char=str.charCodeAt(i);var next=xmlCodeMap.get(char);if(next!==undefined){ret+=str.substring(lastIdx,i)+next;lastIdx=i+1}else{ret+="".concat(str.substring(lastIdx,i),"&#x").concat((0,exports.getCodePoint)(str,i).toString(16),";");lastIdx=exports.xmlReplacer.lastIndex+=Number((char&64512)===55296)}}return ret+str.substr(lastIdx)}exports.encodeXML=encodeXML;exports.escape=encodeXML;function getEscaper(regex,map){return function escape(data){var match;var lastIdx=0;var result="";while(match=regex.exec(data)){if(lastIdx!==match.index){result+=data.substring(lastIdx,match.index)}result+=map.get(match[0].charCodeAt(0));lastIdx=match.index+1}return result+data.substring(lastIdx)}}exports.escapeUTF8=getEscaper(/[&<>'"]/g,xmlCodeMap);exports.escapeAttribute=getEscaper(/["&\u00A0]/g,new Map([[34,"""],[38,"&"],[160," "]]));exports.escapeText=getEscaper(/[&<>\u00A0]/g,new Map([[38,"&"],[60,"<"],[62,">"],[160," "]]))})(_escape);var __importDefault$4=commonjsGlobal&&commonjsGlobal.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(encode$3,"__esModule",{value:true});encode$3.encodeNonAsciiHTML=encode$3.encodeHTML=void 0;var encode_html_js_1=__importDefault$4(encodeHtml);var escape_js_1=_escape;var htmlReplacer=/[\t\n!-,./:-@[-`\f{-}$\x80-\uFFFF]/g;function encodeHTML(data){return encodeHTMLTrieRe(htmlReplacer,data)}encode$3.encodeHTML=encodeHTML;function encodeNonAsciiHTML(data){return encodeHTMLTrieRe(escape_js_1.xmlReplacer,data)}encode$3.encodeNonAsciiHTML=encodeNonAsciiHTML;function encodeHTMLTrieRe(regExp,str){var ret="";var lastIdx=0;var match;while((match=regExp.exec(str))!==null){var i=match.index;ret+=str.substring(lastIdx,i);var char=str.charCodeAt(i);var next=encode_html_js_1.default.get(char);if(typeof next==="object"){if(i+1<str.length){var nextChar=str.charCodeAt(i+1);var value=typeof next.n==="number"?next.n===nextChar?next.o:undefined:next.n.get(nextChar);if(value!==undefined){ret+=value;lastIdx=regExp.lastIndex+=1;continue}}next=next.v}if(next!==undefined){ret+=next;lastIdx=i+1}else{var cp=(0,escape_js_1.getCodePoint)(str,i);ret+="&#x".concat(cp.toString(16),";");lastIdx=regExp.lastIndex+=Number(cp!==char)}}return ret+str.substr(lastIdx)}(function(exports){Object.defineProperty(exports,"__esModule",{value:true});exports.decodeXMLStrict=exports.decodeHTML5Strict=exports.decodeHTML4Strict=exports.decodeHTML5=exports.decodeHTML4=exports.decodeHTMLStrict=exports.decodeHTML=exports.decodeXML=exports.encodeHTML5=exports.encodeHTML4=exports.encodeNonAsciiHTML=exports.encodeHTML=exports.escapeText=exports.escapeAttribute=exports.escapeUTF8=exports.escape=exports.encodeXML=exports.encode=exports.decodeStrict=exports.decode=exports.EncodingMode=exports.DecodingMode=exports.EntityLevel=void 0;var decode_js_1=decode$3;var encode_js_1=encode$3;var escape_js_1=_escape;var EntityLevel;(function(EntityLevel){EntityLevel[EntityLevel["XML"]=0]="XML";EntityLevel[EntityLevel["HTML"]=1]="HTML"})(EntityLevel=exports.EntityLevel||(exports.EntityLevel={}));var DecodingMode;(function(DecodingMode){DecodingMode[DecodingMode["Legacy"]=0]="Legacy";DecodingMode[DecodingMode["Strict"]=1]="Strict"})(DecodingMode=exports.DecodingMode||(exports.DecodingMode={}));var EncodingMode;(function(EncodingMode){EncodingMode[EncodingMode["UTF8"]=0]="UTF8";EncodingMode[EncodingMode["ASCII"]=1]="ASCII";EncodingMode[EncodingMode["Extensive"]=2]="Extensive";EncodingMode[EncodingMode["Attribute"]=3]="Attribute";EncodingMode[EncodingMode["Text"]=4]="Text"})(EncodingMode=exports.EncodingMode||(exports.EncodingMode={}));function decode(data,options){if(options===void 0){options=EntityLevel.XML}var opts=typeof options==="number"?{level:options}:options;if(opts.level===EntityLevel.HTML){if(opts.mode===DecodingMode.Strict){return(0,decode_js_1.decodeHTMLStrict)(data)}return(0,decode_js_1.decodeHTML)(data)}return(0,decode_js_1.decodeXML)(data)}exports.decode=decode;function decodeStrict(data,options){if(options===void 0){options=EntityLevel.XML}var opts=typeof options==="number"?{level:options}:options;if(opts.level===EntityLevel.HTML){if(opts.mode===DecodingMode.Legacy){return(0,decode_js_1.decodeHTML)(data)}return(0,decode_js_1.decodeHTMLStrict)(data)}return(0,decode_js_1.decodeXML)(data)}exports.decodeStrict=decodeStrict;function encode(data,options){if(options===void 0){options=EntityLevel.XML}var opts=typeof options==="number"?{level:options}:options;if(opts.mode===EncodingMode.UTF8)return(0,escape_js_1.escapeUTF8)(data);if(opts.mode===EncodingMode.Attribute)return(0,escape_js_1.escapeAttribute)(data);if(opts.mode===EncodingMode.Text)return(0,escape_js_1.escapeText)(data);if(opts.level===EntityLevel.HTML){if(opts.mode===EncodingMode.ASCII){return(0,encode_js_1.encodeNonAsciiHTML)(data)}return(0,encode_js_1.encodeHTML)(data)}return(0,escape_js_1.encodeXML)(data)}exports.encode=encode;var escape_js_2=_escape;Object.defineProperty(exports,"encodeXML",{enumerable:true,get:function(){return escape_js_2.encodeXML}});Object.defineProperty(exports,"escape",{enumerable:true,get:function(){return escape_js_2.escape}});Object.defineProperty(exports,"escapeUTF8",{enumerable:true,get:function(){return escape_js_2.escapeUTF8}});Object.defineProperty(exports,"escapeAttribute",{enumerable:true,get:function(){return escape_js_2.escapeAttribute}});Object.defineProperty(exports,"escapeText",{enumerable:true,get:function(){return escape_js_2.escapeText}});var encode_js_2=encode$3;Object.defineProperty(exports,"encodeHTML",{enumerable:true,get:function(){return encode_js_2.encodeHTML}});Object.defineProperty(exports,"encodeNonAsciiHTML",{enumerable:true,get:function(){return encode_js_2.encodeNonAsciiHTML}});Object.defineProperty(exports,"encodeHTML4",{enumerable:true,get:function(){return encode_js_2.encodeHTML}});Object.defineProperty(exports,"encodeHTML5",{enumerable:true,get:function(){return encode_js_2.encodeHTML}});var decode_js_2=decode$3;Object.defineProperty(exports,"decodeXML",{enumerable:true,get:function(){return decode_js_2.decodeXML}});Object.defineProperty(exports,"decodeHTML",{enumerable:true,get:function(){return decode_js_2.decodeHTML}});Object.defineProperty(exports,"decodeHTMLStrict",{enumerable:true,get:function(){return decode_js_2.decodeHTMLStrict}});Object.defineProperty(exports,"decodeHTML4",{enumerable:true,get:function(){return decode_js_2.decodeHTML}});Object.defineProperty(exports,"decodeHTML5",{enumerable:true,get:function(){return decode_js_2.decodeHTML}});Object.defineProperty(exports,"decodeHTML4Strict",{enumerable:true,get:function(){return decode_js_2.decodeHTMLStrict}});Object.defineProperty(exports,"decodeHTML5Strict",{enumerable:true,get:function(){return decode_js_2.decodeHTMLStrict}});Object.defineProperty(exports,"decodeXMLStrict",{enumerable:true,get:function(){return decode_js_2.decodeXML}})})(lib$1);var foreignNames={};Object.defineProperty(foreignNames,"__esModule",{value:true});foreignNames.attributeNames=foreignNames.elementNames=void 0;foreignNames.elementNames=new Map(["altGlyph","altGlyphDef","altGlyphItem","animateColor","animateMotion","animateTransform","clipPath","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","foreignObject","glyphRef","linearGradient","radialGradient","textPath"].map((function(val){return[val.toLowerCase(),val]})));foreignNames.attributeNames=new Map(["definitionURL","attributeName","attributeType","baseFrequency","baseProfile","calcMode","clipPathUnits","diffuseConstant","edgeMode","filterUnits","glyphRef","gradientTransform","gradientUnits","kernelMatrix","kernelUnitLength","keyPoints","keySplines","keyTimes","lengthAdjust","limitingConeAngle","markerHeight","markerUnits","markerWidth","maskContentUnits","maskUnits","numOctaves","pathLength","patternContentUnits","patternTransform","patternUnits","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","refX","refY","repeatCount","repeatDur","requiredExtensions","requiredFeatures","specularConstant","specularExponent","spreadMethod","startOffset","stdDeviation","stitchTiles","surfaceScale","systemLanguage","tableValues","targetX","targetY","textLength","viewBox","viewTarget","xChannelSelector","yChannelSelector","zoomAndPan"].map((function(val){return[val.toLowerCase(),val]})));var __assign=commonjsGlobal&&commonjsGlobal.__assign||function(){__assign=Object.assign||function(t){for(var s,i=1,n=arguments.length;i<n;i++){s=arguments[i];for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p))t[p]=s[p]}return t};return __assign.apply(this,arguments)};var __createBinding$1=commonjsGlobal&&commonjsGlobal.__createBinding||(Object.create?function(o,m,k,k2){if(k2===undefined)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable)){desc={enumerable:true,get:function(){return m[k]}}}Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===undefined)k2=k;o[k2]=m[k]});var __setModuleDefault$1=commonjsGlobal&&commonjsGlobal.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:true,value:v})}:function(o,v){o["default"]=v});var __importStar$1=commonjsGlobal&&commonjsGlobal.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null)for(var k in mod)if(k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k))__createBinding$1(result,mod,k);__setModuleDefault$1(result,mod);return result};Object.defineProperty(lib$2,"__esModule",{value:true});lib$2.render=void 0;var ElementType=__importStar$1(lib$3);var entities_1=lib$1;var foreignNames_js_1=foreignNames;var unencodedElements=new Set(["style","script","xmp","iframe","noembed","noframes","plaintext","noscript"]);function replaceQuotes(value){return value.replace(/"/g,""")}function formatAttributes(attributes,opts){var _a;if(!attributes)return;var encode=((_a=opts.encodeEntities)!==null&&_a!==void 0?_a:opts.decodeEntities)===false?replaceQuotes:opts.xmlMode||opts.encodeEntities!=="utf8"?entities_1.encodeXML:entities_1.escapeAttribute;return Object.keys(attributes).map((function(key){var _a,_b;var value=(_a=attributes[key])!==null&&_a!==void 0?_a:"";if(opts.xmlMode==="foreign"){key=(_b=foreignNames_js_1.attributeNames.get(key))!==null&&_b!==void 0?_b:key}if(!opts.emptyAttrs&&!opts.xmlMode&&value===""){return key}return"".concat(key,'="').concat(encode(value),'"')})).join(" ")}var singleTag=new Set(["area","base","basefont","br","col","command","embed","frame","hr","img","input","isindex","keygen","link","meta","param","source","track","wbr"]);function render(node,options){if(options===void 0){options={}}var nodes="length"in node?node:[node];var output="";for(var i=0;i<nodes.length;i++){output+=renderNode(nodes[i],options)}return output}lib$2.render=render;lib$2.default=render;function renderNode(node,options){switch(node.type){case ElementType.Root:return render(node.children,options);case ElementType.Doctype:case ElementType.Directive:return renderDirective(node);case ElementType.Comment:return renderComment(node);case ElementType.CDATA:return renderCdata(node);case ElementType.Script:case ElementType.Style:case ElementType.Tag:return renderTag(node,options);case ElementType.Text:return renderText(node,options)}}var foreignModeIntegrationPoints=new Set(["mi","mo","mn","ms","mtext","annotation-xml","foreignObject","desc","title"]);var foreignElements=new Set(["svg","math"]);function renderTag(elem,opts){var _a;if(opts.xmlMode==="foreign"){elem.name=(_a=foreignNames_js_1.elementNames.get(elem.name))!==null&&_a!==void 0?_a:elem.name;if(elem.parent&&foreignModeIntegrationPoints.has(elem.parent.name)){opts=__assign(__assign({},opts),{xmlMode:false})}}if(!opts.xmlMode&&foreignElements.has(elem.name)){opts=__assign(__assign({},opts),{xmlMode:"foreign"})}var tag="<".concat(elem.name);var attribs=formatAttributes(elem.attribs,opts);if(attribs){tag+=" ".concat(attribs)}if(elem.children.length===0&&(opts.xmlMode?opts.selfClosingTags!==false:opts.selfClosingTags&&singleTag.has(elem.name))){if(!opts.xmlMode)tag+=" ";tag+="/>"}else{tag+=">";if(elem.children.length>0){tag+=render(elem.children,opts)}if(opts.xmlMode||!singleTag.has(elem.name)){tag+="</".concat(elem.name,">")}}return tag}function renderDirective(elem){return"<".concat(elem.data,">")}function renderText(elem,opts){var _a;var data=elem.data||"";if(((_a=opts.encodeEntities)!==null&&_a!==void 0?_a:opts.decodeEntities)!==false&&!(!opts.xmlMode&&elem.parent&&unencodedElements.has(elem.parent.name))){data=opts.xmlMode||opts.encodeEntities!=="utf8"?(0,entities_1.encodeXML)(data):(0,entities_1.escapeText)(data)}return data}function renderCdata(elem){return"<![CDATA[".concat(elem.children[0].data,"]]>")}function renderComment(elem){return"\x3c!--".concat(elem.data,"--\x3e")}var __importDefault$3=commonjsGlobal&&commonjsGlobal.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(stringify$1,"__esModule",{value:true});stringify$1.innerText=stringify$1.textContent=stringify$1.getText=stringify$1.getInnerHTML=stringify$1.getOuterHTML=void 0;var domhandler_1$3=lib$4;var dom_serializer_1=__importDefault$3(lib$2);var domelementtype_1=lib$3;function getOuterHTML(node,options){return(0,dom_serializer_1.default)(node,options)}stringify$1.getOuterHTML=getOuterHTML;function getInnerHTML(node,options){return(0,domhandler_1$3.hasChildren)(node)?node.children.map((function(node){return getOuterHTML(node,options)})).join(""):""}stringify$1.getInnerHTML=getInnerHTML;function getText$1(node){if(Array.isArray(node))return node.map(getText$1).join("");if((0,domhandler_1$3.isTag)(node))return node.name==="br"?"\n":getText$1(node.children);if((0,domhandler_1$3.isCDATA)(node))return getText$1(node.children);if((0,domhandler_1$3.isText)(node))return node.data;return""}stringify$1.getText=getText$1;function textContent(node){if(Array.isArray(node))return node.map(textContent).join("");if((0,domhandler_1$3.hasChildren)(node)&&!(0,domhandler_1$3.isComment)(node)){return textContent(node.children)}if((0,domhandler_1$3.isText)(node))return node.data;return""}stringify$1.textContent=textContent;function innerText(node){if(Array.isArray(node))return node.map(innerText).join("");if((0,domhandler_1$3.hasChildren)(node)&&(node.type===domelementtype_1.ElementType.Tag||(0,domhandler_1$3.isCDATA)(node))){return innerText(node.children)}if((0,domhandler_1$3.isText)(node))return node.data;return""}stringify$1.innerText=innerText;var traversal={};Object.defineProperty(traversal,"__esModule",{value:true});traversal.prevElementSibling=traversal.nextElementSibling=traversal.getName=traversal.hasAttrib=traversal.getAttributeValue=traversal.getSiblings=traversal.getParent=traversal.getChildren=void 0;var domhandler_1$2=lib$4;function getChildren$1(elem){return(0,domhandler_1$2.hasChildren)(elem)?elem.children:[]}traversal.getChildren=getChildren$1;function getParent$1(elem){return elem.parent||null}traversal.getParent=getParent$1;function getSiblings$1(elem){var _a,_b;var parent=getParent$1(elem);if(parent!=null)return getChildren$1(parent);var siblings=[elem];var prev=elem.prev,next=elem.next;while(prev!=null){siblings.unshift(prev);_a=prev,prev=_a.prev}while(next!=null){siblings.push(next);_b=next,next=_b.next}return siblings}traversal.getSiblings=getSiblings$1;function getAttributeValue$1(elem,name){var _a;return(_a=elem.attribs)===null||_a===void 0?void 0:_a[name]}traversal.getAttributeValue=getAttributeValue$1;function hasAttrib$1(elem,name){return elem.attribs!=null&&Object.prototype.hasOwnProperty.call(elem.attribs,name)&&elem.attribs[name]!=null}traversal.hasAttrib=hasAttrib$1;function getName$1(elem){return elem.name}traversal.getName=getName$1;function nextElementSibling(elem){var _a;var next=elem.next;while(next!==null&&!(0,domhandler_1$2.isTag)(next))_a=next,next=_a.next;return next}traversal.nextElementSibling=nextElementSibling;function prevElementSibling(elem){var _a;var prev=elem.prev;while(prev!==null&&!(0,domhandler_1$2.isTag)(prev))_a=prev,prev=_a.prev;return prev}traversal.prevElementSibling=prevElementSibling;var manipulation={};Object.defineProperty(manipulation,"__esModule",{value:true});manipulation.prepend=manipulation.prependChild=manipulation.append=manipulation.appendChild=manipulation.replaceElement=manipulation.removeElement=void 0;function removeElement(elem){if(elem.prev)elem.prev.next=elem.next;if(elem.next)elem.next.prev=elem.prev;if(elem.parent){var childs=elem.parent.children;childs.splice(childs.lastIndexOf(elem),1)}}manipulation.removeElement=removeElement;function replaceElement(elem,replacement){var prev=replacement.prev=elem.prev;if(prev){prev.next=replacement}var next=replacement.next=elem.next;if(next){next.prev=replacement}var parent=replacement.parent=elem.parent;if(parent){var childs=parent.children;childs[childs.lastIndexOf(elem)]=replacement;elem.parent=null}}manipulation.replaceElement=replaceElement;function appendChild(elem,child){removeElement(child);child.next=null;child.parent=elem;if(elem.children.push(child)>1){var sibling=elem.children[elem.children.length-2];sibling.next=child;child.prev=sibling}else{child.prev=null}}manipulation.appendChild=appendChild;function append$1(elem,next){removeElement(next);var parent=elem.parent;var currNext=elem.next;next.next=currNext;next.prev=elem;elem.next=next;next.parent=parent;if(currNext){currNext.prev=next;if(parent){var childs=parent.children;childs.splice(childs.lastIndexOf(currNext),0,next)}}else if(parent){parent.children.push(next)}}manipulation.append=append$1;function prependChild(elem,child){removeElement(child);child.parent=elem;child.prev=null;if(elem.children.unshift(child)!==1){var sibling=elem.children[1];sibling.prev=child;child.next=sibling}else{child.next=null}}manipulation.prependChild=prependChild;function prepend(elem,prev){removeElement(prev);var parent=elem.parent;if(parent){var childs=parent.children;childs.splice(childs.indexOf(elem),0,prev)}if(elem.prev){elem.prev.next=prev}prev.parent=parent;prev.prev=elem.prev;prev.next=elem;elem.prev=prev}manipulation.prepend=prepend;var querying={};Object.defineProperty(querying,"__esModule",{value:true});querying.findAll=querying.existsOne=querying.findOne=querying.findOneChild=querying.find=querying.filter=void 0;var domhandler_1$1=lib$4;function filter(test,node,recurse,limit){if(recurse===void 0){recurse=true}if(limit===void 0){limit=Infinity}if(!Array.isArray(node))node=[node];return find$2(test,node,recurse,limit)}querying.filter=filter;function find$2(test,nodes,recurse,limit){var result=[];for(var _i=0,nodes_1=nodes;_i<nodes_1.length;_i++){var elem=nodes_1[_i];if(test(elem)){result.push(elem);if(--limit<=0)break}if(recurse&&(0,domhandler_1$1.hasChildren)(elem)&&elem.children.length>0){var children=find$2(test,elem.children,recurse,limit);result.push.apply(result,children);limit-=children.length;if(limit<=0)break}}return result}querying.find=find$2;function findOneChild(test,nodes){return nodes.find(test)}querying.findOneChild=findOneChild;function findOne$1(test,nodes,recurse){if(recurse===void 0){recurse=true}var elem=null;for(var i=0;i<nodes.length&&!elem;i++){var checked=nodes[i];if(!(0,domhandler_1$1.isTag)(checked)){continue}else if(test(checked)){elem=checked}else if(recurse&&checked.children.length>0){elem=findOne$1(test,checked.children,true)}}return elem}querying.findOne=findOne$1;function existsOne$1(test,nodes){return nodes.some((function(checked){return(0,domhandler_1$1.isTag)(checked)&&(test(checked)||checked.children.length>0&&existsOne$1(test,checked.children))}))}querying.existsOne=existsOne$1;function findAll$3(test,nodes){var _a;var result=[];var stack=nodes.filter(domhandler_1$1.isTag);var elem;while(elem=stack.shift()){var children=(_a=elem.children)===null||_a===void 0?void 0:_a.filter(domhandler_1$1.isTag);if(children&&children.length>0){stack.unshift.apply(stack,children)}if(test(elem))result.push(elem)}return result}querying.findAll=findAll$3;var legacy={};Object.defineProperty(legacy,"__esModule",{value:true});legacy.getElementsByTagType=legacy.getElementsByTagName=legacy.getElementById=legacy.getElements=legacy.testElement=void 0;var domhandler_1=lib$4;var querying_js_1=querying;var Checks={tag_name:function(name){if(typeof name==="function"){return function(elem){return(0,domhandler_1.isTag)(elem)&&name(elem.name)}}else if(name==="*"){return domhandler_1.isTag}return function(elem){return(0,domhandler_1.isTag)(elem)&&elem.name===name}},tag_type:function(type){if(typeof type==="function"){return function(elem){return type(elem.type)}}return function(elem){return elem.type===type}},tag_contains:function(data){if(typeof data==="function"){return function(elem){return(0,domhandler_1.isText)(elem)&&data(elem.data)}}return function(elem){return(0,domhandler_1.isText)(elem)&&elem.data===data}}};function getAttribCheck(attrib,value){if(typeof value==="function"){return function(elem){return(0,domhandler_1.isTag)(elem)&&value(elem.attribs[attrib])}}return function(elem){return(0,domhandler_1.isTag)(elem)&&elem.attribs[attrib]===value}}function combineFuncs(a,b){return function(elem){return a(elem)||b(elem)}}function compileTest(options){var funcs=Object.keys(options).map((function(key){var value=options[key];return Object.prototype.hasOwnProperty.call(Checks,key)?Checks[key](value):getAttribCheck(key,value)}));return funcs.length===0?null:funcs.reduce(combineFuncs)}function testElement(options,node){var test=compileTest(options);return test?test(node):true}legacy.testElement=testElement;function getElements(options,nodes,recurse,limit){if(limit===void 0){limit=Infinity}var test=compileTest(options);return test?(0,querying_js_1.filter)(test,nodes,recurse,limit):[]}legacy.getElements=getElements;function getElementById(id,nodes,recurse){if(recurse===void 0){recurse=true}if(!Array.isArray(nodes))nodes=[nodes];return(0,querying_js_1.findOne)(getAttribCheck("id",id),nodes,recurse)}legacy.getElementById=getElementById;function getElementsByTagName(tagName,nodes,recurse,limit){if(recurse===void 0){recurse=true}if(limit===void 0){limit=Infinity}return(0,querying_js_1.filter)(Checks["tag_name"](tagName),nodes,recurse,limit)}legacy.getElementsByTagName=getElementsByTagName;function getElementsByTagType(type,nodes,recurse,limit){if(recurse===void 0){recurse=true}if(limit===void 0){limit=Infinity}return(0,querying_js_1.filter)(Checks["tag_type"](type),nodes,recurse,limit)}legacy.getElementsByTagType=getElementsByTagType;var helpers={};(function(exports){Object.defineProperty(exports,"__esModule",{value:true});exports.uniqueSort=exports.compareDocumentPosition=exports.DocumentPosition=exports.removeSubsets=void 0;var domhandler_1=lib$4;function removeSubsets(nodes){var idx=nodes.length;while(--idx>=0){var node=nodes[idx];if(idx>0&&nodes.lastIndexOf(node,idx-1)>=0){nodes.splice(idx,1);continue}for(var ancestor=node.parent;ancestor;ancestor=ancestor.parent){if(nodes.includes(ancestor)){nodes.splice(idx,1);break}}}return nodes}exports.removeSubsets=removeSubsets;var DocumentPosition;(function(DocumentPosition){DocumentPosition[DocumentPosition["DISCONNECTED"]=1]="DISCONNECTED";DocumentPosition[DocumentPosition["PRECEDING"]=2]="PRECEDING";DocumentPosition[DocumentPosition["FOLLOWING"]=4]="FOLLOWING";DocumentPosition[DocumentPosition["CONTAINS"]=8]="CONTAINS";DocumentPosition[DocumentPosition["CONTAINED_BY"]=16]="CONTAINED_BY"})(DocumentPosition=exports.DocumentPosition||(exports.DocumentPosition={}));function compareDocumentPosition(nodeA,nodeB){var aParents=[];var bParents=[];if(nodeA===nodeB){return 0}var current=(0,domhandler_1.hasChildren)(nodeA)?nodeA:nodeA.parent;while(current){aParents.unshift(current);current=current.parent}current=(0,domhandler_1.hasChildren)(nodeB)?nodeB:nodeB.parent;while(current){bParents.unshift(current);current=current.parent}var maxIdx=Math.min(aParents.length,bParents.length);var idx=0;while(idx<maxIdx&&aParents[idx]===bParents[idx]){idx++}if(idx===0){return DocumentPosition.DISCONNECTED}var sharedParent=aParents[idx-1];var siblings=sharedParent.children;var aSibling=aParents[idx];var bSibling=bParents[idx];if(siblings.indexOf(aSibling)>siblings.indexOf(bSibling)){if(sharedParent===nodeB){return DocumentPosition.FOLLOWING|DocumentPosition.CONTAINED_BY}return DocumentPosition.FOLLOWING}if(sharedParent===nodeA){return DocumentPosition.PRECEDING|DocumentPosition.CONTAINS}return DocumentPosition.PRECEDING}exports.compareDocumentPosition=compareDocumentPosition;function uniqueSort(nodes){nodes=nodes.filter((function(node,i,arr){return!arr.includes(node,i+1)}));nodes.sort((function(a,b){var relative=compareDocumentPosition(a,b);if(relative&DocumentPosition.PRECEDING){return-1}else if(relative&DocumentPosition.FOLLOWING){return 1}return 0}));return nodes}exports.uniqueSort=uniqueSort})(helpers);var feeds={};Object.defineProperty(feeds,"__esModule",{value:true});feeds.getFeed=void 0;var stringify_js_1=stringify$1;var legacy_js_1=legacy;function getFeed(doc){var feedRoot=getOneElement(isValidFeed,doc);return!feedRoot?null:feedRoot.name==="feed"?getAtomFeed(feedRoot):getRssFeed(feedRoot)}feeds.getFeed=getFeed;function getAtomFeed(feedRoot){var _a;var childs=feedRoot.children;var feed={type:"atom",items:(0,legacy_js_1.getElementsByTagName)("entry",childs).map((function(item){var _a;var children=item.children;var entry={media:getMediaElements(children)};addConditionally(entry,"id","id",children);addConditionally(entry,"title","title",children);var href=(_a=getOneElement("link",children))===null||_a===void 0?void 0:_a.attribs["href"];if(href){entry.link=href}var description=fetch("summary",children)||fetch("content",children);if(description){entry.description=description}var pubDate=fetch("updated",children);if(pubDate){entry.pubDate=new Date(pubDate)}return entry}))};addConditionally(feed,"id","id",childs);addConditionally(feed,"title","title",childs);var href=(_a=getOneElement("link",childs))===null||_a===void 0?void 0:_a.attribs["href"];if(href){feed.link=href}addConditionally(feed,"description","subtitle",childs);var updated=fetch("updated",childs);if(updated){feed.updated=new Date(updated)}addConditionally(feed,"author","email",childs,true);return feed}function getRssFeed(feedRoot){var _a,_b;var childs=(_b=(_a=getOneElement("channel",feedRoot.children))===null||_a===void 0?void 0:_a.children)!==null&&_b!==void 0?_b:[];var feed={type:feedRoot.name.substr(0,3),id:"",items:(0,legacy_js_1.getElementsByTagName)("item",feedRoot.children).map((function(item){var children=item.children;var entry={media:getMediaElements(children)};addConditionally(entry,"id","guid",children);addConditionally(entry,"title","title",children);addConditionally(entry,"link","link",children);addConditionally(entry,"description","description",children);var pubDate=fetch("pubDate",children);if(pubDate)entry.pubDate=new Date(pubDate);return entry}))};addConditionally(feed,"title","title",childs);addConditionally(feed,"link","link",childs);addConditionally(feed,"description","description",childs);var updated=fetch("lastBuildDate",childs);if(updated){feed.updated=new Date(updated)}addConditionally(feed,"author","managingEditor",childs,true);return feed}var MEDIA_KEYS_STRING=["url","type","lang"];var MEDIA_KEYS_INT=["fileSize","bitrate","framerate","samplingrate","channels","duration","height","width"];function getMediaElements(where){return(0,legacy_js_1.getElementsByTagName)("media:content",where).map((function(elem){var attribs=elem.attribs;var media={medium:attribs["medium"],isDefault:!!attribs["isDefault"]};for(var _i=0,MEDIA_KEYS_STRING_1=MEDIA_KEYS_STRING;_i<MEDIA_KEYS_STRING_1.length;_i++){var attrib=MEDIA_KEYS_STRING_1[_i];if(attribs[attrib]){media[attrib]=attribs[attrib]}}for(var _a=0,MEDIA_KEYS_INT_1=MEDIA_KEYS_INT;_a<MEDIA_KEYS_INT_1.length;_a++){var attrib=MEDIA_KEYS_INT_1[_a];if(attribs[attrib]){media[attrib]=parseInt(attribs[attrib],10)}}if(attribs["expression"]){media.expression=attribs["expression"]}return media}))}function getOneElement(tagName,node){return(0,legacy_js_1.getElementsByTagName)(tagName,node,true,1)[0]}function fetch(tagName,where,recurse){if(recurse===void 0){recurse=false}return(0,stringify_js_1.textContent)((0,legacy_js_1.getElementsByTagName)(tagName,where,recurse,1)).trim()}function addConditionally(obj,prop,tagName,where,recurse){if(recurse===void 0){recurse=false}var val=fetch(tagName,where,recurse);if(val)obj[prop]=val}function isValidFeed(value){return value==="rss"||value==="feed"||value==="rdf:RDF"}(function(exports){var __createBinding=commonjsGlobal&&commonjsGlobal.__createBinding||(Object.create?function(o,m,k,k2){if(k2===undefined)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable)){desc={enumerable:true,get:function(){return m[k]}}}Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===undefined)k2=k;o[k2]=m[k]});var __exportStar=commonjsGlobal&&commonjsGlobal.__exportStar||function(m,exports){for(var p in m)if(p!=="default"&&!Object.prototype.hasOwnProperty.call(exports,p))__createBinding(exports,m,p)};Object.defineProperty(exports,"__esModule",{value:true});exports.hasChildren=exports.isDocument=exports.isComment=exports.isText=exports.isCDATA=exports.isTag=void 0;__exportStar(stringify$1,exports);__exportStar(traversal,exports);__exportStar(manipulation,exports);__exportStar(querying,exports);__exportStar(legacy,exports);__exportStar(helpers,exports);__exportStar(feeds,exports);var domhandler_1=lib$4;Object.defineProperty(exports,"isTag",{enumerable:true,get:function(){return domhandler_1.isTag}});Object.defineProperty(exports,"isCDATA",{enumerable:true,get:function(){return domhandler_1.isCDATA}});Object.defineProperty(exports,"isText",{enumerable:true,get:function(){return domhandler_1.isText}});Object.defineProperty(exports,"isComment",{enumerable:true,get:function(){return domhandler_1.isComment}});Object.defineProperty(exports,"isDocument",{enumerable:true,get:function(){return domhandler_1.isDocument}});Object.defineProperty(exports,"hasChildren",{enumerable:true,get:function(){return domhandler_1.hasChildren}})})(lib$5);var boolbase={trueFunc:function trueFunc(){return true},falseFunc:function falseFunc(){return false}};var compile$3={};var SelectorType;(function(SelectorType){SelectorType["Attribute"]="attribute";SelectorType["Pseudo"]="pseudo";SelectorType["PseudoElement"]="pseudo-element";SelectorType["Tag"]="tag";SelectorType["Universal"]="universal";SelectorType["Adjacent"]="adjacent";SelectorType["Child"]="child";SelectorType["Descendant"]="descendant";SelectorType["Parent"]="parent";SelectorType["Sibling"]="sibling";SelectorType["ColumnCombinator"]="column-combinator"})(SelectorType||(SelectorType={}));const IgnoreCaseMode={Unknown:null,QuirksMode:"quirks",IgnoreCase:true,CaseSensitive:false};var AttributeAction;(function(AttributeAction){AttributeAction["Any"]="any";AttributeAction["Element"]="element";AttributeAction["End"]="end";AttributeAction["Equals"]="equals";AttributeAction["Exists"]="exists";AttributeAction["Hyphen"]="hyphen";AttributeAction["Not"]="not";AttributeAction["Start"]="start"})(AttributeAction||(AttributeAction={}));const reName=/^[^\\#]?(?:\\(?:[\da-f]{1,6}\s?|.)|[\w\-\u00b0-\uFFFF])+/;const reEscape=/\\([\da-f]{1,6}\s?|(\s)|.)/gi;const actionTypes=new Map([[126,AttributeAction.Element],[94,AttributeAction.Start],[36,AttributeAction.End],[42,AttributeAction.Any],[33,AttributeAction.Not],[124,AttributeAction.Hyphen]]);const unpackPseudos=new Set(["has","not","matches","is","where","host","host-context"]);function isTraversal$1(selector){switch(selector.type){case SelectorType.Adjacent:case SelectorType.Child:case SelectorType.Descendant:case SelectorType.Parent:case SelectorType.Sibling:case SelectorType.ColumnCombinator:return true;default:return false}}const stripQuotesFromPseudos=new Set(["contains","icontains"]);function funescape(_,escaped,escapedWhitespace){const high=parseInt(escaped,16)-65536;return high!==high||escapedWhitespace?escaped:high<0?String.fromCharCode(high+65536):String.fromCharCode(high>>10|55296,high&1023|56320)}function unescapeCSS(str){return str.replace(reEscape,funescape)}function isQuote(c){return c===39||c===34}function isWhitespace(c){return c===32||c===9||c===10||c===12||c===13}function parse$O(selector){const subselects=[];const endIndex=parseSelector(subselects,`${selector}`,0);if(endIndex<selector.length){throw new Error(`Unmatched selector: ${selector.slice(endIndex)}`)}return subselects}function parseSelector(subselects,selector,selectorIndex){let tokens=[];function getName(offset){const match=selector.slice(selectorIndex+offset).match(reName);if(!match){throw new Error(`Expected name, found ${selector.slice(selectorIndex)}`)}const[name]=match;selectorIndex+=offset+name.length;return unescapeCSS(name)}function stripWhitespace(offset){selectorIndex+=offset;while(selectorIndex<selector.length&&isWhitespace(selector.charCodeAt(selectorIndex))){selectorIndex++}}function readValueWithParenthesis(){selectorIndex+=1;const start=selectorIndex;let counter=1;for(;counter>0&&selectorIndex<selector.length;selectorIndex++){if(selector.charCodeAt(selectorIndex)===40&&!isEscaped(selectorIndex)){counter++}else if(selector.charCodeAt(selectorIndex)===41&&!isEscaped(selectorIndex)){counter--}}if(counter){throw new Error("Parenthesis not matched")}return unescapeCSS(selector.slice(start,selectorIndex-1))}function isEscaped(pos){let slashCount=0;while(selector.charCodeAt(--pos)===92)slashCount++;return(slashCount&1)===1}function ensureNotTraversal(){if(tokens.length>0&&isTraversal$1(tokens[tokens.length-1])){throw new Error("Did not expect successive traversals.")}}function addTraversal(type){if(tokens.length>0&&tokens[tokens.length-1].type===SelectorType.Descendant){tokens[tokens.length-1].type=type;return}ensureNotTraversal();tokens.push({type:type})}function addSpecialAttribute(name,action){tokens.push({type:SelectorType.Attribute,name:name,action:action,value:getName(1),namespace:null,ignoreCase:"quirks"})}function finalizeSubselector(){if(tokens.length&&tokens[tokens.length-1].type===SelectorType.Descendant){tokens.pop()}if(tokens.length===0){throw new Error("Empty sub-selector")}subselects.push(tokens)}stripWhitespace(0);if(selector.length===selectorIndex){return selectorIndex}loop:while(selectorIndex<selector.length){const firstChar=selector.charCodeAt(selectorIndex);switch(firstChar){case 32:case 9:case 10:case 12:case 13:{if(tokens.length===0||tokens[0].type!==SelectorType.Descendant){ensureNotTraversal();tokens.push({type:SelectorType.Descendant})}stripWhitespace(1);break}case 62:{addTraversal(SelectorType.Child);stripWhitespace(1);break}case 60:{addTraversal(SelectorType.Parent);stripWhitespace(1);break}case 126:{addTraversal(SelectorType.Sibling);stripWhitespace(1);break}case 43:{addTraversal(SelectorType.Adjacent);stripWhitespace(1);break}case 46:{addSpecialAttribute("class",AttributeAction.Element);break}case 35:{addSpecialAttribute("id",AttributeAction.Equals);break}case 91:{stripWhitespace(1);let name;let namespace=null;if(selector.charCodeAt(selectorIndex)===124){name=getName(1)}else if(selector.startsWith("*|",selectorIndex)){namespace="*";name=getName(2)}else{name=getName(0);if(selector.charCodeAt(selectorIndex)===124&&selector.charCodeAt(selectorIndex+1)!==61){namespace=name;name=getName(1)}}stripWhitespace(0);let action=AttributeAction.Exists;const possibleAction=actionTypes.get(selector.charCodeAt(selectorIndex));if(possibleAction){action=possibleAction;if(selector.charCodeAt(selectorIndex+1)!==61){throw new Error("Expected `=`")}stripWhitespace(2)}else if(selector.charCodeAt(selectorIndex)===61){action=AttributeAction.Equals;stripWhitespace(1)}let value="";let ignoreCase=null;if(action!=="exists"){if(isQuote(selector.charCodeAt(selectorIndex))){const quote=selector.charCodeAt(selectorIndex);let sectionEnd=selectorIndex+1;while(sectionEnd<selector.length&&(selector.charCodeAt(sectionEnd)!==quote||isEscaped(sectionEnd))){sectionEnd+=1}if(selector.charCodeAt(sectionEnd)!==quote){throw new Error("Attribute value didn't end")}value=unescapeCSS(selector.slice(selectorIndex+1,sectionEnd));selectorIndex=sectionEnd+1}else{const valueStart=selectorIndex;while(selectorIndex<selector.length&&(!isWhitespace(selector.charCodeAt(selectorIndex))&&selector.charCodeAt(selectorIndex)!==93||isEscaped(selectorIndex))){selectorIndex+=1}value=unescapeCSS(selector.slice(valueStart,selectorIndex))}stripWhitespace(0);const forceIgnore=selector.charCodeAt(selectorIndex)|32;if(forceIgnore===115){ignoreCase=false;stripWhitespace(1)}else if(forceIgnore===105){ignoreCase=true;stripWhitespace(1)}}if(selector.charCodeAt(selectorIndex)!==93){throw new Error("Attribute selector didn't terminate")}selectorIndex+=1;const attributeSelector={type:SelectorType.Attribute,name:name,action:action,value:value,namespace:namespace,ignoreCase:ignoreCase};tokens.push(attributeSelector);break}case 58:{if(selector.charCodeAt(selectorIndex+1)===58){tokens.push({type:SelectorType.PseudoElement,name:getName(2).toLowerCase(),data:selector.charCodeAt(selectorIndex)===40?readValueWithParenthesis():null});continue}const name=getName(1).toLowerCase();let data=null;if(selector.charCodeAt(selectorIndex)===40){if(unpackPseudos.has(name)){if(isQuote(selector.charCodeAt(selectorIndex+1))){throw new Error(`Pseudo-selector ${name} cannot be quoted`)}data=[];selectorIndex=parseSelector(data,selector,selectorIndex+1);if(selector.charCodeAt(selectorIndex)!==41){throw new Error(`Missing closing parenthesis in :${name} (${selector})`)}selectorIndex+=1}else{data=readValueWithParenthesis();if(stripQuotesFromPseudos.has(name)){const quot=data.charCodeAt(0);if(quot===data.charCodeAt(data.length-1)&&isQuote(quot)){data=data.slice(1,-1)}}data=unescapeCSS(data)}}tokens.push({type:SelectorType.Pseudo,name:name,data:data});break}case 44:{finalizeSubselector();tokens=[];stripWhitespace(1);break}default:{if(selector.startsWith("/*",selectorIndex)){const endIndex=selector.indexOf("*/",selectorIndex+2);if(endIndex<0){throw new Error("Comment was not terminated")}selectorIndex=endIndex+2;if(tokens.length===0){stripWhitespace(0)}break}let namespace=null;let name;if(firstChar===42){selectorIndex+=1;name="*"}else if(firstChar===124){name="";if(selector.charCodeAt(selectorIndex+1)===124){addTraversal(SelectorType.ColumnCombinator);stripWhitespace(2);break}}else if(reName.test(selector.slice(selectorIndex))){name=getName(0)}else{break loop}if(selector.charCodeAt(selectorIndex)===124&&selector.charCodeAt(selectorIndex+1)!==124){namespace=name;if(selector.charCodeAt(selectorIndex+1)===42){name="*";selectorIndex+=2}else{name=getName(1)}}tokens.push(name==="*"?{type:SelectorType.Universal,namespace:namespace}:{type:SelectorType.Tag,name:name,namespace:namespace})}}}finalizeSubselector();return selectorIndex}const attribValChars=["\\",'"'];const pseudoValChars=[...attribValChars,"(",")"];const charsToEscapeInAttributeValue=new Set(attribValChars.map((c=>c.charCodeAt(0))));const charsToEscapeInPseudoValue=new Set(pseudoValChars.map((c=>c.charCodeAt(0))));const charsToEscapeInName=new Set([...pseudoValChars,"~","^","$","*","+","!","|",":","[","]"," ","."].map((c=>c.charCodeAt(0))));function stringify(selector){return selector.map((token=>token.map(stringifyToken).join(""))).join(", ")}function stringifyToken(token,index,arr){switch(token.type){case SelectorType.Child:return index===0?"> ":" > ";case SelectorType.Parent:return index===0?"< ":" < ";case SelectorType.Sibling:return index===0?"~ ":" ~ ";case SelectorType.Adjacent:return index===0?"+ ":" + ";case SelectorType.Descendant:return" ";case SelectorType.ColumnCombinator:return index===0?"|| ":" || ";case SelectorType.Universal:return token.namespace==="*"&&index+1<arr.length&&"name"in arr[index+1]?"":`${getNamespace(token.namespace)}*`;case SelectorType.Tag:return getNamespacedName(token);case SelectorType.PseudoElement:return`::${escapeName(token.name,charsToEscapeInName)}${token.data===null?"":`(${escapeName(token.data,charsToEscapeInPseudoValue)})`}`;case SelectorType.Pseudo:return`:${escapeName(token.name,charsToEscapeInName)}${token.data===null?"":`(${typeof token.data==="string"?escapeName(token.data,charsToEscapeInPseudoValue):stringify(token.data)})`}`;case SelectorType.Attribute:{if(token.name==="id"&&token.action===AttributeAction.Equals&&token.ignoreCase==="quirks"&&!token.namespace){return`#${escapeName(token.value,charsToEscapeInName)}`}if(token.name==="class"&&token.action===AttributeAction.Element&&token.ignoreCase==="quirks"&&!token.namespace){return`.${escapeName(token.value,charsToEscapeInName)}`}const name=getNamespacedName(token);if(token.action===AttributeAction.Exists){return`[${name}]`}return`[${name}${getActionValue(token.action)}="${escapeName(token.value,charsToEscapeInAttributeValue)}"${token.ignoreCase===null?"":token.ignoreCase?" i":" s"}]`}}}function getActionValue(action){switch(action){case AttributeAction.Equals:return"";case AttributeAction.Element:return"~";case AttributeAction.Start:return"^";case AttributeAction.End:return"$";case AttributeAction.Any:return"*";case AttributeAction.Not:return"!";case AttributeAction.Hyphen:return"|";case AttributeAction.Exists:throw new Error("Shouldn't be here")}}function getNamespacedName(token){return`${getNamespace(token.namespace)}${escapeName(token.name,charsToEscapeInName)}`}function getNamespace(namespace){return namespace!==null?`${namespace==="*"?"*":escapeName(namespace,charsToEscapeInName)}|`:""}function escapeName(str,charsToEscape){let lastIdx=0;let ret="";for(let i=0;i<str.length;i++){if(charsToEscape.has(str.charCodeAt(i))){ret+=`${str.slice(lastIdx,i)}\\${str.charAt(i)}`;lastIdx=i+1}}return ret.length>0?ret+str.slice(lastIdx):str}var es=Object.freeze({__proto__:null,isTraversal:isTraversal$1,parse:parse$O,stringify:stringify,get SelectorType(){return SelectorType},IgnoreCaseMode:IgnoreCaseMode,get AttributeAction(){return AttributeAction}});var require$$0=getAugmentedNamespace(es);var sort={};Object.defineProperty(sort,"__esModule",{value:true});sort.isTraversal=void 0;var css_what_1$2=require$$0;var procedure=new Map([[css_what_1$2.SelectorType.Universal,50],[css_what_1$2.SelectorType.Tag,30],[css_what_1$2.SelectorType.Attribute,1],[css_what_1$2.SelectorType.Pseudo,0]]);function isTraversal(token){return!procedure.has(token.type)}sort.isTraversal=isTraversal;var attributes$1=new Map([[css_what_1$2.AttributeAction.Exists,10],[css_what_1$2.AttributeAction.Equals,8],[css_what_1$2.AttributeAction.Not,7],[css_what_1$2.AttributeAction.Start,6],[css_what_1$2.AttributeAction.End,6],[css_what_1$2.AttributeAction.Any,5]]);function sortByProcedure(arr){var procs=arr.map(getProcedure);for(var i=1;i<arr.length;i++){var procNew=procs[i];if(procNew<0)continue;for(var j=i-1;j>=0&&procNew<procs[j];j--){var token=arr[j+1];arr[j+1]=arr[j];arr[j]=token;procs[j+1]=procs[j];procs[j]=procNew}}}sort.default=sortByProcedure;function getProcedure(token){var _a,_b;var proc=(_a=procedure.get(token.type))!==null&&_a!==void 0?_a:-1;if(token.type===css_what_1$2.SelectorType.Attribute){proc=(_b=attributes$1.get(token.action))!==null&&_b!==void 0?_b:4;if(token.action===css_what_1$2.AttributeAction.Equals&&token.name==="id"){proc=9}if(token.ignoreCase){proc>>=1}}else if(token.type===css_what_1$2.SelectorType.Pseudo){if(!token.data){proc=3}else if(token.name==="has"||token.name==="contains"){proc=0}else if(Array.isArray(token.data)){proc=Math.min.apply(Math,token.data.map((function(d){return Math.min.apply(Math,d.map(getProcedure))})));if(proc<0){proc=0}}else{proc=2}}return proc}var general={};var attributes={};var __importDefault$2=commonjsGlobal&&commonjsGlobal.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(attributes,"__esModule",{value:true});attributes.attributeRules=void 0;var boolbase_1$2=__importDefault$2(boolbase);var reChars=/[-[\]{}()*+?.,\\^$|#\s]/g;function escapeRegex(value){return value.replace(reChars,"\\$&")}var caseInsensitiveAttributes=new Set(["accept","accept-charset","align","alink","axis","bgcolor","charset","checked","clear","codetype","color","compact","declare","defer","dir","direction","disabled","enctype","face","frame","hreflang","http-equiv","lang","language","link","media","method","multiple","nohref","noresize","noshade","nowrap","readonly","rel","rev","rules","scope","scrolling","selected","shape","target","text","type","valign","valuetype","vlink"]);function shouldIgnoreCase(selector,options){return typeof selector.ignoreCase==="boolean"?selector.ignoreCase:selector.ignoreCase==="quirks"?!!options.quirksMode:!options.xmlMode&&caseInsensitiveAttributes.has(selector.name)}attributes.attributeRules={equals:function(next,data,options){var adapter=options.adapter;var name=data.name;var value=data.value;if(shouldIgnoreCase(data,options)){value=value.toLowerCase();return function(elem){var attr=adapter.getAttributeValue(elem,name);return attr!=null&&attr.length===value.length&&attr.toLowerCase()===value&&next(elem)}}return function(elem){return adapter.getAttributeValue(elem,name)===value&&next(elem)}},hyphen:function(next,data,options){var adapter=options.adapter;var name=data.name;var value=data.value;var len=value.length;if(shouldIgnoreCase(data,options)){value=value.toLowerCase();return function hyphenIC(elem){var attr=adapter.getAttributeValue(elem,name);return attr!=null&&(attr.length===len||attr.charAt(len)==="-")&&attr.substr(0,len).toLowerCase()===value&&next(elem)}}return function hyphen(elem){var attr=adapter.getAttributeValue(elem,name);return attr!=null&&(attr.length===len||attr.charAt(len)==="-")&&attr.substr(0,len)===value&&next(elem)}},element:function(next,data,options){var adapter=options.adapter;var name=data.name,value=data.value;if(/\s/.test(value)){return boolbase_1$2.default.falseFunc}var regex=new RegExp("(?:^|\\s)".concat(escapeRegex(value),"(?:$|\\s)"),shouldIgnoreCase(data,options)?"i":"");return function element(elem){var attr=adapter.getAttributeValue(elem,name);return attr!=null&&attr.length>=value.length&®ex.test(attr)&&next(elem)}},exists:function(next,_a,_b){var name=_a.name;var adapter=_b.adapter;return function(elem){return adapter.hasAttrib(elem,name)&&next(elem)}},start:function(next,data,options){var adapter=options.adapter;var name=data.name;var value=data.value;var len=value.length;if(len===0){return boolbase_1$2.default.falseFunc}if(shouldIgnoreCase(data,options)){value=value.toLowerCase();return function(elem){var attr=adapter.getAttributeValue(elem,name);return attr!=null&&attr.length>=len&&attr.substr(0,len).toLowerCase()===value&&next(elem)}}return function(elem){var _a;return!!((_a=adapter.getAttributeValue(elem,name))===null||_a===void 0?void 0:_a.startsWith(value))&&next(elem)}},end:function(next,data,options){var adapter=options.adapter;var name=data.name;var value=data.value;var len=-value.length;if(len===0){return boolbase_1$2.default.falseFunc}if(shouldIgnoreCase(data,options)){value=value.toLowerCase();return function(elem){var _a;return((_a=adapter.getAttributeValue(elem,name))===null||_a===void 0?void 0:_a.substr(len).toLowerCase())===value&&next(elem)}}return function(elem){var _a;return!!((_a=adapter.getAttributeValue(elem,name))===null||_a===void 0?void 0:_a.endsWith(value))&&next(elem)}},any:function(next,data,options){var adapter=options.adapter;var name=data.name,value=data.value;if(value===""){return boolbase_1$2.default.falseFunc}if(shouldIgnoreCase(data,options)){var regex_1=new RegExp(escapeRegex(value),"i");return function anyIC(elem){var attr=adapter.getAttributeValue(elem,name);return attr!=null&&attr.length>=value.length&®ex_1.test(attr)&&next(elem)}}return function(elem){var _a;return!!((_a=adapter.getAttributeValue(elem,name))===null||_a===void 0?void 0:_a.includes(value))&&next(elem)}},not:function(next,data,options){var adapter=options.adapter;var name=data.name;var value=data.value;if(value===""){return function(elem){return!!adapter.getAttributeValue(elem,name)&&next(elem)}}else if(shouldIgnoreCase(data,options)){value=value.toLowerCase();return function(elem){var attr=adapter.getAttributeValue(elem,name);return(attr==null||attr.length!==value.length||attr.toLowerCase()!==value)&&next(elem)}}return function(elem){return adapter.getAttributeValue(elem,name)!==value&&next(elem)}}};var pseudoSelectors={};var filters$1={};var lib={};var parse$N={};Object.defineProperty(parse$N,"__esModule",{value:true});parse$N.parse=void 0;var whitespace=new Set([9,10,12,13,32]);var ZERO="0".charCodeAt(0);var NINE="9".charCodeAt(0);function parse$M(formula){formula=formula.trim().toLowerCase();if(formula==="even"){return[2,0]}else if(formula==="odd"){return[2,1]}var idx=0;var a=0;var sign=readSign();var number=readNumber();if(idx<formula.length&&formula.charAt(idx)==="n"){idx++;a=sign*(number!==null&&number!==void 0?number:1);skipWhitespace();if(idx<formula.length){sign=readSign();skipWhitespace();number=readNumber()}else{sign=number=0}}if(number===null||idx<formula.length){throw new Error("n-th rule couldn't be parsed ('".concat(formula,"')"))}return[a,sign*number];function readSign(){if(formula.charAt(idx)==="-"){idx++;return-1}if(formula.charAt(idx)==="+"){idx++}return 1}function readNumber(){var start=idx;var value=0;while(idx<formula.length&&formula.charCodeAt(idx)>=ZERO&&formula.charCodeAt(idx)<=NINE){value=value*10+(formula.charCodeAt(idx)-ZERO);idx++}return idx===start?null:value}function skipWhitespace(){while(idx<formula.length&&whitespace.has(formula.charCodeAt(idx))){idx++}}}parse$N.parse=parse$M;var compile$2={};var __importDefault$1=commonjsGlobal&&commonjsGlobal.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(compile$2,"__esModule",{value:true});compile$2.generate=compile$2.compile=void 0;var boolbase_1$1=__importDefault$1(boolbase);function compile$1(parsed){var a=parsed[0];var b=parsed[1]-1;if(b<0&&a<=0)return boolbase_1$1.default.falseFunc;if(a===-1)return function(index){return index<=b};if(a===0)return function(index){return index===b};if(a===1)return b<0?boolbase_1$1.default.trueFunc:function(index){return index>=b};var absA=Math.abs(a);var bMod=(b%absA+absA)%absA;return a>1?function(index){return index>=b&&index%absA===bMod}:function(index){return index<=b&&index%absA===bMod}}compile$2.compile=compile$1;function generate$M(parsed){var a=parsed[0];var b=parsed[1]-1;var n=0;if(a<0){var aPos_1=-a;var minValue_1=(b%aPos_1+aPos_1)%aPos_1;return function(){var val=minValue_1+aPos_1*n++;return val>b?null:val}}if(a===0)return b<0?function(){return null}:function(){return n++===0?b:null};if(b<0){b+=a*Math.ceil(-b/a)}return function(){return a*n+++b}}compile$2.generate=generate$M;(function(exports){Object.defineProperty(exports,"__esModule",{value:true});exports.sequence=exports.generate=exports.compile=exports.parse=void 0;var parse_js_1=parse$N;Object.defineProperty(exports,"parse",{enumerable:true,get:function(){return parse_js_1.parse}});var compile_js_1=compile$2;Object.defineProperty(exports,"compile",{enumerable:true,get:function(){return compile_js_1.compile}});Object.defineProperty(exports,"generate",{enumerable:true,get:function(){return compile_js_1.generate}});function nthCheck(formula){return(0,compile_js_1.compile)((0,parse_js_1.parse)(formula))}exports.default=nthCheck;function sequence(formula){return(0,compile_js_1.generate)((0,parse_js_1.parse)(formula))}exports.sequence=sequence})(lib);(function(exports){var __importDefault=commonjsGlobal&&commonjsGlobal.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:true});exports.filters=void 0;var nth_check_1=__importDefault(lib);var boolbase_1=__importDefault(boolbase);function getChildFunc(next,adapter){return function(elem){var parent=adapter.getParent(elem);return parent!=null&&adapter.isTag(parent)&&next(elem)}}exports.filters={contains:function(next,text,_a){var adapter=_a.adapter;return function contains(elem){return next(elem)&&adapter.getText(elem).includes(text)}},icontains:function(next,text,_a){var adapter=_a.adapter;var itext=text.toLowerCase();return function icontains(elem){return next(elem)&&adapter.getText(elem).toLowerCase().includes(itext)}},"nth-child":function(next,rule,_a){var adapter=_a.adapter,equals=_a.equals;var func=(0,nth_check_1.default)(rule);if(func===boolbase_1.default.falseFunc)return boolbase_1.default.falseFunc;if(func===boolbase_1.default.trueFunc)return getChildFunc(next,adapter);return function nthChild(elem){var siblings=adapter.getSiblings(elem);var pos=0;for(var i=0;i<siblings.length;i++){if(equals(elem,siblings[i]))break;if(adapter.isTag(siblings[i])){pos++}}return func(pos)&&next(elem)}},"nth-last-child":function(next,rule,_a){var adapter=_a.adapter,equals=_a.equals;var func=(0,nth_check_1.default)(rule);if(func===boolbase_1.default.falseFunc)return boolbase_1.default.falseFunc;if(func===boolbase_1.default.trueFunc)return getChildFunc(next,adapter);return function nthLastChild(elem){var siblings=adapter.getSiblings(elem);var pos=0;for(var i=siblings.length-1;i>=0;i--){if(equals(elem,siblings[i]))break;if(adapter.isTag(siblings[i])){pos++}}return func(pos)&&next(elem)}},"nth-of-type":function(next,rule,_a){var adapter=_a.adapter,equals=_a.equals;var func=(0,nth_check_1.default)(rule);if(func===boolbase_1.default.falseFunc)return boolbase_1.default.falseFunc;if(func===boolbase_1.default.trueFunc)return getChildFunc(next,adapter);return function nthOfType(elem){var siblings=adapter.getSiblings(elem);var pos=0;for(var i=0;i<siblings.length;i++){var currentSibling=siblings[i];if(equals(elem,currentSibling))break;if(adapter.isTag(currentSibling)&&adapter.getName(currentSibling)===adapter.getName(elem)){pos++}}return func(pos)&&next(elem)}},"nth-last-of-type":function(next,rule,_a){var adapter=_a.adapter,equals=_a.equals;var func=(0,nth_check_1.default)(rule);if(func===boolbase_1.default.falseFunc)return boolbase_1.default.falseFunc;if(func===boolbase_1.default.trueFunc)return getChildFunc(next,adapter);return function nthLastOfType(elem){var siblings=adapter.getSiblings(elem);var pos=0;for(var i=siblings.length-1;i>=0;i--){var currentSibling=siblings[i];if(equals(elem,currentSibling))break;if(adapter.isTag(currentSibling)&&adapter.getName(currentSibling)===adapter.getName(elem)){pos++}}return func(pos)&&next(elem)}},root:function(next,_rule,_a){var adapter=_a.adapter;return function(elem){var parent=adapter.getParent(elem);return(parent==null||!adapter.isTag(parent))&&next(elem)}},scope:function(next,rule,options,context){var equals=options.equals;if(!context||context.length===0){return exports.filters["root"](next,rule,options)}if(context.length===1){return function(elem){return equals(context[0],elem)&&next(elem)}}return function(elem){return context.includes(elem)&&next(elem)}},hover:dynamicStatePseudo("isHovered"),visited:dynamicStatePseudo("isVisited"),active:dynamicStatePseudo("isActive")};function dynamicStatePseudo(name){return function dynamicPseudo(next,_rule,_a){var adapter=_a.adapter;var func=adapter[name];if(typeof func!=="function"){return boolbase_1.default.falseFunc}return function active(elem){return func(elem)&&next(elem)}}}})(filters$1);var pseudos={};Object.defineProperty(pseudos,"__esModule",{value:true});pseudos.verifyPseudoArgs=pseudos.pseudos=void 0;pseudos.pseudos={empty:function(elem,_a){var adapter=_a.adapter;return!adapter.getChildren(elem).some((function(elem){return adapter.isTag(elem)||adapter.getText(elem)!==""}))},"first-child":function(elem,_a){var adapter=_a.adapter,equals=_a.equals;if(adapter.prevElementSibling){return adapter.prevElementSibling(elem)==null}var firstChild=adapter.getSiblings(elem).find((function(elem){return adapter.isTag(elem)}));return firstChild!=null&&equals(elem,firstChild)},"last-child":function(elem,_a){var adapter=_a.adapter,equals=_a.equals;var siblings=adapter.getSiblings(elem);for(var i=siblings.length-1;i>=0;i--){if(equals(elem,siblings[i]))return true;if(adapter.isTag(siblings[i]))break}return false},"first-of-type":function(elem,_a){var adapter=_a.adapter,equals=_a.equals;var siblings=adapter.getSiblings(elem);var elemName=adapter.getName(elem);for(var i=0;i<siblings.length;i++){var currentSibling=siblings[i];if(equals(elem,currentSibling))return true;if(adapter.isTag(currentSibling)&&adapter.getName(currentSibling)===elemName){break}}return false},"last-of-type":function(elem,_a){var adapter=_a.adapter,equals=_a.equals;var siblings=adapter.getSiblings(elem);var elemName=adapter.getName(elem);for(var i=siblings.length-1;i>=0;i--){var currentSibling=siblings[i];if(equals(elem,currentSibling))return true;if(adapter.isTag(currentSibling)&&adapter.getName(currentSibling)===elemName){break}}return false},"only-of-type":function(elem,_a){var adapter=_a.adapter,equals=_a.equals;var elemName=adapter.getName(elem);return adapter.getSiblings(elem).every((function(sibling){return equals(elem,sibling)||!adapter.isTag(sibling)||adapter.getName(sibling)!==elemName}))},"only-child":function(elem,_a){var adapter=_a.adapter,equals=_a.equals;return adapter.getSiblings(elem).every((function(sibling){return equals(elem,sibling)||!adapter.isTag(sibling)}))}};function verifyPseudoArgs(func,name,subselect,argIndex){if(subselect===null){if(func.length>argIndex){throw new Error("Pseudo-class :".concat(name," requires an argument"))}}else if(func.length===argIndex){throw new Error("Pseudo-class :".concat(name," doesn't have any arguments"))}}pseudos.verifyPseudoArgs=verifyPseudoArgs;var aliases={};Object.defineProperty(aliases,"__esModule",{value:true});aliases.aliases=void 0;aliases.aliases={"any-link":":is(a, area, link)[href]",link:":any-link:not(:visited)",disabled:":is(\n :is(button, input, select, textarea, optgroup, option)[disabled],\n optgroup[disabled] > option,\n fieldset[disabled]:not(fieldset[disabled] legend:first-of-type *)\n )",enabled:":not(:disabled)",checked:":is(:is(input[type=radio], input[type=checkbox])[checked], option:selected)",required:":is(input, select, textarea)[required]",optional:":is(input, select, textarea):not([required])",selected:"option:is([selected], select:not([multiple]):not(:has(> option[selected])) > :first-of-type)",checkbox:"[type=checkbox]",file:"[type=file]",password:"[type=password]",radio:"[type=radio]",reset:"[type=reset]",image:"[type=image]",submit:"[type=submit]",parent:":not(:empty)",header:":is(h1, h2, h3, h4, h5, h6)",button:":is(button, input[type=button])",input:":is(input, textarea, select, button)",text:"input:is(:not([type!='']), [type=text])"};var subselects={};(function(exports){var __spreadArray=commonjsGlobal&&commonjsGlobal.__spreadArray||function(to,from,pack){if(pack||arguments.length===2)for(var i=0,l=from.length,ar;i<l;i++){if(ar||!(i in from)){if(!ar)ar=Array.prototype.slice.call(from,0,i);ar[i]=from[i]}}return to.concat(ar||Array.prototype.slice.call(from))};var __importDefault=commonjsGlobal&&commonjsGlobal.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:true});exports.subselects=exports.getNextSiblings=exports.ensureIsTag=exports.PLACEHOLDER_ELEMENT=void 0;var boolbase_1=__importDefault(boolbase);var sort_js_1=sort;exports.PLACEHOLDER_ELEMENT={};function ensureIsTag(next,adapter){if(next===boolbase_1.default.falseFunc)return boolbase_1.default.falseFunc;return function(elem){return adapter.isTag(elem)&&next(elem)}}exports.ensureIsTag=ensureIsTag;function getNextSiblings(elem,adapter){var siblings=adapter.getSiblings(elem);if(siblings.length<=1)return[];var elemIndex=siblings.indexOf(elem);if(elemIndex<0||elemIndex===siblings.length-1)return[];return siblings.slice(elemIndex+1).filter(adapter.isTag)}exports.getNextSiblings=getNextSiblings;function copyOptions(options){return{xmlMode:!!options.xmlMode,lowerCaseAttributeNames:!!options.lowerCaseAttributeNames,lowerCaseTags:!!options.lowerCaseTags,quirksMode:!!options.quirksMode,cacheResults:!!options.cacheResults,pseudos:options.pseudos,adapter:options.adapter,equals:options.equals}}var is=function(next,token,options,context,compileToken){var func=compileToken(token,copyOptions(options),context);return func===boolbase_1.default.trueFunc?next:func===boolbase_1.default.falseFunc?boolbase_1.default.falseFunc:function(elem){return func(elem)&&next(elem)}};exports.subselects={is:is,matches:is,where:is,not:function(next,token,options,context,compileToken){var func=compileToken(token,copyOptions(options),context);return func===boolbase_1.default.falseFunc?next:func===boolbase_1.default.trueFunc?boolbase_1.default.falseFunc:function(elem){return!func(elem)&&next(elem)}},has:function(next,subselect,options,_context,compileToken){var adapter=options.adapter;var opts=copyOptions(options);opts.relativeSelector=true;var context=subselect.some((function(s){return s.some(sort_js_1.isTraversal)}))?[exports.PLACEHOLDER_ELEMENT]:undefined;var compiled=compileToken(subselect,opts,context);if(compiled===boolbase_1.default.falseFunc)return boolbase_1.default.falseFunc;var hasElement=ensureIsTag(compiled,adapter);if(context&&compiled!==boolbase_1.default.trueFunc){var _a=compiled.shouldTestNextSiblings,shouldTestNextSiblings_1=_a===void 0?false:_a;return function(elem){if(!next(elem))return false;context[0]=elem;var childs=adapter.getChildren(elem);var nextElements=shouldTestNextSiblings_1?__spreadArray(__spreadArray([],childs,true),getNextSiblings(elem,adapter),true):childs;return adapter.existsOne(hasElement,nextElements)}}return function(elem){return next(elem)&&adapter.existsOne(hasElement,adapter.getChildren(elem))}}}})(subselects);(function(exports){Object.defineProperty(exports,"__esModule",{value:true});exports.compilePseudoSelector=exports.aliases=exports.pseudos=exports.filters=void 0;var css_what_1=require$$0;var filters_js_1=filters$1;Object.defineProperty(exports,"filters",{enumerable:true,get:function(){return filters_js_1.filters}});var pseudos_js_1=pseudos;Object.defineProperty(exports,"pseudos",{enumerable:true,get:function(){return pseudos_js_1.pseudos}});var aliases_js_1=aliases;Object.defineProperty(exports,"aliases",{enumerable:true,get:function(){return aliases_js_1.aliases}});var subselects_js_1=subselects;function compilePseudoSelector(next,selector,options,context,compileToken){var _a;var name=selector.name,data=selector.data;if(Array.isArray(data)){if(!(name in subselects_js_1.subselects)){throw new Error("Unknown pseudo-class :".concat(name,"(").concat(data,")"))}return subselects_js_1.subselects[name](next,data,options,context,compileToken)}var userPseudo=(_a=options.pseudos)===null||_a===void 0?void 0:_a[name];var stringPseudo=typeof userPseudo==="string"?userPseudo:aliases_js_1.aliases[name];if(typeof stringPseudo==="string"){if(data!=null){throw new Error("Pseudo ".concat(name," doesn't have any arguments"))}var alias=(0,css_what_1.parse)(stringPseudo);return subselects_js_1.subselects["is"](next,alias,options,context,compileToken)}if(typeof userPseudo==="function"){(0,pseudos_js_1.verifyPseudoArgs)(userPseudo,name,data,1);return function(elem){return userPseudo(elem,data)&&next(elem)}}if(name in filters_js_1.filters){return filters_js_1.filters[name](next,data,options,context)}if(name in pseudos_js_1.pseudos){var pseudo_1=pseudos_js_1.pseudos[name];(0,pseudos_js_1.verifyPseudoArgs)(pseudo_1,name,data,2);return function(elem){return pseudo_1(elem,options,data)&&next(elem)}}throw new Error("Unknown pseudo-class :".concat(name))}exports.compilePseudoSelector=compilePseudoSelector})(pseudoSelectors);Object.defineProperty(general,"__esModule",{value:true});general.compileGeneralSelector=void 0;var attributes_js_1=attributes;var index_js_1=pseudoSelectors;var css_what_1$1=require$$0;function getElementParent(node,adapter){var parent=adapter.getParent(node);if(parent&&adapter.isTag(parent)){return parent}return null}function compileGeneralSelector(next,selector,options,context,compileToken){var adapter=options.adapter,equals=options.equals;switch(selector.type){case css_what_1$1.SelectorType.PseudoElement:{throw new Error("Pseudo-elements are not supported by css-select")}case css_what_1$1.SelectorType.ColumnCombinator:{throw new Error("Column combinators are not yet supported by css-select")}case css_what_1$1.SelectorType.Attribute:{if(selector.namespace!=null){throw new Error("Namespaced attributes are not yet supported by css-select")}if(!options.xmlMode||options.lowerCaseAttributeNames){selector.name=selector.name.toLowerCase()}return attributes_js_1.attributeRules[selector.action](next,selector,options)}case css_what_1$1.SelectorType.Pseudo:{return(0,index_js_1.compilePseudoSelector)(next,selector,options,context,compileToken)}case css_what_1$1.SelectorType.Tag:{if(selector.namespace!=null){throw new Error("Namespaced tag names are not yet supported by css-select")}var name_1=selector.name;if(!options.xmlMode||options.lowerCaseTags){name_1=name_1.toLowerCase()}return function tag(elem){return adapter.getName(elem)===name_1&&next(elem)}}case css_what_1$1.SelectorType.Descendant:{if(options.cacheResults===false||typeof WeakSet==="undefined"){return function descendant(elem){var current=elem;while(current=getElementParent(current,adapter)){if(next(current)){return true}}return false}}var isFalseCache_1=new WeakSet;return function cachedDescendant(elem){var current=elem;while(current=getElementParent(current,adapter)){if(!isFalseCache_1.has(current)){if(adapter.isTag(current)&&next(current)){return true}isFalseCache_1.add(current)}}return false}}case"_flexibleDescendant":{return function flexibleDescendant(elem){var current=elem;do{if(next(current))return true}while(current=getElementParent(current,adapter));return false}}case css_what_1$1.SelectorType.Parent:{return function parent(elem){return adapter.getChildren(elem).some((function(elem){return adapter.isTag(elem)&&next(elem)}))}}case css_what_1$1.SelectorType.Child:{return function child(elem){var parent=adapter.getParent(elem);return parent!=null&&adapter.isTag(parent)&&next(parent)}}case css_what_1$1.SelectorType.Sibling:{return function sibling(elem){var siblings=adapter.getSiblings(elem);for(var i=0;i<siblings.length;i++){var currentSibling=siblings[i];if(equals(elem,currentSibling))break;if(adapter.isTag(currentSibling)&&next(currentSibling)){return true}}return false}}case css_what_1$1.SelectorType.Adjacent:{if(adapter.prevElementSibling){return function adjacent(elem){var previous=adapter.prevElementSibling(elem);return previous!=null&&next(previous)}}return function adjacent(elem){var siblings=adapter.getSiblings(elem);var lastElement;for(var i=0;i<siblings.length;i++){var currentSibling=siblings[i];if(equals(elem,currentSibling))break;if(adapter.isTag(currentSibling)){lastElement=currentSibling}}return!!lastElement&&next(lastElement)}}case css_what_1$1.SelectorType.Universal:{if(selector.namespace!=null&&selector.namespace!=="*"){throw new Error("Namespaced universal selectors are not yet supported by css-select")}return next}}}general.compileGeneralSelector=compileGeneralSelector;var __createBinding=commonjsGlobal&&commonjsGlobal.__createBinding||(Object.create?function(o,m,k,k2){if(k2===undefined)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable)){desc={enumerable:true,get:function(){return m[k]}}}Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===undefined)k2=k;o[k2]=m[k]});var __setModuleDefault=commonjsGlobal&&commonjsGlobal.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:true,value:v})}:function(o,v){o["default"]=v});var __importStar=commonjsGlobal&&commonjsGlobal.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null)for(var k in mod)if(k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k))__createBinding(result,mod,k);__setModuleDefault(result,mod);return result};var __importDefault=commonjsGlobal&&commonjsGlobal.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(compile$3,"__esModule",{value:true});compile$3.compileToken=compile$3.compileUnsafe=compile$3.compile=void 0;var css_what_1=require$$0;var boolbase_1=__importDefault(boolbase);var sort_js_1=__importStar(sort);var general_js_1=general;var subselects_js_1=subselects;function compile(selector,options,context){var next=compileUnsafe(selector,options,context);return(0,subselects_js_1.ensureIsTag)(next,options.adapter)}compile$3.compile=compile;function compileUnsafe(selector,options,context){var token=typeof selector==="string"?(0,css_what_1.parse)(selector):selector;return compileToken(token,options,context)}compile$3.compileUnsafe=compileUnsafe;function includesScopePseudo(t){return t.type===css_what_1.SelectorType.Pseudo&&(t.name==="scope"||Array.isArray(t.data)&&t.data.some((function(data){return data.some(includesScopePseudo)})))}var DESCENDANT_TOKEN={type:css_what_1.SelectorType.Descendant};var FLEXIBLE_DESCENDANT_TOKEN={type:"_flexibleDescendant"};var SCOPE_TOKEN={type:css_what_1.SelectorType.Pseudo,name:"scope",data:null};function absolutize(token,_a,context){var adapter=_a.adapter;var hasContext=!!(context===null||context===void 0?void 0:context.every((function(e){var parent=adapter.isTag(e)&&adapter.getParent(e);return e===subselects_js_1.PLACEHOLDER_ELEMENT||parent&&adapter.isTag(parent)})));for(var _i=0,token_1=token;_i<token_1.length;_i++){var t=token_1[_i];if(t.length>0&&(0,sort_js_1.isTraversal)(t[0])&&t[0].type!==css_what_1.SelectorType.Descendant);else if(hasContext&&!t.some(includesScopePseudo)){t.unshift(DESCENDANT_TOKEN)}else{continue}t.unshift(SCOPE_TOKEN)}}function compileToken(token,options,context){var _a;token.forEach(sort_js_1.default);context=(_a=options.context)!==null&&_a!==void 0?_a:context;var isArrayContext=Array.isArray(context);var finalContext=context&&(Array.isArray(context)?context:[context]);if(options.relativeSelector!==false){absolutize(token,options,finalContext)}else if(token.some((function(t){return t.length>0&&(0,sort_js_1.isTraversal)(t[0])}))){throw new Error("Relative selectors are not allowed when the `relativeSelector` option is disabled")}var shouldTestNextSiblings=false;var query=token.map((function(rules){if(rules.length>=2){var first=rules[0],second=rules[1];if(first.type!==css_what_1.SelectorType.Pseudo||first.name!=="scope");else if(isArrayContext&&second.type===css_what_1.SelectorType.Descendant){rules[1]=FLEXIBLE_DESCENDANT_TOKEN}else if(second.type===css_what_1.SelectorType.Adjacent||second.type===css_what_1.SelectorType.Sibling){shouldTestNextSiblings=true}}return compileRules(rules,options,finalContext)})).reduce(reduceRules,boolbase_1.default.falseFunc);query.shouldTestNextSiblings=shouldTestNextSiblings;return query}compile$3.compileToken=compileToken;function compileRules(rules,options,context){var _a;return rules.reduce((function(previous,rule){return previous===boolbase_1.default.falseFunc?boolbase_1.default.falseFunc:(0,general_js_1.compileGeneralSelector)(previous,rule,options,context,compileToken)}),(_a=options.rootFunc)!==null&&_a!==void 0?_a:boolbase_1.default.trueFunc)}function reduceRules(a,b){if(b===boolbase_1.default.falseFunc||a===boolbase_1.default.trueFunc){return a}if(a===boolbase_1.default.falseFunc||b===boolbase_1.default.trueFunc){return b}return function combine(elem){return a(elem)||b(elem)}}(function(exports){var __createBinding=commonjsGlobal&&commonjsGlobal.__createBinding||(Object.create?function(o,m,k,k2){if(k2===undefined)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable)){desc={enumerable:true,get:function(){return m[k]}}}Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===undefined)k2=k;o[k2]=m[k]});var __setModuleDefault=commonjsGlobal&&commonjsGlobal.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:true,value:v})}:function(o,v){o["default"]=v});var __importStar=commonjsGlobal&&commonjsGlobal.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null)for(var k in mod)if(k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k))__createBinding(result,mod,k);__setModuleDefault(result,mod);return result};var __importDefault=commonjsGlobal&&commonjsGlobal.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:true});exports.aliases=exports.pseudos=exports.filters=exports.is=exports.selectOne=exports.selectAll=exports.prepareContext=exports._compileToken=exports._compileUnsafe=exports.compile=void 0;var DomUtils=__importStar(lib$5);var boolbase_1=__importDefault(boolbase);var compile_js_1=compile$3;var subselects_js_1=subselects;var defaultEquals=function(a,b){return a===b};var defaultOptions={adapter:DomUtils,equals:defaultEquals};function convertOptionFormats(options){var _a,_b,_c,_d;var opts=options!==null&&options!==void 0?options:defaultOptions;(_a=opts.adapter)!==null&&_a!==void 0?_a:opts.adapter=DomUtils;(_b=opts.equals)!==null&&_b!==void 0?_b:opts.equals=(_d=(_c=opts.adapter)===null||_c===void 0?void 0:_c.equals)!==null&&_d!==void 0?_d:defaultEquals;return opts}function wrapCompile(func){return function addAdapter(selector,options,context){var opts=convertOptionFormats(options);return func(selector,opts,context)}}exports.compile=wrapCompile(compile_js_1.compile);exports._compileUnsafe=wrapCompile(compile_js_1.compileUnsafe);exports._compileToken=wrapCompile(compile_js_1.compileToken);function getSelectorFunc(searchFunc){return function select(query,elements,options){var opts=convertOptionFormats(options);if(typeof query!=="function"){query=(0,compile_js_1.compileUnsafe)(query,opts,elements)}var filteredElements=prepareContext(elements,opts.adapter,query.shouldTestNextSiblings);return searchFunc(query,filteredElements,opts)}}function prepareContext(elems,adapter,shouldTestNextSiblings){if(shouldTestNextSiblings===void 0){shouldTestNextSiblings=false}if(shouldTestNextSiblings){elems=appendNextSiblings(elems,adapter)}return Array.isArray(elems)?adapter.removeSubsets(elems):adapter.getChildren(elems)}exports.prepareContext=prepareContext;function appendNextSiblings(elem,adapter){var elems=Array.isArray(elem)?elem.slice(0):[elem];var elemsLength=elems.length;for(var i=0;i<elemsLength;i++){var nextSiblings=(0,subselects_js_1.getNextSiblings)(elems[i],adapter);elems.push.apply(elems,nextSiblings)}return elems}exports.selectAll=getSelectorFunc((function(query,elems,options){return query===boolbase_1.default.falseFunc||!elems||elems.length===0?[]:options.adapter.findAll(query,elems)}));exports.selectOne=getSelectorFunc((function(query,elems,options){return query===boolbase_1.default.falseFunc||!elems||elems.length===0?null:options.adapter.findOne(query,elems)}));function is(elem,query,options){var opts=convertOptionFormats(options);return(typeof query==="function"?query:(0,compile_js_1.compile)(query,opts))(elem)}exports.is=is;exports.default=exports.selectAll;var index_js_1=pseudoSelectors;Object.defineProperty(exports,"filters",{enumerable:true,get:function(){return index_js_1.filters}});Object.defineProperty(exports,"pseudos",{enumerable:true,get:function(){return index_js_1.pseudos}});Object.defineProperty(exports,"aliases",{enumerable:true,get:function(){return index_js_1.aliases}})})(lib$6);const isTag=node=>node.type==="element";const existsOne=(test,elems)=>elems.some((elem=>{if(isTag(elem)){return test(elem)||existsOne(test,getChildren(elem))}else{return false}}));const getAttributeValue=(elem,name)=>elem.attributes[name];const getChildren=node=>node.children||[];const getName=elemAst=>elemAst.name;const getParent=node=>node.parentNode||null;const getSiblings=elem=>{var parent=getParent(elem);return parent?getChildren(parent):[]};const getText=node=>{if(node.children[0].type==="text"&&node.children[0].type==="cdata"){return node.children[0].value}return""};const hasAttrib=(elem,name)=>elem.attributes[name]!==undefined;const removeSubsets=nodes=>{let idx=nodes.length;let node;let ancestor;let replace;while(--idx>-1){node=ancestor=nodes[idx];nodes[idx]=null;replace=true;while(ancestor){if(nodes.includes(ancestor)){replace=false;nodes.splice(idx,1);break}ancestor=getParent(ancestor)}if(replace){nodes[idx]=node}}return nodes};const findAll$2=(test,elems)=>{const result=[];for(const elem of elems){if(isTag(elem)){if(test(elem)){result.push(elem)}result.push(...findAll$2(test,getChildren(elem)))}}return result};const findOne=(test,elems)=>{for(const elem of elems){if(isTag(elem)){if(test(elem)){return elem}const result=findOne(test,getChildren(elem));if(result){return result}}}return null};const svgoCssSelectAdapter={isTag:isTag,existsOne:existsOne,getAttributeValue:getAttributeValue,getChildren:getChildren,getName:getName,getParent:getParent,getSiblings:getSiblings,getText:getText,hasAttrib:hasAttrib,removeSubsets:removeSubsets,findAll:findAll$2,findOne:findOne};var cssSelectAdapter=svgoCssSelectAdapter;const{selectAll:selectAll,selectOne:selectOne,is:is}=lib$6;const xastAdaptor=cssSelectAdapter;const cssSelectOptions={xmlMode:true,adapter:xastAdaptor};const querySelectorAll$2=(node,selector)=>selectAll(selector,node,cssSelectOptions);xast.querySelectorAll=querySelectorAll$2;const querySelector$1=(node,selector)=>selectOne(selector,node,cssSelectOptions);xast.querySelector=querySelector$1;const matches$1=(node,selector)=>is(node,selector,cssSelectOptions);xast.matches=matches$1;const visitSkip$7=Symbol();xast.visitSkip=visitSkip$7;const visit$7=(node,visitor,parentNode)=>{const callbacks=visitor[node.type];if(callbacks&&callbacks.enter){const symbol=callbacks.enter(node,parentNode);if(symbol===visitSkip$7){return}}if(node.type==="root"){for(const child of node.children){visit$7(child,visitor,node)}}if(node.type==="element"){if(parentNode.children.includes(node)){for(const child of node.children){visit$7(child,visitor,node)}}}if(callbacks&&callbacks.exit){callbacks.exit(node,parentNode)}};xast.visit=visit$7;const detachNodeFromParent$m=(node,parentNode)=>{parentNode.children=parentNode.children.filter((child=>child!==node))};xast.detachNodeFromParent=detachNodeFromParent$m;const{visit:visit$6}=xast;const invokePlugins$1=(ast,info,plugins,overrides,globalOverrides)=>{for(const plugin of plugins){const override=overrides==null?null:overrides[plugin.name];if(override===false){continue}const params={...plugin.params,...globalOverrides,...override};const visitor=plugin.fn(ast,params,info);if(visitor!=null){visit$6(ast,visitor)}}};plugins.invokePlugins=invokePlugins$1;const createPreset$1=({name:name,plugins:plugins})=>({name:name,fn:(ast,params,info)=>{const{floatPrecision:floatPrecision,overrides:overrides}=params;const globalOverrides={};if(floatPrecision!=null){globalOverrides.floatPrecision=floatPrecision}if(overrides){const pluginNames=plugins.map((({name:name})=>name));for(const pluginName of Object.keys(overrides)){if(!pluginNames.includes(pluginName)){console.warn(`You are trying to configure ${pluginName} which is not part of ${name}.\n`+`Try to put it before or after, for example\n\n`+`plugins: [\n`+` {\n`+` name: '${name}',\n`+` },\n`+` '${pluginName}'\n`+`]\n`)}}}invokePlugins$1(ast,info,plugins,overrides,globalOverrides)}});plugins.createPreset=createPreset$1;var removeDoctype$1={};const{detachNodeFromParent:detachNodeFromParent$l}=xast;removeDoctype$1.name="removeDoctype";removeDoctype$1.description="removes doctype declaration";removeDoctype$1.fn=()=>({doctype:{enter:(node,parentNode)=>{detachNodeFromParent$l(node,parentNode)}}});var removeXMLProcInst$1={};const{detachNodeFromParent:detachNodeFromParent$k}=xast;removeXMLProcInst$1.name="removeXMLProcInst";removeXMLProcInst$1.description="removes XML processing instructions";removeXMLProcInst$1.fn=()=>({instruction:{enter:(node,parentNode)=>{if(node.name==="xml"){detachNodeFromParent$k(node,parentNode)}}}});var removeComments$1={};const{detachNodeFromParent:detachNodeFromParent$j}=xast;removeComments$1.name="removeComments";removeComments$1.description="removes comments";removeComments$1.fn=()=>({comment:{enter:(node,parentNode)=>{if(node.value.charAt(0)!=="!"){detachNodeFromParent$j(node,parentNode)}}}});var removeMetadata$1={};const{detachNodeFromParent:detachNodeFromParent$i}=xast;removeMetadata$1.name="removeMetadata";removeMetadata$1.description="removes <metadata>";removeMetadata$1.fn=()=>({element:{enter:(node,parentNode)=>{if(node.name==="metadata"){detachNodeFromParent$i(node,parentNode)}}}});var removeEditorsNSData$1={};const{detachNodeFromParent:detachNodeFromParent$h}=xast;const{editorNamespaces:editorNamespaces}=_collections;removeEditorsNSData$1.name="removeEditorsNSData";removeEditorsNSData$1.description="removes editors namespaces, elements and attributes";removeEditorsNSData$1.fn=(_root,params)=>{let namespaces=editorNamespaces;if(Array.isArray(params.additionalNamespaces)){namespaces=[...editorNamespaces,...params.additionalNamespaces]}const prefixes=[];return{element:{enter:(node,parentNode)=>{if(node.name==="svg"){for(const[name,value]of Object.entries(node.attributes)){if(name.startsWith("xmlns:")&&namespaces.includes(value)){prefixes.push(name.slice("xmlns:".length));delete node.attributes[name]}}}for(const name of Object.keys(node.attributes)){if(name.includes(":")){const[prefix]=name.split(":");if(prefixes.includes(prefix)){delete node.attributes[name]}}}if(node.name.includes(":")){const[prefix]=node.name.split(":");if(prefixes.includes(prefix)){detachNodeFromParent$h(node,parentNode)}}}}}};var cleanupAttrs$1={};cleanupAttrs$1.name="cleanupAttrs";cleanupAttrs$1.description="cleanups attributes from newlines, trailing and repeating spaces";const regNewlinesNeedSpace=/(\S)\r?\n(\S)/g;const regNewlines=/\r?\n/g;const regSpaces=/\s{2,}/g;cleanupAttrs$1.fn=(root,params)=>{const{newlines:newlines=true,trim:trim=true,spaces:spaces=true}=params;return{element:{enter:node=>{for(const name of Object.keys(node.attributes)){if(newlines){node.attributes[name]=node.attributes[name].replace(regNewlinesNeedSpace,((match,p1,p2)=>p1+" "+p2));node.attributes[name]=node.attributes[name].replace(regNewlines,"")}if(trim){node.attributes[name]=node.attributes[name].trim()}if(spaces){node.attributes[name]=node.attributes[name].replace(regSpaces," ")}}}}}};var mergeStyles$1={};const{visitSkip:visitSkip$6,detachNodeFromParent:detachNodeFromParent$g}=xast;mergeStyles$1.name="mergeStyles";mergeStyles$1.description="merge multiple style elements into one";mergeStyles$1.fn=()=>{let firstStyleElement=null;let collectedStyles="";let styleContentType="text";return{element:{enter:(node,parentNode)=>{if(node.name==="foreignObject"){return visitSkip$6}if(node.name!=="style"){return}if(node.attributes.type!=null&&node.attributes.type!==""&&node.attributes.type!=="text/css"){return}let css="";for(const child of node.children){if(child.type==="text"){css+=child.value}if(child.type==="cdata"){styleContentType="cdata";css+=child.value}}if(css.trim().length===0){detachNodeFromParent$g(node,parentNode);return}if(node.attributes.media==null){collectedStyles+=css}else{collectedStyles+=`@media ${node.attributes.media}{${css}}`;delete node.attributes.media}if(firstStyleElement==null){firstStyleElement=node}else{detachNodeFromParent$g(node,parentNode);const child={type:styleContentType,value:collectedStyles};Object.defineProperty(child,"parentNode",{writable:true,value:firstStyleElement});firstStyleElement.children=[child]}}}}};var inlineStyles$1={};var cjs$1={};var tokenizer$2={};var types$R={};const EOF$1=0;const Ident=1;const Function$2=2;const AtKeyword=3;const Hash$3=4;const String$2=5;const BadString=6;const Url$5=7;const BadUrl=8;const Delim=9;const Number$3=10;const Percentage$5=11;const Dimension$5=12;const WhiteSpace$5=13;const CDO$3=14;const CDC$3=15;const Colon=16;const Semicolon=17;const Comma=18;const LeftSquareBracket=19;const RightSquareBracket=20;const LeftParenthesis=21;const RightParenthesis=22;const LeftCurlyBracket=23;const RightCurlyBracket=24;const Comment$5=25;types$R.AtKeyword=AtKeyword;types$R.BadString=BadString;types$R.BadUrl=BadUrl;types$R.CDC=CDC$3;types$R.CDO=CDO$3;types$R.Colon=Colon;types$R.Comma=Comma;types$R.Comment=Comment$5;types$R.Delim=Delim;types$R.Dimension=Dimension$5;types$R.EOF=EOF$1;types$R.Function=Function$2;types$R.Hash=Hash$3;types$R.Ident=Ident;types$R.LeftCurlyBracket=LeftCurlyBracket;types$R.LeftParenthesis=LeftParenthesis;types$R.LeftSquareBracket=LeftSquareBracket;types$R.Number=Number$3;types$R.Percentage=Percentage$5;types$R.RightCurlyBracket=RightCurlyBracket;types$R.RightParenthesis=RightParenthesis;types$R.RightSquareBracket=RightSquareBracket;types$R.Semicolon=Semicolon;types$R.String=String$2;types$R.Url=Url$5;types$R.WhiteSpace=WhiteSpace$5;var charCodeDefinitions$c={};const EOF=0;function isDigit$1(code){return code>=48&&code<=57}function isHexDigit(code){return isDigit$1(code)||code>=65&&code<=70||code>=97&&code<=102}function isUppercaseLetter(code){return code>=65&&code<=90}function isLowercaseLetter(code){return code>=97&&code<=122}function isLetter(code){return isUppercaseLetter(code)||isLowercaseLetter(code)}function isNonAscii(code){return code>=128}function isNameStart(code){return isLetter(code)||isNonAscii(code)||code===95}function isName(code){return isNameStart(code)||isDigit$1(code)||code===45}function isNonPrintable(code){return code>=0&&code<=8||code===11||code>=14&&code<=31||code===127}function isNewline(code){return code===10||code===13||code===12}function isWhiteSpace(code){return isNewline(code)||code===32||code===9}function isValidEscape(first,second){if(first!==92){return false}if(isNewline(second)||second===EOF){return false}return true}function isIdentifierStart(first,second,third){if(first===45){return isNameStart(second)||second===45||isValidEscape(second,third)}if(isNameStart(first)){return true}if(first===92){return isValidEscape(first,second)}return false}function isNumberStart(first,second,third){if(first===43||first===45){if(isDigit$1(second)){return 2}return second===46&&isDigit$1(third)?3:0}if(first===46){return isDigit$1(second)?2:0}if(isDigit$1(first)){return 1}return 0}function isBOM(code){if(code===65279){return 1}if(code===65534){return 1}return 0}const CATEGORY=new Array(128);const EofCategory=128;const WhiteSpaceCategory=130;const DigitCategory=131;const NameStartCategory=132;const NonPrintableCategory=133;for(let i=0;i<CATEGORY.length;i++){CATEGORY[i]=isWhiteSpace(i)&&WhiteSpaceCategory||isDigit$1(i)&&DigitCategory||isNameStart(i)&&NameStartCategory||isNonPrintable(i)&&NonPrintableCategory||i||EofCategory}function charCodeCategory(code){return code<128?CATEGORY[code]:NameStartCategory}charCodeDefinitions$c.DigitCategory=DigitCategory;charCodeDefinitions$c.EofCategory=EofCategory;charCodeDefinitions$c.NameStartCategory=NameStartCategory;charCodeDefinitions$c.NonPrintableCategory=NonPrintableCategory;charCodeDefinitions$c.WhiteSpaceCategory=WhiteSpaceCategory;charCodeDefinitions$c.charCodeCategory=charCodeCategory;charCodeDefinitions$c.isBOM=isBOM;charCodeDefinitions$c.isDigit=isDigit$1;charCodeDefinitions$c.isHexDigit=isHexDigit;charCodeDefinitions$c.isIdentifierStart=isIdentifierStart;charCodeDefinitions$c.isLetter=isLetter;charCodeDefinitions$c.isLowercaseLetter=isLowercaseLetter;charCodeDefinitions$c.isName=isName;charCodeDefinitions$c.isNameStart=isNameStart;charCodeDefinitions$c.isNewline=isNewline;charCodeDefinitions$c.isNonAscii=isNonAscii;charCodeDefinitions$c.isNonPrintable=isNonPrintable;charCodeDefinitions$c.isNumberStart=isNumberStart;charCodeDefinitions$c.isUppercaseLetter=isUppercaseLetter;charCodeDefinitions$c.isValidEscape=isValidEscape;charCodeDefinitions$c.isWhiteSpace=isWhiteSpace;var utils$k={};const charCodeDefinitions$b=charCodeDefinitions$c;function getCharCode(source,offset){return offset<source.length?source.charCodeAt(offset):0}function getNewlineLength(source,offset,code){if(code===13&&getCharCode(source,offset+1)===10){return 2}return 1}function cmpChar(testStr,offset,referenceCode){let code=testStr.charCodeAt(offset);if(charCodeDefinitions$b.isUppercaseLetter(code)){code=code|32}return code===referenceCode}function cmpStr(testStr,start,end,referenceStr){if(end-start!==referenceStr.length){return false}if(start<0||end>testStr.length){return false}for(let i=start;i<end;i++){const referenceCode=referenceStr.charCodeAt(i-start);let testCode=testStr.charCodeAt(i);if(charCodeDefinitions$b.isUppercaseLetter(testCode)){testCode=testCode|32}if(testCode!==referenceCode){return false}}return true}function findWhiteSpaceStart(source,offset){for(;offset>=0;offset--){if(!charCodeDefinitions$b.isWhiteSpace(source.charCodeAt(offset))){break}}return offset+1}function findWhiteSpaceEnd(source,offset){for(;offset<source.length;offset++){if(!charCodeDefinitions$b.isWhiteSpace(source.charCodeAt(offset))){break}}return offset}function findDecimalNumberEnd(source,offset){for(;offset<source.length;offset++){if(!charCodeDefinitions$b.isDigit(source.charCodeAt(offset))){break}}return offset}function consumeEscaped(source,offset){offset+=2;if(charCodeDefinitions$b.isHexDigit(getCharCode(source,offset-1))){for(const maxOffset=Math.min(source.length,offset+5);offset<maxOffset;offset++){if(!charCodeDefinitions$b.isHexDigit(getCharCode(source,offset))){break}}const code=getCharCode(source,offset);if(charCodeDefinitions$b.isWhiteSpace(code)){offset+=getNewlineLength(source,offset,code)}}return offset}function consumeName(source,offset){for(;offset<source.length;offset++){const code=source.charCodeAt(offset);if(charCodeDefinitions$b.isName(code)){continue}if(charCodeDefinitions$b.isValidEscape(code,getCharCode(source,offset+1))){offset=consumeEscaped(source,offset)-1;continue}break}return offset}function consumeNumber$1(source,offset){let code=source.charCodeAt(offset);if(code===43||code===45){code=source.charCodeAt(offset+=1)}if(charCodeDefinitions$b.isDigit(code)){offset=findDecimalNumberEnd(source,offset+1);code=source.charCodeAt(offset)}if(code===46&&charCodeDefinitions$b.isDigit(source.charCodeAt(offset+1))){offset+=2;offset=findDecimalNumberEnd(source,offset)}if(cmpChar(source,offset,101)){let sign=0;code=source.charCodeAt(offset+1);if(code===45||code===43){sign=1;code=source.charCodeAt(offset+2)}if(charCodeDefinitions$b.isDigit(code)){offset=findDecimalNumberEnd(source,offset+1+sign+1)}}return offset}function consumeBadUrlRemnants(source,offset){for(;offset<source.length;offset++){const code=source.charCodeAt(offset);if(code===41){offset++;break}if(charCodeDefinitions$b.isValidEscape(code,getCharCode(source,offset+1))){offset=consumeEscaped(source,offset)}}return offset}function decodeEscaped(escaped){if(escaped.length===1&&!charCodeDefinitions$b.isHexDigit(escaped.charCodeAt(0))){return escaped[0]}let code=parseInt(escaped,16);if(code===0||code>=55296&&code<=57343||code>1114111){code=65533}return String.fromCodePoint(code)}utils$k.cmpChar=cmpChar;utils$k.cmpStr=cmpStr;utils$k.consumeBadUrlRemnants=consumeBadUrlRemnants;utils$k.consumeEscaped=consumeEscaped;utils$k.consumeName=consumeName;utils$k.consumeNumber=consumeNumber$1;utils$k.decodeEscaped=decodeEscaped;utils$k.findDecimalNumberEnd=findDecimalNumberEnd;utils$k.findWhiteSpaceEnd=findWhiteSpaceEnd;utils$k.findWhiteSpaceStart=findWhiteSpaceStart;utils$k.getNewlineLength=getNewlineLength;const tokenNames=["EOF-token","ident-token","function-token","at-keyword-token","hash-token","string-token","bad-string-token","url-token","bad-url-token","delim-token","number-token","percentage-token","dimension-token","whitespace-token","CDO-token","CDC-token","colon-token","semicolon-token","comma-token","[-token","]-token","(-token",")-token","{-token","}-token"];var names$8=tokenNames;var OffsetToLocation$3={};var adoptBuffer$3={};const MIN_SIZE=16*1024;function adoptBuffer$2(buffer=null,size){if(buffer===null||buffer.length<size){return new Uint32Array(Math.max(size+1024,MIN_SIZE))}return buffer}adoptBuffer$3.adoptBuffer=adoptBuffer$2;const adoptBuffer$1=adoptBuffer$3;const charCodeDefinitions$a=charCodeDefinitions$c;const N$4=10;const F$2=12;const R$2=13;function computeLinesAndColumns(host){const source=host.source;const sourceLength=source.length;const startOffset=source.length>0?charCodeDefinitions$a.isBOM(source.charCodeAt(0)):0;const lines=adoptBuffer$1.adoptBuffer(host.lines,sourceLength);const columns=adoptBuffer$1.adoptBuffer(host.columns,sourceLength);let line=host.startLine;let column=host.startColumn;for(let i=startOffset;i<sourceLength;i++){const code=source.charCodeAt(i);lines[i]=line;columns[i]=column++;if(code===N$4||code===R$2||code===F$2){if(code===R$2&&i+1<sourceLength&&source.charCodeAt(i+1)===N$4){i++;lines[i]=line;columns[i]=column}line++;column=1}}lines[sourceLength]=line;columns[sourceLength]=column;host.lines=lines;host.columns=columns;host.computed=true}class OffsetToLocation$2{constructor(){this.lines=null;this.columns=null;this.computed=false}setSource(source,startOffset=0,startLine=1,startColumn=1){this.source=source;this.startOffset=startOffset;this.startLine=startLine;this.startColumn=startColumn;this.computed=false}getLocation(offset,filename){if(!this.computed){computeLinesAndColumns(this)}return{source:filename,offset:this.startOffset+offset,line:this.lines[offset],column:this.columns[offset]}}getLocationRange(start,end,filename){if(!this.computed){computeLinesAndColumns(this)}return{source:filename,start:{offset:this.startOffset+start,line:this.lines[start],column:this.columns[start]},end:{offset:this.startOffset+end,line:this.lines[end],column:this.columns[end]}}}}OffsetToLocation$3.OffsetToLocation=OffsetToLocation$2;var TokenStream$4={};const adoptBuffer=adoptBuffer$3;const utils$j=utils$k;const names$7=names$8;const types$Q=types$R;const OFFSET_MASK=16777215;const TYPE_SHIFT=24;const balancePair$1=new Map([[types$Q.Function,types$Q.RightParenthesis],[types$Q.LeftParenthesis,types$Q.RightParenthesis],[types$Q.LeftSquareBracket,types$Q.RightSquareBracket],[types$Q.LeftCurlyBracket,types$Q.RightCurlyBracket]]);class TokenStream$3{constructor(source,tokenize){this.setSource(source,tokenize)}reset(){this.eof=false;this.tokenIndex=-1;this.tokenType=0;this.tokenStart=this.firstCharOffset;this.tokenEnd=this.firstCharOffset}setSource(source="",tokenize=(()=>{})){source=String(source||"");const sourceLength=source.length;const offsetAndType=adoptBuffer.adoptBuffer(this.offsetAndType,source.length+1);const balance=adoptBuffer.adoptBuffer(this.balance,source.length+1);let tokenCount=0;let balanceCloseType=0;let balanceStart=0;let firstCharOffset=-1;this.offsetAndType=null;this.balance=null;tokenize(source,((type,start,end)=>{switch(type){default:balance[tokenCount]=sourceLength;break;case balanceCloseType:{let balancePrev=balanceStart&OFFSET_MASK;balanceStart=balance[balancePrev];balanceCloseType=balanceStart>>TYPE_SHIFT;balance[tokenCount]=balancePrev;balance[balancePrev++]=tokenCount;for(;balancePrev<tokenCount;balancePrev++){if(balance[balancePrev]===sourceLength){balance[balancePrev]=tokenCount}}break}case types$Q.LeftParenthesis:case types$Q.Function:case types$Q.LeftSquareBracket:case types$Q.LeftCurlyBracket:balance[tokenCount]=balanceStart;balanceCloseType=balancePair$1.get(type);balanceStart=balanceCloseType<<TYPE_SHIFT|tokenCount;break}offsetAndType[tokenCount++]=type<<TYPE_SHIFT|end;if(firstCharOffset===-1){firstCharOffset=start}}));offsetAndType[tokenCount]=types$Q.EOF<<TYPE_SHIFT|sourceLength;balance[tokenCount]=sourceLength;balance[sourceLength]=sourceLength;while(balanceStart!==0){const balancePrev=balanceStart&OFFSET_MASK;balanceStart=balance[balancePrev];balance[balancePrev]=sourceLength}this.source=source;this.firstCharOffset=firstCharOffset===-1?0:firstCharOffset;this.tokenCount=tokenCount;this.offsetAndType=offsetAndType;this.balance=balance;this.reset();this.next()}lookupType(offset){offset+=this.tokenIndex;if(offset<this.tokenCount){return this.offsetAndType[offset]>>TYPE_SHIFT}return types$Q.EOF}lookupOffset(offset){offset+=this.tokenIndex;if(offset<this.tokenCount){return this.offsetAndType[offset-1]&OFFSET_MASK}return this.source.length}lookupValue(offset,referenceStr){offset+=this.tokenIndex;if(offset<this.tokenCount){return utils$j.cmpStr(this.source,this.offsetAndType[offset-1]&OFFSET_MASK,this.offsetAndType[offset]&OFFSET_MASK,referenceStr)}return false}getTokenStart(tokenIndex){if(tokenIndex===this.tokenIndex){return this.tokenStart}if(tokenIndex>0){return tokenIndex<this.tokenCount?this.offsetAndType[tokenIndex-1]&OFFSET_MASK:this.offsetAndType[this.tokenCount]&OFFSET_MASK}return this.firstCharOffset}substrToCursor(start){return this.source.substring(start,this.tokenStart)}isBalanceEdge(pos){return this.balance[this.tokenIndex]<pos}isDelim(code,offset){if(offset){return this.lookupType(offset)===types$Q.Delim&&this.source.charCodeAt(this.lookupOffset(offset))===code}return this.tokenType===types$Q.Delim&&this.source.charCodeAt(this.tokenStart)===code}skip(tokenCount){let next=this.tokenIndex+tokenCount;if(next<this.tokenCount){this.tokenIndex=next;this.tokenStart=this.offsetAndType[next-1]&OFFSET_MASK;next=this.offsetAndType[next];this.tokenType=next>>TYPE_SHIFT;this.tokenEnd=next&OFFSET_MASK}else{this.tokenIndex=this.tokenCount;this.next()}}next(){let next=this.tokenIndex+1;if(next<this.tokenCount){this.tokenIndex=next;this.tokenStart=this.tokenEnd;next=this.offsetAndType[next];this.tokenType=next>>TYPE_SHIFT;this.tokenEnd=next&OFFSET_MASK}else{this.eof=true;this.tokenIndex=this.tokenCount;this.tokenType=types$Q.EOF;this.tokenStart=this.tokenEnd=this.source.length}}skipSC(){while(this.tokenType===types$Q.WhiteSpace||this.tokenType===types$Q.Comment){this.next()}}skipUntilBalanced(startToken,stopConsume){let cursor=startToken;let balanceEnd;let offset;loop:for(;cursor<this.tokenCount;cursor++){balanceEnd=this.balance[cursor];if(balanceEnd<startToken){break loop}offset=cursor>0?this.offsetAndType[cursor-1]&OFFSET_MASK:this.firstCharOffset;switch(stopConsume(this.source.charCodeAt(offset))){case 1:break loop;case 2:cursor++;break loop;default:if(this.balance[balanceEnd]===cursor){cursor=balanceEnd}}}this.skip(cursor-this.tokenIndex)}forEachToken(fn){for(let i=0,offset=this.firstCharOffset;i<this.tokenCount;i++){const start=offset;const item=this.offsetAndType[i];const end=item&OFFSET_MASK;const type=item>>TYPE_SHIFT;offset=end;fn(type,start,end,i)}}dump(){const tokens=new Array(this.tokenCount);this.forEachToken(((type,start,end,index)=>{tokens[index]={idx:index,type:names$7[type],chunk:this.source.substring(start,end),balance:this.balance[index]}}));return tokens}}TokenStream$4.TokenStream=TokenStream$3;const types$P=types$R;const charCodeDefinitions$9=charCodeDefinitions$c;const utils$i=utils$k;const names$6=names$8;const OffsetToLocation$1=OffsetToLocation$3;const TokenStream$2=TokenStream$4;function tokenize$2(source,onToken){function getCharCode(offset){return offset<sourceLength?source.charCodeAt(offset):0}function consumeNumericToken(){offset=utils$i.consumeNumber(source,offset);if(charCodeDefinitions$9.isIdentifierStart(getCharCode(offset),getCharCode(offset+1),getCharCode(offset+2))){type=types$P.Dimension;offset=utils$i.consumeName(source,offset);return}if(getCharCode(offset)===37){type=types$P.Percentage;offset++;return}type=types$P.Number}function consumeIdentLikeToken(){const nameStartOffset=offset;offset=utils$i.consumeName(source,offset);if(utils$i.cmpStr(source,nameStartOffset,offset,"url")&&getCharCode(offset)===40){offset=utils$i.findWhiteSpaceEnd(source,offset+1);if(getCharCode(offset)===34||getCharCode(offset)===39){type=types$P.Function;offset=nameStartOffset+4;return}consumeUrlToken();return}if(getCharCode(offset)===40){type=types$P.Function;offset++;return}type=types$P.Ident}function consumeStringToken(endingCodePoint){if(!endingCodePoint){endingCodePoint=getCharCode(offset++)}type=types$P.String;for(;offset<source.length;offset++){const code=source.charCodeAt(offset);switch(charCodeDefinitions$9.charCodeCategory(code)){case endingCodePoint:offset++;return;case charCodeDefinitions$9.WhiteSpaceCategory:if(charCodeDefinitions$9.isNewline(code)){offset+=utils$i.getNewlineLength(source,offset,code);type=types$P.BadString;return}break;case 92:if(offset===source.length-1){break}const nextCode=getCharCode(offset+1);if(charCodeDefinitions$9.isNewline(nextCode)){offset+=utils$i.getNewlineLength(source,offset+1,nextCode)}else if(charCodeDefinitions$9.isValidEscape(code,nextCode)){offset=utils$i.consumeEscaped(source,offset)-1}break}}}function consumeUrlToken(){type=types$P.Url;offset=utils$i.findWhiteSpaceEnd(source,offset);for(;offset<source.length;offset++){const code=source.charCodeAt(offset);switch(charCodeDefinitions$9.charCodeCategory(code)){case 41:offset++;return;case charCodeDefinitions$9.WhiteSpaceCategory:offset=utils$i.findWhiteSpaceEnd(source,offset);if(getCharCode(offset)===41||offset>=source.length){if(offset<source.length){offset++}return}offset=utils$i.consumeBadUrlRemnants(source,offset);type=types$P.BadUrl;return;case 34:case 39:case 40:case charCodeDefinitions$9.NonPrintableCategory:offset=utils$i.consumeBadUrlRemnants(source,offset);type=types$P.BadUrl;return;case 92:if(charCodeDefinitions$9.isValidEscape(code,getCharCode(offset+1))){offset=utils$i.consumeEscaped(source,offset)-1;break}offset=utils$i.consumeBadUrlRemnants(source,offset);type=types$P.BadUrl;return}}}source=String(source||"");const sourceLength=source.length;let start=charCodeDefinitions$9.isBOM(getCharCode(0));let offset=start;let type;while(offset<sourceLength){const code=source.charCodeAt(offset);switch(charCodeDefinitions$9.charCodeCategory(code)){case charCodeDefinitions$9.WhiteSpaceCategory:type=types$P.WhiteSpace;offset=utils$i.findWhiteSpaceEnd(source,offset+1);break;case 34:consumeStringToken();break;case 35:if(charCodeDefinitions$9.isName(getCharCode(offset+1))||charCodeDefinitions$9.isValidEscape(getCharCode(offset+1),getCharCode(offset+2))){type=types$P.Hash;offset=utils$i.consumeName(source,offset+1)}else{type=types$P.Delim;offset++}break;case 39:consumeStringToken();break;case 40:type=types$P.LeftParenthesis;offset++;break;case 41:type=types$P.RightParenthesis;offset++;break;case 43:if(charCodeDefinitions$9.isNumberStart(code,getCharCode(offset+1),getCharCode(offset+2))){consumeNumericToken()}else{type=types$P.Delim;offset++}break;case 44:type=types$P.Comma;offset++;break;case 45:if(charCodeDefinitions$9.isNumberStart(code,getCharCode(offset+1),getCharCode(offset+2))){consumeNumericToken()}else{if(getCharCode(offset+1)===45&&getCharCode(offset+2)===62){type=types$P.CDC;offset=offset+3}else{if(charCodeDefinitions$9.isIdentifierStart(code,getCharCode(offset+1),getCharCode(offset+2))){consumeIdentLikeToken()}else{type=types$P.Delim;offset++}}}break;case 46:if(charCodeDefinitions$9.isNumberStart(code,getCharCode(offset+1),getCharCode(offset+2))){consumeNumericToken()}else{type=types$P.Delim;offset++}break;case 47:if(getCharCode(offset+1)===42){type=types$P.Comment;offset=source.indexOf("*/",offset+2);offset=offset===-1?source.length:offset+2}else{type=types$P.Delim;offset++}break;case 58:type=types$P.Colon;offset++;break;case 59:type=types$P.Semicolon;offset++;break;case 60:if(getCharCode(offset+1)===33&&getCharCode(offset+2)===45&&getCharCode(offset+3)===45){type=types$P.CDO;offset=offset+4}else{type=types$P.Delim;offset++}break;case 64:if(charCodeDefinitions$9.isIdentifierStart(getCharCode(offset+1),getCharCode(offset+2),getCharCode(offset+3))){type=types$P.AtKeyword;offset=utils$i.consumeName(source,offset+1)}else{type=types$P.Delim;offset++}break;case 91:type=types$P.LeftSquareBracket;offset++;break;case 92:if(charCodeDefinitions$9.isValidEscape(code,getCharCode(offset+1))){consumeIdentLikeToken()}else{type=types$P.Delim;offset++}break;case 93:type=types$P.RightSquareBracket;offset++;break;case 123:type=types$P.LeftCurlyBracket;offset++;break;case 125:type=types$P.RightCurlyBracket;offset++;break;case charCodeDefinitions$9.DigitCategory:consumeNumericToken();break;case charCodeDefinitions$9.NameStartCategory:consumeIdentLikeToken();break;default:type=types$P.Delim;offset++}onToken(type,start,start=offset)}}tokenizer$2.AtKeyword=types$P.AtKeyword;tokenizer$2.BadString=types$P.BadString;tokenizer$2.BadUrl=types$P.BadUrl;tokenizer$2.CDC=types$P.CDC;tokenizer$2.CDO=types$P.CDO;tokenizer$2.Colon=types$P.Colon;tokenizer$2.Comma=types$P.Comma;tokenizer$2.Comment=types$P.Comment;tokenizer$2.Delim=types$P.Delim;tokenizer$2.Dimension=types$P.Dimension;tokenizer$2.EOF=types$P.EOF;tokenizer$2.Function=types$P.Function;tokenizer$2.Hash=types$P.Hash;tokenizer$2.Ident=types$P.Ident;tokenizer$2.LeftCurlyBracket=types$P.LeftCurlyBracket;tokenizer$2.LeftParenthesis=types$P.LeftParenthesis;tokenizer$2.LeftSquareBracket=types$P.LeftSquareBracket;tokenizer$2.Number=types$P.Number;tokenizer$2.Percentage=types$P.Percentage;tokenizer$2.RightCurlyBracket=types$P.RightCurlyBracket;tokenizer$2.RightParenthesis=types$P.RightParenthesis;tokenizer$2.RightSquareBracket=types$P.RightSquareBracket;tokenizer$2.Semicolon=types$P.Semicolon;tokenizer$2.String=types$P.String;tokenizer$2.Url=types$P.Url;tokenizer$2.WhiteSpace=types$P.WhiteSpace;tokenizer$2.tokenTypes=types$P;tokenizer$2.DigitCategory=charCodeDefinitions$9.DigitCategory;tokenizer$2.EofCategory=charCodeDefinitions$9.EofCategory;tokenizer$2.NameStartCategory=charCodeDefinitions$9.NameStartCategory;tokenizer$2.NonPrintableCategory=charCodeDefinitions$9.NonPrintableCategory;tokenizer$2.WhiteSpaceCategory=charCodeDefinitions$9.WhiteSpaceCategory;tokenizer$2.charCodeCategory=charCodeDefinitions$9.charCodeCategory;tokenizer$2.isBOM=charCodeDefinitions$9.isBOM;tokenizer$2.isDigit=charCodeDefinitions$9.isDigit;tokenizer$2.isHexDigit=charCodeDefinitions$9.isHexDigit;tokenizer$2.isIdentifierStart=charCodeDefinitions$9.isIdentifierStart;tokenizer$2.isLetter=charCodeDefinitions$9.isLetter;tokenizer$2.isLowercaseLetter=charCodeDefinitions$9.isLowercaseLetter;tokenizer$2.isName=charCodeDefinitions$9.isName;tokenizer$2.isNameStart=charCodeDefinitions$9.isNameStart;tokenizer$2.isNewline=charCodeDefinitions$9.isNewline;tokenizer$2.isNonAscii=charCodeDefinitions$9.isNonAscii;tokenizer$2.isNonPrintable=charCodeDefinitions$9.isNonPrintable;tokenizer$2.isNumberStart=charCodeDefinitions$9.isNumberStart;tokenizer$2.isUppercaseLetter=charCodeDefinitions$9.isUppercaseLetter;tokenizer$2.isValidEscape=charCodeDefinitions$9.isValidEscape;tokenizer$2.isWhiteSpace=charCodeDefinitions$9.isWhiteSpace;tokenizer$2.cmpChar=utils$i.cmpChar;tokenizer$2.cmpStr=utils$i.cmpStr;tokenizer$2.consumeBadUrlRemnants=utils$i.consumeBadUrlRemnants;tokenizer$2.consumeEscaped=utils$i.consumeEscaped;tokenizer$2.consumeName=utils$i.consumeName;tokenizer$2.consumeNumber=utils$i.consumeNumber;tokenizer$2.decodeEscaped=utils$i.decodeEscaped;tokenizer$2.findDecimalNumberEnd=utils$i.findDecimalNumberEnd;tokenizer$2.findWhiteSpaceEnd=utils$i.findWhiteSpaceEnd;tokenizer$2.findWhiteSpaceStart=utils$i.findWhiteSpaceStart;tokenizer$2.getNewlineLength=utils$i.getNewlineLength;tokenizer$2.tokenNames=names$6;tokenizer$2.OffsetToLocation=OffsetToLocation$1.OffsetToLocation;tokenizer$2.TokenStream=TokenStream$2.TokenStream;tokenizer$2.tokenize=tokenize$2;var create$7={};var List$7={};let releasedCursors=null;class List$6{static createItem(data){return{prev:null,next:null,data:data}}constructor(){this.head=null;this.tail=null;this.cursor=null}createItem(data){return List$6.createItem(data)}allocateCursor(prev,next){let cursor;if(releasedCursors!==null){cursor=releasedCursors;releasedCursors=releasedCursors.cursor;cursor.prev=prev;cursor.next=next;cursor.cursor=this.cursor}else{cursor={prev:prev,next:next,cursor:this.cursor}}this.cursor=cursor;return cursor}releaseCursor(){const{cursor:cursor}=this;this.cursor=cursor.cursor;cursor.prev=null;cursor.next=null;cursor.cursor=releasedCursors;releasedCursors=cursor}updateCursors(prevOld,prevNew,nextOld,nextNew){let{cursor:cursor}=this;while(cursor!==null){if(cursor.prev===prevOld){cursor.prev=prevNew}if(cursor.next===nextOld){cursor.next=nextNew}cursor=cursor.cursor}}*[Symbol.iterator](){for(let cursor=this.head;cursor!==null;cursor=cursor.next){yield cursor.data}}get size(){let size=0;for(let cursor=this.head;cursor!==null;cursor=cursor.next){size++}return size}get isEmpty(){return this.head===null}get first(){return this.head&&this.head.data}get last(){return this.tail&&this.tail.data}fromArray(array){let cursor=null;this.head=null;for(let data of array){const item=List$6.createItem(data);if(cursor!==null){cursor.next=item}else{this.head=item}item.prev=cursor;cursor=item}this.tail=cursor;return this}toArray(){return[...this]}toJSON(){return[...this]}forEach(fn,thisArg=this){const cursor=this.allocateCursor(null,this.head);while(cursor.next!==null){const item=cursor.next;cursor.next=item.next;fn.call(thisArg,item.data,item,this)}this.releaseCursor()}forEachRight(fn,thisArg=this){const cursor=this.allocateCursor(this.tail,null);while(cursor.prev!==null){const item=cursor.prev;cursor.prev=item.prev;fn.call(thisArg,item.data,item,this)}this.releaseCursor()}reduce(fn,initialValue,thisArg=this){let cursor=this.allocateCursor(null,this.head);let acc=initialValue;let item;while(cursor.next!==null){item=cursor.next;cursor.next=item.next;acc=fn.call(thisArg,acc,item.data,item,this)}this.releaseCursor();return acc}reduceRight(fn,initialValue,thisArg=this){let cursor=this.allocateCursor(this.tail,null);let acc=initialValue;let item;while(cursor.prev!==null){item=cursor.prev;cursor.prev=item.prev;acc=fn.call(thisArg,acc,item.data,item,this)}this.releaseCursor();return acc}some(fn,thisArg=this){for(let cursor=this.head;cursor!==null;cursor=cursor.next){if(fn.call(thisArg,cursor.data,cursor,this)){return true}}return false}map(fn,thisArg=this){const result=new List$6;for(let cursor=this.head;cursor!==null;cursor=cursor.next){result.appendData(fn.call(thisArg,cursor.data,cursor,this))}return result}filter(fn,thisArg=this){const result=new List$6;for(let cursor=this.head;cursor!==null;cursor=cursor.next){if(fn.call(thisArg,cursor.data,cursor,this)){result.appendData(cursor.data)}}return result}nextUntil(start,fn,thisArg=this){if(start===null){return}const cursor=this.allocateCursor(null,start);while(cursor.next!==null){const item=cursor.next;cursor.next=item.next;if(fn.call(thisArg,item.data,item,this)){break}}this.releaseCursor()}prevUntil(start,fn,thisArg=this){if(start===null){return}const cursor=this.allocateCursor(start,null);while(cursor.prev!==null){const item=cursor.prev;cursor.prev=item.prev;if(fn.call(thisArg,item.data,item,this)){break}}this.releaseCursor()}clear(){this.head=null;this.tail=null}copy(){const result=new List$6;for(let data of this){result.appendData(data)}return result}prepend(item){this.updateCursors(null,item,this.head,item);if(this.head!==null){this.head.prev=item;item.next=this.head}else{this.tail=item}this.head=item;return this}prependData(data){return this.prepend(List$6.createItem(data))}append(item){return this.insert(item)}appendData(data){return this.insert(List$6.createItem(data))}insert(item,before=null){if(before!==null){this.updateCursors(before.prev,item,before,item);if(before.prev===null){if(this.head!==before){throw new Error("before doesn't belong to list")}this.head=item;before.prev=item;item.next=before;this.updateCursors(null,item)}else{before.prev.next=item;item.prev=before.prev;before.prev=item;item.next=before}}else{this.updateCursors(this.tail,item,null,item);if(this.tail!==null){this.tail.next=item;item.prev=this.tail}else{this.head=item}this.tail=item}return this}insertData(data,before){return this.insert(List$6.createItem(data),before)}remove(item){this.updateCursors(item,item.prev,item,item.next);if(item.prev!==null){item.prev.next=item.next}else{if(this.head!==item){throw new Error("item doesn't belong to list")}this.head=item.next}if(item.next!==null){item.next.prev=item.prev}else{if(this.tail!==item){throw new Error("item doesn't belong to list")}this.tail=item.prev}item.prev=null;item.next=null;return item}push(data){this.insert(List$6.createItem(data))}pop(){return this.tail!==null?this.remove(this.tail):null}unshift(data){this.prepend(List$6.createItem(data))}shift(){return this.head!==null?this.remove(this.head):null}prependList(list){return this.insertList(list,this.head)}appendList(list){return this.insertList(list)}insertList(list,before){if(list.head===null){return this}if(before!==undefined&&before!==null){this.updateCursors(before.prev,list.tail,before,list.head);if(before.prev!==null){before.prev.next=list.head;list.head.prev=before.prev}else{this.head=list.head}before.prev=list.tail;list.tail.next=before}else{this.updateCursors(this.tail,list.tail,null,list.head);if(this.tail!==null){this.tail.next=list.head;list.head.prev=this.tail}else{this.head=list.head}this.tail=list.tail}list.head=null;list.tail=null;return this}replace(oldItem,newItemOrList){if("head"in newItemOrList){this.insertList(newItemOrList,oldItem)}else{this.insert(newItemOrList,oldItem)}this.remove(oldItem)}}List$7.List=List$6;var _SyntaxError$1={};var createCustomError$4={};function createCustomError$3(name,message){const error=Object.create(SyntaxError.prototype);const errorStack=new Error;return Object.assign(error,{name:name,message:message,get stack(){return(errorStack.stack||"").replace(/^(.+\n){1,3}/,`${name}: ${message}\n`)}})}createCustomError$4.createCustomError=createCustomError$3;const createCustomError$2=createCustomError$4;const MAX_LINE_LENGTH=100;const OFFSET_CORRECTION=60;const TAB_REPLACEMENT=" ";function sourceFragment({source:source,line:line,column:column},extraLines){function processLines(start,end){return lines.slice(start,end).map(((line,idx)=>String(start+idx+1).padStart(maxNumLength)+" |"+line)).join("\n")}const lines=source.split(/\r\n?|\n|\f/);const startLine=Math.max(1,line-extraLines)-1;const endLine=Math.min(line+extraLines,lines.length+1);const maxNumLength=Math.max(4,String(endLine).length)+1;let cutLeft=0;column+=(TAB_REPLACEMENT.length-1)*(lines[line-1].substr(0,column-1).match(/\t/g)||[]).length;if(column>MAX_LINE_LENGTH){cutLeft=column-OFFSET_CORRECTION+3;column=OFFSET_CORRECTION-2}for(let i=startLine;i<=endLine;i++){if(i>=0&&i<lines.length){lines[i]=lines[i].replace(/\t/g,TAB_REPLACEMENT);lines[i]=(cutLeft>0&&lines[i].length>cutLeft?"…":"")+lines[i].substr(cutLeft,MAX_LINE_LENGTH-2)+(lines[i].length>cutLeft+MAX_LINE_LENGTH-1?"…":"")}}return[processLines(startLine,line),new Array(column+maxNumLength+2).join("-")+"^",processLines(line,endLine)].filter(Boolean).join("\n")}function SyntaxError$5(message,source,offset,line,column){const error=Object.assign(createCustomError$2.createCustomError("SyntaxError",message),{source:source,offset:offset,line:line,column:column,sourceFragment(extraLines){return sourceFragment({source:source,line:line,column:column},isNaN(extraLines)?0:extraLines)},get formattedMessage(){return`Parse error: ${message}\n`+sourceFragment({source:source,line:line,column:column},2)}});return error}_SyntaxError$1.SyntaxError=SyntaxError$5;var sequence$1={};const types$O=types$R;function readSequence$1(recognizer){const children=this.createList();let space=false;const context={recognizer:recognizer};while(!this.eof){switch(this.tokenType){case types$O.Comment:this.next();continue;case types$O.WhiteSpace:space=true;this.next();continue}let child=recognizer.getNode.call(this,context);if(child===undefined){break}if(space){if(recognizer.onWhiteSpace){recognizer.onWhiteSpace.call(this,child,children,context)}space=false}children.push(child)}if(space&&recognizer.onWhiteSpace){recognizer.onWhiteSpace.call(this,null,children,context)}return children}sequence$1.readSequence=readSequence$1;const List$5=List$7;const SyntaxError$4=_SyntaxError$1;const index$b=tokenizer$2;const sequence=sequence$1;const OffsetToLocation=OffsetToLocation$3;const TokenStream$1=TokenStream$4;const utils$h=utils$k;const types$N=types$R;const names$5=names$8;const NOOP=()=>{};const EXCLAMATIONMARK$3=33;const NUMBERSIGN$4=35;const SEMICOLON=59;const LEFTCURLYBRACKET$1=123;const NULL=0;function createParseContext(name){return function(){return this[name]()}}function fetchParseValues(dict){const result=Object.create(null);for(const name in dict){const item=dict[name];const fn=item.parse||item;if(fn){result[name]=fn}}return result}function processConfig(config){const parseConfig={context:Object.create(null),scope:Object.assign(Object.create(null),config.scope),atrule:fetchParseValues(config.atrule),pseudo:fetchParseValues(config.pseudo),node:fetchParseValues(config.node)};for(const name in config.parseContext){switch(typeof config.parseContext[name]){case"function":parseConfig.context[name]=config.parseContext[name];break;case"string":parseConfig.context[name]=createParseContext(config.parseContext[name]);break}}return{config:parseConfig,...parseConfig,...parseConfig.node}}function createParser(config){let source="";let filename="<unknown>";let needPositions=false;let onParseError=NOOP;let onParseErrorThrow=false;const locationMap=new OffsetToLocation.OffsetToLocation;const parser=Object.assign(new TokenStream$1.TokenStream,processConfig(config||{}),{parseAtrulePrelude:true,parseRulePrelude:true,parseValue:true,parseCustomProperty:false,readSequence:sequence.readSequence,consumeUntilBalanceEnd:()=>0,consumeUntilLeftCurlyBracket(code){return code===LEFTCURLYBRACKET$1?1:0},consumeUntilLeftCurlyBracketOrSemicolon(code){return code===LEFTCURLYBRACKET$1||code===SEMICOLON?1:0},consumeUntilExclamationMarkOrSemicolon(code){return code===EXCLAMATIONMARK$3||code===SEMICOLON?1:0},consumeUntilSemicolonIncluded(code){return code===SEMICOLON?2:0},createList(){return new List$5.List},createSingleNodeList(node){return(new List$5.List).appendData(node)},getFirstListNode(list){return list&&list.first},getLastListNode(list){return list&&list.last},parseWithFallback(consumer,fallback){const startToken=this.tokenIndex;try{return consumer.call(this)}catch(e){if(onParseErrorThrow){throw e}const fallbackNode=fallback.call(this,startToken);onParseErrorThrow=true;onParseError(e,fallbackNode);onParseErrorThrow=false;return fallbackNode}},lookupNonWSType(offset){let type;do{type=this.lookupType(offset++);if(type!==types$N.WhiteSpace){return type}}while(type!==NULL);return NULL},charCodeAt(offset){return offset>=0&&offset<source.length?source.charCodeAt(offset):0},substring(offsetStart,offsetEnd){return source.substring(offsetStart,offsetEnd)},substrToCursor(start){return this.source.substring(start,this.tokenStart)},cmpChar(offset,charCode){return utils$h.cmpChar(source,offset,charCode)},cmpStr(offsetStart,offsetEnd,str){return utils$h.cmpStr(source,offsetStart,offsetEnd,str)},consume(tokenType){const start=this.tokenStart;this.eat(tokenType);return this.substrToCursor(start)},consumeFunctionName(){const name=source.substring(this.tokenStart,this.tokenEnd-1);this.eat(types$N.Function);return name},consumeNumber(type){const number=source.substring(this.tokenStart,utils$h.consumeNumber(source,this.tokenStart));this.eat(type);return number},eat(tokenType){if(this.tokenType!==tokenType){const tokenName=names$5[tokenType].slice(0,-6).replace(/-/g," ").replace(/^./,(m=>m.toUpperCase()));let message=`${/[[\](){}]/.test(tokenName)?`"${tokenName}"`:tokenName} is expected`;let offset=this.tokenStart;switch(tokenType){case types$N.Ident:if(this.tokenType===types$N.Function||this.tokenType===types$N.Url){offset=this.tokenEnd-1;message="Identifier is expected but function found"}else{message="Identifier is expected"}break;case types$N.Hash:if(this.isDelim(NUMBERSIGN$4)){this.next();offset++;message="Name is expected"}break;case types$N.Percentage:if(this.tokenType===types$N.Number){offset=this.tokenEnd;message="Percent sign is expected"}break}this.error(message,offset)}this.next()},eatIdent(name){if(this.tokenType!==types$N.Ident||this.lookupValue(0,name)===false){this.error(`Identifier "${name}" is expected`)}this.next()},eatDelim(code){if(!this.isDelim(code)){this.error(`Delim "${String.fromCharCode(code)}" is expected`)}this.next()},getLocation(start,end){if(needPositions){return locationMap.getLocationRange(start,end,filename)}return null},getLocationFromList(list){if(needPositions){const head=this.getFirstListNode(list);const tail=this.getLastListNode(list);return locationMap.getLocationRange(head!==null?head.loc.start.offset-locationMap.startOffset:this.tokenStart,tail!==null?tail.loc.end.offset-locationMap.startOffset:this.tokenStart,filename)}return null},error(message,offset){const location=typeof offset!=="undefined"&&offset<source.length?locationMap.getLocation(offset):this.eof?locationMap.getLocation(utils$h.findWhiteSpaceStart(source,source.length-1)):locationMap.getLocation(this.tokenStart);throw new SyntaxError$4.SyntaxError(message||"Unexpected input",source,location.offset,location.line,location.column)}});const parse=function(source_,options){source=source_;options=options||{};parser.setSource(source,index$b.tokenize);locationMap.setSource(source,options.offset,options.line,options.column);filename=options.filename||"<unknown>";needPositions=Boolean(options.positions);onParseError=typeof options.onParseError==="function"?options.onParseError:NOOP;onParseErrorThrow=false;parser.parseAtrulePrelude="parseAtrulePrelude"in options?Boolean(options.parseAtrulePrelude):true;parser.parseRulePrelude="parseRulePrelude"in options?Boolean(options.parseRulePrelude):true;parser.parseValue="parseValue"in options?Boolean(options.parseValue):true;parser.parseCustomProperty="parseCustomProperty"in options?Boolean(options.parseCustomProperty):false;const{context:context="default",onComment:onComment}=options;if(context in parser.context===false){throw new Error("Unknown context `"+context+"`")}if(typeof onComment==="function"){parser.forEachToken(((type,start,end)=>{if(type===types$N.Comment){const loc=parser.getLocation(start,end);const value=utils$h.cmpStr(source,end-2,end,"*/")?source.slice(start+2,end-2):source.slice(start+2,end);onComment(value,loc)}}))}const ast=parser.context[context].call(parser,options);if(!parser.eof){parser.error()}return ast};return Object.assign(parse,{SyntaxError:SyntaxError$4.SyntaxError,config:parser.config})}create$7.createParser=createParser;var create$6={};var sourceMap$1={};var sourceMapGenerator={};var base64Vlq={};var base64$1={};var intToCharMap="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");base64$1.encode=function(number){if(0<=number&&number<intToCharMap.length){return intToCharMap[number]}throw new TypeError("Must be between 0 and 63: "+number)};base64$1.decode=function(charCode){var bigA=65;var bigZ=90;var littleA=97;var littleZ=122;var zero=48;var nine=57;var plus=43;var slash=47;var littleOffset=26;var numberOffset=52;if(bigA<=charCode&&charCode<=bigZ){return charCode-bigA}if(littleA<=charCode&&charCode<=littleZ){return charCode-littleA+littleOffset}if(zero<=charCode&&charCode<=nine){return charCode-zero+numberOffset}if(charCode==plus){return 62}if(charCode==slash){return 63}return-1};var base64=base64$1;var VLQ_BASE_SHIFT=5;var VLQ_BASE=1<<VLQ_BASE_SHIFT;var VLQ_BASE_MASK=VLQ_BASE-1;var VLQ_CONTINUATION_BIT=VLQ_BASE;function toVLQSigned(aValue){return aValue<0?(-aValue<<1)+1:(aValue<<1)+0}function fromVLQSigned(aValue){var isNegative=(aValue&1)===1;var shifted=aValue>>1;return isNegative?-shifted:shifted}base64Vlq.encode=function base64VLQ_encode(aValue){var encoded="";var digit;var vlq=toVLQSigned(aValue);do{digit=vlq&VLQ_BASE_MASK;vlq>>>=VLQ_BASE_SHIFT;if(vlq>0){digit|=VLQ_CONTINUATION_BIT}encoded+=base64.encode(digit)}while(vlq>0);return encoded};base64Vlq.decode=function base64VLQ_decode(aStr,aIndex,aOutParam){var strLen=aStr.length;var result=0;var shift=0;var continuation,digit;do{if(aIndex>=strLen){throw new Error("Expected more digits in base 64 VLQ value.")}digit=base64.decode(aStr.charCodeAt(aIndex++));if(digit===-1){throw new Error("Invalid base64 digit: "+aStr.charAt(aIndex-1))}continuation=!!(digit&VLQ_CONTINUATION_BIT);digit&=VLQ_BASE_MASK;result=result+(digit<<shift);shift+=VLQ_BASE_SHIFT}while(continuation);aOutParam.value=fromVLQSigned(result);aOutParam.rest=aIndex};var util$3={};(function(exports){function getArg(aArgs,aName,aDefaultValue){if(aName in aArgs){return aArgs[aName]}else if(arguments.length===3){return aDefaultValue}else{throw new Error('"'+aName+'" is a required argument.')}}exports.getArg=getArg;var urlRegexp=/^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.-]*)(?::(\d+))?(.*)$/;var dataUrlRegexp=/^data:.+\,.+$/;function urlParse(aUrl){var match=aUrl.match(urlRegexp);if(!match){return null}return{scheme:match[1],auth:match[2],host:match[3],port:match[4],path:match[5]}}exports.urlParse=urlParse;function urlGenerate(aParsedUrl){var url="";if(aParsedUrl.scheme){url+=aParsedUrl.scheme+":"}url+="//";if(aParsedUrl.auth){url+=aParsedUrl.auth+"@"}if(aParsedUrl.host){url+=aParsedUrl.host}if(aParsedUrl.port){url+=":"+aParsedUrl.port}if(aParsedUrl.path){url+=aParsedUrl.path}return url}exports.urlGenerate=urlGenerate;var MAX_CACHED_INPUTS=32;function lruMemoize(f){var cache=[];return function(input){for(var i=0;i<cache.length;i++){if(cache[i].input===input){var temp=cache[0];cache[0]=cache[i];cache[i]=temp;return cache[0].result}}var result=f(input);cache.unshift({input:input,result:result});if(cache.length>MAX_CACHED_INPUTS){cache.pop()}return result}}var normalize=lruMemoize((function normalize(aPath){var path=aPath;var url=urlParse(aPath);if(url){if(!url.path){return aPath}path=url.path}var isAbsolute=exports.isAbsolute(path);var parts=[];var start=0;var i=0;while(true){start=i;i=path.indexOf("/",start);if(i===-1){parts.push(path.slice(start));break}else{parts.push(path.slice(start,i));while(i<path.length&&path[i]==="/"){i++}}}for(var part,up=0,i=parts.length-1;i>=0;i--){part=parts[i];if(part==="."){parts.splice(i,1)}else if(part===".."){up++}else if(up>0){if(part===""){parts.splice(i+1,up);up=0}else{parts.splice(i,2);up--}}}path=parts.join("/");if(path===""){path=isAbsolute?"/":"."}if(url){url.path=path;return urlGenerate(url)}return path}));exports.normalize=normalize;function join(aRoot,aPath){if(aRoot===""){aRoot="."}if(aPath===""){aPath="."}var aPathUrl=urlParse(aPath);var aRootUrl=urlParse(aRoot);if(aRootUrl){aRoot=aRootUrl.path||"/"}if(aPathUrl&&!aPathUrl.scheme){if(aRootUrl){aPathUrl.scheme=aRootUrl.scheme}return urlGenerate(aPathUrl)}if(aPathUrl||aPath.match(dataUrlRegexp)){return aPath}if(aRootUrl&&!aRootUrl.host&&!aRootUrl.path){aRootUrl.host=aPath;return urlGenerate(aRootUrl)}var joined=aPath.charAt(0)==="/"?aPath:normalize(aRoot.replace(/\/+$/,"")+"/"+aPath);if(aRootUrl){aRootUrl.path=joined;return urlGenerate(aRootUrl)}return joined}exports.join=join;exports.isAbsolute=function(aPath){return aPath.charAt(0)==="/"||urlRegexp.test(aPath)};function relative(aRoot,aPath){if(aRoot===""){aRoot="."}aRoot=aRoot.replace(/\/$/,"");var level=0;while(aPath.indexOf(aRoot+"/")!==0){var index=aRoot.lastIndexOf("/");if(index<0){return aPath}aRoot=aRoot.slice(0,index);if(aRoot.match(/^([^\/]+:\/)?\/*$/)){return aPath}++level}return Array(level+1).join("../")+aPath.substr(aRoot.length+1)}exports.relative=relative;var supportsNullProto=function(){var obj=Object.create(null);return!("__proto__"in obj)}();function identity(s){return s}function toSetString(aStr){if(isProtoString(aStr)){return"$"+aStr}return aStr}exports.toSetString=supportsNullProto?identity:toSetString;function fromSetString(aStr){if(isProtoString(aStr)){return aStr.slice(1)}return aStr}exports.fromSetString=supportsNullProto?identity:fromSetString;function isProtoString(s){if(!s){return false}var length=s.length;if(length<9){return false}if(s.charCodeAt(length-1)!==95||s.charCodeAt(length-2)!==95||s.charCodeAt(length-3)!==111||s.charCodeAt(length-4)!==116||s.charCodeAt(length-5)!==111||s.charCodeAt(length-6)!==114||s.charCodeAt(length-7)!==112||s.charCodeAt(length-8)!==95||s.charCodeAt(length-9)!==95){return false}for(var i=length-10;i>=0;i--){if(s.charCodeAt(i)!==36){return false}}return true}function compareByOriginalPositions(mappingA,mappingB,onlyCompareOriginal){var cmp=strcmp(mappingA.source,mappingB.source);if(cmp!==0){return cmp}cmp=mappingA.originalLine-mappingB.originalLine;if(cmp!==0){return cmp}cmp=mappingA.originalColumn-mappingB.originalColumn;if(cmp!==0||onlyCompareOriginal){return cmp}cmp=mappingA.generatedColumn-mappingB.generatedColumn;if(cmp!==0){return cmp}cmp=mappingA.generatedLine-mappingB.generatedLine;if(cmp!==0){return cmp}return strcmp(mappingA.name,mappingB.name)}exports.compareByOriginalPositions=compareByOriginalPositions;function compareByOriginalPositionsNoSource(mappingA,mappingB,onlyCompareOriginal){var cmp;cmp=mappingA.originalLine-mappingB.originalLine;if(cmp!==0){return cmp}cmp=mappingA.originalColumn-mappingB.originalColumn;if(cmp!==0||onlyCompareOriginal){return cmp}cmp=mappingA.generatedColumn-mappingB.generatedColumn;if(cmp!==0){return cmp}cmp=mappingA.generatedLine-mappingB.generatedLine;if(cmp!==0){return cmp}return strcmp(mappingA.name,mappingB.name)}exports.compareByOriginalPositionsNoSource=compareByOriginalPositionsNoSource;function compareByGeneratedPositionsDeflated(mappingA,mappingB,onlyCompareGenerated){var cmp=mappingA.generatedLine-mappingB.generatedLine;if(cmp!==0){return cmp}cmp=mappingA.generatedColumn-mappingB.generatedColumn;if(cmp!==0||onlyCompareGenerated){return cmp}cmp=strcmp(mappingA.source,mappingB.source);if(cmp!==0){return cmp}cmp=mappingA.originalLine-mappingB.originalLine;if(cmp!==0){return cmp}cmp=mappingA.originalColumn-mappingB.originalColumn;if(cmp!==0){return cmp}return strcmp(mappingA.name,mappingB.name)}exports.compareByGeneratedPositionsDeflated=compareByGeneratedPositionsDeflated;function compareByGeneratedPositionsDeflatedNoLine(mappingA,mappingB,onlyCompareGenerated){var cmp=mappingA.generatedColumn-mappingB.generatedColumn;if(cmp!==0||onlyCompareGenerated){return cmp}cmp=strcmp(mappingA.source,mappingB.source);if(cmp!==0){return cmp}cmp=mappingA.originalLine-mappingB.originalLine;if(cmp!==0){return cmp}cmp=mappingA.originalColumn-mappingB.originalColumn;if(cmp!==0){return cmp}return strcmp(mappingA.name,mappingB.name)}exports.compareByGeneratedPositionsDeflatedNoLine=compareByGeneratedPositionsDeflatedNoLine;function strcmp(aStr1,aStr2){if(aStr1===aStr2){return 0}if(aStr1===null){return 1}if(aStr2===null){return-1}if(aStr1>aStr2){return 1}return-1}function compareByGeneratedPositionsInflated(mappingA,mappingB){var cmp=mappingA.generatedLine-mappingB.generatedLine;if(cmp!==0){return cmp}cmp=mappingA.generatedColumn-mappingB.generatedColumn;if(cmp!==0){return cmp}cmp=strcmp(mappingA.source,mappingB.source);if(cmp!==0){return cmp}cmp=mappingA.originalLine-mappingB.originalLine;if(cmp!==0){return cmp}cmp=mappingA.originalColumn-mappingB.originalColumn;if(cmp!==0){return cmp}return strcmp(mappingA.name,mappingB.name)}exports.compareByGeneratedPositionsInflated=compareByGeneratedPositionsInflated;function parseSourceMapInput(str){return JSON.parse(str.replace(/^\)]}'[^\n]*\n/,""))}exports.parseSourceMapInput=parseSourceMapInput;function computeSourceURL(sourceRoot,sourceURL,sourceMapURL){sourceURL=sourceURL||"";if(sourceRoot){if(sourceRoot[sourceRoot.length-1]!=="/"&&sourceURL[0]!=="/"){sourceRoot+="/"}sourceURL=sourceRoot+sourceURL}if(sourceMapURL){var parsed=urlParse(sourceMapURL);if(!parsed){throw new Error("sourceMapURL could not be parsed")}if(parsed.path){var index=parsed.path.lastIndexOf("/");if(index>=0){parsed.path=parsed.path.substring(0,index+1)}}sourceURL=join(urlGenerate(parsed),sourceURL)}return normalize(sourceURL)}exports.computeSourceURL=computeSourceURL})(util$3);var arraySet={};var util$2=util$3;var has=Object.prototype.hasOwnProperty;var hasNativeMap=typeof Map!=="undefined";function ArraySet$1(){this._array=[];this._set=hasNativeMap?new Map:Object.create(null)}ArraySet$1.fromArray=function ArraySet_fromArray(aArray,aAllowDuplicates){var set=new ArraySet$1;for(var i=0,len=aArray.length;i<len;i++){set.add(aArray[i],aAllowDuplicates)}return set};ArraySet$1.prototype.size=function ArraySet_size(){return hasNativeMap?this._set.size:Object.getOwnPropertyNames(this._set).length};ArraySet$1.prototype.add=function ArraySet_add(aStr,aAllowDuplicates){var sStr=hasNativeMap?aStr:util$2.toSetString(aStr);var isDuplicate=hasNativeMap?this.has(aStr):has.call(this._set,sStr);var idx=this._array.length;if(!isDuplicate||aAllowDuplicates){this._array.push(aStr)}if(!isDuplicate){if(hasNativeMap){this._set.set(aStr,idx)}else{this._set[sStr]=idx}}};ArraySet$1.prototype.has=function ArraySet_has(aStr){if(hasNativeMap){return this._set.has(aStr)}else{var sStr=util$2.toSetString(aStr);return has.call(this._set,sStr)}};ArraySet$1.prototype.indexOf=function ArraySet_indexOf(aStr){if(hasNativeMap){var idx=this._set.get(aStr);if(idx>=0){return idx}}else{var sStr=util$2.toSetString(aStr);if(has.call(this._set,sStr)){return this._set[sStr]}}throw new Error('"'+aStr+'" is not in the set.')};ArraySet$1.prototype.at=function ArraySet_at(aIdx){if(aIdx>=0&&aIdx<this._array.length){return this._array[aIdx]}throw new Error("No element indexed by "+aIdx)};ArraySet$1.prototype.toArray=function ArraySet_toArray(){return this._array.slice()};arraySet.ArraySet=ArraySet$1;var mappingList={};var util$1=util$3;function generatedPositionAfter(mappingA,mappingB){var lineA=mappingA.generatedLine;var lineB=mappingB.generatedLine;var columnA=mappingA.generatedColumn;var columnB=mappingB.generatedColumn;return lineB>lineA||lineB==lineA&&columnB>=columnA||util$1.compareByGeneratedPositionsInflated(mappingA,mappingB)<=0}function MappingList$1(){this._array=[];this._sorted=true;this._last={generatedLine:-1,generatedColumn:0}}MappingList$1.prototype.unsortedForEach=function MappingList_forEach(aCallback,aThisArg){this._array.forEach(aCallback,aThisArg)};MappingList$1.prototype.add=function MappingList_add(aMapping){if(generatedPositionAfter(this._last,aMapping)){this._last=aMapping;this._array.push(aMapping)}else{this._sorted=false;this._array.push(aMapping)}};MappingList$1.prototype.toArray=function MappingList_toArray(){if(!this._sorted){this._array.sort(util$1.compareByGeneratedPositionsInflated);this._sorted=true}return this._array};mappingList.MappingList=MappingList$1;var base64VLQ=base64Vlq;var util=util$3;var ArraySet=arraySet.ArraySet;var MappingList=mappingList.MappingList;function SourceMapGenerator(aArgs){if(!aArgs){aArgs={}}this._file=util.getArg(aArgs,"file",null);this._sourceRoot=util.getArg(aArgs,"sourceRoot",null);this._skipValidation=util.getArg(aArgs,"skipValidation",false);this._sources=new ArraySet;this._names=new ArraySet;this._mappings=new MappingList;this._sourcesContents=null}SourceMapGenerator.prototype._version=3;SourceMapGenerator.fromSourceMap=function SourceMapGenerator_fromSourceMap(aSourceMapConsumer){var sourceRoot=aSourceMapConsumer.sourceRoot;var generator=new SourceMapGenerator({file:aSourceMapConsumer.file,sourceRoot:sourceRoot});aSourceMapConsumer.eachMapping((function(mapping){var newMapping={generated:{line:mapping.generatedLine,column:mapping.generatedColumn}};if(mapping.source!=null){newMapping.source=mapping.source;if(sourceRoot!=null){newMapping.source=util.relative(sourceRoot,newMapping.source)}newMapping.original={line:mapping.originalLine,column:mapping.originalColumn};if(mapping.name!=null){newMapping.name=mapping.name}}generator.addMapping(newMapping)}));aSourceMapConsumer.sources.forEach((function(sourceFile){var sourceRelative=sourceFile;if(sourceRoot!==null){sourceRelative=util.relative(sourceRoot,sourceFile)}if(!generator._sources.has(sourceRelative)){generator._sources.add(sourceRelative)}var content=aSourceMapConsumer.sourceContentFor(sourceFile);if(content!=null){generator.setSourceContent(sourceFile,content)}}));return generator};SourceMapGenerator.prototype.addMapping=function SourceMapGenerator_addMapping(aArgs){var generated=util.getArg(aArgs,"generated");var original=util.getArg(aArgs,"original",null);var source=util.getArg(aArgs,"source",null);var name=util.getArg(aArgs,"name",null);if(!this._skipValidation){this._validateMapping(generated,original,source,name)}if(source!=null){source=String(source);if(!this._sources.has(source)){this._sources.add(source)}}if(name!=null){name=String(name);if(!this._names.has(name)){this._names.add(name)}}this._mappings.add({generatedLine:generated.line,generatedColumn:generated.column,originalLine:original!=null&&original.line,originalColumn:original!=null&&original.column,source:source,name:name})};SourceMapGenerator.prototype.setSourceContent=function SourceMapGenerator_setSourceContent(aSourceFile,aSourceContent){var source=aSourceFile;if(this._sourceRoot!=null){source=util.relative(this._sourceRoot,source)}if(aSourceContent!=null){if(!this._sourcesContents){this._sourcesContents=Object.create(null)}this._sourcesContents[util.toSetString(source)]=aSourceContent}else if(this._sourcesContents){delete this._sourcesContents[util.toSetString(source)];if(Object.keys(this._sourcesContents).length===0){this._sourcesContents=null}}};SourceMapGenerator.prototype.applySourceMap=function SourceMapGenerator_applySourceMap(aSourceMapConsumer,aSourceFile,aSourceMapPath){var sourceFile=aSourceFile;if(aSourceFile==null){if(aSourceMapConsumer.file==null){throw new Error("SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, "+'or the source map\'s "file" property. Both were omitted.')}sourceFile=aSourceMapConsumer.file}var sourceRoot=this._sourceRoot;if(sourceRoot!=null){sourceFile=util.relative(sourceRoot,sourceFile)}var newSources=new ArraySet;var newNames=new ArraySet;this._mappings.unsortedForEach((function(mapping){if(mapping.source===sourceFile&&mapping.originalLine!=null){var original=aSourceMapConsumer.originalPositionFor({line:mapping.originalLine,column:mapping.originalColumn});if(original.source!=null){mapping.source=original.source;if(aSourceMapPath!=null){mapping.source=util.join(aSourceMapPath,mapping.source)}if(sourceRoot!=null){mapping.source=util.relative(sourceRoot,mapping.source)}mapping.originalLine=original.line;mapping.originalColumn=original.column;if(original.name!=null){mapping.name=original.name}}}var source=mapping.source;if(source!=null&&!newSources.has(source)){newSources.add(source)}var name=mapping.name;if(name!=null&&!newNames.has(name)){newNames.add(name)}}),this);this._sources=newSources;this._names=newNames;aSourceMapConsumer.sources.forEach((function(sourceFile){var content=aSourceMapConsumer.sourceContentFor(sourceFile);if(content!=null){if(aSourceMapPath!=null){sourceFile=util.join(aSourceMapPath,sourceFile)}if(sourceRoot!=null){sourceFile=util.relative(sourceRoot,sourceFile)}this.setSourceContent(sourceFile,content)}}),this)};SourceMapGenerator.prototype._validateMapping=function SourceMapGenerator_validateMapping(aGenerated,aOriginal,aSource,aName){if(aOriginal&&typeof aOriginal.line!=="number"&&typeof aOriginal.column!=="number"){throw new Error("original.line and original.column are not numbers -- you probably meant to omit "+"the original mapping entirely and only map the generated position. If so, pass "+"null for the original mapping instead of an object with empty or null values.")}if(aGenerated&&"line"in aGenerated&&"column"in aGenerated&&aGenerated.line>0&&aGenerated.column>=0&&!aOriginal&&!aSource&&!aName){return}else if(aGenerated&&"line"in aGenerated&&"column"in aGenerated&&aOriginal&&"line"in aOriginal&&"column"in aOriginal&&aGenerated.line>0&&aGenerated.column>=0&&aOriginal.line>0&&aOriginal.column>=0&&aSource){return}else{throw new Error("Invalid mapping: "+JSON.stringify({generated:aGenerated,source:aSource,original:aOriginal,name:aName}))}};SourceMapGenerator.prototype._serializeMappings=function SourceMapGenerator_serializeMappings(){var previousGeneratedColumn=0;var previousGeneratedLine=1;var previousOriginalColumn=0;var previousOriginalLine=0;var previousName=0;var previousSource=0;var result="";var next;var mapping;var nameIdx;var sourceIdx;var mappings=this._mappings.toArray();for(var i=0,len=mappings.length;i<len;i++){mapping=mappings[i];next="";if(mapping.generatedLine!==previousGeneratedLine){previousGeneratedColumn=0;while(mapping.generatedLine!==previousGeneratedLine){next+=";";previousGeneratedLine++}}else{if(i>0){if(!util.compareByGeneratedPositionsInflated(mapping,mappings[i-1])){continue}next+=","}}next+=base64VLQ.encode(mapping.generatedColumn-previousGeneratedColumn);previousGeneratedColumn=mapping.generatedColumn;if(mapping.source!=null){sourceIdx=this._sources.indexOf(mapping.source);next+=base64VLQ.encode(sourceIdx-previousSource);previousSource=sourceIdx;next+=base64VLQ.encode(mapping.originalLine-1-previousOriginalLine);previousOriginalLine=mapping.originalLine-1;next+=base64VLQ.encode(mapping.originalColumn-previousOriginalColumn);previousOriginalColumn=mapping.originalColumn;if(mapping.name!=null){nameIdx=this._names.indexOf(mapping.name);next+=base64VLQ.encode(nameIdx-previousName);previousName=nameIdx}}result+=next}return result};SourceMapGenerator.prototype._generateSourcesContent=function SourceMapGenerator_generateSourcesContent(aSources,aSourceRoot){return aSources.map((function(source){if(!this._sourcesContents){return null}if(aSourceRoot!=null){source=util.relative(aSourceRoot,source)}var key=util.toSetString(source);return Object.prototype.hasOwnProperty.call(this._sourcesContents,key)?this._sourcesContents[key]:null}),this)};SourceMapGenerator.prototype.toJSON=function SourceMapGenerator_toJSON(){var map={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};if(this._file!=null){map.file=this._file}if(this._sourceRoot!=null){map.sourceRoot=this._sourceRoot}if(this._sourcesContents){map.sourcesContent=this._generateSourcesContent(map.sources,map.sourceRoot)}return map};SourceMapGenerator.prototype.toString=function SourceMapGenerator_toString(){return JSON.stringify(this.toJSON())};sourceMapGenerator.SourceMapGenerator=SourceMapGenerator;const sourceMapGenerator_js=sourceMapGenerator;const trackNodes=new Set(["Atrule","Selector","Declaration"]);function generateSourceMap(handlers){const map=new sourceMapGenerator_js.SourceMapGenerator;const generated={line:1,column:0};const original={line:0,column:0};const activatedGenerated={line:1,column:0};const activatedMapping={generated:activatedGenerated};let line=1;let column=0;let sourceMappingActive=false;const origHandlersNode=handlers.node;handlers.node=function(node){if(node.loc&&node.loc.start&&trackNodes.has(node.type)){const nodeLine=node.loc.start.line;const nodeColumn=node.loc.start.column-1;if(original.line!==nodeLine||original.column!==nodeColumn){original.line=nodeLine;original.column=nodeColumn;generated.line=line;generated.column=column;if(sourceMappingActive){sourceMappingActive=false;if(generated.line!==activatedGenerated.line||generated.column!==activatedGenerated.column){map.addMapping(activatedMapping)}}sourceMappingActive=true;map.addMapping({source:node.loc.source,original:original,generated:generated})}}origHandlersNode.call(this,node);if(sourceMappingActive&&trackNodes.has(node.type)){activatedGenerated.line=line;activatedGenerated.column=column}};const origHandlersEmit=handlers.emit;handlers.emit=function(value,type,auto){for(let i=0;i<value.length;i++){if(value.charCodeAt(i)===10){line++;column=0}else{column++}}origHandlersEmit(value,type,auto)};const origHandlersResult=handlers.result;handlers.result=function(){if(sourceMappingActive){map.addMapping(activatedMapping)}return{css:origHandlersResult(),map:map}};return handlers}sourceMap$1.generateSourceMap=generateSourceMap;var tokenBefore$1={};const types$M=types$R;const PLUSSIGN$9=43;const HYPHENMINUS$6=45;const code=(type,value)=>{if(type===types$M.Delim){type=value}if(typeof type==="string"){const charCode=type.charCodeAt(0);return charCode>127?32768:charCode<<8}return type};const specPairs=[[types$M.Ident,types$M.Ident],[types$M.Ident,types$M.Function],[types$M.Ident,types$M.Url],[types$M.Ident,types$M.BadUrl],[types$M.Ident,"-"],[types$M.Ident,types$M.Number],[types$M.Ident,types$M.Percentage],[types$M.Ident,types$M.Dimension],[types$M.Ident,types$M.CDC],[types$M.Ident,types$M.LeftParenthesis],[types$M.AtKeyword,types$M.Ident],[types$M.AtKeyword,types$M.Function],[types$M.AtKeyword,types$M.Url],[types$M.AtKeyword,types$M.BadUrl],[types$M.AtKeyword,"-"],[types$M.AtKeyword,types$M.Number],[types$M.AtKeyword,types$M.Percentage],[types$M.AtKeyword,types$M.Dimension],[types$M.AtKeyword,types$M.CDC],[types$M.Hash,types$M.Ident],[types$M.Hash,types$M.Function],[types$M.Hash,types$M.Url],[types$M.Hash,types$M.BadUrl],[types$M.Hash,"-"],[types$M.Hash,types$M.Number],[types$M.Hash,types$M.Percentage],[types$M.Hash,types$M.Dimension],[types$M.Hash,types$M.CDC],[types$M.Dimension,types$M.Ident],[types$M.Dimension,types$M.Function],[types$M.Dimension,types$M.Url],[types$M.Dimension,types$M.BadUrl],[types$M.Dimension,"-"],[types$M.Dimension,types$M.Number],[types$M.Dimension,types$M.Percentage],[types$M.Dimension,types$M.Dimension],[types$M.Dimension,types$M.CDC],["#",types$M.Ident],["#",types$M.Function],["#",types$M.Url],["#",types$M.BadUrl],["#","-"],["#",types$M.Number],["#",types$M.Percentage],["#",types$M.Dimension],["#",types$M.CDC],["-",types$M.Ident],["-",types$M.Function],["-",types$M.Url],["-",types$M.BadUrl],["-","-"],["-",types$M.Number],["-",types$M.Percentage],["-",types$M.Dimension],["-",types$M.CDC],[types$M.Number,types$M.Ident],[types$M.Number,types$M.Function],[types$M.Number,types$M.Url],[types$M.Number,types$M.BadUrl],[types$M.Number,types$M.Number],[types$M.Number,types$M.Percentage],[types$M.Number,types$M.Dimension],[types$M.Number,"%"],[types$M.Number,types$M.CDC],["@",types$M.Ident],["@",types$M.Function],["@",types$M.Url],["@",types$M.BadUrl],["@","-"],["@",types$M.CDC],[".",types$M.Number],[".",types$M.Percentage],[".",types$M.Dimension],["+",types$M.Number],["+",types$M.Percentage],["+",types$M.Dimension],["/","*"]];const safePairs=specPairs.concat([[types$M.Ident,types$M.Hash],[types$M.Dimension,types$M.Hash],[types$M.Hash,types$M.Hash],[types$M.AtKeyword,types$M.LeftParenthesis],[types$M.AtKeyword,types$M.String],[types$M.AtKeyword,types$M.Colon],[types$M.Percentage,types$M.Percentage],[types$M.Percentage,types$M.Dimension],[types$M.Percentage,types$M.Function],[types$M.Percentage,"-"],[types$M.RightParenthesis,types$M.Ident],[types$M.RightParenthesis,types$M.Function],[types$M.RightParenthesis,types$M.Percentage],[types$M.RightParenthesis,types$M.Dimension],[types$M.RightParenthesis,types$M.Hash],[types$M.RightParenthesis,"-"]]);function createMap(pairs){const isWhiteSpaceRequired=new Set(pairs.map((([prev,next])=>code(prev)<<16|code(next))));return function(prevCode,type,value){const nextCode=code(type,value);const nextCharCode=value.charCodeAt(0);const emitWs=nextCharCode===HYPHENMINUS$6&&type!==types$M.Ident&&type!==types$M.Function&&type!==types$M.CDC||nextCharCode===PLUSSIGN$9?isWhiteSpaceRequired.has(prevCode<<16|nextCharCode<<8):isWhiteSpaceRequired.has(prevCode<<16|nextCode);if(emitWs){this.emit(" ",types$M.WhiteSpace,true)}return nextCode}}const spec=createMap(specPairs);const safe=createMap(safePairs);tokenBefore$1.safe=safe;tokenBefore$1.spec=spec;const index$a=tokenizer$2;const sourceMap=sourceMap$1;const tokenBefore=tokenBefore$1;const types$L=types$R;const REVERSESOLIDUS=92;function processChildren(node,delimeter){if(typeof delimeter==="function"){let prev=null;node.children.forEach((node=>{if(prev!==null){delimeter.call(this,prev)}this.node(node);prev=node}));return}node.children.forEach(this.node,this)}function processChunk(chunk){index$a.tokenize(chunk,((type,start,end)=>{this.token(type,chunk.slice(start,end))}))}function createGenerator(config){const types$1=new Map;for(let name in config.node){const item=config.node[name];const fn=item.generate||item;if(typeof fn==="function"){types$1.set(name,item.generate||item)}}return function(node,options){let buffer="";let prevCode=0;let handlers={node(node){if(types$1.has(node.type)){types$1.get(node.type).call(publicApi,node)}else{throw new Error("Unknown node type: "+node.type)}},tokenBefore:tokenBefore.safe,token(type,value){prevCode=this.tokenBefore(prevCode,type,value);this.emit(value,type,false);if(type===types$L.Delim&&value.charCodeAt(0)===REVERSESOLIDUS){this.emit("\n",types$L.WhiteSpace,true)}},emit(value){buffer+=value},result(){return buffer}};if(options){if(typeof options.decorator==="function"){handlers=options.decorator(handlers)}if(options.sourceMap){handlers=sourceMap.generateSourceMap(handlers)}if(options.mode in tokenBefore){handlers.tokenBefore=tokenBefore[options.mode]}}const publicApi={node:node=>handlers.node(node),children:processChildren,token:(type,value)=>handlers.token(type,value),tokenize:processChunk};handlers.node(node);return handlers.result()}}create$6.createGenerator=createGenerator;var create$5={};const List$4=List$7;function createConvertor(walk){return{fromPlainObject(ast){walk(ast,{enter(node){if(node.children&&node.children instanceof List$4.List===false){node.children=(new List$4.List).fromArray(node.children)}}});return ast},toPlainObject(ast){walk(ast,{leave(node){if(node.children&&node.children instanceof List$4.List){node.children=node.children.toArray()}}});return ast}}}create$5.createConvertor=createConvertor;var create$4={};const{hasOwnProperty:hasOwnProperty$8}=Object.prototype;const noop$2=function(){};function ensureFunction$1(value){return typeof value==="function"?value:noop$2}function invokeForType(fn,type){return function(node,item,list){if(node.type===type){fn.call(this,node,item,list)}}}function getWalkersFromStructure(name,nodeType){const structure=nodeType.structure;const walkers=[];for(const key in structure){if(hasOwnProperty$8.call(structure,key)===false){continue}let fieldTypes=structure[key];const walker={name:key,type:false,nullable:false};if(!Array.isArray(fieldTypes)){fieldTypes=[fieldTypes]}for(const fieldType of fieldTypes){if(fieldType===null){walker.nullable=true}else if(typeof fieldType==="string"){walker.type="node"}else if(Array.isArray(fieldType)){walker.type="list"}}if(walker.type){walkers.push(walker)}}if(walkers.length){return{context:nodeType.walkContext,fields:walkers}}return null}function getTypesFromConfig(config){const types={};for(const name in config.node){if(hasOwnProperty$8.call(config.node,name)){const nodeType=config.node[name];if(!nodeType.structure){throw new Error("Missed `structure` field in `"+name+"` node type definition")}types[name]=getWalkersFromStructure(name,nodeType)}}return types}function createTypeIterator(config,reverse){const fields=config.fields.slice();const contextName=config.context;const useContext=typeof contextName==="string";if(reverse){fields.reverse()}return function(node,context,walk,walkReducer){let prevContextValue;if(useContext){prevContextValue=context[contextName];context[contextName]=node}for(const field of fields){const ref=node[field.name];if(!field.nullable||ref){if(field.type==="list"){const breakWalk=reverse?ref.reduceRight(walkReducer,false):ref.reduce(walkReducer,false);if(breakWalk){return true}}else if(walk(ref)){return true}}}if(useContext){context[contextName]=prevContextValue}}}function createFastTraveralMap({StyleSheet:StyleSheet,Atrule:Atrule,Rule:Rule,Block:Block,DeclarationList:DeclarationList}){return{Atrule:{StyleSheet:StyleSheet,Atrule:Atrule,Rule:Rule,Block:Block},Rule:{StyleSheet:StyleSheet,Atrule:Atrule,Rule:Rule,Block:Block},Declaration:{StyleSheet:StyleSheet,Atrule:Atrule,Rule:Rule,Block:Block,DeclarationList:DeclarationList}}}function createWalker(config){const types=getTypesFromConfig(config);const iteratorsNatural={};const iteratorsReverse={};const breakWalk=Symbol("break-walk");const skipNode=Symbol("skip-node");for(const name in types){if(hasOwnProperty$8.call(types,name)&&types[name]!==null){iteratorsNatural[name]=createTypeIterator(types[name],false);iteratorsReverse[name]=createTypeIterator(types[name],true)}}const fastTraversalIteratorsNatural=createFastTraveralMap(iteratorsNatural);const fastTraversalIteratorsReverse=createFastTraveralMap(iteratorsReverse);const walk=function(root,options){function walkNode(node,item,list){const enterRet=enter.call(context,node,item,list);if(enterRet===breakWalk){return true}if(enterRet===skipNode){return false}if(iterators.hasOwnProperty(node.type)){if(iterators[node.type](node,context,walkNode,walkReducer)){return true}}if(leave.call(context,node,item,list)===breakWalk){return true}return false}let enter=noop$2;let leave=noop$2;let iterators=iteratorsNatural;let walkReducer=(ret,data,item,list)=>ret||walkNode(data,item,list);const context={break:breakWalk,skip:skipNode,root:root,stylesheet:null,atrule:null,atrulePrelude:null,rule:null,selector:null,block:null,declaration:null,function:null};if(typeof options==="function"){enter=options}else if(options){enter=ensureFunction$1(options.enter);leave=ensureFunction$1(options.leave);if(options.reverse){iterators=iteratorsReverse}if(options.visit){if(fastTraversalIteratorsNatural.hasOwnProperty(options.visit)){iterators=options.reverse?fastTraversalIteratorsReverse[options.visit]:fastTraversalIteratorsNatural[options.visit]}else if(!types.hasOwnProperty(options.visit)){throw new Error("Bad value `"+options.visit+"` for `visit` option (should be: "+Object.keys(types).sort().join(", ")+")")}enter=invokeForType(enter,options.visit);leave=invokeForType(leave,options.visit)}}if(enter===noop$2&&leave===noop$2){throw new Error("Neither `enter` nor `leave` walker handler is set or both aren't a function")}walkNode(root)};walk.break=breakWalk;walk.skip=skipNode;walk.find=function(ast,fn){let found=null;walk(ast,(function(node,item,list){if(fn.call(this,node,item,list)){found=node;return breakWalk}}));return found};walk.findLast=function(ast,fn){let found=null;walk(ast,{reverse:true,enter(node,item,list){if(fn.call(this,node,item,list)){found=node;return breakWalk}}});return found};walk.findAll=function(ast,fn){const found=[];walk(ast,(function(node,item,list){if(fn.call(this,node,item,list)){found.push(node)}}));return found};return walk}create$4.createWalker=createWalker;var Lexer$3={};var error$2={};var generate$L={};function noop$1(value){return value}function generateMultiplier(multiplier){const{min:min,max:max,comma:comma}=multiplier;if(min===0&&max===0){return comma?"#?":"*"}if(min===0&&max===1){return"?"}if(min===1&&max===0){return comma?"#":"+"}if(min===1&&max===1){return""}return(comma?"#":"")+(min===max?"{"+min+"}":"{"+min+","+(max!==0?max:"")+"}")}function generateTypeOpts(node){switch(node.type){case"Range":return" ["+(node.min===null?"-∞":node.min)+","+(node.max===null?"∞":node.max)+"]";default:throw new Error("Unknown node type `"+node.type+"`")}}function generateSequence(node,decorate,forceBraces,compact){const combinator=node.combinator===" "||compact?node.combinator:" "+node.combinator+" ";const result=node.terms.map((term=>internalGenerate(term,decorate,forceBraces,compact))).join(combinator);if(node.explicit||forceBraces){return(compact||result[0]===","?"[":"[ ")+result+(compact?"]":" ]")}return result}function internalGenerate(node,decorate,forceBraces,compact){let result;switch(node.type){case"Group":result=generateSequence(node,decorate,forceBraces,compact)+(node.disallowEmpty?"!":"");break;case"Multiplier":return internalGenerate(node.term,decorate,forceBraces,compact)+decorate(generateMultiplier(node),node);case"Type":result="<"+node.name+(node.opts?decorate(generateTypeOpts(node.opts),node.opts):"")+">";break;case"Property":result="<'"+node.name+"'>";break;case"Keyword":result=node.name;break;case"AtKeyword":result="@"+node.name;break;case"Function":result=node.name+"(";break;case"String":case"Token":result=node.value;break;case"Comma":result=",";break;default:throw new Error("Unknown node type `"+node.type+"`")}return decorate(result,node)}function generate$K(node,options){let decorate=noop$1;let forceBraces=false;let compact=false;if(typeof options==="function"){decorate=options}else if(options){forceBraces=Boolean(options.forceBraces);compact=Boolean(options.compact);if(typeof options.decorate==="function"){decorate=options.decorate}}return internalGenerate(node,decorate,forceBraces,compact)}generate$L.generate=generate$K;const createCustomError$1=createCustomError$4;const generate$J=generate$L;const defaultLoc={offset:0,line:1,column:1};function locateMismatch(matchResult,node){const tokens=matchResult.tokens;const longestMatch=matchResult.longestMatch;const mismatchNode=longestMatch<tokens.length?tokens[longestMatch].node||null:null;const badNode=mismatchNode!==node?mismatchNode:null;let mismatchOffset=0;let mismatchLength=0;let entries=0;let css="";let start;let end;for(let i=0;i<tokens.length;i++){const token=tokens[i].value;if(i===longestMatch){mismatchLength=token.length;mismatchOffset=css.length}if(badNode!==null&&tokens[i].node===badNode){if(i<=longestMatch){entries++}else{entries=0}}css+=token}if(longestMatch===tokens.length||entries>1){start=fromLoc(badNode||node,"end")||buildLoc(defaultLoc,css);end=buildLoc(start)}else{start=fromLoc(badNode,"start")||buildLoc(fromLoc(node,"start")||defaultLoc,css.slice(0,mismatchOffset));end=fromLoc(badNode,"end")||buildLoc(start,css.substr(mismatchOffset,mismatchLength))}return{css:css,mismatchOffset:mismatchOffset,mismatchLength:mismatchLength,start:start,end:end}}function fromLoc(node,point){const value=node&&node.loc&&node.loc[point];if(value){return"line"in value?buildLoc(value):value}return null}function buildLoc({offset:offset,line:line,column:column},extra){const loc={offset:offset,line:line,column:column};if(extra){const lines=extra.split(/\n|\r\n?|\f/);loc.offset+=extra.length;loc.line+=lines.length-1;loc.column=lines.length===1?loc.column+extra.length:lines.pop().length+1}return loc}const SyntaxReferenceError=function(type,referenceName){const error=createCustomError$1.createCustomError("SyntaxReferenceError",type+(referenceName?" `"+referenceName+"`":""));error.reference=referenceName;return error};const SyntaxMatchError=function(message,syntax,node,matchResult){const error=createCustomError$1.createCustomError("SyntaxMatchError",message);const{css:css,mismatchOffset:mismatchOffset,mismatchLength:mismatchLength,start:start,end:end}=locateMismatch(matchResult,node);error.rawMessage=message;error.syntax=syntax?generate$J.generate(syntax):"<generic>";error.css=css;error.mismatchOffset=mismatchOffset;error.mismatchLength=mismatchLength;error.message=message+"\n"+" syntax: "+error.syntax+"\n"+" value: "+(css||"<empty string>")+"\n"+" --------"+new Array(error.mismatchOffset+1).join("-")+"^";Object.assign(error,start);error.loc={source:node&&node.loc&&node.loc.source||"<unknown>",start:start,end:end};return error};error$2.SyntaxMatchError=SyntaxMatchError;error$2.SyntaxReferenceError=SyntaxReferenceError;var names$4={};const keywords=new Map;const properties=new Map;const HYPHENMINUS$5=45;const keyword=getKeywordDescriptor;const property=getPropertyDescriptor;const vendorPrefix=getVendorPrefix;function isCustomProperty(str,offset){offset=offset||0;return str.length-offset>=2&&str.charCodeAt(offset)===HYPHENMINUS$5&&str.charCodeAt(offset+1)===HYPHENMINUS$5}function getVendorPrefix(str,offset){offset=offset||0;if(str.length-offset>=3){if(str.charCodeAt(offset)===HYPHENMINUS$5&&str.charCodeAt(offset+1)!==HYPHENMINUS$5){const secondDashIndex=str.indexOf("-",offset+2);if(secondDashIndex!==-1){return str.substring(offset,secondDashIndex+1)}}}return""}function getKeywordDescriptor(keyword){if(keywords.has(keyword)){return keywords.get(keyword)}const name=keyword.toLowerCase();let descriptor=keywords.get(name);if(descriptor===undefined){const custom=isCustomProperty(name,0);const vendor=!custom?getVendorPrefix(name,0):"";descriptor=Object.freeze({basename:name.substr(vendor.length),name:name,prefix:vendor,vendor:vendor,custom:custom})}keywords.set(keyword,descriptor);return descriptor}function getPropertyDescriptor(property){if(properties.has(property)){return properties.get(property)}let name=property;let hack=property[0];if(hack==="/"){hack=property[1]==="/"?"//":"/"}else if(hack!=="_"&&hack!=="*"&&hack!=="$"&&hack!=="#"&&hack!=="+"&&hack!=="&"){hack=""}const custom=isCustomProperty(name,hack.length);if(!custom){name=name.toLowerCase();if(properties.has(name)){const descriptor=properties.get(name);properties.set(property,descriptor);return descriptor}}const vendor=!custom?getVendorPrefix(name,hack.length):"";const prefix=name.substr(0,hack.length+vendor.length);const descriptor=Object.freeze({basename:name.substr(prefix.length),name:name.substr(hack.length),hack:hack,vendor:vendor,prefix:prefix,custom:custom});properties.set(property,descriptor);return descriptor}names$4.isCustomProperty=isCustomProperty;names$4.keyword=keyword;names$4.property=property;names$4.vendorPrefix=vendorPrefix;var genericConst$2={};const cssWideKeywords=["initial","inherit","unset","revert","revert-layer"];genericConst$2.cssWideKeywords=cssWideKeywords;const charCodeDefinitions$8=charCodeDefinitions$c;const types$K=types$R;const utils$g=utils$k;const PLUSSIGN$8=43;const HYPHENMINUS$4=45;const N$3=110;const DISALLOW_SIGN$1=true;const ALLOW_SIGN$1=false;function isDelim$1(token,code){return token!==null&&token.type===types$K.Delim&&token.value.charCodeAt(0)===code}function skipSC(token,offset,getNextToken){while(token!==null&&(token.type===types$K.WhiteSpace||token.type===types$K.Comment)){token=getNextToken(++offset)}return offset}function checkInteger$1(token,valueOffset,disallowSign,offset){if(!token){return 0}const code=token.value.charCodeAt(valueOffset);if(code===PLUSSIGN$8||code===HYPHENMINUS$4){if(disallowSign){return 0}valueOffset++}for(;valueOffset<token.value.length;valueOffset++){if(!charCodeDefinitions$8.isDigit(token.value.charCodeAt(valueOffset))){return 0}}return offset+1}function consumeB$1(token,offset_,getNextToken){let sign=false;let offset=skipSC(token,offset_,getNextToken);token=getNextToken(offset);if(token===null){return offset_}if(token.type!==types$K.Number){if(isDelim$1(token,PLUSSIGN$8)||isDelim$1(token,HYPHENMINUS$4)){sign=true;offset=skipSC(getNextToken(++offset),offset,getNextToken);token=getNextToken(offset);if(token===null||token.type!==types$K.Number){return 0}}else{return offset_}}if(!sign){const code=token.value.charCodeAt(0);if(code!==PLUSSIGN$8&&code!==HYPHENMINUS$4){return 0}}return checkInteger$1(token,sign?0:1,sign,offset)}function anPlusB(token,getNextToken){let offset=0;if(!token){return 0}if(token.type===types$K.Number){return checkInteger$1(token,0,ALLOW_SIGN$1,offset)}else if(token.type===types$K.Ident&&token.value.charCodeAt(0)===HYPHENMINUS$4){if(!utils$g.cmpChar(token.value,1,N$3)){return 0}switch(token.value.length){case 2:return consumeB$1(getNextToken(++offset),offset,getNextToken);case 3:if(token.value.charCodeAt(2)!==HYPHENMINUS$4){return 0}offset=skipSC(getNextToken(++offset),offset,getNextToken);token=getNextToken(offset);return checkInteger$1(token,0,DISALLOW_SIGN$1,offset);default:if(token.value.charCodeAt(2)!==HYPHENMINUS$4){return 0}return checkInteger$1(token,3,DISALLOW_SIGN$1,offset)}}else if(token.type===types$K.Ident||isDelim$1(token,PLUSSIGN$8)&&getNextToken(offset+1).type===types$K.Ident){if(token.type!==types$K.Ident){token=getNextToken(++offset)}if(token===null||!utils$g.cmpChar(token.value,0,N$3)){return 0}switch(token.value.length){case 1:return consumeB$1(getNextToken(++offset),offset,getNextToken);case 2:if(token.value.charCodeAt(1)!==HYPHENMINUS$4){return 0}offset=skipSC(getNextToken(++offset),offset,getNextToken);token=getNextToken(offset);return checkInteger$1(token,0,DISALLOW_SIGN$1,offset);default:if(token.value.charCodeAt(1)!==HYPHENMINUS$4){return 0}return checkInteger$1(token,2,DISALLOW_SIGN$1,offset)}}else if(token.type===types$K.Dimension){let code=token.value.charCodeAt(0);let sign=code===PLUSSIGN$8||code===HYPHENMINUS$4?1:0;let i=sign;for(;i<token.value.length;i++){if(!charCodeDefinitions$8.isDigit(token.value.charCodeAt(i))){break}}if(i===sign){return 0}if(!utils$g.cmpChar(token.value,i,N$3)){return 0}if(i+1===token.value.length){return consumeB$1(getNextToken(++offset),offset,getNextToken)}else{if(token.value.charCodeAt(i+1)!==HYPHENMINUS$4){return 0}if(i+2===token.value.length){offset=skipSC(getNextToken(++offset),offset,getNextToken);token=getNextToken(offset);return checkInteger$1(token,0,DISALLOW_SIGN$1,offset)}else{return checkInteger$1(token,i+2,DISALLOW_SIGN$1,offset)}}}return 0}var genericAnPlusB$1=anPlusB;const charCodeDefinitions$7=charCodeDefinitions$c;const types$J=types$R;const utils$f=utils$k;const PLUSSIGN$7=43;const HYPHENMINUS$3=45;const QUESTIONMARK$2=63;const U$1=117;function isDelim(token,code){return token!==null&&token.type===types$J.Delim&&token.value.charCodeAt(0)===code}function startsWith$1(token,code){return token.value.charCodeAt(0)===code}function hexSequence(token,offset,allowDash){let hexlen=0;for(let pos=offset;pos<token.value.length;pos++){const code=token.value.charCodeAt(pos);if(code===HYPHENMINUS$3&&allowDash&&hexlen!==0){hexSequence(token,offset+hexlen+1,false);return 6}if(!charCodeDefinitions$7.isHexDigit(code)){return 0}if(++hexlen>6){return 0}}return hexlen}function withQuestionMarkSequence(consumed,length,getNextToken){if(!consumed){return 0}while(isDelim(getNextToken(length),QUESTIONMARK$2)){if(++consumed>6){return 0}length++}return length}function urange(token,getNextToken){let length=0;if(token===null||token.type!==types$J.Ident||!utils$f.cmpChar(token.value,0,U$1)){return 0}token=getNextToken(++length);if(token===null){return 0}if(isDelim(token,PLUSSIGN$7)){token=getNextToken(++length);if(token===null){return 0}if(token.type===types$J.Ident){return withQuestionMarkSequence(hexSequence(token,0,true),++length,getNextToken)}if(isDelim(token,QUESTIONMARK$2)){return withQuestionMarkSequence(1,++length,getNextToken)}return 0}if(token.type===types$J.Number){const consumedHexLength=hexSequence(token,1,true);if(consumedHexLength===0){return 0}token=getNextToken(++length);if(token===null){return length}if(token.type===types$J.Dimension||token.type===types$J.Number){if(!startsWith$1(token,HYPHENMINUS$3)||!hexSequence(token,1,false)){return 0}return length+1}return withQuestionMarkSequence(consumedHexLength,length,getNextToken)}if(token.type===types$J.Dimension){return withQuestionMarkSequence(hexSequence(token,1,true),++length,getNextToken)}return 0}var genericUrange$1=urange;const genericConst$1=genericConst$2;const genericAnPlusB=genericAnPlusB$1;const genericUrange=genericUrange$1;const types$I=types$R;const charCodeDefinitions$6=charCodeDefinitions$c;const utils$e=utils$k;const calcFunctionNames=["calc(","-moz-calc(","-webkit-calc("];const balancePair=new Map([[types$I.Function,types$I.RightParenthesis],[types$I.LeftParenthesis,types$I.RightParenthesis],[types$I.LeftSquareBracket,types$I.RightSquareBracket],[types$I.LeftCurlyBracket,types$I.RightCurlyBracket]]);const LENGTH=["cm","mm","q","in","pt","pc","px","em","rem","ex","rex","cap","rcap","ch","rch","ic","ric","lh","rlh","vw","svw","lvw","dvw","vh","svh","lvh","dvh","vi","svi","lvi","dvi","vb","svb","lvb","dvb","vmin","svmin","lvmin","dvmin","vmax","svmax","lvmax","dvmax","cqw","cqh","cqi","cqb","cqmin","cqmax"];const ANGLE=["deg","grad","rad","turn"];const TIME=["s","ms"];const FREQUENCY=["hz","khz"];const RESOLUTION=["dpi","dpcm","dppx","x"];const FLEX=["fr"];const DECIBEL=["db"];const SEMITONES=["st"];function charCodeAt(str,index){return index<str.length?str.charCodeAt(index):0}function eqStr(actual,expected){return utils$e.cmpStr(actual,0,actual.length,expected)}function eqStrAny(actual,expected){for(let i=0;i<expected.length;i++){if(eqStr(actual,expected[i])){return true}}return false}function isPostfixIeHack(str,offset){if(offset!==str.length-2){return false}return charCodeAt(str,offset)===92&&charCodeDefinitions$6.isDigit(charCodeAt(str,offset+1))}function outOfRange(opts,value,numEnd){if(opts&&opts.type==="Range"){const num=Number(numEnd!==undefined&&numEnd!==value.length?value.substr(0,numEnd):value);if(isNaN(num)){return true}if(opts.min!==null&&num<opts.min&&typeof opts.min!=="string"){return true}if(opts.max!==null&&num>opts.max&&typeof opts.max!=="string"){return true}}return false}function consumeFunction(token,getNextToken){let balanceCloseType=0;let balanceStash=[];let length=0;scan:do{switch(token.type){case types$I.RightCurlyBracket:case types$I.RightParenthesis:case types$I.RightSquareBracket:if(token.type!==balanceCloseType){break scan}balanceCloseType=balanceStash.pop();if(balanceStash.length===0){length++;break scan}break;case types$I.Function:case types$I.LeftParenthesis:case types$I.LeftSquareBracket:case types$I.LeftCurlyBracket:balanceStash.push(balanceCloseType);balanceCloseType=balancePair.get(token.type);break}length++}while(token=getNextToken(length));return length}function calc(next){return function(token,getNextToken,opts){if(token===null){return 0}if(token.type===types$I.Function&&eqStrAny(token.value,calcFunctionNames)){return consumeFunction(token,getNextToken)}return next(token,getNextToken,opts)}}function tokenType(expectedTokenType){return function(token){if(token===null||token.type!==expectedTokenType){return 0}return 1}}function customIdent(token){if(token===null||token.type!==types$I.Ident){return 0}const name=token.value.toLowerCase();if(eqStrAny(name,genericConst$1.cssWideKeywords)){return 0}if(eqStr(name,"default")){return 0}return 1}function customPropertyName(token){if(token===null||token.type!==types$I.Ident){return 0}if(charCodeAt(token.value,0)!==45||charCodeAt(token.value,1)!==45){return 0}return 1}function hexColor(token){if(token===null||token.type!==types$I.Hash){return 0}const length=token.value.length;if(length!==4&&length!==5&&length!==7&&length!==9){return 0}for(let i=1;i<length;i++){if(!charCodeDefinitions$6.isHexDigit(charCodeAt(token.value,i))){return 0}}return 1}function idSelector(token){if(token===null||token.type!==types$I.Hash){return 0}if(!charCodeDefinitions$6.isIdentifierStart(charCodeAt(token.value,1),charCodeAt(token.value,2),charCodeAt(token.value,3))){return 0}return 1}function declarationValue(token,getNextToken){if(!token){return 0}let balanceCloseType=0;let balanceStash=[];let length=0;scan:do{switch(token.type){case types$I.BadString:case types$I.BadUrl:break scan;case types$I.RightCurlyBracket:case types$I.RightParenthesis:case types$I.RightSquareBracket:if(token.type!==balanceCloseType){break scan}balanceCloseType=balanceStash.pop();break;case types$I.Semicolon:if(balanceCloseType===0){break scan}break;case types$I.Delim:if(balanceCloseType===0&&token.value==="!"){break scan}break;case types$I.Function:case types$I.LeftParenthesis:case types$I.LeftSquareBracket:case types$I.LeftCurlyBracket:balanceStash.push(balanceCloseType);balanceCloseType=balancePair.get(token.type);break}length++}while(token=getNextToken(length));return length}function anyValue(token,getNextToken){if(!token){return 0}let balanceCloseType=0;let balanceStash=[];let length=0;scan:do{switch(token.type){case types$I.BadString:case types$I.BadUrl:break scan;case types$I.RightCurlyBracket:case types$I.RightParenthesis:case types$I.RightSquareBracket:if(token.type!==balanceCloseType){break scan}balanceCloseType=balanceStash.pop();break;case types$I.Function:case types$I.LeftParenthesis:case types$I.LeftSquareBracket:case types$I.LeftCurlyBracket:balanceStash.push(balanceCloseType);balanceCloseType=balancePair.get(token.type);break}length++}while(token=getNextToken(length));return length}function dimension(type){if(type){type=new Set(type)}return function(token,getNextToken,opts){if(token===null||token.type!==types$I.Dimension){return 0}const numberEnd=utils$e.consumeNumber(token.value,0);if(type!==null){const reverseSolidusOffset=token.value.indexOf("\\",numberEnd);const unit=reverseSolidusOffset===-1||!isPostfixIeHack(token.value,reverseSolidusOffset)?token.value.substr(numberEnd):token.value.substring(numberEnd,reverseSolidusOffset);if(type.has(unit.toLowerCase())===false){return 0}}if(outOfRange(opts,token.value,numberEnd)){return 0}return 1}}function percentage(token,getNextToken,opts){if(token===null||token.type!==types$I.Percentage){return 0}if(outOfRange(opts,token.value,token.value.length-1)){return 0}return 1}function zero(next){if(typeof next!=="function"){next=function(){return 0}}return function(token,getNextToken,opts){if(token!==null&&token.type===types$I.Number){if(Number(token.value)===0){return 1}}return next(token,getNextToken,opts)}}function number(token,getNextToken,opts){if(token===null){return 0}const numberEnd=utils$e.consumeNumber(token.value,0);const isNumber=numberEnd===token.value.length;if(!isNumber&&!isPostfixIeHack(token.value,numberEnd)){return 0}if(outOfRange(opts,token.value,numberEnd)){return 0}return 1}function integer(token,getNextToken,opts){if(token===null||token.type!==types$I.Number){return 0}let i=charCodeAt(token.value,0)===43||charCodeAt(token.value,0)===45?1:0;for(;i<token.value.length;i++){if(!charCodeDefinitions$6.isDigit(charCodeAt(token.value,i))){return 0}}if(outOfRange(opts,token.value,i)){return 0}return 1}const genericSyntaxes={"ident-token":tokenType(types$I.Ident),"function-token":tokenType(types$I.Function),"at-keyword-token":tokenType(types$I.AtKeyword),"hash-token":tokenType(types$I.Hash),"string-token":tokenType(types$I.String),"bad-string-token":tokenType(types$I.BadString),"url-token":tokenType(types$I.Url),"bad-url-token":tokenType(types$I.BadUrl),"delim-token":tokenType(types$I.Delim),"number-token":tokenType(types$I.Number),"percentage-token":tokenType(types$I.Percentage),"dimension-token":tokenType(types$I.Dimension),"whitespace-token":tokenType(types$I.WhiteSpace),"CDO-token":tokenType(types$I.CDO),"CDC-token":tokenType(types$I.CDC),"colon-token":tokenType(types$I.Colon),"semicolon-token":tokenType(types$I.Semicolon),"comma-token":tokenType(types$I.Comma),"[-token":tokenType(types$I.LeftSquareBracket),"]-token":tokenType(types$I.RightSquareBracket),"(-token":tokenType(types$I.LeftParenthesis),")-token":tokenType(types$I.RightParenthesis),"{-token":tokenType(types$I.LeftCurlyBracket),"}-token":tokenType(types$I.RightCurlyBracket),string:tokenType(types$I.String),ident:tokenType(types$I.Ident),"custom-ident":customIdent,"custom-property-name":customPropertyName,"hex-color":hexColor,"id-selector":idSelector,"an-plus-b":genericAnPlusB,urange:genericUrange,"declaration-value":declarationValue,"any-value":anyValue,dimension:calc(dimension(null)),angle:calc(dimension(ANGLE)),decibel:calc(dimension(DECIBEL)),frequency:calc(dimension(FREQUENCY)),flex:calc(dimension(FLEX)),length:calc(zero(dimension(LENGTH))),resolution:calc(dimension(RESOLUTION)),semitones:calc(dimension(SEMITONES)),time:calc(dimension(TIME)),percentage:calc(percentage),zero:zero(),number:calc(number),integer:calc(integer)};var generic$1=genericSyntaxes;const index$9=tokenizer$2;const astToTokens={decorator(handlers){const tokens=[];let curNode=null;return{...handlers,node(node){const tmp=curNode;curNode=node;handlers.node.call(this,node);curNode=tmp},emit(value,type,auto){tokens.push({type:type,value:value,node:auto?null:curNode})},result(){return tokens}}}};function stringToTokens(str){const tokens=[];index$9.tokenize(str,((type,start,end)=>tokens.push({type:type,value:str.slice(start,end),node:null})));return tokens}function prepareTokens$1(value,syntax){if(typeof value==="string"){return stringToTokens(value)}return syntax.generate(value,astToTokens)}var prepareTokens_1=prepareTokens$1;var matchGraph$2={};var parse$L={};var tokenizer$1={};var _SyntaxError={};const createCustomError=createCustomError$4;function SyntaxError$3(message,input,offset){return Object.assign(createCustomError.createCustomError("SyntaxError",message),{input:input,offset:offset,rawMessage:message,message:message+"\n"+" "+input+"\n"+"--"+new Array((offset||input.length)+1).join("-")+"^"})}_SyntaxError.SyntaxError=SyntaxError$3;const SyntaxError$2=_SyntaxError;const TAB$1=9;const N$2=10;const F$1=12;const R$1=13;const SPACE$3=32;class Tokenizer{constructor(str){this.str=str;this.pos=0}charCodeAt(pos){return pos<this.str.length?this.str.charCodeAt(pos):0}charCode(){return this.charCodeAt(this.pos)}nextCharCode(){return this.charCodeAt(this.pos+1)}nextNonWsCode(pos){return this.charCodeAt(this.findWsEnd(pos))}findWsEnd(pos){for(;pos<this.str.length;pos++){const code=this.str.charCodeAt(pos);if(code!==R$1&&code!==N$2&&code!==F$1&&code!==SPACE$3&&code!==TAB$1){break}}return pos}substringToPos(end){return this.str.substring(this.pos,this.pos=end)}eat(code){if(this.charCode()!==code){this.error("Expect `"+String.fromCharCode(code)+"`")}this.pos++}peek(){return this.pos<this.str.length?this.str.charAt(this.pos++):""}error(message){throw new SyntaxError$2.SyntaxError(message,this.str,this.pos)}}tokenizer$1.Tokenizer=Tokenizer;const tokenizer=tokenizer$1;const TAB=9;const N$1=10;const F=12;const R=13;const SPACE$2=32;const EXCLAMATIONMARK$2=33;const NUMBERSIGN$3=35;const AMPERSAND$1=38;const APOSTROPHE$2=39;const LEFTPARENTHESIS$2=40;const RIGHTPARENTHESIS$2=41;const ASTERISK$6=42;const PLUSSIGN$6=43;const COMMA=44;const HYPERMINUS=45;const LESSTHANSIGN=60;const GREATERTHANSIGN$2=62;const QUESTIONMARK$1=63;const COMMERCIALAT=64;const LEFTSQUAREBRACKET=91;const RIGHTSQUAREBRACKET=93;const LEFTCURLYBRACKET=123;const VERTICALLINE$3=124;const RIGHTCURLYBRACKET=125;const INFINITY=8734;const NAME_CHAR=new Uint8Array(128).map(((_,idx)=>/[a-zA-Z0-9\-]/.test(String.fromCharCode(idx))?1:0));const COMBINATOR_PRECEDENCE={" ":1,"&&":2,"||":3,"|":4};function scanSpaces(tokenizer){return tokenizer.substringToPos(tokenizer.findWsEnd(tokenizer.pos))}function scanWord(tokenizer){let end=tokenizer.pos;for(;end<tokenizer.str.length;end++){const code=tokenizer.str.charCodeAt(end);if(code>=128||NAME_CHAR[code]===0){break}}if(tokenizer.pos===end){tokenizer.error("Expect a keyword")}return tokenizer.substringToPos(end)}function scanNumber(tokenizer){let end=tokenizer.pos;for(;end<tokenizer.str.length;end++){const code=tokenizer.str.charCodeAt(end);if(code<48||code>57){break}}if(tokenizer.pos===end){tokenizer.error("Expect a number")}return tokenizer.substringToPos(end)}function scanString(tokenizer){const end=tokenizer.str.indexOf("'",tokenizer.pos+1);if(end===-1){tokenizer.pos=tokenizer.str.length;tokenizer.error("Expect an apostrophe")}return tokenizer.substringToPos(end+1)}function readMultiplierRange(tokenizer){let min=null;let max=null;tokenizer.eat(LEFTCURLYBRACKET);min=scanNumber(tokenizer);if(tokenizer.charCode()===COMMA){tokenizer.pos++;if(tokenizer.charCode()!==RIGHTCURLYBRACKET){max=scanNumber(tokenizer)}}else{max=min}tokenizer.eat(RIGHTCURLYBRACKET);return{min:Number(min),max:max?Number(max):0}}function readMultiplier(tokenizer){let range=null;let comma=false;switch(tokenizer.charCode()){case ASTERISK$6:tokenizer.pos++;range={min:0,max:0};break;case PLUSSIGN$6:tokenizer.pos++;range={min:1,max:0};break;case QUESTIONMARK$1:tokenizer.pos++;range={min:0,max:1};break;case NUMBERSIGN$3:tokenizer.pos++;comma=true;if(tokenizer.charCode()===LEFTCURLYBRACKET){range=readMultiplierRange(tokenizer)}else if(tokenizer.charCode()===QUESTIONMARK$1){tokenizer.pos++;range={min:0,max:0}}else{range={min:1,max:0}}break;case LEFTCURLYBRACKET:range=readMultiplierRange(tokenizer);break;default:return null}return{type:"Multiplier",comma:comma,min:range.min,max:range.max,term:null}}function maybeMultiplied(tokenizer,node){const multiplier=readMultiplier(tokenizer);if(multiplier!==null){multiplier.term=node;if(tokenizer.charCode()===NUMBERSIGN$3&&tokenizer.charCodeAt(tokenizer.pos-1)===PLUSSIGN$6){return maybeMultiplied(tokenizer,multiplier)}return multiplier}return node}function maybeToken(tokenizer){const ch=tokenizer.peek();if(ch===""){return null}return{type:"Token",value:ch}}function readProperty$1(tokenizer){let name;tokenizer.eat(LESSTHANSIGN);tokenizer.eat(APOSTROPHE$2);name=scanWord(tokenizer);tokenizer.eat(APOSTROPHE$2);tokenizer.eat(GREATERTHANSIGN$2);return maybeMultiplied(tokenizer,{type:"Property",name:name})}function readTypeRange(tokenizer){let min=null;let max=null;let sign=1;tokenizer.eat(LEFTSQUAREBRACKET);if(tokenizer.charCode()===HYPERMINUS){tokenizer.peek();sign=-1}if(sign==-1&&tokenizer.charCode()===INFINITY){tokenizer.peek()}else{min=sign*Number(scanNumber(tokenizer));if(NAME_CHAR[tokenizer.charCode()]!==0){min+=scanWord(tokenizer)}}scanSpaces(tokenizer);tokenizer.eat(COMMA);scanSpaces(tokenizer);if(tokenizer.charCode()===INFINITY){tokenizer.peek()}else{sign=1;if(tokenizer.charCode()===HYPERMINUS){tokenizer.peek();sign=-1}max=sign*Number(scanNumber(tokenizer));if(NAME_CHAR[tokenizer.charCode()]!==0){max+=scanWord(tokenizer)}}tokenizer.eat(RIGHTSQUAREBRACKET);return{type:"Range",min:min,max:max}}function readType(tokenizer){let name;let opts=null;tokenizer.eat(LESSTHANSIGN);name=scanWord(tokenizer);if(tokenizer.charCode()===LEFTPARENTHESIS$2&&tokenizer.nextCharCode()===RIGHTPARENTHESIS$2){tokenizer.pos+=2;name+="()"}if(tokenizer.charCodeAt(tokenizer.findWsEnd(tokenizer.pos))===LEFTSQUAREBRACKET){scanSpaces(tokenizer);opts=readTypeRange(tokenizer)}tokenizer.eat(GREATERTHANSIGN$2);return maybeMultiplied(tokenizer,{type:"Type",name:name,opts:opts})}function readKeywordOrFunction(tokenizer){const name=scanWord(tokenizer);if(tokenizer.charCode()===LEFTPARENTHESIS$2){tokenizer.pos++;return{type:"Function",name:name}}return maybeMultiplied(tokenizer,{type:"Keyword",name:name})}function regroupTerms(terms,combinators){function createGroup(terms,combinator){return{type:"Group",terms:terms,combinator:combinator,disallowEmpty:false,explicit:false}}let combinator;combinators=Object.keys(combinators).sort(((a,b)=>COMBINATOR_PRECEDENCE[a]-COMBINATOR_PRECEDENCE[b]));while(combinators.length>0){combinator=combinators.shift();let i=0;let subgroupStart=0;for(;i<terms.length;i++){const term=terms[i];if(term.type==="Combinator"){if(term.value===combinator){if(subgroupStart===-1){subgroupStart=i-1}terms.splice(i,1);i--}else{if(subgroupStart!==-1&&i-subgroupStart>1){terms.splice(subgroupStart,i-subgroupStart,createGroup(terms.slice(subgroupStart,i),combinator));i=subgroupStart+1}subgroupStart=-1}}}if(subgroupStart!==-1&&combinators.length){terms.splice(subgroupStart,i-subgroupStart,createGroup(terms.slice(subgroupStart,i),combinator))}}return combinator}function readImplicitGroup(tokenizer){const terms=[];const combinators={};let token;let prevToken=null;let prevTokenPos=tokenizer.pos;while(token=peek(tokenizer)){if(token.type!=="Spaces"){if(token.type==="Combinator"){if(prevToken===null||prevToken.type==="Combinator"){tokenizer.pos=prevTokenPos;tokenizer.error("Unexpected combinator")}combinators[token.value]=true}else if(prevToken!==null&&prevToken.type!=="Combinator"){combinators[" "]=true;terms.push({type:"Combinator",value:" "})}terms.push(token);prevToken=token;prevTokenPos=tokenizer.pos}}if(prevToken!==null&&prevToken.type==="Combinator"){tokenizer.pos-=prevTokenPos;tokenizer.error("Unexpected combinator")}return{type:"Group",terms:terms,combinator:regroupTerms(terms,combinators)||" ",disallowEmpty:false,explicit:false}}function readGroup(tokenizer){let result;tokenizer.eat(LEFTSQUAREBRACKET);result=readImplicitGroup(tokenizer);tokenizer.eat(RIGHTSQUAREBRACKET);result.explicit=true;if(tokenizer.charCode()===EXCLAMATIONMARK$2){tokenizer.pos++;result.disallowEmpty=true}return result}function peek(tokenizer){let code=tokenizer.charCode();if(code<128&&NAME_CHAR[code]===1){return readKeywordOrFunction(tokenizer)}switch(code){case RIGHTSQUAREBRACKET:break;case LEFTSQUAREBRACKET:return maybeMultiplied(tokenizer,readGroup(tokenizer));case LESSTHANSIGN:return tokenizer.nextCharCode()===APOSTROPHE$2?readProperty$1(tokenizer):readType(tokenizer);case VERTICALLINE$3:return{type:"Combinator",value:tokenizer.substringToPos(tokenizer.pos+(tokenizer.nextCharCode()===VERTICALLINE$3?2:1))};case AMPERSAND$1:tokenizer.pos++;tokenizer.eat(AMPERSAND$1);return{type:"Combinator",value:"&&"};case COMMA:tokenizer.pos++;return{type:"Comma"};case APOSTROPHE$2:return maybeMultiplied(tokenizer,{type:"String",value:scanString(tokenizer)});case SPACE$2:case TAB:case N$1:case R:case F:return{type:"Spaces",value:scanSpaces(tokenizer)};case COMMERCIALAT:code=tokenizer.nextCharCode();if(code<128&&NAME_CHAR[code]===1){tokenizer.pos++;return{type:"AtKeyword",name:scanWord(tokenizer)}}return maybeToken(tokenizer);case ASTERISK$6:case PLUSSIGN$6:case QUESTIONMARK$1:case NUMBERSIGN$3:case EXCLAMATIONMARK$2:break;case LEFTCURLYBRACKET:code=tokenizer.nextCharCode();if(code<48||code>57){return maybeToken(tokenizer)}break;default:return maybeToken(tokenizer)}}function parse$K(source){const tokenizer$1=new tokenizer.Tokenizer(source);const result=readImplicitGroup(tokenizer$1);if(tokenizer$1.pos!==source.length){tokenizer$1.error("Unexpected input")}if(result.terms.length===1&&result.terms[0].type==="Group"){return result.terms[0]}return result}parse$L.parse=parse$K;const parse$J=parse$L;const MATCH={type:"Match"};const MISMATCH={type:"Mismatch"};const DISALLOW_EMPTY={type:"DisallowEmpty"};const LEFTPARENTHESIS$1=40;const RIGHTPARENTHESIS$1=41;function createCondition(match,thenBranch,elseBranch){if(thenBranch===MATCH&&elseBranch===MISMATCH){return match}if(match===MATCH&&thenBranch===MATCH&&elseBranch===MATCH){return match}if(match.type==="If"&&match.else===MISMATCH&&thenBranch===MATCH){thenBranch=match.then;match=match.match}return{type:"If",match:match,then:thenBranch,else:elseBranch}}function isFunctionType(name){return name.length>2&&name.charCodeAt(name.length-2)===LEFTPARENTHESIS$1&&name.charCodeAt(name.length-1)===RIGHTPARENTHESIS$1}function isEnumCapatible(term){return term.type==="Keyword"||term.type==="AtKeyword"||term.type==="Function"||term.type==="Type"&&isFunctionType(term.name)}function buildGroupMatchGraph(combinator,terms,atLeastOneTermMatched){switch(combinator){case" ":{let result=MATCH;for(let i=terms.length-1;i>=0;i--){const term=terms[i];result=createCondition(term,result,MISMATCH)}return result}case"|":{let result=MISMATCH;let map=null;for(let i=terms.length-1;i>=0;i--){let term=terms[i];if(isEnumCapatible(term)){if(map===null&&i>0&&isEnumCapatible(terms[i-1])){map=Object.create(null);result=createCondition({type:"Enum",map:map},MATCH,result)}if(map!==null){const key=(isFunctionType(term.name)?term.name.slice(0,-1):term.name).toLowerCase();if(key in map===false){map[key]=term;continue}}}map=null;result=createCondition(term,MATCH,result)}return result}case"&&":{if(terms.length>5){return{type:"MatchOnce",terms:terms,all:true}}let result=MISMATCH;for(let i=terms.length-1;i>=0;i--){const term=terms[i];let thenClause;if(terms.length>1){thenClause=buildGroupMatchGraph(combinator,terms.filter((function(newGroupTerm){return newGroupTerm!==term})),false)}else{thenClause=MATCH}result=createCondition(term,thenClause,result)}return result}case"||":{if(terms.length>5){return{type:"MatchOnce",terms:terms,all:false}}let result=atLeastOneTermMatched?MATCH:MISMATCH;for(let i=terms.length-1;i>=0;i--){const term=terms[i];let thenClause;if(terms.length>1){thenClause=buildGroupMatchGraph(combinator,terms.filter((function(newGroupTerm){return newGroupTerm!==term})),true)}else{thenClause=MATCH}result=createCondition(term,thenClause,result)}return result}}}function buildMultiplierMatchGraph(node){let result=MATCH;let matchTerm=buildMatchGraphInternal(node.term);if(node.max===0){matchTerm=createCondition(matchTerm,DISALLOW_EMPTY,MISMATCH);result=createCondition(matchTerm,null,MISMATCH);result.then=createCondition(MATCH,MATCH,result);if(node.comma){result.then.else=createCondition({type:"Comma",syntax:node},result,MISMATCH)}}else{for(let i=node.min||1;i<=node.max;i++){if(node.comma&&result!==MATCH){result=createCondition({type:"Comma",syntax:node},result,MISMATCH)}result=createCondition(matchTerm,createCondition(MATCH,MATCH,result),MISMATCH)}}if(node.min===0){result=createCondition(MATCH,MATCH,result)}else{for(let i=0;i<node.min-1;i++){if(node.comma&&result!==MATCH){result=createCondition({type:"Comma",syntax:node},result,MISMATCH)}result=createCondition(matchTerm,result,MISMATCH)}}return result}function buildMatchGraphInternal(node){if(typeof node==="function"){return{type:"Generic",fn:node}}switch(node.type){case"Group":{let result=buildGroupMatchGraph(node.combinator,node.terms.map(buildMatchGraphInternal),false);if(node.disallowEmpty){result=createCondition(result,DISALLOW_EMPTY,MISMATCH)}return result}case"Multiplier":return buildMultiplierMatchGraph(node);case"Type":case"Property":return{type:node.type,name:node.name,syntax:node};case"Keyword":return{type:node.type,name:node.name.toLowerCase(),syntax:node};case"AtKeyword":return{type:node.type,name:"@"+node.name.toLowerCase(),syntax:node};case"Function":return{type:node.type,name:node.name.toLowerCase()+"(",syntax:node};case"String":if(node.value.length===3){return{type:"Token",value:node.value.charAt(1),syntax:node}}return{type:node.type,value:node.value.substr(1,node.value.length-2).replace(/\\'/g,"'"),syntax:node};case"Token":return{type:node.type,value:node.value,syntax:node};case"Comma":return{type:node.type,syntax:node};default:throw new Error("Unknown node type:",node.type)}}function buildMatchGraph(syntaxTree,ref){if(typeof syntaxTree==="string"){syntaxTree=parse$J.parse(syntaxTree)}return{type:"MatchGraph",match:buildMatchGraphInternal(syntaxTree),syntax:ref||null,source:syntaxTree}}matchGraph$2.DISALLOW_EMPTY=DISALLOW_EMPTY;matchGraph$2.MATCH=MATCH;matchGraph$2.MISMATCH=MISMATCH;matchGraph$2.buildMatchGraph=buildMatchGraph;var match$1={};const matchGraph$1=matchGraph$2;const types$H=types$R;const{hasOwnProperty:hasOwnProperty$7}=Object.prototype;const STUB=0;const TOKEN=1;const OPEN_SYNTAX=2;const CLOSE_SYNTAX=3;const EXIT_REASON_MATCH="Match";const EXIT_REASON_MISMATCH="Mismatch";const EXIT_REASON_ITERATION_LIMIT="Maximum iteration number exceeded (please fill an issue on https://github.com/csstree/csstree/issues)";const ITERATION_LIMIT=15e3;function reverseList(list){let prev=null;let next=null;let item=list;while(item!==null){next=item.prev;item.prev=prev;prev=item;item=next}return prev}function areStringsEqualCaseInsensitive(testStr,referenceStr){if(testStr.length!==referenceStr.length){return false}for(let i=0;i<testStr.length;i++){const referenceCode=referenceStr.charCodeAt(i);let testCode=testStr.charCodeAt(i);if(testCode>=65&&testCode<=90){testCode=testCode|32}if(testCode!==referenceCode){return false}}return true}function isContextEdgeDelim(token){if(token.type!==types$H.Delim){return false}return token.value!=="?"}function isCommaContextStart(token){if(token===null){return true}return token.type===types$H.Comma||token.type===types$H.Function||token.type===types$H.LeftParenthesis||token.type===types$H.LeftSquareBracket||token.type===types$H.LeftCurlyBracket||isContextEdgeDelim(token)}function isCommaContextEnd(token){if(token===null){return true}return token.type===types$H.RightParenthesis||token.type===types$H.RightSquareBracket||token.type===types$H.RightCurlyBracket||token.type===types$H.Delim&&token.value==="/"}function internalMatch(tokens,state,syntaxes){function moveToNextToken(){do{tokenIndex++;token=tokenIndex<tokens.length?tokens[tokenIndex]:null}while(token!==null&&(token.type===types$H.WhiteSpace||token.type===types$H.Comment))}function getNextToken(offset){const nextIndex=tokenIndex+offset;return nextIndex<tokens.length?tokens[nextIndex]:null}function stateSnapshotFromSyntax(nextState,prev){return{nextState:nextState,matchStack:matchStack,syntaxStack:syntaxStack,thenStack:thenStack,tokenIndex:tokenIndex,prev:prev}}function pushThenStack(nextState){thenStack={nextState:nextState,matchStack:matchStack,syntaxStack:syntaxStack,prev:thenStack}}function pushElseStack(nextState){elseStack=stateSnapshotFromSyntax(nextState,elseStack)}function addTokenToMatch(){matchStack={type:TOKEN,syntax:state.syntax,token:token,prev:matchStack};moveToNextToken();syntaxStash=null;if(tokenIndex>longestMatch){longestMatch=tokenIndex}}function openSyntax(){syntaxStack={syntax:state.syntax,opts:state.syntax.opts||syntaxStack!==null&&syntaxStack.opts||null,prev:syntaxStack};matchStack={type:OPEN_SYNTAX,syntax:state.syntax,token:matchStack.token,prev:matchStack}}function closeSyntax(){if(matchStack.type===OPEN_SYNTAX){matchStack=matchStack.prev}else{matchStack={type:CLOSE_SYNTAX,syntax:syntaxStack.syntax,token:matchStack.token,prev:matchStack}}syntaxStack=syntaxStack.prev}let syntaxStack=null;let thenStack=null;let elseStack=null;let syntaxStash=null;let iterationCount=0;let exitReason=null;let token=null;let tokenIndex=-1;let longestMatch=0;let matchStack={type:STUB,syntax:null,token:null,prev:null};moveToNextToken();while(exitReason===null&&++iterationCount<ITERATION_LIMIT){switch(state.type){case"Match":if(thenStack===null){if(token!==null){if(tokenIndex!==tokens.length-1||token.value!=="\\0"&&token.value!=="\\9"){state=matchGraph$1.MISMATCH;break}}exitReason=EXIT_REASON_MATCH;break}state=thenStack.nextState;if(state===matchGraph$1.DISALLOW_EMPTY){if(thenStack.matchStack===matchStack){state=matchGraph$1.MISMATCH;break}else{state=matchGraph$1.MATCH}}while(thenStack.syntaxStack!==syntaxStack){closeSyntax()}thenStack=thenStack.prev;break;case"Mismatch":if(syntaxStash!==null&&syntaxStash!==false){if(elseStack===null||tokenIndex>elseStack.tokenIndex){elseStack=syntaxStash;syntaxStash=false}}else if(elseStack===null){exitReason=EXIT_REASON_MISMATCH;break}state=elseStack.nextState;thenStack=elseStack.thenStack;syntaxStack=elseStack.syntaxStack;matchStack=elseStack.matchStack;tokenIndex=elseStack.tokenIndex;token=tokenIndex<tokens.length?tokens[tokenIndex]:null;elseStack=elseStack.prev;break;case"MatchGraph":state=state.match;break;case"If":if(state.else!==matchGraph$1.MISMATCH){pushElseStack(state.else)}if(state.then!==matchGraph$1.MATCH){pushThenStack(state.then)}state=state.match;break;case"MatchOnce":state={type:"MatchOnceBuffer",syntax:state,index:0,mask:0};break;case"MatchOnceBuffer":{const terms=state.syntax.terms;if(state.index===terms.length){if(state.mask===0||state.syntax.all){state=matchGraph$1.MISMATCH;break}state=matchGraph$1.MATCH;break}if(state.mask===(1<<terms.length)-1){state=matchGraph$1.MATCH;break}for(;state.index<terms.length;state.index++){const matchFlag=1<<state.index;if((state.mask&matchFlag)===0){pushElseStack(state);pushThenStack({type:"AddMatchOnce",syntax:state.syntax,mask:state.mask|matchFlag});state=terms[state.index++];break}}break}case"AddMatchOnce":state={type:"MatchOnceBuffer",syntax:state.syntax,index:0,mask:state.mask};break;case"Enum":if(token!==null){let name=token.value.toLowerCase();if(name.indexOf("\\")!==-1){name=name.replace(/\\[09].*$/,"")}if(hasOwnProperty$7.call(state.map,name)){state=state.map[name];break}}state=matchGraph$1.MISMATCH;break;case"Generic":{const opts=syntaxStack!==null?syntaxStack.opts:null;const lastTokenIndex=tokenIndex+Math.floor(state.fn(token,getNextToken,opts));if(!isNaN(lastTokenIndex)&&lastTokenIndex>tokenIndex){while(tokenIndex<lastTokenIndex){addTokenToMatch()}state=matchGraph$1.MATCH}else{state=matchGraph$1.MISMATCH}break}case"Type":case"Property":{const syntaxDict=state.type==="Type"?"types":"properties";const dictSyntax=hasOwnProperty$7.call(syntaxes,syntaxDict)?syntaxes[syntaxDict][state.name]:null;if(!dictSyntax||!dictSyntax.match){throw new Error("Bad syntax reference: "+(state.type==="Type"?"<"+state.name+">":"<'"+state.name+"'>"))}if(syntaxStash!==false&&token!==null&&state.type==="Type"){const lowPriorityMatching=state.name==="custom-ident"&&token.type===types$H.Ident||state.name==="length"&&token.value==="0";if(lowPriorityMatching){if(syntaxStash===null){syntaxStash=stateSnapshotFromSyntax(state,elseStack)}state=matchGraph$1.MISMATCH;break}}openSyntax();state=dictSyntax.match;break}case"Keyword":{const name=state.name;if(token!==null){let keywordName=token.value;if(keywordName.indexOf("\\")!==-1){keywordName=keywordName.replace(/\\[09].*$/,"")}if(areStringsEqualCaseInsensitive(keywordName,name)){addTokenToMatch();state=matchGraph$1.MATCH;break}}state=matchGraph$1.MISMATCH;break}case"AtKeyword":case"Function":if(token!==null&&areStringsEqualCaseInsensitive(token.value,state.name)){addTokenToMatch();state=matchGraph$1.MATCH;break}state=matchGraph$1.MISMATCH;break;case"Token":if(token!==null&&token.value===state.value){addTokenToMatch();state=matchGraph$1.MATCH;break}state=matchGraph$1.MISMATCH;break;case"Comma":if(token!==null&&token.type===types$H.Comma){if(isCommaContextStart(matchStack.token)){state=matchGraph$1.MISMATCH}else{addTokenToMatch();state=isCommaContextEnd(token)?matchGraph$1.MISMATCH:matchGraph$1.MATCH}}else{state=isCommaContextStart(matchStack.token)||isCommaContextEnd(token)?matchGraph$1.MATCH:matchGraph$1.MISMATCH}break;case"String":let string="";let lastTokenIndex=tokenIndex;for(;lastTokenIndex<tokens.length&&string.length<state.value.length;lastTokenIndex++){string+=tokens[lastTokenIndex].value}if(areStringsEqualCaseInsensitive(string,state.value)){while(tokenIndex<lastTokenIndex){addTokenToMatch()}state=matchGraph$1.MATCH}else{state=matchGraph$1.MISMATCH}break;default:throw new Error("Unknown node type: "+state.type)}}switch(exitReason){case null:console.warn("[csstree-match] BREAK after "+ITERATION_LIMIT+" iterations");exitReason=EXIT_REASON_ITERATION_LIMIT;matchStack=null;break;case EXIT_REASON_MATCH:while(syntaxStack!==null){closeSyntax()}break;default:matchStack=null}return{tokens:tokens,reason:exitReason,iterations:iterationCount,match:matchStack,longestMatch:longestMatch}}function matchAsList(tokens,matchGraph,syntaxes){const matchResult=internalMatch(tokens,matchGraph,syntaxes||{});if(matchResult.match!==null){let item=reverseList(matchResult.match).prev;matchResult.match=[];while(item!==null){switch(item.type){case OPEN_SYNTAX:case CLOSE_SYNTAX:matchResult.match.push({type:item.type,syntax:item.syntax});break;default:matchResult.match.push({token:item.token.value,node:item.token.node});break}item=item.prev}}return matchResult}function matchAsTree(tokens,matchGraph,syntaxes){const matchResult=internalMatch(tokens,matchGraph,syntaxes||{});if(matchResult.match===null){return matchResult}let item=matchResult.match;let host=matchResult.match={syntax:matchGraph.syntax||null,match:[]};const hostStack=[host];item=reverseList(item).prev;while(item!==null){switch(item.type){case OPEN_SYNTAX:host.match.push(host={syntax:item.syntax,match:[]});hostStack.push(host);break;case CLOSE_SYNTAX:hostStack.pop();host=hostStack[hostStack.length-1];break;default:host.match.push({syntax:item.syntax||null,token:item.token.value,node:item.token.node})}item=item.prev}return matchResult}match$1.matchAsList=matchAsList;match$1.matchAsTree=matchAsTree;var trace$1={};function getTrace(node){function shouldPutToTrace(syntax){if(syntax===null){return false}return syntax.type==="Type"||syntax.type==="Property"||syntax.type==="Keyword"}function hasMatch(matchNode){if(Array.isArray(matchNode.match)){for(let i=0;i<matchNode.match.length;i++){if(hasMatch(matchNode.match[i])){if(shouldPutToTrace(matchNode.syntax)){result.unshift(matchNode.syntax)}return true}}}else if(matchNode.node===node){result=shouldPutToTrace(matchNode.syntax)?[matchNode.syntax]:[];return true}return false}let result=null;if(this.matched!==null){hasMatch(this.matched)}return result}function isType(node,type){return testNode(this,node,(match=>match.type==="Type"&&match.name===type))}function isProperty(node,property){return testNode(this,node,(match=>match.type==="Property"&&match.name===property))}function isKeyword(node){return testNode(this,node,(match=>match.type==="Keyword"))}function testNode(match,node,fn){const trace=getTrace.call(match,node);if(trace===null){return false}return trace.some(fn)}trace$1.getTrace=getTrace;trace$1.isKeyword=isKeyword;trace$1.isProperty=isProperty;trace$1.isType=isType;var search$1={};const List$3=List$7;function getFirstMatchNode(matchNode){if("node"in matchNode){return matchNode.node}return getFirstMatchNode(matchNode.match[0])}function getLastMatchNode(matchNode){if("node"in matchNode){return matchNode.node}return getLastMatchNode(matchNode.match[matchNode.match.length-1])}function matchFragments(lexer,ast,match,type,name){function findFragments(matchNode){if(matchNode.syntax!==null&&matchNode.syntax.type===type&&matchNode.syntax.name===name){const start=getFirstMatchNode(matchNode);const end=getLastMatchNode(matchNode);lexer.syntax.walk(ast,(function(node,item,list){if(node===start){const nodes=new List$3.List;do{nodes.appendData(item.data);if(item.data===end){break}item=item.next}while(item!==null);fragments.push({parent:list,nodes:nodes})}}))}if(Array.isArray(matchNode.match)){matchNode.match.forEach(findFragments)}}const fragments=[];if(match.matched!==null){findFragments(match.matched)}return fragments}search$1.matchFragments=matchFragments;var structure$F={};const List$2=List$7;const{hasOwnProperty:hasOwnProperty$6}=Object.prototype;function isValidNumber(value){return typeof value==="number"&&isFinite(value)&&Math.floor(value)===value&&value>=0}function isValidLocation(loc){return Boolean(loc)&&isValidNumber(loc.offset)&&isValidNumber(loc.line)&&isValidNumber(loc.column)}function createNodeStructureChecker(type,fields){return function checkNode(node,warn){if(!node||node.constructor!==Object){return warn(node,"Type of node should be an Object")}for(let key in node){let valid=true;if(hasOwnProperty$6.call(node,key)===false){continue}if(key==="type"){if(node.type!==type){warn(node,"Wrong node type `"+node.type+"`, expected `"+type+"`")}}else if(key==="loc"){if(node.loc===null){continue}else if(node.loc&&node.loc.constructor===Object){if(typeof node.loc.source!=="string"){key+=".source"}else if(!isValidLocation(node.loc.start)){key+=".start"}else if(!isValidLocation(node.loc.end)){key+=".end"}else{continue}}valid=false}else if(fields.hasOwnProperty(key)){valid=false;for(let i=0;!valid&&i<fields[key].length;i++){const fieldType=fields[key][i];switch(fieldType){case String:valid=typeof node[key]==="string";break;case Boolean:valid=typeof node[key]==="boolean";break;case null:valid=node[key]===null;break;default:if(typeof fieldType==="string"){valid=node[key]&&node[key].type===fieldType}else if(Array.isArray(fieldType)){valid=node[key]instanceof List$2.List}}}}else{warn(node,"Unknown field `"+key+"` for "+type+" node type")}if(!valid){warn(node,"Bad value for `"+type+"."+key+"`")}}for(const key in fields){if(hasOwnProperty$6.call(fields,key)&&hasOwnProperty$6.call(node,key)===false){warn(node,"Field `"+type+"."+key+"` is missed")}}}}function processStructure(name,nodeType){const structure=nodeType.structure;const fields={type:String,loc:true};const docs={type:'"'+name+'"'};for(const key in structure){if(hasOwnProperty$6.call(structure,key)===false){continue}const docsTypes=[];const fieldTypes=fields[key]=Array.isArray(structure[key])?structure[key].slice():[structure[key]];for(let i=0;i<fieldTypes.length;i++){const fieldType=fieldTypes[i];if(fieldType===String||fieldType===Boolean){docsTypes.push(fieldType.name)}else if(fieldType===null){docsTypes.push("null")}else if(typeof fieldType==="string"){docsTypes.push("<"+fieldType+">")}else if(Array.isArray(fieldType)){docsTypes.push("List")}else{throw new Error("Wrong value `"+fieldType+"` in `"+name+"."+key+"` structure definition")}}docs[key]=docsTypes.join(" | ")}return{docs:docs,check:createNodeStructureChecker(name,fields)}}function getStructureFromConfig(config){const structure={};if(config.node){for(const name in config.node){if(hasOwnProperty$6.call(config.node,name)){const nodeType=config.node[name];if(nodeType.structure){structure[name]=processStructure(name,nodeType)}else{throw new Error("Missed `structure` field in `"+name+"` node type definition")}}}}return structure}structure$F.getStructureFromConfig=getStructureFromConfig;var walk$5={};const noop=function(){};function ensureFunction(value){return typeof value==="function"?value:noop}function walk$4(node,options,context){function walk(node){enter.call(context,node);switch(node.type){case"Group":node.terms.forEach(walk);break;case"Multiplier":walk(node.term);break;case"Type":case"Property":case"Keyword":case"AtKeyword":case"Function":case"String":case"Token":case"Comma":break;default:throw new Error("Unknown type: "+node.type)}leave.call(context,node)}let enter=noop;let leave=noop;if(typeof options==="function"){enter=options}else if(options){enter=ensureFunction(options.enter);leave=ensureFunction(options.leave)}if(enter===noop&&leave===noop){throw new Error("Neither `enter` nor `leave` walker handler is set or both aren't a function")}walk(node)}walk$5.walk=walk$4;const error$1=error$2;const names$3=names$4;const genericConst=genericConst$2;const generic=generic$1;const prepareTokens=prepareTokens_1;const matchGraph=matchGraph$2;const match=match$1;const trace=trace$1;const search=search$1;const structure$E=structure$F;const parse$I=parse$L;const generate$I=generate$L;const walk$3=walk$5;const cssWideKeywordsSyntax=matchGraph.buildMatchGraph(genericConst.cssWideKeywords.join(" | "));function dumpMapSyntax(map,compact,syntaxAsAst){const result={};for(const name in map){if(map[name].syntax){result[name]=syntaxAsAst?map[name].syntax:generate$I.generate(map[name].syntax,{compact:compact})}}return result}function dumpAtruleMapSyntax(map,compact,syntaxAsAst){const result={};for(const[name,atrule]of Object.entries(map)){result[name]={prelude:atrule.prelude&&(syntaxAsAst?atrule.prelude.syntax:generate$I.generate(atrule.prelude.syntax,{compact:compact})),descriptors:atrule.descriptors&&dumpMapSyntax(atrule.descriptors,compact,syntaxAsAst)}}return result}function valueHasVar(tokens){for(let i=0;i<tokens.length;i++){if(tokens[i].value.toLowerCase()==="var("){return true}}return false}function buildMatchResult(matched,error,iterations){return{matched:matched,iterations:iterations,error:error,...trace}}function matchSyntax(lexer,syntax,value,useCssWideKeywords){const tokens=prepareTokens(value,lexer.syntax);let result;if(valueHasVar(tokens)){return buildMatchResult(null,new Error("Matching for a tree with var() is not supported"))}if(useCssWideKeywords){result=match.matchAsTree(tokens,lexer.cssWideKeywordsSyntax,lexer)}if(!useCssWideKeywords||!result.match){result=match.matchAsTree(tokens,syntax.match,lexer);if(!result.match){return buildMatchResult(null,new error$1.SyntaxMatchError(result.reason,syntax.syntax,value,result),result.iterations)}}return buildMatchResult(result.match,null,result.iterations)}class Lexer$2{constructor(config,syntax,structure$1){this.cssWideKeywordsSyntax=cssWideKeywordsSyntax;this.syntax=syntax;this.generic=false;this.atrules=Object.create(null);this.properties=Object.create(null);this.types=Object.create(null);this.structure=structure$1||structure$E.getStructureFromConfig(config);if(config){if(config.types){for(const name in config.types){this.addType_(name,config.types[name])}}if(config.generic){this.generic=true;for(const name in generic){this.addType_(name,generic[name])}}if(config.atrules){for(const name in config.atrules){this.addAtrule_(name,config.atrules[name])}}if(config.properties){for(const name in config.properties){this.addProperty_(name,config.properties[name])}}}}checkStructure(ast){function collectWarning(node,message){warns.push({node:node,message:message})}const structure=this.structure;const warns=[];this.syntax.walk(ast,(function(node){if(structure.hasOwnProperty(node.type)){structure[node.type].check(node,collectWarning)}else{collectWarning(node,"Unknown node type `"+node.type+"`")}}));return warns.length?warns:false}createDescriptor(syntax,type,name,parent=null){const ref={type:type,name:name};const descriptor={type:type,name:name,parent:parent,serializable:typeof syntax==="string"||syntax&&typeof syntax.type==="string",syntax:null,match:null};if(typeof syntax==="function"){descriptor.match=matchGraph.buildMatchGraph(syntax,ref)}else{if(typeof syntax==="string"){Object.defineProperty(descriptor,"syntax",{get(){Object.defineProperty(descriptor,"syntax",{value:parse$I.parse(syntax)});return descriptor.syntax}})}else{descriptor.syntax=syntax}Object.defineProperty(descriptor,"match",{get(){Object.defineProperty(descriptor,"match",{value:matchGraph.buildMatchGraph(descriptor.syntax,ref)});return descriptor.match}})}return descriptor}addAtrule_(name,syntax){if(!syntax){return}this.atrules[name]={type:"Atrule",name:name,prelude:syntax.prelude?this.createDescriptor(syntax.prelude,"AtrulePrelude",name):null,descriptors:syntax.descriptors?Object.keys(syntax.descriptors).reduce(((map,descName)=>{map[descName]=this.createDescriptor(syntax.descriptors[descName],"AtruleDescriptor",descName,name);return map}),Object.create(null)):null}}addProperty_(name,syntax){if(!syntax){return}this.properties[name]=this.createDescriptor(syntax,"Property",name)}addType_(name,syntax){if(!syntax){return}this.types[name]=this.createDescriptor(syntax,"Type",name)}checkAtruleName(atruleName){if(!this.getAtrule(atruleName)){return new error$1.SyntaxReferenceError("Unknown at-rule","@"+atruleName)}}checkAtrulePrelude(atruleName,prelude){const error=this.checkAtruleName(atruleName);if(error){return error}const atrule=this.getAtrule(atruleName);if(!atrule.prelude&&prelude){return new SyntaxError("At-rule `@"+atruleName+"` should not contain a prelude")}if(atrule.prelude&&!prelude){if(!matchSyntax(this,atrule.prelude,"",false).matched){return new SyntaxError("At-rule `@"+atruleName+"` should contain a prelude")}}}checkAtruleDescriptorName(atruleName,descriptorName){const error$1$1=this.checkAtruleName(atruleName);if(error$1$1){return error$1$1}const atrule=this.getAtrule(atruleName);const descriptor=names$3.keyword(descriptorName);if(!atrule.descriptors){return new SyntaxError("At-rule `@"+atruleName+"` has no known descriptors")}if(!atrule.descriptors[descriptor.name]&&!atrule.descriptors[descriptor.basename]){return new error$1.SyntaxReferenceError("Unknown at-rule descriptor",descriptorName)}}checkPropertyName(propertyName){if(!this.getProperty(propertyName)){return new error$1.SyntaxReferenceError("Unknown property",propertyName)}}matchAtrulePrelude(atruleName,prelude){const error=this.checkAtrulePrelude(atruleName,prelude);if(error){return buildMatchResult(null,error)}const atrule=this.getAtrule(atruleName);if(!atrule.prelude){return buildMatchResult(null,null)}return matchSyntax(this,atrule.prelude,prelude||"",false)}matchAtruleDescriptor(atruleName,descriptorName,value){const error=this.checkAtruleDescriptorName(atruleName,descriptorName);if(error){return buildMatchResult(null,error)}const atrule=this.getAtrule(atruleName);const descriptor=names$3.keyword(descriptorName);return matchSyntax(this,atrule.descriptors[descriptor.name]||atrule.descriptors[descriptor.basename],value,false)}matchDeclaration(node){if(node.type!=="Declaration"){return buildMatchResult(null,new Error("Not a Declaration node"))}return this.matchProperty(node.property,node.value)}matchProperty(propertyName,value){if(names$3.property(propertyName).custom){return buildMatchResult(null,new Error("Lexer matching doesn't applicable for custom properties"))}const error=this.checkPropertyName(propertyName);if(error){return buildMatchResult(null,error)}return matchSyntax(this,this.getProperty(propertyName),value,true)}matchType(typeName,value){const typeSyntax=this.getType(typeName);if(!typeSyntax){return buildMatchResult(null,new error$1.SyntaxReferenceError("Unknown type",typeName))}return matchSyntax(this,typeSyntax,value,false)}match(syntax,value){if(typeof syntax!=="string"&&(!syntax||!syntax.type)){return buildMatchResult(null,new error$1.SyntaxReferenceError("Bad syntax"))}if(typeof syntax==="string"||!syntax.match){syntax=this.createDescriptor(syntax,"Type","anonymous")}return matchSyntax(this,syntax,value,false)}findValueFragments(propertyName,value,type,name){return search.matchFragments(this,value,this.matchProperty(propertyName,value),type,name)}findDeclarationValueFragments(declaration,type,name){return search.matchFragments(this,declaration.value,this.matchDeclaration(declaration),type,name)}findAllFragments(ast,type,name){const result=[];this.syntax.walk(ast,{visit:"Declaration",enter:declaration=>{result.push.apply(result,this.findDeclarationValueFragments(declaration,type,name))}});return result}getAtrule(atruleName,fallbackBasename=true){const atrule=names$3.keyword(atruleName);const atruleEntry=atrule.vendor&&fallbackBasename?this.atrules[atrule.name]||this.atrules[atrule.basename]:this.atrules[atrule.name];return atruleEntry||null}getAtrulePrelude(atruleName,fallbackBasename=true){const atrule=this.getAtrule(atruleName,fallbackBasename);return atrule&&atrule.prelude||null}getAtruleDescriptor(atruleName,name){return this.atrules.hasOwnProperty(atruleName)&&this.atrules.declarators?this.atrules[atruleName].declarators[name]||null:null}getProperty(propertyName,fallbackBasename=true){const property=names$3.property(propertyName);const propertyEntry=property.vendor&&fallbackBasename?this.properties[property.name]||this.properties[property.basename]:this.properties[property.name];return propertyEntry||null}getType(name){return hasOwnProperty.call(this.types,name)?this.types[name]:null}validate(){function validate(syntax,name,broken,descriptor){if(broken.has(name)){return broken.get(name)}broken.set(name,false);if(descriptor.syntax!==null){walk$3.walk(descriptor.syntax,(function(node){if(node.type!=="Type"&&node.type!=="Property"){return}const map=node.type==="Type"?syntax.types:syntax.properties;const brokenMap=node.type==="Type"?brokenTypes:brokenProperties;if(!hasOwnProperty.call(map,node.name)||validate(syntax,node.name,brokenMap,map[node.name])){broken.set(name,true)}}),this)}}let brokenTypes=new Map;let brokenProperties=new Map;for(const key in this.types){validate(this,key,brokenTypes,this.types[key])}for(const key in this.properties){validate(this,key,brokenProperties,this.properties[key])}brokenTypes=[...brokenTypes.keys()].filter((name=>brokenTypes.get(name)));brokenProperties=[...brokenProperties.keys()].filter((name=>brokenProperties.get(name)));if(brokenTypes.length||brokenProperties.length){return{types:brokenTypes,properties:brokenProperties}}return null}dump(syntaxAsAst,pretty){return{generic:this.generic,types:dumpMapSyntax(this.types,!pretty,syntaxAsAst),properties:dumpMapSyntax(this.properties,!pretty,syntaxAsAst),atrules:dumpAtruleMapSyntax(this.atrules,!pretty,syntaxAsAst)}}toString(){return JSON.stringify(this.dump())}}Lexer$3.Lexer=Lexer$2;const{hasOwnProperty:hasOwnProperty$5}=Object.prototype;const shape={generic:true,types:appendOrAssign,atrules:{prelude:appendOrAssignOrNull,descriptors:appendOrAssignOrNull},properties:appendOrAssign,parseContext:assign,scope:deepAssign,atrule:["parse"],pseudo:["parse"],node:["name","structure","parse","generate","walkContext"]};function isObject(value){return value&&value.constructor===Object}function copy(value){return isObject(value)?{...value}:value}function assign(dest,src){return Object.assign(dest,src)}function deepAssign(dest,src){for(const key in src){if(hasOwnProperty$5.call(src,key)){if(isObject(dest[key])){deepAssign(dest[key],src[key])}else{dest[key]=copy(src[key])}}}return dest}function append(a,b){if(typeof b==="string"&&/^\s*\|/.test(b)){return typeof a==="string"?a+b:b.replace(/^\s*\|\s*/,"")}return b||null}function appendOrAssign(a,b){if(typeof b==="string"){return append(a,b)}const result={...a};for(let key in b){if(hasOwnProperty$5.call(b,key)){result[key]=append(hasOwnProperty$5.call(a,key)?a[key]:undefined,b[key])}}return result}function appendOrAssignOrNull(a,b){const result=appendOrAssign(a,b);return!isObject(result)||Object.keys(result).length?result:null}function mix$1(dest,src,shape){for(const key in shape){if(hasOwnProperty$5.call(shape,key)===false){continue}if(shape[key]===true){if(hasOwnProperty$5.call(src,key)){dest[key]=copy(src[key])}}else if(shape[key]){if(typeof shape[key]==="function"){const fn=shape[key];dest[key]=fn({},dest[key]);dest[key]=fn(dest[key]||{},src[key])}else if(isObject(shape[key])){const result={};for(let name in dest[key]){result[name]=mix$1({},dest[key][name],shape[key])}for(let name in src[key]){result[name]=mix$1(result[name]||{},src[key][name],shape[key])}dest[key]=result}else if(Array.isArray(shape[key])){const res={};const innerShape=shape[key].reduce((function(s,k){s[k]=true;return s}),{});for(const[name,value]of Object.entries(dest[key]||{})){res[name]={};if(value){mix$1(res[name],value,innerShape)}}for(const name in src[key]){if(hasOwnProperty$5.call(src[key],name)){if(!res[name]){res[name]={}}if(src[key]&&src[key][name]){mix$1(res[name],src[key][name],innerShape)}}}dest[key]=res}}}return dest}const mix$1$1=(dest,src)=>mix$1(dest,src,shape);var mix_1=mix$1$1;const index$8=tokenizer$2;const create$2=create$7;const create$2$1=create$6;const create$3=create$5;const create$1$1=create$4;const Lexer$1=Lexer$3;const mix=mix_1;function createSyntax(config){const parse=create$2.createParser(config);const walk=create$1$1.createWalker(config);const generate=create$2$1.createGenerator(config);const{fromPlainObject:fromPlainObject,toPlainObject:toPlainObject}=create$3.createConvertor(walk);const syntax={lexer:null,createLexer:config=>new Lexer$1.Lexer(config,syntax,syntax.lexer.structure),tokenize:index$8.tokenize,parse:parse,generate:generate,walk:walk,find:walk.find,findLast:walk.findLast,findAll:walk.findAll,fromPlainObject:fromPlainObject,toPlainObject:toPlainObject,fork(extension){const base=mix({},config);return createSyntax(typeof extension==="function"?extension(base,Object.assign):mix(base,extension))}};syntax.lexer=new Lexer$1.Lexer({generic:true,types:config.types,atrules:config.atrules,properties:config.properties,node:config.node},syntax);return syntax}const createSyntax$1=config=>createSyntax(mix({},config));var create_1=createSyntax$1;var data$1={generic:true,types:{"absolute-size":"xx-small|x-small|small|medium|large|x-large|xx-large|xxx-large","alpha-value":"<number>|<percentage>","angle-percentage":"<angle>|<percentage>","angular-color-hint":"<angle-percentage>","angular-color-stop":"<color>&&<color-stop-angle>?","angular-color-stop-list":"[<angular-color-stop> [, <angular-color-hint>]?]# , <angular-color-stop>","animateable-feature":"scroll-position|contents|<custom-ident>",attachment:"scroll|fixed|local","attr()":"attr( <attr-name> <type-or-unit>? [, <attr-fallback>]? )","attr-matcher":"['~'|'|'|'^'|'$'|'*']? '='","attr-modifier":"i|s","attribute-selector":"'[' <wq-name> ']'|'[' <wq-name> <attr-matcher> [<string-token>|<ident-token>] <attr-modifier>? ']'","auto-repeat":"repeat( [auto-fill|auto-fit] , [<line-names>? <fixed-size>]+ <line-names>? )","auto-track-list":"[<line-names>? [<fixed-size>|<fixed-repeat>]]* <line-names>? <auto-repeat> [<line-names>? [<fixed-size>|<fixed-repeat>]]* <line-names>?","baseline-position":"[first|last]? baseline","basic-shape":"<inset()>|<circle()>|<ellipse()>|<polygon()>|<path()>","bg-image":"none|<image>","bg-layer":"<bg-image>||<bg-position> [/ <bg-size>]?||<repeat-style>||<attachment>||<box>||<box>","bg-position":"[[left|center|right|top|bottom|<length-percentage>]|[left|center|right|<length-percentage>] [top|center|bottom|<length-percentage>]|[center|[left|right] <length-percentage>?]&&[center|[top|bottom] <length-percentage>?]]","bg-size":"[<length-percentage>|auto]{1,2}|cover|contain","blur()":"blur( <length> )","blend-mode":"normal|multiply|screen|overlay|darken|lighten|color-dodge|color-burn|hard-light|soft-light|difference|exclusion|hue|saturation|color|luminosity",box:"border-box|padding-box|content-box","brightness()":"brightness( <number-percentage> )","calc()":"calc( <calc-sum> )","calc-sum":"<calc-product> [['+'|'-'] <calc-product>]*","calc-product":"<calc-value> ['*' <calc-value>|'/' <number>]*","calc-value":"<number>|<dimension>|<percentage>|( <calc-sum> )","cf-final-image":"<image>|<color>","cf-mixing-image":"<percentage>?&&<image>","circle()":"circle( [<shape-radius>]? [at <position>]? )","clamp()":"clamp( <calc-sum>#{3} )","class-selector":"'.' <ident-token>","clip-source":"<url>",color:"<rgb()>|<rgba()>|<hsl()>|<hsla()>|<hwb()>|<lab()>|<lch()>|<hex-color>|<named-color>|currentcolor|<deprecated-system-color>","color-stop":"<color-stop-length>|<color-stop-angle>","color-stop-angle":"<angle-percentage>{1,2}","color-stop-length":"<length-percentage>{1,2}","color-stop-list":"[<linear-color-stop> [, <linear-color-hint>]?]# , <linear-color-stop>",combinator:"'>'|'+'|'~'|['||']","common-lig-values":"[common-ligatures|no-common-ligatures]","compat-auto":"searchfield|textarea|push-button|slider-horizontal|checkbox|radio|square-button|menulist|listbox|meter|progress-bar|button","composite-style":"clear|copy|source-over|source-in|source-out|source-atop|destination-over|destination-in|destination-out|destination-atop|xor","compositing-operator":"add|subtract|intersect|exclude","compound-selector":"[<type-selector>? <subclass-selector>* [<pseudo-element-selector> <pseudo-class-selector>*]*]!","compound-selector-list":"<compound-selector>#","complex-selector":"<compound-selector> [<combinator>? <compound-selector>]*","complex-selector-list":"<complex-selector>#","conic-gradient()":"conic-gradient( [from <angle>]? [at <position>]? , <angular-color-stop-list> )","contextual-alt-values":"[contextual|no-contextual]","content-distribution":"space-between|space-around|space-evenly|stretch","content-list":"[<string>|contents|<image>|<counter>|<quote>|<target>|<leader()>|<attr()>]+","content-position":"center|start|end|flex-start|flex-end","content-replacement":"<image>","contrast()":"contrast( [<number-percentage>] )",counter:"<counter()>|<counters()>","counter()":"counter( <counter-name> , <counter-style>? )","counter-name":"<custom-ident>","counter-style":"<counter-style-name>|symbols( )","counter-style-name":"<custom-ident>","counters()":"counters( <counter-name> , <string> , <counter-style>? )","cross-fade()":"cross-fade( <cf-mixing-image> , <cf-final-image>? )","cubic-bezier-timing-function":"ease|ease-in|ease-out|ease-in-out|cubic-bezier( <number [0,1]> , <number> , <number [0,1]> , <number> )","deprecated-system-color":"ActiveBorder|ActiveCaption|AppWorkspace|Background|ButtonFace|ButtonHighlight|ButtonShadow|ButtonText|CaptionText|GrayText|Highlight|HighlightText|InactiveBorder|InactiveCaption|InactiveCaptionText|InfoBackground|InfoText|Menu|MenuText|Scrollbar|ThreeDDarkShadow|ThreeDFace|ThreeDHighlight|ThreeDLightShadow|ThreeDShadow|Window|WindowFrame|WindowText","discretionary-lig-values":"[discretionary-ligatures|no-discretionary-ligatures]","display-box":"contents|none","display-inside":"flow|flow-root|table|flex|grid|ruby","display-internal":"table-row-group|table-header-group|table-footer-group|table-row|table-cell|table-column-group|table-column|table-caption|ruby-base|ruby-text|ruby-base-container|ruby-text-container","display-legacy":"inline-block|inline-list-item|inline-table|inline-flex|inline-grid","display-listitem":"<display-outside>?&&[flow|flow-root]?&&list-item","display-outside":"block|inline|run-in","drop-shadow()":"drop-shadow( <length>{2,3} <color>? )","east-asian-variant-values":"[jis78|jis83|jis90|jis04|simplified|traditional]","east-asian-width-values":"[full-width|proportional-width]","element()":"element( <custom-ident> , [first|start|last|first-except]? )|element( <id-selector> )","ellipse()":"ellipse( [<shape-radius>{2}]? [at <position>]? )","ending-shape":"circle|ellipse","env()":"env( <custom-ident> , <declaration-value>? )","explicit-track-list":"[<line-names>? <track-size>]+ <line-names>?","family-name":"<string>|<custom-ident>+","feature-tag-value":"<string> [<integer>|on|off]?","feature-type":"@stylistic|@historical-forms|@styleset|@character-variant|@swash|@ornaments|@annotation","feature-value-block":"<feature-type> '{' <feature-value-declaration-list> '}'","feature-value-block-list":"<feature-value-block>+","feature-value-declaration":"<custom-ident> : <integer>+ ;","feature-value-declaration-list":"<feature-value-declaration>","feature-value-name":"<custom-ident>","fill-rule":"nonzero|evenodd","filter-function":"<blur()>|<brightness()>|<contrast()>|<drop-shadow()>|<grayscale()>|<hue-rotate()>|<invert()>|<opacity()>|<saturate()>|<sepia()>","filter-function-list":"[<filter-function>|<url>]+","final-bg-layer":"<'background-color'>||<bg-image>||<bg-position> [/ <bg-size>]?||<repeat-style>||<attachment>||<box>||<box>","fit-content()":"fit-content( [<length>|<percentage>] )","fixed-breadth":"<length-percentage>","fixed-repeat":"repeat( [<integer [1,∞]>] , [<line-names>? <fixed-size>]+ <line-names>? )","fixed-size":"<fixed-breadth>|minmax( <fixed-breadth> , <track-breadth> )|minmax( <inflexible-breadth> , <fixed-breadth> )","font-stretch-absolute":"normal|ultra-condensed|extra-condensed|condensed|semi-condensed|semi-expanded|expanded|extra-expanded|ultra-expanded|<percentage>","font-variant-css21":"[normal|small-caps]","font-weight-absolute":"normal|bold|<number [1,1000]>","frequency-percentage":"<frequency>|<percentage>","general-enclosed":"[<function-token> <any-value> )]|( <ident> <any-value> )","generic-family":"serif|sans-serif|cursive|fantasy|monospace|-apple-system","generic-name":"serif|sans-serif|cursive|fantasy|monospace","geometry-box":"<shape-box>|fill-box|stroke-box|view-box",gradient:"<linear-gradient()>|<repeating-linear-gradient()>|<radial-gradient()>|<repeating-radial-gradient()>|<conic-gradient()>|<repeating-conic-gradient()>|<-legacy-gradient>","grayscale()":"grayscale( <number-percentage> )","grid-line":"auto|<custom-ident>|[<integer>&&<custom-ident>?]|[span&&[<integer>||<custom-ident>]]","historical-lig-values":"[historical-ligatures|no-historical-ligatures]","hsl()":"hsl( <hue> <percentage> <percentage> [/ <alpha-value>]? )|hsl( <hue> , <percentage> , <percentage> , <alpha-value>? )","hsla()":"hsla( <hue> <percentage> <percentage> [/ <alpha-value>]? )|hsla( <hue> , <percentage> , <percentage> , <alpha-value>? )",hue:"<number>|<angle>","hue-rotate()":"hue-rotate( <angle> )","hwb()":"hwb( [<hue>|none] [<percentage>|none] [<percentage>|none] [/ [<alpha-value>|none]]? )",image:"<url>|<image()>|<image-set()>|<element()>|<paint()>|<cross-fade()>|<gradient>","image()":"image( <image-tags>? [<image-src>? , <color>?]! )","image-set()":"image-set( <image-set-option># )","image-set-option":"[<image>|<string>] [<resolution>||type( <string> )]","image-src":"<url>|<string>","image-tags":"ltr|rtl","inflexible-breadth":"<length>|<percentage>|min-content|max-content|auto","inset()":"inset( <length-percentage>{1,4} [round <'border-radius'>]? )","invert()":"invert( <number-percentage> )","keyframes-name":"<custom-ident>|<string>","keyframe-block":"<keyframe-selector># { <declaration-list> }","keyframe-block-list":"<keyframe-block>+","keyframe-selector":"from|to|<percentage>","layer()":"layer( <layer-name> )","layer-name":"<ident> ['.' <ident>]*","leader()":"leader( <leader-type> )","leader-type":"dotted|solid|space|<string>","length-percentage":"<length>|<percentage>","line-names":"'[' <custom-ident>* ']'","line-name-list":"[<line-names>|<name-repeat>]+","line-style":"none|hidden|dotted|dashed|solid|double|groove|ridge|inset|outset","line-width":"<length>|thin|medium|thick","linear-color-hint":"<length-percentage>","linear-color-stop":"<color> <color-stop-length>?","linear-gradient()":"linear-gradient( [<angle>|to <side-or-corner>]? , <color-stop-list> )","mask-layer":"<mask-reference>||<position> [/ <bg-size>]?||<repeat-style>||<geometry-box>||[<geometry-box>|no-clip]||<compositing-operator>||<masking-mode>","mask-position":"[<length-percentage>|left|center|right] [<length-percentage>|top|center|bottom]?","mask-reference":"none|<image>|<mask-source>","mask-source":"<url>","masking-mode":"alpha|luminance|match-source","matrix()":"matrix( <number>#{6} )","matrix3d()":"matrix3d( <number>#{16} )","max()":"max( <calc-sum># )","media-and":"<media-in-parens> [and <media-in-parens>]+","media-condition":"<media-not>|<media-and>|<media-or>|<media-in-parens>","media-condition-without-or":"<media-not>|<media-and>|<media-in-parens>","media-feature":"( [<mf-plain>|<mf-boolean>|<mf-range>] )","media-in-parens":"( <media-condition> )|<media-feature>|<general-enclosed>","media-not":"not <media-in-parens>","media-or":"<media-in-parens> [or <media-in-parens>]+","media-query":"<media-condition>|[not|only]? <media-type> [and <media-condition-without-or>]?","media-query-list":"<media-query>#","media-type":"<ident>","mf-boolean":"<mf-name>","mf-name":"<ident>","mf-plain":"<mf-name> : <mf-value>","mf-range":"<mf-name> ['<'|'>']? '='? <mf-value>|<mf-value> ['<'|'>']? '='? <mf-name>|<mf-value> '<' '='? <mf-name> '<' '='? <mf-value>|<mf-value> '>' '='? <mf-name> '>' '='? <mf-value>","mf-value":"<number>|<dimension>|<ident>|<ratio>","min()":"min( <calc-sum># )","minmax()":"minmax( [<length>|<percentage>|min-content|max-content|auto] , [<length>|<percentage>|<flex>|min-content|max-content|auto] )","name-repeat":"repeat( [<integer [1,∞]>|auto-fill] , <line-names>+ )","named-color":"transparent|aliceblue|antiquewhite|aqua|aquamarine|azure|beige|bisque|black|blanchedalmond|blue|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkgrey|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen|fuchsia|gainsboro|ghostwhite|gold|goldenrod|gray|green|greenyellow|grey|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|lightyellow|lime|limegreen|linen|magenta|maroon|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|navy|oldlace|olive|olivedrab|orange|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|purple|rebeccapurple|red|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|silver|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|teal|thistle|tomato|turquoise|violet|wheat|white|whitesmoke|yellow|yellowgreen|<-non-standard-color>","namespace-prefix":"<ident>","ns-prefix":"[<ident-token>|'*']? '|'","number-percentage":"<number>|<percentage>","numeric-figure-values":"[lining-nums|oldstyle-nums]","numeric-fraction-values":"[diagonal-fractions|stacked-fractions]","numeric-spacing-values":"[proportional-nums|tabular-nums]",nth:"<an-plus-b>|even|odd","opacity()":"opacity( [<number-percentage>] )","overflow-position":"unsafe|safe","outline-radius":"<length>|<percentage>","page-body":"<declaration>? [; <page-body>]?|<page-margin-box> <page-body>","page-margin-box":"<page-margin-box-type> '{' <declaration-list> '}'","page-margin-box-type":"@top-left-corner|@top-left|@top-center|@top-right|@top-right-corner|@bottom-left-corner|@bottom-left|@bottom-center|@bottom-right|@bottom-right-corner|@left-top|@left-middle|@left-bottom|@right-top|@right-middle|@right-bottom","page-selector-list":"[<page-selector>#]?","page-selector":"<pseudo-page>+|<ident> <pseudo-page>*","page-size":"A5|A4|A3|B5|B4|JIS-B5|JIS-B4|letter|legal|ledger","path()":"path( [<fill-rule> ,]? <string> )","paint()":"paint( <ident> , <declaration-value>? )","perspective()":"perspective( <length> )","polygon()":"polygon( <fill-rule>? , [<length-percentage> <length-percentage>]# )",position:"[[left|center|right]||[top|center|bottom]|[left|center|right|<length-percentage>] [top|center|bottom|<length-percentage>]?|[[left|right] <length-percentage>]&&[[top|bottom] <length-percentage>]]","pseudo-class-selector":"':' <ident-token>|':' <function-token> <any-value> ')'","pseudo-element-selector":"':' <pseudo-class-selector>","pseudo-page":": [left|right|first|blank]",quote:"open-quote|close-quote|no-open-quote|no-close-quote","radial-gradient()":"radial-gradient( [<ending-shape>||<size>]? [at <position>]? , <color-stop-list> )","relative-selector":"<combinator>? <complex-selector>","relative-selector-list":"<relative-selector>#","relative-size":"larger|smaller","repeat-style":"repeat-x|repeat-y|[repeat|space|round|no-repeat]{1,2}","repeating-conic-gradient()":"repeating-conic-gradient( [from <angle>]? [at <position>]? , <angular-color-stop-list> )","repeating-linear-gradient()":"repeating-linear-gradient( [<angle>|to <side-or-corner>]? , <color-stop-list> )","repeating-radial-gradient()":"repeating-radial-gradient( [<ending-shape>||<size>]? [at <position>]? , <color-stop-list> )","rgb()":"rgb( <percentage>{3} [/ <alpha-value>]? )|rgb( <number>{3} [/ <alpha-value>]? )|rgb( <percentage>#{3} , <alpha-value>? )|rgb( <number>#{3} , <alpha-value>? )","rgba()":"rgba( <percentage>{3} [/ <alpha-value>]? )|rgba( <number>{3} [/ <alpha-value>]? )|rgba( <percentage>#{3} , <alpha-value>? )|rgba( <number>#{3} , <alpha-value>? )","rotate()":"rotate( [<angle>|<zero>] )","rotate3d()":"rotate3d( <number> , <number> , <number> , [<angle>|<zero>] )","rotateX()":"rotateX( [<angle>|<zero>] )","rotateY()":"rotateY( [<angle>|<zero>] )","rotateZ()":"rotateZ( [<angle>|<zero>] )","saturate()":"saturate( <number-percentage> )","scale()":"scale( <number> , <number>? )","scale3d()":"scale3d( <number> , <number> , <number> )","scaleX()":"scaleX( <number> )","scaleY()":"scaleY( <number> )","scaleZ()":"scaleZ( <number> )","self-position":"center|start|end|self-start|self-end|flex-start|flex-end","shape-radius":"<length-percentage>|closest-side|farthest-side","skew()":"skew( [<angle>|<zero>] , [<angle>|<zero>]? )","skewX()":"skewX( [<angle>|<zero>] )","skewY()":"skewY( [<angle>|<zero>] )","sepia()":"sepia( <number-percentage> )",shadow:"inset?&&<length>{2,4}&&<color>?","shadow-t":"[<length>{2,3}&&<color>?]",shape:"rect( <top> , <right> , <bottom> , <left> )|rect( <top> <right> <bottom> <left> )","shape-box":"<box>|margin-box","side-or-corner":"[left|right]||[top|bottom]","single-animation":"<time>||<easing-function>||<time>||<single-animation-iteration-count>||<single-animation-direction>||<single-animation-fill-mode>||<single-animation-play-state>||[none|<keyframes-name>]","single-animation-direction":"normal|reverse|alternate|alternate-reverse","single-animation-fill-mode":"none|forwards|backwards|both","single-animation-iteration-count":"infinite|<number>","single-animation-play-state":"running|paused","single-animation-timeline":"auto|none|<timeline-name>","single-transition":"[none|<single-transition-property>]||<time>||<easing-function>||<time>","single-transition-property":"all|<custom-ident>",size:"closest-side|farthest-side|closest-corner|farthest-corner|<length>|<length-percentage>{2}","step-position":"jump-start|jump-end|jump-none|jump-both|start|end","step-timing-function":"step-start|step-end|steps( <integer> [, <step-position>]? )","subclass-selector":"<id-selector>|<class-selector>|<attribute-selector>|<pseudo-class-selector>","supports-condition":"not <supports-in-parens>|<supports-in-parens> [and <supports-in-parens>]*|<supports-in-parens> [or <supports-in-parens>]*","supports-in-parens":"( <supports-condition> )|<supports-feature>|<general-enclosed>","supports-feature":"<supports-decl>|<supports-selector-fn>","supports-decl":"( <declaration> )","supports-selector-fn":"selector( <complex-selector> )",symbol:"<string>|<image>|<custom-ident>",target:"<target-counter()>|<target-counters()>|<target-text()>","target-counter()":"target-counter( [<string>|<url>] , <custom-ident> , <counter-style>? )","target-counters()":"target-counters( [<string>|<url>] , <custom-ident> , <string> , <counter-style>? )","target-text()":"target-text( [<string>|<url>] , [content|before|after|first-letter]? )","time-percentage":"<time>|<percentage>","timeline-name":"<custom-ident>|<string>","easing-function":"linear|<cubic-bezier-timing-function>|<step-timing-function>","track-breadth":"<length-percentage>|<flex>|min-content|max-content|auto","track-list":"[<line-names>? [<track-size>|<track-repeat>]]+ <line-names>?","track-repeat":"repeat( [<integer [1,∞]>] , [<line-names>? <track-size>]+ <line-names>? )","track-size":"<track-breadth>|minmax( <inflexible-breadth> , <track-breadth> )|fit-content( [<length>|<percentage>] )","transform-function":"<matrix()>|<translate()>|<translateX()>|<translateY()>|<scale()>|<scaleX()>|<scaleY()>|<rotate()>|<skew()>|<skewX()>|<skewY()>|<matrix3d()>|<translate3d()>|<translateZ()>|<scale3d()>|<scaleZ()>|<rotate3d()>|<rotateX()>|<rotateY()>|<rotateZ()>|<perspective()>","transform-list":"<transform-function>+","translate()":"translate( <length-percentage> , <length-percentage>? )","translate3d()":"translate3d( <length-percentage> , <length-percentage> , <length> )","translateX()":"translateX( <length-percentage> )","translateY()":"translateY( <length-percentage> )","translateZ()":"translateZ( <length> )","type-or-unit":"string|color|url|integer|number|length|angle|time|frequency|cap|ch|em|ex|ic|lh|rlh|rem|vb|vi|vw|vh|vmin|vmax|mm|Q|cm|in|pt|pc|px|deg|grad|rad|turn|ms|s|Hz|kHz|%","type-selector":"<wq-name>|<ns-prefix>? '*'","var()":"var( <custom-property-name> , <declaration-value>? )","viewport-length":"auto|<length-percentage>","visual-box":"content-box|padding-box|border-box","wq-name":"<ns-prefix>? <ident-token>","-legacy-gradient":"<-webkit-gradient()>|<-legacy-linear-gradient>|<-legacy-repeating-linear-gradient>|<-legacy-radial-gradient>|<-legacy-repeating-radial-gradient>","-legacy-linear-gradient":"-moz-linear-gradient( <-legacy-linear-gradient-arguments> )|-webkit-linear-gradient( <-legacy-linear-gradient-arguments> )|-o-linear-gradient( <-legacy-linear-gradient-arguments> )","-legacy-repeating-linear-gradient":"-moz-repeating-linear-gradient( <-legacy-linear-gradient-arguments> )|-webkit-repeating-linear-gradient( <-legacy-linear-gradient-arguments> )|-o-repeating-linear-gradient( <-legacy-linear-gradient-arguments> )","-legacy-linear-gradient-arguments":"[<angle>|<side-or-corner>]? , <color-stop-list>","-legacy-radial-gradient":"-moz-radial-gradient( <-legacy-radial-gradient-arguments> )|-webkit-radial-gradient( <-legacy-radial-gradient-arguments> )|-o-radial-gradient( <-legacy-radial-gradient-arguments> )","-legacy-repeating-radial-gradient":"-moz-repeating-radial-gradient( <-legacy-radial-gradient-arguments> )|-webkit-repeating-radial-gradient( <-legacy-radial-gradient-arguments> )|-o-repeating-radial-gradient( <-legacy-radial-gradient-arguments> )","-legacy-radial-gradient-arguments":"[<position> ,]? [[[<-legacy-radial-gradient-shape>||<-legacy-radial-gradient-size>]|[<length>|<percentage>]{2}] ,]? <color-stop-list>","-legacy-radial-gradient-size":"closest-side|closest-corner|farthest-side|farthest-corner|contain|cover","-legacy-radial-gradient-shape":"circle|ellipse","-non-standard-font":"-apple-system-body|-apple-system-headline|-apple-system-subheadline|-apple-system-caption1|-apple-system-caption2|-apple-system-footnote|-apple-system-short-body|-apple-system-short-headline|-apple-system-short-subheadline|-apple-system-short-caption1|-apple-system-short-footnote|-apple-system-tall-body","-non-standard-color":"-moz-ButtonDefault|-moz-ButtonHoverFace|-moz-ButtonHoverText|-moz-CellHighlight|-moz-CellHighlightText|-moz-Combobox|-moz-ComboboxText|-moz-Dialog|-moz-DialogText|-moz-dragtargetzone|-moz-EvenTreeRow|-moz-Field|-moz-FieldText|-moz-html-CellHighlight|-moz-html-CellHighlightText|-moz-mac-accentdarkestshadow|-moz-mac-accentdarkshadow|-moz-mac-accentface|-moz-mac-accentlightesthighlight|-moz-mac-accentlightshadow|-moz-mac-accentregularhighlight|-moz-mac-accentregularshadow|-moz-mac-chrome-active|-moz-mac-chrome-inactive|-moz-mac-focusring|-moz-mac-menuselect|-moz-mac-menushadow|-moz-mac-menutextselect|-moz-MenuHover|-moz-MenuHoverText|-moz-MenuBarText|-moz-MenuBarHoverText|-moz-nativehyperlinktext|-moz-OddTreeRow|-moz-win-communicationstext|-moz-win-mediatext|-moz-activehyperlinktext|-moz-default-background-color|-moz-default-color|-moz-hyperlinktext|-moz-visitedhyperlinktext|-webkit-activelink|-webkit-focus-ring-color|-webkit-link|-webkit-text","-non-standard-image-rendering":"optimize-contrast|-moz-crisp-edges|-o-crisp-edges|-webkit-optimize-contrast","-non-standard-overflow":"-moz-scrollbars-none|-moz-scrollbars-horizontal|-moz-scrollbars-vertical|-moz-hidden-unscrollable","-non-standard-width":"fill-available|min-intrinsic|intrinsic|-moz-available|-moz-fit-content|-moz-min-content|-moz-max-content|-webkit-min-content|-webkit-max-content","-webkit-gradient()":"-webkit-gradient( <-webkit-gradient-type> , <-webkit-gradient-point> [, <-webkit-gradient-point>|, <-webkit-gradient-radius> , <-webkit-gradient-point>] [, <-webkit-gradient-radius>]? [, <-webkit-gradient-color-stop>]* )","-webkit-gradient-color-stop":"from( <color> )|color-stop( [<number-zero-one>|<percentage>] , <color> )|to( <color> )","-webkit-gradient-point":"[left|center|right|<length-percentage>] [top|center|bottom|<length-percentage>]","-webkit-gradient-radius":"<length>|<percentage>","-webkit-gradient-type":"linear|radial","-webkit-mask-box-repeat":"repeat|stretch|round","-webkit-mask-clip-style":"border|border-box|padding|padding-box|content|content-box|text","-ms-filter-function-list":"<-ms-filter-function>+","-ms-filter-function":"<-ms-filter-function-progid>|<-ms-filter-function-legacy>","-ms-filter-function-progid":"'progid:' [<ident-token> '.']* [<ident-token>|<function-token> <any-value>? )]","-ms-filter-function-legacy":"<ident-token>|<function-token> <any-value>? )","-ms-filter":"<string>",age:"child|young|old","attr-name":"<wq-name>","attr-fallback":"<any-value>","bg-clip":"<box>|border|text","border-radius":"<length-percentage>{1,2}",bottom:"<length>|auto","generic-voice":"[<age>? <gender> <integer>?]",gender:"male|female|neutral","lab()":"lab( [<percentage>|<number>|none] [<percentage>|<number>|none] [<percentage>|<number>|none] [/ [<alpha-value>|none]]? )","lch()":"lch( [<percentage>|<number>|none] [<percentage>|<number>|none] [<hue>|none] [/ [<alpha-value>|none]]? )",left:"<length>|auto","mask-image":"<mask-reference>#",paint:"none|<color>|<url> [none|<color>]?|context-fill|context-stroke",ratio:"<number [0,∞]> [/ <number [0,∞]>]?","reversed-counter-name":"reversed( <counter-name> )",right:"<length>|auto","svg-length":"<percentage>|<length>|<number>","svg-writing-mode":"lr-tb|rl-tb|tb-rl|lr|rl|tb",top:"<length>|auto","track-group":"'(' [<string>* <track-minmax> <string>*]+ ')' ['[' <positive-integer> ']']?|<track-minmax>","track-list-v0":"[<string>* <track-group> <string>*]+|none","track-minmax":"minmax( <track-breadth> , <track-breadth> )|auto|<track-breadth>|fit-content",x:"<number>",y:"<number>",declaration:"<ident-token> : <declaration-value>? ['!' important]?","declaration-list":"[<declaration>? ';']* <declaration>?",url:"url( <string> <url-modifier>* )|<url-token>","url-modifier":"<ident>|<function-token> <any-value> )","number-zero-one":"<number [0,1]>","number-one-or-greater":"<number [1,∞]>","positive-integer":"<integer [0,∞]>","-non-standard-display":"-ms-inline-flexbox|-ms-grid|-ms-inline-grid|-webkit-flex|-webkit-inline-flex|-webkit-box|-webkit-inline-box|-moz-inline-stack|-moz-box|-moz-inline-box"},properties:{"--*":"<declaration-value>","-ms-accelerator":"false|true","-ms-block-progression":"tb|rl|bt|lr","-ms-content-zoom-chaining":"none|chained","-ms-content-zooming":"none|zoom","-ms-content-zoom-limit":"<'-ms-content-zoom-limit-min'> <'-ms-content-zoom-limit-max'>","-ms-content-zoom-limit-max":"<percentage>","-ms-content-zoom-limit-min":"<percentage>","-ms-content-zoom-snap":"<'-ms-content-zoom-snap-type'>||<'-ms-content-zoom-snap-points'>","-ms-content-zoom-snap-points":"snapInterval( <percentage> , <percentage> )|snapList( <percentage># )","-ms-content-zoom-snap-type":"none|proximity|mandatory","-ms-filter":"<string>","-ms-flow-from":"[none|<custom-ident>]#","-ms-flow-into":"[none|<custom-ident>]#","-ms-grid-columns":"none|<track-list>|<auto-track-list>","-ms-grid-rows":"none|<track-list>|<auto-track-list>","-ms-high-contrast-adjust":"auto|none","-ms-hyphenate-limit-chars":"auto|<integer>{1,3}","-ms-hyphenate-limit-lines":"no-limit|<integer>","-ms-hyphenate-limit-zone":"<percentage>|<length>","-ms-ime-align":"auto|after","-ms-overflow-style":"auto|none|scrollbar|-ms-autohiding-scrollbar","-ms-scrollbar-3dlight-color":"<color>","-ms-scrollbar-arrow-color":"<color>","-ms-scrollbar-base-color":"<color>","-ms-scrollbar-darkshadow-color":"<color>","-ms-scrollbar-face-color":"<color>","-ms-scrollbar-highlight-color":"<color>","-ms-scrollbar-shadow-color":"<color>","-ms-scrollbar-track-color":"<color>","-ms-scroll-chaining":"chained|none","-ms-scroll-limit":"<'-ms-scroll-limit-x-min'> <'-ms-scroll-limit-y-min'> <'-ms-scroll-limit-x-max'> <'-ms-scroll-limit-y-max'>","-ms-scroll-limit-x-max":"auto|<length>","-ms-scroll-limit-x-min":"<length>","-ms-scroll-limit-y-max":"auto|<length>","-ms-scroll-limit-y-min":"<length>","-ms-scroll-rails":"none|railed","-ms-scroll-snap-points-x":"snapInterval( <length-percentage> , <length-percentage> )|snapList( <length-percentage># )","-ms-scroll-snap-points-y":"snapInterval( <length-percentage> , <length-percentage> )|snapList( <length-percentage># )","-ms-scroll-snap-type":"none|proximity|mandatory","-ms-scroll-snap-x":"<'-ms-scroll-snap-type'> <'-ms-scroll-snap-points-x'>","-ms-scroll-snap-y":"<'-ms-scroll-snap-type'> <'-ms-scroll-snap-points-y'>","-ms-scroll-translation":"none|vertical-to-horizontal","-ms-text-autospace":"none|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space","-ms-touch-select":"grippers|none","-ms-user-select":"none|element|text","-ms-wrap-flow":"auto|both|start|end|maximum|clear","-ms-wrap-margin":"<length>","-ms-wrap-through":"wrap|none","-moz-appearance":"none|button|button-arrow-down|button-arrow-next|button-arrow-previous|button-arrow-up|button-bevel|button-focus|caret|checkbox|checkbox-container|checkbox-label|checkmenuitem|dualbutton|groupbox|listbox|listitem|menuarrow|menubar|menucheckbox|menuimage|menuitem|menuitemtext|menulist|menulist-button|menulist-text|menulist-textfield|menupopup|menuradio|menuseparator|meterbar|meterchunk|progressbar|progressbar-vertical|progresschunk|progresschunk-vertical|radio|radio-container|radio-label|radiomenuitem|range|range-thumb|resizer|resizerpanel|scale-horizontal|scalethumbend|scalethumb-horizontal|scalethumbstart|scalethumbtick|scalethumb-vertical|scale-vertical|scrollbarbutton-down|scrollbarbutton-left|scrollbarbutton-right|scrollbarbutton-up|scrollbarthumb-horizontal|scrollbarthumb-vertical|scrollbartrack-horizontal|scrollbartrack-vertical|searchfield|separator|sheet|spinner|spinner-downbutton|spinner-textfield|spinner-upbutton|splitter|statusbar|statusbarpanel|tab|tabpanel|tabpanels|tab-scroll-arrow-back|tab-scroll-arrow-forward|textfield|textfield-multiline|toolbar|toolbarbutton|toolbarbutton-dropdown|toolbargripper|toolbox|tooltip|treeheader|treeheadercell|treeheadersortarrow|treeitem|treeline|treetwisty|treetwistyopen|treeview|-moz-mac-unified-toolbar|-moz-win-borderless-glass|-moz-win-browsertabbar-toolbox|-moz-win-communicationstext|-moz-win-communications-toolbox|-moz-win-exclude-glass|-moz-win-glass|-moz-win-mediatext|-moz-win-media-toolbox|-moz-window-button-box|-moz-window-button-box-maximized|-moz-window-button-close|-moz-window-button-maximize|-moz-window-button-minimize|-moz-window-button-restore|-moz-window-frame-bottom|-moz-window-frame-left|-moz-window-frame-right|-moz-window-titlebar|-moz-window-titlebar-maximized","-moz-binding":"<url>|none","-moz-border-bottom-colors":"<color>+|none","-moz-border-left-colors":"<color>+|none","-moz-border-right-colors":"<color>+|none","-moz-border-top-colors":"<color>+|none","-moz-context-properties":"none|[fill|fill-opacity|stroke|stroke-opacity]#","-moz-float-edge":"border-box|content-box|margin-box|padding-box","-moz-force-broken-image-icon":"0|1","-moz-image-region":"<shape>|auto","-moz-orient":"inline|block|horizontal|vertical","-moz-outline-radius":"<outline-radius>{1,4} [/ <outline-radius>{1,4}]?","-moz-outline-radius-bottomleft":"<outline-radius>","-moz-outline-radius-bottomright":"<outline-radius>","-moz-outline-radius-topleft":"<outline-radius>","-moz-outline-radius-topright":"<outline-radius>","-moz-stack-sizing":"ignore|stretch-to-fit","-moz-text-blink":"none|blink","-moz-user-focus":"ignore|normal|select-after|select-before|select-menu|select-same|select-all|none","-moz-user-input":"auto|none|enabled|disabled","-moz-user-modify":"read-only|read-write|write-only","-moz-window-dragging":"drag|no-drag","-moz-window-shadow":"default|menu|tooltip|sheet|none","-webkit-appearance":"none|button|button-bevel|caps-lock-indicator|caret|checkbox|default-button|inner-spin-button|listbox|listitem|media-controls-background|media-controls-fullscreen-background|media-current-time-display|media-enter-fullscreen-button|media-exit-fullscreen-button|media-fullscreen-button|media-mute-button|media-overlay-play-button|media-play-button|media-seek-back-button|media-seek-forward-button|media-slider|media-sliderthumb|media-time-remaining-display|media-toggle-closed-captions-button|media-volume-slider|media-volume-slider-container|media-volume-sliderthumb|menulist|menulist-button|menulist-text|menulist-textfield|meter|progress-bar|progress-bar-value|push-button|radio|scrollbarbutton-down|scrollbarbutton-left|scrollbarbutton-right|scrollbarbutton-up|scrollbargripper-horizontal|scrollbargripper-vertical|scrollbarthumb-horizontal|scrollbarthumb-vertical|scrollbartrack-horizontal|scrollbartrack-vertical|searchfield|searchfield-cancel-button|searchfield-decoration|searchfield-results-button|searchfield-results-decoration|slider-horizontal|slider-vertical|sliderthumb-horizontal|sliderthumb-vertical|square-button|textarea|textfield|-apple-pay-button","-webkit-border-before":"<'border-width'>||<'border-style'>||<color>","-webkit-border-before-color":"<color>","-webkit-border-before-style":"<'border-style'>","-webkit-border-before-width":"<'border-width'>","-webkit-box-reflect":"[above|below|right|left]? <length>? <image>?","-webkit-line-clamp":"none|<integer>","-webkit-mask":"[<mask-reference>||<position> [/ <bg-size>]?||<repeat-style>||[<box>|border|padding|content|text]||[<box>|border|padding|content]]#","-webkit-mask-attachment":"<attachment>#","-webkit-mask-clip":"[<box>|border|padding|content|text]#","-webkit-mask-composite":"<composite-style>#","-webkit-mask-image":"<mask-reference>#","-webkit-mask-origin":"[<box>|border|padding|content]#","-webkit-mask-position":"<position>#","-webkit-mask-position-x":"[<length-percentage>|left|center|right]#","-webkit-mask-position-y":"[<length-percentage>|top|center|bottom]#","-webkit-mask-repeat":"<repeat-style>#","-webkit-mask-repeat-x":"repeat|no-repeat|space|round","-webkit-mask-repeat-y":"repeat|no-repeat|space|round","-webkit-mask-size":"<bg-size>#","-webkit-overflow-scrolling":"auto|touch","-webkit-tap-highlight-color":"<color>","-webkit-text-fill-color":"<color>","-webkit-text-stroke":"<length>||<color>","-webkit-text-stroke-color":"<color>","-webkit-text-stroke-width":"<length>","-webkit-touch-callout":"default|none","-webkit-user-modify":"read-only|read-write|read-write-plaintext-only","accent-color":"auto|<color>","align-content":"normal|<baseline-position>|<content-distribution>|<overflow-position>? <content-position>","align-items":"normal|stretch|<baseline-position>|[<overflow-position>? <self-position>]","align-self":"auto|normal|stretch|<baseline-position>|<overflow-position>? <self-position>","align-tracks":"[normal|<baseline-position>|<content-distribution>|<overflow-position>? <content-position>]#",all:"initial|inherit|unset|revert|revert-layer",animation:"<single-animation>#","animation-delay":"<time>#","animation-direction":"<single-animation-direction>#","animation-duration":"<time>#","animation-fill-mode":"<single-animation-fill-mode>#","animation-iteration-count":"<single-animation-iteration-count>#","animation-name":"[none|<keyframes-name>]#","animation-play-state":"<single-animation-play-state>#","animation-timing-function":"<easing-function>#","animation-timeline":"<single-animation-timeline>#",appearance:"none|auto|textfield|menulist-button|<compat-auto>","aspect-ratio":"auto|<ratio>",azimuth:"<angle>|[[left-side|far-left|left|center-left|center|center-right|right|far-right|right-side]||behind]|leftwards|rightwards","backdrop-filter":"none|<filter-function-list>","backface-visibility":"visible|hidden",background:"[<bg-layer> ,]* <final-bg-layer>","background-attachment":"<attachment>#","background-blend-mode":"<blend-mode>#","background-clip":"<bg-clip>#","background-color":"<color>","background-image":"<bg-image>#","background-origin":"<box>#","background-position":"<bg-position>#","background-position-x":"[center|[[left|right|x-start|x-end]? <length-percentage>?]!]#","background-position-y":"[center|[[top|bottom|y-start|y-end]? <length-percentage>?]!]#","background-repeat":"<repeat-style>#","background-size":"<bg-size>#","block-overflow":"clip|ellipsis|<string>","block-size":"<'width'>",border:"<line-width>||<line-style>||<color>","border-block":"<'border-top-width'>||<'border-top-style'>||<color>","border-block-color":"<'border-top-color'>{1,2}","border-block-style":"<'border-top-style'>","border-block-width":"<'border-top-width'>","border-block-end":"<'border-top-width'>||<'border-top-style'>||<color>","border-block-end-color":"<'border-top-color'>","border-block-end-style":"<'border-top-style'>","border-block-end-width":"<'border-top-width'>","border-block-start":"<'border-top-width'>||<'border-top-style'>||<color>","border-block-start-color":"<'border-top-color'>","border-block-start-style":"<'border-top-style'>","border-block-start-width":"<'border-top-width'>","border-bottom":"<line-width>||<line-style>||<color>","border-bottom-color":"<'border-top-color'>","border-bottom-left-radius":"<length-percentage>{1,2}","border-bottom-right-radius":"<length-percentage>{1,2}","border-bottom-style":"<line-style>","border-bottom-width":"<line-width>","border-collapse":"collapse|separate","border-color":"<color>{1,4}","border-end-end-radius":"<length-percentage>{1,2}","border-end-start-radius":"<length-percentage>{1,2}","border-image":"<'border-image-source'>||<'border-image-slice'> [/ <'border-image-width'>|/ <'border-image-width'>? / <'border-image-outset'>]?||<'border-image-repeat'>","border-image-outset":"[<length>|<number>]{1,4}","border-image-repeat":"[stretch|repeat|round|space]{1,2}","border-image-slice":"<number-percentage>{1,4}&&fill?","border-image-source":"none|<image>","border-image-width":"[<length-percentage>|<number>|auto]{1,4}","border-inline":"<'border-top-width'>||<'border-top-style'>||<color>","border-inline-end":"<'border-top-width'>||<'border-top-style'>||<color>","border-inline-color":"<'border-top-color'>{1,2}","border-inline-style":"<'border-top-style'>","border-inline-width":"<'border-top-width'>","border-inline-end-color":"<'border-top-color'>","border-inline-end-style":"<'border-top-style'>","border-inline-end-width":"<'border-top-width'>","border-inline-start":"<'border-top-width'>||<'border-top-style'>||<color>","border-inline-start-color":"<'border-top-color'>","border-inline-start-style":"<'border-top-style'>","border-inline-start-width":"<'border-top-width'>","border-left":"<line-width>||<line-style>||<color>","border-left-color":"<color>","border-left-style":"<line-style>","border-left-width":"<line-width>","border-radius":"<length-percentage>{1,4} [/ <length-percentage>{1,4}]?","border-right":"<line-width>||<line-style>||<color>","border-right-color":"<color>","border-right-style":"<line-style>","border-right-width":"<line-width>","border-spacing":"<length> <length>?","border-start-end-radius":"<length-percentage>{1,2}","border-start-start-radius":"<length-percentage>{1,2}","border-style":"<line-style>{1,4}","border-top":"<line-width>||<line-style>||<color>","border-top-color":"<color>","border-top-left-radius":"<length-percentage>{1,2}","border-top-right-radius":"<length-percentage>{1,2}","border-top-style":"<line-style>","border-top-width":"<line-width>","border-width":"<line-width>{1,4}",bottom:"<length>|<percentage>|auto","box-align":"start|center|end|baseline|stretch","box-decoration-break":"slice|clone","box-direction":"normal|reverse|inherit","box-flex":"<number>","box-flex-group":"<integer>","box-lines":"single|multiple","box-ordinal-group":"<integer>","box-orient":"horizontal|vertical|inline-axis|block-axis|inherit","box-pack":"start|center|end|justify","box-shadow":"none|<shadow>#","box-sizing":"content-box|border-box","break-after":"auto|avoid|always|all|avoid-page|page|left|right|recto|verso|avoid-column|column|avoid-region|region","break-before":"auto|avoid|always|all|avoid-page|page|left|right|recto|verso|avoid-column|column|avoid-region|region","break-inside":"auto|avoid|avoid-page|avoid-column|avoid-region","caption-side":"top|bottom|block-start|block-end|inline-start|inline-end","caret-color":"auto|<color>",clear:"none|left|right|both|inline-start|inline-end",clip:"<shape>|auto","clip-path":"<clip-source>|[<basic-shape>||<geometry-box>]|none",color:"<color>","print-color-adjust":"economy|exact","color-scheme":"normal|[light|dark|<custom-ident>]+&&only?","column-count":"<integer>|auto","column-fill":"auto|balance|balance-all","column-gap":"normal|<length-percentage>","column-rule":"<'column-rule-width'>||<'column-rule-style'>||<'column-rule-color'>","column-rule-color":"<color>","column-rule-style":"<'border-style'>","column-rule-width":"<'border-width'>","column-span":"none|all","column-width":"<length>|auto",columns:"<'column-width'>||<'column-count'>",contain:"none|strict|content|[size||layout||style||paint]",content:"normal|none|[<content-replacement>|<content-list>] [/ [<string>|<counter>]+]?","content-visibility":"visible|auto|hidden","counter-increment":"[<counter-name> <integer>?]+|none","counter-reset":"[<counter-name> <integer>?|<reversed-counter-name> <integer>?]+|none","counter-set":"[<counter-name> <integer>?]+|none",cursor:"[[<url> [<x> <y>]? ,]* [auto|default|none|context-menu|help|pointer|progress|wait|cell|crosshair|text|vertical-text|alias|copy|move|no-drop|not-allowed|e-resize|n-resize|ne-resize|nw-resize|s-resize|se-resize|sw-resize|w-resize|ew-resize|ns-resize|nesw-resize|nwse-resize|col-resize|row-resize|all-scroll|zoom-in|zoom-out|grab|grabbing|hand|-webkit-grab|-webkit-grabbing|-webkit-zoom-in|-webkit-zoom-out|-moz-grab|-moz-grabbing|-moz-zoom-in|-moz-zoom-out]]",direction:"ltr|rtl",display:"[<display-outside>||<display-inside>]|<display-listitem>|<display-internal>|<display-box>|<display-legacy>|<-non-standard-display>","empty-cells":"show|hide",filter:"none|<filter-function-list>|<-ms-filter-function-list>",flex:"none|[<'flex-grow'> <'flex-shrink'>?||<'flex-basis'>]","flex-basis":"content|<'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",float:"left|right|none|inline-start|inline-end",font:"[[<'font-style'>||<font-variant-css21>||<'font-weight'>||<'font-stretch'>]? <'font-size'> [/ <'line-height'>]? <'font-family'>]|caption|icon|menu|message-box|small-caption|status-bar","font-family":"[<family-name>|<generic-family>]#","font-feature-settings":"normal|<feature-tag-value>#","font-kerning":"auto|normal|none","font-language-override":"normal|<string>","font-optical-sizing":"auto|none","font-variation-settings":"normal|[<string> <number>]#","font-size":"<absolute-size>|<relative-size>|<length-percentage>","font-size-adjust":"none|[ex-height|cap-height|ch-width|ic-width|ic-height]? [from-font|<number>]","font-smooth":"auto|never|always|<absolute-size>|<length>","font-stretch":"<font-stretch-absolute>","font-style":"normal|italic|oblique <angle>?","font-synthesis":"none|[weight||style||small-caps]","font-variant":"normal|none|[<common-lig-values>||<discretionary-lig-values>||<historical-lig-values>||<contextual-alt-values>||stylistic( <feature-value-name> )||historical-forms||styleset( <feature-value-name># )||character-variant( <feature-value-name># )||swash( <feature-value-name> )||ornaments( <feature-value-name> )||annotation( <feature-value-name> )||[small-caps|all-small-caps|petite-caps|all-petite-caps|unicase|titling-caps]||<numeric-figure-values>||<numeric-spacing-values>||<numeric-fraction-values>||ordinal||slashed-zero||<east-asian-variant-values>||<east-asian-width-values>||ruby]","font-variant-alternates":"normal|[stylistic( <feature-value-name> )||historical-forms||styleset( <feature-value-name># )||character-variant( <feature-value-name># )||swash( <feature-value-name> )||ornaments( <feature-value-name> )||annotation( <feature-value-name> )]","font-variant-caps":"normal|small-caps|all-small-caps|petite-caps|all-petite-caps|unicase|titling-caps","font-variant-east-asian":"normal|[<east-asian-variant-values>||<east-asian-width-values>||ruby]","font-variant-ligatures":"normal|none|[<common-lig-values>||<discretionary-lig-values>||<historical-lig-values>||<contextual-alt-values>]","font-variant-numeric":"normal|[<numeric-figure-values>||<numeric-spacing-values>||<numeric-fraction-values>||ordinal||slashed-zero]","font-variant-position":"normal|sub|super","font-weight":"<font-weight-absolute>|bolder|lighter","forced-color-adjust":"auto|none",gap:"<'row-gap'> <'column-gap'>?",grid:"<'grid-template'>|<'grid-template-rows'> / [auto-flow&&dense?] <'grid-auto-columns'>?|[auto-flow&&dense?] <'grid-auto-rows'>? / <'grid-template-columns'>","grid-area":"<grid-line> [/ <grid-line>]{0,3}","grid-auto-columns":"<track-size>+","grid-auto-flow":"[row|column]||dense","grid-auto-rows":"<track-size>+","grid-column":"<grid-line> [/ <grid-line>]?","grid-column-end":"<grid-line>","grid-column-gap":"<length-percentage>","grid-column-start":"<grid-line>","grid-gap":"<'grid-row-gap'> <'grid-column-gap'>?","grid-row":"<grid-line> [/ <grid-line>]?","grid-row-end":"<grid-line>","grid-row-gap":"<length-percentage>","grid-row-start":"<grid-line>","grid-template":"none|[<'grid-template-rows'> / <'grid-template-columns'>]|[<line-names>? <string> <track-size>? <line-names>?]+ [/ <explicit-track-list>]?","grid-template-areas":"none|<string>+","grid-template-columns":"none|<track-list>|<auto-track-list>|subgrid <line-name-list>?","grid-template-rows":"none|<track-list>|<auto-track-list>|subgrid <line-name-list>?","hanging-punctuation":"none|[first||[force-end|allow-end]||last]",height:"auto|<length>|<percentage>|min-content|max-content|fit-content|fit-content( <length-percentage> )","hyphenate-character":"auto|<string>",hyphens:"none|manual|auto","image-orientation":"from-image|<angle>|[<angle>? flip]","image-rendering":"auto|crisp-edges|pixelated|optimizeSpeed|optimizeQuality|<-non-standard-image-rendering>","image-resolution":"[from-image||<resolution>]&&snap?","ime-mode":"auto|normal|active|inactive|disabled","initial-letter":"normal|[<number> <integer>?]","initial-letter-align":"[auto|alphabetic|hanging|ideographic]","inline-size":"<'width'>","input-security":"auto|none",inset:"<'top'>{1,4}","inset-block":"<'top'>{1,2}","inset-block-end":"<'top'>","inset-block-start":"<'top'>","inset-inline":"<'top'>{1,2}","inset-inline-end":"<'top'>","inset-inline-start":"<'top'>",isolation:"auto|isolate","justify-content":"normal|<content-distribution>|<overflow-position>? [<content-position>|left|right]","justify-items":"normal|stretch|<baseline-position>|<overflow-position>? [<self-position>|left|right]|legacy|legacy&&[left|right|center]","justify-self":"auto|normal|stretch|<baseline-position>|<overflow-position>? [<self-position>|left|right]","justify-tracks":"[normal|<content-distribution>|<overflow-position>? [<content-position>|left|right]]#",left:"<length>|<percentage>|auto","letter-spacing":"normal|<length-percentage>","line-break":"auto|loose|normal|strict|anywhere","line-clamp":"none|<integer>","line-height":"normal|<number>|<length>|<percentage>","line-height-step":"<length>","list-style":"<'list-style-type'>||<'list-style-position'>||<'list-style-image'>","list-style-image":"<image>|none","list-style-position":"inside|outside","list-style-type":"<counter-style>|<string>|none",margin:"[<length>|<percentage>|auto]{1,4}","margin-block":"<'margin-left'>{1,2}","margin-block-end":"<'margin-left'>","margin-block-start":"<'margin-left'>","margin-bottom":"<length>|<percentage>|auto","margin-inline":"<'margin-left'>{1,2}","margin-inline-end":"<'margin-left'>","margin-inline-start":"<'margin-left'>","margin-left":"<length>|<percentage>|auto","margin-right":"<length>|<percentage>|auto","margin-top":"<length>|<percentage>|auto","margin-trim":"none|in-flow|all",mask:"<mask-layer>#","mask-border":"<'mask-border-source'>||<'mask-border-slice'> [/ <'mask-border-width'>? [/ <'mask-border-outset'>]?]?||<'mask-border-repeat'>||<'mask-border-mode'>","mask-border-mode":"luminance|alpha","mask-border-outset":"[<length>|<number>]{1,4}","mask-border-repeat":"[stretch|repeat|round|space]{1,2}","mask-border-slice":"<number-percentage>{1,4} fill?","mask-border-source":"none|<image>","mask-border-width":"[<length-percentage>|<number>|auto]{1,4}","mask-clip":"[<geometry-box>|no-clip]#","mask-composite":"<compositing-operator>#","mask-image":"<mask-reference>#","mask-mode":"<masking-mode>#","mask-origin":"<geometry-box>#","mask-position":"<position>#","mask-repeat":"<repeat-style>#","mask-size":"<bg-size>#","mask-type":"luminance|alpha","masonry-auto-flow":"[pack|next]||[definite-first|ordered]","math-style":"normal|compact","max-block-size":"<'max-width'>","max-height":"none|<length-percentage>|min-content|max-content|fit-content|fit-content( <length-percentage> )","max-inline-size":"<'max-width'>","max-lines":"none|<integer>","max-width":"none|<length-percentage>|min-content|max-content|fit-content|fit-content( <length-percentage> )|<-non-standard-width>","min-block-size":"<'min-width'>","min-height":"auto|<length>|<percentage>|min-content|max-content|fit-content|fit-content( <length-percentage> )","min-inline-size":"<'min-width'>","min-width":"auto|<length>|<percentage>|min-content|max-content|fit-content|fit-content( <length-percentage> )|<-non-standard-width>","mix-blend-mode":"<blend-mode>|plus-lighter","object-fit":"fill|contain|cover|none|scale-down","object-position":"<position>",offset:"[<'offset-position'>? [<'offset-path'> [<'offset-distance'>||<'offset-rotate'>]?]?]! [/ <'offset-anchor'>]?","offset-anchor":"auto|<position>","offset-distance":"<length-percentage>","offset-path":"none|ray( [<angle>&&<size>&&contain?] )|<path()>|<url>|[<basic-shape>||<geometry-box>]","offset-position":"auto|<position>","offset-rotate":"[auto|reverse]||<angle>",opacity:"<alpha-value>",order:"<integer>",orphans:"<integer>",outline:"[<'outline-color'>||<'outline-style'>||<'outline-width'>]","outline-color":"<color>|invert","outline-offset":"<length>","outline-style":"auto|<'border-style'>","outline-width":"<line-width>",overflow:"[visible|hidden|clip|scroll|auto]{1,2}|<-non-standard-overflow>","overflow-anchor":"auto|none","overflow-block":"visible|hidden|clip|scroll|auto","overflow-clip-box":"padding-box|content-box","overflow-clip-margin":"<visual-box>||<length [0,∞]>","overflow-inline":"visible|hidden|clip|scroll|auto","overflow-wrap":"normal|break-word|anywhere","overflow-x":"visible|hidden|clip|scroll|auto","overflow-y":"visible|hidden|clip|scroll|auto","overscroll-behavior":"[contain|none|auto]{1,2}","overscroll-behavior-block":"contain|none|auto","overscroll-behavior-inline":"contain|none|auto","overscroll-behavior-x":"contain|none|auto","overscroll-behavior-y":"contain|none|auto",padding:"[<length>|<percentage>]{1,4}","padding-block":"<'padding-left'>{1,2}","padding-block-end":"<'padding-left'>","padding-block-start":"<'padding-left'>","padding-bottom":"<length>|<percentage>","padding-inline":"<'padding-left'>{1,2}","padding-inline-end":"<'padding-left'>","padding-inline-start":"<'padding-left'>","padding-left":"<length>|<percentage>","padding-right":"<length>|<percentage>","padding-top":"<length>|<percentage>","page-break-after":"auto|always|avoid|left|right|recto|verso","page-break-before":"auto|always|avoid|left|right|recto|verso","page-break-inside":"auto|avoid","paint-order":"normal|[fill||stroke||markers]",perspective:"none|<length>","perspective-origin":"<position>","place-content":"<'align-content'> <'justify-content'>?","place-items":"<'align-items'> <'justify-items'>?","place-self":"<'align-self'> <'justify-self'>?","pointer-events":"auto|none|visiblePainted|visibleFill|visibleStroke|visible|painted|fill|stroke|all|inherit",position:"static|relative|absolute|sticky|fixed|-webkit-sticky",quotes:"none|auto|[<string> <string>]+",resize:"none|both|horizontal|vertical|block|inline",right:"<length>|<percentage>|auto",rotate:"none|<angle>|[x|y|z|<number>{3}]&&<angle>","row-gap":"normal|<length-percentage>","ruby-align":"start|center|space-between|space-around","ruby-merge":"separate|collapse|auto","ruby-position":"[alternate||[over|under]]|inter-character",scale:"none|<number>{1,3}","scrollbar-color":"auto|<color>{2}","scrollbar-gutter":"auto|stable&&both-edges?","scrollbar-width":"auto|thin|none","scroll-behavior":"auto|smooth","scroll-margin":"<length>{1,4}","scroll-margin-block":"<length>{1,2}","scroll-margin-block-start":"<length>","scroll-margin-block-end":"<length>","scroll-margin-bottom":"<length>","scroll-margin-inline":"<length>{1,2}","scroll-margin-inline-start":"<length>","scroll-margin-inline-end":"<length>","scroll-margin-left":"<length>","scroll-margin-right":"<length>","scroll-margin-top":"<length>","scroll-padding":"[auto|<length-percentage>]{1,4}","scroll-padding-block":"[auto|<length-percentage>]{1,2}","scroll-padding-block-start":"auto|<length-percentage>","scroll-padding-block-end":"auto|<length-percentage>","scroll-padding-bottom":"auto|<length-percentage>","scroll-padding-inline":"[auto|<length-percentage>]{1,2}","scroll-padding-inline-start":"auto|<length-percentage>","scroll-padding-inline-end":"auto|<length-percentage>","scroll-padding-left":"auto|<length-percentage>","scroll-padding-right":"auto|<length-percentage>","scroll-padding-top":"auto|<length-percentage>","scroll-snap-align":"[none|start|end|center]{1,2}","scroll-snap-coordinate":"none|<position>#","scroll-snap-destination":"<position>","scroll-snap-points-x":"none|repeat( <length-percentage> )","scroll-snap-points-y":"none|repeat( <length-percentage> )","scroll-snap-stop":"normal|always","scroll-snap-type":"none|[x|y|block|inline|both] [mandatory|proximity]?","scroll-snap-type-x":"none|mandatory|proximity","scroll-snap-type-y":"none|mandatory|proximity","shape-image-threshold":"<alpha-value>","shape-margin":"<length-percentage>","shape-outside":"none|[<shape-box>||<basic-shape>]|<image>","tab-size":"<integer>|<length>","table-layout":"auto|fixed","text-align":"start|end|left|right|center|justify|match-parent","text-align-last":"auto|start|end|left|right|center|justify","text-combine-upright":"none|all|[digits <integer>?]","text-decoration":"<'text-decoration-line'>||<'text-decoration-style'>||<'text-decoration-color'>||<'text-decoration-thickness'>","text-decoration-color":"<color>","text-decoration-line":"none|[underline||overline||line-through||blink]|spelling-error|grammar-error","text-decoration-skip":"none|[objects||[spaces|[leading-spaces||trailing-spaces]]||edges||box-decoration]","text-decoration-skip-ink":"auto|all|none","text-decoration-style":"solid|double|dotted|dashed|wavy","text-decoration-thickness":"auto|from-font|<length>|<percentage>","text-emphasis":"<'text-emphasis-style'>||<'text-emphasis-color'>","text-emphasis-color":"<color>","text-emphasis-position":"[over|under]&&[right|left]","text-emphasis-style":"none|[[filled|open]||[dot|circle|double-circle|triangle|sesame]]|<string>","text-indent":"<length-percentage>&&hanging?&&each-line?","text-justify":"auto|inter-character|inter-word|none","text-orientation":"mixed|upright|sideways","text-overflow":"[clip|ellipsis|<string>]{1,2}","text-rendering":"auto|optimizeSpeed|optimizeLegibility|geometricPrecision","text-shadow":"none|<shadow-t>#","text-size-adjust":"none|auto|<percentage>","text-transform":"none|capitalize|uppercase|lowercase|full-width|full-size-kana","text-underline-offset":"auto|<length>|<percentage>","text-underline-position":"auto|from-font|[under||[left|right]]",top:"<length>|<percentage>|auto","touch-action":"auto|none|[[pan-x|pan-left|pan-right]||[pan-y|pan-up|pan-down]||pinch-zoom]|manipulation",transform:"none|<transform-list>","transform-box":"content-box|border-box|fill-box|stroke-box|view-box","transform-origin":"[<length-percentage>|left|center|right|top|bottom]|[[<length-percentage>|left|center|right]&&[<length-percentage>|top|center|bottom]] <length>?","transform-style":"flat|preserve-3d",transition:"<single-transition>#","transition-delay":"<time>#","transition-duration":"<time>#","transition-property":"none|<single-transition-property>#","transition-timing-function":"<easing-function>#",translate:"none|<length-percentage> [<length-percentage> <length>?]?","unicode-bidi":"normal|embed|isolate|bidi-override|isolate-override|plaintext|-moz-isolate|-moz-isolate-override|-moz-plaintext|-webkit-isolate|-webkit-isolate-override|-webkit-plaintext","user-select":"auto|text|none|contain|all","vertical-align":"baseline|sub|super|text-top|text-bottom|middle|top|bottom|<percentage>|<length>",visibility:"visible|hidden|collapse","white-space":"normal|pre|nowrap|pre-wrap|pre-line|break-spaces",widows:"<integer>",width:"auto|<length>|<percentage>|min-content|max-content|fit-content|fit-content( <length-percentage> )|fill|stretch|intrinsic|-moz-max-content|-webkit-max-content|-moz-fit-content|-webkit-fit-content","will-change":"auto|<animateable-feature>#","word-break":"normal|break-all|keep-all|break-word","word-spacing":"normal|<length>","word-wrap":"normal|break-word","writing-mode":"horizontal-tb|vertical-rl|vertical-lr|sideways-rl|sideways-lr|<svg-writing-mode>","z-index":"auto|<integer>",zoom:"normal|reset|<number>|<percentage>","-moz-background-clip":"padding|border","-moz-border-radius-bottomleft":"<'border-bottom-left-radius'>","-moz-border-radius-bottomright":"<'border-bottom-right-radius'>","-moz-border-radius-topleft":"<'border-top-left-radius'>","-moz-border-radius-topright":"<'border-bottom-right-radius'>","-moz-control-character-visibility":"visible|hidden","-moz-osx-font-smoothing":"auto|grayscale","-moz-user-select":"none|text|all|-moz-none","-ms-flex-align":"start|end|center|baseline|stretch","-ms-flex-item-align":"auto|start|end|center|baseline|stretch","-ms-flex-line-pack":"start|end|center|justify|distribute|stretch","-ms-flex-negative":"<'flex-shrink'>","-ms-flex-pack":"start|end|center|justify|distribute","-ms-flex-order":"<integer>","-ms-flex-positive":"<'flex-grow'>","-ms-flex-preferred-size":"<'flex-basis'>","-ms-interpolation-mode":"nearest-neighbor|bicubic","-ms-grid-column-align":"start|end|center|stretch","-ms-grid-row-align":"start|end|center|stretch","-ms-hyphenate-limit-last":"none|always|column|page|spread","-webkit-background-clip":"[<box>|border|padding|content|text]#","-webkit-column-break-after":"always|auto|avoid","-webkit-column-break-before":"always|auto|avoid","-webkit-column-break-inside":"always|auto|avoid","-webkit-font-smoothing":"auto|none|antialiased|subpixel-antialiased","-webkit-mask-box-image":"[<url>|<gradient>|none] [<length-percentage>{4} <-webkit-mask-box-repeat>{2}]?","-webkit-print-color-adjust":"economy|exact","-webkit-text-security":"none|circle|disc|square","-webkit-user-drag":"none|element|auto","-webkit-user-select":"auto|none|text|all","alignment-baseline":"auto|baseline|before-edge|text-before-edge|middle|central|after-edge|text-after-edge|ideographic|alphabetic|hanging|mathematical","baseline-shift":"baseline|sub|super|<svg-length>",behavior:"<url>+","clip-rule":"nonzero|evenodd",cue:"<'cue-before'> <'cue-after'>?","cue-after":"<url> <decibel>?|none","cue-before":"<url> <decibel>?|none","dominant-baseline":"auto|use-script|no-change|reset-size|ideographic|alphabetic|hanging|mathematical|central|middle|text-after-edge|text-before-edge",fill:"<paint>","fill-opacity":"<number-zero-one>","fill-rule":"nonzero|evenodd","glyph-orientation-horizontal":"<angle>","glyph-orientation-vertical":"<angle>",kerning:"auto|<svg-length>",marker:"none|<url>","marker-end":"none|<url>","marker-mid":"none|<url>","marker-start":"none|<url>",pause:"<'pause-before'> <'pause-after'>?","pause-after":"<time>|none|x-weak|weak|medium|strong|x-strong","pause-before":"<time>|none|x-weak|weak|medium|strong|x-strong",rest:"<'rest-before'> <'rest-after'>?","rest-after":"<time>|none|x-weak|weak|medium|strong|x-strong","rest-before":"<time>|none|x-weak|weak|medium|strong|x-strong","shape-rendering":"auto|optimizeSpeed|crispEdges|geometricPrecision",src:"[<url> [format( <string># )]?|local( <family-name> )]#",speak:"auto|none|normal","speak-as":"normal|spell-out||digits||[literal-punctuation|no-punctuation]",stroke:"<paint>","stroke-dasharray":"none|[<svg-length>+]#","stroke-dashoffset":"<svg-length>","stroke-linecap":"butt|round|square","stroke-linejoin":"miter|round|bevel","stroke-miterlimit":"<number-one-or-greater>","stroke-opacity":"<number-zero-one>","stroke-width":"<svg-length>","text-anchor":"start|middle|end","unicode-range":"<urange>#","voice-balance":"<number>|left|center|right|leftwards|rightwards","voice-duration":"auto|<time>","voice-family":"[[<family-name>|<generic-voice>] ,]* [<family-name>|<generic-voice>]|preserve","voice-pitch":"<frequency>&&absolute|[[x-low|low|medium|high|x-high]||[<frequency>|<semitones>|<percentage>]]","voice-range":"<frequency>&&absolute|[[x-low|low|medium|high|x-high]||[<frequency>|<semitones>|<percentage>]]","voice-rate":"[normal|x-slow|slow|medium|fast|x-fast]||<percentage>","voice-stress":"normal|strong|moderate|none|reduced","voice-volume":"silent|[[x-soft|soft|medium|loud|x-loud]||<decibel>]"},atrules:{charset:{prelude:"<string>",descriptors:null},"counter-style":{prelude:"<counter-style-name>",descriptors:{"additive-symbols":"[<integer>&&<symbol>]#",fallback:"<counter-style-name>",negative:"<symbol> <symbol>?",pad:"<integer>&&<symbol>",prefix:"<symbol>",range:"[[<integer>|infinite]{2}]#|auto","speak-as":"auto|bullets|numbers|words|spell-out|<counter-style-name>",suffix:"<symbol>",symbols:"<symbol>+",system:"cyclic|numeric|alphabetic|symbolic|additive|[fixed <integer>?]|[extends <counter-style-name>]"}},document:{prelude:"[<url>|url-prefix( <string> )|domain( <string> )|media-document( <string> )|regexp( <string> )]#",descriptors:null},"font-face":{prelude:null,descriptors:{"ascent-override":"normal|<percentage>","descent-override":"normal|<percentage>","font-display":"[auto|block|swap|fallback|optional]","font-family":"<family-name>","font-feature-settings":"normal|<feature-tag-value>#","font-variation-settings":"normal|[<string> <number>]#","font-stretch":"<font-stretch-absolute>{1,2}","font-style":"normal|italic|oblique <angle>{0,2}","font-weight":"<font-weight-absolute>{1,2}","font-variant":"normal|none|[<common-lig-values>||<discretionary-lig-values>||<historical-lig-values>||<contextual-alt-values>||stylistic( <feature-value-name> )||historical-forms||styleset( <feature-value-name># )||character-variant( <feature-value-name># )||swash( <feature-value-name> )||ornaments( <feature-value-name> )||annotation( <feature-value-name> )||[small-caps|all-small-caps|petite-caps|all-petite-caps|unicase|titling-caps]||<numeric-figure-values>||<numeric-spacing-values>||<numeric-fraction-values>||ordinal||slashed-zero||<east-asian-variant-values>||<east-asian-width-values>||ruby]","line-gap-override":"normal|<percentage>","size-adjust":"<percentage>",src:"[<url> [format( <string># )]?|local( <family-name> )]#","unicode-range":"<urange>#"}},"font-feature-values":{prelude:"<family-name>#",descriptors:null},import:{prelude:"[<string>|<url>] [layer|layer( <layer-name> )]? [supports( [<supports-condition>|<declaration>] )]? <media-query-list>?",descriptors:null},keyframes:{prelude:"<keyframes-name>",descriptors:null},layer:{prelude:"[<layer-name>#|<layer-name>?]",descriptors:null},media:{prelude:"<media-query-list>",descriptors:null},namespace:{prelude:"<namespace-prefix>? [<string>|<url>]",descriptors:null},page:{prelude:"<page-selector-list>",descriptors:{bleed:"auto|<length>",marks:"none|[crop||cross]",size:"<length>{1,2}|auto|[<page-size>||[portrait|landscape]]"}},property:{prelude:"<custom-property-name>",descriptors:{syntax:"<string>",inherits:"true|false","initial-value":"<string>"}},"scroll-timeline":{prelude:"<timeline-name>",descriptors:null},supports:{prelude:"<supports-condition>",descriptors:null},viewport:{prelude:null,descriptors:{height:"<viewport-length>{1,2}","max-height":"<viewport-length>","max-width":"<viewport-length>","max-zoom":"auto|<number>|<percentage>","min-height":"<viewport-length>","min-width":"<viewport-length>","min-zoom":"auto|<number>|<percentage>",orientation:"auto|portrait|landscape","user-zoom":"zoom|fixed","viewport-fit":"auto|contain|cover",width:"<viewport-length>{1,2}",zoom:"auto|<number>|<percentage>"}}}};var node={};var AnPlusB$2={};const types$G=types$R;const charCodeDefinitions$5=charCodeDefinitions$c;const PLUSSIGN$5=43;const HYPHENMINUS$2=45;const N=110;const DISALLOW_SIGN=true;const ALLOW_SIGN=false;function checkInteger(offset,disallowSign){let pos=this.tokenStart+offset;const code=this.charCodeAt(pos);if(code===PLUSSIGN$5||code===HYPHENMINUS$2){if(disallowSign){this.error("Number sign is not allowed")}pos++}for(;pos<this.tokenEnd;pos++){if(!charCodeDefinitions$5.isDigit(this.charCodeAt(pos))){this.error("Integer is expected",pos)}}}function checkTokenIsInteger(disallowSign){return checkInteger.call(this,0,disallowSign)}function expectCharCode(offset,code){if(!this.cmpChar(this.tokenStart+offset,code)){let msg="";switch(code){case N:msg="N is expected";break;case HYPHENMINUS$2:msg="HyphenMinus is expected";break}this.error(msg,this.tokenStart+offset)}}function consumeB(){let offset=0;let sign=0;let type=this.tokenType;while(type===types$G.WhiteSpace||type===types$G.Comment){type=this.lookupType(++offset)}if(type!==types$G.Number){if(this.isDelim(PLUSSIGN$5,offset)||this.isDelim(HYPHENMINUS$2,offset)){sign=this.isDelim(PLUSSIGN$5,offset)?PLUSSIGN$5:HYPHENMINUS$2;do{type=this.lookupType(++offset)}while(type===types$G.WhiteSpace||type===types$G.Comment);if(type!==types$G.Number){this.skip(offset);checkTokenIsInteger.call(this,DISALLOW_SIGN)}}else{return null}}if(offset>0){this.skip(offset)}if(sign===0){type=this.charCodeAt(this.tokenStart);if(type!==PLUSSIGN$5&&type!==HYPHENMINUS$2){this.error("Number sign is expected")}}checkTokenIsInteger.call(this,sign!==0);return sign===HYPHENMINUS$2?"-"+this.consume(types$G.Number):this.consume(types$G.Number)}const name$D="AnPlusB";const structure$D={a:[String,null],b:[String,null]};function parse$H(){const start=this.tokenStart;let a=null;let b=null;if(this.tokenType===types$G.Number){checkTokenIsInteger.call(this,ALLOW_SIGN);b=this.consume(types$G.Number)}else if(this.tokenType===types$G.Ident&&this.cmpChar(this.tokenStart,HYPHENMINUS$2)){a="-1";expectCharCode.call(this,1,N);switch(this.tokenEnd-this.tokenStart){case 2:this.next();b=consumeB.call(this);break;case 3:expectCharCode.call(this,2,HYPHENMINUS$2);this.next();this.skipSC();checkTokenIsInteger.call(this,DISALLOW_SIGN);b="-"+this.consume(types$G.Number);break;default:expectCharCode.call(this,2,HYPHENMINUS$2);checkInteger.call(this,3,DISALLOW_SIGN);this.next();b=this.substrToCursor(start+2)}}else if(this.tokenType===types$G.Ident||this.isDelim(PLUSSIGN$5)&&this.lookupType(1)===types$G.Ident){let sign=0;a="1";if(this.isDelim(PLUSSIGN$5)){sign=1;this.next()}expectCharCode.call(this,0,N);switch(this.tokenEnd-this.tokenStart){case 1:this.next();b=consumeB.call(this);break;case 2:expectCharCode.call(this,1,HYPHENMINUS$2);this.next();this.skipSC();checkTokenIsInteger.call(this,DISALLOW_SIGN);b="-"+this.consume(types$G.Number);break;default:expectCharCode.call(this,1,HYPHENMINUS$2);checkInteger.call(this,2,DISALLOW_SIGN);this.next();b=this.substrToCursor(start+sign+1)}}else if(this.tokenType===types$G.Dimension){const code=this.charCodeAt(this.tokenStart);const sign=code===PLUSSIGN$5||code===HYPHENMINUS$2;let i=this.tokenStart+sign;for(;i<this.tokenEnd;i++){if(!charCodeDefinitions$5.isDigit(this.charCodeAt(i))){break}}if(i===this.tokenStart+sign){this.error("Integer is expected",this.tokenStart+sign)}expectCharCode.call(this,i-this.tokenStart,N);a=this.substring(start,i);if(i+1===this.tokenEnd){this.next();b=consumeB.call(this)}else{expectCharCode.call(this,i-this.tokenStart+1,HYPHENMINUS$2);if(i+2===this.tokenEnd){this.next();this.skipSC();checkTokenIsInteger.call(this,DISALLOW_SIGN);b="-"+this.consume(types$G.Number)}else{checkInteger.call(this,i-this.tokenStart+2,DISALLOW_SIGN);this.next();b=this.substrToCursor(i+1)}}}else{this.error()}if(a!==null&&a.charCodeAt(0)===PLUSSIGN$5){a=a.substr(1)}if(b!==null&&b.charCodeAt(0)===PLUSSIGN$5){b=b.substr(1)}return{type:"AnPlusB",loc:this.getLocation(start,this.tokenStart),a:a,b:b}}function generate$H(node){if(node.a){const a=node.a==="+1"&&"n"||node.a==="1"&&"n"||node.a==="-1"&&"-n"||node.a+"n";if(node.b){const b=node.b[0]==="-"||node.b[0]==="+"?node.b:"+"+node.b;this.tokenize(a+b)}else{this.tokenize(a)}}else{this.tokenize(node.b)}}AnPlusB$2.generate=generate$H;AnPlusB$2.name=name$D;AnPlusB$2.parse=parse$H;AnPlusB$2.structure=structure$D;var Atrule$6={};const types$F=types$R;function consumeRaw$5(startToken){return this.Raw(startToken,this.consumeUntilLeftCurlyBracketOrSemicolon,true)}function isDeclarationBlockAtrule(){for(let offset=1,type;type=this.lookupType(offset);offset++){if(type===types$F.RightCurlyBracket){return true}if(type===types$F.LeftCurlyBracket||type===types$F.AtKeyword){return false}}return false}const name$C="Atrule";const walkContext$9="atrule";const structure$C={name:String,prelude:["AtrulePrelude","Raw",null],block:["Block",null]};function parse$G(){const start=this.tokenStart;let name;let nameLowerCase;let prelude=null;let block=null;this.eat(types$F.AtKeyword);name=this.substrToCursor(start+1);nameLowerCase=name.toLowerCase();this.skipSC();if(this.eof===false&&this.tokenType!==types$F.LeftCurlyBracket&&this.tokenType!==types$F.Semicolon){if(this.parseAtrulePrelude){prelude=this.parseWithFallback(this.AtrulePrelude.bind(this,name),consumeRaw$5)}else{prelude=consumeRaw$5.call(this,this.tokenIndex)}this.skipSC()}switch(this.tokenType){case types$F.Semicolon:this.next();break;case types$F.LeftCurlyBracket:if(hasOwnProperty.call(this.atrule,nameLowerCase)&&typeof this.atrule[nameLowerCase].block==="function"){block=this.atrule[nameLowerCase].block.call(this)}else{block=this.Block(isDeclarationBlockAtrule.call(this))}break}return{type:"Atrule",loc:this.getLocation(start,this.tokenStart),name:name,prelude:prelude,block:block}}function generate$G(node){this.token(types$F.AtKeyword,"@"+node.name);if(node.prelude!==null){this.node(node.prelude)}if(node.block){this.node(node.block)}else{this.token(types$F.Semicolon,";")}}Atrule$6.generate=generate$G;Atrule$6.name=name$C;Atrule$6.parse=parse$G;Atrule$6.structure=structure$C;Atrule$6.walkContext=walkContext$9;var AtrulePrelude$2={};const types$E=types$R;const name$B="AtrulePrelude";const walkContext$8="atrulePrelude";const structure$B={children:[[]]};function parse$F(name){let children=null;if(name!==null){name=name.toLowerCase()}this.skipSC();if(hasOwnProperty.call(this.atrule,name)&&typeof this.atrule[name].prelude==="function"){children=this.atrule[name].prelude.call(this)}else{children=this.readSequence(this.scope.AtrulePrelude)}this.skipSC();if(this.eof!==true&&this.tokenType!==types$E.LeftCurlyBracket&&this.tokenType!==types$E.Semicolon){this.error("Semicolon or block is expected")}return{type:"AtrulePrelude",loc:this.getLocationFromList(children),children:children}}function generate$F(node){this.children(node)}AtrulePrelude$2.generate=generate$F;AtrulePrelude$2.name=name$B;AtrulePrelude$2.parse=parse$F;AtrulePrelude$2.structure=structure$B;AtrulePrelude$2.walkContext=walkContext$8;var AttributeSelector$4={};const types$D=types$R;const DOLLARSIGN$1=36;const ASTERISK$5=42;const EQUALSSIGN=61;const CIRCUMFLEXACCENT=94;const VERTICALLINE$2=124;const TILDE$2=126;function getAttributeName(){if(this.eof){this.error("Unexpected end of input")}const start=this.tokenStart;let expectIdent=false;if(this.isDelim(ASTERISK$5)){expectIdent=true;this.next()}else if(!this.isDelim(VERTICALLINE$2)){this.eat(types$D.Ident)}if(this.isDelim(VERTICALLINE$2)){if(this.charCodeAt(this.tokenStart+1)!==EQUALSSIGN){this.next();this.eat(types$D.Ident)}else if(expectIdent){this.error("Identifier is expected",this.tokenEnd)}}else if(expectIdent){this.error("Vertical line is expected")}return{type:"Identifier",loc:this.getLocation(start,this.tokenStart),name:this.substrToCursor(start)}}function getOperator(){const start=this.tokenStart;const code=this.charCodeAt(start);if(code!==EQUALSSIGN&&code!==TILDE$2&&code!==CIRCUMFLEXACCENT&&code!==DOLLARSIGN$1&&code!==ASTERISK$5&&code!==VERTICALLINE$2){this.error("Attribute selector (=, ~=, ^=, $=, *=, |=) is expected")}this.next();if(code!==EQUALSSIGN){if(!this.isDelim(EQUALSSIGN)){this.error("Equal sign is expected")}this.next()}return this.substrToCursor(start)}const name$A="AttributeSelector";const structure$A={name:"Identifier",matcher:[String,null],value:["String","Identifier",null],flags:[String,null]};function parse$E(){const start=this.tokenStart;let name;let matcher=null;let value=null;let flags=null;this.eat(types$D.LeftSquareBracket);this.skipSC();name=getAttributeName.call(this);this.skipSC();if(this.tokenType!==types$D.RightSquareBracket){if(this.tokenType!==types$D.Ident){matcher=getOperator.call(this);this.skipSC();value=this.tokenType===types$D.String?this.String():this.Identifier();this.skipSC()}if(this.tokenType===types$D.Ident){flags=this.consume(types$D.Ident);this.skipSC()}}this.eat(types$D.RightSquareBracket);return{type:"AttributeSelector",loc:this.getLocation(start,this.tokenStart),name:name,matcher:matcher,value:value,flags:flags}}function generate$E(node){this.token(types$D.Delim,"[");this.node(node.name);if(node.matcher!==null){this.tokenize(node.matcher);this.node(node.value)}if(node.flags!==null){this.token(types$D.Ident,node.flags)}this.token(types$D.Delim,"]")}AttributeSelector$4.generate=generate$E;AttributeSelector$4.name=name$A;AttributeSelector$4.parse=parse$E;AttributeSelector$4.structure=structure$A;var Block$2={};const types$C=types$R;function consumeRaw$4(startToken){return this.Raw(startToken,null,true)}function consumeRule(){return this.parseWithFallback(this.Rule,consumeRaw$4)}function consumeRawDeclaration(startToken){return this.Raw(startToken,this.consumeUntilSemicolonIncluded,true)}function consumeDeclaration(){if(this.tokenType===types$C.Semicolon){return consumeRawDeclaration.call(this,this.tokenIndex)}const node=this.parseWithFallback(this.Declaration,consumeRawDeclaration);if(this.tokenType===types$C.Semicolon){this.next()}return node}const name$z="Block";const walkContext$7="block";const structure$z={children:[["Atrule","Rule","Declaration"]]};function parse$D(isDeclaration){const consumer=isDeclaration?consumeDeclaration:consumeRule;const start=this.tokenStart;let children=this.createList();this.eat(types$C.LeftCurlyBracket);scan:while(!this.eof){switch(this.tokenType){case types$C.RightCurlyBracket:break scan;case types$C.WhiteSpace:case types$C.Comment:this.next();break;case types$C.AtKeyword:children.push(this.parseWithFallback(this.Atrule,consumeRaw$4));break;default:children.push(consumer.call(this))}}if(!this.eof){this.eat(types$C.RightCurlyBracket)}return{type:"Block",loc:this.getLocation(start,this.tokenStart),children:children}}function generate$D(node){this.token(types$C.LeftCurlyBracket,"{");this.children(node,(prev=>{if(prev.type==="Declaration"){this.token(types$C.Semicolon,";")}}));this.token(types$C.RightCurlyBracket,"}")}Block$2.generate=generate$D;Block$2.name=name$z;Block$2.parse=parse$D;Block$2.structure=structure$z;Block$2.walkContext=walkContext$7;var Brackets$2={};const types$B=types$R;const name$y="Brackets";const structure$y={children:[[]]};function parse$C(readSequence,recognizer){const start=this.tokenStart;let children=null;this.eat(types$B.LeftSquareBracket);children=readSequence.call(this,recognizer);if(!this.eof){this.eat(types$B.RightSquareBracket)}return{type:"Brackets",loc:this.getLocation(start,this.tokenStart),children:children}}function generate$C(node){this.token(types$B.Delim,"[");this.children(node);this.token(types$B.Delim,"]")}Brackets$2.generate=generate$C;Brackets$2.name=name$y;Brackets$2.parse=parse$C;Brackets$2.structure=structure$y;var CDC$2={};const types$A=types$R;const name$x="CDC";const structure$x=[];function parse$B(){const start=this.tokenStart;this.eat(types$A.CDC);return{type:"CDC",loc:this.getLocation(start,this.tokenStart)}}function generate$B(){this.token(types$A.CDC,"--\x3e")}CDC$2.generate=generate$B;CDC$2.name=name$x;CDC$2.parse=parse$B;CDC$2.structure=structure$x;var CDO$2={};const types$z=types$R;const name$w="CDO";const structure$w=[];function parse$A(){const start=this.tokenStart;this.eat(types$z.CDO);return{type:"CDO",loc:this.getLocation(start,this.tokenStart)}}function generate$A(){this.token(types$z.CDO,"\x3c!--")}CDO$2.generate=generate$A;CDO$2.name=name$w;CDO$2.parse=parse$A;CDO$2.structure=structure$w;var ClassSelector$2={};const types$y=types$R;const FULLSTOP$2=46;const name$v="ClassSelector";const structure$v={name:String};function parse$z(){this.eatDelim(FULLSTOP$2);return{type:"ClassSelector",loc:this.getLocation(this.tokenStart-1,this.tokenEnd),name:this.consume(types$y.Ident)}}function generate$z(node){this.token(types$y.Delim,".");this.token(types$y.Ident,node.name)}ClassSelector$2.generate=generate$z;ClassSelector$2.name=name$v;ClassSelector$2.parse=parse$z;ClassSelector$2.structure=structure$v;var Combinator$2={};const types$x=types$R;const PLUSSIGN$4=43;const SOLIDUS$5=47;const GREATERTHANSIGN$1=62;const TILDE$1=126;const name$u="Combinator";const structure$u={name:String};function parse$y(){const start=this.tokenStart;let name;switch(this.tokenType){case types$x.WhiteSpace:name=" ";break;case types$x.Delim:switch(this.charCodeAt(this.tokenStart)){case GREATERTHANSIGN$1:case PLUSSIGN$4:case TILDE$1:this.next();break;case SOLIDUS$5:this.next();this.eatIdent("deep");this.eatDelim(SOLIDUS$5);break;default:this.error("Combinator is expected")}name=this.substrToCursor(start);break}return{type:"Combinator",loc:this.getLocation(start,this.tokenStart),name:name}}function generate$y(node){this.tokenize(node.name)}Combinator$2.generate=generate$y;Combinator$2.name=name$u;Combinator$2.parse=parse$y;Combinator$2.structure=structure$u;var Comment$4={};const types$w=types$R;const ASTERISK$4=42;const SOLIDUS$4=47;const name$t="Comment";const structure$t={value:String};function parse$x(){const start=this.tokenStart;let end=this.tokenEnd;this.eat(types$w.Comment);if(end-start+2>=2&&this.charCodeAt(end-2)===ASTERISK$4&&this.charCodeAt(end-1)===SOLIDUS$4){end-=2}return{type:"Comment",loc:this.getLocation(start,this.tokenStart),value:this.substring(start+2,end)}}function generate$x(node){this.token(types$w.Comment,"/*"+node.value+"*/")}Comment$4.generate=generate$x;Comment$4.name=name$t;Comment$4.parse=parse$x;Comment$4.structure=structure$t;var Declaration$4={};const names$2=names$4;const types$v=types$R;const EXCLAMATIONMARK$1=33;const NUMBERSIGN$2=35;const DOLLARSIGN=36;const AMPERSAND=38;const ASTERISK$3=42;const PLUSSIGN$3=43;const SOLIDUS$3=47;function consumeValueRaw(startToken){return this.Raw(startToken,this.consumeUntilExclamationMarkOrSemicolon,true)}function consumeCustomPropertyRaw(startToken){return this.Raw(startToken,this.consumeUntilExclamationMarkOrSemicolon,false)}function consumeValue(){const startValueToken=this.tokenIndex;const value=this.Value();if(value.type!=="Raw"&&this.eof===false&&this.tokenType!==types$v.Semicolon&&this.isDelim(EXCLAMATIONMARK$1)===false&&this.isBalanceEdge(startValueToken)===false){this.error()}return value}const name$s="Declaration";const walkContext$6="declaration";const structure$s={important:[Boolean,String],property:String,value:["Value","Raw"]};function parse$w(){const start=this.tokenStart;const startToken=this.tokenIndex;const property=readProperty.call(this);const customProperty=names$2.isCustomProperty(property);const parseValue=customProperty?this.parseCustomProperty:this.parseValue;const consumeRaw=customProperty?consumeCustomPropertyRaw:consumeValueRaw;let important=false;let value;this.skipSC();this.eat(types$v.Colon);const valueStart=this.tokenIndex;if(!customProperty){this.skipSC()}if(parseValue){value=this.parseWithFallback(consumeValue,consumeRaw)}else{value=consumeRaw.call(this,this.tokenIndex)}if(customProperty&&value.type==="Value"&&value.children.isEmpty){for(let offset=valueStart-this.tokenIndex;offset<=0;offset++){if(this.lookupType(offset)===types$v.WhiteSpace){value.children.appendData({type:"WhiteSpace",loc:null,value:" "});break}}}if(this.isDelim(EXCLAMATIONMARK$1)){important=getImportant.call(this);this.skipSC()}if(this.eof===false&&this.tokenType!==types$v.Semicolon&&this.isBalanceEdge(startToken)===false){this.error()}return{type:"Declaration",loc:this.getLocation(start,this.tokenStart),important:important,property:property,value:value}}function generate$w(node){this.token(types$v.Ident,node.property);this.token(types$v.Colon,":");this.node(node.value);if(node.important){this.token(types$v.Delim,"!");this.token(types$v.Ident,node.important===true?"important":node.important)}}function readProperty(){const start=this.tokenStart;if(this.tokenType===types$v.Delim){switch(this.charCodeAt(this.tokenStart)){case ASTERISK$3:case DOLLARSIGN:case PLUSSIGN$3:case NUMBERSIGN$2:case AMPERSAND:this.next();break;case SOLIDUS$3:this.next();if(this.isDelim(SOLIDUS$3)){this.next()}break}}if(this.tokenType===types$v.Hash){this.eat(types$v.Hash)}else{this.eat(types$v.Ident)}return this.substrToCursor(start)}function getImportant(){this.eat(types$v.Delim);this.skipSC();const important=this.consume(types$v.Ident);return important==="important"?true:important}Declaration$4.generate=generate$w;Declaration$4.name=name$s;Declaration$4.parse=parse$w;Declaration$4.structure=structure$s;Declaration$4.walkContext=walkContext$6;var DeclarationList$2={};const types$u=types$R;function consumeRaw$3(startToken){return this.Raw(startToken,this.consumeUntilSemicolonIncluded,true)}const name$r="DeclarationList";const structure$r={children:[["Declaration"]]};function parse$v(){const children=this.createList();while(!this.eof){switch(this.tokenType){case types$u.WhiteSpace:case types$u.Comment:case types$u.Semicolon:this.next();break;default:children.push(this.parseWithFallback(this.Declaration,consumeRaw$3))}}return{type:"DeclarationList",loc:this.getLocationFromList(children),children:children}}function generate$v(node){this.children(node,(prev=>{if(prev.type==="Declaration"){this.token(types$u.Semicolon,";")}}))}DeclarationList$2.generate=generate$v;DeclarationList$2.name=name$r;DeclarationList$2.parse=parse$v;DeclarationList$2.structure=structure$r;var Dimension$4={};const types$t=types$R;const name$q="Dimension";const structure$q={value:String,unit:String};function parse$u(){const start=this.tokenStart;const value=this.consumeNumber(types$t.Dimension);return{type:"Dimension",loc:this.getLocation(start,this.tokenStart),value:value,unit:this.substring(start+value.length,this.tokenStart)}}function generate$u(node){this.token(types$t.Dimension,node.value+node.unit)}Dimension$4.generate=generate$u;Dimension$4.name=name$q;Dimension$4.parse=parse$u;Dimension$4.structure=structure$q;var _Function={};const types$s=types$R;const name$p="Function";const walkContext$5="function";const structure$p={name:String,children:[[]]};function parse$t(readSequence,recognizer){const start=this.tokenStart;const name=this.consumeFunctionName();const nameLowerCase=name.toLowerCase();let children;children=recognizer.hasOwnProperty(nameLowerCase)?recognizer[nameLowerCase].call(this,recognizer):readSequence.call(this,recognizer);if(!this.eof){this.eat(types$s.RightParenthesis)}return{type:"Function",loc:this.getLocation(start,this.tokenStart),name:name,children:children}}function generate$t(node){this.token(types$s.Function,node.name+"(");this.children(node);this.token(types$s.RightParenthesis,")")}_Function.generate=generate$t;_Function.name=name$p;_Function.parse=parse$t;_Function.structure=structure$p;_Function.walkContext=walkContext$5;var Hash$2={};const types$r=types$R;const xxx="XXX";const name$o="Hash";const structure$o={value:String};function parse$s(){const start=this.tokenStart;this.eat(types$r.Hash);return{type:"Hash",loc:this.getLocation(start,this.tokenStart),value:this.substrToCursor(start+1)}}function generate$s(node){this.token(types$r.Hash,"#"+node.value)}Hash$2.generate=generate$s;Hash$2.name=name$o;Hash$2.parse=parse$s;Hash$2.structure=structure$o;Hash$2.xxx=xxx;var Identifier$2={};const types$q=types$R;const name$n="Identifier";const structure$n={name:String};function parse$r(){return{type:"Identifier",loc:this.getLocation(this.tokenStart,this.tokenEnd),name:this.consume(types$q.Ident)}}function generate$r(node){this.token(types$q.Ident,node.name)}Identifier$2.generate=generate$r;Identifier$2.name=name$n;Identifier$2.parse=parse$r;Identifier$2.structure=structure$n;var IdSelector$2={};const types$p=types$R;const name$m="IdSelector";const structure$m={name:String};function parse$q(){const start=this.tokenStart;this.eat(types$p.Hash);return{type:"IdSelector",loc:this.getLocation(start,this.tokenStart),name:this.substrToCursor(start+1)}}function generate$q(node){this.token(types$p.Delim,"#"+node.name)}IdSelector$2.generate=generate$q;IdSelector$2.name=name$m;IdSelector$2.parse=parse$q;IdSelector$2.structure=structure$m;var MediaFeature$2={};const types$o=types$R;const name$l="MediaFeature";const structure$l={name:String,value:["Identifier","Number","Dimension","Ratio",null]};function parse$p(){const start=this.tokenStart;let name;let value=null;this.eat(types$o.LeftParenthesis);this.skipSC();name=this.consume(types$o.Ident);this.skipSC();if(this.tokenType!==types$o.RightParenthesis){this.eat(types$o.Colon);this.skipSC();switch(this.tokenType){case types$o.Number:if(this.lookupNonWSType(1)===types$o.Delim){value=this.Ratio()}else{value=this.Number()}break;case types$o.Dimension:value=this.Dimension();break;case types$o.Ident:value=this.Identifier();break;default:this.error("Number, dimension, ratio or identifier is expected")}this.skipSC()}this.eat(types$o.RightParenthesis);return{type:"MediaFeature",loc:this.getLocation(start,this.tokenStart),name:name,value:value}}function generate$p(node){this.token(types$o.LeftParenthesis,"(");this.token(types$o.Ident,node.name);if(node.value!==null){this.token(types$o.Colon,":");this.node(node.value)}this.token(types$o.RightParenthesis,")")}MediaFeature$2.generate=generate$p;MediaFeature$2.name=name$l;MediaFeature$2.parse=parse$p;MediaFeature$2.structure=structure$l;var MediaQuery$2={};const types$n=types$R;const name$k="MediaQuery";const structure$k={children:[["Identifier","MediaFeature","WhiteSpace"]]};function parse$o(){const children=this.createList();let child=null;this.skipSC();scan:while(!this.eof){switch(this.tokenType){case types$n.Comment:case types$n.WhiteSpace:this.next();continue;case types$n.Ident:child=this.Identifier();break;case types$n.LeftParenthesis:child=this.MediaFeature();break;default:break scan}children.push(child)}if(child===null){this.error("Identifier or parenthesis is expected")}return{type:"MediaQuery",loc:this.getLocationFromList(children),children:children}}function generate$o(node){this.children(node)}MediaQuery$2.generate=generate$o;MediaQuery$2.name=name$k;MediaQuery$2.parse=parse$o;MediaQuery$2.structure=structure$k;var MediaQueryList$2={};const types$m=types$R;const name$j="MediaQueryList";const structure$j={children:[["MediaQuery"]]};function parse$n(){const children=this.createList();this.skipSC();while(!this.eof){children.push(this.MediaQuery());if(this.tokenType!==types$m.Comma){break}this.next()}return{type:"MediaQueryList",loc:this.getLocationFromList(children),children:children}}function generate$n(node){this.children(node,(()=>this.token(types$m.Comma,",")))}MediaQueryList$2.generate=generate$n;MediaQueryList$2.name=name$j;MediaQueryList$2.parse=parse$n;MediaQueryList$2.structure=structure$j;var Nth$2={};const types$l=types$R;const name$i="Nth";const structure$i={nth:["AnPlusB","Identifier"],selector:["SelectorList",null]};function parse$m(){this.skipSC();const start=this.tokenStart;let end=start;let selector=null;let nth;if(this.lookupValue(0,"odd")||this.lookupValue(0,"even")){nth=this.Identifier()}else{nth=this.AnPlusB()}end=this.tokenStart;this.skipSC();if(this.lookupValue(0,"of")){this.next();selector=this.SelectorList();end=this.tokenStart}return{type:"Nth",loc:this.getLocation(start,end),nth:nth,selector:selector}}function generate$m(node){this.node(node.nth);if(node.selector!==null){this.token(types$l.Ident,"of");this.node(node.selector)}}Nth$2.generate=generate$m;Nth$2.name=name$i;Nth$2.parse=parse$m;Nth$2.structure=structure$i;var _Number$5={};const types$k=types$R;const name$h="Number";const structure$h={value:String};function parse$l(){return{type:"Number",loc:this.getLocation(this.tokenStart,this.tokenEnd),value:this.consume(types$k.Number)}}function generate$l(node){this.token(types$k.Number,node.value)}_Number$5.generate=generate$l;_Number$5.name=name$h;_Number$5.parse=parse$l;_Number$5.structure=structure$h;var Operator$2={};const name$g="Operator";const structure$g={value:String};function parse$k(){const start=this.tokenStart;this.next();return{type:"Operator",loc:this.getLocation(start,this.tokenStart),value:this.substrToCursor(start)}}function generate$k(node){this.tokenize(node.value)}Operator$2.generate=generate$k;Operator$2.name=name$g;Operator$2.parse=parse$k;Operator$2.structure=structure$g;var Parentheses$2={};const types$j=types$R;const name$f="Parentheses";const structure$f={children:[[]]};function parse$j(readSequence,recognizer){const start=this.tokenStart;let children=null;this.eat(types$j.LeftParenthesis);children=readSequence.call(this,recognizer);if(!this.eof){this.eat(types$j.RightParenthesis)}return{type:"Parentheses",loc:this.getLocation(start,this.tokenStart),children:children}}function generate$j(node){this.token(types$j.LeftParenthesis,"(");this.children(node);this.token(types$j.RightParenthesis,")")}Parentheses$2.generate=generate$j;Parentheses$2.name=name$f;Parentheses$2.parse=parse$j;Parentheses$2.structure=structure$f;var Percentage$4={};const types$i=types$R;const name$e="Percentage";const structure$e={value:String};function parse$i(){return{type:"Percentage",loc:this.getLocation(this.tokenStart,this.tokenEnd),value:this.consumeNumber(types$i.Percentage)}}function generate$i(node){this.token(types$i.Percentage,node.value+"%")}Percentage$4.generate=generate$i;Percentage$4.name=name$e;Percentage$4.parse=parse$i;Percentage$4.structure=structure$e;var PseudoClassSelector$2={};const types$h=types$R;const name$d="PseudoClassSelector";const walkContext$4="function";const structure$d={name:String,children:[["Raw"],null]};function parse$h(){const start=this.tokenStart;let children=null;let name;let nameLowerCase;this.eat(types$h.Colon);if(this.tokenType===types$h.Function){name=this.consumeFunctionName();nameLowerCase=name.toLowerCase();if(hasOwnProperty.call(this.pseudo,nameLowerCase)){this.skipSC();children=this.pseudo[nameLowerCase].call(this);this.skipSC()}else{children=this.createList();children.push(this.Raw(this.tokenIndex,null,false))}this.eat(types$h.RightParenthesis)}else{name=this.consume(types$h.Ident)}return{type:"PseudoClassSelector",loc:this.getLocation(start,this.tokenStart),name:name,children:children}}function generate$h(node){this.token(types$h.Colon,":");if(node.children===null){this.token(types$h.Ident,node.name)}else{this.token(types$h.Function,node.name+"(");this.children(node);this.token(types$h.RightParenthesis,")")}}PseudoClassSelector$2.generate=generate$h;PseudoClassSelector$2.name=name$d;PseudoClassSelector$2.parse=parse$h;PseudoClassSelector$2.structure=structure$d;PseudoClassSelector$2.walkContext=walkContext$4;var PseudoElementSelector$2={};const types$g=types$R;const name$c="PseudoElementSelector";const walkContext$3="function";const structure$c={name:String,children:[["Raw"],null]};function parse$g(){const start=this.tokenStart;let children=null;let name;let nameLowerCase;this.eat(types$g.Colon);this.eat(types$g.Colon);if(this.tokenType===types$g.Function){name=this.consumeFunctionName();nameLowerCase=name.toLowerCase();if(hasOwnProperty.call(this.pseudo,nameLowerCase)){this.skipSC();children=this.pseudo[nameLowerCase].call(this);this.skipSC()}else{children=this.createList();children.push(this.Raw(this.tokenIndex,null,false))}this.eat(types$g.RightParenthesis)}else{name=this.consume(types$g.Ident)}return{type:"PseudoElementSelector",loc:this.getLocation(start,this.tokenStart),name:name,children:children}}function generate$g(node){this.token(types$g.Colon,":");this.token(types$g.Colon,":");if(node.children===null){this.token(types$g.Ident,node.name)}else{this.token(types$g.Function,node.name+"(");this.children(node);this.token(types$g.RightParenthesis,")")}}PseudoElementSelector$2.generate=generate$g;PseudoElementSelector$2.name=name$c;PseudoElementSelector$2.parse=parse$g;PseudoElementSelector$2.structure=structure$c;PseudoElementSelector$2.walkContext=walkContext$3;var Ratio$2={};const types$f=types$R;const charCodeDefinitions$4=charCodeDefinitions$c;const SOLIDUS$2=47;const FULLSTOP$1=46;function consumeNumber(){this.skipSC();const value=this.consume(types$f.Number);for(let i=0;i<value.length;i++){const code=value.charCodeAt(i);if(!charCodeDefinitions$4.isDigit(code)&&code!==FULLSTOP$1){this.error("Unsigned number is expected",this.tokenStart-value.length+i)}}if(Number(value)===0){this.error("Zero number is not allowed",this.tokenStart-value.length)}return value}const name$b="Ratio";const structure$b={left:String,right:String};function parse$f(){const start=this.tokenStart;const left=consumeNumber.call(this);let right;this.skipSC();this.eatDelim(SOLIDUS$2);right=consumeNumber.call(this);return{type:"Ratio",loc:this.getLocation(start,this.tokenStart),left:left,right:right}}function generate$f(node){this.token(types$f.Number,node.left);this.token(types$f.Delim,"/");this.token(types$f.Number,node.right)}Ratio$2.generate=generate$f;Ratio$2.name=name$b;Ratio$2.parse=parse$f;Ratio$2.structure=structure$b;var Raw$4={};const types$e=types$R;function getOffsetExcludeWS(){if(this.tokenIndex>0){if(this.lookupType(-1)===types$e.WhiteSpace){return this.tokenIndex>1?this.getTokenStart(this.tokenIndex-1):this.firstCharOffset}}return this.tokenStart}const name$a="Raw";const structure$a={value:String};function parse$e(startToken,consumeUntil,excludeWhiteSpace){const startOffset=this.getTokenStart(startToken);let endOffset;this.skipUntilBalanced(startToken,consumeUntil||this.consumeUntilBalanceEnd);if(excludeWhiteSpace&&this.tokenStart>startOffset){endOffset=getOffsetExcludeWS.call(this)}else{endOffset=this.tokenStart}return{type:"Raw",loc:this.getLocation(startOffset,endOffset),value:this.substring(startOffset,endOffset)}}function generate$e(node){this.tokenize(node.value)}Raw$4.generate=generate$e;Raw$4.name=name$a;Raw$4.parse=parse$e;Raw$4.structure=structure$a;var Rule$4={};const types$d=types$R;function consumeRaw$2(startToken){return this.Raw(startToken,this.consumeUntilLeftCurlyBracket,true)}function consumePrelude(){const prelude=this.SelectorList();if(prelude.type!=="Raw"&&this.eof===false&&this.tokenType!==types$d.LeftCurlyBracket){this.error()}return prelude}const name$9="Rule";const walkContext$2="rule";const structure$9={prelude:["SelectorList","Raw"],block:["Block"]};function parse$d(){const startToken=this.tokenIndex;const startOffset=this.tokenStart;let prelude;let block;if(this.parseRulePrelude){prelude=this.parseWithFallback(consumePrelude,consumeRaw$2)}else{prelude=consumeRaw$2.call(this,startToken)}block=this.Block(true);return{type:"Rule",loc:this.getLocation(startOffset,this.tokenStart),prelude:prelude,block:block}}function generate$d(node){this.node(node.prelude);this.node(node.block)}Rule$4.generate=generate$d;Rule$4.name=name$9;Rule$4.parse=parse$d;Rule$4.structure=structure$9;Rule$4.walkContext=walkContext$2;var Selector$3={};const name$8="Selector";const structure$8={children:[["TypeSelector","IdSelector","ClassSelector","AttributeSelector","PseudoClassSelector","PseudoElementSelector","Combinator","WhiteSpace"]]};function parse$c(){const children=this.readSequence(this.scope.Selector);if(this.getFirstListNode(children)===null){this.error("Selector is expected")}return{type:"Selector",loc:this.getLocationFromList(children),children:children}}function generate$c(node){this.children(node)}Selector$3.generate=generate$c;Selector$3.name=name$8;Selector$3.parse=parse$c;Selector$3.structure=structure$8;var SelectorList$2={};const types$c=types$R;const name$7="SelectorList";const walkContext$1="selector";const structure$7={children:[["Selector","Raw"]]};function parse$b(){const children=this.createList();while(!this.eof){children.push(this.Selector());if(this.tokenType===types$c.Comma){this.next();continue}break}return{type:"SelectorList",loc:this.getLocationFromList(children),children:children}}function generate$b(node){this.children(node,(()=>this.token(types$c.Comma,",")))}SelectorList$2.generate=generate$b;SelectorList$2.name=name$7;SelectorList$2.parse=parse$b;SelectorList$2.structure=structure$7;SelectorList$2.walkContext=walkContext$1;var _String={};var string$3={};const charCodeDefinitions$3=charCodeDefinitions$c;const utils$d=utils$k;const REVERSE_SOLIDUS$2=92;const QUOTATION_MARK$1=34;const APOSTROPHE$1=39;function decode$2(str){const len=str.length;const firstChar=str.charCodeAt(0);const start=firstChar===QUOTATION_MARK$1||firstChar===APOSTROPHE$1?1:0;const end=start===1&&len>1&&str.charCodeAt(len-1)===firstChar?len-2:len-1;let decoded="";for(let i=start;i<=end;i++){let code=str.charCodeAt(i);if(code===REVERSE_SOLIDUS$2){if(i===end){if(i!==len-1){decoded=str.substr(i+1)}break}code=str.charCodeAt(++i);if(charCodeDefinitions$3.isValidEscape(REVERSE_SOLIDUS$2,code)){const escapeStart=i-1;const escapeEnd=utils$d.consumeEscaped(str,escapeStart);i=escapeEnd-1;decoded+=utils$d.decodeEscaped(str.substring(escapeStart+1,escapeEnd))}else{if(code===13&&str.charCodeAt(i+1)===10){i++}}}else{decoded+=str[i]}}return decoded}function encode$2(str,apostrophe){const quote=apostrophe?"'":'"';const quoteCode=apostrophe?APOSTROPHE$1:QUOTATION_MARK$1;let encoded="";let wsBeforeHexIsNeeded=false;for(let i=0;i<str.length;i++){const code=str.charCodeAt(i);if(code===0){encoded+="<EFBFBD>";continue}if(code<=31||code===127){encoded+="\\"+code.toString(16);wsBeforeHexIsNeeded=true;continue}if(code===quoteCode||code===REVERSE_SOLIDUS$2){encoded+="\\"+str.charAt(i);wsBeforeHexIsNeeded=false}else{if(wsBeforeHexIsNeeded&&(charCodeDefinitions$3.isHexDigit(code)||charCodeDefinitions$3.isWhiteSpace(code))){encoded+=" "}encoded+=str.charAt(i);wsBeforeHexIsNeeded=false}}return quote+encoded+quote}string$3.decode=decode$2;string$3.encode=encode$2;const string$2=string$3;const types$b=types$R;const name$6="String";const structure$6={value:String};function parse$a(){return{type:"String",loc:this.getLocation(this.tokenStart,this.tokenEnd),value:string$2.decode(this.consume(types$b.String))}}function generate$a(node){this.token(types$b.String,string$2.encode(node.value))}_String.generate=generate$a;_String.name=name$6;_String.parse=parse$a;_String.structure=structure$6;var StyleSheet$2={};const types$a=types$R;const EXCLAMATIONMARK=33;function consumeRaw$1(startToken){return this.Raw(startToken,null,false)}const name$5="StyleSheet";const walkContext="stylesheet";const structure$5={children:[["Comment","CDO","CDC","Atrule","Rule","Raw"]]};function parse$9(){const start=this.tokenStart;const children=this.createList();let child;while(!this.eof){switch(this.tokenType){case types$a.WhiteSpace:this.next();continue;case types$a.Comment:if(this.charCodeAt(this.tokenStart+2)!==EXCLAMATIONMARK){this.next();continue}child=this.Comment();break;case types$a.CDO:child=this.CDO();break;case types$a.CDC:child=this.CDC();break;case types$a.AtKeyword:child=this.parseWithFallback(this.Atrule,consumeRaw$1);break;default:child=this.parseWithFallback(this.Rule,consumeRaw$1)}children.push(child)}return{type:"StyleSheet",loc:this.getLocation(start,this.tokenStart),children:children}}function generate$9(node){this.children(node)}StyleSheet$2.generate=generate$9;StyleSheet$2.name=name$5;StyleSheet$2.parse=parse$9;StyleSheet$2.structure=structure$5;StyleSheet$2.walkContext=walkContext;var TypeSelector$4={};const types$9=types$R;const ASTERISK$2=42;const VERTICALLINE$1=124;function eatIdentifierOrAsterisk(){if(this.tokenType!==types$9.Ident&&this.isDelim(ASTERISK$2)===false){this.error("Identifier or asterisk is expected")}this.next()}const name$4="TypeSelector";const structure$4={name:String};function parse$8(){const start=this.tokenStart;if(this.isDelim(VERTICALLINE$1)){this.next();eatIdentifierOrAsterisk.call(this)}else{eatIdentifierOrAsterisk.call(this);if(this.isDelim(VERTICALLINE$1)){this.next();eatIdentifierOrAsterisk.call(this)}}return{type:"TypeSelector",loc:this.getLocation(start,this.tokenStart),name:this.substrToCursor(start)}}function generate$8(node){this.tokenize(node.name)}TypeSelector$4.generate=generate$8;TypeSelector$4.name=name$4;TypeSelector$4.parse=parse$8;TypeSelector$4.structure=structure$4;var UnicodeRange$2={};const types$8=types$R;const charCodeDefinitions$2=charCodeDefinitions$c;const PLUSSIGN$2=43;const HYPHENMINUS$1=45;const QUESTIONMARK=63;function eatHexSequence(offset,allowDash){let len=0;for(let pos=this.tokenStart+offset;pos<this.tokenEnd;pos++){const code=this.charCodeAt(pos);if(code===HYPHENMINUS$1&&allowDash&&len!==0){eatHexSequence.call(this,offset+len+1,false);return-1}if(!charCodeDefinitions$2.isHexDigit(code)){this.error(allowDash&&len!==0?"Hyphen minus"+(len<6?" or hex digit":"")+" is expected":len<6?"Hex digit is expected":"Unexpected input",pos)}if(++len>6){this.error("Too many hex digits",pos)}}this.next();return len}function eatQuestionMarkSequence(max){let count=0;while(this.isDelim(QUESTIONMARK)){if(++count>max){this.error("Too many question marks")}this.next()}}function startsWith(code){if(this.charCodeAt(this.tokenStart)!==code){this.error((code===PLUSSIGN$2?"Plus sign":"Hyphen minus")+" is expected")}}function scanUnicodeRange(){let hexLength=0;switch(this.tokenType){case types$8.Number:hexLength=eatHexSequence.call(this,1,true);if(this.isDelim(QUESTIONMARK)){eatQuestionMarkSequence.call(this,6-hexLength);break}if(this.tokenType===types$8.Dimension||this.tokenType===types$8.Number){startsWith.call(this,HYPHENMINUS$1);eatHexSequence.call(this,1,false);break}break;case types$8.Dimension:hexLength=eatHexSequence.call(this,1,true);if(hexLength>0){eatQuestionMarkSequence.call(this,6-hexLength)}break;default:this.eatDelim(PLUSSIGN$2);if(this.tokenType===types$8.Ident){hexLength=eatHexSequence.call(this,0,true);if(hexLength>0){eatQuestionMarkSequence.call(this,6-hexLength)}break}if(this.isDelim(QUESTIONMARK)){this.next();eatQuestionMarkSequence.call(this,5);break}this.error("Hex digit or question mark is expected")}}const name$3="UnicodeRange";const structure$3={value:String};function parse$7(){const start=this.tokenStart;this.eatIdent("u");scanUnicodeRange.call(this);return{type:"UnicodeRange",loc:this.getLocation(start,this.tokenStart),value:this.substrToCursor(start)}}function generate$7(node){this.tokenize(node.value)}UnicodeRange$2.generate=generate$7;UnicodeRange$2.name=name$3;UnicodeRange$2.parse=parse$7;UnicodeRange$2.structure=structure$3;var Url$4={};var url$2={};const charCodeDefinitions$1=charCodeDefinitions$c;const utils$c=utils$k;const SPACE$1=32;const REVERSE_SOLIDUS$1=92;const QUOTATION_MARK=34;const APOSTROPHE=39;const LEFTPARENTHESIS=40;const RIGHTPARENTHESIS=41;function decode$1(str){const len=str.length;let start=4;let end=str.charCodeAt(len-1)===RIGHTPARENTHESIS?len-2:len-1;let decoded="";while(start<end&&charCodeDefinitions$1.isWhiteSpace(str.charCodeAt(start))){start++}while(start<end&&charCodeDefinitions$1.isWhiteSpace(str.charCodeAt(end))){end--}for(let i=start;i<=end;i++){let code=str.charCodeAt(i);if(code===REVERSE_SOLIDUS$1){if(i===end){if(i!==len-1){decoded=str.substr(i+1)}break}code=str.charCodeAt(++i);if(charCodeDefinitions$1.isValidEscape(REVERSE_SOLIDUS$1,code)){const escapeStart=i-1;const escapeEnd=utils$c.consumeEscaped(str,escapeStart);i=escapeEnd-1;decoded+=utils$c.decodeEscaped(str.substring(escapeStart+1,escapeEnd))}else{if(code===13&&str.charCodeAt(i+1)===10){i++}}}else{decoded+=str[i]}}return decoded}function encode$1(str){let encoded="";let wsBeforeHexIsNeeded=false;for(let i=0;i<str.length;i++){const code=str.charCodeAt(i);if(code===0){encoded+="<EFBFBD>";continue}if(code<=31||code===127){encoded+="\\"+code.toString(16);wsBeforeHexIsNeeded=true;continue}if(code===SPACE$1||code===REVERSE_SOLIDUS$1||code===QUOTATION_MARK||code===APOSTROPHE||code===LEFTPARENTHESIS||code===RIGHTPARENTHESIS){encoded+="\\"+str.charAt(i);wsBeforeHexIsNeeded=false}else{if(wsBeforeHexIsNeeded&&charCodeDefinitions$1.isHexDigit(code)){encoded+=" "}encoded+=str.charAt(i);wsBeforeHexIsNeeded=false}}return"url("+encoded+")"}url$2.decode=decode$1;url$2.encode=encode$1;const url$1=url$2;const string$1=string$3;const types$7=types$R;const name$2="Url";const structure$2={value:String};function parse$6(){const start=this.tokenStart;let value;switch(this.tokenType){case types$7.Url:value=url$1.decode(this.consume(types$7.Url));break;case types$7.Function:if(!this.cmpStr(this.tokenStart,this.tokenEnd,"url(")){this.error("Function name must be `url`")}this.eat(types$7.Function);this.skipSC();value=string$1.decode(this.consume(types$7.String));this.skipSC();if(!this.eof){this.eat(types$7.RightParenthesis)}break;default:this.error("Url or Function is expected")}return{type:"Url",loc:this.getLocation(start,this.tokenStart),value:value}}function generate$6(node){this.token(types$7.Url,url$1.encode(node.value))}Url$4.generate=generate$6;Url$4.name=name$2;Url$4.parse=parse$6;Url$4.structure=structure$2;var Value$4={};const name$1="Value";const structure$1={children:[[]]};function parse$5(){const start=this.tokenStart;const children=this.readSequence(this.scope.Value);return{type:"Value",loc:this.getLocation(start,this.tokenStart),children:children}}function generate$5(node){this.children(node)}Value$4.generate=generate$5;Value$4.name=name$1;Value$4.parse=parse$5;Value$4.structure=structure$1;var WhiteSpace$4={};const types$6=types$R;const SPACE=Object.freeze({type:"WhiteSpace",loc:null,value:" "});const name="WhiteSpace";const structure={value:String};function parse$4(){this.eat(types$6.WhiteSpace);return SPACE}function generate$4(node){this.token(types$6.WhiteSpace,node.value)}WhiteSpace$4.generate=generate$4;WhiteSpace$4.name=name;WhiteSpace$4.parse=parse$4;WhiteSpace$4.structure=structure;const AnPlusB$1=AnPlusB$2;const Atrule$5=Atrule$6;const AtrulePrelude$1=AtrulePrelude$2;const AttributeSelector$3=AttributeSelector$4;const Block$1=Block$2;const Brackets$1=Brackets$2;const CDC$1=CDC$2;const CDO$1=CDO$2;const ClassSelector$1=ClassSelector$2;const Combinator$1=Combinator$2;const Comment$3=Comment$4;const Declaration$3=Declaration$4;const DeclarationList$1=DeclarationList$2;const Dimension$3=Dimension$4;const Function$1=_Function;const Hash$1=Hash$2;const Identifier$1=Identifier$2;const IdSelector$1=IdSelector$2;const MediaFeature$1=MediaFeature$2;const MediaQuery$1=MediaQuery$2;const MediaQueryList$1=MediaQueryList$2;const Nth$1=Nth$2;const Number$1$1=_Number$5;const Operator$1=Operator$2;const Parentheses$1=Parentheses$2;const Percentage$3=Percentage$4;const PseudoClassSelector$1=PseudoClassSelector$2;const PseudoElementSelector$1=PseudoElementSelector$2;const Ratio$1=Ratio$2;const Raw$3=Raw$4;const Rule$3=Rule$4;const Selector$2=Selector$3;const SelectorList$1=SelectorList$2;const String$1$1=_String;const StyleSheet$1=StyleSheet$2;const TypeSelector$3=TypeSelector$4;const UnicodeRange$1=UnicodeRange$2;const Url$3=Url$4;const Value$3=Value$4;const WhiteSpace$3=WhiteSpace$4;node.AnPlusB=AnPlusB$1;node.Atrule=Atrule$5;node.AtrulePrelude=AtrulePrelude$1;node.AttributeSelector=AttributeSelector$3;node.Block=Block$1;node.Brackets=Brackets$1;node.CDC=CDC$1;node.CDO=CDO$1;node.ClassSelector=ClassSelector$1;node.Combinator=Combinator$1;node.Comment=Comment$3;node.Declaration=Declaration$3;node.DeclarationList=DeclarationList$1;node.Dimension=Dimension$3;node.Function=Function$1;node.Hash=Hash$1;node.Identifier=Identifier$1;node.IdSelector=IdSelector$1;node.MediaFeature=MediaFeature$1;node.MediaQuery=MediaQuery$1;node.MediaQueryList=MediaQueryList$1;node.Nth=Nth$1;node.Number=Number$1$1;node.Operator=Operator$1;node.Parentheses=Parentheses$1;node.Percentage=Percentage$3;node.PseudoClassSelector=PseudoClassSelector$1;node.PseudoElementSelector=PseudoElementSelector$1;node.Ratio=Ratio$1;node.Raw=Raw$3;node.Rule=Rule$3;node.Selector=Selector$2;node.SelectorList=SelectorList$1;node.String=String$1$1;node.StyleSheet=StyleSheet$1;node.TypeSelector=TypeSelector$3;node.UnicodeRange=UnicodeRange$1;node.Url=Url$3;node.Value=Value$3;node.WhiteSpace=WhiteSpace$3;const data=data$1;const index$7=node;const lexerConfig={generic:true,...data,node:index$7};var lexer$3=lexerConfig;var scope={};const types$5=types$R;const NUMBERSIGN$1=35;const ASTERISK$1=42;const PLUSSIGN$1=43;const HYPHENMINUS=45;const SOLIDUS$1=47;const U=117;function defaultRecognizer(context){switch(this.tokenType){case types$5.Hash:return this.Hash();case types$5.Comma:return this.Operator();case types$5.LeftParenthesis:return this.Parentheses(this.readSequence,context.recognizer);case types$5.LeftSquareBracket:return this.Brackets(this.readSequence,context.recognizer);case types$5.String:return this.String();case types$5.Dimension:return this.Dimension();case types$5.Percentage:return this.Percentage();case types$5.Number:return this.Number();case types$5.Function:return this.cmpStr(this.tokenStart,this.tokenEnd,"url(")?this.Url():this.Function(this.readSequence,context.recognizer);case types$5.Url:return this.Url();case types$5.Ident:if(this.cmpChar(this.tokenStart,U)&&this.cmpChar(this.tokenStart+1,PLUSSIGN$1)){return this.UnicodeRange()}else{return this.Identifier()}case types$5.Delim:{const code=this.charCodeAt(this.tokenStart);if(code===SOLIDUS$1||code===ASTERISK$1||code===PLUSSIGN$1||code===HYPHENMINUS){return this.Operator()}if(code===NUMBERSIGN$1){this.error("Hex or identifier is expected",this.tokenStart+1)}break}}}var _default$2=defaultRecognizer;const _default$1=_default$2;const atrulePrelude$1={getNode:_default$1};var atrulePrelude_1=atrulePrelude$1;const types$4=types$R;const NUMBERSIGN=35;const ASTERISK=42;const PLUSSIGN=43;const SOLIDUS=47;const FULLSTOP=46;const GREATERTHANSIGN=62;const VERTICALLINE=124;const TILDE=126;function onWhiteSpace(next,children){if(children.last!==null&&children.last.type!=="Combinator"&&next!==null&&next.type!=="Combinator"){children.push({type:"Combinator",loc:null,name:" "})}}function getNode(){switch(this.tokenType){case types$4.LeftSquareBracket:return this.AttributeSelector();case types$4.Hash:return this.IdSelector();case types$4.Colon:if(this.lookupType(1)===types$4.Colon){return this.PseudoElementSelector()}else{return this.PseudoClassSelector()}case types$4.Ident:return this.TypeSelector();case types$4.Number:case types$4.Percentage:return this.Percentage();case types$4.Dimension:if(this.charCodeAt(this.tokenStart)===FULLSTOP){this.error("Identifier is expected",this.tokenStart+1)}break;case types$4.Delim:{const code=this.charCodeAt(this.tokenStart);switch(code){case PLUSSIGN:case GREATERTHANSIGN:case TILDE:case SOLIDUS:return this.Combinator();case FULLSTOP:return this.ClassSelector();case ASTERISK:case VERTICALLINE:return this.TypeSelector();case NUMBERSIGN:return this.IdSelector()}break}}}const Selector$1={onWhiteSpace:onWhiteSpace,getNode:getNode};var selector$2=Selector$1;function expressionFn(){return this.createSingleNodeList(this.Raw(this.tokenIndex,null,false))}var expression$1=expressionFn;const types$3=types$R;function varFn(){const children=this.createList();this.skipSC();children.push(this.Identifier());this.skipSC();if(this.tokenType===types$3.Comma){children.push(this.Operator());const startIndex=this.tokenIndex;const value=this.parseCustomProperty?this.Value(null):this.Raw(this.tokenIndex,this.consumeUntilExclamationMarkOrSemicolon,false);if(value.type==="Value"&&value.children.isEmpty){for(let offset=startIndex-this.tokenIndex;offset<=0;offset++){if(this.lookupType(offset)===types$3.WhiteSpace){value.children.appendData({type:"WhiteSpace",loc:null,value:" "});break}}}children.push(value)}return children}var _var$1=varFn;const _default=_default$2;const expression=expression$1;const _var=_var$1;function isPlusMinusOperator(node){return node!==null&&node.type==="Operator"&&(node.value[node.value.length-1]==="-"||node.value[node.value.length-1]==="+")}const value$1={getNode:_default,onWhiteSpace(next,children){if(isPlusMinusOperator(next)){next.value=" "+next.value}if(isPlusMinusOperator(children.last)){children.last.value+=" "}},expression:expression,var:_var};var value_1=value$1;const atrulePrelude=atrulePrelude_1;const selector$1=selector$2;const value=value_1;scope.AtrulePrelude=atrulePrelude;scope.Selector=selector$1;scope.Value=value;const fontFace$1={parse:{prelude:null,block(){return this.Block(true)}}};var fontFace_1=fontFace$1;const types$2=types$R;const importAtrule={parse:{prelude(){const children=this.createList();this.skipSC();switch(this.tokenType){case types$2.String:children.push(this.String());break;case types$2.Url:case types$2.Function:children.push(this.Url());break;default:this.error("String or url() is expected")}if(this.lookupNonWSType(0)===types$2.Ident||this.lookupNonWSType(0)===types$2.LeftParenthesis){children.push(this.MediaQueryList())}return children},block:null}};var _import$1=importAtrule;const media$1={parse:{prelude(){return this.createSingleNodeList(this.MediaQueryList())},block(){return this.Block(false)}}};var media_1=media$1;const page$1={parse:{prelude(){return this.createSingleNodeList(this.SelectorList())},block(){return this.Block(true)}}};var page_1=page$1;const types$1=types$R;function consumeRaw(){return this.createSingleNodeList(this.Raw(this.tokenIndex,null,false))}function parentheses(){this.skipSC();if(this.tokenType===types$1.Ident&&this.lookupNonWSType(1)===types$1.Colon){return this.createSingleNodeList(this.Declaration())}return readSequence.call(this)}function readSequence(){const children=this.createList();let child;this.skipSC();scan:while(!this.eof){switch(this.tokenType){case types$1.Comment:case types$1.WhiteSpace:this.next();continue;case types$1.Function:child=this.Function(consumeRaw,this.scope.AtrulePrelude);break;case types$1.Ident:child=this.Identifier();break;case types$1.LeftParenthesis:child=this.Parentheses(parentheses,this.scope.AtrulePrelude);break;default:break scan}children.push(child)}return children}const supports$1={parse:{prelude(){const children=readSequence.call(this);if(this.getFirstListNode(children)===null){this.error("Condition is expected")}return children},block(){return this.Block(false)}}};var supports_1=supports$1;const fontFace=fontFace_1;const _import=_import$1;const media=media_1;const page=page_1;const supports=supports_1;const atrule={"font-face":fontFace,import:_import,media:media,page:page,supports:supports};var atrule_1=atrule;const selectorList={parse(){return this.createSingleNodeList(this.SelectorList())}};const selector={parse(){return this.createSingleNodeList(this.Selector())}};const identList={parse(){return this.createSingleNodeList(this.Identifier())}};const nth={parse(){return this.createSingleNodeList(this.Nth())}};const pseudo={dir:identList,has:selectorList,lang:identList,matches:selectorList,is:selectorList,"-moz-any":selectorList,"-webkit-any":selectorList,where:selectorList,not:selectorList,"nth-child":nth,"nth-last-child":nth,"nth-last-of-type":nth,"nth-of-type":nth,slotted:selector};var pseudo_1=pseudo;var indexParse$1={};const AnPlusB=AnPlusB$2;const Atrule$4=Atrule$6;const AtrulePrelude=AtrulePrelude$2;const AttributeSelector$2=AttributeSelector$4;const Block=Block$2;const Brackets=Brackets$2;const CDC=CDC$2;const CDO=CDO$2;const ClassSelector=ClassSelector$2;const Combinator=Combinator$2;const Comment$2=Comment$4;const Declaration$2=Declaration$4;const DeclarationList=DeclarationList$2;const Dimension$2=Dimension$4;const Function=_Function;const Hash=Hash$2;const Identifier=Identifier$2;const IdSelector=IdSelector$2;const MediaFeature=MediaFeature$2;const MediaQuery=MediaQuery$2;const MediaQueryList=MediaQueryList$2;const Nth=Nth$2;const Number$2=_Number$5;const Operator=Operator$2;const Parentheses=Parentheses$2;const Percentage$2=Percentage$4;const PseudoClassSelector=PseudoClassSelector$2;const PseudoElementSelector=PseudoElementSelector$2;const Ratio=Ratio$2;const Raw$2=Raw$4;const Rule$2=Rule$4;const Selector=Selector$3;const SelectorList=SelectorList$2;const String$1=_String;const StyleSheet=StyleSheet$2;const TypeSelector$2=TypeSelector$4;const UnicodeRange=UnicodeRange$2;const Url$2=Url$4;const Value$2=Value$4;const WhiteSpace$2=WhiteSpace$4;indexParse$1.AnPlusB=AnPlusB.parse;indexParse$1.Atrule=Atrule$4.parse;indexParse$1.AtrulePrelude=AtrulePrelude.parse;indexParse$1.AttributeSelector=AttributeSelector$2.parse;indexParse$1.Block=Block.parse;indexParse$1.Brackets=Brackets.parse;indexParse$1.CDC=CDC.parse;indexParse$1.CDO=CDO.parse;indexParse$1.ClassSelector=ClassSelector.parse;indexParse$1.Combinator=Combinator.parse;indexParse$1.Comment=Comment$2.parse;indexParse$1.Declaration=Declaration$2.parse;indexParse$1.DeclarationList=DeclarationList.parse;indexParse$1.Dimension=Dimension$2.parse;indexParse$1.Function=Function.parse;indexParse$1.Hash=Hash.parse;indexParse$1.Identifier=Identifier.parse;indexParse$1.IdSelector=IdSelector.parse;indexParse$1.MediaFeature=MediaFeature.parse;indexParse$1.MediaQuery=MediaQuery.parse;indexParse$1.MediaQueryList=MediaQueryList.parse;indexParse$1.Nth=Nth.parse;indexParse$1.Number=Number$2.parse;indexParse$1.Operator=Operator.parse;indexParse$1.Parentheses=Parentheses.parse;indexParse$1.Percentage=Percentage$2.parse;indexParse$1.PseudoClassSelector=PseudoClassSelector.parse;indexParse$1.PseudoElementSelector=PseudoElementSelector.parse;indexParse$1.Ratio=Ratio.parse;indexParse$1.Raw=Raw$2.parse;indexParse$1.Rule=Rule$2.parse;indexParse$1.Selector=Selector.parse;indexParse$1.SelectorList=SelectorList.parse;indexParse$1.String=String$1.parse;indexParse$1.StyleSheet=StyleSheet.parse;indexParse$1.TypeSelector=TypeSelector$2.parse;indexParse$1.UnicodeRange=UnicodeRange.parse;indexParse$1.Url=Url$2.parse;indexParse$1.Value=Value$2.parse;indexParse$1.WhiteSpace=WhiteSpace$2.parse;const index$6=scope;const index$1$2=atrule_1;const index$2$1=pseudo_1;const indexParse=indexParse$1;const config$1={parseContext:{default:"StyleSheet",stylesheet:"StyleSheet",atrule:"Atrule",atrulePrelude(options){return this.AtrulePrelude(options.atrule?String(options.atrule):null)},mediaQueryList:"MediaQueryList",mediaQuery:"MediaQuery",rule:"Rule",selectorList:"SelectorList",selector:"Selector",block(){return this.Block(true)},declarationList:"DeclarationList",declaration:"Declaration",value:"Value"},scope:index$6,atrule:index$1$2,pseudo:index$2$1,node:indexParse};var parser$1=config$1;const index$5=node;const config={node:index$5};var walker$1=config;const create$1=create_1;const lexer$2=lexer$3;const parser=parser$1;const walker=walker$1;const syntax$2=create$1({...lexer$2,...parser,...walker});var syntax_1=syntax$2;var version$3="2.2.1";var definitionSyntax={};const SyntaxError$1=_SyntaxError;const generate$3=generate$L;const parse$3=parse$L;const walk$2=walk$5;definitionSyntax.SyntaxError=SyntaxError$1.SyntaxError;definitionSyntax.generate=generate$3.generate;definitionSyntax.parse=parse$3.parse;definitionSyntax.walk=walk$2.walk;var clone$2={};const List$1=List$7;function clone$1(node){const result={};for(const key in node){let value=node[key];if(value){if(Array.isArray(value)||value instanceof List$1.List){value=value.map(clone$1)}else if(value.constructor===Object){value=clone$1(value)}}result[key]=value}return result}clone$2.clone=clone$1;var ident$1={};const charCodeDefinitions=charCodeDefinitions$c;const utils$b=utils$k;const REVERSE_SOLIDUS=92;function decode(str){const end=str.length-1;let decoded="";for(let i=0;i<str.length;i++){let code=str.charCodeAt(i);if(code===REVERSE_SOLIDUS){if(i===end){break}code=str.charCodeAt(++i);if(charCodeDefinitions.isValidEscape(REVERSE_SOLIDUS,code)){const escapeStart=i-1;const escapeEnd=utils$b.consumeEscaped(str,escapeStart);i=escapeEnd-1;decoded+=utils$b.decodeEscaped(str.substring(escapeStart+1,escapeEnd))}else{if(code===13&&str.charCodeAt(i+1)===10){i++}}}else{decoded+=str[i]}}return decoded}function encode(str){let encoded="";if(str.length===1&&str.charCodeAt(0)===45){return"\\-"}for(let i=0;i<str.length;i++){const code=str.charCodeAt(i);if(code===0){encoded+="<EFBFBD>";continue}if(code<=31||code===127||code>=48&&code<=57&&(i===0||i===1&&str.charCodeAt(0)===45)){encoded+="\\"+code.toString(16)+" ";continue}if(charCodeDefinitions.isName(code)){encoded+=str.charAt(i)}else{encoded+="\\"+str.charAt(i)}}return encoded}ident$1.decode=decode;ident$1.encode=encode;const index$1$1=syntax_1;const version$2=version$3;const create=create_1;const List=List$7;const Lexer=Lexer$3;const index$4=definitionSyntax;const clone=clone$2;const names$1=names$4;const ident=ident$1;const string=string$3;const url=url$2;const types=types$R;const names=names$8;const TokenStream=TokenStream$4;const{tokenize:tokenize$1,parse:parse$2,generate:generate$2,lexer:lexer$1,createLexer:createLexer,walk:walk$1,find:find$1,findLast:findLast$1,findAll:findAll$1,toPlainObject:toPlainObject$1,fromPlainObject:fromPlainObject$1,fork:fork}=index$1$1;cjs$1.version=version$2.version;cjs$1.createSyntax=create;cjs$1.List=List.List;cjs$1.Lexer=Lexer.Lexer;cjs$1.definitionSyntax=index$4;cjs$1.clone=clone.clone;cjs$1.isCustomProperty=names$1.isCustomProperty;cjs$1.keyword=names$1.keyword;cjs$1.property=names$1.property;cjs$1.vendorPrefix=names$1.vendorPrefix;cjs$1.ident=ident;cjs$1.string=string;cjs$1.url=url;cjs$1.tokenTypes=types;cjs$1.tokenNames=names;cjs$1.TokenStream=TokenStream.TokenStream;cjs$1.createLexer=createLexer;cjs$1.find=find$1;cjs$1.findAll=findAll$1;cjs$1.findLast=findLast$1;cjs$1.fork=fork;cjs$1.fromPlainObject=fromPlainObject$1;cjs$1.generate=generate$2;cjs$1.lexer=lexer$1;cjs$1.parse=parse$2;cjs$1.toPlainObject=toPlainObject$1;cjs$1.tokenize=tokenize$1;cjs$1.walk=walk$1;var cjs={};var version$1="5.0.5";var syntax$1={};var usage$1={};const{hasOwnProperty:hasOwnProperty$4}=Object.prototype;function buildMap(list,caseInsensitive){const map=Object.create(null);if(!Array.isArray(list)){return null}for(let name of list){if(caseInsensitive){name=name.toLowerCase()}map[name]=true}return map}function buildList(data){if(!data){return null}const tags=buildMap(data.tags,true);const ids=buildMap(data.ids);const classes=buildMap(data.classes);if(tags===null&&ids===null&&classes===null){return null}return{tags:tags,ids:ids,classes:classes}}function buildIndex(data){let scopes=false;if(data.scopes&&Array.isArray(data.scopes)){scopes=Object.create(null);for(let i=0;i<data.scopes.length;i++){const list=data.scopes[i];if(!list||!Array.isArray(list)){throw new Error("Wrong usage format")}for(const name of list){if(hasOwnProperty$4.call(scopes,name)){throw new Error(`Class can't be used for several scopes: ${name}`)}scopes[name]=i+1}}}return{whitelist:buildList(data),blacklist:buildList(data.blacklist),scopes:scopes}}usage$1.buildIndex=buildIndex;var utils$a={};function hasNoChildren(node){return!node||!node.children||node.children.isEmpty}function isNodeChildrenList(node,list){return node!==null&&node.children===list}utils$a.hasNoChildren=hasNoChildren;utils$a.isNodeChildrenList=isNodeChildrenList;const cssTree$m=cjs$1;const utils$9=utils$a;function cleanAtrule(node,item,list){if(node.block){if(this.stylesheet!==null){this.stylesheet.firstAtrulesAllowed=false}if(utils$9.hasNoChildren(node.block)){list.remove(item);return}}switch(node.name){case"charset":if(utils$9.hasNoChildren(node.prelude)){list.remove(item);return}if(item.prev){list.remove(item);return}break;case"import":if(this.stylesheet===null||!this.stylesheet.firstAtrulesAllowed){list.remove(item);return}list.prevUntil(item.prev,(function(rule){if(rule.type==="Atrule"){if(rule.name==="import"||rule.name==="charset"){return}}this.root.firstAtrulesAllowed=false;list.remove(item);return true}),this);break;default:{const name=cssTree$m.keyword(node.name).basename;if(name==="keyframes"||name==="media"||name==="supports"){if(utils$9.hasNoChildren(node.prelude)||utils$9.hasNoChildren(node.block)){list.remove(item)}}}}}var Atrule$3=cleanAtrule;function cleanComment(data,item,list){list.remove(item)}var Comment$1=cleanComment;const cssTree$l=cjs$1;function cleanDeclartion(node,item,list){if(node.value.children&&node.value.children.isEmpty){list.remove(item);return}if(cssTree$l.property(node.property).custom){if(/\S/.test(node.value.value)){node.value.value=node.value.value.trim()}}}var Declaration$1=cleanDeclartion;const utils$8=utils$a;function cleanRaw(node,item,list){if(utils$8.isNodeChildrenList(this.stylesheet,list)||utils$8.isNodeChildrenList(this.block,list)){list.remove(item)}}var Raw$1=cleanRaw;const cssTree$k=cjs$1;const utils$7=utils$a;const{hasOwnProperty:hasOwnProperty$3}=Object.prototype;const skipUsageFilteringAtrule=new Set(["keyframes"]);function cleanUnused(selectorList,usageData){selectorList.children.forEach(((selector,item,list)=>{let shouldRemove=false;cssTree$k.walk(selector,(function(node){if(this.selector===null||this.selector===selectorList){switch(node.type){case"SelectorList":if(this.function===null||this.function.name.toLowerCase()!=="not"){if(cleanUnused(node,usageData)){shouldRemove=true}}break;case"ClassSelector":if(usageData.whitelist!==null&&usageData.whitelist.classes!==null&&!hasOwnProperty$3.call(usageData.whitelist.classes,node.name)){shouldRemove=true}if(usageData.blacklist!==null&&usageData.blacklist.classes!==null&&hasOwnProperty$3.call(usageData.blacklist.classes,node.name)){shouldRemove=true}break;case"IdSelector":if(usageData.whitelist!==null&&usageData.whitelist.ids!==null&&!hasOwnProperty$3.call(usageData.whitelist.ids,node.name)){shouldRemove=true}if(usageData.blacklist!==null&&usageData.blacklist.ids!==null&&hasOwnProperty$3.call(usageData.blacklist.ids,node.name)){shouldRemove=true}break;case"TypeSelector":if(node.name.charAt(node.name.length-1)!=="*"){if(usageData.whitelist!==null&&usageData.whitelist.tags!==null&&!hasOwnProperty$3.call(usageData.whitelist.tags,node.name.toLowerCase())){shouldRemove=true}if(usageData.blacklist!==null&&usageData.blacklist.tags!==null&&hasOwnProperty$3.call(usageData.blacklist.tags,node.name.toLowerCase())){shouldRemove=true}}break}}}));if(shouldRemove){list.remove(item)}}));return selectorList.children.isEmpty}function cleanRule(node,item,list,options){if(utils$7.hasNoChildren(node.prelude)||utils$7.hasNoChildren(node.block)){list.remove(item);return}if(this.atrule&&skipUsageFilteringAtrule.has(cssTree$k.keyword(this.atrule.name).basename)){return}const{usage:usage}=options;if(usage&&(usage.whitelist!==null||usage.blacklist!==null)){cleanUnused(node.prelude,usage);if(utils$7.hasNoChildren(node.prelude)){list.remove(item);return}}}var Rule$1=cleanRule;function cleanTypeSelector(node,item,list){const name=item.data.name;if(name!=="*"){return}const nextType=item.next&&item.next.data.type;if(nextType==="IdSelector"||nextType==="ClassSelector"||nextType==="AttributeSelector"||nextType==="PseudoClassSelector"||nextType==="PseudoElementSelector"){list.remove(item)}}var TypeSelector$1=cleanTypeSelector;function cleanWhitespace(node,item,list){list.remove(item)}var WhiteSpace$1=cleanWhitespace;const cssTree$j=cjs$1;const Atrule$2=Atrule$3;const Comment=Comment$1;const Declaration=Declaration$1;const Raw=Raw$1;const Rule=Rule$1;const TypeSelector=TypeSelector$1;const WhiteSpace=WhiteSpace$1;const handlers$2={Atrule:Atrule$2,Comment:Comment,Declaration:Declaration,Raw:Raw,Rule:Rule,TypeSelector:TypeSelector,WhiteSpace:WhiteSpace};function clean(ast,options){cssTree$j.walk(ast,{leave(node,item,list){if(handlers$2.hasOwnProperty(node.type)){handlers$2[node.type].call(this,node,item,list,options)}}})}var clean_1=clean;function compressKeyframes(node){node.block.children.forEach((rule=>{rule.prelude.children.forEach((simpleselector=>{simpleselector.children.forEach(((data,item)=>{if(data.type==="Percentage"&&data.value==="100"){item.data={type:"TypeSelector",loc:data.loc,name:"to"}}else if(data.type==="TypeSelector"&&data.name==="from"){item.data={type:"Percentage",loc:data.loc,value:"0"}}}))}))}))}var keyframes$1=compressKeyframes;const cssTree$i=cjs$1;const keyframes=keyframes$1;function Atrule$1(node){if(cssTree$i.keyword(node.name).basename==="keyframes"){keyframes(node)}}var Atrule_1=Atrule$1;const blockUnquoteRx=/^(-?\d|--)|[\u0000-\u002c\u002e\u002f\u003A-\u0040\u005B-\u005E\u0060\u007B-\u009f]/;function canUnquote(value){if(value===""||value==="-"){return false}return!blockUnquoteRx.test(value)}function AttributeSelector$1(node){const attrValue=node.value;if(!attrValue||attrValue.type!=="String"){return}if(canUnquote(attrValue.value)){node.value={type:"Identifier",loc:attrValue.loc,name:attrValue.value}}}var AttributeSelector_1=AttributeSelector$1;function compressFont(node){const list=node.children;list.forEachRight((function(node,item){if(node.type==="Identifier"){if(node.name==="bold"){item.data={type:"Number",loc:node.loc,value:"700"}}else if(node.name==="normal"){const prev=item.prev;if(prev&&prev.data.type==="Operator"&&prev.data.value==="/"){this.remove(prev)}this.remove(item)}}}));if(list.isEmpty){list.insert(list.createItem({type:"Identifier",name:"normal"}))}}var font$1=compressFont;function compressFontWeight(node){const value=node.children.head.data;if(value.type==="Identifier"){switch(value.name){case"normal":node.children.head.data={type:"Number",loc:value.loc,value:"400"};break;case"bold":node.children.head.data={type:"Number",loc:value.loc,value:"700"};break}}}var fontWeight$1=compressFontWeight;const cssTree$h=cjs$1;function compressBackground(node){function flush(){if(!buffer.length){buffer.unshift({type:"Number",loc:null,value:"0"},{type:"Number",loc:null,value:"0"})}newValue.push.apply(newValue,buffer);buffer=[]}let newValue=[];let buffer=[];node.children.forEach((node=>{if(node.type==="Operator"&&node.value===","){flush();newValue.push(node);return}if(node.type==="Identifier"){if(node.name==="transparent"||node.name==="none"||node.name==="repeat"||node.name==="scroll"){return}}buffer.push(node)}));flush();node.children=(new cssTree$h.List).fromArray(newValue)}var background$1=compressBackground;function compressBorder(node){node.children.forEach(((node,item,list)=>{if(node.type==="Identifier"&&node.name.toLowerCase()==="none"){if(list.head===list.tail){item.data={type:"Number",loc:node.loc,value:"0"}}else{list.remove(item)}}}))}var border$1=compressBorder;const cssTree$g=cjs$1;const font=font$1;const fontWeight=fontWeight$1;const background=background$1;const border=border$1;const handlers$1={font:font,"font-weight":fontWeight,background:background,border:border,outline:border};function compressValue(node){if(!this.declaration){return}const property=cssTree$g.property(this.declaration.property);if(handlers$1.hasOwnProperty(property.basename)){handlers$1[property.basename](node)}}var Value$1=compressValue;var _Number$4={};const OMIT_PLUSSIGN=/^(?:\+|(-))?0*(\d*)(?:\.0*|(\.\d*?)0*)?$/;const KEEP_PLUSSIGN=/^([\+\-])?0*(\d*)(?:\.0*|(\.\d*?)0*)?$/;const unsafeToRemovePlusSignAfter=new Set(["Dimension","Hash","Identifier","Number","Raw","UnicodeRange"]);function packNumber(value,item){const regexp=item&&item.prev!==null&&unsafeToRemovePlusSignAfter.has(item.prev.data.type)?KEEP_PLUSSIGN:OMIT_PLUSSIGN;value=String(value).replace(regexp,"$1$2$3");if(value===""||value==="-"){value="0"}return value}function Number$1(node){node.value=packNumber(node.value)}_Number$4.Number=Number$1;_Number$4.packNumber=packNumber;const _Number$3=_Number$4;const MATH_FUNCTIONS=new Set(["calc","min","max","clamp"]);const LENGTH_UNIT=new Set(["px","mm","cm","in","pt","pc","em","ex","ch","rem","vh","vw","vmin","vmax","vm"]);function compressDimension(node,item){const value=_Number$3.packNumber(node.value);node.value=value;if(value==="0"&&this.declaration!==null&&this.atrulePrelude===null){const unit=node.unit.toLowerCase();if(!LENGTH_UNIT.has(unit)){return}if(this.declaration.property==="-ms-flex"||this.declaration.property==="flex"){return}if(this.function&&MATH_FUNCTIONS.has(this.function.name)){return}item.data={type:"Number",loc:node.loc,value:value}}}var Dimension$1=compressDimension;const cssTree$f=cjs$1;const _Number$2=_Number$4;const blacklist=new Set(["width","min-width","max-width","height","min-height","max-height","flex","-ms-flex"]);function compressPercentage(node,item){node.value=_Number$2.packNumber(node.value);if(node.value==="0"&&this.declaration&&!blacklist.has(this.declaration.property)){item.data={type:"Number",loc:node.loc,value:node.value};if(!cssTree$f.lexer.matchDeclaration(this.declaration).isType(item.data,"length")){item.data=node}}}var Percentage$1=compressPercentage;function Url$1(node){node.value=node.value.replace(/\\/g,"/")}var Url_1=Url$1;var color$1={};const cssTree$e=cjs$1;const _Number$1=_Number$4;const NAME_TO_HEX={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",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:"f0f",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:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",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:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"639",red:"f00",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:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"};const HEX_TO_NAME={8e5:"maroon",800080:"purple",808e3:"olive",808080:"gray","00ffff":"cyan",f0ffff:"azure",f5f5dc:"beige",ffe4c4:"bisque","000000":"black","0000ff":"blue",a52a2a:"brown",ff7f50:"coral",ffd700:"gold","008000":"green","4b0082":"indigo",fffff0:"ivory",f0e68c:"khaki","00ff00":"lime",faf0e6:"linen","000080":"navy",ffa500:"orange",da70d6:"orchid",cd853f:"peru",ffc0cb:"pink",dda0dd:"plum",f00:"red",ff0000:"red",fa8072:"salmon",a0522d:"sienna",c0c0c0:"silver",fffafa:"snow",d2b48c:"tan","008080":"teal",ff6347:"tomato",ee82ee:"violet",f5deb3:"wheat",ffffff:"white",ffff00:"yellow"};function hueToRgb(p,q,t){if(t<0){t+=1}if(t>1){t-=1}if(t<1/6){return p+(q-p)*6*t}if(t<1/2){return q}if(t<2/3){return p+(q-p)*(2/3-t)*6}return p}function hslToRgb(h,s,l,a){let r;let g;let b;if(s===0){r=g=b=l}else{const q=l<.5?l*(1+s):l+s-l*s;const p=2*l-q;r=hueToRgb(p,q,h+1/3);g=hueToRgb(p,q,h);b=hueToRgb(p,q,h-1/3)}return[Math.round(r*255),Math.round(g*255),Math.round(b*255),a]}function toHex(value){value=value.toString(16);return value.length===1?"0"+value:value}function parseFunctionArgs(functionArgs,count,rgb){let cursor=functionArgs.head;let args=[];let wasValue=false;while(cursor!==null){const{type:type,value:value}=cursor.data;switch(type){case"Number":case"Percentage":if(wasValue){return}wasValue=true;args.push({type:type,value:Number(value)});break;case"Operator":if(value===","){if(!wasValue){return}wasValue=false}else if(wasValue||value!=="+"){return}break;default:return}cursor=cursor.next}if(args.length!==count){return}if(args.length===4){if(args[3].type!=="Number"){return}args[3].type="Alpha"}if(rgb){if(args[0].type!==args[1].type||args[0].type!==args[2].type){return}}else{if(args[0].type!=="Number"||args[1].type!=="Percentage"||args[2].type!=="Percentage"){return}args[0].type="Angle"}return args.map((function(arg){let value=Math.max(0,arg.value);switch(arg.type){case"Number":value=Math.min(value,255);break;case"Percentage":value=Math.min(value,100)/100;if(!rgb){return value}value=255*value;break;case"Angle":return(value%360+360)%360/360;case"Alpha":return Math.min(value,1)}return Math.round(value)}))}function compressFunction(node,item){let functionName=node.name;let args;if(functionName==="rgba"||functionName==="hsla"){args=parseFunctionArgs(node.children,4,functionName==="rgba");if(!args){return}if(functionName==="hsla"){args=hslToRgb(...args);node.name="rgba"}if(args[3]===0){const scopeFunctionName=this.function&&this.function.name;if(args[0]===0&&args[1]===0&&args[2]===0||!/^(?:to|from|color-stop)$|gradient$/i.test(scopeFunctionName)){item.data={type:"Identifier",loc:node.loc,name:"transparent"};return}}if(args[3]!==1){node.children.forEach(((node,item,list)=>{if(node.type==="Operator"){if(node.value!==","){list.remove(item)}return}item.data={type:"Number",loc:node.loc,value:_Number$1.packNumber(args.shift())}}));return}functionName="rgb"}if(functionName==="hsl"){args=args||parseFunctionArgs(node.children,3,false);if(!args){return}args=hslToRgb(...args);functionName="rgb"}if(functionName==="rgb"){args=args||parseFunctionArgs(node.children,3,true);if(!args){return}item.data={type:"Hash",loc:node.loc,value:toHex(args[0])+toHex(args[1])+toHex(args[2])};compressHex(item.data,item)}}function compressIdent(node,item){if(this.declaration===null){return}let color=node.name.toLowerCase();if(NAME_TO_HEX.hasOwnProperty(color)&&cssTree$e.lexer.matchDeclaration(this.declaration).isType(node,"color")){const hex=NAME_TO_HEX[color];if(hex.length+1<=color.length){item.data={type:"Hash",loc:node.loc,value:hex}}else{if(color==="grey"){color="gray"}node.name=color}}}function compressHex(node,item){let color=node.value.toLowerCase();if(color.length===6&&color[0]===color[1]&&color[2]===color[3]&&color[4]===color[5]){color=color[0]+color[2]+color[4]}if(HEX_TO_NAME[color]){item.data={type:"Identifier",loc:node.loc,name:HEX_TO_NAME[color]}}else{node.value=color}}color$1.compressFunction=compressFunction;color$1.compressHex=compressHex;color$1.compressIdent=compressIdent;const cssTree$d=cjs$1;const Atrule=Atrule_1;const AttributeSelector=AttributeSelector_1;const Value=Value$1;const Dimension=Dimension$1;const Percentage=Percentage$1;const _Number=_Number$4;const Url=Url_1;const color=color$1;const handlers={Atrule:Atrule,AttributeSelector:AttributeSelector,Value:Value,Dimension:Dimension,Percentage:Percentage,Number:_Number.Number,Url:Url,Hash:color.compressHex,Identifier:color.compressIdent,Function:color.compressFunction};function replace(ast){cssTree$d.walk(ast,{leave(node,item,list){if(handlers.hasOwnProperty(node.type)){handlers[node.type].call(this,node,item,list)}}})}var replace_1=replace;const cssTree$c=cjs$1;class Index{constructor(){this.map=new Map}resolve(str){let index=this.map.get(str);if(index===undefined){index=this.map.size+1;this.map.set(str,index)}return index}}function createDeclarationIndexer$1(){const ids=new Index;return function markDeclaration(node){const id=cssTree$c.generate(node);node.id=ids.resolve(id);node.length=id.length;node.fingerprint=null;return node}}var createDeclarationIndexer_1=createDeclarationIndexer$1;const cssTree$b=cjs$1;function ensureSelectorList(node){if(node.type==="Raw"){return cssTree$b.parse(node.value,{context:"selectorList"})}return node}function maxSpecificity(a,b){for(let i=0;i<3;i++){if(a[i]!==b[i]){return a[i]>b[i]?a:b}}return a}function maxSelectorListSpecificity(selectorList){return ensureSelectorList(selectorList).children.reduce(((result,node)=>maxSpecificity(specificity$4(node),result)),[0,0,0])}function specificity$4(simpleSelector){let A=0;let B=0;let C=0;simpleSelector.children.forEach((node=>{switch(node.type){case"IdSelector":A++;break;case"ClassSelector":case"AttributeSelector":B++;break;case"PseudoClassSelector":switch(node.name.toLowerCase()){case"not":case"has":case"is":case"matches":case"-webkit-any":case"-moz-any":{const[a,b,c]=maxSelectorListSpecificity(node.children.first);A+=a;B+=b;C+=c;break}case"nth-child":case"nth-last-child":{const arg=node.children.first;if(arg.type==="Nth"&&arg.selector){const[a,b,c]=maxSelectorListSpecificity(arg.selector);A+=a;B+=b+1;C+=c}else{B++}break}case"where":break;case"before":case"after":case"first-line":case"first-letter":C++;break;default:B++}break;case"TypeSelector":if(!node.name.endsWith("*")){C++}break;case"PseudoElementSelector":C++;break}}));return[A,B,C]}var specificity_1=specificity$4;const cssTree$a=cjs$1;const specificity$3=specificity_1;const nonFreezePseudoElements=new Set(["first-letter","first-line","after","before"]);const nonFreezePseudoClasses=new Set(["link","visited","hover","active","first-letter","first-line","after","before"]);function processSelector$2(node,usageData){const pseudos=new Set;node.prelude.children.forEach((function(simpleSelector){let tagName="*";let scope=0;simpleSelector.children.forEach((function(node){switch(node.type){case"ClassSelector":if(usageData&&usageData.scopes){const classScope=usageData.scopes[node.name]||0;if(scope!==0&&classScope!==scope){throw new Error("Selector can't has classes from different scopes: "+cssTree$a.generate(simpleSelector))}scope=classScope}break;case"PseudoClassSelector":{const name=node.name.toLowerCase();if(!nonFreezePseudoClasses.has(name)){pseudos.add(`:${name}`)}break}case"PseudoElementSelector":{const name=node.name.toLowerCase();if(!nonFreezePseudoElements.has(name)){pseudos.add(`::${name}`)}break}case"TypeSelector":tagName=node.name.toLowerCase();break;case"AttributeSelector":if(node.flags){pseudos.add(`[${node.flags.toLowerCase()}]`)}break;case"Combinator":tagName="*";break}}));simpleSelector.compareMarker=specificity$3(simpleSelector).toString();simpleSelector.id=null;simpleSelector.id=cssTree$a.generate(simpleSelector);if(scope){simpleSelector.compareMarker+=":"+scope}if(tagName!=="*"){simpleSelector.compareMarker+=","+tagName}}));node.pseudoSignature=pseudos.size>0?[...pseudos].sort().join(","):false}var processSelector_1=processSelector$2;const cssTree$9=cjs$1;const createDeclarationIndexer=createDeclarationIndexer_1;const processSelector$1=processSelector_1;function prepare(ast,options){const markDeclaration=createDeclarationIndexer();cssTree$9.walk(ast,{visit:"Rule",enter(node){node.block.children.forEach(markDeclaration);processSelector$1(node,options.usage)}});cssTree$9.walk(ast,{visit:"Atrule",enter(node){if(node.prelude){node.prelude.id=null;node.prelude.id=cssTree$9.generate(node.prelude)}if(cssTree$9.keyword(node.name).basename==="keyframes"){node.block.avoidRulesMerge=true;node.block.children.forEach((function(rule){rule.prelude.children.forEach((function(simpleselector){simpleselector.compareMarker=simpleselector.id}))}))}}});return{declaration:markDeclaration}}var prepare_1=prepare;const cssTree$8=cjs$1;const{hasOwnProperty:hasOwnProperty$2}=Object.prototype;function addRuleToMap(map,item,list,single){const node=item.data;const name=cssTree$8.keyword(node.name).basename;const id=node.name.toLowerCase()+"/"+(node.prelude?node.prelude.id:null);if(!hasOwnProperty$2.call(map,name)){map[name]=Object.create(null)}if(single){delete map[name][id]}if(!hasOwnProperty$2.call(map[name],id)){map[name][id]=new cssTree$8.List}map[name][id].append(list.remove(item))}function relocateAtrules(ast,options){const collected=Object.create(null);let topInjectPoint=null;ast.children.forEach((function(node,item,list){if(node.type==="Atrule"){const name=cssTree$8.keyword(node.name).basename;switch(name){case"keyframes":addRuleToMap(collected,item,list,true);return;case"media":if(options.forceMediaMerge){addRuleToMap(collected,item,list,false);return}break}if(topInjectPoint===null&&name!=="charset"&&name!=="import"){topInjectPoint=item}}else{if(topInjectPoint===null){topInjectPoint=item}}}));for(const atrule in collected){for(const id in collected[atrule]){ast.children.insertList(collected[atrule][id],atrule==="media"?null:topInjectPoint)}}}function isMediaRule(node){return node.type==="Atrule"&&node.name==="media"}function processAtrule(node,item,list){if(!isMediaRule(node)){return}const prev=item.prev&&item.prev.data;if(!prev||!isMediaRule(prev)){return}if(node.prelude&&prev.prelude&&node.prelude.id===prev.prelude.id){prev.block.children.appendList(node.block.children);list.remove(item)}}function rejoinAtrule(ast,options){relocateAtrules(ast,options);cssTree$8.walk(ast,{visit:"Atrule",reverse:true,enter:processAtrule})}var _1MergeAtrule$1=rejoinAtrule;var utils$6={};const{hasOwnProperty:hasOwnProperty$1}=Object.prototype;function isEqualSelectors(a,b){let cursor1=a.head;let cursor2=b.head;while(cursor1!==null&&cursor2!==null&&cursor1.data.id===cursor2.data.id){cursor1=cursor1.next;cursor2=cursor2.next}return cursor1===null&&cursor2===null}function isEqualDeclarations(a,b){let cursor1=a.head;let cursor2=b.head;while(cursor1!==null&&cursor2!==null&&cursor1.data.id===cursor2.data.id){cursor1=cursor1.next;cursor2=cursor2.next}return cursor1===null&&cursor2===null}function compareDeclarations(declarations1,declarations2){const result={eq:[],ne1:[],ne2:[],ne2overrided:[]};const fingerprints=Object.create(null);const declarations2hash=Object.create(null);for(let cursor=declarations2.head;cursor;cursor=cursor.next){declarations2hash[cursor.data.id]=true}for(let cursor=declarations1.head;cursor;cursor=cursor.next){const data=cursor.data;if(data.fingerprint){fingerprints[data.fingerprint]=data.important}if(declarations2hash[data.id]){declarations2hash[data.id]=false;result.eq.push(data)}else{result.ne1.push(data)}}for(let cursor=declarations2.head;cursor;cursor=cursor.next){const data=cursor.data;if(declarations2hash[data.id]){if(!hasOwnProperty$1.call(fingerprints,data.fingerprint)||!fingerprints[data.fingerprint]&&data.important){result.ne2.push(data)}result.ne2overrided.push(data)}}return result}function addSelectors(dest,source){source.forEach((sourceData=>{const newStr=sourceData.id;let cursor=dest.head;while(cursor){const nextStr=cursor.data.id;if(nextStr===newStr){return}if(nextStr>newStr){break}cursor=cursor.next}dest.insert(dest.createItem(sourceData),cursor)}));return dest}function hasSimilarSelectors(selectors1,selectors2){let cursor1=selectors1.head;while(cursor1!==null){let cursor2=selectors2.head;while(cursor2!==null){if(cursor1.data.compareMarker===cursor2.data.compareMarker){return true}cursor2=cursor2.next}cursor1=cursor1.next}return false}function unsafeToSkipNode(node){switch(node.type){case"Rule":return hasSimilarSelectors(node.prelude.children,this);case"Atrule":if(node.block){return node.block.children.some(unsafeToSkipNode,this)}break;case"Declaration":return false}return true}utils$6.addSelectors=addSelectors;utils$6.compareDeclarations=compareDeclarations;utils$6.hasSimilarSelectors=hasSimilarSelectors;utils$6.isEqualDeclarations=isEqualDeclarations;utils$6.isEqualSelectors=isEqualSelectors;utils$6.unsafeToSkipNode=unsafeToSkipNode;const cssTree$7=cjs$1;const utils$5=utils$6;function processRule$5(node,item,list){const selectors=node.prelude.children;const declarations=node.block.children;list.prevUntil(item.prev,(function(prev){if(prev.type!=="Rule"){return utils$5.unsafeToSkipNode.call(selectors,prev)}const prevSelectors=prev.prelude.children;const prevDeclarations=prev.block.children;if(node.pseudoSignature===prev.pseudoSignature){if(utils$5.isEqualSelectors(prevSelectors,selectors)){prevDeclarations.appendList(declarations);list.remove(item);return true}if(utils$5.isEqualDeclarations(declarations,prevDeclarations)){utils$5.addSelectors(prevSelectors,selectors);list.remove(item);return true}}return utils$5.hasSimilarSelectors(selectors,prevSelectors)}))}function initialMergeRule(ast){cssTree$7.walk(ast,{visit:"Rule",enter:processRule$5})}var _2InitialMergeRuleset$1=initialMergeRule;const cssTree$6=cjs$1;function processRule$4(node,item,list){const selectors=node.prelude.children;while(selectors.head!==selectors.tail){const newSelectors=new cssTree$6.List;newSelectors.insert(selectors.remove(selectors.head));list.insert(list.createItem({type:"Rule",loc:node.loc,prelude:{type:"SelectorList",loc:node.prelude.loc,children:newSelectors},block:{type:"Block",loc:node.block.loc,children:node.block.children.copy()},pseudoSignature:node.pseudoSignature}),item)}}function disjoinRule(ast){cssTree$6.walk(ast,{visit:"Rule",reverse:true,enter:processRule$4})}var _3DisjoinRuleset$1=disjoinRule;const cssTree$5=cjs$1;const REPLACE=1;const REMOVE=2;const TOP=0;const RIGHT=1;const BOTTOM=2;const LEFT=3;const SIDES=["top","right","bottom","left"];const SIDE={"margin-top":"top","margin-right":"right","margin-bottom":"bottom","margin-left":"left","padding-top":"top","padding-right":"right","padding-bottom":"bottom","padding-left":"left","border-top-color":"top","border-right-color":"right","border-bottom-color":"bottom","border-left-color":"left","border-top-width":"top","border-right-width":"right","border-bottom-width":"bottom","border-left-width":"left","border-top-style":"top","border-right-style":"right","border-bottom-style":"bottom","border-left-style":"left"};const MAIN_PROPERTY={margin:"margin","margin-top":"margin","margin-right":"margin","margin-bottom":"margin","margin-left":"margin",padding:"padding","padding-top":"padding","padding-right":"padding","padding-bottom":"padding","padding-left":"padding","border-color":"border-color","border-top-color":"border-color","border-right-color":"border-color","border-bottom-color":"border-color","border-left-color":"border-color","border-width":"border-width","border-top-width":"border-width","border-right-width":"border-width","border-bottom-width":"border-width","border-left-width":"border-width","border-style":"border-style","border-top-style":"border-style","border-right-style":"border-style","border-bottom-style":"border-style","border-left-style":"border-style"};class TRBL{constructor(name){this.name=name;this.loc=null;this.iehack=undefined;this.sides={top:null,right:null,bottom:null,left:null}}getValueSequence(declaration,count){const values=[];let iehack="";const hasBadValues=declaration.value.type!=="Value"||declaration.value.children.some((function(child){let special=false;switch(child.type){case"Identifier":switch(child.name){case"\\0":case"\\9":iehack=child.name;return;case"inherit":case"initial":case"unset":case"revert":special=child.name;break}break;case"Dimension":switch(child.unit){case"rem":case"vw":case"vh":case"vmin":case"vmax":case"vm":special=child.unit;break}break;case"Hash":case"Number":case"Percentage":break;case"Function":if(child.name==="var"){return true}special=child.name;break;default:return true}values.push({node:child,special:special,important:declaration.important})}));if(hasBadValues||values.length>count){return false}if(typeof this.iehack==="string"&&this.iehack!==iehack){return false}this.iehack=iehack;return values}canOverride(side,value){const currentValue=this.sides[side];return!currentValue||value.important&&!currentValue.important}add(name,declaration){function attemptToAdd(){const sides=this.sides;const side=SIDE[name];if(side){if(side in sides===false){return false}const values=this.getValueSequence(declaration,1);if(!values||!values.length){return false}for(const key in sides){if(sides[key]!==null&&sides[key].special!==values[0].special){return false}}if(!this.canOverride(side,values[0])){return true}sides[side]=values[0];return true}else if(name===this.name){const values=this.getValueSequence(declaration,4);if(!values||!values.length){return false}switch(values.length){case 1:values[RIGHT]=values[TOP];values[BOTTOM]=values[TOP];values[LEFT]=values[TOP];break;case 2:values[BOTTOM]=values[TOP];values[LEFT]=values[RIGHT];break;case 3:values[LEFT]=values[RIGHT];break}for(let i=0;i<4;i++){for(const key in sides){if(sides[key]!==null&&sides[key].special!==values[i].special){return false}}}for(let i=0;i<4;i++){if(this.canOverride(SIDES[i],values[i])){sides[SIDES[i]]=values[i]}}return true}}if(!attemptToAdd.call(this)){return false}if(!this.loc){this.loc=declaration.loc}return true}isOkToMinimize(){const top=this.sides.top;const right=this.sides.right;const bottom=this.sides.bottom;const left=this.sides.left;if(top&&right&&bottom&&left){const important=top.important+right.important+bottom.important+left.important;return important===0||important===4}return false}getValue(){const result=new cssTree$5.List;const sides=this.sides;const values=[sides.top,sides.right,sides.bottom,sides.left];const stringValues=[cssTree$5.generate(sides.top.node),cssTree$5.generate(sides.right.node),cssTree$5.generate(sides.bottom.node),cssTree$5.generate(sides.left.node)];if(stringValues[LEFT]===stringValues[RIGHT]){values.pop();if(stringValues[BOTTOM]===stringValues[TOP]){values.pop();if(stringValues[RIGHT]===stringValues[TOP]){values.pop()}}}for(let i=0;i<values.length;i++){result.appendData(values[i].node)}if(this.iehack){result.appendData({type:"Identifier",loc:null,name:this.iehack})}return{type:"Value",loc:null,children:result}}getDeclaration(){return{type:"Declaration",loc:this.loc,important:this.sides.top.important,property:this.name,value:this.getValue()}}}function processRule$3(rule,shorts,shortDeclarations,lastShortSelector){const declarations=rule.block.children;const selector=rule.prelude.children.first.id;rule.block.children.forEachRight((function(declaration,item){const property=declaration.property;if(!MAIN_PROPERTY.hasOwnProperty(property)){return}const key=MAIN_PROPERTY[property];let shorthand;let operation;if(!lastShortSelector||selector===lastShortSelector){if(key in shorts){operation=REMOVE;shorthand=shorts[key]}}if(!shorthand||!shorthand.add(property,declaration)){operation=REPLACE;shorthand=new TRBL(key);if(!shorthand.add(property,declaration)){lastShortSelector=null;return}}shorts[key]=shorthand;shortDeclarations.push({operation:operation,block:declarations,item:item,shorthand:shorthand});lastShortSelector=selector}));return lastShortSelector}function processShorthands(shortDeclarations,markDeclaration){shortDeclarations.forEach((function(item){const shorthand=item.shorthand;if(!shorthand.isOkToMinimize()){return}if(item.operation===REPLACE){item.item.data=markDeclaration(shorthand.getDeclaration())}else{item.block.remove(item.item)}}))}function restructBlock$1(ast,indexer){const stylesheetMap={};const shortDeclarations=[];cssTree$5.walk(ast,{visit:"Rule",reverse:true,enter(node){const stylesheet=this.block||this.stylesheet;const ruleId=(node.pseudoSignature||"")+"|"+node.prelude.children.first.id;let ruleMap;let shorts;if(!stylesheetMap.hasOwnProperty(stylesheet.id)){ruleMap={lastShortSelector:null};stylesheetMap[stylesheet.id]=ruleMap}else{ruleMap=stylesheetMap[stylesheet.id]}if(ruleMap.hasOwnProperty(ruleId)){shorts=ruleMap[ruleId]}else{shorts={};ruleMap[ruleId]=shorts}ruleMap.lastShortSelector=processRule$3.call(this,node,shorts,shortDeclarations,ruleMap.lastShortSelector)}});processShorthands(shortDeclarations,indexer.declaration)}var _4RestructShorthand$1=restructBlock$1;const cssTree$4=cjs$1;let fingerprintId=1;const dontRestructure=new Set(["src"]);const DONT_MIX_VALUE={display:/table|ruby|flex|-(flex)?box$|grid|contents|run-in/i,"text-align":/^(start|end|match-parent|justify-all)$/i};const SAFE_VALUES={cursor:["auto","crosshair","default","move","text","wait","help","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","pointer","progress","not-allowed","no-drop","vertical-text","all-scroll","col-resize","row-resize"],overflow:["hidden","visible","scroll","auto"],position:["static","relative","absolute","fixed"]};const NEEDLESS_TABLE={"border-width":["border"],"border-style":["border"],"border-color":["border"],"border-top":["border"],"border-right":["border"],"border-bottom":["border"],"border-left":["border"],"border-top-width":["border-top","border-width","border"],"border-right-width":["border-right","border-width","border"],"border-bottom-width":["border-bottom","border-width","border"],"border-left-width":["border-left","border-width","border"],"border-top-style":["border-top","border-style","border"],"border-right-style":["border-right","border-style","border"],"border-bottom-style":["border-bottom","border-style","border"],"border-left-style":["border-left","border-style","border"],"border-top-color":["border-top","border-color","border"],"border-right-color":["border-right","border-color","border"],"border-bottom-color":["border-bottom","border-color","border"],"border-left-color":["border-left","border-color","border"],"margin-top":["margin"],"margin-right":["margin"],"margin-bottom":["margin"],"margin-left":["margin"],"padding-top":["padding"],"padding-right":["padding"],"padding-bottom":["padding"],"padding-left":["padding"],"font-style":["font"],"font-variant":["font"],"font-weight":["font"],"font-size":["font"],"font-family":["font"],"list-style-type":["list-style"],"list-style-position":["list-style"],"list-style-image":["list-style"]};function getPropertyFingerprint(propertyName,declaration,fingerprints){const realName=cssTree$4.property(propertyName).basename;if(realName==="background"){return propertyName+":"+cssTree$4.generate(declaration.value)}const declarationId=declaration.id;let fingerprint=fingerprints[declarationId];if(!fingerprint){switch(declaration.value.type){case"Value":const special={};let vendorId="";let iehack="";let raw=false;declaration.value.children.forEach((function walk(node){switch(node.type){case"Value":case"Brackets":case"Parentheses":node.children.forEach(walk);break;case"Raw":raw=true;break;case"Identifier":{const{name:name}=node;if(!vendorId){vendorId=cssTree$4.keyword(name).vendor}if(/\\[09]/.test(name)){iehack=RegExp.lastMatch}if(SAFE_VALUES.hasOwnProperty(realName)){if(SAFE_VALUES[realName].indexOf(name)===-1){special[name]=true}}else if(DONT_MIX_VALUE.hasOwnProperty(realName)){if(DONT_MIX_VALUE[realName].test(name)){special[name]=true}}break}case"Function":{let{name:name}=node;if(!vendorId){vendorId=cssTree$4.keyword(name).vendor}if(name==="rect"){const hasComma=node.children.some((node=>node.type==="Operator"&&node.value===","));if(!hasComma){name="rect-backward"}}special[name+"()"]=true;node.children.forEach(walk);break}case"Dimension":{const{unit:unit}=node;if(/\\[09]/.test(unit)){iehack=RegExp.lastMatch}switch(unit){case"rem":case"vw":case"vh":case"vmin":case"vmax":case"vm":special[unit]=true;break}break}}}));fingerprint=raw?"!"+fingerprintId++:"!"+Object.keys(special).sort()+"|"+iehack+vendorId;break;case"Raw":fingerprint="!"+declaration.value.value;break;default:fingerprint=cssTree$4.generate(declaration.value)}fingerprints[declarationId]=fingerprint}return propertyName+fingerprint}function needless(props,declaration,fingerprints){const property=cssTree$4.property(declaration.property);if(NEEDLESS_TABLE.hasOwnProperty(property.basename)){const table=NEEDLESS_TABLE[property.basename];for(const entry of table){const ppre=getPropertyFingerprint(property.prefix+entry,declaration,fingerprints);const prev=props.hasOwnProperty(ppre)?props[ppre]:null;if(prev&&(!declaration.important||prev.item.data.important)){return prev}}}}function processRule$2(rule,item,list,props,fingerprints){const declarations=rule.block.children;declarations.forEachRight((function(declaration,declarationItem){const{property:property}=declaration;const fingerprint=getPropertyFingerprint(property,declaration,fingerprints);const prev=props[fingerprint];if(prev&&!dontRestructure.has(property)){if(declaration.important&&!prev.item.data.important){props[fingerprint]={block:declarations,item:declarationItem};prev.block.remove(prev.item)}else{declarations.remove(declarationItem)}}else{const prev=needless(props,declaration,fingerprints);if(prev){declarations.remove(declarationItem)}else{declaration.fingerprint=fingerprint;props[fingerprint]={block:declarations,item:declarationItem}}}}));if(declarations.isEmpty){list.remove(item)}}function restructBlock(ast){const stylesheetMap={};const fingerprints=Object.create(null);cssTree$4.walk(ast,{visit:"Rule",reverse:true,enter(node,item,list){const stylesheet=this.block||this.stylesheet;const ruleId=(node.pseudoSignature||"")+"|"+node.prelude.children.first.id;let ruleMap;let props;if(!stylesheetMap.hasOwnProperty(stylesheet.id)){ruleMap={};stylesheetMap[stylesheet.id]=ruleMap}else{ruleMap=stylesheetMap[stylesheet.id]}if(ruleMap.hasOwnProperty(ruleId)){props=ruleMap[ruleId]}else{props={};ruleMap[ruleId]=props}processRule$2.call(this,node,item,list,props,fingerprints)}})}var _6RestructBlock$1=restructBlock;const cssTree$3=cjs$1;const utils$4=utils$6;function processRule$1(node,item,list){const selectors=node.prelude.children;const declarations=node.block.children;const nodeCompareMarker=selectors.first.compareMarker;const skippedCompareMarkers={};list.nextUntil(item.next,(function(next,nextItem){if(next.type!=="Rule"){return utils$4.unsafeToSkipNode.call(selectors,next)}if(node.pseudoSignature!==next.pseudoSignature){return true}const nextFirstSelector=next.prelude.children.head;const nextDeclarations=next.block.children;const nextCompareMarker=nextFirstSelector.data.compareMarker;if(nextCompareMarker in skippedCompareMarkers){return true}if(selectors.head===selectors.tail){if(selectors.first.id===nextFirstSelector.data.id){declarations.appendList(nextDeclarations);list.remove(nextItem);return}}if(utils$4.isEqualDeclarations(declarations,nextDeclarations)){const nextStr=nextFirstSelector.data.id;selectors.some(((data,item)=>{const curStr=data.id;if(nextStr<curStr){selectors.insert(nextFirstSelector,item);return true}if(!item.next){selectors.insert(nextFirstSelector);return true}}));list.remove(nextItem);return}if(nextCompareMarker===nodeCompareMarker){return true}skippedCompareMarkers[nextCompareMarker]=true}))}function mergeRule(ast){cssTree$3.walk(ast,{visit:"Rule",enter:processRule$1})}var _7MergeRuleset$1=mergeRule;const cssTree$2=cjs$1;const utils$3=utils$6;function calcSelectorLength(list){return list.reduce(((res,data)=>res+data.id.length+1),0)-1}function calcDeclarationsLength(tokens){let length=0;for(const token of tokens){length+=token.length}return length+tokens.length-1}function processRule(node,item,list){const avoidRulesMerge=this.block!==null?this.block.avoidRulesMerge:false;const selectors=node.prelude.children;const block=node.block;const disallowDownMarkers=Object.create(null);let allowMergeUp=true;let allowMergeDown=true;list.prevUntil(item.prev,(function(prev,prevItem){const prevBlock=prev.block;const prevType=prev.type;if(prevType!=="Rule"){const unsafe=utils$3.unsafeToSkipNode.call(selectors,prev);if(!unsafe&&prevType==="Atrule"&&prevBlock){cssTree$2.walk(prevBlock,{visit:"Rule",enter(node){node.prelude.children.forEach((data=>{disallowDownMarkers[data.compareMarker]=true}))}})}return unsafe}if(node.pseudoSignature!==prev.pseudoSignature){return true}const prevSelectors=prev.prelude.children;allowMergeDown=!prevSelectors.some((selector=>selector.compareMarker in disallowDownMarkers));if(!allowMergeDown&&!allowMergeUp){return true}if(allowMergeUp&&utils$3.isEqualSelectors(prevSelectors,selectors)){prevBlock.children.appendList(block.children);list.remove(item);return true}const diff=utils$3.compareDeclarations(block.children,prevBlock.children);if(diff.eq.length){if(!diff.ne1.length&&!diff.ne2.length){if(allowMergeDown){utils$3.addSelectors(selectors,prevSelectors);list.remove(prevItem)}return true}else if(!avoidRulesMerge){if(diff.ne1.length&&!diff.ne2.length){const selectorLength=calcSelectorLength(selectors);const blockLength=calcDeclarationsLength(diff.eq);if(allowMergeUp&&selectorLength<blockLength){utils$3.addSelectors(prevSelectors,selectors);block.children.fromArray(diff.ne1)}}else if(!diff.ne1.length&&diff.ne2.length){const selectorLength=calcSelectorLength(prevSelectors);const blockLength=calcDeclarationsLength(diff.eq);if(allowMergeDown&&selectorLength<blockLength){utils$3.addSelectors(selectors,prevSelectors);prevBlock.children.fromArray(diff.ne2)}}else{const newSelector={type:"SelectorList",loc:null,children:utils$3.addSelectors(prevSelectors.copy(),selectors)};const newBlockLength=calcSelectorLength(newSelector.children)+2;const blockLength=calcDeclarationsLength(diff.eq);if(blockLength>=newBlockLength){const newItem=list.createItem({type:"Rule",loc:null,prelude:newSelector,block:{type:"Block",loc:null,children:(new cssTree$2.List).fromArray(diff.eq)},pseudoSignature:node.pseudoSignature});block.children.fromArray(diff.ne1);prevBlock.children.fromArray(diff.ne2overrided);if(allowMergeUp){list.insert(newItem,prevItem)}else{list.insert(newItem,item)}return true}}}}if(allowMergeUp){allowMergeUp=!prevSelectors.some((prevSelector=>selectors.some((selector=>selector.compareMarker===prevSelector.compareMarker))))}prevSelectors.forEach((data=>{disallowDownMarkers[data.compareMarker]=true}))}))}function restructRule(ast){cssTree$2.walk(ast,{visit:"Rule",reverse:true,enter:processRule})}var _8RestructRuleset$1=restructRule;const index$3=prepare_1;const _1MergeAtrule=_1MergeAtrule$1;const _2InitialMergeRuleset=_2InitialMergeRuleset$1;const _3DisjoinRuleset=_3DisjoinRuleset$1;const _4RestructShorthand=_4RestructShorthand$1;const _6RestructBlock=_6RestructBlock$1;const _7MergeRuleset=_7MergeRuleset$1;const _8RestructRuleset=_8RestructRuleset$1;function restructure(ast,options){const indexer=index$3(ast,options);options.logger("prepare",ast);_1MergeAtrule(ast,options);options.logger("mergeAtrule",ast);_2InitialMergeRuleset(ast);options.logger("initialMergeRuleset",ast);_3DisjoinRuleset(ast);options.logger("disjoinRuleset",ast);_4RestructShorthand(ast,indexer);options.logger("restructShorthand",ast);_6RestructBlock(ast);options.logger("restructBlock",ast);_7MergeRuleset(ast);options.logger("mergeRuleset",ast);_8RestructRuleset(ast);options.logger("restructRuleset",ast)}var restructure_1=restructure;const cssTree$1=cjs$1;const usage=usage$1;const index=clean_1;const index$1=replace_1;const index$2=restructure_1;function readChunk(input,specialComments){const children=new cssTree$1.List;let nonSpaceTokenInBuffer=false;let protectedComment;input.nextUntil(input.head,((node,item,list)=>{if(node.type==="Comment"){if(!specialComments||node.value.charAt(0)!=="!"){list.remove(item);return}if(nonSpaceTokenInBuffer||protectedComment){return true}list.remove(item);protectedComment=node;return}if(node.type!=="WhiteSpace"){nonSpaceTokenInBuffer=true}children.insert(list.remove(item))}));return{comment:protectedComment,stylesheet:{type:"StyleSheet",loc:null,children:children}}}function compressChunk(ast,firstAtrulesAllowed,num,options){options.logger(`Compress block #${num}`,null,true);let seed=1;if(ast.type==="StyleSheet"){ast.firstAtrulesAllowed=firstAtrulesAllowed;ast.id=seed++}cssTree$1.walk(ast,{visit:"Atrule",enter(node){if(node.block!==null){node.block.id=seed++}}});options.logger("init",ast);index(ast,options);options.logger("clean",ast);index$1(ast);options.logger("replace",ast);if(options.restructuring){index$2(ast,options)}return ast}function getCommentsOption(options){let comments="comments"in options?options.comments:"exclamation";if(typeof comments==="boolean"){comments=comments?"exclamation":false}else if(comments!=="exclamation"&&comments!=="first-exclamation"){comments=false}return comments}function getRestructureOption(options){if("restructure"in options){return options.restructure}return"restructuring"in options?options.restructuring:true}function wrapBlock(block){return(new cssTree$1.List).appendData({type:"Rule",loc:null,prelude:{type:"SelectorList",loc:null,children:(new cssTree$1.List).appendData({type:"Selector",loc:null,children:(new cssTree$1.List).appendData({type:"TypeSelector",loc:null,name:"x"})})},block:block})}function compress$2(ast,options){ast=ast||{type:"StyleSheet",loc:null,children:new cssTree$1.List};options=options||{};const compressOptions={logger:typeof options.logger==="function"?options.logger:function(){},restructuring:getRestructureOption(options),forceMediaMerge:Boolean(options.forceMediaMerge),usage:options.usage?usage.buildIndex(options.usage):false};const output=new cssTree$1.List;let specialComments=getCommentsOption(options);let firstAtrulesAllowed=true;let input;let chunk;let chunkNum=1;let chunkChildren;if(options.clone){ast=cssTree$1.clone(ast)}if(ast.type==="StyleSheet"){input=ast.children;ast.children=output}else{input=wrapBlock(ast)}do{chunk=readChunk(input,Boolean(specialComments));compressChunk(chunk.stylesheet,firstAtrulesAllowed,chunkNum++,compressOptions);chunkChildren=chunk.stylesheet.children;if(chunk.comment){if(!output.isEmpty){output.insert(cssTree$1.List.createItem({type:"Raw",value:"\n"}))}output.insert(cssTree$1.List.createItem(chunk.comment));if(!chunkChildren.isEmpty){output.insert(cssTree$1.List.createItem({type:"Raw",value:"\n"}))}}if(firstAtrulesAllowed&&!chunkChildren.isEmpty){const lastRule=chunkChildren.last;if(lastRule.type!=="Atrule"||lastRule.name!=="import"&&lastRule.name!=="charset"){firstAtrulesAllowed=false}}if(specialComments!=="exclamation"){specialComments=false}output.appendList(chunkChildren)}while(!input.isEmpty);return{ast:ast}}var compress_1=compress$2;const cssTree=cjs$1;const compress$1=compress_1;const specificity$2=specificity_1;function encodeString(value){const stringApostrophe=cssTree.string.encode(value,true);const stringQuote=cssTree.string.encode(value);return stringApostrophe.length<stringQuote.length?stringApostrophe:stringQuote}const{lexer:lexer,tokenize:tokenize,parse:parse$1,generate:generate$1,walk:walk,find:find,findLast:findLast,findAll:findAll,fromPlainObject:fromPlainObject,toPlainObject:toPlainObject}=cssTree.fork({node:{String:{generate(node){this.token(cssTree.tokenTypes.String,encodeString(node.value))}},Url:{generate(node){const encodedUrl=cssTree.url.encode(node.value);const string=encodeString(node.value);this.token(cssTree.tokenTypes.Url,encodedUrl.length<=string.length+5?encodedUrl:"url("+string+")")}}}});syntax$1.compress=compress$1;syntax$1.specificity=specificity$2;syntax$1.find=find;syntax$1.findAll=findAll;syntax$1.findLast=findLast;syntax$1.fromPlainObject=fromPlainObject;syntax$1.generate=generate$1;syntax$1.lexer=lexer;syntax$1.parse=parse$1;syntax$1.toPlainObject=toPlainObject;syntax$1.tokenize=tokenize;syntax$1.walk=walk;var utils$2={};const processSelector=processSelector_1;const utils$1=utils$6;utils$2.processSelector=processSelector;utils$2.addSelectors=utils$1.addSelectors;utils$2.compareDeclarations=utils$1.compareDeclarations;utils$2.hasSimilarSelectors=utils$1.hasSimilarSelectors;utils$2.isEqualDeclarations=utils$1.isEqualDeclarations;utils$2.isEqualSelectors=utils$1.isEqualSelectors;utils$2.unsafeToSkipNode=utils$1.unsafeToSkipNode;const version=version$1;const syntax=syntax$1;const utils=utils$2;const{parse:parse,generate:generate,compress:compress}=syntax;function debugOutput(name,options,startTime,data){if(options.debug){console.error(`## ${name} done in %d ms\n`,Date.now()-startTime)}return data}function createDefaultLogger(level){let lastDebug;return function logger(title,ast){let line=title;if(ast){line=`[${((Date.now()-lastDebug)/1e3).toFixed(3)}s] ${line}`}if(level>1&&ast){let css=generate(ast);if(level===2&&css.length>256){css=css.substr(0,256)+"..."}line+=`\n ${css}\n`}console.error(line);lastDebug=Date.now()}}function buildCompressOptions(options){options={...options};if(typeof options.logger!=="function"&&options.debug){options.logger=createDefaultLogger(options.debug)}return options}function runHandler(ast,options,handlers){if(!Array.isArray(handlers)){handlers=[handlers]}handlers.forEach((fn=>fn(ast,options)))}function minify(context,source,options){options=options||{};const filename=options.filename||"<unknown>";let result;const ast=debugOutput("parsing",options,Date.now(),parse(source,{context:context,filename:filename,positions:Boolean(options.sourceMap)}));if(options.beforeCompress){debugOutput("beforeCompress",options,Date.now(),runHandler(ast,options,options.beforeCompress))}const compressResult=debugOutput("compress",options,Date.now(),compress(ast,buildCompressOptions(options)));if(options.afterCompress){debugOutput("afterCompress",options,Date.now(),runHandler(compressResult,options,options.afterCompress))}if(options.sourceMap){result=debugOutput("generate(sourceMap: true)",options,Date.now(),(()=>{const tmp=generate(compressResult.ast,{sourceMap:true});tmp.map._file=filename;tmp.map.setSourceContent(filename,source);return tmp})())}else{result=debugOutput("generate",options,Date.now(),{css:generate(compressResult.ast),map:null})}return result}function minifyStylesheet(source,options){return minify("stylesheet",source,options)}function minifyBlock(source,options){return minify("declarationList",source,options)}cjs.version=version.version;cjs.syntax=syntax;cjs.utils=utils;cjs.minify=minifyStylesheet;cjs.minifyBlock=minifyBlock;const csstree$2=cjs$1;const{syntax:{specificity:specificity$1}}=cjs;const{visitSkip:visitSkip$5,querySelectorAll:querySelectorAll$1,detachNodeFromParent:detachNodeFromParent$f}=xast;inlineStyles$1.name="inlineStyles";inlineStyles$1.description="inline styles (additional options)";const compareSpecificity$1=(a,b)=>{for(var i=0;i<4;i+=1){if(a[i]<b[i]){return-1}else if(a[i]>b[i]){return 1}}return 0};const toAny$1=value=>value;inlineStyles$1.fn=(root,params)=>{const{onlyMatchedOnce:onlyMatchedOnce=true,removeMatchedSelectors:removeMatchedSelectors=true,useMqs:useMqs=["","screen"],usePseudos:usePseudos=[""]}=params;const styles=[];let selectors=[];return{element:{enter:(node,parentNode)=>{if(node.name==="foreignObject"){return visitSkip$5}if(node.name!=="style"||node.children.length===0){return}if(node.attributes.type!=null&&node.attributes.type!==""&&node.attributes.type!=="text/css"){return}let cssText="";for(const child of node.children){if(child.type==="text"||child.type==="cdata"){cssText+=child.value}}let cssAst=null;try{cssAst=csstree$2.parse(cssText,{parseValue:false,parseCustomProperty:false})}catch{return}if(cssAst.type==="StyleSheet"){styles.push({node:node,parentNode:parentNode,cssAst:cssAst})}csstree$2.walk(cssAst,{visit:"Selector",enter(node,item){const atrule=this.atrule;const rule=this.rule;if(rule==null){return}let mq="";if(atrule!=null){mq=atrule.name;if(atrule.prelude!=null){mq+=` ${csstree$2.generate(atrule.prelude)}`}}if(useMqs.includes(mq)===false){return}const pseudos=[];if(node.type==="Selector"){node.children.forEach(((childNode,childItem,childList)=>{if(childNode.type==="PseudoClassSelector"||childNode.type==="PseudoElementSelector"){pseudos.push({item:childItem,list:childList})}}))}const pseudoSelectors=csstree$2.generate({type:"Selector",children:(new csstree$2.List).fromArray(pseudos.map((pseudo=>pseudo.item.data)))});if(usePseudos.includes(pseudoSelectors)===false){return}for(const pseudo of pseudos){pseudo.list.remove(pseudo.item)}selectors.push({node:node,item:item,rule:rule})}})}},root:{exit:()=>{if(styles.length===0){return}const sortedSelectors=[...selectors].sort(((a,b)=>{const aSpecificity=specificity$1(a.item.data);const bSpecificity=specificity$1(b.item.data);return compareSpecificity$1(aSpecificity,bSpecificity)})).reverse();for(const selector of sortedSelectors){const selectorText=csstree$2.generate(selector.item.data);const matchedElements=[];try{for(const node of querySelectorAll$1(root,selectorText)){if(node.type==="element"){matchedElements.push(node)}}}catch(selectError){continue}if(matchedElements.length===0){continue}if(onlyMatchedOnce&&matchedElements.length>1){continue}for(const selectedEl of matchedElements){const styleDeclarationList=csstree$2.parse(selectedEl.attributes.style==null?"":selectedEl.attributes.style,{context:"declarationList",parseValue:false});if(styleDeclarationList.type!=="DeclarationList"){continue}const styleDeclarationItems=new Map;csstree$2.walk(styleDeclarationList,{visit:"Declaration",enter(node,item){styleDeclarationItems.set(node.property,item)}});csstree$2.walk(selector.rule,{visit:"Declaration",enter(ruleDeclaration){const matchedItem=styleDeclarationItems.get(ruleDeclaration.property);const ruleDeclarationItem=styleDeclarationList.children.createItem(ruleDeclaration);if(matchedItem==null){styleDeclarationList.children.append(ruleDeclarationItem)}else if(matchedItem.data.important!==true&&ruleDeclaration.important===true){styleDeclarationList.children.replace(matchedItem,ruleDeclarationItem);styleDeclarationItems.set(ruleDeclaration.property,ruleDeclarationItem)}}});selectedEl.attributes.style=csstree$2.generate(styleDeclarationList)}if(removeMatchedSelectors&&matchedElements.length!==0&&selector.rule.prelude.type==="SelectorList"){selector.rule.prelude.children.remove(selector.item)}selector.matchedElements=matchedElements}if(removeMatchedSelectors===false){return}for(const selector of sortedSelectors){if(selector.matchedElements==null){continue}if(onlyMatchedOnce&&selector.matchedElements.length>1){continue}for(const selectedEl of selector.matchedElements){const classList=new Set(selectedEl.attributes.class==null?null:selectedEl.attributes.class.split(" "));const firstSubSelector=toAny$1(selector.node.children.first);if(firstSubSelector!=null&&firstSubSelector.type==="ClassSelector"){classList.delete(firstSubSelector.name)}if(classList.size===0){delete selectedEl.attributes.class}else{selectedEl.attributes.class=Array.from(classList).join(" ")}if(firstSubSelector!=null&&firstSubSelector.type==="IdSelector"){if(selectedEl.attributes.id===firstSubSelector.name){delete selectedEl.attributes.id}}}}for(const style of styles){csstree$2.walk(style.cssAst,{visit:"Rule",enter:function(node,item,list){if(node.type==="Rule"&&node.prelude.type==="SelectorList"&&toAny$1(node.prelude.children.isEmpty)){list.remove(item)}}});if(toAny$1(style.cssAst.children.isEmpty)){detachNodeFromParent$f(style.node,style.parentNode)}else{const firstChild=style.node.children[0];if(firstChild.type==="text"||firstChild.type==="cdata"){firstChild.value=csstree$2.generate(style.cssAst)}}}}}}};var minifyStyles$1={};const csso=cjs;minifyStyles$1.name="minifyStyles";minifyStyles$1.description="minifies styles and removes unused styles based on usage data";minifyStyles$1.fn=(_root,{usage:usage,...params})=>{let enableTagsUsage=true;let enableIdsUsage=true;let enableClassesUsage=true;let forceUsageDeoptimized=false;if(typeof usage==="boolean"){enableTagsUsage=usage;enableIdsUsage=usage;enableClassesUsage=usage}else if(usage){enableTagsUsage=usage.tags==null?true:usage.tags;enableIdsUsage=usage.ids==null?true:usage.ids;enableClassesUsage=usage.classes==null?true:usage.classes;forceUsageDeoptimized=usage.force==null?false:usage.force}const styleElements=[];const elementsWithStyleAttributes=[];let deoptimized=false;const tagsUsage=new Set;const idsUsage=new Set;const classesUsage=new Set;return{element:{enter:node=>{if(node.name==="script"){deoptimized=true}for(const name of Object.keys(node.attributes)){if(name.startsWith("on")){deoptimized=true}}tagsUsage.add(node.name);if(node.attributes.id!=null){idsUsage.add(node.attributes.id)}if(node.attributes.class!=null){for(const className of node.attributes.class.split(/\s+/)){classesUsage.add(className)}}if(node.name==="style"&&node.children.length!==0){styleElements.push(node)}else if(node.attributes.style!=null){elementsWithStyleAttributes.push(node)}}},root:{exit:()=>{const cssoUsage={};if(deoptimized===false||forceUsageDeoptimized===true){if(enableTagsUsage&&tagsUsage.size!==0){cssoUsage.tags=Array.from(tagsUsage)}if(enableIdsUsage&&idsUsage.size!==0){cssoUsage.ids=Array.from(idsUsage)}if(enableClassesUsage&&classesUsage.size!==0){cssoUsage.classes=Array.from(classesUsage)}}for(const node of styleElements){if(node.children[0].type==="text"||node.children[0].type==="cdata"){const cssText=node.children[0].value;const minified=csso.minify(cssText,{...params,usage:cssoUsage}).css;if(cssText.indexOf(">")>=0||cssText.indexOf("<")>=0){node.children[0].type="cdata";node.children[0].value=minified}else{node.children[0].type="text";node.children[0].value=minified}}}for(const node of elementsWithStyleAttributes){const elemStyle=node.attributes.style;node.attributes.style=csso.minifyBlock(elemStyle,{...params}).css}}}}};var cleanupIds$1={};const{visitSkip:visitSkip$4}=xast;const{referencesProps:referencesProps$3}=_collections;cleanupIds$1.name="cleanupIds";cleanupIds$1.description="removes unused IDs and minifies used";const regReferencesUrl=/\burl\((["'])?#(.+?)\1\)/;const regReferencesHref=/^#(.+?)$/;const regReferencesBegin=/(\D+)\./;const generateIdChars=["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"];const maxIdIndex=generateIdChars.length-1;const hasStringPrefix=(string,prefixes)=>{for(const prefix of prefixes){if(string.startsWith(prefix)){return true}}return false};const generateId=currentId=>{if(currentId==null){return[0]}currentId[currentId.length-1]+=1;for(let i=currentId.length-1;i>0;i--){if(currentId[i]>maxIdIndex){currentId[i]=0;if(currentId[i-1]!==undefined){currentId[i-1]++}}}if(currentId[0]>maxIdIndex){currentId[0]=0;currentId.unshift(0)}return currentId};const getIdString=arr=>arr.map((i=>generateIdChars[i])).join("");cleanupIds$1.fn=(_root,params)=>{const{remove:remove=true,minify:minify=true,preserve:preserve=[],preservePrefixes:preservePrefixes=[],force:force=false}=params;const preserveIds=new Set(Array.isArray(preserve)?preserve:preserve?[preserve]:[]);const preserveIdPrefixes=Array.isArray(preservePrefixes)?preservePrefixes:preservePrefixes?[preservePrefixes]:[];const nodeById=new Map;const referencesById=new Map;let deoptimized=false;return{element:{enter:node=>{if(force==false){if((node.name==="style"||node.name==="script")&&node.children.length!==0){deoptimized=true;return}if(node.name==="svg"){let hasDefsOnly=true;for(const child of node.children){if(child.type!=="element"||child.name!=="defs"){hasDefsOnly=false;break}}if(hasDefsOnly){return visitSkip$4}}}for(const[name,value]of Object.entries(node.attributes)){if(name==="id"){const id=value;if(nodeById.has(id)){delete node.attributes.id}else{nodeById.set(id,node)}}else{let id=null;if(referencesProps$3.includes(name)){const match=value.match(regReferencesUrl);if(match!=null){id=match[2]}}if(name==="href"||name.endsWith(":href")){const match=value.match(regReferencesHref);if(match!=null){id=match[1]}}if(name==="begin"){const match=value.match(regReferencesBegin);if(match!=null){id=match[1]}}if(id!=null){let refs=referencesById.get(id);if(refs==null){refs=[];referencesById.set(id,refs)}refs.push({element:node,name:name,value:value})}}}}},root:{exit:()=>{if(deoptimized){return}const isIdPreserved=id=>preserveIds.has(id)||hasStringPrefix(id,preserveIdPrefixes);let currentId=null;for(const[id,refs]of referencesById){const node=nodeById.get(id);if(node!=null){if(minify&&isIdPreserved(id)===false){let currentIdString=null;do{currentId=generateId(currentId);currentIdString=getIdString(currentId)}while(isIdPreserved(currentIdString));node.attributes.id=currentIdString;for(const{element:element,name:name,value:value}of refs){if(value.includes("#")){element.attributes[name]=value.replace(`#${id}`,`#${currentIdString}`)}else{element.attributes[name]=value.replace(`${id}.`,`${currentIdString}.`)}}}nodeById.delete(id)}}if(remove){for(const[id,node]of nodeById){if(isIdPreserved(id)===false){delete node.attributes.id}}}}}}};var removeUselessDefs$1={};const{detachNodeFromParent:detachNodeFromParent$e}=xast;const{elemsGroups:elemsGroups$4}=_collections;removeUselessDefs$1.name="removeUselessDefs";removeUselessDefs$1.description="removes elements in <defs> without id";removeUselessDefs$1.fn=()=>({element:{enter:(node,parentNode)=>{if(node.name==="defs"){const usefulNodes=[];collectUsefulNodes(node,usefulNodes);if(usefulNodes.length===0){detachNodeFromParent$e(node,parentNode)}for(const usefulNode of usefulNodes){Object.defineProperty(usefulNode,"parentNode",{writable:true,value:node})}node.children=usefulNodes}else if(elemsGroups$4.nonRendering.includes(node.name)&&node.attributes.id==null){detachNodeFromParent$e(node,parentNode)}}}});const collectUsefulNodes=(node,usefulNodes)=>{for(const child of node.children){if(child.type==="element"){if(child.attributes.id!=null||child.name==="style"){usefulNodes.push(child)}else{collectUsefulNodes(child,usefulNodes)}}}};var cleanupNumericValues$1={};var tools={};tools.encodeSVGDatauri=(str,type)=>{var prefix="data:image/svg+xml";if(!type||type==="base64"){prefix+=";base64,";str=prefix+Buffer.from(str).toString("base64")}else if(type==="enc"){str=prefix+","+encodeURIComponent(str)}else if(type==="unenc"){str=prefix+","+str}return str};tools.decodeSVGDatauri=str=>{var regexp=/data:image\/svg\+xml(;charset=[^;,]*)?(;base64)?,(.*)/;var match=regexp.exec(str);if(!match)return str;var data=match[3];if(match[2]){str=Buffer.from(data,"base64").toString("utf8")}else if(data.charAt(0)==="%"){str=decodeURIComponent(data)}else if(data.charAt(0)==="<"){str=data}return str};tools.cleanupOutData=(data,params,command)=>{let str="";let delimiter;let prev;data.forEach(((item,i)=>{delimiter=" ";if(i==0)delimiter="";if(params.noSpaceAfterFlags&&(command=="A"||command=="a")){var pos=i%7;if(pos==4||pos==5)delimiter=""}const itemStr=params.leadingZero?removeLeadingZero$3(item):item.toString();if(params.negativeExtraSpace&&delimiter!=""&&(item<0||itemStr.charAt(0)==="."&&prev%1!==0)){delimiter=""}prev=item;str+=delimiter+itemStr}));return str};const removeLeadingZero$3=num=>{var strNum=num.toString();if(0<num&&num<1&&strNum.charAt(0)==="0"){strNum=strNum.slice(1)}else if(-1<num&&num<0&&strNum.charAt(1)==="0"){strNum=strNum.charAt(0)+strNum.slice(2)}return strNum};tools.removeLeadingZero=removeLeadingZero$3;const{removeLeadingZero:removeLeadingZero$2}=tools;cleanupNumericValues$1.name="cleanupNumericValues";cleanupNumericValues$1.description="rounds numeric values to the fixed precision, removes default ‘px’ units";const regNumericValues$3=/^([-+]?\d*\.?\d+([eE][-+]?\d+)?)(px|pt|pc|mm|cm|m|in|ft|em|ex|%)?$/;const absoluteLengths$1={cm:96/2.54,mm:96/25.4,in:96,pt:4/3,pc:16,px:1};cleanupNumericValues$1.fn=(_root,params)=>{const{floatPrecision:floatPrecision=3,leadingZero:leadingZero=true,defaultPx:defaultPx=true,convertToPx:convertToPx=true}=params;return{element:{enter:node=>{if(node.attributes.viewBox!=null){const nums=node.attributes.viewBox.split(/\s,?\s*|,\s*/g);node.attributes.viewBox=nums.map((value=>{const num=Number(value);return Number.isNaN(num)?value:Number(num.toFixed(floatPrecision))})).join(" ")}for(const[name,value]of Object.entries(node.attributes)){if(name==="version"){continue}const match=value.match(regNumericValues$3);if(match){let num=Number(Number(match[1]).toFixed(floatPrecision));let matchedUnit=match[3]||"";let units=matchedUnit;if(convertToPx&&units!==""&&units in absoluteLengths$1){const pxNum=Number((absoluteLengths$1[units]*Number(match[1])).toFixed(floatPrecision));if(pxNum.toString().length<match[0].length){num=pxNum;units="px"}}let str;if(leadingZero){str=removeLeadingZero$2(num)}else{str=num.toString()}if(defaultPx&&units==="px"){units=""}node.attributes[name]=str+units}}}}}};var convertColors$1={};const collections=_collections;convertColors$1.name="convertColors";convertColors$1.description="converts colors: rgb() to #rrggbb and #rrggbb to #rgb";const rNumber="([+-]?(?:\\d*\\.\\d+|\\d+\\.?)%?)";const rComma="\\s*,\\s*";const regRGB=new RegExp("^rgb\\(\\s*"+rNumber+rComma+rNumber+rComma+rNumber+"\\s*\\)$");const regHEX=/^#(([a-fA-F0-9])\2){3}$/;const convertRgbToHex=([r,g,b])=>{const hexNumber=(256+r<<8|g)<<8|b;return"#"+hexNumber.toString(16).slice(1).toUpperCase()};convertColors$1.fn=(_root,params)=>{const{currentColor:currentColor=false,names2hex:names2hex=true,rgb2hex:rgb2hex=true,shorthex:shorthex=true,shortname:shortname=true}=params;return{element:{enter:node=>{for(const[name,value]of Object.entries(node.attributes)){if(collections.colorsProps.includes(name)){let val=value;if(currentColor){let matched;if(typeof currentColor==="string"){matched=val===currentColor}else if(currentColor instanceof RegExp){matched=currentColor.exec(val)!=null}else{matched=val!=="none"}if(matched){val="currentColor"}}if(names2hex){const colorName=val.toLowerCase();if(collections.colorsNames[colorName]!=null){val=collections.colorsNames[colorName]}}if(rgb2hex){let match=val.match(regRGB);if(match!=null){let nums=match.slice(1,4).map((m=>{let n;if(m.indexOf("%")>-1){n=Math.round(parseFloat(m)*2.55)}else{n=Number(m)}return Math.max(0,Math.min(n,255))}));val=convertRgbToHex(nums)}}if(shorthex){let match=val.match(regHEX);if(match!=null){val="#"+match[0][1]+match[0][3]+match[0][5]}}if(shortname){const colorName=val.toLowerCase();if(collections.colorsShortNames[colorName]!=null){val=collections.colorsShortNames[colorName]}}node.attributes[name]=val}}}}}};var removeUnknownsAndDefaults$1={};var style={};const csstree$1=cjs$1;const{syntax:{specificity:specificity}}=cjs;const{visit:visit$5,matches:matches}=xast;const{attrsGroups:attrsGroups$4,inheritableAttrs:inheritableAttrs$3,presentationNonInheritableGroupAttrs:presentationNonInheritableGroupAttrs$2}=_collections;const csstreeWalkSkip=csstree$1.walk.skip;const parseRule=(ruleNode,dynamic)=>{const declarations=[];ruleNode.block.children.forEach((cssNode=>{if(cssNode.type==="Declaration"){declarations.push({name:cssNode.property,value:csstree$1.generate(cssNode.value),important:cssNode.important===true})}}));const rules=[];csstree$1.walk(ruleNode.prelude,(node=>{if(node.type==="Selector"){const newNode=csstree$1.clone(node);let hasPseudoClasses=false;csstree$1.walk(newNode,((pseudoClassNode,item,list)=>{if(pseudoClassNode.type==="PseudoClassSelector"){hasPseudoClasses=true;list.remove(item)}}));rules.push({specificity:specificity(node),dynamic:hasPseudoClasses||dynamic,selector:csstree$1.generate(newNode),declarations:declarations})}}));return rules};const parseStylesheet=(css,dynamic)=>{const rules=[];const ast=csstree$1.parse(css,{parseValue:false,parseAtrulePrelude:false});csstree$1.walk(ast,(cssNode=>{if(cssNode.type==="Rule"){rules.push(...parseRule(cssNode,dynamic||false));return csstreeWalkSkip}if(cssNode.type==="Atrule"){if(cssNode.name==="keyframes"){return csstreeWalkSkip}csstree$1.walk(cssNode,(ruleNode=>{if(ruleNode.type==="Rule"){rules.push(...parseRule(ruleNode,dynamic||true));return csstreeWalkSkip}}));return csstreeWalkSkip}}));return rules};const parseStyleDeclarations=css=>{const declarations=[];const ast=csstree$1.parse(css,{context:"declarationList",parseValue:false});csstree$1.walk(ast,(cssNode=>{if(cssNode.type==="Declaration"){declarations.push({name:cssNode.property,value:csstree$1.generate(cssNode.value),important:cssNode.important===true})}}));return declarations};const computeOwnStyle=(stylesheet,node)=>{const computedStyle={};const importantStyles=new Map;for(const[name,value]of Object.entries(node.attributes)){if(attrsGroups$4.presentation.includes(name)){computedStyle[name]={type:"static",inherited:false,value:value};importantStyles.set(name,false)}}for(const{selector:selector,declarations:declarations,dynamic:dynamic}of stylesheet.rules){if(matches(node,selector)){for(const{name:name,value:value,important:important}of declarations){const computed=computedStyle[name];if(computed&&computed.type==="dynamic"){continue}if(dynamic){computedStyle[name]={type:"dynamic",inherited:false};continue}if(computed==null||important===true||importantStyles.get(name)===false){computedStyle[name]={type:"static",inherited:false,value:value};importantStyles.set(name,important)}}}}const styleDeclarations=node.attributes.style==null?[]:parseStyleDeclarations(node.attributes.style);for(const{name:name,value:value,important:important}of styleDeclarations){const computed=computedStyle[name];if(computed&&computed.type==="dynamic"){continue}if(computed==null||important===true||importantStyles.get(name)===false){computedStyle[name]={type:"static",inherited:false,value:value};importantStyles.set(name,important)}}return computedStyle};const compareSpecificity=(a,b)=>{for(let i=0;i<4;i+=1){if(a[i]<b[i]){return-1}else if(a[i]>b[i]){return 1}}return 0};const collectStylesheet$6=root=>{const rules=[];const parents=new Map;visit$5(root,{element:{enter:(node,parentNode)=>{parents.set(node,parentNode);if(node.name==="style"){const dynamic=node.attributes.media!=null&&node.attributes.media!=="all";if(node.attributes.type==null||node.attributes.type===""||node.attributes.type==="text/css"){const children=node.children;for(const child of children){if(child.type==="text"||child.type==="cdata"){rules.push(...parseStylesheet(child.value,dynamic))}}}}}}});rules.sort(((a,b)=>compareSpecificity(a.specificity,b.specificity)));return{rules:rules,parents:parents}};style.collectStylesheet=collectStylesheet$6;const computeStyle$6=(stylesheet,node)=>{const{parents:parents}=stylesheet;const computedStyles=computeOwnStyle(stylesheet,node);let parent=parents.get(node);while(parent!=null&&parent.type!=="root"){const inheritedStyles=computeOwnStyle(stylesheet,parent);for(const[name,computed]of Object.entries(inheritedStyles)){if(computedStyles[name]==null&&inheritableAttrs$3.includes(name)===true&&presentationNonInheritableGroupAttrs$2.includes(name)===false){computedStyles[name]={...computed,inherited:true}}}parent=parents.get(parent)}return computedStyles};style.computeStyle=computeStyle$6;const{visitSkip:visitSkip$3,detachNodeFromParent:detachNodeFromParent$d}=xast;const{collectStylesheet:collectStylesheet$5,computeStyle:computeStyle$5}=style;const{elems:elems,attrsGroups:attrsGroups$3,elemsGroups:elemsGroups$3,attrsGroupsDefaults:attrsGroupsDefaults$1,presentationNonInheritableGroupAttrs:presentationNonInheritableGroupAttrs$1}=_collections;removeUnknownsAndDefaults$1.name="removeUnknownsAndDefaults";removeUnknownsAndDefaults$1.description="removes unknown elements content and attributes, removes attrs with default values";const allowedChildrenPerElement=new Map;const allowedAttributesPerElement=new Map;const attributesDefaultsPerElement=new Map;for(const[name,config]of Object.entries(elems)){const allowedChildren=new Set;if(config.content){for(const elementName of config.content){allowedChildren.add(elementName)}}if(config.contentGroups){for(const contentGroupName of config.contentGroups){const elemsGroup=elemsGroups$3[contentGroupName];if(elemsGroup){for(const elementName of elemsGroup){allowedChildren.add(elementName)}}}}const allowedAttributes=new Set;if(config.attrs){for(const attrName of config.attrs){allowedAttributes.add(attrName)}}const attributesDefaults=new Map;if(config.defaults){for(const[attrName,defaultValue]of Object.entries(config.defaults)){attributesDefaults.set(attrName,defaultValue)}}for(const attrsGroupName of config.attrsGroups){const attrsGroup=attrsGroups$3[attrsGroupName];if(attrsGroup){for(const attrName of attrsGroup){allowedAttributes.add(attrName)}}const groupDefaults=attrsGroupsDefaults$1[attrsGroupName];if(groupDefaults){for(const[attrName,defaultValue]of Object.entries(groupDefaults)){attributesDefaults.set(attrName,defaultValue)}}}allowedChildrenPerElement.set(name,allowedChildren);allowedAttributesPerElement.set(name,allowedAttributes);attributesDefaultsPerElement.set(name,attributesDefaults)}removeUnknownsAndDefaults$1.fn=(root,params)=>{const{unknownContent:unknownContent=true,unknownAttrs:unknownAttrs=true,defaultAttrs:defaultAttrs=true,uselessOverrides:uselessOverrides=true,keepDataAttrs:keepDataAttrs=true,keepAriaAttrs:keepAriaAttrs=true,keepRoleAttr:keepRoleAttr=false}=params;const stylesheet=collectStylesheet$5(root);return{element:{enter:(node,parentNode)=>{if(node.name.includes(":")){return}if(node.name==="foreignObject"){return visitSkip$3}if(unknownContent&&parentNode.type==="element"){const allowedChildren=allowedChildrenPerElement.get(parentNode.name);if(allowedChildren==null||allowedChildren.size===0){if(allowedChildrenPerElement.get(node.name)==null){detachNodeFromParent$d(node,parentNode);return}}else{if(allowedChildren.has(node.name)===false){detachNodeFromParent$d(node,parentNode);return}}}const allowedAttributes=allowedAttributesPerElement.get(node.name);const attributesDefaults=attributesDefaultsPerElement.get(node.name);const computedParentStyle=parentNode.type==="element"?computeStyle$5(stylesheet,parentNode):null;for(const[name,value]of Object.entries(node.attributes)){if(keepDataAttrs&&name.startsWith("data-")){continue}if(keepAriaAttrs&&name.startsWith("aria-")){continue}if(keepRoleAttr&&name==="role"){continue}if(name==="xmlns"){continue}if(name.includes(":")){const[prefix]=name.split(":");if(prefix!=="xml"&&prefix!=="xlink"){continue}}if(unknownAttrs&&allowedAttributes&&allowedAttributes.has(name)===false){delete node.attributes[name]}if(defaultAttrs&&node.attributes.id==null&&attributesDefaults&&attributesDefaults.get(name)===value){if(computedParentStyle==null||computedParentStyle[name]==null){delete node.attributes[name]}}if(uselessOverrides&&node.attributes.id==null){const style=computedParentStyle==null?null:computedParentStyle[name];if(presentationNonInheritableGroupAttrs$1.includes(name)===false&&style!=null&&style.type==="static"&&style.value===value){delete node.attributes[name]}}}}}}};var removeNonInheritableGroupAttrs$1={};const{inheritableAttrs:inheritableAttrs$2,attrsGroups:attrsGroups$2,presentationNonInheritableGroupAttrs:presentationNonInheritableGroupAttrs}=_collections;removeNonInheritableGroupAttrs$1.name="removeNonInheritableGroupAttrs";removeNonInheritableGroupAttrs$1.description="removes non-inheritable group’s presentational attributes";removeNonInheritableGroupAttrs$1.fn=()=>({element:{enter:node=>{if(node.name==="g"){for(const name of Object.keys(node.attributes)){if(attrsGroups$2.presentation.includes(name)===true&&inheritableAttrs$2.includes(name)===false&&presentationNonInheritableGroupAttrs.includes(name)===false){delete node.attributes[name]}}}}}});var removeUselessStrokeAndFill$1={};const{visit:visit$4,visitSkip:visitSkip$2,detachNodeFromParent:detachNodeFromParent$c}=xast;const{collectStylesheet:collectStylesheet$4,computeStyle:computeStyle$4}=style;const{elemsGroups:elemsGroups$2}=_collections;removeUselessStrokeAndFill$1.name="removeUselessStrokeAndFill";removeUselessStrokeAndFill$1.description="removes useless stroke and fill attributes";removeUselessStrokeAndFill$1.fn=(root,params)=>{const{stroke:removeStroke=true,fill:removeFill=true,removeNone:removeNone=false}=params;let hasStyleOrScript=false;visit$4(root,{element:{enter:node=>{if(node.name==="style"||node.name==="script"){hasStyleOrScript=true}}}});if(hasStyleOrScript){return null}const stylesheet=collectStylesheet$4(root);return{element:{enter:(node,parentNode)=>{if(node.attributes.id!=null){return visitSkip$2}if(elemsGroups$2.shape.includes(node.name)==false){return}const computedStyle=computeStyle$4(stylesheet,node);const stroke=computedStyle.stroke;const strokeOpacity=computedStyle["stroke-opacity"];const strokeWidth=computedStyle["stroke-width"];const markerEnd=computedStyle["marker-end"];const fill=computedStyle.fill;const fillOpacity=computedStyle["fill-opacity"];const computedParentStyle=parentNode.type==="element"?computeStyle$4(stylesheet,parentNode):null;const parentStroke=computedParentStyle==null?null:computedParentStyle.stroke;if(removeStroke){if(stroke==null||stroke.type==="static"&&stroke.value=="none"||strokeOpacity!=null&&strokeOpacity.type==="static"&&strokeOpacity.value==="0"||strokeWidth!=null&&strokeWidth.type==="static"&&strokeWidth.value==="0"){if(strokeWidth!=null&&strokeWidth.type==="static"&&strokeWidth.value==="0"||markerEnd==null){for(const name of Object.keys(node.attributes)){if(name.startsWith("stroke")){delete node.attributes[name]}}if(parentStroke!=null&&parentStroke.type==="static"&&parentStroke.value!=="none"){node.attributes.stroke="none"}}}}if(removeFill){if(fill!=null&&fill.type==="static"&&fill.value==="none"||fillOpacity!=null&&fillOpacity.type==="static"&&fillOpacity.value==="0"){for(const name of Object.keys(node.attributes)){if(name.startsWith("fill-")){delete node.attributes[name]}}if(fill==null||fill.type==="static"&&fill.value!=="none"){node.attributes.fill="none"}}}if(removeNone){if((stroke==null||node.attributes.stroke==="none")&&(fill!=null&&fill.type==="static"&&fill.value==="none"||node.attributes.fill==="none")){detachNodeFromParent$c(node,parentNode)}}}}}};var removeViewBox$1={};removeViewBox$1.name="removeViewBox";removeViewBox$1.description="removes viewBox attribute when possible";const viewBoxElems=["svg","pattern","symbol"];removeViewBox$1.fn=()=>({element:{enter:(node,parentNode)=>{if(viewBoxElems.includes(node.name)&&node.attributes.viewBox!=null&&node.attributes.width!=null&&node.attributes.height!=null){if(node.name==="svg"&&parentNode.type!=="root"){return}const nums=node.attributes.viewBox.split(/[ ,]+/g);if(nums[0]==="0"&&nums[1]==="0"&&node.attributes.width.replace(/px$/,"")===nums[2]&&node.attributes.height.replace(/px$/,"")===nums[3]){delete node.attributes.viewBox}}}}});var cleanupEnableBackground$1={};const{visit:visit$3}=xast;cleanupEnableBackground$1.name="cleanupEnableBackground";cleanupEnableBackground$1.description="remove or cleanup enable-background attribute when possible";cleanupEnableBackground$1.fn=root=>{const regEnableBackground=/^new\s0\s0\s([-+]?\d*\.?\d+([eE][-+]?\d+)?)\s([-+]?\d*\.?\d+([eE][-+]?\d+)?)$/;let hasFilter=false;visit$3(root,{element:{enter:node=>{if(node.name==="filter"){hasFilter=true}}}});return{element:{enter:node=>{if(node.attributes["enable-background"]==null){return}if(hasFilter){if((node.name==="svg"||node.name==="mask"||node.name==="pattern")&&node.attributes.width!=null&&node.attributes.height!=null){const match=node.attributes["enable-background"].match(regEnableBackground);if(match!=null&&node.attributes.width===match[1]&&node.attributes.height===match[3]){if(node.name==="svg"){delete node.attributes["enable-background"]}else{node.attributes["enable-background"]="new"}}}}else{delete node.attributes["enable-background"]}}}}};var removeHiddenElems$1={};var path={};const argsCountPerCommand={M:2,m:2,Z:0,z:0,L:2,l:2,H:1,h:1,V:1,v:1,C:6,c:6,S:4,s:4,Q:4,q:4,T:2,t:2,A:7,a:7};const isCommand=c=>c in argsCountPerCommand;const isWsp=c=>{const codePoint=c.codePointAt(0);return codePoint===32||codePoint===9||codePoint===13||codePoint===10};const isDigit=c=>{const codePoint=c.codePointAt(0);if(codePoint==null){return false}return 48<=codePoint&&codePoint<=57};const readNumber=(string,cursor)=>{let i=cursor;let value="";let state="none";for(;i<string.length;i+=1){const c=string[i];if(c==="+"||c==="-"){if(state==="none"){state="sign";value+=c;continue}if(state==="e"){state="exponent_sign";value+=c;continue}}if(isDigit(c)){if(state==="none"||state==="sign"||state==="whole"){state="whole";value+=c;continue}if(state==="decimal_point"||state==="decimal"){state="decimal";value+=c;continue}if(state==="e"||state==="exponent_sign"||state==="exponent"){state="exponent";value+=c;continue}}if(c==="."){if(state==="none"||state==="sign"||state==="whole"){state="decimal_point";value+=c;continue}}if(c==="E"||c=="e"){if(state==="whole"||state==="decimal_point"||state==="decimal"){state="e";value+=c;continue}}break}const number=Number.parseFloat(value);if(Number.isNaN(number)){return[cursor,null]}else{return[i-1,number]}};const parsePathData$3=string=>{const pathData=[];let command=null;let args=[];let argsCount=0;let canHaveComma=false;let hadComma=false;for(let i=0;i<string.length;i+=1){const c=string.charAt(i);if(isWsp(c)){continue}if(canHaveComma&&c===","){if(hadComma){break}hadComma=true;continue}if(isCommand(c)){if(hadComma){return pathData}if(command==null){if(c!=="M"&&c!=="m"){return pathData}}else{if(args.length!==0){return pathData}}command=c;args=[];argsCount=argsCountPerCommand[command];canHaveComma=false;if(argsCount===0){pathData.push({command:command,args:args})}continue}if(command==null){return pathData}let newCursor=i;let number=null;if(command==="A"||command==="a"){const position=args.length;if(position===0||position===1){if(c!=="+"&&c!=="-"){[newCursor,number]=readNumber(string,i)}}if(position===2||position===5||position===6){[newCursor,number]=readNumber(string,i)}if(position===3||position===4){if(c==="0"){number=0}if(c==="1"){number=1}}}else{[newCursor,number]=readNumber(string,i)}if(number==null){return pathData}args.push(number);canHaveComma=true;hadComma=false;i=newCursor;if(args.length===argsCount){pathData.push({command:command,args:args});if(command==="M"){command="L"}if(command==="m"){command="l"}args=[]}}return pathData};path.parsePathData=parsePathData$3;const stringifyNumber=(number,precision)=>{if(precision!=null){const ratio=10**precision;number=Math.round(number*ratio)/ratio}return number.toString().replace(/^0\./,".").replace(/^-0\./,"-.")};const stringifyArgs=(command,args,precision,disableSpaceAfterFlags)=>{let result="";let prev="";for(let i=0;i<args.length;i+=1){const number=args[i];const numberString=stringifyNumber(number,precision);if(disableSpaceAfterFlags&&(command==="A"||command==="a")&&(i%7===4||i%7===5)){result+=numberString}else if(i===0||numberString.startsWith("-")){result+=numberString}else if(prev.includes(".")&&numberString.startsWith(".")){result+=numberString}else{result+=` ${numberString}`}prev=numberString}return result};const stringifyPathData$2=({pathData:pathData,precision:precision,disableSpaceAfterFlags:disableSpaceAfterFlags})=>{let combined=[];for(let i=0;i<pathData.length;i+=1){const{command:command,args:args}=pathData[i];if(i===0){combined.push({command:command,args:args})}else{const last=combined[combined.length-1];if(i===1){if(command==="L"){last.command="M"}if(command==="l"){last.command="m"}}if(last.command===command&&last.command!=="M"&&last.command!=="m"||last.command==="M"&&command==="L"||last.command==="m"&&command==="l"){last.args=[...last.args,...args]}else{combined.push({command:command,args:args})}}}let result="";for(const{command:command,args:args}of combined){result+=command+stringifyArgs(command,args,precision,disableSpaceAfterFlags)}return result};path.stringifyPathData=stringifyPathData$2;const{visit:visit$2,visitSkip:visitSkip$1,querySelector:querySelector,detachNodeFromParent:detachNodeFromParent$b}=xast;const{collectStylesheet:collectStylesheet$3,computeStyle:computeStyle$3}=style;const{parsePathData:parsePathData$2}=path;removeHiddenElems$1.name="removeHiddenElems";removeHiddenElems$1.description="removes hidden elements (zero sized, with absent attributes)";removeHiddenElems$1.fn=(root,params)=>{const{isHidden:isHidden=true,displayNone:displayNone=true,opacity0:opacity0=true,circleR0:circleR0=true,ellipseRX0:ellipseRX0=true,ellipseRY0:ellipseRY0=true,rectWidth0:rectWidth0=true,rectHeight0:rectHeight0=true,patternWidth0:patternWidth0=true,patternHeight0:patternHeight0=true,imageWidth0:imageWidth0=true,imageHeight0:imageHeight0=true,pathEmptyD:pathEmptyD=true,polylineEmptyPoints:polylineEmptyPoints=true,polygonEmptyPoints:polygonEmptyPoints=true}=params;const stylesheet=collectStylesheet$3(root);visit$2(root,{element:{enter:(node,parentNode)=>{if(node.name==="clipPath"){return visitSkip$1}const computedStyle=computeStyle$3(stylesheet,node);if(opacity0&&computedStyle.opacity&&computedStyle.opacity.type==="static"&&computedStyle.opacity.value==="0"){detachNodeFromParent$b(node,parentNode);return}}}});return{element:{enter:(node,parentNode)=>{const computedStyle=computeStyle$3(stylesheet,node);if(isHidden&&computedStyle.visibility&&computedStyle.visibility.type==="static"&&computedStyle.visibility.value==="hidden"&&querySelector(node,"[visibility=visible]")==null){detachNodeFromParent$b(node,parentNode);return}if(displayNone&&computedStyle.display&&computedStyle.display.type==="static"&&computedStyle.display.value==="none"&&node.name!=="marker"){detachNodeFromParent$b(node,parentNode);return}if(circleR0&&node.name==="circle"&&node.children.length===0&&node.attributes.r==="0"){detachNodeFromParent$b(node,parentNode);return}if(ellipseRX0&&node.name==="ellipse"&&node.children.length===0&&node.attributes.rx==="0"){detachNodeFromParent$b(node,parentNode);return}if(ellipseRY0&&node.name==="ellipse"&&node.children.length===0&&node.attributes.ry==="0"){detachNodeFromParent$b(node,parentNode);return}if(rectWidth0&&node.name==="rect"&&node.children.length===0&&node.attributes.width==="0"){detachNodeFromParent$b(node,parentNode);return}if(rectHeight0&&rectWidth0&&node.name==="rect"&&node.children.length===0&&node.attributes.height==="0"){detachNodeFromParent$b(node,parentNode);return}if(patternWidth0&&node.name==="pattern"&&node.attributes.width==="0"){detachNodeFromParent$b(node,parentNode);return}if(patternHeight0&&node.name==="pattern"&&node.attributes.height==="0"){detachNodeFromParent$b(node,parentNode);return}if(imageWidth0&&node.name==="image"&&node.attributes.width==="0"){detachNodeFromParent$b(node,parentNode);return}if(imageHeight0&&node.name==="image"&&node.attributes.height==="0"){detachNodeFromParent$b(node,parentNode);return}if(pathEmptyD&&node.name==="path"){if(node.attributes.d==null){detachNodeFromParent$b(node,parentNode);return}const pathData=parsePathData$2(node.attributes.d);if(pathData.length===0){detachNodeFromParent$b(node,parentNode);return}if(pathData.length===1&&computedStyle["marker-start"]==null&&computedStyle["marker-end"]==null){detachNodeFromParent$b(node,parentNode);return}return}if(polylineEmptyPoints&&node.name==="polyline"&&node.attributes.points==null){detachNodeFromParent$b(node,parentNode);return}if(polygonEmptyPoints&&node.name==="polygon"&&node.attributes.points==null){detachNodeFromParent$b(node,parentNode);return}}}}};var removeEmptyText$1={};const{detachNodeFromParent:detachNodeFromParent$a}=xast;removeEmptyText$1.name="removeEmptyText";removeEmptyText$1.description="removes empty <text> elements";removeEmptyText$1.fn=(root,params)=>{const{text:text=true,tspan:tspan=true,tref:tref=true}=params;return{element:{enter:(node,parentNode)=>{if(text&&node.name==="text"&&node.children.length===0){detachNodeFromParent$a(node,parentNode)}if(tspan&&node.name==="tspan"&&node.children.length===0){detachNodeFromParent$a(node,parentNode)}if(tref&&node.name==="tref"&&node.attributes["xlink:href"]==null){detachNodeFromParent$a(node,parentNode)}}}}};var convertShapeToPath$1={};const{stringifyPathData:stringifyPathData$1}=path;const{detachNodeFromParent:detachNodeFromParent$9}=xast;convertShapeToPath$1.name="convertShapeToPath";convertShapeToPath$1.description="converts basic shapes to more compact path form";const regNumber=/[-+]?(?:\d*\.\d+|\d+\.?)(?:[eE][-+]?\d+)?/g;convertShapeToPath$1.fn=(root,params)=>{const{convertArcs:convertArcs=false,floatPrecision:precision}=params;return{element:{enter:(node,parentNode)=>{if(node.name==="rect"&&node.attributes.width!=null&&node.attributes.height!=null&&node.attributes.rx==null&&node.attributes.ry==null){const x=Number(node.attributes.x||"0");const y=Number(node.attributes.y||"0");const width=Number(node.attributes.width);const height=Number(node.attributes.height);if(Number.isNaN(x-y+width-height))return;const pathData=[{command:"M",args:[x,y]},{command:"H",args:[x+width]},{command:"V",args:[y+height]},{command:"H",args:[x]},{command:"z",args:[]}];node.name="path";node.attributes.d=stringifyPathData$1({pathData:pathData,precision:precision});delete node.attributes.x;delete node.attributes.y;delete node.attributes.width;delete node.attributes.height}if(node.name==="line"){const x1=Number(node.attributes.x1||"0");const y1=Number(node.attributes.y1||"0");const x2=Number(node.attributes.x2||"0");const y2=Number(node.attributes.y2||"0");if(Number.isNaN(x1-y1+x2-y2))return;const pathData=[{command:"M",args:[x1,y1]},{command:"L",args:[x2,y2]}];node.name="path";node.attributes.d=stringifyPathData$1({pathData:pathData,precision:precision});delete node.attributes.x1;delete node.attributes.y1;delete node.attributes.x2;delete node.attributes.y2}if((node.name==="polyline"||node.name==="polygon")&&node.attributes.points!=null){const coords=(node.attributes.points.match(regNumber)||[]).map(Number);if(coords.length<4){detachNodeFromParent$9(node,parentNode);return}const pathData=[];for(let i=0;i<coords.length;i+=2){pathData.push({command:i===0?"M":"L",args:coords.slice(i,i+2)})}if(node.name==="polygon"){pathData.push({command:"z",args:[]})}node.name="path";node.attributes.d=stringifyPathData$1({pathData:pathData,precision:precision});delete node.attributes.points}if(node.name==="circle"&&convertArcs){const cx=Number(node.attributes.cx||"0");const cy=Number(node.attributes.cy||"0");const r=Number(node.attributes.r||"0");if(Number.isNaN(cx-cy+r)){return}const pathData=[{command:"M",args:[cx,cy-r]},{command:"A",args:[r,r,0,1,0,cx,cy+r]},{command:"A",args:[r,r,0,1,0,cx,cy-r]},{command:"z",args:[]}];node.name="path";node.attributes.d=stringifyPathData$1({pathData:pathData,precision:precision});delete node.attributes.cx;delete node.attributes.cy;delete node.attributes.r}if(node.name==="ellipse"&&convertArcs){const ecx=Number(node.attributes.cx||"0");const ecy=Number(node.attributes.cy||"0");const rx=Number(node.attributes.rx||"0");const ry=Number(node.attributes.ry||"0");if(Number.isNaN(ecx-ecy+rx-ry)){return}const pathData=[{command:"M",args:[ecx,ecy-ry]},{command:"A",args:[rx,ry,0,1,0,ecx,ecy+ry]},{command:"A",args:[rx,ry,0,1,0,ecx,ecy-ry]},{command:"z",args:[]}];node.name="path";node.attributes.d=stringifyPathData$1({pathData:pathData,precision:precision});delete node.attributes.cx;delete node.attributes.cy;delete node.attributes.rx;delete node.attributes.ry}}}}};var convertEllipseToCircle$1={};convertEllipseToCircle$1.name="convertEllipseToCircle";convertEllipseToCircle$1.description="converts non-eccentric <ellipse>s to <circle>s";convertEllipseToCircle$1.fn=()=>({element:{enter:node=>{if(node.name==="ellipse"){const rx=node.attributes.rx||"0";const ry=node.attributes.ry||"0";if(rx===ry||rx==="auto"||ry==="auto"){node.name="circle";const radius=rx==="auto"?ry:rx;delete node.attributes.rx;delete node.attributes.ry;node.attributes.r=radius}}}}});var moveElemsAttrsToGroup$1={};const{visit:visit$1}=xast;const{inheritableAttrs:inheritableAttrs$1,pathElems:pathElems$2}=_collections;moveElemsAttrsToGroup$1.name="moveElemsAttrsToGroup";moveElemsAttrsToGroup$1.description="Move common attributes of group children to the group";moveElemsAttrsToGroup$1.fn=root=>{let deoptimizedWithStyles=false;visit$1(root,{element:{enter:node=>{if(node.name==="style"){deoptimizedWithStyles=true}}}});return{element:{exit:node=>{if(node.name!=="g"||node.children.length<=1){return}if(deoptimizedWithStyles){return}const commonAttributes=new Map;let initial=true;let everyChildIsPath=true;for(const child of node.children){if(child.type==="element"){if(pathElems$2.includes(child.name)===false){everyChildIsPath=false}if(initial){initial=false;for(const[name,value]of Object.entries(child.attributes)){if(inheritableAttrs$1.includes(name)){commonAttributes.set(name,value)}}}else{for(const[name,value]of commonAttributes){if(child.attributes[name]!==value){commonAttributes.delete(name)}}}}}if(node.attributes["clip-path"]!=null||node.attributes.mask!=null){commonAttributes.delete("transform")}if(everyChildIsPath){commonAttributes.delete("transform")}for(const[name,value]of commonAttributes){if(name==="transform"){if(node.attributes.transform!=null){node.attributes.transform=`${node.attributes.transform} ${value}`}else{node.attributes.transform=value}}else{node.attributes[name]=value}}for(const child of node.children){if(child.type==="element"){for(const[name]of commonAttributes){delete child.attributes[name]}}}}}}};var moveGroupAttrsToElems$1={};const{pathElems:pathElems$1,referencesProps:referencesProps$2}=_collections;moveGroupAttrsToElems$1.name="moveGroupAttrsToElems";moveGroupAttrsToElems$1.description="moves some group attributes to the content elements";const pathElemsWithGroupsAndText=[...pathElems$1,"g","text"];moveGroupAttrsToElems$1.fn=()=>({element:{enter:node=>{if(node.name==="g"&&node.children.length!==0&&node.attributes.transform!=null&&Object.entries(node.attributes).some((([name,value])=>referencesProps$2.includes(name)&&value.includes("url(")))===false&&node.children.every((child=>child.type==="element"&&pathElemsWithGroupsAndText.includes(child.name)&&child.attributes.id==null))){for(const child of node.children){const value=node.attributes.transform;if(child.type==="element"){if(child.attributes.transform!=null){child.attributes.transform=`${value} ${child.attributes.transform}`}else{child.attributes.transform=value}}}delete node.attributes.transform}}}});var collapseGroups$1={};const{inheritableAttrs:inheritableAttrs,elemsGroups:elemsGroups$1}=_collections;collapseGroups$1.name="collapseGroups";collapseGroups$1.description="collapses useless groups";const hasAnimatedAttr=(node,name)=>{if(node.type==="element"){if(elemsGroups$1.animation.includes(node.name)&&node.attributes.attributeName===name){return true}for(const child of node.children){if(hasAnimatedAttr(child,name)){return true}}}return false};collapseGroups$1.fn=()=>({element:{exit:(node,parentNode)=>{if(parentNode.type==="root"||parentNode.name==="switch"){return}if(node.name!=="g"||node.children.length===0){return}if(Object.keys(node.attributes).length!==0&&node.children.length===1){const firstChild=node.children[0];if(firstChild.type==="element"&&firstChild.attributes.id==null&&node.attributes.filter==null&&(node.attributes.class==null||firstChild.attributes.class==null)&&(node.attributes["clip-path"]==null&&node.attributes.mask==null||firstChild.name==="g"&&node.attributes.transform==null&&firstChild.attributes.transform==null)){for(const[name,value]of Object.entries(node.attributes)){if(hasAnimatedAttr(firstChild,name)){return}if(firstChild.attributes[name]==null){firstChild.attributes[name]=value}else if(name==="transform"){firstChild.attributes[name]=value+" "+firstChild.attributes[name]}else if(firstChild.attributes[name]==="inherit"){firstChild.attributes[name]=value}else if(inheritableAttrs.includes(name)===false&&firstChild.attributes[name]!==value){return}delete node.attributes[name]}}}if(Object.keys(node.attributes).length===0){for(const child of node.children){if(child.type==="element"&&elemsGroups$1.animation.includes(child.name)){return}}const index=parentNode.children.indexOf(node);parentNode.children.splice(index,1,...node.children);for(const child of node.children){Object.defineProperty(child,"parentNode",{writable:true,value:parentNode})}}}}});var convertPathData$1={};var _path={};const{parsePathData:parsePathData$1,stringifyPathData:stringifyPathData}=path;var prevCtrlPoint;const path2js$3=path=>{if(path.pathJS)return path.pathJS;const pathData=[];const newPathData=parsePathData$1(path.attributes.d);for(const{command:command,args:args}of newPathData){pathData.push({command:command,args:args})}if(pathData.length&&pathData[0].command=="m"){pathData[0].command="M"}path.pathJS=pathData;return pathData};_path.path2js=path2js$3;const convertRelativeToAbsolute=data=>{const newData=[];let start=[0,0];let cursor=[0,0];for(let{command:command,args:args}of data){args=args.slice();if(command==="m"){args[0]+=cursor[0];args[1]+=cursor[1];command="M"}if(command==="M"){cursor[0]=args[0];cursor[1]=args[1];start[0]=cursor[0];start[1]=cursor[1]}if(command==="h"){args[0]+=cursor[0];command="H"}if(command==="H"){cursor[0]=args[0]}if(command==="v"){args[0]+=cursor[1];command="V"}if(command==="V"){cursor[1]=args[0]}if(command==="l"){args[0]+=cursor[0];args[1]+=cursor[1];command="L"}if(command==="L"){cursor[0]=args[0];cursor[1]=args[1]}if(command==="c"){args[0]+=cursor[0];args[1]+=cursor[1];args[2]+=cursor[0];args[3]+=cursor[1];args[4]+=cursor[0];args[5]+=cursor[1];command="C"}if(command==="C"){cursor[0]=args[4];cursor[1]=args[5]}if(command==="s"){args[0]+=cursor[0];args[1]+=cursor[1];args[2]+=cursor[0];args[3]+=cursor[1];command="S"}if(command==="S"){cursor[0]=args[2];cursor[1]=args[3]}if(command==="q"){args[0]+=cursor[0];args[1]+=cursor[1];args[2]+=cursor[0];args[3]+=cursor[1];command="Q"}if(command==="Q"){cursor[0]=args[2];cursor[1]=args[3]}if(command==="t"){args[0]+=cursor[0];args[1]+=cursor[1];command="T"}if(command==="T"){cursor[0]=args[0];cursor[1]=args[1]}if(command==="a"){args[5]+=cursor[0];args[6]+=cursor[1];command="A"}if(command==="A"){cursor[0]=args[5];cursor[1]=args[6]}if(command==="z"||command==="Z"){cursor[0]=start[0];cursor[1]=start[1];command="z"}newData.push({command:command,args:args})}return newData};_path.js2path=function(path,data,params){path.pathJS=data;const pathData=[];for(const item of data){if(pathData.length!==0&&(item.command==="M"||item.command==="m")){const last=pathData[pathData.length-1];if(last.command==="M"||last.command==="m"){pathData.pop()}}pathData.push({command:item.command,args:item.args})}path.attributes.d=stringifyPathData({pathData:pathData,precision:params.floatPrecision,disableSpaceAfterFlags:params.noSpaceAfterFlags})};function set(dest,source){dest[0]=source[source.length-2];dest[1]=source[source.length-1];return dest}_path.intersects=function(path1,path2){const points1=gatherPoints(convertRelativeToAbsolute(path1));const points2=gatherPoints(convertRelativeToAbsolute(path2));if(points1.maxX<=points2.minX||points2.maxX<=points1.minX||points1.maxY<=points2.minY||points2.maxY<=points1.minY||points1.list.every((set1=>points2.list.every((set2=>set1.list[set1.maxX][0]<=set2.list[set2.minX][0]||set2.list[set2.maxX][0]<=set1.list[set1.minX][0]||set1.list[set1.maxY][1]<=set2.list[set2.minY][1]||set2.list[set2.maxY][1]<=set1.list[set1.minY][1])))))return false;const hullNest1=points1.list.map(convexHull);const hullNest2=points2.list.map(convexHull);return hullNest1.some((function(hull1){if(hull1.list.length<3)return false;return hullNest2.some((function(hull2){if(hull2.list.length<3)return false;var simplex=[getSupport(hull1,hull2,[1,0])],direction=minus(simplex[0]);var iterations=1e4;while(true){if(iterations--==0){console.error("Error: infinite loop while processing mergePaths plugin.");return true}simplex.push(getSupport(hull1,hull2,direction));if(dot(direction,simplex[simplex.length-1])<=0)return false;if(processSimplex(simplex,direction))return true}}))}));function getSupport(a,b,direction){return sub(supportPoint(a,direction),supportPoint(b,minus(direction)))}function supportPoint(polygon,direction){var index=direction[1]>=0?direction[0]<0?polygon.maxY:polygon.maxX:direction[0]<0?polygon.minX:polygon.minY,max=-Infinity,value;while((value=dot(polygon.list[index],direction))>max){max=value;index=++index%polygon.list.length}return polygon.list[(index||polygon.list.length)-1]}};function processSimplex(simplex,direction){if(simplex.length==2){let a=simplex[1],b=simplex[0],AO=minus(simplex[1]),AB=sub(b,a);if(dot(AO,AB)>0){set(direction,orth(AB,a))}else{set(direction,AO);simplex.shift()}}else{let a=simplex[2],b=simplex[1],c=simplex[0],AB=sub(b,a),AC=sub(c,a),AO=minus(a),ACB=orth(AB,AC),ABC=orth(AC,AB);if(dot(ACB,AO)>0){if(dot(AB,AO)>0){set(direction,ACB);simplex.shift()}else{set(direction,AO);simplex.splice(0,2)}}else if(dot(ABC,AO)>0){if(dot(AC,AO)>0){set(direction,ABC);simplex.splice(1,1)}else{set(direction,AO);simplex.splice(0,2)}}else return true}return false}function minus(v){return[-v[0],-v[1]]}function sub(v1,v2){return[v1[0]-v2[0],v1[1]-v2[1]]}function dot(v1,v2){return v1[0]*v2[0]+v1[1]*v2[1]}function orth(v,from){var o=[-v[1],v[0]];return dot(o,minus(from))<0?minus(o):o}function gatherPoints(pathData){const points={list:[],minX:0,minY:0,maxX:0,maxY:0};const addPoint=(path,point)=>{if(!path.list.length||point[1]>path.list[path.maxY][1]){path.maxY=path.list.length;points.maxY=points.list.length?Math.max(point[1],points.maxY):point[1]}if(!path.list.length||point[0]>path.list[path.maxX][0]){path.maxX=path.list.length;points.maxX=points.list.length?Math.max(point[0],points.maxX):point[0]}if(!path.list.length||point[1]<path.list[path.minY][1]){path.minY=path.list.length;points.minY=points.list.length?Math.min(point[1],points.minY):point[1]}if(!path.list.length||point[0]<path.list[path.minX][0]){path.minX=path.list.length;points.minX=points.list.length?Math.min(point[0],points.minX):point[0]}path.list.push(point)};for(let i=0;i<pathData.length;i+=1){const pathDataItem=pathData[i];let subPath=points.list.length===0?{list:[],minX:0,minY:0,maxX:0,maxY:0}:points.list[points.list.length-1];let prev=i===0?null:pathData[i-1];let basePoint=subPath.list.length===0?null:subPath.list[subPath.list.length-1];let data=pathDataItem.args;let ctrlPoint=basePoint;const toAbsolute=(n,i)=>n+(basePoint==null?0:basePoint[i%2]);switch(pathDataItem.command){case"M":subPath={list:[],minX:0,minY:0,maxX:0,maxY:0};points.list.push(subPath);break;case"H":if(basePoint!=null){addPoint(subPath,[data[0],basePoint[1]])}break;case"V":if(basePoint!=null){addPoint(subPath,[basePoint[0],data[0]])}break;case"Q":addPoint(subPath,data.slice(0,2));prevCtrlPoint=[data[2]-data[0],data[3]-data[1]];break;case"T":if(basePoint!=null&&prev!=null&&(prev.command=="Q"||prev.command=="T")){ctrlPoint=[basePoint[0]+prevCtrlPoint[0],basePoint[1]+prevCtrlPoint[1]];addPoint(subPath,ctrlPoint);prevCtrlPoint=[data[0]-ctrlPoint[0],data[1]-ctrlPoint[1]]}break;case"C":if(basePoint!=null){addPoint(subPath,[.5*(basePoint[0]+data[0]),.5*(basePoint[1]+data[1])])}addPoint(subPath,[.5*(data[0]+data[2]),.5*(data[1]+data[3])]);addPoint(subPath,[.5*(data[2]+data[4]),.5*(data[3]+data[5])]);prevCtrlPoint=[data[4]-data[2],data[5]-data[3]];break;case"S":if(basePoint!=null&&prev!=null&&(prev.command=="C"||prev.command=="S")){addPoint(subPath,[basePoint[0]+.5*prevCtrlPoint[0],basePoint[1]+.5*prevCtrlPoint[1]]);ctrlPoint=[basePoint[0]+prevCtrlPoint[0],basePoint[1]+prevCtrlPoint[1]]}if(ctrlPoint!=null){addPoint(subPath,[.5*(ctrlPoint[0]+data[0]),.5*(ctrlPoint[1]+data[1])])}addPoint(subPath,[.5*(data[0]+data[2]),.5*(data[1]+data[3])]);prevCtrlPoint=[data[2]-data[0],data[3]-data[1]];break;case"A":if(basePoint!=null){var curves=a2c.apply(0,basePoint.concat(data));for(var cData;(cData=curves.splice(0,6).map(toAbsolute)).length;){if(basePoint!=null){addPoint(subPath,[.5*(basePoint[0]+cData[0]),.5*(basePoint[1]+cData[1])])}addPoint(subPath,[.5*(cData[0]+cData[2]),.5*(cData[1]+cData[3])]);addPoint(subPath,[.5*(cData[2]+cData[4]),.5*(cData[3]+cData[5])]);if(curves.length)addPoint(subPath,basePoint=cData.slice(-2))}}break}if(data.length>=2)addPoint(subPath,data.slice(-2))}return points}function convexHull(points){points.list.sort((function(a,b){return a[0]==b[0]?a[1]-b[1]:a[0]-b[0]}));var lower=[],minY=0,bottom=0;for(let i=0;i<points.list.length;i++){while(lower.length>=2&&cross(lower[lower.length-2],lower[lower.length-1],points.list[i])<=0){lower.pop()}if(points.list[i][1]<points.list[minY][1]){minY=i;bottom=lower.length}lower.push(points.list[i])}var upper=[],maxY=points.list.length-1,top=0;for(let i=points.list.length;i--;){while(upper.length>=2&&cross(upper[upper.length-2],upper[upper.length-1],points.list[i])<=0){upper.pop()}if(points.list[i][1]>points.list[maxY][1]){maxY=i;top=upper.length}upper.push(points.list[i])}upper.pop();lower.pop();const hullList=lower.concat(upper);const hull={list:hullList,minX:0,maxX:lower.length,minY:bottom,maxY:(lower.length+top)%hullList.length};return hull}function cross(o,a,b){return(a[0]-o[0])*(b[1]-o[1])-(a[1]-o[1])*(b[0]-o[0])}const a2c=(x1,y1,rx,ry,angle,large_arc_flag,sweep_flag,x2,y2,recursive)=>{const _120=Math.PI*120/180;const rad=Math.PI/180*(+angle||0);let res=[];const rotateX=(x,y,rad)=>x*Math.cos(rad)-y*Math.sin(rad);const rotateY=(x,y,rad)=>x*Math.sin(rad)+y*Math.cos(rad);if(!recursive){x1=rotateX(x1,y1,-rad);y1=rotateY(x1,y1,-rad);x2=rotateX(x2,y2,-rad);y2=rotateY(x2,y2,-rad);var x=(x1-x2)/2,y=(y1-y2)/2;var h=x*x/(rx*rx)+y*y/(ry*ry);if(h>1){h=Math.sqrt(h);rx=h*rx;ry=h*ry}var rx2=rx*rx;var ry2=ry*ry;var k=(large_arc_flag==sweep_flag?-1:1)*Math.sqrt(Math.abs((rx2*ry2-rx2*y*y-ry2*x*x)/(rx2*y*y+ry2*x*x)));var cx=k*rx*y/ry+(x1+x2)/2;var cy=k*-ry*x/rx+(y1+y2)/2;var f1=Math.asin(Number(((y1-cy)/ry).toFixed(9)));var f2=Math.asin(Number(((y2-cy)/ry).toFixed(9)));f1=x1<cx?Math.PI-f1:f1;f2=x2<cx?Math.PI-f2:f2;f1<0&&(f1=Math.PI*2+f1);f2<0&&(f2=Math.PI*2+f2);if(sweep_flag&&f1>f2){f1=f1-Math.PI*2}if(!sweep_flag&&f2>f1){f2=f2-Math.PI*2}}else{f1=recursive[0];f2=recursive[1];cx=recursive[2];cy=recursive[3]}var df=f2-f1;if(Math.abs(df)>_120){var f2old=f2,x2old=x2,y2old=y2;f2=f1+_120*(sweep_flag&&f2>f1?1:-1);x2=cx+rx*Math.cos(f2);y2=cy+ry*Math.sin(f2);res=a2c(x2,y2,rx,ry,angle,0,sweep_flag,x2old,y2old,[f2,f2old,cx,cy])}df=f2-f1;var c1=Math.cos(f1),s1=Math.sin(f1),c2=Math.cos(f2),s2=Math.sin(f2),t=Math.tan(df/4),hx=4/3*rx*t,hy=4/3*ry*t,m=[-hx*s1,hy*c1,x2+hx*s2-x1,y2-hy*c2-y1,x2-x1,y2-y1];if(recursive){return m.concat(res)}else{res=m.concat(res);var newres=[];for(var i=0,n=res.length;i<n;i++){newres[i]=i%2?rotateY(res[i-1],res[i],rad):rotateX(res[i],res[i+1],rad)}return newres}};var applyTransforms$2={};var _transforms={};const regTransformTypes=/matrix|translate|scale|rotate|skewX|skewY/;const regTransformSplit=/\s*(matrix|translate|scale|rotate|skewX|skewY)\s*\(\s*(.+?)\s*\)[\s,]*/;const regNumericValues$2=/[-+]?(?:\d*\.\d+|\d+\.?)(?:[eE][-+]?\d+)?/g;_transforms.transform2js=transformString=>{const transforms=[];let current=null;for(const item of transformString.split(regTransformSplit)){var num;if(item){if(regTransformTypes.test(item)){current={name:item,data:[]};transforms.push(current)}else{while(num=regNumericValues$2.exec(item)){num=Number(num);if(current!=null){current.data.push(num)}}}}}return current==null||current.data.length==0?[]:transforms};_transforms.transformsMultiply=transforms=>{const matrixData=transforms.map((transform=>{if(transform.name==="matrix"){return transform.data}return transformToMatrix(transform)}));const matrixTransform={name:"matrix",data:matrixData.length>0?matrixData.reduce(multiplyTransformMatrices):[]};return matrixTransform};const mth={rad:deg=>deg*Math.PI/180,deg:rad=>rad*180/Math.PI,cos:deg=>Math.cos(mth.rad(deg)),acos:(val,floatPrecision)=>Number(mth.deg(Math.acos(val)).toFixed(floatPrecision)),sin:deg=>Math.sin(mth.rad(deg)),asin:(val,floatPrecision)=>Number(mth.deg(Math.asin(val)).toFixed(floatPrecision)),tan:deg=>Math.tan(mth.rad(deg)),atan:(val,floatPrecision)=>Number(mth.deg(Math.atan(val)).toFixed(floatPrecision))};_transforms.matrixToTransform=(transform,params)=>{let floatPrecision=params.floatPrecision;let data=transform.data;let transforms=[];let sx=Number(Math.hypot(data[0],data[1]).toFixed(params.transformPrecision));let sy=Number(((data[0]*data[3]-data[1]*data[2])/sx).toFixed(params.transformPrecision));let colsSum=data[0]*data[2]+data[1]*data[3];let rowsSum=data[0]*data[1]+data[2]*data[3];let scaleBefore=rowsSum!=0||sx==sy;if(data[4]||data[5]){transforms.push({name:"translate",data:data.slice(4,data[5]?6:5)})}if(!data[1]&&data[2]){transforms.push({name:"skewX",data:[mth.atan(data[2]/sy,floatPrecision)]})}else if(data[1]&&!data[2]){transforms.push({name:"skewY",data:[mth.atan(data[1]/data[0],floatPrecision)]});sx=data[0];sy=data[3]}else if(!colsSum||sx==1&&sy==1||!scaleBefore){if(!scaleBefore){sx=(data[0]<0?-1:1)*Math.hypot(data[0],data[2]);sy=(data[3]<0?-1:1)*Math.hypot(data[1],data[3]);transforms.push({name:"scale",data:[sx,sy]})}var angle=Math.min(Math.max(-1,data[0]/sx),1),rotate=[mth.acos(angle,floatPrecision)*((scaleBefore?1:sy)*data[1]<0?-1:1)];if(rotate[0])transforms.push({name:"rotate",data:rotate});if(rowsSum&&colsSum)transforms.push({name:"skewX",data:[mth.atan(colsSum/(sx*sx),floatPrecision)]});if(rotate[0]&&(data[4]||data[5])){transforms.shift();var cos=data[0]/sx,sin=data[1]/(scaleBefore?sx:sy),x=data[4]*(scaleBefore?1:sy),y=data[5]*(scaleBefore?1:sx),denom=(Math.pow(1-cos,2)+Math.pow(sin,2))*(scaleBefore?1:sx*sy);rotate.push(((1-cos)*x-sin*y)/denom);rotate.push(((1-cos)*y+sin*x)/denom)}}else if(data[1]||data[2]){return[transform]}if(scaleBefore&&(sx!=1||sy!=1)||!transforms.length)transforms.push({name:"scale",data:sx==sy?[sx]:[sx,sy]});return transforms};const transformToMatrix=transform=>{if(transform.name==="matrix"){return transform.data}switch(transform.name){case"translate":return[1,0,0,1,transform.data[0],transform.data[1]||0];case"scale":return[transform.data[0],0,0,transform.data[1]||transform.data[0],0,0];case"rotate":var cos=mth.cos(transform.data[0]),sin=mth.sin(transform.data[0]),cx=transform.data[1]||0,cy=transform.data[2]||0;return[cos,sin,-sin,cos,(1-cos)*cx+sin*cy,(1-cos)*cy-sin*cx];case"skewX":return[1,0,mth.tan(transform.data[0]),1,0,0];case"skewY":return[1,mth.tan(transform.data[0]),0,1,0,0];default:throw Error(`Unknown transform ${transform.name}`)}};_transforms.transformArc=(cursor,arc,transform)=>{const x=arc[5]-cursor[0];const y=arc[6]-cursor[1];let a=arc[0];let b=arc[1];const rot=arc[2]*Math.PI/180;const cos=Math.cos(rot);const sin=Math.sin(rot);if(a>0&&b>0){let h=Math.pow(x*cos+y*sin,2)/(4*a*a)+Math.pow(y*cos-x*sin,2)/(4*b*b);if(h>1){h=Math.sqrt(h);a*=h;b*=h}}const ellipse=[a*cos,a*sin,-b*sin,b*cos,0,0];const m=multiplyTransformMatrices(transform,ellipse);const lastCol=m[2]*m[2]+m[3]*m[3];const squareSum=m[0]*m[0]+m[1]*m[1]+lastCol;const root=Math.hypot(m[0]-m[3],m[1]+m[2])*Math.hypot(m[0]+m[3],m[1]-m[2]);if(!root){arc[0]=arc[1]=Math.sqrt(squareSum/2);arc[2]=0}else{const majorAxisSqr=(squareSum+root)/2;const minorAxisSqr=(squareSum-root)/2;const major=Math.abs(majorAxisSqr-lastCol)>1e-6;const sub=(major?majorAxisSqr:minorAxisSqr)-lastCol;const rowsSum=m[0]*m[2]+m[1]*m[3];const term1=m[0]*sub+m[2]*rowsSum;const term2=m[1]*sub+m[3]*rowsSum;arc[0]=Math.sqrt(majorAxisSqr);arc[1]=Math.sqrt(minorAxisSqr);arc[2]=((major?term2<0:term1>0)?-1:1)*Math.acos((major?term1:term2)/Math.hypot(term1,term2))*180/Math.PI}if(transform[0]<0!==transform[3]<0){arc[4]=1-arc[4]}return arc};const multiplyTransformMatrices=(a,b)=>[a[0]*b[0]+a[2]*b[1],a[1]*b[0]+a[3]*b[1],a[0]*b[2]+a[2]*b[3],a[1]*b[2]+a[3]*b[3],a[0]*b[4]+a[2]*b[5]+a[4],a[1]*b[4]+a[3]*b[5]+a[5]];const{collectStylesheet:collectStylesheet$2,computeStyle:computeStyle$2}=style;const{transformsMultiply:transformsMultiply$1,transform2js:transform2js$1,transformArc:transformArc}=_transforms;const{path2js:path2js$2}=_path;const{removeLeadingZero:removeLeadingZero$1}=tools;const{referencesProps:referencesProps$1,attrsGroupsDefaults:attrsGroupsDefaults}=_collections;const regNumericValues$1=/[-+]?(\d*\.\d+|\d+\.?)(?:[eE][-+]?\d+)?/g;const applyTransforms$1=(root,params)=>{const stylesheet=collectStylesheet$2(root);return{element:{enter:node=>{const computedStyle=computeStyle$2(stylesheet,node);if(node.attributes.d==null){return}if(node.attributes.id!=null){return}if(node.attributes.transform==null||node.attributes.transform===""||node.attributes.style!=null||Object.entries(node.attributes).some((([name,value])=>referencesProps$1.includes(name)&&value.includes("url(")))){return}const matrix=transformsMultiply$1(transform2js$1(node.attributes.transform));const stroke=computedStyle.stroke!=null&&computedStyle.stroke.type==="static"?computedStyle.stroke.value:null;const strokeWidth=computedStyle["stroke-width"]!=null&&computedStyle["stroke-width"].type==="static"?computedStyle["stroke-width"].value:null;const transformPrecision=params.transformPrecision;if(computedStyle.stroke!=null&&computedStyle.stroke.type==="dynamic"||computedStyle.strokeWidth!=null&&computedStyle["stroke-width"].type==="dynamic"){return}const scale=Number(Math.sqrt(matrix.data[0]*matrix.data[0]+matrix.data[1]*matrix.data[1]).toFixed(transformPrecision));if(stroke&&stroke!="none"){if(params.applyTransformsStroked===false){return}if((matrix.data[0]!==matrix.data[3]||matrix.data[1]!==-matrix.data[2])&&(matrix.data[0]!==-matrix.data[3]||matrix.data[1]!==matrix.data[2])){return}if(scale!==1){if(node.attributes["vector-effect"]!=="non-scaling-stroke"){node.attributes["stroke-width"]=(strokeWidth||attrsGroupsDefaults.presentation["stroke-width"]).trim().replace(regNumericValues$1,(num=>removeLeadingZero$1(Number(num)*scale)));if(node.attributes["stroke-dashoffset"]!=null){node.attributes["stroke-dashoffset"]=node.attributes["stroke-dashoffset"].trim().replace(regNumericValues$1,(num=>removeLeadingZero$1(Number(num)*scale)))}if(node.attributes["stroke-dasharray"]!=null){node.attributes["stroke-dasharray"]=node.attributes["stroke-dasharray"].trim().replace(regNumericValues$1,(num=>removeLeadingZero$1(Number(num)*scale)))}}}}const pathData=path2js$2(node);applyMatrixToPathData(pathData,matrix.data);delete node.attributes.transform}}}};applyTransforms$2.applyTransforms=applyTransforms$1;const transformAbsolutePoint=(matrix,x,y)=>{const newX=matrix[0]*x+matrix[2]*y+matrix[4];const newY=matrix[1]*x+matrix[3]*y+matrix[5];return[newX,newY]};const transformRelativePoint=(matrix,x,y)=>{const newX=matrix[0]*x+matrix[2]*y;const newY=matrix[1]*x+matrix[3]*y;return[newX,newY]};const applyMatrixToPathData=(pathData,matrix)=>{const start=[0,0];const cursor=[0,0];for(const pathItem of pathData){let{command:command,args:args}=pathItem;if(command==="M"){cursor[0]=args[0];cursor[1]=args[1];start[0]=cursor[0];start[1]=cursor[1];const[x,y]=transformAbsolutePoint(matrix,args[0],args[1]);args[0]=x;args[1]=y}if(command==="m"){cursor[0]+=args[0];cursor[1]+=args[1];start[0]=cursor[0];start[1]=cursor[1];const[x,y]=transformRelativePoint(matrix,args[0],args[1]);args[0]=x;args[1]=y}if(command==="H"){command="L";args=[args[0],cursor[1]]}if(command==="h"){command="l";args=[args[0],0]}if(command==="V"){command="L";args=[cursor[0],args[0]]}if(command==="v"){command="l";args=[0,args[0]]}if(command==="L"){cursor[0]=args[0];cursor[1]=args[1];const[x,y]=transformAbsolutePoint(matrix,args[0],args[1]);args[0]=x;args[1]=y}if(command==="l"){cursor[0]+=args[0];cursor[1]+=args[1];const[x,y]=transformRelativePoint(matrix,args[0],args[1]);args[0]=x;args[1]=y}if(command==="C"){cursor[0]=args[4];cursor[1]=args[5];const[x1,y1]=transformAbsolutePoint(matrix,args[0],args[1]);const[x2,y2]=transformAbsolutePoint(matrix,args[2],args[3]);const[x,y]=transformAbsolutePoint(matrix,args[4],args[5]);args[0]=x1;args[1]=y1;args[2]=x2;args[3]=y2;args[4]=x;args[5]=y}if(command==="c"){cursor[0]+=args[4];cursor[1]+=args[5];const[x1,y1]=transformRelativePoint(matrix,args[0],args[1]);const[x2,y2]=transformRelativePoint(matrix,args[2],args[3]);const[x,y]=transformRelativePoint(matrix,args[4],args[5]);args[0]=x1;args[1]=y1;args[2]=x2;args[3]=y2;args[4]=x;args[5]=y}if(command==="S"){cursor[0]=args[2];cursor[1]=args[3];const[x2,y2]=transformAbsolutePoint(matrix,args[0],args[1]);const[x,y]=transformAbsolutePoint(matrix,args[2],args[3]);args[0]=x2;args[1]=y2;args[2]=x;args[3]=y}if(command==="s"){cursor[0]+=args[2];cursor[1]+=args[3];const[x2,y2]=transformRelativePoint(matrix,args[0],args[1]);const[x,y]=transformRelativePoint(matrix,args[2],args[3]);args[0]=x2;args[1]=y2;args[2]=x;args[3]=y}if(command==="Q"){cursor[0]=args[2];cursor[1]=args[3];const[x1,y1]=transformAbsolutePoint(matrix,args[0],args[1]);const[x,y]=transformAbsolutePoint(matrix,args[2],args[3]);args[0]=x1;args[1]=y1;args[2]=x;args[3]=y}if(command==="q"){cursor[0]+=args[2];cursor[1]+=args[3];const[x1,y1]=transformRelativePoint(matrix,args[0],args[1]);const[x,y]=transformRelativePoint(matrix,args[2],args[3]);args[0]=x1;args[1]=y1;args[2]=x;args[3]=y}if(command==="T"){cursor[0]=args[0];cursor[1]=args[1];const[x,y]=transformAbsolutePoint(matrix,args[0],args[1]);args[0]=x;args[1]=y}if(command==="t"){cursor[0]+=args[0];cursor[1]+=args[1];const[x,y]=transformRelativePoint(matrix,args[0],args[1]);args[0]=x;args[1]=y}if(command==="A"){transformArc(cursor,args,matrix);cursor[0]=args[5];cursor[1]=args[6];if(Math.abs(args[2])>80){const a=args[0];const rotation=args[2];args[0]=args[1];args[1]=a;args[2]=rotation+(rotation>0?-90:90)}const[x,y]=transformAbsolutePoint(matrix,args[5],args[6]);args[5]=x;args[6]=y}if(command==="a"){transformArc([0,0],args,matrix);cursor[0]+=args[5];cursor[1]+=args[6];if(Math.abs(args[2])>80){const a=args[0];const rotation=args[2];args[0]=args[1];args[1]=a;args[2]=rotation+(rotation>0?-90:90)}const[x,y]=transformRelativePoint(matrix,args[5],args[6]);args[5]=x;args[6]=y}if(command==="z"||command==="Z"){cursor[0]=start[0];cursor[1]=start[1]}pathItem.command=command;pathItem.args=args}};const{collectStylesheet:collectStylesheet$1,computeStyle:computeStyle$1}=style;const{visit:visit}=xast;const{pathElems:pathElems}=_collections;const{path2js:path2js$1,js2path:js2path$1}=_path;const{applyTransforms:applyTransforms}=applyTransforms$2;const{cleanupOutData:cleanupOutData$1}=tools;convertPathData$1.name="convertPathData";convertPathData$1.description="optimizes path data: writes in shorter form, applies transformations";let roundData;let precision;let error;let arcThreshold;let arcTolerance;convertPathData$1.fn=(root,params)=>{const{applyTransforms:_applyTransforms=true,applyTransformsStroked:applyTransformsStroked=true,makeArcs:makeArcs={threshold:2.5,tolerance:.5},straightCurves:straightCurves=true,lineShorthands:lineShorthands=true,curveSmoothShorthands:curveSmoothShorthands=true,floatPrecision:floatPrecision=3,transformPrecision:transformPrecision=5,removeUseless:removeUseless=true,collapseRepeated:collapseRepeated=true,utilizeAbsolute:utilizeAbsolute=true,leadingZero:leadingZero=true,negativeExtraSpace:negativeExtraSpace=true,noSpaceAfterFlags:noSpaceAfterFlags=false,forceAbsolutePath:forceAbsolutePath=false}=params;const newParams={applyTransforms:_applyTransforms,applyTransformsStroked:applyTransformsStroked,makeArcs:makeArcs,straightCurves:straightCurves,lineShorthands:lineShorthands,curveSmoothShorthands:curveSmoothShorthands,floatPrecision:floatPrecision,transformPrecision:transformPrecision,removeUseless:removeUseless,collapseRepeated:collapseRepeated,utilizeAbsolute:utilizeAbsolute,leadingZero:leadingZero,negativeExtraSpace:negativeExtraSpace,noSpaceAfterFlags:noSpaceAfterFlags,forceAbsolutePath:forceAbsolutePath};if(_applyTransforms){visit(root,applyTransforms(root,{transformPrecision:transformPrecision,applyTransformsStroked:applyTransformsStroked}))}const stylesheet=collectStylesheet$1(root);return{element:{enter:node=>{if(pathElems.includes(node.name)&&node.attributes.d!=null){const computedStyle=computeStyle$1(stylesheet,node);precision=floatPrecision;error=precision!==false?+Math.pow(.1,precision).toFixed(precision):.01;roundData=precision>0&&precision<20?strongRound:round$1;if(makeArcs){arcThreshold=makeArcs.threshold;arcTolerance=makeArcs.tolerance}const hasMarkerMid=computedStyle["marker-mid"]!=null;const maybeHasStroke=computedStyle.stroke&&(computedStyle.stroke.type==="dynamic"||computedStyle.stroke.value!=="none");const maybeHasLinecap=computedStyle["stroke-linecap"]&&(computedStyle["stroke-linecap"].type==="dynamic"||computedStyle["stroke-linecap"].value!=="butt");const maybeHasStrokeAndLinecap=maybeHasStroke&&maybeHasLinecap;var data=path2js$1(node);if(data.length){convertToRelative(data);data=filters(data,newParams,{maybeHasStrokeAndLinecap:maybeHasStrokeAndLinecap,hasMarkerMid:hasMarkerMid});if(utilizeAbsolute){data=convertToMixed(data,newParams)}js2path$1(node,data,newParams)}}}}}};const convertToRelative=pathData=>{let start=[0,0];let cursor=[0,0];let prevCoords=[0,0];for(let i=0;i<pathData.length;i+=1){const pathItem=pathData[i];let{command:command,args:args}=pathItem;if(command==="m"){cursor[0]+=args[0];cursor[1]+=args[1];start[0]=cursor[0];start[1]=cursor[1]}if(command==="M"){if(i!==0){command="m"}args[0]-=cursor[0];args[1]-=cursor[1];cursor[0]+=args[0];cursor[1]+=args[1];start[0]=cursor[0];start[1]=cursor[1]}if(command==="l"){cursor[0]+=args[0];cursor[1]+=args[1]}if(command==="L"){command="l";args[0]-=cursor[0];args[1]-=cursor[1];cursor[0]+=args[0];cursor[1]+=args[1]}if(command==="h"){cursor[0]+=args[0]}if(command==="H"){command="h";args[0]-=cursor[0];cursor[0]+=args[0]}if(command==="v"){cursor[1]+=args[0]}if(command==="V"){command="v";args[0]-=cursor[1];cursor[1]+=args[0]}if(command==="c"){cursor[0]+=args[4];cursor[1]+=args[5]}if(command==="C"){command="c";args[0]-=cursor[0];args[1]-=cursor[1];args[2]-=cursor[0];args[3]-=cursor[1];args[4]-=cursor[0];args[5]-=cursor[1];cursor[0]+=args[4];cursor[1]+=args[5]}if(command==="s"){cursor[0]+=args[2];cursor[1]+=args[3]}if(command==="S"){command="s";args[0]-=cursor[0];args[1]-=cursor[1];args[2]-=cursor[0];args[3]-=cursor[1];cursor[0]+=args[2];cursor[1]+=args[3]}if(command==="q"){cursor[0]+=args[2];cursor[1]+=args[3]}if(command==="Q"){command="q";args[0]-=cursor[0];args[1]-=cursor[1];args[2]-=cursor[0];args[3]-=cursor[1];cursor[0]+=args[2];cursor[1]+=args[3]}if(command==="t"){cursor[0]+=args[0];cursor[1]+=args[1]}if(command==="T"){command="t";args[0]-=cursor[0];args[1]-=cursor[1];cursor[0]+=args[0];cursor[1]+=args[1]}if(command==="a"){cursor[0]+=args[5];cursor[1]+=args[6]}if(command==="A"){command="a";args[5]-=cursor[0];args[6]-=cursor[1];cursor[0]+=args[5];cursor[1]+=args[6]}if(command==="Z"||command==="z"){cursor[0]=start[0];cursor[1]=start[1]}pathItem.command=command;pathItem.args=args;pathItem.base=prevCoords;pathItem.coords=[cursor[0],cursor[1]];prevCoords=pathItem.coords}return pathData};function filters(path,params,{maybeHasStrokeAndLinecap:maybeHasStrokeAndLinecap,hasMarkerMid:hasMarkerMid}){var stringify=data2Path.bind(null,params),relSubpoint=[0,0],pathBase=[0,0],prev={};path=path.filter((function(item,index,path){let command=item.command;let data=item.args;let next=path[index+1];if(command!=="Z"&&command!=="z"){var sdata=data,circle;if(command==="s"){sdata=[0,0].concat(data);var pdata=prev.args,n=pdata.length;sdata[0]=pdata[n-2]-pdata[n-4];sdata[1]=pdata[n-1]-pdata[n-3]}if(params.makeArcs&&(command=="c"||command=="s")&&isConvex(sdata)&&(circle=findCircle(sdata))){var r=roundData([circle.radius])[0],angle=findArcAngle(sdata,circle),sweep=sdata[5]*sdata[0]-sdata[4]*sdata[1]>0?1:0,arc={command:"a",args:[r,r,0,0,sweep,sdata[4],sdata[5]],coords:item.coords.slice(),base:item.base},output=[arc],relCenter=[circle.center[0]-sdata[4],circle.center[1]-sdata[5]],relCircle={center:relCenter,radius:circle.radius},arcCurves=[item],hasPrev=0,suffix="",nextLonghand;if(prev.command=="c"&&isConvex(prev.args)&&isArcPrev(prev.args,circle)||prev.command=="a"&&prev.sdata&&isArcPrev(prev.sdata,circle)){arcCurves.unshift(prev);arc.base=prev.base;arc.args[5]=arc.coords[0]-arc.base[0];arc.args[6]=arc.coords[1]-arc.base[1];var prevData=prev.command=="a"?prev.sdata:prev.args;var prevAngle=findArcAngle(prevData,{center:[prevData[4]+circle.center[0],prevData[5]+circle.center[1]],radius:circle.radius});angle+=prevAngle;if(angle>Math.PI)arc.args[3]=1;hasPrev=1}for(var j=index;(next=path[++j])&&~"cs".indexOf(next.command);){var nextData=next.args;if(next.command=="s"){nextLonghand=makeLonghand({command:"s",args:next.args.slice()},path[j-1].args);nextData=nextLonghand.args;nextLonghand.args=nextData.slice(0,2);suffix=stringify([nextLonghand])}if(isConvex(nextData)&&isArc(nextData,relCircle)){angle+=findArcAngle(nextData,relCircle);if(angle-2*Math.PI>.001)break;if(angle>Math.PI)arc.args[3]=1;arcCurves.push(next);if(2*Math.PI-angle>.001){arc.coords=next.coords;arc.args[5]=arc.coords[0]-arc.base[0];arc.args[6]=arc.coords[1]-arc.base[1]}else{arc.args[5]=2*(relCircle.center[0]-nextData[4]);arc.args[6]=2*(relCircle.center[1]-nextData[5]);arc.coords=[arc.base[0]+arc.args[5],arc.base[1]+arc.args[6]];arc={command:"a",args:[r,r,0,0,sweep,next.coords[0]-arc.coords[0],next.coords[1]-arc.coords[1]],coords:next.coords,base:arc.coords};output.push(arc);j++;break}relCenter[0]-=nextData[4];relCenter[1]-=nextData[5]}else break}if((stringify(output)+suffix).length<stringify(arcCurves).length){if(path[j]&&path[j].command=="s"){makeLonghand(path[j],path[j-1].args)}if(hasPrev){var prevArc=output.shift();roundData(prevArc.args);relSubpoint[0]+=prevArc.args[5]-prev.args[prev.args.length-2];relSubpoint[1]+=prevArc.args[6]-prev.args[prev.args.length-1];prev.command="a";prev.args=prevArc.args;item.base=prev.coords=prevArc.coords}arc=output.shift();if(arcCurves.length==1){item.sdata=sdata.slice()}else if(arcCurves.length-1-hasPrev>0){path.splice.apply(path,[index+1,arcCurves.length-1-hasPrev].concat(output))}if(!arc)return false;command="a";data=arc.args;item.coords=arc.coords}}if(precision!==false){if(command==="m"||command==="l"||command==="t"||command==="q"||command==="s"||command==="c"){for(var i=data.length;i--;){data[i]+=item.base[i%2]-relSubpoint[i%2]}}else if(command=="h"){data[0]+=item.base[0]-relSubpoint[0]}else if(command=="v"){data[0]+=item.base[1]-relSubpoint[1]}else if(command=="a"){data[5]+=item.base[0]-relSubpoint[0];data[6]+=item.base[1]-relSubpoint[1]}roundData(data);if(command=="h")relSubpoint[0]+=data[0];else if(command=="v")relSubpoint[1]+=data[0];else{relSubpoint[0]+=data[data.length-2];relSubpoint[1]+=data[data.length-1]}roundData(relSubpoint);if(command==="M"||command==="m"){pathBase[0]=relSubpoint[0];pathBase[1]=relSubpoint[1]}}if(params.straightCurves){if(command==="c"&&isCurveStraightLine(data)||command==="s"&&isCurveStraightLine(sdata)){if(next&&next.command=="s")makeLonghand(next,data);command="l";data=data.slice(-2)}else if(command==="q"&&isCurveStraightLine(data)){if(next&&next.command=="t")makeLonghand(next,data);command="l";data=data.slice(-2)}else if(command==="t"&&prev.command!=="q"&&prev.command!=="t"){command="l";data=data.slice(-2)}else if(command==="a"&&(data[0]===0||data[1]===0)){command="l";data=data.slice(-2)}}if(params.lineShorthands&&command==="l"){if(data[1]===0){command="h";data.pop()}else if(data[0]===0){command="v";data.shift()}}if(params.collapseRepeated&&hasMarkerMid===false&&(command==="m"||command==="h"||command==="v")&&prev.command&&command==prev.command.toLowerCase()&&(command!="h"&&command!="v"||prev.args[0]>=0==data[0]>=0)){prev.args[0]+=data[0];if(command!="h"&&command!="v"){prev.args[1]+=data[1]}prev.coords=item.coords;path[index]=prev;return false}if(params.curveSmoothShorthands&&prev.command){if(command==="c"){if(prev.command==="c"&&data[0]===-(prev.args[2]-prev.args[4])&&data[1]===-(prev.args[3]-prev.args[5])){command="s";data=data.slice(2)}else if(prev.command==="s"&&data[0]===-(prev.args[0]-prev.args[2])&&data[1]===-(prev.args[1]-prev.args[3])){command="s";data=data.slice(2)}else if(prev.command!=="c"&&prev.command!=="s"&&data[0]===0&&data[1]===0){command="s";data=data.slice(2)}}else if(command==="q"){if(prev.command==="q"&&data[0]===prev.args[2]-prev.args[0]&&data[1]===prev.args[3]-prev.args[1]){command="t";data=data.slice(2)}else if(prev.command==="t"&&data[2]===prev.args[0]&&data[3]===prev.args[1]){command="t";data=data.slice(2)}}}if(params.removeUseless&&!maybeHasStrokeAndLinecap){if((command==="l"||command==="h"||command==="v"||command==="q"||command==="t"||command==="c"||command==="s")&&data.every((function(i){return i===0}))){path[index]=prev;return false}if(command==="a"&&data[5]===0&&data[6]===0){path[index]=prev;return false}}item.command=command;item.args=data;prev=item}else{relSubpoint[0]=pathBase[0];relSubpoint[1]=pathBase[1];if(prev.command==="Z"||prev.command==="z")return false;prev=item}return true}));return path}function convertToMixed(path,params){var prev=path[0];path=path.filter((function(item,index){if(index==0)return true;if(item.command==="Z"||item.command==="z"){prev=item;return true}var command=item.command,data=item.args,adata=data.slice();if(command==="m"||command==="l"||command==="t"||command==="q"||command==="s"||command==="c"){for(var i=adata.length;i--;){adata[i]+=item.base[i%2]}}else if(command=="h"){adata[0]+=item.base[0]}else if(command=="v"){adata[0]+=item.base[1]}else if(command=="a"){adata[5]+=item.base[0];adata[6]+=item.base[1]}roundData(adata);var absoluteDataStr=cleanupOutData$1(adata,params),relativeDataStr=cleanupOutData$1(data,params);if(params.forceAbsolutePath||absoluteDataStr.length<relativeDataStr.length&&!(params.negativeExtraSpace&&command==prev.command&&prev.command.charCodeAt(0)>96&&absoluteDataStr.length==relativeDataStr.length-1&&(data[0]<0||/^0\./.test(data[0])&&prev.args[prev.args.length-1]%1))){item.command=command.toUpperCase();item.args=adata}prev=item;return true}));return path}function isConvex(data){var center=getIntersection([0,0,data[2],data[3],data[0],data[1],data[4],data[5]]);return center!=null&&data[2]<center[0]==center[0]<0&&data[3]<center[1]==center[1]<0&&data[4]<center[0]==center[0]<data[0]&&data[5]<center[1]==center[1]<data[1]}function getIntersection(coords){var a1=coords[1]-coords[3],b1=coords[2]-coords[0],c1=coords[0]*coords[3]-coords[2]*coords[1],a2=coords[5]-coords[7],b2=coords[6]-coords[4],c2=coords[4]*coords[7]-coords[5]*coords[6],denom=a1*b2-a2*b1;if(!denom)return;var cross=[(b1*c2-b2*c1)/denom,(a1*c2-a2*c1)/-denom];if(!isNaN(cross[0])&&!isNaN(cross[1])&&isFinite(cross[0])&&isFinite(cross[1])){return cross}}function strongRound(data){for(var i=data.length;i-- >0;){if(data[i].toFixed(precision)!=data[i]){var rounded=+data[i].toFixed(precision-1);data[i]=+Math.abs(rounded-data[i]).toFixed(precision+1)>=error?+data[i].toFixed(precision):rounded}}return data}function round$1(data){for(var i=data.length;i-- >0;){data[i]=Math.round(data[i])}return data}function isCurveStraightLine(data){var i=data.length-2,a=-data[i+1],b=data[i],d=1/(a*a+b*b);if(i<=1||!isFinite(d))return false;while((i-=2)>=0){if(Math.sqrt(Math.pow(a*data[i]+b*data[i+1],2)*d)>error)return false}return true}function makeLonghand(item,data){switch(item.command){case"s":item.command="c";break;case"t":item.command="q";break}item.args.unshift(data[data.length-2]-data[data.length-4],data[data.length-1]-data[data.length-3]);return item}function getDistance(point1,point2){return Math.hypot(point1[0]-point2[0],point1[1]-point2[1])}function getCubicBezierPoint(curve,t){var sqrT=t*t,cubT=sqrT*t,mt=1-t,sqrMt=mt*mt;return[3*sqrMt*t*curve[0]+3*mt*sqrT*curve[2]+cubT*curve[4],3*sqrMt*t*curve[1]+3*mt*sqrT*curve[3]+cubT*curve[5]]}function findCircle(curve){var midPoint=getCubicBezierPoint(curve,1/2),m1=[midPoint[0]/2,midPoint[1]/2],m2=[(midPoint[0]+curve[4])/2,(midPoint[1]+curve[5])/2],center=getIntersection([m1[0],m1[1],m1[0]+m1[1],m1[1]-m1[0],m2[0],m2[1],m2[0]+(m2[1]-midPoint[1]),m2[1]-(m2[0]-midPoint[0])]),radius=center&&getDistance([0,0],center),tolerance=Math.min(arcThreshold*error,arcTolerance*radius/100);if(center&&radius<1e15&&[1/4,3/4].every((function(point){return Math.abs(getDistance(getCubicBezierPoint(curve,point),center)-radius)<=tolerance})))return{center:center,radius:radius}}function isArc(curve,circle){var tolerance=Math.min(arcThreshold*error,arcTolerance*circle.radius/100);return[0,1/4,1/2,3/4,1].every((function(point){return Math.abs(getDistance(getCubicBezierPoint(curve,point),circle.center)-circle.radius)<=tolerance}))}function isArcPrev(curve,circle){return isArc(curve,{center:[circle.center[0]+curve[4],circle.center[1]+curve[5]],radius:circle.radius})}function findArcAngle(curve,relCircle){var x1=-relCircle.center[0],y1=-relCircle.center[1],x2=curve[4]-relCircle.center[0],y2=curve[5]-relCircle.center[1];return Math.acos((x1*x2+y1*y2)/Math.sqrt((x1*x1+y1*y1)*(x2*x2+y2*y2)))}function data2Path(params,pathData){return pathData.reduce((function(pathString,item){var strData="";if(item.args){strData=cleanupOutData$1(roundData(item.args.slice()),params)}return pathString+item.command+strData}),"")}var convertTransform$2={};const{cleanupOutData:cleanupOutData}=tools;const{transform2js:transform2js,transformsMultiply:transformsMultiply,matrixToTransform:matrixToTransform}=_transforms;convertTransform$2.name="convertTransform";convertTransform$2.description="collapses multiple transformations and optimizes it";convertTransform$2.fn=(_root,params)=>{const{convertToShorts:convertToShorts=true,degPrecision:degPrecision,floatPrecision:floatPrecision=3,transformPrecision:transformPrecision=5,matrixToTransform:matrixToTransform=true,shortTranslate:shortTranslate=true,shortScale:shortScale=true,shortRotate:shortRotate=true,removeUseless:removeUseless=true,collapseIntoOne:collapseIntoOne=true,leadingZero:leadingZero=true,negativeExtraSpace:negativeExtraSpace=false}=params;const newParams={convertToShorts:convertToShorts,degPrecision:degPrecision,floatPrecision:floatPrecision,transformPrecision:transformPrecision,matrixToTransform:matrixToTransform,shortTranslate:shortTranslate,shortScale:shortScale,shortRotate:shortRotate,removeUseless:removeUseless,collapseIntoOne:collapseIntoOne,leadingZero:leadingZero,negativeExtraSpace:negativeExtraSpace};return{element:{enter:node=>{if(node.attributes.transform!=null){convertTransform$1(node,"transform",newParams)}if(node.attributes.gradientTransform!=null){convertTransform$1(node,"gradientTransform",newParams)}if(node.attributes.patternTransform!=null){convertTransform$1(node,"patternTransform",newParams)}}}}};const convertTransform$1=(item,attrName,params)=>{let data=transform2js(item.attributes[attrName]);params=definePrecision(data,params);if(params.collapseIntoOne&&data.length>1){data=[transformsMultiply(data)]}if(params.convertToShorts){data=convertToShorts(data,params)}else{data.forEach((item=>roundTransform(item,params)))}if(params.removeUseless){data=removeUseless(data)}if(data.length){item.attributes[attrName]=js2transform(data,params)}else{delete item.attributes[attrName]}};const definePrecision=(data,{...newParams})=>{const matrixData=[];for(const item of data){if(item.name=="matrix"){matrixData.push(...item.data.slice(0,4))}}let significantDigits=newParams.transformPrecision;if(matrixData.length){newParams.transformPrecision=Math.min(newParams.transformPrecision,Math.max.apply(Math,matrixData.map(floatDigits))||newParams.transformPrecision);significantDigits=Math.max.apply(Math,matrixData.map((n=>n.toString().replace(/\D+/g,"").length)))}if(newParams.degPrecision==null){newParams.degPrecision=Math.max(0,Math.min(newParams.floatPrecision,significantDigits-2))}return newParams};const degRound=(data,params)=>{if(params.degPrecision!=null&¶ms.degPrecision>=1&¶ms.floatPrecision<20){return smartRound(params.degPrecision,data)}else{return round(data)}};const floatRound=(data,params)=>{if(params.floatPrecision>=1&¶ms.floatPrecision<20){return smartRound(params.floatPrecision,data)}else{return round(data)}};const transformRound=(data,params)=>{if(params.transformPrecision>=1&¶ms.floatPrecision<20){return smartRound(params.transformPrecision,data)}else{return round(data)}};const floatDigits=n=>{const str=n.toString();return str.slice(str.indexOf(".")).length-1};const convertToShorts=(transforms,params)=>{for(var i=0;i<transforms.length;i++){var transform=transforms[i];if(params.matrixToTransform&&transform.name==="matrix"){var decomposed=matrixToTransform(transform,params);if(js2transform(decomposed,params).length<=js2transform([transform],params).length){transforms.splice(i,1,...decomposed)}transform=transforms[i]}roundTransform(transform,params);if(params.shortTranslate&&transform.name==="translate"&&transform.data.length===2&&!transform.data[1]){transform.data.pop()}if(params.shortScale&&transform.name==="scale"&&transform.data.length===2&&transform.data[0]===transform.data[1]){transform.data.pop()}if(params.shortRotate&&transforms[i-2]&&transforms[i-2].name==="translate"&&transforms[i-1].name==="rotate"&&transforms[i].name==="translate"&&transforms[i-2].data[0]===-transforms[i].data[0]&&transforms[i-2].data[1]===-transforms[i].data[1]){transforms.splice(i-2,3,{name:"rotate",data:[transforms[i-1].data[0],transforms[i-2].data[0],transforms[i-2].data[1]]});i-=2}}return transforms};const removeUseless=transforms=>transforms.filter((transform=>{if(["translate","rotate","skewX","skewY"].indexOf(transform.name)>-1&&(transform.data.length==1||transform.name=="rotate")&&!transform.data[0]||transform.name=="translate"&&!transform.data[0]&&!transform.data[1]||transform.name=="scale"&&transform.data[0]==1&&(transform.data.length<2||transform.data[1]==1)||transform.name=="matrix"&&transform.data[0]==1&&transform.data[3]==1&&!(transform.data[1]||transform.data[2]||transform.data[4]||transform.data[5])){return false}return true}));const js2transform=(transformJS,params)=>{var transformString="";transformJS.forEach((transform=>{roundTransform(transform,params);transformString+=(transformString&&" ")+transform.name+"("+cleanupOutData(transform.data,params)+")"}));return transformString};const roundTransform=(transform,params)=>{switch(transform.name){case"translate":transform.data=floatRound(transform.data,params);break;case"rotate":transform.data=[...degRound(transform.data.slice(0,1),params),...floatRound(transform.data.slice(1),params)];break;case"skewX":case"skewY":transform.data=degRound(transform.data,params);break;case"scale":transform.data=transformRound(transform.data,params);break;case"matrix":transform.data=[...transformRound(transform.data.slice(0,4),params),...floatRound(transform.data.slice(4),params)];break}return transform};const round=data=>data.map(Math.round);const smartRound=(precision,data)=>{for(var i=data.length,tolerance=+Math.pow(.1,precision).toFixed(precision);i--;){if(Number(data[i].toFixed(precision))!==data[i]){var rounded=+data[i].toFixed(precision-1);data[i]=+Math.abs(rounded-data[i]).toFixed(precision+1)>=tolerance?+data[i].toFixed(precision):rounded}}return data};var removeEmptyAttrs$1={};const{attrsGroups:attrsGroups$1}=_collections;removeEmptyAttrs$1.name="removeEmptyAttrs";removeEmptyAttrs$1.description="removes empty attributes";removeEmptyAttrs$1.fn=()=>({element:{enter:node=>{for(const[name,value]of Object.entries(node.attributes)){if(value===""&&attrsGroups$1.conditionalProcessing.includes(name)===false){delete node.attributes[name]}}}}});var removeEmptyContainers$1={};const{detachNodeFromParent:detachNodeFromParent$8}=xast;const{elemsGroups:elemsGroups}=_collections;removeEmptyContainers$1.name="removeEmptyContainers";removeEmptyContainers$1.description="removes empty container elements";removeEmptyContainers$1.fn=()=>({element:{exit:(node,parentNode)=>{if(node.name==="svg"||elemsGroups.container.includes(node.name)===false||node.children.length!==0){return}if(node.name==="pattern"&&Object.keys(node.attributes).length!==0){return}if(node.name==="g"&&node.attributes.filter!=null){return}if(node.name==="mask"&&node.attributes.id!=null){return}detachNodeFromParent$8(node,parentNode)}}});var mergePaths$1={};const{detachNodeFromParent:detachNodeFromParent$7}=xast;const{collectStylesheet:collectStylesheet,computeStyle:computeStyle}=style;const{path2js:path2js,js2path:js2path,intersects:intersects$1}=_path;mergePaths$1.name="mergePaths";mergePaths$1.description="merges multiple paths in one if possible";mergePaths$1.fn=(root,params)=>{const{force:force=false,floatPrecision:floatPrecision,noSpaceAfterFlags:noSpaceAfterFlags=false}=params;const stylesheet=collectStylesheet(root);return{element:{enter:node=>{let prevChild=null;for(const child of node.children){if(prevChild==null||prevChild.type!=="element"||prevChild.name!=="path"||prevChild.children.length!==0||prevChild.attributes.d==null){prevChild=child;continue}if(child.type!=="element"||child.name!=="path"||child.children.length!==0||child.attributes.d==null){prevChild=child;continue}const computedStyle=computeStyle(stylesheet,child);if(computedStyle["marker-start"]||computedStyle["marker-mid"]||computedStyle["marker-end"]){prevChild=child;continue}const prevChildAttrs=Object.keys(prevChild.attributes);const childAttrs=Object.keys(child.attributes);let attributesAreEqual=prevChildAttrs.length===childAttrs.length;for(const name of childAttrs){if(name!=="d"){if(prevChild.attributes[name]==null||prevChild.attributes[name]!==child.attributes[name]){attributesAreEqual=false}}}const prevPathJS=path2js(prevChild);const curPathJS=path2js(child);if(attributesAreEqual&&(force||!intersects$1(prevPathJS,curPathJS))){js2path(prevChild,prevPathJS.concat(curPathJS),{floatPrecision:floatPrecision,noSpaceAfterFlags:noSpaceAfterFlags});detachNodeFromParent$7(child,node);continue}prevChild=child}}}}};var removeUnusedNS$1={};removeUnusedNS$1.name="removeUnusedNS";removeUnusedNS$1.description="removes unused namespaces declaration";removeUnusedNS$1.fn=()=>{const unusedNamespaces=new Set;return{element:{enter:(node,parentNode)=>{if(node.name==="svg"&&parentNode.type==="root"){for(const name of Object.keys(node.attributes)){if(name.startsWith("xmlns:")){const local=name.slice("xmlns:".length);unusedNamespaces.add(local)}}}if(unusedNamespaces.size!==0){if(node.name.includes(":")){const[ns]=node.name.split(":");if(unusedNamespaces.has(ns)){unusedNamespaces.delete(ns)}}for(const name of Object.keys(node.attributes)){if(name.includes(":")){const[ns]=name.split(":");unusedNamespaces.delete(ns)}}}},exit:(node,parentNode)=>{if(node.name==="svg"&&parentNode.type==="root"){for(const name of unusedNamespaces){delete node.attributes[`xmlns:${name}`]}}}}}};var sortAttrs$1={};sortAttrs$1.name="sortAttrs";sortAttrs$1.description="Sort element attributes for better compression";sortAttrs$1.fn=(_root,params)=>{const{order:order=["id","width","height","x","x1","x2","y","y1","y2","cx","cy","r","fill","stroke","marker","d","points"],xmlnsOrder:xmlnsOrder="front"}=params;const getNsPriority=name=>{if(xmlnsOrder==="front"){if(name==="xmlns"){return 3}if(name.startsWith("xmlns:")){return 2}}if(name.includes(":")){return 1}return 0};const compareAttrs=([aName],[bName])=>{const aPriority=getNsPriority(aName);const bPriority=getNsPriority(bName);const priorityNs=bPriority-aPriority;if(priorityNs!==0){return priorityNs}const[aPart]=aName.split("-");const[bPart]=bName.split("-");if(aPart!==bPart){const aInOrderFlag=order.includes(aPart)?1:0;const bInOrderFlag=order.includes(bPart)?1:0;if(aInOrderFlag===1&&bInOrderFlag===1){return order.indexOf(aPart)-order.indexOf(bPart)}const priorityOrder=bInOrderFlag-aInOrderFlag;if(priorityOrder!==0){return priorityOrder}}return aName<bName?-1:1};return{element:{enter:node=>{const attrs=Object.entries(node.attributes);attrs.sort(compareAttrs);const sortedAttributes={};for(const[name,value]of attrs){sortedAttributes[name]=value}node.attributes=sortedAttributes}}}};var sortDefsChildren$1={};sortDefsChildren$1.name="sortDefsChildren";sortDefsChildren$1.description="Sorts children of <defs> to improve compression";sortDefsChildren$1.fn=()=>({element:{enter:node=>{if(node.name==="defs"){const frequencies=new Map;for(const child of node.children){if(child.type==="element"){const frequency=frequencies.get(child.name);if(frequency==null){frequencies.set(child.name,1)}else{frequencies.set(child.name,frequency+1)}}}node.children.sort(((a,b)=>{if(a.type!=="element"||b.type!=="element"){return 0}const aFrequency=frequencies.get(a.name);const bFrequency=frequencies.get(b.name);if(aFrequency!=null&&bFrequency!=null){const frequencyComparison=bFrequency-aFrequency;if(frequencyComparison!==0){return frequencyComparison}}const lengthComparison=b.name.length-a.name.length;if(lengthComparison!==0){return lengthComparison}if(a.name!==b.name){return a.name>b.name?-1:1}return 0}))}}}});var removeTitle$1={};const{detachNodeFromParent:detachNodeFromParent$6}=xast;removeTitle$1.name="removeTitle";removeTitle$1.description="removes <title>";removeTitle$1.fn=()=>({element:{enter:(node,parentNode)=>{if(node.name==="title"){detachNodeFromParent$6(node,parentNode)}}}});var removeDesc$1={};const{detachNodeFromParent:detachNodeFromParent$5}=xast;removeDesc$1.name="removeDesc";removeDesc$1.description="removes <desc>";const standardDescs=/^(Created with|Created using)/;removeDesc$1.fn=(root,params)=>{const{removeAny:removeAny=true}=params;return{element:{enter:(node,parentNode)=>{if(node.name==="desc"){if(removeAny||node.children.length===0||node.children[0].type==="text"&&standardDescs.test(node.children[0].value)){detachNodeFromParent$5(node,parentNode)}}}}}};const{createPreset:createPreset}=plugins;const removeDoctype=removeDoctype$1;const removeXMLProcInst=removeXMLProcInst$1;const removeComments=removeComments$1;const removeMetadata=removeMetadata$1;const removeEditorsNSData=removeEditorsNSData$1;const cleanupAttrs=cleanupAttrs$1;const mergeStyles=mergeStyles$1;const inlineStyles=inlineStyles$1;const minifyStyles=minifyStyles$1;const cleanupIds=cleanupIds$1;const removeUselessDefs=removeUselessDefs$1;const cleanupNumericValues=cleanupNumericValues$1;const convertColors=convertColors$1;const removeUnknownsAndDefaults=removeUnknownsAndDefaults$1;const removeNonInheritableGroupAttrs=removeNonInheritableGroupAttrs$1;const removeUselessStrokeAndFill=removeUselessStrokeAndFill$1;const removeViewBox=removeViewBox$1;const cleanupEnableBackground=cleanupEnableBackground$1;const removeHiddenElems=removeHiddenElems$1;const removeEmptyText=removeEmptyText$1;const convertShapeToPath=convertShapeToPath$1;const convertEllipseToCircle=convertEllipseToCircle$1;const moveElemsAttrsToGroup=moveElemsAttrsToGroup$1;const moveGroupAttrsToElems=moveGroupAttrsToElems$1;const collapseGroups=collapseGroups$1;const convertPathData=convertPathData$1;const convertTransform=convertTransform$2;const removeEmptyAttrs=removeEmptyAttrs$1;const removeEmptyContainers=removeEmptyContainers$1;const mergePaths=mergePaths$1;const removeUnusedNS=removeUnusedNS$1;const sortAttrs=sortAttrs$1;const sortDefsChildren=sortDefsChildren$1;const removeTitle=removeTitle$1;const removeDesc=removeDesc$1;const presetDefault=createPreset({name:"preset-default",plugins:[removeDoctype,removeXMLProcInst,removeComments,removeMetadata,removeEditorsNSData,cleanupAttrs,mergeStyles,inlineStyles,minifyStyles,cleanupIds,removeUselessDefs,cleanupNumericValues,convertColors,removeUnknownsAndDefaults,removeNonInheritableGroupAttrs,removeUselessStrokeAndFill,removeViewBox,cleanupEnableBackground,removeHiddenElems,removeEmptyText,convertShapeToPath,convertEllipseToCircle,moveElemsAttrsToGroup,moveGroupAttrsToElems,collapseGroups,convertPathData,convertTransform,removeEmptyAttrs,removeEmptyContainers,mergePaths,removeUnusedNS,sortAttrs,sortDefsChildren,removeTitle,removeDesc]});var presetDefault_1=presetDefault;var addAttributesToSVGElement={};addAttributesToSVGElement.name="addAttributesToSVGElement";addAttributesToSVGElement.description="adds attributes to an outer <svg> element";var ENOCLS$1=`Error in plugin "addAttributesToSVGElement": absent parameters.\nIt should have a list of "attributes" or one "attribute".\nConfig example:\n\nplugins: [\n {\n name: 'addAttributesToSVGElement',\n params: {\n attribute: "mySvg"\n }\n }\n]\n\nplugins: [\n {\n name: 'addAttributesToSVGElement',\n params: {\n attributes: ["mySvg", "size-big"]\n }\n }\n]\n\nplugins: [\n {\n name: 'addAttributesToSVGElement',\n params: {\n attributes: [\n {\n focusable: false\n },\n {\n 'data-image': icon\n }\n ]\n }\n }\n]\n`;addAttributesToSVGElement.fn=(root,params)=>{if(!Array.isArray(params.attributes)&&!params.attribute){console.error(ENOCLS$1);return null}const attributes=params.attributes||[params.attribute];return{element:{enter:(node,parentNode)=>{if(node.name==="svg"&&parentNode.type==="root"){for(const attribute of attributes){if(typeof attribute==="string"){if(node.attributes[attribute]==null){node.attributes[attribute]=undefined}}if(typeof attribute==="object"){for(const key of Object.keys(attribute)){if(node.attributes[key]==null){node.attributes[key]=attribute[key]}}}}}}}}};var addClassesToSVGElement={};addClassesToSVGElement.name="addClassesToSVGElement";addClassesToSVGElement.description="adds classnames to an outer <svg> element";var ENOCLS=`Error in plugin "addClassesToSVGElement": absent parameters.\nIt should have a list of classes in "classNames" or one "className".\nConfig example:\n\nplugins: [\n {\n name: "addClassesToSVGElement",\n params: {\n className: "mySvg"\n }\n }\n]\n\nplugins: [\n {\n name: "addClassesToSVGElement",\n params: {\n classNames: ["mySvg", "size-big"]\n }\n }\n]\n`;addClassesToSVGElement.fn=(root,params)=>{if(!(Array.isArray(params.classNames)&¶ms.classNames.some(String))&&!params.className){console.error(ENOCLS);return null}const classNames=params.classNames||[params.className];return{element:{enter:(node,parentNode)=>{if(node.name==="svg"&&parentNode.type==="root"){const classList=new Set(node.attributes.class==null?null:node.attributes.class.split(" "));for(const className of classNames){if(className!=null){classList.add(className)}}node.attributes.class=Array.from(classList).join(" ")}}}}};var cleanupListOfValues={};const{removeLeadingZero:removeLeadingZero}=tools;cleanupListOfValues.name="cleanupListOfValues";cleanupListOfValues.description="rounds list of values to the fixed precision";const regNumericValues=/^([-+]?\d*\.?\d+([eE][-+]?\d+)?)(px|pt|pc|mm|cm|m|in|ft|em|ex|%)?$/;const regSeparator=/\s+,?\s*|,\s*/;const absoluteLengths={cm:96/2.54,mm:96/25.4,in:96,pt:4/3,pc:16,px:1};cleanupListOfValues.fn=(_root,params)=>{const{floatPrecision:floatPrecision=3,leadingZero:leadingZero=true,defaultPx:defaultPx=true,convertToPx:convertToPx=true}=params;const roundValues=lists=>{const roundedList=[];for(const elem of lists.split(regSeparator)){const match=elem.match(regNumericValues);const matchNew=elem.match(/new/);if(match){let num=Number(Number(match[1]).toFixed(floatPrecision));let matchedUnit=match[3]||"";let units=matchedUnit;if(convertToPx&&units&&units in absoluteLengths){const pxNum=Number((absoluteLengths[units]*Number(match[1])).toFixed(floatPrecision));if(pxNum.toString().length<match[0].length){num=pxNum;units="px"}}let str;if(leadingZero){str=removeLeadingZero(num)}else{str=num.toString()}if(defaultPx&&units==="px"){units=""}roundedList.push(str+units)}else if(matchNew){roundedList.push("new")}else if(elem){roundedList.push(elem)}}return roundedList.join(" ")};return{element:{enter:node=>{if(node.attributes.points!=null){node.attributes.points=roundValues(node.attributes.points)}if(node.attributes["enable-background"]!=null){node.attributes["enable-background"]=roundValues(node.attributes["enable-background"])}if(node.attributes.viewBox!=null){node.attributes.viewBox=roundValues(node.attributes.viewBox)}if(node.attributes["stroke-dasharray"]!=null){node.attributes["stroke-dasharray"]=roundValues(node.attributes["stroke-dasharray"])}if(node.attributes.dx!=null){node.attributes.dx=roundValues(node.attributes.dx)}if(node.attributes.dy!=null){node.attributes.dy=roundValues(node.attributes.dy)}if(node.attributes.x!=null){node.attributes.x=roundValues(node.attributes.x)}if(node.attributes.y!=null){node.attributes.y=roundValues(node.attributes.y)}}}}};var convertStyleToAttrs={};const{attrsGroups:attrsGroups}=_collections;convertStyleToAttrs.name="convertStyleToAttrs";convertStyleToAttrs.description="converts style to attributes";const g=(...args)=>"(?:"+args.join("|")+")";const stylingProps=attrsGroups.presentation;const rEscape="\\\\(?:[0-9a-f]{1,6}\\s?|\\r\\n|.)";const rAttr="\\s*("+g("[^:;\\\\]",rEscape)+"*?)\\s*";const rSingleQuotes="'(?:[^'\\n\\r\\\\]|"+rEscape+")*?(?:'|$)";const rQuotes='"(?:[^"\\n\\r\\\\]|'+rEscape+')*?(?:"|$)';const rQuotedString=new RegExp("^"+g(rSingleQuotes,rQuotes)+"$");const rParenthesis="\\("+g("[^'\"()\\\\]+",rEscape,rSingleQuotes,rQuotes)+"*?"+"\\)";const rValue="\\s*("+g("[^!'\"();\\\\]+?",rEscape,rSingleQuotes,rQuotes,rParenthesis,"[^;]*?")+"*?"+")";const rDeclEnd="\\s*(?:;\\s*|$)";const rImportant="(\\s*!important(?![-(\\w]))?";const regDeclarationBlock=new RegExp(rAttr+":"+rValue+rImportant+rDeclEnd,"ig");const regStripComments=new RegExp(g(rEscape,rSingleQuotes,rQuotes,"/\\*[^]*?\\*/"),"ig");convertStyleToAttrs.fn=(_root,params)=>{const{keepImportant:keepImportant=false}=params;return{element:{enter:node=>{if(node.attributes.style!=null){let styles=[];const newAttributes={};const styleValue=node.attributes.style.replace(regStripComments,(match=>match[0]=="/"?"":match[0]=="\\"&&/[-g-z]/i.test(match[1])?match[1]:match));regDeclarationBlock.lastIndex=0;for(var rule;rule=regDeclarationBlock.exec(styleValue);){if(!keepImportant||!rule[3]){styles.push([rule[1],rule[2]])}}if(styles.length){styles=styles.filter((function(style){if(style[0]){var prop=style[0].toLowerCase(),val=style[1];if(rQuotedString.test(val)){val=val.slice(1,-1)}if(stylingProps.includes(prop)){newAttributes[prop]=val;return false}}return true}));Object.assign(node.attributes,newAttributes);if(styles.length){node.attributes.style=styles.map((declaration=>declaration.join(":"))).join(";")}else{delete node.attributes.style}}}}}}};var prefixIds={};const csstree=cjs$1;const{referencesProps:referencesProps}=_collections;prefixIds.name="prefixIds";prefixIds.description="prefix IDs";const getBasename=path=>{const matched=path.match(/[/\\]?([^/\\]+)$/);if(matched){return matched[1]}return""};const escapeIdentifierName=str=>str.replace(/[. ]/g,"_");const unquote=string=>{if(string.startsWith('"')&&string.endsWith('"')||string.startsWith("'")&&string.endsWith("'")){return string.slice(1,-1)}return string};const prefixId=(prefix,value)=>{if(value.startsWith(prefix)){return value}return prefix+value};const prefixReference=(prefix,value)=>{if(value.startsWith("#")){return"#"+prefixId(prefix,value.slice(1))}return null};const toAny=value=>value;prefixIds.fn=(_root,params,info)=>{const{delim:delim="__",prefixIds:prefixIds=true,prefixClassNames:prefixClassNames=true}=params;return{element:{enter:node=>{let prefix="prefix"+delim;if(typeof params.prefix==="function"){prefix=params.prefix(node,info)+delim}else if(typeof params.prefix==="string"){prefix=params.prefix+delim}else if(params.prefix===false){prefix=""}else if(info.path!=null&&info.path.length>0){prefix=escapeIdentifierName(getBasename(info.path))+delim}if(node.name==="style"){if(node.children.length===0){return}let cssText="";if(node.children[0].type==="text"||node.children[0].type==="cdata"){cssText=node.children[0].value}let cssAst=null;try{cssAst=csstree.parse(cssText,{parseValue:true,parseCustomProperty:false})}catch{return}csstree.walk(cssAst,(node=>{if(prefixIds&&node.type==="IdSelector"||prefixClassNames&&node.type==="ClassSelector"){node.name=prefixId(prefix,node.name);return}if(node.type==="Url"&&toAny(node.value).length>0){const prefixed=prefixReference(prefix,unquote(toAny(node.value)));if(prefixed!=null){toAny(node).value=prefixed}}}));if(node.children[0].type==="text"||node.children[0].type==="cdata"){node.children[0].value=csstree.generate(cssAst)}return}if(prefixIds&&node.attributes.id!=null&&node.attributes.id.length!==0){node.attributes.id=prefixId(prefix,node.attributes.id)}if(prefixClassNames&&node.attributes.class!=null&&node.attributes.class.length!==0){node.attributes.class=node.attributes.class.split(/\s+/).map((name=>prefixId(prefix,name))).join(" ")}for(const name of["href","xlink:href"]){if(node.attributes[name]!=null&&node.attributes[name].length!==0){const prefixed=prefixReference(prefix,node.attributes[name]);if(prefixed!=null){node.attributes[name]=prefixed}}}for(const name of referencesProps){if(node.attributes[name]!=null&&node.attributes[name].length!==0){node.attributes[name]=node.attributes[name].replace(/url\((.*?)\)/gi,((match,url)=>{const prefixed=prefixReference(prefix,url);if(prefixed==null){return match}return`url(${prefixed})`}))}}for(const name of["begin","end"]){if(node.attributes[name]!=null&&node.attributes[name].length!==0){const parts=node.attributes[name].split(/\s*;\s+/).map((val=>{if(val.endsWith(".end")||val.endsWith(".start")){const[id,postfix]=val.split(".");return`${prefixId(prefix,id)}.${postfix}`}return val}));node.attributes[name]=parts.join("; ")}}}}}};var removeAttributesBySelector={};const{querySelectorAll:querySelectorAll}=xast;removeAttributesBySelector.name="removeAttributesBySelector";removeAttributesBySelector.description="removes attributes of elements that match a css selector";removeAttributesBySelector.fn=(root,params)=>{const selectors=Array.isArray(params.selectors)?params.selectors:[params];for(const{selector:selector,attributes:attributes}of selectors){const nodes=querySelectorAll(root,selector);for(const node of nodes){if(node.type==="element"){if(Array.isArray(attributes)){for(const name of attributes){delete node.attributes[name]}}else{delete node.attributes[attributes]}}}}return{}};var removeAttrs={};removeAttrs.name="removeAttrs";removeAttrs.description="removes specified attributes";const DEFAULT_SEPARATOR=":";const ENOATTRS=`Warning: The plugin "removeAttrs" requires the "attrs" parameter.\nIt should have a pattern to remove, otherwise the plugin is a noop.\nConfig example:\n\nplugins: [\n {\n name: "removeAttrs",\n params: {\n attrs: "(fill|stroke)"\n }\n }\n]\n`;removeAttrs.fn=(root,params)=>{if(typeof params.attrs=="undefined"){console.warn(ENOATTRS);return null}const elemSeparator=typeof params.elemSeparator=="string"?params.elemSeparator:DEFAULT_SEPARATOR;const preserveCurrentColor=typeof params.preserveCurrentColor=="boolean"?params.preserveCurrentColor:false;const attrs=Array.isArray(params.attrs)?params.attrs:[params.attrs];return{element:{enter:node=>{for(let pattern of attrs){if(pattern.includes(elemSeparator)===false){pattern=[".*",elemSeparator,pattern,elemSeparator,".*"].join("")}else if(pattern.split(elemSeparator).length<3){pattern=[pattern,elemSeparator,".*"].join("")}const list=pattern.split(elemSeparator).map((value=>{if(value==="*"){value=".*"}return new RegExp(["^",value,"$"].join(""),"i")}));if(list[0].test(node.name)){for(const[name,value]of Object.entries(node.attributes)){const isFillCurrentColor=preserveCurrentColor&&name=="fill"&&value=="currentColor";const isStrokeCurrentColor=preserveCurrentColor&&name=="stroke"&&value=="currentColor";if(!isFillCurrentColor&&!isStrokeCurrentColor&&list[1].test(name)&&list[2].test(value)){delete node.attributes[name]}}}}}}}};var removeDimensions={};removeDimensions.name="removeDimensions";removeDimensions.description="removes width and height in presence of viewBox (opposite to removeViewBox, disable it first)";removeDimensions.fn=()=>({element:{enter:node=>{if(node.name==="svg"){if(node.attributes.viewBox!=null){delete node.attributes.width;delete node.attributes.height}else if(node.attributes.width!=null&&node.attributes.height!=null&&Number.isNaN(Number(node.attributes.width))===false&&Number.isNaN(Number(node.attributes.height))===false){const width=Number(node.attributes.width);const height=Number(node.attributes.height);node.attributes.viewBox=`0 0 ${width} ${height}`;delete node.attributes.width;delete node.attributes.height}}}}});var removeElementsByAttr={};const{detachNodeFromParent:detachNodeFromParent$4}=xast;removeElementsByAttr.name="removeElementsByAttr";removeElementsByAttr.description="removes arbitrary elements by ID or className (disabled by default)";removeElementsByAttr.fn=(root,params)=>{const ids=params.id==null?[]:Array.isArray(params.id)?params.id:[params.id];const classes=params.class==null?[]:Array.isArray(params.class)?params.class:[params.class];return{element:{enter:(node,parentNode)=>{if(node.attributes.id!=null&&ids.length!==0){if(ids.includes(node.attributes.id)){detachNodeFromParent$4(node,parentNode)}}if(node.attributes.class&&classes.length!==0){const classList=node.attributes.class.split(" ");for(const item of classes){if(classList.includes(item)){detachNodeFromParent$4(node,parentNode);break}}}}}}};var removeOffCanvasPaths={};const{visitSkip:visitSkip,detachNodeFromParent:detachNodeFromParent$3}=xast;const{parsePathData:parsePathData}=path;const{intersects:intersects}=_path;removeOffCanvasPaths.name="removeOffCanvasPaths";removeOffCanvasPaths.description="removes elements that are drawn outside of the viewbox (disabled by default)";removeOffCanvasPaths.fn=()=>{let viewBoxData=null;return{element:{enter:(node,parentNode)=>{if(node.name==="svg"&&parentNode.type==="root"){let viewBox="";if(node.attributes.viewBox!=null){viewBox=node.attributes.viewBox}else if(node.attributes.height!=null&&node.attributes.width!=null){viewBox=`0 0 ${node.attributes.width} ${node.attributes.height}`}viewBox=viewBox.replace(/[,+]|px/g," ").replace(/\s+/g," ").replace(/^\s*|\s*$/g,"");const m=/^(-?\d*\.?\d+) (-?\d*\.?\d+) (\d*\.?\d+) (\d*\.?\d+)$/.exec(viewBox);if(m==null){return}const left=Number.parseFloat(m[1]);const top=Number.parseFloat(m[2]);const width=Number.parseFloat(m[3]);const height=Number.parseFloat(m[4]);viewBoxData={left:left,top:top,right:left+width,bottom:top+height,width:width,height:height}}if(node.attributes.transform!=null){return visitSkip}if(node.name==="path"&&node.attributes.d!=null&&viewBoxData!=null){const pathData=parsePathData(node.attributes.d);let visible=false;for(const pathDataItem of pathData){if(pathDataItem.command==="M"){const[x,y]=pathDataItem.args;if(x>=viewBoxData.left&&x<=viewBoxData.right&&y>=viewBoxData.top&&y<=viewBoxData.bottom){visible=true}}}if(visible){return}if(pathData.length===2){pathData.push({command:"z",args:[]})}const{left:left,top:top,width:width,height:height}=viewBoxData;const viewBoxPathData=[{command:"M",args:[left,top]},{command:"h",args:[width]},{command:"v",args:[height]},{command:"H",args:[left]},{command:"z",args:[]}];if(intersects(viewBoxPathData,pathData)===false){detachNodeFromParent$3(node,parentNode)}}}}}};var removeRasterImages={};const{detachNodeFromParent:detachNodeFromParent$2}=xast;removeRasterImages.name="removeRasterImages";removeRasterImages.description="removes raster images (disabled by default)";removeRasterImages.fn=()=>({element:{enter:(node,parentNode)=>{if(node.name==="image"&&node.attributes["xlink:href"]!=null&&/(\.|image\/)(jpg|png|gif)/.test(node.attributes["xlink:href"])){detachNodeFromParent$2(node,parentNode)}}}});var removeScriptElement={};const{detachNodeFromParent:detachNodeFromParent$1}=xast;removeScriptElement.name="removeScriptElement";removeScriptElement.description="removes <script> elements (disabled by default)";removeScriptElement.fn=()=>({element:{enter:(node,parentNode)=>{if(node.name==="script"){detachNodeFromParent$1(node,parentNode)}}}});var removeStyleElement={};const{detachNodeFromParent:detachNodeFromParent}=xast;removeStyleElement.name="removeStyleElement";removeStyleElement.description="removes <style> element (disabled by default)";removeStyleElement.fn=()=>({element:{enter:(node,parentNode)=>{if(node.name==="style"){detachNodeFromParent(node,parentNode)}}}});var removeXMLNS={};removeXMLNS.name="removeXMLNS";removeXMLNS.description="removes xmlns attribute (for inline svg, disabled by default)";removeXMLNS.fn=()=>({element:{enter:node=>{if(node.name==="svg"){delete node.attributes.xmlns;delete node.attributes["xmlns:xlink"]}}}});var reusePaths={};reusePaths.name="reusePaths";reusePaths.description="Finds <path> elements with the same d, fill, and "+"stroke, and converts them to <use> elements "+"referencing a single <path> def.";reusePaths.fn=()=>{const paths=new Map;return{element:{enter:node=>{if(node.name==="path"&&node.attributes.d!=null){const d=node.attributes.d;const fill=node.attributes.fill||"";const stroke=node.attributes.stroke||"";const key=d+";s:"+stroke+";f:"+fill;let list=paths.get(key);if(list==null){list=[];paths.set(key,list)}list.push(node)}},exit:(node,parentNode)=>{if(node.name==="svg"&&parentNode.type==="root"){const defsTag={type:"element",name:"defs",attributes:{},children:[]};Object.defineProperty(defsTag,"parentNode",{writable:true,value:node});let index=0;for(const list of paths.values()){if(list.length>1){const reusablePath={type:"element",name:"path",attributes:{...list[0].attributes},children:[]};delete reusablePath.attributes.transform;let id;if(reusablePath.attributes.id==null){id="reuse-"+index;index+=1;reusablePath.attributes.id=id}else{id=reusablePath.attributes.id;delete list[0].attributes.id}Object.defineProperty(reusablePath,"parentNode",{writable:true,value:defsTag});defsTag.children.push(reusablePath);for(const pathNode of list){pathNode.name="use";pathNode.attributes["xlink:href"]="#"+id;delete pathNode.attributes.d;delete pathNode.attributes.stroke;delete pathNode.attributes.fill}}}if(defsTag.children.length!==0){if(node.attributes["xmlns:xlink"]==null){node.attributes["xmlns:xlink"]="http://www.w3.org/1999/xlink"}node.children.unshift(defsTag)}}}}}};builtin$1.builtin=[presetDefault_1,addAttributesToSVGElement,addClassesToSVGElement,cleanupAttrs$1,cleanupEnableBackground$1,cleanupIds$1,cleanupListOfValues,cleanupNumericValues$1,collapseGroups$1,convertColors$1,convertEllipseToCircle$1,convertPathData$1,convertShapeToPath$1,convertStyleToAttrs,convertTransform$2,mergeStyles$1,inlineStyles$1,mergePaths$1,minifyStyles$1,moveElemsAttrsToGroup$1,moveGroupAttrsToElems$1,prefixIds,removeAttributesBySelector,removeAttrs,removeComments$1,removeDesc$1,removeDimensions,removeDoctype$1,removeEditorsNSData$1,removeElementsByAttr,removeEmptyAttrs$1,removeEmptyContainers$1,removeEmptyText$1,removeHiddenElems$1,removeMetadata$1,removeNonInheritableGroupAttrs$1,removeOffCanvasPaths,removeRasterImages,removeScriptElement,removeStyleElement,removeTitle$1,removeUnknownsAndDefaults$1,removeUnusedNS$1,removeUselessDefs$1,removeUselessStrokeAndFill$1,removeViewBox$1,removeXMLNS,removeXMLProcInst$1,reusePaths,sortAttrs$1,sortDefsChildren$1];const{parseSvg:parseSvg}=parser$2;const{stringifySvg:stringifySvg}=stringifier;const{builtin:builtin}=builtin$1;const{invokePlugins:invokePlugins}=plugins;const{encodeSVGDatauri:encodeSVGDatauri}=tools;const pluginsMap={};for(const plugin of builtin){pluginsMap[plugin.name]=plugin}const resolvePluginConfig=plugin=>{if(typeof plugin==="string"){const builtinPlugin=pluginsMap[plugin];if(builtinPlugin==null){throw Error(`Unknown builtin plugin "${plugin}" specified.`)}return{name:plugin,params:{},fn:builtinPlugin.fn}}if(typeof plugin==="object"&&plugin!=null){if(plugin.name==null){throw Error(`Plugin name should be specified`)}let fn=plugin.fn;if(fn==null){const builtinPlugin=pluginsMap[plugin.name];if(builtinPlugin==null){throw Error(`Unknown builtin plugin "${plugin.name}" specified.`)}fn=builtinPlugin.fn}return{name:plugin.name,params:plugin.params,fn:fn}}return null};const optimize=(input,config)=>{if(config==null){config={}}if(typeof config!=="object"){throw Error("Config should be an object")}const maxPassCount=config.multipass?10:1;let prevResultSize=Number.POSITIVE_INFINITY;let output="";const info={};if(config.path!=null){info.path=config.path}for(let i=0;i<maxPassCount;i+=1){info.multipassCount=i;const ast=parseSvg(input,config.path);const plugins=config.plugins||["preset-default"];if(Array.isArray(plugins)===false){throw Error("Invalid plugins list. Provided 'plugins' in config should be an array.")}const resolvedPlugins=plugins.map(resolvePluginConfig);const globalOverrides={};if(config.floatPrecision!=null){globalOverrides.floatPrecision=config.floatPrecision}invokePlugins(ast,info,resolvedPlugins,null,globalOverrides);output=stringifySvg(ast,config.js2svg);if(output.length<prevResultSize){input=output;prevResultSize=output.length}else{break}}if(config.datauri){output=encodeSVGDatauri(output,config.datauri)}return{data:output}};var optimize_1=svgo.optimize=optimize;export{svgo as default,optimize_1 as optimize};
|