buntis
Version:
A 100% compliant, self-hosted typescript parser that emits an ESTree-compatible abstract syntax tree
2 lines • 138 kB
JavaScript
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var estree=Object.freeze({});const KeywordDescTable=["end of source","identifier","number","string","regular expression","false","true","null","template continuation","template end","=>","(","{",".","...","}",")",";",",","[","]",":","?","?.","'",'"',"</","/>","++","--","=","<<=",">>=",">>>=","**=","+=","-=","*=","/=","%=","^=","|=","&=","typeof","delete","void","!","~","+","-","in","instanceof","*","%","/","**","&&","||","===","!==","==","!=","<=",">=","<",">","<<",">>",">>>","&","|","^","?.","var","let","const","break","case","catch","class","continue","debugger","default","do","else","export","extends","finally","for","function","if","import","new","return","super","switch","this","throw","try","while","with","implements","interface","package","private","protected","public","static","yield","as","async","await","constructor","get","set","from","of","Whitespace","CarriageReturn","LineFeed","LeadingZero","Error","#","BigIntLiteral","enum","Backslash","declare","type","abstract","namespace","module","global","keyof","unique","is","readonly","infer","require","asserts","EscapedStrictReserved","EscapedKeyword","JSXText","At"],descKeywordTable=Object.create(null,{this:{value:139360},function:{value:139353},if:{value:438362},return:{value:438365},var:{value:134357065},else:{value:438356},for:{value:438360},new:{value:139356},in:{value:16918578},typeof:{value:33693739},while:{value:438371},case:{value:438349},break:{value:438348},try:{value:438370},catch:{value:438350},delete:{value:33693740},throw:{value:438369},switch:{value:139359},continue:{value:438352},default:{value:438354},instanceof:{value:16918579},do:{value:438355},void:{value:33693741},finally:{value:438359},async:{value:430190},await:{value:168047},class:{value:139343},const:{value:134357067},constructor:{value:4208},debugger:{value:438353},export:{value:134656085},extends:{value:8278},false:{value:139269},from:{value:4211},get:{value:4209},implements:{value:16485},import:{value:139355},interface:{value:134664294},let:{value:184394},null:{value:139271},of:{value:4212},package:{value:16487},private:{value:540776},protected:{value:540777},public:{value:540778},set:{value:4210},static:{value:540779},super:{value:139358},true:{value:139270},with:{value:438372},yield:{value:184428},enum:{value:134226044},as:{value:16915309},declare:{value:36990},type:{value:134254719},abstract:{value:134779008},namespace:{value:134254721},module:{value:134254722},global:{value:134254723},keyof:{value:36996},unique:{value:36997},is:{value:36998},readonly:{value:561287},infer:{value:37e3},require:{value:37001},asserts:{value:138}}),unicodeLookup=((e,n)=>{const t=new Uint32Array(104448);let r=0,o=0;for(;r<3460;){const s=e[r++];if(s<0)o-=s;else{let a=e[r++];2&s&&(a=n[a]),1&s?t.fill(a,o,o+=e[r++]):t[o++]=a}}return t})([-1,2,27,2,28,2,5,-1,0,77595648,3,46,2,3,0,14,2,57,2,58,3,0,3,0,3168796671,0,4294956992,2,1,2,0,2,59,3,0,4,0,4294966523,3,0,4,2,16,2,60,2,0,0,4294836735,0,3221225471,0,4294901942,2,61,0,134152192,3,0,2,0,4294951935,3,0,2,0,2683305983,0,2684354047,2,17,2,0,0,4294961151,3,0,2,2,20,2,0,0,608174079,2,0,2,128,2,6,2,62,-1,2,64,2,25,2,1,3,0,3,0,4294901711,2,41,0,4089839103,0,2961209759,0,1342439375,0,4294543342,0,3547201023,0,1577204103,0,4194240,0,4294688750,2,2,0,80831,0,4261478351,0,4294549486,2,2,0,2965387679,0,196559,0,3594373100,0,3288319768,0,8469959,2,192,0,4294828031,0,3825204735,0,123747807,0,65487,2,3,0,4092591615,0,1080049119,0,458703,2,3,2,0,0,2163244511,0,4227923919,0,4236247020,2,69,0,4284449919,0,851904,2,4,2,11,0,67076095,-1,2,70,0,1073741743,0,4093591391,-1,0,50331649,0,3265266687,2,35,0,4294844415,0,4278190047,2,22,2,126,-1,3,0,2,2,32,2,0,2,9,2,0,2,14,2,15,3,0,10,2,72,2,0,2,73,2,74,2,75,2,0,2,76,2,0,2,10,0,261632,2,19,3,0,2,2,12,2,4,3,0,18,2,77,2,5,3,0,2,2,78,0,2088959,2,30,2,8,0,909311,3,0,2,0,814743551,2,43,0,67057664,3,0,2,2,42,2,0,2,31,2,0,2,18,2,7,0,268374015,2,29,2,51,2,0,2,79,0,134153215,-1,2,6,2,0,2,7,0,2684354559,0,67044351,0,1073676416,-2,3,0,2,2,44,0,1046528,3,0,3,2,8,2,0,2,52,0,4294960127,2,9,2,40,2,10,0,4294377472,2,11,3,0,7,0,4227858431,3,0,8,2,12,2,0,2,81,2,9,2,0,2,82,2,83,2,84,-1,2,122,0,1048577,2,85,2,13,-1,2,13,0,131042,2,86,2,87,2,88,2,0,2,36,-83,2,0,2,54,2,7,3,0,4,0,1046559,2,0,2,14,2,0,0,2147516671,2,23,3,89,2,2,0,-16,2,90,0,524222462,2,4,2,0,0,4269801471,2,4,2,0,2,15,2,80,2,16,3,0,2,2,49,2,11,-1,2,17,-16,3,0,205,2,18,-2,3,0,655,2,19,3,0,36,2,71,-1,2,17,2,9,3,0,8,2,92,2,119,2,0,0,3220242431,3,0,3,2,20,2,21,2,93,3,0,2,2,94,2,0,2,95,2,21,2,0,2,26,2,0,2,8,3,0,2,0,67043391,0,3909091327,2,0,2,24,2,8,2,22,3,0,2,0,67076097,2,7,2,0,2,23,0,67059711,0,4236247039,3,0,2,0,939524103,0,8191999,2,98,2,99,2,15,2,33,3,0,3,0,67057663,3,0,349,2,100,2,101,2,6,-264,3,0,11,2,24,3,0,2,2,34,-1,0,3774349439,2,102,2,103,3,0,2,2,20,2,25,3,0,10,2,9,2,17,2,0,2,47,2,0,2,26,2,104,2,19,0,1638399,2,172,2,105,3,0,3,2,22,2,27,2,28,2,5,2,29,2,0,2,7,2,106,-1,2,107,2,108,2,109,-1,3,0,3,2,11,-2,2,0,2,30,-3,2,150,-4,2,22,2,0,2,38,0,1,2,0,2,63,2,31,2,11,2,9,2,0,2,110,-1,3,0,4,2,9,2,32,2,111,2,6,2,0,2,33,2,0,2,50,-4,3,0,9,2,23,2,18,2,26,-4,2,112,2,113,2,18,2,23,2,7,-2,2,114,2,18,2,34,-2,2,0,2,115,-2,0,4277137519,0,2269118463,-1,3,22,2,-1,2,35,2,39,2,0,3,18,2,2,37,2,20,-3,3,0,2,2,36,-1,2,0,2,37,2,0,2,37,2,0,2,48,-14,2,22,2,45,2,38,-4,2,23,3,0,2,2,39,0,2147549120,2,0,2,11,2,17,2,134,2,0,2,53,0,4294901872,0,5242879,3,0,2,0,402595359,-1,2,118,0,1090519039,-2,2,120,2,40,2,0,0,67045375,2,41,0,4226678271,0,3766565279,0,2039759,-4,3,0,2,0,3288270847,-1,3,0,2,0,67043519,-5,2,0,0,4282384383,0,1056964609,-1,3,0,2,0,67043345,-1,2,0,2,42,2,43,-1,2,10,2,44,-6,2,0,2,11,-3,3,0,2,0,2147484671,-5,2,123,0,4244635647,0,27,2,0,2,7,2,45,2,0,2,65,-1,2,0,2,42,-8,2,55,2,46,0,67043329,2,124,2,47,0,8388351,-2,2,125,0,3028287487,2,48,2,127,0,33259519,2,43,-9,2,23,-8,3,0,28,2,34,-3,3,0,3,2,49,3,0,6,2,50,-85,3,0,33,2,49,-126,3,0,18,2,39,-269,3,0,17,2,42,2,7,2,43,-2,2,17,2,51,2,0,2,23,0,67043343,2,129,2,19,-21,3,0,2,-4,3,0,2,0,4294936575,2,0,0,4294934783,-2,2,130,3,0,191,2,52,3,0,23,2,37,-296,3,0,8,2,7,-1,2,131,2,132,3,0,11,2,6,-72,3,0,3,2,133,0,1677656575,-166,0,4161266656,0,4071,0,15360,-4,0,28,-13,3,0,2,2,53,2,0,2,135,2,136,2,56,2,0,2,137,2,138,2,139,3,0,10,2,140,2,141,2,15,3,53,2,3,54,2,3,55,2,0,4294954999,2,0,-16,2,0,2,91,2,0,0,2105343,0,4160749584,0,65534,-42,0,4194303871,0,2011,-6,2,0,0,1073684479,0,17407,-11,2,0,2,34,-40,3,0,6,0,8323103,-1,3,0,2,2,44,-37,2,56,2,144,2,145,2,146,2,147,2,148,-138,3,0,1334,2,23,-1,3,0,129,2,30,3,0,6,2,9,3,0,180,2,149,3,0,233,0,1,-96,3,0,16,2,9,-22583,3,0,7,2,19,-6130,3,5,2,-1,0,69207040,3,46,2,3,0,14,2,57,2,58,-3,0,3168731136,0,4294956864,2,1,2,0,2,59,3,0,4,0,4294966275,3,0,4,2,16,2,60,2,0,2,36,-1,2,17,2,61,-1,2,0,2,62,0,4294885376,3,0,2,0,3145727,0,2617294944,0,4294770688,2,19,2,63,3,0,2,0,131135,2,96,0,70256639,0,71303167,0,272,2,42,2,62,-1,2,64,-2,2,97,2,65,0,4278255616,0,4294836227,0,4294549473,0,600178175,0,2952806400,0,268632067,0,4294543328,0,57540095,0,1577058304,0,1835008,0,4294688736,2,66,2,67,0,33554435,2,121,2,66,2,151,0,131075,0,3594373096,0,67094296,2,67,-1,2,68,0,603979263,2,160,0,3,0,4294828001,0,602930687,2,181,0,393219,2,68,0,671088639,0,2154840064,0,4227858435,0,4236247008,2,69,2,39,-1,2,4,0,917503,2,39,-1,2,70,0,537788335,0,4026531935,-1,0,1,-1,2,35,2,71,0,7936,-3,2,0,0,2147485695,0,1010761728,0,4292984930,0,16387,2,0,2,14,2,15,3,0,10,2,72,2,0,2,73,2,74,2,75,2,0,2,76,2,0,2,11,-1,2,19,3,0,2,2,12,2,4,3,0,18,2,77,2,5,3,0,2,2,78,0,253951,3,20,2,0,122879,2,0,2,8,0,276824064,-2,3,0,2,2,42,2,0,0,4294903295,2,0,2,18,2,7,-1,2,17,2,51,2,0,2,79,2,43,-1,2,23,2,0,2,30,-2,0,128,-2,2,80,2,8,0,4064,-1,2,117,0,4227907585,2,0,2,116,2,0,2,50,0,4227915776,2,9,2,40,2,10,-1,0,74440192,3,0,6,-2,3,0,8,2,12,2,0,2,81,2,9,2,0,2,82,2,83,2,84,-3,2,85,2,13,-3,2,86,2,87,2,88,2,0,2,36,-83,2,0,2,54,2,7,3,0,4,0,817183,2,0,2,14,2,0,0,33023,2,23,3,89,2,-17,2,90,0,524157950,2,4,2,0,2,91,2,4,2,0,2,15,2,80,2,16,3,0,2,2,49,2,11,-1,2,17,-16,3,0,205,2,18,-2,3,0,655,2,19,3,0,36,2,71,-1,2,17,2,9,3,0,8,2,92,0,3072,2,0,0,2147516415,2,9,3,0,2,2,19,2,21,2,93,3,0,2,2,94,2,0,2,95,2,21,0,4294965179,0,7,2,0,2,8,2,93,2,8,-1,0,1761345536,2,96,0,4294901823,2,39,2,22,2,97,2,37,2,165,0,2080440287,2,0,2,36,2,142,0,3296722943,2,0,0,1046675455,0,939524101,0,1837055,2,98,2,99,2,15,2,33,3,0,3,0,7,3,0,349,2,100,2,101,2,6,-264,3,0,11,2,24,3,0,2,2,34,-1,0,2700607615,2,102,2,103,3,0,2,2,20,2,25,3,0,10,2,9,2,17,2,0,2,47,2,0,2,26,2,104,-3,2,105,3,0,3,2,22,-1,3,5,2,2,29,2,0,2,7,2,106,-1,2,107,2,108,2,109,-1,3,0,3,2,11,-2,2,0,2,30,-8,2,22,2,0,2,38,-1,2,0,2,63,2,31,2,18,2,9,2,0,2,110,-1,3,0,4,2,9,2,17,2,111,2,6,2,0,2,33,2,0,2,50,-4,3,0,9,2,23,2,18,2,26,-4,2,112,2,113,2,18,2,23,2,7,-2,2,114,2,18,2,34,-2,2,0,2,115,-2,0,4277075969,2,18,-1,3,22,2,-1,2,35,2,143,2,0,3,18,2,2,37,2,20,-3,3,0,2,2,36,-1,2,0,2,37,2,0,2,37,2,0,2,50,-14,2,22,2,45,2,116,-4,2,23,2,117,2,52,-2,2,117,2,19,2,17,2,36,2,117,2,39,0,4294901776,0,4718591,2,117,2,37,0,335544350,-1,2,118,2,119,-2,2,120,2,40,2,7,-1,2,121,2,66,0,3758161920,0,3,-4,2,0,2,30,0,2147485568,-1,2,0,2,19,0,176,-5,2,0,2,49,2,183,-1,2,0,2,19,2,195,-1,2,0,0,16779263,-2,2,11,-7,2,0,2,119,-3,3,0,2,2,122,-5,2,123,2,38,0,10,0,4294965249,0,67633151,0,4026597376,2,0,0,536871935,-1,2,0,2,42,-8,2,55,2,49,0,1,2,124,2,19,-3,2,125,2,38,2,126,2,127,0,16778239,-10,2,37,-8,3,0,28,2,34,-3,3,0,3,2,49,3,0,6,2,50,-85,3,0,33,2,49,-126,3,0,18,2,39,-269,3,0,17,2,42,2,7,-3,2,17,2,128,2,0,2,19,2,50,2,129,2,19,-21,3,0,2,-4,3,0,2,0,67583,-1,2,25,-2,2,130,3,0,191,2,52,3,0,23,2,37,-296,3,0,8,2,7,-1,2,131,2,132,3,0,11,2,6,-72,3,0,3,2,133,2,134,-187,3,0,2,2,53,2,0,2,135,2,136,2,56,2,0,2,137,2,138,2,139,3,0,10,2,140,2,141,2,15,3,53,2,3,54,2,3,55,2,2,142,-73,2,0,0,1065361407,0,16384,-11,2,0,2,119,-40,3,0,6,2,143,-1,3,0,2,0,2063,-37,2,56,2,144,2,145,2,146,2,147,2,148,-138,3,0,1334,2,23,-1,3,0,129,2,30,3,0,6,2,9,3,0,180,2,149,3,0,233,0,1,-96,3,0,16,2,9,-28719,2,0,0,1,-1,2,122,2,0,0,8193,-21,2,191,0,10255,0,4,-11,2,67,2,170,-1,0,71680,-1,2,161,0,4292900864,0,805306431,-5,2,150,-1,2,177,-1,2,200,-2,2,124,-1,2,154,-1,2,157,2,151,2,164,2,0,0,3223322624,2,37,0,4,-4,2,189,0,205128192,0,1333757536,0,2147483696,0,423953,0,747766272,0,2717763192,0,4286578751,0,278545,2,152,0,4294886464,0,33292336,0,417809,2,152,0,1329579616,0,4278190128,0,700594195,0,1006647527,0,4286497336,0,4160749631,2,153,0,469762560,0,4171219488,0,8323120,2,153,0,202375680,0,3214918176,0,4294508592,0,139280,-1,0,983584,0,48,0,58720275,0,3489923072,0,10517376,0,4293066815,0,1,0,2013265920,2,176,2,0,0,2089,0,3221225552,0,201375904,2,0,-2,0,256,0,122880,0,16777216,2,150,0,4160757760,2,0,-6,2,166,-11,0,3263218176,-1,0,49664,0,2160197632,0,8388802,-1,0,12713984,-1,2,154,2,159,2,178,-2,2,162,-20,0,3758096385,-2,2,155,0,4292878336,2,21,2,168,0,4294057984,-2,2,163,2,156,2,174,-2,2,155,-1,2,180,-1,2,169,2,122,0,4026593280,0,14,0,4292919296,-1,2,158,0,939588608,-1,0,805306368,-1,2,122,0,1610612736,2,156,2,157,3,0,2,-2,2,158,2,159,-3,0,267386880,-1,2,160,0,7168,-1,0,65024,2,154,2,161,2,171,-7,2,167,-8,2,162,-1,0,1426112704,2,163,-1,2,186,0,271581216,0,2149777408,2,19,2,161,2,122,0,851967,0,3758129152,-1,2,19,2,179,-4,2,158,-20,2,193,2,164,-56,0,3145728,2,185,-4,2,165,2,122,-4,0,32505856,-1,2,166,-1,0,2147385088,2,21,1,2155905152,2,-3,2,17,2,0,2,167,-2,2,168,-6,2,169,0,4026597375,0,1,-1,0,1,-1,2,170,-3,2,143,2,67,-2,2,165,2,171,-1,2,175,2,122,-6,2,122,-213,2,169,-657,2,17,-36,2,172,-1,2,187,-10,2,198,-5,2,173,-6,0,4294967171,2,23,-1,0,4227919872,-1,2,173,-2,0,4227874752,-3,0,2146435072,2,159,-2,0,1006649344,2,122,-1,2,21,0,201375744,-3,0,134217720,2,21,0,4286677377,0,32896,-1,2,161,-3,2,174,-349,2,175,0,1920,2,176,3,0,264,-11,2,177,-2,2,178,2,0,0,520617856,0,2692743168,0,36,-3,0,524284,-11,2,19,-1,2,184,-1,2,182,0,3221291007,2,178,-1,0,524288,0,2158720,-3,2,159,0,1,-4,2,122,0,3808625411,0,3489628288,2,199,0,1207959680,0,3221274624,2,0,-3,2,171,0,120,0,7340032,-2,0,4026564608,2,4,2,19,2,163,3,0,4,2,159,-1,2,179,2,176,-1,0,8176,2,180,2,171,2,181,-1,0,4290773232,2,0,-4,2,163,2,188,0,15728640,2,176,-1,2,161,-1,0,4294934512,3,0,4,-9,2,21,2,169,2,182,3,0,4,0,704,0,1849688064,0,4194304,-1,2,122,0,4294901887,2,0,0,130547712,0,1879048192,2,197,3,0,2,-1,2,183,2,184,-1,0,17829776,0,2025848832,0,4261477888,-2,2,0,-1,0,4286580608,-1,0,29360128,2,185,0,16252928,0,3791388672,2,40,3,0,2,-2,2,194,2,0,-1,2,25,-1,0,66584576,-1,2,190,3,0,9,2,122,3,0,4,-1,2,161,2,178,3,0,4,2,21,-2,0,245760,0,2147418112,-1,2,150,2,202,0,4227923456,-1,2,186,2,187,2,21,-2,2,177,0,4292870145,0,262144,2,122,3,0,2,0,1073758848,2,188,-1,0,4227921920,2,189,0,68289024,0,528402016,0,4292927536,3,0,4,-2,0,335544320,2,0,-2,2,190,3,0,5,-1,2,185,2,163,2,0,-2,0,4227923936,2,63,-1,2,155,2,96,2,0,2,154,2,158,3,0,6,-1,2,176,3,0,3,-2,0,2146959360,3,0,5,0,768,2,191,2,80,-2,2,161,-2,2,117,-1,2,155,3,0,8,0,512,0,8388608,2,192,2,172,2,184,0,4286578944,3,0,2,0,1152,0,1266679808,2,190,0,576,0,4261707776,2,96,3,0,9,2,155,3,0,6,-1,0,2147221504,-28,2,178,3,0,3,-3,0,4292902912,-6,2,97,3,0,85,-33,0,4294934528,3,0,126,-18,2,193,3,0,269,-17,2,155,2,122,2,196,3,0,2,2,19,0,4290822144,-2,0,67174336,0,520093700,2,17,3,0,21,-2,2,171,3,0,3,-2,0,30720,-1,0,32512,3,0,2,2,97,-191,2,173,-23,2,25,3,0,296,-8,2,122,2,0,0,4294508543,0,65295,-11,2,176,3,0,72,-3,0,3758159872,0,201391616,3,0,155,-7,2,169,-1,0,384,-1,0,133693440,-3,2,194,-2,2,29,3,0,4,2,168,-2,2,21,2,155,3,0,4,-2,2,186,-1,2,150,0,335552923,2,195,-1,0,538974272,0,2214592512,0,132e3,-10,0,192,-8,0,12288,-21,0,134213632,0,4294901761,3,0,42,0,100663424,0,4294965284,3,0,6,-1,0,3221282816,2,196,3,0,11,-1,2,197,3,0,40,-6,0,4286578784,2,0,-2,0,1006694400,3,0,24,2,38,-1,2,201,3,0,2,0,1,2,163,3,0,6,2,195,0,4110942569,0,1432950139,0,2701658217,0,4026532864,0,4026532881,2,0,2,47,3,0,8,-1,2,158,-2,2,168,0,98304,0,65537,2,169,2,172,-2,2,172,-1,2,63,2,0,2,116,0,65528,2,176,0,4294770176,2,29,3,0,4,-30,2,169,0,4160806912,-3,2,168,-2,2,155,2,198,2,158,-1,2,190,-1,2,161,0,4294950912,3,0,2,2,199,-2,0,58982400,-1,0,14360,2,200,-3,2,168,0,4176527360,0,4290838520,3,0,43,-1334,2,21,2,0,-129,2,201,-6,2,163,-180,2,202,-233,2,4,3,0,96,-16,2,163,3,0,22583,-7,2,17,3,0,6128],[4294967295,4294967291,4092460543,4294828015,4294967294,134217726,268435455,2147483647,1048575,1073741823,3892314111,134217727,1061158911,536805376,4294910143,4160749567,4294901759,4294901760,4194303,65535,262143,4286578688,536870911,8388607,4294918143,4294443008,255,67043328,2281701374,4294967232,2097151,4294903807,4294902783,4294902015,67108863,4294967039,511,524287,131071,127,4294902271,4294549487,33554431,1023,67047423,4294901888,4286578687,4294770687,67043583,32767,15,2047999,16777215,4292870143,4294934527,4294966783,4294967279,262083,20511,4290772991,41943039,493567,2047,4294959104,1071644671,603979775,602799615,65536,4294828e3,805044223,4294965206,8191,1031749119,4294917631,2134769663,4286578493,4282253311,4294942719,33540095,4294905855,4294967264,2868854591,1608515583,265232348,534519807,2147614720,1060109444,4093640016,17376,2139062143,224,4169138175,4294909951,4294967292,4294965759,124,4294966272,4294967280,8289918,4294934399,4294901775,4294965375,1602223615,4294967259,268369920,4292804608,486341884,4294963199,3087007615,1073692671,4128527,4279238655,4294966591,2445279231,3670015,3238002687,63,4294967288,4294705151,4095,3221208447,4294549472,2147483648,4294966527,4294705152,4294966143,64,4294966719,16383,3774873592,11,458752,4294902e3,536807423,67043839,3758096383,3959414372,3755993023,2080374783,4294835295,4294967103,4160749565,4087,31,184024726,2862017156,1593309078,268434431,268434414,4294901763,536870912,2952790016,202506752,139264,402653184,4261412864,4227922944,2147532800,61440,3758096384,117440512,65280,3233808384,3221225472,4294965248,32768,57152,67108864,4293918720,4290772992,25165824,4160749568,57344,4278190080,4227907584,65520,4026531840,49152,4227858432,4294836224,63488,1073741824,4294967040,251658240,196608,12582912,2097152,65408,64512,417808,4227923712,50331648,65472,4294967168,4294966784,16,4294917120,2080374784,4294963200,4096,6144,4292870144,65532]),CharTypes=[0,0,0,0,0,0,0,0,0,0,4,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,256,0,2304,512,0,26,26,26,26,26,26,26,26,58,58,0,0,1024,0,0,0,0,19,19,19,19,531,19,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,1,0,0,579,0,19,19,19,19,531,19,3,3,3,3,515,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1024,0,0,0,0],identifierStart=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0],identifierPart=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0];function isIdentifierStart(e){return e<=127?identifierStart[e]:1&unicodeLookup[34816+(e>>>5)]>>>e}function isIdentifierPart(e){return e<=127?identifierPart[e]:1&unicodeLookup[0+(e>>>5)]>>>e||8204===e||8205===e}function advance(e){return e.column++,e.nextCodePoint=e.source.charCodeAt(++e.index)}function fromCodePoint(e){return e<=65535?String.fromCharCode(e):String.fromCharCode(e>>>10)+String.fromCharCode(1023&e)}function toHex(e){return e<65?e-48:e-65+10&15}function consumeMultiUnitCodePoint(e,n){if(55296!=(64512&n))return 0;const t=e.source.charCodeAt(e.index+1);return 56320!=(64512&t)?0:(n=e.nextCodePoint=65536+((1023&n)<<10)+(1023&t),0==(1&unicodeLookup[0+(n>>>5)]>>>n)?-2:(e.index++,1))}function consumeLineFeed(e,n){e.nextCodePoint=e.source.charCodeAt(++e.index),e.precedingLineBreak=1,0===n&&(e.column=0,e.line++)}function advanceNewline(e){e.nextCodePoint=e.source.charCodeAt(++e.index),e.precedingLineBreak=1,e.column=0,e.line++}function isExoticECMAScriptWhitespace(e){return 160===e||65279===e||133===e||5760===e||e>=8192&&e<=8203||8239===e||8287===e||12288===e||65519===e}const errorMessages={0:"Unexpected",1:"Unexpected token %0",2:"Expected %0",3:"Invalid character",4:"Invalid SMP character",5:"Octal numeric literals and escape characters not allowed in strict mode",6:"Invalid hexadecimal escape sequence",7:"Invalid code point %0",8:"Invalid Unicode escape sequence",9:"Only unicode escapes are legal in identifier names",10:"Only one underscore is allowed as numeric separato",30:"Numeric separators '_' are not allowed in numbers that start with '0'",11:"Missing hexadecimal digits after '0x'",12:"Missing octal digits after '0o'",13:"Missing binary digits after '0b'",14:"Numeric separators are not allowed at the end of numeric literals",15:"Non-number found after exponent indicator",16:"Unexpected identifier after numeric literal",17:"Unterminated string literal",18:"Unterminated template literal",19:"Octal escape sequences are not allowed in template strings",20:"Octal escape sequences are not allowed in strict mode",21:"Escapes \\8 or \\9 are not syntactically valid escapes",22:"Unicode escape sequence value is higher than 0x10FFFF",23:"Duplicate regular expression flag '%0'",24:"Unexpected regular expression flag",25:"Unterminated regular expression",28:"Invalid BigInt syntax",29:"Expected a closing curly brace `}`",26:"`let \n [` is a restricted production at the start of a statement",31:"Invalid unescaped line break in string literal",32:"Reached end of script in the middle of an escape sequence",33:"HTML comments are only allowed with web compability (Annex B)",34:"Multiline comment was not closed properly",27:"Coalescing and logical operators used together in the same expression must be disambiguated with parentheses",35:"Property or signature expected",36:"Classes may not have a non-static field named 'constructor'",37:"'readonly' type modifier is only permitted on array and tuple literal types",38:"%0 modifier must precede '%1' modifier",39:"Accessibility modifier already seen",40:"%0 modifier already seen",64:"Member access on super must be in a method",65:'Calls to super must be in the "constructor" method of a class expression or class declaration that has a superclass',66:"Class constructor may not be a %0",67:"Duplicate constructor method in class",42:"%0 modifier cannot be used with 'abstract' modifier",41:"Abstract methods can only appear within an abstract class",43:"Current method cannot have an implementation because it is marked abstract",44:"'readonly' modifier can only appear on a property declaration or index signature",45:"Function implementation is missing or not immediately following the declaration",46:"An abstract accessor cannot have an implementation",47:"Unexpected token. A constructor, method, accessor, or property was expected",48:"'A definite assignment assertion '!' is not permitted in this context",49:"%0 modifier cannot appear on an index signature",50:"An index signature parameter cannot have a question mark",51:"An index signature must have a type annotation",52:"An index signature must have exactly one parameter",53:"An index signature cannot have a rest parameter",55:"'static' modifier cannot appear on parameter",56:"Expression expected",57:"'static' modifier cannot appear on %0",58:"An index signature parameter type cannot be a union type. Consider using a mapped object type instead",59:"'%0' is a reserved word in strict mode. Class definitions are automatically in strict mode",60:"A parameter property is only allowed in a constructor implementation",61:"'abstract' modifier can only appear on a class, method, or property declaration",62:"Unexpected strict mode reserved word",63:"Async modifier cannot be used here",68:"An implementation cannot be declared in ambient contexts",69:"Constructor implementation is missing",70:"Generators are not allowed in an ambient context",71:"Enum member expected",72:"An enum member cannot have a numeric name",73:"A parameter initializer is only allowed in a function or constructor implementation",74:"%0 functions must have exactly %1 argument%2",75:"Setter function argument must not be a rest parameter",76:"Invalid new target",77:"A computed property name must be of type 'string', 'number', 'symbol' or 'any",78:"An index signature parameter type must be 'string' or 'number'",79:"JSDoc types can only be used inside documentation comments",80:"Implements list cannot be empty",81:"A required element cannot follow an optional element",82:"A rest element must be last in a tuple type",83:"%0 declaration must have a name in this context",84:"An export assignment cannot have modifiers",86:"Block body arrows can not be immediately invoked without a group",85:"Block body arrows can not be immediately accessed without a group",87:"An arrow function can not have a postfix update operator",88:"An import declaration can only be used in a namespace or module",89:"Missing initializer in %0 declaration",90:"'for-%0' loop head declarations can not have an initializer",91:"'this' cannot be referenced in a static property initializer.",93:"JSX value should be either an expression or a quoted JSX text",92:"Expected corresponding JSX closing tag for %0",95:"Adjacent JSX elements must be wrapped in an enclosing tag",94:"JSX attributes must only be assigned a non-empty 'expression'",96:"Invalid keyword",97:"Await is only valid in async functions",98:"'%0' may not be used as an identifier in this context",99:"Decorators are not valid here",100:"Decorators are not valid here"};function report(e,n,t,r,...o){const s=errorMessages[t].replace(/%(\d+)/g,(e,n)=>o[n]),{index:a,line:i,column:p}=e,c=new SyntaxError(`Line ${i}, column ${p}: ${s}`);throw c.index=a,c.line=i,c.column=p,c.description=s,c}function scanNumber(e,n,t,r){let o=e.nextCodePoint,s=0,a=0;if(r){if((s=scanDecimalDigits(e,n,o))<0)return 121;a="."+s}else{let i=9,p=0;if(0===t){for(;i>=0&&(o>=48&&o<=57||95==o);)if(95!==o)p=0,a=10*a+(o-48),o=advance(e),--i;else{if(95===(o=advance(e)))return report(e,n,10),121;p=1}if(p)return report(e,n,14),121;if(i>=0&&46!==o&&!isIdentifierStart(o))return e.tokenValue=a,268566530}if((s=scanDecimalDigits(e,n,o))<0)return 121;if(a+=s,46===(o=e.nextCodePoint)){if(95===(o=advance(e)))return report(e,n,0),121;if((s=scanDecimalDigits(e,n,o))<0)return 121;a+="."+s,r=1}}o=e.nextCodePoint;const{index:i}=e;let p=0;if(110===o){if(r||t)return report(e,n,28),121;o=advance(e),p=1}else if(101==(32|o)){o=advance(e),256&CharTypes[o]&&(o=advance(e));const{index:t}=e;if(0==(8&CharTypes[o]))return report(e,n,15),121;if((s=scanDecimalDigits(e,n,o))<0)return 121;a+=e.source.substring(i,t)+s,o=e.nextCodePoint}return e.index<e.length&&o>=48&&o<=57||isIdentifierStart(o)?(report(e,n,16),121):(e.tokenValue=t?parseFloat(e.source.slice(e.startPos,e.index)):+a,p?123:268566530)}function scanDecimalDigits(e,n,t){let r=0,o=e.index,s="";for(;t>=48&&t<=57||95==t;)if(95!==t)r=0,t=advance(e);else{const{index:a}=e;if(95===(t=advance(e)))return report(e,n,10),-1;r=1,s+=e.source.substring(o,a),o=e.index}return r?(report(e,n,14),-1):s+e.source.substring(o,e.index)}function scanLeadingZero(e,n,t){let r=0,o=0,s=0,a=0;if(120==(32|(t=advance(e)))){for(t=advance(e);80&CharTypes[t];)if(95!==t)o=1,a=16*a+toHex(t),s++,t=advance(e);else{if(!o)return report(e,n,10),121;o=0,t=advance(e)}if(s<1||!o)return report(e,n,s<1?11:14),121}else if(111==(32|t)){for(t=advance(e);t>=48&&t<=55||95==t;)if(95!==t)o=1,a=8*a+(t-48),s++,t=advance(e);else{if(!o)return report(e,n,10),121;o=0,t=advance(e)}if(s<1||!o)return report(e,n,s<1?12:14),121}else if(98==(32|t)){for(t=advance(e);t>=48&&t<=49||95==t;)if(95!==t)o=1,a=2*a+(t-48),s++,t=advance(e);else{if(!o)return report(e,n,10),121;o=0,t=advance(e)}if(s<1||!o)return report(e,n,s<1?13:14),121}else{if(!(t>=48&&t<=57))return 95===t?(report(e,n,30),121):scanNumber(e,n,r,0);if(1024&n)return report(e,n,20),121;for(;t>=48&&t<=57;)t>=56&&(r=1),a=8*a+(t-48),advance(e),t=e.nextCodePoint;if(95===t)return report(e,n,30),121;if(110===t)return report(e,n,28),121;if(r)return scanNumber(e,n,r,0)}let i=0;return 110===t&&(t=advance(e),i=1),e.index<e.length&&t>=48&&t<=57||isIdentifierStart(t)?(report(e,n,16),121):(e.tokenValue=a,i?123:268566530)}function handleIdentifierError(e){switch(e){case-2:return 7;case-3:return 6;case-4:return 22;case-6:case-5:return 8;case-7:return 29;default:return 0}}function handleEscapeError(e,n){return-2===e?n?19:20:-3===e?21:-4===e?6:-5===e?22:-6===e?29:0}function scanStringLiteral(e,n,t){let r="";const{index:o}=e;let s=advance(e);for(;0==(4&CharTypes[s]);){if(s===t)return advance(e),64&n&&(e.tokenRaw=e.source.slice(o,e.index)),e.tokenValue=r,268566531;if(8==(8&s)&&92===s)if((s=advance(e))>=128)r+=fromCodePoint(s);else{e.nextCodePoint=s;const t=parseEscape(e,n,s);if(t>=0)r+=fromCodePoint(t);else if(-1!==t)return report(e,n,handleEscapeError(t,0)),121}else(8232^s)<=1?(e.index++,e.column=0,e.line++):r+=fromCodePoint(s);if(s=advance(e),e.index>=e.length)return report(e,n,17),121}return report(e,n,31),121}function scanTemplate(e,n){const{index:t}=e;let r="",o=!0,s=advance(e);for(;96!==s;){if(36===s){const n=e.index+1;if(n<e.source.length&&123===e.source.charCodeAt(n)){e.index=n,e.column++,o=!1;break}r+="$"}else if(92===s)if((s=advance(e))>=128)r+=fromCodePoint(s);else{e.nextCodePoint=s;const t=parseEscape(e,1024|n,s);if(t>=0)r+=fromCodePoint(t);else{if(-1!==t&&65536&n){if(r=null,(s=scanLooserTemplateSegment(e,n,e.nextCodePoint))<0){o=!1;break}if(69632===s)return 121;break}if(-1!==t)return report(e,n,handleEscapeError(t,1)),121}}else(83&s)<3&&4&CharTypes[s]||(8232^s)<=1?(13===s&&e.index<e.length&&10===e.source.charCodeAt(e.index)&&(r+=fromCodePoint(s),s=e.source.charCodeAt(e.index),e.index++),e.column=-1,e.line++,r+=fromCodePoint(s)):r+=fromCodePoint(s);if(s=advance(e),e.index>=e.length)return report(e,n,18),121}return advance(e),e.tokenValue=r,o?(e.tokenRaw=e.source.slice(t+1,e.index-1),131081):(e.tokenRaw=e.source.slice(t+1,e.index-2),131080)}function scanLooserTemplateSegment(e,n,t){for(;96!==t;){if(36===t){const n=e.index+1;if(n<e.source.length&&123===e.source.charCodeAt(n))return e.index=n,e.column++,-t}if(t=e.source.charCodeAt(++e.index),e.index>=e.length)return report(e,n,18),69632}return t}function scanTemplateTail(e,n){return e.index--,scanTemplate(e,n)}function parseEscape(e,n,t){switch(t){case 98:return 8;case 102:return 12;case 114:return 13;case 110:return 10;case 116:return 9;case 118:return 11;case 13:{const{index:n}=e;if(n<e.source.length){const t=e.source.charCodeAt(n);10===t&&(e.nextCodePoint=t,e.index=n+1)}}case 10:case 8232:case 8233:return e.column=-1,e.line++,-1;case 48:case 49:case 50:case 51:{let r=t-48,o=e.index+1,s=e.column+1;if(o<e.length){const t=e.source.charCodeAt(o);if(t<48||t>55){if((0!==r||32&CharTypes[t])&&1280&n)return-2}else{if(1280&n)return-2;if(e.nextCodePoint=t,r=r<<3|t-48,s++,++o<e.length){const n=e.source.charCodeAt(o);n>=48&&n<=55&&(e.nextCodePoint=n,r=r<<3|n-48,o++,s++)}e.index=o-1,e.column=s-1}}return r}case 52:case 53:case 54:case 55:{if(1280&n)return-2;let r=t-48;const o=e.index+1,s=e.column+1;if(o<e.length){const n=e.source.charCodeAt(o);n>=48&&n<=55&&(r=r<<3|n-48,e.nextCodePoint=n,e.index=o,e.column=s)}return r}case 56:case 57:return-3;case 120:{const n=advance(e);if(0==(16&CharTypes[n]))return-4;const t=advance(e);return 0==(16&CharTypes[t])?-4:toHex(n)<<4|toHex(t)}case 117:{let n=advance(e);if(123===n){n=advance(e);let t=0,r=0;for(;16&CharTypes[n];){if((t=t<<4|toHex(n))>1114111)return-5;n=e.source.charCodeAt(++e.index),e.column++,r++}return r<4?-4:125!==n?-6:t}if(0==(16&CharTypes[n]))return-4;const t=e.source.charCodeAt(e.index+1);if(0==(16&CharTypes[t]))return-4;const r=e.source.charCodeAt(e.index+2);if(0==(16&CharTypes[r]))return-4;const o=e.source.charCodeAt(e.index+3);return 0==(16&CharTypes[o])?-4:(e.column+=3,e.nextCodePoint=e.source.charCodeAt(e.index+=3),toHex(n)<<12|toHex(t)<<8|toHex(r)<<4|toHex(o))}default:return e.source.charCodeAt(e.index)}}function scanIdentifierOrKeyword(e,n,t){for(;identifierPart[advance(e)];);const r=e.source.slice(e.tokenPos,e.index);return 92!==e.nextCodePoint&&e.nextCodePoint<126?(e.tokenValue=r,0===t?167937:descKeywordTable[e.tokenValue]||167937):scanIdentifierSlowPath(e,n,r,t)}function scanIdentifierSlowPath(e,n,t,r){let o=e.index,s=0;for(;e.index<e.length;)if(isIdentifierPart(e.nextCodePoint))advance(e);else if(92===e.nextCodePoint){t+=e.source.slice(o,e.index),s=1;const a=scanIdentifierUnicodeEscape(e);if(!isIdentifierPart(a))return report(e,n,handleIdentifierError(a)),121;r=1,t+=fromCodePoint(a),o=e.index}else{if(!consumeMultiUnitCodePoint(e,e.nextCodePoint))break;advance(e)}e.index<=e.length&&(t+=e.source.slice(o,e.index));const a=t.length;if(e.tokenValue=t,r&&a>=2&&a<=11){const t=descKeywordTable[e.tokenValue];if(void 0===t)return 167937;if(0===s)return t;if(1024&n){if(16384==(16384&t))return 138;if(184394===t||540779===t)return 138}return 139}return 167937}function scanIdentifierUnicodeEscape(e){return 117!==e.source.charCodeAt(e.index+1)?-5:(e.nextCodePoint=e.source.charCodeAt(e.index+=2),scanUnicodeEscape(e))}function scanUnicodeEscape(e){let n=0,t=e.nextCodePoint;if(123===t){for(;16&CharTypes[advance(e)];)if((n=n<<4|toHex(e.nextCodePoint))>1114111)return-4;return 125!==e.nextCodePoint?-7:(advance(e),n)}for(let r=0;r<4;r++){if((t=toHex(e.nextCodePoint))<0)return-3;n=n<<4|t,advance(e)}return n}function scanUnicodeEscapeIdStart(e,n){const t=scanIdentifierUnicodeEscape(e);return isIdentifierPart(t)?scanIdentifierSlowPath(e,n,fromCodePoint(t),1):(e.index++,report(e,n,handleIdentifierError(t)),121)}function skipSingleLineComment(e){for(;e.index<e.length;){const n=e.nextCodePoint;if(13===n)return advanceNewline(e),e.index<e.length&&10===e.nextCodePoint&&(e.nextCodePoint=e.source.charCodeAt(++e.index)),1;if(10===n||(8232^n)<=1)return advanceNewline(e),1;advance(e)}}function skipMultiLineComment(e,n){let t=0;for(;e.index<e.length;){let n=e.nextCodePoint;for(;42===n;)if(47===(n=advance(e)))return advance(e),1;13===n?(t=1,advanceNewline(e)):10===n?(consumeLineFeed(e,t),t=0):(8232^n)<=1?(t=0,advanceNewline(e)):(n=advance(e),t=0)}return report(e,n,34),-1}function scanRegularExpression(e,n){const t=e.index;let r=0;e:for(;;){const t=e.nextCodePoint;if(advance(e),1&r)r&=-2;else switch(t){case 47:if(r)break;break e;case 92:r|=1;break;case 91:r|=2;break;case 93:r&=1;break;case 13:case 10:case 8232:case 8233:return report(e,n,25),121}if(e.index>=e.source.length)return report(e,n,25),121}const o=e.index-1;let s=0,a=e.nextCodePoint;const{index:i}=e;for(;isIdentifierPart(a);){switch(a){case 103:2&s&&report(e,n,23,1,"g"),s|=2;break;case 105:if(1&s)return report(e,n,23,1,"i"),121;s|=1;break;case 109:if(4&s)return report(e,n,23,1,"m"),121;s|=4;break;case 117:if(16&s)return report(e,n,23,0,"u"),121;s|=16;break;case 121:if(8&s)return report(e,n,23,1,"y"),121;s|=8;break;case 115:if(12&s)return report(e,n,23,1,"s"),121;s|=12;break;default:return report(e,n,24),121}a=advance(e)}const p=e.source.slice(i,e.index),c=e.source.slice(t,o);return e.tokenRegExp={pattern:c,flags:p},64&n&&(e.tokenRaw=e.source.slice(e.tokenPos,e.index)),e.tokenValue=validate(e,n,c,p),131076}function validate(e,n,t,r){try{RegExp(t)}catch(t){return report(e,n,25),121}try{return new RegExp(t,r)}catch(e){return null}}const firstCharKinds=[121,121,121,121,121,121,121,121,121,117,119,117,117,118,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,117,33685550,268566531,122,167937,16911157,16909893,268566531,131083,16,16911156,50465328,18,50465329,13,16911158,120,268566530,268566530,268566530,268566530,268566530,268566530,268566530,268566530,268566530,21,2097169,16910400,8388638,16910401,22,142,167937,167937,167937,167937,167937,167937,167937,167937,167937,167937,167937,167937,167937,167937,167937,167937,167937,167937,167937,167937,167937,167937,167937,167937,167937,167937,4325395,125,20,16909639,167937,131081,110592,110592,110592,110592,110592,110592,110592,167937,110592,167937,110592,110592,110592,110592,110592,110592,167937,110592,110592,110592,110592,110592,110592,167937,110592,110592,4325388,16909382,2097167,33685551,121];function scanSingleToken(e,n){let t=0;const r=0===e.index;for(;e.index<e.length;){e.tokenPos=e.index,e.endColumn=e.column,e.endLine=e.line;let o=e.nextCodePoint;if(o<=126){const s=firstCharKinds[o];switch(s){case 2097167:case 4325388:case 18:case 21:case 33685551:case 131083:case 16:case 2097169:case 4325395:case 20:case 142:case 121:return advance(e),s;case 117:advance(e);continue;case 118:t=1,e.column=0,e.line++;case 119:e.precedingLineBreak=1,e.nextCodePoint=e.source.charCodeAt(++e.index),t||(e.column=0,e.line++),t=0;continue;case 110592:return scanIdentifierOrKeyword(e,n,1);case 167937:return scanIdentifierOrKeyword(e,n,0);case 268566530:return scanNumber(e,n,0,0);case 268566531:return scanStringLiteral(e,n,o);case 120:return scanLeadingZero(e,n,o);case 125:return scanUnicodeEscapeIdStart(e,n);case 131081:return scanTemplate(e,n);case 13:const a=advance(e);if(a>=48&&a<=57)return scanNumber(e,n,0,1);if(46===a){const n=e.index+1;if(n<e.source.length&&46===e.source.charCodeAt(n))return e.column+=2,e.nextCodePoint=e.source.charCodeAt(e.index+=2),14}return 13;case 16910400:if(advance(e),e.index<e.length){let t=e.nextCodePoint;if(60===t)return 61===advance(e)?(advance(e),8388639):16910658;if(61===t)return advance(e),16910142;if(47===t){if((16&n)<1)return 16910400;const r=e.index+1;if(r<e.length&&(42===(t=e.source.charCodeAt(r))||47===t))break;return advance(e),26}if(33===t&&45===e.source.charCodeAt(e.index+2)&&45===e.source.charCodeAt(e.index+1)&&0==(2304&n)){e.index+=2,e.column+=3,skipSingleLineComment(e);continue}}return 16910400;case 22:if(advance(e),1&n){let n=e.nextCodePoint;if(63===n)return advance(e),553779528;if(46===n&&((n=0|e.source.charCodeAt(e.index+1))>57||n<=48))return advance(e),23}return 22;case 8388638:{if(advance(e),e.index>=e.length)return 8388638;const n=e.nextCodePoint;return 61===n?61===advance(e)?(advance(e),16910138):16910140:62===n?(advance(e),10):8388638}case 33685550:return 61!==advance(e)?33685550:61!==advance(e)?16910141:(advance(e),16910139);case 16911157:return 61!==advance(e)?16911157:(advance(e),8388647);case 16911156:{if(advance(e),e.index>=e.length)return 16911156;const n=e.nextCodePoint;return 61===n?(advance(e),8388645):42!==n?16911156:(advance(e),61!==e.nextCodePoint?16911415:(advance(e),8388642))}case 16909639:return 61!==advance(e)?16909639:(advance(e),8388648);case 50465328:{if(advance(e),e.index>=e.length)return 50465328;const n=e.nextCodePoint;return 43===n?(advance(e),67239964):61===n?(advance(e),8388643):50465328}case 50465329:{if(advance(e),e.index>=e.length)return 50465329;const t=e.nextCodePoint;if(45===t){if(62===advance(e)&&0==(2304&n)&&(e.precedingLineBreak||r)){skipSingleLineComment(e);continue}return 67239965}return 61===t?(advance(e),8388644):50465329}case 16911158:{const t=advance(e);if(47===t){advance(e),skipSingleLineComment(e);continue}if(42===t){if(advance(e),skipMultiLineComment(e,n)<1)return 121;continue}return 32768&n?scanRegularExpression(e,n):61===t?(advance(e),8519718):16911158}case 16909382:{if(advance(e),e.index>=e.length)return 16909382;const n=e.nextCodePoint;return 124===n?(advance(e),17957433):61===n?(advance(e),8388649):16909382}case 16910401:{if(advance(e),268435456&n||e.index>=e.length)return 16910401;let t=e.nextCodePoint;return 61===t?(advance(e),16910143):62!==t?16910401:62===(t=advance(e))?61!==advance(e)?16910660:(advance(e),8388641):61===t?(advance(e),8388640):16910659}case 16909893:{if(advance(e),e.index>=e.source.length)return 16909893;const n=e.nextCodePoint;return 38===n?(advance(e),17957688):61===n?(advance(e),8388650):16909893}}}if((8232^o)<=1)t=0,e.precedingLineBreak=1,e.nextCodePoint=e.source.charCodeAt(++e.index),e.column=0,e.line++;else{if(55296==(64512&o)||0!=(1&unicodeLookup[34816+(o>>>5)]>>>o)){if(56320==(64512&o)){if(0==(1&unicodeLookup[0+((o=(1023&o)<<10|1023&o|65536)>>>5)]>>>o))return report(e,n,4),121;e.index++,e.nextCodePoint=o}return scanIdentifierSlowPath(e,n,"",0)}if(!isExoticECMAScriptWhitespace(o))return report(e,n,3),121;advance(e)}}return 0}function nextToken(e,n){return e.precedingLineBreak=0,e.startPos=e.index,e.startColumn=e.column,e.startLine=e.line,e.token=scanSingleToken(e,n),e.token}function scanJSXAttributeValue(e,n){return e.startPos=e.index,e.startColumn=e.column,e.startLine=e.line,39===e.nextCodePoint||34===e.nextCodePoint?e.token=scanJSXString(e,n):e.token=scanSingleToken(e,n),e.token}function scanJSXString(e,n){const t=e.nextCodePoint;let r=advance(e);const o=e.index;for(;r!==t;)e.index>=e.length&&report(e,n,17),r=advance(e);return r!==t&&report(e,n,17),e.tokenValue=e.source.slice(o,e.index),advance(e),268566531}function scanJSXToken(e){if(e.startPos=e.tokenPos=e.index,e.startColumn=e.endColumn=e.column,e.startLine=e.endLine=e.line,e.index>=e.length)return e.token=0;switch(firstCharKinds[e.source.charCodeAt(e.index)]){case 16910400:advance(e),47===e.nextCodePoint?(advance(e),e.token=26):e.token=16910400;break;case 4325388:advance(e),e.token=4325388;break;default:for(;e.index<e.length&&0==(1024&CharTypes[advance(e)]););e.tokenValue=e.source.slice(e.tokenPos,e.index),e.token=141}return e.token}function scanJSXIdentifier(e){if(0!=(61440&e.token)){const{index:n}=e;let t=e.nextCodePoint;for(;2050&CharTypes[t];)t=advance(e);e.tokenValue+=e.source.slice(n,e.index)}return e.token=167937,e.token}const primaryTypes={any:"AnyKeyword",boolean:"BooleanKeyword",bigint:"BigIntKeyword",never:"NeverKeyword",number:"NumberKeyword",object:"ObjectKeyword",string:"StringKeyword",symbol:"SymbolKeyword",undefined:"UndefinedKeyword",unknown:"UnknownKeyword"};function consume(e,n,t){return e.token===t?(nextToken(e,n),!0):(report(e,n,2,0,KeywordDescTable[255&t]),!1)}function consumeOpt(e,n,t){return e.token===t&&(nextToken(e,n),!0)}function optionalBit(e,n,t){return e.token===t?(nextToken(e,n),1):0}function canParseSemicolon(e){return 2097169===e.token||(4325388===e.token||0===e.token||e.precedingLineBreak)}function consumeSemicolon(e,n){return 0===e.precedingLineBreak&&e.token,consumeOpt(e,n,2097169),!0}function reinterpretToPattern(e,n){switch(n.type){case"ArrayExpression":n.type="ArrayPattern";const t=n.elements;for(let n=0,r=t.length;n<r;++n){const r=t[n];r&&reinterpretToPattern(e,r)}return;case"ObjectExpression":n.type="ObjectPattern";const r=n.properties;for(let n=0,t=r.length;n<t;++n)reinterpretToPattern(e,r[n]);return;case"AssignmentExpression":return n.type="AssignmentPattern",delete n.operator,void reinterpretToPattern(e,n.left);case"Property":return void reinterpretToPattern(e,n.value);case"SpreadElement":n.type="RestElement",reinterpretToPattern(e,n.argument)}}function isValidIdentifier(e,n){return 2098176&e?!(2048&e&&168047===n)&&(!(2097152&e&&184428===n)&&(36864==(36864&n)||4096==(4096&n))):36864==(36864&n)||4096==(4096&n)||16384==(16384&n)}function reinterpretToTypeLiteral(e){switch(e.type){case"ObjectPattern":e.type="TypeLiteral";const n=[],t=e.properties;for(let e=0,r=t.length;e<r;++e){const r=t[e];reinterpretToTypeLiteral(r),n.push(r)}return e.members=n,void delete e.properties;case"Property":return void(e.type="PropertySignature")}}function tryScan(e,n,t){return speculationHelper(e,n,t,!1)}function speculationHelper(e,n,t,r){const o=e.index,s=e.startPos,a=e.tokenPos,i=e.nextCodePoint,p=e.precedingLineBreak,c=e.line,u=e.column,l=e.length,d=e.tokenRaw,m=e.token,f=e.tokenValue,k=e.flags,y=t(e,n);return y&&!r||(e.index=o,e.startPos=s,e.tokenPos=a,e.token=m,e.tokenValue=f,e.flags=k,e.nextCodePoint=i,e.precedingLineBreak=p,e.line=c,e.column=u,e.length=l,e.tokenRaw=d),y}function canFollowTypeArgumentsInExpression(e){switch(e.token){case 131083:case 131081:case 13:case 16:case 20:case 21:case 2097169:case 22:case 16910140:case 16910138:case 16910141:case 16910139:case 17957688:case 17957433:case 16909639:case 16909893:case 16909382:case 2097167:case 0:return!0;case 268566530:case 18:case 4325388:default:return!1}}function isEqualTagName(e){switch(e.type){case"JSXIdentifier":return e.name;case"JSXNamespacedName":return e.namespace+":"+e.name;case"JSXMemberExpression":return isEqualTagName(e.object)+"."+isEqualTagName(e.property)}}function isStrictReservedWord(e,n,t){return 168047===t&&4196352&n&&report(e,n,97),184428===t&&2097152&n&&report(e,n,98,1,"yield"),8192==(8192&t)||16384==(16384&t)}function validateFunctionName(e,n,t){1024&n&&16384==(16384&t)&&report(e,n,62),8192==(8192&t)&&report(e,n,96),4196352&n&&168047===t&&report(e,n,97),2098176&n&&184428===t&&report(e,n,98,1,"yield")}function finishNode(e){return e}function create(e,n,t){return{source:e,flags:0,index:0,line:1,column:0,tokenPos:0,startPos:0,startColumn:0,startLine:0,endLine:0,endColumn:0,precedingLineBreak:0,length:e.length,token:0,tokenValue:void 0,tokenRaw:"",tokenRegExp:void 0,nextCodePoint:e.charCodeAt(0),uid:0,onComment:t,onError:n}}function parseSource(e,n,t,r){let o;null!=n&&(null!=n.onComment&&(o=n.onComment),t|=(n.module?2048:0)|(n.next?1:0)|(n.jsx?16:0)|(n.ranges?2:0)|(n.loc?4:0)|(n.impliedStrict?1024:0)|(n.directives?72:0)|(n.globalReturn?32:0)|(n.disableWebCompat?256:0)|(n.raw?64:0)|(n.ts?128:0));let s=[];const a=create(e,r,o),i=2048&t;return nextToken(a,32768|t),{type:"Program",sourceType:i?"module":"script",body:s=128&(t|=8192)?parseDeclarations(a,t):i?parseModuleItemList(a,t):parseStatementList(a,t)}}function parseDeclarations(e,n){const t=[];for(;268566531===e.token;)e.index-e.tokenPos<13&&"use strict"===e.tokenValue&&(2097152!=(2097152&e.token)&&0!==e.precedingLineBreak||(n|=1024)),t.push(parseStatementListItem(e,n,e.tokenPos));for(;0!==e.token;)t.push(parseDeclarationList(e,n,0,0,!1));return t}function parseDeclarationList(e,n,t,r,o){const{token:s}=e;let a=[];switch(s){case 36990:{const{tokenValue:r}=e;switch(nextToken(e,n)){case 139343:return parseTypescriptClassDeclaration(e,n,0,1,0);case 139353:return parseFunctionDeclaration(e,n,0,1,0,1,!0);default:return 0===e.precedingLineBreak&&134217728==(134217728&e.token)?parseDeclarationList(e,n,t,1,134656085===e.token):parseExpressionOrLabelledStatement(e,n,parseIdentifierFromValue(e,n,r,0),s)}}case 134779008:return parseClassDeclarationOrIdentifier(e,n,s,1,r);case 134254721:return parseNamespaceOrIdentifier(e,n,s,r);case 134226044:return parseEnumDeclarationOrIdentifier(e,n,s,r,0);case 134664294:return parseInterfaceOrIdentifier(e,n,s,r);case 134254719:return parseTypeAliasOrIdentifier(e,n,s,r);case 134254723:return parseGlobalModuleDeclarationOrIdentifier(e,n,s,r);case 134254722:return parseModuleDeclarationOrIdentifier(e,n,s,r);case 134357067:return parseConstEnumOrVariableStatement(e,n,r);case 142:if(a=parseDecorators(e,n),139343===e.token)return parseTypescriptClassDeclaration(e,n,0,0,0,a,!0);case 134656085:switch(o&&report(e,n,84),nextToken(e,32768|n)){case 438354:return parseExportDefaultDeclaration(e,n,a);case 8388638:return parseExportAssignment(e,n);case 36990:case 134664294:return parseExportNamedDeclaration(e,n);case 16915309:return parseNamespaceExportDeclaration(e,n);case 139355:return parseImportEqualsDeclaration(e,n,1);default:return parseTypeScriptExportDeclaration(e,n,a)}case 139355:return(8192&n)<1&&report(e,n,88),parseImportDeclaration(e,n,1);default:return parseStatementListItem(e,n)}}function parseStatementList(e,n){const t=[];for(;268566531===e.token;)e.index-e.tokenPos<13&&"use strict"===e.tokenValue&&(2097152!=(2097152&e.token)&&0!==e.precedingLineBreak||(n|=1024)),t.push(parseStatementListItem(e,n,e.tokenPos));for(;0!==e.token;)t.push(parseStatementListItem(e,n,e.tokenPos));return t}function parseStatementListItem(e,n,t){switch(e.token){case 139353:return parseFunctionDeclaration(e,n,0,1,0,1,!1);case 142:case 139343:return 128&n?parseTypescriptClassDeclaration(e,n,0,0,0):parseClassDeclaration(e,n,0);case 134357067:return parseLexicalDeclaration(e,n,16,0);case 184394:return parseLetIdentOrVarDeclarationStatement(e,n);case 134656085:report(e,n,0);case 139355:switch(nextToken(e,n)){case 131083:return parseImportCallDeclaration(e,n);default:report(e,n,0)}case 430190:return parseAsyncArrowOrAsyncFunctionDeclaration(e,n);default:return parseStatement(e,n)}}function parseAsyncArrowOrAsyncFunctionDeclaration(e,n){const{token:t}=e;let r=parseIdentifier(e,n);if(21===e.token)return parseLabelledStatement(e,n,t,r);if(!e.precedingLineBreak){if(139353===e.token)return parseFunctionDeclaration(e,n,0,1,1,1,!1);if(36864==(36864&e.token))return r=parseArrowFunctionExpression(e,n,[parseIdentifier(e,n)],null,null,1,1),18===e.token&&(r=parseSequenceExpression(e,n,r)),parseExpressionStatement(e,n,r)}let o=null;return 128&n&&16910400===e.token&&void 0!==(o=parseAsyncIdentifierOrParameterInstantiation(e,n))&&131083!==e.token&&report(e,n,0),131083===e.token?r=parseAsyncArrowOrCallExpression(e,n,1,o,r):10===e.token&&(r=parseArrowFunctionExpression(e,n,r,null,null,1,1)),r=parseMemberOrUpdateExpression(e,n,r),18===e.token&&(r=parseSequenceExpression(e,n,r)),parseExpressionStatement(e,n,r=parseAssignmentExpression(e,n,r))}function parseAsyncIdentifierOrParameterInstantiation(e,n){return tryScan(e,n,function(){nextToken(e,n);const t=[];for(;16910401!==e.token&&(t.push(parseTypeParameter(e,1073741824|n)),16910401===e.token||consumeOpt(e,n,18)););if(consumeOpt(e,n,16910401))return t&&canFollowTypeArgumentsInExpression(e)?{type:"TypeParameterDeclaration",params:t}:void 0})}function parseAsyncArrowOrCallExpression(e,n,t,r,o){if(nextToken(e,32768|n),consumeOpt(e,n=134217728^(134217728|n),16)){let s=null;if(128&n&&21===e.token&&(s=parseTypeAnnotation(e,n,0),10!==e.token&&report(e,n,0)),10===e.token){if(t)return parseArrowFunctionExpression(e,n,[],r,s,1,1);report(e,n,0)}return finishNode({type:"CallExpression",callee:o,optional:!1,shortCircuited:!1,arguments:[]})}let s=null;const a=[];for(;16!==e.token;){const{token:t}=e;if((53248&t)>0){if(s=parsePrimaryExpression(e,n,1,1),22===e.token)return nextToken(e,n),21===e.token&&(s.typeAnnotation=parseTypeAnnotation(e,n,0)),parseOptionalNchanged(e,n,a,1);16===e.token||18===e.token||(s=parseMemberOrUpdateExpression(e,n,s),16!==e.token&&18!==e.token&&(s=parseAssignmentExpression(e,n,s)))}else if(4194304&t)s=4325388===t?parseObjectLiteralOrPattern(e,n,0,1,[]):parseArrayExpressionOrPattern(e,n,0,1,[]),16!==e.token&&18!==e.token&&(s=parseMemberOrUpdateExpression(e,n,s),16908288==(16908288&e.token)&&(s=parseBinaryExpression(e,n,1,t,s)),consumeOpt(e,32768|n,22)&&(s=parseConditionalExpression(e,n,s)));else{if(14!==t){for(s=parseExpression(e,n),a.push(s);consumeOpt(e,32768|n,18);)a.push(parseExpression(e,n));return consume(e,n,16),finishNode({type:"CallExpression",optional:!1,shortCircuited:!1,callee:o,arguments:a})}s=parseSpreadOrRestElement(e,n,16,1,[])}if(a.push(s),!consumeOpt(e,32768|n,18))break}consume(e,n,16);let i=null;if(536870912&n&&21===e.token){const r=tryScan(e,n,function(){const t=parseTypeAnnotation(e,1073741824|n,0);if(10===e.token)return t});return r?parseArrowFunctionExpression(e,n,a,null,r,t,1):s}return 21===e.token&&(i=parseTypeAnnotation(e,n,0),10!==e.token&&report(e,n,0)),10===e.token?(t||report(e,n,0),parseArrowFunctionExpression(e,n,a,r,i,1,1)):finishNode({type:"CallExpression",optional:!1,shortCircuited:!1,callee:o,arguments:a})}function parseModuleItemList(e,n){const t=[];for(;0!==e.token;)t.push(parseModuleItem(e,n));return t}function parseModuleItem(e,n){switch(e.token){case 134656085:return parseExportDeclaration(e,n);case 139355:return parseImportDeclaration(e,n,0);default:return parseStatementListItem(e,n)}}function parseImportDeclaration(e,n,t){let r=null;nextToken(e,n);const o=[];if(268566531===e.token)r=parseLiteral(e,n);else{if(61440&e.token){const r=parseIdentifier(e,n);if(t&&8388638===e.token){nextToken(e,n);const t=parseModuleReference(e,n);return consumeSemicolon(e,n),finishNode({type:"ImportEqualsDeclaration",id:r,moduleReference:t,isExport:!1})}if(o.push(finishNode({type:"ImportDefaultSpecifier",local:r})),consumeOpt(e,n,18))switch(e.token){case 16911156:o.push(parseImportNamespaceSpecifier(e,n));break;case 4325388:parseImportSpecifierOrNamedImports(e,n,o);break;default:report(e,n,0)}}else switch(e.token){case 16911156:o.push(parseImportNamespaceSpecifier(e,n));break;case 4325388:parseImportSpecifierOrNamedImports(e,n,o);break;case 131083:return parseImportCallDeclaration(e,n);default:report(e,n,1,0,KeywordDescTable[255&e.token])}r=parseModuleSpecifier(e,n)}return consumeSemicolon(e,32768|n),finishNode({type:"ImportDeclaration",specifiers:o,source:r})}function parseImportCallDeclaration(e,n){let t=parseImportExpression(e,n);return parseExpressionStatement(e,n,t=parseMemberOrUpdateExpression(e,n,t))}function parseImportNamespaceSpecifier(e,n){return nextToken(e,n),consume(e,n,16915309),finishNode({type:"ImportNamespaceSpecifier",local:parseIdentifier(e,n)})}function parseModuleSpecifier(e,n){return consumeOpt(e,n,4211),268566531!==e.token&&report(e,n,0,0,"Import"),parseLiteral(e,n)}function parseImportSpecifierOrNamedImports(e,n,t){for(nextToken(e,n);0!=(126976&e.token);){const r=parseIdentifier(e,n);let o;o=consumeOpt(e,n,16915309)?parseIdentifier(e,n):r,t.push(finishNode({type:"ImportSpecifier",local:o,imported:r})),2097167!==e.token&&consume(e,n,18)}return consume(e,n,2097167),t}function parseExportAssignment(e,n){nextToken(e,n);const t=parseExpression(e,n);return consumeSemicolon(e,n),finishNode({type:"ExportAssignment",expression:t})}function parseExportNamedDeclaration(e,n){return finishNode({type:"ExportNamedDeclaration",declaration:parseDeclarationList(e,n,1,1,!1),specifiers:[],source:null})}function parseNamespaceExportDeclaration(e,n){nextToken(e,n),consumeOpt(e,n,134254721);const t=parseIdentifier(e,n);return consumeSemicolon(e,n),finishNode({type:"NamespaceExportDeclaration",id:t})}function parseTypeScriptExportDeclaration(e,n,t){(8192&n)<1&&report(e,n,1,0,"Export");const r=[];let o=null,s=null;switch(e.token){case 134254721:s=parseModuleOrNamespaceDeclaration(e,n);break;case 134254722:s=parseModuleDeclaration(e,n,!1);break;case 134226044:nextToken(e,n),s=parseEnumDeclaration(e,n,0,0);break;case 134254719:nextToken(e,n),s=parseTypeAlias(e,n,0);break;case 134779008:nextToken(e,n),139343!==e.token&&report(e,n,1,0,KeywordDescTable[255&e.token]),s=parseTypescriptClassDeclaration(e,n,1,0,1);break;case 16911156:{let t=0;return nextToken(e,n),1&n&&consumeOpt(e,n,16915309)&&(t=1,r.push(finishNode({type:"ExportNamespaceSpecifier",specifier:parseIdentifier(e,n)}))),consume(e,n,4211),o=parseLiteral(e,n),consumeSemicolon(e,32768|n),t?{type:"ExportNamedDeclaration",source:o,specifiers:r}:{type:"ExportAllDeclaration",source:o}}case 4325388:for(nextToken(e,n);0!=(126976&e.token);){const t=parseIdentifier(e,n);let o;16915309===e.token?(nextToken(e,n),o=parseIdentifier(e,n)):o=t,r.push(finishNode({type:"ExportSpecifier",local:t,exported:o})),2097167!==e.token&&consume(e,n,18)}consume(e,n,2097167),consumeOpt(e,n,4211)&&(268566531!==e.token&&report(e,n,1,0,"Export"),o=parseLiteral(e,n)),consumeSemicolon(e,32768|n);break;case 142:case 139343:s=128&n?parseTypescriptClassDeclaration(e,n,1,0,0,t):parseClassDeclaration(e,n,2);break;case 139353:s=parseFunctionDeclaration(e,n,2,4,0,1,!1);break;case 184394:s=parseLexicalDeclaration(e,n,8,64);break;case 134357067:s=parseConstEnumOrVariableStatement(e,n,0);break;case 134357065:s=parseVariableStatement(e,n,64);break;case 430190:if(nextToken(e,n),0===e.precedingLineBreak&&139353===e.token){s=parseFunctionDeclaration(e,n,2,4,1,1,!1);break}default:report(e,n,1,0,KeywordDescTable[255&e.token])}return finishNode({type:"ExportNamedDeclaration",source:o,specifiers:r,declaration:s})}function parseModuleOrNamespaceDeclaration(e,n){nextToken(e,n);const t=parseIdentifier(e,n);let r;return r=consumeOpt(e,n,13)?parseModuleOrNamespaceDeclaration(e,n):parseModuleBlock(e,n),consumeSemicolon(e,n),finishNode({type:"ModuleDeclaration",id:t,body:r})}function parseImportEqualsDeclaration(e,n,t){consume(e,n,139355);const r=parseIdentifier(e,n);consume(e,32768|n,8388638);const o=parseModuleReference(e,n);return consumeSemicolon(e,n),finishNode({type:"ImportEqualsDeclaration",id:r,isExport:1===t,moduleReference:o})}function parseModuleReference(e,n){if(37001===e.token){const{tokenValue:t}=e;return nextToken(e,n),131083!==e.token?parseQualifiedName(e,n,parseIdentifierFromValue(e,n,t,0)):parseExternalModuleReference(e,n)}return parseEntityName(e,n)}function parseExternalModuleReference(e,n){nextToken(e,n);const t=parseLiteral(e,n);return consume(e,n,16),finishNode({type:"ExternalModuleReference",expression:t})}function parseExportDefaultDeclaration(e,n,t=[]){let r=null;switch(nextToken(e,32768|n),e.token){case 139353:r=parseFunctionDeclaration(e,n,1,4,0,1,!1);break;case 142:case 139343:r=128&n?parseTypescriptClassDeclaration(e,n,1,0,0,t):parseClassDeclaration(e,n,1);break;case 430190:if(r=parseIdentifier(e,n),0===e.precedingLineBreak)if(139353===e.token)r=parseFunctionDeclaration(e,n,1,4,1,1,!1);else{let t=null;128&n&&16910400===e.token&&(t=parseTypeParameters(e,n),131083!==e.token&&report(e,n,0)),131083===e.token?r=parseAssignmentExpression(e,n,r=parseMemberOrUpdateExpression(e,n,r=parseAsyncArrowOrCallExpression(e,n,1,t,r))):0!=(126976&e.token)&&(r=parseArrowFunctionExpression(e,n,[r=parseIdentifier(e,n)],null,null,1,1))}break;case 134664294:if(128&n){r=parseDeclarationList(e,n,1,1,!1);break}default:r=parseExpression(e,n),consumeSemicolon(e,32768|n)}return finishNode({type:"ExportDefaultDeclaration",declaration:r})}function parseExportDeclaration(e,n){nextToken(e,32768|n);const t=[];let r=null,o=null;if(438354===e.token)return parseExportDefaultDeclaration(e,n);switch(e.token){case 16911156:{let r=0;return nextToken(e,n),1&n&&consumeOpt(e,n,16915309)&&(r=1,t.push(finishNode({type:"ExportNamespaceSpecifier",specifier:parseIdentifier(e,n)}))),consume(e,n,4211),o=parseLiteral(e,n),consumeSemicolon(e,32768|n),r?{type:"ExportNamedDeclaration",source:o,specifiers:t}:{type:"ExportAllDeclaration",source:o}}case 4325388:for(nextToken(e,n);0!=(126976&e.token);){const r=parseIdentifier(e,n);let o;16915309===e.token?(nextToken(e,n),o=parseIdentifier(e,n)):o=r,t.push(finishNode({type:"ExportSpecifier",local:r,exported:o})),2097167!==e.token&&consume(e,n,18)}consume(e,n,2097167),consumeOpt(e,n,4211)&&(268566531!==e.token&&report(e,n,1,0,"Export"),o=parseLiteral(e,n)),consumeSemicolon(e,32768|n);break;case 142:case 139343:r=128&n?parseTypescriptClassDeclaration(e,n,0,0,0):parseClassDeclaration(e,n,0);break;case 139353:r=parseFunctionDeclaration(e,n,2,4,0,1,!1);break;case 184394:r=parseLexicalDeclaration(e,n,8,64);break;case 134357067:r=parseLexicalDeclaration(e,n,16,192);break;case 134357065:r=parseVariableStatement(e,n,64);break;case 430190:if(nextToken(e,n),0===e.precedingLineBreak&&139353===e.token){r=parseFunctionDeclaration(e,n,2,4,1,1,!1);break}default:report(e,n,1,0,KeywordDescTable[255&e.token])}return finishNode({type:"ExportNamedDeclaration",source:o,specifiers:t,declaration:r})}function parseStatement(e,n,t){switch(e.token){case 134357065:return parseVariableStatement(e,n,0);case 438365:return parseReturnStatement(e,n);case 438362:return parseIfStatement(e,n);case 438360:return parseForStatement(e,n);case 438355:return parseDoWhileStatement(e,n);case 438371:return parseWhileStatement(e,n);case 139359:return parseSwitchStatement(e,n);case 2097169:return parseEmptyStatement(e,n);case 4325388:return parseBlock(e,n);case 438369:return parseThrowStatement(e,n);case 438348:return parseBreakStatement(e,n);case 438352:return parseContinueStatement(e,n);case 438370:return parseTryStatement(e,n);case 438372:return parseWithStatement(e,n);case 438353:return parseDebuggerStatement(e,n);case 430190:return parseAsyncArrowOrAsyncFunctionDeclaration(e,n);case 438350:case 438359:case 139353:case 139343:report(e,n,0);default:const{token:t}=e;return parseExpressionOrLabelledStatement(e,n,parsePrimaryExpression(e,n,1,0),t)}}function parseExpressionOrLabelledStatement(e,n,t,r,o){return 21===e.token?parseLabelledStatement(e,n,r,t):(t=parseAssignmentExpression(e,n,t=parseMemberOrUpdateExpression(e,n,t)),18===e.token&&(t=parseSequenceExpression(e,n,t)),parseExpressionStatement(e,n,t))}function parseLetIdentOrVarDeclarationStatement(e,n){const{token:t}=e;let r=parseIdentifier(e,n);if(4231168&e.token){const t=parseVariableDeclarationList(e,n,8,0);return consumeSemicolon(e,32768|n),finishNode({type:"VariableDeclaration",kind:"let",declarations:t})}return 21===e.token?parseLabelledStatement(e,n,t,r):(r=10===e.token?parseArrowFunctionExpression(e,n,[r],null,null,1,0):parseAssignmentExpression(e,n,r=parseMemberOrUpdateExpression(e,n,r)),18===e.token&&(r=parseSequenceExpression(e,n,r)),parseExpressionStatement(e,n,r))}function parseReturnStatement(e,n){nextToken(e,32768|n);const t=e.precedingLineBreak||2097152&e.token?null:parseExpressions(e,n);return consumeSemicolon(e,32768|n),finishNode({type:"ReturnStatement",argument:t})}function parseEmptyStatement(e,n){return nextToken(e,32768|n),finishNode({type:"EmptyStatement"})}function parseThrowStatement(e,n){nextToken(e,32768|n);const t=parseExpressions(e,n);return consumeSemicolon(e,32768|n),finishNode({type:"ThrowStatement",argument:t})}function parseIfStatement(e,n){nextToken(e,n),consume(e,32768|n,131083);const t=parseExpressions(e,n);consume(e,32768|n,16);const r=parseConsequentOrAlternative(e,n);let o=null;return 438356===e.token&&(nextToken(e,32768|n),o=parseConsequentOrAlternative(e,n)),finishNode({type:"IfStatement",test:t,consequent:r,alternate:o})}function parseForStatement(e,n){nextToken(e,n);const t=(4194304&n)>0&&consumeOpt(e,n,168047);consume(e,32768|n,131083);let r,o=null,s=null,a=null,i=134357065===e.token||184394===e.token||134357067===e.token;const{token:p}=e;if(i?184394===p?(a=parseIdentifier(e,n),4231168&e.token?16918578===e.token?1024&n&&report(e,n,0):a={type:"VariableDeclaration",kind:"let",declarations:parseVariableDeclarationList(e,134217728|n,8,32)}:1024&n?report(e,n,0):(i=!1,a=parseMemberOrUpdateExpression(e,n,a),4212===e.token&&report(e,n,0))):(nextToken(e,n),a=134357065===p?{type:"VariableDeclaration",kind:"var",declarations:parseVariableDeclarationList(e,134217728|n,4,32)}:{type:"VariableDeclaration",kind:"const",declarations:parseVariableDeclarationList(e,134217728|n,16,32)}):2097169===p?t&&report(e,n,0):a=4194304==(4194304&p)?parseMemberOrUpdateExpression(e,134217728|n,a=4325388===p?parseObjectLiteralOrPattern(e,n,0,0,[]):parseArrayExpressionOrPattern(e,n,0,0,[])):parseLeftHandSideExpression(e,134217728|n,1),4212===e.token||16918578===e.token){if(4212===e.token){return reinterpretToPattern(e,a),nextToken(e,32768|n),r=parseExpression(e,n),consume(e,32768|n,16),finishNode({type:"ForOfStatement",body:parseIterationStatementBody(e,n),left:a,right:r,await:t})}return reinterpretToPattern(e,a),nextToken(e,32768|n),r=parseExpressions(e,n),consume(e,32768|n,16),finishNode({type:"ForInStatement",body:parseIterationStatementBody(e,n),left:a,right:r})}return i||(a=parseAssignmentExpression(e,134217728|n,a)),18===e.token&&(a=parseSequenceExpression(e,n,a)),consume(e,32768|n,2097169),2097169!==e.token&&(o=parseExpressions(e,n)),consume(e,32768|n,2097169),16!==e.token&&(s=parseExpressions(e,n)),consume(e,32768|n,16),finishNode({type:"ForStatement",body:parseIterationStatementBody(e,n),init:a,test:o,update:s})}function parseConsequentOrAlternative(e,n){return 1024&n||139353!==e.token?parseStatement(e,n):parseFunctionDeclaration(e,n,0,0,0,0,!0)}function parseSwitchStatement(e,n){nextToken(e,n),consume(e,32768|n,131083);const t=parseExpressions(e,n);consume(e,n,16),consume(e,n,4325388);const r=[];let o=0;for(;2097167!==e.token;){let t=null;const s=[];for(consumeOpt(e,32768|n,438349)?t=parseExpressions(e,n):(consume(e,32768|n,438354),o&&report(e,n,0),o=1),consume(e,32768|n,21);438349!==e.token&&2097167!==e.token&&438354!==e.token;)s.push(parseStatementListItem(e,4096|n));r.push(finishNode({type:"SwitchCase",test:t,consequent:s}))}return consume(e,32768|n,2097167),finishNode({type:"SwitchStatement",discriminant:t,cases:r})}function parseWhileStatement(e,n){nextToken(e,n),consume(e,32768|n,131083);const t=parseExpressions(e,n);return consume(e,32768|n,16),finishNode({type:"WhileStatement",test:t,body:parseIterationStatementBody(e,n)})}function parseIterationStatementBody(e,n){return parseStatement(e,134217728^(134217728|n)|131072)}function parseContinueStatement(e,n){nextToken(e,n);let t=null;return 0===e.precedingLineBreak&&36864&e.token&&(t=parseIdentifier(e,32768|n)),consumeSemicolon(e,32768|n),finishNode({type:"ContinueStatement",label:t})}function parseBreakStatement(e,n){nextToken(e,32768|n);let t=null;return 0===e.precedingLineBreak&&36864&e.token?t=parseIdentifier(e,32768|n):(135168&n)<1&&report(e,n,0),consumeSemicolon(e,32768|n),finishNode({type:"BreakStatement",label:t})}function parseWithStatement(e,n){nextToken(e,n),1024&n&&report(e,n,0),consume(e,32768|n,131083);const t=parseExpressions(e,n);return consume(e,32768|n,16),finishNode({type:"WithStatement",object:t,body:parseStatement(e,n)})}function parseDebuggerStatement(e,n){return nextToken(e,32768|n),consumeSemicolon(e,32768|n),finishNode({type:"DebuggerStatement"})}function parseTryStatement(e,n){nextToken(e,32768|n);const t=parseBlock(e,n),r=consumeOpt(e,32768|n,438350)?parseCatchBlock(e,n):null;let o=null;return 438359===e.token&&(nextToken(e,32768|n),o=parseBlock(e,n)),r||o||report(e,n,0),finishNode({type:"TryStatement",block:t,handler:r,finalizer:o})}function parseCatchBlock(e,n){let t=null;return consumeOpt(e,n,131083)&&(t=parseBindingPattern(e,n),consume(e,32768|n,16)),finishNode({type:"CatchClause",param:t,body:parseBlock(e,n)})}function parseDoWhileStatement(e,n){nextToken(e,32768|n);const t=parseIterationStatementBody(e,n);consume(e,n,438371),consume(e,32768|n,131083);const r=parseExpressions(e,n);return consume(e,32768|n,16),consumeSemicolon(e,32768|n),finishNode({type:"DoWhileStatement",body:t,test:r})}function parseLexicalDeclaration(e,n,t,r){nextToken(e,n);const o=parseVariableDeclarationList(e,n,t,r);return consumeSemicolon(e,32768|n),finishNode({type:"VariableDeclaration",kind:8&t?"let":"const",declarations:o})}function parseVariableStatement(e,n,t){const r=e.token;nextToken(e,n);const o=parseVariableDeclarationList(e,n,4,t);return consumeSemicolon(e,32768|n),finishNode({type:"VariableDeclaration",kind:KeywordDescTable[255&r],declarations:o})}function parseVariableDeclarationList(e,n,t,r){const o=[parseVariableDeclaration(e,n,t,r)];for(;consumeOpt(e,n,18);)o.push(parseVariableDeclaration(e,n,t,r));return o}function parseVariableDeclaration(e,n,t,r){let o=null,s=!1;const a=e.token,i=parseBindingPattern(e,n);return 128&n&&36864&a&&2&i.name&&(i.name=2^i.name,s=!0),8388638===e.token?(nextToken(e,32768|n),o=parseExpression(e,n),(32&r||(4194304&a)<1)&&(4212===e.token||16918578===e.token&&(4194304&a||(4&t)<1||256&n||1024&n))&&report(e,n,90,1,4212===e.token?"of":"in")):(4194304&a)>0&&128&n&&0==(128&r)&&4212!==e.token&&16918578!==e.token&&report(e,n,89,1,16&t?"const":"destructuring"),128&n?{type:"VariableDeclarator",init:o,id:i,definite:s}:{type:"VariableDeclarator",init:o,id:i}}function parseBindingPattern(e,n){if((110592&e.token)>0)return 128&n?parseBindingIdentifier(e,n,0,1):parseIdentifier(e,n);let t;return 4194304!=(4194304&e.token)&&report(e,n,1,1,KeywordDescTable[255&e.token]),4325388===e.token?t=parseObjectLiteralOrPattern(e,n,1,1,[]):4325395===e.token&&(t=parseArrayExpressionOrPattern(e,n,1,1,[])),reinterpretToPattern(e,t),t}function parseSequenceExpression(e,n,t){const r=[t];for(;consumeOpt(e,32768|n,18);)r.push(parseExpression(e,n));return finishNode({type:"SequenceExpression",expressions:r})}function parseExpression(e,n){return parseAssignmentExpression(e,n,parseLeftHandSideExpression(e,n,1))}function parseExpressions(e,n){const t=parseExpression(e,n);return 18===e.token?parseSequenceExpression(e,n,t):t}function parseLeftHandSideExpression(e,n,t){return parseMemberOrUpdateExpression(e,n,parsePrimaryExpression(e,n,t,0))}function parseAssignmentExpression(e,n,t){if(8388608==(8388608&e.token)){const r=e.token;(8388638===r&&"ArrayExpression"===t.type||"ObjectExpression"===t.type)&&reinterpretToPattern(e,t),nextToken(e,32768|n);const o=parseExpression(e,n);return finishNode({type:"AssignmentExpression",left:t,operator:KeywordDescTable[255&r],right:o})}return 16908288==(16908288&e.token)&&(t=parseBinaryExpression(e,n,4,e.token,t)),consumeOpt(e,32768|n,22)&&(t=parseConditionalExpression(e,n,t)),t}function parseConditionalExpression(e,n,t){const r=parseExpression(e,134217728^(671088640|n));return consume(e,32768|n,21),finishNode({type:"ConditionalExpression",test:t,consequent:r,alternate:parseExpression(e,n)})}function parseBinaryExpression(e,n,t,r,o){const s=16918578&-((134217728&n)>0),a=128&n;let i,p;for(;16908288&e.token&&(p=3840&(i=e.token),(1048576&i&&536870912&r||1048576&r&&536870912&i)&&report(e,n,27),!(p+((16911415===i)<<8)-((s===i)<<12)<=t));)if(a&&16915309===i){if(e.precedingLineBreak)return o;nextToken(e,32768|n),o=parseAsExpression(e,n,o)}else nextToken(e,32768|n),o={type:1048576&i?"LogicalExpression":536870912&i?"CoalesceExpression":"BinaryExpression",left:o,right:parseBinaryExpression(e,n,p,i,parseLeftHandSideExpression(e,n,1)),operator:KeywordDescTable[255&i]};return o}function parseAsExpression(e,n,t){return finishNode({type:"AsExpression",expression:t,typeAnnotation:parseType(e,n,0,0,0)})}function parseMemberOrUpdateExpression(e,n,t,r=!1,o=!1,s=1){if(67239936==(67239936&e.token)&&!e.precedingLineBreak){const{token:r}=e;return nextToken(e,n),finishNode({type:"UpdateExpression",argument:t,operator:KeywordDescTable[255&r],prefix:!1})}switch(n=134225920^(134225920|n),e.token){case 13:{nextToken(e,n),r&&0==(61440&e.token)&&report(e,n,1,1,"Nchanged does not like optional chaning with number literals");const s=parseIdentifier(e,n);return parseMemberOrUpdateExpression(e,n,finishNode({type:"MemberExpression",object:t,computed:!1,optional:r,shortCircuited:o,property:s}),r,o,0)}case 4325395:{if(1048576&n)return t;nextToken(e,32768|n);const s=parseExpressions(e,n);return consume(e,n,20),parseMemberOrUpdateExpression(e,n,finishNode({type:"MemberExpression",optional:r,shortCircuited:o,object:t,computed:!0,property:s}),r,o,0)}case 131083:{const o=parseArguments(e,n),a=1===s&&23===e.token;return parseMemberOrUpdateExpression(e,n,finishNode(128&n?{type:"CallExpression",callee:t,arguments:o,optional:r,shortCircuited:a,typeParameters:null}:{type:"CallExpression",callee:t,optional:r,shortCircuited:a,arguments:o}),r,a,0)}case 16910400:{if(0==(128&n))return t;const a=tryScan(e,n,function(){nextToken(e,n);const t=[];for(;16910401!==e.token&&(t.push(parseType(e,1073741824|n,0,0,0)),16910401===e.token||consumeOpt(e,n,18)););if(consumeOpt(e,n,16910401))return t&&canFollowTypeArgumentsInExpression(e)?finishNode({type:"TypeParameterInstantiation",params:t}):void 0});if(void 0===a)return t;let i;if(131083===e.token){const o=parseArguments(e,n),p=1===s&&23===e.token;i=128&n?{type:"CallExpression",callee:t,optional:r,shortCircuited:p,arguments:o,typeParameters:a}:{type:"CallExpression",callee:t,optional:r,shortCircuited:p,arguments:o}}else 131081===e.token&&(i=parseTaggedTemplateExpression(e,n,t,a));return parseMemberOrUpdateExpression(e,n,i,r,o,0)}case 33685550:return 0==(128&n)||e.precedingLineBreak?t:(nextToken(e,n),parseMemberOrUpdateExpression(e,n,{type:"NonNullExpression",expression:t}));case 131080:case 131081:return parseMemberOrUpdateExpression(e,n,parseTaggedTemplateExpression(e,n,t,[]));case 23:if(nextToken(e,n),36864&e.token){const r=parseIdentifier(e,n),o=1===s&&23===e.token;return parseMemberOrUpdateExpression(e,n,{type:"MemberExpression",object:t,computed:!1,property:r,optional:!0,shortCircuited:o},!0,o,0)}return parseMemberOrUpdateExpression(e,n,t,!0,o,s);default:return t}}function parseTaggedTemplateExpression(e,n,t,r){return 128&n?{type:"TaggedTemplateExpression",typeParameters:r,tag:t,quasi:131080===e.token?parseTemplateLiteral(e,n):parseNoSubstitutionTemplate(e,65536|n)}:{type:"TaggedTemplateExpression",tag:t,quasi:131080===e.token?parseTemplateLiteral(e,n):parseNoSubstitutionTemplate(e,65536|n)}}function parseArguments(e,n){nextToken(e,32768|n);const t=[];if(consumeOpt(e,n,16))return t;for(;16!==e.token&&(14===e.token?t.push(parseSpreadElement(e,n)):t.push(parseExpression(e,n)),18===e.token)&&(nextToken(e,32768|n),16!==e.token););return consume(e,n,16),t}function parseSpreadElement(e,n){return consume(e,32768|(n=134217728^(134217728|n)),14),finishNode({type:"SpreadElement",argument:parseExpression(e,n)})}function parseLabelledStatement(e,n,t,r,o){return nextToken(e,32768|n),finishNode({type:"LabeledStatement",label:r,body:(1024&n)<1&&(256&n)<1&&139353===e.token?parseFunctionDeclaration(e,n,0,1,0,0,!1):parseStatement(e,n)})}function parseExpressionStatement(e,n,t){return consumeSemicolon(e,32768|n),finishNode({type:"ExpressionStatement",expression:t})}function parseFunctionDeclaration(e,n,t,r,o,s,a){nextToken(e,n);let i=null;const p=128&n,c=s&&optionalBit(e,n,16911156);131083===e.token?(1&t)<1&&report(e,n,83,1,"Function"):(validateFunctionName(e,n|(3072&n)<<11,e.token),i=parseIdentifier(e,n));const u=p&&16910400===e.token?parseTypeParameters(e,n):null;let l;n=32243712^(32243712|n)|67108864|2*o+c<<21;let d=null;p?(l=parseTypeScriptFormalParametersOrFormalList(e,n),d=21===e.token?parseTypeOrTypePredicate(e,n,0):null):l=parseFormalParametersOrFormalList(e,n);const m=parseFunctionBody(e,143360^(143360|n),r);return finishNode(p?{type:m?"FunctionDeclaration":"DeclareFunction",params:l,body:m,async:1===o,generator:1===c,id:i,typeParameters:u,returnType:d,declare:a}:{type:"FunctionDeclaration",params:l,body:m,async:1===o,generator:1===c,id:i})}function parseFunctionExpression(e,n,t){nextToken(e,n);let r=null;const o=128&n,s=optionalBit(e,n,16911156),a=2*t+s<<21;0!=(61440&e.token)&&(validateFunctionName(e,32243712^(32243712|n)|a,e.token),r=parseIdentifier(e,n));const i=o&&16910400===e.token?parseTypeParameters(e,n):null;let p;n=32243712^(32243712|n)|67108864|a;let c=null;o?(p=parseTypeScriptFormalParametersOrFormalList(e,n),c=21===e.token?parseTypeOrTypePredicate(e,n,0):null):p=parseFormalParametersOrFormalList(e,n);const u=parseFunctionBody(e,-134377473&n,0);return finishNode(o?{type:u?"FunctionExpression":"EmptyBodyFunctionExpression",params:p,body:u,async:1===t,generator:1===s,id:r,typeParameters:i,returnType:c,declare:!1}:{type:"FunctionExpression",params:p,body:u,async:1===t,generator:1===s,id:r})}function parseUnionAndIntersectionType(e,n,t,r,o,s){if(t=parsePostFixTypeOrHigher(e,n,t),16909893===e.token){const a=[t];for(;consumeOpt(e,n,16909893);)a.push(parseTypeOperatorOrHigher(e,n,0,r,o,s));t=finishNode({type:"IntersectionType",types:a})}if(16909382===e.token){const a=[t];for(;consumeOpt(e,n,16909382);)a.push(parseIntersectionType(e,n,r,o,s));t=finishNode({type:"UnionType",types:a})}return t}function parseTypeFromValue(e,n,t){let r=primaryTypes[t];return r?{type:r}:parseTypeReferenceFromExpression(e,n,r=parseQualifiedName(e,n,r=parseIdentifierFromValue(e,n,t,0)))}function parseTypeOrTypePredicate(e,n,t){consumeOpt(e,n,21);const{token:r,tokenValue:o}=e;let s;return 37e3===e.token||0==(36864&r)?s=parseType(e,n,0,0,0):(nextToken(e,n),s=parseIdentifierFromValue(e,n,o,0),36998!==e.token||e.precedingLineBreak?(s=parseUnionAndIntersectionType(e,n,s=parseTypeFromValue(e,n,o),t,0,0),0===e.precedingLineBreak&&consumeOpt(e,n,8278)&&(s=parseConditionalType(e,n,t,0,0,s))):s=finishNode({type:"TypePredicate",assertsModifier:!1,parameterName:s,typeAnnotation:parseTypeAnnotation(e,n,t)})),finishNode({type:"TypeAnnotation",typeAnnotation:s})}function parseTypescriptClassDeclaration(e,n,t,r,o,s=[],a=!1){const i=3&t||a?s:parseDecorators(e,n);nextToken(e,n),n=150994944^(150995968|n);let p=null;return(4351&e.token^84)>4096?(isStrictReservedWord(e,n,e.token)&&report(e,n,62),p=parseIdentifier(e,n)):(1&t)<1&&report(e,n,83,1,"Class"),parseTypescriptClassDeclarationOrExpression(e,n,p,i,8,0,r,o,"ClassDeclaration","ClassImplements")}function parseTypescriptClassDeclarationOrExpression(e,n,t,r,o,s,a,i,p,c){let u=null,l=[];const d=[],m=16910400===e.token?parseTypeParameters(e,n):null;let f=n;if(8278===e.token?(nextToken(e,32768|n),f|=524288,u=parseLeftHandSideExpression(e,n,0)):f=524288^(524288|f),16910400===e.token&&(l=parseTypeParameterInstantiation(e,n)),16485===e.token){nextToken(e,32768|n);let t=0;for(;(110592&e.token)>0&&(d.push(parseHeritageClausesOrClassImplements(e,f,c)),t++,18===e.token);)consume(e,n,18);t||report(e,n,80)}return finishNode({type:p,id:t,superClass:u,body:parseClassMembers(e,f,n,o,s,i,a),typeParameters:m,superTypeParameters:l,implements:d,abstract:1===i,declare:1===a,decorators:r})}function parseClassDeclaration(e,n,t){nextToken(e,n),n=150994944^(150994944|n);let r=null;return(4351&e.token^84)>4096?(isStrictReservedWord(e,n,e.token)&&report(e,n,62),r=parseIdentifier(e,n)):(1&t)<1&&report(e,n,83,1,"Class"),parseClassDeclarationOrExpression(e,n,r,8,"ClassDeclaration")}function parseClassDeclarationOrExpression(e,n,t,r,o){let s=1024|n,a=null;return 8278===e.token?(nextToken(e,32768|n),a=parseLeftHandSideExpression(e,n,0),s|=524288):s=524288^(524288|s),finishNode({type:o,id:t,superClass:a,body:parseClassBody(e,s,n,r)})}function parseTypescriptClassExpression(e,n){nextToken(e,n),n=150994944^(150995968|n);let t=null;return(4351&e.token^84)>4096&&16485!==e.token&&(isStrictReservedWord(e,n,e.token)&&report(e,n,62),t=parseIdentifier(e,n)),parseTypescriptClassDeclarationOrExpression(e,n,t,[],0,1,0,0,"ClassExpression","InterfaceHeritage")}function parseClassExpression(e,n){let t=null;return n=150994944^(150995968|n),142===e.token&&report(e,n,100),nextToken(e,n),(4351&e.token^84)>4096&&(t=parseIdentifier(e,n)),parseClassDeclarationOrExpression(e,n,t,0,"ClassExpression")}function parseClassBody(e,n,t,r){consume(e,32768|n,4325388),n=134217728^(134217728|n);const o=[];for(e.flags=1^(1|e.flags);2097167!==e.token;)consumeOpt(e,n,2097169)||o.push(parseClassElementList(e,n,t,0));return consume(e,8&r?32768|t:n,2097167),finishNode({type:"ClassBody",body:o})}function parseClassMembers(e,n,t,r,o,s,a){consume(e,32768|n,4325388),n=134217728^(134217728|n);let i=[];e.flags=1^(1|e.flags);const p=[];for(o&&142===e.token&&report(e,n,99);2097167!==e.token;)consumeOpt(e,n,2097169)||(i=parseDecorators(e,n),p.push(parseClassElements(e,n,t,i,s,a,0)));return consume(e,8&r?32768|t:n,2097167),finishNode({type:"ClassBody",body:p})}function parseClassElementList(e,n,t,r){let o=0,s=null;const{token:a}=e;if(61440&e.token)switch(s=parseIdentifier(e,n),a){case 540779:if(0==(32&r)&&131083!==e.token)return parseClassElementList(e,n,t,32|r);break;case 430190:131083!==e.token&&0===e.precedingLineBreak&&(o|=16|(optionalBit(e,n,16911156)?8:0));break;case 4209:131083!==e.token&&(o|=256);break;case 4210:131083!==e.token&&(o|=512)}else 4325395===a?(o|=2,s=parseComputedPropertyName(e,t)):268435456==(268435456&a)?s=parseLiteral(e,n):16911156===a?(o|=8,nextToken(e,n)):report(e,n,1,0,KeywordDescTable[255&e.token]);return 792&o&&(61440&e.token?s=parseIdentifier(e,n):268435456==(268435456&e.token)?s=parseLiteral(e,n):4325395===e.token?(o|=2,s=parseComputedPropertyName(e,n)):report(e,n,0)),(2&o)<1&&"constructor"===e.tokenValue&&((32&r)<1&&131083===e.token&&(792&o?report(e,n,66,1,"accessor"):(524288&n)<1&&(1&e.flags?report(e,n,67):e.flags|=1)),o|=64),finishNode({type:"MethodDefinition",kind:(32&r)<1&&64&o?"constructor":256&o?"get":512&o?"set":"method",static:(32&r)>0,computed:(2&o)>0,key:s,value:parseMethodDefinition(e,n,o)})}function parseClassElements(e,n,t,r,o,s,a){let i,p=null,c=0,u=0;const{token:l}=e,d=4208===l;if(61440&l)switch(p=parseOptionalIdentifier(e,n),l){case 540779:if(0==(32&a)&&(53248&e.token||4325395===e.token))return parseClassElements(e,n,t,r,o,s,32|a);break;case 540776:if(32&a&&report(e,n,38,0,"private","static"),16&a&&report(e,n,38,0,"private","readonly"),0==(4&a)&&(53248&e.token||4325395===e.token))return parseClassElements(e,n,t,r,o,s,4|a);break;case 540777:if(1&a&&report(e,n,38,0,"protected","abstract"),32&a&&report(e,n,38,0,"protected","static"),16&a&&report(e,n,38,0,"protected","readonly"),0==(8&a)&&(53248&e.token||4325395===e.token))return parseClassElements(e,n,t,r,o,s,8|a);break;case 540778:if(1&a&&report(e,n,38,0,"public","abstract"),32&a&&report(e,n,38,0,"public","static"),16&a&&report(e,n,38,0,"public","readonly"),14&a&&report(e,n,40,0,"Accessibility"),0==(2&a)&&(53248&e.token||4325395===e.token))return parseClassElements(e,n,t,r,o,s,2|a);break;case 561287:if(0==(16&a)&&2097169!==e.token&&8388638!==e.token&&2097167!==e.token&&131083!==e.token)return parseClassElements(e,n,t,r,o,s,16|a);break;case 134779008:if(!o&&36864&e.token&&report(e,n,41),0==(1&a)&&(53248&e.token||4325395===e.token))return parseClassElements(e,n,t,r,o,s,1|a);break;case 430190:131083===e.token||16910400===e.token||21===e.token||18===e.token||8388638===e.token||2097167===e.token||2097169===e.token||e.precedingLineBreak||(c|=16|(optionalBit(e,n,16911156)?8:0));break;case 4209:131083!==e.token&&16910400!==e.token&&21!==e.token&&8388638!==e.token&&2097167!==e.token&&2097169!==e.token&&(c|=256);break;case 4210:131083!==e.token&&16910400!==e.token&&21!==e.token&&8388638!==e.token&&2097167!==e.token&&2097169!==e.token&&(c|=512)}else if(4325395===l){let t=0;if(nextToken(e,n),524288==(524288&e.token)&&report(e,n,49,0,"Accessibility"),c|=2,36864==(36864&e.token)){const{tokenValue:r}=e;if(nextToken(e,n),22===e.token&&report(e,n,50),21===e.token){u=1,t=1;let o=[];consumeOpt(e,n,21)&&((4194304&e.token||131083===e.token)&&report(e,n,78),o=parseTypeAnnotationNoConsume(e,n,1)),18===e.token&&report(e,n,52),16918578===e.token&&report(e,n,77),p={type:"Identifier",name:r,optional:!1,typeAnnotation:o}}else 18===e.token&&report(e,n,52),c|=2,p=parseIdentifierFromValue(e,n,r,0);20!==e.token&&(p=parseAssignmentExpression(e,n,p=parseMemberOrUpdateExpression(e,n,p)))}else 14===e.token&&report(e,n,53),p=parseExpression(e,n);consume(e,n,20),t&&21!==e.token&&report(e,n,51),consumeOpt(e,n,22)}else 268435456==(268435456&l)?p=parseLiteral(e,n):16911156===l?(s&&report(e,n,70),c|=8,nextToken(e,n)):report(e,n,0);if(792&c&&16910400!==e.token&&(53248&e.token?p=parseIdentifier(e,n):268435456==(268435456&e.token)?p=parseLiteral(e,n):4325395===e.token?(c|=2,p=parseComputedPropertyName(e,n)):report(e,n,0)),u){return 32&a&&report(e,n,49,0,"static"),15&a&&report(e,n,49,0,"Accessibility and abstract"),consume(e,n,21),finishNode({type:"IndexSignature",parameters:[p],typeAnnotation:parseType(e,n,0,0,0),readonly:(8192&c)<1,accessibility:null,export:!1,static:!1})}return(2&c)<1&&"constructor"===e.tokenValue&&((32&a)<1&&131083===e.token&&(920&c||(524288&n)<1&&(e.flags|=1)),c|=64),16910400===e.token||131083===e.token?(16&a&&report(e,n,44),finishNode({type:1&a?"AbstractMethodDefinition":"MethodDefinition",kind:(32&a)<1&&64&c?"constructor":256&c?"get":512&c?"set":"method",static:(32&a)>0,computed:(2&c)>0,key:p,decorators:r,value:i=parseTypeScriptMethodDefinition(e,n,d,c,a,s),accessibility:2&a?"public":4&a?"private":8&a?"protected":null,typeParameters:null})):parseClassProperty(e,n,p,c,a,r)}function parseClassProperty(e,n,t,r,o,s){24&r&&report(e,n,8&r?45:63),0==(32&o)&&64&r&&report(e,n,36);const a=consumeOpt(e,n,22),i=consumeOpt(e,n,33685550);!a&&i&&21!==e.token&&report(e,n,48);const p=21===e.token?parseTypeAnnotation(e,n,0):[];let c=null;return 8388638===e.token&&(nextToken(e,n),32&o&&139360===e.token&&report(e,n,91),c=parseAssignmentExpression(e,n,c=parseLeftHandSideExpression(e,n,1))),finishNode({type:1&o?"AbstractClassProperty":"ClassProperty",key:t,value:c,computed:(2&r)>0,static:(32&o)>0,readonly:(8192&r)>0,decorators:s,accessibility:2&o?"public":4&o?"private":8&o?"protected":null,optional:a,definite:i,typeAnnotation:p})}function parseConstructorFormals(e,n,t){consume(e,n,131083);const r=[];let o,s=0;for(;16!==e.token;){if(53248&e.token){const{token:t}=e;o=parseBindingIdentifier(e,n,0,1),524288==(524288&t)&&(53248&e.token)>0&&(o=parseParameterProperty(e,n,t,[]))}else{const t=142===e.token?parseDecorators(e,1048576|n):[],{token:r}=e;4325388===e.token?o=parseObjectLiteralOrPattern(e,n,1,1,t):4325395===e.token?o=parseArrayExpressionOrPattern(e,n,1,1,t):14===e.token?o=parseSpreadOrRestElement(e,n,16,1,t):(61440&e.token)>0?(o=parseBindingIdentifier(e,n,0,1)).decorators=t:report(e,n,0),524288==(524288&r)&&(53248&e.token)>0&&(o=parseParameterProperty(e,n,r,t))}8388638===e.token&&(nextToken(e,32768|n),s=1,o=finishNode({type:"AssignmentPattern",left:o,right:parseExpression(e,n)})),r.push(o),16!==e.token&&consume(e,n,18)}return consume(e,n,16),4325388!==e.token&&(s&&4325388!==e.token&&report(e,n,73),t&&report(e,n,68)),r}function parseParameterProperty(e,n,t,r){540779===e.token&&report(e,n,55);let o=null;const{tokenValue:s}=e,a=(540776===t?4:0)|(540778===t?2:0)|(540777===t?8:0)|(consumeOpt(e,n,561287)?16:0);if(16===e.token)o=parseIdentifierFromValue(e,n,s,1);else{const{token:t}=e;o=parseBindingIdentifier(e,n,0,1),(61440&e.token)>0?o=parseBindingIdentifier(e,n,0,1):524288==(524288&t)&&report(e,n,59,0,KeywordDescTable[255&t])}return 8388638===e.token&&(nextToken(e,32768|n),o=finishNode({type:"AssignmentPattern",left:o,right:parseExpression(e,n)})),finishNode({type:"ParameterProperty",accessibility:2&a?"public":4&a?"private":8&a?"protected":null,readonly:(16&a)>0,static:!1,export:!1,parameter:o,decorators:r})}function parseTypeScriptFormalParametersOrFormalList(e,n){const t=[];let r;for(nextToken(e,n=134217728^(134217728|n));16!==e.token;){const{tokenValue:o,token:s}=e;if((61440&s)>0)524288==(524288&s)?(nextToken(e,n),(53248&e.token)>0&&report(e,n,60),r=parseIdentifierFromValue(e,n,o,1)):r=parseBindingIdentifier(e,n,0,1);else{const t=142===s?parseDecorators(e,1048576|n):[];4325388===e.token?r=parseObjectLiteralOrPattern(e,n,1,1,t):4325395===e.token?r=parseArrayExpressionOrPattern(e,n,1,1,t):14===e.token?r=parseSpreadOrRestElement(e,n,16,1,t):(61440&e.token)>0?(r=parseBindingIdentifier(e,n,0,1)).decorators=t:report(e,n,0),reinterpretToPattern(e,r)}if(8388638===e.token){nextToken(e,32768|n),r=finishNode({type:"AssignmentPattern",left:r,right:parseExpression(e,n)})}t.push(r),16!==e.token&&consume(e,n,18)}return consume(e,n,16),t}function parseFormalParametersOrFormalList(e,n){const t=[];let r;for(nextToken(e,n=134217728^(134217728|n));16!==e.token;){const{token:o}=e;if((61440&o)>0?r=parseIdentifier(e,n):(4325388===o?r=parseObjectLiteralOrPattern(e,n,1,1,[]):4325395===o?r=parseArrayExpressionOrPattern(e,n,1,1,[]):14===o?r=parseSpreadOrRestElement(e,n,16,1,[]):report(e,n,0),reinterpretToPattern(e,r)),8388638===e.token){nextToken(e,32768|n),r=finishNode({type:"AssignmentPattern",left:r,right:parseExpression(e,n)})}t.push(r),16!==e.token&&consume(e,n,18)}return consume(e,n,16),t}function parseFunctionBody(e,n,t){if(128&n&&4325388!==e.token){if(canParseSemicolon(e))return consumeSemicolon(e,n),null;report(e,n,1,0,";")}consume(e,32768|n,4325388);const r=[];if(2097167!==e.token){for(;268566531===e.token;)e.index-e.tokenPos<13&&"use strict"===e.tokenValue&&(2097152!=(2097152&e.token)&&0!==e.precedingLineBreak||(n|=1024)),r.push(parseStatementListItem(e,n,e.tokenPos));for(;2097167!==e.token;)r.push(parseStatementListItem(e,n))}return consume(e,24&t?32768|n:n,2097167),finishNode({type:"BlockStatement",body:r})}function parseBlock(e,n){const t=[];for(consume(e,32768|n,4325388);2097167!==e.token;)t.push(parseStatementListItem(e,n,e.startPos));return consume(e,32768|n,2097167),finishNode({type:"BlockStatement",body:t})}function parsePrimaryExpression(e,n,t,r){if(430190===e.token)return parseAsyncExpression(e,n,t,0);if(184428===e.token)return parseYieldExpression(e,n);if((36864&e.token)>0){if(168047===e.token)return parseAwaitExpression(e,n);const o=r&&128&n?parseBindingIdentifier(e,n,0,0):parseIdentifier(e,n);return 10===e.token?parseArrowFunctionExpression(e,n,[o],null,null,t,0):o}if(268435456==(268435456&e.token))return parseLiteral(e,n);if(67239936==(67239936&e.token))return t||report(e,n,0),parseUpdateExpressionPrefixed(e,n,0);if(33685504==(33685504&e.token))return t||report(e,n,0),parseUnaryExpression(e,n);switch(e.token){case 139269:case 139270:case 139271:return parseNullOrTrueOrFalseLiteral(e,n);case 139360:return parseThisExpression(e,n);case 131076:return parseRegExpLiteral(e,n);case 139353:return parseFunctionExpression(e,n,0);case 4325388:return parseObjectLiteral(e,n,0);case 4325395:return parseArrayLiteral(e,n,0);case 131083:return 128&n?parseTypescriptParenthesizedExpression(e,n,t,[],0):parseParenthesizedExpression(e,n,t);case 142:case 139343:return 128&n?parseTypescriptClassExpression(e,n):parseClassExpression(e,n);case 139358:return parseSuperExpression(e,n);case 131081:return parseNoSubstitutionTemplate(e,n);case 131080:return parseTemplateLiteral(e,n);case 139356:return parseNewExpression(e,n);case 123:return parseBigIntLiteral(e,n);case 139355:return parseImportCallOrMetaExpression(e,n);case 16910400:return parseJSXOrTypeAssertion(e,n);default:if(isValidIdentifier(n,e.token))return parseIdentifierOrArrow(e,n);report(e,n,1,0,KeywordDescTable[255&e.token]),nextToken(e,n)}}function parseImportCallOrMetaExpression(e,n){let t=parseIdentifier(e,n);return parseMemberOrUpdateExpression(e,n,t=parseImportExpression(e,n))}function parseImportExpression(e,n){consume(e,32768|n,131083),14===e.token&&report(e,n,0);const t=parseExpression(e,n);return consume(e,n,16),finishNode({type:"ImportExpression",source:t})}function parseTypeParameterFromValue(e,n,t){return finishNode({type:"TypeParameter",name:parseIdentifierFromValue(e,n,t,1),constraint:consumeOpt(e,n,8278)?parseType(e,n,0,0,0):null,default:consumeOpt(e,32768|n,8388638)?parseType(e,n,0,0,0):null})}function parseJSXOrTypeAssertion(e,n){if(16&n&&0!=(36864&e.token|36998))return parseJSXRootElementOrFragment(e,n,1);(128&n)<1&&report(e,n,1,0,"<"),nextToken(e,32768|n);const t=[];let r=0;for(;16910401!==e.token;){const{token:o,tokenValue:s}=e;if(n|=268435456,0==(61440&o)){const t=parseType(e,n,0,0,0);return consume(e,32768|n,16910401),131083===e.token?parseTypescriptParenthesizedExpression(e,n,1,t,4):finishNode({type:"TypeAssertion",typeAnnotation:t,expression:parsePrimaryExpression(e,n,1,0)})}if(nextToken(e,32768|n),18===e.token||8278===e.token||8388638===e.token)r=1,t.push(parseTypeParameterFromValue(e,n,s)),16910401!==e.token&&consume(e,32768|n,18);else{if(!r){if(consumeOpt(e,32768|n,16910401))return 131083===e.token?parseTypescriptParenthesizedExpression(e,n,1,s,8):parseTypeAssertion(e,n,parseTypeFromValue(e,n,s));{let t=parseTypeFromValue(e,n,e.tokenValue);return t=parseUnionAndIntersectionType(e,n,t,0,0,0),consume(e,32768|n,16910401),131083===e.token?parseTypescriptParenthesizedExpression(e,n,1,t,4):parseTypeAssertion(e,n,t)}}t.push(parseTypeParameterFromValue(e,n,s))}}return consume(e,32768|n,16910401),131083!==e.token&&report(e,n,0),parseTypescriptParenthesizedExpression(e,n,1,finishNode({type:"TypeParameterDeclaration",params:t}),1)}function parseTypeAssertion(e,n,t){return finishNode({type:"TypeAssertion",typeAnnotation:t,expression:parsePrimaryExpression(e,n,1,0)})}function parseAsyncExpression(e,n,t,r){let o=parseIdentifier(e,n);if(0===e.precedingLineBreak){if(139353===e.token)return parseFunctionExpression(e,n,1);36864==(36864&e.token)&&(t||report(e,n,0),o=parseArrowFunctionExpression(e,n,[parseIdentifier(e,n)],null,null,1,1))}let s=null;return 128&n&&16910400===e.token&&void 0!==(s=parseAsyncIdentifierOrParameterInstantiation(e,n))&&131083!==e.token&&report(e,n,0),r||131083!==e.token||(o=parseAsyncArrowOrCallExpression(e,n,t,s,o)),10===e.token?parseArrowFunctionExpression(e,n,[o],null,[],1,0):o}function parseAwaitExpression(e,n){if(4194304&n){return nextToken(e,32768|n),finishNode({type:"AwaitExpression",argument:parseLeftHandSideExpression(e,n,1)})}return parseIdentifierOrArrow(e,n)}function parseYieldExpression(e,n){if(2097152&n){nextToken(e,32768|n);let t=null,r=!1;return 0===e.precedingLineBreak&&(r=consumeOpt(e,32768|n,16911156),(131072&e.token||r)&&(t=parseExpression(e,n))),finishNode({type:"YieldExpression",argument:t,delegate:r})}return parseIdentifierOrArrow(e,n)}function parseIdentifierOrArrow(e,n){const t=parseIdentifier(e,n);return 10===e.token?parseArrowFunctionExpression(e,n,[t],null,null,1,0):t}function parseObjectLiteral(e,n,t){return parseObjectLiteralOrPattern(e,n,t,0,[])}function parseObjectLiteralOrPattern(e,n,t,r,o){nextToken(e,n);const s=[];for(n=134217728^(134217728|n);2097167!==e.token;){const{token:t}=e;if(14===t)s.push(parseSpreadOrRestElement(e,n,2097167,0,[]));else{let a,i=0,p=null;if(61440&t)if(p=parseIdentifier(e,n),18===e.token||2097167===e.token||8388638===e.token)if(i|=4,consumeOpt(e,32768|n,8388638)){a=finishNode({type:"AssignmentPattern",left:p,right:parseExpression(e,n)})}else a=p;else if(consumeOpt(e,32768|n,21))if(61440&e.token)a=parseMemberOrUpdateExpression(e,n,a=parsePrimaryExpression(e,n,1,0)),18===e.token||2097167===e.token||(a=(e.token,parseAssignmentExpression(e,n,a)));else if(4194304==(4194304&e.token))if(a=4325388===e.token?parseObjectLiteralOrPattern(e,n,0,r,o):parseArrayExpressionOrPattern(e,n,0,r,[]),18===e.token||2097167===e.token);else{a=parseMemberOrUpdateExpression(e,n,a);const{token:t}=e;18!==t&&2097167!==t&&(a=parseAssignmentExpression(e,n,a))}else if(a=parseLeftHandSideExpression(e,n,1),18===e.token||2097167===e.token);else{a=parseMemberOrUpdateExpression(e,n,a);const{token:t}=e;18!==t&&2097167!==t&&(a=parseAssignmentExpression(e,n,a))}else 4325395===e.token?(430190===t&&(i|=16),i|=2|(4209===t?256:4210===t?512:1),p=parseComputedPropertyName(e,n),a=parseMethodDefinition(e,n,i)):61440&e.token?(p=parseIdentifier(e,n),430190===t&&(i|=16),a=parseMethodDefinition(e,n,i|=4209===t?256:4210===t?512:1)):131083===e.token?a=parseMethodDefinition(e,n,i|=1):16911156===e.token?(nextToken(e,n),i|=9|(430190===t?16:0),61440&e.token?p=parseIdentifier(e,n):268435456==(268435456&e.token)?p=parseLiteral(e,n):4325395===e.token?(i|=2,p=parseComputedPropertyName(e,n)):report(e,n,0),a=parseMethodDefinition(e,n,i)):268435456==(268435456&e.token)?(430190===t&&(i|=16),i|=4209===t?256:4210===t?512:1,p=parseLiteral(e,n),a=parseMethodDefinition(e,n,i)):128&n&&16910400===e.token?a=parseMethodDefinition(e,n,i):report(e,n,0);else 268435456==(268435456&e.token)?(p=parseLiteral(e,n),21===e.token?(consume(e,32768|n,21),61440&e.token?(a=parseMemberOrUpdateExpression(e,n,a=parsePrimaryExpression(e,n,1,0)),18===e.token||2097167===e.token||(a=(e.token,parseAssignmentExpression(e,n,a)))):4194304==(4194304&e.token)?(a=4325388===e.token?parseObjectLiteralOrPattern(e,n,0,r,o):parseArrayExpressionOrPattern(e,n,0,r,[]),18===e.token||2097167===e.token||(a=parseMemberOrUpdateExpression(e,n,a),18!==e.token&&2097167!==e.token?a=parseAssignmentExpression(e,n,a):e.token)):(a=parseLeftHandSideExpression(e,n,1),18===e.token||2097167===e.token||(a=parseMemberOrUpdateExpression(e,n,a),18!==e.token&&2097167!==e.token&&(a=parseAssignmentExpression(e,n,a))))):131083===e.token?a=parseMethodDefinition(e,n,i|=1):128&n&&16910400===e.token?a=parseMethodDefinition(e,n,i):report(e,n,0)):4325395===e.token?(p=parseComputedPropertyName(e,n),i|=2,21===e.token?(nextToken(e,32768|n),61440&e.token?(a=parseMemberOrUpdateExpression(e,n,a=parsePrimaryExpression(e,n,1,0)),18===e.token||2097167===e.token||(a=(e.token,parseAssignmentExpression(e,n,a)))):4194304==(4194304&e.token)?(a=4325388===e.token?parseObjectLiteralOrPattern(e,n,0,r,o):parseArrayExpressionOrPattern(e,n,0,r,[]),18===e.token||2097167===e.token||(a=parseMemberOrUpdateExpression(e,n,a),18!==e.token&&2097167!==e.token&&(a=parseAssignmentExpression(e,n,a)))):(a=parseLeftHandSideExpression(e,n,1),18===e.token||2097167===e.token||(a=parseMemberOrUpdateExpression(e,n,a),18!==e.token&&2097167!==e.token&&(a=parseAssignmentExpression(e,n,a))))):131083===e.token?a=parseMethodDefinition(e,n,i|=1):report(e,n,0)):16911156===t?(consume(e,n,16911156),i|=8,61440&e.token?(p=parseIdentifier(e,n),i|=1,131083===e.token?a=parseMethodDefinition(e,n,i):128&n&&16910400===e.token?a=parseMethodDefinition(e,n,i):report(e,n,0)):268435456==(268435456&e.token)?(p=parseLiteral(e,n),a=parseMethodDefinition(e,n,i|=1)):4325395===e.token?(i|=3,p=parseComputedPropertyName(e,n),a=parseMethodDefinition(e,n,i)):report(e,n,0)):report(e,n,0);s.push(finishNode({type:"Property",key:p,value:a,kind:768&i?512&i?"set":"get":"init",computed:(2&i)>0,method:(1&i)>0,shorthand:(4&i)>0}))}if(18!==e.token)break;nextToken(e,n)}consume(e,n,2097167);let a=null;if(128&n){const t=!!r&&consumeOpt(e,n,22);a=finishNode({type:"ObjectExpression",properties:s,typeAnnotation:r&&21===e.token?parseTypeAnnotation(e,n,0):[],optional:t,decorators:o})}else a=finishNode({type:"ObjectExpression",properties:s});return!t&&8388608&e.token?parseArrayOrObjectAssignmentPattern(e,n,a):a}function parseArrayOrObjectAssignmentPattern(e,n,t){return nextToken(e,32768|n),reinterpretToPattern(e,t),finishNode({type:"AssignmentExpression",left:t,operator:"=",right:parseExpression(e,n)})}function parseComputedPropertyName(e,n){nextToken(e,32768|n);let t=parsePrimaryExpression(e,134217728^(134217728|n),1,0);return t=parseAssignmentExpression(e,n,t=parseMemberOrUpdateExpression(e,n,t)),consume(e,n,20),t}function parseTypeScriptMethodDefinition(e,n,t,r,o,s=0){let a=null,i=null;16910400===e.token&&(768&r&&report(e,n,0),i=parseTypeParameters(e,n));const p=(64&r)<1?31981568:14680064;n=(n|p)^p|(88&r)<<18|100925440;const c=t&&!s?parseConstructorFormals(e,n,s):parseTypescriptMethodFormals(e,n,r),u=21===e.token?parseTypeAnnotation(e,n,0):null;return 4325388!==e.token?consumeSemicolon(e,n):(s&&report(e,n,68),1&o&&report(e,n,768&r?46:43),a=parseFunctionBody(e,-134230017&n,0)),finishNode({type:a?"FunctionExpression":"EmptyBodyFunctionExpression",params:c,body:a,async:(16&r)>0,generator:(8&r)>0,id:null,returnType:u,typeParameters:i,declare:!1})}function parseMethodDefinition(e,n,t){let r=null,o=null;const s=128&n;s&&16910400===e.token&&(768&t&&report(e,n,0),o=parseTypeParameters(e,n));const a=(64&t)<1?31981568:14680064;n=(n|a)^a|(88&t)<<18|100925440;const i=s?parseTypescriptMethodFormals(e,n,t):parseMethodFormals(e,n,t),p=s&&21===e.token?parseTypeAnnotation(e,n,0):null;return s&&4325388!==e.token?consumeSemicolon(e,n):r=parseFunctionBody(e,-134230017&n,0),finishNode(s?{type:r?"FunctionExpression":"EmptyBodyFunctionExpression",params:i,body:r,async:(16&t)>0,generator:(8&t)>0,id:null,returnType:p,typeParameters:o,declare:!1}:{type:"FunctionExpression",params:i,body:r,async:(16&t)>0,generator:(8&t)>0,id:null})}function parseTypescriptMethodFormals(e,n,t){if(consume(e,n,131083),16===e.token)return 512&t&&report(e,n,74,1,"Setter","one",""),nextToken(e,n),[];let r,o=0,s=[],a=0;if(139360===e.token){if(s=[parseBindingIdentifier(e,n,1,1)],!consumeOpt(e,n,18))return nextToken(e,n),s;o++}for(;16!==e.token;){if((61440&e.token)>0)139360===e.token&&o++,r=parseBindingIdentifier(e,n,0,1);else{const t=142===e.token?parseDecorators(e,1048576|n):[];4325388===e.token?r=parseObjectLiteralOrPattern(e,n,1,1,t):4325395===e.token?r=parseArrayExpressionOrPattern(e,n,1,1,t):14===e.token?r=parseSpreadOrRestElement(e,n,16,1,t):(61440&e.token)>0?(r=parseBindingIdentifier(e,n,0,1)).decorators=t:report(e,n,0),reinterpretToPattern(e,r)}if(8388638===e.token){nextToken(e,32768|n),r=finishNode({type:"AssignmentPattern",left:r,right:parseExpression(e,n)})}a++,s.push(r),16!==e.token&&consume(e,n,18)}return 0===o&&(256&t&&report(e,n,74,1,"Getter","no","s"),512&t&&1!==a&&report(e,n,74,1,"Setter","one","")),consume(e,n,16),s}function parseMethodFormals(e,n,t){if(consume(e,n,131083),16===e.token)return 512&t&&report(e,n,74,1,"Setter","one",""),nextToken(e,n),[];const r=[];let o,s=0;for(256&t&&report(e,n,74,1,"Getter","no","s"),512&t&&14===e.token&&report(e,n,75);16!==e.token;){if((61440&e.token)>0?o=parseIdentifier(e,n):(4325388===e.token?o=parseObjectLiteralOrPattern(e,n,1,1,[]):4325395===e.token?o=parseArrayExpressionOrPattern(e,n,1,1,[]):14===e.token?o=parseSpreadOrRestElement(e,n,16,0,[]):report(e,n,0),reinterpretToPattern(e,o)),8388638===e.token){nextToken(e,32768|n),o=finishNode({type:"AssignmentPattern",left:o,right:parseExpression(e,n)})}s++,r.push(o),16!==e.token&&consume(e,n,18)}return 512&t&&1!==s&&report(e,n,74,1,"Setter","one",""),consume(e,n,16),r}function parseSpreadOrRestElement(e,n,t,r,o){let s;if(nextToken(e,32768|n),61440&e.token)s=parseMemberOrUpdateExpression(e,n,s=parsePrimaryExpression(e,n,1,0)),18!==e.token&&e.token!==t&&(s=parseAssignmentExpression(e,n,s));else if(e.token===t)report(e,n,0);else{if(!(4194304&e.token)){s=parseLeftHandSideExpression(e,n,1);const{token:r}=e;return 8388638===r&&r!==t&&18!==r?s=parseAssignmentExpression(e,n,s):18===r||r!==t&&(s=parseAssignmentExpression(e,n,s)),finishNode({type:"SpreadElement",argument:s})}{s=4325388===e.token?parseObjectLiteralOrPattern(e,n,0,0,[]):parseArrayExpressionOrPattern(e,n,0,0,[]);const{token:r}=e;8388638!==r&&r!==t&&18!==r&&(s=parseMemberOrUpdateExpression(e,n,s),18!==e.token&&e.token!==t&&(s=parseAssignmentExpression(e,n,s)))}}if(e.token!==t&&consumeOpt(e,32768|n,8388638)){reinterpretToPattern(e,s),s=finishNode({type:"AssignmentExpression",left:s,operator:"=",right:parseExpression(e,n)})}return finishNode(128&n&&r?{type:"SpreadElement",argument:s,optional:consumeOpt(e,n,22),typeAnnotation:r&&21===e.token?parseTypeAnnotation(e,n,0):[],value:null,decorators:o}:{type:"SpreadElement",argument:s})}function parseArrayLiteral(e,n,t){return parseArrayExpressionOrPattern(e,n,t,0,[])}function parseArrayExpressionOrPattern(e,n,t,r,o){nextToken(e,32768|n);const s=[];for(n=134217728^(134217728|n);20!==e.token;)if(consumeOpt(e,32768|n,18))s.push(null);else{let t;const{token:o}=e;if(36864&o)if(t=parsePrimaryExpression(e,n,1,0),consumeOpt(e,32768|n,8388638)){t=finishNode({type:"AssignmentExpression",operator:"=",left:t,right:parseExpression(e,n)})}else t=parseMemberOrUpdateExpression(e,n,t),18!==e.token&&20!==e.token&&(t=parseAssignmentExpression(e,n,t));else 4194304&o?(t=4325388===e.token?parseObjectLiteralOrPattern(e,n,0,r,[]):parseArrayExpressionOrPattern(e,n,0,r,[]),18===e.token||20===e.token||(t=parseMemberOrUpdateExpression(e,n,t),18!==e.token&&20!==e.token&&(t=parseAssignmentExpression(e,n,t)))):14===o?t=parseSpreadOrRestElement(e,n,20,0,[]):(t=parseLeftHandSideExpression(e,n,1),18!==e.token&&20!==e.token&&(t=parseAssignmentExpression(e,n,t)));if(s.push(t),!consumeOpt(e,32768|n,18))break;if(20===e.token)break}consume(e,n,20);let a=null;if(128&n){const t=!!r&&consumeOpt(e,n,22);a=finishNode({type:"ArrayExpression",elements:s,typeAnnotation:r&&21===e.token?parseTypeAnnotation(e,n,0):[],optional:t,decorators:o})}else a=finishNode({type:"ArrayExpression",elements:s});return!t&&8388608&e.token?parseArrayOrObjectAssignmentPattern(e,n,a):a}function parseParenthesizedExpression(e,n,t){if(consumeOpt(e,32768|n,131083),consumeOpt(e,n=134217728^(134217728|n),16))return 10!==e.token&&report(e,n,0),t||report(e,n,0),parseArrowFunctionExpression(e,n,[],null,null,t,0);let r,o=[],s=0;for(;16!==e.token;){const{token:t}=e;if(61440&e.token)r=parsePrimaryExpression(e,n,1,1),18===e.token||16===e.token||(r=parseMemberOrUpdateExpression(e,n,r),18!==e.token&&16!==e.token&&(r=parseAssignmentExpression(e,n,r)));else if(4194304&t)r=4325388===e.token?parseObjectLiteralOrPattern(e,n,0,0,[]):parseArrayExpressionOrPattern(e,n,0,0,[]),18!==e.token&&16!==e.token&&(r=parseMemberOrUpdateExpression(e,n,r),18!==e.token&&16!==e.token&&(r=parseAssignmentExpression(e,n,r)));else{if(14!==t){if(r=parseExpression(e,n),!s||18!==e.token&&16!==e.token||o.push(r),18===e.token&&(s||(s=1,o=[r])),s){for(;consumeOpt(e,32768|n,18);)o.push(parseExpression(e,n));r=finishNode({type:"SequenceExpression",expressions:o})}return consume(e,n,16),r}r=parseSpreadOrRestElement(e,n,16,1,[])}if(!s||18!==e.token&&16!==e.token||o.push(r),!consumeOpt(e,32768|n,18))break;if(s||(s=1,o=[r]),16===e.token)break}return s&&(r=finishNode({type:"SequenceExpression",expressions:o})),consume(e,n,16),10===e.token?parseArrowFunctionExpression(e,n,s?o:[r],null,null,t,0):r}function parseOptionalNchanged(e,n,t,r){if(21!==e.token&&18!==e.token&&16!==e.token){const r=parseExpression(e,134217728^(671088640|n));consume(e,32768|n,21);const o=parseExpression(e,n),s=finishNode({type:"ConditionalExpression",test:t[0],consequent:r,alternate:o});return nextToken(e,n),s}for(;consumeOpt(e,n,18);)t.push(14===e.token?parseSpreadOrRestElement(e,n,16,1,[]):parseBindingIdentifier(e,n,0,1));if(16===e.token){return nextToken(e,n),parseArrowFunctionExpression(e,n,t,[],21===e.token?parseTypeAnnotation(e,n,0):null,1,r)}}function parseTypescriptParenthesizedExpression(e,n,t,r,o){if(consumeOpt(e,32768|n,131083),consumeOpt(e,n=134217728^(134217728|n),16)){let s=null;if(o>0&&(6&o&&report(e,n,56),8&o&&(r=finishNode({type:"TypeParameterDeclaration",params:[parseTypeParameterFromValue(e,n,r)]}))),21===e.token){if(536870912&n){const o=tryScan(e,n,function(){const t=parseTypeAnnotation(e,1073741824|n,0);if(10===e.token)return t});return o?parseArrowFunctionExpression(e,n,[],r,o,t,0):[]}s=parseTypeAnnotation(e,1073741824|n,0)}return 10!==e.token&&report(e,n,0),t||report(e,n,0),parseArrowFunctionExpression(e,n,[],r,s,t,0)}let s,a=[],i=0;for(;16!==e.token;){const{token:p}=e;if(61440&e.token){if(s=parsePrimaryExpression(e,n,1,1),22===e.token)return nextToken(e,n),21===e.token&&(s.typeAnnotation=parseTypeAnnotation(e,n,0)),i&&a.push(s),parseOptionalNchanged(e,n,i?a:[s],0);18===e.token||16===e.token||(s=parseMemberOrUpdateExpression(e,n,s),18!==e.token&&16!==e.token&&(s=parseAssignmentExpression(e,n,s)))}else if(4194304&p)s=4325388===e.token?parseObjectLiteralOrPattern(e,n,0,0,[]):parseArrayExpressionOrPattern(e,n,0,0,[]),21===e.token&&(s.typeAnnotation=parseTypeAnnotation(e,n,0)),18!==e.token&&16!==e.token&&(s=parseMemberOrUpdateExpression(e,n,s),18!==e.token&&16!==e.token&&(s=parseAssignmentExpression(e,n,s)));else{if(14!==p){if(o>0&&131083===e.token){let s=parseTypeFromValue(e,n,r);s=parseUnionAndIntersectionType(e,n,s,0,0,0);const a=parseTypescriptParenthesizedExpression(e,n,t,r,o);return consume(e,n,16),finishNode({type:"TypeAssertion",typeAnnotation:s,expression:a})}if(s=parseExpression(e,n),!i||18!==e.token&&16!==e.token||a.push(s),18===e.token&&(i||(i=1,a=[s])),i){for(;consumeOpt(e,32768|n,18);)a.push(parseExpression(e,n));s=finishNode({type:"SequenceExpression",expressions:a})}return consume(e,n,16),s}s=parseSpreadOrRestElement(e,n,16,1,[])}if(!i||18!==e.token&&16!==e.token||a.push(s),!consumeOpt(e,32768|n,18))break;if(i||(i=1,a=[s]),16===e.token)break}if(i&&(s=finishNode({type:"SequenceExpression",expressions:a})),consume(e,n,16),536870912&n&&21===e.token){const o=tryScan(e,n,function(){const t=parseTypeAnnotation(e,1073741824|n,0);if(10===e.token)return t});return o?parseArrowFunctionExpression(e,n,i?a:[s],r,o,t,0):s}let p=null;return 21===e.token&&(p=parseTypeOrTypePredicate(e,1073741824|n,0),10!==e.token&&report(e,n,0)),10===e.token?(o>0&&(6&o&&report(e,n,56),8&o&&(r=finishNode({type:"TypeParameterDeclaration",params:[parseTypeParameterFromValue(e,n,r)]}))),parseArrowFunctionExpression(e,n,i?a:[s],r,p,t,0)):o>0?3&o?r:(8&o&&(r=parseTypeFromValue(e,n,r),r=parseUnionAndIntersectionType(e,n,r,0,0,0)),finishNode({type:"TypeAssertion",typeAnnotation:r,expression:s})):s}function parseArrowFunctionExpression(e,n,t,r,o,s,a){consume(e,32768|n,10);for(let n=0;n<t.length;++n)reinterpretToPattern(e,t[n]);n=15728640^(15728640|n)|a<<22;const i=4325388!==e.token;let p;if(s||report(e,n,0),i)p=parseExpression(e,536870912^(536870912|n));else switch(p=parseFunctionBody(e,671117312^(671117312|n),16),16908288==(16908288&e.token)&&0===e.precedingLineBreak&&report(e,n,1,0,KeywordDescTable[255&e.token]),67239936==(67239936&e.token)&&report(e,n,87),e.token){case 13:case 4325395:case 131081:case 22:report(e,n,85);case 131083:report(e,n,86)}return finishNode(128&n?{type:"ArrowFunctionExpression",body:p,params:t,async:1===a,expression:i,returnType:o,typeParameters:r}:{type:"ArrowFunctionExpression",body:p,params:t,async:1===a,expression:i})}function parseSuperExpression(e,n){switch(nextToken(e,n),e.token){case 131083:(524288&n)<1&&report(e,n,65);break;case 4325395:case 13:(262144&n)<1&&report(e,n,64);break;default:report(e,n,1,1,"super")}return finishNode({type:"Super"})}function parseNewExpression(e,n){const t=parseIdentifier(e,32768|n);if(consumeOpt(e,n,13)){if(67108864&n&&"target"===e.tokenValue)return parseMetaProperty(e,n,t);report(e,n,76)}const r=128&n,o=parsePrimaryExpression(e,n,0,0);let s=null;r&&16910400===e.token&&(s=parseTypeParameterInstantiation(e,n),131083!==e.token&&report(e,n,0));const a=parseMembeExpressionNoCall(e,n=134217728^(134217728|n),o),i=131083===e.token?parseArguments(e,n):[];return finishNode(r?{type:"NewExpression",callee:a,arguments:i,typeParameters:s}:{type:"NewExpression",callee:a,arguments:i})}function parseMetaProperty(e,n,t){return finishNode({type:"MetaProperty",meta:t,property:parseIdentifier(e,n)})}function parseMembeExpressionNoCall(e,n,t){const{token:r}=e;if(13===r){return nextToken(e,n),parseMembeExpressionNoCall(e,n,finishNode({type:"MemberExpression",object:t,optional:!1,shortCircuited:!1,computed:!1,property:parseIdentifier(e,n)}))}if(4325395===r){nextToken(e,32768|n);const r=parseExpressions(e,n);return consume(e,n,20),parseMembeExpressionNoCall(e,n,finishNode({type:"MemberExpression",object:t,computed:!0,optional:!1,shortCircuited:!1,property:r}))}return 131080===r||131081===r?parseMembeExpressionNoCall(e,n,{type:"TaggedTemplateExpression",tag:t,quasi:131080===e.token?parseTemplateLiteral(e,n):parseNoSubstitutionTemplate(e,65536|n)}):t}function parseNoSubstitutionTemplate(e,n){return consume(e,n,131081),finishNode({type:"TemplateLiteral",expressions:[],quasis:[parseTemplateElement(e,!0)]})}function parseTemplateLiteral(e,n){n=134217728^(134217728|n);const t=[parseTemplateElement(e,!1)];consume(e,32768|n,131080);const r=[parseExpressions(e,n)];for(;131081!==(e.token=scanTemplateTail(e,n));)t.push(parseTemplateElement(e,!1)),consume(e,32768|n,131080),r.push(parseExpressions(e,n));return t.push(parseTemplateElement(e,!0)),consume(e,n,131081),finishNode({type:"TemplateLiteral",expressions:r,quasis:t})}function parseTemplateElement(e,n){return finishNode({type:"TemplateElement",tail:n,value:{cooked:e.tokenValue,raw:e.tokenRaw}})}function parseBigIntLiteral(e,n){const{tokenRaw:t,tokenValue:r}=e;return nextToken(e,n),finishNode({type:"BigIntLiteral",value:r,bigint:t})}function parseUnaryExpression(e,n){const t=e.token;nextToken(e,32768|n);const r=parseLeftHandSideExpression(e,n,1);return 16911415===e.token&&report(e,n,0),1024&n&&33693740===t&&"Identifier"===r.type&&report(e,n,0),finishNode({type:"UnaryExpression",operator:KeywordDescTable[255&t],argument:r,prefix:!0})}function parseUpdateExpressionPrefixed(e,n,t){t&&report(e,n,0);const{token:r}=e;return nextToken(e,32768|n),finishNode({type:"UpdateExpression",argument:parseLeftHandSideExpression(e,n,1),operator:KeywordDescTable[255&r],prefix:!0})}function parseLiteral(e,n){const{tokenValue:t}=e;return nextToken(e,n),finishNode({type:"Literal",value:t})}function parseIdentifier(e,n){const{tokenValue:t}=e;return nextToken(e,n),finishNode({type:"Identifier",name:t})}function parseThisExpression(e,n){return nextToken(e,n),finishNode({type:"ThisExpression"})}function parseNullOrTrueOrFalseLiteral(e,n){const t=KeywordDescTable[255&e.token],r=139271===e.token?null:"true"===t;return nextToken(e,n),finishNode({type:"Literal",value:r})}function parseRegExpLiteral(e,n){const{tokenRegExp:t,tokenValue:r}=e;return nextToken(e,n),finishNode({type:"Literal",value:r,regex:t})}function parseTypeParameters(e,n){const t=[];for(consume(e,n,16910400);16910401!==e.token;)t.push(parseTypeParameter(e,268435456|n)),16910401!==e.token&&consume(e,n,18);return consume(e,n,16910401),finishNode({type:"TypeParameterDeclaration",params:t})}function parseTypeParameter(e,n){const t=parseBindingIdentifier(e,n,0,0);let r=null;return consumeOpt(e,n,8278)&&(r=parseType(e,n,0,0,0)),finishNode({type:"TypeParameter",name:t,constraint:r,default:consumeOpt(e,32768|n,8388638)?parseType(e,n,0,0,0):null})}function parseBindingIdentifier(e,n,t,r){const{tokenValue:o}=e;let s=!1;nextToken(e,n);const a=r&&consumeOpt(e,n,22);return consumeOpt(e,n,33685550)&&(s=!0),finishNode({type:"Identifier",name:s?2|o:o,optional:a,typeAnnotation:t||21===e.token?parseTypeAnnotation(e,n,0):[]})}function parseOptionalIdentifier(e,n){const{tokenValue:t}=e;return nextToken(e,n),finishNode({type:"Identifier",name:t,optional:consumeOpt(e,n,22),typeAnnotation:null})}function parseTypeAnnotationNoConsume(e,n,t){const r=parseType(e,n,t,0,0);return consumeOpt(e,n,2097169),finishNode({type:"TypeAnnotation",typeAnnotation:r})}function parseTypeAnnotation(e,n,t){nextToken(e,n);const r=parseType(e,n,t,0,0);return consumeOpt(e,n,2097169),finishNode({type:"TypeAnnotation",typeAnnotation:r})}function parseType(e,n,t,r,o){const s=parseUnionType(e,n,t,r,o);return 0===e.precedingLineBreak&&consumeOpt(e,n,8278)?parseConditionalType(e,n,t,r,o,s):s}function parseConditionalType(e,n,t,r,o,s){const a=parseUnionType(e,n,t,r,o);consumeOpt(e,n,22);const i=parseType(e,n,t,r,o);return consumeOpt(e,n,21),finishNode({type:"ConditionalType",checkType:s,extendsType:a,trueType:i,falseType:parseType(e,n,t,r,o)})}function parseIntersectionType(e,n,t,r,o){const s=consumeOpt(e,n,16909893);let a=parseTypeOperatorOrHigher(e,n,0,t,r,o);if(16909893===e.token||s){const s=[a];for(;consumeOpt(e,n,16909893);)s.push(parseTypeOperatorOrHigher(e,n,0,t,r,o));a=finishNode({type:"IntersectionType",types:s})}return a}function parseTypeOperatorOrHigher(e,n,t,r,o,s){switch(e.token){case 561287:t=1;case 36996:case 36997:return parseTypeOperator(e,n,t,r,o,s);case 37e3:return parseInferType(e,n);default:return parsePostFix(e,n,t,r,o,s)}}function parseTypeOperator(e,n,t,r,o,s){const a=KeywordDescTable[255&e.token];return nextToken(e,n),finishNode({type:"TypeOperator",operator:a,typeAnnotation:parseTypeOperatorOrHigher(e,n,t,r,o,s)})}function parseInferType(e,n){nextToken(e,n);const t=finishNode({type:"TypeParameter",name:parseIdentifier(e,n)});return finishNode({type:"InferType",typeParameter:t})}function parsePostFix(e,n,t,r,o,s){return parsePostFixTypeOrHigher(e,n,parseNonArrayType(e,n,t,r,o,s))}function parsePostFixTypeOrHigher(e,n,t){for(;0===e.precedingLineBreak;)switch(e.token){case 33685550:report(e,n,79);break;case 4325395:if(nextToken(e,32768|n),consumeOpt(e,n,20))t=finishNode({type:"ArrayType",elementType:t});else{const r=parseType(e,n,0,0,0);consume(e,n,20),t=finishNode({type:"IndexedAccessType",objectType:t,indexType:r})}break;default:return t}return t}function parseUnionType(e,n,t,r,o){const s=consumeOpt(e,n,16909382);let a=parseIntersectionType(e,n,t,r,o);if(16909382===e.token||s){t&&report(e,n,58);const s=[a];for(;consumeOpt(e,n,16909382);)s.push(parseIntersectionType(e,n,t,r,o));a=finishNode({type:"UnionType",types:s})}return a}function parseEntityName(e,n){let t=parseIdentifier(e,n);for(;consumeOpt(e,n,13);)t=finishNode({type:"QualifiedName",left:t,right:parseIdentifier(e,n)});return t}function parseTypeReference(e,n){const t=parseEntityName(e,n);let r=null;return e.precedingLineBreak||16910400!==e.token||(r=parseTypeParameterInstantiation(e,268435456|n)),finishNode({type:"TypeReference",typeName:t,typeParameters:r})}function parseNonArrayType(e,n,t,r,o,s){const{token:a,tokenValue:i}=e;if(0!=(53248&a)){const o=primaryTypes[i];return r&&"string"!==i&&"number"!==i&&report(e,n,78),o?(nextToken(e,n),t&&4325395!==e.token&&report(e,n,37),{type:o}):(16384===(1024&n&&16384&a)&&report(e,n,62),parseTypeReference(e,n))}switch(a){case 134357067:return parseTypeReference(e,n);case 268566531:case 268566530:return parseLiteralTypedNode(e,n,0,"Literal");case 123:return parseLiteralTypedNode(e,n,0,"BigIntLiteral");case 139270:case 139269:return parseLiteralTypedNode(e,n,1,"Literal");case 50465329:return parseSubtractTypeNode(e,n);case 131081:return parseTemplateLiteralType(e,n);case 4325388:return parseObjectTypeMembers(e,n,s);case 4325395:return parseTupleType(e,n);case 16910400:return parseFunctionType(e,n);case 131083:return parseFunctionOrConstructorTypeOrParenthesized(e,n,o,s,"FunctionType");case 139271:return parseNullOrVoidTypedNode(e,n,"NullKeyword");case 33693741:return parseNullOrVoidTypedNode(e,n,"VoidKeyword");case 33693739:return nextToken(e,n),139355===e.token?parseImportType(e,n,!0):parseTypeQuery(e,n);case 139356:return parseNewAsTypeReferenceOrConstructorType(e,n,o,s);case 139360:const t=parseThisTypeNode(e,n);return 36998===e.token&&0===e.precedingLineBreak?parseTypePredicate(e,n,t):t;case 139355:return parseImportType(e,n,!1);case 138:return parseAssertsTypePredicateOrTypePredicate(e,n);case 16911156:case 8388645:report(e,n,79);default:if(1073741824&n&&16!==e.token)return;report(e,n,16384===(1024&n&&16384&a)?62:56)}}function parseFunctionType(e,n){const t=parseTypeParameters(e,n);if(1073741824&n&&131083!==e.token)return;consume(e,n,131083);const r=parseFunctionTypeParams(e,n);return consume(e,n,16),consume(e,n,10),finishNode({type:"FunctionType",params:r,returnType:parseTypeAnnotationNoConsume(e,n,0),typeParameters:t})}function parseNewAsTypeReferenceOrConstructorType(e,n,t,r){const{tokenValue:o}=e;return nextToken(e,n),131083===e.token?parseFunctionOrConstructorTypeOrParenthesized(e,n,t,r,"ConstructorType"):parseTypeReferenceFromExpression(e,n,parseIdentifierFromValue(e,n,o,0))}function parseImportType(e,n,t){nextToken(e,n),consume(e,n,131083);const r=parseType(e,n,0,0,0);return consume(e,n,16),finishNode({type:"ImportType",qualifier:consumeOpt(e,n,13)?parseEntityName(e,n):null,parameter:r,isTypeOf:t,typeParameters:0===e.precedingLineBreak&&16910400===e.token?parseTypeParameterInstantiation(e,n):null})}function parseTemplateLiteralType(e,n){return finishNode({type:"LiteralType",literal:parseNoSubstitutionTemplate(e,n)})}function parseSubtractTypeNode(e,n){const t=parseIdentifier(e,n);if(268566530!==e.token&&123!==e.token)return parseTypeReferenceFromExpression(e,n,t);const r=finishNode({type:"UnaryExpression",operator:"-",prefix:!0,argument:{type:"Literal",value:e.tokenValue}});return nextToken(e,n),finishNode({type:"LiteralType",literal:r})}function parseTypeQuery(e,n){return finishNode({type:"TypeQuery",exprName:parseEntityName(e,n)})}function parseThisTypeNode(e,n){return consume(e,n,139360),finishNode({type:"ThisType"})}function parseTypePredicate(e,n,t){return finishNode({type:"TypePredicate",assertsModifier:!1,parameterName:t,typeAnnotation:parseTypeAnnotation(e,n,0)})}function parseLiteralTypedNode(e,n,t,r){const{tokenValue:o}=e,s={type:r,value:t&&"Literal"===r?"true"===o:o};return nextToken(e,n),finishNode({type:"LiteralType",literal:s})}function parseNullOrVoidTypedNode(e,n,t){return nextToken(e,n),finishNode({type:t})}function parseFunctionOrConstructorTypeOrParenthesized(e,n,t,r,o){nextToken(e,n);let s=0,a=0,i=null;if(16!==e.token&&14!==e.token)if(a=1,61440&e.token)if(t||33693739===e.token||37e3===e.token)i=parseType(e,n,0,0,0),s=1;else{const{tokenValue:t}=e;if(nextToken(e,n),22===e.token||21===e.token)i=parseIdentifierFromValue(e,n,t,1);else{if(consumeOpt(e,n,16))return consumeOpt(e,n,10)?finishNode({type:o,params:[parseIdentifierFromValue(e,n,t,0)],returnType:parseTypeAnnotationNoConsume(e,n,0),typeParameters:null}):finishNode({type:"ParenthesizedType",typeAnnotation:{type:primaryTypes[t]}});i=parseUnionAndIntersectionType(e,n,i=parseTypeFromValue(e,n,t),0,0,0),s=1}}else if(a=1,4194304==(4194304&e.token)?reinterpretToPattern(e,i=parseUnionAndIntersectionType(e,n,i=4325395===e.token?parseArrayExpressionOrPattern(e,n,1,1,[]):parseObjectTypeMembers(e,n,1|r),0,0,0)):i=parseType(e,n,0,0,0),consumeOpt(e,n,16)){if(0==(1073741824&n)&&consumeOpt(e,n,10)){return finishNode({type:o,params:[i],returnType:parseTypeAnnotationNoConsume(e,n,0),typeParameters:null})}return reinterpretToTypeLiteral(i),finishNode({type:"ParenthesizedType",typeAnnotation:i})}if(s){if(1073741824&n&&16!==e.token)return;return consume(e,n,16),10===e.token&&report(e,n,0),finishNode({type:"ParenthesizedType",typeAnnotation:i})}const p=14===e.token?[parseRestElement(e,n)]:[];if(a&&p.push(i),consumeOpt(e,n,18))for(;16!==e.token;)p.push(parseFunctionTypeParam(e,n)),16!==e.token&&consume(e,n,18);if(!(1073741824&n&&16!==e.token||(consume(e,n,16),1073741824&n&&10!==e.token)))return consume(e,n,10),finishNode({type:o,params:p,returnType:parseTypeOrTypePredicate(e,n,0),typeParameters:null})}function parseIdentifierFromValue(e,n,t,r){return finishNode({type:"Identifier",name:t,optional:!!r&&consumeOpt(e,n,22),typeAnnotation:r&&21===e.token?parseTypeAnnotation(e,n,0):[]})}function parseRestElement(e,n){consume(e,32768|n,14);const t=parseExpression(e,n),r=consumeOpt(e,n,22);return finishNode({type:"RestElement",argument:t,typeAnnotation:21===e.token?parseTypeAnnotation(e,n,0):[],optional:r,decorators:[]})}function parseQualifiedName(e,n,t){for(;consumeOpt(e,n,13);)t=finishNode({type:"QualifiedName",left:t,right:parseIdentifier(e,n)});return t}function parseTypeReferenceFromExpression(e,n,t){let r=null;const o=parseQualifiedName(e,n,t);return e.precedingLineBreak||16910400!==e.token||(r=parseTypeParameterInstantiation(e,n)),finishNode({type:"TypeReference",typeName:o,typeParameters:r})}function parseTupleType(e,n){const t=[];consume(e,n,4325395);let r=0,o=0;for(;20!==e.token;){let s;if(14===e.token?(o=1,nextToken(e,n),s=finishNode({type:"RestType",typeAnnotation:parseType(e,n,0,0,0)})):(s=parseType(e,n,0,0,0),22===e.token?(nextToken(e,n),r=1,s=finishNode({type:"OptionalType",typeAnnotation:s})):(r&&report(e,n,81),o&&report(e,n,82))),t.push(s),20===e.token)break;consume(e,n,18)}return consume(e,n,20),finishNode({type:"TupleType",elementTypes:t})}function parseFunctionTypeParams(e,n){const t=[];for(;16!==e.token;)t.push(parseFunctionTypeParam(e,n)),16!==e.token&&consume(e,n,18);return t}function parseFunctionTypeParam(e,n){if(14===e.token)return parseRestElement(e,n);if(4194304==(4194304&e.token)){const t=4325388===e.token?parseObjectLiteralOrPattern(e,n,0,1,[]):parseArrayExpressionOrPattern(e,n,0,1,[]);return reinterpretToPattern(e,t),t}return parseBindingIdentifier(e,n,0,1)}function parseObjectTypeMembers(e,n,t){let r,o=!1,s=!1,a=!1,i=0;const p=[];for(consume(e,n,4325388);2097167!==e.token;){const{token:c}=e;if(50465329===c||50465328===c?(nextToken(e,n),561287!==e.token&&report(e,n,35),nextToken(e,n),s=KeywordDescTable[255&c]):561287===c&&(nextToken(e,n),s=!0),a=consumeOpt(e,n,540779),4325395===e.token){nextToken(e,n),20===e.token&&report(e,n,50);let r,c=0;if(524288&e.token&&report(e,n,134779008===e.token?61:60),(45056&e.token)>0){const{tokenValue:t}=e;if(nextToken(e,n),22===e.token&&report(e,n,50),33685550===e.token&&report(e,n,77),16918578===e.token){const r=parseMappedType(e,n,t,s);return consume(e,n,2097167),r}const o=consumeOpt(e,n,22);if(21===e.token){a&&report(e,n,57,0,"an index signature"),i=1,c=1;let s=[];consumeOpt(e,n,21)&&((4194304&e.token||131083===e.token)&&report(e,n,78),s=parseTypeAnnotationNoConsume(e,n,1)),r=finishNode({type:"Identifier",name:t,optional:o,typeAnnotation:s})}else 18===e.token&&report(e,n,52),r=parseIdentifierFromValue(e,n,t,0),20!==e.token&&(r=parseAssignmentExpression(e,n,r=parseMemberOrUpdateExpression(e,n,r)));r=parseMemberOrUpdateExpression(e,n,r)}if(consume(e,n,20),c&&21!==e.token&&report(e,n,51),i){consume(e,n,21);const o=parseType(e,n,0,0,t);p.push(finishNode({type:"IndexSignature",parameters:[r],typeAnnotation:o,readonly:!1,accessibility:null,export:!1,static:!1}))}else o=consumeOpt(e,n,22),p.push(16910400===e.token||131083===e.token?parseObjectTypeMembersMethod(e,n,s,o,r):parsePropertySignature(e,n,o,s,r))}else if(131083===e.token||16910400===e.token)p.push(parseCallSignatureDeclaration(e,n)),t=1^(1|t);else if(139356===e.token)p.push(parseConstructSignatureDeclaration(e,n)),t=1^(1|t);else if(1&t)if(14===e.token)p.push(parseSpreadOrRestElement(e,n,2097167,0,[]));else{let t,o=!1;r=parseObjectPropertyKey(e,n);const{token:s}=e;if(18===s||2097167===s||8388638===s)if(o=!0,consumeOpt(e,32768|n,8388638)){t=finishNode({type:"AssignmentPattern",left:r,right:parseExpression(e,n)})}else t=r;else if(21===s)if(nextToken(e,n),61440&e.token)t=parseMemberOrUpdateExpression(e,n,t=parsePrimaryExpression(e,n,1,0)),18===e.token||2097167===e.token||(t=(e.token,parseAssignmentExpression(e,n,t)));else if(4194304==(4194304&e.token))if(t=4325388===e.token?parseObjectLiteralOrPattern(e,n,0,1,[]):parseArrayExpressionOrPattern(e,n,0,1,[]),18===e.token||2097167===e.token);else{t=parseMemberOrUpdateExpression(e,n,t);const{token:r}=e;18!==r&&2097167!==r&&(t=parseAssignmentExpression(e,n,t))}else if(t=parseLeftHandSideExpression(e,n,1),18===e.token||2097167===e.token);else{t=parseMemberOrUpdateExpression(e,n,t);const{token:r}=e;18!==r&&2097167!==r&&(t=parseAssignmentExpression(e,n,t))}p.push(finishNode({type:"Property",key:r,value:t,kind:"init",computed:!1,method:!1,shorthand:o}))}else r=parseObjectPropertyKey(e,n),o=consumeOpt(e,n,22),16910400===e.token||131083===e.token?p.push(parseObjectTypeMembersMethod(e,n,s,o,r)):(2&t&&8388638===e.token&&report(e,n,56),p.push(parsePropertySignature(e,n,o,s,r)));consumeOpt(e,n,18)||consumeSemicolon(e,n)}if(consume(e,n,2097167),1&t){const t=consumeOpt(e,n,22);return finishNode({type:"ObjectExpression",properties:p,typeAnnotation:21===e.token?parseTypeAnnotation(e,n,0):[],optional:t,decorators:[]})}return finishNode({type:"TypeLiteral",members:p})}function parseMappedType(e,n,t,r){const o=parseMappedTypeParameter(e,n,t);consume(e,n,20);let s=consumeOpt(e,n,22);s||50465328!==e.token&&50465329!==e.token||(s=KeywordDescTable[255&e.token],nextToken(e,n),consumeOpt(e,n,22));const a=consumeOpt(e,n,21)?parseType(e,n,0,0,0):[];return consumeSemicolon(e,n),finishNode({type:"MappedType",typeAnnotation:a,typeParameter:o,readonly:r,optional:s})}function parseMappedTypeParameter(e,n,t){const r=parseIdentifierFromValue(e,n,t,0);return consume(e,n,16918578),finishNode({type:"TypeParameter",name:r,constraint:parseType(e,n,0,1,0),default:null})}function parseObjectTypeMembersMethod(e,n,t,r,o){const s=[];let a=null;for(16910400===e.token&&(a=parseTypeParameters(e,n)),consume(e,n,131083);16!==e.token;)s.push(parseFunctionTypeParam(e,n)),16!==e.token&&consume(e,n,18);consume(e,n,16);const i=21===e.token?parseTypeAnnotation(e,n,0):null;return consumeOpt(e,n,2097169),finishNode({type:"MethodSignature",key:o,optional:r,static:t,computed:!1,params:s,returnType:i,readonly:!1,typeParameters:a,accessibility:null,export:!1})}function parsePropertySignature(e,n,t,r,o){const s=21===e.token?parseTypeAnnotation(e,n,0):[];return consumeOpt(e,n,2097169),finishNode({type:"PropertySignature",key:o,optional:t,computed:!1,readonly:r,typeAnnotation:s,initializer:consumeOpt(e,32768|n,8388638)?parseExpression(e,n):null,static:!1,export:!1,accessibility:null})}function parseCallSignatureDeclaration(e,n){const t=[],r=16910400===e.token?parseTypeParameters(e,n):null;for(consume(e,n,131083);16!==e.token;)t.push(parseFunctionTypeParam(e,n)),16!==e.token&&consume(e,n,18);consume(e,n,16),consumeOpt(e,n,2097169);const o=21===e.token?parseTypeAnnotation(e,n,0):null;return consumeOpt(e,n,2097169),finishNode({type:"CallSignatureDeclaration",params:t,returnType:o,typeParameters:r})}function parseConstructSignatureDeclaration(e,n){nextToken(e,n);const t=[],r=16910400===e.token?parseTypeParameters(e,n):null;for(consume(e,n,131083);16!==e.token;)t.push(parseFunctionTypeParam(e,n)),16!==e.token&&consume(e,n,18);return consume(e,n,16),consumeOpt(e,n,2097169),finishNode({type:"ConstructSignatureDeclaration",params:t,returnType:21===e.token?parseTypeAnnotation(e,n,0):null,typeParameters:r})}function parseObjectPropertyKey(e,n){const{token:t,tokenValue:r}=e;return nextToken(e,n),0==(268496896&t)&&report(e,n,35),268435456==(268435456&t)?finishNode({type:"Literal",value:r}):parseIdentifierFromValue(e,n,r,0)}function parseClassDeclarationOrIdentifier(e,n,t,r,o){142===e.token&&report(e,n,100);const s=parseIdentifier(e,n);return 139343!==e.token?parseExpressionOrLabelledStatement(e,n,s,t):parseTypescriptClassDeclaration(e,n,0,o,r)}function parseTypeAliasOrIdentifier(e,n,t,r){const o=parseIdentifier(e,n);return e.precedingLineBreak||0==(36864&e.token)?parseExpressionOrLabelledStatement(e,n,o,t):parseTypeAlias(e,n,r)}function parseTypeAlias(e,n,t){const r=parseIdentifier(e,n),o=16910400===e.token?parseTypeParameters(e,n):null;consume(e,n,8388638);const s=parseType(e,n,0,0,2);return consumeSemicolon(e,n),finishNode({type:"TypeAliasDeclaration",id:r,typeAnnotation:s,declare:1===t,typeParameters:o})}function parseInterfaceOrIdentifier(e,n,t,r){const o=parseIdentifier(e,n);return e.precedingLineBreak||0==(36864&e.token)?(1024&n&&report(e,n,0),parseExpressionOrLabelledStatement(e,n,o,t)):parseInterfaceDeclaration(e,n,r)}function parseInterfaceDeclaration(e,n,t){const r=parseIdentifier(e,n),o=16910400===e.token?parseTypeParameters(e,n):null,s=[];if(consumeOpt(e,n,8278))for(;0!==e.token&&(s.push(parseHeritageClausesOrClassImplements(e,n,"InterfaceHeritage")),18===e.token);)consume(e,n,18);return finishNode({type:"InterfaceDeclaration",body:parseInterfaceBody(e,n),id:r,typeParameters:o,extends:s,implements:[],decorators:[],abstract:!1,declare:1===t})}function parseIndexSignature(e,n,t,r){let o=0,s=0;const a=[];let i;for(nextToken(e,n),524288==(524288&e.token)&&report(e,n,49,0,"Accessibility");20!==e.token;){if(36864==(36864&e.token)){const{tokenValue:r}=e;if(nextToken(e,n),22===e.token&&report(e,n,50),33685550===e.token&&report(e,n,77),21===e.token){t&&report(e,n,57,0,"an index signature"),s=1,o=1;let a=[];consumeOpt(e,n,21)&&((4194304&e.token||131083===e.token)&&report(e,n,78),a=parseTypeAnnotationNoConsume(e,n,1)),i=finishNode({type:"Identifier",name:r,optional:!1,typeAnnotation:a})}else t&&report(e,n,57,0,"a type member"),16918578===e.token&&report(e,n,77),18===e.token&&report(e,n,52),i=parseAssignmentExpression(e,n,i=parseMemberOrUpdateExpression(e,n,i=parseIdentifierFromValue(e,n,r,0)))}else 33685550===e.token&&report(e,n,77),i=parseExpression(e,n);a.push(i),20!==e.token&&consume(e,n,18)}if(consume(e,n,20),16910400===e.token||131083===e.token)return parseObjectTypeMembersMethod(e,n,t,!0,a[0]);o&&21!==e.token&&report(e,n,51);const p=consumeOpt(e,n,22),c=21===e.token?parseTypeAnnotation(e,n,0):[];return finishNode(s?{type:"IndexSignature",parameters:a,typeAnnotation:c,readonly:!1,accessibility:null,export:!1,static:!1}:{type:"PropertySignature",key:a[0],optional:p,computed:!0,readonly:r,typeAnnotation:c,initializer:null,static:!1,export:!1,accessibility:null})}function parseInterfaceBody(e,n){consume(e,n,4325388);const t=[];for(;2097167!==e.token;){let r=0,o=null;if(561287===e.token){const{tokenValue:t}=e;nextToken(e,n),22!==e.token&&21!==e.token||(o=parseIdentifierFromValue(e,n,t,0),r=1)}const s=consumeOpt(e,n,561287),a=consumeOpt(e,n,540779)&&131083!==e.token;if(4325395===e.token)t.push(parseIndexSignature(e,n,a,s));else{if(a&&report(e,n,57,0,"a type member"),131083===e.token||16910400===e.token)t.push(parseCallSignatureDeclaration(e,n));else if(139356===e.token)t.push(parseConstructSignatureDeclaration(e,n));else{r||(o=parseObjectPropertyKey(e,n));const a=consumeOpt(e,n,22);16910400===e.token||131083===e.token?t.push(parseObjectTypeMembersMethod(e,n,s,a,o)):t.push(parsePropertySignature(e,n,a,s,o))}2097167!==e.token&&consumeOpt(e,n,18)}}return 2097167!==e.token&&report(e,n,0),consume(e,n,2097167),finishNode({type:"InterfaceBody",body:t})}function parseHeritageClausesOrClassImplements(e,n,t){return finishNode({type:t,expression:parseEntityName(e,n),typeParameters:16910400===e.token?parseTypeParameterInstantiation(e,n):null})}function parseConstEnumOrVariableStatement(e,n,t){if(nextToken(e,n),consumeOpt(e,n,134226044))return parseEnumDeclaration(e,n,t,1);const r=parseVariableDeclarationList(e,n,16,t?128:0);return consumeSemicolon(e,n),finishNode({type:"VariableDeclaration",kind:"const",declare:1===t,declarations:r})}function parseEnumDeclaration(e,n,t,r){const o=parseIdentifier(e,n);consume(e,n,4325388);const s=[];for(;2097167!==e.token&&(s.push(parseEnumMembers(e,n)),2097167!==e.token);)consume(e,n,18);return consume(e,n,2097167),finishNode({type:"EnumDeclaration",const:1===r,declare:1===t,modifiers:[],decorators:[],members:s,id:o})}function parseEnumDeclarationOrIdentifier(e,n,t,r,o){const s=parseIdentifier(e,n);if(e.precedingLineBreak||0==(36864&e.token))return parseExpressionOrLabelledStatement(e,n,s,t);const a=parseIdentifier(e,n);consume(e,n,4325388);const i=[];for(;2097167!==e.token&&(i.push(parseEnumMembers(e,n)),2097167!==e.token);)consume(e,n,18);return consume(e,n,2097167),finishNode({type:"EnumDeclaration",const:1===o,declare:1===r,modifiers:[],decorators:[],members:i,id:a})}function parseEnumMembers(e,n){let t=null;if(45056&e.token)t=parseIdentifier(e,n);else switch(e.token){case 268566531:t=parseLiteral(e,n);break;case 268566530:report(e,n,72);default:report(e,n,71)}return 268566530===e.token||e.token,finishNode({type:"EnumMember",id:t,initializer:consumeOpt(e,n,8388638)?parseExpression(e,n):null})}function parseNamespaceOrIdentifier(e,n,t,r){const o=parseIdentifier(e,n);return e.precedingLineBreak||0==(36864&e.token)?parseExpressionOrLabelledStatement(e,n,o,t):parseModuleDeclaration(e,n,r)}function parseModuleDeclaration(e,n,t){const r=parseIdentifier(e,n);let o;return o=consumeOpt(e,n,13)?parseModuleDeclaration(e,n,t):parseModuleBlock(e,n),consumeSemicolon(e,n),finishNode({type:"ModuleDeclaration",id:r,body:o,global:!1,declare:1===t,modifiers:[]})}function parseModuleBlock(e,n){const t=[];for(consume(e,32768|n,4325388);430080&e.token;)t.push(parseDeclarationList(e,n,1,0,!1));return consume(e,n,2097167),finishNode({type:"ModuleBlock",body:t})}function parseGlobalModuleDeclarationOrIdentifier(e,n,t,r){const o=parseIdentifier(e,n);if(e.precedingLineBreak||4325388!==e.token)return 1024&n&&report(e,n,0),parseExpressionOrLabelledStatement(e,n,o,t);const s=4325388===e.token?parseModuleBlock(e,n):null;return s||consumeSemicolon(e,n),finishNode({type:"ModuleDeclaration",id:o,body:s,global:!0,declare:1===r,modifiers:[]})}function parseModuleDeclarationOrIdentifier(e,n,t,r){const{tokenValue:o}=e;nextToken(e,n);let s,a=null;return e.precedingLineBreak||268566531!==e.token&&0==(36864&e.token)?(1024&n&&report(e,n,0),parseExpressionOrLabelledStatement(e,n,parseIdentifierFromValue(e,n,o,0),t)):268566531===e.token?(s=parseLiteral(e,n),4325388===e.token?a=parseModuleBlock(e,n):consumeSemicolon(e,n),finishNode({type:"ModuleDeclaration",id:s,body:a,global:!1,declare:1===r,modifiers:[]})):parseModuleDeclaration(e,n,r)}function parseTypeParameterInstantiation(e,n){return consume(e,n,16910400),parseTypeParameterInstantiationOrHigher(e,n,[])}function parseTypeParameterInstantiationOrHigher(e,n,t){for(;16910401!==e.token;)if(t.push(parseType(e,n,0,0,0)),16910401!==e.token){if(18!==e.token&&1073741824&n)return;consume(e,n,18)}return consume(e,n,16910401),finishNode({type:"TypeParameterInstantiation",params:t})}function parseJSXFragment(e,n,t){return finishNode({type:"JSXFragment",openingFragment:parseJSXOpeningFragment(e),children:parseJSXChildren(e,n),closingFragment:parseJSXClosingFragment(e,n,t)})}function parseJSXOpeningElement(e,n,t,r,o){return finishNode(128&e?{type:"JSXOpeningElement",name:n,attributes:t,selfClosing:r,typeParameters:o}:{type:"JSXOpeningElement",name:n,attributes:t,selfClosing:r})}function parseJSXRootElementOrFragment(e,n,t){if(nextToken(e,n),16910401===e.token)return parseJSXFragment(e,n,t);let r=null,o=[];const s=parseJSXElementName(e,n),a=16&n&&16910400===e.token?parseTypeParameterInstantiation(e,n):null,i=parseJSXAttributes(e,n),p=16911158===e.token;16910401===e.token?scanJSXToken(e):(consume(e,n,16911158),t?consume(e,n,16910401):scanJSXToken(e));const c=parseJSXOpeningElement(n,s,i,p,a);if(!p){o=parseJSXChildren(e,n);const s=isEqualTagName((r=parseJSXClosingElement(e,n,t)).name);isEqualTagName(c.name)!==s&&report(e,n,92,0,s)}return finishNode({type:"JSXElement",children:o,openingElement:c,closingElement:r})}function parseJSXClosingElement(e,n,t){consume(e,n,26);const r=parseJSXElementName(e,n);return t?consume(e,n,16910401):e.token=scanJSXToken(e),finishNode({type:"JSXClosingElement",name:r})}function parseJSXAttributes(e,n){const t=[];for(;16911158!==e.token&&16910401!==e.token;)t.push(parseJsxAttribute(e,n));return t}function parseJSXElementName(e,n){scanJSXIdentifier(e);let t=parseJSXIdentifier(e,n);if(21===e.token)return parseJSXNamespacedName(e,n,t);for(;consumeOpt(e,n,13);)scanJSXIdentifier(e),t=parseJSXMemberExpression(e,n,t);return t}function parseJSXMemberExpression(e,n,t){return finishNode({type:"JSXMemberExpression",object:t,property:parseJSXIdentifier(e,n)})}function parseJSXOpeningFragment(e){return scanJSXToken(e),finishNode({type:"JSXOpeningFragment"})}function parseJSXClosingFragment(e,n,t){return consume(e,n,26),consume(e,n,16910401),finishNode({type:"JSXClosingFragment"})}function parseJSXChildren(e,n){const t=[];for(;26!==e.token;)e.index=e.tokenPos=e.startPos,e.column=e.endColumn=e.startColumn,e.line=e.endLine=e.startLine,scanJSXToken(e),t.push(parseJSXChild(e,n));return t}function parseJSXChild(e,n){switch(e.token){case 141:return parseJSXText(e);case 4325388:return parseJSXExpressionContainer(e,n,0,0);default:return 16910400!==e.token&&report(e,n,0),parseJSXRootElementOrFragment(e,n,0)}}function parseJSXText(e){return scanJSXToken(e),finishNode({type:"JSXText",value:e.tokenValue})}function parseJSXExpressionContainer(e,n,t,r){if(nextToken(e,n),14===e.token)return parseJSXSpreadChild(e,n);let o=null;return 2097167===e.token?(r&&report(e,n,94),o=parseJSXEmptyExpression()):o=parseExpression(e,n),t?consume(e,n,2097167):scanJSXToken(e),finishNode({type:"JSXExpressionContainer",expression:o})}function parseJSXSpreadChild(e,n){consume(e,n,14);const t=parseExpression(e,n);return consume(e,n,2097167),finishNode({type:"JSXSpreadChild",expression:t})}function parseJSXEmptyExpression(){return finishNode({type:"JSXEmptyExpression"})}function parseJSXIdentifier(e,n){const{tokenValue:t}=e;return nextToken(e,n),finishNode({type:"JSXIdentifier",name:t})}function parseJsxAttribute(e,n){if(4325388===e.token)return parseJSXSpreadAttribute(e,n);scanJSXIdentifier(e);let t=null,r=parseJSXIdentifier(e,n);if(21===e.token&&(r=parseJSXNamespacedName(e,n,r)),8388638===e.token){switch(scanJSXAttributeValue(e,n)){case 268566531:t=parseLiteral(e,n);break;case 16910400:t=parseJSXRootElementOrFragment(e,n,1);break;case 4325388:t=parseJSXExpressionContainer(e,n,1,1);break;default:report(e,n,93)}}return finishNode({type:"JSXAttribute",value:t,name:r})}function parseJSXSpreadAttribute(e,n){nextToken(e,n),consume(e,n,14);const t=parseExpression(e,n);return consume(e,n,2097167),finishNode({type:"JSXSpreadAttribute",argument:t})}function parseJSXNamespacedName(e,n,t){return consume(e,n,21),finishNode({type:"JSXNamespacedName",namespace:t,name:parseJSXIdentifier(e,n)})}function parseDecorators(e,n){const t=[];for(;consumeOpt(e,n,142);)t.push(parseDecoratorList(e,n));return t}function parseDecoratorList(e,n){let t=parsePrimaryExpression(e,n,0,0);return finishNode({type:"Decorator",expression:t=parseMemberOrUpdateExpression(e,n,t)})}function parseAssertsTypePredicateOrTypePredicate(e,n){const{tokenValue:t}=e;if(nextToken(e,n),0===e.precedingLineBreak){return finishNode({type:"TypePredicate",assertsModifier:!0,parameterName:139360===e.token?parseThisExpression(e,n):parseIdentifier(e,n),typeAnnotation:consumeOpt(e,n,36998)?parseType(e,n,0,0,0):null})}return parseTypeReferenceFromExpression(e,n,parseIdentifierFromValue(e,n,t,0))}function parseScript(e,n,t){return parseSource(e,n,0,t)}function parseModule(e,n,t){return parseSource(e,n,3072,t)}function parseTSModule(e,n,t){return parseSource(e,n,3200,t)}function parseTSScript(e,n,t){return parseSource(e,n,128,t)}const version="0.2.0";exports.ESTree=estree,exports.parseModule=parseModule,exports.parseScript=parseScript,exports.parseTSModule=parseTSModule,exports.parseTSScript=parseTSScript,exports.version="0.2.0";