diff --git a/CHANGELOG.md b/CHANGELOG.md index 971bc8415..c73806d8a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,28 @@ +# 0.18.0 + +[link](https://github.com/jlongster/prettier/compare/0.17.0...0.18.0) + +* fix --debug-check +* [JSX] Don't add newline following newline (#690) +* [Docs] Use replaceState API when demo code changes (#710) +* Do not inline new as last argument (#705) +* Inline objects & arrays as right part of a boolean expression (#692) +* [RFC] Remove parenthesis object special case (#689) +* Ensure importKind is printed (#718) +* [Docs]: update Readme to reference VS extension (#720) +* docs: Add pre-commit hook with 🚫💩 lint-staged section to the README (#714) +* [RFC] Preserve new lines between array elements (#707) +* Do not put \n inside of empty object method bodies (#706) +* Align boolean inside of arrow functions (#691) +* Fix trailing new lines preservation (#724) +* Unified Split + # 0.17.1 * Use `readline` api to manipulate `process.stdout` output. (#687) +# 0.17.0 + [link](https://github.com/jlongster/prettier/compare/0.16.0...0.17.0) * [JSX] Fix spurious newline (fixes #614) (#628) diff --git a/docs/prettier.min.js b/docs/prettier.min.js index 3979c1e9f..7bc1e3909 100644 --- a/docs/prettier.min.js +++ b/docs/prettier.min.js @@ -1,4 +1,4 @@ -var prettier=function(){function Se(IA,LA){return LA={exports:{}},IA(LA,LA.exports),LA.exports}function Te(){throw new Error("setTimeout has not been defined")}function Pe(){throw new Error("clearTimeout has not been defined")}function _e(IA){if($c===setTimeout)return setTimeout(IA,0);if(($c===Te||!$c)&&setTimeout)return $c=setTimeout,setTimeout(IA,0);try{return $c(IA,0)}catch(LA){try{return $c.call(null,IA,0)}catch(RA){return $c.call(this,IA,0)}}}function Ne(IA){if(Su===clearTimeout)return clearTimeout(IA);if((Su===Pe||!Su)&&clearTimeout)return Su=clearTimeout,clearTimeout(IA);try{return Su(IA)}catch(LA){try{return Su.call(null,IA)}catch(RA){return Su.call(this,IA)}}}function Le(){Pu&&_u&&(Pu=!1,_u.length?Tu=_u.concat(Tu):Nu=-1,Tu.length&&Re())}function Re(){if(!Pu){var IA=_e(Le);Pu=!0;for(var LA=Tu.length;LA;){for(_u=Tu,Tu=[];++Nu>16,VA[XA++]=255&YA>>8,VA[XA++]=255&YA;return 2===MA?(YA=Mm[IA.charCodeAt(LA)]<<2|Mm[IA.charCodeAt(LA+1)]>>4,VA[XA++]=255&YA):1==MA&&(YA=Mm[IA.charCodeAt(LA)]<<10|Mm[IA.charCodeAt(LA+1)]<<4|Mm[IA.charCodeAt(LA+2)]>>2,VA[XA++]=255&YA>>8,VA[XA++]=255&YA),VA}function Je(IA){return Ym[63&IA>>18]+Ym[63&IA>>12]+Ym[63&IA>>6]+Ym[63&IA]}function Ze(IA,LA,RA){var OA,YA=[];for(var MA=LA;MAXA?XA:UA+VA));return 1==OA?(LA=IA[RA-1],YA+=Ym[LA>>2],YA+=Ym[63&LA<<4],YA+="=="):2==OA&&(LA=(IA[RA-2]<<8)+IA[RA-1],YA+=Ym[LA>>10],YA+=Ym[63&LA>>4],YA+=Ym[63&LA<<2],YA+="="),MA.push(YA),MA.join("")}function Qe(IA,LA,RA,OA,YA){var MA,VA,UA=8*YA-OA-1,XA=(1<>1,JA=-7,ZA=RA?YA-1:0,KA=RA?-1:1,QA=IA[LA+ZA];for(ZA+=KA,MA=QA&(1<<-JA)-1,QA>>=-JA,JA+=UA;0>=-JA,JA+=OA;0>1,KA=23===YA?Math.pow(2,-24)-Math.pow(2,-77):0,QA=OA?0:MA-1,$A=OA?1:-1,SP=0>LA||0===LA&&0>1/LA?1:0;for(LA=Math.abs(LA),isNaN(LA)||LA===Infinity?(UA=isNaN(LA)?1:0,VA=JA):(VA=Math.floor(Math.log(LA)/Math.LN2),1>LA*(XA=Math.pow(2,-VA))&&(VA--,XA*=2),LA+=1<=VA+ZA?KA/XA:KA*Math.pow(2,1-ZA),2<=LA*XA&&(VA++,XA/=2),VA+ZA>=JA?(UA=0,VA=JA):1<=VA+ZA?(UA=(LA*XA-1)*Math.pow(2,YA),VA+=ZA):(UA=LA*Math.pow(2,ZA-1)*Math.pow(2,YA),VA=0));8<=YA;IA[RA+QA]=255&UA,QA+=$A,UA/=256,YA-=8);for(VA=VA<IA)throw new RangeError("\"size\" argument must not be negative")}function It(IA,LA,RA,OA){return Nt(LA),0>=LA?Tt(IA,LA):void 0===RA?Tt(IA,LA):"string"==typeof OA?Tt(IA,LA).fill(RA,OA):Tt(IA,LA).fill(RA)}function Lt(IA,LA){if(Nt(LA),IA=Tt(IA,0>LA?0:0|Vt(LA)),!Pt.TYPED_ARRAY_SUPPORT)for(var RA=0;RALA.length?0:0|Vt(LA.length);IA=Tt(IA,RA);for(var OA=0;OARA||LA.byteLength=St())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+St().toString(16)+" bytes");return 0|IA}function Ut(IA){return!!(null!=IA&&IA._isBuffer)}function Xt(IA,LA){if(Ut(IA))return IA.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(IA)||IA instanceof ArrayBuffer))return IA.byteLength;"string"!=typeof IA&&(IA=""+IA);var RA=IA.length;if(0===RA)return 0;for(var OA=!1;;)switch(LA){case"ascii":case"latin1":case"binary":return RA;case"utf8":case"utf-8":case void 0:return Pn(IA).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*RA;case"hex":return RA>>>1;case"base64":return Ln(IA).length;default:if(OA)return Pn(IA).length;LA=(""+LA).toLowerCase(),OA=!0;}}function Wt(IA,LA,RA){var OA=!1;if((void 0===LA||0>LA)&&(LA=0),LA>this.length)return"";if((void 0===RA||RA>this.length)&&(RA=this.length),0>=RA)return"";if(RA>>>=0,LA>>>=0,RA<=LA)return"";for(IA||(IA="utf8");!0;)switch(IA){case"hex":return Ma(this,LA,RA);case"utf8":case"utf-8":return La(this,LA,RA);case"ascii":return Oa(this,LA,RA);case"latin1":case"binary":return Ya(this,LA,RA);case"base64":return Na(this,LA,RA);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Va(this,LA,RA);default:if(OA)throw new TypeError("Unknown encoding: "+IA);IA=(IA+"").toLowerCase(),OA=!0;}}function Jt(IA,LA,RA){var OA=IA[LA];IA[LA]=IA[RA],IA[RA]=OA}function Zt(IA,LA,RA,OA,YA){if(0===IA.length)return-1;if("string"==typeof RA?(OA=RA,RA=0):2147483647RA&&(RA=-2147483648),RA=+RA,isNaN(RA)&&(RA=YA?0:IA.length-1),0>RA&&(RA=IA.length+RA),RA>=IA.length){if(YA)return-1;RA=IA.length-1}else if(0>RA)if(YA)RA=0;else return-1;if("string"==typeof LA&&(LA=Pt.from(LA,OA)),Ut(LA))return 0===LA.length?-1:Kt(IA,LA,RA,OA,YA);if("number"==typeof LA)return LA&=255,Pt.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?YA?Uint8Array.prototype.indexOf.call(IA,LA,RA):Uint8Array.prototype.lastIndexOf.call(IA,LA,RA):Kt(IA,[LA],RA,OA,YA);throw new TypeError("val must be string, number or Buffer")}function Kt(IA,LA,RA,OA,YA){function MA(QA,$A){return 1===VA?QA[$A]:QA.readUInt16BE($A*VA)}var VA=1,UA=IA.length,XA=LA.length;if(void 0!==OA&&(OA=(OA+"").toLowerCase(),"ucs2"===OA||"ucs-2"===OA||"utf16le"===OA||"utf-16le"===OA)){if(2>IA.length||2>LA.length)return-1;VA=2,UA/=2,XA/=2,RA/=2}var WA;if(YA){var JA=-1;for(WA=RA;WAUA&&(RA=UA-XA),WA=RA;0<=WA;WA--){var ZA=!0;for(var KA=0;KAYA&&(OA=YA)):OA=YA;var MA=LA.length;if(0!=MA%2)throw new TypeError("Invalid hex string");OA>MA/2&&(OA=MA/2);for(var VA=0;VAMA&&(VA=MA):2==UA?(XA=IA[YA+1],128==(192&XA)&&(ZA=(31&MA)<<6|63&XA,127ZA||57343ZA&&(VA=ZA))):void 0}null===VA?(VA=65533,UA=1):65535>>10),VA=56320|1023&VA),OA.push(VA),YA+=UA}return Ra(OA)}function Ra(IA){var LA=IA.length;if(LA<=Jm)return String.fromCharCode.apply(String,IA);for(var RA="",OA=0;OALA)&&(LA=0),(!RA||0>RA||RA>OA)&&(RA=OA);var YA="";for(var MA=LA;MAIA)throw new RangeError("offset is not uint");if(IA+LA>RA)throw new RangeError("Trying to access beyond buffer length")}function Xa(IA,LA,RA,OA,YA,MA){if(!Ut(IA))throw new TypeError("\"buffer\" argument must be a Buffer instance");if(LA>YA||LAIA.length)throw new RangeError("Index out of range")}function Wa(IA,LA,RA,OA){0>LA&&(LA=65535+LA+1);for(var YA=0,MA=Math.min(IA.length-RA,2);YA>>8*(OA?YA:1-YA)}function Ja(IA,LA,RA,OA){0>LA&&(LA=4294967295+LA+1);for(var YA=0,MA=Math.min(IA.length-RA,4);YA>>8*(OA?YA:3-YA)}function Za(IA,LA,RA,OA){if(RA+OA>IA.length)throw new RangeError("Index out of range");if(0>RA)throw new RangeError("Index out of range")}function Ka(IA,LA,RA,OA,YA){return YA||Za(IA,LA,RA,4,3.4028234663852886e38,-3.4028234663852886e38),$e(IA,LA,RA,OA,23,4),RA+4}function Qa(IA,LA,RA,OA,YA){return YA||Za(IA,LA,RA,8,1.7976931348623157e308,-1.7976931348623157e308),$e(IA,LA,RA,OA,52,8),RA+8}function $a(IA){if(IA=Sn(IA).replace(Zm,""),2>IA.length)return"";for(;0!=IA.length%4;)IA+="=";return IA}function Sn(IA){return IA.trim?IA.trim():IA.replace(/^\s+|\s+$/g,"")}function Tn(IA){return 16>IA?"0"+IA.toString(16):IA.toString(16)}function Pn(IA,LA){LA=LA||Infinity;var RA,OA=IA.length,YA=null,MA=[];for(var VA=0;VARA){if(!YA){if(56319RA){-1<(LA-=3)&&MA.push(239,191,189),YA=RA;continue}RA=(YA-55296<<10|RA-56320)+65536}else YA&&-1<(LA-=3)&&MA.push(239,191,189);if(YA=null,128>RA){if(0>(LA-=1))break;MA.push(RA)}else if(2048>RA){if(0>(LA-=2))break;MA.push(192|RA>>6,128|63&RA)}else if(65536>RA){if(0>(LA-=3))break;MA.push(224|RA>>12,128|63&RA>>6,128|63&RA)}else if(1114112>RA){if(0>(LA-=4))break;MA.push(240|RA>>18,128|63&RA>>12,128|63&RA>>6,128|63&RA)}else throw new Error("Invalid code point")}return MA}function _n(IA){var LA=[];for(var RA=0;RA(LA-=2));++VA)RA=IA.charCodeAt(VA),OA=RA>>8,YA=RA%256,MA.push(YA),MA.push(OA);return MA}function Ln(IA){return We($a(IA))}function Rn(IA,LA,RA,OA){for(var YA=0;YA=LA.length||YA>=IA.length);++YA)LA[YA+RA]=IA[YA];return YA}function On(IA){return IA!==IA}function Yn(IA){return null!=IA&&(!!IA._isBuffer||Mn(IA)||Vn(IA))}function Mn(IA){return!!IA.constructor&&"function"==typeof IA.constructor.isBuffer&&IA.constructor.isBuffer(IA)}function Vn(IA){return"function"==typeof IA.readFloatLE&&"function"==typeof IA.slice&&Mn(IA.slice(0,0))}function Un(IA,LA){var RA={seen:[],stylize:Wn};return 3<=arguments.length&&(RA.depth=arguments[2]),4<=arguments.length&&(RA.colors=arguments[3]),_r(LA)?RA.showHidden=LA:LA&&Zr(RA,LA),Or(RA.showHidden)&&(RA.showHidden=!1),Or(RA.depth)&&(RA.depth=2),Or(RA.colors)&&(RA.colors=!1),Or(RA.customInspect)&&(RA.customInspect=!0),RA.colors&&(RA.stylize=Xn),Zn(RA,IA,RA.depth)}function Xn(IA,LA){var RA=Un.styles[LA];return RA?"\x1B["+Un.colors[RA][0]+"m"+IA+"\x1B["+Un.colors[RA][1]+"m":IA}function Wn(IA){return IA}function Jn(IA){var LA={};return IA.forEach(function(RA){LA[RA]=!0}),LA}function Zn(IA,LA,RA){if(IA.customInspect&&LA&&Xr(LA.inspect)&&LA.inspect!==Un&&!(LA.constructor&&LA.constructor.prototype===LA)){var OA=LA.inspect(RA,IA);return Rr(OA)||(OA=Zn(IA,OA,RA)),OA}var YA=Kn(IA,LA);if(YA)return YA;var MA=Object.keys(LA),VA=Jn(MA);if(IA.showHidden&&(MA=Object.getOwnPropertyNames(LA)),Ur(LA)&&(0<=MA.indexOf("message")||0<=MA.indexOf("description")))return Qn(LA);if(0===MA.length){if(Xr(LA)){var UA=LA.name?": "+LA.name:"";return IA.stylize("[Function"+UA+"]","special")}if(Yr(LA))return IA.stylize(RegExp.prototype.toString.call(LA),"regexp");if(Vr(LA))return IA.stylize(Date.prototype.toString.call(LA),"date");if(Ur(LA))return Qn(LA)}var XA="",WA=!1,JA=["{","}"];if(Pr(LA)&&(WA=!0,JA=["[","]"]),Xr(LA)){var ZA=LA.name?": "+LA.name:"";XA=" [Function"+ZA+"]"}if(Yr(LA)&&(XA=" "+RegExp.prototype.toString.call(LA)),Vr(LA)&&(XA=" "+Date.prototype.toUTCString.call(LA)),Ur(LA)&&(XA=" "+Qn(LA)),0===MA.length&&(!WA||0==LA.length))return JA[0]+XA+JA[1];if(0>RA)return Yr(LA)?IA.stylize(RegExp.prototype.toString.call(LA),"regexp"):IA.stylize("[Object]","special");IA.seen.push(LA);var KA;return KA=WA?$n(IA,LA,RA,VA,MA):MA.map(function(QA){return Sr(IA,LA,RA,VA,QA,WA)}),IA.seen.pop(),Tr(KA,XA,JA)}function Kn(IA,LA){if(Or(LA))return IA.stylize("undefined","undefined");if(Rr(LA)){var RA="'"+JSON.stringify(LA).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,"\"")+"'";return IA.stylize(RA,"string")}return Lr(LA)?IA.stylize(""+LA,"number"):_r(LA)?IA.stylize(""+LA,"boolean"):Nr(LA)?IA.stylize("null","null"):void 0}function Qn(IA){return"["+Error.prototype.toString.call(IA)+"]"}function $n(IA,LA,RA,OA,YA){var MA=[];for(var VA=0,UA=LA.length;VAIA.seen.indexOf(XA.value)?(UA=Nr(RA)?Zn(IA,XA.value,null):Zn(IA,XA.value,RA-1),-1Po(LA)-Po(IA)&&No(IA,Po(LA)),0>_o(IA)-_o(LA)&&Lo(IA,_o(LA))}function Zi(IA){if(IA)switch(IA.type){case"ExportDeclaration":case"ExportDefaultDeclaration":case"ExportDefaultSpecifier":case"DeclareExportDeclaration":case"ExportNamedDeclaration":case"ExportAllDeclaration":return!0;}return!1}function Ki(IA){return(LA,RA,OA)=>{const YA=OA&&OA.backwards;if(!1===RA)return!1;const MA=LA.length;let VA=RA;for(;0<=VA&&VA=Zy(RA[OA])-Jy(IA));--OA);return void RA.splice(OA+1,0,IA)}}else if(IA[Wy])return IA[Wy];var YA;if(Ny.check(IA))YA=Object.keys(IA);else if(Iy.check(IA))YA=Py.getFieldNames(IA);else return;RA||Object.defineProperty(IA,Wy,{value:RA=[],enumerable:!1});for(var OA=0,MA=YA.length;OA>1,WA=OA[XA];if(0>=Jy(WA)-Jy(LA)&&0>=Zy(LA)-Zy(WA))return LA.enclosingNode=WA,void Oo(WA,LA,RA);if(0>=Zy(WA)-Jy(LA)){YA=WA,VA=XA+1;continue}if(0>=Zy(LA)-Jy(WA)){MA=WA,UA=XA;continue}throw new Error("Comment location overlaps with node location")}YA&&(LA.precedingNode=YA),MA&&(LA.followingNode=MA)}function Yo(IA,LA){var RA=IA.length;if(0!==RA){var OA=IA[0].precedingNode,YA=IA[0].followingNode,MA=Jy(YA);for(var VA=RA;0--LA)return YA}return null}function Ll(IA){return Zb.BinaryExpression.check(IA)||Zb.LogicalExpression.check(IA)}function Rl(IA){return!!Zb.CallExpression.check(IA)||(Kb.check(IA)?IA.some(Rl):!!Zb.Node.check(IA)&&Wb.someField(IA,function(LA,RA){return Rl(RA)}))}function Ol(IA,LA,RA){Sg.ok(IA instanceof Pg);var OA=IA.getValue(),YA=[],MA=!1,VA=Yl(IA,LA,RA);if(!OA||Px(VA))return VA;if(OA.comments&&0");const WP=IA.call(RA,"body"),JP=Rg([Rg(YA)," ",WP]);return"ArrayExpression"===OA.body.type||"ObjectExpression"===OA.body.type||"JSXElement"===OA.body.type||"BlockStatement"===OA.body.type?Xg(JP):Xg(Jg([JP,Rg([Rg(YA),Wg(LA.tabWidth,Rg([Yg,WP]))])]),{shouldBreak:$g(WP)});case"MethodDefinition":return OA.static&&YA.push("static "),YA.push(Ul(IA,LA,RA)),Rg(YA);case"YieldExpression":return YA.push("yield"),OA.delegate&&YA.push("*"),OA.argument&&YA.push(" ",IA.call(RA,"argument")),Rg(YA);case"AwaitExpression":return YA.push("await"),OA.all&&YA.push("*"),OA.argument&&YA.push(" ",IA.call(RA,"argument")),Rg(YA);case"ModuleDeclaration":return YA.push("module",IA.call(RA,"id")),OA.source?(Sg.ok(!OA.body),YA.push("from",IA.call(RA,"source"))):YA.push(IA.call(RA,"body")),Og(" ",YA);case"ImportSpecifier":return OA.imported?(YA.push(IA.call(RA,"imported")),OA.local&&OA.local.name!==OA.imported.name&&YA.push(" as ",IA.call(RA,"local"))):OA.id&&(YA.push(IA.call(RA,"id")),OA.name&&YA.push(" as ",IA.call(RA,"name"))),Rg(YA);case"ExportSpecifier":return OA.local?(YA.push(IA.call(RA,"local")),OA.exported&&OA.exported.name!==OA.local.name&&YA.push(" as ",IA.call(RA,"exported"))):OA.id&&(YA.push(IA.call(RA,"id")),OA.name&&YA.push(" as ",IA.call(RA,"name"))),Rg(YA);case"ExportBatchSpecifier":return"*";case"ImportNamespaceSpecifier":return YA.push("* as "),OA.local?YA.push(IA.call(RA,"local")):OA.id&&YA.push(IA.call(RA,"id")),Rg(YA);case"ImportDefaultSpecifier":return OA.local?IA.call(RA,"local"):IA.call(RA,"id");case"ExportDeclaration":case"ExportDefaultDeclaration":case"ExportNamedDeclaration":return Kl(IA,LA,RA);case"ExportAllDeclaration":return YA.push("export *"),OA.exported&&YA.push(" as ",IA.call(RA,"exported")),YA.push(" from ",IA.call(RA,"source"),";"),Rg(YA);case"ExportNamespaceSpecifier":return Rg(["* as ",IA.call(RA,"exported")]);case"ExportDefaultSpecifier":return IA.call(RA,"exported");case"ImportDeclaration":YA.push("import ");const ZP=[];OA.importKind&&"value"!==OA.importKind&&YA.push(OA.importKind+" ");var MA=[],VA=[];return OA.specifiers&&0__.leading)?YA.push(Rg([" (",Wg(LA.tabWidth,Rg([Vg,IA.call(RA,"argument")])),Yg,")"])):OA.argument&&YA.push(" ",IA.call(RA,"argument")),YA.push(";"),Rg(YA);case"CallExpression":return IA.getParentNode(),"MemberExpression"===OA.callee.type?Np(IA,LA,RA):Rg([IA.call(RA,"callee"),Xl(IA,LA,RA)]);case"ObjectExpression":case"ObjectPattern":case"ObjectTypeAnnotation":var WA="ObjectTypeAnnotation"===OA.type,JA=WA?",":",",ZA=[],KA=OA.exact?"{|":"{",QA=OA.exact?"|}":"}",XA=IA.getParentNode(0),$A="UnionTypeAnnotation"===XA.type;WA&&ZA.push("indexers","callProperties"),ZA.push("properties");var SP=[];let KP=[];ZA.forEach(function(__){IA.each(function(N_){SP.push(Rg(KP)),SP.push(Xg(RA(N_))),KP=[JA,Yg],_g.isNextLineEmpty(LA.originalText,N_.getValue())&&KP.push(Mg)},__)});const QP=_g.getLast(OA.properties),$P=!(QP&&"RestProperty"===QP.type),S_=_g.hasNewlineInRange(LA.originalText,_g.locStart(OA),_g.locEnd(OA));return 0===SP.length?Xg(Rg(["{",Tg.printDanglingComments(IA,LA),Vg,"}"])):Xg(Rg([KA,Wg(LA.tabWidth+($A?2:0),Rg([LA.bracketSpacing?Yg:Vg,Rg(SP)])),Zg($P&&LA.trailingComma?",":""),Wg($A?2:0,Rg([LA.bracketSpacing?Yg:Vg,QA])),IA.call(RA,"typeAnnotation")]),{shouldBreak:S_});case"PropertyPattern":return Rg([IA.call(RA,"key"),": ",IA.call(RA,"pattern")]);case"ObjectProperty":case"Property":if(OA.method||"get"===OA.kind||"set"===OA.kind)return Ul(IA,LA,RA);if(OA.shorthand)YA.push(IA.call(RA,"value"));else{OA.computed?YA.push("[",IA.call(RA,"key"),"]"):YA.push(Vl(IA,LA,RA));let __=IA.call(RA,"value");Pd(OA.value)?YA.push(Rg([": ",__])):YA.push(Xg(Rg([":",Zg(" ("," "),Wg(LA.tabWidth,Rg([Vg,__])),Vg,Zg(")")])))}return Rg(YA);case"ClassMethod":return OA.static&&YA.push("static "),YA=YA.concat(Jl(IA,LA,RA)),Rg(YA);case"ObjectMethod":return Jl(IA,LA,RA);case"Decorator":return Rg(["@",IA.call(RA,"expression")]);case"ArrayExpression":case"ArrayPattern":if(0===OA.elements.length)YA.push(Xg(Rg(["[",Tg.printDanglingComments(IA,LA),Vg,"]"])));else{const __=_g.getLast(OA.elements),N_=!(__&&"RestElement"===__.type),I_=N_&&null===__;YA.push(Xg(Rg(["[",Wg(LA.tabWidth,Rg([Vg,Og(Rg([",",Yg]),IA.map(RA,"elements"))])),I_?",":"",Zg(N_&&!I_&&LA.trailingComma?",":""),Vg,"]"])))}return OA.typeAnnotation&&YA.push(IA.call(RA,"typeAnnotation")),Rg(YA);case"SequenceExpression":return Og(", ",IA.map(RA,"expressions"));case"ThisExpression":return"this";case"Super":return"super";case"NullLiteral":return"null";case"RegExpLiteral":return OA.extra.raw;case"NumericLiteral":return $p(OA.extra.raw);case"BooleanLiteral":case"StringLiteral":case"Literal":return"number"==typeof OA.value?$p(OA.raw):"string"==typeof OA.value?Kp(OA,LA):""+OA.value;case"Directive":return IA.call(RA,"value");case"DirectiveLiteral":return Kp(OA,LA);case"ModuleSpecifier":if(OA.local)throw new Error("The ESTree ModuleSpecifier type should be abstract");return Kp(OA,LA);case"UnaryExpression":return YA.push(OA.operator),/[a-z]$/.test(OA.operator)&&YA.push(" "),YA.push(IA.call(RA,"argument")),Rg(YA);case"UpdateExpression":return YA.push(IA.call(RA,"argument"),OA.operator),OA.prefix&&YA.reverse(),Rg(YA);case"ConditionalExpression":return Xg(Rg([IA.call(RA,"test"),Wg(LA.tabWidth,Rg([Yg,"? ",Wg(2,IA.call(RA,"consequent")),Yg,": ",Wg(2,IA.call(RA,"alternate"))]))]));case"NewExpression":YA.push("new ",IA.call(RA,"callee"));var TP=OA.arguments;return TP&&YA.push(Xl(IA,LA,RA)),Rg(YA);case"VariableDeclaration":var PP=IA.map(function(__){return RA(__)},"declarations");YA=[OA.kind," ",PP[0],Wg(LA.tabWidth,Rg(PP.slice(1).map(__=>Rg([",",Yg,__]))))];var _P=IA.getParentNode(),NP=Nx.ForStatement.check(_P)||Nx.ForInStatement.check(_P)||Nx.ForOfStatement&&Nx.ForOfStatement.check(_P)||Nx.ForAwaitStatement&&Nx.ForAwaitStatement.check(_P);return NP&&_P.body!==OA||YA.push(";"),Xg(Rg(YA));case"VariableDeclarator":return OA.init?Rg([IA.call(RA,"id")," = ",IA.call(RA,"init")]):IA.call(RA,"id");case"WithStatement":return Rg(["with (",IA.call(RA,"object"),")",Wp(IA.call(RA,"body"),LA)]);case"IfStatement":const T_=Wp(IA.call(RA,"consequent"),LA);if(YA=["if (",Xg(Rg([Wg(LA.tabWidth,Rg([Vg,IA.call(RA,"test")])),Vg])),")",T_],OA.alternate){const __=Jp(T_),N_=Zp(T_);__&&!N_?YA.push(" else"):YA.push(Jg([Rg([Mg,"else"])])),YA.push(Wp(IA.call(RA,"alternate"),LA,"IfStatement"===OA.alternate.type))}return Xg(Rg(YA));case"ForStatement":{const __=Wp(IA.call(RA,"body"),LA);return OA.init||OA.test||OA.update?Rg(["for (",Xg(Rg([Wg(LA.tabWidth,Rg([Vg,IA.call(RA,"init"),";",Yg,IA.call(RA,"test"),";",Yg,IA.call(RA,"update")])),Vg])),")",__]):Rg(["for (;;)",__])}case"WhileStatement":return Rg(["while (",Xg(Rg([Wg(LA.tabWidth,Rg([Vg,IA.call(RA,"test")])),Vg])),")",Wp(IA.call(RA,"body"),LA)]);case"ForInStatement":return Rg([OA.each?"for each (":"for (",IA.call(RA,"left")," in ",IA.call(RA,"right"),")",Wp(IA.call(RA,"body"),LA)]);case"ForOfStatement":return Rg(["for (",IA.call(RA,"left")," of ",IA.call(RA,"right"),")",Wp(IA.call(RA,"body"),LA)]);case"ForAwaitStatement":return Rg(["for await (",IA.call(RA,"left")," of ",IA.call(RA,"right"),")",Wp(IA.call(RA,"body"),LA)]);case"DoWhileStatement":var IP=Wp(IA.call(RA,"body"),LA),LP=Rg(["do",IP]),YA=[LP];const P_=Jp(IP);return P_?YA.push(" while"):YA.push(Rg([Yg,"while"])),YA.push(" (",IA.call(RA,"test"),");"),Rg(YA);case"DoExpression":var RP=IA.call(function(__){return Ml(__,LA,RA)},"body");return Rg(["do {\n",RP.indent(LA.tabWidth),"\n}"]);case"BreakStatement":return YA.push("break"),OA.label&&YA.push(" ",IA.call(RA,"label")),YA.push(";"),Rg(YA);case"ContinueStatement":return YA.push("continue"),OA.label&&YA.push(" ",IA.call(RA,"label")),YA.push(";"),Rg(YA);case"LabeledStatement":return"EmptyStatement"===OA.body.type?Rg([IA.call(RA,"label"),":;"]):Rg([IA.call(RA,"label"),":",Mg,IA.call(RA,"body")]);case"TryStatement":return YA.push("try ",IA.call(RA,"block")),OA.handler?YA.push(" ",IA.call(RA,"handler")):OA.handlers&&IA.each(function(__){YA.push(" ",RA(__))},"handlers"),OA.finalizer&&YA.push(" finally ",IA.call(RA,"finalizer")),Rg(YA);case"CatchClause":return YA.push("catch (",IA.call(RA,"param")),OA.guard&&YA.push(" if ",IA.call(RA,"guard")),YA.push(") ",IA.call(RA,"body")),Rg(YA);case"ThrowStatement":return Rg(["throw ",IA.call(RA,"argument"),";"]);case"SwitchStatement":return Rg(["switch (",IA.call(RA,"discriminant"),") {",0"EmptyStatement"!==__.type)){const __=IA.call(function(N_){return Ml(N_,LA,RA)},"consequent");YA.push(Jp(__)?Rg([" ",__]):Wg(LA.tabWidth,Rg([Mg,__])))}return Rg(YA);case"DebuggerStatement":return"debugger;";case"JSXAttribute":if(YA.push(IA.call(RA,"name")),OA.value){let __;__=("StringLiteral"===OA.value.type||"Literal"===OA.value.type)&&"string"==typeof OA.value.value?"\""+_g.htmlEscapeInsideDoubleQuote(OA.value.value)+"\"":IA.call(RA,"value"),YA.push("=",__)}return Rg(YA);case"JSXIdentifier":return""+OA.name;case"JSXNamespacedName":return Og(":",[IA.call(RA,"namespace"),IA.call(RA,"name")]);case"JSXMemberExpression":return Og(".",[IA.call(RA,"object"),IA.call(RA,"property")]);case"JSXSpreadAttribute":return Rg(["{...",IA.call(RA,"argument"),"}"]);case"JSXExpressionContainer":{const __=IA.getParentNode(0),N_="ArrayExpression"===OA.expression.type||"ObjectExpression"===OA.expression.type||"ArrowFunctionExpression"===OA.expression.type||"CallExpression"===OA.expression.type||"FunctionExpression"===OA.expression.type||"JSXEmptyExpression"===OA.expression.type||"JSXElement"===__.type&&("ConditionalExpression"===OA.expression.type||"LogicalExpression"===OA.expression.type);return N_?Xg(Rg(["{",IA.call(RA,"expression"),"}"])):Xg(Rg(["{",Wg(LA.tabWidth,Rg([Vg,IA.call(RA,"expression")])),Vg,"}"]))}case"JSXElement":{const __=Yp(IA,LA,RA);return Mp(IA,__,LA)}case"JSXOpeningElement":{const __=IA.getValue();return 1===__.attributes.length&&__.attributes[0].value&&"Literal"===__.attributes[0].value.type&&"string"==typeof __.attributes[0].value.value?Xg(Rg(["<",IA.call(RA,"name")," ",Rg(IA.map(RA,"attributes")),__.selfClosing?" />":">"])):Xg(Rg(["<",IA.call(RA,"name"),Rg([Wg(LA.tabWidth,Rg(IA.map(N_=>Rg([Yg,RA(N_)]),"attributes"))),__.selfClosing?Yg:LA.jsxBracketSameLine?">":Vg]),__.selfClosing?"/>":LA.jsxBracketSameLine?"":">"]))}case"JSXClosingElement":return Rg([""]);case"JSXText":throw new Error("JSXTest should be handled by JSXElement");case"JSXEmptyExpression":return Rg([Tg.printDanglingComments(IA,LA,!0),Vg]);case"TypeAnnotatedIdentifier":return Rg([IA.call(RA,"annotation")," ",IA.call(RA,"identifier")]);case"ClassBody":return OA.comments||0!==OA.body.length?Rg(["{",0 ":": ",IA.call(RA,"returnType"),IA.call(RA,"predicate")),Rg(YA);case"FunctionTypeParam":return Rg([IA.call(RA,"name"),OA.optional?"?":"",OA.name?": ":"",IA.call(RA,"typeAnnotation")]);case"GenericTypeAnnotation":return Rg([IA.call(RA,"id"),IA.call(RA,"typeParameters")]);case"DeclareInterface":case"InterfaceDeclaration":return("DeclareInterface"===OA.type||_d(OA,LA))&&YA.push("declare "),YA.push("interface ",IA.call(RA,"id"),IA.call(RA,"typeParameters")," "),0"]);case"TypeParameter":switch(OA.variance){case"plus":YA.push("+");break;case"minus":YA.push("-");break;default:}return YA.push(IA.call(RA,"name")),OA.bound&&YA.push(IA.call(RA,"bound")),OA["default"]&&YA.push("=",IA.call(RA,"default")),Rg(YA);case"TypeofTypeAnnotation":return Rg(["typeof ",IA.call(RA,"argument")]);case"VoidTypeAnnotation":return"void";case"NullTypeAnnotation":return"null";case"InferredPredicate":return"%checks";case"DeclaredPredicate":return Rg(["%checks(",IA.call(RA,"value"),")"]);case"ClassHeritage":case"ComprehensionBlock":case"ComprehensionExpression":case"Glob":case"GeneratorExpression":case"LetStatement":case"LetExpression":case"GraphExpression":case"GraphIndexExpression":case"XMLDefaultDeclaration":case"XMLAnyName":case"XMLQualifiedIdentifier":case"XMLFunctionQualifiedIdentifier":case"XMLAttributeSelector":case"XMLFilterExpression":case"XML":case"XMLElement":case"XMLList":case"XMLEscape":case"XMLText":case"XMLStartTag":case"XMLEndTag":case"XMLPointTag":case"XMLName":case"XMLAttribute":case"XMLCdata":case"XMLComment":case"XMLProcessingInstruction":default:debugger;throw new Error("unknown type: "+JSON.stringify(OA.type));}return p}function Ml(IA,LA,RA){let OA=[];return IA.map(function(YA){var MA=YA.getValue();if(MA&&"EmptyStatement"!==MA.type){const VA=RA(YA),UA=LA.originalText,XA=[];XA.push(VA),_g.isNextLineEmpty(UA,MA)&&!Sd(YA)&&XA.push(Mg),OA.push(Rg(XA))}}),Og(Mg,OA)}function Vl(IA,LA,RA){const OA=IA.getNode(),YA=OA.key;return("StringLiteral"===YA.type||"Literal"===YA.type&&"string"==typeof YA.value)&&Ng(YA.value)&&!OA.computed&&("flow"!==LA.parser||YA.value.match(/[a-zA-Z0-9$_]/))?YA.value:IA.call(RA,"key")}function Ul(IA,LA,RA){var OA=IA.getNode(),YA=OA.kind,MA=[];"ObjectMethod"===OA.type||"ClassMethod"===OA.type?OA.value=OA:Nx.FunctionExpression.assert(OA.value),OA.value.async&&MA.push("async "),YA&&"init"!==YA&&"method"!==YA&&"constructor"!==YA?(Sg.ok("get"===YA||"set"===YA),MA.push(YA," ")):OA.value.generator&&MA.push("*");var VA=Vl(IA,LA,RA);return OA.computed&&(VA=Rg(["[",VA,"]"])),MA.push(VA,IA.call(RA,"value","typeParameters"),Xg(Rg([IA.call(function(UA){return Wl(UA,RA,LA)},"value"),IA.call(UA=>Zl(UA,RA),"value")]))," ",IA.call(RA,"value","body")),Rg(MA)}function Xl(IA,LA,RA){var OA=IA.map(RA,"arguments");if(0===OA.length)return"()";const YA=_g.getLast(IA.getValue().arguments),MA=(!YA.comments||!YA.comments.length)&&("ObjectExpression"===YA.type||"ArrayExpression"===YA.type||"FunctionExpression"===YA.type||"ArrowFunctionExpression"===YA.type&&("BlockStatement"===YA.body.type||"ArrowFunctionExpression"===YA.body.type||"ObjectExpression"===YA.body.type||"ArrayExpression"===YA.body.type||"CallExpression"===YA.body.type||"JSXElement"===YA.body.type)||"NewExpression"===YA.type);if(MA){const VA=OA.slice(0,-1).some($g);return Rg([OA.some($g)?Kg:"",Jg([Rg(["(",Og(Rg([", "]),OA),")"]),Rg(["(",Og(Rg([",",Yg]),OA.slice(0,-1)),1Xl(TP,LA,RA),LA)}),TP.call(_P=>OA(_P),"callee")):"MemberExpression"===PP.type?(VA.unshift({node:PP,printed:Tg.printComments(TP,()=>_p(TP,LA,RA),LA)}),TP.call(_P=>OA(_P),"object")):VA.unshift({node:PP,printed:TP.call(RA)})}function YA(TP){return Rg(TP.map(PP=>PP.printed))}function MA(TP,PP){return Wg(LA.tabWidth,Xg(Rg([PP,Og(PP,TP.map(YA))])))}const VA=[];VA.unshift({node:IA.getValue(),printed:Xl(IA,LA,RA)}),IA.call(TP=>OA(TP),"callee");for(var UA=[],XA=[VA[0]],WA=1;WA=UA.length&&!$A)return Xg(QA);const SP=Rg([YA(UA[0]),ZA?MA(UA.slice(1,2),Vg):"",MA(UA.slice(ZA?2:1),Mg)]);return $A?Xg(SP):KA.slice(0,-1).some($g)?Xg(SP):Jg([QA,SP])}function Lp(IA){if(0===IA.children.length)return!0;if(1{const QA=KA.match(/\n/g);if(QA)return MA.push(Mg),void(1{if($A===MA){if(0===SP)return void JA.unshift($A);if(SP===VA.length-1)return void JA.push($A)}let TP=VA[SP-1];TP&&$g(TP)?(UA=!0,JA.push([$A])):_g.getLast(JA).push($A),!UA&&SP===VA.length-1&&$g($A)&&(UA=!0)});const ZA=[Mg,Rg(JA.map($A=>Array.isArray($A)?Jg([Rg($A)]):$A))],KA=IA.call(RA,"closingElement"),QA=Xg(Rg([YA,Wg(LA.tabWidth,Xg(Rg(ZA),{shouldBreak:!0})),Mg,KA]));return UA?QA:Jg([Xg(Rg([YA,Rg(VA),KA])),QA])}function Mp(IA,LA,RA){const OA=IA.getParentNode();return OA?{JSXElement:!0,ExpressionStatement:!0,CallExpression:!0,ConditionalExpression:!0,LogicalExpression:!0}[OA.type]?LA:Xg(Rg([Zg("("),Wg(RA.tabWidth,Rg([Vg,LA])),Vg,Zg(")")])):LA}function Up(IA){return"BinaryExpression"===IA.type||"LogicalExpression"===IA.type}function Xp(IA,LA,RA,OA,YA){let MA=IA.getValue();if(Up(MA)){_g.getPrecedence(MA.left.operator)===_g.getPrecedence(MA.operator)?IA.call(WA=>Xp(WA,LA,RA,OA,!0),"left"):LA.push(IA.call(RA,"left"));const VA=Rg([MA.operator,Yg,IA.call(RA,"right")]),UA=IA.getParentNode(),XA="BinaryExpression"===MA.type&&"BinaryExpression"!==UA.type&&"BinaryExpression"!==MA.left.type&&"BinaryExpression"!==MA.right.type;LA.push(" ",XA?Xg(VA):VA),YA&&MA.comments&&LA.push(Tg.printComments(IA,()=>"",OA))}else LA.push(IA.call(RA));return LA}function Wp(IA,LA,RA){return""===IA?";":Jp(IA)||RA?Rg([" ",IA]):Wg(LA.tabWidth,Rg([Yg,IA]))}function Jp(IA){const LA=Tx(IA);return"{"===LA||"{}"===LA}function Zp(IA){const LA=Tx(IA);return"{}"===LA}function Kp(IA,LA){const RA=IA.value;if(Ix.assert(RA),"flow"===LA.parser&&-1!==RA.indexOf("\uFFFD"))return IA.raw;const OA=IA.extra?IA.extra.raw:IA.raw,YA=OA.slice(1,-1),MA={quote:"\"",regex:/"/g},VA={quote:"'",regex:/'/g},UA=LA.singleQuote?VA:MA,XA=UA===VA?MA:VA;let WA=!1;if(YA.includes(UA.quote)){const ZA=(YA.match(UA.regex)||[]).length,KA=(YA.match(XA.regex)||[]).length;WA=ZA>KA}const JA=WA?XA.quote:UA.quote;return Qp(YA,JA)}function Qp(IA,LA){const RA="\""===LA?"'":"\"",OA=/\\([\s\S])|(['"])/g,YA=IA.replace(OA,(MA,VA,UA)=>{return VA===RA?VA:UA===LA?"\\"+UA:MA});return LA+YA+LA}function $p(IA){return IA.toLowerCase().replace(/^([\d.]+e)(?:\+|(-))?0*/,"$1$2").replace(/^\./,"0.").replace(/\.(?=e|$)/,"")}function Sd(IA){const LA=IA.getParentNode(),RA=IA.getValue(),OA=LA.body;return OA&&OA[OA.length-1]===RA}function Td(IA){return"ObjectTypeProperty"===IA.type&&"FunctionTypeAnnotation"===IA.value.type&&!IA.static&&_g.locStart(IA.key)!==_g.locStart(IA.value)}function Pd(IA){const LA=IA.type;return Nx.Literal.check(IA)||"ArrayExpression"===LA||"ArrayPattern"===LA||"ArrowFunctionExpression"===LA||"AssignmentPattern"===LA||"CallExpression"===LA||"FunctionExpression"===LA||"Identifier"===LA||"JSXElement"===LA||"Literal"===LA||"MemberExpression"===LA||"NewExpression"===LA||"ObjectExpression"===LA||"ObjectPattern"===LA||"StringLiteral"===LA||"ThisExpression"===LA||"TypeCastExpression"===LA||"UnaryExpression"===LA}function _d(IA,LA){return!("flow"!==LA.parser)&&LA.originalText.slice(0,_g.locStart(IA)).match(/declare\s*$/)}function Nd(IA,LA,RA){let OA=LA.length;for(const YA=[IA];0<=RA;){if(0===YA.length){if(0===OA)return!0;YA.push(LA[OA-1]),OA--;continue}const VA=YA.pop(),UA=VA[0],XA=VA[1],WA=VA[2];if("string"==typeof WA)RA-=WA.length;else switch(WA.type){case"concat":for(var MA=WA.parts.length-1;0<=MA;MA--)YA.push([UA,XA,WA.parts[MA]]);break;case"indent":YA.push([UA+WA.n,XA,WA.contents]);break;case"group":YA.push([UA,WA.break?Lx:XA,WA.contents]);break;case"if-break":XA===Lx&&WA.breakContents&&YA.push([UA,XA,WA.breakContents]),XA===Rx&&WA.flatContents&&YA.push([UA,XA,WA.flatContents]);break;case"line":switch(XA){case Rx:if(!WA.hard){WA.soft||(RA-=1);break}case Lx:return!0;}}}return!1}function Ld(IA){return"[object Array]"===IA||"[object ArrayBuffer]"===IA||"[object DataView]"===IA||"[object Float32Array]"===IA||"[object Float64Array]"===IA||"[object Int8Array]"===IA||"[object Int16Array]"===IA||"[object Int32Array]"===IA||"[object Uint8Array]"===IA||"[object Uint8ClampedArray]"===IA||"[object Uint16Array]"===IA||"[object Uint32Array]"===IA}function Rd(IA){return IA==+IA?0===IA&&0>1/IA?"-0":""+IA:"NaN"}function Od(IA,LA){return LA?""===IA.name?"[Function anonymous]":"[Function "+IA.name+"]":"[Function]"}function Yd(IA){return Wx.call(IA).replace(Jx,"Symbol($1)")}function Md(IA){return"["+Ux.call(IA)+"]"}function Vd(IA,LA,RA){if(!0===IA||!1===IA)return""+IA;if(void 0===IA)return"undefined";if(null===IA)return"null";const OA=typeof IA;if("number"==OA)return Rd(IA);if("string"==OA)return"\""+Yx(IA)+"\"";if("function"==OA)return Od(IA,LA);if("symbol"==OA)return Yd(IA);const YA=Mx.call(IA);return"[object WeakMap]"===YA?"WeakMap {}":"[object WeakSet]"===YA?"WeakSet {}":"[object Function]"===YA||"[object GeneratorFunction]"===YA?Od(IA,LA):"[object Symbol]"===YA?Yd(IA):"[object Date]"===YA?Vx.call(IA):"[object Error]"===YA?Md(IA):"[object RegExp]"===YA?RA?Yx(Xx.call(IA)):Xx.call(IA):"[object Arguments]"===YA&&0===IA.length?"Arguments []":Ld(YA)&&0===IA.length?IA.constructor.name+" []":!!(IA instanceof Error)&&Md(IA)}function Ud(IA,LA,RA,OA,YA,MA,VA,UA,XA,WA,JA,ZA,KA,QA){let $A="";if(IA.length){$A+=YA;const SP=RA+LA;for(let TP=0;TP "+NP,TP=SP.next(),TP.done||($A+=","+OA)}$A+=(WA?"":",")+YA+RA}return $A+"}"}function Zd(IA,LA,RA,OA,YA,MA,VA,UA,XA,WA,JA,ZA,KA,QA){const $A=WA?"":IA.constructor?IA.constructor.name+" ":"Object ";let SP=$A+"{",TP=Object.keys(IA).sort();const PP=Kx(IA);if(PP.length&&(TP=TP.filter(_P=>"symbol"!=typeof _P&&"[object Symbol]"!==Mx.call(_P)).concat(PP)),TP.length){SP+=YA;const _P=RA+LA;for(let NP=0;NPVA;if(JA&&!$A&&IA.toJSON&&"function"==typeof IA.toJSON)return Sc(IA.toJSON(),LA,RA,OA,YA,MA,VA,UA,XA,WA,JA,ZA,KA,QA);const SP=Mx.call(IA);return"[object Arguments]"===SP?$A?"[Arguments]":Xd(IA,LA,RA,OA,YA,MA,VA,UA,XA,WA,JA,ZA,KA,QA):Ld(SP)?$A?"[Array]":Wd(IA,LA,RA,OA,YA,MA,VA,UA,XA,WA,JA,ZA,KA,QA):"[object Map]"===SP?$A?"[Map]":Jd(IA,LA,RA,OA,YA,MA,VA,UA,XA,WA,JA,ZA,KA,QA):"[object Set]"===SP?$A?"[Set]":Kd(IA,LA,RA,OA,YA,MA,VA,UA,XA,WA,JA,ZA,KA,QA):$A?"[Object]":Zd(IA,LA,RA,OA,YA,MA,VA,UA,XA,WA,JA,ZA,KA,QA)}function $d(IA,LA,RA,OA,YA,MA,VA,UA,XA,WA,JA,ZA,KA,QA){let $A=!1,SP;for(let TP=0;TP{if(!Qx.hasOwnProperty(LA))throw new Error("prettyFormat: Invalid option: "+LA)}),IA.min&&void 0!==IA.indent&&0!==IA.indent)throw new Error("prettyFormat: Cannot run with min option and indent")}function Pc(IA){const LA={};return Object.keys(Qx).forEach(RA=>LA[RA]=IA.hasOwnProperty(RA)?IA[RA]:Qx[RA]),LA.min&&(LA.indent=0),LA}function _c(IA){return Array(IA+1).join(" ")}function Nc(IA){if("concat"===IA.type){var LA=[];for(var RA=0;RA{if(!LA.printed)throw new Error("Comment \""+LA.value.trim()+"\" was not printed. Please report this error!");delete LA.printed})}function Vc(IA,LA){const RA=Oc(IA,LA),OA=Yc(IA,RA,LA),YA=SA(RA,LA),MA=TA(YA,LA.printWidth,Rc(IA));return Mc(OA),MA}function Uc(IA,LA){if(!IA.startsWith("#!"))return Vc(IA,LA);const RA=IA.indexOf("\n"),OA=IA.slice(0,RA+1),YA=IA.slice(RA+1),MA=IA.charAt(RA+1),VA="\n"===MA?"\n":"\r"===MA?"\r\n":"";return OA+VA+Vc(YA,LA)}var Xc=Se(function(IA,LA){Object.defineProperty(LA,"__esModule",{value:!0}),LA.default=/((['"])(?:(?!\2|\\).|\\(?:\r\n|[\s\S]))*(\2)?|`(?:[^`\\$]|\\[\s\S]|\$(?!\{)|\$\{(?:[^{}]|\{[^}]*\}?)*\}?)*(`)?)|(\/\/.*)|(\/\*(?:[^*]|\*(?!\/))*(\*\/)?)|(\/(?!\*)(?:\[(?:(?![\]\\]).|\\.)*\]|(?![\/\]\\]).|\\.)+\/(?:(?!\s*(?:\b|[\u0080-\uFFFF$\\'"~({]|[+\-!](?!=)|\.?\d))|[gmiyu]{1,5}\b(?![\u0080-\uFFFF$\\]|\s*(?:[+\-*%&|^<>!=?({]|\/(?![\/*])))))|(0[xX][\da-fA-F]+|0[oO][0-7]+|0[bB][01]+|(?:\d*\.\d+|\d+\.?)(?:[eE][+-]?\d+)?)|((?!\d)(?:(?!\s)[$\w\u0080-\uFFFF]|\\u[\da-fA-F]{4}|\\u\{[\da-fA-F]{1,6}\})+)|(--|\+\+|&&|\|\||=>|\.{3}|(?:[+\-\/%&|^]|\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2})=?|[?~.,:;[\](){}])|(\s+)|(^$|[\s\S])/g,LA.matchToToken=function(RA){var OA={type:"invalid",value:RA[0]};return RA[1]?(OA.type="string",OA.closed=!!(RA[3]||RA[4])):RA[5]?OA.type="comment":RA[6]?(OA.type="comment",OA.closed=!!RA[7]):RA[8]?OA.type="regex":RA[9]?OA.type="number":RA[10]?OA.type="name":RA[11]?OA.type="punctuator":RA[12]&&(OA.type="whitespace"),OA}}),Wc=Se(function(IA){(function(){"use strict";function LA(OA){if(null==OA)return!1;switch(OA.type){case"BlockStatement":case"BreakStatement":case"ContinueStatement":case"DebuggerStatement":case"DoWhileStatement":case"EmptyStatement":case"ExpressionStatement":case"ForInStatement":case"ForStatement":case"IfStatement":case"LabeledStatement":case"ReturnStatement":case"SwitchStatement":case"ThrowStatement":case"TryStatement":case"VariableDeclaration":case"WhileStatement":case"WithStatement":return!0;}return!1}function RA(OA){switch(OA.type){case"IfStatement":return null==OA.alternate?OA.consequent:OA.alternate;case"LabeledStatement":case"ForStatement":case"ForInStatement":case"WhileStatement":case"WithStatement":return OA.body;}return null}IA.exports={isExpression:function(YA){if(null==YA)return!1;switch(YA.type){case"ArrayExpression":case"AssignmentExpression":case"BinaryExpression":case"CallExpression":case"ConditionalExpression":case"FunctionExpression":case"Identifier":case"Literal":case"LogicalExpression":case"MemberExpression":case"NewExpression":case"ObjectExpression":case"SequenceExpression":case"ThisExpression":case"UnaryExpression":case"UpdateExpression":return!0;}return!1},isStatement:LA,isIterationStatement:function(YA){if(null==YA)return!1;switch(YA.type){case"DoWhileStatement":case"ForInStatement":case"ForStatement":case"WhileStatement":return!0;}return!1},isSourceElement:function(YA){return LA(YA)||null!=YA&&"FunctionDeclaration"===YA.type},isProblematicIfStatement:function(YA){var MA;if("IfStatement"!==YA.type)return!1;if(null==YA.alternate)return!1;MA=YA.consequent;do{if("IfStatement"===MA.type&&null==MA.alternate)return!0;MA=RA(MA)}while(MA);return!1},trailingStatement:RA}})()}),Jc=Se(function(IA){(function(){"use strict";function LA(XA){if(65535>=XA)return String.fromCharCode(XA);var WA=String.fromCharCode(Math.floor((XA-65536)/1024)+55296),JA=String.fromCharCode((XA-65536)%1024+56320);return WA+JA}var RA,OA,YA,MA,VA,UA;for(OA={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B2\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA7AD\uA7B0\uA7B1\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB5F\uAB64\uAB65\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,NonAsciiIdentifierPart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B2\u08E4-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58\u0C59\u0C60-\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D57\u0D60-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFC-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA69D\uA69F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA7AD\uA7B0\uA7B1\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C4\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB5F\uAB64\uAB65\uABC0-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2D\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/},RA={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B2\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA7AD\uA7B0\uA7B1\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB5F\uAB64\uAB65\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDE00-\uDE11\uDE13-\uDE2B\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF5D-\uDF61]|\uD805[\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDE00-\uDE2F\uDE44\uDE80-\uDEAA]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF98]|\uD809[\uDC00-\uDC6E]|[\uD80C\uD840-\uD868\uD86A-\uD86C][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D]|\uD87E[\uDC00-\uDE1D]/,NonAsciiIdentifierPart:/[\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B2\u08E4-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58\u0C59\u0C60-\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D57\u0D60-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFC-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA69D\uA69F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA7AD\uA7B0\uA7B1\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C4\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB5F\uAB64\uAB65\uABC0-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2D\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDD0-\uDDDA\uDE00-\uDE11\uDE13-\uDE37\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF01-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF98]|\uD809[\uDC00-\uDC6E]|[\uD80C\uD840-\uD868\uD86A-\uD86C][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/},YA=[5760,6158,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279],MA=Array(128),UA=0;128>UA;++UA)MA[UA]=97<=UA&&122>=UA||65<=UA&&90>=UA||36===UA||95===UA;for(VA=Array(128),UA=0;128>UA;++UA)VA[UA]=97<=UA&&122>=UA||65<=UA&&90>=UA||48<=UA&&57>=UA||36===UA||95===UA;IA.exports={isDecimalDigit:function(WA){return 48<=WA&&57>=WA},isHexDigit:function(WA){return 48<=WA&&57>=WA||97<=WA&&102>=WA||65<=WA&&70>=WA},isOctalDigit:function(WA){return 48<=WA&&55>=WA},isWhiteSpace:function(WA){return 32===WA||9===WA||11===WA||12===WA||160===WA||5760<=WA&&0<=YA.indexOf(WA)},isLineTerminator:function(WA){return 10===WA||13===WA||8232===WA||8233===WA},isIdentifierStartES5:function(WA){return 128>WA?MA[WA]:OA.NonAsciiIdentifierStart.test(LA(WA))},isIdentifierPartES5:function(WA){return 128>WA?VA[WA]:OA.NonAsciiIdentifierPart.test(LA(WA))},isIdentifierStartES6:function(WA){return 128>WA?MA[WA]:RA.NonAsciiIdentifierStart.test(LA(WA))},isIdentifierPartES6:function(WA){return 128>WA?VA[WA]:RA.NonAsciiIdentifierPart.test(LA(WA))}}})()}),Zc=Se(function(IA){(function(){"use strict";function LA(JA){return"implements"===JA||"interface"===JA||"package"===JA||"private"===JA||"protected"===JA||"public"===JA||"static"===JA||"let"===JA}function RA(JA,ZA){return(ZA||"yield"!==JA)&&OA(JA,ZA)}function OA(JA,ZA){if(ZA&&LA(JA))return!0;switch(JA.length){case 2:return"if"===JA||"in"===JA||"do"===JA;case 3:return"var"===JA||"for"===JA||"new"===JA||"try"===JA;case 4:return"this"===JA||"else"===JA||"case"===JA||"void"===JA||"with"===JA||"enum"===JA;case 5:return"while"===JA||"break"===JA||"catch"===JA||"throw"===JA||"const"===JA||"yield"===JA||"class"===JA||"super"===JA;case 6:return"return"===JA||"typeof"===JA||"delete"===JA||"switch"===JA||"export"===JA||"import"===JA;case 7:return"default"===JA||"finally"===JA||"extends"===JA;case 8:return"function"===JA||"continue"===JA||"debugger"===JA;case 10:return"instanceof"===JA;default:return!1;}}function YA(JA,ZA){return"null"===JA||"true"===JA||"false"===JA||RA(JA,ZA)}function MA(JA,ZA){return"null"===JA||"true"===JA||"false"===JA||OA(JA,ZA)}function VA(JA){var ZA,KA,QA;if(0===JA.length)return!1;if(QA=JA.charCodeAt(0),!WA.isIdentifierStartES5(QA))return!1;for(ZA=1,KA=JA.length;ZA=QA){if(++ZA,ZA>=KA)return!1;if($A=JA.charCodeAt(ZA),!(56320<=$A&&57343>=$A))return!1;QA=UA(QA,$A)}if(!SP(QA))return!1;SP=WA.isIdentifierPartES6}return!0}var WA=Jc;IA.exports={isKeywordES5:RA,isKeywordES6:OA,isReservedWordES5:YA,isReservedWordES6:MA,isRestrictedWord:function(ZA){return"eval"===ZA||"arguments"===ZA},isIdentifierNameES5:VA,isIdentifierNameES6:XA,isIdentifierES5:function(ZA,KA){return VA(ZA)&&!YA(ZA,KA)},isIdentifierES6:function(ZA,KA){return XA(ZA)&&!MA(ZA,KA)}}})()}),Kc=Se(function(IA,LA){(function(){"use strict";LA.ast=Wc,LA.code=Jc,LA.keyword=Zc})()}),Qc="undefined"==typeof global?"undefined"==typeof self?"undefined"==typeof window?{}:window:self:global,$c=Te,Su=Pe;"function"==typeof Qc.setTimeout&&($c=setTimeout),"function"==typeof Qc.clearTimeout&&(Su=clearTimeout);var Tu=[],Pu=!1,_u,Nu=-1;Oe.prototype.run=function(){this.fun.apply(null,this.array)};var Iu=Qc.performance||{},Lu=Iu.now||Iu.mozNow||Iu.msNow||Iu.oNow||Iu.webkitNow||function(){return new Date().getTime()},Ru=new Date,Ou={nextTick:function(LA){var RA=Array(arguments.length-1);if(1YA&&(OA--,YA+=1e9)),[OA,YA]},platform:"browser",release:{},config:{},uptime:function(){var LA=new Date;return(LA-Ru)/1e3}},Yu=/[|\\{}()[\]^$+*?.]/g,Mu=Se(function(IA){"use strict";Object.defineProperty(IA,"exports",{enumerable:!0,get:function(){var RA={modifiers:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},colors:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],gray:[90,39]},bgColors:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49]}};return RA.colors.grey=RA.colors.gray,Object.keys(RA).forEach(function(OA){var YA=RA[OA];Object.keys(YA).forEach(function(MA){var VA=YA[MA];RA[MA]=YA[MA]={open:"\x1B["+VA[0]+"m",close:"\x1B["+VA[1]+"m"}}),Object.defineProperty(RA,OA,{value:YA,enumerable:!1})}),RA}})}),Vu=function(){return /[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g},Uu=Vu(),Xu=new RegExp(Vu().source),Wu=Xu.test.bind(Xu),Ju=Ou.argv,Zu=Ju.indexOf("--"),Ku=function(IA){IA="--"+IA;var LA=Ju.indexOf(IA);return-1!==LA&&(!(-1!==Zu)||LA"),NP(IP.gutter,KP),XP,QP].join("")}return" "+NP(IP.gutter,KP)+XP}).join("\n");return PP?_P.reset(UP):UP};var VA=Xc,UA=RA(VA),XA=RA(Kc),WA=RA(Rm),JA=/\r\n|[\n\r\u2028\u2029]/,ZA=/^[a-z][\w-]*$/i,KA=/^[()\[\]{}]$/;IA.exports=LA["default"]}),Ym=[],Mm=[],Vm="undefined"==typeof Uint8Array?Array:Uint8Array,Um=!1,Xm={}.toString,Wm=Array.isArray||function(IA){return"[object Array]"==Xm.call(IA)};Pt.TYPED_ARRAY_SUPPORT=!(Qc.TYPED_ARRAY_SUPPORT!==void 0)||Qc.TYPED_ARRAY_SUPPORT,Pt.poolSize=8192,Pt._augment=function(IA){return IA.__proto__=Pt.prototype,IA},Pt.from=function(IA,LA,RA){return _t(null,IA,LA,RA)},Pt.TYPED_ARRAY_SUPPORT&&(Pt.prototype.__proto__=Uint8Array.prototype,Pt.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&Pt[Symbol.species]===Pt),Pt.alloc=function(IA,LA,RA){return It(null,IA,LA,RA)},Pt.allocUnsafe=function(IA){return Lt(null,IA)},Pt.allocUnsafeSlow=function(IA){return Lt(null,IA)},Pt.isBuffer=Yn,Pt.compare=function(LA,RA){if(!Ut(LA)||!Ut(RA))throw new TypeError("Arguments must be Buffers");if(LA===RA)return 0;var OA=LA.length,YA=RA.length;for(var MA=0,VA=Math.min(OA,YA);MARA&&(LA+=" ... ")),""},Pt.prototype.compare=function(LA,RA,OA,YA,MA){if(!Ut(LA))throw new TypeError("Argument must be a Buffer");if(void 0===RA&&(RA=0),void 0===OA&&(OA=LA?LA.length:0),void 0===YA&&(YA=0),void 0===MA&&(MA=this.length),0>RA||OA>LA.length||0>YA||MA>this.length)throw new RangeError("out of range index");if(YA>=MA&&RA>=OA)return 0;if(YA>=MA)return-1;if(RA>=OA)return 1;if(RA>>>=0,OA>>>=0,YA>>>=0,MA>>>=0,this===LA)return 0;var VA=MA-YA,UA=OA-RA,XA=Math.min(VA,UA),WA=this.slice(YA,MA),JA=LA.slice(RA,OA);for(var ZA=0;ZAMA)&&(OA=MA),0OA||0>RA)||RA>this.length)throw new RangeError("Attempt to write outside buffer bounds");YA||(YA="utf8");for(var VA=!1;;)switch(YA){case"hex":return Qt(this,LA,RA,OA);case"utf8":case"utf-8":return $t(this,LA,RA,OA);case"ascii":return Sa(this,LA,RA,OA);case"latin1":case"binary":return Ta(this,LA,RA,OA);case"base64":return Pa(this,LA,RA,OA);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return _a(this,LA,RA,OA);default:if(VA)throw new TypeError("Unknown encoding: "+YA);YA=(""+YA).toLowerCase(),VA=!0;}},Pt.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var Jm=4096;Pt.prototype.slice=function(LA,RA){var OA=this.length;LA=~~LA,RA=RA===void 0?OA:~~RA,0>LA?(LA+=OA,0>LA&&(LA=0)):LA>OA&&(LA=OA),0>RA?(RA+=OA,0>RA&&(RA=0)):RA>OA&&(RA=OA),RA=MA&&(YA-=Math.pow(2,8*RA)),YA},Pt.prototype.readIntBE=function(LA,RA,OA){LA|=0,RA|=0,OA||Ua(LA,RA,this.length);for(var YA=RA,MA=1,VA=this[LA+--YA];0=MA&&(VA-=Math.pow(2,8*RA)),VA},Pt.prototype.readInt8=function(LA,RA){return RA||Ua(LA,1,this.length),128&this[LA]?-1*(255-this[LA]+1):this[LA]},Pt.prototype.readInt16LE=function(LA,RA){RA||Ua(LA,2,this.length);var OA=this[LA]|this[LA+1]<<8;return 32768&OA?4294901760|OA:OA},Pt.prototype.readInt16BE=function(LA,RA){RA||Ua(LA,2,this.length);var OA=this[LA+1]|this[LA]<<8;return 32768&OA?4294901760|OA:OA},Pt.prototype.readInt32LE=function(LA,RA){return RA||Ua(LA,4,this.length),this[LA]|this[LA+1]<<8|this[LA+2]<<16|this[LA+3]<<24},Pt.prototype.readInt32BE=function(LA,RA){return RA||Ua(LA,4,this.length),this[LA]<<24|this[LA+1]<<16|this[LA+2]<<8|this[LA+3]},Pt.prototype.readFloatLE=function(LA,RA){return RA||Ua(LA,4,this.length),Qe(this,LA,!0,23,4)},Pt.prototype.readFloatBE=function(LA,RA){return RA||Ua(LA,4,this.length),Qe(this,LA,!1,23,4)},Pt.prototype.readDoubleLE=function(LA,RA){return RA||Ua(LA,8,this.length),Qe(this,LA,!0,52,8)},Pt.prototype.readDoubleBE=function(LA,RA){return RA||Ua(LA,8,this.length),Qe(this,LA,!1,52,8)},Pt.prototype.writeUIntLE=function(LA,RA,OA,YA){if(LA=+LA,RA|=0,OA|=0,!YA){var MA=Math.pow(2,8*OA)-1;Xa(this,LA,RA,OA,MA,0)}var VA=1,UA=0;for(this[RA]=255&LA;++UA>>8):Wa(this,LA,RA,!0),RA+2},Pt.prototype.writeUInt16BE=function(LA,RA,OA){return LA=+LA,RA|=0,OA||Xa(this,LA,RA,2,65535,0),Pt.TYPED_ARRAY_SUPPORT?(this[RA]=LA>>>8,this[RA+1]=255&LA):Wa(this,LA,RA,!1),RA+2},Pt.prototype.writeUInt32LE=function(LA,RA,OA){return LA=+LA,RA|=0,OA||Xa(this,LA,RA,4,4294967295,0),Pt.TYPED_ARRAY_SUPPORT?(this[RA+3]=LA>>>24,this[RA+2]=LA>>>16,this[RA+1]=LA>>>8,this[RA]=255&LA):Ja(this,LA,RA,!0),RA+4},Pt.prototype.writeUInt32BE=function(LA,RA,OA){return LA=+LA,RA|=0,OA||Xa(this,LA,RA,4,4294967295,0),Pt.TYPED_ARRAY_SUPPORT?(this[RA]=LA>>>24,this[RA+1]=LA>>>16,this[RA+2]=LA>>>8,this[RA+3]=255&LA):Ja(this,LA,RA,!1),RA+4},Pt.prototype.writeIntLE=function(LA,RA,OA,YA){if(LA=+LA,RA|=0,!YA){var MA=Math.pow(2,8*OA-1);Xa(this,LA,RA,OA,MA-1,-MA)}var VA=0,UA=1,XA=0;for(this[RA]=255&LA;++VALA&&0==XA&&0!==this[RA+VA-1]&&(XA=1),this[RA+VA]=255&(LA/UA>>0)-XA;return RA+OA},Pt.prototype.writeIntBE=function(LA,RA,OA,YA){if(LA=+LA,RA|=0,!YA){var MA=Math.pow(2,8*OA-1);Xa(this,LA,RA,OA,MA-1,-MA)}var VA=OA-1,UA=1,XA=0;for(this[RA+VA]=255&LA;0<=--VA&&(UA*=256);)0>LA&&0==XA&&0!==this[RA+VA+1]&&(XA=1),this[RA+VA]=255&(LA/UA>>0)-XA;return RA+OA},Pt.prototype.writeInt8=function(LA,RA,OA){return LA=+LA,RA|=0,OA||Xa(this,LA,RA,1,127,-128),Pt.TYPED_ARRAY_SUPPORT||(LA=Math.floor(LA)),0>LA&&(LA=255+LA+1),this[RA]=255&LA,RA+1},Pt.prototype.writeInt16LE=function(LA,RA,OA){return LA=+LA,RA|=0,OA||Xa(this,LA,RA,2,32767,-32768),Pt.TYPED_ARRAY_SUPPORT?(this[RA]=255&LA,this[RA+1]=LA>>>8):Wa(this,LA,RA,!0),RA+2},Pt.prototype.writeInt16BE=function(LA,RA,OA){return LA=+LA,RA|=0,OA||Xa(this,LA,RA,2,32767,-32768),Pt.TYPED_ARRAY_SUPPORT?(this[RA]=LA>>>8,this[RA+1]=255&LA):Wa(this,LA,RA,!1),RA+2},Pt.prototype.writeInt32LE=function(LA,RA,OA){return LA=+LA,RA|=0,OA||Xa(this,LA,RA,4,2147483647,-2147483648),Pt.TYPED_ARRAY_SUPPORT?(this[RA]=255&LA,this[RA+1]=LA>>>8,this[RA+2]=LA>>>16,this[RA+3]=LA>>>24):Ja(this,LA,RA,!0),RA+4},Pt.prototype.writeInt32BE=function(LA,RA,OA){return LA=+LA,RA|=0,OA||Xa(this,LA,RA,4,2147483647,-2147483648),0>LA&&(LA=4294967295+LA+1),Pt.TYPED_ARRAY_SUPPORT?(this[RA]=LA>>>24,this[RA+1]=LA>>>16,this[RA+2]=LA>>>8,this[RA+3]=255&LA):Ja(this,LA,RA,!1),RA+4},Pt.prototype.writeFloatLE=function(LA,RA,OA){return Ka(this,LA,RA,!0,OA)},Pt.prototype.writeFloatBE=function(LA,RA,OA){return Ka(this,LA,RA,!1,OA)},Pt.prototype.writeDoubleLE=function(LA,RA,OA){return Qa(this,LA,RA,!0,OA)},Pt.prototype.writeDoubleBE=function(LA,RA,OA){return Qa(this,LA,RA,!1,OA)},Pt.prototype.copy=function(LA,RA,OA,YA){if(OA||(OA=0),YA||0===YA||(YA=this.length),RA>=LA.length&&(RA=LA.length),RA||(RA=0),0RA)throw new RangeError("targetStart out of bounds");if(0>OA||OA>=this.length)throw new RangeError("sourceStart out of bounds");if(0>YA)throw new RangeError("sourceEnd out of bounds");YA>this.length&&(YA=this.length),LA.length-RAMA||!Pt.TYPED_ARRAY_SUPPORT)for(VA=0;VAMA&&(LA=MA)}if(void 0!==YA&&"string"!=typeof YA)throw new TypeError("encoding must be a string");if("string"==typeof YA&&!Pt.isEncoding(YA))throw new TypeError("Unknown encoding: "+YA)}else"number"==typeof LA&&(LA&=255);if(0>RA||this.length>>=0,OA=OA===void 0?this.length:OA>>>0,LA||(LA=0);var VA;if("number"==typeof LA)for(VA=RA;VAKP.indexOf($P)&&KP.push($P)}),this},Object.defineProperty(VP,"buildable",{value:!1});var UP={};QA.builders=UP;var XP={};QA.defineMethod=function(ZP,KP){var QP=XP[ZP];return OP.check(KP)?delete XP[ZP]:(NP.assert(KP),Object.defineProperty(XP,ZP,{enumerable:!0,configurable:!0,value:KP})),QP};var WP=_P.arrayOf();VP.build=function(){var ZP=this,KP=Rf.call(arguments);return(WP.assert(KP),Object.defineProperty(ZP,"buildParams",{value:KP,writable:!1,enumerable:!1,configurable:!0}),ZP.buildable)?ZP:(ZP.field("type",String,function(){return ZP.typeName}),Object.defineProperty(ZP,"buildable",{value:!0}),Object.defineProperty(UP,VA(ZP.typeName),{enumerable:!0,value:function(){function QP(P_,__){if(!Uf.call(T_,P_)){var N_=ZP.allFields;if(!Uf.call(N_,P_))throw new Error(""+P_);var I_=N_[P_],L_=I_.type,R_;if(RP.check(__)&&__SP)return YA;var TP=arguments.length;2===TP?(QA=0,$A=SP):3===TP?(QA=Math.max(QA,0),$A=SP):(QA=Math.max(QA,0),$A=Math.min($A,SP)),WA.assert(QA),WA.assert($A);var PP=Object.create(null),_P=RA(ZA);for(var NP=QA;NP<$A;++NP)if(Zf.call(ZA.value,NP)){var IP=ZA.get(NP);if(IP.name!==NP)throw new Error("");var LP=NP+KA;IP.name=LP,PP[LP]=IP,delete _P[NP]}return delete _P.length,function(){for(var RP in PP){var OP=PP[RP];if(OP.name!==+RP)throw new Error("");_P[RP]=OP,ZA.value[RP]=OP.value}}}function VA(ZA){if(!(ZA instanceof LA))throw new Error("");var KA=ZA.parentPath;if(!KA)return ZA;var QA=KA.value,$A=RA(KA);if(QA[ZA.name]===ZA.value)$A[ZA.name]=ZA;else if(XA.check(QA)){var SP=QA.indexOf(ZA.value);0<=SP&&($A[ZA.name=SP]=ZA)}else QA[ZA.name]=ZA.value,$A[ZA.name]=ZA;if(QA[ZA.name]!==ZA.value)throw new Error("");if(ZA.parentPath.get(ZA.name)!==ZA)throw new Error("");return ZA}var UA=IA.use(Xf),XA=UA.builtInTypes.array,WA=UA.builtInTypes.number,JA=LA.prototype;return JA.getValueProperty=function(KA){return this.value[KA]},JA.get=function(){var KA=this,QA=arguments,$A=QA.length;for(var SP=0;SP<$A;++SP)KA=OA(KA,QA[SP]);return KA},JA.each=function(KA,QA){var $A=[],SP=this.value.length,TP=0;for(var TP=0;TPRP)return!0;if(PP===RP&&"right"===this.name){if(NP.right!==_P)throw new Error("Nodes must be equal");return!0}default:return!1;}case"SequenceExpression":switch(NP.type){case"ForStatement":return!1;case"ExpressionStatement":return"expression"!==this.name;default:return!0;}case"YieldExpression":switch(NP.type){case"BinaryExpression":case"LogicalExpression":case"UnaryExpression":case"SpreadElement":case"SpreadProperty":case"CallExpression":case"MemberExpression":case"NewExpression":case"ConditionalExpression":case"YieldExpression":return!0;default:return!1;}case"Literal":return"MemberExpression"===NP.type&&JA.check(_P.value)&&"object"===this.name&&NP.object===_P;case"AssignmentExpression":case"ConditionalExpression":switch(NP.type){case"UnaryExpression":case"SpreadElement":case"SpreadProperty":case"BinaryExpression":case"LogicalExpression":return!0;case"CallExpression":return"callee"===this.name&&NP.callee===_P;case"ConditionalExpression":return"test"===this.name&&NP.test===_P;case"MemberExpression":return"object"===this.name&&NP.object===_P;default:return!1;}default:if("NewExpression"===NP.type&&"callee"===this.name&&NP.callee===_P)return OA(_P);}return!0!==TP&&!this.canBeFirstInStatement()&&this.firstInStatement()};var SP={};return[["||"],["&&"],["|"],["^"],["&"],["==","===","!=","!=="],["<",">","<=",">=","in","instanceof"],[">>","<<",">>>"],["+","-"],["*","/","%"]].forEach(function(TP,PP){TP.forEach(function(_P){SP[_P]=PP})}),$A.canBeFirstInStatement=function(){var TP=this.node;return!XA.FunctionExpression.check(TP)&&!XA.ObjectExpression.check(TP)},$A.firstInStatement=function(){return YA(this)},LA},Sh=Object.prototype.hasOwnProperty,Th=function(IA){function LA(){if(!(this instanceof LA))throw new Error("PathVisitor constructor cannot be invoked without 'new'");this._reusableContextStack=[],this._methodNameTable=RA(this),this._shouldVisitComments=Sh.call(this._methodNameTable,"Block")||Sh.call(this._methodNameTable,"Line"),this.Context=MA(this),this._visiting=!1,this._changeReported=!1}function RA($A){var SP=Object.create(null);for(var TP in $A)/^visit[A-Z]/.test(TP)&&(SP[TP.slice("visit".length)]=!0);var PP=VA.computeSupertypeLookupTable(SP),_P=Object.create(null),SP=Object.keys(PP),NP=SP.length;for(var IP=0;IPPP.indexOf("comments")&&PP.push("comments");var _P=PP.length,NP=[];for(var IP=0;IP<_P;++IP){var LP=PP[IP];Sh.call(TP,LP)||(TP[LP]=VA.getFieldValue(TP,LP)),NP.push($A.get(LP))}for(var IP=0;IP<_P;++IP)SP.visitWithoutReset(NP[IP])}return $A.value}function MA($A){function SP(PP){if(!(this instanceof SP))throw new Error("");if(!(this instanceof LA))throw new Error("");if(!(PP instanceof UA))throw new Error("");Object.defineProperty(this,"visitor",{value:$A,writable:!1,enumerable:!0,configurable:!1}),this.currentPath=PP,this.needToCallTraverse=!0,Object.seal(this)}if(!($A instanceof LA))throw new Error("");var TP=SP.prototype=Object.create($A);return TP.constructor=SP,OA(TP,QA),SP}var VA=IA.use(Xf),UA=IA.use(eh);VA.namedTypes.Printable;var XA=VA.builtInTypes.array,WA=VA.builtInTypes.object,JA=VA.builtInTypes.function,ZA;LA.fromMethodsObject=function(SP){function TP(){if(!(this instanceof TP))throw new Error("Visitor constructor cannot be invoked without 'new'");LA.call(this)}if(SP instanceof LA)return SP;if(!WA.check(SP))return new LA;var PP=TP.prototype=Object.create(KA);return PP.constructor=TP,OA(PP,SP),OA(TP,LA),JA.assert(TP.fromMethodsObject),JA.assert(TP.visit),new TP},LA.visit=function(SP,TP){return LA.fromMethodsObject(TP).visit(SP)};var KA=LA.prototype;KA.visit=function(){if(this._visiting)throw new Error("Recursively calling visitor.visit(path) resets visitor state. Try this.visit(path) or this.traverse(path) instead.");this._visiting=!0,this._changeReported=!1,this._abortRequested=!1;var $A=arguments.length,SP=Array($A);for(var TP=0;TP<$A;++TP)SP[TP]=arguments[TP];SP[0]instanceof UA||(SP[0]=new UA({root:SP[0]}).get("root")),this.reset.apply(this,SP);try{var PP=this.visitWithoutReset(SP[0]),_P=!0}finally{this._visiting=!1}return PP},KA.AbortRequest=function(){},KA.abort=function(){var $A=this;$A._abortRequested=!0;var SP=new $A.AbortRequest;throw SP.cancel=function(){$A._abortRequested=!1},SP},KA.reset=function(){},KA.visitWithoutReset=function($A){if(this instanceof this.Context)return this.visitor.visitWithoutReset($A);if(!($A instanceof UA))throw new Error("");var SP=$A.value,TP=SP&&"object"==typeof SP&&"string"==typeof SP.type&&this._methodNameTable[SP.type];if(TP){var PP=this.acquireContext($A);try{return PP.invokeVisitorMethod(TP)}finally{this.releaseContext(PP)}}else return YA($A,this)},KA.acquireContext=function($A){return 0===this._reusableContextStack.length?new this.Context($A):this._reusableContextStack.pop().reset($A)},KA.releaseContext=function($A){if(!($A instanceof this.Context))throw new Error("");this._reusableContextStack.push($A),$A.currentPath=null},KA.reportChanged=function(){this._changeReported=!0},KA.wasChangeReported=function(){return this._changeReported};var QA=Object.create(null);return QA.reset=function(SP){if(!(this instanceof this.Context))throw new Error("");if(!(SP instanceof UA))throw new Error("");return this.currentPath=SP,this.needToCallTraverse=!0,this},QA.invokeVisitorMethod=function(SP){if(!(this instanceof this.Context))throw new Error("");if(!(this.currentPath instanceof UA))throw new Error("");var TP=this.visitor[SP].call(this,this.currentPath);if(!1===TP?this.needToCallTraverse=!1:TP!==ZA&&(this.currentPath=this.currentPath.replace(TP)[0],this.needToCallTraverse&&this.traverse(this.currentPath)),!1!==this.needToCallTraverse)throw new Error("Must either call this.traverse or return false in "+SP);var PP=this.currentPath;return PP&&PP.value},QA.traverse=function(SP,TP){if(!(this instanceof this.Context))throw new Error("");if(!(SP instanceof UA))throw new Error("");if(!(this.currentPath instanceof UA))throw new Error("");return this.needToCallTraverse=!1,YA(SP,LA.fromMethodsObject(TP||this.visitor))},QA.visit=function(SP,TP){if(!(this instanceof this.Context))throw new Error("");if(!(SP instanceof UA))throw new Error("");if(!(this.currentPath instanceof UA))throw new Error("");return this.needToCallTraverse=!1,LA.fromMethodsObject(TP||this.visitor).visitWithoutReset(SP)},QA.reportChanged=function(){this.visitor.reportChanged()},QA.abort=function(){this.needToCallTraverse=!1,this.visitor.abort()},LA},Ph=function(IA){var LA={},RA=IA.use(Xf),OA=RA.Type,YA=RA.builtInTypes,MA=YA.number;LA.geq=function(UA){return new OA(function(XA){return MA.check(XA)&&XA>=UA},MA+" >= "+UA)},LA.defaults={"null":function(){return null},emptyArray:function(){return[]},"false":function(){return!1},"true":function(){return!0},undefined:function(){}};var VA=OA.or(YA.string,YA.number,YA.boolean,YA.null,YA.undefined);return LA.isPrimitive=new OA(function(UA){if(null===UA)return!0;var XA=typeof UA;return"object"!=XA&&"function"!=XA},VA.toString()),LA},_h=function(IA){var LA=IA.use(Xf),RA=LA.Type,OA=RA.def,YA=RA.or,MA=IA.use(Ph),VA=MA.defaults,UA=MA.geq;OA("Printable").field("loc",YA(OA("SourceLocation"),null),VA["null"],!0),OA("Node").bases("Printable").field("type",String).field("comments",YA([OA("Comment")],null),VA["null"],!0),OA("SourceLocation").build("start","end","source").field("start",OA("Position")).field("end",OA("Position")).field("source",YA(String,null),VA["null"]),OA("Position").build("line","column").field("line",UA(1)).field("column",UA(0)),OA("File").bases("Node").build("program","name").field("program",OA("Program")).field("name",YA(String,null),VA["null"]),OA("Program").bases("Node").build("body").field("body",[OA("Statement")]),OA("Function").bases("Node").field("id",YA(OA("Identifier"),null),VA["null"]).field("params",[OA("Pattern")]).field("body",OA("BlockStatement")),OA("Statement").bases("Node"),OA("EmptyStatement").bases("Statement").build(),OA("BlockStatement").bases("Statement").build("body").field("body",[OA("Statement")]),OA("ExpressionStatement").bases("Statement").build("expression").field("expression",OA("Expression")),OA("IfStatement").bases("Statement").build("test","consequent","alternate").field("test",OA("Expression")).field("consequent",OA("Statement")).field("alternate",YA(OA("Statement"),null),VA["null"]),OA("LabeledStatement").bases("Statement").build("label","body").field("label",OA("Identifier")).field("body",OA("Statement")),OA("BreakStatement").bases("Statement").build("label").field("label",YA(OA("Identifier"),null),VA["null"]),OA("ContinueStatement").bases("Statement").build("label").field("label",YA(OA("Identifier"),null),VA["null"]),OA("WithStatement").bases("Statement").build("object","body").field("object",OA("Expression")).field("body",OA("Statement")),OA("SwitchStatement").bases("Statement").build("discriminant","cases","lexical").field("discriminant",OA("Expression")).field("cases",[OA("SwitchCase")]).field("lexical",Boolean,VA["false"]),OA("ReturnStatement").bases("Statement").build("argument").field("argument",YA(OA("Expression"),null)),OA("ThrowStatement").bases("Statement").build("argument").field("argument",OA("Expression")),OA("TryStatement").bases("Statement").build("block","handler","finalizer").field("block",OA("BlockStatement")).field("handler",YA(OA("CatchClause"),null),function(){return this.handlers&&this.handlers[0]||null}).field("handlers",[OA("CatchClause")],function(){return this.handler?[this.handler]:[]},!0).field("guardedHandlers",[OA("CatchClause")],VA.emptyArray).field("finalizer",YA(OA("BlockStatement"),null),VA["null"]),OA("CatchClause").bases("Node").build("param","guard","body").field("param",OA("Pattern")).field("guard",YA(OA("Expression"),null),VA["null"]).field("body",OA("BlockStatement")),OA("WhileStatement").bases("Statement").build("test","body").field("test",OA("Expression")).field("body",OA("Statement")),OA("DoWhileStatement").bases("Statement").build("body","test").field("body",OA("Statement")).field("test",OA("Expression")),OA("ForStatement").bases("Statement").build("init","test","update","body").field("init",YA(OA("VariableDeclaration"),OA("Expression"),null)).field("test",YA(OA("Expression"),null)).field("update",YA(OA("Expression"),null)).field("body",OA("Statement")),OA("ForInStatement").bases("Statement").build("left","right","body").field("left",YA(OA("VariableDeclaration"),OA("Expression"))).field("right",OA("Expression")).field("body",OA("Statement")),OA("DebuggerStatement").bases("Statement").build(),OA("Declaration").bases("Statement"),OA("FunctionDeclaration").bases("Function","Declaration").build("id","params","body").field("id",OA("Identifier")),OA("FunctionExpression").bases("Function","Expression").build("id","params","body"),OA("VariableDeclaration").bases("Declaration").build("kind","declarations").field("kind",YA("var","let","const")).field("declarations",[OA("VariableDeclarator")]),OA("VariableDeclarator").bases("Node").build("id","init").field("id",OA("Pattern")).field("init",YA(OA("Expression"),null)),OA("Expression").bases("Node","Pattern"),OA("ThisExpression").bases("Expression").build(),OA("ArrayExpression").bases("Expression").build("elements").field("elements",[YA(OA("Expression"),null)]),OA("ObjectExpression").bases("Expression").build("properties").field("properties",[OA("Property")]),OA("Property").bases("Node").build("kind","key","value").field("kind",YA("init","get","set")).field("key",YA(OA("Literal"),OA("Identifier"))).field("value",OA("Expression")),OA("SequenceExpression").bases("Expression").build("expressions").field("expressions",[OA("Expression")]);var XA=YA("-","+","!","~","typeof","void","delete");OA("UnaryExpression").bases("Expression").build("operator","argument","prefix").field("operator",XA).field("argument",OA("Expression")).field("prefix",Boolean,VA["true"]);var WA=YA("==","!=","===","!==","<","<=",">",">=","<<",">>",">>>","+","-","*","/","%","&","|","^","in","instanceof","..");OA("BinaryExpression").bases("Expression").build("operator","left","right").field("operator",WA).field("left",OA("Expression")).field("right",OA("Expression"));var JA=YA("=","+=","-=","*=","/=","%=","<<=",">>=",">>>=","|=","^=","&=");OA("AssignmentExpression").bases("Expression").build("operator","left","right").field("operator",JA).field("left",OA("Pattern")).field("right",OA("Expression"));var ZA=YA("++","--");OA("UpdateExpression").bases("Expression").build("operator","argument","prefix").field("operator",ZA).field("argument",OA("Expression")).field("prefix",Boolean);var KA=YA("||","&&");OA("LogicalExpression").bases("Expression").build("operator","left","right").field("operator",KA).field("left",OA("Expression")).field("right",OA("Expression")),OA("ConditionalExpression").bases("Expression").build("test","consequent","alternate").field("test",OA("Expression")).field("consequent",OA("Expression")).field("alternate",OA("Expression")),OA("NewExpression").bases("Expression").build("callee","arguments").field("callee",OA("Expression")).field("arguments",[OA("Expression")]),OA("CallExpression").bases("Expression").build("callee","arguments").field("callee",OA("Expression")).field("arguments",[OA("Expression")]),OA("MemberExpression").bases("Expression").build("object","property","computed").field("object",OA("Expression")).field("property",YA(OA("Identifier"),OA("Expression"))).field("computed",Boolean,function(){var QA=this.property.type;return"Literal"===QA||"MemberExpression"===QA||"BinaryExpression"===QA}),OA("Pattern").bases("Node"),OA("SwitchCase").bases("Node").build("test","consequent").field("test",YA(OA("Expression"),null)).field("consequent",[OA("Statement")]),OA("Identifier").bases("Node","Expression","Pattern").build("name").field("name",String),OA("Literal").bases("Node","Expression").build("value").field("value",YA(String,Boolean,null,Number,RegExp)).field("regex",YA({pattern:String,flags:String},null),function(){if(this.value instanceof RegExp){var QA="";return this.value.ignoreCase&&(QA+="i"),this.value.multiline&&(QA+="m"),this.value.global&&(QA+="g"),{pattern:this.value.source,flags:QA}}return null}),OA("Comment").bases("Printable").field("value",String).field("leading",Boolean,VA["true"]).field("trailing",Boolean,VA["false"])},Nh=function(IA){IA.use(_h);var LA=IA.use(Xf),RA=LA.Type.def,OA=LA.Type.or,YA=IA.use(Ph).defaults;RA("Function").field("generator",Boolean,YA["false"]).field("expression",Boolean,YA["false"]).field("defaults",[OA(RA("Expression"),null)],YA.emptyArray).field("rest",OA(RA("Identifier"),null),YA["null"]),RA("RestElement").bases("Pattern").build("argument").field("argument",RA("Pattern")),RA("SpreadElementPattern").bases("Pattern").build("argument").field("argument",RA("Pattern")),RA("FunctionDeclaration").build("id","params","body","generator","expression"),RA("FunctionExpression").build("id","params","body","generator","expression"),RA("ArrowFunctionExpression").bases("Function","Expression").build("params","body","expression").field("id",null,YA["null"]).field("body",OA(RA("BlockStatement"),RA("Expression"))).field("generator",!1,YA["false"]),RA("YieldExpression").bases("Expression").build("argument","delegate").field("argument",OA(RA("Expression"),null)).field("delegate",Boolean,YA["false"]),RA("GeneratorExpression").bases("Expression").build("body","blocks","filter").field("body",RA("Expression")).field("blocks",[RA("ComprehensionBlock")]).field("filter",OA(RA("Expression"),null)),RA("ComprehensionExpression").bases("Expression").build("body","blocks","filter").field("body",RA("Expression")).field("blocks",[RA("ComprehensionBlock")]).field("filter",OA(RA("Expression"),null)),RA("ComprehensionBlock").bases("Node").build("left","right","each").field("left",RA("Pattern")).field("right",RA("Expression")).field("each",Boolean),RA("Property").field("key",OA(RA("Literal"),RA("Identifier"),RA("Expression"))).field("value",OA(RA("Expression"),RA("Pattern"))).field("method",Boolean,YA["false"]).field("shorthand",Boolean,YA["false"]).field("computed",Boolean,YA["false"]),RA("PropertyPattern").bases("Pattern").build("key","pattern").field("key",OA(RA("Literal"),RA("Identifier"),RA("Expression"))).field("pattern",RA("Pattern")).field("computed",Boolean,YA["false"]),RA("ObjectPattern").bases("Pattern").build("properties").field("properties",[OA(RA("PropertyPattern"),RA("Property"))]),RA("ArrayPattern").bases("Pattern").build("elements").field("elements",[OA(RA("Pattern"),null)]),RA("MethodDefinition").bases("Declaration").build("kind","key","value","static").field("kind",OA("constructor","method","get","set")).field("key",OA(RA("Literal"),RA("Identifier"),RA("Expression"))).field("value",RA("Function")).field("computed",Boolean,YA["false"]).field("static",Boolean,YA["false"]),RA("SpreadElement").bases("Node").build("argument").field("argument",RA("Expression")),RA("ArrayExpression").field("elements",[OA(RA("Expression"),RA("SpreadElement"),RA("RestElement"),null)]),RA("NewExpression").field("arguments",[OA(RA("Expression"),RA("SpreadElement"))]),RA("CallExpression").field("arguments",[OA(RA("Expression"),RA("SpreadElement"))]),RA("AssignmentPattern").bases("Pattern").build("left","right").field("left",RA("Pattern")).field("right",RA("Expression"));var MA=OA(RA("MethodDefinition"),RA("VariableDeclarator"),RA("ClassPropertyDefinition"),RA("ClassProperty"));RA("ClassProperty").bases("Declaration").build("key").field("key",OA(RA("Literal"),RA("Identifier"),RA("Expression"))).field("computed",Boolean,YA["false"]),RA("ClassPropertyDefinition").bases("Declaration").build("definition").field("definition",MA),RA("ClassBody").bases("Declaration").build("body").field("body",[MA]),RA("ClassDeclaration").bases("Declaration").build("id","body","superClass").field("id",OA(RA("Identifier"),null)).field("body",RA("ClassBody")).field("superClass",OA(RA("Expression"),null),YA["null"]),RA("ClassExpression").bases("Expression").build("id","body","superClass").field("id",OA(RA("Identifier"),null),YA["null"]).field("body",RA("ClassBody")).field("superClass",OA(RA("Expression"),null),YA["null"]).field("implements",[RA("ClassImplements")],YA.emptyArray),RA("ClassImplements").bases("Node").build("id").field("id",RA("Identifier")).field("superClass",OA(RA("Expression"),null),YA["null"]),RA("Specifier").bases("Node"),RA("ModuleSpecifier").bases("Specifier").field("local",OA(RA("Identifier"),null),YA["null"]).field("id",OA(RA("Identifier"),null),YA["null"]).field("name",OA(RA("Identifier"),null),YA["null"]),RA("TaggedTemplateExpression").bases("Expression").build("tag","quasi").field("tag",RA("Expression")).field("quasi",RA("TemplateLiteral")),RA("TemplateLiteral").bases("Expression").build("quasis","expressions").field("quasis",[RA("TemplateElement")]).field("expressions",[RA("Expression")]),RA("TemplateElement").bases("Node").build("value","tail").field("value",{cooked:String,raw:String}).field("tail",Boolean)},Ih=function(IA){IA.use(Nh);var LA=IA.use(Xf),RA=LA.Type.def,OA=LA.Type.or;LA.builtInTypes;var YA=IA.use(Ph).defaults;RA("Function").field("async",Boolean,YA["false"]),RA("SpreadProperty").bases("Node").build("argument").field("argument",RA("Expression")),RA("ObjectExpression").field("properties",[OA(RA("Property"),RA("SpreadProperty"))]),RA("SpreadPropertyPattern").bases("Pattern").build("argument").field("argument",RA("Pattern")),RA("ObjectPattern").field("properties",[OA(RA("Property"),RA("PropertyPattern"),RA("SpreadPropertyPattern"))]),RA("AwaitExpression").bases("Expression").build("argument","all").field("argument",OA(RA("Expression"),null)).field("all",Boolean,YA["false"])},Lh=function(IA){IA.use(Ih);var LA=IA.use(Xf),RA=LA.Type.def,OA=LA.Type.or,YA=IA.use(Ph).defaults;RA("Type").bases("Node"),RA("AnyTypeAnnotation").bases("Type").build(),RA("EmptyTypeAnnotation").bases("Type").build(),RA("MixedTypeAnnotation").bases("Type").build(),RA("VoidTypeAnnotation").bases("Type").build(),RA("NumberTypeAnnotation").bases("Type").build(),RA("NumberLiteralTypeAnnotation").bases("Type").build("value","raw").field("value",Number).field("raw",String),RA("StringTypeAnnotation").bases("Type").build(),RA("StringLiteralTypeAnnotation").bases("Type").build("value","raw").field("value",String).field("raw",String),RA("BooleanTypeAnnotation").bases("Type").build(),RA("BooleanLiteralTypeAnnotation").bases("Type").build("value","raw").field("value",Boolean).field("raw",String),RA("TypeAnnotation").bases("Node").build("typeAnnotation").field("typeAnnotation",RA("Type")),RA("NullableTypeAnnotation").bases("Type").build("typeAnnotation").field("typeAnnotation",RA("Type")),RA("NullLiteralTypeAnnotation").bases("Type").build(),RA("NullTypeAnnotation").bases("Type").build(),RA("ThisTypeAnnotation").bases("Type").build(),RA("ExistsTypeAnnotation").bases("Type").build(),RA("ExistentialTypeParam").bases("Type").build(),RA("FunctionTypeAnnotation").bases("Type").build("params","returnType","rest","typeParameters").field("params",[RA("FunctionTypeParam")]).field("returnType",RA("Type")).field("rest",OA(RA("FunctionTypeParam"),null)).field("typeParameters",OA(RA("TypeParameterDeclaration"),null)),RA("FunctionTypeParam").bases("Node").build("name","typeAnnotation","optional").field("name",RA("Identifier")).field("typeAnnotation",RA("Type")).field("optional",Boolean),RA("ArrayTypeAnnotation").bases("Type").build("elementType").field("elementType",RA("Type")),RA("ObjectTypeAnnotation").bases("Type").build("properties","indexers","callProperties").field("properties",[RA("ObjectTypeProperty")]).field("indexers",[RA("ObjectTypeIndexer")],YA.emptyArray).field("callProperties",[RA("ObjectTypeCallProperty")],YA.emptyArray).field("exact",Boolean,YA["false"]),RA("ObjectTypeProperty").bases("Node").build("key","value","optional").field("key",OA(RA("Literal"),RA("Identifier"))).field("value",RA("Type")).field("optional",Boolean).field("variance",OA("plus","minus",null),YA["null"]),RA("ObjectTypeIndexer").bases("Node").build("id","key","value").field("id",RA("Identifier")).field("key",RA("Type")).field("value",RA("Type")).field("variance",OA("plus","minus",null),YA["null"]),RA("ObjectTypeCallProperty").bases("Node").build("value").field("value",RA("FunctionTypeAnnotation")).field("static",Boolean,YA["false"]),RA("QualifiedTypeIdentifier").bases("Node").build("qualification","id").field("qualification",OA(RA("Identifier"),RA("QualifiedTypeIdentifier"))).field("id",RA("Identifier")),RA("GenericTypeAnnotation").bases("Type").build("id","typeParameters").field("id",OA(RA("Identifier"),RA("QualifiedTypeIdentifier"))).field("typeParameters",OA(RA("TypeParameterInstantiation"),null)),RA("MemberTypeAnnotation").bases("Type").build("object","property").field("object",RA("Identifier")).field("property",OA(RA("MemberTypeAnnotation"),RA("GenericTypeAnnotation"))),RA("UnionTypeAnnotation").bases("Type").build("types").field("types",[RA("Type")]),RA("IntersectionTypeAnnotation").bases("Type").build("types").field("types",[RA("Type")]),RA("TypeofTypeAnnotation").bases("Type").build("argument").field("argument",RA("Type")),RA("Identifier").field("typeAnnotation",OA(RA("TypeAnnotation"),null),YA["null"]),RA("TypeParameterDeclaration").bases("Node").build("params").field("params",[RA("TypeParameter")]),RA("TypeParameterInstantiation").bases("Node").build("params").field("params",[RA("Type")]),RA("TypeParameter").bases("Type").build("name","variance","bound").field("name",String).field("variance",OA("plus","minus",null),YA["null"]).field("bound",OA(RA("TypeAnnotation"),null),YA["null"]),RA("Function").field("returnType",OA(RA("TypeAnnotation"),null),YA["null"]).field("typeParameters",OA(RA("TypeParameterDeclaration"),null),YA["null"]),RA("ClassProperty").build("key","value","typeAnnotation","static").field("value",OA(RA("Expression"),null)).field("typeAnnotation",OA(RA("TypeAnnotation"),null)).field("static",Boolean,YA["false"]).field("variance",OA("plus","minus",null),YA["null"]),RA("ClassImplements").field("typeParameters",OA(RA("TypeParameterInstantiation"),null),YA["null"]),RA("InterfaceDeclaration").bases("Declaration").build("id","body","extends").field("id",RA("Identifier")).field("typeParameters",OA(RA("TypeParameterDeclaration"),null),YA["null"]).field("body",RA("ObjectTypeAnnotation")).field("extends",[RA("InterfaceExtends")]),RA("DeclareInterface").bases("InterfaceDeclaration").build("id","body","extends"),RA("InterfaceExtends").bases("Node").build("id").field("id",RA("Identifier")).field("typeParameters",OA(RA("TypeParameterInstantiation"),null)),RA("TypeAlias").bases("Declaration").build("id","typeParameters","right").field("id",RA("Identifier")).field("typeParameters",OA(RA("TypeParameterDeclaration"),null)).field("right",RA("Type")),RA("DeclareTypeAlias").bases("TypeAlias").build("id","typeParameters","right"),RA("TypeCastExpression").bases("Expression").build("expression","typeAnnotation").field("expression",RA("Expression")).field("typeAnnotation",RA("TypeAnnotation")),RA("TupleTypeAnnotation").bases("Type").build("types").field("types",[RA("Type")]),RA("DeclareVariable").bases("Statement").build("id").field("id",RA("Identifier")),RA("DeclareFunction").bases("Statement").build("id").field("id",RA("Identifier")),RA("DeclareClass").bases("InterfaceDeclaration").build("id"),RA("DeclareModule").bases("Statement").build("id","body").field("id",OA(RA("Identifier"),RA("Literal"))).field("body",RA("BlockStatement")),RA("DeclareModuleExports").bases("Statement").build("typeAnnotation").field("typeAnnotation",RA("Type")),RA("DeclareExportDeclaration").bases("Declaration").build("default","declaration","specifiers","source").field("default",Boolean).field("declaration",OA(RA("DeclareVariable"),RA("DeclareFunction"),RA("DeclareClass"),RA("Type"),null)).field("specifiers",[OA(RA("ExportSpecifier"),RA("ExportBatchSpecifier"))],YA.emptyArray).field("source",OA(RA("Literal"),null),YA["null"]),RA("DeclareExportAllDeclaration").bases("Declaration").build("source").field("source",OA(RA("Literal"),null),YA["null"])},Rh=function(IA){IA.use(Ih);var LA=IA.use(Xf),RA=IA.use(Ph).defaults,OA=LA.Type.def,YA=LA.Type.or;OA("Noop").bases("Node").build(),OA("DoExpression").bases("Expression").build("body").field("body",[OA("Statement")]),OA("Super").bases("Expression").build(),OA("BindExpression").bases("Expression").build("object","callee").field("object",YA(OA("Expression"),null)).field("callee",OA("Expression")),OA("Decorator").bases("Node").build("expression").field("expression",OA("Expression")),OA("Property").field("decorators",YA([OA("Decorator")],null),RA["null"]),OA("MethodDefinition").field("decorators",YA([OA("Decorator")],null),RA["null"]),OA("MetaProperty").bases("Expression").build("meta","property").field("meta",OA("Identifier")).field("property",OA("Identifier")),OA("ParenthesizedExpression").bases("Expression").build("expression").field("expression",OA("Expression")),OA("ImportSpecifier").bases("ModuleSpecifier").build("imported","local").field("imported",OA("Identifier")),OA("ImportDefaultSpecifier").bases("ModuleSpecifier").build("local"),OA("ImportNamespaceSpecifier").bases("ModuleSpecifier").build("local"),OA("ExportDefaultDeclaration").bases("Declaration").build("declaration").field("declaration",YA(OA("Declaration"),OA("Expression"))),OA("ExportNamedDeclaration").bases("Declaration").build("declaration","specifiers","source").field("declaration",YA(OA("Declaration"),null)).field("specifiers",[OA("ExportSpecifier")],RA.emptyArray).field("source",YA(OA("Literal"),null),RA["null"]),OA("ExportSpecifier").bases("ModuleSpecifier").build("local","exported").field("exported",OA("Identifier")),OA("ExportNamespaceSpecifier").bases("Specifier").build("exported").field("exported",OA("Identifier")),OA("ExportDefaultSpecifier").bases("Specifier").build("exported").field("exported",OA("Identifier")),OA("ExportAllDeclaration").bases("Declaration").build("exported","source").field("exported",YA(OA("Identifier"),null)).field("source",OA("Literal")),OA("CommentBlock").bases("Comment").build("value","leading","trailing"),OA("CommentLine").bases("Comment").build("value","leading","trailing")},Oh=function(IA){function LA(UA){var XA=RA.indexOf(UA);return-1===XA&&(XA=RA.length,RA.push(UA),OA[XA]=UA(YA)),OA[XA]}var RA=[],OA=[],YA={};YA.use=LA;var MA=LA(Xf);IA.forEach(LA),MA.finalize();var VA={Type:MA.Type,builtInTypes:MA.builtInTypes,namedTypes:MA.namedTypes,builders:MA.builders,defineMethod:MA.defineMethod,getFieldNames:MA.getFieldNames,getFieldValue:MA.getFieldValue,eachField:MA.eachField,someField:MA.someField,getSupertypeNames:MA.getSupertypeNames,astNodesAreEquivalent:LA(Wf),finalize:MA.finalize,Path:LA(Kf),NodePath:LA(eh),PathVisitor:LA(Th),use:LA};return VA.visit=VA.PathVisitor.visit,VA}([_h,Nh,Ih,function(IA){IA.use(_h);var LA=IA.use(Xf),RA=LA.Type.def,OA=LA.Type.or,YA=IA.use(Ph),MA=YA.geq,VA=YA.defaults;RA("Function").field("body",OA(RA("BlockStatement"),RA("Expression"))),RA("ForInStatement").build("left","right","body","each").field("each",Boolean,VA["false"]),RA("ForOfStatement").bases("Statement").build("left","right","body").field("left",OA(RA("VariableDeclaration"),RA("Expression"))).field("right",RA("Expression")).field("body",RA("Statement")),RA("LetStatement").bases("Statement").build("head","body").field("head",[RA("VariableDeclarator")]).field("body",RA("Statement")),RA("LetExpression").bases("Expression").build("head","body").field("head",[RA("VariableDeclarator")]).field("body",RA("Expression")),RA("GraphExpression").bases("Expression").build("index","expression").field("index",MA(0)).field("expression",RA("Literal")),RA("GraphIndexExpression").bases("Expression").build("index").field("index",MA(0))},function(IA){IA.use(_h);var LA=IA.use(Xf),RA=LA.Type.def,OA=LA.Type.or;RA("XMLDefaultDeclaration").bases("Declaration").field("namespace",RA("Expression")),RA("XMLAnyName").bases("Expression"),RA("XMLQualifiedIdentifier").bases("Expression").field("left",OA(RA("Identifier"),RA("XMLAnyName"))).field("right",OA(RA("Identifier"),RA("Expression"))).field("computed",Boolean),RA("XMLFunctionQualifiedIdentifier").bases("Expression").field("right",OA(RA("Identifier"),RA("Expression"))).field("computed",Boolean),RA("XMLAttributeSelector").bases("Expression").field("attribute",RA("Expression")),RA("XMLFilterExpression").bases("Expression").field("left",RA("Expression")).field("right",RA("Expression")),RA("XMLElement").bases("XML","Expression").field("contents",[RA("XML")]),RA("XMLList").bases("XML","Expression").field("contents",[RA("XML")]),RA("XML").bases("Node"),RA("XMLEscape").bases("XML").field("expression",RA("Expression")),RA("XMLText").bases("XML").field("text",String),RA("XMLStartTag").bases("XML").field("contents",[RA("XML")]),RA("XMLEndTag").bases("XML").field("contents",[RA("XML")]),RA("XMLPointTag").bases("XML").field("contents",[RA("XML")]),RA("XMLName").bases("XML").field("contents",OA(String,[RA("XML")])),RA("XMLAttribute").bases("XML").field("value",String),RA("XMLCdata").bases("XML").field("contents",String),RA("XMLComment").bases("XML").field("contents",String),RA("XMLProcessingInstruction").bases("XML").field("target",String).field("contents",OA(String,null))},function(IA){IA.use(Ih);var LA=IA.use(Xf),RA=LA.Type.def,OA=LA.Type.or,YA=IA.use(Ph).defaults;RA("JSXAttribute").bases("Node").build("name","value").field("name",OA(RA("JSXIdentifier"),RA("JSXNamespacedName"))).field("value",OA(RA("Literal"),RA("JSXExpressionContainer"),null),YA["null"]),RA("JSXIdentifier").bases("Identifier").build("name").field("name",String),RA("JSXNamespacedName").bases("Node").build("namespace","name").field("namespace",RA("JSXIdentifier")).field("name",RA("JSXIdentifier")),RA("JSXMemberExpression").bases("MemberExpression").build("object","property").field("object",OA(RA("JSXIdentifier"),RA("JSXMemberExpression"))).field("property",RA("JSXIdentifier")).field("computed",Boolean,YA.false);var MA=OA(RA("JSXIdentifier"),RA("JSXNamespacedName"),RA("JSXMemberExpression"));RA("JSXSpreadAttribute").bases("Node").build("argument").field("argument",RA("Expression"));var VA=[OA(RA("JSXAttribute"),RA("JSXSpreadAttribute"))];RA("JSXExpressionContainer").bases("Expression").build("expression").field("expression",RA("Expression")),RA("JSXElement").bases("Expression").build("openingElement","closingElement","children").field("openingElement",RA("JSXOpeningElement")).field("closingElement",OA(RA("JSXClosingElement"),null),YA["null"]).field("children",[OA(RA("JSXElement"),RA("JSXExpressionContainer"),RA("JSXText"),RA("Literal"))],YA.emptyArray).field("name",MA,function(){return this.openingElement.name},!0).field("selfClosing",Boolean,function(){return this.openingElement.selfClosing},!0).field("attributes",VA,function(){return this.openingElement.attributes},!0),RA("JSXOpeningElement").bases("Node").build("name","attributes","selfClosing").field("name",MA).field("attributes",VA,YA.emptyArray).field("selfClosing",Boolean,YA["false"]),RA("JSXClosingElement").bases("Node").build("name").field("name",MA),RA("JSXText").bases("Literal").build("value").field("value",String),RA("JSXEmptyExpression").bases("Expression").build()},Lh,function(IA){IA.use(Ih);var LA=IA.use(Xf),RA=IA.use(Ph).defaults,OA=LA.Type.def,YA=LA.Type.or;OA("VariableDeclaration").field("declarations",[YA(OA("VariableDeclarator"),OA("Identifier"))]),OA("Property").field("value",YA(OA("Expression"),OA("Pattern"))),OA("ArrayPattern").field("elements",[YA(OA("Pattern"),OA("SpreadElement"),null)]),OA("ObjectPattern").field("properties",[YA(OA("Property"),OA("PropertyPattern"),OA("SpreadPropertyPattern"),OA("SpreadProperty"))]),OA("ExportSpecifier").bases("ModuleSpecifier").build("id","name"),OA("ExportBatchSpecifier").bases("Specifier").build(),OA("ImportSpecifier").bases("ModuleSpecifier").build("id","name"),OA("ImportNamespaceSpecifier").bases("ModuleSpecifier").build("id"),OA("ImportDefaultSpecifier").bases("ModuleSpecifier").build("id"),OA("ExportDeclaration").bases("Declaration").build("default","declaration","specifiers","source").field("default",Boolean).field("declaration",YA(OA("Declaration"),OA("Expression"),null)).field("specifiers",[YA(OA("ExportSpecifier"),OA("ExportBatchSpecifier"))],RA.emptyArray).field("source",YA(OA("Literal"),null),RA["null"]),OA("ImportDeclaration").bases("Declaration").build("specifiers","source","importKind").field("specifiers",[YA(OA("ImportSpecifier"),OA("ImportNamespaceSpecifier"),OA("ImportDefaultSpecifier"))],RA.emptyArray).field("source",OA("Literal")).field("importKind",YA("value","type"),function(){return"value"}),OA("Block").bases("Comment").build("value","leading","trailing"),OA("Line").bases("Comment").build("value","leading","trailing")},Rh,function(IA){IA.use(Rh),IA.use(Lh);var LA=IA.use(Xf),RA=IA.use(Ph).defaults,OA=LA.Type.def,YA=LA.Type.or;OA("Directive").bases("Node").build("value").field("value",OA("DirectiveLiteral")),OA("DirectiveLiteral").bases("Node","Expression").build("value").field("value",String,RA["use strict"]),OA("BlockStatement").bases("Statement").build("body").field("body",[OA("Statement")]).field("directives",[OA("Directive")],RA.emptyArray),OA("Program").bases("Node").build("body").field("body",[OA("Statement")]).field("directives",[OA("Directive")],RA.emptyArray),OA("StringLiteral").bases("Literal").build("value").field("value",String),OA("NumericLiteral").bases("Literal").build("value").field("value",Number),OA("NullLiteral").bases("Literal").build(),OA("BooleanLiteral").bases("Literal").build("value").field("value",Boolean),OA("RegExpLiteral").bases("Literal").build("pattern","flags").field("pattern",String).field("flags",String);var MA=YA(OA("Property"),OA("ObjectMethod"),OA("ObjectProperty"),OA("SpreadProperty"));OA("ObjectExpression").bases("Expression").build("properties").field("properties",[MA]),OA("ObjectMethod").bases("Node","Function").build("kind","key","params","body","computed").field("kind",YA("method","get","set")).field("key",YA(OA("Literal"),OA("Identifier"),OA("Expression"))).field("params",[OA("Pattern")]).field("body",OA("BlockStatement")).field("computed",Boolean,RA["false"]).field("generator",Boolean,RA["false"]).field("async",Boolean,RA["false"]).field("decorators",YA([OA("Decorator")],null),RA["null"]),OA("ObjectProperty").bases("Node").build("key","value").field("key",YA(OA("Literal"),OA("Identifier"),OA("Expression"))).field("value",YA(OA("Expression"),OA("Pattern"))).field("computed",Boolean,RA["false"]);var VA=YA(OA("MethodDefinition"),OA("VariableDeclarator"),OA("ClassPropertyDefinition"),OA("ClassProperty"),OA("ClassMethod"));OA("ClassBody").bases("Declaration").build("body").field("body",[VA]),OA("ClassMethod").bases("Declaration","Function").build("kind","key","params","body","computed","static").field("kind",YA("get","set","method","constructor")).field("key",YA(OA("Literal"),OA("Identifier"),OA("Expression"))).field("params",[OA("Pattern")]).field("body",OA("BlockStatement")).field("computed",Boolean,RA["false"]).field("static",Boolean,RA["false"]).field("generator",Boolean,RA["false"]).field("async",Boolean,RA["false"]).field("decorators",YA([OA("Decorator")],null),RA["null"]);var UA=YA(OA("Property"),OA("PropertyPattern"),OA("SpreadPropertyPattern"),OA("SpreadProperty"),OA("ObjectProperty"),OA("RestProperty"));OA("ObjectPattern").bases("Pattern").build("properties").field("properties",[UA]).field("decorators",YA([OA("Decorator")],null),RA["null"]),OA("SpreadProperty").bases("Node").build("argument").field("argument",OA("Expression")),OA("RestProperty").bases("Node").build("argument").field("argument",OA("Expression")),OA("ForAwaitStatement").bases("Statement").build("left","right","body").field("left",YA(OA("VariableDeclaration"),OA("Expression"))).field("right",OA("Expression")).field("body",OA("Statement"))}]);const Yh={type:"break-parent"},Mh=Xi([{type:"line",hard:!0},Yh]),Vh=Xi([{type:"line",hard:!0,literal:!0},Yh]);var Uh={concat:Xi,join:function(LA,RA){var OA=[];for(var YA=0;YA","<=",">=","in","instanceof"],[">>","<<",">>>"],["+","-"],["*","/","%","**"]].forEach(function(IA,LA){IA.forEach(function(RA){$h[RA]=LA})});var Sy={comparePos:function(LA,RA){return LA.line-RA.line||LA.column-RA.column},getPrecedence:function(LA){return $h[LA]},fixFaultyLocations:function(LA,RA){if(LA.decorators)LA.decorators.forEach(function(MA){Ji(LA,MA)});else if(LA.declaration&&Zi(LA)){var OA=LA.declaration.decorators;OA&&OA.forEach(function(MA){Ji(LA,MA)})}else if(Wh.MethodDefinition&&Wh.MethodDefinition.check(LA)||Wh.Property.check(LA)&&(LA.method||LA.shorthand))Wh.FunctionExpression.check(LA.value)&&(LA.value.id=null);else if("ObjectTypeProperty"===LA.type){var YA=Zh(RA,_o(LA),!0);!1!==YA&&","===RA.charAt(YA)&&!1!==(YA=Zh(RA,YA-1,!0))&&Lo(LA,YA)}},isExportDeclaration:Zi,getParentExportDeclaration:function(LA){var RA=LA.getParentNode();return"declaration"===LA.getName()&&Zi(RA)?RA:null},getLast:function(LA){return 0/g,">")}},Ty=Xh,Py=Oh,_y=Py.namedTypes,Ny=Py.builtInTypes.array,Iy=Py.builtInTypes.object,Ly=Uh,Ry=Ly.concat,Oy=Ly.hardline,Yy=Ly.breakParent,My=Ly.indent,Vy=Ly.lineSuffix,Uy=Ly.join,Xy=Sy,Wy=Symbol("child-nodes"),Jy=Xy.locStart,Zy=Xy.locEnd,Ky={attach:function(LA,RA,OA){if(Ny.check(LA)){var YA=[];LA.forEach(function(MA){Oo(RA,MA,OA);const VA=MA.precedingNode,UA=MA.enclosingNode,XA=MA.followingNode;if(Xy.hasNewline(OA,Jy(MA),{backwards:!0}))Qo(UA,XA,MA)||Zo(UA,XA,MA)||Ko(UA,XA,MA)||(XA?Vo(XA,MA):VA?Xo(VA,MA):UA?Uo(UA,MA):Uo(RA,MA));else if(Xy.hasNewline(OA,Zy(MA)))$o(UA,XA,MA)||(VA?Xo(VA,MA):XA?Vo(XA,MA):UA?Uo(UA,MA):Uo(RA,MA));else if(Zo(UA,XA,MA));else if(VA&&XA){const JA=YA.length;if(0{const UA=VA.getValue();UA.leading||UA.trailing||YA.push(Sl(VA))},"comments"),0===YA.length?"":OA?Uy(Oy,YA):My(RA.tabWidth,Ry([Oy,Uy(Oy,YA)]))):""}},Qy="prettier",$y="0.17.0",Sb="Prettier is an opinionated JavaScript formatter",Tb={prettier:"./bin/prettier.js"},Pb={type:"git",url:"git+https://github.com/jlongster/prettier.git"},_b="James Long",Nb="MIT",Lb={url:"https://github.com/jlongster/prettier/issues"},Rb="./index.js",Ob={"ast-types":"0.9.4","babel-code-frame":"6.22.0",babylon:"6.15.0",chalk:"1.1.3",esutils:"2.0.2","flow-parser":"0.38.0","get-stdin":"5.0.1",glob:"7.1.1","jest-validate":"18.2.0",minimist:"1.2.0"},Yb={jest:"18.0.0",rollup:"0.41.1","rollup-plugin-commonjs":"7.0.0","rollup-plugin-json":"2.1.0","rollup-plugin-node-builtins":"2.0.0","rollup-plugin-node-globals":"1.1.0","rollup-plugin-node-resolve":"2.0.0","rollup-plugin-real-babili":"1.0.0-alpha3",diff:"3.2.0"},Mb={test:"jest",format:"./bin/prettier.js --write","format:single":"npm run format -- src/printer.js","format:all":"npm run format -- index.js src/*.js bin/*.js","build:docs":"rollup -c docs/rollup.config.js"},Vb={setupFiles:["/tests_config/run_spec.js"],testRegex:"jsfmt\\.spec\\.js$",testPathIgnorePatterns:["tests/new_react","tests/more_react"]},Ub=Object.freeze({name:Qy,version:$y,description:Sb,bin:Tb,repository:Pb,author:_b,license:Nb,bugs:Lb,main:Rb,dependencies:Ob,devDependencies:Yb,scripts:Mb,jest:Vb,default:{name:Qy,version:$y,description:Sb,bin:Tb,repository:Pb,author:_b,license:Nb,bugs:Lb,main:Rb,dependencies:Ob,devDependencies:Yb,scripts:Mb,jest:Vb}}),Xb=Xh,Wb=Oh,Jb=Sy,Zb=Wb.namedTypes,Kb=Wb.builtInTypes.array,Qb=Wb.builtInTypes.number,$b=_l.prototype;_l.from=function(IA){if(IA instanceof _l)return IA.copy();if(IA instanceof Wb.NodePath){var LA=Object.create(_l.prototype),RA=[IA.value];for(var OA;OA=IA.parentPath;IA=OA)RA.push(IA.name,OA.value);return LA.stack=RA.reverse(),LA}return new _l(IA)},$b.copy=function(){var IA=Object.create(_l.prototype);return IA.stack=this.stack.slice(0),IA},$b.getName=function(){var LA=this.stack,RA=LA.length;return 1UA)return!0;if(MA===UA&&"right"===RA)return Xb.strictEqual(LA.right,OA),!0;default:return!1;}case"SequenceExpression":switch(LA.type){case"ReturnStatement":return!1;case"ForStatement":return!1;case"ExpressionStatement":return"expression"!==RA;default:return!0;}case"YieldExpression":case"AwaitExpression":switch(LA.type){case"TaggedTemplateExpression":case"BinaryExpression":case"LogicalExpression":case"UnaryExpression":case"SpreadElement":case"SpreadProperty":case"NewExpression":case"MemberExpression":return!0;case"CallExpression":return LA.callee===OA;case"ConditionalExpression":return LA.test===OA;default:return!1;}case"ArrayTypeAnnotation":return"NullableTypeAnnotation"===LA.type;case"IntersectionTypeAnnotation":case"UnionTypeAnnotation":return"NullableTypeAnnotation"===LA.type||"IntersectionTypeAnnotation"===LA.type||"UnionTypeAnnotation"===LA.type;case"NullableTypeAnnotation":return"ArrayTypeAnnotation"===LA.type;case"FunctionTypeAnnotation":return"UnionTypeAnnotation"===LA.type||"IntersectionTypeAnnotation"===LA.type;case"NumericLiteral":case"Literal":return"MemberExpression"===LA.type&&Qb.check(OA.value)&&"object"===RA&&LA.object===OA;case"AssignmentExpression":if("ArrowFunctionExpression"===LA.type&&LA.body===OA&&"ObjectPattern"===OA.left.type)return!0;case"ConditionalExpression":switch(LA.type){case"TaggedTemplateExpression":case"UnaryExpression":case"SpreadElement":case"SpreadProperty":case"BinaryExpression":case"LogicalExpression":case"LogicalExpression":case"NewExpression":case"ExportDefaultDeclaration":return!0;case"CallExpression":return"callee"===RA&&LA.callee===OA;case"ConditionalExpression":return"test"===RA&&LA.test===OA;case"MemberExpression":return"object"===RA&&LA.object===OA;default:return Zb.ObjectPattern.check(OA.left)&&this.firstInStatement();}case"FunctionExpression":case"ArrowFunctionExpression":if("CallExpression"===LA.type&&"callee"===RA)return!0;switch(LA.type){case"ConditionalExpression":if(LA.test===OA)return!0;case"ExportDefaultDeclaration":return"ArrowFunctionExpression"!==OA.type;case"ExpressionStatement":case"MemberExpression":case"TaggedTemplateExpression":case"UnaryExpression":return!0;case"NewExpression":return"callee"===RA;case"LogicalExpression":return"ArrowFunctionExpression"===OA.type;default:return Ll(LA);}case"ClassExpression":switch(LA.type){case"TaggedTemplateExpression":case"BinaryExpression":case"ExportDefaultDeclaration":case"ExpressionStatement":return!0;case"CallExpression":if(LA.callee===OA)return!0;case"MemberExpression":return"object"===RA&&LA.object===OA;case"ConditionalExpression":if(LA.test===OA)return!0;}return!1;case"ObjectExpression":if("ArrowFunctionExpression"===LA.type&&"body"===RA)return!0;if("TaggedTemplateExpression"===LA.type)return!0;if("MemberExpression"===LA.type)return"object"===RA&&LA.object===OA;case"StringLiteral":if("ExpressionStatement"===LA.type)return!0;default:if("NewExpression"===LA.type&&"callee"===RA&&LA.callee===OA)return Rl(OA);}return!0!==IA&&!this.canBeFirstInStatement()&&this.firstInStatement()},$b.canBeFirstInStatement=function(){var IA=this.getNode();return!Zb.FunctionExpression.check(IA)&&!Zb.ObjectExpression.check(IA)&&!Zb.ClassExpression.check(IA)&&!(Zb.AssignmentExpression.check(IA)&&Zb.ObjectPattern.check(IA.left))},$b.firstInStatement=function(){var IA=this.stack,LA,RA,OA,YA;for(var MA=IA.length-1;0<=MA;MA-=2)if(Zb.Node.check(IA[MA])&&(OA=LA,YA=RA,LA=IA[MA-1],RA=IA[MA]),RA&&YA){if(Zb.BlockStatement.check(RA)&&"body"===LA&&0===OA)return Xb.strictEqual(RA.body[0],YA),!0;if(Zb.ExpressionStatement.check(RA)&&"expression"===OA)return Xb.strictEqual(RA.expression,YA),!0;if(Zb.SequenceExpression.check(RA)&&"expressions"===LA&&0===OA){Xb.strictEqual(RA.expressions[0],YA);continue}if(Zb.CallExpression.check(RA)&&"callee"===OA){Xb.strictEqual(RA.callee,YA);continue}if(Zb.MemberExpression.check(RA)&&"object"===OA){Xb.strictEqual(RA.object,YA);continue}if(Zb.ConditionalExpression.check(RA)&&"test"===OA){Xb.strictEqual(RA.test,YA);continue}if(Ll(RA)&&"left"===OA){Xb.strictEqual(RA.left,YA);continue}if(Zb.UnaryExpression.check(RA)&&!RA.prefix&&"argument"===OA){Xb.strictEqual(RA.argument,YA);continue}return!1}return!0};var Sg=Xh,Tg=Ky,Pg=_l,_g=Sy,Ng=Kc.keyword.isIdentifierNameES6,Lg=Uh,Rg=Lg.concat,Og=Lg.join,Yg=Lg.line,Mg=Lg.hardline,Vg=Lg.softline,Ug=Lg.literalline,Xg=Lg.group,Wg=Lg.indent,Jg=Lg.conditionalGroup,Zg=Lg.ifBreak,Kg=Lg.breakParent,Qg={isEmpty:function(LA){return"string"==typeof LA&&0===LA.length},getFirstString:function(LA){return Mi(LA,RA=>{if("string"==typeof RA&&0!==RA.trim().length)return RA},null)},willBreak:function(LA){return Mi(LA,RA=>{return"group"===RA.type&&RA.break||"line"===RA.type&&RA.hard||void 0},!1)},isLineNext:function(LA){return Mi(LA,RA=>{return"string"!=typeof RA&&(!("line"!==RA.type)||void 0)},!1)},traverseDoc:Yi,propagateBreaks:function(LA){const RA=[];Yi(LA,OA=>{"break-parent"===OA.type&&Vi(RA),"group"===OA.type&&RA.push(OA)},OA=>{if("group"===OA.type){const YA=RA.pop();YA.break&&Vi(RA)}})}},$g=Qg.willBreak,Sx=Qg.isLineNext,Tx=Qg.getFirstString,Px=Qg.isEmpty,_x=Oh,Nx=_x.namedTypes,Ix=_x.builtInTypes.string;const Lx=1,Rx=2,Ox=/(\\|\"|\')/g,Yx=IA=>IA.replace(Ox,"\\$1"),Mx=Object.prototype.toString,Vx=Date.prototype.toISOString,Ux=Error.prototype.toString,Xx=RegExp.prototype.toString,Wx=Symbol.prototype.toString,Jx=/^Symbol\((.*)\)(.*)$/,Zx=/\n/ig,Kx=Object.getOwnPropertySymbols||(()=>[]),Qx={callToJSON:!0,escapeRegex:!1,highlight:!1,indent:2,maxDepth:Infinity,min:!1,plugins:[],printFunctionName:!0,theme:{content:"reset",prop:"yellow",tag:"cyan",value:"green"}};var $x=function(LA,RA){RA?(Tc(RA),RA=Pc(RA)):RA=Qx;const OA={};Object.keys(RA.theme).forEach(ZA=>{OA[ZA]=RA.highlight?Mu[RA.theme[ZA]]:{close:"",open:""}});let YA,MA;const VA="",UA=0,XA=RA.min?" ":"\n",WA=RA.min?"":"\n";if(RA&&RA.plugins.length){YA=_c(RA.indent),MA=[];const ZA=$d(LA,YA,VA,XA,WA,MA,RA.maxDepth,UA,RA.plugins,RA.min,RA.callToJSON,RA.printFunctionName,RA.escapeRegex,OA);if(ZA)return ZA}const JA=Vd(LA,RA.printFunctionName,RA.escapeRegex);return JA?JA:(YA||(YA=_c(RA.indent)),MA||(MA=[]),Qd(LA,YA,VA,XA,WA,MA,RA.maxDepth,UA,RA.plugins,RA.min,RA.callToJSON,RA.printFunctionName,RA.escapeRegex,OA))},SS=[],TS=[],PS=function(IA,LA){if(IA===LA)return 0;var RA=IA.length,OA=LA.length;if(0===RA)return OA;if(0===OA)return RA;for(var XA=0,WA=0,YA,MA,VA,UA;XAMA?UA>MA?MA+1:UA:UA>VA?VA+1:UA;return MA};const _S=Rm,NS=_S.bold("\u25CF"),IS=`${NS} Deprecation Warning`,LS=`${NS} Validation Error`,RS=`${NS} Validation Warning`,OS=IA=>"function"==typeof IA?IA.toString():$x(IA,{min:!0});class YS extends Error{constructor(IA,LA,RA){super(),RA=RA?"\n\n"+RA:"\n",this.name="",this.message=_S.red(_S.bold(IA)+":\n\n"+LA+RA),Error.captureStackTrace(this,()=>{})}}var MS={DEPRECATION:IS,ERROR:LS,ValidationError:YS,WARNING:RS,createDidYouMeanMessage:(IA,LA)=>{const RA=LA.find(OA=>{const YA=PS(OA,IA);return 3>YA});return RA?`Did you mean ${_S.bold(OS(RA))}?`:""},format:OS,logValidationWarning:(IA,LA,RA)=>{RA=RA?"\n\n"+RA:"\n",console.warn(_S.yellow(_S.bold(IA)+":\n\n"+LA+RA))}};const VS=Rm,US=$x,XS=VS.green,WS=VS.red,JS=["zero","one","two","three","four","five","six","seven","eight","nine","ten","eleven","twelve","thirteen"],ZS=IA=>{if("undefined"==typeof IA)return"undefined";if(null===IA)return"null";if(Array.isArray(IA))return"array";if("boolean"==typeof IA)return"boolean";if("function"==typeof IA)return"function";if("number"==typeof IA)return"number";if("string"==typeof IA)return"string";if("object"==typeof IA)return IA.constructor===RegExp?"regexp":IA.constructor===Map?"map":IA.constructor===Set?"set":"object";if("symbol"==typeof IA)return"symbol";throw new Error(`value of unknown type: ${IA}`)},KS=function(IA){let LA=1WS(KS(IA)),$S=IA=>XS(KS(IA)),SE=(IA,LA,RA)=>{const OA=ZS(LA);return IA+":"+("null"!==OA&&"undefined"!==OA?"\n "+OA+": ":" ")+RA(LA)},TE=(IA,LA)=>{if(LA||(LA="This matcher"),"number"!=typeof IA)throw new Error(_E("[.not]"+LA)+"\n\n"+`Actual value must be a number.\n`+SE("Received",IA,QS))},PE=(IA,LA)=>{if(LA||(LA="This matcher"),"number"!=typeof IA)throw new Error(_E("[.not]"+LA)+"\n\n"+`Expected value must be a number.\n`+SE("Got",IA,$S))},_E=function(IA){let LA=1{if(LA||(LA="This"),"undefined"!=typeof IA)throw new Error(_E("[.not]"+LA,void 0,"")+"\n\nMatcher does not accept any arguments.\n"+SE("Got",IA,$S))},ensureNumbers:(IA,LA,RA)=>{TE(IA,RA),PE(LA,RA)},getType:ZS,matcherHint:_E,pluralize:(IA,LA)=>(JS[LA]||LA)+" "+IA+(1===LA?"":"s"),printExpected:$S,printReceived:QS,printWithType:SE,stringify:KS}.getType;var ME={ValidationError:RE,errorMessage:(IA,LA,RA,OA)=>{const YA=` Option ${NE.bold(`"${IA}"`)} must be of type: +var prettier=function(){function Se(IA,LA){return LA={exports:{}},IA(LA,LA.exports),LA.exports}function Te(){throw new Error("setTimeout has not been defined")}function Pe(){throw new Error("clearTimeout has not been defined")}function _e(IA){if($c===setTimeout)return setTimeout(IA,0);if(($c===Te||!$c)&&setTimeout)return $c=setTimeout,setTimeout(IA,0);try{return $c(IA,0)}catch(LA){try{return $c.call(null,IA,0)}catch(RA){return $c.call(this,IA,0)}}}function Ne(IA){if(Su===clearTimeout)return clearTimeout(IA);if((Su===Pe||!Su)&&clearTimeout)return Su=clearTimeout,clearTimeout(IA);try{return Su(IA)}catch(LA){try{return Su.call(null,IA)}catch(RA){return Su.call(this,IA)}}}function Le(){Pu&&_u&&(Pu=!1,_u.length?Tu=_u.concat(Tu):Nu=-1,Tu.length&&Re())}function Re(){if(!Pu){var IA=_e(Le);Pu=!0;for(var LA=Tu.length;LA;){for(_u=Tu,Tu=[];++Nu>16,VA[XA++]=255&YA>>8,VA[XA++]=255&YA;return 2===MA?(YA=Mm[IA.charCodeAt(LA)]<<2|Mm[IA.charCodeAt(LA+1)]>>4,VA[XA++]=255&YA):1==MA&&(YA=Mm[IA.charCodeAt(LA)]<<10|Mm[IA.charCodeAt(LA+1)]<<4|Mm[IA.charCodeAt(LA+2)]>>2,VA[XA++]=255&YA>>8,VA[XA++]=255&YA),VA}function Je(IA){return Ym[63&IA>>18]+Ym[63&IA>>12]+Ym[63&IA>>6]+Ym[63&IA]}function Ze(IA,LA,RA){var OA,YA=[];for(var MA=LA;MAXA?XA:UA+VA));return 1==OA?(LA=IA[RA-1],YA+=Ym[LA>>2],YA+=Ym[63&LA<<4],YA+="=="):2==OA&&(LA=(IA[RA-2]<<8)+IA[RA-1],YA+=Ym[LA>>10],YA+=Ym[63&LA>>4],YA+=Ym[63&LA<<2],YA+="="),MA.push(YA),MA.join("")}function Qe(IA,LA,RA,OA,YA){var MA,VA,UA=8*YA-OA-1,XA=(1<>1,JA=-7,ZA=RA?YA-1:0,KA=RA?-1:1,QA=IA[LA+ZA];for(ZA+=KA,MA=QA&(1<<-JA)-1,QA>>=-JA,JA+=UA;0>=-JA,JA+=OA;0>1,KA=23===YA?Math.pow(2,-24)-Math.pow(2,-77):0,QA=OA?0:MA-1,$A=OA?1:-1,SP=0>LA||0===LA&&0>1/LA?1:0;for(LA=Math.abs(LA),isNaN(LA)||LA===Infinity?(UA=isNaN(LA)?1:0,VA=JA):(VA=Math.floor(Math.log(LA)/Math.LN2),1>LA*(XA=Math.pow(2,-VA))&&(VA--,XA*=2),LA+=1<=VA+ZA?KA/XA:KA*Math.pow(2,1-ZA),2<=LA*XA&&(VA++,XA/=2),VA+ZA>=JA?(UA=0,VA=JA):1<=VA+ZA?(UA=(LA*XA-1)*Math.pow(2,YA),VA+=ZA):(UA=LA*Math.pow(2,ZA-1)*Math.pow(2,YA),VA=0));8<=YA;IA[RA+QA]=255&UA,QA+=$A,UA/=256,YA-=8);for(VA=VA<IA)throw new RangeError("\"size\" argument must not be negative")}function It(IA,LA,RA,OA){return Nt(LA),0>=LA?Tt(IA,LA):void 0===RA?Tt(IA,LA):"string"==typeof OA?Tt(IA,LA).fill(RA,OA):Tt(IA,LA).fill(RA)}function Lt(IA,LA){if(Nt(LA),IA=Tt(IA,0>LA?0:0|Vt(LA)),!Pt.TYPED_ARRAY_SUPPORT)for(var RA=0;RALA.length?0:0|Vt(LA.length);IA=Tt(IA,RA);for(var OA=0;OARA||LA.byteLength=St())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+St().toString(16)+" bytes");return 0|IA}function Ut(IA){return!!(null!=IA&&IA._isBuffer)}function Xt(IA,LA){if(Ut(IA))return IA.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(IA)||IA instanceof ArrayBuffer))return IA.byteLength;"string"!=typeof IA&&(IA=""+IA);var RA=IA.length;if(0===RA)return 0;for(var OA=!1;;)switch(LA){case"ascii":case"latin1":case"binary":return RA;case"utf8":case"utf-8":case void 0:return Pn(IA).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*RA;case"hex":return RA>>>1;case"base64":return Ln(IA).length;default:if(OA)return Pn(IA).length;LA=(""+LA).toLowerCase(),OA=!0;}}function Wt(IA,LA,RA){var OA=!1;if((void 0===LA||0>LA)&&(LA=0),LA>this.length)return"";if((void 0===RA||RA>this.length)&&(RA=this.length),0>=RA)return"";if(RA>>>=0,LA>>>=0,RA<=LA)return"";for(IA||(IA="utf8");!0;)switch(IA){case"hex":return Ma(this,LA,RA);case"utf8":case"utf-8":return La(this,LA,RA);case"ascii":return Oa(this,LA,RA);case"latin1":case"binary":return Ya(this,LA,RA);case"base64":return Na(this,LA,RA);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Va(this,LA,RA);default:if(OA)throw new TypeError("Unknown encoding: "+IA);IA=(IA+"").toLowerCase(),OA=!0;}}function Jt(IA,LA,RA){var OA=IA[LA];IA[LA]=IA[RA],IA[RA]=OA}function Zt(IA,LA,RA,OA,YA){if(0===IA.length)return-1;if("string"==typeof RA?(OA=RA,RA=0):2147483647RA&&(RA=-2147483648),RA=+RA,isNaN(RA)&&(RA=YA?0:IA.length-1),0>RA&&(RA=IA.length+RA),RA>=IA.length){if(YA)return-1;RA=IA.length-1}else if(0>RA)if(YA)RA=0;else return-1;if("string"==typeof LA&&(LA=Pt.from(LA,OA)),Ut(LA))return 0===LA.length?-1:Kt(IA,LA,RA,OA,YA);if("number"==typeof LA)return LA&=255,Pt.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?YA?Uint8Array.prototype.indexOf.call(IA,LA,RA):Uint8Array.prototype.lastIndexOf.call(IA,LA,RA):Kt(IA,[LA],RA,OA,YA);throw new TypeError("val must be string, number or Buffer")}function Kt(IA,LA,RA,OA,YA){function MA(QA,$A){return 1===VA?QA[$A]:QA.readUInt16BE($A*VA)}var VA=1,UA=IA.length,XA=LA.length;if(void 0!==OA&&(OA=(OA+"").toLowerCase(),"ucs2"===OA||"ucs-2"===OA||"utf16le"===OA||"utf-16le"===OA)){if(2>IA.length||2>LA.length)return-1;VA=2,UA/=2,XA/=2,RA/=2}var WA;if(YA){var JA=-1;for(WA=RA;WAUA&&(RA=UA-XA),WA=RA;0<=WA;WA--){var ZA=!0;for(var KA=0;KAYA&&(OA=YA)):OA=YA;var MA=LA.length;if(0!=MA%2)throw new TypeError("Invalid hex string");OA>MA/2&&(OA=MA/2);for(var VA=0;VAMA&&(VA=MA):2==UA?(XA=IA[YA+1],128==(192&XA)&&(ZA=(31&MA)<<6|63&XA,127ZA||57343ZA&&(VA=ZA))):void 0}null===VA?(VA=65533,UA=1):65535>>10),VA=56320|1023&VA),OA.push(VA),YA+=UA}return Ra(OA)}function Ra(IA){var LA=IA.length;if(LA<=Jm)return String.fromCharCode.apply(String,IA);for(var RA="",OA=0;OALA)&&(LA=0),(!RA||0>RA||RA>OA)&&(RA=OA);var YA="";for(var MA=LA;MAIA)throw new RangeError("offset is not uint");if(IA+LA>RA)throw new RangeError("Trying to access beyond buffer length")}function Xa(IA,LA,RA,OA,YA,MA){if(!Ut(IA))throw new TypeError("\"buffer\" argument must be a Buffer instance");if(LA>YA||LAIA.length)throw new RangeError("Index out of range")}function Wa(IA,LA,RA,OA){0>LA&&(LA=65535+LA+1);for(var YA=0,MA=Math.min(IA.length-RA,2);YA>>8*(OA?YA:1-YA)}function Ja(IA,LA,RA,OA){0>LA&&(LA=4294967295+LA+1);for(var YA=0,MA=Math.min(IA.length-RA,4);YA>>8*(OA?YA:3-YA)}function Za(IA,LA,RA,OA){if(RA+OA>IA.length)throw new RangeError("Index out of range");if(0>RA)throw new RangeError("Index out of range")}function Ka(IA,LA,RA,OA,YA){return YA||Za(IA,LA,RA,4,3.4028234663852886e38,-3.4028234663852886e38),$e(IA,LA,RA,OA,23,4),RA+4}function Qa(IA,LA,RA,OA,YA){return YA||Za(IA,LA,RA,8,1.7976931348623157e308,-1.7976931348623157e308),$e(IA,LA,RA,OA,52,8),RA+8}function $a(IA){if(IA=Sn(IA).replace(Zm,""),2>IA.length)return"";for(;0!=IA.length%4;)IA+="=";return IA}function Sn(IA){return IA.trim?IA.trim():IA.replace(/^\s+|\s+$/g,"")}function Tn(IA){return 16>IA?"0"+IA.toString(16):IA.toString(16)}function Pn(IA,LA){LA=LA||Infinity;var RA,OA=IA.length,YA=null,MA=[];for(var VA=0;VARA){if(!YA){if(56319RA){-1<(LA-=3)&&MA.push(239,191,189),YA=RA;continue}RA=(YA-55296<<10|RA-56320)+65536}else YA&&-1<(LA-=3)&&MA.push(239,191,189);if(YA=null,128>RA){if(0>(LA-=1))break;MA.push(RA)}else if(2048>RA){if(0>(LA-=2))break;MA.push(192|RA>>6,128|63&RA)}else if(65536>RA){if(0>(LA-=3))break;MA.push(224|RA>>12,128|63&RA>>6,128|63&RA)}else if(1114112>RA){if(0>(LA-=4))break;MA.push(240|RA>>18,128|63&RA>>12,128|63&RA>>6,128|63&RA)}else throw new Error("Invalid code point")}return MA}function _n(IA){var LA=[];for(var RA=0;RA(LA-=2));++VA)RA=IA.charCodeAt(VA),OA=RA>>8,YA=RA%256,MA.push(YA),MA.push(OA);return MA}function Ln(IA){return We($a(IA))}function Rn(IA,LA,RA,OA){for(var YA=0;YA=LA.length||YA>=IA.length);++YA)LA[YA+RA]=IA[YA];return YA}function On(IA){return IA!==IA}function Yn(IA){return null!=IA&&(!!IA._isBuffer||Mn(IA)||Vn(IA))}function Mn(IA){return!!IA.constructor&&"function"==typeof IA.constructor.isBuffer&&IA.constructor.isBuffer(IA)}function Vn(IA){return"function"==typeof IA.readFloatLE&&"function"==typeof IA.slice&&Mn(IA.slice(0,0))}function Un(IA,LA){var RA={seen:[],stylize:Wn};return 3<=arguments.length&&(RA.depth=arguments[2]),4<=arguments.length&&(RA.colors=arguments[3]),_r(LA)?RA.showHidden=LA:LA&&Zr(RA,LA),Or(RA.showHidden)&&(RA.showHidden=!1),Or(RA.depth)&&(RA.depth=2),Or(RA.colors)&&(RA.colors=!1),Or(RA.customInspect)&&(RA.customInspect=!0),RA.colors&&(RA.stylize=Xn),Zn(RA,IA,RA.depth)}function Xn(IA,LA){var RA=Un.styles[LA];return RA?"\x1B["+Un.colors[RA][0]+"m"+IA+"\x1B["+Un.colors[RA][1]+"m":IA}function Wn(IA){return IA}function Jn(IA){var LA={};return IA.forEach(function(RA){LA[RA]=!0}),LA}function Zn(IA,LA,RA){if(IA.customInspect&&LA&&Xr(LA.inspect)&&LA.inspect!==Un&&!(LA.constructor&&LA.constructor.prototype===LA)){var OA=LA.inspect(RA,IA);return Rr(OA)||(OA=Zn(IA,OA,RA)),OA}var YA=Kn(IA,LA);if(YA)return YA;var MA=Object.keys(LA),VA=Jn(MA);if(IA.showHidden&&(MA=Object.getOwnPropertyNames(LA)),Ur(LA)&&(0<=MA.indexOf("message")||0<=MA.indexOf("description")))return Qn(LA);if(0===MA.length){if(Xr(LA)){var UA=LA.name?": "+LA.name:"";return IA.stylize("[Function"+UA+"]","special")}if(Yr(LA))return IA.stylize(RegExp.prototype.toString.call(LA),"regexp");if(Vr(LA))return IA.stylize(Date.prototype.toString.call(LA),"date");if(Ur(LA))return Qn(LA)}var XA="",WA=!1,JA=["{","}"];if(Pr(LA)&&(WA=!0,JA=["[","]"]),Xr(LA)){var ZA=LA.name?": "+LA.name:"";XA=" [Function"+ZA+"]"}if(Yr(LA)&&(XA=" "+RegExp.prototype.toString.call(LA)),Vr(LA)&&(XA=" "+Date.prototype.toUTCString.call(LA)),Ur(LA)&&(XA=" "+Qn(LA)),0===MA.length&&(!WA||0==LA.length))return JA[0]+XA+JA[1];if(0>RA)return Yr(LA)?IA.stylize(RegExp.prototype.toString.call(LA),"regexp"):IA.stylize("[Object]","special");IA.seen.push(LA);var KA;return KA=WA?$n(IA,LA,RA,VA,MA):MA.map(function(QA){return Sr(IA,LA,RA,VA,QA,WA)}),IA.seen.pop(),Tr(KA,XA,JA)}function Kn(IA,LA){if(Or(LA))return IA.stylize("undefined","undefined");if(Rr(LA)){var RA="'"+JSON.stringify(LA).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,"\"")+"'";return IA.stylize(RA,"string")}return Lr(LA)?IA.stylize(""+LA,"number"):_r(LA)?IA.stylize(""+LA,"boolean"):Nr(LA)?IA.stylize("null","null"):void 0}function Qn(IA){return"["+Error.prototype.toString.call(IA)+"]"}function $n(IA,LA,RA,OA,YA){var MA=[];for(var VA=0,UA=LA.length;VAIA.seen.indexOf(XA.value)?(UA=Nr(RA)?Zn(IA,XA.value,null):Zn(IA,XA.value,RA-1),-1Po(LA)-Po(IA)&&No(IA,Po(LA)),0>_o(IA)-_o(LA)&&Lo(IA,_o(LA))}function Zi(IA){if(IA)switch(IA.type){case"ExportDeclaration":case"ExportDefaultDeclaration":case"ExportDefaultSpecifier":case"DeclareExportDeclaration":case"ExportNamedDeclaration":case"ExportAllDeclaration":return!0;}return!1}function Ki(IA){return(LA,RA,OA)=>{const YA=OA&&OA.backwards;if(!1===RA)return!1;const MA=LA.length;let VA=RA;for(;0<=VA&&VA=Zy(RA[OA])-Jy(IA));--OA);return void RA.splice(OA+1,0,IA)}}else if(IA[Wy])return IA[Wy];var YA;if(Ny.check(IA))YA=Object.keys(IA);else if(Iy.check(IA))YA=Py.getFieldNames(IA);else return;RA||Object.defineProperty(IA,Wy,{value:RA=[],enumerable:!1});for(var OA=0,MA=YA.length;OA>1,WA=OA[XA];if(0>=Jy(WA)-Jy(LA)&&0>=Zy(LA)-Zy(WA))return LA.enclosingNode=WA,void Oo(WA,LA,RA);if(0>=Zy(WA)-Jy(LA)){YA=WA,VA=XA+1;continue}if(0>=Zy(LA)-Jy(WA)){MA=WA,UA=XA;continue}throw new Error("Comment location overlaps with node location")}YA&&(LA.precedingNode=YA),MA&&(LA.followingNode=MA)}function Yo(IA,LA){var RA=IA.length;if(0!==RA){var OA=IA[0].precedingNode,YA=IA[0].followingNode,MA=Jy(YA);for(var VA=RA;0--LA)return YA}return null}function Ll(IA){return Zb.BinaryExpression.check(IA)||Zb.LogicalExpression.check(IA)}function Rl(IA){return!!Zb.CallExpression.check(IA)||(Kb.check(IA)?IA.some(Rl):!!Zb.Node.check(IA)&&Wb.someField(IA,function(LA,RA){return Rl(RA)}))}function Ol(IA,LA,RA){Sg.ok(IA instanceof Pg);var OA=IA.getValue(),YA=[],MA=!1,VA=Yl(IA,LA,RA);if(!OA||Px(VA))return VA;if(OA.comments&&0");const JP=IA.call(RA,"body"),ZP=Rg([Rg(YA)," ",JP]);return"ArrayExpression"===OA.body.type||"ObjectExpression"===OA.body.type||"JSXElement"===OA.body.type||"BlockStatement"===OA.body.type?Xg(ZP):Xg(Jg([ZP,Rg([Rg(YA),Wg(LA.tabWidth,Rg([Yg,JP]))])]),{shouldBreak:$g(JP)});case"MethodDefinition":return OA.static&&YA.push("static "),YA.push(Ul(IA,LA,RA)),Rg(YA);case"YieldExpression":return YA.push("yield"),OA.delegate&&YA.push("*"),OA.argument&&YA.push(" ",IA.call(RA,"argument")),Rg(YA);case"AwaitExpression":return YA.push("await"),OA.all&&YA.push("*"),OA.argument&&YA.push(" ",IA.call(RA,"argument")),Rg(YA);case"ModuleDeclaration":return YA.push("module",IA.call(RA,"id")),OA.source?(Sg.ok(!OA.body),YA.push("from",IA.call(RA,"source"))):YA.push(IA.call(RA,"body")),Og(" ",YA);case"ImportSpecifier":return OA.imported?(OA.importKind&&YA.push(IA.call(RA,"importKind")," "),YA.push(IA.call(RA,"imported")),OA.local&&OA.local.name!==OA.imported.name&&YA.push(" as ",IA.call(RA,"local"))):OA.id&&(YA.push(IA.call(RA,"id")),OA.name&&YA.push(" as ",IA.call(RA,"name"))),Rg(YA);case"ExportSpecifier":return OA.local?(YA.push(IA.call(RA,"local")),OA.exported&&OA.exported.name!==OA.local.name&&YA.push(" as ",IA.call(RA,"exported"))):OA.id&&(YA.push(IA.call(RA,"id")),OA.name&&YA.push(" as ",IA.call(RA,"name"))),Rg(YA);case"ExportBatchSpecifier":return"*";case"ImportNamespaceSpecifier":return YA.push("* as "),OA.local?YA.push(IA.call(RA,"local")):OA.id&&YA.push(IA.call(RA,"id")),Rg(YA);case"ImportDefaultSpecifier":return OA.local?IA.call(RA,"local"):IA.call(RA,"id");case"ExportDeclaration":case"ExportDefaultDeclaration":case"ExportNamedDeclaration":return Kl(IA,LA,RA);case"ExportAllDeclaration":return YA.push("export *"),OA.exported&&YA.push(" as ",IA.call(RA,"exported")),YA.push(" from ",IA.call(RA,"source"),";"),Rg(YA);case"ExportNamespaceSpecifier":return Rg(["* as ",IA.call(RA,"exported")]);case"ExportDefaultSpecifier":return IA.call(RA,"exported");case"ImportDeclaration":YA.push("import ");const KP=[];OA.importKind&&"value"!==OA.importKind&&YA.push(OA.importKind+" ");var MA=[],VA=[];return OA.specifiers&&0N_.leading)?YA.push(Rg([" (",Wg(LA.tabWidth,Rg([Vg,IA.call(RA,"argument")])),Yg,")"])):OA.argument&&YA.push(" ",IA.call(RA,"argument")),YA.push(";"),Rg(YA);case"CallExpression":return IA.getParentNode(),"MemberExpression"===OA.callee.type?Np(IA,LA,RA):Rg([IA.call(RA,"callee"),Xl(IA,LA,RA)]);case"ObjectExpression":case"ObjectPattern":case"ObjectTypeAnnotation":var WA="ObjectTypeAnnotation"===OA.type,JA=WA?",":",",ZA=[],KA=OA.exact?"{|":"{",QA=OA.exact?"|}":"}",XA=IA.getParentNode(0),$A="UnionTypeAnnotation"===XA.type;WA&&ZA.push("indexers","callProperties"),ZA.push("properties");var SP=[];let QP=[];ZA.forEach(function(N_){IA.each(function(I_){SP.push(Rg(QP)),SP.push(Xg(RA(I_))),QP=[JA,Yg],_g.isNextLineEmpty(LA.originalText,I_.getValue())&&QP.push(Mg)},N_)});const $P=_g.getLast(OA.properties),S_=!($P&&"RestProperty"===$P.type),T_=_g.hasNewlineInRange(LA.originalText,_g.locStart(OA),_g.locEnd(OA));return 0===SP.length?Xg(Rg(["{",Tg.printDanglingComments(IA,LA),Vg,"}"])):Xg(Rg([KA,Wg(LA.tabWidth+($A?2:0),Rg([LA.bracketSpacing?Yg:Vg,Rg(SP)])),Zg(S_&&LA.trailingComma?",":""),Wg($A?2:0,Rg([LA.bracketSpacing?Yg:Vg,QA])),IA.call(RA,"typeAnnotation")]),{shouldBreak:T_});case"PropertyPattern":return Rg([IA.call(RA,"key"),": ",IA.call(RA,"pattern")]);case"ObjectProperty":case"Property":return OA.method||"get"===OA.kind||"set"===OA.kind?Ul(IA,LA,RA):(OA.shorthand?YA.push(IA.call(RA,"value")):(OA.computed?YA.push("[",IA.call(RA,"key"),"]"):YA.push(Vl(IA,LA,RA)),YA.push(Rg([": ",IA.call(RA,"value")]))),Rg(YA));case"ClassMethod":return OA.static&&YA.push("static "),YA=YA.concat(Jl(IA,LA,RA)),Rg(YA);case"ObjectMethod":return Jl(IA,LA,RA);case"Decorator":return Rg(["@",IA.call(RA,"expression")]);case"ArrayExpression":case"ArrayPattern":if(0===OA.elements.length)YA.push(Xg(Rg(["[",Tg.printDanglingComments(IA,LA),Vg,"]"])));else{const N_=_g.getLast(OA.elements),I_=!(N_&&"RestElement"===N_.type),L_=I_&&null===N_;var TP=[];let R_=[];IA.each(function(O_){TP.push(Rg(R_)),TP.push(Xg(RA(O_))),R_=[",",Yg],O_.getValue()&&_g.isNextLineEmpty(LA.originalText,O_.getValue())&&R_.push(Vg)},"elements"),YA.push(Xg(Rg(["[",Wg(LA.tabWidth,Rg([Vg,Rg(TP)])),L_?",":"",Zg(I_&&!L_&&LA.trailingComma?",":""),Vg,"]"])))}return OA.typeAnnotation&&YA.push(IA.call(RA,"typeAnnotation")),Rg(YA);case"SequenceExpression":return Og(", ",IA.map(RA,"expressions"));case"ThisExpression":return"this";case"Super":return"super";case"NullLiteral":return"null";case"RegExpLiteral":return OA.extra.raw;case"NumericLiteral":return Sd(OA.extra.raw);case"BooleanLiteral":case"StringLiteral":case"Literal":return"number"==typeof OA.value?Sd(OA.raw):"string"==typeof OA.value?Qp(OA,LA):""+OA.value;case"Directive":return IA.call(RA,"value");case"DirectiveLiteral":return Qp(OA,LA);case"ModuleSpecifier":if(OA.local)throw new Error("The ESTree ModuleSpecifier type should be abstract");return Qp(OA,LA);case"UnaryExpression":return YA.push(OA.operator),/[a-z]$/.test(OA.operator)&&YA.push(" "),YA.push(IA.call(RA,"argument")),Rg(YA);case"UpdateExpression":return YA.push(IA.call(RA,"argument"),OA.operator),OA.prefix&&YA.reverse(),Rg(YA);case"ConditionalExpression":return Xg(Rg([IA.call(RA,"test"),Wg(LA.tabWidth,Rg([Yg,"? ",Wg(2,IA.call(RA,"consequent")),Yg,": ",Wg(2,IA.call(RA,"alternate"))]))]));case"NewExpression":YA.push("new ",IA.call(RA,"callee"));var PP=OA.arguments;return PP&&YA.push(Xl(IA,LA,RA)),Rg(YA);case"VariableDeclaration":var _P=IA.map(function(N_){return RA(N_)},"declarations");YA=[OA.kind," ",_P[0],Wg(LA.tabWidth,Rg(_P.slice(1).map(N_=>Rg([",",Yg,N_]))))];var NP=IA.getParentNode(),IP=Nx.ForStatement.check(NP)||Nx.ForInStatement.check(NP)||Nx.ForOfStatement&&Nx.ForOfStatement.check(NP)||Nx.ForAwaitStatement&&Nx.ForAwaitStatement.check(NP);return IP&&NP.body!==OA||YA.push(";"),Xg(Rg(YA));case"VariableDeclarator":return OA.init?Rg([IA.call(RA,"id")," = ",IA.call(RA,"init")]):IA.call(RA,"id");case"WithStatement":return Rg(["with (",IA.call(RA,"object"),")",Jp(IA.call(RA,"body"),LA)]);case"IfStatement":const P_=Jp(IA.call(RA,"consequent"),LA);if(YA=["if (",Xg(Rg([Wg(LA.tabWidth,Rg([Vg,IA.call(RA,"test")])),Vg])),")",P_],OA.alternate){const N_=Zp(P_),I_=Kp(P_);N_&&!I_?YA.push(" else"):YA.push(Jg([Rg([Mg,"else"])])),YA.push(Jp(IA.call(RA,"alternate"),LA,"IfStatement"===OA.alternate.type))}return Xg(Rg(YA));case"ForStatement":{const N_=Jp(IA.call(RA,"body"),LA);return OA.init||OA.test||OA.update?Rg(["for (",Xg(Rg([Wg(LA.tabWidth,Rg([Vg,IA.call(RA,"init"),";",Yg,IA.call(RA,"test"),";",Yg,IA.call(RA,"update")])),Vg])),")",N_]):Rg(["for (;;)",N_])}case"WhileStatement":return Rg(["while (",Xg(Rg([Wg(LA.tabWidth,Rg([Vg,IA.call(RA,"test")])),Vg])),")",Jp(IA.call(RA,"body"),LA)]);case"ForInStatement":return Rg([OA.each?"for each (":"for (",IA.call(RA,"left")," in ",IA.call(RA,"right"),")",Jp(IA.call(RA,"body"),LA)]);case"ForOfStatement":return Rg(["for (",IA.call(RA,"left")," of ",IA.call(RA,"right"),")",Jp(IA.call(RA,"body"),LA)]);case"ForAwaitStatement":return Rg(["for await (",IA.call(RA,"left")," of ",IA.call(RA,"right"),")",Jp(IA.call(RA,"body"),LA)]);case"DoWhileStatement":var LP=Jp(IA.call(RA,"body"),LA),RP=Rg(["do",LP]),YA=[RP];const __=Zp(LP);return __?YA.push(" while"):YA.push(Rg([Yg,"while"])),YA.push(" (",IA.call(RA,"test"),");"),Rg(YA);case"DoExpression":var OP=IA.call(function(N_){return Ml(N_,LA,RA)},"body");return Rg(["do {\n",OP.indent(LA.tabWidth),"\n}"]);case"BreakStatement":return YA.push("break"),OA.label&&YA.push(" ",IA.call(RA,"label")),YA.push(";"),Rg(YA);case"ContinueStatement":return YA.push("continue"),OA.label&&YA.push(" ",IA.call(RA,"label")),YA.push(";"),Rg(YA);case"LabeledStatement":return"EmptyStatement"===OA.body.type?Rg([IA.call(RA,"label"),":;"]):Rg([IA.call(RA,"label"),":",Mg,IA.call(RA,"body")]);case"TryStatement":return YA.push("try ",IA.call(RA,"block")),OA.handler?YA.push(" ",IA.call(RA,"handler")):OA.handlers&&IA.each(function(N_){YA.push(" ",RA(N_))},"handlers"),OA.finalizer&&YA.push(" finally ",IA.call(RA,"finalizer")),Rg(YA);case"CatchClause":return YA.push("catch (",IA.call(RA,"param")),OA.guard&&YA.push(" if ",IA.call(RA,"guard")),YA.push(") ",IA.call(RA,"body")),Rg(YA);case"ThrowStatement":return Rg(["throw ",IA.call(RA,"argument"),";"]);case"SwitchStatement":return Rg(["switch (",IA.call(RA,"discriminant"),") {",0"EmptyStatement"!==N_.type)){const N_=IA.call(function(I_){return Ml(I_,LA,RA)},"consequent");YA.push(Zp(N_)?Rg([" ",N_]):Wg(LA.tabWidth,Rg([Mg,N_])))}return Rg(YA);case"DebuggerStatement":return"debugger;";case"JSXAttribute":if(YA.push(IA.call(RA,"name")),OA.value){let N_;N_=("StringLiteral"===OA.value.type||"Literal"===OA.value.type)&&"string"==typeof OA.value.value?"\""+_g.htmlEscapeInsideDoubleQuote(OA.value.value)+"\"":IA.call(RA,"value"),YA.push("=",N_)}return Rg(YA);case"JSXIdentifier":return""+OA.name;case"JSXNamespacedName":return Og(":",[IA.call(RA,"namespace"),IA.call(RA,"name")]);case"JSXMemberExpression":return Og(".",[IA.call(RA,"object"),IA.call(RA,"property")]);case"JSXSpreadAttribute":return Rg(["{...",IA.call(RA,"argument"),"}"]);case"JSXExpressionContainer":{const N_=IA.getParentNode(0),I_="ArrayExpression"===OA.expression.type||"ObjectExpression"===OA.expression.type||"ArrowFunctionExpression"===OA.expression.type||"CallExpression"===OA.expression.type||"FunctionExpression"===OA.expression.type||"JSXEmptyExpression"===OA.expression.type||"JSXElement"===N_.type&&("ConditionalExpression"===OA.expression.type||"LogicalExpression"===OA.expression.type);return I_?Xg(Rg(["{",IA.call(RA,"expression"),"}"])):Xg(Rg(["{",Wg(LA.tabWidth,Rg([Vg,IA.call(RA,"expression")])),Vg,"}"]))}case"JSXElement":{const N_=Yp(IA,LA,RA);return Mp(IA,N_,LA)}case"JSXOpeningElement":{const N_=IA.getValue();return 1===N_.attributes.length&&N_.attributes[0].value&&"Literal"===N_.attributes[0].value.type&&"string"==typeof N_.attributes[0].value.value?Xg(Rg(["<",IA.call(RA,"name")," ",Rg(IA.map(RA,"attributes")),N_.selfClosing?" />":">"])):Xg(Rg(["<",IA.call(RA,"name"),Rg([Wg(LA.tabWidth,Rg(IA.map(I_=>Rg([Yg,RA(I_)]),"attributes"))),N_.selfClosing?Yg:LA.jsxBracketSameLine?">":Vg]),N_.selfClosing?"/>":LA.jsxBracketSameLine?"":">"]))}case"JSXClosingElement":return Rg([""]);case"JSXText":throw new Error("JSXTest should be handled by JSXElement");case"JSXEmptyExpression":return Rg([Tg.printDanglingComments(IA,LA,!0),Vg]);case"TypeAnnotatedIdentifier":return Rg([IA.call(RA,"annotation")," ",IA.call(RA,"identifier")]);case"ClassBody":return OA.comments||0!==OA.body.length?Rg(["{",0 ":": ",IA.call(RA,"returnType"),IA.call(RA,"predicate")),Rg(YA);case"FunctionTypeParam":return Rg([IA.call(RA,"name"),OA.optional?"?":"",OA.name?": ":"",IA.call(RA,"typeAnnotation")]);case"GenericTypeAnnotation":return Rg([IA.call(RA,"id"),IA.call(RA,"typeParameters")]);case"DeclareInterface":case"InterfaceDeclaration":return("DeclareInterface"===OA.type||_d(OA,LA))&&YA.push("declare "),YA.push("interface ",IA.call(RA,"id"),IA.call(RA,"typeParameters")," "),0"]);case"TypeParameter":switch(OA.variance){case"plus":YA.push("+");break;case"minus":YA.push("-");break;default:}return YA.push(IA.call(RA,"name")),OA.bound&&YA.push(IA.call(RA,"bound")),OA["default"]&&YA.push("=",IA.call(RA,"default")),Rg(YA);case"TypeofTypeAnnotation":return Rg(["typeof ",IA.call(RA,"argument")]);case"VoidTypeAnnotation":return"void";case"NullTypeAnnotation":return"null";case"InferredPredicate":return"%checks";case"DeclaredPredicate":return Rg(["%checks(",IA.call(RA,"value"),")"]);case"ClassHeritage":case"ComprehensionBlock":case"ComprehensionExpression":case"Glob":case"GeneratorExpression":case"LetStatement":case"LetExpression":case"GraphExpression":case"GraphIndexExpression":case"XMLDefaultDeclaration":case"XMLAnyName":case"XMLQualifiedIdentifier":case"XMLFunctionQualifiedIdentifier":case"XMLAttributeSelector":case"XMLFilterExpression":case"XML":case"XMLElement":case"XMLList":case"XMLEscape":case"XMLText":case"XMLStartTag":case"XMLEndTag":case"XMLPointTag":case"XMLName":case"XMLAttribute":case"XMLCdata":case"XMLComment":case"XMLProcessingInstruction":default:debugger;throw new Error("unknown type: "+JSON.stringify(OA.type));}return p}function Ml(IA,LA,RA){let OA=[];return IA.map(function(YA){var MA=YA.getValue();if(MA&&"EmptyStatement"!==MA.type){const VA=RA(YA),UA=LA.originalText,XA=[];XA.push(VA),_g.isNextLineEmpty(UA,MA)&&!Td(YA)&&XA.push(Mg),OA.push(Rg(XA))}}),Og(Mg,OA)}function Vl(IA,LA,RA){const OA=IA.getNode(),YA=OA.key;return("StringLiteral"===YA.type||"Literal"===YA.type&&"string"==typeof YA.value)&&Ng(YA.value)&&!OA.computed&&("flow"!==LA.parser||YA.value.match(/[a-zA-Z0-9$_]/))?YA.value:IA.call(RA,"key")}function Ul(IA,LA,RA){var OA=IA.getNode(),YA=OA.kind,MA=[];"ObjectMethod"===OA.type||"ClassMethod"===OA.type?OA.value=OA:Nx.FunctionExpression.assert(OA.value),OA.value.async&&MA.push("async "),YA&&"init"!==YA&&"method"!==YA&&"constructor"!==YA?(Sg.ok("get"===YA||"set"===YA),MA.push(YA," ")):OA.value.generator&&MA.push("*");var VA=Vl(IA,LA,RA);return OA.computed&&(VA=Rg(["[",VA,"]"])),MA.push(VA,IA.call(RA,"value","typeParameters"),Xg(Rg([IA.call(function(UA){return Wl(UA,RA,LA)},"value"),IA.call(UA=>Zl(UA,RA),"value")]))," ",IA.call(RA,"value","body")),Rg(MA)}function Xl(IA,LA,RA){var OA=IA.map(RA,"arguments");if(0===OA.length)return"()";const YA=_g.getLast(IA.getValue().arguments),MA=(!YA.comments||!YA.comments.length)&&("ObjectExpression"===YA.type||"ArrayExpression"===YA.type||"FunctionExpression"===YA.type||"ArrowFunctionExpression"===YA.type&&("BlockStatement"===YA.body.type||"ArrowFunctionExpression"===YA.body.type||"ObjectExpression"===YA.body.type||"ArrayExpression"===YA.body.type||"CallExpression"===YA.body.type||"JSXElement"===YA.body.type));if(MA){const VA=OA.slice(0,-1).some($g);return Rg([OA.some($g)?Kg:"",Jg([Rg(["(",Og(Rg([", "]),OA),")"]),Rg(["(",Og(Rg([",",Yg]),OA.slice(0,-1)),1Xl(TP,LA,RA),LA)}),TP.call(_P=>OA(_P),"callee")):"MemberExpression"===PP.type?(VA.unshift({node:PP,printed:Tg.printComments(TP,()=>_p(TP,LA,RA),LA)}),TP.call(_P=>OA(_P),"object")):VA.unshift({node:PP,printed:TP.call(RA)})}function YA(TP){return Rg(TP.map(PP=>PP.printed))}function MA(TP,PP){return Wg(LA.tabWidth,Xg(Rg([PP,Og(PP,TP.map(YA))])))}const VA=[];VA.unshift({node:IA.getValue(),printed:Xl(IA,LA,RA)}),IA.call(TP=>OA(TP),"callee");for(var UA=[],XA=[VA[0]],WA=1;WA=UA.length&&!$A)return Xg(QA);const SP=Rg([YA(UA[0]),ZA?MA(UA.slice(1,2),Vg):"",MA(UA.slice(ZA?2:1),Mg)]);return $A?Xg(SP):KA.slice(0,-1).some($g)?Xg(SP):Jg([QA,SP])}function Lp(IA){if(0===IA.children.length)return!0;if(1{const QA=KA.match(/\n/g);if(QA)return MA.push(Mg),void(1{if($A===MA){if(0===SP)return void JA.unshift($A);if(SP===VA.length-1)return void JA.push($A)}let TP=VA[SP-1];TP&&$g(TP)?(UA=!0,JA.push([$A])):_g.getLast(JA).push($A),!UA&&SP===VA.length-1&&$g($A)&&(UA=!0)});const ZA=[Mg,Rg(JA.map($A=>Array.isArray($A)?Jg([Rg($A)]):$A))],KA=IA.call(RA,"closingElement"),QA=Xg(Rg([YA,Wg(LA.tabWidth,Xg(Rg(ZA),{shouldBreak:!0})),Mg,KA]));return UA?QA:Jg([Xg(Rg([YA,Rg(VA),KA])),QA])}function Mp(IA,LA,RA){const OA=IA.getParentNode();return OA?{JSXElement:!0,ExpressionStatement:!0,CallExpression:!0,ConditionalExpression:!0,LogicalExpression:!0}[OA.type]?LA:Xg(Rg([Zg("("),Wg(RA.tabWidth,Rg([Vg,LA])),Vg,Zg(")")])):LA}function Up(IA){return"BinaryExpression"===IA.type||"LogicalExpression"===IA.type}function Xp(IA){return"LogicalExpression"===IA.type&&("ObjectExpression"===IA.right.type||"ArrayExpression"===IA.right.type)}function Wp(IA,LA,RA,OA,YA){let MA=IA.getValue();if(Up(MA)){_g.getPrecedence(MA.left.operator)===_g.getPrecedence(MA.operator)?IA.call(WA=>Wp(WA,LA,RA,OA,!0),"left"):LA.push(IA.call(RA,"left"));const VA=Rg([MA.operator,Xp(MA)?" ":Yg,IA.call(RA,"right")]),UA=IA.getParentNode(),XA="BinaryExpression"===MA.type&&"BinaryExpression"!==UA.type&&"BinaryExpression"!==MA.left.type&&"BinaryExpression"!==MA.right.type;LA.push(" ",XA?Xg(VA):VA),YA&&MA.comments&&LA.push(Tg.printComments(IA,()=>"",OA))}else LA.push(IA.call(RA));return LA}function Jp(IA,LA,RA){return""===IA?";":Zp(IA)||RA?Rg([" ",IA]):Wg(LA.tabWidth,Rg([Yg,IA]))}function Zp(IA){const LA=Tx(IA);return"{"===LA||"{}"===LA}function Kp(IA){const LA=Tx(IA);return"{}"===LA}function Qp(IA,LA){const RA=IA.value;if(Ix.assert(RA),"flow"===LA.parser&&-1!==RA.indexOf("\uFFFD"))return IA.raw;const OA=IA.extra?IA.extra.raw:IA.raw,YA=OA.slice(1,-1),MA={quote:"\"",regex:/"/g},VA={quote:"'",regex:/'/g},UA=LA.singleQuote?VA:MA,XA=UA===VA?MA:VA;let WA=!1;if(YA.includes(UA.quote)){const ZA=(YA.match(UA.regex)||[]).length,KA=(YA.match(XA.regex)||[]).length;WA=ZA>KA}const JA=WA?XA.quote:UA.quote;return $p(YA,JA)}function $p(IA,LA){const RA="\""===LA?"'":"\"",OA=/\\([\s\S])|(['"])/g,YA=IA.replace(OA,(MA,VA,UA)=>{return VA===RA?VA:UA===LA?"\\"+UA:MA});return LA+YA+LA}function Sd(IA){return IA.toLowerCase().replace(/^([\d.]+e)(?:\+|(-))?0*/,"$1$2").replace(/^\./,"0.").replace(/\.(?=e|$)/,"")}function Td(IA){const LA=IA.getParentNode(),RA=IA.getValue(),OA=LA.body;return OA&&OA[OA.length-1]===RA}function Pd(IA){return"ObjectTypeProperty"===IA.type&&"FunctionTypeAnnotation"===IA.value.type&&!IA.static&&_g.locStart(IA.key)!==_g.locStart(IA.value)}function _d(IA,LA){return!("flow"!==LA.parser)&&LA.originalText.slice(0,_g.locStart(IA)).match(/declare\s*$/)}function Nd(IA,LA,RA){let OA=LA.length;for(const YA=[IA];0<=RA;){if(0===YA.length){if(0===OA)return!0;YA.push(LA[OA-1]),OA--;continue}const VA=YA.pop(),UA=VA[0],XA=VA[1],WA=VA[2];if("string"==typeof WA)RA-=WA.length;else switch(WA.type){case"concat":for(var MA=WA.parts.length-1;0<=MA;MA--)YA.push([UA,XA,WA.parts[MA]]);break;case"indent":YA.push([UA+WA.n,XA,WA.contents]);break;case"group":YA.push([UA,WA.break?Lx:XA,WA.contents]);break;case"if-break":XA===Lx&&WA.breakContents&&YA.push([UA,XA,WA.breakContents]),XA===Rx&&WA.flatContents&&YA.push([UA,XA,WA.flatContents]);break;case"line":switch(XA){case Rx:if(!WA.hard){WA.soft||(RA-=1);break}case Lx:return!0;}}}return!1}function Ld(IA){return"[object Array]"===IA||"[object ArrayBuffer]"===IA||"[object DataView]"===IA||"[object Float32Array]"===IA||"[object Float64Array]"===IA||"[object Int8Array]"===IA||"[object Int16Array]"===IA||"[object Int32Array]"===IA||"[object Uint8Array]"===IA||"[object Uint8ClampedArray]"===IA||"[object Uint16Array]"===IA||"[object Uint32Array]"===IA}function Rd(IA){return IA==+IA?0===IA&&0>1/IA?"-0":""+IA:"NaN"}function Od(IA,LA){return LA?""===IA.name?"[Function anonymous]":"[Function "+IA.name+"]":"[Function]"}function Yd(IA){return Wx.call(IA).replace(Jx,"Symbol($1)")}function Md(IA){return"["+Ux.call(IA)+"]"}function Vd(IA,LA,RA){if(!0===IA||!1===IA)return""+IA;if(void 0===IA)return"undefined";if(null===IA)return"null";const OA=typeof IA;if("number"==OA)return Rd(IA);if("string"==OA)return"\""+Yx(IA)+"\"";if("function"==OA)return Od(IA,LA);if("symbol"==OA)return Yd(IA);const YA=Mx.call(IA);return"[object WeakMap]"===YA?"WeakMap {}":"[object WeakSet]"===YA?"WeakSet {}":"[object Function]"===YA||"[object GeneratorFunction]"===YA?Od(IA,LA):"[object Symbol]"===YA?Yd(IA):"[object Date]"===YA?Vx.call(IA):"[object Error]"===YA?Md(IA):"[object RegExp]"===YA?RA?Yx(Xx.call(IA)):Xx.call(IA):"[object Arguments]"===YA&&0===IA.length?"Arguments []":Ld(YA)&&0===IA.length?IA.constructor.name+" []":!!(IA instanceof Error)&&Md(IA)}function Ud(IA,LA,RA,OA,YA,MA,VA,UA,XA,WA,JA,ZA,KA,QA){let $A="";if(IA.length){$A+=YA;const SP=RA+LA;for(let TP=0;TP "+NP,TP=SP.next(),TP.done||($A+=","+OA)}$A+=(WA?"":",")+YA+RA}return $A+"}"}function Zd(IA,LA,RA,OA,YA,MA,VA,UA,XA,WA,JA,ZA,KA,QA){const $A=WA?"":IA.constructor?IA.constructor.name+" ":"Object ";let SP=$A+"{",TP=Object.keys(IA).sort();const PP=Kx(IA);if(PP.length&&(TP=TP.filter(_P=>"symbol"!=typeof _P&&"[object Symbol]"!==Mx.call(_P)).concat(PP)),TP.length){SP+=YA;const _P=RA+LA;for(let NP=0;NPVA;if(JA&&!$A&&IA.toJSON&&"function"==typeof IA.toJSON)return Sc(IA.toJSON(),LA,RA,OA,YA,MA,VA,UA,XA,WA,JA,ZA,KA,QA);const SP=Mx.call(IA);return"[object Arguments]"===SP?$A?"[Arguments]":Xd(IA,LA,RA,OA,YA,MA,VA,UA,XA,WA,JA,ZA,KA,QA):Ld(SP)?$A?"[Array]":Wd(IA,LA,RA,OA,YA,MA,VA,UA,XA,WA,JA,ZA,KA,QA):"[object Map]"===SP?$A?"[Map]":Jd(IA,LA,RA,OA,YA,MA,VA,UA,XA,WA,JA,ZA,KA,QA):"[object Set]"===SP?$A?"[Set]":Kd(IA,LA,RA,OA,YA,MA,VA,UA,XA,WA,JA,ZA,KA,QA):$A?"[Object]":Zd(IA,LA,RA,OA,YA,MA,VA,UA,XA,WA,JA,ZA,KA,QA)}function $d(IA,LA,RA,OA,YA,MA,VA,UA,XA,WA,JA,ZA,KA,QA){let $A=!1,SP;for(let TP=0;TP{if(!Qx.hasOwnProperty(LA))throw new Error("prettyFormat: Invalid option: "+LA)}),IA.min&&void 0!==IA.indent&&0!==IA.indent)throw new Error("prettyFormat: Cannot run with min option and indent")}function Pc(IA){const LA={};return Object.keys(Qx).forEach(RA=>LA[RA]=IA.hasOwnProperty(RA)?IA[RA]:Qx[RA]),LA.min&&(LA.indent=0),LA}function _c(IA){return Array(IA+1).join(" ")}function Nc(IA){if("concat"===IA.type){var LA=[];for(var RA=0;RA{if(!LA.printed)throw new Error("Comment \""+LA.value.trim()+"\" was not printed. Please report this error!");delete LA.printed})}function Vc(IA,LA){const RA=Oc(IA,LA),OA=Yc(IA,RA,LA),YA=SA(RA,LA),MA=TA(YA,LA.printWidth,Rc(IA));return Mc(OA),MA}function Uc(IA,LA){if(!IA.startsWith("#!"))return Vc(IA,LA);const RA=IA.indexOf("\n"),OA=IA.slice(0,RA+1),YA=IA.slice(RA+1),MA=IA.charAt(RA+1),VA="\n"===MA?"\n":"\r"===MA?"\r\n":"";return OA+VA+Vc(YA,LA)}var Xc=Se(function(IA,LA){Object.defineProperty(LA,"__esModule",{value:!0}),LA.default=/((['"])(?:(?!\2|\\).|\\(?:\r\n|[\s\S]))*(\2)?|`(?:[^`\\$]|\\[\s\S]|\$(?!\{)|\$\{(?:[^{}]|\{[^}]*\}?)*\}?)*(`)?)|(\/\/.*)|(\/\*(?:[^*]|\*(?!\/))*(\*\/)?)|(\/(?!\*)(?:\[(?:(?![\]\\]).|\\.)*\]|(?![\/\]\\]).|\\.)+\/(?:(?!\s*(?:\b|[\u0080-\uFFFF$\\'"~({]|[+\-!](?!=)|\.?\d))|[gmiyu]{1,5}\b(?![\u0080-\uFFFF$\\]|\s*(?:[+\-*%&|^<>!=?({]|\/(?![\/*])))))|(0[xX][\da-fA-F]+|0[oO][0-7]+|0[bB][01]+|(?:\d*\.\d+|\d+\.?)(?:[eE][+-]?\d+)?)|((?!\d)(?:(?!\s)[$\w\u0080-\uFFFF]|\\u[\da-fA-F]{4}|\\u\{[\da-fA-F]{1,6}\})+)|(--|\+\+|&&|\|\||=>|\.{3}|(?:[+\-\/%&|^]|\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2})=?|[?~.,:;[\](){}])|(\s+)|(^$|[\s\S])/g,LA.matchToToken=function(RA){var OA={type:"invalid",value:RA[0]};return RA[1]?(OA.type="string",OA.closed=!!(RA[3]||RA[4])):RA[5]?OA.type="comment":RA[6]?(OA.type="comment",OA.closed=!!RA[7]):RA[8]?OA.type="regex":RA[9]?OA.type="number":RA[10]?OA.type="name":RA[11]?OA.type="punctuator":RA[12]&&(OA.type="whitespace"),OA}}),Wc=Se(function(IA){(function(){"use strict";function LA(OA){if(null==OA)return!1;switch(OA.type){case"BlockStatement":case"BreakStatement":case"ContinueStatement":case"DebuggerStatement":case"DoWhileStatement":case"EmptyStatement":case"ExpressionStatement":case"ForInStatement":case"ForStatement":case"IfStatement":case"LabeledStatement":case"ReturnStatement":case"SwitchStatement":case"ThrowStatement":case"TryStatement":case"VariableDeclaration":case"WhileStatement":case"WithStatement":return!0;}return!1}function RA(OA){switch(OA.type){case"IfStatement":return null==OA.alternate?OA.consequent:OA.alternate;case"LabeledStatement":case"ForStatement":case"ForInStatement":case"WhileStatement":case"WithStatement":return OA.body;}return null}IA.exports={isExpression:function(YA){if(null==YA)return!1;switch(YA.type){case"ArrayExpression":case"AssignmentExpression":case"BinaryExpression":case"CallExpression":case"ConditionalExpression":case"FunctionExpression":case"Identifier":case"Literal":case"LogicalExpression":case"MemberExpression":case"NewExpression":case"ObjectExpression":case"SequenceExpression":case"ThisExpression":case"UnaryExpression":case"UpdateExpression":return!0;}return!1},isStatement:LA,isIterationStatement:function(YA){if(null==YA)return!1;switch(YA.type){case"DoWhileStatement":case"ForInStatement":case"ForStatement":case"WhileStatement":return!0;}return!1},isSourceElement:function(YA){return LA(YA)||null!=YA&&"FunctionDeclaration"===YA.type},isProblematicIfStatement:function(YA){var MA;if("IfStatement"!==YA.type)return!1;if(null==YA.alternate)return!1;MA=YA.consequent;do{if("IfStatement"===MA.type&&null==MA.alternate)return!0;MA=RA(MA)}while(MA);return!1},trailingStatement:RA}})()}),Jc=Se(function(IA){(function(){"use strict";function LA(XA){if(65535>=XA)return String.fromCharCode(XA);var WA=String.fromCharCode(Math.floor((XA-65536)/1024)+55296),JA=String.fromCharCode((XA-65536)%1024+56320);return WA+JA}var RA,OA,YA,MA,VA,UA;for(OA={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B2\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA7AD\uA7B0\uA7B1\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB5F\uAB64\uAB65\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,NonAsciiIdentifierPart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B2\u08E4-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58\u0C59\u0C60-\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D57\u0D60-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFC-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA69D\uA69F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA7AD\uA7B0\uA7B1\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C4\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB5F\uAB64\uAB65\uABC0-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2D\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/},RA={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B2\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA7AD\uA7B0\uA7B1\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB5F\uAB64\uAB65\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDE00-\uDE11\uDE13-\uDE2B\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF5D-\uDF61]|\uD805[\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDE00-\uDE2F\uDE44\uDE80-\uDEAA]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF98]|\uD809[\uDC00-\uDC6E]|[\uD80C\uD840-\uD868\uD86A-\uD86C][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D]|\uD87E[\uDC00-\uDE1D]/,NonAsciiIdentifierPart:/[\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B2\u08E4-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58\u0C59\u0C60-\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D57\u0D60-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFC-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA69D\uA69F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA7AD\uA7B0\uA7B1\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C4\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB5F\uAB64\uAB65\uABC0-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2D\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDD0-\uDDDA\uDE00-\uDE11\uDE13-\uDE37\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF01-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF98]|\uD809[\uDC00-\uDC6E]|[\uD80C\uD840-\uD868\uD86A-\uD86C][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/},YA=[5760,6158,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279],MA=Array(128),UA=0;128>UA;++UA)MA[UA]=97<=UA&&122>=UA||65<=UA&&90>=UA||36===UA||95===UA;for(VA=Array(128),UA=0;128>UA;++UA)VA[UA]=97<=UA&&122>=UA||65<=UA&&90>=UA||48<=UA&&57>=UA||36===UA||95===UA;IA.exports={isDecimalDigit:function(WA){return 48<=WA&&57>=WA},isHexDigit:function(WA){return 48<=WA&&57>=WA||97<=WA&&102>=WA||65<=WA&&70>=WA},isOctalDigit:function(WA){return 48<=WA&&55>=WA},isWhiteSpace:function(WA){return 32===WA||9===WA||11===WA||12===WA||160===WA||5760<=WA&&0<=YA.indexOf(WA)},isLineTerminator:function(WA){return 10===WA||13===WA||8232===WA||8233===WA},isIdentifierStartES5:function(WA){return 128>WA?MA[WA]:OA.NonAsciiIdentifierStart.test(LA(WA))},isIdentifierPartES5:function(WA){return 128>WA?VA[WA]:OA.NonAsciiIdentifierPart.test(LA(WA))},isIdentifierStartES6:function(WA){return 128>WA?MA[WA]:RA.NonAsciiIdentifierStart.test(LA(WA))},isIdentifierPartES6:function(WA){return 128>WA?VA[WA]:RA.NonAsciiIdentifierPart.test(LA(WA))}}})()}),Zc=Se(function(IA){(function(){"use strict";function LA(JA){return"implements"===JA||"interface"===JA||"package"===JA||"private"===JA||"protected"===JA||"public"===JA||"static"===JA||"let"===JA}function RA(JA,ZA){return(ZA||"yield"!==JA)&&OA(JA,ZA)}function OA(JA,ZA){if(ZA&&LA(JA))return!0;switch(JA.length){case 2:return"if"===JA||"in"===JA||"do"===JA;case 3:return"var"===JA||"for"===JA||"new"===JA||"try"===JA;case 4:return"this"===JA||"else"===JA||"case"===JA||"void"===JA||"with"===JA||"enum"===JA;case 5:return"while"===JA||"break"===JA||"catch"===JA||"throw"===JA||"const"===JA||"yield"===JA||"class"===JA||"super"===JA;case 6:return"return"===JA||"typeof"===JA||"delete"===JA||"switch"===JA||"export"===JA||"import"===JA;case 7:return"default"===JA||"finally"===JA||"extends"===JA;case 8:return"function"===JA||"continue"===JA||"debugger"===JA;case 10:return"instanceof"===JA;default:return!1;}}function YA(JA,ZA){return"null"===JA||"true"===JA||"false"===JA||RA(JA,ZA)}function MA(JA,ZA){return"null"===JA||"true"===JA||"false"===JA||OA(JA,ZA)}function VA(JA){var ZA,KA,QA;if(0===JA.length)return!1;if(QA=JA.charCodeAt(0),!WA.isIdentifierStartES5(QA))return!1;for(ZA=1,KA=JA.length;ZA=QA){if(++ZA,ZA>=KA)return!1;if($A=JA.charCodeAt(ZA),!(56320<=$A&&57343>=$A))return!1;QA=UA(QA,$A)}if(!SP(QA))return!1;SP=WA.isIdentifierPartES6}return!0}var WA=Jc;IA.exports={isKeywordES5:RA,isKeywordES6:OA,isReservedWordES5:YA,isReservedWordES6:MA,isRestrictedWord:function(ZA){return"eval"===ZA||"arguments"===ZA},isIdentifierNameES5:VA,isIdentifierNameES6:XA,isIdentifierES5:function(ZA,KA){return VA(ZA)&&!YA(ZA,KA)},isIdentifierES6:function(ZA,KA){return XA(ZA)&&!MA(ZA,KA)}}})()}),Kc=Se(function(IA,LA){(function(){"use strict";LA.ast=Wc,LA.code=Jc,LA.keyword=Zc})()}),Qc="undefined"==typeof global?"undefined"==typeof self?"undefined"==typeof window?{}:window:self:global,$c=Te,Su=Pe;"function"==typeof Qc.setTimeout&&($c=setTimeout),"function"==typeof Qc.clearTimeout&&(Su=clearTimeout);var Tu=[],Pu=!1,_u,Nu=-1;Oe.prototype.run=function(){this.fun.apply(null,this.array)};var Iu=Qc.performance||{},Lu=Iu.now||Iu.mozNow||Iu.msNow||Iu.oNow||Iu.webkitNow||function(){return new Date().getTime()},Ru=new Date,Ou={nextTick:function(LA){var RA=Array(arguments.length-1);if(1YA&&(OA--,YA+=1e9)),[OA,YA]},platform:"browser",release:{},config:{},uptime:function(){var LA=new Date;return(LA-Ru)/1e3}},Yu=/[|\\{}()[\]^$+*?.]/g,Mu=Se(function(IA){"use strict";Object.defineProperty(IA,"exports",{enumerable:!0,get:function(){var RA={modifiers:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},colors:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],gray:[90,39]},bgColors:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49]}};return RA.colors.grey=RA.colors.gray,Object.keys(RA).forEach(function(OA){var YA=RA[OA];Object.keys(YA).forEach(function(MA){var VA=YA[MA];RA[MA]=YA[MA]={open:"\x1B["+VA[0]+"m",close:"\x1B["+VA[1]+"m"}}),Object.defineProperty(RA,OA,{value:YA,enumerable:!1})}),RA}})}),Vu=function(){return /[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g},Uu=Vu(),Xu=new RegExp(Vu().source),Wu=Xu.test.bind(Xu),Ju=Ou.argv,Zu=Ju.indexOf("--"),Ku=function(IA){IA="--"+IA;var LA=Ju.indexOf(IA);return-1!==LA&&(!(-1!==Zu)||LA"),NP(IP.gutter,KP),XP,QP].join("")}return" "+NP(IP.gutter,KP)+XP}).join("\n");return PP?_P.reset(UP):UP};var VA=Xc,UA=RA(VA),XA=RA(Kc),WA=RA(Rm),JA=/\r\n|[\n\r\u2028\u2029]/,ZA=/^[a-z][\w-]*$/i,KA=/^[()\[\]{}]$/;IA.exports=LA["default"]}),Ym=[],Mm=[],Vm="undefined"==typeof Uint8Array?Array:Uint8Array,Um=!1,Xm={}.toString,Wm=Array.isArray||function(IA){return"[object Array]"==Xm.call(IA)};Pt.TYPED_ARRAY_SUPPORT=!(Qc.TYPED_ARRAY_SUPPORT!==void 0)||Qc.TYPED_ARRAY_SUPPORT,Pt.poolSize=8192,Pt._augment=function(IA){return IA.__proto__=Pt.prototype,IA},Pt.from=function(IA,LA,RA){return _t(null,IA,LA,RA)},Pt.TYPED_ARRAY_SUPPORT&&(Pt.prototype.__proto__=Uint8Array.prototype,Pt.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&Pt[Symbol.species]===Pt),Pt.alloc=function(IA,LA,RA){return It(null,IA,LA,RA)},Pt.allocUnsafe=function(IA){return Lt(null,IA)},Pt.allocUnsafeSlow=function(IA){return Lt(null,IA)},Pt.isBuffer=Yn,Pt.compare=function(LA,RA){if(!Ut(LA)||!Ut(RA))throw new TypeError("Arguments must be Buffers");if(LA===RA)return 0;var OA=LA.length,YA=RA.length;for(var MA=0,VA=Math.min(OA,YA);MARA&&(LA+=" ... ")),""},Pt.prototype.compare=function(LA,RA,OA,YA,MA){if(!Ut(LA))throw new TypeError("Argument must be a Buffer");if(void 0===RA&&(RA=0),void 0===OA&&(OA=LA?LA.length:0),void 0===YA&&(YA=0),void 0===MA&&(MA=this.length),0>RA||OA>LA.length||0>YA||MA>this.length)throw new RangeError("out of range index");if(YA>=MA&&RA>=OA)return 0;if(YA>=MA)return-1;if(RA>=OA)return 1;if(RA>>>=0,OA>>>=0,YA>>>=0,MA>>>=0,this===LA)return 0;var VA=MA-YA,UA=OA-RA,XA=Math.min(VA,UA),WA=this.slice(YA,MA),JA=LA.slice(RA,OA);for(var ZA=0;ZAMA)&&(OA=MA),0OA||0>RA)||RA>this.length)throw new RangeError("Attempt to write outside buffer bounds");YA||(YA="utf8");for(var VA=!1;;)switch(YA){case"hex":return Qt(this,LA,RA,OA);case"utf8":case"utf-8":return $t(this,LA,RA,OA);case"ascii":return Sa(this,LA,RA,OA);case"latin1":case"binary":return Ta(this,LA,RA,OA);case"base64":return Pa(this,LA,RA,OA);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return _a(this,LA,RA,OA);default:if(VA)throw new TypeError("Unknown encoding: "+YA);YA=(""+YA).toLowerCase(),VA=!0;}},Pt.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var Jm=4096;Pt.prototype.slice=function(LA,RA){var OA=this.length;LA=~~LA,RA=RA===void 0?OA:~~RA,0>LA?(LA+=OA,0>LA&&(LA=0)):LA>OA&&(LA=OA),0>RA?(RA+=OA,0>RA&&(RA=0)):RA>OA&&(RA=OA),RA=MA&&(YA-=Math.pow(2,8*RA)),YA},Pt.prototype.readIntBE=function(LA,RA,OA){LA|=0,RA|=0,OA||Ua(LA,RA,this.length);for(var YA=RA,MA=1,VA=this[LA+--YA];0=MA&&(VA-=Math.pow(2,8*RA)),VA},Pt.prototype.readInt8=function(LA,RA){return RA||Ua(LA,1,this.length),128&this[LA]?-1*(255-this[LA]+1):this[LA]},Pt.prototype.readInt16LE=function(LA,RA){RA||Ua(LA,2,this.length);var OA=this[LA]|this[LA+1]<<8;return 32768&OA?4294901760|OA:OA},Pt.prototype.readInt16BE=function(LA,RA){RA||Ua(LA,2,this.length);var OA=this[LA+1]|this[LA]<<8;return 32768&OA?4294901760|OA:OA},Pt.prototype.readInt32LE=function(LA,RA){return RA||Ua(LA,4,this.length),this[LA]|this[LA+1]<<8|this[LA+2]<<16|this[LA+3]<<24},Pt.prototype.readInt32BE=function(LA,RA){return RA||Ua(LA,4,this.length),this[LA]<<24|this[LA+1]<<16|this[LA+2]<<8|this[LA+3]},Pt.prototype.readFloatLE=function(LA,RA){return RA||Ua(LA,4,this.length),Qe(this,LA,!0,23,4)},Pt.prototype.readFloatBE=function(LA,RA){return RA||Ua(LA,4,this.length),Qe(this,LA,!1,23,4)},Pt.prototype.readDoubleLE=function(LA,RA){return RA||Ua(LA,8,this.length),Qe(this,LA,!0,52,8)},Pt.prototype.readDoubleBE=function(LA,RA){return RA||Ua(LA,8,this.length),Qe(this,LA,!1,52,8)},Pt.prototype.writeUIntLE=function(LA,RA,OA,YA){if(LA=+LA,RA|=0,OA|=0,!YA){var MA=Math.pow(2,8*OA)-1;Xa(this,LA,RA,OA,MA,0)}var VA=1,UA=0;for(this[RA]=255&LA;++UA>>8):Wa(this,LA,RA,!0),RA+2},Pt.prototype.writeUInt16BE=function(LA,RA,OA){return LA=+LA,RA|=0,OA||Xa(this,LA,RA,2,65535,0),Pt.TYPED_ARRAY_SUPPORT?(this[RA]=LA>>>8,this[RA+1]=255&LA):Wa(this,LA,RA,!1),RA+2},Pt.prototype.writeUInt32LE=function(LA,RA,OA){return LA=+LA,RA|=0,OA||Xa(this,LA,RA,4,4294967295,0),Pt.TYPED_ARRAY_SUPPORT?(this[RA+3]=LA>>>24,this[RA+2]=LA>>>16,this[RA+1]=LA>>>8,this[RA]=255&LA):Ja(this,LA,RA,!0),RA+4},Pt.prototype.writeUInt32BE=function(LA,RA,OA){return LA=+LA,RA|=0,OA||Xa(this,LA,RA,4,4294967295,0),Pt.TYPED_ARRAY_SUPPORT?(this[RA]=LA>>>24,this[RA+1]=LA>>>16,this[RA+2]=LA>>>8,this[RA+3]=255&LA):Ja(this,LA,RA,!1),RA+4},Pt.prototype.writeIntLE=function(LA,RA,OA,YA){if(LA=+LA,RA|=0,!YA){var MA=Math.pow(2,8*OA-1);Xa(this,LA,RA,OA,MA-1,-MA)}var VA=0,UA=1,XA=0;for(this[RA]=255&LA;++VALA&&0==XA&&0!==this[RA+VA-1]&&(XA=1),this[RA+VA]=255&(LA/UA>>0)-XA;return RA+OA},Pt.prototype.writeIntBE=function(LA,RA,OA,YA){if(LA=+LA,RA|=0,!YA){var MA=Math.pow(2,8*OA-1);Xa(this,LA,RA,OA,MA-1,-MA)}var VA=OA-1,UA=1,XA=0;for(this[RA+VA]=255&LA;0<=--VA&&(UA*=256);)0>LA&&0==XA&&0!==this[RA+VA+1]&&(XA=1),this[RA+VA]=255&(LA/UA>>0)-XA;return RA+OA},Pt.prototype.writeInt8=function(LA,RA,OA){return LA=+LA,RA|=0,OA||Xa(this,LA,RA,1,127,-128),Pt.TYPED_ARRAY_SUPPORT||(LA=Math.floor(LA)),0>LA&&(LA=255+LA+1),this[RA]=255&LA,RA+1},Pt.prototype.writeInt16LE=function(LA,RA,OA){return LA=+LA,RA|=0,OA||Xa(this,LA,RA,2,32767,-32768),Pt.TYPED_ARRAY_SUPPORT?(this[RA]=255&LA,this[RA+1]=LA>>>8):Wa(this,LA,RA,!0),RA+2},Pt.prototype.writeInt16BE=function(LA,RA,OA){return LA=+LA,RA|=0,OA||Xa(this,LA,RA,2,32767,-32768),Pt.TYPED_ARRAY_SUPPORT?(this[RA]=LA>>>8,this[RA+1]=255&LA):Wa(this,LA,RA,!1),RA+2},Pt.prototype.writeInt32LE=function(LA,RA,OA){return LA=+LA,RA|=0,OA||Xa(this,LA,RA,4,2147483647,-2147483648),Pt.TYPED_ARRAY_SUPPORT?(this[RA]=255&LA,this[RA+1]=LA>>>8,this[RA+2]=LA>>>16,this[RA+3]=LA>>>24):Ja(this,LA,RA,!0),RA+4},Pt.prototype.writeInt32BE=function(LA,RA,OA){return LA=+LA,RA|=0,OA||Xa(this,LA,RA,4,2147483647,-2147483648),0>LA&&(LA=4294967295+LA+1),Pt.TYPED_ARRAY_SUPPORT?(this[RA]=LA>>>24,this[RA+1]=LA>>>16,this[RA+2]=LA>>>8,this[RA+3]=255&LA):Ja(this,LA,RA,!1),RA+4},Pt.prototype.writeFloatLE=function(LA,RA,OA){return Ka(this,LA,RA,!0,OA)},Pt.prototype.writeFloatBE=function(LA,RA,OA){return Ka(this,LA,RA,!1,OA)},Pt.prototype.writeDoubleLE=function(LA,RA,OA){return Qa(this,LA,RA,!0,OA)},Pt.prototype.writeDoubleBE=function(LA,RA,OA){return Qa(this,LA,RA,!1,OA)},Pt.prototype.copy=function(LA,RA,OA,YA){if(OA||(OA=0),YA||0===YA||(YA=this.length),RA>=LA.length&&(RA=LA.length),RA||(RA=0),0RA)throw new RangeError("targetStart out of bounds");if(0>OA||OA>=this.length)throw new RangeError("sourceStart out of bounds");if(0>YA)throw new RangeError("sourceEnd out of bounds");YA>this.length&&(YA=this.length),LA.length-RAMA||!Pt.TYPED_ARRAY_SUPPORT)for(VA=0;VAMA&&(LA=MA)}if(void 0!==YA&&"string"!=typeof YA)throw new TypeError("encoding must be a string");if("string"==typeof YA&&!Pt.isEncoding(YA))throw new TypeError("Unknown encoding: "+YA)}else"number"==typeof LA&&(LA&=255);if(0>RA||this.length>>=0,OA=OA===void 0?this.length:OA>>>0,LA||(LA=0);var VA;if("number"==typeof LA)for(VA=RA;VAKP.indexOf($P)&&KP.push($P)}),this},Object.defineProperty(VP,"buildable",{value:!1});var UP={};QA.builders=UP;var XP={};QA.defineMethod=function(ZP,KP){var QP=XP[ZP];return OP.check(KP)?delete XP[ZP]:(NP.assert(KP),Object.defineProperty(XP,ZP,{enumerable:!0,configurable:!0,value:KP})),QP};var WP=_P.arrayOf();VP.build=function(){var ZP=this,KP=Rf.call(arguments);return(WP.assert(KP),Object.defineProperty(ZP,"buildParams",{value:KP,writable:!1,enumerable:!1,configurable:!0}),ZP.buildable)?ZP:(ZP.field("type",String,function(){return ZP.typeName}),Object.defineProperty(ZP,"buildable",{value:!0}),Object.defineProperty(UP,VA(ZP.typeName),{enumerable:!0,value:function(){function QP(P_,__){if(!Uf.call(T_,P_)){var N_=ZP.allFields;if(!Uf.call(N_,P_))throw new Error(""+P_);var I_=N_[P_],L_=I_.type,R_;if(RP.check(__)&&__SP)return YA;var TP=arguments.length;2===TP?(QA=0,$A=SP):3===TP?(QA=Math.max(QA,0),$A=SP):(QA=Math.max(QA,0),$A=Math.min($A,SP)),WA.assert(QA),WA.assert($A);var PP=Object.create(null),_P=RA(ZA);for(var NP=QA;NP<$A;++NP)if(Zf.call(ZA.value,NP)){var IP=ZA.get(NP);if(IP.name!==NP)throw new Error("");var LP=NP+KA;IP.name=LP,PP[LP]=IP,delete _P[NP]}return delete _P.length,function(){for(var RP in PP){var OP=PP[RP];if(OP.name!==+RP)throw new Error("");_P[RP]=OP,ZA.value[RP]=OP.value}}}function VA(ZA){if(!(ZA instanceof LA))throw new Error("");var KA=ZA.parentPath;if(!KA)return ZA;var QA=KA.value,$A=RA(KA);if(QA[ZA.name]===ZA.value)$A[ZA.name]=ZA;else if(XA.check(QA)){var SP=QA.indexOf(ZA.value);0<=SP&&($A[ZA.name=SP]=ZA)}else QA[ZA.name]=ZA.value,$A[ZA.name]=ZA;if(QA[ZA.name]!==ZA.value)throw new Error("");if(ZA.parentPath.get(ZA.name)!==ZA)throw new Error("");return ZA}var UA=IA.use(Xf),XA=UA.builtInTypes.array,WA=UA.builtInTypes.number,JA=LA.prototype;return JA.getValueProperty=function(KA){return this.value[KA]},JA.get=function(){var KA=this,QA=arguments,$A=QA.length;for(var SP=0;SP<$A;++SP)KA=OA(KA,QA[SP]);return KA},JA.each=function(KA,QA){var $A=[],SP=this.value.length,TP=0;for(var TP=0;TPRP)return!0;if(PP===RP&&"right"===this.name){if(NP.right!==_P)throw new Error("Nodes must be equal");return!0}default:return!1;}case"SequenceExpression":switch(NP.type){case"ForStatement":return!1;case"ExpressionStatement":return"expression"!==this.name;default:return!0;}case"YieldExpression":switch(NP.type){case"BinaryExpression":case"LogicalExpression":case"UnaryExpression":case"SpreadElement":case"SpreadProperty":case"CallExpression":case"MemberExpression":case"NewExpression":case"ConditionalExpression":case"YieldExpression":return!0;default:return!1;}case"Literal":return"MemberExpression"===NP.type&&JA.check(_P.value)&&"object"===this.name&&NP.object===_P;case"AssignmentExpression":case"ConditionalExpression":switch(NP.type){case"UnaryExpression":case"SpreadElement":case"SpreadProperty":case"BinaryExpression":case"LogicalExpression":return!0;case"CallExpression":return"callee"===this.name&&NP.callee===_P;case"ConditionalExpression":return"test"===this.name&&NP.test===_P;case"MemberExpression":return"object"===this.name&&NP.object===_P;default:return!1;}default:if("NewExpression"===NP.type&&"callee"===this.name&&NP.callee===_P)return OA(_P);}return!0!==TP&&!this.canBeFirstInStatement()&&this.firstInStatement()};var SP={};return[["||"],["&&"],["|"],["^"],["&"],["==","===","!=","!=="],["<",">","<=",">=","in","instanceof"],[">>","<<",">>>"],["+","-"],["*","/","%"]].forEach(function(TP,PP){TP.forEach(function(_P){SP[_P]=PP})}),$A.canBeFirstInStatement=function(){var TP=this.node;return!XA.FunctionExpression.check(TP)&&!XA.ObjectExpression.check(TP)},$A.firstInStatement=function(){return YA(this)},LA},Sh=Object.prototype.hasOwnProperty,Th=function(IA){function LA(){if(!(this instanceof LA))throw new Error("PathVisitor constructor cannot be invoked without 'new'");this._reusableContextStack=[],this._methodNameTable=RA(this),this._shouldVisitComments=Sh.call(this._methodNameTable,"Block")||Sh.call(this._methodNameTable,"Line"),this.Context=MA(this),this._visiting=!1,this._changeReported=!1}function RA($A){var SP=Object.create(null);for(var TP in $A)/^visit[A-Z]/.test(TP)&&(SP[TP.slice("visit".length)]=!0);var PP=VA.computeSupertypeLookupTable(SP),_P=Object.create(null),SP=Object.keys(PP),NP=SP.length;for(var IP=0;IPPP.indexOf("comments")&&PP.push("comments");var _P=PP.length,NP=[];for(var IP=0;IP<_P;++IP){var LP=PP[IP];Sh.call(TP,LP)||(TP[LP]=VA.getFieldValue(TP,LP)),NP.push($A.get(LP))}for(var IP=0;IP<_P;++IP)SP.visitWithoutReset(NP[IP])}return $A.value}function MA($A){function SP(PP){if(!(this instanceof SP))throw new Error("");if(!(this instanceof LA))throw new Error("");if(!(PP instanceof UA))throw new Error("");Object.defineProperty(this,"visitor",{value:$A,writable:!1,enumerable:!0,configurable:!1}),this.currentPath=PP,this.needToCallTraverse=!0,Object.seal(this)}if(!($A instanceof LA))throw new Error("");var TP=SP.prototype=Object.create($A);return TP.constructor=SP,OA(TP,QA),SP}var VA=IA.use(Xf),UA=IA.use(eh);VA.namedTypes.Printable;var XA=VA.builtInTypes.array,WA=VA.builtInTypes.object,JA=VA.builtInTypes.function,ZA;LA.fromMethodsObject=function(SP){function TP(){if(!(this instanceof TP))throw new Error("Visitor constructor cannot be invoked without 'new'");LA.call(this)}if(SP instanceof LA)return SP;if(!WA.check(SP))return new LA;var PP=TP.prototype=Object.create(KA);return PP.constructor=TP,OA(PP,SP),OA(TP,LA),JA.assert(TP.fromMethodsObject),JA.assert(TP.visit),new TP},LA.visit=function(SP,TP){return LA.fromMethodsObject(TP).visit(SP)};var KA=LA.prototype;KA.visit=function(){if(this._visiting)throw new Error("Recursively calling visitor.visit(path) resets visitor state. Try this.visit(path) or this.traverse(path) instead.");this._visiting=!0,this._changeReported=!1,this._abortRequested=!1;var $A=arguments.length,SP=Array($A);for(var TP=0;TP<$A;++TP)SP[TP]=arguments[TP];SP[0]instanceof UA||(SP[0]=new UA({root:SP[0]}).get("root")),this.reset.apply(this,SP);try{var PP=this.visitWithoutReset(SP[0]),_P=!0}finally{this._visiting=!1}return PP},KA.AbortRequest=function(){},KA.abort=function(){var $A=this;$A._abortRequested=!0;var SP=new $A.AbortRequest;throw SP.cancel=function(){$A._abortRequested=!1},SP},KA.reset=function(){},KA.visitWithoutReset=function($A){if(this instanceof this.Context)return this.visitor.visitWithoutReset($A);if(!($A instanceof UA))throw new Error("");var SP=$A.value,TP=SP&&"object"==typeof SP&&"string"==typeof SP.type&&this._methodNameTable[SP.type];if(TP){var PP=this.acquireContext($A);try{return PP.invokeVisitorMethod(TP)}finally{this.releaseContext(PP)}}else return YA($A,this)},KA.acquireContext=function($A){return 0===this._reusableContextStack.length?new this.Context($A):this._reusableContextStack.pop().reset($A)},KA.releaseContext=function($A){if(!($A instanceof this.Context))throw new Error("");this._reusableContextStack.push($A),$A.currentPath=null},KA.reportChanged=function(){this._changeReported=!0},KA.wasChangeReported=function(){return this._changeReported};var QA=Object.create(null);return QA.reset=function(SP){if(!(this instanceof this.Context))throw new Error("");if(!(SP instanceof UA))throw new Error("");return this.currentPath=SP,this.needToCallTraverse=!0,this},QA.invokeVisitorMethod=function(SP){if(!(this instanceof this.Context))throw new Error("");if(!(this.currentPath instanceof UA))throw new Error("");var TP=this.visitor[SP].call(this,this.currentPath);if(!1===TP?this.needToCallTraverse=!1:TP!==ZA&&(this.currentPath=this.currentPath.replace(TP)[0],this.needToCallTraverse&&this.traverse(this.currentPath)),!1!==this.needToCallTraverse)throw new Error("Must either call this.traverse or return false in "+SP);var PP=this.currentPath;return PP&&PP.value},QA.traverse=function(SP,TP){if(!(this instanceof this.Context))throw new Error("");if(!(SP instanceof UA))throw new Error("");if(!(this.currentPath instanceof UA))throw new Error("");return this.needToCallTraverse=!1,YA(SP,LA.fromMethodsObject(TP||this.visitor))},QA.visit=function(SP,TP){if(!(this instanceof this.Context))throw new Error("");if(!(SP instanceof UA))throw new Error("");if(!(this.currentPath instanceof UA))throw new Error("");return this.needToCallTraverse=!1,LA.fromMethodsObject(TP||this.visitor).visitWithoutReset(SP)},QA.reportChanged=function(){this.visitor.reportChanged()},QA.abort=function(){this.needToCallTraverse=!1,this.visitor.abort()},LA},Ph=function(IA){var LA={},RA=IA.use(Xf),OA=RA.Type,YA=RA.builtInTypes,MA=YA.number;LA.geq=function(UA){return new OA(function(XA){return MA.check(XA)&&XA>=UA},MA+" >= "+UA)},LA.defaults={"null":function(){return null},emptyArray:function(){return[]},"false":function(){return!1},"true":function(){return!0},undefined:function(){}};var VA=OA.or(YA.string,YA.number,YA.boolean,YA.null,YA.undefined);return LA.isPrimitive=new OA(function(UA){if(null===UA)return!0;var XA=typeof UA;return"object"!=XA&&"function"!=XA},VA.toString()),LA},_h=function(IA){var LA=IA.use(Xf),RA=LA.Type,OA=RA.def,YA=RA.or,MA=IA.use(Ph),VA=MA.defaults,UA=MA.geq;OA("Printable").field("loc",YA(OA("SourceLocation"),null),VA["null"],!0),OA("Node").bases("Printable").field("type",String).field("comments",YA([OA("Comment")],null),VA["null"],!0),OA("SourceLocation").build("start","end","source").field("start",OA("Position")).field("end",OA("Position")).field("source",YA(String,null),VA["null"]),OA("Position").build("line","column").field("line",UA(1)).field("column",UA(0)),OA("File").bases("Node").build("program","name").field("program",OA("Program")).field("name",YA(String,null),VA["null"]),OA("Program").bases("Node").build("body").field("body",[OA("Statement")]),OA("Function").bases("Node").field("id",YA(OA("Identifier"),null),VA["null"]).field("params",[OA("Pattern")]).field("body",OA("BlockStatement")),OA("Statement").bases("Node"),OA("EmptyStatement").bases("Statement").build(),OA("BlockStatement").bases("Statement").build("body").field("body",[OA("Statement")]),OA("ExpressionStatement").bases("Statement").build("expression").field("expression",OA("Expression")),OA("IfStatement").bases("Statement").build("test","consequent","alternate").field("test",OA("Expression")).field("consequent",OA("Statement")).field("alternate",YA(OA("Statement"),null),VA["null"]),OA("LabeledStatement").bases("Statement").build("label","body").field("label",OA("Identifier")).field("body",OA("Statement")),OA("BreakStatement").bases("Statement").build("label").field("label",YA(OA("Identifier"),null),VA["null"]),OA("ContinueStatement").bases("Statement").build("label").field("label",YA(OA("Identifier"),null),VA["null"]),OA("WithStatement").bases("Statement").build("object","body").field("object",OA("Expression")).field("body",OA("Statement")),OA("SwitchStatement").bases("Statement").build("discriminant","cases","lexical").field("discriminant",OA("Expression")).field("cases",[OA("SwitchCase")]).field("lexical",Boolean,VA["false"]),OA("ReturnStatement").bases("Statement").build("argument").field("argument",YA(OA("Expression"),null)),OA("ThrowStatement").bases("Statement").build("argument").field("argument",OA("Expression")),OA("TryStatement").bases("Statement").build("block","handler","finalizer").field("block",OA("BlockStatement")).field("handler",YA(OA("CatchClause"),null),function(){return this.handlers&&this.handlers[0]||null}).field("handlers",[OA("CatchClause")],function(){return this.handler?[this.handler]:[]},!0).field("guardedHandlers",[OA("CatchClause")],VA.emptyArray).field("finalizer",YA(OA("BlockStatement"),null),VA["null"]),OA("CatchClause").bases("Node").build("param","guard","body").field("param",OA("Pattern")).field("guard",YA(OA("Expression"),null),VA["null"]).field("body",OA("BlockStatement")),OA("WhileStatement").bases("Statement").build("test","body").field("test",OA("Expression")).field("body",OA("Statement")),OA("DoWhileStatement").bases("Statement").build("body","test").field("body",OA("Statement")).field("test",OA("Expression")),OA("ForStatement").bases("Statement").build("init","test","update","body").field("init",YA(OA("VariableDeclaration"),OA("Expression"),null)).field("test",YA(OA("Expression"),null)).field("update",YA(OA("Expression"),null)).field("body",OA("Statement")),OA("ForInStatement").bases("Statement").build("left","right","body").field("left",YA(OA("VariableDeclaration"),OA("Expression"))).field("right",OA("Expression")).field("body",OA("Statement")),OA("DebuggerStatement").bases("Statement").build(),OA("Declaration").bases("Statement"),OA("FunctionDeclaration").bases("Function","Declaration").build("id","params","body").field("id",OA("Identifier")),OA("FunctionExpression").bases("Function","Expression").build("id","params","body"),OA("VariableDeclaration").bases("Declaration").build("kind","declarations").field("kind",YA("var","let","const")).field("declarations",[OA("VariableDeclarator")]),OA("VariableDeclarator").bases("Node").build("id","init").field("id",OA("Pattern")).field("init",YA(OA("Expression"),null)),OA("Expression").bases("Node","Pattern"),OA("ThisExpression").bases("Expression").build(),OA("ArrayExpression").bases("Expression").build("elements").field("elements",[YA(OA("Expression"),null)]),OA("ObjectExpression").bases("Expression").build("properties").field("properties",[OA("Property")]),OA("Property").bases("Node").build("kind","key","value").field("kind",YA("init","get","set")).field("key",YA(OA("Literal"),OA("Identifier"))).field("value",OA("Expression")),OA("SequenceExpression").bases("Expression").build("expressions").field("expressions",[OA("Expression")]);var XA=YA("-","+","!","~","typeof","void","delete");OA("UnaryExpression").bases("Expression").build("operator","argument","prefix").field("operator",XA).field("argument",OA("Expression")).field("prefix",Boolean,VA["true"]);var WA=YA("==","!=","===","!==","<","<=",">",">=","<<",">>",">>>","+","-","*","/","%","&","|","^","in","instanceof","..");OA("BinaryExpression").bases("Expression").build("operator","left","right").field("operator",WA).field("left",OA("Expression")).field("right",OA("Expression"));var JA=YA("=","+=","-=","*=","/=","%=","<<=",">>=",">>>=","|=","^=","&=");OA("AssignmentExpression").bases("Expression").build("operator","left","right").field("operator",JA).field("left",OA("Pattern")).field("right",OA("Expression"));var ZA=YA("++","--");OA("UpdateExpression").bases("Expression").build("operator","argument","prefix").field("operator",ZA).field("argument",OA("Expression")).field("prefix",Boolean);var KA=YA("||","&&");OA("LogicalExpression").bases("Expression").build("operator","left","right").field("operator",KA).field("left",OA("Expression")).field("right",OA("Expression")),OA("ConditionalExpression").bases("Expression").build("test","consequent","alternate").field("test",OA("Expression")).field("consequent",OA("Expression")).field("alternate",OA("Expression")),OA("NewExpression").bases("Expression").build("callee","arguments").field("callee",OA("Expression")).field("arguments",[OA("Expression")]),OA("CallExpression").bases("Expression").build("callee","arguments").field("callee",OA("Expression")).field("arguments",[OA("Expression")]),OA("MemberExpression").bases("Expression").build("object","property","computed").field("object",OA("Expression")).field("property",YA(OA("Identifier"),OA("Expression"))).field("computed",Boolean,function(){var QA=this.property.type;return"Literal"===QA||"MemberExpression"===QA||"BinaryExpression"===QA}),OA("Pattern").bases("Node"),OA("SwitchCase").bases("Node").build("test","consequent").field("test",YA(OA("Expression"),null)).field("consequent",[OA("Statement")]),OA("Identifier").bases("Node","Expression","Pattern").build("name").field("name",String),OA("Literal").bases("Node","Expression").build("value").field("value",YA(String,Boolean,null,Number,RegExp)).field("regex",YA({pattern:String,flags:String},null),function(){if(this.value instanceof RegExp){var QA="";return this.value.ignoreCase&&(QA+="i"),this.value.multiline&&(QA+="m"),this.value.global&&(QA+="g"),{pattern:this.value.source,flags:QA}}return null}),OA("Comment").bases("Printable").field("value",String).field("leading",Boolean,VA["true"]).field("trailing",Boolean,VA["false"])},Nh=function(IA){IA.use(_h);var LA=IA.use(Xf),RA=LA.Type.def,OA=LA.Type.or,YA=IA.use(Ph).defaults;RA("Function").field("generator",Boolean,YA["false"]).field("expression",Boolean,YA["false"]).field("defaults",[OA(RA("Expression"),null)],YA.emptyArray).field("rest",OA(RA("Identifier"),null),YA["null"]),RA("RestElement").bases("Pattern").build("argument").field("argument",RA("Pattern")),RA("SpreadElementPattern").bases("Pattern").build("argument").field("argument",RA("Pattern")),RA("FunctionDeclaration").build("id","params","body","generator","expression"),RA("FunctionExpression").build("id","params","body","generator","expression"),RA("ArrowFunctionExpression").bases("Function","Expression").build("params","body","expression").field("id",null,YA["null"]).field("body",OA(RA("BlockStatement"),RA("Expression"))).field("generator",!1,YA["false"]),RA("YieldExpression").bases("Expression").build("argument","delegate").field("argument",OA(RA("Expression"),null)).field("delegate",Boolean,YA["false"]),RA("GeneratorExpression").bases("Expression").build("body","blocks","filter").field("body",RA("Expression")).field("blocks",[RA("ComprehensionBlock")]).field("filter",OA(RA("Expression"),null)),RA("ComprehensionExpression").bases("Expression").build("body","blocks","filter").field("body",RA("Expression")).field("blocks",[RA("ComprehensionBlock")]).field("filter",OA(RA("Expression"),null)),RA("ComprehensionBlock").bases("Node").build("left","right","each").field("left",RA("Pattern")).field("right",RA("Expression")).field("each",Boolean),RA("Property").field("key",OA(RA("Literal"),RA("Identifier"),RA("Expression"))).field("value",OA(RA("Expression"),RA("Pattern"))).field("method",Boolean,YA["false"]).field("shorthand",Boolean,YA["false"]).field("computed",Boolean,YA["false"]),RA("PropertyPattern").bases("Pattern").build("key","pattern").field("key",OA(RA("Literal"),RA("Identifier"),RA("Expression"))).field("pattern",RA("Pattern")).field("computed",Boolean,YA["false"]),RA("ObjectPattern").bases("Pattern").build("properties").field("properties",[OA(RA("PropertyPattern"),RA("Property"))]),RA("ArrayPattern").bases("Pattern").build("elements").field("elements",[OA(RA("Pattern"),null)]),RA("MethodDefinition").bases("Declaration").build("kind","key","value","static").field("kind",OA("constructor","method","get","set")).field("key",OA(RA("Literal"),RA("Identifier"),RA("Expression"))).field("value",RA("Function")).field("computed",Boolean,YA["false"]).field("static",Boolean,YA["false"]),RA("SpreadElement").bases("Node").build("argument").field("argument",RA("Expression")),RA("ArrayExpression").field("elements",[OA(RA("Expression"),RA("SpreadElement"),RA("RestElement"),null)]),RA("NewExpression").field("arguments",[OA(RA("Expression"),RA("SpreadElement"))]),RA("CallExpression").field("arguments",[OA(RA("Expression"),RA("SpreadElement"))]),RA("AssignmentPattern").bases("Pattern").build("left","right").field("left",RA("Pattern")).field("right",RA("Expression"));var MA=OA(RA("MethodDefinition"),RA("VariableDeclarator"),RA("ClassPropertyDefinition"),RA("ClassProperty"));RA("ClassProperty").bases("Declaration").build("key").field("key",OA(RA("Literal"),RA("Identifier"),RA("Expression"))).field("computed",Boolean,YA["false"]),RA("ClassPropertyDefinition").bases("Declaration").build("definition").field("definition",MA),RA("ClassBody").bases("Declaration").build("body").field("body",[MA]),RA("ClassDeclaration").bases("Declaration").build("id","body","superClass").field("id",OA(RA("Identifier"),null)).field("body",RA("ClassBody")).field("superClass",OA(RA("Expression"),null),YA["null"]),RA("ClassExpression").bases("Expression").build("id","body","superClass").field("id",OA(RA("Identifier"),null),YA["null"]).field("body",RA("ClassBody")).field("superClass",OA(RA("Expression"),null),YA["null"]).field("implements",[RA("ClassImplements")],YA.emptyArray),RA("ClassImplements").bases("Node").build("id").field("id",RA("Identifier")).field("superClass",OA(RA("Expression"),null),YA["null"]),RA("Specifier").bases("Node"),RA("ModuleSpecifier").bases("Specifier").field("local",OA(RA("Identifier"),null),YA["null"]).field("id",OA(RA("Identifier"),null),YA["null"]).field("name",OA(RA("Identifier"),null),YA["null"]),RA("TaggedTemplateExpression").bases("Expression").build("tag","quasi").field("tag",RA("Expression")).field("quasi",RA("TemplateLiteral")),RA("TemplateLiteral").bases("Expression").build("quasis","expressions").field("quasis",[RA("TemplateElement")]).field("expressions",[RA("Expression")]),RA("TemplateElement").bases("Node").build("value","tail").field("value",{cooked:String,raw:String}).field("tail",Boolean)},Ih=function(IA){IA.use(Nh);var LA=IA.use(Xf),RA=LA.Type.def,OA=LA.Type.or;LA.builtInTypes;var YA=IA.use(Ph).defaults;RA("Function").field("async",Boolean,YA["false"]),RA("SpreadProperty").bases("Node").build("argument").field("argument",RA("Expression")),RA("ObjectExpression").field("properties",[OA(RA("Property"),RA("SpreadProperty"))]),RA("SpreadPropertyPattern").bases("Pattern").build("argument").field("argument",RA("Pattern")),RA("ObjectPattern").field("properties",[OA(RA("Property"),RA("PropertyPattern"),RA("SpreadPropertyPattern"))]),RA("AwaitExpression").bases("Expression").build("argument","all").field("argument",OA(RA("Expression"),null)).field("all",Boolean,YA["false"])},Lh=function(IA){IA.use(Ih);var LA=IA.use(Xf),RA=LA.Type.def,OA=LA.Type.or,YA=IA.use(Ph).defaults;RA("Type").bases("Node"),RA("AnyTypeAnnotation").bases("Type").build(),RA("EmptyTypeAnnotation").bases("Type").build(),RA("MixedTypeAnnotation").bases("Type").build(),RA("VoidTypeAnnotation").bases("Type").build(),RA("NumberTypeAnnotation").bases("Type").build(),RA("NumberLiteralTypeAnnotation").bases("Type").build("value","raw").field("value",Number).field("raw",String),RA("StringTypeAnnotation").bases("Type").build(),RA("StringLiteralTypeAnnotation").bases("Type").build("value","raw").field("value",String).field("raw",String),RA("BooleanTypeAnnotation").bases("Type").build(),RA("BooleanLiteralTypeAnnotation").bases("Type").build("value","raw").field("value",Boolean).field("raw",String),RA("TypeAnnotation").bases("Node").build("typeAnnotation").field("typeAnnotation",RA("Type")),RA("NullableTypeAnnotation").bases("Type").build("typeAnnotation").field("typeAnnotation",RA("Type")),RA("NullLiteralTypeAnnotation").bases("Type").build(),RA("NullTypeAnnotation").bases("Type").build(),RA("ThisTypeAnnotation").bases("Type").build(),RA("ExistsTypeAnnotation").bases("Type").build(),RA("ExistentialTypeParam").bases("Type").build(),RA("FunctionTypeAnnotation").bases("Type").build("params","returnType","rest","typeParameters").field("params",[RA("FunctionTypeParam")]).field("returnType",RA("Type")).field("rest",OA(RA("FunctionTypeParam"),null)).field("typeParameters",OA(RA("TypeParameterDeclaration"),null)),RA("FunctionTypeParam").bases("Node").build("name","typeAnnotation","optional").field("name",RA("Identifier")).field("typeAnnotation",RA("Type")).field("optional",Boolean),RA("ArrayTypeAnnotation").bases("Type").build("elementType").field("elementType",RA("Type")),RA("ObjectTypeAnnotation").bases("Type").build("properties","indexers","callProperties").field("properties",[RA("ObjectTypeProperty")]).field("indexers",[RA("ObjectTypeIndexer")],YA.emptyArray).field("callProperties",[RA("ObjectTypeCallProperty")],YA.emptyArray).field("exact",Boolean,YA["false"]),RA("ObjectTypeProperty").bases("Node").build("key","value","optional").field("key",OA(RA("Literal"),RA("Identifier"))).field("value",RA("Type")).field("optional",Boolean).field("variance",OA("plus","minus",null),YA["null"]),RA("ObjectTypeIndexer").bases("Node").build("id","key","value").field("id",RA("Identifier")).field("key",RA("Type")).field("value",RA("Type")).field("variance",OA("plus","minus",null),YA["null"]),RA("ObjectTypeCallProperty").bases("Node").build("value").field("value",RA("FunctionTypeAnnotation")).field("static",Boolean,YA["false"]),RA("QualifiedTypeIdentifier").bases("Node").build("qualification","id").field("qualification",OA(RA("Identifier"),RA("QualifiedTypeIdentifier"))).field("id",RA("Identifier")),RA("GenericTypeAnnotation").bases("Type").build("id","typeParameters").field("id",OA(RA("Identifier"),RA("QualifiedTypeIdentifier"))).field("typeParameters",OA(RA("TypeParameterInstantiation"),null)),RA("MemberTypeAnnotation").bases("Type").build("object","property").field("object",RA("Identifier")).field("property",OA(RA("MemberTypeAnnotation"),RA("GenericTypeAnnotation"))),RA("UnionTypeAnnotation").bases("Type").build("types").field("types",[RA("Type")]),RA("IntersectionTypeAnnotation").bases("Type").build("types").field("types",[RA("Type")]),RA("TypeofTypeAnnotation").bases("Type").build("argument").field("argument",RA("Type")),RA("Identifier").field("typeAnnotation",OA(RA("TypeAnnotation"),null),YA["null"]),RA("TypeParameterDeclaration").bases("Node").build("params").field("params",[RA("TypeParameter")]),RA("TypeParameterInstantiation").bases("Node").build("params").field("params",[RA("Type")]),RA("TypeParameter").bases("Type").build("name","variance","bound").field("name",String).field("variance",OA("plus","minus",null),YA["null"]).field("bound",OA(RA("TypeAnnotation"),null),YA["null"]),RA("Function").field("returnType",OA(RA("TypeAnnotation"),null),YA["null"]).field("typeParameters",OA(RA("TypeParameterDeclaration"),null),YA["null"]),RA("ClassProperty").build("key","value","typeAnnotation","static").field("value",OA(RA("Expression"),null)).field("typeAnnotation",OA(RA("TypeAnnotation"),null)).field("static",Boolean,YA["false"]).field("variance",OA("plus","minus",null),YA["null"]),RA("ClassImplements").field("typeParameters",OA(RA("TypeParameterInstantiation"),null),YA["null"]),RA("InterfaceDeclaration").bases("Declaration").build("id","body","extends").field("id",RA("Identifier")).field("typeParameters",OA(RA("TypeParameterDeclaration"),null),YA["null"]).field("body",RA("ObjectTypeAnnotation")).field("extends",[RA("InterfaceExtends")]),RA("DeclareInterface").bases("InterfaceDeclaration").build("id","body","extends"),RA("InterfaceExtends").bases("Node").build("id").field("id",RA("Identifier")).field("typeParameters",OA(RA("TypeParameterInstantiation"),null)),RA("TypeAlias").bases("Declaration").build("id","typeParameters","right").field("id",RA("Identifier")).field("typeParameters",OA(RA("TypeParameterDeclaration"),null)).field("right",RA("Type")),RA("DeclareTypeAlias").bases("TypeAlias").build("id","typeParameters","right"),RA("TypeCastExpression").bases("Expression").build("expression","typeAnnotation").field("expression",RA("Expression")).field("typeAnnotation",RA("TypeAnnotation")),RA("TupleTypeAnnotation").bases("Type").build("types").field("types",[RA("Type")]),RA("DeclareVariable").bases("Statement").build("id").field("id",RA("Identifier")),RA("DeclareFunction").bases("Statement").build("id").field("id",RA("Identifier")),RA("DeclareClass").bases("InterfaceDeclaration").build("id"),RA("DeclareModule").bases("Statement").build("id","body").field("id",OA(RA("Identifier"),RA("Literal"))).field("body",RA("BlockStatement")),RA("DeclareModuleExports").bases("Statement").build("typeAnnotation").field("typeAnnotation",RA("Type")),RA("DeclareExportDeclaration").bases("Declaration").build("default","declaration","specifiers","source").field("default",Boolean).field("declaration",OA(RA("DeclareVariable"),RA("DeclareFunction"),RA("DeclareClass"),RA("Type"),null)).field("specifiers",[OA(RA("ExportSpecifier"),RA("ExportBatchSpecifier"))],YA.emptyArray).field("source",OA(RA("Literal"),null),YA["null"]),RA("DeclareExportAllDeclaration").bases("Declaration").build("source").field("source",OA(RA("Literal"),null),YA["null"])},Rh=function(IA){IA.use(Ih);var LA=IA.use(Xf),RA=IA.use(Ph).defaults,OA=LA.Type.def,YA=LA.Type.or;OA("Noop").bases("Node").build(),OA("DoExpression").bases("Expression").build("body").field("body",[OA("Statement")]),OA("Super").bases("Expression").build(),OA("BindExpression").bases("Expression").build("object","callee").field("object",YA(OA("Expression"),null)).field("callee",OA("Expression")),OA("Decorator").bases("Node").build("expression").field("expression",OA("Expression")),OA("Property").field("decorators",YA([OA("Decorator")],null),RA["null"]),OA("MethodDefinition").field("decorators",YA([OA("Decorator")],null),RA["null"]),OA("MetaProperty").bases("Expression").build("meta","property").field("meta",OA("Identifier")).field("property",OA("Identifier")),OA("ParenthesizedExpression").bases("Expression").build("expression").field("expression",OA("Expression")),OA("ImportSpecifier").bases("ModuleSpecifier").build("imported","local").field("imported",OA("Identifier")),OA("ImportDefaultSpecifier").bases("ModuleSpecifier").build("local"),OA("ImportNamespaceSpecifier").bases("ModuleSpecifier").build("local"),OA("ExportDefaultDeclaration").bases("Declaration").build("declaration").field("declaration",YA(OA("Declaration"),OA("Expression"))),OA("ExportNamedDeclaration").bases("Declaration").build("declaration","specifiers","source").field("declaration",YA(OA("Declaration"),null)).field("specifiers",[OA("ExportSpecifier")],RA.emptyArray).field("source",YA(OA("Literal"),null),RA["null"]),OA("ExportSpecifier").bases("ModuleSpecifier").build("local","exported").field("exported",OA("Identifier")),OA("ExportNamespaceSpecifier").bases("Specifier").build("exported").field("exported",OA("Identifier")),OA("ExportDefaultSpecifier").bases("Specifier").build("exported").field("exported",OA("Identifier")),OA("ExportAllDeclaration").bases("Declaration").build("exported","source").field("exported",YA(OA("Identifier"),null)).field("source",OA("Literal")),OA("CommentBlock").bases("Comment").build("value","leading","trailing"),OA("CommentLine").bases("Comment").build("value","leading","trailing")},Oh=function(IA){function LA(UA){var XA=RA.indexOf(UA);return-1===XA&&(XA=RA.length,RA.push(UA),OA[XA]=UA(YA)),OA[XA]}var RA=[],OA=[],YA={};YA.use=LA;var MA=LA(Xf);IA.forEach(LA),MA.finalize();var VA={Type:MA.Type,builtInTypes:MA.builtInTypes,namedTypes:MA.namedTypes,builders:MA.builders,defineMethod:MA.defineMethod,getFieldNames:MA.getFieldNames,getFieldValue:MA.getFieldValue,eachField:MA.eachField,someField:MA.someField,getSupertypeNames:MA.getSupertypeNames,astNodesAreEquivalent:LA(Wf),finalize:MA.finalize,Path:LA(Kf),NodePath:LA(eh),PathVisitor:LA(Th),use:LA};return VA.visit=VA.PathVisitor.visit,VA}([_h,Nh,Ih,function(IA){IA.use(_h);var LA=IA.use(Xf),RA=LA.Type.def,OA=LA.Type.or,YA=IA.use(Ph),MA=YA.geq,VA=YA.defaults;RA("Function").field("body",OA(RA("BlockStatement"),RA("Expression"))),RA("ForInStatement").build("left","right","body","each").field("each",Boolean,VA["false"]),RA("ForOfStatement").bases("Statement").build("left","right","body").field("left",OA(RA("VariableDeclaration"),RA("Expression"))).field("right",RA("Expression")).field("body",RA("Statement")),RA("LetStatement").bases("Statement").build("head","body").field("head",[RA("VariableDeclarator")]).field("body",RA("Statement")),RA("LetExpression").bases("Expression").build("head","body").field("head",[RA("VariableDeclarator")]).field("body",RA("Expression")),RA("GraphExpression").bases("Expression").build("index","expression").field("index",MA(0)).field("expression",RA("Literal")),RA("GraphIndexExpression").bases("Expression").build("index").field("index",MA(0))},function(IA){IA.use(_h);var LA=IA.use(Xf),RA=LA.Type.def,OA=LA.Type.or;RA("XMLDefaultDeclaration").bases("Declaration").field("namespace",RA("Expression")),RA("XMLAnyName").bases("Expression"),RA("XMLQualifiedIdentifier").bases("Expression").field("left",OA(RA("Identifier"),RA("XMLAnyName"))).field("right",OA(RA("Identifier"),RA("Expression"))).field("computed",Boolean),RA("XMLFunctionQualifiedIdentifier").bases("Expression").field("right",OA(RA("Identifier"),RA("Expression"))).field("computed",Boolean),RA("XMLAttributeSelector").bases("Expression").field("attribute",RA("Expression")),RA("XMLFilterExpression").bases("Expression").field("left",RA("Expression")).field("right",RA("Expression")),RA("XMLElement").bases("XML","Expression").field("contents",[RA("XML")]),RA("XMLList").bases("XML","Expression").field("contents",[RA("XML")]),RA("XML").bases("Node"),RA("XMLEscape").bases("XML").field("expression",RA("Expression")),RA("XMLText").bases("XML").field("text",String),RA("XMLStartTag").bases("XML").field("contents",[RA("XML")]),RA("XMLEndTag").bases("XML").field("contents",[RA("XML")]),RA("XMLPointTag").bases("XML").field("contents",[RA("XML")]),RA("XMLName").bases("XML").field("contents",OA(String,[RA("XML")])),RA("XMLAttribute").bases("XML").field("value",String),RA("XMLCdata").bases("XML").field("contents",String),RA("XMLComment").bases("XML").field("contents",String),RA("XMLProcessingInstruction").bases("XML").field("target",String).field("contents",OA(String,null))},function(IA){IA.use(Ih);var LA=IA.use(Xf),RA=LA.Type.def,OA=LA.Type.or,YA=IA.use(Ph).defaults;RA("JSXAttribute").bases("Node").build("name","value").field("name",OA(RA("JSXIdentifier"),RA("JSXNamespacedName"))).field("value",OA(RA("Literal"),RA("JSXExpressionContainer"),null),YA["null"]),RA("JSXIdentifier").bases("Identifier").build("name").field("name",String),RA("JSXNamespacedName").bases("Node").build("namespace","name").field("namespace",RA("JSXIdentifier")).field("name",RA("JSXIdentifier")),RA("JSXMemberExpression").bases("MemberExpression").build("object","property").field("object",OA(RA("JSXIdentifier"),RA("JSXMemberExpression"))).field("property",RA("JSXIdentifier")).field("computed",Boolean,YA.false);var MA=OA(RA("JSXIdentifier"),RA("JSXNamespacedName"),RA("JSXMemberExpression"));RA("JSXSpreadAttribute").bases("Node").build("argument").field("argument",RA("Expression"));var VA=[OA(RA("JSXAttribute"),RA("JSXSpreadAttribute"))];RA("JSXExpressionContainer").bases("Expression").build("expression").field("expression",RA("Expression")),RA("JSXElement").bases("Expression").build("openingElement","closingElement","children").field("openingElement",RA("JSXOpeningElement")).field("closingElement",OA(RA("JSXClosingElement"),null),YA["null"]).field("children",[OA(RA("JSXElement"),RA("JSXExpressionContainer"),RA("JSXText"),RA("Literal"))],YA.emptyArray).field("name",MA,function(){return this.openingElement.name},!0).field("selfClosing",Boolean,function(){return this.openingElement.selfClosing},!0).field("attributes",VA,function(){return this.openingElement.attributes},!0),RA("JSXOpeningElement").bases("Node").build("name","attributes","selfClosing").field("name",MA).field("attributes",VA,YA.emptyArray).field("selfClosing",Boolean,YA["false"]),RA("JSXClosingElement").bases("Node").build("name").field("name",MA),RA("JSXText").bases("Literal").build("value").field("value",String),RA("JSXEmptyExpression").bases("Expression").build()},Lh,function(IA){IA.use(Ih);var LA=IA.use(Xf),RA=IA.use(Ph).defaults,OA=LA.Type.def,YA=LA.Type.or;OA("VariableDeclaration").field("declarations",[YA(OA("VariableDeclarator"),OA("Identifier"))]),OA("Property").field("value",YA(OA("Expression"),OA("Pattern"))),OA("ArrayPattern").field("elements",[YA(OA("Pattern"),OA("SpreadElement"),null)]),OA("ObjectPattern").field("properties",[YA(OA("Property"),OA("PropertyPattern"),OA("SpreadPropertyPattern"),OA("SpreadProperty"))]),OA("ExportSpecifier").bases("ModuleSpecifier").build("id","name"),OA("ExportBatchSpecifier").bases("Specifier").build(),OA("ImportSpecifier").bases("ModuleSpecifier").build("id","name"),OA("ImportNamespaceSpecifier").bases("ModuleSpecifier").build("id"),OA("ImportDefaultSpecifier").bases("ModuleSpecifier").build("id"),OA("ExportDeclaration").bases("Declaration").build("default","declaration","specifiers","source").field("default",Boolean).field("declaration",YA(OA("Declaration"),OA("Expression"),null)).field("specifiers",[YA(OA("ExportSpecifier"),OA("ExportBatchSpecifier"))],RA.emptyArray).field("source",YA(OA("Literal"),null),RA["null"]),OA("ImportDeclaration").bases("Declaration").build("specifiers","source","importKind").field("specifiers",[YA(OA("ImportSpecifier"),OA("ImportNamespaceSpecifier"),OA("ImportDefaultSpecifier"))],RA.emptyArray).field("source",OA("Literal")).field("importKind",YA("value","type"),function(){return"value"}),OA("Block").bases("Comment").build("value","leading","trailing"),OA("Line").bases("Comment").build("value","leading","trailing")},Rh,function(IA){IA.use(Rh),IA.use(Lh);var LA=IA.use(Xf),RA=IA.use(Ph).defaults,OA=LA.Type.def,YA=LA.Type.or;OA("Directive").bases("Node").build("value").field("value",OA("DirectiveLiteral")),OA("DirectiveLiteral").bases("Node","Expression").build("value").field("value",String,RA["use strict"]),OA("BlockStatement").bases("Statement").build("body").field("body",[OA("Statement")]).field("directives",[OA("Directive")],RA.emptyArray),OA("Program").bases("Node").build("body").field("body",[OA("Statement")]).field("directives",[OA("Directive")],RA.emptyArray),OA("StringLiteral").bases("Literal").build("value").field("value",String),OA("NumericLiteral").bases("Literal").build("value").field("value",Number),OA("NullLiteral").bases("Literal").build(),OA("BooleanLiteral").bases("Literal").build("value").field("value",Boolean),OA("RegExpLiteral").bases("Literal").build("pattern","flags").field("pattern",String).field("flags",String);var MA=YA(OA("Property"),OA("ObjectMethod"),OA("ObjectProperty"),OA("SpreadProperty"));OA("ObjectExpression").bases("Expression").build("properties").field("properties",[MA]),OA("ObjectMethod").bases("Node","Function").build("kind","key","params","body","computed").field("kind",YA("method","get","set")).field("key",YA(OA("Literal"),OA("Identifier"),OA("Expression"))).field("params",[OA("Pattern")]).field("body",OA("BlockStatement")).field("computed",Boolean,RA["false"]).field("generator",Boolean,RA["false"]).field("async",Boolean,RA["false"]).field("decorators",YA([OA("Decorator")],null),RA["null"]),OA("ObjectProperty").bases("Node").build("key","value").field("key",YA(OA("Literal"),OA("Identifier"),OA("Expression"))).field("value",YA(OA("Expression"),OA("Pattern"))).field("computed",Boolean,RA["false"]);var VA=YA(OA("MethodDefinition"),OA("VariableDeclarator"),OA("ClassPropertyDefinition"),OA("ClassProperty"),OA("ClassMethod"));OA("ClassBody").bases("Declaration").build("body").field("body",[VA]),OA("ClassMethod").bases("Declaration","Function").build("kind","key","params","body","computed","static").field("kind",YA("get","set","method","constructor")).field("key",YA(OA("Literal"),OA("Identifier"),OA("Expression"))).field("params",[OA("Pattern")]).field("body",OA("BlockStatement")).field("computed",Boolean,RA["false"]).field("static",Boolean,RA["false"]).field("generator",Boolean,RA["false"]).field("async",Boolean,RA["false"]).field("decorators",YA([OA("Decorator")],null),RA["null"]);var UA=YA(OA("Property"),OA("PropertyPattern"),OA("SpreadPropertyPattern"),OA("SpreadProperty"),OA("ObjectProperty"),OA("RestProperty"));OA("ObjectPattern").bases("Pattern").build("properties").field("properties",[UA]).field("decorators",YA([OA("Decorator")],null),RA["null"]),OA("SpreadProperty").bases("Node").build("argument").field("argument",OA("Expression")),OA("RestProperty").bases("Node").build("argument").field("argument",OA("Expression")),OA("ForAwaitStatement").bases("Statement").build("left","right","body").field("left",YA(OA("VariableDeclaration"),OA("Expression"))).field("right",OA("Expression")).field("body",OA("Statement"))}]);const Yh={type:"break-parent"},Mh=Xi([{type:"line",hard:!0},Yh]),Vh=Xi([{type:"line",hard:!0,literal:!0},Yh]);var Uh={concat:Xi,join:function(LA,RA){var OA=[];for(var YA=0;YA","<=",">=","in","instanceof"],[">>","<<",">>>"],["+","-"],["*","/","%","**"]].forEach(function(IA,LA){IA.forEach(function(RA){$h[RA]=LA})});var Sy={comparePos:function(LA,RA){return LA.line-RA.line||LA.column-RA.column},getPrecedence:function(LA){return $h[LA]},fixFaultyLocations:function(LA,RA){if(LA.decorators)LA.decorators.forEach(function(MA){Ji(LA,MA)});else if(LA.declaration&&Zi(LA)){var OA=LA.declaration.decorators;OA&&OA.forEach(function(MA){Ji(LA,MA)})}else if(Wh.MethodDefinition&&Wh.MethodDefinition.check(LA)||Wh.Property.check(LA)&&(LA.method||LA.shorthand))Wh.FunctionExpression.check(LA.value)&&(LA.value.id=null);else if("ObjectTypeProperty"===LA.type){var YA=Zh(RA,_o(LA),!0);!1!==YA&&","===RA.charAt(YA)&&!1!==(YA=Zh(RA,YA-1,!0))&&Lo(LA,YA)}},isExportDeclaration:Zi,getParentExportDeclaration:function(LA){var RA=LA.getParentNode();return"declaration"===LA.getName()&&Zi(RA)?RA:null},getLast:function(LA){return 0/g,">")}},Ty=Xh,Py=Oh,_y=Py.namedTypes,Ny=Py.builtInTypes.array,Iy=Py.builtInTypes.object,Ly=Uh,Ry=Ly.concat,Oy=Ly.hardline,Yy=Ly.breakParent,My=Ly.indent,Vy=Ly.lineSuffix,Uy=Ly.join,Xy=Sy,Wy=Symbol("child-nodes"),Jy=Xy.locStart,Zy=Xy.locEnd,Ky={attach:function(LA,RA,OA){if(Ny.check(LA)){var YA=[];LA.forEach(function(MA){Oo(RA,MA,OA);const VA=MA.precedingNode,UA=MA.enclosingNode,XA=MA.followingNode;if(Xy.hasNewline(OA,Jy(MA),{backwards:!0}))Qo(UA,XA,MA)||Zo(UA,XA,MA)||Ko(UA,XA,MA)||(XA?Vo(XA,MA):VA?Xo(VA,MA):UA?Uo(UA,MA):Uo(RA,MA));else if(Xy.hasNewline(OA,Zy(MA)))$o(UA,XA,MA)||(VA?Xo(VA,MA):XA?Vo(XA,MA):UA?Uo(UA,MA):Uo(RA,MA));else if(Zo(UA,XA,MA));else if(VA&&XA){const JA=YA.length;if(0{const UA=VA.getValue();UA.leading||UA.trailing||YA.push(Sl(VA))},"comments"),0===YA.length?"":OA?Uy(Oy,YA):My(RA.tabWidth,Ry([Oy,Uy(Oy,YA)]))):""}},Qy="prettier",$y="0.18.0",Sb="Prettier is an opinionated JavaScript formatter",Tb={prettier:"./bin/prettier.js"},Pb={type:"git",url:"git+https://github.com/jlongster/prettier.git"},_b="James Long",Nb="MIT",Lb={url:"https://github.com/jlongster/prettier/issues"},Rb="./index.js",Ob={"ast-types":"0.9.4","babel-code-frame":"6.22.0",babylon:"6.15.0",chalk:"1.1.3",esutils:"2.0.2","flow-parser":"0.38.0","get-stdin":"5.0.1",glob:"7.1.1","jest-validate":"18.2.0",minimist:"1.2.0"},Yb={jest:"18.0.0",rollup:"0.41.1","rollup-plugin-commonjs":"7.0.0","rollup-plugin-json":"2.1.0","rollup-plugin-node-builtins":"2.0.0","rollup-plugin-node-globals":"1.1.0","rollup-plugin-node-resolve":"2.0.0","rollup-plugin-real-babili":"1.0.0-alpha3",diff:"3.2.0"},Mb={test:"jest",format:"./bin/prettier.js --write","format:single":"npm run format -- src/printer.js","format:all":"npm run format -- index.js src/*.js bin/*.js","build:docs":"rollup -c docs/rollup.config.js"},Vb={setupFiles:["/tests_config/run_spec.js"],testRegex:"jsfmt\\.spec\\.js$",testPathIgnorePatterns:["tests/new_react","tests/more_react"]},Ub=Object.freeze({name:Qy,version:$y,description:Sb,bin:Tb,repository:Pb,author:_b,license:Nb,bugs:Lb,main:Rb,dependencies:Ob,devDependencies:Yb,scripts:Mb,jest:Vb,default:{name:Qy,version:$y,description:Sb,bin:Tb,repository:Pb,author:_b,license:Nb,bugs:Lb,main:Rb,dependencies:Ob,devDependencies:Yb,scripts:Mb,jest:Vb}}),Xb=Xh,Wb=Oh,Jb=Sy,Zb=Wb.namedTypes,Kb=Wb.builtInTypes.array,Qb=Wb.builtInTypes.number,$b=_l.prototype;_l.from=function(IA){if(IA instanceof _l)return IA.copy();if(IA instanceof Wb.NodePath){var LA=Object.create(_l.prototype),RA=[IA.value];for(var OA;OA=IA.parentPath;IA=OA)RA.push(IA.name,OA.value);return LA.stack=RA.reverse(),LA}return new _l(IA)},$b.copy=function(){var IA=Object.create(_l.prototype);return IA.stack=this.stack.slice(0),IA},$b.getName=function(){var LA=this.stack,RA=LA.length;return 1UA)return!0;if(MA===UA&&"right"===RA)return Xb.strictEqual(LA.right,OA),!0;default:return!1;}case"SequenceExpression":switch(LA.type){case"ReturnStatement":return!1;case"ForStatement":return!1;case"ExpressionStatement":return"expression"!==RA;default:return!0;}case"YieldExpression":case"AwaitExpression":switch(LA.type){case"TaggedTemplateExpression":case"BinaryExpression":case"LogicalExpression":case"UnaryExpression":case"SpreadElement":case"SpreadProperty":case"NewExpression":case"MemberExpression":return!0;case"CallExpression":return LA.callee===OA;case"ConditionalExpression":return LA.test===OA;default:return!1;}case"ArrayTypeAnnotation":return"NullableTypeAnnotation"===LA.type;case"IntersectionTypeAnnotation":case"UnionTypeAnnotation":return"NullableTypeAnnotation"===LA.type||"IntersectionTypeAnnotation"===LA.type||"UnionTypeAnnotation"===LA.type;case"NullableTypeAnnotation":return"ArrayTypeAnnotation"===LA.type;case"FunctionTypeAnnotation":return"UnionTypeAnnotation"===LA.type||"IntersectionTypeAnnotation"===LA.type;case"NumericLiteral":case"Literal":return"MemberExpression"===LA.type&&Qb.check(OA.value)&&"object"===RA&&LA.object===OA;case"AssignmentExpression":if("ArrowFunctionExpression"===LA.type&&LA.body===OA&&"ObjectPattern"===OA.left.type)return!0;case"ConditionalExpression":switch(LA.type){case"TaggedTemplateExpression":case"UnaryExpression":case"SpreadElement":case"SpreadProperty":case"BinaryExpression":case"LogicalExpression":case"LogicalExpression":case"NewExpression":case"ExportDefaultDeclaration":return!0;case"CallExpression":return"callee"===RA&&LA.callee===OA;case"ConditionalExpression":return"test"===RA&&LA.test===OA;case"MemberExpression":return"object"===RA&&LA.object===OA;default:return Zb.ObjectPattern.check(OA.left)&&this.firstInStatement();}case"FunctionExpression":case"ArrowFunctionExpression":if("CallExpression"===LA.type&&"callee"===RA)return!0;switch(LA.type){case"ConditionalExpression":if(LA.test===OA)return!0;case"ExportDefaultDeclaration":return"ArrowFunctionExpression"!==OA.type;case"ExpressionStatement":case"MemberExpression":case"TaggedTemplateExpression":case"UnaryExpression":return!0;case"NewExpression":return"callee"===RA;case"LogicalExpression":return"ArrowFunctionExpression"===OA.type;default:return Ll(LA);}case"ClassExpression":switch(LA.type){case"TaggedTemplateExpression":case"BinaryExpression":case"ExportDefaultDeclaration":case"ExpressionStatement":return!0;case"CallExpression":if(LA.callee===OA)return!0;case"MemberExpression":return"object"===RA&&LA.object===OA;case"ConditionalExpression":if(LA.test===OA)return!0;}return!1;case"ObjectExpression":if("ArrowFunctionExpression"===LA.type&&"body"===RA)return!0;if("TaggedTemplateExpression"===LA.type)return!0;if("MemberExpression"===LA.type)return"object"===RA&&LA.object===OA;case"StringLiteral":if("ExpressionStatement"===LA.type)return!0;default:if("NewExpression"===LA.type&&"callee"===RA&&LA.callee===OA)return Rl(OA);}return!0!==IA&&!this.canBeFirstInStatement()&&this.firstInStatement()},$b.canBeFirstInStatement=function(){var IA=this.getNode();return!Zb.FunctionExpression.check(IA)&&!Zb.ObjectExpression.check(IA)&&!Zb.ClassExpression.check(IA)&&!(Zb.AssignmentExpression.check(IA)&&Zb.ObjectPattern.check(IA.left))},$b.firstInStatement=function(){var IA=this.stack,LA,RA,OA,YA;for(var MA=IA.length-1;0<=MA;MA-=2)if(Zb.Node.check(IA[MA])&&(OA=LA,YA=RA,LA=IA[MA-1],RA=IA[MA]),RA&&YA){if(Zb.BlockStatement.check(RA)&&"body"===LA&&0===OA)return Xb.strictEqual(RA.body[0],YA),!0;if(Zb.ExpressionStatement.check(RA)&&"expression"===OA)return Xb.strictEqual(RA.expression,YA),!0;if(Zb.SequenceExpression.check(RA)&&"expressions"===LA&&0===OA){Xb.strictEqual(RA.expressions[0],YA);continue}if(Zb.CallExpression.check(RA)&&"callee"===OA){Xb.strictEqual(RA.callee,YA);continue}if(Zb.MemberExpression.check(RA)&&"object"===OA){Xb.strictEqual(RA.object,YA);continue}if(Zb.ConditionalExpression.check(RA)&&"test"===OA){Xb.strictEqual(RA.test,YA);continue}if(Ll(RA)&&"left"===OA){Xb.strictEqual(RA.left,YA);continue}if(Zb.UnaryExpression.check(RA)&&!RA.prefix&&"argument"===OA){Xb.strictEqual(RA.argument,YA);continue}return!1}return!0};var Sg=Xh,Tg=Ky,Pg=_l,_g=Sy,Ng=Kc.keyword.isIdentifierNameES6,Lg=Uh,Rg=Lg.concat,Og=Lg.join,Yg=Lg.line,Mg=Lg.hardline,Vg=Lg.softline,Ug=Lg.literalline,Xg=Lg.group,Wg=Lg.indent,Jg=Lg.conditionalGroup,Zg=Lg.ifBreak,Kg=Lg.breakParent,Qg={isEmpty:function(LA){return"string"==typeof LA&&0===LA.length},getFirstString:function(LA){return Mi(LA,RA=>{if("string"==typeof RA&&0!==RA.trim().length)return RA},null)},willBreak:function(LA){return Mi(LA,RA=>{return"group"===RA.type&&RA.break||"line"===RA.type&&RA.hard||void 0},!1)},isLineNext:function(LA){return Mi(LA,RA=>{return"string"!=typeof RA&&(!("line"!==RA.type)||void 0)},!1)},traverseDoc:Yi,propagateBreaks:function(LA){const RA=[];Yi(LA,OA=>{"break-parent"===OA.type&&Vi(RA),"group"===OA.type&&RA.push(OA)},OA=>{if("group"===OA.type){const YA=RA.pop();YA.break&&Vi(RA)}})}},$g=Qg.willBreak,Sx=Qg.isLineNext,Tx=Qg.getFirstString,Px=Qg.isEmpty,_x=Oh,Nx=_x.namedTypes,Ix=_x.builtInTypes.string;const Lx=1,Rx=2,Ox=/(\\|\"|\')/g,Yx=IA=>IA.replace(Ox,"\\$1"),Mx=Object.prototype.toString,Vx=Date.prototype.toISOString,Ux=Error.prototype.toString,Xx=RegExp.prototype.toString,Wx=Symbol.prototype.toString,Jx=/^Symbol\((.*)\)(.*)$/,Zx=/\n/ig,Kx=Object.getOwnPropertySymbols||(()=>[]),Qx={callToJSON:!0,escapeRegex:!1,highlight:!1,indent:2,maxDepth:Infinity,min:!1,plugins:[],printFunctionName:!0,theme:{content:"reset",prop:"yellow",tag:"cyan",value:"green"}};var $x=function(LA,RA){RA?(Tc(RA),RA=Pc(RA)):RA=Qx;const OA={};Object.keys(RA.theme).forEach(ZA=>{OA[ZA]=RA.highlight?Mu[RA.theme[ZA]]:{close:"",open:""}});let YA,MA;const VA="",UA=0,XA=RA.min?" ":"\n",WA=RA.min?"":"\n";if(RA&&RA.plugins.length){YA=_c(RA.indent),MA=[];const ZA=$d(LA,YA,VA,XA,WA,MA,RA.maxDepth,UA,RA.plugins,RA.min,RA.callToJSON,RA.printFunctionName,RA.escapeRegex,OA);if(ZA)return ZA}const JA=Vd(LA,RA.printFunctionName,RA.escapeRegex);return JA?JA:(YA||(YA=_c(RA.indent)),MA||(MA=[]),Qd(LA,YA,VA,XA,WA,MA,RA.maxDepth,UA,RA.plugins,RA.min,RA.callToJSON,RA.printFunctionName,RA.escapeRegex,OA))},SS=[],TS=[],PS=function(IA,LA){if(IA===LA)return 0;var RA=IA.length,OA=LA.length;if(0===RA)return OA;if(0===OA)return RA;for(var XA=0,WA=0,YA,MA,VA,UA;XAMA?UA>MA?MA+1:UA:UA>VA?VA+1:UA;return MA};const _S=Rm,NS=_S.bold("\u25CF"),IS=`${NS} Deprecation Warning`,LS=`${NS} Validation Error`,RS=`${NS} Validation Warning`,OS=IA=>"function"==typeof IA?IA.toString():$x(IA,{min:!0});class YS extends Error{constructor(IA,LA,RA){super(),RA=RA?"\n\n"+RA:"\n",this.name="",this.message=_S.red(_S.bold(IA)+":\n\n"+LA+RA),Error.captureStackTrace(this,()=>{})}}var MS={DEPRECATION:IS,ERROR:LS,ValidationError:YS,WARNING:RS,createDidYouMeanMessage:(IA,LA)=>{const RA=LA.find(OA=>{const YA=PS(OA,IA);return 3>YA});return RA?`Did you mean ${_S.bold(OS(RA))}?`:""},format:OS,logValidationWarning:(IA,LA,RA)=>{RA=RA?"\n\n"+RA:"\n",console.warn(_S.yellow(_S.bold(IA)+":\n\n"+LA+RA))}};const VS=Rm,US=$x,XS=VS.green,WS=VS.red,JS=["zero","one","two","three","four","five","six","seven","eight","nine","ten","eleven","twelve","thirteen"],ZS=IA=>{if("undefined"==typeof IA)return"undefined";if(null===IA)return"null";if(Array.isArray(IA))return"array";if("boolean"==typeof IA)return"boolean";if("function"==typeof IA)return"function";if("number"==typeof IA)return"number";if("string"==typeof IA)return"string";if("object"==typeof IA)return IA.constructor===RegExp?"regexp":IA.constructor===Map?"map":IA.constructor===Set?"set":"object";if("symbol"==typeof IA)return"symbol";throw new Error(`value of unknown type: ${IA}`)},KS=function(IA){let LA=1WS(KS(IA)),$S=IA=>XS(KS(IA)),SE=(IA,LA,RA)=>{const OA=ZS(LA);return IA+":"+("null"!==OA&&"undefined"!==OA?"\n "+OA+": ":" ")+RA(LA)},TE=(IA,LA)=>{if(LA||(LA="This matcher"),"number"!=typeof IA)throw new Error(_E("[.not]"+LA)+"\n\n"+`Actual value must be a number.\n`+SE("Received",IA,QS))},PE=(IA,LA)=>{if(LA||(LA="This matcher"),"number"!=typeof IA)throw new Error(_E("[.not]"+LA)+"\n\n"+`Expected value must be a number.\n`+SE("Got",IA,$S))},_E=function(IA){let LA=1{if(LA||(LA="This"),"undefined"!=typeof IA)throw new Error(_E("[.not]"+LA,void 0,"")+"\n\nMatcher does not accept any arguments.\n"+SE("Got",IA,$S))},ensureNumbers:(IA,LA,RA)=>{TE(IA,RA),PE(LA,RA)},getType:ZS,matcherHint:_E,pluralize:(IA,LA)=>(JS[LA]||LA)+" "+IA+(1===LA?"":"s"),printExpected:$S,printReceived:QS,printWithType:SE,stringify:KS}.getType;var ME={ValidationError:RE,errorMessage:(IA,LA,RA,OA)=>{const YA=` Option ${NE.bold(`"${IA}"`)} must be of type: ${NE.bold.green(YE(RA))} but instead received: ${NE.bold.red(YE(LA))} diff --git a/package.json b/package.json index 69d152810..cd7004122 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "prettier", - "version": "0.17.1", + "version": "0.18.0", "description": "Prettier is an opinionated JavaScript formatter", "bin": { "prettier": "./bin/prettier.js"